Oldunreal Localization Project
Unreal is very easy to translate as most strings in the maps and all of the menus are stored in plain text files with file extensions relative to the language of the game. New translation can easily be added and modified with any tool, even the simplest notepad - they are in fact regular .txt files. However, a lot of time is needed to fully complete a translation of the game. OldUnreal can use all the help you can give.
- 1 Language index
- 2 Status and Procedure
- 3 Useful tools
- 4 Return to Na Pali notes
- 5 Unreal Tournament notes
- 6 Linux
- 7 Adding new languages
- 8 Links for more information
- 9 See also
In addition to the individual files, every language page has a "language guideline" page with common names for repeated entries, as well as a general guidelines page with things to bear in mind when translating.
- English .int, maintained by the OldUnreal team. Considered Complete (main language, all translations are based on these files).
- French .frt, maintained by Hellkeeper. Considered Complete
- German .det, additional translations filled in by Smirftsch, EGo and Ividyon.
- Italian .itt, additional translations filled in by UBerserker.
- Polish .plt, maintained by Delacroix
- Portuguese .ptt, some contributions by Nahand, further contributions by Naruto_9.
- Russian .rut, author u.HighPriest , maintained by Skaarj ZR
- Spanish .est, some contributions by rarsonic, currently maintained by Neon_Knight. Considered Complete.
- Czech .czt, nearing completion, initial translation by tomcat, maintained by Nikola.
- Hungarian .hut, nearing completion, initial translation by Relaks, expanded by MakeMeUnreal and currently maintained by Gabor Kovacs.
- Swedish .set, work in progress, translated and maintained by ElectricIce
- Catalan .ctt, work in progress.
- Dutch .nlt, work in progress.
- English .int/UT - Unreal Tournament English localization, maintained by the OldUnreal team. Considered Complete (main language, all translations are based on these files).
- French .frt/UT - Unreal Tournament French localization, maintained by Hellkeeper. Work in progress.
- German .det/UT - Unreal Tournament German localization. Work in progress.
- Italian .itt/UT - Unreal Tournament Italian localization. Work in progress.
- Polish .plt/UT - Unreal Tournament Polish localization. Work in progress.
- Portuguese .ptt/UT - Unreal Tournament Portuguese localization. Work in progress.
- Russian .rut/UT - Unreal Tournament Russian localization. Work in progress.
- Spanish .est/UT - Unreal Tournament Spanish localization, maintained by Neon_Knight. Considered complete.
- Czech .czt/UT - Unreal Tournament Czech localization. Work in progress.
- Hungarian .hut/UT - Unreal Tournament Hungarian localization. Work in progress.
- Swedish .set/UT - Unreal Tournament Swedish localization. Work in progress.
- Catalan .ctt/UT - Unreal Tournament Catalan localization. Work in progress.
- Dutch .nlt/UT - Unreal Tournament Dutch localization. Work in progress.
Status and Procedure
- English: The English .int files need to be compared to the other language files, as they are always up to date and complete. To complete a localisation, missing entries have to be added, some unecessary ones have to be deleted, wrong or incorrect translations have to be replaced and the entire thing has to be thoroughly tested. When Unreal is set to a language that is not English, it uses the translation files of the specific language. When a line - or even an entire file - is missing from the localization, Unreal defaults to the English line in the .int file of the same name, or the entire .int file if the entire localized file is blank or missing.
- French, Russian and Spanish: All of these languages are complete. This does not necessarily mean that there is absolutely nothing to improve for these, but they work flawlessely and all the lines have been translated. The remaining changes that may be done are purely cosmetic : rephrasing, correcting typos and spelling errors...
- Polish: Mostly done, some work is still needed, but it's being covered.
- German, Italian and Portuguese: These languages need a lot of work. Translation might be shaky, and some files may be obsolete resulting in broken menus or defaulting to the .int files. Some of the most urgent changes were made using automatic translation tools and need to be reviewed by a native speaker.
- Czech, Hungarian, Swedish, Catalan and Dutch are new additions. They are undergoing translation, which will then have to be checked.
- English: The English .int files need to be compared to the other language files, as they are always up to date and complete. To complete a localisation, missing entries have to be added, some unecessary ones have to be deleted, wrong or incorrect translations have to be replaced and the entire thing has to be thoroughly tested. When Unreal is set to a language that is not English, it uses the translation files of the specific language. When a line - or even an entire file - is missing from the localization, Unreal defaults to the English line in the .int file of the same name, or the entire .int file if the entire localized file is blank or missing. ATM the only missing entries are those belonging to the Game of the Year edition mods Rocket Arena and Chaos: UT, which will be added soon.
- Spanish: Language complete. This does not necessarily mean that there is absolutely nothing to improve for these, but they work flawlessely and all the lines have been translated. The remaining changes that may be done are purely cosmetic : rephrasing, correcting typos and spelling errors...
- French: Mostly done, some work is still needed, but it's being covered.
- German, Italian, Russian and Hungarian: These have retail and/or fan translations translations, but their errors need to be checked.
- Polish, Portuguese, Czech, Swedish, Catalan and Dutch: These languages are new additions.
- OpenOffice and Libreoffice have an extension for Wiki's WikiPublisher, which can export any text into wiki formatted text files. Give it a try if you plan on adding your translation or modifying an existing one.
Return to Na Pali notes
Cutscenes with subtitles
Gender support has been added to Polish and French. If you are localizing Unreal for a language where articles and verbs are neutral (such as English, where "a" has no gender and verbs do not show the gender of the subject/object), this is irrelevant to you. If the verb changes depending on the gender of the subject, as in Polish or certain situations in French, consult UnrealI.plt and UnrealI.frt, and look at the lines which have a "Fem" variation, as in UnrealI.plt:
[fell] AltName="spadł" FemAltName="spadła"
Since 227j every RTNP cutscene map contains a new actor called TransitionGenderEvent. This event is using different Hud types to draw the subtitles (UnrealHud, TransitionNullHud, CSHud). You can set up your subtitle text for both, female and male or only female or only male in your localization file. The settings are depending on the genders written and spoken output in some languages. The index value is the same if you are using FemaleText and MaleText. Here is a example:
[TransitionGenderEvent] CommonText="CommonText" is drawn used by female or male with sound output without written and spoken verb differences. MaleText=Use "MaleText" if your verb only typically for male FemaleText="FemaleTExt" this is for the ladies ;) CommonText=... CommonText=.. CommonText=.
Unreal Tournament notes
Audio packages with spoken lines
There are eleven packages with spoken lines in the game: Announcer, BossVoice, Female1Voice, Female2Voice, Male1Voice, Male2Voice, OpeningWave, TutVoiceAS, TutVoiceCTF, TutVoiceDM and TutVoiceDOM. These packages are located in the Sounds/ folder of the game. In the english language they just have the default .uax extension, however, other languages use the .<lng>_uax extension. For example, while the Announcer pack in english is located under the filename Announcer.uax, its equivalent in spanish is located under the filename Announcer.est_uax. Ditto for the rest of the languages.
While english, spanish, deutsch, italian and french languages have translated voicelines, other languages must have packs created for them. Check this link for how each package is structured and for which lines. These, then, should be used, and their filenames and assetnames respected, in order for people to create newer packages for the languages that require them. Also, be aware that all lines are required to be translated since, even if no official assets in the game proper may use them, there are definitely mods which rely on them.
Linux users need to encode the files in unicode (UTF-16) format to make it work.
It is also possible to create or modify localizations for the original Unreal in its 226 version. Because great changes have been done to some files and some have been completely restructured, 227 and 226 files should not be mixed up. A dedicated page for legacy localizations has been set up. Feel free to create a new localization or modify the original one there too.
Adding new languages
- Main article: Localization
If you want to add your own native language to Unreal, please use a two-letter code of your language from the ISO 639-1 list + a "t" at the end of the file extension as an acronym for the translation file.
|Native Language||ISO-639-1 language code||File extension|
A special note regarding Core.int and its equivalents: the file contains a field called Language wit the following format:
[Language] Language="English (international)" LangId=9 SubLangId=1
The Language= field can be replaced with its translated equivalent (i.e. Spanish = Español in Core.est and German = Deutsch in Core.det). As for the LangId and SubLangId, during the setup phase, the installer calls the function GetUserDefaultLangId. This document contains all the LangIds and SubLangIds; the way to recognize those is by looking at its bitfield: the first 10 bits mark the language ID, while the rest is sublanguage ID. These are the currently implemented languages in Unreal/UT:
Links for more information
- Localization, for an in-depth overview of how the Unreal Engine handles localization.