From 903e93ae01f3cf0dfbcb7bfb4b01167f5c03db25 Mon Sep 17 00:00:00 2001 From: Satsuki Yanagi <17376330+u1-liquid@users.noreply.github.com> Date: Sun, 22 Mar 2020 10:51:40 +0900 Subject: [PATCH] i18n (#6171) * i18n Resolve #6155 * i18n for drive * :v: * Extract doc Co-authored-by: syuilo --- locales/ja-JP.yml | 57 +++++++++------- src/client/components/drive.file.vue | 4 +- src/client/components/drive.folder.vue | 16 ++--- src/client/components/drive.vue | 28 ++++---- src/client/components/emoji-picker.vue | 19 ++---- src/client/components/signin.vue | 4 +- src/client/pages/index.welcome.setup.vue | 2 +- src/client/pages/messaging-room.form.vue | 4 +- src/client/pages/messaging.vue | 2 +- .../page-editor/els/page-editor.el.if.vue | 2 +- .../els/page-editor.el.section.vue | 2 +- .../page-editor/page-editor.script-block.vue | 2 +- src/client/pages/page-editor/page-editor.vue | 67 ++++++++----------- src/client/pages/pages.vue | 4 +- src/docs/pages.ja-JP.md | 10 +++ 15 files changed, 111 insertions(+), 112 deletions(-) create mode 100644 src/docs/pages.ja-JP.md diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 7918de552..6eb90c9d0 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -88,7 +88,6 @@ add: "追加" reaction: "リアクション" reactionSettingDescription: "リアクションピッカーに表示するリアクションを設定します。" rememberNoteVisibility: "公開範囲を記憶する" -renameFile: "ファイル名を変更" attachCancel: "添付取り消し" markAsSensitive: "閲覧注意にする" unmarkAsSensitive: "閲覧注意を解除する" @@ -207,10 +206,13 @@ messaging: "チャット" upload: "アップロード" fromDrive: "ドライブから" fromUrl: "URLから" +uploadFromUrl: "URLアップロード" +uploadFromUrlDescription: "アップロードしたいファイルのURL" +uploadFromUrlRequested: "アップロードをリクエストしました" +uploadFromUrlMayTakeTime: "アップロードが完了するまで時間がかかる場合があります。" explore: "みつける" games: "Misskey Games" messageRead: "既読" -recentUsedEmojis: "最近使用した絵文字" noMoreHistory: "これより過去の履歴はありません" startMessaging: "チャットを開始" nUsersRead: "{n}人が読みました" @@ -234,14 +236,22 @@ lightThemes: "明るいテーマ" darkThemes: "暗いテーマ" syncDeviceDarkMode: "デバイスのダークモードと同期する" drive: "ドライブ" +fileName: "ファイル名" selectFile: "ファイルを選択" selectFiles: "ファイルを選択" -renameFolder: "フォルダー名を変更" +renameFile: "ファイル名を変更" +folderName: "フォルダー名" createFolder: "フォルダーを作成" +renameFolder: "フォルダー名を変更" deleteFolder: "フォルダーを削除" addFile: "ファイルを追加" emptyDrive: "ドライブは空です" emptyFolder: "フォルダーは空です" +unableToDelete: "削除できません" +inputNewFileName: "新しいファイル名を入力してください" +inputNewFolderName: "新しいフォルダ名を入力してください" +circularReferenceFolder: "移動先のフォルダーは、移動するフォルダーのサブフォルダーです。" +hasChildFilesOrFolders: "このフォルダは空でないため、削除できません。" copyUrl: "URLをコピー" rename: "名前を変更" avatar: "アイコン" @@ -395,13 +405,14 @@ strongPassword: "強いパスワード" passwordMatched: "一致しました" passwordNotMatched: "一致していません" signinWith: "{x}でログイン" +signinFailed: "ログインできませんでした。ユーザー名とパスワードを確認してください。" tapSecurityKey: "セキュリティーキーにタッチ" or: "もしくは" uiLanguage: "UIの表示言語" groupInvited: "グループに招待されました" aboutX: "{x}について" useOsNativeEmojis: "OSネイティブの絵文字を使用" -noGroups: "グループがありません" +youHaveNoGroups: "グループがありません" joinOrCreateGroup: "既存のグループに招待してもらうか、新しくグループを作成してください。" noHistory: "履歴はありません" disableAnimatedMfm: "動きのあるMFMを無効にする" @@ -453,6 +464,8 @@ none: "なし" volume: "音量" details: "詳細" chooseEmoji: "絵文字を選択" +unableToProcess: "操作を完了できません" +recentUsed: "最近使用" _sfx: note: "ノート" @@ -679,45 +692,39 @@ _pages: newPage: "ページの作成" editPage: "ページの編集" readPage: "ソースを表示中" - page-created: "ページを作成しました" - page-updated: "ページを更新しました" - name-already-exists: "指定されたページURLは既に存在しています" - title-invalid-name: "不正なページURLです" - text-invalid-name: "空白でないか確認してください" + created: "ページを作成しました" + updated: "ページを更新しました" + deleted: "ページを削除しました" + nameAlreadyExists: "指定されたページURLは既に存在しています" + invalidNameTitle: "不正なページURLです" + invalidNameText: "空白でないか確認してください" editThisPage: "このページを編集" viewSource: "ソースを表示" viewPage: "ページを見る" like: "いいね" unlike: "いいね解除" - liked-pages: "いいねしたページ" - my-pages: "自分のページ" + my: "自分のページ" + liked: "いいねしたページ" inspector: "インスペクター" content: "ページブロック" variables: "変数" - variables-info: "変数を使うことで動的なページを作成できます。テキスト内で { 変数名 } と書くとそこに変数の値を埋め込めます。例えば Hello { thing } world! というテキストで、変数(thing)の値が ai だった場合、テキストは Hello ai world! になります。" - variables-info2: "変数の評価(値を算出すること)は上から下に行われるので、ある変数の中で自分より下の変数を参照することはできません。例えば上から A、B、C と3つの変数を定義したとき、Cの中でABを参照することはできますが、Aの中でBCを参照することはできません。" - variables-info3: "ユーザーからの入力を受け取るには、ページに「ユーザー入力」ブロックを設置し、「変数名」に入力を格納したい変数名を設定します(変数は自動で作成されます)。その変数を使ってユーザー入力に応じた動作を行えます。" - variables-info4: "関数を使うと、値の算出処理を再利用可能な形にまとめることができます。関数を作るには、「関数」タイプの変数を作成します。関数にはスロット(引数)を設定することができ、スロットの値は関数内で変数として利用可能です。また、AiScript標準で関数を引数に取る関数(高階関数と呼ばれます)も存在します。関数は予め定義しておくほかに、このような高階関数のスロットに即席でセットすることもできます。" - more-details: "詳しい説明" title: "タイトル" url: "ページURL" summary: "ページの要約" alignCenter: "中央寄せ" - hide-title-when-pinned: "ピン留めされているときにタイトルを非表示" + hideTitleWhenPinned: "ピン留めされているときにタイトルを非表示" font: "フォント" fontSerif: "セリフ" fontSansSerif: "サンセリフ" - set-eye-catching-image: "アイキャッチ画像を設定" - remove-eye-catching-image: "アイキャッチ画像を削除" + eyeCatchingImageSet: "アイキャッチ画像を設定" + eyeCatchingImageRemove: "アイキャッチ画像を削除" chooseBlock: "ブロックを追加" selectType: "種類を選択" enterVariableName: "変数名を決めてください" - the-variable-name-is-already-used: "その変数名は既に使われています" - content-blocks: "コンテンツ" - input-blocks: "入力" - special-blocks: "特殊" - post-from-post-form: "この内容を投稿" - posted-from-post-form: "投稿しました" + variableNameIsAlreadyUsed: "その変数名は既に使われています" + contentBlocks: "コンテンツ" + inputBlocks: "入力" + specialBlocks: "特殊" blocks: text: "テキスト" textarea: "テキストエリア" diff --git a/src/client/components/drive.file.vue b/src/client/components/drive.file.vue index 2ef3fd38e..014e1a6ca 100644 --- a/src/client/components/drive.file.vue +++ b/src/client/components/drive.file.vue @@ -139,9 +139,9 @@ export default Vue.extend({ rename() { this.$root.dialog({ - title: this.$t('contextmenu.rename-file'), + title: this.$t('renameFile'), input: { - placeholder: this.$t('contextmenu.input-new-file-name'), + placeholder: this.$t('inputNewFileName'), default: this.file.name, allowEmpty: false } diff --git a/src/client/components/drive.folder.vue b/src/client/components/drive.folder.vue index 658aced3e..2e861e248 100644 --- a/src/client/components/drive.folder.vue +++ b/src/client/components/drive.folder.vue @@ -137,14 +137,14 @@ export default Vue.extend({ switch (err) { case 'detected-circular-definition': this.$root.dialog({ - title: this.$t('unable-to-process'), - text: this.$t('circular-reference-detected') + title: this.$t('unableToProcess'), + text: this.$t('circularReferenceFolder') }); break; default: this.$root.dialog({ type: 'error', - text: this.$t('unhandled-error') + text: this.$t('error') }); } }); @@ -177,9 +177,9 @@ export default Vue.extend({ rename() { this.$root.dialog({ - title: this.$t('contextmenu.rename-folder'), + title: this.$t('renameFolder'), input: { - placeholder: this.$t('contextmenu.input-new-folder-name'), + placeholder: this.$t('inputNewFolderName'), default: this.folder.name } }).then(({ canceled, result: name }) => { @@ -206,14 +206,14 @@ export default Vue.extend({ case 'b0fc8a17-963c-405d-bfbc-859a487295e1': this.$root.dialog({ type: 'error', - title: this.$t('unable-to-delete'), - text: this.$t('has-child-files-or-folders') + title: this.$t('unableToDelete'), + text: this.$t('hasChildFilesOrFolders') }); break; default: this.$root.dialog({ type: 'error', - text: this.$t('unable-to-delete') + text: this.$t('unableToDelete') }); } }); diff --git a/src/client/components/drive.vue b/src/client/components/drive.vue index bb35b156a..fddac5b9a 100644 --- a/src/client/components/drive.vue +++ b/src/client/components/drive.vue @@ -263,14 +263,14 @@ export default Vue.extend({ switch (err) { case 'detected-circular-definition': this.$root.dialog({ - title: this.$t('unable-to-process'), - text: this.$t('circular-reference-detected') + title: this.$t('unableToProcess'), + text: this.$t('circularReferenceFolder') }); break; default: this.$root.dialog({ type: 'error', - text: this.$t('unhandled-error') + text: this.$t('error') }); } }); @@ -284,9 +284,9 @@ export default Vue.extend({ urlUpload() { this.$root.dialog({ - title: this.$t('url-upload'), + title: this.$t('uploadFromUrl'), input: { - placeholder: this.$t('url-of-file') + placeholder: this.$t('uploadFromUrlDescription') } }).then(({ canceled, result: url }) => { if (canceled) return; @@ -296,17 +296,17 @@ export default Vue.extend({ }); this.$root.dialog({ - title: this.$t('url-upload-requested'), - text: this.$t('may-take-time') + title: this.$t('uploadFromUrlRequested'), + text: this.$t('uploadFromUrlMayTakeTime') }); }); }, createFolder() { this.$root.dialog({ - title: this.$t('create-folder'), + title: this.$t('createFolder'), input: { - placeholder: this.$t('folder-name') + placeholder: this.$t('folderName') } }).then(({ canceled, result: name }) => { if (canceled) return; @@ -321,9 +321,9 @@ export default Vue.extend({ renameFolder(folder) { this.$root.dialog({ - title: this.$t('contextmenu.rename-folder'), + title: this.$t('renameFolder'), input: { - placeholder: this.$t('contextmenu.input-new-folder-name'), + placeholder: this.$t('inputNewFolderName'), default: folder.name } }).then(({ canceled, result: name }) => { @@ -349,14 +349,14 @@ export default Vue.extend({ case 'b0fc8a17-963c-405d-bfbc-859a487295e1': this.$root.dialog({ type: 'error', - title: this.$t('unable-to-delete'), - text: this.$t('has-child-files-or-folders') + title: this.$t('unableToDelete'), + text: this.$t('hasChildFilesOrFolders') }); break; default: this.$root.dialog({ type: 'error', - text: this.$t('unable-to-delete') + text: this.$t('unableToDelete') }); } }); diff --git a/src/client/components/emoji-picker.vue b/src/client/components/emoji-picker.vue index a647b0ea0..e346023f2 100644 --- a/src/client/components/emoji-picker.vue +++ b/src/client/components/emoji-picker.vue @@ -2,12 +2,11 @@
- @@ -15,7 +14,7 @@
-
{{ categories.find(x => x.isActive).text }}