Таблицы перевода для локализации игр, проверенные до релиза.
Строка на ключ, с контекстом и максимальной длиной для ваших переводчиков, и столбец на язык. У каждого перевода свой статус, слишком длинные строки и строки с потерянным плейсхолдером отмечаются прямо при вводе, а таблица экспортируется в CSV, JSON, .po и XLIFF для Unity, Unreal и Godot.

Таблица перевода живёт в проекте
Превратите любую таблицу в таблицу перевода или начните с готовой. Nodary определяет роли столбцов по заголовкам, например Key, Context, Max length, English или keys, en, fr у Godot, и добавляет язык новым столбцом в один клик. Таблица это документ на той же карте, что и диалоги, персонажи и системы, откуда пришёл её текст, и она связана с ними, как любой другой документ.
- Наберите / и выберите «Таблица перевода» или превратите в неё существующий лист
- Роли столбцов угадываются по заголовкам, а затем вы их проверяете
- Совместная правка по ячейкам: два рецензента в разных ячейках никогда не перезапишут друг друга
- Языки с письмом справа налево, такие как арабский и иврит, пишутся справа налево
Чего это не делает Реплики диалогов сами в таблицу не попадают: ключи вводят вручную, вставляют, импортируют из таблицы или добавляет агент. Таблица вмещает до 50 000 ячеек, поэтому большая игра делит свой текст на несколько таблиц.

У каждого перевода есть статус и проверка
Перевод находится в статусе «Нет перевода», «Черновик», «Проверено», «Утверждено» или «Источник изменён», если исходный текст поменялся после того, как перевод был написан. При изменении источника ничего не переписывается: каждый перевод помнит текст, для которого он сделан. Прямо при вводе Nodary отмечает строку длиннее своего лимита в видимых игроку символах, потерянный или лишний плейсхолдер, текст, оставшийся на исходном языке, и лишние пробелы по краям.
- Прогресс по каждому языку с фильтром по тому, что требует работы или содержит проблемы
- Панель переводчика: источник, контекст, число символов и плейсхолдеры, которые нужно сохранить
- Отметьте выделенное как проверенное или утверждённое либо сохраните статусы после незначительной правки источника
- Плейсхолдеры распознаются в формах ICU, i18next, Unity, Unreal и printf, а также теги разметки
Чего это не делает Нет памяти переводов, терминологической базы и встроенного машинного перевода. Переводы приходят от ваших переводчиков или от ИИ-агента по вашей просьбе, и работа агента поступает как черновики.
- Контекст
- Banner when a storm forms. {seconds} counts down
- Источник (Английский)
- Storm in
{seconds}s. Get to the stilts.Сохранить{seconds}
38 из 44 символов
- Переменные: нет {seconds}
[Šţóŕɱ íñ {seconds} š. Ĝéţ ţó ţĥé šţíĺţš. ~~~~~~~~~~~~]Файлы для движков и переводчиков и поток для вашей сборки
Экспортируйте CSV со всеми языками для Godot и Unity, JSON для i18next и движков, gettext .po с ключом в качестве контекста для Unreal и Godot и XLIFF 1.2 для инструментов перевода, где у каждой строки передаются статус, лимит и контекст. Псевдолокализованный язык показывает непереведённый или обрезанный текст в вашем интерфейсе ещё до появления перевода. А когда сборка не должна никого ждать, она сама забирает таблицу с постоянного адреса по ключу данных только для чтения.
- Импорт XLIFF 1.2 или 2.0, .po, JSON или CSV с сопоставлением по ключу и предпросмотром
- Пустой перевод в файле никогда не стирает перевод в таблице
- Один язык в JSON, .po или XLIFF или все языки в CSV; final=1 оставляет только утверждённые строки
- Неизменённая таблица отвечает 304, до 120 запросов в минуту на ключ
Чего это не делает Формы множественного числа живут как сообщения ICU внутри одной ячейки: записи множественного числа из файла .po при импорте пропускаются. Поток только читает; через него в Nodary ничего не записывается.

Агенты заполняют таблицу, не переписывая её
Подключённый через MCP агент читает таблицу через get_localization: прогресс каждого языка и строки, которые ещё требуют работы, с их контекстом, лимитом и проблемами. set_translations пишет по ключу, черновиками, если вы не попросите утвердить, добавляет ключи или столбец языка и сообщает, какие строки вышли слишком длинными или потеряли плейсхолдер. Люди, которые правят таблицу в это же время, сохраняют свои ячейки.
Подключить агентаВы проситеЗаполни недостающие немецкие строки в таблице перевода Saltmarrow как черновики. Сохрани каждый плейсхолдер, уложись в максимальную длину и скажи, у каких строк ещё есть проблемы.
search_documentsget_localizationset_translations
Вопросы
Как экспортировать игровые строки в Unity, Unreal или Godot?
Откройте меню «Экспорт» таблицы перевода. CSV несёт все языки, столбец ключей и затем по столбцу на язык, как их читают Godot и Unity; gettext .po несёт один язык с ключом в качестве контекста, для Unreal и Godot; JSON отдаёт один язык плоским файлом «ключ: текст» для i18next и движков. Сам импорт происходит в вашем движке, его собственными средствами локализации.
Переводит ли Nodary текст за меня?
Нет. Памяти переводов и встроенного сервиса машинного перевода нет. Ваши переводчики работают в таблице или в своём инструменте через XLIFF, а подключённый вами ИИ-агент тоже может писать переводы, и они приходят черновиками, которые кто-то должен проверить.
Что происходит с переводом, когда меняется исходный текст?
Каждый перевод хранит отпечаток источника, для которого был написан. Когда источник меняется, его переводы получают статус «Источник изменён», и ничего не переписывается. Если правка была незначительной, действие «Незначительное изменение источника» сохраняет их статусы как были.
Может ли наша сборка скачивать строки автоматически?
Да. Любой участник может создать в своём профиле ключ данных только для чтения, для всего рабочего пространства или одного проекта, а кнопка «Поток данных» таблицы показывает его адреса. Сборка забирает один язык в JSON, .po или XLIFF или все языки в CSV, а final=1 исключает всё, что ещё не утверждено.
Какие плейсхолдеры и теги понимает проверка?
Сообщения ICU, включая plural и select, {name} и {0} в том виде, как их пишут Unity и Unreal, {{name}} из i18next, формы printf, такие как %s, %d и %1$s, и теги разметки, такие как <b> или <color=#f00>. Длина считает символы, которые видит игрок: буква с диакритикой или эмодзи считается один раз, а теги не считаются.
Могут ли переводчики прислать свои файлы обратно?
Да. Импортируйте XLIFF 1.2 или 2.0, gettext .po, JSON или CSV размером до 8 МБ. Переводы сопоставляются по ключу, ключи, которых нет в таблице, перечисляются, а не добавляются, предпросмотр показывает каждое изменение до применения, а перевод, сделанный по более старому источнику, приходит со статусом «Источник изменён».
Держите строки рядом со своей игрой.
Начните бесплатно, наберите / и выберите «Таблица перевода», затем вставьте первые ключи. Без карты, без установки.
Бесплатно для двух участников и десяти документов. Без карты.