-
{{ session.app.isAuthorized ? i18n.t('already-authorized') : i18n.ts.allowed }}
+
{{ session.app.isAuthorized ? i18n.ts['already-authorized'] : i18n.ts.allowed }}
{{ i18n.ts._auth.callback }}
diff --git a/packages/frontend/src/pages/avatar-decorations.vue b/packages/frontend/src/pages/avatar-decorations.vue
index 376679fd17..f71a7685bd 100644
--- a/packages/frontend/src/pages/avatar-decorations.vue
+++ b/packages/frontend/src/pages/avatar-decorations.vue
@@ -60,7 +60,7 @@ function add() {
function del(avatarDecoration) {
os.confirm({
type: 'warning',
- text: i18n.t('deleteAreYouSure', { x: avatarDecoration.name }),
+ text: i18n.tsx.deleteAreYouSure({ x: avatarDecoration.name }),
}).then(({ canceled }) => {
if (canceled) return;
avatarDecorations.value = avatarDecorations.value.filter(x => x !== avatarDecoration);
diff --git a/packages/frontend/src/pages/channel-editor.vue b/packages/frontend/src/pages/channel-editor.vue
index 99b93444db..bbe5dc0a4e 100644
--- a/packages/frontend/src/pages/channel-editor.vue
+++ b/packages/frontend/src/pages/channel-editor.vue
@@ -174,7 +174,7 @@ function save() {
async function archive() {
const { canceled } = await os.confirm({
type: 'warning',
- title: i18n.t('channelArchiveConfirmTitle', { name: name.value }),
+ title: i18n.tsx.channelArchiveConfirmTitle({ name: name.value }),
text: i18n.ts.channelArchiveConfirmDescription,
});
diff --git a/packages/frontend/src/pages/channel.vue b/packages/frontend/src/pages/channel.vue
index 971eca8cae..4cdf2eea7d 100644
--- a/packages/frontend/src/pages/channel.vue
+++ b/packages/frontend/src/pages/channel.vue
@@ -7,53 +7,55 @@ SPDX-License-Identifier: AGPL-3.0-only
-
-
-
-
-
-
-
-
{{ channel.usersCount }}
-
{{ channel.notesCount }}
+
+
+
+
+
+
+
+
+
{{ channel.usersCount }}
+
{{ channel.notesCount }}
+
+
{{ i18n.ts.sensitive }}
+
+
+
+
-
{{ i18n.ts.sensitive }}
-
-
-
+
+
+ {{ i18n.ts.pinnedNotes }}
+
+
+
+
+
+
+ {{ i18n.ts.thisChannelArchived }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ i18n.ts.search }}
+
+
-
-
- {{ i18n.ts.pinnedNotes }}
-
-
-
-
-
-
- {{ i18n.ts.thisChannelArchived }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ i18n.ts.search }}
-
-
-
-
+
@@ -87,6 +89,7 @@ import { defaultStore } from '@/store.js';
import MkNote from '@/components/MkNote.vue';
import MkInfo from '@/components/MkInfo.vue';
import MkFoldableSection from '@/components/MkFoldableSection.vue';
+import MkHorizontalSwipe from '@/components/MkHorizontalSwipe.vue';
import { PageHeaderItem } from '@/types/page-header.js';
import { isSupportShare } from '@/scripts/navigator.js';
import copyToClipboard from '@/scripts/copy-to-clipboard.js';
@@ -100,6 +103,7 @@ const props = defineProps<{
}>();
const tab = ref('overview');
+
const channel = ref
(null);
const favorited = ref(false);
const searchQuery = ref('');
diff --git a/packages/frontend/src/pages/channels.vue b/packages/frontend/src/pages/channels.vue
index 80a401eee7..0b35ac0ece 100644
--- a/packages/frontend/src/pages/channels.vue
+++ b/packages/frontend/src/pages/channels.vue
@@ -7,44 +7,46 @@ SPDX-License-Identifier: AGPL-3.0-only
-
-
-
-
-
-
-
-
-
- {{ i18n.ts.search }}
-
+
+
+
+
+
+
+
+
+
+
+ {{ i18n.ts.search }}
+
-
- {{ i18n.ts.searchResult }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ {{ i18n.ts.searchResult }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -58,6 +60,7 @@ import MkInput from '@/components/MkInput.vue';
import MkRadios from '@/components/MkRadios.vue';
import MkButton from '@/components/MkButton.vue';
import MkFoldableSection from '@/components/MkFoldableSection.vue';
+import MkHorizontalSwipe from '@/components/MkHorizontalSwipe.vue';
import { definePageMetadata } from '@/scripts/page-metadata.js';
import { i18n } from '@/i18n.js';
import { useRouter } from '@/global/router/supplier.js';
diff --git a/packages/frontend/src/pages/clip.vue b/packages/frontend/src/pages/clip.vue
index e55e99a6fa..8640561583 100644
--- a/packages/frontend/src/pages/clip.vue
+++ b/packages/frontend/src/pages/clip.vue
@@ -145,7 +145,7 @@ const headerActions = computed(() => clip.value && isOwned.value ? [{
handler: async (): Promise => {
const { canceled } = await os.confirm({
type: 'warning',
- text: i18n.t('deleteAreYouSure', { x: clip.value.name }),
+ text: i18n.tsx.deleteAreYouSure({ x: clip.value.name }),
});
if (canceled) return;
diff --git a/packages/frontend/src/pages/drive.file.info.vue b/packages/frontend/src/pages/drive.file.info.vue
index 64c3ad70ba..3e45f5e88c 100644
--- a/packages/frontend/src/pages/drive.file.info.vue
+++ b/packages/frontend/src/pages/drive.file.info.vue
@@ -180,7 +180,7 @@ async function deleteFile() {
const { canceled } = await os.confirm({
type: 'warning',
- text: i18n.t('driveFileDeleteConfirm', { name: file.value.name }),
+ text: i18n.tsx.driveFileDeleteConfirm({ name: file.value.name }),
});
if (canceled) return;
diff --git a/packages/frontend/src/pages/drive.file.vue b/packages/frontend/src/pages/drive.file.vue
index 2c1e5d20a7..6a9e907963 100644
--- a/packages/frontend/src/pages/drive.file.vue
+++ b/packages/frontend/src/pages/drive.file.vue
@@ -9,13 +9,15 @@ SPDX-License-Identifier: AGPL-3.0-only
-
-
-
+
+
+
+
-
-
-
+
+
+
+
@@ -23,6 +25,7 @@ SPDX-License-Identifier: AGPL-3.0-only
import { computed, ref, defineAsyncComponent } from 'vue';
import { i18n } from '@/i18n.js';
import { definePageMetadata } from '@/scripts/page-metadata.js';
+import MkHorizontalSwipe from '@/components/MkHorizontalSwipe.vue';
const props = defineProps<{
fileId: string;
diff --git a/packages/frontend/src/pages/drop-and-fusion.game.vue b/packages/frontend/src/pages/drop-and-fusion.game.vue
index a8fa953c38..51819fafd0 100644
--- a/packages/frontend/src/pages/drop-and-fusion.game.vue
+++ b/packages/frontend/src/pages/drop-and-fusion.game.vue
@@ -180,6 +180,7 @@ SPDX-License-Identifier: AGPL-3.0-only
import { computed, onDeactivated, onMounted, onUnmounted, ref, shallowRef, watch } from 'vue';
import * as Matter from 'matter-js';
import * as Misskey from 'misskey-js';
+import { DropAndFusionGame, Mono } from 'misskey-bubble-game';
import { definePageMetadata } from '@/scripts/page-metadata.js';
import MkRippleEffect from '@/components/MkRippleEffect.vue';
import * as os from '@/os.js';
@@ -193,7 +194,6 @@ import { i18n } from '@/i18n.js';
import { useInterval } from '@/scripts/use-interval.js';
import { apiUrl } from '@/config.js';
import { $i } from '@/account.js';
-import { DropAndFusionGame, Mono } from '@/scripts/drop-and-fusion-engine.js';
import * as sound from '@/scripts/sound.js';
import MkRange from '@/components/MkRange.vue';
import copyToClipboard from '@/scripts/copy-to-clipboard.js';
@@ -496,7 +496,7 @@ const SWEETS_MONOS: FrontendMonoDefinition[] = [{
}];
const props = defineProps<{
- gameMode: 'normal' | 'square' | 'yen' | 'sweets';
+ gameMode: 'normal' | 'square' | 'yen' | 'sweets' | 'space';
mute: boolean;
}>();
@@ -509,6 +509,7 @@ const monoDefinitions = computed(() => {
props.gameMode === 'square' ? SQUARE_MONOS :
props.gameMode === 'yen' ? YEN_MONOS :
props.gameMode === 'sweets' ? SWEETS_MONOS :
+ props.gameMode === 'space' ? NORAML_MONOS :
[] as never;
});
diff --git a/packages/frontend/src/pages/drop-and-fusion.vue b/packages/frontend/src/pages/drop-and-fusion.vue
index 18d3f56ca2..b995521dfb 100644
--- a/packages/frontend/src/pages/drop-and-fusion.vue
+++ b/packages/frontend/src/pages/drop-and-fusion.vue
@@ -28,6 +28,7 @@ SPDX-License-Identifier: AGPL-3.0-only
+
{{ i18n.ts.start }}
@@ -44,7 +45,7 @@ SPDX-License-Identifier: AGPL-3.0-only
-
{{ i18n.t('lastNDays', { n: 7 }) }} {{ i18n.ts.ranking }} ({{ gameMode }})
+
{{ i18n.tsx.lastNDays({ n: 7 }) }} {{ i18n.ts.ranking }} ({{ gameMode }})
@@ -94,7 +95,7 @@ import MkSelect from '@/components/MkSelect.vue';
import MkSwitch from '@/components/MkSwitch.vue';
import { misskeyApiGet } from '@/scripts/misskey-api.js';
-const gameMode = ref<'normal' | 'square' | 'yen' | 'sweets'>('normal');
+const gameMode = ref<'normal' | 'square' | 'yen' | 'sweets' | 'space'>('normal');
const gameStarted = ref(false);
const mute = ref(false);
const ranking = ref(null);
@@ -108,6 +109,7 @@ function getScoreUnit(gameMode: string) {
gameMode === 'square' ? 'pt' :
gameMode === 'yen' ? '円' :
gameMode === 'sweets' ? 'kcal' :
+ gameMode === 'space' ? 'pt' :
'' as never;
}
@@ -121,7 +123,7 @@ function onGameEnd() {
definePageMetadata({
title: i18n.ts.bubbleGame,
- icon: 'ti ti-apple',
+ icon: 'ti ti-device-gamepad',
});
diff --git a/packages/frontend/src/pages/emoji-edit-dialog.vue b/packages/frontend/src/pages/emoji-edit-dialog.vue
index 1ef150bc2d..9dcc7bc035 100644
--- a/packages/frontend/src/pages/emoji-edit-dialog.vue
+++ b/packages/frontend/src/pages/emoji-edit-dialog.vue
@@ -185,7 +185,7 @@ async function done() {
async function del() {
const { canceled } = await os.confirm({
type: 'warning',
- text: i18n.t('removeAreYouSure', { x: name.value }),
+ text: i18n.tsx.removeAreYouSure({ x: name.value }),
});
if (canceled) return;
diff --git a/packages/frontend/src/pages/explore.vue b/packages/frontend/src/pages/explore.vue
index f068de8880..1b80014366 100644
--- a/packages/frontend/src/pages/explore.vue
+++ b/packages/frontend/src/pages/explore.vue
@@ -6,17 +6,17 @@ SPDX-License-Identifier: AGPL-3.0-only
-
-
+
+
-
+
-
+
@@ -26,6 +26,7 @@ import XFeatured from './explore.featured.vue';
import XUsers from './explore.users.vue';
import XRoles from './explore.roles.vue';
import MkFoldableSection from '@/components/MkFoldableSection.vue';
+import MkHorizontalSwipe from '@/components/MkHorizontalSwipe.vue';
import { definePageMetadata } from '@/scripts/page-metadata.js';
import { i18n } from '@/i18n.js';
diff --git a/packages/frontend/src/pages/flash/flash-edit.vue b/packages/frontend/src/pages/flash/flash-edit.vue
index ba350f1c0a..8f60b83a6c 100644
--- a/packages/frontend/src/pages/flash/flash-edit.vue
+++ b/packages/frontend/src/pages/flash/flash-edit.vue
@@ -438,7 +438,7 @@ function show() {
async function del() {
const { canceled } = await os.confirm({
type: 'warning',
- text: i18n.t('deleteAreYouSure', { x: flash.value.title }),
+ text: i18n.tsx.deleteAreYouSure({ x: flash.value.title }),
});
if (canceled) return;
diff --git a/packages/frontend/src/pages/flash/flash-index.vue b/packages/frontend/src/pages/flash/flash-index.vue
index 7852018894..53510ea232 100644
--- a/packages/frontend/src/pages/flash/flash-index.vue
+++ b/packages/frontend/src/pages/flash/flash-index.vue
@@ -7,32 +7,34 @@ SPDX-License-Identifier: AGPL-3.0-only
-
-
-
-
-
-
-
+
+
+
@@ -42,6 +44,7 @@ import { computed, ref } from 'vue';
import MkFlashPreview from '@/components/MkFlashPreview.vue';
import MkPagination from '@/components/MkPagination.vue';
import MkButton from '@/components/MkButton.vue';
+import MkHorizontalSwipe from '@/components/MkHorizontalSwipe.vue';
import { i18n } from '@/i18n.js';
import { definePageMetadata } from '@/scripts/page-metadata.js';
import { useRouter } from '@/global/router/supplier.js';
diff --git a/packages/frontend/src/pages/flash/flash.vue b/packages/frontend/src/pages/flash/flash.vue
index 4318694d4f..fabbc1c05d 100644
--- a/packages/frontend/src/pages/flash/flash.vue
+++ b/packages/frontend/src/pages/flash/flash.vue
@@ -37,7 +37,7 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ i18n.ts._play.viewSource }}
-
+
diff --git a/packages/frontend/src/pages/follow.vue b/packages/frontend/src/pages/follow.vue
index eefef828bd..44364bb0f2 100644
--- a/packages/frontend/src/pages/follow.vue
+++ b/packages/frontend/src/pages/follow.vue
@@ -20,7 +20,7 @@ import { mainRouter } from '@/global/router/main.js';
async function follow(user): Promise
{
const { canceled } = await os.confirm({
type: 'question',
- text: i18n.t('followConfirm', { name: user.name || user.username }),
+ text: i18n.tsx.followConfirm({ name: user.name || user.username }),
});
if (canceled) {
diff --git a/packages/frontend/src/pages/gallery/index.vue b/packages/frontend/src/pages/gallery/index.vue
index 0198ab9700..9749888fe9 100644
--- a/packages/frontend/src/pages/gallery/index.vue
+++ b/packages/frontend/src/pages/gallery/index.vue
@@ -7,8 +7,8 @@ SPDX-License-Identifier: AGPL-3.0-only
-
-
+
+
{{ i18n.ts.recentPosts }}
@@ -26,14 +26,14 @@ SPDX-License-Identifier: AGPL-3.0-only
-
+
-
+
{{ i18n.ts.postToGallery }}
@@ -41,7 +41,7 @@ SPDX-License-Identifier: AGPL-3.0-only
-
+
@@ -51,6 +51,7 @@ import { watch, ref, computed } from 'vue';
import MkFoldableSection from '@/components/MkFoldableSection.vue';
import MkPagination from '@/components/MkPagination.vue';
import MkGalleryPostPreview from '@/components/MkGalleryPostPreview.vue';
+import MkHorizontalSwipe from '@/components/MkHorizontalSwipe.vue';
import { definePageMetadata } from '@/scripts/page-metadata.js';
import { i18n } from '@/i18n.js';
import { useRouter } from '@/global/router/supplier.js';
diff --git a/packages/frontend/src/pages/games.vue b/packages/frontend/src/pages/games.vue
index 5d2482ded1..45a135a459 100644
--- a/packages/frontend/src/pages/games.vue
+++ b/packages/frontend/src/pages/games.vue
@@ -7,10 +7,17 @@ SPDX-License-Identifier: AGPL-3.0-only
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/frontend/src/pages/install-extentions.vue b/packages/frontend/src/pages/install-extensions.vue
similarity index 100%
rename from packages/frontend/src/pages/install-extentions.vue
rename to packages/frontend/src/pages/install-extensions.vue
diff --git a/packages/frontend/src/pages/instance-info.vue b/packages/frontend/src/pages/instance-info.vue
index c8a0eeeeaa..9519a8a3f4 100644
--- a/packages/frontend/src/pages/instance-info.vue
+++ b/packages/frontend/src/pages/instance-info.vue
@@ -7,111 +7,113 @@ SPDX-License-Identifier: AGPL-3.0-only
-
-
-
-
{{ instance.name || `(${i18n.ts.unknown})` }}
-
-
-
- Host
- {{ host }}
-
-
- {{ i18n.ts.software }}
- {{ instance.softwareName || `(${i18n.ts.unknown})` }} / {{ instance.softwareVersion || `(${i18n.ts.unknown})` }}
-
-
- {{ i18n.ts.administrator }}
- {{ instance.maintainerName || `(${i18n.ts.unknown})` }} ({{ instance.maintainerEmail || `(${i18n.ts.unknown})` }})
-
-
-
- {{ i18n.ts.description }}
- {{ instance.description }}
-
-
-
- Moderation
-
-
{{ i18n.ts.stopActivityDelivery }}
-
{{ i18n.ts.blockThisInstance }}
-
{{ i18n.ts.silenceThisInstance }}
-
Refresh metadata
+
+
+
+
+
{{ instance.name || `(${i18n.ts.unknown})` }}
-
-
-
-
- {{ i18n.ts.registeredAt }}
-
-
-
- {{ i18n.ts.updatedAt }}
-
-
-
- {{ i18n.ts.latestRequestReceivedAt }}
- N/A
-
-
-
-
-
- Following (Pub)
- {{ number(instance.followingCount) }}
-
-
- Followers (Sub)
- {{ number(instance.followersCount) }}
-
-
-
-
- Well-known resources
- host-meta
- host-meta.json
- nodeinfo
- robots.txt
- manifest.json
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ Host
+ {{ host }}
+
+
+ {{ i18n.ts.software }}
+ {{ instance.softwareName || `(${i18n.ts.unknown})` }} / {{ instance.softwareVersion || `(${i18n.ts.unknown})` }}
+
+
+ {{ i18n.ts.administrator }}
+ {{ instance.maintainerName || `(${i18n.ts.unknown})` }} ({{ instance.maintainerEmail || `(${i18n.ts.unknown})` }})
+
-
-
{{ i18n.t('recentNHours', { n: 90 }) }}
-
-
{{ i18n.t('recentNDays', { n: 90 }) }}
-
+
+ {{ i18n.ts.description }}
+ {{ instance.description }}
+
+
+
+ Moderation
+
+ {{ i18n.ts.stopActivityDelivery }}
+ {{ i18n.ts.blockThisInstance }}
+ {{ i18n.ts.silenceThisInstance }}
+ Refresh metadata
+
+
+
+
+
+ {{ i18n.ts.registeredAt }}
+
+
+
+ {{ i18n.ts.updatedAt }}
+
+
+
+ {{ i18n.ts.latestRequestReceivedAt }}
+ N/A
+
+
+
+
+
+ Following (Pub)
+ {{ number(instance.followingCount) }}
+
+
+ Followers (Sub)
+ {{ number(instance.followersCount) }}
+
+
+
+
+ Well-known resources
+ host-meta
+ host-meta.json
+ nodeinfo
+ robots.txt
+ manifest.json
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ i18n.tsx.recentNHours({ n: 90 }) }}
+
+
{{ i18n.tsx.recentNDays({ n: 90 }) }}
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -136,6 +138,7 @@ import { definePageMetadata } from '@/scripts/page-metadata.js';
import { i18n } from '@/i18n.js';
import MkUserCardMini from '@/components/MkUserCardMini.vue';
import MkPagination from '@/components/MkPagination.vue';
+import MkHorizontalSwipe from '@/components/MkHorizontalSwipe.vue';
import { getProxiedImageUrlNullable } from '@/scripts/media-proxy.js';
import { dateString } from '@/filters/date.js';
@@ -144,6 +147,7 @@ const props = defineProps<{
}>();
const tab = ref('overview');
+
const chartSrc = ref('instance-requests');
const meta = ref
(null);
const instance = ref(null);
diff --git a/packages/frontend/src/pages/invite.vue b/packages/frontend/src/pages/invite.vue
index 61030741fa..d8613a67d3 100644
--- a/packages/frontend/src/pages/invite.vue
+++ b/packages/frontend/src/pages/invite.vue
@@ -19,9 +19,9 @@ SPDX-License-Identifier: AGPL-3.0-only
-
{{ i18n.t('inviteLimitResetCycle', { time: resetCycle, limit: inviteLimit }) }}
+
{{ i18n.tsx.inviteLimitResetCycle({ time: resetCycle, limit: inviteLimit }) }}
{{ i18n.ts.createInviteCode }}
-
{{ i18n.t('createLimitRemaining', { limit: currentInviteLimit }) }}
+
{{ i18n.tsx.createLimitRemaining({ limit: currentInviteLimit }) }}
diff --git a/packages/frontend/src/pages/miauth.vue b/packages/frontend/src/pages/miauth.vue
index 539cb462ad..27ae1bdbc8 100644
--- a/packages/frontend/src/pages/miauth.vue
+++ b/packages/frontend/src/pages/miauth.vue
@@ -20,13 +20,13 @@ SPDX-License-Identifier: AGPL-3.0-only
-
{{ i18n.t('_auth.permission', { name }) }}
+
{{ i18n.tsx._auth.permission({ name }) }}
{{ i18n.ts._auth.permissionAsk }}
- - {{ i18n.t(`_permissions.${p}`) }}
+ - {{ i18n.ts._permissions[p] }}
-
{{ i18n.t('_auth.shareAccess', { name }) }}
+
{{ i18n.tsx._auth.shareAccess({ name }) }}
{{ i18n.ts._auth.shareAccessAsk }}
{{ i18n.ts.cancel }}
diff --git a/packages/frontend/src/pages/my-antennas/editor.vue b/packages/frontend/src/pages/my-antennas/editor.vue
index 45acbb2158..a4c6ca6f52 100644
--- a/packages/frontend/src/pages/my-antennas/editor.vue
+++ b/packages/frontend/src/pages/my-antennas/editor.vue
@@ -116,7 +116,7 @@ async function saveAntenna() {
async function deleteAntenna() {
const { canceled } = await os.confirm({
type: 'warning',
- text: i18n.t('removeAreYouSure', { x: props.antenna.name }),
+ text: i18n.tsx.removeAreYouSure({ x: props.antenna.name }),
});
if (canceled) return;
diff --git a/packages/frontend/src/pages/my-clips/index.vue b/packages/frontend/src/pages/my-clips/index.vue
index 850222708e..468e46838b 100644
--- a/packages/frontend/src/pages/my-clips/index.vue
+++ b/packages/frontend/src/pages/my-clips/index.vue
@@ -7,20 +7,22 @@ SPDX-License-Identifier: AGPL-3.0-only
-
-
{{ i18n.ts.add }}
+
+
+ {{ i18n.ts.add }}
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
@@ -36,6 +38,7 @@ import { misskeyApi } from '@/scripts/misskey-api.js';
import { i18n } from '@/i18n.js';
import { definePageMetadata } from '@/scripts/page-metadata.js';
import { clipsCache } from '@/cache.js';
+import MkHorizontalSwipe from '@/components/MkHorizontalSwipe.vue';
const pagination = {
endpoint: 'clips/list' as const,
@@ -44,6 +47,7 @@ const pagination = {
};
const tab = ref('my');
+
const favorites = ref
(null);
const pagingComponent = shallowRef>();
diff --git a/packages/frontend/src/pages/my-lists/index.vue b/packages/frontend/src/pages/my-lists/index.vue
index 14e2315843..295112b0ba 100644
--- a/packages/frontend/src/pages/my-lists/index.vue
+++ b/packages/frontend/src/pages/my-lists/index.vue
@@ -19,7 +19,7 @@ SPDX-License-Identifier: AGPL-3.0-only
- {{ list.name }} ({{ i18n.t('nUsers', { n: `${list.userIds.length}/${$i.policies['userEachUserListsLimit']}` }) }})
+ {{ list.name }} ({{ i18n.tsx.nUsers({ n: `${list.userIds.length}/${$i.policies['userEachUserListsLimit']}` }) }})
diff --git a/packages/frontend/src/pages/my-lists/list.vue b/packages/frontend/src/pages/my-lists/list.vue
index 85775a2fdd..7207e956db 100644
--- a/packages/frontend/src/pages/my-lists/list.vue
+++ b/packages/frontend/src/pages/my-lists/list.vue
@@ -25,7 +25,7 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ i18n.ts.members }}
- {{ i18n.t('nUsers', { n: `${list.userIds.length}/${$i.policies['userEachUserListsLimit']}` }) }}
+ {{ i18n.tsx.nUsers({ n: `${list.userIds.length}/${$i.policies['userEachUserListsLimit']}` }) }}
{{ i18n.ts.addUser }}
@@ -155,7 +155,7 @@ async function deleteList() {
if (!list.value) return;
const { canceled } = await os.confirm({
type: 'warning',
- text: i18n.t('removeAreYouSure', { x: list.value.name }),
+ text: i18n.tsx.removeAreYouSure({ x: list.value.name }),
});
if (canceled) return;
diff --git a/packages/frontend/src/pages/note.vue b/packages/frontend/src/pages/note.vue
index 4c0e9bbb98..9b72f9b2ac 100644
--- a/packages/frontend/src/pages/note.vue
+++ b/packages/frontend/src/pages/note.vue
@@ -147,7 +147,7 @@ definePageMetadata(computed(() => note.value ? {
avatar: note.value.user,
path: `/notes/${note.value.id}`,
share: {
- title: i18n.t('noteOf', { user: note.value.user.name }),
+ title: i18n.tsx.noteOf({ user: note.value.user.name }),
text: note.value.text,
},
} : null));
diff --git a/packages/frontend/src/pages/notifications.vue b/packages/frontend/src/pages/notifications.vue
index d57bda41b5..e6098c90b3 100644
--- a/packages/frontend/src/pages/notifications.vue
+++ b/packages/frontend/src/pages/notifications.vue
@@ -7,15 +7,17 @@ SPDX-License-Identifier: AGPL-3.0-only
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
@@ -24,6 +26,7 @@ SPDX-License-Identifier: AGPL-3.0-only
import { computed, ref } from 'vue';
import XNotifications from '@/components/MkNotifications.vue';
import MkNotes from '@/components/MkNotes.vue';
+import MkHorizontalSwipe from '@/components/MkHorizontalSwipe.vue';
import * as os from '@/os.js';
import { i18n } from '@/i18n.js';
import { definePageMetadata } from '@/scripts/page-metadata.js';
@@ -48,7 +51,7 @@ const directNotesPagination = {
function setFilter(ev) {
const typeItems = notificationTypes.map(t => ({
- text: i18n.t(`_notification._types.${t}`),
+ text: i18n.ts._notification._types[t],
active: includeTypes.value && includeTypes.value.includes(t),
action: () => {
includeTypes.value = [t];
@@ -96,3 +99,10 @@ definePageMetadata(computed(() => ({
icon: 'ti ti-bell',
})));
+
+
diff --git a/packages/frontend/src/pages/oauth.vue b/packages/frontend/src/pages/oauth.vue
index 878fa6be4e..38b9dd60c4 100644
--- a/packages/frontend/src/pages/oauth.vue
+++ b/packages/frontend/src/pages/oauth.vue
@@ -9,13 +9,13 @@ SPDX-License-Identifier: AGPL-3.0-only
-
{{ i18n.t('_auth.permission', { name }) }}
+
{{ i18n.tsx._auth.permission({ name }) }}
{{ i18n.ts._auth.permissionAsk }}
- - {{ i18n.t(`_permissions.${p}`) }}
+ - {{ i18n.ts._permissions[p] }}
-
{{ i18n.t('_auth.shareAccess', { name }) }}
+
{{ i18n.tsx._auth.shareAccess({ name }) }}
{{ i18n.ts._auth.shareAccessAsk }}