Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add language Chinese #232

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion next.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ const config = [
{
target: "serverless",
i18n: {
locales: ["en", "fr", "es", "it", "nl", "ru", "pt", "de", "sk"],
locales: ["en", "fr", "es", "it", "nl", "ru", "pt", "de", "sk", "zh"],
defaultLocale: "en",
},
images: {
Expand Down
1 change: 1 addition & 0 deletions src/components/languageSelector.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ export const Languages = {
pt: "Português",
de: "Deutsch",
sk: "Slovak",
zh: "简体中文",
};

interface Props {
Expand Down
4 changes: 4 additions & 0 deletions src/lib/i18n.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { nl } from "~/locales/nl";
import { pt } from "~/locales/pt";
import { ru } from "~/locales/ru";
import { sk } from "~/locales/sk";
import { zh } from "~/locales/zh";

i18n
.use(initReactI18next)
Expand Down Expand Up @@ -43,6 +44,9 @@ i18n
sk: {
translation: sk,
},
zh: {
translation: zh,
},
},
fallbackLng: "en",
interpolation: {
Expand Down
315 changes: 315 additions & 0 deletions src/locales/zh.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,315 @@
export const zh = {
hanabi: "《花火》",
welcome: "欢迎",
newGame: "新游戏",
tagline: "和朋友一起在线玩《花火》!",
subTagline: "多人合作卡牌游戏,手机、平板和电脑上均可游玩",
createRoom: "创建房间",
joinRoom: "加入房间",
rejoinGame: "重新加入游戏",
whatsHanabi: "《花火》是什么?",
invitationByPlayers: "{{playerNames}} 邀请你加入《花火》游戏 🎉",
invitationByPlayers_plural: "{{playersNames}} 邀请你加入《花火》游戏 🎉",
invitationNoPlayers: "你被邀请加入《花火》游戏 🎉",
gameFull: "房间已满",
gameNotFull: "{{count}} / {{playersCount}} 已加入",
gameNotFull_plural: "{{count}} / {{playersCount}} 已加入", // necessary in French
startGame: "开始游戏",
addAi: "+ 添加电脑",
lobby: "大厅",
choosePlayerName: "选择你的玩家名称",
join: "加入",
autoplay: "自动出牌", // 托管?
shareGame: "分享游戏",
copy: "复制",
waitForOthers: "等待其他玩家,或者",
gameStarted: "游戏开始了!",
gameStarts: "游戏开始!",
discardPile: "丢弃 ({{ discardLength }})",
preventLossContent: "You fucked up · Keep going?",
rewind: "🕑 回放",
backToGame: "回到游戏",
theirTurn: "{{currentPlayerName}} 的回合!",
go: "Go", // where is this
estimatedMaxScore: "本次洗牌预计最高分:{{reachableScore}}.",
keepPracticing: "继续练习",
congrats: "你太棒了!",
hideStats: "隐藏状态",
showStats: "显示状态",
gameOver: "游戏结束!你们的分数是 {{playedCardsLength}} 🎉",
score: "花火 • 分数:{{score}} / {{maxPossibleScore}}",
turnsLeftDisclaimer: "· 还有 1 回合",
turnsLeftDisclaimer_plural: "· 还有 {{count}} 回合",
cardLeft: "还有 {{pileLength}} 张",
tokens: "标记", //不确定
deck: "甲板", //不确定
loading: "加载中...",
menu: "菜单",
tutorial: "快速教程",
rules: "规则",
yourTurn: "你的回合",
youWillStart: "你会先行动",
hide: "隐藏",
reveal: "展示",
cardSelected: "卡片 {{position}} 被选择",
eightTokens: "8 个提示标记",
cannotDiscard: "你不能弃置卡片",
noTokens: "提示标记不足,无法提示",
selectVignette: "挑选一个数字或颜色来提示",
hint: "提示",
negativeHintColor: "你没有 {{ color }} 卡片",
negativeHintNumber: "你没有 {{ number }} 卡片",
positiveHintColor: "你的 {{ positions }} 卡片是 {{ color }}",
positiveHintNumber: "你的 {{ positions }} 卡片是 {{ number }}",
positiveHintNumberSequence: "你的 {{ positions }} 卡片是 {{ number }} 或更高",
positiveHintColor_plural: "你的 {{ positions }} 卡片是 {{ color }}",
positiveHintNumber_plural: "你的 {{ positions }} 卡片是 {{ number }}",
positiveHintNumberSequence_plural: "你的 {{ positions }} 卡片是 {{ number }} 或更高",
you: "你",
hinted: "已提示",
played: "已打出",//不确定
discarded: "已弃置",
rollback: "回滚", //?
rollbackDisclaimer: "你即将回滚上一个操作!",
cannotRollback: "你现在还不能回滚",
abort: "中止", //不确定
introTutorial: "教程",
introContent: "让我们进行一个简单的教程!",
playedCardsTutorial: "打出卡片",
playedCardsTutorialContent:
"这会把打出的卡放置在桌面上。\n每种颜色达到 5 即可完成游戏。",
discardTutorial: "弃置卡片",
discardTutorialContent:
"在这里你会看到被你和你的队友弃置的卡片。\n避免把完成游戏所需的卡片弃置掉。",
yourGameTutorial: "你的游戏",
yourGameTutorialContent:
"这些是你的卡片。\n你无法看到它们,但是其他玩家可以,\n他们会给你关于卡片的提示。",
teammatesTutorial: "队友",
teammatesTutorialContent:
"这些是你的队友们。\n像你一样,他们也看不到自己的卡片。\n给予他们提示,以此来帮助他们打出或弃置卡片。",
hintTokensTutorial: "提示标记",
hintTokensTutorialContent:
"一些行动是有费用的。\n\n- 给予一个提示消耗 1 枚提示标记。\n- 弃置一张卡片会获得 1 枚提示标记。\n- 打出一张 5 会获得 1 枚提示标记的奖励。",
strikeTokensTutorial: "失误标记",//不确定
strikeTokensTutorialContent:
"打出错误的卡片会将卡片弃置,并增加 1 枚失误标记。\n当达到 3 枚失误标记时,游戏失败。",
yourTurnTutorial: "现在是你的回合",
yourTurnTutorialContent:
"你有三种选择:\n\n- 点击你的游戏并打出一张卡...\n- ... 或弃置一张卡\n- 点击一位队友并给予提示。",
skip: "✕ 跳过",
offline: "你掉线了!",
apologies: "抱歉,某个地方出问题了 😕",
errorWillInvestigate:
"我们会尽快调察。请不要犹豫,<1>联系我们</1> 让我们知道发生了什么。",
earlyDevelopment: "该游戏正处于早期开发,我们欢迎你的反馈。",
publicRepo: "如果想要做出贡献或反馈 bug,我们也有 <1>Github 公开仓库</1>。 ",
backMenu: "返回菜单",
landingImageAlt: "《花火》在线卡牌游戏 logo",
classicVariant: "经典",
orangeVariant: "橙色",
multicolorVariant: "多色",
rainbowVariant: "彩虹",
criticalRainbowVariant: "危机彩虹",//不确定
sequenceVariant: "顺序",
classicVariantDescription: "经典五色花火",
multicolorVariantDescription: "加入第六种烟花,并且每个数字只有一张",
rainbowVariantDescription: "加入彩虹色,提示任意颜色时都会选中彩虹色",
criticalRainbowVariantDescription: "加入彩虹色,并且每个数字只有一张",
orangeVariantDescription: "加入第六种颜色,规则与其他颜色相同",
sequenceVariantDescription: "提示数字时,更大数字的牌也会被选中",
showDirectHints: "显示直接提示",
hideDirectHints: "不显示提示",
botSpeed: "电脑速度",
normalGameExplanation: "分享链接,即可与朋友在线游玩。",
passandplayExplanation:
"在这种“击鼓传花”模式下,你可以与多位玩家线下游玩,每为玩家完成自己的回合后传递给下一位玩家",
private: "私人",//不确定
hints: "提示",
allowRollback: "允许回滚",
preventLoss: "防止损失",
passandplay: "击鼓传花",
passandplaySubtext: "将设备以物理方式传递给进行回合的玩家",
privateSubtext: "你的游戏不会显示在“加入房间”中",
advancedOptions: "高级选项",
players: "玩家",
mode: "模式",
seed: "种子",
objective: "概述",//不确定
rulesIntro:
"《花火》是由 Antoine Bauza 发明的卡牌游戏。这是一款合作游戏,也就是说,玩家们在游戏中不是要彼此对抗,而是要通过彼此配合来达到共同的目标。他们在这里化身粗心的烟火师,大家因疏忽而将火药、灯芯和火箭混合在一起,用于大型烟花汇演。演出马上就要开始了,情况有些混乱。大家需要互相帮助,以防止节目变成灾难。",
rulesGoal:
"团队的目标是建造 5 种烟花,方法是按照从小到大的顺序组合相同颜色的卡(1、2、3、4、5),每种颜色(白色、红色、蓝色、黄色、绿色)各 1 个。",
rulesSetupTitle: "设置",
rulesSetup:
"这个应用程序为您设置好了一切,非常方便😉。在游戏开始时,您将有 8 个蓝色标记 - 您的提示 - 和 3 个可用的红色标记 - 您的失误标记。\n\n该套牌由 50 张牌组成,每种颜色 10 张 <1>,编号为 1, 1, 1, 2, 2, 3, 3, 4, 4, 5</1>。\n· 在 2 人或 3 人游戏中,每位玩家将获得 5 张牌\n· 在 4 人或 5 人游戏中,每人玩家将获得 4 张牌。\n\n如您所见,玩家不得查看自己的牌!",
rulesGameTitle: "玩游戏",
rulesGame:
"在每个玩家的回合中,他们必须采取以下三个行动中的一个(且仅一个)。不能跳过回合。\n\n1.给其他玩家提示。\n2.丢弃一张卡片。\n3.打出一张卡片\n\n玩家不能在其他玩家的回合中给出提示或建议!",
rulesHintTitle: "1. 给其他玩家提示",
rulesHint:
"当您提供信息时,需要消耗一个蓝色标记。注意:如果您没有更多蓝色标记,则不能选择提供信息,必须选择不同的行动。\n\n然后您可以通过单击,向其他玩家提供有关该玩家手牌的信息。您可以告诉玩家一种(且仅一种)颜色,或一种(且仅一种)牌的价值。",
rulesDiscardTitle: "2.丢弃一张卡片",
rulesDiscard:
"丢弃一张卡片会返回一个蓝色标记。您可以通过点击手牌来弃掉一张牌。然后,您从牌组中抽取一张新牌,并将其添加到您的手牌中。 \n注意:如果你拥有全部 8 个蓝色标记,则不能弃牌,必须选择不同的动作。 \n您可以随时查阅已弃置卡片。",
rulesPlayTitle: "3.打出一张卡片",
rulesPlay:
"轮到你时,要打出一张牌,从你手上拿一张牌并打出它。\n发生以下两种情况之一:\n· 如果这张牌开始或添加到烟花中,它将被添加到烟花堆中\n· 如果这张牌没有加入烟花,它会被丢弃并添加一个红色的失误标记\n然后你将从牌堆中抽取一张新卡片。\n\n当玩家通过打出数字 5 的牌来完成烟花时,返回一个蓝色标记作为奖励。如果已经拥有全部蓝色标记,则不会获得奖励",
rulesEndTitle: "结束游戏",
rulesEnd:
"《花火》 可能以三种方式结束游戏:\n· 如果你得到第三个红色标记,你就会输掉比赛,并且会显示在火焰中燃烧!\n· 如果团队完成所有五种颜色的烟花并且值为 5,则团队做出壮观的胜利展示并获得 25 分的最高分 - 多色选项为 30 分!\n· 如果玩家从甲板上抽出最后一张牌,游戏即将结束。每个玩家多获得一个回合,包括抽出最后一张牌的玩家。在这些最后的回合中,玩家不能抽更多的牌。\n\n然后玩家根据他们组装的烟花为他们的表现打分。",
rulesExtensionTitle: "扩展",
rulesExtensionMulticolor:
"🎨 多色扩展添加了第六堆和第六套牌,每张牌只有一个:1、2、3、4、5。因此这些烟花更加稀缺,您必须小心不要丢弃它们。规则是相同的,您必须完成所有 6 堆才能达到 30 分的最高分。",
rulesExtensionRainbow:
"🌈 彩虹扩展还添加了第六堆,其值与其他五堆相同(三个 1,两个 2/3/4 和一个 5)。特殊之处在于彩虹卡是彩虹色的,每次你在颜色上给出提示时,它们都会被选中。",
rulesUsTitle: "我们是谁?",
rulesUs:
"我们是一群桌游迷。2020 年停摆,我们愿意寻找远程共玩的替代方案。\n因为我们都喜欢编程和玩《花火》,所以我们决定创建游戏的在线版本。\n\n👉 像我们一样,如果您喜欢这款游戏,请购买 <2>实体版</2>以支持其创作者!",
rulesContact: "✉️ 如果您有任何问题或建议欢迎 <1>联系我们</1>",
rulesContributeRepo: "💻 如果您想做出贡献,我们还有一个 <1>公共 Github 存储库</1>。",
rulesDiscordServer: "🗣 加入我们的 Discord 服务器,讨论潜在的新功能或改进",
rulesBuymeacoffee: "🙇‍♀️ 你也可以支持我们的倡议并通过给我们买杯咖啡来帮助支付服务器费用",
noRoom: "没有可用房间",
faster: "快速",
fast: "普通",
slow: "慢速",
discard: "弃置",
play: "打出",
green: "绿色",
red: "红色",
yellow: "黄色",
blue: "蓝色",
white: "白色",
multicolor: "多色",
orange: "橙色",
green_plural: "绿色",
red_plural: "红色",
yellow_plural: "黄色",
blue_plural: "蓝色",
white_plural: "白色",
multicolor_plural: "多色",
orange_plural: "橙色",
summary: "总结",
summarySubtitle: "我们的花火游戏",
gameCompleted: "游戏完成时间 {{ gameDuration }}",
result: "我们的结果",
evolution: "进化",
evolutionSubtext:
"关注游戏历史!显示每个玩家的卡片是否可玩、可丢弃或危险(如果丢弃它会降低您的最大可能分数,例如多色或 5).",
playerActions: "每个玩家的平均动作",
playHints: "每次提示对应的平均打出卡片数: <1>{{playsPerHint}}</1>",//不确定
playerHints: "谁给的提示最多?",
tryOutTitle: "试试看!",
tryOutButton: "试试这套牌",
tryOutAlternative: "您还可以玩其他设置并与我们的 AI 见面 <1>hanabi.cards</1>",
back: "返回",
statsPlayable: "可以打出",
statsDiscardable: "可以弃置",
statsDangerous: "危险",
statsTurnCard: "那一回合,这张牌是",
statsTurnAction: "该回合的玩家行动",
showInsights: "显示见解",
showCards: "显示卡片",
started: "开始",
youGaveHintTurn: "你提示了 <1></1> 的 <3></3>",
youDiscardedTurn: "你弃置了 <1></1>",
youPlayedTurn: "你打出了 <1></1>",
somebodyHintedYouTurn: "<0></0> 提示了你的 <2></2>",
somebodyHintedSomebodyTurn: "<0></0> 提示了 <2></2> 的 <4></4>",
somebodyDiscardedTurn: "<0></0> 弃置了 <2></2>",
somebodyPlayedTurn: "<0></0> 打出了 <2></2>",
whatYouDrewTurn: "并抽出 <1></1>",
whatTheyDrewTurn: "并抽出 <1></1>",
selectLanguage: "选择语言",
creatingGame: "创建游戏中...",
partySetup: "玩家: {{players}} · 模式: {{variant}} · 洗牌 #{{shuffle}}",
sendMessagePlaceholder: "向您的队友发送消息",
sendMessage: "发送",
message: "<0></0>: <1></1>",
colorBlindMode: "色盲模式",
colorBlindModeSubtext: "在卡片顶部显示符号以帮助区分颜色",
pageNotFound: "找不到网页",
contributeLanguage: "作出贡献!",
buymeacoffeePostGame: "支持游戏,<2>请我们喝杯咖啡</2>",
next: "下一个",
new: "新建",
learnHanabi: "学习",
learnHanabiTime: "~ 5 分钟",
learnWhileWaiting: "在等待的同时学习《花火》的基础知识",
learnHanabiEnglish: "学习《花火》 - ",
learn: {
welcome: {
title: "5 分钟学会《花火》",
1: "欢迎!在这个简短的教程中,您将自己完成一局游戏。",
2: "不必担心,我们会全程为您指路!",
},
cooperation: {
title: "合作",
1: "《花火》 是一个合作游戏。\n\n你和其他玩家一起,互相配合以达到共同的目标。",
},
colorBlind: {
label: "看不清颜色?切换到色盲模式",
},
cards: {
title: "卡牌",
1: {
1: "卡片编号从",
2: "到",
3: "并且颜色为",
4: "或",
},
2: "在游戏开始时,每位玩家将获得 5 张牌。",
3: "你看不到自己的牌,但可以看到其他玩家的牌",
},
goal: {
title: "目标",
1: "作为一个团队,打出每种颜色的所有牌。",
2: "每种颜色的牌必须按升序打出。",
3: "例如,在上面的例子中,你必须先打出",//不符合中文语序
4: "才能打出",//不符合中文语序
5: ".",
},
actions: {
title: "行动",
0: "轮到您时,您可以选择 3 个动作中的一个",
play: {
title: "1. 打出卡片",
1: "从手中打出一张牌到桌面上",
2: "如果该卡不可使用,则该卡将被丢弃并且您的团队获得一个失误标记:",
3: "从牌组中抽一张新牌。",
},
hint: {
title: "2. 给予提示",
1: "给一名队友以他手中卡片的提示。",
2: "给出一个提示需要一个提示标记:",
3: "您可以提示一种颜色或一个数字。",
4: "例如,在下面的手牌中:",
5: "你可以给出以下提示:",
6: "你的卡片 A 和 B 是蓝色的",
7: "你的牌 A 和 C 是 2",
8: "你的卡 E 是黄色的",
9: "你没有绿色卡",
},
discard: {
title: "3. 弃置卡片",
1: "扔掉你手上的一张牌。这张牌将永远失去。",
2: "获得一枚提示标记:",
3: "从牌组中抽一张新牌。",
},
},
tokens: {
title: "标记",
1: "提示标记允许您给出提示。",
2: "在游戏开始时,您的团队有 8 个标记。",
3: "当有人打出无法使用的牌时,会获得失误标记。",
4: "达到 3 个失误标记后,您将立即输掉游戏。",
},
ready: {
title: "准备好了吗?",
1: "让我们进入试玩游戏来试试你刚学到的东西吧!",
2: "《花火》是一款拥有无限选择和可能性的游戏。玩的时候没有正确的选择。",
3: "本教程旨在帮助您了解可以与朋友一起使用的基本游戏风格。",
4: "后面提到的约定不是官方规则的一部分,而是一些玩家为了提高效率而创建的系统。如果您想自己发现这些,您可以立即离开本教程并直接进入游戏。",
},
},
};