
Quests Lang Splitter
Активный0.0
Установок
Последнее обновление
Quests Lang Splitter
Введение
Этот мод предоставляет функционал для разделения языковых файлов, что упрощает контроль версий, а также добавляет несколько полезных команд для работы с локализацией.
Возможности
Команды
split - разделяет языковой файл на отдельные категории. Для квестов, заданий и связей между квестами группировка осуществляется по главам.
lang/
├─ en_us/
│ ├─ chapters/
│ │ ├─ chapter1.snbt # Содержит идентификаторы квестов, заданий и связей
│ │ ├─ chapter2.snbt
│ │ └─ chapter3.snbt
│ ├─ chapter.snbt # Названия глав
│ ├─ chapter_group.snbt # Названия групп глав
│ ├─ file.snbt # Название книги квестов
│ └─ reward_table.snbt # Названия таблиц наград
└─ en_us.snbt # Исходный файл, обновляется из разделенных файлов при загрузке/перезагрузке
replace_unmerged: логическое значение (обычно используйте false, если не хотите перезаписывать ранее созданные и не объединенные разделенные файлы)
locale: код локали (например: pt_br, zh_ch, ko_kr)
/langsplitter split <replace_unmerged> [<locale>]
# Если не указать локаль, будут разделены все доступные языковые файлы
fill_missing_translation - заполняет отсутствующие языковые записи на основе локали en_us и выполняет разделение.
Примечание: В файле debug.log можно проверить все добавленные новые записи.
/langsplitter fill_missing_translation <replace_unmerged> <locale>
purge_merged - при загрузке или перезагрузке квестов, если есть доступные разделенные файлы для чтения, они объединяются в исходный файл и затем переименовываются в .snbt_merged. Эта команда позволяет очистить их из папки, если они мешают.
/langsplitter purge_merged
Использование
Настройка .gitignore:
# FTB Quests Lang Splitter
# игнорировать исходные языковые файлы, такие как en_us.snbt
config/ftbquests/quests/lang/.snbt
# игнорировать файлы восстановления
config/ftbquests/quests/lang/recovery/.snbt
# игнорировать уже объединенные файлы
config/ftbquests/quests/lang/*/.snbt_merged
Для переводчиков:
- Начните с команды
fill_missing_translation
для генерации файлов со всеми записями - Переведите необходимые элементы
- Выполните
/ftbquests reload
для объединения изменений - Теперь ваши файлы будут переименованы в .snbt_merged
- Для дальнейших изменений можно:
- Снова выполнить команду
split
для генерации файла - Или отредактировать файлы с расширением
.snbt_merged
и после завершения переименовать обратно в.snbt
- Затем снова перезагрузить для объединения новых изменений
- Если все готово для коммита, выполните
split
в последний раз и создайте PR с соответствующими файлами
Для сопровождающих:
- Обновите .gitignore в вашем репозитории
- Теперь папка /lang/ должна содержать только папки локалей, а не файлы
- Для создания начальных файлов выполните команду
split
и закоммитьте файлы - После настройки папок можно удалить исходные файлы локалей .snbt (теперь они генерируются автоматически при объединении из разделенных файлов во время выполнения)
- В дальнейшем принимайте только PR/коммиты из разделенных файлов
О папке recovery:
- При объединении файлов, когда они заменяют существующую запись (например, при повторном переводе записи), будет создана резервная копия этой записи в папке
recovery
- Будет сгенерирован файл с именем вида
enus<timestamp>.snbt
(например:en_us_1755120819.snbt
)