Language support
AeroScripts opened this issue · 27 comments
Some have requested support for different languages be added. This first requires some rework of the core, so that's what this issue is for. Specific languages should have their own issue created once the initial language support code is finished.
Just leaving this here in case you didn't know it: https://github.com/MangosExtras/MangosZero_Localised
Since you marked this as "help wanted", which parts do you need help with? I already made a new extractor for ShaguQuest, maybe I can just write new output functions to match your format. Had Java lessons last semester, so I might be able to work through your extractor by now.
That extractor was never finished and is really poor code. I'd like to rewrite something from scratch to use a new mangos database .sql. This was already partially done both by me and @Logonz but never put into proper use. The Shagu data may be useful but I'd have to actually look into everything again, it's been a while.
I'm not set on java nesisarily, @Logonz was using C# but I'm not sure where his code is. Either way I probably won't be starting for the next few days but im sure I can find some things you can help with if you want to :D
Btw thanks for all the work you've done here it's really appreciated! If you have skype we should chat there sometime since it's easier.
You are welcome. I'll write you an e-mail regarding contact info later.
My extractor is written in Python. Makes it easy to debug the objects with the interpreter. If you want to have a look at it you can find it here (some parts are a little outdated, it's a WIP).
@AeroScripts FYI I sent an email yesterday. Took me a little longer than expected. 😅Used the address from the git log.
ruRU classic DB.
https://github.com/WoWruRU/classicdb_ruRU
Waitin' for localization support, but atm i reedit some strings of code (which find slay string in objective) and convert all questie database to russian... heres repository: https://github.com/Garey27/QuestieRU all english strings are replaced to russian there, idk mb this info will be helpful.
Yes, this would be helpful. That string is used to identify creature-type objectives which involve killing the target (there are a few creature-type objectives not involving killing, e.g. casting a spell on target creature). @Garey27 Is the Russian string "убито"? @jokers-x We also need the Chinese string for "slain".
Let's start a collection:
- Chinese: ?
- English: "slain"
- French: ?
- German: "getötet"
- Italian: ?
- Korean: ?
- Russian: "убито"?
- Spanish: ?
- Taiwanese: ? (presumably the same as Chinese, see enGB/enUS)
The string we need is the one used inside the WoW quest log. The German one I can confirm (It is used in the MangosZero language repo linked above as well as grammatically correct).
@Muehe Do you need only word that contain in objectives or full phrase? because in russian loc. there was phrases "Лесной волк - убито", see? here is also spaces and hyphen symbol between them, so i make little hack for delete this " - убито" after found:
if(string.find(name, " - убито")) then
name = string.sub(name, 1, string.len(name)-13);
but idk why its -13 chars length because this phrase have only 8 chars length but this works
Ah... its 13 bytes long now that make sens
Also we need translate this strings in QuestieQuest.lua:
RaceBitIndexTable = {
['Человек'] = 1,
['human'] = 1,
['orc'] = 2,
['Орк'] = 2,
['dwarf'] = 3,
['Дворф'] = 3,
['nightelf'] = 4,
['НочнойЭльф'] = 4,
['Ночной Эльф'] = 4,
['night elf'] = 4,
['scourge'] = 5,
['Нежить'] = 5,
['undead'] = 5,
['tauren'] = 6,
['Таурен'] = 6,
['gnome'] = 7,
['Гном'] = 7,
['troll'] = 8,
['Тролль'] = 8,
['goblin'] = 9,
['Гоблин'] = 9
};
ClassBitIndexTable = {
['warrior'] = 1,
['Воин'] = 1,
['paladin'] = 2,
['Паладин'] = 2,
['hunter'] = 3,
['Охотник'] = 3,
['rogue'] = 4,
['Разбойник'] = 4,
['priest'] = 5,
['Жрец'] = 5,
['shaman'] = 7,
['Шаман'] = 7,
['mage'] = 8,
['Маг'] = 8,
['warlock'] = 9,
['Чернокнижник'] = 9,
['druid'] = 11,
['Друид'] = 11
}
I make it not strlow because Lua strlower dont strlow russian chars.
Plz DONT use RuWoW localization!
Use Blizzard RUru locale!(port 2.4.3 to 1.12.1)
https://vk.com/wowruru
@Garey27 If you look at quest 15 the objective description reads:
Kobold Worker slain (10)
This is how that part would look like in the ingame quest log, depending on how many you already killed:
Kobold Worker slain 0/10
And this is how it is checked in the beta branch of ShaguQuest. Basically, if you do not find the "slain" part in your string, you have some sort of special quest where you have to speak to, or cast on some NPC.
By the way, I feel compelled to point out that I inserted code a long time ago that blocks the mod RuWoW from changing certain strings.
Questie.lua - lines 139 - 150
---------------------------------------------------------------------------------------------------
-- In Vanilla WoW there is no official Russian client so an addon was made to translate some of the
-- global strings. Two of the translated strings conflicted with Questie, displaying the wrong info
-- on the World Map. This function simply over-rides those stings to force them back to English so
-- Questie can understand the returned sting in order to display the correct locations and icons.
---------------------------------------------------------------------------------------------------
function Questie:BlockTranslations()
if (IsAddOnLoaded("RuWoW") or IsAddOnLoaded("ProffBot")) or (IsAddOnLoaded("ruRU")) then
QUEST_MONSTERS_KILLED = "%s slain: %d/%d"; -- Lists the monsters killed for the selected quest
ERR_QUEST_ADD_KILL_SII = "%s slain: %d/%d"; -- %s is the monster name
end
end
One thing that should be mentioned, the new database format is totally different and generates from mangosdb. Any language data inside the actual database will be automatically generated. It's only the questie strings that need manual translation.
@AeroScripts so nice!
When can be achieved?
The new database format and tool is already complete, I'm just working on the rest of the core code (since much of it needs to be rewritten)
Hopefully sometime this month (january) but no promises
If you add the name of the language file to the localization team 1.12.1 RUru ready to translate it.
Yes, and this work has already been performed by one person (links given above)
P S continues to wait for Russian questie = * (
Yeah Ive seen that :D Most of the data (from the database etc) won't be useful since I will be generating that myself from mangos-ru. However, the translations for the unique questie strings (/questie command etc) will still need manual translation.
HOWEVER since the v3.x versions aren't going to support this, you guys should really wait until I get v4.x branch on github. That's the one that will have the language file with all the stuff that needs translating. I really do appreciate the work you guys have done I just can't use it immediately.
Just a question, to know when this request (and the 4.0 version, it seems the two are linked) is planned, approximatively ?
Development on v4.0 has stopped. Not sure if @AeroScripts plans on picking it up again, but I don't think so.