表示言語が設定されてない場合、ブラウザの言語と関係なく日本語にする (MisskeyIO#175)
This commit is contained in:
parent
a296a35460
commit
e695c60a1d
|
@ -34,17 +34,9 @@
|
||||||
|
|
||||||
//#region Detect language & fetch translations
|
//#region Detect language & fetch translations
|
||||||
if (!localStorage.hasOwnProperty('locale')) {
|
if (!localStorage.hasOwnProperty('locale')) {
|
||||||
const supportedLangs = LANGS;
|
|
||||||
let lang = localStorage.getItem('lang');
|
let lang = localStorage.getItem('lang');
|
||||||
if (lang == null || !supportedLangs.includes(lang)) {
|
if (lang == null || lang.toString == null || lang.toString() === 'null') {
|
||||||
if (supportedLangs.includes(navigator.language)) {
|
lang = 'ja-JP';
|
||||||
lang = navigator.language;
|
|
||||||
} else {
|
|
||||||
lang = supportedLangs.find(x => x.split('-')[0] === navigator.language);
|
|
||||||
|
|
||||||
// Fallback
|
|
||||||
if (lang == null) lang = 'en-US';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const metaRes = await window.fetch('/api/meta', {
|
const metaRes = await window.fetch('/api/meta', {
|
||||||
|
@ -67,12 +59,6 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// for https://github.com/misskey-dev/misskey/issues/10202
|
|
||||||
if (lang == null || lang.toString == null || lang.toString() === 'null') {
|
|
||||||
console.error('invalid lang value detected!!!', typeof lang, lang);
|
|
||||||
lang = 'en-US';
|
|
||||||
}
|
|
||||||
|
|
||||||
const localRes = await window.fetch(`/assets/locales/${lang}.${v}.json`);
|
const localRes = await window.fetch(`/assets/locales/${lang}.${v}.json`);
|
||||||
if (localRes.status === 200) {
|
if (localRes.status === 200) {
|
||||||
localStorage.setItem('lang', lang);
|
localStorage.setItem('lang', lang);
|
||||||
|
|
|
@ -13,7 +13,7 @@ export const hostname = address.hostname;
|
||||||
export const url = address.origin;
|
export const url = address.origin;
|
||||||
export const apiUrl = url + '/api';
|
export const apiUrl = url + '/api';
|
||||||
export const wsUrl = url.replace('http://', 'ws://').replace('https://', 'wss://') + '/streaming';
|
export const wsUrl = url.replace('http://', 'ws://').replace('https://', 'wss://') + '/streaming';
|
||||||
export const lang = miLocalStorage.getItem('lang') ?? 'en-US';
|
export const lang = miLocalStorage.getItem('lang') ?? 'ja-JP';
|
||||||
export const langs = _LANGS_;
|
export const langs = _LANGS_;
|
||||||
const preParseLocale = miLocalStorage.getItem('locale');
|
const preParseLocale = miLocalStorage.getItem('locale');
|
||||||
export let locale = preParseLocale ? JSON.parse(preParseLocale) : null;
|
export let locale = preParseLocale ? JSON.parse(preParseLocale) : null;
|
||||||
|
|
|
@ -13,7 +13,7 @@ class SwLang {
|
||||||
public cacheName = `mk-cache-${_VERSION_}`;
|
public cacheName = `mk-cache-${_VERSION_}`;
|
||||||
|
|
||||||
public lang: Promise<string> = get('lang').then(async prelang => {
|
public lang: Promise<string> = get('lang').then(async prelang => {
|
||||||
if (!prelang) return 'en-US';
|
if (!prelang) return 'ja-JP';
|
||||||
return prelang;
|
return prelang;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue