diff --git a/data/locales/en.lua b/data/locales/en.lua index f21f9008ae..7405752723 100644 --- a/data/locales/en.lua +++ b/data/locales/en.lua @@ -59,6 +59,7 @@ locale:translate("UIButtonSettings", "Settings") locale:translate("UIButtonEdit", "Edit") locale:translate("UIButtonRemove", "Remove") locale:translate("UIButtonClear", "Clear") +locale:translate("UIButtonReset", "Reset") locale:translate("UIButtonPaginationPrev", "Prev Page") locale:translate("UIButtonPaginationNext", "Next Page") @@ -259,6 +260,12 @@ locale:translate("EnterGameButtonLogin", "Login") locale:translate("EnterGameButtonCreateAccount", "Create New Account") locale:translate("EnterGameLabelServer", "Server") +-- death screen +locale:translate("DeathWindowTitle", "You are dead") +locale:translate("DeathMessageRegular", "Alas! Brave adventurer, you have met a sad fate.\nBut do not despair, for the gods will bring you back\ninto this world in exchange for a small sacrifice\n\nSimply click on Ok to resume your journeys!") +locale:translate("DeathMessageUnfair", "Alas! Brave adventurer, you have met a sad fate.\nBut do not despair, for the gods will bring you back\ninto this world in exchange for a small sacrifice\n\nThis death penalty has been reduced by %1%%\nbecause it was an unfair fight.\n\nSimply click on Ok to resume your journeys!") +locale:translate("DeathMessageBlessed", "Alas! Brave adventurer, you have met a sad fate.\nBut do not despair, for the gods will bring you back into this world\n\nThis death penalty has been reduced by 100%\nbecause you are blessed with the Adventurer\'s Blessing\n\nSimply click on Ok to resume your journeys!") + -- item selector locale:translate("ItemSelectorCountSubtype", "Count / SubType") locale:translate("ItemSelectorItemID", "Item ID") @@ -268,6 +275,56 @@ locale:translate("ItemSelectorWindowTitle", "Select Item") locale:translate("MinimapWindowTitleSetMark", "Create Map Mark") locale:translate("MinimapButtonCenter", "Center") +-- rule violation +locale:translate("RuleViolationRule1a", "1a) Offensive Name") +locale:translate("RuleViolationRule1b", "1b) Invalid Name Format") +locale:translate("RuleViolationRule1c", "1c) Unsuitable Name") +locale:translate("RuleViolationRule1d", "1d) Name Inciting Rule Violation") +locale:translate("RuleViolationRule2a", "2a) Offensive Statement") +locale:translate("RuleViolationRule2b", "2b) Spamming") +locale:translate("RuleViolationRule2c", "2c) Illegal Advertising") +locale:translate("RuleViolationRule2d", "2d) Off-Topic Public Statement") +locale:translate("RuleViolationRule2e", "2e) Non-English Public Statement") +locale:translate("RuleViolationRule2f", "2f) Inciting Rule Violation") +locale:translate("RuleViolationRule3a", "3a) Bug Abuse") +locale:translate("RuleViolationRule3b", "3b) Game Weakness Abuse") +locale:translate("RuleViolationRule3c", "3c) Using Unofficial Software to Play") +locale:translate("RuleViolationRule3d", "3d) Hacking") +locale:translate("RuleViolationRule3e", "3e) Multi-Clienting") +locale:translate("RuleViolationRule3f", "3f) Account Trading or Sharing") +locale:translate("RuleViolationRule4a", "4a) Threatening Gamemaster") +locale:translate("RuleViolationRule4b", "4b) Pretending to Have Influence on Rule Enforcement") +locale:translate("RuleViolationRule4c", "4c) False Report to Gamemaster") +locale:translate("RuleViolationDestructiveBehaviour", "Destructive Behaviour") +locale:translate("RuleViolationExcessivePK", "Excessive Unjustified Player Killing") +locale:translate("RuleViolationActionNote", "Notation") +locale:translate("RuleViolationActionNamelock", "Name Report") +locale:translate("RuleViolationActionBan", "Banishment") +locale:translate("RuleViolationActionBanPlusNamelock", "Name Report + Banishment") +locale:translate("RuleViolationActionBanPlusFinalWarning", "Banishment + Final Warning") +locale:translate("RuleViolationActionBanPlusFinalPlusNamelock", "Name Report + Banishment + Final Warning") +locale:translate("RuleViolationActionReport", "Statement Report") +locale:translate("RuleViolationNeedAction", "You must select an action.") +locale:translate("RuleViolationNeedReason", "You must select a reason.") +locale:translate("RuleViolationNeedStatement", "No statement has been selected.") +locale:translate("RuleViolationNeedComment", "You must enter a comment.") +locale:translate("RuleViolationLabelPlayerName", "Name") +locale:translate("RuleViolationLabelPlayerMessage", "Statement") +locale:translate("RuleViolationLabelPenaltyReason", "Reason") +locale:translate("RuleViolationLabelAction", "Action") +locale:translate("RuleViolationCheckboxIpBan", "IP Address Banishment") +locale:translate("RuleViolationLabelComment", "Comment") + +-- screenshot +locale:translate("ScreenshotCheckboxGameWindow", "Only Capture Game Window") +locale:translate("ScreenshotTooltipGameWindow", "If you check this option, the screenshots will only be taken from\nthe game window instead of the complete client interface. This\nmight improve your game performance, particularly if you have\nticked the Screenshot Backlog option.") +locale:translate("ScreenshotCheckboxBacklog", "Keep Blacklog of the Screenshots of the Last 5 Seconds") +locale:translate("ScreenshotTooltipBacklog", "If you check this option, the client takes a screenshot every\nsecond and caches the last 5 of them. Whenever a screenshot is\ntaken either automatically for a selected event or manually using a\nhotkey, also the screenshots of the previous 5 seconds will be\nsaved.\nIf you experience frame stuttering, you should consider disabling\nthis option.") +locale:translate("ScreenshotCheckboxAutoCapture", "Enable Auto Screenshots") +locale:translate("ScreenshotTooltipAutoCapture", "Enable this option to save screenshots of the most important\nmoments of your career! Whenever one of the events you\nhave selected takes place, a screenshot will be taken\nautomatically.\n\nThe following events can be selected to trigger an auto screenshot:\n\n- Level Up: Your character has reached the next level\n- Skill Up: You advanced in one of your skills (e.g. Magic Level\nor Sword Fighting)\n- Achievement: You earned an achievement, either while\nplaying or upon login\n- Bestiary Entry Unlocked: You unlocked new information\nabout a creature in the Bestiary\n- Bestiary Entry Completed: You unlocked all information about\na creature in the Bestiary\n- Treasure Found: You received some reward from a container\nfor solving a quest or a riddle\n- Valuable Loot: You just found some loot which you have\nmarked in the Drop Tracker\n- Boss Defeated: You defeated a boss monster, either alone or\ntogether with other players, and are entitled to loot it\n- Death PvE: You were just killed by some creature (PvE)\n- Death PvP: You were just killed by another player (PvP)\n- Player Kill: You defeated another player\n- Player Killer Assist: You assisted the killing of another player\n- Player Attacking: Another player just started to attack you\n- Highest Damage Dealt: You dealt a new all-time high damage\non a foe. To see or reset your current all-time high, check\nthe Impact Analyser\n- Highest Healing Done: You healed someone with a new all-\ntime high healing value. To see or reset your current all-time\nhigh, check the Impact Analyser\n- Low Health: You have reached a threshold of deep red\nhealth Copy") +locale:translate("ScreenshotLabelAutoCapture", "Select all events that should trigger auto Screenshots") +locale:translate("ScreenshotButtonOpenFolder", "Open Screenshots Folder") + -- skills locale:translate("SkillsWindowTitle", "Skills") locale:translate("SkillsWindowTooltipPercentNeeded", "You have %1 percent to go") @@ -375,6 +432,8 @@ locale:translate("StoreTitleBuyItem", "Buying from shop") locale:translate("StoreMessageBuyItem", "Do you want to buy %1 for %2 premium points?"") locale:translate("StoreCoinBalanceLabel", "Points") locale:translate("StoreButton", "Store") +locale:translate("StoreWindowTitle", "Store") +locale:translate("StoreButtonBuyPoints", "Buy points") -- tasks locale:translate("TaskSystemWindowTitle", "Tasks") diff --git a/modules/client_options/styles/controls/keybinds.otui b/modules/client_options/styles/controls/keybinds.otui index 98ca8999c4..9d143c2363 100644 --- a/modules/client_options/styles/controls/keybinds.otui +++ b/modules/client_options/styles/controls/keybinds.otui @@ -281,5 +281,5 @@ UIWidget anchors.right: parent.right width: 45 margin-top: 8 - !text: tr('Reset') + !text: localize('UIButtonReset') @onClick : resetActions() diff --git a/modules/game_playerdeath/deathwindow.otui b/modules/game_playerdeath/deathwindow.otui index 2992581e5e..b0f803459e 100644 --- a/modules/game_playerdeath/deathwindow.otui +++ b/modules/game_playerdeath/deathwindow.otui @@ -1,6 +1,6 @@ DeathWindow < MainWindow id: deathWindow - !text: tr('You are dead') + !text: localize('DeathWindowTitle') &baseWidth: 350 &baseHeight: 15 diff --git a/modules/game_playerdeath/playerdeath.lua b/modules/game_playerdeath/playerdeath.lua index 7a7ee08950..5097b14275 100644 --- a/modules/game_playerdeath/playerdeath.lua +++ b/modules/game_playerdeath/playerdeath.lua @@ -1,16 +1,16 @@ local deathTexts = { regular = { - text = 'Alas! Brave adventurer, you have met a sad fate.\nBut do not despair, for the gods will bring you back\ninto this world in exchange for a small sacrifice\n\nSimply click on Ok to resume your journeys!', + text = 'DeathMessageRegular', height = 140, width = 0 }, unfair = { - text = 'Alas! Brave adventurer, you have met a sad fate.\nBut do not despair, for the gods will bring you back\ninto this world in exchange for a small sacrifice\n\nThis death penalty has been reduced by %i%%\nbecause it was an unfair fight.\n\nSimply click on Ok to resume your journeys!', + text = 'DeathMessageUnfair', height = 185, width = 0 }, blessed = { - text = 'Alas! Brave adventurer, you have met a sad fate.\nBut do not despair, for the gods will bring you back into this world\n\nThis death penalty has been reduced by 100%\nbecause you are blessed with the Adventurer\'s Blessing\n\nSimply click on Ok to resume your journeys!', + text = 'DeathMessageBlessed', height = 170, width = 90 } @@ -48,7 +48,7 @@ function displayDeadMessage() return end - modules.game_textmessage.displayGameMessage(tr('You are dead.')) + modules.game_textmessage.displayGameMessage(localize('DeathWindowTitle') .. ".") end function openWindow(deathType, penalty) @@ -62,16 +62,16 @@ function openWindow(deathType, penalty) local textLabel = deathController.ui:getChildById('labelText') if deathType == DeathType.Regular then if penalty == 100 then - textLabel:setText(deathTexts.regular.text) + textLabel:setText(localize(deathTexts.regular.text)) deathController.ui:setHeight(deathController.ui.baseHeight + deathTexts.regular.height) deathController.ui:setWidth(deathController.ui.baseWidth + deathTexts.regular.width) else - textLabel:setText(string.format(deathTexts.unfair.text, 100 - penalty)) + textLabel:setText(localize(deathTexts.unfair.text, 100 - penalty)) deathController.ui:setHeight(deathController.ui.baseHeight + deathTexts.unfair.height) deathController.ui:setWidth(deathController.ui.baseWidth + deathTexts.unfair.width) end elseif deathType == DeathType.Blessed then - textLabel:setText(deathTexts.blessed.text) + textLabel:setText(localize(deathTexts.blessed.text)) deathController.ui:setHeight(deathController.ui.baseHeight + deathTexts.blessed.height) deathController.ui:setWidth(deathController.ui.baseWidth + deathTexts.blessed.width) end diff --git a/modules/game_ruleviolation/ruleviolation.lua b/modules/game_ruleviolation/ruleviolation.lua index 66e7935dc3..22790cd931 100644 --- a/modules/game_ruleviolation/ruleviolation.lua +++ b/modules/game_ruleviolation/ruleviolation.lua @@ -1,34 +1,34 @@ rvreasons = {} -rvreasons[1] = tr('1a) Offensive Name') -rvreasons[2] = tr('1b) Invalid Name Format') -rvreasons[3] = tr('1c) Unsuitable Name') -rvreasons[4] = tr('1d) Name Inciting Rule Violation') -rvreasons[5] = tr('2a) Offensive Statement') -rvreasons[6] = tr('2b) Spamming') -rvreasons[7] = tr('2c) Illegal Advertising') -rvreasons[8] = tr('2d) Off-Topic Public Statement') -rvreasons[9] = tr('2e) Non-English Public Statement') -rvreasons[10] = tr('2f) Inciting Rule Violation') -rvreasons[11] = tr('3a) Bug Abuse') -rvreasons[12] = tr('3b) Game Weakness Abuse') -rvreasons[13] = tr('3c) Using Unofficial Software to Play') -rvreasons[14] = tr('3d) Hacking') -rvreasons[15] = tr('3e) Multi-Clienting') -rvreasons[16] = tr('3f) Account Trading or Sharing') -rvreasons[17] = tr('4a) Threatening Gamemaster') -rvreasons[18] = tr('4b) Pretending to Have Influence on Rule Enforcement') -rvreasons[19] = tr('4c) False Report to Gamemaster') -rvreasons[20] = tr('Destructive Behaviour') -rvreasons[21] = tr('Excessive Unjustified Player Killing') +rvreasons[1] = localize('RuleViolationRule1a') +rvreasons[2] = localize('RuleViolationRule1b') +rvreasons[3] = localize('RuleViolationRule1c') +rvreasons[4] = localize('RuleViolationRule1d') +rvreasons[5] = localize('RuleViolationRule2a') +rvreasons[6] = localize('RuleViolationRule2b') +rvreasons[7] = localize('RuleViolationRule2c') +rvreasons[8] = localize('RuleViolationRule2d') +rvreasons[9] = localize('RuleViolationRule2e') +rvreasons[10] = localize('RuleViolationRule2f') +rvreasons[11] = localize('RuleViolationRule3a') +rvreasons[12] = localize('RuleViolationRule3b') +rvreasons[13] = localize('RuleViolationRule3c') +rvreasons[14] = localize('RuleViolationRule3d') +rvreasons[15] = localize('RuleViolationRule3e') +rvreasons[16] = localize('RuleViolationRule3f') +rvreasons[17] = localize('RuleViolationRule4a') +rvreasons[18] = localize('RuleViolationRule4b') +rvreasons[19] = localize('RuleViolationRule4c') +rvreasons[20] = localize('RuleViolationDestructiveBehaviour') +rvreasons[21] = localize('RuleViolationExcessivePK') rvactions = {} -rvactions[0] = tr('Notation') -rvactions[1] = tr('Name Report') -rvactions[2] = tr('Banishment') -rvactions[3] = tr('Name Report + Banishment') -rvactions[4] = tr('Banishment + Final Warning') -rvactions[5] = tr('Name Report + Banishment + Final Warning') -rvactions[6] = tr('Statement Report') +rvactions[0] = localize('RuleViolationActionNote') +rvactions[1] = localize('RuleViolationActionNamelock') +rvactions[2] = localize('RuleViolationActionBan') +rvactions[3] = localize('RuleViolationActionBanPlusNamelock') +rvactions[4] = localize('RuleViolationActionBanPlusFinalWarning') +rvactions[5] = localize('RuleViolationActionBanPlusFinalPlusNamelock') +rvactions[6] = localize('RuleViolationActionReport') ruleViolationWindow = nil reasonsTextList = nil @@ -124,13 +124,13 @@ end function report() local reasonLabel = reasonsTextList:getFocusedChild() if not reasonLabel then - displayErrorBox(tr('Error'), tr('You must select a reason.')) + displayErrorBox(localize('Error'), localize('RuleViolationNeedReason')) return end local actionLabel = actionsTextList:getFocusedChild() if not actionLabel then - displayErrorBox(tr('Error'), tr('You must select an action.')) + displayErrorBox(localize('Error'), localize('RuleViolationNeedAction')) return end @@ -142,9 +142,9 @@ function report() local statementId = 0 -- TODO: message unique id ? local ipBanishment = ruleViolationWindow:getChildById('ipBanCheckBox'):isChecked() if action == 6 and statement == '' then - displayErrorBox(tr('Error'), tr('No statement has been selected.')) + displayErrorBox(localize('Error'), localize('RuleViolationNeedStatement')) elseif comment == '' then - displayErrorBox(tr('Error'), tr('You must enter a comment.')) + displayErrorBox(localize('Error'), localize('RuleViolationNeedComment')) else g_game.reportRuleViolation(target, reason, action, comment, statement, statementId, ipBanishment) hide() diff --git a/modules/game_ruleviolation/ruleviolation.otui b/modules/game_ruleviolation/ruleviolation.otui index cd27299a18..13f32b5860 100644 --- a/modules/game_ruleviolation/ruleviolation.otui +++ b/modules/game_ruleviolation/ruleviolation.otui @@ -36,20 +36,20 @@ MainWindow @onEscape: hide() RVLabel - !text: tr('Name') .. ':' + !text: localize('RuleViolationLabelPlayerName') .. ':' RVTextEdit id: nameText RVLabel - !text: tr('Statement') .. ':' + !text: localize('RuleViolationLabelPlayerMessage') .. ':' RVTextEdit id: statementText enabled: false RVLabel - !text: tr('Reason') .. ':' + !text: localize('RuleViolationLabelPenaltyReason') .. ':' TextList id: reasonList @@ -70,7 +70,7 @@ MainWindow pixels-scroll: true RVLabel - !text: tr('Action') .. ':' + !text: localize('RuleViolationLabelAction') .. ':' TextList id: actionList @@ -92,14 +92,14 @@ MainWindow CheckBox id: ipBanCheckBox - !text: tr('IP Address Banishment') + !text: localize('RuleViolationCheckboxIpBan') margin-top: 10 anchors.top: prev.bottom anchors.left: parent.left anchors.right: parent.right RVLabel - !text: tr('Comment') .. ':' + !text: localize('RuleViolationLabelComment') .. ':' RVTextEdit id: commentText diff --git a/modules/game_screenshot/game_screenshot.otui b/modules/game_screenshot/game_screenshot.otui index 57a71a2c13..9451e597b5 100644 --- a/modules/game_screenshot/game_screenshot.otui +++ b/modules/game_screenshot/game_screenshot.otui @@ -9,8 +9,8 @@ UIWidget OptionCheckBoxMarked id: onlyCaptureGameWindow - !text: tr('Only Capture Game Window') - !tooltip: tr('If you check this option, the screenshots will only be taken from\nthe game window instead of the complete client interface. This\nmight improve your game performance, particularly if you have\nticked the Screenshot Backlog option.') + !text: localize('ScreenshotCheckboxGameWindow') + !tooltip: localize('ScreenshotTooltipGameWindow') SmallReversedQtPanel anchors.left: parent.left @@ -21,8 +21,8 @@ UIWidget OptionCheckBoxMarked id: keepBlacklog - !text: tr('Keep Blacklog of the Screenshots of the Last 5 Seconds') - !tooltip: tr('If you check this option, the client takes a screenshot every\nsecond and caches the last 5 of them. Whenever a screenshot is\ntaken either automatically for a selected event or manually using a\nhotkey, also the screenshots of the previous 5 seconds will be\nsaved.\nIf you experience frame stuttering, you should consider disabling\nthis option..') + !text: localize('ScreenshotCheckboxBacklog') + !tooltip: localize('ScreenshotTooltipBacklog') SmallReversedQtPanel id: Opciones3 @@ -34,12 +34,12 @@ UIWidget OptionCheckBoxMarked id: enableScreenshots - !text: tr('Enable Auto Screenshots') - !tooltip: tr('Enable this option to save screenshots of the most important\nmoments of your Tibia career! Whenever one of the events you\nhave selected takes place, a screenshot will be taken\nautomatically.\n\nThe following events can be selected to trigger an auto screenshot:\n\n- Level Up: Your character has reached the next level\n- Skill Up: You advanced in one of your skills (e.g. Magic Level\nor Sword Fighting)\n- Achievement: You earned an achievement, either while\nplaying or upon login\n- Bestiary Entry Unlocked: You unlocked new information\nabout a creature in the Bestiary\n- Bestiary Entry Completed: You unlocked all information about\na creature in the Bestiary\n- Treasure Found: You received some reward from a container\nfor solving a quest or a riddle\n- Valuable Loot: You just found some loot which you have\nmarked in the Drop Tracker\n- Boss Defeated: You defeated a boss monster, either alone or\ntogether with other players, and are entitled to loot it\n- Death PvE: You were just killed by some creature (PvE)\n- Death PvP: You were just killed by another player (PvP)\n- Player Kill: You defeated another player\n- Player Killer Assist: You assisted the killing of another player\n- Player Attacking: Another player just started to attack you\n- Highest Damage Dealt: You dealt a new all-time high damage\non a foe. To see or reset your current all-time high, check\nthe Impact Analyser\n- Highest Healing Done: You healed someone with a new all-\ntime high healing value. To see or reset your current all-time\nhigh, check the Impact Analyser\n- Low Health: You have reached a threshold of deep red\nhealth Copy') + !text: localize('ScreenshotCheckboxAutoCapture') + !tooltip: localize('ScreenshotTooltipAutoCapture') checked: false Label - !text: tr('Select all events that sould trigger auto Screenshots:') + !text: localize('ScreenshotLabelAutoCapture') .. ":" anchors.left: parent.left margin-left: 18 margin-top: 5 @@ -62,14 +62,14 @@ UIWidget fit-children: true Button - !text: tr('Reset') + !text: localize('UIButtonReset') width: 64 anchors.right: parent.right anchors.bottom: parent.bottom @onClick: modules.game_screenshot.resetValues() Button - !text: tr('Open Screenshots Folder') + !text: localize('ScreenshotButtonOpenFolder') width: 164 anchors.left: parent.left anchors.bottom: parent.bottom diff --git a/modules/game_shop/shop.otui b/modules/game_shop/shop.otui index 89a0fdebbc..ff0db18d14 100644 --- a/modules/game_shop/shop.otui +++ b/modules/game_shop/shop.otui @@ -132,7 +132,7 @@ ShopOfferImage < ShopOffer MainWindow id: shopWindow - !text: tr('Shop') + !text: localize('StoreWindowTitle') size: 750 500 @onEscape: modules.game_shop.hide() $mobile: @@ -160,7 +160,7 @@ MainWindow anchors.top: prev.bottom margin-top: 10 visible: false - !text: tr("Buy points2") + !text: localize("StoreButtonBuyPoints") Panel id: adPanel @@ -222,7 +222,7 @@ MainWindow Button id: transactionHistory - !text: tr('Transaction history') + !text: localize('StoreButtonTransactionHistory') width: 128 anchors.left: parent.left anchors.bottom: parent.bottom