Перейти к основному содержимому
Nodary

Шаблон таблицы локализации

Таблица строк, с которой могут работать переводчики: одна строка на ключ, с контекстом, ограничением длины, английским исходным текстом и четырьмя переводами, а также глоссарий и руководство по стилю для каждого языка. Скачайте её архивом .zip: таблица хранится в файле CSV (UTF-8, через запятую), остальное написано в Markdown, и весь набор импортируется в Nodary, где CSV становится листом, который можно использовать как таблицу перевода.

Файлов в архиве .zip: 4 (Markdown и CSV), 8 кБ

Бесплатно, без учётной записи и без e-mail. Пользуйтесь, меняйте, делитесь.

Прочитайте каждый файл до скачивания

Обзор объясняет столбцы, правила именования ключей, плейсхолдеры и статусы перевода. В таблице 13 примеров строк из Saltmarrow, демонстрационной игры, которую этот сайт использует везде; две ячейки ошибочны намеренно, чтобы показать, что находят проверки.

Документы

Файл Шаблон таблицы локализации/Таблица локализации.md

Таблица локализации

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

Файлы

  • Строки: сама таблица, по строке на фрагмент текста и по столбцу на язык
  • Глоссарий: слова, которые везде переводятся одинаково, и имена, которые не переводятся никогда
  • Руководство по стилю: как игра говорит на каждом языке

Столбцы

СтолбецЧто в нём
keyУникальное имя строки, которое игроки никогда не видят
contextГде появляется текст и кто его говорит: то, о чём переводчик не догадается
max_lengthНаибольшее число символов, которое текст может занять на экране
enИсходный текст
fr, de, es, plПо столбцу на язык, названному его кодом

Именование ключей

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

  • Схема: [экран].[элемент].[деталь], например menu.play или hud.tide.warning
  • Строчные буквы, точки между частями, без пробелов
  • Никогда не используйте ключ повторно для другого текста: добавьте новый

Плейсхолдеры и разметка

Значения, которые подставляет игра, стоят в фигурных скобках, например {count}; каждый перевод сохраняет каждый плейсхолдер исходника. Теги разметки, например тег жирного шрифта в item.crystal.desc, остаются вокруг слов, которые они выделяют.

Статусы перевода

  • Нет переводаЧерновик
  • ЧерновикПроверен
  • ПроверенГотов
  • ГотовУстарел
  • УстарелЧерновик
Статус перевода: изменённый исходник делает его устаревшим, и перевод проверяют сноваДиаграмма Mermaid в файле: её рисуют Nodary, GitHub и Obsidian.
Mermaid
flowchart LR
  n0["Нет перевода"]
  n1["Черновик"]
  n2["Проверен"]
  n3["Готов"]
  n4["Устарел"]
  n0 --> n1
  n1 --> n2
  n2 --> n3
  n3 --> n4
  n4 --> n1

Пример (Saltmarrow, демонстрационная игра): Две ячейки примера ошибочны намеренно. menu.settings по-немецки, Einstellungen, занимает 13 символов там, где кнопка вмещает 10, поэтому проверка длины отмечает её; у приветствия Архивариуса ещё нет польского перевода, поэтому оно считается отсутствующим.

Шаблон можно свободно использовать, менять и распространять. Он сделан в Nodary, где эти файлы импортируются как карта связанных документов, а CSV как лист.

Скачать шаблонФайлов в архиве .zip: 4 (Markdown и CSV), 8 кБ

Как им пользоваться

  1. Замените строки-примеры

    Сохраните столбцы и правила именования ключей и вставьте свои строки. Дайте каждой строке контекст и ограничение длины до того, как она уйдёт переводчику.

  2. Начните глоссарий рано

    Добавляйте термин, когда переводчик впервые спрашивает о нём, с переводом на каждый язык. Слово, переведённое двумя способами, сбивает игроков с толку и удваивает вопросы в поддержку.

  3. Договоритесь о стиле каждого языка

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

  4. Заморозьте исходник перед отправкой

    Отправляйте строки на перевод, когда их английский текст окончательный. Если исходник потом изменится, его переводы нужно проверить снова.

Импортируйте его в Nodary и используйте как таблицу перевода

Nodary представляет собой рабочее пространство, созданное для ИИ, где документы команды связаны, а не копятся в кучу. Импортируйте .zip, и CSV появится как лист под обзором, рядом с глоссарием и руководством по стилю. На листе «Таблица перевода» читает роли из заголовков (key, context, max_length и по столбцу на язык), затем проверяет длину и плейсхолдеры каждого перевода, присваивает ему статус, помечает перевод устаревшим, когда меняется исходник, и экспортирует файлы для Unity, Unreal и Godot: CSV, JSON, gettext .po и XLIFF.

  1. Откройте карту проекта и нажмите «Импорт».
  2. Выберите вкладку «Папка или ZIP», затем «Выбрать ZIP-архив», укажите файл и импортируйте.
  3. Откройте «Строки», выберите «Таблица перевода», проверьте роли, прочитанные из заголовков, затем нажмите «Использовать как таблицу перевода».

Бесплатный тариф вмещает десять документов на рабочее пространство, включая страницу самого проекта: четыре документа шаблона помещаются с запасом. Исходный столбец английский: если ваша игра написана на другом языке, сделайте исходным тот столбец, когда Nodary покажет роли.

Как Nodary работает с локализацией игр
Таблица перевода Saltmarrow в Nodary: ключи, контекст и максимальная длина со столбцами английского, французского, немецкого, японского и бразильского португальского, прогресс каждого языка и предупреждения о слишком длинной немецкой строке и о строке, потерявшей плейсхолдер {seconds}.

Как вести таблицу строк, с которой могут работать переводчики

Таблица строк не работает, когда переводчикам приходится угадывать, что значит строка или сколько у неё места, или когда текст меняется после перевода и никто этого не замечает. Эти привычки предотвращают все три случая.

Давайте каждой строке контекст

Кто это говорит, где это появляется, на что отвечает. «Open» на двери глагол, а на вывеске магазина прилагательное: различает только контекст.

Задавайте длину по экрану

Измерьте, сколько символов вмещает кнопка, строка или реплика, и запишите этот предел, а не длину английского текста.

Не собирайте фразы из кусков

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

Сохраняйте плейсхолдеры целыми

Каждый перевод сохраняет каждый {плейсхолдер} и каждый тег исходника. Потерянный {count} показывает игроку пустоту или роняет игру.

Один ключ, один смысл

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

Заморозьте исходник перед отправкой

Переводите окончательный текст. Если исходник всё же меняется, пометьте его переводы как устаревшие, чтобы их проверили снова.

Вопросы о таблицах локализации

Что такое таблица локализации?

Таблица строк содержит весь текст, который показывает игра, по строке на каждый фрагмент: ключ, которым пользуется код, исходный текст, примечания для переводчиков, ограничение длины и по столбцу на язык. Игра загружает текст по ключу на языке игрока, поэтому текст можно менять и переводить, не трогая код.

Какие столбцы нужны в таблице строк?

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

Как называть ключи строк?

По месту, где живёт текст, от общего к частному, например menu.play или hud.tide.warning: строчными буквами, с точками между частями. Тогда связанные строки сортируются рядом, а ключ подсказывает, где искать в игре.

Как быть с множественным числом?

Языки считают по-разному: в польском и русском три формы множественного числа, в английском две. Либо ставьте число после метки, как в «Соль: {count}», либо используйте систему множественного числа движка с отдельным текстом на каждую форму.

Как открыть CSV в Excel?

Google Таблицы, LibreOffice Calc, Numbers и Nodary открывают его как есть. Excel открывает его двойным щелчком, только если разделитель элементов списка в системе запятая; в русских настройках это точка с запятой, и каждая строка тогда попадает в один столбец. Тогда импортируйте файл: на вкладке «Данные» выберите импорт из текстового/CSV-файла, укажите файл, задайте источник файла UTF-8 и разделитель «запятая», затем загрузите.

Прочитают ли этот CSV Unity, Unreal или Godot?

CSV шаблона сделан для табличных редакторов и для импорта в Nodary. Каждый движок читает свой формат: из той же таблицы таблица перевода Nodary экспортирует CSV для Godot и Unity, gettext .po для Unreal и Godot, JSON для большинства движков и XLIFF для инструментов перевода.

Можно ли добавить языки?

Да. Добавьте столбец с кодом языка, например ru или pt-BR. Nodary распознаёт коды и названия языков в заголовках, а его таблица перевода тоже умеет добавлять столбец для языка.

Держите тексты игры там, где работает команда.

Импортируйте шаблон в Nodary, и таблица строк окажется на одной карте с дизайном и диалогами, а статус каждого перевода будет на виду. Бесплатно для двух участников, одного проекта и десяти документов, без карты.