add zh-cn

This commit is contained in:
Kr328 committed 2020-02-19 02:56:32 +08:00
1 parent f2d99a50a7
commit e63f210cc8
4 files changed
+147 -26

No files matched your search

@@ -13,36 +13,15 @@ class InterfaceFragment: BaseSettingFragment() {
override fun onCreateDataStore(): SettingsDataStore {
return SettingsDataStore().apply {
on(KEY_DARK_MODE, DarkModeSource())
on(KEY_DARK_MODE, UiSettings.DARK_MODE.asSource(ui))
on(KEY_LANGUAGE, UiSettings.LANGUAGE.asSource(ui))
onApply {
requireActivity().recreate()
}
}
}
override val xmlResourceId: Int
get() = R.xml.settings_interface
private inner class DarkModeSource: SettingsDataStore.Source {
override fun set(value: Any?) {
ui.commit {
put(UiSettings.DARK_MODE, value as String)
}
requireActivity().recreate()
}
override fun get(): Any? {
return when ( activity.delegate.localNightMode ) {
AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM ->
UiSettings.DARK_MODE_AUTO
AppCompatDelegate.MODE_NIGHT_YES ->
UiSettings.DARK_MODE_DARK
AppCompatDelegate.MODE_NIGHT_NO ->
UiSettings.DARK_MODE_LIGHT
else -> UiSettings.DARK_MODE_AUTO
}
}
private val activity: AppCompatActivity
get() = requireActivity() as AppCompatActivity
}
}
@@ -10,11 +10,16 @@ class SettingsDataStore: PreferenceDataStore() {
}
private val sources: MutableMap<String, Source> = mutableMapOf()
var applyListener: () -> Unit = {}
fun on(key: String, source: Source) {
sources[key] = source
}
fun onApply(block: () -> Unit) {
this.applyListener = block
}
inline fun <reified T>BaseSettings.Entry<T>.asSource(settings: BaseSettings): Source {
return object: Source {
override fun set(value: Any?) {
@@ -23,6 +28,8 @@ class SettingsDataStore: PreferenceDataStore() {
settings.commit {
put(this@asSource, v as T)
}
applyListener()
}
override fun get(): Any? {
+18
View File
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="access_control_mode_display">
<item>允许所有应用</item>
<item>仅允许已选择的应用</item>
<item>不允许已选择的应用</item>
</string-array>
<string-array name="dark_mode">
<item>自动</item>
<item>暗黑</item>
<item>明亮</item>
</string-array>
<string-array name="language">
<item>自动</item>
<item>英文</item>
<item>简体中文</item>
</string-array>
</resources>
+117
View File
@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="access_control_packages_summary">为应用配置访问权限</string>
<string name="about">关于</string>
<string name="access_control">访问控制</string>
<string name="access_control_mode">访问控制模式</string>
<string name="access_control_packages">访问控制应用包列表</string>
<string name="append_system_dns">追加系统 DNS</string>
<string name="append_system_dns_summary">自动追加系统 DNS 到 clash</string>
<string name="application_broken">应用损坏</string>
<string name="application_name">Clash for Android</string>
<string name="auto_update">自动更新</string>
<string name="behavior">行为</string>
<string name="boot">启动</string>
<string name="bypass_private_network">绕过私有网络</string>
<string name="bypass_private_network_summary">绕过私有网络地址</string>
<string name="cancel">取消</string>
<string name="capturing_clash_log">正在捕捉日志</string>
<string name="clash_logcat">Clash 日志捕捉工具</string>
<string name="clash_new_profile">新配置</string>
<string name="clash_start_failure">Clash 启动失败</string>
<string name="create_profile">创建配置</string>
<string name="dark_mode">暗黑模式</string>
<string name="default_">默认</string>
<string name="delay">延迟</string>
<string name="delete">删除</string>
<string name="delete_all_logs">删除所有日志</string>
<string name="delete_all_logs_warn">所有历史日志将丢失</string>
<string name="delete_log">删除日志</string>
<string name="delete_log_warn">%s 将被删除</string>
<string name="detail">详情</string>
<string name="direct">直连</string>
<string name="direct_mode">直连模式</string>
<string name="disabled">已禁用</string>
<string name="dns_hijacking">DNS 劫持</string>
<string name="dns_hijacking_summary">处理所有 DNS 数据包</string>
<string name="dns_override">DNS 配置覆盖</string>
<string name="dns_override_summary">强制使用内置 DNS 配置</string>
<string name="download_failure">下载失败</string>
<string name="duplicate">复制</string>
<string name="edit">编辑</string>
<string name="edit_profile">编辑配置</string>
<string name="empty_name">空名称</string>
<string name="enable_ipv6">启用 IPv6 支持 (不建议)</string>
<string name="enabled">已启用</string>
<string name="exit_without_save">退出而不保存</string>
<string name="exit_without_save_warning">所有变更将会丢失</string>
<string name="export">导出</string>
<string name="external">外部</string>
<string name="feedback">反馈</string>
<string name="file">文件</string>
<string name="file_exported">文件已导出</string>
<string name="format_date_time">%s %s</string>
<string name="format_days">%d 天</string>
<string name="format_export_log_name">%s %s.log</string>
<string name="format_hours">%d 小时</string>
<string name="format_minutes">%d 分钟</string>
<string name="format_months">%d 月</string>
<string name="format_profile_activated">%s 已激活</string>
<string name="format_traffic_forwarded">%s 已转发</string>
<string name="format_years">%d 年</string>
<string name="global">全局</string>
<string name="global_mode">全局模式</string>
<string name="history">历史</string>
<string name="import_from_file">从文件导入</string>
<string name="import_from_url">从 URL 导入</string>
<string name="in_minutes">以分钟计算</string>
<string name="interface_">界面</string>
<string name="invalid_interval">无效的间隔</string>
<string name="invalid_url">无效的 URL</string>
<string name="ipv6">IPv6</string>
<string name="language">语言</string>
<string name="launch_name">Clash</string>
<string name="log_viewer">日志查看器</string>
<string name="logs">日志</string>
<string name="merge_prefix">前缀合并</string>
<string name="mode">模式</string>
<string name="name">名称</string>
<string name="network">网络</string>
<string name="new_profile">新配置</string>
<string name="not_selected">未选择</string>
<string name="notification">通知</string>
<string name="ok">确认</string>
<string name="open_log_failure">打开日志失败</string>
<string name="processing">处理中</string>
<string name="profile">配置</string>
<string name="profile_name">配置名称</string>
<string name="profile_url">配置 URL</string>
<string name="profiles">配置文件</string>
<string name="properties">参数</string>
<string name="proxy">代理</string>
<string name="recently">近期</string>
<string name="refresh">刷新</string>
<string name="reset_provider">重置外部引用</string>
<string name="route_system_traffic">路由系统流量</string>
<string name="routing_via_vpn_service">通过 VpnService 路由所有系统流量</string>
<string name="rule">规则</string>
<string name="rule_mode">规则模式</string>
<string name="running">运行中</string>
<string name="send">发送</string>
<string name="settings">设置</string>
<string name="show_traffic">显示流量</string>
<string name="show_traffic_summary">在通知中自动刷新流量</string>
<string name="sort_group">代理组排序</string>
<string name="sort_proxy">代理排序</string>
<string name="start_clash_on_system_boot">在系统启动时启动 Clash</string>
<string name="start_on_boot">开机时启动</string>
<string name="start_url_provider_failure">打开 URL 提供商 失败</string>
<string name="stopped">已停止</string>
<string name="support">支持</string>
<string name="tap_to_start">点此启动</string>
<string name="unknown">未知</string>
<string name="update">更新</string>
<string name="url">URL</string>
<string name="utils">实用工具</string>
<string name="vpn_service">VPN Service</string>
</resources>