Unity integration language mapping

Hello there!

I am getting “File scheme is outdated, as it doesn’t contain some of the project target languages”

I have generated the missing languages in Unity and pushed the strings but this issue still persists.

Latvian (lv) language exists in my tables but when I pull the translations nothing shows.

So far only Russian language worked properly.

Also issue with zh-Hant and zh-TW. Unfortunately crowdin doesn’t have zh-Hant so how can I map this properly? I generated zh-TW in Unity and pushed but it still did not solve the issue.

Hello @realradrunner,

The Crowdin Unity plugin requires a perfect match between the language codes in your Unity Localization Tables and the Target Languages in your Crowdin project.

  • File Scheme Outdated: This error means the “Source” file in Crowdin hasn’t been updated to include the new language columns you created in Unity. To fix this, you must Push your strings from Unity to Crowdin first. This “refreshes” the scheme so Crowdin knows where to put the Latvian and Chinese translations.

  • Latvian (lv) Pulling Nothing: If the codes match but no text appears, check your Export Settings in Crowdin. If “Skip untranslated strings” is enabled, Crowdin will not export any data for that language until the strings are actually translated in the Crowdin Editor.

While Crowdin supports the zh-TW code directly, Unity might be looking for a different format or sub-code. You can resolve this by setting up a custom mapping to ensure they align perfectly.

How to configure mapping:

  1. Go to Project Settings > Languages in your Crowdin project.
  2. Find the Add custom language codes section.
  3. Select Traditional Chinese (zh-TW).
  4. You can define a custom code using the locale placeholder to match exactly what Unity expects (e.g., matching zh-TW to zh-Hant or vice versa depending on your Unity table codes).

Recommended Steps

  1. Push from Unity: This updates the file scheme in Crowdin to include your new languages.
  2. Verify Translations: Open the Crowdin Editor and ensure the Latvian and Chinese columns have translated text.
  3. Pull to Unity: Once the schemes match and translations exist, the Pull command will populate your tables.

For further technical details on configuration, please refer to our documentation:

Best regards,

Hello @Viacheslav

Thank you so much for providing help! I did all the steps you mentioned and Latvian language is now pulled succcessfully.

I don’t see the “File scheme is outdated, as it doesn’t contain some of the project target languages” error anymore. So it’s safe to assume the source files are good now!

I have also added a custom language mapping for Chinese Traditional as you suggested.

I selected Chinese Traditional as language, Locale as placeholder and set the custom code to zh-Hant. When I pulled the strings in Unity strangely they were all pulled to Chinese Simplified (zh).

I see these outputs in the console:

Table language (Chinese (Simplified)(zh)) → Crowdin language (zh-TW)

Table language (Chinese (Traditional)(zh-Hant)) → Crowdin language (zh-Hant)

Have I done something wrong?

Hi @realradrunner , could you please also set the custom language mapping to Chinese Simplified as the locale and try again?