<?xml version="1.0" encoding="UTF-8"?>
<!-- 
  ~ Copyright (C) 2018 The Android Open Source Project
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
   -->

<resources xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="app_name" msgid="3477029631237519798">"Več zaslonov"</string>
    <string name="md_launcher" msgid="327845696688732506">"Zaganjalnik za več zaslonov"</string>
    <string name="couldnt_launch" msgid="7815676424138012351">"Dejavnosti ni bilo mogoče zagnati"</string>
    <string name="select_display" msgid="1682700853391296117">"Izberite zaslon"</string>
    <string name="add_app_shortcut" msgid="8873512136913188432">"Dodaj bližnjico do aplikacije"</string>
    <string name="set_wallpaper" msgid="3650915172749345197">"Nastavi ozadje"</string>
    <string name="new_instance" msgid="1924479866055190730">"Zahtevaj zagon v novem primerku"</string>
    <string name="wallpaper_description" msgid="5885164573334720996">"Vzorec ozadja za več zaslonov"</string>
</resources>
