- PVSM.RU - https://www.pvsm.ru -
Привет! В этой статье я поделюсь своим опытом локализации игр и приложений в Unity, а также расскажу о своем плагине Simple Localization, который доступен в Asse Store. Уровень статьи — Easy. Кода не будет вообще, он вам не пригодится.
С точки зрения общей концепции все просто. У нас должен быть список словарей для каждого языка с одинаковыми ключами, из которых мы и будем получать локализованные значения. С технической стороны нужно определить:
При реализации я руководствовался двумя принципами: простота и удобство. Итак, самый простой структурированный формат, который подойдет для словарей — CSV (Comma Separated Values). Это текстовый файл, в котором все ячейки разделены разделителем — либо запятой (","), либо точкой с запятой (";"), в зависимости от региональных настроек. CSV можно открыть и редактировать в любом текстовом редакторе, но лучше всего для этого подойдет Excel. Храниться CSV будут, конечно же, в папке Resources, чтобы приложение в любой момент могло прочитать их.
Формат будет следующий: первая колонка — ключи, все последующие колонки — словари. Первая строка — заголовок. Можно иметь один общий CSV, если текстов в приложении немного, а можно разбить на несколько CSV по какому-либо принципу, например: меню, настройки, достижения и т.д.
Идем дальше. Редактирование локализации в Excel, это, конечно, здорово, но я предлагаю загрузить их в Google Sheets. Тогда редактировать их можно будет из любого места, в любое время и с любого устройства. Но самое главное — локализацию можно будет расшарить переводчикам, и у них не будет никаких сложностей с переводом. Посмотреть на словарь можно по ссылке [1].
И последний пункт — интеграция с Unity, с uGUI. Тут тоже все просто — на каждый текстовый компонент Text добавим свой компонент LocalizedText, в котором укажем ключ. При запуске этот компонент получит локализованное значение и установит его в Text.
Дальше возникает несколько вопросов:
Ну и последняя плюшка в моем ассете — он умеет автоматически скачивать все листы из Google Sheets и сохранять их в ресурсах игры. Для этого есть компонент LocalizationSync, у которого есть кнопка Sync (в инспекторе).
Скачать можно в Asset Store: Simple Localization [2].
Автор: Олег Мекекечко
Источник [3]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/unity3d/286678
Ссылки в тексте:
[1] ссылке: https://docs.google.com/spreadsheets/d/1RvKY3VE_y5FPhEECCa5dv4F7REJ7rBtGzQg9Z_B_DE4
[2] Simple Localization: https://assetstore.unity.com/packages/tools/gui/simple-localization-by-hippo-120113
[3] Источник: https://habr.com/post/417675/?utm_source=habrahabr&utm_medium=rss&utm_campaign=417675
Нажмите здесь для печати.