@c8y/ng1-modules 1022.34.0 → 1022.44.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/core/services/audits.js +1 -1
- package/core/core/services/auth.js +1 -1
- package/core/core/services/user.js +1 -1
- package/core/locales/de.po +138 -12
- package/core/locales/es.po +138 -12
- package/core/locales/fr.po +138 -12
- package/core/locales/ja_JP.po +132 -12
- package/core/locales/ko.po +137 -12
- package/core/locales/nl.po +138 -12
- package/core/locales/pl.po +138 -12
- package/core/locales/pt_BR.po +138 -12
- package/core/locales/zh_CN.po +137 -12
- package/core/locales/zh_TW.po +137 -12
- package/core/ui/user/editUser.directive.js +1 -1
- package/core/ui/user/userUtil.service.js +1 -1
- package/package.json +1 -1
- package/scada/svg.directive.js +1 -1
package/core/locales/zh_TW.po
CHANGED
|
@@ -2480,6 +2480,9 @@ msgstr "品牌"
|
|
|
2480
2480
|
msgid "Branding JSON editor"
|
|
2481
2481
|
msgstr "品牌 JSON 編輯器"
|
|
2482
2482
|
|
|
2483
|
+
msgid "Branding assets"
|
|
2484
|
+
msgstr "品牌資產"
|
|
2485
|
+
|
|
2483
2486
|
msgid "Branding base editor"
|
|
2484
2487
|
msgstr "品牌基本編輯器"
|
|
2485
2488
|
|
|
@@ -2882,6 +2885,18 @@ msgstr "證書有效期少於 90 天"
|
|
|
2882
2885
|
msgid "Certificate file"
|
|
2883
2886
|
msgstr "證書檔案"
|
|
2884
2887
|
|
|
2888
|
+
msgid "Certificate fingerprint: \"{{ fingerprint }}\".\n"
|
|
2889
|
+
"Certificate subject name: \"{{ subjectName }}\"."
|
|
2890
|
+
msgstr "证书指纹:{{ fingerprint }}。\n"
|
|
2891
|
+
"证书主體名稱:{{ subjectName }}。"
|
|
2892
|
+
|
|
2893
|
+
msgid "Certificate fingerprint: \"{{ fingerprint }}\".\n"
|
|
2894
|
+
"Certificate subject name: \"{{ subjectName }}\".\n"
|
|
2895
|
+
"Expiration date: {{ expirationDate | absoluteDate }}."
|
|
2896
|
+
msgstr "证书指纹:{{ fingerprint }}。\n"
|
|
2897
|
+
"证书主體名稱:{{ subjectName }}。\n"
|
|
2898
|
+
"到期日期: {{ expirationDate | absoluteDate }}。"
|
|
2899
|
+
|
|
2885
2900
|
msgid "Certificate in PEM format"
|
|
2886
2901
|
msgstr "PEM 格式的证书"
|
|
2887
2902
|
|
|
@@ -2894,6 +2909,11 @@ msgstr "证书密码"
|
|
|
2894
2909
|
msgid "Certificate saved."
|
|
2895
2910
|
msgstr "证书已保存。"
|
|
2896
2911
|
|
|
2912
|
+
msgid "Certificate serial number: \"{{ serialNumber }}\".\n"
|
|
2913
|
+
"Expiration date: {{ expirationDate | absoluteDate }}."
|
|
2914
|
+
msgstr "证书序号:{{ serialNumber }}。\n"
|
|
2915
|
+
"到期日期: {{ expirationDate | absoluteDate }}。"
|
|
2916
|
+
|
|
2897
2917
|
msgid "Certificates"
|
|
2898
2918
|
msgstr "证书"
|
|
2899
2919
|
|
|
@@ -3351,6 +3371,9 @@ msgstr "单击链接以下载受影响设备的文件。"
|
|
|
3351
3371
|
msgid "Click to add points and set the area. Drag the points to adjust."
|
|
3352
3372
|
msgstr "单击可添加点并设置区域。拖动要调整的点。"
|
|
3353
3373
|
|
|
3374
|
+
msgid "Click to change"
|
|
3375
|
+
msgstr "點擊以更改"
|
|
3376
|
+
|
|
3354
3377
|
msgid "Click to edit"
|
|
3355
3378
|
msgstr "按一下以編輯"
|
|
3356
3379
|
|
|
@@ -3432,15 +3455,15 @@ msgstr "线圈(离散输出)"
|
|
|
3432
3455
|
msgid "Collapse"
|
|
3433
3456
|
msgstr "折疊"
|
|
3434
3457
|
|
|
3458
|
+
msgid "Collapse \"{{ assetPropertyLabel }}\""
|
|
3459
|
+
msgstr "折叠「{{ assetPropertyLabel }}」"
|
|
3460
|
+
|
|
3435
3461
|
msgid "Collapse all"
|
|
3436
3462
|
msgstr "全部折疊"
|
|
3437
3463
|
|
|
3438
3464
|
msgid "Collapse navigator on start up"
|
|
3439
3465
|
msgstr "启动时折疊导航器"
|
|
3440
3466
|
|
|
3441
|
-
msgid "Collapse {{ assetPropertyLabel }}"
|
|
3442
|
-
msgstr "折疊 {{ assetPropertyLabel }}"
|
|
3443
|
-
|
|
3444
3467
|
msgid "Color"
|
|
3445
3468
|
msgstr "颜色"
|
|
3446
3469
|
|
|
@@ -3531,15 +3554,15 @@ msgstr "複雜屬性。"
|
|
|
3531
3554
|
msgid "Compressed files must have an index.html at root. URLs in the web application can be relative."
|
|
3532
3555
|
msgstr "压缩文件必须在根目录中有一个 index.html。Web 应用程序中的 URL 则可以是相对的。"
|
|
3533
3556
|
|
|
3557
|
+
msgid "Computed properties"
|
|
3558
|
+
msgstr "計算屬性"
|
|
3559
|
+
|
|
3534
3560
|
msgid "Computed property configuration"
|
|
3535
3561
|
msgstr "计算的属性配置"
|
|
3536
3562
|
|
|
3537
3563
|
msgid "Computed property.`tooltip`"
|
|
3538
3564
|
msgstr "已計算屬性。"
|
|
3539
3565
|
|
|
3540
|
-
msgid "Computed`properties`"
|
|
3541
|
-
msgstr "計算"
|
|
3542
|
-
|
|
3543
3566
|
msgid "Concepts`KEEP_ORIGINAL`"
|
|
3544
3567
|
msgstr "Concepts"
|
|
3545
3568
|
|
|
@@ -3621,6 +3644,9 @@ msgstr "配置将更新。"
|
|
|
3621
3644
|
msgid "Configurations"
|
|
3622
3645
|
msgstr "配置"
|
|
3623
3646
|
|
|
3647
|
+
msgid "Configure"
|
|
3648
|
+
msgstr "設定"
|
|
3649
|
+
|
|
3624
3650
|
msgid "Configure DHCP settings"
|
|
3625
3651
|
msgstr "配置 DHCP 设置"
|
|
3626
3652
|
|
|
@@ -3636,6 +3662,9 @@ msgstr "配置列: {{label}}"
|
|
|
3636
3662
|
msgid "Configure columns"
|
|
3637
3663
|
msgstr "配置列"
|
|
3638
3664
|
|
|
3665
|
+
msgid "Configure computed properties"
|
|
3666
|
+
msgstr "設定計算屬性"
|
|
3667
|
+
|
|
3639
3668
|
msgid "Configure computed property"
|
|
3640
3669
|
msgstr "配置计算的属性"
|
|
3641
3670
|
|
|
@@ -3676,6 +3705,12 @@ msgstr "配置位置"
|
|
|
3676
3705
|
msgid "Configure preferences"
|
|
3677
3706
|
msgstr "配置首选项"
|
|
3678
3707
|
|
|
3708
|
+
msgid "Configure the settings below for each computed property. These configurations determine how\n"
|
|
3709
|
+
" the properties will be calculated and displayed. All required fields must be completed before\n"
|
|
3710
|
+
" you can apply the changes."
|
|
3711
|
+
msgstr "\n\n"
|
|
3712
|
+
" 請為每個計算屬性設定以下設置。這些設置將決定屬性的計算方式與显示效果。全部必需欄位皆須完整填寫後,方能应用更改。"
|
|
3713
|
+
|
|
3679
3714
|
msgid "Configured data point not available on the selected device."
|
|
3680
3715
|
msgstr "配置的資料點在所選設備上不可用。"
|
|
3681
3716
|
|
|
@@ -3943,6 +3978,9 @@ msgstr "Cookie 首选项"
|
|
|
3943
3978
|
msgid "Cookies are important to the proper functioning of a site. To improve your website experience, we use cookies to remember log-in details and provide secure log-in, collect statistics to optimize site functionality, and deliver content tailored to your interests. Click \"Agree and proceed\" to accept cookies and go directly to the site or click \"Configure preferences\" for further details and to manage your options. You can revoke your consent at any time."
|
|
3944
3979
|
msgstr "Cookie 對站點的正常運行很重要。為了改善您的網站體驗,我們使用 Cookie 來記住登入詳細資訊並提供安全登入,收集統計資料以優化網站功能,並根據您的興趣提供量身定制的內容。按一下 \"同意並繼續\" 以接受 Cookie 並直接訪問站點,或按一下 \"配寘首選項\" 以獲取更多詳細資訊並管理您的選項。您可以隨時撤銷您的同意。"
|
|
3945
3980
|
|
|
3981
|
+
msgid "Copied asset file path to clipboard. You can use it e.g. in custom CSS."
|
|
3982
|
+
msgstr "已將資產檔案路徑複製至剪貼簿。您可於例如自訂 CSS 等情境中使用此路徑。"
|
|
3983
|
+
|
|
3946
3984
|
msgid "Copied to clipboard"
|
|
3947
3985
|
msgstr "已複製到剪貼板"
|
|
3948
3986
|
|
|
@@ -6423,6 +6461,9 @@ msgstr "输入您的短信提供商提供的凭据。这将启用利用短信服
|
|
|
6423
6461
|
msgid "Enter your email address and we'll send you a secure link to reset your password."
|
|
6424
6462
|
msgstr "输入您的电子邮件地址,我们将向您发送一个安全链接以重置您的密码。"
|
|
6425
6463
|
|
|
6464
|
+
msgid "Enter your feedback here"
|
|
6465
|
+
msgstr "請在此處輸入您的意見回饋"
|
|
6466
|
+
|
|
6426
6467
|
msgid "Enter your password"
|
|
6427
6468
|
msgstr "输入您的密码"
|
|
6428
6469
|
|
|
@@ -6585,6 +6626,9 @@ msgstr "退出編輯模式"
|
|
|
6585
6626
|
msgid "Expand"
|
|
6586
6627
|
msgstr "展開"
|
|
6587
6628
|
|
|
6629
|
+
msgid "Expand \"{{ assetPropertyLabel }}\""
|
|
6630
|
+
msgstr "展开「{{ assetPropertyLabel }}」"
|
|
6631
|
+
|
|
6588
6632
|
msgid "Expand all"
|
|
6589
6633
|
msgstr "全部展開"
|
|
6590
6634
|
|
|
@@ -6597,9 +6641,6 @@ msgstr "展開導航控件"
|
|
|
6597
6641
|
msgid "Expand node"
|
|
6598
6642
|
msgstr "展開節點"
|
|
6599
6643
|
|
|
6600
|
-
msgid "Expand {{ assetPropertyLabel }}"
|
|
6601
|
-
msgstr "展开 {{ assetPropertyLabel }}"
|
|
6602
|
-
|
|
6603
6644
|
msgid "Expand/collapse"
|
|
6604
6645
|
msgstr "展开/折叠"
|
|
6605
6646
|
|
|
@@ -6848,6 +6889,9 @@ msgstr "未能在平台更新域。"
|
|
|
6848
6889
|
msgid "Failed to update the connection"
|
|
6849
6890
|
msgstr "无法更新连接"
|
|
6850
6891
|
|
|
6892
|
+
msgid "Failed to upload asset."
|
|
6893
|
+
msgstr "资产上传失败。"
|
|
6894
|
+
|
|
6851
6895
|
msgid "Failure reason"
|
|
6852
6896
|
msgstr "故障原因"
|
|
6853
6897
|
|
|
@@ -7427,6 +7471,9 @@ msgstr "应包括以下必填字段:{{fields}}"
|
|
|
7427
7471
|
msgid "Font size of measurement value (px)"
|
|
7428
7472
|
msgstr "测量值字体大小 (px)"
|
|
7429
7473
|
|
|
7474
|
+
msgid "Fonts"
|
|
7475
|
+
msgstr "字體"
|
|
7476
|
+
|
|
7430
7477
|
msgid "Fonts URL"
|
|
7431
7478
|
msgstr "字體 URL"
|
|
7432
7479
|
|
|
@@ -8350,6 +8397,9 @@ msgstr "如何在小組件物品中使用屬性"
|
|
|
8350
8397
|
msgid "How would you like to proceed with sub-users when the owner is deleted?"
|
|
8351
8398
|
msgstr "删除所有者时,您想对子用户做什么?"
|
|
8352
8399
|
|
|
8400
|
+
msgid "How would you rate your experience with this feature?"
|
|
8401
|
+
msgstr "您對這項功能的體驗如何?"
|
|
8402
|
+
|
|
8353
8403
|
msgid "I/O and PLC"
|
|
8354
8404
|
msgstr "I/O 和 PLC"
|
|
8355
8405
|
|
|
@@ -8459,6 +8509,9 @@ msgstr "已提取映像 \"{{imageName}}\"。"
|
|
|
8459
8509
|
msgid "Image display"
|
|
8460
8510
|
msgstr "圖像顯示"
|
|
8461
8511
|
|
|
8512
|
+
msgid "Images"
|
|
8513
|
+
msgstr "图像"
|
|
8514
|
+
|
|
8462
8515
|
msgid "Imperial"
|
|
8463
8516
|
msgstr "英制"
|
|
8464
8517
|
|
|
@@ -8840,6 +8893,9 @@ msgstr "项目"
|
|
|
8840
8893
|
msgid "Items per page"
|
|
8841
8894
|
msgstr "每页面的项目数"
|
|
8842
8895
|
|
|
8896
|
+
msgid "I’m open to being contacted for follow-up about my feedback"
|
|
8897
|
+
msgstr "我樂意接受後續聯繫,以進一步討論我的意見回饋。"
|
|
8898
|
+
|
|
8843
8899
|
msgid "J2ME commands"
|
|
8844
8900
|
msgstr "J2ME 命令"
|
|
8845
8901
|
|
|
@@ -9101,6 +9157,9 @@ msgstr "左"
|
|
|
9101
9157
|
msgid "Legacy"
|
|
9102
9158
|
msgstr "原有"
|
|
9103
9159
|
|
|
9160
|
+
msgid "Legacy configuration"
|
|
9161
|
+
msgstr "遺留配置"
|
|
9162
|
+
|
|
9104
9163
|
msgid "Legacy configuration snapshot"
|
|
9105
9164
|
msgstr "原有配置快照"
|
|
9106
9165
|
|
|
@@ -9434,6 +9493,12 @@ msgstr "登錄别名不得包含斜线(\"/\"、\"\\\")和 (\"+\")、(\":\")
|
|
|
9434
9493
|
msgid "Login error"
|
|
9435
9494
|
msgstr "登錄錯誤"
|
|
9436
9495
|
|
|
9496
|
+
msgid "Login image"
|
|
9497
|
+
msgstr "登入图像"
|
|
9498
|
+
|
|
9499
|
+
msgid "Login image file"
|
|
9500
|
+
msgstr "登入圖片文件"
|
|
9501
|
+
|
|
9437
9502
|
msgid "Login options"
|
|
9438
9503
|
msgstr "登錄选项"
|
|
9439
9504
|
|
|
@@ -12345,9 +12410,15 @@ msgstr "提供商名称"
|
|
|
12345
12410
|
msgid "Provisioned"
|
|
12346
12411
|
msgstr "已预配"
|
|
12347
12412
|
|
|
12413
|
+
msgid "Provisioned certificate stored in user object: \"{{ userName }}\""
|
|
12414
|
+
msgstr "已配置的证书储存於用户物件中:\"{{ userName }}\""
|
|
12415
|
+
|
|
12348
12416
|
msgid "Provisioned certificates"
|
|
12349
12417
|
msgstr "提供的憑證"
|
|
12350
12418
|
|
|
12419
|
+
msgid "Provisioned certificates removed from user: \"{{ userName }}\""
|
|
12420
|
+
msgstr "已從用户移除的預先配置证书:\"{{ userName }}\""
|
|
12421
|
+
|
|
12351
12422
|
msgid "Public key"
|
|
12352
12423
|
msgstr "公钥"
|
|
12353
12424
|
|
|
@@ -12807,9 +12878,6 @@ msgstr "註冊失敗"
|
|
|
12807
12878
|
msgid "Regular expression"
|
|
12808
12879
|
msgstr "正则表达式"
|
|
12809
12880
|
|
|
12810
|
-
msgid "Regular`properties`"
|
|
12811
|
-
msgstr "普通"
|
|
12812
|
-
|
|
12813
12881
|
msgid "Regular`style`"
|
|
12814
12882
|
msgstr "普通"
|
|
12815
12883
|
|
|
@@ -13161,6 +13229,9 @@ msgstr "已從 {{ restoredStateCreationDate }} 還原儀表板狀態"
|
|
|
13161
13229
|
msgid "Result"
|
|
13162
13230
|
msgstr "结果"
|
|
13163
13231
|
|
|
13232
|
+
msgid "Result type"
|
|
13233
|
+
msgstr "結果類型"
|
|
13234
|
+
|
|
13164
13235
|
msgid "Results found"
|
|
13165
13236
|
msgstr "找到结果"
|
|
13166
13237
|
|
|
@@ -13227,6 +13298,9 @@ msgstr "撤消已配置的憑證?"
|
|
|
13227
13298
|
msgid "Revoke provisioned certificates?"
|
|
13228
13299
|
msgstr "撤消已配置的憑證?"
|
|
13229
13300
|
|
|
13301
|
+
msgid "Revoked serials: {{ revokedSerials }}"
|
|
13302
|
+
msgstr "撤消的序列號: {{ revokedSerials }}"
|
|
13303
|
+
|
|
13230
13304
|
msgid "Right"
|
|
13231
13305
|
msgstr "右"
|
|
13232
13306
|
|
|
@@ -13623,6 +13697,9 @@ msgstr "從設備支援的配置清單中選取配置。"
|
|
|
13623
13697
|
msgid "Select a configuration to preview."
|
|
13624
13698
|
msgstr "選取要預覽的配置。"
|
|
13625
13699
|
|
|
13700
|
+
msgid "Select a data point to view its aggregated values in the time slider."
|
|
13701
|
+
msgstr "选择一个数据点,即可在时间滑桿中检视其聚合值。"
|
|
13702
|
+
|
|
13626
13703
|
msgid "Select a date range"
|
|
13627
13704
|
msgstr "選取日期範圍"
|
|
13628
13705
|
|
|
@@ -14741,6 +14818,9 @@ msgstr "嚴重性:{{ alarmSeverity }}"
|
|
|
14741
14818
|
msgid "Shades"
|
|
14742
14819
|
msgstr "陰影"
|
|
14743
14820
|
|
|
14821
|
+
msgid "Share your feedback, suggestions, or any issues you’ve encountered."
|
|
14822
|
+
msgstr "請分享您的意見回饋、建議或任何您遇到的問題。"
|
|
14823
|
+
|
|
14744
14824
|
msgid "Shared User Manager"
|
|
14745
14825
|
msgstr "共享的用户管理器"
|
|
14746
14826
|
|
|
@@ -15441,6 +15521,9 @@ msgstr "证书主题"
|
|
|
15441
15521
|
msgid "Submit"
|
|
15442
15522
|
msgstr "提交"
|
|
15443
15523
|
|
|
15524
|
+
msgid "Submit feedback"
|
|
15525
|
+
msgstr "提交意見回饋"
|
|
15526
|
+
|
|
15444
15527
|
msgid "Subnet mask"
|
|
15445
15528
|
msgstr "子网掩码"
|
|
15446
15529
|
|
|
@@ -15585,6 +15668,12 @@ msgstr "支持的 fieldbus 版本"
|
|
|
15585
15668
|
msgid "Supported file types:"
|
|
15586
15669
|
msgstr "支持的檔案類型:"
|
|
15587
15670
|
|
|
15671
|
+
msgid "Supported files: *.ico"
|
|
15672
|
+
msgstr "支持的文件:*.ico"
|
|
15673
|
+
|
|
15674
|
+
msgid "Supported files: *.png, *.svg, *.jpg"
|
|
15675
|
+
msgstr "支持的文件:*.png、*.svg、*.jpg"
|
|
15676
|
+
|
|
15588
15677
|
msgid "Supported formats: OpenSSHv1, OpenSSHv2, PEM, SSH2.<br>Supported algorithms: RSA, DSA, ECDSA, ED25519."
|
|
15589
15678
|
msgstr "支援的格式:OpenSSHv1、OpenSSHv2、PEM、SSH2。<br>支援的演算法:RSA、DSA、ECDSA、ED25519。"
|
|
15590
15679
|
|
|
@@ -15786,6 +15875,18 @@ msgstr "租户已激活。"
|
|
|
15786
15875
|
msgid "Tenant auth configuration"
|
|
15787
15876
|
msgstr "租户身份验证配置"
|
|
15788
15877
|
|
|
15878
|
+
msgid "Tenant certificate authority"
|
|
15879
|
+
msgstr "租戶憑證授權機構"
|
|
15880
|
+
|
|
15881
|
+
msgid "Tenant certificate authority (CA) created for tenant \"{{ tenantId }}\""
|
|
15882
|
+
msgstr "為租戶「{{ tenantId }}」创建的租户憑證授權機構 (CA)"
|
|
15883
|
+
|
|
15884
|
+
msgid "Tenant certificate authority (CA) renewal for tenant \"{{ tenantId }}\" failed"
|
|
15885
|
+
msgstr "租戶憑證授權機構 (CA) 為租戶「{{ tenantId }}」的更新失败"
|
|
15886
|
+
|
|
15887
|
+
msgid "Tenant certificate authority (CA) was renewed for tenant \"{{ tenantId }}\""
|
|
15888
|
+
msgstr "租戶憑證授權機構 (CA) 已為租戶「{{ tenantId }}」完成更新。"
|
|
15889
|
+
|
|
15789
15890
|
msgid "Tenant created."
|
|
15790
15891
|
msgstr "租户已创建。"
|
|
15791
15892
|
|
|
@@ -15876,6 +15977,9 @@ msgstr "值为零时要显示的文本"
|
|
|
15876
15977
|
msgid "Text-based configuration"
|
|
15877
15978
|
msgstr "基于文本的配置"
|
|
15878
15979
|
|
|
15980
|
+
msgid "Thank you for your feedback."
|
|
15981
|
+
msgstr "感謝您的意見回饋。"
|
|
15982
|
+
|
|
15879
15983
|
msgid "The \"Allowed domain\" setting allows your JavaScript web application to directly communicate with the REST API.\n\n"
|
|
15880
15984
|
"Options:\n"
|
|
15881
15985
|
"- Enter \"*\" to allow communication from any host,\n"
|
|
@@ -15895,6 +15999,9 @@ msgstr "所上傳存檔的 \"contextPath\" 或 \"key\" 與現有應用程式不
|
|
|
15895
15999
|
msgid "The Administration application enables account administrators to manage their users, roles, tenants, applications and business rules and lets them configure a number of settings for their account."
|
|
15896
16000
|
msgstr "Administration 應用程式使帳戶管理員能夠管理其用戶、角色、租戶、應用程式和業務規則,並允許他們配置帳戶的許多設置。"
|
|
15897
16001
|
|
|
16002
|
+
msgid "The CA certificate has not been renewed; however, it may still have sufficient validity remaining."
|
|
16003
|
+
msgstr "CA 证书尚未更新;然而,其剩餘有效期可能仍足夠。"
|
|
16004
|
+
|
|
15898
16005
|
msgid "The Cockpit application allows you to build IoT applications in minutes.\n"
|
|
15899
16006
|
" To get started, connect any device to the platform.\n"
|
|
15900
16007
|
" If you do not have an IoT device to hand, you can start by connecting your smartphone.\n"
|
|
@@ -17678,6 +17785,9 @@ msgstr "当您正在编辑值时,值已被更改。"
|
|
|
17678
17785
|
msgid "Value in ms"
|
|
17679
17786
|
msgstr "值(毫秒)"
|
|
17680
17787
|
|
|
17788
|
+
msgid "Value is applied in px"
|
|
17789
|
+
msgstr "值以像素为单位应用"
|
|
17790
|
+
|
|
17681
17791
|
msgid "Value must be a full or relative URL."
|
|
17682
17792
|
msgstr "值必須為完整或相對 URL。"
|
|
17683
17793
|
|
|
@@ -17753,6 +17863,9 @@ msgstr "已添加具有此路径的变量。"
|
|
|
17753
17863
|
msgid "Variables"
|
|
17754
17864
|
msgstr "变量"
|
|
17755
17865
|
|
|
17866
|
+
msgid "Variants"
|
|
17867
|
+
msgstr "變體"
|
|
17868
|
+
|
|
17756
17869
|
msgid "Vehicle tracking device"
|
|
17757
17870
|
msgstr "车辆跟踪设备"
|
|
17758
17871
|
|
|
@@ -17913,6 +18026,12 @@ msgstr "我們不收集任何個人資料。我們從您的手機中檢索的唯
|
|
|
17913
18026
|
msgid "We recommend you to meet these conditions for a stronger password:"
|
|
17914
18027
|
msgstr "我們建議您滿足以下條件以找到更強的密碼:"
|
|
17915
18028
|
|
|
18029
|
+
msgid "We value your feedback."
|
|
18030
|
+
msgstr "我們重視您的意見回饋。"
|
|
18031
|
+
|
|
18032
|
+
msgid "We want to hear from you. Share your feedback on the <strong>{{featurePreviewName}}</strong> feature preview to help us improve Cumulocity."
|
|
18033
|
+
msgstr "我們期待您的意見。請分享您對此功能預覽的回饋, <strong>{{featurePreviewName}}</strong>功能预览,帮助我们改进 Cumulocity。"
|
|
18034
|
+
|
|
17916
18035
|
msgid "We will now log you out and redirect to your new domain {{vm.redirectUrl}} in <b>1</b> second."
|
|
17917
18036
|
msgid_plural "We will now log you out and redirect to your new domain {{vm.redirectUrl}} in <b>{{$count}}</b> seconds."
|
|
17918
18037
|
msgstr[0] "我们现将您注销并在 <b>{{$count}}</b> 秒内重定向到您的新域 {{vm.redirectUrl}}。"
|
|
@@ -18533,6 +18652,9 @@ msgstr "您的流覽器不支援視頻標記。"
|
|
|
18533
18652
|
msgid "Your device was successfully registered."
|
|
18534
18653
|
msgstr "您的设备已成功注册。"
|
|
18535
18654
|
|
|
18655
|
+
msgid "Your insights and suggestions directly influence the future of the platform."
|
|
18656
|
+
msgstr "您的見解與建議將直接影響本平台的未來發展。"
|
|
18657
|
+
|
|
18536
18658
|
msgid "Your password is expired. Please set a new password."
|
|
18537
18659
|
msgstr "您的密码已过期。请设置新密码。"
|
|
18538
18660
|
|
|
@@ -18545,6 +18667,9 @@ msgstr "您的密码将在 {{expirationTime | relativeDate}} 过期。请立即
|
|
|
18545
18667
|
msgid "Your phone number"
|
|
18546
18668
|
msgstr "您的电话号码"
|
|
18547
18669
|
|
|
18670
|
+
msgid "Your rating: {{ starCount }} star(s)"
|
|
18671
|
+
msgstr "您的評分: {{ starCount }} 星級"
|
|
18672
|
+
|
|
18548
18673
|
msgid "Zoom in"
|
|
18549
18674
|
msgstr "放大"
|
|
18550
18675
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}(()=>{function e(g,m,f,w,p,h,E,
|
|
1
|
+
function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}(()=>{function e(g,m,f,w,p,h,P,E,A,y,S,v,T,R){return e.$inject=["$scope","$q"],{restrict:"EA",scope:{user:"=",forms:"=",password:"=",hideUsername:"=?",hideActive:"=?",hideFirstName:"=?",hideLastName:"=?",hideEmail:"=?",hideTelephone:"=?",hideCustomProperties:"=?",hideTfaOption:"=?",hidePasswordReset:"=?",hideChangePassword:"=?",hideOwner:"=?",hideDelegate:"=?",disabledEdit:"=?",hideLanguage:"=?",userTfaEnforced:"=?",topLevelTfaEnforced:"=?"},templateUrl:":::PLUGIN_PATH:::/ui/user/editUser.directive.html",controller:e,controllerAs:"vm",link:function(e,t){$(t).find("input[name=email]").bind("blur",function(){e.emailWarning=!(e.user&&e.user.email)})}};function e(o,r){var e="maxlength",n=v("Messaging application is not subscribed."),s=["userOrigin"],i={NEWUSERNAME:{type:"validation",text:v('Username "new" is not allowed.')},PATTERN:{type:"pattern",text:v("Invalid pattern.")},PATTERN_PASSWORD:{type:"pattern",text:T.getString(A.validation.password.message)},PATTERN_USERNAME:{type:"pattern",text:T.getString(A.validation.user.message)},PATTERN_DISPLAYNAME:{type:"pattern",text:T.getString(A.validation.loginAlias.message)},SAME_AS_CURRENT_PASSWORD:{type:"same_as_current",text:v("New password can't be the same as current one.")},PASSWORD_MISSMATCH:{type:"password_missmatch",text:v("Passwords do not match.")},REQUIRED:{type:"required",text:v("This field is required.")},EMAIL:{type:"email",text:v("Invalid email address.")},PASSWORD_STRENGTH:{type:"password_strength",text:A.validation.passwordStrengthChecklist.message},INTERNATIONALPHONENUMBER_PHONE:{type:"internationalPhoneNumber",text:T.getString(A.validation.internationalPhoneNumber.message)},MAXLENGTH_FIRSTNAME:{type:e,text:"".concat(T.getString("Max length:")," 50")},MAXLENGTH_LASTNAME:{type:e,text:"".concat(T.getString("Max length:")," 50")},MAXLENGTH_USERNAME:{type:e,text:"".concat(T.getString("Max length:")," 254")},MAXLENGTH_DISPLAYNAME:{type:e,text:"".concat(T.getString("Max length:")," 254")},MAXLENGTH_PHONE:{type:e,text:"".concat(T.getString("Max length:")," 254")},MAXLENGTH_EMAIL:{type:e,text:"".concat(T.getString("Max length:")," 254")}},d=this,u=(_.assign(o,{confirmPassword:"",invalid:angular.bind(g,g.invalid,o.forms,"userForm"),isInvalidConfirmPassword:function(){var e=o.forms.userForm,t=e.password.$pristine,e=e.confirmPassword.$touched&&e.confirmPassword.$invalid;return!t&&e},changePasswordConfirm:function(){o.forms.userForm.confirmPassword&&o.forms.userForm.confirmPassword.$setValidity(i.PASSWORD_MISSMATCH.type,o.forms.userForm.confirmPassword.$viewValue===o.user.password)},getErrorFeedback:function(s){var n=o.forms.userForm[s]||{},a=[];return _.forEach(n.$error||{},function(e,t){var r;"parse"===t?o.forms.userForm.phone.$setValidity(t,!0):(t=t.toUpperCase(),r="".concat(t,"_").concat(s.toUpperCase()),e&&n.$touched&&(e=i[r]||i[t],a.push(T.getString(e.text))))}),a.join("<br>")},getUserCustomProperties:l,humanize:g.humanizeFragment,changePassword:function(){R.changeCurrentUserPassword()},isChangePasswordVisible:function(){return!o.disabledEdit&&o.changePasswordBtn&&!o.hideChangePassword&&o.user&&!o.user.sendPasswordResetEmail&&o.userCanChangePasswordAndEmail},passwordRegex:A.validation.password.pattern,tfaAvailable:!1,delegateTo:function(){m.current().then(function(e){o.user.delegatedBy=e.id}),a()},undelegate:function(){o.user.delegatedBy=null,a()},setOwner:function(e){o.user.owner=e,d.isParentDropDownOpen=!1,d.ownerHiddenForm.$setDirty()},userCanChangePasswordAndEmail:!1,requirementsFulfilled:!0,onRequirementsFulfilledChange:function(e){e=o.requirementsFulfilled=e;e||o.forms.userForm.password.$setValidity(i.PATTERN_PASSWORD.type,!0),o.forms.userForm.password.$setValidity(i.PASSWORD_STRENGTH.type,e)}}),_.assign(d,{onToggleDropdown:function(e){e&&(d.ownerDropDownInitialized=!0)},twoFactorAuthenticationCheckboxDisabled:function(){return o.topLevelTfaEnforced||o.disabledEdit||"TOTP"===d.tfaStrategy||!o.smsMicroserviceAvailable||!o.notCurrentUser&&"SMS"===d.tfaStrategy},enforceTfaCheckboxDisbaled:function(){return o.topLevelTfaEnforced||o.disabledEdit||!o.notCurrentUser||c()},messagingWarningVisible:function(){return!o.smsMicroserviceAvailable&&"SMS"===d.tfaStrategy},shouldEnableRevokeTOTPSecretButton:c}),p.getStrongPasswordSettings().then(t),o.$watch("user",function(e,t){var s,a;e&&e!==t&&(a=!(s=e).id,o.password.strength=s.passwordStrength,o.changePasswordBtn=!o.password.showPassword,o.emailWarning=!s.email,o.smsWarningPopover=n,a&&(o.userPasswordAction="sendPasswordByEmail"),delete o.confirmPassword,o.notCurrentUser=null,t=/.*/,(e=s)&&!e.id&&(t=A.validation.user.pattern),o.userNamePattern=t,o.loginAliasPattern=A.validation.loginAlias.pattern,o.hideLanguage||f.get("language").then(function(e){e&&(o.user.language={name:E.getLanguageNativeName(e),code:e}),o.languages=_.map(h.getSupportedLanguages(),function(e){return Object.assign({name:E.getLanguageNativeName(e),code:e},{})})}),y.isActivatedFor("units-conversion")&&(o.unitsConversionActive=!0),r.all({tfaAvailable:m.isTfaAvailable(),smsMicroserviceAvailable:P.isAvailable({contextPath:"messaging"}),twoFactorAuthenticationEnabled:m.isTfaActive(s),tfaStrategy:m.getTfaStrategy(),isCurrentUser:m.checkIfCurrent(s)}).then(function(e){var t=e.tfaAvailable,r=e.smsMicroserviceAvailable,s=e.twoFactorAuthenticationEnabled,n=e.tfaStrategy,e=e.isCurrentUser;o.notCurrentUser=!e,o.tfaAvailable=t,o.smsMicroserviceAvailable=!!r,d.tfaStrategy=n,o.user.twoFactorAuthenticationEnabled=!a&&s,o.userCanChangePasswordAndEmail=a||!m.hasExternalOrigin(o.user)&&e,d.userHasExternalOrigin=m.hasExternalOrigin(o.user)}),o.hideOwner||(o.ownerEditDisabled=!1,m.current().then(function(e){var t=w.hasRole(e,"ROLE_USER_MANAGEMENT_ADMIN"),r=w.hasRole(e,"ROLE_USER_MANAGEMENT_CREATE");!t&&r&&(d.rootOwner=[e],d.currentOwner=e.id,d.defaultOwner=e,a)&&(o.ownerEditDisabled=!0,s.owner=d.currentOwner)})),o.noCustomPropertiesToDisplay=_.isEmpty(l(o.user)),u())}));function l(e){var r={};return e&&e.customProperties&&_.forEach(e.customProperties,function(e,t){s.includes(t)||(r[t]="object"===_typeof(e)?angular.toJson(e,!0):e)}),r}function t(e){var t=e.enforceStrength;o.passwordStrengthEnforced=t||e.strengthValidity}function a(){o.delegationHiddenForm.$setDirty()}function c(){return"TOTP"===d.tfaStrategy&&o.user.twoFactorAuthenticationEnabled}o.$watch("user.password",function(){o.forms.userForm&&o.forms.userForm.password&&o.forms.userForm.password.$setValidity(i.SAME_AS_CURRENT_PASSWORD.type,!o.notCurrentUser&&!m.isCurrentPassword(o.forms.userForm.password.$viewValue)||o.notCurrentUser)}),o.$watch("userPasswordAction",function(e,t){e!==t&&(t={setUserPasswordAndForceToReset:{sendPasswordResetEmail:!1,shouldResetPassword:!0,showPassword:!0},setUserPassword:{sendPasswordResetEmail:!1,shouldResetPassword:!1,showPassword:!0},sendPasswordByEmail:{sendPasswordResetEmail:!0,shouldResetPassword:!1,showPassword:!1}}[e])&&(o.user.sendPasswordResetEmail=t.sendPasswordResetEmail,o.user.shouldResetPassword=t.shouldResetPassword,o.password.showPassword=t.showPassword)}),o.sendPasswordResetEmailToUser=_.debounce(function(){o.user&&o.user.email&&m.sendPasswordResetMail(o.user.email,o.user.tenantId).then(function(){S.success(v("Password reset link sent."))}).catch(function(){S.danger(v("Failed to send password reset link."))})},300)}}e.$inject=["c8yBase","c8yUser","c8yUserPreferences","c8yPermissions","c8yLoginOptions","c8yLocales","c8yApplication","LocalesUtil","c8yConfig","c8yBeta","c8yAlert","gettext","gettextCatalog","c8yChangeCurrentUserPasswordService"],angular.module("c8y.ui").directive("c8yEditUser",e).directive("c8yUiEditUser",e)})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}(()=>{function e(i,u,t,s,c,n,e,r,o,a,l,f,d,y){return w.$inject=["options","$uibModalInstance"],{askForPassword:function(){try{return i.get("c8yPasswordConfirm").confirmPassword().toPromise()}catch(e){return u.resolve(!0)}},currentPassword:function(){return i.get("c8yPasswordConfirm").currentPassword().toPromise().then(function(e){return null===e?u.reject():u.resolve(e)})},warnIfPasswordExpiresSoon:function(){var e="passwordExpirationAlertsDisplayed";function a(e,t){return!e||moment(e).isBefore(moment(t))}return u.
|
|
1
|
+
function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}(()=>{function e(i,u,t,s,c,n,e,r,o,a,l,f,d,y){return w.$inject=["options","$uibModalInstance"],{askForPassword:function(){try{return i.get("c8yPasswordConfirm").confirmPassword().toPromise()}catch(e){return u.resolve(!0)}},currentPassword:function(){return i.get("c8yPasswordConfirm").currentPassword().toPromise().then(function(e){return null===e?u.reject():u.resolve(e)})},warnIfPasswordExpiresSoon:function(){var e="passwordExpirationAlertsDisplayed";function a(e,t){return!e||moment(e).isBefore(moment(t))}return c.current().then(function(o){return"OAUTH2"===_.get(o,"customProperties.userOrigin")?u.resolve():u.all({expirationAlertsDisplayedPreference:n.get(e),validityLimitInDays:r.detailValue({category:"password",key:"limit.validity"},0)}).then(function(e){var t,n,r=e.expirationAlertsDisplayedPreference,e=e.validityLimitInDays,r=r||{LESS_THAN_WEEK:null,LESS_THAN_DAY:null};return 0!==e&&(e=moment(o.lastPasswordChange).add(e,"days"),n=!1,(t=moment.duration(e.diff(moment())).asDays())<=1&&a(r.LESS_THAN_DAY,o.lastPasswordChange)?(n=!0,r.LESS_THAN_DAY=moment().format(s.dateFullFormat)):t<=7&&a(r.LESS_THAN_WEEK,o.lastPasswordChange)&&(n=!0,r.LESS_THAN_WEEK=moment().format(s.dateFullFormat)),n)&&l.warning(d.getString("Your password will expire {{expirationTime | relativeDate}}. Consider changing password now.",{expirationTime:e})),r}).then(_.partial(n.set,e))})},createUserFlatTree:function(e){return g(m(e))},buildUserTree:m,flattenTree:g,search:function(e,t){var n=["userName","lastName","firstName","email","phone"],r=_.constant(!0),o=_.constant(!0);{var a;e&&(a=new RegExp(e,"i"),r=function(t){return _.some(n,function(e){return a.test(t[e])})})}{var i;t&&t.length&&(i=_.reduce(t,function(e,t){return e[t.id]=!0,e},{}),o=function(e){return _.some(e.groups.references,function(e){return i[_.get(e,"group.id")]})})}return function(e){return r(e)&&o(e)}},selectUserDialog:function(e){return t.open({templateUrl:":::PLUGIN_PATH:::/ui/user/selectUser.modal.html",controllerAs:"vm",ariaLabelledBy:"modal-title",ariaDescribedBy:"modal-body",controller:w,resolve:{options:_.constant(e)}}).result},userHierarchyActive:_.once(function(){return e.listByUser().then(function(e){return!!_.find(e,{key:"c8y-feature-user-hierarchy"})})}),hideUsers:function(e,t){function n(){var t=_.keyBy(r,"id");return _.filter(e,function(e){return t[e.owner]&&!t[e.id]})}var r=_(_.isArray(t)?t:[t]).map(p(e)).value();for(;n().length;)r=_.union(r,n());return _.uniq(r)},mapToUsersInMemory:p,canUserManageTenant:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=e.user,n=e.tenant,r=e.mustBeTopTenant,o=i.get("c8yPermissions"),a=i.get("c8yTenant");return u.all({user:t||c.current(),tenant:n||a.current()}).then(function(e){var t=a.isTopTenant(e.tenant.name),n=_.get(e.tenant,"allowCreateTenants");return o.hasRole(e.user,"ROLE_TENANT_MANAGEMENT_READ")&&(r?t:t||n)})},requireLogout:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:angular.noop;return a({title:f("Logout required"),body:f("You must log out to apply your changes. Do you want to proceed?"),status:"warning",labels:{ok:f("Confirm and log out"),cancel:f("Cancel")},dismissValue:"canceled"}).then(e).then(h)},logoutAndReloadPage:h};function m(t){e=t,n=_.keyBy(e,"id");var n,e=_.reject(e,function(e){return e.owner&&!n[e.owner]&&delete e.owner,e.owner}),r=_.keyBy(t,"id");return _.forEach(t,function(e){e._owns=_.filter(t,{owner:e.id}),e._owner=_.get(r,e.owner)}),e}function p(n){return function(e){var t;return"string"==typeof e&&(t=e),"object"===_typeof(e)&&(t=e.userName),_.find(n,{userName:t})}}function g(e,t,n){var n=n||[],e=_.sortBy(e,["id","lastName"]),r=t||0;return _.reduce(e,function(e,t){return t._depth=r,e.push(t),g(t._owns,r+1,e)},n)}function w(e,t){_.assign(this,{textOk:f("Select"),textCancel:f("Cancel")},e,t)}function h(){return o.logout().then(function(e){e&&e.url?y.location.href=e.url:y.location.reload()})}}e.$inject=["$injector","$q","$uibModal","c8yBase","c8yUser","c8yUserPreferences","c8yApplication","c8ySettings","c8yAuth","c8yModal","c8yAlert","gettext","gettextCatalog","$window"],angular.module("c8y.ui").factory("c8yUserUtil",e)})();
|
package/package.json
CHANGED
package/scada/svg.directive.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{function e(p,v,
|
|
1
|
+
(()=>{function e(p,u,v,m,f){return{require:"ngModel",restrict:"EA",link:function(i,a,e,n){var c,s,r;function t(){var e,t;r=!1,(s=n.$viewValue)?(c=i.$new(!0),_.forEach(i.mapping,function(e,t){Object.defineProperty(c,t,{enumerable:!0,get:_.partial(o,t)})}),_.assign(c,{goToGroupDetails:d,goToDeviceDetails:l,getActiveAlarmsStatusClass:g,isReady:_.constant(!0)}),"none"===i.sanitizationOption&&(r=!0),e=angular.element('<div ng-if="isReady()" style="width:100%;height:100%;transform: translateZ(0);"></div>'),t=document.implementation.createHTMLDocument(""),t=$.parseHTML(s,t,r),$(t).is("svg")?(e.append($(t).filter("svg")),n.$setValidity("c8y-scada-svg",!0)):(e.html('<div class="alert-warning" translate style="padding: 20px;">'.concat(f("Invalid SVG"),"</div>")),n.$setValidity("c8y-scada-svg",!1)),p(e)(c),a.html(""),a.append(e)):n.$setValidity("c8y-scada-svg",!1)}function o(t){var e=i.mapping[t],a=_.find(i.devices,function(e){return i.deviceIds[t]===e.id});return m.getValueForMapping(a,e)}function d(e){u.path("/group/".concat(e))}function l(e){u.path("/device/".concat(e))}function g(e){return _.toLower(v.getHighestSeverityFromAlarmsStatus(e))||"none"}n.$render=t,i.$watch("mapping",t),i.$watch("deviceIds",t,!0)},scope:{mapping:"=",devices:"=",deviceIds:"=",sanitizationOption:"=?"},replace:!1}}e.$inject=["$compile","$location","c8yAlarms","ScadaWidgetUtilSvc","gettext"],angular.module("c8y.parts.scadaWidget").directive("c8yScadaSvg",e)})();
|