-- SPDX-License-Identifier: GPL-3.0-or-later

Fk:loadTranslationTable({
  -- Lobby
  ["Room List"] = "Room List (currently have %1 rooms)",
  -- ["Enter"] = "进入",
  -- ["Observe"] = "旁观",

  -- ["Edit Profile"] = "编辑个人信息",
  -- ["Username"] = "用户名",
  -- ["Avatar"] = "头像",
  -- ["Old Password"] = "旧密码",
  -- ["New Password"] = "新密码",
  -- ["Update Avatar"] = "更新头像",
  -- ["Update avatar done."] = "头像已更新",
  -- ["Update Password"] = "更新密码",
  -- ["Update password done."] = "密码已更新",
  -- ["Old password wrong!"] = "旧密码错误！",
  -- ["Lobby BG"] = "大厅壁纸",
  -- ["Room BG"] = "房间背景",
  -- ["Game BGM"] = "游戏BGM",
  -- ["Poster Girl"] = "看板娘",
  -- ["BGM Volume"] = "BGM音量",
  -- ["Effect Volume"] = "音效音量",
  -- ["Userinfo Settings"] = "个人信息",
  -- ["BG Settings"] = "游戏背景",
  -- ["Audio Settings"] = "音频",
  -- ["Disable message audio"] = "禁用聊天语音",
  -- ["Hide unselectable cards"] = "下移不可选卡牌",
  ["Ban General Settings"] = "Ban character settings",
  -- ["Search"] = "搜索",
  -- ["Back"] = "返回",
  -- ["Click to back"] = "点击返回",

  -- ["Refresh Room List"] = "刷新房间列表",

  ["Disable Extension"] = "Please ignore this checkbox",
  -- ["Filter"] = "筛选",
  -- ["Room ID"] = "房间ID",
  ["RefreshRoomHelp"] = "Click to refresh filtered rooms, long press to refresh all rooms without clearing filters",
  ["FilterHelp"] = "Long press to clear filter",
  -- ["Create Room"] = "创建房间",
  -- ["Room Name"] = "房间名字",
  ["$RoomName"] = "%1's room",
  ["Player num"] = "Player count",
  ["Select generals num"] = "Character selection count",
  -- ["No enough generals"] = "可用武将不足！",
  ["Operation timeout"] = "Operation timeout (sec)",
  ["Luck Card Times"] = "Luck card count",
  -- ["Has Password"] = "有密码",
  -- ["No Password"] = "无密码",
  -- ["Room Password"] = "房间密码",
  -- ["Please input room's password"] = "请输入房间的密码",
  -- ["Room Fullness"] = "房间满员",
  -- ["Full"] = "已满",
  -- ["Not Full"] = "未满",
  -- ["Room Capacity"] = "人数上限",
  ["Add Robot"] = "Add robot",
  ["Start Game"] = "Start game",
  -- ["Ready"] = "准备",
  ["Cancel Ready"] = "Cancel ready",
  ["Kick Owner"] = "Kick room owner",
  ["Game Mode"] = "Game mode",
  -- ["Enable free assign"] = "自由选将",
  ["Enable deputy general"] = "Enable deputy character",
  -- ["General Settings"] = "通常设置",
  -- ["Package Settings"] = "拓展包设置",
  ["General Packages"] = "Character packages",
  ["Card Packages"] = "Card packages",
  -- ["Select All"] = "全选",
  ["Choose one handcard"] = "Sel. card",
  ["Revert Selection"] = "Rev. Sel.",
  ["Handcard selector"] = "Handcard selector, which is useful when have too many cards",

  ["Give Flower"] = "Flower",
  ["Give Egg"] = "Egg",
  ["Give Wine"] = "Wine",
  ["Give Shoe"] = "Shoe",
  ["Block Chatter"] = "Block chatter",
  ["Unblock Chatter"] = "Unblock chatter",
  ["Kick From Room"] = "Kick",
  --["Newbie"] = "新手保护ing",
  ["Win=%1 Run=%2 Total=%3"] = "Win=%1% Run=%2% Total=%3",
  ["Win=%1\nRun=%2\nTotal=%3"] = "Win: %1%\nRun: %2%\nTotal: %3",
  ["TotalGameTime: %1 min"] = "Played: %1 minutes",
  ["TotalGameTime: %1 h"] = "Played: %1 hours",

  ["Ban List"] = "Ban character scheme",
  ["List"] = "Scheme",
  -- ["New"] = "新建",
  -- ["Clear"] = "清空",
  ["Help_Ban_List"] = "The 'Export' button will copy this scheme to clipboard." ..
  "And the 'Import' button will read the clipboard and import scheme from it, or report an error.",
  -- ["Export"] = "导出",
  ["Export Success"] = "OK, you ban character schema has been copied to your clipboard.",
  -- ["Import"] = "导入",
  ["Not Legal"] = "Error: invalid JSON string.",
  ["Not JSON"] = "Error: improper JSON format.",
  ["Import Success"] = "Imported ban scheme successfully.",

  ["$OnlineInfo"] = "Lobby: %1, Online: %2",

  -- ["Overview"] = "一览",
  ["Generals Overview"] = "Characters",
  ["Cards Overview"] = "Cards",
  ["Special card skills:"] = "<b>Special use method:</b>",
  ["Every suit & number:"] = "<b>All suit and number:</b>",
  -- ["Male Audio"] = "男性音效",
  -- ["Female Audio"] = "女性音效",
  -- ["Equip Effect Audio"] = "效果音效",
  -- ["Equip Use Audio"] = "使用音效",
  ["Modes Overview"] = "Game modes",
  -- ["Replay"] = "录像",
  ["Game Data Overview"] = "Game Records",
  ["Statistics Overview"] = "Statistics",
  -- ["Favorite Replay"] = "已收藏录像",

  -- ["Replay Recording"] = "重放录像",
  -- ["Replay Expired"] = "录像已过期",
  -- ["View Endgame"] = "查看终盘战况",
  -- ["Endgame Expired"] = "终盘已过期",
  -- ["Bookmark Replay"] = "收藏录像",
  -- ["Already Bookmarked"] = "已收藏",

  -- ["Total"] = "总数",
  -- ["Win Rate"] = "胜率",
  ["Merge Modes"] = "Do Not Distinguish Between Game Modes",
  ["Merge Roles"] = "Do Not Distinguish Between Roles",

  -- ["Replay Manager"] = "来欣赏潇洒的录像吧！",
  -- ["Replay from File"] = "从文件打开",
  ["Game Win"] = "Win",
  ["Game Lose"] = "Lose",
  ["Game Draw"] = "Draw",
  ["Play the Replay"] = "Play",
  -- ["Note"] = "备注",
  ["Delete Replay"] = "Delete",
  -- ["About"] = "关于",
  ["about_freekill_description"] = "<b>About FreeKill</b><br/>" ..
    "FreeKill is an open-source Bang!-like board game, which is aim to be extensive.<br/>" ..
    "<br/>Repo: https://github.com/Notify-ctrl/FreeKill",
  ["about_qt_description"] = "<b>About Qt</b><br/>" ..
    "Qt是一个C++图形界面应用程序开发框架，拥有强大的跨平台能力以及易于使用的API。<br/>" ..
    "<br/>本程序使用Qt 6.2+，主要利用QtQuick开发UI，同时也使用Qt的网络库开发服务端程序。<br/>" ..
    "<br/>官网： https://www.qt.io",
  ["about_lua_description"] = "<b>About Lua</b><br/>" ..
    "Lua是一种小巧、灵活、高效的脚本语言，广泛用于游戏开发中。<br/>" ..
    "<br/>本程序使用Lua 5.4，利用其完全实现了整个游戏逻辑。<br/>" ..
    "<br/>官网： https://www.lua.org",
  ["about_ossl_description"] = "<b>About OpenSSL</b><br/>" ..
    "OpenSSL是一个开源包，用来提供安全通信与各种加密支持。<br/>" ..
    "<br/>本程序目前用到了crypto库，以获得RSA加密算法支持。<br/>" ..
    "<br/>官网： https://www.openssl.org",
  ["about_gplv3_description"] = "<b>About GPLv3</b><br/>" ..
    "GNU通用公共许可协议（简称GPL）是一个广泛使用的自由软件许可证条款，它确保广大用户自由地使用、学习、共享或修改软件。<br/>" ..
    "<br/>由于Qt是按照GPLv3协议开源的库，与此同时本程序用到的readline库也属于GPLv3库，再加上QSanguosha也是以GPLv3协议开源的软件（从中借鉴了不少代码和思路），因此这个项目也使用GPLv3协议开源。<br/>" ..
    "<br/>官网： https://gplv3.fsf.org",
  ["about_sqlite_description"] = "<b>About SQLite</b><br/>" ..
    "SQLite是一个轻量级的数据库，具有占用资源低、运行效率快、嵌入性好等优点。<br/>" ..
    "<br/>FreeKill使用sqlite3在服务端保存用户的各种信息。<br/>" ..
    "<br/>官网： https://www.sqlite.org",
  ["about_git2_description"] = "<b>About Libgit2</b><br/>" ..
    "Libgit2是一个轻量级的、跨平台的、纯C实现的库，支持Git的大部分核心操作，并且支持几乎任何能与C语言交互的编程语言。<br/>" ..
    "<br/>FreeKill使用的是libgit2的C API，与此同时使用Git完成拓展包的下载、更新、管理等等功能。<br/>" ..
    "<br/>官网： https://libgit2.org",

  -- ["Exit Lobby"] = "退出大厅",

  -- ["OK"] = "确定",
  -- ["Cancel"] = "取消",
  -- ["End"] = "结束",
  -- ["Quit"] = "退出",

  ["BanGeneral"] = "Ban",
  ["ResumeGeneral"] = "Unban",
  -- ["Enable"] = "启用",
  -- ["Prohibit"] = "禁",
  ["BanPackage"] = "Ban packages",
  ["$BanPkgHelp"] = "Banning packages",
  ["$BanCharaHelp"] = "Banning characters",
  ["$TotalGenerals"] = "Total: %1 character(s)",
  -- ["Companions"] = "珠联璧合",
  -- ["Skill Name"] = "技能名称",
  -- ["Skill Description"] = "技能描述",
  -- ["Audio Text"] = "语音文本",
  -- ["Death audio"] = "阵亡",
  -- ["Win audio"] = "胜利",
  -- ["Official"] = "官方",
  -- ["Title"] = "Title",
  -- ["Designer"] = "Designer",
  -- ["Voice Actor"] = "Voice Actor",
  -- ["Illustrator"] = "Illustrator",
  -- ["Hidden General"] = "隐藏武将",
  ["Audio Code Copy Success"] = "Audio code has been copied to your clipboard",
  ["Audio Text Copy Success"] = "Audio text has been copied to your clipboard",
  -- ["Copy Audio Code"] = "复制语音代码",
  -- ["Copy Audio Text"] = "复制语音文本",

  ["$WelcomeToLobby"] = "Welcome to FreeKill lobby!",
  ["GameMode"] = "Game mode: ",
  ["LuckCardNum"] = "Luck card count: ",
  ["ResponseTime"] = "Operation time (sec): ",
  ["GeneralBoxNum"] = "Character selection count: ",
  ["CardPackages"] = "Enabled card pacakges: ",
  ["IncludeFreeAssign"] = "<font color=\"red\">Free assign enabled</font>",
  ["IncludeDeputy"] = "<font color=\"red\">Deputy character enabled</font>",

  -- Room
  ["$EnterRoom"] = "Successfully entered the room",
  ["#currentRoundNum"] = "Round #%1",
  ["$Choice"] = "%1: Please choose",
  ["$ChooseGeneral"] = "Please choose %1 character(s)",
  ["Same General Convert"] = "Convert character",
  -- ["Fight"] = "出战",
  ["Show General Detail"] = "View skills",

  ["#PlayCard"] = "Your turn now, please use a card",
  ["#UseSkill"] = "please use skill [%arg]",
  ["#AskForGeneral"] = "Please choose a character",
  ["#AskForSkillInvoke"] = "Do you want to use skill %1?",
  ["#AskForLuckCard"] = "Do you want to use luck card (%1 times left)?",
  ["AskForLuckCard"] = "Luck card",
  ["#AskForChoice"] = "%1: Please choose",
  ["#AskForChoices"] = "%1: Please choose",
  ["#choose-trigger"] = "Please choose the skill to use",
  ["#skill_muti_trigger"] = "%arg[%arg2]",
  ["trigger"] = "Trigger skill",
  -- ["Please arrange cards"] = "请拖拽移动卡牌",
  -- ["Please click to move card"] = "请点击移动卡牌",

  -- [" thinking..."] = " 思考中...",
  ["AskForGeneral"] = "Choosing character",
  ["AskForGuanxing"] = "Stargazing",
  ["AskForExchange"] = "Exchaging",
  ["AskForChoice"] = "Making choice",
  ["AskForChoices"] = "Making choice",
  ["AskForKingdom"] = "Choosing kingdom",
  ["AskForPindian"] = "Point fight",
  ["AskForMoveCardInBoard"] = "Moving cards",
  ["replaceEquip"] = "Replacing Equip",
  ["PlayCard"] = "Playing card",

  ["#AskForChooseGenerals"] = "%1：please choose %2 character(s)",
  ["AskForCardChosen"] = "Choosing card",
  ["AskForCardsChosen"] = "Choosing card",
  ["#AskForChooseCard"] = "%1: please choose a card from %src",
  ["#AskForChooseCards"] = "%1: please choose %2~%3 cards from %src",
  ["$ChooseCard"] = "Choose a card",
  ["$ChooseCards"] = "Choose %1~%2 cards",
  ["$Hand"] = "Hand",
  ["$Equip"] = "Equip",
  ["$Judge"] = "Judge",
  ['$Selected'] = "Selected",
  ["#AskForUseActiveSkill"] = "Please use skill %1",
  ["#AskForUseCard"] = "Please use card %1",
  ["#AskForResponseCard"] = "Please play card %1",
  ["#AskForNullification"] = "Do you want to use Nullification to %arg that targets to %dest?",
  ["#AskForNullificationWithoutTo"] = "Do you want to use Nullification to %arg that used by %src?",
  ["#AskForPeaches"] = "%src is dying, please use %arg Peach(es) to save him",
  ["#AskForPeachesSelf"] = "You are dying, please use %arg Peach(es)/Alcohol to save yourself",
  ["#AskForUseOneCard"] = "%arg: Please use 1 card from these",
  ["#AskForUseVirtualCard"] = "%arg：Please use a virtual card %arg2",
  ["#AskForUseVirtualCards"] = "%arg：Please use a virtual card",
  ["#AskForUseMultiCard"] = "Please use %arg ( %arg2 th, %arg3 total )",
  ["#AskForResponseMultiCard"] = "Please play %arg ( %arg2 th, %arg3 total )",
  ["#AskForNumber"] = "%arg：Please choose a number",

  ["#AskForDiscard"] = "Please discard %arg cards (%arg2 at least)",
  ["#AskForCard"] = "Please choose %arg cards (%arg2 at least)",
  ["#AskForDistribution"] = "Please distribute cards (%arg at least , %arg2 total)",
  ["@DistributionTo"] = "",
  ["#replaceEquip"] = "Please Choose a Equip Card to be replaced",
  ["#askForPindian"] = "%arg: please choose a hand card for point fight",
  ["#StartPindianReason"] = "%from started point fight (%arg)",
  ["#ShowPindianCard"] = "The point fight card of %from is %arg",
  ["#ShowPindianResult"] = "%from %arg the point fight between %from and %to",
  ["#ChangePindianNumber"] = "Due to %arg, the point of %to changes from %arg2 to %arg3",
  ["pindianwin"] = "won",
  ["pindiannotwin"] = "lost",

  ["#ChooseInitialKingdom"] = "Please choose your kingdom in this game",

  ["#RevealGeneral"] = "%from revealed %arg %arg2",
  ["mainGeneral"] = "main character",
  ["deputyGeneral"] = "deputy character",
  ["seat#1"] = "Seat#1",
  ["seat#2"] = "Seat#2",
  ["seat#3"] = "Seat#3",
  ["seat#4"] = "Seat#4",
  ["seat#5"] = "Seat#5",
  ["seat#6"] = "Seat#6",
  ["seat#7"] = "Seat#7",
  ["seat#8"] = "Seat#8",
  ["seat#9"] = "Seat#9",
  ["seat#10"] = "Seat#10",
  ["seat#11"] = "Seat#11",
  ["seat#12"] = "Seat#12",
  ["@ControledBy"] = "Controller",
  ["playerstr_self"] = "(you)",

  -- ["Menu"] = "菜单",
  -- ["Surrender"] = "投降",
  -- ["Surrender is disabled in this mode"] = "投降在该模式不可用",
  -- ["Quit"] = "退出",
  -- ["Are you sure to quit?"] = "是否确认退出对局（若对局开始则将计入逃跑次数）？",

  -- ["Trust"] = "托管",
  ["Sort Cards"] = "Sort",
  ["Sort by Type"] = "by Type",
  ["Sort by Number"] = "by Num",
  ["Sort by Suit"] = "by Suit",
  -- ["Chat"] = "聊天",
  ["Log"] = "Game Log",
  -- ["Return to Bottom"] = "回到底部",
  -- ["Trusting ..."] = "托管中 ...",
  -- ["Observing ..."] = "旁观中 ...",

  ["#NoCardDraw"] = "Card Pile is empty",
  ["#NoGeneralDraw"] = "General Pile is empty",
  ["#NoEventDraw"] = "All game events terminated",
  ["#NoEnoughGeneralDraw"] = "No enough generals! (%arg/%arg2)",
  ["#TimeOutDraw"] = "It's over thousands Round!",

  ["$GameOver"] = "Game Over",
  ["$Winner"] = "Winner is %1",
  ["$NoWinner"] = "Draw!",
  -- ["Name"] = "名称",
  -- ["Role"] = "身份",
  -- ["Turn"] = "回合",
  -- ["Recover"] = "回血",
  ["Damage"] = "Dmg",
  -- ["Damaged"] = "受伤",
  -- ["Kill"] = "击杀",
  ["Honor"] = "Title",
  -- ["Soy"] = "打酱油的",
  -- ["Rapid Victory"] = "旗开得胜",
  -- ["Burning Soul"] = "血战",
  -- ["Regretful Lose"] = "含恨而终",
  -- ["Close But No Cigar"] = "功亏一篑",
  -- ["Wicked Kill"] = "直刺咽喉",
  -- ["Peaceful Watcher"] = "和平主义者",
  -- ["MVP"] = "MVP",
  -- ["Innocent"] = "无存在感",
  -- ["Awe Prestige"] = "天道威仪",
  -- ["Wisely Loyalist"] = "能臣巧吏",
  -- ["Conspiracy"] = "老谋深算",
  -- ["War Vanguard"] = "破敌先锋",
  -- ["Lose Prestige"] = "天道不佑",
  -- ["Fierce Lord"] = "一世枭雄",
  -- ["Blood Judgement"] = "嗜血判官",
  -- ["Rampage"] = "横扫千军",
  -- ["Failed Ambition"] = "大业未成",
  -- ["Direct Regicide"] = "直捣黄龙",
  -- ["Legatus"] = "破军功臣",
  -- ["Frightful Lord"] = "势敌千军",
  -- ["Bloody Warrior"] = "屠戮之士",
  -- ["Warrior Soul"] = "战魂",
  -- ["Wrath Warlord"] = "暴走战神",
  -- ["Peaceful Healer"] = "甘霖之润",
  -- ["Brilliant Healer"] = "妙手回春",
  -- ["Fodder"] = "炮灰",
  -- ["Fire Target"] = "集火目标",
  -- ["Tank"] = "肉盾",
  -- ["War Spirit"] = "军魂",
  -- ["Priority Honor"] = "竭忠尽智",
  -- ["Impasse Strike"] = "绝境逆袭",
  -- ["Back To Room"] = "回到房间",
  -- ["Back To Lobby"] = "返回大厅",
  -- ["Save Replay"] = "保存录像",

  ["Speed Resume"] = "Uniform",
  -- ["Speed Up"] = "加速",
  -- ["Speed Down"] = "减速",
  -- ["Pause"] = "暂停",
  -- ["Resume"] = "继续",

  ["Bulletin Info"] = [==[
    Hello, world!
  ]==],
}, "en_US")

-- Game concepts
Fk:loadTranslationTable({
  ["lord"] = "Lord",
  ["loyalist"] = "Loyalist",
  ["rebel"] = "Rebel",
  ["renegade"] = "Renegade",
  ["lord+loyalist"] = "Lord and Loyalist",

  ["normal_damage"] = "Normal",
  ["fire_damage"] = "Fire",
  ["thunder_damage"] = "Thunder",
  ["ice_damage"] = "Ice",
  ["hp_lost"] = "HP lost",
  ["lose_hp"] = "lose HP",

  ["phase_start"] = "Prepare phase",
  ["phase_judge"] = "Judge phase",
  ["phase_draw"] = "Draw phase",
  ["phase_play"] = "Action phase",
  ["phase_discard"] = "Discard phase",
  ["phase_finish"] = "Finish phase",

  -- ["chained"] = "横置",
  -- ["un-chained"] = "重置",
  ["reset-general"] = "reset",

  ["yang"] = "Yang",
  ["yin"] = "Yin",
  ["quest_succeed"] = "succeed",
  ["quest_failed"] = "failed",

  -- ["card"] = "牌",
  ["hand_card"] = "hand card",
  ["pile_draw"] = "draw pile",
  ["pile_discard"] = "discard pile",
  ["processing_area"] = "processing area",
  ["Pile"] = "pile",
  -- ["Top"] = "牌堆顶",
  -- ["Bottom"] = "牌堆底",
  -- ["Shuffle"] = "洗牌",

  ["general_card"] = "character card",
  ["General"] = "character",
  ["noGeneral"] = "no character",
  -- ["Kingdom"] = "势力",
  -- ["Gender"] = "性别",
  -- ["male"] = "男性",
  -- ["female"] = "女性",
  -- ["bigender"] = "双性",
  -- ["agender"] = "无性",
  -- ["MaxHp"] = "",
  ["Hp"] = "HP",
  ["Damage"] = "DMG",
  ["Lost"] = "lost",
  ["Distance"] = "distance",
  ["Judge"] = "judge",
  ["Retrial"] = "retrial",

  ["_sealed"] = "Seal",
  ["weapon_sealed"] = "Weapon sealed",
  ["armor_sealed"] = "Armor sealed",
  ["treasure_sealed"] = "treasure sealed",

  ["WeaponSlot"] = "Weapon slot",
  ["ArmorSlot"] = "Armor slot",
  ["OffensiveRideSlot"] = "-1 horse slot",
  ["DefensiveRideSlot"] = "+1 horse slot",
  ["TreasureSlot"] = "Treasure slot",
  ["JudgeSlot"] = "Judge area",

  -- ["skill"] = "技能",
  ["skill_invalidity"] = "<font color='red'> (invalid)</font>",
}, "en_US")

-- related to sendLog
Fk:loadTranslationTable({
  -- game processing
  ["$AppendSeparator"] = '<font color="grey">------------------------------</font>',
  ["$GameStart"] = "== Game %arg Started ==",
  ["$GameEnd"] = "== Game Over ==",
  ["$TurnStart"] = "<font color='grey'>-------</font>%from's Turn Start <font color='grey'>-------</font>",
  ["$ExtraTurnStart"] = "<font color='grey'>-------</font>%arg Turn of %from Start<font color='grey'>-------</font>",
  ["$TurnEnd"] = "<font color='grey'>-------</font> %from's Turn End <font color='grey'>-------</font>",
  ["$ExtraTurnEnd"] = "<font color='grey'>-------</font>%arg Turn of %from End <font color='grey'>-------</font>",
  ["$RoundStart"] = "<font color='grey'>--------------</font> %arg th Round Start <font color='grey'>--------------</font>",
  ["$RoundEnd"] = "<font color='grey'>--------------</font> %arg th Round End <font color='grey'>--------------</font>",

  -- get/lose skill
  ["#AcquireSkill"] = '%from acquired the skill "%arg"',
  ["#LoseSkill"] = '%from lost the skill "%arg"',

  -- moveCards (they are sent by notifyMoveCards)
  ["$PutCard"] = "%arg card(s) of %from were put into draw pile",
  ["$PutKnownCard"] = "%card of %from were put into draw pile",
  ["$RemoveCardFromGame"] = "%arg2 card(s) were removed from game (as %arg)",
  ["$AddToPile"] = "%card were removed from game (as %arg)",
  ["$GetCardsFromPile"] = "%from got %arg2 card(s) %card from %arg",
  ["$DrawCards"] = "%from drew %arg card(s) %card",
  ["$PreyCardsFromPile"] = "%from got %arg card(s) %card",
  ["$GotCardBack"] = "%from took back %arg card(s) %card",
  ["$RecycleCard"] = "%from took back %arg card(s) %card from discard pile",
  ["$MoveCards"] = "%to got %arg card(s) %card from %from",
  ["$LightningMove"] = "%card transfered from %from to %to",
  ["$PasteCard"] = "%from used %card to %to",
  ["$DiscardCards"] = "%from discarded %arg card(s) %card",
  ["$DiscardOther"] = "%to discarded %arg card(s) %card from %from",
  ["$InstallEquip"] = "%from equipped %card",
  ["$UninstallEquip"] = "%from uninstalled %card",
  ["$InstallVirtualEquip"] = "%from equipped %arg(from %card)",
  ["$UninstallVirtualEquip"] = "%from uninstalled %arg(from %card)",

  ["#ShowCard"] = "%from showed card(s) %card",
  ["#Recast"] = "%from recasted %card",
  ["#RecastBySkill"] = "%from recasted %card by %arg",

  -- phase
  ["#PhaseSkipped"] = "%from skipped %arg",
  ["#GainAnExtraTurn"] = "%from started to play an extra turn",
  ["#GainAnExtraPhase"] = "%from started to play an extra phase (%arg)",

  -- useCard
  ["#UseCard"] = "%from used card %card",
  ["#UseCardToTargets"] = "%from used card %card，and the target was %to",
  ["#CardUseCollaborator"] = "%from choosed %to as the sub-target of %arg",
  ["#UseCardToCard"] = "%from used card %card, and the target was %arg",
  ["#ResponsePlayCard"] = "%from played card %card",

  ["#UseVCard"] = "%from used card %card as %arg",
  ["#UseVCardToTargets"] = "%from used card %card as %arg, and the target was %to",
  ["#UseVCardToCard"] = "%from used card %card as %arg2, and the target was %arg",
  ["#ResponsePlayVCard"] = "%from played %card as %arg",
  ["#UseV0Card"] = "%from used %arg",
  ["#UseV0CardToTargets"] = "%from used %arg, target was %to",
  ["#UseV0CardToCard"] = "%from used %arg2，target was %arg",
  ["#ResponsePlayV0Card"] = "%from played %arg",

  ["#FilterCard"] = "Due to %arg, %arg2 that related to %from was regarded as %arg3",

  -- skill
  ["#InvokeSkill"] = '%from used skill "%arg"',
  ["#InvokeSkillTo"] = '%from used skill "%arg" to %to',

  -- judge
  ["#StartJudgeReason"] = "%from started a judgement (%arg)",
  ["#InitialJudge"] = "Judge card of %from was %arg",
  ["#ChangedJudge"] = "%from invoked %arg, retrialed judgement of %to with %arg2",
  ["#JudgeResult"] = "The judge result of %from was %arg",

  -- turnOver
  ["#TurnOver"] = "%from turned over character card, now his status is %arg",
  ["face_up"] = "face up",
  ["face_down"] = "face down",

  -- damage, heal and lose HP
  ["#Damage"] = "%to dealt %arg %arg2 DMG to %from",
  ["#DamageWithNoFrom"] = "%from took %arg %arg2 DMG",
  ["#LoseHP"] = "%from lost %arg HP",
  ["#HealHP"] = "%from healed %arg HP",
  ["#ShowHPAndMaxHP"] = "%from now has %arg HP (max HP = %arg2)",
  ["#LoseMaxHP"] = "%from lost %arg max HP",
  ["#HealMaxHP"] = "%from healed %arg max HP",

  -- dying and death
  ["#EnterDying"] = "%from is dying now",
  ["#KillPlayer"] = "%from [%arg] died, the killer was %to",
  ["#KillPlayerWithNoKiller"] = "%from [%arg] died without a killer",
  ["#Revive"] = "Wow, %from revived!",

  -- change hero
  ["#ChangeHero"] = "%from changed his %arg3 %arg to %arg2",

  -- misc
  ["#GuanxingResult"] = "The stargazing result of %from was %arg top, %arg2 bottom",
  ["#ChainStateChange"] = "%from %arg his character card",
  ["#ChainDamage"] = "%from is chained, so he will suffer damage too",
  ["#ChangeKingdom"] = "%from changed kingdom from %arg to %arg2",
}, "en_US")

-- card footnote
Fk:loadTranslationTable({
  ["$$DiscardCards"] = "%from discards",
  ["$$PutCard"] = "%from puts",

  ["##UseCard"] = "%from uses",
  ["##UseCardTo"] = "%from to %to",
  ["##ResponsePlayCard"] = "%from plays",
  ["##ShowCard"] = "%from shows",
  ["##JudgeCard"] = "%arg judge",
  ["##PindianCard"] = "%from point fights",
  ["##RecastCard"] = "%from recasts",
}, "en_US")
