Skip to content

Commit 368c6b3

Browse files
authored
Merge pull request langgenius#94 from yusuke-ten/feat/add-japanese
Add Japanese language settings to i18n
2 parents f6fb9c7 + 7f24387 commit 368c6b3

File tree

5 files changed

+184
-1
lines changed

5 files changed

+184
-1
lines changed

i18n/i18next-config.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,14 @@ import { initReactI18next } from 'react-i18next'
44
import commonEn from './lang/common.en'
55
import commonEs from './lang/common.es'
66
import commonZh from './lang/common.zh'
7+
import commonJa from './lang/common.ja'
78
import appEn from './lang/app.en'
89
import appEs from './lang/app.es'
910
import appZh from './lang/app.zh'
11+
import appJa from './lang/app.ja'
1012
import toolsEn from './lang/tools.en'
1113
import toolsZh from './lang/tools.zh'
14+
import toolsJa from './lang/tools.ja'
1215
import type { Locale } from '.'
1316

1417
const resources = {
@@ -34,6 +37,14 @@ const resources = {
3437
tools: toolsZh,
3538
},
3639
},
40+
'ja': {
41+
translation: {
42+
common: commonJa,
43+
app: appJa,
44+
// tools
45+
tools: toolsJa,
46+
},
47+
},
3748
}
3849

3950
i18n.use(initReactI18next)

i18n/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export const i18n = {
22
defaultLocale: 'en',
3-
locales: ['en', 'es', 'zh-Hans'],
3+
locales: ['en', 'es', 'zh-Hans', 'ja'],
44
} as const
55

66
export type Locale = typeof i18n['locales'][number]

i18n/lang/app.ja.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
const translation = {
2+
common: {
3+
welcome: 'ご利用いただきありがとうございます',
4+
appUnavailable: 'アプリは利用できません',
5+
appUnkonwError: 'アプリは利用できません',
6+
},
7+
chat: {
8+
newChat: '新しいチャット',
9+
newChatDefaultName: '新しい会話',
10+
openingStatementTitle: 'オープニングステートメント',
11+
powerBy: '提供元',
12+
prompt: 'プロンプト',
13+
privatePromptConfigTitle: '会話設定',
14+
publicPromptConfigTitle: '初期プロンプト',
15+
configStatusDes: '開始前に、会話設定を変更できます',
16+
configDisabled:
17+
'前回のセッション設定がこのセッションで使用されています。',
18+
startChat: '開始',
19+
privacyPolicyLeft:
20+
'ご利用前に、',
21+
privacyPolicyMiddle:
22+
'プライバシーポリシー',
23+
privacyPolicyRight:
24+
' をお読みください。',
25+
},
26+
errorMessage: {
27+
valueOfVarRequired: '変数の値は空にできません',
28+
waitForResponse:
29+
'前のメッセージの応答が完了するまでお待ちください。',
30+
},
31+
variableTable: {
32+
optional: '任意',
33+
},
34+
}
35+
36+
export default translation

i18n/lang/common.ja.ts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
const translation = {
2+
api: {
3+
success: '成功',
4+
saved: '保存しました',
5+
create: '作成しました',
6+
},
7+
operation: {
8+
confirm: '確認',
9+
cancel: 'キャンセル',
10+
clear: 'クリア',
11+
save: '保存',
12+
edit: '編集',
13+
refresh: '再起動',
14+
search: '検索',
15+
send: '送信',
16+
lineBreak: '改行',
17+
like: 'いいね',
18+
dislike: 'よくないね',
19+
ok: 'OK',
20+
},
21+
imageUploader: {
22+
uploadFromComputer: 'コンピューターからアップロード',
23+
uploadFromComputerReadError: '画像の読み込みに失敗しました。もう一度お試しください。',
24+
uploadFromComputerUploadError: '画像のアップロードに失敗しました。もう一度アップロードしてください。',
25+
uploadFromComputerLimit: 'アップロードする画像は{{size}} MBを超えてはいけません',
26+
pasteImageLink: '画像リンクを貼り付け',
27+
pasteImageLinkInputPlaceholder: 'ここに画像リンクを貼り付けてください',
28+
pasteImageLinkInvalid: '無効な画像リンクです',
29+
imageUpload: '画像アップロード',
30+
},
31+
}
32+
33+
export default translation

i18n/lang/tools.ja.ts

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
const translation = {
2+
title: 'ツール',
3+
createCustomTool: 'カスタムツールの作成',
4+
type: {
5+
all: 'すべて',
6+
builtIn: '内蔵',
7+
custom: 'カスタム',
8+
},
9+
contribute: {
10+
line1: '興味があります ',
11+
line2: 'Difyにツールを貢献すること。',
12+
viewGuide: 'ガイドを見る',
13+
},
14+
author: '作成者',
15+
auth: {
16+
unauthorized: '認証が必要',
17+
authorized: '認証済み',
18+
setup: '使用するために認証を設定',
19+
setupModalTitle: '認証設定',
20+
setupModalTitleDescription: '資格情報を設定すると、ワークスペース内のすべてのメンバーがアプリケーションを編成する際にこのツールを使用できるようになります。',
21+
},
22+
includeToolNum: '{{num}} のツールが含まれています',
23+
addTool: 'ツールを追加',
24+
createTool: {
25+
title: 'カスタムツールの作成',
26+
editAction: '設定',
27+
editTitle: 'カスタムツールの編集',
28+
name: '名前',
29+
toolNamePlaceHolder: 'ツール名を入力してください',
30+
schema: 'スキーマ',
31+
schemaPlaceHolder: 'ここにOpenAPIスキーマを入力してください',
32+
viewSchemaSpec: 'OpenAPI-Swagger仕様を見る',
33+
importFromUrl: 'URLからインポート',
34+
importFromUrlPlaceHolder: 'https://...',
35+
urlError: '有効なURLを入力してください',
36+
examples: '例',
37+
exampleOptions: {
38+
json: '天気予報(JSON)',
39+
yaml: 'ペットストア(YAML)',
40+
blankTemplate: '空のテンプレート',
41+
},
42+
availableTools: {
43+
title: '利用可能なツール',
44+
name: '名前',
45+
description: '説明',
46+
method: 'メソッド',
47+
path: 'パス',
48+
action: 'アクション',
49+
test: 'テスト',
50+
},
51+
authMethod: {
52+
title: '認証方法',
53+
type: '認証タイプ',
54+
types: {
55+
none: 'なし',
56+
api_key: 'APIキー',
57+
},
58+
key: 'キー',
59+
value: '値',
60+
},
61+
privacyPolicy: 'プライバシーポリシー',
62+
privacyPolicyPlaceholder: 'プライバシーポリシーを入力してください',
63+
},
64+
test: {
65+
title: 'テスト',
66+
parametersValue: 'パラメータと値',
67+
parameters: 'パラメータ',
68+
value: '値',
69+
testResult: 'テスト結果',
70+
testResultPlaceholder: 'テスト結果はここに表示されます',
71+
},
72+
thought: {
73+
using: '使用中',
74+
used: '使用済み',
75+
requestTitle: 'リクエスト先',
76+
responseTitle: 'レスポンス元',
77+
},
78+
setBuiltInTools: {
79+
info: '情報',
80+
setting: '設定',
81+
toolDescription: 'ツールの説明',
82+
parameters: 'パラメータ',
83+
string: '文字列',
84+
number: '数値',
85+
required: '必須',
86+
infoAndSetting: '情報と設定',
87+
},
88+
noCustomTool: {
89+
title: 'カスタムツールがありません!',
90+
content: 'ここでカスタムツールを追加および管理して、AIアプリを構築します。',
91+
createTool: 'ツールの作成',
92+
},
93+
noSearchRes: {
94+
title: '申し訳ありません、結果が見つかりません!',
95+
content: '検索条件に一致するツールは見つかりませんでした。',
96+
reset: '検索をリセット',
97+
},
98+
builtInPromptTitle: 'プロンプト',
99+
toolRemoved: 'ツールが削除されました',
100+
notAuthorized: 'ツールが認証されていません',
101+
}
102+
103+
export default translation

0 commit comments

Comments
 (0)