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

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

. Присоединяйтесь к проекту перевода link:https://crowdin.com/project/r7-labs-dnn-platform/invite?d=n6j6o425551753n4i593d393f3p4k4[Dnn.Platform]
. Ознакомьтесь с link:https://support.crowdin.com/ru/crowdin-intro/[Вводным курсом 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>` - это перекодированный для хранения в link:https://docs.microsoft.com/ru-ru/dotnet/framework/resources/[ресурсных файлах формата `.resx`] код HTML
или основанные на нем шаблоны.

Просто некоторые символы типа `<`, `>`, `"` закодированы в нём помощью link:https://www.freeformatter.com/html-entities.html[HTML entities].

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

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

[source,HTML]
----
<p>Не такой страшный текст</p>
----

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

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

Подробности здесь: https://docs.microsoft.com/ru-ru/dotnet/standard/base-types/formatting-types

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

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

== The New York Times

Как правило, в англоязычном пользовательском интерфейсе используется особая форма записи для различных коротких заголовков и меток - так называемый link:https://en.wikipedia.org/wiki/Camel_case[Camel Case].

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

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

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

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

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

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

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