Компания Mozilla опубликовала систему локализации Fluent 1.0

Представлен первый стабильный выпуск проекта Fluent 1.0, созданного для упрощения локализации продуктов Mozilla. Версия 1.0 ознаменовала стабилизацию спецификаций и синтаксиса разметки. Наработки проекта распространяются под лицензией Apache 2.0. Реализации Fluent подготовлены на языках Python, JavaScript и Rust. Для упрощения подготовки файлов в формате Fluent развиваются online-редактор и плагин для Vim.

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

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

shared-photos =
В {$userGender ->
[male] его
[female] её
*[other] их
} коллекцию
{$userName} {$photoCount ->
[one] добавлена новая фотография
[few] добавлены {$photoCount} новые фотографии
*[other] добавлено {$photoCount} новых фотографий
}.

Основным элементом перевода во Fluent является сообщение. Каждое сообщение связывается с идентификатором (например, «hello = Hello, world!»), который прикрепляется к коду приложений в месте своего применения. Сообщения могут быть как простыми текстовыми фразами, так и многострочными сценариями, учитывающими разные варианты грамматики и включающие условные выражения (селекторы), переменные, атрибуты, термины и функции (форматирование чисел, преобразование дат и времени). Поддерживаются ссылки — одни сообщения могут включаться в состав других сообщений, причём допускаются ссылки между разными файлами. Перед сборкой файлы с сообщениями объединяются в наборы.

Fluent обеспечивает высокую стойкость к ошибкам — неверно оформленное сообщение не приводит к повреждению всего файла с переводами или рядом расположенных сообщений. Для добавления контекстной информации о назначении сообщений и групп возможно добавление комментариев. Fluent уже применяется для локализации сайтов проектов Firefox Send и Common Voice. В прошлом году началась миграция Firefox на Fluent, в настоящий момент уже подготовлено более 3000 сообщений с переводами (всего в Firefox около 13 тысяч строк для перевода).

Компания Mozilla опубликовала систему локализации Fluent 1.0

Источник: opennet.ru

Добавить комментарий