Localize

From kJams Wiki
Jump to navigation Jump to search

When localizing kJams you must use a text editor where you have explicit control over text encoding. I've tried to use BBEdit (TextWrangler) but the last time I tried, it did not handle things correctly. The only one I know that really works well is Xcode itself. So for now if you're on a Mac, use Xcode, which you can download here. If you're on windows, then please find a text editor that can handle multiple text encoding styles, the most important ones being UTF-8 and UTF-16. When you open the strings file, be sure it is interpreted as UTF8. If you do not know what that means, then don't do anything until you have researched it and know EXACTLY what it means.

There are four strings files:

CrashReport.strings
Dialogs.strings
Localizable.strings
Menus.strings

Each string file is currently translated by these languages:

English.lproj
French.lproj
German.lproj
Italian.lproj
Japanese.lproj
Korean.lproj
Portuguese.lproj
Spanish.lproj

These langage folders are found within the application bundle at this path:

Contents/Resources/

On the mac, just right-click on the application and pick "Show Package Contents", on windows it's just a folder anyway (the ".app" folder), so just dive in. Either way you'll now see the "Contents" folder, then the "Resources" folder, then bunches of stuff including the ".lproj" language folders.

If you're adding a new language, then take the "English.lproj" folder and duplicate it, then rename the folder to have your language name.

If you come across a string that could be translated in more than one way, please DO NOT make a guess, please write to me to glean my original intent and i will clarify.

The most important file to do is "Menus.strings", as this is the first thing the user will see, the menus. It is a relatively small file, and will give you immediate results. The next most important file to translate would be "Dialogs.strings", which is also relatively small. After that, get ready to bite the big bullet, because "Localizable.strings" is a very large file and it will take some time. Lastly you can do the "CrashReport.strings".