Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions resources/languages.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,7 @@ export const langToLocale = (lang: Lang): string => {
}[lang];
};

export const browserLanguagesToLang = (languagesArr: readonly string[]): Lang => {
// languagesArr receives only `navigator.languages` as input
export const localesToLang = (locales: readonly string[]): Lang => {
const mapLanguage = (lang: string): string => {
// Handle Chinese variants
if (lang.startsWith('zh-')) {
Expand All @@ -107,8 +106,10 @@ export const browserLanguagesToLang = (languagesArr: readonly string[]): Lang =>
}
return lang.slice(0, 2);
};
const lang = [...languagesArr, 'en']
const lang = [...locales, 'en']
.map(mapLanguage)
.filter((l) => languages.includes(l as Lang))[0];
return isLang(lang) ? lang : 'en';
};

export const browserLanguagesToLang = (): Lang => localesToLang(navigator.languages);
2 changes: 1 addition & 1 deletion ui/raidboss/raidemulator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ const raidEmulatorOnLoad = async () => {

if (!websocketConnected) {
// Find the most appropriate lang code to use based on browser language priority
const browserLang = browserLanguagesToLang(navigator.languages);
const browserLang = browserLanguagesToLang();
applyTranslation(browserLang);

options.ParserLanguage = browserLang;
Expand Down
13 changes: 10 additions & 3 deletions util/coverage/coverage.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
import contentList from '../../resources/content_list';
import ContentType from '../../resources/content_type';
import { isLang, Lang, langMap, langToLocale, languages } from '../../resources/languages';
import {
browserLanguagesToLang,
isLang,
Lang,
langMap,
langToLocale,
languages,
} from '../../resources/languages';
import { UnreachableCode } from '../../resources/not_reached';
import ZoneInfo from '../../resources/zone_info';
import { LocaleObject, LocaleText } from '../../types/trigger';
Expand Down Expand Up @@ -512,7 +519,7 @@ const miscStrings = {
fr: 'Erreur : Lancez npm run coverage-report pour générer des données.',
ja: 'エラー:npm run coverage-report を実行し、データを生成しよう。',
cn: '错误:请先运行 npm run coverage-report 以生成数据。',
ko: '에러: 데이터를 생성하려면 node npm run coverage-report를 실행하세요.',
ko: '에러: 데이터를 생성하려면 npm run coverage-report를 실행하세요.',
tc: '錯誤:請先運行 npm run coverage-report 來產生資料。',
},
// Indicator that content is unsupported
Expand Down Expand Up @@ -1356,7 +1363,7 @@ const buildLanguageSelect = (container: HTMLElement, lang: Lang) => {
document.addEventListener('DOMContentLoaded', () => {
// Allow for `coverage.html?lang=de` style constructions.
const params = new URLSearchParams(window.location.search);
const langStr = params.get('lang') ?? 'en';
const langStr = params.get('lang') ?? browserLanguagesToLang();
// TODO: left for now as backwards compatibility with user css. Remove this later??
document.body.classList.add(`lang-${langStr}`);
const lang = langStr !== null && isLang(langStr) ? langStr : 'en';
Expand Down
2 changes: 1 addition & 1 deletion util/logtools/web_splitter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,7 @@ const downloadFile = (output: string[], filename: string): void => {
};

const onLoaded = () => {
const lang = browserLanguagesToLang(navigator.languages);
const lang = browserLanguagesToLang();

const table = getElement('fight-table');
const fileDrop = getElement('filedrop');
Expand Down