170 lines
6.2 KiB
Plaintext
170 lines
6.2 KiB
Plaintext
__________________________ Localization of DeSmuME _____________________________
|
|
|
|
Users and translators:
|
|
1) Supported UIs
|
|
2) Starting a new translation
|
|
3) Editors
|
|
4) Contact Us
|
|
|
|
Developpers:
|
|
5) Creating translation friendly strings (gtk-glade)
|
|
6) Updating the template (gtk-glade)
|
|
7) Integrating new translations
|
|
|
|
|
|
1 Supported UIs ________________________________________________________________
|
|
|
|
Although there are 4 UIs, only 3 currently support localization:
|
|
windows, gtk-glade, and Cocoa (Mac OS X).
|
|
|
|
To translate DeSmuME, see "Starting a new translation" below.
|
|
|
|
If you have created a new translation, or improved an existing one, please
|
|
send us your translation by getting in touch with us: see "Contact Us" below.
|
|
|
|
1.1 gtk-glade UI _____________________________________________________________
|
|
|
|
Localization is done with gettext. gettext uses po files.
|
|
The po files are located in the po/ folder.
|
|
Note that there is one po file per language.
|
|
|
|
To use the available translations, set up your environment properly.
|
|
e.g. under GNU/Linux you can verify that the value of your LANG variable.
|
|
|
|
1.2 Windows UI ______________________________________________________________
|
|
|
|
Localization is located in one single file: src/windows/resources.rc .
|
|
|
|
1.3 Mac OS X (Cocoa) UI _____________________________________________________
|
|
|
|
Localization files are located within the application bundle (in Finder right
|
|
click on DeSmuME and select "Show Package Contents"). Within the
|
|
Contents/Resources folder there is a folder for each localization.
|
|
|
|
2 Starting a new translation ___________________________________________________
|
|
|
|
2.1 gtk-glade UI _____________________________________________________________
|
|
|
|
Grab a copy of po/desmume.pot and rename it.
|
|
You can use the two letter iso code of the language as the filename
|
|
e.g. fr.po
|
|
or you can specify the country code as well
|
|
e.g. fr_CA.po
|
|
|
|
Open the newly created file with an editor: see "Editors" below.
|
|
Translate the strings.
|
|
|
|
2.2 Windows UI _______________________________________________________________
|
|
|
|
Grab a copy of src/windows/resources.rc .
|
|
Create a section for your language by looking at another language e.g. french.
|
|
Translate the strings.
|
|
|
|
2.3 Max OS X (Cocoa) UI ______________________________________________________
|
|
|
|
Copy and paste one of the localization folders mentioned in 1.3.
|
|
Rename the part before ".lproj" to the language of the translation.
|
|
Within your newly created folder edit "Localizable.strings".
|
|
|
|
The MainMenu.nib opaque folder also contains localization of the Application
|
|
menu, however since this is a standard menu in Mac OS X, for most languages
|
|
standard strings can be generated by Apple's Interface Builder.
|
|
|
|
The strings file should stay in UTF-16 encoding (UTF-8 or others may work,
|
|
but UTF-16 is preferred).
|
|
|
|
If your strings file has an error, no translated strings will show in DeSmuME.
|
|
|
|
Debugging the string file:
|
|
If you have Mac OS X developer tools installed, from the console you can type
|
|
"plutil FILE", replacing FILE with the name and path of the string file, and
|
|
it will tell you if there are any errors (and on what line).
|
|
|
|
3 Editors ______________________________________________________________________
|
|
|
|
You can use plain text editors but there are many po file editors.
|
|
Here are some recommanded po editors, in no particular order.
|
|
|
|
3.1 GNU/Linux ________________________________________________________________
|
|
|
|
- gtranslator: http://gtranslator.sourceforge.net/
|
|
- KBabel: http://kbabel.kde.org/
|
|
|
|
3.2 OSX ______________________________________________________________________
|
|
|
|
- LocFactory Editor:
|
|
http://www.triplespin.com/en/products/locfactoryeditor.html
|
|
|
|
3.3 All platforms ____________________________________________________________
|
|
|
|
- poEdit: http://www.poedit.net/
|
|
- OmegaT: http://www.omegat.org/omegat/omegat.html
|
|
- GNUEmacs/XEmacs/AquaEmacs with po-mode
|
|
- Vim with PO ftplugin
|
|
- Eclipse with gted
|
|
|
|
|
|
4 Contact Us ___________________________________________________________________
|
|
|
|
As there isn't many translations so far, we're still asking you to get in touch
|
|
via the forum located at http://forums.desmume.org/ .
|
|
|
|
You can upload your translation files to your favorite sharing site and paste
|
|
the link in a post under General.
|
|
|
|
|
|
5 Creating translation friendly strings (gtk-glade) ____________________________
|
|
|
|
5.1 In the code ______________________________________________________________
|
|
|
|
Make sure libintl.h is included and that _() is defined.
|
|
e.g. see src/gtk-glade/globals.h
|
|
Add the filename to po/POTFILES.in if it's not already there.
|
|
|
|
Where you would use "my text", use _("my text").
|
|
For long strings, for translators' sanity, please do something like:
|
|
|
|
printf( _(" This is a\n\
|
|
very long text\n") );
|
|
|
|
5.2 Glade interface __________________________________________________________
|
|
|
|
You have nothing special to do aside from adding the filename to
|
|
po/POTFILES.in.
|
|
|
|
|
|
6 Updating the template (gtk-glade) ____________________________________________
|
|
|
|
To update po/desmume.pot, move to the po/ folder and execute "make update-po".
|
|
|
|
|
|
7 Integrating new translations
|
|
|
|
7.1 gtk-glade UI _____________________________________________________________
|
|
|
|
Add the new po file to po/ .
|
|
Add the new language to ALL_LINGUAS in configure.ac .
|
|
Regenerated the build files (./autogen.sh) and rebuild (./configure && make).
|
|
You can also add the language to po/LINGUAS (it's a convention? it has no effect).
|
|
|
|
7.2 Windows UI _______________________________________________________________
|
|
|
|
Update the src/windows/resource.rc .
|
|
Add the new language to to the list in src/windows/resource.h .
|
|
Rebuild.
|
|
|
|
7.3 Max OS X (Cocoa) UI ______________________________________________________________
|
|
|
|
After following the steps in 2.3, your translation is ready to go.
|
|
You can set the DeSmuME language one of three ways:
|
|
|
|
1) Set the system language (System Preferences -> International).
|
|
|
|
2) Right click on DeSmuME in Finder, select Get Info and disable the other translations.
|
|
|
|
3) From a command line, run the following line after replacing LANG with the language:
|
|
|
|
DeSmuME.app/Contents/MacOS/DeSmuME -AppleLanguages '<array><string>LANG</string></array>'
|
|
|
|
All of these methods require a restart of DeSmuME.
|