Crowdin - очень хорошая платформа для получения переводов. К счастью для нас, пользователь создал https://github.com/gbl/CrowdinTranslate/tree/master/библиотеку с открытым кодом, которую вы можете использовать в своем моде, чтобы получать переводы из Crowdin и применять их при запуске игры.
Прежде всего, создайте или войдите в свою учетную запись Crowdin и создайте или перейдите к своему проекту.
Если у вас есть сообщество в Crowdin, отлично! Если нет, вы все равно можете бесплатно использовать Crowdin (до 15000 строк) или, если ваш проект с открытым исходным кодом, вы можете подать заявку на бесплатное открытое сообщество.
Обратите внимание на следующее внизу:
Установите для вашего основного языка язык, на котором находится ваш языковой файл. Если ваш основной языковой файл en_us.json
, установите для него значение English, United States
Теперь, как только вы выбрали нужные языки, вы можете загрузить свой основной файл.
Начните внедрять его в свой мод, добавив репозиторий maven в файл build.gradle
:
repositories { maven { url = "https://minecraft.guntram.de/maven/" } }
Теперь добавьте необходимые modImplementation
и include
к вашим зависимостям:
modImplementation "de.guntram.mcmod:crowdin-translate:1.2" include "de.guntram.mcmod:crowdin-translate:1.2"
Теперь вы можете добавить следующий метод в свой ClientModInitializer
, заменив projectname
именем вашего проекта Crowdin, а modid
- идентификатором вашего мода:
CrowdinTranslate.downloadTranslations("projectname", "modid");
Теперь, при запуске игры, вы можете увидеть, что переводы будут загружены с Crowdin и применены к вашему моду.
Вопрос: Ничего не загружается/Библиотека сообщает, что файл не существует!
Ответ: Обязательно нажмите “Build Project” в настройках проекта Crowdin. Вы должны собирать свой проект каждый раз, когда хотите обновлять игровые переводы игрока.
Вопрос: Загруженные файлы находятся в неправильном формате!/Они отображаются как es_ES.json
вместо формата нижнего регистра!
Ответ: Убедитесь, что вы настроили свой основной файл в формате нижнего регистра, так как он не будет работать в формате lowerUpper.