Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ private fun LANShieldNotActive(modifier: Modifier = Modifier) {
Spacer(modifier = Modifier.height(48.dp))

Text(
text = "LANShield not active",
stringResource(R.string.LANShield_not_active),
modifier = Modifier.fillMaxWidth(),
textAlign = TextAlign.Center,
style = MaterialTheme.typography.titleMedium,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,10 @@ internal fun OverviewScreen(
contentDescription = vpnNotificationContentDescription
}
) {
Text("Why is there a VPN notification?", textAlign = TextAlign.Center)
Text(
stringResource(R.string.why_is_there_a_vpn_notification),
textAlign = TextAlign.Center
)
}
}

Expand Down
57 changes: 57 additions & 0 deletions app/src/main/res/drawable/ic_launcher_monochrome.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">

<!-- 宽版圆润盾牌 -->
<path
android:fillColor="#00000000"
android:strokeColor="#FFFFFFFF"
android:strokeWidth="3.2"
android:strokeLineCap="round"
android:strokeLineJoin="round"
android:pathData="M 54,28
C 63,33 72,35 80,35
C 80,50 75,64 54,79
C 33,64 28,50 28,35
C 36,35 45,33 54,28 Z" />

<!-- 弧线 1(更平缓舒展的顶部大弧) -->
<path
android:fillColor="#00000000"
android:strokeColor="#FFFFFFFF"
android:strokeWidth="3.0"
android:strokeLineCap="round"
android:pathData="M 36.5,43.5 C 41.5,39.5 47.5,38 54,38 C 60.5,38 66.5,39.5 71.5,43.5" />

<!-- 弧线 2 -->
<path
android:fillColor="#00000000"
android:strokeColor="#FFFFFFFF"
android:strokeWidth="3.0"
android:strokeLineCap="round"
android:pathData="M 40.5,49.5 C 44.5,46 49,44.5 54,44.5 C 59,44.5 63.5,46 67.5,49.5" />

<!-- 弧线 3 -->
<path
android:fillColor="#00000000"
android:strokeColor="#FFFFFFFF"
android:strokeWidth="3.0"
android:strokeLineCap="round"
android:pathData="M 44.5,55.5 C 47.5,52.8 50.5,51.5 54,51.5 C 57.5,51.5 60.5,52.8 63.5,55.5" />

<!-- 弧线 4(内层微弧) -->
<path
android:fillColor="#00000000"
android:strokeColor="#FFFFFFFF"
android:strokeWidth="3.0"
android:strokeLineCap="round"
android:pathData="M 48.5,61.5 C 50.2,59.8 52,59 54,59 C 56,59 57.8,59.8 59.5,61.5" />

<!-- 底部发射圆点 -->
<path
android:fillColor="#FFFFFFFF"
android:pathData="M 54,66
A 2.5,2.5 0 1,0 54.01,66 Z" />
</vector>
3 changes: 2 additions & 1 deletion app/src/main/res/mipmap-anydpi-v26/logo.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/logo_background"/>
<foreground android:drawable="@mipmap/logo_foreground"/>
</adaptive-icon>
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
</adaptive-icon>
141 changes: 141 additions & 0 deletions app/src/main/res/values-zh-rCN/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="about">关于</string>
<string name="about_lanshield">关于 LANShield</string>
<string name="agree">同意</string>
<string name="all">全部</string>
<string name="allow">允许</string>
<string name="allowed">已允许</string>
<string name="allow_notifications">允许通知</string>
<string name="open_notification_settings">打开通知设置</string>
<string name="notifications_enabled">通知已启用</string>
<string name="allow_local_network">允许本地网络访问</string>
<string name="local_network_granted">已授予权限</string>
<string name="open_app_settings">打开应用设置</string>
<string name="local_network_access">本地网络访问</string>
<string name="intro_local_network">授予“附近设备”权限后,LANShield 才能为您的应用转发本地网络流量。</string>
<string name="alter_blocking_policy_on_a_per_app_basis">按单个应用修改拦截策略</string>
<string name="anonymous_sharing">匿名共享</string>
<string name="any_detected_lan_traffic_will_be_shown_here">检测到的所有局域网流量\n都将在此处显示</string>
<string name="app_name">LANShield</string>
<string name="automatically_start_on_boot">开机自启动</string>
<string name="back">返回</string>
<string name="block">拦截</string>
<string name="block_or_allow_lan_traffic_by_default">默认拦截或允许局域网流量</string>
<string name="blocked">已拦截</string>
<string name="cancel">取消</string>
<string name="cancel_search">取消搜索</string>
<string name="change_lan_access_policy">修改局域网访问策略</string>
<string name="check_clear_flows">确定要清除 %1$s 的所有受监控局域网流量记录吗?此操作无法撤销。</string>
<string name="choose_whether_lan_traffic_should_be_allowed_or_blocked_by_default">选择默认应允许还是拦截局域网流量</string>
<string name="clear_all">全部清除</string>
<string name="clear_lan_traffic">清除局域网流量记录</string>
<string name="configure_lan_access_for">"配置局域网访问权限:"</string>
<string name="confirm">确认</string>
<string name="default_policy">默认策略</string>
<string name="default_x">默认</string>
<string name="detected_protocol">检测到协议:%1$s</string>
<string name="detected_protocols">检测到协议:%1$s</string>
<string name="disagree">不同意</string>
<string name="dismiss">忽略</string>
<string name="enable_always_on">启用始终开启</string>
<string name="end_with_timestamp">结束时间:%1$s</string>
<string name="enjoy_using_lanshield">"欢迎使用 LANShield!"</string>
<string name="exceptions">例外规则</string>
<string name="feedback">反馈</string>
<string name="finish">完成</string>
<string name="get_notified">接收通知</string>
<string name="give_feedback">提交反馈</string>
<string name="in_with_amount_bytes">入站:%1$s</string>
<string name="individual_lan_traffic">单个应用局域网流量</string>
<string name="individual_lan_traffic_explanation">待补充 individual_lan_traffic_explanation</string>
<string name="info">信息</string>
<string name="intro_default_policy">"首先,您需要选择默认是拦截还是允许局域网访问。之后您可以针对各个应用单独覆盖此规则。"</string>
<string name="intro_finished_feedback">"有任何反馈意见吗?您可以在“设置”标签页中向我们提交!"</string>
<string name="intro_notification">"当应用首次尝试访问您的本地网络时,LANShield 会发送通知,以便您决定允许或拦截。通知仅用于此类本地网络访问事件。"</string>
<string name="intro_share_app_usage_content">"为了让我们更深入地了解应用行为,我们希望获知哪些应用在使用过程中并未尝试访问局域网。为此,您可以选择与我们共享您的应用使用情况数据。"</string>
<string name="intro_share_app_usage_title">共享应用使用情况</string>
<string name="intro_share_lan_metrics">"LANShield 是比利时鲁汶大学(KU Leuven)的一项学术研究项目。通过共享设备上应用与本地网络交互的数据,您可以帮助我们了解应用访问局域网的原因。所有数据均完全匿名化,绝不会外泄或出售。"</string>
<string name="intro_welcome">"您连接的本地网络中通常连接有打印机、摄像头、音响等各类设备。LANShield 可以让您自主掌控哪些应用可以访问它们,哪些不能。"</string>
<string name="intro_welcome_vpn_reassurance">LANShield 通过建立本地虚拟 VPN 接口在设备端过滤局域网流量。您会在状态栏看到 VPN 图标,但没有任何数据会被发送至外部互联网。</string>
<string name="join_our_academic_study">参与我们的学术研究</string>
<string name="join_user_study">参与用户调研</string>
<string name="join_our_academic_study_by_ku_leuven">参与鲁汶大学(KU Leuven)学术研究</string>
<string name="lan_traffic">局域网流量</string>
<string name="lan_traffic_blocking">局域网流量拦截</string>
<string name="lan_traffic_blocking_info">您可以在此配置 LANShield 应如何拦截或允许局域网流量。在“单应用例外”页面中,您可以为设备上的每个应用单独设定规则。若未设定单独规则,则应用“默认策略”。建议不要拦截系统应用,否则可能导致某些系统功能异常。</string>
<string name="lan_traffic_from_with_package_name">来自 %1$s 的局域网流量</string>
<string name="lan_traffic_info">此处概览了所有发送或接收过局域网流量的应用。在某些情况下,LANShield 无法确定具体是哪个应用发送了特定数据包,这些流量将被归类为“未知”。</string>
<string name="lanshield_enabled">LANShield 已启用</string>
<string name="lanshield_start_failed_title">无法启动 LANShield</string>
<string name="lanshield_start_failed_text">局域网防火墙未能启动,请重试。</string>
<string name="vpn_consent_missing_text">LANShield 不再具备作为 VPN 运行的权限。点按即可打开 LANShield 并重新启用。</string>
<string name="lanshield_lets_you_control_lan_access_of_other_apps">LANShield 助您管控\n其他应用的局域网访问权限</string>
<string name="lanshield_logo">LANShield 徽标</string>
<string name="last_24h_with_bytes">过去 24 小时:%1$s</string>
<string name="last_seen_with_timestamp">最近活跃:%1$s</string>
<string name="learn_more_on_lanshield_eu">前往 lanshield.eu 了解更多</string>
<string name="why_is_there_a_vpn_notification">为什么会显示 VPN 通知?</string>
<string name="logo">徽标</string>
<string name="manage_notifications">管理通知</string>
<string name="manually_allowed_app_with_amount">手动允许了 %1$s 个应用%2$s</string>
<string name="manually_blocked_app_with_amount">手动拦截了 %1$s 个应用%2$s</string>
<string name="more_info">更多信息</string>
<string name="next">下一步</string>
<string name="no_lan_traffic_detected">未检测到局域网流量</string>
<string name="notifications">通知</string>
<string name="out_with_amount_bytes">出站:%1$s</string>
<string name="overview">概览</string>
<string name="overview_always_on_info_dialog">若要在设备重启后自动启动 LANShield,请在下一步的 LANShield VPN 设置界面中勾选“始终开启的 VPN”选项。</string>
<string name="overview_vpn_notification_info_dialog">为了防护您的局域网流量,LANShield 使用虚拟本地 VPN 连接来管控设备上其他应用的局域网访问。虽然您会看到系统 VPN 通知,但不会建立连接到外部互联网的 VPN 隧道。</string>
<string name="overview_vpn_permission_info_dialog">为了防护您的局域网流量,LANShield 需要建立一个虚拟本地 VPN 接口。在下一步中,系统将请求您授予此权限。应用不会建立连接到外部互联网的 VPN 隧道。</string>
<string name="peer">对端:%1$s - %2$s</string>
<string name="per_app_exceptions">单应用例外</string>

<string name="allow_multicast_traffic">允许组播流量</string>
<string name="allow_dns_traffic">允许 DNS 流量</string>
<string name="hide_multicast_notification">隐藏组播通知</string>
<string name="hide_dns_notification">隐藏 DNS 通知</string>

<string name="per_app_policies_info">"您可以在此为各个应用单独配置允许或拦截局域网流量。"</string>
<string name="policy_allow_lan_traffic">策略:允许局域网流量</string>
<string name="policy_block_lan_traffic">策略:拦截局域网流量</string>
<string name="previous">上一步</string>
<string name="privacy_policy">隐私政策</string>
<string name="search">搜索</string>
<string name="share">共享</string>
<string name="set_a_default_policy">设置默认策略</string>
<string name="settings">设置</string>
<string name="skip">跳过</string>
<string name="continue_label">继续</string>
<string name="settings_share_app_usage_info_dialog">共享应用使用情况可帮助我们识别哪些应用从未尝试访问本地网络。若要继续,请在接下来的界面中找到 LANShield 并选择“允许”。</string>
<string name="share_anonymous_app_usage">共享匿名应用使用情况</string>
<string name="share_anonymous_lan_metrics">共享匿名局域网指标</string>
<string name="sharing">共享中\n</string>
<string name="sharing_app_usage">共享应用使用情况</string>
<string name="show_system_apps">显示系统应用</string>
<string name="start_with_timestamp">开始时间:%1$s</string>
<string name="system_apps">系统应用</string>
<string name="title_activity_main">MainActivity</string>
<string name="total_with_bytes">总计:%1$s</string>
<string name="unknown">未知</string>
<string name="vpn_notification">VPN 通知</string>
<string name="why_vpn_icon">为什么会有 VPN 图标?</string>
<string name="vpn_permission_request">VPN 权限申请</string>
<string name="notification_permission_required">LANShield 需要通知权限才能运行。请启用通知以开启防护。</string>
<string name="local_network_permission_required">LANShield 需要“附近设备”权限才能向本地网络转发流量。</string>
<string name="local_network_permission_missing_title">缺少本地网络权限</string>
<string name="local_network_permission_missing_text">LANShield 需要“附近设备”权限才能向本地网络转发流量。点按即可打开 LANShield 并授予该权限。</string>
<string name="you_re_all_set">准备就绪!</string>
<string name="export">导出局域网流量</string>
<string name="advanced">高级设置</string>
<string name="general">常规设置</string>
<string name="any_detected_open_ports_will_be_shown_here">检测到的所有开放端口都将在此处显示</string>
<string name="no_open_ports_detected">未检测到开放端口</string>
<string name="open_ports">开放端口</string>
<string name="LANShield_not_active">LANShield 未开启</string>
<string name="open_ports_info">此处列出了其他应用打开的端口。这些端口通常用于与同一局域网内的其他设备通信,例如设备发现或媒体串流。</string>
<string name="pull_down_to_refresh">下拉即可刷新</string>
<string name="learn_more_on_lanshield_eu_opens_in_browser">前往 lanshield.eu 了解详情(在浏览器中打开)</string>
<string name="why_is_there_a_vpn_notification_opens_explanation_dialog">为什么会显示 VPN 通知?(打开说明弹窗)</string>
</resources>
2 changes: 2 additions & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@
<string name="last_24h_with_bytes">Last 24h: %1$s</string>
<string name="last_seen_with_timestamp">Last seen: %1$s</string>
<string name="learn_more_on_lanshield_eu">Learn more on lanshield.eu</string>
<string name="why_is_there_a_vpn_notification">Why is there a VPN notification?</string>
<string name="logo">Logo</string>
<string name="manage_notifications">Manage notifications</string>
<string name="manually_allowed_app_with_amount">Manually allowed %1$s app%2$s</string>
Expand Down Expand Up @@ -132,6 +133,7 @@
<string name="any_detected_open_ports_will_be_shown_here">Any detected open ports will be shown here</string>
<string name="no_open_ports_detected">No open ports detected</string>
<string name="open_ports">Open Ports</string>
<string name="LANShield_not_active">LANShield not active</string>
<string name="open_ports_info">Here you can see a list of ports opened by other apps. These are typically used to communicate with other devices on the same local network, such as for device discovery or media streaming.</string>
<string name="pull_down_to_refresh">⬇ Pull down to refresh</string>
<string name="learn_more_on_lanshield_eu_opens_in_browser">Learn more on lanshield.eu, opens in browser</string>
Expand Down