<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<!--
     Copyright (C) 2012-2014 The CyanogenMod 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-array name="mdnie_scenario_entries">
    <item>CyanogenMod (implicit)</item>
    <item>Mod UI</item>
    <item>Mod Video</item>
    <item>Mod Video Cald</item>
    <item>Mod Video Rece</item>
    <item>Cameră</item>
    <item>Navigare</item>
    <item>Galerie</item>
    <item>VT</item>
  </string-array>
  <string-array name="mdnie_negative_entries">
    <item>Normal</item>
    <item>Inversat</item>
  </string-array>
</resources>
