thingsboard-aplcache

Details

diff --git a/ui/src/app/locale/locale.constant-en_US.json b/ui/src/app/locale/locale.constant-en_US.json
index a98733c..ed933d3 100644
--- a/ui/src/app/locale/locale.constant-en_US.json
+++ b/ui/src/app/locale/locale.constant-en_US.json
@@ -1458,7 +1458,8 @@
             "it_IT": "Italian",
             "ko_KR": "Korean",
             "ru_RU": "Russian",
-            "es_ES": "Spanish"
+            "es_ES": "Spanish",
+            "ja_JA": "Japanese"
         }
     }
 }
diff --git a/ui/src/app/locale/locale.constant-es_ES.json b/ui/src/app/locale/locale.constant-es_ES.json
index 9e5951f..5747894 100644
--- a/ui/src/app/locale/locale.constant-es_ES.json
+++ b/ui/src/app/locale/locale.constant-es_ES.json
@@ -1311,7 +1311,8 @@
             "zh_CN": "Chino",
             "ru_RU": "Ruso",
             "es_ES": "Español",
-            "it_IT": "Italiano"
+            "it_IT": "Italiano",
+            "ja_JA": "Japonés"
         }
     }
-}
\ No newline at end of file
+}
diff --git a/ui/src/app/locale/locale.constant-it_IT.json b/ui/src/app/locale/locale.constant-it_IT.json
index b304cac..7212b30 100644
--- a/ui/src/app/locale/locale.constant-it_IT.json
+++ b/ui/src/app/locale/locale.constant-it_IT.json
@@ -1439,7 +1439,8 @@
             "en_US": "Inglese",
             "it_IT": "Italiano",
             "ru_RU": "Russo",
-            "es_ES": "Spagnolo"
+            "es_ES": "Spagnolo",
+            "ja_JA": "Giapponese"
         }
     }
 }
diff --git a/ui/src/app/locale/locale.constant-ja_JA.json b/ui/src/app/locale/locale.constant-ja_JA.json
new file mode 100644
index 0000000..77765ef
--- /dev/null
+++ b/ui/src/app/locale/locale.constant-ja_JA.json
@@ -0,0 +1,1463 @@
+{
+	"access": {
+		"unauthorized": "無許可",
+		"unauthorized-access": "不正アクセス",
+		"unauthorized-access-text": "このリソースにアクセスするにはサインインする必要があります。",
+		"access-forbidden": "アクセス禁止",
+		"access-forbidden-text": "あなたはこの場所へのアクセス権を持っていません!この場所にアクセスしたい場合は、別のユーザーとサインインしてみてください。",
+		"refresh-token-expired": "セッションが終了しました",
+		"refresh-token-failed": "セッションをリフレッシュできません"
+	},
+	"action": {
+		"activate": "アクティブ化する",
+		"suspend": "サスペンド",
+		"save": "セーブ",
+		"saveAs": "名前を付けて保存",
+		"cancel": "キャンセル",
+		"ok": "[OK]",
+		"delete": "削除",
+		"add": "追加",
+		"yes": "はい",
+		"no": "いいえ",
+		"update": "更新",
+		"remove": "削除する",
+		"search": "サーチ",
+		"clear-search": "検索をクリアする",
+		"assign": "割り当てます",
+		"unassign": "割り当て解除",
+		"share": "シェア",
+		"make-private": "プライベートにする",
+		"apply": "適用",
+		"apply-changes": "変更を適用する",
+		"edit-mode": "編集モード",
+		"enter-edit-mode": "編集モードに入る",
+		"decline-changes": "変更を拒否する",
+		"close": "閉じる",
+		"back": "バック",
+		"run": "走る",
+		"sign-in": "サインイン!",
+		"edit": "編集",
+		"view": "ビュー",
+		"create": "作成する",
+		"drag": "ドラッグ",
+		"refresh": "リフレッシュ",
+		"undo": "元に戻す",
+		"copy": "コピー",
+		"paste": "ペースト",
+		"copy-reference": "コピーリファレンス",
+		"paste-reference": "参照貼り付け",
+		"import": "インポート",
+		"export": "輸出する",
+		"share-via": "{{provider}}"
+	},
+	"aggregation": {
+		"aggregation": "集約",
+		"function": "データ集約機能",
+		"limit": "最大値",
+		"group-interval": "グループ化の間隔",
+		"min": "分",
+		"max": "最大",
+		"avg": "平均",
+		"sum": "和",
+		"count": "カウント",
+		"none": "なし"
+	},
+	"admin": {
+		"general": "一般",
+		"general-settings": "一般設定",
+		"outgoing-mail": "送信メール",
+		"outgoing-mail-settings": "送信メールの設定",
+		"system-settings": "システム設定",
+		"test-mail-sent": "テストメールが正常に送信されました!",
+		"base-url": "ベースURL",
+		"base-url-required": "ベースURLは必須です。",
+		"mail-from": "メール",
+		"mail-from-required": "メールの送信元が必要です。",
+		"smtp-protocol": "SMTPプロトコル",
+		"smtp-host": "SMTPホスト",
+		"smtp-host-required": "SMTPホストが必要です。",
+		"smtp-port": "SMTPポート",
+		"smtp-port-required": "smtpポートを指定する必要があります。",
+		"smtp-port-invalid": "それは有効なsmtpポートのようには見えません。",
+		"timeout-msec": "タイムアウト(ミリ秒)",
+		"timeout-required": "タイムアウトが必要です。",
+		"timeout-invalid": "それは有効なタイムアウトのようには見えません。",
+		"enable-tls": "TLSを有効にする",
+		"send-test-mail": "テストメールを送信する"
+	},
+	"alarm": {
+		"alarm": "警報",
+		"alarms": "アラーム",
+		"select-alarm": "アラームを選択",
+		"no-alarms-matching": "'{{entity}}'発見されました。",
+		"alarm-required": "アラームが必要です",
+		"alarm-status": "アラーム状態",
+		"search-status": {
+			"ANY": "どれか",
+			"ACTIVE": "アクティブ",
+			"CLEARED": "クリアされた",
+			"ACK": "承認された",
+			"UNACK": "未確認の"
+		},
+		"display-status": {
+			"ACTIVE_UNACK": "アクティブ未確認",
+			"ACTIVE_ACK": "Active Acknowledged",
+			"CLEARED_UNACK": "クリアされた未確認のメッセージ",
+			"CLEARED_ACK": "承認された承認済み"
+		},
+		"no-alarms-prompt": "アラームが見つかりません",
+		"created-time": "作成時刻",
+		"type": "タイプ",
+		"severity": "重大度",
+		"originator": "創始者",
+		"originator-type": "発信者タイプ",
+		"details": "詳細",
+		"status": "状態",
+		"alarm-details": "アラームの詳細",
+		"start-time": "始まる時間",
+		"end-time": "終了時間",
+		"ack-time": "確認された時間",
+		"clear-time": "クリアされた時間",
+		"severity-critical": "クリティカル",
+		"severity-major": "メジャー",
+		"severity-minor": "マイナー",
+		"severity-warning": "警告",
+		"severity-indeterminate": "不確定",
+		"acknowledge": "認める",
+		"clear": "クリア",
+		"search": "アラームの検索",
+		"selected-alarms": "{ count, plural, 1 {1 alarm} other {# alarms} }選択された",
+		"no-data": "表示するデータがありません",
+		"polling-interval": "アラームポーリング間隔(秒)",
+		"polling-interval-required": "アラームのポーリング間隔が必要です。",
+		"min-polling-interval-message": "少なくとも1秒間のポーリング間隔が許可されます。",
+		"aknowledge-alarms-title": "{ count, plural, 1 {1 alarm} other {# alarms} }",
+		"aknowledge-alarms-text": "{ count, plural, 1 {1 alarm} other {# alarms} }?",
+		"clear-alarms-title": "{ count, plural, 1 {1 alarm} other {# alarms} }",
+		"clear-alarms-text": "{ count, plural, 1 {1 alarm} other {# alarms} }?"
+	},
+	"alias": {
+		"add": "エイリアスを追加する",
+		"edit": "エイリアスを編集する",
+		"name": "エイリアス名",
+		"name-required": "エイリアス名は必須です",
+		"duplicate-alias": "同じ名前のエイリアスは既に存在します。",
+		"filter-type-single-entity": "単一のエンティティ",
+		"filter-type-entity-list": "エンティティリスト",
+		"filter-type-entity-name": "エンティティ名",
+		"filter-type-state-entity": "ダッシュボード状態からのエンティティ",
+		"filter-type-state-entity-description": "ダッシュボードの状態パラメータから取得されたエンティティ",
+		"filter-type-asset-type": "資産の種類",
+		"filter-type-asset-type-description": "'{{assetType}}'",
+		"filter-type-asset-type-and-name-description": "'{{assetType}}''{{prefix}}'",
+		"filter-type-device-type": "デバイスタイプ",
+		"filter-type-device-type-description": "'{{deviceType}}'",
+		"filter-type-device-type-and-name-description": "'{{deviceType}}''{{prefix}}'",
+		"filter-type-relations-query": "関係クエリ",
+		"filter-type-relations-query-description": "{{entities}}{{relationType}}{{direction}}{{rootEntity}}",
+		"filter-type-asset-search-query": "資産検索クエリ",
+		"filter-type-asset-search-query-description": "{{assetTypes}}{{relationType}}{{direction}}{{rootEntity}}",
+		"filter-type-device-search-query": "デバイス検索クエリ",
+		"filter-type-device-search-query-description": "{{deviceTypes}}{{relationType}}{{direction}}{{rootEntity}}",
+		"entity-filter": "エンティティフィルタ",
+		"resolve-multiple": "複数のエンティティとして解決する",
+		"filter-type": "フィルタタイプ",
+		"filter-type-required": "フィルタタイプが必要です。",
+		"entity-filter-no-entity-matched": "指定されたフィルタに一致するエンティティは見つかりませんでした。",
+		"no-entity-filter-specified": "エンティティフィルタが指定されていない",
+		"root-state-entity": "ルートとしてダッシュボードの状態エンティティを使用する",
+		"root-entity": "ルートエンティティ",
+		"state-entity-parameter-name": "状態エンティティのパラメータ名",
+		"default-state-entity": "デフォルト状態エンティティ",
+		"default-entity-parameter-name": "デフォルトでは",
+		"max-relation-level": "最大関連レベル",
+		"unlimited-level": "無制限レベル",
+		"state-entity": "ダッシュボードの状態エンティティ",
+		"all-entities": "すべてのエンティティ",
+		"any-relation": "どれか"
+	},
+	"asset": {
+		"asset": "資産",
+		"assets": "資産",
+		"management": "資産運用管理",
+		"view-assets": "アセットの表示",
+		"add": "アセットを追加",
+		"assign-to-customer": "顧客に割り当てる",
+		"assign-asset-to-customer": "顧客に資産を割り当てる",
+		"assign-asset-to-customer-text": "顧客に割り当てる資産を選択してください",
+		"no-assets-text": "アセットが見つかりません",
+		"assign-to-customer-text": "資産を割り当てる顧客を選択してください",
+		"public": "パブリック",
+		"assignedToCustomer": "顧客に割り当てられた",
+		"make-public": "アセットを公開する",
+		"make-private": "アセットをプライベートにする",
+		"unassign-from-customer": "顧客からの割り当て解除",
+		"delete": "アセットを削除",
+		"asset-public": "資産は公開されています",
+		"asset-type": "資産の種類",
+		"asset-type-required": "資産の種類が必要です。",
+		"select-asset-type": "アセットタイプを選択",
+		"enter-asset-type": "アセットタイプを入力",
+		"any-asset": "すべてのアセット",
+		"no-asset-types-matching": "'{{entitySubtype}}'発見されました。",
+		"asset-type-list-empty": "選択されたアセットタイプはありません。",
+		"asset-types": "資産タイプ",
+		"name": "名",
+		"name-required": "名前は必須です。",
+		"description": "説明",
+		"type": "タイプ",
+		"type-required": "タイプが必要です。",
+		"details": "詳細",
+		"events": "イベント",
+		"add-asset-text": "新しいアセットを追加する",
+		"asset-details": "資産の詳細",
+		"assign-assets": "アセットの割り当て",
+		"assign-assets-text": "{ count, plural, 1 {1 asset} other {# assets} }顧客に",
+		"delete-assets": "アセットを削除する",
+		"unassign-assets": "アセットの割り当てを解除する",
+		"unassign-assets-action-title": "{ count, plural, 1 {1 asset} other {# assets} }顧客から",
+		"assign-new-asset": "新しいアセットを割り当てる",
+		"delete-asset-title": "'{{assetName}}'?",
+		"delete-asset-text": "確認後、資産と関連するすべてのデータが回復不能になることに注意してください。",
+		"delete-assets-title": "{ count, plural, 1 {1 asset} other {# assets} }?",
+		"delete-assets-action-title": "{ count, plural, 1 {1 asset} other {# assets} }",
+		"delete-assets-text": "確認後、選択したすべての資産が削除され、関連するすべてのデータは回復不能になりますので注意してください。",
+		"make-public-asset-title": "'{{assetName}}'パブリック?",
+		"make-public-asset-text": "確認後、資産とそのすべてのデータは公開され、他の人がアクセスできるようになります。",
+		"make-private-asset-title": "'{{assetName}}'プライベート?",
+		"make-private-asset-text": "確認後、資産とそのすべてのデータは非公開にされ、他の人がアクセスすることはできません。",
+		"unassign-asset-title": "'{{assetName}}'?",
+		"unassign-asset-text": "確認後、資産は割り当て解除され、顧客はアクセスできなくなります。",
+		"unassign-asset": "アセットの割り当てを解除する",
+		"unassign-assets-title": "{ count, plural, 1 {1 asset} other {# assets} }?",
+		"unassign-assets-text": "確認後、選択されたすべての資産が割り当て解除され、顧客がアクセスできなくなります。",
+		"copyId": "アセットIDをコピーする",
+		"idCopiedMessage": "アセットIDがクリップボードにコピーされました",
+		"select-asset": "アセットを選択",
+		"no-assets-matching": "'{{entity}}'発見されました。",
+		"asset-required": "資産が必要です",
+		"name-starts-with": "アセット名はで始まります"
+	},
+	"attribute": {
+		"attributes": "属性",
+		"latest-telemetry": "最新テレメトリ",
+		"attributes-scope": "エンティティ属性のスコープ",
+		"scope-latest-telemetry": "最新テレメトリ",
+		"scope-client": "クライアントの属性",
+		"scope-server": "サーバーの属性",
+		"scope-shared": "共有属性",
+		"add": "属性を追加する",
+		"key": "キー",
+		"last-update-time": "最終更新時間",
+		"key-required": "属性キーは必須です。",
+		"value": "値",
+		"value-required": "属性値は必須です。",
+		"delete-attributes-title": "{ count, plural, 1 {1 attribute} other {# attributes} }?",
+		"delete-attributes-text": "注意してください。確認後、選択したすべての属性が削除されます。",
+		"delete-attributes": "属性を削除する",
+		"enter-attribute-value": "属性値を入力",
+		"show-on-widget": "ウィジェットで表示",
+		"widget-mode": "ウィジェットモード",
+		"next-widget": "次のウィジェット",
+		"prev-widget": "前のウィジェット",
+		"add-to-dashboard": "ダッシュボードに追加",
+		"add-widget-to-dashboard": "ウィジェットをダッシュ​​ボードに追加する",
+		"selected-attributes": "{ count, plural, 1 {1 attribute} other {# attributes} }選択された",
+		"selected-telemetry": "{ count, plural, 1 {1 telemetry unit} other {# telemetry units} }選択された"
+	},
+	"audit-log": {
+		"audit": "監査",
+		"audit-logs": "監査ログ",
+		"timestamp": "タイムスタンプ",
+		"entity-type": "エンティティタイプ",
+		"entity-name": "エンティティ名",
+		"user": "ユーザー",
+		"type": "タイプ",
+		"status": "状態",
+		"details": "詳細",
+		"type-added": "追加された",
+		"type-deleted": "削除済み",
+		"type-updated": "更新しました",
+		"type-attributes-updated": "属性が更新されました",
+		"type-attributes-deleted": "属性が削除されました",
+		"type-rpc-call": "RPC呼び出し",
+		"type-credentials-updated": "資格が更新されました",
+		"type-assigned-to-customer": "顧客に割り当てられた",
+		"type-unassigned-from-customer": "顧客から割り当てられていない",
+		"type-activated": "活性化",
+		"type-suspended": "一時停止中",
+		"type-credentials-read": "信用証明書を読む",
+		"type-attributes-read": "読み取られた属性",
+        "type-relation-add-or-update": "関係が更新されました",
+        "type-relation-delete": "関係が削除されました",
+        "type-relations-delete": "すべてのリレーションを削除",
+        "type-alarm-ack": "承認された",
+        "type-alarm-clear": "クリアされた",													  
+		"status-success": "成功",
+		"status-failure": "失敗",
+		"audit-log-details": "監査ログの詳細",
+		"no-audit-logs-prompt": "ログが見つかりません",
+		"action-data": "行動データ",
+		"failure-details": "失敗の詳細",
+		"search": "監査ログの検索",
+		"clear-search": "検索をクリアする"
+	},
+	"confirm-on-exit": {
+		"message": "保存されていない変更があります。あなたは本当にこのページを出るのですか?",
+		"html-message": "保存していない変更があります。<br/>このページを終了してもよろしいですか?",
+		"title": "保存されていない変更"
+	},
+	"contact": {
+		"country": "国",
+		"city": "シティ",
+		"state": "州/県",
+		"postal-code": "郵便番号",
+		"postal-code-invalid": "無効な郵便番号形式です。",
+		"address": "住所",
+		"address2": "アドレス2",
+		"phone": "電話",
+		"email": "Eメール",
+		"no-address": "住所がありません"
+	},
+	"common": {
+		"username": "ユーザー名",
+		"password": "パスワード",
+        "enter-username": "ユーザーネームを入力してください",
+		"enter-password": "パスワードを入力する",
+		"enter-search": "検索を入力"
+	},
+	"content-type": {
+		"json": "Json",
+		"text": "テキスト",
+		"binary": "バイナリ(Base64)"
+	},
+	"customer": {
+		"customer": "顧客",
+		"customers": "顧客",
+		"management": "顧客管理",
+		"dashboard": "カスタマーダッシュボード",
+		"dashboards": "カスタマーダッシュボード",
+		"devices": "顧客デバイス",
+		"assets": "顧客資産",
+		"public-dashboards": "パブリックダッシュボード",
+		"public-devices": "パブリックデバイス",
+		"public-assets": "公的資産",
+		"add": "顧客を追加",
+		"delete": "顧客を削除する",
+		"manage-customer-users": "顧客ユーザーを管理する",
+		"manage-customer-devices": "顧客のデバイスを管理する",
+		"manage-customer-dashboards": "顧客ダッシュボードの管理",
+		"manage-public-devices": "パブリックデバイスを管理する",
+		"manage-public-dashboards": "公開ダッシュボードの管理",
+		"manage-customer-assets": "顧客資産の管理",
+		"manage-public-assets": "公的資産を管理する",
+		"add-customer-text": "新規顧客を追加",
+		"no-customers-text": "顧客が見つかりません",
+		"customer-details": "お客様情報",
+		"delete-customer-title": "'{{customerTitle}}'?",
+		"delete-customer-text": "確認後、お客様および関連するすべてのデータが回復不能になるので注意してください。",
+		"delete-customers-title": "{ count, plural, 1 {1 customer} other {# customers} }?",
+		"delete-customers-action-title": "{ count, plural, 1 {1 customer} other {# customers} }",
+		"delete-customers-text": "確認後、選択したすべての顧客は削除され、関連するすべてのデータは回復不能になります。",
+		"manage-users": "ユーザーを管理する",
+		"manage-assets": "アセットを管理する",
+		"manage-devices": "デバイスを管理する",
+		"manage-dashboards": "ダッシュボードの管理",
+		"title": "タイトル",
+		"title-required": "タイトルは必須です。",
+		"description": "説明",
+		"details": "詳細",
+		"events": "イベント",
+		"copyId": "顧客IDをコピー",
+		"idCopiedMessage": "顧客IDがクリップボードにコピーされました",
+		"select-customer": "顧客を選択",
+		"no-customers-matching": "'{{entity}}'発見されました。",
+		"customer-required": "顧客は必須です",
+		"select-default-customer": "デフォルトの顧客を選択",
+		"default-customer": "デフォルトの顧客",
+		"default-customer-required": "テナントレベルのダッシュボードをデバッグするには、デフォルトの顧客が必要です"
+	},
+	"datetime": {
+		"date-from": "デートから",
+		"time-from": "からの時間",
+		"date-to": "日付",
+		"time-to": "の時間"
+	},
+	"dashboard": {
+		"dashboard": "ダッシュボード",
+		"dashboards": "ダッシュボード",
+		"management": "ダッシュボード管理",
+		"view-dashboards": "ダッシュボードを表示する",
+		"add": "ダッシュボードを追加",
+		"assign-dashboard-to-customer": "顧客にダッシュボードを割り当てる",
+		"assign-dashboard-to-customer-text": "顧客に割り当てるダッシュボードを選択してください",
+		"assign-to-customer-text": "ダッシュボードを割り当てる顧客を選択してください",
+		"assign-to-customer": "顧客に割り当てる",
+		"unassign-from-customer": "顧客からの割り当て解除",
+		"make-public": "ダッシュボードを公開する",
+		"make-private": "ダッシュボードを非公開にする",
+		"manage-assigned-customers": "割り当てられた顧客を管理する",
+		"assigned-customers": "割り当てられた顧客",
+		"assign-to-customers": "顧客にダッシュボードを割り当てる",
+		"assign-to-customers-text": "ダッシュボードを割り当てる顧客を選択してください",
+		"unassign-from-customers": "顧客からのダッシュボードの割り当て解除",
+		"unassign-from-customers-text": "ダッシュボードから割り当て解除する顧客を選択してください",
+		"no-dashboards-text": "ダッシュボードが見つかりません",
+		"no-widgets": "ウィジェットは設定されていません",
+		"add-widget": "新しいウィジェットを追加",
+		"title": "タイトル",
+		"select-widget-title": "ウィジェットを選択",
+		"select-widget-subtitle": "利用可能なウィジェットタイプのリスト",
+		"delete": "ダッシュボードの削除",
+		"title-required": "タイトルは必須です。",
+		"description": "説明",
+		"details": "詳細",
+		"dashboard-details": "ダッシュボードの詳細",
+		"add-dashboard-text": "新しいダッシュボードを追加する",
+		"assign-dashboards": "ダッシュボードの割り当て",
+		"assign-new-dashboard": "新しいダッシュボードを割り当てる",
+		"assign-dashboards-text": "{ count, plural, 1 {1 dashboard} other {# dashboards} }顧客に",
+		"unassign-dashboards-action-text": "{ count, plural, 1 {1 dashboard} other {# dashboards} }顧客から",
+		"delete-dashboards": "ダッシュボードの削除",
+		"unassign-dashboards": "ダッシュボードの割り当てを解除する",
+		"unassign-dashboards-action-title": "{ count, plural, 1 {1 dashboard} other {# dashboards} }顧客から",
+		"delete-dashboard-title": "'{{dashboardTitle}}'?",
+		"delete-dashboard-text": "確認後、ダッシュボードとすべての関連データが回復不能になるので注意してください。",
+		"delete-dashboards-title": "{ count, plural, 1 {1 dashboard} other {# dashboards} }?",
+		"delete-dashboards-action-title": "{ count, plural, 1 {1 dashboard} other {# dashboards} }",
+		"delete-dashboards-text": "注意してください。確認後、選択したダッシュボードはすべて削除され、関連するすべてのデータは回復不能になります。",
+		"unassign-dashboard-title": "'{{dashboardTitle}}'?",
+		"unassign-dashboard-text": "確認後、ダッシュボードは割り当てられなくなり、顧客はアクセスできなくなります。",
+		"unassign-dashboard": "ダッシュボードの割り当てを解除する",
+		"unassign-dashboards-title": "{ count, plural, 1 {1 dashboard} other {# dashboards} }?",
+		"unassign-dashboards-text": "確認の後、選択したすべてのダッシュボードは割り当てられなくなり、顧客はアクセスできなくなります。",
+		"public-dashboard-title": "ダッシュボードは公開されました",
+		"public-dashboard-text": "<b>{{dashboardTitle}}</b> is now public and accessible via next public <a href='{{publicLink}}' target='_blank'>link</a>:",
+		"public-dashboard-notice": "<b>注:</ b>データにアクセスするために、関連するデバイスを公開することを忘れないでください。",
+		"make-private-dashboard-title": "'{{dashboardTitle}}'プライベート?",
+		"make-private-dashboard-text": "確認の後、ダッシュボードはプライベートにされ、他の人がアクセスすることはできません。",
+		"make-private-dashboard": "ダッシュボードを非公開にする",
+		"socialshare-text": "'{{dashboardTitle}}'ThingsBoardを搭載",
+		"socialshare-title": "'{{dashboardTitle}}'ThingsBoardを搭載",
+		"select-dashboard": "ダッシュボードを選択",
+		"no-dashboards-matching": "'{{entity}}'発見されました。",
+		"dashboard-required": "ダッシュボードが必要です。",
+		"select-existing": "既存のダッシュボードを選択",
+		"create-new": "新しいダッシュボードを作成する",
+		"new-dashboard-title": "新しいダッシュボードのタイトル",
+		"open-dashboard": "ダッシュボードを開く",
+		"set-background": "背景を設定する",
+		"background-color": "背景色",
+		"background-image": "背景画像",
+		"background-size-mode": "背景サイズモード",
+		"no-image": "選択した画像がありません",
+		"drop-image": "画像をドロップするか、クリックしてアップロードするファイルを選択します。",
+		"settings": "設定",
+		"columns-count": "列数",
+		"columns-count-required": "列数が必要です。",
+		"min-columns-count-message": "わずか10の最小列数が許可されます。",
+		"max-columns-count-message": "最大1000の列カウントのみが許可されます。",
+		"widgets-margins": "ウィジェット間のマージン",
+		"horizontal-margin": "水平マージン",
+		"horizontal-margin-required": "水平余白値が必要です。",
+		"min-horizontal-margin-message": "最小水平マージン値としては0だけが許容されます。",
+		"max-horizontal-margin-message": "最大水平マージン値は50だけです。",
+		"vertical-margin": "垂直マージン",
+		"vertical-margin-required": "垂直マージン値が必要です。",
+		"min-vertical-margin-message": "最小の垂直マージン値として0のみが許可されます。",
+		"max-vertical-margin-message": "最大垂直マージン値は50のみです。",
+		"autofill-height": "自動レイアウトの高さ",
+		"mobile-layout": "モバイルレイアウトの設定",
+		"mobile-row-height": "モバイル行の高さ、px",
+		"mobile-row-height-required": "モバイル行の高さ値が必要です。",
+		"min-mobile-row-height-message": "最小の行の高さの値として、5ピクセルしか許可されません。",
+		"max-mobile-row-height-message": "移動可能な行の高さの最大値として許可されるのは200ピクセルだけです。",
+		"display-title": "ダッシュボードのタイトルを表示する",
+		"toolbar-always-open": "ツールバーを開いたままにする",
+		"title-color": "タイトルカラー",
+		"display-dashboards-selection": "ダッシュボードの選択を表示する",
+		"display-entities-selection": "エンティティの選択を表示する",
+		"display-dashboard-timewindow": "タイムウィンドウを表示する",
+		"display-dashboard-export": "エクスポートの表示",
+		"import": "インポートダッシュボード",
+		"export": "エクスポートダッシュボード",
+		"export-failed-error": "{{error}}",
+		"create-new-dashboard": "新しいダッシュボードを作成する",
+		"dashboard-file": "ダッシュボードファイル",
+		"invalid-dashboard-file-error": "ダッシュボードをインポートできません:ダッシュボードのデータ構造が無効です。",
+		"dashboard-import-missing-aliases-title": "インポートされたダッシュボードで使用されるエイリアスを設定する",
+		"create-new-widget": "新しいウィジェットを作成する",
+		"import-widget": "インポートウィジェット",
+		"widget-file": "ウィジェットファイル",
+		"invalid-widget-file-error": "ウィジェットをインポートできません:ウィジェットのデータ構造が無効です。",
+		"widget-import-missing-aliases-title": "インポートされたウィジェットで使用されるエイリアスを設定する",
+		"open-toolbar": "ダッシュボードツールバーを開く",
+		"close-toolbar": "ツールバーを閉じる",
+		"configuration-error": "設定エラー",
+		"alias-resolution-error-title": "ダッシュボードエイリアス設定エラー",
+		"invalid-aliases-config": "エイリアスフィルタの一部に一致するデバイスを見つけることができません。<br/>この問題を解決するには、管理者に連絡してください。",
+		"select-devices": "デバイスの選択",
+		"assignedToCustomer": "顧客に割り当てられた",
+		"assignedToCustomers": "顧客に割り当てられた",
+		"public": "パブリック",
+		"public-link": "パブリックリンク",
+		"copy-public-link": "パブリックリンクをコピーする",
+		"public-link-copied-message": "ダッシュボードのパブリックリンクがクリップボードにコピーされました",
+		"manage-states": "ダッシュボードの状態を管理する",
+		"states": "ダッシュボードの状態",
+		"search-states": "検索ダッシュボードの状態",
+		"selected-states": "{ count, plural, 1 {1 dashboard state} other {# dashboard states} }選択された",
+		"edit-state": "ダッシュボードの状態を編集する",
+		"delete-state": "ダッシュボードの状態を削除する",
+		"add-state": "ダッシュボードの状態を追加する",
+		"state": "ダッシュボードの状態",
+		"state-name": "名",
+		"state-name-required": "ダッシュボードの状態名は必須です。",
+		"state-id": "状態ID",
+		"state-id-required": "ダッシュボードの状態IDは必須です。",
+		"state-id-exists": "同じIDを持つダッシュボードの状態は既に存在します。",
+		"is-root-state": "ルート状態",
+		"delete-state-title": "ダッシュボードの状態を削除する",
+		"delete-state-text": "'{{stateName}}'?",
+		"show-details": "詳細を表示",
+		"hide-details": "詳細を隠す",
+		"select-state": "ターゲット状態を選択する",
+		"state-controller": "状態コントローラ"
+	},
+	"datakey": {
+		"settings": "設定",
+		"advanced": "上級",
+		"label": "ラベル",
+		"color": "色",
+		"units": "値の隣に表示する特別なシンボル",
+		"decimals": "浮動小数点の後の桁数",
+		"data-generation-func": "データ生成関数",
+		"use-data-post-processing-func": "データ後処理機能を使用する",
+		"configuration": "データキー設定",
+		"timeseries": "タイムズ",
+		"attributes": "属性",
+		"alarm": "アラームフィールド",
+		"timeseries-required": "エンティティの時系列データが必要です。",
+		"timeseries-or-attributes-required": "エンティティのtimeseries /属性は必須です。",
+		"maximum-timeseries-or-attributes": "{ count, plural, 1 {1 timeseries/attribute is allowed.} other {# timeseries/attributes are allowed} }",
+		"alarm-fields-required": "アラームフィールドが必要です。",
+		"function-types": "関数型",
+		"function-types-required": "関数型が必要です。",
+		"maximum-function-types": "{ count, plural, 1 {1 function type is allowed.} other {# function types are allowed} }"
+	},
+	"datasource": {
+		"type": "データソースタイプ",
+		"name": "名",
+		"add-datasource-prompt": "データソースを追加してください"
+	},
+	"details": {
+		"edit-mode": "編集モード",
+		"toggle-edit-mode": "編集モードを切り替える"
+	},
+	"device": {
+		"device": "デバイス",
+		"device-required": "デバイスが必要です。",
+		"devices": "デバイス",
+		"management": "端末管理",
+		"view-devices": "デバイスの表示",
+		"device-alias": "デバイスエイリアス",
+		"aliases": "デバイスエイリアス",
+		"no-alias-matching": "'{{alias}}'見つかりません。",
+		"no-aliases-found": "別名は見つかりませんでした。",
+		"no-key-matching": "'{{key}}'見つかりません。",
+		"no-keys-found": "キーが見つかりません。",
+		"create-new-alias": "新しいものを作成してください!",
+		"create-new-key": "新しいものを作成してください!",
+		"duplicate-alias-error": "'{{alias}}'<br>デバイスエイリアスは、ダッシュボード内で一意である必要があります。",
+		"configure-alias": "'{{alias}}'エイリアス",
+		"no-devices-matching": "'{{entity}}'発見されました。",
+		"alias": "エイリアス",
+		"alias-required": "デバイスエイリアスが必要です。",
+		"remove-alias": "デバイスエイリアスを削除する",
+		"add-alias": "デバイスエイリアスを追加する",
+		"name-starts-with": "デバイス名はで始まります",
+		"device-list": "デバイスリスト",
+		"use-device-name-filter": "フィルタを使用する",
+		"device-list-empty": "デバイスが選択されていません。",
+		"device-name-filter-required": "デバイス名フィルタが必要です。",
+		"device-name-filter-no-device-matched": "'{{device}}'発見されました。",
+		"add": "デバイスを追加",
+		"assign-to-customer": "顧客に割り当てる",
+		"assign-device-to-customer": "顧客にデバイスを割り当てる",
+		"assign-device-to-customer-text": "顧客に割り当てるデバイスを選択してください",
+		"make-public": "端末を公開する",
+		"make-private": "デバイスを非公開にする",
+		"no-devices-text": "デバイスが見つかりません",
+		"assign-to-customer-text": "デバイスを割り当てる顧客を選択してください",
+		"device-details": "デバイスの詳細",
+		"add-device-text": "新しいデバイスを追加する",
+		"credentials": "資格情報",
+		"manage-credentials": "資格情報を管理する",
+		"delete": "デバイスを削除する",
+		"assign-devices": "デバイスを割り当てる",
+		"assign-devices-text": "{ count, plural, 1 {1 device} other {# devices} }顧客に",
+		"delete-devices": "デバイスを削除する",
+		"unassign-from-customer": "顧客からの割り当て解除",
+		"unassign-devices": "デバイスの割り当てを解除する",
+		"unassign-devices-action-title": "{ count, plural, 1 {1 device} other {# devices} }顧客から",
+		"assign-new-device": "新しいデバイスを割り当てる",
+		"make-public-device-title": "'{{deviceName}}'パブリック?",
+		"make-public-device-text": "確認後、デバイスとそのすべてのデータは公開され、他のユーザーがアクセスできるようになります。",
+		"make-private-device-title": "'{{deviceName}}'プライベート?",
+		"make-private-device-text": "確認後、デバイスとそのすべてのデータは非公開になり、他人がアクセスできなくなります。",
+		"view-credentials": "資格情報を表示する",
+		"delete-device-title": "'{{deviceName}}'?",
+		"delete-device-text": "確認後、デバイスと関連するすべてのデータが回復不能になるので注意してください。",
+		"delete-devices-title": "{ count, plural, 1 {1 device} other {# devices} }?",
+		"delete-devices-action-title": "{ count, plural, 1 {1 device} other {# devices} }",
+		"delete-devices-text": "注意してください。確認後、選択したすべてのデバイスが削除され、関連するすべてのデータは回復不能になります。",
+		"unassign-device-title": "'{{deviceName}}'?",
+		"unassign-device-text": "確認の後、デバイスは割り当てが解除され、顧客がアクセスできなくなります。",
+		"unassign-device": "デバイスの割り当てを解除する",
+		"unassign-devices-title": "{ count, plural, 1 {1 device} other {# devices} }?",
+		"unassign-devices-text": "確認の後、選択されたすべてのデバイスが割り当て解除され、顧客がアクセスできなくなります。",
+		"device-credentials": "デバイス資格情報",
+		"credentials-type": "資格情報タイプ",
+		"access-token": "アクセストークン",
+		"access-token-required": "アクセストークンが必要です。",
+		"access-token-invalid": "アクセストークンの長さは、1〜20文字でなければなりません。",
+		"rsa-key": "RSA公開鍵",
+		"rsa-key-required": "RSA公開鍵が必要です。",
+		"secret": "秘密",
+		"secret-required": "秘密が必要です。",
+		"device-type": "デバイスタイプ",
+		"device-type-required": "デバイスタイプが必要です。",
+		"select-device-type": "デバイスタイプを選択",
+		"enter-device-type": "デバイスタイプを入力",
+		"any-device": "すべてのデバイス",
+		"no-device-types-matching": "'{{entitySubtype}}'発見されました。",
+		"device-type-list-empty": "選択されたデバイスタイプはありません。",
+		"device-types": "デバイスの種類",
+		"name": "名",
+		"name-required": "名前は必須です。",
+		"description": "説明",
+		"events": "イベント",
+		"details": "詳細",
+		"copyId": "デバイスIDをコピーする",
+		"copyAccessToken": "コピーアクセストークン",
+		"idCopiedMessage": "デバイスIDがクリップボードにコピーされました",
+		"accessTokenCopiedMessage": "デバイスアクセストークンがクリップボードにコピーされました",
+		"assignedToCustomer": "顧客に割り当てられた",
+		"unable-delete-device-alias-title": "デバイスエイリアスを削除できません",
+		"unable-delete-device-alias-text": "'{{deviceAlias}}'{{widgetsList}}",
+		"is-gateway": "ゲートウェイです",
+		"public": "パブリック",
+		"device-public": "デバイスは公開されています",
+		"select-device": "デバイスの選択"
+	},
+	"dialog": {
+		"close": "ダイアログを閉じる"
+	},
+	"error": {
+		"unable-to-connect": "サーバーに接続できません!インターネット接続を確認してください。",
+		"unhandled-error-code": "{{errorCode}}",
+		"unknown-error": "不明なエラー"
+	},
+	"entity": {
+		"entity": "エンティティ",
+		"entities": "エンティティ",
+		"aliases": "エンティティエイリアス",
+		"entity-alias": "エンティティエイリアス",
+		"unable-delete-entity-alias-title": "エンティティエイリアスを削除できません",
+		"unable-delete-entity-alias-text": "'{{entityAlias}}'{{widgetsList}}",
+		"duplicate-alias-error": "'{{alias}}'<br>エンティティのエイリアスは、ダッシュボード内で一意である必要があります。",
+		"missing-entity-filter-error": "'{{alias}}'.",
+		"configure-alias": "'{{alias}}'エイリアス",
+		"alias": "エイリアス",
+		"alias-required": "エンティティエイリアスが必要です。",
+		"remove-alias": "エンティティエイリアスを削除する",
+		"add-alias": "エンティティエイリアスを追加する",
+		"entity-list": "エンティティリスト",
+		"entity-type": "エンティティタイプ",
+		"entity-types": "エンティティタイプ",
+		"entity-type-list": "エンティティタイプリスト",
+		"any-entity": "任意のエンティティ",
+		"enter-entity-type": "エンティティタイプを入力",
+		"no-entities-matching": "'{{entity}}'発見されました。",
+		"no-entity-types-matching": "'{{entityType}}'発見されました。",
+		"name-starts-with": "名前はで始まる",
+		"use-entity-name-filter": "フィルタを使用する",
+		"entity-list-empty": "選択されたエンティティはありません",
+		"entity-type-list-empty": "エンティティタイプは選択されていません。",
+		"entity-name-filter-required": "エンティティ名フィルタが必要です。",
+		"entity-name-filter-no-entity-matched": "'{{entity}}'発見されました。",
+		"all-subtypes": "すべて",
+		"select-entities": "エンティティの選択",
+		"no-aliases-found": "別名は見つかりませんでした。",
+		"no-alias-matching": "'{{alias}}'見つかりません。",
+		"create-new-alias": "新しいものを作成してください!",
+		"key": "キー",
+		"key-name": "キー名",
+		"no-keys-found": "キーが見つかりません。",
+		"no-key-matching": "'{{key}}'見つかりません。",
+		"create-new-key": "新しいものを作成してください!",
+		"type": "タイプ",
+		"type-required": "エンティティタイプが必要です。",
+		"type-device": "デバイス",
+		"type-devices": "デバイス",
+		"list-of-devices": "{ count, plural, 1 {One device} other {List of # devices} }",
+		"device-name-starts-with": "'{{prefix}}'",
+		"type-asset": "資産",
+		"type-assets": "資産",
+		"list-of-assets": "{ count, plural, 1 {One asset} other {List of # assets} }",
+		"asset-name-starts-with": "'{{prefix}}'",
+		"type-rule": "ルール",
+		"type-rules": "ルール",
+		"list-of-rules": "{ count, plural, 1 {One rule} other {List of # rules} }",
+		"rule-name-starts-with": "'{{prefix}}'",
+		"type-plugin": "プラグイン",
+		"type-plugins": "プラグイン",
+		"list-of-plugins": "{ count, plural, 1 {One plugin} other {List of # plugins} }",
+		"plugin-name-starts-with": "'{{prefix}}'",
+		"type-tenant": "テナント",
+		"type-tenants": "テナント",
+		"list-of-tenants": "{ count, plural, 1 {One tenant} other {List of # tenants} }",
+		"tenant-name-starts-with": "'{{prefix}}'",
+		"type-customer": "顧客",
+		"type-customers": "顧客",
+		"list-of-customers": "{ count, plural, 1 {One customer} other {List of # customers} }",
+		"customer-name-starts-with": "'{{prefix}}'",
+		"type-user": "ユーザー",
+		"type-users": "ユーザー",
+		"list-of-users": "{ count, plural, 1 {One user} other {List of # users} }",
+		"user-name-starts-with": "'{{prefix}}'",
+		"type-dashboard": "ダッシュボード",
+		"type-dashboards": "ダッシュボード",
+		"list-of-dashboards": "{ count, plural, 1 {One dashboard} other {List of # dashboards} }",
+		"dashboard-name-starts-with": "'{{prefix}}'",
+		"type-alarm": "警報",
+		"type-alarms": "アラーム",
+		"list-of-alarms": "{ count, plural, 1 {One alarms} other {List of # alarms} }",
+		"alarm-name-starts-with": "'{{prefix}}'",
+		"type-rulechain": "ルールチェーン",
+		"type-rulechains": "ルールチェーン",
+		"list-of-rulechains": "{ count, plural, 1 {One rule chain} other {List of # rule chains} }",
+		"rulechain-name-starts-with": "'{{prefix}}'",
+		"type-rulenode": "ルールノード",
+		"type-rulenodes": "ルールノード",
+		"list-of-rulenodes": "{ count, plural, 1 {One rule node} other {List of # rule nodes} }",
+		"rulenode-name-starts-with": "'{{prefix}}'",
+		"type-current-customer": "現在の顧客",
+		"search": "検索エンティティ",
+		"selected-entities": "{ count, plural, 1 {1 entity} other {# entities} }選択された",
+		"entity-name": "エンティティ名",
+		"details": "エンティティの詳細",
+		"no-entities-prompt": "エンティティが見つかりません",
+		"no-data": "表示するデータがありません"
+	},
+	"event": {
+		"event-type": "イベントタイプ",
+		"type-error": "エラー",
+		"type-lc-event": "ライフサイクルイベント",
+		"type-stats": "統計",
+		"type-debug-rule-node": "デバッグ",
+		"type-debug-rule-chain": "デバッグ",
+		"no-events-prompt": "イベントは見つかりませんでした",
+		"error": "エラー",
+		"alarm": "警報",
+		"event-time": "イベント時間",
+		"server": "サーバ",
+		"body": "体",
+		"method": "方法",
+		"type": "タイプ",
+		"entity": "エンティティ",
+		"message-id": "メッセージID",
+		"message-type": "メッセージタイプ",
+		"data-type": "データ・タイプ",
+		"relation-type": "関係タイプ",
+		"metadata": "メタデータ",
+		"data": "データ",
+		"event": "イベント",
+		"status": "状態",
+		"success": "成功",
+		"failed": "失敗",
+		"messages-processed": "処理されたメッセージ",
+		"errors-occurred": "エラーが発生しました"
+	},
+	"extension": {
+		"extensions": "拡張機能",
+		"selected-extensions": "{ count, plural, 1 {1 extension} other {# extensions} }選択された",
+		"type": "タイプ",
+		"key": "キー",
+		"value": "値",
+		"id": "イド",
+		"extension-id": "内線番号",
+		"extension-type": "拡張タイプ",
+		"transformer-json": "JSON *",
+		"unique-id-required": "現在の拡張IDは既に存在します。",
+		"delete": "拡張子を削除",
+		"add": "内線番号を追加",
+		"edit": "拡張機能を編集する",
+		"delete-extension-title": "'{{extensionId}}'?",
+		"delete-extension-text": "確認後、拡張子と関連するすべてのデータが回復不能になることに注意してください。",
+		"delete-extensions-title": "{ count, plural, 1 {1 extension} other {# extensions} }?",
+		"delete-extensions-text": "注意してください。確認後、選択したすべての内線番号が削除されます。",
+		"converters": "コンバーター",
+		"converter-id": "コンバーターID",
+		"configuration": "構成",
+		"converter-configurations": "コンバータ構成",
+		"token": "セキュリティトークン",
+		"add-converter": "コンバータを追加する",
+		"add-config": "コンバータ設定を追加する",
+		"device-name-expression": "デバイス名式",
+		"device-type-expression": "デバイスタイプの式",
+		"custom": "カスタム",
+		"to-double": "ダブル",
+		"transformer": "トランス",
+		"json-required": "トランスフォーマーjsonが必要です。",
+		"json-parse": "変圧器jsonを解析できません。",
+		"attributes": "属性",
+		"add-attribute": "属性を追加する",
+		"add-map": "マッピング要素を追加する",
+		"timeseries": "タイムズ",
+		"add-timeseries": "時系列を追加する",
+		"field-required": "フィールドは必須項目です",
+		"brokers": "ブローカー",
+		"add-broker": "ブローカーを追加",
+		"host": "ホスト",
+		"port": "ポート",
+		"port-range": "ポートは1〜65535の範囲内にある必要があります。",
+		"ssl": "SSL",
+		"credentials": "資格情報",
+		"username": "ユーザー名",
+		"password": "パスワード",
+		"retry-interval": "ミリ秒単位の再試行間隔",
+		"anonymous": "匿名",
+		"basic": "ベーシック",
+		"pem": "PEM",
+		"ca-cert": "CA証明書ファイル*",
+		"private-key": "秘密鍵ファイル*",
+		"cert": "証明書ファイル*",
+		"no-file": "ファイルが選択されていません。",
+		"drop-file": "ファイルをドロップするか、クリックしてアップロードするファイルを選択します。",
+		"mapping": "マッピング",
+		"topic-filter": "トピックフィルタ",
+		"converter-type": "コンバータタイプ",
+		"converter-json": "Json",
+		"json-name-expression": "デバイス名json式",
+		"topic-name-expression": "デバイス名トピック表現",
+		"json-type-expression": "デバイスタイプjson式",
+		"topic-type-expression": "デバイスタイプトピック表現",
+		"attribute-key-expression": "属性キー式",
+		"attr-json-key-expression": "属性キーjson式",
+		"attr-topic-key-expression": "属性キートピック式",
+		"request-id-expression": "要求ID式",
+		"request-id-json-expression": "リクエストID json式",
+		"request-id-topic-expression": "リクエストIDトピック表現",
+		"response-topic-expression": "応答トピック表現",
+		"value-expression": "値式",
+		"topic": "トピック",
+		"timeout": "タイムアウト(ミリ秒)",
+		"converter-json-required": "コンバータjsonが必要です。",
+		"converter-json-parse": "コンバータjsonを解析できません。",
+		"filter-expression": "フィルタ式",
+		"connect-requests": "接続要求",
+		"add-connect-request": "接続要求を追加",
+		"disconnect-requests": "切断要求",
+		"add-disconnect-request": "切断リクエストを追加する",
+		"attribute-requests": "属性要求",
+		"add-attribute-request": "属性要求を追加する",
+		"attribute-updates": "属性の更新",
+		"add-attribute-update": "属性の更新を追加する",
+		"server-side-rpc": "サーバー側RPC",
+		"add-server-side-rpc-request": "サーバー側RPC要求を追加する",
+		"device-name-filter": "デバイス名フィルタ",
+		"attribute-filter": "属性フィルタ",
+		"method-filter": "方法フィルター",
+		"request-topic-expression": "トピック表現を要求する",
+		"response-timeout": "応答タイムアウト(ミリ秒)",
+		"topic-expression": "トピック表現",
+		"client-scope": "クライアントスコープ",
+		"add-device": "デバイスを追加",
+		"opc-server": "サーバー",
+		"opc-add-server": "サーバーを追加",
+		"opc-add-server-prompt": "サーバーを追加してください",
+		"opc-application-name": "アプリケーション名",
+		"opc-application-uri": "アプリケーションURI",
+		"opc-scan-period-in-seconds": "スキャン時間(秒)",
+		"opc-security": "セキュリティ",
+		"opc-identity": "身元",
+		"opc-keystore": "キーストア",
+		"opc-type": "タイプ",
+		"opc-keystore-type": "タイプ",
+		"opc-keystore-location": "ロケーション*",
+		"opc-keystore-password": "パスワード",
+		"opc-keystore-alias": "エイリアス",
+		"opc-keystore-key-password": "キーのパスワード",
+		"opc-device-node-pattern": "デバイスノードパターン",
+		"opc-device-name-pattern": "デバイス名パターン",
+		"modbus-server": "サーバー/スレーブ",
+		"modbus-add-server": "サーバー/スレーブを追加する",
+		"modbus-add-server-prompt": "サーバー/スレーブを追加してください",
+		"modbus-transport": "輸送",
+		"modbus-port-name": "シリアルポート名",
+		"modbus-encoding": "エンコーディング",
+		"modbus-parity": "パリティ",
+		"modbus-baudrate": "ボーレート",
+		"modbus-databits": "データビット",
+		"modbus-stopbits": "ストップビット",
+		"modbus-databits-range": "データビットは7〜8の範囲内にある必要があります。",
+		"modbus-stopbits-range": "ストップビットは1〜2の範囲内でなければなりません。",
+		"modbus-unit-id": "ユニットID",
+		"modbus-unit-id-range": "ユニットIDは1〜247の範囲で指定してください。",
+		"modbus-device-name": "装置名",
+		"modbus-poll-period": "投票期間(ミリ秒)",
+		"modbus-attributes-poll-period": "属性のポーリング期間(ミリ秒)",
+		"modbus-timeseries-poll-period": "時系列ポーリング期間(ミリ秒)",
+		"modbus-poll-period-range": "投票期間は正の値でなければなりません。",
+		"modbus-tag": "タグ",
+		"modbus-function": "関数",
+		"modbus-register-address": "登録アドレス",
+		"modbus-register-address-range": "レジスタのアドレスは0〜65535の範囲内である必要があります。",
+		"modbus-register-bit-index": "ビットインデックス",
+		"modbus-register-bit-index-range": "ビットインデックスは0〜15の範囲内である必要があります。",
+		"modbus-register-count": "レジスタ数",
+		"modbus-register-count-range": "レジスタ数は正の値でなければなりません。",
+		"modbus-byte-order": "バイト順",
+
+		"sync": {
+			"status": "状態",
+			"sync": "同期",
+			"not-sync": "同期しない",
+			"last-sync-time": "前回の同期時間",
+			"not-available": "利用不可"
+		},
+
+		"export-extensions-configuration": "エクステンション設定のエクスポート",
+		"import-extensions-configuration": "エクステンション設定のインポート",
+		"import-extensions": "拡張機能のインポート",
+		"import-extension": "インポート拡張",
+		"export-extension": "輸出延長",
+		"file": "拡張機能ファイル",
+		"invalid-file-error": "無効な拡張ファイル"
+	},
+	"fullscreen": {
+		"expand": "フルスクリーンに拡大",
+		"exit": "全画面表示を終了",
+		"toggle": "フルスクリーンモードを切り替える",
+		"fullscreen": "全画面表示"
+	},
+	"function": {
+		"function": "関数"
+	},
+	"grid": {
+		"delete-item-title": "このアイテムを削除してもよろしいですか?",
+		"delete-item-text": "注意してください。確認後、この項目と関連するすべてのデータは回復不能になります。",
+		"delete-items-title": "{ count, plural, 1 {1 item} other {# items} }?",
+		"delete-items-action-title": "{ count, plural, 1 {1 item} other {# items} }",
+		"delete-items-text": "注意してください。確認後、選択したすべてのアイテムが削除され、関連するすべてのデータは回復不能になります。",
+		"add-item-text": "新しいアイテムを追加",
+		"no-items-text": "項目は見つかりませんでした",
+		"item-details": "商品詳細",
+		"delete-item": "アイテムを削除",
+		"delete-items": "アイテムを削除する",
+		"scroll-to-top": "トップにスクロールします"
+	},
+	"help": {
+		"goto-help-page": "ヘルプページに行く"
+	},
+	"home": {
+		"home": "ホーム",
+		"profile": "プロフィール",
+		"logout": "ログアウト",
+		"menu": "メニュー",
+		"avatar": "アバター",
+		"open-user-menu": "ユーザーメニューを開く"
+	},
+	"import": {
+		"no-file": "ファイルが選択されていません",
+		"drop-file": "JSONファイルをドロップするか、アップロードするファイルをクリックして選択します。"
+	},
+	"item": {
+		"selected": "選択された"
+	},
+	"js-func": {
+		"no-return-error": "関数は値を返す必要があります!",
+		"return-type-mismatch": "'{{type}}'タイプ!",
+		"tidy": "きちんとした"
+	},
+	"key-val": {
+		"key": "キー",
+		"value": "値",
+		"remove-entry": "エントリを削除",
+		"add-entry": "エントリを追加",
+		"no-data": "エントリなし"
+	},
+	"layout": {
+		"layout": "レイアウト",
+		"manage": "レイアウトの管理",
+		"settings": "レイアウト設定",
+		"color": "色",
+		"main": "メイン",
+		"right": "右",
+		"select": "ターゲットレイアウトを選択"
+	},
+	"legend": {
+		"position": "伝説の位置",
+		"show-max": "最大値を表示",
+		"show-min": "最小値を表示する",
+		"show-avg": "平均値を表示",
+		"show-total": "合計値を表示",
+		"settings": "凡例の設定",
+		"min": "分",
+		"max": "最大",
+		"avg": "平均",
+		"total": "合計"
+	},
+	"login": {
+		"login": "ログイン",
+		"request-password-reset": "リクエストパスワードのリセット",
+		"reset-password": "パスワードを再設定する",
+		"create-password": "パスワードの作成",
+		"passwords-mismatch-error": "入力されたパスワードは同じでなければなりません!",
+		"password-again": "パスワードをもう一度",
+		"sign-in": "サインインしてください",
+		"username": "ユーザー名(電子メール)",
+		"remember-me": "私を覚えてますか",
+		"forgot-password": "パスワードをお忘れですか?",
+		"password-reset": "パスワードのリセット",
+		"new-password": "新しいパスワード",
+		"new-password-again": "新しいパスワードを再入力",
+		"password-link-sent-message": "パスワードリセットリンクが正常に送信されました!",
+		"email": "Eメール"
+	},
+	"position": {
+		"top": "上",
+		"bottom": "ボトム",
+		"left": "左",
+		"right": "右"
+	},
+	"profile": {
+		"profile": "プロフィール",
+		"change-password": "パスワードを変更する",
+		"current-password": "現在のパスワード"
+	},
+	"relation": {
+		"relations": "関係",
+		"direction": "方向",
+		"search-direction": {
+			"FROM": "から",
+			"TO": "に"
+		},
+		"direction-type": {
+			"FROM": "から",
+			"TO": "に"
+		},
+		"from-relations": "アウトバウンド関係",
+		"to-relations": "インバウンド関係",
+		"selected-relations": "{ count, plural, 1 {1 relation} other {# relations} }選択された",
+		"type": "タイプ",
+		"to-entity-type": "エンティティタイプへ",
+		"to-entity-name": "エンティティ名に",
+		"from-entity-type": "エンティティタイプから",
+		"from-entity-name": "エンティティ名から",
+		"to-entity": "実体へ",
+		"from-entity": "エンティティから",
+		"delete": "関係を削除する",
+		"relation-type": "関係タイプ",
+		"relation-type-required": "関係タイプが必要です。",
+		"any-relation-type": "いかなるタイプ",
+		"add": "関係を追加する",
+		"edit": "関係を編集する",
+		"delete-to-relation-title": "'{{entityName}}'?",
+		"delete-to-relation-text": "'{{entityName}}'現在のエンティティとは無関係です。",
+		"delete-to-relations-title": "{ count, plural, 1 {1 relation} other {# relations} }?",
+		"delete-to-relations-text": "注意してください。確認後、選択されたリレーションはすべて削除され、対応するエンティティは現在のエンティティとは無関係になります。",
+		"delete-from-relation-title": "'{{entityName}}'?",
+		"delete-from-relation-text": "'{{entityName}}'.",
+		"delete-from-relations-title": "{ count, plural, 1 {1 relation} other {# relations} }?",
+		"delete-from-relations-text": "注意してください。確認後、選択されたリレーションはすべて削除され、現在のエンティティは対応するエンティティとは無関係になります。",
+		"remove-relation-filter": "関係フィルタを削除する",
+		"add-relation-filter": "関係フィルタを追加する",
+		"any-relation": "関係",
+		"relation-filters": "関係フィルタ",
+		"additional-info": "追加情報(JSON)",
+		"invalid-additional-info": "追加情報jsonを解析できません。"
+	},
+	"rulechain": {
+		"rulechain": "ルールチェーン",
+		"rulechains": "ルールチェーン",
+		"root": "ルート",
+		"delete": "ルールチェーンの削除",
+		"name": "名",
+		"name-required": "名前は必須です。",
+		"description": "説明",
+		"add": "ルールチェーンを追加する",
+		"set-root": "ルールチェーンのルートを作る",
+		"set-root-rulechain-title": "'{{ruleChainName}}'ルート?",
+		"set-root-rulechain-text": "確認後、ルールチェーンはルートになり、すべての受信トランスポートメッセージを処理します。",
+		"delete-rulechain-title": "'{{ruleChainName}}'?",
+		"delete-rulechain-text": "確認後、ルールチェーンと関連するすべてのデータが回復不能になるので注意してください。",
+		"delete-rulechains-title": "{ count, plural, 1 {1 rule chain} other {# rule chains} }?",
+		"delete-rulechains-action-title": "{ count, plural, 1 {1 rule chain} other {# rule chains} }",
+		"delete-rulechains-text": "確認後、選択したすべてのルールチェーンが削除され、関連するすべてのデータが回復不能になるので注意してください。",
+		"add-rulechain-text": "新しいルールチェーンを追加する",
+		"no-rulechains-text": "ルールチェーンが見つかりません",
+		"rulechain-details": "ルールチェーンの詳細",
+		"details": "詳細",
+		"events": "イベント",
+		"system": "システム",
+		"import": "ルールチェーンのインポート",
+		"export": "ルールチェーンのエクスポート",
+		"export-failed-error": "{{error}}",
+		"create-new-rulechain": "新しいルールチェーンを作成する",
+		"rulechain-file": "ルールチェーンファイル",
+		"invalid-rulechain-file-error": "ルールチェーンをインポートできません:ルールチェーンのデータ構造が無効です。",
+		"copyId": "ルールチェーンIDのコピー",
+		"idCopiedMessage": "ルールチェーンIDがクリップボードにコピーされました",
+		"select-rulechain": "ルールチェーンの選択",
+		"no-rulechains-matching": "'{{entity}}'発見されました。",
+		"rulechain-required": "ルールチェーンが必要です",
+		"management": "ルール管理",
+		"debug-mode": "デバッグモード"
+	},
+	"rulenode": {
+		"details": "詳細",
+		"events": "イベント",
+		"search": "検索ノード",
+		"open-node-library": "オープンノードライブラリ",
+		"add": "ルールノードを追加する",
+		"name": "名",
+		"name-required": "名前は必須です。",
+		"type": "タイプ",
+		"description": "説明",
+		"delete": "ルールノードを削除",
+		"select-all-objects": "すべてのノードと接続を選択する",
+		"deselect-all-objects": "すべてのノードと接続の選択を解除する",
+		"delete-selected-objects": "選択したノードと接続を削除する",
+		"delete-selected": "選択を削除します",
+		"select-all": "すべて選択",
+		"copy-selected": "選択したコピー",
+		"deselect-all": "すべての選択を解除",
+		"rulenode-details": "ルールノードの詳細",
+		"debug-mode": "デバッグモード",
+		"configuration": "構成",
+		"link": "リンク",
+		"link-details": "ルールノードのリンクの詳細",
+		"add-link": "リンクを追加",
+		"link-label": "リンクラベル",
+		"link-label-required": "リンクラベルが必要です。",
+		"custom-link-label": "カスタムリンクラベル",
+		"custom-link-label-required": "カスタムリンクラベルが必要です。",
+		"link-labels": "リンクラベル",
+		"link-labels-required": "リンクラベルが必要です。",
+		"no-link-labels-found": "リンクラベルが見つかりません",
+		"no-link-label-matching": "'{{label}}'見つかりません。",
+		"create-new-link-label": "新しいものを作成してください!",
+		"type-filter": "フィルタ",
+		"type-filter-details": "設定された条件で着信メッセージをフィルタリングする",
+		"type-enrichment": "豊かな",
+		"type-enrichment-details": "メッセージメタデータに追加情報を追加する",
+		"type-transformation": "変換",
+		"type-transformation-details": "メッセージペイロードとメタデータの変更",
+		"type-action": "アクション",
+		"type-action-details": "特別なアクションを実行する",
+		"type-external": "外部",
+		"type-external-details": "外部システムとの相互作用",
+		"type-rule-chain": "ルールチェーン",
+		"type-rule-chain-details": "受信したメッセージを指定したルールチェーンに転送する",
+		"type-input": "入力",
+		"type-input-details": "ルールチェーンの論理入力、次の関連ルールノードへの着信メッセージの転送",
+		"type-unknown": "未知の",
+		"type-unknown-details": "未解決のルールノード",
+		"directive-is-not-loaded": "'{{directiveName}}'利用できません。",
+		"ui-resources-load-error": "構成UIリソースをロードできませんでした。",
+		"invalid-target-rulechain": "ターゲットルールチェーンを解決できません!",
+		"test-script-function": "テストスクリプト機能",
+		"message": "メッセージ",
+		"message-type": "メッセージタイプ",
+		"select-message-type": "メッセージタイプを選択",
+		"message-type-required": "メッセージタイプは必須です",
+		"metadata": "メタデータ",
+		"metadata-required": "メタデータのエントリを空にすることはできません。",
+		"output": "出力",
+		"test": "テスト",
+		"help": "助けて"
+	},
+	"tenant": {
+		"tenant": "テナント",
+		"tenants": "テナント",
+		"management": "テナント管理",
+		"add": "テナントを追加",
+		"admins": "管理者",
+		"manage-tenant-admins": "テナント管理者の管理",
+		"delete": "テナントの削除",
+		"add-tenant-text": "新しいテナントを追加する",
+		"no-tenants-text": "テナントは見つかりませんでした",
+		"tenant-details": "テナントの詳細",
+		"delete-tenant-title": "'{{tenantTitle}}'?",
+		"delete-tenant-text": "確認後、テナントと関連するすべてのデータが回復不能になるので注意してください。",
+		"delete-tenants-title": "{ count, plural, 1 {1 tenant} other {# tenants} }?",
+		"delete-tenants-action-title": "{ count, plural, 1 {1 tenant} other {# tenants} }",
+		"delete-tenants-text": "注意してください。確認後、選択されたすべてのテナントが削除され、関連するすべてのデータは回復不能になります。",
+		"title": "タイトル",
+		"title-required": "タイトルは必須です。",
+		"description": "説明",
+		"details": "詳細",
+		"events": "イベント",
+		"copyId": "テナントIDをコピーする",
+		"idCopiedMessage": "テナントIDがクリップボードにコピーされました",
+		"select-tenant": "テナントを選択",
+		"no-tenants-matching": "'{{entity}}'発見されました。",
+		"tenant-required": "テナントが必要です"
+	},
+	"timeinterval": {
+		"seconds-interval": "{ seconds, select, 1 {1 second} other {# seconds} }",
+		"minutes-interval": "{ minutes, select, 1 {1 minute} other {# minutes} }",
+		"hours-interval": "{ hours, select, 1 {1 hour} other {# hours} }",
+		"days-interval": "{ days, select, 1 {1 day} other {# days} }",
+		"days": "日々",
+		"hours": "時間",
+		"minutes": "分",
+		"seconds": "秒",
+		"advanced": "上級"
+	},
+	"timewindow": {
+		"days": "{ days, select, 1 { day } other {# days } }",
+		"hours": "{ hours, select, 0 { hour } 1 {1 hour } other {# hours } }",
+		"minutes": "{ minutes, select, 0 { minute } 1 {1 minute } other {# minutes } }",
+		"seconds": "{ seconds, select, 0 { second } 1 {1 second } other {# seconds } }",
+		"realtime": "リアルタイム",
+		"history": "歴史",
+		"last-prefix": "最終",
+		"period": "{{ startTime }}{{ endTime }}",
+		"edit": "タイムウィンドウを編集",
+		"date-range": "期間",
+		"last": "最終",
+		"time-period": "期間"
+	},
+	"user": {
+		"user": "ユーザー",
+		"users": "ユーザー",
+		"customer-users": "顧客ユーザー",
+		"tenant-admins": "テナント管理者",
+		"sys-admin": "システム管理者",
+		"tenant-admin": "テナント管理者",
+		"customer": "顧客",
+		"anonymous": "匿名",
+		"add": "ユーザーを追加する",
+		"delete": "ユーザーを削除",
+		"add-user-text": "新しいユーザーを追加",
+		"no-users-text": "ユーザが見つかりませんでした",
+		"user-details": "ユーザーの詳細",
+		"delete-user-title": "'{{userEmail}}'?",
+		"delete-user-text": "確認後、ユーザーと関連するすべてのデータが回復不能になるので注意してください。",
+		"delete-users-title": "{ count, plural, 1 {1 user} other {# users} }?",
+		"delete-users-action-title": "{ count, plural, 1 {1 user} other {# users} }",
+		"delete-users-text": "注意してください。確認後、選択したすべてのユーザーが削除され、関連するすべてのデータは回復不能になります。",
+		"activation-email-sent-message": "アクティベーション電子メールが正常に送信されました!",
+		"resend-activation": "アクティブ化を再送",
+		"email": "Eメール",
+		"email-required": "電子メールが必要です。",
+		"invalid-email-format": "メールフォーマットが無効です。",
+		"first-name": "ファーストネーム",
+		"last-name": "苗字",
+		"description": "説明",
+		"default-dashboard": "デフォルトのダッシュボード",
+		"always-fullscreen": "常に全画面表示",
+		"select-user": "ユーザーを選択",
+		"no-users-matching": "'{{entity}}'発見されました。",
+		"user-required": "ユーザーは必須です",
+		"activation-method": "起動方法",
+		"display-activation-link": "アクティブ化リンクを表示する",
+		"send-activation-mail": "アクティベーションメールを送信する",
+		"activation-link": "ユーザーアクティベーションリンク",
+		"activation-link-text": "<a href='{{activationLink}}' target='_blank'>activation link</a> :",
+		"copy-activation-link": "アクティブ化リンクをコピーする",
+		"activation-link-copied-message": "ユーザーのアクティベーションリンクがクリップボードにコピーされました",
+		"details": "詳細"
+	},
+	"value": {
+		"type": "値のタイプ",
+		"string": "文字列",
+		"string-value": "文字列値",
+		"integer": "整数",
+		"integer-value": "整数値",
+		"invalid-integer-value": "整数値が無効です",
+		"double": "ダブル",
+		"double-value": "二重価値",
+		"boolean": "ブール",
+		"boolean-value": "ブール値",
+		"false": "偽",
+		"true": "真",
+		"long": "長いです"
+	},
+	"widget": {
+		"widget-library": "ウィジェットライブラリ",
+		"widget-bundle": "ウィジェットバンドル",
+		"select-widgets-bundle": "ウィジェットのバンドルを選択",
+		"management": "ウィジェット管理",
+		"editor": "ウィジェットエディタ",
+		"widget-type-not-found": "ウィジェットの設定を読み込む際に問題が発生しました。<br>おそらく関連付けられているウィジェットのタイプが削除されています。",
+		"widget-type-load-error": "次のエラーのためにウィジェットが読み込まれませんでした:",
+		"remove": "ウィジェットを削除",
+		"edit": "ウィジェットの編集",
+		"remove-widget-title": "'{{widgetTitle}}'?",
+		"remove-widget-text": "確認後、ウィジェットと関連するすべてのデータは回復不能になります。",
+		"timeseries": "時系列",
+		"search-data": "検索データ",
+		"no-data-found": "何もデータが見つかりませんでした",
+		"latest-values": "最新の値",
+		"rpc": "コントロールウィジェット",
+		"alarm": "アラームウィジェット",
+		"static": "静的ウィジェット",
+		"select-widget-type": "ウィジェットタイプを選択",
+		"missing-widget-title-error": "ウィジェットのタイトルを指定する必要があります!",
+		"widget-saved": "ウィジェットが保存されました",
+		"unable-to-save-widget-error": "ウィジェットを保存できません!ウィジェットにエラーがあります!",
+		"save": "ウィジェットを保存",
+		"saveAs": "ウィジェットを次のように保存する",
+		"save-widget-type-as": "ウィジェットタイプを次のように保存します",
+		"save-widget-type-as-text": "新しいウィジェットのタイトルを入力したり、ターゲットウィジェットのバンドルを選択してください",
+		"toggle-fullscreen": "フルスクリーン切り替え",
+		"run": "ウィジェットを実行する",
+		"title": "ウィジェットのタイトル",
+		"title-required": "ウィジェットのタイトルが必要です。",
+		"type": "ウィジェットタイプ",
+		"resources": "リソース",
+		"resource-url": "JavaScript / CSS URL",
+		"remove-resource": "リソースを削除する",
+		"add-resource": "リソースを追加",
+		"html": "HTML",
+		"tidy": "きちんとした",
+		"css": "CSS",
+		"settings-schema": "設定スキーマ",
+		"datakey-settings-schema": "データキー設定のスキーマ",
+		"javascript": "Javascript",
+		"remove-widget-type-title": "'{{widgetName}}'?",
+		"remove-widget-type-text": "確認後、ウィジェットのタイプと関連するすべてのデータは回復不能になります。",
+		"remove-widget-type": "ウィジェットタイプを削除",
+		"add-widget-type": "新しいウィジェットタイプを追加する",
+		"widget-type-load-failed-error": "ウィジェットタイプの読み込みに失敗しました!",
+		"widget-template-load-failed-error": "ウィジェットテンプレートを読み込めませんでした!",
+		"add": "ウィジェットを追加",
+		"undo": "ウィジェットの変更を元に戻す",
+		"export": "ウィジェットの書き出し"
+	},
+	"widget-action": {
+		"header-button": "ウィジェットのヘッダーボタン",
+		"open-dashboard-state": "新しいダッシュボードの状態に移動する",
+		"update-dashboard-state": "現在のダッシュボードの状態を更新する",
+		"open-dashboard": "他のダッシュボードに移動する",
+		"custom": "カスタムアクション",
+		"target-dashboard-state": "ターゲットダッシュボードの状態",
+		"target-dashboard-state-required": "ターゲットダッシュボードの状態が必要です",
+		"set-entity-from-widget": "エンティティをウィジェットから設定する",
+		"target-dashboard": "ターゲットダッシュボード",
+		"open-right-layout": "右ダッシュボードレイアウトを開く(モバイルビュー)"
+	},
+	"widgets-bundle": {
+		"current": "現在のバンドル",
+		"widgets-bundles": "ウィジェットバンドル",
+		"add": "ウィジェットのバンドルを追加",
+		"delete": "ウィジェットのバンドルを削除する",
+		"title": "タイトル",
+		"title-required": "タイトルは必須です。",
+		"add-widgets-bundle-text": "新しいウィジェットのバンドルを追加する",
+		"no-widgets-bundles-text": "ウィジェットバンドルが見つかりません",
+		"empty": "ウィジェットのバンドルが空です",
+		"details": "詳細",
+		"widgets-bundle-details": "ウィジェットのバンドルの詳細",
+		"delete-widgets-bundle-title": "'{{widgetsBundleTitle}}'?",
+		"delete-widgets-bundle-text": "確認後、ウィジェットはバンドルされ、関連するすべてのデータは回復不能になります。",
+		"delete-widgets-bundles-title": "{ count, plural, 1 {1 widgets bundle} other {# widgets bundles} }?",
+		"delete-widgets-bundles-action-title": "{ count, plural, 1 {1 widgets bundle} other {# widgets bundles} }",
+		"delete-widgets-bundles-text": "確認後、選択したすべてのウィジェットバンドルは削除され、関連するすべてのデータは回復不能になります。",
+		"no-widgets-bundles-matching": "'{{widgetsBundle}}'発見されました。",
+		"widgets-bundle-required": "ウィジェットバンドルが必要です。",
+		"system": "システム",
+		"import": "インポートウィジェットバンドル",
+		"export": "ウィジェットのエクスポートバンドル",
+		"export-failed-error": "{{error}}",
+		"create-new-widgets-bundle": "新しいウィジェットバンドルを作成する",
+		"widgets-bundle-file": "ウィジェットのバンドルファイル",
+		"invalid-widgets-bundle-file-error": "ウィジェットをインポートできません。bundle:データ構造が無効です。"
+	},
+	"widget-config": {
+		"data": "データ",
+		"settings": "設定",
+		"advanced": "上級",
+		"title": "タイトル",
+		"general-settings": "一般設定",
+		"display-title": "タイトルを表示",
+		"drop-shadow": "影を落とす",
+		"enable-fullscreen": "フルスクリーンを有効にする",
+		"background-color": "背景色",
+		"text-color": "テキストの色",
+		"padding": "パディング",
+		"margin": "マージン",
+		"widget-style": "ウィジェットスタイル",
+		"title-style": "タイトルスタイル",
+		"mobile-mode-settings": "モバイルモードの設定",
+		"order": "注文",
+		"height": "高さ",
+		"units": "値の隣に表示する特別なシンボル",
+		"decimals": "浮動小数点の後の桁数",
+		"timewindow": "タイムウィンドウ",
+		"use-dashboard-timewindow": "ダッシュボードのタイムウィンドウを使用する",
+		"display-legend": "伝説を表示",
+		"datasources": "データソース",
+		"maximum-datasources": "{ count, plural, 1 {1 datasource is allowed.} other {# datasources are allowed} }",
+		"datasource-type": "タイプ",
+		"datasource-parameters": "パラメーター",
+		"remove-datasource": "データソースを削除",
+		"add-datasource": "データソースを追加",
+		"target-device": "ターゲットデバイス",
+		"alarm-source": "アラームソース",
+		"actions": "行動",
+		"action": "アクション",
+		"add-action": "アクションを追加",
+		"search-actions": "検索アクション",
+		"action-source": "アクションソース",
+		"action-source-required": "アクションソースが必要です。",
+		"action-name": "名",
+		"action-name-required": "アクション名は必須です。",
+        "action-name-not-unique": "同じ名前の別のアクションがすでに存在します。<br/>アクション名は、同じアクションソース内で一意である必要があります。",
+		"action-icon": "アイコン",
+		"action-type": "タイプ",
+		"action-type-required": "アクションタイプが必要です。",
+		"edit-action": "アクションの編集",
+		"delete-action": "アクションの削除",
+		"delete-action-title": "ウィジェットアクションを削除する",
+		"delete-action-text": "'{{actionName}}'?"
+	},
+	"widget-type": {
+        "import": "インポートウィジェットタイプ",
+		"export": "ウィジェットのタイプをエクスポートする",
+		"export-failed-error": "{{error}}",
+		"create-new-widget-type": "新しいウィジェットタイプを作成する",
+		"widget-type-file": "ウィジェットタイプファイル",
+		"invalid-widget-type-file-error": "ウィジェットタイプをインポートできません:ウィジェットタイプのデータ構造が無効です。"
+	},
+	"icon": {
+		"icon": "アイコン",
+		"select-icon": "選択アイコン",
+		"material-icons": "マテリアルアイコン",
+		"show-all": "すべてのアイコンを表示する"
+	},
+	"custom": {
+		"widget-action": {
+			"action-cell-button": "アクションセルボタン",
+			"row-click": "行のクリック",
+			"marker-click": "マーカークリック",
+			"tooltip-tag-action": "ツールチップのタグアクション"
+		}
+	},
+	"language": {
+		"language": "言語",
+		"locales": {
+			"en_US": "英語",
+			"ko_KR": "韓国語",
+			"it_IT": "イタリアの",
+			"zh_CN": "中国語",
+			"ru_RU": "ロシア",
+			"es_ES": "スペイン語",
+			"ja_JA": "日本語"
+		}
+	}
+}
diff --git a/ui/src/app/locale/locale.constant-ko_KR.json b/ui/src/app/locale/locale.constant-ko_KR.json
index a0d9e0d..a4c8bcb 100644
--- a/ui/src/app/locale/locale.constant-ko_KR.json
+++ b/ui/src/app/locale/locale.constant-ko_KR.json
@@ -1333,7 +1333,8 @@
             "zh_CN": "중국어",
             "ru_RU": "러시아어",
             "es_ES": "스페인어",
-            "it_IT": "이탈리아 사람"
+            "it_IT": "이탈리아 사람",
+            "ja_JA": "일본어"
         }
     }
-}
\ No newline at end of file
+}
diff --git a/ui/src/app/locale/locale.constant-ru_RU.json b/ui/src/app/locale/locale.constant-ru_RU.json
index 2e384e9..d017c63 100644
--- a/ui/src/app/locale/locale.constant-ru_RU.json
+++ b/ui/src/app/locale/locale.constant-ru_RU.json
@@ -1358,8 +1358,9 @@
             "ko_KR": "Корейский",
             "es_ES": "Испанский",
             "it_IT": "Итальянский",
-            "ru_RU": "Русский"
+            "ru_RU": "Русский",
+            "ja_JA": "Японский"
         }
 
     }
-}
\ No newline at end of file
+}
diff --git a/ui/src/app/locale/locale.constant-zh_CN.json b/ui/src/app/locale/locale.constant-zh_CN.json
index 037230d..d9cb7b1 100644
--- a/ui/src/app/locale/locale.constant-zh_CN.json
+++ b/ui/src/app/locale/locale.constant-zh_CN.json
@@ -1442,7 +1442,8 @@
             "zh_CN": "汉语",
             "ru_RU": "俄语",
             "es_ES": "西班牙语",
-            "it_IT": "意大利"
+            "it_IT": "意大利",
+            "ja_JA": "日本"
         }
     }
 }