L10n-разбор: Facebook

Начинаю серию постов про локализацию (localization -> l10n) и UX-writing на реальных примерах: буду брать приложение или сайт и показывать, где можно было бы сделать лучше. Начну с приложения Facebook для Android (версии от 09-2019).

Сначала о хорошем.

У приложения в целом очень неплохой перевод на русский, учитывая количество других поддерживаемых языков. Отдельная благодарность за пункт «Язык» в меню приложения: сегодня разработчики чаще принудительно выставляют язык системы телефона, а это не всегда удобно (например, Яндекс.Карты упорно переключают мне приложение на английский из-за языка системы).

Во многих местах хорошо поработали с окончаниями существительных в зависимости от числа (1 комментарий, 8 комментариев). Но есть и недостатки.

Строки с переменными

 

Запросы на добавление в друзья 7

Предложение выглядит разорванным даже в исходном английском языке, зато структура очень «безопасна» для локализаторов — просто конкатенация двух строк, или одна переменная. Вероятно, в коде приложения написано что-то такое:

friends_request = {Запросов на добавление в друзья {$requestCount}}

Более человечным был бы текст формата:

У вас 7 запросов в друзья

Такой формат удаляет пассивный залог и сокращает длину строки. Конечно, если число друзей будет другим, то придётся менять окончание у слова запрос. Если для обработки текстов интерфейса используется система вроде Fluent, то локализатору достаточно написать строку в подобном формате:

friends_request =
{$requestCount ->
[one] У вас {$requestCount} запрос в друзья
[many] У вас {$requestCount} запросов в друзья
*[other] У вас {$requestCount} запроса в друзья
}

Я написал селектор для выбора строки в зависимости от значения переменной $requestCount. Например, если в переменной будет «7», то отобразится строка №2 (many) как У вас 7 запросов в друзья, а если в ней будет «23», то активируется строка №3 — У вас 23 запроса в друзья. Кстати, количество вариантов в переводе может быть больше или меньше, чем в оригинальном английском языке: тот же Fluent не делает жёсткой привязки, поэтому у локализатора есть некоторая степень свободы.

Обратите внимание на селекторы one, many — я ссылаюсь не на конкретное число, а на библиотеку множественных чисел CLDR. Добрые люди всё уже классифицировали за нас.

Если же вы крутой UX-writer, то можете добавить щепотку приятного контента с селекторами конкретных чисел:

[1] У вас один запрос в друзья

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

[999] У вас почти тысяча запросов в друзья
[666] У вас чертовски много запросов в друзья.
[1000] У вас ровно тысяча запросов в друзья!

Метки времени

У Facebook определённый разнобой в отображении временной метки — когда произошло то или иное событие.

{mm} мин. назад

 

Самый удобочитаемый формат времени из найденных в приложении, хотя с точки зрения дизайна ничто не мешало написать слово минут полностью, места полно.

{hh} ч.

 

Слово Назад сделало бы надпись более понятной и человечной, точно так же не навредив дизайну.

«Сейчас»

 

Сейчас подходит для стримов (которые идут прямо сейчас, в этот момент), а для публикаций, случившихся в одно мгновение, подошла бы фраза Только что.

Данные

В английском языке тарифицируемый интернет-трафик называют cellular data, или просто data. На русский отдельно взятое data можно перевести как даные. Но интернет-трафик принято называть трафиком. Кроме того, лучше использовать побудительное наклонение, тогда вместо абстрактной экономии вы дадите программе приказ экономить.

Пропущенные переводы

 

Позорно, но не удивительно при текущем подходе постоянных релизов и обновлений. Вероятно, у Facebook нет хорошей внутренней CAT или CMS, иначе такая простая ошибка, как отсутствующий перевод строки (которая даже не требует QA), дала бы о себе знать.

Перенос строки

Достаточно заменить слово Редактировать на Изменить  🙂

Итого

Лишь 9 локализейшнов из 12

Интерфейс приложения Facebook локализован неплохо, но ему нехватает consistency в некоторых ключевых местах (например, время), и пропущенные переводы сильно портят картину. Оценка — 9/12.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *