diff --git a/images/main/addFingerprint/0.jpg b/images/main/addFingerprint/0.jpg new file mode 100644 index 00000000..0a47e0f0 Binary files /dev/null and b/images/main/addFingerprint/0.jpg differ diff --git a/images/main/addFingerprint/1.jpg b/images/main/addFingerprint/1.jpg new file mode 100644 index 00000000..9a4969ae Binary files /dev/null and b/images/main/addFingerprint/1.jpg differ diff --git a/images/main/addFingerprint/2.jpg b/images/main/addFingerprint/2.jpg new file mode 100644 index 00000000..9d406f68 Binary files /dev/null and b/images/main/addFingerprint/2.jpg differ diff --git a/images/main/addFingerprint/3.jpg b/images/main/addFingerprint/3.jpg new file mode 100644 index 00000000..a77ed1eb Binary files /dev/null and b/images/main/addFingerprint/3.jpg differ diff --git a/images/main/addFingerprint/4.jpg b/images/main/addFingerprint/4.jpg new file mode 100644 index 00000000..9460856e Binary files /dev/null and b/images/main/addFingerprint/4.jpg differ diff --git a/images/main/addFingerprint/5.jpg b/images/main/addFingerprint/5.jpg new file mode 100644 index 00000000..65163705 Binary files /dev/null and b/images/main/addFingerprint/5.jpg differ diff --git a/images/main/addFingerprint/6.jpg b/images/main/addFingerprint/6.jpg new file mode 100644 index 00000000..7d2f537d Binary files /dev/null and b/images/main/addFingerprint/6.jpg differ diff --git a/lan/lan_ar.json b/lan/lan_ar.json index edaa6c96..c02a2a5f 100644 --- a/lan/lan_ar.json +++ b/lan/lan_ar.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "بعد إعادة الضبط ، سيتم حذف الأوردة المشطية للقفل. هل أنت متأكد أنك تريد إعادة الضبط ؟", diff --git a/lan/lan_bg.json b/lan/lan_bg.json index ac8022fe..1c8b56e0 100644 --- a/lan/lan_bg.json +++ b/lan/lan_bg.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "След нулиране, метакарпалните вени на ключалката ще бъдат изтрити. Сигурен ли сте, че искате да се възстанови?", diff --git a/lan/lan_bn.json b/lan/lan_bn.json index a1efaa72..4d0f1c94 100644 --- a/lan/lan_bn.json +++ b/lan/lan_bn.json @@ -83,8 +83,8 @@ "上班时间": "সিস্টেম", "下班时间": "ক্লাসিং", "本周": "ইঙ্গোনেক", - "单休": "এক-ডে-ওয়েওয়েন্ডName", - "双休": "টেটো-ডেওওয়েলেন্ডName", + "单休": "এক-ডে-ওয়েওয়েন্ড", + "双休": "টেটো-ডেওওয়েলেন্ড", "单双休": "এক-টেটো-ডে-ওওয়েডেন্ড", "年": "ইয়ার", "月": "থ", @@ -104,7 +104,7 @@ "门磁": "ডোরনেসিসর", "自动闭锁": "স্বয়ংক্রিয় লক", "锁声音": "লক", - "防撬报警": "ওয়েটperalertGenericName", + "防撬报警": "ওয়েটperalertGeneric", "重置键": "ইউনিটন", "锁时间": "লকক", "诊断": "অ্যারিওনস", @@ -237,7 +237,7 @@ "搜索所有类型的锁": "স্যাকানাল্ডসপিসফক্স", "门锁": "ডোর-লক", "挂锁": "আনলক", - "保险箱锁": "মাইন্টfelockGenericName", + "保险箱锁": "মাইন্টfelockGeneric", "智能门禁": "লিজেন্টেসেস কন্ট্রোল", "车位锁": "কিকিংলক", "摸亮触摸屏": "টুকরাইকিউট্ট", @@ -343,7 +343,7 @@ "卡": "বিকশিত", "指纹": "ডিগ্রিমপ্রিন", "人脸": "ফেস", - "配件商城": "লককName", + "配件商城": "লকক", "公司名称": "অ্যাকম্পেনিনাম", "请输入公司名字": "কনস্টার অ্যাকম্পেনিনাম", "提示": "চিন্ট", @@ -579,7 +579,7 @@ "请输入wifi名称": "ক্যাপিলাইজ", "虹膜": "নিয়", "手掌": "Pp", - "商城": "XmallName", + "商城": "Xmall", "我的": "My", "微信公众号推送": "ইয়াক", "蓝牙": "নিকট্রিয়াথ", @@ -710,7 +710,7 @@ "传输期间请勿离开当前页面": "নির্দিষ্ট নেতৃত্বাধীন", "机型": "ডাইলস", "硬件版本": "ডার্ওয়ারভেন্স", - "固件版本": "FmwareversionName", + "固件版本": "Fmwareversion", "手动升级": "ধুয়াল ফলাগ্রাড", "设备连接中...": "প্রাচীন...", "未避免异常情况,请在门打开时升级": "সাউন oidযোগ্য exceptionstionsণনশনস, ক্যাপিলাইস", @@ -897,7 +897,7 @@ "配网成功": "নকর্ক ওয়ার্ক", "配网失败": "নবক ওয়ার্ক", "该锁的无线键盘都将被删除": "অলসবিহীন", - "实时画面": "রিয়েল-টাইমপেসিচারName", + "实时画面": "রিয়েল-টাইমপেসিচার", "适合门口较为安全的环境。": "ভিডিওটেবল ফরফরাসী ইলেই মাইউইভেনমেন্টের দরজা।", "仅发生特定事件才录像,并可查看实时画面。": "কেবলমাত্র আলোচনার কোর্সডন্ডথের রিয়েল-টাইমপিসিচার হয়ত।", "一般情况下,满电可使用7-8个月": "আন্ডারমালবিক", @@ -996,7 +996,7 @@ "类型:自定义-永久": "টাইপ:", "实时播放": "রিয়েল-টাইমপিপ্লেব্যাক", "点击对讲": "ক্লিক্টোকম", - "长按开锁": "লংপ্রেসtocunlockGenericName", + "长按开锁": "লংপ্রেসtocunlockGeneric", "接听失败": "ডিফাইরেডটুআনসাইওয়ার", "请在锁设置中开启远程开锁": "ক্যাপিলাইজ এসব... ...সংকলকিং", "接听": "অ্যানসাওয়ার", @@ -1015,7 +1015,7 @@ "呼叫提醒": "ক্যান্সাল", "收到来自": "আইভেদ্রোম", "锁的呼叫": "লোককল", - "加载数据中": "ব্লুডিং-ডাটাName", + "加载数据中": "ব্লুডিং-ডাটা", "搜索所有锁类型": "কোআরসার্লককপিস", "锁电量更新时间": "লক", "1月": "জিনা", @@ -1031,7 +1031,7 @@ "11月": "নভ", "12月": "ব্লিক", "热门城市": "আই", - "导出锁数据": "পোর্টlockdataName", + "导出锁数据": "পোর্টlockdata", "一键开锁": "এক-চ্যাক্লাক", "已开通": "উত্স", "编辑员工": "এডিটওফ", @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "ব্যান্ডোটারআইসেট, হাসিপাল রিরিইনস্ফথেলকবইল্ডজেডড।?", diff --git a/lan/lan_cs.json b/lan/lan_cs.json index 27fbd5b3..b59b5c06 100644 --- a/lan/lan_cs.json +++ b/lan/lan_cs.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Po resetování budou metakarpální žíly zámku odstraněny. Jste si jistý, že chcete resetovat?", diff --git a/lan/lan_da.json b/lan/lan_da.json index b76a4fc6..6f62fcd4 100644 --- a/lan/lan_da.json +++ b/lan/lan_da.json @@ -63,7 +63,7 @@ "授权管理员拥有操作这把锁的重要权限,请确保只发给我你信任的人": "Den autoriserede administrator har flertal tilladelse til at betjene denne lås.", "功能开启后,你将可以通过网关远程开锁。此功能的开启和关闭只能在锁附近通过手机蓝牙进行。": "Denne funktion giver dig mulighed for at låse Smart Lock fjernbetjening via en Gateway. Denne funktion kan kun slås til eller fra via Bluetooth.", "排列方式": "Listetype", - "早到榜": "Tidlig listeName", + "早到榜": "Tidlig liste", "迟到榜": "Forsinkede lister", "当前模式": "Nuværende tilstand", "勤奋榜": "Arbejdshård liste:", @@ -116,7 +116,7 @@ "微信二维码": "Lås op QR- kode", "拥有电子钥匙的人,通过微信扫一扫这个二维码,即可开门。每把锁的二维码都不相同,你可以将其打印出来贴在对应的锁旁边": "Folk med elektroniske nøgler kan åbne døren ved at scanne denne QR-kode gennem WeChat. QR-koden for hver lås er anderledes. Du kan udskrive det ud og indsætte det ved siden af den tilsvarende lås", "锁编号": "Låsnummer", - "电量": "BatteriName", + "电量": "Batteri", "锁分组": "Lås gruppen", "选择分组": "Vælg gruppe", "创建新分组": "Opret en gruppe", @@ -157,7 +157,7 @@ "选择锁类型": "Vælg låstype", "NFC无源锁": "NFC Passiv lås", "添加设备": "Tilføj enhed", - "网关": "GatewayName", + "网关": "Gateway", "客服": "Kundeservice:", "设置": "Indstillinger", "更多设置": "Mere sæt", @@ -185,7 +185,7 @@ "删除账号": "Slet konto", "个人信息": "Kontoinformation", "头像": "Avatar", - "昵称": "NickNameName", + "昵称": "NickName", "请输入昵称": "Indtast venligst dit kaldenavn", "修改昵称": "Omdøb", "修改账号": "Redigér konto", @@ -213,10 +213,10 @@ "网关连接的锁": "Lås forbundet til denne Gateway", "信号强": "Stærk", "选择网关类型": "Vælg gateway- type", - "添加网关": "Tilføj gatewayName", + "添加网关": "Tilføj gateway", "重新通电": "Tilslut kraften", "指示灯": "Indikator Lys", - "选择网关": "Vælg gatewayName", + "选择网关": "Vælg gateway", "不支持5G WiFi网络,请选择2.4G WiFi网络进行配置": "5G understøttes ikke, Vælg et WiFi på 2.4G.", "WiFi密码": "WiFi- adgangskort", "请输入WiFi密码": "Indtast WiFi- adgangskode", @@ -245,7 +245,7 @@ "附近的锁": "Nærlig låse", "如需修改名字请重新命名,点击确定添加锁": "Hvis du vil ændre navnet, skal du omdøbe, klikke på OK for at tilføje låse", "添加锁时,手机必须在锁旁边": "Når du tilføjer en lås, skal telefonen være ved siden af låsen", - "登录": "LoginName", + "登录": "Login", "注册": "Registrer", "我已阅读并同意": "Jeg har læst og indvilliget", "验证码": "Kode", @@ -305,7 +305,7 @@ "胁迫卡": "Stresskort", "员工是否有密码": "Har allerede adgangskode", "员工是否有卡": "Har allerede kort", - "员工是否有指纹": "Sæt fingeraftrykket alleredeName", + "员工是否有指纹": "Sæt fingeraftrykket allerede", "获取钥匙": "Hent nøgle", "获取卡": "Hent kort", "获取指纹": "Hent fingeraftryk", @@ -316,11 +316,11 @@ "开门器": "Døråbnere", "面容开锁": "Ansigt åbnes", "开门方向设置": "Åbningsvejssæt", - "电机功率设置": "Indstilling af MotorPowerName", + "电机功率设置": "Indstilling af MotorPower", "开锁时是否需联网": "Hvis Internet er påkrævet ved oplåsning", "选择要加入分组的锁": "Vælg lockS der skal tilføjes til denne gruppe.", "锁数量": "Låstællinger", - "小米IOT平台": "Xiaomi IOT-platformName", + "小米IOT平台": "Xiaomi IOT-platform", "面容开锁设置": "Ansigtet låser op sæt", "感应距离": "Følelsesafstand", "防误开": "Forhindre forkert åbning", @@ -365,7 +365,7 @@ "员工是否有人脸": "Om medarbejderen har et ansigt", "同时删除员工钥匙": "Slet hans/ hendes ekey", "删除": "Slet", - "确定要删除员工吗?": "Slet denne medarbejderName", + "确定要删除员工吗?": "Slet denne medarbejder", "月统计": "Månedlig statistik", "迟到": "Forsinker", "早退": "Forsvind tidligt", @@ -519,7 +519,7 @@ "网络访问失败,请检查网络是否正常": "Forespørgsel mislykkedes.Netværk utilgængelig, Kontroller og tilslut din enhed til 3G/4G/WIFI", "清空": "Ryd", "是否清空?": "Forstået?", - "消息详情": "Brev- infoName", + "消息详情": "Brev- info", "创建时间": "Oprettelsestid", "管理员详情": "Oplysninger om administrator", "当被胁迫要求强行开锁时,使用胁迫卡会触发报警,报警信息会推送给管理员,该功能需要锁联网。": "Hvis nogen tvinger dig til at åbne døren, kan du bruge dette kort. Alarmen vil blive sendt til administratorerne. For at bruge denne funktion, skal du sørge for din lås er online.", @@ -691,7 +691,7 @@ "请输入身份证号和真实姓名": "Indtast venligst dit ID- nummer og rigtige navn.", "点击返回设备配对": "Tryk på Tilbage til enhedsparing", "无法连接?尝试升级": "Kan ikke forbinde?", - "固件升级提示": "Prompt for opgradering af FirmwareName", + "固件升级提示": "Prompt for opgradering af Firmware", "请先获取固件文件到手机本地,再选择升级": "Få venligst firmware-filen til den lokale telefon først, og vælg derefter Opgrader", "固件升级中": "Firmwaren bliver opgraderet", "取消升级": "Annullér opgraderingen", @@ -703,7 +703,7 @@ "传输中": "I transit", "发送人": "Udstedt af:", "发送时间": "Udstedt tid", - "钥匙详情": "Ekey- infoName", + "钥匙详情": "Ekey- info", "姓名": "Navn", "发送": "Send", "请确认姓名全名和身份证号码是否正确": "Bekræft venligst, at det fulde navn og ID-nummer er korrekt.", @@ -834,7 +834,7 @@ "微信": "WeChat", "朋友圈": "Øjeblikker", "QQ": "QQ", - "QQ空间": "QQZoneName", + "QQ空间": "QQZone", "微博": "Weibo Formand", "FaceBook": "Facebook", "链接": "Tilknytning", @@ -872,7 +872,7 @@ "再返回一次退出": "Afslut igen.", "请先添加锁": "Tilføj venligst låsen først.", "可视对讲": "Visuel interkom.", - "详细日志": "Detaljeret log logName", + "详细日志": "Detaljeret log log", "已复制到剪切板": "Kopieret", "拍照": "Fotografi", "从相册选择": "Vælg mellem albumet", @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Efter nulstilling, de metacarpal vener i låsen vil blive slettet. Er du sikker på at du vil nulstille?", @@ -1099,7 +1100,7 @@ "支持的国家值": "USA, Canada, Storbritannien, Australien, Indien, Tyskland, Frankrig, Italien, Spanien, Japan.", "操作流程": "Driftsprocesser", "操作流程值": "1 Tilføj en lås og gateway med Smart lås APP\n\n2 Aktiver den fjernlåsefunktion af låsen i APP (denne funktion er slukket som standard). Hvis du ikke har denne indstilling, understøtter låsen ikke Alexa\n\n3 Tilføj færdigheder til Alexa og autorisere dem med Smart lås APP konto og adgangskode. Når godkendelsen er vellykket, kan du opdage enheder under kontoen\n\n4 Find låsen i Alexa-appen, tænd stemme oplåsfunktionen og indstille adgangskoden for sproget.\n\n5 Låsen kan betjenes gennem Alexa", - "Google Home": "Google-hjemName", + "Google Home": "Google-hjem", "Action name": "Handlingsnavn", "ScienerSmart": "ScienerSmart", "支持的语言": "Understøttede sprog", diff --git a/lan/lan_de.json b/lan/lan_de.json index 0348fcdf..1c86e85e 100644 --- a/lan/lan_de.json +++ b/lan/lan_de.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Nach dem Zurücksetzen werden die Mittelhand adern des Schlosses gelöscht. Sind Sie sicher, dass Sie zurücksetzen wollen?", diff --git a/lan/lan_el.json b/lan/lan_el.json index b9867673..04c3ef24 100644 --- a/lan/lan_el.json +++ b/lan/lan_el.json @@ -97,7 +97,7 @@ "日榜": "Καθημερινά", "月榜": "Μηνιαία", "考勤记录": "Καταγραφή", - "假日信息": "Πληροφορίες διακοπώνName", + "假日信息": "Πληροφορίες διακοπών", "基本信息": "Βασικά", "无线键盘": "Ασύρματο πληκτρολόγιο", "选择无线键盘": "Προσθήκη πληκτρολόγιου", @@ -185,7 +185,7 @@ "删除账号": "Διαγραφή λογαριασμού", "个人信息": "Πληροφορίες λογαριασμού", "头像": "Άβαταρ", - "昵称": "NickNameName", + "昵称": "NickName", "请输入昵称": "Παρακαλώ εισάγετε το ψευδώνυμό σας", "修改昵称": "Μετονομασία", "修改账号": "Επεξεργασία λογαριασμού", @@ -693,7 +693,7 @@ "无法连接?尝试升级": "Δεν μπορείτε να συνδεθείτε;", "固件升级提示": "Προτεινόμενη αναβάθμιση του Firmware", "请先获取固件文件到手机本地,再选择升级": "Παρακαλώ αποκτήστε πρώτα το αρχείο firmware στο τοπικό τηλέφωνο και στη συνέχεια επιλέξτε Αναβάθμιση", - "固件升级中": "Το firmware αναβαθμίζεταιName", + "固件升级中": "Το firmware αναβαθμίζεται", "取消升级": "Ακύρωση της αναβάθμισης", "固件传输中": "Άρθρο 10", "关闭": "Κλείσιμο", @@ -834,7 +834,7 @@ "微信": "WeChat", "朋友圈": "Στιγμές", "QQ": "QQ", - "QQ空间": "QQZoneName", + "QQ空间": "QQZone", "微博": "Γουίβο", "FaceBook": "Βιβλίο Facebook", "链接": "Δεσμός", @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Μετά την επαναφορά, οι μετακάρπιες φλέβες της κλειδαριάς θα διαγραφούν. Είστε σίγουροι ότι θέλετε να επαναφέρετε;", @@ -1099,12 +1100,12 @@ "支持的国家值": "ΗΠΑ, Καναδάς, Ηνωμένο Βασίλειο, Αυστραλία, Ινδία, Γερμανία, Γαλλία, Ιταλία, Ισπανία, Ιαπωνία", "操作流程": "Διαδικασία λειτουργίας", "操作流程值": "1 Προσθέστε μια κλειδαριά και πύλη με την Smart κλειδαριά APP\n\n2 Ενεργοποιήστε τη λειτουργία απομακρυσμένου ξεκλειδώματος της κλειδαριάς στο APP (αυτή η συνάρτηση είναι απενεργοποιημένη από προεπιλογή). Αν δεν έχετε αυτή την επιλογή, η κλειδαριά δεν υποστηρίζει Alexa\n\n3 Προσθέστε τις δεξιότητες στην Alexa και να τις εξουσιοδοτήσετε με το λογαριασμό και τον κωδικό πρόσβασης Smart. Μετά την επιτυχία της εξουσιοδότησης, μπορείτε να ανακαλύψετε συσκευές κάτω από τον λογαριασμό\n\n4 Εντοπίστε την κλειδαριά στην εφαρμογή Alexa, ενεργοποιήστε τη λειτουργία φωνής ξεκλειδώματος, και να ορίσετε τον κωδικό πρόσβασης γλώσσας\n\n5 Η κλειδαριά μπορεί να λειτουργήσει μέσω Alexa", - "Google Home": "Σπίτι του GoogleName", + "Google Home": "Σπίτι του Google", "Action name": "Όνομα ενέργειας", "ScienerSmart": "ΕπιστήμοναςSmart", "支持的语言": "Υποστηριζόμενες γλώσσες", "英语": "Αγγλική", - "Google Home操作流程的值": "1. Χρησιμοποιήστε το Smart Lock APP για να προσθέσετε κλειδαριές και πύλες\n\n2. Ενεργοποιήστε τη λειτουργία απομακρυσμένου ξεκλειδώματος της κλειδαριάς στο APP (αυτή η λειτουργία είναι απενεργοποιημένη από προεπιλογή). Χωρίς αυτή την επιλογή, η κλειδαριά δεν υποστηρίζει το Google HomeName\n\n3. Εγκαταστήστε το Google Home APP και κάντε κλικ στο \" \" πλήκτρο στην επάνω αριστερή γωνία\n\n4. Στη σελίδα Ρυθμίσεις, επιλέξτε \"Εργασία με Google\"\n\n5. Αναζητήστε το \"ScienerSmart\" και να χρησιμοποιήσετε τον έξυπνο λογαριασμό και τον κωδικό πρόσβασης για να εξουσιοδοτήσει", + "Google Home操作流程的值": "1. Χρησιμοποιήστε το Smart Lock APP για να προσθέσετε κλειδαριές και πύλες\n\n2. Ενεργοποιήστε τη λειτουργία απομακρυσμένου ξεκλειδώματος της κλειδαριάς στο APP (αυτή η λειτουργία είναι απενεργοποιημένη από προεπιλογή). Χωρίς αυτή την επιλογή, η κλειδαριά δεν υποστηρίζει το Google Home\n\n3. Εγκαταστήστε το Google Home APP και κάντε κλικ στο \" \" πλήκτρο στην επάνω αριστερή γωνία\n\n4. Στη σελίδα Ρυθμίσεις, επιλέξτε \"Εργασία με Google\"\n\n5. Αναζητήστε το \"ScienerSmart\" και να χρησιμοποιήσετε τον έξυπνο λογαριασμό και τον κωδικό πρόσβασης για να εξουσιοδοτήσει", "密码需至少包含数字/字母/字符中的2种组合": "Ο κωδικός πρόσβασης πρέπει να περιέχει τουλάχιστον 2 από τα ακόλουθα: αριθμούς, γράμματα και ειδικούς χαρακτήρες.", "已开锁": "Ξεκλείδωμα", "已闭锁": "Κλειδωμένο", diff --git a/lan/lan_en.json b/lan/lan_en.json index b6c9f65a..28b0d715 100644 --- a/lan/lan_en.json +++ b/lan/lan_en.json @@ -1067,7 +1067,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1080,10 +1080,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "After reset, the metacarpal veins of the lock will be deleted. Are you sure you want to reset?", diff --git a/lan/lan_es.json b/lan/lan_es.json index 4e83680c..bc944084 100644 --- a/lan/lan_es.json +++ b/lan/lan_es.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Después del reinicio, se eliminarán las venas metacarpiales de la cerradura. ¿Está seguro de que desea restablecer?", diff --git a/lan/lan_et.json b/lan/lan_et.json index 7447f012..c44617c6 100644 --- a/lan/lan_et.json +++ b/lan/lan_et.json @@ -55,7 +55,7 @@ "密码详情": "Parooli infoComment", "修改密码": "Parooli muutmine", "添加虹膜": "Lisa Iiris", - "添加门磁": "UksessensorName", + "添加门磁": "Uksessensor", "添加无线键盘": "Juhtmeta klaviatuuri", "添加手掌": "Lisa palmi", "请输入员工账号": "Sisesta töötaja konto", @@ -101,7 +101,7 @@ "基本信息": "Põhimõtted", "无线键盘": "Juhtmeta klaviatuuri", "选择无线键盘": "Lisa klaviatuuri", - "门磁": "UksessensorName", + "门磁": "Uksessensor", "自动闭锁": "Automaatne lukustamine", "锁声音": "Heli lukustamine", "防撬报警": "Häire Tamperi", @@ -185,7 +185,7 @@ "删除账号": "Kustuta konto", "个人信息": "Konto teave", "头像": "Avatar", - "昵称": "NikNameName", + "昵称": "NikName", "请输入昵称": "Palun sisesta oma hüüdnimi.", "修改昵称": "Nimeta ümber", "修改账号": "Redigeeri konto", @@ -503,8 +503,8 @@ "您的钥匙已冻结": "Sinu võti on külmutatud", "您的钥匙已过期": "Sinu võti aegus", "常开模式开启": "Lukk on läbisõidurežiimis", - "超级管理员": "Super adminName", - "授权管理员": "Lubatud adminName", + "超级管理员": "Super admin", + "授权管理员": "Lubatud admin", "普通用户": "Tavaline kasutaja", "余": "Saldos", "天": "Päev", @@ -558,7 +558,7 @@ "密码生成后,请在当日23:59前使用,否则过0点后失效。清空码用于清空今天0点之前生成的所有密码。": "Pärast parooli loomist palun kasutage seda enne 23:59 samal päeval, vastasel juhul on see kehtetu pärast kella 0. Selge koodi kasutatakse kõigi loodud paroolide tühjendamiseks täna enne kella 0.", "密码生成后,请在当日23:59前使用,否则过0点后失效。": "Pärast parooli loomist palun kasutage seda enne 23:59 samal päeval, vastasel juhul on see kehtetu pärast kella 0.", "清空密码底部提示": "Parool kehtib kuni 23:59 tühjendamise päeval", - "相机": "KaameraName", + "相机": "Kaamera", "相册": "Fotod", "读写": "Säilitamine", "定位": "Asukoht", @@ -582,7 +582,7 @@ "商城": "Kaubamaja", "我的": "Minu", "微信公众号推送": "Jutt avalik konto", - "蓝牙": "BluetoothName", + "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Juurdepääs Bluetooth-i õigustele on vaja, et kasutada asukoha lisamise funktsiooni asukoha teavet", "请输入Email": "Sisesta oma e- postil", "请输入手机号": "Sisesta oma telefoninumber", @@ -604,7 +604,7 @@ "家人": "Pereliigem", "保存": "Salvesta", "APP推送": "APP lükkamine", - "管理员": "AdministraatorName", + "管理员": "Administraator", "未启用": "Pole lubatud", "已启用": "Lubatud", "省电模式": "Energiasäästu režiim", @@ -613,7 +613,7 @@ "自定义模式": "Kohandatud režiim", "猫眼设置": "Kassilmade seadmine", "猫眼工作模式": "Kassilmade töörežiim", - "自动亮屏": "Automaatne erekraanName", + "自动亮屏": "Automaatne erekraan", "亮屏持续时间": "Ekraan õigel ajal", "逗留警告": "Hoiatus.", "异常警告": "Ebatavaline hoiatus.", @@ -745,7 +745,7 @@ "为了让您及时收到重要通知和更新,我们需要获取通知权限。请点击“确定”按钮,然后在设置页面中启用通知权限。": "Oluliste uuenduste saamiseks klõpsake \"OK\" ja lubage teated seaded.", "开启后,可通过长按锁上的设置键重新上电,用APP重新添加": "Pärast sisselülitamist saad uuesti sisse vajutada klahvi lukk ja lisada see uuesti APP abil", "已有": "Praegune", - "新增": "UusName", + "新增": "Uus", "账号格式错误": "Halb vormingus", "接收者信息为空": "Saaja teave on tühi", "请输入时间(秒)": "Palun sisesta kellaaeg (sek)", @@ -770,7 +770,7 @@ "转移成功": "Ülekandmine", "该已锁被删除": "Lukustatud on kustutatud", "授权管理员只能查看和管理自己下发的钥匙、密码等权限": "Volitatud admin saab hallata ainult salakoode,ekeys ja etccreated ise.", - "添加授权管理员": "Loo adminName", + "添加授权管理员": "Loo admin", "导出记录": "Eksporditeenused", "选择时间段": "Vali ajavahemik", "导出": "Eksport", @@ -834,7 +834,7 @@ "微信": "WeChat", "朋友圈": "Hetked", "QQ": "QQ", - "QQ空间": "QQZoneName", + "QQ空间": "QQZone", "微博": "WeiboComment", "FaceBook": "FaceBook", "链接": "Lingi", @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Pärast lähtestamist kustutatakse luku metakarpaalveenid. Kas tõesti soovid lähtestada?", diff --git a/lan/lan_fi.json b/lan/lan_fi.json index 46d37502..444a2598 100644 --- a/lan/lan_fi.json +++ b/lan/lan_fi.json @@ -185,7 +185,7 @@ "删除账号": "Poista tili", "个人信息": "Tilitiedot", "头像": "Avatar", - "昵称": "NickNameName", + "昵称": "NickName", "请输入昵称": "Anna nimitysi", "修改昵称": "Nimeä uudelleen", "修改账号": "Muokkaa tiliä", @@ -216,7 +216,7 @@ "添加网关": "Lisää porttiComment", "重新通电": "Yhdistä teho", "指示灯": "Indikaattori Valo", - "选择网关": "Valitse porttiName", + "选择网关": "Valitse portti", "不支持5G WiFi网络,请选择2.4G WiFi网络进行配置": "5G ei ole tuettu, valitse 2.4G:n WiFi.", "WiFi密码": "WiFi", "请输入WiFi密码": "Syötä WiFi- salasana.", @@ -232,7 +232,7 @@ "使用静态IP": "Käytä staattista IP", "请输入IP地址": "Anna IP- osoite", "请输入子网掩码": "Syötä aliverkkomaa", - "请输入默认网关": "Siirry oletusporttiName", + "请输入默认网关": "Siirry oletusportti", "所有锁": "Kaikki lukot", "搜索所有类型的锁": "Skannaa kaikenlaisia lukkoja", "门锁": "Ovilukko", @@ -582,7 +582,7 @@ "商城": "Ostoskeskus", "我的": "Minun", "微信公众号推送": "Keskustele julkinen tili", - "蓝牙": "BluetoothName", + "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Pääsy Bluetooth-oikeuksiin vaaditaan käyttämään sijaintitietoja lisätä avaintoiminnon lisäämiseksi", "请输入Email": "Anna sähköposti", "请输入手机号": "Anna puhelinnumero", @@ -834,7 +834,7 @@ "微信": "Wechat", "朋友圈": "Hetket", "QQ": "QQ", - "QQ空间": "QQZoneName", + "QQ空间": "QQZone", "微博": "Weibo", "FaceBook": "FaceBook", "链接": "Linkkiä", @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Kun lukko on nollattu, metakarppinen suoneet poistetaan. Haluatko varmasti palauttaa?", diff --git a/lan/lan_fr.json b/lan/lan_fr.json index 4430ef1f..a002f18a 100644 --- a/lan/lan_fr.json +++ b/lan/lan_fr.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Après réinitialisation, les veines métacarpiennes de la serrure seront supprimées. Êtes-vous sûr de vouloir réinitialiser?", diff --git a/lan/lan_he.json b/lan/lan_he.json index 230e3a86..b376c53a 100644 --- a/lan/lan_he.json +++ b/lan/lan_he.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "לאחר איפוס, הורידים של המנעול יימחקו. אתה בטוח שברצונך לאפס?", diff --git a/lan/lan_hi.json b/lan/lan_hi.json index 766c91ef..85e44e4e 100644 --- a/lan/lan_hi.json +++ b/lan/lan_hi.json @@ -1067,7 +1067,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1080,10 +1080,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "रीसेट के बाद, लॉक के मेटाकार्पल नसों को हटा दिया जाएगा। क्या आप निश्चित रूप से रीसेट करना चाहते हैं?", @@ -1145,7 +1146,7 @@ "网关添加成功": "गेटवे सफलतापूर्वक जोड़ा गया", "呼叫目标": "कॉल लक्ष्य", "管理员APP": "व्यवस्थापक एप", - "可视门铃码": "Name", + "可视门铃码": "दृश्यमान दरवाजा घंटी कोड", "电子反锁": "इलेक्ट्रॉनिक विरोधी लॉक", "双重认证": "द्वि-कारक प्रमाणीकरण", "双锁联动": "द्वि पाश सहलग्नता", diff --git a/lan/lan_hk.json b/lan/lan_hk.json index 4e21afc2..39c8954d 100644 --- a/lan/lan_hk.json +++ b/lan/lan_hk.json @@ -1066,7 +1066,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1079,10 +1079,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "重置後,鎖的掌靜脈將被刪除。 你確定要重置啊?", diff --git a/lan/lan_hr.json b/lan/lan_hr.json index 00dfc10c..0017b27e 100644 --- a/lan/lan_hr.json +++ b/lan/lan_hr.json @@ -185,7 +185,7 @@ "删除账号": "Obriši korisnički račun.", "个人信息": "Informacije o računu", "头像": "Avatar", - "昵称": "NickNameName", + "昵称": "NickName", "请输入昵称": "Molim, unesite svoj nadimak", "修改昵称": "Preimenuj", "修改账号": "Uredi korisnički račun.", @@ -316,7 +316,7 @@ "开门器": "Otvarač vrata", "面容开锁": "Otključa lice", "开门方向设置": "Smjer otvaranja", - "电机功率设置": "Postavljanje MotorPowerName", + "电机功率设置": "Postavljanje MotorPower", "开锁时是否需联网": "Ako je internet potreban prilikom otključavanja", "选择要加入分组的锁": "Odaberite zaključavanje za dodavanje ovoj grupi", "锁数量": "Broj zaključanje", @@ -703,7 +703,7 @@ "传输中": "U provozu", "发送人": "Izdaja", "发送时间": "Izdano vrijeme:", - "钥匙详情": "EKEY InfoName", + "钥匙详情": "EKEY Info", "姓名": "Ime", "发送": "Pošalji", "请确认姓名全名和身份证号码是否正确": "Potvrdite da su puno ime i identifikacijski broj ispravni.", @@ -834,9 +834,9 @@ "微信": "WeChat", "朋友圈": "Trenutaci", "QQ": "QQ", - "QQ空间": "QQZoneName", + "QQ空间": "QQZone", "微博": "Weibo", - "FaceBook": "FacebookName", + "FaceBook": "Facebook", "链接": "Vez", "今天": "Danas", "密码错误": "Nevažeća lozinka", @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Nakon resetiranja, metakarpalne vene brave će biti izbrisane. Jeste li sigurni da želite resetiranje?", @@ -1103,8 +1104,8 @@ "Action name": "Ime akcije", "ScienerSmart": "ZnanstvenikSmart", "支持的语言": "Podržani jezici", - "英语": "EngleskiName", - "Google Home操作流程的值": "1. Koristite Smart lock APP za dodavanje brava i prolaza\n\n2. Omogućite daljinsku funkciju otključavanja brave u APP (ova funkcija je zadano isključena). Bez ove opcije, brava ne podržava Google HomeName\n\n3. Instalirajte Google Home APP i kliknite \" \" gumb u gornjem lijevom kutu\n\n4. Na stranici podešavanja odaberite \"Radi s Googleom\"\n\n5. Tražite \"ScienerSmart\" i upotrijebite pametni APP račun i lozinku za ovlašćenje", + "英语": "Engleski", + "Google Home操作流程的值": "1. Koristite Smart lock APP za dodavanje brava i prolaza\n\n2. Omogućite daljinsku funkciju otključavanja brave u APP (ova funkcija je zadano isključena). Bez ove opcije, brava ne podržava Google Home\n\n3. Instalirajte Google Home APP i kliknite \" \" gumb u gornjem lijevom kutu\n\n4. Na stranici podešavanja odaberite \"Radi s Googleom\"\n\n5. Tražite \"ScienerSmart\" i upotrijebite pametni APP račun i lozinku za ovlašćenje", "密码需至少包含数字/字母/字符中的2种组合": "Lozinka mora sadržavati najmanje 2 od sljedećih: brojeve, slova i posebne znakove", "已开锁": "Otključan", "已闭锁": "Zaključano", diff --git a/lan/lan_hu.json b/lan/lan_hu.json index 9d160938..b6436712 100644 --- a/lan/lan_hu.json +++ b/lan/lan_hu.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "A reset után a zár metakarpális erei törlődnek. Biztos vagy benne, hogy vissza akarsz állítani?", diff --git a/lan/lan_hy.json b/lan/lan_hy.json index e64c57d8..bdeceeb8 100644 --- a/lan/lan_hy.json +++ b/lan/lan_hy.json @@ -1067,7 +1067,7 @@ "波兰语": "Լեհերեն", "斯洛伐克语": "Սլովենչինա", "捷克语": "Չեշտինա", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1080,10 +1080,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Սուոմի", "丹麦语": "Դանսկ", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Վերագործարկումից հետո կողպեքի մետակարպալ երակները կջնջվեն: Իրո՞ք ցանկանում եք վերակայել:", diff --git a/lan/lan_id.json b/lan/lan_id.json index 8ce5e598..6cdb1f86 100644 --- a/lan/lan_id.json +++ b/lan/lan_id.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Setelah mengulang, pembuluh darah metakarpal dari kunci akan dihapus. Yakin ingin mengatur ulang?", diff --git a/lan/lan_it.json b/lan/lan_it.json index 3662ffaa..81a87fea 100644 --- a/lan/lan_it.json +++ b/lan/lan_it.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Dopo il reset, le vene metacarpali della serratura verranno cancellate. Sei sicuro di voler reimpostare?", diff --git a/lan/lan_ja.json b/lan/lan_ja.json index 9499d560..4759b7b7 100644 --- a/lan/lan_ja.json +++ b/lan/lan_ja.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "リセット後、ロックの中手骨静脈が削除されます。リセットしてもよろしいですか。", diff --git a/lan/lan_ka.json b/lan/lan_ka.json index e370fea9..67da6775 100644 --- a/lan/lan_ka.json +++ b/lan/lan_ka.json @@ -187,7 +187,7 @@ "删除账号": "ანგარიშის წაშლა", "个人信息": "ანგარიშის ინფორმაცია", "头像": "ავატარი", - "昵称": "ნიკName", + "昵称": "ნიკ", "请输入昵称": "გთხოვთ შეიყვანოთ თქვენი მეტსახელი", "修改昵称": "გადარქმევა", "修改账号": "ანგარიშის რედაქტირება", @@ -1067,7 +1067,7 @@ "波兰语": "პოლსკი", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1080,10 +1080,11 @@ "印度尼西亚语": "ბაჰასა ინდონეზია", "芬兰语": "სუომი", "丹麦语": "დანსკი", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "გადატვირთვის შემდეგ, საკეტის მეტაკარპალური ვენები წაიშლება. დარწმუნებული ხართ, რომ გსურთ გადატვირთვა?", diff --git a/lan/lan_keys.json b/lan/lan_keys.json index aff5bacc..1ce0f04b 100755 --- a/lan/lan_keys.json +++ b/lan/lan_keys.json @@ -1085,6 +1085,7 @@ "乌尔都语": "乌尔都语", "亚美尼亚语": "亚美尼亚语", "格鲁吉亚语": "格鲁吉亚语", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?", diff --git a/lan/lan_kk.json b/lan/lan_kk.json index 3b4f69ed..e61cda34 100644 --- a/lan/lan_kk.json +++ b/lan/lan_kk.json @@ -31,8 +31,8 @@ "简写周三": "WW", "简写周四": "T", "简写周五": "F", - "简写周六": "SName", - "简写周日": "SName", + "简写周六": "S", + "简写周日": "S", "周一": "MonComment", "周二": "Туе", "周三": "Жеті", @@ -116,7 +116,7 @@ "微信二维码": "QR кодін ашу", "拥有电子钥匙的人,通过微信扫一扫这个二维码,即可开门。每把锁的二维码都不相同,你可以将其打印出来贴在对应的锁旁边": "Электронлық кілттер бар адамдар осы QR коды \"WeChat\" дегенді сіздеп, шұқсаты ашылады. Әрбір блоктың QR коды басқа. Оны баспаға сәйкесті блоктың жағысын орналаса аласыз.", "锁编号": "Боқталсын", - "电量": "БатареяName", + "电量": "Батарея", "锁分组": "Топты бұғаттау", "选择分组": "Топты таңдау", "创建新分组": "Топты құру", @@ -279,7 +279,7 @@ "发卡工具": "КодтамасыComment", "购买高级功能须知": "Хабарламасы", "购买高级功能提示": "Қосымша мүмкіндіктер құрылғыда, егер керек болса, бұғаттардың санын ашу үшін көмектесіңіз. Қосымша мүмкіндіктері ғана өзіңізді бұғаттарыңыз. Егер әкімгілікті әкімші болса, қызметті ашу үшін блоктау жоғарғы әкімшісін қатынасыз", - "免费体验": "Бос сынауName", + "免费体验": "Бос сынау", "立即开通": "Қазір ашу", "购买短信": "SMS сақтау", "购买邮件": "Эл. поштаны сақтау", @@ -301,8 +301,8 @@ "对于选中的这些锁,当用户用APP开锁时,他的手机需要是连网的,否则无法开锁": "Таңдалған блоктарды APP-мен ашу үшін пайдаланушының телефонын онлайн болу керек.", "配置WiFi": "WiFi баптау", "请输入WiFi名字": "Wifi атын келтіріңіз", - "WiFi配网": "WiFi тарату желіName", - "胁迫卡": "Стрес картасыName", + "WiFi配网": "WiFi тарату желі", + "胁迫卡": "Стрес картасы", "员工是否有密码": "Бастапқы кодтары", "员工是否有卡": "Карта бар ғой", "员工是否有指纹": "Бақылау тізімін орнату", @@ -327,7 +327,7 @@ "防误开已关闭,关门后仍可使用面容开锁": "Ашылмағанды жабылсын", "添加和使用面容开锁时": "Жүктеу кезінде тағы қосу мен қолданылсын", "添加和使用面容开锁时提示": "\n1, бір адам қашықтығы операцияның алдында ұстап көріңіз.\n2, қазірішін бұғаттардың алдында 0,5 ~ 0,8 мсят, әзірін бұғаттарды келтіріңіз.\n3. Өшіріңізді бейімде болсап, өзіңізді таңдаңыз.\n4. Көйін анықтауы дұрыс емес болса, цифриқ пернетінің перне енгізінді қолмен қайта қосу үшін перне іске қоса аласыз.", - "秒": "SName", + "秒": "S", "请根据门锁实际情况,请谨慎选择电机功率:": "Мотодор қуаттандық қадамдастыру үшін таңдаңыз:", "小功率:": "Миноват:", "耗电少": "Қуаттандықтан кейі", @@ -351,7 +351,7 @@ "员工信息": "Жергілікті мәліметі", "员工": "Таңдау", "打卡方式无效": "Қол жеткізбеді", - "中国": "КітаName", + "中国": "Кіта", "选择钥匙": "Eky таңдау", "编辑": "Өңдеу", "无": "Жоқ", @@ -531,7 +531,7 @@ "公司名称不能小于6个字符": "Компанияның атауы 6 таңба болмайды", "WIFI列表": "WIFI тізімі", "刷新": "Жаңарту", - "手动配网": "Қолмен үлестірім желіName", + "手动配网": "Қолмен үлестірім желі", "远距离": "Үл қашықтығы", "中距离": "Орташа қашықтығы", "近距离": "Қысқа қашықтығы", @@ -548,7 +548,7 @@ "管理员密码": "Әдетті өшіру", "如需修改,请输入新的管理员密码(6位),点击确定即可修改": "Егер өзгерту керек болса, жаңа әкімшіші", "修改": "Өзгерту", - "网络摄像头": "КамераName", + "网络摄像头": "Камера", "重命名": "Атын ауыстыру", "分组下的锁将被移到未分组里": "Топтың төменгі блокталар тобысмен жылжытады", "编辑成功": "Сәтті өңдеу", @@ -574,7 +574,7 @@ "请手动在系统设置中开启": "Жүйелік параметрлерде қолмен іске қосыңыз", "权限以继续使用应用": "Қолданбаны жалғастыру рұқсат ету.", "去设置": "Оны орнату", - "当前网络": "Назардағы желіName", + "当前网络": "Назардағы желі", "位置信息": "Орналасуы ақпарат", "请输入wifi名称": "Wifi атауын келтіріңіз", "虹膜": "Iris", @@ -601,7 +601,7 @@ "提醒方式": "Ескерту жолы", "开门方式": "Қашықты ашылсын", "请选择": "Таңдау", - "家人": "Үлгі мүшесіName", + "家人": "Үлгі мүшесі", "保存": "Сақтау", "APP推送": "APP басы", "管理员": "Adminu", @@ -639,13 +639,13 @@ "全部视频": "Барлық видеолар", "已为本设备免费提供3大滚动视频储存服务": "Құрылғының шкі видео сақтау қызметі орындалды", "视频播放": "Видео ойнау", - "全选": "БарлықтыName", + "全选": "Барлықты", "请选择要删除的视频": "Өшіру келетін видеоін таңдаңыз", "请选择要下载的视频": "Жүктеу үшін осы видеоты таңдаңыз", "欢迎使用": "Қолданға қоша", "用户协议和隐私政策概要": "Пайдаланушы келесі мен бақылау ережесінің ақпарат", "协议概要": "Протоколды тобысы", - "感谢您使用本应用。我们非常重视您的个人信息和隐私保护,在使用本产品之前,请认真阅读": "Бұл қолданба қолданбасы үшін рахмет. Біздің жеке мәліметіңізді әдеттіңізге және жеке ақпараттық қорғастырыңызды. Осы продуктты қолдану алдында, оны ескертін оқыңызName", + "感谢您使用本应用。我们非常重视您的个人信息和隐私保护,在使用本产品之前,请认真阅读": "Бұл қолданба қолданбасы үшін рахмет. Біздің жеке мәліметіңізді әдеттіңізге және жеке ақпараттық қорғастырыңызды. Осы продуктты қолдану алдында, оны ескертін оқыңыз", "《用户协议》": "Пайдаланушы ақпараты", "和": "Сот", "《隐私政策》": "חPrivacy ережес", @@ -805,7 +805,7 @@ "蓝牙未打开,请到设置里面打开蓝牙": "Bluetooth енгізілмеген, Bluetooth баптауларын көрсетіңіз", "删除用户时,会将用户拥有的钥匙一起删除。": "Пайдаланушының келтірілген, егер Пайдаланушыға сәйкес келеді.", "配置网络": "Желі & баптау", - "你好": "ЖарыName", + "你好": "Жары", "成功": "Сәттін", "类型选择": "Таңдау", "请选择要使用哪种类型": "Қолданатын түрін таңдаңыз", @@ -834,8 +834,8 @@ "微信": "WeChat", "朋友圈": "Текшер", "QQ": "QQ", - "QQ空间": "QQZoneName", - "微博": "WeiboName", + "QQ空间": "QQZone", + "微博": "Weibo", "FaceBook": "FaceBook", "链接": "Сілтеме", "今天": "Бүгіз", @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Қайта ысырып тастағаннан соң бұғаттағы метакарпалар өшіріледі. Шынымен ысырып тастауды қалайсыз ба?", diff --git a/lan/lan_ko.json b/lan/lan_ko.json index 46580f02..c3eecdce 100644 --- a/lan/lan_ko.json +++ b/lan/lan_ko.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "재설정 후 잠금 장치의 중수골 정맥이 삭제됩니다. 당신은 당신이 재설정 하시겠습니까?", diff --git a/lan/lan_lt.json b/lan/lan_lt.json index bffeb650..e970baa7 100644 --- a/lan/lan_lt.json +++ b/lan/lan_lt.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Po reset užrakto metakarpinės venos bus ištrintos. Ar tikrai norite atstatyti?", diff --git a/lan/lan_ms.json b/lan/lan_ms.json index 62f5aa32..65b73957 100644 --- a/lan/lan_ms.json +++ b/lan/lan_ms.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Selepas menetapkan semula, urat metacarpal kunci akan dipadamkan. Adakah anda pasti anda mahu menetapkan semula?", diff --git a/lan/lan_nl.json b/lan/lan_nl.json index 42d0e892..05a39d0f 100644 --- a/lan/lan_nl.json +++ b/lan/lan_nl.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Na reset worden de middenhandsbeenaders van het slot verwijderd. Weet je zeker dat je wilt resetten?", diff --git a/lan/lan_pl.json b/lan/lan_pl.json index 1748be43..7414a8de 100644 --- a/lan/lan_pl.json +++ b/lan/lan_pl.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Po zresetowaniu żyły śródręcza zamka zostaną usunięte. Czy na pewno chcesz zresetować?", diff --git a/lan/lan_pt.json b/lan/lan_pt.json index 7e2cc1b8..54140af7 100644 --- a/lan/lan_pt.json +++ b/lan/lan_pt.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Após a reinicialização, as veias do metacarpo do bloqueio serão excluídas. Tens a certeza que queres reiniciar?", diff --git a/lan/lan_pt_br.json b/lan/lan_pt_br.json new file mode 100644 index 00000000..d21f2d6e --- /dev/null +++ b/lan/lan_pt_br.json @@ -0,0 +1,1170 @@ +{ + "星锁": "Bloqueio de estrelas", + "锁通通": "Travar Tongtong", + "点击开锁,长按闭锁": "Clique em Desbloquear e pressione e segure Travar", + "考勤": "Assiduidade", + "考勤设置": "Configurações de presença", + "电子钥匙": "Chave eletrônica", + "添加卡": "Adicionar cartões", + "卡号": "Número do cartão", + "添加指纹": "Adicionar uma impressão digital", + "指纹号": "Número da impressão digital", + "遥控": "controle remoto", + "添加人脸": "Adicionar rostos", + "门锁日志": "Registro da fechadura da porta", + "密码号": "Número da senha", + "添加者": "somador", + "添加时间": "Adicionar tempo", + "重置": "repor", + "请输入手机号或者邮箱": "Digite seu número de celular ou endereço de e-mail", + "工作时间": "Horário de trabalho", + "工作日设置": "Configuração de dia da semana", + "星期一": "Segunda-feira", + "星期二": "Terça-feira", + "星期三": "Quarta-feira", + "星期四": "Quinta-feira", + "星期五": "Sexta-feira", + "星期六": "Sábado", + "星期日": "Domingo", + "简写周一": "Segunda-feira curta", + "简写周二": "Terça-feira curta", + "简写周三": "Quarta-feira curta", + "简写周四": "Quinta-feira curta", + "简写周五": "Sexta-feira curta", + "简写周六": "Sábado curto", + "简写周日": "Domingo curto", + "周一": "Segunda-feira", + "周二": "Terça-feira", + "周三": "Quarta-feira", + "周四": "Quinta-feira", + "周五": "Sexta-feira", + "周六": "Sábado", + "周日": "Domingo", + "群发钥匙": "Distribuir chaves em grupos", + "锁": "fechadura", + "请添加": "Por favor, adicione", + "允许远程开锁": "Permite o desbloqueio remoto", + "请输入验证码": "Insira o código de verificação", + "获取密码": "Obter a senha", + "请给密码命名": "Por favor, dê um nome à senha", + "密码有限期为6个小时,只能使用一次": "As senhas são limitadas a 6 horas e só podem ser usadas uma vez", + "手动输入6-9位数字作为密码。可在锁旁边通过手机蓝牙添加,也可以通过网关远程添加": "Insira manualmente de 6 a 9 dígitos como senha. Ele pode ser adicionado via Bluetooth em seu telefone ao lado da fechadura ou remotamente através do gateway", + "获取": "buscar", + "添加": "Acrescentar", + "删除公司": "Excluir a empresa", + "密码详情": "Detalhes da senha", + "修改密码": "Altere sua senha", + "添加虹膜": "Adicione a íris", + "添加门磁": "Adicionar ímãs de porta", + "添加无线键盘": "Adicionar um teclado sem fio", + "添加手掌": "Adicione palmas das mãos", + "请输入员工账号": "Insira o número da conta do funcionário", + "批量授权锁": "Bloqueios de autorização em massa", + "授权管理员拥有操作这把锁的重要权限,请确保只发给我你信任的人": "Os administradores autorizados têm permissões importantes para operar esse bloqueio, portanto, certifique-se de enviá-lo apenas para pessoas em quem você confia", + "功能开启后,你将可以通过网关远程开锁。此功能的开启和关闭只能在锁附近通过手机蓝牙进行。": "Depois que o recurso estiver ativado, você poderá desbloquear remotamente por meio do gateway. Esse recurso só pode ser ativado e desativado por meio do Bluetooth do telefone próximo à fechadura.", + "功能开启后,你将可以通过网关远程开锁。": "Depois que o recurso estiver ativado, você poderá desbloquear remotamente por meio do gateway.", + "排列方式": "Arranjo", + "早到榜": "Chegue cedo na lista", + "迟到榜": "Lista de atrasados", + "当前模式": "Modo atual", + "勤奋榜": "Lista de diligências", + "延迟时间": "Tempo de atraso", + "经过以上设定的时间,锁会自动关闭。开启或修改设置后,请先开一次锁,使时间生效。": "Após o tempo definido acima, a fechadura fechará automaticamente. Depois de ativar ou modificar as configurações, abra o cadeado uma vez para que o tempo entre em vigor.", + "时间": "Hora", + "开始时间": "Hora de início", + "结束时间": "Hora de término", + "工作时间设置": "Configuração de horário de trabalho", + "常开模式": "Modo normalmente aberto", + "常开时间": "Horário normal", + "常开日期": "Datas regulares de abertura", + "添加员工": "Adicionar funcionários", + "编辑员工": "Equipe editorial", + "节假日": "Férias", + "打卡方式": "Método de check-in", + "员工是否有钥匙": "Se o funcionário tem uma chave", + "上班时间": "Horário de trabalho", + "下班时间": "Fora do horário de expediente", + "本周": "Semana", + "单休": "Descanso individual", + "双休": "Semana", + "单双休": "Feriados ímpares e duplos", + "年": "ano", + "月": "mês", + "放假日期": "Datas de feriados", + "补班日期": "Data de reposição", + "添加假日": "Adicionar feriados", + "开始日期": "Data de início", + "必填": "Necessário", + "结束日期": "Data de término", + "日榜": "Lista diária", + "月榜": "Lista mensal", + "考勤记录": "Registros de presença", + "假日信息": "Informações de férias", + "基本信息": "Informações básicas", + "无线键盘": "Teclado sem fio", + "选择无线键盘": "Selecione Teclado sem fio", + "门磁": "Ímã de porta", + "自动闭锁": "Travamento automático", + "锁声音": "Som de bloqueio", + "防撬报警": "Alarme anti-intromissão", + "重置键": "Redefinir chave", + "锁时间": "Tempo de bloqueio", + "诊断": "Diagnóstico", + "上传数据": "Carregar dados", + "导入其他锁数据": "Importar dados de bloqueio adicionais", + "锁升级": "Atualização de bloqueio", + "标记房态": "Marcar o estado da sala", + "开锁提醒": "Lembrete de lockpick", + "微信二维码": "Código QR do WeChat", + "拥有电子钥匙的人,通过微信扫一扫这个二维码,即可开门。每把锁的二维码都不相同,你可以将其打印出来贴在对应的锁旁边": "Pessoas com chaves eletrônicas podem escanear esse código QR através do WeChat para abrir a porta. O código QR é diferente para cada fechadura e você pode imprimi-lo e colá-lo ao lado da fechadura correspondente", + "锁编号": "Número da fechadura", + "电量": "Eletricidade", + "锁分组": "Agrupamento de bloqueios", + "选择分组": "Selecione Agrupamento", + "创建新分组": "Criar um novo grupo", + "管理员开锁密码": "Senha de desbloqueio do administrador", + "更新": "atualização", + "电量信息可以通过网关远程更新,或通过手机蓝牙在锁旁边更新": "As informações da bateria podem ser atualizadas remotamente através do gateway ou ao lado da fechadura via Bluetooth no seu telefone", + "当屏幕闪烁时,点击下一步": "Quando a tela piscar, toque em Avançar", + "输入*529#或按设置键": "Digite *529# ou pressione a tecla de configuração", + "长按重置键2秒": "Pressione e segure o botão de reinicialização por 2 segundos", + "附近的设备": "Dispositivos próximos", + "暂无数据": "Não há dados disponíveis", + "通过门磁可查询门的开、关状态。每把锁咳添加一个门磁": "O sensor da porta pode consultar o status de abertura e fechamento da porta. Adicione um ímã de porta a cada tosse de fechadura", + "开始": "Começar", + "全天": "o dia todo", + "你可以设置多个常开时间段,在设置的时间段内,锁被打开后一直处于打开的状态。": "Você pode definir vários períodos de tempo sempre ativos durante os quais a fechadura permanece aberta depois de aberta.", + "请选择锁音量": "Selecione o volume de bloqueio", + "功能开启后,你将可以听到智能锁的提示音。包括电量过低,密码错误等提示。": "Assim que o recurso for ativado, você poderá ouvir o bipe do bloqueio inteligente. Incluindo bateria fraca, senha errada, etc.", + "低": "baixo", + "较低": "Abaixar", + "中": "meio", + "较高": "Maior", + "高": "alto", + "开启后,锁被撬动时,会发出报警声": "Quando aberto, um som de alarme soará quando a fechadura for arrancada", + "关闭后,重置键无效,锁要通过app删除后才能重新添加": "Após o fechamento, a chave de reinicialização é inválida e o bloqueio só pode ser adicionado novamente depois de ser removido por meio do aplicativo", + "校准时间": "Tempo de calibração", + "诊断是读取锁内的配置信息并上传,以便工作人员分析故障的原因": "O diagnóstico deve ler as informações de configuração dentro da fechadura e carregá-las para que o trabalhador possa analisar a causa da falha", + "上传": "carregar", + "本操作将上传锁内数据到服务器,过程可能需要几分钟,请耐心等待": "Esta operação fará o upload dos dados da fechadura para o servidor, o processo pode demorar alguns minutos, por favor, seja paciente", + "请选择要从哪把锁导入": "Selecione de qual cadeado você deseja importar", + "有新版本": "Há uma nova versão", + "当前版本": "Versão atual", + "升级": "melhoramento", + "空闲": "tempo livre", + "已入住": "Check-in", + "英文": "Inglês", + "简体中文": "Chinês simplificado", + "多语言": "Poliglota", + "添加锁": "Adicionar um cadeado", + "锁地址": "Endereço de bloqueio", + "选择锁类型": "Selecione o tipo de bloqueio", + "NFC无源锁": "Bloqueio passivo NFC", + "添加设备": "Adicionar equipamento", + "网关": "porta", + "客服": "Cliente", + "设置": "Preparar", + "更多设置": "Mais configurações", + "消息推送": "Envio de mensagem", + "锁用户管理": "Bloquear o gerenciamento de usuários", + "拥有的钥匙": "A chave para a posse de bola", + "批量授权": "Licenciamento em massa", + "关联设备": "Dispositivos associados", + "关联姓名": "Nome associado", + "转移智能锁": "Transferência de bloqueio inteligente", + "选择锁": "Selecione Bloquear", + "接收人信息": "Informações do destinatário", + "转移网关": "Gateway de transferência", + "锁屏": "Tela de bloqueio", + "已关闭": "Fechado", + "已开启": "Abrir", + "开启": "Abrir", + "确定要开启重置键?": "Tem certeza de que deseja ativar o botão de reinicialização?", + "确定要关闭重置键?": "Tem certeza de que deseja desligar a chave de reset?", + "隐藏无效开锁权限": "Ocultar permissões de desbloqueio inválidas", + "APP开锁时需手机连网的锁": "Quando o APP é desbloqueado, o bloqueio do celular é conectado à Internet", + "增值服务": "Serviços de valor agregado", + "关于": "sobre", + "退出": "renunciar", + "删除账号": "Excluir sua conta", + "个人信息": "Informações pessoais", + "头像": "Avatar", + "昵称": "apelido", + "请输入昵称": "Por favor, insira um apelido", + "修改昵称": "Modificar o apelido", + "修改账号": "Modifique sua conta", + "重置密码": "Redefina sua senha", + "安全问题": "Problemas de segurança", + "为了你的账号安全,修改账号前请先使用验证码验证": "Para a segurança de sua conta, use um código de verificação antes de modificá-la", + "请输入新账号": "Insira um novo número de conta", + "找回密码和登录新设备时,可通过绑定的手机验证": "Ao recuperar sua senha e fazer login em um novo dispositivo, você pode autenticar com seu telefone vinculado", + "找回密码和登录新设备时,可通过绑定的邮箱验证": "Ao recuperar sua senha e fazer login em um novo dispositivo, você pode verificá-la por meio do endereço de e-mail vinculado", + "原密码": "Senha original", + "新密码": "Nova senha", + "确认密码": "Confirme a senha", + "当你手机丢了,可以通过回答设置的安全问题来登录新设备": "Quando você perde seu telefone, pode entrar em um novo dispositivo respondendo às perguntas de segurança configuradas", + "问题一": "Pergunta 1", + "问题二": "Pergunta 2", + "问题三": "Pergunta 3", + "请输入你的答案": "Por favor, digite sua resposta", + "即将到期": "Expirando em breve", + "去授权": "Desautorização", + "修改名称": "Modifique o nome", + "状态": "estado", + "WiFi名称": "Nome do WiFi", + "网络MAC": "Rede MAC", + "网关升级": "Atualizações de gateway", + "网关连接的锁": "Bloqueio para conexão de gateway", + "信号强": "Sinal forte", + "选择网关类型": "Selecione o tipo de gateway", + "添加网关": "Adicionar um gateway", + "重新通电": "Reenergizar", + "指示灯": "Luz", + "网关通电后,长按重置按钮5秒,蓝色指示灯闪烁时点击下一步": "Depois que o gateway for ligado, pressione e segure o botão de reinicialização por 5 segundos e clique em Avançar quando a luz azul piscar", + "选择网关": "Selecione Gateway", + "不支持5G WiFi网络,请选择2.4G WiFi网络进行配置": "A rede WiFi 5G não é suportada, selecione a rede WiFi 2.4G para configurar", + "WiFi密码": "Senha WiFi", + "请输入WiFi密码": "Por favor, digite a senha WiFi", + "网关名称": "Nome do gateway", + "请输入网关名称": "Digite o nome do gateway", + "IP地址": "Endereço IP", + "子网掩码": "Máscara de sub-rede", + "默认网关": "Gateway padrão", + "自动获取DNS服务器地址": "Obtenha automaticamente endereços de servidor DNS", + "首选DNS": "DNS é preferencial", + "备选DNS": "DNS alternativo", + "不使用静态IP": "Não use IPs estáticos", + "使用静态IP": "Usar um IP estático", + "请输入IP地址": "Digite o endereço IP", + "请输入子网掩码": "Insira a máscara de sub-rede", + "请输入默认网关": "Insira o gateway padrão", + "所有锁": "Todas as fechaduras", + "搜索所有类型的锁": "Pesquise todos os tipos de fechaduras", + "门锁": "Fechadura", + "挂锁": "cadeado", + "保险箱锁": "Bloqueio seguro", + "智能门禁": "Controle de acesso inteligente", + "车位锁": "Bloqueio de estacionamento", + "摸亮触摸屏": "Toque na tela sensível ao toque", + "摸亮触摸屏,锁进入可添加状态,点击下一步": "Toque na tela sensível ao toque, bloqueie para o estado adicionável e clique em Avançar", + "附近的锁": "Eclusas próximas", + "如需修改名字请重新命名,点击确定添加锁": "Se você precisar alterar o nome, renomeie-o e clique em OK para adicionar um cadeado", + "添加锁时,手机必须在锁旁边": "Ao adicionar um cadeado, o telefone deve estar próximo ao cadeado", + "登录": "login", + "注册": "inscrever", + "我已阅读并同意": "Eu li e concordo", + "验证码": "CAPTCHA", + "密码必须是8-20位,至少包括数字/字母/符号中的2种": "A senha deve ter de 8 a 20 dígitos e incluir pelo menos 2 dos números/letras/símbolos", + "手机": "celular", + "邮箱": "caixa de correio", + "请输入邮箱": "Por favor, digite seu endereço de e-mail", + "国家/地区": "País", + "你所在的国家/地区": "Seu país", + "选择国家/地区": "Selecione um país", + "获取验证码": "Obter um código de verificação", + "商务合作": "Cooperação empresarial", + "电脑网页版": "Versão web para computador", + "酒店系统": "Sistema hoteleiro", + "说明书网页版": "Manual de instruções versão web", + "高级功能": "Recursos avançados", + "记录保存": "Manutenção de registros", + "您可通过短信将密码、电子钥匙信息发给接收人。": "Você pode enviar a senha e as informações da chave eletrônica para o destinatário via SMS.", + "您可通过邮件将密码、电子钥匙信息发给接收人。": "Você pode enviar a senha e as informações da chave eletrônica para o destinatário por e-mail.", + "购买实名认证提示": "Comprar dicas de autenticação de nome real", + "请选择你希望的实名认证频次": "Selecione a frequência de autenticação de nome real desejada", + "仅首次": "Apenas pela primeira vez", + "每日一次": "Uma vez por dia", + "每周一次": "Uma vez por semana", + "每月一次": "Uma vez por mês", + "当前状态": "Status atual", + "试用中": "Julgamento", + "高级功能权益内容": "Conteúdo de benefício de recurso premium", + "短信模板": "Modelos de SMS", + "邮件模板": "Modelos de e-mail", + "发卡工具": "Ferramenta de emissão de cartões", + "购买高级功能须知": "Aviso para compra de recursos premium", + "购买高级功能提示": "Dicas para comprar recursos premium", + "免费体验": "Experimente gratuitamente", + "立即开通": "Ative imediatamente", + "购买短信": "Comprar SMS", + "购买邮件": "Comprar correio", + "购买实名认证次数": "O número de compras de autenticação de nome real", + "开通高级功能": "Ativar recursos avançados", + "选择套餐": "Escolha um pacote", + "支付方式": "Métodos de pagamento", + "支付宝": "Alipay", + "去支付": "Vá pagar", + "你可以自己定义模版的内容,用于发送密码或电子钥匙信息给他人": "Você pode definir o conteúdo do seu modelo para enviar senhas ou mensagens de chave eletrônica para outras pessoas", + "高级功能仅能用于你自己的锁": "Os recursos avançados estão disponíveis apenas para suas próprias fechaduras", + "新建模板": "Criar um novo modelo", + "类型": "tipo", + "模版内容": "Conteúdo do modelo", + "预览": "Visualizar", + "房间名": "Nome do quarto", + "预计产生短信条数": "Número esperado de mensagens SMS", + "功能开启后,已失效较长时间的密码、电子钥匙、卡、指纹等开锁权限将被隐藏,不在列表里显示。": "Depois que a função for habilitada, as permissões de desbloqueio, como senhas, chaves eletrônicas, cartões, impressões digitais, etc., que são inválidas há muito tempo, serão ocultadas e não serão exibidas na lista.", + "对于选中的这些锁,当用户用APP开锁时,他的手机需要是连网的,否则无法开锁": "Para esses bloqueios, quando o usuário usa o APP para desbloquear, seu celular precisa estar conectado à Internet, caso contrário, ele não pode ser desbloqueado", + "配置WiFi": "Configurar WiFi", + "请输入WiFi名字": "Por favor, digite o nome do WiFi", + "WiFi配网": "Rede Wi-Fi", + "胁迫卡": "Cartão de coerção", + "员工是否有密码": "Se o funcionário tem uma senha", + "员工是否有卡": "Se o funcionário tem um cartão", + "员工是否有指纹": "Se o funcionário tem impressões digitais", + "获取钥匙": "Obtenha a chave", + "获取卡": "Obtenha o cartão", + "获取指纹": "Obter impressões digitais", + "安全验证": "Verificação de segurança", + "删除账号后,你的所有信息及相关记录都会从平台彻底删除,且不可恢复,是否删除?": "Após excluir sua conta, todas as suas informações e registros relacionados serão completamente excluídos da plataforma e não poderão ser recuperados.", + "监控": "monitor", + "视频日志": "Registro de vídeo", + "开门器": "Abridor de portão", + "面容开锁": "O rosto está desbloqueado", + "开门方向设置": "A direção de abertura da porta está definida", + "电机功率设置": "Configuração de potência do motor", + "开锁时是否需联网": "Se você precisa estar conectado à Internet ao desbloquear", + "选择要加入分组的锁": "Selecione o cadeado que você deseja que junte o grupo", + "锁数量": "Número de bloqueios", + "小米IOT平台": "Plataforma Xiaomi IOT", + "面容开锁设置": "Configurações de desbloqueio facial", + "感应距离": "Distância de indução", + "防误开": "Evite a abertura acidental", + "防误开已关闭,关门后仍可使用面容开锁": "A abertura anti-acidental é fechada e o desbloqueio facial ainda pode ser usado após o fechamento", + "添加和使用面容开锁时": "Ao adicionar e usar o desbloqueio facial", + "添加和使用面容开锁时提示": "Dicas ao adicionar e usar desbloqueios faciais", + "秒": "segundo", + "请根据门锁实际情况,请谨慎选择电机功率:": "Por favor, escolha a potência do motor com cuidado de acordo com a situação real da fechadura da porta:", + "小功率:": "Baixa potência:", + "耗电少": "Baixo consumo de energia", + "大功率": "de alta potência", + "大功率提示": "Pontas de alta potência", + "开门方向设置提示": "Defina um prompt para a direção de abertura da porta", + "左开": "Abrir à esquerda", + "右开": "Abrir à direita", + "判断方法:": "Como julgar:", + "判断方法内容": "Conteúdo do método de julgamento", + "录像时段": "Sessão de vídeo", + "密码": "senha", + "卡": "cartão", + "指纹": "impressão digital", + "人脸": "Rosto humano", + "配件商城": "Loja de acessórios", + "公司名称": "Nome da empresa", + "请输入公司名字": "Digite o nome da sua empresa", + "提示": "rápido", + "是否删除?": "Ele foi excluído?", + "员工信息": "Informações do funcionário", + "员工": "empregado", + "打卡方式无效": "O método de registro de ponto é inválido", + "中国": "China", + "选择钥匙": "Selecionar chaves", + "编辑": "editar", + "无": "não", + "有": "Sim", + "请输入姓名": "Por favor, digite seu nome", + "获取人脸": "Obter rostos", + "选择密码": "Selecione a senha", + "选择卡": "Selecione o cartão", + "选择指纹": "Selecione Impressão digital", + "选择人脸": "Selecionar rosto", + "员工是否有人脸": "Se o funcionário tem um rosto", + "同时删除员工钥匙": "Exclua também as chaves dos funcionários", + "删除": "Excluir", + "确定要删除员工吗?": "Tem certeza de que deseja remover um funcionário?", + "月统计": "Estatísticas mensais", + "迟到": "Tarde", + "早退": "Cedo", + "未打卡": "Não cronometrado", + "钥匙将在": "A chave será", + "天后失效": "A Rainha do Céu é inválida", + "电量更新时间:": "Tempo de atualização da bateria:", + "新增配件": "Novos acessórios", + "钥匙不可用": "A chave não está disponível", + "正在开锁中...": "Arrombando fechaduras...", + "你的钥匙": "Suas chaves", + "常开模式启动!长按闭锁": "Normalmente, o modo aberto é iniciado! Pressione e segure para travar", + "演示模式": "Modo de demonstração", + "请先同意用户协议及隐私政策": "Por favor, concorde com o Contrato do Usuário e a Política de Privacidade primeiro", + "用户协议": "Contrato do Usuário", + "隐私政策": "Política de privacidade", + "注册成功": "O registro foi bem-sucedido", + "你所在的": "Você é", + "手机号": "Número de telefone celular", + "忘记密码": "Esqueci a senha", + "重置成功": "A redefinição foi bem-sucedida", + "确定要退出吗?": "Tem certeza de que quer parar?", + "功能暂未开放": "A função ainda não está aberta", + "设置成功": "A configuração foi bem-sucedida", + "删除成功": "Exclusão bem-sucedida", + "单次": "Único", + "永久": "perpétuo", + "限时": "Tempo limitado", + "自定义": "Personalização", + "清空码": "Limpe o código", + "循环": "circular", + "工作日": "Semana", + "每日": "diário", + "周末": "fim de semana", + "确定要删除吗?": "Tem certeza de que deseja excluí-lo?", + "该锁的密码都将被删除": "A senha do cadeado será excluída", + "已过期": "Expirado", + "该锁的电子钥匙都将被删除": "A chave eletrônica da fechadura será excluída", + "同时删除其发送的所有钥匙,钥匙删除后不能恢复": "Ao mesmo tempo, todas as chaves enviadas por ele são excluídas e as chaves não podem ser restauradas depois de excluídas", + "删除钥匙会在用户APP连网后生效": "A chave de exclusão entrará em vigor depois que o aplicativo do usuário estiver conectado à Internet", + "有效时间": "Tempo de validade", + "接收者": "Receptor", + "仅管理自己创建的用户": "Gerencie apenas os usuários que você cria", + "远程开锁": "Desbloqueio remoto", + "请输入钥匙名称": "Digite o nome da chave", + "修改成功": "A modificação foi bem-sucedida", + "冻结": "congelar", + "解除冻结": "Descongelar", + "授权": "autorização", + "取消授权": "Cancelar autorização", + "同时解冻其发送的钥匙": "Ao mesmo tempo, descongele a chave enviada", + "会在用户APP连网后生效": "Ele entrará em vigor depois que o aplicativo do usuário se conectar à Internet", + "同时冻结其发送的钥匙": "Congele também as chaves que envia", + "冻结会在用户APP连网后生效": "O congelamento entrará em vigor depois que o usuário estiver conectado à Internet", + "取消授权会在用户APP连网后生效": "O cancelamento da autorização entrará em vigor depois que o usuário estiver conectado à Internet", + "授权用户拥有管理员的大部分权限,比如发送钥匙、发送密码": "Os usuários autorizados têm a maioria das permissões do administrador, como enviar chaves e enviar senhas", + "失效时间需晚于生效时间": "O tempo de expiração é posterior ao tempo efetivo", + "生效时间需晚于当前时间": "A hora efetiva deve ser posterior à hora atual", + "失效日期需晚于生效日期": "A data de expiração deve ser posterior à data efetiva", + "修改有效期": "Modificar o período de validade", + "生效日期": "Data de vigência", + "失效日期": "Data de validade", + "开锁": "destravar", + "开锁成功": "Desbloqueie com sucesso", + "请选择锁": "Por favor, selecione o bloqueio", + "请选择接收者": "Selecione o destinatário", + "请选择有效期": "Selecione a data de validade", + "请选择发送方式": "Selecione o método de envio", + "请选择结束时间": "Selecione um horário de término", + "完成": "acabar", + "有效日": "Data de vigência", + "发送成功": "Enviado com sucesso", + "请选择开始时间": "Selecione um horário de início", + "选择用户": "Selecionar usuários", + "已选中": "Selecionado", + "确定": "Tem certeza", + "请选择要发送的锁": "Selecione o cadeado que deseja enviar", + "人脸实名认证指的是用户在使用手机APP开锁时,需要先进行本人人脸验证,验证通过才能开锁。": "A autenticação de nome real facial significa que, quando os usuários usam o aplicativo móvel para desbloquear, eles precisam verificar seu rosto primeiro e somente após a verificação podem desbloquear o bloqueio.", + "分享": "Compartilhar", + "请输入接收者账号": "Insira a conta do destinatário", + "接收者号码未注册,请重新发送": "O número do destinatário não está registrado, por favor, reenvie-o", + "是否发送电子钥匙给未注册账号": "Se uma chave eletrônica deve ser enviada para uma conta não registrada", + "取消": "Cancelar", + "标记成功": "Marcar com sucesso", + "微信好友": "Amigos do WeChat", + "短信": "SMS", + "邮件": "correio", + "更多": "mais", + "您好,您的电子钥匙生成成功": "Olá, sua chave eletrônica foi gerada com sucesso", + "生效时间不能小于当前时间": "O tempo efetivo não pode ser menor que o tempo atual", + "结束时间不能小于当前时间": "A hora de término não pode ser menor que a hora atual", + "是否为管理员": "Se você é um administrador", + "已连接到锁,请将卡靠近门锁的读卡区": "Se você estiver conectado a uma fechadura, segure o cartão próximo à área de leitura da fechadura da porta", + "尝试连接设备...": "Tente conectar dispositivos...", + "地理位置": "Localização geográfica", + "检查以确保以下地址是正确的": "Verifique se o seguinte endereço está correto", + "地图加载中,请稍候。。": "O mapa está carregando, aguarde um momento.", + "跳过": "Saltitar", + "还未获取到位置信息哦,请耐心等待一下!": "Ainda não recebi as informações de localização, então, por favor, seja paciente!", + "请填写信息": "Por favor, preencha as informações", + "有效期": "Data de validade", + "生效时间": "Tempo efetivo", + "失效时间": "Tempo de expiração", + "上传成功": "O upload foi bem-sucedido", + "未生效": "Não está em vigor", + "已生效": "entrou em vigor", + "指纹详情": "Detalhes da impressão digital", + "添加过程中,请根据提示,在指纹采集器上进行多次的抬起按压": "Durante o processo de adição, levante e pressione o coletor de impressões digitais várias vezes, conforme solicitado", + "开始添加": "Comece a adicionar", + "请将您的手指按下": "Por favor, pressione o dedo", + "根据提示,抬起手指后再进行下一次指纹采集": "Siga as instruções para levantar o dedo antes da próxima coleta de impressões digitais", + "添加成功": "Adicionar com sucesso", + "更新成功": "A atualização foi bem-sucedida", + "搜索": "Procurar", + "重置后,该锁的卡都将被删除哦,确认要重置吗?": "Após a redefinição, o cartão da fechadura será excluído, você confirma que deseja redefini-lo?", + "已失效": "Ele expirou", + "卡详情": "Detalhes do cartão", + "请输入": "Por favor, digite", + "关闭后,智能锁将设置为全天常开模式,直到手动关闭": "Quando desligado, o bloqueio inteligente será definido para o modo sempre ativo ao longo do dia até que seja desligado manualmente", + "请输入小于或等于60的数字": "Insira um número menor ou igual a 60", + "操作成功": "A operação foi bem-sucedida", + "管理员密码相同,无需修改": "A senha do administrador é a mesma e não precisa ser alterada", + "请输入6-9位数字": "Digite de 6 a 9 dígitos", + "请输入6-9位管理员密码": "Digite a senha de administrador de 6 a 9 dígitos", + "请输入新的管理员密码": "Digite sua nova senha de administrador", + "未分组": "Não agrupado", + "请输入分组名称": "Insira um nome de grupo", + "创建成功": "Criado com sucesso", + "设置锁分组成功": "Definir o agrupamento de bloqueios com êxito", + "电池1电量": "Bateria 1 carga", + "电池2电量": "Carga da bateria 2", + "电量更新时间": "Tempo de atualização da bateria", + "锁电量更新成功": "A atualização da bateria de bloqueio foi bem-sucedida", + "您的钥匙未生效": "Sua chave não está ativa", + "您的钥匙已冻结": "Suas chaves estão congeladas", + "您的钥匙已过期": "Sua chave expirou", + "常开模式开启": "O modo normalmente aberto está ativado", + "超级管理员": "Super administrador", + "授权管理员": "Administradores autorizados", + "普通用户": "Usuários regulares", + "余": "Eu", + "天": "céu", + "删除锁后,所有信息都会一起删除,确定删除锁吗?": "Depois de excluir o bloqueio, todas as informações serão excluídas juntas, você tem certeza de que deseja excluir o bloqueio?", + "请输入登录密码": "Por favor, digite sua senha de login", + "删除设备失败,请确保在设备附近,设备未被连接,设备已打开": "A exclusão do dispositivo falha, verifique se ele está próximo ao dispositivo, se o dispositivo não está conectado e se o dispositivo está ligado", + "用户无权限": "O usuário não tem permissões", + "创建公司后,考勤功能才能使用": "O recurso de presença só está disponível depois que você cria uma empresa", + "是否删除钥匙?": "Você exclui a chave?", + "邮箱绑定成功": "O e-mail foi vinculado com sucesso", + "手机绑定成功": "O telefone está vinculado com sucesso", + "网络访问失败,请检查网络是否正常": "Se o acesso à rede falhar, verifique se a rede está normal", + "清空": "vazio", + "是否清空?": "Está vazio?", + "消息详情": "Detalhes da mensagem", + "创建时间": "Tempo de criação", + "管理员详情": "Detalhes do administrador", + "当被胁迫要求强行开锁时,使用胁迫卡会触发报警,报警信息会推送给管理员,该功能需要锁联网。": "Quando a coerção requer o desbloqueio forçado, o uso do cartão de coerção acionará um alarme e as informações do alarme serão enviadas ao administrador, o que requer que a fechadura esteja conectada.", + "请不要将胁迫卡用于日常开锁": "Por favor, não use o Cartão de Estresse para arrombamento diário", + "当被胁迫要求强行开锁时,使用胁迫指纹会触发报警,报警信息会推送给管理员,该功能需要锁联网。": "Quando um bloqueio forçado é desbloqueado à força, o uso de uma impressão digital coagida acionará um alarme e as informações do alarme serão enviadas ao administrador, o que requer uma rede de bloqueio.", + "请不要将胁迫指纹用于日常开锁": "Por favor, não use impressões digitais coercitivas para arrombamento diário", + "创建公司": "Criar uma empresa", + "公司名称不能超过30个字符": "O nome da empresa não pode exceder 30 caracteres", + "公司名称不能小于6个字符": "O nome da empresa não pode ter menos de 6 caracteres", + "WIFI列表": "Lista de WIFI", + "刷新": "Liberado", + "手动配网": "Distribuição manual de rede", + "远距离": "Longa distância", + "中距离": "Alcance médio", + "近距离": "De perto", + "锁时间更新成功": "A atualização do tempo de bloqueio foi bem-sucedida", + "锁用户": "Bloquear usuários", + "请选择常开日期": "Selecione uma data de abertura regular", + "结束时间不能小于开始时间哦": "A hora de término não deve ser menor que a hora de início", + "介绍": "apresentar", + "个人信息收集清单": "Lista de coleta de informações pessoais", + "应用权限说明": "Descrição das permissões do aplicativo", + "第三方信息共享清单": "Lista de compartilhamento de informações de terceiros", + "请选择您的位置": "Selecione sua localização", + "请先选择位置": "Selecione um local primeiro", + "管理员密码": "Senha de administrador", + "如需修改,请输入新的管理员密码(6位),点击确定即可修改": "Se você precisar modificá-lo, digite a nova senha de administrador (6 dígitos) e clique em OK para modificá-lo", + "修改": "revisar", + "网络摄像头": "Webcam", + "重命名": "renomear", + "分组下的锁将被移到未分组里": "Os bloqueios sob o grupo serão movidos para desagrupados", + "编辑成功": "Edite com sucesso", + "当前网络": "Rede atual", + "位置信息": "Informação de localização", + "请输入wifi名称": "Por favor, digite o nome do wifi", + "厂商": "Fabricantes", + "型号": "Modelo", + "密码生成后,请在当日23:59前使用一次进行激活,否则过0点后未激活则失效。密码激活后,有效期内不限次数使用。": "Depois que a senha for gerada, use-a uma vez antes das 23:59 do mesmo dia para ativá-la, caso contrário, ela será inválida se não for ativada após as 0:00. Depois que a senha for ativada, ela poderá ser usada quantas vezes você quiser durante o período de validade.", + "密码生成后,请在当日23:59前使用,否则过0点后失效。清空码用于清空今天0点之前生成的所有密码。": "Depois que a senha for gerada, use-a antes das 23:59 do mesmo dia, caso contrário, ela expirará após as 0:00. O código de limpeza é usado para limpar todas as senhas geradas antes das 0:00 de hoje.", + "密码生成后,请在当日23:59前使用,否则过0点后失效。": "Depois que a senha for gerada, use-a antes das 23:59 do mesmo dia, caso contrário, ela expirará após as 0:00.", + "清空密码底部提示": "Limpe o prompt na parte inferior da senha", + "密码不一致哦": "A senha é inconsistente", + "相机": "câmera", + "相册": "Álbum", + "读写": "Ler e escrever", + "定位": "Posicionamento", + "需要访问相机权限才能拍照上传文件例如头像上传": "O acesso à permissão da câmera é necessário para tirar fotos e fazer upload de arquivos, como uploads de avatar", + "需要访问相机权限才能使用相册图片上传文件上传头像": "A permissão da câmera é necessária para fazer upload de um avatar com um arquivo de upload de imagem do álbum", + "需要访问读写权限才能使用本地图片上传头像": "O acesso de leitura e gravação é necessário para fazer upload de avatares usando imagens locais", + "需要访问定位权限才能使用添加钥匙功能的位置信息": "O acesso ao local é necessário para usar o recurso Adicionar chave", + "申请": "aplicação", + "权限": "Permissões", + "不允许": "Não permitido", + "允许": "permitir", + "权限被拒绝": "As permissões são negadas", + "请手动在系统设置中开启": "Por favor, ligue-o manualmente nas configurações do sistema", + "权限以继续使用应用": "Permissão para continuar usando o aplicativo", + "去设置": "Vá para as configurações", + "虹膜": "íris", + "手掌": "palmeira", + "商城": "centro comercial", + "我的": "É meu", + "微信公众号推送": "Push de conta pública do WeChat", + "蓝牙": "Bluetooth", + "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "O acesso Bluetooth é necessário para usar as informações de localização do recurso Adicionar chave", + "请输入Email": "Por favor, digite seu e-mail", + "请输入手机号": "Por favor, digite seu número de celular", + "家人到家": "A família chegou em casa", + "添加家人": "Adicionar membros da família", + "若锁没有联网,除电子钥匙外,密码、卡、指纹等开门提醒无法及时发送,请根据你的实际情况选择。": "Se a fechadura não estiver conectada à Internet, exceto pela chave eletrônica, senha, cartão, impressão digital e outros lembretes de abertura de porta não puderem ser enviados a tempo, escolha de acordo com sua situação real.", + "消息提醒": "Alertas de mensagens", + "开门通知": "Aviso de abertura de porta", + "N天未开门": "N dias não abriram", + "门未关好": "A porta não está fechada", + "防拆报警": "Alarme anti-demolição", + "低电量提醒": "Alerta de bateria fraca", + "胁迫开门": "Forçado a abrir a porta", + "有人按门铃": "Alguém tocou a campainha", + "有人出现在门口": "Alguém apareceu na porta", + "提醒方式": "Método de lembrete", + "开门方式": "Como abrir a porta", + "请选择": "Por favor, selecione", + "家人": "família", + "保存": "Salvar", + "APP推送": "Envio de APP", + "管理员": "administrador", + "未启用": "Não habilitado", + "已启用": "Habilitado", + "省电模式": "Modo de economia de energia", + "逗留抓拍模式": "Modo de captura de permanência", + "实时监控模式": "Modo de monitoramento em tempo real", + "自定义模式": "Modo personalizado", + "猫眼设置": "Configuração de olho de gato", + "猫眼工作模式": "Modo de trabalho Maoyan", + "自动亮屏": "Ligar automaticamente a tela", + "亮屏持续时间": "Duração da tela", + "逗留警告": "Fique avisado", + "异常警告": "Aviso anormal", + "短信提醒": "Lembretes por SMS", + "邮件提醒": "Alertas por e-mail", + "关锁": "Fechadura", + "功能": "função", + "配件": "Acessórios", + "N天未开门提醒": "N dias sem abrir o lembrete da porta", + "当被胁迫要求强行开锁时,使用胁迫指纹会触发报警,报警消息会推送给管理员,该功能需要锁联网": "Quando uma impressão digital forçada é necessária para forçar o desbloqueio de um bloqueio, um alarme é acionado e a mensagem de alarme é enviada ao administrador, o que requer uma rede de bloqueio", + "胁迫指纹": "Impressão digital coercitiva", + "指纹列表": "Lista de impressões digitais", + "经过以上设定的时间,锁没有被开启,系统会给指定对象发送提醒消息,该功能需要锁联网": "Após o tempo definido acima, a fechadura não é aberta e o sistema enviará uma mensagem de lembrete para o objeto designado, o que requer que a fechadura esteja conectada à rede", + "打开提醒后,当锁电量低于20%、10%和5%,系统会给指定对象发送提醒消息。电量读取方式:网关读取或APP读取。": "Depois de ativar o lembrete, quando a taxa de bloqueio for inferior a 20%, 10% e 5%, o sistema enviará uma mensagem de lembrete para o objeto especificado. Método de leitura de energia: leitura de gateway ou leitura de APP.", + "未开门时间": "Sem horário de funcionamento", + "添加和使用面容开锁时:": "Ao adicionar e usar o desbloqueio facial:", + "云存": "Diz-se que existe", + "本地": "local", + "3天滚动储存": "Armazene continuamente por 3 dias", + "去升级": "Vá atualizar", + "下载列表": "Baixe a lista", + "已下载": "Baixado", + "全部视频": "Todos os vídeos", + "已为本设备免费提供3大滚动视频储存服务": "3 principais serviços de armazenamento de vídeo de rolagem foram fornecidos gratuitamente para este dispositivo", + "视频播放": "Reprodução de vídeo", + "全选": "Selecionar tudo", + "请选择要删除的视频": "Selecione o vídeo que deseja excluir", + "请选择要下载的视频": "Selecione o vídeo que deseja baixar", + "欢迎使用": "Bem-vindo", + "用户协议和隐私政策概要": "Resumo do Contrato do Usuário e Política de Privacidade", + "协议概要": "Resumo do acordo", + "感谢您使用本应用。我们非常重视您的个人信息和隐私保护,在使用本产品之前,请认真阅读": "Obrigado por usar este aplicativo. Levamos suas informações pessoais e privacidade muito a sério, leia atentamente antes de usar este produto", + "《用户协议》": "Contrato do Usuário", + "和": "e", + "《隐私政策》": "Política de privacidade", + "的全部内容。点击“同意”即表示您同意并接受全部条款。若选择不同意,将无法使用我们的产品和服务,并会退出应用。": "O conteúdo completo. Ao clicar em \"Concordo\", você concorda e aceita todos os termos. Se você optar por não concordar, não poderá usar nossos produtos e serviços e sairá do aplicativo.", + "不同意": "discordar", + "同意": "concordar", + "该功能是高级功能,请开通后再使用": "Esse recurso é um recurso avançado, portanto, ative-o antes de usá-lo", + "常用程序": "Procedimentos comuns", + "该锁已被重置": "O bloqueio foi redefinido", + "需要访问读写权限才能使用手动升级固件": "O acesso de leitura e gravação é necessário para usar atualizações manuais de firmware", + "错误D固件,请选择正确的文件": "Erro D firmware, selecione o arquivo correto", + "非SYD固件,请选择正确的文件": "Firmware não SYD, selecione o arquivo correto", + "文件校验失败 0x01": "A validação do arquivo falha 0x01", + "解析元数据失败,请选择正确的文件": "A análise de metadados falha, selecione o arquivo correto", + "文件校验失败 0x02": "A verificação de arquivos falha 0x02", + "文件校验失败 0x03": "A validação do arquivo falha 0x03", + "固件升级完成": "A atualização do firmware está concluída", + "记录": "Gravação", + "开通高级功能后才可以对锁进行管理": "Você só pode gerenciar o bloqueio depois de ativar as funções avançadas", + "去开通": "Vá para a abertura", + "实名认证": "Autenticação de nome real", + "当前剩余数量": "Quantidade restante atual", + "购买": "compra", + "实名认证为付费功能,请购买后再使用": "A autenticação de nome real é um recurso pago, portanto, use-o após a compra", + "退出添加": "Sair da adição", + "管理员已满": "O administrador está cheio", + "用户已满": "O usuário está cheio", + "锁上面添加指纹已满": "A fechadura está cheia de impressões digitais", + "指纹已存在": "A impressão digital já está lá", + "锁上面添加人脸已满": "A fechadura está cheia de rostos", + "人脸已存在": "O rosto humano já está lá", + "锁上面添加卡已满": "O cartão adicionado acima da fechadura está cheio", + "卡已存在": "O cartão já existe", + "锁上面添加密码已满": "A senha adicionada ao bloqueio está cheia", + "密码已存在": "A senha já existe", + "请输入密码": "Por favor, digite sua senha", + "暂无密码,无需重置": "Sem senha e sem necessidade de redefinir", + "真实姓名": "Nome verdadeiro", + "身份证号": "Número de identificação", + "请输入真实姓名": "Por favor, digite seu nome verdadeiro", + "请输入身份证号": "Por favor, digite seu número de identificação", + "请输入身份证号和真实姓名": "Digite seu número de identificação e nome real", + "点击返回设备配对": "Toque em Voltar ao emparelhamento do dispositivo", + "无法连接?尝试升级": "Não consegue se conectar? Tente atualizar", + "固件升级提示": "Prompt de atualização de firmware", + "请先获取固件文件到手机本地,再选择升级": "Obtenha o arquivo de firmware localmente em seu telefone antes de selecionar Atualizar", + "固件升级中": "Atualização de firmware em andamento", + "取消升级": "Cancelar a atualização", + "固件传输中": "Firmware em trânsito", + "关闭": "Desligar", + "传输中'": "Em trânsito»", + "操作记录": "Registro de operação", + "修改姓名": "Alterar o nome", + "传输中": "em trânsito", + "发送人": "Remetente por", + "发送时间": "Horário de envio", + "钥匙详情": "Detalhes principais", + "姓名": "nome", + "发送": "Enviar", + "请确认姓名全名和身份证号码是否正确": "Certifique-se de que seu nome completo e número de identificação estejam corretos", + "传输期间请勿离开当前页面": "Não saia da página atual durante a transferência", + "机型": "Modelos", + "硬件版本": "Versão de hardware", + "固件版本": "Versão do firmware", + "手动升级": "Atualizar manualmente", + "设备连接中...": "Dispositivo conectando...", + "未避免异常情况,请在门打开时升级": "Se uma exceção não for evitada, escale quando a porta estiver aberta", + "钥匙无效": "A chave é inválida", + "操作失败,请确认锁是否在附近,或重启手机蓝牙后再试。": "Se a operação falhar, verifique se o bloqueio está próximo ou reinicie o Bluetooth do telefone e tente novamente.", + "如果是全自动锁,请使屏幕变亮": "Se for um bloqueio totalmente automático, ilumine a tela", + "正在尝试闭锁……": "Tentando bloquear ......", + "清空记录": "Limpar o registro", + "是否要删除操作记录?": "Deseja excluir o log de operação?", + "被删除的记录不能恢复": "Os registros excluídos não podem ser recuperados", + "全部事件": "Todos os eventos", + "开锁事件": "Evento de arrombamento", + "异常事件": "Eventos incomuns", + "门铃事件": "Incidente da campainha", + "视频事件": "Eventos de vídeo", + "请开启蓝牙": "Por favor, ligue o Bluetooth", + "请选择有效日": "Selecione a data de vigência", + "公司名字长度不能小于 6 ": "O nome da empresa não pode ter menos de 6 de comprimento ", + "已是最新版本": "É a versão mais recente", + "一": "Um", + "二": "Dois", + "三": "Três", + "四": "Quatro", + "五": "Cinco", + "六": "Seis", + "日": "dia", + "新建短信模版": "Criar um novo modelo de SMS", + "新建邮件模版": "Criar um novo modelo de e-mail", + "自定义短信模版": "Personalizar modelos de SMS", + "自定义邮件模版": "Personalizar o modelo de e-mail", + "名称": "nome", + "星星锁": "Bloqueio de estrelas", + "无考勤记录": "Sem registros de presença", + "大家干劲十足": "Todo mundo está cheio de energia", + "工作时长未出炉": "O horário de trabalho não foi divulgado", + "国家地区的选择将影响数据安全,你当前选择的是阿尔巴尼亚,请确认后再继续": "A escolha do país e da região afetará a segurança dos dados e você está selecionando a Albânia, confirme antes de prosseguir", + "确认国家或地区": "Confirme o país ou a região", + "我知道了": "Eu sei", + "为了让您及时收到重要通知和更新,我们需要获取通知权限。请点击“确定”按钮,然后在设置页面中启用通知权限。": "Para que você receba notificações e atualizações importantes em tempo hábil, precisamos obter permissões de notificação. Clique no botão \"OK\" e ative as permissões de notificação na página de configurações.", + "开启后,可通过长按锁上的设置键重新上电,用APP重新添加": "Depois de ligá-lo, você pode religá-lo pressionando longamente o botão de configuração na fechadura e adicioná-lo novamente com o APP", + "已有": "Há", + "新增": "Novo", + "账号格式错误": "O formato da conta está incorreto", + "接收者信息为空": "As informações do destinatário estão vazias", + "请输入时间(秒)": "Insira o tempo (segundos)", + "加载数据失败": "Falha ao carregar dados", + "重试": "Repetir", + "升级中,是否退出": "Durante a atualização, se você deve sacar", + "下一步": "Próximo", + "公寓": "apartamento", + "个人用户": "Usuários individuais", + "星寓": "Residência Star", + "账号": "Conta", + "请输入手机号或email": "Por favor, digite seu número de celular ou e-mail", + "请输入星寓管理员的账号": "Introduza o número da conta do administrador do Star Residence", + "选中的智能锁将会转移到您输入的账号中,您将失去锁的管理权": "O bloqueio inteligente selecionado será transferido para a conta que você inseriu e você perderá o controle do bloqueio", + "暂不支持跨平台转移,敬请期待": "A transferência entre plataformas não é suportada por enquanto, portanto, fique atento", + "移除坏锁": "Remova o bloqueio defeituoso", + "转移确认": "Confirmação de transferência", + "本次共转移": "Desta vez, foi transferido", + "把智能锁": "Coloque a fechadura inteligente", + "确认": "Confirmar", + "移除成功": "A remoção foi bem-sucedida", + "转移成功": "A transferência foi bem-sucedida", + "该已锁被删除": "A fechadura foi removida", + "授权管理员只能查看和管理自己下发的钥匙、密码等权限": "Os administradores autorizados só podem exibir e gerenciar as chaves, senhas e outras permissões emitidas por eles mesmos", + "添加授权管理员": "Adicionar um administrador de autorização", + "导出记录": "Exportar o registro", + "选择时间段": "Selecione um período de tempo", + "导出": "Exportação", + "批量导出": "Exportação em massa", + "读取记录": "Leia o registro", + "设备": "equipamento", + "消息": "Mensagem", + "智能分析": "Análise inteligente", + "精准识别设备事件,过滤无效信息": "Identifique com precisão os eventos do dispositivo e filtre informações inválidas", + "系统设置": "Configurações do sistema", + "系统的全局配置在此项内进行设置": "A configuração global do sistema é definida neste item", + "导出操作记录": "Exportar o registro da operação", + "立即查看": "Confira agora", + "导出成功": "Exportação bem-sucedida", + "发送钥匙": "Enviar chaves", + "进度": "Progresso", + "失败": "falhar", + "人脸详情": "Detalhes do rosto", + "感应到门前约1.5米有人时,将自动启动面部识别开锁。": "Quando detectar que há uma pessoa a cerca de 1,5 metros na frente da porta, ele iniciará automaticamente o desbloqueio do reconhecimento facial.", + "感应到门前约0.8米有人时,将自动启动面部识别开锁。": "Quando detectar que há uma pessoa a cerca de 0,8 metros na frente da porta, ele iniciará automaticamente o desbloqueio do reconhecimento facial.", + "感应到门前约0.5米有人时,将自动启动面部识别开锁。": "Quando detectar que há uma pessoa a cerca de 0,5 metros na frente da porta, ele iniciará automaticamente o desbloqueio do reconhecimento facial.", + "感应距离已关闭,需手动触摸键盘任意键,进行面部识别开锁。": "A distância de detecção está desativada e você precisa tocar manualmente em qualquer tecla do teclado para desbloquear a fechadura com reconhecimento facial.", + "防误开已打开,开锁后": "A abertura anti-acidental foi ativada, após o desbloqueio", + "秒内不可使用面容开锁": "O desbloqueio facial não pode ser usado por segundos", + "掌静脉": "Veia palmar", + "添加掌静脉": "Adicionar veia palmar", + "胁迫掌静脉": "Estresse nas veias da palma da mão", + "请不要将胁迫掌静脉用于日常开锁": "Não use a veia palmar coercitiva para arrombamento diário", + "已连接到锁,请自然张开手掌,掌心正对摄像头": "Se você estiver conectado à fechadura, abra a palma da mão naturalmente e fique de frente para a câmera com a palma da mão voltada para você", + "掌静脉详情": "Detalhes da veia palmar", + "掌静脉号": "Número da veia palmar", + "蓝牙未打开,请到设置里面打开蓝牙": "O Bluetooth não está ativado, vá para as configurações para ativar o Bluetooth", + "删除用户时,会将用户拥有的钥匙一起删除。": "Quando você exclui um usuário, as chaves que o usuário possui são excluídas junto com ele.", + "配置网络": "Configurar a rede", + "你好": "Olá", + "成功": "suceder", + "类型选择": "Seleção de tipo", + "请选择要使用哪种类型": "Selecione o tipo que deseja usar", + "系统邮件(推荐)": "E-mail do sistema (recomendado)", + "系统短信(推荐)": "SMS do sistema (recomendado)", + "邮件将从软件平台直接发给用户,请根据需要在软件里购买邮件数量。": "Os e-mails serão enviados diretamente aos usuários da plataforma de software, compre o número de e-mails no software conforme necessário.", + "短信将从软件平台直接发给用户,请根据需要在软件里购买短信数量。": "O SMS será enviado diretamente ao usuário a partir da plataforma de software, adquira o número de mensagens SMS no software conforme necessário.", + "个人邮件": "Correio pessoal", + "个人短信": "Mensagens de texto pessoais", + "邮件将从你的个人邮箱发给用户": "Os e-mails serão enviados aos usuários de sua caixa de correio pessoal", + "短信将从你的个人手机号发给用户,费用由运营商从你的手机号扣除": "O SMS será enviado ao usuário a partir do seu número de celular pessoal, e a operadora deduzirá a taxa do seu número de celular", + "为了更好地应用体验,请确定权限": "Para uma melhor experiência no aplicativo, determine as permissões", + "您第一次拒绝权限,请确定权限": "Na primeira vez que você negar permissões, confirme as permissões", + "您第二次拒绝权限,请去应用设置开启权限": "Se você negar permissão pela segunda vez, acesse as configurações do aplicativo para ativar a permissão", + "去应用市场": "Ir para o mercado de aplicativos", + "温馨提示": "Dicas", + "关闭应用": "Feche o aplicativo", + "开启微信接收报警消息需要先关注": "Ativar o WeChat para receber mensagens de alarme requer atenção primeiro", + "微信公众号,请保存二维码并使用微信扫一扫设置": "Conta pública do WeChat, salve o código QR e use o WeChat para verificar as configurações", + "实名认证为付费功能,请联系锁的管理员购买后再使用": "A autenticação de nome real é um recurso pago, entre em contato com o administrador da fechadura antes de comprar", + "位置权限": "Permissões de localização", + "请开启位置权限,应用需要位置权限才可以完成智能锁和网关的蓝牙操作": "Ative as permissões de localização, o aplicativo requer permissões de localização para concluir a operação Bluetooth da fechadura inteligente e do gateway", + "相机/相册权限": "Permissões de câmera/álbum", + "请开启本地存储权限,允许应用读写设备上的照片及文件": "Ative as permissões de armazenamento local para permitir que os aplicativos leiam e gravem fotos e arquivos no seu dispositivo", + "点击选择": "Clique em Selecionar", + "微信": "Bate-papo", + "朋友圈": "Círculo de amigos", + "QQ空间": "Espaço QQ", + "微博": "Weibo", + "链接": "link", + "今天": "Hoje", + "密码错误": "Senha errada", + "网络中断": "Interrupções de rede", + "钥匙不存在": "A chave não existe", + "钥匙过期": "A chave expira", + "钥匙已存在": "A chave já está lá", + "密码失效": "Invalidação de senha", + "门锁时间异常": "O tempo de travamento da porta é anormal", + "APP(手机)未联网": "O APP (celular) não está conectado à Internet", + "数据不存在": "Os dados não existem", + "待接收": "Para ser recebido", + "已冻结": "Congelado", + "已删除": "Deletado", + "未知": "Desconhecido", + "拖动下方滑块完成拼图": "Arraste o controle deslizante abaixo para completar o quebra-cabeça", + "验证成功": "A verificação foi bem-sucedida", + "验证失败": "Falha na verificação", + "向右拖动滑块填充拼图": "Arraste o controle deslizante para a direita para preencher o quebra-cabeça", + "请先获取到位置信息哦": "Por favor, obtenha as informações de localização primeiro", + "请选择国家": "Selecione um país", + "获取锁信息": "Obter informações de bloqueio", + "锁数据异常,请重试": "Os dados de bloqueio estão anormais, tente novamente", + "连接设备中...": "Conectando dispositivos...", + "把锁": "Fechadura", + "条": "tira", + "封": "envelope", + "次": "vezes", + "支付成功": "O pagamento foi bem-sucedido", + "查看详情": "Ver detalhes", + "请输入模板名称": "Insira um nome de modelo", + "模版类型": "Tipo de modelo", + "再返回一次退出": "Volte e saia uma vez", + "请先添加锁": "Por favor, adicione o bloqueio primeiro", + "可视对讲": "Vídeo porteiro", + "详细日志": "Registro detalhado", + "已复制到剪切板": "Copiado para a área de transferência", + "拍照": "fotografia", + "从相册选择": "Selecione no álbum", + "选择问题": "Selecione a pergunta", + "确认长度不足8位": "Confirme se o comprimento é inferior a 8 dígitos", + "新密码长度不足8位": "A nova senha tem menos de 8 dígitos", + "两次密码不一致": "A senha é inconsistente duas vezes", + "请点击获取验证码,验证码将发送到": "Clique em Obter código de verificação e o código de verificação será enviado para", + "切换": "Entrega", + "验证": "verificar", + "验证成功,账号已删除": "A verificação foi bem-sucedida e a conta foi excluída", + "该密码不是自定义密码,无法修改": "Essa senha não é uma senha personalizada e não pode ser modificada", + "请选择设备要关联哪些姓名": "Selecione quais nomes você deseja associar ao seu dispositivo", + "请选择姓名要关联哪些设备": "Selecione o nome com o qual deseja associar os dispositivos", + "确定要移除所选中的坏锁吗?": "Tem certeza de que deseja remover o bloqueio incorreto selecionado?", + "邮件通知": "Notificações por e-mail", + "短信通知": "Notificações por SMS", + "您好,您的授权管理员生成成功": "Olá, seu administrador autorizado foi gerado com sucesso", + "请输入接收者姓名": "Digite o nome do destinatário", + "版本更新": "Atualização de versão", + "下次再说": "Da próxima vez", + "配网成功": "A rede de distribuição foi bem-sucedida", + "配网失败": "Falha na rede de distribuição", + "该锁的无线键盘都将被删除": "O teclado sem fio da fechadura será removido", + "实时画面": "Imagem ao vivo", + "适合门口较为安全的环境。": "É adequado para um ambiente relativamente seguro na entrada.", + "仅发生特定事件才录像,并可查看实时画面。": "Apenas eventos específicos são gravados e a transmissão ao vivo pode ser visualizada.", + "一般情况下,满电可使用7-8个月": "Geralmente, uma carga completa pode durar de 7 a 8 meses", + "有人逗留或发生特定事件才录像,可随时查看": "As gravações são feitas apenas quando alguém está hospedado ou ocorre um evento específico e podem ser visualizadas a qualquer momento", + "实时画面。": "Imagem ao vivo.", + "一般情况下,满电可使用5~6个月。": "Em circunstâncias normais, pode ser usado por 5 ~ 6 meses com carga total.", + "适合门口人员复杂、较不安全的环境。": "É adequado para ambientes complexos e inseguros na porta.", + "有人出现就录像,可随时查看实时画面。": "Quando alguém aparece, ele grava e pode ver a imagem ao vivo a qualquer momento.", + "一般情况下,满电可使用2~4个月。": "Em circunstâncias normais, pode ser usado por 2 ~ 4 meses com carga total.", + "根据您家门口实际情况设置录像和实时画面功能。": "Configure as funções de vídeo e visualização ao vivo de acordo com a situação real à sua porta.", + "可使用时长由具体设置决定。": "A duração do uso é determinada pelas configurações específicas.", + "查看": "Vista", + "有人按门铃或发生": "Alguém toca a campainha ou acontece", + "异常事件时": "Eventos anormais", + "不录像": "Sem vídeo", + "有人出现、按门铃": "Alguém aparece e toca a campainha", + "或发生异常事件时": "ou quando ocorre um evento anormal", + "逗留达到10秒": "Fique por 10 segundos", + "约1.5米": "Cerca de 1,5 metros", + "随时": "sempre", + "立即录像": "Grave imediatamente", + "录像时机": "Tempo do vídeo", + "有人出现时录像": "Gravação de vídeo quando alguém aparece", + "人体侦测距离": "Distância de detecção humana", + "查看实时画面": "Ver feed ao vivo", + "自定义时间": "Horário personalizado", + "当日": "Dia", + "次日": "Próximo", + "自定义时段": "Intervalos de tempo personalizados", + "发生事件时查看": "Exibir como um evento ocorre", + "实时查看": "Visualização em tempo real", + "有人在门口出现10秒后开始录像。": "Alguém apareceu na porta por 10 segundos e começou a gravar.", + "有人按门铃时立即录像。": "Gravando assim que alguém toca a campainha.", + "有人出现在门前1.5米范围时启动录像": "Alguém apareceu na frente da porta a 1,5 metros para iniciar o vídeo", + "约0.8米": "Cerca de 0,8 metros", + "约3.0米": "Aprox. 3,0 metros", + "添加指纹失败": "Falha na adição de impressões digitais", + "项": "item", + "播放中": "Jogando agora", + "下载": "Baixar", + "暂无下载内容": "Nenhum conteúdo para download no momento", + "亮度": "brilho", + "音量": "volume", + "快进至": "Avanço rápido para", + "快退至": "Recue rapidamente", + "暂无视频信息": "Ainda não há informações sobre o vídeo", + "加载出错": "Erro de carregamento", + "请单人正对门锁,距离一个成年人手臂长度": "Por favor, enfrente a fechadura da porta para uma pessoa, à distância de um adulto", + "(约0.6米)。": "(cerca de 0,6 metros).", + "保持脸部无遮挡,露出五官。": "Mantenha seu rosto desobstruído e mostre suas características faciais.", + "准备好了,开始添加": "Pronto, comece a adicionar", + "正在录入中...": "Entrar...", + "添加人脸失败": "Falha ao adicionar rostos", + "重置后,该锁的人脸都将被删除哦,确认要重置吗?": "Após a redefinição, a face da fechadura será excluída, você confirma que deseja redefini-la?", + "人脸号": "Número da face", + "虹膜详情": "Detalhes da íris", + "虹膜号": "Número da íris", + "选择设备类型": "Selecione o tipo de dispositivo", + "照明灯具": "Luminárias", + "电动窗帘": "Cortinas motorizadas", + "门窗传感器": "Sensores de portas e janelas", + "传感器": "sensor", + "清除数据成功": "A limpeza de dados foi bem-sucedida", + "1.锁没有联网,密码、IC卡、指纹等开门记录无法实时上传,可以点击右上角按钮,然后读取记录。": "1. A fechadura não está conectada à Internet e a senha, cartão IC, impressão digital e outros registros de abertura de porta não podem ser carregados em tempo real, você pode clicar no botão no canto superior direito e ler o registro.", + "2.如果您需要保留历史记录,可以点击右上角按钮,然后导出记录": "2. Se você precisar manter o histórico, clique no botão no canto superior direito e exporte o registro", + "看不到操作记录,可能原因有": "Não consigo ver o registro da operação, pode haver um motivo", + "操作记录详情": "Detalhes do log de operação", + "操作时间": "Tempo de operação", + "此模块功能需要锁联网后设置方可生效": "Esta função do módulo precisa ser bloqueada na Internet antes de entrar em vigor", + "用户已存在": "O usuário já existe", + "钥匙数量已到上限": "O número de chaves atingiu o limite", + "附近没有可用网关": "Não há gateways disponíveis nas proximidades", + "正在创建安全连接...": "Criando uma conexão segura...", + "监视状态下不能发送录音": "As gravações não podem ser enviadas enquanto monitoradas", + "挂断": "Desligar", + "监视中暂不能开锁": "A fechadura não pode ser desbloqueada durante a vigilância", + "长按说话": "Pressione e segure para falar", + "松开发送": "Desenvolvimento solto", + "请输入6位数字开锁密码": "Digite o código de desbloqueio de 6 dígitos", + "请输入开锁密码": "Digite o código de desbloqueio", + "接收者在有效期内可以不限次数使用": "O destinatário pode usá-lo quantas vezes quiser durante o período de validade", + "接收者可以使用此App开关锁": "O destinatário pode ativar e desativar o bloqueio usando este aplicativo", + "单次钥匙有效期为1小时,只能使用一次": "Uma única chave é válida por 1 hora e só pode ser usada uma vez", + "接收者可以在有效期内的固定时间段里,不限次数使用": "O destinatário pode usá-lo quantas vezes quiser por um período fixo de tempo durante o período de validade", + "获取模板失败": "Falha ao obter o modelo", + "微信通知": "Notificação do WeChat", + "系统短信": "SMS do sistema", + "系统邮件": "Correio do sistema", + "模板": "modelo", + "新建模版": "Nova versão de modelagem", + "您好,您的密码是": "Olá, sua senha é", + "密码名字": "Nome da senha", + "请输入6-9位密码": "Digite uma senha de 6 a 9 dígitos", + "设置密码": "Definir uma senha", + "操作成功,密码为": "A operação foi bem-sucedida e a senha é", + "类型:自定义-永久": "Tipo: Personalizado - Permanente", + "实时播放": "Reprodução em tempo real", + "点击对讲": "Clique em Interfone", + "长按开锁": "Pressione e segure para desbloquear", + "接听失败": "Falha ao responder", + "请在锁设置中开启远程开锁": "Ative o desbloqueio remoto nas configurações de bloqueio", + "接听": "Responder", + "截图已保存到相册": "A captura de tela é salva no álbum", + "录屏已保存到相册": "A gravação de tela foi salva no álbum", + "添加遥控": "Adicionar controle remoto", + "已连接到锁,请按遥控": "Ele está conectado à fechadura, pressione o controle remoto", + "遥控号": "Número do controle remoto", + "遥控详情": "Detalhes do controle remoto", + "照明": "Iluminando", + "退出演示模式": "Sair do modo de demonstração", + "提示:当前界面为展示界面,添加设备后才能继续使用": "Dica: A interface atual é uma interface de exibição e você pode continuar a usá-la depois de adicionar um dispositivo", + "门已上锁": "A porta está trancada", + "您的账号在异地登录,如非本人,请尽快修改密码": "Se sua conta estiver conectada em um local diferente, altere sua senha o mais rápido possível", + "开门成功": "A porta foi aberta com sucesso", + "开门失败": "Falha ao abrir a porta", + "呼叫提醒": "Lembretes de chamadas", + "收到来自": "recebido de", + "锁的呼叫": "Chamada de bloqueio", + "加载数据中": "Carregando dados", + "搜索所有锁类型": "Pesquisar todos os tipos de fechadura", + "锁电量更新时间": "Bloqueie o tempo de atualização da bateria", + "1月": "Janeiro", + "2月": "Fevereiro", + "3月": "Março", + "4月": "Abril", + "5月": "Maio", + "6月": "Junho", + "7月": "Julho", + "8月": "Agosto", + "9月": "Setembro", + "10月": "Outubro", + "11月": "Novembro", + "12月": "Dezembro", + "热门城市": "Cidades populares", + "导出锁数据": "Exportar dados de bloqueio", + "一键开锁": "Desbloqueio com um clique", + "已开通": "Aberto", + "繁体中文": "Chinês tradicional", + "法语": "Francês", + "俄语": "Russo", + "德语": "Alemão", + "日语": "Japonês", + "韩语": "Coreano", + "意大利语": "Italiano", + "乌克兰语": "Ucraniano", + "葡萄牙语": "Português", + "西班牙语": "Espanhol", + "阿拉伯语": "Árabe", + "越南语": "Vietnamita", + "马来语": "Malaio", + "荷兰语": "Holandês", + "罗马尼亚语": "Romeno", + "立陶宛语": "Lituano", + "瑞典语": "Sueco", + "爱沙尼亚语": "Estoniano", + "波兰语": "Polonês", + "斯洛伐克语": "Eslovaco", + "捷克语": "Tcheco", + "希腊语": "Grego", + "希伯来语": "Hebraico", + "塞尔维亚语": "Sérvio", + "土耳其语": "Turco", + "匈牙利语": "Húngaro", + "保加利亚语": "Búlgaro", + "哈萨克斯坦语": "Cazaquistão", + "孟加拉语": "Bengalês", + "克罗地亚语": "Croata", + "泰语": "Tailandês", + "印度尼西亚语": "Indonésio", + "芬兰语": "Finlandês", + "丹麦语": "Dinamarquês", + "印地语": "Hindi", + "乌尔都语": "Urdu", + "亚美尼亚语": "Armênio", + "格鲁吉亚语": "Georgiano", + "巴西葡萄牙语": "Português do Brasil", + "繁体中文(中国台湾)": "Chinês Tradicional (Taiwan, China)", + "繁体中文(中国香港)": "Chinês Tradicional (Hong Kong, China)", + "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Após a reinicialização, as veias palmares da fechadura serão excluídas, você confirma que deseja redefini-la?", + "在线": "online", + "离线": "offline", + "购买记录": "Histórico de compras", + "使用记录": "Registros de uso", + "失效时间要大于当前时间": "O tempo de expiração é maior que o tempo atual", + "修改名字": "Alterar o nome", + "时": "Hora", + "分": "dividir", + "您可以使用Alexa进行开锁、闭锁和查看锁状态": "Você pode usar o Alexa para desbloquear, travar e visualizar o status do bloqueio", + "支持的国家": "Países com suporte", + "支持的国家值": "Valores de país compatíveis", + "操作流程": "Processo de operação", + "操作流程值": "Valor do fluxo de operação", + "支持的语言": "Idiomas suportados", + "英语": "Inglês", + "Google Home操作流程的值": "O valor do fluxo de operação do Google Home", + "密码需至少包含数字/字母/字符中的2种组合": "A senha deve conter pelo menos 2 combinações de números, letras e caracteres", + "已开锁": "Desbloqueado", + "已闭锁": "Está bloqueado", + "两次密码不一致哦": "A senha é inconsistente duas vezes", + "中功率": "Potência média", + "常规使用": "Uso regular", + "扫描设备": "Escaneie o dispositivo", + "删除失败,网关可能已经离线,是否强制删除该数据?": "Se a exclusão falhar, o gateway pode estar offline, os dados são excluídos à força?", + "超级管理员英文": "Super admin Inglês", + "授权管理员英文": "Administrador autorizado Inglês", + "普通管理员英文": "Administrador geral Inglês", + "网关设备英文": "Dispositivo de gateway em inglês", + "手机需联网英文": "O celular deve estar conectado à Internet em inglês", + "年简称": "Abreviatura do ano", + "月简称": "Abreviatura mensal", + "日简称": "Abreviatura do dia", + "时简称": "Abreviatura de tempo", + "分简称": "Abreviação", + "跟随系统": "Siga o sistema", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Após a redefinição, as impressões digitais da fechadura serão excluídas, você confirma que deseja redefini-la?", + "通话未接通,已挂断": "A chamada não está conectada e foi desligada", + "通话异常中断": "As chamadas são interrompidas de forma anormal", + "通话连接失败": "Falha na conexão da chamada", + "已挂断": "Desligou", + "正在说话...": "Falação...", + "设备不在线": "O dispositivo não está online", + "设备未配网": "O equipamento não está equipado com uma rede", + "已静音": "Foi silenciado", + "该锁的远程开锁功能未启用": "O recurso de desbloqueio remoto não está habilitado para este bloqueio", + "下载完成,请到相册查看": "Uma vez baixado, por favor, vá para o álbum de fotos para ver", + "猫眼设置为省电模式时无法进行监控,请在猫眼设置中切换为其他模式": "Se você não conseguir monitorar quando o Cat's Eye estiver definido para o modo de economia de energia, mude para um modo diferente nas configurações do Cat's Eye", + "猫眼设置为省电模式时无法进行远程开锁,请在猫眼设置中切换为其他模式": "O desbloqueio remoto não é possível quando o CatEye está definido para o modo de economia de energia, mude para um modo diferente nas configurações do CatEye", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Após a reinicialização, o controle remoto da fechadura será excluído, você confirma que ele precisa ser redefinido?", + "版本说明": "Impressão", + "呼叫目标": "Destino da chamada", + "管理员APP": "Admin APP", + "可视门铃码": "Código visual da campainha", + "电子反锁": "Antibloqueio eletrônico", + "双重认证": "Autenticação de dois fatores", + "双锁联动": "Articulação de trava dupla", + "1.用智能锁APP添加锁和网关": "1. Adicione fechaduras e gateways com o aplicativo de bloqueio inteligente", + "2.在APP里开启锁的远程开锁功能(这个功能默认是关闭的)。如果没有这个选项,则锁不支持Google Home": "2. Ative a função de desbloqueio remoto da fechadura no APP (esta função está desativada por padrão). Se você não tiver essa opção, o cadeado não é compatível com o Google Home", + "3.安装Google Home APP,点击左上角的加号按钮": "3. Instale o aplicativo Google Home e clique no botão de adição no canto superior esquerdo", + "4.在设置页面,选择与Google协同工作": "4. Na página de configurações, selecione Trabalhar com o Google", + "5.搜索": "5. Pesquisa", + ",并用智能锁APP的账号和密码进行授权": "e autorizar com a conta e senha do APP smart lock", + "暂无最新记录": "Não há registro mais recente", + "请将手机切换至2.4G WiFi进行手动连接": "Mude seu telefone para WiFi 2.4G para conexão manual", + "请扫描可视门铃码二维码": "Por favor, digitalize o código QR do código da campainha de vídeo", + "请确保网络是2.4GHz Wi-Fi": "Certifique-se de que a rede seja Wi-Fi de 2.4 GHz", + "已选": "Eleito", + "是否要远程开锁": "Se deseja desbloquear remotamente", + "国家地区的选择将影响数据安全,你当前选择的是": "A escolha do país afetará a segurança dos dados, e você atualmente escolhe", + "请确认后再继续": "Por favor, confirme antes de prosseguir", + "需要相机权限": "Permissão da câmera necessária", + "此功能的开启和关闭只能在锁附近通过手机蓝牙进行": "Esse recurso só pode ser ativado e desativado por meio do Bluetooth do telefone próximo à fechadura", + "网关添加成功": "O gateway foi adicionado com êxito", + "第三方平台设置": "Configurações de plataforma de terceiros", + "涂鸦智能": "Tuya Smart", + "锁语音包设置": "Bloquear as configurações do pacote de voz", + "语音包设置": "Configurações do pacote de voz", + "(中国台湾)": "(中国台湾)", + "男声": "Macho", + "女声": "Garota" +} \ No newline at end of file diff --git a/lan/lan_ro.json b/lan/lan_ro.json index 578b4c07..7a262cc8 100644 --- a/lan/lan_ro.json +++ b/lan/lan_ro.json @@ -104,7 +104,7 @@ "门磁": "Senzor uși", "自动闭锁": "Blocare automată", "锁声音": "Blochează sunetul.", - "防撬报警": "Alertă TamperName", + "防撬报警": "Alertă Tamper", "重置键": "Butonul resitează", "锁时间": "Blochează ceasul", "诊断": "Diagnostică", @@ -185,7 +185,7 @@ "删除账号": "Șterge cont", "个人信息": "Informații cont", "头像": "Avatar", - "昵称": "NickNameName", + "昵称": "NickName", "请输入昵称": "Introduceți porecla dumneavoastră", "修改昵称": "Redenumește:", "修改账号": "Editează cont", @@ -210,7 +210,7 @@ "WiFi名称": "Nume WiFi", "网络MAC": "Rețea MAC", "网关升级": "Actualizare GatewayComment", - "网关连接的锁": "Blocare (blocare) conectat la această GatewayName", + "网关连接的锁": "Blocare (blocare) conectat la această Gateway", "信号强": "Puternică", "选择网关类型": "Alegeți tipul de port", "添加网关": "Adaugă poartă", @@ -316,7 +316,7 @@ "开门器": "Deschizător de uși", "面容开锁": "Fața deblochează", "开门方向设置": "Set de direcție de deschidere", - "电机功率设置": "Setare MotorPowerName", + "电机功率设置": "Setare MotorPower", "开锁时是否需联网": "Dacă Internetul este necesar la deblocarea", "选择要加入分组的锁": "Selectați blocarea S pentru a adăuga la acest grupă", "锁数量": "Blochează numărător", @@ -593,7 +593,7 @@ "开门通知": "Notificare de deschidere.", "N天未开门": "N zile fără deschiderea ușii", "门未关好": "Uşa nu e închisă.", - "防拆报警": "Alarmă TamperName", + "防拆报警": "Alarmă Tamper", "低电量提醒": "Baterie scăzută", "胁迫开门": "Deschiderea ușilor forțate", "有人按门铃": "Cineva sună la uşă.", @@ -633,12 +633,12 @@ "云存": "Stocarea norilor", "本地": "Această localitate:", "3天滚动储存": "3 zile de păstrare rulare", - "去升级": "Actualizare acumName", + "去升级": "Actualizare acum", "下载列表": "Lista descărcării", "已下载": "Descărcat", "全部视频": "Toate videoclipurile", "已为本设备免费提供3大滚动视频储存服务": "Pentru acest dispozitiv au fost furnizate trei servicii de stocare video de derulare gratuite", - "视频播放": "Redare videoName", + "视频播放": "Redare video", "全选": "Toate.", "请选择要删除的视频": "Alegeți videoclipul pe care doriți să o ștergeți.", "请选择要下载的视频": "Vă rugăm să selectați videoclipul pe care doriți să le descărcați", @@ -691,7 +691,7 @@ "请输入身份证号和真实姓名": "Introduceți numărul și numele real.", "点击返回设备配对": "Atinge înapoi la împerecherea dispozitivului", "无法连接?尝试升级": "Nu se poate conecta?", - "固件升级提示": "Prompt de upgrade FirmwareName", + "固件升级提示": "Prompt de upgrade Firmware", "请先获取固件文件到手机本地,再选择升级": "Vă rugăm să obțineți fișierul firmware la telefonul local întâi, și apoi selectați Upgrade.", "固件升级中": "Firware-ul este în actualizare", "取消升级": "Anulează actualizarea", @@ -710,7 +710,7 @@ "传输期间请勿离开当前页面": "Nu părăsi pagina curentă în timpul transferului", "机型": "Modele", "硬件版本": "Versiune hardware", - "固件版本": "Versiunea FirmwareName", + "固件版本": "Versiunea Firmware", "手动升级": "Upgrade manuală", "设备连接中...": "Conectare dispozitivă...", "未避免异常情况,请在门打开时升级": "Excepţii inevitabile, vă rugăm să upgradezi când uşa este deschisă.", @@ -834,7 +834,7 @@ "微信": "WeChat", "朋友圈": "Momente", "QQ": "QQ", - "QQ空间": "QQZoneName", + "QQ空间": "QQZone", "微博": "Weibo.", "FaceBook": "FacebookComment", "链接": "Legătură", @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "După resetare, venele metacarpale ale încuietorii vor fi şterse. Sigur doriți să resetați?", @@ -1099,7 +1100,7 @@ "支持的国家值": "Statele Unite ale Americii, Canada, Marea Britanie, Australia, India, Germania, Franța, Italia, Spania, Japonia", "操作流程": "Procesul operațional", "操作流程值": "1 Adăugați o blocare și o poartă cu Smart blocare APP\n\n2 Activați funcția de deblocare la distanță a încuietorii din APP (acesta funcție este oprită implicit). Dacă nu aveți această opțiune, blocarea nu suportă Alexa\n\n3 Adăugați abilități pentru Alexa și autorizați-le cu Smart blocare contul și parola APP. După ce autorizaţia va avea succes, puteţi descoperi dispozitivele sub cont\n\n4 Localizaţi blocarea în aplicaţia Alexa, activaţi funcţia de deblocare vocală, şi setaţi parola limbii\n\n5 Încuietoarea poate fi operată prin Alexa", - "Google Home": "Acasă GoogleName", + "Google Home": "Acasă Google", "Action name": "Nume acțiune", "ScienerSmart": "ScienerSmart", "支持的语言": "Limbi suportate", diff --git a/lan/lan_ru.json b/lan/lan_ru.json index ed10bb80..f26f445e 100644 --- a/lan/lan_ru.json +++ b/lan/lan_ru.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "После сброса пястные вены замка будут удалены. Вы уверены, что хотите сбросить?", diff --git a/lan/lan_sk.json b/lan/lan_sk.json index 1334958f..9fcffe2b 100644 --- a/lan/lan_sk.json +++ b/lan/lan_sk.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Po resetovaní budú metakarpálne žily zámku vymazané. Ste si istí, že chcete obnoviť?", diff --git a/lan/lan_sr_cyrl.json b/lan/lan_sr_cyrl.json index 21305eb3..d409e335 100644 --- a/lan/lan_sr_cyrl.json +++ b/lan/lan_sr_cyrl.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Након ресетовања, метакарпалне вене браве ће бити избрисане. Да ли сте сигурни да желите да ресетујете?", diff --git a/lan/lan_sv.json b/lan/lan_sv.json index a6274e34..8c54e95b 100644 --- a/lan/lan_sv.json +++ b/lan/lan_sv.json @@ -116,7 +116,7 @@ "微信二维码": "Lås upp QR- koden", "拥有电子钥匙的人,通过微信扫一扫这个二维码,即可开门。每把锁的二维码都不相同,你可以将其打印出来贴在对应的锁旁边": "Personer med elektroniska nycklar kan öppna dörren genom att skanna denna QR-kod genom WeChat. QR-koden för varje lås är olika. Du kan skriva ut den och klistra in den bredvid motsvarande lås", "锁编号": "Låsnummer", - "电量": "BatteriName", + "电量": "Batteri", "锁分组": "Lås grupp", "选择分组": "Välj grupp", "创建新分组": "Skapa en grupp", @@ -146,8 +146,8 @@ "上传": "Uppladdning", "本操作将上传锁内数据到服务器,过程可能需要几分钟,请耐心等待": "Ladda upp data från lås till server.Det kan ta flera minuter.", "请选择要从哪把锁导入": "Välj ett lås att importera från", - "有新版本": "Har ny versionName", - "当前版本": "Nuvarande versionName", + "有新版本": "Har ny version", + "当前版本": "Nuvarande version", "升级": "Uppdatera", "空闲": "Lediga", "已入住": "Upptagen", @@ -185,7 +185,7 @@ "删除账号": "Ta bort konto", "个人信息": "Kontoinformation", "头像": "Avatar", - "昵称": "NickNameName", + "昵称": "NickName", "请输入昵称": "Ange ditt smeknamn", "修改昵称": "Byt namn", "修改账号": "Redigera konto", @@ -316,7 +316,7 @@ "开门器": "Dörröppnare", "面容开锁": "Ansiktet upplåsas", "开门方向设置": "Öppningsriktning", - "电机功率设置": "Inställning av motorpowerName", + "电机功率设置": "Inställning av motorpower", "开锁时是否需联网": "Om Internet krävs vid upplåsning", "选择要加入分组的锁": "Välj Lås för att lägga till i gruppen.", "锁数量": "Lås antal", @@ -450,7 +450,7 @@ "是否发送电子钥匙给未注册账号": "Vill du skicka en ekey till ett nytt konto", "取消": "Avbryt", "标记成功": "Markera framgångsrikt", - "微信好友": "WeChat- vännerName", + "微信好友": "WeChat- vänner", "短信": "SMS", "邮件": "E- post@ info: whatsthis", "更多": "Flere", @@ -703,7 +703,7 @@ "传输中": "Under transitering", "发送人": "Utfärdat av:", "发送时间": "Utfärdad tid", - "钥匙详情": "EKEY- infoName", + "钥匙详情": "EKEY- info", "姓名": "Namn", "发送": "Skicka", "请确认姓名全名和身份证号码是否正确": "Bekräfta att fullständigt namn och ID-nummer är korrekt.", @@ -834,8 +834,8 @@ "微信": "Wechat", "朋友圈": "Momentar", "QQ": "QQ", - "QQ空间": "QQZoneName", - "微博": "WeiboName", + "QQ空间": "QQZone", + "微博": "Weibo", "FaceBook": "Facebok", "链接": "Länk", "今天": "Idag", @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Efter återställd, de metakarpal venerna i låset tas bort. Är du säker på att du vill återställa?", @@ -1099,7 +1100,7 @@ "支持的国家值": "USA, Kanada, Storbritannien, Australien, Indien, Tyskland, Frankrike, Italien, Spanien, Japan.", "操作流程": "Driftsprocess", "操作流程值": "1 Lägg till ett lås och gateway med Smart Lås APP\n\n2 Aktivera fjärrlåsningsfunktionen för låset i APP (denna funktion är avstängd som standard). Om du inte har det här alternativet stöder inte låset Alexa\n\n3 Lägg till färdigheter till Alexa och godkänna dem med Smart lås APP konto och lösenord. När auktorisationen är framgångsrik kan du upptäcka enheter under kontot\n\n4 Hitta låset i Alexa-appen, slå på röst upplåsningsfunktionen och ställa in språklösenordet.\n\n5 Låset kan manövreras genom Alexa", - "Google Home": "Google HomeName", + "Google Home": "Google Home", "Action name": "Åtgärdsnamn", "ScienerSmart": "ScienerSmart", "支持的语言": "Stödda språk", diff --git a/lan/lan_th.json b/lan/lan_th.json index 24617315..e8480118 100644 --- a/lan/lan_th.json +++ b/lan/lan_th.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "หลังจากรีเซ็ตแล้วหลอดเลือดดำ metacarpal ของล็อคจะถูกลบออกคุณแน่ใจว่าอยากจะรีเซ็ต?", diff --git a/lan/lan_tr.json b/lan/lan_tr.json index e0a6f17a..fe782f33 100644 --- a/lan/lan_tr.json +++ b/lan/lan_tr.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Sıfırlamadan sonra, kilidin metacarpal damarları silinecektir. Sıfırlamak istediğine emin misin?", diff --git a/lan/lan_tw.json b/lan/lan_tw.json index 90d9e0f3..619f4344 100644 --- a/lan/lan_tw.json +++ b/lan/lan_tw.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "重置後,鎖的掌靜脈將被刪除。 是否確實要重置?", diff --git a/lan/lan_uk.json b/lan/lan_uk.json index bacfed39..d4f4e101 100644 --- a/lan/lan_uk.json +++ b/lan/lan_uk.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Після скидання п'ясткові вени замку будуть видалені. Ви впевнені, що хочете скинути налаштування?", diff --git a/lan/lan_ur.json b/lan/lan_ur.json index bd08e555..b8a224a7 100644 --- a/lan/lan_ur.json +++ b/lan/lan_ur.json @@ -1067,7 +1067,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1080,10 +1080,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "ری سیٹ کرنے کے بعد ، لاک کی میٹاکارپل رگیں حذف کردی جائیں گی۔ کیا آپ واقعی دوبارہ ترتیب دینا چاہتے ہیں؟", diff --git a/lan/lan_vi.json b/lan/lan_vi.json index 1270fc98..2e73e433 100644 --- a/lan/lan_vi.json +++ b/lan/lan_vi.json @@ -1065,7 +1065,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1078,10 +1078,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "繁体中文(中国台湾)": "繁體中文(中國臺灣)", "繁体中文(中国香港)": "繁體中文(中國香港)", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "Sau khi đặt lại, các tĩnh mạch metacarpal của khóa sẽ bị xóa. Bạn có chắc muốn thiết lập lại không?", diff --git a/lan/lan_zh.json b/lan/lan_zh.json index c1b24478..224d2160 100755 --- a/lan/lan_zh.json +++ b/lan/lan_zh.json @@ -1070,7 +1070,7 @@ "波兰语": "Polski", "斯洛伐克语": "Slovenčina", "捷克语": "Čeština", - "希腊语": "Ελληνικά", + "希腊语": "ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", "土耳其语": "Türkçe", @@ -1083,10 +1083,11 @@ "印度尼西亚语": "Bahasa Indonesia", "芬兰语": "Suomi", "丹麦语": "Dansk", - "印地语": "हिंदीName", + "印地语": "हिंदी", "乌尔都语": "اوردو", "亚美尼亚语": "Հայերեն", "格鲁吉亚语": "ქართული", + "巴西葡萄牙语": "Português do Brasil", "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?", "在线": "在线", "离线": "离线", diff --git a/langAzure.py b/langAzure.py new file mode 100644 index 00000000..a42bd87a --- /dev/null +++ b/langAzure.py @@ -0,0 +1,348 @@ +#!/usr/bin/python3 +import datetime +import json +import os +import re +import sys +import time +from typing import Dict + +import requests + +# 运行格式方式一:python langAzure.py +# 运行格式方式二:python3 langAzure.py + +# 语言文件路径 +path = "./resources/lang/" +# 原语言 +SOURCE_LANG = 'en_US' + +# 过滤不翻译的语言 +FILTER_LANG = ['zh_CN', 'en_US'] + +# Azure翻译语言映射,基于: https://docs.azure.cn/zh-cn/ai-services/translator/text-translation/reference/v3/translate +# 语言代码:https://api.translator.azure.cn/languages?api-version=3.0&scope=translation +AZURE_LANG_MAP = { + # 'zh_CN': { + # 'name': '简体中文', + # 'code': 'zh-Hans' + # }, + # 'zh_TW': { + # 'name': '繁体中文', + # 'code': 'zh-Hant', + # }, + # 'zh_HK': { + # 'name': '粤语(繁体)', + # 'code': 'yue', + # }, + # 'en_US': { + # 'name': '英文', + # 'code': 'en', + # }, + # 'fr_FR': { + # 'name': '法语', + # 'code': 'fr', + # }, + # 'ru_RU': { + # 'name': '俄语', + # 'code': 'ru', + # }, + # 'de_DE': { + # 'name': '德语', + # 'code': 'de', + # }, + # 'ja_JP': { + # 'name': '日语', + # 'code': 'ja', + # }, + # 'ko_KR': { + # 'name': '韩语', + # 'code': 'ko', + # }, + # 'it_IT': { + # 'name': '意大利语', + # 'code': 'it', + # }, + # 'pt_PT': { + # 'name': '葡萄牙语', + # 'code': 'pt-PT', + # }, + # 'es_ES': { + # 'name': '西班牙语', + # 'code': 'es', + # }, + # 'ar_SA': { + # 'name': '阿拉伯语', + # 'code': 'ar', + # }, + # 'vi_VN': { + # 'name': '越南语', + # 'code': 'vi', + # }, + # 'ms_MY': { + # 'name': '马来语', + # 'code': 'ms', + # }, + # 'nl_NL': { + # 'name': '荷兰语', + # 'code': 'nl', + # }, + # 'ro_RO': { + # 'name': '罗马尼亚语', + # 'code': 'ro', + # }, + # 'lt_LT': { + # 'name': '立陶宛语', + # 'code': 'lt', + # }, + # 'sv_SE': { + # 'name': '瑞典语', + # 'code': 'sv', + # }, + # 'et_EE': { + # 'name': '爱沙尼亚语', + # 'code': 'et', + # }, + # 'pl_PL': { + # 'name': '波兰语', + # 'code': 'pl', + # }, + # 'sk_SK': { + # 'name': '斯洛伐克语', + # 'code': 'sk', + # }, + # 'cs_CZ': { + # 'name': '捷克语', + # 'code': 'cs', + # }, + # 'el_GR': { + # 'name': '希腊语', + # 'code': 'el', + # }, + # 'he_IL': { + # 'name': '希伯来语', + # 'code': 'he', + # }, + # 'tr_TR': { + # 'name': '土耳其语', + # 'code': 'tr', + # }, + # 'hu_HU': { + # 'name': '匈牙利语', + # 'code': 'hu', + # }, + # 'bg_BG': { + # 'name': '保加利亚语', + # 'code': 'bg', + # }, + # 'kk_KZ': { + # 'name': '哈萨克语', + # 'code': 'kk', + # }, + # 'bn_BD': { + # 'name': '孟加拉语', + # 'code': 'bn', + # }, + # 'hr_HR': { + # 'name': '克罗地亚语', + # 'code': 'hr', + # }, + # 'th_TH': { + # 'name': '泰语', + # 'code': 'th', + # }, + # 'id_ID': { + # 'name': '印尼语', + # 'code': 'id', + # }, + # 'fi_FI': { + # 'name': '芬兰语', + # 'code': 'fi', + # }, + # 'da_DK': { + # 'name': '丹麦语', + # 'code': 'da', + # }, + # 'uk_UA': { + # 'name': '乌克兰语', + # 'code': 'uk', + # }, + # 'sr_RS': { + # 'name': '塞尔维亚语(西里尔)', + # 'code': 'sr-Cyrl', + # }, + # 'hi_IN': { + # 'name': '印地语', + # 'code': 'hi', + # }, + # 'ur_PK': { + # 'name': '乌尔都语', + # 'code': 'ur', + # }, + # 'hy_AM': { + # 'name': '亚美尼亚语', + # 'code': 'hy', + # }, + # 'ka_GE': { + # 'name': '格鲁吉亚语', + # 'code': 'ka', + # }, + 'pt_BR': { + 'name': '葡萄牙语 (巴西)', + 'code': 'pt', + }, + +} + +# =============================== 以下为固定代码,非必要请勿修改 =============================== + +# Azure配置 +AZURE_CONFIG = { + 'api_url': 'https://api.cognitive.microsofttranslator.com', + 'subscription_key': '5UGFXbyyyIlwtvFbl5HUeWeHffW9aKLNIiZlqWsRZuLaFSmXfxfzJQQJ99BGAC3pKaRXJ3w3AAAbACOGpL8p', # 替换为您的订阅密钥 + 'region': 'eastasia', # 替换为您的区域,例如 'eastasia' +} + +def main(): + en_path = path + SOURCE_LANG + ".json" + # 判断文件是否存在 + if not os.path.exists(en_path): + print('文件不存在:', en_path) + sys.exit(1) + + # 读取文件内容 + en_us_content = read_file(en_path) + + # 把json转数组 + en_us_data = json.loads(en_us_content) + + # 遍历AZURE_LANG_MAP + for key in AZURE_LANG_MAP: + # 过滤掉不翻译的语言 + if key in FILTER_LANG: + continue + + lang_path = path + key + ".json" + # 验证文件是否存在,如果不存在即创建 + if not os.path.exists(lang_path): + create_file(lang_path) + + data_content = read_file(lang_path) + if data_content.strip(): # Check if the file is not empty + datas = json.loads(data_content) + else: + datas = {} + + total = len(en_us_data) # 总数 + current = 0 # 当前数 + + for en_us_key in en_us_data: + current += 1 + + # 检查key是否包含中文 + has_chinese = bool(re.search(r'[\u4e00-\u9fff]', en_us_key)) + text_to_translate = en_us_key if has_chinese else en_us_data[en_us_key] + + print('语言:%s 正在翻译处理第%d/%d批数据 是否中文:%s' % (key, current, total, has_chinese)) + # 过滤已存在的key + if en_us_key in datas: + continue + + # 异常处理 + try: + if has_chinese: + # 从中文翻译到目标语言 + datas[en_us_key] = azure_translation('zh-Hans', AZURE_LANG_MAP[key]['code'], text_to_translate) + else: + # 从英文翻译到目标语言 + datas[en_us_key] = azure_translation(AZURE_LANG_MAP[SOURCE_LANG]['code'], AZURE_LANG_MAP[key]['code'], text_to_translate) + + # 延迟1秒避免API限制 + #time.sleep(1) + + except Exception as e: + print('翻译异常:', e.args, 'key:', en_us_key, 'content:', en_us_data[en_us_key]) + continue + + # 写入文件 + with open(lang_path, 'w', encoding='utf-8') as file: + json.dump(datas, file, ensure_ascii=False, indent=4) + + +def azure_translation(source_language, target_language, text): + """ + 使用Azure翻译API进行文本翻译 + + Args: + source_language: 源语言代码 + target_language: 目标语言代码 + text: 要翻译的文本 + + Returns: + 翻译后的文本 + """ + # 构建API端点 + endpoint = f"{AZURE_CONFIG['api_url']}/translate" + + # 设置参数 + params = { + 'api-version': '3.0', + 'from': source_language, + 'to': target_language + } + + # 设置请求头 + headers = { + 'Ocp-Apim-Subscription-Key': AZURE_CONFIG['subscription_key'], + 'Ocp-Apim-Subscription-Region': AZURE_CONFIG['region'], + 'Content-type': 'application/json', + 'X-ClientTraceId': str(datetime.datetime.now().timestamp()) + } + + # 构建请求体 + body = [{'text': text}] + + try: + # 发送请求 + response = requests.post(endpoint, params=params, headers=headers, json=body) + + # 检查响应状态 + if response.status_code != 200: + raise Exception(f"Azure翻译API请求失败,状态码:{response.status_code},响应:{response.text}") + + # 解析响应 + result = response.json() + + # 提取翻译结果 + if result and len(result) > 0 and 'translations' in result[0]: + return result[0]['translations'][0]['text'] + else: + raise Exception(f"Azure翻译API响应格式异常:{result}") + + except requests.exceptions.RequestException as e: + raise Exception(f"Azure翻译API网络请求异常:{str(e)}") + except json.JSONDecodeError as e: + raise Exception(f"Azure翻译API响应JSON解析异常:{str(e)}") + + +# 创建文件 +def create_file(file_path): + with open(file_path, 'w') as file: + pass + + +# 读取文件内容 +def read_file(file_path): + with open(file_path, 'r', encoding='utf-8') as file: + content = file.read() + return content + + +if __name__ == "__main__": + # 检查配置 + if AZURE_CONFIG['subscription_key'] == 'YOUR_SUBSCRIPTION_KEY': + print("错误:请先在脚本中配置您的Azure订阅密钥") + print("请修改AZURE_CONFIG中的subscription_key和region") + sys.exit(1) + + main() \ No newline at end of file diff --git a/lib/blue/blue_manage.dart b/lib/blue/blue_manage.dart index 29ea09f3..b49f20a8 100755 --- a/lib/blue/blue_manage.dart +++ b/lib/blue/blue_manage.dart @@ -362,6 +362,27 @@ class BlueManage { // 00=未配对,01=已配对 if (pairStatus == '00') { return true; // 未配对才返回true + } else { + // 将十六进制字符串转换为整数(0~255) + int statusValue = int.parse(pairStatus, radix: 16); + // 提取 byte0(配对状态:第1位) + int byte0 = (statusValue >> 0) & 0x01; // 取最低位 + + // 提取 byte1(事件状态:第2位) + int byte1 = (statusValue >> 1) & 0x01; // 取次低位 + + // 判断是否未配对 + bool isPaired = (byte0 == 1); + + // 判断是否有新事件 + bool hasNewEvent = (byte1 == 1); + + // 返回是否未配对(原逻辑) + if (isPaired) { + return true; // 已配对返回false + } else { + return false; // 未配对返回true + } } // 已配对(01)不返回true,继续判断下一个uuid } @@ -644,7 +665,7 @@ class BlueManage { scanDevices.clear(); startScanSingle(deviceName, 15, (List scanDevices) { _connectDevice(scanDevices, deviceName, connectStateCallBack, - isAddEquipment: isAddEquipment, isReconnect: false); + isAddEquipment: isAddEquipment, isReconnect: true); }); } else { connectStateCallBack(BluetoothConnectionState.disconnected); diff --git a/lib/main/lockDetail/doorLockLog/doorLockLog_page.dart b/lib/main/lockDetail/doorLockLog/doorLockLog_page.dart index 51b74482..e9f93968 100755 --- a/lib/main/lockDetail/doorLockLog/doorLockLog_page.dart +++ b/lib/main/lockDetail/doorLockLog/doorLockLog_page.dart @@ -1,7 +1,9 @@ +import 'package:flustars/flustars.dart'; import 'package:flutter/material.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; +import 'package:intl/intl.dart'; import 'package:star_lock/appRouters.dart'; import 'package:star_lock/main/lockDetail/doorLockLog/doorLockLog_entity.dart'; import 'package:star_lock/main/lockDetail/doorLockLog/doorLockLog_logic.dart'; @@ -295,6 +297,134 @@ class _DoorLockLogPageState extends State with RouteAware { ); } + String formatTimestampToHHmm(int timestampMs) { + // 1. 将毫秒时间戳转换为秒(DateTime 需要秒级时间戳) + int timestampSec = timestampMs ~/ 1000; + + // 2. 创建 DateTime 对象 + DateTime dateTime = DateTime.fromMillisecondsSinceEpoch(timestampMs); + + // 3. 使用 DateFormat 格式化为 "HH:mm" + DateFormat formatter = DateFormat('HH:mm'); + return formatter.format(dateTime); + } + + String _buildIDByType(DoorLockLogDataItem item) { + final recordType = item.recordType; + switch (recordType) { + case 10: + if (item.username != null && item.username != '') { + return '${formatTimestampToHHmm(item.operateDate!)} ' + + '指纹'.tr + + '开锁'.tr + + '(ID:${item.username})'; + } else { + return item.recordStr ?? ''; + } + case 20: + return '${formatTimestampToHHmm(item.operateDate!)} ' + + '密码'.tr + + '开锁'.tr + + '(${'昵称'.tr}:${item.username})'+'(${'密码'.tr}:${item.keyboardPwd})'; + case 30: + return '${formatTimestampToHHmm(item.operateDate!)} ' + + '卡'.tr + + '开锁'.tr + + '(${'昵称'.tr}:${item.username})'; + case 40: + if (item.username != null && item.username != '') { + return '${formatTimestampToHHmm(item.operateDate!)} ' + + '蓝牙'.tr + + '开锁'.tr + + '(' + + '${'昵称'.tr}'.tr + + ':${item.username})'; + } else { + return '${formatTimestampToHHmm(item.operateDate!)} ' + + '蓝牙'.tr + + '开锁'.tr + + '(' + + 'ID'.tr + + ':${item.userid})'; + } + + case 50: + return '${formatTimestampToHHmm(item.operateDate!)} ' + + '组合模式'.tr + + '开锁'.tr + + '(${'昵称'.tr}:${item.username})'; + case 60: + return '${formatTimestampToHHmm(item.operateDate!)} ' + + '添加'.tr + + '指纹'.tr + + '(${'昵称'.tr}:${item.username})'; + case 70: + return '${formatTimestampToHHmm(item.operateDate!)} ' + + '添加'.tr + + '密码'.tr + + '(${'昵称'.tr}:${item.username})'; + case 80: + return '${formatTimestampToHHmm(item.operateDate!)} ' + + '添加'.tr + + '卡'.tr + + '(${'昵称'.tr}:${item.username})'; + case 90: + return '${formatTimestampToHHmm(item.operateDate!)} ' + + '删除'.tr + + '指纹'.tr + + '(${'昵称'.tr}:${item.username})'; + case 100: + return '${formatTimestampToHHmm(item.operateDate!)} ' + + '删除'.tr + + '密码'.tr + + '(${'昵称'.tr}:${item.username})'; + case 110: + return '${formatTimestampToHHmm(item.operateDate!)} ' + + '删除'.tr + + '卡'.tr + + '(${'昵称'.tr}:${item.username})'; + + case 160: + return '${formatTimestampToHHmm(item.operateDate!)} ' + + '人脸'.tr + + '开锁'.tr + + '(${'昵称'.tr}:${item.username})'; + case 190: + return '${formatTimestampToHHmm(item.operateDate!)} ' + + '胁迫指纹'.tr + + '开锁'.tr + + '(${'昵称'.tr}:${item.username})'; + case 200: + return '${formatTimestampToHHmm(item.operateDate!)} ' + + '胁迫密码'.tr + + '开锁'.tr + + '(${'昵称'.tr}:${item.username})'; + case 210: + return '${formatTimestampToHHmm(item.operateDate!)} ' + + '胁迫卡片'.tr + + '开锁'.tr + + '(${'昵称'.tr}:${item.username})'; + default: + return item.recordStr ?? ''; + } + } + + Color _buildTextColorByType(DoorLockLogDataItem item) { + final recordType = item.recordType; + switch (recordType) { + case 120: + case 150: + case 130: + case 190: + case 200: + case 210: + case 220: + return Colors.red; + default: + return Colors.black; + } + } + TimelineTileBuilder _timelineBuilderWidget() { return TimelineTileBuilder.fromStyle( contentsAlign: ContentsAlign.basic, @@ -309,18 +439,26 @@ class _DoorLockLogPageState extends State with RouteAware { ); }, child: Padding( - padding: EdgeInsets.only(left: 20.w, top: 20.h), + padding: EdgeInsets.only(left: 20.w, top: 20.h, right: 20.w), child: Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text( - timelineData.recordStr ?? '', - textAlign: TextAlign.left, - style: TextStyle( - color: Colors.black, - fontSize: 24.sp, - fontWeight: FontWeight.w600, + // 使用 SingleChildScrollView 实现横向滚动 + SingleChildScrollView( + scrollDirection: Axis.horizontal, // 横向滚动 + child: Text( + _buildIDByType(timelineData), + textAlign: TextAlign.left, + style: TextStyle( + color: _buildTextColorByType(timelineData), + fontSize: 24.sp, + fontWeight: FontWeight.w600, + ), + // 关键:禁用换行,强制单行显示 + maxLines: 1, + // 可选:添加省略号(如果文本过长) + overflow: TextOverflow.ellipsis, ), ), SizedBox( diff --git a/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_logic.dart b/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_logic.dart index ebf94158..b878d092 100755 --- a/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_logic.dart +++ b/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_logic.dart @@ -281,7 +281,6 @@ class AddFingerprintLogic extends BaseGetXController { privateKey: getPrivateKeyList, token: getTokenList, ).toString(); - showBlueConnetctToastTimer(action: () async { final String getMobile = (await Storage.getMobile())!; ApmHelper.instance.trackEvent('add_fingerprint', { @@ -460,14 +459,7 @@ class AddFingerprintLogic extends BaseGetXController { @override void onReady() { super.onReady(); - _initReplySubscription(); - } - - @override - void onInit() { - super.onInit(); - senderAddFingerprint(); } diff --git a/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_page.dart b/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_page.dart index 5eb834b1..b9c5c90f 100755 --- a/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_page.dart +++ b/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_page.dart @@ -122,26 +122,26 @@ class _AddFingerprintPageState extends State with RouteAware String getIconNumber(int number) { String iconPath = ''; switch (number) { - case 0: - iconPath = 'images/main/icon_addFingerprint_fingerprint_one.png'; - break; case 1: - iconPath = 'images/main/icon_addFingerprint_fingerprint_two.png'; + iconPath = 'images/main/addFingerprint/1.jpg'; break; case 2: - iconPath = 'images/main/icon_addFingerprint_fingerprint_three.png'; + iconPath = 'images/main/addFingerprint/2.jpg'; break; case 3: - iconPath = 'images/main/icon_addFingerprint_fingerprint_four.png'; + iconPath = 'images/main/addFingerprint/3.jpg'; break; case 4: - iconPath = 'images/main/icon_addFingerprint_fingerprint_five.png'; + iconPath = 'images/main/addFingerprint/4.jpg'; break; case 5: - iconPath = 'images/main/icon_addFingerprint_fingerprint_six.png'; + iconPath = 'images/main/addFingerprint/5.jpg'; + break; + case 6: + iconPath = 'images/main/addFingerprint/6.jpg'; break; default: - iconPath = 'images/main/icon_addFingerprint_fingerprint_six.png'; + iconPath = 'images/main/addFingerprint/0.jpg'; break; } return iconPath; diff --git a/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_logic.dart b/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_logic.dart index f2a1a7d9..ab32de1f 100755 --- a/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_logic.dart +++ b/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_logic.dart @@ -340,10 +340,10 @@ class FingerprintListLogic extends BaseGetXController { Future getFingerprintsListData( {required bool isRefresh}) async { // 如果是下拉刷新,清空已有数据 - if (isRefresh) { + // if (isRefresh) { state.fingerprintItemListData.clear(); pageNo = 1; - } + final FingerprintListDataEntity entity = await ApiRepository.to.getFingerprintsListData( lockId: state.lockId.value.toString(), diff --git a/lib/main/lockDetail/lockDetail/ActivateInfoResponse.dart b/lib/main/lockDetail/lockDetail/ActivateInfoResponse.dart new file mode 100644 index 00000000..7c5ce8a1 --- /dev/null +++ b/lib/main/lockDetail/lockDetail/ActivateInfoResponse.dart @@ -0,0 +1,67 @@ +class ActivateInfoResponse { + ActivateInfoResponse({ + this.description, + this.errorCode, + this.data, // 现在是一个 List + this.errorMsg, + }); + + ActivateInfoResponse.fromJson(dynamic json) { + description = json['description']; + errorCode = json['errorCode']; + // 修改这里:如果 json['data'] 是列表,则解析为 List;否则为空列表 + data = json['data'] != null + ? (json['data'] as List).map((item) => ActivateInfo.fromJson(item)).toList() + : []; + errorMsg = json['errorMsg']; + } + + String? description; + int? errorCode; + List? data; // 改为 List + String? errorMsg; + + Map toJson() { + final map = {}; + map['description'] = description; + map['errorCode'] = errorCode; + if (data != null) { + // 修改这里:将 List 转换为 JSON 列表 + map['data'] = data!.map((item) => item.toJson()).toList(); + } + map['errorMsg'] = errorMsg; + return map; + } + + @override + String toString() { + return 'ActivateInfoResponse{description: $description, errorCode: $errorCode, data: $data, errorMsg: $errorMsg}'; + } +} + +class ActivateInfo { + String? platformName; + int? platform; + + ActivateInfo({ + this.platformName, + this.platform, + }); + + ActivateInfo.fromJson(dynamic json) { + platformName = json['platformName'] ?? ''; + platform = json['platform'] ?? ''; + } + + Map toJson() { + final map = {}; + map['platformName'] = platformName; + map['platform'] = platform; + return map; + } + + @override + String toString() { + return 'ActivateInfo{platformName: $platformName, platform: $platform}'; + } +} diff --git a/lib/main/lockDetail/lockDetail/lockDetail_logic.dart b/lib/main/lockDetail/lockDetail/lockDetail_logic.dart index da62eff6..2d930e9a 100755 --- a/lib/main/lockDetail/lockDetail/lockDetail_logic.dart +++ b/lib/main/lockDetail/lockDetail/lockDetail_logic.dart @@ -293,6 +293,8 @@ class LockDetailLogic extends BaseGetXController { state.electricQuantity.value = state.keyInfos.value.electricQuantity!; state.isOpenPassageMode.value = state.keyInfos.value.passageMode!; state.lockAlias.value = state.keyInfos.value.lockAlias!; + state.electricQuantityStandby.value = + state.keyInfos.value.electricQuantityStandby ?? 0; Storage.setString(saveLockAlias, state.lockAlias.value); BlueManage().connectDeviceName = @@ -369,10 +371,35 @@ class LockDetailLogic extends BaseGetXController { final int userNo = (indexList[1] * 256) + indexList[2]; indexMap['user'] = userNo.toString(); // AppLog.log('userNouserNouserNouserNo:$userNo'); + if (userNo == 0xFFFF) { + // 离线密码情况:16进制格式,去除结束符F(0x1F)及其之后的内容 + final List passwordData = + indexList.sublist(7, 17); // 取10个字节 + // 找到结束符F(0x1F)的位置 + int endIndex = passwordData.indexOf(0x1F); + if (endIndex == -1) { + // 如果没有结束符,取全部数据 + endIndex = passwordData.length; + } + // 只取结束符前的部分(不包括结束符) + final List actualPasswordData = + passwordData.sublist(0, endIndex); + // 转换为十六进制字符串 + String passwordHex = actualPasswordData + .map((byte) => byte.toRadixString(16).padLeft(2, '0')) + .join(); + // 过滤掉字母部分 + passwordHex = passwordHex.replaceAll(RegExp(r'[^0-9]'), ''); + + indexMap['password'] = passwordHex; + // indexMap['password'] = passwordHex; // 存储十六进制字符串表示 + AppLog.log('离线密码开锁:$passwordHex'); + } else { + final List passwordData = indexList.sublist(7, 17); + final String password = utf8String(passwordData); + indexMap['password'] = password.toString(); + } - final List passwordData = indexList.sublist(7, 17); - final String password = utf8String(passwordData); - indexMap['password'] = password.toString(); // AppLog.log('passwordpasswordpassword:$password'); indexMap['success'] = '1'; diff --git a/lib/main/lockDetail/lockSet/lockSet/lockSet_logic.dart b/lib/main/lockDetail/lockSet/lockSet/lockSet_logic.dart index ca5d7a9d..7178e4d5 100755 --- a/lib/main/lockDetail/lockSet/lockSet/lockSet_logic.dart +++ b/lib/main/lockDetail/lockSet/lockSet/lockSet_logic.dart @@ -442,10 +442,13 @@ class LockSetLogic extends BaseGetXController { } // 获取锁设置信息 - Future getLockSettingInfoData() async { + Future getLockSettingInfoData({ + bool isUnShowLoading = false, + }) async { final LockSetInfoEntity entity = await ApiRepository.to.getLockSettingInfoData( lockId: state.lockId.toString(), + isUnShowLoading: isUnShowLoading, ); if (entity.errorCode!.codeIsSuccessful) { state.lockSetInfoData.value = entity.data!; @@ -718,7 +721,7 @@ class LockSetLogic extends BaseGetXController { records: records, isUnShowLoading: true); if (entity.errorCode!.codeIsSuccessful) { - await getLockSettingInfoData(); + await getLockSettingInfoData(isUnShowLoading: true); update(); } } diff --git a/lib/main/lockDetail/lockSet/thirdPartyPlatform/third_party_platform_logic.dart b/lib/main/lockDetail/lockSet/thirdPartyPlatform/third_party_platform_logic.dart index ddd118a4..b0dba54f 100644 --- a/lib/main/lockDetail/lockSet/thirdPartyPlatform/third_party_platform_logic.dart +++ b/lib/main/lockDetail/lockSet/thirdPartyPlatform/third_party_platform_logic.dart @@ -1,5 +1,8 @@ import 'package:get/get.dart'; +import 'package:star_lock/app_settings/app_settings.dart'; import 'package:star_lock/main/lockDetail/lockSet/thirdPartyPlatform/third_party_platform_state.dart'; +import 'package:star_lock/network/api_repository.dart'; +import 'package:star_lock/network/start_company_api.dart'; import 'package:star_lock/tools/baseGetXController.dart'; class ThirdPartyPlatformLogic extends BaseGetXController { @@ -11,6 +14,24 @@ class ThirdPartyPlatformLogic extends BaseGetXController { // dismissEasyLoading(); } + /// 查询TPP支持 + void getActivateInfo() async { + final model = state.lockSetInfoData.value.lockBasicInfo?.model; + if (model != null && model != '') { + final response = await StartCompanyApi.to.getActivateInfo(model: model); + if (response.errorCode!.codeIsSuccessful) { + AppLog.log('${response.data}'); + } + } + } + + @override + void onReady() async { + // TODO: implement onReady + super.onReady(); + getActivateInfo(); + } + @override void dispose() { dismissEasyLoading(); diff --git a/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_page.dart b/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_page.dart index 7b99294e..a72c9e7d 100755 --- a/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_page.dart +++ b/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_page.dart @@ -295,21 +295,24 @@ class _PasswordKeyPerpetualPageState extends State action: () { final PDuration selectDate = PDuration.parse(DateTime.tryParse(state.endTime.value)); - Pickers.showDatePicker(context, - selectDate: selectDate, - // maxDate传入三年以后得今天的时间 - maxDate: PDuration( - year: DateTime.now().year + 3, - month: DateTime.now().month, - day: DateTime.now().day), - minDate: PDuration( - year: DateTime.now().year, - month: DateTime.now().month, - day: DateTime.now().day), - mode: DateMode.YMDH, - hourShow24: true, onConfirm: (PDuration p) { - state.endTime.value = DateTool().getYMDHNDateString(p, 4); - }); + Pickers.showDatePicker( + context, + selectDate: selectDate, + // maxDate传入三年以后得今天的时间 + maxDate: PDuration( + year: DateTime.now().year + 3, + month: DateTime.now().month, + day: DateTime.now().day), + minDate: PDuration( + year: DateTime.now().year, + month: DateTime.now().month, + day: DateTime.now().day), + mode: DateMode.YMDH, + hourShow24: true, + onConfirm: (PDuration p) { + state.endTime.value = DateTool().getYMDHNDateString(p, 4); + }, + ); }), Container(height: 10.h), ], @@ -427,19 +430,20 @@ class _PasswordKeyPerpetualPageState extends State CommonDataManage().currentKeyInfo.model == IoModelVendor.model_XL_WIFI), child: CommonItem( - leftTitel: '结束日期'.tr, - rightTitle: state.endTime.value, - isHaveLine: true, - isHaveDirection: true, - action: () { - final PDuration selectDate = - PDuration.parse(DateTime.tryParse(state.endTime.value)); - Pickers.showDatePicker(context, - selectDate: selectDate, - mode: DateMode.YMDH, onConfirm: (PDuration p) { - state.endTime.value = DateTool().getYMDHNDateString(p, 4); - }); - }), + leftTitel: '结束日期'.tr, + rightTitle: state.endTime.value, + isHaveLine: true, + isHaveDirection: true, + action: () { + final PDuration selectDate = + PDuration.parse(DateTime.tryParse(state.endTime.value)); + Pickers.showDatePicker(context, + selectDate: selectDate, + mode: DateMode.YMDH, onConfirm: (PDuration p) { + state.endTime.value = DateTool().getYMDHNDateString(p, 4); + }); + }, + ), ), CommonItem( leftTitel: '生效时间'.tr, @@ -458,20 +462,26 @@ class _PasswordKeyPerpetualPageState extends State }, hourShow24: true); }), CommonItem( - leftTitel: '失效时间'.tr, - rightTitle: state.loopFailureDate.value, - isHaveDirection: true, - action: () { - final PDuration selectDate = PDuration.parse( - DateTool().dateToDateTime(state.loopFailureDate.value, 0)); - Pickers.showDatePicker(context, - selectDate: selectDate, - mode: DateMode.H, onConfirm: (PDuration p) { + leftTitel: '失效时间'.tr, + rightTitle: state.loopFailureDate.value, + isHaveDirection: true, + action: () { + final PDuration selectDate = PDuration.parse( + DateTool().dateToDateTime(state.loopFailureDate.value, 0)); + Pickers.showDatePicker( + context, + selectDate: selectDate, + mode: DateMode.H, + onConfirm: (PDuration p) { state.loopFailureDate.value = DateTool().getYMDHNDateString(p, 5); state.loopEndHours.value = p.hour!; - }, hourShow24: true); - }), + state.endTime.value = DateTool().getYMDHNDateString(p, 4); + }, + hourShow24: true, + ); + }, + ), ], ); } diff --git a/lib/mine/addLock/lock_voice_setting/lock_voice_setting_logic.dart b/lib/mine/addLock/lock_voice_setting/lock_voice_setting_logic.dart index 017f6dc9..17019e57 100644 --- a/lib/mine/addLock/lock_voice_setting/lock_voice_setting_logic.dart +++ b/lib/mine/addLock/lock_voice_setting/lock_voice_setting_logic.dart @@ -31,6 +31,7 @@ class LockVoiceSettingLogic extends BaseGetXController { LockVoiceSettingState state = LockVoiceSettingState(); StreamSubscription? _replySubscription; bool _isThrottled = false; + // 超时定时器(用于检测是否未收到回复) Timer? _sendTimeoutTimer; @@ -166,11 +167,9 @@ class LockVoiceSettingLogic extends BaseGetXController { BluetoothConnectionState.disconnected) { dismissEasyLoading(); cancelBlueConnetctToastTimer(); - // 延迟1秒后重试(避免频繁请求) - Future.delayed(const Duration(seconds: 2), () { - // 递归调用自身,重试次数+1 - sendFileToDevice(data, token); - }); + + // 断开后重发一下 + sendFileToDevice(data, token); // showBlueConnetctToast(); } @@ -248,16 +247,29 @@ class LockVoiceSettingLogic extends BaseGetXController { data?.forEach((element) { final lang = element.lang; - List parts = lang.split('_'); - final indexOf = locales.indexOf(Locale(parts[0], parts[1])); - final passthroughItem = PassthroughItem( - lang: element.lang, - timbres: element.timbres, - langText: - ExtensionLanguageType.fromLocale(locales[indexOf]).lanTitle, - name: element.name, - ); - state.languages.add(passthroughItem); + if (lang == 'zh_TW') { + // 如果是台湾的话应该显示未简体中文 + List parts = lang.split('_'); + final indexOf = locales.indexOf(Locale(parts[0], parts[1])); + final passthroughItem = PassthroughItem( + lang: element.lang, + timbres: element.timbres, + langText: '简体中文'.tr + '(中国台湾)'.tr, + name: element.name, + ); + state.languages.add(passthroughItem); + } else { + List parts = lang.split('_'); + final indexOf = locales.indexOf(Locale(parts[0], parts[1])); + final passthroughItem = PassthroughItem( + lang: element.lang, + timbres: element.timbres, + langText: + ExtensionLanguageType.fromLocale(locales[indexOf]).lanTitle, + name: element.name, + ); + state.languages.add(passthroughItem); + } }); state.languages.refresh(); final lang = state @@ -280,31 +292,6 @@ class LockVoiceSettingLogic extends BaseGetXController { } } - // 发送获取型号蓝牙命令 - sendGetDeviceModelBleMessage() { - showEasyLoading(); - showBlueConnetctToastTimer(action: () { - dismissEasyLoading(); - }); - BlueManage().blueSendData( - BlueManage().connectDeviceName, - (BluetoothConnectionState deviceConnectionState) async { - if (deviceConnectionState == BluetoothConnectionState.connected) { - BlueManage().writeCharacteristicWithResponse( - GetDeviceModelCommand( - lockID: BlueManage().connectDeviceName, - ).packageData(), - ); - } else if (deviceConnectionState == - BluetoothConnectionState.disconnected) { - dismissEasyLoading(); - cancelBlueConnetctToastTimer(); - showBlueConnetctToast(); - } - }, - ); - } - void _startSendLanguageFile() { if (state.data == null) return; state.voiceSubcontractingIndex = 0; @@ -314,6 +301,7 @@ class LockVoiceSettingLogic extends BaseGetXController { state.progress.value = 0.0; // 开始前重置进度 _sendNextPackage(); } + void _handleSendTimeout() { _isTimeout = true; // 标记超时状态 dismissEasyLoading(); @@ -347,7 +335,6 @@ class LockVoiceSettingLogic extends BaseGetXController { _handleSendTimeout(); // 触发超时处理 }); - int start = state.voiceSubcontractingIndex * state.voiceSubcontractingSize; int end = start + state.voiceSubcontractingSize; if (end > state.data!.length) end = state.data!.length; diff --git a/lib/mine/addLock/lock_voice_setting/lock_voice_setting_page.dart b/lib/mine/addLock/lock_voice_setting/lock_voice_setting_page.dart index e4fc66ff..ed5e0ec5 100644 --- a/lib/mine/addLock/lock_voice_setting/lock_voice_setting_page.dart +++ b/lib/mine/addLock/lock_voice_setting/lock_voice_setting_page.dart @@ -37,18 +37,29 @@ class _LockVoiceSettingState extends State { barTitle: '锁语音包设置'.tr, haveBack: false, haveOtherLeftWidget: true, - leftWidget: TextButton( - onPressed: () { - eventBus - .fire(RefreshLockListInfoDataEvent(isUnShowLoading: true)); - Get.offAllNamed(Routers.starLockMain); - }, - child: Text( - '跳过'.tr, - style: TextStyle( - color: Colors.white, - fontSize: 24.sp, - fontWeight: FontWeight.w500, + leftWidget: Container( + width: 60.w, // 手动扩大leading区域宽度,防止内容换行 + child: TextButton( + onPressed: () { + eventBus + .fire(RefreshLockListInfoDataEvent(isUnShowLoading: true)); + Get.offAllNamed(Routers.starLockMain); + }, + style: TextButton.styleFrom( + padding: EdgeInsets.symmetric(horizontal: 4), // 减少两侧空白 + minimumSize: Size.zero, // 避免最小尺寸影响 + tapTargetSize: MaterialTapTargetSize.shrinkWrap, // 紧凑布局 + ), + child: FittedBox( + fit: BoxFit.scaleDown, + child: Text( + '跳过'.tr, + style: TextStyle( + color: Colors.white, + fontSize: 24.sp, // 减小字体,防止换行 + fontWeight: FontWeight.w500, + ), + ), ), ), ), @@ -67,111 +78,92 @@ class _LockVoiceSettingState extends State { ), ], ), - body: _buildBody(), - ), - ); - } - - Widget _buildBody() { - return Obx( - () => SingleChildScrollView( - child: Column( - children: [ - Container( - width: 1.sw, - decoration: BoxDecoration(color: Colors.white), - child: ListView.builder( - itemCount: state.soundTypeList.length, - itemBuilder: (BuildContext context, int index) { - // 判断是否是最后一个元素(索引等于 itemCount - 1) - final isLastItem = index == state.soundTypeList.length - 1; - - // 获取当前平台数据(假设 platFormSet 是 RxList) - final platform = state.soundTypeList.value[index]; - return CommonItem( - leftTitel: state.soundTypeList.value[index], - rightTitle: '', - isHaveLine: !isLastItem, - // 最后一个元素不显示分割线(取反) - isHaveDirection: false, - isHaveRightWidget: true, - rightWidget: Radio( - // Radio 的值:使用平台的唯一标识(如 id) - value: platform, - // 当前选中的值:与 selectPlatFormIndex 关联的 id - groupValue: state.soundTypeList - .value[state.selectSoundTypeIndex.value], - // 选中颜色(可选,默认主题色) - activeColor: AppColors.mainColor, - // 点击 Radio 时回调(更新选中索引) - onChanged: (value) { - if (value != null) { - setState(() { - // 找到当前选中平台的索引(根据 id 匹配) - final newIndex = state.soundTypeList.value - .indexWhere((p) => p == value); - if (newIndex != -1) { - state.selectSoundTypeIndex.value = newIndex; + body: Obx( + () => ListView( + padding: EdgeInsets.zero, + children: [ + // 语音类型选择区 + Container( + width: 1.sw, + color: Colors.white, + child: Column( + children: List.generate( + state.soundTypeList.length, + (index) { + final isLastItem = + index == state.soundTypeList.length - 1; + final soundType = state.soundTypeList.value[index]; + return CommonItem( + leftTitel: soundType, + rightTitle: '', + isHaveLine: !isLastItem, + isHaveDirection: false, + isHaveRightWidget: true, + rightWidget: Radio( + value: soundType, + groupValue: state.soundTypeList + .value[state.selectSoundTypeIndex.value], + activeColor: AppColors.mainColor, + onChanged: (value) { + if (value != null) { + final newIndex = state.soundTypeList.value + .indexWhere((p) => p == value); + if (newIndex != -1) { + state.selectSoundTypeIndex.value = newIndex; + } } - }); - } - }, - ), - action: () { - setState(() { - state.selectSoundTypeIndex.value = index; - }); + }, + ), + action: () { + state.selectSoundTypeIndex.value = index; + }, + ); }, - ); - }, - shrinkWrap: true, - physics: const AlwaysScrollableScrollPhysics(), + ), + ), ), - ), - SizedBox( - height: 8.h, - ), - Column( - children: _buildList(), - ), - ], + SizedBox( + height: 8.h, + ), + // 语言包列表区 + Container( + color: Colors.transparent, + child: Column( + children: List.generate( + state.languages.length, + (index) { + final item = state.languages[index]; + return CommonItem( + leftTitel: item.langText, + rightTitle: '', + isHaveLine: true, + isHaveDirection: false, + isHaveRightWidget: true, + rightWidget: + state.selectPassthroughListIndex.value == index + ? Image( + image: const AssetImage( + 'images/icon_item_checked.png'), + width: 30.w, + height: 30.w, + fit: BoxFit.contain, + ) + : Container(), + action: () { + state.selectPassthroughListIndex.value = index; + }, + ); + }, + ), + ), + ), + ], + ), ), ), ); } - List _buildList() { - final appLocalLanguages = state.languages; - return List.generate( - appLocalLanguages.length, - (index) => _buildItem( - appLocalLanguages[index], - index, - ), - ); - } - - _buildItem(PassthroughItem passthroughItem, index) { - return CommonItem( - leftTitel: passthroughItem.langText, - rightTitle: '', - isHaveLine: true, - isHaveDirection: false, - isHaveRightWidget: true, - rightWidget: state.selectPassthroughListIndex.value == index - ? Image( - image: const AssetImage('images/icon_item_checked.png'), - width: 30.w, - height: 30.w, - fit: BoxFit.contain, - ) - : Container(), - action: () { - state.selectPassthroughListIndex.value = index; - }, - ); - } - @override void dispose() { // TODO: implement dispose diff --git a/lib/network/api.dart b/lib/network/api.dart index 412af193..31354efa 100755 --- a/lib/network/api.dart +++ b/lib/network/api.dart @@ -305,4 +305,6 @@ abstract class Api { '/lockSetting/updateLockSetting'; // 设置语音包 final String reportBuyRequestURL = '/service/reportBuyRequest'; // 上报增值服务购买请求 + final String getActivateInfoURL = + '/api/authCode/getTppSupport'; // 查询ttp } diff --git a/lib/network/api_provider.dart b/lib/network/api_provider.dart index 0325b302..af23be71 100755 --- a/lib/network/api_provider.dart +++ b/lib/network/api_provider.dart @@ -428,11 +428,17 @@ class ApiProvider extends BaseProvider { isUnShowLoading: isUnShowLoading); // 获取所有锁设置信息 - Future getLockSettingInfoData(String lockId) => post( - getLockSettingURL.toUrl, - jsonEncode({ - 'lockId': lockId, - })); + Future getLockSettingInfoData( + String lockId, { + bool isUnShowLoading = true, + }) => + post( + getLockSettingURL.toUrl, + jsonEncode({ + 'lockId': lockId, + }), + isUnShowLoading: isUnShowLoading, + ); // 获取所有锁设置信息 Future getLockSettingInfoDataIsNotLoadingIcon(String lockId) => @@ -2824,9 +2830,9 @@ class ApiProvider extends BaseProvider { /// 设置语音包 Future reportBuyRequest( - int lockId, - String type, - ) => + int lockId, + String type, + ) => post( reportBuyRequestURL.toUrl, jsonEncode({ @@ -2836,8 +2842,6 @@ class ApiProvider extends BaseProvider { isShowNetworkErrorMsg: false, isShowErrMsg: false, isUnShowLoading: true); - - } extension ExtensionString on String { diff --git a/lib/network/api_repository.dart b/lib/network/api_repository.dart index f3e2587a..b9ecd53e 100755 --- a/lib/network/api_repository.dart +++ b/lib/network/api_repository.dart @@ -493,8 +493,11 @@ class ApiRepository { // 获取所有锁设置信息 Future getLockSettingInfoData( - {required String lockId}) async { - final res = await apiProvider.getLockSettingInfoData(lockId); + {required String lockId, bool isUnShowLoading = false}) async { + final res = await apiProvider.getLockSettingInfoData( + lockId, + isUnShowLoading: isUnShowLoading, + ); return LockSetInfoEntity.fromJson(res.body); } diff --git a/lib/network/start_company_api.dart b/lib/network/start_company_api.dart new file mode 100644 index 00000000..e5f4c1f2 --- /dev/null +++ b/lib/network/start_company_api.dart @@ -0,0 +1,41 @@ +import 'dart:convert'; + +import 'package:get/get.dart'; +import 'package:star_lock/main/lockDetail/lockDetail/ActivateInfoResponse.dart'; +import 'package:star_lock/network/api_provider.dart'; +import 'package:star_lock/network/api_provider_base.dart'; +import 'package:star_lock/talk/starChart/entity/relay_info_entity.dart'; +import 'package:star_lock/talk/starChart/entity/report_information_data.dart'; +import 'package:star_lock/talk/starChart/entity/star_chart_register_node_entity.dart'; +import 'package:star_lock/tools/storage.dart'; + +class StartCompanyApi extends BaseProvider { + // 星图url + String _startChartHost = 'https://company.skychip.top'; + + static StartCompanyApi get to => Get.put(StartCompanyApi()); + + // 设置星图host + set startChartHost(String value) { + _startChartHost = value; + } + + // 获取星图host + String get startChartHost => _startChartHost; + + // ttp查询 + Future getActivateInfo({ + required String model, + }) async { + final response = await post( + _startChartHost + getActivateInfoURL.toUrl, + jsonEncode({ + 'model': model, + + }), + isUnShowLoading: true, + isUserBaseUrl: false, + ); + return ActivateInfoResponse.fromJson(response.body); + } +} diff --git a/lib/translations/app_dept.dart b/lib/translations/app_dept.dart index 8887396d..da78804a 100755 --- a/lib/translations/app_dept.dart +++ b/lib/translations/app_dept.dart @@ -60,6 +60,7 @@ extension ExtensionAppDept on AppDept { const Locale hyL = Locale('hy', 'AM'); const Locale kaL = Locale('ka', 'GE'); const Locale srCyrillic = Locale('sr', 'RS'); + const Locale ptBrL = Locale('pt', 'BR'); return [ enL, @@ -102,7 +103,8 @@ extension ExtensionAppDept on AppDept { urL, hyL, kaL, - srCyrillic + srCyrillic, + ptBrL ]; } } @@ -195,6 +197,8 @@ enum LanguageType { armenian, //格鲁吉亚语 georgian, + // 巴西葡萄牙语 + brazilianPortuguese, } extension ExtensionLanguageType on LanguageType { @@ -324,6 +328,9 @@ extension ExtensionLanguageType on LanguageType { case LanguageType.georgian: str = '格鲁吉亚语'.tr; break; + case LanguageType.brazilianPortuguese: + str = '巴西葡萄牙语'.tr; + break; } return str; } @@ -364,7 +371,11 @@ extension ExtensionLanguageType on LanguageType { languageType = LanguageType.italian; break; case 'pt': - languageType = LanguageType.portuguese; + if (countryCode.toLowerCase() == 'br') { + languageType = LanguageType.brazilianPortuguese; + } else { + languageType = LanguageType.portuguese; + } break; case 'es': languageType = LanguageType.spanish; @@ -671,6 +682,11 @@ extension ExtensionLanguageType on LanguageType { return locale; } break; + case LanguageType.brazilianPortuguese: + if (locale.languageCode == 'pt' && locale.countryCode == 'BR') { + return locale; + } + break; case LanguageType.system: // TODO: Handle this case. break; diff --git a/lib/translations/translation_loader.dart b/lib/translations/translation_loader.dart index 5a6c1b51..c75ef233 100755 --- a/lib/translations/translation_loader.dart +++ b/lib/translations/translation_loader.dart @@ -82,6 +82,7 @@ class TranslationLoader { static Map _urMap = {}; static Map _hyMap = {}; static Map _kaMap = {}; + static Map _ptBrMap = {}; static Map get zhDic => _zhMap; static Map get enDic => _enMap; @@ -126,6 +127,7 @@ class TranslationLoader { static Map get urMap => _urMap; static Map get hyMap => _hyMap; static Map get kaMap => _kaMap; + static Map get ptBrMap => _ptBrMap; static Future loadTranslation() async { _zhMap = await _loadJsonFile('lan/lan_zh.json'); @@ -171,6 +173,7 @@ class TranslationLoader { _urMap = await _loadJsonFile('lan/lan_ur.json'); _hyMap = await _loadJsonFile('lan/lan_hy.json'); _kaMap = await _loadJsonFile('lan/lan_ka.json'); + _ptBrMap = await _loadJsonFile('lan/lan_pt_br.json'); } static Future> _loadJsonFile(String filePath) async =>