Приложение переводит между 19 языками на устройстве через Google ML Kit. Полный список: арабский, китайский (упрощённый), чешский, нидерландский, английский, французский, немецкий, хорватский, венгерский, итальянский, японский, корейский, польский, португальский, румынский, русский, словацкий, словенский и испанский. Новые языки добавляются по мере того, как ML Kit публикует для них модели на устройстве.
Выборщик языка
Выборщик — это единственная точка входа для выбора исходного и целевого языка, доступная из языковой панели в верхней части страницы камеры или страницы перевода текста.
- Поиск. Введите в поле поиска, чтобы отфильтровать по английскому названию или коду языка. Список обновляется при вводе.
- Недавно использованные. Верхний раздел показывает языки, которые вы использовали в последних переводах. Выбор автоматически перемещает их наверх.
- Авто-определение (только источник). Появляется как первый вариант в выборщике источника. Выбор заставляет приложение угадывать исходный язык за каждый захват (см. ниже).
- Все языки. Под разделом недавно использованных находится полный список из 19 поддерживаемых языков с их флагами стран.
Выборщики источника и цели можно открывать независимо. Выбор источника, совпадающего с целью, выделяет это в выборщике для предотвращения случайного само-перевода.
Авто-определение для источника
Когда источник установлен на авто-определение, приложение должно выбирать конкретный исходный язык ML Kit за каждый перевод. Используются две стратегии:
- Для фото-захватов. Подсказки языка по блокам от движка OCR агрегируются; преобладающий язык по блокам становится источником ML Kit. Одноязычные страницы разрешаются чисто; страницы со смешанными шрифтами возвращаются к значению по умолчанию.
- Для перевода текста. Эвристика на уровне класса символов в Dart считает символы по классу шрифта: символы хань → упрощённый китайский, кана → японский, хангыль → корейский, латиница → английский, кириллица → русский, арабское письмо → арабский и т.д. Пустой ввод или только пробелы по умолчанию становится английским.
Авто-определение никогда не завершается молча. Страница всегда имеет конкретный исходный язык ML Kit при запуске перевода.
Почему 19, а не больше
Число определяется тем, что ML Kit публикует в качестве моделей на устройстве. Языки за пределами этого списка не могут быть переведены на устройстве с ML Kit. Список курируется: каждый элемент имеет загружаемую модель размером 10–50 МБ. Выборщик исключает языки, которые ML Kit не поддерживает, даже если это допустимые коды BCP 47.
i18n интерфейса
Собственный интерфейс приложения (меню, настройки, сообщения об ошибках) переведён на 10 языков: арабский, английский, немецкий, корейский, французский, японский, русский, испанский, вьетнамский и китайский (упрощённый). Языки перевода являются надмножеством набора i18n для нескольких распространённых пар (en ↔ ja, en ↔ zh, en ↔ es, en ↔ fr).