<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2012 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="title_activity_filter_show" msgid="2036539130684382763">"Графический редактор"</string>
    <string name="cannot_load_image" msgid="5023634941212959976">"Не удалось загрузить изображение."</string>
    <!-- no translation found for original_picture_text (3076213290079909698) -->
    <skip />
    <string name="original" msgid="3524493791230430897">"Оригинал"</string>
    <string name="borders" msgid="2067345080568684614">"Границы"</string>
    <string name="done" msgid="3112344807927554662">"Готово"</string>
    <string name="filtershow_undo" msgid="6781743189243585101">"Отмена"</string>
    <string name="filtershow_redo" msgid="4219489910543059747">"Повторить"</string>
    <string name="show_history_panel" msgid="7785810372502120090">"Показать историю"</string>
    <string name="hide_history_panel" msgid="2082672248771133871">"Скрыть историю"</string>
    <string name="show_imagestate_panel" msgid="7132294085840948243">"Показать состояние"</string>
    <string name="hide_imagestate_panel" msgid="1135313661068111161">"Скрыть состояние"</string>
    <string name="menu_settings" msgid="6428291655769260831">"Настройки"</string>
    <string name="history" msgid="455767361472692409">"История"</string>
    <string name="reset" msgid="9013181350779592937">"Сброс"</string>
    <!-- no translation found for history_original (150973253194312841) -->
    <skip />
    <string name="imageState" msgid="3609930035023754855">"Состояние изображения"</string>
    <string name="compare_original" msgid="8140838959007796977">"Сравнить"</string>
    <string name="apply_effect" msgid="1218288221200568947">"Применить:"</string>
    <string name="reset_effect" msgid="7712605581024929564">"Сброс"</string>
    <string name="aspect" msgid="4025244950820813059">"Формат"</string>
    <string name="aspect1to1_effect" msgid="1159104543795779123">"1:1"</string>
    <string name="aspect4to3_effect" msgid="7968067847241223578">"4:3"</string>
    <string name="aspect3to4_effect" msgid="7078163990979248864">"3:4"</string>
    <string name="aspect4to6_effect" msgid="1410129351686165654">"4:6"</string>
    <string name="aspect5to7_effect" msgid="5122395569059384741">"5:7"</string>
    <string name="aspect7to5_effect" msgid="5780001758108328143">"7:5"</string>
    <string name="aspect9to16_effect" msgid="7740468012919660728">"16:9"</string>
    <string name="aspectNone_effect" msgid="6263330561046574134">"Оригинал"</string>
    <!-- no translation found for aspectOriginal_effect (5678516555493036594) -->
    <skip />
    <string name="tinyplanet" msgid="2783694326474415761">"Закругление"</string>
    <string name="exposure" msgid="6526397045949374905">"Экспозиция"</string>
    <string name="sharpness" msgid="6463103068318055412">"Резкость"</string>
    <string name="contrast" msgid="2310908487756769019">"Контраст"</string>
    <string name="vibrance" msgid="3326744578577835915">"Вибрация"</string>
    <string name="saturation" msgid="7026791551032438585">"Насыщ-сть"</string>
    <string name="bwfilter" msgid="8927492494576933793">"Ч/Б"</string>
    <string name="wbalance" msgid="6346581563387083613">"Авторежим"</string>
    <string name="hue" msgid="6231252147971086030">"Оттенок"</string>
    <string name="shadow_recovery" msgid="3928572915300287152">"Тени"</string>
    <string name="curvesRGB" msgid="915010781090477550">"Кривые"</string>
    <string name="vignette" msgid="934721068851885390">"Виньет-ние"</string>
    <string name="redeye" msgid="4508883127049472069">"Красные глаза"</string>
    <string name="straighten" msgid="26025591664983528">"Выровнять"</string>
    <string name="crop" msgid="5781263790107850771">"Кадрирование"</string>
    <string name="rotate" msgid="2796802553793795371">"Повернуть"</string>
    <string name="mirror" msgid="5482518108154883096">"Отразить"</string>
    <string name="none" msgid="6633966646410296520">"Оригинал"</string>
    <string name="curves_channel_rgb" msgid="7909209509638333690">"RGB"</string>
    <string name="curves_channel_red" msgid="4199710104162111357">"Красный"</string>
    <string name="curves_channel_green" msgid="3733003466905031016">"Зеленый"</string>
    <string name="curves_channel_blue" msgid="9129211507395079371">"Синева"</string>
</resources>
