From cc486a3313096314c583547c91c0df1a2adad950 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20Miko=C5=82ajczak?= <me@m4sk.in> Date: Fri, 18 May 2018 20:33:55 +0200 Subject: [PATCH] even moar i18n MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marcin MikoÅ‚ajczak <me@m4sk.in> --- locales/ja.yml | 149 ++++++++++++++++++ .../views/components/activity.chart.vue | 2 +- .../choose-file-from-drive-window.vue | 11 +- .../choose-folder-from-drive-window.vue | 6 +- .../desktop/views/components/crop-window.vue | 6 +- .../views/components/follow-button.vue | 6 +- .../views/components/followers-window.vue | 2 +- .../desktop/views/components/followers.vue | 2 +- .../views/components/following-window.vue | 2 +- .../desktop/views/components/following.vue | 2 +- .../views/components/friends-maker.vue | 10 +- .../desktop/views/components/game-window.vue | 2 +- .../desktop/views/components/input-dialog.vue | 4 +- .../app/desktop/views/components/mentions.vue | 8 +- .../components/messaging-room-window.vue | 2 +- .../views/components/note-detail.sub.vue | 2 +- .../app/desktop/views/components/notes.vue | 4 +- .../views/components/progress-dialog.vue | 2 +- .../app/desktop/views/components/settings.vue | 138 ++++++++-------- .../desktop/views/components/taskmanager.vue | 2 +- 20 files changed, 255 insertions(+), 107 deletions(-) diff --git a/locales/ja.yml b/locales/ja.yml index d71251d203..5040c135d6 100644 --- a/locales/ja.yml +++ b/locales/ja.yml @@ -191,6 +191,12 @@ common/views/widgets/server.vue: title: "サーãƒãƒ¼æƒ…å ±" toggle: "表示を切り替ãˆ" +desktop/views/components/activity.chart.vue: + total: "Black ... Total" + notes: "Blue ... Notes" + replies: "Red ... Replies" + renotes: "Green ... Renotes" + desktop/views/components/activity.vue: title: "アクティビティ" toggle: "表示を切り替ãˆ" @@ -201,6 +207,23 @@ desktop/views/components/calendar.vue: next: "次ã®æœˆ" go: "クリックã—ã¦æ™‚é–“é¡è¡Œ" +desktop/views/components/choose-file-from-drive-window.vue: + choose-file: "ファイルé¸æŠžä¸" + upload: "PCã‹ã‚‰ãƒ‰ãƒ©ã‚¤ãƒ–ã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’アップãƒãƒ¼ãƒ‰" + cancel: "ã‚ャンセル" + ok: "決定" + choose-prompt: "ファイルをé¸æŠž" + +desktop/views/components/choose-folder-from-drive-window.vue: + cancel: "ã‚ャンセル" + ok: "決定" + choose-prompt: "フォルダをé¸æŠž" + +desktop/views/components/crop-window.vue: + skip: "クãƒãƒƒãƒ—をスã‚ップ" + cancel: "ã‚ャンセル" + ok: "決定" + desktop/views/components/drive-window.vue: used: "使用ä¸" drive: "ドライブ" @@ -257,6 +280,32 @@ desktop/views/components/drive.vue: upload: "ファイルをアップãƒãƒ¼ãƒ‰" url-upload: "URLã‹ã‚‰ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰" +desktop/views/components/follow-button.vue: + unfollow: "フォãƒãƒ¼è§£é™¤" + follow: "フォãƒãƒ¼ã™ã‚‹" + +desktop/views/components/followers-window.vue: + followers: "{} ã®ãƒ•ã‚©ãƒãƒ¯ãƒ¼" + +desktop/views/components/followers.vue: + empty: "フォãƒãƒ¯ãƒ¼ã¯ã„ãªã„よã†ã§ã™ã€‚" + +desktop/views/components/following-window.vue: + following: "{} ã®ãƒ•ã‚©ãƒãƒ¼" + +desktop/views/components/following.vue: + empty: "フォãƒãƒ¼ä¸ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯ã„ãªã„よã†ã§ã™ã€‚" + +desktop/views/components/friends-maker.vue: + title: "æ°—ã«ãªã‚‹ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’フォãƒãƒ¼:" + empty: "ãŠã™ã™ã‚ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚" + fetching: "èªã¿è¾¼ã‚“ã§ã„ã¾ã™" + refresh: "ã‚‚ã£ã¨è¦‹ã‚‹" + close: "é–‰ã˜ã‚‹" + +desktop/views/components/game-window.vue: + game: "オセãƒ" + desktop/views/components/home.vue: done: "完了" add-widget: "ã‚¦ã‚£ã‚¸ã‚§ãƒƒãƒˆã‚’è¿½åŠ :" @@ -283,9 +332,25 @@ desktop/views/components/home.vue: tips: "ヒント" add: "è¿½åŠ " +desktop/views/input-dialog.vue: + cancel: "ã‚ャンセル" + ok: "決定" + +desktop/views/components/mentions.vue: + all: "ã™ã¹ã¦" + followed: "フォãƒãƒ¼ä¸" + empty: "ã‚ãªãŸå®›ã¦ã®æŠ•ç¨¿ã¯ã‚ã‚Šã¾ã›ã‚“。" + empty-followed: "ã‚ãªãŸãŒãƒ•ã‚©ãƒãƒ¼ã—ã¦ã„るユーザーã‹ã‚‰ã®è¨€åŠã¯ã‚ã‚Šã¾ã›ã‚“。" + +desktop/views/components/messaging-room-window.vue: + title: "メッセージ:" + desktop/views/components/messaging-window.vue: title: "メッセージ" +desktop/views/components/note-detail.sub.vue: + private: "(ã“ã®æŠ•ç¨¿ã¯éžå…¬é–‹ã§ã™)" + desktop/views/components/notes.note.vue: reposted-by: "{}ãŒRenote" reply: "返信" @@ -293,6 +358,10 @@ desktop/views/components/notes.note.vue: add-reaction: "リアクション" detail: "詳細" +desktop/views/components/notes.vue: + error: "èªã¿è¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸã€‚" + retry: "リトライ" + desktop/views/components/notifications.vue: more: "ã‚‚ã£ã¨è¦‹ã‚‹" empty: "ã‚ã‚Šã¾ã›ã‚“ï¼" @@ -324,6 +393,9 @@ desktop/views/components/post-form-window.vue: attaches: "添付: {}メディア" uploading-media: "{}個ã®ãƒ¡ãƒ‡ã‚£ã‚¢ã‚’アップãƒãƒ¼ãƒ‰ä¸" +desktop/views/components/progress-dialog.vue: + waiting: "å¾…æ©Ÿä¸" + desktop/views/components/renote-form.vue: quote: "引用ã™ã‚‹..." cancel: "ã‚ャンセル" @@ -348,6 +420,80 @@ desktop/views/components/settings.vue: other: "ãã®ä»–" license: "ライセンス" + behaviour: "動作" + fetch-on-scroll: "スクãƒãƒ¼ãƒ«ã§è‡ªå‹•èªã¿è¾¼ã¿" + fetch-on-scroll-desc: "ページを下ã¾ã§ã‚¹ã‚¯ãƒãƒ¼ãƒ«ã—ãŸã¨ãã«è‡ªå‹•ã§è¿½åŠ ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã‚’èªã¿è¾¼ã¿ã¾ã™ã€‚" + auto-popout: "ウィンドウã®è‡ªå‹•ãƒãƒƒãƒ—アウト" + auto-popout-desc: "ウィンドウãŒé–‹ã‹ã‚Œã‚‹ã¨ãã€ãƒãƒƒãƒ—アウト(ブラウザ外ã«åˆ‡ã‚Šé›¢ã™)å¯èƒ½ãªã‚‰è‡ªå‹•ã§ãƒãƒƒãƒ—アウトã—ã¾ã™ã€‚ã“ã®è¨å®šã¯ãƒ–ラウザã«è¨˜æ†¶ã•ã‚Œã¾ã™ã€‚" + advanced: "詳細è¨å®š" + api-via-stream: "ストリームを経由ã—ãŸAPIリクエスト" + api-via-stream-desc: "ã“ã®è¨å®šã‚’オンã«ã™ã‚‹ã¨ã€websocket接続を経由ã—ã¦APIリクエストãŒè¡Œã‚ã‚Œã¾ã™(パフォーマンスå‘上ãŒæœŸå¾…ã§ãã¾ã™)。オフã«ã™ã‚‹ã¨ã€ãƒã‚¤ãƒ†ã‚£ãƒ–ã® fetch APIãŒåˆ©ç”¨ã•ã‚Œã¾ã™ã€‚ã“ã®è¨å®šã¯ã“ã®ãƒ‡ãƒã‚¤ã‚¹ã®ã¿æœ‰åŠ¹ã§ã™ã€‚" + + display: "デザインã¨è¡¨ç¤º" + customize: "ホームをカスタマイズ" + dark-mode: "ダークモード" + circle-icons: "円形ã®ã‚¢ã‚¤ã‚³ãƒ³ã‚’使用" + gradient-window-header: "ウィンドウã®ã‚¿ã‚¤ãƒˆãƒ«ãƒãƒ¼ã«ã‚°ãƒ©ãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’使用" + post-form-on-timeline: "タイムライン上部ã«æŠ•ç¨¿ãƒ•ã‚©ãƒ¼ãƒ を表示ã™ã‚‹" + show-reply-target: "リプライ先を表示ã™ã‚‹" + show-my-renotes: "自分ã®è¡Œã£ãŸRenoteをタイムラインã«è¡¨ç¤ºã™ã‚‹" + show-renoted-my-notes: "Renoteã•ã‚ŒãŸè‡ªåˆ†ã®æŠ•ç¨¿ã‚’タイムラインã«è¡¨ç¤ºã™ã‚‹" + show-maps: "マップã®è‡ªå‹•å±•é–‹" + show-maps-desc: "ä½ç½®æƒ…å ±ãŒæ·»ä»˜ã•ã‚ŒãŸæŠ•ç¨¿ã®ãƒžãƒƒãƒ—を自動的ã«å±•é–‹ã—ã¾ã™ã€‚" + + sound: "サウンド" + enable-sounds: "サウンドを有効ã«ã™ã‚‹" + enable-sounds-desc: "投稿やメッセージをé€å—ä¿¡ã—ãŸã¨ããªã©ã«ã‚µã‚¦ãƒ³ãƒ‰ã‚’å†ç”Ÿã—ã¾ã™ã€‚ã“ã®è¨å®šã¯ãƒ–ラウザã«è¨˜æ†¶ã•ã‚Œã¾ã™ã€‚" + volume: "ボリューム" + test: "テスト" + + mobile: "モãƒã‚¤ãƒ«" + disable-via-mobile: "「モãƒã‚¤ãƒ«ã‹ã‚‰ã®æŠ•ç¨¿ã€ãƒ•ãƒ©ã‚°ã‚’付ã‘ãªã„" + + language: "言語" + pick-language: "言語をé¸æŠž" + recommended: "推奨" + auto: "自動" + specify-language: "言語を指定" + language-desc: "変更ã¯ãƒšãƒ¼ã‚¸ã®å†åº¦èªã¿è¾¼ã¿å¾Œã«åæ˜ ã•ã‚Œã¾ã™ã€‚" + + cache: "ã‚ャッシュ" + clean-cache: "クリーンアップ" + cache-warn: "クリーンアップを行ã†ã¨ã€ãƒ–ラウザã«è¨˜æ†¶ã•ã‚ŒãŸã‚¢ã‚«ã‚¦ãƒ³ãƒˆæƒ…å ±ã®ã‚ャッシュã€æ›¸ãã‹ã‘ã®æŠ•ç¨¿ãƒ»è¿”信・メッセージã€ãŠã‚ˆã³ãã®ä»–ã®ãƒ‡ãƒ¼ã‚¿(è¨å®šæƒ…å ±å«ã‚€)ãŒå‰Šé™¤ã•ã‚Œã¾ã™ã€‚クリーンアップを行ã£ãŸå¾Œã¯ãƒšãƒ¼ã‚¸ã‚’å†åº¦èªã¿è¾¼ã¿ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚" + cache-cleared: "ã‚ャッシュを削除ã—ã¾ã—ãŸ" + cache-cleared-desc: "ページをå†åº¦èªã¿è¾¼ã¿ã—ã¦ãã ã•ã„。" + + auto-watch: "投稿ã®è‡ªå‹•ã‚¦ã‚©ãƒƒãƒ" + auto-watch-desc: "リアクションã—ãŸã‚Šè¿”ä¿¡ã—ãŸã‚Šã—ãŸæŠ•ç¨¿ã«é–¢ã™ã‚‹é€šçŸ¥ã‚’自動的ã«å—ã‘å–るよã†ã«ã—ã¾ã™ã€‚" + + about: "Misskeyã«ã¤ã„ã¦" + operator: "ã“ã®ã‚µãƒ¼ãƒãƒ¼ã®é‹å–¶è€…" + + update: "Misskey Update" + version: "ãƒãƒ¼ã‚¸ãƒ§ãƒ³:" + latest-version: "最新ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³:" + update-checking: "アップデートを確èªä¸" + do-update: "アップデートを確èª" + update-settings: "詳細è¨å®š" + prevent-update: "アップデートを延期ã™ã‚‹(éžæŽ¨å¥¨)" + prevent-update-desc: "ã“ã®è¨å®šã‚’オンã«ã—ã¦ã‚‚アップデートãŒåæ˜ ã•ã‚Œã‚‹å ´åˆãŒã‚ã‚Šã¾ã™ã€‚ã“ã®è¨å®šã¯ã“ã®ãƒ‡ãƒã‚¤ã‚¹ã®ã¿æœ‰åŠ¹ã§ã™ã€‚" + no-updates: "利用å¯èƒ½ãªæ›´æ–°ã¯ã‚ã‚Šã¾ã›ã‚“" + no-updates-desc: "ãŠä½¿ã„ã®Misskeyã¯æœ€æ–°ã§ã™ã€‚" + update-available: "æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒåˆ©ç”¨å¯èƒ½ã§ã™" + update-available-desc: "ページをå†åº¦èªã¿è¾¼ã¿ã™ã‚‹ã¨æ›´æ–°ãŒé©ç”¨ã•ã‚Œã¾ã™ã€‚" + + advanced-settings: "高度ãªè¨å®š" + debug-mode: "デãƒãƒƒã‚°ãƒ¢ãƒ¼ãƒ‰ã‚’有効ã«ã™ã‚‹" + debug-mode-desc: "ã“ã®è¨å®šã¯ãƒ–ラウザã«è¨˜æ†¶ã•ã‚Œã¾ã™ã€‚" + use-raw-script: "生ã®ã‚¹ã‚¯ãƒªãƒ—トをèªã¿è¾¼ã‚€" + use-raw-script-desc: "圧縮ã•ã‚Œã¦ã„ãªã„「生ã®ã€ã‚¹ã‚¯ãƒªãƒ—トを使用ã—ã¾ã™ã€‚サイズãŒå¤§ãã„ãŸã‚ã€èªã¿è¾¼ã¿ã«æ™‚é–“ãŒã‹ã‹ã‚‹å ´åˆãŒã‚ã‚Šã¾ã™ã€‚ã“ã®è¨å®šã¯ãƒ–ラウザã«è¨˜æ†¶ã•ã‚Œã¾ã™ã€‚" + source-info: "Misskeyã¯ã‚½ãƒ¼ã‚¹ãƒžãƒƒãƒ—ã‚‚æä¾›ã—ã¦ã„ã¾ã™ã€‚" + experimental: "実験的機能を有効ã«ã™ã‚‹" + experimental-desc: "実験的機能を有効ã«ã™ã‚‹ã¨Misskeyã®å‹•ä½œãŒä¸å®‰å®šã«ãªã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ã“ã®è¨å®šã¯ãƒ–ラウザã«è¨˜æ†¶ã•ã‚Œã¾ã™ã€‚" + tools: "ツール" + task-manager: "タスクマãƒãƒ¼ã‚¸ãƒ£" + third-parties: "サードパーティ" + desktop/views/components/settings.2fa.vue: intro: "二段階èªè¨¼ã‚’è¨å®šã™ã‚‹ã¨ã€ã‚µã‚¤ãƒ³ã‚¤ãƒ³æ™‚ã«ãƒ‘スワードã ã‘ã§ãªãã€äºˆã‚登録ã—ã¦ãŠã„ãŸç‰©ç†çš„ãªãƒ‡ãƒã‚¤ã‚¹(例ãˆã°ã‚ãªãŸã®ã‚¹ãƒžãƒ¼ãƒˆãƒ•ã‚©ãƒ³ãªã©)ã‚‚å¿…è¦ã«ãªã‚Šã€ã‚ˆã‚Šã‚»ã‚ュリティãŒå‘上ã—ã¾ã™ã€‚" detail: "詳細..." @@ -398,6 +544,9 @@ desktop/views/components/settings.profile.vue: birthday: "誕生日" save: "ä¿å˜" +desktop/views/components/taskmanager.vue: + title: "タスクマãƒãƒ¼ã‚¸ãƒ£" + desktop/views/components/timeline.vue: home: "ホーム" local: "ãƒãƒ¼ã‚«ãƒ«" diff --git a/src/client/app/desktop/views/components/activity.chart.vue b/src/client/app/desktop/views/components/activity.chart.vue index 175c5d37ed..ff489d988b 100644 --- a/src/client/app/desktop/views/components/activity.chart.vue +++ b/src/client/app/desktop/views/components/activity.chart.vue @@ -1,6 +1,6 @@ <template> <svg :viewBox="`0 0 ${ viewBoxX } ${ viewBoxY }`" preserveAspectRatio="none" @mousedown.prevent="onMousedown"> - <title>Black ... Total<br/>Blue ... Notes<br/>Red ... Replies<br/>Green ... Renotes</title> + <title>%i18n:@total%<br/>%i18n:@notes%<br/>%i18n:@replies%<br/>%i18n:@renotes%</title> <polyline :points="pointsNote" fill="none" diff --git a/src/client/app/desktop/views/components/choose-file-from-drive-window.vue b/src/client/app/desktop/views/components/choose-file-from-drive-window.vue index 9a1e9c958a..30e59429d2 100644 --- a/src/client/app/desktop/views/components/choose-file-from-drive-window.vue +++ b/src/client/app/desktop/views/components/choose-file-from-drive-window.vue @@ -2,7 +2,7 @@ <mk-window ref="window" is-modal width="800px" height="500px" @closed="$destroy"> <span slot="header"> <span v-html="title" :class="$style.title"></span> - <span :class="$style.count" v-if="multiple && files.length > 0">({{ files.length }}ファイルé¸æŠžä¸)</span> + <span :class="$style.count" v-if="multiple && files.length > 0">({{ files.length }}%i18n:@choose-file%)</span> </span> <mk-drive @@ -13,9 +13,9 @@ @change-selection="onChangeSelection" /> <div :class="$style.footer"> - <button :class="$style.upload" title="PCã‹ã‚‰ãƒ‰ãƒ©ã‚¤ãƒ–ã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’アップãƒãƒ¼ãƒ‰" @click="upload">%fa:upload%</button> - <button :class="$style.cancel" @click="cancel">ã‚ャンセル</button> - <button :class="$style.ok" :disabled="multiple && files.length == 0" @click="ok">決定</button> + <button :class="$style.upload" title="%i18n:@upload%" @click="upload">%fa:upload%</button> + <button :class="$style.cancel" @click="cancel">%i18n:@cancel%</button> + <button :class="$style.ok" :disabled="multiple && files.length == 0" @click="ok">%i18n:@ok%</button> </div> </mk-window> </template> @@ -28,7 +28,7 @@ export default Vue.extend({ default: false }, title: { - default: '%fa:R file%ファイルをé¸æŠž' + default: '%fa:R file%%i18n:@choose-prompt%s' } }, data() { @@ -177,4 +177,3 @@ export default Vue.extend({ border-color #dcdcdc </style> - diff --git a/src/client/app/desktop/views/components/choose-folder-from-drive-window.vue b/src/client/app/desktop/views/components/choose-folder-from-drive-window.vue index f99533176d..0c4643fdcb 100644 --- a/src/client/app/desktop/views/components/choose-folder-from-drive-window.vue +++ b/src/client/app/desktop/views/components/choose-folder-from-drive-window.vue @@ -10,8 +10,8 @@ :multiple="false" /> <div :class="$style.footer"> - <button :class="$style.cancel" @click="cancel">ã‚ャンセル</button> - <button :class="$style.ok" @click="ok">決定</button> + <button :class="$style.cancel" @click="cancel">%i18n:@cancel%</button> + <button :class="$style.ok" @click="ok">%i18n:@ok%</button> </div> </mk-window> </template> @@ -21,7 +21,7 @@ import Vue from 'vue'; export default Vue.extend({ props: { title: { - default: '%fa:R folder%フォルダをé¸æŠž' + default: '%fa:R folder%%i18n:@choose-prompt%' } }, methods: { diff --git a/src/client/app/desktop/views/components/crop-window.vue b/src/client/app/desktop/views/components/crop-window.vue index eb6a55d959..4fa258549f 100644 --- a/src/client/app/desktop/views/components/crop-window.vue +++ b/src/client/app/desktop/views/components/crop-window.vue @@ -10,9 +10,9 @@ /> </div> <div :class="$style.actions"> - <button :class="$style.skip" @click="skip">クãƒãƒƒãƒ—をスã‚ップ</button> - <button :class="$style.cancel" @click="cancel">ã‚ャンセル</button> - <button :class="$style.ok" @click="ok">決定</button> + <button :class="$style.skip" @click="skip">%i18n:@skip%</button> + <button :class="$style.cancel" @click="cancel">%i18n:@cancel%</button> + <button :class="$style.ok" @click="ok">%i18n:@ok%</button> </div> </mk-window> </template> diff --git a/src/client/app/desktop/views/components/follow-button.vue b/src/client/app/desktop/views/components/follow-button.vue index 60c6129f61..dae7604957 100644 --- a/src/client/app/desktop/views/components/follow-button.vue +++ b/src/client/app/desktop/views/components/follow-button.vue @@ -3,15 +3,15 @@ :class="{ wait, follow: !user.isFollowing, unfollow: user.isFollowing, big: size == 'big' }" @click="onClick" :disabled="wait" - :title="user.isFollowing ? 'フォãƒãƒ¼è§£é™¤' : 'フォãƒãƒ¼ã™ã‚‹'" + :title="user.isFollowing ? '%i18n:@unfollow%' : '%i18n:@follow%'" > <template v-if="!wait && user.isFollowing"> <template v-if="size == 'compact'">%fa:minus%</template> - <template v-if="size == 'big'">%fa:minus%フォãƒãƒ¼è§£é™¤</template> + <template v-if="size == 'big'">%fa:minus%%i18n:@unfollow%</template> </template> <template v-if="!wait && !user.isFollowing"> <template v-if="size == 'compact'">%fa:plus%</template> - <template v-if="size == 'big'">%fa:plus%フォãƒãƒ¼</template> + <template v-if="size == 'big'">%fa:plus%%i18n:@follow%</template> </template> <template v-if="wait">%fa:spinner .pulse .fw%</template> </button> diff --git a/src/client/app/desktop/views/components/followers-window.vue b/src/client/app/desktop/views/components/followers-window.vue index 16206299d7..f3eec13e0b 100644 --- a/src/client/app/desktop/views/components/followers-window.vue +++ b/src/client/app/desktop/views/components/followers-window.vue @@ -1,7 +1,7 @@ <template> <mk-window width="400px" height="550px" @closed="$destroy"> <span slot="header" :class="$style.header"> - <img :src="`${user.avatarUrl}?thumbnail&size=64`" alt=""/>{{ user | userName }}ã®ãƒ•ã‚©ãƒãƒ¯ãƒ¼ + <img :src="`${user.avatarUrl}?thumbnail&size=64`" alt=""/>%i18n:!@followers%.replace('{}', {{ user | userName }}) </span> <mk-followers :user="user"/> </mk-window> diff --git a/src/client/app/desktop/views/components/followers.vue b/src/client/app/desktop/views/components/followers.vue index a1b98995d8..1ef9f69771 100644 --- a/src/client/app/desktop/views/components/followers.vue +++ b/src/client/app/desktop/views/components/followers.vue @@ -4,7 +4,7 @@ :count="user.followersCount" :you-know-count="user.followersYouKnowCount" > - フォãƒãƒ¯ãƒ¼ã¯ã„ãªã„よã†ã§ã™ã€‚ + %i18n:@empty% </mk-users-list> </template> diff --git a/src/client/app/desktop/views/components/following-window.vue b/src/client/app/desktop/views/components/following-window.vue index cc3d77198e..153819b12e 100644 --- a/src/client/app/desktop/views/components/following-window.vue +++ b/src/client/app/desktop/views/components/following-window.vue @@ -1,7 +1,7 @@ <template> <mk-window width="400px" height="550px" @closed="$destroy"> <span slot="header" :class="$style.header"> - <img :src="`${user.avatarUrl}?thumbnail&size=64`" alt=""/>{{ user | userName }}ã®ãƒ•ã‚©ãƒãƒ¼ + <img :src="`${user.avatarUrl}?thumbnail&size=64`" alt=""/>%i18n:!@following%.replace('{}', {{ user | userName }}) </span> <mk-following :user="user"/> </mk-window> diff --git a/src/client/app/desktop/views/components/following.vue b/src/client/app/desktop/views/components/following.vue index b7aedda84f..d55ce1c0d4 100644 --- a/src/client/app/desktop/views/components/following.vue +++ b/src/client/app/desktop/views/components/following.vue @@ -4,7 +4,7 @@ :count="user.followingCount" :you-know-count="user.followingYouKnowCount" > - フォãƒãƒ¼ä¸ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯ã„ãªã„よã†ã§ã™ã€‚ + %i18n:@empty% </mk-users-list> </template> diff --git a/src/client/app/desktop/views/components/friends-maker.vue b/src/client/app/desktop/views/components/friends-maker.vue index 3c1f8b8257..7dfd9e4359 100644 --- a/src/client/app/desktop/views/components/friends-maker.vue +++ b/src/client/app/desktop/views/components/friends-maker.vue @@ -1,6 +1,6 @@ <template> <div class="mk-friends-maker"> - <p class="title">æ°—ã«ãªã‚‹ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’フォãƒãƒ¼:</p> + <p class="title">%i18n:@title%</p> <div class="users" v-if="!fetching && users.length > 0"> <div class="user" v-for="user in users" :key="user.id"> <mk-avatar class="avatar" :user="user" target="_blank"/> @@ -11,10 +11,10 @@ <mk-follow-button :user="user"/> </div> </div> - <p class="empty" v-if="!fetching && users.length == 0">ãŠã™ã™ã‚ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚</p> - <p class="fetching" v-if="fetching">%fa:spinner .pulse .fw%èªã¿è¾¼ã‚“ã§ã„ã¾ã™<mk-ellipsis/></p> - <a class="refresh" @click="refresh">ã‚‚ã£ã¨è¦‹ã‚‹</a> - <button class="close" @click="$destroy()" title="é–‰ã˜ã‚‹">%fa:times%</button> + <p class="empty" v-if="!fetching && users.length == 0">%i18n:@empty%</p> + <p class="fetching" v-if="fetching">%fa:spinner .pulse .fw%%i18n:@fetching%<mk-ellipsis/></p> + <a class="refresh" @click="refresh">%i18n:@refresh%</a> + <button class="close" @click="$destroy()" title="%i18n:@close%">%fa:times%</button> </div> </template> diff --git a/src/client/app/desktop/views/components/game-window.vue b/src/client/app/desktop/views/components/game-window.vue index 3c8bf40e12..c3c0f90075 100644 --- a/src/client/app/desktop/views/components/game-window.vue +++ b/src/client/app/desktop/views/components/game-window.vue @@ -1,6 +1,6 @@ <template> <mk-window ref="window" width="500px" height="560px" :popout-url="popout" @closed="$destroy"> - <span slot="header" :class="$style.header">%fa:gamepad%オセãƒ</span> + <span slot="header" :class="$style.header">%fa:gamepad%%i18n:@game%</span> <mk-othello :class="$style.content" @gamed="g => game = g"/> </mk-window> </template> diff --git a/src/client/app/desktop/views/components/input-dialog.vue b/src/client/app/desktop/views/components/input-dialog.vue index e939fc1903..e2cf4e48fd 100644 --- a/src/client/app/desktop/views/components/input-dialog.vue +++ b/src/client/app/desktop/views/components/input-dialog.vue @@ -8,8 +8,8 @@ <input ref="text" v-model="text" :type="type" @keydown="onKeydown" :placeholder="placeholder"/> </div> <div :class="$style.actions"> - <button :class="$style.cancel" @click="cancel">ã‚ャンセル</button> - <button :class="$style.ok" :disabled="!allowEmpty && text.length == 0" @click="ok">決定</button> + <button :class="$style.cancel" @click="cancel">%i18n:@cancel%</button> + <button :class="$style.ok" :disabled="!allowEmpty && text.length == 0" @click="ok">%i18n:@ok%</button> </div> </mk-window> </template> diff --git a/src/client/app/desktop/views/components/mentions.vue b/src/client/app/desktop/views/components/mentions.vue index 66bdab5c08..23fb7cccd4 100644 --- a/src/client/app/desktop/views/components/mentions.vue +++ b/src/client/app/desktop/views/components/mentions.vue @@ -1,16 +1,16 @@ <template> <div class="mk-mentions"> <header> - <span :data-active="mode == 'all'" @click="mode = 'all'">ã™ã¹ã¦</span> - <span :data-active="mode == 'following'" @click="mode = 'following'">フォãƒãƒ¼ä¸</span> + <span :data-active="mode == 'all'" @click="mode = 'all'">%i18n:@all%</span> + <span :data-active="mode == 'following'" @click="mode = 'following'">%i18n:@followed%</span> </header> <div class="fetching" v-if="fetching"> <mk-ellipsis-icon/> </div> <p class="empty" v-if="notes.length == 0 && !fetching"> %fa:R comments% - <span v-if="mode == 'all'">ã‚ãªãŸå®›ã¦ã®æŠ•ç¨¿ã¯ã‚ã‚Šã¾ã›ã‚“。</span> - <span v-if="mode == 'following'">ã‚ãªãŸãŒãƒ•ã‚©ãƒãƒ¼ã—ã¦ã„るユーザーã‹ã‚‰ã®è¨€åŠã¯ã‚ã‚Šã¾ã›ã‚“。</span> + <span v-if="mode == 'all'">%i18n:@empty%</span> + <span v-if="mode == 'following'">%i18n:@empty-followed%</span> </p> <mk-notes :notes="notes" ref="timeline"/> </div> diff --git a/src/client/app/desktop/views/components/messaging-room-window.vue b/src/client/app/desktop/views/components/messaging-room-window.vue index dbe3266734..cbb58b5e99 100644 --- a/src/client/app/desktop/views/components/messaging-room-window.vue +++ b/src/client/app/desktop/views/components/messaging-room-window.vue @@ -1,6 +1,6 @@ <template> <mk-window ref="window" width="500px" height="560px" :popout-url="popout" @closed="$destroy"> - <span slot="header" :class="$style.header">%fa:comments%メッセージ: {{ user | userName }}</span> + <span slot="header" :class="$style.header">%fa:comments%%i18n:@title% {{ user | userName }}</span> <mk-messaging-room :user="user" :class="$style.content"/> </mk-window> </template> diff --git a/src/client/app/desktop/views/components/note-detail.sub.vue b/src/client/app/desktop/views/components/note-detail.sub.vue index 32119da50d..c798b41b25 100644 --- a/src/client/app/desktop/views/components/note-detail.sub.vue +++ b/src/client/app/desktop/views/components/note-detail.sub.vue @@ -15,7 +15,7 @@ </header> <div class="body"> <div class="text"> - <span v-if="note.isHidden" style="opacity: 0.5">(ã“ã®æŠ•ç¨¿ã¯éžå…¬é–‹ã§ã™)</span> + <span v-if="note.isHidden" style="opacity: 0.5">%i18n:@private%</span> <mk-note-html v-if="note.text" :text="note.text" :i="os.i"/> </div> <div class="media" v-if="note.mediaIds.length > 0"> diff --git a/src/client/app/desktop/views/components/notes.vue b/src/client/app/desktop/views/components/notes.vue index 7e80e6f74a..c041e5278c 100644 --- a/src/client/app/desktop/views/components/notes.vue +++ b/src/client/app/desktop/views/components/notes.vue @@ -5,8 +5,8 @@ <slot name="empty" v-if="notes.length == 0 && !fetching && requestInitPromise == null"></slot> <div v-if="!fetching && requestInitPromise != null"> - <p>èªã¿è¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸã€‚</p> - <button @click="resolveInitPromise">リトライ</button> + <p>%i18n:@error%</p> + <button @click="resolveInitPromise">%i18n:@retry%</button> </div> <transition-group name="mk-notes" class="transition"> diff --git a/src/client/app/desktop/views/components/progress-dialog.vue b/src/client/app/desktop/views/components/progress-dialog.vue index a4292e1aec..2f59733d99 100644 --- a/src/client/app/desktop/views/components/progress-dialog.vue +++ b/src/client/app/desktop/views/components/progress-dialog.vue @@ -2,7 +2,7 @@ <mk-window ref="window" :is-modal="false" :can-close="false" width="500px" @closed="$destroy"> <span slot="header">{{ title }}<mk-ellipsis/></span> <div :class="$style.body"> - <p :class="$style.init" v-if="isNaN(value)">å¾…æ©Ÿä¸<mk-ellipsis/></p> + <p :class="$style.init" v-if="isNaN(value)">%i18n:@waiting%<mk-ellipsis/></p> <p :class="$style.percentage" v-if="!isNaN(value)">{{ Math.floor((value / max) * 100) }}</p> <progress :class="$style.progress" v-if="!isNaN(value) && value < max" diff --git a/src/client/app/desktop/views/components/settings.vue b/src/client/app/desktop/views/components/settings.vue index 4e5e281fd0..9510752f7b 100644 --- a/src/client/app/desktop/views/components/settings.vue +++ b/src/client/app/desktop/views/components/settings.vue @@ -19,91 +19,91 @@ </section> <section class="web" v-show="page == 'web'"> - <h1>動作</h1> - <mk-switch v-model="clientSettings.fetchOnScroll" @change="onChangeFetchOnScroll" text="スクãƒãƒ¼ãƒ«ã§è‡ªå‹•èªã¿è¾¼ã¿"> - <span>ページを下ã¾ã§ã‚¹ã‚¯ãƒãƒ¼ãƒ«ã—ãŸã¨ãã«è‡ªå‹•ã§è¿½åŠ ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã‚’èªã¿è¾¼ã¿ã¾ã™ã€‚</span> + <h1>%i18n:@behaviour%</h1> + <mk-switch v-model="clientSettings.fetchOnScroll" @change="onChangeFetchOnScroll" text="%i18n:@fetch-on-scroll%> + <span>%i18n:@fetch-on-scroll-desc%</span> </mk-switch> - <mk-switch v-model="autoPopout" text="ウィンドウã®è‡ªå‹•ãƒãƒƒãƒ—アウト"> - <span>ウィンドウãŒé–‹ã‹ã‚Œã‚‹ã¨ãã€ãƒãƒƒãƒ—アウト(ブラウザ外ã«åˆ‡ã‚Šé›¢ã™)å¯èƒ½ãªã‚‰è‡ªå‹•ã§ãƒãƒƒãƒ—アウトã—ã¾ã™ã€‚ã“ã®è¨å®šã¯ãƒ–ラウザã«è¨˜æ†¶ã•ã‚Œã¾ã™ã€‚</span> + <mk-switch v-model="autoPopout" text="%i18n:@auto-popout%"> + <span>%i18n:@auto-popout-desc%</span> </mk-switch> <details> - <summary>詳細è¨å®š</summary> - <mk-switch v-model="apiViaStream" text="ストリームを経由ã—ãŸAPIリクエスト"> - <span>ã“ã®è¨å®šã‚’オンã«ã™ã‚‹ã¨ã€websocket接続を経由ã—ã¦APIリクエストãŒè¡Œã‚ã‚Œã¾ã™(パフォーマンスå‘上ãŒæœŸå¾…ã§ãã¾ã™)。オフã«ã™ã‚‹ã¨ã€ãƒã‚¤ãƒ†ã‚£ãƒ–ã® fetch APIãŒåˆ©ç”¨ã•ã‚Œã¾ã™ã€‚ã“ã®è¨å®šã¯ã“ã®ãƒ‡ãƒã‚¤ã‚¹ã®ã¿æœ‰åŠ¹ã§ã™ã€‚</span> + <summary>%i18n:@advanced%</summary> + <mk-switch v-model="apiViaStream" text="%i18n:@api-via-stream%"> + <span>%i18n:@api-via-stream-desc%</span> </mk-switch> </details> </section> <section class="web" v-show="page == 'web'"> - <h1>デザインã¨è¡¨ç¤º</h1> + <h1>%i18n:@display%</h1> <div class="div"> - <button class="ui button" @click="customizeHome" style="margin-bottom: 16px">ホームをカスタマイズ</button> + <button class="ui button" @click="customizeHome" style="margin-bottom: 16px">%i18n:@customize%</button> </div> <div class="div"> - <mk-switch v-model="darkmode" text="ダークモード"/> - <mk-switch v-model="clientSettings.circleIcons" @change="onChangeCircleIcons" text="円形ã®ã‚¢ã‚¤ã‚³ãƒ³ã‚’使用"/> - <mk-switch v-model="clientSettings.gradientWindowHeader" @change="onChangeGradientWindowHeader" text="ウィンドウã®ã‚¿ã‚¤ãƒˆãƒ«ãƒãƒ¼ã«ã‚°ãƒ©ãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’使用"/> + <mk-switch v-model="darkmode" text="%i18n:@dark-mode%"/> + <mk-switch v-model="clientSettings.circleIcons" @change="onChangeCircleIcons" text="%i18n:@circle-icons%"/> + <mk-switch v-model="clientSettings.gradientWindowHeader" @change="onChangeGradientWindowHeader" text="%i18n:@gradient-window-header%"/> </div> - <mk-switch v-model="clientSettings.showPostFormOnTopOfTl" @change="onChangeShowPostFormOnTopOfTl" text="タイムライン上部ã«æŠ•ç¨¿ãƒ•ã‚©ãƒ¼ãƒ を表示ã™ã‚‹"/> - <mk-switch v-model="clientSettings.showReplyTarget" @change="onChangeShowReplyTarget" text="リプライ先を表示ã™ã‚‹"/> - <mk-switch v-model="clientSettings.showMyRenotes" @change="onChangeShowMyRenotes" text="自分ã®è¡Œã£ãŸRenoteをタイムラインã«è¡¨ç¤ºã™ã‚‹"/> - <mk-switch v-model="clientSettings.showRenotedMyNotes" @change="onChangeShowRenotedMyNotes" text="Renoteã•ã‚ŒãŸè‡ªåˆ†ã®æŠ•ç¨¿ã‚’タイムラインã«è¡¨ç¤ºã™ã‚‹"/> - <mk-switch v-model="clientSettings.showMaps" @change="onChangeShowMaps" text="マップã®è‡ªå‹•å±•é–‹"> - <span>ä½ç½®æƒ…å ±ãŒæ·»ä»˜ã•ã‚ŒãŸæŠ•ç¨¿ã®ãƒžãƒƒãƒ—を自動的ã«å±•é–‹ã—ã¾ã™ã€‚</span> + <mk-switch v-model="clientSettings.showPostFormOnTopOfTl" @change="onChangeShowPostFormOnTopOfTl" text="%i18n:@post-form-on-timeline%"/> + <mk-switch v-model="clientSettings.showReplyTarget" @change="onChangeShowReplyTarget" text="%i18n:@show-reply-target%"/> + <mk-switch v-model="clientSettings.showMyRenotes" @change="onChangeShowMyRenotes" text="%i18n:@show-my-renotes%"/> + <mk-switch v-model="clientSettings.showRenotedMyNotes" @change="onChangeShowRenotedMyNotes" text="%i18n:@show-renoted-my-notes%"/> + <mk-switch v-model="clientSettings.showMaps" @change="onChangeShowMaps" text="%i18n:@show-maps%"> + <span>%i18n:@show-maps-desc%</span> </mk-switch> </section> <section class="web" v-show="page == 'web'"> - <h1>サウンド</h1> - <mk-switch v-model="enableSounds" text="サウンドを有効ã«ã™ã‚‹"> - <span>投稿やメッセージをé€å—ä¿¡ã—ãŸã¨ããªã©ã«ã‚µã‚¦ãƒ³ãƒ‰ã‚’å†ç”Ÿã—ã¾ã™ã€‚ã“ã®è¨å®šã¯ãƒ–ラウザã«è¨˜æ†¶ã•ã‚Œã¾ã™ã€‚</span> + <h1>%i18n:@sound%</h1> + <mk-switch v-model="enableSounds" text="%i18n:@enable-sounds%"> + <span>%i18n:@enable-sounds-desc%</span> </mk-switch> - <label>ボリューム</label> + <label>%i18n:@volume%</label> <el-slider v-model="soundVolume" :show-input="true" :format-tooltip="v => `${v}%`" :disabled="!enableSounds" /> - <button class="ui button" @click="soundTest">%fa:volume-up% テスト</button> + <button class="ui button" @click="soundTest">%fa:volume-up% %i18n:@test%</button> </section> <section class="web" v-show="page == 'web'"> - <h1>モãƒã‚¤ãƒ«</h1> - <mk-switch v-model="clientSettings.disableViaMobile" @change="onChangeDisableViaMobile" text="「モãƒã‚¤ãƒ«ã‹ã‚‰ã®æŠ•ç¨¿ã€ãƒ•ãƒ©ã‚°ã‚’付ã‘ãªã„"/> + <h1>%i18n:@mobile%</h1> + <mk-switch v-model="clientSettings.disableViaMobile" @change="onChangeDisableViaMobile" text="%i18n:@disable-via-mobile%"/> </section> <section class="web" v-show="page == 'web'"> - <h1>言語</h1> - <el-select v-model="lang" placeholder="言語をé¸æŠž"> - <el-option-group label="推奨"> - <el-option label="自動" value=""/> + <h1>%i18n:@language%</h1> + <el-select v-model="lang" placeholder="%i18n:@pick-language%"> + <el-option-group label="%i18n:@recommended%"> + <el-option label="%i18n:@auto%" value=""/> </el-option-group> - <el-option-group label="言語を指定"> - <el-option label="ja" value="ja"/> - <el-option label="en" value="en"/> - <el-option label="fr" value="fr"/> - <el-option label="pl" value="pl"/> - <el-option label="de" value="de"/> + <el-option-group label="%i18n:@specify-language%"> + <el-option label="日本語" value="ja"/> + <el-option label="English" value="en"/> + <el-option label="Français" value="fr"/> + <el-option label="Polski" value="pl"/> + <el-option label="Deutsch" value="de"/> </el-option-group> </el-select> <div class="none ui info"> - <p>%fa:info-circle%変更ã¯ãƒšãƒ¼ã‚¸ã®å†åº¦èªã¿è¾¼ã¿å¾Œã«åæ˜ ã•ã‚Œã¾ã™ã€‚</p> + <p>%fa:info-circle%%i18n:@language-desc%</p> </div> </section> <section class="web" v-show="page == 'web'"> - <h1>ã‚ャッシュ</h1> - <button class="ui button" @click="clean">クリーンアップ</button> + <h1>%i18n:@cache%</h1> + <button class="ui button" @click="clean">%i18n:@clean-cache%</button> <div class="none ui info warn"> - <p>%fa:exclamation-triangle%クリーンアップを行ã†ã¨ã€ãƒ–ラウザã«è¨˜æ†¶ã•ã‚ŒãŸã‚¢ã‚«ã‚¦ãƒ³ãƒˆæƒ…å ±ã®ã‚ャッシュã€æ›¸ãã‹ã‘ã®æŠ•ç¨¿ãƒ»è¿”信・メッセージã€ãŠã‚ˆã³ãã®ä»–ã®ãƒ‡ãƒ¼ã‚¿(è¨å®šæƒ…å ±å«ã‚€)ãŒå‰Šé™¤ã•ã‚Œã¾ã™ã€‚クリーンアップを行ã£ãŸå¾Œã¯ãƒšãƒ¼ã‚¸ã‚’å†åº¦èªã¿è¾¼ã¿ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚</p> + <p>%fa:exclamation-triangle%%i18n:@cache-warn%</p> </div> </section> <section class="notification" v-show="page == 'notification'"> <h1>%i18n:@notification%</h1> - <mk-switch v-model="os.i.settings.autoWatch" @change="onChangeAutoWatch" text="投稿ã®è‡ªå‹•ã‚¦ã‚©ãƒƒãƒ"> - <span>リアクションã—ãŸã‚Šè¿”ä¿¡ã—ãŸã‚Šã—ãŸæŠ•ç¨¿ã«é–¢ã™ã‚‹é€šçŸ¥ã‚’自動的ã«å—ã‘å–るよã†ã«ã—ã¾ã™ã€‚</span> + <mk-switch v-model="os.i.settings.autoWatch" @change="onChangeAutoWatch" text="%i18n:@auto-watch%"> + <span>%i18n:@auto-watch-desc%</span> </mk-switch> </section> @@ -148,57 +148,57 @@ </section> <section class="other" v-show="page == 'other'"> - <h1>Misskeyã«ã¤ã„ã¦</h1> - <p v-if="meta">ã“ã®ã‚µãƒ¼ãƒãƒ¼ã®é‹å–¶è€…: <i><a :href="meta.maintainer.url" target="_blank">{{ meta.maintainer.name }}</a></i></p> + <h1>%i18n:@about%</h1> + <p v-if="meta">%i18n:@operator%: <i><a :href="meta.maintainer.url" target="_blank">{{ meta.maintainer.name }}</a></i></p> </section> <section class="other" v-show="page == 'other'"> - <h1>Misskey Update</h1> + <h1>%i18n:@update%</h1> <p> - <span>ãƒãƒ¼ã‚¸ãƒ§ãƒ³: <i>{{ version }}</i></span> + <span>%i18n:@version% <i>{{ version }}</i></span> <template v-if="latestVersion !== undefined"> <br> - <span>最新ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³: <i>{{ latestVersion ? latestVersion : version }}</i></span> + <span>%i18n:@latest-version% <i>{{ latestVersion ? latestVersion : version }}</i></span> </template> </p> <button class="ui button block" @click="checkForUpdate" :disabled="checkingForUpdate"> - <template v-if="checkingForUpdate">アップデートを確èªä¸<mk-ellipsis/></template> - <template v-else>アップデートを確èª</template> + <template v-if="checkingForUpdate">%i18n:@update-checking%<mk-ellipsis/></template> + <template v-else>%i18n:@do-update%</template> </button> <details> - <summary>詳細è¨å®š</summary> - <mk-switch v-model="preventUpdate" text="アップデートを延期ã™ã‚‹(éžæŽ¨å¥¨)"> - <span>ã“ã®è¨å®šã‚’オンã«ã—ã¦ã‚‚アップデートãŒåæ˜ ã•ã‚Œã‚‹å ´åˆãŒã‚ã‚Šã¾ã™ã€‚ã“ã®è¨å®šã¯ã“ã®ãƒ‡ãƒã‚¤ã‚¹ã®ã¿æœ‰åŠ¹ã§ã™ã€‚</span> + <summary>%i18n:@update-settings%</summary> + <mk-switch v-model="preventUpdate" text="%i18n:@prevent-update%> + <span>%i18n:@prevent-update-desc%</span> </mk-switch> </details> </section> <section class="other" v-show="page == 'other'"> - <h1>高度ãªè¨å®š</h1> - <mk-switch v-model="debug" text="デãƒãƒƒã‚°ãƒ¢ãƒ¼ãƒ‰ã‚’有効ã«ã™ã‚‹"> - <span>ã“ã®è¨å®šã¯ãƒ–ラウザã«è¨˜æ†¶ã•ã‚Œã¾ã™ã€‚</span> + <h1>%i18n:@advanced-settings%</h1> + <mk-switch v-model="debug" text="%i18n:@debug-mode%"> + <span>%i18n:@debug-mode-desc%</span> </mk-switch> <template v-if="debug"> - <mk-switch v-model="useRawScript" text="生ã®ã‚¹ã‚¯ãƒªãƒ—トをèªã¿è¾¼ã‚€"> - <span>圧縮ã•ã‚Œã¦ã„ãªã„「生ã®ã€ã‚¹ã‚¯ãƒªãƒ—トを使用ã—ã¾ã™ã€‚サイズãŒå¤§ãã„ãŸã‚ã€èªã¿è¾¼ã¿ã«æ™‚é–“ãŒã‹ã‹ã‚‹å ´åˆãŒã‚ã‚Šã¾ã™ã€‚ã“ã®è¨å®šã¯ãƒ–ラウザã«è¨˜æ†¶ã•ã‚Œã¾ã™ã€‚</span> + <mk-switch v-model="useRawScript" text="%i18n:@use-raw-script%"> + <span>%i18n:@use-raw-script-desc%</span> </mk-switch> <div class="none ui info"> - <p>%fa:info-circle%Misskeyã¯ã‚½ãƒ¼ã‚¹ãƒžãƒƒãƒ—ã‚‚æä¾›ã—ã¦ã„ã¾ã™ã€‚</p> + <p>%fa:info-circle%%i18n:@source-info%</p> </div> </template> - <mk-switch v-model="enableExperimental" text="実験的機能を有効ã«ã™ã‚‹"> - <span>実験的機能を有効ã«ã™ã‚‹ã¨Misskeyã®å‹•ä½œãŒä¸å®‰å®šã«ãªã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ã“ã®è¨å®šã¯ãƒ–ラウザã«è¨˜æ†¶ã•ã‚Œã¾ã™ã€‚</span> + <mk-switch v-model="enableExperimental" text="%i18n:@experimental%"> + <span>%i18n:@experimental-desc%</span> </mk-switch> <details v-if="debug"> - <summary>ツール</summary> - <button class="ui button block" @click="taskmngr">タスクマãƒãƒ¼ã‚¸ãƒ£</button> + <summary>%i18n:@tools%</summary> + <button class="ui button block" @click="taskmngr">%i18n:@task-manager%</button> </details> </section> <section class="other" v-show="page == 'other'"> <h1>%i18n:@license%</h1> <div v-html="license"></div> - <a :href="licenseUrl" target="_blank">サードパーティ</a> + <a :href="licenseUrl" target="_blank">%i18n:@third-parties%</a> </section> </div> </div> @@ -371,13 +371,13 @@ export default Vue.extend({ this.latestVersion = newer; if (newer == null) { (this as any).apis.dialog({ - title: '利用å¯èƒ½ãªæ›´æ–°ã¯ã‚ã‚Šã¾ã›ã‚“', - text: 'ãŠä½¿ã„ã®Misskeyã¯æœ€æ–°ã§ã™ã€‚' + title: '%i18n:@no-updates%', + text: '%i18n:@no-updates-desc%' }); } else { (this as any).apis.dialog({ - title: 'æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒåˆ©ç”¨å¯èƒ½ã§ã™', - text: 'ページをå†åº¦èªã¿è¾¼ã¿ã™ã‚‹ã¨æ›´æ–°ãŒé©ç”¨ã•ã‚Œã¾ã™ã€‚' + title: '%i18n:@update-available%', + text: '%i18n:@update-available-desc%' }); } }); @@ -385,8 +385,8 @@ export default Vue.extend({ clean() { localStorage.clear(); (this as any).apis.dialog({ - title: 'ã‚ャッシュを削除ã—ã¾ã—ãŸ', - text: 'ページをå†åº¦èªã¿è¾¼ã¿ã—ã¦ãã ã•ã„。' + title: '%i18n:@cache-cleared%', + text: '%i18n:@caache-cleared-desc%' }); }, soundTest() { diff --git a/src/client/app/desktop/views/components/taskmanager.vue b/src/client/app/desktop/views/components/taskmanager.vue index a00fabb047..1f1385add8 100644 --- a/src/client/app/desktop/views/components/taskmanager.vue +++ b/src/client/app/desktop/views/components/taskmanager.vue @@ -1,6 +1,6 @@ <template> <mk-window ref="window" width="750px" height="500px" @closed="$destroy" name="TaskManager"> - <span slot="header" :class="$style.header">%fa:stethoscope%タスクマãƒãƒ¼ã‚¸ãƒ£</span> + <span slot="header" :class="$style.header">%fa:stethoscope%%i18n:@title%</span> <el-tabs :class="$style.content"> <el-tab-pane label="Requests"> <el-table -- GitLab