mirror of
https://github.com/paricafe/misskey.git
synced 2025-03-13 03:59:17 -05:00
tweak language detection
This commit is contained in:
parent
527883f50d
commit
423152468d
2 changed files with 15 additions and 11 deletions
|
@ -627,13 +627,12 @@ async function clip(): Promise<void> {
|
|||
|
||||
function isUnexpectedNote(note: Misskey.entities.Note): boolean {
|
||||
if (!note.text) return false;
|
||||
const currentLang = (miLocalStorage.getItem('lang') ?? navigator.language).slice(0, 2);
|
||||
const expectedLangs = new Set([
|
||||
currentLang,
|
||||
navigator.language
|
||||
(miLocalStorage.getItem('lang') ?? navigator.language).slice(0, 2),
|
||||
(navigator.language).slice(0, 2)
|
||||
]);
|
||||
const postLang = detectLanguage(note.text);
|
||||
return postLang !== '' && !expectedLangs.has(postLang);
|
||||
const noteLang = detectLanguage(note.text);
|
||||
return noteLang !== '' && !expectedLangs.has(noteLang);
|
||||
}
|
||||
const isUnexpectedLanguage = computed(() => isUnexpectedNote(appearNote.value));
|
||||
|
||||
|
|
|
@ -103,7 +103,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||
:enableEmojiMenuReaction="true"
|
||||
/>
|
||||
<a v-if="appearNote.renote != null" :class="$style.rn">RN:</a>
|
||||
<div v-if="defaultStore.state.autoTranslateButton && $i.policies.canUseTranslator && appearNote.text && isForeignLanguage" style="padding-top: 5px; color: var(--MI_THEME-accent);">
|
||||
<div v-if="defaultStore.state.autoTranslateButton && $i.policies.canUseTranslator && appearNote.text && isUnexpectedLanguage" style="padding-top: 5px; color: var(--MI_THEME-accent);">
|
||||
<button v-if="!(translating || translation)" ref="translateButton" class="_button" @click.stop="translate()"><i class="ti ti-language-hiragana"></i>{{ i18n.ts.translate }}</button>
|
||||
<button v-else class="_button" @click.stop="translation= null">{{ i18n.ts.close }}</button>
|
||||
</div>
|
||||
|
@ -625,11 +625,16 @@ async function clip(): Promise<void> {
|
|||
os.popupMenu(await getNoteClipMenu({ note: note.value, isDeleted }), clipButton.value).then(focus);
|
||||
}
|
||||
|
||||
const isForeignLanguage: boolean = appearNote.value.text != null && (() => {
|
||||
const targetLang = (miLocalStorage.getItem('lang') ?? navigator.language).slice(0, 2);
|
||||
const postLang = detectLanguage(appearNote.value.text);
|
||||
return postLang !== '' && postLang !== targetLang;
|
||||
})();
|
||||
function isUnexpectedNote(note: Misskey.entities.Note): boolean {
|
||||
if (!note.text) return false;
|
||||
const expectedLangs = new Set([
|
||||
(miLocalStorage.getItem('lang') ?? navigator.language).slice(0, 2),
|
||||
(navigator.language).slice(0, 2)
|
||||
]);
|
||||
const noteLang = detectLanguage(note.text);
|
||||
return noteLang !== '' && !expectedLangs.has(noteLang);
|
||||
}
|
||||
const isUnexpectedLanguage = computed(() => isUnexpectedNote(appearNote.value));
|
||||
|
||||
async function translate(): Promise<void> {
|
||||
if (translation.value != null) return;
|
||||
|
|
Loading…
Add table
Reference in a new issue