diff --git a/locales/en.yml b/locales/en.yml index 80e60b2b38..1afe1328ee 100644 --- a/locales/en.yml +++ b/locales/en.yml @@ -123,6 +123,71 @@ common: desktop: tags: + mk-drive-browser-base-contextmenu: + create-folder: "フォルダーを作成" + upload: "ファイルをアップロード" + url-upload: "URLからアップロード" + + mk-drive-browser-window: + used: "使用中" + drive: "ドライブ" + + mk-drive-browser: + search: "検索" + load-more: "もっと読み込む" + empty-draghover: "ドロップですか?いいですよ、ボクはカワイイですからね" + empty-drive: "ドライブには何もありません。" + empty-drive-description: "右クリックして「ファイルをアップロード」を選んだり、ファイルをドラッグ&ドロップすることでもアップロードできます。" + empty-folder: "このフォルダーは空です" + unable-to-process: "操作を完了できません" + circular-reference-detected: "移動先のフォルダーは、移動するフォルダーのサブフォルダーです。" + ok: "OK" + unhandled-error: "不明なエラー" + url-upload: "URLアップロード" + url-of-file: "アップロードしたいファイルのURL" + url-upload-requested: "アップロードをリクエストしました" + may-take-time: "アップロードが完了するまで時間がかかる場合があります。" + create-folder: "フォルダー作成" + folder-name: "フォルダー名" + + mk-drive-browser-file-contextmenu: + rename: "名前を変更" + copy-url: "URLをコピー" + download: "ダウンロード" + delete: "削除" + else-files: "その他..." + set-as-avatar: "アバターに設定" + set-as-banner: "バナーに設定" + open-in-app: "アプリで開く" + add-app: "アプリを追加" + rename-file: "ファイル名の変更" + input-new-file-name: "新しいファイル名を入力してください" + copied: "コピー完了" + copied-url-to-clipboard: "URLをクリップボードにコピーしました" + ok: "OK" + + mk-drive-browser-file: + avatar: "アバター" + banner: "バナー" + wallpaper: "壁紙" + + mk-drive-browser-folder-contextmenu: + move-to-this-folder: "このフォルダへ移動" + show-in-new-window: "新しいウィンドウで表示" + rename: "名前を変更" + delete: "削除" + rename-folder: "フォルダ名の変更" + input-new-folder-name: "新しいフォルダ名を入力してください" + + mk-drive-browser-folder: + unable-to-process: "操作を完了できません" + circular-reference-detected: "移動先のフォルダーは、移動するフォルダーのサブフォルダーです。" + ok: "OK" + unhandled-error: "不明なエラー" + + mk-drive-browser-nav-folder: + drive: "ドライブ" + mk-ui-header-nav: home: "Home" messaging: "Messages" diff --git a/locales/ja.yml b/locales/ja.yml index b6bce9362c..06a72fb04d 100644 --- a/locales/ja.yml +++ b/locales/ja.yml @@ -123,6 +123,71 @@ common: desktop: tags: + mk-drive-browser-base-contextmenu: + create-folder: "フォルダーを作成" + upload: "ファイルをアップロード" + url-upload: "URLからアップロード" + + mk-drive-browser-window: + used: "使用中" + drive: "ドライブ" + + mk-drive-browser: + search: "検索" + load-more: "もっと読み込む" + empty-draghover: "ドロップですか?いいですよ、ボクはカワイイですからね" + empty-drive: "ドライブには何もありません。" + empty-drive-description: "右クリックして「ファイルをアップロード」を選んだり、ファイルをドラッグ&ドロップすることでもアップロードできます。" + empty-folder: "このフォルダーは空です" + unable-to-process: "操作を完了できません" + circular-reference-detected: "移動先のフォルダーは、移動するフォルダーのサブフォルダーです。" + ok: "OK" + unhandled-error: "不明なエラー" + url-upload: "URLアップロード" + url-of-file: "アップロードしたいファイルのURL" + url-upload-requested: "アップロードをリクエストしました" + may-take-time: "アップロードが完了するまで時間がかかる場合があります。" + create-folder: "フォルダー作成" + folder-name: "フォルダー名" + + mk-drive-browser-file-contextmenu: + rename: "名前を変更" + copy-url: "URLをコピー" + download: "ダウンロード" + delete: "削除" + else-files: "その他..." + set-as-avatar: "アバターに設定" + set-as-banner: "バナーに設定" + open-in-app: "アプリで開く" + add-app: "アプリを追加" + rename-file: "ファイル名の変更" + input-new-file-name: "新しいファイル名を入力してください" + copied: "コピー完了" + copied-url-to-clipboard: "URLをクリップボードにコピーしました" + ok: "OK" + + mk-drive-browser-file: + avatar: "アバター" + banner: "バナー" + wallpaper: "壁紙" + + mk-drive-browser-folder-contextmenu: + move-to-this-folder: "このフォルダへ移動" + show-in-new-window: "新しいウィンドウで表示" + rename: "名前を変更" + delete: "削除" + rename-folder: "フォルダ名の変更" + input-new-folder-name: "新しいフォルダ名を入力してください" + + mk-drive-browser-folder: + unable-to-process: "操作を完了できません" + circular-reference-detected: "移動先のフォルダーは、移動するフォルダーのサブフォルダーです。" + ok: "OK" + unhandled-error: "不明なエラー" + + mk-drive-browser-nav-folder: + drive: "ドライブ" + mk-ui-header-nav: home: "ホーム" messaging: "メッセージ" diff --git a/src/web/app/desktop/tags/drive/base-contextmenu.tag b/src/web/app/desktop/tags/drive/base-contextmenu.tag index 2a95de0cd5..8b01de9248 100644 --- a/src/web/app/desktop/tags/drive/base-contextmenu.tag +++ b/src/web/app/desktop/tags/drive/base-contextmenu.tag @@ -2,13 +2,13 @@ <mk-contextmenu ref="ctx"> <ul> <li onclick={ parent.createFolder }> - <p><i class="fa fa-folder-o"></i>フォルダーを作成</p> + <p><i class="fa fa-folder-o"></i>%i18n:desktop.tags.mk-drive-browser-base-contextmenu.create-folder%</p> </li> <li onclick={ parent.upload }> - <p><i class="fa fa-upload"></i>ファイルをアップロード</p> + <p><i class="fa fa-upload"></i>%i18n:desktop.tags.mk-drive-browser-base-contextmenu.upload%</p> </li> <li onclick={ parent.urlUpload }> - <p><i class="fa fa-cloud-upload"></i>URLからアップロード</p> + <p><i class="fa fa-cloud-upload"></i>%i18n:desktop.tags.mk-drive-browser-base-contextmenu.url-upload%</p> </li> </ul> </mk-contextmenu> diff --git a/src/web/app/desktop/tags/drive/browser-window.tag b/src/web/app/desktop/tags/drive/browser-window.tag index a658e36063..f20855dfe4 100644 --- a/src/web/app/desktop/tags/drive/browser-window.tag +++ b/src/web/app/desktop/tags/drive/browser-window.tag @@ -1,8 +1,8 @@ <mk-drive-browser-window> <mk-window ref="window" is-modal={ false } width={ '800px' } height={ '500px' }> <yield to="header"> - <p class="info" if={ parent.usage }><b>{ parent.usage.toFixed(1) }%</b>使用中</p> - <i class="fa fa-cloud"></i>ドライブ + <p class="info" if={ parent.usage }><b>{ parent.usage.toFixed(1) }%</b> %i18n:desktop.tags.mk-drive-browser-window.used%</p> + <i class="fa fa-cloud"></i>%i18n:desktop.tags.mk-drive-browser-window.drive% </yield> <yield to="content"> <mk-drive-browser multiple={ true } folder={ parent.folder }></mk-drive-browser> diff --git a/src/web/app/desktop/tags/drive/browser.tag b/src/web/app/desktop/tags/drive/browser.tag index 49531a6a50..12e1923215 100644 --- a/src/web/app/desktop/tags/drive/browser.tag +++ b/src/web/app/desktop/tags/drive/browser.tag @@ -6,7 +6,7 @@ <mk-drive-browser-nav-folder folder={ folder }></mk-drive-browser-nav-folder> </virtual><span class="separator" if={ folder != null }><i class="fa fa-angle-right"></i></span><span class="folder current" if={ folder != null }>{ folder.name }</span> </div> - <input class="search" type="search" placeholder=" 検索"/> + <input class="search" type="search" placeholder=" %i18n:desktop.tags.mk-drive-browser.search%"/> </nav> <div class="main { uploading: uploads.length > 0, fetching: fetching }" ref="main" onmousedown={ onmousedown } ondragover={ ondragover } ondragenter={ ondragenter } ondragleave={ ondragleave } ondrop={ ondrop } oncontextmenu={ oncontextmenu }> <div class="selection" ref="selection"></div> @@ -15,18 +15,18 @@ <virtual each={ folder in folders }> <mk-drive-browser-folder class="folder" folder={ folder }></mk-drive-browser-folder> </virtual> - <button if={ moreFolders }>もっと読み込む</button> + <button if={ moreFolders }>%i18n:desktop.tags.mk-drive-browser.load-more%</button> </div> <div class="files" ref="filesContainer" if={ files.length > 0 }> <virtual each={ file in files }> <mk-drive-browser-file class="file" file={ file }></mk-drive-browser-file> </virtual> - <button if={ moreFiles } onclick={ fetchMoreFiles }>もっと読み込む</button> + <button if={ moreFiles } onclick={ fetchMoreFiles }>%i18n:desktop.tags.mk-drive-browser.load-more%</button> </div> <div class="empty" if={ files.length == 0 && folders.length == 0 && !fetching }> - <p if={ draghover }>ドロップですか?いいですよ、ボクはカワイイですからね</p> - <p if={ !draghover && folder == null }><strong>ドライブには何もありません。</strong><br/>右クリックして「ファイルをアップロード」を選んだり、ファイルをドラッグ&ドロップすることでもアップロードできます。</p> - <p if={ !draghover && folder != null }>このフォルダーは空です</p> + <p if={ draghover }>%i18n:desktop.tags.mk-drive-browser.empty-draghover%</p> + <p if={ !draghover && folder == null }><strong>%i18n:desktop.tags.mk-drive-browser.empty-drive%</strong><br/>%i18n:desktop.tags.mk-drive-browser.empty-drive-description%</p> + <p if={ !draghover && folder != null }>%i18n:desktop.tags.mk-drive-browser.empty-folder%</p> </div> </div> <div class="fetching" if={ fetching }> @@ -443,13 +443,13 @@ }).catch(err => { switch (err) { case 'detected-circular-definition': - dialog('<i class="fa fa-exclamation-triangle"></i>操作を完了できません', - '移動先のフォルダーは、移動するフォルダーのサブフォルダーです。', [{ - text: 'OK' + dialog('<i class="fa fa-exclamation-triangle"></i>%i18n:desktop.tags.mk-drive-browser.unable-to-process%', + '%i18n:desktop.tags.mk-drive-browser.circular-reference-detected%', [{ + text: '%i18n:desktop.tags.mk-drive-browser.ok%' }]); break; default: - alert('不明なエラー' + err); + alert('%i18n:desktop.tags.mk-drive-browser.unhandled-error% ' + err); } }); } @@ -477,21 +477,21 @@ }; this.urlUpload = () => { - inputDialog('URLアップロード', 'アップロードしたいファイルのURL', null, url => { + inputDialog('%i18n:desktop.tags.mk-drive-browser.url-upload%', '%i18n:desktop.tags.mk-drive-browser.url-of-file%', null, url => { this.api('drive/files/upload_from_url', { url: url, folder_id: this.folder ? this.folder.id : undefined }); - dialog('<i class="fa fa-check"></i>アップロードをリクエストしました', - 'アップロードが完了するまで時間がかかる場合があります。', [{ - text: 'OK' + dialog('<i class="fa fa-check"></i>%i18n:desktop.tags.mk-drive-browser.url-upload-requested%', + '%i18n:desktop.tags.mk-drive-browser.may-take-time%', [{ + text: '%i18n:desktop.tags.mk-drive-browser.ok%' }]); }); }; this.createFolder = () => { - inputDialog('フォルダー作成', 'フォルダー名', null, name => { + inputDialog('%i18n:desktop.tags.mk-drive-browser.create-folder%', '%i18n:desktop.tags.mk-drive-browser.folder-name%', null, name => { this.api('drive/folders/create', { name: name, folder_id: this.folder ? this.folder.id : undefined diff --git a/src/web/app/desktop/tags/drive/file-contextmenu.tag b/src/web/app/desktop/tags/drive/file-contextmenu.tag index b4b681242f..d80ba49f9a 100644 --- a/src/web/app/desktop/tags/drive/file-contextmenu.tag +++ b/src/web/app/desktop/tags/drive/file-contextmenu.tag @@ -2,33 +2,33 @@ <mk-contextmenu ref="ctx"> <ul> <li onclick={ parent.rename }> - <p><i class="fa fa-i-cursor"></i>名前を変更</p> + <p><i class="fa fa-i-cursor"></i>%i18n:desktop.tags.mk-drive-browser-file-contextmenu.rename%</p> </li> <li onclick={ parent.copyUrl }> - <p><i class="fa fa-link"></i>URLをコピー</p> + <p><i class="fa fa-link"></i>%i18n:desktop.tags.mk-drive-browser-file-contextmenu.copy-url%</p> </li> - <li><a href={ parent.file.url + '?download' } download={ parent.file.name } onclick={ parent.download }><i class="fa fa-download"></i>ダウンロード</a></li> + <li><a href={ parent.file.url + '?download' } download={ parent.file.name } onclick={ parent.download }><i class="fa fa-download"></i>%i18n:desktop.tags.mk-drive-browser-file-contextmenu.download%</a></li> <li class="separator"></li> <li onclick={ parent.delete }> - <p><i class="fa fa-trash-o"></i>削除</p> + <p><i class="fa fa-trash-o"></i>%i18n:desktop.tags.mk-drive-browser-file-contextmenu.delete%</p> </li> <li class="separator"></li> <li class="has-child"> - <p>その他...<i class="fa fa-caret-right"></i></p> + <p>%i18n:desktop.tags.mk-drive-browser-file-contextmenu.else-files%<i class="fa fa-caret-right"></i></p> <ul> <li onclick={ parent.setAvatar }> - <p>アバターに設定</p> + <p>%i18n:desktop.tags.mk-drive-browser-file-contextmenu.set-as-avatar%</p> </li> <li onclick={ parent.setBanner }> - <p>バナーに設定</p> + <p>%i18n:desktop.tags.mk-drive-browser-file-contextmenu.set-as-banner%</p> </li> </ul> </li> <li class="has-child"> - <p>アプリで開く...<i class="fa fa-caret-right"></i></p> + <p>%i18n:desktop.tags.mk-drive-browser-file-contextmenu.open-in-app%...<i class="fa fa-caret-right"></i></p> <ul> <li onclick={ parent.addApp }> - <p>アプリを追加...</p> + <p>%i18n:desktop.tags.mk-drive-browser-file-contextmenu.add-app%...</p> </li> </ul> </li> @@ -61,7 +61,7 @@ this.rename = () => { this.refs.ctx.close(); - inputDialog('ファイル名の変更', '新しいファイル名を入力してください', this.file.name, name => { + inputDialog('%i18n:desktop.tags.mk-drive-browser-file-contextmenu.rename-file%', '%i18n:desktop.tags.mk-drive-browser-file-contextmenu.input-new-file-name%', this.file.name, name => { this.api('drive/files/update', { file_id: this.file.id, name: name @@ -72,9 +72,9 @@ this.copyUrl = () => { copyToClipboard(this.file.url); this.refs.ctx.close(); - dialog('<i class="fa fa-check"></i>コピー完了', - 'ファイルのURLをクリップボードにコピーしました', [{ - text: 'わー' + dialog('<i class="fa fa-check"></i>%i18n:desktop.tags.mk-drive-browser-file-contextmenu.copied%', + '%i18n:desktop.tags.mk-drive-browser-file-contextmenu.copied-url-to-clipboard%', [{ + text: '%i18n:desktop.tags.mk-drive-browser-file-contextmenu.ok%' }]); }; diff --git a/src/web/app/desktop/tags/drive/file.tag b/src/web/app/desktop/tags/drive/file.tag index 98e8a98a13..64838d6814 100644 --- a/src/web/app/desktop/tags/drive/file.tag +++ b/src/web/app/desktop/tags/drive/file.tag @@ -1,12 +1,12 @@ <mk-drive-browser-file data-is-selected={ isSelected } data-is-contextmenu-showing={ isContextmenuShowing.toString() } onclick={ onclick } oncontextmenu={ oncontextmenu } draggable="true" ondragstart={ ondragstart } ondragend={ ondragend } title={ title }> <div class="label" if={ I.avatar_id == file.id }><img src="/assets/label.svg"/> - <p>アバター</p> + <p>%i18n:desktop.tags.mk-drive-browser-file.avatar%</p> </div> <div class="label" if={ I.banner_id == file.id }><img src="/assets/label.svg"/> - <p>バナー</p> + <p>%i18n:desktop.tags.mk-drive-browser-file.banner%</p> </div> <div class="label" if={ I.data.wallpaper == file.id }><img src="/assets/label.svg"/> - <p>壁紙</p> + <p>%i18n:desktop.tags.mk-drive-browser-file.wallpaper%</p> </div> <div class="thumbnail"><img src={ file.url + '?thumbnail&size=128' } alt=""/></div> <p class="name"><span>{ file.name.lastIndexOf('.') != -1 ? file.name.substr(0, file.name.lastIndexOf('.')) : file.name }</span><span class="ext" if={ file.name.lastIndexOf('.') != -1 }>{ file.name.substr(file.name.lastIndexOf('.')) }</span></p> diff --git a/src/web/app/desktop/tags/drive/folder-contextmenu.tag b/src/web/app/desktop/tags/drive/folder-contextmenu.tag index a1f0947f39..8ac5da6548 100644 --- a/src/web/app/desktop/tags/drive/folder-contextmenu.tag +++ b/src/web/app/desktop/tags/drive/folder-contextmenu.tag @@ -2,18 +2,18 @@ <mk-contextmenu ref="ctx"> <ul> <li onclick={ parent.move }> - <p><i class="fa fa-arrow-right"></i>このフォルダへ移動</p> + <p><i class="fa fa-arrow-right"></i>%i18n:desktop.tags.mk-drive-browser-folder-contextmenu.move-to-this-folder%</p> </li> <li onclick={ parent.newWindow }> - <p><i class="fa fa-share-square-o"></i>新しいウィンドウで表示</p> + <p><i class="fa fa-share-square-o"></i>%i18n:desktop.tags.mk-drive-browser-folder-contextmenu.show-in-new-window%</p> </li> <li class="separator"></li> <li onclick={ parent.rename }> - <p><i class="fa fa-i-cursor"></i>名前を変更</p> + <p><i class="fa fa-i-cursor"></i>%i18n:desktop.tags.mk-drive-browser-folder-contextmenu.rename%</p> </li> <li class="separator"></li> <li onclick={ parent.delete }> - <p><i class="fa fa-trash-o"></i>削除</p> + <p><i class="fa fa-trash-o"></i>%i18n:desktop.tags.mk-drive-browser-folder-contextmenu.delete%</p> </li> </ul> </mk-contextmenu> @@ -52,7 +52,7 @@ this.rename = () => { this.refs.ctx.close(); - inputDialog('フォルダ名の変更', '新しいフォルダ名を入力してください', this.folder.name, name => { + inputDialog('%i18n:desktop.tags.mk-drive-browser-folder-contextmenu.rename-folder%', '%i18n:desktop.tags.mk-drive-browser-folder-contextmenu.input-new-folder-name%', this.folder.name, name => { this.api('drive/folders/update', { folder_id: this.folder.id, name: name diff --git a/src/web/app/desktop/tags/drive/folder.tag b/src/web/app/desktop/tags/drive/folder.tag index c7ad43c7a0..db7963f553 100644 --- a/src/web/app/desktop/tags/drive/folder.tag +++ b/src/web/app/desktop/tags/drive/folder.tag @@ -145,13 +145,13 @@ }).catch(err => { switch (err) { case 'detected-circular-definition': - dialog('<i class="fa fa-exclamation-triangle"></i>操作を完了できません', - '移動先のフォルダーは、移動するフォルダーのサブフォルダーです。', [{ - text: 'OK' + dialog('<i class="fa fa-exclamation-triangle"></i>%i18n:desktop.tags.mk-drive-browser-folder.unable-to-process%', + '%i18n:desktop.tags.mk-drive-browser-folder.circular-reference-detected%', [{ + text: '%i18n:desktop.tags.mk-drive-browser-folder.ok%' }]); break; default: - alert('不明なエラー' + err); + alert('%i18n:desktop.tags.mk-drive-browser-folder.unhandled-error% ' + err); } }); } diff --git a/src/web/app/desktop/tags/drive/nav-folder.tag b/src/web/app/desktop/tags/drive/nav-folder.tag index 46ac26f908..c89d9edc1c 100644 --- a/src/web/app/desktop/tags/drive/nav-folder.tag +++ b/src/web/app/desktop/tags/drive/nav-folder.tag @@ -1,4 +1,4 @@ -<mk-drive-browser-nav-folder data-draghover={ draghover } onclick={ onclick } ondragover={ ondragover } ondragenter={ ondragenter } ondragleave={ ondragleave } ondrop={ ondrop }><i class="fa fa-cloud" if={ folder == null }></i><span>{ folder == null ? 'ドライブ' : folder.name }</span> +<mk-drive-browser-nav-folder data-draghover={ draghover } onclick={ onclick } ondragover={ ondragover } ondragenter={ ondragenter } ondragleave={ ondragleave } ondrop={ ondrop }><i class="fa fa-cloud" if={ folder == null }></i><span>{ folder == null ? '%i18n:desktop.tags.mk-drive-browser-nav-folder.drive%' : folder.name }</span> <style> :scope &[data-draghover]