优化:自定义模板可用变量统一成英文标签
This commit is contained in:
parent
e8012e8e21
commit
c4f298ebe8
|
@ -18,7 +18,6 @@ import com.gyf.cactus.Cactus
|
|||
import com.gyf.cactus.callback.CactusCallback
|
||||
import com.gyf.cactus.ext.cactus
|
||||
import com.hjq.language.MultiLanguages
|
||||
import com.hjq.language.OnLanguageListener
|
||||
import com.idormy.sms.forwarder.activity.MainActivity
|
||||
import com.idormy.sms.forwarder.core.Core
|
||||
import com.idormy.sms.forwarder.database.AppDatabase
|
||||
|
@ -276,15 +275,21 @@ class App : Application(), CactusCallback, Configuration.Provider by Core {
|
|||
// 初始化语种切换框架
|
||||
MultiLanguages.init(this)
|
||||
// 设置语种变化监听器
|
||||
MultiLanguages.setOnLanguageListener(object : OnLanguageListener {
|
||||
/*MultiLanguages.setOnLanguageListener(object : OnLanguageListener {
|
||||
override fun onAppLocaleChange(oldLocale: Locale, newLocale: Locale) {
|
||||
// 注意:只有setAppLanguage时触发,clearAppLanguage时不触发
|
||||
Log.i(TAG, "监听到应用切换了语种,旧语种:$oldLocale,新语种:$newLocale")
|
||||
}
|
||||
|
||||
override fun onSystemLocaleChange(oldLocale: Locale, newLocale: Locale) {
|
||||
Log.i(TAG, "监听到系统切换了语种,旧语种:" + oldLocale + ",新语种:" + newLocale + ",是否跟随系统:" + MultiLanguages.isSystemLanguage(this@App))
|
||||
//val isFlowSystem = MultiLanguages.isSystemLanguage(context) //取值不对,一直是false
|
||||
val isFlowSystem = SettingUtils.isFlowSystemLanguage
|
||||
Log.i(TAG, "监听到系统切换了语种,旧语种:$oldLocale,新语种:$newLocale,是否跟随系统:$isFlowSystem")
|
||||
if (isFlowSystem) {
|
||||
CommonUtils.switchLanguage(oldLocale, newLocale)
|
||||
}
|
||||
}
|
||||
})
|
||||
})*/
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
|
|
|
@ -22,11 +22,13 @@ import com.idormy.sms.forwarder.database.entity.Sender
|
|||
import com.idormy.sms.forwarder.database.entity.Task
|
||||
import com.idormy.sms.forwarder.database.ext.ConvertersDate
|
||||
import com.idormy.sms.forwarder.utils.DATABASE_NAME
|
||||
import com.idormy.sms.forwarder.utils.SettingUtils
|
||||
import com.idormy.sms.forwarder.utils.TAG_LIST
|
||||
|
||||
@Database(
|
||||
entities = [Frpc::class, Msg::class, Logs::class, Rule::class, Sender::class, Task::class],
|
||||
views = [LogsDetail::class],
|
||||
version = 18,
|
||||
version = 19,
|
||||
exportSchema = false
|
||||
)
|
||||
@TypeConverters(ConvertersDate::class)
|
||||
|
@ -107,6 +109,7 @@ custom_domains = smsf.demo.com
|
|||
MIGRATION_15_16,
|
||||
MIGRATION_16_17,
|
||||
MIGRATION_17_18,
|
||||
MIGRATION_18_19,
|
||||
)
|
||||
|
||||
/*if (BuildConfig.DEBUG) {
|
||||
|
@ -408,7 +411,39 @@ CREATE TABLE "Task" (
|
|||
)
|
||||
""".trimIndent()
|
||||
)
|
||||
//TODO:原来的电量/网络/SIM卡状态转换为自动化任务
|
||||
}
|
||||
}
|
||||
|
||||
//自定义模板可用变量统一成英文标签
|
||||
private val MIGRATION_18_19 = object : Migration(18, 19) {
|
||||
override fun migrate(database: SupportSQLiteDatabase) {
|
||||
//替换自定义模板标签
|
||||
var smsTemplate = SettingUtils.smsTemplate
|
||||
//替换Rule.sms_template中的标签
|
||||
var ruleColumnCN = "sms_template"
|
||||
var ruleColumnTW = "sms_template"
|
||||
//替换Sender.json_setting中的标签
|
||||
var senderColumnCN = "json_setting"
|
||||
var senderColumnTW = "json_setting"
|
||||
|
||||
for (i in TAG_LIST.indices) {
|
||||
val tagCN = TAG_LIST[i]["zh_CN"].toString()
|
||||
val tagTW = TAG_LIST[i]["zh_TW"].toString()
|
||||
val tagEN = TAG_LIST[i]["en"].toString()
|
||||
smsTemplate = smsTemplate.replace(tagCN, tagEN)
|
||||
ruleColumnCN = "REPLACE($ruleColumnCN, '$tagCN', '$tagEN')"
|
||||
ruleColumnTW = "REPLACE($ruleColumnTW, '$tagTW', '$tagEN')"
|
||||
senderColumnCN = "REPLACE($senderColumnCN, '$tagCN', '$tagEN')"
|
||||
senderColumnTW = "REPLACE($senderColumnTW, '$tagTW', '$tagEN')"
|
||||
}
|
||||
|
||||
database.execSQL("UPDATE Rule SET sms_template = $ruleColumnCN WHERE sms_template != ''")
|
||||
database.execSQL("UPDATE Rule SET sms_template = $ruleColumnTW WHERE sms_template != ''")
|
||||
|
||||
database.execSQL("UPDATE Sender SET json_setting = $senderColumnCN WHERE type NOT IN (4, 5, 6, 7, 8, 14)")
|
||||
database.execSQL("UPDATE Sender SET json_setting = $senderColumnTW WHERE type NOT IN (4, 5, 6, 7, 8, 14)")
|
||||
|
||||
SettingUtils.smsTemplate = smsTemplate
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -58,4 +58,6 @@ interface RuleDao {
|
|||
@Query("SELECT * FROM Rule ORDER BY id DESC")
|
||||
fun getAll(): Single<List<Rule>>
|
||||
|
||||
@RawQuery
|
||||
fun replaceTags(query: SupportSQLiteQuery): Int
|
||||
}
|
|
@ -63,4 +63,7 @@ interface SenderDao {
|
|||
@Query("SELECT COUNT(id) FROM Sender WHERE status = 1")
|
||||
fun getOnCount(): Flow<Long>
|
||||
|
||||
@RawQuery
|
||||
fun replaceTags(query: SupportSQLiteQuery): Int
|
||||
|
||||
}
|
|
@ -41,4 +41,8 @@ class RuleRepository(private val ruleDao: RuleDao) {
|
|||
|
||||
fun getRuleList(type: String, status: Int, simSlot: String) = ruleDao.getRuleList(type, status, simSlot)
|
||||
|
||||
fun replaceTags(sql: String): Int {
|
||||
val query = SimpleSQLiteQuery(sql)
|
||||
return ruleDao.replaceTags(query)
|
||||
}
|
||||
}
|
|
@ -46,4 +46,9 @@ class SenderRepository(private val senderDao: SenderDao) {
|
|||
|
||||
val count: Flow<Long> = senderDao.getOnCount()
|
||||
|
||||
fun replaceTags(sql: String): Int {
|
||||
val query = SimpleSQLiteQuery(sql)
|
||||
return senderDao.replaceTags(query)
|
||||
}
|
||||
|
||||
}
|
|
@ -65,12 +65,4 @@ data class LockScreenSetting(
|
|||
}
|
||||
}
|
||||
|
||||
fun getDuration(action: String): Int {
|
||||
return when (action) {
|
||||
Intent.ACTION_SCREEN_ON -> timeAfterScreenOn
|
||||
Intent.ACTION_SCREEN_OFF -> timeAfterScreenOff
|
||||
Intent.ACTION_USER_PRESENT -> timeAfterScreenUnlocked
|
||||
else -> timeAfterScreenLocked
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1020,11 +1020,12 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), View.OnClickL
|
|||
|
||||
//多语言设置
|
||||
private fun switchLanguage(rgMainLanguages: RadioGroup) {
|
||||
val context = App.context
|
||||
rgMainLanguages.check(
|
||||
if (MultiLanguages.isSystemLanguage(requireContext())) {
|
||||
if (MultiLanguages.isSystemLanguage(context)) {
|
||||
R.id.rb_main_language_auto
|
||||
} else {
|
||||
when (MultiLanguages.getAppLanguage(requireContext())) {
|
||||
when (MultiLanguages.getAppLanguage(context)) {
|
||||
LocaleContract.getSimplifiedChineseLocale() -> R.id.rb_main_language_cn
|
||||
LocaleContract.getTraditionalChineseLocale() -> R.id.rb_main_language_tw
|
||||
LocaleContract.getEnglishLocale() -> R.id.rb_main_language_en
|
||||
|
@ -1034,35 +1035,49 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), View.OnClickL
|
|||
)
|
||||
|
||||
rgMainLanguages.setOnCheckedChangeListener { _, checkedId ->
|
||||
// 是否需要重启
|
||||
val oldLang = MultiLanguages.getAppLanguage(context)
|
||||
var newLang = MultiLanguages.getSystemLanguage(context)
|
||||
//SettingUtils.isFlowSystemLanguage = false
|
||||
when (checkedId) {
|
||||
R.id.rb_main_language_auto -> {
|
||||
// 只为了触发onAppLocaleChange
|
||||
// MultiLanguages.setAppLanguage(context, newLang)
|
||||
// SettingUtils.isFlowSystemLanguage = true
|
||||
// 跟随系统
|
||||
MultiLanguages.clearAppLanguage(requireContext())
|
||||
MultiLanguages.clearAppLanguage(context)
|
||||
}
|
||||
|
||||
R.id.rb_main_language_cn -> {
|
||||
// 简体中文
|
||||
MultiLanguages.setAppLanguage(requireContext(), LocaleContract.getSimplifiedChineseLocale())
|
||||
newLang = LocaleContract.getSimplifiedChineseLocale()
|
||||
MultiLanguages.setAppLanguage(context, newLang)
|
||||
}
|
||||
|
||||
R.id.rb_main_language_tw -> {
|
||||
// 繁体中文
|
||||
MultiLanguages.setAppLanguage(requireContext(), LocaleContract.getTraditionalChineseLocale())
|
||||
newLang = LocaleContract.getTraditionalChineseLocale()
|
||||
MultiLanguages.setAppLanguage(context, newLang)
|
||||
}
|
||||
|
||||
R.id.rb_main_language_en -> {
|
||||
// 英语
|
||||
MultiLanguages.setAppLanguage(requireContext(), LocaleContract.getEnglishLocale())
|
||||
newLang = LocaleContract.getEnglishLocale()
|
||||
MultiLanguages.setAppLanguage(context, newLang)
|
||||
}
|
||||
}
|
||||
|
||||
// 重启应用
|
||||
XToastUtils.toast(R.string.multi_languages_toast)
|
||||
val intent = Intent(App.context, MainActivity::class.java)
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK)
|
||||
startActivity(intent)
|
||||
requireActivity().finish()
|
||||
Log.d(TAG, "oldLang: $oldLang, newLang: $newLang")
|
||||
if (oldLang.toString() != newLang.toString()) {
|
||||
//CommonUtils.switchLanguage(oldLang, newLang)
|
||||
XToastUtils.toast(R.string.multi_languages_toast)
|
||||
//切换语种后重启APP
|
||||
Thread.sleep(200)
|
||||
val intent = Intent(App.context, MainActivity::class.java)
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK)
|
||||
startActivity(intent)
|
||||
requireActivity().finish()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -326,6 +326,39 @@ class CommonUtils private constructor() {
|
|||
context.startActivity(mainIntent)
|
||||
XUtil.exitApp()
|
||||
}
|
||||
|
||||
/*fun switchLanguage(oldLocale: Locale, newLocale: Locale) {
|
||||
val oldLang = if (TAG_LANG.contains(oldLocale.toString())) oldLocale.toString() else "en"
|
||||
val newLang = if (TAG_LANG.contains(newLocale.toString())) newLocale.toString() else "en"
|
||||
Log.i(App.TAG, "switchLanguage: oldLang=$oldLang, newLang=$newLang")
|
||||
|
||||
//替换自定义模板标签
|
||||
var smsTemplate = SettingUtils.smsTemplate
|
||||
//替换Rule.sms_template中的标签
|
||||
var ruleColumn = "sms_template"
|
||||
//替换Sender.json_setting中的标签
|
||||
var senderColumn = "json_setting"
|
||||
|
||||
for (i in TAG_LIST.indices) {
|
||||
val oldTag = TAG_LIST[i][oldLang].toString()
|
||||
val newTag = TAG_LIST[i][newLang].toString()
|
||||
if (oldTag == newTag) continue
|
||||
|
||||
smsTemplate = smsTemplate.replace(oldTag, newTag)
|
||||
ruleColumn = "REPLACE($ruleColumn, '$oldTag', '$newTag')"
|
||||
senderColumn = "REPLACE($senderColumn, '$oldTag', '$newTag')"
|
||||
}
|
||||
|
||||
SettingUtils.smsTemplate = smsTemplate
|
||||
|
||||
val updateRuleSql = "UPDATE Rule SET sms_template = $ruleColumn WHERE sms_template != ''"
|
||||
Log.d(App.TAG, "updateRuleSql: $updateRuleSql")
|
||||
Core.rule.replaceTags(updateRuleSql)
|
||||
|
||||
val updateSenderSql = "UPDATE Sender SET json_setting = $senderColumn WHERE type NOT IN (4, 5, 6, 7, 8, 14)"
|
||||
Log.d(App.TAG, "updateSenderSql: $updateSenderSql")
|
||||
Core.sender.replaceTags(updateSenderSql)
|
||||
}*/
|
||||
}
|
||||
|
||||
init {
|
||||
|
|
|
@ -77,6 +77,8 @@ const val SP_SMS_TEMPLATE = "sms_template"
|
|||
const val SP_PURE_CLIENT_MODE = "enable_pure_client_mode"
|
||||
const val SP_PURE_TASK_MODE = "enable_pure_task_mode"
|
||||
const val SP_DEBUG_MODE = "enable_debug_mode"
|
||||
|
||||
//const val SP_IS_FLOW_SYSTEM_LANGUAGE = "is_flow_system_language"
|
||||
const val SP_LOCATION = "enable_location"
|
||||
const val SP_LOCATION_ACCURACY = "location_accuracy"
|
||||
const val SP_LOCATION_POWER_REQUIREMENT = "location_power_requirement"
|
||||
|
@ -263,4 +265,31 @@ const val SP_LOCATION_INFO_NEW = "location_info_new"
|
|||
const val SP_LOCK_SCREEN_ACTION = "lock_screen_action"
|
||||
|
||||
//SIM卡已准备就绪时,延迟5秒(给够搜索信号时间)才执行任务
|
||||
const val DELAY_TIME_AFTER_SIM_READY = 5000L
|
||||
const val DELAY_TIME_AFTER_SIM_READY = 5000L
|
||||
|
||||
//切换语言需要替换的自定义模板标签列表
|
||||
val TAG_LANG = arrayOf("zh_CN", "zh_TW", "en")
|
||||
val TAG_LIST = arrayOf(
|
||||
mapOf("zh_CN" to "{{来源号码}}", "zh_TW" to "{{來源號碼}}", "en" to "{{FROM}}"),
|
||||
mapOf("zh_CN" to "{{短信内容}}", "zh_TW" to "{{簡訊內容}}", "en" to "{{SMS}}"),
|
||||
mapOf("zh_CN" to "{{APP包名}}", "zh_TW" to "{{APP包名}}", "en" to "{{PACKAGE_NAME}}"),
|
||||
mapOf("zh_CN" to "{{APP名称}}", "zh_TW" to "{{APP名稱}}", "en" to "{{APP_NAME}}"),
|
||||
mapOf("zh_CN" to "{{通知内容}}", "zh_TW" to "{{通知內容}}", "en" to "{{MSG}}"),
|
||||
mapOf("zh_CN" to "{{卡槽信息}}", "zh_TW" to "{{卡槽信息}}", "en" to "{{CARD_SLOT}}"),
|
||||
mapOf("zh_CN" to "{{卡槽主键}}", "zh_TW" to "{{卡槽主鍵}}", "en" to "{{CARD_SUBID}}"),
|
||||
mapOf("zh_CN" to "{{接收时间}}", "zh_TW" to "{{接收時間}}", "en" to "{{RECEIVE_TIME}}"),
|
||||
mapOf("zh_CN" to "{{当前时间}}", "zh_TW" to "{{當前時間}}", "en" to "{{CURRENT_TIME}}"),
|
||||
mapOf("zh_CN" to "{{设备名称}}", "zh_TW" to "{{設備名稱}}", "en" to "{{DEVICE_NAME}}"),
|
||||
mapOf("zh_CN" to "{{当前应用版本号}}", "zh_TW" to "{{當前應用版本號}}", "en" to "{{APP_VERSION}}"),
|
||||
mapOf("zh_CN" to "{{通知标题}}", "zh_TW" to "{{通知標題}}", "en" to "{{TITLE}}"),
|
||||
mapOf("zh_CN" to "{{通知Scheme}}", "zh_TW" to "{{通知Scheme}}", "en" to "{{SCHEME}}"),
|
||||
mapOf("zh_CN" to "{{通话类型}}", "zh_TW" to "{{通話類型}}", "en" to "{{CALL_TYPE}}"),
|
||||
mapOf("zh_CN" to "{{定位信息}}", "zh_TW" to "{{定位信息}}", "en" to "{{LOCATION}}"),
|
||||
mapOf("zh_CN" to "{{定位信息_经度}}", "zh_TW" to "{{定位信息_經度}}", "en" to "{{LOCATION_LONGITUDE}}"),
|
||||
mapOf("zh_CN" to "{{定位信息_纬度}}", "zh_TW" to "{{定位信息_緯度}}", "en" to "{{LOCATION_LATITUDE}}"),
|
||||
mapOf("zh_CN" to "{{定位信息_地址}}", "zh_TW" to "{{定位信息_地址}}", "en" to "{{LOCATION_ADDRESS}}"),
|
||||
mapOf("zh_CN" to "{{电池电量}}", "zh_TW" to "{{電池電量}}", "en" to "{{BATTERY_PCT}}"),
|
||||
mapOf("zh_CN" to "{{电池状态}}", "zh_TW" to "{{電池狀態}}", "en" to "{{BATTERY_STATUS}}"),
|
||||
mapOf("zh_CN" to "{{充电方式}}", "zh_TW" to "{{充電方式}}", "en" to "{{BATTERY_PLUGGED}}"),
|
||||
mapOf("zh_CN" to "{{电池信息}}", "zh_TW" to "{{電池信息}}", "en" to "{{BATTERY_INFO}}")
|
||||
)
|
||||
|
|
|
@ -140,6 +140,8 @@ class SettingUtils private constructor() {
|
|||
//设置位置更新最小距离(单位:米);默认距离:0米
|
||||
var locationMinDistance: Int by SharedPreference(SP_LOCATION_MIN_DISTANCE, 0)
|
||||
|
||||
//是否跟随系统语言
|
||||
//var isFlowSystemLanguage: Boolean by SharedPreference(SP_IS_FLOW_SYSTEM_LANGUAGE, false)
|
||||
}
|
||||
|
||||
init {
|
||||
|
|
|
@ -1534,6 +1534,7 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
|
@ -1781,6 +1782,7 @@
|
|||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
|
|
|
@ -1205,7 +1205,7 @@
|
|||
<string name="task_alarm_tips">Alarm</string>
|
||||
<string name="task_resend">Resend Message</string>
|
||||
<string name="task_resend_tips">Resend forwarded records since N hours ago, 0=ALL</string>
|
||||
<string name="task_resend_desc">Resend forwarding records since %s hours ago for %s</string>
|
||||
<string name="task_resend_desc" formatted="false">Resend forwarding records since %s hours ago for %s</string>
|
||||
<string name="task_resend_error">At least one "Original Result" must be selected</string>
|
||||
|
||||
<string name="second">Second</string>
|
||||
|
|
|
@ -609,28 +609,28 @@
|
|||
<string name="success">成功</string>
|
||||
<string name="failed">失败</string>
|
||||
<string name="processing">处理中</string>
|
||||
<string name="tag_from">{{来源号码}}</string>
|
||||
<string name="tag_sms">{{短信内容}}</string>
|
||||
<string name="tag_package_name">{{APP包名}}</string>
|
||||
<string name="tag_app_name">{{APP名称}}</string>
|
||||
<string name="tag_msg">{{通知内容}}</string>
|
||||
<string name="tag_card_slot">{{卡槽信息}}</string>
|
||||
<string name="tag_card_subid">{{卡槽主键}}</string>
|
||||
<string name="tag_receive_time">{{接收时间}}</string>
|
||||
<string name="tag_current_time">{{当前时间}}</string>
|
||||
<string name="tag_device_name">{{设备名称}}</string>
|
||||
<string name="tag_app_version">{{当前应用版本号}}</string>
|
||||
<string name="tag_title">{{通知标题}}</string>
|
||||
<string name="tag_scheme">{{通知Scheme}}</string>
|
||||
<string name="tag_call_type">{{通话类型}}</string>
|
||||
<string name="tag_location">{{定位信息}}</string>
|
||||
<string name="tag_location_longitude">{{定位信息_经度}}</string>
|
||||
<string name="tag_location_latitude">{{定位信息_纬度}}</string>
|
||||
<string name="tag_location_address">{{定位信息_地址}}</string>
|
||||
<string name="tag_battery_pct">{{电池电量}}</string>
|
||||
<string name="tag_battery_status">{{电池状态}}</string>
|
||||
<string name="tag_battery_plugged">{{充电方式}}</string>
|
||||
<string name="tag_battery_info">{{电池信息}}</string>
|
||||
<string name="tag_from">{{FROM}}</string>
|
||||
<string name="tag_sms">{{SMS}}</string>
|
||||
<string name="tag_package_name">{{PACKAGE_NAME}}</string>
|
||||
<string name="tag_app_name">{{APP_NAME}}</string>
|
||||
<string name="tag_msg">{{MSG}}</string>
|
||||
<string name="tag_card_slot">{{CARD_SLOT}}</string>
|
||||
<string name="tag_card_subid">{{CARD_SUBID}}</string>
|
||||
<string name="tag_receive_time">{{RECEIVE_TIME}}</string>
|
||||
<string name="tag_current_time">{{CURRENT_TIME}}</string>
|
||||
<string name="tag_device_name">{{DEVICE_NAME}}</string>
|
||||
<string name="tag_app_version">{{APP_VERSION}}</string>
|
||||
<string name="tag_title">{{TITLE}}</string>
|
||||
<string name="tag_scheme">{{SCHEME}}</string>
|
||||
<string name="tag_call_type">{{CALL_TYPE}}</string>
|
||||
<string name="tag_location">{{LOCATION}}</string>
|
||||
<string name="tag_location_longitude">{{LOCATION_LONGITUDE}}</string>
|
||||
<string name="tag_location_latitude">{{LOCATION_LATITUDE}}</string>
|
||||
<string name="tag_location_address">{{LOCATION_ADDRESS}}</string>
|
||||
<string name="tag_battery_pct">{{BATTERY_PCT}}</string>
|
||||
<string name="tag_battery_status">{{BATTERY_STATUS}}</string>
|
||||
<string name="tag_battery_plugged">{{BATTERY_PLUGGED}}</string>
|
||||
<string name="tag_battery_info">{{BATTERY_INFO}}</string>
|
||||
<string name="tag_uid">{{UID}}</string>
|
||||
<string name="tag_ipv4">{{IPV4}}</string>
|
||||
<string name="tag_ipv6">{{IPV6}}</string>
|
||||
|
@ -1195,7 +1195,7 @@
|
|||
<string name="task_http_server_tips">控制HttpServer的启动/停止,并支持启用/禁用功能</string>
|
||||
<string name="task_cleaner">清理日志</string>
|
||||
<string name="task_cleaner_tips">批量删除N天前的转发记录、删除缓存等</string>
|
||||
<string name="task_cleaner_desc">批量删除N天前的转发记录、删除缓存等</string>
|
||||
<string name="task_cleaner_desc">批量删除 %s 天前的转发记录、删除缓存等</string>
|
||||
<string name="task_settings">通用设置</string>
|
||||
<string name="task_settings_tips">控制【通用设置】的配置开关</string>
|
||||
<string name="task_rule">启停规则</string>
|
||||
|
@ -1206,7 +1206,7 @@
|
|||
<string name="task_alarm_tips">声音警报</string>
|
||||
<string name="task_resend">重发消息</string>
|
||||
<string name="task_resend_tips">自动重发N小时以来的转发记录,0=全部</string>
|
||||
<string name="task_resend_desc">自动重发%s小时以来%s的转发记录</string>
|
||||
<string name="task_resend_desc" formatted="false">自动重发%s小时以来%s的转发记录</string>
|
||||
<string name="task_resend_error">必须至少选择一个【原转发状态】</string>
|
||||
|
||||
<string name="second">秒</string>
|
||||
|
|
|
@ -609,28 +609,28 @@
|
|||
<string name="success">成功</string>
|
||||
<string name="failed">失敗</string>
|
||||
<string name="processing">處理中</string>
|
||||
<string name="tag_from">{{來源號碼}}</string>
|
||||
<string name="tag_sms">{{簡訊內容}}</string>
|
||||
<string name="tag_package_name">{{APP包名}}</string>
|
||||
<string name="tag_app_name">{{APP名稱}}</string>
|
||||
<string name="tag_msg">{{通知內容}}</string>
|
||||
<string name="tag_card_slot">{{卡槽信息}}</string>
|
||||
<string name="tag_card_subid">{{卡槽主鍵}}</string>
|
||||
<string name="tag_receive_time">{{接收時間}}</string>
|
||||
<string name="tag_current_time">{{當前時間}}</string>
|
||||
<string name="tag_device_name">{{設備名稱}}</string>
|
||||
<string name="tag_app_version">{{當前應用版本號}}</string>
|
||||
<string name="tag_title">{{通知標題}}</string>
|
||||
<string name="tag_scheme">{{通知Scheme}}</string>
|
||||
<string name="tag_call_type">{{通話類型}}</string>
|
||||
<string name="tag_location">{{定位信息}}</string>
|
||||
<string name="tag_location_longitude">{{定位信息_經度}}</string>
|
||||
<string name="tag_location_latitude">{{定位信息_緯度}}</string>
|
||||
<string name="tag_location_address">{{定位信息_地址}}</string>
|
||||
<string name="tag_battery_pct">{{電池電量}}</string>
|
||||
<string name="tag_battery_status">{{電池狀態}}</string>
|
||||
<string name="tag_battery_plugged">{{充電方式}}</string>
|
||||
<string name="tag_battery_info">{{電池信息}}</string>
|
||||
<string name="tag_from">{{FROM}}</string>
|
||||
<string name="tag_sms">{{SMS}}</string>
|
||||
<string name="tag_package_name">{{PACKAGE_NAME}}</string>
|
||||
<string name="tag_app_name">{{APP_NAME}}</string>
|
||||
<string name="tag_msg">{{MSG}}</string>
|
||||
<string name="tag_card_slot">{{CARD_SLOT}}</string>
|
||||
<string name="tag_card_subid">{{CARD_SUBID}}</string>
|
||||
<string name="tag_receive_time">{{RECEIVE_TIME}}</string>
|
||||
<string name="tag_current_time">{{CURRENT_TIME}}</string>
|
||||
<string name="tag_device_name">{{DEVICE_NAME}}</string>
|
||||
<string name="tag_app_version">{{APP_VERSION}}</string>
|
||||
<string name="tag_title">{{TITLE}}</string>
|
||||
<string name="tag_scheme">{{SCHEME}}</string>
|
||||
<string name="tag_call_type">{{CALL_TYPE}}</string>
|
||||
<string name="tag_location">{{LOCATION}}</string>
|
||||
<string name="tag_location_longitude">{{LOCATION_LONGITUDE}}</string>
|
||||
<string name="tag_location_latitude">{{LOCATION_LATITUDE}}</string>
|
||||
<string name="tag_location_address">{{LOCATION_ADDRESS}}</string>
|
||||
<string name="tag_battery_pct">{{BATTERY_PCT}}</string>
|
||||
<string name="tag_battery_status">{{BATTERY_STATUS}}</string>
|
||||
<string name="tag_battery_plugged">{{BATTERY_PLUGGED}}</string>
|
||||
<string name="tag_battery_info">{{BATTERY_INFO}}</string>
|
||||
<string name="tag_uid">{{UID}}</string>
|
||||
<string name="tag_ipv4">{{IPV4}}</string>
|
||||
<string name="tag_ipv6">{{IPV6}}</string>
|
||||
|
@ -1195,7 +1195,7 @@
|
|||
<string name="task_http_server_tips">控制HttpServer的啟動/停止,並支持啟用/禁用功能</string>
|
||||
<string name="task_cleaner">清理日誌</string>
|
||||
<string name="task_cleaner_tips">批量刪除N天前的轉發記錄、刪除快取等</string>
|
||||
<string name="task_cleaner_desc">批量刪除N天前的轉發記錄、刪除快取等</string>
|
||||
<string name="task_cleaner_desc">批量刪除 %s 天前的轉發記錄、刪除快取等</string>
|
||||
<string name="task_settings">通用設置</string>
|
||||
<string name="task_settings_tips">控制「通用設置」的設定開關</string>
|
||||
<string name="task_rule">啟停規則</string>
|
||||
|
@ -1206,7 +1206,7 @@
|
|||
<string name="task_alarm_tips">聲音警報</string>
|
||||
<string name="task_resend">重發消息</string>
|
||||
<string name="task_resend_tips">自動重發N小時以來的轉發記錄,0=全部</string>
|
||||
<string name="task_resend_desc">自動重發%s小時以來%s的轉發記錄</string>
|
||||
<string name="task_resend_desc" formatted="false">自動重發%s小時以來%s的轉發記錄</string>
|
||||
<string name="task_resend_error">必须至少选择一個「原轉發狀態」</string>
|
||||
|
||||
<string name="second">秒</string>
|
||||
|
|
|
@ -1195,7 +1195,7 @@
|
|||
<string name="task_http_server_tips">控制HttpServer的启动/停止,并支持启用/禁用功能</string>
|
||||
<string name="task_cleaner">清理日志</string>
|
||||
<string name="task_cleaner_tips">批量删除N天前的转发记录、删除缓存等</string>
|
||||
<string name="task_cleaner_desc">批量删除N天前的转发记录、删除缓存等</string>
|
||||
<string name="task_cleaner_desc">批量删除 %s 天前的转发记录、删除缓存等</string>
|
||||
<string name="task_settings">通用设置</string>
|
||||
<string name="task_settings_tips">控制【通用设置】的配置开关</string>
|
||||
<string name="task_rule">启停规则</string>
|
||||
|
@ -1206,7 +1206,7 @@
|
|||
<string name="task_alarm_tips">播放音乐提醒</string>
|
||||
<string name="task_resend">重发消息</string>
|
||||
<string name="task_resend_tips">自动重发N小时以来的转发记录,0=全部</string>
|
||||
<string name="task_resend_desc">自动重发%s小时以来%s的转发记录</string>
|
||||
<string name="task_resend_desc" formatted="false">自动重发%s小时以来%s的转发记录</string>
|
||||
<string name="task_resend_error">必须至少选择一个【原转发状态】</string>
|
||||
|
||||
<string name="second">秒</string>
|
||||
|
|
Loading…
Reference in New Issue