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
}
}