mirror of
https://github.com/sqlchat/sqlchat.git
synced 2025-09-26 09:34:13 +08:00
feat: support 日本語 locale
This commit is contained in:
@ -355,11 +355,11 @@ const CreateConnectionModal = (props: Props) => {
|
|||||||
</div>
|
</div>
|
||||||
<div className="space-x-2 flex flex-row justify-center">
|
<div className="space-x-2 flex flex-row justify-center">
|
||||||
<button className="btn btn-outline" onClick={close}>
|
<button className="btn btn-outline" onClick={close}>
|
||||||
Close
|
{t("common.close")}
|
||||||
</button>
|
</button>
|
||||||
<button className="btn" disabled={isRequesting || !allowSave} onClick={handleCreateConnection}>
|
<button className="btn" disabled={isRequesting || !allowSave} onClick={handleCreateConnection}>
|
||||||
{isRequesting && <Icon.BiLoaderAlt className="w-4 h-auto animate-spin mr-1" />}
|
{isRequesting && <Icon.BiLoaderAlt className="w-4 h-auto animate-spin mr-1" />}
|
||||||
Save
|
{t("common.save")}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -20,6 +20,10 @@ const localeItemList: LocaleItem[] = [
|
|||||||
value: "es",
|
value: "es",
|
||||||
label: "Español",
|
label: "Español",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
value: "jp",
|
||||||
|
label: "日本語",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const LocaleSelector = () => {
|
const LocaleSelector = () => {
|
||||||
|
@ -10,6 +10,8 @@ const LocaleSwitch = () => {
|
|||||||
settingStore.setLocale("zh");
|
settingStore.setLocale("zh");
|
||||||
} else if (locale === "zh") {
|
} else if (locale === "zh") {
|
||||||
settingStore.setLocale("es");
|
settingStore.setLocale("es");
|
||||||
|
} else if (locale === "es") {
|
||||||
|
settingStore.setLocale("jp");
|
||||||
} else {
|
} else {
|
||||||
settingStore.setLocale("en");
|
settingStore.setLocale("en");
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ import { initReactI18next } from "react-i18next";
|
|||||||
import enLocale from "./en.json";
|
import enLocale from "./en.json";
|
||||||
import zhLocale from "./zh.json";
|
import zhLocale from "./zh.json";
|
||||||
import esLocale from "./es.json";
|
import esLocale from "./es.json";
|
||||||
|
import jpLocale from "./jp.json";
|
||||||
|
|
||||||
i18n.use(initReactI18next).init({
|
i18n.use(initReactI18next).init({
|
||||||
resources: {
|
resources: {
|
||||||
@ -15,6 +16,9 @@ i18n.use(initReactI18next).init({
|
|||||||
es: {
|
es: {
|
||||||
translation: esLocale,
|
translation: esLocale,
|
||||||
},
|
},
|
||||||
|
jp: {
|
||||||
|
translation: jpLocale,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
fallbackLng: "en",
|
fallbackLng: "en",
|
||||||
});
|
});
|
||||||
|
77
src/locales/jp.json
Normal file
77
src/locales/jp.json
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
{
|
||||||
|
"common": {
|
||||||
|
"clear": "クリア",
|
||||||
|
"close": "閉じる",
|
||||||
|
"confirm": "確認",
|
||||||
|
"save": "保存",
|
||||||
|
"edit": "編集",
|
||||||
|
"loading": "読み込み中",
|
||||||
|
"setting": "設定",
|
||||||
|
"copy": "コピー",
|
||||||
|
"delete": "削除",
|
||||||
|
"execute": "実行"
|
||||||
|
},
|
||||||
|
"conversation": {
|
||||||
|
"new-chat": "新しいチャット",
|
||||||
|
"conversation-title": "会話タイトル",
|
||||||
|
"update": "会話を更新",
|
||||||
|
"title": "タイトル"
|
||||||
|
},
|
||||||
|
"connection": {
|
||||||
|
"self": "接続",
|
||||||
|
"new": "接続を作成",
|
||||||
|
"edit": "接続を編集",
|
||||||
|
"select-database": "データベースを選択",
|
||||||
|
"database-type": "データベースタイプ",
|
||||||
|
"title": "タイトル",
|
||||||
|
"host": "ホスト",
|
||||||
|
"port": "ポート",
|
||||||
|
"database-name": "データベース名",
|
||||||
|
"username": "ユーザー名",
|
||||||
|
"password": "パスワード"
|
||||||
|
},
|
||||||
|
"assistant": {
|
||||||
|
"self": "ボット",
|
||||||
|
"create-your-bot": "必要なボットが見つからない場合は、作成してください"
|
||||||
|
},
|
||||||
|
"execution": {
|
||||||
|
"title": "SQLを実行",
|
||||||
|
"message": {
|
||||||
|
"executing": "クエリを実行中...",
|
||||||
|
"no-connection": "接続が選択されていません",
|
||||||
|
"no-data": "データが返されませんでした"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"editor": {
|
||||||
|
"placeholder": "ここに質問を入力してください..."
|
||||||
|
},
|
||||||
|
"setting": {
|
||||||
|
"self": "設定",
|
||||||
|
"basic": {
|
||||||
|
"self": "基本",
|
||||||
|
"language": "言語"
|
||||||
|
},
|
||||||
|
"theme": {
|
||||||
|
"self": "テーマ",
|
||||||
|
"system": "システムに従う",
|
||||||
|
"light": "ライト",
|
||||||
|
"dark": "ダーク"
|
||||||
|
},
|
||||||
|
"openai-api-configuration": {
|
||||||
|
"self": "OpenAI APIの設定"
|
||||||
|
},
|
||||||
|
"data": {
|
||||||
|
"self": "データ",
|
||||||
|
"clear-all-data": "すべてのデータをクリア"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"social": {
|
||||||
|
"join-discord-channel": "Discordチャンネルに参加",
|
||||||
|
"join-wechat-group": "WeChatグループに参加"
|
||||||
|
},
|
||||||
|
"banner": {
|
||||||
|
"data-storage": "接続設定はローカルブラウザに保存されます",
|
||||||
|
"non-select-sql-warning": "現在のステートメントは非SELECT SQLである可能性があり、データベースのスキーマまたはデータの変更につながる可能性があります。自分が何をしているか確認してください。",
|
||||||
|
"product-hunt": "🚀🚀🚀 Product Huntでローンチしました。投票してください! 🚀🚀🚀"
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
export type Locale = "en" | "zh" | "es";
|
export type Locale = "en" | "zh" | "es" | "jp";
|
||||||
|
|
||||||
export type Theme = "light" | "dark" | "system";
|
export type Theme = "light" | "dark" | "system";
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user