Difference between revisions of "Enderal:Localization"

From sureai
Jump to: navigation, search
(Advantages and Disadvantages of Strings)
(Translating the Strings)
Line 56: Line 56:
  
 
==='''Translating the Strings'''===
 
==='''Translating the Strings'''===
 +
 +
Once you have the base Strings and the localized .esm you need another tool to actually translate them - for this you should use the Fallout4Translator from [http://www.nexusmods.com/fallout4/mods/215/? here]. One may ask why you should not use the [http://www.nexusmods.com/skyrim/mods/29148/? TESVTranslator] - very simple, the FO4Translator is the next version of the TESVTranslator with far more features and also a bit easier to use.
 +
 +
When you open the Translator for the first time, it will ask you for a workspace - for this you need to point it to a folder with the .esm you want to translate. Important: If you want to translate an .esm in Hybrid-mode with String files, you need those in a separate folder named Strings right next to the .esm.
 +
 +
The Translator has several ways how you can translate files/mods:
 +
 +
*'''.esm/.esp mode''' - this is a direct translation
 +
*'''Strings mode''' - by just loading the Strings you can directly translate them, though I always recommend the third mode
 +
*'''Hybrid mode''' - by loading a localized .esm/.esp while having the corresponding String files in a folder named Strings next to it
 +
*'''MCM mode''' - with this you can translate the MCM menues if a mod has those (Enderal doesn't use it but there are many mods that do)
 +
*'''pex mode''' - experimental and still not fully implemented, but it allows you to load Papyrus .pex files if you want to directly translate them
 +
 +
Only the first 3 modes are usable for Enderal (you should not use the pex translation as you can easily kill Enderal if you do not know your way with scripts). I recommend the Hybrid translation because it unites the advantages of both the String and the .esm modes.
 +
 +
When directly loading an unlocalized .esm you can see the EDID, which is the name SureAI has given to each text internally, e. g.
 +
[[File:Translator1.PNG]]
 +
 +
As you can also search for the EDID (and in newer versions even the type, so e. g. MESG ITXT or MESG FULL)

Revision as of 16:37, 23 August 2016

In The Elder Scrolls V: Skyrim Bethesda introduced a new way to localize their Master (.esm) and Slave/Plug-In (.esp) files - the so-called Strings.

This page is aimed at people or teams who want to translate Enderal into another language and want to learn about this new and more comfortable way to do so.


Strings

Strings are basically a sort of database which tell the Masters/Plug-Ins which text is displayed ingame (this text can be anything - from item names, to perks or messages or even the subtitles).

There are three types of Strings: .Strings, .DLStrings and .ILStrings, what these 3 different type encompass is something you will learn while using the translator, important for now is just that you always need those 3 files for any localized modification.

Of course just having Strings is not enough, you need to tweak your .esm or .esp so that it actually uses them. In the past you had to do that manually for each single text in your modification with a certain Hex-ID index linked to each such text.

Nowadays TesVEdit takes over that job, but more to that later.

Advantages and Disadvantages of Strings

This is an important point, after all you can also manually translate every single text in the .esm and release it like that.


Advantages:

  • Easy to use
  • Easy to edit
  • Savegame Compability

The first advantage is that you do not need any knowledge in the CK to translate a modification with Strings and that you cannot accidentally destroy the mod by messing with the scripts or names. Also you can move the Strings and the esm easily to another PC and translate them there, without having to use the CK (for which you need all of the Skyrim files).

The second advantage is the savegame compability between mods in different languages if you are using Strings. As the actual values in the esm do not change (the Strings only replace the displayed text, remember) savegames are 100% compatible between the EV, the DV (as it is the base) and any other language in which you translate Enderal by using Strings.


Disadvantages:

  • debug.notification and debug.messagebox are not taken into your Strings
  • Changes in the original .esm will reset the translated text

The first disadvantage currently hurts the experience with the EV, though we are fixing them as fast as possible - once we are done that disadvantage becomes moot. The second one is something you will also experience with a direct translation but it has to be said nonetheless.

Localizing the Masterfile

You can skip this entire point if you are using the EV Master and its Strings for your translation.


If you want to use Strings, you will first need the base Strings from which you are translating. To get them and at the same time also enable the Masterfile to use Strings you need to localize that Masterfile.

To do so you take the Skyrim.esm, copy it and paste it again into your Data folder. Usually it will then get a name like Copy - Skyrim.esm. This is an important step as the program you will use to localize the .esm cannot localize the first Masterfile loaded in it.

The programm you need to localize the .esm is called TES5Edit and you can download it from here

Once you have it on your PC start it and load both the Skyrim.esm and the Copy - Skyrim.esm (or whatever you have called it). When it is finished right click on the Copy - Skyrim.esm and then go to Other -> Localization -> Localize Plugin. If it asks you to confirm the localization hit Yes and it will generate the String files (this will take at least one minute, do not worry if it seems that TES5Edit stopped working, it actually still does its job so just leave it alone) - once it is finished it asks you if you want to save the files, hit yes again and upon saving the files TES5Edit will close itself.

Now you have the base Strings and a localized masterfile - as you used the Copy - Skyrim.esm for generating the Strings they will be named appropriately.

Important: Only your Copy - Skyrim.esm is localized, the original Skyrim.esm is NOT. What you do now is to backup the old Skyrim.esm, then erase it from the Data folder and rename the Copy - Skyrim.esm to Skyrim.esm and do the same with the Strings so that they match the renamed Masterfile.

Translating the Strings

Once you have the base Strings and the localized .esm you need another tool to actually translate them - for this you should use the Fallout4Translator from here. One may ask why you should not use the TESVTranslator - very simple, the FO4Translator is the next version of the TESVTranslator with far more features and also a bit easier to use.

When you open the Translator for the first time, it will ask you for a workspace - for this you need to point it to a folder with the .esm you want to translate. Important: If you want to translate an .esm in Hybrid-mode with String files, you need those in a separate folder named Strings right next to the .esm.

The Translator has several ways how you can translate files/mods:

  • .esm/.esp mode - this is a direct translation
  • Strings mode - by just loading the Strings you can directly translate them, though I always recommend the third mode
  • Hybrid mode - by loading a localized .esm/.esp while having the corresponding String files in a folder named Strings next to it
  • MCM mode - with this you can translate the MCM menues if a mod has those (Enderal doesn't use it but there are many mods that do)
  • pex mode - experimental and still not fully implemented, but it allows you to load Papyrus .pex files if you want to directly translate them

Only the first 3 modes are usable for Enderal (you should not use the pex translation as you can easily kill Enderal if you do not know your way with scripts). I recommend the Hybrid translation because it unites the advantages of both the String and the .esm modes.

When directly loading an unlocalized .esm you can see the EDID, which is the name SureAI has given to each text internally, e. g. Translator1.PNG

As you can also search for the EDID (and in newer versions even the type, so e. g. MESG ITXT or MESG FULL)