diff --git a/README.md b/README.md index 3da69b56..ed7378dc 100644 --- a/README.md +++ b/README.md @@ -38,20 +38,21 @@ welcome to the official [Discord](https://discord.gg/GqYkGV4WwX) and [![Translation Status](https://hosted.weblate.org/widgets/tabletop-club/-/svg-badge.svg)](https://hosted.weblate.org/engage/tabletop-club/) -Language | Game | Documentation | Default Asset Pack ----------------- | ------------------ | ------------------ | ------------------ -English | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: -Dutch | :heavy_check_mark: | :x: | :heavy_check_mark: -Esperanto | 94% | :x: | 99% -French | 99% | :x: | 99% -German | 99% | :x: | 99% -Indonesian | 55% | :x: | :x: -Italian | 88% | :x: | :x: -Norwegian Bokmål | 99% | :x: | 89% -Polish | 71% | :x: | :x: -Portuguese | 85% | :x: | 99% -Russian | 94% | 90% | 82% -Spanish | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: +Language | Game | Documentation | Default Asset Pack +-------------------- | ------------------ | ------------------ | ------------------ +Chinese (Simplified) | 99% | :heavy_check_mark: | 99% +English | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: +Dutch | :heavy_check_mark: | :x: | :heavy_check_mark: +Esperanto | 94% | :x: | 99% +French | 99% | :x: | 99% +German | 99% | :x: | 99% +Indonesian | 55% | :x: | :x: +Italian | 88% | :x: | :x: +Norwegian Bokmål | 99% | :x: | 89% +Polish | 71% | :x: | :x: +Portuguese | 85% | :x: | 99% +Russian | 94% | 90% | 82% +Spanish | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: If you want to help translate the project, you can go to the project's [Hosted Weblate](https://hosted.weblate.org/engage/tabletop-club/) page. diff --git a/assets/.translations/inject_po.py b/assets/.translations/inject_po.py index 69975f0f..82e6a8dd 100755 --- a/assets/.translations/inject_po.py +++ b/assets/.translations/inject_po.py @@ -34,6 +34,12 @@ if len(sys.argv) < 2: locale = sys.argv[1] po_file = polib.pofile(locale + ".po") +# Since zh_Hans is not recognised by Godot as a locale code, we'll rename it to +# one that is recognised so the game will read the config files like any other +# locale. +if locale == "zh_Hans": + locale = "zh" + configs = {} for entry in po_file.translated_entries(): for occurrence in entry.occurrences: diff --git a/assets/TabletopClub/boards/config.zh.cfg b/assets/TabletopClub/boards/config.zh.cfg new file mode 100644 index 00000000..e29d6801 --- /dev/null +++ b/assets/TabletopClub/boards/config.zh.cfg @@ -0,0 +1,13 @@ +; Generated by inject_po.py at 2023-05-31 15:34 +[Chess Board] +name = "棋盘" +desc = "一个8x8棋盘。" + +[Go Board (Large)] +name = "围棋盘(大)" +desc = "19x19 围棋盘。" + +[Go Board (Small)] +name = "围棋盘(小)" +desc = "13x13和9x9的围棋棋盘。" + diff --git a/assets/TabletopClub/cards/config.zh.cfg b/assets/TabletopClub/cards/config.zh.cfg new file mode 100644 index 00000000..40b10cc0 --- /dev/null +++ b/assets/TabletopClub/cards/config.zh.cfg @@ -0,0 +1,233 @@ +; Generated by inject_po.py at 2023-05-31 15:34 +[52-Card Deck] +name = "52牌组" +desc = "一副法式扑克牌,不包括大小王。" + +[Ace of Clubs] +name = "梅花A" +desc = "一副法式扑克牌。" + +[Ace of Diamonds] +desc = "一副法式扑克牌。" +name = "方块A" + +[Ace of Hearts] +desc = "一副法式扑克牌。" +name = "红桃A" + +[Ace of Spades] +desc = "一副法式扑克牌。" +name = "黑桃A" + +[Eight of Clubs] +desc = "一副法式扑克牌。" +name = "梅花8" + +[Eight of Diamonds] +desc = "一副法式扑克牌。" +name = "方块8" + +[Eight of Hearts] +desc = "一副法式扑克牌。" +name = "红桃8" + +[Eight of Spades] +desc = "一副法式扑克牌。" +name = "黑桃8" + +[Five of Clubs] +desc = "一副法式扑克牌。" +name = "梅花5" + +[Five of Diamonds] +desc = "一副法式扑克牌。" +name = "方块5" + +[Five of Hearts] +desc = "一副法式扑克牌。" +name = "红桃5" + +[Five of Spades] +desc = "一副法式扑克牌。" +name = "黑桃5" + +[Four of Clubs] +desc = "一副法式扑克牌。" +name = "梅花4" + +[Four of Diamonds] +desc = "一副法式扑克牌。" +name = "方块4" + +[Four of Hearts] +desc = "一副法式扑克牌。" +name = "红桃4" + +[Four of Spades] +desc = "一副法式扑克牌。" +name = "黑桃4" + +[Jack of Clubs] +desc = "一副法式扑克牌。" +name = "梅花J" + +[Jack of Diamonds] +desc = "一副法式扑克牌。" +name = "方块J" + +[Jack of Hearts] +desc = "一副法式扑克牌。" +name = "红桃J" + +[Jack of Spades] +desc = "一副法式扑克牌。" +name = "黑桃J" + +[Joker Black] +desc = "一副法式扑克牌。" +name = "小王" + +[Joker Red] +desc = "一副法式扑克牌。" +name = "大王" + +[King of Clubs] +desc = "一副法式扑克牌。" +name = "梅花K" + +[King of Diamonds] +desc = "一副法式扑克牌。" +name = "方块K" + +[King of Hearts] +desc = "一副法式扑克牌。" +name = "红桃K" + +[King of Spades] +desc = "一副法式扑克牌。" +name = "黑桃K" + +[Nine of Clubs] +desc = "一副法式扑克牌。" +name = "梅花9" + +[Nine of Diamonds] +desc = "一副法式扑克牌。" +name = "方块9" + +[Nine of Hearts] +desc = "一副法式扑克牌。" +name = "红桃9" + +[Nine of Spades] +desc = "一副法式扑克牌。" +name = "黑桃9" + +[Queen of Clubs] +desc = "一副法式扑克牌。" +name = "梅花Q" + +[Queen of Diamonds] +desc = "一副法式扑克牌。" +name = "方块Q" + +[Queen of Hearts] +desc = "一副法式扑克牌。" +name = "红桃Q" + +[Queen of Spades] +desc = "一副法式扑克牌。" +name = "黑桃Q" + +[Seven of Clubs] +desc = "一副法式扑克牌。" +name = "梅花7" + +[Seven of Diamonds] +desc = "一副法式扑克牌。" +name = "方块7" + +[Seven of Hearts] +desc = "一副法式扑克牌。" +name = "红桃7" + +[Seven of Spades] +desc = "一副法式扑克牌。" +name = "黑桃7" + +[Six of Clubs] +desc = "一副法式扑克牌。" +name = "梅花6" + +[Six of Diamonds] +desc = "一副法式扑克牌。" +name = "方块6" + +[Six of Hearts] +desc = "一副法式扑克牌。" +name = "红桃6" + +[Six of Spades] +desc = "一副法式扑克牌。" +name = "黑桃6" + +[Ten of Clubs] +desc = "一副法式扑克牌。" +name = "梅花10" + +[Ten of Diamonds] +desc = "一副法式扑克牌。" +name = "方块10" + +[Ten of Hearts] +desc = "一副法式扑克牌。" +name = "红桃10" + +[Ten of Spades] +desc = "一副法式扑克牌。" +name = "黑桃10" + +[Three of Clubs] +desc = "一副法式扑克牌。" +name = "梅花3" + +[Three of Diamonds] +desc = "一副法式扑克牌。" +name = "方块3" + +[Three of Hearts] +desc = "一副法式扑克牌。" +name = "红桃3" + +[Three of Spades] +desc = "一副法式扑克牌。" +name = "黑桃3" + +[Two of Clubs] +desc = "一副法式扑克牌。" +name = "梅花2" + +[Two of Diamonds] +desc = "一副法式扑克牌。" +name = "方块2" + +[Two of Hearts] +desc = "一副法式扑克牌。" +name = "红桃2" + +[Two of Spades] +desc = "一副法式扑克牌。" +name = "黑桃2" + +[Seer] +name = "预言家" +desc = "通过每晚秘密检查某人的角色来帮助村民。" + +[Villager] +name = "村民" +desc = "白天投票反对狼人,避免在晚上被狼人吃掉。" + +[Werewolf] +name = "狼人" +desc = "决定每晚与你的族群一起享用谁,避免村民的怀疑。" + diff --git a/assets/TabletopClub/containers/config.zh.cfg b/assets/TabletopClub/containers/config.zh.cfg new file mode 100644 index 00000000..fa9ba918 --- /dev/null +++ b/assets/TabletopClub/containers/config.zh.cfg @@ -0,0 +1,10 @@ +; Generated by inject_po.py at 2023-05-31 15:34 +[Pot] +name = "锅" + +[Purse] +name = "提包" + +[Red Cup] +name = "红杯子" + diff --git a/assets/TabletopClub/dice/d10/config.zh.cfg b/assets/TabletopClub/dice/d10/config.zh.cfg new file mode 100644 index 00000000..309dac3e --- /dev/null +++ b/assets/TabletopClub/dice/d10/config.zh.cfg @@ -0,0 +1,89 @@ +; Generated by inject_po.py at 2023-05-31 15:34 +[d10 (Black)] +name = "D10(黑色)" +desc = "一个10面骰子。" + +[d10 (Blue)] +desc = "一个10面骰子。" +name = "D10(蓝色)" + +[d10 (Brown)] +desc = "一个10面骰子。" +name = "D10(棕色)" + +[d10 (Cyan)] +desc = "一个10面骰子。" +name = "D10(青色)" + +[d10 (Green)] +desc = "一个10面骰子。" +name = "D10(绿色)" + +[d10 (Orange)] +desc = "一个10面骰子。" +name = "D10(橙色)" + +[d10 (Percent) (Black)] +desc = "一个10面骰子。" +name = "D10 (十位) (黑色)" + +[d10 (Percent) (Blue)] +desc = "一个10面骰子。" +name = "D10 (十位) (蓝色)" + +[d10 (Percent) (Brown)] +desc = "一个10面骰子。" +name = "D10 (十位) (棕色)" + +[d10 (Percent) (Cyan)] +desc = "一个10面骰子。" +name = "D10 (十位) (青色)" + +[d10 (Percent) (Green)] +desc = "一个10面骰子。" +name = "D10 (十位) (绿色)" + +[d10 (Percent) (Orange)] +desc = "一个10面骰子。" +name = "D10 (十位) (橙色)" + +[d10 (Percent) (Pink)] +desc = "一个10面骰子。" +name = "D10 (十位) (粉色)" + +[d10 (Percent) (Purple)] +desc = "一个10面骰子。" +name = "D10 (十位) (紫色)" + +[d10 (Percent) (Red)] +desc = "一个10面骰子。" +name = "D10 (十位) (红色)" + +[d10 (Percent) (White)] +desc = "一个10面骰子。" +name = "D10 (十位) (白色)" + +[d10 (Percent) (Yellow)] +desc = "一个10面骰子。" +name = "D10 (十位) (黄色)" + +[d10 (Pink)] +desc = "一个10面骰子。" +name = "D10(粉色)" + +[d10 (Purple)] +desc = "一个10面骰子。" +name = "D10(紫色)" + +[d10 (Red)] +desc = "一个10面骰子。" +name = "D10(红色)" + +[d10 (White)] +desc = "一个10面骰子。" +name = "D10(白色)" + +[d10 (Yellow)] +desc = "一个10面骰子。" +name = "D10(黄色)" + diff --git a/assets/TabletopClub/dice/d12/config.zh.cfg b/assets/TabletopClub/dice/d12/config.zh.cfg new file mode 100644 index 00000000..160a58b3 --- /dev/null +++ b/assets/TabletopClub/dice/d12/config.zh.cfg @@ -0,0 +1,45 @@ +; Generated by inject_po.py at 2023-05-31 15:34 +[d12 (Black)] +name = "D12(黑色)" +desc = "一个12面骰子。" + +[d12 (Blue)] +desc = "一个12面骰子。" +name = "D12(蓝色)" + +[d12 (Brown)] +desc = "一个12面骰子。" +name = "D12(棕色)" + +[d12 (Cyan)] +desc = "一个12面骰子。" +name = "D12(青色)" + +[d12 (Green)] +desc = "一个12面骰子。" +name = "D12(绿色)" + +[d12 (Orange)] +desc = "一个12面骰子。" +name = "D12(橙色)" + +[d12 (Pink)] +desc = "一个12面骰子。" +name = "D12(粉色)" + +[d12 (Purple)] +desc = "一个12面骰子。" +name = "D12(紫色)" + +[d12 (Red)] +desc = "一个12面骰子。" +name = "D12(红色)" + +[d12 (White)] +desc = "一个12面骰子。" +name = "D12(白色)" + +[d12 (Yellow)] +desc = "一个12面骰子。" +name = "D12(黄色)" + diff --git a/assets/TabletopClub/dice/d20/config.zh.cfg b/assets/TabletopClub/dice/d20/config.zh.cfg new file mode 100644 index 00000000..77cf1d5b --- /dev/null +++ b/assets/TabletopClub/dice/d20/config.zh.cfg @@ -0,0 +1,45 @@ +; Generated by inject_po.py at 2023-05-31 15:34 +[d20 (Black)] +name = "D20(黑色)" +desc = "一个20面骰子。" + +[d20 (Blue)] +desc = "一个20面骰子。" +name = "D20(蓝色)" + +[d20 (Brown)] +desc = "一个20面骰子。" +name = "D20(棕色)" + +[d20 (Cyan)] +desc = "一个20面骰子。" +name = "D20(青色)" + +[d20 (Green)] +desc = "一个20面骰子。" +name = "D20(绿色)" + +[d20 (Orange)] +desc = "一个20面骰子。" +name = "D20(橙色)" + +[d20 (Pink)] +desc = "一个20面骰子。" +name = "D20(粉色)" + +[d20 (Purple)] +desc = "一个20面骰子。" +name = "D20(紫色)" + +[d20 (Red)] +desc = "一个20面骰子。" +name = "D20(红色)" + +[d20 (White)] +desc = "一个20面骰子。" +name = "D20(白色)" + +[d20 (Yellow)] +desc = "一个20面骰子。" +name = "D20(黄色)" + diff --git a/assets/TabletopClub/dice/d4/config.zh.cfg b/assets/TabletopClub/dice/d4/config.zh.cfg new file mode 100644 index 00000000..7600a826 --- /dev/null +++ b/assets/TabletopClub/dice/d4/config.zh.cfg @@ -0,0 +1,45 @@ +; Generated by inject_po.py at 2023-05-31 15:34 +[d4 (Black)] +name = "D4(黑色)" +desc = "4 面骰子。" + +[d4 (Blue)] +desc = "4 面骰子。" +name = "D4(蓝色)" + +[d4 (Brown)] +desc = "4 面骰子。" +name = "D4(棕色)" + +[d4 (Cyan)] +desc = "4 面骰子。" +name = "D4(青色)" + +[d4 (Green)] +desc = "4 面骰子。" +name = "D4(绿色)" + +[d4 (Orange)] +desc = "4 面骰子。" +name = "D4(橙色)" + +[d4 (Pink)] +desc = "4 面骰子。" +name = "D4(粉色)" + +[d4 (Purple)] +desc = "4 面骰子。" +name = "D4(紫色)" + +[d4 (Red)] +desc = "4 面骰子。" +name = "D4(红色)" + +[d4 (White)] +desc = "4 面骰子。" +name = "D4(白色)" + +[d4 (Yellow)] +desc = "4 面骰子。" +name = "D4(黄色)" + diff --git a/assets/TabletopClub/dice/d6/config.zh.cfg b/assets/TabletopClub/dice/d6/config.zh.cfg new file mode 100644 index 00000000..e82545a5 --- /dev/null +++ b/assets/TabletopClub/dice/d6/config.zh.cfg @@ -0,0 +1,49 @@ +; Generated by inject_po.py at 2023-05-31 15:34 +[d6 (Black)] +name = "D6(黑色)" +desc = "一个6面骰子。" + +[d6 (Blue)] +desc = "一个6面骰子。" +name = "D6(蓝色)" + +[d6 (Brown)] +desc = "一个6面骰子。" +name = "D6(棕色)" + +[d6 (Cyan)] +desc = "一个6面骰子。" +name = "D6(青色)" + +[d6 (Green)] +desc = "一个6面骰子。" +name = "D6(绿色)" + +[d6 (Orange)] +desc = "一个6面骰子。" +name = "D6(橙色)" + +[d6 (Pink)] +desc = "一个6面骰子。" +name = "D6(粉色)" + +[d6 (Purple)] +desc = "一个6面骰子。" +name = "D6(紫色)" + +[d6 (Red)] +desc = "一个6面骰子。" +name = "D6(红色)" + +[d6 (Traditional)] +desc = "一个6面骰子。" +name = "D6(经典骰子)" + +[d6 (White)] +desc = "一个6面骰子。" +name = "D6(白色)" + +[d6 (Yellow)] +desc = "一个6面骰子。" +name = "D6(黄色)" + diff --git a/assets/TabletopClub/dice/d8/config.zh.cfg b/assets/TabletopClub/dice/d8/config.zh.cfg new file mode 100644 index 00000000..5a4e9af2 --- /dev/null +++ b/assets/TabletopClub/dice/d8/config.zh.cfg @@ -0,0 +1,45 @@ +; Generated by inject_po.py at 2023-05-31 15:34 +[d8 (Black)] +name = "D8(黑色)" +desc = "一个8面骰子。" + +[d8 (Blue)] +desc = "一个8面骰子。" +name = "D8(蓝色)" + +[d8 (Brown)] +desc = "一个8面骰子。" +name = "D8(棕色)" + +[d8 (Cyan)] +desc = "一个8面骰子。" +name = "D8(青色)" + +[d8 (Green)] +desc = "一个8面骰子。" +name = "D8(绿色)" + +[d8 (Orange)] +desc = "一个8面骰子。" +name = "D8(橙色)" + +[d8 (Pink)] +desc = "一个8面骰子。" +name = "D8(粉色)" + +[d8 (Purple)] +desc = "一个8面骰子。" +name = "D8(紫色)" + +[d8 (Red)] +desc = "一个8面骰子。" +name = "D8(红色)" + +[d8 (White)] +desc = "一个8面骰子。" +name = "D8(白色)" + +[d8 (Yellow)] +desc = "一个8面骰子。" +name = "D8(黄色)" + diff --git a/assets/TabletopClub/games/config.zh.cfg b/assets/TabletopClub/games/config.zh.cfg new file mode 100644 index 00000000..c34dca81 --- /dev/null +++ b/assets/TabletopClub/games/config.zh.cfg @@ -0,0 +1,18 @@ +; Generated by inject_po.py at 2023-05-31 15:34 +[Chess] +name = "国际象棋" +desc = "标准国际象棋对局。" + +[Dominoes] +name = "多米诺骨牌" +desc = "带一个含28块骨牌的袋子。" + +[Go] +name = "围棋" +desc = "标准围棋对局。 +可以选择19x19,13x13,或者9x9棋盘。" + +[Poker] +name = "扑克" +desc = "每位玩家获得 25 个筹码,总计为 500。" + diff --git a/assets/TabletopClub/music/config.zh.cfg b/assets/TabletopClub/music/config.zh.cfg new file mode 100644 index 00000000..96d30b30 --- /dev/null +++ b/assets/TabletopClub/music/config.zh.cfg @@ -0,0 +1,48 @@ +; Generated by inject_po.py at 2023-05-31 15:34 +[Airport Lounge - Kevin MacLeod] +name = "Airport Lounge - Kevin MacLeod" +desc = "轻盈而欢快,这首歌不会偷走你的注意力。" + +[Backbay Lounge - Kevin MacLeod] +name = "Backbay Lounge - Kevin MacLeod" +desc = "酷!你走进一个晚宴,拿起一杯普罗塞克气泡酒酒,尽情亲吻东道主,然后在计时器耗尽前一秒随手拆除一个大型炸弹。就是这么酷。即使你没有那么酷,但如果你把这首歌作为你的个人主题曲,人们就会认为你是那么酷。" + +[Bossa Antigua - Kevin MacLeod] +name = "Bossa Antigua - Kevin MacLeod" +desc = "噢,你好。我刚才还没看见你呢。欢迎来到我的公寓。我最喜欢的部分是海滩的景色和这块挂在墙上的非常棒的橙色绒毛地毯。虽然我还是没能教会我的Roombas(一种扫地机器人)爬上去进行清理。" + +[Deadly Roulette - Kevin MacLeod] +name = "Deadly Roulette - Kevin MacLeod" +desc = "爵士风!侦探!神秘!我很不擅长用形容词。但谁又需要形容词!没有形容词我也能写得很好。你问我没有形容词怎么样?我无法回答——因为那需要某种描述词!而我在写这段描述时不需要描述词……也许只需要一个……微小的……不行!我在想什么!?我拒绝!我已经彻底受够形容词了!哈!副词完全可以胜任!太棒了!副词!但是在我收到某些邮件之前,形容词杀了我的家人,所以我可以无限制地抨击它们。" + +[George Street Shuffle - Kevin MacLeod] +name = "George Street Shuffle - Kevin MacLeod" +desc = "这是一首轻柔的爵士小曲,非常适合营造温馨的氛围。" + +[Hard Boiled - Kevin MacLeod] +name = "Hard Boiled - Kevin MacLeod" +desc = "你想知道内情,是吗?那得花费一些钱。你想要情报?消息?内幕?每天十美元加开销。不接受还价。我可不是什么二流侦探,不过像你这样聪明的人早已知道了...顺便问一句,用过多俚语的人应该怎么称呼?" + +[In Your Arms - Kevin MacLeod] +name = "In Your Arms - Kevin MacLeod" +desc = "一首来自更优雅的时代,1940年代的音乐。这是一首美丽而慢节奏的曲子,会让你想拿起一些香槟,与人慢舞......或是与企鹅共舞。我喜欢企鹅。现在来点可搜索的关键词:大乐队,1940年代,四十年代,正式派对,企鹅慢舞,没有坏事发生。" + +[Lobby Time - Kevin MacLeod] +name = "Lobby Time - Kevin MacLeod" + +[Night on the Docks - Sax - Kevin MacLeod] +name = "Night on the Docks - Sax - Kevin MacLeod" +desc = "悲伤而充满流畅感;像是1950年代的侦探电影。" + +[Shades of Spring - Kevin MacLeod] +name = "Shades of Spring - Kevin MacLeod" +desc = "这是一种带有两架钢琴的中等节奏爵士乐组合,旋律以八度音程加倍。独奏家比和弦伴奏者更加自由发挥……但嘿,独奏家本来就是用来这么做的吧?" + +[Smooth Lovin - Kevin MacLeod] +name = "Smooth Lovin - Kevin MacLeod" +desc = "这首歌被调到了11级。一开始我把它制作成一个恶作剧……然后我真的开始喜欢它了,所以现在我猜它算是一个拼贴作品了?哦,天啊……我希望版权法可以像恶搞那样容忍拼贴作品。" + +[Spy Glass - Kevin MacLeod] +name = "Spy Glass - Kevin MacLeod" +desc = "这个年份......我不知道。 没有时间的概念。 可能是现在,可能是在1950年代。 超酷的爵士乐为你的硬核侦探而设! 对垮掉派诗人也有用! 还有对厌倦或无聊的人也有用!好吧,是一种有趣的无聊。" + diff --git a/assets/TabletopClub/pieces/config.zh.cfg b/assets/TabletopClub/pieces/config.zh.cfg new file mode 100644 index 00000000..52789193 --- /dev/null +++ b/assets/TabletopClub/pieces/config.zh.cfg @@ -0,0 +1,43 @@ +; Generated by inject_po.py at 2023-05-31 15:34 +[Bishop Black] +name = "黑主教" + +[Bishop White] +name = "白主教" + +[King Black] +name = "黑国王" + +[King White] +name = "白国王" + +[Knight Black] +name = "黑骑士" + +[Knight White] +name = "白骑士" + +[Pawn Black] +name = "黑士兵" + +[Pawn White] +name = "白士兵" + +[Queen Black] +name = "黑皇后" + +[Queen White] +name = "白皇后" + +[Rook Black] +name = "黑战车" + +[Rook White] +name = "白战车" + +[Stone Black] +name = "黑子" + +[Stone White] +name = "白子" + diff --git a/assets/TabletopClub/skyboxes/config.zh.cfg b/assets/TabletopClub/skyboxes/config.zh.cfg new file mode 100644 index 00000000..e47d1e78 --- /dev/null +++ b/assets/TabletopClub/skyboxes/config.zh.cfg @@ -0,0 +1,46 @@ +; Generated by inject_po.py at 2023-05-31 15:34 +[Clouds] +name = "云间" + +[Dallas West] +name = "达拉斯西部酒店" + +[Forest] +name = "森林" + +[Hornstulls Strand] +name = "斯德哥尔摩水岸" + +[Ice River] +name = "冰河" + +[Marriott Madison West] +name = "西麦迪逊万豪酒店" + +[Maskonaive] +name = "Maskonaive" + +[Nebula] +name = "星云" + +[Niagra Falls] +name = "尼亚加拉大瀑布" + +[Park] +name = "公园" + +[Park Winter] +name = "冬季公园" + +[Path] +name = "小路" + +[Space] +name = "太空" + +[Tantolunden] +name = "Tantolunden" + +[Vasa] +name = "Vasa" + diff --git a/assets/TabletopClub/sounds/config.zh.cfg b/assets/TabletopClub/sounds/config.zh.cfg new file mode 100644 index 00000000..19abadc8 --- /dev/null +++ b/assets/TabletopClub/sounds/config.zh.cfg @@ -0,0 +1,5 @@ +; Generated by inject_po.py at 2023-05-31 15:34 +[Alarm] +name = "警报" +desc = "一个用于紧急情况的警报。" + diff --git a/assets/TabletopClub/speakers/config.zh.cfg b/assets/TabletopClub/speakers/config.zh.cfg new file mode 100644 index 00000000..947e88c6 --- /dev/null +++ b/assets/TabletopClub/speakers/config.zh.cfg @@ -0,0 +1,5 @@ +; Generated by inject_po.py at 2023-05-31 15:34 +[Gramophone] +name = "留声机" +desc = "低多边形老式留声机。" + diff --git a/assets/TabletopClub/tables/config.zh.cfg b/assets/TabletopClub/tables/config.zh.cfg new file mode 100644 index 00000000..d31c2b9c --- /dev/null +++ b/assets/TabletopClub/tables/config.zh.cfg @@ -0,0 +1,7 @@ +; Generated by inject_po.py at 2023-05-31 15:34 +[Picnic Bench] +name = "野餐台" + +[Table] +name = "桌游桌" + diff --git a/assets/TabletopClub/templates/config.zh.cfg b/assets/TabletopClub/templates/config.zh.cfg new file mode 100644 index 00000000..b50f560e --- /dev/null +++ b/assets/TabletopClub/templates/config.zh.cfg @@ -0,0 +1,9 @@ +; Generated by inject_po.py at 2023-05-31 15:34 +[Blank Page] +name = "空白页" +desc = "这里什么都没有..." + +[Score Card] +name = "计分卡" +desc = "一张最多可容纳10名玩家的通用记分卡。" + diff --git a/assets/TabletopClub/timers/config.zh.cfg b/assets/TabletopClub/timers/config.zh.cfg new file mode 100644 index 00000000..cf11222d --- /dev/null +++ b/assets/TabletopClub/timers/config.zh.cfg @@ -0,0 +1,5 @@ +; Generated by inject_po.py at 2023-05-31 15:34 +[Radio] +name = "收音机" +desc = "一台来自旧时代的老式收音机。" + diff --git a/assets/TabletopClub/tokens/cube/config.zh.cfg b/assets/TabletopClub/tokens/cube/config.zh.cfg new file mode 100644 index 00000000..bc9159a7 --- /dev/null +++ b/assets/TabletopClub/tokens/cube/config.zh.cfg @@ -0,0 +1,125 @@ +; Generated by inject_po.py at 2023-05-31 15:34 +[Blue] +name = "蓝色小方块" +desc = "一个蓝色小方块。" + +[Brown] +name = "棕色小方块" +desc = "一个棕色小方块。" + +[Cyan] +name = "青色小方块" +desc = "一个青色小方块。" + +[Domino 0-0] +name = "多米诺骨牌 0-0" + +[Domino 0-1] +name = "多米诺骨牌 0-1" + +[Domino 0-2] +name = "多米诺骨牌 0-2" + +[Domino 0-3] +name = "多米诺骨牌 0-3" + +[Domino 0-4] +name = "多米诺骨牌 0-4" + +[Domino 0-5] +name = "多米诺骨牌 0-5" + +[Domino 0-6] +name = "多米诺骨牌 0-6" + +[Domino 1-1] +name = "多米诺骨牌 1-1" + +[Domino 1-2] +name = "多米诺骨牌 1-2" + +[Domino 1-3] +name = "多米诺骨牌 1-3" + +[Domino 1-4] +name = "多米诺骨牌 1-4" + +[Domino 1-5] +name = "多米诺骨牌 1-5" + +[Domino 1-6] +name = "多米诺骨牌 1-6" + +[Domino 2-2] +name = "多米诺骨牌 2-2" + +[Domino 2-3] +name = "多米诺骨牌 2-3" + +[Domino 2-4] +name = "多米诺骨牌 2-4" + +[Domino 2-5] +name = "多米诺骨牌 2-5" + +[Domino 2-6] +name = "多米诺骨牌 2-6" + +[Domino 3-3] +name = "多米诺骨牌 3-3" + +[Domino 3-4] +name = "多米诺骨牌 3-4" + +[Domino 3-5] +name = "多米诺骨牌 3-5" + +[Domino 3-6] +name = "多米诺骨牌 3-6" + +[Domino 4-4] +name = "多米诺骨牌 4-4" + +[Domino 4-5] +name = "多米诺骨牌 4-5" + +[Domino 4-6] +name = "多米诺骨牌 4-6" + +[Domino 5-5] +name = "多米诺骨牌 5-5" + +[Domino 5-6] +name = "多米诺骨牌 5-6" + +[Domino 6-6] +name = "多米诺骨牌 6-6" + +[Green] +name = "绿色小方块" +desc = "一个绿色小方块。" + +[Orange] +name = "橙色小方块" +desc = "一个橙色小方块。" + +[Pink] +name = "粉色小方块" +desc = "一个粉色小方块。" + +[Purple] +name = "紫色小方块" +desc = "一个紫色小方块。" + +[Red] +name = "红色小方块" +desc = "一个红色小方块。" + +[White] +name = "白色小方块" +desc = "一个白色小方块。" + +[Yellow] +name = "黄色小方块" +desc = "一个黄色小方块。" + diff --git a/assets/TabletopClub/tokens/cylinder/config.zh.cfg b/assets/TabletopClub/tokens/cylinder/config.zh.cfg new file mode 100644 index 00000000..9a5eb878 --- /dev/null +++ b/assets/TabletopClub/tokens/cylinder/config.zh.cfg @@ -0,0 +1,45 @@ +; Generated by inject_po.py at 2023-05-31 15:34 +[1] +name = "1" +desc = "一个扑克牌筹码。" + +[10] +desc = "一个扑克牌筹码。" +name = "10" + +[100] +desc = "一个扑克牌筹码。" +name = "100" + +[25] +desc = "一个扑克牌筹码。" +name = "25" + +[5] +desc = "一个扑克牌筹码。" +name = "5" + +[D] +desc = "一个扑克牌筹码。" +name = "D" + +[20 x 1 Chips] +name = "20 x 1 筹码" +desc = "一摞20个1值的筹码。" + +[20 x 10 Chips] +name = "20 x 10 筹码" +desc = "一摞20个10值的筹码。" + +[20 x 100 Chips] +name = "20 x 100 筹码" +desc = "一摞20个100值的筹码。" + +[20 x 25 Chips] +name = "20 x 25 筹码" +desc = "一摞20个25值的筹码。" + +[20 x 5 Chips] +name = "20 x 5 筹码" +desc = "一摞20个5值的筹码。" + diff --git a/game/CREDITS.tres b/game/CREDITS.tres index a1db0d0b..7b2bc663 100644 --- a/game/CREDITS.tres +++ b/game/CREDITS.tres @@ -40,6 +40,13 @@ Kenney.nl TRANSLATORS ============ +CHINESE +------------ +Luoyu +\"near2see\" +Yao NianQing +Stony + DUTCH ---------- Heimen Stoffels @@ -147,4 +154,8 @@ Igino Marini PT Sans ---------- -ParaType" +ParaType + +Droid Sans Fallback +-------------------------- +Ascender Corporation" diff --git a/game/Fonts/Cabin/Cabin-Bold.tres b/game/Fonts/Cabin/Cabin-Bold.tres index 7c5c2e63..9ead19f4 100644 --- a/game/Fonts/Cabin/Cabin-Bold.tres +++ b/game/Fonts/Cabin/Cabin-Bold.tres @@ -1,8 +1,10 @@ -[gd_resource type="DynamicFont" load_steps=3 format=2] +[gd_resource type="DynamicFont" load_steps=4 format=2] [ext_resource path="res://Fonts/Cabin/Cabin-Bold.ttf" type="DynamicFontData" id=1] [ext_resource path="res://Fonts/PTSans/PTSans-Bold.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://Fonts/DroidSansFallbackFull.ttf" type="DynamicFontData" id=3] [resource] font_data = ExtResource( 1 ) fallback/0 = ExtResource( 2 ) +fallback/1 = ExtResource( 3 ) diff --git a/game/Fonts/Cabin/Cabin-BoldItalic.tres b/game/Fonts/Cabin/Cabin-BoldItalic.tres index 83e4c402..84b35b09 100644 --- a/game/Fonts/Cabin/Cabin-BoldItalic.tres +++ b/game/Fonts/Cabin/Cabin-BoldItalic.tres @@ -1,8 +1,10 @@ -[gd_resource type="DynamicFont" load_steps=3 format=2] +[gd_resource type="DynamicFont" load_steps=4 format=2] [ext_resource path="res://Fonts/Cabin/Cabin-BoldItalic.ttf" type="DynamicFontData" id=1] [ext_resource path="res://Fonts/PTSans/PTSans-BoldItalic.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://Fonts/DroidSansFallbackFull.ttf" type="DynamicFontData" id=3] [resource] font_data = ExtResource( 1 ) fallback/0 = ExtResource( 2 ) +fallback/1 = ExtResource( 3 ) diff --git a/game/Fonts/Cabin/Cabin-Italic.tres b/game/Fonts/Cabin/Cabin-Italic.tres index c530273a..37a523ce 100644 --- a/game/Fonts/Cabin/Cabin-Italic.tres +++ b/game/Fonts/Cabin/Cabin-Italic.tres @@ -1,8 +1,10 @@ -[gd_resource type="DynamicFont" load_steps=3 format=2] +[gd_resource type="DynamicFont" load_steps=4 format=2] [ext_resource path="res://Fonts/Cabin/Cabin-Italic.ttf" type="DynamicFontData" id=1] [ext_resource path="res://Fonts/PTSans/PTSans-Italic.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://Fonts/DroidSansFallbackFull.ttf" type="DynamicFontData" id=3] [resource] font_data = ExtResource( 1 ) fallback/0 = ExtResource( 2 ) +fallback/1 = ExtResource( 3 ) diff --git a/game/Fonts/Cabin/Cabin-Medium.tres b/game/Fonts/Cabin/Cabin-Medium.tres index bc8ccee2..04c809b7 100644 --- a/game/Fonts/Cabin/Cabin-Medium.tres +++ b/game/Fonts/Cabin/Cabin-Medium.tres @@ -1,8 +1,10 @@ -[gd_resource type="DynamicFont" load_steps=3 format=2] +[gd_resource type="DynamicFont" load_steps=4 format=2] [ext_resource path="res://Fonts/Cabin/Cabin-Medium.ttf" type="DynamicFontData" id=1] [ext_resource path="res://Fonts/PTSans/PTSans-Regular.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://Fonts/DroidSansFallbackFull.ttf" type="DynamicFontData" id=3] [resource] font_data = ExtResource( 1 ) fallback/0 = ExtResource( 2 ) +fallback/1 = ExtResource( 3 ) diff --git a/game/Fonts/Cabin/Cabin-Regular.tres b/game/Fonts/Cabin/Cabin-Regular.tres index d4bab967..b6c9cb27 100644 --- a/game/Fonts/Cabin/Cabin-Regular.tres +++ b/game/Fonts/Cabin/Cabin-Regular.tres @@ -1,8 +1,10 @@ -[gd_resource type="DynamicFont" load_steps=3 format=2] +[gd_resource type="DynamicFont" load_steps=4 format=2] [ext_resource path="res://Fonts/Cabin/Cabin-Regular.ttf" type="DynamicFontData" id=1] [ext_resource path="res://Fonts/PTSans/PTSans-Regular.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://Fonts/DroidSansFallbackFull.ttf" type="DynamicFontData" id=3] [resource] font_data = ExtResource( 1 ) fallback/0 = ExtResource( 2 ) +fallback/1 = ExtResource( 3 ) diff --git a/game/Fonts/Cabin/Cabin-SemiBold.tres b/game/Fonts/Cabin/Cabin-SemiBold.tres index 992dcc31..fe7cf29d 100644 --- a/game/Fonts/Cabin/Cabin-SemiBold.tres +++ b/game/Fonts/Cabin/Cabin-SemiBold.tres @@ -1,8 +1,10 @@ -[gd_resource type="DynamicFont" load_steps=3 format=2] +[gd_resource type="DynamicFont" load_steps=4 format=2] [ext_resource path="res://Fonts/Cabin/Cabin-SemiBold.ttf" type="DynamicFontData" id=1] [ext_resource path="res://Fonts/PTSans/PTSans-Bold.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://Fonts/DroidSansFallbackFull.ttf" type="DynamicFontData" id=3] [resource] font_data = ExtResource( 1 ) fallback/0 = ExtResource( 2 ) +fallback/1 = ExtResource( 3 ) diff --git a/game/Fonts/Cabin/Cabin-SemiBoldItalic.tres b/game/Fonts/Cabin/Cabin-SemiBoldItalic.tres index f607eb91..5be18266 100644 --- a/game/Fonts/Cabin/Cabin-SemiBoldItalic.tres +++ b/game/Fonts/Cabin/Cabin-SemiBoldItalic.tres @@ -1,8 +1,10 @@ -[gd_resource type="DynamicFont" load_steps=3 format=2] +[gd_resource type="DynamicFont" load_steps=4 format=2] [ext_resource path="res://Fonts/Cabin/Cabin-SemiBoldItalic.ttf" type="DynamicFontData" id=1] [ext_resource path="res://Fonts/PTSans/PTSans-BoldItalic.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://Fonts/DroidSansFallbackFull.ttf" type="DynamicFontData" id=3] [resource] font_data = ExtResource( 1 ) fallback/0 = ExtResource( 2 ) +fallback/1 = ExtResource( 3 ) diff --git a/game/Fonts/Cabin/Modified/Cabin-Bold-Outline-Large.tres b/game/Fonts/Cabin/Modified/Cabin-Bold-Outline-Large.tres index a7e24839..2f4f743c 100644 --- a/game/Fonts/Cabin/Modified/Cabin-Bold-Outline-Large.tres +++ b/game/Fonts/Cabin/Modified/Cabin-Bold-Outline-Large.tres @@ -1,7 +1,8 @@ -[gd_resource type="DynamicFont" load_steps=3 format=2] +[gd_resource type="DynamicFont" load_steps=4 format=2] [ext_resource path="res://Fonts/Cabin/Cabin-Bold.ttf" type="DynamicFontData" id=1] [ext_resource path="res://Fonts/PTSans/PTSans-Bold.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://Fonts/DroidSansFallbackFull.ttf" type="DynamicFontData" id=3] [resource] size = 18 @@ -9,3 +10,4 @@ outline_size = 1 outline_color = Color( 0, 0, 0, 1 ) font_data = ExtResource( 1 ) fallback/0 = ExtResource( 2 ) +fallback/1 = ExtResource( 3 ) diff --git a/game/Fonts/Cabin/Modified/Cabin-Bold-Outline.tres b/game/Fonts/Cabin/Modified/Cabin-Bold-Outline.tres index d35ada5b..911e64ff 100644 --- a/game/Fonts/Cabin/Modified/Cabin-Bold-Outline.tres +++ b/game/Fonts/Cabin/Modified/Cabin-Bold-Outline.tres @@ -1,7 +1,8 @@ -[gd_resource type="DynamicFont" load_steps=3 format=2] +[gd_resource type="DynamicFont" load_steps=4 format=2] [ext_resource path="res://Fonts/Cabin/Cabin-Bold.ttf" type="DynamicFontData" id=1] [ext_resource path="res://Fonts/PTSans/PTSans-Bold.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://Fonts/DroidSansFallbackFull.ttf" type="DynamicFontData" id=3] [resource] size = 12 @@ -9,3 +10,4 @@ outline_size = 1 outline_color = Color( 0, 0, 0, 1 ) font_data = ExtResource( 1 ) fallback/0 = ExtResource( 2 ) +fallback/1 = ExtResource( 3 ) diff --git a/game/Fonts/Cabin/Modified/Cabin-Hand.tres b/game/Fonts/Cabin/Modified/Cabin-Hand.tres index ba89625e..f7b6aec6 100644 --- a/game/Fonts/Cabin/Modified/Cabin-Hand.tres +++ b/game/Fonts/Cabin/Modified/Cabin-Hand.tres @@ -1,9 +1,11 @@ -[gd_resource type="DynamicFont" load_steps=3 format=2] +[gd_resource type="DynamicFont" load_steps=4 format=2] [ext_resource path="res://Fonts/Cabin/Cabin-Regular.ttf" type="DynamicFontData" id=1] [ext_resource path="res://Fonts/PTSans/PTSans-Regular.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://Fonts/DroidSansFallbackFull.ttf" type="DynamicFontData" id=3] [resource] size = 150 font_data = ExtResource( 1 ) fallback/0 = ExtResource( 2 ) +fallback/1 = ExtResource( 3 ) diff --git a/game/Fonts/Cabin/Modified/Cabin-MainMenu.tres b/game/Fonts/Cabin/Modified/Cabin-MainMenu.tres index 9edf217d..09b18d88 100644 --- a/game/Fonts/Cabin/Modified/Cabin-MainMenu.tres +++ b/game/Fonts/Cabin/Modified/Cabin-MainMenu.tres @@ -1,9 +1,11 @@ -[gd_resource type="DynamicFont" load_steps=3 format=2] +[gd_resource type="DynamicFont" load_steps=4 format=2] [ext_resource path="res://Fonts/Cabin/Cabin-Regular.ttf" type="DynamicFontData" id=1] [ext_resource path="res://Fonts/PTSans/PTSans-Regular.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://Fonts/DroidSansFallbackFull.ttf" type="DynamicFontData" id=3] [resource] size = 20 font_data = ExtResource( 1 ) fallback/0 = ExtResource( 2 ) +fallback/1 = ExtResource( 3 ) diff --git a/game/Fonts/Cabin/Modified/Cabin-Regular-List.tres b/game/Fonts/Cabin/Modified/Cabin-Regular-List.tres index 8f31fa3c..36fc35e1 100644 --- a/game/Fonts/Cabin/Modified/Cabin-Regular-List.tres +++ b/game/Fonts/Cabin/Modified/Cabin-Regular-List.tres @@ -1,9 +1,11 @@ -[gd_resource type="DynamicFont" load_steps=3 format=2] +[gd_resource type="DynamicFont" load_steps=4 format=2] [ext_resource path="res://Fonts/Cabin/Cabin-Regular.ttf" type="DynamicFontData" id=1] [ext_resource path="res://Fonts/PTSans/PTSans-Regular.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://Fonts/DroidSansFallbackFull.ttf" type="DynamicFontData" id=3] [resource] size = 12 font_data = ExtResource( 1 ) fallback/0 = ExtResource( 2 ) +fallback/1 = ExtResource( 3 ) diff --git a/game/Fonts/Cabin/Modified/Cabin-Regular-Outline-Small.tres b/game/Fonts/Cabin/Modified/Cabin-Regular-Outline-Small.tres index b4ccfb17..bfaccf26 100644 --- a/game/Fonts/Cabin/Modified/Cabin-Regular-Outline-Small.tres +++ b/game/Fonts/Cabin/Modified/Cabin-Regular-Outline-Small.tres @@ -1,7 +1,8 @@ -[gd_resource type="DynamicFont" load_steps=3 format=2] +[gd_resource type="DynamicFont" load_steps=4 format=2] [ext_resource path="res://Fonts/Cabin/Cabin-Regular.ttf" type="DynamicFontData" id=1] [ext_resource path="res://Fonts/PTSans/PTSans-Regular.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://Fonts/DroidSansFallbackFull.ttf" type="DynamicFontData" id=3] [resource] size = 9 @@ -9,3 +10,4 @@ outline_size = 1 outline_color = Color( 0, 0, 0, 1 ) font_data = ExtResource( 1 ) fallback/0 = ExtResource( 2 ) +fallback/1 = ExtResource( 3 ) diff --git a/game/Fonts/Cabin/Modified/Cabin-Regular-Outline.tres b/game/Fonts/Cabin/Modified/Cabin-Regular-Outline.tres index e54361bd..78117716 100644 --- a/game/Fonts/Cabin/Modified/Cabin-Regular-Outline.tres +++ b/game/Fonts/Cabin/Modified/Cabin-Regular-Outline.tres @@ -1,7 +1,8 @@ -[gd_resource type="DynamicFont" load_steps=3 format=2] +[gd_resource type="DynamicFont" load_steps=4 format=2] [ext_resource path="res://Fonts/Cabin/Cabin-Regular.ttf" type="DynamicFontData" id=1] [ext_resource path="res://Fonts/PTSans/PTSans-Regular.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://Fonts/DroidSansFallbackFull.ttf" type="DynamicFontData" id=3] [resource] size = 12 @@ -9,3 +10,4 @@ outline_size = 1 outline_color = Color( 0, 0, 0, 1 ) font_data = ExtResource( 1 ) fallback/0 = ExtResource( 2 ) +fallback/1 = ExtResource( 3 ) diff --git a/game/Fonts/Cabin/Modified/Cabin-SemiBold-Huge.tres b/game/Fonts/Cabin/Modified/Cabin-SemiBold-Huge.tres index 5b7243ff..cb8aba0a 100644 --- a/game/Fonts/Cabin/Modified/Cabin-SemiBold-Huge.tres +++ b/game/Fonts/Cabin/Modified/Cabin-SemiBold-Huge.tres @@ -1,9 +1,11 @@ -[gd_resource type="DynamicFont" load_steps=3 format=2] +[gd_resource type="DynamicFont" load_steps=4 format=2] [ext_resource path="res://Fonts/Cabin/Cabin-SemiBold.ttf" type="DynamicFontData" id=1] [ext_resource path="res://Fonts/PTSans/PTSans-Bold.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://Fonts/DroidSansFallbackFull.ttf" type="DynamicFontData" id=3] [resource] size = 24 font_data = ExtResource( 1 ) fallback/0 = ExtResource( 2 ) +fallback/1 = ExtResource( 3 ) diff --git a/game/Fonts/Cabin/Modified/ChatBox/Cabin-Bold-Medium.tres b/game/Fonts/Cabin/Modified/ChatBox/Cabin-Bold-Medium.tres index ac3cea41..fb800a5a 100644 --- a/game/Fonts/Cabin/Modified/ChatBox/Cabin-Bold-Medium.tres +++ b/game/Fonts/Cabin/Modified/ChatBox/Cabin-Bold-Medium.tres @@ -1,9 +1,11 @@ -[gd_resource type="DynamicFont" load_steps=3 format=2] +[gd_resource type="DynamicFont" load_steps=4 format=2] [ext_resource path="res://Fonts/PTSans/PTSans-Bold.ttf" type="DynamicFontData" id=1] [ext_resource path="res://Fonts/Cabin/Cabin-Bold.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://Fonts/DroidSansFallbackFull.ttf" type="DynamicFontData" id=3] [resource] size = 12 font_data = ExtResource( 2 ) fallback/0 = ExtResource( 1 ) +fallback/1 = ExtResource( 3 ) diff --git a/game/Fonts/Cabin/Modified/ChatBox/Cabin-Bold-Small.tres b/game/Fonts/Cabin/Modified/ChatBox/Cabin-Bold-Small.tres index cefedaeb..f0241cfa 100644 --- a/game/Fonts/Cabin/Modified/ChatBox/Cabin-Bold-Small.tres +++ b/game/Fonts/Cabin/Modified/ChatBox/Cabin-Bold-Small.tres @@ -1,9 +1,11 @@ -[gd_resource type="DynamicFont" load_steps=3 format=2] +[gd_resource type="DynamicFont" load_steps=4 format=2] [ext_resource path="res://Fonts/PTSans/PTSans-Bold.ttf" type="DynamicFontData" id=1] [ext_resource path="res://Fonts/Cabin/Cabin-Bold.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://Fonts/DroidSansFallbackFull.ttf" type="DynamicFontData" id=3] [resource] size = 9 font_data = ExtResource( 2 ) fallback/0 = ExtResource( 1 ) +fallback/1 = ExtResource( 3 ) diff --git a/game/Fonts/Cabin/Modified/ChatBox/Cabin-Italic-Medium.tres b/game/Fonts/Cabin/Modified/ChatBox/Cabin-Italic-Medium.tres index 9a6fc529..fcd18ff3 100644 --- a/game/Fonts/Cabin/Modified/ChatBox/Cabin-Italic-Medium.tres +++ b/game/Fonts/Cabin/Modified/ChatBox/Cabin-Italic-Medium.tres @@ -1,9 +1,11 @@ -[gd_resource type="DynamicFont" load_steps=3 format=2] +[gd_resource type="DynamicFont" load_steps=4 format=2] [ext_resource path="res://Fonts/Cabin/Cabin-Italic.ttf" type="DynamicFontData" id=1] [ext_resource path="res://Fonts/PTSans/PTSans-Italic.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://Fonts/DroidSansFallbackFull.ttf" type="DynamicFontData" id=3] [resource] size = 12 font_data = ExtResource( 1 ) fallback/0 = ExtResource( 2 ) +fallback/1 = ExtResource( 3 ) diff --git a/game/Fonts/Cabin/Modified/ChatBox/Cabin-Italic-Small.tres b/game/Fonts/Cabin/Modified/ChatBox/Cabin-Italic-Small.tres index 6d7d128b..d01a8144 100644 --- a/game/Fonts/Cabin/Modified/ChatBox/Cabin-Italic-Small.tres +++ b/game/Fonts/Cabin/Modified/ChatBox/Cabin-Italic-Small.tres @@ -1,9 +1,11 @@ -[gd_resource type="DynamicFont" load_steps=3 format=2] +[gd_resource type="DynamicFont" load_steps=4 format=2] [ext_resource path="res://Fonts/Cabin/Cabin-Italic.ttf" type="DynamicFontData" id=1] [ext_resource path="res://Fonts/PTSans/PTSans-Italic.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://Fonts/DroidSansFallbackFull.ttf" type="DynamicFontData" id=3] [resource] size = 9 font_data = ExtResource( 1 ) fallback/0 = ExtResource( 2 ) +fallback/1 = ExtResource( 3 ) diff --git a/game/Fonts/Cabin/Modified/ChatBox/Cabin-Regular-Medium.tres b/game/Fonts/Cabin/Modified/ChatBox/Cabin-Regular-Medium.tres index 45aed614..25ef12b8 100644 --- a/game/Fonts/Cabin/Modified/ChatBox/Cabin-Regular-Medium.tres +++ b/game/Fonts/Cabin/Modified/ChatBox/Cabin-Regular-Medium.tres @@ -1,9 +1,11 @@ -[gd_resource type="DynamicFont" load_steps=3 format=2] +[gd_resource type="DynamicFont" load_steps=4 format=2] [ext_resource path="res://Fonts/PTSans/PTSans-Regular.ttf" type="DynamicFontData" id=1] [ext_resource path="res://Fonts/Cabin/Cabin-Regular.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://Fonts/DroidSansFallbackFull.ttf" type="DynamicFontData" id=3] [resource] size = 12 font_data = ExtResource( 2 ) fallback/0 = ExtResource( 1 ) +fallback/1 = ExtResource( 3 ) diff --git a/game/Fonts/Cabin/Modified/ChatBox/Cabin-Regular-Small.tres b/game/Fonts/Cabin/Modified/ChatBox/Cabin-Regular-Small.tres index eb0c9f9c..ddad7b6d 100644 --- a/game/Fonts/Cabin/Modified/ChatBox/Cabin-Regular-Small.tres +++ b/game/Fonts/Cabin/Modified/ChatBox/Cabin-Regular-Small.tres @@ -1,9 +1,11 @@ -[gd_resource type="DynamicFont" load_steps=3 format=2] +[gd_resource type="DynamicFont" load_steps=4 format=2] [ext_resource path="res://Fonts/PTSans/PTSans-Regular.ttf" type="DynamicFontData" id=1] [ext_resource path="res://Fonts/Cabin/Cabin-Regular.ttf" type="DynamicFontData" id=2] +[ext_resource path="res://Fonts/DroidSansFallbackFull.ttf" type="DynamicFontData" id=3] [resource] size = 9 font_data = ExtResource( 2 ) fallback/0 = ExtResource( 1 ) +fallback/1 = ExtResource( 3 ) diff --git a/game/Fonts/DroidSansFallbackFull.ttf b/game/Fonts/DroidSansFallbackFull.ttf new file mode 100644 index 00000000..68641aad Binary files /dev/null and b/game/Fonts/DroidSansFallbackFull.ttf differ diff --git a/game/LICENSES.tres b/game/LICENSES.tres index d0f360fb..9d3f7fb0 100644 --- a/game/LICENSES.tres +++ b/game/LICENSES.tres @@ -38,6 +38,15 @@ directory. URL: https://fonts.google.com/specimen/PT+Sans +- Droid Sans Fallback + + Files: + Fonts/DroidSansFallbackFull.ttf + Author: Ascender Corporation + License: Apache-2.0 + URL: https://github.com/aosp-mirror/platform_frameworks_base/tree/master/data/fonts + + - Cursors Files: diff --git a/game/Scripts/MainMenu.gd b/game/Scripts/MainMenu.gd index cd7acb53..2c30ed5c 100644 --- a/game/Scripts/MainMenu.gd +++ b/game/Scripts/MainMenu.gd @@ -103,6 +103,7 @@ func _update_credits_text() -> void: credits_text = credits_text.replace("TOOL ICONS", tr("Tool Icons")) credits_text = credits_text.replace("TRANSLATORS", tr("Translators")) + credits_text = credits_text.replace("CHINESE", tr("Chinese")) credits_text = credits_text.replace("DUTCH", tr("Dutch")) credits_text = credits_text.replace("ESPERANTO", tr("Esperanto")) credits_text = credits_text.replace("FRENCH", tr("French")) diff --git a/game/Scripts/OptionsMenu.gd b/game/Scripts/OptionsMenu.gd index a6588904..563de9fd 100644 --- a/game/Scripts/OptionsMenu.gd +++ b/game/Scripts/OptionsMenu.gd @@ -39,7 +39,8 @@ var LOCALES = [ { "locale": "nl", "name": "Nederlands" }, { "locale": "pl", "name": "Polski" }, { "locale": "pt", "name": "Português" }, - { "locale": "ru", "name": "Русский" } + { "locale": "ru", "name": "Русский" }, + { "locale": "zh", "name": "简体中文" } ] const OPTIONS_FILE_PATH = "user://options.cfg" diff --git a/game/project.godot b/game/project.godot index dfaa44d1..5a14d89d 100644 --- a/game/project.godot +++ b/game/project.godot @@ -307,7 +307,7 @@ game_shuffle_stack={ [locale] -translations=PoolStringArray( "res://Translations/fr.po", "res://Translations/de.po", "res://Translations/nl.po", "res://Translations/ru.po", "res://Translations/pt.po", "res://Translations/eo.po", "res://Translations/it.po", "res://Translations/es.po", "res://Translations/nb_NO.po", "res://Translations/id.po", "res://Translations/pl.po" ) +translations=PoolStringArray( "res://Translations/fr.po", "res://Translations/de.po", "res://Translations/nl.po", "res://Translations/ru.po", "res://Translations/pt.po", "res://Translations/eo.po", "res://Translations/it.po", "res://Translations/es.po", "res://Translations/nb_NO.po", "res://Translations/id.po", "res://Translations/pl.po", "res://Translations/zh_Hans.po" ) [network]