На какой разговорный язык переводить графический интерфейс программы

velkin velkin

Введение


Много лет назад и в настоящее время я читал статьи на эту тему, и все они оперируют одними и теми же идеями. Даже складывается мнение, что новые статьи переписывают со старых, и скорее всего так и есть. И только в моём блоге вы можете прочитать уникальное авторское видение.

Итак, на что же ориентируются другие?

Точка зрения общечеловека


Распространённость носителей языка.
1. В мире.
2. В интернете.
3. Платежеспособных.

Л — логично, но!!! Сейчас я расскажу вам как всё обстоит на самом деле. Ну или просто мою выдумку.

Точка зрения программиста


Возьму наиболее развитый фреймворк в плане локализации Qt 5.9.9 и класс для локализации.
QLocale::QLocale(Language language, Script script, Country country)

Примечание: будущая 6-ая версия сменила названия последнего параметра в угоду терпимости к терпению и терпилам.
QLocale(QLocale::Language language, QLocale::Script script = AnyScript, QLocale::Territory territory = AnyTerritory)

Есть три параметра.
1. Язык (обязательный выбор).
2. Письменность (по умолчанию или выбор).
3. Страна (по умолчанию или выбор).

Давайте разберём на примере китайского языка.
QLocale::Language — традиционный и упрощенный китайский?

По письменности (Script).
QLocale::setDefault(QLocale(QLocale::Chinese, QLocale::SimplifiedChineseScript)); // Упрощённый китайский
QLocale::setDefault(QLocale(QLocale::Chinese, QLocale::TraditionalChineseScript)); // Традиционный китайский

По стране (Country).
QLocale::setDefault(QLocale(QLocale::Chinese, QLocale::China));  // Упрощённый китайский
QLocale::setDefault(QLocale(QLocale::Chinese, QLocale::Taiwan)); // Традиционный китайский

По коду.
QLocale chinese("zh"); // Китайский
QLocale chinese("zh_Hans"); // Упрощённый китайский
QLocale chinese("zh_Hant"); // Традиционный китайский

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

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

Точка зрения пользователя


Для пользователя важны следующие вещи.
1. Владение языком.
2. Привычные фразы.

Владение языком


Пользователь может владеть.
1. Родным языком.
2. Не родными языками.
3. Родственными родному языку.
4. Родственными не родному языку.
5. Не владеть языком.

Для примера возьмём меня.
1. Родной язык — русский.
2. Не родные языки — 1. английский.
3. Родственные родному языку — Кириллица QLocale::CyrillicScript.
4. Родственные не родному языку — Латиница QLocale::LatinScript.
5. Не владею всеми остальными языками.

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

Транслитерация


Смотрите в чём разница письменности и языка.
1. Английский язык. Кириллица — дог, кэт. Латиница — dog, cat.
2. Русский язык. Кириллица — собака, кошка. Латиница — sobaka, koshka.

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

Тем не менее есть ограничения по звучанию, так как человеческие речевые органы ограничены. Символы это хорошо, но на этапе развития сознания они являются вторичными по отношению к звукам.

Привычные фразы


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

Если взять главное меню на английском (FEVTWH).
&File &Edit &View &Tools &Window &Help

То мало того, что пользователь будет ожидать именно этих пунктов в главном меню с клавиатурными сокращениями через клавишу Alt, так он ещё и захочет, чтобы перевод соответствовал его ожиданиям.
&Файл &Правка &Вид &Инструменты &Окно &Справка

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

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

Плагиат ли это? Для наиболее употребительных фраз нет. В конце концов не нужно касаться имён брендов и всё.

Мнение пользователя


Давайте разберём разные случаи на основе предыдущих пунктов.

Отлично


1. Программа имеет перевод на родной язык пользователя с использованием привычных ему фраз.

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

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

Хорошо


2. Программа имеет перевод на родной язык пользователя без использования привычных ему фраз.

Что, перевод не очень качественный? Зато на родном языке. И вообще, охладите своё траханье, углепластики.

Некоторые говорят, что лучше не делать перевод, лишь бы не такое, но лично я с подобным не согласен. Да, продукт будет выглядеть дёшево и очень сердито, но лично я бы предпочёл гугло, яндексо, промто перевод, нежели его отсутствие.

Плохо


3. Программа имеет перевод на не родной язык пользователя, которым он владеет.

Это как для меня английский второй язык на котором я читаю документацию, но не люблю этого делать, если могу этого избежать. В эту ловушку попадают очень многие так как язык en_US, то есть английский (США) является основным для мировой разработки софта.

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

Неприемлемо


4. Программа имеет перевод родственный родному языку пользователя.
5. Программа имеет перевод родственный не родному языку пользователя.

Здесь остаётся лишь догадываться о смысле слов. Но давайте на чистоту, работать с такой программой нормально не получится. Лично мне при таком раскладе легче будет добраться до меню смены языка, но не более.

Грубо говоря в моём случае это языки на 4. кириллице и 5. на латинице. По сути это другие европейские языки отличные от русского и английского, первый из которых мой родной, а второй тот который я хоть как-то могу читать. И замечу именно читать, а не говорить, но поскольку мы говорим о переводе графического интерфейса, то проблем не возникает.

Ужасно


6. Программа имеет перевод которым пользователь не владеет даже на уровне символов.

Это самый плохой вариант. Опять же для меня это арабские, азиатские, индийские и прочие языки. Главный минус в том, что я не только не знаю слов, но и не знаю как произносить символы, что невыгодно отличает это от 4 и 5 вариантов.

Приговор пользователя


1. По варианту перевода на родной язык пользователь ничего не скажет, но неявно будет доволен.
2. На второй поворчит, что переводили программу тридварасы.
3. На третий подумает, что вы на него забили и не собирались продавать ему программу, даже если он её скачал с торрента. Хотя наиболее вероятно, что на торренте как раз и был качественный перевод, чего не было и никогда не будет в официальных версиях.
4.5.6. Скорее всего вы послали пользователя по координатам xyz и он это понял. Таким и бесплатно никто не пользуется, делайте выводы.

В последних трёх случаях программу спасают не официальные переводчики. Хотя по большому счёту они её спасают и в 3-ем варианте.

Делать ли машинный гугло, яндексо, промто перевод без исправления переводчиком или носителем языка, который явно является заведомо некачественным. На мой личный взгляд да, да и ещё раз да, а вся эта статья мой личный взгляд.

Общечеловеческий рейтинг


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

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

Хотя из-за специфики программирования перевод на английский язык не так дорог, так как программы внутри и так написаны на английском, но то код, а не графический интерфейс.

Российская двойка разработчика (Приоритет 0)


1. en_US. Английский (США).
2. ru_RU. Русский (Россия).

Эта пара логично вытекает из инструментария. Английский (США) сгенерируют инструменты локализации. Русский (Россия) это родной язык не перевести на который невероятно глупо.
<TS version="2.1" language="en_US">

<TS version="2.1" language="ru_RU">

Есть ещё альтернатива английскому языку.
*. en_GB. Английский (Великобритания).

Например.
1. en_US. armor. броня.
2. en_GB. armour. броня.
Или.
1. en_US. color. цвет.
2. en_GB. colour. цвет.

1. Google. https://translate.google.com броня armor
2. Yandex. https://translate.yandex.ru броня armor
3. Promt. https://translate.ru броня armor

А вот "Англо-русский словарь. Аракин Владимир, Выгодская Зинаида, Ильина Наталия" даёт два варианта, где основной вариант Английский (Великобритания), и дополнительный вариант английский (США).

Короче вы скорее всего пользуетесь по умолчанию переводом английский (США) и даже в библиотеках алгоритмов это будет так.
QColor
QColorDialog
QColormap

И обратите внимание, что в некоторых программах есть иконка флага перевода, и там скорее всего висит звёздно-полосатый флаг США, а не Великобритании.

Большая европейская тройка (Приоритет 1)


1. fr-FR. Французский (Франция).
2. de-DE. Германский (Германия).
3. es-ES. Испанский (Испания).

Поскольку английскую Великобританию уже охватили за счёт США, я её не включил сюда. Делать ли перевод отдельно под Великобританию решать переводчику. Смысл в том, что если есть только машинный перевод, то создавать его придётся ручками. А здесь нужен или носитель великобританского английского или задрачивание переводчика со словарём.

И немецкий язык я решил назвать германским. А это я ещё не говорю о самоназвании. Например, что такое deutsch на германском.

Малая европейская двойка (Приоритет 2)


1. pt-BR. Португальский (Бразилия).
2. it-IT. Итальянский (Италия).

А здесь прикол в том, что pt-PT португальский (Португалия) это не тоже самое, что pt-BR португальский (Бразилия). В Португалии живёт 10 миллионов, а в Бразилии 220 миллионов. И за счёт подавления численностью португальский (Бразилия) является стандартом того, что называют в переводах португальским, так же как английский (США) подавляет английский (Великобритания).

Опять же я могу наврать в каждом слове, так что включайте фильтр критического мышления, которого у большинства нет. Смысл в том, что Португалия слишком мелкая страна, а Бразилия не Европа. Потому я и исключил её из рейтинга большой европейской четвёрки сделав большую европейскую тройку.

Что касается Италии, то она не дотягивает до топа, всего лишь 60 миллионов и обычно стоит внизу рейтинга топа 10 вылетая из него на позицию или больше. И здесь нам помогут общечеловеки, которые могут натягивать на глобус различные факторы.

Количество населения в стране и интернете это ещё не всё. И даже мощность промышленности хотя и оказывает существенное влияние на платежеспособность населения не является единственным определяющим фактором.

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

Большая азиатская тройка (Приоритет 3)


1. zh-CN. Китайский (Китай, упрощённая).
2. ja-JP. Японский (Япония).
3. ko-KR. Корейский (Южная Корея).

Для начала возьмём Китай, и кстати, Китай это КНР, Китайская Народная Республика. Есть упрощённая и традиционная письменности. На традиционную письменность можно забить болт. Почему? Потому что.

Как мы забили болт на английский (Великобритания) в угоду английского (США) и на португальский (Португалия) в угоду португальского (Бразилия), так мы забиваем и на китайский (Китай, традиционный) в угоду китайского (Китай, упрощённого).

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

С японским нет проблем, но может и есть, просто я о них не знаю. В конце концов я не различаю Катакану, Хирагану, Кандзи и что там у них ещё. Оставим этот вопрос до лучших времён, всё равно дальше машинного переводчика не уедешь.

А вот корейский существует как в Южной Корее, так и в Северной Корее. Пишут, что код Северной кореи ko-KP и письменность тоже своя. Посмотрел я различия, ну такое себе. Зачем вообще это было делать непонятно.

Большая южная двойка (Приоритет 4)


1. ar-SA. Арабский (Саудовская Аравия).
2. hi-IN. Хинди (Индия).

У меня закончились идеи, потому пошло что-то по количеству жителей и охвата стран. Есть ведь ещё всякие Турции (турецкий), Бангладеши (бенгальский) и так далее. Где-то много населения, но проникновение технологий низкое, где-то наоборот.

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

Если нужно назвать страны, которые я бы включил в рейтинг первоочерёдного перевода, то вот они. Но по факту это ничего не значит от слова совсем. Особенно это видно на фоне экономической блокады России теми же США, Евросоюзом, Канадой, Японией, Австралией и ещё до кучи подсосов.

Но как по мне перевод делается не из-за политических аспектов и возможно даже не ради прямой прибыли. Взять тeх же Microsoft.
https://learn.microsoft.com/ru-ru/windows-hardware/manufacture/desktop/available-language-packs-for-windows

Что отличает топовые продукты от местечковой посредственности? Может быть функционал? Да. Но перевод это тоже функционал.

Прочие страны (Приоритет Ы)


Далее я мог бы расписать рейтинг ещё множества стран, но какой в этом смысл. Главная идея мои дорогие углепластики в том, что если нет родного пусть и полностью машинного перевода, а здесь можно было бы даже сделать подпись типа English (Google), Arabic (Yandex) и так далее, то программа сосед. Ведь одно дело отказаться от машинного перевода в пользу другого языка с более качественным переводом, а другое дело не иметь такой выбор с самого начала.

Большая тройка Steam


1. zh-CN. Китайский (Китай, упрощённая).
2. en_US. Английский (США).
3. ru_RU. Русский (Россия)

А вот так выглядит статистика Steam. Когда-то лидерами были английский и русский язык, но потом пришли китайцы.

БРИКС и другие


БРИКС объединение десяти государств.
1. Бразилии.
2. России.
3. Индии.
4. КНР.
5. ЮАР.
6. ОАЭ.
7. Ирана.
8. Египта.
9. Эфиопии.
10. Индонезии.

А вот и Бразилия колония Португалии, но что с того.
Россия, лично для меня перевод на родной язык логичен.
Индия и Китай большие страны, но не одинаковые.
Южно-Африканская Республика, что ещё и для них переводить.
Объединённые Арабские Эмираты, некий арабский.
Иран, Египет, Эфиопия, Индонезия.

Подведём итоги


На данный момент мой рейтинг топ-12 выглядит так.
1. en_US. Английский (США).
2. ru_RU. Русский (Россия).
3. fr-FR. Французский (Франция).
4. de-DE. Германский (Германия).
5. es-ES. Испанский (Испания).
6. pt-BR. Португальский (Бразилия).
7. it-IT. Итальянский (Италия).
8. zh-CN. Китайский (Китай, упрощённая).
9. ja-JP. Японский (Япония).
10. ko-KR. Корейский (Южная Корея).
11. ar-SA. Арабский (Саудовская Аравия).
12. hi-IN. Хинди (Индия).

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

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