diff options
Diffstat (limited to 'ext/js/language/language-descriptors.js')
-rw-r--r-- | ext/js/language/language-descriptors.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/ext/js/language/language-descriptors.js b/ext/js/language/language-descriptors.js new file mode 100644 index 00000000..ee65a011 --- /dev/null +++ b/ext/js/language/language-descriptors.js @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2024 Yomitan Authors + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + */ + +import {collapseEmphaticSequences, convertAlphabeticCharacters, convertHalfWidthCharacters, convertHiraganaToKatakana, convertKatakanaToHiragana, convertNumericCharacters} from './ja/japanese-text-preprocessors.js'; +import {capitalizeFirstLetter, decapitalize} from './text-preprocessors.js'; + +/** @type {import('language-descriptors').LanguageDescriptorAny[]} */ +const languageDescriptors = [ + { + iso: 'en', + name: 'English', + exampleText: 'read', + textPreprocessors: { + capitalizeFirstLetter, + decapitalize + } + }, + { + iso: 'ja', + name: 'Japanese', + exampleText: '読め', + textPreprocessors: { + convertHalfWidthCharacters, + convertNumericCharacters, + convertAlphabeticCharacters, + convertHiraganaToKatakana, + convertKatakanaToHiragana, + collapseEmphaticSequences + } + } +]; + +/** @type {Map<string, import('language-descriptors').LanguageDescriptorAny>} */ +export const languageDescriptorMap = new Map(); +for (const languageDescriptor of languageDescriptors) { + languageDescriptorMap.set(languageDescriptor.iso, languageDescriptor); +} |