Compare commits
9 Commits
f154f30e2d
...
native2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fafefa3c38 | ||
|
|
a05cebae3f | ||
|
|
638233279f | ||
|
|
8b413c5a0c | ||
|
|
d79f43e2c9 | ||
|
|
8e237bd24a | ||
|
|
9f31f12463 | ||
|
|
55cf7196a6 | ||
|
|
fb99e7ecf4 |
@@ -2,6 +2,7 @@ package com.ckkj.defense_device.adapter
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.ckkj.defense_device.databinding.ItemWifiBinding
|
||||
|
||||
@@ -39,14 +40,25 @@ class WifiListAdapter(
|
||||
override fun getItemCount(): Int = wifiList.size
|
||||
|
||||
fun updateData(newList: List<String>) {
|
||||
val oldList = wifiList.toList()
|
||||
val diffResult = DiffUtil.calculateDiff(object : DiffUtil.Callback() {
|
||||
override fun getOldListSize() = oldList.size
|
||||
override fun getNewListSize() = newList.size
|
||||
override fun areItemsTheSame(oldItemPosition: Int, newItemPosition: Int) =
|
||||
oldList[oldItemPosition] == newList[newItemPosition]
|
||||
|
||||
override fun areContentsTheSame(oldItemPosition: Int, newItemPosition: Int) =
|
||||
oldList[oldItemPosition] == newList[newItemPosition]
|
||||
})
|
||||
wifiList.clear()
|
||||
wifiList.addAll(newList)
|
||||
notifyDataSetChanged()
|
||||
diffResult.dispatchUpdatesTo(this)
|
||||
}
|
||||
|
||||
fun addData(newList: List<String>) {
|
||||
val startPosition = wifiList.size
|
||||
val newItems = newList.filter { !wifiList.contains(it) }
|
||||
if (newItems.isEmpty()) return
|
||||
wifiList.addAll(newItems)
|
||||
notifyItemRangeInserted(startPosition, newItems.size)
|
||||
}
|
||||
|
||||
@@ -144,10 +144,6 @@ class AddFamilyActivity : AppCompatActivity() {
|
||||
}
|
||||
dialogBinding.rvWifiList.adapter = wifiListAdapter
|
||||
|
||||
dialogBinding.swipeRefreshLayout.setOnRefreshListener {
|
||||
refreshWifiList(dialogBinding)
|
||||
}
|
||||
|
||||
dialogBinding.rvWifiList.addOnScrollListener(object : RecyclerView.OnScrollListener() {
|
||||
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
|
||||
super.onScrolled(recyclerView, dx, dy)
|
||||
@@ -168,16 +164,6 @@ class AddFamilyActivity : AppCompatActivity() {
|
||||
return rect.height()
|
||||
}
|
||||
|
||||
private fun refreshWifiList(dialogBinding: DialogWifiListBinding) {
|
||||
dialogBinding.swipeRefreshLayout.isRefreshing = true
|
||||
handler.postDelayed({
|
||||
wifiManager.startScan()
|
||||
val newWifiList = getWifiList()
|
||||
wifiListAdapter?.updateData(newWifiList)
|
||||
dialogBinding.swipeRefreshLayout.isRefreshing = false
|
||||
}, 1000)
|
||||
}
|
||||
|
||||
private fun loadMoreWifiList() {
|
||||
isLoadingMore = true
|
||||
handler.postDelayed({
|
||||
@@ -204,12 +190,8 @@ class AddFamilyActivity : AppCompatActivity() {
|
||||
}
|
||||
|
||||
private fun updateWifiList() {
|
||||
popupWindow?.contentView?.findViewById<androidx.recyclerview.widget.RecyclerView>(R.id.rvWifiList)?.let { recyclerView ->
|
||||
val wifiList = getWifiList()
|
||||
recyclerView.adapter = WifiListAdapter(wifiList) { wifiName ->
|
||||
binding.etWifiName.setText(wifiName)
|
||||
popupWindow?.dismiss()
|
||||
}
|
||||
popupWindow?.contentView?.findViewById<androidx.recyclerview.widget.RecyclerView>(R.id.rvWifiList)?.let {
|
||||
wifiListAdapter?.updateData(getWifiList())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -205,7 +205,7 @@ class MessageActivity : AppCompatActivity() {
|
||||
items.add(
|
||||
MessageListItem.Message(
|
||||
time = extractTime(message.createTime ?: ""),
|
||||
title = message.categoryName ?: "未知消息",
|
||||
title = message.categoryName ?: "",
|
||||
dateTime = message.createTime ?: "",
|
||||
unread = false
|
||||
)
|
||||
|
||||
@@ -158,30 +158,21 @@ class AlarmLogActivity : AppCompatActivity() {
|
||||
|
||||
private fun fetchAlarmList() {
|
||||
val currentDeviceId = deviceId ?: return
|
||||
|
||||
Log.d("AlarmLogActivity", "=== 开始请求设备告警日志 ===")
|
||||
Log.d("AlarmLogActivity", "请求参数 - deviceId: $currentDeviceId")
|
||||
|
||||
isLoading = true
|
||||
lifecycleScope.launch {
|
||||
try {
|
||||
Log.d("AlarmLogActivity", "正在发送网络请求...")
|
||||
val response = RetrofitNetwork.getNetworkService().getDeviceAlarmList(
|
||||
deviceId = currentDeviceId,
|
||||
pageNum = "1",
|
||||
pageSize = "10"
|
||||
)
|
||||
|
||||
Log.d("AlarmLogActivity", "请求完成")
|
||||
Log.d("AlarmLogActivity", "总条数: ${response.total}, 当前页数据条数: ${response.rows.size}")
|
||||
|
||||
val newData = response.rows
|
||||
originalAlarmList.clear()
|
||||
originalAlarmList.addAll(newData)
|
||||
filterAlarmListByDate(calendar)
|
||||
currentAlarmItem = alarmList.firstOrNull()
|
||||
Log.d("AlarmLogActivity", "已获取 ${newData.size} 条数据")
|
||||
|
||||
} catch (e: Exception) {
|
||||
Log.e("AlarmLogActivity", "请求异常: ${e.message}", e)
|
||||
showAlarmListNetworkError()
|
||||
|
||||
@@ -202,14 +202,6 @@ class WiFiManagementActivity : AppCompatActivity() {
|
||||
}
|
||||
dialogBinding.rvWifiList.adapter = adapter
|
||||
|
||||
// 添加下拉刷新功能
|
||||
dialogBinding.swipeRefreshLayout.setOnRefreshListener {
|
||||
wifiManager.startScan()
|
||||
// 延迟1秒后停止刷新动画
|
||||
android.os.Handler().postDelayed({
|
||||
dialogBinding.swipeRefreshLayout.isRefreshing = false
|
||||
}, 1000)
|
||||
}
|
||||
}
|
||||
|
||||
private fun updateBottomButtonVisibility() {
|
||||
@@ -229,9 +221,6 @@ class WiFiManagementActivity : AppCompatActivity() {
|
||||
}
|
||||
|
||||
private fun updateWifiList() {
|
||||
popupWindow?.contentView?.findViewById<androidx.swiperefreshlayout.widget.SwipeRefreshLayout>(R.id.swipeRefreshLayout)?.let { swipeRefreshLayout ->
|
||||
swipeRefreshLayout.isRefreshing = false
|
||||
}
|
||||
popupWindow?.contentView?.findViewById<androidx.recyclerview.widget.RecyclerView>(R.id.rvWifiList)?.let { recyclerView ->
|
||||
val wifiList = getWifiList()
|
||||
recyclerView.adapter = WifiListAdapter(wifiList) { wifiName ->
|
||||
|
||||
@@ -13,6 +13,7 @@ import androidx.camera.core.Preview
|
||||
import androidx.camera.lifecycle.ProcessCameraProvider
|
||||
import androidx.core.app.ActivityCompat
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.ckkj.defense_device.R
|
||||
import com.ckkj.defense_device.databinding.FaceVerificationActivityBinding
|
||||
import com.ckkj.defense_device.view.FaceAnalyzer
|
||||
import com.google.mlkit.vision.face.FaceDetection
|
||||
@@ -106,7 +107,7 @@ class FaceVerificationActivity : AppCompatActivity() {
|
||||
if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
||||
startCamera()
|
||||
} else {
|
||||
Toast.makeText(this, "需要相机权限才能进行人脸验证", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(this, R.string.need_camera_permission_for_face_verify, Toast.LENGTH_SHORT).show()
|
||||
finish()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,10 +57,10 @@ class ForgetPasswordActivity : AppCompatActivity() {
|
||||
if (isPhoneNumberValid(phoneNumber)) {
|
||||
sendVerificationCode(phoneNumber)
|
||||
} else {
|
||||
Toast.makeText(this, "请输入有效的11位手机号", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(this, getString(R.string.phone_tip), Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
} else {
|
||||
Toast.makeText(this, "请稍后再试", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(this, getString(R.string.please_try_later), Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@ class ForgetPasswordActivity : AppCompatActivity() {
|
||||
val response = RetrofitNetwork.getNetworkService().getCode(phoneNumber)
|
||||
withContext(Dispatchers.Main) {
|
||||
if (response.code == 200) {
|
||||
Toast.makeText(this@ForgetPasswordActivity, "验证码已发送", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(this@ForgetPasswordActivity, getString(R.string.code_sent_to), Toast.LENGTH_SHORT).show()
|
||||
startCountDown()
|
||||
} else {
|
||||
Toast.makeText(this@ForgetPasswordActivity, response.msg, Toast.LENGTH_SHORT).show()
|
||||
@@ -140,29 +140,30 @@ class ForgetPasswordActivity : AppCompatActivity() {
|
||||
val confirmPassword = binding.etInviteCode.text.toString().trim()
|
||||
|
||||
if (!isPhoneNumberValid(phoneNumber)) {
|
||||
Toast.makeText(this, "手机号格式不正确", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(this, getString(R.string.invalid_phone), Toast.LENGTH_SHORT).show()
|
||||
return
|
||||
}
|
||||
|
||||
if (TextUtils.isEmpty(smsCode)) {
|
||||
Toast.makeText(this, "请输入验证码", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(this, getString(R.string.hint_code_zh), Toast.LENGTH_SHORT).show()
|
||||
return
|
||||
}
|
||||
|
||||
if (TextUtils.isEmpty(newPassword) || TextUtils.isEmpty(confirmPassword)) {
|
||||
Toast.makeText(this, "密码不能为空", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(this, getString(R.string.password_cannot_empty), Toast.LENGTH_SHORT).show()
|
||||
return
|
||||
}
|
||||
if (newPassword.length < MIN_PASSWORD_LENGTH || newPassword.length > MAX_PASSWORD_LENGTH) {
|
||||
Toast.makeText(this, "密码长度需为${MIN_PASSWORD_LENGTH}-${MAX_PASSWORD_LENGTH}位", Toast.LENGTH_SHORT).show()
|
||||
val tip = getString(R.string.pwd_length_tip, MIN_PASSWORD_LENGTH, MAX_PASSWORD_LENGTH)
|
||||
Toast.makeText(this, tip, Toast.LENGTH_SHORT).show()
|
||||
return
|
||||
}
|
||||
if (!newPassword.matches(Regex(".*[A-Za-z].*")) || !newPassword.matches(Regex(".*[0-9].*"))) {
|
||||
Toast.makeText(this, "密码需同时包含字母和数字", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(this, getString(R.string.password_letter_digit), Toast.LENGTH_SHORT).show()
|
||||
return
|
||||
}
|
||||
if (newPassword != confirmPassword) {
|
||||
Toast.makeText(this, "两次输入的密码不一致", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(this, getString(R.string.password_mismatch), Toast.LENGTH_SHORT).show()
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ class LoginActivity : AppCompatActivity() {
|
||||
|
||||
binding.registerText.visibility = View.VISIBLE
|
||||
binding.forgetText.visibility = View.GONE
|
||||
updateRegisterTextConstraints(center = false)
|
||||
updateRegisterTextConstraints(center = true)
|
||||
|
||||
//需要正确的方法名和参数
|
||||
updateLoginButtonTopConstraint(R.id.smsRowLayout)
|
||||
@@ -102,7 +102,6 @@ class LoginActivity : AppCompatActivity() {
|
||||
private fun updateLoginButtonTopConstraint(topTargetId: Int) {
|
||||
val params = binding.loginBtn.layoutParams as ConstraintLayout.LayoutParams
|
||||
params.topToBottom = topTargetId
|
||||
params.topMargin = 32
|
||||
binding.loginBtn.layoutParams = params
|
||||
}
|
||||
|
||||
@@ -119,7 +118,6 @@ class LoginActivity : AppCompatActivity() {
|
||||
params.endToEnd = ConstraintSet.UNSET
|
||||
}
|
||||
params.topToBottom = binding.loginBtn.id
|
||||
params.topMargin = 20
|
||||
binding.registerText.layoutParams = params
|
||||
}
|
||||
|
||||
@@ -197,7 +195,6 @@ class LoginActivity : AppCompatActivity() {
|
||||
try {
|
||||
val response = RetrofitNetwork.getNetworkService().getCode(phone)
|
||||
withContext(Dispatchers.Main) {
|
||||
Log.d("VerificationCode", "code = ${response.code}, msg = ${response.msg}")
|
||||
if (response.code == 200) {
|
||||
Toast.makeText(this@LoginActivity, getString(R.string.code_sent_to, phone), Toast.LENGTH_SHORT).show()
|
||||
startCountDown()
|
||||
@@ -222,9 +219,7 @@ class LoginActivity : AppCompatActivity() {
|
||||
phonenumber = phone,
|
||||
smsCode = smsCode
|
||||
)
|
||||
android.util.Log.d("LoginActivity", "短信登录请求: $loginRequest")
|
||||
val response = RetrofitNetwork.getNetworkService().login(loginRequest)
|
||||
android.util.Log.d("LoginActivity", "短信登录响应: code=${response.code}, msg=${response.msg}")
|
||||
withContext(Dispatchers.Main) {
|
||||
if (response.code == 200 && response.data != null) {
|
||||
UserinfoUtil.saveUserInfo(response.data)
|
||||
@@ -238,7 +233,6 @@ class LoginActivity : AppCompatActivity() {
|
||||
}
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
android.util.Log.e("LoginActivity", "短信登录异常", e)
|
||||
withContext(Dispatchers.Main) {
|
||||
Toast.makeText(this@LoginActivity, R.string.network_error, Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
@@ -255,14 +249,13 @@ class LoginActivity : AppCompatActivity() {
|
||||
phonenumber = phone,
|
||||
password = password
|
||||
)
|
||||
android.util.Log.d("LoginActivity", "密码登录请求: $loginRequest")
|
||||
val response = RetrofitNetwork.getNetworkService().login(loginRequest)
|
||||
android.util.Log.d("LoginActivity", "密码登录响应: code=${response.code}, msg=${response.msg}")
|
||||
withContext(Dispatchers.Main) {
|
||||
if (response.code == 200 && response.data != null) {
|
||||
UserinfoUtil.saveUserInfo(response.data)
|
||||
Toast.makeText(this@LoginActivity, R.string.password_login_success_title, Toast.LENGTH_SHORT).show()
|
||||
val intent = Intent(this@LoginActivity, HomeActivity::class.java)
|
||||
//清除任务栈
|
||||
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
|
||||
startActivity(intent)
|
||||
finish()
|
||||
@@ -271,7 +264,6 @@ class LoginActivity : AppCompatActivity() {
|
||||
}
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
android.util.Log.e("LoginActivity", "密码登录异常", e)
|
||||
withContext(Dispatchers.Main) {
|
||||
Toast.makeText(this@LoginActivity, R.string.network_error, Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ class RegisterActivity : AppCompatActivity() {
|
||||
val response = RetrofitNetwork.getNetworkService().getCode(userName)
|
||||
withContext(Dispatchers.Main) {
|
||||
if (response.code == 200) {
|
||||
Toast.makeText(this@RegisterActivity, "验证码已发送", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(this@RegisterActivity, R.string.code_already_sent, Toast.LENGTH_SHORT).show()
|
||||
startCountDown()
|
||||
} else {
|
||||
Toast.makeText(this@RegisterActivity, response.msg, Toast.LENGTH_SHORT).show()
|
||||
@@ -181,7 +181,8 @@ class RegisterActivity : AppCompatActivity() {
|
||||
|
||||
if (response.code == 200) {
|
||||
Toast.makeText(this@RegisterActivity, R.string.register_success, Toast.LENGTH_SHORT).show()
|
||||
val intent = Intent(this@RegisterActivity, LoginActivity::class.java)
|
||||
val intent = Intent(this@RegisterActivity, RegisterSuccessActivity::class.java)
|
||||
//清除任务栈
|
||||
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
|
||||
startActivity(intent)
|
||||
finish()
|
||||
|
||||
@@ -2,5 +2,5 @@
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/green"/>
|
||||
<corners android:radius="16dp"/>
|
||||
<corners android:radius="4dp"/>
|
||||
</shape>
|
||||
@@ -3,13 +3,13 @@
|
||||
<item android:state_enabled="false">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="@color/gray"/>
|
||||
<corners android:radius="16dp"/>
|
||||
<corners android:radius="99dp"/>
|
||||
</shape>
|
||||
</item>
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="@color/green"/>
|
||||
<corners android:radius="16dp"/>
|
||||
<corners android:radius="99dp"/>
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
6
app/src/main/res/drawable/shimmer_placeholder.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="#E8E8E8" />
|
||||
<corners android:radius="8dp" />
|
||||
</shape>
|
||||
@@ -2,5 +2,5 @@
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/white"/>
|
||||
<corners android:radius="10dp"/>
|
||||
<corners android:radius="99dp"/>
|
||||
</shape>
|
||||
@@ -25,7 +25,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/login_title"
|
||||
android:textSize="26dp"
|
||||
android:textSize="22dp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/black"
|
||||
app:layout_constraintTop_toBottomOf="@id/logoFrame"
|
||||
@@ -77,7 +77,7 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/phoneRowLayout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="50dp"
|
||||
android:background="@drawable/textinput_white_bg"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvSmsLogin"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@@ -99,6 +99,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="12dp"
|
||||
android:hint="@string/phone_hint"
|
||||
android:textSize="14dp"
|
||||
android:textColorHint="@color/gray"
|
||||
android:textColor="@android:color/black"
|
||||
android:background="@null"
|
||||
@@ -116,7 +117,7 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/smsRowLayout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:background="@drawable/textinput_white_bg"
|
||||
android:paddingStart="16dp"
|
||||
@@ -146,6 +147,7 @@
|
||||
android:textColorHint="@color/gray"
|
||||
android:textColor="@android:color/black"
|
||||
android:background="@null"
|
||||
android:textSize="14dp"
|
||||
android:inputType="number"
|
||||
android:paddingVertical="16dp"
|
||||
app:layout_constraintStart_toEndOf="@+id/ivSmsIcon"
|
||||
@@ -158,19 +160,18 @@
|
||||
android:id="@+id/sendCodeBtn"
|
||||
android:layout_width="110dp"
|
||||
android:layout_height="36dp"
|
||||
android:minWidth="0dp"
|
||||
android:minHeight="0dp"
|
||||
android:text="@string/send_sms_code"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/send_code_text_color"
|
||||
android:background="@drawable/send_code_btn_selector"
|
||||
android:elevation="0dp"
|
||||
android:stateListAnimator="@null"
|
||||
android:gravity="center"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:minWidth="0dp"
|
||||
android:minHeight="0dp"
|
||||
android:stateListAnimator="@null"
|
||||
android:text="@string/send_sms_code"
|
||||
android:textColor="@color/send_code_text_color"
|
||||
android:textSize="14dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginStart="12dp" />
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
@@ -178,7 +179,7 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/passwordRowLayout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:background="@drawable/textinput_white_bg"
|
||||
android:paddingStart="16dp"
|
||||
@@ -202,11 +203,12 @@
|
||||
<EditText
|
||||
android:id="@+id/etPassword"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginStart="12dp"
|
||||
android:hint="@string/password_hint"
|
||||
android:textColorHint="@color/gray"
|
||||
android:textColor="@android:color/black"
|
||||
android:textSize="14dp"
|
||||
android:background="@null"
|
||||
android:inputType="textPassword"
|
||||
android:paddingVertical="16dp"
|
||||
@@ -214,7 +216,6 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
@@ -222,15 +223,15 @@
|
||||
<android.widget.Button
|
||||
android:id="@+id/loginBtn"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:text="@string/login"
|
||||
android:textSize="18sp"
|
||||
android:textSize="14dp"
|
||||
android:elevation="0dp"
|
||||
android:stateListAnimator="@null"
|
||||
android:background="@drawable/rounded_blue_bg"
|
||||
android:textColor="@color/white"
|
||||
app:layout_constraintTop_toBottomOf="@+id/smsRowLayout"
|
||||
android:layout_marginTop="40dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
||||
@@ -240,7 +241,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/register"
|
||||
android:textSize="14sp"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/green"
|
||||
android:padding="8dp"
|
||||
app:layout_constraintTop_toBottomOf="@+id/loginBtn"
|
||||
|
||||
@@ -77,12 +77,12 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:layout_marginStart="12dp"
|
||||
android:background="@drawable/rounded_blue_bg"
|
||||
android:background="@drawable/send_code_btn_selector"
|
||||
android:text="@string/select_wifi"
|
||||
android:textColor="@color/white"
|
||||
android:elevation="0dp"
|
||||
android:stateListAnimator="@null"
|
||||
android:textSize="14sp" />
|
||||
android:textSize="14dp" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
||||
@@ -20,18 +20,11 @@
|
||||
android:layout_height="1dp"
|
||||
android:background="@color/dialog_view" />
|
||||
|
||||
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
android:id="@+id/swipeRefreshLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rvWifiList"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:overScrollMode="never" />
|
||||
|
||||
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
|
||||
|
||||
</LinearLayout>
|
||||
@@ -58,7 +58,7 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/phoneRowLayout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginTop="32dp"
|
||||
android:background="@drawable/textinput_white_bg"
|
||||
android:paddingStart="16dp"
|
||||
@@ -88,7 +88,7 @@
|
||||
android:paddingVertical="16dp"
|
||||
android:textColor="@android:color/black"
|
||||
android:textColorHint="@color/gray"
|
||||
android:textSize="16sp"
|
||||
android:textSize="14dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/ivPhoneIcon"
|
||||
@@ -100,7 +100,7 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/smsRowLayout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:background="@drawable/textinput_white_bg"
|
||||
android:paddingStart="16dp"
|
||||
@@ -131,6 +131,7 @@
|
||||
android:textColor="@android:color/black"
|
||||
android:background="@null"
|
||||
android:inputType="number"
|
||||
android:textSize="14dp"
|
||||
android:paddingVertical="16dp"
|
||||
app:layout_constraintStart_toEndOf="@+id/ivSmsIcon"
|
||||
app:layout_constraintEnd_toStartOf="@+id/sendCodeBtn"
|
||||
@@ -145,7 +146,7 @@
|
||||
android:minWidth="0dp"
|
||||
android:minHeight="0dp"
|
||||
android:text="@string/send_sms_code"
|
||||
android:textSize="14sp"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:background="@drawable/send_code_btn_selector"
|
||||
android:elevation="0dp"
|
||||
@@ -162,7 +163,7 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/passwordRowLayout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:background="@drawable/textinput_white_bg"
|
||||
android:paddingStart="16dp"
|
||||
@@ -176,6 +177,7 @@
|
||||
android:id="@+id/ivPasswordIcon"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:src="@mipmap/ma"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent" />
|
||||
@@ -191,6 +193,7 @@
|
||||
android:textColor="@android:color/black"
|
||||
android:background="@null"
|
||||
android:inputType="text"
|
||||
android:textSize="14dp"
|
||||
android:paddingVertical="16dp"
|
||||
app:layout_constraintStart_toEndOf="@+id/ivPasswordIcon"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
@@ -204,7 +207,7 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/inviteRowLayout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:background="@drawable/textinput_white_bg"
|
||||
android:paddingStart="16dp"
|
||||
@@ -217,6 +220,7 @@
|
||||
android:id="@+id/ivInviteIcon"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:src="@mipmap/ma"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
@@ -233,7 +237,7 @@
|
||||
android:paddingVertical="16dp"
|
||||
android:textColor="@android:color/black"
|
||||
android:textColorHint="@color/gray"
|
||||
android:textSize="16sp"
|
||||
android:textSize="14dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/ivInviteIcon"
|
||||
@@ -245,11 +249,11 @@
|
||||
<android.widget.Button
|
||||
android:id="@+id/btnNext"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="56dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_marginTop="32dp"
|
||||
android:text="@string/determine"
|
||||
android:textAllCaps="false"
|
||||
android:textSize="16sp"
|
||||
android:textSize="16dp"
|
||||
app:cornerRadius="12dp"
|
||||
android:textColor="@color/white"
|
||||
android:elevation="0dp"
|
||||
|
||||
@@ -65,10 +65,10 @@
|
||||
android:layout_width="38dp"
|
||||
android:layout_height="38dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:background="@drawable/bg_home_top_icon_light"
|
||||
android:padding="7dp">
|
||||
android:background="@drawable/bg_home_top_icon_light">
|
||||
|
||||
<ImageView
|
||||
android:padding="7dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:src="@mipmap/message"/>
|
||||
@@ -76,15 +76,13 @@
|
||||
<TextView
|
||||
android:id="@+id/tvUnreadCount"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="16dp"
|
||||
android:layout_gravity="end|top"
|
||||
android:background="@drawable/bg_unread_dot"
|
||||
android:minWidth="16dp"
|
||||
android:height="16dp"
|
||||
android:gravity="center"
|
||||
android:textSize="10sp"
|
||||
android:textColor="@color/white"
|
||||
android:visibility="gone" />
|
||||
android:textSize="10dp"
|
||||
android:textColor="@color/white"/>
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
@@ -120,7 +118,6 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="14dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:text="@string/device"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="16dp"
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/phoneRowLayout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginTop="32dp"
|
||||
android:background="@drawable/textinput_white_bg"
|
||||
android:paddingStart="16dp"
|
||||
@@ -89,7 +89,7 @@
|
||||
android:paddingVertical="16dp"
|
||||
android:textColor="@android:color/black"
|
||||
android:textColorHint="@color/gray"
|
||||
android:textSize="16sp"
|
||||
android:textSize="14dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/ivPhoneIcon"
|
||||
@@ -100,7 +100,7 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/smsRowLayout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:background="@drawable/textinput_white_bg"
|
||||
android:paddingStart="16dp"
|
||||
@@ -129,6 +129,7 @@
|
||||
android:hint="@string/sms_code_hint"
|
||||
android:textColorHint="@color/gray"
|
||||
android:textColor="@android:color/black"
|
||||
android:textSize="14dp"
|
||||
android:background="@null"
|
||||
android:inputType="number"
|
||||
android:paddingVertical="16dp"
|
||||
@@ -145,7 +146,7 @@
|
||||
android:minWidth="0dp"
|
||||
android:minHeight="0dp"
|
||||
android:text="@string/send_sms_code"
|
||||
android:textSize="14sp"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:background="@drawable/send_code_btn_selector"
|
||||
android:elevation="0dp"
|
||||
@@ -162,7 +163,7 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/idRowLayout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:background="@drawable/textinput_white_bg"
|
||||
android:paddingStart="16dp"
|
||||
@@ -192,7 +193,7 @@
|
||||
android:paddingVertical="16dp"
|
||||
android:textColor="@android:color/black"
|
||||
android:textColorHint="@color/gray"
|
||||
android:textSize="16sp"
|
||||
android:textSize="14dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/ivIdIcon"
|
||||
@@ -204,7 +205,7 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/passwordRowLayout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:background="@drawable/textinput_white_bg"
|
||||
android:paddingStart="16dp"
|
||||
@@ -235,6 +236,7 @@
|
||||
android:background="@null"
|
||||
android:inputType="text"
|
||||
android:paddingVertical="16dp"
|
||||
android:textSize="14dp"
|
||||
app:layout_constraintStart_toEndOf="@+id/ivPasswordIcon"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
@@ -247,7 +249,7 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/inviteRowLayout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:background="@drawable/textinput_white_bg"
|
||||
android:paddingStart="16dp"
|
||||
@@ -277,7 +279,7 @@
|
||||
android:paddingVertical="16dp"
|
||||
android:textColor="@android:color/black"
|
||||
android:textColorHint="@color/gray"
|
||||
android:textSize="16sp"
|
||||
android:textSize="14dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/ivInviteIcon"
|
||||
@@ -289,11 +291,11 @@
|
||||
<android.widget.Button
|
||||
android:id="@+id/btnNext"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="56dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_marginTop="32dp"
|
||||
android:text="@string/next_step"
|
||||
android:textAllCaps="false"
|
||||
android:textSize="16sp"
|
||||
android:textSize="16dp"
|
||||
app:cornerRadius="12dp"
|
||||
android:textColor="@color/white"
|
||||
android:elevation="0dp"
|
||||
|
||||
@@ -77,12 +77,12 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:layout_marginStart="12dp"
|
||||
android:background="@drawable/rounded_blue_bg"
|
||||
android:background="@drawable/send_code_btn_selector"
|
||||
android:text="@string/select_wifi"
|
||||
android:textColor="@color/white"
|
||||
android:elevation="0dp"
|
||||
android:stateListAnimator="@null"
|
||||
android:textSize="14sp" />
|
||||
android:textSize="14dp" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
||||
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 19 KiB |
@@ -1,23 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<!-- App Name -->
|
||||
<string name="app_name">防御机</string>
|
||||
|
||||
<!-- Common -->
|
||||
<string name="app_name">驭鲲智防系统</string>
|
||||
<string name="confirm">确定</string>
|
||||
<string name="cancel">取消</string>
|
||||
<string name="save">保存</string>
|
||||
<string name="delete">删除</string>
|
||||
<string name="edit">编辑</string>
|
||||
<string name="back">返回</string>
|
||||
<string name="loading">加载中...</string>
|
||||
<string name="network_error">网络错误,请重试</string>
|
||||
<string name="send">发送</string>
|
||||
<string name="submit">提交</string>
|
||||
|
||||
<!-- Login Activity -->
|
||||
<string name="login_title">智能防御机</string>
|
||||
<string name="login_title">驭鲲智防系统</string>
|
||||
<string name="sms_login">验证码登录</string>
|
||||
<string name="password_login">密码登录</string>
|
||||
<string name="phone_hint">请输入手机号</string>
|
||||
@@ -27,189 +20,77 @@
|
||||
<string name="login">登录</string>
|
||||
<string name="forgot_password">忘记密码?</string>
|
||||
<string name="register">注册</string>
|
||||
|
||||
<!-- Register Activity -->
|
||||
<string name="register_title">注册</string>
|
||||
<string name="register_subtitle">注册用户</string>
|
||||
<string name="set_password">设置密码</string>
|
||||
<string name="confirm_password">确认密码</string>
|
||||
<string name="password_requirement">密码长度6-20位</string>
|
||||
<string name="agreement_prefix">我已阅读并同意</string>
|
||||
<string name="user_agreement">用户协议</string>
|
||||
<string name="and">和</string>
|
||||
<string name="privacy_policy">隐私政策</string>
|
||||
<string name="register_success">注册成功</string>
|
||||
<string name="registering">注册中...</string>
|
||||
<string name="register_success_message">您的账号已成功创建</string>
|
||||
<string name="go_to_login">去登录</string>
|
||||
|
||||
<!-- Forgot Password -->
|
||||
<string name="forgot_password_title">忘记密码</string>
|
||||
<string name="reset_password">重置密码</string>
|
||||
<string name="new_password">新密码</string>
|
||||
<string name="reset_success">密码重置成功</string>
|
||||
<string name="resetting">重置中...</string>
|
||||
|
||||
<!-- Face Login/Verification -->
|
||||
<string name="face_login">人脸登录</string>
|
||||
<string name="face_verification">人脸验证</string>
|
||||
<string name="face_capture_hint">请将人脸对准框内</string>
|
||||
<string name="face_recognition_success">识别成功</string>
|
||||
<string name="face_recognition_failed">识别失败</string>
|
||||
<string name="retry">重试</string>
|
||||
|
||||
<!-- Home Activity -->
|
||||
<string name="home">首页</string>
|
||||
<string name="profile">个人</string>
|
||||
<string name="admin_user">管理者</string>
|
||||
<string name="normal_user">普通用户</string>
|
||||
<string name="my_family_admin">%s(管理员)</string>
|
||||
<string name="family_member">%s(成员)</string>
|
||||
|
||||
<!-- Home Menu -->
|
||||
<string name="my_devices">我的设备</string>
|
||||
<string name="add_device">添加设备</string>
|
||||
<string name="scan_qr">扫一扫</string>
|
||||
<string name="voice_control">语音控制</string>
|
||||
<string name="light_control">灯光控制</string>
|
||||
<string name="water_gun">水枪</string>
|
||||
<string name="monitor">监控</string>
|
||||
<string name="alarm_log">告警记录</string>
|
||||
<string name="message">消息</string>
|
||||
<string name="settings">设置</string>
|
||||
|
||||
<!-- Device Management -->
|
||||
<string name="device_name">设备名称</string>
|
||||
<string name="device_status">状态</string>
|
||||
<string name="device_online">在线</string>
|
||||
<string name="device_offline">离线</string>
|
||||
<string name="device_id">设备ID</string>
|
||||
<string name="bind_device">绑定设备</string>
|
||||
<string name="unbind_device">解绑设备</string>
|
||||
<string name="device_not_found">暂无设备</string>
|
||||
<string name="no_permission_title">暂无权限</string>
|
||||
<string name="no_permission_desc">您暂无权查看设备,请联系管理员</string>
|
||||
|
||||
<!-- Add Device -->
|
||||
<string name="add_device_title">添加设备</string>
|
||||
<string name="scan_nearby">扫描附近设备</string>
|
||||
<string name="scanning">持续自动搜索中...</string>
|
||||
<string name="device_nearby_hint">请将手机尽量靠近要添加的设备</string>
|
||||
<string name="scan_again">重新扫描</string>
|
||||
<string name="add_manually">手动添加</string>
|
||||
<string name="enter_device_id">请输入设备ID</string>
|
||||
<string name="bind_success">绑定成功</string>
|
||||
|
||||
<!-- Family Management -->
|
||||
<string name="family_management">家庭管理</string>
|
||||
<string name="switch_family">切换家庭</string>
|
||||
<string name="current_family">当前家庭</string>
|
||||
<string name="my_family">我的家庭</string>
|
||||
<string name="add_family">添加家庭</string>
|
||||
<string name="family_name">家庭名称</string>
|
||||
<string name="enter_family_name">请输入家庭名称</string>
|
||||
<string name="create_family">创建家庭</string>
|
||||
<string name="join_family">加入家庭</string>
|
||||
<string name="join_now">立即加入</string>
|
||||
<string name="nickname_placeholder">这里是昵称</string>
|
||||
<string name="invite_join_family_message">邀请你加入%s的家庭</string>
|
||||
<string name="invite_join_family_message_preview">邀请你加入这里是昵称的家庭</string>
|
||||
<string name="family_code">家庭码</string>
|
||||
<string name="enter_family_code">请输入家庭码</string>
|
||||
<string name="family_with_normal">的家庭</string>
|
||||
<string name="no_device">暂无设备</string>
|
||||
|
||||
<!-- User Management -->
|
||||
<string name="user_management">用户管理</string>
|
||||
<string name="user_list">用户列表</string>
|
||||
<string name="add_user">添加用户</string>
|
||||
<string name="admin">管理员</string>
|
||||
<string name="member">成员</string>
|
||||
<string name="nickname">昵称</string>
|
||||
<string name="phone_number">手机号</string>
|
||||
<string name="enter_nickname">请输入昵称</string>
|
||||
|
||||
<!-- Password Management -->
|
||||
<string name="password_management">密码管理</string>
|
||||
<string name="change_password">修改密码</string>
|
||||
<string name="current_password">当前密码</string>
|
||||
<string name="old_password">原密码</string>
|
||||
<string name="verification_code">验证码</string>
|
||||
<string name="password_not_match">两次密码不一致</string>
|
||||
|
||||
<!-- Face Management -->
|
||||
<string name="face_management">人脸管理</string>
|
||||
<string name="add_face">添加人脸</string>
|
||||
<string name="face_list">人脸列表</string>
|
||||
<string name="delete_face_confirm">确定要删除这张人脸吗?</string>
|
||||
<string name="standard_capture">标准采集</string>
|
||||
<string name="strict_capture">严格采集</string>
|
||||
|
||||
<!-- Live Video -->
|
||||
<string name="live_video">实时监控</string>
|
||||
<string name="fullscreen">全屏</string>
|
||||
<string name="screenshot">截图</string>
|
||||
<string name="record">录像</string>
|
||||
<string name="talk">对讲</string>
|
||||
<string name="mute">静音</string>
|
||||
<string name="unmute">取消静音</string>
|
||||
<string name="video_loading">视频加载中...</string>
|
||||
<string name="video_error">视频加载失败</string>
|
||||
|
||||
<!-- Alarm Log -->
|
||||
<string name="alarm_log_title">告警记录</string>
|
||||
<string name="alarm_detail">告警详情</string>
|
||||
<string name="alarm_time">告警时间</string>
|
||||
<string name="alarm_type">告警类型</string>
|
||||
<string name="alarm_location">告警位置</string>
|
||||
<string name="no_alarm_logs">暂无告警记录</string>
|
||||
<string name="intrusion_detected">入侵检测</string>
|
||||
<string name="abnormal_sound">异常声音</string>
|
||||
<string name="motion_detected">移动侦测</string>
|
||||
|
||||
<!-- Message -->
|
||||
<string name="message_title">消息</string>
|
||||
<string name="system_message">系统</string>
|
||||
<string name="alarm_message">告警</string>
|
||||
<string name="device_message">设备</string>
|
||||
<string name="no_messages">暂无消息</string>
|
||||
<string name="mark_as_read">标记已读</string>
|
||||
<string name="clear_all">清空全部</string>
|
||||
<string name="message_detail">消息详情</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="settings_title">设置</string>
|
||||
<string name="function_settings">功能设置</string>
|
||||
<string name="basic_settings">基本设置</string>
|
||||
<string name="voice_settings">语音设置</string>
|
||||
<string name="water_gun_settings">水枪设置</string>
|
||||
<string name="water_gun_settings">驱离设置</string>
|
||||
<string name="detection_settings">自动模式</string>
|
||||
<string name="notification_settings">通知设置</string>
|
||||
<string name="language_settings">语言</string>
|
||||
<string name="chinese">中文</string>
|
||||
<string name="english">English</string>
|
||||
<string name="linked_user">关联用户</string>
|
||||
<string name="user_details">用户详情</string>
|
||||
<string name="search">搜索</string>
|
||||
<string name="search_preset_text">搜索预设文案</string>
|
||||
<string name="add_linked_user">添加关联用户</string>
|
||||
<string name="unlink">解除关联</string>
|
||||
<string name="unlink_confirm_message">确定解除该用户对本设备的关联?</string>
|
||||
<string name="wiFi_management">WiFi管理</string>
|
||||
<string name="about">关于</string>
|
||||
<string name="version">版本</string>
|
||||
<string name="logout">退出登录</string>
|
||||
<string name="logout_confirm">确定要退出登录吗?</string>
|
||||
<string name="logout_fail">退出登录失败</string>
|
||||
<string name="warning_voice_playback">警告语音播放</string>
|
||||
<string name="warning_voice_content">警告语音内容</string>
|
||||
<string name="enter_warning_voice_content_system_will_generate_voice_automatically">请输入警告语音内容,系统将自动生成语音</string>
|
||||
<string name="strike_interval">打击间隔</string>
|
||||
<string name="strike_interval">驱离间隔</string>
|
||||
<string name="switch_container">切换容器</string>
|
||||
<string name="strike_position">打击位置</string>
|
||||
<string name="click_model_select_strike_pos">请点击下方人体模型,选择大致打击位置</string>
|
||||
<string name="confirm_modify_strike_pos">确定修改为该打击位置?</string>
|
||||
<string name="submit_success">提交成功</string>
|
||||
<string name="strike_position">驱离位置</string>
|
||||
<string name="click_model_select_strike_pos">请点击下方人体模型,选择大致驱离位置</string>
|
||||
<string name="confirm_modify_strike_pos">确定修改为该驱离位置?</string>
|
||||
<string name="submit_failed">提交失败</string>
|
||||
<string name="container_1">容器1</string>
|
||||
<string name="container_2">容器2</string>
|
||||
@@ -228,33 +109,9 @@
|
||||
<string name="auto_arms_start_time">自动布防开始时间</string>
|
||||
<string name="auto_arms_end_time">自动布防结束时间</string>
|
||||
<string name="please_select_at_least_one_user">请至少选择一个用户</string>
|
||||
<string name="selected_users_voice">已选择 %d 个用户,语音</string>
|
||||
|
||||
<!-- Personal Profile -->
|
||||
<string name="personal_info">个人信息</string>
|
||||
<string name="avatar">头像</string>
|
||||
<string name="gender">性别</string>
|
||||
<string name="male">男</string>
|
||||
<string name="female">女</string>
|
||||
<string name="birthday">生日</string>
|
||||
<string name="address">地址</string>
|
||||
<string name="enter_address">请输入地址</string>
|
||||
|
||||
<!-- Scan -->
|
||||
<string name="scan_title">扫一扫</string>
|
||||
<string name="scan_hint">将二维码/条码放入框内,即可自动扫描</string>
|
||||
<string name="album">相册</string>
|
||||
<string name="flashlight">手电筒</string>
|
||||
<string name="scan_failed">扫描失败,请重试</string>
|
||||
|
||||
<!-- WiFi -->
|
||||
<string name="wifi_list">WiFi列表</string>
|
||||
<string name="wifi_password">WiFi密码</string>
|
||||
<string name="enter_wifi_password">请输入WiFi密码</string>
|
||||
<string name="connect">连接</string>
|
||||
<string name="connecting">连接中...</string>
|
||||
<string name="wifi_connection_failed">WiFi连接失败</string>
|
||||
<string name="wifi_connection_success">WiFi连接成功</string>
|
||||
<string name="connect_device">连接设备</string>
|
||||
<string name="connection_success">连接成功</string>
|
||||
<string name="bluetooth_keep_enabled">请保持手机蓝牙开启并将手机尽量靠近设备</string>
|
||||
@@ -262,8 +119,6 @@
|
||||
<string name="device_connect_network">设备连接网络</string>
|
||||
<string name="device_connect_near_router">设备连接网络请将设备尽量靠近路由器</string>
|
||||
<string name="keep_device_near_router">请将设备尽量靠近路由器</string>
|
||||
|
||||
<!-- Dialog -->
|
||||
<string name="tip">提示</string>
|
||||
<string name="download_alarm_video_confirm">确定下载该入侵告警视频?</string>
|
||||
<string name="delete_alarm_video_confirm">确定删除该入侵告警视频?</string>
|
||||
@@ -271,46 +126,19 @@
|
||||
<string name="delete_alarm_photo_confirm">确定删除该入侵告警照片?</string>
|
||||
<string name="download_start">开始下载</string>
|
||||
<string name="delete_success">删除成功</string>
|
||||
<string name="please_wait">请稍候...</string>
|
||||
<string name="operation_success">操作成功</string>
|
||||
<string name="operation_failed">操作失败</string>
|
||||
<string name="network_unavailable">网络不可用</string>
|
||||
<string name="check_network">请检查网络连接</string>
|
||||
<string name="confirm_delete_user">确定删除该用户吗?</string>
|
||||
|
||||
<!-- Voice Recognition Mode -->
|
||||
<string name="recognition_mode">识别模式</string>
|
||||
<string name="mode_standard">标准模式</string>
|
||||
<string name="mode_strict">严格模式</string>
|
||||
<string name="mode_custom">自定义模式</string>
|
||||
|
||||
<!-- Time -->
|
||||
<string name="today">今天</string>
|
||||
<string name="yesterday">昨天</string>
|
||||
<string name="this_week">本周</string>
|
||||
<string name="this_month">本月</string>
|
||||
|
||||
<!-- Placeholder -->
|
||||
<string name="hello_blank_fragment">Hello blank fragment</string>
|
||||
|
||||
<!-- Additional missing strings -->
|
||||
<string name="scan_device_qr">请扫描设备或说明书上的二维码</string>
|
||||
<string name="workshop">工作室</string>
|
||||
<string name="parents_home">父母家</string>
|
||||
<string name="smart_hanging_defense">智能挂式防御机</string>
|
||||
<string name="smart_defense_device">智能防御机</string>
|
||||
<string name="smart_rail_defense">智能轨道防御机</string>
|
||||
<string name="corridor_defense">走廊防御机</string>
|
||||
<string name="door_defense">门禁防御机</string>
|
||||
<string name="living_room_defense">客厅防御机</string>
|
||||
<string name="balcony_defense">阳台防御机</string>
|
||||
<string name="my_family_home">我的家庭</string>
|
||||
<string name="device">设备</string>
|
||||
<string name="smart_device_a1">智能防御机A1</string>
|
||||
<string name="voice">语音</string>
|
||||
<string name="light">灯光</string>
|
||||
<string name="control">控制</string>
|
||||
<string name="seconds">%d秒</string>
|
||||
<string name="register_user">注册用户</string>
|
||||
<string name="enter_platform">进入平台</string>
|
||||
<string name="nickname_hint">这里是昵称</string>
|
||||
@@ -329,7 +157,6 @@
|
||||
<string name="complete">完成</string>
|
||||
<string name="bluetooth_recognition">蓝牙识别</string>
|
||||
<string name="bluetooth_face_recognition">蓝牙+人脸识别</string>
|
||||
<string name="message_list">消息列表</string>
|
||||
<string name="face_collection">人脸采集</string>
|
||||
<string name="face_in_circle">请将人脸放入圆形区域内</string>
|
||||
<string name="collect_face">采集人脸</string>
|
||||
@@ -339,94 +166,52 @@
|
||||
<string name="operation_password">操作密码</string>
|
||||
<string name="enter_phone_number">请输入手机号</string>
|
||||
<string name="enter_verification_code">请输入验证码</string>
|
||||
<string name="send_code">发送验证码</string>
|
||||
<string name="resend_code">重新发送</string>
|
||||
<string name="enter_new_password">请输入新密码</string>
|
||||
<string name="enter_password_again">请再次输入新密码</string>
|
||||
<string name="determine">确定</string>
|
||||
<string name="id_number">身份证号</string>
|
||||
<string name="enter_id_number">请输入身份证号</string>
|
||||
<string name="hint_input_correct_id_card">请输入正确的身份证号</string>
|
||||
<string name="invite_code_optional">邀请码(非必填)</string>
|
||||
<string name="enter_invite_code">请输入邀请码</string>
|
||||
<string name="scan_add">扫描添加</string>
|
||||
<string name="wifi">WiFi</string>
|
||||
<string name="recording_permission_needed">需要录音权限才能使用控制功能</string>
|
||||
<string name="video_ready">视频准备完成</string>
|
||||
<string name="playback_complete">播放完成</string>
|
||||
<string name="cannot_load_video">无法加载视频</string>
|
||||
<string name="view_alarm_log">查看告警日志</string>
|
||||
<string name="paused">已暂停</string>
|
||||
<string name="resume_playback">继续播放</string>
|
||||
<string name="entered_fullscreen">已进入全屏</string>
|
||||
<string name="exited_fullscreen">已退出全屏</string>
|
||||
<string name="sound_on">声音已开启</string>
|
||||
<string name="sound_off">声音已关闭</string>
|
||||
<string name="download">下载</string>
|
||||
<string name="light_on">灯光已开启</string>
|
||||
<string name="light_off">灯光已关闭</string>
|
||||
<string name="start_control_mode">开始控制模式</string>
|
||||
<string name="stop_control_mode">停止控制模式</string>
|
||||
<string name="recording_start_failed">录音启动失败</string>
|
||||
<string name="video_error_format">播放错误: %1$d, %2$d</string>
|
||||
<string name="buffering_format">缓冲中: %d%%</string>
|
||||
<string name="camera_not_ready">相机未准备好</string>
|
||||
<string name="cannot_open_camera">无法打开相机</string>
|
||||
<string name="camera_permission_needed">需要相机权限</string>
|
||||
<string name="permission_denied">需要获取相机和存储权限</string>
|
||||
<string name="image_selected">已选择图片</string>
|
||||
<string name="please_try_later">请稍后再试</string>
|
||||
<string name="phone_format_invalid">手机号格式不正确</string>
|
||||
<string name="enter_verification_code_pls">请输入验证码</string>
|
||||
<string name="get_code_first">请先获取验证码</string>
|
||||
<string name="verification_code_error">验证码错误</string>
|
||||
<string name="password_cannot_empty">密码不能为空</string>
|
||||
<string name="password_letter_digit">密码需同时包含字母和数字</string>
|
||||
<string name="pwd_length_tip">密码长度需为%1$d-%2$d位</string>
|
||||
<string name="password_mismatch">两次输入的密码不一致</string>
|
||||
<string name="redirect_face_page">跳转到人脸页面</string>
|
||||
<string name="redirect_register_page">跳转到注册页面</string>
|
||||
<string name="forgot_password_page">找回密码</string>
|
||||
<string name="redirect_face_recognition_page">跳转到人脸识别页面</string>
|
||||
<string name="camera_permission_face_verify">需要相机权限才能进行人脸验证</string>
|
||||
<string name="intrusion_alarm">入侵告警</string>
|
||||
<string name="device_fault">设备故障</string>
|
||||
<string name="renewal_reminder">到期提醒</string>
|
||||
<string name="someone_invaded">有人入侵</string>
|
||||
<string name="go_check">去看一下</string>
|
||||
<string name="notice">温馨提示</string>
|
||||
<string name="got_it">知道了</string>
|
||||
<string name="strike_distance">打击距离</string>
|
||||
<string name="enter_strike_distance">请输入打击距离</string>
|
||||
<string name="face_detection_failed">人脸检测失败</string>
|
||||
<string name="strike_distance">驱离距离</string>
|
||||
<string name="enter_strike_distance">请输入驱离距离</string>
|
||||
<string name="nickname_default">这里是我的昵称</string>
|
||||
<string name="device_running_days">设备已经运行\n%d天请及时维护</string>
|
||||
<string name="device_offline_message">设备已离线,请检查设备的WIFI及电源情况</string>
|
||||
<string name="countdown_retry">%d秒后重试</string>
|
||||
<string name="sms_login_success">验证码登录成功\n手机号:%1$s\n验证码:%2$s</string>
|
||||
<string name="password_login_success">密码登录成功\n手机号:%1$s\n密码:%2$s</string>
|
||||
<string name="code_sent_to">验证码已发送至 %s</string>
|
||||
<string name="code_already_sent">验证码已发送</string>
|
||||
<string name="sms_login_success_title">登录成功</string>
|
||||
<string name="password_login_success_title">登录成功</string>
|
||||
<string name="modify_phone">修改手机号</string>
|
||||
<string name="invalid_phone">手机号格式不正确</string>
|
||||
<string name="verify_and_bind">验证并绑定</string>
|
||||
<string name="operation_password_switch">操作密码开关</string>
|
||||
<string name="hint_operation_password">请输入6位数字密码</string>
|
||||
<string name="input_op_pwd">请输入操作密码</string>
|
||||
<string name="hint_confirm_password">请确认密码</string>
|
||||
<string name="operation_password_enabled">操作密码已开启</string>
|
||||
<string name="operation_password_disabled">操作密码已关闭</string>
|
||||
<string name="password_must_be_6_digits">密码必须为6位数字</string>
|
||||
<string name="please_confirm_password">请确认密码</string>
|
||||
<string name="confirm_reset_password">确定重设密码</string>
|
||||
<string name="get_verification_code">获取验证码</string>
|
||||
<string name="hint_phone_zh">请输入手机号</string>
|
||||
<string name="phone_tip">请输入有效的11位手机号</string>
|
||||
<string name="hint_code_zh">请输入验证码</string>
|
||||
<string name="hint_new_password_zh">请输入新密码</string>
|
||||
<string name="hint_confirm_password_zh">请再次输入新密码</string>
|
||||
<string name="enter_old_password">请输入旧密码</string>
|
||||
<string name="password_error">密码错误</string>
|
||||
<string name="operation_password_not_set">未设置操作密码</string>
|
||||
<string name="confirm_reset_password_btn">确认重置</string>
|
||||
<string name="user_status">用户状态</string>
|
||||
<string name="contact_name">联系人姓名</string>
|
||||
@@ -441,8 +226,6 @@
|
||||
<string name="expire_24h">24小时</string>
|
||||
<string name="expire_7d">7天</string>
|
||||
<string name="qr_code_expired">二维码已过期,请重新生成</string>
|
||||
<string name="generate_failed">生成失败</string>
|
||||
<string name="revoke_failed">撤销失败</string>
|
||||
<string name="share_failed">分享失败</string>
|
||||
<string name="share_poster_tips">邀请二维码有效期%1$s内有效,分享只能被接受1次</string>
|
||||
<string name="invite_friend">快来加入我!扫码下载APP</string>
|
||||
@@ -454,25 +237,15 @@
|
||||
<string name="device_no">设备编号</string>
|
||||
<string name="fw_version">固件版本</string>
|
||||
<string name="generate_invite_code">生成邀请码</string>
|
||||
|
||||
<!-- WiFi管理 -->
|
||||
<string name="not_set">未设置</string>
|
||||
<string name="device_id_empty">设备ID为空</string>
|
||||
<string name="modify_success">修改成功</string>
|
||||
<string name="modify_failed">修改失败</string>
|
||||
<string name="network_request_failed">网络请求失败</string>
|
||||
|
||||
<string name="code_sent_success">验证码发送成功</string>
|
||||
<string name="code_send_failed">验证码发送失败</string>
|
||||
|
||||
<!-- 登录密码重置 -->
|
||||
<string name="processing">处理中...</string>
|
||||
<string name="old_password_error">原密码错误</string>
|
||||
<string name="password_reset_success">密码重置成功</string>
|
||||
<string name="password_reset_failed">密码重置失败</string>
|
||||
<string name="user_not_login">用户未登录</string>
|
||||
<string name="phone_number_empty">手机号为空</string>
|
||||
<string name="operation_fail">操作失败</string>
|
||||
<string name="get_user_info_fail">获取用户信息失败</string>
|
||||
<string name="take_photo">拍照</string>
|
||||
<string name="select_from_album">从相册选择</string>
|
||||
@@ -489,34 +262,22 @@
|
||||
<string name="max_add_11_users">最多添加11个用户</string>
|
||||
<string name="linked_user_phone_label">手机号码:%s</string>
|
||||
<string name="linked_user_idcard_label">身份证号:%s</string>
|
||||
<string name="direction_up">向上移动</string>
|
||||
<string name="direction_down">向下移动</string>
|
||||
<string name="direction_left">向左移动</string>
|
||||
<string name="direction_right">向右移动</string>
|
||||
|
||||
<!-- 操作密码 -->
|
||||
<string name="please_enable_operation_password_first">请先开启操作密码</string>
|
||||
<string name="disable_operation_password_tip">确定要关闭操作密码吗?</string>
|
||||
<string name="verify_failed">验证失败</string>
|
||||
<string name="password_update_success">密码修改成功</string>
|
||||
<string name="password_update_failed">密码修改失败</string>
|
||||
<string name="update_failed">更新失败</string>
|
||||
|
||||
<string name="check_update">检查更新</string>
|
||||
<string name="clear_cache">清除缓存</string>
|
||||
<string name="cancel_account">注销账号</string>
|
||||
<string name="tip_contact_us">如有问题,请联系我们:</string>
|
||||
|
||||
<string name="cancel_account_warning_text">注销后无法恢复,请谨慎操作</string>
|
||||
<string name="current_account">当前账号</string>
|
||||
<string name="cancel_account_btn">注销</string>
|
||||
<string name="confirm_cancel_account_user_account">确定注销该用户吗?</string>
|
||||
|
||||
<!-- HomeMenuFragment 列表刷新 -->
|
||||
<string name="no_more_data">没有更多了</string>
|
||||
<string name="refreshing">正在刷新…</string>
|
||||
<string name="refresh_hint_pull">下拉刷新</string>
|
||||
<string name="refresh_hint_release">松开刷新</string>
|
||||
<string name="refresh_hint_refreshing">正在刷新…</string>
|
||||
<string name="my_family">我的家族</string>
|
||||
<string name="need_camera_permission_for_face_verify">需要相机权限才能进行人脸验证</string>
|
||||
|
||||
</resources>
|
||||
@@ -1,472 +1,242 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- App Name -->
|
||||
<string name="app_name">Defense Device</string>
|
||||
|
||||
<!-- Common -->
|
||||
<string name="app_name">Yukun Intelligent Defense System</string>
|
||||
<string name="confirm">Confirm</string>
|
||||
<string name="cancel">Cancel</string>
|
||||
<string name="save">Save</string>
|
||||
<string name="delete">Delete</string>
|
||||
<string name="edit">Edit</string>
|
||||
<string name="back">Back</string>
|
||||
<string name="loading">Loading...</string>
|
||||
<string name="network_error">Network error, please try again</string>
|
||||
<string name="send">Send</string>
|
||||
<string name="network_error">Network error, please retry</string>
|
||||
<string name="submit">Submit</string>
|
||||
|
||||
<!-- Login Activity -->
|
||||
<string name="login_title">Smart Defense Device</string>
|
||||
<string name="login_title">Yukun Intelligent Defense System</string>
|
||||
<string name="sms_login">SMS Login</string>
|
||||
<string name="password_login">Password Login</string>
|
||||
<string name="phone_hint">Enter phone number</string>
|
||||
<string name="sms_code_hint">Enter verification code</string>
|
||||
<string name="password_hint">Enter password</string>
|
||||
<string name="phone_hint">Please enter phone number</string>
|
||||
<string name="sms_code_hint">Please enter verification code</string>
|
||||
<string name="password_hint">Please enter password</string>
|
||||
<string name="send_sms_code">Send Code</string>
|
||||
<string name="login">Login</string>
|
||||
<string name="forgot_password">Forgot Password?</string>
|
||||
|
||||
<!-- Register Activity -->
|
||||
<string name="register">Register</string>
|
||||
<string name="register_title">Register</string>
|
||||
<string name="register_subtitle">Register Account</string>
|
||||
<string name="register_subtitle">Register User</string>
|
||||
<string name="set_password">Set Password</string>
|
||||
<string name="confirm_password">Confirm Password</string>
|
||||
<string name="password_requirement">Password must be 6–20 characters</string>
|
||||
<string name="agreement_prefix">I have read and agree to the</string>
|
||||
<string name="and">and</string>
|
||||
<string name="register_success">Registration Successful</string>
|
||||
<string name="password_requirement">Password must be 6-20 characters</string>
|
||||
<string name="user_agreement">User Agreement</string>
|
||||
<string name="privacy_policy">Privacy Policy</string>
|
||||
<string name="register_success">Registration successful</string>
|
||||
<string name="registering">Registering...</string>
|
||||
<string name="register_success_message">Your account has been created successfully</string>
|
||||
<string name="go_to_login">Go to Login</string>
|
||||
|
||||
<!-- Forgot Password -->
|
||||
<string name="forgot_password_title">Forgot Password</string>
|
||||
<string name="reset_password">Reset Password</string>
|
||||
<string name="new_password">New Password</string>
|
||||
<string name="reset_success">Password reset successful</string>
|
||||
<string name="resetting">Resetting...</string>
|
||||
|
||||
<!-- Face Login/Verification -->
|
||||
<string name="face_capture_hint">Please align your face within the frame</string>
|
||||
<string name="face_recognition_success">Recognition Successful</string>
|
||||
<string name="face_recognition_failed">Recognition Failed</string>
|
||||
<string name="retry">Retry</string>
|
||||
|
||||
<!-- Home Activity -->
|
||||
<string name="face_verification">Face Verification</string>
|
||||
<string name="home">Home</string>
|
||||
<string name="profile">Profile</string>
|
||||
<string name="admin_user">Administrator</string>
|
||||
<string name="normal_user">Ordinary User</string>
|
||||
<string name="family_with_normal">s Family</string>
|
||||
|
||||
|
||||
<!-- Home Menu -->
|
||||
<string name="my_devices">My Devices</string>
|
||||
<string name="add_device">Add Device</string>
|
||||
<string name="scan_qr">Scan QR Code</string>
|
||||
<string name="voice_control">Voice Control</string>
|
||||
<string name="light_control">Light Control</string>
|
||||
<string name="water_gun">Water Gun</string>
|
||||
<string name="monitor">Monitor</string>
|
||||
<string name="message">Message</string>
|
||||
<string name="settings">Settings</string>
|
||||
|
||||
<!-- Device Management -->
|
||||
<string name="device_name">Device Name</string>
|
||||
<string name="device_status">Status</string>
|
||||
<string name="device_online">Online</string>
|
||||
<string name="device_id">Device ID</string>
|
||||
<string name="bind_device">Bind Device</string>
|
||||
<string name="unbind_device">Unbind Device</string>
|
||||
<string name="device_not_found">No devices found</string>
|
||||
<string name="no_device">No device</string>
|
||||
<string name="no_permission_title">No permission</string>
|
||||
<string name="no_permission_desc">You do not have permission to view devices</string>
|
||||
|
||||
<!-- Add Device -->
|
||||
<string name="add_device_title">Add Device</string>
|
||||
<string name="scan_nearby">Scan Nearby Devices</string>
|
||||
<string name="scanning">Scanning continuously...</string>
|
||||
<string name="device_nearby_hint">Please keep your phone close to the device</string>
|
||||
<string name="scan_again">Scan Again</string>
|
||||
<string name="add_manually">Add Manually</string>
|
||||
<string name="enter_device_id">Enter Device ID</string>
|
||||
<string name="bind_success">Binding Successful</string>
|
||||
|
||||
<!-- Family Management -->
|
||||
<string name="family_management">Family Management</string>
|
||||
<string name="switch_family">Switch Family</string>
|
||||
<string name="current_family">Current Family</string>
|
||||
<string name="my_family">My Family</string>
|
||||
<string name="normal_user">Normal User</string>
|
||||
<string name="my_family_admin">%s (Admin)</string>
|
||||
<string name="family_member">%s (Member)</string>
|
||||
<string name="add_family">Add Family</string>
|
||||
<string name="family_name">Family Name</string>
|
||||
<string name="enter_family_name">Enter family name</string>
|
||||
<string name="create_family">Create Family</string>
|
||||
<string name="join_family">Join Family</string>
|
||||
<string name="device_name">Device Name</string>
|
||||
<string name="device_offline">Offline</string>
|
||||
<string name="unbind_device">Unbind Device</string>
|
||||
<string name="add_device_title">Add Device</string>
|
||||
<string name="scan_nearby">Scan Nearby Devices</string>
|
||||
<string name="scanning">Continuous auto scanning...</string>
|
||||
<string name="device_nearby_hint">Please keep your phone close to the device to be added</string>
|
||||
<string name="switch_family">Switch Family</string>
|
||||
<string name="join_now">Join Now</string>
|
||||
<string name="nickname_placeholder">Nickname</string>
|
||||
<string name="invite_join_family_message">Inviting you to join %s\'s family</string>
|
||||
<string name="invite_join_family_message_preview">Inviting you to join Nickname\'s family</string>
|
||||
<string name="family_code">Family Code</string>
|
||||
<string name="enter_family_code">Enter family code</string>
|
||||
|
||||
<!-- User Management -->
|
||||
<string name="nickname_placeholder">This is nickname</string>
|
||||
<string name="invite_join_family_message">Invites you to join %s\'s family</string>
|
||||
<string name="invite_join_family_message_preview">Invites you to join This is nickname\'s family</string>
|
||||
<string name="family_with_normal">\'s family</string>
|
||||
<string name="no_device">No devices</string>
|
||||
<string name="user_management">User Management</string>
|
||||
<string name="user_list">User List</string>
|
||||
<string name="add_user">Add User</string>
|
||||
<string name="admin">Admin</string>
|
||||
<string name="member">Member</string>
|
||||
<string name="nickname">Nickname</string>
|
||||
<string name="phone_number">Phone Number</string>
|
||||
<string name="enter_nickname">Enter nickname</string>
|
||||
|
||||
<!-- Password Management -->
|
||||
<string name="password_management">Password Management</string>
|
||||
<string name="change_password">Change Password</string>
|
||||
<string name="current_password">Current Password</string>
|
||||
<string name="old_password">Old Password</string>
|
||||
<string name="verification_code">Verification Code</string>
|
||||
<string name="password_not_match">Passwords do not match</string>
|
||||
|
||||
<!-- Face Management -->
|
||||
<string name="face_management">Face Management</string>
|
||||
<string name="add_face">Add Face</string>
|
||||
<string name="face_list">Face List</string>
|
||||
<string name="delete_face_confirm">Are you sure you want to delete this face?</string>
|
||||
<string name="strict_capture">Strict Capture</string>
|
||||
|
||||
<!-- Live Video -->
|
||||
<string name="live_video">Live Video</string>
|
||||
<string name="fullscreen">Fullscreen</string>
|
||||
<string name="screenshot">Screenshot</string>
|
||||
<string name="record">Record</string>
|
||||
<string name="talk">Talk</string>
|
||||
<string name="mute">Mute</string>
|
||||
<string name="unmute">Unmute</string>
|
||||
<string name="video_loading">Loading video...</string>
|
||||
<string name="video_error">Video loading failed</string>
|
||||
|
||||
<!-- Alarm Log -->
|
||||
<string name="alarm_log_title">Alarm Log</string>
|
||||
<string name="alarm_detail">Alarm Detail</string>
|
||||
<string name="alarm_time">Alarm Time</string>
|
||||
<string name="alarm_type">Alarm Type</string>
|
||||
<string name="alarm_location">Location</string>
|
||||
<string name="no_alarm_logs">No alarm records</string>
|
||||
<string name="intrusion_detected">Intrusion Detected</string>
|
||||
<string name="abnormal_sound">Abnormal Sound</string>
|
||||
<string name="motion_detected">Motion Detected</string>
|
||||
|
||||
<!-- Message -->
|
||||
<string name="standard_capture">Standard Capture</string>
|
||||
<string name="alarm_log_title">Alarm Records</string>
|
||||
<string name="message_title">Messages</string>
|
||||
<string name="system_message">System</string>
|
||||
<string name="alarm_message">Alarm</string>
|
||||
<string name="device_message">Device</string>
|
||||
<string name="no_messages">No messages</string>
|
||||
<string name="mark_as_read">Mark as Read</string>
|
||||
<string name="clear_all">Clear All</string>
|
||||
<string name="message_detail">Message Detail</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="settings_title">Settings</string>
|
||||
<string name="function_settings">Function Settings</string>
|
||||
<string name="basic_settings">Basic Settings</string>
|
||||
<string name="voice_settings">Voice Settings</string>
|
||||
<string name="water_gun_settings">Water Gun Settings</string>
|
||||
<string name="water_gun_settings">Repulsion Settings</string>
|
||||
<string name="detection_settings">Auto Mode</string>
|
||||
<string name="notification_settings">Notification Settings</string>
|
||||
<string name="language_settings">Language</string>
|
||||
<string name="chinese">Chinese</string>
|
||||
<string name="english">English</string>
|
||||
<string name="linked_user">Linked user</string>
|
||||
<string name="linked_user">Linked User</string>
|
||||
<string name="user_details">User Details</string>
|
||||
<string name="search">search</string>
|
||||
<string name="search_preset_text">Search preset text</string>
|
||||
<string name="add_linked_user">Add linked user</string>
|
||||
<string name="unlink">unlink</string>
|
||||
<string name="unlink_confirm_message">Unlink confirm message?</string>
|
||||
<string name="add_linked_user">Add Linked User</string>
|
||||
<string name="unlink">Unlink</string>
|
||||
<string name="unlink_confirm_message">Are you sure to unlink this user from this device?</string>
|
||||
<string name="wiFi_management">WiFi Management</string>
|
||||
<string name="about">About</string>
|
||||
<string name="version">Version</string>
|
||||
<string name="logout">Logout</string>
|
||||
<string name="logout_confirm">Are you sure you want to logout?</string>
|
||||
<string name="logout_fail">Logout failed</string>
|
||||
<string name="warning_voice_playback">Warning Voice Playback</string>
|
||||
<string name="warning_voice_content">Warning Voice Content</string>
|
||||
<string name="enter_warning_voice_content_system_will_generate_voice_automatically">Enter warning voice content, system will generate voice automatically.</string>
|
||||
<string name="device_info">Device info</string>
|
||||
<string name="device_model">Device model</string>
|
||||
<string name="device_no">Device No</string>
|
||||
<string name="fw_version">FW Version</string>
|
||||
<string name="auto_arms_start_time">Auto arm start time</string>
|
||||
<string name="auto_arms_end_time">Auto arm End time</string>
|
||||
<string name="enter_warning_voice_content_system_will_generate_voice_automatically">Please enter warning voice content, system will generate voice automatically</string>
|
||||
<string name="strike_interval">Repulsion Interval</string>
|
||||
<string name="switch_container">Switch Container</string>
|
||||
<string name="strike_position">Repulsion Position</string>
|
||||
<string name="click_model_select_strike_pos">Please click on the body model below to select the approximate repulsion position</string>
|
||||
<string name="confirm_modify_strike_pos">Confirm to change to this repulsion position?</string>
|
||||
<string name="submit_failed">Submit failed</string>
|
||||
<string name="container_1">Container 1</string>
|
||||
<string name="container_2">Container 2</string>
|
||||
<string name="container_3">Container 3</string>
|
||||
<string name="container_4">Container 4</string>
|
||||
<string name="auto_mode_title">Auto Mode</string>
|
||||
<string name="full_auto_mode">Full Auto Mode</string>
|
||||
<string name="semi_auto_mode">Semi-Auto Mode</string>
|
||||
<string name="auto_defense_start_time">Auto Defense Start Time</string>
|
||||
<string name="auto_defense_end_time">Auto Defense End Time</string>
|
||||
<string name="auto_mode_notice">Auto Mode Notice</string>
|
||||
<string name="know_and_agree">Understand and Agree</string>
|
||||
<string name="auto_mode_notice_content">After enabling full auto mode, the device/system will operate autonomously and execute preset procedures automatically without manual intervention. During operation, do not randomly power off, force restart, block sensing components, or disassemble the device to avoid program abnormalities and operation interruption. Full auto mode is only suitable for standard normal scenarios. For special working conditions, abnormal environments, or temporary special needs, please manually switch to manual mode. The system will automatically identify normal status and adaptively adjust. If alarms, lag, or abnormal prompts occur, immediately pause full auto mode and restart after troubleshooting. It is strictly prohibited to place debris or dangerous items within the full auto operation range. Keep the working area clean and unobstructed to prevent device collision, jamming, or safety accidents. Regular inspection of device status, battery, network, and hardware wear is required to ensure stable long-term operation of full auto mode. Minors and unrelated persons are prohibited from touching or operating the full auto mode switch and settings panel to prevent misoperation causing faults and risks.</string>
|
||||
<string name="device_info">Device Info</string>
|
||||
<string name="device_model">Device Model</string>
|
||||
<string name="auto_arms_start_time">Auto Armed Start Time</string>
|
||||
<string name="auto_arms_end_time">Auto Armed End Time</string>
|
||||
<string name="please_select_at_least_one_user">Please select at least one user</string>
|
||||
<string name="selected_users_voice">%d user(s) selected, voice</string>
|
||||
|
||||
|
||||
<!-- Personal Profile -->
|
||||
<string name="personal_info">Personal Info</string>
|
||||
<string name="avatar">Avatar</string>
|
||||
<string name="gender">Gender</string>
|
||||
<string name="male">Male</string>
|
||||
<string name="female">Female</string>
|
||||
<string name="birthday">Birthday</string>
|
||||
<string name="address">Address</string>
|
||||
<string name="enter_address">Enter address</string>
|
||||
|
||||
<!-- Scan -->
|
||||
<string name="scan_title">Scan QR Code</string>
|
||||
<string name="scan_hint">Align QR code within frame to scan</string>
|
||||
<string name="scan_failed">Scan failed, please try again</string>
|
||||
|
||||
<!-- WiFi -->
|
||||
<string name="wifi_list">WiFi List</string>
|
||||
<string name="wifi_password">WiFi Password</string>
|
||||
<string name="enter_wifi_password">Enter WiFi password</string>
|
||||
<string name="connect">Connect</string>
|
||||
<string name="connecting">Connecting...</string>
|
||||
<string name="wifi_connection_failed">WiFi Connection failed</string>
|
||||
<string name="wifi_connection_success">WiFi Connected successfully</string>
|
||||
<string name="enter_wifi_password">Please enter WiFi password</string>
|
||||
<string name="connect_device">Connect Device</string>
|
||||
<string name="connection_success">Connected successfully</string>
|
||||
<string name="bluetooth_keep_enabled">Please keep Bluetooth on and move your phone closer to the device</string>
|
||||
<string name="transmit_info_to_device">Transmitting information to the device</string>
|
||||
<string name="device_connect_network">Device connecting to the network</string>
|
||||
<string name="device_connect_near_router">Please move the device closer to the router while connecting to the network</string>
|
||||
<string name="keep_device_near_router">Please move the device closer to the router</string>
|
||||
<string name="use_smart_defense_app">Scan code to join via smart defense management APP</string>
|
||||
<string name="cancel_invite">Cancel Invitation</string>
|
||||
<string name="regenerate">Regenerate</string>
|
||||
<string name="generate_invite_code">Generate Invite Code</string>
|
||||
|
||||
<!-- Dialog -->
|
||||
<string name="connection_success">Connection successful</string>
|
||||
<string name="bluetooth_keep_enabled">Please keep phone Bluetooth on and keep phone close to the device</string>
|
||||
<string name="transmit_info_to_device">Transmit info to device</string>
|
||||
<string name="device_connect_network">Device connecting to network</string>
|
||||
<string name="device_connect_near_router">Please keep device close to the router</string>
|
||||
<string name="keep_device_near_router">Please keep device close to the router</string>
|
||||
<string name="tip">Tip</string>
|
||||
<string name="download_alarm_video_confirm">Confirm to download this intrusion alarm video?</string>
|
||||
<string name="delete_alarm_video_confirm">Confirm to delete this intrusion alarm video?</string>
|
||||
<string name="download_alarm_photo_confirm">Confirm to download this intrusion alarm photo?</string>
|
||||
<string name="delete_alarm_photo_confirm">Confirm to delete this intrusion alarm photo?</string>
|
||||
<string name="download_start">Start Download</string>
|
||||
<string name="download_alarm_video_confirm">Confirm download this intrusion alarm video?</string>
|
||||
<string name="delete_alarm_video_confirm">Confirm delete this intrusion alarm video?</string>
|
||||
<string name="download_alarm_photo_confirm">Confirm download this intrusion alarm photo?</string>
|
||||
<string name="delete_alarm_photo_confirm">Confirm delete this intrusion alarm photo?</string>
|
||||
<string name="download_start">Download started</string>
|
||||
<string name="delete_success">Deleted successfully</string>
|
||||
<string name="please_wait">Please wait...</string>
|
||||
<string name="operation_success">Operation successful</string>
|
||||
<string name="operation_failed">Operation failed</string>
|
||||
<string name="network_unavailable">Network unavailable</string>
|
||||
<string name="check_network">Please check your network connection</string>
|
||||
<string name="confirm_delete_user">Are you sure to delete this user?</string>
|
||||
|
||||
<!-- Voice Recognition Mode -->
|
||||
<string name="confirm_delete_user">Confirm delete this user?</string>
|
||||
<string name="recognition_mode">Recognition Mode</string>
|
||||
<string name="mode_standard">Standard Mode</string>
|
||||
<string name="mode_strict">Strict Mode</string>
|
||||
<string name="mode_custom">Custom Mode</string>
|
||||
|
||||
<!-- Time -->
|
||||
<string name="today">Today</string>
|
||||
<string name="yesterday">Yesterday</string>
|
||||
<string name="this_week">This Week</string>
|
||||
<string name="this_month">This Month</string>
|
||||
|
||||
<!-- Placeholder -->
|
||||
<string name="hello_blank_fragment">Hello blank fragment</string>
|
||||
|
||||
<!-- Additional missing strings -->
|
||||
<string name="scan_device_qr">Please scan the QR code on the device or manual</string>
|
||||
<string name="workshop">Workshop</string>
|
||||
<string name="parents_home">Parents Home</string>
|
||||
<string name="smart_hanging_defense">Smart Hanging Defense</string>
|
||||
<string name="smart_hanging_defense">Smart Hanging Defense Device</string>
|
||||
<string name="smart_defense_device">Smart Defense Device</string>
|
||||
<string name="smart_rail_defense">Smart Rail Defense</string>
|
||||
<string name="corridor_defense">Corridor Defense</string>
|
||||
<string name="door_defense">Door Defense</string>
|
||||
<string name="living_room_defense">Living Room Defense</string>
|
||||
<string name="balcony_defense">Balcony Defense</string>
|
||||
<string name="album">Album</string>
|
||||
<string name="flashlight">Flashlight</string>
|
||||
<string name="my_family_home">My Family</string>
|
||||
<string name="device">Device</string>
|
||||
<string name="smart_device_a1">Smart Defense Device A1</string>
|
||||
<string name="voice">Voice</string>
|
||||
<string name="light">Light</string>
|
||||
<string name="control">Control</string>
|
||||
<string name="seconds">%ds</string>
|
||||
<string name="register">Register</string>
|
||||
<string name="register_user">Register User</string>
|
||||
<string name="enter_platform">Enter Platform</string>
|
||||
<string name="personal_info">Personal Info</string>
|
||||
<string name="nickname">Nickname</string>
|
||||
<string name="nickname_hint">Enter nickname</string>
|
||||
<string name="nickname_hint">This is nickname</string>
|
||||
<string name="bind_phone">Bind Phone</string>
|
||||
<string name="face_recognition">Face Recognition</string>
|
||||
<string name="face_verification">Face Verification</string>
|
||||
<string name="face_security_notice">Only used to create defense mechanisms and prevent theft, ensuring your security</string>
|
||||
<string name="follow_instructions">Please follow the instructions to complete face verification</string>
|
||||
<string name="standard_capture">Standard Capture</string>
|
||||
<string name="incomplete_capture">Incomplete Capture</string>
|
||||
<string name="insufficient_light">Insufficient Light</string>
|
||||
<string name="face_security_notice">Only used for creating defense mechanism and anti-theft, ensuring your safety</string>
|
||||
<string name="follow_instructions">Please follow instructions to complete face verification</string>
|
||||
<string name="incomplete_capture">Incomplete capture</string>
|
||||
<string name="insufficient_light">Insufficient light</string>
|
||||
<string name="start_verification">Start Verification</string>
|
||||
<string name="select_wifi">Select Wi-Fi</string>
|
||||
<string name="enter_wifi_name">Enter Wi-Fi name</string>
|
||||
<string name="enter_wifi_name">Please enter WiFi name</string>
|
||||
<string name="next_step">Next</string>
|
||||
<string name="set_name">Set Name</string>
|
||||
<string name="enter_device_name">Enter device name</string>
|
||||
<string name="enter_device_name">Please enter device name</string>
|
||||
<string name="complete">Complete</string>
|
||||
<string name="alarm_log">Alarm Log</string>
|
||||
<string name="cancel">Cancel</string>
|
||||
<string name="confirm">Confirm</string>
|
||||
<string name="bluetooth_recognition">Bluetooth Recognition</string>
|
||||
<string name="bluetooth_face_recognition">Bluetooth + Face Recognition</string>
|
||||
<string name="message_list">Messages</string>
|
||||
<string name="face_collection">Face Collection</string>
|
||||
<string name="face_in_circle">Please align your face within the circular area</string>
|
||||
<string name="face_in_circle">Please place your face within the circle</string>
|
||||
<string name="collect_face">Collect Face</string>
|
||||
<string name="login_password">Login Password</string>
|
||||
<string name="input_new_op_pwd">Enter new operation password</string>
|
||||
<string name="enter_old_password">Enter old password</string>
|
||||
<string name="confirm_reset_password">Confirm Reset Password</string>
|
||||
<string name="retrieve_password">Retrieve Password</string>
|
||||
<string name="input_new_op_pwd">Please enter new operation password</string>
|
||||
<string name="operation_password">Operation Password</string>
|
||||
|
||||
<string name="enter_phone_number">Enter phone number</string>
|
||||
<string name="enter_verification_code">Enter verification code</string>
|
||||
<string name="send_code">Send Code</string>
|
||||
<string name="resend_code">Resend</string>
|
||||
<string name="enter_new_password">Enter new password</string>
|
||||
<string name="enter_password_again">Enter password again</string>
|
||||
<string name="enter_phone_number">Please enter phone number</string>
|
||||
<string name="enter_verification_code">Please enter verification code</string>
|
||||
<string name="resend_code">Resend Code</string>
|
||||
<string name="enter_new_password">Please enter new password</string>
|
||||
<string name="enter_password_again">Please enter new password again</string>
|
||||
<string name="determine">Confirm</string>
|
||||
<string name="id_number">ID Number</string>
|
||||
<string name="enter_id_number">Enter ID number</string>
|
||||
<string name="hint_input_correct_id_card">Please enter a valid ID card number</string>
|
||||
<string name="invite_code_optional">Invite Code (Optional)</string>
|
||||
<string name="enter_invite_code">Enter invite code</string>
|
||||
<string name="enter_id_number">Please enter ID number</string>
|
||||
<string name="hint_input_correct_id_card">Please enter correct ID number</string>
|
||||
<string name="invite_code_optional">Invite code (optional)</string>
|
||||
<string name="scan_add">Scan to Add</string>
|
||||
<string name="wifi">WiFi</string>
|
||||
<string name="face_login">Face Login</string>
|
||||
<string name="recording_permission_needed">Recording permission is required for control features</string>
|
||||
<string name="video_ready">Video ready</string>
|
||||
<string name="playback_complete">Playback complete</string>
|
||||
<string name="cannot_load_video">Cannot load video</string>
|
||||
<string name="view_alarm_log">View alarm log</string>
|
||||
<string name="paused">Paused</string>
|
||||
<string name="resume_playback">Resume playback</string>
|
||||
<string name="entered_fullscreen">Entered fullscreen</string>
|
||||
<string name="exited_fullscreen">Exited fullscreen</string>
|
||||
<string name="sound_on">Sound on</string>
|
||||
<string name="sound_off">Sound off</string>
|
||||
<string name="download">Download</string>
|
||||
<string name="light_on">Light on</string>
|
||||
<string name="light_off">Light off</string>
|
||||
<string name="start_control_mode">Start control mode</string>
|
||||
<string name="stop_control_mode">Stop control mode</string>
|
||||
<string name="recording_start_failed">Recording start failed</string>
|
||||
<string name="video_error_format">Playback error: %1$d, %2$d</string>
|
||||
<string name="buffering_format">Buffering: %d%%</string>
|
||||
<string name="camera_not_ready">Camera not ready</string>
|
||||
<string name="cannot_open_camera">Cannot open camera</string>
|
||||
<string name="camera_permission_needed">Camera permission is required</string>
|
||||
<string name="permission_denied">Camera and storage permissions are required</string>
|
||||
<string name="camera_permission_denied">Camera permission is required</string>
|
||||
<string name="storage_permission_denied">Storage permission is required</string>
|
||||
<string name="write_storage_permission_denied">Write storage permission is required</string>
|
||||
<string name="take_photo_failed">Failed to take photo</string>
|
||||
<string name="get_file_failed">Failed to get file</string>
|
||||
<string name="create_file_failed">Failed to create file</string>
|
||||
<string name="uploading">Uploading...</string>
|
||||
<string name="upload_failed">Upload failed</string>
|
||||
<string name="image_selected">Image selected</string>
|
||||
<string name="permission_denied">Camera and storage permissions required</string>
|
||||
<string name="please_try_later">Please try again later</string>
|
||||
<string name="phone_format_invalid">Invalid phone number format</string>
|
||||
<string name="enter_verification_code_pls">Please enter verification code</string>
|
||||
<string name="get_code_first">Please get verification code first</string>
|
||||
<string name="verification_code_error">Verification code error</string>
|
||||
<string name="password_cannot_empty">Password cannot be empty</string>
|
||||
<string name="password_letter_digit">Password must contain both letters and digits</string>
|
||||
<string name="password_letter_digit">Password must contain both letters and numbers</string>
|
||||
<string name="pwd_length_tip">Password must be %1$d-%2$d characters</string>
|
||||
<string name="password_mismatch">Passwords do not match</string>
|
||||
<string name="redirect_face_page">Redirecting to face page</string>
|
||||
<string name="redirect_register_page">Redirecting to register page</string>
|
||||
<string name="forgot_password_page">Forgot password page</string>
|
||||
<string name="redirect_face_recognition_page">Redirecting to face recognition page</string>
|
||||
<string name="camera_permission_face_verify">Camera permission is required for face verification</string>
|
||||
<string name="intrusion_alarm">Intrusion alarm</string>
|
||||
<string name="device_fault">Device fault</string>
|
||||
<string name="device_offline">Device offline</string>
|
||||
<string name="renewal_reminder">Renewal reminder</string>
|
||||
<string name="someone_invaded">Someone invaded</string>
|
||||
<string name="go_check">Go check</string>
|
||||
<string name="intrusion_alarm">Intrusion Alarm</string>
|
||||
<string name="someone_invaded">Intrusion Detected</string>
|
||||
<string name="go_check">Check it</string>
|
||||
<string name="notice">Notice</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="strike_distance">Strike Distance</string>
|
||||
<string name="enter_strike_distance">Enter strike distance</string>
|
||||
<string name="strike_interval">Strike Interval</string>
|
||||
<string name="switch_container">Switch Container</string>
|
||||
<string name="strike_position">Strike Position</string>
|
||||
<string name="click_model_select_strike_pos">Please click the human model below to select the approximate strike position</string>
|
||||
<string name="confirm_modify_strike_pos">Confirm to modify to this strike position?</string>
|
||||
<string name="submit_success">Submitted successfully</string>
|
||||
<string name="submit_failed">Submission failed</string>
|
||||
<string name="container_1">Container 1</string>
|
||||
<string name="container_2">Container 2</string>
|
||||
<string name="container_3">Container 3</string>
|
||||
<string name="container_4">Container 4</string>
|
||||
<string name="face_detection_failed">Face detection failed</string>
|
||||
<string name="nickname_default">My nickname</string>
|
||||
<!-- Auto Mode -->
|
||||
<string name="auto_mode_title">Auto Mode</string>
|
||||
<string name="full_auto_mode">Full Auto Mode</string>
|
||||
<string name="semi_auto_mode">Semi-Auto Mode</string>
|
||||
<string name="auto_defense_start_time">Auto Arm Start Time</string>
|
||||
<string name="auto_defense_end_time">Auto Arm End Time</string>
|
||||
<string name="auto_mode_notice">Auto Mode Instructions</string>
|
||||
<string name="know_and_agree">I have read and agree</string>
|
||||
<string name="auto_mode_notice_content">After enabling Full Auto Mode, the device/system will operate independently and automatically execute preset procedures without manual intervention.During operation, do not arbitrarily power off, force a restart, block sensor components or disassemble the device privately, so as to avoid program abnormalities and operation interruption. Full Auto Mode is only applicable to standard and conventional scenarios. Under special working conditions, abnormal environments or temporary special requirements, please manually switch to manual mode.The system will automatically identify normal status and make adaptive adjustments. In case of faults such as alarms, stuttering or abnormal prompts, immediately pause Full Auto Mode, troubleshoot the problem before restarting.Do not place sundries or dangerous goods within the automatic operation range. Keep the working area clean and unobstructed to prevent equipment collision, jamming and safety accidents.Operation data and execution records of Full Auto Mode will be automatically saved. Do not arbitrarily delete or tamper with system configuration parameters to avoid operational logic disorder.Check the device status, power level, network connection and hardware loss regularly on a daily basis to ensure stable and long-term operation of Full Auto Mode. Minors and irrelevant personnel are prohibited from touching or operating the Full Auto Mode switch and setting panel to prevent malfunctions and risks caused by misoperation.</string>
|
||||
<string name="modify_phone">Modify Phone</string>
|
||||
<string name="invalid_phone">Invalid phone number format</string>
|
||||
<string name="verify_and_bind">Verify and Bind</string>
|
||||
|
||||
|
||||
<string name="strike_distance">Repulsion Distance</string>
|
||||
<string name="enter_strike_distance">Please enter repulsion distance</string>
|
||||
<string name="nickname_default">This is my nickname</string>
|
||||
<string name="device_running_days">Device has been running for %d days, please maintain in time</string>
|
||||
<string name="device_offline_message">Device is offline, please check the WiFi and power connection</string>
|
||||
<string name="countdown_retry">%ds retry</string>
|
||||
<string name="sms_login_success">SMS login successful\nPhone: %1$s\nCode: %2$s</string>
|
||||
<string name="password_login_success">Password login successful\nPhone: %1$s\nPassword: %2$s</string>
|
||||
<string name="device_offline_message">Device is offline, please check device WiFi and power</string>
|
||||
<string name="countdown_retry">Retry in %d seconds</string>
|
||||
<string name="code_sent_to">Verification code sent to %s</string>
|
||||
<string name="sms_login_success_title">Login successful</string>
|
||||
<string name="password_login_success_title">Login successful</string>
|
||||
<string name="code_already_sent">Verification code sent</string>
|
||||
<string name="sms_login_success_title">Login Successful</string>
|
||||
<string name="password_login_success_title">Login Successful</string>
|
||||
<string name="modify_phone">Modify Phone Number</string>
|
||||
<string name="invalid_phone">Invalid phone number</string>
|
||||
<string name="verify_and_bind">Verify and Bind</string>
|
||||
<string name="operation_password_switch">Operation Password Switch</string>
|
||||
<string name="hint_operation_password">Please enter a 6-digit numeric password</string>
|
||||
<string name="input_op_pwd">Enter operation password</string>
|
||||
<string name="hint_confirm_password">Please confirm your password</string>
|
||||
<string name="operation_password_enabled">Operation password enabled</string>
|
||||
<string name="operation_password_disabled">Operation password disabled</string>
|
||||
<string name="password_must_be_6_digits">Password must be 6 digits</string>
|
||||
<string name="please_confirm_password">Please confirm your password</string>
|
||||
<string name="password_error">Password error</string>
|
||||
<string name="operation_password_not_set">Operation password not set</string>
|
||||
<string name="get_verification_code">Get Verification Code</string>
|
||||
<string name="hint_phone_zh">Please enter your phone number</string>
|
||||
<string name="input_op_pwd">Please enter operation password</string>
|
||||
<string name="confirm_reset_password">Confirm password reset</string>
|
||||
<string name="hint_phone_zh">Please enter phone number</string>
|
||||
<string name="phone_tip">Please enter valid 11-digit phone number</string>
|
||||
<string name="hint_code_zh">Please enter verification code</string>
|
||||
<string name="hint_new_password_zh">Please enter new password</string>
|
||||
<string name="hint_confirm_password_zh">Please re-enter new password</string>
|
||||
<string name="hint_confirm_password_zh">Please enter new password again</string>
|
||||
<string name="enter_old_password">Please enter old password</string>
|
||||
<string name="password_error">Password error</string>
|
||||
<string name="confirm_reset_password_btn">Confirm Reset</string>
|
||||
<string name="user_status">User Status</string>
|
||||
<string name="contact_name">Contact Name</string>
|
||||
<string name="id_card">ID Card Number</string>
|
||||
<string name="id_card">ID Number</string>
|
||||
<string name="mac_address">MAC Address</string>
|
||||
<string name="invite_code">Invite Code</string>
|
||||
<string name="invite_code_expire_time">Invite Code Expiry</string>
|
||||
<string name="qr_code_invite">Scan QR Code to Invite</string>
|
||||
<string name="invite_code_tips">Invite QR code is valid for 24 hours; can only be accepted once; manual revocation or regenerating will invalidate the previous invite QR code</string>
|
||||
<string name="qr_code_invite">QR Code Invite</string>
|
||||
<string name="invite_code_tips">QR code valid for 24 hours, can only be accepted once; manual cancellation or regeneration will invalidate the original QR code</string>
|
||||
<string name="other_invite_methods">Other Invite Methods</string>
|
||||
<string name="wechat_friend">WeChat Friend</string>
|
||||
<string name="expire_24h">24h</string>
|
||||
<string name="expire_7d">7d</string>
|
||||
<string name="qr_code_expired">QR code has expired, please regenerate</string>
|
||||
<string name="generate_failed">Generate failed</string>
|
||||
<string name="revoke_failed">Revoke failed</string>
|
||||
<string name="expire_24h">24 hours</string>
|
||||
<string name="expire_7d">7 days</string>
|
||||
<string name="qr_code_expired">QR code expired, please regenerate</string>
|
||||
<string name="share_failed">Share failed</string>
|
||||
<string name="share_poster_tips">The invitation QR code is valid within %1$s and can only be accepted once</string>
|
||||
<string name="invite_friend">Come and join me! Scan the QR code to download the app</string>
|
||||
<string name="share_poster_tips">QR code valid for %1$s, share can only be accepted once</string>
|
||||
<string name="invite_friend">Join me! Scan to download APP</string>
|
||||
<string name="share_to">Share to</string>
|
||||
<string name="no_share_app">No sharing application available</string>
|
||||
|
||||
<!-- WiFi Management -->
|
||||
<string name="no_share_app">No share apps available</string>
|
||||
<string name="use_smart_defense_app">Use Smart Defense Management APP to scan and join</string>
|
||||
<string name="cancel_invite">Cancel Invite</string>
|
||||
<string name="regenerate">Regenerate</string>
|
||||
<string name="device_no">Device Number</string>
|
||||
<string name="fw_version">Firmware Version</string>
|
||||
<string name="generate_invite_code">Generate Invite Code</string>
|
||||
<string name="not_set">Not set</string>
|
||||
<string name="device_id_empty">Device ID is empty</string>
|
||||
<string name="modify_success">Modified successfully</string>
|
||||
@@ -474,56 +244,40 @@
|
||||
<string name="network_request_failed">Network request failed</string>
|
||||
<string name="code_sent_success">Verification code sent successfully</string>
|
||||
<string name="code_send_failed">Failed to send verification code</string>
|
||||
|
||||
<!-- Login Password Reset -->
|
||||
<string name="processing">Processing...</string>
|
||||
<string name="old_password_error">Old password is incorrect</string>
|
||||
<string name="password_reset_success">Password reset successful</string>
|
||||
<string name="password_reset_failed">Password reset failed</string>
|
||||
<string name="user_not_login">User not logged in</string>
|
||||
<string name="phone_number_empty">Phone number not found</string>
|
||||
<string name="operation_fail">Operation failed</string>
|
||||
<string name="get_user_info_fail">Failed to get user info</string>
|
||||
<string name="take_photo">Take Photo</string>
|
||||
<string name="select_from_album">Select from Album</string>
|
||||
<string name="select_date">Select Date</string>
|
||||
<string name="select_time">Select Time</string>
|
||||
<string name="max_add_11_users">A maximum of 11 users can be added</string>
|
||||
<string name="camera_permission_denied">Camera permission required</string>
|
||||
<string name="storage_permission_denied">Storage permission required</string>
|
||||
<string name="write_storage_permission_denied">Write storage permission required</string>
|
||||
<string name="take_photo_failed">Failed to take photo</string>
|
||||
<string name="get_file_failed">Failed to get file</string>
|
||||
<string name="create_file_failed">Failed to create file</string>
|
||||
<string name="uploading">Uploading...</string>
|
||||
<string name="upload_failed">Upload failed</string>
|
||||
<string name="max_add_11_users">Maximum 11 users can be added</string>
|
||||
<string name="linked_user_phone_label">Phone: %s</string>
|
||||
<string name="linked_user_idcard_label">ID: %s</string>
|
||||
|
||||
<!-- Direction Control -->
|
||||
<string name="direction_up">Move Up</string>
|
||||
<string name="direction_down">Move Down</string>
|
||||
<string name="direction_left">Move Left</string>
|
||||
<string name="direction_right">Move Right</string>
|
||||
|
||||
<!-- Operation Password -->
|
||||
<string name="please_enable_operation_password_first">Please enable operation password first</string>
|
||||
<string name="disable_operation_password_tip">Are you sure you want to disable operation password?</string>
|
||||
<string name="verify_failed">Verification failed</string>
|
||||
<string name="linked_user_idcard_label">ID Number: %s</string>
|
||||
<string name="password_update_success">Password updated successfully</string>
|
||||
<string name="password_update_failed">Failed to update password</string>
|
||||
<string name="password_update_failed">Password update failed</string>
|
||||
<string name="update_failed">Update failed</string>
|
||||
|
||||
<!-- Settings Menus -->
|
||||
<string name="check_update">Check for Updates</string>
|
||||
<string name="check_update">Check Update</string>
|
||||
<string name="clear_cache">Clear Cache</string>
|
||||
<string name="cancel_account">Cancel Account</string>
|
||||
<string name="tip_contact_us">If you have any questions, please contact us:</string>
|
||||
<string name="user_agreement">User Agreement</string>
|
||||
<string name="privacy_policy">Privacy Policy</string>
|
||||
|
||||
<!-- Cancel Account -->
|
||||
<string name="cancel_account_warning_text">Account data cannot be restored after cancellation, please proceed with caution</string>
|
||||
<string name="tip_contact_us">If you have questions, please contact us:</string>
|
||||
<string name="cancel_account_warning_text">Account cannot be recovered after cancellation, please proceed with caution</string>
|
||||
<string name="current_account">Current Account</string>
|
||||
<string name="cancel_account_btn">Cancel</string>
|
||||
<string name="confirm_cancel_account_user_account">Confirm Cancel Account User Account</string>
|
||||
|
||||
<!-- Home Menu refresh / load more -->
|
||||
<string name="cancel_account_btn">Cancel Account</string>
|
||||
<string name="confirm_cancel_account_user_account">Confirm to cancel this user account?</string>
|
||||
<string name="no_more_data">No more data</string>
|
||||
<string name="refreshing">Refreshing…</string>
|
||||
<string name="refresh_hint_pull">Pull down to refresh</string>
|
||||
<string name="refresh_hint_release">Release to refresh</string>
|
||||
<string name="refresh_hint_refreshing">Refreshing…</string>
|
||||
<string name="refresh_hint_refreshing">Refreshing...</string>
|
||||
<string name="my_family">My Family</string>
|
||||
<string name="need_camera_permission_for_face_verify">Camera permission is required for face verification</string>
|
||||
|
||||
</resources>
|
||||