完成国际化功能(包括中英文在内的34种语言)
This commit is contained in:
parent
0e99d60cb8
commit
b241008de8
1085
lan/lan_ar.json
Normal file
1085
lan/lan_ar.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_bg.json
Normal file
1085
lan/lan_bg.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_bn.json
Normal file
1085
lan/lan_bn.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_cs.json
Normal file
1085
lan/lan_cs.json
Normal file
File diff suppressed because one or more lines are too long
1085
lan/lan_da.json
Normal file
1085
lan/lan_da.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_de.json
Normal file
1085
lan/lan_de.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_el.json
Normal file
1085
lan/lan_el.json
Normal file
File diff suppressed because it is too large
Load Diff
2145
lan/lan_en.json
Executable file → Normal file
2145
lan/lan_en.json
Executable file → Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_es.json
Normal file
1085
lan/lan_es.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_et.json
Normal file
1085
lan/lan_et.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_fi.json
Normal file
1085
lan/lan_fi.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_fr.json
Normal file
1085
lan/lan_fr.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_he.json
Normal file
1085
lan/lan_he.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_hr.json
Normal file
1085
lan/lan_hr.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_hu.json
Normal file
1085
lan/lan_hu.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_id.json
Normal file
1085
lan/lan_id.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_it.json
Normal file
1085
lan/lan_it.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_ja.json
Normal file
1085
lan/lan_ja.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -26,7 +26,6 @@
|
|||||||
"星期五": "星期五",
|
"星期五": "星期五",
|
||||||
"星期六": "星期六",
|
"星期六": "星期六",
|
||||||
"星期日": "星期日",
|
"星期日": "星期日",
|
||||||
|
|
||||||
"简写周一": "简写周一",
|
"简写周一": "简写周一",
|
||||||
"简写周二": "简写周二",
|
"简写周二": "简写周二",
|
||||||
"简写周三": "简写周三",
|
"简写周三": "简写周三",
|
||||||
@ -34,7 +33,6 @@
|
|||||||
"简写周五": "简写周五",
|
"简写周五": "简写周五",
|
||||||
"简写周六": "简写周六",
|
"简写周六": "简写周六",
|
||||||
"简写周日": "简写周日",
|
"简写周日": "简写周日",
|
||||||
|
|
||||||
"周一": "周一",
|
"周一": "周一",
|
||||||
"周二": "周二",
|
"周二": "周二",
|
||||||
"周三": "周三",
|
"周三": "周三",
|
||||||
@ -42,7 +40,6 @@
|
|||||||
"周五": "周五",
|
"周五": "周五",
|
||||||
"周六": "周六",
|
"周六": "周六",
|
||||||
"周日": "周日",
|
"周日": "周日",
|
||||||
|
|
||||||
"群发钥匙":"群发钥匙",
|
"群发钥匙":"群发钥匙",
|
||||||
"锁": "锁",
|
"锁": "锁",
|
||||||
"请添加":"请添加",
|
"请添加":"请添加",
|
||||||
@ -102,7 +99,6 @@
|
|||||||
"月榜":"月榜",
|
"月榜":"月榜",
|
||||||
"考勤记录":"考勤记录",
|
"考勤记录":"考勤记录",
|
||||||
"假日信息":"假日信息",
|
"假日信息":"假日信息",
|
||||||
|
|
||||||
"基本信息":"基本信息",
|
"基本信息":"基本信息",
|
||||||
"无线键盘":"无线键盘",
|
"无线键盘":"无线键盘",
|
||||||
"选择无线键盘": "选择无线键盘",
|
"选择无线键盘": "选择无线键盘",
|
||||||
@ -121,7 +117,6 @@
|
|||||||
"微信二维码":"微信二维码",
|
"微信二维码":"微信二维码",
|
||||||
"拥有电子钥匙的人,通过微信扫一扫这个二维码,即可开门。每把锁的二维码都不相同,你可以将其打印出来贴在对应的锁旁边": "拥有电子钥匙的人,通过微信扫一扫这个二维码,即可开门。每把锁的二维码都不相同,你可以将其打印出来贴在对应的锁旁边",
|
"拥有电子钥匙的人,通过微信扫一扫这个二维码,即可开门。每把锁的二维码都不相同,你可以将其打印出来贴在对应的锁旁边": "拥有电子钥匙的人,通过微信扫一扫这个二维码,即可开门。每把锁的二维码都不相同,你可以将其打印出来贴在对应的锁旁边",
|
||||||
"锁编号":"锁编号",
|
"锁编号":"锁编号",
|
||||||
|
|
||||||
"电量":"电量",
|
"电量":"电量",
|
||||||
"锁分组":"锁分组",
|
"锁分组":"锁分组",
|
||||||
"选择分组":"选择分组",
|
"选择分组":"选择分组",
|
||||||
@ -135,9 +130,6 @@
|
|||||||
"附近的设备":"附近的设备",
|
"附近的设备":"附近的设备",
|
||||||
"暂无数据":"暂无数据",
|
"暂无数据":"暂无数据",
|
||||||
"通过门磁可查询门的开、关状态。每把锁咳添加一个门磁":"通过门磁可查询门的开、关状态。每把锁咳添加一个门磁",
|
"通过门磁可查询门的开、关状态。每把锁咳添加一个门磁":"通过门磁可查询门的开、关状态。每把锁咳添加一个门磁",
|
||||||
"delayTime":"delayTime",
|
|
||||||
"automaticBlockingTip":"automaticBlockingTip",
|
|
||||||
|
|
||||||
"开始":"开始",
|
"开始":"开始",
|
||||||
"全天":"全天",
|
"全天":"全天",
|
||||||
"你可以设置多个常开时间段,在设置的时间段内,锁被打开后一直处于打开的状态。":"你可以设置多个常开时间段,在设置的时间段内,锁被打开后一直处于打开的状态。",
|
"你可以设置多个常开时间段,在设置的时间段内,锁被打开后一直处于打开的状态。":"你可以设置多个常开时间段,在设置的时间段内,锁被打开后一直处于打开的状态。",
|
||||||
@ -160,9 +152,8 @@
|
|||||||
"升级":"升级",
|
"升级":"升级",
|
||||||
"空闲":"空闲",
|
"空闲":"空闲",
|
||||||
"已入住":"已入住",
|
"已入住":"已入住",
|
||||||
|
|
||||||
"英文":"英文",
|
"英文":"英文",
|
||||||
"中文":"中文",
|
"简体中文":"简体中文",
|
||||||
"多语言":"多语言",
|
"多语言":"多语言",
|
||||||
"添加锁":"添加锁",
|
"添加锁":"添加锁",
|
||||||
"锁地址":"锁地址",
|
"锁地址":"锁地址",
|
||||||
@ -173,7 +164,6 @@
|
|||||||
"客服":"客服",
|
"客服":"客服",
|
||||||
"设置":"设置",
|
"设置":"设置",
|
||||||
"更多设置":"更多设置",
|
"更多设置":"更多设置",
|
||||||
|
|
||||||
"消息推送":"消息推送",
|
"消息推送":"消息推送",
|
||||||
"锁用户管理":"锁用户管理",
|
"锁用户管理":"锁用户管理",
|
||||||
"拥有的钥匙":"拥有的钥匙",
|
"拥有的钥匙":"拥有的钥匙",
|
||||||
@ -219,7 +209,6 @@
|
|||||||
"即将到期":"即将到期",
|
"即将到期":"即将到期",
|
||||||
"去授权":"去授权",
|
"去授权":"去授权",
|
||||||
"修改名称":"修改名称",
|
"修改名称":"修改名称",
|
||||||
|
|
||||||
"状态": "状态",
|
"状态": "状态",
|
||||||
"WiFi名称": "WiFi名称",
|
"WiFi名称": "WiFi名称",
|
||||||
"网络MAC": "网络MAC",
|
"网络MAC": "网络MAC",
|
||||||
@ -245,6 +234,7 @@
|
|||||||
"备选DNS": "备选DNS",
|
"备选DNS": "备选DNS",
|
||||||
"不使用静态IP": "不使用静态IP",
|
"不使用静态IP": "不使用静态IP",
|
||||||
"使用静态IP": "使用静态IP",
|
"使用静态IP": "使用静态IP",
|
||||||
|
"请输入IP地址": "请输入IP地址",
|
||||||
"请输入子网掩码": "请输入子网掩码",
|
"请输入子网掩码": "请输入子网掩码",
|
||||||
"请输入默认网关": "请输入默认网关",
|
"请输入默认网关": "请输入默认网关",
|
||||||
"所有锁":"所有锁",
|
"所有锁":"所有锁",
|
||||||
@ -259,7 +249,6 @@
|
|||||||
"附近的锁":"附近的锁",
|
"附近的锁":"附近的锁",
|
||||||
"如需修改名字请重新命名,点击确定添加锁":"如需修改名字请重新命名,点击确定添加锁",
|
"如需修改名字请重新命名,点击确定添加锁":"如需修改名字请重新命名,点击确定添加锁",
|
||||||
"添加锁时,手机必须在锁旁边":"添加锁时,手机必须在锁旁边",
|
"添加锁时,手机必须在锁旁边":"添加锁时,手机必须在锁旁边",
|
||||||
|
|
||||||
"登录":"登录",
|
"登录":"登录",
|
||||||
"注册":"注册",
|
"注册":"注册",
|
||||||
"我已阅读并同意":"我已阅读并同意",
|
"我已阅读并同意":"我已阅读并同意",
|
||||||
@ -272,15 +261,12 @@
|
|||||||
"你所在的国家/地区": "你所在的国家/地区",
|
"你所在的国家/地区": "你所在的国家/地区",
|
||||||
"选择国家/地区": "你所在的国家/地区",
|
"选择国家/地区": "你所在的国家/地区",
|
||||||
"获取验证码":"获取验证码",
|
"获取验证码":"获取验证码",
|
||||||
|
|
||||||
"商务合作":"商务合作",
|
"商务合作":"商务合作",
|
||||||
"电脑网页版":"电脑网页版",
|
"电脑网页版":"电脑网页版",
|
||||||
"酒店系统":"酒店系统",
|
"酒店系统":"酒店系统",
|
||||||
"说明书网页版":"说明书网页版",
|
"说明书网页版":"说明书网页版",
|
||||||
|
|
||||||
"高级功能":"高级功能",
|
"高级功能":"高级功能",
|
||||||
"记录保存":"记录保存",
|
"记录保存":"记录保存",
|
||||||
|
|
||||||
"您可通过短信将密码、电子钥匙信息发给接收人。":"您可通过短信将密码、电子钥匙信息发给接收人。",
|
"您可通过短信将密码、电子钥匙信息发给接收人。":"您可通过短信将密码、电子钥匙信息发给接收人。",
|
||||||
"您可通过邮件将密码、电子钥匙信息发给接收人。":"您可通过邮件将密码、电子钥匙信息发给接收人。",
|
"您可通过邮件将密码、电子钥匙信息发给接收人。":"您可通过邮件将密码、电子钥匙信息发给接收人。",
|
||||||
"购买实名认证提示":"购买实名认证提示",
|
"购买实名认证提示":"购买实名认证提示",
|
||||||
@ -299,7 +285,6 @@
|
|||||||
"购买高级功能提示":"购买高级功能提示",
|
"购买高级功能提示":"购买高级功能提示",
|
||||||
"免费体验":"免费体验",
|
"免费体验":"免费体验",
|
||||||
"立即开通":"立即开通",
|
"立即开通":"立即开通",
|
||||||
|
|
||||||
"购买短信":"购买短信",
|
"购买短信":"购买短信",
|
||||||
"购买邮件":"购买邮件",
|
"购买邮件":"购买邮件",
|
||||||
"购买实名认证次数":"购买实名认证次数",
|
"购买实名认证次数":"购买实名认证次数",
|
||||||
@ -308,7 +293,6 @@
|
|||||||
"支付方式":"支付方式",
|
"支付方式":"支付方式",
|
||||||
"支付宝":"支付宝",
|
"支付宝":"支付宝",
|
||||||
"去支付":"去支付",
|
"去支付":"去支付",
|
||||||
|
|
||||||
"你可以自己定义模版的内容,用于发送密码或电子钥匙信息给他人":"你可以自己定义模版的内容,用于发送密码或电子钥匙信息给他人",
|
"你可以自己定义模版的内容,用于发送密码或电子钥匙信息给他人":"你可以自己定义模版的内容,用于发送密码或电子钥匙信息给他人",
|
||||||
"高级功能仅能用于你自己的锁":"高级功能仅能用于你自己的锁",
|
"高级功能仅能用于你自己的锁":"高级功能仅能用于你自己的锁",
|
||||||
"新建模板":"新建模板",
|
"新建模板":"新建模板",
|
||||||
@ -317,15 +301,12 @@
|
|||||||
"预览":"预览",
|
"预览":"预览",
|
||||||
"房间名":"房间名",
|
"房间名":"房间名",
|
||||||
"预计产生短信条数":"预计产生短信条数",
|
"预计产生短信条数":"预计产生短信条数",
|
||||||
|
|
||||||
"功能开启后,已失效较长时间的密码、电子钥匙、卡、指纹等开锁权限将被隐藏,不在列表里显示。":"功能开启后,已失效较长时间的密码、电子钥匙、卡、指纹等开锁权限将被隐藏,不在列表里显示。",
|
"功能开启后,已失效较长时间的密码、电子钥匙、卡、指纹等开锁权限将被隐藏,不在列表里显示。":"功能开启后,已失效较长时间的密码、电子钥匙、卡、指纹等开锁权限将被隐藏,不在列表里显示。",
|
||||||
"对于选中的这些锁,当用户用APP开锁时,他的手机需要是连网的,否则无法开锁":"对于选中的这些锁,当用户用APP开锁时,他的手机需要是连网的,否则无法开锁",
|
"对于选中的这些锁,当用户用APP开锁时,他的手机需要是连网的,否则无法开锁":"对于选中的这些锁,当用户用APP开锁时,他的手机需要是连网的,否则无法开锁",
|
||||||
|
|
||||||
"配置WiFi":"配置WiFi",
|
"配置WiFi":"配置WiFi",
|
||||||
"请输入WiFi名字":"请输入WiFi名字",
|
"请输入WiFi名字":"请输入WiFi名字",
|
||||||
"WiFi配网":"WiFi配网",
|
"WiFi配网":"WiFi配网",
|
||||||
"胁迫卡":"胁迫卡",
|
"胁迫卡":"胁迫卡",
|
||||||
|
|
||||||
"员工是否有密码":"员工是否有密码",
|
"员工是否有密码":"员工是否有密码",
|
||||||
"员工是否有卡":"员工是否有卡",
|
"员工是否有卡":"员工是否有卡",
|
||||||
"员工是否有指纹":"员工是否有指纹",
|
"员工是否有指纹":"员工是否有指纹",
|
||||||
@ -334,43 +315,35 @@
|
|||||||
"获取指纹":"获取指纹",
|
"获取指纹":"获取指纹",
|
||||||
"安全验证":"安全验证",
|
"安全验证":"安全验证",
|
||||||
"删除账号后,你的所有信息及相关记录都会从平台彻底删除,且不可恢复,是否删除?":"删除账号后,你的所有信息及相关记录都会从平台彻底删除,且不可恢复,是否删除?",
|
"删除账号后,你的所有信息及相关记录都会从平台彻底删除,且不可恢复,是否删除?":"删除账号后,你的所有信息及相关记录都会从平台彻底删除,且不可恢复,是否删除?",
|
||||||
|
|
||||||
"监控":"监控",
|
"监控":"监控",
|
||||||
"视频日志":"视频日志",
|
"视频日志":"视频日志",
|
||||||
"网关设备":"网关设备",
|
"网关设备":"网关设备",
|
||||||
|
|
||||||
"开门器":"开门器",
|
"开门器":"开门器",
|
||||||
"面容开锁":"面容开锁",
|
"面容开锁":"面容开锁",
|
||||||
"开门方向设置":"开门方向设置",
|
"开门方向设置":"开门方向设置",
|
||||||
"电机功率设置":"电机功率设置",
|
"电机功率设置":"电机功率设置",
|
||||||
"开锁时是否需联网":"开锁时是否需联网",
|
"开锁时是否需联网":"开锁时是否需联网",
|
||||||
|
|
||||||
"选择要加入分组的锁":"选择要加入分组的锁",
|
"选择要加入分组的锁":"选择要加入分组的锁",
|
||||||
"锁数量":"锁数量",
|
"锁数量":"锁数量",
|
||||||
"小米IOT平台":"小米IOT平台",
|
"小米IOT平台":"小米IOT平台",
|
||||||
|
|
||||||
"面容开锁设置": "面容开锁设置",
|
"面容开锁设置": "面容开锁设置",
|
||||||
"感应距离": "感应距离",
|
"感应距离": "感应距离",
|
||||||
"防误开": "防误开",
|
"防误开": "防误开",
|
||||||
"防误开已关闭,关门后仍可使用面容开锁": "防误开已关闭,关门后仍可使用面容开锁",
|
"防误开已关闭,关门后仍可使用面容开锁": "防误开已关闭,关门后仍可使用面容开锁",
|
||||||
"添加和使用面容开锁时": "添加和使用面容开锁时",
|
"添加和使用面容开锁时": "添加和使用面容开锁时",
|
||||||
"添加和使用面容开锁时提示":"添加和使用面容开锁时提示",
|
"添加和使用面容开锁时提示":"添加和使用面容开锁时提示",
|
||||||
|
|
||||||
"秒": "秒",
|
"秒": "秒",
|
||||||
"请根据门锁实际情况,请谨慎选择电机功率:": "请根据门锁实际情况,请谨慎选择电机功率:",
|
"请根据门锁实际情况,请谨慎选择电机功率:": "请根据门锁实际情况,请谨慎选择电机功率:",
|
||||||
"小功率:": "小功率:",
|
"小功率:": "小功率:",
|
||||||
"耗电少": "耗电少",
|
"耗电少": "耗电少",
|
||||||
"大功率": "大功率",
|
"大功率": "大功率",
|
||||||
"大功率提示": "大功率提示",
|
"大功率提示": "大功率提示",
|
||||||
|
|
||||||
"开门方向设置提示": "开门方向设置提示",
|
"开门方向设置提示": "开门方向设置提示",
|
||||||
"左开": "左开",
|
"左开": "左开",
|
||||||
"右开": "右开",
|
"右开": "右开",
|
||||||
"判断方法:": "判断方法:",
|
"判断方法:": "判断方法:",
|
||||||
"判断方法内容": "判断方法内容",
|
"判断方法内容": "判断方法内容",
|
||||||
|
|
||||||
"录像时段": "录像时段",
|
"录像时段": "录像时段",
|
||||||
|
|
||||||
"密码":"密码",
|
"密码":"密码",
|
||||||
"卡":"卡",
|
"卡":"卡",
|
||||||
"指纹":"指纹",
|
"指纹":"指纹",
|
||||||
@ -594,7 +567,6 @@
|
|||||||
"密码生成后,请在当日23:59前使用,否则过0点后失效。": "密码生成后,请在当日23:59前使用,否则过0点后失效。",
|
"密码生成后,请在当日23:59前使用,否则过0点后失效。": "密码生成后,请在当日23:59前使用,否则过0点后失效。",
|
||||||
"清空密码底部提示": "清空密码底部提示",
|
"清空密码底部提示": "清空密码底部提示",
|
||||||
"密码不一致哦":"密码不一致哦",
|
"密码不一致哦":"密码不一致哦",
|
||||||
|
|
||||||
"相机": "相机",
|
"相机": "相机",
|
||||||
"相册": "相册",
|
"相册": "相册",
|
||||||
"读写": "读写",
|
"读写": "读写",
|
||||||
@ -611,10 +583,8 @@
|
|||||||
"请手动在系统设置中开启": "请手动在系统设置中开启",
|
"请手动在系统设置中开启": "请手动在系统设置中开启",
|
||||||
"权限以继续使用应用": "权限以继续使用应用。",
|
"权限以继续使用应用": "权限以继续使用应用。",
|
||||||
"去设置": "去设置",
|
"去设置": "去设置",
|
||||||
|
|
||||||
"虹膜":"虹膜",
|
"虹膜":"虹膜",
|
||||||
"手掌":"手掌",
|
"手掌":"手掌",
|
||||||
|
|
||||||
"商城":"mall",
|
"商城":"mall",
|
||||||
"我的":"my",
|
"我的":"my",
|
||||||
"微信公众号推送":"微信公众号推送",
|
"微信公众号推送":"微信公众号推送",
|
||||||
@ -707,7 +677,6 @@
|
|||||||
"当前剩余数量":"当前剩余数量",
|
"当前剩余数量":"当前剩余数量",
|
||||||
"购买":"购买",
|
"购买":"购买",
|
||||||
"实名认证为付费功能,请购买后再使用":"实名认证为付费功能,请购买后再使用",
|
"实名认证为付费功能,请购买后再使用":"实名认证为付费功能,请购买后再使用",
|
||||||
|
|
||||||
"退出添加":"退出添加",
|
"退出添加":"退出添加",
|
||||||
"管理员已满":"管理员已满",
|
"管理员已满":"管理员已满",
|
||||||
"用户已满": "用户已满",
|
"用户已满": "用户已满",
|
||||||
@ -721,13 +690,11 @@
|
|||||||
"密码已存在": "密码已存在",
|
"密码已存在": "密码已存在",
|
||||||
"请输入密码": "请输入密码",
|
"请输入密码": "请输入密码",
|
||||||
"暂无密码,无需重置": "暂无密码,无需重置",
|
"暂无密码,无需重置": "暂无密码,无需重置",
|
||||||
|
|
||||||
"真实姓名":"真实姓名",
|
"真实姓名":"真实姓名",
|
||||||
"身份证号":"身份证号",
|
"身份证号":"身份证号",
|
||||||
"请输入真实姓名":"请输入真实姓名",
|
"请输入真实姓名":"请输入真实姓名",
|
||||||
"请输入身份证号":"请输入身份证号",
|
"请输入身份证号":"请输入身份证号",
|
||||||
"请输入身份证号和真实姓名":"请输入身份证号和真实姓名",
|
"请输入身份证号和真实姓名":"请输入身份证号和真实姓名",
|
||||||
|
|
||||||
"点击返回设备配对":"点击返回设备配对",
|
"点击返回设备配对":"点击返回设备配对",
|
||||||
"无法连接?尝试升级":"无法连接?尝试升级",
|
"无法连接?尝试升级":"无法连接?尝试升级",
|
||||||
"固件升级提示":"固件升级提示",
|
"固件升级提示":"固件升级提示",
|
||||||
@ -782,14 +749,12 @@
|
|||||||
"自定义邮件模版":"自定义邮件模版",
|
"自定义邮件模版":"自定义邮件模版",
|
||||||
"名称":"名称",
|
"名称":"名称",
|
||||||
"星星锁": "星星锁",
|
"星星锁": "星星锁",
|
||||||
|
|
||||||
"无考勤记录": "无考勤记录",
|
"无考勤记录": "无考勤记录",
|
||||||
"大家干劲十足": "大家干劲十足",
|
"大家干劲十足": "大家干劲十足",
|
||||||
"工作时长未出炉": "工作时长未出炉",
|
"工作时长未出炉": "工作时长未出炉",
|
||||||
"国家地区的选择将影响数据安全,你当前选择的是阿尔巴尼亚,请确认后再继续": "国家地区的选择将影响数据安全,你当前选择的是阿尔巴尼亚,请确认后再继续",
|
"国家地区的选择将影响数据安全,你当前选择的是阿尔巴尼亚,请确认后再继续": "国家地区的选择将影响数据安全,你当前选择的是阿尔巴尼亚,请确认后再继续",
|
||||||
"确认国家或地区": "确认国家或地区",
|
"确认国家或地区": "确认国家或地区",
|
||||||
"我知道了": "我知道了",
|
"我知道了": "我知道了",
|
||||||
|
|
||||||
"为了让您及时收到重要通知和更新,我们需要获取通知权限。请点击“确定”按钮,然后在设置页面中启用通知权限。": "为了让您及时收到重要通知和更新,我们需要获取通知权限。请点击“确定”按钮,然后在设置页面中启用通知权限。",
|
"为了让您及时收到重要通知和更新,我们需要获取通知权限。请点击“确定”按钮,然后在设置页面中启用通知权限。": "为了让您及时收到重要通知和更新,我们需要获取通知权限。请点击“确定”按钮,然后在设置页面中启用通知权限。",
|
||||||
"开启后,可通过长按锁上的设置键重新上电,用APP重新添加":"开启后,可通过长按锁上的设置键重新上电,用APP重新添加",
|
"开启后,可通过长按锁上的设置键重新上电,用APP重新添加":"开启后,可通过长按锁上的设置键重新上电,用APP重新添加",
|
||||||
"已有": "已有",
|
"已有": "已有",
|
||||||
@ -800,13 +765,11 @@
|
|||||||
"加载数据失败": "加载数据失败",
|
"加载数据失败": "加载数据失败",
|
||||||
"重试": "重试",
|
"重试": "重试",
|
||||||
"升级中,是否退出": "升级中,是否退出",
|
"升级中,是否退出": "升级中,是否退出",
|
||||||
|
|
||||||
"下一步": "下一步",
|
"下一步": "下一步",
|
||||||
"公寓": "公寓",
|
"公寓": "公寓",
|
||||||
"个人用户": "个人用户",
|
"个人用户": "个人用户",
|
||||||
"星寓": "星寓",
|
"星寓": "星寓",
|
||||||
"账号": "账号",
|
"账号": "账号",
|
||||||
|
|
||||||
"请输入手机号或email": "请输入手机号或email",
|
"请输入手机号或email": "请输入手机号或email",
|
||||||
"请输入星寓管理员的账号": "请输入星寓管理员的账号",
|
"请输入星寓管理员的账号": "请输入星寓管理员的账号",
|
||||||
"选中的智能锁将会转移到您输入的账号中,您将失去锁的管理权": "选中的智能锁将会转移到您输入的账号中,您将失去锁的管理权",
|
"选中的智能锁将会转移到您输入的账号中,您将失去锁的管理权": "选中的智能锁将会转移到您输入的账号中,您将失去锁的管理权",
|
||||||
@ -840,14 +803,12 @@
|
|||||||
"进度": "进度",
|
"进度": "进度",
|
||||||
"失败": "失败",
|
"失败": "失败",
|
||||||
"人脸详情": "人脸详情",
|
"人脸详情": "人脸详情",
|
||||||
|
|
||||||
"感应到门前约1.5米有人时,将自动启动面部识别开锁。": "感应到门前约1.5米有人时,将自动启动面部识别开锁。",
|
"感应到门前约1.5米有人时,将自动启动面部识别开锁。": "感应到门前约1.5米有人时,将自动启动面部识别开锁。",
|
||||||
"感应到门前约0.8米有人时,将自动启动面部识别开锁。": "感应到门前约0.8米有人时,将自动启动面部识别开锁。",
|
"感应到门前约0.8米有人时,将自动启动面部识别开锁。": "感应到门前约0.8米有人时,将自动启动面部识别开锁。",
|
||||||
"感应到门前约0.5米有人时,将自动启动面部识别开锁。": "感应到门前约0.5米有人时,将自动启动面部识别开锁。",
|
"感应到门前约0.5米有人时,将自动启动面部识别开锁。": "感应到门前约0.5米有人时,将自动启动面部识别开锁。",
|
||||||
"感应距离已关闭,需手动触摸键盘任意键,进行面部识别开锁。": "感应距离已关闭,需手动触摸键盘任意键,进行面部识别开锁。",
|
"感应距离已关闭,需手动触摸键盘任意键,进行面部识别开锁。": "感应距离已关闭,需手动触摸键盘任意键,进行面部识别开锁。",
|
||||||
"防误开已打开,开锁后": "防误开已打开,开锁后",
|
"防误开已打开,开锁后": "防误开已打开,开锁后",
|
||||||
"秒内不可使用面容开锁": "秒内不可使用面容开锁",
|
"秒内不可使用面容开锁": "秒内不可使用面容开锁",
|
||||||
|
|
||||||
"掌静脉": "掌静脉",
|
"掌静脉": "掌静脉",
|
||||||
"添加掌静脉": "添加掌静脉",
|
"添加掌静脉": "添加掌静脉",
|
||||||
"胁迫掌静脉": "胁迫掌静脉",
|
"胁迫掌静脉": "胁迫掌静脉",
|
||||||
@ -857,7 +818,6 @@
|
|||||||
"掌静脉号": "掌静脉号",
|
"掌静脉号": "掌静脉号",
|
||||||
"蓝牙未打开,请到设置里面打开蓝牙": "蓝牙未打开,请到设置里面打开蓝牙",
|
"蓝牙未打开,请到设置里面打开蓝牙": "蓝牙未打开,请到设置里面打开蓝牙",
|
||||||
"删除用户时,会将用户拥有的钥匙一起删除。": "删除用户时,会将用户拥有的钥匙一起删除。",
|
"删除用户时,会将用户拥有的钥匙一起删除。": "删除用户时,会将用户拥有的钥匙一起删除。",
|
||||||
|
|
||||||
"配置网络": "配置网络",
|
"配置网络": "配置网络",
|
||||||
"你好": "你好",
|
"你好": "你好",
|
||||||
"成功": "成功",
|
"成功": "成功",
|
||||||
@ -1087,5 +1047,39 @@
|
|||||||
"热门城市": "热门城市",
|
"热门城市": "热门城市",
|
||||||
"导出锁数据": "导出锁数据",
|
"导出锁数据": "导出锁数据",
|
||||||
"一键开锁": "一键开锁",
|
"一键开锁": "一键开锁",
|
||||||
"已开通": "已开通"
|
"已开通": "已开通",
|
||||||
|
"繁体中文": "繁体中文",
|
||||||
|
"法语": "法语",
|
||||||
|
"俄语": "俄语",
|
||||||
|
"德语": "德语",
|
||||||
|
"日语": "日语",
|
||||||
|
"韩语": "韩语",
|
||||||
|
"意大利语": "意大利语",
|
||||||
|
"乌克兰语": "乌克兰语",
|
||||||
|
"葡萄牙语": "葡萄牙语",
|
||||||
|
"西班牙语": "西班牙语",
|
||||||
|
"阿拉伯语": "阿拉伯语",
|
||||||
|
"越南语": "越南语",
|
||||||
|
"马莱语": "马莱语",
|
||||||
|
"荷兰语": "荷兰语",
|
||||||
|
"罗马尼亚语": "罗马尼亚语",
|
||||||
|
"立陶宛语": "立陶宛语",
|
||||||
|
"瑞典语": "瑞典语",
|
||||||
|
"爱沙尼亚语": "爱沙尼亚语",
|
||||||
|
"波兰语": "波兰语",
|
||||||
|
"斯洛伐克语": "斯洛伐克语",
|
||||||
|
"捷克语": "捷克语",
|
||||||
|
"希腊语": "希腊语",
|
||||||
|
"希伯来语": "希伯来语",
|
||||||
|
"塞尔维亚语": "塞尔维亚语",
|
||||||
|
"土耳其语": "土耳其语",
|
||||||
|
"匈牙利语": "匈牙利语",
|
||||||
|
"保加利亚语": "保加利亚语",
|
||||||
|
"哈萨克斯坦语": "哈萨克斯坦语",
|
||||||
|
"孟加拉语": "孟加拉语",
|
||||||
|
"克罗地亚语": "克罗地亚语",
|
||||||
|
"泰语": "泰语",
|
||||||
|
"印度尼西亚语": "印度尼西亚语",
|
||||||
|
"芬兰语": "芬兰语",
|
||||||
|
"丹麦语": "丹麦语"
|
||||||
}
|
}
|
||||||
|
|||||||
1085
lan/lan_kk.json
Normal file
1085
lan/lan_kk.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_ko.json
Normal file
1085
lan/lan_ko.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_lt.json
Normal file
1085
lan/lan_lt.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_ms.json
Normal file
1085
lan/lan_ms.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_nl.json
Normal file
1085
lan/lan_nl.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_pl.json
Normal file
1085
lan/lan_pl.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_pt.json
Normal file
1085
lan/lan_pt.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_ro.json
Normal file
1085
lan/lan_ro.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_ru.json
Normal file
1085
lan/lan_ru.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_sk.json
Normal file
1085
lan/lan_sk.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_sv.json
Normal file
1085
lan/lan_sv.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_th.json
Normal file
1085
lan/lan_th.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_tr.json
Normal file
1085
lan/lan_tr.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_tw.json
Normal file
1085
lan/lan_tw.json
Normal file
File diff suppressed because it is too large
Load Diff
1085
lan/lan_vi.json
Normal file
1085
lan/lan_vi.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -26,7 +26,6 @@
|
|||||||
"星期五": "星期五",
|
"星期五": "星期五",
|
||||||
"星期六": "星期六",
|
"星期六": "星期六",
|
||||||
"星期日": "星期日",
|
"星期日": "星期日",
|
||||||
|
|
||||||
"简写周一": "一",
|
"简写周一": "一",
|
||||||
"简写周二": "二",
|
"简写周二": "二",
|
||||||
"简写周三": "三",
|
"简写周三": "三",
|
||||||
@ -34,7 +33,6 @@
|
|||||||
"简写周五": "五",
|
"简写周五": "五",
|
||||||
"简写周六": "六",
|
"简写周六": "六",
|
||||||
"简写周日": "日",
|
"简写周日": "日",
|
||||||
|
|
||||||
"周一": "周一",
|
"周一": "周一",
|
||||||
"周二": "周二",
|
"周二": "周二",
|
||||||
"周三": "周三",
|
"周三": "周三",
|
||||||
@ -42,7 +40,6 @@
|
|||||||
"周五": "周五",
|
"周五": "周五",
|
||||||
"周六": "周六",
|
"周六": "周六",
|
||||||
"周日": "周日",
|
"周日": "周日",
|
||||||
|
|
||||||
"群发钥匙": "群发钥匙",
|
"群发钥匙": "群发钥匙",
|
||||||
"锁": "锁",
|
"锁": "锁",
|
||||||
"请添加": "请添加",
|
"请添加": "请添加",
|
||||||
@ -103,7 +100,6 @@
|
|||||||
"考勤记录": "考勤记录",
|
"考勤记录": "考勤记录",
|
||||||
"未打卡": "未打卡",
|
"未打卡": "未打卡",
|
||||||
"假日信息": "假日信息",
|
"假日信息": "假日信息",
|
||||||
|
|
||||||
"基本信息": "基本信息",
|
"基本信息": "基本信息",
|
||||||
"无线键盘": "无线键盘",
|
"无线键盘": "无线键盘",
|
||||||
"选择无线键盘": "选择无线键盘",
|
"选择无线键盘": "选择无线键盘",
|
||||||
@ -122,7 +118,6 @@
|
|||||||
"微信二维码": "微信二维码",
|
"微信二维码": "微信二维码",
|
||||||
"拥有电子钥匙的人,通过微信扫一扫这个二维码,即可开门。每把锁的二维码都不相同,你可以将其打印出来贴在对应的锁旁边": "拥有电子钥匙的人,通过微信扫一扫这个二维码,即可开门。每把锁的二维码都不相同,你可以将其打印出来贴在对应的锁旁边",
|
"拥有电子钥匙的人,通过微信扫一扫这个二维码,即可开门。每把锁的二维码都不相同,你可以将其打印出来贴在对应的锁旁边": "拥有电子钥匙的人,通过微信扫一扫这个二维码,即可开门。每把锁的二维码都不相同,你可以将其打印出来贴在对应的锁旁边",
|
||||||
"锁编号": "锁编号",
|
"锁编号": "锁编号",
|
||||||
|
|
||||||
"电量": "电量",
|
"电量": "电量",
|
||||||
"锁分组": "锁分组",
|
"锁分组": "锁分组",
|
||||||
"选择分组": "选择分组",
|
"选择分组": "选择分组",
|
||||||
@ -136,7 +131,6 @@
|
|||||||
"附近的设备": "附近的设备",
|
"附近的设备": "附近的设备",
|
||||||
"暂无数据": "暂无数据",
|
"暂无数据": "暂无数据",
|
||||||
"通过门磁可查询门的开、关状态。每把锁咳添加一个门磁": "通过门磁可查询门的开、关状态。每把锁咳添加一个门磁",
|
"通过门磁可查询门的开、关状态。每把锁咳添加一个门磁": "通过门磁可查询门的开、关状态。每把锁咳添加一个门磁",
|
||||||
|
|
||||||
"开始": "开始",
|
"开始": "开始",
|
||||||
"全天": "全天",
|
"全天": "全天",
|
||||||
"你可以设置多个常开时间段,在设置的时间段内,锁被打开后一直处于打开的状态。": "你可以设置多个常开时间段,在设置的时间段内,锁被打开后一直处于打开的状态。",
|
"你可以设置多个常开时间段,在设置的时间段内,锁被打开后一直处于打开的状态。": "你可以设置多个常开时间段,在设置的时间段内,锁被打开后一直处于打开的状态。",
|
||||||
@ -159,9 +153,8 @@
|
|||||||
"升级": "升级",
|
"升级": "升级",
|
||||||
"空闲": "空闲",
|
"空闲": "空闲",
|
||||||
"已入住": "已入住",
|
"已入住": "已入住",
|
||||||
|
|
||||||
"英文": "英文",
|
"英文": "英文",
|
||||||
"中文": "中文",
|
"简体中文": "简体中文",
|
||||||
"多语言": "多语言",
|
"多语言": "多语言",
|
||||||
"添加锁": "添加锁",
|
"添加锁": "添加锁",
|
||||||
"锁地址": "锁地址",
|
"锁地址": "锁地址",
|
||||||
@ -172,7 +165,6 @@
|
|||||||
"客服": "客服",
|
"客服": "客服",
|
||||||
"设置": "设置",
|
"设置": "设置",
|
||||||
"更多设置": "更多设置",
|
"更多设置": "更多设置",
|
||||||
|
|
||||||
"消息推送": "消息推送",
|
"消息推送": "消息推送",
|
||||||
"锁用户管理": "锁用户管理",
|
"锁用户管理": "锁用户管理",
|
||||||
"拥有的钥匙": "拥有的钥匙",
|
"拥有的钥匙": "拥有的钥匙",
|
||||||
@ -201,7 +193,6 @@
|
|||||||
"请输入昵称": "请输入昵称",
|
"请输入昵称": "请输入昵称",
|
||||||
"修改昵称": "修改昵称",
|
"修改昵称": "修改昵称",
|
||||||
"修改账号": "修改账号",
|
"修改账号": "修改账号",
|
||||||
|
|
||||||
"重置密码": "重置密码",
|
"重置密码": "重置密码",
|
||||||
"安全问题": "安全问题",
|
"安全问题": "安全问题",
|
||||||
"为了你的账号安全,修改账号前请先使用验证码验证": "为了你的账号安全,修改账号前请先使用验证码验证",
|
"为了你的账号安全,修改账号前请先使用验证码验证": "为了你的账号安全,修改账号前请先使用验证码验证",
|
||||||
@ -354,7 +345,6 @@
|
|||||||
"判断方法:": "判断方法:",
|
"判断方法:": "判断方法:",
|
||||||
"判断方法内容": "人站在屋外,面向入户门。\n如果门的合页或门轴在左边,则门是左开;\n如果门的合页或门轴在右边,则门是右开。\n如果设置错误,将无法正常开关门。\n建议由安装或维修人员操作。",
|
"判断方法内容": "人站在屋外,面向入户门。\n如果门的合页或门轴在左边,则门是左开;\n如果门的合页或门轴在右边,则门是右开。\n如果设置错误,将无法正常开关门。\n建议由安装或维修人员操作。",
|
||||||
"录像时段": "录像时段",
|
"录像时段": "录像时段",
|
||||||
|
|
||||||
"密码": "密码",
|
"密码": "密码",
|
||||||
"卡": "卡",
|
"卡": "卡",
|
||||||
"指纹": "指纹",
|
"指纹": "指纹",
|
||||||
@ -746,19 +736,25 @@
|
|||||||
"请选择有效日": "请选择有效日",
|
"请选择有效日": "请选择有效日",
|
||||||
"公司名字长度不能小于 6 ": "公司名字长度不能小于 6 ",
|
"公司名字长度不能小于 6 ": "公司名字长度不能小于 6 ",
|
||||||
"已是最新版本": "已是最新版本",
|
"已是最新版本": "已是最新版本",
|
||||||
|
"一":"一",
|
||||||
"无考勤记录": "无考勤记录",
|
"二":"二",
|
||||||
"大家干劲十足": "大家干劲十足",
|
"三":"三",
|
||||||
"工作时长未出炉": "工作时长未出炉",
|
"四":"四",
|
||||||
"国家地区的选择将影响数据安全,你当前选择的是阿尔巴尼亚,请确认后再继续": "国家地区的选择将影响数据安全,你当前选择的是阿尔巴尼亚,请确认后再继续",
|
"五":"五",
|
||||||
"确认国家或地区": "确认国家或地区",
|
"六":"六",
|
||||||
"我知道了": "我知道了",
|
"日":"日",
|
||||||
"新建短信模版": "新建短信模版",
|
"新建短信模版": "新建短信模版",
|
||||||
"新建邮件模版": "新建邮件模版",
|
"新建邮件模版": "新建邮件模版",
|
||||||
"自定义短信模版": "自定义短信模版",
|
"自定义短信模版": "自定义短信模版",
|
||||||
"自定义邮件模版": "自定义邮件模版",
|
"自定义邮件模版": "自定义邮件模版",
|
||||||
"名称": "名称",
|
"名称": "名称",
|
||||||
"星星锁": "星星锁",
|
"星星锁": "星星锁",
|
||||||
|
"无考勤记录": "无考勤记录",
|
||||||
|
"大家干劲十足": "大家干劲十足",
|
||||||
|
"工作时长未出炉": "工作时长未出炉",
|
||||||
|
"国家地区的选择将影响数据安全,你当前选择的是阿尔巴尼亚,请确认后再继续": "国家地区的选择将影响数据安全,你当前选择的是阿尔巴尼亚,请确认后再继续",
|
||||||
|
"确认国家或地区": "确认国家或地区",
|
||||||
|
"我知道了": "我知道了",
|
||||||
"为了让您及时收到重要通知和更新,我们需要获取通知权限。请点击“确定”按钮,然后在设置页面中启用通知权限。": "为了让您及时收到重要通知和更新,我们需要获取通知权限。请点击“确定”按钮,然后在设置页面中启用通知权限。",
|
"为了让您及时收到重要通知和更新,我们需要获取通知权限。请点击“确定”按钮,然后在设置页面中启用通知权限。": "为了让您及时收到重要通知和更新,我们需要获取通知权限。请点击“确定”按钮,然后在设置页面中启用通知权限。",
|
||||||
"开启后,可通过长按锁上的设置键重新上电,用APP重新添加": "开启后,可通过长按锁上的设置键重新上电,用APP重新添加",
|
"开启后,可通过长按锁上的设置键重新上电,用APP重新添加": "开启后,可通过长按锁上的设置键重新上电,用APP重新添加",
|
||||||
"已有": "已有",
|
"已有": "已有",
|
||||||
@ -774,7 +770,6 @@
|
|||||||
"个人用户": "个人用户",
|
"个人用户": "个人用户",
|
||||||
"星寓": "星寓",
|
"星寓": "星寓",
|
||||||
"账号": "账号",
|
"账号": "账号",
|
||||||
|
|
||||||
"请输入手机号或email": "请输入手机号或email",
|
"请输入手机号或email": "请输入手机号或email",
|
||||||
"请输入星寓管理员的账号": "请输入星寓管理员的账号",
|
"请输入星寓管理员的账号": "请输入星寓管理员的账号",
|
||||||
"选中的智能锁将会转移到您输入的账号中,您将失去锁的管理权": "选中的智能锁将会转移到您输入的账号中,您将失去锁的管理权",
|
"选中的智能锁将会转移到您输入的账号中,您将失去锁的管理权": "选中的智能锁将会转移到您输入的账号中,您将失去锁的管理权",
|
||||||
@ -808,14 +803,12 @@
|
|||||||
"进度": "进度",
|
"进度": "进度",
|
||||||
"失败": "失败",
|
"失败": "失败",
|
||||||
"人脸详情": "人脸详情",
|
"人脸详情": "人脸详情",
|
||||||
|
|
||||||
"感应到门前约1.5米有人时,将自动启动面部识别开锁。": "感应到门前约1.5米有人时,将自动启动面部识别开锁。",
|
"感应到门前约1.5米有人时,将自动启动面部识别开锁。": "感应到门前约1.5米有人时,将自动启动面部识别开锁。",
|
||||||
"感应到门前约0.8米有人时,将自动启动面部识别开锁。": "感应到门前约0.8米有人时,将自动启动面部识别开锁。",
|
"感应到门前约0.8米有人时,将自动启动面部识别开锁。": "感应到门前约0.8米有人时,将自动启动面部识别开锁。",
|
||||||
"感应到门前约0.5米有人时,将自动启动面部识别开锁。": "感应到门前约0.5米有人时,将自动启动面部识别开锁。",
|
"感应到门前约0.5米有人时,将自动启动面部识别开锁。": "感应到门前约0.5米有人时,将自动启动面部识别开锁。",
|
||||||
"感应距离已关闭,需手动触摸键盘任意键,进行面部识别开锁。": "感应距离已关闭,需手动触摸键盘任意键,进行面部识别开锁。",
|
"感应距离已关闭,需手动触摸键盘任意键,进行面部识别开锁。": "感应距离已关闭,需手动触摸键盘任意键,进行面部识别开锁。",
|
||||||
"防误开已打开,开锁后": "防误开已打开,开锁后",
|
"防误开已打开,开锁后": "防误开已打开,开锁后",
|
||||||
"秒内不可使用面容开锁": "秒内不可使用面容开锁",
|
"秒内不可使用面容开锁": "秒内不可使用面容开锁",
|
||||||
|
|
||||||
"掌静脉": "掌静脉",
|
"掌静脉": "掌静脉",
|
||||||
"添加掌静脉": "添加掌静脉",
|
"添加掌静脉": "添加掌静脉",
|
||||||
"胁迫掌静脉": "胁迫掌静脉",
|
"胁迫掌静脉": "胁迫掌静脉",
|
||||||
@ -825,7 +818,6 @@
|
|||||||
"掌静脉号": "掌静脉号",
|
"掌静脉号": "掌静脉号",
|
||||||
"蓝牙未打开,请到设置里面打开蓝牙": "蓝牙未打开,请到设置里面打开蓝牙",
|
"蓝牙未打开,请到设置里面打开蓝牙": "蓝牙未打开,请到设置里面打开蓝牙",
|
||||||
"删除用户时,会将用户拥有的钥匙一起删除。": "删除用户时,会将用户拥有的钥匙一起删除。",
|
"删除用户时,会将用户拥有的钥匙一起删除。": "删除用户时,会将用户拥有的钥匙一起删除。",
|
||||||
|
|
||||||
"配置网络": "配置网络",
|
"配置网络": "配置网络",
|
||||||
"你好": "你好",
|
"你好": "你好",
|
||||||
"成功": "成功",
|
"成功": "成功",
|
||||||
@ -1055,6 +1047,39 @@
|
|||||||
"热门城市": "热门城市",
|
"热门城市": "热门城市",
|
||||||
"导出锁数据": "导出锁数据",
|
"导出锁数据": "导出锁数据",
|
||||||
"一键开锁": "一键开锁",
|
"一键开锁": "一键开锁",
|
||||||
"已开通": "已开通"
|
"已开通": "已开通",
|
||||||
|
"繁体中文": "繁体中文",
|
||||||
|
"法语": "法语",
|
||||||
|
"俄语": "俄语",
|
||||||
|
"德语": "德语",
|
||||||
|
"日语": "日语",
|
||||||
|
"韩语": "韩语",
|
||||||
|
"意大利语": "意大利语",
|
||||||
|
"乌克兰语": "乌克兰语",
|
||||||
|
"葡萄牙语": "葡萄牙语",
|
||||||
|
"西班牙语": "西班牙语",
|
||||||
|
"阿拉伯语": "阿拉伯语",
|
||||||
|
"越南语": "越南语",
|
||||||
|
"马莱语": "马莱语",
|
||||||
|
"荷兰语": "荷兰语",
|
||||||
|
"罗马尼亚语": "罗马尼亚语",
|
||||||
|
"立陶宛语": "立陶宛语",
|
||||||
|
"瑞典语": "瑞典语",
|
||||||
|
"爱沙尼亚语": "爱沙尼亚语",
|
||||||
|
"波兰语": "波兰语",
|
||||||
|
"斯洛伐克语": "斯洛伐克语",
|
||||||
|
"捷克语": "捷克语",
|
||||||
|
"希腊语": "希腊语",
|
||||||
|
"希伯来语": "希伯来语",
|
||||||
|
"塞尔维亚语": "塞尔维亚语",
|
||||||
|
"土耳其语": "土耳其语",
|
||||||
|
"匈牙利语": "匈牙利语",
|
||||||
|
"保加利亚语": "保加利亚语",
|
||||||
|
"哈萨克斯坦语": "哈萨克斯坦语",
|
||||||
|
"孟加拉语": "孟加拉语",
|
||||||
|
"克罗地亚语": "克罗地亚语",
|
||||||
|
"泰语": "泰语",
|
||||||
|
"印度尼西亚语": "印度尼西亚语",
|
||||||
|
"芬兰语": "芬兰语",
|
||||||
|
"丹麦语": "丹麦语"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -71,7 +71,7 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver, BaseWidget {
|
|||||||
if (idx != -1) {
|
if (idx != -1) {
|
||||||
locale = appSupportedLocales[idx];
|
locale = appSupportedLocales[idx];
|
||||||
} else {
|
} else {
|
||||||
locale = const Locale('zh', 'CN');
|
locale = Get.locale;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
AppManager().setLanCode(
|
AppManager().setLanCode(
|
||||||
@ -86,7 +86,7 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver, BaseWidget {
|
|||||||
.first
|
.first
|
||||||
: Get.deviceLocale,
|
: Get.deviceLocale,
|
||||||
// locale: Get.deviceLocale,
|
// locale: Get.deviceLocale,
|
||||||
fallbackLocale: const Locale('zh', 'CN'),
|
fallbackLocale: Get.locale,
|
||||||
theme: ThemeData(
|
theme: ThemeData(
|
||||||
scaffoldBackgroundColor: const Color(0xFFF6F6F6),
|
scaffoldBackgroundColor: const Color(0xFFF6F6F6),
|
||||||
backgroundColor: const Color(0xFFF6F6F6),
|
backgroundColor: const Color(0xFFF6F6F6),
|
||||||
|
|||||||
@ -65,11 +65,7 @@ FutureOr<void> main() async {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 设置国际化信息
|
// 设置国际化信息
|
||||||
Future<void> _initTranslation() async => TranslationLoader.loadTranslation(
|
Future<void> _initTranslation() async => TranslationLoader.loadTranslation();
|
||||||
zhSource: 'lan/lan_zh.json',
|
|
||||||
enSource: 'lan/lan_en.json',
|
|
||||||
keySource: 'lan/lan_keys.json',
|
|
||||||
);
|
|
||||||
|
|
||||||
// 设置包名服务设备信息
|
// 设置包名服务设备信息
|
||||||
Future<void> _setCommonServices() async {
|
Future<void> _setCommonServices() async {
|
||||||
|
|||||||
@ -90,10 +90,12 @@ class LockDetailLogic extends BaseGetXController {
|
|||||||
|
|
||||||
// 开锁成功上报
|
// 开锁成功上报
|
||||||
lockReportLockSuccessfullyUploadData();
|
lockReportLockSuccessfullyUploadData();
|
||||||
//锁数据更新
|
|
||||||
// getLockRecordLastUploadDataTime();
|
|
||||||
resetOpenDoorState();
|
resetOpenDoorState();
|
||||||
state.animationController!.stop();
|
state.animationController!.stop();
|
||||||
|
|
||||||
|
//锁数据更新
|
||||||
|
// getLockRecordLastUploadDataTime();
|
||||||
break;
|
break;
|
||||||
case 0x06:
|
case 0x06:
|
||||||
//无权限
|
//无权限
|
||||||
|
|||||||
@ -258,7 +258,7 @@ class _RealTimePicturePageState extends State<RealTimePicturePage> with TickerPr
|
|||||||
*/
|
*/
|
||||||
})),
|
})),
|
||||||
bottomBtnItemWidget(
|
bottomBtnItemWidget(
|
||||||
'images/main/icon_lockDetail_hangUp.png', '挂断', Colors.red, () async {
|
'images/main/icon_lockDetail_hangUp.png', '挂断'.tr, Colors.red, () async {
|
||||||
// 挂断
|
// 挂断
|
||||||
logic.udpHangUpAction();
|
logic.udpHangUpAction();
|
||||||
CallTalk().finishAVData();
|
CallTalk().finishAVData();
|
||||||
|
|||||||
@ -165,7 +165,7 @@ class _AboutPageState extends State<AboutPage> {
|
|||||||
endIndent: 20.w,
|
endIndent: 20.w,
|
||||||
),
|
),
|
||||||
CommonItem(
|
CommonItem(
|
||||||
leftTitel:"".tr,
|
leftTitel:'第三方信息共享清单'.tr,
|
||||||
rightTitle: '',
|
rightTitle: '',
|
||||||
isHaveLine: false,
|
isHaveLine: false,
|
||||||
isHaveDirection: true,
|
isHaveDirection: true,
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
|
|
||||||
import 'dart:ui';
|
import 'dart:ui';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
import 'package:star_lock/app_settings/app_settings.dart';
|
||||||
import 'package:star_lock/tools/baseGetXController.dart';
|
import 'package:star_lock/tools/baseGetXController.dart';
|
||||||
import '../../main/lockDetail/passwordKey/passwordKeyList/passwordKeyListEntity.dart';
|
import '../../main/lockDetail/passwordKey/passwordKeyList/passwordKeyListEntity.dart';
|
||||||
import '../../network/api_repository.dart';
|
import '../../network/api_repository.dart';
|
||||||
@ -10,19 +11,21 @@ import 'mineMultiLanguage_state.dart';
|
|||||||
class MineMultiLanguageLogic extends GetxController {
|
class MineMultiLanguageLogic extends GetxController {
|
||||||
final MineMultiLanguageState state = MineMultiLanguageState();
|
final MineMultiLanguageState state = MineMultiLanguageState();
|
||||||
|
|
||||||
//更新个人信息-头像
|
//更新个人信息
|
||||||
Future<void> updateUserLangInfo(Locale l, String lanTypeTitle) async {
|
Future<void> updateUserLangInfo(Locale l) async {
|
||||||
|
// AppLog.log('lanTypeTitle: $lanTypeTitle');
|
||||||
|
|
||||||
final String lang = l.toLanguageTag();
|
final String lang = l.toLanguageTag();
|
||||||
final PasswordKeyListEntity entity = await ApiRepository.to.updateUserLangInfo(lang: lang);
|
final PasswordKeyListEntity entity = await ApiRepository.to.updateUserLangInfo(lang: lang);
|
||||||
if (entity.errorCode!.codeIsSuccessful) {
|
if (entity.errorCode!.codeIsSuccessful) {
|
||||||
eventBus.fire(ChangeLanguageBlockLastLanguageEvent(lanTypeTitle));
|
await changeLanguage(l);
|
||||||
changeLanguage(l);
|
eventBus.fire(ChangeLanguageBlockLastLanguageEvent());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void changeLanguage(Locale l) {
|
Future<void> changeLanguage(Locale l) async {
|
||||||
if(l == Get.locale)return;
|
if(l == Get.locale)return;
|
||||||
Get.updateLocale(l);
|
await Get.updateLocale(l);
|
||||||
state.resetLan();
|
state.resetLan();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -6,7 +6,6 @@ import 'package:star_lock/mine/mineMultiLanguage/mineMultiLanguage_state.dart';
|
|||||||
|
|
||||||
import '../../app_settings/app_colors.dart';
|
import '../../app_settings/app_colors.dart';
|
||||||
import '../../tools/commonItem.dart';
|
import '../../tools/commonItem.dart';
|
||||||
import '../../tools/eventBusEventManage.dart';
|
|
||||||
import '../../tools/titleAppBar.dart';
|
import '../../tools/titleAppBar.dart';
|
||||||
import '../../translations/app_dept.dart';
|
import '../../translations/app_dept.dart';
|
||||||
import 'mineMultiLanguage_logic.dart';
|
import 'mineMultiLanguage_logic.dart';
|
||||||
@ -30,9 +29,9 @@ class _MineMultiLanguagePageState extends State<MineMultiLanguagePage> {
|
|||||||
barTitle: '多语言'.tr,
|
barTitle: '多语言'.tr,
|
||||||
haveBack: true,
|
haveBack: true,
|
||||||
backgroundColor: AppColors.mainColor),
|
backgroundColor: AppColors.mainColor),
|
||||||
body: Column(
|
body: ListView(
|
||||||
mainAxisAlignment: MainAxisAlignment.start,
|
// mainAxisAlignment: MainAxisAlignment.start,
|
||||||
mainAxisSize: MainAxisSize.min,
|
// mainAxisSize: MainAxisSize.min,
|
||||||
children: _children(),
|
children: _children(),
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -54,7 +53,8 @@ class _MineMultiLanguagePageState extends State<MineMultiLanguagePage> {
|
|||||||
// );
|
// );
|
||||||
for (int i = 0; i < state.languages.length; i++) {
|
for (int i = 0; i < state.languages.length; i++) {
|
||||||
final Locale e = state.languages[i];
|
final Locale e = state.languages[i];
|
||||||
final LanguageType lanType = ExtensionLanguageType.fromLanguageCode(e.languageCode);
|
final LanguageType lanType = ExtensionLanguageType.fromLocale(e);
|
||||||
|
// AppLog.log('e:$e lanType:$lanType state.currentLanguageType.value:${state.currentLanguageType.value} Get.locale!.languageCode:${Get.locale!.languageCode} Get.locale!.countryCode:${Get.locale!.countryCode}');
|
||||||
l.add(
|
l.add(
|
||||||
CommonItem(
|
CommonItem(
|
||||||
leftTitel: lanType.lanTitle,
|
leftTitel: lanType.lanTitle,
|
||||||
@ -71,7 +71,7 @@ class _MineMultiLanguagePageState extends State<MineMultiLanguagePage> {
|
|||||||
)
|
)
|
||||||
: Container()),
|
: Container()),
|
||||||
action: () {
|
action: () {
|
||||||
logic.updateUserLangInfo(e, lanType.lanTitle);
|
logic.updateUserLangInfo(e);
|
||||||
// eventBus.fire(ChangeLanguageBlockLastLanguageEvent(lanType.lanTitle));
|
// eventBus.fire(ChangeLanguageBlockLastLanguageEvent(lanType.lanTitle));
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|||||||
@ -16,11 +16,11 @@ class MineMultiLanguageState {
|
|||||||
return appDept.deptSupportedLocales;
|
return appDept.deptSupportedLocales;
|
||||||
}
|
}
|
||||||
|
|
||||||
var currentLanguageType = ExtensionLanguageType.fromLanguageCode(Get.locale!.languageCode).obs;
|
var currentLanguageType = ExtensionLanguageType.fromLocale(Get.locale!).obs;
|
||||||
|
|
||||||
void resetLan() {
|
Future<void> resetLan() async {
|
||||||
currentLanguageType.value = ExtensionLanguageType.fromLanguageCode(Get.locale!.languageCode);
|
currentLanguageType.value = ExtensionLanguageType.fromLocale(Get.locale!);
|
||||||
AppLog.log("currentLanguageType.value:${currentLanguageType.value}");
|
// AppLog.log('currentLanguageType.value:${currentLanguageType.value} Get.locale!.languageCode:${Get.locale!.languageCode} languages:$languages');
|
||||||
StoreService.to.saveLanguageCode(Get.locale!.languageCode);
|
await StoreService.to.saveLanguageCode(Get.locale!.languageCode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -16,10 +16,12 @@ import 'package:star_lock/versionUndate/versionUndate_entity.dart';
|
|||||||
|
|
||||||
import '../../../../network/api_repository.dart';
|
import '../../../../network/api_repository.dart';
|
||||||
import '../../../../tools/baseGetXController.dart';
|
import '../../../../tools/baseGetXController.dart';
|
||||||
|
import '../../../app_settings/app_settings.dart';
|
||||||
import '../../../blue/blue_manage.dart';
|
import '../../../blue/blue_manage.dart';
|
||||||
import '../../../talk/udp/udp_help.dart';
|
import '../../../talk/udp/udp_help.dart';
|
||||||
import '../../../tools/eventBusEventManage.dart';
|
import '../../../tools/eventBusEventManage.dart';
|
||||||
import '../../../tools/store_service.dart';
|
import '../../../tools/store_service.dart';
|
||||||
|
import '../../../translations/app_dept.dart';
|
||||||
|
|
||||||
class MineSetLogic extends BaseGetXController {
|
class MineSetLogic extends BaseGetXController {
|
||||||
final MineSetState state = MineSetState();
|
final MineSetState state = MineSetState();
|
||||||
@ -139,16 +141,23 @@ class MineSetLogic extends BaseGetXController {
|
|||||||
StreamSubscription? _getNumberEvent;
|
StreamSubscription? _getNumberEvent;
|
||||||
void _initLoadDataAction() {
|
void _initLoadDataAction() {
|
||||||
// 蓝牙协议通知传输跟蓝牙之外的数据传输类不一样 eventBus
|
// 蓝牙协议通知传输跟蓝牙之外的数据传输类不一样 eventBus
|
||||||
_getNumberEvent =
|
_getNumberEvent = eventBus.on<ChangeLanguageBlockLastLanguageEvent>().listen((event) {
|
||||||
eventBus.on<ChangeLanguageBlockLastLanguageEvent>().listen((event) {
|
state.currentLanguage.value = _getCurrentLanguage();
|
||||||
state.currentLanguage.value = event.languageTitle;
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String _getCurrentLanguage() {
|
||||||
|
String currentLanguage = ExtensionLanguageType.fromLocale(appDept.deptSupportedLocales.where((Locale element) =>
|
||||||
|
element.languageCode == StoreService.to.getLanguageCode()).first).lanTitle;
|
||||||
|
// AppLog.log('currentLanguagecurrentLanguage:$currentLanguage StoreService.to.getLanguageCode():${StoreService.to.getLanguageCode()}');
|
||||||
|
return currentLanguage ??'';
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void onReady() {
|
void onReady() {
|
||||||
super.onReady();
|
super.onReady();
|
||||||
|
|
||||||
|
state.currentLanguage.value = _getCurrentLanguage();
|
||||||
_initLoadDataAction();
|
_initLoadDataAction();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -15,7 +15,7 @@ class MineSetState {
|
|||||||
|
|
||||||
RxInt lockScreen = 2.obs; //锁屏
|
RxInt lockScreen = 2.obs; //锁屏
|
||||||
RxInt hideExpiredAccessFlag = 2.obs; //隐藏无效开锁
|
RxInt hideExpiredAccessFlag = 2.obs; //隐藏无效开锁
|
||||||
RxString currentLanguage = "".obs; //隐藏无效开锁
|
RxString currentLanguage = ''.obs; //隐藏无效开锁
|
||||||
|
|
||||||
late FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
|
late FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
|
||||||
FlutterLocalNotificationsPlugin();
|
FlutterLocalNotificationsPlugin();
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
|
import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
|
||||||
@ -88,7 +87,7 @@ class _ValueAddedServicesHighFunctionPageState
|
|||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
SizedBox(height: 20.h),
|
SizedBox(height: 20.h),
|
||||||
Text(
|
Text(
|
||||||
'当前状态:已开通'.tr,
|
'${'当前状态'.tr}:${"已开通".tr}',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 24.sp, fontWeight: FontWeight.w600),
|
fontSize: 24.sp, fontWeight: FontWeight.w600),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -39,6 +39,6 @@ String getLanguageCode() {
|
|||||||
.where((Locale element) =>
|
.where((Locale element) =>
|
||||||
element.languageCode == StoreService.to.getLanguageCode())
|
element.languageCode == StoreService.to.getLanguageCode())
|
||||||
.first
|
.first
|
||||||
: const Locale('zh', 'CN');// Get.deviceLocale;
|
: Get.locale!;// Get.deviceLocale;
|
||||||
return locale.toLanguageTag();
|
return locale.toLanguageTag();
|
||||||
}
|
}
|
||||||
@ -5,6 +5,6 @@ import 'package:star_lock/app_settings/app_settings.dart';
|
|||||||
|
|
||||||
FutureOr<Request> requestLogInterceptor(Request request) async {
|
FutureOr<Request> requestLogInterceptor(Request request) async {
|
||||||
// AppLog.log('GET HTTP REQUEST \n${request.url} \n${request.headers} ${request.toString()} ');
|
// AppLog.log('GET HTTP REQUEST \n${request.url} \n${request.headers} ${request.toString()} ');
|
||||||
// AppLog.log('请求头:${request.headers.toString()}');
|
AppLog.log('请求头:${request.headers.toString()}');
|
||||||
return request;
|
return request;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -69,9 +69,7 @@ class ChickInAddStaffCardAndFingerprintBlockNumberEvent {
|
|||||||
|
|
||||||
/// 多语言 切换之后传值到上一级界面
|
/// 多语言 切换之后传值到上一级界面
|
||||||
class ChangeLanguageBlockLastLanguageEvent {
|
class ChangeLanguageBlockLastLanguageEvent {
|
||||||
ChangeLanguageBlockLastLanguageEvent(this.languageTitle);
|
ChangeLanguageBlockLastLanguageEvent();
|
||||||
|
|
||||||
String languageTitle;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 锁分组添加或者删除锁之后刷新首页数据
|
/// 锁分组添加或者删除锁之后刷新首页数据
|
||||||
|
|||||||
@ -8,25 +8,57 @@ import 'package:star_lock/translations/trans_lib.dart';
|
|||||||
import '../tools/app_manager.dart';
|
import '../tools/app_manager.dart';
|
||||||
|
|
||||||
enum AppDept {
|
enum AppDept {
|
||||||
cdl,
|
starLock,
|
||||||
}
|
}
|
||||||
|
|
||||||
extension ExtensionAppDept on AppDept {
|
extension ExtensionAppDept on AppDept {
|
||||||
|
|
||||||
static AppDept fromAppPackageName(String packageName) {
|
static AppDept fromAppPackageName(String packageName) {
|
||||||
AppDept dept = AppDept.cdl;
|
AppDept dept = AppDept.starLock;
|
||||||
packageName = packageName.toLowerCase();
|
packageName = packageName.toLowerCase();
|
||||||
if(packageName.contains('cdl')){
|
if(packageName.contains('starLock')){
|
||||||
dept = AppDept.cdl;
|
dept = AppDept.starLock;
|
||||||
}
|
}
|
||||||
return dept;
|
return dept;
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Locale> get deptSupportedLocales {
|
List<Locale> get deptSupportedLocales {
|
||||||
Locale enL = const Locale('en', 'US');
|
const Locale enL = Locale('en', 'US');
|
||||||
Locale zhL = const Locale('zh', 'CN');
|
const Locale zhL = Locale('zh', 'CN');
|
||||||
|
const Locale twL = Locale('zh', 'TW');
|
||||||
|
const Locale frL = Locale('fr', 'FR');
|
||||||
|
const Locale ruL = Locale('ru', 'RU');
|
||||||
|
const Locale deL = Locale('de', 'DE');
|
||||||
|
const Locale jaL = Locale('ja', 'JP');
|
||||||
|
const Locale koL = Locale('ko', 'KR');
|
||||||
|
const Locale itL = Locale('it', 'IT');
|
||||||
|
const Locale ptL = Locale('pt', 'PT');
|
||||||
|
const Locale esL = Locale('es', 'ES');
|
||||||
|
const Locale arL = Locale('ar', 'SA');
|
||||||
|
const Locale viL = Locale('vi', 'VN');
|
||||||
|
const Locale msL = Locale('ms', 'MY');
|
||||||
|
const Locale nlL = Locale('nl', 'NL');
|
||||||
|
const Locale roL = Locale('ro', 'RO');
|
||||||
|
const Locale ltL = Locale('lt', 'LT');
|
||||||
|
const Locale svL = Locale('sv', 'SE');
|
||||||
|
const Locale etL = Locale('et', 'EE');
|
||||||
|
const Locale plL = Locale('pl', 'PL');
|
||||||
|
const Locale skL = Locale('sk', 'SK');
|
||||||
|
const Locale csL = Locale('cs', 'CZ');
|
||||||
|
const Locale elL = Locale('el', 'GR');
|
||||||
|
const Locale heL = Locale('he', 'IL');
|
||||||
|
const Locale trL = Locale('tr', 'TR');
|
||||||
|
const Locale huL = Locale('hu', 'HU');
|
||||||
|
const Locale bgL = Locale('bg', 'BG');
|
||||||
|
const Locale kkL = Locale('kk', 'KZ');
|
||||||
|
const Locale bnL = Locale('bn', 'BD');
|
||||||
|
const Locale hbsL = Locale('hr', 'BA');
|
||||||
|
const Locale thL = Locale('th', 'TH');
|
||||||
|
const Locale idL = Locale('id', 'ID');
|
||||||
|
const Locale fiL = Locale('fi', 'FI');
|
||||||
|
const Locale daL = Locale('da', 'DK');
|
||||||
|
|
||||||
return [enL,zhL];
|
return [enL,zhL,twL,frL,ruL,deL,jaL,koL,itL,ptL,esL,arL,viL,msL,nlL,roL,ltL,svL,etL,plL,skL,csL,elL,heL,trL,huL,bgL,kkL,bnL,hbsL,thL,idL,fiL,daL];
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -38,13 +70,75 @@ final List<Locale> appSupportedLocales = appDept.deptSupportedLocales;
|
|||||||
enum LanguageType {
|
enum LanguageType {
|
||||||
chinese,
|
chinese,
|
||||||
english,
|
english,
|
||||||
deutsch, // 德语
|
// 繁体中文
|
||||||
francais, // 法语
|
traditionalChinese,
|
||||||
italiano, // 意大利
|
// 法语
|
||||||
dutch, // 荷兰语
|
french,
|
||||||
spanish, // 西班牙
|
// 俄语
|
||||||
czech, // 捷克语
|
russian,
|
||||||
slovak // 斯洛伐克语
|
// 德语
|
||||||
|
german,
|
||||||
|
// 日语
|
||||||
|
japanese,
|
||||||
|
// 韩语
|
||||||
|
korean,
|
||||||
|
// 意大利语
|
||||||
|
italian,
|
||||||
|
// 乌克兰语
|
||||||
|
// ukrainian,
|
||||||
|
// 葡萄牙语
|
||||||
|
portuguese,
|
||||||
|
// 西班牙语
|
||||||
|
spanish,
|
||||||
|
// 阿拉伯语
|
||||||
|
arabic,
|
||||||
|
// 越南语
|
||||||
|
vietnamese,
|
||||||
|
// 马莱语
|
||||||
|
malay,
|
||||||
|
// 荷兰语
|
||||||
|
dutch,
|
||||||
|
// 罗马尼亚语
|
||||||
|
romanian,
|
||||||
|
// 立陶宛语
|
||||||
|
lithuanian,
|
||||||
|
// 瑞典语
|
||||||
|
swedish,
|
||||||
|
// 爱沙尼亚语
|
||||||
|
estonian,
|
||||||
|
// 波兰语
|
||||||
|
polish,
|
||||||
|
// 斯洛伐克语
|
||||||
|
slovak,
|
||||||
|
// 捷克语
|
||||||
|
czech,
|
||||||
|
// 希腊语
|
||||||
|
greek,
|
||||||
|
// 希伯来语
|
||||||
|
hebrew,
|
||||||
|
// 塞尔维亚文
|
||||||
|
// serbian,
|
||||||
|
// 土耳其语
|
||||||
|
turkish,
|
||||||
|
// 匈牙利语
|
||||||
|
hungarian,
|
||||||
|
// 保加利亚语
|
||||||
|
bulgarian,
|
||||||
|
// 哈萨克斯坦语
|
||||||
|
kazakh,
|
||||||
|
// 孟加拉语
|
||||||
|
bengali,
|
||||||
|
// 克罗地亚语
|
||||||
|
croatian,
|
||||||
|
// 泰语
|
||||||
|
thai,
|
||||||
|
// 印度尼西亚语
|
||||||
|
indonesian,
|
||||||
|
// 芬兰语
|
||||||
|
finnish,
|
||||||
|
// 丹麦语
|
||||||
|
danish,
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extension ExtensionLanguageType on LanguageType {
|
extension ExtensionLanguageType on LanguageType {
|
||||||
@ -55,25 +149,344 @@ extension ExtensionLanguageType on LanguageType {
|
|||||||
str = '英文'.tr;
|
str = '英文'.tr;
|
||||||
break;
|
break;
|
||||||
case LanguageType.chinese:
|
case LanguageType.chinese:
|
||||||
str = '中文'.tr;
|
str = '简体中文'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.traditionalChinese:
|
||||||
|
str = '繁体中文'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.french:
|
||||||
|
str = '法语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.russian:
|
||||||
|
str = '俄语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.german:
|
||||||
|
str = '德语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.japanese:
|
||||||
|
str = '日语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.korean:
|
||||||
|
str = '韩语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.italian:
|
||||||
|
str = '意大利语'.tr;
|
||||||
|
break;
|
||||||
|
// case LanguageType.ukrainian:
|
||||||
|
// str = '乌克兰语'.tr;
|
||||||
|
// break;
|
||||||
|
case LanguageType.portuguese:
|
||||||
|
str = '葡萄牙语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.spanish:
|
||||||
|
str = '西班牙语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.arabic:
|
||||||
|
str = '阿拉伯语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.vietnamese:
|
||||||
|
str = '越南语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.malay:
|
||||||
|
str = '马莱语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.dutch:
|
||||||
|
str = '荷兰语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.romanian:
|
||||||
|
str = '罗马尼亚语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.lithuanian:
|
||||||
|
str = '立陶宛语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.swedish:
|
||||||
|
str = '瑞典语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.estonian:
|
||||||
|
str = '爱沙尼亚语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.polish:
|
||||||
|
str = '波兰语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.slovak:
|
||||||
|
str = '斯洛伐克语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.czech:
|
||||||
|
str = '捷克语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.greek:
|
||||||
|
str = '希腊语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.hebrew:
|
||||||
|
str = '希伯来语'.tr;
|
||||||
|
break;
|
||||||
|
// case LanguageType.serbian:
|
||||||
|
// str = '塞尔维亚文'.tr;
|
||||||
|
// break;
|
||||||
|
case LanguageType.turkish:
|
||||||
|
str = '土耳其语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.hungarian:
|
||||||
|
str = '匈牙利语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.bulgarian:
|
||||||
|
str = '保加利亚语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.kazakh:
|
||||||
|
str = '哈萨克斯坦语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.bengali:
|
||||||
|
str = '孟加拉语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.croatian:
|
||||||
|
str = '克罗地亚语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.thai:
|
||||||
|
str = '泰语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.indonesian:
|
||||||
|
str = '印度尼西亚语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.finnish:
|
||||||
|
str = '芬兰语'.tr;
|
||||||
|
break;
|
||||||
|
case LanguageType.danish:
|
||||||
|
str = '丹麦语'.tr;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
static LanguageType fromLanguageCode(String code) {
|
// static LanguageType fromLanguageCode(String code) {
|
||||||
|
// LanguageType languageType = LanguageType.english;
|
||||||
|
// switch(code.toLowerCase()){
|
||||||
|
// case 'en':
|
||||||
|
// languageType = LanguageType.english;
|
||||||
|
// break;
|
||||||
|
// case 'zh':
|
||||||
|
// languageType = LanguageType.chinese;
|
||||||
|
// break;
|
||||||
|
// case 'tw':
|
||||||
|
// languageType = LanguageType.traditionalChinese;
|
||||||
|
// break;
|
||||||
|
// case 'fr':
|
||||||
|
// languageType = LanguageType.french;
|
||||||
|
// break;
|
||||||
|
// case 'ru':
|
||||||
|
// languageType = LanguageType.russian;
|
||||||
|
// break;
|
||||||
|
// case 'de':
|
||||||
|
// languageType = LanguageType.german;
|
||||||
|
// break;
|
||||||
|
// case 'ja':
|
||||||
|
// languageType = LanguageType.japanese;
|
||||||
|
// break;
|
||||||
|
// case 'ko':
|
||||||
|
// languageType = LanguageType.korean;
|
||||||
|
// break;
|
||||||
|
// case 'it':
|
||||||
|
// languageType = LanguageType.italian;
|
||||||
|
// break;
|
||||||
|
// // case 'uk':
|
||||||
|
// // languageType = LanguageType.ukrainian;
|
||||||
|
// // break;
|
||||||
|
// case 'pt':
|
||||||
|
// languageType = LanguageType.portuguese;
|
||||||
|
// break;
|
||||||
|
// case 'es':
|
||||||
|
// languageType = LanguageType.spanish;
|
||||||
|
// break;
|
||||||
|
// case 'ar':
|
||||||
|
// languageType = LanguageType.arabic;
|
||||||
|
// break;
|
||||||
|
// case 'vi':
|
||||||
|
// languageType = LanguageType.vietnamese;
|
||||||
|
// break;
|
||||||
|
// case 'ms':
|
||||||
|
// languageType = LanguageType.malay;
|
||||||
|
// break;
|
||||||
|
// case 'nl':
|
||||||
|
// languageType = LanguageType.dutch;
|
||||||
|
// break;
|
||||||
|
// case 'ro':
|
||||||
|
// languageType = LanguageType.romanian;
|
||||||
|
// break;
|
||||||
|
// case 'lt':
|
||||||
|
// languageType = LanguageType.lithuanian;
|
||||||
|
// break;
|
||||||
|
// case 'sv':
|
||||||
|
// languageType = LanguageType.swedish;
|
||||||
|
// break;
|
||||||
|
// case 'et':
|
||||||
|
// languageType = LanguageType.estonian;
|
||||||
|
// break;
|
||||||
|
// case 'pl':
|
||||||
|
// languageType = LanguageType.polish;
|
||||||
|
// break;
|
||||||
|
// case 'sk':
|
||||||
|
// languageType = LanguageType.slovak;
|
||||||
|
// break;
|
||||||
|
// case 'cs':
|
||||||
|
// languageType = LanguageType.czech;
|
||||||
|
// break;
|
||||||
|
// case 'el':
|
||||||
|
// languageType = LanguageType.greek;
|
||||||
|
// break;
|
||||||
|
// case 'he':
|
||||||
|
// languageType = LanguageType.hebrew;
|
||||||
|
// break;
|
||||||
|
// // case 'sr':
|
||||||
|
// // languageType = LanguageType.serbian;
|
||||||
|
// // break;
|
||||||
|
// case 'tr':
|
||||||
|
// languageType = LanguageType.turkish;
|
||||||
|
// break;
|
||||||
|
// case 'hu':
|
||||||
|
// languageType = LanguageType.hungarian;
|
||||||
|
// break;
|
||||||
|
// case 'bg':
|
||||||
|
// languageType = LanguageType.bulgarian;
|
||||||
|
// break;
|
||||||
|
// case 'kk':
|
||||||
|
// languageType = LanguageType.kazakh;
|
||||||
|
// break;
|
||||||
|
// case 'bn':
|
||||||
|
// languageType = LanguageType.bengali;
|
||||||
|
// break;
|
||||||
|
// case 'hr':
|
||||||
|
// languageType = LanguageType.croatian;
|
||||||
|
// break;
|
||||||
|
// case 'th':
|
||||||
|
// languageType = LanguageType.thai;
|
||||||
|
// break;
|
||||||
|
// case 'id':
|
||||||
|
// languageType = LanguageType.indonesian;
|
||||||
|
// break;
|
||||||
|
// case 'fi':
|
||||||
|
// languageType = LanguageType.finnish;
|
||||||
|
// break;
|
||||||
|
// case 'da':
|
||||||
|
// languageType = LanguageType.danish;
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// return languageType;
|
||||||
|
// }
|
||||||
|
|
||||||
|
static LanguageType fromLocale(Locale locale) {
|
||||||
LanguageType languageType = LanguageType.english;
|
LanguageType languageType = LanguageType.english;
|
||||||
|
final String code = locale.languageCode;
|
||||||
|
final String countryCode = locale.countryCode ?? '';
|
||||||
switch(code.toLowerCase()){
|
switch(code.toLowerCase()){
|
||||||
case 'en':
|
case 'en':
|
||||||
languageType = LanguageType.english;
|
languageType = LanguageType.english;
|
||||||
break;
|
break;
|
||||||
case 'zh':
|
case 'zh':
|
||||||
languageType = LanguageType.chinese;
|
if(countryCode.toLowerCase() == 'cn'){
|
||||||
|
languageType = LanguageType.chinese;
|
||||||
|
}else{
|
||||||
|
languageType = LanguageType.traditionalChinese;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'fr':
|
||||||
|
languageType = LanguageType.french;
|
||||||
|
break;
|
||||||
|
case 'ru':
|
||||||
|
languageType = LanguageType.russian;
|
||||||
|
break;
|
||||||
|
case 'de':
|
||||||
|
languageType = LanguageType.german;
|
||||||
|
break;
|
||||||
|
case 'ja':
|
||||||
|
languageType = LanguageType.japanese;
|
||||||
|
break;
|
||||||
|
case 'ko':
|
||||||
|
languageType = LanguageType.korean;
|
||||||
|
break;
|
||||||
|
case 'it':
|
||||||
|
languageType = LanguageType.italian;
|
||||||
|
break;
|
||||||
|
// case 'uk':
|
||||||
|
// languageType = LanguageType.ukrainian;
|
||||||
|
// break;
|
||||||
|
case 'pt':
|
||||||
|
languageType = LanguageType.portuguese;
|
||||||
|
break;
|
||||||
|
case 'es':
|
||||||
|
languageType = LanguageType.spanish;
|
||||||
|
break;
|
||||||
|
case 'ar':
|
||||||
|
languageType = LanguageType.arabic;
|
||||||
|
break;
|
||||||
|
case 'vi':
|
||||||
|
languageType = LanguageType.vietnamese;
|
||||||
|
break;
|
||||||
|
case 'ms':
|
||||||
|
languageType = LanguageType.malay;
|
||||||
|
break;
|
||||||
|
case 'nl':
|
||||||
|
languageType = LanguageType.dutch;
|
||||||
|
break;
|
||||||
|
case 'ro':
|
||||||
|
languageType = LanguageType.romanian;
|
||||||
|
break;
|
||||||
|
case 'lt':
|
||||||
|
languageType = LanguageType.lithuanian;
|
||||||
|
break;
|
||||||
|
case 'sv':
|
||||||
|
languageType = LanguageType.swedish;
|
||||||
|
break;
|
||||||
|
case 'et':
|
||||||
|
languageType = LanguageType.estonian;
|
||||||
|
break;
|
||||||
|
case 'pl':
|
||||||
|
languageType = LanguageType.polish;
|
||||||
|
break;
|
||||||
|
case 'sk':
|
||||||
|
languageType = LanguageType.slovak;
|
||||||
|
break;
|
||||||
|
case 'cs':
|
||||||
|
languageType = LanguageType.czech;
|
||||||
|
break;
|
||||||
|
case 'el':
|
||||||
|
languageType = LanguageType.greek;
|
||||||
|
break;
|
||||||
|
case 'he':
|
||||||
|
languageType = LanguageType.hebrew;
|
||||||
|
break;
|
||||||
|
// case 'sr':
|
||||||
|
// languageType = LanguageType.serbian;
|
||||||
|
// break;
|
||||||
|
case 'tr':
|
||||||
|
languageType = LanguageType.turkish;
|
||||||
|
break;
|
||||||
|
case 'hu':
|
||||||
|
languageType = LanguageType.hungarian;
|
||||||
|
break;
|
||||||
|
case 'bg':
|
||||||
|
languageType = LanguageType.bulgarian;
|
||||||
|
break;
|
||||||
|
case 'kk':
|
||||||
|
languageType = LanguageType.kazakh;
|
||||||
|
break;
|
||||||
|
case 'bn':
|
||||||
|
languageType = LanguageType.bengali;
|
||||||
|
break;
|
||||||
|
case 'hr':
|
||||||
|
languageType = LanguageType.croatian;
|
||||||
|
break;
|
||||||
|
case 'th':
|
||||||
|
languageType = LanguageType.thai;
|
||||||
|
break;
|
||||||
|
case 'id':
|
||||||
|
languageType = LanguageType.indonesian;
|
||||||
|
break;
|
||||||
|
case 'fi':
|
||||||
|
languageType = LanguageType.finnish;
|
||||||
|
break;
|
||||||
|
case 'da':
|
||||||
|
languageType = LanguageType.danish;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
return languageType;
|
return languageType;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -2,28 +2,158 @@ part of lib_trans;
|
|||||||
|
|
||||||
class TranslationLoader {
|
class TranslationLoader {
|
||||||
|
|
||||||
static bool get isZh => Get.locale?.languageCode.toLowerCase() == 'zh';
|
// LAN_ZH_CN="zh" # 简体中文
|
||||||
static bool get isEn => Get.locale?.languageCode.toLowerCase() == 'en';
|
// LAN_EN_US="en" # 英文
|
||||||
|
// LAN_ZH_TW="tw" # 繁体中文
|
||||||
|
// LAN_Fr_FR="fr" # 法语
|
||||||
|
// LAN_RU_RU="ru" # 俄语
|
||||||
|
// LAN_DE_DE="de" # 德语
|
||||||
|
// LAN_ZH_JA="ja" # 日语
|
||||||
|
// LAN_ZH_KO="ko" # 韩语
|
||||||
|
// LAN_ZH_IT="it" # 意大利语
|
||||||
|
// #LAN_ZH_TW="uk" # 乌克兰语
|
||||||
|
// LAN_ZH_PT="pt" # 葡萄牙语
|
||||||
|
// LAN_ZH_ES="es" # 西班牙语
|
||||||
|
// LAN_ZH_AR="ar" # 阿拉伯语
|
||||||
|
// LAN_ZH_vi="vi" # 越南语
|
||||||
|
// LAN_ZH_MS="ms" # 马莱语
|
||||||
|
// LAN_ZH_NL="nl" # 荷兰语
|
||||||
|
// LAN_ZH_RO="ro" # 罗马尼亚语
|
||||||
|
// LAN_ZH_LT="lt" # 立陶宛语
|
||||||
|
// LAN_ZH_SV="sv" # 瑞典语
|
||||||
|
// LAN_ZH_ET="et" # 爱沙尼亚语
|
||||||
|
// LAN_ZH_PL="pl" # 波兰语
|
||||||
|
// LAN_ZH_SK="sk" # 斯洛伐克语
|
||||||
|
// LAN_ZH_CS="cs" # 捷克语
|
||||||
|
// LAN_ZH_EL="el" # 希腊语
|
||||||
|
// LAN_ZH_HE="he" # 希伯来语
|
||||||
|
// #LAN_ZH_TW="sr" # 塞尔维亚文
|
||||||
|
// LAN_ZH_TR="tr" # 土耳其语
|
||||||
|
// LAN_ZH_HU="hu" # 匈牙利语
|
||||||
|
// LAN_ZH_BG="bg" # 保加利亚语
|
||||||
|
// LAN_ZH_KK="kk" # 哈萨克斯坦语 === 哈萨克语
|
||||||
|
// LAN_ZH_BN="bn" # 孟加拉语
|
||||||
|
// LAN_ZH_HBS="hr" # 克罗地亚语
|
||||||
|
// LAN_ZH_TH="th" # 泰语
|
||||||
|
// LAN_ZH_ID="id" # 印度尼西亚语
|
||||||
|
// LAN_ZH_FI="fi" # 芬兰语
|
||||||
|
// LAN_ZH_DA="da" # 丹麦语
|
||||||
|
|
||||||
static Map<String,String>
|
|
||||||
_zhMap = <String, String>{},
|
// static bool get isZh => Get.locale?.languageCode.toLowerCase() == 'zh';
|
||||||
_enMap = <String, String>{},
|
// static bool get isEn => Get.locale?.languageCode.toLowerCase() == 'en';
|
||||||
_keyMap = <String, String>{};
|
|
||||||
|
static Map<String,String> _zhMap = <String, String>{};
|
||||||
|
static Map<String,String> _enMap = <String, String>{};
|
||||||
|
static Map<String,String> _twMap = <String, String>{};
|
||||||
|
static Map<String,String> _frMap = <String, String>{};
|
||||||
|
static Map<String,String> _ruMap = <String, String>{};
|
||||||
|
static Map<String,String> _deMap = <String, String>{};
|
||||||
|
static Map<String,String> _jaMap = <String, String>{};
|
||||||
|
static Map<String,String> _koMap = <String, String>{};
|
||||||
|
static Map<String,String> _itMap = <String, String>{};
|
||||||
|
static Map<String,String> _ukMap = <String, String>{};
|
||||||
|
static Map<String,String> _ptMap = <String, String>{};
|
||||||
|
static Map<String,String> _esMap = <String, String>{};
|
||||||
|
static Map<String,String> _arMap = <String, String>{};
|
||||||
|
static Map<String,String> _viMap = <String, String>{};
|
||||||
|
static Map<String,String> _msMap = <String, String>{};
|
||||||
|
static Map<String,String> _nlMap = <String, String>{};
|
||||||
|
static Map<String,String> _roMap = <String, String>{};
|
||||||
|
static Map<String,String> _ltMap = <String, String>{};
|
||||||
|
static Map<String,String> _svMap = <String, String>{};
|
||||||
|
static Map<String,String> _etMap = <String, String>{};
|
||||||
|
static Map<String,String> _plMap = <String, String>{};
|
||||||
|
static Map<String,String> _skMap = <String, String>{};
|
||||||
|
static Map<String,String> _csMap = <String, String>{};
|
||||||
|
static Map<String,String> _elMap = <String, String>{};
|
||||||
|
static Map<String,String> _heMap = <String, String>{};
|
||||||
|
static Map<String,String> _srMap = <String, String>{};
|
||||||
|
static Map<String,String> _trMap = <String, String>{};
|
||||||
|
static Map<String,String> _huMap = <String, String>{};
|
||||||
|
static Map<String,String> _bgMap = <String, String>{};
|
||||||
|
static Map<String,String> _kkMap = <String, String>{};
|
||||||
|
static Map<String,String> _bnMap = <String, String>{};
|
||||||
|
static Map<String,String> _hrMap = <String, String>{};
|
||||||
|
static Map<String,String> _thMap = <String, String>{};
|
||||||
|
static Map<String,String> _idMap = <String, String>{};
|
||||||
|
static Map<String,String> _fiMap = <String, String>{};
|
||||||
|
static Map<String,String> _daMap = <String, String>{};
|
||||||
|
|
||||||
static Map<String,String> get zhDic => _zhMap;
|
static Map<String,String> get zhDic => _zhMap;
|
||||||
static Map<String,String> get enDic => _enMap;
|
static Map<String,String> get enDic => _enMap;
|
||||||
|
static Map<String,String> get twDic => _twMap;
|
||||||
|
static Map<String,String> get frDic => _frMap;
|
||||||
|
static Map<String,String> get ruDic => _ruMap;
|
||||||
|
static Map<String,String> get deDic => _deMap;
|
||||||
|
static Map<String,String> get jaDic => _jaMap;
|
||||||
|
static Map<String,String> get koDic => _koMap;
|
||||||
|
static Map<String,String> get itDic => _itMap;
|
||||||
|
static Map<String,String> get ukDic => _ukMap;
|
||||||
|
static Map<String,String> get ptDic => _ptMap;
|
||||||
|
static Map<String,String> get esDic => _esMap;
|
||||||
|
static Map<String,String> get arDic => _arMap;
|
||||||
|
static Map<String,String> get viDic => _viMap;
|
||||||
|
static Map<String,String> get msDic => _msMap;
|
||||||
|
static Map<String,String> get nlDic => _nlMap;
|
||||||
|
static Map<String,String> get roDic => _roMap;
|
||||||
|
static Map<String,String> get ltDic => _ltMap;
|
||||||
|
static Map<String,String> get svDic => _svMap;
|
||||||
|
static Map<String,String> get etDic => _etMap;
|
||||||
|
static Map<String,String> get plDic => _plMap;
|
||||||
|
static Map<String,String> get skDic => _skMap;
|
||||||
|
static Map<String,String> get csDic => _csMap;
|
||||||
|
static Map<String,String> get elDic => _elMap;
|
||||||
|
static Map<String,String> get heDic => _heMap;
|
||||||
|
static Map<String,String> get srDic => _srMap;
|
||||||
|
static Map<String,String> get trDic => _trMap;
|
||||||
|
static Map<String,String> get huDic => _huMap;
|
||||||
|
static Map<String,String> get bgDic => _bgMap;
|
||||||
|
static Map<String,String> get kkDic => _kkMap;
|
||||||
|
static Map<String,String> get bnDic => _bnMap;
|
||||||
|
static Map<String,String> get hrDic => _hrMap;
|
||||||
|
static Map<String,String> get thDic => _thMap;
|
||||||
|
static Map<String,String> get idDic => _idMap;
|
||||||
|
static Map<String,String> get fiDic => _fiMap;
|
||||||
|
static Map<String,String> get daDic => _daMap;
|
||||||
|
|
||||||
// static LanKeyEntity? _lanKeyEntity;
|
static Future<void> loadTranslation() async {
|
||||||
// static LanKeyEntity? get lanKeys => _lanKeyEntity;
|
_zhMap = await _loadJsonFile('lan/lan_zh.json');
|
||||||
|
_enMap = await _loadJsonFile('lan/lan_en.json');
|
||||||
static Future<void> loadTranslation({
|
_twMap = await _loadJsonFile('lan/lan_tw.json');
|
||||||
String? zhSource,
|
_frMap = await _loadJsonFile('lan/lan_fr.json');
|
||||||
String? enSource,
|
_ruMap = await _loadJsonFile('lan/lan_ru.json');
|
||||||
String? keySource,}) async {
|
_deMap = await _loadJsonFile('lan/lan_de.json');
|
||||||
_zhMap = await _loadJsonFile(zhSource!);
|
_jaMap = await _loadJsonFile('lan/lan_ja.json');
|
||||||
_enMap = await _loadJsonFile(enSource!);
|
_koMap = await _loadJsonFile('lan/lan_ko.json');
|
||||||
_keyMap = await _loadJsonFile(keySource!);
|
_itMap = await _loadJsonFile('lan/lan_it.json');
|
||||||
// _lanKeyEntity = LanKeyEntity.fromJson(_keyMap);
|
_ukMap = await _loadJsonFile('lan/lan_uk.json');
|
||||||
|
_ptMap = await _loadJsonFile('lan/lan_pt.json');
|
||||||
|
_esMap = await _loadJsonFile('lan/lan_es.json');
|
||||||
|
_arMap = await _loadJsonFile('lan/lan_ar.json');
|
||||||
|
_viMap = await _loadJsonFile('lan/lan_vi.json');
|
||||||
|
_msMap = await _loadJsonFile('lan/lan_ms.json');
|
||||||
|
_nlMap = await _loadJsonFile('lan/lan_nl.json');
|
||||||
|
_roMap = await _loadJsonFile('lan/lan_ro.json');
|
||||||
|
_ltMap = await _loadJsonFile('lan/lan_lt.json');
|
||||||
|
_svMap = await _loadJsonFile('lan/lan_sv.json');
|
||||||
|
_etMap = await _loadJsonFile('lan/lan_et.json');
|
||||||
|
_plMap = await _loadJsonFile('lan/lan_pl.json');
|
||||||
|
_skMap = await _loadJsonFile('lan/lan_sk.json');
|
||||||
|
_csMap = await _loadJsonFile('lan/lan_cs.json');
|
||||||
|
_elMap = await _loadJsonFile('lan/lan_el.json');
|
||||||
|
_heMap = await _loadJsonFile('lan/lan_he.json');
|
||||||
|
_srMap = await _loadJsonFile('lan/lan_sr.json');
|
||||||
|
_trMap = await _loadJsonFile('lan/lan_tr.json');
|
||||||
|
_huMap = await _loadJsonFile('lan/lan_hu.json');
|
||||||
|
_bgMap = await _loadJsonFile('lan/lan_bg.json');
|
||||||
|
_kkMap = await _loadJsonFile('lan/lan_kk.json');
|
||||||
|
_bnMap = await _loadJsonFile('lan/lan_bn.json');
|
||||||
|
_hrMap = await _loadJsonFile('lan/lan_hr.json');
|
||||||
|
_thMap = await _loadJsonFile('lan/lan_th.json');
|
||||||
|
_idMap = await _loadJsonFile('lan/lan_id.json');
|
||||||
|
_fiMap = await _loadJsonFile('lan/lan_fi.json');
|
||||||
|
_daMap = await _loadJsonFile('lan/lan_da.json');
|
||||||
}
|
}
|
||||||
|
|
||||||
static Future<Map<String,String>> _loadJsonFile(String filePath) async => rootBundle.loadString(filePath).then((String jsonString){
|
static Future<Map<String,String>> _loadJsonFile(String filePath) async => rootBundle.loadString(filePath).then((String jsonString){
|
||||||
|
|||||||
@ -2,10 +2,81 @@ part of lib_trans;
|
|||||||
|
|
||||||
class TranslationMessage extends Translations {
|
class TranslationMessage extends Translations {
|
||||||
|
|
||||||
|
// LAN_ZH_CN="zh" # 简体中文
|
||||||
|
// LAN_EN_US="en" # 英文
|
||||||
|
// LAN_ZH_TW="tw" # 繁体中文
|
||||||
|
// LAN_Fr_FR="fr" # 法语
|
||||||
|
// LAN_RU_RU="ru" # 俄语
|
||||||
|
// LAN_DE_DE="de" # 德语
|
||||||
|
// LAN_ZH_JA="ja" # 日语
|
||||||
|
// LAN_ZH_KO="ko" # 韩语
|
||||||
|
// LAN_ZH_IT="it" # 意大利语
|
||||||
|
// #LAN_ZH_TW="uk" # 乌克兰语
|
||||||
|
// LAN_ZH_PT="pt" # 葡萄牙语
|
||||||
|
// LAN_ZH_ES="es" # 西班牙语
|
||||||
|
// LAN_ZH_AR="ar" # 阿拉伯语
|
||||||
|
// LAN_ZH_vi="vi" # 越南语
|
||||||
|
// LAN_ZH_MS="ms" # 马莱语
|
||||||
|
// LAN_ZH_NL="nl" # 荷兰语
|
||||||
|
// LAN_ZH_RO="ro" # 罗马尼亚语
|
||||||
|
// LAN_ZH_LT="lt" # 立陶宛语
|
||||||
|
// LAN_ZH_SV="sv" # 瑞典语
|
||||||
|
// LAN_ZH_ET="et" # 爱沙尼亚语
|
||||||
|
// LAN_ZH_PL="pl" # 波兰语
|
||||||
|
// LAN_ZH_SK="sk" # 斯洛伐克语
|
||||||
|
// LAN_ZH_CS="cs" # 捷克语
|
||||||
|
// LAN_ZH_EL="el" # 希腊语
|
||||||
|
// LAN_ZH_HE="he" # 希伯来语
|
||||||
|
// #LAN_ZH_TW="sr" # 塞尔维亚文
|
||||||
|
// LAN_ZH_TR="tr" # 土耳其语
|
||||||
|
// LAN_ZH_HU="hu" # 匈牙利语
|
||||||
|
// LAN_ZH_BG="bg" # 保加利亚语
|
||||||
|
// LAN_ZH_KK="kk" # 哈萨克斯坦语 === 哈萨克语
|
||||||
|
// LAN_ZH_BN="bn" # 孟加拉语
|
||||||
|
// LAN_ZH_HBS="hr" # 克罗地亚语
|
||||||
|
// LAN_ZH_TH="th" # 泰语
|
||||||
|
// LAN_ZH_ID="id" # 印度尼西亚语
|
||||||
|
// LAN_ZH_FI="fi" # 芬兰语
|
||||||
|
// LAN_ZH_DA="da" # 丹麦语
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Map<String, Map<String, String>> get keys => {
|
Map<String, Map<String, String>> get keys => {
|
||||||
'en_US' : TranslationLoader.enDic,
|
'en_US' : TranslationLoader.enDic,
|
||||||
'zh_CN': TranslationLoader.zhDic,
|
'zh_CN': TranslationLoader.zhDic,
|
||||||
|
'zh_TW': TranslationLoader.twDic,
|
||||||
|
'fr_FR': TranslationLoader.frDic,
|
||||||
|
'ru_RU': TranslationLoader.ruDic,
|
||||||
|
'de_DE': TranslationLoader.deDic,
|
||||||
|
'ja_JA': TranslationLoader.jaDic,
|
||||||
|
'ko_KO': TranslationLoader.koDic,
|
||||||
|
'it_IT': TranslationLoader.itDic,
|
||||||
|
'uk_UK': TranslationLoader.ukDic,
|
||||||
|
'pt_PT': TranslationLoader.ptDic,
|
||||||
|
'es_ES': TranslationLoader.esDic,
|
||||||
|
'ar_AR': TranslationLoader.arDic,
|
||||||
|
'vi_VI': TranslationLoader.viDic,
|
||||||
|
'ms_MS': TranslationLoader.msDic,
|
||||||
|
'nl_NL': TranslationLoader.nlDic,
|
||||||
|
'ro_RO': TranslationLoader.roDic,
|
||||||
|
'lt_LT': TranslationLoader.ltDic,
|
||||||
|
'sv_SV': TranslationLoader.svDic,
|
||||||
|
'et_ET': TranslationLoader.etDic,
|
||||||
|
'pl_PL': TranslationLoader.plDic,
|
||||||
|
'sk_SK': TranslationLoader.skDic,
|
||||||
|
'cs_CS': TranslationLoader.csDic,
|
||||||
|
'el_EL': TranslationLoader.elDic,
|
||||||
|
'he_HE': TranslationLoader.heDic,
|
||||||
|
'sr_SR': TranslationLoader.srDic,
|
||||||
|
'tr_TR': TranslationLoader.trDic,
|
||||||
|
'hu_HU': TranslationLoader.huDic,
|
||||||
|
'bg_BG': TranslationLoader.bgDic,
|
||||||
|
'kk_KK': TranslationLoader.kkDic,
|
||||||
|
'bn_BN': TranslationLoader.bnDic,
|
||||||
|
'hr_HR': TranslationLoader.hrDic,
|
||||||
|
'th_TH': TranslationLoader.thDic,
|
||||||
|
'id_ID': TranslationLoader.idDic,
|
||||||
|
'fi_FI': TranslationLoader.fiDic,
|
||||||
|
'da_DA': TranslationLoader.daDic,
|
||||||
};
|
};
|
||||||
|
|
||||||
void updateLocal(Locale l) => Get.updateLocale(l);
|
void updateLocal(Locale l) => Get.updateLocale(l);
|
||||||
|
|||||||
@ -105,6 +105,6 @@ echo -e "\n* 没有发现废弃 API,开始编译"
|
|||||||
|
|
||||||
# 编译命令
|
# 编译命令
|
||||||
#flutter clean && flutter pub get
|
#flutter clean && flutter pub get
|
||||||
#flutter build apk --flavor $environment -t $main_file
|
flutter build apk --flavor $environment -t $main_file
|
||||||
#flutter build ios --flavor $environment -t $main_file
|
#flutter build ios --flavor $environment -t $main_file
|
||||||
flutter build appbundle --flavor $environment -t $main_file
|
#flutter build appbundle --flavor $environment -t $main_file
|
||||||
|
|||||||
@ -86,8 +86,9 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
|||||||
# 1.0.74+2024080901:xhj 预发布环境,提交测试:回归 8月9号之前bug
|
# 1.0.74+2024080901:xhj 预发布环境,提交测试:回归 8月9号之前bug
|
||||||
# 1.0.75+2024081001:锁定版本,上架商城
|
# 1.0.75+2024081001:锁定版本,上架商城
|
||||||
# 1.0.76+2024081201:锁定版本,上架商城--最新版本
|
# 1.0.76+2024081201:锁定版本,上架商城--最新版本
|
||||||
|
# 1.0.78+2024082701:测试国际化功能
|
||||||
|
|
||||||
version: 1.0.76+2024081601
|
version: 1.0.78+2024082701
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: '>=2.12.0 <3.0.0'
|
sdk: '>=2.12.0 <3.0.0'
|
||||||
|
|||||||
@ -10,9 +10,46 @@ SOURCE_LANGUAGE="en"
|
|||||||
|
|
||||||
|
|
||||||
#项目语言常量
|
#项目语言常量
|
||||||
LAN_ZH_CN="zh_CN"
|
#LAN_ZH_CN="zh_CN"
|
||||||
LAN_ZH_TW="zh_TW"
|
#LAN_ZH_TW="zh_TW"
|
||||||
LAN_EN_US="en_US"
|
#LAN_EN_US="en_US"
|
||||||
|
|
||||||
|
LAN_ZH_CN="zh" # 简体中文
|
||||||
|
LAN_EN_US="en" # 英文
|
||||||
|
LAN_ZH_TW="tw" # 繁体中文
|
||||||
|
LAN_Fr_FR="fr" # 法语
|
||||||
|
LAN_RU_RU="ru" # 俄语
|
||||||
|
LAN_DE_DE="de" # 德语
|
||||||
|
LAN_ZH_JA="ja" # 日语
|
||||||
|
LAN_ZH_KO="ko" # 韩语
|
||||||
|
LAN_ZH_IT="it" # 意大利语
|
||||||
|
#LAN_ZH_TW="tw" # 乌克兰语
|
||||||
|
LAN_ZH_PT="pt" # 葡萄牙语
|
||||||
|
LAN_ZH_ES="es" # 西班牙语
|
||||||
|
LAN_ZH_AR="ar" # 阿拉伯语
|
||||||
|
LAN_ZH_vi="vi" # 越南语
|
||||||
|
LAN_ZH_MS="ms" # 马莱语
|
||||||
|
LAN_ZH_NL="nl" # 荷兰语
|
||||||
|
LAN_ZH_RO="ro" # 罗马尼亚语
|
||||||
|
LAN_ZH_LT="lt" # 立陶宛语
|
||||||
|
LAN_ZH_SV="sv" # 瑞典语
|
||||||
|
LAN_ZH_ET="et" # 爱沙尼亚语
|
||||||
|
LAN_ZH_PL="pl" # 波兰语
|
||||||
|
LAN_ZH_SK="sk" # 斯洛伐克语
|
||||||
|
LAN_ZH_CS="cs" # 捷克语
|
||||||
|
LAN_ZH_EL="el" # 希腊语
|
||||||
|
LAN_ZH_HE="he" # 希伯来语
|
||||||
|
#LAN_ZH_TW="tw" # 塞尔维亚文
|
||||||
|
LAN_ZH_TR="tr" # 土耳其语
|
||||||
|
LAN_ZH_HU="hu" # 匈牙利语
|
||||||
|
LAN_ZH_BG="bg" # 保加利亚语
|
||||||
|
LAN_ZH_KK="kk" # 哈萨克斯坦语 === 哈萨克语
|
||||||
|
LAN_ZH_BN="bn" # 孟加拉语
|
||||||
|
LAN_ZH_HBS="hbs" # 克罗地亚语
|
||||||
|
LAN_ZH_TH="th" # 泰语
|
||||||
|
LAN_ZH_ID="id" # 印度尼西亚语
|
||||||
|
LAN_ZH_FI="fi" # 芬兰语
|
||||||
|
LAN_ZH_DA="da" # 丹麦语
|
||||||
|
|
||||||
declare -A LANG_LIST=(
|
declare -A LANG_LIST=(
|
||||||
["$LAN_ZH_CN"]="简体中文"
|
["$LAN_ZH_CN"]="简体中文"
|
||||||
@ -25,6 +62,42 @@ declare -A ALIYUN_LANG_MAP=(
|
|||||||
["$LAN_ZH_CN"]="zh"
|
["$LAN_ZH_CN"]="zh"
|
||||||
["$LAN_ZH_TW"]="zh-tw"
|
["$LAN_ZH_TW"]="zh-tw"
|
||||||
["$LAN_EN_US"]="en"
|
["$LAN_EN_US"]="en"
|
||||||
|
# ["$LAN_ZH_CN"]="zh" # 简体中文
|
||||||
|
# ["$LAN_EN_US"]="en" # 英文
|
||||||
|
# ["$LAN_ZH_TW"]="tw" # 繁体中文
|
||||||
|
["$LAN_Fr_FR"]="fr" # 法语
|
||||||
|
["$LAN_RU_RU"]="ru" # 俄语
|
||||||
|
["$LAN_DE_DE"]="de" # 德语
|
||||||
|
["$LAN_ZH_JA"]="ja" # 日语
|
||||||
|
["$LAN_ZH_KO"]="ko" # 韩语
|
||||||
|
["$LAN_ZH_IT"]="it" # 意大利语
|
||||||
|
#LAN_ZH_TW="tw" # 乌克兰语
|
||||||
|
["$LAN_ZH_PT"]="pt" # 葡萄牙语
|
||||||
|
["$LAN_ZH_ES"]="es" # 西班牙语
|
||||||
|
["$LAN_ZH_AR"]="ar" # 阿拉伯语
|
||||||
|
["$LAN_ZH_vi"]="vi" # 越南语
|
||||||
|
["$LAN_ZH_MS"]="ms" # 马莱语
|
||||||
|
["$LAN_ZH_NL"]="nl" # 荷兰语
|
||||||
|
["$LAN_ZH_RO"]="ro" # 罗马尼亚语
|
||||||
|
["$LAN_ZH_LT"]="lt" # 立陶宛语
|
||||||
|
["$LAN_ZH_SV"]="sv" # 瑞典语
|
||||||
|
["$LAN_ZH_ET"]="et" # 爱沙尼亚语
|
||||||
|
["$LAN_ZH_PL"]="pl" # 波兰语
|
||||||
|
["$LAN_ZH_SK"]="sk" # 斯洛伐克语
|
||||||
|
["$LAN_ZH_CS"]="cs" # 捷克语
|
||||||
|
["$LAN_ZH_EL"]="el" # 希腊语
|
||||||
|
["$LAN_ZH_HE"]="he" # 希伯来语
|
||||||
|
#LAN_ZH_TW="tw" # 塞尔维亚文
|
||||||
|
["$LAN_ZH_TR"]="tr" # 土耳其语
|
||||||
|
["$LAN_ZH_HU"]="hu" # 匈牙利语
|
||||||
|
["$LAN_ZH_BG"]="bg" # 保加利亚语
|
||||||
|
["$LAN_ZH_KK"]="kk" # 哈萨克斯坦语 === 哈萨克语
|
||||||
|
["$LAN_ZH_BN"]="bn" # 孟加拉语
|
||||||
|
["$LAN_ZH_HBS"]="hbs" # 克罗地亚语
|
||||||
|
["$LAN_ZH_TH"]="th" # 泰语
|
||||||
|
["$LAN_ZH_ID"]="id" # 印度尼西亚语
|
||||||
|
["$LAN_ZH_FI"]="fi" # 芬兰语
|
||||||
|
["$LAN_ZH_DA"]="da" # 丹麦语
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user