Skip to content
This repository was archived by the owner on Mar 23, 2022. It is now read-only.

Commit 9f67e7a

Browse files
committed
ADD - JP language support
Signed-off-by: RaenonX <[email protected]>
1 parent 305a53d commit 9f67e7a

File tree

4 files changed

+151
-7
lines changed

4 files changed

+151
-7
lines changed

public/locales/jp/translation.json

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
{
2+
"game": {
3+
"data": {
4+
"title_self": "ゲーム情報",
5+
"active": "スキル",
6+
"cex": "リンクEXアビリティ",
7+
"others": "他の情報",
8+
"passive": "アビリティ",
9+
"print": "護符",
10+
"skill_atk": "攻擊スキル",
11+
"skill_sup": "サポートスキル",
12+
"story": "ストーリー"
13+
},
14+
"tools": {
15+
"title_self": "ゲーム用のツール",
16+
"damage": "ダメージ計算",
17+
"rotation": "ルーティン計算"
18+
}
19+
},
20+
"google_signin": {
21+
"no_uid": "不正確なGoogleアカウント",
22+
"no_uid_details": "不正確なGoogleアカウント。もう一度ログインしてください。",
23+
"login": "Googleログイン",
24+
"login_error": "エラーコード: {{errorCode}}",
25+
"login_failed": "ログイン失敗",
26+
"login_unknown": "不明なエラーが発生,ログインができない。({{error}})",
27+
"logout": "Googleログアウト",
28+
"logout_failed": "ログアウト失敗",
29+
"logout_unknown": "不明なエラーが発生,ログアウトができない。",
30+
"request_failed": "ログインのリクエストが失敗"
31+
},
32+
"lang": {
33+
"in_use": "使用中"
34+
},
35+
"message": {
36+
"page_nav": "このページ閉じますか?"
37+
},
38+
"misc": {
39+
"add": "追加",
40+
"remove": "削除"
41+
},
42+
"pages": {
43+
"name": {
44+
"about": "サイドについて",
45+
"analysis_list": "検測のカタログ",
46+
"analysis_new_chara": "新キャラの検測",
47+
"analysis_new_dragon": "新ドラゴンの検測",
48+
"analysis_post": "検測",
49+
"home": "ホームページ",
50+
"constructing": "工事中",
51+
"quest_edit": "高難易度クエスト攻略の編集",
52+
"quest_list": "高難易度クエスト攻略のカタログ",
53+
"quest_new": "高難易度クエスト攻略の追加",
54+
"quest_post": "高難易度クエスト攻略",
55+
"site": "ドラガリ攻略サイド by OM",
56+
"suffix": " | ドラガリ攻略サイド by OM"
57+
},
58+
"constructing": "サイド機能工事中。後で発布する。\n\n### メール通知システムが完成する前は\n\n各SNSの上発表する (例: 掲示板、Facebook 、LINE…など) 。\n\n### メール通知システム完成後\n\nログインした者や,通知機能登録した者は新機能について、メールに送ります。",
59+
"welcome": "OM製作のドラガリ攻略サイドへようこそ!大部分の機能や、ページやまた工事中なので,よろしくお願い致します。\n\n今 **高難易度クエスト攻略、キャラとドラゴンの検測** は完成してる,ご覧ください。\n\nページに選択したら說明もついてます。"
60+
},
61+
"posts": {
62+
"analysis": {
63+
"title_self": "検測",
64+
"force_strike": "バーストアタック",
65+
"keywords": "キーワード",
66+
"normal_attack": "通常殴り",
67+
"notes_dragon": "記事",
68+
"object_name": "検測の名前",
69+
"object_type": "検測の対象",
70+
"passive": "アビリティ",
71+
"skills": "スキル情報",
72+
"story": "ストーリー",
73+
"suitable": "愛想良いキャラ",
74+
"summary": "結論",
75+
"summon_result": "個人のガチャ結果",
76+
"tips_builds": "ポイント & おすすめ配置",
77+
"ultimate": "必殺技",
78+
"videos": "関する動画",
79+
"error": {
80+
"unknown_type": "文の種類が分別できない。"
81+
},
82+
"skill": {
83+
"name": "スキルの名前",
84+
"info": "スキルの情報",
85+
"rotations": "スキルのシフト",
86+
"tips": "スキルのポイント"
87+
},
88+
"type": {
89+
"character": "キャラ",
90+
"dragon": "ドラゴン",
91+
"uncategorized": "未定"
92+
}
93+
},
94+
"info": {
95+
"title_self": "本ページの情報",
96+
"id": "ID",
97+
"last_modified": "最後の編集した日期",
98+
"published": "発表した日期",
99+
"title": "お題",
100+
"view_count": "ご覽回數"
101+
},
102+
"manage": {
103+
"add": "文を追加する",
104+
"add_chara": "文を追加する (キャラ)",
105+
"add_dragon": "文を追加する(ドラゴン)",
106+
"add_note": "指定 IDあれば,文が多国言語版もあります。サイドはその ID と言語検査する。対応できない文のID は使えない。",
107+
"collapse": "ズームイン/アウト",
108+
"edit": "文を編集",
109+
"fetch_list_failed": "文のリスト獲得失敗。({{error}})",
110+
"fetch_post_failed": "文の獲得失敗。({{error}})",
111+
"md": "Markdown",
112+
"modify_note": "記事を編集する",
113+
"modify_time": "日期を編集する",
114+
"post_not_exists": "文がございません。",
115+
"preview": "プレビュー",
116+
"publish": "文を発表する",
117+
"publish_failed": "発表失敗"
118+
},
119+
"message": {
120+
"alt_lang": "本ページは言語が {{langUi}} の版がございませんなので。展示した言語が{{langPost}} の版に変えました。",
121+
"other_lang": "本ページが他言語の版もあります。"
122+
},
123+
"misc": {
124+
"title_self": "他の文章"
125+
},
126+
"quest": {
127+
"title_self": "高難易度クエストの攻略",
128+
"addendum": "記事",
129+
"builds": "配置",
130+
"character": "キャラ",
131+
"general": "通常注意ポイント",
132+
"positional": "キャラ/職業別の攻略",
133+
"rotations": "ルーティン / スキル順番",
134+
"tips": "ポイント",
135+
"title": "お題",
136+
"video": "関する動画"
137+
}
138+
}
139+
}

src/components/elements/prompt.tsx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import {useTranslation} from 'react-i18next';
44

55

66
const onBeforeUnload = (e) => {
7-
console.log('set event');
87
// Cancel the event
98
e.preventDefault(); // If you prevent default behavior in Mozilla Firefox prompt will always be shown
109
// Chrome requires returnValue to be set
@@ -25,9 +24,6 @@ export const Prompt = ({display = true, text}: PromptProps) => {
2524
text = t('message.page_nav');
2625
}
2726

28-
console.log(display);
29-
console.log(text);
30-
3127
// Using event listener of `beforeunload` for close/reload
3228
window.addEventListener('beforeunload', onBeforeUnload);
3329

src/constants/lang.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
export const SUPPORTED_LANG: Array<string> = ['cht', 'en'];
1+
export const SUPPORTED_LANG: Array<string> = ['cht', 'en', 'jp'];
22

33
export const SUPPORTED_LANG_NAME: Map<string, string> = new Map<string, string>([
44
['cht', 'CHT - 繁體中文'],
55
['en', 'EN - English'],
6+
['jp', 'JP - 日本語'],
67
]);

src/i18n/langCodeTrans.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
1+
const LANG_CODE_CHT = 'cht';
2+
13
const LANG_CODE_EN = 'en';
24

3-
const LANG_CODE_CHT = 'cht';
5+
const LANG_CODE_JP = 'jp';
6+
7+
const LANG_CODE_TO_CHT = ['zh'];
48

59
const LANG_CODE_TO_EN = ['en', 'es'];
610

7-
const LANG_CODE_TO_CHT = ['zh'];
11+
const LANG_CODE_TO_JP = ['jp', 'ja'];
812

913

1014
export const mapToCustomCode = (orgLang: string | undefined) => {
@@ -22,5 +26,9 @@ export const mapToCustomCode = (orgLang: string | undefined) => {
2226
return LANG_CODE_EN;
2327
}
2428

29+
if (LANG_CODE_TO_JP.some((code) => code === langCode)) {
30+
return LANG_CODE_JP;
31+
}
32+
2533
return LANG_CODE_CHT;
2634
};

0 commit comments

Comments
 (0)