多語系在地化
Logto 支援多種預設語言,並提供 113 個額外語言標籤。這個強大的工具讓你能夠自訂登入體驗,建立並管理你自己的語言選項與翻譯內容。
在 Logto Console 中的自訂步驟
你可以在 Logto Console 輕鬆自訂語言設定,無需撰寫程式碼。
- 前往:Console > 登入體驗 (Sign-in experience) > 內容 (Content) > 語言 (Languages)。
- 管理語言:點擊「管理語言」按鈕以進入你的語言庫。
- 編輯現有語言:自訂 Logto 提供語言的翻譯。這些語言無法刪除,但你的變更會覆蓋預設值。
- 新增語言:點擊「新增語言」按鈕,選擇語言標籤,填寫你的翻譯內容,儲存後即可新增語言。
- 啟用自動偵測:啟用後,登入頁面會根據使用者裝置設定,自動顯示其偏好的語言。
- 設定預設語言:你可以從語言庫中選擇一個預設語言。當偵測到的使用者語言不在目前語言庫時,將會使用預設語言。
管理語言時,以下是一些關鍵術語的說明:
定義 | 說明 |
---|---|
語言標籤 (Language tag) | 語言標籤用於識別內容所屬語言。語言標籤由語言代碼(如 en、fr、zh)與國家/地區代碼(如 US、UK、KR)以連字號分隔組成。例如:en-US。 |
Logto 提供語言 | Logto 提供語言為 Logto 官方語言,儲存在 Logto 原始碼中。 |
新增語言 | 新增語言是由使用者自行新增的語言。 |
Logto 原始值 | Logto 原始值為尚未被使用者自訂的 Logto 預設內容。 |
自訂值 | 自訂值為已被使用者自訂的內容,將會覆蓋 Logto 原始值。 |
使用 Management API 進行自訂
你可以透過 Management API PUT /api/custom-phrases/{languageTag} 來自訂語言翻譯。API 請求主體是一個部分語系物件,例如:
{
"input": { "username": "Username", "password": "Password" },
"secondary": {
"social_bind_with": "已經有帳號?登入以將 {{methods, list(type: disjunction;)}} 與你的社交身分連結。"
},
"action": { "sign_in": "登入" },
"error": {
"general_required": "{{types, list(type: disjunction;)}} 為必填"
},
"list": { "or": "或" },
"user_scopes": {
"descriptions": { "custom_data": "你的自訂資料" }
}
}
請參考 原始碼 以查看所有可自訂內容。
你也可以使用 PATCH /api/sign-in-exp API 來控制 語言偵測政策。
執行時語言解析邏輯
執行時,登入體驗的語言解析優先順序如下:
- 來自當前驗證請求的
ui_locales
OIDC 參數(使用第一個支援的標籤)。詳見 ui_locales。 - 若未指定,且已啟用「自動偵測」,則使用偵測到的使用者端語言(例如 HTTP
Accept-Language
標頭)。 - 若仍未命中,則使用登入體驗中的租戶預設語言。
此解析邏輯同樣影響互動觸發的郵件在地化。詳見:郵件範本在地化。
使用情境
新增語言會如何呈現給終端客戶?
假設你有一個網站,預設語言為英文且已開啟自動偵測。一位來自日本的使用者造訪並決定註冊帳號。如果他/她的應用程式語言設為日文,但 Logto 尚未支援該語言,登入畫面將會顯示英文。
Logto 登入體驗 i18n 讓自訂語言成為可能。
點擊 ja
語言標籤即可新增你自己的日文翻譯。
如此一來,來自日本的使用者就能看到你剛從英文翻譯過來的日文內容。
常見問題
如果我新增的語言成為 Logto 提供語言會怎樣?
在語言標籤左側會出現 Logto 提供標記,你新增的語言將無法再移除。你修改過的內容仍會生效並覆蓋原本的 Logto 值。若要使用 Logto 預設設定,請清除你自訂的內容。
如果我只新增了部分自訂內容會怎樣?
最終使用者看到的內容是兩欄合併的結果。 假設你只想調整 Logto 原始內容中的部分文案,則你的註冊畫面與 Logto 預設畫面的差異僅在於你編輯過的鍵值,其餘內容將維持不變。
相關資源
在你的應用程式中支援阿拉伯語與 RTL(由右至左)語言版面