Table of Contents
|Basque||eu||Xabier Aramendi (Azpidatziak)|
|Catalan||ca||Eduard Ereza Martínez|
|Chinese (Simple)||zh_CN||Ben Tsui|
|Chinese (Traditonal)||zh_TW||Ben Tsui|
|Danish||da||Niels Martin Hansen|
|Dutch||nl||Thomas De Rocker|
|Portuguese (Brazilian)||pt_BR||Rodrigo Monteiro|
|Vietnamese||vi||NGUYỄN Mạnh Hùng|
These are languages we are currently in search of, of course if you want to submit a language that is not listed here you are more than welcome to!
Before reading this, please ensure there are NO FUZZY TRANSLATIONS. These are almost always wrong, so please do not submit a translation with any of these active!
What Do I need?
- A copy of Aegisub 3.0.
- The string template file: https://github.com/Aegisub/Aegisub/raw/master/aegisub/po/aegisub.pot
- Poedit: http://www.poedit.net/
How To Translate
Assuming you are using poEdit, follow these steps:
- Download the most recent .pot file
- Go to file->new catalog from POT
- Pick the .pot file and fill in details needed
- Translate all the strings (I recommend you to go to File->Preferences, Edit, and check "always change focus to text input field". That way, you can just hit ctrl+down to go to next line to be translated, without using mouse)
- The & character, when present, indicates that this character must be underlined on the UI and is also an accelerator (Alt-shortcut). On most languages, it should just underline an appropriate character on the string, usually the first. On some languages, such as Japanese, the accelerator is usually the english accelerator put between parenthesis after the text, like on "はい（&Y）" ("yes (&Y)"). Make sure there are no accelerator conflicts.
- The %s token is replaced by a string on runtime. %d, %u and %i by an integer. %f and %g by a floating-point number. %% by the % sign itself. The syntax is the same as on the C printf function. There can be some modifiers to them, like %02d pads an integer with 0s to make it at least two-digit wide. All %-codes are independent, so there is no need to worry about anything around them. "%string" for example works, replacing the %s and keeping the "tring". NOTE: do NOT omit or add more of those (%% is fine though). If you need to change their order, add a positional specifier immediately after the % to all of the format specifiers in the string. For example, to swap the string and number in "%d: %s", do "%2$s: %1$d".
- When you save, it will auto-generate a .mo file
- When you are done, make sure that your file is called aegisub.mo. Other filenames will NOT be recognized.
- Put aegisub.mo on: AEGISUBFOLDER\locale\LANGCODE\aegisub.mo
- If you're translating to e.g. portuguese, and your aegisub is on c:\Program Files\Aegisub, you will put your translation file on c:\Program Files\Aegisub\locale\pt\aegisub.mo
Testing Your Translation
With the localization files properly deployed, go to View -> Language, then pick the language there. If it's not listed, then the language folder structure has been set up wrong.
- You will ALSO need the wxWidgets localization file, which should be called wxstd.mo and go on same folder as your "aegisub.mo". Pre-compilation .po files can be downloaded at http://wxwidgets.org/about/i18n.php. This file is needed to see common interface texts in your language.
See http://www.gnu.org/software/gettext/manual/html_chapter/gettext_15.html#Language-Codes for the language codes and http://www.gnu.org/software/gettext/manual/html_chapter/gettext_15.html#Country-Codes for country codes.
Only include a country code if there are other variants of the same language. For example Portugal's Portuguese (pt_PT) vs Brazil's Portuguese (pt_BR)). Country codes are always uppercase and after an underscore.
Updating A Translation
First, grab the previous .po file from https://github.com/Aegisub/Aegisub/tree/master/aegisub/po and open it in Poedit, then go to the Catalog menu and choose Update from POT file, and then pick the up-to-date aegisub.pot file which is available in the same folder. If you are updating your own translation from a previous version, you may want to first grab the latest po from git as they are sometimes updated to reflect fixes to the English strings.
Open a ticket at NewTicket with your new translation or updates.
Version Specific Notes
This section holds notes for specific versions of Aegisub. Some UIs cannot be accessed directly and require screenshots in order to get an idea of what they do.
This needs to be filled in.
- Translations/2.1 - Current "stable" version.