<?xml version="1.0" encoding="UTF-8"?>
<!-- 
  ~ Copyright (C) 2015 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">
    <!-- no translation found for description_age_4 (2260506104299774027) -->
    <skip />
    <!-- no translation found for description_age_5 (312882360850848623) -->
    <skip />
    <!-- no translation found for description_age_6 (7780895021659413979) -->
    <skip />
    <!-- no translation found for description_age_7 (7465836675187750087) -->
    <skip />
    <!-- no translation found for description_age_8 (8518389733138803056) -->
    <skip />
    <!-- no translation found for description_age_9 (1963837231871036561) -->
    <skip />
    <!-- no translation found for description_age_10 (9199865628328446876) -->
    <skip />
    <!-- no translation found for description_age_11 (1056140065021078183) -->
    <skip />
    <!-- no translation found for description_age_12 (2523883089926997157) -->
    <skip />
    <!-- no translation found for description_age_13 (4539863086843940979) -->
    <skip />
    <!-- no translation found for description_age_14 (276938165219847540) -->
    <skip />
    <!-- no translation found for description_age_15 (3875804533354572649) -->
    <skip />
    <!-- no translation found for description_age_16 (7068358107904351707) -->
    <skip />
    <!-- no translation found for description_age_17 (6090244054207338066) -->
    <skip />
    <!-- no translation found for description_age_18 (7827138562117972763) -->
    <skip />
    <!-- no translation found for description_age_19 (5739639668332937969) -->
    <skip />
    <!-- no translation found for description_age_20 (8099318760823109592) -->
    <skip />
    <!-- no translation found for description_ca_tv_en_exempt (3869530797231884669) -->
    <skip />
    <!-- no translation found for description_ca_tv_en_c (6170724506314571912) -->
    <skip />
    <!-- no translation found for description_ca_tv_en_c8 (7942870097063909046) -->
    <skip />
    <!-- no translation found for description_ca_tv_en_g (7893908216230285607) -->
    <skip />
    <!-- no translation found for description_ca_tv_en_pg (2736709384517099303) -->
    <skip />
    <!-- no translation found for description_ca_tv_en_14 (8063534593921657009) -->
    <skip />
    <!-- no translation found for description_ca_tv_en_18 (3552078692829803323) -->
    <skip />
    <!-- no translation found for description_fr_dvb_u (8232083238497153682) -->
    <skip />
    <!-- no translation found for description_es_dvb_all (4821183217465284547) -->
    <skip />
    <!-- no translation found for description_es_dvb_c (1367395312248365855) -->
    <skip />
    <!-- no translation found for description_es_dvb_x (438890727939582714) -->
    <skip />
    <!-- no translation found for description_kr_tv_all (3048365195196820853) -->
    <skip />
    <!-- no translation found for description_kr_tv_7 (5892929693766504059) -->
    <skip />
    <!-- no translation found for description_kr_tv_12 (1883893246941826597) -->
    <skip />
    <string name="description_kr_tv_15" msgid="5888141153573158322">"Programmes susceptibles de présenter des contenus non adaptés aux enfants de moins de 15 ans. Contrôle parental nécessaire."</string>
    <string name="description_kr_tv_19" msgid="9197085158053054550">"Programmes susceptibles de présenter des contenus non adaptés aux personnes de moins de 19 ans."</string>
    <string name="description_us_tv_d" msgid="12333789157204816">"Dialogue suggestif"</string>
    <string name="description_us_tv_l" msgid="4105102855627964319">"Propos grossiers"</string>
    <string name="description_us_tv_s" msgid="7552447251273237176">"Contenu à caractère sexuel"</string>
    <string name="description_us_tv_v" msgid="4799470820740236198">"Violence"</string>
    <string name="description_us_tv_fv" msgid="4760884520245003167">"Violence dans des scènes fantastiques"</string>
    <string name="description_us_tv_y" msgid="1352346035366881161">"Cette émission est adaptée à tous les enfants."</string>
    <string name="description_us_tv_y7" msgid="8074158131815307880">"Cette émission est adaptée aux enfants de sept ans et plus."</string>
    <string name="description_us_tv_g" msgid="4129784125991285944">"La plupart des parents considèrent cette émission adaptée à tous les âges."</string>
    <string name="description_us_tv_pg" msgid="5647218792100947596">"Cette émission propose un contenu que les parents pourraient juger inapproprié pour les jeunes enfants. De nombreux parents pourraient vouloir la regarder avec leurs jeunes enfants."</string>
    <string name="description_us_tv_14" msgid="8682987672893857317">"Cette émission propose un contenu que de nombreux parents trouveraient inapproprié pour des enfants de moins de 14 ans."</string>
    <string name="description_us_tv_ma" msgid="8912237130594289176">"Cette émission est spécifiquement destinée aux adultes. Elle peut ne pas convenir aux mineurs de moins de 17 ans."</string>
    <string name="title_us_mv" msgid="7861766023361439035">"Classification des films"</string>
    <string name="description_us_mv_g" msgid="9185817407450418638">"Tout public : aucun aspect choquant pour les parents envisageant que leurs enfants regardent ce contenu."</string>
    <string name="description_us_mv_pg" msgid="8578620326248525384">"Contrôle parental recommandé. Les parents pourraient estimer que certains contenus ne sont pas adaptés aux jeunes enfants."</string>
    <string name="description_us_mv_pg13" msgid="7077331984538950084">"Mise en garde importante destinée aux parents : certains contenus sont susceptibles de ne pas être adaptés aux jeunes adolescents."</string>
    <string name="description_us_mv_r" msgid="4482914375592527277">"Soumis à une limite d\'âge, contient des scènes réservées aux adultes. Les parents sont invités à se renseigner davantage sur le film avant d\'emmener leurs jeunes enfants."</string>
    <string name="description_us_mv_nc17" msgid="1897668555117874369">"Interdit aux moins de 17 ans. Réservé aux adultes. Interdit aux enfants."</string>
</resources>
