Команды, спокойно локализовавшиеся на французский, немецкий и испанский, нередко встречают первую серьёзную трудность на японском. Проблемы редко лингвистические. Они архитектурные и присутствовали всё это время: европейские локали просто их не обнажали.
Это и есть полезный способ читать список ниже. Ничего из этого не советы про японский. Это набор допущений о тексте, сделанных вашей кодовой базой, каждое из которых оказывается ложным, и японский просто первый язык, который это опровергает.
Метрики текста перестают работать
Японский текст обычно короче английского по числу знаков и длиннее по ширине на экране, и он не переносится по пробелам. Вёрстка, пережившая тридцать процентов немецкого удлинения, здесь всё равно ломается: правила переноса совсем другие.
Логика обрезания по числу символов даёт бессмыслицу посреди слова. Всё, что измеряет текст, должно измерять экранную ширину, а перенос стоит оставить платформе, а не приближать самостоятельно.
Есть и вертикальное измерение, на котором попадаются. Японские знаки по замыслу полновысотны и полноширинны, поэтому строка заполняет свою коробку иначе, чем латиница. Плотный интерлиньяж, выглядевший изящно по-английски, даёт здесь слипающиеся знаки, а шрифтовой стек с подменой для японского поменяет высоту строки посреди абзаца.
Склейка строк перестаёт работать
Строки, собранные из кусков: «Delete» + объект + «?», опираются на английский порядок слов и на терпимость английского к отсутствующей частице. Японскому частица нужна, и она зависит от того, что именно за объект.
Лекарство то же, что было верным всегда: целые предложения как единицы перевода с именованными подстановками. Японский просто делает цену отказа от этого немедленно видимой.
Счёт: острая версия той же проблемы. В японском есть счётные слова, меняющиеся с формой и родом предмета: плоское, длинное, люди, машины. Строку «{n} элементов» нельзя перевести один раз и переиспользовать для файлов, сообщений и пользователей. Каждому нужен свой счётный суффикс, значит своя строка, значит решение принимается в таблице строк, а не во время перевода.
Регистр не факультативен
Японский кодирует отношения между говорящим и читателем грамматически. Нейтрального регистра по умолчанию нет: каждое предложение занимает позицию по формальности, хотел автор того или нет.
Это вопрос брифа, а не перевода. Банковский интерфейс и потребительская игра требуют разных регистров, и выбор надо сделать один раз, записать в стайлгайд и держаться его. Оставленный на усмотрение переводчиков, он поедет в пределах одного релиза.
На практике решение уже, чем кажется. Большинство продуктов устаиваются на вежливо-нейтральном: регистре компетентного незнакомца, который помогает. Осознанно решить надо, где продукт от него отходит: сообщения об ошибках, которые извиняются, маркетинг, который теплее, юридический текст, который формальнее. Назвать эти три исключения в брифе: значит закрыть девяносто процентов вопроса.
Ввод, поиск и сортировка
Японский набирается через метод ввода: пользователь вводит фонетику и преобразует её в нужное письмо, нередко по несколько раз на поле. Интерфейсы, валидирующие на каждое нажатие, отправляющие по Enter или переформатирующие поле прямо во время редактирования, будут бороться с преобразованием и порождать текст, который никто не имел в виду. Валидируйте по потере фокуса, а Enter пусть подтверждает преобразование, а не форму.
У поиска та же форма проблемы. Одно и то же слово записывается тремя видами письма, и пользователь ждёт, что найдёт его любым из них. Поиск, совпадающий только по точным знакам, покажется японскому пользователю сломанным, и пройдёт все тесты, написанные по-английски.
А у сортировки нет единственного верного ответа: словарный порядок следует чтению, а не знакам, и чтение из знаков не выводится. Продукты, которым нужен надёжный алфавитный порядок, хранят отдельное поле чтения: это решение о схеме данных, принятое задолго до того, как кто-то подумал о переводе.
Что с этим делать
Сначала прогон псевдолокализации, затем вторая псевдолокаль, добивающая длину полноширинными знаками. Вдвоём они найдут сбои вёрстки и метрик до того, как появится хоть один перевод.
Почините таблицу строк до заказа слов: целые предложения, разделённые счётные строки, настоящее поле чтения, если нужна сортировка. Каждое из этого дешевле менять сейчас, чем после того, как сверху построены четыре языка.
Затем напишите бриф: регистр, три исключения и владелец терминологии, и переводите на японский последним из языков запуска, а не первым. Всё, что обнажает японский, представляет собой проблемы, которые тихо были и у остальных языков. Исправить их в таком порядке значит исправить один раз.