<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 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:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="activity_sample_code">Support v13 Demos</string>

    <string name="hello_world"><b>Hello, <i>World!</i></b></string>
    <string name="retained">Retained state</string>

    <string name="alert_dialog_two_buttons_title">
        Lorem ipsum dolor sit aie consectetur adipiscing\nPlloaso mako nuto
        siwuf cakso dodtos anr koop.
    </string>

    <string name="fragment_nesting_pager_support">Fragment/Nesting Pager</string>

    <string name="fragment_nesting_state_pager_support">Fragment/Nesting State Pager</string>

    <string name="fragment_pager_support">Fragment/Pager</string>
    <string name="first">First</string>
    <string name="last">Last</string>

    <string name="fragment_state_pager_support">Fragment/State Pager</string>

    <string name="action_bar_tabs_pager">Fragment/Action Bar Tabs Pager</string>
</resources>
