From f93822cebf6258c3a31e03745183aa2c8bb56f4d Mon Sep 17 00:00:00 2001 From: tanaka takashi Date: Sat, 27 Jun 2026 14:49:12 +0900 Subject: マルチ言語対応。MCP設定画面の言語切り替え表示にバグあり MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ollama_web/static/i18n.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/ollama_web/static/i18n.js (limited to 'src/ollama_web/static/i18n.js') diff --git a/src/ollama_web/static/i18n.js b/src/ollama_web/static/i18n.js new file mode 100644 index 0000000..985b452 --- /dev/null +++ b/src/ollama_web/static/i18n.js @@ -0,0 +1,28 @@ +/** Small i18n helper for the browser. + * + * The server injects ``window.I18N`` as a nested message object. This module + * exposes ``t(key, fallback)`` to resolve dot-separated keys safely. + */ +(function () { + "use strict"; + + function t(key, fallback) { + if (typeof key !== "string") { + return fallback !== undefined ? fallback : String(key); + } + const parts = key.split("."); + let current = window.I18N; + for (const part of parts) { + if (current == null || typeof current !== "object" || !(part in current)) { + return fallback !== undefined ? fallback : key; + } + current = current[part]; + } + if (typeof current === "string") { + return current; + } + return fallback !== undefined ? fallback : key; + } + + window.t = t; +})(); -- cgit v1.2.3