-
Notifications
You must be signed in to change notification settings - Fork 7
Translation
UtaMacross was initially only available in japanese. Since we can modify the game in UMO, a translation is being worked on.
The project use Weblate as a community tool so everyone can help. The tool is available here : https://umo-translate.xele.org/ .
You can browse the project without an account, but if you want to help to translate, you'll need to create one.
There is currently a few language available. If you want to translate in another language, join the UMO discord and ask there so we can add it.
Texts are separated in multiple sub projects.
- Code/stringliterals : This are texts which were directly set in the code. Usually nothing very important.
- Database : All those sub projects are the important texts of the game. The name are usually self explaining.
- Assets : Those are the texts that are directly set in images. There is a screenshot of the original image in-game. Be sure to check it because the japanese source can be wrong. These texts will then be reconverted to image.
Most of the string are used in limited space (button, dialog boxes, ...).
One type of configured check on some string is pixel size check. Those strings will preview the saved string in the "Things to check" box. You can use it to see how it should render in the game without testing. Be aware that the render is not exact, the box can be a little smaller than the real one in game. For texts which need to use the maximum available space, prefer checking in game and add a comment saying it was checked in game even if weblate set a warning.
Some string will have some text like that {0}, {1}, ... called variables. Those will be replaced in-game by real values. You need to have the same variables in your translation. Missing one break the game when it will try to display the string. Weblate will display a warning if one is missing.
Check this page for detailed information on some specific strings.
You can add plural information when a variable is in a string using this format :
there is {0}{0:plural:word|words}.
if the variable {0} is 0 or 1, it will write "there is 0 word", if more "there is X words".
The format is :
{variable_number:plural:one|other}
You can use {} to write the variable in the plural part. It is usefull when the number is in the middle of the plural part.
there is {0:plural:{} word|{} words}
More info about the syntaxe : https://github.com/axuno/SmartFormat/wiki/v2-Pluralization / https://docs.unity3d.com/Packages/[email protected]/manual/Smart/Plural-Formatter.html .
For some language, there is more than the one/other pair. You can check what you need to set on this page : https://www.unicode.org/cldr/cldr-aux/charts/29/supplemental/language_plural_rules.html .
English and french only have to set one|other.
Be aware than the string should be marked in the code to pass through the code to apply the plural. String that are correctly done ine the code have the "use_plural" flag in weblate. If it don't work, it's probably because I didn't change it, so add the flag "require_plural" in weblate so I know I need to update the code.
Instead of waiting a release to test your translation, you can use the files directly :
- Get the archive from the translation git here : https://github.com/Xele02/UMO-translation/archive/refs/heads/weblate.zip
- Extract the zip file.
- On weblate :
- Go in the project/language where you have made modification. (ie UMO/Code/StringLiterals/English
- Select File > Download translation. This will download file .po file.
- Take the downloaded file and move it in the extracted directory, overriding the original corresponding of your language. You'll need to rename it so the name is the same.
- On PC or on your phone, go into the save directory (check https://docs.unity3d.com/ScriptReference/Application-persistentDataPath.html to find the one for your system. UMO directory name is UtaMacross on pc, or com.UtaMacrossOffline.UtaMacrossOffline on android)
- In the directory where you have prefs.json, data, ... , create a directory Localization .
- Copy inside it the directories extracted before :
- Launch the game. In the UMO Options, check the option : "Debug : Use local translation files". Then launch the game like always. Don't forget to disable the option when you're done.
The files are only loaded when the application start. If you change them, you'll need to restart the game.
WIP, this will be explained later.