<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2010 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="new_tab" msgid="2448577107218085816">"Naujas skirtukas"</string>
    <string name="new_incognito_tab" msgid="7101126413435433601">"Naujas inkognito skirtukas"</string>
    <string name="active_tabs" msgid="2049888145890815012">"Skirtukai"</string>
    <string name="contextmenu_openlink_newwindow" msgid="4034130612746354398">"Atidaryti naujame skirtuke"</string>
    <string name="contextmenu_openlink_newwindow_background" msgid="7104473293755016241">"Atidaryti naujame fono skirtuke"</string>
    <string name="open_all_in_new_window" msgid="4294281492905397499">"Atidaryti visas naujuose skirtukuose"</string>
    <string name="pref_content_open_in_background_summary" msgid="4799440480107121813">"Atidaryti naujus skirtukus už dabartinio"</string>
    <string name="recover_title" msgid="1558775426269800998">"Atkurti skirtukus?"</string>
    <string name="recover_prompt" msgid="377456662058488205">"Ar norėtumėte atkurti paskutinį kartą naudotus naršyklės skirtukus?"</string>
</resources>
