Proponowany system lokalizacji zapewnia możliwości tworzenia naturalnie wyglądających tłumaczeń elementów interfejsu, które nie są narzucone sztywnymi ramami i nie ograniczają się do tłumaczenia standardowych fraz 1 do 1. Z jednej strony Fluent niezwykle ułatwia realizację najprostszych tłumaczeń, z drugiej jednak strony udostępnia elastyczne narzędzia do tłumaczenia skomplikowanych interakcji, które uwzględniają rodzaj, deklinację liczby mnogiej, koniugacje i inne cechy języka.
Fluent umożliwia tworzenie tłumaczeń asynchronicznych, w których prosty ciąg znaków w języku angielskim można porównać z dość złożonym tłumaczeniem wielowymiarowym w innym języku (na przykład „Wiera dodała zdjęcie”, „Wasja dodała pięć zdjęć”). Jednocześnie składnia Fluent, która definiuje tłumaczenia, pozostaje dość łatwa do odczytania i zrozumienia. System został pierwotnie zaprojektowany z myślą o obsłudze nietechnicznych specjalistów, co pozwala na włączenie w proces tłumaczenia i recenzji tłumaczy nie posiadających umiejętności programowania.
udostępnione-zdjęcia =
W {$userGender ->
[mężczyzna] go
[kobieta] ją
*[inne] je
} kolekcja
{$userName} {$photoCount ->
[jedno] dodano nowe zdjęcie
[few] dodało nowe zdjęcia ({$photoCount}).
*[other] dodał {$photoCount} nowych zdjęć
}.
Podstawowym elementem tłumaczenia w Fluent jest przekaz. Każda wiadomość jest powiązana z identyfikatorem (na przykład „hello = Hello, world!”), który jest dołączony do kodu aplikacji, w którym jest zastosowany. Wiadomości mogą mieć postać prostych fraz tekstowych lub wieloliniowych skryptów, które uwzględniają różne opcje gramatyczne i zawierają
Fluent zapewnia wysoką odporność na błędy - nieprawidłowo sformatowana wiadomość nie prowadzi do uszkodzenia całego pliku z tłumaczeniami lub sąsiadującymi wiadomościami. Można dodawać komentarze, aby dodać informacje kontekstowe na temat celu wiadomości i grup. Fluent jest już używany do lokalizowania witryn w projektach Firefox Send i Common Voice. W zeszłym roku rozpoczęła się migracja Firefoksa do Fluent i trwa obecnie
Źródło: opennet.ru