diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 01d706a8..868db348 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,6 +4,7 @@ stages: - build-artifacts - release-artifacts - notification + - clean-up variables: LC_ALL: "en_US.UTF-8" @@ -61,7 +62,7 @@ variables: before_script: - ls -li - export NEXT_VERSION="$(cat app_new.version)" - - flutter pub get +# - flutter pub get - bundle install --gemfile android/Gemfile --quiet cache: paths: @@ -72,7 +73,7 @@ variables: before_script: - ls -li - export NEXT_VERSION="$(cat app_new.version)" - - flutter pub get +# - flutter pub get - bundle install --gemfile ios/Gemfile --quiet cache: paths: @@ -95,7 +96,8 @@ generate_git_tag: - bash pre_build.sh sky - project_url=$(echo $CI_PROJECT_URL | sed 's/http:\/\///') - echo "project_url:$project_url" - - git remote set-url origin http://gitlab-ci-token:${GITLAB_ACCESS_TOKEN}@$project_url.git + - echo "CI_SERVER_FQDN:$CI_SERVER_FQDN/CI_PROJECT_ROOT_NAMESPACE:$CI_PROJECT_ROOT_NAMESPACE/CI_PROJECT_NAME:$CI_PROJECT_NAME" + - git remote set-url origin git@$CI_SERVER_FQDN:$CI_PROJECT_ROOT_NAMESPACE/$CI_PROJECT_NAME.git script: - bash tag_generator.sh generate_tag @@ -170,7 +172,7 @@ create-release: url: '${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${CI_COMMIT_TAG}/starlock-xhj-release-${CI_COMMIT_TAG}.apk' link_type: 'package' - name: 'xhj bundle binary package' - url: '${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${CI_COMMIT_TAG}/starlock-xhj-release-${CI_COMMIT_TAG}.aab' + url: '${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${CI_COMMIT_TAG}/starlock-xhj_bundle-release-${CI_COMMIT_TAG}.aab' link_type: 'package' - name: 'sky apk binary package' url: '${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${CI_COMMIT_TAG}/starlock-sky-release-${CI_COMMIT_TAG}.apk' @@ -203,4 +205,11 @@ notify_failure: script: - bash notify.sh failure allow_failure: true - when: on_failure \ No newline at end of file + when: on_failure + +clean_up: + stage: clean-up + extends: .build_rule + script: + - git reset --hard + when: always \ No newline at end of file diff --git a/android/app/build.gradle b/android/app/build.gradle index 21be3ed4..549a0230 100755 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -23,6 +23,9 @@ if (flutterVersionName == null) { } apply plugin: 'com.android.application' +// +apply plugin: 'com.google.gms.google-services' +// apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" apply plugin: 'com.android.application' @@ -75,6 +78,13 @@ android { keyAlias = 'upload' keyPassword 'xhj8872' } + + xhj_bundle { + storeFile file("xhj_bundle.jks") + storePassword 'xhj8872' + keyAlias = 'xhj' + keyPassword 'xhj8872' + } } // ----- BEGIN flavorDimensions (autogenerated by flutter_flavorizr) ----- @@ -132,6 +142,21 @@ android { manifestPlaceholders.JPUSH_PKGNAME = "com.xhjcn.lock" proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules-xhj.pro' } + + xhj_bundle { + dimension "flavor-type" + applicationId "ltd.xhjcn.lock" + + signingConfig signingConfigs.xhj_bundle + resValue "string", "app_name", "Star Lock" + manifestPlaceholders = [ + JPUSH_PKGNAME : "ltd.xhjcn.lock", + JPUSH_APPKEY : "5ccdb9b8d3faaae66ba5d02e", + JPUSH_CHANNEL : "flutter_channel", + ] + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules-xhj.pro' + } + xhj_pre { dimension "flavor-type" applicationId "com.xhjcn.lock.pre" @@ -240,7 +265,11 @@ android { productFlavors.dev.signingConfig signingConfigs.debug productFlavors.pre.signingConfig signingConfigs.debug productFlavors.sky.signingConfig signingConfigs.sky + productFlavors.sky_dev.signingConfig signingConfigs.sky + productFlavors.sky_pre.signingConfig signingConfigs.sky productFlavors.xhj.signingConfig signingConfigs.xhj + productFlavors.xhj_dev.signingConfig signingConfigs.xhj + productFlavors.xhj_pre.signingConfig signingConfigs.xhj } release { // 高德地图导致release编译模式下应用闪退,根据:[高德地图在Debug模式下运行正常但是打Release包时则闪退解决办法](https://blog.csdn.net/weixin_39370093/article/details/109631210) @@ -252,7 +281,11 @@ android { productFlavors.dev.signingConfig signingConfigs.debug productFlavors.pre.signingConfig signingConfigs.debug productFlavors.sky.signingConfig signingConfigs.sky + productFlavors.sky_dev.signingConfig signingConfigs.sky + productFlavors.sky_pre.signingConfig signingConfigs.sky productFlavors.xhj.signingConfig signingConfigs.xhj + productFlavors.xhj_dev.signingConfig signingConfigs.xhj + productFlavors.xhj_pre.signingConfig signingConfigs.xhj } } @@ -296,6 +329,8 @@ dependencies { implementation 'cn.jiguang.sdk.plugin:vivo:5.2.3' // Umeng统计 - implementation 'com.umeng.umsdk:common:9.3.7' - implementation 'com.umeng.umsdk:asms:1.4.1' + // + implementation 'com.umeng.umsdk:common:9.7.9' + implementation 'com.umeng.umsdk:asms:1.8.5' + // } diff --git a/android/app/google-services.json b/android/app/google-services.json index cbcbc271..c2bc204a 100755 --- a/android/app/google-services.json +++ b/android/app/google-services.json @@ -2,14 +2,14 @@ "project_info": { "project_number": "281500445726", "project_id": "skychip2023-ecdff", - "storage_bucket": "skychip2023-ecdff.appspot.com" + "storage_bucket": "skychip2023-ecdff.firebasestorage.app" }, "client": [ { "client_info": { - "mobilesdk_app_id": "1:281500445726:android:ddf52ac7b7f83cf5c4d20f", + "mobilesdk_app_id": "1:281500445726:android:468195b9cc68dd6cc4d20f", "android_client_info": { - "package_name": "com.skychip.lock" + "package_name": "com.starlock.lock.local" } }, "oauth_client": [], diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 9e6d6868..5bc305cb 100755 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,6 +1,6 @@ + package="com.skychip.lock"> - - @@ -58,14 +56,8 @@ - - - - - - + MethodChannel( + flutterEngine?.dartExecutor!!.binaryMessenger, + "starLockFlutterSend" + ).setMethodCallHandler { call, result -> if (call.method == "loadNativeShare") { val map = call.arguments as Map val shareText = map["shareText"] @@ -32,7 +29,7 @@ class MainActivity : FlutterActivity() { } else { shareText(shareText, "分享") } - } else if (call.method == "sendGetBlueStatus") { + } else if (call.method == "sendGetBlueStatus") { // 蓝牙是否开启 // println("收到原生的信息了 methodmethodmethod: ${call.method}") val bluetoothAdapter: BluetoothAdapter? = BluetoothAdapter.getDefaultAdapter() @@ -50,7 +47,10 @@ class MainActivity : FlutterActivity() { status = "-1" } val flutterEngine: FlutterEngine? = this.flutterEngine // 获取你的 FlutterEngine 实例 - MethodChannel(flutterEngine?.dartExecutor!!.binaryMessenger, "starLockFlutterReceive").invokeMethod("getBlueStatus", status) + MethodChannel( + flutterEngine?.dartExecutor!!.binaryMessenger, + "starLockFlutterReceive" + ).invokeMethod("getBlueStatus", status) } else { result.notImplemented() // 没有实现的方法 } @@ -96,7 +96,10 @@ class MainActivity : FlutterActivity() { override fun configureFlutterEngine(flutterEngine: FlutterEngine) { GeneratedPluginRegistrant.registerWith(flutterEngine) - MethodChannel(flutterEngine.dartExecutor.binaryMessenger, "starLockFlutterSend").setMethodCallHandler { call, result -> + MethodChannel( + flutterEngine.dartExecutor.binaryMessenger, + "starLockFlutterSend" + ).setMethodCallHandler { call, result -> if (call.method == "loadNativeShare") { val map = call.arguments as Map val shareText = map["shareText"] diff --git a/android/app/src/sky/google-services.json b/android/app/src/sky/google-services.json new file mode 100644 index 00000000..a712cf64 --- /dev/null +++ b/android/app/src/sky/google-services.json @@ -0,0 +1,48 @@ +{ + "project_info": { + "project_number": "281500445726", + "project_id": "skychip2023-ecdff", + "storage_bucket": "skychip2023-ecdff.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:281500445726:android:ddf52ac7b7f83cf5c4d20f", + "android_client_info": { + "package_name": "com.skychip.lock" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyC-3-ABWuy9LrYyAw_KxDRto4DanQ0sq9g" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:281500445726:android:468195b9cc68dd6cc4d20f", + "android_client_info": { + "package_name": "com.starlock.lock.local" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyC-3-ABWuy9LrYyAw_KxDRto4DanQ0sq9g" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/android/app/src/sky_dev/google-services.json b/android/app/src/sky_dev/google-services.json new file mode 100644 index 00000000..6eaa86af --- /dev/null +++ b/android/app/src/sky_dev/google-services.json @@ -0,0 +1,48 @@ +{ + "project_info": { + "project_number": "281500445726", + "project_id": "skychip2023-ecdff", + "storage_bucket": "skychip2023-ecdff.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:281500445726:android:ddf52ac7b7f83cf5c4d20f", + "android_client_info": { + "package_name": "com.skychip.lock.dev" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyC-3-ABWuy9LrYyAw_KxDRto4DanQ0sq9g" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:281500445726:android:468195b9cc68dd6cc4d20f", + "android_client_info": { + "package_name": "com.starlock.lock.local" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyC-3-ABWuy9LrYyAw_KxDRto4DanQ0sq9g" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/android/app/src/sky_pre/google-services.json b/android/app/src/sky_pre/google-services.json new file mode 100644 index 00000000..2a7a6dbe --- /dev/null +++ b/android/app/src/sky_pre/google-services.json @@ -0,0 +1,48 @@ +{ + "project_info": { + "project_number": "281500445726", + "project_id": "skychip2023-ecdff", + "storage_bucket": "skychip2023-ecdff.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:281500445726:android:ddf52ac7b7f83cf5c4d", + "android_client_info": { + "package_name": "com.skychip.lock.pre" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyC-3-ABWuy9LrYyAw_KxDRto4DanQ" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:281500445726:android:468195b9cc68dd6cc", + "android_client_info": { + "package_name": "com.starlock.lock.local" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyC-3-ABWuy9LrYyAw_KxDRto4DanQ0sq9g" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/android/app/src/xhj/google-services.json b/android/app/src/xhj/google-services.json new file mode 100644 index 00000000..791f2d92 --- /dev/null +++ b/android/app/src/xhj/google-services.json @@ -0,0 +1,48 @@ +{ + "project_info": { + "project_number": "28150044todo", + "project_id": "skychip2023-etodo", + "storage_bucket": "skychip2023-etodo.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:281500445726:android:ddf52ac7b7f83cf5c4todo", + "android_client_info": { + "package_name": "com.xhjcn.lock" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyC-3-ABWuy9LrYyAw_KxDRto4DanQ0todo" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:281500445726:android:468195b9cc68dd6cc4todo", + "android_client_info": { + "package_name": "com.xhjcn.lock.local" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyC-3-ABWuy9LrYyAw_KxDRto4Dank9todo" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/android/app/src/xhj_bundle/agconnect-services.json b/android/app/src/xhj_bundle/agconnect-services.json new file mode 100644 index 00000000..de206a1a --- /dev/null +++ b/android/app/src/xhj_bundle/agconnect-services.json @@ -0,0 +1,96 @@ +{ + "agcgw":{ + "backurl":"connect-drcn.hispace.hicloud.com", + "url":"connect-drcn.dbankcloud.cn", + "websocketbackurl":"connect-ws-drcn.hispace.dbankcloud.com", + "websocketurl":"connect-ws-drcn.hispace.dbankcloud.cn" + }, + "agcgw_all":{ + "CN":"connect-drcn.dbankcloud.cn", + "CN_back":"connect-drcn.hispace.hicloud.com", + "DE":"connect-dre.dbankcloud.cn", + "DE_back":"connect-dre.hispace.hicloud.com", + "RU":"connect-drru.hispace.dbankcloud.ru", + "RU_back":"connect-drru.hispace.dbankcloud.cn", + "SG":"connect-dra.dbankcloud.cn", + "SG_back":"connect-dra.hispace.hicloud.com" + }, + "websocketgw_all":{ + "CN":"connect-ws-drcn.hispace.dbankcloud.cn", + "CN_back":"connect-ws-drcn.hispace.dbankcloud.com", + "DE":"connect-ws-dre.hispace.dbankcloud.cn", + "DE_back":"connect-ws-dre.hispace.dbankcloud.com", + "RU":"connect-ws-drru.hispace.dbankcloud.ru", + "RU_back":"connect-ws-drru.hispace.dbankcloud.cn", + "SG":"connect-ws-dra.hispace.dbankcloud.cn", + "SG_back":"connect-ws-dra.hispace.dbankcloud.com" + }, + "client":{ + "cp_id":"30086000752967166", + "product_id":"388421841222116270", + "client_id":"1406555529261648640", + "client_secret":"843E8191B02B692239726CF0ED990E1EC2B31928F825AA012B932A128FD2C516", + "project_id":"388421841222116270", + "app_id":"110798531", + "api_key":"DQEDAALnPCtuCgoYOyZfsIDa9/YZZhQ+buDGpypeurXhQUGMajWcVyYLQgXXqV3x2HbI6oyG+Wm2Gf+1hPs6j+wA3B6ylYAXG4aAQA==", + "package_name":"ltd.xhjcn.lock" + }, + "oauth_client":{ + "client_id":"110798531", + "client_type":1 + }, + "app_info":{ + "app_id":"110798531", + "package_name":"ltd.xhjcn.lock" + }, + "service":{ + "analytics":{ + "collector_url":"datacollector-drcn.dt.hicloud.com,datacollector-drcn.dt.dbankcloud.cn", + "collector_url_ru":"datacollector-drru.dt.dbankcloud.ru,datacollector-drru.dt.hicloud.com", + "collector_url_sg":"datacollector-dra.dt.hicloud.com,datacollector-dra.dt.dbankcloud.cn", + "collector_url_de":"datacollector-dre.dt.hicloud.com,datacollector-dre.dt.dbankcloud.cn", + "collector_url_cn":"datacollector-drcn.dt.hicloud.com,datacollector-drcn.dt.dbankcloud.cn", + "resource_id":"p1", + "channel_id":"" + }, + "edukit":{ + "edu_url":"edukit.cloud.huawei.com.cn", + "dh_url":"edukit.cloud.huawei.com.cn" + }, + "search":{ + "url":"https://search-drcn.cloud.huawei.com" + }, + "cloudstorage":{ + "storage_url_sg_back":"https://agc-storage-dra.cloud.huawei.asia", + "storage_url_ru_back":"https://agc-storage-drru.cloud.huawei.ru", + "storage_url_ru":"https://agc-storage-drru.cloud.huawei.ru", + "storage_url_de_back":"https://agc-storage-dre.cloud.huawei.eu", + "storage_url_de":"https://ops-dre.agcstorage.link", + "storage_url":"https://agc-storage-drcn.platform.dbankcloud.cn", + "storage_url_sg":"https://ops-dra.agcstorage.link", + "storage_url_cn_back":"https://agc-storage-drcn.cloud.huawei.com.cn", + "storage_url_cn":"https://agc-storage-drcn.platform.dbankcloud.cn" + }, + "ml":{ + "mlservice_url":"ml-api-drcn.ai.dbankcloud.com,ml-api-drcn.ai.dbankcloud.cn" + } + }, + "region":"CN", + "configuration_version":"3.0", + "appInfos":[ + { + "package_name":"ltd.xhjcn.lock", + "client":{ + "app_id":"110798531" + }, + "app_info":{ + "package_name":"ltd.xhjcn.lock", + "app_id":"110798531" + }, + "oauth_client":{ + "client_type":1, + "client_id":"110798531" + } + } + ] +} \ No newline at end of file diff --git a/android/app/src/xhj_bundle/google-services.json b/android/app/src/xhj_bundle/google-services.json new file mode 100644 index 00000000..453982a0 --- /dev/null +++ b/android/app/src/xhj_bundle/google-services.json @@ -0,0 +1,29 @@ +{ + "project_info": { + "project_number": "448746601330", + "project_id": "smart-lock-12b8c", + "storage_bucket": "smart-lock-12b8c.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:448746601330:android:1a8056175e1dad5e317beb", + "android_client_info": { + "package_name": "ltd.xhjcn.lock" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyAm8dJlBY5hjslJDVDBNd2bkWrJlGjAMqw" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/android/app/src/xhj_bundle/res/mipmap-hdpi/ic_launcher.png b/android/app/src/xhj_bundle/res/mipmap-hdpi/ic_launcher.png new file mode 100755 index 00000000..e17ec78d Binary files /dev/null and b/android/app/src/xhj_bundle/res/mipmap-hdpi/ic_launcher.png differ diff --git a/android/app/src/xhj_bundle/res/mipmap-mdpi/ic_launcher.png b/android/app/src/xhj_bundle/res/mipmap-mdpi/ic_launcher.png new file mode 100755 index 00000000..4e071c25 Binary files /dev/null and b/android/app/src/xhj_bundle/res/mipmap-mdpi/ic_launcher.png differ diff --git a/android/app/src/xhj_bundle/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/xhj_bundle/res/mipmap-xhdpi/ic_launcher.png new file mode 100755 index 00000000..f190d692 Binary files /dev/null and b/android/app/src/xhj_bundle/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/android/app/src/xhj_bundle/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/xhj_bundle/res/mipmap-xxhdpi/ic_launcher.png new file mode 100755 index 00000000..db495a38 Binary files /dev/null and b/android/app/src/xhj_bundle/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/android/app/src/xhj_bundle/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/xhj_bundle/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100755 index 00000000..58a29a5e Binary files /dev/null and b/android/app/src/xhj_bundle/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/android/app/src/xhj_bundle/res/values-en-rUS/string.xml b/android/app/src/xhj_bundle/res/values-en-rUS/string.xml new file mode 100644 index 00000000..7c497348 --- /dev/null +++ b/android/app/src/xhj_bundle/res/values-en-rUS/string.xml @@ -0,0 +1,4 @@ + + + Star Lock + \ No newline at end of file diff --git a/android/app/src/xhj_bundle/res/values-zh-rCN/string.xml b/android/app/src/xhj_bundle/res/values-zh-rCN/string.xml new file mode 100644 index 00000000..384ea2dd --- /dev/null +++ b/android/app/src/xhj_bundle/res/values-zh-rCN/string.xml @@ -0,0 +1,4 @@ + + + 星星锁 + \ No newline at end of file diff --git a/android/app/src/xhj_dev/google-services.json b/android/app/src/xhj_dev/google-services.json new file mode 100644 index 00000000..791f2d92 --- /dev/null +++ b/android/app/src/xhj_dev/google-services.json @@ -0,0 +1,48 @@ +{ + "project_info": { + "project_number": "28150044todo", + "project_id": "skychip2023-etodo", + "storage_bucket": "skychip2023-etodo.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:281500445726:android:ddf52ac7b7f83cf5c4todo", + "android_client_info": { + "package_name": "com.xhjcn.lock" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyC-3-ABWuy9LrYyAw_KxDRto4DanQ0todo" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:281500445726:android:468195b9cc68dd6cc4todo", + "android_client_info": { + "package_name": "com.xhjcn.lock.local" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyC-3-ABWuy9LrYyAw_KxDRto4Dank9todo" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/android/app/src/xhj_pre/google-services.json b/android/app/src/xhj_pre/google-services.json new file mode 100644 index 00000000..791f2d92 --- /dev/null +++ b/android/app/src/xhj_pre/google-services.json @@ -0,0 +1,48 @@ +{ + "project_info": { + "project_number": "28150044todo", + "project_id": "skychip2023-etodo", + "storage_bucket": "skychip2023-etodo.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:281500445726:android:ddf52ac7b7f83cf5c4todo", + "android_client_info": { + "package_name": "com.xhjcn.lock" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyC-3-ABWuy9LrYyAw_KxDRto4DanQ0todo" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:281500445726:android:468195b9cc68dd6cc4todo", + "android_client_info": { + "package_name": "com.xhjcn.lock.local" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyC-3-ABWuy9LrYyAw_KxDRto4Dank9todo" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/android/app/xhj_bundle.jks b/android/app/xhj_bundle.jks new file mode 100644 index 00000000..50f0c2c2 Binary files /dev/null and b/android/app/xhj_bundle.jks differ diff --git a/android/build.sh b/android/build.sh index 8e672739..4b598959 100755 --- a/android/build.sh +++ b/android/build.sh @@ -12,12 +12,14 @@ regex='^v[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z]+\.[0-9]+)?$' if [[ "${ENV_BUILD_BRANCH}" == "canary_release" ]]; then echo "===build canary_release: ${NEXT_VERSION}" export ENV_BUILD_TAG=${NEXT_VERSION} - bundle exec fastlane release flavor:xhj --verbose - bundle exec fastlane release flavor:sky --verbose + bundle exec fastlane release_apk flavor:xhj --verbose + bundle exec fastlane release_apk flavor:sky --verbose elif [[ $ENV_BUILD_TAG =~ $regex ]]; then echo "===build release===$ENV_BUILD_TAG" - bundle exec fastlane release flavor:xhj --verbose - bundle exec fastlane release flavor:sky --verbose + bundle exec fastlane release_apk flavor:xhj --verbose + bundle exec fastlane release_apk flavor:sky --verbose + bundle exec fastlane release_bundle flavor:xhj_bundle --verbose + bundle exec fastlane release_bundle flavor:sky --verbose elif [[ "${ENV_BUILD_BRANCH}" == "develop" ]]; then echo "===build dev===${NEXT_VERSION}" bundle exec fastlane beta flavor:xhj env:dev --verbose diff --git a/android/fastlane/Fastfile b/android/fastlane/Fastfile index 3930650f..a99f62f0 100644 --- a/android/fastlane/Fastfile +++ b/android/fastlane/Fastfile @@ -67,7 +67,9 @@ platform :android do commit_hash = last_git_commit short_hash = commit_hash[:abbreviated_commit_hash] print_log "last_git_commit_short_hash #{short_hash}" + remove_zone_pre_build(zone:"com") Dir.chdir "../.." do + sh("flutter","pub","get") sh("flutter", "build", "apk", "--no-tree-shake-icons", "--release", "--flavor", "#{flavor}_#{env}", "-t", "lib/main_#{flavor}_#{env}.dart", "--build-number=#{build_number}", "--build-name=#{build_version}") end old_file_path = File.join($path_apk_output_dir, "app-#{flavor}_#{env}-release.apk") @@ -82,7 +84,7 @@ platform :android do end desc "Build & upload a new version to Gitlab Release" - lane :release do |options| + lane :release_apk do |options| flavor = options[:flavor] UI.user_error!("flavor is required") unless flavor print_log "build flavor for: #{flavor}" @@ -93,13 +95,31 @@ platform :android do commit_hash = last_git_commit short_hash = commit_hash[:abbreviated_commit_hash] print_log "last_git_commit_short_hash #{short_hash}" + remove_zone_pre_build(zone:"com") Dir.chdir "../.." do + sh("flutter","pub","get") sh("flutter", "build", "apk", "--no-tree-shake-icons", "--release", "--flavor", "#{flavor}", "-t", "lib/main_#{flavor}_lite.dart", "--build-number=#{build_number}", "--build-name=#{build_version}") end old_apk_file_path = File.join($path_apk_output_dir, "app-#{flavor}-release.apk") new_apk_file_path = File.join($path_apk_output_dir, "starlock-#{flavor}-release-"+$current_tag+".apk") File.rename(old_apk_file_path, new_apk_file_path) + end + + desc "Build & upload a new version to Gitlab Release" + lane :release_bundle do |options| + flavor = options[:flavor] + UI.user_error!("flavor is required") unless flavor + print_log "build flavor for: #{flavor}" + build_number = Time.now.strftime("%Y%m%d%H") + print_log "BuildNo #{build_number}" + build_version = $current_tag.match(/^v(\d+\.\d+\.\d+)/).captures[0] + print_log "buildVersion #{build_version}" + commit_hash = last_git_commit + short_hash = commit_hash[:abbreviated_commit_hash] + print_log "last_git_commit_short_hash #{short_hash}" + remove_zone_pre_build(zone:"cn") Dir.chdir "../.." do + sh("flutter","pub","get") sh("flutter", "build", "appbundle", "--no-tree-shake-icons", "--release", "--flavor", "#{flavor}", "-t", "lib/main_#{flavor}_lite.dart", "--build-number=#{build_number}", "--build-name=#{build_version}") end old_bundle_file_path = File.join($path_bundle_output_dir , "/#{flavor}Release/app-#{flavor}-release.aab") @@ -122,4 +142,45 @@ platform :android do File.delete(file) end end + + lane :remove_zone_pre_build do |options| + sh("git", "reset", "--hard") + zone = options[:zone] + UI.user_error!("Please provide valid 'zone'") unless zone + pathList=["pubspec.yaml","/android/app/build.gradle","/lib/apm"] + extensions = [".dart",".gradle"] #options[:extensions] + if pathList.empty? || extensions.empty? + UI.user_error!("Please provide valid 'paths' and 'extensions' arrays.") + end + puts "start prepare zone: #{zone},pathList:#{pathList},extensions:#{extensions}" + regexp_List = [/#<#{zone}>.*?#<\/#{zone}>/m,/\/\/\<#{zone}\>.*?\/\/\<\/#{zone}\>/m] + UI.message("Processed RegExpList: #{regexp_List}") + def process_file(file_path, regexpList) + content = File.read(file_path) + regexpList.each do |tag| + content = content.gsub(tag,'') + end + File.write(file_path, content) + UI.message("Processed file: #{file_path},content :\n #{content}") + end + + pathList.each do |path| + realPath = File.join($path_dir_build, path) + if File.directory?(realPath) + Dir.glob("#{realPath}/**/*").each do |file| + if File.directory?(file) + UI.message("Find child dir path: #{file}") + elsif extensions.include?(File.extname(file)) + process_file(file,regexp_List) + end + end + elsif File.file?(realPath) + process_file(realPath,regexp_List) + else + UI.message("Invalid path: #{realPath}") + end + end + UI.success("All matching content removed from specified files.") + end + end diff --git a/firebase.json b/firebase.json new file mode 100644 index 00000000..30b98ac5 --- /dev/null +++ b/firebase.json @@ -0,0 +1 @@ +{"flutter":{"platforms":{"android":{"default":{"projectId":"skychip2023-ecdff","appId":"1:281500445726:android:468195b9cc68dd6cc4d20f","fileOutput":"android/app/google-services.json"}},"ios":{"default":{"projectId":"skychip2023-ecdff","appId":"1:281500445726:ios:b194ccffb92fb86cc4d20f","uploadDebugSymbols":false,"fileOutput":"ios/Runner/GoogleService-Info.plist"}},"dart":{"lib/firebase_options.dart":{"projectId":"skychip2023-ecdff","configurations":{"android":"1:281500445726:android:468195b9cc68dd6cc4d20f","ios":"1:281500445726:ios:b194ccffb92fb86cc4d20f"}}}}}} \ No newline at end of file diff --git a/images/icon_main_sky_1024.png b/images/icon_main_sky_1024.png index 1401d392..d03e73fa 100644 Binary files a/images/icon_main_sky_1024.png and b/images/icon_main_sky_1024.png differ diff --git a/ios/Podfile b/ios/Podfile index 76407fa5..64791de8 100755 --- a/ios/Podfile +++ b/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -platform :ios, '12.0' +platform :ios, '13.0' #use_modular_headers! use_frameworks! :linkage => :static # CocoaPods analytics sends network stats synchronously affecting flutter build latency. diff --git a/ios/Podfile.lock b/ios/Podfile.lock new file mode 100644 index 00000000..e0f0b584 --- /dev/null +++ b/ios/Podfile.lock @@ -0,0 +1,500 @@ +PODS: + - aj_captcha_flutter (0.0.1): + - Flutter + - AlicloudPush (1.9.9.8): + - AlicloudSender + - AlicloudUT + - AlicloudUtils + - AlicloudSender (1.0.0.3): + - AlicloudUTDID + - EMASRest + - AlicloudUT (5.2.0.16): + - AlicloudUTDID + - AlicloudUTDID (1.6.0) + - AlicloudUtils (2.0.0): + - AlicloudUTDID + - aliyun_face_plugin (0.0.1): + - Flutter + - AMap3DMap (10.0.700): + - AMapFoundation (>= 1.8.0) + - amap_flutter_location (0.0.1): + - AMapLocation + - Flutter + - amap_flutter_map (0.0.1): + - AMap3DMap + - Flutter + - AMapFoundation (1.8.2) + - AMapLocation (2.10.0): + - AMapFoundation (>= 1.8.0) + - app_settings (5.1.1): + - Flutter + - audio_session (0.0.1): + - Flutter + - audioplayers_darwin (0.0.1): + - Flutter + - auto_orientation (0.0.1): + - Flutter + - Bugly (2.6.1) + - camera_avfoundation (0.0.1): + - Flutter + - connectivity_plus (0.0.1): + - Flutter + - FlutterMacOS + - device_info_plus (0.0.1): + - Flutter + - DKImagePickerController/Core (4.3.9): + - DKImagePickerController/ImageDataManager + - DKImagePickerController/Resource + - DKImagePickerController/ImageDataManager (4.3.9) + - DKImagePickerController/PhotoGallery (4.3.9): + - DKImagePickerController/Core + - DKPhotoGallery + - DKImagePickerController/Resource (4.3.9) + - DKPhotoGallery (0.0.19): + - DKPhotoGallery/Core (= 0.0.19) + - DKPhotoGallery/Model (= 0.0.19) + - DKPhotoGallery/Preview (= 0.0.19) + - DKPhotoGallery/Resource (= 0.0.19) + - SDWebImage + - SwiftyGif + - DKPhotoGallery/Core (0.0.19): + - DKPhotoGallery/Model + - DKPhotoGallery/Preview + - SDWebImage + - SwiftyGif + - DKPhotoGallery/Model (0.0.19): + - SDWebImage + - SwiftyGif + - DKPhotoGallery/Preview (0.0.19): + - DKPhotoGallery/Model + - DKPhotoGallery/Resource + - SDWebImage + - SwiftyGif + - DKPhotoGallery/Resource (0.0.19): + - SDWebImage + - SwiftyGif + - EMASRest (11.1.1.2) + - file_picker (0.0.1): + - DKImagePickerController/PhotoGallery + - Flutter + - Firebase/Analytics (11.0.0): + - Firebase/Core + - Firebase/Core (11.0.0): + - Firebase/CoreOnly + - FirebaseAnalytics (~> 11.0.0) + - Firebase/CoreOnly (11.0.0): + - FirebaseCore (= 11.0.0) + - firebase_analytics (11.3.0): + - Firebase/Analytics (= 11.0.0) + - firebase_core + - Flutter + - firebase_core (3.4.0): + - Firebase/CoreOnly (= 11.0.0) + - Flutter + - FirebaseAnalytics (11.0.0): + - FirebaseAnalytics/AdIdSupport (= 11.0.0) + - FirebaseCore (~> 11.0) + - FirebaseInstallations (~> 11.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - FirebaseAnalytics/AdIdSupport (11.0.0): + - FirebaseCore (~> 11.0) + - FirebaseInstallations (~> 11.0) + - GoogleAppMeasurement (= 11.0.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - FirebaseCore (11.0.0): + - FirebaseCoreInternal (~> 11.0) + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/Logger (~> 8.0) + - FirebaseCoreInternal (11.7.0): + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - FirebaseInstallations (11.4.0): + - FirebaseCore (~> 11.0) + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/UserDefaults (~> 8.0) + - PromisesObjC (~> 2.4) + - Flutter (1.0.0) + - flutter_blue_plus (0.0.1): + - Flutter + - flutter_bugly (0.0.1): + - Bugly (= 2.6.1) + - Flutter + - flutter_local_notifications (0.0.1): + - Flutter + - flutter_native_contact_picker (0.0.1): + - Flutter + - flutter_pcm_sound (0.0.1): + - Flutter + - flutter_voice_processor (1.1.1): + - Flutter + - ios-voice-processor (~> 1.1.0) + - fluttertoast (0.0.2): + - Flutter + - Toast + - fluwx (0.0.1): + - Flutter + - fluwx/pay (= 0.0.1) + - fluwx/pay (0.0.1): + - Flutter + - WechatOpenSDK-XCFramework (~> 2.0.4) + - google_maps_flutter_ios (0.0.1): + - Flutter + - GoogleMaps (< 9.0) + - GoogleAppMeasurement (11.0.0): + - GoogleAppMeasurement/AdIdSupport (= 11.0.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - GoogleAppMeasurement/AdIdSupport (11.0.0): + - GoogleAppMeasurement/WithoutAdIdSupport (= 11.0.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - GoogleAppMeasurement/WithoutAdIdSupport (11.0.0): + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - GoogleMaps (6.2.1): + - GoogleMaps/Maps (= 6.2.1) + - GoogleMaps/Base (6.2.1) + - GoogleMaps/Maps (6.2.1): + - GoogleMaps/Base + - GoogleUtilities/AppDelegateSwizzler (8.0.2): + - GoogleUtilities/Environment + - GoogleUtilities/Logger + - GoogleUtilities/Network + - GoogleUtilities/Privacy + - GoogleUtilities/Environment (8.0.2): + - GoogleUtilities/Privacy + - GoogleUtilities/Logger (8.0.2): + - GoogleUtilities/Environment + - GoogleUtilities/Privacy + - GoogleUtilities/MethodSwizzler (8.0.2): + - GoogleUtilities/Logger + - GoogleUtilities/Privacy + - GoogleUtilities/Network (8.0.2): + - GoogleUtilities/Logger + - "GoogleUtilities/NSData+zlib" + - GoogleUtilities/Privacy + - GoogleUtilities/Reachability + - "GoogleUtilities/NSData+zlib (8.0.2)": + - GoogleUtilities/Privacy + - GoogleUtilities/Privacy (8.0.2) + - GoogleUtilities/Reachability (8.0.2): + - GoogleUtilities/Logger + - GoogleUtilities/Privacy + - GoogleUtilities/UserDefaults (8.0.2): + - GoogleUtilities/Logger + - GoogleUtilities/Privacy + - image_gallery_saver (2.0.2): + - Flutter + - image_picker_ios (0.0.1): + - Flutter + - ios-voice-processor (1.1.0) + - JCore (4.6.2) + - JPush (5.3.0): + - JCore (>= 2.0.0) + - jpush_flutter (0.0.2): + - Flutter + - JCore (>= 4.6.2) + - JPush (= 5.3.0) + - just_audio (0.0.1): + - Flutter + - nanopb (3.30910.0): + - nanopb/decode (= 3.30910.0) + - nanopb/encode (= 3.30910.0) + - nanopb/decode (3.30910.0) + - nanopb/encode (3.30910.0) + - network_info_plus (0.0.1): + - Flutter + - open_filex (0.0.2): + - Flutter + - package_info_plus (0.4.5): + - Flutter + - path_provider_foundation (0.0.1): + - Flutter + - FlutterMacOS + - permission_handler_apple (9.3.0): + - Flutter + - PromisesObjC (2.4.0) + - SDWebImage (5.19.2): + - SDWebImage/Core (= 5.19.2) + - SDWebImage/Core (5.19.2) + - shared_preferences_foundation (0.0.1): + - Flutter + - FlutterMacOS + - sqflite (0.0.3): + - Flutter + - FlutterMacOS + - SwiftyGif (5.4.5) + - system_settings (0.0.1): + - Flutter + - Toast (4.1.1) + - UMCommon (7.4.7): + - UMDevice + - UMDevice (3.4.0) + - umeng_common_sdk (0.0.1): + - Flutter + - UMCommon + - UMDevice + - url_launcher_ios (0.0.1): + - Flutter + - video_player_avfoundation (0.0.1): + - Flutter + - FlutterMacOS + - webview_flutter_wkwebview (0.0.1): + - Flutter + - WechatOpenSDK-XCFramework (2.0.4) + +DEPENDENCIES: + - aj_captcha_flutter (from `.symlinks/plugins/aj_captcha_flutter/ios`) + - AlicloudPush (~> 1.9.9) + - aliyun_face_plugin (from `.symlinks/plugins/aliyun_face_plugin/ios`) + - amap_flutter_location (from `.symlinks/plugins/amap_flutter_location/ios`) + - amap_flutter_map (from `.symlinks/plugins/amap_flutter_map/ios`) + - app_settings (from `.symlinks/plugins/app_settings/ios`) + - audio_session (from `.symlinks/plugins/audio_session/ios`) + - audioplayers_darwin (from `.symlinks/plugins/audioplayers_darwin/ios`) + - auto_orientation (from `.symlinks/plugins/auto_orientation/ios`) + - camera_avfoundation (from `.symlinks/plugins/camera_avfoundation/ios`) + - connectivity_plus (from `.symlinks/plugins/connectivity_plus/darwin`) + - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) + - file_picker (from `.symlinks/plugins/file_picker/ios`) + - firebase_analytics (from `.symlinks/plugins/firebase_analytics/ios`) + - firebase_core (from `.symlinks/plugins/firebase_core/ios`) + - Flutter (from `Flutter`) + - flutter_blue_plus (from `.symlinks/plugins/flutter_blue_plus/ios`) + - flutter_bugly (from `.symlinks/plugins/flutter_bugly/ios`) + - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`) + - flutter_native_contact_picker (from `.symlinks/plugins/flutter_native_contact_picker/ios`) + - flutter_pcm_sound (from `.symlinks/plugins/flutter_pcm_sound/ios`) + - flutter_voice_processor (from `.symlinks/plugins/flutter_voice_processor/ios`) + - fluttertoast (from `.symlinks/plugins/fluttertoast/ios`) + - fluwx (from `.symlinks/plugins/fluwx/ios`) + - google_maps_flutter_ios (from `.symlinks/plugins/google_maps_flutter_ios/ios`) + - image_gallery_saver (from `.symlinks/plugins/image_gallery_saver/ios`) + - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`) + - JPush + - jpush_flutter (from `.symlinks/plugins/jpush_flutter/ios`) + - just_audio (from `.symlinks/plugins/just_audio/ios`) + - network_info_plus (from `.symlinks/plugins/network_info_plus/ios`) + - open_filex (from `.symlinks/plugins/open_filex/ios`) + - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) + - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) + - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) + - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) + - sqflite (from `.symlinks/plugins/sqflite/darwin`) + - system_settings (from `.symlinks/plugins/system_settings/ios`) + - UMCommon + - UMDevice + - umeng_common_sdk (from `.symlinks/plugins/umeng_common_sdk/ios`) + - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) + - video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/darwin`) + - webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/ios`) + +SPEC REPOS: + https://github.com/aliyun/aliyun-specs.git: + - AlicloudPush + - AlicloudSender + - AlicloudUT + - AlicloudUTDID + - AlicloudUtils + - EMASRest + https://github.com/CocoaPods/Specs.git: + - AMap3DMap + - AMapFoundation + - AMapLocation + - Bugly + - DKImagePickerController + - DKPhotoGallery + - Firebase + - FirebaseAnalytics + - FirebaseCore + - FirebaseCoreInternal + - FirebaseInstallations + - GoogleAppMeasurement + - GoogleMaps + - GoogleUtilities + - ios-voice-processor + - JCore + - JPush + - nanopb + - PromisesObjC + - SDWebImage + - SwiftyGif + - Toast + - UMCommon + - UMDevice + - WechatOpenSDK-XCFramework + +EXTERNAL SOURCES: + aj_captcha_flutter: + :path: ".symlinks/plugins/aj_captcha_flutter/ios" + aliyun_face_plugin: + :path: ".symlinks/plugins/aliyun_face_plugin/ios" + amap_flutter_location: + :path: ".symlinks/plugins/amap_flutter_location/ios" + amap_flutter_map: + :path: ".symlinks/plugins/amap_flutter_map/ios" + app_settings: + :path: ".symlinks/plugins/app_settings/ios" + audio_session: + :path: ".symlinks/plugins/audio_session/ios" + audioplayers_darwin: + :path: ".symlinks/plugins/audioplayers_darwin/ios" + auto_orientation: + :path: ".symlinks/plugins/auto_orientation/ios" + camera_avfoundation: + :path: ".symlinks/plugins/camera_avfoundation/ios" + connectivity_plus: + :path: ".symlinks/plugins/connectivity_plus/darwin" + device_info_plus: + :path: ".symlinks/plugins/device_info_plus/ios" + file_picker: + :path: ".symlinks/plugins/file_picker/ios" + firebase_analytics: + :path: ".symlinks/plugins/firebase_analytics/ios" + firebase_core: + :path: ".symlinks/plugins/firebase_core/ios" + Flutter: + :path: Flutter + flutter_blue_plus: + :path: ".symlinks/plugins/flutter_blue_plus/ios" + flutter_bugly: + :path: ".symlinks/plugins/flutter_bugly/ios" + flutter_local_notifications: + :path: ".symlinks/plugins/flutter_local_notifications/ios" + flutter_native_contact_picker: + :path: ".symlinks/plugins/flutter_native_contact_picker/ios" + flutter_pcm_sound: + :path: ".symlinks/plugins/flutter_pcm_sound/ios" + flutter_voice_processor: + :path: ".symlinks/plugins/flutter_voice_processor/ios" + fluttertoast: + :path: ".symlinks/plugins/fluttertoast/ios" + fluwx: + :path: ".symlinks/plugins/fluwx/ios" + google_maps_flutter_ios: + :path: ".symlinks/plugins/google_maps_flutter_ios/ios" + image_gallery_saver: + :path: ".symlinks/plugins/image_gallery_saver/ios" + image_picker_ios: + :path: ".symlinks/plugins/image_picker_ios/ios" + jpush_flutter: + :path: ".symlinks/plugins/jpush_flutter/ios" + just_audio: + :path: ".symlinks/plugins/just_audio/ios" + network_info_plus: + :path: ".symlinks/plugins/network_info_plus/ios" + open_filex: + :path: ".symlinks/plugins/open_filex/ios" + package_info_plus: + :path: ".symlinks/plugins/package_info_plus/ios" + path_provider_foundation: + :path: ".symlinks/plugins/path_provider_foundation/darwin" + permission_handler_apple: + :path: ".symlinks/plugins/permission_handler_apple/ios" + shared_preferences_foundation: + :path: ".symlinks/plugins/shared_preferences_foundation/darwin" + sqflite: + :path: ".symlinks/plugins/sqflite/darwin" + system_settings: + :path: ".symlinks/plugins/system_settings/ios" + umeng_common_sdk: + :path: ".symlinks/plugins/umeng_common_sdk/ios" + url_launcher_ios: + :path: ".symlinks/plugins/url_launcher_ios/ios" + video_player_avfoundation: + :path: ".symlinks/plugins/video_player_avfoundation/darwin" + webview_flutter_wkwebview: + :path: ".symlinks/plugins/webview_flutter_wkwebview/ios" + +SPEC CHECKSUMS: + aj_captcha_flutter: dd7af1aa064bdd621ae335b819bab07309c3c023 + AlicloudPush: 88529c9b796e4ece0601de0867b30359f55b61f7 + AlicloudSender: 1f468b6bd962a099ffc19d45e3608b0fe98f259d + AlicloudUT: 6d1cf30d57d096b7e9bb4b069dd0ba6ad59a3338 + AlicloudUTDID: 4e9d44c2fd704b3508069c38eaec9d6a759e702c + AlicloudUtils: 2a78de434a8b2dc99e408c4d6220e654076d9ef0 + aliyun_face_plugin: 7a90b6526c5acea616062e809699294c782c3eb8 + AMap3DMap: 6ee456d7ba946ebbad580a343b74ffa8e9936175 + amap_flutter_location: 44ff5beb64f42e0bf5feb402fe299dac0013af6f + amap_flutter_map: 979e54d227cedac6c7504a2151bfbf3bcf96760a + AMapFoundation: 9885c48fc3a78fdfb84a0299a2293e56ea3c9fec + AMapLocation: 5248aec2455ebb5d104b367813c946430a2ee033 + app_settings: 017320c6a680cdc94c799949d95b84cb69389ebc + audio_session: 088d2483ebd1dc43f51d253d4a1c517d9a2e7207 + audioplayers_darwin: 877d9a4d06331c5c374595e46e16453ac7eafa40 + auto_orientation: 102ed811a5938d52c86520ddd7ecd3a126b5d39d + Bugly: 217ac2ce5f0f2626d43dbaa4f70764c953a26a31 + camera_avfoundation: dd002b0330f4981e1bbcb46ae9b62829237459a4 + connectivity_plus: ddd7f30999e1faaef5967c23d5b6d503d10434db + device_info_plus: e5c5da33f982a436e103237c0c85f9031142abed + DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c + DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60 + EMASRest: 8df6f87836767a9415ad5cc4af739bc9d215b475 + file_picker: ce3938a0df3cc1ef404671531facef740d03f920 + Firebase: 9f574c08c2396885b5e7e100ed4293d956218af9 + firebase_analytics: 1a66fe8d4375eccff44671ea37897683a78b2675 + firebase_core: ceec591a66629daaee82d3321551692c4a871493 + FirebaseAnalytics: 27eb78b97880ea4a004839b9bac0b58880f5a92a + FirebaseCore: 3cf438f431f18c12cdf2aaf64434648b63f7e383 + FirebaseCoreInternal: d6c17dafc8dc33614733a8b52df78fcb4394c881 + FirebaseInstallations: 6ef4a1c7eb2a61ee1f74727d7f6ce2e72acf1414 + Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 + flutter_blue_plus: 4837da7d00cf5d441fdd6635b3a57f936778ea96 + flutter_bugly: bf35df32a9c5d50b8aacdd35bd8ddc5b55150dae + flutter_local_notifications: 4cde75091f6327eb8517fa068a0a5950212d2086 + flutter_native_contact_picker: bd430ba0fbf82768bb50c2c52a69a65759a8f907 + flutter_pcm_sound: de0572ca4f99091cc2abfcc31601b8a4ddd33c0e + flutter_voice_processor: 2b89b93d69b02227ae3fd58589ee0bcfa3ca2a82 + fluttertoast: e9a18c7be5413da53898f660530c56f35edfba9c + fluwx: c18fd6c16b03a2187cd07d6e48e32a7801962849 + google_maps_flutter_ios: f135b968a67c05679e0a53538e900b5c174b0d99 + GoogleAppMeasurement: 6e49ffac7d3f2c3ded9cc663f912a13b67bbd0de + GoogleMaps: 20d7b12be49a14287f797e88e0e31bc4156aaeb4 + GoogleUtilities: 26a3abef001b6533cf678d3eb38fd3f614b7872d + image_gallery_saver: cb43cc43141711190510e92c460eb1655cd343cb + image_picker_ios: c560581cceedb403a6ff17f2f816d7fea1421fc1 + ios-voice-processor: 8e32d7f980a06d392d128ef1cd19cf6ddcaca3c1 + JCore: 024c73b04e110b496e93d8c127ea9cd1ed934e4c + JPush: b71f497a3c1b825c7843fd97f290b05d5cd75f2e + jpush_flutter: c87be254790933c0363684169ef9d3d279a5adc5 + just_audio: baa7252489dbcf47a4c7cc9ca663e9661c99aafa + nanopb: fad817b59e0457d11a5dfbde799381cd727c1275 + network_info_plus: 6d0c3eb8367b8164fa3fb0c19875e3f59d49697f + open_filex: 6e26e659846ec990262224a12ef1c528bb4edbe4 + package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e + path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 + permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2 + PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 + SDWebImage: dfe95b2466a9823cf9f0c6d01217c06550d7b29a + shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 + sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec + SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4 + system_settings: 8f5cdbfa72c677fc8d665b863bcc20d393d87e9d + Toast: 1f5ea13423a1e6674c4abdac5be53587ae481c4e + UMCommon: 8b4cd0423297c39bca6eea1ec896558b40e5bcf7 + UMDevice: dcdf7ec167387837559d149fbc7d793d984faf82 + umeng_common_sdk: a8abd7f86dfd013dbbeeae587ee143760c6582f2 + url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe + video_player_avfoundation: 7c6c11d8470e1675df7397027218274b6d2360b3 + webview_flutter_wkwebview: 2a23822e9039b7b1bc52e5add778e5d89ad488d1 + WechatOpenSDK-XCFramework: 36fb2bea0754266c17184adf4963d7e6ff98b69f + +PODFILE CHECKSUM: 728f9c851a19709391c77c54ed3556e484b54db6 + +COCOAPODS: 1.14.3 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 238827f8..7a12c6ca 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -107,6 +107,146 @@ 04717D702D1B9B5A00089BD3 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist_xhj.strings"; sourceTree = ""; }; 04717D722D1B9B5D00089BD3 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; 04BFC4482BCFE05100688FCA /* RunnerRelease-xhj.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "RunnerRelease-xhj.entitlements"; sourceTree = ""; }; + 04FF45362D3218240085A7B2 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Main.strings; sourceTree = ""; }; + 04FF45372D3218240085A7B2 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45382D3218240085A7B2 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45392D3218240085A7B2 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF453A2D32199F0085A7B2 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Main.strings; sourceTree = ""; }; + 04FF453B2D32199F0085A7B2 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF453C2D32199F0085A7B2 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF453D2D32199F0085A7B2 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF453E2D321A410085A7B2 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Main.strings; sourceTree = ""; }; + 04FF453F2D321A410085A7B2 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45402D321A420085A7B2 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45412D321A420085A7B2 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF45422D321AB50085A7B2 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Main.strings; sourceTree = ""; }; + 04FF45432D321AB50085A7B2 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45442D321AB60085A7B2 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45452D321AB60085A7B2 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF45462D321DB80085A7B2 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Main.strings; sourceTree = ""; }; + 04FF45472D321DB80085A7B2 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45482D321DB80085A7B2 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45492D321DB80085A7B2 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF454A2D321E590085A7B2 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Main.strings; sourceTree = ""; }; + 04FF454B2D321E590085A7B2 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF454C2D321E590085A7B2 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF454D2D321E590085A7B2 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF454E2D321EA00085A7B2 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/Main.strings; sourceTree = ""; }; + 04FF454F2D321EA00085A7B2 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45502D321EA00085A7B2 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45512D321EA00085A7B2 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF45522D321F080085A7B2 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Main.strings"; sourceTree = ""; }; + 04FF45532D321F080085A7B2 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/InfoPlist.strings"; sourceTree = ""; }; + 04FF45542D321F080085A7B2 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/InfoPlist_sky.strings"; sourceTree = ""; }; + 04FF45552D321F080085A7B2 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/InfoPlist_xhj.strings"; sourceTree = ""; }; + 04FF45562D321F720085A7B2 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Main.strings; sourceTree = ""; }; + 04FF45572D321F720085A7B2 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45582D321F720085A7B2 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45592D321F720085A7B2 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF455A2D3220840085A7B2 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/Main.strings; sourceTree = ""; }; + 04FF455B2D3220840085A7B2 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF455C2D3220850085A7B2 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF455D2D3220850085A7B2 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF455E2D3220F00085A7B2 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Main.strings; sourceTree = ""; }; + 04FF455F2D3220F00085A7B2 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45602D3220F00085A7B2 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45612D3220F00085A7B2 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF45622D32212D0085A7B2 /* ms */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ms; path = ms.lproj/Main.strings; sourceTree = ""; }; + 04FF45632D32212D0085A7B2 /* ms */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ms; path = ms.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45642D32212D0085A7B2 /* ms */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ms; path = ms.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45652D32212D0085A7B2 /* ms */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ms; path = ms.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF45662D3221820085A7B2 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Main.strings; sourceTree = ""; }; + 04FF45672D3221820085A7B2 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45682D3221820085A7B2 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45692D3221820085A7B2 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF456A2D3221BD0085A7B2 /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/Main.strings; sourceTree = ""; }; + 04FF456B2D3221BD0085A7B2 /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF456C2D3221BD0085A7B2 /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF456D2D3221BD0085A7B2 /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF456E2D3222620085A7B2 /* lt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lt; path = lt.lproj/Main.strings; sourceTree = ""; }; + 04FF456F2D3222620085A7B2 /* lt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lt; path = lt.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45702D3222620085A7B2 /* lt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lt; path = lt.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45712D3222620085A7B2 /* lt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lt; path = lt.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF45722D3222B40085A7B2 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Main.strings; sourceTree = ""; }; + 04FF45732D3222B40085A7B2 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45742D3222B50085A7B2 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45752D3222B50085A7B2 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF45762D3223130085A7B2 /* et */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = et; path = et.lproj/Main.strings; sourceTree = ""; }; + 04FF45772D3223130085A7B2 /* et */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = et; path = et.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45782D3223130085A7B2 /* et */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = et; path = et.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45792D3223130085A7B2 /* et */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = et; path = et.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF457A2D3223620085A7B2 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Main.strings; sourceTree = ""; }; + 04FF457B2D3223620085A7B2 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF457C2D3223620085A7B2 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF457D2D3223620085A7B2 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF457E2D3223A90085A7B2 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/Main.strings; sourceTree = ""; }; + 04FF457F2D3223A90085A7B2 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45802D3223A90085A7B2 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45812D3223A90085A7B2 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF45822D3223EA0085A7B2 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/Main.strings; sourceTree = ""; }; + 04FF45832D3223EA0085A7B2 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45842D3223EA0085A7B2 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45852D3223EA0085A7B2 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF45862D323B300085A7B2 /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/Main.strings; sourceTree = ""; }; + 04FF45872D323B300085A7B2 /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45882D323B300085A7B2 /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45892D323B300085A7B2 /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF458A2D323B6F0085A7B2 /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/Main.strings; sourceTree = ""; }; + 04FF458B2D323B6F0085A7B2 /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF458C2D323B6F0085A7B2 /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF458D2D323B6F0085A7B2 /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF458E2D323DE60085A7B2 /* sr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sr; path = sr.lproj/Main.strings; sourceTree = ""; }; + 04FF458F2D323DE60085A7B2 /* sr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sr; path = sr.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45902D323DE60085A7B2 /* sr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sr; path = sr.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45912D323DE70085A7B2 /* sr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sr; path = sr.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF45922D323EAC0085A7B2 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Main.strings; sourceTree = ""; }; + 04FF45932D323EAC0085A7B2 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45942D323EAC0085A7B2 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45952D323EAC0085A7B2 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF45962D323EEF0085A7B2 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Main.strings; sourceTree = ""; }; + 04FF45972D323EEF0085A7B2 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45982D323EEF0085A7B2 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45992D323EEF0085A7B2 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF459A2D323F610085A7B2 /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg; path = bg.lproj/Main.strings; sourceTree = ""; }; + 04FF459B2D323F610085A7B2 /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg; path = bg.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF459C2D323F620085A7B2 /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg; path = bg.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF459D2D323F620085A7B2 /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg; path = bg.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF459E2D3240110085A7B2 /* kk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = kk; path = kk.lproj/Main.strings; sourceTree = ""; }; + 04FF459F2D3240110085A7B2 /* kk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = kk; path = kk.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45A02D3240110085A7B2 /* kk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = kk; path = kk.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45A12D3240110085A7B2 /* kk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = kk; path = kk.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF45A22D32414C0085A7B2 /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Main.strings; sourceTree = ""; }; + 04FF45A32D32414C0085A7B2 /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45A42D32414C0085A7B2 /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45A52D32414C0085A7B2 /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF45A62D32418D0085A7B2 /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/Main.strings; sourceTree = ""; }; + 04FF45A72D32418D0085A7B2 /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45A82D32418E0085A7B2 /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45A92D32418E0085A7B2 /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF45AA2D32420B0085A7B2 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Main.strings; sourceTree = ""; }; + 04FF45AB2D32420B0085A7B2 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45AC2D32420B0085A7B2 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45AD2D32420B0085A7B2 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF45AE2D32424F0085A7B2 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Main.strings; sourceTree = ""; }; + 04FF45AF2D32424F0085A7B2 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45B02D32424F0085A7B2 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45B12D32424F0085A7B2 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF45B22D3242920085A7B2 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Main.strings; sourceTree = ""; }; + 04FF45B32D3242920085A7B2 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45B42D3242920085A7B2 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45B52D3242920085A7B2 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; + 04FF45B62D3243560085A7B2 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Main.strings"; sourceTree = ""; }; + 04FF45B72D3243560085A7B2 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/InfoPlist.strings"; sourceTree = ""; }; + 04FF45B82D3243560085A7B2 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/InfoPlist_sky.strings"; sourceTree = ""; }; + 04FF45B92D3243560085A7B2 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/InfoPlist_xhj.strings"; sourceTree = ""; }; + 04FF45BA2D32437B0085A7B2 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Main.strings"; sourceTree = ""; }; + 04FF45BB2D32437B0085A7B2 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/InfoPlist.strings"; sourceTree = ""; }; + 04FF45BC2D32437C0085A7B2 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/InfoPlist_sky.strings"; sourceTree = ""; }; + 04FF45BD2D32437C0085A7B2 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/InfoPlist_xhj.strings"; sourceTree = ""; }; + 04FF45BE2D3247190085A7B2 /* bn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bn; path = bn.lproj/Main.strings; sourceTree = ""; }; + 04FF45BF2D3247190085A7B2 /* bn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bn; path = bn.lproj/InfoPlist.strings; sourceTree = ""; }; + 04FF45C02D3247190085A7B2 /* bn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bn; path = bn.lproj/InfoPlist_sky.strings; sourceTree = ""; }; + 04FF45C12D3247190085A7B2 /* bn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bn; path = bn.lproj/InfoPlist_xhj.strings; sourceTree = ""; }; 0BEB3ADCCEC961E2916B9004 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 0D02C18E16914A687A4A1AC2 /* devDebug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = devDebug.xcconfig; path = Flutter/devDebug.xcconfig; sourceTree = ""; }; 126D1370182AB44291C67A10 /* Pods-Runner.dev-release-sky.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.dev-release-sky.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.dev-release-sky.xcconfig"; sourceTree = ""; }; @@ -478,6 +618,41 @@ en, Base, "zh-Hans", + fr, + ru, + de, + ja, + ko, + it, + uk, + "pt-PT", + es, + ar, + vi, + ms, + nl, + ro, + lt, + sv, + et, + pl, + sk, + cs, + he, + el, + sr, + tr, + hu, + bg, + kk, + hr, + th, + id, + fi, + da, + "zh-HK", + "zh-Hant", + bn, ); mainGroup = 97C146E51CF9000F007C117D; productRefGroup = 97C146EF1CF9000F007C117D /* Products */; @@ -649,6 +824,41 @@ children = ( 04717D682D1B97E100089BD3 /* zh-Hans */, 04717D6A2D1B97E800089BD3 /* en */, + 04FF45382D3218240085A7B2 /* fr */, + 04FF453C2D32199F0085A7B2 /* ru */, + 04FF45402D321A420085A7B2 /* de */, + 04FF45442D321AB60085A7B2 /* ja */, + 04FF45482D321DB80085A7B2 /* ko */, + 04FF454C2D321E590085A7B2 /* it */, + 04FF45502D321EA00085A7B2 /* uk */, + 04FF45542D321F080085A7B2 /* pt-PT */, + 04FF45582D321F720085A7B2 /* es */, + 04FF455C2D3220850085A7B2 /* ar */, + 04FF45602D3220F00085A7B2 /* vi */, + 04FF45642D32212D0085A7B2 /* ms */, + 04FF45682D3221820085A7B2 /* nl */, + 04FF456C2D3221BD0085A7B2 /* ro */, + 04FF45702D3222620085A7B2 /* lt */, + 04FF45742D3222B50085A7B2 /* sv */, + 04FF45782D3223130085A7B2 /* et */, + 04FF457C2D3223620085A7B2 /* pl */, + 04FF45802D3223A90085A7B2 /* sk */, + 04FF45842D3223EA0085A7B2 /* cs */, + 04FF45882D323B300085A7B2 /* he */, + 04FF458C2D323B6F0085A7B2 /* el */, + 04FF45902D323DE60085A7B2 /* sr */, + 04FF45942D323EAC0085A7B2 /* tr */, + 04FF45982D323EEF0085A7B2 /* hu */, + 04FF459C2D323F620085A7B2 /* bg */, + 04FF45A02D3240110085A7B2 /* kk */, + 04FF45A42D32414C0085A7B2 /* hr */, + 04FF45A82D32418E0085A7B2 /* th */, + 04FF45AC2D32420B0085A7B2 /* id */, + 04FF45B02D32424F0085A7B2 /* fi */, + 04FF45B42D3242920085A7B2 /* da */, + 04FF45B82D3243560085A7B2 /* zh-HK */, + 04FF45BC2D32437C0085A7B2 /* zh-Hant */, + 04FF45C02D3247190085A7B2 /* bn */, ); name = InfoPlist_sky.strings; sourceTree = ""; @@ -658,6 +868,41 @@ children = ( 04717D6C2D1B983200089BD3 /* en */, 04717D6E2D1B983900089BD3 /* zh-Hans */, + 04FF45372D3218240085A7B2 /* fr */, + 04FF453B2D32199F0085A7B2 /* ru */, + 04FF453F2D321A410085A7B2 /* de */, + 04FF45432D321AB50085A7B2 /* ja */, + 04FF45472D321DB80085A7B2 /* ko */, + 04FF454B2D321E590085A7B2 /* it */, + 04FF454F2D321EA00085A7B2 /* uk */, + 04FF45532D321F080085A7B2 /* pt-PT */, + 04FF45572D321F720085A7B2 /* es */, + 04FF455B2D3220840085A7B2 /* ar */, + 04FF455F2D3220F00085A7B2 /* vi */, + 04FF45632D32212D0085A7B2 /* ms */, + 04FF45672D3221820085A7B2 /* nl */, + 04FF456B2D3221BD0085A7B2 /* ro */, + 04FF456F2D3222620085A7B2 /* lt */, + 04FF45732D3222B40085A7B2 /* sv */, + 04FF45772D3223130085A7B2 /* et */, + 04FF457B2D3223620085A7B2 /* pl */, + 04FF457F2D3223A90085A7B2 /* sk */, + 04FF45832D3223EA0085A7B2 /* cs */, + 04FF45872D323B300085A7B2 /* he */, + 04FF458B2D323B6F0085A7B2 /* el */, + 04FF458F2D323DE60085A7B2 /* sr */, + 04FF45932D323EAC0085A7B2 /* tr */, + 04FF45972D323EEF0085A7B2 /* hu */, + 04FF459B2D323F610085A7B2 /* bg */, + 04FF459F2D3240110085A7B2 /* kk */, + 04FF45A32D32414C0085A7B2 /* hr */, + 04FF45A72D32418D0085A7B2 /* th */, + 04FF45AB2D32420B0085A7B2 /* id */, + 04FF45AF2D32424F0085A7B2 /* fi */, + 04FF45B32D3242920085A7B2 /* da */, + 04FF45B72D3243560085A7B2 /* zh-HK */, + 04FF45BB2D32437B0085A7B2 /* zh-Hant */, + 04FF45BF2D3247190085A7B2 /* bn */, ); name = InfoPlist.strings; sourceTree = ""; @@ -667,6 +912,41 @@ children = ( 04717D702D1B9B5A00089BD3 /* zh-Hans */, 04717D722D1B9B5D00089BD3 /* en */, + 04FF45392D3218240085A7B2 /* fr */, + 04FF453D2D32199F0085A7B2 /* ru */, + 04FF45412D321A420085A7B2 /* de */, + 04FF45452D321AB60085A7B2 /* ja */, + 04FF45492D321DB80085A7B2 /* ko */, + 04FF454D2D321E590085A7B2 /* it */, + 04FF45512D321EA00085A7B2 /* uk */, + 04FF45552D321F080085A7B2 /* pt-PT */, + 04FF45592D321F720085A7B2 /* es */, + 04FF455D2D3220850085A7B2 /* ar */, + 04FF45612D3220F00085A7B2 /* vi */, + 04FF45652D32212D0085A7B2 /* ms */, + 04FF45692D3221820085A7B2 /* nl */, + 04FF456D2D3221BD0085A7B2 /* ro */, + 04FF45712D3222620085A7B2 /* lt */, + 04FF45752D3222B50085A7B2 /* sv */, + 04FF45792D3223130085A7B2 /* et */, + 04FF457D2D3223620085A7B2 /* pl */, + 04FF45812D3223A90085A7B2 /* sk */, + 04FF45852D3223EA0085A7B2 /* cs */, + 04FF45892D323B300085A7B2 /* he */, + 04FF458D2D323B6F0085A7B2 /* el */, + 04FF45912D323DE70085A7B2 /* sr */, + 04FF45952D323EAC0085A7B2 /* tr */, + 04FF45992D323EEF0085A7B2 /* hu */, + 04FF459D2D323F620085A7B2 /* bg */, + 04FF45A12D3240110085A7B2 /* kk */, + 04FF45A52D32414C0085A7B2 /* hr */, + 04FF45A92D32418E0085A7B2 /* th */, + 04FF45AD2D32420B0085A7B2 /* id */, + 04FF45B12D32424F0085A7B2 /* fi */, + 04FF45B52D3242920085A7B2 /* da */, + 04FF45B92D3243560085A7B2 /* zh-HK */, + 04FF45BD2D32437C0085A7B2 /* zh-Hant */, + 04FF45C12D3247190085A7B2 /* bn */, ); name = InfoPlist_xhj.strings; sourceTree = ""; @@ -676,6 +956,41 @@ children = ( 97C146FB1CF9000F007C117D /* Base */, 0420903B2C0EEAA50073E654 /* zh-Hans */, + 04FF45362D3218240085A7B2 /* fr */, + 04FF453A2D32199F0085A7B2 /* ru */, + 04FF453E2D321A410085A7B2 /* de */, + 04FF45422D321AB50085A7B2 /* ja */, + 04FF45462D321DB80085A7B2 /* ko */, + 04FF454A2D321E590085A7B2 /* it */, + 04FF454E2D321EA00085A7B2 /* uk */, + 04FF45522D321F080085A7B2 /* pt-PT */, + 04FF45562D321F720085A7B2 /* es */, + 04FF455A2D3220840085A7B2 /* ar */, + 04FF455E2D3220F00085A7B2 /* vi */, + 04FF45622D32212D0085A7B2 /* ms */, + 04FF45662D3221820085A7B2 /* nl */, + 04FF456A2D3221BD0085A7B2 /* ro */, + 04FF456E2D3222620085A7B2 /* lt */, + 04FF45722D3222B40085A7B2 /* sv */, + 04FF45762D3223130085A7B2 /* et */, + 04FF457A2D3223620085A7B2 /* pl */, + 04FF457E2D3223A90085A7B2 /* sk */, + 04FF45822D3223EA0085A7B2 /* cs */, + 04FF45862D323B300085A7B2 /* he */, + 04FF458A2D323B6F0085A7B2 /* el */, + 04FF458E2D323DE60085A7B2 /* sr */, + 04FF45922D323EAC0085A7B2 /* tr */, + 04FF45962D323EEF0085A7B2 /* hu */, + 04FF459A2D323F610085A7B2 /* bg */, + 04FF459E2D3240110085A7B2 /* kk */, + 04FF45A22D32414C0085A7B2 /* hr */, + 04FF45A62D32418D0085A7B2 /* th */, + 04FF45AA2D32420B0085A7B2 /* id */, + 04FF45AE2D32424F0085A7B2 /* fi */, + 04FF45B22D3242920085A7B2 /* da */, + 04FF45B62D3243560085A7B2 /* zh-HK */, + 04FF45BA2D32437B0085A7B2 /* zh-Hant */, + 04FF45BE2D3247190085A7B2 /* bn */, ); name = Main.storyboard; sourceTree = ""; @@ -765,7 +1080,7 @@ DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = NAQ5PL2DYC; INFOPLIST_FILE = Runner/info_sky.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( /usr/lib/swift, "$(inherited)", @@ -863,7 +1178,7 @@ DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = NAQ5PL2DYC; INFOPLIST_FILE = Runner/info_xhj.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( /usr/lib/swift, "$(inherited)", @@ -890,7 +1205,7 @@ DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = NAQ5PL2DYC; INFOPLIST_FILE = Runner/info_sky.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( /usr/lib/swift, "$(inherited)", @@ -916,7 +1231,7 @@ DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = P8997RW3V8; INFOPLIST_FILE = Runner/info_xhj.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( /usr/lib/swift, "$(inherited)", @@ -1162,7 +1477,7 @@ DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = NAQ5PL2DYC; INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( /usr/lib/swift, "$(inherited)", @@ -1260,7 +1575,7 @@ DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = NAQ5PL2DYC; INFOPLIST_FILE = Runner/info_sky.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( /usr/lib/swift, "$(inherited)", @@ -1358,7 +1673,7 @@ DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = NAQ5PL2DYC; INFOPLIST_FILE = Runner/info_sky.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( /usr/lib/swift, "$(inherited)", @@ -1456,7 +1771,7 @@ DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = P8997RW3V8; INFOPLIST_FILE = Runner/info_xhj.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( /usr/lib/swift, "$(inherited)", @@ -1554,7 +1869,7 @@ DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = P8997RW3V8; INFOPLIST_FILE = Runner/info_xhj.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( /usr/lib/swift, "$(inherited)", diff --git a/ios/Runner/AppDelegate.m b/ios/Runner/AppDelegate.m index 4b399780..c6d3389b 100755 --- a/ios/Runner/AppDelegate.m +++ b/ios/Runner/AppDelegate.m @@ -5,7 +5,7 @@ #import "XSFlutterManager.h" #import -#import +// #import @interface AppDelegate() @@ -19,7 +19,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - [UMConfigure initWithAppkey:@"671244ae80464b33f6df9646" channel:@"Product"]; +// [UMConfigure initWithAppkey:@"671244ae80464b33f6df9646" channel:@"Product"]; XSFlutterManager *VC = [[XSFlutterManager alloc] init]; self.window.rootViewController = VC; diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index d740d5b1..38dc1aee 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -87,11 +87,11 @@ NSFileProtectionKey NSFileProtectionCompleteUntilFirstUserAuthentication NSLocationAlwaysAndWhenInUseUsageDescription - 应用在前台和后台的时候可以搜到更新的位置信息 + 我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备 NSLocationAlwaysUsageDescription - 应用在后台的时候可以搜到更新的位置信息 + 我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备 NSLocationWhenInUseUsageDescription - 应用在前台的时候可以搜到更新的位置信息 + 我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备 NSMicrophoneUsageDescription 应用请求麦克风用来通话 NSPhotoLibraryUsageDescription diff --git a/ios/Runner/RunnerRelease-xhj.entitlements b/ios/Runner/RunnerRelease-xhj.entitlements index d7b50f42..66cd751d 100755 --- a/ios/Runner/RunnerRelease-xhj.entitlements +++ b/ios/Runner/RunnerRelease-xhj.entitlements @@ -6,7 +6,7 @@ development com.apple.developer.associated-domains - applinks:lock.skychip.top + applinks:lock.xhjcn.ltd com.apple.external-accessory.wireless-configuration diff --git a/ios/Runner/ar.lproj/InfoPlist.strings b/ios/Runner/ar.lproj/InfoPlist.strings new file mode 100644 index 00000000..8695cc42 --- /dev/null +++ b/ios/Runner/ar.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="يستخدم هذا التطبيق البلوتوث للبحث عن الأجهزة المختلفة والاتصال بها ونقل البيانات"; +NSBluetoothPeripheralUsageDescription="يستخدم هذا التطبيق البلوتوث للبحث عن الأجهزة المختلفة والاتصال بها ونقل البيانات"; +NSCameraUsageDescription="يطلب التطبيق الوصول إلى الكاميرا لالتقاط الصور وتحميل الصور الرمزية والتحقق من الوجه"; +NSContactsUsageDescription="يصل التطبيق إلى جهات الاتصال لإرسال المفاتيح الإلكترونية إلى جهات الاتصال في دفتر العناوين الخاص بك"; +NSLocationAlwaysAndWhenlnUseUsageDescription="نحتاج إلى الوصول إلى موقعك لتحديد أجهزة أقفال البلوتوث بدقة أكبر"; +NSLocationAlwaysUsageDescription="نحتاج إلى الوصول إلى موقعك لتحديد أجهزة أقفال البلوتوث بدقة أكبر"; +NSLocationWhenInUseUsageDescription="نحتاج إلى الوصول إلى موقعك لتحديد أجهزة أقفال البلوتوث بدقة أكبر"; +NSMicrophoneUsageDescription="يطلب التطبيق الوصول إلى الميكروفون لإجراء المكالمات"; +NSPhotoLibraryUsageDescription="يطلب التطبيق الوصول إلى مكتبة الصور لتحميل الصور الرمزية"; diff --git a/ios/Runner/ar.lproj/InfoPlist_sky.strings b/ios/Runner/ar.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..8695cc42 --- /dev/null +++ b/ios/Runner/ar.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="يستخدم هذا التطبيق البلوتوث للبحث عن الأجهزة المختلفة والاتصال بها ونقل البيانات"; +NSBluetoothPeripheralUsageDescription="يستخدم هذا التطبيق البلوتوث للبحث عن الأجهزة المختلفة والاتصال بها ونقل البيانات"; +NSCameraUsageDescription="يطلب التطبيق الوصول إلى الكاميرا لالتقاط الصور وتحميل الصور الرمزية والتحقق من الوجه"; +NSContactsUsageDescription="يصل التطبيق إلى جهات الاتصال لإرسال المفاتيح الإلكترونية إلى جهات الاتصال في دفتر العناوين الخاص بك"; +NSLocationAlwaysAndWhenlnUseUsageDescription="نحتاج إلى الوصول إلى موقعك لتحديد أجهزة أقفال البلوتوث بدقة أكبر"; +NSLocationAlwaysUsageDescription="نحتاج إلى الوصول إلى موقعك لتحديد أجهزة أقفال البلوتوث بدقة أكبر"; +NSLocationWhenInUseUsageDescription="نحتاج إلى الوصول إلى موقعك لتحديد أجهزة أقفال البلوتوث بدقة أكبر"; +NSMicrophoneUsageDescription="يطلب التطبيق الوصول إلى الميكروفون لإجراء المكالمات"; +NSPhotoLibraryUsageDescription="يطلب التطبيق الوصول إلى مكتبة الصور لتحميل الصور الرمزية"; diff --git a/ios/Runner/ar.lproj/InfoPlist_xhj.strings b/ios/Runner/ar.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..c96b2316 --- /dev/null +++ b/ios/Runner/ar.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="يستخدم هذا التطبيق البلوتوث للبحث عن الأجهزة المختلفة والاتصال بها ونقل البيانات"; +NSBluetoothPeripheralUsageDescription="يستخدم هذا التطبيق البلوتوث للبحث عن الأجهزة المختلفة والاتصال بها ونقل البيانات"; +NSCameraUsageDescription="يطلب التطبيق الوصول إلى الكاميرا لالتقاط الصور وتحميل الصور الرمزية والتحقق من الوجه"; +NSContactsUsageDescription="يصل التطبيق إلى جهات الاتصال لإرسال المفاتيح الإلكترونية إلى جهات الاتصال في دفتر العناوين الخاص بك"; +NSLocationAlwaysAndWhenlnUseUsageDescription="نحتاج إلى الوصول إلى موقعك لتحديد أجهزة أقفال البلوتوث بدقة أكبر"; +NSLocationAlwaysUsageDescription="نحتاج إلى الوصول إلى موقعك لتحديد أجهزة أقفال البلوتوث بدقة أكبر"; +NSLocationWhenInUseUsageDescription="نحتاج إلى الوصول إلى موقعك لتحديد أجهزة أقفال البلوتوث بدقة أكبر"; +NSMicrophoneUsageDescription="يطلب التطبيق الوصول إلى الميكروفون لإجراء المكالمات"; +NSPhotoLibraryUsageDescription="يطلب التطبيق الوصول إلى مكتبة الصور لتحميل الصور الرمزية"; diff --git a/ios/Runner/ar.lproj/Main.strings b/ios/Runner/ar.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/ar.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/bg.lproj/InfoPlist.strings b/ios/Runner/bg.lproj/InfoPlist.strings new file mode 100644 index 00000000..d6a8f4aa --- /dev/null +++ b/ios/Runner/bg.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Тази приложение използва Bluetooth за търсене, свързване и прехвърляне на данни между различни устройства"; +NSBluetoothPeripheralUsageDescription="Тази приложение използва Bluetooth за търсене, свързване и прехвърляне на данни между различни устройства"; +NSCameraUsageDescription="Приложението иска достъп до камерата, за да прави снимки, качва аватари и извършва разпознаване на лице"; +NSContactsUsageDescription="Приложението има достъп до контактите ви, за да изпраща електронни ключове на вашите контакти"; +NSLocationAlwaysAndWhenInUseUsageDescription="Необходимо е да имаме достъп до вашето местоположение, за да сканираме по-точно Bluetooth устройства за заключване в района"; +NSLocationAlwaysUsageDescription="Необходимо е да имаме достъп до вашето местоположение, за да сканираме по-точно Bluetooth устройства за заключване в района"; +NSLocationWhenInUseUsageDescription="Необходимо е да имаме достъп до вашето местоположение, за да сканираме по-точно Bluetooth устройства за заключване в района"; +NSMicrophoneUsageDescription="Приложението иска достъп до микрофона за провеждане на разговори"; +NSPhotoLibraryUsageDescription="Приложението иска достъп до фотогалерията за качване на аватари"; diff --git a/ios/Runner/bg.lproj/InfoPlist_sky.strings b/ios/Runner/bg.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..d6a8f4aa --- /dev/null +++ b/ios/Runner/bg.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Тази приложение използва Bluetooth за търсене, свързване и прехвърляне на данни между различни устройства"; +NSBluetoothPeripheralUsageDescription="Тази приложение използва Bluetooth за търсене, свързване и прехвърляне на данни между различни устройства"; +NSCameraUsageDescription="Приложението иска достъп до камерата, за да прави снимки, качва аватари и извършва разпознаване на лице"; +NSContactsUsageDescription="Приложението има достъп до контактите ви, за да изпраща електронни ключове на вашите контакти"; +NSLocationAlwaysAndWhenInUseUsageDescription="Необходимо е да имаме достъп до вашето местоположение, за да сканираме по-точно Bluetooth устройства за заключване в района"; +NSLocationAlwaysUsageDescription="Необходимо е да имаме достъп до вашето местоположение, за да сканираме по-точно Bluetooth устройства за заключване в района"; +NSLocationWhenInUseUsageDescription="Необходимо е да имаме достъп до вашето местоположение, за да сканираме по-точно Bluetooth устройства за заключване в района"; +NSMicrophoneUsageDescription="Приложението иска достъп до микрофона за провеждане на разговори"; +NSPhotoLibraryUsageDescription="Приложението иска достъп до фотогалерията за качване на аватари"; diff --git a/ios/Runner/bg.lproj/InfoPlist_xhj.strings b/ios/Runner/bg.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..14685003 --- /dev/null +++ b/ios/Runner/bg.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Тази приложение използва Bluetooth за търсене, свързване и прехвърляне на данни между различни устройства"; +NSBluetoothPeripheralUsageDescription="Тази приложение използва Bluetooth за търсене, свързване и прехвърляне на данни между различни устройства"; +NSCameraUsageDescription="Приложението иска достъп до камерата, за да прави снимки, качва аватари и извършва разпознаване на лице"; +NSContactsUsageDescription="Приложението има достъп до контактите ви, за да изпраща електронни ключове на вашите контакти"; +NSLocationAlwaysAndWhenInUseUsageDescription="Необходимо е да имаме достъп до вашето местоположение, за да сканираме по-точно Bluetooth устройства за заключване в района"; +NSLocationAlwaysUsageDescription="Необходимо е да имаме достъп до вашето местоположение, за да сканираме по-точно Bluetooth устройства за заключване в района"; +NSLocationWhenInUseUsageDescription="Необходимо е да имаме достъп до вашето местоположение, за да сканираме по-точно Bluetooth устройства за заключване в района"; +NSMicrophoneUsageDescription="Приложението иска достъп до микрофона за провеждане на разговори"; +NSPhotoLibraryUsageDescription="Приложението иска достъп до фотогалерията за качване на аватари"; diff --git a/ios/Runner/bg.lproj/Main.strings b/ios/Runner/bg.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/bg.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/bn.lproj/InfoPlist.strings b/ios/Runner/bn.lproj/InfoPlist.strings new file mode 100644 index 00000000..dcab1a09 --- /dev/null +++ b/ios/Runner/bn.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="এই অ্যাপ্লিকেশনটি বিভিন্ন ডিভাইসের মধ্যে ডেটা খুঁজে বের করতে, সংযোগ করতে এবং ট্রান্সফার করতে Bluetooth ব্যবহার করে"; +NSBluetoothPeripheralUsageDescription="এই অ্যাপ্লিকেশনটি বিভিন্ন ডিভাইসের মধ্যে ডেটা খুঁজে বের করতে, সংযোগ করতে এবং ট্রান্সফার করতে Bluetooth ব্যবহার করে"; +NSCameraUsageDescription="অ্যাপ্লিকেশনটি ক্যামেরার অ্যাক্সেস চায়, ছবি তুলতে, অ্যাভাটার আপলোড করতে এবং ফেস রিকগনিশন করতে"; +NSContactsUsageDescription="অ্যাপ্লিকেশনটি আপনার কন্টাক্টের অ্যাক্সেস চায়, যাতে কন্টাক্টের কাছে ইলেকট্রনিক কিপি পাঠানো যায়"; +NSLocationAlwaysAndWhenInUseUsageDescription="আমরা আপনার অবস্থান তথ্যের অ্যাক্সেস প্রয়োজন যাতে নিকটস্থ Bluetooth লক ডিভাইসগুলিকে আরও সঠিকভাবে স্ক্যান করা যায়"; +NSLocationAlwaysUsageDescription="আমরা আপনার অবস্থান তথ্যের অ্যাক্সেস প্রয়োজন যাতে নিকটস্থ Bluetooth লক ডিভাইসগুলিকে আরও সঠিকভাবে স্ক্যান করা যায়"; +NSLocationWhenInUseUsageDescription="আমরা আপনার অবস্থান তথ্যের অ্যাক্সেস প্রয়োজন যাতে নিকটস্থ Bluetooth লক ডিভাইসগুলিকে আরও সঠিকভাবে স্ক্যান করা যায়"; +NSMicrophoneUsageDescription="অ্যাপ্লিকেশনটি কল করার জন্য মাইক্রোফোনের অ্যাক্সেস চায়"; +NSPhotoLibraryUsageDescription="অ্যাপ্লিকেশনটি অ্যাভাটার আপলোড করার জন্য ফটো লাইব্রেরির অ্যাক্সেস চায়"; diff --git a/ios/Runner/bn.lproj/InfoPlist_sky.strings b/ios/Runner/bn.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..dcab1a09 --- /dev/null +++ b/ios/Runner/bn.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="এই অ্যাপ্লিকেশনটি বিভিন্ন ডিভাইসের মধ্যে ডেটা খুঁজে বের করতে, সংযোগ করতে এবং ট্রান্সফার করতে Bluetooth ব্যবহার করে"; +NSBluetoothPeripheralUsageDescription="এই অ্যাপ্লিকেশনটি বিভিন্ন ডিভাইসের মধ্যে ডেটা খুঁজে বের করতে, সংযোগ করতে এবং ট্রান্সফার করতে Bluetooth ব্যবহার করে"; +NSCameraUsageDescription="অ্যাপ্লিকেশনটি ক্যামেরার অ্যাক্সেস চায়, ছবি তুলতে, অ্যাভাটার আপলোড করতে এবং ফেস রিকগনিশন করতে"; +NSContactsUsageDescription="অ্যাপ্লিকেশনটি আপনার কন্টাক্টের অ্যাক্সেস চায়, যাতে কন্টাক্টের কাছে ইলেকট্রনিক কিপি পাঠানো যায়"; +NSLocationAlwaysAndWhenInUseUsageDescription="আমরা আপনার অবস্থান তথ্যের অ্যাক্সেস প্রয়োজন যাতে নিকটস্থ Bluetooth লক ডিভাইসগুলিকে আরও সঠিকভাবে স্ক্যান করা যায়"; +NSLocationAlwaysUsageDescription="আমরা আপনার অবস্থান তথ্যের অ্যাক্সেস প্রয়োজন যাতে নিকটস্থ Bluetooth লক ডিভাইসগুলিকে আরও সঠিকভাবে স্ক্যান করা যায়"; +NSLocationWhenInUseUsageDescription="আমরা আপনার অবস্থান তথ্যের অ্যাক্সেস প্রয়োজন যাতে নিকটস্থ Bluetooth লক ডিভাইসগুলিকে আরও সঠিকভাবে স্ক্যান করা যায়"; +NSMicrophoneUsageDescription="অ্যাপ্লিকেশনটি কল করার জন্য মাইক্রোফোনের অ্যাক্সেস চায়"; +NSPhotoLibraryUsageDescription="অ্যাপ্লিকেশনটি অ্যাভাটার আপলোড করার জন্য ফটো লাইব্রেরির অ্যাক্সেস চায়"; diff --git a/ios/Runner/bn.lproj/InfoPlist_xhj.strings b/ios/Runner/bn.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..429a1ec5 --- /dev/null +++ b/ios/Runner/bn.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="এই অ্যাপ্লিকেশনটি বিভিন্ন ডিভাইসের মধ্যে ডেটা খুঁজে বের করতে, সংযোগ করতে এবং ট্রান্সফার করতে Bluetooth ব্যবহার করে"; +NSBluetoothPeripheralUsageDescription="এই অ্যাপ্লিকেশনটি বিভিন্ন ডিভাইসের মধ্যে ডেটা খুঁজে বের করতে, সংযোগ করতে এবং ট্রান্সফার করতে Bluetooth ব্যবহার করে"; +NSCameraUsageDescription="অ্যাপ্লিকেশনটি ক্যামেরার অ্যাক্সেস চায়, ছবি তুলতে, অ্যাভাটার আপলোড করতে এবং ফেস রিকগনিশন করতে"; +NSContactsUsageDescription="অ্যাপ্লিকেশনটি আপনার কন্টাক্টের অ্যাক্সেস চায়, যাতে কন্টাক্টের কাছে ইলেকট্রনিক কিপি পাঠানো যায়"; +NSLocationAlwaysAndWhenInUseUsageDescription="আমরা আপনার অবস্থান তথ্যের অ্যাক্সেস প্রয়োজন যাতে নিকটস্থ Bluetooth লক ডিভাইসগুলিকে আরও সঠিকভাবে স্ক্যান করা যায়"; +NSLocationAlwaysUsageDescription="আমরা আপনার অবস্থান তথ্যের অ্যাক্সেস প্রয়োজন যাতে নিকটস্থ Bluetooth লক ডিভাইসগুলিকে আরও সঠিকভাবে স্ক্যান করা যায়"; +NSLocationWhenInUseUsageDescription="আমরা আপনার অবস্থান তথ্যের অ্যাক্সেস প্রয়োজন যাতে নিকটস্থ Bluetooth লক ডিভাইসগুলিকে আরও সঠিকভাবে স্ক্যান করা যায়"; +NSMicrophoneUsageDescription="অ্যাপ্লিকেশনটি কল করার জন্য মাইক্রোফোনের অ্যাক্সেস চায়"; +NSPhotoLibraryUsageDescription="অ্যাপ্লিকেশনটি অ্যাভাটার আপলোড করার জন্য ফটো লাইব্রেরির অ্যাক্সেস চায়"; diff --git a/ios/Runner/bn.lproj/Main.strings b/ios/Runner/bn.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/bn.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/cs.lproj/InfoPlist.strings b/ios/Runner/cs.lproj/InfoPlist.strings new file mode 100644 index 00000000..580e05ec --- /dev/null +++ b/ios/Runner/cs.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Tato aplikace používá Bluetooth k vyhledávání, připojování a přenosu dat mezi různými zařízeními"; +NSBluetoothPeripheralUsageDescription="Tato aplikace používá Bluetooth k vyhledávání, připojování a přenosu dat mezi různými zařízeními"; +NSCameraUsageDescription="Aplikace požaduje přístup k fotoaparátu pro pořízení fotografií, nahrávání avatarů a ověřování tváře"; +NSContactsUsageDescription="Aplikace přistupuje k vašim kontaktům, aby poslala elektronické klíče do kontaktů ve vašem adresáři"; +NSLocationAlwaysAndWhenInUseUsageDescription="Potřebujeme přístup k vaší poloze, abychom přesněji skenovali Bluetooth zámky v okolí"; +NSLocationAlwaysUsageDescription="Potřebujeme přístup k vaší poloze, abychom přesněji skenovali Bluetooth zámky v okolí"; +NSLocationWhenInUseUsageDescription="Potřebujeme přístup k vaší poloze, abychom přesněji skenovali Bluetooth zámky v okolí"; +NSMicrophoneUsageDescription="Aplikace požaduje přístup k mikrofonu pro hovory"; +NSPhotoLibraryUsageDescription="Aplikace požaduje přístup k knihovně fotografií pro nahrávání avatarů"; diff --git a/ios/Runner/cs.lproj/InfoPlist_sky.strings b/ios/Runner/cs.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..580e05ec --- /dev/null +++ b/ios/Runner/cs.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Tato aplikace používá Bluetooth k vyhledávání, připojování a přenosu dat mezi různými zařízeními"; +NSBluetoothPeripheralUsageDescription="Tato aplikace používá Bluetooth k vyhledávání, připojování a přenosu dat mezi různými zařízeními"; +NSCameraUsageDescription="Aplikace požaduje přístup k fotoaparátu pro pořízení fotografií, nahrávání avatarů a ověřování tváře"; +NSContactsUsageDescription="Aplikace přistupuje k vašim kontaktům, aby poslala elektronické klíče do kontaktů ve vašem adresáři"; +NSLocationAlwaysAndWhenInUseUsageDescription="Potřebujeme přístup k vaší poloze, abychom přesněji skenovali Bluetooth zámky v okolí"; +NSLocationAlwaysUsageDescription="Potřebujeme přístup k vaší poloze, abychom přesněji skenovali Bluetooth zámky v okolí"; +NSLocationWhenInUseUsageDescription="Potřebujeme přístup k vaší poloze, abychom přesněji skenovali Bluetooth zámky v okolí"; +NSMicrophoneUsageDescription="Aplikace požaduje přístup k mikrofonu pro hovory"; +NSPhotoLibraryUsageDescription="Aplikace požaduje přístup k knihovně fotografií pro nahrávání avatarů"; diff --git a/ios/Runner/cs.lproj/InfoPlist_xhj.strings b/ios/Runner/cs.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..2731751b --- /dev/null +++ b/ios/Runner/cs.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Tato aplikace používá Bluetooth k vyhledávání, připojování a přenosu dat mezi různými zařízeními"; +NSBluetoothPeripheralUsageDescription="Tato aplikace používá Bluetooth k vyhledávání, připojování a přenosu dat mezi různými zařízeními"; +NSCameraUsageDescription="Aplikace požaduje přístup k fotoaparátu pro pořízení fotografií, nahrávání avatarů a ověřování tváře"; +NSContactsUsageDescription="Aplikace přistupuje k vašim kontaktům, aby poslala elektronické klíče do kontaktů ve vašem adresáři"; +NSLocationAlwaysAndWhenInUseUsageDescription="Potřebujeme přístup k vaší poloze, abychom přesněji skenovali Bluetooth zámky v okolí"; +NSLocationAlwaysUsageDescription="Potřebujeme přístup k vaší poloze, abychom přesněji skenovali Bluetooth zámky v okolí"; +NSLocationWhenInUseUsageDescription="Potřebujeme přístup k vaší poloze, abychom přesněji skenovali Bluetooth zámky v okolí"; +NSMicrophoneUsageDescription="Aplikace požaduje přístup k mikrofonu pro hovory"; +NSPhotoLibraryUsageDescription="Aplikace požaduje přístup k knihovně fotografií pro nahrávání avatarů"; diff --git a/ios/Runner/cs.lproj/Main.strings b/ios/Runner/cs.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/cs.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/da.lproj/InfoPlist.strings b/ios/Runner/da.lproj/InfoPlist.strings new file mode 100644 index 00000000..6acd442e --- /dev/null +++ b/ios/Runner/da.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Denne app bruger Bluetooth til at søge efter, oprette forbindelse til og overføre data mellem forskellige enheder"; +NSBluetoothPeripheralUsageDescription="Denne app bruger Bluetooth til at søge efter, oprette forbindelse til og overføre data mellem forskellige enheder"; +NSCameraUsageDescription="Appen anmoder om adgang til kameraet for at tage billeder, uploade avatarer og udføre ansigtsgenkendelse"; +NSContactsUsageDescription="Appen har adgang til dine kontakter for at sende elektroniske nøgler til dine kontakter"; +NSLocationAlwaysAndWhenInUseUsageDescription="Vi har brug for adgang til dine placering oplysninger for at kunne scanne Bluetooth-låse enheder mere præcist i dit område"; +NSLocationAlwaysUsageDescription="Vi har brug for adgang til dine placering oplysninger for at kunne scanne Bluetooth-låse enheder mere præcist i dit område"; +NSLocationWhenInUseUsageDescription="Vi har brug for adgang til dine placering oplysninger for at kunne scanne Bluetooth-låse enheder mere præcist i dit område"; +NSMicrophoneUsageDescription="Appen anmoder om adgang til mikrofonen til opkald"; +NSPhotoLibraryUsageDescription="Appen anmoder om adgang til fotobiblioteket til upload af avatar"; diff --git a/ios/Runner/da.lproj/InfoPlist_sky.strings b/ios/Runner/da.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..6acd442e --- /dev/null +++ b/ios/Runner/da.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Denne app bruger Bluetooth til at søge efter, oprette forbindelse til og overføre data mellem forskellige enheder"; +NSBluetoothPeripheralUsageDescription="Denne app bruger Bluetooth til at søge efter, oprette forbindelse til og overføre data mellem forskellige enheder"; +NSCameraUsageDescription="Appen anmoder om adgang til kameraet for at tage billeder, uploade avatarer og udføre ansigtsgenkendelse"; +NSContactsUsageDescription="Appen har adgang til dine kontakter for at sende elektroniske nøgler til dine kontakter"; +NSLocationAlwaysAndWhenInUseUsageDescription="Vi har brug for adgang til dine placering oplysninger for at kunne scanne Bluetooth-låse enheder mere præcist i dit område"; +NSLocationAlwaysUsageDescription="Vi har brug for adgang til dine placering oplysninger for at kunne scanne Bluetooth-låse enheder mere præcist i dit område"; +NSLocationWhenInUseUsageDescription="Vi har brug for adgang til dine placering oplysninger for at kunne scanne Bluetooth-låse enheder mere præcist i dit område"; +NSMicrophoneUsageDescription="Appen anmoder om adgang til mikrofonen til opkald"; +NSPhotoLibraryUsageDescription="Appen anmoder om adgang til fotobiblioteket til upload af avatar"; diff --git a/ios/Runner/da.lproj/InfoPlist_xhj.strings b/ios/Runner/da.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..9e18e016 --- /dev/null +++ b/ios/Runner/da.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Denne app bruger Bluetooth til at søge efter, oprette forbindelse til og overføre data mellem forskellige enheder"; +NSBluetoothPeripheralUsageDescription="Denne app bruger Bluetooth til at søge efter, oprette forbindelse til og overføre data mellem forskellige enheder"; +NSCameraUsageDescription="Appen anmoder om adgang til kameraet for at tage billeder, uploade avatarer og udføre ansigtsgenkendelse"; +NSContactsUsageDescription="Appen har adgang til dine kontakter for at sende elektroniske nøgler til dine kontakter"; +NSLocationAlwaysAndWhenInUseUsageDescription="Vi har brug for adgang til dine placering oplysninger for at kunne scanne Bluetooth-låse enheder mere præcist i dit område"; +NSLocationAlwaysUsageDescription="Vi har brug for adgang til dine placering oplysninger for at kunne scanne Bluetooth-låse enheder mere præcist i dit område"; +NSLocationWhenInUseUsageDescription="Vi har brug for adgang til dine placering oplysninger for at kunne scanne Bluetooth-låse enheder mere præcist i dit område"; +NSMicrophoneUsageDescription="Appen anmoder om adgang til mikrofonen til opkald"; +NSPhotoLibraryUsageDescription="Appen anmoder om adgang til fotobiblioteket til upload af avatar"; diff --git a/ios/Runner/da.lproj/Main.strings b/ios/Runner/da.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/da.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/de.lproj/InfoPlist.strings b/ios/Runner/de.lproj/InfoPlist.strings new file mode 100644 index 00000000..6352ee57 --- /dev/null +++ b/ios/Runner/de.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Diese App verwendet Bluetooth, um Daten zwischen verschiedenen Geräten zu suchen, zu verbinden und zu übertragen."; +NSBluetoothPeripheralUsageDescription="Diese App verwendet Bluetooth, um Daten zwischen verschiedenen Geräten zu suchen, zu verbinden und zu übertragen."; +NSCameraUsageDescription="Die App benötigt Zugriff auf die Kamera, um Fotos aufzunehmen, Avatare hochzuladen und zur Gesichtserkennung."; +NSContactsUsageDescription="Die App greift auf Ihr Adressbuch zu, um elektronische Schlüssel an Kontakte zu senden."; +NSLocationAlwaysAndWhenlnUseUsageDescription="Wir benötigen Zugriff auf Ihre Standortdaten, um Bluetooth-Schlossgeräte in Ihrer Nähe genauer zu scannen."; +NSLocationAlwaysUsageDescription="Wir benötigen Zugriff auf Ihre Standortdaten, um Bluetooth-Schlossgeräte in Ihrer Nähe genauer zu scannen."; +NSLocationWhenInUseUsageDescription="Wir benötigen Zugriff auf Ihre Standortdaten, um Bluetooth-Schlossgeräte in Ihrer Nähe genauer zu scannen."; +NSMicrophoneUsageDescription="Die App benötigt Zugriff auf das Mikrofon für Anrufe."; +NSPhotoLibraryUsageDescription="Die App benötigt Zugriff auf die Fotobibliothek, um Avatare hochzuladen."; diff --git a/ios/Runner/de.lproj/InfoPlist_sky.strings b/ios/Runner/de.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..6352ee57 --- /dev/null +++ b/ios/Runner/de.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Diese App verwendet Bluetooth, um Daten zwischen verschiedenen Geräten zu suchen, zu verbinden und zu übertragen."; +NSBluetoothPeripheralUsageDescription="Diese App verwendet Bluetooth, um Daten zwischen verschiedenen Geräten zu suchen, zu verbinden und zu übertragen."; +NSCameraUsageDescription="Die App benötigt Zugriff auf die Kamera, um Fotos aufzunehmen, Avatare hochzuladen und zur Gesichtserkennung."; +NSContactsUsageDescription="Die App greift auf Ihr Adressbuch zu, um elektronische Schlüssel an Kontakte zu senden."; +NSLocationAlwaysAndWhenlnUseUsageDescription="Wir benötigen Zugriff auf Ihre Standortdaten, um Bluetooth-Schlossgeräte in Ihrer Nähe genauer zu scannen."; +NSLocationAlwaysUsageDescription="Wir benötigen Zugriff auf Ihre Standortdaten, um Bluetooth-Schlossgeräte in Ihrer Nähe genauer zu scannen."; +NSLocationWhenInUseUsageDescription="Wir benötigen Zugriff auf Ihre Standortdaten, um Bluetooth-Schlossgeräte in Ihrer Nähe genauer zu scannen."; +NSMicrophoneUsageDescription="Die App benötigt Zugriff auf das Mikrofon für Anrufe."; +NSPhotoLibraryUsageDescription="Die App benötigt Zugriff auf die Fotobibliothek, um Avatare hochzuladen."; diff --git a/ios/Runner/de.lproj/InfoPlist_xhj.strings b/ios/Runner/de.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..5f4de660 --- /dev/null +++ b/ios/Runner/de.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Diese App verwendet Bluetooth, um Daten zwischen verschiedenen Geräten zu suchen, zu verbinden und zu übertragen."; +NSBluetoothPeripheralUsageDescription="Diese App verwendet Bluetooth, um Daten zwischen verschiedenen Geräten zu suchen, zu verbinden und zu übertragen."; +NSCameraUsageDescription="Die App benötigt Zugriff auf die Kamera, um Fotos aufzunehmen, Avatare hochzuladen und zur Gesichtserkennung."; +NSContactsUsageDescription="Die App greift auf Ihr Adressbuch zu, um elektronische Schlüssel an Kontakte zu senden."; +NSLocationAlwaysAndWhenlnUseUsageDescription="Wir benötigen Zugriff auf Ihre Standortdaten, um Bluetooth-Schlossgeräte in Ihrer Nähe genauer zu scannen."; +NSLocationAlwaysUsageDescription="Wir benötigen Zugriff auf Ihre Standortdaten, um Bluetooth-Schlossgeräte in Ihrer Nähe genauer zu scannen."; +NSLocationWhenInUseUsageDescription="Wir benötigen Zugriff auf Ihre Standortdaten, um Bluetooth-Schlossgeräte in Ihrer Nähe genauer zu scannen."; +NSMicrophoneUsageDescription="Die App benötigt Zugriff auf das Mikrofon für Anrufe."; +NSPhotoLibraryUsageDescription="Die App benötigt Zugriff auf die Fotobibliothek, um Avatare hochzuladen."; diff --git a/ios/Runner/de.lproj/Main.strings b/ios/Runner/de.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/de.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/el.lproj/InfoPlist.strings b/ios/Runner/el.lproj/InfoPlist.strings new file mode 100644 index 00000000..131b5705 --- /dev/null +++ b/ios/Runner/el.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Αυτή η εφαρμογή χρησιμοποιεί το Bluetooth για να αναζητήσει, να συνδεθεί και να μεταφέρει δεδομένα μεταξύ διαφόρων συσκευών"; +NSBluetoothPeripheralUsageDescription="Αυτή η εφαρμογή χρησιμοποιεί το Bluetooth για να αναζητήσει, να συνδεθεί και να μεταφέρει δεδομένα μεταξύ διαφόρων συσκευών"; +NSCameraUsageDescription="Η εφαρμογή ζητά πρόσβαση στην κάμερα για να τραβήξει φωτογραφίες, να ανεβάσει avatar και να κάνει αναγνώριση προσώπου"; +NSContactsUsageDescription="Η εφαρμογή αποκτά πρόσβαση στις επαφές σας για να στείλει ηλεκτρονικά κλειδιά στις επαφές σας"; +NSLocationAlwaysAndWhenInUseUsageDescription="Χρειαζόμαστε πρόσβαση στην τοποθεσία σας για να σαρώσουμε πιο ακριβώς τις συσκευές κλειδώματος Bluetooth στην περιοχή σας"; +NSLocationAlwaysUsageDescription="Χρειαζόμαστε πρόσβαση στην τοποθεσία σας για να σαρώσουμε πιο ακριβώς τις συσκευές κλειδώματος Bluetooth στην περιοχή σας"; +NSLocationWhenInUseUsageDescription="Χρειαζόμαστε πρόσβαση στην τοποθεσία σας για να σαρώσουμε πιο ακριβώς τις συσκευές κλειδώματος Bluetooth στην περιοχή σας"; +NSMicrophoneUsageDescription="Η εφαρμογή ζητά πρόσβαση στο μικρόφωνο για κλήσεις"; +NSPhotoLibraryUsageDescription="Η εφαρμογή ζητά πρόσβαση στη βιβλιοθήκη φωτογραφιών για να ανεβάσει avatar"; diff --git a/ios/Runner/el.lproj/InfoPlist_sky.strings b/ios/Runner/el.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..131b5705 --- /dev/null +++ b/ios/Runner/el.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Αυτή η εφαρμογή χρησιμοποιεί το Bluetooth για να αναζητήσει, να συνδεθεί και να μεταφέρει δεδομένα μεταξύ διαφόρων συσκευών"; +NSBluetoothPeripheralUsageDescription="Αυτή η εφαρμογή χρησιμοποιεί το Bluetooth για να αναζητήσει, να συνδεθεί και να μεταφέρει δεδομένα μεταξύ διαφόρων συσκευών"; +NSCameraUsageDescription="Η εφαρμογή ζητά πρόσβαση στην κάμερα για να τραβήξει φωτογραφίες, να ανεβάσει avatar και να κάνει αναγνώριση προσώπου"; +NSContactsUsageDescription="Η εφαρμογή αποκτά πρόσβαση στις επαφές σας για να στείλει ηλεκτρονικά κλειδιά στις επαφές σας"; +NSLocationAlwaysAndWhenInUseUsageDescription="Χρειαζόμαστε πρόσβαση στην τοποθεσία σας για να σαρώσουμε πιο ακριβώς τις συσκευές κλειδώματος Bluetooth στην περιοχή σας"; +NSLocationAlwaysUsageDescription="Χρειαζόμαστε πρόσβαση στην τοποθεσία σας για να σαρώσουμε πιο ακριβώς τις συσκευές κλειδώματος Bluetooth στην περιοχή σας"; +NSLocationWhenInUseUsageDescription="Χρειαζόμαστε πρόσβαση στην τοποθεσία σας για να σαρώσουμε πιο ακριβώς τις συσκευές κλειδώματος Bluetooth στην περιοχή σας"; +NSMicrophoneUsageDescription="Η εφαρμογή ζητά πρόσβαση στο μικρόφωνο για κλήσεις"; +NSPhotoLibraryUsageDescription="Η εφαρμογή ζητά πρόσβαση στη βιβλιοθήκη φωτογραφιών για να ανεβάσει avatar"; diff --git a/ios/Runner/el.lproj/InfoPlist_xhj.strings b/ios/Runner/el.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..a4161dce --- /dev/null +++ b/ios/Runner/el.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Αυτή η εφαρμογή χρησιμοποιεί το Bluetooth για να αναζητήσει, να συνδεθεί και να μεταφέρει δεδομένα μεταξύ διαφόρων συσκευών"; +NSBluetoothPeripheralUsageDescription="Αυτή η εφαρμογή χρησιμοποιεί το Bluetooth για να αναζητήσει, να συνδεθεί και να μεταφέρει δεδομένα μεταξύ διαφόρων συσκευών"; +NSCameraUsageDescription="Η εφαρμογή ζητά πρόσβαση στην κάμερα για να τραβήξει φωτογραφίες, να ανεβάσει avatar και να κάνει αναγνώριση προσώπου"; +NSContactsUsageDescription="Η εφαρμογή αποκτά πρόσβαση στις επαφές σας για να στείλει ηλεκτρονικά κλειδιά στις επαφές σας"; +NSLocationAlwaysAndWhenInUseUsageDescription="Χρειαζόμαστε πρόσβαση στην τοποθεσία σας για να σαρώσουμε πιο ακριβώς τις συσκευές κλειδώματος Bluetooth στην περιοχή σας"; +NSLocationAlwaysUsageDescription="Χρειαζόμαστε πρόσβαση στην τοποθεσία σας για να σαρώσουμε πιο ακριβώς τις συσκευές κλειδώματος Bluetooth στην περιοχή σας"; +NSLocationWhenInUseUsageDescription="Χρειαζόμαστε πρόσβαση στην τοποθεσία σας για να σαρώσουμε πιο ακριβώς τις συσκευές κλειδώματος Bluetooth στην περιοχή σας"; +NSMicrophoneUsageDescription="Η εφαρμογή ζητά πρόσβαση στο μικρόφωνο για κλήσεις"; +NSPhotoLibraryUsageDescription="Η εφαρμογή ζητά πρόσβαση στη βιβλιοθήκη φωτογραφιών για να ανεβάσει avatar"; diff --git a/ios/Runner/el.lproj/Main.strings b/ios/Runner/el.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/el.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/en.lproj/InfoPlist.strings b/ios/Runner/en.lproj/InfoPlist.strings index f735249c..8002da87 100644 --- a/ios/Runner/en.lproj/InfoPlist.strings +++ b/ios/Runner/en.lproj/InfoPlist.strings @@ -11,8 +11,8 @@ NSBluetoothAlwaysUsageDescription="The app uses bluetooth to find, connect and t NSBluetoothPeripheralUsageDescription="The app uses bluetooth to find, connect and transfer data between different devices"; NSCameraUsageDescription="The application requests the camera to take photos for avatar upload and face authentication"; NSContactsUsageDescription="Access the address book to send electronic keys to contacts in the address book"; -NSLocationAlwaysAndWhenInUseUsageDescription="updated location information when applying in the front and backend"; -NSLocationAlwaysUsageDescription="updated location information when the app is in the background"; -NSLocationWhenInUseUsageDescription="updated location information when the app is in the foreground"; +NSLocationAlwaysAndWhenInUseUsageDescription="We need to access your location information in order to more accurately scan the Bluetooth lock device at your location."; +NSLocationAlwaysUsageDescription="We need to access your location information in order to more accurately scan the Bluetooth lock device at your location."; +NSLocationWhenInUseUsageDescription="We need to access your location information in order to more accurately scan the Bluetooth lock device at your location."; NSMicrophoneUsageDescription="request microphone for calls"; NSPhotoLibraryUsageDescription="request photo album for avatar upload"; diff --git a/ios/Runner/en.lproj/InfoPlist_sky.strings b/ios/Runner/en.lproj/InfoPlist_sky.strings index f735249c..8002da87 100644 --- a/ios/Runner/en.lproj/InfoPlist_sky.strings +++ b/ios/Runner/en.lproj/InfoPlist_sky.strings @@ -11,8 +11,8 @@ NSBluetoothAlwaysUsageDescription="The app uses bluetooth to find, connect and t NSBluetoothPeripheralUsageDescription="The app uses bluetooth to find, connect and transfer data between different devices"; NSCameraUsageDescription="The application requests the camera to take photos for avatar upload and face authentication"; NSContactsUsageDescription="Access the address book to send electronic keys to contacts in the address book"; -NSLocationAlwaysAndWhenInUseUsageDescription="updated location information when applying in the front and backend"; -NSLocationAlwaysUsageDescription="updated location information when the app is in the background"; -NSLocationWhenInUseUsageDescription="updated location information when the app is in the foreground"; +NSLocationAlwaysAndWhenInUseUsageDescription="We need to access your location information in order to more accurately scan the Bluetooth lock device at your location."; +NSLocationAlwaysUsageDescription="We need to access your location information in order to more accurately scan the Bluetooth lock device at your location."; +NSLocationWhenInUseUsageDescription="We need to access your location information in order to more accurately scan the Bluetooth lock device at your location."; NSMicrophoneUsageDescription="request microphone for calls"; NSPhotoLibraryUsageDescription="request photo album for avatar upload"; diff --git a/ios/Runner/en.lproj/InfoPlist_xhj.strings b/ios/Runner/en.lproj/InfoPlist_xhj.strings index 4dcbac90..e2789b85 100644 --- a/ios/Runner/en.lproj/InfoPlist_xhj.strings +++ b/ios/Runner/en.lproj/InfoPlist_xhj.strings @@ -11,8 +11,8 @@ NSBluetoothAlwaysUsageDescription="The app uses bluetooth to find, connect and t NSBluetoothPeripheralUsageDescription="The app uses bluetooth to find, connect and transfer data between different devices"; NSCameraUsageDescription="The application requests the camera to take photos for avatar upload and face authentication"; NSContactsUsageDescription="Access the address book to send electronic keys to contacts in the address book"; -NSLocationAlwaysAndWhenInUseUsageDescription="updated location information when applying in the front and backend"; -NSLocationAlwaysUsageDescription="updated location information when the app is in the background"; -NSLocationWhenInUseUsageDescription="updated location information when the app is in the foreground"; +NSLocationAlwaysAndWhenInUseUsageDescription="We need to access your location information in order to more accurately scan the Bluetooth lock device at your location."; +NSLocationAlwaysUsageDescription="We need to access your location information in order to more accurately scan the Bluetooth lock device at your location."; +NSLocationWhenInUseUsageDescription="We need to access your location information in order to more accurately scan the Bluetooth lock device at your location."; NSMicrophoneUsageDescription="request microphone for calls"; NSPhotoLibraryUsageDescription="request photo album for avatar upload"; diff --git a/ios/Runner/es.lproj/InfoPlist.strings b/ios/Runner/es.lproj/InfoPlist.strings new file mode 100644 index 00000000..48ee305a --- /dev/null +++ b/ios/Runner/es.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Esta aplicación utiliza Bluetooth para buscar, conectar y transferir datos entre diferentes dispositivos"; +NSBluetoothPeripheralUsageDescription="Esta aplicación utiliza Bluetooth para buscar, conectar y transferir datos entre diferentes dispositivos"; +NSCameraUsageDescription="La aplicación solicita acceso a la cámara para tomar fotos, cargar avatares y realizar autenticación facial"; +NSContactsUsageDescription="La aplicación accede a los contactos para enviar claves electrónicas a los contactos de su agenda"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Necesitamos acceder a su ubicación para identificar dispositivos de bloqueo Bluetooth con mayor precisión"; +NSLocationAlwaysUsageDescription="Necesitamos acceder a su ubicación para identificar dispositivos de bloqueo Bluetooth con mayor precisión"; +NSLocationWhenInUseUsageDescription="Necesitamos acceder a su ubicación para identificar dispositivos de bloqueo Bluetooth con mayor precisión"; +NSMicrophoneUsageDescription="La aplicación solicita acceso al micrófono para realizar llamadas"; +NSPhotoLibraryUsageDescription="La aplicación solicita acceso a la biblioteca de fotos para cargar avatares"; diff --git a/ios/Runner/es.lproj/InfoPlist_sky.strings b/ios/Runner/es.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..48ee305a --- /dev/null +++ b/ios/Runner/es.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Esta aplicación utiliza Bluetooth para buscar, conectar y transferir datos entre diferentes dispositivos"; +NSBluetoothPeripheralUsageDescription="Esta aplicación utiliza Bluetooth para buscar, conectar y transferir datos entre diferentes dispositivos"; +NSCameraUsageDescription="La aplicación solicita acceso a la cámara para tomar fotos, cargar avatares y realizar autenticación facial"; +NSContactsUsageDescription="La aplicación accede a los contactos para enviar claves electrónicas a los contactos de su agenda"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Necesitamos acceder a su ubicación para identificar dispositivos de bloqueo Bluetooth con mayor precisión"; +NSLocationAlwaysUsageDescription="Necesitamos acceder a su ubicación para identificar dispositivos de bloqueo Bluetooth con mayor precisión"; +NSLocationWhenInUseUsageDescription="Necesitamos acceder a su ubicación para identificar dispositivos de bloqueo Bluetooth con mayor precisión"; +NSMicrophoneUsageDescription="La aplicación solicita acceso al micrófono para realizar llamadas"; +NSPhotoLibraryUsageDescription="La aplicación solicita acceso a la biblioteca de fotos para cargar avatares"; diff --git a/ios/Runner/es.lproj/InfoPlist_xhj.strings b/ios/Runner/es.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..301596c6 --- /dev/null +++ b/ios/Runner/es.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Esta aplicación utiliza Bluetooth para buscar, conectar y transferir datos entre diferentes dispositivos"; +NSBluetoothPeripheralUsageDescription="Esta aplicación utiliza Bluetooth para buscar, conectar y transferir datos entre diferentes dispositivos"; +NSCameraUsageDescription="La aplicación solicita acceso a la cámara para tomar fotos, cargar avatares y realizar autenticación facial"; +NSContactsUsageDescription="La aplicación accede a los contactos para enviar claves electrónicas a los contactos de su agenda"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Necesitamos acceder a su ubicación para identificar dispositivos de bloqueo Bluetooth con mayor precisión"; +NSLocationAlwaysUsageDescription="Necesitamos acceder a su ubicación para identificar dispositivos de bloqueo Bluetooth con mayor precisión"; +NSLocationWhenInUseUsageDescription="Necesitamos acceder a su ubicación para identificar dispositivos de bloqueo Bluetooth con mayor precisión"; +NSMicrophoneUsageDescription="La aplicación solicita acceso al micrófono para realizar llamadas"; +NSPhotoLibraryUsageDescription="La aplicación solicita acceso a la biblioteca de fotos para cargar avatares"; diff --git a/ios/Runner/es.lproj/Main.strings b/ios/Runner/es.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/es.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/et.lproj/InfoPlist.strings b/ios/Runner/et.lproj/InfoPlist.strings new file mode 100644 index 00000000..213ff7d9 --- /dev/null +++ b/ios/Runner/et.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="See rakendus kasutab Bluetoothi, et otsida, ühendada ja edastada andmeid erinevate seadmete vahel"; +NSBluetoothPeripheralUsageDescription="See rakendus kasutab Bluetoothi, et otsida, ühendada ja edastada andmeid erinevate seadmete vahel"; +NSCameraUsageDescription="Rakendus küsib juurdepääsu kaamerale, et teha pilte, üles laadida avatarit ja teha näo autentimist"; +NSContactsUsageDescription="Rakendus pääseb juurde teie kontaktidele, et saata elektroonilisi võtmeid teie kontaktidele"; +NSLocationAlwaysAndWhenInUseUsageDescription="Meil on vaja ligipääsu teie asukohale, et täpsemalt skannida lähikonnas olevaid Bluetooth-lukkude seadmeid"; +NSLocationAlwaysUsageDescription="Meil on vaja ligipääsu teie asukohale, et täpsemalt skannida lähikonnas olevaid Bluetooth-lukkude seadmeid"; +NSLocationWhenInUseUsageDescription="Meil on vaja ligipääsu teie asukohale, et täpsemalt skannida lähikonnas olevaid Bluetooth-lukkude seadmeid"; +NSMicrophoneUsageDescription="Rakendus küsib juurdepääsu mikrofonile, et teha kõnesid"; +NSPhotoLibraryUsageDescription="Rakendus küsib juurdepääsu fotokogule avatarite üleslaadimiseks"; diff --git a/ios/Runner/et.lproj/InfoPlist_sky.strings b/ios/Runner/et.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..213ff7d9 --- /dev/null +++ b/ios/Runner/et.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="See rakendus kasutab Bluetoothi, et otsida, ühendada ja edastada andmeid erinevate seadmete vahel"; +NSBluetoothPeripheralUsageDescription="See rakendus kasutab Bluetoothi, et otsida, ühendada ja edastada andmeid erinevate seadmete vahel"; +NSCameraUsageDescription="Rakendus küsib juurdepääsu kaamerale, et teha pilte, üles laadida avatarit ja teha näo autentimist"; +NSContactsUsageDescription="Rakendus pääseb juurde teie kontaktidele, et saata elektroonilisi võtmeid teie kontaktidele"; +NSLocationAlwaysAndWhenInUseUsageDescription="Meil on vaja ligipääsu teie asukohale, et täpsemalt skannida lähikonnas olevaid Bluetooth-lukkude seadmeid"; +NSLocationAlwaysUsageDescription="Meil on vaja ligipääsu teie asukohale, et täpsemalt skannida lähikonnas olevaid Bluetooth-lukkude seadmeid"; +NSLocationWhenInUseUsageDescription="Meil on vaja ligipääsu teie asukohale, et täpsemalt skannida lähikonnas olevaid Bluetooth-lukkude seadmeid"; +NSMicrophoneUsageDescription="Rakendus küsib juurdepääsu mikrofonile, et teha kõnesid"; +NSPhotoLibraryUsageDescription="Rakendus küsib juurdepääsu fotokogule avatarite üleslaadimiseks"; diff --git a/ios/Runner/et.lproj/InfoPlist_xhj.strings b/ios/Runner/et.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..f2ed2755 --- /dev/null +++ b/ios/Runner/et.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="See rakendus kasutab Bluetoothi, et otsida, ühendada ja edastada andmeid erinevate seadmete vahel"; +NSBluetoothPeripheralUsageDescription="See rakendus kasutab Bluetoothi, et otsida, ühendada ja edastada andmeid erinevate seadmete vahel"; +NSCameraUsageDescription="Rakendus küsib juurdepääsu kaamerale, et teha pilte, üles laadida avatarit ja teha näo autentimist"; +NSContactsUsageDescription="Rakendus pääseb juurde teie kontaktidele, et saata elektroonilisi võtmeid teie kontaktidele"; +NSLocationAlwaysAndWhenInUseUsageDescription="Meil on vaja ligipääsu teie asukohale, et täpsemalt skannida lähikonnas olevaid Bluetooth-lukkude seadmeid"; +NSLocationAlwaysUsageDescription="Meil on vaja ligipääsu teie asukohale, et täpsemalt skannida lähikonnas olevaid Bluetooth-lukkude seadmeid"; +NSLocationWhenInUseUsageDescription="Meil on vaja ligipääsu teie asukohale, et täpsemalt skannida lähikonnas olevaid Bluetooth-lukkude seadmeid"; +NSMicrophoneUsageDescription="Rakendus küsib juurdepääsu mikrofonile, et teha kõnesid"; +NSPhotoLibraryUsageDescription="Rakendus küsib juurdepääsu fotokogule avatarite üleslaadimiseks"; diff --git a/ios/Runner/et.lproj/Main.strings b/ios/Runner/et.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/et.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/fi.lproj/InfoPlist.strings b/ios/Runner/fi.lproj/InfoPlist.strings new file mode 100644 index 00000000..37a5a7ac --- /dev/null +++ b/ios/Runner/fi.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Tämä sovellus käyttää Bluetoothia etsimään, yhdistämään ja siirtämään tietoja eri laitteiden välillä"; +NSBluetoothPeripheralUsageDescription="Tämä sovellus käyttää Bluetoothia etsimään, yhdistämään ja siirtämään tietoja eri laitteiden välillä"; +NSCameraUsageDescription="Sovellus pyytää pääsyä kameraan valokuvien ottamiseen, avatarin lataamiseen ja kasvojentunnistukseen"; +NSContactsUsageDescription="Sovellus käyttää yhteystietojasi lähettääkseen sähköisiä avaimia yhteystiedoissasi oleville henkilöille"; +NSLocationAlwaysAndWhenInUseUsageDescription="Tarvitsemme pääsyn sijaintitietoihisi, jotta voimme tarkempaa skannata ympäristössäsi olevia Bluetooth-lukkoja"; +NSLocationAlwaysUsageDescription="Tarvitsemme pääsyn sijaintitietoihisi, jotta voimme tarkempaa skannata ympäristössäsi olevia Bluetooth-lukkoja"; +NSLocationWhenInUseUsageDescription="Tarvitsemme pääsyn sijaintitietoihisi, jotta voimme tarkempaa skannata ympäristössäsi olevia Bluetooth-lukkoja"; +NSMicrophoneUsageDescription="Sovellus pyytää pääsyä mikrofoniin puheluita varten"; +NSPhotoLibraryUsageDescription="Sovellus pyytää pääsyä valokuvakirjastoon avataren lataamista varten"; diff --git a/ios/Runner/fi.lproj/InfoPlist_sky.strings b/ios/Runner/fi.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..37a5a7ac --- /dev/null +++ b/ios/Runner/fi.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Tämä sovellus käyttää Bluetoothia etsimään, yhdistämään ja siirtämään tietoja eri laitteiden välillä"; +NSBluetoothPeripheralUsageDescription="Tämä sovellus käyttää Bluetoothia etsimään, yhdistämään ja siirtämään tietoja eri laitteiden välillä"; +NSCameraUsageDescription="Sovellus pyytää pääsyä kameraan valokuvien ottamiseen, avatarin lataamiseen ja kasvojentunnistukseen"; +NSContactsUsageDescription="Sovellus käyttää yhteystietojasi lähettääkseen sähköisiä avaimia yhteystiedoissasi oleville henkilöille"; +NSLocationAlwaysAndWhenInUseUsageDescription="Tarvitsemme pääsyn sijaintitietoihisi, jotta voimme tarkempaa skannata ympäristössäsi olevia Bluetooth-lukkoja"; +NSLocationAlwaysUsageDescription="Tarvitsemme pääsyn sijaintitietoihisi, jotta voimme tarkempaa skannata ympäristössäsi olevia Bluetooth-lukkoja"; +NSLocationWhenInUseUsageDescription="Tarvitsemme pääsyn sijaintitietoihisi, jotta voimme tarkempaa skannata ympäristössäsi olevia Bluetooth-lukkoja"; +NSMicrophoneUsageDescription="Sovellus pyytää pääsyä mikrofoniin puheluita varten"; +NSPhotoLibraryUsageDescription="Sovellus pyytää pääsyä valokuvakirjastoon avataren lataamista varten"; diff --git a/ios/Runner/fi.lproj/InfoPlist_xhj.strings b/ios/Runner/fi.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..15ce1693 --- /dev/null +++ b/ios/Runner/fi.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Tämä sovellus käyttää Bluetoothia etsimään, yhdistämään ja siirtämään tietoja eri laitteiden välillä"; +NSBluetoothPeripheralUsageDescription="Tämä sovellus käyttää Bluetoothia etsimään, yhdistämään ja siirtämään tietoja eri laitteiden välillä"; +NSCameraUsageDescription="Sovellus pyytää pääsyä kameraan valokuvien ottamiseen, avatarin lataamiseen ja kasvojentunnistukseen"; +NSContactsUsageDescription="Sovellus käyttää yhteystietojasi lähettääkseen sähköisiä avaimia yhteystiedoissasi oleville henkilöille"; +NSLocationAlwaysAndWhenInUseUsageDescription="Tarvitsemme pääsyn sijaintitietoihisi, jotta voimme tarkempaa skannata ympäristössäsi olevia Bluetooth-lukkoja"; +NSLocationAlwaysUsageDescription="Tarvitsemme pääsyn sijaintitietoihisi, jotta voimme tarkempaa skannata ympäristössäsi olevia Bluetooth-lukkoja"; +NSLocationWhenInUseUsageDescription="Tarvitsemme pääsyn sijaintitietoihisi, jotta voimme tarkempaa skannata ympäristössäsi olevia Bluetooth-lukkoja"; +NSMicrophoneUsageDescription="Sovellus pyytää pääsyä mikrofoniin puheluita varten"; +NSPhotoLibraryUsageDescription="Sovellus pyytää pääsyä valokuvakirjastoon avataren lataamista varten"; diff --git a/ios/Runner/fi.lproj/Main.strings b/ios/Runner/fi.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/fi.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/fr.lproj/InfoPlist.strings b/ios/Runner/fr.lproj/InfoPlist.strings new file mode 100644 index 00000000..dda217ab --- /dev/null +++ b/ios/Runner/fr.lproj/InfoPlist.strings @@ -0,0 +1,19 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; + +NSBluetoothAlwaysUsageDescription="Cette application utilise le Bluetooth pour rechercher, connecter et transférer des données entre différents appareils."; +NSBluetoothPeripheralUsageDescription="Cette application utilise le Bluetooth pour rechercher, connecter et transférer des données entre différents appareils."; +NSCameraUsageDescription="L'application demande l'accès à la caméra pour prendre des photos, utilisées pour le téléchargement d'avatars et la reconnaissance faciale."; +NSContactsUsageDescription="L'application accède à votre carnet d'adresses pour envoyer des clés électroniques aux contacts."; +NSLocationAlwaysAndWhenlnUseUsageDescription="Nous avons besoin d'accéder à vos informations de localisation pour scanner avec précision les dispositifs de serrure Bluetooth dans votre zone."; +NSLocationAlwaysUsageDescription="Nous avons besoin d'accéder à vos informations de localisation pour scanner avec précision les dispositifs de serrure Bluetooth dans votre zone."; +NSLocationWhenInUseUsageDescription="Nous avons besoin d'accéder à vos informations de localisation pour scanner avec précision les dispositifs de serrure Bluetooth dans votre zone."; +NSMicrophoneUsageDescription="L'application demande l'accès au microphone pour passer des appels."; +NSPhotoLibraryUsageDescription="L'application demande l'accès à la photothèque pour télécharger des avatars."; diff --git a/ios/Runner/fr.lproj/InfoPlist_sky.strings b/ios/Runner/fr.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..dda217ab --- /dev/null +++ b/ios/Runner/fr.lproj/InfoPlist_sky.strings @@ -0,0 +1,19 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; + +NSBluetoothAlwaysUsageDescription="Cette application utilise le Bluetooth pour rechercher, connecter et transférer des données entre différents appareils."; +NSBluetoothPeripheralUsageDescription="Cette application utilise le Bluetooth pour rechercher, connecter et transférer des données entre différents appareils."; +NSCameraUsageDescription="L'application demande l'accès à la caméra pour prendre des photos, utilisées pour le téléchargement d'avatars et la reconnaissance faciale."; +NSContactsUsageDescription="L'application accède à votre carnet d'adresses pour envoyer des clés électroniques aux contacts."; +NSLocationAlwaysAndWhenlnUseUsageDescription="Nous avons besoin d'accéder à vos informations de localisation pour scanner avec précision les dispositifs de serrure Bluetooth dans votre zone."; +NSLocationAlwaysUsageDescription="Nous avons besoin d'accéder à vos informations de localisation pour scanner avec précision les dispositifs de serrure Bluetooth dans votre zone."; +NSLocationWhenInUseUsageDescription="Nous avons besoin d'accéder à vos informations de localisation pour scanner avec précision les dispositifs de serrure Bluetooth dans votre zone."; +NSMicrophoneUsageDescription="L'application demande l'accès au microphone pour passer des appels."; +NSPhotoLibraryUsageDescription="L'application demande l'accès à la photothèque pour télécharger des avatars."; diff --git a/ios/Runner/fr.lproj/InfoPlist_xhj.strings b/ios/Runner/fr.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..c0ad200f --- /dev/null +++ b/ios/Runner/fr.lproj/InfoPlist_xhj.strings @@ -0,0 +1,19 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; + +NSBluetoothAlwaysUsageDescription="Cette application utilise le Bluetooth pour rechercher, connecter et transférer des données entre différents appareils."; +NSBluetoothPeripheralUsageDescription="Cette application utilise le Bluetooth pour rechercher, connecter et transférer des données entre différents appareils."; +NSCameraUsageDescription="L'application demande l'accès à la caméra pour prendre des photos, utilisées pour le téléchargement d'avatars et la reconnaissance faciale."; +NSContactsUsageDescription="L'application accède à votre carnet d'adresses pour envoyer des clés électroniques aux contacts."; +NSLocationAlwaysAndWhenlnUseUsageDescription="Nous avons besoin d'accéder à vos informations de localisation pour scanner avec précision les dispositifs de serrure Bluetooth dans votre zone."; +NSLocationAlwaysUsageDescription="Nous avons besoin d'accéder à vos informations de localisation pour scanner avec précision les dispositifs de serrure Bluetooth dans votre zone."; +NSLocationWhenInUseUsageDescription="Nous avons besoin d'accéder à vos informations de localisation pour scanner avec précision les dispositifs de serrure Bluetooth dans votre zone."; +NSMicrophoneUsageDescription="L'application demande l'accès au microphone pour passer des appels."; +NSPhotoLibraryUsageDescription="L'application demande l'accès à la photothèque pour télécharger des avatars."; diff --git a/ios/Runner/fr.lproj/Main.strings b/ios/Runner/fr.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/fr.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/he.lproj/InfoPlist.strings b/ios/Runner/he.lproj/InfoPlist.strings new file mode 100644 index 00000000..d32753b6 --- /dev/null +++ b/ios/Runner/he.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="היישום הזה משתמש ב-Bluetooth לחיפוש, חיבור והעברת נתונים בין מכשירים שונים"; +NSBluetoothPeripheralUsageDescription="היישום הזה משתמש ב-Bluetooth לחיפוש, חיבור והעברת נתונים בין מכשירים שונים"; +NSCameraUsageDescription="היישום מבקש גישה למצלמה לצורך צילום תמונות, העלאת תצלומי פרופיל ואימות פנים"; +NSContactsUsageDescription="היישום מבקש גישה לקטגוריית אנשי הקשר שלך על מנת לשלוח מפתחות אלקטרוניים לאנשי הקשר שלך"; +NSLocationAlwaysAndWhenInUseUsageDescription="אנו צריכים גישה למיקום שלך כדי לסרוק בצורה מדויקת יותר את מכשירי ה-Bluetooth נעילה באזור שלך"; +NSLocationAlwaysUsageDescription="אנו צריכים גישה למיקום שלך כדי לסרוק בצורה מדויקת יותר את מכשירי ה-Bluetooth נעילה באזור שלך"; +NSLocationWhenInUseUsageDescription="אנו צריכים גישה למיקום שלך כדי לסרוק בצורה מדויקת יותר את מכשירי ה-Bluetooth נעילה באזור שלך"; +NSMicrophoneUsageDescription="היישום מבקש גישה למיקרופון לצורך שיחות"; +NSPhotoLibraryUsageDescription="היישום מבקש גישה לספריית התמונות לצורך העלאת תצלומי פרופיל"; diff --git a/ios/Runner/he.lproj/InfoPlist_sky.strings b/ios/Runner/he.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..d32753b6 --- /dev/null +++ b/ios/Runner/he.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="היישום הזה משתמש ב-Bluetooth לחיפוש, חיבור והעברת נתונים בין מכשירים שונים"; +NSBluetoothPeripheralUsageDescription="היישום הזה משתמש ב-Bluetooth לחיפוש, חיבור והעברת נתונים בין מכשירים שונים"; +NSCameraUsageDescription="היישום מבקש גישה למצלמה לצורך צילום תמונות, העלאת תצלומי פרופיל ואימות פנים"; +NSContactsUsageDescription="היישום מבקש גישה לקטגוריית אנשי הקשר שלך על מנת לשלוח מפתחות אלקטרוניים לאנשי הקשר שלך"; +NSLocationAlwaysAndWhenInUseUsageDescription="אנו צריכים גישה למיקום שלך כדי לסרוק בצורה מדויקת יותר את מכשירי ה-Bluetooth נעילה באזור שלך"; +NSLocationAlwaysUsageDescription="אנו צריכים גישה למיקום שלך כדי לסרוק בצורה מדויקת יותר את מכשירי ה-Bluetooth נעילה באזור שלך"; +NSLocationWhenInUseUsageDescription="אנו צריכים גישה למיקום שלך כדי לסרוק בצורה מדויקת יותר את מכשירי ה-Bluetooth נעילה באזור שלך"; +NSMicrophoneUsageDescription="היישום מבקש גישה למיקרופון לצורך שיחות"; +NSPhotoLibraryUsageDescription="היישום מבקש גישה לספריית התמונות לצורך העלאת תצלומי פרופיל"; diff --git a/ios/Runner/he.lproj/InfoPlist_xhj.strings b/ios/Runner/he.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..59350d66 --- /dev/null +++ b/ios/Runner/he.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="היישום הזה משתמש ב-Bluetooth לחיפוש, חיבור והעברת נתונים בין מכשירים שונים"; +NSBluetoothPeripheralUsageDescription="היישום הזה משתמש ב-Bluetooth לחיפוש, חיבור והעברת נתונים בין מכשירים שונים"; +NSCameraUsageDescription="היישום מבקש גישה למצלמה לצורך צילום תמונות, העלאת תצלומי פרופיל ואימות פנים"; +NSContactsUsageDescription="היישום מבקש גישה לקטגוריית אנשי הקשר שלך על מנת לשלוח מפתחות אלקטרוניים לאנשי הקשר שלך"; +NSLocationAlwaysAndWhenInUseUsageDescription="אנו צריכים גישה למיקום שלך כדי לסרוק בצורה מדויקת יותר את מכשירי ה-Bluetooth נעילה באזור שלך"; +NSLocationAlwaysUsageDescription="אנו צריכים גישה למיקום שלך כדי לסרוק בצורה מדויקת יותר את מכשירי ה-Bluetooth נעילה באזור שלך"; +NSLocationWhenInUseUsageDescription="אנו צריכים גישה למיקום שלך כדי לסרוק בצורה מדויקת יותר את מכשירי ה-Bluetooth נעילה באזור שלך"; +NSMicrophoneUsageDescription="היישום מבקש גישה למיקרופון לצורך שיחות"; +NSPhotoLibraryUsageDescription="היישום מבקש גישה לספריית התמונות לצורך העלאת תצלומי פרופיל"; diff --git a/ios/Runner/he.lproj/Main.strings b/ios/Runner/he.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/he.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/hr.lproj/InfoPlist.strings b/ios/Runner/hr.lproj/InfoPlist.strings new file mode 100644 index 00000000..508f23eb --- /dev/null +++ b/ios/Runner/hr.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prijenos podataka između različitih uređaja"; +NSBluetoothPeripheralUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prijenos podataka između različitih uređaja"; +NSCameraUsageDescription="Aplikacija traži pristup kameri za snimanje fotografija, učitavanje avatara i prepoznavanje lica"; +NSContactsUsageDescription="Aplikacija pristupa vašim kontaktima za slanje elektroničkih ključeva vašim kontaktima"; +NSLocationAlwaysAndWhenInUseUsageDescription="Treba nam pristup vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje za zaključavanje u vašoj okolini"; +NSLocationAlwaysUsageDescription="Treba nam pristup vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje za zaključavanje u vašoj okolini"; +NSLocationWhenInUseUsageDescription="Treba nam pristup vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje za zaključavanje u vašoj okolini"; +NSMicrophoneUsageDescription="Aplikacija traži pristup mikrofonu za obavljanje poziva"; +NSPhotoLibraryUsageDescription="Aplikacija traži pristup biblioteci fotografija za učitavanje avatara"; diff --git a/ios/Runner/hr.lproj/InfoPlist_sky.strings b/ios/Runner/hr.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..508f23eb --- /dev/null +++ b/ios/Runner/hr.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prijenos podataka između različitih uređaja"; +NSBluetoothPeripheralUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prijenos podataka između različitih uređaja"; +NSCameraUsageDescription="Aplikacija traži pristup kameri za snimanje fotografija, učitavanje avatara i prepoznavanje lica"; +NSContactsUsageDescription="Aplikacija pristupa vašim kontaktima za slanje elektroničkih ključeva vašim kontaktima"; +NSLocationAlwaysAndWhenInUseUsageDescription="Treba nam pristup vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje za zaključavanje u vašoj okolini"; +NSLocationAlwaysUsageDescription="Treba nam pristup vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje za zaključavanje u vašoj okolini"; +NSLocationWhenInUseUsageDescription="Treba nam pristup vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje za zaključavanje u vašoj okolini"; +NSMicrophoneUsageDescription="Aplikacija traži pristup mikrofonu za obavljanje poziva"; +NSPhotoLibraryUsageDescription="Aplikacija traži pristup biblioteci fotografija za učitavanje avatara"; diff --git a/ios/Runner/hr.lproj/InfoPlist_xhj.strings b/ios/Runner/hr.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..a86b3ca1 --- /dev/null +++ b/ios/Runner/hr.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prijenos podataka između različitih uređaja"; +NSBluetoothPeripheralUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prijenos podataka između različitih uređaja"; +NSCameraUsageDescription="Aplikacija traži pristup kameri za snimanje fotografija, učitavanje avatara i prepoznavanje lica"; +NSContactsUsageDescription="Aplikacija pristupa vašim kontaktima za slanje elektroničkih ključeva vašim kontaktima"; +NSLocationAlwaysAndWhenInUseUsageDescription="Treba nam pristup vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje za zaključavanje u vašoj okolini"; +NSLocationAlwaysUsageDescription="Treba nam pristup vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje za zaključavanje u vašoj okolini"; +NSLocationWhenInUseUsageDescription="Treba nam pristup vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje za zaključavanje u vašoj okolini"; +NSMicrophoneUsageDescription="Aplikacija traži pristup mikrofonu za obavljanje poziva"; +NSPhotoLibraryUsageDescription="Aplikacija traži pristup biblioteci fotografija za učitavanje avatara"; diff --git a/ios/Runner/hr.lproj/Main.strings b/ios/Runner/hr.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/hr.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/hu.lproj/InfoPlist.strings b/ios/Runner/hu.lproj/InfoPlist.strings new file mode 100644 index 00000000..0335a280 --- /dev/null +++ b/ios/Runner/hu.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Ez az alkalmazás Bluetooth-ot használ különböző eszközök közötti adatkeresésre, csatlakozásra és átvitelre"; +NSBluetoothPeripheralUsageDescription="Ez az alkalmazás Bluetooth-ot használ különböző eszközök közötti adatkeresésre, csatlakozásra és átvitelre"; +NSCameraUsageDescription="Az alkalmazás kamerához kér hozzáférést fényképek készítésére, avatár feltöltésére és arcazonosításra"; +NSContactsUsageDescription="Az alkalmazás hozzáfér a kapcsolataidhoz, hogy elektronikus kulcsokat küldjön a kapcsolataidnak"; +NSLocationAlwaysAndWhenInUseUsageDescription="Szükség van a helyadatokhoz való hozzáférésre a Bluetooth zárak pontosabb kereséséhez a környéken"; +NSLocationAlwaysUsageDescription="Szükség van a helyadatokhoz való hozzáférésre a Bluetooth zárak pontosabb kereséséhez a környéken"; +NSLocationWhenInUseUsageDescription="Szükség van a helyadatokhoz való hozzáférésre a Bluetooth zárak pontosabb kereséséhez a környéken"; +NSMicrophoneUsageDescription="Az alkalmazás mikrofonhoz kér hozzáférést hívásokhoz"; +NSPhotoLibraryUsageDescription="Az alkalmazás fényképtárhoz kér hozzáférést avatár feltöltésére"; diff --git a/ios/Runner/hu.lproj/InfoPlist_sky.strings b/ios/Runner/hu.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..0335a280 --- /dev/null +++ b/ios/Runner/hu.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Ez az alkalmazás Bluetooth-ot használ különböző eszközök közötti adatkeresésre, csatlakozásra és átvitelre"; +NSBluetoothPeripheralUsageDescription="Ez az alkalmazás Bluetooth-ot használ különböző eszközök közötti adatkeresésre, csatlakozásra és átvitelre"; +NSCameraUsageDescription="Az alkalmazás kamerához kér hozzáférést fényképek készítésére, avatár feltöltésére és arcazonosításra"; +NSContactsUsageDescription="Az alkalmazás hozzáfér a kapcsolataidhoz, hogy elektronikus kulcsokat küldjön a kapcsolataidnak"; +NSLocationAlwaysAndWhenInUseUsageDescription="Szükség van a helyadatokhoz való hozzáférésre a Bluetooth zárak pontosabb kereséséhez a környéken"; +NSLocationAlwaysUsageDescription="Szükség van a helyadatokhoz való hozzáférésre a Bluetooth zárak pontosabb kereséséhez a környéken"; +NSLocationWhenInUseUsageDescription="Szükség van a helyadatokhoz való hozzáférésre a Bluetooth zárak pontosabb kereséséhez a környéken"; +NSMicrophoneUsageDescription="Az alkalmazás mikrofonhoz kér hozzáférést hívásokhoz"; +NSPhotoLibraryUsageDescription="Az alkalmazás fényképtárhoz kér hozzáférést avatár feltöltésére"; diff --git a/ios/Runner/hu.lproj/InfoPlist_xhj.strings b/ios/Runner/hu.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..900b475f --- /dev/null +++ b/ios/Runner/hu.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Ez az alkalmazás Bluetooth-ot használ különböző eszközök közötti adatkeresésre, csatlakozásra és átvitelre"; +NSBluetoothPeripheralUsageDescription="Ez az alkalmazás Bluetooth-ot használ különböző eszközök közötti adatkeresésre, csatlakozásra és átvitelre"; +NSCameraUsageDescription="Az alkalmazás kamerához kér hozzáférést fényképek készítésére, avatár feltöltésére és arcazonosításra"; +NSContactsUsageDescription="Az alkalmazás hozzáfér a kapcsolataidhoz, hogy elektronikus kulcsokat küldjön a kapcsolataidnak"; +NSLocationAlwaysAndWhenInUseUsageDescription="Szükség van a helyadatokhoz való hozzáférésre a Bluetooth zárak pontosabb kereséséhez a környéken"; +NSLocationAlwaysUsageDescription="Szükség van a helyadatokhoz való hozzáférésre a Bluetooth zárak pontosabb kereséséhez a környéken"; +NSLocationWhenInUseUsageDescription="Szükség van a helyadatokhoz való hozzáférésre a Bluetooth zárak pontosabb kereséséhez a környéken"; +NSMicrophoneUsageDescription="Az alkalmazás mikrofonhoz kér hozzáférést hívásokhoz"; +NSPhotoLibraryUsageDescription="Az alkalmazás fényképtárhoz kér hozzáférést avatár feltöltésére"; diff --git a/ios/Runner/hu.lproj/Main.strings b/ios/Runner/hu.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/hu.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/id.lproj/InfoPlist.strings b/ios/Runner/id.lproj/InfoPlist.strings new file mode 100644 index 00000000..5c89f3f7 --- /dev/null +++ b/ios/Runner/id.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menghubungkan, dan mentransfer data antar perangkat yang berbeda"; +NSBluetoothPeripheralUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menghubungkan, dan mentransfer data antar perangkat yang berbeda"; +NSCameraUsageDescription="Aplikasi meminta akses ke kamera untuk mengambil foto, mengunggah avatar, dan verifikasi wajah"; +NSContactsUsageDescription="Aplikasi mengakses kontak Anda untuk mengirimkan kunci elektronik ke kontak dalam daftar Anda"; +NSLocationAlwaysAndWhenInUseUsageDescription="Kami memerlukan akses ke informasi lokasi Anda untuk memindai perangkat kunci Bluetooth yang lebih akurat di sekitar Anda"; +NSLocationAlwaysUsageDescription="Kami memerlukan akses ke informasi lokasi Anda untuk memindai perangkat kunci Bluetooth yang lebih akurat di sekitar Anda"; +NSLocationWhenInUseUsageDescription="Kami memerlukan akses ke informasi lokasi Anda untuk memindai perangkat kunci Bluetooth yang lebih akurat di sekitar Anda"; +NSMicrophoneUsageDescription="Aplikasi meminta akses ke mikrofon untuk panggilan"; +NSPhotoLibraryUsageDescription="Aplikasi meminta akses ke perpustakaan foto untuk mengunggah avatar"; diff --git a/ios/Runner/id.lproj/InfoPlist_sky.strings b/ios/Runner/id.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..5c89f3f7 --- /dev/null +++ b/ios/Runner/id.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menghubungkan, dan mentransfer data antar perangkat yang berbeda"; +NSBluetoothPeripheralUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menghubungkan, dan mentransfer data antar perangkat yang berbeda"; +NSCameraUsageDescription="Aplikasi meminta akses ke kamera untuk mengambil foto, mengunggah avatar, dan verifikasi wajah"; +NSContactsUsageDescription="Aplikasi mengakses kontak Anda untuk mengirimkan kunci elektronik ke kontak dalam daftar Anda"; +NSLocationAlwaysAndWhenInUseUsageDescription="Kami memerlukan akses ke informasi lokasi Anda untuk memindai perangkat kunci Bluetooth yang lebih akurat di sekitar Anda"; +NSLocationAlwaysUsageDescription="Kami memerlukan akses ke informasi lokasi Anda untuk memindai perangkat kunci Bluetooth yang lebih akurat di sekitar Anda"; +NSLocationWhenInUseUsageDescription="Kami memerlukan akses ke informasi lokasi Anda untuk memindai perangkat kunci Bluetooth yang lebih akurat di sekitar Anda"; +NSMicrophoneUsageDescription="Aplikasi meminta akses ke mikrofon untuk panggilan"; +NSPhotoLibraryUsageDescription="Aplikasi meminta akses ke perpustakaan foto untuk mengunggah avatar"; diff --git a/ios/Runner/id.lproj/InfoPlist_xhj.strings b/ios/Runner/id.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..af76ab04 --- /dev/null +++ b/ios/Runner/id.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menghubungkan, dan mentransfer data antar perangkat yang berbeda"; +NSBluetoothPeripheralUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menghubungkan, dan mentransfer data antar perangkat yang berbeda"; +NSCameraUsageDescription="Aplikasi meminta akses ke kamera untuk mengambil foto, mengunggah avatar, dan verifikasi wajah"; +NSContactsUsageDescription="Aplikasi mengakses kontak Anda untuk mengirimkan kunci elektronik ke kontak dalam daftar Anda"; +NSLocationAlwaysAndWhenInUseUsageDescription="Kami memerlukan akses ke informasi lokasi Anda untuk memindai perangkat kunci Bluetooth yang lebih akurat di sekitar Anda"; +NSLocationAlwaysUsageDescription="Kami memerlukan akses ke informasi lokasi Anda untuk memindai perangkat kunci Bluetooth yang lebih akurat di sekitar Anda"; +NSLocationWhenInUseUsageDescription="Kami memerlukan akses ke informasi lokasi Anda untuk memindai perangkat kunci Bluetooth yang lebih akurat di sekitar Anda"; +NSMicrophoneUsageDescription="Aplikasi meminta akses ke mikrofon untuk panggilan"; +NSPhotoLibraryUsageDescription="Aplikasi meminta akses ke perpustakaan foto untuk mengunggah avatar"; diff --git a/ios/Runner/id.lproj/Main.strings b/ios/Runner/id.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/id.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/info_dev.plist b/ios/Runner/info_dev.plist index d8ed7c28..b9594e80 100755 --- a/ios/Runner/info_dev.plist +++ b/ios/Runner/info_dev.plist @@ -87,11 +87,11 @@ NSFileProtectionKey NSFileProtectionCompleteUntilFirstUserAuthentication NSLocationAlwaysAndWhenInUseUsageDescription - 应用在前台和后台的时候可以搜到更新的位置信息 + 我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备 NSLocationAlwaysUsageDescription - 应用在后台的时候可以搜到更新的位置信息 + 我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备 NSLocationWhenInUseUsageDescription - 应用在前台的时候可以搜到更新的位置信息 + 我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备 NSMicrophoneUsageDescription 应用请求麦克风用来通话 NSPhotoLibraryUsageDescription diff --git a/ios/Runner/info_pre.plist b/ios/Runner/info_pre.plist index 9874419b..23ea7388 100755 --- a/ios/Runner/info_pre.plist +++ b/ios/Runner/info_pre.plist @@ -85,11 +85,11 @@ NSContactsUsageDescription Reason we need access to the contact list NSLocationAlwaysAndWhenInUseUsageDescription - 应用在前台和后台的时候可以搜到更新的位置信息 + 我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备 NSLocationAlwaysUsageDescription - 应用在后台的时候可以搜到更新的位置信息 + 我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备 NSLocationWhenInUseUsageDescription - 应用在前台的时候可以搜到更新的位置信息 + 我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备 NSMicrophoneUsageDescription 应用请求麦克风用来通话 NSPhotoLibraryUsageDescription diff --git a/ios/Runner/info_sky.plist b/ios/Runner/info_sky.plist index 6d6ce72f..89605593 100755 --- a/ios/Runner/info_sky.plist +++ b/ios/Runner/info_sky.plist @@ -85,11 +85,11 @@ NSContactsUsageDescription Reason we need access to the contact list NSLocationAlwaysAndWhenInUseUsageDescription - 应用在前台和后台的时候可以搜到更新的位置信息 + 我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备 NSLocationAlwaysUsageDescription - 应用在后台的时候可以搜到更新的位置信息 + 我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备 NSLocationWhenInUseUsageDescription - 应用在前台的时候可以搜到更新的位置信息 + 我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备 NSMicrophoneUsageDescription 应用请求麦克风用来通话 NSPhotoLibraryUsageDescription diff --git a/ios/Runner/info_xhj.plist b/ios/Runner/info_xhj.plist index e2b52aaa..a21ee95c 100755 --- a/ios/Runner/info_xhj.plist +++ b/ios/Runner/info_xhj.plist @@ -30,10 +30,10 @@ CFBundleURLIconFile CFBundleURLName - com.sky.skysmartlock + com.xhj.xhjsmartlock CFBundleURLSchemes - skysmartlock + xhjsmartlock @@ -45,7 +45,7 @@ weixin CFBundleURLSchemes - wxbe340095d2b8fd51 + wx8e48112e22343817 @@ -87,11 +87,11 @@ NSFileProtectionKey NSFileProtectionCompleteUntilFirstUserAuthentication NSLocationAlwaysAndWhenInUseUsageDescription - 应用在前台和后台的时候可以搜到更新的位置信息 + 我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备 NSLocationAlwaysUsageDescription - 应用在后台的时候可以搜到更新的位置信息 + 我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备 NSLocationWhenInUseUsageDescription - 应用在前台的时候可以搜到更新的位置信息 + 我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备 NSMicrophoneUsageDescription 应用请求麦克风用来通话 NSPhotoLibraryUsageDescription diff --git a/ios/Runner/it.lproj/InfoPlist.strings b/ios/Runner/it.lproj/InfoPlist.strings new file mode 100644 index 00000000..3f9e41d7 --- /dev/null +++ b/ios/Runner/it.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Questa applicazione utilizza il Bluetooth per cercare, connettersi e trasferire dati tra diversi dispositivi"; +NSBluetoothPeripheralUsageDescription="Questa applicazione utilizza il Bluetooth per cercare, connettersi e trasferire dati tra diversi dispositivi"; +NSCameraUsageDescription="L'app richiede l'accesso alla fotocamera per scattare foto, caricare avatar e autenticare il volto"; +NSContactsUsageDescription="L'app accede alla rubrica per inviare chiavi elettroniche ai contatti"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Abbiamo bisogno del tuo accesso alla posizione per individuare con maggiore precisione i dispositivi Bluetooth"; +NSLocationAlwaysUsageDescription="Abbiamo bisogno del tuo accesso alla posizione per individuare con maggiore precisione i dispositivi Bluetooth"; +NSLocationWhenInUseUsageDescription="Abbiamo bisogno del tuo accesso alla posizione per individuare con maggiore precisione i dispositivi Bluetooth"; +NSMicrophoneUsageDescription="L'app richiede l'accesso al microfono per effettuare chiamate"; +NSPhotoLibraryUsageDescription="L'app richiede l'accesso alla libreria fotografica per caricare avatar"; diff --git a/ios/Runner/it.lproj/InfoPlist_sky.strings b/ios/Runner/it.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..3f9e41d7 --- /dev/null +++ b/ios/Runner/it.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Questa applicazione utilizza il Bluetooth per cercare, connettersi e trasferire dati tra diversi dispositivi"; +NSBluetoothPeripheralUsageDescription="Questa applicazione utilizza il Bluetooth per cercare, connettersi e trasferire dati tra diversi dispositivi"; +NSCameraUsageDescription="L'app richiede l'accesso alla fotocamera per scattare foto, caricare avatar e autenticare il volto"; +NSContactsUsageDescription="L'app accede alla rubrica per inviare chiavi elettroniche ai contatti"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Abbiamo bisogno del tuo accesso alla posizione per individuare con maggiore precisione i dispositivi Bluetooth"; +NSLocationAlwaysUsageDescription="Abbiamo bisogno del tuo accesso alla posizione per individuare con maggiore precisione i dispositivi Bluetooth"; +NSLocationWhenInUseUsageDescription="Abbiamo bisogno del tuo accesso alla posizione per individuare con maggiore precisione i dispositivi Bluetooth"; +NSMicrophoneUsageDescription="L'app richiede l'accesso al microfono per effettuare chiamate"; +NSPhotoLibraryUsageDescription="L'app richiede l'accesso alla libreria fotografica per caricare avatar"; diff --git a/ios/Runner/it.lproj/InfoPlist_xhj.strings b/ios/Runner/it.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..b90714f1 --- /dev/null +++ b/ios/Runner/it.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Questa applicazione utilizza il Bluetooth per cercare, connettersi e trasferire dati tra diversi dispositivi"; +NSBluetoothPeripheralUsageDescription="Questa applicazione utilizza il Bluetooth per cercare, connettersi e trasferire dati tra diversi dispositivi"; +NSCameraUsageDescription="L'app richiede l'accesso alla fotocamera per scattare foto, caricare avatar e autenticare il volto"; +NSContactsUsageDescription="L'app accede alla rubrica per inviare chiavi elettroniche ai contatti"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Abbiamo bisogno del tuo accesso alla posizione per individuare con maggiore precisione i dispositivi Bluetooth"; +NSLocationAlwaysUsageDescription="Abbiamo bisogno del tuo accesso alla posizione per individuare con maggiore precisione i dispositivi Bluetooth"; +NSLocationWhenInUseUsageDescription="Abbiamo bisogno del tuo accesso alla posizione per individuare con maggiore precisione i dispositivi Bluetooth"; +NSMicrophoneUsageDescription="L'app richiede l'accesso al microfono per effettuare chiamate"; +NSPhotoLibraryUsageDescription="L'app richiede l'accesso alla libreria fotografica per caricare avatar"; diff --git a/ios/Runner/it.lproj/Main.strings b/ios/Runner/it.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/it.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/ja.lproj/InfoPlist.strings b/ios/Runner/ja.lproj/InfoPlist.strings new file mode 100644 index 00000000..50a9e93e --- /dev/null +++ b/ios/Runner/ja.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="このアプリは、異なるデバイス間でデータを検索、接続、および転送するためにBluetoothを使用します。"; +NSBluetoothPeripheralUsageDescription="このアプリは、異なるデバイス間でデータを検索、接続、および転送するためにBluetoothを使用します。"; +NSCameraUsageDescription="アプリは写真撮影、アバターアップロード、顔認証のためにカメラへのアクセスを要求します。"; +NSContactsUsageDescription="アプリはアドレス帳にアクセスし、連絡先に電子キーを送信します。"; +NSLocationAlwaysAndWhenlnUseUsageDescription="お客様の位置情報にアクセスし、近くのBluetoothロックデバイスを正確にスキャンする必要があります。"; +NSLocationAlwaysUsageDescription="お客様の位置情報にアクセスし、近くのBluetoothロックデバイスを正確にスキャンする必要があります。"; +NSLocationWhenInUseUsageDescription="お客様の位置情報にアクセスし、近くのBluetoothロックデバイスを正確にスキャンする必要があります。"; +NSMicrophoneUsageDescription="アプリは通話のためにマイクへのアクセスを要求します。"; +NSPhotoLibraryUsageDescription="アプリはアバターアップロードのためにフォトライブラリへのアクセスを要求します。"; diff --git a/ios/Runner/ja.lproj/InfoPlist_sky.strings b/ios/Runner/ja.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..50a9e93e --- /dev/null +++ b/ios/Runner/ja.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="このアプリは、異なるデバイス間でデータを検索、接続、および転送するためにBluetoothを使用します。"; +NSBluetoothPeripheralUsageDescription="このアプリは、異なるデバイス間でデータを検索、接続、および転送するためにBluetoothを使用します。"; +NSCameraUsageDescription="アプリは写真撮影、アバターアップロード、顔認証のためにカメラへのアクセスを要求します。"; +NSContactsUsageDescription="アプリはアドレス帳にアクセスし、連絡先に電子キーを送信します。"; +NSLocationAlwaysAndWhenlnUseUsageDescription="お客様の位置情報にアクセスし、近くのBluetoothロックデバイスを正確にスキャンする必要があります。"; +NSLocationAlwaysUsageDescription="お客様の位置情報にアクセスし、近くのBluetoothロックデバイスを正確にスキャンする必要があります。"; +NSLocationWhenInUseUsageDescription="お客様の位置情報にアクセスし、近くのBluetoothロックデバイスを正確にスキャンする必要があります。"; +NSMicrophoneUsageDescription="アプリは通話のためにマイクへのアクセスを要求します。"; +NSPhotoLibraryUsageDescription="アプリはアバターアップロードのためにフォトライブラリへのアクセスを要求します。"; diff --git a/ios/Runner/ja.lproj/InfoPlist_xhj.strings b/ios/Runner/ja.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..c50c1aad --- /dev/null +++ b/ios/Runner/ja.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="このアプリは、異なるデバイス間でデータを検索、接続、および転送するためにBluetoothを使用します。"; +NSBluetoothPeripheralUsageDescription="このアプリは、異なるデバイス間でデータを検索、接続、および転送するためにBluetoothを使用します。"; +NSCameraUsageDescription="アプリは写真撮影、アバターアップロード、顔認証のためにカメラへのアクセスを要求します。"; +NSContactsUsageDescription="アプリはアドレス帳にアクセスし、連絡先に電子キーを送信します。"; +NSLocationAlwaysAndWhenlnUseUsageDescription="お客様の位置情報にアクセスし、近くのBluetoothロックデバイスを正確にスキャンする必要があります。"; +NSLocationAlwaysUsageDescription="お客様の位置情報にアクセスし、近くのBluetoothロックデバイスを正確にスキャンする必要があります。"; +NSLocationWhenInUseUsageDescription="お客様の位置情報にアクセスし、近くのBluetoothロックデバイスを正確にスキャンする必要があります。"; +NSMicrophoneUsageDescription="アプリは通話のためにマイクへのアクセスを要求します。"; +NSPhotoLibraryUsageDescription="アプリはアバターアップロードのためにフォトライブラリへのアクセスを要求します。"; diff --git a/ios/Runner/ja.lproj/Main.strings b/ios/Runner/ja.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/ja.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/kk.lproj/InfoPlist.strings b/ios/Runner/kk.lproj/InfoPlist.strings new file mode 100644 index 00000000..c261e112 --- /dev/null +++ b/ios/Runner/kk.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Бұл қосымша әртүрлі құрылғылар арасында деректерді іздеу, қосылу және беру үшін Bluetooth пайдаланады"; +NSBluetoothPeripheralUsageDescription="Бұл қосымша әртүрлі құрылғылар арасында деректерді іздеу, қосылу және беру үшін Bluetooth пайдаланады"; +NSCameraUsageDescription="Қосымша камераға қол жеткізуді сұрайды, фотосуреттер түсіру, аватарларды жүктеу және бет-әлпетті тану үшін"; +NSContactsUsageDescription="Қосымша байланыс кітапшаларына қол жеткізеді, байланыстарға электронды кілттер жіберу үшін"; +NSLocationAlwaysAndWhenInUseUsageDescription="Bluetooth құлып құрылғыларын нақтырақ сканерлеу үшін бізге сіздің орналасқан жеріңізге қол жеткізу қажет"; +NSLocationAlwaysUsageDescription="Bluetooth құлып құрылғыларын нақтырақ сканерлеу үшін бізге сіздің орналасқан жеріңізге қол жеткізу қажет"; +NSLocationWhenInUseUsageDescription="Bluetooth құлып құрылғыларын нақтырақ сканерлеу үшін бізге сіздің орналасқан жеріңізге қол жеткізу қажет"; +NSMicrophoneUsageDescription="Қосымша дауыстық қоңыраулар үшін микрофонға қол жеткізуді сұрайды"; +NSPhotoLibraryUsageDescription="Қосымша аватарларды жүктеу үшін фотокітапханаға қол жеткізуді сұрайды"; diff --git a/ios/Runner/kk.lproj/InfoPlist_sky.strings b/ios/Runner/kk.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..c261e112 --- /dev/null +++ b/ios/Runner/kk.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Бұл қосымша әртүрлі құрылғылар арасында деректерді іздеу, қосылу және беру үшін Bluetooth пайдаланады"; +NSBluetoothPeripheralUsageDescription="Бұл қосымша әртүрлі құрылғылар арасында деректерді іздеу, қосылу және беру үшін Bluetooth пайдаланады"; +NSCameraUsageDescription="Қосымша камераға қол жеткізуді сұрайды, фотосуреттер түсіру, аватарларды жүктеу және бет-әлпетті тану үшін"; +NSContactsUsageDescription="Қосымша байланыс кітапшаларына қол жеткізеді, байланыстарға электронды кілттер жіберу үшін"; +NSLocationAlwaysAndWhenInUseUsageDescription="Bluetooth құлып құрылғыларын нақтырақ сканерлеу үшін бізге сіздің орналасқан жеріңізге қол жеткізу қажет"; +NSLocationAlwaysUsageDescription="Bluetooth құлып құрылғыларын нақтырақ сканерлеу үшін бізге сіздің орналасқан жеріңізге қол жеткізу қажет"; +NSLocationWhenInUseUsageDescription="Bluetooth құлып құрылғыларын нақтырақ сканерлеу үшін бізге сіздің орналасқан жеріңізге қол жеткізу қажет"; +NSMicrophoneUsageDescription="Қосымша дауыстық қоңыраулар үшін микрофонға қол жеткізуді сұрайды"; +NSPhotoLibraryUsageDescription="Қосымша аватарларды жүктеу үшін фотокітапханаға қол жеткізуді сұрайды"; diff --git a/ios/Runner/kk.lproj/InfoPlist_xhj.strings b/ios/Runner/kk.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..6b853be2 --- /dev/null +++ b/ios/Runner/kk.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Бұл қосымша әртүрлі құрылғылар арасында деректерді іздеу, қосылу және беру үшін Bluetooth пайдаланады"; +NSBluetoothPeripheralUsageDescription="Бұл қосымша әртүрлі құрылғылар арасында деректерді іздеу, қосылу және беру үшін Bluetooth пайдаланады"; +NSCameraUsageDescription="Қосымша камераға қол жеткізуді сұрайды, фотосуреттер түсіру, аватарларды жүктеу және бет-әлпетті тану үшін"; +NSContactsUsageDescription="Қосымша байланыс кітапшаларына қол жеткізеді, байланыстарға электронды кілттер жіберу үшін"; +NSLocationAlwaysAndWhenInUseUsageDescription="Bluetooth құлып құрылғыларын нақтырақ сканерлеу үшін бізге сіздің орналасқан жеріңізге қол жеткізу қажет"; +NSLocationAlwaysUsageDescription="Bluetooth құлып құрылғыларын нақтырақ сканерлеу үшін бізге сіздің орналасқан жеріңізге қол жеткізу қажет"; +NSLocationWhenInUseUsageDescription="Bluetooth құлып құрылғыларын нақтырақ сканерлеу үшін бізге сіздің орналасқан жеріңізге қол жеткізу қажет"; +NSMicrophoneUsageDescription="Қосымша дауыстық қоңыраулар үшін микрофонға қол жеткізуді сұрайды"; +NSPhotoLibraryUsageDescription="Қосымша аватарларды жүктеу үшін фотокітапханаға қол жеткізуді сұрайды"; diff --git a/ios/Runner/kk.lproj/Main.strings b/ios/Runner/kk.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/kk.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/ko.lproj/InfoPlist.strings b/ios/Runner/ko.lproj/InfoPlist.strings new file mode 100644 index 00000000..5596dc02 --- /dev/null +++ b/ios/Runner/ko.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="이 애플리케이션은 블루투스를 사용하여 다른 기기 간에 검색, 연결 및 데이터를 전송합니다"; +NSBluetoothPeripheralUsageDescription="이 애플리케이션은 블루투스를 사용하여 다른 기기 간에 검색, 연결 및 데이터를 전송합니다"; +NSCameraUsageDescription="앱이 사진 촬영, 아바타 업로드 및 얼굴 인증을 위해 카메라 접근 권한을 요청합니다"; +NSContactsUsageDescription="앱이 연락처에 접근하여 전자 키를 연락처에 전송합니다"; +NSLocationAlwaysAndWhenlnUseUsageDescription="블루투스 잠금 장치를 보다 정확하게 검색하기 위해 귀하의 위치 정보가 필요합니다"; +NSLocationAlwaysUsageDescription="블루투스 잠금 장치를 보다 정확하게 검색하기 위해 귀하의 위치 정보가 필요합니다"; +NSLocationWhenInUseUsageDescription="블루투스 잠금 장치를 보다 정확하게 검색하기 위해 귀하의 위치 정보가 필요합니다"; +NSMicrophoneUsageDescription="앱이 통화를 위해 마이크 접근 권한을 요청합니다"; +NSPhotoLibraryUsageDescription="앱이 아바타 업로드를 위해 사진 라이브러리 접근 권한을 요청합니다"; diff --git a/ios/Runner/ko.lproj/InfoPlist_sky.strings b/ios/Runner/ko.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..5596dc02 --- /dev/null +++ b/ios/Runner/ko.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="이 애플리케이션은 블루투스를 사용하여 다른 기기 간에 검색, 연결 및 데이터를 전송합니다"; +NSBluetoothPeripheralUsageDescription="이 애플리케이션은 블루투스를 사용하여 다른 기기 간에 검색, 연결 및 데이터를 전송합니다"; +NSCameraUsageDescription="앱이 사진 촬영, 아바타 업로드 및 얼굴 인증을 위해 카메라 접근 권한을 요청합니다"; +NSContactsUsageDescription="앱이 연락처에 접근하여 전자 키를 연락처에 전송합니다"; +NSLocationAlwaysAndWhenlnUseUsageDescription="블루투스 잠금 장치를 보다 정확하게 검색하기 위해 귀하의 위치 정보가 필요합니다"; +NSLocationAlwaysUsageDescription="블루투스 잠금 장치를 보다 정확하게 검색하기 위해 귀하의 위치 정보가 필요합니다"; +NSLocationWhenInUseUsageDescription="블루투스 잠금 장치를 보다 정확하게 검색하기 위해 귀하의 위치 정보가 필요합니다"; +NSMicrophoneUsageDescription="앱이 통화를 위해 마이크 접근 권한을 요청합니다"; +NSPhotoLibraryUsageDescription="앱이 아바타 업로드를 위해 사진 라이브러리 접근 권한을 요청합니다"; diff --git a/ios/Runner/ko.lproj/InfoPlist_xhj.strings b/ios/Runner/ko.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..ab41cc4c --- /dev/null +++ b/ios/Runner/ko.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="이 애플리케이션은 블루투스를 사용하여 다른 기기 간에 검색, 연결 및 데이터를 전송합니다"; +NSBluetoothPeripheralUsageDescription="이 애플리케이션은 블루투스를 사용하여 다른 기기 간에 검색, 연결 및 데이터를 전송합니다"; +NSCameraUsageDescription="앱이 사진 촬영, 아바타 업로드 및 얼굴 인증을 위해 카메라 접근 권한을 요청합니다"; +NSContactsUsageDescription="앱이 연락처에 접근하여 전자 키를 연락처에 전송합니다"; +NSLocationAlwaysAndWhenlnUseUsageDescription="블루투스 잠금 장치를 보다 정확하게 검색하기 위해 귀하의 위치 정보가 필요합니다"; +NSLocationAlwaysUsageDescription="블루투스 잠금 장치를 보다 정확하게 검색하기 위해 귀하의 위치 정보가 필요합니다"; +NSLocationWhenInUseUsageDescription="블루투스 잠금 장치를 보다 정확하게 검색하기 위해 귀하의 위치 정보가 필요합니다"; +NSMicrophoneUsageDescription="앱이 통화를 위해 마이크 접근 권한을 요청합니다"; +NSPhotoLibraryUsageDescription="앱이 아바타 업로드를 위해 사진 라이브러리 접근 권한을 요청합니다"; diff --git a/ios/Runner/ko.lproj/Main.strings b/ios/Runner/ko.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/ko.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/lt.lproj/InfoPlist.strings b/ios/Runner/lt.lproj/InfoPlist.strings new file mode 100644 index 00000000..3409e88a --- /dev/null +++ b/ios/Runner/lt.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Ši programa naudoja „Bluetooth“, kad surastų, prisijungtų ir perduotų duomenis tarp skirtingų įrenginių"; +NSBluetoothPeripheralUsageDescription="Ši programa naudoja „Bluetooth“, kad surastų, prisijungtų ir perduotų duomenis tarp skirtingų įrenginių"; +NSCameraUsageDescription="Programa prašo prieigos prie kameros, kad darytų nuotraukas, įkeltų avatarus ir atliktų veido autentifikaciją"; +NSContactsUsageDescription="Programa pasiekia jūsų kontaktus, kad siųstų elektroninius raktus jūsų kontaktams"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Mes turime prieigą prie jūsų vietos, kad tiksliau nuskaitytume netoliese esančius „Bluetooth“ spynos įrenginius"; +NSLocationAlwaysUsageDescription="Mes turime prieigą prie jūsų vietos, kad tiksliau nuskaitytume netoliese esančius „Bluetooth“ spynos įrenginius"; +NSLocationWhenInUseUsageDescription="Mes turime prieigą prie jūsų vietos, kad tiksliau nuskaitytume netoliese esančius „Bluetooth“ spynos įrenginius"; +NSMicrophoneUsageDescription="Programa prašo prieigos prie mikrofono pokalbiams"; +NSPhotoLibraryUsageDescription="Programa prašo prieigos prie nuotraukų bibliotekos, kad įkeltų avatarus"; diff --git a/ios/Runner/lt.lproj/InfoPlist_sky.strings b/ios/Runner/lt.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..3409e88a --- /dev/null +++ b/ios/Runner/lt.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Ši programa naudoja „Bluetooth“, kad surastų, prisijungtų ir perduotų duomenis tarp skirtingų įrenginių"; +NSBluetoothPeripheralUsageDescription="Ši programa naudoja „Bluetooth“, kad surastų, prisijungtų ir perduotų duomenis tarp skirtingų įrenginių"; +NSCameraUsageDescription="Programa prašo prieigos prie kameros, kad darytų nuotraukas, įkeltų avatarus ir atliktų veido autentifikaciją"; +NSContactsUsageDescription="Programa pasiekia jūsų kontaktus, kad siųstų elektroninius raktus jūsų kontaktams"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Mes turime prieigą prie jūsų vietos, kad tiksliau nuskaitytume netoliese esančius „Bluetooth“ spynos įrenginius"; +NSLocationAlwaysUsageDescription="Mes turime prieigą prie jūsų vietos, kad tiksliau nuskaitytume netoliese esančius „Bluetooth“ spynos įrenginius"; +NSLocationWhenInUseUsageDescription="Mes turime prieigą prie jūsų vietos, kad tiksliau nuskaitytume netoliese esančius „Bluetooth“ spynos įrenginius"; +NSMicrophoneUsageDescription="Programa prašo prieigos prie mikrofono pokalbiams"; +NSPhotoLibraryUsageDescription="Programa prašo prieigos prie nuotraukų bibliotekos, kad įkeltų avatarus"; diff --git a/ios/Runner/lt.lproj/InfoPlist_xhj.strings b/ios/Runner/lt.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..6db05fd8 --- /dev/null +++ b/ios/Runner/lt.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Ši programa naudoja „Bluetooth“, kad surastų, prisijungtų ir perduotų duomenis tarp skirtingų įrenginių"; +NSBluetoothPeripheralUsageDescription="Ši programa naudoja „Bluetooth“, kad surastų, prisijungtų ir perduotų duomenis tarp skirtingų įrenginių"; +NSCameraUsageDescription="Programa prašo prieigos prie kameros, kad darytų nuotraukas, įkeltų avatarus ir atliktų veido autentifikaciją"; +NSContactsUsageDescription="Programa pasiekia jūsų kontaktus, kad siųstų elektroninius raktus jūsų kontaktams"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Mes turime prieigą prie jūsų vietos, kad tiksliau nuskaitytume netoliese esančius „Bluetooth“ spynos įrenginius"; +NSLocationAlwaysUsageDescription="Mes turime prieigą prie jūsų vietos, kad tiksliau nuskaitytume netoliese esančius „Bluetooth“ spynos įrenginius"; +NSLocationWhenInUseUsageDescription="Mes turime prieigą prie jūsų vietos, kad tiksliau nuskaitytume netoliese esančius „Bluetooth“ spynos įrenginius"; +NSMicrophoneUsageDescription="Programa prašo prieigos prie mikrofono pokalbiams"; +NSPhotoLibraryUsageDescription="Programa prašo prieigos prie nuotraukų bibliotekos, kad įkeltų avatarus"; diff --git a/ios/Runner/lt.lproj/Main.strings b/ios/Runner/lt.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/lt.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/ms.lproj/InfoPlist.strings b/ios/Runner/ms.lproj/InfoPlist.strings new file mode 100644 index 00000000..bb055d6a --- /dev/null +++ b/ios/Runner/ms.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menyambung, dan memindahkan data antara peranti yang berbeza"; +NSBluetoothPeripheralUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menyambung, dan memindahkan data antara peranti yang berbeza"; +NSCameraUsageDescription="Aplikasi ini meminta akses kepada kamera untuk mengambil gambar, memuat naik avatar dan pengesahan wajah"; +NSContactsUsageDescription="Aplikasi ini mengakses kenalan untuk menghantar kunci elektronik kepada kenalan dalam buku alamat anda"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Kami memerlukan akses kepada maklumat lokasi anda untuk mengesan peranti kunci Bluetooth dengan lebih tepat"; +NSLocationAlwaysUsageDescription="Kami memerlukan akses kepada maklumat lokasi anda untuk mengesan peranti kunci Bluetooth dengan lebih tepat"; +NSLocationWhenInUseUsageDescription="Kami memerlukan akses kepada maklumat lokasi anda untuk mengesan peranti kunci Bluetooth dengan lebih tepat"; +NSMicrophoneUsageDescription="Aplikasi ini meminta akses kepada mikrofon untuk membuat panggilan"; +NSPhotoLibraryUsageDescription="Aplikasi ini meminta akses kepada perpustakaan foto untuk memuat naik avatar"; diff --git a/ios/Runner/ms.lproj/InfoPlist_sky.strings b/ios/Runner/ms.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..bb055d6a --- /dev/null +++ b/ios/Runner/ms.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menyambung, dan memindahkan data antara peranti yang berbeza"; +NSBluetoothPeripheralUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menyambung, dan memindahkan data antara peranti yang berbeza"; +NSCameraUsageDescription="Aplikasi ini meminta akses kepada kamera untuk mengambil gambar, memuat naik avatar dan pengesahan wajah"; +NSContactsUsageDescription="Aplikasi ini mengakses kenalan untuk menghantar kunci elektronik kepada kenalan dalam buku alamat anda"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Kami memerlukan akses kepada maklumat lokasi anda untuk mengesan peranti kunci Bluetooth dengan lebih tepat"; +NSLocationAlwaysUsageDescription="Kami memerlukan akses kepada maklumat lokasi anda untuk mengesan peranti kunci Bluetooth dengan lebih tepat"; +NSLocationWhenInUseUsageDescription="Kami memerlukan akses kepada maklumat lokasi anda untuk mengesan peranti kunci Bluetooth dengan lebih tepat"; +NSMicrophoneUsageDescription="Aplikasi ini meminta akses kepada mikrofon untuk membuat panggilan"; +NSPhotoLibraryUsageDescription="Aplikasi ini meminta akses kepada perpustakaan foto untuk memuat naik avatar"; diff --git a/ios/Runner/ms.lproj/InfoPlist_xhj.strings b/ios/Runner/ms.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..3d85d049 --- /dev/null +++ b/ios/Runner/ms.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menyambung, dan memindahkan data antara peranti yang berbeza"; +NSBluetoothPeripheralUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menyambung, dan memindahkan data antara peranti yang berbeza"; +NSCameraUsageDescription="Aplikasi ini meminta akses kepada kamera untuk mengambil gambar, memuat naik avatar dan pengesahan wajah"; +NSContactsUsageDescription="Aplikasi ini mengakses kenalan untuk menghantar kunci elektronik kepada kenalan dalam buku alamat anda"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Kami memerlukan akses kepada maklumat lokasi anda untuk mengesan peranti kunci Bluetooth dengan lebih tepat"; +NSLocationAlwaysUsageDescription="Kami memerlukan akses kepada maklumat lokasi anda untuk mengesan peranti kunci Bluetooth dengan lebih tepat"; +NSLocationWhenInUseUsageDescription="Kami memerlukan akses kepada maklumat lokasi anda untuk mengesan peranti kunci Bluetooth dengan lebih tepat"; +NSMicrophoneUsageDescription="Aplikasi ini meminta akses kepada mikrofon untuk membuat panggilan"; +NSPhotoLibraryUsageDescription="Aplikasi ini meminta akses kepada perpustakaan foto untuk memuat naik avatar"; diff --git a/ios/Runner/ms.lproj/Main.strings b/ios/Runner/ms.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/ms.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/nl.lproj/InfoPlist.strings b/ios/Runner/nl.lproj/InfoPlist.strings new file mode 100644 index 00000000..9a3397aa --- /dev/null +++ b/ios/Runner/nl.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Deze applicatie maakt gebruik van Bluetooth om gegevens te zoeken, verbinden en over te dragen tussen verschillende apparaten"; +NSBluetoothPeripheralUsageDescription="Deze applicatie maakt gebruik van Bluetooth om gegevens te zoeken, verbinden en over te dragen tussen verschillende apparaten"; +NSCameraUsageDescription="De applicatie vraagt om toegang tot de camera om foto's te maken, avatars te uploaden en gezichtsverificatie uit te voeren"; +NSContactsUsageDescription="De applicatie krijgt toegang tot uw contacten om elektronische sleutels naar uw contacten te sturen"; +NSLocationAlwaysAndWhenlnUseUsageDescription="We hebben toegang nodig tot uw locatie om Bluetooth-sloten op uw locatie nauwkeuriger te scannen"; +NSLocationAlwaysUsageDescription="We hebben toegang nodig tot uw locatie om Bluetooth-sloten op uw locatie nauwkeuriger te scannen"; +NSLocationWhenInUseUsageDescription="We hebben toegang nodig tot uw locatie om Bluetooth-sloten op uw locatie nauwkeuriger te scannen"; +NSMicrophoneUsageDescription="De applicatie vraagt om toegang tot de microfoon voor gesprekken"; +NSPhotoLibraryUsageDescription="De applicatie vraagt om toegang tot de fotobibliotheek voor het uploaden van avatars"; diff --git a/ios/Runner/nl.lproj/InfoPlist_sky.strings b/ios/Runner/nl.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..9a3397aa --- /dev/null +++ b/ios/Runner/nl.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Deze applicatie maakt gebruik van Bluetooth om gegevens te zoeken, verbinden en over te dragen tussen verschillende apparaten"; +NSBluetoothPeripheralUsageDescription="Deze applicatie maakt gebruik van Bluetooth om gegevens te zoeken, verbinden en over te dragen tussen verschillende apparaten"; +NSCameraUsageDescription="De applicatie vraagt om toegang tot de camera om foto's te maken, avatars te uploaden en gezichtsverificatie uit te voeren"; +NSContactsUsageDescription="De applicatie krijgt toegang tot uw contacten om elektronische sleutels naar uw contacten te sturen"; +NSLocationAlwaysAndWhenlnUseUsageDescription="We hebben toegang nodig tot uw locatie om Bluetooth-sloten op uw locatie nauwkeuriger te scannen"; +NSLocationAlwaysUsageDescription="We hebben toegang nodig tot uw locatie om Bluetooth-sloten op uw locatie nauwkeuriger te scannen"; +NSLocationWhenInUseUsageDescription="We hebben toegang nodig tot uw locatie om Bluetooth-sloten op uw locatie nauwkeuriger te scannen"; +NSMicrophoneUsageDescription="De applicatie vraagt om toegang tot de microfoon voor gesprekken"; +NSPhotoLibraryUsageDescription="De applicatie vraagt om toegang tot de fotobibliotheek voor het uploaden van avatars"; diff --git a/ios/Runner/nl.lproj/InfoPlist_xhj.strings b/ios/Runner/nl.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..485e330e --- /dev/null +++ b/ios/Runner/nl.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Deze applicatie maakt gebruik van Bluetooth om gegevens te zoeken, verbinden en over te dragen tussen verschillende apparaten"; +NSBluetoothPeripheralUsageDescription="Deze applicatie maakt gebruik van Bluetooth om gegevens te zoeken, verbinden en over te dragen tussen verschillende apparaten"; +NSCameraUsageDescription="De applicatie vraagt om toegang tot de camera om foto's te maken, avatars te uploaden en gezichtsverificatie uit te voeren"; +NSContactsUsageDescription="De applicatie krijgt toegang tot uw contacten om elektronische sleutels naar uw contacten te sturen"; +NSLocationAlwaysAndWhenlnUseUsageDescription="We hebben toegang nodig tot uw locatie om Bluetooth-sloten op uw locatie nauwkeuriger te scannen"; +NSLocationAlwaysUsageDescription="We hebben toegang nodig tot uw locatie om Bluetooth-sloten op uw locatie nauwkeuriger te scannen"; +NSLocationWhenInUseUsageDescription="We hebben toegang nodig tot uw locatie om Bluetooth-sloten op uw locatie nauwkeuriger te scannen"; +NSMicrophoneUsageDescription="De applicatie vraagt om toegang tot de microfoon voor gesprekken"; +NSPhotoLibraryUsageDescription="De applicatie vraagt om toegang tot de fotobibliotheek voor het uploaden van avatars"; diff --git a/ios/Runner/nl.lproj/Main.strings b/ios/Runner/nl.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/nl.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/pl.lproj/InfoPlist.strings b/ios/Runner/pl.lproj/InfoPlist.strings new file mode 100644 index 00000000..4252fc00 --- /dev/null +++ b/ios/Runner/pl.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Ta aplikacja używa Bluetooth do wyszukiwania, łączenia i przesyłania danych między różnymi urządzeniami"; +NSBluetoothPeripheralUsageDescription="Ta aplikacja używa Bluetooth do wyszukiwania, łączenia i przesyłania danych między różnymi urządzeniami"; +NSCameraUsageDescription="Aplikacja prosi o dostęp do kamery, aby robić zdjęcia, przesyłać awatary i przeprowadzać weryfikację twarzy"; +NSContactsUsageDescription="Aplikacja uzyskuje dostęp do Twoich kontaktów, aby wysyłać klucze elektroniczne do kontaktów w książce adresowej"; +NSLocationAlwaysAndWhenInUseUsageDescription="Potrzebujemy dostępu do Twojej lokalizacji, aby dokładniej zeskanować urządzenia Bluetooth w pobliżu"; +NSLocationAlwaysUsageDescription="Potrzebujemy dostępu do Twojej lokalizacji, aby dokładniej zeskanować urządzenia Bluetooth w pobliżu"; +NSLocationWhenInUseUsageDescription="Potrzebujemy dostępu do Twojej lokalizacji, aby dokładniej zeskanować urządzenia Bluetooth w pobliżu"; +NSMicrophoneUsageDescription="Aplikacja prosi o dostęp do mikrofonu do rozmów"; +NSPhotoLibraryUsageDescription="Aplikacja prosi o dostęp do biblioteki zdjęć w celu przesyłania awatarów"; diff --git a/ios/Runner/pl.lproj/InfoPlist_sky.strings b/ios/Runner/pl.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..4252fc00 --- /dev/null +++ b/ios/Runner/pl.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Ta aplikacja używa Bluetooth do wyszukiwania, łączenia i przesyłania danych między różnymi urządzeniami"; +NSBluetoothPeripheralUsageDescription="Ta aplikacja używa Bluetooth do wyszukiwania, łączenia i przesyłania danych między różnymi urządzeniami"; +NSCameraUsageDescription="Aplikacja prosi o dostęp do kamery, aby robić zdjęcia, przesyłać awatary i przeprowadzać weryfikację twarzy"; +NSContactsUsageDescription="Aplikacja uzyskuje dostęp do Twoich kontaktów, aby wysyłać klucze elektroniczne do kontaktów w książce adresowej"; +NSLocationAlwaysAndWhenInUseUsageDescription="Potrzebujemy dostępu do Twojej lokalizacji, aby dokładniej zeskanować urządzenia Bluetooth w pobliżu"; +NSLocationAlwaysUsageDescription="Potrzebujemy dostępu do Twojej lokalizacji, aby dokładniej zeskanować urządzenia Bluetooth w pobliżu"; +NSLocationWhenInUseUsageDescription="Potrzebujemy dostępu do Twojej lokalizacji, aby dokładniej zeskanować urządzenia Bluetooth w pobliżu"; +NSMicrophoneUsageDescription="Aplikacja prosi o dostęp do mikrofonu do rozmów"; +NSPhotoLibraryUsageDescription="Aplikacja prosi o dostęp do biblioteki zdjęć w celu przesyłania awatarów"; diff --git a/ios/Runner/pl.lproj/InfoPlist_xhj.strings b/ios/Runner/pl.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..4dbce07e --- /dev/null +++ b/ios/Runner/pl.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Ta aplikacja używa Bluetooth do wyszukiwania, łączenia i przesyłania danych między różnymi urządzeniami"; +NSBluetoothPeripheralUsageDescription="Ta aplikacja używa Bluetooth do wyszukiwania, łączenia i przesyłania danych między różnymi urządzeniami"; +NSCameraUsageDescription="Aplikacja prosi o dostęp do kamery, aby robić zdjęcia, przesyłać awatary i przeprowadzać weryfikację twarzy"; +NSContactsUsageDescription="Aplikacja uzyskuje dostęp do Twoich kontaktów, aby wysyłać klucze elektroniczne do kontaktów w książce adresowej"; +NSLocationAlwaysAndWhenInUseUsageDescription="Potrzebujemy dostępu do Twojej lokalizacji, aby dokładniej zeskanować urządzenia Bluetooth w pobliżu"; +NSLocationAlwaysUsageDescription="Potrzebujemy dostępu do Twojej lokalizacji, aby dokładniej zeskanować urządzenia Bluetooth w pobliżu"; +NSLocationWhenInUseUsageDescription="Potrzebujemy dostępu do Twojej lokalizacji, aby dokładniej zeskanować urządzenia Bluetooth w pobliżu"; +NSMicrophoneUsageDescription="Aplikacja prosi o dostęp do mikrofonu do rozmów"; +NSPhotoLibraryUsageDescription="Aplikacja prosi o dostęp do biblioteki zdjęć w celu przesyłania awatarów"; diff --git a/ios/Runner/pl.lproj/Main.strings b/ios/Runner/pl.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/pl.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/pt-PT.lproj/InfoPlist.strings b/ios/Runner/pt-PT.lproj/InfoPlist.strings new file mode 100644 index 00000000..64e6e78d --- /dev/null +++ b/ios/Runner/pt-PT.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Este aplicativo utiliza Bluetooth para localizar, conectar e transferir dados entre dispositivos diferentes"; +NSBluetoothPeripheralUsageDescription="Este aplicativo utiliza Bluetooth para localizar, conectar e transferir dados entre dispositivos diferentes"; +NSCameraUsageDescription="O aplicativo solicita acesso à câmera para tirar fotos, carregar avatares e realizar autenticação facial"; +NSContactsUsageDescription="O aplicativo acessa sua lista de contatos para enviar chaves eletrônicas"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Precisamos acessar sua localização para identificar dispositivos de fechadura Bluetooth com maior precisão"; +NSLocationAlwaysUsageDescription="Precisamos acessar sua localização para identificar dispositivos de fechadura Bluetooth com maior precisão"; +NSLocationWhenInUseUsageDescription="Precisamos acessar sua localização para identificar dispositivos de fechadura Bluetooth com maior precisão"; +NSMicrophoneUsageDescription="O aplicativo solicita acesso ao microfone para chamadas"; +NSPhotoLibraryUsageDescription="O aplicativo solicita acesso à biblioteca de fotos para carregar avatares"; diff --git a/ios/Runner/pt-PT.lproj/InfoPlist_sky.strings b/ios/Runner/pt-PT.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..64e6e78d --- /dev/null +++ b/ios/Runner/pt-PT.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Este aplicativo utiliza Bluetooth para localizar, conectar e transferir dados entre dispositivos diferentes"; +NSBluetoothPeripheralUsageDescription="Este aplicativo utiliza Bluetooth para localizar, conectar e transferir dados entre dispositivos diferentes"; +NSCameraUsageDescription="O aplicativo solicita acesso à câmera para tirar fotos, carregar avatares e realizar autenticação facial"; +NSContactsUsageDescription="O aplicativo acessa sua lista de contatos para enviar chaves eletrônicas"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Precisamos acessar sua localização para identificar dispositivos de fechadura Bluetooth com maior precisão"; +NSLocationAlwaysUsageDescription="Precisamos acessar sua localização para identificar dispositivos de fechadura Bluetooth com maior precisão"; +NSLocationWhenInUseUsageDescription="Precisamos acessar sua localização para identificar dispositivos de fechadura Bluetooth com maior precisão"; +NSMicrophoneUsageDescription="O aplicativo solicita acesso ao microfone para chamadas"; +NSPhotoLibraryUsageDescription="O aplicativo solicita acesso à biblioteca de fotos para carregar avatares"; diff --git a/ios/Runner/pt-PT.lproj/InfoPlist_xhj.strings b/ios/Runner/pt-PT.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..e65546bf --- /dev/null +++ b/ios/Runner/pt-PT.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Este aplicativo utiliza Bluetooth para localizar, conectar e transferir dados entre dispositivos diferentes"; +NSBluetoothPeripheralUsageDescription="Este aplicativo utiliza Bluetooth para localizar, conectar e transferir dados entre dispositivos diferentes"; +NSCameraUsageDescription="O aplicativo solicita acesso à câmera para tirar fotos, carregar avatares e realizar autenticação facial"; +NSContactsUsageDescription="O aplicativo acessa sua lista de contatos para enviar chaves eletrônicas"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Precisamos acessar sua localização para identificar dispositivos de fechadura Bluetooth com maior precisão"; +NSLocationAlwaysUsageDescription="Precisamos acessar sua localização para identificar dispositivos de fechadura Bluetooth com maior precisão"; +NSLocationWhenInUseUsageDescription="Precisamos acessar sua localização para identificar dispositivos de fechadura Bluetooth com maior precisão"; +NSMicrophoneUsageDescription="O aplicativo solicita acesso ao microfone para chamadas"; +NSPhotoLibraryUsageDescription="O aplicativo solicita acesso à biblioteca de fotos para carregar avatares"; diff --git a/ios/Runner/pt-PT.lproj/Main.strings b/ios/Runner/pt-PT.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/pt-PT.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/ro.lproj/InfoPlist.strings b/ios/Runner/ro.lproj/InfoPlist.strings new file mode 100644 index 00000000..6c172450 --- /dev/null +++ b/ios/Runner/ro.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Această aplicație utilizează Bluetooth pentru a căuta, conecta și transfera date între diferite dispozitive"; +NSBluetoothPeripheralUsageDescription="Această aplicație utilizează Bluetooth pentru a căuta, conecta și transfera date între diferite dispozitive"; +NSCameraUsageDescription="Aplicația solicită accesul la cameră pentru a face fotografii, a încărca avataruri și a autentifica fața"; +NSContactsUsageDescription="Aplicația accesează contactele pentru a trimite chei electronice contactelor din agenda ta"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Avem nevoie de acces la locația dumneavoastră pentru a scana dispozitivele Bluetooth din apropiere cu mai multă precizie"; +NSLocationAlwaysUsageDescription="Avem nevoie de acces la locația dumneavoastră pentru a scana dispozitivele Bluetooth din apropiere cu mai multă precizie"; +NSLocationWhenInUseUsageDescription="Avem nevoie de acces la locația dumneavoastră pentru a scana dispozitivele Bluetooth din apropiere cu mai multă precizie"; +NSMicrophoneUsageDescription="Aplicația solicită acces la microfon pentru a efectua apeluri"; +NSPhotoLibraryUsageDescription="Aplicația solicită acces la biblioteca foto pentru a încărca avataruri"; diff --git a/ios/Runner/ro.lproj/InfoPlist_sky.strings b/ios/Runner/ro.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..6c172450 --- /dev/null +++ b/ios/Runner/ro.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Această aplicație utilizează Bluetooth pentru a căuta, conecta și transfera date între diferite dispozitive"; +NSBluetoothPeripheralUsageDescription="Această aplicație utilizează Bluetooth pentru a căuta, conecta și transfera date între diferite dispozitive"; +NSCameraUsageDescription="Aplicația solicită accesul la cameră pentru a face fotografii, a încărca avataruri și a autentifica fața"; +NSContactsUsageDescription="Aplicația accesează contactele pentru a trimite chei electronice contactelor din agenda ta"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Avem nevoie de acces la locația dumneavoastră pentru a scana dispozitivele Bluetooth din apropiere cu mai multă precizie"; +NSLocationAlwaysUsageDescription="Avem nevoie de acces la locația dumneavoastră pentru a scana dispozitivele Bluetooth din apropiere cu mai multă precizie"; +NSLocationWhenInUseUsageDescription="Avem nevoie de acces la locația dumneavoastră pentru a scana dispozitivele Bluetooth din apropiere cu mai multă precizie"; +NSMicrophoneUsageDescription="Aplicația solicită acces la microfon pentru a efectua apeluri"; +NSPhotoLibraryUsageDescription="Aplicația solicită acces la biblioteca foto pentru a încărca avataruri"; diff --git a/ios/Runner/ro.lproj/InfoPlist_xhj.strings b/ios/Runner/ro.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..94561c12 --- /dev/null +++ b/ios/Runner/ro.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Această aplicație utilizează Bluetooth pentru a căuta, conecta și transfera date între diferite dispozitive"; +NSBluetoothPeripheralUsageDescription="Această aplicație utilizează Bluetooth pentru a căuta, conecta și transfera date între diferite dispozitive"; +NSCameraUsageDescription="Aplicația solicită accesul la cameră pentru a face fotografii, a încărca avataruri și a autentifica fața"; +NSContactsUsageDescription="Aplicația accesează contactele pentru a trimite chei electronice contactelor din agenda ta"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Avem nevoie de acces la locația dumneavoastră pentru a scana dispozitivele Bluetooth din apropiere cu mai multă precizie"; +NSLocationAlwaysUsageDescription="Avem nevoie de acces la locația dumneavoastră pentru a scana dispozitivele Bluetooth din apropiere cu mai multă precizie"; +NSLocationWhenInUseUsageDescription="Avem nevoie de acces la locația dumneavoastră pentru a scana dispozitivele Bluetooth din apropiere cu mai multă precizie"; +NSMicrophoneUsageDescription="Aplicația solicită acces la microfon pentru a efectua apeluri"; +NSPhotoLibraryUsageDescription="Aplicația solicită acces la biblioteca foto pentru a încărca avataruri"; diff --git a/ios/Runner/ro.lproj/Main.strings b/ios/Runner/ro.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/ro.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/ru.lproj/InfoPlist.strings b/ios/Runner/ru.lproj/InfoPlist.strings new file mode 100644 index 00000000..13b8474a --- /dev/null +++ b/ios/Runner/ru.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Это приложение использует Bluetooth для поиска, подключения и передачи данных между различными устройствами."; +NSBluetoothPeripheralUsageDescription="Это приложение использует Bluetooth для поиска, подключения и передачи данных между различными устройствами."; +NSCameraUsageDescription="Приложение запрашивает доступ к камере для фотографирования, загрузки аватаров и распознавания лиц."; +NSContactsUsageDescription="Приложение получает доступ к вашим контактам для отправки электронных ключей контактам из вашего списка."; +NSLocationAlwaysAndWhenlnUseUsageDescription="Нам нужен доступ к вашей геолокации для точного сканирования устройств Bluetooth-замков поблизости."; +NSLocationAlwaysUsageDescription="Нам нужен доступ к вашей геолокации для точного сканирования устройств Bluetooth-замков поблизости."; +NSLocationWhenInUseUsageDescription="Нам нужен доступ к вашей геолокации для точного сканирования устройств Bluetooth-замков поблизости."; +NSMicrophoneUsageDescription="Приложение запрашивает доступ к микрофону для звонков."; +NSPhotoLibraryUsageDescription="Приложение запрашивает доступ к библиотеке фотографий для загрузки аватаров."; diff --git a/ios/Runner/ru.lproj/InfoPlist_sky.strings b/ios/Runner/ru.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..13b8474a --- /dev/null +++ b/ios/Runner/ru.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Это приложение использует Bluetooth для поиска, подключения и передачи данных между различными устройствами."; +NSBluetoothPeripheralUsageDescription="Это приложение использует Bluetooth для поиска, подключения и передачи данных между различными устройствами."; +NSCameraUsageDescription="Приложение запрашивает доступ к камере для фотографирования, загрузки аватаров и распознавания лиц."; +NSContactsUsageDescription="Приложение получает доступ к вашим контактам для отправки электронных ключей контактам из вашего списка."; +NSLocationAlwaysAndWhenlnUseUsageDescription="Нам нужен доступ к вашей геолокации для точного сканирования устройств Bluetooth-замков поблизости."; +NSLocationAlwaysUsageDescription="Нам нужен доступ к вашей геолокации для точного сканирования устройств Bluetooth-замков поблизости."; +NSLocationWhenInUseUsageDescription="Нам нужен доступ к вашей геолокации для точного сканирования устройств Bluetooth-замков поблизости."; +NSMicrophoneUsageDescription="Приложение запрашивает доступ к микрофону для звонков."; +NSPhotoLibraryUsageDescription="Приложение запрашивает доступ к библиотеке фотографий для загрузки аватаров."; diff --git a/ios/Runner/ru.lproj/InfoPlist_xhj.strings b/ios/Runner/ru.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..b77eca88 --- /dev/null +++ b/ios/Runner/ru.lproj/InfoPlist_xhj.strings @@ -0,0 +1,12 @@ + +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Это приложение использует Bluetooth для поиска, подключения и передачи данных между различными устройствами."; +NSBluetoothPeripheralUsageDescription="Это приложение использует Bluetooth для поиска, подключения и передачи данных между различными устройствами."; +NSCameraUsageDescription="Приложение запрашивает доступ к камере для фотографирования, загрузки аватаров и распознавания лиц."; +NSContactsUsageDescription="Приложение получает доступ к вашим контактам для отправки электронных ключей контактам из вашего списка."; +NSLocationAlwaysAndWhenlnUseUsageDescription="Нам нужен доступ к вашей геолокации для точного сканирования устройств Bluetooth-замков поблизости."; +NSLocationAlwaysUsageDescription="Нам нужен доступ к вашей геолокации для точного сканирования устройств Bluetooth-замков поблизости."; +NSLocationWhenInUseUsageDescription="Нам нужен доступ к вашей геолокации для точного сканирования устройств Bluetooth-замков поблизости."; +NSMicrophoneUsageDescription="Приложение запрашивает доступ к микрофону для звонков."; +NSPhotoLibraryUsageDescription="Приложение запрашивает доступ к библиотеке фотографий для загрузки аватаров."; diff --git a/ios/Runner/ru.lproj/Main.strings b/ios/Runner/ru.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/ru.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/sk.lproj/InfoPlist.strings b/ios/Runner/sk.lproj/InfoPlist.strings new file mode 100644 index 00000000..edce8638 --- /dev/null +++ b/ios/Runner/sk.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Táto aplikácia používa Bluetooth na vyhľadávanie, pripojenie a prenos údajov medzi rôznymi zariadeniami"; +NSBluetoothPeripheralUsageDescription="Táto aplikácia používa Bluetooth na vyhľadávanie, pripojenie a prenos údajov medzi rôznymi zariadeniami"; +NSCameraUsageDescription="Aplikácia žiada prístup k fotoaparátu na fotografovanie, nahrávanie avatarov a overenie tváre"; +NSContactsUsageDescription="Aplikácia získava prístup k vašim kontaktom na odosielanie elektronických kľúčov do vašich kontaktov"; +NSLocationAlwaysAndWhenInUseUsageDescription="Potrebujeme prístup k vašej polohe, aby sme presnejšie skenovali Bluetooth zámky v okolí"; +NSLocationAlwaysUsageDescription="Potrebujeme prístup k vašej polohe, aby sme presnejšie skenovali Bluetooth zámky v okolí"; +NSLocationWhenInUseUsageDescription="Potrebujeme prístup k vašej polohe, aby sme presnejšie skenovali Bluetooth zámky v okolí"; +NSMicrophoneUsageDescription="Aplikácia žiada prístup k mikrofónu na uskutočnenie hovorov"; +NSPhotoLibraryUsageDescription="Aplikácia žiada prístup k knižnici fotografií na nahrávanie avatarov"; diff --git a/ios/Runner/sk.lproj/InfoPlist_sky.strings b/ios/Runner/sk.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..edce8638 --- /dev/null +++ b/ios/Runner/sk.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Táto aplikácia používa Bluetooth na vyhľadávanie, pripojenie a prenos údajov medzi rôznymi zariadeniami"; +NSBluetoothPeripheralUsageDescription="Táto aplikácia používa Bluetooth na vyhľadávanie, pripojenie a prenos údajov medzi rôznymi zariadeniami"; +NSCameraUsageDescription="Aplikácia žiada prístup k fotoaparátu na fotografovanie, nahrávanie avatarov a overenie tváre"; +NSContactsUsageDescription="Aplikácia získava prístup k vašim kontaktom na odosielanie elektronických kľúčov do vašich kontaktov"; +NSLocationAlwaysAndWhenInUseUsageDescription="Potrebujeme prístup k vašej polohe, aby sme presnejšie skenovali Bluetooth zámky v okolí"; +NSLocationAlwaysUsageDescription="Potrebujeme prístup k vašej polohe, aby sme presnejšie skenovali Bluetooth zámky v okolí"; +NSLocationWhenInUseUsageDescription="Potrebujeme prístup k vašej polohe, aby sme presnejšie skenovali Bluetooth zámky v okolí"; +NSMicrophoneUsageDescription="Aplikácia žiada prístup k mikrofónu na uskutočnenie hovorov"; +NSPhotoLibraryUsageDescription="Aplikácia žiada prístup k knižnici fotografií na nahrávanie avatarov"; diff --git a/ios/Runner/sk.lproj/InfoPlist_xhj.strings b/ios/Runner/sk.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..be736e26 --- /dev/null +++ b/ios/Runner/sk.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Táto aplikácia používa Bluetooth na vyhľadávanie, pripojenie a prenos údajov medzi rôznymi zariadeniami"; +NSBluetoothPeripheralUsageDescription="Táto aplikácia používa Bluetooth na vyhľadávanie, pripojenie a prenos údajov medzi rôznymi zariadeniami"; +NSCameraUsageDescription="Aplikácia žiada prístup k fotoaparátu na fotografovanie, nahrávanie avatarov a overenie tváre"; +NSContactsUsageDescription="Aplikácia získava prístup k vašim kontaktom na odosielanie elektronických kľúčov do vašich kontaktov"; +NSLocationAlwaysAndWhenInUseUsageDescription="Potrebujeme prístup k vašej polohe, aby sme presnejšie skenovali Bluetooth zámky v okolí"; +NSLocationAlwaysUsageDescription="Potrebujeme prístup k vašej polohe, aby sme presnejšie skenovali Bluetooth zámky v okolí"; +NSLocationWhenInUseUsageDescription="Potrebujeme prístup k vašej polohe, aby sme presnejšie skenovali Bluetooth zámky v okolí"; +NSMicrophoneUsageDescription="Aplikácia žiada prístup k mikrofónu na uskutočnenie hovorov"; +NSPhotoLibraryUsageDescription="Aplikácia žiada prístup k knižnici fotografií na nahrávanie avatarov"; diff --git a/ios/Runner/sk.lproj/Main.strings b/ios/Runner/sk.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/sk.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/sr.lproj/InfoPlist.strings b/ios/Runner/sr.lproj/InfoPlist.strings new file mode 100644 index 00000000..e26693a0 --- /dev/null +++ b/ios/Runner/sr.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prenos podataka između različitih uređaja"; +NSBluetoothPeripheralUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prenos podataka između različitih uređaja"; +NSCameraUsageDescription="Aplikacija zahteva pristup kameri za snimanje fotografija, otpremanje avatara i verifikaciju lica"; +NSContactsUsageDescription="Aplikacija pristupa vašim kontaktima kako bi slala elektronske ključeve vašim kontaktima"; +NSLocationAlwaysAndWhenInUseUsageDescription="Potrebno nam je da pristupimo vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje u vašem okruženju"; +NSLocationAlwaysUsageDescription="Potrebno nam je da pristupimo vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje u vašem okruženju"; +NSLocationWhenInUseUsageDescription="Potrebno nam je da pristupimo vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje u vašem okruženju"; +NSMicrophoneUsageDescription="Aplikacija zahteva pristup mikrofonu za obavljanje poziva"; +NSPhotoLibraryUsageDescription="Aplikacija zahteva pristup biblioteci fotografija za otpremanje avatara"; diff --git a/ios/Runner/sr.lproj/InfoPlist_sky.strings b/ios/Runner/sr.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..e26693a0 --- /dev/null +++ b/ios/Runner/sr.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prenos podataka između različitih uređaja"; +NSBluetoothPeripheralUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prenos podataka između različitih uređaja"; +NSCameraUsageDescription="Aplikacija zahteva pristup kameri za snimanje fotografija, otpremanje avatara i verifikaciju lica"; +NSContactsUsageDescription="Aplikacija pristupa vašim kontaktima kako bi slala elektronske ključeve vašim kontaktima"; +NSLocationAlwaysAndWhenInUseUsageDescription="Potrebno nam je da pristupimo vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje u vašem okruženju"; +NSLocationAlwaysUsageDescription="Potrebno nam je da pristupimo vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje u vašem okruženju"; +NSLocationWhenInUseUsageDescription="Potrebno nam je da pristupimo vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje u vašem okruženju"; +NSMicrophoneUsageDescription="Aplikacija zahteva pristup mikrofonu za obavljanje poziva"; +NSPhotoLibraryUsageDescription="Aplikacija zahteva pristup biblioteci fotografija za otpremanje avatara"; diff --git a/ios/Runner/sr.lproj/InfoPlist_xhj.strings b/ios/Runner/sr.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..55cfdfdb --- /dev/null +++ b/ios/Runner/sr.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prenos podataka između različitih uređaja"; +NSBluetoothPeripheralUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prenos podataka između različitih uređaja"; +NSCameraUsageDescription="Aplikacija zahteva pristup kameri za snimanje fotografija, otpremanje avatara i verifikaciju lica"; +NSContactsUsageDescription="Aplikacija pristupa vašim kontaktima kako bi slala elektronske ključeve vašim kontaktima"; +NSLocationAlwaysAndWhenInUseUsageDescription="Potrebno nam je da pristupimo vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje u vašem okruženju"; +NSLocationAlwaysUsageDescription="Potrebno nam je da pristupimo vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje u vašem okruženju"; +NSLocationWhenInUseUsageDescription="Potrebno nam je da pristupimo vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje u vašem okruženju"; +NSMicrophoneUsageDescription="Aplikacija zahteva pristup mikrofonu za obavljanje poziva"; +NSPhotoLibraryUsageDescription="Aplikacija zahteva pristup biblioteci fotografija za otpremanje avatara"; diff --git a/ios/Runner/sr.lproj/Main.strings b/ios/Runner/sr.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/sr.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/sv.lproj/InfoPlist.strings b/ios/Runner/sv.lproj/InfoPlist.strings new file mode 100644 index 00000000..d8148434 --- /dev/null +++ b/ios/Runner/sv.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Den här appen använder Bluetooth för att söka, ansluta och överföra data mellan olika enheter"; +NSBluetoothPeripheralUsageDescription="Den här appen använder Bluetooth för att söka, ansluta och överföra data mellan olika enheter"; +NSCameraUsageDescription="Appen begär åtkomst till kameran för att ta bilder, ladda upp avatarer och autentisera ansikten"; +NSContactsUsageDescription="Appen får åtkomst till dina kontakter för att skicka elektroniska nycklar till dina kontakter"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Vi behöver åtkomst till din plats för att mer exakt skanna Bluetooth-lås på din plats"; +NSLocationAlwaysUsageDescription="Vi behöver åtkomst till din plats för att mer exakt skanna Bluetooth-lås på din plats"; +NSLocationWhenInUseUsageDescription="Vi behöver åtkomst till din plats för att mer exakt skanna Bluetooth-lås på din plats"; +NSMicrophoneUsageDescription="Appen begär åtkomst till mikrofonen för att ringa samtal"; +NSPhotoLibraryUsageDescription="Appen begär åtkomst till fotobiblioteket för att ladda upp avatarer"; diff --git a/ios/Runner/sv.lproj/InfoPlist_sky.strings b/ios/Runner/sv.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..d8148434 --- /dev/null +++ b/ios/Runner/sv.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Den här appen använder Bluetooth för att söka, ansluta och överföra data mellan olika enheter"; +NSBluetoothPeripheralUsageDescription="Den här appen använder Bluetooth för att söka, ansluta och överföra data mellan olika enheter"; +NSCameraUsageDescription="Appen begär åtkomst till kameran för att ta bilder, ladda upp avatarer och autentisera ansikten"; +NSContactsUsageDescription="Appen får åtkomst till dina kontakter för att skicka elektroniska nycklar till dina kontakter"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Vi behöver åtkomst till din plats för att mer exakt skanna Bluetooth-lås på din plats"; +NSLocationAlwaysUsageDescription="Vi behöver åtkomst till din plats för att mer exakt skanna Bluetooth-lås på din plats"; +NSLocationWhenInUseUsageDescription="Vi behöver åtkomst till din plats för att mer exakt skanna Bluetooth-lås på din plats"; +NSMicrophoneUsageDescription="Appen begär åtkomst till mikrofonen för att ringa samtal"; +NSPhotoLibraryUsageDescription="Appen begär åtkomst till fotobiblioteket för att ladda upp avatarer"; diff --git a/ios/Runner/sv.lproj/InfoPlist_xhj.strings b/ios/Runner/sv.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..d59b6b79 --- /dev/null +++ b/ios/Runner/sv.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Den här appen använder Bluetooth för att söka, ansluta och överföra data mellan olika enheter"; +NSBluetoothPeripheralUsageDescription="Den här appen använder Bluetooth för att söka, ansluta och överföra data mellan olika enheter"; +NSCameraUsageDescription="Appen begär åtkomst till kameran för att ta bilder, ladda upp avatarer och autentisera ansikten"; +NSContactsUsageDescription="Appen får åtkomst till dina kontakter för att skicka elektroniska nycklar till dina kontakter"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Vi behöver åtkomst till din plats för att mer exakt skanna Bluetooth-lås på din plats"; +NSLocationAlwaysUsageDescription="Vi behöver åtkomst till din plats för att mer exakt skanna Bluetooth-lås på din plats"; +NSLocationWhenInUseUsageDescription="Vi behöver åtkomst till din plats för att mer exakt skanna Bluetooth-lås på din plats"; +NSMicrophoneUsageDescription="Appen begär åtkomst till mikrofonen för att ringa samtal"; +NSPhotoLibraryUsageDescription="Appen begär åtkomst till fotobiblioteket för att ladda upp avatarer"; diff --git a/ios/Runner/sv.lproj/Main.strings b/ios/Runner/sv.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/sv.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/th.lproj/InfoPlist.strings b/ios/Runner/th.lproj/InfoPlist.strings new file mode 100644 index 00000000..67c8b316 --- /dev/null +++ b/ios/Runner/th.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="แอปนี้ใช้ Bluetooth ในการค้นหา เชื่อมต่อ และถ่ายโอนข้อมูลระหว่างอุปกรณ์ต่างๆ"; +NSBluetoothPeripheralUsageDescription="แอปนี้ใช้ Bluetooth ในการค้นหา เชื่อมต่อ และถ่ายโอนข้อมูลระหว่างอุปกรณ์ต่างๆ"; +NSCameraUsageDescription="แอปขอเข้าถึงกล้องเพื่อถ่ายภาพ อัพโหลดภาพโปรไฟล์ และทำการยืนยันตัวตนด้วยใบหน้า"; +NSContactsUsageDescription="แอปเข้าถึงรายชื่อผู้ติดต่อของคุณเพื่อส่งคีย์อิเล็กทรอนิกส์ให้กับผู้ติดต่อในรายชื่อ"; +NSLocationAlwaysAndWhenInUseUsageDescription="เราต้องการเข้าถึงข้อมูลตำแหน่งของคุณเพื่อสแกนอุปกรณ์ Bluetooth ล็อกที่อยู่ใกล้เคียงได้แม่นยำยิ่งขึ้น"; +NSLocationAlwaysUsageDescription="เราต้องการเข้าถึงข้อมูลตำแหน่งของคุณเพื่อสแกนอุปกรณ์ Bluetooth ล็อกที่อยู่ใกล้เคียงได้แม่นยำยิ่งขึ้น"; +NSLocationWhenInUseUsageDescription="เราต้องการเข้าถึงข้อมูลตำแหน่งของคุณเพื่อสแกนอุปกรณ์ Bluetooth ล็อกที่อยู่ใกล้เคียงได้แม่นยำยิ่งขึ้น"; +NSMicrophoneUsageDescription="แอปขอเข้าถึงไมโครโฟนเพื่อการโทร"; +NSPhotoLibraryUsageDescription="แอปขอเข้าถึงห้องสมุดภาพเพื่ออัพโหลดภาพโปรไฟล์"; diff --git a/ios/Runner/th.lproj/InfoPlist_sky.strings b/ios/Runner/th.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..67c8b316 --- /dev/null +++ b/ios/Runner/th.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="แอปนี้ใช้ Bluetooth ในการค้นหา เชื่อมต่อ และถ่ายโอนข้อมูลระหว่างอุปกรณ์ต่างๆ"; +NSBluetoothPeripheralUsageDescription="แอปนี้ใช้ Bluetooth ในการค้นหา เชื่อมต่อ และถ่ายโอนข้อมูลระหว่างอุปกรณ์ต่างๆ"; +NSCameraUsageDescription="แอปขอเข้าถึงกล้องเพื่อถ่ายภาพ อัพโหลดภาพโปรไฟล์ และทำการยืนยันตัวตนด้วยใบหน้า"; +NSContactsUsageDescription="แอปเข้าถึงรายชื่อผู้ติดต่อของคุณเพื่อส่งคีย์อิเล็กทรอนิกส์ให้กับผู้ติดต่อในรายชื่อ"; +NSLocationAlwaysAndWhenInUseUsageDescription="เราต้องการเข้าถึงข้อมูลตำแหน่งของคุณเพื่อสแกนอุปกรณ์ Bluetooth ล็อกที่อยู่ใกล้เคียงได้แม่นยำยิ่งขึ้น"; +NSLocationAlwaysUsageDescription="เราต้องการเข้าถึงข้อมูลตำแหน่งของคุณเพื่อสแกนอุปกรณ์ Bluetooth ล็อกที่อยู่ใกล้เคียงได้แม่นยำยิ่งขึ้น"; +NSLocationWhenInUseUsageDescription="เราต้องการเข้าถึงข้อมูลตำแหน่งของคุณเพื่อสแกนอุปกรณ์ Bluetooth ล็อกที่อยู่ใกล้เคียงได้แม่นยำยิ่งขึ้น"; +NSMicrophoneUsageDescription="แอปขอเข้าถึงไมโครโฟนเพื่อการโทร"; +NSPhotoLibraryUsageDescription="แอปขอเข้าถึงห้องสมุดภาพเพื่ออัพโหลดภาพโปรไฟล์"; diff --git a/ios/Runner/th.lproj/InfoPlist_xhj.strings b/ios/Runner/th.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..3d561b5a --- /dev/null +++ b/ios/Runner/th.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="แอปนี้ใช้ Bluetooth ในการค้นหา เชื่อมต่อ และถ่ายโอนข้อมูลระหว่างอุปกรณ์ต่างๆ"; +NSBluetoothPeripheralUsageDescription="แอปนี้ใช้ Bluetooth ในการค้นหา เชื่อมต่อ และถ่ายโอนข้อมูลระหว่างอุปกรณ์ต่างๆ"; +NSCameraUsageDescription="แอปขอเข้าถึงกล้องเพื่อถ่ายภาพ อัพโหลดภาพโปรไฟล์ และทำการยืนยันตัวตนด้วยใบหน้า"; +NSContactsUsageDescription="แอปเข้าถึงรายชื่อผู้ติดต่อของคุณเพื่อส่งคีย์อิเล็กทรอนิกส์ให้กับผู้ติดต่อในรายชื่อ"; +NSLocationAlwaysAndWhenInUseUsageDescription="เราต้องการเข้าถึงข้อมูลตำแหน่งของคุณเพื่อสแกนอุปกรณ์ Bluetooth ล็อกที่อยู่ใกล้เคียงได้แม่นยำยิ่งขึ้น"; +NSLocationAlwaysUsageDescription="เราต้องการเข้าถึงข้อมูลตำแหน่งของคุณเพื่อสแกนอุปกรณ์ Bluetooth ล็อกที่อยู่ใกล้เคียงได้แม่นยำยิ่งขึ้น"; +NSLocationWhenInUseUsageDescription="เราต้องการเข้าถึงข้อมูลตำแหน่งของคุณเพื่อสแกนอุปกรณ์ Bluetooth ล็อกที่อยู่ใกล้เคียงได้แม่นยำยิ่งขึ้น"; +NSMicrophoneUsageDescription="แอปขอเข้าถึงไมโครโฟนเพื่อการโทร"; +NSPhotoLibraryUsageDescription="แอปขอเข้าถึงห้องสมุดภาพเพื่ออัพโหลดภาพโปรไฟล์"; diff --git a/ios/Runner/th.lproj/Main.strings b/ios/Runner/th.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/th.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/tr.lproj/InfoPlist.strings b/ios/Runner/tr.lproj/InfoPlist.strings new file mode 100644 index 00000000..609cd9d0 --- /dev/null +++ b/ios/Runner/tr.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Bu uygulama, farklı cihazlar arasında veri aramak, bağlanmak ve iletmek için Bluetooth kullanır"; +NSBluetoothPeripheralUsageDescription="Bu uygulama, farklı cihazlar arasında veri aramak, bağlanmak ve iletmek için Bluetooth kullanır"; +NSCameraUsageDescription="Uygulama, fotoğraf çekmek, avatar yüklemek ve yüz doğrulaması yapmak için kameraya erişim ister"; +NSContactsUsageDescription="Uygulama, rehberinize erişerek, rehberinizdeki kişilere elektronik anahtar göndermek için kullanır"; +NSLocationAlwaysAndWhenInUseUsageDescription="Bluetooth kilit cihazlarını daha doğru tarayabilmemiz için konumunuza erişmemiz gerekiyor"; +NSLocationAlwaysUsageDescription="Bluetooth kilit cihazlarını daha doğru tarayabilmemiz için konumunuza erişmemiz gerekiyor"; +NSLocationWhenInUseUsageDescription="Bluetooth kilit cihazlarını daha doğru tarayabilmemiz için konumunuza erişmemiz gerekiyor"; +NSMicrophoneUsageDescription="Uygulama, çağrı yapabilmek için mikrofonunuza erişim ister"; +NSPhotoLibraryUsageDescription="Uygulama, avatar yüklemek için fotoğraf kütüphanenize erişim ister"; diff --git a/ios/Runner/tr.lproj/InfoPlist_sky.strings b/ios/Runner/tr.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..609cd9d0 --- /dev/null +++ b/ios/Runner/tr.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Bu uygulama, farklı cihazlar arasında veri aramak, bağlanmak ve iletmek için Bluetooth kullanır"; +NSBluetoothPeripheralUsageDescription="Bu uygulama, farklı cihazlar arasında veri aramak, bağlanmak ve iletmek için Bluetooth kullanır"; +NSCameraUsageDescription="Uygulama, fotoğraf çekmek, avatar yüklemek ve yüz doğrulaması yapmak için kameraya erişim ister"; +NSContactsUsageDescription="Uygulama, rehberinize erişerek, rehberinizdeki kişilere elektronik anahtar göndermek için kullanır"; +NSLocationAlwaysAndWhenInUseUsageDescription="Bluetooth kilit cihazlarını daha doğru tarayabilmemiz için konumunuza erişmemiz gerekiyor"; +NSLocationAlwaysUsageDescription="Bluetooth kilit cihazlarını daha doğru tarayabilmemiz için konumunuza erişmemiz gerekiyor"; +NSLocationWhenInUseUsageDescription="Bluetooth kilit cihazlarını daha doğru tarayabilmemiz için konumunuza erişmemiz gerekiyor"; +NSMicrophoneUsageDescription="Uygulama, çağrı yapabilmek için mikrofonunuza erişim ister"; +NSPhotoLibraryUsageDescription="Uygulama, avatar yüklemek için fotoğraf kütüphanenize erişim ister"; diff --git a/ios/Runner/tr.lproj/InfoPlist_xhj.strings b/ios/Runner/tr.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..9d464d0c --- /dev/null +++ b/ios/Runner/tr.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Bu uygulama, farklı cihazlar arasında veri aramak, bağlanmak ve iletmek için Bluetooth kullanır"; +NSBluetoothPeripheralUsageDescription="Bu uygulama, farklı cihazlar arasında veri aramak, bağlanmak ve iletmek için Bluetooth kullanır"; +NSCameraUsageDescription="Uygulama, fotoğraf çekmek, avatar yüklemek ve yüz doğrulaması yapmak için kameraya erişim ister"; +NSContactsUsageDescription="Uygulama, rehberinize erişerek, rehberinizdeki kişilere elektronik anahtar göndermek için kullanır"; +NSLocationAlwaysAndWhenInUseUsageDescription="Bluetooth kilit cihazlarını daha doğru tarayabilmemiz için konumunuza erişmemiz gerekiyor"; +NSLocationAlwaysUsageDescription="Bluetooth kilit cihazlarını daha doğru tarayabilmemiz için konumunuza erişmemiz gerekiyor"; +NSLocationWhenInUseUsageDescription="Bluetooth kilit cihazlarını daha doğru tarayabilmemiz için konumunuza erişmemiz gerekiyor"; +NSMicrophoneUsageDescription="Uygulama, çağrı yapabilmek için mikrofonunuza erişim ister"; +NSPhotoLibraryUsageDescription="Uygulama, avatar yüklemek için fotoğraf kütüphanenize erişim ister"; diff --git a/ios/Runner/tr.lproj/Main.strings b/ios/Runner/tr.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/tr.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/uk.lproj/InfoPlist.strings b/ios/Runner/uk.lproj/InfoPlist.strings new file mode 100644 index 00000000..789bbc76 --- /dev/null +++ b/ios/Runner/uk.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Цей додаток використовує Bluetooth для пошуку, підключення та передачі даних між різними пристроями"; +NSBluetoothPeripheralUsageDescription="Цей додаток використовує Bluetooth для пошуку, підключення та передачі даних між різними пристроями"; +NSCameraUsageDescription="Додаток запитує доступ до камери для фотографування, завантаження аватарів та автентифікації обличчя"; +NSContactsUsageDescription="Додаток отримує доступ до контактів для надсилання електронних ключів контактам у вашій адресній книзі"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Нам потрібен доступ до вашого місцезнаходження для точнішого виявлення пристроїв Bluetooth замків"; +NSLocationAlwaysUsageDescription="Нам потрібен доступ до вашого місцезнаходження для точнішого виявлення пристроїв Bluetooth замків"; +NSLocationWhenInUseUsageDescription="Нам потрібен доступ до вашого місцезнаходження для точнішого виявлення пристроїв Bluetooth замків"; +NSMicrophoneUsageDescription="Додаток запитує доступ до мікрофона для здійснення дзвінків"; +NSPhotoLibraryUsageDescription="Додаток запитує доступ до фотоальбому для завантаження аватарів"; diff --git a/ios/Runner/uk.lproj/InfoPlist_sky.strings b/ios/Runner/uk.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..789bbc76 --- /dev/null +++ b/ios/Runner/uk.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Цей додаток використовує Bluetooth для пошуку, підключення та передачі даних між різними пристроями"; +NSBluetoothPeripheralUsageDescription="Цей додаток використовує Bluetooth для пошуку, підключення та передачі даних між різними пристроями"; +NSCameraUsageDescription="Додаток запитує доступ до камери для фотографування, завантаження аватарів та автентифікації обличчя"; +NSContactsUsageDescription="Додаток отримує доступ до контактів для надсилання електронних ключів контактам у вашій адресній книзі"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Нам потрібен доступ до вашого місцезнаходження для точнішого виявлення пристроїв Bluetooth замків"; +NSLocationAlwaysUsageDescription="Нам потрібен доступ до вашого місцезнаходження для точнішого виявлення пристроїв Bluetooth замків"; +NSLocationWhenInUseUsageDescription="Нам потрібен доступ до вашого місцезнаходження для точнішого виявлення пристроїв Bluetooth замків"; +NSMicrophoneUsageDescription="Додаток запитує доступ до мікрофона для здійснення дзвінків"; +NSPhotoLibraryUsageDescription="Додаток запитує доступ до фотоальбому для завантаження аватарів"; diff --git a/ios/Runner/uk.lproj/InfoPlist_xhj.strings b/ios/Runner/uk.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..745c900c --- /dev/null +++ b/ios/Runner/uk.lproj/InfoPlist_xhj.strings @@ -0,0 +1,19 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; + +NSBluetoothAlwaysUsageDescription="Цей додаток використовує Bluetooth для пошуку, підключення та передачі даних між різними пристроями"; +NSBluetoothPeripheralUsageDescription="Цей додаток використовує Bluetooth для пошуку, підключення та передачі даних між різними пристроями"; +NSCameraUsageDescription="Додаток запитує доступ до камери для фотографування, завантаження аватарів та автентифікації обличчя"; +NSContactsUsageDescription="Додаток отримує доступ до контактів для надсилання електронних ключів контактам у вашій адресній книзі"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Нам потрібен доступ до вашого місцезнаходження для точнішого виявлення пристроїв Bluetooth замків"; +NSLocationAlwaysUsageDescription="Нам потрібен доступ до вашого місцезнаходження для точнішого виявлення пристроїв Bluetooth замків"; +NSLocationWhenInUseUsageDescription="Нам потрібен доступ до вашого місцезнаходження для точнішого виявлення пристроїв Bluetooth замків"; +NSMicrophoneUsageDescription="Додаток запитує доступ до мікрофона для здійснення дзвінків"; +NSPhotoLibraryUsageDescription="Додаток запитує доступ до фотоальбому для завантаження аватарів"; diff --git a/ios/Runner/uk.lproj/Main.strings b/ios/Runner/uk.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/uk.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/vi.lproj/InfoPlist.strings b/ios/Runner/vi.lproj/InfoPlist.strings new file mode 100644 index 00000000..1c8e5387 --- /dev/null +++ b/ios/Runner/vi.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Ứng dụng này sử dụng Bluetooth để tìm kiếm, kết nối và truyền tải dữ liệu giữa các thiết bị khác nhau"; +NSBluetoothPeripheralUsageDescription="Ứng dụng này sử dụng Bluetooth để tìm kiếm, kết nối và truyền tải dữ liệu giữa các thiết bị khác nhau"; +NSCameraUsageDescription="Ứng dụng yêu cầu quyền truy cập camera để chụp ảnh, tải lên ảnh đại diện và xác thực khuôn mặt"; +NSContactsUsageDescription="Ứng dụng truy cập danh bạ để gửi khóa điện tử đến các liên hệ trong danh bạ của bạn"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Chúng tôi cần truy cập vị trí của bạn để quét thiết bị khóa Bluetooth ở vị trí chính xác hơn"; +NSLocationAlwaysUsageDescription="Chúng tôi cần truy cập vị trí của bạn để quét thiết bị khóa Bluetooth ở vị trí chính xác hơn"; +NSLocationWhenInUseUsageDescription="Chúng tôi cần truy cập vị trí của bạn để quét thiết bị khóa Bluetooth ở vị trí chính xác hơn"; +NSMicrophoneUsageDescription="Ứng dụng yêu cầu quyền truy cập vào microphone để thực hiện cuộc gọi"; +NSPhotoLibraryUsageDescription="Ứng dụng yêu cầu quyền truy cập vào thư viện ảnh để tải lên ảnh đại diện"; diff --git a/ios/Runner/vi.lproj/InfoPlist_sky.strings b/ios/Runner/vi.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..1c8e5387 --- /dev/null +++ b/ios/Runner/vi.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="TTLock Pro"; +CFBundleDisplayName="TTLock Pro"; +NSBluetoothAlwaysUsageDescription="Ứng dụng này sử dụng Bluetooth để tìm kiếm, kết nối và truyền tải dữ liệu giữa các thiết bị khác nhau"; +NSBluetoothPeripheralUsageDescription="Ứng dụng này sử dụng Bluetooth để tìm kiếm, kết nối và truyền tải dữ liệu giữa các thiết bị khác nhau"; +NSCameraUsageDescription="Ứng dụng yêu cầu quyền truy cập camera để chụp ảnh, tải lên ảnh đại diện và xác thực khuôn mặt"; +NSContactsUsageDescription="Ứng dụng truy cập danh bạ để gửi khóa điện tử đến các liên hệ trong danh bạ của bạn"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Chúng tôi cần truy cập vị trí của bạn để quét thiết bị khóa Bluetooth ở vị trí chính xác hơn"; +NSLocationAlwaysUsageDescription="Chúng tôi cần truy cập vị trí của bạn để quét thiết bị khóa Bluetooth ở vị trí chính xác hơn"; +NSLocationWhenInUseUsageDescription="Chúng tôi cần truy cập vị trí của bạn để quét thiết bị khóa Bluetooth ở vị trí chính xác hơn"; +NSMicrophoneUsageDescription="Ứng dụng yêu cầu quyền truy cập vào microphone để thực hiện cuộc gọi"; +NSPhotoLibraryUsageDescription="Ứng dụng yêu cầu quyền truy cập vào thư viện ảnh để tải lên ảnh đại diện"; diff --git a/ios/Runner/vi.lproj/InfoPlist_xhj.strings b/ios/Runner/vi.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..af76f825 --- /dev/null +++ b/ios/Runner/vi.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="StarLock Pro"; +CFBundleDisplayName="StarLock Pro"; +NSBluetoothAlwaysUsageDescription="Ứng dụng này sử dụng Bluetooth để tìm kiếm, kết nối và truyền tải dữ liệu giữa các thiết bị khác nhau"; +NSBluetoothPeripheralUsageDescription="Ứng dụng này sử dụng Bluetooth để tìm kiếm, kết nối và truyền tải dữ liệu giữa các thiết bị khác nhau"; +NSCameraUsageDescription="Ứng dụng yêu cầu quyền truy cập camera để chụp ảnh, tải lên ảnh đại diện và xác thực khuôn mặt"; +NSContactsUsageDescription="Ứng dụng truy cập danh bạ để gửi khóa điện tử đến các liên hệ trong danh bạ của bạn"; +NSLocationAlwaysAndWhenlnUseUsageDescription="Chúng tôi cần truy cập vị trí của bạn để quét thiết bị khóa Bluetooth ở vị trí chính xác hơn"; +NSLocationAlwaysUsageDescription="Chúng tôi cần truy cập vị trí của bạn để quét thiết bị khóa Bluetooth ở vị trí chính xác hơn"; +NSLocationWhenInUseUsageDescription="Chúng tôi cần truy cập vị trí của bạn để quét thiết bị khóa Bluetooth ở vị trí chính xác hơn"; +NSMicrophoneUsageDescription="Ứng dụng yêu cầu quyền truy cập vào microphone để thực hiện cuộc gọi"; +NSPhotoLibraryUsageDescription="Ứng dụng yêu cầu quyền truy cập vào thư viện ảnh để tải lên ảnh đại diện"; diff --git a/ios/Runner/vi.lproj/Main.strings b/ios/Runner/vi.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/vi.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/zh-HK.lproj/InfoPlist.strings b/ios/Runner/zh-HK.lproj/InfoPlist.strings new file mode 100644 index 00000000..72b1c592 --- /dev/null +++ b/ios/Runner/zh-HK.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="锁通通"; +CFBundleDisplayName="锁通通"; +NSBluetoothAlwaysUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接和傳輸數據"; +NSBluetoothPeripheralUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接和傳輸數據"; +NSCameraUsageDescription="應用程式請求使用相機,以便拍攝照片,用於頭像上傳及臉部識別"; +NSContactsUsageDescription="應用程式存取聯絡人,用於向聯絡人發送電子鑰匙"; +NSLocationAlwaysAndWhenInUseUsageDescription="我們需要存取您的位置信息,以便更精確地掃描您所在位置的藍牙鎖設備"; +NSLocationAlwaysUsageDescription="我們需要存取您的位置信息,以便更精確地掃描您所在位置的藍牙鎖設備"; +NSLocationWhenInUseUsageDescription="我們需要存取您的位置信息,以便更精確地掃描您所在位置的藍牙鎖設備"; +NSMicrophoneUsageDescription="應用程式請求使用麥克風來進行通話"; +NSPhotoLibraryUsageDescription="應用程式請求使用相簿來進行頭像上傳"; diff --git a/ios/Runner/zh-HK.lproj/InfoPlist_sky.strings b/ios/Runner/zh-HK.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..72b1c592 --- /dev/null +++ b/ios/Runner/zh-HK.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="锁通通"; +CFBundleDisplayName="锁通通"; +NSBluetoothAlwaysUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接和傳輸數據"; +NSBluetoothPeripheralUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接和傳輸數據"; +NSCameraUsageDescription="應用程式請求使用相機,以便拍攝照片,用於頭像上傳及臉部識別"; +NSContactsUsageDescription="應用程式存取聯絡人,用於向聯絡人發送電子鑰匙"; +NSLocationAlwaysAndWhenInUseUsageDescription="我們需要存取您的位置信息,以便更精確地掃描您所在位置的藍牙鎖設備"; +NSLocationAlwaysUsageDescription="我們需要存取您的位置信息,以便更精確地掃描您所在位置的藍牙鎖設備"; +NSLocationWhenInUseUsageDescription="我們需要存取您的位置信息,以便更精確地掃描您所在位置的藍牙鎖設備"; +NSMicrophoneUsageDescription="應用程式請求使用麥克風來進行通話"; +NSPhotoLibraryUsageDescription="應用程式請求使用相簿來進行頭像上傳"; diff --git a/ios/Runner/zh-HK.lproj/InfoPlist_xhj.strings b/ios/Runner/zh-HK.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..50bb2198 --- /dev/null +++ b/ios/Runner/zh-HK.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="星星锁"; +CFBundleDisplayName="星星锁"; +NSBluetoothAlwaysUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接和傳輸數據"; +NSBluetoothPeripheralUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接和傳輸數據"; +NSCameraUsageDescription="應用程式請求使用相機,以便拍攝照片,用於頭像上傳及臉部識別"; +NSContactsUsageDescription="應用程式存取聯絡人,用於向聯絡人發送電子鑰匙"; +NSLocationAlwaysAndWhenInUseUsageDescription="我們需要存取您的位置信息,以便更精確地掃描您所在位置的藍牙鎖設備"; +NSLocationAlwaysUsageDescription="我們需要存取您的位置信息,以便更精確地掃描您所在位置的藍牙鎖設備"; +NSLocationWhenInUseUsageDescription="我們需要存取您的位置信息,以便更精確地掃描您所在位置的藍牙鎖設備"; +NSMicrophoneUsageDescription="應用程式請求使用麥克風來進行通話"; +NSPhotoLibraryUsageDescription="應用程式請求使用相簿來進行頭像上傳"; diff --git a/ios/Runner/zh-HK.lproj/Main.strings b/ios/Runner/zh-HK.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/zh-HK.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/Runner/zh-Hans.lproj/InfoPlist.strings b/ios/Runner/zh-Hans.lproj/InfoPlist.strings index 94277ec2..87cecfb2 100644 --- a/ios/Runner/zh-Hans.lproj/InfoPlist.strings +++ b/ios/Runner/zh-Hans.lproj/InfoPlist.strings @@ -11,8 +11,8 @@ NSBluetoothAlwaysUsageDescription="该应用程序使用蓝牙在不同设备之 NSBluetoothPeripheralUsageDescription="该应用程序使用蓝牙在不同设备之间查找、连接和传输数据"; NSCameraUsageDescription="应用请求相机,以便于拍摄照片,用于头像上传及人脸认证"; NSContactsUsageDescription="应用访问通讯录,用于给通讯录中的联系人发送电子钥匙"; -NSLocationAlwaysAndWhenInUseUsageDescription="应用在前台和后台的时候可以搜到更新的位置信息"; -NSLocationAlwaysUsageDescription="应用在后台的时候可以搜到更新的位置信息"; -NSLocationWhenInUseUsageDescription="应用在前台的时候可以搜到更新的位置信息"; +NSLocationAlwaysAndWhenInUseUsageDescription="我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备"; +NSLocationAlwaysUsageDescription="我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备"; +NSLocationWhenInUseUsageDescription="我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备"; NSMicrophoneUsageDescription="应用请求麦克风用来通话"; NSPhotoLibraryUsageDescription="应用请求相册用于头像上传"; diff --git a/ios/Runner/zh-Hans.lproj/InfoPlist_sky.strings b/ios/Runner/zh-Hans.lproj/InfoPlist_sky.strings index 94277ec2..87cecfb2 100644 --- a/ios/Runner/zh-Hans.lproj/InfoPlist_sky.strings +++ b/ios/Runner/zh-Hans.lproj/InfoPlist_sky.strings @@ -11,8 +11,8 @@ NSBluetoothAlwaysUsageDescription="该应用程序使用蓝牙在不同设备之 NSBluetoothPeripheralUsageDescription="该应用程序使用蓝牙在不同设备之间查找、连接和传输数据"; NSCameraUsageDescription="应用请求相机,以便于拍摄照片,用于头像上传及人脸认证"; NSContactsUsageDescription="应用访问通讯录,用于给通讯录中的联系人发送电子钥匙"; -NSLocationAlwaysAndWhenInUseUsageDescription="应用在前台和后台的时候可以搜到更新的位置信息"; -NSLocationAlwaysUsageDescription="应用在后台的时候可以搜到更新的位置信息"; -NSLocationWhenInUseUsageDescription="应用在前台的时候可以搜到更新的位置信息"; +NSLocationAlwaysAndWhenInUseUsageDescription="我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备"; +NSLocationAlwaysUsageDescription="我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备"; +NSLocationWhenInUseUsageDescription="我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备"; NSMicrophoneUsageDescription="应用请求麦克风用来通话"; NSPhotoLibraryUsageDescription="应用请求相册用于头像上传"; diff --git a/ios/Runner/zh-Hans.lproj/InfoPlist_xhj.strings b/ios/Runner/zh-Hans.lproj/InfoPlist_xhj.strings index 60876642..88c23fde 100644 --- a/ios/Runner/zh-Hans.lproj/InfoPlist_xhj.strings +++ b/ios/Runner/zh-Hans.lproj/InfoPlist_xhj.strings @@ -11,8 +11,8 @@ NSBluetoothAlwaysUsageDescription="该应用程序使用蓝牙在不同设备之 NSBluetoothPeripheralUsageDescription="该应用程序使用蓝牙在不同设备之间查找、连接和传输数据"; NSCameraUsageDescription="应用请求相机,以便于拍摄照片,用于头像上传及人脸认证"; NSContactsUsageDescription="应用访问通讯录,用于给通讯录中的联系人发送电子钥匙"; -NSLocationAlwaysAndWhenInUseUsageDescription="应用在前台和后台的时候可以搜到更新的位置信息"; -NSLocationAlwaysUsageDescription="应用在后台的时候可以搜到更新的位置信息"; -NSLocationWhenInUseUsageDescription="应用在前台的时候可以搜到更新的位置信息"; +NSLocationAlwaysAndWhenInUseUsageDescription="我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备"; +NSLocationAlwaysUsageDescription="我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备"; +NSLocationWhenInUseUsageDescription="我们需要访问您的位置信息,以便更加精准的扫描到所在位置的蓝牙锁设备"; NSMicrophoneUsageDescription="应用请求麦克风用来通话"; NSPhotoLibraryUsageDescription="应用请求相册用于头像上传"; diff --git a/ios/Runner/zh-Hant.lproj/InfoPlist.strings b/ios/Runner/zh-Hant.lproj/InfoPlist.strings new file mode 100644 index 00000000..e4403041 --- /dev/null +++ b/ios/Runner/zh-Hant.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="锁通通"; +CFBundleDisplayName="锁通通"; +NSBluetoothAlwaysUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接與傳輸資料"; +NSBluetoothPeripheralUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接與傳輸資料"; +NSCameraUsageDescription="應用程式請求使用相機,以便拍攝照片,用於頭像上傳及臉部辨識"; +NSContactsUsageDescription="應用程式存取聯絡人,用於向聯絡人發送電子鑰匙"; +NSLocationAlwaysAndWhenInUseUsageDescription="我們需要存取您的位置資訊,以便更精確地掃描您所在位置的藍牙鎖裝置"; +NSLocationAlwaysUsageDescription="我們需要存取您的位置資訊,以便更精確地掃描您所在位置的藍牙鎖裝置"; +NSLocationWhenInUseUsageDescription="我們需要存取您的位置資訊,以便更精確地掃描您所在位置的藍牙鎖裝置"; +NSMicrophoneUsageDescription="應用程式請求使用麥克風進行通話"; +NSPhotoLibraryUsageDescription="應用程式請求使用相簿進行頭像上傳"; diff --git a/ios/Runner/zh-Hant.lproj/InfoPlist_sky.strings b/ios/Runner/zh-Hant.lproj/InfoPlist_sky.strings new file mode 100644 index 00000000..e4403041 --- /dev/null +++ b/ios/Runner/zh-Hant.lproj/InfoPlist_sky.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_sky.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="锁通通"; +CFBundleDisplayName="锁通通"; +NSBluetoothAlwaysUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接與傳輸資料"; +NSBluetoothPeripheralUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接與傳輸資料"; +NSCameraUsageDescription="應用程式請求使用相機,以便拍攝照片,用於頭像上傳及臉部辨識"; +NSContactsUsageDescription="應用程式存取聯絡人,用於向聯絡人發送電子鑰匙"; +NSLocationAlwaysAndWhenInUseUsageDescription="我們需要存取您的位置資訊,以便更精確地掃描您所在位置的藍牙鎖裝置"; +NSLocationAlwaysUsageDescription="我們需要存取您的位置資訊,以便更精確地掃描您所在位置的藍牙鎖裝置"; +NSLocationWhenInUseUsageDescription="我們需要存取您的位置資訊,以便更精確地掃描您所在位置的藍牙鎖裝置"; +NSMicrophoneUsageDescription="應用程式請求使用麥克風進行通話"; +NSPhotoLibraryUsageDescription="應用程式請求使用相簿進行頭像上傳"; diff --git a/ios/Runner/zh-Hant.lproj/InfoPlist_xhj.strings b/ios/Runner/zh-Hant.lproj/InfoPlist_xhj.strings new file mode 100644 index 00000000..fd71aba8 --- /dev/null +++ b/ios/Runner/zh-Hant.lproj/InfoPlist_xhj.strings @@ -0,0 +1,18 @@ +/* + InfoPlist_xhj.strings + Runner + + Created by Mac on 2024/12/25. + +*/ +CFBundleName="星星锁"; +CFBundleDisplayName="星星锁"; +NSBluetoothAlwaysUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接與傳輸資料"; +NSBluetoothPeripheralUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接與傳輸資料"; +NSCameraUsageDescription="應用程式請求使用相機,以便拍攝照片,用於頭像上傳及臉部辨識"; +NSContactsUsageDescription="應用程式存取聯絡人,用於向聯絡人發送電子鑰匙"; +NSLocationAlwaysAndWhenInUseUsageDescription="我們需要存取您的位置資訊,以便更精確地掃描您所在位置的藍牙鎖裝置"; +NSLocationAlwaysUsageDescription="我們需要存取您的位置資訊,以便更精確地掃描您所在位置的藍牙鎖裝置"; +NSLocationWhenInUseUsageDescription="我們需要存取您的位置資訊,以便更精確地掃描您所在位置的藍牙鎖裝置"; +NSMicrophoneUsageDescription="應用程式請求使用麥克風進行通話"; +NSPhotoLibraryUsageDescription="應用程式請求使用相簿進行頭像上傳"; diff --git a/ios/Runner/zh-Hant.lproj/Main.strings b/ios/Runner/zh-Hant.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ios/Runner/zh-Hant.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/ios/build.sh b/ios/build.sh index 2900f4d8..a8a977bf 100755 --- a/ios/build.sh +++ b/ios/build.sh @@ -7,18 +7,18 @@ export ENV_BUILD_BRANCH=${CI_COMMIT_BRANCH} export ENV_BUILD_WORKSPACE=${CI_PROJECT_DIR} echo "GITLAB_WORKSPACE: ${CI_PROJECT_DIR}" cd ${CI_PROJECT_DIR}/ios -bundle exec pod install +#bundle exec pod install echo "ENV_BUILD_TAG:${ENV_BUILD_TAG},ENV_BUILD_BRANCH:${ENV_BUILD_BRANCH}" regex='^v[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z]+\.[0-9]+)?$' if [[ "${ENV_BUILD_BRANCH}" == "canary_release" ]]; then echo "===build canary_release: ${NEXT_VERSION}" export ENV_BUILD_TAG=${NEXT_VERSION} - bundle exec fastlane release flavor:xhj --verbose - bundle exec fastlane release flavor:sky --verbose + bundle exec fastlane release_ipa flavor:xhj --verbose + bundle exec fastlane release_ipa flavor:sky --verbose elif [[ $ENV_BUILD_TAG =~ $regex ]]; then echo "===build release===$ENV_BUILD_TAG" - bundle exec fastlane release flavor:xhj --verbose - bundle exec fastlane release flavor:sky --verbose + bundle exec fastlane release_ipa flavor:xhj --verbose + bundle exec fastlane release_ipa flavor:sky --verbose elif [[ "${ENV_BUILD_BRANCH}" == "develop" ]]; then echo "===build dev===${NEXT_VERSION}" bundle exec fastlane beta flavor:xhj env:Dev --verbose diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index e43dcdf3..169ea544 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -84,6 +84,13 @@ platform :ios do commit_hash = last_git_commit short_hash = commit_hash[:abbreviated_commit_hash] print_log "last_git_commit_short_hash #{short_hash}" + remove_zone_pre_build(zone:"com") + Dir.chdir "../.." do + sh("flutter","pub","get") + end + Dir.chdir ".." do + sh("bundle", "exec" ,"pod", "install") + end Dir.chdir "../.." do sh("flutter", "build", "ios", "--no-tree-shake-icons", "--no-codesign", "--release", "--flavor", "#{flavor}", "-t", "lib/main_#{flavor}_#{env}.dart", "--build-number=#{build_number}", "--build-name=#{build_version}") end @@ -119,7 +126,7 @@ platform :ios do end desc "Build & Deliver to App Store Connect" - lane :release do |options| + lane :release_ipa do |options| flavor = options[:flavor] UI.user_error!("flavor is required") unless flavor print_log "build flavor: #{flavor}" @@ -130,6 +137,13 @@ platform :ios do commit_hash = last_git_commit short_hash = commit_hash[:abbreviated_commit_hash] print_log "last_git_commit_short_hash #{short_hash}" + remove_zone_pre_build(zone:"com") + Dir.chdir "../.." do + sh("flutter","pub","get") + end + Dir.chdir ".." do + sh("bundle", "exec" ,"pod", "install") + end Dir.chdir "../.." do sh("flutter", "build", "ios", "--no-tree-shake-icons", "--no-codesign", "--release", "--flavor", "#{flavor}", "-t", "lib/main_#{flavor}_lite.dart", "--build-number=#{build_number}", "--build-name=#{build_version}") end @@ -188,6 +202,46 @@ platform :ios do end end + lane :remove_zone_pre_build do |options| + sh("git", "reset", "--hard") + zone = options[:zone] + UI.user_error!("Please provide valid 'zone'") unless zone + pathList=["pubspec.yaml","/lib/apm"] + extensions = [".dart"] #options[:extensions] + if pathList.empty? || extensions.empty? + UI.user_error!("Please provide valid 'paths' and 'extensions' arrays.") + end + puts "start prepare zone: #{zone},pathList:#{pathList},extensions:#{extensions}" + regexp_List = [/#<#{zone}>.*?#<\/#{zone}>/m,/\/\/\<#{zone}\>.*?\/\/\<\/#{zone}\>/m] + UI.message("Processed RegExpList: #{regexp_List}") + def process_file(file_path, regexpList) + content = File.read(file_path) + regexpList.each do |tag| + content = content.gsub(tag,'') + end + File.write(file_path, content) + UI.message("Processed file: #{file_path},content :\n #{content}") + end + + pathList.each do |path| + realPath = File.join($path_dir_build, path) + if File.directory?(realPath) + Dir.glob("#{realPath}/**/*").each do |file| + if File.directory?(file) + UI.message("Find child dir path: #{file}") + elsif extensions.include?(File.extname(file)) + process_file(file,regexp_List) + end + end + elsif File.file?(realPath) + process_file(realPath,regexp_List) + else + UI.message("Invalid path: #{realPath}") + end + end + UI.success("All matching content removed from specified files.") + end + end diff --git a/lan/lan_ar.json b/lan/lan_ar.json index 68f1e225..dbf36900 100644 --- a/lan/lan_ar.json +++ b/lan/lan_ar.json @@ -582,7 +582,6 @@ "商城": "مول", "我的": "لي", "微信公众号推送": "حساب عام Wechat", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "لفتح wechat لتلقي رسائل التنبيه ، تحتاج إلى الانتباه إلى قفل Skye الذكي wechat الحساب العام أولاً ، يرجى حفظ رمز الاستجابة السريعة واستخدام wechat لمسح الإعدادات", "蓝牙": "بلوتوث", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "الوصول إلى أذونات البلوتوث مطلوب لاستخدام معلومات الموقع لوظيفة مفتاح الإضافة", "请输入Email": "أدخل بريدك الإلكتروني", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "كلمات المرور غير متسقة", "中功率": "قوة متوسطة", "常规使用": "استخدام منتظم", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "بعد تشغيل البوابة ، اضغط مع الاستمرار على زر إعادة الضبط لمدة 5 ثوانٍ ، وانقر بعد ذلك عندما يومض مصباح المؤشر بالتناوب", "扫描设备": "جهاز المسح الضوئي", "删除失败,网关可能已经离线,是否强制删除该数据?": "فشل الحذف. ربما تكون البوابة قد اختفت دون اتصال. هل تريد فرض حذف البيانات ؟", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "اتبع النظام", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "بعد إعادة الضبط ، سيتم حذف بصمات القفل. هل أنت متأكد أنك تريد إعادة ضبطه ؟", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "بعد إعادة الضبط ، سيتم حذف جهاز التحكم عن بعد للقفل. هل تريد إعادة ضبطه ؟", + "版本说明": "تعليمات الإصدار", "一键登录": "تسجيل الدخول بنقرة واحدة" } \ No newline at end of file diff --git a/lan/lan_bg.json b/lan/lan_bg.json index f0df4426..e6ba5228 100644 --- a/lan/lan_bg.json +++ b/lan/lan_bg.json @@ -583,7 +583,6 @@ "商城": "Мол", "我的": "Мой", "微信公众号推送": "Публичен акаунт wechat", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "За да отворите wechat, за да получавате алармени съобщения, първо трябва да обърнете внимание на публичната сметка на skye smart lock wechat, моля, запишете qr кода и използвайте wechat, за да сканирате настройките", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "За използване на информацията за местоположението на функцията за добавяне на ключ е необходим достъп до bluetooth разрешения", "请输入Email": "Въведете вашия имейл", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Паролите са непоследователни", "中功率": "Средна мощност", "常规使用": "Редовна употреба", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "След като шлюзът е включен, натиснете и задръжте бутона reset за 5 секунди и щракнете върху следващия, когато индикаторната светлина мига алтернативно", "扫描设备": "Сканиране устройство", "删除失败,网关可能已经离线,是否强制删除该数据?": "Изтриването не успя. Портата може да е отишла офлайн. Искате ли да принудите изтриване на данните?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Следете система", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "След нулиране, пръстовите отпечатъци на заключването ще бъдат изтрити. Сигурен ли сте, че искате да го нулирате?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "След нулиране, дистанционното управление на ключалката ще бъде изтрито. Искате ли да го нулирате?", + "版本说明": "Обяснение на версията", "一键登录": "Вход с едно кликване" } \ No newline at end of file diff --git a/lan/lan_bn.json b/lan/lan_bn.json index b7de627d..abf78946 100644 --- a/lan/lan_bn.json +++ b/lan/lan_bn.json @@ -582,7 +582,6 @@ "商城": "XmallName", "我的": "My", "微信公众号推送": "ইয়াক", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "টোপেনডেট হোয়াট্ট", "蓝牙": "নিকট্রিয়াথ", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "ক্ষেত্রে ট্যাক্সট lu▁ইমেরিসিসোসিয়েশনস ...বিরোধী ...বিরোধী", "请输入Email": "দ্বিগুণ", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Thepasswordsare pencay", "中功率": "উইউমপোওয়ার", "常规使用": "গ্যারিউস", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "অ্যারাস্টার্টিউইসপোভেরেডন, প্রেস এবং টিপেস্টেট্রিসেট গানttonfor5sononds, এবং চক্লিক উইভেন্থে-উইন্টার", "扫描设备": "সিস্কান্লিভাইস", "删除失败,网关可能已经离线,是否强制删除该数据?": "ডাইজেজেশনিমেরিলেড। টিভওয়েমাইয়ানভিগনোনোআরলাইন। ডো ডাউনডেটা?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "এক্ফক্লোসিস্টেম", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "ব্যান্ডোটারট্রাসেট, thelock'sferprinতা?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "ব্যান্ডোটারপ্রাসেট, নিয়ন্ত্রণের নিয়ন্ত্রণ। ডোডো ডাইভান্টটুরে?", + "版本说明": "ভার্সনপরিচিতি", "一键登录": "এক-সিক্লিক্লোগিন" } \ No newline at end of file diff --git a/lan/lan_cs.json b/lan/lan_cs.json index 2a5dd7c7..ccdffef9 100644 --- a/lan/lan_cs.json +++ b/lan/lan_cs.json @@ -582,7 +582,6 @@ "商城": "Mall", "我的": "My", "微信公众号推送": "Veřejný účet wechat", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Chcete-li otevřít wechat a přijímat poplašné zprávy, musíte nejprve věnovat pozornost veřejnému účtu skye smart lock wechat, uložte qr kód a použijte wechat k skenování nastavení", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Pro použití informací o umístění funkce přidat klíč je zapotřebí přístup k oprávněním bluetooth.", "请输入Email": "Zadejte e-mail", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Hesla jsou nekonzistentní", "中功率": "Střední síla", "常规使用": "Pravidelné použití", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Po zapnutí brány stiskněte a podržte tlačítko reset po dobu 5 sekund a klepněte na tlačítko next", "扫描设备": "Skenovat zařízení", "删除失败,网关可能已经离线,是否强制删除该数据?": "Odstranění se nezdařilo. Brána možná byla offline. Chcete vynutit smazat data?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Sledovat systém", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Po resetování budou otisky prstů zámku odstraněny. Opravdu ho chcete obnovit?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Po resetu bude dálkové ovládání zámku odstraněno. Chcete ho obnovit?", + "版本说明": "Verze", "一键登录": "Přihlášení s jedním kliknutím" } \ No newline at end of file diff --git a/lan/lan_da.json b/lan/lan_da.json index 25356910..3fa32f8c 100644 --- a/lan/lan_da.json +++ b/lan/lan_da.json @@ -582,7 +582,6 @@ "商城": "Indkøbscent", "我的": "Je", "微信公众号推送": "Vichat offentlige konto", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "For at åbne Wechat for at modtage alarmbeskeder, skal du være opmærksom på Skye Smart Lock vichat offentlige konto først, gem venligst QR-koden og brug wechat til at scanne indstillinger", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Adgang til Bluetooth-tilladelser er påkrævet for at bruge placeringsinformationen for tilføje nøglefunktionens placering", "请输入Email": "Indtast din e- mail", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Adgangskoderne er inkonsekvente", "中功率": "Mellem effekt", "常规使用": "Regelmæssig anvendelse", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Når gateway er tændt, tryk og hold nulstillingsknappen i 5 sekunder, og klik Next, når indikator lys blinker skiftevist", "扫描设备": "Scan- enhed", "删除失败,网关可能已经离线,是否强制删除该数据?": "Sletning mislykkedes. Porten er måske offline. Vil du tvinge slette data?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Følg systemet", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Efter nulstilling vil låsens fingeraftryk blive slettet. Er du sikker på at du vil nulstille den?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Efter nulstilling, fjernbetjeningen af låsen vil blive slettet. Vil du nulstille den?", + "版本说明": "Versionsbeskrivelse", "一键登录": "Login med et enkelt klik" } \ No newline at end of file diff --git a/lan/lan_de.json b/lan/lan_de.json index 7e63c4c4..adeb27e5 100644 --- a/lan/lan_de.json +++ b/lan/lan_de.json @@ -582,7 +582,6 @@ "商城": "Einkaufs zentrum", "我的": "Meine", "微信公众号推送": "Wechat öffentliches Konto", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Um Wechat zu öffnen, um Alarm meldungen zu erhalten, müssen Sie zuerst auf das öffentliche Konto von Skye Smart Lock wechat achten. Speichern Sie den QR-Code und verwenden Sie wechat, um die Einstellungen zu scannen", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Zugriff auf Bluetooth-Berechtigungen ist erforderlich, um die Standort informationen der Add-Key-Funktion zu verwenden", "请输入Email": "Geben Sie Ihre E-Mail-Adresse ein", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Die Passwörter sind inkonsistent", "中功率": "Mittlere Leistung", "常规使用": "Regelmäßige Verwendung", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Nachdem das Gateway eingesc haltet ist, drücken und halten Sie die Reset-Taste für 5 Sekunden, und klicken Sie auf Weiter, wenn die Kontroll leuchte blinkt abwechselnd", "扫描设备": "Scan-Gerät", "删除失败,网关可能已经离线,是否强制删除该数据?": "Löschung fehl geschlagen. Das Gateway ist möglicher weise offline gegangen. Möchten Sie das Löschen der Daten erzwingen?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "System folgen", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Nach dem Zurücksetzen werden die Finger abdrücke des Schlosses gelöscht. Sind Sie sicher, dass Sie es zurücksetzen wollen?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Nach dem Zurücksetzen wird die Fernbedienung des Schlosses gelöscht. Willst du es zurücksetzen?", + "版本说明": "Versionsbeschreibung", "一键登录": "Ein-Klick-Login" } \ No newline at end of file diff --git a/lan/lan_el.json b/lan/lan_el.json index b8120be8..2ff371f0 100644 --- a/lan/lan_el.json +++ b/lan/lan_el.json @@ -582,7 +582,6 @@ "商城": "Εμπορικό", "我的": "Μου", "微信公众号推送": "Συνομιλία δημόσιου λογαριασμού", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Για να ανοίξετε τη συζήτηση για να λάβετε μηνύματα συναγερμού, θα πρέπει να δώσετε προσοχή στο Skye Smart Lock δημόσιο λογαριασμό για τη συζήτηση. παρακαλώ αποθηκεύστε τον κωδικό QR και χρησιμοποιήστε τη συνομιλία για σάρωση των ρυθμίσεων", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Απαιτείται πρόσβαση στις άδειες Bluetooth για τη χρήση των πληροφοριών τοποθεσίας της λειτουργίας βασικής προσθήκης", "请输入Email": "Εισάγετε το email σας", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Οι κωδικοί πρόσβασης δεν είναι συνεπείς.", "中功率": "Μέση ισχύς", "常规使用": "Κανονική χρήση:", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Αφού ενεργοποιηθεί η πύλη, πατήστε και κρατήστε το κουμπί επαναφοράς για 5 δευτερόλεπτα, και κάντε κλικ Next όταν το φως δείκτη αναβοσβήνει εναλλάξα", "扫描设备": "Συσκευή σάρωσης", "删除失败,网关可能已经离线,是否强制删除该数据?": "Η διαγραφή απέτυχε. Η πύλη μπορεί να έχει εκτός λειτουργίας. Θέλετε να αναγκάσετε τη διαγραφή των δεδομένων;", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Ακολουθήστε το σύστημα", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Μετά την επαναφορά, τα αποτυπώματα της κλειδαριάς θα διαγραφούν. Είστε σίγουροι ότι θέλετε να το επαναφέρετε;", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Μετά την επαναφορά, το τηλεχειριστήριο της κλειδαριάς θα διαγραφεί. Θέλεις να το επαναφέρεις;", + "版本说明": "Περιγραφή έκδοσης", "一键登录": "Σύνδεση ενός κλικ" } \ No newline at end of file diff --git a/lan/lan_en.json b/lan/lan_en.json index 4963d7d8..da13b366 100644 --- a/lan/lan_en.json +++ b/lan/lan_en.json @@ -1,6 +1,6 @@ { "星锁": "Star Lock", - "锁通通": "Lock Through", + "锁通通": "TTLock Pro", "点击开锁,长按闭锁": "Touch to Unlock,Hold to Lock", "考勤": "Attendance", "考勤设置": "Attendance Settings", @@ -217,7 +217,6 @@ "添加网关": "Add Gateway", "重新通电": "Re Connect the Power", "指示灯": "Indicator Light", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "After the gateway is powered on, press and hold the reset button for 5 seconds, and click Next when the indicator light flashes alternately", "选择网关": "Choose Gateway", "不支持5G WiFi网络,请选择2.4G WiFi网络进行配置": "5G is not supported,.Please select a WiFi of 2.4G.", "WiFi密码": "WiFi Passward", @@ -584,7 +583,6 @@ "商城": "mall", "我的": "my", "微信公众号推送": "Wechat public account", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "To open wechat to receive alarm messages, you need to pay attention to Skye Smart Lock wechat public account first, please save the QR code and use wechat to scan the Settings", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Access to Bluetooth permissions is required to use the location information of the add key function", "请输入Email": "Enter your Email", @@ -1089,7 +1087,6 @@ "修改名字": "Edit name", "时": "hour", "分": "minute", - "Amazon Alexa": "Amazon Alexa", "您可以使用Alexa进行开锁、闭锁和查看锁状态": "You can use Alexa to unlock, lock and check the lock status", "支持的国家": "Supported countries", @@ -1102,12 +1099,10 @@ "支持的语言": "Supported languages", "英语": "English", "Google Home操作流程的值": "1. Use the Smart lock APP to add locks and gateways \n\n2. Enable the remote unlocking function of the lock in the APP (this function is turned off by default). Without this option, the lock does not support Google Home \n\n3. Install the Google Home APP and click the \"+\" button in the top left corner \n\n4. On the Settings page, select \"Work with Google\" \n\n5. Search for \"ScienerSmart\" and use the smart lock APP account and password to authorize", - "密码需至少包含数字/字母/字符中的2种组合": "The password must contain at least 2 of the following: numbers, letters, and special characters", "已开锁": "Unlocked", "已闭锁": "Locked", "两次密码不一致哦": "The passwords are inconsistent", - "中功率": "Medium power", "常规使用": "Regular use", "扫描设备": "Scan device", @@ -1123,5 +1118,9 @@ "时简称": "H", "分简称": "M", "跟随系统": "Follow system", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "After reset, the lock's fingerprints will be deleted. Are you sure you want to reset it?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "After reset, the remote control of the lock will be deleted. Do you want to reset it?", + "版本说明": "Version description", + "网关通电后,长按重置按钮5秒,蓝色指示灯闪烁时点击下一步": "After the gateway is powered on, press and hold the reset button for 5 seconds. Click Next when the blue indicator light flashes", "一键登录": "One-click login" } diff --git a/lan/lan_es.json b/lan/lan_es.json index 09613dbb..3cf4cf48 100644 --- a/lan/lan_es.json +++ b/lan/lan_es.json @@ -582,7 +582,6 @@ "商城": "Centro comercial", "我的": "Mi", "微信公众号推送": "Cuenta pública de Wechat", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Para abrir wechat para recibir mensajes de alarma, debe prestar atención a Skye Smart Lock wechat cuenta pública primero, guarde el código QR y use wechat para escanear la configuración", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Se requiere el acceso a los permisos de Bluetooth para usar la información de ubicación de la función de tecla agregar", "请输入Email": "Ingrese su correo electrónico", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Las contraseñas son inconsistentes", "中功率": "Potencia media", "常规使用": "Uso regular", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Después de encender la puerta de enlace, mantenga presionado el botón de reinicio durante 5 segundos y haga clic en Siguiente cuando la luz indicadora parpadee alternativamente", "扫描设备": "Dispositivo de exploración", "删除失败,网关可能已经离线,是否强制删除该数据?": "Falló la eliminación. Es posible que la puerta de enlace se haya desconectado. ¿Desea forzar la eliminación de los datos?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Seguir sistema", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Después de restablecer, se eliminarán las huellas dactilares del bloqueo. ¿Está seguro de que desea restablecerlo?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Después del reinicio, se eliminará el control remoto de la cerradura. ¿Quieres resetearlo?", + "版本说明": "Instrucciones de versión", "一键登录": "Inicio de sesión con un solo clic" } \ No newline at end of file diff --git a/lan/lan_et.json b/lan/lan_et.json index f656931a..3b9ec20c 100644 --- a/lan/lan_et.json +++ b/lan/lan_et.json @@ -582,7 +582,6 @@ "商城": "Kaubamaja", "我的": "Minu", "微信公众号推送": "Jutt avalik konto", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Et avada häiresõnumite vastuvõtmiseks, peate esmalt tähelepanu Skye Smart Locki avalikule kontole, palun salvesta QR koodi ja kasuta seadistuste skaneerimiseks", "蓝牙": "BluetoothName", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Juurdepääs Bluetooth-i õigustele on vaja, et kasutada asukoha lisamise funktsiooni asukoha teavet", "请输入Email": "Sisesta oma e- postil", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Paroolid ei ole järjekindlad", "中功率": "Keskmine võimse", "常规使用": "Regulaarne kasutamine", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Kui värav on sisse lülitatud, vajutage ja hoidke nuppu 5 sekundit, ja klõpsa Järgmine, kui indikaator valgus vilgub vaheldumisel", "扫描设备": "Skaneerimisseade", "删除失败,网关可能已经离线,是否强制删除该数据?": "Kustutamine nurjus. Värav võis välja lülitada. Kas soovid kustutada andmed?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Süsteemi jälgimine", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Pärast lähtestamist kustutatakse luku sõrmejäljed. Kas tõesti soovid see lähtestada?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Pärast lähtestamist kustutatakse luku kaugjuhtimine. Kas sa tahad seda lähtestada?", + "版本说明": "Versiooniteave", "一键登录": "Üheklõpsu sisselogimine" } \ No newline at end of file diff --git a/lan/lan_fi.json b/lan/lan_fi.json index 5cdbf875..423b0063 100644 --- a/lan/lan_fi.json +++ b/lan/lan_fi.json @@ -582,7 +582,6 @@ "商城": "Ostoskeskus", "我的": "Minun", "微信公众号推送": "Keskustele julkinen tili", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Voidakseen avata keskustelua hälytysviestien vastaanottamiseksi sinun on kiinnitettävä huomiota Skye Smart Lockin julkiseen keskusteluun. Tallenna QR-koodi ja käytä keskustelua asetusten kartoittamiseen", "蓝牙": "BluetoothName", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Pääsy Bluetooth-oikeuksiin vaaditaan käyttämään sijaintitietoja lisätä avaintoiminnon lisäämiseksi", "请输入Email": "Anna sähköposti", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Salasanat ovat epäjohdonmukaiset.", "中功率": "Keskimääräinen teho", "常规使用": "Säännöllinen käyttö", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Kun portti on käytössä, paina ja pidä painiketta nollauspainiketta 5 sekunnin ajan, ja klikkaa Seuraava kun ilmaisin valo vilkkuu vuorotellensa", "扫描设备": "Skannauslaite", "删除失败,网关可能已经离线,是否强制删除该数据?": "Poisto epäonnistui. Portti on ehkä pois päältä. Haluatko pakottaa poistamaan tiedot?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Seuraa järjestelmää", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Lukon sormenjäljet poistetaan. Haluatko varmasti nollataa sen?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Nollauksen jälkeen lukon kaukosäädin poistetaan. Haluatko palauttaa sen?", + "版本说明": "Versio", "一键登录": "Yhden napsautuksen kirjautuminen" } \ No newline at end of file diff --git a/lan/lan_fr.json b/lan/lan_fr.json index 2aa57653..6c0e37b2 100644 --- a/lan/lan_fr.json +++ b/lan/lan_fr.json @@ -582,7 +582,6 @@ "商城": "Centre commercial", "我的": "Mon", "微信公众号推送": "Compte public Wechat", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Pour ouvrir wechat pour recevoir des messages d'alarme, vous devez faire attention à Skye Smart Lock compte public wechat d'abord, s'il vous plaît enregistrer le code QR et utiliser wechat pour scanner les paramètres", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "L'accès aux autorisations Bluetooth est nécessaire pour utiliser les informations de localisation de la fonction de touche d'ajout", "请输入Email": "Entrez votre email", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Les mots de passe sont incohérents", "中功率": "Puissance moyenne", "常规使用": "Utilisation régulière", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Une fois la passerelle allumée, appuyez et maintenez enfoncé le bouton de réinitialisation pendant 5 secondes, puis cliquez sur Suivant lorsque le voyant clignote alternativement", "扫描设备": "Appareil de numérisation", "删除失败,网关可能已经离线,是否强制删除该数据?": "La suppression a échoué. La passerelle est peut-être hors ligne. Voulez-vous forcer la suppression des données?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Suivre le système", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Après réinitialisation, les empreintes digitales de la serrure seront supprimées. Êtes-vous sûr de vouloir le réinitialiser?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Après réinitialisation, la télécommande du verrou sera supprimée. Voulez-vous le réinitialiser?", + "版本说明": "Explication de la version", "一键登录": "Connexion en un clic" } \ No newline at end of file diff --git a/lan/lan_he.json b/lan/lan_he.json index 4fe7ea9a..3cd26f89 100644 --- a/lan/lan_he.json +++ b/lan/lan_he.json @@ -582,7 +582,6 @@ "商城": "קניון", "我的": "שלי", "微信公众号推送": "חשבון הציבור", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "כדי לפתוח wechat כדי לקבל הודעות אזעקה, עליך לשים לב כדי skye חכם מנעול wechat code, אנא שמור את קוד qr ולהשתמש wechat כדי לסרוק את ההגדרות", "蓝牙": "בלוץ", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "גישה הרשאות Bluetooth נדרש להשתמש במידע המיקום של פונקציית מפתח הוספת", "请输入Email": "הזן את כתובת הדוא \"ל שלך", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "הסיסמאות אינן עקביות", "中功率": "כוח בינוני", "常规使用": "שימוש קבוע", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "לאחר השער מופעל, לחץ והחזק את כפתור איפוס עבור 5 שניות, ולחץ על הבא כאשר מחוון אור מהבהב לסירוגין", "扫描设备": "התקן סריקה", "删除失败,网关可能已经离线,是否强制删除该数据?": "מחיקה נכשלה. ייתכן שהשער נעלם מהרשת. האם ברצונך לאלץ למחוק את הנתונים?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "מערכת מעקב", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "לאחר איפוס, טביעות האצבעות של המנעול יימחקו. אתה בטוח שברצונך לאפס את זה?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "לאחר איפוס, השליטה מרחוק של המנעול יימחק. אתה רוצה לאפס את זה?", + "版本说明": "המידע על גרסה", "一键登录": "התחברות בלחיצה אחת" } \ No newline at end of file diff --git a/lan/lan_hk.json b/lan/lan_hk.json index 85770c37..ed7e097e 100644 --- a/lan/lan_hk.json +++ b/lan/lan_hk.json @@ -1,1124 +1,1125 @@ { - "星锁": "星锁", - "锁通通": "锁在", - "点击开锁,长按闭锁": "触摸解锁,长按锁定", + "星锁": "星空鎖", + "锁通通": "鎖定直通", + "点击开锁,长按闭锁": "掂解鎖,按住鎖定", "考勤": "出席", - "考勤设置": "考勤设置", - "电子钥匙": "eKeys", + "考勤设置": "考勤設置", + "电子钥匙": "eKey", "添加卡": "添加卡", - "卡号": "卡号", - "添加指纹": "添加指纹", - "指纹号": "指纹数量", - "遥控": "远程", - "添加人脸": "添加的脸", - "门锁日志": "门锁日志", - "密码号": "密码数字", - "添加者": "操作符", - "添加时间": "时间", + "卡号": "卡號", + "添加指纹": "添加指紋", + "指纹号": "指紋號碼", + "遥控": "遠程", + "添加人脸": "添加面", + "门锁日志": "門鎖日誌", + "密码号": "密碼編號", + "添加者": "算子", + "添加时间": "時間", "重置": "重置", - "请输入手机号或者邮箱": "电话号码或电邮地址", - "工作时间": "工作时间", - "工作日设置": "工作时间设置", - "星期一": "周一", - "星期二": "周二", - "星期三": "周三", - "星期四": "周四", + "请输入手机号或者邮箱": "電話號碼或電子郵件", + "工作时间": "工作時間", + "工作日设置": "工作日設置", + "星期一": "星期一", + "星期二": "星期二", + "星期三": "星期三", + "星期四": "星期四", "星期五": "星期五", - "星期六": "周六", - "星期日": "周日", - "简写周一": "米", + "星期六": "星期六", + "星期日": "星期日", + "简写周一": "M", "简写周二": "T", "简写周三": "W", "简写周四": "T", "简写周五": "F", - "简写周六": "年代", - "简写周日": "年代", - "周一": "我的", + "简写周六": "S", + "简写周日": "S", + "周一": "星期一", "周二": "星期二", - "周三": "结婚", - "周四": "星期四", - "周五": "星期五", + "周三": "拉埋天窗", + "周四": "周四", + "周五": "周五", "周六": "坐", - "周日": "太阳", - "群发钥匙": "发送多个ekey", - "锁": "锁", + "周日": "太陽", + "群发钥匙": "發送多個ekey", + "锁": "鎖", "请添加": "收件人", - "允许远程开锁": "远程解锁", - "请输入验证码": "验证码", - "获取密码": "生成密码", - "请给密码命名": "为这个密码输入一个名称", - "密码有限期为6个小时,只能使用一次": "此密码必须在当前时间起6小时内使用,否则将因安全原因暂停使用。此密码只可使用一次。", - "手动输入6-9位数字作为密码。可在锁旁边通过手机蓝牙添加,也可以通过网关远程添加": "手动输入6 ~ 9位数字作为密码。可以通过手机蓝牙添加旁边的锁,还是通过网关远程添加", - "获取": "得到", - "添加": "添加", - "删除公司": "删除公司", - "密码详情": "密码信息", - "修改密码": "改变密码", - "添加虹膜": "添加虹膜", - "添加门磁": "门传感器", - "添加无线键盘": "无线键盘", - "添加手掌": "添加棕榈", - "请输入员工账号": "输入员工账号", - "批量授权锁": "授予多个锁", - "授权管理员拥有操作这把锁的重要权限,请确保只发给我你信任的人": "授权的管理员将拥有操作此锁的多数权限。", - "功能开启后,你将可以通过网关远程开锁。此功能的开启和关闭只能在锁附近通过手机蓝牙进行。": "此功能允许您通过网关远程解锁智能锁。此功能只能通过蓝牙开启或关闭。", - "排列方式": "列表类型", - "早到榜": "早期的列表", - "迟到榜": "晚列表", - "当前模式": "当前模式", - "勤奋榜": "努力工作清单", - "延迟时间": "延迟时间", - "经过以上设定的时间,锁会自动关闭。开启或修改设置后,请先开一次锁,使时间生效。": "时间过后,锁会自动锁上。请先解锁一次,以使设置可用。", - "时间": "时间", - "开始时间": "开始时间", - "结束时间": "结束时间", - "工作时间设置": "工作时间设置", + "允许远程开锁": "遠程解鎖", + "请输入验证码": "驗證碼", + "获取密码": "生成密碼", + "请给密码命名": "輸入此密碼的名稱", + "密码有限期为6个小时,只能使用一次": "此密碼必須在當前時間之後6鐘頭內使用,否則將出於安全原因被暫停。此密碼只能使用一次。", + "手动输入6-9位数字作为密码。可在锁旁边通过手机蓝牙添加,也可以通过网关远程添加": "手動輸入6-9位數字作為密碼。 可透過手機藍牙喺鎖隔离添加,或透過網關遠程添加", + "获取": "獲取", + "添加": "加", + "删除公司": "刪除公司", + "密码详情": "密碼信息", + "修改密码": "更改密碼", + "添加虹膜": "添加光圈", + "添加门磁": "門傳感器", + "添加无线键盘": "無線鍵盤", + "添加手掌": "添加Palm", + "请输入员工账号": "輸入員工嘅賬戶", + "批量授权锁": "授予多個鎖", + "授权管理员拥有操作这把锁的重要权限,请确保只发给我你信任的人": "授權管理員將擁有操作此鎖嘅多數權限。", + "功能开启后,你将可以通过网关远程开锁。此功能的开启和关闭只能在锁附近通过手机蓝牙进行。": "此功能允許你透過網關遠程解鎖Smart Lock。此功能只能透過藍牙打開或關閉。", + "排列方式": "列表類型", + "早到榜": "早期列表", + "迟到榜": "遲到名單", + "当前模式": "電流模式", + "勤奋榜": "勤力做嘢清單", + "延迟时间": "延遲時間", + "经过以上设定的时间,锁会自动关闭。开启或修改设置后,请先开一次锁,使时间生效。": "該時間之後,鎖將自動鎖定。 請先解鎖一次,以使設置可用。", + "时间": "時間", + "开始时间": "開始時間", + "结束时间": "結束時間", + "工作时间设置": "工作時間設置", "常开模式": "通道模式", - "常开时间": "在这段时间里", - "常开日期": "在这些日子里", - "添加员工": "添加员工", - "编辑员工": "编辑人员", + "常开时间": "喺呢個時期", + "常开日期": "喺呢啲日子度", + "添加员工": "添加員工", + "编辑员工": "編輯員工", "节假日": "假期", "打卡方式": "方法", - "员工是否有钥匙": "已经有了钥匙", - "上班时间": "起始时间", - "下班时间": "结束营业的时间", + "员工是否有钥匙": "已經有ekey", + "上班时间": "開始時間", + "下班时间": "關閉時間", "本周": "本周", - "单休": "一天周末", - "双休": "为期两天的周末", - "单双休": "One-two-day周末", - "年": "一年", + "单休": "周末一日遊", + "双休": "兩日周末", + "单双休": "一至二天周末", + "年": "年", "月": "月", "放假日期": "假期", "补班日期": "工作日", "添加假日": "添加假日", - "开始日期": "开始日期", - "必填": "要求", - "结束日期": "结束日期", - "日榜": "每天", + "开始日期": "開始日期", + "必填": "必填", + "结束日期": "結束日期", + "日榜": "日常", "月榜": "每月", - "考勤记录": "记录", - "假日信息": "假期的信息", - "基本信息": "基础知识", - "无线键盘": "无线键盘", - "选择无线键盘": "添加键盘", - "门磁": "门传感器", - "自动闭锁": "汽车锁", - "锁声音": "锁的声音", - "防撬报警": "夯警报", - "重置键": "重置按钮", - "锁时间": "锁定时钟", - "诊断": "诊断", - "上传数据": "上传数据", - "导入其他锁数据": "从另一个锁导入", + "考勤记录": "記錄", + "假日信息": "節日信息", + "基本信息": "基本", + "无线键盘": "無線鍵盤", + "选择无线键盘": "添加鍵盤", + "门磁": "門傳感器", + "自动闭锁": "自動鎖定", + "锁声音": "鎖定聲音", + "防撬报警": "篡改警報", + "重置键": "重置按鈕", + "锁时间": "鎖定時鐘", + "诊断": "診斷", + "上传数据": "上傳數據", + "导入其他锁数据": "Import frome another lock (從另一個鎖中導入)", "锁升级": "固件更新", - "标记房态": "房间状态", - "开锁提醒": "解锁的通知", - "微信二维码": "解锁二维码", - "拥有电子钥匙的人,通过微信扫一扫这个二维码,即可开门。每把锁的二维码都不相同,你可以将其打印出来贴在对应的锁旁边": "持电子钥匙的人可以通过微信扫描二维码开门。每个锁的二维码都不一样。您可以打印出来并粘贴到相应的锁旁边", - "锁编号": "锁的数量", - "电量": "电池", - "锁分组": "锁定组", - "选择分组": "选择组", - "创建新分组": "创建组", - "管理员开锁密码": "管理员密码", + "标记房态": "房間狀態", + "开锁提醒": "解鎖通知", + "微信二维码": "解鎖二維碼", + "拥有电子钥匙的人,通过微信扫一扫这个二维码,即可开门。每把锁的二维码都不相同,你可以将其打印出来贴在对应的锁旁边": "有電子鎖匙嘅人可以透過微信掃描呢個二維碼嚟開門。 每個鎖嘅二維碼都不同。 你可以將其打印出嚟並粘貼到相應嘅鎖隔离", + "锁编号": "鎖號", + "电量": "電池", + "锁分组": "Lock Group", + "选择分组": "選擇組", + "创建新分组": "創建組", + "管理员开锁密码": "管理員密碼", "更新": "更新", - "电量信息可以通过网关远程更新,或通过手机蓝牙在锁旁边更新": "电池电量将通过网关或手机蓝牙更新", - "当屏幕闪烁时,点击下一步": "当键盘闪烁时,单击next", - "输入*529#或按设置键": "输入*529#或按Settings键", - "长按重置键2秒": "按住复位键2秒", - "附近的设备": "附近的设备", - "暂无数据": "没有数据", - "通过门磁可查询门的开、关状态。每把锁咳添加一个门磁": "您将能够获得门的状态与门传感器与网关在一起。只允许一个传感器与锁相关联。", - "开始": "开始", - "全天": "所有的时间", - "你可以设置多个常开时间段,在设置的时间段内,锁被打开后一直处于打开的状态。": "您可以为通行模式设置多个时间段。在设定的时间段内,锁被解锁后将保持打开状态。", - "请选择锁音量": "请选择锁定音量", - "功能开启后,你将可以听到智能锁的提示音。包括电量过低,密码错误等提示。": "按“ON”键,你会听到锁发出的声音", + "电量信息可以通过网关远程更新,或通过手机蓝牙在锁旁边更新": "電池電量將透過網關或手機藍牙更新", + "当屏幕闪烁时,点击下一步": "当鍵盤閃爍時單擊Next (下一步)", + "输入*529#或按设置键": "輸入*529#或按設置鍵", + "长按重置键2秒": "按住重置掣2秒", + "附近的设备": "附近設備", + "暂无数据": "無數據", + "通过门磁可查询门的开、关状态。每把锁咳添加一个门磁": "你將能夠使用門傳感器和網關獲取門狀態。 只允許一個傳感器與鎖關聯。", + "开始": "開始", + "全天": "所有時間", + "你可以设置多个常开时间段,在设置的时间段内,锁被打开后一直处于打开的状态。": "你可以為通道模式設置多個時間段。 設定緊嘅時間內,鎖喺解鎖後將保持打開狀態。", + "请选择锁音量": "請選擇鎖定卷", + "功能开启后,你将可以听到智能锁的提示音。包括电量过低,密码错误等提示。": "打開後,您將聽到鎖發出的聲音", "低": "低", - "较低": "介质低", - "中": "媒介", - "较高": "中等高", + "较低": "中低", + "中": "中等", + "较高": "中高", "高": "高", - "开启后,锁被撬动时,会发出报警声": "通过打开,您启用了TAMPER警报。", - "关闭后,重置键无效,锁要通过app删除后才能重新添加": "通过关闭,RESET按钮被禁用。", - "校准时间": "校准时间", - "诊断是读取锁内的配置信息并上传,以便工作人员分析故障的原因": "诊断是读取锁内部的配置信息并上传,以便工作人员分析故障原因", - "上传": "上传", - "本操作将上传锁内数据到服务器,过程可能需要几分钟,请耐心等待": "从锁上传数据到服务器。这可能需要几分钟", - "请选择要从哪把锁导入": "选择要导入的锁", + "开启后,锁被撬动时,会发出报警声": "打開之後,將啟用TAMPER警報。", + "关闭后,重置键无效,锁要通过app删除后才能重新添加": "關閉之後,RESET掣被禁用。", + "校准时间": "校準時間", + "诊断是读取锁内的配置信息并上传,以便工作人员分析故障的原因": "診斷係讀取鎖內嘅配置信息並上傳,以便工作人員分析故障原因", + "上传": "上傳", + "本操作将上传锁内数据到服务器,过程可能需要几分钟,请耐心等待": "把數據由lock上傳到服務器。 可能需要幾分鐘時間", + "请选择要从哪把锁导入": "選擇要從中導入嘅鎖", "有新版本": "有新版本", - "当前版本": "当前版本", + "当前版本": "當前版本", "升级": "更新", - "空闲": "空", - "已入住": "被占领的", - "多语言": "语言", - "添加锁": "加锁", - "锁地址": "锁的地址", - "选择锁类型": "选择锁类型", - "NFC无源锁": "NFC无源锁", - "添加设备": "添加设备", - "网关": "网关", - "客服": "客户服务", - "设置": "设置", - "更多设置": "更多的设置", - "消息推送": "通知推", - "锁用户管理": "锁定用户", - "拥有的钥匙": "与此用户关联的eKeys", - "批量授权": "权限管理", - "关联设备": "相关的设备", - "关联姓名": "相关的名字", - "转移智能锁": "把锁", - "选择锁": "屏幕锁", + "空闲": "空置", + "已入住": "佔領", + "多语言": "語言", + "添加锁": "添加鎖", + "锁地址": "鎖定地址", + "选择锁类型": "選擇鎖類型", + "NFC无源锁": "NFC無源鎖", + "添加设备": "添加設備", + "网关": "網關", + "客服": "顧客服務", + "设置": "設置", + "更多设置": "更多設置", + "消息推送": "通知推送", + "锁用户管理": "鎖定用戶", + "拥有的钥匙": "與此用戶關聯嘅eKey", + "批量授权": "權限管理", + "关联设备": "關聯設備", + "关联姓名": "關聯名稱", + "转移智能锁": "轉移鎖定", + "选择锁": "屏幕鎖定", "接收人信息": "收件人", - "转移网关": "传输网关", - "锁屏": "屏幕锁", - "已关闭": "从", - "已开启": "在", - "开启": "打开", - "确定要开启重置键?": "继续启用重置按钮?", - "确定要关闭重置键?": "继续禁用重置按钮?", - "隐藏无效开锁权限": "隐藏无效访问", - "APP开锁时需手机连网的锁": "锁需要手机在线", - "增值服务": "服务", - "关于": "关于", - "退出": "注销", - "删除账号": "删除账户", - "个人信息": "账户信息", - "头像": "《阿凡达》", - "昵称": "昵称", - "请输入昵称": "请输入您的昵称", + "转移网关": "傳輸網關", + "锁屏": "屏幕鎖定", + "已关闭": "關閉", + "已开启": "上", + "开启": "開", + "确定要开启重置键?": "繼續啟用Reset掣?", + "确定要关闭重置键?": "繼續禁用Reset掣?", + "隐藏无效开锁权限": "隱藏無效訪問權限", + "APP开锁时需手机连网的锁": "需要在線電話嘅鎖", + "增值服务": "服務業", + "关于": "大約", + "退出": "註銷", + "删除账号": "刪除帳戶", + "个人信息": "賬戶信息", + "头像": "化身", + "昵称": "暱稱", + "请输入昵称": "請輸入您的暱稱", "修改昵称": "重命名", - "修改账号": "编辑帐户", - "重置密码": "重置密码", - "安全问题": "安全问题", - "为了你的账号安全,修改账号前请先使用验证码验证": "为保证您的帐户安全,请在修改帐户前进行帐户密码验证", - "请输入新账号": "请输入新帐户", - "找回密码和登录新设备时,可通过绑定的手机验证": "绑定电话号码将用于接收验证码。", - "找回密码和登录新设备时,可通过绑定的邮箱验证": "绑定电子邮件将用于接收验证码。", - "原密码": "当前的密码", - "新密码": "新密码", - "确认密码": "确认密码", - "当你手机丢了,可以通过回答设置的安全问题来登录新设备": "如果您的手机丢失,您可以通过回答安全问题登录新手机。", - "问题一": "问题1", - "问题二": "问题2", - "问题三": "问题3", - "请输入你的答案": "请输入答案", - "即将到期": "很快到期", - "去授权": "点击授权", - "修改名称": "编辑的名字", - "状态": "状态", - "WiFi名称": "无线网络名称", - "网络MAC": "网络MAC", - "网关升级": "网关更新", - "网关连接的锁": "连接到此网关的锁", - "信号强": "强大的", - "选择网关类型": "选择网关类型", - "添加网关": "添加网关", - "重新通电": "重新连接电源", - "指示灯": "指示灯", - "选择网关": "选择网关", - "不支持5G WiFi网络,请选择2.4G WiFi网络进行配置": "不支持5G。请选择2.4G WiFi。", - "WiFi密码": "WiFi Passward", - "请输入WiFi密码": "输入WiFi密码", - "网关名称": "网关的名字", - "请输入网关名称": "输入网关名称", + "修改账号": "編輯賬戶", + "重置密码": "重置密碼", + "安全问题": "安全問題", + "为了你的账号安全,修改账号前请先使用验证码验证": "為咗你賬戶嘅安全,請修改賬戶前使用賬戶密碼驗證緊", + "请输入新账号": "請輸入新賬戶", + "找回密码和登录新设备时,可通过绑定的手机验证": "绑定電話號碼將用于接收驗證碼。", + "找回密码和登录新设备时,可通过绑定的邮箱验证": "绑定電子郵件將用于接收驗證碼。", + "原密码": "當前密碼", + "新密码": "新密碼", + "确认密码": "確認密碼", + "当你手机丢了,可以通过回答设置的安全问题来登录新设备": "如果您的手機丟失了,你可以透過答安全問題嚟登錄新手機。", + "问题一": "問題1", + "问题二": "問卷調查2", + "问题三": "問卷調查3", + "请输入你的答案": "請輸入您的答案", + "即将到期": "即將過期", + "去授权": "前往授權", + "修改名称": "編輯名稱", + "状态": "地位", + "WiFi名称": "Wifi名稱", + "网络MAC": "網絡MAC", + "网关升级": "網關更新", + "网关连接的锁": "連接到此網关嘅鎖", + "信号强": "強", + "选择网关类型": "選擇Gateway Type (網關類型)", + "添加网关": "添加網關", + "重新通电": "重新連接電源", + "指示灯": "指示燈", + "选择网关": "選擇Gateway (網關)", + "不支持5G WiFi网络,请选择2.4G WiFi网络进行配置": "唔撐5G。 請選擇2.4G嘅WiFi。", + "WiFi密码": "WiFi通行證", + "请输入WiFi密码": "輸入WiFi密碼", + "网关名称": "網關名稱", + "请输入网关名称": "輸入網關名稱", "IP地址": "IP地址", - "子网掩码": "子网掩码", - "默认网关": "默认网关", - "自动获取DNS服务器地址": "自动获取DNS服务器地址", - "首选DNS": "首选DNS", - "备选DNS": "选择域名", - "不使用静态IP": "没有使用静态IP", - "使用静态IP": "使用静态IP", - "请输入IP地址": "输入IP地址", - "请输入子网掩码": "输入子网掩码", - "请输入默认网关": "输入默认网关", - "所有锁": "所有的锁", - "搜索所有类型的锁": "扫描所有类型的锁", - "门锁": "门锁", - "挂锁": "挂锁", - "保险箱锁": "安全锁", - "智能门禁": "智能访问控制", - "车位锁": "停车锁", - "摸亮触摸屏": "触摸任何键激活键盘", - "摸亮触摸屏,锁进入可添加状态,点击下一步": "请触摸任意键激活锁并将其置于配对模式。按下一个", - "附近的锁": "附近的锁", - "如需修改名字请重新命名,点击确定添加锁": "如果要更改名称,请重命名,单击“确定”添加锁定", - "添加锁时,手机必须在锁旁边": "添加锁时,手机必须在锁旁边", - "登录": "登录", - "注册": "注册", - "我已阅读并同意": "我读过并同意了", - "验证码": "代码", - "密码必须是8-20位,至少包括数字/字母/符号中的2种": "您的密码必须有8-20个字符,并包括至少两种类型的数字,字母和符号", - "手机": "电话", - "邮箱": "电子邮件", - "请输入邮箱": "输入你的电子邮箱", - "国家/地区": "国家/地区", - "你所在的国家/地区": "你的国家/地区", - "选择国家/地区": "选择您的国家或地区", - "获取验证码": "获取代码", - "商务合作": "业务", - "电脑网页版": "网络系统", - "酒店系统": "酒店系统", - "说明书网页版": "用户手册", - "高级功能": "先进的功能", - "记录保存": "记录保留", - "您可通过短信将密码、电子钥匙信息发给接收人。": "短信可用于向接收方发送密码和密钥信息。", - "您可通过邮件将密码、电子钥匙信息发给接收人。": "该电子邮件可用于发送密码和ekey信息给收件人。", - "购买实名认证提示": "开启该功能后,您需要使用指纹、人脸或账号密码打开APP, 3分钟内无需再次验证", - "请选择你希望的实名认证频次": "请选择您需要的实名认证频率", + "子网掩码": "子網掩碼", + "默认网关": "默認網關", + "自动获取DNS服务器地址": "自動獲取DNS服務器地址", + "首选DNS": "首選DNS", + "备选DNS": "備用DNS", + "不使用静态IP": "唔使用靜態IP", + "使用静态IP": "使用靜態IP", + "请输入IP地址": "輸入IP地址", + "请输入子网掩码": "輸入Subnet Mask", + "请输入默认网关": "輸入默認網关", + "所有锁": "所有鎖", + "搜索所有类型的锁": "掃描所有類型嘅鎖", + "门锁": "門鎖", + "挂锁": "掛鎖", + "保险箱锁": "安全鎖", + "智能门禁": "智能門禁", + "车位锁": "泊車鎖", + "摸亮触摸屏": "掂任意鍵以激活鍵盤", + "摸亮触摸屏,锁进入可添加状态,点击下一步": "請觸摸任意鍵以激活鎖並將其置於配對模式。", + "附近的锁": "附近鎖", + "如需修改名字请重新命名,点击确定添加锁": "如果要更改名稱,請重命名,單擊OK添加鎖", + "添加锁时,手机必须在锁旁边": "添加鎖時,手機必須位於鎖隔离", + "登录": "登錄", + "注册": "註冊", + "我已阅读并同意": "我已閱讀並同意", + "验证码": "法典", + "密码必须是8-20位,至少包括数字/字母/符号中的2种": "您的密碼必須包含8-20個字符,並且至少包含兩種類型嘅數字:字母同符號", + "手机": "電話", + "邮箱": "電子郵件", + "请输入邮箱": "輸入您的電子郵件", + "国家/地区": "國家/地區", + "你所在的国家/地区": "你所在嘅國家/地區", + "选择国家/地区": "選擇您的國家或地區", + "获取验证码": "獲取代碼", + "商务合作": "商", + "电脑网页版": "Web系統", + "酒店系统": "酒店系統", + "说明书网页版": "用戶使用手冊", + "高级功能": "高級功能", + "记录保存": "記錄保留", + "您可通过短信将密码、电子钥匙信息发给接收人。": "SMS可用于向收件人發送密碼同ekey信息。", + "您可通过邮件将密码、电子钥匙信息发给接收人。": "該電子郵件可用于向收件人發送密碼同ekey信息。", + "购买实名认证提示": "啟用該功能之後,您需要使用您的指紋、人面或賬戶密碼打開APP。 3分鐘內無需再次驗證", + "请选择你希望的实名认证频次": "請選擇所需嘅实名認證頻率", "仅首次": "第一次", - "每日一次": "一天一次", - "每周一次": "一周一次", + "每日一次": "每日一次", + "每周一次": "每周一次", "每月一次": "每月一次", - "当前状态": "当前的状态", - "试用中": "受审", - "高级功能权益内容": "先进的功能", - "短信模板": "短信模板", - "邮件模板": "电子邮件模板", - "发卡工具": "卡编码器", - "购买高级功能须知": "请注意", - "购买高级功能提示": "更高级的功能正在开发中,如果您需要,欢迎您根据锁的数量打开服务。高级功能只适用于您自己的锁。如果您是授权管理员,请联系该锁的顶级管理员开启该服务", - "免费体验": "免费试用", - "立即开通": "打开现在", - "购买短信": "买手机", - "购买邮件": "购买电子邮件", - "购买实名认证次数": "购买实名认证次数", - "开通高级功能": "启用高级功能", - "选择套餐": "选择包", + "当前状态": "現狀", + "试用中": "試用期", + "高级功能权益内容": "高級功能", + "短信模板": "短信糢闆", + "邮件模板": "電子郵件糢闆", + "发卡工具": "卡編碼器", + "购买高级功能须知": "通知", + "购买高级功能提示": "更高級嘅功能開發緊中,如果您需要,欢迎你根據鎖嘅數量打開服務。 高級功能僅適用於您自己嘅鎖。 如果你係授權管理員,請聯繫鎖嘅頂級管理員以打開服務", + "免费体验": "免費試用", + "立即开通": "而家打開", + "购买短信": "購買短信", + "购买邮件": "購買EMail", + "购买实名认证次数": "購買实名認證次數", + "开通高级功能": "啟用高級功能", + "选择套餐": "選擇Package (套餐)", "支付方式": "付款方式", "支付宝": "支付宝", "去支付": "支付", - "你可以自己定义模版的内容,用于发送密码或电子钥匙信息给他人": "您可以自己定义消息。它用于向他人发送密码和密钥信息。", - "高级功能仅能用于你自己的锁": "高级功能只能应用于您自己的锁。", - "新建模板": "创造模板", - "类型": "类型", - "模版内容": "模板内容", - "预览": "预览", - "房间名": "房间", - "预计产生短信条数": "估计的消息段", - "功能开启后,已失效较长时间的密码、电子钥匙、卡、指纹等开锁权限将被隐藏,不在列表里显示。": "此功能允许您隐藏一段时间内无效的密码、密钥、卡片和指纹。", - "对于选中的这些锁,当用户用APP开锁时,他的手机需要是连网的,否则无法开锁": "用户的手机需要在线才能通过APP解锁这些选定的锁。", - "配置WiFi": "配置无线网络", - "请输入WiFi名字": "请输入Wifi名称", - "WiFi配网": "WiFi分布网络", - "胁迫卡": "压力卡片", - "员工是否有密码": "已经有了密码", - "员工是否有卡": "已经有卡了", - "员工是否有指纹": "已经设置指纹", - "获取钥匙": "得到关键", - "获取卡": "让卡", - "获取指纹": "得到指纹", - "安全验证": "身份验证", - "删除账号后,你的所有信息及相关记录都会从平台彻底删除,且不可恢复,是否删除?": "您的所有账户信息将从平台上永久删除,且无法恢复。要删除吗?", - "监控": "监控", - "视频日志": "视频日志", - "开门器": "开门器", - "面容开锁": "脸解锁", - "开门方向设置": "开启方向集", - "电机功率设置": "MotorPower设置", - "开锁时是否需联网": "如果解锁时需要上网", - "选择要加入分组的锁": "选择要添加到该组的lockS", - "锁数量": "锁的数量", - "小米IOT平台": "小米物联网平台", - "面容开锁设置": "面部解锁设置", - "感应距离": "感应距离", - "防误开": "防止开错", - "防误开已关闭,关门后仍可使用面容开锁": "防止误开已关闭,关闭后仍可使用面锁", - "添加和使用面容开锁时": "解锁时添加并使用人脸", - "添加和使用面容开锁时提示": "\n1、请尽量保持单人在门前操作;\n2、请站在门锁前约0.5~0.8米,面向门锁;\n3. 请保持面部畅通,露出五官;\n4. 当人脸识别异常时,可以手动触摸数字键盘上的任意键重新启动人脸识别。", - "秒": "年代", - "请根据门锁实际情况,请谨慎选择电机功率:": "请根据门锁的实际情况仔细选择电机功率:", - "小功率:": "小功率:", - "耗电少": "更少的电力消耗", - "大功率": "高功率:", - "大功率提示": "如果锁舌在开锁时不能正常缩回,或需要驱动\n天地挂钩,建议选用大功率的。此时,功耗将为\n增加。", - "开门方向设置提示": "请慎重选择你家的开门方向(如果选错方向,将无法正常开门和关门):", - "左开": "打开了", - "右开": "开放的权利", - "判断方法:": "判断方法:", - "判断方法内容": "那人站在房子外面,面向大门。\n如果门的铰链或轴在左边,则门是开着的;\n如果门的铰链或轴在右边,则门是右开的。\n如果设置错误,将不能正常开门和关门。\n建议由安装或维护人员操作。", - "录像时段": "视频插槽", - "密码": "密码", - "卡": "卡片", - "指纹": "指纹", - "人脸": "脸", - "配件商城": "锁购物中心", - "公司名称": "公司名称", - "请输入公司名字": "输入公司名称", + "你可以自己定义模版的内容,用于发送密码或电子钥匙信息给他人": "你可以自己定義消息。 它用于把密碼同ekey嘅信息發送畀其他人。", + "高级功能仅能用于你自己的锁": "高級功能只能應用您自己嘅鎖。", + "新建模板": "創建糢闆", + "类型": "類型", + "模版内容": "糢闆內容", + "预览": "預覽", + "房间名": "房間", + "预计产生短信条数": "估計嘅消息細分", + "功能开启后,已失效较长时间的密码、电子钥匙、卡、指纹等开锁权限将被隐藏,不在列表里显示。": "此功能允許您隱藏在一段時間內無效的密碼、ekey、卡和指紋。", + "对于选中的这些锁,当用户用APP开锁时,他的手机需要是连网的,否则无法开锁": "用戶嘅手機需要在線才能使用APP解鎖呢啲選定嘅鎖。", + "配置WiFi": "配置WiFi", + "请输入WiFi名字": "請輸入Wifi名稱", + "WiFi配网": "WiFi分配網絡", + "胁迫卡": "壓力卡", + "员工是否有密码": "已有密碼", + "员工是否有卡": "已有卡", + "员工是否有指纹": "已設置指紋", + "获取钥匙": "獲取密鑰", + "获取卡": "獲取卡", + "获取指纹": "獲取Fingerprint", + "安全验证": "身份驗證", + "删除账号后,你的所有信息及相关记录都会从平台彻底删除,且不可恢复,是否删除?": "您的所有帳戶信息都將由平台上永久刪除,並且無法 Recovered.Do 你要刪除?", + "监控": "監控", + "视频日志": "視頻日誌", + "开门器": "開門器", + "面容开锁": "人面解鎖", + "开门方向设置": "打開方向集", + "电机功率设置": "電機功率設置", + "开锁时是否需联网": "解鎖時需要Internet時", + "选择要加入分组的锁": "選擇要添加到此組嘅lockS", + "锁数量": "鎖倉金額", + "小米IOT平台": "小米物聯網平台", + "面容开锁设置": "面部解鎖套裝", + "感应距离": "感應距離", + "防误开": "防止錯誤打開", + "防误开已关闭,关门后仍可使用面容开锁": "防止誤開已關閉,關門後仍可使用人面解鎖", + "添加和使用面容开锁时": "解鎖時添加和使用人面", + "添加和使用面容开锁时提示": "\n1、請盡量保持單人門前操作;\n2、請站在門鎖前約0.5~0.8米處,面向門鎖;\n3.請保持面部遮擋,露出面部特徵;\n4.当人面識別異常時,你可以輕觸數字鍵盤上嘅任意鍵,手動重啟人面識別。", + "秒": "S", + "请根据门锁实际情况,请谨慎选择电机功率:": "請根據門鎖的實際情況仔細選擇電機功率:", + "小功率:": "微瓦:", + "耗电少": "功耗更低", + "大功率": "大功率:", + "大功率提示": "如果鎖舌在解鎖時無法正常縮回,或需要驅動\n天地鈎,建議選擇高功率。 此時,功耗將為\n增加。", + "开门方向设置提示": "請仔細選擇開門的方向(如果選錯了方向,將無法正常開門和關門):", + "左开": "左開", + "右开": "打開右側", + "判断方法:": "判斷方法:", + "判断方法内容": "嗰個人企喺屋外,面對住入口嘅門。\n如果門的銦鏈或軸在左側,則門保持打開狀態;\n如果門的銦鏈或軸在右側,則門是右開的。\n如果設置錯誤,則無法正常打開和關閉門。\n建議由安裝或維護人員操作。", + "录像时段": "視頻老虎機", + "密码": "密碼", + "卡": "卡", + "指纹": "指紋", + "人脸": "面臨", + "配件商城": "鎖商城", + "公司名称": "公司名稱", + "请输入公司名字": "輸入公司名稱", "提示": "提示", - "是否删除?": "是否删除?", - "员工信息": "员工信息", - "员工": "工作人员", - "打卡方式无效": "不可用", - "中国": "中国", - "选择钥匙": "选择ekey", - "编辑": "编辑", - "无": "没有", - "有": "是的", - "请输入姓名": "请输入名称", - "获取人脸": "让脸", - "选择密码": "选择密码", - "选择卡": "选择卡", - "选择指纹": "选择指纹", - "选择人脸": "选择面对", - "员工是否有人脸": "员工是否有脸", - "同时删除员工钥匙": "删除他/她的密钥", - "删除": "删除", - "确定要删除员工吗?": "删除该员工", - "月统计": "每月统计数据", - "迟到": "晚些时候", - "早退": "早走", - "未打卡": "没有记录", - "钥匙将在": "此密钥将在", - "天后失效": "天(s)", - "电量更新时间:": "电池更新时间:", - "新增配件": "添加", - "钥匙不可用": "密钥不可用", - "正在开锁中...": "解锁……", - "你的钥匙": "你的关键", - "常开模式启动!长按闭锁": "开启模式启动!长按锁定", - "演示模式": "演示模式", - "请先同意用户协议及隐私政策": "请先同意本用户协议及隐私政策", - "用户协议": "用户条款", - "隐私政策": "隐私政策", - "注册成功": "注册成功", - "你所在的": "你入选了", - "手机号": "电话号码", - "忘记密码": "忘记了密码", + "是否删除?": "是否刪除?", + "员工信息": "員工信息", + "员工": "員工", + "打卡方式无效": "唔可以利用嘅", + "中国": "中國", + "选择钥匙": "選擇ekey", + "编辑": "編輯", + "无": "唔係", + "有": "係", + "请输入姓名": "請輸入名稱", + "获取人脸": "獲取人面", + "选择密码": "選擇密碼", + "选择卡": "選擇卡", + "选择指纹": "選擇指紋", + "选择人脸": "選擇面", + "员工是否有人脸": "員工是否有脸", + "同时删除员工钥匙": "刪除他/她的ekey", + "删除": "刪除", + "确定要删除员工吗?": "刪除此員工", + "月统计": "每月統計數據", + "迟到": "晚", + "早退": "提前離開", + "未打卡": "暫無記錄", + "钥匙将在": "此ekey將在", + "天后失效": "天", + "电量更新时间:": "電池更新時間:", + "新增配件": "加", + "钥匙不可用": "密鑰不可用", + "正在开锁中...": "解鎖。。。", + "你的钥匙": "您的密鑰", + "常开模式启动!长按闭锁": "打開模式開始了! 長按鎖定", + "演示模式": "Demo模式", + "请先同意用户协议及隐私政策": "請先同意用戶協議和私隱政策", + "用户协议": "用戶條款", + "隐私政策": "私隱策略", + "注册成功": "註冊成功", + "你所在的": "您正在", + "手机号": "電話號碼", + "忘记密码": "忘記密碼", "重置成功": "重置成功", - "确定要退出吗?": "退出吗?", - "功能暂未开放": "功能尚未打开", - "设置成功": "设置成功", - "删除成功": "删除成功", + "确定要退出吗?": "退出?", + "功能暂未开放": "函數尚未打開", + "设置成功": "設置成功", + "删除成功": "刪除成功", "单次": "一次性", "永久": "永久", - "限时": "定时", - "自定义": "自定义", + "限时": "定時", + "自定义": "習慣", "清空码": "擦除", - "循环": "反复出现的", + "循环": "經常性", "工作日": "工作日", - "每日": "每天", + "每日": "日常", "周末": "周末", - "确定要删除吗?": "删除吗?", - "该锁的密码都将被删除": "此锁的所有密码将被删除", - "已过期": "无效的", - "该锁的电子钥匙都将被删除": "此锁的所有ekey都将被删除", - "同时删除其发送的所有钥匙,钥匙删除后不能恢复": "删除与此ekey关联的所有ekey。此步骤不可撤消!", - "删除钥匙会在用户APP连网后生效": "当用户的APP连接到网络时,eKey将被删除", - "有效时间": "有效的时间", + "确定要删除吗?": "刪除?", + "该锁的密码都将被删除": "此鎖嘅所有密碼都將被刪除", + "已过期": "無效", + "该锁的电子钥匙都将被删除": "此鎖嘅所有eKey將被刪除", + "同时删除其发送的所有钥匙,钥匙删除后不能恢复": "DELETE與此ekey關聯嘅所有ekey。 此步驟無法撤消!", + "删除钥匙会在用户APP连网后生效": "当用戶嘅APP連接到網絡時,eKey將被刪除", + "有效时间": "生效時間", "接收者": "收件人", - "仅管理自己创建的用户": "只管理自己的用户", - "远程开锁": "远程解锁", - "请输入钥匙名称": "请输入密钥名称", + "仅管理自己创建的用户": "僅打理自己嘅用戶", + "远程开锁": "遠程解鎖", + "请输入钥匙名称": "請輸入密鑰名稱", "修改成功": "修改成功", - "冻结": "冻结", - "解除冻结": "解冻", - "授权": "授权", - "取消授权": "取消授权", - "同时解冻其发送的钥匙": "解冻该用户发出的所有密钥", - "会在用户APP连网后生效": "当用户的APP连接到网络时,此密钥将被解冻", - "同时冻结其发送的钥匙": "冻结该用户颁发的所有密钥", - "冻结会在用户APP连网后生效": "当用户的APP连接到网络时,此ekey将被冻结", - "取消授权会在用户APP连网后生效": "当用户的APP连接到网络时,用户将失去其权限", - "授权用户拥有管理员的大部分权限,比如发送钥匙、发送密码": "授权用户具有与锁管理器几乎相同的权限(例如:发送密钥和密码的能力)", - "失效时间需晚于生效时间": "过期时间必须晚于有效时间", - "生效时间需晚于当前时间": "生效时间必须晚于当前时间", - "失效日期需晚于生效日期": "有效期必须晚于生效日期", - "修改有效期": "改变时间", - "生效日期": "开始日期", - "失效日期": "结束日期", - "开锁": "解锁", - "开锁成功": "解锁成功", - "请选择锁": "请选择锁", - "请选择接收者": "请选择接收方", - "请选择有效期": "请选择有效期限", - "请选择发送方式": "请选择发送方式", - "请选择结束时间": "请选择结束时间", - "完成": "完整的", - "有效日": "周期", - "发送成功": "发送成功", - "请选择开始时间": "请选择开始时间", - "选择用户": "选择收件人", - "已选中": "选择", - "确定": "确定", - "请选择要发送的锁": "请选择锁", - "人脸实名认证指的是用户在使用手机APP开锁时,需要先进行本人人脸验证,验证通过才能开锁。": "人脸实名认证是指用户在解锁手机APP前需要对自己的脸部进行验证,验证后即可解锁。", - "分享": "分享", - "请输入接收者账号": "请输入接收人账户", - "接收者号码未注册,请重新发送": "收件人号码未注册,请重新发送", - "是否发送电子钥匙给未注册账号": "您要发送密钥到新帐户吗", + "冻结": "凍結", + "解除冻结": "解凍", + "授权": "授權", + "取消授权": "取消授權", + "同时解冻其发送的钥匙": "解凍此用戶發佈嘅所有ekey", + "会在用户APP连网后生效": "当用戶嘅APP連接到網絡時,此ekey將被解凍", + "同时冻结其发送的钥匙": "凍結此用戶發佈嘅所有ekey", + "冻结会在用户APP连网后生效": "当用戶嘅APP連接到網絡時,此ekey將被凍結", + "取消授权会在用户APP连网后生效": "当用戶嘅APP連接到網絡時,用戶將失去佢/她的權限", + "授权用户拥有管理员的大部分权限,比如发送钥匙、发送密码": "授權用戶具有與LOCK Manager幾乎相同嘅權限(例如。 能夠發送ekey同密碼)", + "失效时间需晚于生效时间": "過期時間必須遲於生效時間", + "生效时间需晚于当前时间": "生效時間必須遲於當前時間", + "失效日期需晚于生效日期": "到期日期必須遲於生效日期", + "修改有效期": "更改期", + "生效日期": "開始日期", + "失效日期": "結束日期", + "开锁": "開鎖", + "开锁成功": "解鎖成功", + "请选择锁": "請選擇鎖", + "请选择接收者": "請選擇接收器", + "请选择有效期": "請選擇有效期", + "请选择发送方式": "請選擇發送方式", + "请选择结束时间": "請選擇結束時間", + "完成": "完成", + "有效日": "循環", + "发送成功": "發送成功", + "请选择开始时间": "請選擇開始時間", + "选择用户": "選擇收件人", + "已选中": "選擇", + "确定": "確定", + "请选择要发送的锁": "請選擇鎖", + "人脸实名认证指的是用户在使用手机APP开锁时,需要先进行本人人脸验证,验证通过才能开锁。": "人面实名認證係指用戶喺解鎖手機APP之前需要驗證自己嘅面,驗證就可以解鎖。", + "分享": "共享", + "请输入接收者账号": "請輸入收款人賬戶", + "接收者号码未注册,请重新发送": "收件人號碼未登記,請重新發送", + "是否发送电子钥匙给未注册账号": "是否要把ekey發送到新帳戶", "取消": "取消", - "标记成功": "标志着成功", - "微信好友": "微信的朋友", + "标记成功": "標記成功", + "微信好友": "微信好友", "短信": "短信", - "邮件": "电子邮件", - "更多": "更多的", - "您好,您的电子钥匙生成成功": "您好,您的电子密钥生成成功", - "生效时间不能小于当前时间": "有效时间不能小于当前时间", - "结束时间不能小于当前时间": "结束时间不能小于当前时间", - "是否为管理员": "是管理员吗?", - "已连接到锁,请将卡靠近门锁的读卡区": "连接。将卡片贴在读卡器上", - "尝试连接设备...": "连接与锁。请稍等…", + "邮件": "電子郵件", + "更多": "更多", + "您好,您的电子钥匙生成成功": "您好,您的電子密鑰已成功生成", + "生效时间不能小于当前时间": "生效時間不能小於當前時間", + "结束时间不能小于当前时间": "結束時間不能小於當前時間", + "是否为管理员": "係管理員嗎", + "已连接到锁,请将卡靠近门锁的读卡区": "已連接。把卡靠喺讀卡器上", + "尝试连接设备...": "Connecting with Lock. 請稍候...", "地理位置": "地理位置", - "检查以确保以下地址是正确的": "请检查以下地址是否正确", - "地图加载中,请稍候。。": "地图正在加载中,请稍等…", - "跳过": "跳过", - "还未获取到位置信息哦,请耐心等待一下!": "位置信息尚未获取,请耐心等待!", - "请填写信息": "请填写这些信息", + "检查以确保以下地址是正确的": "檢查以確保以下地址正確", + "地图加载中,请稍候。。": "地圖正在加載中,請稍候...", + "跳过": "跳", + "还未获取到位置信息哦,请耐心等待一下!": "位置信息尚未獲取,請耐心等待!", + "请填写信息": "請填寫信息", "有效期": "有效期", - "生效时间": "开始时间", - "失效时间": "结束时间", - "上传成功": "上传成功", - "未生效": "不活跃的", - "已生效": "有效的", - "指纹详情": "指纹信息", - "添加过程中,请根据提示,在指纹采集器上进行多次的抬起按压": "您将被要求将您的手指放在传感器几次。请按照提示……", - "开始添加": "开始", - "请将您的手指按下": "将手指放在传感器上", - "根据提示,抬起手指后再进行下一次指纹采集": "按照提示去做……您将需要将手指移到传感器上以进行下一个记录", + "生效时间": "開始時間", + "失效时间": "結束時間", + "上传成功": "上傳成功", + "未生效": "無效", + "已生效": "有效", + "指纹详情": "指紋信息", + "添加过程中,请根据提示,在指纹采集器上进行多次的抬起按压": "你將需要把手指多次放在傳感器上。 請按照提示操作...", + "开始添加": "開始", + "请将您的手指按下": "把手指放在傳感器上", + "根据提示,抬起手指后再进行下一次指纹采集": "按照提示操作... 你將需要把手指移開並放在傳感器上以用于下一條記錄", "添加成功": "添加成功", "更新成功": "更新成功", - "搜索": "搜索", - "重置后,该锁的卡都将被删除哦,确认要重置吗?": "重置后,锁上的卡会被删除,您要重置吗?", - "已失效": "无效的", + "搜索": "搜尋", + "重置后,该锁的卡都将被删除哦,确认要重置吗?": "重置之後,鎖嘅卡將被刪除,你要重置啊?", + "已失效": "無效", "卡详情": "卡信息", - "请输入": "请在这里输入", - "关闭后,智能锁将设置为全天常开模式,直到手动关闭": "通过关闭,锁将保持解锁一整天,直到它被手动锁定", - "请输入小于或等于60的数字": "请输入一个小于60的数字", + "请输入": "請在此處輸入", + "关闭后,智能锁将设置为全天常开模式,直到手动关闭": "透過關閉,鎖將日保持解鎖狀態晒,直到它被手動鎖定", + "请输入小于或等于60的数字": "請輸入小於60嘅數字", "操作成功": "操作成功", - "管理员密码相同,无需修改": "管理员密码保持一致,无需修改", - "请输入6-9位数字": "长度为6 ~ 9位", - "请输入6-9位管理员密码": "请输入6-9位的管理员密码", - "请输入新的管理员密码": "请输入新的管理员密码", - "未分组": "未分组的", - "请输入分组名称": "创建组", - "创建成功": "创建成功", - "设置锁分组成功": "设置锁组成功", - "电池1电量": "电池1", - "电池2电量": "电池2", - "电量更新时间": "电池更新时间", - "锁电量更新成功": "锁定电源更新成功", - "您的钥匙未生效": "你的钥匙没用", - "您的钥匙已冻结": "你的钥匙被冻住了", - "您的钥匙已过期": "您的钥匙过期了", - "常开模式开启": "锁处于通道模式", - "超级管理员": "超级管理员", - "授权管理员": "使管理", - "普通用户": "普通用户", + "管理员密码相同,无需修改": "管理員密碼相同,無需修改", + "请输入6-9位数字": "長度6-9位", + "请输入6-9位管理员密码": "請輸入6-9位數字嘅管理員密碼", + "请输入新的管理员密码": "請輸入新嘅管理員密碼", + "未分组": "未分組", + "请输入分组名称": "創建組", + "创建成功": "創造成功", + "设置锁分组成功": "設置鎖組成功", + "电池1电量": "電池1", + "电池2电量": "電池2", + "电量更新时间": "電池更新時間", + "锁电量更新成功": "鎖定電源更新成功", + "您的钥匙未生效": "您的密鑰無效", + "您的钥匙已冻结": "您的密鑰已被凍結", + "您的钥匙已过期": "您的密鑰已過期", + "常开模式开启": "鎖處於Passage Mode", + "超级管理员": "超級管理員", + "授权管理员": "設為admin", + "普通用户": "普通用戶", "余": "平衡", - "天": "一天", - "删除锁后,所有信息都会一起删除,确定删除锁吗?": "删除锁后,所有信息将被一并删除,您确定要删除锁吗?", - "请输入登录密码": "请输入应用程式密码", - "删除设备失败,请确保在设备附近,设备未被连接,设备已打开": "删除设备失败,请确保设备在设备附近,设备未连接,设备已打开", - "用户无权限": "用户没有权限", - "创建公司后,考勤功能才能使用": "请先创建一个公司", - "是否删除钥匙?": "删除这个密钥?", - "邮箱绑定成功": "邮件绑定成功", - "手机绑定成功": "手机绑定成功", - "网络访问失败,请检查网络是否正常": "请求失败。网络不可用,请检查并连接到3G/4G/WIFI", - "清空": "清晰的", - "是否清空?": "清楚了吗?", + "天": "日", + "删除锁后,所有信息都会一起删除,确定删除锁吗?": "刪除鎖後,所有信息都會一起刪除,您確定要刪除鎖嗎?", + "请输入登录密码": "請輸入應用程序密碼", + "删除设备失败,请确保在设备附近,设备未被连接,设备已打开": "刪除設備失敗,請確保設備喺設備附近,設備未連接,設備已開機", + "用户无权限": "用戶冇權限", + "创建公司后,考勤功能才能使用": "請先創建公司", + "是否删除钥匙?": "刪除呢個ekey?", + "邮箱绑定成功": "電子郵件绑定成功", + "手机绑定成功": "手機绑定成功", + "网络访问失败,请检查网络是否正常": "請求網絡不可用,請檢查並將您的設備連接到3G/4G/WIFI", + "清空": "清楚", + "是否清空?": "清楚?", "消息详情": "消息信息", - "创建时间": "创建时间", - "管理员详情": "管理员详细信息", - "当被胁迫要求强行开锁时,使用胁迫卡会触发报警,报警信息会推送给管理员,该功能需要锁联网。": "如果有人强迫你开门,你可以用这张卡。告警信息将被发送给管理员。要使用此功能,请确保您的锁处于在线状态。", - "请不要将胁迫卡用于日常开锁": "请不要在日常使用中使用强制卡。", - "当被胁迫要求强行开锁时,使用胁迫指纹会触发报警,报警信息会推送给管理员,该功能需要锁联网。": "如果有人强迫你开门,你可以用这个指纹。告警信息将被发送给管理员。要使用此功能,请确保您的锁处于在线状态。", - "请不要将胁迫指纹用于日常开锁": "请不要日常使用强制指纹。", - "创建公司": "创建一家公司", - "公司名称不能超过30个字符": "公司名称不能超过30个字符", - "公司名称不能小于6个字符": "公司名称不能少于6个字符", - "WIFI列表": "无线网络列表", + "创建时间": "創建時間", + "管理员详情": "管理員詳細信息", + "当被胁迫要求强行开锁时,使用胁迫卡会触发报警,报警信息会推送给管理员,该功能需要锁联网。": "如果有人強迫你開門,你可以使用呢張卡。 警報消息將發送畀管理員。 要使用此功能,請確保您的鎖處於在線狀態。", + "请不要将胁迫卡用于日常开锁": "請不要將強制卡用于日常使用。", + "当被胁迫要求强行开锁时,使用胁迫指纹会触发报警,报警信息会推送给管理员,该功能需要锁联网。": "如果有人強行開門,您可以使用此指紋。 警報消息將發送畀管理員。 要使用此功能,請確保您的鎖處於在線狀態。", + "请不要将胁迫指纹用于日常开锁": "請不要將強制指紋用于日常使用。", + "创建公司": "創建公司", + "公司名称不能超过30个字符": "公司名稱唔可以超過30個字符", + "公司名称不能小于6个字符": "公司名稱不能少於6個字符", + "WIFI列表": "WIFI列表", "刷新": "刷新", - "手动配网": "人工配电网", - "远距离": "长途", - "中距离": "中等距离", - "近距离": "短的距离", - "锁时间更新成功": "锁定时间更新成功", - "锁用户": "锁定用户", - "请选择常开日期": "请选择开放日期", - "结束时间不能小于开始时间哦": "结束时间不能小于开始时间", - "介绍": "我们的故事", - "个人信息收集清单": "个人信息收集清单", - "应用权限说明": "应用权限说明", + "手动配网": "手動分配網絡", + "远距离": "長距離", + "中距离": "中距離", + "近距离": "短距離", + "锁时间更新成功": "鎖定時間更新成功", + "锁用户": "鎖定用戶", + "请选择常开日期": "請選擇開放日期", + "结束时间不能小于开始时间哦": "結束時間不能小於開始時間", + "介绍": "我哋嘅故仔", + "个人信息收集清单": "個人信息收集列表", + "应用权限说明": "應用程序權限說明", "第三方信息共享清单": "第三方信息共享列表", - "请选择您的位置": "请选择您的位置", - "请先选择位置": "请先选择位置", - "管理员密码": "管理员密码", - "如需修改,请输入新的管理员密码(6位),点击确定即可修改": "如果需要修改,请输入新的管理员密码(6位数字),单击“确定”进行修改", + "请选择您的位置": "請選擇您的位置", + "请先选择位置": "請先選擇位置", + "管理员密码": "管理員密碼", + "如需修改,请输入新的管理员密码(6位),点击确定即可修改": "如需修改,請輸入新嘅管理員密碼( 6位數字),點擊確定進行修改", "修改": "修改", - "网络摄像头": "相机", + "网络摄像头": "相機", "重命名": "重命名", - "分组下的锁将被移到未分组里": "组下的锁将移至未分组状态", - "编辑成功": "编辑成功", - "厂商": "制造商", - "型号": "模型", - "密码生成后,请在当日23:59前使用一次进行激活,否则过0点后未激活则失效。密码激活后,有效期内不限次数使用。": "密码生成后,请在当天23:59之前使用一次激活,否则0点后无效。密码激活后,在有效期内可以无限次使用。", - "密码生成后,请在当日23:59前使用,否则过0点后失效。清空码用于清空今天0点之前生成的所有密码。": "密码生成后,请在当天23:59前使用,否则0点后无效。清除码用于清除今天0点之前产生的所有密码。", - "密码生成后,请在当日23:59前使用,否则过0点后失效。": "密码生成后,请在当天23:59前使用,否则0点后无效。", - "清空密码底部提示": "密码有效期到清空当天23:59\n空内容1:当天0:00之前生成的所有密码(0:00之后生成的密码不受清除密码影响,可继续使用)\n空内容2:清空密码所有自定义密码(已使用和未使用)在使用后立即清空\n要完全清除所有密码,请使用“重置所有密码”功能", - "相机": "相机", - "相册": "照片", - "读写": "存储", + "分组下的锁将被移到未分组里": "組下嘅鎖將移至ungrouped", + "编辑成功": "編輯成功", + "厂商": "製造者", + "型号": "型", + "密码生成后,请在当日23:59前使用一次进行激活,否则过0点后未激活则失效。密码激活后,有效期内不限次数使用。": "密碼生成之後,請在當天23:59之前使用一次激活,否則0啲後無效。 密碼激活後,在有效期內可以無限次使用。", + "密码生成后,请在当日23:59前使用,否则过0点后失效。清空码用于清空今天0点之前生成的所有密码。": "密碼生成之後,請在當天23:59之前使用,否則0啲後無效。 明文碼用于清除今日0啲之前生成嘅所有密碼。", + "密码生成后,请在当日23:59前使用,否则过0点后失效。": "密碼生成之後,請在當天23:59之前使用,否則0啲後無效。", + "清空密码底部提示": "密碼有效期至清空當天23:59\n 空內容1:當天0:00之前生成嘅所有密碼(當天0:00之後生成嘅密碼不受清空密碼影響,可以繼續使用)\n空內容2:清除密碼使用後立即清除所有自定義密碼(已使用和未使用)\n要完全清除所有密碼,請使用重置所有密碼功能", + "相机": "相機", + "相册": "相", + "读写": "存儲", "定位": "位置", - "需要访问相机权限才能拍照上传文件例如头像上传": "需要使用摄像头拍照和上传文件,例如上传头像", - "需要访问相机权限才能使用相册图片上传文件上传头像": "使用相册图片上传文件和头像需要访问摄像头", - "需要访问读写权限才能使用本地图片上传头像": "使用本地映像上传头像需要具有读写权限", - "需要访问定位权限才能使用添加钥匙功能的位置信息": "使用add键功能需要访问位置信息", - "申请": "应用程序", - "权限": "许可", - "不允许": "不允许", - "允许": "允许", - "权限被拒绝": "没有权限", - "请手动在系统设置中开启": "请在系统设置中手动启用", - "权限以继续使用应用": "继续使用应用程序的权限。", - "去设置": "把它设置好", - "当前网络": "当前网络", + "需要访问相机权限才能拍照上传文件例如头像上传": "需要訪問相機才能拍照和上傳文件,例如上傳個人資料照片", + "需要访问相机权限才能使用相册图片上传文件上传头像": "需要訪問相機才能使用相冊圖像上傳文件同頭像", + "需要访问读写权限才能使用本地图片上传头像": "需要具有讀取和寫入權限才能使用本地圖像上傳頭像", + "需要访问定位权限才能使用添加钥匙功能的位置信息": "需要訪問位置信息才能使用添加鍵功能", + "申请": "應用", + "权限": "許可", + "不允许": "唔允許", + "允许": "允許", + "权限被拒绝": "權限食檸檬", + "请手动在系统设置中开启": "請喺系統設置中手動啟用", + "权限以继续使用应用": "繼續使用應用程序嘅權限。", + "去设置": "開始設置", + "当前网络": "當前網絡", "位置信息": "位置信息", - "请输入wifi名称": "请输入wifi名称", + "请输入wifi名称": "請輸入wifi名稱", "虹膜": "虹膜", - "手掌": "棕榈", - "商城": "购物中心", - "我的": "我的", - "微信公众号推送": "微信公众账号", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "打开微信接收报警信息,需先关注天凯智能锁微信公众账号,保存二维码后使用微信扫描设置", - "蓝牙": "蓝牙", - "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "使用add key功能的位置信息需要有蓝牙权限", - "请输入Email": "输入你的电子邮箱", - "请输入手机号": "输入您的电话号码", - "家人到家": "家人到家了", - "添加家人": "添加家庭成员", - "若锁没有联网,除电子钥匙外,密码、卡、指纹等开门提醒无法及时发送,请根据你的实际情况选择。": "如果锁具未联网,则无法及时发送密码、刷卡、指纹等开门方式的提醒。", + "手掌": "手掌", + "商城": "商場", + "我的": "我", + "微信公众号推送": "微信公眾號", + "蓝牙": "藍牙", + "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "需要訪問藍牙權限才能使用添加鍵功能嘅位置信息", + "请输入Email": "輸入您的電子郵件", + "请输入手机号": "輸入您的電話號碼", + "家人到家": "家人到家", + "添加家人": "添加家庭成員", + "若锁没有联网,除电子钥匙外,密码、卡、指纹等开门提醒无法及时发送,请根据你的实际情况选择。": "如果鎖冇連接互聯網,則無法及時發送密碼、卡、指紋同其他開門方式嘅提醒。", "消息提醒": "提醒", - "开门通知": "开始注意到", - "N天未开门": "N天没有开门", - "门未关好": "门没关", - "防拆报警": "防拆报警", - "低电量提醒": "电池电量过低", - "胁迫开门": "强行开门", - "有人按门铃": "有人按了门铃", - "有人出现在门口": "有人出现在门口", + "开门通知": "開業通知", + "N天未开门": "N日唔開門", + "门未关好": "門未關閉", + "防拆报警": "篡改警報", + "低电量提醒": "電池電量低", + "胁迫开门": "強制開門", + "有人按门铃": "有人按了門鈴", + "有人出现在门口": "有人出現喺門口", "提醒方式": "提醒方法", - "开门方式": "开门法", - "请选择": "请选择", - "家人": "家庭成员", - "保存": "保存", - "APP推送": "应用推", + "开门方式": "開門方法", + "请选择": "請選擇", + "家人": "家人", + "保存": "救", + "APP推送": "APP推送", "管理员": "管理", - "未启用": "未启用", - "已启用": "启用", - "省电模式": "省电模式", - "逗留抓拍模式": "停留捕获模式", - "实时监控模式": "实时监控模式", - "自定义模式": "自定义模式", - "猫眼设置": "猫眼设置", - "猫眼工作模式": "猫眼工作方式", - "自动亮屏": "自动亮屏", - "亮屏持续时间": "屏幕准时", + "未启用": "未啟用", + "已启用": "啟用", + "省电模式": "省電模式", + "逗留抓拍模式": "保持拍攝模式", + "实时监控模式": "實時監控模式", + "自定义模式": "自定義模式", + "猫眼设置": "貓眼鑲嵌", + "猫眼工作模式": "貓眼工作模式", + "自动亮屏": "自動亮屏", + "亮屏持续时间": "屏幕開啟時間", "逗留警告": "保持警告", - "异常警告": "异常的警告", + "异常警告": "異常警告", "短信提醒": "短信", - "邮件提醒": "电子邮件", - "N天未开门提醒": "N天没有开门", - "当被胁迫要求强行开锁时,使用胁迫指纹会触发报警,报警消息会推送给管理员,该功能需要锁联网": "如果有人强迫你开锁,你可以用这个指纹。告警信息将被发送给管理员。要使用此功能,请确保您的锁处于在线状态。", - "胁迫指纹": "迫使指纹", - "指纹列表": "指纹列表", - "经过以上设定的时间,锁没有被开启,系统会给指定对象发送提醒消息,该功能需要锁联网": "在设定时间后,如果锁未打开,系统将发送提醒信息给指定的收件人。此功能要求锁连接到互联网。", - "打开提醒后,当锁电量低于20%、10%和5%,系统会给指定对象发送提醒消息。电量读取方式:网关读取或APP读取。": "开启提醒功能后,当锁定电池电量低于20%、10%和5%时,系统会向指定的接收人发送提醒信息。", - "未开门时间": "不开门的日子", - "添加和使用面容开锁时:": "解锁时添加和使用Face:", - "关锁": "关闭锁", - "功能": "函数", - "配件": "部分", - "云存": "云存储", - "本地": "本地", - "3天滚动储存": "3天滚动存储", - "去升级": "现在升级", - "下载列表": "下载列表", - "已下载": "下载", - "全部视频": "所有的视频", - "已为本设备免费提供3大滚动视频储存服务": "该设备已免费提供三次滚动视频存储服务", - "视频播放": "视频播放", - "全选": "所有", - "请选择要删除的视频": "请选择要删除的视频", - "请选择要下载的视频": "请选择您要下载的影片", - "欢迎使用": "欢迎使用", - "用户协议和隐私政策概要": "用户协议和隐私政策摘要", - "协议概要": "协议总结", - "感谢您使用本应用。我们非常重视您的个人信息和隐私保护,在使用本产品之前,请认真阅读": "感谢您使用此应用程序。我们非常重视您的个人信息和隐私保护。使用本产品前,请仔细阅读", - "《用户协议》": "用户条款", + "邮件提醒": "電子郵件", + "N天未开门提醒": "N日唔開門", + "当被胁迫要求强行开锁时,使用胁迫指纹会触发报警,报警消息会推送给管理员,该功能需要锁联网": "如果有人強迫您打開鎖,您可以使用此指紋。 警報消息將發送畀管理員。 要使用此功能,請確保您的鎖處於在線狀態。", + "胁迫指纹": "強制指紋", + "指纹列表": "指紋列表", + "经过以上设定的时间,锁没有被开启,系统会给指定对象发送提醒消息,该功能需要锁联网": "超過設定的時間,如果鎖沒有打開,系統會向指定的收件人發送提醒消息。 此功能需要把鎖連接到互聯網。", + "打开提醒后,当锁电量低于20%、10%和5%,系统会给指定对象发送提醒消息。电量读取方式:网关读取或APP读取。": "啟用提醒之後,当鎖芯電量低於20%、10%同5%時,系統會向指定收件人發送提醒消息。", + "未开门时间": "唔開門嘅天數", + "添加和使用面容开锁时:": "解鎖時添加並使用人面:", + "关锁": "關閉鎖", + "功能": "功能", + "配件": "部件", + "云存": "雲存儲", + "本地": "呢個地方", + "3天滚动储存": "3天滾動存儲", + "去升级": "立即升級", + "下载列表": "下載列表", + "已下载": "下載", + "全部视频": "所有視頻", + "已为本设备免费提供3大滚动视频储存服务": "此設備已免費提供三種滾動視頻存儲服務", + "视频播放": "視頻播放", + "全选": "都", + "请选择要删除的视频": "請選擇你要刪除嘅視頻", + "请选择要下载的视频": "請選擇你要下載嘅視頻", + "欢迎使用": "歡迎使用", + "用户协议和隐私政策概要": "用戶協議和私隱政策摘要", + "协议概要": "實驗方案總結", + "感谢您使用本应用。我们非常重视您的个人信息和隐私保护,在使用本产品之前,请认真阅读": "感謝您使用此應用程序。 我哋非常重視您的個人信息和私隱保護。 使用本產品前,請仔細閱讀", + "《用户协议》": "用戶條款", "和": "和", - "《隐私政策》": "“私隐政策”", - "的全部内容。点击“同意”即表示您同意并接受全部条款。若选择不同意,将无法使用我们的产品和服务,并会退出应用。": "的全部内容。点击“同意”,即表示您同意并接受所有条款。如果您选择不同意,您将不能使用我们的产品和服务,并将退出应用程序。", - "不同意": "不同意", + "《隐私政策》": "《私隱政策》", + "的全部内容。点击“同意”即表示您同意并接受全部条款。若选择不同意,将无法使用我们的产品和服务,并会退出应用。": "嘅全部內容。 點擊“同意”,即表示你同意並接受所有條款。 如果您選擇不同意,您將無法使用我們的產品和服務,並將退出應用程序。", + "不同意": "反對", "同意": "同意", - "该功能是高级功能,请开通后再使用": "这是高级功能。请先启用它。", - "常用程序": "常见的项目", - "该锁已被重置": "锁已重置", - "需要访问读写权限才能使用手动升级固件": "手动升级固件需要具有读写权限", - "错误D固件,请选择正确的文件": "固件错误,请选择正确的文件", - "非SYD固件,请选择正确的文件": "非SYD固件,请选择正确的文件", - "文件校验失败 0x01": "文件验证失败0x01", - "解析元数据失败,请选择正确的文件": "解析元数据失败,请选择正确的文件", - "文件校验失败 0x02": "文件校验失败0x02", - "文件校验失败 0x03": "文件验证失败0x03", - "固件升级完成": "固件升级完成", - "记录": "记录", - "开通高级功能后才可以对锁进行管理": "请先开启高级功能对锁进行管理。", - "去开通": "启用", - "实名认证": "实名认证", - "当前剩余数量": "剩下的", - "购买": "买", - "实名认证为付费功能,请购买后再使用": "实名认证为付费功能,请购买后使用", - "密码不一致哦": "密码不一致", + "该功能是高级功能,请开通后再使用": "這是高級功能。 請先啟用它。", + "常用程序": "常用程序", + "该锁已被重置": "鎖已重置", + "需要访问读写权限才能使用手动升级固件": "手動升級固件需要具有讀取和寫入權限", + "错误D固件,请选择正确的文件": "固件錯誤,請選擇正確的文件", + "非SYD固件,请选择正确的文件": "非SYD固件,請選擇正確的文件", + "文件校验失败 0x01": "文件驗證失敗0x01", + "解析元数据失败,请选择正确的文件": "無法解析元數據,請選擇正確的文件", + "文件校验失败 0x02": "文件驗證失敗0x02", + "文件校验失败 0x03": "文件驗證失敗0x03", + "固件升级完成": "固件升級已完成", + "记录": "記錄", + "开通高级功能后才可以对锁进行管理": "請先啟用高級功能嚟打理鎖。", + "去开通": "使", + "实名认证": "实名認證", + "当前剩余数量": "剩餘", + "购买": "買", + "实名认证为付费功能,请购买后再使用": "实名認證為付費功能,請購買後使用", + "密码不一致哦": "密碼不一緻", "退出添加": "退出添加", - "管理员已满": "管理全", - "用户已满": "用户已满", - "锁上面添加指纹已满": "添加指纹锁已满", - "指纹已存在": "指纹已经存在。", - "锁上面添加人脸已满": "上面加脸锁满了", - "人脸已存在": "脸已经存在了", - "锁上面添加卡已满": "以上加卡锁定已满", + "管理员已满": "管理員已滿", + "用户已满": "用戶已滿", + "锁上面添加指纹已满": "在鎖已滿時添加指紋", + "指纹已存在": "指紋已存在。", + "锁上面添加人脸已满": "添加面上方嘅鎖定已滿", + "人脸已存在": "人面已存在", + "锁上面添加卡已满": "添加卡上方嘅鎖已滿", "卡已存在": "卡已存在", - "锁上面添加密码已满": "上面的锁添加密码已满", - "密码已存在": "已经存在相同的密码。请选择一个不同的", - "请输入密码": "请输入密码", - "暂无密码,无需重置": "无需密码,无需重置", - "真实姓名": "的真实姓名", - "身份证号": "身份证号码", - "请输入真实姓名": "请输入您的真实姓名", - "请输入身份证号": "请输入您的身份证号", - "请输入身份证号和真实姓名": "请输入您的身份证号和真实姓名", - "点击返回设备配对": "轻按“返回设备配对”", - "无法连接?尝试升级": "不能连接?尝试升级", - "固件升级提示": "固件升级提示", - "请先获取固件文件到手机本地,再选择升级": "请先获取固件文件到本地,然后选择“升级”", - "固件升级中": "固件正在升级", - "取消升级": "取消升级", - "固件传输中": "传输中的固件", - "关闭": "关掉", - "传输中'": "在运输过程中", - "操作记录": "记录", - "修改姓名": "编辑的名字", - "传输中": "在运输过程中", - "发送人": "发行的", - "发送时间": "一次发布", + "锁上面添加密码已满": "以上鎖添加密碼已滿", + "密码已存在": "已存在相同嘅密碼。 請選擇其他", + "请输入密码": "請輸入密碼", + "暂无密码,无需重置": "無需密碼,無需重置", + "真实姓名": "真實姓名", + "身份证号": "身份證號碼", + "请输入真实姓名": "請輸入您的真實姓名", + "请输入身份证号": "請輸入您的身份證號碼", + "请输入身份证号和真实姓名": "請輸入您的身份證號碼和真實姓名", + "点击返回设备配对": "點按返回設備配對", + "无法连接?尝试升级": "無法連接? 嘗試升級", + "固件升级提示": "固件升級提示", + "请先获取固件文件到手机本地,再选择升级": "請獲取固件文件先到本地話機,然後選擇Upgrade", + "固件升级中": "固件正在升級", + "取消升级": "取消升級", + "固件传输中": "正在傳輸的固件", + "关闭": "關閉", + "传输中'": "運輸中", + "操作记录": "記錄", + "修改姓名": "編輯名稱", + "传输中": "運輸中", + "发送人": "頒發單位", + "发送时间": "發佈時間", "钥匙详情": "ekey信息", "姓名": "名字", - "发送": "发送", - "请确认姓名全名和身份证号码是否正确": "请确认全名和身份证号是否正确", - "传输期间请勿离开当前页面": "在传输过程中不离开当前页面", + "发送": "發送", + "请确认姓名全名和身份证号码是否正确": "請確認全名和身份證號碼正確無誤", + "传输期间请勿离开当前页面": "傳輸過程中唔好離開當前頁面", "机型": "模型", "硬件版本": "硬件版本", "固件版本": "固件版本", - "手动升级": "手动升级", - "设备连接中...": "设备连接…", - "未避免异常情况,请在门打开时升级": "不可避免的例外,请在门打开时升级", - "钥匙无效": "密钥无效", - "操作失败,请确认锁是否在附近,或重启手机蓝牙后再试。": "无法连接到锁。请重新启动您的手机蓝牙,然后再试一次。", - "如果是全自动锁,请使屏幕变亮": "如果是全自动锁,请将屏幕调亮", - "正在尝试闭锁……": "试图锁定。请稍等…", - "清空记录": "清晰的记录", - "是否要删除操作记录?": "继续删除记录?", - "被删除的记录不能恢复": "记录删除后将无法恢复。", - "全部事件": "所有事件", - "开锁事件": "打开事件", - "异常事件": "异常事件", - "门铃事件": "门铃事件", - "视频事件": "视频事件", - "请开启蓝牙": "请打开蓝牙", - "请选择有效日": "请选择生效日期", - "公司名字长度不能小于 6 ": "公司名称的长度不能小于6", - "已是最新版本": "没有更新", - "一": "一个", - "二": "两个", - "三": "三个", - "四": "四个", - "五": "五个", - "六": "六个", - "日": "太阳", - "新建短信模版": "伟大的短信模板", - "新建邮件模版": "创建电子邮件模板", - "自定义短信模版": "短信模板", - "自定义邮件模版": "电子邮件模板", + "手动升级": "手動升級", + "设备连接中...": "設備正在連接...", + "未避免异常情况,请在门打开时升级": "不可避免的例外情況,請在艙門打開時升艙", + "钥匙无效": "密鑰無效", + "操作失败,请确认锁是否在附近,或重启手机蓝牙后再试。": "無法連接到鎖。請重新啟動手機嘅Blutooth並重試。", + "如果是全自动锁,请使屏幕变亮": "如果係全自動鎖,請讓屏幕更光", + "正在尝试闭锁……": "嘗試鎖定。 請稍候。。。", + "清空记录": "清除記錄", + "是否要删除操作记录?": "繼續刪除記錄?", + "被删除的记录不能恢复": "刪除後無法恢復記錄。", + "全部事件": "所有活動", + "开锁事件": "解鎖事件", + "异常事件": "異常事件", + "门铃事件": "門鈴事件", + "视频事件": "視頻事件", + "请开启蓝牙": "請打開Bluetooth", + "请选择有效日": "請選擇生效日期", + "公司名字长度不能小于 6 ": "公司名稱嘅長度唔可以小於6", + "已是最新版本": "無更新", + "一": "一", + "二": "二", + "三": "三", + "四": "四", + "五": "五", + "六": "六", + "日": "太陽", + "新建短信模版": "創建SMS糢闆", + "新建邮件模版": "創建電子郵件糢闆", + "自定义短信模版": "短信糢闆", + "自定义邮件模版": "電子郵件糢闆", "名称": "名字", - "星星锁": "星锁", - "无考勤记录": "没有记录", - "大家干劲十足": "每个人都及时到来", - "工作时长未出炉": "无工作时间", - "国家地区的选择将影响数据安全,你当前选择的是阿尔巴尼亚,请确认后再继续": "国家/地区的选择会影响数据安全。您目前已选择阿尔巴尼亚,请确认后再继续。", - "确认国家或地区": "确认国家/地区", - "我知道了": "明白了吗", - "为了让您及时收到重要通知和更新,我们需要获取通知权限。请点击“确定”按钮,然后在设置页面中启用通知权限。": "要接收重要的更新,请点击“确定”并在设置中启用通知。", - "开启后,可通过长按锁上的设置键重新上电,用APP重新添加": "开机后,可以长按锁上的设置键重新开机,用APP重新添加", - "已有": "当前的", - "新增": "新", - "账号格式错误": "坏的格式", - "接收者信息为空": "收件人信息为空", - "请输入时间(秒)": "请输入时间(秒)", - "加载数据失败": "加载数据失败", - "重试": "再试一次", - "升级中,是否退出": "升级过程中,是否退出", - "下一步": "下一个", + "星星锁": "星形鎖", + "无考勤记录": "暫無記錄", + "大家干劲十足": "個個都及時嚟", + "工作时长未出炉": "無工作時間", + "国家地区的选择将影响数据安全,你当前选择的是阿尔巴尼亚,请确认后再继续": "國家/地區嘅選擇會影響數據安全。 你目前已選擇阿爾巴尼亞,請繼續之前確認緊。", + "确认国家或地区": "確認國家/地區", + "我知道了": "明喇", + "为了让您及时收到重要通知和更新,我们需要获取通知权限。请点击“确定”按钮,然后在设置页面中启用通知权限。": "要接收重要更新,請單擊“確定”並喺設置中啟用通知。", + "开启后,可通过长按锁上的设置键重新上电,用APP重新添加": "開機後可以透過長按鎖上嘅設置鍵重新開機,並透過APP添加番", + "已有": "當前", + "新增": "新增功能", + "账号格式错误": "格式錯誤", + "接收者信息为空": "收件人信息為空", + "请输入时间(秒)": "請輸入時間(秒)", + "加载数据失败": "加載數據失敗", + "重试": "試多次", + "升级中,是否退出": "升級過程中,是否退出", + "下一步": "下一個", "公寓": "公寓", - "个人用户": "个人", - "星寓": "明星的公寓", - "账号": "账户", - "请输入手机号或email": "电话号码或电邮地址", - "请输入星寓管理员的账号": "请输入星级公寓管理员账号", - "选中的智能锁将会转移到您输入的账号中,您将失去锁的管理权": "所选锁的所有数据将永久传输给接收方。", - "暂不支持跨平台转移,敬请期待": "跨平台传输暂时不支持,敬请期待", - "移除坏锁": "移动故障/损坏的锁到垃圾桶", - "转移确认": "确认转让", - "本次共转移": "这次共", - "把智能锁": "智能锁", - "确认": "好吧", - "移除成功": "删除成功", - "转移成功": "转移成功", - "该已锁被删除": "被锁的被删除", - "授权管理员只能查看和管理自己下发的钥匙、密码等权限": "被授权的管理员只能管理自己创建的密码、密钥等。", - "添加授权管理员": "创建管理", - "导出记录": "出口记录", - "选择时间段": "选择时间段", + "个人用户": "個人", + "星寓": "Star apartment (星辰公寓)", + "账号": "帳戶", + "请输入手机号或email": "電話號碼或電子郵件", + "请输入星寓管理员的账号": "請輸入星際公寓管理員嘅賬號", + "选中的智能锁将会转移到您输入的账号中,您将失去锁的管理权": "所選鎖嘅所有數據將永久傳輸畀接收者。", + "暂不支持跨平台转移,敬请期待": "暫時唔撐跨平台傳輸,敬請期待", + "移除坏锁": "將故障/損壞的鎖移至廢紙簍", + "转移确认": "確認轉移", + "本次共转移": "今次一共", + "把智能锁": "智能鎖", + "确认": "仲可以", + "移除成功": "刪除成功", + "转移成功": "傳輸成功", + "该已锁被删除": "鎖定嘅已刪除", + "授权管理员只能查看和管理自己下发的钥匙、密码等权限": "授權管理員只能打理自己創建嘅密碼、ekeys等。", + "添加授权管理员": "創建Admin", + "导出记录": "導出記錄", + "选择时间段": "選擇時間段", "导出": "出口", - "批量导出": "批量出口", - "读取记录": "刷新记录", - "设备": "设备", + "批量导出": "批量導出", + "读取记录": "刷新記錄", + "设备": "裝置", "消息": "消息", "智能分析": "智能分析", - "精准识别设备事件,过滤无效信息": "准确识别设备事件,过滤掉无效信息", - "系统设置": "系统设置", - "系统的全局配置在此项内进行设置": "在此设置系统的全局配置", - "导出操作记录": "出口记录", - "立即查看": "视图", - "导出成功": "导出成功", - "发送钥匙": "发送ekey", + "精准识别设备事件,过滤无效信息": "準確識別設備事件並過濾掉無效信息", + "系统设置": "系統設置", + "系统的全局配置在此项内进行设置": "系統嘅全局配置在此項中設置", + "导出操作记录": "導出記錄", + "立即查看": "视圖", + "导出成功": "導出成功", + "发送钥匙": "發送ekey", "进度": "率", - "失败": "失败的", - "人脸详情": "面对细节", - "感应到门前约1.5米有人时,将自动启动面部识别开锁。": "当感应到门前1.5米左右有人时,人脸识别解锁会自动启动。", - "感应到门前约0.8米有人时,将自动启动面部识别开锁。": "当感应到门前0.8米左右有人时,人脸识别解锁会自动启动。", - "感应到门前约0.5米有人时,将自动启动面部识别开锁。": "当感应到门前0.5米左右有人时,人脸识别解锁会自动启动。", - "感应距离已关闭,需手动触摸键盘任意键,进行面部识别开锁。": "感应距离已关闭,您需要手动触摸键盘上的任意键进行人脸识别解锁。", - "防误开已打开,开锁后": "防误开启已开启,解锁后", - "秒内不可使用面容开锁": "面部解锁不能在几秒钟内使用", - "掌静脉": "手掌静脉", - "添加掌静脉": "添加掌脉", - "胁迫掌静脉": "强迫掌静脉", - "请不要将胁迫掌静脉用于日常开锁": "请不要使用强制掌纹进行日常解锁", - "已连接到锁,请自然张开手掌,掌心正对摄像头": "接通锁后,请自然张开手掌,掌心正对摄像头", - "掌静脉详情": "手掌静脉细节", - "掌静脉号": "掌脉数", - "蓝牙未打开,请到设置里面打开蓝牙": "蓝牙未开启,请在设置中开启蓝牙", - "删除用户时,会将用户拥有的钥匙一起删除。": "如果用户被删除,与该用户关联的所有ekey也将被删除。", - "配置网络": "配置网络", + "失败": "失敗", + "人脸详情": "人面細節", + "感应到门前约1.5米有人时,将自动启动面部识别开锁。": "当感應到門前約1.5米处有人時,會自動啟動人面識別解鎖。", + "感应到门前约0.8米有人时,将自动启动面部识别开锁。": "当感應到門前約0.8米处有人時,會自動啟動人面識別解鎖。", + "感应到门前约0.5米有人时,将自动启动面部识别开锁。": "当感應到門前約0.5米处有人時,會自動啟動人面識別解鎖。", + "感应距离已关闭,需手动触摸键盘任意键,进行面部识别开锁。": "感應距離已關閉,你需要手動觸摸鍵盤上嘅任意鍵才能進行人面識別解鎖。", + "防误开已打开,开锁后": "防錯開啟已開啟,解鎖後", + "秒内不可使用面容开锁": "秒內無法使用人面解鎖", + "掌静脉": "手掌靜脈", + "添加掌静脉": "添加手掌靜脈", + "胁迫掌静脉": "手掌靜脈受力", + "请不要将胁迫掌静脉用于日常开锁": "請不要使用脅迫手掌靜脈進行日常解鎖", + "已连接到锁,请自然张开手掌,掌心正对摄像头": "連接鎖時,請自然張開手掌,手掌正對著攝像頭", + "掌静脉详情": "手掌靜脈細節", + "掌静脉号": "手掌靜脈數", + "蓝牙未打开,请到设置里面打开蓝牙": "藍牙未開啟,請喺設置中打開藍牙", + "删除用户时,会将用户拥有的钥匙一起删除。": "如果用戶被刪除,則與該用戶關聯嘅任何ekey都將被刪除。", + "配置网络": "配置網絡", "你好": "你好", "成功": "成功的", - "类型选择": "类型选择", - "请选择要使用哪种类型": "请选择要使用的类型", - "系统邮件(推荐)": "系统邮件(推荐)", - "系统短信(推荐)": "系统短信(推荐)", - "邮件将从软件平台直接发给用户,请根据需要在软件里购买邮件数量。": "邮件将从这个应用程序发送。请先购买邮件包。", - "短信将从软件平台直接发给用户,请根据需要在软件里购买短信数量。": "短信将从这个应用程序发送。请先购买电子邮件包。", - "个人邮件": "个人电子邮件", - "个人短信": "个人短信", - "邮件将从你的个人邮箱发给用户": "电子邮件将从您的个人电子邮件帐户发送。", - "短信将从你的个人手机号发给用户,费用由运营商从你的手机号扣除": "短信将从您的个人电话号码发送。你付钱给你的电信运营商。", - "为了更好地应用体验,请确定权限": "为了获得更好的应用体验,请确认权限", - "您第一次拒绝权限,请确定权限": "您是第一次拒绝权限,请确认权限", - "您第二次拒绝权限,请去应用设置开启权限": "您第二次拒绝了权限,请转到应用程序设置中启用权限", - "去应用市场": "去应用商店", - "温馨提示": "温馨提示", - "关闭应用": "关闭应用程序", - "开启微信接收报警消息需要先关注": "打开微信接收告警信息,需要执行以下操作", - "微信公众号,请保存二维码并使用微信扫一扫设置": "微信公众号,保存二维码,使用微信扫描设置", - "实名认证为付费功能,请联系锁的管理员购买后再使用": "实名认证为付费功能,请联系锁具管理员购买和使用", - "位置权限": "位置的许可", - "请开启位置权限,应用需要位置权限才可以完成智能锁和网关的蓝牙操作": "请允许应用程序使用您的位置。用于扫描BLE锁和网关。", - "相机/相册权限": "相机/相册权限", - "请开启本地存储权限,允许应用读写设备上的照片及文件": "请允许应用程序从存储中读取和写入照片和文件。", - "点击选择": "按此选择", + "类型选择": "鍵入select", + "请选择要使用哪种类型": "請選擇要使用的類型", + "系统邮件(推荐)": "系統電子郵件(推薦)", + "系统短信(推荐)": "系統短信(推薦)", + "邮件将从软件平台直接发给用户,请根据需要在软件里购买邮件数量。": "電子郵件將從此應用程序發送,請購買電子郵件包先。", + "短信将从软件平台直接发给用户,请根据需要在软件里购买短信数量。": "短信將從此應用程序發送,請購買電子郵件包先。", + "个人邮件": "個人電子郵件", + "个人短信": "個人短信", + "邮件将从你的个人邮箱发给用户": "該電子郵件將由您的個人電子郵件帳戶發送。", + "短信将从你的个人手机号发给用户,费用由运营商从你的手机号扣除": "短信將由您的個人電話號碼發送。 你向電信運營商付款。", + "为了更好地应用体验,请确定权限": "為咗獲得更好嘅應用程序體驗,請確認權限", + "您第一次拒绝权限,请确定权限": "你第一次拒絕權限,請確認權限", + "您第二次拒绝权限,请去应用设置开启权限": "你第二次拒絕了權限,請前往應用程序設置以啟用權限", + "去应用市场": "前往應用商店", + "温馨提示": "溫馨提示", + "关闭应用": "關閉應用程序", + "开启微信接收报警消息需要先关注": "打開微信接收告警消息,需要關注", + "微信公众号,请保存二维码并使用微信扫一扫设置": "微信公眾號,保存二維碼並使用微信掃描設置", + "实名认证为付费功能,请联系锁的管理员购买后再使用": "实名認證為付費功能,請聯繫鎖管理員購買使用", + "位置权限": "位置權限", + "请开启位置权限,应用需要位置权限才可以完成智能锁和网关的蓝牙操作": "請授權App使用您的位置。 它用于掃描BLE鎖和網关。", + "相机/相册权限": "相機/相冊權限", + "请开启本地存储权限,允许应用读写设备上的照片及文件": "請授權應用程序由存儲中讀取和寫入照片和文件。", + "点击选择": "單擊以選擇", "微信": "微信", - "朋友圈": "时刻", - "QQ": "QQ", - "QQ空间": "时不时神光", + "朋友圈": "時刻", + "QQ": "QQ客服", + "QQ空间": "QQ一", "微博": "微博", - "FaceBook": "脸谱网", - "链接": "链接", - "今天": "今天", - "密码错误": "无效的密码", - "网络中断": "网络中断", - "钥匙不存在": "键不存在", - "钥匙过期": "关键过期", - "钥匙已存在": "密钥已存在", - "密码失效": "密码无效", - "门锁时间异常": "门锁时间异常", - "APP(手机)未联网": "APP(手机)未连接互联网", - "数据不存在": "数据不存在", - "待接收": "BeReceived", - "已冻结": "冻", - "已删除": "删除", - "未知": "未知的", - "拖动下方滑块完成拼图": "将滑块拖动到正确的位置", - "验证成功": "验证成功", - "验证失败": "验证失败", - "向右拖动滑块填充拼图": "向右拖动滑块来填充拼图", - "请先获取到位置信息哦": "请先获取位置信息", - "请选择国家": "请选择国家", - "获取锁信息": "获取锁信息", - "锁数据异常,请重试": "锁数据异常,请重试", - "连接设备中...": "连接设备……", - "把锁": "锁", - "条": "带", + "FaceBook": "臉書", + "链接": "連結", + "今天": "今日", + "密码错误": "密碼無效", + "网络中断": "網絡中斷", + "钥匙不存在": "密鑰唔存在", + "钥匙过期": "密鑰已過期", + "钥匙已存在": "密鑰已存在", + "密码失效": "密碼無效", + "门锁时间异常": "門鎖時間異常", + "APP(手机)未联网": "APP (手機)未連接互聯網", + "数据不存在": "數據唔存在", + "待接收": "被接收", + "已冻结": "冷凍", + "已删除": "刪除", + "未知": "未知", + "拖动下方滑块完成拼图": "將滑塊拖動到正確嘅位置", + "验证成功": "驗證成功", + "验证失败": "驗證失敗", + "向右拖动滑块填充拼图": "向右拖動滑塊以填充拼圖", + "请先获取到位置信息哦": "請先獲取位置信息", + "请选择国家": "請選擇一個國家", + "获取锁信息": "獲取鎖定信息", + "锁数据异常,请重试": "鎖定數據異常,請重試", + "连接设备中...": "正在連接設備...", + "把锁": "鎖", + "条": "帶", "封": "密封", "次": "次", "支付成功": "支付成功", - "查看详情": "查看详细信息", - "请输入模板名称": "请输入模板名称", - "模版类型": "类型", - "再返回一次退出": "再退出", - "请先添加锁": "请先加锁", - "可视对讲": "可视对讲系统", - "详细日志": "详细的日志", - "已复制到剪切板": "复制", - "拍照": "照片", - "从相册选择": "从相册中选择", - "选择问题": "请选择问题", - "确认长度不足8位": "确认长度小于8位", - "新密码长度不足8位": "新密码长度小于8位", - "两次密码不一致": "密码不匹配。请再试一次", - "请点击获取验证码,验证码将发送到": "请获取验证码。代码将被发送到", - "切换": "开关", - "验证": "验证", - "验证成功,账号已删除": "验证成功,帐户已删除", - "该密码不是自定义密码,无法修改": "该密码不是自定义密码,不能修改", - "请选择设备要关联哪些姓名": "请选择该设备应关联的名称", - "请选择姓名要关联哪些设备": "请选择该名称应关联的设备", - "确定要移除所选中的坏锁吗?": "拆下故障锁?", - "邮件通知": "通过电子邮件通知", - "短信通知": "短信通知", - "您好,您的授权管理员生成成功": "您好,您的授权管理员已成功生成", - "请输入接收者姓名": "请在这里输入", + "查看详情": "查看詳情", + "请输入模板名称": "請輸入糢闆名稱", + "模版类型": "類型", + "再返回一次退出": "再次退出", + "请先添加锁": "請先添加鎖", + "可视对讲": "可視對講", + "详细日志": "詳細日誌", + "已复制到剪切板": "複製", + "拍照": "相片", + "从相册选择": "從相冊中選擇", + "选择问题": "請選擇一個問題", + "确认长度不足8位": "確認長度小於8位", + "新密码长度不足8位": "新密碼長度小於8位", + "两次密码不一致": "密碼唔匹配。請重試", + "请点击获取验证码,验证码将发送到": "請獲取驗證碼。 該代碼將被發送到", + "切换": "開關", + "验证": "驗證", + "验证成功,账号已删除": "驗證成功,帳戶已刪除", + "该密码不是自定义密码,无法修改": "此密碼唔係自定義密碼,無法修改", + "请选择设备要关联哪些姓名": "請選擇設備應關聯嘅名稱", + "请选择姓名要关联哪些设备": "請選擇名稱應與哪些設備關聯", + "确定要移除所选中的坏锁吗?": "移除故障鎖?", + "邮件通知": "透過電子郵件通知", + "短信通知": "透過SMS通知", + "您好,您的授权管理员生成成功": "您好,您的授權管理員已成功生成", + "请输入接收者姓名": "請在此處輸入", "版本更新": "版本更新", "下次再说": "下次", - "配网成功": "网络分销成功", - "配网失败": "网络分发失败", - "该锁的无线键盘都将被删除": "此锁的所有无线键盘将被删除", - "实时画面": "实时图片", - "适合门口较为安全的环境。": "适用于相对安全的门口环境。", - "仅发生特定事件才录像,并可查看实时画面。": "只记录特定的事件,可以查看实时画面。", - "一般情况下,满电可使用7-8个月": "正常情况下,充满电后可使用7-8个月", - "有人逗留或发生特定事件才录像,可随时查看": "有人停留或特定事件被记录下来,可以随时查看", - "实时画面。": "实时画面。", - "一般情况下,满电可使用5~6个月。": "正常情况下,充满电后可使用5~6个月。", - "适合门口人员复杂、较不安全的环境。": "适用于复杂且相对不安全的门口环境。", - "有人出现就录像,可随时查看实时画面。": "有人出现时进行记录,随时查看实时画面。", - "一般情况下,满电可使用2~4个月。": "正常情况下,充满电后可使用2~4个月。", - "根据您家门口实际情况设置录像和实时画面功能。": "根据门口的实际情况设置视频和实时图片功能。", - "可使用时长由具体设置决定。": "使用时间由具体设置决定。", - "查看": "视图", - "有人按门铃或发生": "有人按门铃或者", - "异常事件时": "异常事件", - "不录像": "没有视频", - "有人出现、按门铃": "有人出现,按了门铃", - "或发生异常事件时": "或者发生异常事件", + "配网成功": "網絡派成功", + "配网失败": "網絡派失敗", + "该锁的无线键盘都将被删除": "此鎖嘅所有無線鍵盤都將被刪除", + "实时画面": "實時圖片", + "适合门口较为安全的环境。": "適用於門口相對安全嘅環境。", + "仅发生特定事件才录像,并可查看实时画面。": "僅記錄特定事件,並可查看實時圖。", + "一般情况下,满电可使用7-8个月": "一般情況下,充滿電後可使用7-8個月", + "有人逗留或发生特定事件才录像,可随时查看": "有人入住或記錄特定事件,並且可以隨時查看", + "实时画面。": "實時圖片。", + "一般情况下,满电可使用5~6个月。": "一般情況下,充滿電後可使用5~6個月。", + "适合门口人员复杂、较不安全的环境。": "適用於複雜且相對唔安全嘅門口環境。", + "有人出现就录像,可随时查看实时画面。": "記錄有人出現時,隨時查看實時圖。", + "一般情况下,满电可使用2~4个月。": "一般情況下,充滿電後可使用2~4個月。", + "根据您家门口实际情况设置录像和实时画面功能。": "根據你屋企門口嘅實際情況設置視頻和實時圖功能。", + "可使用时长由具体设置决定。": "使用持續時間由具體設置決定。", + "查看": "视圖", + "有人按门铃或发生": "有人按門鈴定", + "异常事件时": "異常事件", + "不录像": "無視頻", + "有人出现、按门铃": "有人出現,按了門鈴", + "或发生异常事件时": "或發生異常事件", "逗留达到10秒": "停留10秒", - "约1.5米": "约1.5米", - "随时": "任何时候", - "立即录像": "立即记录", - "录像时机": "视频时间", - "有人出现时录像": "记录某人出现的时间", - "人体侦测距离": "人体探测距离", - "查看实时画面": "查看实时图片", - "自定义时间": "自定义时间", - "当日": "今天", - "次日": "第二天", - "自定义时段": "自定义时间段", - "发生事件时查看": "查看事件发生的时间", - "实时查看": "实时视图", - "有人在门口出现10秒后开始录像。": "有人在门口出现了10秒钟才开始录音。", - "有人按门铃时立即录像。": "当有人按门铃时,立即记录。", - "有人出现在门前1.5米范围时启动录像": "当有人出现在门前1.5米范围内时开始录制", - "约0.8米": "约0.8米", - "约3.0米": "约3.0米", - "添加指纹失败": "操作失败。", - "项": "项目", + "约1.5米": "約1.5米", + "随时": "隨時", + "立即录像": "立即錄製", + "录像时机": "視頻計時", + "有人出现时录像": "錄製某人出現時", + "人体侦测距离": "人體檢測距離", + "查看实时画面": "查看實時圖", + "自定义时间": "自定義時間", + "当日": "今日", + "次日": "翌", + "自定义时段": "自定義時間段", + "发生事件时查看": "查看事件發生嘅時間", + "实时查看": "實時視圖", + "有人在门口出现10秒后开始录像。": "有人在錄製前出現喺門口10秒鐘。", + "有人按门铃时立即录像。": "當有人按門鈴時立即錄製。", + "有人出现在门前1.5米范围时启动录像": "当門前1.5米範圍內有人出現時開始錄製", + "约0.8米": "約0.8米", + "约3.0米": "約3.0米", + "添加指纹失败": "操作失敗。", + "项": "項目", "播放中": "玩", - "下载": "下载", - "暂无下载内容": "无下载内容", + "下载": "下載", + "暂无下载内容": "無下載內容", "亮度": "亮度", - "音量": "体积", - "快进至": "快进到", - "快退至": "倒带,", - "暂无视频信息": "无视频信息", - "加载出错": "加载错误", - "请单人正对门锁,距离一个成年人手臂长度": "请独自站在门锁前,与门锁保持一臂的距离", - "(约0.6米)。": "(约0.6米)。", - "保持脸部无遮挡,露出五官。": "保持面部畅通,展示面部特征。", - "准备好了,开始添加": "准备好,开始添加", - "正在录入中...": "记录……", - "添加人脸失败": "添加脸失败", - "重置后,该锁的人脸都将被删除哦,确认要重置吗?": "重置后,锁的面将被删除。你确定要重置吗?", - "人脸号": "面对数量", - "虹膜详情": "虹膜的细节", - "虹膜号": "虹膜数量", - "选择设备类型": "选择设备类型", - "照明灯具": "照明灯具", - "电动窗帘": "电动窗帘", - "门窗传感器": "门窗传感器", - "传感器": "传感器", - "清除数据成功": "数据清除成功", - "1.锁没有联网,密码、IC卡、指纹等开门记录无法实时上传,可以点击右上角按钮,然后读取记录。": "锁具没有联网,无法实时上传密码、刷卡、指纹等开门方式的记录。", - "2.如果您需要保留历史记录,可以点击右上角按钮,然后导出记录": "如果需要保留历史记录,可以将历史记录导出。", - "看不到操作记录,可能原因有": "无法看到操作记录,可能原因", - "操作记录详情": "操作记录明细", - "操作时间": "操作时间", - "此模块功能需要锁联网后设置方可生效": "此模块功能需要在锁连接到互联网后进行设置才能生效", - "用户已存在": "用户已存在", - "钥匙数量已到上限": "键数已达到上限", - "附近没有可用网关": "附近没有可用的网关", - "正在创建安全连接...": "创建安全连接…", - "监视状态下不能发送录音": "监控模式下无法发送录音", - "挂断": "挂断电话", - "监视中暂不能开锁": "在监控期间不可解锁", - "长按说话": "长按说话", - "松开发送": "释放发送", - "请输入6位数字开锁密码": "请输入6位数的解锁密码", - "请输入开锁密码": "请输入解锁密码", - "接收者在有效期内可以不限次数使用": "收件人可在有效期内无限次使用电子密钥。", - "接收者可以使用此App开关锁": "收件人可以通过此应用程序锁定/解锁。", - "单次钥匙有效期为1小时,只能使用一次": "“一次性钥匙”有效期为一小时,只能使用一次。", - "接收者可以在有效期内的固定时间段里,不限次数使用": "收件人可以在固定的周期内无限次地使用密钥。", - "获取模板失败": "日志含义获取模板失败", + "音量": "卷", + "快进至": "快入到", + "快退至": "倒回到", + "暂无视频信息": "無視頻信息", + "加载出错": "加載錯誤", + "请单人正对门锁,距离一个成年人手臂长度": "請獨自站在門鎖前,保持一臂距離", + "(约0.6米)。": "(約0.6米)。", + "保持脸部无遮挡,露出五官。": "保持面部暢通無阻,露出五官。", + "准备好了,开始添加": "準備好,開始添加", + "正在录入中...": "錄音。。。", + "添加人脸失败": "添加人面失敗", + "重置后,该锁的人脸都将被删除哦,确认要重置吗?": "重置之後,鎖嘅面將被刪除。 你確定要重置啊?", + "人脸号": "面數", + "虹膜详情": "鳶尾花詳細信息", + "虹膜号": "虹膜數", + "选择设备类型": "選擇設備類型", + "照明灯具": "照明設備", + "电动窗帘": "電動窗簾", + "门窗传感器": "門窗傳感器", + "传感器": "傳感器", + "清除数据成功": "數據清除成功", + "1.锁没有联网,密码、IC卡、指纹等开门记录无法实时上传,可以点击右上角按钮,然后读取记录。": "該鎖未連接互聯網,因此無法實時上傳密碼、卡、指紋同其他開門方法嘅記錄。", + "2.如果您需要保留历史记录,可以点击右上角按钮,然后导出记录": "如果需要保留歷史記錄,可以導出它們。", + "看不到操作记录,可能原因有": "無法查看操作記錄,可能嘅原因", + "操作记录详情": "操作記錄詳細信息", + "操作时间": "操作時間", + "此模块功能需要锁联网后设置方可生效": "此糢塊功能需要喺鎖連接互聯網後設置才能生效", + "用户已存在": "用戶已存在", + "钥匙数量已到上限": "鍵數已達到上限", + "附近没有可用网关": "附近沒有可用的網關", + "正在创建安全连接...": "正在創建安全連接...", + "监视状态下不能发送录音": "無法在監控模式下發送錄製文件", + "挂断": "收線", + "监视中暂不能开锁": "監控期間無法解鎖", + "长按说话": "按住可講話", + "松开发送": "釋放以發送", + "请输入6位数字开锁密码": "請輸入6位數嘅解鎖密碼", + "请输入开锁密码": "請輸入解鎖密碼", + "接收者在有效期内可以不限次数使用": "收件人可以喺有效期內無限次使用ekey。", + "接收者可以使用此App开关锁": "收件人可以透過此應用程序鎖定/解鎖。", + "单次钥匙有效期为1小时,只能使用一次": "一次過ekey嘅有效期為1鐘頭,並且只能使用一次。", + "接收者可以在有效期内的固定时间段里,不限次数使用": "接收者可以喺固定嘅周期時間內無限次使用ekey。", + "获取模板失败": "無法獲取糢闆", "微信通知": "微信通知", - "系统短信": "系统短信", - "系统邮件": "系统邮件", - "模板": "模板", - "新建模版": "创建模板", - "您好,您的密码是": "你好,你的密码是", - "密码名字": "密码的名字", - "请输入6-9位密码": "请输入6-9位的密码", - "设置密码": "设置密码", - "操作成功,密码为": "成功了。密码是", - "类型:自定义-永久": "类型:Custom-Permanent", - "实时播放": "实时播放", - "点击对讲": "点击对讲机", - "长按开锁": "长按解锁", - "接听失败": "没能回答", - "请在锁设置中开启远程开锁": "请在锁定设置中开启远程解锁", - "接听": "回答", - "截图已保存到相册": "截图保存到相册", - "添加遥控": "添加远程控制", - "已连接到锁,请按遥控": "连接上锁后,请按下遥控器", - "遥控号": "遥控号码", - "遥控详情": "遥控细节", + "系统短信": "系統短信", + "系统邮件": "系統電子郵件", + "模板": "糢闆", + "新建模版": "創建糢闆", + "您好,您的密码是": "您好,您的密碼係", + "密码名字": "密碼名稱", + "请输入6-9位密码": "請輸入6-9位數字嘅密碼", + "设置密码": "設置密碼", + "操作成功,密码为": "成功。密碼為", + "类型:自定义-永久": "類型:定製-永久", + "实时播放": "實時回放", + "点击对讲": "點擊對講", + "长按开锁": "長按解鎖", + "接听失败": "未能回答", + "请在锁设置中开启远程开锁": "請在鎖設置中啟用遠程解鎖", + "接听": "答", + "截图已保存到相册": "屏幕截图保存到相冊", + "添加遥控": "添加遙控器", + "已连接到锁,请按遥控": "連接鎖,請按遙控器", + "遥控号": "遙控號碼", + "遥控详情": "遙控詳情", "照明": "照明", "退出演示模式": "退出演示模式", - "提示:当前界面为展示界面,添加设备后才能继续使用": "提示:当前接口是显示接口。添加设备后,您可以继续使用设备", - "门已上锁": "门是锁着的", - "您的账号在异地登录,如非本人,请尽快修改密码": "您的帐户已用于从新设备登录", - "开门成功": "成功开门", - "开门失败": "没能打开门", - "呼叫提醒": "电话提醒", - "收到来自": "收到", - "锁的呼叫": "锁调用", - "加载数据中": "加载数据", - "搜索所有锁类型": "搜索所有锁类型", - "锁电量更新时间": "锁定电池更新时间", + "提示:当前界面为展示界面,添加设备后才能继续使用": "提示:當前接口為顯示接口。 添加設備後,您可以繼續使用它", + "门已上锁": "門已鎖上", + "您的账号在异地登录,如非本人,请尽快修改密码": "您的帳戶已用于由新設備登錄", + "开门成功": "成功開門", + "开门失败": "無法打開門", + "呼叫提醒": "來電提醒", + "收到来自": "接收自", + "锁的呼叫": "鎖定調用", + "加载数据中": "加載數據", + "搜索所有锁类型": "搜索所有鎖類型", + "锁电量更新时间": "鎖定電池更新時間", "1月": "1月", "2月": "2月", - "3月": "3月", - "4月": "4月", - "5月": "可以", - "6月": "小君", - "7月": "7月", - "8月": "8月", - "9月": "9月", + "3月": "三月", + "4月": "四月", + "5月": "五月", + "6月": "六月", + "7月": "七月", + "8月": "八月", + "9月": "九月", "10月": "10月", "11月": "11月", "12月": "12月", - "热门城市": "炎热的城市", - "导出锁数据": "导出锁数据", - "一键开锁": "一键解锁", - "已开通": "打开", - "英文": "英语", - "简体中文": "简体中文", + "热门城市": "熱門城市", + "导出锁数据": "導出鎖定數據", + "一键开锁": "一鍵解鎖", + "已开通": "打開", + "英文": "英文", + "简体中文": "簡體中文", "繁体中文": "繁體中文", - "法语": "Français", + "法语": "法文", "俄语": "Русский", - "德语": "Deutsch", + "德语": "德文", "日语": "日本語", "韩语": "한국어", "意大利语": "Italiano", "乌克兰语": "Українська", "葡萄牙语": "Português", - "西班牙语": "Español", + "西班牙语": "西班牙人", "阿拉伯语": "العربية", "越南语": "Tiếng Việt", - "马来语": "Bahasa Melayu", - "荷兰语": "Nederlands", - "罗马尼亚语": "Română", + "马来语": "馬來文", + "荷兰语": "荷蘭", + "罗马尼亚语": "羅曼", "立陶宛语": "Lietuvių", - "瑞典语": "Svenska", - "爱沙尼亚语": "Eesti", - "波兰语": "Polski", - "斯洛伐克语": "Slovenčina", + "瑞典语": "斯文斯卡", + "爱沙尼亚语": "埃斯蒂", + "波兰语": "波蘭", + "斯洛伐克语": "斯洛文尼亞", "捷克语": "Čeština", "希腊语": "Ελληνικά", "希伯来语": "עברית", "塞尔维亚语": "Српски", - "土耳其语": "Turkce", - "匈牙利语": "Magyar", + "土耳其语": "Türkçe", + "匈牙利语": "匈牙利嘅", "保加利亚语": "Български", "哈萨克斯坦语": "Қазақ", "孟加拉语": "বাংলা", - "克罗地亚语": "Hrvatski", + "克罗地亚语": "赫尔瓦茨基", "泰语": "ไทย", "印度尼西亚语": "Bahasa Indonesia", - "芬兰语": "Suomi", - "丹麦语": "Dansk", - "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "重置后,锁上的掌骨静脉会被删除。你确定要重置吗?", - "在线": "在线", - "离线": "离线", - "购买记录": "购买记录", - "使用记录": "用户记录", - "失效时间要大于当前时间": "过期时间必须大于当前时间", - "修改名字": "编辑的名字", - "时": "小时", - "分": "一分钟", - "Amazon Alexa": "亚马逊Alexa", - "您可以使用Alexa进行开锁、闭锁和查看锁状态": "您可以使用Alexa解锁,锁定和检查锁定状态", - "支持的国家": "支持国家", - "支持的国家值": "美国、加拿大、英国、澳大利亚、印度、德国、法国、意大利、西班牙、日本", - "操作流程": "操作过程", - "操作流程值": "1通过智能锁APP添加锁和网关\n\n2在APP中开启该锁的远程开锁功能(默认关闭)。如果你没有这个选项,锁不支持Alexa\n\n3向Alexa添加技能,并使用智能锁APP的账号和密码进行授权。授权成功后,可以发现该帐号下的设备\n\n4在Alexa app中找到需要解锁的锁,打开语音解锁功能,设置语言密码\n\n5锁可通过Alexa操作", - "Google Home": "谷歌的家", - "Action name": "动作名称", - "ScienerSmart": "ScienerSmart", - "支持的语言": "支持的语言", - "英语": "英语", - "Google Home操作流程的值": "1. 通过智能锁APP添加锁和网关\n\n2. 在APP中开启锁的远程开锁功能(默认关闭)。如果没有这个选项,锁不支持谷歌Home\n\n3. 安装谷歌Home APP,点击左上角的“+”按钮\n\n4. 在“设置”页面,选择“使用谷歌”。\n\n5. 搜索“ScienerSmart”,使用智能锁APP账号和密码进行授权", - "密码需至少包含数字/字母/字符中的2种组合": "密码必须包含数字、字母和特殊字符中的至少2种", - "已开锁": "解锁", - "已闭锁": "锁着的", - "两次密码不一致哦": "密码不一致", - "中功率": "媒介权力", - "常规使用": "经常使用", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "待设备上电后,长按复位键5秒,指示灯交替闪烁后,单击“下一步”", - "扫描设备": "扫描设备", - "删除失败,网关可能已经离线,是否强制删除该数据?": "删除失败。网关可能已经脱机。是否要强制删除数据?", - "超级管理员英文": "超级管理员", - "授权管理员英文": "使管理", - "普通管理员英文": "普通用户", - "网关设备英文": "网关设备", - "手机需联网英文": "手机需联网", + "芬兰语": "索米", + "丹麦语": "丹斯克", + "重置后,该锁的掌静脉都将被删除哦,确认要重置吗?": "重置後,鎖的掌靜脈將被刪除。 你確定要重置啊?", + "在线": "在線", + "离线": "離線", + "购买记录": "購買記錄", + "使用记录": "用戶記錄", + "失效时间要大于当前时间": "過期時間必須長於當前時間", + "修改名字": "編輯名稱", + "时": "小時", + "分": "分鐘", + "Amazon Alexa": "亞馬遜Alexa", + "您可以使用Alexa进行开锁、闭锁和查看锁状态": "你可以使用Alexa解鎖、鎖定和檢查鎖定狀態", + "支持的国家": "支持嘅國家/地區", + "支持的国家值": "美國、加拿大、英國、澳洲、印度、德國、法國、意大利、西班牙、日本", + "操作流程": "操作流程", + "操作流程值": "1使用智能鎖APP添加鎖和網關\n\n2喺APP中開啟鎖嘅遠程解鎖功能(該功能默認關閉)。 如果你冇此選項,則鎖唔撐Alexa\n\n3為Alexa添加技能,並使用Smart lock APP嘅賬號同密碼進行授權。 授權成功之後,你可以發現該賬號下嘅設備\n\n4喺Alexa App中搵到鎖,開啟語音解鎖功能,設置語言密碼\n\n5可以透過Alexa操作鎖", + "Google Home": "穀謌首頁", + "Action name": "操作名稱", + "ScienerSmart": "ScienerSmart智能", + "支持的语言": "支持嘅語言", + "英语": "英文", + "Google Home操作流程的值": "1.使用智能鎖APP添加鎖和網關\n\n2.喺APP中開啟鎖嘅遠程解鎖功能(此功能默認關閉)。 如果冇此選項,鎖唔撐Google Home\n\n3.安裝Google Home APP,點擊左上角嘅“+”按鈕\n\n4.在“設置”頁面上,選擇“與Google合作”\n\n5.搜索“ScienerSmart”,使用智能鎖APP賬號和密碼進行授權", + "密码需至少包含数字/字母/字符中的2种组合": "密碼必須至少包含以下2個:數字、字母同特殊字符", + "已开锁": "解鎖", + "已闭锁": "鎖", + "两次密码不一致哦": "密碼不一緻", + "中功率": "中等功率", + "常规使用": "經常使用", + "扫描设备": "掃描設備", + "删除失败,网关可能已经离线,是否强制删除该数据?": "刪除失敗。 網關可能已脫機。 是否要強制刪除數據?", + "超级管理员英文": "超級管理員", + "授权管理员英文": "設為admin", + "普通管理员英文": "普通用戶", + "网关设备英文": "網關", + "手机需联网英文": "需求網", "年简称": "Y", "月简称": "M", "日简称": "D", "时简称": "H", "分简称": "M", - "跟随系统": "跟踪系统", + "跟随系统": "跟隨系統", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "重置之後,鎖嘅指紋將被刪除。 你確定要重置它啊?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "重置之後,鎖嘅遙控器將被刪除。 是否要重置它?", + "版本说明": "版本說明", "一键登录": "一键登录" } \ No newline at end of file diff --git a/lan/lan_hr.json b/lan/lan_hr.json index 5af466ff..180f7b98 100644 --- a/lan/lan_hr.json +++ b/lan/lan_hr.json @@ -582,7 +582,6 @@ "商城": "Centar.", "我的": "Moj moj", "微信公众号推送": "Razgovaraj o javnom računu", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Da biste otvorili razgovor i primali alarmne poruke, morate obratiti pažnju na Skye Smart Lock čavrlja javni račun prvo, Molim spremite QR kod i koristite we chat za skeniranje postavke", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Pristup Bluetooth dozvolama je potreban za korištenje informacija o lokaciji funkcije dodavanja ključeva", "请输入Email": "Unesite svoj email", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Šifre nisu dosljedne", "中功率": "Srednja snaga", "常规使用": "Redovna upotreba", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Nakon što se prolaz ukljuèi, pritisnite i zadržite dugme za reset 5 sekundi, i kliknite Sljedeća kada svjetlost indikatora izmijeniti", "扫描设备": "Skeniraj uređaj", "删除失败,网关可能已经离线,是否强制删除该数据?": "Brisanje nije uspjelo. Prolaz je možda nestao. Želite li prisiliti brisati podatke?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Prati sistem:", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Nakon resetovanja, otisci brave će biti izbrisani. Jeste li sigurni da ga želite resetirati?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Nakon resetovanja, daljinski upravljač brave će biti izbrisan. Hoæeš da ga resetuješ?", + "版本说明": "Informacije o verziji", "一键登录": "Prijavljivanje jednog klika" } \ No newline at end of file diff --git a/lan/lan_hu.json b/lan/lan_hu.json index d1b2ebfd..71b13b85 100644 --- a/lan/lan_hu.json +++ b/lan/lan_hu.json @@ -1,6 +1,6 @@ { "星锁": "Star lock", - "锁通通": "Lock through", + "锁通通": "TTLock Pro", "点击开锁,长按闭锁": "Érintse fel, hogy kinyit, tartsa zárni", "考勤": "Látogatottság", "考勤设置": "Látogatottsági beállítások", @@ -582,7 +582,6 @@ "商城": "Mall", "我的": "My", "微信公众号推送": "Wechat nyilvános számla", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "A wechat megnyitásához a riasztási üzenetek fogadásához először a skye smart lock wechat nyilvános számlára kell figyelni, kérjük, mentse el a qr kódot és használja a wechat-et a beállítások beolvasásához", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "A bluetooth engedélyekhez való hozzáférés szükséges ahhoz, hogy a kulcs hozzáadása függvény helyének adatait használhassuk", "请输入Email": "Írja be az e-mail", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "A jelszavak nem következetesek", "中功率": "Közepes teljesítmény", "常规使用": "Rendszeres használat", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Miután az átjáró be van kapcsolva, nyomja meg és tartsa a reset gombot 5 másodpercig, és kattintson a következő gombra, amikor a jelző fény felváltva villog", "扫描设备": "Beolvasási eszköz", "删除失败,网关可能已经离线,是否强制删除该数据?": "A törlés nem sikerült. Az átjáró lehet, hogy offline lett. Szeretné kényszeríteni az adatok törlését?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Follow system", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "A reset után a zár ujjlenyomatai törlődnek. Biztos vagy benne, hogy vissza szeretné állítani?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "A reset után a zár távirányítója törlődik. Szeretné visszaállítani?", + "版本说明": "Versió leírás", "一键登录": "Egykattintásos bejelentkezés" } \ No newline at end of file diff --git a/lan/lan_id.json b/lan/lan_id.json index aa9cbd59..7604e091 100644 --- a/lan/lan_id.json +++ b/lan/lan_id.json @@ -582,7 +582,6 @@ "商城": "Mall", "我的": "My", "微信公众号推送": "Akun publik Wechat", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Untuk membuka wechat untuk menerima pesan alarm, Anda perlu perhatian Skye kunci pintar akun publik wechat terlebih dahulu, Harap simpan kode QR dan gunakan wechat untuk memindai pengaturan", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Akses ke Izin Bluetooth diperlukan untuk menggunakan informasi lokasi fungsi kunci Tambah", "请输入Email": "Masukkan Email anda", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Kata sandi tidak konsisten", "中功率": "Kekuatan sedang", "常规使用": "Penggunaan biasa", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Setelah gateway menyala, tekan dan tahan tombol reset selama 5 detik, dan klik berikutnya ketika lampu indikator berkedip secara bersamaan", "扫描设备": "Perangkat Pindai", "删除失败,网关可能已经离线,是否强制删除该数据?": "Penghapusan gagal. Gateway mungkin telah offline. Ingin menghapus data?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Sistem mengikuti", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Setelah mengulang, sidik jari kunci akan dihapus. Yakin ingin meresetnya?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Setelah reset, remote control kunci akan dihapus. Ingin mengatur ulang?", + "版本说明": "Catatan versi", "一键登录": "Masuk satu klik" } \ No newline at end of file diff --git a/lan/lan_it.json b/lan/lan_it.json index 8c8bb2fd..68d93fb7 100644 --- a/lan/lan_it.json +++ b/lan/lan_it.json @@ -582,7 +582,6 @@ "商城": "Centro commerciale", "我的": "Il mio", "微信公众号推送": "Conto pubblico Wechat", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Per aprire wechat per ricevere messaggi di allarme, è necessario prestare attenzione prima all'account pubblico Skye Smart Lock wechat, salva il codice QR e usa wechat per scansionare le impostazioni", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Per utilizzare le informazioni sulla posizione della funzione add key è necessario l'accesso alle autorizzazioni Bluetooth", "请输入Email": "Inserisci la tua email", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Le password sono incoerenti", "中功率": "Potenza media", "常规使用": "Uso regolare", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Dopo aver acceso il gateway, tenere premuto il pulsante di ripristino per 5 secondi e fare clic su Avanti quando l'indicatore luminoso lampeggia alternativamente", "扫描设备": "Dispositivo di scansione", "删除失败,网关可能已经离线,是否强制删除该数据?": "Eliminazione non riuscita. Il gateway potrebbe essere andato offline. Vuoi forzare l'eliminazione dei dati?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Seguire il sistema", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Dopo il reset, le impronte digitali del lucchetto verranno cancellate. Sei sicuro di volerlo resettare?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Dopo il reset, il telecomando del lucchetto verrà eliminato. Vuoi resettarlo?", + "版本说明": "Versione", "一键登录": "Accesso con un clic" } \ No newline at end of file diff --git a/lan/lan_ja.json b/lan/lan_ja.json index 80d86b8e..9dfb40de 100644 --- a/lan/lan_ja.json +++ b/lan/lan_ja.json @@ -582,7 +582,6 @@ "商城": "モール", "我的": "私の", "微信公众号推送": "Wechatパブリックアカウント", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Wechatを開いてアラームメッセージを受信するには、まずSkye Smart Lock wechat公開アカウントに注意を払う必要があります。QRコードを保存し、wechatを使用して設定をスキャンしてください。", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "追加キー機能の位置情報を使用するには、Bluetooth権限へのアクセスが必要です。", "请输入Email": "メールを入力", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "パスワードが一致しない", "中功率": "ミディアムパワー", "常规使用": "通常の使用", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "ゲートウェイの電源がオンになった後、リセットボタンを5秒間押し続け、インジケーターライトが交互に点滅したら [次へ] をクリックします。", "扫描设备": "スキャン装置", "删除失败,网关可能已经离线,是否强制删除该数据?": "削除に失敗しました。ゲートウェイがオフラインになった可能性があります。強制的にデータを削除しますか?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "システムに従う", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "リセット後、ロックの指紋は削除されます。リセットしてもよろしいですか。", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "リセット後、ロックのリモコンが削除されます。リセットしますか?", + "版本说明": "バージョン説明", "一键登录": "ワンクリックログイン" } \ No newline at end of file diff --git a/lan/lan_keys.json b/lan/lan_keys.json index 1a1db11a..2b4c4bb1 100755 --- a/lan/lan_keys.json +++ b/lan/lan_keys.json @@ -219,7 +219,7 @@ "添加网关": "添加网关", "重新通电": "重新通电", "指示灯": "指示灯", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步", + "网关通电后,长按重置按钮5秒,蓝色指示灯闪烁时点击下一步": "网关通电后,长按重置按钮5秒,蓝色指示灯闪烁时点击下一步", "选择网关": "选择网关", "不支持5G WiFi网络,请选择2.4G WiFi网络进行配置": "不支持5G WiFi网络,请选择2.4G WiFi网络进行配置", "WiFi密码": "WiFi密码", @@ -587,7 +587,6 @@ "商城": "mall", "我的": "my", "微信公众号推送": "微信公众号推送", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置", "蓝牙": "蓝牙", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "需要访问蓝牙权限才能使用添加钥匙功能的位置信息", "请输入Email": "请输入Email", @@ -788,7 +787,6 @@ "导出": "导出", "批量导出": "批量导出", "读取记录": "读取记录", - "手机需联网": "手机需联网", "设备": "设备", "消息": "消息", "智能分析": "智能分析", @@ -1090,7 +1088,6 @@ "修改名字": "修改名字", "时": "时", "分": "分", - "Amazon Alexa": "Amazon Alexa", "您可以使用Alexa进行开锁、闭锁和查看锁状态": "您可以使用Alexa进行开锁、闭锁和查看锁状态", "支持的国家": "支持的国家", @@ -1107,7 +1104,6 @@ "已开锁": "已开锁", "已闭锁": "已闭锁", "两次密码不一致哦": "两次密码不一致哦", - "中功率": "中功率", "常规使用": "常规使用", "扫描设备": "扫描设备", @@ -1123,5 +1119,8 @@ "时简称": "时简称", "分简称": "分简称", "跟随系统": "跟随系统", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "重置后,该锁的指纹都将被删除哦,确认要重置吗?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "重置后,该锁的遥控都将被删除哦,确认要重置吗?", + "版本说明": "版本说明", "一键登录": "一键登录" } diff --git a/lan/lan_kk.json b/lan/lan_kk.json index 7f2f0c8e..bddeb6ce 100644 --- a/lan/lan_kk.json +++ b/lan/lan_kk.json @@ -582,7 +582,6 @@ "商城": "Ескері", "我的": "Менін", "微信公众号推送": "Жалпы тіркелгі тіркеу", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Ескерту хабарламасын алу үшін, алдымен Skye Smart Lock wechat ашық тіркелгі тіркелгісін ашу керек. QR кодын сақтау және баптауларды сканың үшін wechat қолданыңын", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Кілттерді қосу функцияның орналасуы қолдану үшін Bluetooth рұқсаттарын қатынау керек еті", "请输入Email": "Эл. поштаңызды келтіріңіз", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Парольдер болмаған", "中功率": "Орташа қуары", "常规使用": "Қалыпты қолданылсын", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Келесі періңізнен соң, ысырып тасымалдау батырмасын басып 5 секунд басыңыз, Индикаторның жарықты ауыстырғанда, келесі басыңыз", "扫描设备": "Сканер құрылғысы", "删除失败,网关可能已经离线,是否强制删除该数据?": "Өшіру жаңылысы. Келесі жіберді. Деректерді өшіргіңіз келе ме?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Жүйені қолдану", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Қайта ысырып тастау Шынымен ысырып тастауды қалайсыз ба?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Қайта ысырып ысырып тасымалдауын өшіріледі. Оны ысырып тастауды қалайсыз ба?", + "版本说明": "Версиятын көрсету", "一键登录": "Бір шертті кіру" } \ No newline at end of file diff --git a/lan/lan_ko.json b/lan/lan_ko.json index 6b32e8d5..af8a531c 100644 --- a/lan/lan_ko.json +++ b/lan/lan_ko.json @@ -582,7 +582,6 @@ "商城": "몰", "我的": "내", "微信公众号推送": "위챗 공개 계정", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "경보 메시지를 받기 위해 wechat을 열려면 먼저 Skye Smart Lock wechat 공개 계정에주의를 기울여야합니다. QR 코드를 저장하고 wechat을 사용하여 설정을 스캔하십시오.", "蓝牙": "블루투스", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "추가 키 기능의 위치 정보를 사용하려면 Bluetooth 권한에 대한 액세스가 필요합니다.", "请输入Email": "이메일 입력", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "암호가 일치하지 않습니다.", "中功率": "중간 전력", "常规使用": "정사이즈 사용", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "게이트웨이의 전원이 켜진 후 5 초 동안 리셋 버튼을 누르고 누르고 표시등이 번갈아 깜박이면 다음 을 클릭하십시오.", "扫描设备": "스캔 장치", "删除失败,网关可能已经离线,是否强制删除该数据?": "삭제가 실패했습니다. 게이트웨이가 오프라인 상태일 수 있다. 강제로 데이터 삭제를 하시겠습니까?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "시스템을 따르십시오", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "재설정 후 잠금 장치의 지문이 삭제됩니다. 당신은 그것을 재설정 하시겠습니까?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "재설정 후 잠금 장치의 리모컨이 삭제됩니다. 당신은 그것을 재설정 하시겠습니까?", + "版本说明": "버전 설명", "一键登录": "원 클릭 로그인" } \ No newline at end of file diff --git a/lan/lan_lt.json b/lan/lan_lt.json index 95c8aaec..95763916 100644 --- a/lan/lan_lt.json +++ b/lan/lan_lt.json @@ -1,6 +1,6 @@ { "星锁": "Žvaigždžių užraktas", - "锁通通": "Lock through", + "锁通通": "TTLock Pro", "点击开锁,长按闭锁": "Palieskite atrakinti, laikykite užrakinti", "考勤": "Lankomumas", "考勤设置": "Lankomumo nustatymai", @@ -582,7 +582,6 @@ "商城": "Mall", "我的": "Mano", "微信公众号推送": "Wechat viešoji sąskaita", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Norėdami atidaryti „ wechat “, kad gautumėte signalizacijos pranešimus, pirmiausia reikia atkreipti dėmesį į „ skye smart lock wechat“ viešąją sąskaitą, įrašykite qr kodą ir naudokite „ wechat “, kad nuskaitytumėte nustatymus.", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Prieiga prie „ bluetooth “leidimų reikalinga norint naudoti rakto pridėties funkcijos vietos informaciją", "请输入Email": "Įveskite savo el. laišką", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Slaptažodžiai yra nenuoseklūs", "中功率": "Vidutinės galios", "常规使用": "Reguliarus naudojimas", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Įjungus vartus, 5 sekundes paspauskite ir palaikykite reset mygtuką ir spustelėkite toliau, kai indikatoriaus lemputė mirksi pakaitomis.", "扫描设备": "Nuskaitymo įrenginys", "删除失败,网关可能已经离线,是否强制删除该数据?": "Ištrynimas nepavyko. Vartai gali būti neprisijungę. Ar norite priversti ištrinti duomenis?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Sekti sistema", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Po reset užrakto pirštų atspaudai bus ištrinti. Ar tikrai norite jį atkurti?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Po reset, nuotolinis valdymo pultas užraktas bus ištrintas. Ar norite jį atkurti?", + "版本说明": "Versijos aprašymas", "一键登录": "Vieno paspaudimo prisijungimas" } \ No newline at end of file diff --git a/lan/lan_ms.json b/lan/lan_ms.json index 94dfbd52..c7c5f5d4 100644 --- a/lan/lan_ms.json +++ b/lan/lan_ms.json @@ -582,7 +582,6 @@ "商城": "Pusat membeli-belah", "我的": "Saya", "微信公众号推送": "Akaun awam Wechat", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Untuk membuka wechat untuk menerima mesej penggera, anda perlu memberi perhatian kepada Skye Smart Lock wechat akaun awam terlebih dahulu, sila simpan kod QR dan gunakan wechat untuk mengimbas tetapan", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Akses kepada kebenaran Bluetooth diperlukan untuk menggunakan maklumat lokasi fungsi tambah utama", "请输入Email": "Masukkan e-mel anda", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Kata laluan tidak konsisten", "中功率": "Kuasa sederhana", "常规使用": "Penggunaan biasa", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Selepas pintu masuk dihidupkan, tekan dan tahan butang reset selama 5 saat, dan klik seterusnya apabila lampu penunjuk berkelip bergantian", "扫描设备": "Imbas peranti", "删除失败,网关可能已经离线,是否强制删除该数据?": "Penghapusan gagal. Pintu masuk mungkin telah pergi di luar talian. Adakah anda mahu memaksa memadam data?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Ikut system", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Selepas menetapkan semula, cap jari kunci akan dipadamkan. Adakah anda pasti anda mahu menetapkan semula?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Selepas menetapkan semula, kawalan jauh kunci akan dipadamkan. Adakah anda mahu menetapkan semula?", + "版本说明": "Penerangan versi", "一键登录": "Log masuk satu klik" } \ No newline at end of file diff --git a/lan/lan_nl.json b/lan/lan_nl.json index b511e44f..9e1cf0f8 100644 --- a/lan/lan_nl.json +++ b/lan/lan_nl.json @@ -582,7 +582,6 @@ "商城": "Winkelcentrum", "我的": "Mijn", "微信公众号推送": "Wechat openbaar account", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Om wechat te openen om alarmberichten te ontvangen, moet u eerst aandacht besteden aan Skye Smart Lock wechat openbare account, sla de QR-code op en gebruik wechat om de instellingen te scannen", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Toegang tot Bluetooth-machtigingen is vereist om de locatie-informatie van de add-sleutelfunctie te gebruiken", "请输入Email": "Voer uw e-mail in", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "De wachtwoorden zijn inconsistent", "中功率": "Middelgroot vermogen", "常规使用": "Regelmatig gebruik", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Nadat de gateway is ingeschakeld, houdt u de resetknop 5 seconden ingedrukt en klikt u op Volgende wanneer het indicatielampje afwisselend knippert", "扫描设备": "Scan apparaat", "删除失败,网关可能已经离线,是否强制删除该数据?": "Verwijdering is mislukt. De gateway is mogelijk offline gegaan. Wilt u de gegevens forceren verwijderen?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Systeem volgen", - "一键登录": "Inloggen met één klik" + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Na het resetten worden de vingerafdrukken van het slot verwijderd. Weet je zeker dat je het wilt resetten?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Na het resetten wordt de afstandsbediening van het slot verwijderd. Wilt u het resetten?", + "版本说明": "Versieomschrijving", + "跟随系统": "Systeem volgen", } \ No newline at end of file diff --git a/lan/lan_pl.json b/lan/lan_pl.json index 7db037bd..d3d3cce4 100644 --- a/lan/lan_pl.json +++ b/lan/lan_pl.json @@ -582,7 +582,6 @@ "商城": "Centrum handlowe", "我的": "Mój", "微信公众号推送": "Konto publiczne Wechat", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Aby otworzyć wechat, aby otrzymywać komunikaty alarmowe, należy najpierw zwrócić uwagę na konto publiczne Wechat Skye Smart Lock, zapisz kod QR i użyj wechat, aby zeskanować Ustawienia", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Dostęp do uprawnień Bluetooth jest wymagany do korzystania z informacji o lokalizacji funkcji dodawania klucza", "请输入Email": "Wpisz swój e-mail", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Hasła są niespójne", "中功率": "Średnia moc", "常规使用": "Regularne stosowanie", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Po włączeniu bramy naciśnij i przytrzymaj przycisk resetowania przez 5 sekund i kliknij przycisk Dalej, gdy wskaźnik miga na przemian", "扫描设备": "Urządzenie skanujące", "删除失败,网关可能已经离线,是否强制删除该数据?": "Usunięcie nie powiodło się. Brama mogła zostać wyłączona. Czy chcesz wymusić usunięcie danych?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Śledź system", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Po zresetowaniu odciski palców zamka zostaną usunięte. Czy na pewno chcesz go zresetować?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Po zresetowaniu zdalne sterowanie zamkiem zostanie usunięte. Czy chcesz go zresetować?", + "版本说明": "Wersja", "一键登录": "Login jednym kliknięciem" } \ No newline at end of file diff --git a/lan/lan_pt.json b/lan/lan_pt.json index ae6701a6..7ab9de8b 100644 --- a/lan/lan_pt.json +++ b/lan/lan_pt.json @@ -582,7 +582,6 @@ "商城": "Shopping", "我的": "Meu", "微信公众号推送": "Conta pública Wechat", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Para abrir o wechat para receber mensagens de alarme, você precisa prestar atenção à conta pública do Skye Smart Lock wechat primeiro, salve o código QR e use o wechat para digitalizar as configurações", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Acesso a permissões Bluetooth é necessário para usar as informações de localização da função adicionar chave", "请输入Email": "Digite seu Email", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "As senhas são inconsistentes", "中功率": "Potência média", "常规使用": "Uso regular", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Depois que o gateway estiver ligado, pressione e segure o botão de reset por 5 segundos e clique em Next quando a luz indicadora pisca alternadamente", "扫描设备": "Digitalizar dispositivo", "删除失败,网关可能已经离线,是否强制删除该数据?": "A eliminação falhou. O gateway pode ter ficado offline. Você quer forçar a exclusão dos dados?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Siga o sistema", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Após a redefinição, as impressões digitais do bloqueio serão apagadas. Tens a certeza que queres redefini-lo?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Após a reinicialização, o controle remoto do bloqueio será excluído. Você quer redefini-lo?", + "版本说明": "Descrição da versão", "一键登录": "Login com um clique" } \ No newline at end of file diff --git a/lan/lan_ro.json b/lan/lan_ro.json index a7353714..c5769acb 100644 --- a/lan/lan_ro.json +++ b/lan/lan_ro.json @@ -582,7 +582,6 @@ "商城": "Mall", "我的": "Ma", "微信公众号推送": "Căutați contul public.", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Pentru a deschide chat pentru a primi mesaje de alarmă, trebuie să acordați atenție la Skye Smart Lock We chat cont public în primul rând, salvați codul QR și folosiți chat pentru a scana Setările", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Accesul la permisiunile Bluetooth este necesar pentru a utiliza informațiile de locație ale funcției de adăugare cheie", "请输入Email": "Introduceți email", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Parolele sunt inconsistente", "中功率": "Putere medie", "常规使用": "Utilizare regulată", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "După ce poarta este pornită, apăsați și țineți butonul de resetare timp de 5 secunde, și faceți clic pe Următor atunci când lumina indicatorului se aprinde alternativ.", "扫描设备": "Dispozitiv de scanare", "删除失败,网关可能已经离线,是否强制删除该数据?": "Ștergerea a eșuat. Poarta poate s-a oprit. Doriți să forțați ștergerea datelor?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Urmează sistemul:", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "După resetare, amprentele încuietorii vor fi şterse. Sigur doriți să-l resetați?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "După resetare, telecomanda de blocare va fi ştersă. Vrei să-l resetezi?", + "版本说明": "Descrierea versiunii", "一键登录": "Autentificare cu un singur clicName" } \ No newline at end of file diff --git a/lan/lan_ru.json b/lan/lan_ru.json index c42ca680..807f2594 100644 --- a/lan/lan_ru.json +++ b/lan/lan_ru.json @@ -582,7 +582,6 @@ "商城": "Торговый центр", "我的": "Мой", "微信公众号推送": "Публичный аккаунт Wechat", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Чтобы открыть WeChat для получения тревожных сообщений, вам необходимо сначала обратить внимание на общедоступную учетную запись WeChat Skye Smart Lock, сохраните QR-код и используйте WeChat для сканирования настроек.", "蓝牙": "Блютуз", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Доступ к разрешениям Bluetooth требуется для использования информации о местоположении функции добавления ключа", "请输入Email": "Введите свой адрес электронной почты", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Пароли являются несовместимыми", "中功率": "Средняя мощность", "常规使用": "Регулярное использование", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "После включения шлюза нажмите и удерживайте кнопку сброса в течение 5 секунд и нажмите «Далее», когда индикатор попеременно начнет мигать.", "扫描设备": "Устройство сканирования", "删除失败,网关可能已经离线,是否强制删除该数据?": "Ошибка удаления. Возможно, шлюз ушел в автономный режим. Хотите ли вы принудительно удалить данные?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Следуйте системе", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "После сброса отпечатки пальцев замка будут удалены. Вы уверены, что хотите его перезагрузить?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "После сброса пульт дистанционного управления замком будет удален. А вы хотите его сбросить?", + "版本说明": "Объяснение версии", "一键登录": "Вход в один клик" } \ No newline at end of file diff --git a/lan/lan_sk.json b/lan/lan_sk.json index 1474475a..aa3e342d 100644 --- a/lan/lan_sk.json +++ b/lan/lan_sk.json @@ -582,7 +582,6 @@ "商城": "Mall", "我的": "My", "微信公众号推送": "Wechat verejný účet", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Ak chcete otvoriť wechat pre prijímanie poplašných správ, musíte venovať pozornosť skye smart lock wechat verejný účet najprv, prosím, uložiť qr kód a použiť wechat pre skenovanie nastavenia", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Prístup k oprávneniam bluetooth je potrebný na použitie informácií o polohe funkcie pridať kľúča", "请输入Email": "Zadajte svoj e-mail", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Heslá sú nekonzistentné", "中功率": "Stredný výkon", "常规使用": "Pravidelné použitie", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Po zapnutí brány stlačte a podržte tlačidlo reset po dobu 5 sekúnd a kliknite na ďalšie, keď indikátorové svetlo záblesky striedavo", "扫描设备": "Skenovanie zariadenia", "删除失败,网关可能已经离线,是否强制删除该数据?": "Vymazanie sa nepodarilo. Brána môže ísť offline. Chcete vynútiť odstránenie údajov?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Sledovať systém", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Po resetovaní budú prstové odtlačky zámku vymazané. Ste si istí, že chcete obnoviť?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Po resetovaní bude diaľkové ovládanie zámku vymazané. Chcete ho obnoviť?", + "版本说明": "Popis verzie", "一键登录": "Prihlásenie jedným kliknutím" } \ No newline at end of file diff --git a/lan/lan_sr_cyrl.json b/lan/lan_sr_cyrl.json index 53981179..18bf31eb 100644 --- a/lan/lan_sr_cyrl.json +++ b/lan/lan_sr_cyrl.json @@ -181,7 +181,7 @@ "隐藏无效开锁权限": "Сакриј неважећи приступ", "APP开锁时需手机连网的锁": "Браве које захтевају телефон на мрежи", "增值服务": "Услуге", - "关于": "O nama", + "关于": "O programu", "退出": "Одјавити се", "删除账号": "Избриши налог", "个人信息": "Информације о налогу", @@ -583,7 +583,6 @@ "商城": "Центру", "我的": "Мој", "微信公众号推送": "Вецхат јавни налог", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Да бисте отворили вецхат за примање алармних порука, морате обратити пажњу на Скај Смарт Лоцк вецхат јавни рачун прво, молимо вас да сачувате КР код и користите вецхат да скенирате подешавања", "蓝牙": "Блуетоотх", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Приступ Блуетоотх дозволама је потребан да бисте користили информације о локацији функције додавања кључа", "请输入Email": "Унесите своју е-пошту", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Лозинке су недоследне", "中功率": "Средња снага", "常规使用": "Редовна употреба", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Након што је гатеваи укључен, притисните и држите дугме за ресетовање за 5 секунди, и кликните Следећи када индикатор трепери наизменично", "扫描设备": "Уређај за скенирање", "删除失败,网关可能已经离线,是否强制删除该数据?": "Брисање није успело. Гатеваи је можда отишао ван мреже. Да ли желите да присилите брисање података?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Пратите систем", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Након ресетовања, отисци прстију браве ће бити избрисани. Да ли сте сигурни да желите да га ресетујете?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Након ресетовања, даљински управљач браве ће бити избрисан. Да ли желите да га ресетујете?", + "版本说明": "Опис верзије", "一键登录": "Пријава једним кликом" } \ No newline at end of file diff --git a/lan/lan_sv.json b/lan/lan_sv.json index 21e97557..201f17df 100644 --- a/lan/lan_sv.json +++ b/lan/lan_sv.json @@ -582,7 +582,6 @@ "商城": "Mall", "我的": "Ja", "微信公众号推送": "Vichatta offentligt konto", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "För att öppna wechatt för att ta emot larmmeddelanden, måste du vara uppmärksam på Skye Smart Lock vichatt offentliga konto först, spara QR-koden och använd wechat för att skanna inställningar", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Tillgång till Bluetooth-rättigheter krävs för att använda platsinformationen för lägg till nyckelfunktionen lägg till.", "请输入Email": "Skriv in din e- post@ info: whatsthis", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Lösenord är inkonsekventa", "中功率": "Medelse", "常规使用": "Regelbunden användning", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "När gateway är på, tryck och håll omställningsknappen i 5 sekunder, och klicka Nästa när indikatorljuset blinkar växelvist", "扫描设备": "Söka enheter", "删除失败,网关可能已经离线,是否强制删除该数据?": "Borttagning misslyckades. Porten kan ha gått offline. Vill du tvinga bort data?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Följ system", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Efter återställd, kommer låsets fingeravtryck tas bort. Är du säker på att du vill återställa den?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Efter återställd, fjärrkontrollen på låset tas bort. Vill du återställa den?", + "版本说明": "Versionsbeskrivning", "一键登录": "Ett klick inloggning" } \ No newline at end of file diff --git a/lan/lan_th.json b/lan/lan_th.json index 4b904717..4e9a6c4c 100644 --- a/lan/lan_th.json +++ b/lan/lan_th.json @@ -582,7 +582,6 @@ "商城": "ห้างสรรพสินค้าเล็กๆ", "我的": "ของฉัน", "微信公众号推送": "บัญชีสาธารณะ WeChat", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "ในการเปิด WeChat เพื่อรับข้อความเตือนคุณต้องใส่ใจกับบัญชีสาธารณะของ Skye Smart Lock WeChat ก่อนโปรดบันทึกรหัส QR และใช้ WeChat เพื่อสแกนการตั้งค่า", "蓝牙": "บลูทูธ", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "การเข้าถึงการอนุญาตบลูทูธจะต้องใช้ข้อมูลตำแหน่งของฟังก์ชั่นเพิ่มคีย์", "请输入Email": "การป้อนอีเมลของคุณ", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "รหัสผ่านไม่สอดคล้องกัน", "中功率": "กำลังไฟปานกลาง", "常规使用": "ใช้เป็นประจำ", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "หลังจากเปิดเกตเวย์แล้วให้กดปุ่มรีเซ็ตค้างไว้5วินาทีและคลิกถัดไปเมื่อไฟแสดงสถานะกะพริบสลับกัน", "扫描设备": "อุปกรณ์สแกน", "删除失败,网关可能已经离线,是否强制删除该数据?": "การลบล้มเหลวเกตเวย์อาจออฟไลน์ไปแล้วคุณต้องการบังคับให้ลบข้อมูลหรือไม่?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "ระบบติดตามผล", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "หลังจากรีเซ็ตแล้วลายนิ้วมือของล็อคจะถูกลบออกคุณแน่ใจว่าอยากจะรีเซ็ต?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "หลังจากรีเซ็ตแล้วรีโมทคอนโทรลของล็อคจะถูกลบออกคุณต้องการรีเซ็ตไหม", + "版本说明": "คำอธิบายรุ่น", "一键登录": "เข้าสู่ระบบด้วยคลิกเดียว" } \ No newline at end of file diff --git a/lan/lan_tr.json b/lan/lan_tr.json index 557cec4d..6341609f 100644 --- a/lan/lan_tr.json +++ b/lan/lan_tr.json @@ -582,7 +582,6 @@ "商城": "Alışveriş merkezi", "我的": "Benim", "微信公众号推送": "Wechat kamu hesabı", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Alarm mesajları almak için wechat açmak için, ilk önce skye akıllı kilit wechat kamu hesabına dikkat etmeniz gerekir, lütfen qr kodunu kaydedin ve ayarları taramak için wechat'i kullanın", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Ekle tuş fonksiyonunun konum bilgilerini kullanmak için bluetooth izinlerine erişim gereklidir", "请输入Email": "Email girin", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Şifreler tutarsız", "中功率": "Orta güç", "常规使用": "Düzenli kullanım", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Ağ geçidi açıldıktan sonra, sıfırlama düğmesine 5 saniye basılı tutun ve gösterge ışığı dönüşümlü olarak yanıp söndüğünde İleri'ye tıklayın.", "扫描设备": "Tarama cihazı", "删除失败,网关可能已经离线,是否强制删除该数据?": "Silme başarısız oldu. Ağ geçidi çevrimdışı geçmiş olabilir. Verileri silmeye zorlamak ister misiniz?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Sistemi takip et", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Sıfırlamadan sonra, kilidin parmak izleri silinecektir. Sıfırlamak istediğine emin misin?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Sıfırladıktan sonra, kilidin uzaktan kumandası silinecektir. Sıfırlamak ister misin?", + "版本说明": "Sürüm açıklaması", "一键登录": "Tek tıklama giriş" } \ No newline at end of file diff --git a/lan/lan_tw.json b/lan/lan_tw.json index 67e3fb56..26eb951c 100644 --- a/lan/lan_tw.json +++ b/lan/lan_tw.json @@ -582,7 +582,6 @@ "商城": "商場", "我的": "我的", "微信公众号推送": "微信公眾賬號", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "打開微信接收報警信息,需要先關注斯凱智能鎖微信公眾賬號,請保存二維碼,使用微信掃描設置", "蓝牙": "藍牙", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "需要訪問藍牙權限才能使用添加鍵功能的位置信息", "请输入Email": "輸入您的電子郵件", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "密碼不一致", "中功率": "媒介權力", "常规使用": "經常使用", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "網關通電後,按住reset按鈕5秒鐘,當指示燈交替閃爍時單擊Next", "扫描设备": "掃描設備", "删除失败,网关可能已经离线,是否强制删除该数据?": "刪除失敗。 網關可能已脫機。 是否要強制刪除數據?", "超级管理员英文": "超級管理員", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "跟蹤系統", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "重置後,鎖的指紋將被刪除。 是否確實要重置它?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "重置後,鎖的遙控器將被刪除。 是否要重置它?", + "版本说明": "版本說明", "一键登录": "一鍵登錄" } \ No newline at end of file diff --git a/lan/lan_uk.json b/lan/lan_uk.json index 9eb5dd42..35428c5a 100644 --- a/lan/lan_uk.json +++ b/lan/lan_uk.json @@ -583,7 +583,6 @@ "商城": "торго́вий центр", "我的": "мій", "微信公众号推送": "Публічний обліковий запис Wechat", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Щоб відкрити wechat для отримання тривожних повідомлень, вам потрібно спочатку звернути увагу на загальнодоступний обліковий запис wechat Skye Smart Lock, збережіть QR-код і за допомогою wechat відскануйте налаштування", "蓝牙": "Технологія Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Доступ до дозволів Bluetooth потрібен для використання інформації про місцезнаходження функції додавання ключа", "请输入Email": "Введіть свою електронну пошту", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Паролі несумісні", "中功率": "Середня потужність", "常规使用": "Регулярне використання", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Після ввімкнення шлюзу натисніть і утримуйте кнопку скидання протягом 5 секунд, а потім натисніть «Далі», коли індикатор почне блимати по черзі", "扫描设备": "Сканування пристрою", "删除失败,网关可能已经离线,是否强制删除该数据?": "Видалення не вдалося. Можливо, шлюз перейшов в автономний режим. Ви хочете примусово видалити дані?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Система стеження за", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Після скидання відбитки пальців замка будуть видалені. Ви впевнені, що хочете скинути налаштування?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Після скидання пульт дистанційного керування замком буде видалено. Хочете його скинути?", + "版本说明": "Опис версії" "一键登录": "Вхід в один клік" } \ No newline at end of file diff --git a/lan/lan_vi.json b/lan/lan_vi.json index 537d14f3..9be34b34 100644 --- a/lan/lan_vi.json +++ b/lan/lan_vi.json @@ -582,7 +582,6 @@ "商城": "Trung tâm mua sắm", "我的": "Của tôi", "微信公众号推送": "Tài khoản công cộng Wechat", - "开启微信接收报警消息需要先关注斯凯智能锁微信公众号,请保存二维码并使用微信扫一扫设置": "Để mở Wechat để nhận tin nhắn báo động, trước tiên bạn cần chú ý đến tài khoản công cộng Skye Smart Lock WeChat, Vui lòng lưu mã QR và sử dụng Wechat để quét cài đặt", "蓝牙": "Bluetooth", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "Cần truy cập vào quyền của bluetooth để sử dụng thông tin vị trí của chức năng thêm phím", "请输入Email": "Nhập email của bạn", @@ -1106,7 +1105,6 @@ "两次密码不一致哦": "Mật khẩu không nhất quán", "中功率": "Công suất trung bình", "常规使用": "Sử dụng thường xuyên", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Sau khi cổng được bật, Nhấn và giữ nút đặt lại trong 5 giây và Nhấp vào tiếp theo khi đèn báo nhấp nháy luân phiên", "扫描设备": "Thiết bị quét", "删除失败,网关可能已经离线,是否强制删除该数据?": "Xóa thất bại. Cổng có thể đã tắt. Bạn có muốn buộc xóa dữ liệu không?", "超级管理员英文": "Super Admin", @@ -1120,5 +1118,8 @@ "时简称": "H", "分简称": "M", "跟随系统": "Hệ thống theo dõi", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Sau khi đặt lại, dấu vân tay của khóa sẽ bị xóa. Bạn có chắc chắn muốn thiết lập lại nó?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Sau khi đặt lại, điều khiển từ xa của khóa sẽ bị xóa. Bạn có muốn đặt lại không?", + "版本说明": "Thông tin phiên bản", "一键登录": "Đăng nhập bằng một cú nhấp chuột" } \ No newline at end of file diff --git a/lan/lan_zh.json b/lan/lan_zh.json index e29bc923..848858f9 100755 --- a/lan/lan_zh.json +++ b/lan/lan_zh.json @@ -218,7 +218,7 @@ "添加网关": "添加网关", "重新通电": "重新通电", "指示灯": "指示灯", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步", + "网关通电后,长按重置按钮5秒,蓝色指示灯闪烁时点击下一步": "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步", "选择网关": "选择网关", "不支持5G WiFi网络,请选择2.4G WiFi网络进行配置": "不支持5G WiFi网络,请选择2.4G WiFi网络进行配置", "WiFi密码": "WiFi密码", @@ -316,7 +316,6 @@ "删除账号后,你的所有信息及相关记录都会从平台彻底删除,且不可恢复,是否删除?": "删除账号后,你的所有信息及相关记录都会从平台彻底删除,且不可恢复,是否删除?", "监控": "监控", "视频日志": "视频日志", - "网关设备": "网关设备", "开门器": "开门器", "面容开锁": "面容开锁", "开门方向设置": "开门方向设置", @@ -586,7 +585,6 @@ "商城": "商城", "我的": "我的", "微信公众号推送": "微信公众号推送", - "开启微信接收报警消息需要先关注锁通通锁微信公众号,请保存二维码并使用微信扫一扫设置": "开启微信接收报警消息需要先关注锁通通锁微信公众号,请保存二维码并使用微信扫一扫设置", "蓝牙": "蓝牙", "需要访问蓝牙权限才能使用添加钥匙功能的位置信息": "需要访问蓝牙权限才能使用添加钥匙功能的位置信息", "请输入Email": "请输入Email", @@ -787,7 +785,6 @@ "导出": "导出", "批量导出": "批量导出", "读取记录": "读取记录", - "手机需联网": "手机需联网", "设备": "设备", "消息": "消息", "智能分析": "智能分析", @@ -1091,7 +1088,6 @@ "修改名字": "修改名字", "时": "时", "分": "分", - "Amazon Alexa": "Amazon Alexa", "您可以使用Alexa进行开锁、闭锁和查看锁状态": "您可以使用Alexa进行开锁、闭锁和查看锁状态", "支持的国家": "支持的国家", @@ -1108,7 +1104,6 @@ "已开锁": "已开锁", "已闭锁": "已闭锁", "两次密码不一致哦": "两次密码不一致哦", - "中功率": "中功率", "常规使用": "常规使用", "扫描设备": "扫描设备", @@ -1118,11 +1113,14 @@ "普通管理员英文": "普通管理员", "网关设备英文": "网关设备", "手机需联网英文": "手机需联网", - "年简称": "Y", - "月简称": "M", - "日简称": "D", - "时简称": "H", - "分简称": "M", + "年简称": "年", + "月简称": "月", + "日简称": "日", + "时简称": "时", + "分简称": "分", "跟随系统": "跟随系统", + "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "重置后,该锁的指纹都将被删除哦,确认要重置吗?", + "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "重置后,该锁的遥控都将被删除哦,确认要重置吗?", + "版本说明": "版本说明", "一键登录": "一键登录" } diff --git a/lib/apm/apm_helper.dart b/lib/apm/apm_helper.dart new file mode 100644 index 00000000..928b940f --- /dev/null +++ b/lib/apm/apm_helper.dart @@ -0,0 +1,71 @@ +// +import 'firebase/firebase_helper.dart'; + +// + +// +import 'umeng/umeng_helper.dart'; +// + +class ApmHelper { + ApmHelper._internal(); + + factory ApmHelper() => _getInstance(); + + static ApmHelper get instance => _getInstance(); + static ApmHelper? _instance; + + // 增加开关 + static bool enabled = false; + + static ApmHelper _getInstance() { + _instance ??= ApmHelper._internal(); + return _instance!; + } + + Future initApp() async { + // + await UmengHelper.instance.initApp(); + // + // + await FirebaseHelper.instance.initApp(); + // + } + + Future initSdk() async { + // + UmengHelper.instance.initSdk(); + // + // + FirebaseHelper.instance.initSdk(); + // + } + + Future login(String userId) async { + // + UmengHelper.instance.login(userId); + // + // + FirebaseHelper.instance.login(userId); + // + } + + Future trackEvent( + String eventName, Map parameters) async { + // + UmengHelper.instance.trackEvent(eventName, parameters); + // + // + FirebaseHelper.instance.trackEvent(eventName, parameters); + // + } + + Future logout() async { + // + UmengHelper.instance.logout(); + // + // + FirebaseHelper.instance.logout(); + // + } +} diff --git a/lib/apm/firebase/firebase_helper.dart b/lib/apm/firebase/firebase_helper.dart new file mode 100644 index 00000000..cb354174 --- /dev/null +++ b/lib/apm/firebase/firebase_helper.dart @@ -0,0 +1,91 @@ +// +import 'package:firebase_analytics/firebase_analytics.dart'; +import 'package:firebase_core/firebase_core.dart' + show Firebase, FirebaseOptions; +import 'package:flutter/foundation.dart' + show defaultTargetPlatform, kIsWeb, TargetPlatform; +import 'package:star_lock/flavors.dart'; + +class DefaultFirebaseOptions { + static FirebaseOptions get currentPlatform { + switch (F.appFlavor) { + case Flavor.sky: + return sky_android; + case Flavor.xhj_bundle: + return xhj_android; + default: + throw UnsupportedError( + 'DefaultFirebaseOptions are not supported for this platform.', + ); + } + } + + static const FirebaseOptions sky_android = FirebaseOptions( + apiKey: 'AIzaSyC-3-ABWuy9LrYyAw_KxDRto4DanQ0sq9g', + appId: '1:281500445726:android:ddf52ac7b7f83cf5c4d20f', + messagingSenderId: '281500445726', + projectId: 'smart-lock-12b8c', + storageBucket: 'skychip2023-ecdff.firebasestorage.app', + ); + + static const FirebaseOptions xhj_android = FirebaseOptions( + apiKey: 'AIzaSyAm8dJlBY5hjslJDVDBNd2bkWrJlGjAMqw', + appId: '1:448746601330:android:1a8056175e1dad5e317beb', + messagingSenderId: '448746601330', + projectId: 'smart-lock-12b8c', + storageBucket: 'smart-lock-12b8c.firebasestorage.app', + ); + + static const FirebaseOptions ios = FirebaseOptions( + apiKey: 'AIzaSyACbp5aUKhLU1SMg8iIdm9WmNX7wxI7fVc', + appId: '1:281500445726:ios:b194ccffb92fb86cc4d20f', + messagingSenderId: '281500445726', + projectId: 'skychip2023-ecdff', + storageBucket: 'skychip2023-ecdff.firebasestorage.app', + iosBundleId: 'com.starlock.lock.local', + ); +} + +class FirebaseHelper { + factory FirebaseHelper() => _getInstance(); + + FirebaseHelper._internal(); + + static FirebaseHelper get instance => _getInstance(); + static FirebaseHelper? _instance; + + static FirebaseHelper _getInstance() { + _instance ??= FirebaseHelper._internal(); + return _instance!; + } + + Future initApp() async { + const bool isProductVmMode = bool.fromEnvironment('dart.vm.product'); + if (F.isProductionEnv && + isProductVmMode && + defaultTargetPlatform == TargetPlatform.android) { + await Firebase.initializeApp( + options: DefaultFirebaseOptions.currentPlatform, + ); + } + } + + Future initSdk() async { + FirebaseAnalytics.instance.setAnalyticsCollectionEnabled(true); + } + + Future login(String userId) async { + FirebaseAnalytics.instance.setUserId(id: userId); + } + + Future trackEvent( + String eventName, Map? parameters) async { + FirebaseAnalytics.instance + .logEvent(name: eventName, parameters: parameters); + } + + Future logout() async { + FirebaseAnalytics.instance.setUserId(id: ''); + } +} +// diff --git a/lib/apm/umeng/umeng_helper.dart b/lib/apm/umeng/umeng_helper.dart new file mode 100644 index 00000000..bc1e3c04 --- /dev/null +++ b/lib/apm/umeng/umeng_helper.dart @@ -0,0 +1,41 @@ +// +import 'package:umeng_common_sdk/umeng_common_sdk.dart'; +import '../../flavors.dart'; + +class UmengHelper { + UmengHelper._internal(); + + factory UmengHelper() => _getInstance(); + + static UmengHelper get instance => _getInstance(); + static UmengHelper? _instance; + + static UmengHelper _getInstance() { + _instance ??= UmengHelper._internal(); + return _instance!; + } + + Future initApp() async { + + } + + Future initSdk() async { + UmengCommonSdk.initCommon( + F.umengKey.androidKey, F.umengKey.iosKey, F.umengKey.channel); + UmengCommonSdk.setPageCollectionModeManual(); + } + + Future login(String userId) async { + UmengCommonSdk.onProfileSignIn(userId); + } + + Future trackEvent( + String eventName, Map parameters) async { + UmengCommonSdk.onEvent(eventName, parameters); + } + + Future logout() async { + UmengCommonSdk.onProfileSignOff(); + } +} +// diff --git a/lib/blue/io_gateway/io_gateway_configuringWifi.dart b/lib/blue/io_gateway/io_gateway_configuringWifi.dart index 9708c6bf..769f2079 100644 --- a/lib/blue/io_gateway/io_gateway_configuringWifi.dart +++ b/lib/blue/io_gateway/io_gateway_configuringWifi.dart @@ -1,6 +1,8 @@ // 网关配网 import 'dart:convert'; +import 'package:star_lock/app_settings/app_settings.dart'; + import '../io_reply.dart'; import '../io_sender.dart'; import '../io_tool/io_tool.dart'; @@ -47,7 +49,12 @@ class GatewayConfiguringWifiCommand extends SenderProtocol { //gatewayConfigurationStr final int clientIdLength = utf8.encode(gatewayConfigurationStr!).length; - subData.add(clientIdLength); + final double clientIdLengthDouble = clientIdLength / 256; + final int clientIdLengthDoubleType1 = clientIdLengthDouble.toInt(); + final int clientIdLengthDoubleType2 = clientIdLength % 256; + // AppLog.log('gatewayConfigurationStr!:$gatewayConfigurationStr! clientIdLength:$clientIdLength clientIdLengthDouble:$clientIdLengthDouble clientIdLengthDoubleType1:$clientIdLengthDoubleType1 clientIdLengthDoubleType2:$clientIdLengthDoubleType2'); + subData.add(clientIdLengthDoubleType1); + subData.add(clientIdLengthDoubleType2); subData.addAll(utf8.encode(gatewayConfigurationStr!)); // subData = getFixedLengthList(subData, 20 - clientIdLength); diff --git a/lib/flavors.dart b/lib/flavors.dart index 5123fbfa..0d4fbe8f 100755 --- a/lib/flavors.dart +++ b/lib/flavors.dart @@ -8,6 +8,7 @@ enum Flavor { sky_dev, sky_pre, xhj, + xhj_bundle, xhj_dev, xhj_pre, } @@ -22,8 +23,29 @@ class StarLockAMapKey { const StarLockAMapKey({required this.iosKey, required this.androidKey}); } +class UmengKey { + //iOS平台的key + final String iosKey; + + //Android平台的key + final String androidKey; + + //channle + final String channel; + + const UmengKey( + {required this.iosKey, required this.androidKey, required this.channel}); +} + typedef dynamic fCallFunction(); +class WechatAppInfo { + WechatAppInfo({required this.wechatAppId, required this.universalLink}); + + String wechatAppId; + String universalLink; +} + class F { static Flavor? appFlavor; @@ -34,6 +56,7 @@ class F { static bool get isXHJ => appFlavor == Flavor.xhj || + appFlavor == Flavor.xhj_bundle || appFlavor == Flavor.xhj_dev || appFlavor == Flavor.xhj_pre; @@ -57,6 +80,7 @@ class F { case Flavor.dev: case Flavor.pre: case Flavor.xhj: + case Flavor.xhj_bundle: default: return xhjCall(); } @@ -75,6 +99,7 @@ class F { case Flavor.sky_pre: return '锁通通'.tr; case Flavor.xhj: + case Flavor.xhj_bundle: case Flavor.xhj_dev: case Flavor.xhj_pre: return '星星锁'.tr; @@ -96,6 +121,7 @@ class F { case Flavor.sky_pre: return '锁通通'.tr; case Flavor.xhj: + case Flavor.xhj_bundle: case Flavor.xhj_dev: case Flavor.xhj_pre: return '星星锁'.tr; @@ -122,6 +148,7 @@ class F { case Flavor.sky: return 'https://lock.skychip.top'; case Flavor.xhj: + case Flavor.xhj_bundle: return 'https://lock.xhjcn.ltd'; // return 'https://pre.lock.star-lock.cn'; default: @@ -172,6 +199,9 @@ class F { return const StarLockAMapKey( androidKey: '9dd8073a2e96870b206269bb562a887a', iosKey: 'c70047e60ce704d945ea89d6c2763b82'); + case Flavor.xhj_bundle: + return const StarLockAMapKey( + androidKey: 'c47fa8e1d9e2a25321dbee75e1ff7790', iosKey: ''); default: return const StarLockAMapKey( androidKey: 'no valied key', @@ -180,6 +210,115 @@ class F { } } + // StarLockAMapKey + static UmengKey get umengKey { + switch (appFlavor) { + case Flavor.local: + return const UmengKey( + androidKey: 'local-671244cf80464b33f6df9648', + iosKey: 'local-671244ae80464b33f6df9646', + channel: 'Product'); + case Flavor.dev: + return const UmengKey( + androidKey: 'dev-671244cf80464b33f6df9648', + iosKey: 'dev-671244ae80464b33f6df9646', + channel: 'Product'); + case Flavor.pre: + return const UmengKey( + androidKey: 'pre-671244cf80464b33f6df9648', + iosKey: 'pre-671244ae80464b33f6df9646', + channel: 'Product'); + case Flavor.sky_dev: + return const UmengKey( + androidKey: 'sky_dev-671244cf80464b33f6df9648', + iosKey: 'sky_dev-671244ae80464b33f6df9646', + channel: 'Product'); + case Flavor.sky_pre: + return const UmengKey( + androidKey: 'sky_pre-671244cf80464b33f6df9648', + iosKey: 'sky_pre-671244ae80464b33f6df9646', + channel: 'Product'); + case Flavor.sky: + return const UmengKey( + androidKey: '6784e6c99a16fe6dcd2b64b0', + iosKey: '6784e6fd8f232a05f1f7d729', + channel: 'Product'); + case Flavor.xhj_dev: + return const UmengKey( + androidKey: 'xhj_dev-671244cf80464b33f6df9648', + iosKey: 'xhj_dev-671244ae80464b33f6df9646', + channel: 'Product'); + case Flavor.xhj_pre: + return const UmengKey( + androidKey: 'xhj_pre-671244cf80464b33f6df9648', + iosKey: 'xhj_pre-671244ae80464b33f6df9646', + channel: 'Product'); + case Flavor.xhj: + return const UmengKey( + androidKey: '671244cf80464b33f6df9648', + iosKey: '671244ae80464b33f6df9646', + channel: 'Product'); + default: + return const UmengKey( + androidKey: 'default-671244cf80464b33f6df9648', + iosKey: 'default-671244ae80464b33f6df9646', + channel: 'Product'); + } + } + + // StarLockAMapKey + static String get jPushKey { + switch (appFlavor) { + case Flavor.local: + case Flavor.dev: + case Flavor.pre: + return ''; + case Flavor.sky_dev: + case Flavor.sky_pre: + case Flavor.sky: + return '7ff37d174c1a568a89e98dad'; + case Flavor.xhj_dev: + case Flavor.xhj_pre: + case Flavor.xhj: + return '251fc8074820d122b6de58d2'; + case Flavor.xhj_bundle: + return '5ccdb9b8d3faaae66ba5d02e'; + default: + return ''; + } + } + + static WechatAppInfo get wechatAppInfo { + switch (appFlavor) { + case Flavor.local: + return WechatAppInfo( + wechatAppId: 'wxbe340095d2b8fd51', + universalLink: 'https://apt.skychip.top/'); + case Flavor.dev: + return WechatAppInfo( + wechatAppId: 'wxbe340095d2b8fd51', + universalLink: 'https://apt.skychip.top/'); + case Flavor.pre: + case Flavor.sky_pre: + case Flavor.xhj_pre: + return WechatAppInfo( + wechatAppId: 'wxbe340095d2b8fd51', + universalLink: 'https://apt.skychip.top/'); + case Flavor.sky: + return WechatAppInfo( + wechatAppId: 'wxbe340095d2b8fd51', + universalLink: 'https://lock.skychip.top/'); + case Flavor.xhj: + case Flavor.xhj_bundle: + return WechatAppInfo( + wechatAppId: 'wx8e48112e22343817', + universalLink: 'https://lock.xhjcn.ltd/'); + default: + return WechatAppInfo( + wechatAppId: 'wxbe340095d2b8fd51', universalLink: ''); + } + } + // 是否是生产环境 static bool get isProductionEnv { switch (appFlavor) { @@ -189,6 +328,7 @@ class F { return false; case Flavor.sky: case Flavor.xhj: + case Flavor.xhj_bundle: return true; default: return false; diff --git a/lib/login/forgetPassword/starLock_forgetPassword_logic.dart b/lib/login/forgetPassword/starLock_forgetPassword_logic.dart index 3566ba34..7036c80c 100755 --- a/lib/login/forgetPassword/starLock_forgetPassword_logic.dart +++ b/lib/login/forgetPassword/starLock_forgetPassword_logic.dart @@ -2,11 +2,11 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; +import 'package:star_lock/apm/apm_helper.dart'; import 'package:star_lock/app_settings/app_settings.dart'; import 'package:star_lock/login/forgetPassword/starLock_forgetPassword_state.dart'; import 'package:star_lock/login/login/entity/LoginEntity.dart'; import 'package:star_lock/login/register/entity/SendValidationCodeEntity.dart'; -import 'package:umeng_common_sdk/umeng_common_sdk.dart'; import '../../network/api_repository.dart'; import '../../tools/baseGetXController.dart'; @@ -55,7 +55,7 @@ class StarLockForgetPasswordLogic extends BaseGetXController { 'B748F838-94EE-4BDB-A0E6-7B2D16849792', state.verificationCode.value); if (entity.errorCode!.codeIsSuccessful) { - UmengCommonSdk.onEvent('resetPassword_result', { + ApmHelper.instance.trackEvent('resetPassword_result', { 'account':state.phoneStr.value, 'date':DateTool().getNowDateWithType(1), 'resetPassword_res':'成功', @@ -64,7 +64,7 @@ class StarLockForgetPasswordLogic extends BaseGetXController { showToast('重置成功'.tr); Get.back(); }else{ - UmengCommonSdk.onEvent('resetPassword_result', { + ApmHelper.instance.trackEvent('resetPassword_result', { 'account':state.phoneStr.value, 'date':DateTool().getNowDateWithType(1), 'resetPassword_res':'${entity.errorCode}--${entity.errorMsg}', diff --git a/lib/login/login/app_get_version.dart b/lib/login/login/app_get_version.dart index fb738b60..de2a642c 100644 --- a/lib/login/login/app_get_version.dart +++ b/lib/login/login/app_get_version.dart @@ -29,10 +29,12 @@ class Data { Data.fromJson(Map json) { wechatServiceUrl = json['wechat_service_url']; appSiteUrl = json['app_site_url']; + appVersionHistoryUrl = json['appVersionHistoryUrl']; } String? wechatServiceUrl; String? appSiteUrl; + String? appVersionHistoryUrl; Map toJson() { final Map data = {}; diff --git a/lib/login/login/entity/LoginData.dart b/lib/login/login/entity/LoginData.dart index 921be345..f6a4620c 100755 --- a/lib/login/login/entity/LoginData.dart +++ b/lib/login/login/entity/LoginData.dart @@ -25,6 +25,7 @@ class LoginData { uid = json['uid']; isVip = json['isVip']; } + String? accessToken; int? userid; int? expiresAt; diff --git a/lib/login/login/starLock_login_logic.dart b/lib/login/login/starLock_login_logic.dart index 8170243b..126df34a 100755 --- a/lib/login/login/starLock_login_logic.dart +++ b/lib/login/login/starLock_login_logic.dart @@ -2,6 +2,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; +import 'package:star_lock/apm/apm_helper.dart'; import 'package:jverify/jverify.dart'; import 'package:star_lock/appRouters.dart'; import 'package:star_lock/app_settings/app_settings.dart'; @@ -10,7 +11,6 @@ import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart'; import 'package:star_lock/login/login/entity/LoginEntity.dart'; import 'package:star_lock/mine/mine/starLockMine_state.dart'; import 'package:star_lock/tools/baseGetXController.dart'; -import 'package:umeng_common_sdk/umeng_common_sdk.dart'; import '../../main/lockMian/lockMain/lockMain_logic.dart'; import '../../mine/mine/starLockMine_logic.dart'; @@ -54,7 +54,7 @@ class StarLockLoginLogic extends BaseGetXController { username: state.emailOrPhone.value, deviceInfo: state.deviceInfoMap); if (entity.errorCode!.codeIsSuccessful) { - UmengCommonSdk.onEvent('login_result', { + ApmHelper.instance.trackEvent('login_result', { 'account': state.emailOrPhone.value, 'date': DateTool().getNowDateWithType(1), 'login_res': '成功', @@ -69,7 +69,7 @@ class StarLockLoginLogic extends BaseGetXController { Get.offNamedUntil(Routers.starLockMain, (Route route) => false); BlueManage().scanDevices.clear(); //清除设备缓存 } else { - UmengCommonSdk.onEvent('login_result', { + ApmHelper.instance.trackEvent('login_result', { 'account': state.emailOrPhone.value, 'date': DateTool().getNowDateWithType(1), 'login_res': '${entity.errorCode}--${entity.errorMsg}', diff --git a/lib/login/register/starLock_register_logic.dart b/lib/login/register/starLock_register_logic.dart index 69a653d7..b60be331 100755 --- a/lib/login/register/starLock_register_logic.dart +++ b/lib/login/register/starLock_register_logic.dart @@ -1,8 +1,8 @@ - import 'dart:async'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; +import 'package:star_lock/apm/apm_helper.dart'; import 'package:star_lock/appRouters.dart'; import 'package:star_lock/app_settings/app_settings.dart'; import 'package:star_lock/blue/blue_manage.dart'; @@ -12,7 +12,6 @@ import 'package:star_lock/login/register/entity/SendValidationCodeEntity.dart'; import 'package:star_lock/tools/eventBusEventManage.dart'; import 'package:star_lock/tools/push/xs_jPhush.dart'; import 'package:star_lock/tools/storage.dart'; -import 'package:umeng_common_sdk/umeng_common_sdk.dart'; import '../../network/api_repository.dart'; import '../../tools/baseGetXController.dart'; @@ -26,6 +25,7 @@ class StarLockRegisterLogic extends BaseGetXController { final StarLockRegisterState state = StarLockRegisterState(); late Timer _timer; + void _startTimer() { _timer = Timer.periodic(1.seconds, (Timer timer) { if (state.currentSecond > 1) { @@ -49,7 +49,7 @@ class StarLockRegisterLogic extends BaseGetXController { return; } - if(!RegularExpression().validateString(state.pwd.value)){ + if (!RegularExpression().validateString(state.pwd.value)) { showToast('密码需至少包含数字/字母/字符中的2种组合'.tr); return; } @@ -61,10 +61,10 @@ class StarLockRegisterLogic extends BaseGetXController { verificationCode: state.verificationCode.value, deviceInfo: state.deviceInfoMap.value); if (entity.errorCode!.codeIsSuccessful) { - UmengCommonSdk.onEvent('register_result', { - 'account':state.phoneOrEmailStr.value, - 'date':DateTool().getNowDateWithType(1), - 'register_res':'成功', + ApmHelper.instance.trackEvent('register_result', { + 'account': state.phoneOrEmailStr.value, + 'date': DateTool().getNowDateWithType(1), + 'register_res': '成功', }); Storage.saveLoginData(entity.data); @@ -73,11 +73,11 @@ class StarLockRegisterLogic extends BaseGetXController { XSJPushProvider().initLocalNotification(isCancelLocalPush: false); Get.offNamedUntil(Routers.starLockMain, (Route route) => false); BlueManage().scanDevices.clear(); //清除设备缓存 - }else{ - UmengCommonSdk.onEvent('register_result', { - 'account':state.phoneOrEmailStr.value, - 'date':DateTool().getNowDateWithType(1), - 'register_res':'${entity.errorCode}--${entity.errorMsg}', + } else { + ApmHelper.instance.trackEvent('register_result', { + 'account': state.phoneOrEmailStr.value, + 'date': DateTool().getNowDateWithType(1), + 'register_res': '${entity.errorCode}--${entity.errorMsg}', }); } } @@ -135,12 +135,15 @@ class StarLockRegisterLogic extends BaseGetXController { // 重置是否能提交 void _resetCanSub() { - state.canSub.value = state.pwdIsOK && state.codeIsOK && state.phoneOrEmailStr.value.isNotEmpty; + state.canSub.value = state.pwdIsOK && + state.codeIsOK && + state.phoneOrEmailStr.value.isNotEmpty; } // 重置是否能发送验证码 void _resetCanSendCode() { - state.canSendCode.value = state.pwdIsOK && state.phoneOrEmailStr.value.isNotEmpty; + state.canSendCode.value = + state.pwdIsOK && state.phoneOrEmailStr.value.isNotEmpty; } @override diff --git a/lib/main.dart b/lib/main.dart index c5f0db2a..a25d730e 100755 --- a/lib/main.dart +++ b/lib/main.dart @@ -17,8 +17,8 @@ import 'package:star_lock/tools/platform_info_services.dart'; import 'package:star_lock/tools/push/xs_jPhush.dart'; import 'package:star_lock/tools/storage.dart'; import 'package:star_lock/translations/trans_lib.dart'; -import 'package:umeng_common_sdk/umeng_common_sdk.dart'; +import 'apm/apm_helper.dart'; import 'app.dart'; import 'app_settings/app_settings.dart'; import 'tools/store_service.dart'; @@ -27,7 +27,7 @@ import 'tools/store_service.dart'; FutureOr main() async { FlutterBugly.postCatchedException(() async { WidgetsFlutterBinding.ensureInitialized(); - + await ApmHelper.instance.initApp(); await _setCommonServices(); // 设置国际化信息 @@ -74,10 +74,7 @@ Future _setCommonServices() async { //关于隐私协议的初始化 Future privacySDKInitialization() async { - UmengCommonSdk.initCommon( - '671244cf80464b33f6df9648', '671244ae80464b33f6df9646', 'Product'); - UmengCommonSdk.setPageCollectionModeManual(); - + ApmHelper.instance.initSdk(); await Get.putAsync(() => PlatformInfoService().init()); await BuglyTool.init(); // 初始化JPush服务 diff --git a/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_logic.dart b/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_logic.dart index 209e9024..18537ef1 100755 --- a/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_logic.dart +++ b/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_logic.dart @@ -1,8 +1,8 @@ import 'dart:async'; import 'package:flutter/material.dart'; -import 'package:flutter_blue_plus/flutter_blue_plus.dart'; import 'package:get/get.dart'; +import 'package:star_lock/apm/apm_helper.dart'; import 'package:star_lock/appRouters.dart'; import 'package:star_lock/app_settings/app_settings.dart'; import 'package:star_lock/login/login/entity/LoginEntity.dart'; @@ -12,13 +12,8 @@ import 'package:star_lock/mine/valueAddedServices/valueAddedServicesHighFunction import 'package:star_lock/tools/NativeInteractionTool.dart'; import 'package:star_lock/tools/dateTool.dart'; import 'package:star_lock/tools/showCupertinoAlertView.dart'; -import 'package:umeng_common_sdk/umeng_common_sdk.dart'; import '../../../../blue/blue_manage.dart'; -import '../../../../blue/io_reply.dart'; -import '../../../../blue/io_tool/io_tool.dart'; -import '../../../../blue/io_tool/manager_event_bus.dart'; -import '../../../../blue/sender_manage.dart'; import '../../../../network/api_repository.dart'; import '../../../../tools/baseGetXController.dart'; import '../../../../tools/commonDataManage.dart'; @@ -222,7 +217,7 @@ class AuthorizedAdminLogic extends BaseGetXController { : ''); final String getMobile = (await Storage.getMobile())!; if (entity.errorCode!.codeIsSuccessful) { - UmengCommonSdk.onEvent('add_authorizedAdmin', { + ApmHelper.instance.trackEvent('add_authorizedAdmin', { 'lock_name': BlueManage().connectDeviceName, 'account': getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, @@ -245,7 +240,7 @@ class AuthorizedAdminLogic extends BaseGetXController { sendElectronicKeyRequest(); }); } else { - UmengCommonSdk.onEvent('add_authorizedAdmin', { + ApmHelper.instance.trackEvent('add_authorizedAdmin', { 'lock_name': BlueManage().connectDeviceName, 'account': getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, diff --git a/lib/main/lockDetail/card/addICCard/addICCard_logic.dart b/lib/main/lockDetail/card/addICCard/addICCard_logic.dart index 8e0df9c7..17398032 100755 --- a/lib/main/lockDetail/card/addICCard/addICCard_logic.dart +++ b/lib/main/lockDetail/card/addICCard/addICCard_logic.dart @@ -1,14 +1,12 @@ - import 'dart:async'; import 'package:flutter_blue_plus/flutter_blue_plus.dart'; import 'package:get/get.dart'; -import 'package:star_lock/app_settings/app_settings.dart'; import 'package:star_lock/login/login/entity/LoginEntity.dart'; import 'package:star_lock/main/lockDetail/card/addICCard/addICCard_entity.dart'; import 'package:star_lock/tools/baseGetXController.dart'; -import 'package:umeng_common_sdk/umeng_common_sdk.dart'; +import '../../../../apm/apm_helper.dart'; import '../../../../blue/blue_manage.dart'; import '../../../../blue/io_protocol/io_addICCardWithTimeCycleCoercion.dart'; import '../../../../blue/io_reply.dart'; @@ -22,20 +20,23 @@ import '../../../../tools/eventBusEventManage.dart'; import '../../../../tools/storage.dart'; import 'addICCard_state.dart'; -class AddICCardLogic extends BaseGetXController{ +class AddICCardLogic extends BaseGetXController { AddICCardState state = AddICCardState(); // 监听设备返回的数据 late StreamSubscription _replySubscription; + void _initReplySubscription() { - _replySubscription = EventBusManager().eventBus!.on().listen((Reply reply) async { + _replySubscription = + EventBusManager().eventBus!.on().listen((Reply reply) async { // 添加IC卡开始 - if((reply is SenderAddICCardWithTimeCycleCoercionReply) && (state.ifCurrentScreen.value == true)) { + if ((reply is SenderAddICCardWithTimeCycleCoercionReply) && + (state.ifCurrentScreen.value == true)) { _replyAddICCardBegin(reply); } // 添加卡确认 - if(reply is SenderAddICCardConfirmationReply) { + if (reply is SenderAddICCardConfirmationReply) { _replyAddICCardConfirmation(reply); } }); @@ -46,13 +47,13 @@ class AddICCardLogic extends BaseGetXController{ BuglyTool.uploadException( message: '添加卡开始,解析数据', detail: '添加卡开始,解析数据 _replyAddICCardBegin:${reply.data}', - upload: false - ); + upload: false); - switch(status){ + switch (status) { case 0x00: //成功 - final List cardNumberList = reply.data.sublist(reply.data.length - 2); + final List cardNumberList = + reply.data.sublist(reply.data.length - 2); final String cardNumber = listChangInt(cardNumberList).toString(); // AppLog.log("添加卡号:$cardNumberList cardNumber:$cardNumber"); state.cardNumber.value = cardNumber.toString(); @@ -63,10 +64,13 @@ class AddICCardLogic extends BaseGetXController{ break; case 0x06: //无权限 - final List? privateKey = await Storage.getStringList(saveBluePrivateKey); - final List getPrivateKeyList = changeStringListToIntList(privateKey!); + final List? privateKey = + await Storage.getStringList(saveBluePrivateKey); + final List getPrivateKeyList = + changeStringListToIntList(privateKey!); - final List? signKey = await Storage.getStringList(saveBlueSignKey); + final List? signKey = + await Storage.getStringList(saveBlueSignKey); final List signKeyDataList = changeStringListToIntList(signKey!); // var publicKey = await Storage.getStringList(saveBluePublicKey); @@ -78,25 +82,29 @@ class AddICCardLogic extends BaseGetXController{ // AppLog.log('添加卡token:$token'); IoSenderManage.senderAddCardWithTimeCycleCoercionCommand( - keyID:'1', - userID:await Storage.getUid(), - cardNo:0, - useCountLimit:0xffff, - operate:0, // 0:注册 1:修改 2:删除 3:删除全部 - isAdmin:state.isAdministrator.value == '2' ? 1 : 0, - isForce:state.isCoerced.value == '1' ? 1 : 0, // 是否是胁迫 - isRound:state.selectType.value == '2' ? 1: 0, // 是否是循环 - weekRound:DateTool().accordingTheCycleIntoTheCorrespondingNumber(state.weekDay.value), // 周循环 - startDate: int.parse(state.startDate.value)~/1000, - endDate: int.parse(state.endDate.value)~/1000, - startTime:DateTool().dateToHNString(state.effectiveDateTime.value), - endTime:DateTool().dateToHNString(state.failureDateTime.value), - needAuthor:1, - signKey:signKeyDataList, - privateKey:getPrivateKeyList, - token: token, - isBeforeAddUser: false - ); + keyID: '1', + userID: await Storage.getUid(), + cardNo: 0, + useCountLimit: 0xffff, + operate: 0, + // 0:注册 1:修改 2:删除 3:删除全部 + isAdmin: state.isAdministrator.value == '2' ? 1 : 0, + isForce: state.isCoerced.value == '1' ? 1 : 0, + // 是否是胁迫 + isRound: state.selectType.value == '2' ? 1 : 0, + // 是否是循环 + weekRound: DateTool().accordingTheCycleIntoTheCorrespondingNumber( + state.weekDay.value), + // 周循环 + startDate: int.parse(state.startDate.value) ~/ 1000, + endDate: int.parse(state.endDate.value) ~/ 1000, + startTime: DateTool().dateToHNString(state.effectiveDateTime.value), + endTime: DateTool().dateToHNString(state.failureDateTime.value), + needAuthor: 1, + signKey: signKeyDataList, + privateKey: getPrivateKeyList, + token: token, + isBeforeAddUser: false); break; default: //失败 @@ -113,58 +121,59 @@ class AddICCardLogic extends BaseGetXController{ message: '添加卡结果,解析数据', detail: '添加卡结果,解析数据 _replyAddICCardConfirmation:${reply.data}', eventStr: '添加卡事件结果', - upload: true - ); + upload: true); final String getMobile = (await Storage.getMobile())!; - switch(status){ + switch (status) { case 0x00: //成功 - UmengCommonSdk.onEvent('add_card', { - 'lock_name':BlueManage().connectDeviceName, - 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, - 'date':DateTool().getNowDateWithType(1), - 'add_card_result':'成功', + ApmHelper.instance.trackEvent('add_card', { + 'lock_name': BlueManage().connectDeviceName, + 'account': + getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, + 'date': DateTool().getNowDateWithType(1), + 'add_card_result': '成功', }); - switch(reply.data[5]){ + switch (reply.data[5]) { case 0xff: - // 注册指纹失败 + // 注册指纹失败 showToast('退出添加'.tr); Get.close(1); break; case 0xFE: - // 管理员已满 + // 管理员已满 showToast('管理员已满'.tr); Get.close(1); break; case 0xFD: - // 用户已满 + // 用户已满 showToast('用户已满'.tr); Get.close(1); break; case 0xFC: - // 指纹已满 + // 指纹已满 showToast('锁上面添加卡已满'.tr); Get.close(1); break; case 0xFB: - // 指纹已存在 + // 指纹已存在 showToast('卡已存在'.tr); break; default: - // 添加指纹中 - // 当前注册数 + // 添加指纹中 + // 当前注册数 addICCardData(); break; } break; default: //失败 - UmengCommonSdk.onEvent('add_card', { - 'lock_name':BlueManage().connectDeviceName, - 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, - 'date':DateTool().getNowDateWithType(1), - 'add_card_result':reply.data[2], + ApmHelper.instance.trackEvent('add_card', { + 'lock_name': BlueManage().connectDeviceName, + 'account': + getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, + 'date': DateTool().getNowDateWithType(1), + 'add_card_result': reply.data[2], }); break; } @@ -175,91 +184,105 @@ class AddICCardLogic extends BaseGetXController{ final List? signKey = await Storage.getStringList(saveBlueSignKey); final List signKeyDataList = changeStringListToIntList(signKey!); - final List? privateKey = await Storage.getStringList(saveBluePrivateKey); + final List? privateKey = + await Storage.getStringList(saveBluePrivateKey); final List getPrivateKeyList = changeStringListToIntList(privateKey!); final List? token = await Storage.getStringList(saveBlueToken); final List getTokenList = changeStringListToIntList(token!); final String command = SenderAddICCardWithTimeCycleCoercionCommand( - keyID:'1', - userID:await Storage.getUid(), - cardNo:0, - useCountLimit:0xffff, - operate:0, // 0:注册 1:修改 2:删除 3:删除全部 - isAdmin:state.isAdministrator.value == '2' ? 1 : 0, - isForce:state.isCoerced.value == '1' ? 1 : 0, // 是否是胁迫 - isRound:state.selectType.value == '2' ? 1: 0, // 是否是循环 - weekRound:DateTool().accordingTheCycleIntoTheCorrespondingNumber(state.weekDay.value), // 周循环 - startDate: int.parse(state.startDate.value)~/1000, - endDate: int.parse(state.endDate.value)~/1000, - startTime:DateTool().dateToHNString(state.effectiveDateTime.value), - endTime:DateTool().dateToHNString(state.failureDateTime.value), - needAuthor:1, - signKey:signKeyDataList, - privateKey:getPrivateKeyList, - token: getTokenList, + keyID: '1', + userID: await Storage.getUid(), + cardNo: 0, + useCountLimit: 0xffff, + operate: 0, + // 0:注册 1:修改 2:删除 3:删除全部 + isAdmin: state.isAdministrator.value == '2' ? 1 : 0, + isForce: state.isCoerced.value == '1' ? 1 : 0, + // 是否是胁迫 + isRound: state.selectType.value == '2' ? 1 : 0, + // 是否是循环 + weekRound: DateTool() + .accordingTheCycleIntoTheCorrespondingNumber(state.weekDay.value), + // 周循环 + startDate: int.parse(state.startDate.value) ~/ 1000, + endDate: int.parse(state.endDate.value) ~/ 1000, + startTime: DateTool().dateToHNString(state.effectiveDateTime.value), + endTime: DateTool().dateToHNString(state.failureDateTime.value), + needAuthor: 1, + signKey: signKeyDataList, + privateKey: getPrivateKeyList, + token: getTokenList, ).toString(); showBlueConnetctToastTimer(action: () async { final String getMobile = (await Storage.getMobile())!; - UmengCommonSdk.onEvent('add_card', { - 'lock_name':BlueManage().connectDeviceName, - 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, - 'date':DateTool().getNowDateWithType(1), - 'add_card_result':'添加卡超时', + ApmHelper.instance.trackEvent('add_card', { + 'lock_name': BlueManage().connectDeviceName, + 'account': + getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, + 'date': DateTool().getNowDateWithType(1), + 'add_card_result': '添加卡超时', }); BuglyTool.uploadException( message: '添加卡超时处理-添加卡失败', - detail: '添加卡超时处理,断开连接,添加卡失败--SenderAddICCardWithTimeCycleCoercionCommand:$command', + detail: + '添加卡超时处理,断开连接,添加卡失败--SenderAddICCardWithTimeCycleCoercionCommand:$command', eventStr: '添加卡事件超时', - upload: true - ); + upload: true); Get.close(1); }); - BlueManage().blueSendData(BlueManage().connectDeviceName, (BluetoothConnectionState deviceConnectionState) async { - if (deviceConnectionState == BluetoothConnectionState.connected){ + BlueManage().blueSendData(BlueManage().connectDeviceName, + (BluetoothConnectionState deviceConnectionState) async { + if (deviceConnectionState == BluetoothConnectionState.connected) { cancelBlueConnetctToastTimer(); IoSenderManage.senderAddCardWithTimeCycleCoercionCommand( - keyID:'1', - userID:await Storage.getUid(), - cardNo:0, - useCountLimit:0xffff, - operate:0, // 0:注册 1:修改 2:删除 3:删除全部 - isAdmin:state.isAdministrator.value == '2' ? 1 : 0, - isForce:state.isCoerced.value == '1' ? 1 : 0, // 是否是胁迫 - isRound:state.selectType.value == '2' ? 1: 0, // 是否是循环 - weekRound:DateTool().accordingTheCycleIntoTheCorrespondingNumber(state.weekDay.value), // 周循环 - startDate: int.parse(state.startDate.value)~/1000, - endDate: int.parse(state.endDate.value)~/1000, - startTime:DateTool().dateToHNString(state.effectiveDateTime.value), - endTime:DateTool().dateToHNString(state.failureDateTime.value), - needAuthor:1, - signKey:signKeyDataList, - privateKey:getPrivateKeyList, - token: getTokenList, - isBeforeAddUser: false - ); - } else if (deviceConnectionState == BluetoothConnectionState.disconnected){ + keyID: '1', + userID: await Storage.getUid(), + cardNo: 0, + useCountLimit: 0xffff, + operate: 0, + // 0:注册 1:修改 2:删除 3:删除全部 + isAdmin: state.isAdministrator.value == '2' ? 1 : 0, + isForce: state.isCoerced.value == '1' ? 1 : 0, + // 是否是胁迫 + isRound: state.selectType.value == '2' ? 1 : 0, + // 是否是循环 + weekRound: DateTool().accordingTheCycleIntoTheCorrespondingNumber( + state.weekDay.value), + // 周循环 + startDate: int.parse(state.startDate.value) ~/ 1000, + endDate: int.parse(state.endDate.value) ~/ 1000, + startTime: DateTool().dateToHNString(state.effectiveDateTime.value), + endTime: DateTool().dateToHNString(state.failureDateTime.value), + needAuthor: 1, + signKey: signKeyDataList, + privateKey: getPrivateKeyList, + token: getTokenList, + isBeforeAddUser: false); + } else if (deviceConnectionState == + BluetoothConnectionState.disconnected) { final String getMobile = (await Storage.getMobile())!; - UmengCommonSdk.onEvent('add_card', { - 'lock_name':BlueManage().connectDeviceName, - 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, - 'date':DateTool().getNowDateWithType(1), - 'add_card_result':'添加卡断开连接', + ApmHelper.instance.trackEvent('add_card', { + 'lock_name': BlueManage().connectDeviceName, + 'account': + getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, + 'date': DateTool().getNowDateWithType(1), + 'add_card_result': '添加卡断开连接', }); BuglyTool.uploadException( message: '添加卡超时处理-添加卡失败', - detail: '添加卡超时处理,断开连接,添加卡失败--SenderAddICCardWithTimeCycleCoercionCommand:$command', + detail: + '添加卡超时处理,断开连接,添加卡失败--SenderAddICCardWithTimeCycleCoercionCommand:$command', eventStr: '添加卡事件断开连接', - upload: true - ); + upload: true); - if(state.ifCurrentScreen.value == true){ + if (state.ifCurrentScreen.value == true) { showBlueConnetctToast(); } cancelBlueConnetctToastTimer(); @@ -270,27 +293,32 @@ class AddICCardLogic extends BaseGetXController{ // 取消添加指纹 Future senderCancelAddCardCommand() async { - BlueManage().blueSendData(BlueManage().connectDeviceName, (BluetoothConnectionState deviceConnectionState) async { - if (deviceConnectionState == BluetoothConnectionState.connected){ - final List? privateKey = await Storage.getStringList(saveBluePrivateKey); - final List getPrivateKeyList = changeStringListToIntList(privateKey!); + BlueManage().blueSendData(BlueManage().connectDeviceName, + (BluetoothConnectionState deviceConnectionState) async { + if (deviceConnectionState == BluetoothConnectionState.connected) { + final List? privateKey = + await Storage.getStringList(saveBluePrivateKey); + final List getPrivateKeyList = + changeStringListToIntList(privateKey!); - final List? signKey = await Storage.getStringList(saveBlueSignKey); + final List? signKey = + await Storage.getStringList(saveBlueSignKey); final List signKeyDataList = changeStringListToIntList(signKey!); final List? token = await Storage.getStringList(saveBlueToken); final List getTokenList = changeStringListToIntList(token!); IoSenderManage.senderCancelAddCardCommand( - keyID:'1', - userID:await Storage.getUid(), - needAuthor:1, - signKey:signKeyDataList, - privateKey:getPrivateKeyList, + keyID: '1', + userID: await Storage.getUid(), + needAuthor: 1, + signKey: signKeyDataList, + privateKey: getPrivateKeyList, token: getTokenList, ); - }else if (deviceConnectionState == BluetoothConnectionState.disconnected){ - if(state.ifCurrentScreen.value == true){ + } else if (deviceConnectionState == + BluetoothConnectionState.disconnected) { + if (state.ifCurrentScreen.value == true) { showBlueConnetctToast(); } cancelBlueConnetctToastTimer(); @@ -319,18 +347,20 @@ class AddICCardLogic extends BaseGetXController{ } } - Future updateIdCardUserNoLoadData(String cardId) async{ - final LoginEntity entity = await ApiRepository.to.updateIdCardUserNoLoadData( + Future updateIdCardUserNoLoadData(String cardId) async { + final LoginEntity entity = + await ApiRepository.to.updateIdCardUserNoLoadData( lockId: state.lockId.value.toString(), cardId: cardId, cardUserNo: state.cardNumber.value, ); - if(entity.errorCode!.codeIsSuccessful){ - showToast('添加成功'.tr, something:(){ - if(state.fromType.value == 2){ + if (entity.errorCode!.codeIsSuccessful) { + showToast('添加成功'.tr, something: () { + if (state.fromType.value == 2) { // 回调指纹号 - eventBus.fire(ChickInAddStaffCardAndFingerprintBlockNumberEvent(state.cardNumber.value)); - }else if(state.fromType.value == 1){ + eventBus.fire(ChickInAddStaffCardAndFingerprintBlockNumberEvent( + state.cardNumber.value)); + } else if (state.fromType.value == 1) { eventBus.fire(OtherTypeRefreshListEvent()); } Get.close(2); @@ -356,5 +386,4 @@ class AddICCardLogic extends BaseGetXController{ void onClose() { _replySubscription.cancel(); } - -} \ No newline at end of file +} diff --git a/lib/main/lockDetail/doorLockLog/doorLockLog_logic.dart b/lib/main/lockDetail/doorLockLog/doorLockLog_logic.dart index 23d9a38e..4eb5137a 100755 --- a/lib/main/lockDetail/doorLockLog/doorLockLog_logic.dart +++ b/lib/main/lockDetail/doorLockLog/doorLockLog_logic.dart @@ -2,8 +2,7 @@ import 'dart:async'; import 'package:flutter_blue_plus/flutter_blue_plus.dart'; import 'package:get/get.dart'; -import 'package:flutter_easyloading/flutter_easyloading.dart'; -import 'package:star_lock/app_settings/app_settings.dart'; +import 'package:star_lock/apm/apm_helper.dart'; import 'package:star_lock/main/lockDetail/doorLockLog/doorLockLog_entity.dart'; import 'package:star_lock/main/lockDetail/doorLockLog/doorLockLog_state.dart'; @@ -11,7 +10,6 @@ import 'package:star_lock/main/lockDetail/lockOperatingRecord/lockOperatingRecor import 'package:star_lock/tools/commonDataManage.dart'; import 'package:star_lock/tools/dateTool.dart'; import 'package:star_lock/tools/eventBusEventManage.dart'; -import 'package:umeng_common_sdk/umeng_common_sdk.dart'; import '../../../blue/blue_manage.dart'; import '../../../blue/io_protocol/io_referEventRecordTime.dart'; @@ -151,7 +149,7 @@ class DoorLockLogLogic extends BaseGetXController { cancelBlueConnetctToastTimer(); final String getMobile = (await Storage.getMobile())!; - UmengCommonSdk.onEvent('check_doorLockLog', { + ApmHelper.instance.trackEvent('check_doorLockLog', { 'lockName': state.keyInfos.value.lockName!, 'account': getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, @@ -205,7 +203,7 @@ class DoorLockLogLogic extends BaseGetXController { cancelBlueConnetctToastTimer(); final String getMobile = (await Storage.getMobile())!; - UmengCommonSdk.onEvent('check_doorLockLog', { + ApmHelper.instance.trackEvent('check_doorLockLog', { 'lockName': state.keyInfos.value.lockName!, 'account': getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, @@ -303,7 +301,7 @@ class DoorLockLogLogic extends BaseGetXController { showEasyLoading(); getLockRecordLastUploadDataTime(); } else { - UmengCommonSdk.onEvent('check_doorLockLog', { + ApmHelper.instance.trackEvent('check_doorLockLog', { 'lockName': state.keyInfos.value.lockName!, 'account': getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, @@ -314,7 +312,7 @@ class DoorLockLogLogic extends BaseGetXController { } dismissEasyLoading(); } else { - UmengCommonSdk.onEvent('check_doorLockLog', { + ApmHelper.instance.trackEvent('check_doorLockLog', { 'lockName': state.keyInfos.value.lockName!, 'account': getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, diff --git a/lib/main/lockDetail/doorLockLog/doorLockLog_page.dart b/lib/main/lockDetail/doorLockLog/doorLockLog_page.dart index 561cf30b..69a9fec2 100755 --- a/lib/main/lockDetail/doorLockLog/doorLockLog_page.dart +++ b/lib/main/lockDetail/doorLockLog/doorLockLog_page.dart @@ -123,7 +123,7 @@ class _DoorLockLogPageState extends State with RouteAware { void _onMenuItemSelected(String value) { if (value == '读取记录'.tr) { - logic.mockNetworkDataRequest(isRefresh: true); + logic.getLockRecordLastUploadDataTime(); } else if (value == '清空记录'.tr) { ShowCupertinoAlertView().showClearOperationRecordAlert(clearClick: () { logic.clearOperationRecordRequest(); diff --git a/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart b/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart index e7eb9336..d885aafa 100755 --- a/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart +++ b/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; +import 'package:star_lock/apm/apm_helper.dart'; import 'package:star_lock/appRouters.dart'; import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart'; import 'package:star_lock/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_entity.dart'; @@ -17,7 +18,6 @@ import 'package:star_lock/tools/regularExpression.dart'; import 'package:star_lock/tools/showCupertinoAlertView.dart'; import 'package:star_lock/tools/showTipView.dart'; import 'package:star_lock/tools/storage.dart'; -import 'package:umeng_common_sdk/umeng_common_sdk.dart'; import '../../../../../../blue/blue_manage.dart'; @@ -185,7 +185,7 @@ class SendElectronicKeyViewLogic extends BaseGetXController { : ''); final String getMobile = (await Storage.getMobile())!; if (entity.errorCode!.codeIsSuccessful) { - UmengCommonSdk.onEvent('add_electronic_key', { + ApmHelper.instance.trackEvent('add_electronic_key', { 'lock_name':BlueManage().connectDeviceName, 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, 'date':DateTool().getNowDateWithType(1), @@ -201,7 +201,7 @@ class SendElectronicKeyViewLogic extends BaseGetXController { update(); eventBus.fire(ElectronicKeyListRefreshUI()); } else { - UmengCommonSdk.onEvent('add_electronic_key', { + ApmHelper.instance.trackEvent('add_electronic_key', { 'lock_name':BlueManage().connectDeviceName, 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, 'date':DateTool().getNowDateWithType(1), diff --git a/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_page.dart b/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_page.dart index 4aa39e86..9e2b8986 100755 --- a/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_page.dart +++ b/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_page.dart @@ -154,7 +154,14 @@ class _SendElectronicKeyViewState extends State Container( height: 65.h, padding: EdgeInsets.only(left: 20.w, right: 20.w), - color: Colors.white, + decoration: BoxDecoration( + color: Colors.white, + border: Border( + bottom: BorderSide( + color: AppColors.greyLineColor, // 设置边框颜色 + width: 2.0.h, // 设置边框宽度 + ), + )), child: Row( children: [ Text(titleStr, style: TextStyle(fontSize: 22.sp)), @@ -222,6 +229,10 @@ class _SendElectronicKeyViewState extends State } }, ), + ), + Container( + color: AppColors.greyLineColor, // 设置边框颜色 + height: 2.0.h, // ) ], ), diff --git a/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_logic.dart b/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_logic.dart index b657a491..bab8f1f0 100755 --- a/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_logic.dart +++ b/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_logic.dart @@ -3,11 +3,10 @@ import 'dart:async'; import 'package:flutter_blue_plus/flutter_blue_plus.dart'; import 'package:get/get.dart'; -import 'package:star_lock/app_settings/app_settings.dart'; +import 'package:star_lock/apm/apm_helper.dart'; import 'package:star_lock/login/login/entity/LoginEntity.dart'; import 'package:star_lock/main/lockDetail/fingerprint/addFingerprint/addFingerprint_entity.dart'; import 'package:star_lock/tools/dateTool.dart'; -import 'package:umeng_common_sdk/umeng_common_sdk.dart'; import '../../../../../blue/blue_manage.dart'; import '../../../../../blue/io_reply.dart'; @@ -171,7 +170,7 @@ class AddFingerprintLogic extends BaseGetXController { case 0x00: //成功 // var fingerprintNum = listChangInt(reply.data.sublist(9, 11)).toString(); - UmengCommonSdk.onEvent('add_fingerprint', { + ApmHelper.instance.trackEvent('add_fingerprint', { 'lock_name':BlueManage().connectDeviceName, 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, 'date':DateTool().getNowDateWithType(1), @@ -203,7 +202,7 @@ class AddFingerprintLogic extends BaseGetXController { break; default: //失败 - UmengCommonSdk.onEvent('add_fingerprint', { + ApmHelper.instance.trackEvent('add_fingerprint', { 'lock_name':BlueManage().connectDeviceName, 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, 'date':DateTool().getNowDateWithType(1), @@ -254,7 +253,7 @@ class AddFingerprintLogic extends BaseGetXController { showBlueConnetctToastTimer(action: () async { final String getMobile = (await Storage.getMobile())!; - UmengCommonSdk.onEvent('add_fingerprint', { + ApmHelper.instance.trackEvent('add_fingerprint', { 'lock_name':BlueManage().connectDeviceName, 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, 'date':DateTool().getNowDateWithType(1), @@ -302,7 +301,7 @@ class AddFingerprintLogic extends BaseGetXController { ); }else if (deviceConnectionState == BluetoothConnectionState.disconnected){ final String getMobile = (await Storage.getMobile())!; - UmengCommonSdk.onEvent('add_fingerprint', { + ApmHelper.instance.trackEvent('add_fingerprint', { 'lock_name':BlueManage().connectDeviceName, 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, 'date':DateTool().getNowDateWithType(1), diff --git a/lib/main/lockDetail/lockDetail/lockDetail_logic.dart b/lib/main/lockDetail/lockDetail/lockDetail_logic.dart index e6cf086b..5cef5acf 100755 --- a/lib/main/lockDetail/lockDetail/lockDetail_logic.dart +++ b/lib/main/lockDetail/lockDetail/lockDetail_logic.dart @@ -6,6 +6,7 @@ import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:get/get.dart'; import 'package:intl/intl.dart'; import 'package:permission_handler/permission_handler.dart'; +import 'package:star_lock/apm/apm_helper.dart'; import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart'; import 'package:star_lock/login/login/entity/LoginEntity.dart'; import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyList/entity/ElectronicKeyListEntity.dart'; @@ -14,7 +15,6 @@ import 'package:star_lock/main/lockMian/entity/lockListInfo_entity.dart'; import 'package:star_lock/tools/bugly/bugly_tool.dart'; import 'package:star_lock/tools/throttler.dart'; import 'package:star_lock/widget/permission/permission_dialog.dart'; -import 'package:umeng_common_sdk/umeng_common_sdk.dart'; import '../../../app_settings/app_settings.dart'; import '../../../blue/blue_manage.dart'; @@ -71,7 +71,7 @@ class LockDetailLogic extends BaseGetXController { if (status != 6) { final String getMobile = (await Storage.getMobile())!; - UmengCommonSdk.onEvent('open_lock', { + ApmHelper.instance.trackEvent('open_lock', { 'lock_name': state.keyInfos.value.lockName!, 'account': getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, @@ -378,7 +378,7 @@ class LockDetailLogic extends BaseGetXController { outTimer: 20, action: () async { final String getMobile = (await Storage.getMobile())!; - UmengCommonSdk.onEvent('open_lock', { + ApmHelper.instance.trackEvent('open_lock', { 'lock_name': state.keyInfos.value.lockName!, 'account': getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, @@ -422,7 +422,7 @@ class LockDetailLogic extends BaseGetXController { detail: '蓝牙连接失败,断开连接, 开锁失败--OpenLockCommand:$command', upload: true); final String getMobile = (await Storage.getMobile())!; - UmengCommonSdk.onEvent('open_lock', { + ApmHelper.instance.trackEvent('open_lock', { 'lock_name': state.keyInfos.value.lockName!, 'account': getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, @@ -606,8 +606,8 @@ class LockDetailLogic extends BaseGetXController { // 远程开锁 Future remoteOpenLock() async { - final LoginEntity entity = await ApiRepository.to - .remoteOpenLock(lockId: state.keyInfos.value.lockId.toString()); + final LoginEntity entity = await ApiRepository.to.remoteOpenLock( + lockId: state.keyInfos.value.lockId.toString(), timeOut: 60); if (entity.errorCode!.codeIsSuccessful) { showToast('已开锁'.tr); } diff --git a/lib/main/lockDetail/lockSet/faceUnlock/faceUnlock_page.dart b/lib/main/lockDetail/lockSet/faceUnlock/faceUnlock_page.dart index 7a8ebaef..2d895126 100755 --- a/lib/main/lockDetail/lockSet/faceUnlock/faceUnlock_page.dart +++ b/lib/main/lockDetail/lockSet/faceUnlock/faceUnlock_page.dart @@ -73,7 +73,8 @@ class _FaceUnlockPageState extends State { }); // _openBottomItemSheet(state.antiMisoperationStrList.value, 1); }), - Expanded(child: SizedBox(height: 30.h)), + // Expanded(child: SizedBox(height: 30.h)), + SizedBox(height: 60.h), _buildTipsView(), SizedBox( height: 60.h, diff --git a/lib/main/lockDetail/lockSet/lockSet/lockSet_logic.dart b/lib/main/lockDetail/lockSet/lockSet/lockSet_logic.dart index 1f33e666..7d6b4a65 100755 --- a/lib/main/lockDetail/lockSet/lockSet/lockSet_logic.dart +++ b/lib/main/lockDetail/lockSet/lockSet/lockSet_logic.dart @@ -3,9 +3,9 @@ import 'dart:async'; import 'package:flutter/scheduler.dart'; import 'package:flutter_blue_plus/flutter_blue_plus.dart'; import 'package:get/get.dart'; +import 'package:star_lock/apm/apm_helper.dart'; import 'package:star_lock/login/login/entity/LoginEntity.dart'; import 'package:star_lock/main/lockMian/entity/lockListInfo_entity.dart'; -import 'package:umeng_common_sdk/umeng_common_sdk.dart'; import '../../../../blue/blue_manage.dart'; import '../../../../blue/io_protocol/io_factoryDataReset.dart'; @@ -294,7 +294,7 @@ class LockSetLogic extends BaseGetXController { isShowBlueConnetctToast: false, action: () async { final String getMobile = (await Storage.getMobile())!; - UmengCommonSdk.onEvent('delet_lock', { + ApmHelper.instance.trackEvent('delet_lock', { 'lock_name': BlueManage().connectDeviceName, 'account': getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, @@ -332,7 +332,7 @@ class LockSetLogic extends BaseGetXController { token: getTokenList); } else if (connectionState == BluetoothConnectionState.disconnected) { final String getMobile = (await Storage.getMobile())!; - UmengCommonSdk.onEvent('delet_lock', { + ApmHelper.instance.trackEvent('delet_lock', { 'lock_name': BlueManage().connectDeviceName, 'account': getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, @@ -538,6 +538,7 @@ class LockSetLogic extends BaseGetXController { // 下级界面修改成功后传递数据 StreamSubscription? _passCurrentLockInformationEvent; + void initLoadDataAction(BlockSetStateCallback blockSetStateCallback) { // 蓝牙协议通知传输跟蓝牙之外的数据传输类不一样 eventBus _passCurrentLockInformationEvent = eventBus @@ -597,7 +598,7 @@ class LockSetLogic extends BaseGetXController { ); final String getMobile = (await Storage.getMobile())!; if (entity.errorCode!.codeIsSuccessful) { - UmengCommonSdk.onEvent('delet_lock', { + ApmHelper.instance.trackEvent('delet_lock', { 'lock_name': BlueManage().connectDeviceName, 'account': getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, @@ -616,7 +617,7 @@ class LockSetLogic extends BaseGetXController { eventBus.fire(RefreshLockListInfoDataEvent()); }); } else { - UmengCommonSdk.onEvent('delet_lock', { + ApmHelper.instance.trackEvent('delet_lock', { 'lock_name': BlueManage().connectDeviceName, 'account': getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, @@ -636,7 +637,7 @@ class LockSetLogic extends BaseGetXController { state.deleteAdministratorIsHaveAllData.value == true ? 1 : 0); final String getMobile = (await Storage.getMobile())!; if (entity.errorCode!.codeIsSuccessful) { - UmengCommonSdk.onEvent('delet_lock', { + ApmHelper.instance.trackEvent('delet_lock', { 'lock_name': BlueManage().connectDeviceName, 'account': getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, @@ -655,7 +656,7 @@ class LockSetLogic extends BaseGetXController { eventBus.fire(RefreshLockListInfoDataEvent()); }); } else { - UmengCommonSdk.onEvent('delet_lock', { + ApmHelper.instance.trackEvent('delet_lock', { 'lock_name': BlueManage().connectDeviceName, 'account': getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, diff --git a/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_logic.dart b/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_logic.dart index 3c9e006e..b0cf5756 100755 --- a/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_logic.dart +++ b/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_logic.dart @@ -2,11 +2,11 @@ import 'dart:async'; import 'package:flutter_blue_plus/flutter_blue_plus.dart'; import 'package:get/get.dart'; +import 'package:star_lock/apm/apm_helper.dart'; import 'package:star_lock/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKeyEntity.dart'; import 'package:star_lock/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_state.dart'; import 'package:star_lock/network/api_repository.dart'; import 'package:star_lock/tools/eventBusEventManage.dart'; -import 'package:umeng_common_sdk/umeng_common_sdk.dart'; import '../../../../blue/blue_manage.dart'; import '../../../../blue/io_modelVendor.dart'; @@ -182,7 +182,7 @@ class PasswordKeyPerpetualLogic extends BaseGetXController { pwdRight: state.isAdministrator.value == true ? 1 : 0); final String getMobile = (await Storage.getMobile())!; if (entity.errorCode!.codeIsSuccessful) { - UmengCommonSdk.onEvent('add_password', { + ApmHelper.instance.trackEvent('add_password', { 'lock_name':BlueManage().connectDeviceName, 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, 'date':DateTool().getNowDateWithType(1), @@ -199,7 +199,7 @@ class PasswordKeyPerpetualLogic extends BaseGetXController { updatePWDNumberRequest(entity.data!.keyboardPwdId.toString()); } } else { - UmengCommonSdk.onEvent('add_password', { + ApmHelper.instance.trackEvent('add_password', { 'lock_name':BlueManage().connectDeviceName, 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, 'date':DateTool().getNowDateWithType(1), @@ -419,7 +419,7 @@ class PasswordKeyPerpetualLogic extends BaseGetXController { showEasyLoading(); showBlueConnetctToastTimer(action: () async { final String getMobile = (await Storage.getMobile())!; - UmengCommonSdk.onEvent('add_password', { + ApmHelper.instance.trackEvent('add_password', { 'lock_name':BlueManage().connectDeviceName, 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, 'date':DateTool().getNowDateWithType(1), @@ -465,7 +465,7 @@ class PasswordKeyPerpetualLogic extends BaseGetXController { token: getTokenList); } else if (deviceConnectionState == BluetoothConnectionState.disconnected) { final String getMobile = (await Storage.getMobile())!; - UmengCommonSdk.onEvent('add_password', { + ApmHelper.instance.trackEvent('add_password', { 'lock_name':BlueManage().connectDeviceName, 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, 'date':DateTool().getNowDateWithType(1), diff --git a/lib/main_xhj_bundle_lite.dart b/lib/main_xhj_bundle_lite.dart new file mode 100755 index 00000000..8cf182cb --- /dev/null +++ b/lib/main_xhj_bundle_lite.dart @@ -0,0 +1,11 @@ +import 'app_settings/app_settings.dart'; +import 'flavors.dart'; + +import 'main.dart' as runner; + +Future main() async { + F.appFlavor = Flavor.xhj_bundle; + F.isLite = true; + // AppLog.log('xhj_lite调用了main函数'); + await runner.main(); +} diff --git a/lib/mine/about/about_page.dart b/lib/mine/about/about_page.dart index 91c2dd68..46632a87 100755 --- a/lib/mine/about/about_page.dart +++ b/lib/mine/about/about_page.dart @@ -1,3 +1,6 @@ +import 'dart:io'; + +import 'package:device_info_plus/device_info_plus.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; @@ -9,7 +12,9 @@ import 'package:star_lock/mine/about/about_console.dart'; import '../../app_settings/app_colors.dart'; import '../../flavors.dart'; import '../../tools/commonItem.dart'; +import '../../tools/storage.dart'; import '../../tools/titleAppBar.dart'; +import '../../tools/wechat/wechatManageTool.dart'; class AboutPage extends StatefulWidget { const AboutPage({Key? key}) : super(key: key); @@ -80,6 +85,44 @@ class _AboutPageState extends State { Widget listView() { Widget view = Column( children: [ + CommonItem( + leftTitel: '版本说明'.tr, + rightTitle: '', + isHaveLine: false, + isHaveDirection: true, + action: () async { + WechatManageTool.getAppInfo(() async { + final String? appVersionHistoryBaseUrl = + await Storage.getString(appVersionHistoryUrl); + if (appVersionHistoryBaseUrl == null) { + return; + } + String brandName = ''; + if (Platform.isAndroid) { + final AndroidDeviceInfo androidDeviceInfo = + await DeviceInfoPlugin().androidInfo; + brandName = androidDeviceInfo.manufacturer; + } else { + final IosDeviceInfo iosDeviceInfo = + await DeviceInfoPlugin().iosInfo; + brandName = iosDeviceInfo.systemName ?? 'ios'; + } + final PackageInfo packageInfo = + await PackageInfo.fromPlatform(); + Navigator.pushNamed(context, Routers.webviewShowPage, + arguments: { + 'url': appVersionHistoryBaseUrl + + '?version=${packageInfo.version}&brandName=${brandName}', + 'title': '版本说明'.tr + }); + }); + }), + Divider( + height: 1, + color: AppColors.greyLineColor, + indent: 20.w, + endIndent: 20.w, + ), CommonItem( leftTitel: '介绍'.tr, rightTitle: '', diff --git a/lib/mine/addLock/lockAddress/gaode/lockAddressGaoDe_page.dart b/lib/mine/addLock/lockAddress/gaode/lockAddressGaoDe_page.dart index 44483d67..ce2f6f09 100755 --- a/lib/mine/addLock/lockAddress/gaode/lockAddressGaoDe_page.dart +++ b/lib/mine/addLock/lockAddress/gaode/lockAddressGaoDe_page.dart @@ -1,4 +1,3 @@ - import 'dart:async'; import 'dart:io'; @@ -31,11 +30,13 @@ class LockAddressGaoDePage extends StatefulWidget { class _LockAddressGaoDePageState extends State with RouteAware { final LockAddressGaoDeLogic logic = Get.put(LockAddressGaoDeLogic()); - final LockAddressGaoDeState state = Get.find().state; + final LockAddressGaoDeState state = Get + .find() + .state; // 高德地图 static AMapApiKey amapApiKeys = - AMapApiKey(iosKey: F.aMapKey.iosKey, androidKey: F.aMapKey.androidKey); + AMapApiKey(iosKey: F.aMapKey.iosKey, androidKey: F.aMapKey.androidKey); AMapController? mapController; AMapFlutterLocation location = AMapFlutterLocation(); @@ -52,51 +53,16 @@ class _LockAddressGaoDePageState extends State requestPermission(); } - // Future requestPermission() async { - // final status = await Permission.location.request(); - // AppLog.log("Permission.location.request()=status:$status"); - // permissionStatus = status; - // if(Platform.isIOS){ - // _setLocationOption(); - // requestIOSLocation(); - // } - // switch (status) { - // case PermissionStatus.denied: - // // AppLog.log("拒绝"); - // break; - // case PermissionStatus.granted: - // if(Platform.isIOS){ - // // _setLocationOption(); - // // requestIOSLocation(); - // }else{ - // requestAndroidLocation(); - // location.startLocation(); - // } - // break; - // case PermissionStatus.limited: - // // AppLog.log("限制"); - // break; - // case PermissionStatus.permanentlyDenied: - // // AppLog.log("永久的否认"); - // break; - // case PermissionStatus.provisional: - // // AppLog.log("临时"); - // break; - // default: - // // AppLog.log("其他状态"); - // // requestLocation(); - // break; - // } - // } Future requestPermission() async { final bool status = await PermissionDialog.request(Permission.location); - if(Platform.isIOS){ + if (Platform.isIOS) { _setLocationOption(); requestIOSLocation(); } if (!Platform.isIOS || status) { + _setLocationOption(); requestAndroidLocation(); location.startLocation(); } @@ -114,19 +80,18 @@ class _LockAddressGaoDePageState extends State } Future requestIOSLocation() async { - location = AMapFlutterLocation() - ..setLocationOption(AMapLocationOption()) - ..onLocationChanged().listen((Map event) { - // AppLog.log("listenLocationChanged$event"); - // EasyLoading.dismiss(); - if (event.isNotEmpty) { - setState(() { - addressInfo = event; - }); - // location.stopLocation(); - } - }) - ..startLocation(); + location.setLocationOption(AMapLocationOption()); + location.onLocationChanged().listen((Map event) { + // AppLog.log("listenLocationChanged$event"); + // EasyLoading.dismiss(); + if (event.isNotEmpty) { + setState(() { + addressInfo = event; + }); + // location.stopLocation(); + } + }); + location.startLocation(); } @override @@ -152,85 +117,88 @@ class _LockAddressGaoDePageState extends State SizedBox( child: (addressInfo != null && addressInfo!.containsKey('latitude')) ? Column( + children: [ + SizedBox( + height: 1.sw / 5 * 4, + width: 1.sw, + child: AMapWidget( + apiKey: amapApiKeys, + // 初始化地图中心 + initialCameraPosition: CameraPosition( + target: LatLng( + double.parse( + addressInfo!['latitude'].toString()), + double.parse( + addressInfo!['longitude'].toString())), + zoom: 10.0, + ), + //定位小蓝点 + myLocationStyleOptions: MyLocationStyleOptions( + true, + ), + // 普通地图normal,卫星地图satellite,夜间视图night,导航视图 navi,公交视图bus, + mapType: MapType.normal, + // 缩放级别范围 + minMaxZoomPreference: + const MinMaxZoomPreference(3, 20), + // 隐私政策包含高德 必须填写 + privacyStatement: const AMapPrivacyStatement( + hasAgree: true, hasContains: true, hasShow: true), + // 地图创建成功时返回AMapController + onMapCreated: (AMapController controller) { + mapController = controller; + }, + onLocationChanged: (AMapLocation location) { + print("onLocationChanged ${location}"); + }, + ), + ), + Container( + // color: Colors.red, + margin: + EdgeInsets.only(left: 25.w, top: 20.h, right: 25.w), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, children: [ - SizedBox( - height: 1.sw / 5 * 4, - width: 1.sw, - child: AMapWidget( - apiKey: amapApiKeys, - // 初始化地图中心 - initialCameraPosition: CameraPosition( - target: LatLng( - double.parse( - addressInfo!['latitude'].toString()), - double.parse( - addressInfo!['longitude'].toString())), - zoom: 10.0, - ), - //定位小蓝点 - myLocationStyleOptions: MyLocationStyleOptions( - true, - ), - // 普通地图normal,卫星地图satellite,夜间视图night,导航视图 navi,公交视图bus, - mapType: MapType.normal, - // 缩放级别范围 - minMaxZoomPreference: - const MinMaxZoomPreference(3, 20), - // 隐私政策包含高德 必须填写 - privacyStatement: const AMapPrivacyStatement( - hasAgree: true, hasContains: true, hasShow: true), - // 地图创建成功时返回AMapController - onMapCreated: (AMapController controller) { - mapController = controller; - }, - ), - ), - Container( - // color: Colors.red, - margin: - EdgeInsets.only(left: 25.w, top: 20.h, right: 25.w), - child: Row( - mainAxisAlignment: MainAxisAlignment.start, + Flexible( + child: Text('检查以确保以下地址是正确的'.tr, + style: TextStyle(fontSize: 24.sp))), + ], + ), + ), + // SizedBox(height: 20.h), + Container( + // color: Colors.red, + // height: 45.h, + margin: EdgeInsets.only( + left: 25.w, top: 20.h, right: 25.w), + child: Column( + children: [ + Row( children: [ - Flexible( - child: Text('检查以确保以下地址是正确的'.tr, - style: TextStyle(fontSize: 24.sp))), + Expanded( + child: Text( + addressInfo!['address'].toString() ?? + '', + style: const TextStyle( + color: Colors.grey, + fontSize: 16, + fontWeight: FontWeight.w500, + overflow: TextOverflow.clip))), ], ), - ), - // SizedBox(height: 20.h), - Container( - // color: Colors.red, - // height: 45.h, - margin: EdgeInsets.only( - left: 25.w, top: 20.h, right: 25.w), - child: Column( - children: [ - Row( - children: [ - Expanded( - child: Text( - addressInfo!['address'].toString() ?? - '', - style: const TextStyle( - color: Colors.grey, - fontSize: 16, - fontWeight: FontWeight.w500, - overflow: TextOverflow.clip))), - ], - ), - SizedBox(height: 5.h), - Container( - height: 1.h, - color: AppColors.mainColor, - ), - ], - )), - ], - ) + SizedBox(height: 5.h), + Container( + height: 1.h, + color: AppColors.mainColor, + ), + ], + )), + ], + ) : SizedBox( - height: 1.sw / 5 * 4 + 65.h * 2, - child: Center(child: Text('地图加载中,请稍候。。。'.tr))), + height: 1.sw / 5 * 4 + 65.h * 2, + child: Center(child: Text('地图加载中,请稍候。。。'.tr))), ), SizedBox(height: 200.h), Row( @@ -242,14 +210,15 @@ class _LockAddressGaoDePageState extends State style: TextStyle(color: Colors.black, fontSize: 24.sp), ), onPressed: () { - Get.toNamed(Routers.addLockSelectCountryPage, arguments: { - 'addressInfo': {}, - 'pwdTimestamp': state.pwdTimestamp.value, - 'lockInfo': state.lockInfo, - 'featureValue': state.featureValue, - 'featureSettingValue': state.featureSettingValue, - 'featureSettingParams': state.featureSettingParams, - }); + Get.toNamed(Routers.addLockSelectCountryPage, + arguments: { + 'addressInfo': {}, + 'pwdTimestamp': state.pwdTimestamp.value, + 'lockInfo': state.lockInfo, + 'featureValue': state.featureValue, + 'featureSettingValue': state.featureSettingValue, + 'featureSettingParams': state.featureSettingParams, + }); }, ), TextButton( @@ -262,15 +231,16 @@ class _LockAddressGaoDePageState extends State logic.showToast('还未获取到位置信息哦,请耐心等待一下!'.tr); return; } - Get.toNamed(Routers.saveLockPage, arguments: { - 'addressInfo': addressInfo, - 'pwdTimestamp': state.pwdTimestamp.value, - 'lockInfo': state.lockInfo, - 'featureValue': state.featureValue, - 'featureSettingValue': state.featureSettingValue, - 'featureSettingParams': state.featureSettingParams, - 'isFromMap': 1, - }); + Get.toNamed(Routers.saveLockPage, + arguments: { + 'addressInfo': addressInfo, + 'pwdTimestamp': state.pwdTimestamp.value, + 'lockInfo': state.lockInfo, + 'featureValue': state.featureValue, + 'featureSettingValue': state.featureSettingValue, + 'featureSettingParams': state.featureSettingParams, + 'isFromMap': 1, + }); // Navigator.pushNamed(context, Routers.saveLockPage); }, ), diff --git a/lib/mine/addLock/saveLock/saveLock_logic.dart b/lib/mine/addLock/saveLock/saveLock_logic.dart index 2074d793..7e8ae377 100755 --- a/lib/mine/addLock/saveLock/saveLock_logic.dart +++ b/lib/mine/addLock/saveLock/saveLock_logic.dart @@ -3,10 +3,10 @@ import 'dart:async'; import 'package:flutter_blue_plus/flutter_blue_plus.dart'; import 'package:get/get.dart'; +import 'package:star_lock/apm/apm_helper.dart'; import 'package:star_lock/main/lockDetail/lockDetail/lockDetail_logic.dart'; import 'package:star_lock/mine/addLock/saveLock/entity/SaveLockEntity.dart'; -import 'package:umeng_common_sdk/umeng_common_sdk.dart'; import '../../../app_settings/app_settings.dart'; import '../../../blue/blue_manage.dart'; @@ -407,7 +407,7 @@ class SaveLockLogic extends BaseGetXController { state.lockId = entity.data!.lockId!; final String getMobile = (await Storage.getMobile())!; - UmengCommonSdk.onEvent('save_lock_result', { + ApmHelper.instance.trackEvent('save_lock_result', { 'lock_name':BlueManage().connectDeviceName, 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, 'date':DateTool().getNowDateWithType(1), @@ -423,7 +423,7 @@ class SaveLockLogic extends BaseGetXController { state.sureBtnState.value = 0; final String getMobile = (await Storage.getMobile())!; - UmengCommonSdk.onEvent('save_lock_result', { + ApmHelper.instance.trackEvent('save_lock_result', { 'lock_name':BlueManage().connectDeviceName, 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, 'date':DateTool().getNowDateWithType(1), diff --git a/lib/mine/addLock/selectLockType/selectLockType_page.dart b/lib/mine/addLock/selectLockType/selectLockType_page.dart index bb8dfa20..3688d0ae 100755 --- a/lib/mine/addLock/selectLockType/selectLockType_page.dart +++ b/lib/mine/addLock/selectLockType/selectLockType_page.dart @@ -18,7 +18,8 @@ class SelectLockTypePage extends StatefulWidget { State createState() => _SelectLockTypePageState(); } -class _SelectLockTypePageState extends State with BaseWidget { +class _SelectLockTypePageState extends State + with BaseWidget { final SelectLockTypeLogic logic = Get.put(SelectLockTypeLogic()); final SelectLockTypeState state = Get.find().state; @@ -79,36 +80,34 @@ class _SelectLockTypePageState extends State with BaseWidget return [ lockTypeItem('images/lockType/lockType_doorLock.png', '门锁'.tr, () { CommonDataManage().seletLockType = 1; - Navigator.pushNamed(context, Routers.addLockPage, + Get.toNamed(Routers.addLockPage, arguments: {'getLockType': 1}); }), - if (!F.isLite) - lockTypeItem('images/lockType/lockType_NFCLock.png', - 'NFC无源锁'.tr, () { + // if (!F.isLite) + lockTypeItem('images/lockType/lockType_NFCLock.png', 'NFC无源锁'.tr, () { CommonDataManage().seletLockType = 2; // Navigator.pushNamed(context, Routers.addLockPage); + logic.getNearByLimits(); }), - if (!F.isLite) - lockTypeItem('images/lockType/lockType_padlock.png', - '挂锁'.tr, () { - CommonDataManage().seletLockType = 3; + // if (!F.isLite) + lockTypeItem('images/lockType/lockType_padlock.png', '挂锁'.tr, () { + CommonDataManage().seletLockType = 3; // Navigator.pushNamed(context, Routers.addLockPage); + logic.getNearByLimits(); }), - lockTypeItem('images/lockType/lockType_safeLock.png', - '保险箱锁'.tr, () { - CommonDataManage().seletLockType = 4; + lockTypeItem('images/lockType/lockType_safeLock.png', '保险箱锁'.tr, () { + CommonDataManage().seletLockType = 4; Navigator.pushNamed(context, Routers.addLockPage, arguments: {'getLockType': 4}); }), - lockTypeItem('images/lockType/lockType_parkingLock.png', - '车位锁'.tr, () { - CommonDataManage().seletLockType = 5; + lockTypeItem('images/lockType/lockType_parkingLock.png', '车位锁'.tr, () { + CommonDataManage().seletLockType = 5; Navigator.pushNamed(context, Routers.addLockPage, arguments: {'getLockType': 5}); }), - lockTypeItem('images/lockType/lockType_entranceGuardLock.png', - '智能门禁'.tr, () { - CommonDataManage().seletLockType = 6; + lockTypeItem('images/lockType/lockType_entranceGuardLock.png', '智能门禁'.tr, + () { + CommonDataManage().seletLockType = 6; Navigator.pushNamed(context, Routers.addLockPage, arguments: {'getLockType': 6}); }), @@ -117,17 +116,17 @@ class _SelectLockTypePageState extends State with BaseWidget // TranslationLoader.lanKeys!.bicycleLock!.tr, () { // Navigator.pushNamed(context, Routers.addLockPage); // }), - if (!F.isLite) - lockTypeItem('images/lockType/lockType_gatewayLock.png', - '网关'.tr, () { - CommonDataManage().seletLockType = 7; - Get.toNamed(Routers.selectGatewayTypeNextTipPage); - }), - if (!F.isLite) - lockTypeItem('images/lockType/lockType_camera.png', '网络摄像头'.tr, () { - CommonDataManage().seletLockType = 8; - // Navigator.pushNamed(context, Routers.gatewayListPage); - }), + // if (!F.isLite) + lockTypeItem('images/lockType/lockType_gatewayLock.png', '网关'.tr, () { + CommonDataManage().seletLockType = 7; + Get.toNamed(Routers.selectGatewayTypeNextTipPage); + }), + // if (!F.isLite) + lockTypeItem('images/lockType/lockType_camera.png', '网络摄像头'.tr, () { + CommonDataManage().seletLockType = 8; + // Navigator.pushNamed(context, Routers.gatewayListPage); + logic.getNearByLimits(); + }), ]; } diff --git a/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_logic.dart b/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_logic.dart index 1cf70a9e..17344cda 100644 --- a/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_logic.dart +++ b/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_logic.dart @@ -31,7 +31,8 @@ class GatewayConfigurationWifiLogic extends BaseGetXController { networkName: state.wifiNameTF.text, networkMac: state.gatewayModel.wifiMac, version: state.gatewayModel.gatewayVersion, - gatewayJson: jsonDecode(state.gatewayJson)); + gatewayJson: jsonDecode(state.gatewayJson), + timeout: 60); if (entity.errorCode!.codeIsSuccessful) { showToast('配网成功'.tr, something: () { // eventBus.fire(PassCurrentLockInformationEvent(state.lockSetInfoData.value)); @@ -42,7 +43,7 @@ class GatewayConfigurationWifiLogic extends BaseGetXController { Future getGatewayConfiguration() async { final GetGatewayConfigurationEntity entity = - await ApiRepository.to.getGatewayConfiguration(); + await ApiRepository.to.getGatewayConfiguration(timeout: 60); if (entity.errorCode!.codeIsSuccessful) { state.getGatewayConfigurationStr = entity.data ?? ''; // AppLog.log('state.getGatewayConfigurationStr:${state.getGatewayConfigurationStr}'); diff --git a/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_page.dart b/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_page.dart index 02433378..5342d939 100755 --- a/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_page.dart +++ b/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_page.dart @@ -3,7 +3,6 @@ import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; -import '../../../../appRouters.dart'; import '../../../../app_settings/app_colors.dart'; import '../../../../tools/appRouteObserver.dart'; import '../../../../tools/commonItem.dart'; @@ -37,15 +36,15 @@ class _GatewayConfigurationWifiPageState backgroundColor: AppColors.mainColor), body: Column( children: [ - // Container( - // width: 1.sw, - // color: const Color(0xFFF2F6F9), - // padding: EdgeInsets.all(15.h), - // child: Text( - // '不支持5G WiFi网络,请选择2.4G WiFi网络进行配置'.tr, - // style: TextStyle( - // color: AppColors.darkGrayTextColor, fontSize: 20.sp), - // )), + Container( + width: 1.sw, + color: const Color(0xFFF2F6F9), + padding: EdgeInsets.all(15.h), + child: Text( + '不支持5G WiFi网络,请选择2.4G WiFi网络进行配置'.tr, + style: TextStyle( + color: AppColors.darkGrayTextColor, fontSize: 20.sp), + )), Expanded( child: ListView( children: [ diff --git a/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_logic.dart b/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_logic.dart index 28f471e9..bc1be973 100644 --- a/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_logic.dart +++ b/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_logic.dart @@ -2,7 +2,7 @@ import 'dart:async'; import 'package:flutter_blue_plus/flutter_blue_plus.dart'; import 'package:get/get.dart'; -import 'package:star_lock/blue/io_gateway/io_gateway_configuringWifi.dart'; +import 'package:network_info_plus/network_info_plus.dart'; import 'package:star_lock/blue/io_gateway/io_gateway_getWifiList.dart'; import 'package:star_lock/tools/baseGetXController.dart'; @@ -129,11 +129,26 @@ class GatewayGetWifiListLogic extends BaseGetXController { }, isAddEquipment: true); } + final NetworkInfo _networkInfo = NetworkInfo(); + Future getWifiName() async { + String ssid = ''; + ssid = (await _networkInfo.getWifiName())!; + ssid = ssid ?? ''; + ssid = ssid.replaceAll(r'"', ''); + return ssid ?? ''; + } + @override void onReady() { super.onReady(); _initReplySubscription(); + + getWifiName().then((String value) { + state.phoneConnectedWiFi = value; + // update(); + // AppLog.log('wifiNameTF:${state.wifiNameTF.text} value:$value'); + }); } @override diff --git a/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_page.dart b/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_page.dart index fc031e43..7302a69b 100644 --- a/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_page.dart +++ b/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_page.dart @@ -1,4 +1,3 @@ - import 'package:flutter/material.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; @@ -20,9 +19,11 @@ class GatewayGetWifiListPage extends StatefulWidget { State createState() => _GatewayGetWifiListPageState(); } -class _GatewayGetWifiListPageState extends State with RouteAware{ +class _GatewayGetWifiListPageState extends State + with RouteAware { final GatewayGetWifiListLogic logic = Get.put(GatewayGetWifiListLogic()); - final GatewayGetWifiListState state = Get.find().state; + final GatewayGetWifiListState state = + Get.find().state; @override Widget build(BuildContext context) { @@ -34,7 +35,8 @@ class _GatewayGetWifiListPageState extends State with Ro actionsList: [ TextButton( child: Text( - '刷新'.tr, style: TextStyle(color: Colors.white, fontSize: 24.sp), + '刷新'.tr, + style: TextStyle(color: Colors.white, fontSize: 24.sp), ), onPressed: logic.senderGetWifiListWifiAction, ), @@ -43,17 +45,25 @@ class _GatewayGetWifiListPageState extends State with Ro body: Column( children: [ Expanded( - child: Obx(() => state.wifiNameDataList.value.isNotEmpty ? ListView.builder( - itemCount: state.wifiNameDataList.value.length, - itemBuilder: (BuildContext c, int index) { - Map wifiNameStr = state.wifiNameDataList.value[index]; - return _messageListItem(wifiNameStr['wifiName'], wifiNameStr['rssi'], () { - Get.toNamed(Routers.gatewayConfigurationWifiPage, arguments: { - 'wifiName': wifiNameStr['wifiName'], - 'gatewayModel': state.gatewayModel - }); - }); - }) : NoData(noDataHeight: 1.sh - ScreenUtil().statusBarHeight - ScreenUtil().bottomBarHeight - 64.h)), + child: Obx(() => state.wifiNameDataList.value.isNotEmpty + ? ListView.builder( + itemCount: state.wifiNameDataList.value.length, + itemBuilder: (BuildContext c, int index) { + Map wifiNameStr = state.wifiNameDataList.value[index]; + return _messageListItem( + wifiNameStr['wifiName'], wifiNameStr['rssi'], () { + Get.toNamed(Routers.gatewayConfigurationWifiPage, + arguments: { + 'wifiName': wifiNameStr['wifiName'], + 'gatewayModel': state.gatewayModel + }); + }); + }) + : NoData( + noDataHeight: 1.sh - + ScreenUtil().statusBarHeight - + ScreenUtil().bottomBarHeight - + 64.h)), ), SubmitBtn( btnName: '手动配网'.tr, @@ -70,8 +80,7 @@ class _GatewayGetWifiListPageState extends State with Ro height: 64.h, ) ], - ) - ); + )); } Widget _messageListItem(String wifiName, String rssi, Function() action) { @@ -93,7 +102,7 @@ class _GatewayGetWifiListPageState extends State with Ro children: [ SizedBox( height: 79.h, - width: 1.sw - 20.w*2, + width: 1.sw - 20.w * 2, child: Row( // mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ @@ -103,7 +112,10 @@ class _GatewayGetWifiListPageState extends State with Ro maxLines: 1, overflow: TextOverflow.ellipsis, style: TextStyle( - fontSize: 22.sp, color: AppColors.blackColor), + fontSize: 22.sp, + color: state.phoneConnectedWiFi == wifiName + ? AppColors.mainColor + : AppColors.blackColor), ), ), // Text( diff --git a/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_state.dart b/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_state.dart index 0ef78d83..224c1025 100644 --- a/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_state.dart +++ b/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_state.dart @@ -1,10 +1,8 @@ - - import 'package:get/get.dart'; import '../selectGateway/getGatewayInfo_model.dart'; -class GatewayGetWifiListState{ +class GatewayGetWifiListState { GatewayGetWifiListState() { var map = Get.arguments; if (map['gatewayModel'] != null && map['gatewayModel'] != '') { @@ -12,9 +10,11 @@ class GatewayGetWifiListState{ } } - final RxList> wifiNameDataList = >[].obs; + final RxList> wifiNameDataList = + >[].obs; GetGatewayInfoModel gatewayModel = GetGatewayInfoModel(); RxBool ifCurrentScreen = true.obs; // 是否是当前界面,用于判断是否需要针对当前界面进行展示 RxInt sureBtnState = 0.obs; -} \ No newline at end of file + String? phoneConnectedWiFi; +} diff --git a/lib/mine/gateway/addGateway/selectGateway/selectGatewayList_logic.dart b/lib/mine/gateway/addGateway/selectGateway/selectGatewayList_logic.dart index 89289209..09222b9e 100644 --- a/lib/mine/gateway/addGateway/selectGateway/selectGatewayList_logic.dart +++ b/lib/mine/gateway/addGateway/selectGateway/selectGatewayList_logic.dart @@ -97,9 +97,9 @@ class SelectGatewayListLogic extends BaseGetXController { } void startScanBlueList() { + state.devices.clear(); BlueManage().startScan(2000, DeviceType.gateway, (List list) { AppLog.log('ScanResultList:$list'); - state.devices.clear(); for (int i = 0; i < list.length; i++) { final ScanResult device = list[i]; // if ((device.advertisementData.serviceUuids.isNotEmpty @@ -107,7 +107,12 @@ class SelectGatewayListLogic extends BaseGetXController { // : '') // .toString()[31] != // '1') { - state.devices.add(list[i]); + if (!state.devices.contains(device)) { + state.devices.add(device); + } else { + // 包含的情况下替换 + state.devices[state.devices.indexOf(device)] = device; + } // AppLog.log('device:${list[i]}'); // } } diff --git a/lib/mine/gateway/addGateway/selectGatewayTypeNextTip/selectGatewayTypeNextTip_page.dart b/lib/mine/gateway/addGateway/selectGatewayTypeNextTip/selectGatewayTypeNextTip_page.dart index 6626f63f..e63d2cfd 100755 --- a/lib/mine/gateway/addGateway/selectGatewayTypeNextTip/selectGatewayTypeNextTip_page.dart +++ b/lib/mine/gateway/addGateway/selectGatewayTypeNextTip/selectGatewayTypeNextTip_page.dart @@ -53,7 +53,7 @@ class _SelectGatewayTypeNextTipPageState padding: EdgeInsets.all(20.w), child: Center( child: Text( - '网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步'.tr, + '网关通电后,长按重置按钮5秒,蓝色指示灯闪烁时点击下一步'.tr, textAlign: TextAlign.center, style: TextStyle(fontSize: 18.sp), ))), diff --git a/lib/mine/gateway/gatewayConnectionLock/gatewayConnectionLockList_logic.dart b/lib/mine/gateway/gatewayConnectionLock/gatewayConnectionLockList_logic.dart index d670c100..1865d315 100644 --- a/lib/mine/gateway/gatewayConnectionLock/gatewayConnectionLockList_logic.dart +++ b/lib/mine/gateway/gatewayConnectionLock/gatewayConnectionLockList_logic.dart @@ -12,7 +12,8 @@ class GatewayConnectionLockListLogic extends BaseGetXController { Future gatewayConnectionLockListDataRequest() async { final GatewayConnectionLockListEntity entity = await ApiRepository.to - .gatewayConnectionLockLoadData(gatewayId: state.gatewayId.value); + .gatewayConnectionLockLoadData( + gatewayId: state.gatewayId.value, timeout: 60); if (entity.errorCode!.codeIsSuccessful) { state.itemDataList.value = entity.data!.list!; } @@ -21,7 +22,7 @@ class GatewayConnectionLockListLogic extends BaseGetXController { Future gatewayScanDevice() async { final LoginEntity entity = await ApiRepository.to - .gatewayScanDevice(gatewayId: state.gatewayId.value); + .gatewayScanDevice(gatewayId: state.gatewayId.value, timeout: 60); if (entity.errorCode!.codeIsSuccessful) { gatewayConnectionLockListDataRequest(); } diff --git a/lib/mine/gateway/gatewayConnectionLock/gatewayConnectionLockList_page.dart b/lib/mine/gateway/gatewayConnectionLock/gatewayConnectionLockList_page.dart index 7eaaa516..8978cfce 100755 --- a/lib/mine/gateway/gatewayConnectionLock/gatewayConnectionLockList_page.dart +++ b/lib/mine/gateway/gatewayConnectionLock/gatewayConnectionLockList_page.dart @@ -49,7 +49,7 @@ class _GatewayConnectionLockListPageState Obx(() => Expanded( child: state.itemDataList.value.isNotEmpty ? ListView.builder( - itemCount: 10, + itemCount: state.itemDataList.value.length, itemBuilder: (BuildContext c, int index) { final GatewayConnectionLockItemEntity entity = state.itemDataList[index]; diff --git a/lib/mine/gateway/gatewayDetail/gatewayDetail_logic.dart b/lib/mine/gateway/gatewayDetail/gatewayDetail_logic.dart index 5ea251f0..eabb827f 100644 --- a/lib/mine/gateway/gatewayDetail/gatewayDetail_logic.dart +++ b/lib/mine/gateway/gatewayDetail/gatewayDetail_logic.dart @@ -12,7 +12,8 @@ class GatewayDetailLogic extends BaseGetXController { Future deletGateway(int isForce) async { final LoginEntity entity = await ApiRepository.to.gatewayDelet( gatewayId: state.getewayItemData.value.gatewayId ?? 0, - isForce: isForce); + isForce: isForce, + timeout: 60); if (entity.errorCode!.codeIsSuccessful) { showToast('删除成功'.tr, something: () { // eventBus.fire(PassCurrentLockInformationEvent(state.lockSetInfoData.value)); @@ -27,7 +28,8 @@ class GatewayDetailLogic extends BaseGetXController { Future updateGateway(String gatewayName) async { final LoginEntity entity = await ApiRepository.to.gatewayUpdate( gatewayId: state.getewayItemData.value.gatewayId ?? 0, - gatewayName: gatewayName); + gatewayName: gatewayName, + timeout: 60); if (entity.errorCode!.codeIsSuccessful) { showToast('修改成功'.tr, something: () { // eventBus.fire(PassCurrentLockInformationEvent(state.lockSetInfoData.value)); diff --git a/lib/mine/gateway/gatewayList/gatewayList_logic.dart b/lib/mine/gateway/gatewayList/gatewayList_logic.dart index cb99572f..7606aaae 100644 --- a/lib/mine/gateway/gatewayList/gatewayList_logic.dart +++ b/lib/mine/gateway/gatewayList/gatewayList_logic.dart @@ -1,4 +1,3 @@ - import 'package:star_lock/tools/baseGetXController.dart'; import '../../../login/login/entity/LoginEntity.dart'; @@ -18,9 +17,7 @@ class GatewayListLogic extends BaseGetXController { pageNo = 1; } final GetewayDataEntity entity = await ApiRepository.to.getGatewayListData( - pageNo: pageNo.toString(), - pageSize: pageSize, - ); + pageNo: pageNo.toString(), pageSize: pageSize, timeout: 60); if (entity.errorCode!.codeIsSuccessful) { // 更新数据列表 state.getewayListData.addAll(entity.data!.list!); @@ -51,7 +48,6 @@ class GatewayListLogic extends BaseGetXController { // @override // void onInit() { // super.onInit(); - // gatewayDistributionNetwork(); + // gatewayDistributionNetwork(); // } - -} \ No newline at end of file +} diff --git a/lib/mine/mine/starLockMine_page.dart b/lib/mine/mine/starLockMine_page.dart index fad1ad1d..aae1828c 100755 --- a/lib/mine/mine/starLockMine_page.dart +++ b/lib/mine/mine/starLockMine_page.dart @@ -49,7 +49,7 @@ class StarLockMinePageState extends State with BaseWidget { onTap: () { WechatManageTool.getAppInfo(() { WxPushWeChatMiniProgramTool.pushWeChatMiniProgram( - 'wxbe340095d2b8fd51'); + F.wechatAppInfo.wechatAppId, F.wechatAppInfo.universalLink); }); }, child: Padding( diff --git a/lib/mine/mineMultiLanguage/mineMultiLanguage_page.dart b/lib/mine/mineMultiLanguage/mineMultiLanguage_page.dart index 86e75fe5..a5a83f84 100755 --- a/lib/mine/mineMultiLanguage/mineMultiLanguage_page.dart +++ b/lib/mine/mineMultiLanguage/mineMultiLanguage_page.dart @@ -5,6 +5,7 @@ import 'package:star_lock/mine/mineMultiLanguage/mineMultiLanguage_state.dart'; import 'package:star_lock/translations/current_locale_tool.dart'; import '../../app_settings/app_colors.dart'; +import '../../app_settings/app_settings.dart'; import '../../tools/commonItem.dart'; import '../../tools/titleAppBar.dart'; import '../../translations/app_dept.dart'; @@ -86,6 +87,8 @@ class _MineMultiLanguagePageState extends State { if (state.currentLanguageType.value == lanType) { state.seletLocale = 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( CommonItem( diff --git a/lib/mine/mineMultiLanguage/mineMultiLanguage_state.dart b/lib/mine/mineMultiLanguage/mineMultiLanguage_state.dart index a91eba99..29396160 100755 --- a/lib/mine/mineMultiLanguage/mineMultiLanguage_state.dart +++ b/lib/mine/mineMultiLanguage/mineMultiLanguage_state.dart @@ -4,20 +4,21 @@ import 'package:star_lock/app_settings/app_settings.dart'; import '../../tools/store_service.dart'; import '../../translations/app_dept.dart'; +import '../../translations/current_locale_tool.dart'; class MineMultiLanguageState { - // MineMultiLanguageState() { - // resetLan(); - // } + MineMultiLanguageState() {} List get languages { return appDept.deptSupportedLocales; } - Rx currentLanguageType = - StoreService.to.getLanguageCode()!.isEmpty - ? LanguageType.system.obs - : ExtensionLanguageType.fromLocale(Get.locale!).obs; + Rx currentLanguageType = StoreService.to + .getLanguageCode()! + .isEmpty + ? LanguageType.system.obs + : ExtensionLanguageType.fromLocale(CurrentLocaleTool.getCurrentLocale()) + .obs; late Locale seletLocale; } diff --git a/lib/mine/mineSet/mineSet/mineSet_logic.dart b/lib/mine/mineSet/mineSet/mineSet_logic.dart index 40dbc7be..6c7c6679 100755 --- a/lib/mine/mineSet/mineSet/mineSet_logic.dart +++ b/lib/mine/mineSet/mineSet/mineSet_logic.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; +import 'package:star_lock/apm/apm_helper.dart'; import 'package:star_lock/appRouters.dart'; import 'package:star_lock/login/login/entity/LoginEntity.dart'; import 'package:star_lock/mine/minePersonInfo/minePersonInfoPage/minePersonInfo_entity.dart'; @@ -13,7 +14,6 @@ import 'package:star_lock/tools/push/xs_jPhush.dart'; import 'package:star_lock/tools/showCupertinoAlertView.dart'; import 'package:star_lock/tools/storage.dart'; import 'package:star_lock/versionUndate/versionUndate_entity.dart'; -import 'package:umeng_common_sdk/umeng_common_sdk.dart'; import '../../../../network/api_repository.dart'; import '../../../../tools/baseGetXController.dart'; @@ -131,7 +131,8 @@ class MineSetLogic extends BaseGetXController { await ApiRepository.to.userLogout(deviceld: getPushDeviceID); final String getMobile = (await Storage.getMobile())!; if (entity.errorCode!.codeIsSuccessful) { - UmengCommonSdk.onEvent('logout', { + ApmHelper.instance.logout(); + ApmHelper.instance.trackEvent('logout', { 'lock_name': BlueManage().connectDeviceName, 'account': getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, @@ -149,7 +150,8 @@ class MineSetLogic extends BaseGetXController { XSJPushProvider().initLocalNotification(isCancelLocalPush: true); Get.offNamedUntil(Routers.starLockLoginPage, (Route route) => false); } else { - UmengCommonSdk.onEvent('logout', { + ApmHelper.instance.logout(); + ApmHelper.instance.trackEvent('logout', { 'lock_name': BlueManage().connectDeviceName, 'account': getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!, @@ -184,4 +186,10 @@ class MineSetLogic extends BaseGetXController { // state.currentLanguage.value = CurrentLocaleTool.getCurrentLocaleString(); // }); // } + + @override + Future onReady() async { + super.onReady(); + getUserInfoRequest(); + } } diff --git a/lib/mine/mineSet/mineSet/mineSet_page.dart b/lib/mine/mineSet/mineSet/mineSet_page.dart index e0835c62..0f277f3a 100755 --- a/lib/mine/mineSet/mineSet/mineSet_page.dart +++ b/lib/mine/mineSet/mineSet/mineSet_page.dart @@ -86,7 +86,8 @@ class _MineSetPageState extends State onTap: () { WechatManageTool.getAppInfo(() { WxPushWeChatMiniProgramTool.pushWeChatMiniProgram( - 'wxbe340095d2b8fd51'); + F.wechatAppInfo.wechatAppId, + F.wechatAppInfo.universalLink); }); }, child: ClipRRect( diff --git a/lib/mine/mineSet/transferGateway/selectGetewayList_logic.dart b/lib/mine/mineSet/transferGateway/selectGetewayList_logic.dart index 26333cdd..558d4027 100755 --- a/lib/mine/mineSet/transferGateway/selectGetewayList_logic.dart +++ b/lib/mine/mineSet/transferGateway/selectGetewayList_logic.dart @@ -1,20 +1,17 @@ - import 'package:star_lock/mine/mineSet/transferGateway/selectGetewayList_entity.dart'; import 'package:star_lock/tools/baseGetXController.dart'; import '../../../network/api_repository.dart'; import 'selectGetewayList_state.dart'; -class SelectGetewayListLogic extends BaseGetXController{ +class SelectGetewayListLogic extends BaseGetXController { SelectGetewayListState state = SelectGetewayListState(); // 获取锁列表 - Future getGetewayListData() async{ - final GetewayDataEntity entity = await ApiRepository.to.getGatewayListData( - pageNo: '1', - pageSize: '20' - ); - if(entity.errorCode!.codeIsSuccessful){ + Future getGetewayListData() async { + final GetewayDataEntity entity = await ApiRepository.to + .getGatewayListData(pageNo: '1', pageSize: '20', timeout: 60); + if (entity.errorCode!.codeIsSuccessful) { state.getewayListData.value = entity.data!.list!; } } @@ -25,5 +22,4 @@ class SelectGetewayListLogic extends BaseGetXController{ getGetewayListData(); } - -} \ No newline at end of file +} diff --git a/lib/network/api_provider.dart b/lib/network/api_provider.dart index f4638713..07141ae1 100755 --- a/lib/network/api_provider.dart +++ b/lib/network/api_provider.dart @@ -1738,21 +1738,23 @@ class ApiProvider extends BaseProvider { })); // 获取网关列表 - Future getGatewayListData(String pageNo, String pageSize) => post( - gatewaykListURL.toUrl, - jsonEncode({'pageNo': pageNo, 'pageSize': pageSize})); + Future getGatewayListData( + String pageNo, String pageSize, int timeout) => + post(gatewaykListURL.toUrl, + jsonEncode({'pageNo': pageNo, 'pageSize': pageSize}), + timeout: timeout); // 添加网关 Future addGatewayNetwork( - String gatewayName, - String gatewayMac, - String serialNumber, - int gatewayType, - String networkName, - String networkMac, - String version, - Map gatewayJson, - ) => + String gatewayName, + String gatewayMac, + String serialNumber, + int gatewayType, + String networkName, + String networkMac, + String version, + Map gatewayJson, + int timeout) => post( addGatewayURL.toUrl, jsonEncode({ @@ -1764,37 +1766,37 @@ class ApiProvider extends BaseProvider { 'networkMac': networkMac, 'version': version, 'gatewayJson': gatewayJson, - })); + }), + timeout: timeout); // 删除网关 - Future deletGateway(int gatewayId, int isForce) => post( - deletGatewayURL.toUrl, - jsonEncode({ - 'gatewayId': gatewayId, - 'isForce': isForce, - })); + Future deletGateway(int gatewayId, int isForce, int timeout) => + post( + deletGatewayURL.toUrl, + jsonEncode({ + 'gatewayId': gatewayId, + 'isForce': isForce, + }), + timeout: timeout); // 网关更新 Future gatewayUpdate( - int gatewayId, - String gatewayName, - ) => + int gatewayId, String gatewayName, int timeout) => post( updateGatewayURL.toUrl, jsonEncode({ 'gatewayId': gatewayId, 'gatewayName': gatewayName, - })); + }), + timeout: timeout); // 远程开锁 - Future remoteOpenLock( - String lockId, - ) => - post( - remoteOpenLockURL.toUrl, - jsonEncode({ - 'lockId': lockId, - })); + Future remoteOpenLock(String lockId, int timeOut) => post( + remoteOpenLockURL.toUrl, + jsonEncode({ + 'lockId': lockId, + }), + timeout: timeOut); // 转移网关确认 Future transferGatewayConfirmInfoData( @@ -1819,14 +1821,17 @@ class ApiProvider extends BaseProvider { })); // 获取网关配置 - Future getGatewayConfiguration() => - post(getGatewayConfigURL.toUrl, jsonEncode({})); + Future getGatewayConfiguration(int timeout) => + post(getGatewayConfigURL.toUrl, jsonEncode({}), timeout: timeout); - Future gatewayConnectionLockListLoadData(int gatewayId) => - post(gatewayListByLockURL.toUrl, jsonEncode({'gatewayId': gatewayId})); + Future gatewayConnectionLockListLoadData( + int gatewayId, int timeout) => + post(gatewayListByLockURL.toUrl, jsonEncode({'gatewayId': gatewayId}), + timeout: timeout); - Future gatewayScanDevice(int gatewayId) => - post(gatewayScanDeviceURL.toUrl, jsonEncode({'gatewayId': gatewayId})); + Future gatewayScanDevice(int gatewayId, int timeout) => + post(gatewayScanDeviceURL.toUrl, jsonEncode({'gatewayId': gatewayId}), + timeout: timeout); // 移除坏锁 Future removeBrokenLockData(List lockIdList) => diff --git a/lib/network/api_provider_base.dart b/lib/network/api_provider_base.dart index e6563cdb..2d941506 100755 --- a/lib/network/api_provider_base.dart +++ b/lib/network/api_provider_base.dart @@ -37,6 +37,7 @@ class BaseProvider extends GetConnect with Api { bool? isUserBaseUrl = true, // 文件上传不使用baseUrl bool? isShowErrMsg = true, // 是否显示没有网络时的提示 bool? isShowNetworkErrorMsg = true, // 是否显示网络其他报错 如403 500等 + int? timeout = 15, }) async { AppLog.log('post: url:$url body:$body'); if (isUnShowLoading == false) { @@ -47,6 +48,8 @@ class BaseProvider extends GetConnect with Api { } else { httpClient.baseUrl = '${F.apiPrefix}/api'; } + httpClient.timeout = timeout!.seconds; + // AppLog.log('timeout:$timeout httpClient.timeout:${httpClient.timeout}'); var res = await super.post(url, body, contentType: contentType, headers: headers, @@ -78,7 +81,7 @@ class BaseProvider extends GetConnect with Api { statusText: res.statusText, ); } else {} - if(isShowNetworkErrorMsg ?? true){ + if (isShowNetworkErrorMsg ?? true) { getDataResult(res.body); } return res; diff --git a/lib/network/api_repository.dart b/lib/network/api_repository.dart index e57c63c7..8f0796e0 100755 --- a/lib/network/api_repository.dart +++ b/lib/network/api_repository.dart @@ -1922,22 +1922,24 @@ class ApiRepository { // 获取网关列表 Future getGatewayListData( - {required String pageNo, required String pageSize}) async { - final res = await apiProvider.getGatewayListData(pageNo, pageSize); + {required String pageNo, + required String pageSize, + required int timeout}) async { + final res = await apiProvider.getGatewayListData(pageNo, pageSize, timeout); return GetewayDataEntity.fromJson(res.body); } // 添加网关 - Future gatewayDistributionNetwork({ - required String gatewayName, - required String gatewayMac, - required String serialNumber, - required int gatewayType, - required String networkName, - required String networkMac, - required String version, - required Map gatewayJson, - }) async { + Future gatewayDistributionNetwork( + {required String gatewayName, + required String gatewayMac, + required String serialNumber, + required int gatewayType, + required String networkName, + required String networkMac, + required String version, + required Map gatewayJson, + required int timeout}) async { final res = await apiProvider.addGatewayNetwork( gatewayName, gatewayMac, @@ -1946,25 +1948,27 @@ class ApiRepository { networkName, networkMac, version, - gatewayJson); + gatewayJson, + timeout); return LoginEntity.fromJson(res.body); } // 删除网关 - Future gatewayDelet({ - required int gatewayId, - required int isForce, - }) async { - final res = await apiProvider.deletGateway(gatewayId, isForce); + Future gatewayDelet( + {required int gatewayId, + required int isForce, + required int timeout}) async { + final res = await apiProvider.deletGateway(gatewayId, isForce, timeout); return LoginEntity.fromJson(res.body); } // 网关更新 - Future gatewayUpdate({ - required int gatewayId, - required String gatewayName, - }) async { - final res = await apiProvider.gatewayUpdate(gatewayId, gatewayName); + Future gatewayUpdate( + {required int gatewayId, + required String gatewayName, + required int timeout}) async { + final res = + await apiProvider.gatewayUpdate(gatewayId, gatewayName, timeout); return LoginEntity.fromJson(res.body); } @@ -1980,22 +1984,23 @@ class ApiRepository { // 网关-附近的锁 Future gatewayConnectionLockLoadData( - {required int gatewayId}) async { - final res = await apiProvider.gatewayConnectionLockListLoadData(gatewayId); + {required int gatewayId, required int timeout}) async { + final res = + await apiProvider.gatewayConnectionLockListLoadData(gatewayId, timeout); return GatewayConnectionLockListEntity.fromJson(res.body); } // 网关-扫描设备 - Future gatewayScanDevice({ - required int gatewayId, - }) async { - final res = await apiProvider.gatewayScanDevice(gatewayId); + Future gatewayScanDevice( + {required int gatewayId, required int timeout}) async { + final res = await apiProvider.gatewayScanDevice(gatewayId, timeout); return LoginEntity.fromJson(res.body); } // 远程开锁 - Future remoteOpenLock({required String lockId}) async { - final res = await apiProvider.remoteOpenLock(lockId); + Future remoteOpenLock( + {required String lockId, required int timeOut}) async { + final res = await apiProvider.remoteOpenLock(lockId, timeOut); return LoginEntity.fromJson(res.body); } @@ -2010,8 +2015,9 @@ class ApiRepository { } // 获取网关配置 - Future getGatewayConfiguration() async { - final res = await apiProvider.getGatewayConfiguration(); + Future getGatewayConfiguration( + {required int timeout}) async { + final res = await apiProvider.getGatewayConfiguration(timeout); return GetGatewayConfigurationEntity.fromJson(res.body); } diff --git a/lib/tools/appFirstEnterHandle.dart b/lib/tools/appFirstEnterHandle.dart index e6d63573..1d8d58cc 100755 --- a/lib/tools/appFirstEnterHandle.dart +++ b/lib/tools/appFirstEnterHandle.dart @@ -23,9 +23,12 @@ class AppFirstEnterHandle { switch (flagStr) { case isAgreePrivacy: // 隐私协议 if (getFlag != isAgreePrivacy) { - await showPrivacyAgreementAlert(); + final bool? isAgree = await showPrivacyAgreementAlert(); + if (isAgree ?? false) { + await privacySDKInitialization(); + } } - await privacySDKInitialization(); + if (Get.isRegistered()) { Get.find().flushedDeviceInfo(); } @@ -51,8 +54,8 @@ class AppFirstEnterHandle { } //隐私协议弹窗 - Future showPrivacyAgreementAlert() async { - await showCupertinoDialog( + Future showPrivacyAgreementAlert() async { + return await showCupertinoDialog( context: Get.context!, builder: (BuildContext context) { return PopScope( @@ -103,7 +106,7 @@ class AppFirstEnterHandle { }, ), TextSpan( - text: '的全部内容。点击“同意”即表示您同意并接受全部条款。若选择不同意,将无法使用我们的产品和服务,并会退出应用。'.tr + text: '的全部内容。点击“同意”即表示您同意并接受全部条款。若选择不同意,将无法使用我们的产品和服务,并会退出应用。' .tr), ], ), @@ -123,7 +126,7 @@ class AppFirstEnterHandle { ), onPressed: () { Storage.setString(isAgreePrivacy, isAgreePrivacy); - Navigator.of(context).pop(); + Navigator.of(context).pop(true); getAppFirstEnter(isShowUpdateVersion); }, ), @@ -173,7 +176,7 @@ class AppFirstEnterHandle { }, ), TextSpan( - text: '的全部内容。点击“同意”即表示您同意并接受全部条款。若选择不同意,将无法使用我们的产品和服务,并会退出应用。'.tr + text: '的全部内容。点击“同意”即表示您同意并接受全部条款。若选择不同意,将无法使用我们的产品和服务,并会退出应用。' .tr), ], ), @@ -193,7 +196,7 @@ class AppFirstEnterHandle { ), onPressed: () { Storage.setString(isAgreePrivacy, isAgreePrivacy); - Navigator.of(context).pop(); + Navigator.of(context).pop(true); getAppFirstEnter(isShowUpdateVersion); }, ), diff --git a/lib/tools/push/xs_jPhush.dart b/lib/tools/push/xs_jPhush.dart index 7c72a424..1d1847f2 100755 --- a/lib/tools/push/xs_jPhush.dart +++ b/lib/tools/push/xs_jPhush.dart @@ -24,18 +24,12 @@ class XSJPushProvider { return; } - String appKey; - if (F.isSKY) { - appKey = '7ff37d174c1a568a89e98dad'; - } else { - appKey = '251fc8074820d122b6de58d2'; - } - + print('jPushKey ${F.jPushKey}'); jpush.setup( - appKey: appKey, + appKey: F.jPushKey, channel: 'flutter_channel', - production: false, - debug: false, + production: F.isProductionEnv, + debug: !F.isProductionEnv, ); jpush.applyPushAuthority( diff --git a/lib/tools/storage.dart b/lib/tools/storage.dart index 842d18e5..f4fbf998 100755 --- a/lib/tools/storage.dart +++ b/lib/tools/storage.dart @@ -4,6 +4,7 @@ import 'dart:convert'; import 'package:shared_preferences/shared_preferences.dart'; +import 'package:star_lock/apm/apm_helper.dart'; import '../login/login/entity/LoginData.dart'; import '../main/lockMian/entity/lockListInfo_entity.dart'; @@ -29,7 +30,7 @@ const String saveLockMainListData = 'lockMainListData'; const String isOpenDeBug = 'isOpenDeBug'; //是否打开 debug const String automaticLockOffTime = 'automaticLockOffTime'; //自动关锁时间 const String associationUrl = 'associationUrl'; //ios跳转微信的 url - +const String appVersionHistoryUrl = 'appVersionHistoryUrl'; //是否同意隐私协议弹窗 class Storage { factory Storage() => _instance; @@ -192,12 +193,14 @@ class Storage { final String? data = await Storage.getString(saveUserLoginData); if (data != null && data.isNotEmpty) { loginData = LoginData.fromJson(jsonDecode(data)); + ApmHelper.instance.login(loginData.userid!.toString()); } // AppLog.log("loginData:$loginData"); return loginData; } static Future saveLoginData(LoginData? data) async { + ApmHelper.instance.login(data!.userid!.toString()); await Storage.setString(saveUserLoginData, jsonEncode(data)); } diff --git a/lib/tools/wechat/wechatManageTool.dart b/lib/tools/wechat/wechatManageTool.dart index 9f77c6dc..fa548669 100644 --- a/lib/tools/wechat/wechatManageTool.dart +++ b/lib/tools/wechat/wechatManageTool.dart @@ -1,7 +1,6 @@ - - import '../../login/login/app_get_version.dart'; import '../../network/api_repository.dart'; +import '../storage.dart'; import 'customer_tool.dart'; import 'pay/wx_pay_tool.dart'; @@ -13,12 +12,12 @@ class WechatManageTool { static Future getAppInfo(void Function() action) async { // AppLog.log('AppFirstEnterHandle调用了获取App信息接口'); final GetAppInfo entity = await ApiRepository.to.getAppInfo(); - if(entity.errorCode == 0) { + if (entity.errorCode == 0) { + Storage.setString( + appVersionHistoryUrl, entity.data?.appVersionHistoryUrl ?? ''); CustomerTool.init(entity.data?.wechatServiceUrl ?? ''); WxPayTool.setAssociationUrl(entity.data!.appSiteUrl!); action(); } - } - -} \ No newline at end of file +} diff --git a/lib/tools/wechat/wx_push_miniProgram/wx_push_miniProgram.dart b/lib/tools/wechat/wx_push_miniProgram/wx_push_miniProgram.dart index 2779eb4b..43a16561 100644 --- a/lib/tools/wechat/wx_push_miniProgram/wx_push_miniProgram.dart +++ b/lib/tools/wechat/wx_push_miniProgram/wx_push_miniProgram.dart @@ -23,24 +23,23 @@ class WxPushWeChatMiniProgramTool { doOnIOS: true); } - static Future pushWeChatMiniProgram(String appId) async { + static Future pushWeChatMiniProgram(String appId,String _associationUrl) async { if (!isInit) { isInit = true; - final String _associationUrl = await Storage.getAssociationUrl(); await initWeChatMiniProgram(appId, _associationUrl); final MiniProgram miniProgram = MiniProgram( username: 'gh_93a4493485e1', // 微信小程序原始ID - path: 'pages/index/index', // 跳转的小程序页面路径,可选 - miniProgramType: WXMiniProgramType.release, // 小程序版本类型 + // path: 'pages/index/index', // 跳转的小程序页面路径,可选 + // miniProgramType: WXMiniProgramType.release, // 小程序版本类型 ); await fluwx.open(target: miniProgram); } else { final MiniProgram miniProgram = MiniProgram( username: 'gh_93a4493485e1', // 微信小程序原始ID - path: 'pages/index/index', // 跳转的小程序页面路径,可选 - miniProgramType: WXMiniProgramType.release, // 小程序版本类型 + // path: 'pages/index/index', // 跳转的小程序页面路径,可选 + // miniProgramType: WXMiniProgramType.release, // 小程序版本类型 ); await fluwx.open(target: miniProgram); diff --git a/lib/translations/app_dept.dart b/lib/translations/app_dept.dart index 55cf2762..c58d5de8 100755 --- a/lib/translations/app_dept.dart +++ b/lib/translations/app_dept.dart @@ -48,7 +48,7 @@ extension ExtensionAppDept on AppDept { 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 hbsL = Locale('hr', 'HR'); const Locale thL = Locale('th', 'TH'); const Locale idL = Locale('id', 'ID'); const Locale fiL = Locale('fi', 'FI'); @@ -581,7 +581,7 @@ extension ExtensionLanguageType on LanguageType { } break; case LanguageType.croatian: - if (locale.languageCode == 'hr' && locale.countryCode == 'BA') { + if (locale.languageCode == 'hr' && locale.countryCode == 'HR') { return locale; } break; diff --git a/lib/translations/current_locale_tool.dart b/lib/translations/current_locale_tool.dart index 10c79e49..d8efd460 100644 --- a/lib/translations/current_locale_tool.dart +++ b/lib/translations/current_locale_tool.dart @@ -8,18 +8,15 @@ import 'app_dept.dart'; class CurrentLocaleTool { /// 获取当前语言的Locale字符串,没有的话获取系统的 static String getCurrentLocaleString() { - final Locale locale = StoreService.to.getLanguageCode()!.isNotEmpty + final String languageCode = StoreService.to.getLanguageCode()!.isNotEmpty ? appDept.deptSupportedLocales .where((Locale element) => - element.languageCode.toString() == - getCurrentLocaleWithLanguageCode( - StoreService.to.getLanguageCode()!) - .languageCode) + element.toString() == StoreService.to.getLanguageCode()!) .first - : Get.deviceLocale!; // Get.deviceLocale; - final String languageCode = convertLocale(locale).toString(); - // AppLog.log( - // '11111locale.toString(): ${locale.toString()} locale: $locale languageCode:$languageCode 从本地获取code:${StoreService.to.getLanguageCode()}'); + .toString() + : convertLocale(Get.deviceLocale!).toString(); // Get.deviceLocale; + // final String languageCode = convertLocale(locale).toString(); + // AppLog.log('11111locale.toString(): ${locale.toString()} locale: $locale languageCode:$languageCode 从本地获取code:${StoreService.to.getLanguageCode()}'); return languageCode; } @@ -28,15 +25,12 @@ class CurrentLocaleTool { final Locale locale = StoreService.to.getLanguageCode()!.isNotEmpty ? appDept.deptSupportedLocales .where((Locale element) => - element.languageCode.toString() == - getCurrentLocaleWithLanguageCode( - StoreService.to.getLanguageCode()!) - .languageCode) + element.toString() == StoreService.to.getLanguageCode()!) .first : Get.deviceLocale!; // Get.deviceLocale; final Locale getLocale = convertLocale(locale); - // AppLog.log( - // '222locale.toString(): ${locale.toString()} locale: $locale getLocale:$getLocale 从本地获取code:${StoreService.to.getLanguageCode()}'); + AppLog.log( + '222locale.toString(): ${locale.toString()} locale: $locale getLocale:$getLocale 从本地获取code:${StoreService.to.getLanguageCode()}'); return getLocale; } @@ -129,7 +123,7 @@ class CurrentLocaleTool { case 'bn': return const Locale('bn', 'BD'); case 'hr': - return const Locale('hr', 'BA'); + return const Locale('hr', 'HR'); case 'th': return const Locale('th', 'TH'); case 'id': diff --git a/lib/translations/translation_message.dart b/lib/translations/translation_message.dart index b20ed713..4f41e0fd 100755 --- a/lib/translations/translation_message.dart +++ b/lib/translations/translation_message.dart @@ -35,7 +35,7 @@ class TranslationMessage extends Translations { 'bg_BG': TranslationLoader.bgDic, 'kk_KZ': TranslationLoader.kkDic, 'bn_BD': TranslationLoader.bnDic, - 'hr_BA': TranslationLoader.hrDic, + 'hr_HR': TranslationLoader.hrDic, 'th_TH': TranslationLoader.thDic, 'id_ID': TranslationLoader.idDic, 'fi_FI': TranslationLoader.fiDic, diff --git a/lib/widget/flavors_img.dart b/lib/widget/flavors_img.dart index 4d7eb325..f1fa0138 100755 --- a/lib/widget/flavors_img.dart +++ b/lib/widget/flavors_img.dart @@ -15,9 +15,9 @@ class FlavorsImg extends StatelessWidget { @override Widget build(BuildContext context) { myFilter = ColorFilterGenerator(name: 'xhj', filters: >[ - if (black) ColorFilterAddons.addictiveColor(-255, -255, -255) else ColorFilterAddons.addictiveColor(1, 22, 93), + if (black) ColorFilterAddons.addictiveColor(-255, -255, -255) else ColorFilterAddons.addictiveColor(1 , 22, 93), ]); - if (F.appFlavor != Flavor.xhj) { + if (F.appFlavor != Flavor.xhj && F.appFlavor != Flavor.xhj_bundle) { return child; } return ColorFiltered( diff --git a/pubspec.lock b/pubspec.lock new file mode 100644 index 00000000..a31c6a96 --- /dev/null +++ b/pubspec.lock @@ -0,0 +1,1766 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + _flutterfire_internals: + dependency: transitive + description: + name: _flutterfire_internals + sha256: "9371d13b8ee442e3bfc08a24e3a1b3742c839abbfaf5eef11b79c4b862c89bf7" + url: "https://pub.dev" + source: hosted + version: "1.3.41" + aj_captcha_flutter: + dependency: "direct main" + description: + name: aj_captcha_flutter + sha256: "5e771eece35b0f99ebc405e7bb2df09509e3a683e38c94a5775e98c19230e3f2" + url: "https://pub.dev" + source: hosted + version: "0.0.1" + aliyun_face_plugin: + dependency: "direct main" + description: + path: aliyun_face_plugin + relative: true + source: path + version: "0.0.1" + amap_flutter_base: + dependency: transitive + description: + name: amap_flutter_base + sha256: "9ef2439b8de7100cdd1b4357701b8ca8c059c0f2d9d0257b81750bbf0c6f53bb" + url: "https://pub.dev" + source: hosted + version: "3.0.0" + amap_flutter_location: + dependency: "direct main" + description: + name: amap_flutter_location + sha256: f35ff00e196d579608e0bc28ccbc1f6f53787644702f947de941f775769cc701 + url: "https://pub.dev" + source: hosted + version: "3.0.0" + amap_flutter_map: + dependency: "direct main" + description: + name: amap_flutter_map + sha256: "9cebb0b2f5fc7d3ae0427e99c41edc883e8f5459f6a28bc850f0f9e16918cf2f" + url: "https://pub.dev" + source: hosted + version: "3.0.0" + app_settings: + dependency: "direct main" + description: + name: app_settings + sha256: "09bc7fe0313a507087bec1a3baf555f0576e816a760cbb31813a88890a09d9e5" + url: "https://pub.dev" + source: hosted + version: "5.1.1" + archive: + dependency: transitive + description: + name: archive + sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d + url: "https://pub.dev" + source: hosted + version: "3.6.1" + args: + dependency: transitive + description: + name: args + sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6 + url: "https://pub.dev" + source: hosted + version: "2.6.0" + asn1lib: + dependency: transitive + description: + name: asn1lib + sha256: "4bae5ae63e6d6dd17c4aac8086f3dec26c0236f6a0f03416c6c19d830c367cf5" + url: "https://pub.dev" + source: hosted + version: "1.5.8" + async: + dependency: transitive + description: + name: async + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + url: "https://pub.dev" + source: hosted + version: "2.11.0" + audio_session: + dependency: transitive + description: + name: audio_session + sha256: "343e83bc7809fbda2591a49e525d6b63213ade10c76f15813be9aed6657b3261" + url: "https://pub.dev" + source: hosted + version: "0.1.21" + audioplayers: + dependency: "direct main" + description: + name: audioplayers + sha256: c05c6147124cd63e725e861335a8b4d57300b80e6e92cea7c145c739223bbaef + url: "https://pub.dev" + source: hosted + version: "5.2.1" + audioplayers_android: + dependency: transitive + description: + name: audioplayers_android + sha256: b00e1a0e11365d88576320ec2d8c192bc21f1afb6c0e5995d1c57ae63156acb5 + url: "https://pub.dev" + source: hosted + version: "4.0.3" + audioplayers_darwin: + dependency: transitive + description: + name: audioplayers_darwin + sha256: "3034e99a6df8d101da0f5082dcca0a2a99db62ab1d4ddb3277bed3f6f81afe08" + url: "https://pub.dev" + source: hosted + version: "5.0.2" + audioplayers_linux: + dependency: transitive + description: + name: audioplayers_linux + sha256: "60787e73fefc4d2e0b9c02c69885402177e818e4e27ef087074cf27c02246c9e" + url: "https://pub.dev" + source: hosted + version: "3.1.0" + audioplayers_platform_interface: + dependency: transitive + description: + name: audioplayers_platform_interface + sha256: "365c547f1bb9e77d94dd1687903a668d8f7ac3409e48e6e6a3668a1ac2982adb" + url: "https://pub.dev" + source: hosted + version: "6.1.0" + audioplayers_web: + dependency: transitive + description: + name: audioplayers_web + sha256: "22cd0173e54d92bd9b2c80b1204eb1eb159ece87475ab58c9788a70ec43c2a62" + url: "https://pub.dev" + source: hosted + version: "4.1.0" + audioplayers_windows: + dependency: transitive + description: + name: audioplayers_windows + sha256: "9536812c9103563644ada2ef45ae523806b0745f7a78e89d1b5fb1951de90e1a" + url: "https://pub.dev" + source: hosted + version: "3.1.0" + auto_orientation: + dependency: "direct main" + description: + name: auto_orientation + sha256: cd56bb59b36fa54cc28ee254bc600524f022a4862f31d5ab20abd7bb1c54e678 + url: "https://pub.dev" + source: hosted + version: "2.3.1" + azlistview: + dependency: "direct main" + description: + name: azlistview + sha256: "93e865f11777a271b439f0d6b00799c0797e9daeec2e082a2e01373809c4b90d" + url: "https://pub.dev" + source: hosted + version: "2.0.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + cached_network_image: + dependency: "direct main" + description: + name: cached_network_image + sha256: "28ea9690a8207179c319965c13cd8df184d5ee721ae2ce60f398ced1219cea1f" + url: "https://pub.dev" + source: hosted + version: "3.3.1" + cached_network_image_platform_interface: + dependency: transitive + description: + name: cached_network_image_platform_interface + sha256: "9e90e78ae72caa874a323d78fa6301b3fb8fa7ea76a8f96dc5b5bf79f283bf2f" + url: "https://pub.dev" + source: hosted + version: "4.0.0" + cached_network_image_web: + dependency: transitive + description: + name: cached_network_image_web + sha256: "205d6a9f1862de34b93184f22b9d2d94586b2f05c581d546695e3d8f6a805cd7" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + camera: + dependency: "direct main" + description: + name: camera + sha256: dfa8fc5a1adaeb95e7a54d86a5bd56f4bb0e035515354c8ac6d262e35cec2ec8 + url: "https://pub.dev" + source: hosted + version: "0.10.6" + camera_android: + dependency: transitive + description: + name: camera_android + sha256: b350ac087f111467e705b2b76cc1322f7f5bdc122aa83b4b243b0872f390d229 + url: "https://pub.dev" + source: hosted + version: "0.10.9+2" + camera_avfoundation: + dependency: transitive + description: + name: camera_avfoundation + sha256: "2e4c568f70e406ccb87376bc06b53d2f5bebaab71e2fbcc1a950e31449381bcf" + url: "https://pub.dev" + source: hosted + version: "0.9.17+5" + camera_platform_interface: + dependency: transitive + description: + name: camera_platform_interface + sha256: b3ede1f171532e0d83111fe0980b46d17f1aa9788a07a2fbed07366bbdbb9061 + url: "https://pub.dev" + source: hosted + version: "2.8.0" + camera_web: + dependency: transitive + description: + name: camera_web + sha256: "595f28c89d1fb62d77c73c633193755b781c6d2e0ebcd8dc25b763b514e6ba8f" + url: "https://pub.dev" + source: hosted + version: "0.3.5" + characters: + dependency: transitive + description: + name: characters + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + url: "https://pub.dev" + source: hosted + version: "1.3.0" + checked_yaml: + dependency: transitive + description: + name: checked_yaml + sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff + url: "https://pub.dev" + source: hosted + version: "2.0.3" + clock: + dependency: transitive + description: + name: clock + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" + source: hosted + version: "1.1.1" + collection: + dependency: transitive + description: + name: collection + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + url: "https://pub.dev" + source: hosted + version: "1.18.0" + colorfilter_generator: + dependency: "direct main" + description: + name: colorfilter_generator + sha256: ccc2995e440b1d828d55d99150e7cad64624f3cb4a1e235000de3f93cf10d35c + url: "https://pub.dev" + source: hosted + version: "0.0.8" + common_utils: + dependency: "direct main" + description: + name: common_utils + sha256: c26884339b13ff99b0739e56f4b02090c84054ed9dd3a045435cd24e7b99c2c1 + url: "https://pub.dev" + source: hosted + version: "2.1.0" + connectivity_plus: + dependency: "direct main" + description: + name: connectivity_plus + sha256: "2056db5241f96cdc0126bd94459fc4cdc13876753768fc7a31c425e50a7177d0" + url: "https://pub.dev" + source: hosted + version: "6.0.5" + connectivity_plus_platform_interface: + dependency: transitive + description: + name: connectivity_plus_platform_interface + sha256: "42657c1715d48b167930d5f34d00222ac100475f73d10162ddf43e714932f204" + url: "https://pub.dev" + source: hosted + version: "2.0.1" + convert: + dependency: "direct main" + description: + name: convert + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" + source: hosted + version: "3.1.1" + crop_your_image: + dependency: "direct main" + description: + name: crop_your_image + sha256: "1dc98a5a35b424007bb0960bed011f2d0eecbcef7839707e97d349520245354c" + url: "https://pub.dev" + source: hosted + version: "0.7.5" + cross_file: + dependency: transitive + description: + name: cross_file + sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670" + url: "https://pub.dev" + source: hosted + version: "0.3.4+2" + crypto: + dependency: "direct main" + description: + name: crypto + sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + url: "https://pub.dev" + source: hosted + version: "3.0.3" + csslib: + dependency: transitive + description: + name: csslib + sha256: "09bad715f418841f976c77db72d5398dc1253c21fb9c0c7f0b0b985860b2d58e" + url: "https://pub.dev" + source: hosted + version: "1.0.2" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 + url: "https://pub.dev" + source: hosted + version: "1.0.8" + date_format: + dependency: "direct main" + description: + name: date_format + sha256: a48254e60bdb7f1d5a15cac7f86e37491808056c0a99dbdc850841def4754ddc + url: "https://pub.dev" + source: hosted + version: "2.0.9" + dbus: + dependency: transitive + description: + name: dbus + sha256: "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac" + url: "https://pub.dev" + source: hosted + version: "0.7.10" + decimal: + dependency: transitive + description: + name: decimal + sha256: "24a261d5d5c87e86c7651c417a5dbdf8bcd7080dd592533910e8d0505a279f21" + url: "https://pub.dev" + source: hosted + version: "2.3.3" + device_info_plus: + dependency: "direct main" + description: + name: device_info_plus + sha256: f52ab3b76b36ede4d135aab80194df8925b553686f0fa12226b4e2d658e45903 + url: "https://pub.dev" + source: hosted + version: "8.2.2" + device_info_plus_platform_interface: + dependency: transitive + description: + name: device_info_plus_platform_interface + sha256: "0b04e02b30791224b31969eb1b50d723498f402971bff3630bca2ba839bd1ed2" + url: "https://pub.dev" + source: hosted + version: "7.0.2" + dio: + dependency: transitive + description: + name: dio + sha256: "7d328c4d898a61efc3cd93655a0955858e29a0aa647f0f9e02d59b3bb275e2e8" + url: "https://pub.dev" + source: hosted + version: "4.0.6" + easy_refresh: + dependency: "direct main" + description: + name: easy_refresh + sha256: "486e30abfcaae66c0f2c2798a10de2298eb9dc5e0bb7e1dba9328308968cae0c" + url: "https://pub.dev" + source: hosted + version: "3.4.0" + encrypt: + dependency: "direct main" + description: + name: encrypt + sha256: "62d9aa4670cc2a8798bab89b39fc71b6dfbacf615de6cf5001fb39f7e4a996a2" + url: "https://pub.dev" + source: hosted + version: "5.0.3" + event_bus: + dependency: "direct main" + description: + name: event_bus + sha256: "1a55e97923769c286d295240048fc180e7b0768902c3c2e869fe059aafa15304" + url: "https://pub.dev" + source: hosted + version: "2.0.1" + expandable: + dependency: "direct main" + description: + name: expandable + sha256: "9604d612d4d1146dafa96c6d8eec9c2ff0994658d6d09fed720ab788c7f5afc2" + url: "https://pub.dev" + source: hosted + version: "5.0.1" + fake_async: + dependency: transitive + description: + name: fake_async + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" + source: hosted + version: "1.3.1" + fast_gbk: + dependency: "direct main" + description: + name: fast_gbk + sha256: "3f0dc0309986f615404ea8d1fccf00a535dc00ee90b88d71492866bd95586489" + url: "https://pub.dev" + source: hosted + version: "1.0.0" + ffi: + dependency: "direct main" + description: + name: ffi + sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" + url: "https://pub.dev" + source: hosted + version: "2.1.3" + file: + dependency: transitive + description: + name: file + sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" + url: "https://pub.dev" + source: hosted + version: "6.1.4" + file_picker: + dependency: "direct main" + description: + name: file_picker + sha256: "9d6e95ec73abbd31ec54d0e0df8a961017e165aba1395e462e5b31ea0c165daf" + url: "https://pub.dev" + source: hosted + version: "5.3.1" + file_selector_linux: + dependency: transitive + description: + name: file_selector_linux + sha256: "54cbbd957e1156d29548c7d9b9ec0c0ebb6de0a90452198683a7d23aed617a33" + url: "https://pub.dev" + source: hosted + version: "0.9.3+2" + file_selector_macos: + dependency: transitive + description: + name: file_selector_macos + sha256: "271ab9986df0c135d45c3cdb6bd0faa5db6f4976d3e4b437cf7d0f258d941bfc" + url: "https://pub.dev" + source: hosted + version: "0.9.4+2" + file_selector_platform_interface: + dependency: transitive + description: + name: file_selector_platform_interface + sha256: a3994c26f10378a039faa11de174d7b78eb8f79e4dd0af2a451410c1a5c3f66b + url: "https://pub.dev" + source: hosted + version: "2.6.2" + file_selector_windows: + dependency: transitive + description: + name: file_selector_windows + sha256: "8f5d2f6590d51ecd9179ba39c64f722edc15226cc93dcc8698466ad36a4a85a4" + url: "https://pub.dev" + source: hosted + version: "0.9.3+3" + firebase_analytics: + dependency: "direct main" + description: + name: firebase_analytics + sha256: "7e032ade38dec2a92f543ba02c5f72f54ffaa095c60d2132b867eab56de3bc73" + url: "https://pub.dev" + source: hosted + version: "11.3.0" + firebase_analytics_platform_interface: + dependency: transitive + description: + name: firebase_analytics_platform_interface + sha256: b62a2444767d95067a7e36b1d6e335e0b877968574bbbfb656168c46f2e95a13 + url: "https://pub.dev" + source: hosted + version: "4.2.2" + firebase_analytics_web: + dependency: transitive + description: + name: firebase_analytics_web + sha256: bad44f71f96cfca6c16c9dd4f70b85f123ddca7d5dd698977449fadf298b1782 + url: "https://pub.dev" + source: hosted + version: "0.5.9+2" + firebase_core: + dependency: transitive + description: + name: firebase_core + sha256: "06537da27db981947fa535bb91ca120b4e9cb59cb87278dbdde718558cafc9ff" + url: "https://pub.dev" + source: hosted + version: "3.4.0" + firebase_core_platform_interface: + dependency: transitive + description: + name: firebase_core_platform_interface + sha256: d7253d255ff10f85cfd2adaba9ac17bae878fa3ba577462451163bd9f1d1f0bf + url: "https://pub.dev" + source: hosted + version: "5.4.0" + firebase_core_web: + dependency: transitive + description: + name: firebase_core_web + sha256: "362e52457ed2b7b180964769c1e04d1e0ea0259fdf7025fdfedd019d4ae2bd88" + url: "https://pub.dev" + source: hosted + version: "2.17.5" + flustars: + dependency: "direct main" + description: + name: flustars + sha256: "7019ab8d68c0d4759ee122644d91a165d450b0492717f9e7e9d0ce277dcf664b" + url: "https://pub.dev" + source: hosted + version: "2.0.1" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_blue_plus: + dependency: "direct main" + description: + name: flutter_blue_plus + sha256: c762a694c2f67b1f492ef19ead2a30ed3254650bafd852cb8933823d13d7c89f + url: "https://pub.dev" + source: hosted + version: "1.32.7" + flutter_bugly: + dependency: "direct main" + description: + name: flutter_bugly + sha256: a968eae20a0684e19222ba3e7b37c100a13549299305ea914d791dc56b4cff9a + url: "https://pub.dev" + source: hosted + version: "1.0.7+1" + flutter_cache_manager: + dependency: transitive + description: + name: flutter_cache_manager + sha256: "8207f27539deb83732fdda03e259349046a39a4c767269285f449ade355d54ba" + url: "https://pub.dev" + source: hosted + version: "3.3.1" + flutter_cupertino_datetime_picker: + dependency: "direct main" + description: + name: flutter_cupertino_datetime_picker + sha256: "631fbd3abed4d1151888e053d2153d905663a3b33ff24bdfa64afbcf750682cb" + url: "https://pub.dev" + source: hosted + version: "3.0.0" + flutter_easyloading: + dependency: "direct main" + description: + name: flutter_easyloading + sha256: ba21a3c883544e582f9cc455a4a0907556714e1e9cf0eababfcb600da191d17c + url: "https://pub.dev" + source: hosted + version: "3.0.5" + flutter_flavorizr: + dependency: "direct dev" + description: + name: flutter_flavorizr + sha256: e9550f67a890b9111ac5a555954f3808cb8c0132ce6dea08e3381964de39b906 + url: "https://pub.dev" + source: hosted + version: "2.2.3" + flutter_hooks: + dependency: transitive + description: + name: flutter_hooks + sha256: cde36b12f7188c85286fba9b38cc5a902e7279f36dd676967106c041dc9dde70 + url: "https://pub.dev" + source: hosted + version: "0.20.5" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04 + url: "https://pub.dev" + source: hosted + version: "2.0.3" + flutter_local_notifications: + dependency: "direct main" + description: + name: flutter_local_notifications + sha256: "674173fd3c9eda9d4c8528da2ce0ea69f161577495a9cc835a2a4ecd7eadeb35" + url: "https://pub.dev" + source: hosted + version: "17.2.4" + flutter_local_notifications_linux: + dependency: transitive + description: + name: flutter_local_notifications_linux + sha256: c49bd06165cad9beeb79090b18cd1eb0296f4bf4b23b84426e37dd7c027fc3af + url: "https://pub.dev" + source: hosted + version: "4.0.1" + flutter_local_notifications_platform_interface: + dependency: transitive + description: + name: flutter_local_notifications_platform_interface + sha256: "85f8d07fe708c1bdcf45037f2c0109753b26ae077e9d9e899d55971711a4ea66" + url: "https://pub.dev" + source: hosted + version: "7.2.0" + flutter_localizations: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_mjpeg: + dependency: "direct main" + description: + name: flutter_mjpeg + sha256: "46ea3f1a49838deb8e2b01a70b897313c7f985affecfaf3b3bae6f4e15405b6b" + url: "https://pub.dev" + source: hosted + version: "2.0.4" + flutter_native_contact_picker: + dependency: "direct main" + description: + name: flutter_native_contact_picker + sha256: "4df435115a23f7ba9464d945ccda81e02d5906552a2d3daec30feca53c2d051c" + url: "https://pub.dev" + source: hosted + version: "0.0.7" + flutter_pcm_sound: + dependency: "direct main" + description: + name: flutter_pcm_sound + sha256: e963b3a0c7658d57255f6e44fceddff6c7751dff82b7bcd561cfc1d5478d4e20 + url: "https://pub.dev" + source: hosted + version: "1.2.7" + flutter_picker: + dependency: "direct main" + description: + name: flutter_picker + sha256: "2f94c6eefba8697b07e3cd008b75f06b4ba7053cb26d23ae0fcd5932b7dc75af" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + flutter_plugin_android_lifecycle: + dependency: "direct overridden" + description: + name: flutter_plugin_android_lifecycle + sha256: "592dc01a18961a51c24ae5d963b724b2b7fa4a95c100fe8eb6ca8a5a4732cadf" + url: "https://pub.dev" + source: hosted + version: "2.0.18" + flutter_screenutil: + dependency: "direct main" + description: + name: flutter_screenutil + sha256: "8239210dd68bee6b0577aa4a090890342d04a136ce1c81f98ee513fc0ce891de" + url: "https://pub.dev" + source: hosted + version: "5.9.3" + flutter_slidable: + dependency: "direct main" + description: + name: flutter_slidable + sha256: a857de7ea701f276fd6a6c4c67ae885b60729a3449e42766bb0e655171042801 + url: "https://pub.dev" + source: hosted + version: "3.1.2" + flutter_spinkit: + dependency: transitive + description: + name: flutter_spinkit + sha256: d2696eed13732831414595b98863260e33e8882fc069ee80ec35d4ac9ddb0472 + url: "https://pub.dev" + source: hosted + version: "5.2.1" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + flutter_voice_processor: + dependency: "direct main" + description: + name: flutter_voice_processor + sha256: "3c91d8ab34b33016643ae7586a305b81c47c1b66a95b489807c34f127537fcbc" + url: "https://pub.dev" + source: hosted + version: "1.1.1" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + fluttertoast: + dependency: "direct main" + description: + name: fluttertoast + sha256: "95f349437aeebe524ef7d6c9bde3e6b4772717cf46a0eb6a3ceaddc740b297cc" + url: "https://pub.dev" + source: hosted + version: "8.2.8" + fluwx: + dependency: "direct main" + description: + name: fluwx + sha256: "935194aaa6aa48b99c7ce6200a075e4c9a9480fa4fb91e29255c6a2763c27b13" + url: "https://pub.dev" + source: hosted + version: "4.5.5" + get: + dependency: "direct main" + description: + name: get + sha256: e4e7335ede17452b391ed3b2ede016545706c01a02292a6c97619705e7d2a85e + url: "https://pub.dev" + source: hosted + version: "4.6.6" + get_storage: + dependency: "direct main" + description: + name: get_storage + sha256: "39db1fffe779d0c22b3a744376e86febe4ade43bf65e06eab5af707dc84185a2" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + google_maps: + dependency: transitive + description: + name: google_maps + sha256: "47eef3836b49bb030d5cb3afc60b8451408bf34cf753e571b645d6529eb4251a" + url: "https://pub.dev" + source: hosted + version: "7.1.0" + google_maps_flutter: + dependency: "direct main" + description: + name: google_maps_flutter + sha256: c1972cbad779bc5346c49045f26ae45550a0958b1cbca5b524dd3c8954995d28 + url: "https://pub.dev" + source: hosted + version: "2.6.1" + google_maps_flutter_android: + dependency: transitive + description: + name: google_maps_flutter_android + sha256: "0bcadb80eba39afda77dede89a6caafd3b68f2786b90491eceea4a01c3db181c" + url: "https://pub.dev" + source: hosted + version: "2.8.0" + google_maps_flutter_ios: + dependency: "direct overridden" + description: + name: google_maps_flutter_ios + sha256: "6c50bce26ff73079b4401de5bfe77e89d89138897b9dcc6bdfbc7ada842f2bc1" + url: "https://pub.dev" + source: hosted + version: "2.5.2" + google_maps_flutter_platform_interface: + dependency: transitive + description: + name: google_maps_flutter_platform_interface + sha256: a951981c22d790848efb9f114f81794945bc5c06bc566238a419a92f110af6cb + url: "https://pub.dev" + source: hosted + version: "2.9.5" + google_maps_flutter_web: + dependency: transitive + description: + name: google_maps_flutter_web + sha256: f3155c12119d8a5c2732fdf39ceb5cc095bc662059a03b4ea23294ecebe1d199 + url: "https://pub.dev" + source: hosted + version: "0.5.8" + html: + dependency: transitive + description: + name: html + sha256: "1fc58edeaec4307368c60d59b7e15b9d658b57d7f3125098b6294153c75337ec" + url: "https://pub.dev" + source: hosted + version: "0.15.5" + http: + dependency: transitive + description: + name: http + sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2" + url: "https://pub.dev" + source: hosted + version: "0.13.6" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" + source: hosted + version: "4.0.2" + image: + dependency: transitive + description: + name: image + sha256: f31d52537dc417fdcde36088fdf11d191026fd5e4fae742491ebd40e5a8bea7d + url: "https://pub.dev" + source: hosted + version: "4.3.0" + image_gallery_saver: + dependency: "direct main" + description: + name: image_gallery_saver + sha256: "0aba74216a4d9b0561510cb968015d56b701ba1bd94aace26aacdd8ae5761816" + url: "https://pub.dev" + source: hosted + version: "2.0.3" + image_picker: + dependency: "direct main" + description: + name: image_picker + sha256: "021834d9c0c3de46bf0fe40341fa07168407f694d9b2bb18d532dc1261867f7a" + url: "https://pub.dev" + source: hosted + version: "1.1.2" + image_picker_android: + dependency: transitive + description: + name: image_picker_android + sha256: "0f57fee1e8bfadf8cc41818bbcd7f72e53bb768a54d9496355d5e8a5681a19f1" + url: "https://pub.dev" + source: hosted + version: "0.8.12+1" + image_picker_for_web: + dependency: transitive + description: + name: image_picker_for_web + sha256: "65d94623e15372c5c51bebbcb820848d7bcb323836e12dfdba60b5d3a8b39e50" + url: "https://pub.dev" + source: hosted + version: "3.0.5" + image_picker_ios: + dependency: transitive + description: + name: image_picker_ios + sha256: "4f0568120c6fcc0aaa04511cb9f9f4d29fc3d0139884b1d06be88dcec7641d6b" + url: "https://pub.dev" + source: hosted + version: "0.8.12+1" + image_picker_linux: + dependency: transitive + description: + name: image_picker_linux + sha256: "4ed1d9bb36f7cd60aa6e6cd479779cc56a4cb4e4de8f49d487b1aaad831300fa" + url: "https://pub.dev" + source: hosted + version: "0.2.1+1" + image_picker_macos: + dependency: transitive + description: + name: image_picker_macos + sha256: "3f5ad1e8112a9a6111c46d0b57a7be2286a9a07fc6e1976fdf5be2bd31d4ff62" + url: "https://pub.dev" + source: hosted + version: "0.2.1+1" + image_picker_platform_interface: + dependency: transitive + description: + name: image_picker_platform_interface + sha256: "9ec26d410ff46f483c5519c29c02ef0e02e13a543f882b152d4bfd2f06802f80" + url: "https://pub.dev" + source: hosted + version: "2.10.0" + image_picker_windows: + dependency: transitive + description: + name: image_picker_windows + sha256: "6ad07afc4eb1bc25f3a01084d28520496c4a3bb0cb13685435838167c9dcedeb" + url: "https://pub.dev" + source: hosted + version: "0.2.1+1" + intl: + dependency: "direct main" + description: + name: intl + sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" + url: "https://pub.dev" + source: hosted + version: "0.18.1" + io: + dependency: transitive + description: + name: io + sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + url: "https://pub.dev" + source: hosted + version: "1.0.4" + jpush_flutter: + dependency: "direct main" + description: + name: jpush_flutter + sha256: bb29ce650c6765a54ecbdd8f448840ecea83b4e24564e554d11eba20ed3b37d9 + url: "https://pub.dev" + source: hosted + version: "2.5.8" + js: + dependency: transitive + description: + name: js + sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + url: "https://pub.dev" + source: hosted + version: "0.6.7" + js_wrapping: + dependency: transitive + description: + name: js_wrapping + sha256: e385980f7c76a8c1c9a560dfb623b890975841542471eade630b2871d243851c + url: "https://pub.dev" + source: hosted + version: "0.7.4" + json_annotation: + dependency: transitive + description: + name: json_annotation + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" + url: "https://pub.dev" + source: hosted + version: "4.9.0" + just_audio: + dependency: "direct main" + description: + name: just_audio + sha256: a49e7120b95600bd357f37a2bb04cd1e88252f7cdea8f3368803779b925b1049 + url: "https://pub.dev" + source: hosted + version: "0.9.42" + just_audio_platform_interface: + dependency: transitive + description: + name: just_audio_platform_interface + sha256: "0243828cce503c8366cc2090cefb2b3c871aa8ed2f520670d76fd47aa1ab2790" + url: "https://pub.dev" + source: hosted + version: "4.3.0" + just_audio_web: + dependency: transitive + description: + name: just_audio_web + sha256: "9a98035b8b24b40749507687520ec5ab404e291d2b0937823ff45d92cb18d448" + url: "https://pub.dev" + source: hosted + version: "0.4.13" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + url: "https://pub.dev" + source: hosted + version: "10.0.0" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + url: "https://pub.dev" + source: hosted + version: "2.0.1" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + url: "https://pub.dev" + source: hosted + version: "2.0.1" + lints: + dependency: transitive + description: + name: lints + sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + lpinyin: + dependency: "direct main" + description: + name: lpinyin + sha256: "0bb843363f1f65170efd09fbdfc760c7ec34fc6354f9fcb2f89e74866a0d814a" + url: "https://pub.dev" + source: hosted + version: "2.0.3" + matcher: + dependency: transitive + description: + name: matcher + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + url: "https://pub.dev" + source: hosted + version: "0.12.16+1" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + url: "https://pub.dev" + source: hosted + version: "0.8.0" + matrix2d: + dependency: transitive + description: + name: matrix2d + sha256: "188718dd3bc2a31e372cfd0791b0f77f4f13ea76164147342cc378d9132949e7" + url: "https://pub.dev" + source: hosted + version: "1.0.4" + meta: + dependency: transitive + description: + name: meta + sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + url: "https://pub.dev" + source: hosted + version: "1.11.0" + mime: + dependency: transitive + description: + name: mime + sha256: "801fd0b26f14a4a58ccb09d5892c3fbdeff209594300a542492cf13fba9d247a" + url: "https://pub.dev" + source: hosted + version: "1.0.6" + network_info_plus: + dependency: "direct main" + description: + name: network_info_plus + sha256: "4601b815b1c6a46d84839f65cd774a7d999738471d910fae00d813e9e98b04e1" + url: "https://pub.dev" + source: hosted + version: "4.1.0+1" + network_info_plus_platform_interface: + dependency: transitive + description: + name: network_info_plus_platform_interface + sha256: "881f5029c5edaf19c616c201d3d8b366c5b1384afd5c1da5a49e4345de82fb8b" + url: "https://pub.dev" + source: hosted + version: "1.1.3" + nm: + dependency: transitive + description: + name: nm + sha256: "2c9aae4127bdc8993206464fcc063611e0e36e72018696cd9631023a31b24254" + url: "https://pub.dev" + source: hosted + version: "0.5.0" + octo_image: + dependency: transitive + description: + name: octo_image + sha256: "34faa6639a78c7e3cbe79be6f9f96535867e879748ade7d17c9b1ae7536293bd" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + open_filex: + dependency: "direct main" + description: + name: open_filex + sha256: dcb7bd3d32db8db5260253a62f1564c02c2c8df64bc0187cd213f65f827519bd + url: "https://pub.dev" + source: hosted + version: "4.6.0" + package_info_plus: + dependency: "direct main" + description: + name: package_info_plus + sha256: "10259b111176fba5c505b102e3a5b022b51dd97e30522e906d6922c745584745" + url: "https://pub.dev" + source: hosted + version: "3.1.2" + package_info_plus_platform_interface: + dependency: transitive + description: + name: package_info_plus_platform_interface + sha256: "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6" + url: "https://pub.dev" + source: hosted + version: "2.0.1" + path: + dependency: transitive + description: + name: path + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + url: "https://pub.dev" + source: hosted + version: "1.9.0" + path_drawing: + dependency: transitive + description: + name: path_drawing + sha256: bbb1934c0cbb03091af082a6389ca2080345291ef07a5fa6d6e078ba8682f977 + url: "https://pub.dev" + source: hosted + version: "1.0.1" + path_parsing: + dependency: transitive + description: + name: path_parsing + sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + path_provider: + dependency: "direct main" + description: + name: path_provider + sha256: fec0d61223fba3154d87759e3cc27fe2c8dc498f6386c6d6fc80d1afdd1bf378 + url: "https://pub.dev" + source: hosted + version: "2.1.4" + path_provider_android: + dependency: transitive + description: + name: path_provider_android + sha256: a248d8146ee5983446bf03ed5ea8f6533129a12b11f12057ad1b4a67a2b3b41d + url: "https://pub.dev" + source: hosted + version: "2.2.4" + path_provider_foundation: + dependency: transitive + description: + name: path_provider_foundation + sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + path_provider_linux: + dependency: transitive + description: + name: path_provider_linux + sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 + url: "https://pub.dev" + source: hosted + version: "2.2.1" + path_provider_platform_interface: + dependency: transitive + description: + name: path_provider_platform_interface + sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + path_provider_windows: + dependency: transitive + description: + name: path_provider_windows + sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 + url: "https://pub.dev" + source: hosted + version: "2.3.0" + permission_handler: + dependency: "direct main" + description: + name: permission_handler + sha256: "18bf33f7fefbd812f37e72091a15575e72d5318854877e0e4035a24ac1113ecb" + url: "https://pub.dev" + source: hosted + version: "11.3.1" + permission_handler_android: + dependency: transitive + description: + name: permission_handler_android + sha256: "71bbecfee799e65aff7c744761a57e817e73b738fedf62ab7afd5593da21f9f1" + url: "https://pub.dev" + source: hosted + version: "12.0.13" + permission_handler_apple: + dependency: transitive + description: + name: permission_handler_apple + sha256: e6f6d73b12438ef13e648c4ae56bd106ec60d17e90a59c4545db6781229082a0 + url: "https://pub.dev" + source: hosted + version: "9.4.5" + permission_handler_html: + dependency: transitive + description: + name: permission_handler_html + sha256: "38f000e83355abb3392140f6bc3030660cfaef189e1f87824facb76300b4ff24" + url: "https://pub.dev" + source: hosted + version: "0.1.3+5" + permission_handler_platform_interface: + dependency: transitive + description: + name: permission_handler_platform_interface + sha256: e9c8eadee926c4532d0305dff94b85bf961f16759c3af791486613152af4b4f9 + url: "https://pub.dev" + source: hosted + version: "4.2.3" + permission_handler_windows: + dependency: transitive + description: + name: permission_handler_windows + sha256: "1a790728016f79a41216d88672dbc5df30e686e811ad4e698bfc51f76ad91f1e" + url: "https://pub.dev" + source: hosted + version: "0.2.1" + petitparser: + dependency: transitive + description: + name: petitparser + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 + url: "https://pub.dev" + source: hosted + version: "6.0.2" + platform: + dependency: transitive + description: + name: platform + sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" + url: "https://pub.dev" + source: hosted + version: "3.1.6" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" + source: hosted + version: "2.1.8" + pointycastle: + dependency: transitive + description: + name: pointycastle + sha256: "4be0097fcf3fd3e8449e53730c631200ebc7b88016acecab2b0da2f0149222fe" + url: "https://pub.dev" + source: hosted + version: "3.9.1" + qr: + dependency: transitive + description: + name: qr + sha256: "64957a3930367bf97cc211a5af99551d630f2f4625e38af10edd6b19131b64b3" + url: "https://pub.dev" + source: hosted + version: "3.0.1" + qr_flutter: + dependency: "direct main" + description: + name: qr_flutter + sha256: "5095f0fc6e3f71d08adef8feccc8cea4f12eec18a2e31c2e8d82cb6019f4b097" + url: "https://pub.dev" + source: hosted + version: "4.1.0" + rational: + dependency: transitive + description: + name: rational + sha256: cb808fb6f1a839e6fc5f7d8cb3b0a10e1db48b3be102de73938c627f0b636336 + url: "https://pub.dev" + source: hosted + version: "2.2.3" + rxdart: + dependency: transitive + description: + name: rxdart + sha256: "0c7c0cedd93788d996e33041ffecda924cc54389199cde4e6a34b440f50044cb" + url: "https://pub.dev" + source: hosted + version: "0.27.7" + sanitize_html: + dependency: transitive + description: + name: sanitize_html + sha256: "12669c4a913688a26555323fb9cec373d8f9fbe091f2d01c40c723b33caa8989" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + scrollable_positioned_list: + dependency: transitive + description: + name: scrollable_positioned_list + sha256: "9566352ab9ba05794ee6c8864f154afba5d36c5637d0e3e32c615ba4ceb92772" + url: "https://pub.dev" + source: hosted + version: "0.2.3" + shared_preferences: + dependency: "direct main" + description: + name: shared_preferences + sha256: d3bbe5553a986e83980916ded2f0b435ef2e1893dfaa29d5a7a790d0eca12180 + url: "https://pub.dev" + source: hosted + version: "2.2.3" + shared_preferences_android: + dependency: transitive + description: + name: shared_preferences_android + sha256: "1ee8bf911094a1b592de7ab29add6f826a7331fb854273d55918693d5364a1f2" + url: "https://pub.dev" + source: hosted + version: "2.2.2" + shared_preferences_foundation: + dependency: transitive + description: + name: shared_preferences_foundation + sha256: "07e050c7cd39bad516f8d64c455f04508d09df104be326d8c02551590a0d513d" + url: "https://pub.dev" + source: hosted + version: "2.5.3" + shared_preferences_linux: + dependency: transitive + description: + name: shared_preferences_linux + sha256: "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + shared_preferences_platform_interface: + dependency: transitive + description: + name: shared_preferences_platform_interface + sha256: "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + shared_preferences_web: + dependency: transitive + description: + name: shared_preferences_web + sha256: "59dc807b94d29d52ddbb1b3c0d3b9d0a67fc535a64e62a5542c8db0513fcb6c2" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + shared_preferences_windows: + dependency: transitive + description: + name: shared_preferences_windows + sha256: "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_span: + dependency: transitive + description: + name: source_span + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + url: "https://pub.dev" + source: hosted + version: "1.10.0" + sp_util: + dependency: transitive + description: + name: sp_util + sha256: "9da43dce5de79c17a787d0626bf01538d63090ca32521200d22a232171c495dc" + url: "https://pub.dev" + source: hosted + version: "2.0.3" + sprintf: + dependency: transitive + description: + name: sprintf + sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23" + url: "https://pub.dev" + source: hosted + version: "7.0.0" + sqflite: + dependency: transitive + description: + name: sqflite + sha256: a43e5a27235518c03ca238e7b4732cf35eabe863a369ceba6cbefa537a66f16d + url: "https://pub.dev" + source: hosted + version: "2.3.3+1" + sqflite_common: + dependency: transitive + description: + name: sqflite_common + sha256: "3da423ce7baf868be70e2c0976c28a1bb2f73644268b7ffa7d2e08eab71f16a4" + url: "https://pub.dev" + source: hosted + version: "2.5.4" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + url: "https://pub.dev" + source: hosted + version: "1.11.1" + steel_crypt: + dependency: transitive + description: + name: steel_crypt + sha256: "4f86a8ddc690ed1adff486faeb4ceece9e09f59cd90c8bd7e2ff48c42ca271dd" + url: "https://pub.dev" + source: hosted + version: "3.0.0+1" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + url: "https://pub.dev" + source: hosted + version: "2.1.2" + stream_transform: + dependency: transitive + description: + name: stream_transform + sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871 + url: "https://pub.dev" + source: hosted + version: "2.1.1" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + syncfusion_flutter_core: + dependency: transitive + description: + name: syncfusion_flutter_core + sha256: "9f0a4593f7642b2f106e329734d0e5fc746baf8d0a59495eec586cd0d9ba7d02" + url: "https://pub.dev" + source: hosted + version: "22.2.12" + syncfusion_flutter_datepicker: + dependency: "direct main" + description: + name: syncfusion_flutter_datepicker + sha256: c09d8a84f07da41c12b02ac350f4aab8b73be2c51095fca9f9404b2a5af67585 + url: "https://pub.dev" + source: hosted + version: "22.2.12" + synchronized: + dependency: transitive + description: + name: synchronized + sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558" + url: "https://pub.dev" + source: hosted + version: "3.1.0+1" + system_settings: + dependency: "direct main" + description: + name: system_settings + sha256: "666693f8dace789bcf1200a88f6132b6906026643a5ee93ff140d3a547e5faf1" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" + source: hosted + version: "1.2.1" + test_api: + dependency: transitive + description: + name: test_api + sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + url: "https://pub.dev" + source: hosted + version: "0.6.1" + timelines: + dependency: "direct main" + description: + name: timelines + sha256: "40214f5ab772ff45459cb8c15e5f60505a6828af0c0eb1eec6f29ed911a4c1c5" + url: "https://pub.dev" + source: hosted + version: "0.1.0" + timezone: + dependency: transitive + description: + name: timezone + sha256: "2236ec079a174ce07434e89fcd3fcda430025eb7692244139a9cf54fdcf1fc7d" + url: "https://pub.dev" + source: hosted + version: "0.9.4" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + url: "https://pub.dev" + source: hosted + version: "1.3.2" + umeng_common_sdk: + dependency: "direct main" + description: + name: umeng_common_sdk + sha256: ba4ac629987f88cb42cb89a0a885be1a93cce8080bb6134014fe2ce4df7bac88 + url: "https://pub.dev" + source: hosted + version: "1.2.8" + url_launcher: + dependency: "direct main" + description: + name: url_launcher + sha256: "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603" + url: "https://pub.dev" + source: hosted + version: "6.3.1" + url_launcher_android: + dependency: transitive + description: + name: url_launcher_android + sha256: "17cd5e205ea615e2c6ea7a77323a11712dffa0720a8a90540db57a01347f9ad9" + url: "https://pub.dev" + source: hosted + version: "6.3.2" + url_launcher_ios: + dependency: transitive + description: + name: url_launcher_ios + sha256: "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626" + url: "https://pub.dev" + source: hosted + version: "6.3.2" + url_launcher_linux: + dependency: transitive + description: + name: url_launcher_linux + sha256: "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935" + url: "https://pub.dev" + source: hosted + version: "3.2.1" + url_launcher_macos: + dependency: transitive + description: + name: url_launcher_macos + sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2" + url: "https://pub.dev" + source: hosted + version: "3.2.2" + url_launcher_platform_interface: + dependency: transitive + description: + name: url_launcher_platform_interface + sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029" + url: "https://pub.dev" + source: hosted + version: "2.3.2" + url_launcher_web: + dependency: transitive + description: + name: url_launcher_web + sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e" + url: "https://pub.dev" + source: hosted + version: "2.3.3" + url_launcher_windows: + dependency: transitive + description: + name: url_launcher_windows + sha256: "44cf3aabcedde30f2dba119a9dea3b0f2672fbe6fa96e85536251d678216b3c4" + url: "https://pub.dev" + source: hosted + version: "3.1.3" + uuid: + dependency: "direct main" + description: + name: uuid + sha256: "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313" + url: "https://pub.dev" + source: hosted + version: "3.0.7" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + video_player: + dependency: "direct main" + description: + name: video_player + sha256: "4a8c3492d734f7c39c2588a3206707a05ee80cef52e8c7f3b2078d430c84bc17" + url: "https://pub.dev" + source: hosted + version: "2.9.2" + video_player_android: + dependency: transitive + description: + name: video_player_android + sha256: "134e1ad410d67e18a19486ed9512c72dfc6d8ffb284d0e8f2e99e903d1ba8fa3" + url: "https://pub.dev" + source: hosted + version: "2.4.14" + video_player_avfoundation: + dependency: transitive + description: + name: video_player_avfoundation + sha256: "33224c19775fd244be2d6e3dbd8e1826ab162877bd61123bf71890772119a2b7" + url: "https://pub.dev" + source: hosted + version: "2.6.5" + video_player_platform_interface: + dependency: transitive + description: + name: video_player_platform_interface + sha256: "229d7642ccd9f3dc4aba169609dd6b5f3f443bb4cc15b82f7785fcada5af9bbb" + url: "https://pub.dev" + source: hosted + version: "6.2.3" + video_player_web: + dependency: transitive + description: + name: video_player_web + sha256: "6dcdd298136523eaf7dfc31abaf0dfba9aa8a8dbc96670e87e9d42b6f2caf774" + url: "https://pub.dev" + source: hosted + version: "2.3.2" + visibility_detector: + dependency: transitive + description: + name: visibility_detector + sha256: dd5cc11e13494f432d15939c3aa8ae76844c42b723398643ce9addb88a5ed420 + url: "https://pub.dev" + source: hosted + version: "0.4.0+2" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + url: "https://pub.dev" + source: hosted + version: "13.0.0" + web: + dependency: transitive + description: + name: web + sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" + url: "https://pub.dev" + source: hosted + version: "0.5.1" + webview_flutter: + dependency: "direct main" + description: + name: webview_flutter + sha256: "6869c8786d179f929144b4a1f86e09ac0eddfe475984951ea6c634774c16b522" + url: "https://pub.dev" + source: hosted + version: "4.8.0" + webview_flutter_android: + dependency: transitive + description: + name: webview_flutter_android + sha256: "0d21cfc3bfdd2e30ab2ebeced66512b91134b39e72e97b43db2d47dda1c4e53a" + url: "https://pub.dev" + source: hosted + version: "3.16.3" + webview_flutter_platform_interface: + dependency: transitive + description: + name: webview_flutter_platform_interface + sha256: d937581d6e558908d7ae3dc1989c4f87b786891ab47bb9df7de548a151779d8d + url: "https://pub.dev" + source: hosted + version: "2.10.0" + webview_flutter_wkwebview: + dependency: transitive + description: + name: webview_flutter_wkwebview + sha256: "9c62cc46fa4f2d41e10ab81014c1de470a6c6f26051a2de32111b2ee55287feb" + url: "https://pub.dev" + source: hosted + version: "3.14.0" + win32: + dependency: transitive + description: + name: win32 + sha256: "5a751eddf9db89b3e5f9d50c20ab8612296e4e8db69009788d6c8b060a84191c" + url: "https://pub.dev" + source: hosted + version: "4.1.4" + xdg_directories: + dependency: transitive + description: + name: xdg_directories + sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + xml: + dependency: transitive + description: + name: xml + sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 + url: "https://pub.dev" + source: hosted + version: "6.5.0" + yaml: + dependency: transitive + description: + name: yaml + sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + url: "https://pub.dev" + source: hosted + version: "3.1.2" +sdks: + dart: ">=3.3.0 <4.0.0" + flutter: ">=3.19.0" diff --git a/pubspec.yaml b/pubspec.yaml index 482cbeb2..d408e99c 100755 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -104,17 +104,17 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # 1.0.85+2024120301:完善网关功能 # 1.0.85+2024120401:修复网关问题,打包给谢敬调试 -version: 1.0.85+2024121301 +version: 1.0.85+2025010802 environment: sdk: '>=2.12.0 <3.0.0' -fluwx: - app_id: 'wxbe340095d2b8fd51' - debug_logging: true - android: - ios: - universal_link: https://lock.skychip.top/apple-app-site-association.json +#fluwx: +# app_id: 'wxbe340095d2b8fd51' +# debug_logging: true +# android: +# ios: +# universal_link: https://lock.skychip.top/apple-app-site-association.json # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -193,11 +193,11 @@ dependencies: easy_refresh: ^3.3.4 #高德地图定位 - amap_flutter_location: ^3.0.0 + amap_flutter_location: 3.0.0 #权限使用 permission_handler: ^11.3.1 #高德地图地图 - amap_flutter_map: ^3.0.0 + amap_flutter_map: 3.0.0 # 谷歌地图 google_maps_flutter: ^2.2.5 @@ -236,7 +236,7 @@ dependencies: timelines: ^0.1.0 #侧滑删除 flutter_slidable: ^3.0.1 -# audio_service: ^0.18.12 + # audio_service: ^0.18.12 app_settings: ^5.1.1 flutter_local_notifications: ^17.0.0 fluwx: 4.5.5 @@ -245,12 +245,18 @@ dependencies: colorfilter_generator: ^0.0.8 file_picker: ^5.3.1 # 错误日志监控 -# flutter_bugly_plugin: ^0.0.9 + # flutter_bugly_plugin: ^0.0.9 flutter_bugly: ^1.0.2 open_filex: ^4.4.0 - umeng_common_sdk: 1.2.7 jverify: 3.0.0 + # + umeng_common_sdk: 1.2.8 + # + # + firebase_analytics: 11.3.0 + # + dependency_overrides: #强制设置google_maps_flutter_ios 为 2.5.2 google_maps_flutter_ios: 2.5.2