company_banner

Многоязычный Badoo: «трудности перевода»



    Хорошая локализация, то есть адаптация приложения для пользователей из разных стран, позволит ему завоевать сердца своей аудитории. Плохая же, напротив, станет настоящей болью. Например, один из навигаторов в Google Play предлагает «Не обновлять, не вы приобрели коммерческая карта» и пугает, что «На некоторых устройствах вы будете просить, чтобы выбрать папку установки».

    Цель локализации не в том, чтобы сделать приложение просто доступным на других языках, но дать каждому пользователю почувствовать, что оно было разработано с учетом особенностей именно его родного языка.

    В этой статье мы вкратце расскажем о тех аспектах локализации, которым нужно уделить внимание в первую очередь, и поделимся опытом, который мы накопили при переводе Badoo на 46 языков. Это очень обширная тема, и мы продолжим рассказывать в деталях, как мы реализовали те или иные инструменты. В конце статьи вы можете проголосовать и выбрать тот аспект, о котором вам интересно узнать в первую очередь.

    Введение


    Поддержка нескольких языковых стандартов — это сложная многоэтапная задача, которая начинается с адаптации кода вашего приложения. Практически любой текст, передаваемый пользователю (если он не является технической составляющей), может потребовать модификации для некоторых языков.

    Существует множество решений, позволяющих отделить переводимый текст от непереводимого и организовать систему переводов без фатальных недостатков. Мы не используем готовых решений, мы решили строить и развивать свою собственную систему, самостоятельно наступать на все грабли и изобретать велосипеды. Зато наша система получилась по-настоящему гибкой и подходящей нам во всём. Начнём с терминологии и общих принципов работы.

    Ключевой элемент системы переводов — это некие фрагменты текста, достаточно компактные, чтобы ими было удобно оперировать, но при этом достаточно большие, чтобы сохранить логическую целостность. Мы называем такие фрагменты лексемами. Рассмотрим для примера мессенджер Badoo. Это хороший пример: подобных интерфейсов достаточно как в мобильных, так и в веб-приложениях.


    Обратите внимание на несколько ключевых моментов, хорошо заметных на этом скриншоте. Существуют различные лексемы:
    • те, которые можно использовать неоднократно («Поиск», «Непрочитанные», «Анонимный чат»);
    • содержащие переменные («Посмотреть профиль и 16 фото»);
    • зависящие от пола («Сделайте первый шаг, напишите ему!»);
    • зависящие от числовых параметров и содержащие склонения («Здесь вас увидят 2370 девушек»).

    Часто употребляемые лексемы, такие как «Поиск», «Непрочитанные», «Девушка» и т.п. в Badoo отделены от прочих и могут быть использованы повторно в разных подсистемах нашей большой и разносторонней архитектуры, включая единые переводы для мобильных и веб-приложений. Ключевые преимущества такого подхода:
    • уменьшение объема работы переводчикам;
    • единый стиль текста;
    • возможность дополнительной обработки лексем (изменение в зависимости от числа и склонения).

    С лексемами, содержащими переменные («Посмотреть профиль и {{number}} фото») всё просто: нужно только не забывать подставлять данные.

    С зависимостью от числа и склонениями всё гораздо сложнее («Здесь вас увидят {{number}} девушек»), мы обсудим эту тему в отдельном разделе.

    Процесс подготовки и отображения переводов может стать серьёзной головной болью с точки зрения производительности системы, особенно если это приходится делать больше 20 тысяч раз в секунду (пиковая нагрузка в Badoo бывает и выше).

    А теперь давайте рассмотрим более детально, чему стоит уделить внимание.

    Диалекты и многоступенчатый «фейловер»


    У некоторых языков существуют диалекты. Например, английский бывает британским и американским, а испанский бывает колумбийским, аргентинским и мексиканским. И даже если переводы на 99% совпадают, может оказаться, что одна и та же фраза должна звучать на них совершенно по-разному. Если не учесть этот маленький нюанс, может случиться большой конфуз. Например, rapariga по-португальски означает «девушка», но в Бразилии это слово используется в значении «ночная бабочка». Для бразильского диалекта используется слово garota, которое в Португалии неприменимо, поскольку означает «маленькая девочка».

    В Badoo мы выстроили языки в виде дерева. Корневой элемент — это «универсальный английский». От него ветвятся остальные языки (включая британский и американский английские), часть из которых, в свою очередь, имеет диалекты.

    Переводчики работают сверху вниз: сначала переводится универсальный английский, затем языки второго уровня, и только потом их диалекты. То есть перевод на испанский происходит с универсального английского, а на мексиканский — с испанского.

    При отображении переводов пользователю поиск производится снизу вверх. Например, для мексиканского языка сначала ищется мексиканский перевод. Если он не найден — испанский. Если и его нет — универсальный английский.

    Направление письма и пунктуация


    Для большинства языков достаточно перевести текст, а внешний вид приложения и окружающие текст элементы не подвергаются никакой модификации. Однако существуют специфические языки:
    • с обратным написанием (справа налево, например, арабский и иврит);
    • с особенными правилами пунктуации (испанский, японский).

    Для языков с обратным написанием требуется не только перевести текст, но и сделать интерфейс зеркальным: меняется не только направление текста, но и направление восприятия информации.


    С пунктуацией бывают случаи попроще. Например, в азиатских языках (японский, корейский) используются собственные символы UTF-8 для точки, восклицательного и вопросительного знаков (выглядят почти как наши, только не наши):
    。?!
    .?!

    А бывают случаи посложнее. Например, в испанском вопросительный и восклицательный знаки дублируются в начале предложения в перевёрнутом виде.


    А исключать пунктуацию из лексем ни в коем случае нельзя!

    Форматы и единицы измерения


    Существуют тонкие, но очень важные различия в форматировании дат и чисел, которые могут придать им совершенно разные значения в разных странах.
    Например, 03/07/2013 может обозначать 3 июля или 7 марта — в зависимости от местных стандартов. Это частая причина путаницы между США и Великобританией, где говорят на одном языке, но используют разный формат дат. Не нужно считать, что если две страны говорят на одном языке, то они обязательно всё поймут одинаково.

    Похожее происходит и с числами. Число 1.000 можно прочитать как «один» или как «тысяча» в зависимости от того, какой разделитель используется для отделения дробной части. Например, в Корее точка — это десятичный разделитель, а в Германии она используется для отделения тысяч.

    Отдельное внимание нужно уделять системе измерений. Самое простое решение — отображать рост пользователя одновременно в футах и сантиметрах, но выглядит это неестественно. Можно сделать переключатель, позволяющий пользователю выбрать удобные величины, а значение по умолчанию выставлять, исходя из выбранного языка. Это относится к мерам длины (роста), веса, шкале температур и т.п.

    Стилистика


    В разных компонентах Badoo может использоваться разный стиль текста: где-то более формальный, а где-то более молодёжно-разговорный. Например, в условиях использования сервиса и прочих официальных документах лучше переводить you как «вы», в то время как в интерфейсах развлекательного характера зачастую используется «ты».

    Кроме этого, очень важно не путаться в терминологии и устоявшиеся слова и фразы переводить везде одинаково. Например, сервис случайных знакомств на Badoo по-английски называется Encounters. Это слово можно перевести по-разному, но мы придерживаемся перевода «Знакомства». Это крайне важно, иначе пользователь может не понять промо-текст, призывающий к каким-то действиям, или сообщение об ошибке. Для решения этой проблемы мы используем два механизма. Первый — это отдельная группа коротких лексем, которые либо используются очень часто, либо могут зависеть от пола и числа. Об этой группе мы подробнее расскажем в следующем разделе.

    Второй механизм мы называем TranslationMemory. Он выполняет сразу две функции:
    • уменьшает количество работы переводчикам (и, как следствие, ускоряет деплой);
    • помогает выдерживать переводы схожих лексем в одной стилистике.

    Логика работы TranslationMemory достаточно проста, а вот реализация может быть интересной темой, и мы обязательно расскажем об этом подробнее в будущем. Если вкратце, то при переводе лексемы мы разбираем оригинальный текст и перевод на более мелкие «нити» (части фраз и целые предложения) по знакам пунктуации, тегам, переносам строк и некоторым другим разделителям. Почему нити? Потому что они могут пересекаться, переплетаться и включать любое количество других нитей. Совокупность всех нитей в лексеме мы называем структурой лексемы.

    Если мы можем чётко сопоставить структуру нитей из оригинала и перевода друг другу, мы сохраняем пары нитей. В будущем, при появлении новых лексем в системе переводов, мы стараемся найти перевод для каждой нити. Комбинируя найденные варианты, мы подбираем максимально полный перевод. Переводчик может выбрать за основу нового перевода один из нескольких наиболее полных переводов, собранных по-кусочкам из разных нитей.
    Например, переведя однажды две разные лексемы Hello world и My name is John, переводчик может практически ничего не делать для лексемы Hello world! My name is John. TranslationMemory предложит готовый перевод. Переводчику останется лишь убедиться, что знаки пунктуации соответствуют языку.

    Зависимость от пола


    В разных языках половая принадлежность указывается по-разному: где-то используются артикли и предлоги, где-то окончания, а где-то всё и сразу. Например, в славянских языках от пола могут зависеть практически все части речи. Кроме того, сложные фразы могут зависеть не только от пола объекта, но и от пола субъекта. Правила в некоторых языках могут оказаться настолько сложными, что иногда приходится дублировать английский текст для нескольких сочетаний объектов и субъектов разных полов и, соответственно, модифицировать приложение.

    Такие ситуации практически невозможно предугадать, не будучи полиглотом. Более того, мы считаем, что разработчики и не должны об этом думать. Поэтому у наших переводчиков есть специальный инструмент в интерфейсе переводов, позволяющий «заказать» разделение лексемы по половому признаку: автоматически создаётся тикет на разработку с описанием проблемы.

    Зависимость от числа и склонения


    В большинстве языков существуют только две формы зависимости от числа: единственное и множественное. Русский язык является отличным примером сложных правил зависимости от числа: 1 пользователь, 2 пользователя, 5 пользователей. Причём 21 (31, 41, 101) пользователь, но 11 пользователей. Сами по себе правила не очень сложные, но мы копнём глубже.

    Обычно приложения считают то, что для них важно. Социальные сети считают пользователей, фотографии, посты и лайки. В финансовой сфере считают сделки, валюту и клиентов. GPS-навигаторы считают минуты и километры (или мили). Исчисляются те величины, названия и единицы измерения которых встречаются в приложении повсеместно. Это те самые часто используемые лексемы, которые уже неоднократно упоминались в этой статье. Зависимость от числа — одна из причин, по которой мы создали отдельный инструмент для манипуляций такими лексемами.

    Вторая причина — «Иван Родил Девчонку, Велел Тащить Пеленку», т.е. склонения. Занимательный факт: в венгерском языке 17 склонений — это рекордсмен среди языков, на которые мы переводим сайт и приложения. Для редко встречающихся слов и фраз можно обойтись обычным текстовым переводом без программной обвязки. Для часто встречающихся слов и фраз полезно иметь инструмент, получающий грамматически правильный вариант. Например, фраза «Вы понравились 2 девушкам» греет душу не только приятным фактом предстоящего знакомства, но и чистым и понятным русским языком.

    Наш инструментарий позволяет выполнять две важных операции. Для разработчиков — получить готовое слово или фразу в грамматически правильной форме (точнее, универсальный контейнер). Для переводчиков — использовать эти правильные формы в переводах обычных лексем. Например, приведённая выше лексема в системе переводов на русском будет выглядеть как «Вы понравились {{users_num}} {{users_word#Dative}}». Это даёт нам определённую свободу: переводчик может по собственному усмотрению перефразировать лексему и изменить падеж.

    Это достаточно хорошее решение, но оно требует взаимодействия между переводчиками и разработчиками. Сейчас мы работаем над системой, которая позволит изменять всю лексему или её часть на основании имеющихся в ней переменных без участия разработчиков, только силами переводчиков.

    Контекст и длина лексем


    Зачастую одну и ту же фразу (не говоря уже об отдельных словах) можно перевести по-разному в зависимости от контекста. Короткое search может быть как существительным «поиск», так и глаголом «искать». В погоне за повторным использованием идентичных лексем и переводов важно следить за контекстом. Чтобы помочь переводчикам правильно понять контекст фразы, мы, как правило, используем скриншот примера использования лексемы. Мы даже создали систему автоматического сбора скриншотов на этапе тестирования задачи, но об этом в отдельной статье.

    Работая с мобильными проектами нужно уделять особое внимание длине строк. Место на экране будет в дефиците, и нужно удостовериться, что фрагмент текста умещается в назначенное для него пространство. Зачастую термин, являющийся одним словом на английском, может оказаться целым предложением на других языках. Длину строк можно ограничивать как символами, так и пикселями (если размер и тип шрифта заранее известны и редко меняются).

    Ограничение длины перевода, как правило, носит рекомендательный характер. При превышении ограничения переводчик увидит соответствующее предупреждение, но всё равно сможет сохранить перевод.

    Мультиверсионность и отказоустойчивость


    Когда у вас в команде больше сотни разработчиков, это требует некоторой осторожности при работе с переводами: один и тот же шаблон с переводимым текстом (равно как и словарь мобильного приложения) может быть изменён в разных задачах. Система переводов должна уметь различать разные версии файлов и понимать, какой перевод нужно отдать пользователю.

    Для большой команды так же важно сделать систему переводов максимально удобной и отказоустойчивой. Удобство позволяет новым членам коллектива максимально быстро приступить к работе. Отказоустойчивость нужна для снижения влияния человеческого фактора: система должна самостоятельно справляться с человеческими ошибками и либо исправлять их, где это возможно, либо громко ругаться и бить током.

    Пусть переводят пользователи


    Можно долго и мучительно искать переводчиков в штат или на фриланс, выдумывать систему контроля качества переводов и всячески страдать каждый раз, когда вы хотите добавить поддержку нового языка. Но если ваше приложение носит развлекательный характер и аудитория достаточно велика, то вполне допустимо привлекать пользователей к переводам. Так переводятся Facebook и WhatsApp, так с недавних пор переводится и Badoo.
    Мы уделяем большое значение качеству переводов, и нам было страшновато запускать такую схему. Тем не менее, у такого подхода существует ряд сильных сторон:
    • вам не нужно искать переводчиков на все языки в штат;
    • сами носители языка контролируют качество переводов;
    • это бесплатно.

    Мы поощряем самых активных участников, но по большей части пользователи работают за идею — сделать Badoo доступным на своём родном языке. Сейчас пользователи работают с семью языками, из которых три (финский, малайский и вьетнамский) уже доступны всему сообществу Badoo. Перевод на оставшиеся четыре (баскский, бенгальский, исландский и суахили) ещё не настолько хорош, чтобы включить его в поддержку для всех пользователей, но это вопрос времени.

    Заключение


    Цель локализации в том, чтобы пользователи чувствовали себя комфортно в вашем приложении, независимо от языка и места проживания. Зачастую это требует неочевидных и сложных решений, но, исходя из нашего семилетнего опыта, мы можем смело сказать, что это того стоит.
    Система переводов в Badoo выстраивалась все эти годы и продолжает развиваться. Мы постараемся в будущем рассказать более подробно о наших технических и организационных решениях. О чём будет следующая статья — решать вам!

    Глеб Дейкало, PHP-разработчик
    О чем вам было бы наиболее интересно узнать из следующих статей?

    Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

    Badoo 300,31
    Big Dating
    Поделиться публикацией

    Вакансии компании Badoo

    Комментарии 30
    • +3
      В моем понятии идеальный переводчик это тот который иммигрировал от 5 до 10 лет в страну на который нужно перевести из страны первоначального языка перевода, или наоборот. На мой взгляд будущее за фрилансерами переводчиками.
      • +7
        Боюсь такое количество мигрантов будет непросто найти :)
      • –3
        «Например, фраза «Вы понравились 2 девушкам» греет душу не только приятным фактом предстоящего знакомства, но и чистым и понятным русским языком.»

        Ну, как-бы, фраза должна звучать: «Вы понравились __2м__ девушкам», а лучше: «Вы понравились двум девушкам». Потому как просто цифра может быть воспринята, даже в условии контекста, как «два», вместо «двум»
        • +2
          Согласен, числа прописью делают текст более естественным, но съедают много места, особенно при больших значениях. Давайте считать наш пример промежуточным: не идеальным, но всё же достаточно понятным и гибким (учтены и склонения, и зависимость от числа).
          • 0
            В английском языке, например, есть правила (или просто рекомендации) — когда писать число, а когда текст.
            Хотя, на мой взгляд, в электронных интерфейсах лучше использовать числа, за них проще зацепиться взгляду.
            • +1
              есть еще языки, помимо английского, там бывают очень другие правила.
          • +9
            Ну, как-бы, фраза должна звучать: «Вы понравились __2м__ девушкам»
            Сказано «чистым и понятным русским языком». Чистый русский язык — «Вы понравились 2 девушкам».
          • +2
            Вы понравились {{users_num}} {{users_word#Dative}}».


            Какие падежи используете, венгерские?

            Хотелось бы знать, как вы работаете с падежами подробнее, точнее как вы их мапите, например, в русском это дательный, в венгерском — винительный. Т.е. падеж тут выступает как параметр, понятно что если в языке нет падежа — берем перевод без падежа (поднимаемся ввер по дереву переводов). Как быть в данном случае? не делать же разные шаблоны для таких языков?
            • +3
              Шаблоны, конечно же, одни на всех. Переводчик видит лексему и переменные в ней, исходный вид "{{users_num}} {{users_word}} liked you" — никаких падежей.

              Для каждого языка существует свой собственный набор падежей, и переводчик сам решает, какой падеж применить в его конкретном случае. Фразу ведь можно перефразировать как "{{users_num}} {{users_word}} заценили вас", тогда нужно использовать именительный падеж.

              Пусть у нас есть две лексемы:

              Вы понравились {{users_num}} {{users_word#Dative}}

              {{users_num}} {{users_word#Nominative}} заценили вас

              Разработчики обеспечивают, что в шаблонизатор попадёт не конкретное слово «девушка», а объект-обёртка, умеющий получать правильную форму по числу и правильный падеж (указанный в переменной).

              Разработчик не знает как переводчик составит фразу, он просто обеспечивает покрытие всех кейсов. А переводчики подготавливают этот универсальный объект примено так:
              • 0
                Спасибо за ответ!
                объект-обёртка, умеющий получать правильную форму по числу и правильный падеж (указанный в переменной

                Число и падеж это достаточно передавать для всех языков (которые вы воддерживаете)? Т.е такой ситуации не бывает, что для русского нужно передать падеж, а для венгерского — падеж, число, погоду и еще что-то?
                • +1
                  Да, я не объяснил, извините :)

                  Объект-обёртка создаётся для конкретного языка, на котором отображается сайт или генерируется ответ для мобильного приложения. Ну и наши объекты умеют зависеть только от числа (передаётся из кода) и падежа (выбирается переводчиком). То есть в псевдокоде как-то так:

                  $current_language = 'RU'; //Берём текущий язык
                  $Localisation = new Localisation($current_language); //Создаём объект "локализация"
                  
                  $users_num = 5; //Число пользователей
                  $users_word = 'girl'; //Идентификатор слово, которое будет зависеть от числа и склоняться
                  $Word = $Localization->getNumDependent($users_word, $users_num); //Получаем тот самый "объект-обёртку"
                  
                  //Готовим параметры для шаблонизатора
                  $params = array(
                      'users_num' => $users_num,
                      'users_word' => $Word,
                  );
                  
                  //Выводим "Вы понравились 5 девушкам"
                  echo Render('Вы понравились {{users_num}} {{users_word#Dative}}', $params);
                  
            • 0
              О чем вам было бы наиболее интересно узнать из следующих статей?

              Пишите обо всём, не промахнётесь! Все потенциальные темы статей выглядят очень интересными. Хотя, как программисту, мне было бы наиболее интересно узнать про потрохи работы с выражениями «Вы понравились {{users_num}} {{users_word#Dative}}» и тому подобное.
              • +1
                Спасибо, постараемся.

                Тема склонений действительно очень интересна, но текущая реализация нас не очень устраивает из-за того, что разработчик должен обеспечить передачу объекта-контейнера в шаблонизатор. Сейчас мы работаем над тем, чтобы переводчик мог сам, без участия разработчиков, сделать часть лексемы зависимой от числа и/или заменить слово объектом-контейнером. Самый сложный вопрос в таком решении — насколько это ударит по перфомансу.
                • 0
                  Пишите! В комментариях обсудим :)
              • 0
                Хм, а вот как вы поступаете со сложными вещами, типа рода. Ведь в Чешском, например, девушки среднего рода, если среди них не предполагается мужчины. Как с такими вещами поступаете?
                • 0
                  Как правило для фраз, зависящих от пола, создаётся три варианта: Male, Female и Unknown
                  Unknown используется не только в тех случаях, когда пол не указан, но и когда речь идёт о пользователях разных полов. Такие лексемы перефразируются максимально нейтрально.
                • 0
                  Чем геттекст то не угодил?
                  Там же всё это давно есть — и множественные формы (одно яблоко, 2 яблока, 5 яблок) и контекст (msgctxt) и память переводов (впрочем, зависит от софта для перевода) и утилиты для извлечения фраз из исходников и формат хранилища с O(1) доступом (.mo) и куча опыта.
                  Разве что многоуровнего фейловера нет, но это мелочь.
                  • +1
                    Как я уже говорил, мы затачиваем свою систему переводов под себя. И поверьте, система переводов Badoo гораздо сложнее, чем простое key-value хранилище. Для геттекста пришлось бы выстраивать «наше АПИ поверх», и не факт что было бы быстрее в разработке и производительнее. Мы выбрали гибкость.

                    Судя по текущему состоянию голосования, следующая статья будет как раз об этом ;)
                  • +2
                    Не описанные вопросы:
                    Использовала ли Badoo какую-то готовую систему или же это все писалось в компании с нуля?
                    Интересно например, при такой нагрузке — вероятно где-то заранее(на каком этапе?) формируется готовый набор языковых шаблонов, или же какие-то из описанных ситуаций в нем все-же остаются переменными?
                    Также интересно, насколько система переводов в Badoo является самостоятельной и монолитной. Или же наоборот, ее части размазаны по проекту.
                    • +1
                      Почитайте комментарии, мы частично обсуждали эти же вопросы.

                      Использовала ли Badoo какую-то готовую систему или же это все писалось в компании с нуля?


                      Писали с нуля, затачивали под свои нужды.

                      Интересно например, при такой нагрузке — вероятно где-то заранее(на каком этапе?) формируется готовый набор языковых шаблонов, или же какие-то из описанных ситуаций в нем все-же остаются переменными?


                      Да и да :) Статичные лексемы (не зависящие от внешних данных, например «Здравствуйте, {{user_name}}») генерируются на этапе деплоя кода — почитайте нашу статью про разработку и деплой.

                      В лексемах, зависящих от числа и использующих склонения остаётся определённая доля динамики (например, «Вы понравились 3 девушкам» = «Вы понравились {{users_num}} {{users_word#Dative}}»)

                      Также интересно, насколько система переводов в Badoo является самостоятельной и монолитной. Или же наоборот, ее части размазаны по проекту.


                      Система достаточно монолитна. У нас есть два типа хранения переводов: словари и текст в шаблонах. При этом в шаблонах нет никаких указаний на переводы, а в коде присутствуют только вызовы «дай-ка мне вот эту фразу из словаря». Словари используются как для веб, так и для мобильных приложений. И словари, и шаблоны генерируются на этапе деплоя веба или на этапе сборки приложения.
                    • +1
                      У меня дипломной работой была «Локализация китайских MMORPG-игр на русский», затрагивал практически все те же самые аспекты. Жаль тогда было мало материалов, подобных этой статье :-)
                      • 0
                        Чистое любопытсво: почему китайских? Полагаю, первая и основная проблема была с дизайном: то что можно сказать двумя иероглифами приходится писать пятью словами на не-иероглифических языках?
                        • +2
                          Всё просто: специальность — китайский язык, а диплом на практическом фрилансерском опыте писался.
                          Да, один из главных головняков это строка в 12 символов, куда нужно уместить какой-нибудь «позолоченный драконий клинок славы 12-го уровня — зелёный»
                      • +3
                        Сам тоже занимаюсь локализацией и часто возникает мысль, что нужно просто оставить английский язык в качестве языка для 90% интерфейсов и успокоиться. Я, конечно, понимаю, что это в какой-то мере утопия, но все-таки, что народ думает по этому поводу?
                        • 0
                          Это зависит от того, насколько популярно ваше приложение или сайт. Популярные приложения нужно переводить на родной язык аудитории — массовый пользователь не будет пользоваться сервисом на неродном языке. Приложения или сайты, рассчитаные на узкую целевую аудиторию можно и не переводить.
                          • 0
                            Я все же думаю, что если бы у детей все гаджеты и программные интерфейсы были на английском языке, то проблемы с локализацей бы не стояло. Ведь, например, никого не напрягает, что 99% языков программирования на английском языке и никто не собирается их локализовывать, т.к. все привыкли. Вот, например, слово toolbar (7 букв), а на русском «панель инструментов»… Ужосссс...)))
                            • 0
                              Тогда появилась бы другая проблема — дети не говорили бы на русском языке. Я, конечно, утрирую, но тем не менее, незнание английского языка — не самая большая проблема России. 99 языков программирования вряд ли знает 1 % населения России и мира, например, поэтому почти никого не напряжет, даже если они будут на суахили написаны :-)
                              • 0
                                Я не совсем согласен. Русский язык изменяется так или иначе. По этой причине из «панели инструментов» рано или поздно все равно получиться «тулбар». И тулбар станет частью русского языка также, как куча других подобных примеров.
                                • 0
                                  А я и не говорил, что русский язык не меняется.
                        • 0
                          Скажите, а варианта с добавлением динамики в том числе к выбору склонений как функции языка/управления/рода/числа — рассматривалась и была отвергнута или не рассматривалась?

                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                          Самое читаемое