Fix translation pluralization format for next-intl
- Convert i18next pluralization format to next-intl ICU format - Change from with_count_one/with_count_other to ICU plural syntax - Update footer.remixes.label to use # for count formatting - Update party.details.turns to use proper plural format 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
59bd37e806
commit
903ab8aeb1
3 changed files with 62 additions and 65 deletions
|
|
@ -29,7 +29,7 @@ const RemixedToast = ({
|
|||
|
||||
return (
|
||||
<Toast
|
||||
altText={t('toasts.remixed', { title: partyName })}
|
||||
altText={t('toasts.remixed_alt', { title: partyName })}
|
||||
open={open}
|
||||
duration={2400}
|
||||
type="foreground"
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@
|
|||
"confirm_logout": "Are you sure you want to log out?",
|
||||
"incompatible_weapon": "You've selected a weapon that can't be added to the Additional Weapon slots.",
|
||||
"unsaved_changes": {
|
||||
"party": "You will lose all changes to your party <strong>{{objectName}}</strong> if you continue.<br/><br/>Are you sure you want to continue without saving?",
|
||||
"object": "You will lose all changes to <strong>{{objectName}}</strong> if you continue.<br/><br/>Are you sure you want to continue without saving?",
|
||||
"party": "You will lose all changes to your party <strong>{objectName}</strong> if you continue.<br/><br/>Are you sure you want to continue without saving?",
|
||||
"object": "You will lose all changes to <strong>{objectName}</strong> if you continue.<br/><br/>Are you sure you want to continue without saving?",
|
||||
"buttons": {
|
||||
"confirm": "Continue without saving",
|
||||
"cancel": "Nevermind"
|
||||
|
|
@ -25,17 +25,17 @@
|
|||
"ax": {
|
||||
"no_skill": "No AX Skill",
|
||||
"errors": {
|
||||
"value_too_low": "{{name}} must be at least {{minValue}}{{suffix}}",
|
||||
"value_too_high": "{{name}} cannot be greater than {{maxValue}}{{suffix}}",
|
||||
"value_not_whole": "{{name}} must be a whole number",
|
||||
"value_empty": "{{name}} must have a value"
|
||||
"value_too_low": "{name} must be at least {minValue}{suffix}",
|
||||
"value_too_high": "{name} cannot be greater than {maxValue}{suffix}",
|
||||
"value_not_whole": "{name} must be a whole number",
|
||||
"value_empty": "{name} must have a value"
|
||||
}
|
||||
},
|
||||
"awakening": {
|
||||
"no_type": "No awakening",
|
||||
"errors": {
|
||||
"value_too_low": "Awakening level must be at least {{minValue}}",
|
||||
"value_too_high": "Awakening level cannot be greater than {{maxValue}}",
|
||||
"value_too_low": "Awakening level must be at least {minValue}",
|
||||
"value_too_high": "Awakening level cannot be greater than {maxValue}",
|
||||
"value_not_whole": "Awakening level must be a whole number",
|
||||
"value_empty": "Awakening must have a level"
|
||||
}
|
||||
|
|
@ -77,10 +77,10 @@
|
|||
},
|
||||
"earring": {
|
||||
"errors": {
|
||||
"value_too_low": "{{name}} must be at least {{minValue}}",
|
||||
"value_too_high": "{{name}} cannot be greater than {{maxValue}}",
|
||||
"value_not_whole": "{{name}} must be a whole number",
|
||||
"value_empty": "{{name}} must have a value"
|
||||
"value_too_low": "{name} must be at least {minValue}",
|
||||
"value_too_high": "{name} cannot be greater than {maxValue}",
|
||||
"value_not_whole": "{name} must be a whole number",
|
||||
"value_empty": "{name} must have a value"
|
||||
}
|
||||
},
|
||||
"elements": {
|
||||
|
|
@ -144,17 +144,15 @@
|
|||
"empty": "This team doesn't have a description"
|
||||
},
|
||||
"remixes": {
|
||||
"label_zero": "Remixes",
|
||||
"label_one": "{{count}} Remix",
|
||||
"label_other": "{{count}} Remixes",
|
||||
"label": "{count, plural, =0 {Remixes} =1 {# Remix} other {# Remixes}}",
|
||||
"empty": "No one has remixed this team yet"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"anonymous": "Anonymous",
|
||||
"untitled_team": "Untitled team by {{username}}",
|
||||
"untitled_team": "Untitled team by {username}",
|
||||
"new_team": "New team",
|
||||
"byline": "{{partyName}} by {{username}}"
|
||||
"byline": "{partyName} by {username}"
|
||||
},
|
||||
"job_skills": {
|
||||
"all": "All skills",
|
||||
|
|
@ -213,7 +211,7 @@
|
|||
"conflict": {
|
||||
"character": "Only one <strong>version of a character</strong> can be included in each party. Do you want to change your party members?",
|
||||
"weapon": {
|
||||
"generic": "Only one weapon from the <strong>{{series}} Series</strong> can be included in each party. Do you want to change your weapons?",
|
||||
"generic": "Only one weapon from the <strong>{series} Series</strong> can be included in each party. Do you want to change your weapons?",
|
||||
"opus-draconic": "Only one <strong>Dark Opus</strong> or <strong>Draconic Weapon</strong> can be included in each party. Do you want to change your weapons?"
|
||||
},
|
||||
"buttons": {
|
||||
|
|
@ -391,7 +389,7 @@
|
|||
},
|
||||
"agreement": "By signing up, I agree to the <br/><2>Privacy Policy</2> and <1>Usage Guidelines</1>.",
|
||||
"errors": {
|
||||
"field_in_use": "This {{field}} is already in use",
|
||||
"field_in_use": "This {field} is already in use",
|
||||
"empty_email": "Please enter your email",
|
||||
"invalid_email": "That email address is not valid",
|
||||
"username_too_short": "Username must be at least 3 characters",
|
||||
|
|
@ -467,8 +465,8 @@
|
|||
"roadmap": "Roadmap / granblue.team",
|
||||
"discover": "Discover teams / granblue.team",
|
||||
"new": "Create a new team / granblue.team",
|
||||
"profile": "@{{username}}'s Teams / granblue.team",
|
||||
"team": "{{emoji}} {{teamName}} by {{username}} / granblue.team",
|
||||
"profile": "@{username}'s Teams / granblue.team",
|
||||
"team": "{emoji} {teamName} by {username} / granblue.team",
|
||||
"saved": "Your saved teams / granblue.team"
|
||||
},
|
||||
"descriptions": {
|
||||
|
|
@ -477,8 +475,8 @@
|
|||
"roadmap": "Upcoming planned features for granblue.team",
|
||||
"discover": "Save and discover teams to use in Granblue Fantasy and search by raid, element or recency",
|
||||
"new": "Create and theorycraft teams to use in Granblue Fantasy and share with the community",
|
||||
"profile": "Browse @{{username}}'s Teams and filter by raid, element or recency",
|
||||
"team": "Browse this team for {{raidName}} by {{username}} and others on granblue.team"
|
||||
"profile": "Browse @{username}'s Teams and filter by raid, element or recency",
|
||||
"team": "Browse this team for {raidName} by {username} and others on granblue.team"
|
||||
}
|
||||
},
|
||||
"party": {
|
||||
|
|
@ -505,8 +503,7 @@
|
|||
"seconds": "s"
|
||||
},
|
||||
"turns": {
|
||||
"with_count_one": "{{count}} turn",
|
||||
"with_count_other": "{{count}} turns"
|
||||
"with_count": "{count, plural, =1 {# turn} other {# turns}}"
|
||||
}
|
||||
},
|
||||
"notices": {
|
||||
|
|
@ -564,11 +561,11 @@
|
|||
},
|
||||
"search": {
|
||||
"recent": "Recently added",
|
||||
"result_count": "{{record_count}} results",
|
||||
"result_count": "{record_count} results",
|
||||
"errors": {
|
||||
"start_typing": "Start typing the name of a {{object}}",
|
||||
"start_typing": "Start typing the name of a {object}",
|
||||
"min_length": "Type at least 3 characters",
|
||||
"no_results": "No results found for '{{query}}'",
|
||||
"no_results": "No results found for '{query}'",
|
||||
"no_results_generic": "No results found",
|
||||
"end_results": "No more results",
|
||||
"type": "Keep typing..."
|
||||
|
|
@ -633,6 +630,7 @@
|
|||
"toasts": {
|
||||
"copied": "This party's URL was copied to your clipboard",
|
||||
"remixed": "You remixed <strong>{title}</strong>",
|
||||
"remixed_alt": "You remixed {title}",
|
||||
"update": {
|
||||
"title": "New update",
|
||||
"description": {
|
||||
|
|
@ -653,7 +651,7 @@
|
|||
"highlight": "Highlight",
|
||||
"link": "Add a link",
|
||||
"youtube": "Add a Youtube video",
|
||||
"heading": "Heading {{level}}",
|
||||
"heading": "Heading {level}",
|
||||
"bulletList": "Bullet list",
|
||||
"orderedList": "Numbered list"
|
||||
}
|
||||
|
|
@ -673,7 +671,7 @@
|
|||
"equipped": "Equipped",
|
||||
"coming_soon": "Coming Soon",
|
||||
"new_party": "New party",
|
||||
"no_accessory": "No {{accessory}} equipped",
|
||||
"no_accessory": "No {accessory} equipped",
|
||||
"no_title": "Untitled",
|
||||
"no_raid": "No raid",
|
||||
"no_user": "Anonymous",
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@
|
|||
"confirm_logout": "ログアウトしますか",
|
||||
"incompatible_weapon": "Additional Weaponsに装備できない武器を入れました。",
|
||||
"unsaved_changes": {
|
||||
"party": "<strong>「{{objectName}}」</strong>という編成の変更は保存していません。<br/><br/>変更を保存せずに続けますか?",
|
||||
"object": "<strong>「{{objectName}}」</strong>の変更は保存していません。<br/><br/>変更を保存せずに続けますか?",
|
||||
"party": "<strong>「{objectName}」</strong>という編成の変更は保存していません。<br/><br/>変更を保存せずに続けますか?",
|
||||
"object": "<strong>「{objectName}」</strong>の変更は保存していません。<br/><br/>変更を保存せずに続けますか?",
|
||||
"buttons": {
|
||||
"confirm": "変更せずに続ける",
|
||||
"cancel": "キャンセル"
|
||||
|
|
@ -25,17 +25,17 @@
|
|||
"ax": {
|
||||
"no_skill": "EXスキルなし",
|
||||
"errors": {
|
||||
"value_too_low": "{{name}}は最低{{minValue}}{{suffix}}を入力してください",
|
||||
"value_too_high": "{{name}}は最大{{maxValue}}{{suffix}}を入力してください",
|
||||
"value_not_whole": "{{name}}は整数でなければなりません",
|
||||
"value_empty": "{{name}}を入力してください"
|
||||
"value_too_low": "{name}は最低{minValue}{suffix}を入力してください",
|
||||
"value_too_high": "{name}は最大{maxValue}{suffix}を入力してください",
|
||||
"value_not_whole": "{name}は整数でなければなりません",
|
||||
"value_empty": "{name}を入力してください"
|
||||
}
|
||||
},
|
||||
"awakening": {
|
||||
"no_type": "覚醒タイプなし",
|
||||
"errors": {
|
||||
"value_too_low": "覚醒レベルは最低{{minValue}}を入力してください",
|
||||
"value_too_high": "覚醒レベルは最大{{maxValue}}を入力してください",
|
||||
"value_too_low": "覚醒レベルは最低{minValue}を入力してください",
|
||||
"value_too_high": "覚醒レベルは最大{maxValue}を入力してください",
|
||||
"value_not_whole": "覚醒レベルは整数でなければなりません",
|
||||
"value_empty": "覚醒レベルを入力してください"
|
||||
}
|
||||
|
|
@ -77,10 +77,10 @@
|
|||
},
|
||||
"earring": {
|
||||
"errors": {
|
||||
"value_too_low": "{{name}}は最低{{minValue}}を入力してください",
|
||||
"value_too_high": "{{name}}は最大{{maxValue}}を入力してください",
|
||||
"value_not_whole": "{{name}}は整数でなければなりません",
|
||||
"value_empty": "{{name}}を入力してください"
|
||||
"value_too_low": "{name}は最低{minValue}を入力してください",
|
||||
"value_too_high": "{name}は最大{maxValue}を入力してください",
|
||||
"value_not_whole": "{name}は整数でなければなりません",
|
||||
"value_empty": "{name}を入力してください"
|
||||
}
|
||||
},
|
||||
"elements": {
|
||||
|
|
@ -144,16 +144,15 @@
|
|||
"empty": "この編成には説明がありません"
|
||||
},
|
||||
"remixes": {
|
||||
"label_zero": "リミックス",
|
||||
"label": "リミックス: {{count}}個",
|
||||
"label": "{count, plural, =0 {リミックス} other {リミックス: #個}}",
|
||||
"empty": "この編成はリミックスされていません"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"anonymous": "無名",
|
||||
"untitled_team": "{{username}}さんからの無題編成",
|
||||
"untitled_team": "{username}さんからの無題編成",
|
||||
"new_team": "新編成",
|
||||
"byline": "{{username}}さんからの{{partyName}}"
|
||||
"byline": "{username}さんからの{partyName}"
|
||||
},
|
||||
"job_skills": {
|
||||
"all": "全てのアビリティ",
|
||||
|
|
@ -202,7 +201,7 @@
|
|||
"awakening": "覚醒"
|
||||
},
|
||||
"messages": {
|
||||
"remove": "<strong>{{character}}</strong>を編成から削除しますか?"
|
||||
"remove": "<strong>{character}</strong>を編成から削除しますか?"
|
||||
},
|
||||
"buttons": {
|
||||
"confirm": "キャラクターを変更する",
|
||||
|
|
@ -212,7 +211,7 @@
|
|||
"conflict": {
|
||||
"character": "<strong>同じ名前のキャラクター</strong>がパーティに編成されています。<br />以下のキャラクターを入れ替えますか?",
|
||||
"weapon": {
|
||||
"generic": "<strong>{{series}}</strong>の武器に装備制限があり、武器が既に装備されています。<br /><br />以下の武器を入れ替えますか?",
|
||||
"generic": "<strong>{series}</strong>の武器に装備制限があり、武器が既に装備されています。<br /><br />以下の武器を入れ替えますか?",
|
||||
"opus-draconic": "<strong>終末の神器シリーズ</strong>と<strong>ドラコニックシリーズ</strong>から1本しか装備できない制限があり、武器が既に装備されています。<br /><br />以下の武器を入れ替えますか?"
|
||||
},
|
||||
"buttons": {
|
||||
|
|
@ -315,7 +314,7 @@
|
|||
},
|
||||
"job_skills": {
|
||||
"messages": {
|
||||
"remove": "<strong>{{job_skill}}</strong>を編成から削除しますか?"
|
||||
"remove": "<strong>{job_skill}</strong>を編成から削除しますか?"
|
||||
},
|
||||
"buttons": {
|
||||
"remove": "ジョブスキルを削除する"
|
||||
|
|
@ -340,8 +339,8 @@
|
|||
"remix_team": {
|
||||
"title": "編成をリミックス",
|
||||
"description": {
|
||||
"creator": "既に<strong>{{name}}</strong>の作家のため, 本当にリミックスでコピーを作成しますか?",
|
||||
"viewer": "編成をリミックスすると変更をするために自アカウントにコピーを作成します。<strong>{{name}}</strong>をリミックスをしますか?"
|
||||
"creator": "既に<strong>{name}</strong>の作家のため, 本当にリミックスでコピーを作成しますか?",
|
||||
"viewer": "編成をリミックスすると変更をするために自アカウントにコピーを作成します。<strong>{name}</strong>をリミックスをしますか?"
|
||||
},
|
||||
"buttons": {
|
||||
"confirm": "リミックス",
|
||||
|
|
@ -387,7 +386,7 @@
|
|||
},
|
||||
"agreement": "続行することで<1>利用規約</1>に同意し、<br/><1>プライバシーポリシー</1>を読んだものとみなされます。",
|
||||
"errors": {
|
||||
"field_in_use": "入力された{{field}}は既に登録済みです",
|
||||
"field_in_use": "入力された{field}は既に登録済みです",
|
||||
"empty_email": "メールアドレスを入力して下さい",
|
||||
"invalid_email": "メールアドレスは有効ではありません",
|
||||
"username_too_short": "ユーザーネームは3文字以上で入力してください",
|
||||
|
|
@ -458,8 +457,8 @@
|
|||
"roadmap": "ロードマップ / granblue.team",
|
||||
"discover": "編成を見出す / granblue.team",
|
||||
"new": "新しい編成 / granblue.team",
|
||||
"profile": "@{{username}}さんの作った編成 / granblue.team",
|
||||
"team": "{{emoji}} {{teamName}}、{{username}}さんから / granblue.team",
|
||||
"profile": "@{username}さんの作った編成 / granblue.team",
|
||||
"team": "{emoji} {teamName}、{username}さんから / granblue.team",
|
||||
"saved": "保存した編成"
|
||||
},
|
||||
"descriptions": {
|
||||
|
|
@ -468,8 +467,8 @@
|
|||
"roadmap": "granblue.teamの開発予定機能",
|
||||
"discover": "グランブルーファンタジーの編成をマルチ、属性、作った時間などで探したり保存したりできる",
|
||||
"new": "グランブルーファンタジーの編成を作成し、騎空士とシェアできるサイトgranblue.team",
|
||||
"profile": "@{{username}}の編成を調査し、マルチ、属性、または作った時間でフィルターする",
|
||||
"team": "granblue.teamで{{username}}さんが作った{{raidName}}の編成を調査できる"
|
||||
"profile": "@{username}の編成を調査し、マルチ、属性、または作った時間でフィルターする",
|
||||
"team": "granblue.teamで{username}さんが作った{raidName}の編成を調査できる"
|
||||
}
|
||||
},
|
||||
"party": {
|
||||
|
|
@ -497,8 +496,7 @@
|
|||
},
|
||||
|
||||
"turns": {
|
||||
"with_count_one": "{{count}}ターン",
|
||||
"with_count_other": "{{count}}ターン"
|
||||
"with_count": "{count, plural, other {#ターン}}"
|
||||
}
|
||||
},
|
||||
"notices": {
|
||||
|
|
@ -556,11 +554,11 @@
|
|||
},
|
||||
"search": {
|
||||
"recent": "最近追加した",
|
||||
"result_count": "{{record_count}}件",
|
||||
"result_count": "{record_count}件",
|
||||
"errors": {
|
||||
"start_typing": "{{object}}名を入力してください",
|
||||
"start_typing": "{object}名を入力してください",
|
||||
"min_length": "3文字以上を入力してください",
|
||||
"no_results": "'{{query}}'の検索結果が見つかりませんでした",
|
||||
"no_results": "'{query}'の検索結果が見つかりませんでした",
|
||||
"no_results_generic": "検索結果が見つかりませんでした",
|
||||
"end_results": "検索結果これ以上ありません",
|
||||
"type": "もっと入力してください"
|
||||
|
|
@ -624,7 +622,8 @@
|
|||
},
|
||||
"toasts": {
|
||||
"copied": "この編成のURLはクリップボードにコピーされました",
|
||||
"remixed": "{{title}}をリミックスしました",
|
||||
"remixed": "<strong>{title}</strong>をリミックスしました",
|
||||
"remixed_alt": "{title}をリミックスしました",
|
||||
"update": {
|
||||
"title": "新アプデ",
|
||||
"description": {
|
||||
|
|
@ -645,7 +644,7 @@
|
|||
"highlight": "ハイライト",
|
||||
"link": "リンクを挿入",
|
||||
"youtube": "Youtube動画を埋め込む",
|
||||
"heading": "見出し {{level}}",
|
||||
"heading": "見出し {level}",
|
||||
"bulletList": "箇条書き",
|
||||
"orderedList": "番号リスト"
|
||||
}
|
||||
|
|
@ -665,7 +664,7 @@
|
|||
"sephira_guidebooks": "セフィラ導本",
|
||||
"coming_soon": "開発中",
|
||||
"new_party": "新しい編成",
|
||||
"no_accessory": "{{accessory}}は装備していません",
|
||||
"no_accessory": "{accessory}は装備していません",
|
||||
"no_title": "無題",
|
||||
"no_raid": "マルチなし",
|
||||
"no_user": "無名",
|
||||
|
|
|
|||
Loading…
Reference in a new issue