Запропонована система локалізації надає можливості для створення природно виглядають перекладів елементів інтерфейсу, які не загнані в жорсткі рамки і не обмежуються перекладом 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, зараз вже
Джерело: opennet.ru