Translation

Links

Localization Management Spreadsheet: https://docs.google.com/spreadsheets/d/1-3pcAfOOaY9bWoV8aCOZfrVpYBUfp63k0cKpdKBG5jI/edit?usp=sharing

Localization Bugtracking Spreadsheet: https://docs.google.com/spreadsheets/d/1TdNlcOVSyuLayQzRvaz3f_jgvpo1GweiHrTak4Ujv_A/edit?usp=sharing

ESP-ESM Translator: https://www.nexusmods.com/skyrimspecialedition/mods/921?

Translator Build

The Translator Build is basically the Skywind build with just the files relevant to translation. The Translator Build link is updated every few Skywind builds in a while. I'll notify you in #translation_coordination when I'll do so.

Migrating your translation every new Translator Build is not compulsory. Just make sure to be lined up with the Skywind build when translation is finished. Also, please take a look at the Localization Management file and fill up a row on the Contributors sheet with your information. In Contributors, your row under the Current Build column specifies the build you're translating on. Please pay major attention to this field and update it whenever you migrate build, as it will save us a lot of time in case of multiple translators having to merge different versions of the same language.

The Projects sheet contains further details, like translation status for each language. I invite you to update any other relevant field as needed, expecially if they're missing information (marked with "-").

For translation, I strongly recommend ESP-ESM Translator, but feel free to use any other software.

Remember to open ESMs/ESPs using UTF-8 (Skyrim Special Edition codepage) Windows-1252 when under ESP-ESM Translator, or other software that asks for it. Otherwise, you'll get corrupted special characters.

Localized Plugins

For some reason ESP-ESM Translator does not correctly write back strings into the SkyWind.esm, which it must be the reason the issue appeared. So I decided to try another route, and create a localized Skywind ESM with strings, taking a cue from a very helpful guide by SureAI, that used the a similar technique for its Enderal total conversion. (Source: https://en.wiki.sureai.net/Enderal:Localization)

Other than fixing the infamous worldspace bug, using a localized plugin instead of the usual plugin overwrite method allows for full savegame compatibility and dynamic locale swap via Skyrim.ini (provided, of course, that all files are present).

It only presents a minor drawback: when Skywind will be released, in order to support multiple languages, core plugins (i.e. SkyWind.esm, SkyWind - Patch.esp) will have to be converted into localized ESMs/ESPs. Fortunately, the procedure is rather easy.

The following steps will have to be repeated for all Skywind core plugins:

Prepare files for the end user

  1. Install TES5Edit: https://www.nexusmods.com/skyrim/mods/25859/
  2. Backup your plugin. We'll call it a delocalized plugin.
  3. Open TES5Edit and tick the plugin you wish to localize in the TES5Edit plugin window. Load it and wait for it to finish.
  4. Right-click on the file in the table on the left. Go to Other > Localization > Localize Plugin and confirm. Wait for it to finish.
  5. Confirm to save it and wait again.

You will now have your plugin's _English strings in the Strings subfolder and a localized plugin compatible with any locale. Use the localized plugin with the strings to run the game and distribute it. The delocalized plugin (i.e. the backup) is needed by translators as a resource. It is important that both files are kept safe in order to create strings for other locales later, as delocalizing already localized plugins will mismatch IDs and texts.

Further steps for translators only

  1. You should have received the delocalized plugin in order to create your own language strings. Open the delocalized plugin in ESP-ESM Translator and apply the translation from your Skywind database.
  2. Validate strings and create a new plugin translated into your language. If you're translating scripts too, you'll have to save them as loose files, since strings do not store debug.notification and debug.messagebox script functions.
  3. Open TES5Edit and tick the file just created in the TES5Edit plugin window. Load it and wait for it to finish.
  4. Right-click on the file in the table on the left. Go to Other > Localization > Localize Plugin and confirm. Wait for it to finish. Confirm to save it and wait again.
  5. Rename your new strings from NameOfTheDelocalizedPlugin_English.STRINGS to NameOfTheLocalizedPlugin_YourLanguage.STRINGS.

You will now have your plugin's _YourLanguage strings in your Strings subfolder as well. You can delete the extra copy you'll now have of the localized plugin. Remember to use the localized plugin to run the game. Keep safe the delocalized plugin for applying changes in the future. Distribute the new localized strings.

To properly set up non-English versions of Skywind

  1. Remember to have set sLanguage=YourLanguage in \Documents\My Games\Skyrim\Skyrim.ini. If your translation language is not one of the official Skyrim supported ones, you can set sLanguage=ENGLISH and rename your strings to _English. Otherwise the game will crash on start-up.
  2. Make sure to have _YourLanguage.txt equivalent for each _English.txt in your \Data\Interface directory and its subdirectories, most notably Translate_ENGLISH.txt, translations\Skywind_ENGLISH.txt and translations\uiextensions_english.txt.