anzz1 / TacoTip

Better player tooltips - class colors, talents/specialization, GearScore & more - for Classic / TBC / WoTLK
8 stars 18 forks source link

Localization #10

Open anzz1 opened 1 year ago

anzz1 commented 1 year ago

v0.2.9 introduced localizations, but translations are still required.

Translations Done

For Translators:

Please copy the Locale/enUS.lua and translate the strings on the right side to your language.

You can use an existing translation in the Locale folder as an example on how to do it.

Also please translate this table in LibClassicInspector for your language.

lib.spec_table_localized = lib.spec_table_localized or {
    ["WARRIOR"] = {"Arms", "Fury", "Protection"},
    ["PALADIN"] = {"Holy", "Protection", "Retribution"},
    ["HUNTER"] = {"Beast Mastery", "Marksmanship", "Survival"},
    ["ROGUE"] = {"Assassination", "Combat", "Subtlety"},
    ["PRIEST"] = {"Discipline", "Holy", "Shadow"},
    ["DEATHKNIGHT"] = {"Blood", "Frost", "Unholy"},
    ["SHAMAN"] = {"Elemental", "Enhancement", "Restoration"},
    ["MAGE"] = {"Arcane", "Fire", "Frost"},
    ["WARLOCK"] = {"Affliction", "Demonology", "Destruction"},
    ["DRUID"] = {"Balance", "Feral Combat", "Restoration"}
}

For now, leave the lib.talents_table in LibClassicInspector untranslated, as translating them manually would be too much work and a script should be used anyway, and I haven't thought yet how to best to introduce translations for the talents with minimal performance impact as the talent table is rather large. To the best of my knowledge, no addons yet use the talent names anyway.

shakimas commented 1 year ago

i´m on deDE, will takeover that - wrote you over curse... :) (shakked)

Iowerth commented 1 year ago

Hi. I'm translator to ruRU of Questie and ExtendedCharacterStats. I can take care of translation of TacoTip to ruRU.

anzz1 commented 1 year ago

Thanks for your cooperation, I edited the issue with instructions.

Iowerth commented 1 year ago

About talents. This addon (CurseForge / GitHub) has all localizations for talents. You may cooperate with addon author or with translators to use their files. About translation. Should I use PR from my fork of your project? Or just provide translated files here?

anzz1 commented 1 year ago

Whatever suits you best. You can do a PR which I'll then merge or add the file as attachment. Any way is fine by me.

About the talent names: Thanks for the link, it could prove useful. Would have to check whether the data is right though. The data can be pulled from the dbc files too or by using a simple script which iterates through all the talents and saves their names (which is how I did it). I'll just have to decide the best way of implementation, I'll do that later.

Iowerth commented 1 year ago

I'll get to it in the next couple of days :)

Iowerth commented 1 year ago

I already translated to ruRU. But I have some questions and suggestions before making PR.

1. Maybe it is possible to make this to show nickname of player?

11. ["Self"] = "Self",
12. ["You"] = "You",

2. There is no colon here:

18. ["Item Level"] = "Item Level",

I manually added this in ruRU till you fix it:

18. ["Item Level"] = "iLvl\:",

3. There are no strings for translations of this words: Mover Drunken Wrath Kebabstorm - I know that it is your nickname. But it would be great if there would be player's name, because it is always written on player's language and it will be shown more harmonically with title on player's language ;)

4. Please change:

GS: 1234 L:123

To:

GS: 1234 iLvl:123

I think it looks better (and iLvl is anywhere in addon).

PS: LibClassicInspector

elseif (GetLocale() == "ruRU") then
lib.spec_table_localized = lib.spec_table_localized or {
    ["WARRIOR"] = {"Оружие", "Неистовство", "Защита"},
    ["PALADIN"] = {"Свет", "Защита", "Воздаяние"},
    ["HUNTER"] = {"Повелитель зверей", "Стрельба", "Выживание"},
    ["ROGUE"] = {"Ликвидация", "Бой", "Скрытность"},
    ["PRIEST"] = {"Послушание", "Свет", "Тьма"},
    ["DEATHKNIGHT"] = {"Кровь", "Лед", "Нечестивость"},
    ["SHAMAN"] = {"Стихии", "Совершенствование", "Восстановление"},
    ["MAGE"] = {"Тайная магия", "Огонь", "Лед"},
    ["WARLOCK"] = {"Колдовство", "Демонология", "Разрушение"},
    ["DRUID"] = {"Баланс", "Сила зверя", "Восстановление"}
}
anzz1 commented 1 year ago

Thanks for your input, I really like the way you bulleted each one, so I'll address each one individually.

(1.) & (4.) : I'll add this to the to-do list of the upcoming options overhaul. As with many other things in regard to the look/format of things, people have different preferences and to accommodate them, I'll need to completely revise the current options menu which not only lacks the space for the many features that have been added (and will be added in the future) but also lacks customization. In lieau of the current rigid system which has set places for everything and only on/off switches, the next large update will have better customization which lets the user choose not only whether something is on/off, but also their order, position and formatting. I'll be sure to add those suggestions as one of the formatting options.

(2.) : This was a conscious design decision which replicates how the original 3.3.5 client displayed the item level (at least in the enUS client, with no colon). This was also an interface option found in the default blizzard interface options in the 3.3.5, and I anticipated that to be added to the new 3.4.0 client and to change the item level out of a hook and into a simple toggle between SetCVar("showItemLevel", "1/0") . But at least for now, this hasn't been added for some reason so the hook stays. But if it looks better with a colon in ruRU client, it can be there in the ruRU translation. I also got the suggestion of moving the item level below the item name and showing it in a smaller, orange text, like wowhead does, which frankly looks better. That will be part of the aforementioned customization overhaul too.

(3.) : I added the missing Mover translation, thanks. https://github.com/anzz1/TacoTip/commit/e1b4634618ac20e9c1db590fb178969615f4aa90 For the nick / clan part, I'll take that into consideration but for now I'd like to keep it as-is.

Iowerth commented 1 year ago

Thanks for your input, I really like the way you bulleted each one, so I'll address each one individually.

Thanks! So all I have to do is to translate Mover then I'll make a PR (it will be this evening).

anzz1 commented 1 year ago

Thanks! So all I have to do is to translate Mover then I'll make a PR (it will be this evening).

I'll merge it when you're ready and package this along with the deDE translation and push an update to the addon channels :+1:

Iowerth commented 1 year ago

I'll merge it when you're ready and package this along with the deDE translation and push an update to the addon channels 👍

Done - https://github.com/anzz1/TacoTip/pull/14

anzz1 commented 1 year ago

deDE and ruRU translations have been merged to master https://github.com/anzz1/TacoTip/commit/ff598868c21ad1c01f403ee74c56fb9c6eeca8be.

Thanks @shakimas , @Iowerth , @Nils89 !

Can you confirm that everything works in your end on deDE and ruRU clients. :+1: I will then package a new release and push it to addon channels.

shakimas commented 1 year ago

you´re welcome @anzz1 - will have a look into it when i am at home, back from work :D

anzz1 commented 1 year ago

@shakimas there was a few strings missing from the latest update. I added the English placeholders for those https://github.com/anzz1/TacoTip/blob/master/Locale/deDE.lua , if you could translate the remaining few strings that would be great :+1:

shakimas commented 1 year ago

ok, will do that @anzz1 and i must shorten some things: grafik

Iowerth commented 1 year ago

Can you confirm that everything works in your end on deDE and ruRU clients.

@anzz1 Everything fine. Thanks!

and i must shorten some things

@shakimas You may check results of your translations just changing your locale-file and then /reload in game ;)

shakimas commented 1 year ago

@shakimas You may check results of your translations just changing your locale-file and then /reload in game ;)

next time, yes - but i made the changes @work and havent a wow-client there... :D

anzz1 commented 1 year ago

@shakimas You should've said to your boss that literal thousands of germans are waiting for you :D. Just kidding, excellent work.

Both deDE and ruRU translations have been released in 0.3.1 and pushed to addon channels for review. Expect the 0.3.1 update to be available in official channels in next few minutes-hours.

Thank you for your cooperation and being the first translators for this project ! :+1:

Going forward, whenever I add new features, I'll push them to master with added placeholder strings in English to the localization files. Then you can replace the English placeholders with your language whenever you can and have the time.

I'll also keep the issue main post updated with the percentage values and the checkbox indicating 100%, so translators can quickly see at a glance whether the translation is fully completed for the latest version.

anzz1 commented 1 year ago

Release 0.3.2 introduces zhCN translation. Credits for that goes to @yisisixu (云是红河岸 五区 碧空之歌) at CurseForge. :+1:

anzz1 commented 1 year ago

Release 0.3.3 introduces koKR translation. Credits for that goes to @wagerssi (와우하는아저씨) at CurseForge. :+1:

anzz1 commented 1 year ago

Release 0.3.4 introduces esES translation. Credits for that goes to @Yorkylizado at CurseForge. :+1:

The class specializations are still untranslated for esES. Class specializations for esES are translated and will be included in the next update.

Nemesounds commented 1 year ago

The previous translator made many mistakes appropriately modified Locale.KR is attached.

Please modified it in future updates.

--[[

TacoTip Localization: koKR

Translators: next96, Neme --]]

if (GetLocale() ~= "koKR") then return end

TACOTIP_LOCALE = { ["Player"] = "플레이어", ["Pet"] = "소환수", ["Target"] = "대상", ["None"] = "없음", ["Self"] = "자신", ["You"] = "당신", ["Talents"] = "특성", ["Style"] = "형식", ["Guild"] = "길드", ["Rank"] = "등급", ["Level"] = "레벨", ["GearScore"] = "아이템 점수", ["iLvl"] = "아이템레벨 (평균)", ["Item Level"] = "아이템 레벨", ["Left-Click"] = "마우스 왼클릭", ["Middle-Click"] = "마우스 가운데", ["Right-Click"] = "마우스 우클릭", ["Drag to Move"] = "드래그하여 이동", ["Change Anchor"] = "기준위치 변경", ["Save Position"] = "위치 저장", [" the Kingslayer"] = "학살자", ["Undead"] = "언데드", ["Unit Tooltips"] = "유닛 툴팁", ["Class Color"] = "직업 색상", ["Color class names in tooltips"] = "툴팁에 이름을 직업 색상으로 표시합니다.", ["Title"] = "칭호", ["Show player's title in tooltips"] = "툴팁에 플레이어의 칭호를 표시합니다.", ["Guild Name"] = "길드 이름", ["Show guild name in tooltips"] = "툴팁에 길드 이름을 표시합니다.", ["Guild Rank"] = "길드 등급", ["Show guild rank in tooltips"] = "툴팁에 길드 등급을 표시합니다.", ["Show talents and specialization in tooltips"] = "툴팁에 전문화 및 특성을 표시합니다.", ["Show player's GearScore in tooltips"] = "툴팁에 대상의 기어스코어를 표시합니다.", ["Show player's PawnScore in tooltips (may affect performance)"] = "툴팁에 PawnScore를 표시합니다. (성능에 영향 있음)", ["requires Pawn"] = "Pawn 애드온 필요", ["Show unit's target in tooltips"] = "툴팁에 대상을 표시합니다.", ["Faction Icon"] = "진영 아이콘", ["Show player's faction icon (Horde/Alliance) in tooltips"] = "툴팁에 호드 / 얼라이언스 진영 아이콘을 표시합니다.", ["PVP Icon"] = "PVP 아이콘", ["Show player's pvp flag status as icon instead of text"] = "툴팁에 전쟁참여중 글자 대신에 아이콘으로 표시합니다.", ["Health Bar"] = "생명력 바", ["Show unit's health bar under tooltip"] = "툴팁 아래에 생명력 바를 표시합니다.", ["Power Bar"] = "자원 바", ["Show unit's power bar under tooltip"] = "툴팁 아래에 자원 바를 표시합니다.", ["Character Frame"] = "캐릭터창", ["Show GearScore in character frame"] = "캐릭터 프레임에 평균 아이템 레벨을 표시합니다.", ["Average iLvl"] = "평균 아이템 레벨", ["Show Average Item Level in character frame"] = "캐릭터 프레임에 평균 아이템 레벨을 표시합니다.", ["Lock Position"] = "위치 고정", ["Lock GearScore and Average Item Level positions in character frame"] = "캐릭터 창의 기어스코어와 평균 아이템 레벨 프레임의 위치를 고정합니다.", ["Extra"] = "추가", ["Show Item Level"] = "아이템 레벨 표시", ["Display item level in the tooltip for certain items."] = "특정 아이템의 툴팁에 아이템 레벨을 표시합니다.", ["Show Item GearScore"] = "아이템 기어스코어 표시", ["Show GearScore in item tooltips"] = "아이템 툴팁에 기어스코어를 표시합니다.", ["Enhanced Tooltips"] = "향상된 툴팁", ["Disable In Combat"] = "전투 중 비활성화", ["Disable gearscore & talents in combat"] = "전투중에는 기어스코어 및 특성을 표시하지 않습니다.", ["Chat Class Colors"] = "대화창 직업 색상", ["Color names by class in chat windows"] = "대화창에 직업 색상에 따른 이름을 표시합니다.", ["Instant Fade"] = "즉시 숨김", ["Fade out unit tooltips instantly"] = "유닛 툴팁을 즉시 사라지게 합니다.", ["Custom Tooltip Position"] = "사용자 툴팁 위치", ["Set a custom position for tooltips"] = "툴팁의 위치를 변경합니다.", ["Tooltip Style"] = "툴팁 형식", ["FULL"] = "전체 표시", ["Always FULL"] = "항상 전체 표시", ["COMPACT/FULL"] = "간결 / 전체", ["Default COMPACT, hold SHIFT for FULL"] = "기본값은 간결, SHIFT 를 누르면 전체 표시", ["COMPACT"] = "간결 표시", ["Always COMPACT"] = "항상 간결 표시", ["MINI/FULL"] = "요약 / 전체", ["Default MINI, hold SHIFT for FULL"] = "기본값은 줄임, SHIFT 를 누르면 전체 표시", ["MINI"] = "요약 표시", ["Always MINI"] = "항상 요약 표시", ["Wide, Dual Spec, GearScore, Average iLvl"] = "넓게 표시, 이중 특성, 기어스코어, 평균 아이템 레벨", ["Narrow, Active Spec, GearScore"] = "좁게 표시, 현재 특성, 기어스코어", ["Narrow, Active Spec, GearScore, Average iLvl"] = "좁게 표시, 현재 특성, 기어스코어, 평균 아이템 레벨", ["Reset configuration"] = "설정 초기화", ["Configuration has been reset to default."] = "모든 설정을 초기화 합니다.", ["Custom tooltip position enabled."] = "사용자 툴팁 위치를 사용합니다.", ["Custom tooltip position disabled."] = "사용자 툴팁 위치를 사용하지 않습니다.", ["Custom position anchor set"] = "사용자 툴팁 위치를 표시합니다.", ["Anchor to Mouse"] = "마우스 위치", ["Anchor tooltips to mouse cursor"] = "툴팁을 마우스 커서에 표시합니다.", ["Only in WorldFrame"] = "필드에서만 표시", ["Anchor to mouse only in WorldFrame\nSkips raid / party frames"] = "필드에서만 마우스 위치에 툴팁을 표시합니다. \n파티 또는 공격대시에는 생략합니다.", ["Anchor Spells to Mouse"] = "주문 툴팁 마우스 위치", ["Anchor spell tooltips to mouse cursor"] = "주문 툴팁을 마우스 커서에 표시합니다.", ["Show Achievement Points"] = "업적 점수 표시", ["Show total achievement points in tooltips"] = "툴팁에 전체 업적 점수를 표시합니다.", ["Mover"] = "위치 이동 프레임", ["TEXT_OPT_DESC"] = "향상된 플레이어 툴팁 - 직업 색상, 특성/전문화, \n기어스코어, 길드 등급", ["TEXT_OPT_UBERTIPS"] = "주문에 대한 향상된 툴팁을 표시합니다. ("UberTooltips")", ["TEXT_HELP_MOVER_SHOWN"] = "위치 이동 프레임이 표시됩니다. 노란색 점을 드래그하여 툴팁의 위치를 이동, 휠 클릭으로 기준 위치를 변경, 오른쪽 클릭으로 저장합니다.", ["TEXT_HELP_MOVER_SAVED"] = "사용자 툴팁 위치가 저장되었습니다. 위치 이동 프레임이 사라집니다. '/tacotip custom' 를 입력하여 위치 이동 프레임을 표시할 수 있습니다.", ["TEXT_HELP_ANCHOR"] = "사용법: /tacotip anchor ANCHOR. ANCHOR 대신에 TOPLEFT/TOPRIGHT/BOTTOMLEFT/BOTTOMRIGHT/CENTER를 입력하여 기준위치를 변경합니다.", ["TEXT_HELP_WELCOME"] = "애드온을 불러왔습니다. 제작자: kebabstorm / Locale koKR: next96, Neme", ["TEXT_HELP_FIRST_LOGIN"] = "/tacotip 을 입력하여 설정창을 엽니다.", ["TEXT_DLG_CUSTOM_POS_CONFIRM"] = "\n사용자 툴팁 위치를 저장하거나 초기화 하겠습니까?\n\n", ["FORMAT_GUILD_RANK_1"] = "%s of <%s>", ["CHARACTER_FRAME_GS_TITLE_FONT"] = "Fonts\FRIZQT.TTF", ["CHARACTER_FRAME_GS_TITLE_FONT_SIZE"] = 10, ["CHARACTER_FRAME_GS_TITLE_XPOS"] = 72, ["CHARACTER_FRAME_GS_TITLE_YPOS"] = 248, ["CHARACTER_FRAME_GS_VALUE_FONT"] = "Fonts\FRIZQT__.TTF", ["CHARACTER_FRAME_GS_VALUE_FONT_SIZE"] = 10, ["CHARACTER_FRAME_GS_VALUE_XPOS"] = 72, ["CHARACTER_FRAME_GS_VALUE_YPOS"] = 260, ["CHARACTER_FRAME_ILVL_TITLE_FONT"] = "Fonts\FRIZQT.TTF", ["CHARACTER_FRAME_ILVL_TITLE_FONT_SIZE"] = 10, ["CHARACTER_FRAME_ILVL_TITLE_XPOS"] = 270, ["CHARACTER_FRAME_ILVL_TITLE_YPOS"] = 248, ["CHARACTER_FRAME_ILVL_VALUE_FONT"] = "Fonts\FRIZQT.TTF", ["CHARACTER_FRAME_ILVL_VALUE_FONT_SIZE"] = 10, ["CHARACTER_FRAME_ILVL_VALUE_XPOS"] = 270, ["CHARACTER_FRAME_ILVL_VALUE_YPOS"] = 260, ["INSPECT_FRAME_GS_TITLE_FONT"] = "Fonts\FRIZQT__.TTF", ["INSPECT_FRAME_GS_TITLE_FONT_SIZE"] = 10, ["INSPECT_FRAME_GS_TITLE_XPOS"] = 72, ["INSPECT_FRAME_GS_TITLE_YPOS"] = 141, ["INSPECT_FRAME_GS_VALUE_FONT"] = "Fonts\FRIZQT.TTF", ["INSPECT_FRAME_GS_VALUE_FONT_SIZE"] = 10, ["INSPECT_FRAME_GS_VALUE_XPOS"] = 72, ["INSPECT_FRAME_GS_VALUE_YPOS"] = 153, ["INSPECT_FRAME_ILVL_TITLE_FONT"] = "Fonts\FRIZQT__.TTF", ["INSPECT_FRAME_ILVL_TITLE_FONT_SIZE"] = 10, ["INSPECT_FRAME_ILVL_TITLE_XPOS"] = 270, ["INSPECT_FRAME_ILVL_TITLE_YPOS"] = 141, ["INSPECT_FRAME_ILVL_VALUE_FONT"] = "Fonts\FRIZQT__.TTF", ["INSPECT_FRAME_ILVL_VALUE_FONT_SIZE"] = 10, ["INSPECT_FRAME_ILVL_VALUE_XPOS"] = 270, ["INSPECT_FRAME_ILVL_VALUE_YPOS"] = 153, }