diff --git a/res/app/components/stf/install/index.js b/res/app/components/stf/install/index.js
new file mode 100644
index 00000000..4f2e1b46
--- /dev/null
+++ b/res/app/components/stf/install/index.js
@@ -0,0 +1,4 @@
+module.exports = angular.module('stf.install-service', [
+ require('gettext').name
+])
+ .filter('installError', require('./install-error-filter'))
diff --git a/res/app/components/stf/install/install-error-filter.js b/res/app/components/stf/install/install-error-filter.js
new file mode 100644
index 00000000..cae854f5
--- /dev/null
+++ b/res/app/components/stf/install/install-error-filter.js
@@ -0,0 +1,12 @@
+// From here: https://github.com/android/platform_frameworks_base/blob/
+// master/core/java/android/content/pm/PackageManager.java#L371
+
+module.exports = function installErrorFilter(gettext) {
+ return function (text) {
+ return {
+ INSTALL_FAILED_OLDER_SDK: gettext('New package failed because the ' +
+ 'current SDK version is older than that required by the package')
+ // TODO: do the rest
+ }[text] || text
+ }
+}
diff --git a/res/app/components/stf/install/install-spec.js b/res/app/components/stf/install/install-spec.js
new file mode 100644
index 00000000..69a6450a
--- /dev/null
+++ b/res/app/components/stf/install/install-spec.js
@@ -0,0 +1,13 @@
+describe('install', function() {
+
+ beforeEach(angular.mock.module(require('./').name))
+
+ it('should ...', inject(function($filter) {
+
+ var filter = $filter('install')
+
+ expect(filter('input')).toEqual('output')
+
+ }))
+
+})
diff --git a/res/app/components/stf/language/language-provider.js b/res/app/components/stf/language/language-provider.js
index 7da909ae..763289c6 100644
--- a/res/app/components/stf/language/language-provider.js
+++ b/res/app/components/stf/language/language-provider.js
@@ -2,7 +2,7 @@
module.exports = function LanguageProvider(AppStateProvider) {
var provider = {
- selectedLanguage: 'en'
+ selectedLanguage: 'ja' // default
}
var a = AppStateProvider.$get()
diff --git a/res/app/components/stf/upload/index.js b/res/app/components/stf/upload/index.js
new file mode 100644
index 00000000..05c380e9
--- /dev/null
+++ b/res/app/components/stf/upload/index.js
@@ -0,0 +1,4 @@
+module.exports = angular.module('stf.upload-service', [
+ require('gettext').name
+])
+ .filter('uploadError', require('./upload-error-filter'))
diff --git a/res/app/components/stf/upload/upload-error-filter.js b/res/app/components/stf/upload/upload-error-filter.js
new file mode 100644
index 00000000..3f69d5d7
--- /dev/null
+++ b/res/app/components/stf/upload/upload-error-filter.js
@@ -0,0 +1,10 @@
+module.exports = function uploadErrorFilter(gettext) {
+ return function (text) {
+ return {
+ 'fail_invalid_app_file': gettext('Uploaded file is not valid'),
+ 'fail_download': gettext('Failed to download file'),
+ 'fail_invalid_url': gettext('Cannot access specified URL'),
+ 'fail': gettext('Upload failed')
+ }[text] || gettext('Upload unknown error')
+ }
+}
diff --git a/res/app/components/stf/upload/upload-spec.js b/res/app/components/stf/upload/upload-spec.js
new file mode 100644
index 00000000..539a76f4
--- /dev/null
+++ b/res/app/components/stf/upload/upload-spec.js
@@ -0,0 +1,13 @@
+describe('upload', function() {
+
+ beforeEach(angular.mock.module(require('./').name))
+
+ it('should ...', inject(function($filter) {
+
+ var filter = $filter('upload')
+
+ expect(filter('input')).toEqual('output')
+
+ }))
+
+})
diff --git a/res/app/control-panes/dashboard/upload/index.js b/res/app/control-panes/dashboard/upload/index.js
index 8d1622ec..e4c69f0c 100644
--- a/res/app/control-panes/dashboard/upload/index.js
+++ b/res/app/control-panes/dashboard/upload/index.js
@@ -6,7 +6,9 @@ module.exports = angular.module('stf.upload', [
'angularFileUpload',
require('./activities').name,
require('stf/settings').name,
- require('stf/storage').name
+ require('stf/storage').name,
+ require('stf/install').name,
+ require('stf/upload').name
])
.run(["$templateCache", function ($templateCache) {
$templateCache.put('control-panes/dashboard/upload/upload.jade',
diff --git a/res/app/control-panes/dashboard/upload/upload-controller.js b/res/app/control-panes/dashboard/upload/upload-controller.js
index 4c44f1a5..68fdb573 100644
--- a/res/app/control-panes/dashboard/upload/upload-controller.js
+++ b/res/app/control-panes/dashboard/upload/upload-controller.js
@@ -31,6 +31,7 @@ module.exports = function UploadCtrl(
$scope.$apply(function () {
$scope.upload = uploadResult
})
+
if (uploadResult.success) {
return $scope.maybeInstall(uploadResult.body)
}
@@ -93,7 +94,6 @@ module.exports = function UploadCtrl(
$scope.upload = null
}
else {
- console.log('Upload error', err)
$scope.upload = {
progress: 100
, lastData: 'fail'
@@ -105,6 +105,7 @@ module.exports = function UploadCtrl(
})
}
+
$scope.maybeInstall = function (options) {
if ($scope.installEnabled) {
return $scope.control.install(options)
@@ -120,6 +121,7 @@ module.exports = function UploadCtrl(
installResult.manifest = options.manifest
$scope.treeData = installResult.manifest
$scope.installation = installResult
+ $scope.installationError = installResult.error
})
})
}
diff --git a/res/app/control-panes/dashboard/upload/upload.jade b/res/app/control-panes/dashboard/upload/upload.jade
index 62f06d6c..05805991 100644
--- a/res/app/control-panes/dashboard/upload/upload.jade
+++ b/res/app/control-panes/dashboard/upload/upload.jade
@@ -10,8 +10,8 @@
input(type='checkbox', ng-model='installEnabled')
span(translate) Install
- .widget-content.padded(style='padding: 0; padding-bottom: 15px;')
- // TODO: remove padding-bottom when drop file is implemented
+ .widget-content.padded()
+ //.widget-content.padded(style='padding: 0; padding-bottom: 15px;')
//.col-md-10.col-md-offset-1
//.input-group.form-inline
@@ -31,24 +31,6 @@
//treecontrol.tree-classic(tree-model='treeData', options='treeOptions')
span employee: {{node.name}} age {{node.age}}
- pre(ng-if='upload.error') Error: {{ upload.error }}
- p(translate) Error
- div(ng-switch='upload.error')
- strong(ng-switch-when='fail_invalid_app_file')
- span(translate) Uploaded file is not valid
- strong(ng-switch-when='fail_download')
- span(translate) Failed to download file
- strong(ng-switch-when='fail_invalid_url')
- span(translate) Cannot access specified URL
- strong(ng-switch-when='fail')
- span(translate) Upload failed
- strong(ng-switch-default)
- span Error code: {{ upload.error }}
-
- //.upload-status(ng-if='upload && !upload.settled')
- progressbar(max='100', value='upload.progress', ng-if='!upload.settled',
- ng-class='{"active": !upload.settled}').progress-striped
-
.upload-status(ng-if='upload || installation')
accordion(close-others='false').pointer
@@ -96,3 +78,12 @@
progressbar(max='100', value='taskProgress()', ng-if='!taskFinished()',
ng-class='{"active": !taskFinished()}').progress-striped
+
+
+ alert(type='danger', close='upload.error = null', ng-show='upload.error')
+ strong(translate) Error:
+ span {{ upload.error | uploadError | translate }}
+
+ alert(type='danger', close='installationError = undefined', ng-show='installationError')
+ strong(translate) Error:
+ span {{ installationError | installError | translate }} ({{ installationError }})
diff --git a/res/app/layout/stf-styles.css b/res/app/layout/stf-styles.css
index 4970c8cb..59046f0c 100644
--- a/res/app/layout/stf-styles.css
+++ b/res/app/layout/stf-styles.css
@@ -403,3 +403,14 @@ input {
.transparent-border {
border: 1px solid transparent;
}
+
+/* Bootstrap close button is misaligned for some reason */
+.alert-dismissable .close,
+.alert-dismissible .close {
+ right: auto;
+}
+
+/* Reset alert margin */
+.alert {
+ margin-bottom: 0;
+}
diff --git a/res/common/lang/po/stf.ja.po b/res/common/lang/po/stf.ja.po
index 0cfcef53..0f8c107e 100644
--- a/res/common/lang/po/stf.ja.po
+++ b/res/common/lang/po/stf.ja.po
@@ -130,10 +130,6 @@ msgstr "バッテリー温度"
msgid "Bluetooth"
msgstr "Bluetooth"
-#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/browser/browser.html
-msgid "Browser"
-msgstr "ブラウザ"
-
#: /Users/a12907/STF/stf/res/app/components/stf/device/device-info-filter/index.js
msgid "Busy"
msgstr "貸し出し中"
@@ -150,7 +146,7 @@ msgstr "CPU"
msgid "Camera"
msgstr "カメラ"
-#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/upload/upload.html
+#: /Users/a12907/STF/stf/res/app/components/stf/upload/upload-error-filter.js
msgid "Cannot access specified URL"
msgstr "指定されたURLはアクセスできません"
@@ -305,13 +301,6 @@ msgstr "放電中"
msgid "Disconnected"
msgstr "切断中"
-#: /Users/a12907/STF/stf/res/app/components/stf/socket/socket-state/socket-state-directive.js
-msgid ""
-"Disconnected.
Socket connection was lost, try again reloading the page."
-msgstr ""
-"接続が切れました。
ソケット接続が失われました。もう一度ページを再ロード"
-"してみてください。"
-
#: /Users/a12907/STF/stf/tmp/html/app/control-panes/info/info.html
msgid "Display"
msgstr "ディスプレー"
@@ -344,10 +333,6 @@ msgstr "通知を有効にする"
msgid "Encrypted"
msgstr "暗号化"
-#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/upload/upload.html
-msgid "Error"
-msgstr "エラー"
-
#: /Users/a12907/STF/stf/res/app/components/stf/control/control-service.js
msgid "Error while getting data"
msgstr "データ取得中にエラーが発生しました。"
@@ -360,6 +345,10 @@ msgstr "再接続中にエラーが発生しました。"
msgid "Error."
msgstr "エラー"
+#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/upload/upload.html
+msgid "Error:"
+msgstr "エラー:"
+
#: /Users/a12907/STF/stf/res/app/control-panes/advanced/port-forwarding/port-forwarding-controller.js
msgid "Error: Forwarding ports failed."
msgstr "エラー:ポートフォワーディングが失敗しました。"
@@ -372,7 +361,7 @@ msgstr "イーサーネット"
msgid "FPS"
msgstr "FPS"
-#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/upload/upload.html
+#: /Users/a12907/STF/stf/res/app/components/stf/upload/upload-error-filter.js
msgid "Failed to download file"
msgstr "ファイルのダウンロードが失敗しした。"
@@ -599,6 +588,14 @@ msgstr "ブラウジング"
msgid "Network"
msgstr "ネットワーク"
+#: /Users/a12907/STF/stf/res/app/components/stf/install/install-error-filter.js
+msgid ""
+"New package failed because the current SDK version is older than that "
+"required by the package"
+msgstr ""
+"この端末のSDKバージョンがパッケージが必要としているSDKのバージョンより古いた"
+"め、失敗しました。"
+
#: /Users/a12907/STF/stf/tmp/html/app/control-panes/advanced/input/input.html
msgid "Next"
msgstr "次"
@@ -631,6 +628,10 @@ msgstr "写真はありません"
msgid "No screenshots taken"
msgstr "キャプチャはありません"
+#: /Users/a12907/STF/stf/tmp/html/app/control-panes/automation/device-settings/device-settings.html
+msgid "Normal Mode"
+msgstr "通常モード"
+
#: /Users/a12907/STF/stf/res/app/components/stf/device/device-info-filter/index.js
msgid "Not Charging"
msgstr "充電されていない"
@@ -805,22 +806,10 @@ msgstr "正常に再接続しました。"
msgid "Record"
msgstr "記録する"
-#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/shell/shell.html
-msgid "Reference"
-msgstr "参考"
-
#: /Users/a12907/STF/stf/tmp/html/app/components/stf/common-ui/refresh-page/refresh-page.html
msgid "Refresh"
msgstr "更新"
-#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/browser/browser.html
-msgid "Relaunch"
-msgstr "再起動"
-
-#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/browser/browser.html
-msgid "Relaunch the browser"
-msgstr "ブラウザを再起動する"
-
#: /Users/a12907/STF/stf/tmp/html/app/control-panes/info/info.html
#: /Users/a12907/STF/stf/res/app/device-list/device-column-service.js
msgid "Released"
@@ -831,13 +820,11 @@ msgstr "発売日"
msgid "Reload"
msgstr "再読込"
-#: /Users/a12907/STF/stf/tmp/html/app/control-panes/advanced/remote-debug/remote-debug.html
#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/remote-debug/remote-debug.html
msgid "Remote debug"
msgstr "リモートデバッグ"
#: /Users/a12907/STF/stf/tmp/html/app/device-list/device-list.html
-#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/browser/browser.html
#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/navigation/navigation.html
msgid "Reset"
msgstr "初期化"
@@ -846,7 +833,6 @@ msgstr "初期化"
msgid "Reset Settings"
msgstr "すべての設定をリセット"
-#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/browser/browser.html
#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/navigation/navigation.html
msgid "Reset all browser settings"
msgstr "ブラウザの設定をリセットする"
@@ -895,17 +881,20 @@ msgstr "JavaScript注入"
msgid "Run command"
msgstr "コマンドを実行する"
-#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/remote-debug/remote-debug.html
+#: /Users/a12907/STF/stf/res/app/control-panes/dashboard/remote-debug/remote-debug-controller.js
+msgid ""
+"Run the following on your command line to debug the device from your Browser"
+msgstr ""
+"次のコマンドをコマンドラインで実行しますと、お使いのブラウザより端末のデバッ"
+"グができます。"
+
+#: /Users/a12907/STF/stf/res/app/control-panes/dashboard/remote-debug/remote-debug-controller.js
msgid ""
"Run the following on your command line to debug the device from your IDE"
msgstr ""
"次のコマンドをコマンドラインで実行しますと、お使いのIDEより端末のデバッグがで"
"きます。"
-#: /Users/a12907/STF/stf/tmp/html/app/control-panes/advanced/remote-debug/remote-debug.html
-msgid "Run the following on your command line:"
-msgstr "次のコマンドをコマンドラインで実行してください。"
-
#: /Users/a12907/STF/stf/tmp/html/app/control-panes/info/info.html
msgid "SD Card Mounted"
msgstr "SDカード"
@@ -980,6 +969,14 @@ msgstr "サインイン"
msgid "Sign Out"
msgstr "サインアウト"
+#: /Users/a12907/STF/stf/tmp/html/app/control-panes/automation/device-settings/device-settings.html
+msgid "Silent Mode"
+msgstr "マナーモード"
+
+#: /Users/a12907/STF/stf/res/app/components/stf/socket/socket-state/socket-state-directive.js
+msgid "Socket connection was lost, try again reloading the page."
+msgstr "接続が切れました。ページをリロードしてみてください。"
+
#: /Users/a12907/STF/stf/res/app/components/stf/device/device-info-filter/index.js
msgid "Someone stole your device."
msgstr "誰かはデバイスを盗みました。"
@@ -1111,10 +1108,15 @@ msgid "Upload complete"
msgstr "アップロードが完了しました"
#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/upload/upload.html
+#: /Users/a12907/STF/stf/res/app/components/stf/upload/upload-error-filter.js
msgid "Upload failed"
msgstr "アップロードが失敗しました"
-#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/upload/upload.html
+#: /Users/a12907/STF/stf/res/app/components/stf/upload/upload-error-filter.js
+msgid "Upload unknown error"
+msgstr "アップロード未知エラー"
+
+#: /Users/a12907/STF/stf/res/app/components/stf/upload/upload-error-filter.js
msgid "Uploaded file is not valid"
msgstr "アップロードされたファイル"
@@ -1162,6 +1164,10 @@ msgstr "バージョン"
msgid "Version Update"
msgstr "バージョンアップ"
+#: /Users/a12907/STF/stf/tmp/html/app/control-panes/automation/device-settings/device-settings.html
+msgid "Vibrate Mode"
+msgstr "マナーモード(バイブON)"
+
#: /Users/a12907/STF/stf/tmp/html/app/control-panes/info/info.html
msgid "Voltage"
msgstr "電圧"
@@ -1186,6 +1192,10 @@ msgstr "Web"
msgid "WiFi"
msgstr "無線LAN"
+#: /Users/a12907/STF/stf/tmp/html/app/control-panes/automation/device-settings/device-settings.html
+msgid "WiFi Enabled"
+msgstr "無線LAN:ON"
+
#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/apps/apps.html
msgid "WiFi Settings"
msgstr "無線LAN設定"
@@ -1230,6 +1240,21 @@ msgstr "{{ device.enhancedName }}のステータス:"
msgid "{{ device.enhancedName }} was disconnected"
msgstr "{{ device.enhancedName }}への接続が切れました"
+#~ msgid "Browser"
+#~ msgstr "ブラウザ"
+
+#~ msgid "Reference"
+#~ msgstr "参考"
+
+#~ msgid "Relaunch"
+#~ msgstr "再起動"
+
+#~ msgid "Relaunch the browser"
+#~ msgstr "ブラウザを再起動する"
+
+#~ msgid "Run the following on your command line:"
+#~ msgstr "次のコマンドをコマンドラインで実行してください。"
+
#~ msgid "Remove Accounts"
#~ msgstr "アカウント削除"
diff --git a/res/common/lang/po/stf.pot b/res/common/lang/po/stf.pot
index e9dfb20e..65a7c9d6 100644
--- a/res/common/lang/po/stf.pot
+++ b/res/common/lang/po/stf.pot
@@ -142,7 +142,7 @@ msgstr ""
msgid "Camera"
msgstr ""
-#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/upload/upload.html
+#: /Users/a12907/STF/stf/res/app/components/stf/upload/upload-error-filter.js
msgid "Cannot access specified URL"
msgstr ""
@@ -329,10 +329,6 @@ msgstr ""
msgid "Encrypted"
msgstr ""
-#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/upload/upload.html
-msgid "Error"
-msgstr ""
-
#: /Users/a12907/STF/stf/res/app/components/stf/control/control-service.js
msgid "Error while getting data"
msgstr ""
@@ -345,6 +341,10 @@ msgstr ""
msgid "Error."
msgstr ""
+#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/upload/upload.html
+msgid "Error:"
+msgstr ""
+
#: /Users/a12907/STF/stf/res/app/control-panes/advanced/port-forwarding/port-forwarding-controller.js
msgid "Error: Forwarding ports failed."
msgstr ""
@@ -357,7 +357,7 @@ msgstr ""
msgid "FPS"
msgstr ""
-#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/upload/upload.html
+#: /Users/a12907/STF/stf/res/app/components/stf/upload/upload-error-filter.js
msgid "Failed to download file"
msgstr ""
@@ -584,6 +584,10 @@ msgstr ""
msgid "Network"
msgstr ""
+#: /Users/a12907/STF/stf/res/app/components/stf/install/install-error-filter.js
+msgid "New package failed because the current SDK version is older than that required by the package"
+msgstr ""
+
#: /Users/a12907/STF/stf/tmp/html/app/control-panes/advanced/input/input.html
msgid "Next"
msgstr ""
@@ -1086,10 +1090,15 @@ msgid "Upload complete"
msgstr ""
#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/upload/upload.html
+#: /Users/a12907/STF/stf/res/app/components/stf/upload/upload-error-filter.js
msgid "Upload failed"
msgstr ""
-#: /Users/a12907/STF/stf/tmp/html/app/control-panes/dashboard/upload/upload.html
+#: /Users/a12907/STF/stf/res/app/components/stf/upload/upload-error-filter.js
+msgid "Upload unknown error"
+msgstr ""
+
+#: /Users/a12907/STF/stf/res/app/components/stf/upload/upload-error-filter.js
msgid "Uploaded file is not valid"
msgstr ""
diff --git a/res/common/lang/translations/stf.ja.json b/res/common/lang/translations/stf.ja.json
index ece050a8..2e5194bc 100644
--- a/res/common/lang/translations/stf.ja.json
+++ b/res/common/lang/translations/stf.ja.json
@@ -1 +1 @@
-{"ja":{"-":"-","A new version of STF is available":"STFの新しいバージョンがリリースされました","ABI":"ABI","AC":"AC","Account":"アカウント","Action":"アクション","Actions":"アクション","Activity":"アクティビティ","Add":"追加","Admin mode has been disabled.":"管理モードは無効になりました。","Admin mode has been enabled.":"管理モードは有効になりました。","Advanced":"高度機能","Advanced Input":"高度な入力","Airplane Mode":"機内モード","App":"アプリ","App Store":"アプリストア","App Upload":"アプリアップロード","Apps":"アプリ","Are you sure you want to reboot this device?":"この端末を再起動しますか?","Automation":"自動化","Available":"利用可能","Back":"戻る","Battery":"バッテリー","Battery Health":"バッテリー健康状態","Battery Level":"バッテリーレベル","Battery Source":"バッテリー電力源","Battery Status":"バッテリー状態","Battery Temp":"バッテリー温度","Bluetooth":"Bluetooth","Browser":"ブラウザ","Busy":"貸し出し中","Busy devices":"貸し出し中","CPU":"CPU","Camera":"カメラ","Cannot access specified URL":"指定されたURLはアクセスできません","Carrier":"キャリア","Category":"カテゴリー","Charging":"充電中","Chat":"チャット","Clear":"クリア","Clipboard":"クリップボード","Close":"閉じる","Cold":"コールド","Connected":"接続中","Connected successfully.":"接続できました。","Cookies":"クッキー","Cores":"コア数","Customize":"カスタマイズ","D-pad Center":"D-padセンター","D-pad Down":"D-pad下","D-pad Left":"D-pad左","D-pad Right":"D-pad右","D-pad Up":"D-pad上","Dashboard":"ダッシュボード","Data":"データ","Dead":"残量なし","Delete":"削除","Density":"表示密度","Details":"詳細","Developer Settings":"開発者向け設定","Device":"デバイス","Device Photo":"実機写真","Device Settings":"実機設定","Device cannot get kicked from the group":"このデバイスはグループからキックできません。","Device is not present anymore for some reason.":"実機が見えなくなりました。","Device is present but offline.":"デバイスは接続されているが、オフラインになっています。","Device was kicked by automatic timeout.":"デバイスは自動タイムアウトにより切断されました。","Devices":"端末リスト","Disable WiFi":"無線LANを無効にする","Discharging":"放電中","Disconnected":"切断中","Disconnected.
Socket connection was lost, try again reloading the page.":"接続が切れました。
ソケット接続が失われました。もう一度ページを再ロードしてみてください。","Display":"ディスプレー","Domain":"ドメイン","Drop file to upload":"ここにファイルをドロップ","Dummy":"ダミー","Eject":"排出","Enable WiFi":"無線LANを有効にする","Enable notifications":"通知を有効にする","Encrypted":"暗号化","Error":"エラー","Error while getting data":"データ取得中にエラーが発生しました。","Error while reconnecting.":"再接続中にエラーが発生しました。","Error.":"エラー","Error: Forwarding ports failed.":"エラー:ポートフォワーディングが失敗しました。","Ethernet":"イーサーネット","FPS":"FPS","Failed to download file":"ファイルのダウンロードが失敗しした。","Fast Forward":"早送り","Filter":"フィルター","Find Device":"実機を探す","Forward":"フォーワード","Frequency":"クロック","Full":"フル","Get":"取得","Get clipboard contents":"クリップボードの中身を取得する","Go Back":"戻る","Go Forward":"進む","Go to Device List":"端末リストへ","Good":"良い","Hardware":"ハードウェア","Health":"健康状態","Height":"高さ","Help":"ヘルプ","Hide Screen":"画面を非表しない","Home":"ホーム","Host":"ホスト","Hostname":"ホスト名","ICCID":"ICCID","ID":"ID","IMEI":"IMEI","Info":"情報","Inspect Device":"端末の要素検証","Inspecting is currently only supported in WebView":"要素の検証機能は、現在WebViewのみ対応","Inspector":"要素の検証","Installation failed":"インストールが失敗しました","Installing app...":"アプリをインストール中...","Landscape":"横","Language":"言語","Launch Activity":"アクティビティを起動する","Launching activity...":"アクティビティを起動中...","Level":"レベル","Local Settings":"ローカル設定","Location":"場所","Logs":"ログ","Maintenance":"メンテナンス","Manage Apps":"アプリ管理","Manufacturer":"メーカー","Media":"メディア","Memory":"メモリー","Menu":"メニュー","Mobile":"モバイル","Mobile DUN":"モバイルDUN","Mobile High Priority":"モバイル最優先","Mobile MMS":"モバイルMMS","Mobile SUPL":"モバイルSUPL","Model":"機種名","Mute":"音を消す","Name":"名称","Native":"Native","Navigation":"ブラウジング","Network":"ネットワーク","Next":"次","No":"いいえ","No clipboard data":"クリップボードデータはありません","No cookies to show":"クッキーはありません","No device screen":"画面が表示できません","No devices connected":"端末が接続されていません","No photo available":"写真はありません","No screenshots taken":"キャプチャはありません","Not Charging":"充電されていない","Nothing to inspect":"要素の検証対象はありません","Notifications":"通知","Number":"番号","OS":"OS","Offline":"オフライン","Open":"開く","Orientation":"方向","Over Voltage":"過電圧","Overheat":"過熱","PID":"PID","Package":"パッケージ","Password":"パスワード","Path":"パス","Pause":"停止","Phone":"電話番号","Phone ICCID":"携帯ICCID","Phone IMEI":"携帯IMEI","Physical Device":"物理デバイス","Place":"場所","Platform":"プラットホーム","Play":"再生","Play/Pause":"再生/停止","Please enter your Store password":"ストアのパスワードを入力してください","Please enter your Store username":"ストアのユーザ名を入力してください","Port":"ポート","Port forwarding":"ポートフォワーディング","Portrait":"縦","Power":"電源","Power Source":"電力源","Preparing":"準備中","Press Back button":"戻るボタンを押す","Press Home button":"ホームボタンを押す","Press Menu button":"メニューボタンを押す","Previous":"前","Processing...":"処理中...","Product":"型番","Pushing app...":"アプリをプッシュ中...","RAM":"RAM","ROM":"ROM","Ready":"利用可能","Reconnected successfully.":"正常に再接続しました。","Record":"記録する","Reference":"参考","Refresh":"更新","Relaunch":"再起動","Relaunch the browser":"ブラウザを再起動する","Released":"発売日","Reload":"再読込","Remote debug":"リモートデバッグ","Reset":"初期化","Reset Settings":"すべての設定をリセット","Reset all browser settings":"ブラウザの設定をリセットする","Restart Device":"端末を再起動","Retrieving the device screen has timed out.":"実機画面の取得はタイムアウトになりました。","Retry":"再試行","Rewind":"巻き戻す","Roaming":"ローミング","Rotate Left":"左回りに回転","Rotate Right":"右回りに回転","Run":"実行","Run Command":"コマンドを実行","Run JavaScript":"JavaScript注入","Run command":"コマンドを実行する","Run the following on your command line to debug the device from your IDE":"次のコマンドをコマンドラインで実行しますと、お使いのIDEより端末のデバッグができます。","Run the following on your command line:":"次のコマンドをコマンドラインで実行してください。","SD Card Mounted":"SDカード","SDK":"SDK","SIM":"SIM","Save...":"保存する...","Screen":"解像度","Screenshot":"キャプチャ","Screenshots":"キャプチャ","Search":"検索","Secure":"セキュア","Selects Next IME":"入力モードの切り替え","Serial":"シリアル","Set":"設定","Set Cookie":"クッキー設定","Settings":"設定","Shell":"シェル","Show Screen":"画面を表示する","Sign In":"サインイン","Sign Out":"サインアウト","Someone stole your device.":"誰かはデバイスを盗みました。","Special Keys":"特別なキー","Start/Stop Logging":"ログ取得の開始/停止","Status":"ステータス","Stop":"停止","Stop Using":"停止する","Store Account":"ストアアカウント","Sub Type":"サブタイプ","Switch Charset":"文字入力の切り替え","TID":"TID","Tag":"タグ","Take Pageshot (Needs WebView running)":"ページ全体ショットを撮る(現在はWebViewのみ対応)","Take Screenshot":"スクリーンショットを撮る","Temperature":"温度","Text":"テキスト","The device will be unavailable for a moment.":"しばらく端末が利用できなくなります。","This might be caused by a network error, or you might be trying to access a secure view.":"起因として考えられるものは下記の通りです。・ネットワーク・エラー・暗号化されたビュー","Time":"時刻","Toggle Web/Native":"ウェブ/ネイティブを選択","Total devices":"全機種","Try to reconnect":"再接続する","Type":"タイプ","USB":"USB","Unauthorized":"権限外","Unforward":"フォーワード解除","Uninstall":"削除","Unknown":"未知","Unknown reason.":"未知。","Unspecified Failure":"未定義の失敗","Upload From Link":"リンク先よりアップロードする","Upload complete":"アップロードが完了しました","Upload failed":"アップロードが失敗しました","Uploaded file is not valid":"アップロードされたファイル","Uploading...":"アップロード中...","Usable devices":"利用可能","Usb speed":"USB速度","Use":"利用する","User":"ユーザ","Username":"ユーザ名","Using":"利用中","Using Fallback":"フォールバックを使用中","Value":"値","Version":"バージョン","Version Update":"バージョンアップ","Voltage":"電圧","Volume":"音量","Volume Down":"音量↓","Volume Up":"音量↑","Web":"Web","WiFi":"無線LAN","WiFi Settings":"無線LAN設定","WiMAX":"WiMAX","Width":"幅","Wireless":"無線","X DPI":"X DPI","Y DPI":"Y DPI","Yes":"はい","You (or someone else) kicked the device.":"この実機はキックされました。","You are no longer controlling the device.":"この実機のリモート操作ができなくなりました。","{{ device.enhancedName }} current status:":"{{ device.enhancedName }}のステータス:","{{ device.enhancedName }} was disconnected":"{{ device.enhancedName }}への接続が切れました","Remove Accounts":"アカウント削除","Saved to: {{savedTo}}":"保存先: {{savedTo}}","Are you sure you want to kick this device?Currently it is being used by":"このデバイスをキックしますか?\n只今、次のユーザが使用中です:","Connecting...":"接続中...","Error while connecting.":"接続中にエラーが発生しました。","N/A":"適用なし","Reconnecting...":"再接続中...","Show All":"すべてを表示","Forward Ports":"ポートフォワード","Model:":"機種名:","(Absent)":"(オフライン)","Absent":"不在","Present":"存在する","Example: 3000":"例:3000","Local":"ローカル","Maker":"メーカー","Release":"リリース","Target IP / Hostname":"ローカル側のIP / ホスト名","Target Port":"ローカル側のポート","Target host (detect if blank)":"対象ホスト(空のときは自動検知)","(Needs refreshing the page)":"(ページの再読込が必要)","Aa":"あA","Control":"リモート操作","Detected":"検知済み","Failed to get device screen":"端末の画面が取得できません","H":"高","High":"高画質","High Quality":"高画質","Image Quality":"画質","Inspect":"要素の検証","Keyboard Input":"キーボード入力","L":"低","Local storage":"ローカルストレージ","Low":"低画質","Low Quality":"低画質","M":"中","Medium":"中画質","Medium Quality":"中画質","Original":"原寸","Other Keys":"キー・その他","Pageshot":"ページ全体","Release Date":"発売日","Resources":"リソース","Start Using":"利用する","System":"システム","Terminal":"ターミナル","Types text. Only ASCII characters are supported.":"テキストをタイピングします。ASCII文字のみ入力が可能。","USB Speed Benchmark":"USBベンチマーク","{{ started ? 'Stop' : 'Start' }}":"{{ started ? '停止' : '取得' }}","Start":"開始","{{ device.control ? 'Stop' : 'Use' }}":"{{ device.control ? '停止する' : '利用する' }}","Inspect Current Page":"開いているページを検証","Input":"入力"}}
\ No newline at end of file
+{"ja":{"-":"-","A new version of STF is available":"STFの新しいバージョンがリリースされました","ABI":"ABI","AC":"AC","Account":"アカウント","Action":"アクション","Actions":"アクション","Activity":"アクティビティ","Add":"追加","Admin mode has been disabled.":"管理モードは無効になりました。","Admin mode has been enabled.":"管理モードは有効になりました。","Advanced":"高度機能","Advanced Input":"高度な入力","Airplane Mode":"機内モード","App":"アプリ","App Store":"アプリストア","App Upload":"アプリアップロード","Apps":"アプリ","Are you sure you want to reboot this device?":"この端末を再起動しますか?","Automation":"自動化","Available":"利用可能","Back":"戻る","Battery":"バッテリー","Battery Health":"バッテリー健康状態","Battery Level":"バッテリーレベル","Battery Source":"バッテリー電力源","Battery Status":"バッテリー状態","Battery Temp":"バッテリー温度","Bluetooth":"Bluetooth","Busy":"貸し出し中","Busy devices":"貸し出し中","CPU":"CPU","Camera":"カメラ","Cannot access specified URL":"指定されたURLはアクセスできません","Carrier":"キャリア","Category":"カテゴリー","Charging":"充電中","Chat":"チャット","Clear":"クリア","Clipboard":"クリップボード","Close":"閉じる","Cold":"コールド","Connected":"接続中","Connected successfully.":"接続できました。","Cookies":"クッキー","Cores":"コア数","Customize":"カスタマイズ","D-pad Center":"D-padセンター","D-pad Down":"D-pad下","D-pad Left":"D-pad左","D-pad Right":"D-pad右","D-pad Up":"D-pad上","Dashboard":"ダッシュボード","Data":"データ","Dead":"残量なし","Delete":"削除","Density":"表示密度","Details":"詳細","Developer Settings":"開発者向け設定","Device":"デバイス","Device Photo":"実機写真","Device Settings":"実機設定","Device cannot get kicked from the group":"このデバイスはグループからキックできません。","Device is not present anymore for some reason.":"実機が見えなくなりました。","Device is present but offline.":"デバイスは接続されているが、オフラインになっています。","Device was kicked by automatic timeout.":"デバイスは自動タイムアウトにより切断されました。","Devices":"端末リスト","Disable WiFi":"無線LANを無効にする","Discharging":"放電中","Disconnected":"切断中","Display":"ディスプレー","Domain":"ドメイン","Drop file to upload":"ここにファイルをドロップ","Dummy":"ダミー","Eject":"排出","Enable WiFi":"無線LANを有効にする","Enable notifications":"通知を有効にする","Encrypted":"暗号化","Error while getting data":"データ取得中にエラーが発生しました。","Error while reconnecting.":"再接続中にエラーが発生しました。","Error.":"エラー","Error:":"エラー:","Error: Forwarding ports failed.":"エラー:ポートフォワーディングが失敗しました。","Ethernet":"イーサーネット","FPS":"FPS","Failed to download file":"ファイルのダウンロードが失敗しした。","Fast Forward":"早送り","Filter":"フィルター","Find Device":"実機を探す","Forward":"フォーワード","Frequency":"クロック","Full":"フル","Get":"取得","Get clipboard contents":"クリップボードの中身を取得する","Go Back":"戻る","Go Forward":"進む","Go to Device List":"端末リストへ","Good":"良い","Hardware":"ハードウェア","Health":"健康状態","Height":"高さ","Help":"ヘルプ","Hide Screen":"画面を非表しない","Home":"ホーム","Host":"ホスト","Hostname":"ホスト名","ICCID":"ICCID","ID":"ID","IMEI":"IMEI","Info":"情報","Inspect Device":"端末の要素検証","Inspecting is currently only supported in WebView":"要素の検証機能は、現在WebViewのみ対応","Inspector":"要素の検証","Installation failed":"インストールが失敗しました","Installing app...":"アプリをインストール中...","Landscape":"横","Language":"言語","Launch Activity":"アクティビティを起動する","Launching activity...":"アクティビティを起動中...","Level":"レベル","Local Settings":"ローカル設定","Location":"場所","Logs":"ログ","Maintenance":"メンテナンス","Manage Apps":"アプリ管理","Manufacturer":"メーカー","Media":"メディア","Memory":"メモリー","Menu":"メニュー","Mobile":"モバイル","Mobile DUN":"モバイルDUN","Mobile High Priority":"モバイル最優先","Mobile MMS":"モバイルMMS","Mobile SUPL":"モバイルSUPL","Model":"機種名","Mute":"音を消す","Name":"名称","Native":"Native","Navigation":"ブラウジング","Network":"ネットワーク","New package failed because the current SDK version is older than that required by the package":"この端末のSDKバージョンがパッケージが必要としているSDKのバージョンより古いため、失敗しました。","Next":"次","No":"いいえ","No clipboard data":"クリップボードデータはありません","No cookies to show":"クッキーはありません","No device screen":"画面が表示できません","No devices connected":"端末が接続されていません","No photo available":"写真はありません","No screenshots taken":"キャプチャはありません","Normal Mode":"通常モード","Not Charging":"充電されていない","Nothing to inspect":"要素の検証対象はありません","Notifications":"通知","Number":"番号","OS":"OS","Offline":"オフライン","Open":"開く","Orientation":"方向","Over Voltage":"過電圧","Overheat":"過熱","PID":"PID","Package":"パッケージ","Password":"パスワード","Path":"パス","Pause":"停止","Phone":"電話番号","Phone ICCID":"携帯ICCID","Phone IMEI":"携帯IMEI","Physical Device":"物理デバイス","Place":"場所","Platform":"プラットホーム","Play":"再生","Play/Pause":"再生/停止","Please enter your Store password":"ストアのパスワードを入力してください","Please enter your Store username":"ストアのユーザ名を入力してください","Port":"ポート","Port forwarding":"ポートフォワーディング","Portrait":"縦","Power":"電源","Power Source":"電力源","Preparing":"準備中","Press Back button":"戻るボタンを押す","Press Home button":"ホームボタンを押す","Press Menu button":"メニューボタンを押す","Previous":"前","Processing...":"処理中...","Product":"型番","Pushing app...":"アプリをプッシュ中...","RAM":"RAM","ROM":"ROM","Ready":"利用可能","Reconnected successfully.":"正常に再接続しました。","Record":"記録する","Refresh":"更新","Released":"発売日","Reload":"再読込","Remote debug":"リモートデバッグ","Reset":"初期化","Reset Settings":"すべての設定をリセット","Reset all browser settings":"ブラウザの設定をリセットする","Restart Device":"端末を再起動","Retrieving the device screen has timed out.":"実機画面の取得はタイムアウトになりました。","Retry":"再試行","Rewind":"巻き戻す","Roaming":"ローミング","Rotate Left":"左回りに回転","Rotate Right":"右回りに回転","Run":"実行","Run Command":"コマンドを実行","Run JavaScript":"JavaScript注入","Run command":"コマンドを実行する","Run the following on your command line to debug the device from your Browser":"次のコマンドをコマンドラインで実行しますと、お使いのブラウザより端末のデバッグができます。","Run the following on your command line to debug the device from your IDE":"次のコマンドをコマンドラインで実行しますと、お使いのIDEより端末のデバッグができます。","SD Card Mounted":"SDカード","SDK":"SDK","SIM":"SIM","Save...":"保存する...","Screen":"解像度","Screenshot":"キャプチャ","Screenshots":"キャプチャ","Search":"検索","Secure":"セキュア","Selects Next IME":"入力モードの切り替え","Serial":"シリアル","Set":"設定","Set Cookie":"クッキー設定","Settings":"設定","Shell":"シェル","Show Screen":"画面を表示する","Sign In":"サインイン","Sign Out":"サインアウト","Silent Mode":"マナーモード","Socket connection was lost, try again reloading the page.":"接続が切れました。ページをリロードしてみてください。","Someone stole your device.":"誰かはデバイスを盗みました。","Special Keys":"特別なキー","Start/Stop Logging":"ログ取得の開始/停止","Status":"ステータス","Stop":"停止","Stop Using":"停止する","Store Account":"ストアアカウント","Sub Type":"サブタイプ","Switch Charset":"文字入力の切り替え","TID":"TID","Tag":"タグ","Take Pageshot (Needs WebView running)":"ページ全体ショットを撮る(現在はWebViewのみ対応)","Take Screenshot":"スクリーンショットを撮る","Temperature":"温度","Text":"テキスト","The device will be unavailable for a moment.":"しばらく端末が利用できなくなります。","This might be caused by a network error, or you might be trying to access a secure view.":"起因として考えられるものは下記の通りです。・ネットワーク・エラー・暗号化されたビュー","Time":"時刻","Toggle Web/Native":"ウェブ/ネイティブを選択","Total devices":"全機種","Try to reconnect":"再接続する","Type":"タイプ","USB":"USB","Unauthorized":"権限外","Unforward":"フォーワード解除","Uninstall":"削除","Unknown":"未知","Unknown reason.":"未知。","Unspecified Failure":"未定義の失敗","Upload From Link":"リンク先よりアップロードする","Upload complete":"アップロードが完了しました","Upload failed":"アップロードが失敗しました","Upload unknown error":"アップロード未知エラー","Uploaded file is not valid":"アップロードされたファイル","Uploading...":"アップロード中...","Usable devices":"利用可能","Usb speed":"USB速度","Use":"利用する","User":"ユーザ","Username":"ユーザ名","Using":"利用中","Using Fallback":"フォールバックを使用中","Value":"値","Version":"バージョン","Version Update":"バージョンアップ","Vibrate Mode":"マナーモード(バイブON)","Voltage":"電圧","Volume":"音量","Volume Down":"音量↓","Volume Up":"音量↑","Web":"Web","WiFi":"無線LAN","WiFi Enabled":"無線LAN:ON","WiFi Settings":"無線LAN設定","WiMAX":"WiMAX","Width":"幅","Wireless":"無線","X DPI":"X DPI","Y DPI":"Y DPI","Yes":"はい","You (or someone else) kicked the device.":"この実機はキックされました。","You are no longer controlling the device.":"この実機のリモート操作ができなくなりました。","{{ device.enhancedName }} current status:":"{{ device.enhancedName }}のステータス:","{{ device.enhancedName }} was disconnected":"{{ device.enhancedName }}への接続が切れました","Browser":"ブラウザ","Reference":"参考","Relaunch":"再起動","Relaunch the browser":"ブラウザを再起動する","Run the following on your command line:":"次のコマンドをコマンドラインで実行してください。","Remove Accounts":"アカウント削除","Saved to: {{savedTo}}":"保存先: {{savedTo}}","Are you sure you want to kick this device?Currently it is being used by":"このデバイスをキックしますか?\n只今、次のユーザが使用中です:","Connecting...":"接続中...","Error while connecting.":"接続中にエラーが発生しました。","N/A":"適用なし","Reconnecting...":"再接続中...","Show All":"すべてを表示","Forward Ports":"ポートフォワード","Model:":"機種名:","(Absent)":"(オフライン)","Absent":"不在","Present":"存在する","Example: 3000":"例:3000","Local":"ローカル","Maker":"メーカー","Release":"リリース","Target IP / Hostname":"ローカル側のIP / ホスト名","Target Port":"ローカル側のポート","Target host (detect if blank)":"対象ホスト(空のときは自動検知)","(Needs refreshing the page)":"(ページの再読込が必要)","Aa":"あA","Control":"リモート操作","Detected":"検知済み","Failed to get device screen":"端末の画面が取得できません","H":"高","High":"高画質","High Quality":"高画質","Image Quality":"画質","Inspect":"要素の検証","Keyboard Input":"キーボード入力","L":"低","Local storage":"ローカルストレージ","Low":"低画質","Low Quality":"低画質","M":"中","Medium":"中画質","Medium Quality":"中画質","Original":"原寸","Other Keys":"キー・その他","Pageshot":"ページ全体","Release Date":"発売日","Resources":"リソース","Start Using":"利用する","System":"システム","Terminal":"ターミナル","Types text. Only ASCII characters are supported.":"テキストをタイピングします。ASCII文字のみ入力が可能。","USB Speed Benchmark":"USBベンチマーク","{{ started ? 'Stop' : 'Start' }}":"{{ started ? '停止' : '取得' }}","Start":"開始","{{ device.control ? 'Stop' : 'Use' }}":"{{ device.control ? '停止する' : '利用する' }}","Inspect Current Page":"開いているページを検証","Input":"入力"}}
\ No newline at end of file