Skip to content

Instantly share code, notes, and snippets.

@roman-yagodin
Last active November 9, 2020 09:43
Show Gist options
  • Save roman-yagodin/ff087cc3815dc64f3cf049d65467a604 to your computer and use it in GitHub Desktop.
Save roman-yagodin/ff087cc3815dc64f3cf049d65467a604 to your computer and use it in GitHub Desktop.
Краткая памятка начинающего переводчика

Краткая памятка начинающего переводчика

До начала работы

  1. Присоединяйтесь к проекту перевода Dnn.Platform

  2. Ознакомьтесь с Вводным курсом Crowdin для переводчика

Начало работы

Для начала можно рекомендовать выбрать какой-либо один документ из папки dnn9/DNN Platform или dnn9 с низким процентом переведённых сообщений и сконцентрироваться на нем. Каждый из этих файлов, как правило, относится к одной или нескольким функционально увязанным формам интерфейса, поэтому так проще будет ухватить контекст.

Также для начала лучше сконцентрироваться на общеупотребительных фразах и сообщениях без разметки HTML, форматов .NET и другого специального форматирования.

Пытаться на 100% перевести тот или иной файл не нужно - как только чувствуете, что завязли (например, совершенно неясен контекст), переходите к другому файлу.

Возникающие вопросы относительно перевода конкретных сообщений отписывайте в комментариях к этим сообщениям.

"Непереводимая игра слов"

Переводить общеупотребительные сокращения типа "HTML" или названия популярных сервисов типа "Facebook" обычно не имеет смысла. Правильнее будет создать для таких сообщений "баги" (issues) - поскольку, по хорошему, эти сообщения должны быть скрыты от переводчика.

Добавьте комментарий с флагом Issue, тип General question. Примерный текст комментария: "Не требует перевода?", "This should be hidden string?" и т.п.

Гиперссылки

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

Но, иногда они могут быть переведены. В частности https://www.google.com можно перевести как https://www.google.ru.

Кроме непосредственно национальных доменов, ссылки могут содержать языковые параметры в различных частях URL, например: https://www.somesite.com/en/?lang=en_US. В зависимости от ситуации, такую ссылку можно перевести как https://www.somesite.com/ru/?lang=ru_RU или https://www.somesite.com/en/?lang=ru_RU.

Но при этом нужно обязательно проверить, что в переведенном варианте ссылка работает как следует!

Помни её!

В русском алфавите 33 буквы.

Шаблоны HTML

Сообщения вида <p>Какой-то страшный текст</p> - это перекодированный для хранения в ресурсных файлах формата .resx код HTML или основанные на нем шаблоны.

Просто некоторые символы типа <, >, " закодированы в нём помощью HTML entities.

Для получение более удобочитаемого варианта можно воспользоваться онлайн-раскодировщиком, например https://convertstring.com/EncodeDecode/HtmlDecode

В нашем случае получится:

<p>Не такой страшный текст</p>

Строки форматов .NET

Сообщения вида У Васи было {0} яблок, {1} из них он отдал Пете являются строками форматов .NET.

[Арабские] числа

Наши англоязычные партнеры обычно используют точку в качестве десятичного разделителя, а мы - запятую. Поэтому 0.01 обычно можно и нужно переводить как 0,01.

The New York Times

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

Поэтому, например Open Link in a New Window лучше перевести как Открыть ссылку в новом окне.

"Программизмы"

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

Если вы встречаете в сообщениях интерфейса что-то типа "myUrl" или "my_url" вместо человеческого "My URL" - то это, скорее всего, ошибка в исходных файлах.

Такую ошибку нужно задокументировать, создав issue в проекте перевода. А в идеале - также создать issue в репозитории того программного проекта, который переводится.

Есть вопросы?

Оставляйте свои вопросы и пожелания относительно памятки в комментариях к этому gist!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment