Translate your Mod
You can translate your mod using the Crowdin service. This service allows you to manage translations for your mod in a single place. You can then download the translations and include them in your mod.
Prerequisites
Before you can start translating your mod, you need to create an account on Crowdin. You can create an account on the Crowdin website.
Getting an API key
To use the Crowdin service, you need to have an API key.
You can find this key in your Crowdin account settings, and then select the API tab.
Keep your API key safe and do not share it with anyone!
Getting a project id
To use the Crowdin service, you need to have a project id.
You can find it on your project page, on the right hand side, under Details.
Configuring Tableau
To enable the crowdin module in Tableau, you need to add the following configuration to your build file:
- Groovy
- Kotlin
tableau {
crowdin {
projectId = 123456 // Modify this to your project id
}
}
tableau {
crowdin {
projectId.set(123456) // Modify this to your project id
}
}
This is enough configuration of the project to get started with translating your mod using Crowdin.
To trigger uploading to Crowdin, you need to set the CROWDIN_API_KEY environment variable, with your API key as value
Control the source branches
Filtering on which branches to upload to Crowdin is possible by setting the onlyUploadOnBranchMatching property in the crowdin block:
- Groovy
- Kotlin
tableau {
crowdin {
onlyUploadOnBranchMatching = "master|develop" // Only upload to Crowdin when the branch name matches this regex
}
}
tableau {
crowdin {
onlyUploadOnBranchMatching.set("master|develop") // Only upload to Crowdin when the branch name matches this regex
}
}
In the example above you will only upload to Crowdin when the branch name matches master or develop.
Control the build branches
Filtering on which branches to build new Crowdin releases is possible by setting the onlyBuildOnBranchMatching property in the crowdin block:
- Groovy
- Kotlin
tableau {
crowdin {
onlyBuildOnBranchMatching = "master|develop" // Only build a new release when the branch name matches this regex
}
}
tableau {
crowdin {
onlyBuildOnBranchMatching.set("master|develop") // Only build a new release when the branch name matches this regex
}
}
In the example above you will only build a new release when the branch name matches master or develop.
Approved translations
By default, Tableau will include all translations in the Crowdin project.
When you want to include only approved translations, you can set the exportApprovedOnly property in the crowdin block:
- Groovy
- Kotlin
tableau {
crowdin {
exportApprovedOnly = true // Only export approved translations
}
}
tableau {
crowdin {
exportApprovedOnly.set(true) // Only export approved translations
}
}
In the example above, only approved translations will be included in the mod.
Skipping untranslated files
By default, Tableau will include all translations in the Crowdin project.
When you want to skip untranslated files, you can set the skipUntranslatedFiles property in the crowdin block:
- Groovy
- Kotlin
tableau {
crowdin {
skipUntranslatedFiles = true // Skip untranslated files
}
}
tableau {
crowdin {
skipUntranslatedFiles.set(true) // Skip untranslated files
}
}
In the example above, untranslated files will be skipped.
Skipping untranslated entries
By default, Tableau will include all translations in the Crowdin project.
When you want to skip untranslated entries, you can set the skipUntranslatedEntries property in the crowdin block:
- Groovy
- Kotlin
tableau {
crowdin {
skipUntranslatedEntries = true // Skip untranslated entries
}
}
tableau {
crowdin {
skipUntranslatedEntries.set(true) // Skip untranslated entries
}
}