diff options
| author | かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> | 2024-01-14 16:04:48 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-14 16:04:48 +0900 |
| commit | 0ea8e0c25ccdae965e9c781728b70af0969a99dd (patch) | |
| tree | 33e9cdab8dd8d231a594d33e4dc9de06f873bced /packages/frontend/src/pages/settings | |
| parent | fix: isPrivateIpで検証時にipバージョンが一致するかを確認... (diff) | |
| download | misskey-0ea8e0c25ccdae965e9c781728b70af0969a99dd.tar.gz misskey-0ea8e0c25ccdae965e9c781728b70af0969a99dd.tar.bz2 misskey-0ea8e0c25ccdae965e9c781728b70af0969a99dd.zip | |
enhance(frontend) 日本語の拡張絵文字辞書を追加 (#12855)
* Create ja-JP.json
* Update general.vue
* Update ja-JP.json
* Update ja-JP.json
* Update ja-JP.json
* fix
* fix design
* (Add) ひらがな [wip]
* fix lint
* Apply suggestions from code review
Co-authored-by: 1Step621 <86859447+1STEP621@users.noreply.github.com>
* (add) ja-JP_hira
Co-authored-by: 1Step621 <86859447+1STEP621@users.noreply.github.com>
* (enhance) 言語名をちゃんと表示するように
---------
Co-authored-by: 1Step621 <86859447+1STEP621@users.noreply.github.com>
Diffstat (limited to 'packages/frontend/src/pages/settings')
| -rw-r--r-- | packages/frontend/src/pages/settings/general.vue | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/packages/frontend/src/pages/settings/general.vue b/packages/frontend/src/pages/settings/general.vue index 3d5fa66d9f..607aaec521 100644 --- a/packages/frontend/src/pages/settings/general.vue +++ b/packages/frontend/src/pages/settings/general.vue @@ -206,9 +206,11 @@ SPDX-License-Identifier: AGPL-3.0-only <div class="_gaps"> <MkFolder> <template #label>{{ i18n.ts.additionalEmojiDictionary }}</template> - <div v-for="lang in emojiIndexLangs" class="_buttons"> - <MkButton @click="downloadEmojiIndex(lang)"><i class="ti ti-download"></i> {{ lang }}{{ defaultStore.reactiveState.additionalUnicodeEmojiIndexes.value[lang] ? ` (${ i18n.ts.installed })` : '' }}</MkButton> - <MkButton v-if="defaultStore.reactiveState.additionalUnicodeEmojiIndexes.value[lang]" danger @click="removeEmojiIndex(lang)"><i class="ti ti-trash"></i> {{ i18n.ts.remove }}</MkButton> + <div class="_buttons"> + <template v-for="lang in emojiIndexLangs" :key="lang"> + <MkButton v-if="defaultStore.reactiveState.additionalUnicodeEmojiIndexes.value[lang]" danger @click="removeEmojiIndex(lang)"><i class="ti ti-trash"></i> {{ i18n.ts.remove }} ({{ getEmojiIndexLangName(lang) }})</MkButton> + <MkButton v-else @click="downloadEmojiIndex(lang)"><i class="ti ti-download"></i> {{ getEmojiIndexLangName(lang) }}{{ defaultStore.reactiveState.additionalUnicodeEmojiIndexes.value[lang] ? ` (${ i18n.ts.installed })` : '' }}</MkButton> + </template> </div> </MkFolder> <FormLink to="/settings/deck">{{ i18n.ts.deck }}</FormLink> @@ -338,15 +340,29 @@ watch([ await reloadAsk(); }); -const emojiIndexLangs = ['en-US']; +const emojiIndexLangs = ['en-US', 'ja-JP', 'ja-JP_hira'] as const; -function downloadEmojiIndex(lang: string) { +function getEmojiIndexLangName(targetLang: typeof emojiIndexLangs[number]) { + if (langs.find(x => x[0] === targetLang)) { + return langs.find(x => x[0] === targetLang)![1]; + } else { + // 絵文字辞書限定の言語定義 + switch (targetLang) { + case 'ja-JP_hira': return 'ひらがな'; + default: return targetLang; + } + } +} + +function downloadEmojiIndex(lang: typeof emojiIndexLangs[number]) { async function main() { const currentIndexes = defaultStore.state.additionalUnicodeEmojiIndexes; function download() { switch (lang) { case 'en-US': return import('../../unicode-emoji-indexes/en-US.json').then(x => x.default); + case 'ja-JP': return import('../../unicode-emoji-indexes/ja-JP.json').then(x => x.default); + case 'ja-JP_hira': return import('../../unicode-emoji-indexes/ja-JP_hira.json').then(x => x.default); default: throw new Error('unrecognized lang: ' + lang); } } |