Skip to content

Commit

Permalink
Add language support for locale preference dropdown
Browse files Browse the repository at this point in the history
  • Loading branch information
anpigon committed Mar 11, 2024
1 parent 9daed63 commit ccf452b
Show file tree
Hide file tree
Showing 2 changed files with 134 additions and 4 deletions.
13 changes: 9 additions & 4 deletions src/settings/settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { FolderSuggest } from './suggesters/FolderSuggester';
import { FileSuggest } from './suggesters/FileSuggester';
import { ServiceProvider } from '@src/constants';
import { SettingServiceProviderModal } from '@views/setting_service_provider_modal';
import languages from '@utils/languages';

const docUrl = 'https://github.com/anpigon/obsidian-book-search-plugin';

Expand Down Expand Up @@ -199,10 +200,14 @@ export class BookSearchSettingTab extends PluginSettingTab {
.setDesc('Sets the preferred locale to use when searching for books.')
.addDropdown(dropDown => {
const defaultLocale = window.moment.locale();
dropDown.addOption(defaultLocale, `${defaultLocale} (Default Locale)`);
window.moment.locales().forEach(locale => {
dropDown.addOption(locale, locale);
});
dropDown.addOption(defaultLocale, `${languages[defaultLocale] || defaultLocale} (Default Locale)`);
window.moment
.locales()
.filter(locale => locale !== defaultLocale)
.forEach(locale => {
const localeName = languages[locale];
if (localeName) dropDown.addOption(locale, localeName);
});
const setValue = this.settings.localePreference;
if (setValue === 'default') {
dropDown.setValue(defaultLocale);
Expand Down
125 changes: 125 additions & 0 deletions src/utils/languages.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
const languages = {
en: 'English',
af: 'Afrikaans',
'ar-dz': 'Arabic (Algeria)',
'ar-kw': 'Arabic (Kuwait)',
'ar-ly': 'Arabic (Libya)',
'ar-ma': 'Arabic (Morocco)',
'ar-sa': 'Arabic (Saudi Arabia)',
'ar-tn': 'Arabic (Tunisia)',
ar: 'Arabic',
az: 'Azerbaijani',
be: 'Belarusian',
bg: 'Bulgarian',
bm: 'Bambara',
bn: 'Bengali',
bo: 'Tibetan',
br: 'Breton',
bs: 'Bosnian',
ca: 'Catalan',
cs: 'Czech',
cv: 'Chuvash',
cy: 'Welsh',
da: 'Danish',
'de-at': 'German (Austria)',
'de-ch': 'German (Switzerland)',
de: 'German',
dv: 'Divehi',
el: 'Greek',
'en-au': 'English (Australia)',
'en-ca': 'English (Canada)',
'en-gb': 'English (United Kingdom)',
'en-ie': 'English (Ireland)',
'en-nz': 'English (New Zealand)',
eo: 'Esperanto',
'es-do': 'Spanish (Dominican Republic)',
'es-us': 'Spanish (United States)',
es: 'Spanish',
et: 'Estonian',
eu: 'Basque',
fa: 'Persian',
fi: 'Finnish',
fo: 'Faroese',
'fr-ca': 'French (Canada)',
'fr-ch': 'French (Switzerland)',
fr: 'French',
fy: 'Western Frisian',
gd: 'Scottish Gaelic',
gl: 'Galician',
'gom-latn': 'gom (Latin)',
gu: 'Gujarati',
he: 'Hebrew',
hi: 'Hindi',
hr: 'Croatian',
hu: 'Hungarian',
'hy-am': 'Armenian (Armenia)',
id: 'Indonesian',
is: 'Icelandic',
it: 'Italian',
ja: 'Japanese',
jv: 'Javanese',
ka: 'Georgian',
kk: 'Kazakh',
km: 'Khmer',
kn: 'Kannada',
ko: 'Korean',
ky: 'Kirghiz',
lb: 'Luxembourgish',
lo: 'Lao',
lt: 'Lithuanian',
lv: 'Latvian',
me: 'me',
mi: 'Maori',
mk: 'Macedonian',
ml: 'Malayalam',
mr: 'Marathi',
'ms-my': 'Malay (Malaysia)',
ms: 'Malay',
mt: 'Maltese',
my: 'Burmese',
nb: 'Norwegian Bokmål',
ne: 'Nepali',
'nl-be': 'Dutch (Belgium)',
nl: 'Dutch',
nn: 'Norwegian Nynorsk',
'pa-in': 'Punjabi (India)',
pl: 'Polish',
'pt-br': 'Portuguese (Brazil)',
pt: 'Portuguese',
ro: 'Romanian',
ru: 'Russian',
sd: 'Sindhi',
se: 'Northern Sami',
si: 'Sinhala',
sk: 'Slovak',
sl: 'Slovenian',
sq: 'Albanian',
'sr-cyrl': 'Serbian (Cyrillic)',
sr: 'Serbian',
ss: 'Swati',
sv: 'Swedish',
sw: 'Swahili',
ta: 'Tamil',
te: 'Telugu',
tet: 'Tetum',
th: 'Thai',
'tl-ph': 'Tagalog (Philippines)',
tlh: 'Klingon',
tr: 'Turkish',
tzl: 'tzl',
'tzm-latn': 'tzm (Latin)',
tzm: 'tzm',
uk: 'Ukrainian',
ur: 'Urdu',
'uz-latn': 'Uzbek (Latin)',
uz: 'Uzbek',
vi: 'Vietnamese',
'x-pseudo': 'x-pseudo',
yo: 'Yoruba',
'zh-cn': 'Chinese (China)',
'zh-hk': 'Chinese (Hong Kong SAR China)',
'zh-tw': 'Chinese (Taiwan)',
'zh-mo': 'Chinese (Macau SAR China)',
};

export default languages;

0 comments on commit ccf452b

Please sign in to comment.