Руководство для переводчиков
В Discourse все строки формата сообщений имеют ключ, который заканчивается на “_MF”. В редакторе Crowdin есть предпросмотр, позволяющий экспериментировать с различными значениями, что очень полезно для проверки ваших переводов.
Важно: Если ваш язык использует формы множественного числа, отличные от “one” и “other”, вам необходимо изменить формы множественного числа в вашем переводе. Вы можете добавлять или удалять формы внутри блока { FOO, plural, ... }, чтобы обеспечить корректную работу для вашего языка. Если в вашем переводе есть проблема, в предпросмотре редактора Crowdin будет отображаться сообщение «Syntax error» (Ошибка синтаксиса).
Доступные формы множественного числа:
- zero
- one
- two
- few
- many
- other (обязательная — общая форма множественного числа — также используется для языков, не различающих единственное и множественное число)
Иногда вы можете встретить пустой блок =0 {} в английской исходной строке, что означает, что переменная не может иметь значение 0.
Руководство для разработчиков
Строки формата сообщений в настоящее время доступны только для клиентских переводов. Они полезны, если ваша строка содержит более одного числа или много переменных, что привело бы к большому количеству перестановок.
-
Ключи строк формата сообщений должны заканчиваться на “_MF”
-
Используйте следующий формат для чисел (
#будет заменено на число):{ variable_name, plural, one: {# singular text} other: {# plural text} } -
Используйте следующий формат для выборов:
{ variable_name, select, foo: {This is foo} bar: {This is bar} baz: {This is baz} } -
Вот как использовать это в JavaScript:
I18n.messageFormat("key_MF", { variable1: "foo", variable2: 42, }); -
Рекомендация: По возможности используйте сложные аргументы как внешнюю структуру сообщения и пишите полные предложения в их подсообщениях. Если у вас вложенные аргументы select и plural, поместите аргументы select (с их фиксированными наборами вариантов) снаружи, а аргументы plural (надеюсь, не более одного) вложите внутрь. См. Formatting Messages | ICU Documentation -
Делайте их читаемыми — см. существующие примеры в client.en.yml
ПлохоThere {currentTopics, plural, one {is <strong>#</strong> topic} other {are <strong>#</strong> topics}}. Visitors need more to read and reply to – we recommend at least { requiredTopics, plural, one {<strong>#</strong> topic} other {<strong>#</strong> topics}}. Only staff can see this message.
ХорошоThere { currentTopics, plural, one {is <strong>#</strong> topic} other {are <strong>#</strong> topics} }. Visitors need more to read and reply to – we recommend at least { requiredTopics, plural, one {<strong>#</strong> topic} other {<strong>#</strong> topics} }. Only staff can see this message.
Инструменты и дополнительная информация
-
Online ICU Message Editor позволяет вам протестировать строку формата сообщений, если есть проблема с редактором Crowdin. Пожалуйста, отключите опцию “Parse simple xml/html tags” (Разбирать простые теги xml/html), иначе вы можете увидеть сообщение об ошибке.
Этот документ находится под контролем версий - предложите изменения на github.
