Questie

Questie

116M Downloads

Language support

AeroScripts opened this issue · 27 comments

commented

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.

commented

So many labels now I love it

commented

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.

commented

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.

commented

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).

commented

@AeroScripts FYI I sent an email yesterday. Took me a little longer than expected. 😅Used the address from the git log.

commented

chinese need you.I have chinese magons db.sql.

commented

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.

commented

If you need help with ruRU locale... hm, say about this. )))

commented

For not problem with russian sinbols-save text UTF8 not boom.)

commented

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)
commented
commented

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).

commented

@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

commented

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.

commented

Plz DONT use RuWoW localization!
Use Blizzard RUru locale!(port 2.4.3 to 1.12.1)
https://vk.com/wowruru

commented

@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.

commented

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
commented

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.

commented

@AeroScripts so nice!
When can be achieved?

commented

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

commented

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 = * (

commented

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.

commented

Just a question, to know when this request (and the 4.0 version, it seems the two are linked) is planned, approximatively ?

commented

Development on v4.0 has stopped. Not sure if @AeroScripts plans on picking it up again, but I don't think so.

commented

Closed because it discusses Vanilla locales. Also for future reference many of the needed strings are in the WoW APIs "global strings".