Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d7274f6c88 | ||
|
|
f9375ebf89 | ||
|
|
79fa8b35ca | ||
|
|
3bd82c5892 | ||
|
|
18b1b9529b |
|
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 107 KiB |
|
Before Width: | Height: | Size: 162 KiB After Width: | Height: | Size: 162 KiB |
|
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 137 KiB |
|
Before Width: | Height: | Size: 238 KiB After Width: | Height: | Size: 238 KiB |
|
Before Width: | Height: | Size: 172 KiB After Width: | Height: | Size: 118 KiB |
|
Before Width: | Height: | Size: 226 KiB After Width: | Height: | Size: 225 KiB |
|
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 129 KiB |
|
Before Width: | Height: | Size: 207 KiB After Width: | Height: | Size: 207 KiB |
@@ -2484,7 +2484,9 @@ const LS = {
|
||||
set(k, v) { try { localStorage.setItem(k, v); } catch(e) {} },
|
||||
del(k) { try { localStorage.removeItem(k); } catch(e) {} },
|
||||
};
|
||||
let lang = LS.get('ocm_lang', 'zh');
|
||||
// Default UI language. Users can toggle and we persist in localStorage.
|
||||
// Prefer English by default for broader sharing/promotions.
|
||||
let lang = LS.get('ocm_lang', 'en');
|
||||
function t(k) { return I18N[lang][k] || I18N.zh[k] || k; }
|
||||
function applyLang() {
|
||||
document.querySelectorAll('[data-i18n]').forEach(el => { el.textContent = t(el.dataset.i18n); });
|
||||
|
||||