Hercules Ultimate Localization Design

Ind

Development Administrator
Staff member
Messages
1,655
Points
113
Hercules Ultimate Localization Design
Hello~! - What?!

  • Servers are now able to run under any number of languages, without having any of the default files modified
  • Designed by Haruna and Ind

Translating NPCs without editing them

  • By launching map server with the --generate-translations param a .pot (.po template) file will be created with all of the servers translate-able strings (including all npc dialogue), this file can be edited in text mode or by utilising any .po editor (there are many out there; for a high range of OSes)
  • A .po file does not need to be fully translated to be used, map server will know when loading the file, and will fallback to the hardcoded string in the npc files as necessary
  • Users are able to change their language with the new @lang command, @lang controls what language users see in @commands (msg_txt stuff) as well as over npc dialogues
  • map-server.conf has a new setting called default_language where server owners may specify which language should be used as a base
  • When you have a new .po file you want map server to use, add it to db/translations.conf
Easy to Maintain

  • Since .po is a widely used format there are many tools that can help with merging for example Poedit, which easily consolidates a translated .po file with a newly generated .pot. For example when you have a translated .po and since it was created npc dialogs were added or modified all you have to do is launch map server to generate a new .pot, open your old .po in Poedit, go "Catalog -> Update from POT file" and it will insert the new translatable strings without touching your existing translations, it will also notify you of any "obsolete" strings that are in your .po file but that are no longer in use
Script Command Macro

  • Besides messages.conf, all the dialogue utilised by 'mes' and 'select' is included in the .pot automatically, this patch also introduces a mechanism for utilising strings outside of these commands, the script macro _() which can be employed just as if it were a script function, for example set .@status$,_("Available"); tells map server to export "Available" as a translate-able string when it is run with --generate-translations (when running map server normally the macro has no overhead during runtime)
Special Thanks to

  • Raizen and Roberto from Cronus, we would not have worked on this if it weren't for them
Links~!

Editing Example

  • TranslationSample1.png
 
Last edited by a moderator:
Awesome
default_smile.png


 
the file is so f*cking huge xD lets see who will dare to translate it
default_tongue.png


 
Hi guys.
default_smile.png
( Yes, I'm still alive.
default_biggrin.png
)

First of all: great idea, great work!
 

Besides messages.conf, all the dialogue utilised by 'mes' and 'select' is included in the .pot automatically
This confused me, and so I checked the commit...

Is it supposed to not include announce, mapannounce, areaaanounce, menu, dispbottom and probably some other string related commands?

//EDIT: I put my hand up if you need a volunteer for a german translation.

~ Kenpachi

 
Last edited by a moderator:
YOU IND, HARU JUST REALIZED MY DREAM ;-;  GUYS THIS IS GREAT! THANKS 

I really love it:D I hope it will improve later, great job guys, really:D

I had an orgasm, really

 
Last edited by a moderator:
Back
Top