4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Chainlitの日本語UI設定ファイル

Last updated at Posted at 2024-09-05

Chainlitはチャット型AIアプリを構築するためのオープンソースのPythonパッケージで、生成AIを活用したチャットアプリを作ることができます。
Productionでの活用が想定されており、生成AIによる回答作成の中間処理を表示できたり、LangChain/Autogen/Haystackなど生成AI関連で人気のあるフレームワークをChainlitに統合する機能もあります。
ChainlitのUIは英語なので日本語に変更してみました。

日本語設定ファイルの作成

.chainlit/translations/ja.jsonを作成して以下の内容を記入します。必要に応じて表現を変更してください。

ja.json
{
    "components": {
        "atoms": {
            "buttons": {
                "userButton": {
                    "menu": {
                        "settings": "設定",
                        "settingsKey": "S",
                        "APIKeys": "APIキー",
                        "logout": "ログアウト"
                    }
                }
            }
        },
        "molecules": {
            "newChatButton": {
                "newChat": "新しいチャット"
            },
            "tasklist": {
                "TaskList": {
                    "title": "\ud83d\uddd2\ufe0f タスクリスト",
                    "loading": "読み込み中...",
                    "error": "エラーが発生しました"
                }
            },
            "attachments": {
                "cancelUpload": "アップロードをキャンセル",
                "removeAttachment": "添付ファイルを削除"
            },
            "newChatDialog": {
                "createNewChat": "新しいチャットを作成しますか?",
                "clearChat": "現在のメッセージをクリアして新しいチャットを開始します。",
                "cancel": "キャンセル",
                "confirm": "確認"
            },
            "settingsModal": {
                "settings": "設定",
                "expandMessages": "メッセージを展開する",
                "hideChainOfThought": "思考の連鎖を隠す",
                "darkMode": "ダークモード"
            },
            "detailsButton": {
                "using": "処理中",
                "used": ""
            },
            "auth": {
                "authLogin": {
                    "title": "アプリにアクセスするにはログインしてください。",
                    "form": {
                        "email": "メールアドレス",
                        "password": "パスワード",
                        "noAccount": "アカウントを持っていませんか?",
                        "alreadyHaveAccount": "すでにアカウントをお持ちですか?",
                        "signup": "サインアップ",
                        "signin": "サインイン",
                        "or": "または",
                        "continue": "ログイン",
                        "forgotPassword": "パスワードをお忘れですか?",
                        "passwordMustContain": "パスワードには以下が含まれている必要があります:",
                        "emailRequired": "メールアドレスは必須項目です",
                        "passwordRequired": "パスワードは必須項目です"
                    },
                    "error": {
                        "default": "サインインできません。",
                        "signin": "異なるアカウントでサインインしてみてください。",
                        "oauthsignin": "異なるアカウントでサインインしてみてください。",
                        "redirect_uri_mismatch": "リダイレクトURIがOAuthアプリの設定と一致していません。",
                        "oauthcallbackerror": "異なるアカウントでサインインしてみてください。",
                        "oauthcreateaccount": "異なるアカウントでサインインしてみてください。",
                        "emailcreateaccount": "異なるアカウントでサインインしてみてください。",
                        "callback": "異なるアカウントでサインインしてみてください。",
                        "oauthaccountnotlinked": "本人確認のため、元々使用していたアカウントでサインインしてください。",
                        "emailsignin": "メールの送信に失敗しました。",
                        "emailverify": "メールアドレスを確認してください。新しいメールが送信されました。",
                        "credentialssignin": "サインインに失敗しました。提供した情報が正しいか確認してください。",
                        "sessionrequired": "このページにアクセスするにはサインインしてください。"
                    }
                },
                "authVerifyEmail": {
                    "almostThere": "もう少しです!メールを送信しました:",
                    "verifyEmailLink": "メール内のリンクをクリックしてサインアップを完了してください。",
                    "didNotReceive": "メールが見つかりませんか?",
                    "resendEmail": "メールを再送信",
                    "goBack": "戻る",
                    "emailSent": "メールが正常に送信されました。",
                    "verifyEmail": "メールアドレスを確認してください"
                },
                "providerButton": {
                    "continue": "{{provider}}で続行",
                    "signup": "{{provider}}でサインアップ"
                },
                "authResetPassword": {
                    "newPasswordRequired": "新しいパスワードは必須項目です",
                    "passwordsMustMatch": "パスワードが一致しません",
                    "confirmPasswordRequired": "確認用パスワードは必須項目です",
                    "newPassword": "新しいパスワード",
                    "confirmPassword": "確認用パスワード",
                    "resetPassword": "パスワードをリセット"
                },
                "authForgotPassword": {
                    "email": "メールアドレス",
                    "emailRequired": "メールアドレスは必須項目です",
                    "emailSent": "{{email}}宛にパスワードをリセットするための手順が記載されたメールを確認してください。",
                    "enterEmail": "メールアドレスを入力してください。パスワードをリセットする手順をお送りします。",
                    "resendEmail": "メールを再送信",
                    "continue": "続行",
                    "goBack": "戻る"
                }
            }
        },
        "organisms": {
            "chat": {
                "history": {
                    "index": {
                        "showHistory": "履歴を表示",
                        "lastInputs": "最後の入力",
                        "noInputs": "データがありません...",
                        "loading": "読み込み中..."
                    }
                },
                "inputBox": {
                    "input": {
                        "placeholder": "ここにメッセージを入力..."
                    },
                    "speechButton": {
                        "start": "録音を開始",
                        "stop": "録音を停止"
                    },
                    "SubmitButton": {
                        "sendMessage": "メッセージを送信",
                        "stopTask": "タスクを停止"
                    },
                    "UploadButton": {
                        "attachFiles": "ファイルを添付"
                    },
                    "waterMark": {
                        "text": "Built with"
                    }
                },
                "Messages": {
                    "index": {
                        "running": "実行中",
                        "executedSuccessfully": "正常に実行されました",
                        "failed": "失敗",
                        "feedbackUpdated": "フィードバックが更新されました",
                        "updating": "更新中"
                    }
                },
                "dropScreen": {
                    "dropYourFilesHere": "ここにファイルをドロップしてください"
                },
                "index": {
                    "failedToUpload": "アップロードに失敗しました",
                    "cancelledUploadOf": "次のファイルのアップロードをキャンセルしました:",
                    "couldNotReachServer": "サーバーに接続できませんでした",
                    "continuingChat": "前回のチャットを続ける"
                },
                "settings": {
                    "settingsPanel": "設定パネル",
                    "reset": "リセット",
                    "cancel": "キャンセル",
                    "confirm": "確認"
                }
            },
            "threadHistory": {
                "sidebar": {
                    "filters": {
                        "FeedbackSelect": {
                            "feedbackAll": "フィードバック:全て",
                            "feedbackPositive": "フィードバック:ポジティブ",
                            "feedbackNegative": "フィードバック:ネガティブ"
                        },
                        "SearchBar": {
                            "search": "検索"
                        }
                    },
                    "DeleteThreadButton": {
                        "confirmMessage": "このスレッドとそのメッセージおよび要素を削除します。",
                        "cancel": "キャンセル",
                        "confirm": "確認",
                        "deletingChat": "チャットを削除中",
                        "chatDeleted": "チャットが削除されました"
                    },
                    "index": {
                        "pastChats": "過去のチャット"
                    },
                    "ThreadList": {
                        "empty": "空です...",
                        "today": "今日",
                        "yesterday": "昨日",
                        "previous7days": "過去7日間",
                        "previous30days": "過去30日間"
                    },
                    "TriggerButton": {
                        "closeSidebar": "サイドバーを閉じる",
                        "openSidebar": "サイドバーを開く"
                    }
                },
                "Thread": {
                    "backToChat": "チャットに戻る",
                    "chatCreatedOn": "チャット作成日"
                }
            },
            "header": {
                "chat": "チャット",
                "readme": "Readme"
            }
        }
    },
    "hooks": {
        "useLLMProviders": {
            "failedToFetchProviders": "プロバイダーの取得に失敗しました:"
        }
    },
    "pages": {
        "Design": {},
        "Env": {
            "savedSuccessfully": "保存が成功しました",
            "requiredApiKeys": "必要なAPIキー",
            "requiredApiKeysInfo": "このアプリを使用するには、以下のAPIキーが必要です。キーはデバイスのローカルストレージに保存されます。"
        },
        "Page": {
            "notPartOfProject": "このプロジェクトの一部ではありません。"
        },
        "ResumeButton": {
            "resumeChat": "チャットを再開"
        }
    }
}

Chainlitアプリの起動

アプリを起動するとメニューやボタンが日本語で表示されます。
image.png

image.png

以上です。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?