summaryrefslogtreecommitdiff
path: root/packages/frontend/src/pages/settings
diff options
context:
space:
mode:
authorかっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>2024-01-14 16:04:48 +0900
committerGitHub <noreply@github.com>2024-01-14 16:04:48 +0900
commit0ea8e0c25ccdae965e9c781728b70af0969a99dd (patch)
tree33e9cdab8dd8d231a594d33e4dc9de06f873bced /packages/frontend/src/pages/settings
parentfix: isPrivateIpで検証時にipバージョンが一致するかを確認... (diff)
downloadmisskey-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.vue26
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);
}
}