diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml
index 8d61fa4884..30db067726 100644
--- a/locales/ja-JP.yml
+++ b/locales/ja-JP.yml
@@ -30,6 +30,14 @@ common:
   2fa: "二段階認証"
   customize-home: "ホームをカスタマイズ"
   featured-notes: "ハイライト"
+  dark-mode: "ダークモード"
+  use-shadow: "UIに影を使用"
+  rounded-corners: "UIの角を丸める"
+  circle-icons: "円形のアイコンを使用"
+  contrasted-acct: "ユーザー名にコントラストを付ける"
+  signin: "ログイン"
+  signup: "新規登録"
+  signout: "ログアウト"
 
   got-it: "わかった"
   customization-tips:
@@ -472,7 +480,6 @@ common/views/components/signin.vue:
   password: "パスワード"
   token: "トークン"
   signing-in: "やってます..."
-  signin: "サインイン"
   or: "または"
   signin-with-twitter: "Twitterでログイン"
   signin-with-github: "GitHubでログイン"
@@ -913,7 +920,7 @@ desktop/views/components/settings.vue:
   mute-and-block: "ミュート/ブロック"
   blocking: "ブロック"
   security: "セキュリティ"
-  signin: "サインイン履歴"
+  signin: "ログイン履歴"
   password: "パスワード"
   other: "その他"
   license: "ライセンス"
@@ -936,11 +943,6 @@ desktop/views/components/settings.vue:
   wallpaper: "壁紙"
   choose-wallpaper: "壁紙を選択"
   delete-wallpaper: "壁紙を削除"
-  dark-mode: "ダークモード"
-  use-shadow: "UIに影を使用"
-  rounded-corners: "UIの角を丸める"
-  circle-icons: "円形のアイコンを使用"
-  contrasted-acct: "ユーザー名にコントラストを付ける"
   post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
   show-clock-on-header: "右上に時計を表示する"
   show-reply-target: "リプライ先を表示する"
@@ -1100,8 +1102,6 @@ desktop/views/components/ui.header.account.vue:
   follow-requests: "フォロー申請"
   admin: "管理"
   settings: "設定"
-  signout: "サインアウト"
-  dark: "闇に飲まれる"
 
 desktop/views/components/ui.header.nav.vue:
   game: "ゲーム"
@@ -1453,11 +1453,6 @@ admin/views/federation.vue:
 
 desktop/views/pages/welcome.vue:
   about: "詳しく..."
-  gotit: "わかった"
-  signin: "ログイン"
-  signup: "新規登録"
-  signin-button: "やってる"
-  signup-button: "やる"
   timeline: "タイムライン"
   announcements: "お知らせ"
   photos: "最近の画像"
@@ -1687,10 +1682,7 @@ mobile/views/pages/home.vue:
 mobile/views/pages/tag.vue:
   no-posts-found: "ハッシュタグ「{q}」が付けられた投稿は見つかりませんでした。"
 
-mobile/views/pages/welcome.vue:
-  signup: "新規登録"
-
-mobile/views/pages/widgets.vue:
+  mobile/views/pages/widgets.vue:
   dashboard: "ダッシュボード"
   widgets-hints: "ウィジェットを追加/削除したり並べ替えたりできます。ウィジェットを移動するには「三」をドラッグします。ウィジェットを削除するには「x」をタップします。いくつかのウィジェットはタップすることで表示を変更できます。"
   add-widget: "追加"
@@ -1725,10 +1717,7 @@ mobile/views/pages/selectdrive.vue:
 mobile/views/pages/settings.vue:
   signed-in-as: "{}としてサインイン中"
   design: "デザインと表示"
-  dark-mode: "ダークモード"
   i-am-under-limited-internet: "私は通信を制限されている"
-  circle-icons: "円形のアイコンを使用"
-  contrasted-acct: "ユーザー名にコントラストを付ける"
   timeline: "タイムライン"
   show-reply-target: "リプライ先を表示する"
   show-my-renotes: "自分の行ったRenoteを表示する"
@@ -1761,7 +1750,6 @@ mobile/views/pages/settings.vue:
   update-available: "新しいバージョンが利用可能です"
   update-available-desc: "ページを再度読み込みすると更新が適用されます。"
   settings: "設定"
-  signout: "サインアウト"
   sound: "サウンド"
   enable-sounds: "サウンドを有効にする"
   password: "パスワード"
diff --git a/src/client/app/common/views/components/signin.vue b/src/client/app/common/views/components/signin.vue
index e7513a501b..477f25680e 100644
--- a/src/client/app/common/views/components/signin.vue
+++ b/src/client/app/common/views/components/signin.vue
@@ -14,7 +14,7 @@
 		<span>{{ $t('@.2fa') }}</span>
 		<template #prefix><fa icon="gavel"/></template>
 	</ui-input>
-	<ui-button type="submit" :disabled="signing">{{ signing ? $t('signing-in') : $t('signin') }}</ui-button>
+	<ui-button type="submit" :disabled="signing">{{ signing ? $t('signing-in') : $t('@.signin') }}</ui-button>
 	<p v-if="meta && meta.enableTwitterIntegration" style="margin: 8px 0;"><a :href="`${apiUrl}/signin/twitter`">{{ $t('signin-with-twitter') }}</a></p>
 	<p v-if="meta && meta.enableGithubIntegration"  style="margin: 8px 0;"><a :href="`${apiUrl}/signin/github`">{{ $t('signin-with-github') }}</a></p>
 	<p v-if="meta && meta.enableDiscordIntegration" style="margin: 8px 0;"><a :href="`${apiUrl}/signin/discord`">{{ $t('signin-with-discord') /* TODO: Make these layouts better */ }}</a></p>
diff --git a/src/client/app/desktop/views/components/settings.vue b/src/client/app/desktop/views/components/settings.vue
index 8e88e35c37..fb67f52e50 100644
--- a/src/client/app/desktop/views/components/settings.vue
+++ b/src/client/app/desktop/views/components/settings.vue
@@ -87,10 +87,10 @@
 				<ui-radio v-model="navbar" value="right">{{ $t('navbar-position-right') }}</ui-radio>
 			</section>
 			<section>
-				<ui-switch v-model="darkmode">{{ $t('dark-mode') }}</ui-switch>
-				<ui-switch v-model="useShadow">{{ $t('use-shadow') }}</ui-switch>
-				<ui-switch v-model="roundedCorners">{{ $t('rounded-corners') }}</ui-switch>
-				<ui-switch v-model="circleIcons">{{ $t('circle-icons') }}</ui-switch>
+				<ui-switch v-model="darkmode">{{ $t('@.dark-mode') }}</ui-switch>
+				<ui-switch v-model="useShadow">{{ $t('@.use-shadow') }}</ui-switch>
+				<ui-switch v-model="roundedCorners">{{ $t('@.rounded-corners') }}</ui-switch>
+				<ui-switch v-model="circleIcons">{{ $t('@.circle-icons') }}</ui-switch>
 				<section>
 					<header>{{ $t('@.line-width') }}</header>
 					<ui-radio v-model="lineWidth" :value="0.5">{{ $t('@.line-width-thin') }}</ui-radio>
@@ -98,7 +98,7 @@
 					<ui-radio v-model="lineWidth" :value="2">{{ $t('@.line-width-thick') }}</ui-radio>
 				</section>
 				<ui-switch v-model="reduceMotion">{{ $t('@.reduce-motion') }}</ui-switch>
-				<ui-switch v-model="contrastedAcct">{{ $t('contrasted-acct') }}</ui-switch>
+				<ui-switch v-model="contrastedAcct">{{ $t('@.contrasted-acct') }}</ui-switch>
 				<ui-switch v-model="showFullAcct">{{ $t('@.show-full-acct') }}</ui-switch>
 				<ui-switch v-model="showVia">{{ $t('@.show-via') }}</ui-switch>
 				<ui-switch v-model="useOsDefaultEmojis">{{ $t('@.use-os-default-emojis') }}</ui-switch>
diff --git a/src/client/app/desktop/views/components/ui.header.account.vue b/src/client/app/desktop/views/components/ui.header.account.vue
index 78888c087a..5c93dcdcaf 100644
--- a/src/client/app/desktop/views/components/ui.header.account.vue
+++ b/src/client/app/desktop/views/components/ui.header.account.vue
@@ -77,7 +77,7 @@
 				<li @click="signout">
 					<p class="signout">
 						<i><fa icon="power-off"/></i>
-						<span>{{ $t('signout') }}</span>
+						<span>{{ $t('@.signout') }}</span>
 					</p>
 				</li>
 			</ul>
diff --git a/src/client/app/desktop/views/pages/welcome.vue b/src/client/app/desktop/views/pages/welcome.vue
index 3c34989f79..228110489a 100644
--- a/src/client/app/desktop/views/pages/welcome.vue
+++ b/src/client/app/desktop/views/pages/welcome.vue
@@ -30,9 +30,9 @@
 					</div>
 
 					<p class="sign">
-						<span class="signup" @click="signup">{{ $t('signup') }}</span>
+						<span class="signup" @click="signup">{{ $t('@.signup') }}</span>
 						<span class="divider">|</span>
-						<span class="signin" @click="signin">{{ $t('signin') }}</span>
+						<span class="signin" @click="signin">{{ $t('@.signin') }}</span>
 					</p>
 
 					<img :src="meta.mascotImageUrl" alt="" title="藍" class="char">
@@ -135,12 +135,12 @@
 	</modal>
 
 	<modal name="signup" class="modal" width="450px" height="auto" scrollable>
-		<header class="formHeader">{{ $t('signup') }}</header>
+		<header class="formHeader">{{ $t('@.signup') }}</header>
 		<mk-signup class="form"/>
 	</modal>
 
 	<modal name="signin" class="modal" width="450px" height="auto" scrollable>
-		<header class="formHeader">{{ $t('signin') }}</header>
+		<header class="formHeader">{{ $t('@.signin') }}</header>
 		<mk-signin class="form"/>
 	</modal>
 </div>
diff --git a/src/client/app/mobile/views/pages/settings.vue b/src/client/app/mobile/views/pages/settings.vue
index bdf515dd04..5371c300ee 100644
--- a/src/client/app/mobile/views/pages/settings.vue
+++ b/src/client/app/mobile/views/pages/settings.vue
@@ -14,18 +14,18 @@
 				<template #title><fa icon="poll-h"/> {{ $t('design') }}</template>
 
 				<section>
-					<ui-switch v-model="darkmode">{{ $t('dark-mode') }}</ui-switch>
-					<ui-switch v-model="useShadow">{{ $t('use-shadow') }}</ui-switch>
-					<ui-switch v-model="roundedCorners">{{ $t('rounded-corners') }}</ui-switch>
-					<ui-switch v-model="circleIcons">{{ $t('circle-icons') }}</ui-switch>
+					<ui-switch v-model="darkmode">{{ $t('@.dark-mode') }}</ui-switch>
+					<ui-switch v-model="useShadow">{{ $t('@.use-shadow') }}</ui-switch>
+					<ui-switch v-model="roundedCorners">{{ $t('@.rounded-corners') }}</ui-switch>
+					<ui-switch v-model="circleIcons">{{ $t('@.circle-icons') }}</ui-switch>
 					<section>
 						<header>{{ $t('@.line-width') }}</header>
 						<ui-radio v-model="lineWidth" :value="0.5">{{ $t('@.line-width-thin') }}</ui-radio>
 						<ui-radio v-model="lineWidth" :value="1">{{ $t('@.line-width-normal') }}</ui-radio>
 						<ui-radio v-model="lineWidth" :value="2">{{ $t('@.line-width-thick') }}</ui-radio>
 					</section>
-					<ui-switch v-model="reduceMotion">{{ $t('@.reduce-motion') }} ({{ $t('@.this-setting-is-this-device-only') }})</ui-switch>
-					<ui-switch v-model="contrastedAcct">{{ $t('contrasted-acct') }}</ui-switch>
+					<ui-switch v-model="reduceMotion">{{ $t('@.reduce-motion') }}</ui-switch>
+					<ui-switch v-model="contrastedAcct">{{ $t('@.contrasted-acct') }}</ui-switch>
 					<ui-switch v-model="showFullAcct">{{ $t('@.show-full-acct') }}</ui-switch>
 					<ui-switch v-model="showVia">{{ $t('@.show-via') }}</ui-switch>
 					<ui-switch v-model="useOsDefaultEmojis">{{ $t('@.use-os-default-emojis') }}</ui-switch>
@@ -157,7 +157,7 @@
 			</ui-card>
 		</div>
 
-		<div class="signout" @click="signout">{{ $t('signout') }}</div>
+		<div class="signout" @click="signout">{{ $t('@.signout') }}</div>
 
 		<footer>
 			<small>ver {{ version }} ({{ codename }})</small>
diff --git a/src/client/app/mobile/views/pages/welcome.vue b/src/client/app/mobile/views/pages/welcome.vue
index 1f1847d728..1a2b0b6c12 100644
--- a/src/client/app/mobile/views/pages/welcome.vue
+++ b/src/client/app/mobile/views/pages/welcome.vue
@@ -8,10 +8,10 @@
 		<div class="about">
 			<h2>{{ name }}</h2>
 			<p v-html="description || this.$t('@.about')"></p>
-			<router-link class="signup" to="/signup">{{ $t('signup') }}</router-link>
+			<router-link class="signup" to="/signup">{{ $t('@.signup') }}</router-link>
 		</div>
 		<div class="signin">
-			<a href="/signin" @click.prevent="signin()">{{ $t('signin') }}</a>
+			<a href="/signin" @click.prevent="signin()">{{ $t('@.signin') }}</a>
 		</div>
 		<div class="tl">
 			<mk-welcome-timeline/>