diff --git a/src/settings/settings.ts b/src/settings/settings.ts index 8e74489..0916f06 100644 --- a/src/settings/settings.ts +++ b/src/settings/settings.ts @@ -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'; @@ -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); diff --git a/src/utils/languages.ts b/src/utils/languages.ts new file mode 100644 index 0000000..cc1f728 --- /dev/null +++ b/src/utils/languages.ts @@ -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;