语言选择
This commit is contained in:
@@ -1,7 +1,10 @@
|
|||||||
package com.ckkj.water;
|
package com.ckkj.water;
|
||||||
|
|
||||||
public class AppConfig {
|
public class AppConfig {
|
||||||
|
//用户当前保存的语言状态,用于接口请求头传参
|
||||||
|
//zh_CN 中文
|
||||||
|
//en_US 英文
|
||||||
|
public static String LOCAL_LANUAGE = "zh_CN";
|
||||||
|
|
||||||
|
|
||||||
/**************************生产*******************************/
|
/**************************生产*******************************/
|
||||||
|
|||||||
@@ -87,60 +87,83 @@ public class LoginActivity extends BaseActivity<LoginLayoutBinding, LoginPresent
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void setupAgreementText() {
|
private void setupAgreementText() {
|
||||||
//勾选协议,增加点击区域
|
|
||||||
ClickUtil.addClickPart(viewBinding.checkboxRead,100);
|
ClickUtil.addClickPart(viewBinding.checkboxRead, 100);
|
||||||
|
|
||||||
TextView tvAgreement = findViewById(R.id.tv_agreement_full);
|
TextView tvAgreement = findViewById(R.id.tv_agreement_full);
|
||||||
String content = "我已经阅读并同意智能浇灌《用户协议》、《隐私政策》";
|
|
||||||
|
String content = getString(R.string.agree_user_policy);
|
||||||
|
|
||||||
|
String userAgreementText = getString(R.string.user_agreement);
|
||||||
|
String privacyPolicyText = getString(R.string.privacy_policy);
|
||||||
|
|
||||||
SpannableString spannableString = new SpannableString(content);
|
SpannableString spannableString = new SpannableString(content);
|
||||||
|
|
||||||
// 设置“用户协议”可点击
|
addClickableSpan(
|
||||||
ClickableSpan userAgreementSpan = new ClickableSpan() {
|
spannableString,
|
||||||
|
content,
|
||||||
|
userAgreementText,
|
||||||
|
() -> {
|
||||||
|
ToastUtil.showShort(mContext, "用户协议");
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
addClickableSpan(
|
||||||
|
spannableString,
|
||||||
|
content,
|
||||||
|
privacyPolicyText,
|
||||||
|
() -> {
|
||||||
|
ToastUtil.showShort(mContext, "隐私政策");
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
tvAgreement.setText(spannableString);
|
||||||
|
tvAgreement.setMovementMethod(LinkMovementMethod.getInstance());
|
||||||
|
tvAgreement.setHighlightColor(Color.TRANSPARENT);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addClickableSpan(
|
||||||
|
SpannableString spannableString,
|
||||||
|
String content,
|
||||||
|
String target,
|
||||||
|
Runnable action) {
|
||||||
|
|
||||||
|
int start = content.indexOf(target);
|
||||||
|
|
||||||
|
if (start < 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int end = start + target.length();
|
||||||
|
|
||||||
|
ClickableSpan clickableSpan = new ClickableSpan() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(@NonNull View widget) {
|
public void onClick(@NonNull View widget) {
|
||||||
// 跳转用户协议
|
action.run();
|
||||||
// Bundle bundle = new Bundle();
|
|
||||||
// bundle.putInt("from_requse_code", WebviewUserAgreement.AGREEMENT_CODE);
|
|
||||||
// goToWihoutNoPresent(mContext, WebviewUserAgreement.class,bundle);
|
|
||||||
ToastUtil.showShort(mContext,"用户协议");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateDrawState(@NonNull TextPaint ds) {
|
public void updateDrawState(@NonNull TextPaint ds) {
|
||||||
super.updateDrawState(ds);
|
super.updateDrawState(ds);
|
||||||
ds.setColor(ContextCompat.getColor(mContext, R.color.color_zhu)); // 设置颜色
|
|
||||||
ds.setUnderlineText(false); // 去掉下划线
|
|
||||||
}
|
|
||||||
};
|
|
||||||
int start1 = content.indexOf("《用户协议》");
|
|
||||||
int end1 = start1 + "《用户协议》".length();
|
|
||||||
spannableString.setSpan(userAgreementSpan, start1, end1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
|
||||||
|
|
||||||
// 设置“隐私政策”可点击
|
ds.setColor(
|
||||||
ClickableSpan privacyPolicySpan = new ClickableSpan() {
|
ContextCompat.getColor(
|
||||||
@Override
|
mContext,
|
||||||
public void onClick(@NonNull View widget) {
|
R.color.color_zhu
|
||||||
// 跳转隐私政策
|
)
|
||||||
// Bundle bundleYS = new Bundle();
|
);
|
||||||
// bundleYS.putInt("from_requse_code",WebviewUserAgreement.PRIVACY_CODE);
|
|
||||||
// goToWihoutNoPresent(mContext, WebviewUserAgreement.class,bundleYS);
|
|
||||||
ToastUtil.showShort(mContext,"跳转隐私政策");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateDrawState(@NonNull TextPaint ds) {
|
|
||||||
super.updateDrawState(ds);
|
|
||||||
ds.setColor(ContextCompat.getColor(mContext, R.color.color_zhu)); // 设置颜色
|
|
||||||
ds.setUnderlineText(false);
|
ds.setUnderlineText(false);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
int start2 = content.indexOf("《隐私政策》");
|
|
||||||
int end2 = start2 + "《隐私政策》".length();
|
|
||||||
spannableString.setSpan(privacyPolicySpan, start2, end2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
|
||||||
|
|
||||||
tvAgreement.setText(spannableString);
|
spannableString.setSpan(
|
||||||
tvAgreement.setMovementMethod(LinkMovementMethod.getInstance()); // 开启点击事件
|
clickableSpan,
|
||||||
tvAgreement.setHighlightColor(Color.TRANSPARENT);
|
start,
|
||||||
|
end,
|
||||||
|
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import com.ckkj.water.EventMessage;
|
|||||||
import com.ckkj.water.MyApplication;
|
import com.ckkj.water.MyApplication;
|
||||||
import com.ckkj.water.R;
|
import com.ckkj.water.R;
|
||||||
import com.ckkj.water.utils.AppInfoUtil;
|
import com.ckkj.water.utils.AppInfoUtil;
|
||||||
|
import com.ckkj.water.utils.manager.LanguageManager;
|
||||||
|
|
||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
@@ -338,7 +339,7 @@ public class NetWorkManager {
|
|||||||
try {
|
try {
|
||||||
map.put("Authorization", "Bearer " + AppConfig.USER_TOKEN);
|
map.put("Authorization", "Bearer " + AppConfig.USER_TOKEN);
|
||||||
map.put("clientId", AppConfig.APP_CLIENT_ID);
|
map.put("clientId", AppConfig.APP_CLIENT_ID);
|
||||||
// map.put("Authorization", "Bearer " + "eyJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjoxOTI1NzYwMTgxMTMyNzI2MDIyLCJ1c2VyX2tleSI6IjY0YjVmMjRjLTIyM2ItNDRkZC1iMDJlLTI0ZTRiNzNmODgxZCIsInVzZXJuYW1lIjoiMTg2NDU5MDQzMDIifQ.PiIjBZlQ9UtOuotfhd5mZZO2e8SbMpbXU7VDvVeiWZIecsFDUd51Rae09EFxQ_MJmBUEvIdyysnyqYiBC2AEfw");
|
map.put("content-language", LanguageManager.getCurrentRequestLanguage());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ import com.ckkj.water.utils.show.ToastUtil;
|
|||||||
public class LanguageManager {
|
public class LanguageManager {
|
||||||
|
|
||||||
private static final String TAG = "LanguageManager";
|
private static final String TAG = "LanguageManager";
|
||||||
|
private static final String LANGUAGE_ZH_CN = "zh_CN";
|
||||||
|
private static final String LANGUAGE_EN_US = "en_US";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 语言类型枚举
|
* 语言类型枚举
|
||||||
@@ -77,6 +79,20 @@ public class LanguageManager {
|
|||||||
return getCurrentLanguageType().index;
|
return getCurrentLanguageType().index;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取接口请求头需要的语言值
|
||||||
|
*/
|
||||||
|
public static String getCurrentRequestLanguage() {
|
||||||
|
return getCurrentLanguageType() == LanguageType.ENGLISH ? LANGUAGE_EN_US : LANGUAGE_ZH_CN;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 同步当前语言到全局配置
|
||||||
|
*/
|
||||||
|
public static void syncCurrentLanguageToAppConfig() {
|
||||||
|
AppConfig.LOCAL_LANUAGE = getCurrentRequestLanguage();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 切换语言
|
* 切换语言
|
||||||
* @param languageType 要切换到的语言类型
|
* @param languageType 要切换到的语言类型
|
||||||
@@ -97,6 +113,7 @@ public class LanguageManager {
|
|||||||
// 设置应用语言
|
// 设置应用语言
|
||||||
LocaleListCompat localeList = LocaleListCompat.forLanguageTags(languageType.languageTag);
|
LocaleListCompat localeList = LocaleListCompat.forLanguageTags(languageType.languageTag);
|
||||||
AppCompatDelegate.setApplicationLocales(localeList);
|
AppCompatDelegate.setApplicationLocales(localeList);
|
||||||
|
AppConfig.LOCAL_LANUAGE = languageType == LanguageType.ENGLISH ? LANGUAGE_EN_US : LANGUAGE_ZH_CN;
|
||||||
|
|
||||||
// 如果传入了Activity,则重启应用
|
// 如果传入了Activity,则重启应用
|
||||||
if (activity != null) {
|
if (activity != null) {
|
||||||
@@ -163,6 +180,7 @@ public class LanguageManager {
|
|||||||
LocaleListCompat localeList = LocaleListCompat.forLanguageTags(savedLocale);
|
LocaleListCompat localeList = LocaleListCompat.forLanguageTags(savedLocale);
|
||||||
AppCompatDelegate.setApplicationLocales(localeList);
|
AppCompatDelegate.setApplicationLocales(localeList);
|
||||||
}
|
}
|
||||||
|
syncCurrentLanguageToAppConfig();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,154 +1,177 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<!-- ==================== 登录页 ==================== -->
|
<!-- Start -->
|
||||||
<string name="login_by_code">验证码登录</string>
|
<string name="login_by_code">Sign In with Code</string>
|
||||||
<string name="login_by_psd">密码登录</string>
|
<string name="login_by_psd">Sign In with Password</string>
|
||||||
<string name="hint_input_account">请输入手机号或邮箱账号</string>
|
<string name="hint_input_account">Enter your phone number or email</string>
|
||||||
<string name="hint_input_verifi">请输入验证码</string>
|
<string name="hint_input_verifi">Enter verification code</string>
|
||||||
<string name="get_verifi_code">获取验证码</string>
|
<string name="get_verifi_code">Get Code</string>
|
||||||
<string name="btn_login">登录</string>
|
<string name="btn_login">Sign In</string>
|
||||||
<string name="go_register">立即注册</string>
|
<string name="go_register">Sign Up Now</string>
|
||||||
<string name="change_language">Language</string>
|
<string name="change_language">Language</string>
|
||||||
<string name="language_chinese">中文</string>
|
<string name="language_chinese">中文</string>
|
||||||
<string name="language_english">English</string>
|
<string name="language_english">English</string>
|
||||||
<string name="language_switch_success">Language changed</string>
|
<string name="language_switch_success">Language updated</string>
|
||||||
<string name="reset_psd">忘记密码</string>
|
<string name="reset_psd">Forgot Password?</string>
|
||||||
<string name="hint_input_old_psd">请输入原密码</string>
|
<string name="hint_input_psd">Enter password</string>
|
||||||
<string name="hint_input_psd">请输入密码</string>
|
<string name="hint_input_old_psd">Enter current password</string>
|
||||||
<string name="hint_input_psd_agin">请再次输入密码</string>
|
<string name="hint_input_psd_agin">Confirm password</string>
|
||||||
<string name="hint_input_new_psd">请输入新密码</string>
|
<string name="hint_input_new_psd">Enter new password</string>
|
||||||
<string name="hint_input_new_psd_agin">请再次输入新密码</string>
|
<string name="hint_input_new_psd_agin">Confirm new password</string>
|
||||||
<string name="login_error_phone_empty">手机号不能为空</string>
|
<string name="hint_input_psd_not_match">Passwords do not match</string>
|
||||||
<string name="hint_input_psd_not_match">两次输入的密码不一致</string>
|
<string name="login_error_phone_empty">Phone number or email is required</string>
|
||||||
<string name="login_error_phone_invalid">请输入正确的手机号或邮箱</string>
|
<string name="login_error_psd_empty">Password is required</string>
|
||||||
<string name="login_error_psd_empty">手机号或邮箱不能为空</string>
|
<string name="login_error_psd_agin_empty">Please confirm your password</string>
|
||||||
<string name="login_error_psd_agin_empty">请再次输入密码</string>
|
<string name="login_error_phone_invalid">Enter a valid phone number or email</string>
|
||||||
<string name="register_title">注册用户</string>
|
<string name="hint_update_psd_success">Password reset successfully</string>
|
||||||
<string name="register_title_bar">注册</string>
|
<string name="register_title">Create Account</string>
|
||||||
<string name="register_success_title">注册成功</string>
|
<string name="register_title_bar">Sign Up</string>
|
||||||
<string name="button_commit">提交</string>
|
<string name="register_success_title">Registration Successful</string>
|
||||||
<string name="button_save">保存</string>
|
<string name="button_commit">Submit</string>
|
||||||
<string name="enter_app">进入平台</string>
|
<string name="button_save">Save</string>
|
||||||
<string name="enter_app_countdown">进入平台(%1$d)</string>
|
<string name="enter_app">Get Started</string>
|
||||||
<string name="countdown_finished">倒计时结束</string>
|
<string name="enter_app_countdown">Get Started (%1$d)</string>
|
||||||
<string name="reset_psd_title">找回密码</string>
|
<string name="countdown_finished">Countdown Finished</string>
|
||||||
<string name="set_permission">设置权限</string>
|
<string name="reset_psd_title">Reset Password</string>
|
||||||
<string name="set_permission_content">使用智溉管家,需要给予以下访问权限</string>
|
<string name="set_permission">Permissions</string>
|
||||||
<string name="permission_bluetooth_title">蓝牙</string>
|
<string name="set_permission_content">Smart Irrigation requires the following permissions</string>
|
||||||
<string name="permission_bluetooth_content">用于连接设备</string>
|
<string name="permission_bluetooth_title">Bluetooth</string>
|
||||||
<string name="permission_wifi_title">WIFI</string>
|
<string name="permission_bluetooth_content">Used to connect devices</string>
|
||||||
<string name="btn_continue">继续</string>
|
<string name="permission_wifi_title">Wi-Fi</string>
|
||||||
<string name="tab_index_title">首页</string>
|
<string name="btn_continue">Continue</string>
|
||||||
<string name="tab_plan_title">排程</string>
|
|
||||||
<string name="tab_history_title">历史</string>
|
<string name="tab_index_title">Home</string>
|
||||||
<string name="tab_mine_title">我的</string>
|
<string name="tab_plan_title">Schedules</string>
|
||||||
<string name="scan_nearby_dev_title">扫描附近设备</string>
|
<string name="tab_history_title">History</string>
|
||||||
<string name="scan_nearby_dev_content">持续自动搜索中...</string>
|
<string name="tab_mine_title">Profile</string>
|
||||||
<string name="scan_nearby_dev_hint">请将手机尽量靠近要添加的设备</string>
|
|
||||||
<string name="scan_add_device">扫描添加</string>
|
<string name="scan_nearby_dev_title">Scan Nearby Devices</string>
|
||||||
<string name="add_device_title">添加设备</string>
|
<string name="scan_nearby_dev_content">Searching for devices...</string>
|
||||||
<string name="select_wifi_tip">选择WI-FI</string>
|
<string name="scan_nearby_dev_hint">Move your phone closer to the device</string>
|
||||||
<string name="input_wifi_name_tip">请输入WIFI名称</string>
|
<string name="scan_add_device">Add Device</string>
|
||||||
<string name="input_wifi_psd_tip">请输入WIFI密码</string>
|
<string name="add_device_title">Add Device</string>
|
||||||
<string name="wifi_not_enabled">请先开启WiFi</string>
|
|
||||||
<string name="no_wifi_found">未扫描到WiFi</string>
|
<string name="select_wifi_tip">Select Wi-Fi</string>
|
||||||
<string name="wifi_scan_failed">WiFi扫描失败</string>
|
<string name="input_wifi_name_tip">Enter Wi-Fi name</string>
|
||||||
<string name="button_next">下一步</string>
|
<string name="input_wifi_psd_tip">Enter Wi-Fi password</string>
|
||||||
<string name="toast_select_wifi_tip">请选择要连接的Wifi</string>
|
<string name="wifi_not_enabled">Please enable Wi-Fi first</string>
|
||||||
<string name="toast_select_wifi_psd_tip">请输入Wifi密码</string>
|
<string name="no_wifi_found">No Wi-Fi networks found</string>
|
||||||
<string name="connect_device_title">连接设备</string>
|
<string name="wifi_scan_failed">Failed to scan Wi-Fi networks</string>
|
||||||
<string name="keep_device_bt_tips">请保持手机蓝牙开启并将手机尽量靠近设备</string>
|
|
||||||
<string name="keep_device_bt_tips2">向设备传输信息</string>
|
<string name="button_next">Next</string>
|
||||||
<string name="keep_device_bt_tips3">设备连接网络</string>
|
<string name="toast_select_wifi_tip">Select a Wi-Fi network</string>
|
||||||
<string name="button_finish">完成</string>
|
<string name="toast_select_wifi_psd_tip">Enter the Wi-Fi password</string>
|
||||||
<string name="button_reset">重置</string>
|
|
||||||
<string name="set_name">设置名称</string>
|
<string name="connect_device_title">Connect Device</string>
|
||||||
<string name="input_device_name_hint">请输入设备名称</string>
|
<string name="keep_device_bt_tips">Keep Bluetooth enabled and stay close to the device</string>
|
||||||
<string name="device_work_progress_title">工作进度</string>
|
<string name="keep_device_bt_tips2">Sending information to device</string>
|
||||||
<string name="device_work_progress_tips">进程结束后自动停止</string>
|
<string name="keep_device_bt_tips3">Connecting device to network</string>
|
||||||
<string name="device_work_times_title">浇水时长</string>
|
|
||||||
<string name="device_custom_work_time">自定义时间</string>
|
<string name="button_finish">Finish</string>
|
||||||
<string name="device_control_start">开启浇水</string>
|
<string name="button_reset">Reset</string>
|
||||||
<string name="device_control_stop">关闭浇水</string>
|
<string name="set_name">Set Name</string>
|
||||||
<string name="device_base_setting_title">基本设置</string>
|
<string name="input_device_name_hint">Enter device name</string>
|
||||||
<string name="device_setting_name">设备名称</string>
|
|
||||||
<string name="device_setting_info">设备信息</string>
|
<string name="device_work_progress_title">Watering Progress</string>
|
||||||
<string name="device_setting_wifi_manager">WiFi管理</string>
|
<string name="device_work_progress_tips">Will stop automatically when completed</string>
|
||||||
<string name="device_setting_unbind">解绑设备</string>
|
<string name="device_work_times_title">Watering Duration</string>
|
||||||
<string name="unbind_success">设备解绑成功</string>
|
<string name="device_custom_work_time">Custom Duration</string>
|
||||||
<string name="settings_title">设置</string>
|
<string name="device_control_start">Start Watering</string>
|
||||||
<string name="confirm_text">确定</string>
|
<string name="device_control_stop">Stop Watering</string>
|
||||||
<string name="cancel_text">取消</string>
|
|
||||||
<string name="tip_text">提示</string>
|
<string name="device_base_setting_title">General Settings</string>
|
||||||
<string name="tip_unbind_device">确定解除该绑定的设备</string>
|
<string name="device_setting_name">Device Name</string>
|
||||||
<string name="device_info_code">设备编码</string>
|
<string name="device_setting_info">Device Info</string>
|
||||||
<string name="device_info_type">设备型号</string>
|
<string name="device_setting_wifi_manager">Wi-Fi Settings</string>
|
||||||
<string name="device_info_serial_number">序列号</string>
|
<string name="device_setting_unbind">Remove Device</string>
|
||||||
<string name="device_info_firmware_version">固件版本</string>
|
<string name="unbind_success">Device removed successfully</string>
|
||||||
|
|
||||||
|
<string name="settings_title">Settings</string>
|
||||||
|
<string name="confirm_text">Confirm</string>
|
||||||
|
<string name="cancel_text">Cancel</string>
|
||||||
|
<string name="tip_text">Notice</string>
|
||||||
|
<string name="tip_unbind_device">Are you sure you want to remove this device?</string>
|
||||||
|
|
||||||
|
<string name="device_info_code">Device ID</string>
|
||||||
|
<string name="device_info_type">Model</string>
|
||||||
|
<string name="device_info_serial_number">Serial Number</string>
|
||||||
|
<string name="device_info_firmware_version">Firmware Version</string>
|
||||||
|
<string name="device_status_working">Running</string>
|
||||||
|
<string name="device_status_not_working">Idle</string>
|
||||||
|
|
||||||
|
<!-- Schedule -->
|
||||||
|
<string name="input_plan_name">Enter schedule name</string>
|
||||||
|
<string name="add_water_plan">+ New Schedule</string>
|
||||||
|
<string name="plan_title">Schedules</string>
|
||||||
|
<string name="water_device_config">Watering Settings</string>
|
||||||
|
<string name="water_bound_device">Linked Devices</string>
|
||||||
|
<string name="water_device_bind">Available Devices</string>
|
||||||
|
<string name="add_water_plan_title">New Schedule</string>
|
||||||
|
<string name="edit_water_plan_title">Edit Schedule</string>
|
||||||
|
<string name="plan_name_text">Schedule Name</string>
|
||||||
|
<string name="plan_name_text_empty_hint">Schedule name cannot be empty</string>
|
||||||
|
<string name="plan_week_empty_hint">Select watering days</string>
|
||||||
|
<string name="select_the_device_to_link">Select a device to link</string>
|
||||||
|
<string name="delete_plan_tip">Delete this schedule?</string>
|
||||||
|
<string name="delete_plan_success">Deleted successfully</string>
|
||||||
|
<string name="close_plan_dialog_tip">Disable this schedule?</string>
|
||||||
|
<string name="no_bound_devices_tips">No devices linked</string>
|
||||||
|
<string name="plan_period">Repeat</string>
|
||||||
|
<string name="plan_time">Duration</string>
|
||||||
|
<string name="plan_start_time">Start Time</string>
|
||||||
|
<string name="select_water_time">Select watering time</string>
|
||||||
|
<string name="input_water_plan_time">Enter watering duration</string>
|
||||||
|
<string name="input_water_plan_time_error">Duration cannot be less than 0</string>
|
||||||
|
<string name="device_status">Status</string>
|
||||||
|
<string name="button_delete">Delete</string>
|
||||||
|
<string name="button_edit">Edit</string>
|
||||||
|
<string name="plan_detail_title">Schedule Details</string>
|
||||||
|
<string name="btn_manual_refresh">Refresh</string>
|
||||||
|
|
||||||
|
<!-- History -->
|
||||||
|
<string name="history_title">History</string>
|
||||||
|
<string name="plan_tab_history">Watering History</string>
|
||||||
|
<string name="plan_tab_tally">Statistics</string>
|
||||||
|
<string name="tab_filter_time">Date Range</string>
|
||||||
|
<string name="tab_filter_type">Trigger Type</string>
|
||||||
|
<string name="history_filter_time_title">Date Range</string>
|
||||||
|
<string name="history_filter_start_time_tip">Select start date</string>
|
||||||
|
<string name="history_filter_end_time_tip">Select end date</string>
|
||||||
|
<string name="history_filter_start_time_toast">Start date is required</string>
|
||||||
|
<string name="history_filter_end_time_toast">End date is required</string>
|
||||||
|
<string name="history_filter_end_time_error">End date cannot be earlier than start date</string>
|
||||||
|
<string name="history_filter_manual">Manual</string>
|
||||||
|
<string name="history_filter_auto">Scheduled</string>
|
||||||
|
<string name="history_filter_type_toast">Select a trigger type</string>
|
||||||
|
<string name="history_watering_adapter_time">Watering Time</string>
|
||||||
|
|
||||||
|
<string name="total_water_count">Total Watering Sessions</string>
|
||||||
|
<string name="week_water_count">This Week</string>
|
||||||
|
<string name="month_water_count">This Month</string>
|
||||||
|
<string name="schedule_water_count">Scheduled Sessions</string>
|
||||||
|
<string name="manual_water_count">Manual Sessions</string>
|
||||||
|
<string name="total_water_duration">Total Watering Time</string>
|
||||||
|
<string name="avg_water_duration">Average Duration</string>
|
||||||
|
<string name="unit_times">times</string>
|
||||||
|
|
||||||
|
<!-- Profile -->
|
||||||
|
<string name="mine_center_title">Profile</string>
|
||||||
|
<string name="button_logout">Sign Out</string>
|
||||||
|
<string name="mine_nickname">Nickname</string>
|
||||||
|
<string name="mine_bind_phone">Phone Number</string>
|
||||||
|
<string name="mine_infomation_title">Profile Information</string>
|
||||||
|
<string name="mine_psd_manager">Password Settings</string>
|
||||||
|
<string name="mine_psd_reset">Change Password</string>
|
||||||
|
<string name="mine_find_psd">Forgot Password</string>
|
||||||
|
<string name="logout_tips">Sign out of your account</string>
|
||||||
|
|
||||||
|
|
||||||
<!--排程-->
|
<string name="agree_user_policy">
|
||||||
<string name="input_plan_name">输入排程名称</string>
|
I have read and agree to the Smart Irrigation User Agreement and Privacy Policy</string>
|
||||||
<string name="add_water_plan">+新增排程</string>
|
<string name="user_agreement">User Agreement</string>
|
||||||
<string name="plan_title">排程</string>
|
<string name="privacy_policy">Privacy Policy</string>
|
||||||
<string name="water_device_config">浇水配置</string>
|
|
||||||
<string name="water_bound_device">已关联设备</string>
|
|
||||||
<string name="water_device_bind">关联设备</string>
|
|
||||||
<string name="add_water_plan_title">新增排程</string>
|
|
||||||
<string name="edit_water_plan_title">Edit Plan</string>
|
|
||||||
<string name="plan_name_text">排程名称</string>
|
|
||||||
<string name="plan_period">浇水周期</string>
|
|
||||||
<string name="plan_time">浇水时长</string>
|
|
||||||
<string name="plan_start_time">开始时间</string>
|
|
||||||
<string name="select_water_time">请选择浇水时间</string>
|
|
||||||
<string name="input_water_plan_time_error">浇水时长不能小于0</string>
|
|
||||||
<string name="input_water_plan_time">请输入浇水时长</string>
|
|
||||||
<string name="device_status">状态</string>
|
|
||||||
<string name="button_delete">删除</string>
|
|
||||||
<string name="button_edit">编辑</string>
|
|
||||||
<string name="plan_detail_title">排程详情</string>
|
|
||||||
|
|
||||||
|
|
||||||
<!--历史-->
|
|
||||||
<string name="history_title">历史</string>
|
|
||||||
<string name="plan_tab_history">浇水历史</string>
|
|
||||||
<string name="plan_tab_tally">数据统计</string>
|
|
||||||
<string name="tab_filter_time">时间筛选</string>
|
|
||||||
<string name="tab_filter_type">触发方式</string>
|
|
||||||
<string name="history_filter_time_title">时间</string>
|
|
||||||
<string name="history_filter_start_time_tip">选择开始时间</string>
|
|
||||||
<string name="history_filter_end_time_tip">选择结束时间</string>
|
|
||||||
<string name="history_filter_start_time_toast">开始时间不能为空</string>
|
|
||||||
<string name="history_filter_end_time_toast">结束时间不能为空</string>
|
|
||||||
<string name="history_filter_end_time_error">结束时间不能早于开始时间</string>
|
|
||||||
<string name="history_filter_manual">手动</string>
|
|
||||||
<string name="history_filter_auto">排程</string>
|
|
||||||
<string name="history_filter_type_toast">请选择一种触发方式</string>
|
|
||||||
<string name="history_watering_adapter_time">浇水时间</string>
|
|
||||||
<!-- 中文 -->
|
|
||||||
<string name="total_water_count">总浇水次数</string>
|
|
||||||
<string name="week_water_count">本周浇水次数</string>
|
|
||||||
<string name="month_water_count">本月浇水次数</string>
|
|
||||||
<string name="schedule_water_count">排程浇水次数</string>
|
|
||||||
<string name="manual_water_count">手动浇水次数</string>
|
|
||||||
<string name="total_water_duration">总浇水时间</string>
|
|
||||||
<string name="avg_water_duration">平均浇水时间</string>
|
|
||||||
<string name="unit_times">次</string>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--个人中心-->
|
|
||||||
|
|
||||||
<string name="mine_center_title">个人中心</string>
|
|
||||||
<string name="button_logout">退出登录</string>
|
|
||||||
<string name="mine_nickname">昵称</string>
|
|
||||||
<string name="mine_bind_phone">绑定手机</string>
|
|
||||||
<string name="mine_infomation_title">个人资料</string>
|
|
||||||
<string name="mine_psd_manager">密码管理</string>
|
|
||||||
<string name="mine_psd_reset">重置密码</string>
|
|
||||||
<string name="mine_find_psd">找回密码</string>
|
|
||||||
|
|
||||||
|
<!-- End -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
<resources
|
<resources
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
tools:locale="zh">
|
tools:locale="zh">
|
||||||
|
<!--开始-->
|
||||||
<string name="login_by_code">验证码登录</string>
|
<string name="login_by_code">验证码登录</string>
|
||||||
<string name="login_by_psd">密码登录</string>
|
<string name="login_by_psd">密码登录</string>
|
||||||
<string name="hint_input_account">请输入手机号或邮箱账号</string>
|
<string name="hint_input_account">请输入手机号或邮箱账号</string>
|
||||||
@@ -147,6 +148,11 @@
|
|||||||
<string name="unit_times">次</string>
|
<string name="unit_times">次</string>
|
||||||
|
|
||||||
|
|
||||||
|
<string name="agree_user_policy">
|
||||||
|
我已阅读并同意智能浇灌《用户协议》《隐私政策》</string>
|
||||||
|
<string name="user_agreement">《用户协议》</string>
|
||||||
|
<string name="privacy_policy">《隐私政策》</string>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--个人中心-->
|
<!--个人中心-->
|
||||||
@@ -163,7 +169,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--结束-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user