Skip to content

Commit

Permalink
Use lua format translation file to replace the Qt native translation …
Browse files Browse the repository at this point in the history
…mechanism
  • Loading branch information
Moligaloo committed Dec 24, 2010
1 parent 0578ff5 commit a9be975
Show file tree
Hide file tree
Showing 35 changed files with 1,807 additions and 5,495 deletions.
57 changes: 57 additions & 0 deletions lang/ts2lua.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
-- This is a script that extract translation informatio
-- from TS file to serveral translation files with lua format
-- The script requires 'lxp' which is the expat binding for Lua

require "lxp.lom"

content = io.open("sanguosha.ts"):read("*a")
content = lxp.lom.parse(content)

function parse_message(message)
local source, translation
for _, element in ipairs(message) do
if element.tag == "source" then
source = element[1]
elseif element.tag == "translation" then
translation = element[1]
end
end

return { source, translation }
end

function parse_context(context)
local name
local messages = {}

for _, element in ipairs(context) do
if element.tag == "name" then
name = element[1]
elseif element.tag == "message" then
table.insert(messages, parse_message(element))
end
end

if name then
local f = io.open(name .. ".lua", "w")

f:write("-- translation for " .. name .. "\n\n")
f:write("return {\n")
for _, message in ipairs(messages) do
local source = message[1]
local translation = message[2]
if source and translation then
f:write(("\t[%q] = %q, \n"):format(source, translation))
end
end
f:write("}\n")

f:close()
end
end

for _, context in ipairs(content) do
if context.tag == "context" then
parse_context(context)
end
end
14 changes: 14 additions & 0 deletions lang/zh_CN/ChallengeModeSet.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
-- translation for ChallengeModeSet

return {
["@4lords"] = "四大天王",
["@disaster4fr"] = "腐女的灾难",
["@p4luoyi"] = "裸衣的横扫",
["@test4pile"] = "牌堆的考验",
["@mythology"] = "神的传说",
["@2strike"] = "二刀的猛进",
["@tortoise"] = "万年打不动的老乌龟",
["@manshow"] = "抓狂的闷骚",
["@greatrange"] = "大范围扫射",
["@p4cure"] = "强大的自愈",
}
8 changes: 8 additions & 0 deletions lang/zh_CN/CoupleScenario.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
-- translation for CoupleScenario

return {
["couple"] = "夫妻协战",
["reselect"] = "重选",
["#Marry"] = "恭喜 %from 与 %to 喜结连理!",
["#Divorse"] = "负心的 %from 抛弃了可怜的 %to",
}
25 changes: 25 additions & 0 deletions lang/zh_CN/FanchengScenario.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
-- translation for FanchengScenario

return {
["fancheng"] = "樊城之战",
["guagu"] = "刮骨疗毒",
["dujiang"] = "白衣渡江",
["flood"] = "水淹七军",
["taichen"] = "抬榇战关羽",
["changqu"] = "长驱直入",
["xiansheng"] = "玉泉显圣",
["zhiyuan"] = "支援",
[":guagu"] = "锁定技:华佗每对关羽造成1点伤害,关羽回复2点体力,且华佗再摸一张牌",
[":dujiang"] = "限定技:在吕蒙的回合开始阶段,他可弃掉2张已装备的装备,变身为神吕蒙,体力上限变为3(若当前体力值为4,\
则同样降到3),失去原来的克己技能,同时获得神吕蒙的涉猎与攻心的技能。若回合开始时已装备的装备数不足2,\
则无法发动此技能。若水淹七军剧情已发生,则曹仁失去的手牌上限-1的不利效果",
[":flood"] = "限定技:关羽可弃3张黑色手牌,令所有反贼弃掉所有装备,并弃2张手牌或受到关羽的1点伤害,弃手牌还是装备由\
反贼决定,若手牌不足两张则必须受到伤害(与刚烈成功一样),曹仁的手牌上限-1",
[":taichen"] = "出牌阶段,可自减1点体力,视作对关羽打出了一张决斗,此决斗不能被无懈可击,无论关羽杀死庞德无\
3张牌的奖励,即视为天灾",
[":changqu"] = "锁定技:水淹七军剧情发生后,徐晃到关羽的距离为1,但反之关羽到徐晃的距离正常计算",
[":xiansheng"] = "限定技:在关羽回合开始阶段,若体力小于等于2,则可以弃掉所有装备和手牌,然后摸3张手牌,变身为神关羽(没\
有武魂的索命技能,仅有武神),体力和体力上限皆为6。抬榇战关羽、长驱直入、刮骨疗毒都能对新的神关羽起作用",
[":zhiyuan"] = "你可在出牌阶段给庞德或徐晃一张基本牌,每回合限用2次",
["@@dujiang"] = "请弃掉两张已装备的装备牌,变身为神吕蒙",
}
64 changes: 64 additions & 0 deletions lang/zh_CN/FirePackage.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
-- translation for FirePackage

return {
["fire"] = "火包",
["xunyu"] = "荀彧",
["dianwei"] = "典韦",
["wolong"] = "卧龙",
["pangtong"] = "庞统",
["taishici"] = "太史慈",
["yuanshao"] = "袁绍",
["shuangxiong"] = "双雄",
["pangde"] = "庞德",
["quhu"] = "驱虎",
["jieming"] = "节命",
["qiangxi"] = "强袭",
["lianhuan"] = "连环",
["niepan"] = "涅槃",
["bazhen"] = "八阵",
["huoji"] = "火计",
["kanpo"] = "看破",
["tianyi"] = "天义",
["mengjin"] = "猛进",
["luanji"] = "乱击",
["xueyi"] = "血裔",
[":qiangxi"] = "出牌阶段,你可以自减1点体力或弃一张武器牌,然后对你攻击范围内的一名角色造成1点伤害。每回合限用一次",
[":lianhuan"] = "出牌阶段,你可以将你任意一张梅花手牌当【铁索连环】使用或重铸",
[":quhu"] = "出牌阶段,你可以与一名体力比你多的角色拼点,若你赢,目标角色对其攻击范围内,你指定的另一名角色(不能是被驱虎的角色本身)造成1点伤害。若你没赢,他/她对你造成1点伤害。每回合限用一次",
[":jieming"] = "你每受到1点伤害,可令任意一名角色将手牌补至其体力上限的张数(不能超过5张)。 \
★若荀彧发动“节命”时,指定的目标角色手牌数多于或等于其体力上限,则不补牌\
★当你一次受到1点以上的伤害时,可依次令不同的目标角色补牌",
[":niepan"] = "限定技,当你处于濒死状态时,你可以丢弃你所有的牌和你判定区里的牌,并重置你的武将牌,然后摸三张牌且体力回复至3点\
★庞统做主公时,发动涅槃后也只将体力回复至3点",
[":bazhen"] = "锁定技,当你没装备防具时,始终视为你装备着【八卦阵】\
★装备任何防具都会失去“八阵”的效果",
[":huoji"] = "出牌阶段,你可以将你的任意一张红色手牌当【火攻】使用",
[":kanpo"] = "你可以将你的任意一张黑色手牌当【无懈可击】使用",
[":tianyi"] = "出牌阶段,你可以和一名角色拼点.若你赢,你获得以下技能直到回合结束:攻击范围无限;可额外使用一张【杀】;使用【杀】时可额外指定一个目标.若你没赢,你不能使用【杀】直到回合结束.每回合限一次\
★双方各以牌面向下的方式出一张牌后同时亮出,牌面上的点数大的一方赢。若点数相同则算太史慈没赢",
[":mengjin"] = "当你使用的【杀】被【闪】抵消时,你可以弃掉对方的一张牌\
★猛进的效果可以弃掉对方的手牌或装备区里的牌,但不能是判定区里的牌",
[":luanji"] = "出牌阶段,你可以将任意两张相同花色的手牌当【万箭齐发】使用",
[":xueyi"] = "主公技,锁定技,场上每有一名其他群雄角色存活,你的手牌上限便+2",
[":shuangxiong"] = "摸牌阶段,可以选择放弃摸牌并进行一次判定:获得此判定牌并且此回合可以将任意一张与该判定牌不同颜色的手牌当【决斗】使用",
["jieming:yes"] = "您可令任意一名角色将手牌补至其体力上限的张数(不能超过5张)",
["shuangxiong:yes"] = "选择放弃摸牌并进行一次判定:获得此判定牌并且此回合可以将任意一张与该判定牌不同颜色的手牌当【决斗】使用",
["mengjin:yes"] = "你可以弃掉对方的一张牌",
["niepan:yes"] = "丢弃你所有的牌和你判定区里的牌,然后摸三张牌且体力回复至3点(一局游戏仅可使用一次)",
["bazhen:yes"] = "发动自带的八卦阵",
["@jieming"] = "请指定【节命】的目标",
["$#tunlang"] = "驱虎吞狼,坐收渔利",
["$bazhen1"] = "此阵可挡精兵十万",
["$huoji1"] = "欲破敌军,宜用火攻",
["$huoji2"] = "且备硫磺焰硝,待命引火",
["$jieming1"] = "为守汉节,不惜吾命",
["$jieming2"] = "秉忠贞之志,守谦退之节",
["$kanpo"] = "哼,此小计耳",
["$lianhuan"] = "舟船成排,潮水何惧",
["$luanji1"] = "弓箭手出列!",
["$luanji2"] = "放箭!",
["$niepan"] = "凤凰涅盘,浴火重生!",
["$qiangxi"] = "五步之内,汝命休矣!",
["$quhu"] = "主公莫忧,吾有一计",
["$tianyi"] = "大丈夫生于乱世,当立不世之功",
}
76 changes: 76 additions & 0 deletions lang/zh_CN/GodPackage.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
-- translation for GodPackage

return {
["god"] = "",
["shenguanyu"] = "神关羽",
["shenlumeng"] = "神吕蒙",
["wushen"] = "武神",
["wuhun"] = "武魂",
["shelie"] = "涉猎",
["gongxin"] = "攻心",
[":wushen"] = "锁定技,你的每一张红桃手牌都视为【杀】,你使用红桃【杀】时无距离限制",
[":wuhun"] = "锁定技,任意角色每对你造成1点伤害,将获得一个梦魇标记。当你死亡时,你可以让持有最多该标记的角色判定:除非结果为【桃】或【桃园结义】,否则该角色立即死亡",
[":shelie"] = "摸牌阶段,你可以选择执行以下行动来取代摸牌:从牌堆顶亮出五张牌,拿走不同花色的牌各一张,然后弃掉其余的",
[":gongxin"] = "出牌阶段,你可以观看一次任意一名角色的手牌,并可以展示其中一张红桃牌,然后弃掉它或将它置于牌堆顶",
["shelie:yes"] = "选择执行以下行动来取代摸牌:从牌堆顶亮出五张牌,拿走不同花色的牌各一张,然后弃掉其余的",
[":gongxin:"] = "请问如何处理这张红桃牌:",
["gongxin:discard"] = "扔掉",
["gongxin:put"] = "放置在牌堆顶",
["shenzhouyu"] = "神周瑜",
["shenzhugeliang"] = "神诸葛亮",
["qinyin"] = "琴音",
["yeyan"] = "业炎",
["qixing"] = "七星",
["kuangfeng"] = "狂风",
["dawu"] = "大雾",
[":qinyin"] = "弃牌阶段,当你弃掉了两张或更多的手牌,可令所有角色各回复1点体力或各失去1点体力\
★失去体力意味着相关的武将技能不能发动。例如遗计,反馈等等……失去体力不等于受到伤害\
★发动琴音时只能选择其中的1项执行,所有人回复1点体力或所有人失去一点体力(包括周瑜自己)",
[":greatyeyan"] = "出牌阶段,你可选择1名角色,弃掉4张不同花色的手牌并失去3点体力,对其造成3点火焰伤害。整局游戏只能发动一次,中业炎和小业炎也不能再发动",
[":mediumyeyan"] = "出牌阶段,你可以选择1~2名角色,先弃掉4张不同花色的手牌并失去3点体力,然后对第一名角色造成2点火焰伤害,对第二名角色(若有)造成1点火焰伤害,整局游戏只能使用一次,发动后,大业炎和小业炎也将不能发动",
[":smallyeyan"] = "出牌阶段,你可以选择1~3名角色,对他们每人造成1点火焰伤害,整局游戏只能发动一次,发动后,大业炎和中业炎将不能再发动",
[":qixing"] = "游戏开始前,共发你11张牌,选4张作为手牌,其余的面朝下置于一旁(移出游戏),称之为“星”。每当你于摸牌阶段摸牌后,可用任意数量的手牌等量交换这些“星”\
★“星”不属于游戏中的牌,所以“星”不能被锦囊和武将技能影响",
[":kuangfeng"] = "回合结束阶段,你可以弃掉1枚“星”指定一名角色:直到你的下回合开始,该角色每次受到的火焰伤害+1",
[":dawu"] = "回合结束阶段,你可以弃掉X枚“星”指定X名角色:直到你的下回合开始,防止他们受到的除雷电伤害外的一切伤害\
★“星”不属于游戏中的牌,所以“星”不能被锦囊和武将技能影响\
★目前的雷电伤害有“雷杀”,张角的技能“雷击”,以及“闪电”三种\
★大雾不能防止失去体力",
["qinyin:yes"] = "所有角色各回复1点体力或各失去1点体力",
[":qinyin:"] = "请选择琴音技能的选项:",
["qinyin:up"] = "令所有角色各回复1点体力",
["qinyin:down"] = "所有角色各失去1点体力",
["greatyeyan"] = "大业炎",
["mediumyeyan"] = "中业炎",
["smallyeyan"] = "小业炎",
["shencaocao"] = "神曹操",
["shenlubu"] = "神吕布",
["guixin"] = "归心",
["feiying"] = "飞影",
["kuangbao"] = "狂暴",
["wumou"] = "无谋",
["wuqian"] = "无前",
["shenfen"] = "神愤",
[":guixin"] = "你每受到1点伤害,可分别从每名其他角色处(手牌、装备区和判定区)获得一张牌,若如此做,将你的武将牌翻面",
[":feiying"] = "锁定技,当其他角色计算与你的距离时,始终+1",
[":kuangbao"] = "游戏开始时你获得2个暴怒标记,游戏中你每受到或造成1点伤害,获得1个暴怒标记",
[":wumou"] = "锁定技,你每使用非延时类一张锦囊前(在它结算前),必须弃掉1个暴怒标记,或者失去1点体力",
[":wuqian"] = "出牌阶段你可以弃两个暴怒标记并指定一名角色,这名角色的防具无效且你获得“无双”的技能,直到回合结束",
[":shenfen"] = "出牌阶段,弃六个暴怒标记,你对每名其他角色各造成一点伤害,其他角色先弃掉各自装备区里所有的牌,再各弃四张手牌,然后将你的武将牌反面,每回合限一次",
["wumou:discard"] = "弃掉一个“暴怒”标记",
["womou:losehp"] = "失去一点体力",
["#GetMark"] = "%from 得到了 %arg2 枚 %arg 标记",
["#LoseMark"] = "%from 失去了 %arg2 枚 %arg 标记",
["@nightmare"] = "梦魇",
["@wrath"] = "暴怒",
["@star"] = "七星",
["@fog"] = "大雾",
["@gale"] = "狂风",
["@qixing-exchange"] = "请选择 %arg 张用以交换的手牌",
["@@kuangfeng-card"] = "请选择一名角色,直到你的下回合开始,该角色每次受到的火焰伤害+1",
["@@dawu-card"] = "你可以弃掉X枚“星”指定X名角色:直到你的下回合开始,防止他们受到的除雷电伤害外的一切伤害",
["$guixin"] = "山不厌高,海不厌深,周公吐哺,天下归心",
["#FogProtect"] = "%from 受到大雾保护,防止了 %arg 点伤害(%arg2)",
["#GalePower"] = "由于狂风的影响,%from 的伤害从 %arg 点火焰伤害增加到 %arg2 点火焰伤害",
["#QixingExchange"] = "%from 使用了【七星】,交换了 %arg 张手牌",
}
11 changes: 11 additions & 0 deletions lang/zh_CN/GuanduScenario.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
-- translation for GuanduScenario

return {
["guandu"] = "官渡之战",
["smalltuxi"] = "小突袭",
["zhanshuangxiong"] = "斩颜良诛文丑",
["greatyiji"] = "遗计定辽东",
[":smalltuxi"] = "摸牌阶段,你可以放弃摸牌,从一名其他角色手里抽一张牌",
[":zhanshuangxiong"] = "每回合可选择与颜良文丑拼点一次,落败的一方将损失一点体力",
[":greatyiji"] = "每回合的出牌阶段之前强制自损一血,同时遗计可摸三张牌,直到自己阵亡为止",
}
7 changes: 7 additions & 0 deletions lang/zh_CN/JoyPackage.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
-- translation for JoyPackage

return {
["joy"] = "欢乐",
["shit"] = "",
[":shit"] = "当此牌在<font color='red'><b>你的回合</b></font>内从你的<font color='red'>手牌</font>进入<font color='red'>弃牌堆</font>时,你将受到自己对自己的一点无属性伤害,造成伤害的牌为此牌,在你的回合内,你可多次食用",
}
38 changes: 38 additions & 0 deletions lang/zh_CN/ManeuveringPackage.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
-- translation for ManeuveringPackage

return {
["maneuvering"] = "军争",
["buff_card"] = "辅助伤害卡",
["damage_spread"] = "伤害传导",
["fire_attack"] = "火攻",
["thunder_slash"] = "雷杀",
["fire_slash"] = "火杀",
["analeptic"] = "",
["fan"] = "朱雀羽扇",
["hualiu"] = "骅骝",
["guding_blade"] = "古锭刀",
["vine"] = "藤甲",
["silver_lion"] = "白银狮子",
["iron_chain"] = "铁索连环",
["supply_shortage"] = "兵粮寸断",
["fan:yes"] = "你可将此普通【杀】视作【火杀】",
["fire-attack-card"] = "您可以弃一张与%dest所展示卡牌相同花色(%arg)的牌对%dest产生一点火焰伤害",
[":analeptic"] = "出牌阶段,对自己使用,令自己的下一张使用的【杀】造成的伤害+1(每回合限使用1次);任何时候,当自己进入濒死阶段时,对自己使用,立即回复1点体力值",
[":fire_slash"] = "出牌时机:出牌阶段\
使用目标:除你外,你攻击范围内的一名角色\
作用效果:【杀】对目标角色造成1点伤害",
[":thunder_slash"] = "出牌时机:出牌阶段\
使用目标:除你外,你攻击范围内的一名角色\
作用效果:【杀】对目标角色造成1点伤害",
[":fire_attack"] = "出牌阶段,对任一有手牌的角色使用。目标角色展示1张手牌,若你弃置1张与之相同花色的手牌,则你对目标角色造成1点火焰伤害",
[":iron_chain"] = "连环,出牌阶段使用,选择1至2个角色,分别横置或重置这些角色。处于“连环状态”。重铸,出牌阶段,你可以从手里弃掉这张牌,然后摸1张牌",
[":supply_shortage"] = "出牌阶段,对除你以外,与你距离为1以内的角色使用(横置于该角色的判定区内)若其判定的结果不为梅花,则跳过该角色的摸牌阶段",
[":guding_blade"] = "锁定技,当你使用的【杀】造成伤害时,若指定目标没有手牌,则该伤害+1",
[":fan"] = "你可以将你的任一普通杀当作具火焰伤害的杀来使用",
[":vine"] = "锁定技,南蛮入侵、万箭齐发和普通杀对你无效。每次受到火焰伤害时,该伤害+1",
[":silver_lion"] = "锁定技,每次你受到伤害时,最多承受1点伤害(防止多余的伤害);当你失去装备区里的白银狮子时,你回复1点体力值",
[":+1 horse"] = "其他角色计算与你的距离时,始终+1。(你可以理解为一种防御上的优势)不同名称的+1马,其效果是相同的",
["#SilverLion"] = "%from 的防具【白银狮子】防止了 %arg 点伤害,减至1点",
["#VineDamage"] = "%from 装备【藤甲】的负面技能被触发,由 %arg 点火焰伤害增加到 %arg2 点火焰伤害",
["@fire-attack"] = "%src 展示的牌的花色为 %arg,请弃掉与其相同花色的牌",
}
17 changes: 17 additions & 0 deletions lang/zh_CN/NostalgiaPackage.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
-- translation for NostalgiaPackage

return {
["nostalgia"] = "怀旧",
["xiaoqiao"] = "小乔",
["hongyan"] = "红颜",
["tianxiang"] = "天香",
[":hongyan"] = "锁定技,你的黑桃牌均视为红桃花色",
[":tianxiang"] = "每当你受到伤害时,你可以弃一张红桃手牌来转移此伤害给任意一名角色,然后该角色摸X张牌;X为该角色当前已损失的体力值",
["$tianxiang1"] = "替我挡着",
["$tianxiang2"] = "接着哦",
["moon_spear"] = "银月枪",
[":moon_spear"] = "你的回合外,每当你使用或打出了一张黑色手牌(若为使用则在它结算之前),你可以立即对你攻击范围内的任意一名角色使用一张【杀】",
["@moon-spear-slash"] = "银月枪的技能被触发,请打出一张【杀】以攻击",
["@@tianxiang-card"] = "请打出一张红桃或黑桃来转移伤害",
["#HongyanJudge"] = "%from 的锁定技【红颜】触发, 判定牌由黑牌变成了红桃",
}
Loading

0 comments on commit a9be975

Please sign in to comment.