aboutsummaryrefslogtreecommitdiff
path: root/app/i18n/zh-cn
diff options
context:
space:
mode:
authorGravatar Alexis Degrugillier <aledeg@users.noreply.github.com> 2025-10-06 15:09:01 -0400
committerGravatar GitHub <noreply@github.com> 2025-10-06 21:09:01 +0200
commitb6f4276c6cc2e5a53f0a4afb1536960427fa995e (patch)
tree8ac7062239b9fa4d3cdb1a9d106db6ada1676a77 /app/i18n/zh-cn
parentaeecba7b30cf04a53fc23f7ed7a8c5ce12cb11a6 (diff)
Change regional language codes (#8065)
* Change regional language codes According to `ISO-639-1` and `ISO-3166-1 alpha-2` recommendations, regional languages must be written with the language code in lowercase and the region in uppercase. For instance, we should have `en-US` instead of `en-us`. Folders have been updated to reflect those recommendations and regional language codes have been updated in the translation files. * Update README files * Fix configuration for typos * Revert language order in documentation * Remove unnecessary code * Change language configuration getter * Fix phpstan error * Fix typo * Add types * escape regex * Move language logic to avoid magic or deprecated methods * Minor fix on regex
Diffstat (limited to 'app/i18n/zh-cn')
-rw-r--r--app/i18n/zh-cn/admin.php240
-rw-r--r--app/i18n/zh-cn/api.php33
-rw-r--r--app/i18n/zh-cn/conf.php372
-rw-r--r--app/i18n/zh-cn/feedback.php152
-rw-r--r--app/i18n/zh-cn/gen.php277
-rw-r--r--app/i18n/zh-cn/index.php110
-rw-r--r--app/i18n/zh-cn/install.php128
-rw-r--r--app/i18n/zh-cn/sub.php307
-rw-r--r--app/i18n/zh-cn/user.php54
9 files changed, 0 insertions, 1673 deletions
diff --git a/app/i18n/zh-cn/admin.php b/app/i18n/zh-cn/admin.php
deleted file mode 100644
index 8bf7d5fed..000000000
--- a/app/i18n/zh-cn/admin.php
+++ /dev/null
@@ -1,240 +0,0 @@
-<?php
-
-/******************************************************************************
- * Each entry of that file can be associated with a comment to indicate its *
- * state. When there is no comment, it means the entry is fully translated. *
- * The recognized comments are (comment matching is case-insensitive): *
- * + TODO: the entry has never been translated. *
- * + DIRTY: the entry has been translated but needs to be updated. *
- * + IGNORE: the entry does not need to be translated. *
- * When a comment is not recognized, it is discarded. *
- ******************************************************************************/
-
-return array(
- 'auth' => array(
- 'allow_anonymous' => '允许匿名阅读默认用户(%s)的文章',
- 'allow_anonymous_refresh' => '允许匿名刷新文章',
- 'api_enabled' => '允许 <abbr>API</abbr> 访问 <small>(用于手机应用 and sharing user queries)</small>', // DIRTY
- 'form' => '网页表单(传统方式, 需要 JavaScript)',
- 'http' => 'HTTP (advanced: managed by Web server, OIDC, SSO…)', // TODO
- 'none' => '无(危险)',
- 'title' => '认证',
- 'token' => '主验证 token',
- 'token_help' => '允许不验证而访问用户的全部 RSS 输出以及刷新订阅源:',
- 'type' => '认证方式',
- 'unsafe_autologin' => '允许不安全的自动登陆方式:',
- ),
- 'check_install' => array(
- 'cache' => array(
- 'nok' => '请检查 <em>./data/cache</em> 目录权限,HTTP 服务器必须拥有写入权限。',
- 'ok' => 'cache 目录权限正常',
- ),
- 'categories' => array(
- 'nok' => 'Category 表配置错误',
- 'ok' => 'Category 表正常',
- ),
- 'connection' => array(
- 'nok' => '数据库连接失败',
- 'ok' => '数据库连接正常',
- ),
- 'ctype' => array(
- 'nok' => '找不到字符类型检测库(php-ctype)',
- 'ok' => '已找到字符类型检测库(ctype)',
- ),
- 'curl' => array(
- 'nok' => '找不到 cURL 库(php-curl 包)',
- 'ok' => '已找到 cURL 库',
- ),
- 'data' => array(
- 'nok' => '请检查 <em>./data</em> 目录权限,HTTP 服务器必须拥有写入权限。',
- 'ok' => 'data 目录权限正常',
- ),
- 'database' => '数据库安装',
- 'dom' => array(
- 'nok' => '找不到用于浏览 DOM 的库(php-xml 包)',
- 'ok' => '已找到用于浏览 DOM 的库',
- ),
- 'entries' => array(
- 'nok' => 'Entry 表配置错误',
- 'ok' => 'Entry 表配置正常',
- ),
- 'favicons' => array(
- 'nok' => '请检查 <em>./data/favicons</em> 目录权限,HTTP 服务器必须拥有写入权限。',
- 'ok' => 'favicons 目录权限正常',
- ),
- 'feeds' => array(
- 'nok' => 'Feed 表配置错误',
- 'ok' => 'Feed 表正常',
- ),
- 'fileinfo' => array(
- 'nok' => '找不到 PHP fileinfo 库(php-fileinfo 包)',
- 'ok' => '已找到 fileinfo 库',
- ),
- 'files' => '文件相关',
- 'json' => array(
- 'nok' => '找不到 JSON 扩展(php-json 包)',
- 'ok' => '已找到 JSON 扩展',
- ),
- 'mbstring' => array(
- 'nok' => '找不到推荐用于 Unicode 的 mbstring 库',
- 'ok' => '已找到推荐用于 Unicode 的 mbstring 库',
- ),
- 'pcre' => array(
- 'nok' => '找不到正则表达式解析库(php-pcre)',
- 'ok' => '已找到正则表达式解析库(PCRE)',
- ),
- 'pdo' => array(
- 'nok' => '找不到 PDO 或其中一种支持的驱动(pdo_mysql、pdo_sqlite、pdo_pgsql)',
- 'ok' => '已找到 PDO 和至少一种支持的驱动(pdo_mysql、pdo_sqlite、pdo_pgsql)',
- ),
- 'php' => array(
- '_' => 'PHP 安装',
- 'nok' => '你的 PHP 版本为 %s,但 FreshRSS 最低需要 %s',
- 'ok' => '你的 PHP 版本为 %s,与 FreshRSS 兼容',
- ),
- 'tables' => array(
- 'nok' => '数据库中缺少一个或多个表',
- 'ok' => '数据库中存在正确的表',
- ),
- 'title' => '环境检查',
- 'tokens' => array(
- 'nok' => '请检查 <em>./data/tokens</em> 目录权限,HTTP 服务器必须拥有写入权限。',
- 'ok' => 'tokens 目录权限正常',
- ),
- 'users' => array(
- 'nok' => '请检查 <em>./data/users</em> 目录权限,HTTP 服务器必须拥有写入权限。',
- 'ok' => 'users 目录权限正常',
- ),
- 'zip' => array(
- 'nok' => '找不到 ZIP 扩展(php-zip 包)',
- 'ok' => '已找到 ZIP 扩展',
- ),
- ),
- 'extensions' => array(
- 'author' => '作者',
- 'community' => '可用的社区扩展',
- 'description' => '描述',
- 'disabled' => '已禁用',
- 'empty_list' => '没有已安装的扩展',
- 'empty_list_help' => 'Check the logs to determine the reason behind the empty extension list.', // TODO
- 'enabled' => '已启用',
- 'latest' => '已安装',
- 'name' => '名称',
- 'no_configure_view' => '此扩展无法配置。',
- 'system' => array(
- '_' => '系统扩展',
- 'no_rights' => '系统扩展(你没有所需权限)',
- ),
- 'title' => '扩展',
- 'update' => '更新可用',
- 'user' => '用户扩展',
- 'version' => '版本',
- ),
- 'stats' => array(
- '_' => '统计数据',
- 'all_feeds' => '所有订阅源',
- 'category' => '分类',
- 'entry_count' => '文章数',
- 'entry_per_category' => '各分类文章数',
- 'entry_per_day' => '每日文章数(近三十日)',
- 'entry_per_day_of_week' => '一周中(平均:%.2f 条消息)',
- 'entry_per_hour' => '各小时(平均:%.2f 条消息)',
- 'entry_per_month' => '各月(平均:%.2f 条消息)',
- 'entry_repartition' => '文章分布',
- 'feed' => '订阅源',
- 'feed_per_category' => '各分类订阅源数',
- 'idle' => '长期无更新订阅源',
- 'main' => '主要统计数据',
- 'main_stream' => '首页',
- 'no_idle' => '订阅源近期皆有更新!',
- 'number_entries' => '%d 篇文章',
- 'overview' => 'Overview', // TODO
- 'percent_of_total' => '%',
- 'repartition' => '文章分布: %s', // DIRTY
- 'status_favorites' => '收藏',
- 'status_read' => '已读',
- 'status_total' => '总计',
- 'status_unread' => '未读',
- 'title' => '统计',
- 'top_feed' => '前十订阅源',
- ),
- 'system' => array(
- '_' => '系统配置',
- 'auto-update-url' => '自动更新服务器 URL',
- 'base-url' => array(
- '_' => '基础 URL',
- 'recommendation' => '推荐: <kbd>%s</kbd>',
- ),
- 'cookie-duration' => array(
- 'help' => '单位:秒',
- 'number' => '保持登录的时长',
- ),
- 'force_email_validation' => '强制验证邮箱地址',
- 'instance-name' => '实例名称',
- 'max-categories' => '各用户分类数限制',
- 'max-feeds' => '各用户订阅源数限制',
- 'registration' => array(
- 'number' => '最大用户数',
- 'select' => array(
- 'label' => '注册表单',
- 'option' => array(
- 'noform' => '禁用,无注册表单',
- 'nolimit' => '启用,且无账户限制',
- 'setaccountsnumber' => '设置用户数的最大值',
- ),
- ),
- 'status' => array(
- 'disabled' => '注册表单已禁用',
- 'enabled' => '注册表单已启用',
- ),
- 'title' => '用户注册表单',
- ),
- 'sensitive-parameter' => '敏感参数。在 <kbd>./data/config.php</kbd> 中手动修改',
- 'tos' => array(
- 'disabled' => '没有提供',
- 'enabled' => '<a href="./?a=tos">已启用</a>',
- 'help' => '如何<a href="https://freshrss.github.io/FreshRSS/en/admins/12_User_management.html#enable-terms-of-service-tos" target="_blank">启用服务条款</a>',
- ),
- 'websub' => array(
- 'help' => '关于 <a href="https://freshrss.github.io/FreshRSS/en/users/WebSub.html" target="_blank">WebSub</a>',
- ),
- ),
- 'update' => array(
- '_' => '更新系统',
- 'apply' => '应用',
- 'changelog' => '更新记录',
- 'check' => '检查更新',
- 'copiedFromURL' => '从 %s 复制 update.php 到 ./data',
- 'current_version' => '当前 版本为',
- 'last' => '上次检查',
- 'loading' => '更新中…',
- 'none' => '没有可用更新',
- 'releaseChannel' => array(
- '_' => '发布通道',
- 'edge' => '滚动发布 (“edge”)',
- 'latest' => '稳定版本 (“latest”)',
- ),
- 'title' => '更新系统',
- 'viaGit' => '开始通过 git and GitHub.com 更新',
- ),
- 'user' => array(
- 'admin' => '管理员',
- 'article_count' => '文章数',
- 'back_to_manage' => '← 返回用户列表',
- 'create' => '创建新用户',
- 'database_size' => '数据库大小',
- 'email' => '邮箱地址',
- 'enabled' => '已启用',
- 'feed_count' => '订阅源数',
- 'is_admin' => '管理员',
- 'language' => '语言',
- 'last_user_activity' => '上次用户活跃',
- 'list' => '用户列表',
- 'number' => '已有 %d 个用户',
- 'numbers' => '已有 %d 个用户',
- 'password_form' => '密码<br /><small>(用于网页表单登录方式)</small>',
- 'password_format' => '至少 7 个字符',
- 'title' => '用户管理',
- 'username' => '用户名',
- ),
-);
diff --git a/app/i18n/zh-cn/api.php b/app/i18n/zh-cn/api.php
deleted file mode 100644
index 0021dfa98..000000000
--- a/app/i18n/zh-cn/api.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/******************************************************************************
- * Each entry of that file can be associated with a comment to indicate its *
- * state. When there is no comment, it means the entry is fully translated. *
- * The recognized comments are (comment matching is case-insensitive): *
- * + TODO: the entry has never been translated. *
- * + DIRTY: the entry has been translated but needs to be updated. *
- * + IGNORE: the entry does not need to be translated. *
- * When a comment is not recognized, it is discarded. *
- ******************************************************************************/
-
-return array(
- 'information' => array(
- 'address' => 'Your API address:', // TODO
- 'output' => array(
- 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
- 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
- 'pass' => '✔️ PASS', // TODO
- 'unknown-error' => '❌ ', // TODO
- ),
- 'test' => array(
- 'fever' => 'Fever API configuration test:', // TODO
- 'greader' => 'Google Reader API configuration test:', // TODO
- ),
- 'title' => array(
- '_' => 'FreshRSS API endpoints', // TODO
- 'extension' => 'API for extensions', // TODO
- 'fever' => 'Fever compatible API', // TODO
- 'greader' => 'Google Reader compatible API', // TODO
- ),
- ),
-);
diff --git a/app/i18n/zh-cn/conf.php b/app/i18n/zh-cn/conf.php
deleted file mode 100644
index 1ee9bf404..000000000
--- a/app/i18n/zh-cn/conf.php
+++ /dev/null
@@ -1,372 +0,0 @@
-<?php
-
-/******************************************************************************
- * Each entry of that file can be associated with a comment to indicate its *
- * state. When there is no comment, it means the entry is fully translated. *
- * The recognized comments are (comment matching is case-insensitive): *
- * + TODO: the entry has never been translated. *
- * + DIRTY: the entry has been translated but needs to be updated. *
- * + IGNORE: the entry does not need to be translated. *
- * When a comment is not recognized, it is discarded. *
- ******************************************************************************/
-
-return array(
- 'archiving' => array(
- '_' => '归档',
- 'exception' => '清理例外',
- 'help' => '更多可用选项位于各订阅源的设置',
- 'keep_favourites' => '永不删除已收藏的文章',
- 'keep_labels' => '永不删除打了标签的文章',
- 'keep_max' => '每订阅源最多保留的文章数',
- 'keep_min_by_feed' => '至少保留的文章数',
- 'keep_period' => '文章最多保留',
- 'keep_unreads' => '永不删除未读文章',
- 'maintenance' => '维护',
- 'optimize' => '优化数据库',
- 'optimize_help' => '偶尔执行可以减少数据库大小',
- 'policy' => '清理策略',
- 'policy_warning' => '如果未选择清理策略,则将保留全部文章。',
- 'purge_now' => '立即清除',
- 'title' => '存档',
- 'ttl' => '最小自动刷新间隔',
- ),
- 'display' => array(
- '_' => '显示',
- 'darkMode' => array(
- '_' => '自动黑暗模式',
- 'auto' => '启动',
- 'help' => '仅适用于兼容性主题',
- 'no' => '关闭',
- ),
- 'icon' => array(
- 'bottom_line' => '底栏',
- 'display_authors' => '作者',
- 'entry' => '文章图标',
- 'publication_date' => '更新日期',
- 'related_tags' => '文章标签',
- 'sharing' => '分享',
- 'summary' => '摘要',
- 'top_line' => '顶栏',
- ),
- 'language' => '语言',
- 'notif_html5' => array(
- 'seconds' => '秒(0 表示不超时)',
- 'timeout' => 'HTML5 通知超时时间',
- ),
- 'show_nav_buttons' => '显示导航按钮',
- 'theme' => array(
- '_' => '主题',
- 'deprecated' => array(
- '_' => '已弃用',
- 'description' => '这个主题已经不再被支持并且会在<a href="https://freshrss.github.io/FreshRSS/en/users/05_Configuration.html#theme" target="_blank">将来版本的 FreshRSS</a> 中删除',
- ),
- ),
- 'theme_not_available' => '“%s” 主题不再可用,请选择其他主题。',
- 'thumbnail' => array(
- 'label' => '缩略图',
- 'landscape' => '横向',
- 'none' => '无',
- 'portrait' => '纵向',
- 'square' => '方形',
- ),
- 'timezone' => '时区',
- 'title' => '显示',
- 'website' => array(
- 'full' => '图标和名称',
- 'icon' => '仅图标',
- 'label' => '网页显示',
- 'name' => '仅名称',
- 'none' => '无',
- ),
- 'width' => array(
- 'content' => '内容宽度',
- 'large' => '宽',
- 'medium' => '中',
- 'no_limit' => '无限制',
- 'thin' => '窄',
- ),
- ),
- 'logs' => array(
- 'loglist' => array(
- 'level' => '日志等级',
- 'message' => '信息',
- 'timestamp' => '时间',
- ),
- 'pagination' => array(
- 'first' => '首页',
- 'last' => '末页',
- 'next' => '下一页',
- 'previous' => '上一页',
- ),
- ),
- 'mark_read_button' => array(
- '_' => '“全部标记为已读”按钮',
- 'big' => '大',
- 'none' => '无',
- 'small' => '小',
- ),
- 'notification_timeout' => array(
- 'bad' => array(
- 'label' => 'Show warning banner', // TODO
- 'seconds' => 'seconds (at least 1)', // TODO
- ),
- 'good' => array(
- 'label' => 'Show acknowledgement banner', // TODO
- 'seconds' => 'seconds (0 means not shown)', // TODO
- ),
- ),
- 'privacy' => array(
- '_' => 'Privacy', // TODO
- 'retrieve_extension_list' => '获取扩展列表',
- ),
- 'profile' => array(
- '_' => '账户管理',
- 'api' => array(
- '_' => 'API 管理',
- 'api_not_set' => 'API密码未设置',
- 'api_set' => 'API密码已设置',
- 'check_link' => 'Check API status via: <kbd><a href="../api/" target="_blank">%s</a></kbd>', // TODO
- 'disabled' => 'The API access is disabled.', // TODO
- 'documentation_link' => 'See the <a href="https://freshrss.github.io/FreshRSS/en/users/06_Mobile_access.html#access-via-mobile-app" target="_blank">documentation and list of known apps</a>', // TODO
- 'help' => 'See <a href="http://freshrss.github.io/FreshRSS/en/users/06_Mobile_access.html#access-via-mobile-app" target=_blank>documentation</a>', // TODO
- ),
- 'change_password' => '修改密码',
- 'confirm_new_password' => '确认新密码',
- 'current_password' => 'Current password<br /><small>(for the Web-form login method)</small>', // TODO
- 'delete' => array(
- '_' => '账户删除',
- 'warn' => '你的帐户以及所有相关数据将被删除。',
- ),
- 'email' => '邮箱地址',
- 'new_password' => '新密码',
- 'password_api' => 'API 密码<br /><small>(例如用于手机应用)</small>',
- 'password_format' => '至少 7 个字符',
- 'title' => '账户',
- ),
- 'query' => array(
- '_' => '自定义查询',
- 'deprecated' => '此查询不再有效。相关的分类或订阅源已被删除。',
- 'description' => 'Description', // TODO
- 'filter' => array(
- '_' => '生效的过滤器:',
- 'categories' => '按分类显示',
- 'feeds' => '按订阅源显示',
- 'order' => '按日期排序',
- 'search' => '表达式',
- 'shareOpml' => '启用相应类别和 feed 的 OPML 分享',
- 'shareRss' => '启用 HTML 和 RSS 分享',
- 'state' => '状态',
- 'tags' => '按标签显示',
- 'type' => '类型',
- ),
- 'get_A' => 'Show all feeds, also those shown in their category', // TODO
- 'get_Z' => 'Show all feeds, also archived ones', // TODO
- 'get_all' => '显示所有文章',
- 'get_all_labels' => '显示所有打了标签的文章',
- 'get_category' => '显示分类“%s”',
- 'get_favorite' => '显示收藏文章',
- 'get_feed' => '显示订阅源“%s”',
- 'get_important' => '显示来自“重要的订阅”的文章',
- 'get_label' => '显示打了“%s”标签的文章',
- 'help' => '参见文档: <a href="https://freshrss.github.io/FreshRSS/en/users/user_queries.html" target="_blank">queries and resharing by HTML / RSS / OPML</a>.',
- 'image_url' => 'Image URL', // TODO
- 'name' => '名称',
- 'no_filter' => '无过滤器',
- 'no_queries' => array(
- '_' => 'No user queries are saved yet.', // TODO
- 'help' => 'See <a href="https://freshrss.github.io/FreshRSS/en/users/user_queries.html" target="_blank">documentation</a>', // TODO
- ),
- 'number' => '查询 n°%d',
- 'order_asc' => '由旧至新显示文章',
- 'order_desc' => '由新至旧显示文章',
- 'search' => '搜索 “%s”',
- 'share' => array(
- '_' => '分享您的自定义查询',
- 'disabled' => array(
- '_' => '已禁用',
- 'title' => '分享',
- ),
- 'greader' => 'Shareable link to the GReader JSON', // TODO
- 'help' => '获取此自定义查询的分享链接',
- 'html' => 'HTML 页面的分享链接',
- 'opml' => '订阅源 OPML 的分享链接',
- 'rss' => 'RSS feed 的分享链接',
- ),
- 'state_0' => '显示所有文章',
- 'state_1' => '显示已读文章',
- 'state_2' => '显示未读文章',
- 'state_3' => '显示所有文章',
- 'state_4' => '显示收藏文章',
- 'state_5' => '显示已读的收藏文章',
- 'state_6' => '显示未读的收藏文章',
- 'state_7' => '显示收藏文章',
- 'state_8' => '显示未收藏文章',
- 'state_9' => '显示已读的未收藏文章',
- 'state_10' => '显示未读的未收藏文章',
- 'state_11' => '显示未收藏文章',
- 'state_12' => '显示所有文章',
- 'state_13' => '显示已读文章',
- 'state_14' => '显示未读文章',
- 'state_15' => '显示所有文章',
- 'title' => '自定义查询',
- ),
- 'reading' => array(
- '_' => '阅读',
- 'after_onread' => '“全部标记为已读”后',
- 'always_show_favorites' => '默认显示收藏夹中所有的文章',
- 'apply_to_individual_feed' => 'Applies to feeds individually', // TODO
- 'article' => array(
- 'authors_date' => array(
- '_' => '作者和日期',
- 'both' => '页脚与页眉',
- 'footer' => '页脚',
- 'header' => '页眉',
- 'none' => '不显示',
- ),
- 'feed_name' => array(
- 'above_title' => '在标题/标签上方',
- 'none' => '不显示',
- 'with_authors' => '与作者和日期一行',
- ),
- 'feed_title' => '订阅源标题',
- 'icons' => array(
- '_' => '文章图标位置<br /><small>(仅阅读视图)</small>',
- 'above_title' => '标题之上',
- 'with_authors' => '与作者和日期在同一行',
- ),
- 'tags' => array(
- '_' => '文章标签',
- 'both' => '页脚与页眉',
- 'footer' => '页脚',
- 'header' => '页眉',
- 'none' => '不显示',
- ),
- 'tags_max' => array(
- '_' => '标签最多显示个数',
- 'help' => '0 表示:显示所有标签且不折叠',
- ),
- ),
- 'articles_per_page' => '每页文章数',
- 'auto_load_more' => '在页面底部载入更多文章',
- 'auto_remove_article' => '阅读后隐藏文章',
- 'confirm_enabled' => '“全部标记为已读”时显示确认对话框',
- 'display_articles_unfolded' => '默认展开显示文章',
- 'display_categories_unfolded' => '展开的分类',
- 'headline' => array(
- 'articles' => '文章:打开/关闭',
- 'articles_header_footer' => '文章: 页眉/页脚',
- 'categories' => '左侧导航栏:分类',
- 'mark_as_read' => '标为已读选项',
- 'misc' => '其它',
- 'view' => '浏览',
- ),
- 'hide_read_feeds' => '隐藏没有未读文章的分类和订阅源(启用“显示所有文章”后不生效)',
- 'img_with_lazyload' => '延迟加载图片',
- 'jump_next' => '跳转到下一未读项',
- 'mark_updated_article_unread' => '将有更新的文章设为未读',
- 'number_divided_when_reader' => '阅读视图中显示一半',
- 'read' => array(
- 'article_open_on_website' => '在打开原文章后',
- 'article_viewed' => '在文章被浏览后',
- 'focus' => '被聚焦时(除了重要订阅)',
- 'keep_max_n_unread' => '未读最多保留 n 条',
- 'scroll' => '在滚动浏览后(除了重要订阅)',
- 'upon_gone' => '在被原订阅源被移除后',
- 'upon_reception' => '在接收文章后',
- 'when' => '何时将文章标记为已读',
- 'when_same_title_in_category' => 'if an identical title already exists in the top <i>n</i> newest articles of the category', // TODO
- 'when_same_title_in_feed' => '已存在 n 条相同标题文章 (of the feed)', // DIRTY
- ),
- 'show' => array(
- '_' => '文章显示',
- 'active_category' => '活跃的分类',
- 'adaptive' => '若有未读项就显示未读,否则显示所有文章',
- 'all_articles' => '显示所有',
- 'all_categories' => '所有分类',
- 'no_category' => '无分类',
- 'remember_categories' => '记住打开的分类',
- 'unread' => '只显示未读',
- 'unread_or_favorite' => '显示未读及收藏',
- ),
- 'show_fav_unread_help' => '同样适用于标签',
- 'sides_close_article' => '点击文章文本区域外关闭文章',
- 'sort' => array(
- '_' => '排列顺序',
- 'newer_first' => '由新至旧',
- 'older_first' => '由旧至新',
- ),
- 'star' => array(
- 'when' => 'Mark an article as favourite…', // TODO
- ),
- 'sticky_post' => '打开文章时将其置顶',
- 'title' => '阅读',
- 'view' => array(
- 'default' => '默认视图',
- 'global' => '全屏视图',
- 'normal' => '普通视图',
- 'reader' => '阅读视图',
- ),
- ),
- 'sharing' => array(
- '_' => '分享',
- 'add' => '添加分享方式',
- 'bluesky' => 'Bluesky', // IGNORE
- 'deprecated' => '此功能已被废弃并会在未来的 FreshRSS 版本中移除,详情见 <a href="https://freshrss.github.io/FreshRSS/en/users/08_sharing_services.html" title="打开文档获更多信息" target="_blank">说明文档</a>.',
- 'diaspora' => 'Diaspora*', // IGNORE
- 'email' => 'Email', // IGNORE
- 'facebook' => 'Facebook', // IGNORE
- 'more_information' => '更多信息',
- 'print' => '打印',
- 'raindrop' => 'Raindrop.io', // IGNORE
- 'remove' => '删除分享方式',
- 'shaarli' => 'Shaarli', // IGNORE
- 'share_name' => '显示名称',
- 'share_url' => '用于分享的 URL',
- 'title' => '分享',
- 'twitter' => 'Twitter', // IGNORE
- 'wallabag' => 'wallabag', // IGNORE
- ),
- 'shortcut' => array(
- '_' => '快捷键',
- 'article_action' => '文章操作',
- 'auto_share' => '分享',
- 'auto_share_help' => '如果有多种分享方式,则会按照它们的序号依次访问。',
- 'close_menus' => '关闭菜单',
- 'collapse_article' => '折叠文章',
- 'first_article' => '打开第一篇文章',
- 'focus_search' => '访问搜索框',
- 'global_view' => '切换到全屏视图',
- 'help' => '显示帮助文档',
- 'javascript' => '若要使用快捷键,必须启用 JavaScript',
- 'last_article' => '打开最后一篇文章',
- 'load_more' => '载入更多文章',
- 'mark_favorite' => '加入收藏',
- 'mark_read' => '设为已读',
- 'navigation' => '浏览',
- 'navigation_help' => '组合 <kbd>⇧ Shift</kbd> 键,导航快捷键将应用于订阅源。<br/>组合 <kbd>Alt ⎇</kbd> 键,导航快捷键将应用于分类。',
- 'navigation_no_mod_help' => '以下快捷键不支持组合键(Shift 或 Alt)',
- 'next_article' => '打开下一篇文章',
- 'next_unread_article' => '打开下一篇未读文章',
- 'non_standard' => '这些键(<kbd>%s</kbd>)可能不能作为快捷键',
- 'normal_view' => '切换到普通视图',
- 'other_action' => '其他操作',
- 'previous_article' => '打开上一篇文章',
- 'reading_view' => '切换到阅读视图',
- 'rss_view' => '切换到 RSS 视图',
- 'see_on_website' => '在原网站中查看',
- 'shift_for_all_read' => '+ <kbd>Alt ⎇</kbd> 键将上方的文章标记为已读<br />+ <kbd>⇧ Shift</kbd> 键将所有文章设为已读',
- 'skip_next_article' => '跳转到下一篇文章而不打开',
- 'skip_previous_article' => '跳转到上一篇文章而不打开',
- 'title' => '快捷键',
- 'toggle_media' => '播放/暂停媒体',
- 'user_filter' => '显示自定义查询',
- 'user_filter_help' => '如果有多个自定义过滤器,则会按照它们的序号依次访问。',
- 'views' => '视图',
- ),
- 'user' => array(
- 'articles_and_size' => '%s 篇文章(%s)',
- 'current' => '当前用户',
- 'is_admin' => '该用户为管理员',
- 'users' => '用户',
- ),
-);
diff --git a/app/i18n/zh-cn/feedback.php b/app/i18n/zh-cn/feedback.php
deleted file mode 100644
index 3aa767f95..000000000
--- a/app/i18n/zh-cn/feedback.php
+++ /dev/null
@@ -1,152 +0,0 @@
-<?php
-
-/******************************************************************************
- * Each entry of that file can be associated with a comment to indicate its *
- * state. When there is no comment, it means the entry is fully translated. *
- * The recognized comments are (comment matching is case-insensitive): *
- * + TODO: the entry has never been translated. *
- * + DIRTY: the entry has been translated but needs to be updated. *
- * + IGNORE: the entry does not need to be translated. *
- * When a comment is not recognized, it is discarded. *
- ******************************************************************************/
-
-return array(
- 'access' => array(
- 'denied' => '你无权访问此页面',
- 'not_found' => '你寻找的页面不存在',
- ),
- 'admin' => array(
- 'optimization_complete' => '优化完成',
- ),
- 'api' => array(
- 'password' => array(
- 'failed' => '你的密码无法修改',
- 'updated' => '你的密码已修改',
- ),
- ),
- 'auth' => array(
- 'login' => array(
- 'invalid' => '用户名或密码无效',
- 'success' => '登录成功',
- ),
- 'logout' => array(
- 'success' => '已登出',
- ),
- ),
- 'conf' => array(
- 'error' => '保存配置时出错',
- 'query_created' => '查询 “%s” 已创建。',
- 'shortcuts_updated' => '快捷键已更新',
- 'updated' => '配置已更新',
- ),
- 'extensions' => array(
- 'already_enabled' => '%s 已启用',
- 'cannot_remove' => '无法删除 %s',
- 'disable' => array(
- 'ko' => '无法禁用 %s。<a href="%s">检查 FreshRSS 日志</a> 查看详情。',
- 'ok' => '%s 现已禁用',
- ),
- 'enable' => array(
- 'ko' => '%s 启用失败。<a href="%s">检查 FreshRSS 日志</a> 查看详情。',
- 'ok' => '%s 现已启用',
- ),
- 'invalid_view_mode' => 'Invalid view mode “%s”! Fall back to “Normal view”.', // TODO
- 'no_access' => '你无权访问 %s',
- 'not_enabled' => '%s 未启用',
- 'not_found' => '%s 不存在',
- 'removed' => '%s 已删除',
- ),
- 'import_export' => array(
- 'export_no_zip_extension' => '服务器未启用 ZIP 扩展,请尝试逐个导出文件。',
- 'feeds_imported' => '你的订阅源已导入,你可以点击 <i>更新订阅</i> 按钮以完成导入。',
- 'feeds_imported_with_errors' => '你的订阅源已导入,但发生错误。你可以点击 <i>更新订阅</i> 按钮以完成导入。',
- 'file_cannot_be_uploaded' => '文件未能上传!',
- 'no_zip_extension' => '服务器未启用 ZIP 扩展。',
- 'zip_error' => '导入 ZIP 文件时出错', // DIRTY
- ),
- 'profile' => array(
- 'error' => '你的帐户无法修改',
- 'passwords_dont_match' => 'Passwords don’t match', // TODO
- 'updated' => '你的帐户已修改',
- ),
- 'sub' => array(
- 'actualize' => '获取',
- 'articles' => array(
- 'marked_read' => '文章已标记为已读',
- 'marked_unread' => '文章已标记为未读',
- ),
- 'category' => array(
- 'created' => '已创建分类 %s',
- 'deleted' => '已删除分类',
- 'emptied' => '已清空分类',
- 'error' => '更新分类失败',
- 'name_exists' => '分类名已存在',
- 'no_id' => '你必须指定分类 ID',
- 'no_name' => '分类名不能为空',
- 'not_delete_default' => '你不能删除默认分类!',
- 'not_exist' => '分类不存在!',
- 'over_max' => '你已达到分类数上限(%d)',
- 'updated' => '已更新分类',
- ),
- 'feed' => array(
- 'actualized' => '已更新 <em>%s</em>',
- 'actualizeds' => '已更新订阅源',
- 'added' => '订阅源 <em>%s</em> 已添加',
- 'already_subscribed' => '你已订阅 <em>%s</em>',
- 'cache_cleared' => '<em>%s</em> 缓存已清理',
- 'deleted' => '已删除订阅源',
- 'error' => '订阅源更新失败',
- 'favicon' => array(
- 'too_large' => 'Uploaded icon is too large. The maximum file size is <em>%s</em>.', // TODO
- 'unsupported_format' => 'Unsupported image file format!', // TODO
- ),
- 'internal_problem' => '订阅源添加失败,<a href="%s">检查 FreshRSS 日志</a> 查看详情。你可以在 URL 后添加 <code>#force_feed</code> 尝试强制添加。',
- 'invalid_url' => 'URL <em>%s</em> 无效',
- 'n_actualized' => '已更新 %d 个订阅源',
- 'n_entries_deleted' => '已删除 %d 篇文章',
- 'no_refresh' => '没有可刷新的订阅源',
- 'not_added' => '<em>%s</em> 添加失败',
- 'not_found' => '无法找到订阅',
- 'over_max' => '你已达到订阅源数上限(%d)',
- 'reloaded' => '<em>%s</em> 已重新加载',
- 'selector_preview' => array(
- 'http_error' => '无法加载网站内容。',
- 'no_entries' => '你的订阅中没有任何条目,你至少需要一个条目来创建一个预览。',
- 'no_feed' => '网络错误(订阅源不存在)',
- 'no_result' => '选择器没有匹配到任何东西,回退显示原始的订阅源文本。',
- 'selector_empty' => '选择器是空的,你需要一个来创建预览。',
- ),
- 'updated' => '已更新订阅源',
- ),
- 'purge_completed' => '清除完成(已删除 %d 篇文章)',
- ),
- 'tag' => array(
- 'created' => '标签“%s”已创建。',
- 'error' => '标签无法被更新!',
- 'name_exists' => '标签名已存在。',
- 'renamed' => '标签“%s”已被重命名为“%s”。',
- 'updated' => '标签已更新。',
- ),
- 'update' => array(
- 'can_apply' => 'FreshRSS 将更新到 <strong>版本 %s</strong>。',
- 'error' => '更新出错:%s',
- 'file_is_nok' => '请检查 <em>%s</em> 目录权限。HTTP 服务器必须拥有写入权限。',
- 'finished' => '更新完成!',
- 'none' => '没有可用更新',
- 'server_not_found' => '找不到更新服务器。 [%s]',
- ),
- 'user' => array(
- 'created' => array(
- '_' => '已创建用户 %s',
- 'error' => '创建用户 %s 失败',
- ),
- 'deleted' => array(
- '_' => '已删除用户 %s',
- 'error' => '删除用户 %s 失败',
- ),
- 'updated' => array(
- '_' => '已更新用户 %s',
- 'error' => '更新用户 %s 失败',
- ),
- ),
-);
diff --git a/app/i18n/zh-cn/gen.php b/app/i18n/zh-cn/gen.php
deleted file mode 100644
index 71fdc1416..000000000
--- a/app/i18n/zh-cn/gen.php
+++ /dev/null
@@ -1,277 +0,0 @@
-<?php
-
-/******************************************************************************
- * Each entry of that file can be associated with a comment to indicate its *
- * state. When there is no comment, it means the entry is fully translated. *
- * The recognized comments are (comment matching is case-insensitive): *
- * + TODO: the entry has never been translated. *
- * + DIRTY: the entry has been translated but needs to be updated. *
- * + IGNORE: the entry does not need to be translated. *
- * When a comment is not recognized, it is discarded. *
- ******************************************************************************/
-
-return array(
- 'action' => array(
- 'actualize' => '更新订阅源',
- 'add' => '添加',
- 'back_to_rss_feeds' => '← 返回订阅源',
- 'cancel' => '取消',
- 'close' => 'Close', // TODO
- 'create' => '创建',
- 'delete_all_feeds' => 'Delete all feeds', // TODO
- 'delete_errored_feeds' => 'Delete feeds with errors', // TODO
- 'delete_muted_feeds' => '删除已暂停的订阅源',
- 'demote' => '撤销管理员',
- 'disable' => '禁用',
- 'download' => 'Download', // TODO
- 'empty' => '清空',
- 'enable' => '启用',
- 'export' => '导出',
- 'filter' => '过滤',
- 'import' => '导入',
- 'load_default_shortcuts' => '加载默认快捷键',
- 'manage' => '管理',
- 'mark_read' => '标记已读',
- 'menu' => array(
- 'open' => 'Open menu', // TODO
- ),
- 'nav_buttons' => array(
- 'next' => 'Next article', // TODO
- 'prev' => 'Previous article', // TODO
- 'up' => 'Go up', // TODO
- ),
- 'open_url' => '打开链接',
- 'promote' => '设为管理员',
- 'purge' => '清理',
- 'refresh_opml' => '刷新订阅源动态列表',
- 'remove' => '删除',
- 'rename' => '重命名',
- 'see_website' => '网站中查看',
- 'submit' => '提交',
- 'truncate' => '删除所有文章',
- 'update' => '更新',
- ),
- 'auth' => array(
- 'accept_tos' => '我接受 <a href="%s">服务条款</a>',
- 'email' => 'Email 地址',
- 'keep_logged_in' => '<small>%s</small> 天内保持登录',
- 'login' => '登录',
- 'logout' => '登出',
- 'password' => array(
- '_' => '密码',
- 'format' => '<small>至少 7 个字符</small>',
- ),
- 'reauth' => array(
- 'header' => 'Reauthentication is required', // TODO
- 'tip' => 'You won’t be asked to sign in again for <u>%d minutes</u>', // TODO
- 'title' => 'Reauthentication', // TODO
- ),
- 'registration' => array(
- '_' => '新用户',
- 'ask' => '创建新用户?',
- 'title' => '用户创建',
- ),
- 'username' => array(
- '_' => '用户名',
- 'format' => '<small>最多 16 个数字或字母</small>',
- ),
- ),
- 'date' => array(
- 'Apr' => '\\四\\月',
- 'Aug' => '\\八\\月',
- 'Dec' => '\\十\\二\\月',
- 'Feb' => '\\二\\月',
- 'Jan' => '\\一\\月',
- 'Jul' => '\\七\\月',
- 'Jun' => '\\六\\月',
- 'Mar' => '\\三\\月',
- 'May' => '\\五\\月',
- 'Nov' => '\\十\\一\\月',
- 'Oct' => '\\十\\月',
- 'Sep' => '\\九\\月',
- 'apr' => '四月',
- 'april' => '四月',
- 'aug' => '八月',
- 'august' => '八月',
- 'before_yesterday' => '昨天以前',
- 'dec' => '十二月',
- 'december' => '十二月',
- 'feb' => '二月',
- 'february' => '二月',
- 'format_date' => 'Y\\年n\\月j\\日',
- 'format_date_hour' => 'Y\\年n\\月j\\日 H\\:i',
- 'fri' => '周五',
- 'jan' => '一月',
- 'january' => '一月',
- 'jul' => '七月',
- 'july' => '七月',
- 'jun' => '六月',
- 'june' => '六月',
- 'last_2_year' => '过去两年',
- 'last_3_month' => '最近三个月',
- 'last_3_year' => '过去三年',
- 'last_5_year' => '过去五年',
- 'last_6_month' => '最近六个月',
- 'last_month' => '上月',
- 'last_week' => '上周',
- 'last_year' => '去年',
- 'mar' => '三月',
- 'march' => '三月',
- 'may' => '五月',
- 'may_' => '五月',
- 'mon' => '周一',
- 'month' => '个月',
- 'nov' => '十一月',
- 'november' => '十一月',
- 'oct' => '十月',
- 'october' => '十月',
- 'sat' => '周六',
- 'sep' => '九月',
- 'september' => '九月',
- 'sun' => '周日',
- 'thu' => '周四',
- 'today' => '今天',
- 'tue' => '周二',
- 'wed' => '周三',
- 'yesterday' => '昨天',
- ),
- 'dir' => 'ltr', // IGNORE
- 'freshrss' => array(
- '_' => 'FreshRSS', // IGNORE
- 'about' => '关于 FreshRSS',
- ),
- 'js' => array(
- 'category_empty' => '清空分类',
- 'confirm_action' => '你确定要执行此操作吗?这将不可撤销!',
- 'confirm_action_feed_cat' => '你确定要执行此操作吗?你将丢失相关的收藏和自定义查询,这将不可撤销!',
- 'confirm_exit_slider' => 'Are you sure you want to discard unsaved settings?', // TODO
- 'feedback' => array(
- 'body_new_articles' => 'FreshRSS 中有 %%d 篇文章等待阅读。',
- 'body_unread_articles' => '(未读: %%d)',
- 'request_failed' => '请求失败,这可能是因为网络连接问题。',
- 'title_new_articles' => 'FreshRSS: 新文章!',
- ),
- 'labels_empty' => '无标签',
- 'new_article' => '发现新文章,点击刷新页面。',
- 'should_be_activated' => '必须启用 JavaScript',
- 'unsafe_csp_header' => 'The CSP header in use is unsafe and FreshRSS may be vulnerable to XSS attacks. <a target="_blank" href="https://freshrss.github.io/FreshRSS/en/admins/10_ServerConfig.html#security">See documentation</a>', // TODO
- ),
- 'lang' => array(
- 'cs' => 'Čeština', // IGNORE
- 'de' => 'Deutsch', // IGNORE
- 'el' => 'Ελληνικά', // IGNORE
- 'en' => 'English', // IGNORE
- 'en-us' => 'English (United States)', // IGNORE
- 'es' => 'Español', // IGNORE
- 'fa' => 'فارسی', // IGNORE
- 'fi' => 'Suomi', // IGNORE
- 'fr' => 'Français', // IGNORE
- 'he' => 'עברית', // IGNORE
- 'hu' => 'Magyar', // IGNORE
- 'id' => 'Bahasa Indonesia', // IGNORE
- 'it' => 'Italiano', // IGNORE
- 'ja' => '日本語', // IGNORE
- 'ko' => '한국어', // IGNORE
- 'lv' => 'Latviešu', // IGNORE
- 'nl' => 'Nederlands', // IGNORE
- 'oc' => 'Occitan', // IGNORE
- 'pl' => 'Polski', // IGNORE
- 'pt-br' => 'Português (Brasil)', // IGNORE
- 'pt-pt' => 'Português (Portugal)', // IGNORE
- 'ru' => 'Русский', // IGNORE
- 'sk' => 'Slovenčina', // IGNORE
- 'tr' => 'Türkçe', // IGNORE
- 'uk' => 'Українська', // IGNORE
- 'zh-cn' => '简体中文', // IGNORE
- 'zh-tw' => '正體中文', // IGNORE
- ),
- 'menu' => array(
- 'about' => '关于',
- 'account' => '账户',
- 'admin' => '管理',
- 'archiving' => '归档',
- 'authentication' => '认证',
- 'check_install' => '环境检查',
- 'configuration' => '配置',
- 'display' => '显示',
- 'extensions' => '扩展',
- 'logs' => '日志',
- 'privacy' => 'Privacy', // TODO
- 'queries' => '自定义查询',
- 'reading' => '阅读',
- 'search' => '搜索内容或#文章标签',
- 'search_help' => '查阅文档获取支持的 <a href="https://freshrss.github.io/FreshRSS/en/users/10_filter.html#with-the-search-field" target="_blank">搜索参数</a>',
- 'sharing' => '分享',
- 'shortcuts' => '快捷键',
- 'stats' => '统计',
- 'system' => '系统配置',
- 'update' => '更新',
- 'user_management' => '用户管理',
- 'user_profile' => '帐户',
- ),
- 'period' => array(
- 'days' => '天',
- 'hours' => '时',
- 'months' => '月',
- 'weeks' => '周',
- 'years' => '年',
- ),
- 'readme' => array(
- 'contribute' => 'contribute', // IGNORE
- 'language' => 'Language', // IGNORE
- 'translated' => 'Progress', // IGNORE
- ),
- 'share' => array(
- 'Known' => '基于 Known 的站点',
- 'archiveIS' => 'archive.is', // IGNORE
- 'archiveORG' => 'archive.org', // IGNORE
- 'archivePH' => 'archive.ph', // IGNORE
- 'bluesky' => 'Bluesky', // IGNORE
- 'buffer' => 'Buffer', // IGNORE
- 'clipboard' => '剪贴板',
- 'diaspora' => 'Diaspora*', // IGNORE
- 'email' => 'Email', // IGNORE
- 'email-webmail-firefox-fix' => 'Email (webmail - 兼容 Firefox)',
- 'facebook' => 'Facebook', // IGNORE
- 'gnusocial' => 'GNU social', // IGNORE
- 'jdh' => 'Journal du hacker', // IGNORE
- 'lemmy' => 'Lemmy', // IGNORE
- 'linkding' => 'Linkding', // IGNORE
- 'linkedin' => 'LinkedIn', // IGNORE
- 'mastodon' => 'Mastodon', // IGNORE
- 'movim' => 'Movim', // IGNORE
- 'omnivore' => 'Omnivore', // IGNORE
- 'pinboard' => 'Pinboard', // IGNORE
- 'pinterest' => 'Pinterest', // IGNORE
- 'pocket' => 'Pocket', // IGNORE
- 'print' => '打印',
- 'raindrop' => 'Raindrop.io', // IGNORE
- 'reddit' => 'Reddit', // IGNORE
- 'shaarli' => 'Shaarli', // IGNORE
- 'telegram' => 'Telegram', // IGNORE
- 'twitter' => 'Twitter', // IGNORE
- 'wallabag' => 'Wallabag v1', // IGNORE
- 'wallabagv2' => 'Wallabag v2', // IGNORE
- 'web-sharing-api' => '系统分享',
- 'whatsapp' => 'Whatsapp', // IGNORE
- 'xing' => 'Xing', // IGNORE
- ),
- 'short' => array(
- 'attention' => '警告!',
- 'blank_to_disable' => '留空以禁用',
- 'by_author' => '作者',
- 'by_default' => '默认',
- 'damn' => '错误!',
- 'default_category' => '未分类',
- 'no' => '否',
- 'not_applicable' => '不可用',
- 'ok' => '正常!',
- 'or' => '或',
- 'yes' => '是',
- ),
- 'stream' => array(
- 'load_more' => '载入更多文章',
- 'mark_all_read' => '全部设为已读',
- 'nothing_to_load' => '没有更多文章',
- ),
-);
diff --git a/app/i18n/zh-cn/index.php b/app/i18n/zh-cn/index.php
deleted file mode 100644
index 33c9998b0..000000000
--- a/app/i18n/zh-cn/index.php
+++ /dev/null
@@ -1,110 +0,0 @@
-<?php
-
-/******************************************************************************
- * Each entry of that file can be associated with a comment to indicate its *
- * state. When there is no comment, it means the entry is fully translated. *
- * The recognized comments are (comment matching is case-insensitive): *
- * + TODO: the entry has never been translated. *
- * + DIRTY: the entry has been translated but needs to be updated. *
- * + IGNORE: the entry does not need to be translated. *
- * When a comment is not recognized, it is discarded. *
- ******************************************************************************/
-
-return array(
- 'about' => array(
- '_' => '关于',
- 'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>', // IGNORE
- 'bug_reports' => array(
- 'environment_information' => array(
- '_' => 'System information', // TODO
- 'browser' => 'Browser', // TODO
- 'database' => 'Database', // TODO
- 'server_software' => 'Server software', // TODO
- 'version_curl' => 'cURL version', // TODO
- 'version_frss' => 'FreshRSS version', // TODO
- 'version_php' => 'PHP version', // TODO
- ),
- ),
- 'bugs_reports' => '报告错误',
- 'documentation' => '文档',
- 'freshrss_description' => 'FreshRSS 是一个自托管的 RSS 聚合服务。 它不仅轻快易用,并且强大又易于配置。',
- 'github' => '<a href="https://github.com/FreshRSS/FreshRSS/issues">GitHub Issues</a>',
- 'license' => '授权',
- 'project_website' => '项目网站',
- 'title' => '关于',
- 'version' => '版本',
- ),
- 'feed' => array(
- 'empty' => '没有文章可以显示。',
- 'received' => array(
- 'before_yesterday' => 'Received before yesterday', // TODO
- 'today' => 'Received today', // TODO
- 'yesterday' => 'Received yesterday', // TODO
- ),
- 'rss_of' => '%s 的订阅源',
- 'title' => '首页',
- 'title_fav' => '收藏',
- 'title_global' => '全局视图',
- ),
- 'log' => array(
- '_' => '日志',
- 'clear' => '清除日志',
- 'empty' => '日志文件为空',
- 'title' => '日志',
- ),
- 'menu' => array(
- 'about' => '关于 FreshRSS',
- 'before_one_day' => '一天前',
- 'before_one_week' => '一周前',
- 'bookmark_query' => '收藏当前查询',
- 'favorites' => '收藏(%s)',
- 'global_view' => '全局视图',
- 'important' => '重要的订阅',
- 'main_stream' => '首页',
- 'mark_all_read' => '全部设为已读',
- 'mark_cat_read' => '此分类设为已读',
- 'mark_feed_read' => '此订阅源设为已读',
- 'mark_selection_unread' => '将筛选结果标记为未读',
- 'mylabels' => '我的标签',
- 'newer_first' => '由新至旧',
- 'non-starred' => '显示未收藏',
- 'normal_view' => '普通视图',
- 'older_first' => '由旧至新',
- 'queries' => '自定义查询',
- 'read' => '显示已读',
- 'reader_view' => '阅读视图',
- 'rss_view' => '订阅源',
- 'search_short' => '搜索',
- 'sort' => array(
- '_' => 'Sorting criteria', // TODO
- 'c' => array(
- 'name_asc' => 'Category, feed titles A→Z', // TODO
- 'name_desc' => 'Category, feed titles Z→A', // TODO
- ),
- 'date_asc' => 'Publication date 1→9', // TODO
- 'date_desc' => 'Publication date 9→1', // TODO
- 'f' => array(
- 'name_asc' => 'Feed title A→Z', // TODO
- 'name_desc' => 'Feed title Z→A', // TODO
- ),
- 'id_asc' => 'Freshly received last', // TODO
- 'id_desc' => 'Freshly received first', // TODO
- 'link_asc' => 'Link A→Z', // TODO
- 'link_desc' => 'Link Z→A', // TODO
- 'rand' => 'Random order', // TODO
- 'title_asc' => 'Title A→Z', // TODO
- 'title_desc' => 'Title Z→A', // TODO
- ),
- 'starred' => '显示收藏',
- 'stats' => '统计',
- 'subscription' => '订阅管理',
- 'unread' => '显示未读',
- ),
- 'share' => '分享',
- 'tag' => array(
- 'related' => '文章标签',
- ),
- 'tos' => array(
- 'title' => '服务条款',
- ),
-);
diff --git a/app/i18n/zh-cn/install.php b/app/i18n/zh-cn/install.php
deleted file mode 100644
index f4c9480e9..000000000
--- a/app/i18n/zh-cn/install.php
+++ /dev/null
@@ -1,128 +0,0 @@
-<?php
-
-/******************************************************************************
- * Each entry of that file can be associated with a comment to indicate its *
- * state. When there is no comment, it means the entry is fully translated. *
- * The recognized comments are (comment matching is case-insensitive): *
- * + TODO: the entry has never been translated. *
- * + DIRTY: the entry has been translated but needs to be updated. *
- * + IGNORE: the entry does not need to be translated. *
- * When a comment is not recognized, it is discarded. *
- ******************************************************************************/
-
-return array(
- 'action' => array(
- 'finish' => '完成安装',
- 'fix_errors_before' => '请在继续下一步前修复错误',
- 'keep_install' => '保留当前配置',
- 'next_step' => '下一步',
- 'reinstall' => '重新安装 FreshRSS',
- ),
- 'bdd' => array(
- '_' => '数据库',
- 'conf' => array(
- '_' => '数据库配置',
- 'ko' => '验证你的数据库信息',
- 'ok' => '数据库配置已保存',
- ),
- 'host' => '主机',
- 'password' => '数据库密码',
- 'prefix' => '表前缀',
- 'type' => '数据库类型',
- 'username' => '数据库用户名',
- ),
- 'check' => array(
- '_' => '检查',
- 'already_installed' => '我们检测到 FreshRSS 已经安装!',
- 'cache' => array(
- 'nok' => '请检查 <em>%s</em> 目录权限,HTTP 服务器必须拥有写入权限。',
- 'ok' => 'cache 目录权限正常',
- ),
- 'ctype' => array(
- 'nok' => '找不到字符类型检测库(php-ctype)',
- 'ok' => '已找到字符类型检测库(ctype)',
- ),
- 'curl' => array(
- 'nok' => '找不到 cURL 库(php-curl 包)',
- 'ok' => '已找到 cURL 库',
- ),
- 'data' => array(
- 'nok' => '请检查 <em>%s</em> 目录权限,HTTP 服务器必须拥有写入权限。',
- 'ok' => 'data 目录权限正常',
- ),
- 'dom' => array(
- 'nok' => '找不到用于浏览 DOM 的库(php-xml 包)',
- 'ok' => '已找到用于浏览 DOM 的库',
- ),
- 'favicons' => array(
- 'nok' => '请检查 <em>./data/favicons</em> 目录权限,HTTP 服务器必须拥有写入权限。',
- 'ok' => 'favicons 目录权限正常',
- ),
- 'fileinfo' => array(
- 'nok' => '找不到 PHP fileinfo 库(fileinfo 包)',
- 'ok' => '已找到 fileinfo 库',
- ),
- 'json' => array(
- 'nok' => '找不到 JSON 扩展(php-json 包)',
- 'ok' => '已找到 JSON 扩展',
- ),
- 'mbstring' => array(
- 'nok' => '找不到推荐用于 Unicode 的 mbstring 库',
- 'ok' => '已找到推荐用于 Unicode 的 mbstring 库',
- ),
- 'pcre' => array(
- 'nok' => '找不到正则表达式解析库(php-pcre)',
- 'ok' => '已找到正则表达式解析库(PCRE)',
- ),
- 'pdo' => array(
- 'nok' => '找不到 PDO 或其中一种支持的驱动(pdo_mysql、pdo_sqlite、pdo_pgsql)',
- 'ok' => '已找到 PDO 和至少一种支持的驱动(pdo_mysql、pdo_sqlite、pdo_pgsql)',
- ),
- 'php' => array(
- 'nok' => '你的 PHP 版本为 %s,但 FreshRSS 最低需要 %s',
- 'ok' => '你的 PHP 版本为 %s,与 FreshRSS 兼容',
- ),
- 'reload' => '再检查一遍',
- 'tmp' => array(
- 'nok' => '请检查 <em>%s</em> 目录权限,HTTP 服务器必须拥有写入权限。',
- 'ok' => '缓存目录权限正常。',
- ),
- 'unknown_process_username' => '未知',
- 'users' => array(
- 'nok' => '请检查 <em>%s</em> 目录权限,HTTP 服务器必须拥有写入权限。',
- 'ok' => 'users 目录权限正常',
- ),
- 'xml' => array(
- 'nok' => '找不到用于 XML 解析库',
- 'ok' => '已找到 XML 解析库',
- ),
- ),
- 'conf' => array(
- '_' => '常规配置',
- 'ok' => '常规配置已保存',
- ),
- 'congratulations' => '恭喜!',
- 'default_user' => array(
- '_' => '默认用户名',
- 'max_char' => '最多 16 个数字或字母',
- ),
- 'fix_errors_before' => '请在继续下一步前修复错误',
- 'javascript_is_better' => '启用 JavaScript 会使 FreshRSS 工作得更好',
- 'js' => array(
- 'confirm_reinstall' => '重新安装 FreshRSS 将会重置之前的配置,你确定要继续吗?',
- ),
- 'language' => array(
- '_' => '语言',
- 'choose' => '为 FreshRSS 选择语言',
- 'defined' => '语言已指定',
- ),
- 'missing_applied_migrations' => '出现错误,你需要手动创建一个空文件 <em>%s</em>。',
- 'ok' => '安装成功',
- 'session' => array(
- 'nok' => 'Web 服务器似乎未正确配置 PHP 会话所需的 cookie!',
- ),
- 'step' => '步骤 %d',
- 'steps' => '步骤',
- 'this_is_the_end' => '最后一步',
- 'title' => '安装 FreshRSS',
-);
diff --git a/app/i18n/zh-cn/sub.php b/app/i18n/zh-cn/sub.php
deleted file mode 100644
index 4769893d5..000000000
--- a/app/i18n/zh-cn/sub.php
+++ /dev/null
@@ -1,307 +0,0 @@
-<?php
-
-/******************************************************************************
- * Each entry of that file can be associated with a comment to indicate its *
- * state. When there is no comment, it means the entry is fully translated. *
- * The recognized comments are (comment matching is case-insensitive): *
- * + TODO: the entry has never been translated. *
- * + DIRTY: the entry has been translated but needs to be updated. *
- * + IGNORE: the entry does not need to be translated. *
- * When a comment is not recognized, it is discarded. *
- ******************************************************************************/
-
-return array(
- 'api' => array(
- 'documentation' => '复制以下地址,以供外部工具使用',
- 'title' => 'API', // IGNORE
- ),
- 'bookmarklet' => array(
- 'documentation' => '拖动此书签到你的书签栏或者右键选择「收藏此链接」,然后在你想要订阅的页面上点击「订阅」按钮。',
- 'label' => '订阅',
- 'title' => '书签',
- ),
- 'category' => array(
- '_' => '分类',
- 'add' => '添加分类',
- 'archiving' => '归档',
- 'dynamic_opml' => array(
- '_' => '动态订阅',
- 'help' => '使用 URL 上的 <a href="http://opml.org/" target="_blank">OPML 文件</a> 中的订阅源填充这一分类',
- ),
- 'empty' => '空分类',
- 'expand' => 'Expand category', // TODO
- 'information' => '信息',
- 'open' => 'Open category', // TODO
- 'opml_url' => 'OPML URL', // IGNORE
- 'position' => '显示位置',
- 'position_help' => '控制分类排列顺序',
- 'title' => '标题',
- ),
- 'feed' => array(
- 'accept_cookies' => '接受 Cookies',
- 'accept_cookies_help' => '允许订阅源服务器设置 Cookies(仅在请求期间存储在内存中)',
- 'add' => '添加订阅源',
- 'advanced' => '高级',
- 'archiving' => '归档',
- 'auth' => array(
- 'configuration' => '认证',
- 'help' => '用于连接启用 HTTP 认证的订阅源',
- 'http' => 'HTTP 认证',
- 'password' => 'HTTP 密码',
- 'username' => 'HTTP 用户名',
- ),
- 'change_favicon' => 'Change…', // TODO
- 'clear_cache' => '总是清除缓存',
- 'content_action' => array(
- '_' => '获取原文后的操作',
- 'append' => '添加在现有内容后部',
- 'prepend' => '添加在现有内容前部',
- 'replace' => '替换现有内容',
- ),
- 'content_retrieval' => 'Content retrieval', // TODO
- 'css_cookie' => '获取原文时的 Cookies',
- 'css_cookie_help' => '例:<kbd>foo=bar; gdpr_consent=true; cookie=value</kbd>',
- 'css_help' => '用于获取全文(注意,这将耗费更多时间!)',
- 'css_path' => '原文的 CSS 选择器',
- 'css_path_filter' => array(
- '_' => '需移除元素的 CSS 选择器',
- 'help' => '可设置多个 CSS 选择器,例如:<kbd>footer, aside, p[data-sanitized-class~="menu"]</kbd>',
- ),
- 'description' => '描述',
- 'empty' => '此源为空。请确认它是否正常更新。',
- 'error' => '此源遇到一些问题。请在确认是否能正常访问后重试。', // DIRTY
- 'export-as-opml' => array(
- 'download' => '下载',
- 'help' => 'XML 文件 (data subset. <a href="https://freshrss.github.io/FreshRSS/en/developers/OPML.html" target="_blank">See documentation</a>)', // DIRTY
- 'label' => '导出为 OPML',
- ),
- 'ext_favicon' => 'Set automatically', // TODO
- 'favicon_changed_by_ext' => 'The icon has been set by the <b>%s</b> extension.', // TODO
- 'filteractions' => array(
- '_' => '过滤动作',
- 'help' => '每行写一条过滤规则,过滤规则可见 <a href="https://freshrss.github.io/FreshRSS/en/users/10_filter.html#with-the-search-field" target="_blank">文档</a>。',
- ),
- 'http_headers' => 'HTTP Headers', // TODO
- 'http_headers_help' => 'Headers are separated by a newline, and the name and value of a header are separated by a colon (e.g: <kbd><code>Accept: application/atom+xml<br />Authorization: Bearer some-token</code></kbd>).', // TODO
- 'icon' => 'Icon', // TODO
- 'information' => '信息',
- 'keep_min' => '至少保存的文章数',
- 'kind' => array(
- '_' => '订阅源类型',
- 'html_json' => array(
- '_' => 'HTML + XPath + JSON dot notation (JSON in HTML)', // TODO
- 'xpath' => array(
- '_' => 'XPath for JSON in HTML', // TODO
- 'help' => 'Example: <code>normalize-space(//script[@type="application/json"])</code> (single JSON)<br />or: <code>//script[@type="application/ld+json"]</code> (one JSON object per article)', // TODO
- ),
- ),
- 'html_xpath' => array(
- '_' => 'HTML + XPath (Web 抓取)',
- 'feed_title' => array(
- '_' => '订阅源标题',
- 'help' => '如 <code>//title</code> 或是静态字符串如: <code>"My custom feed"</code>',
- ),
- 'help' => '<dfn><a href="https://www.w3.org/TR/xpath-10/" target="_blank">XPath 1.0</a></dfn> 是为资深用户准备的标准查询语言,FreshRSS 用以实现 Web 抓取.',
- 'item' => array(
- '_' => '以寻找 <strong>文章</strong><br /><small>(很重要)</small>',
- 'help' => '例如 <code>//div[@class="news-item"]</code>',
- ),
- 'item_author' => array(
- '_' => '文章作者',
- 'help' => '可以是静态字符串,例如 <code>"Anonymous"</code>',
- ),
- 'item_categories' => '文章标签',
- 'item_content' => array(
- '_' => '文章内容',
- 'help' => '例如使用 <code>.</code> 将整个对象作为文章内容',
- ),
- 'item_thumbnail' => array(
- '_' => '文章缩略图',
- 'help' => '例如 <code>descendant::img/@src</code>',
- ),
- 'item_timeFormat' => array(
- '_' => '自定义日期/时间格式',
- 'help' => '可选项, 格式参见 <a href="https://php.net/datetime.createfromformat" target="_blank"><code>DateTime::createFromFormat()</code></a> 例如 <code>d-m-Y H:i:s</code>',
- ),
- 'item_timestamp' => array(
- '_' => '文章日期:',
- 'help' => '结果将被 <a href="https://php.net/strtotime" target="_blank"><code>strtotime()</code></a> 解析',
- ),
- 'item_title' => array(
- '_' => '文章标题',
- 'help' => '注意使用 <a href="https://developer.mozilla.org/docs/Web/XPath/Axes" target="_blank">XPath 轴</a> <code>descendant::</code>,例如 <code>descendant::h2</code>',
- ),
- 'item_uid' => array(
- '_' => '文章唯一 ID',
- 'help' => '可选,例如: <code>descendant::div/@data-uri</code>',
- ),
- 'item_uri' => array(
- '_' => '文章链接 (URL)',
- 'help' => '例如 <code>descendant::a/@href</code>',
- ),
- 'relative' => 'XPath(文章):',
- 'xpath' => 'XPath 定位:',
- ),
- 'json_dotnotation' => array(
- '_' => 'JSON (点表达式)',
- 'feed_title' => array(
- '_' => '订阅源标题',
- 'help' => '例如: <code>meta.title</code> 或一个静态的字符串: <code>"My custom feed"</code>',
- ),
- 'help' => 'JSON 点表达式(JSON 路径)在对象之间使用点,在数组中使用中括号 (例如 <code>data.items[0].title</code>)',
- 'item' => array(
- '_' => '寻找新的 <strong>文章</strong><br /><small>(最重要的参数)</small>',
- 'help' => '包含文章数组的 JSON 路径, 例如 <code>$</code> or <code>newsItems</code>', // DIRTY
- ),
- 'item_author' => '文章作者',
- 'item_categories' => '文章标签',
- 'item_content' => array(
- '_' => '文章内容',
- 'help' => '用于找到文章内容的键, 例如 <code>content</code>',
- ),
- 'item_thumbnail' => array(
- '_' => '文章缩略图',
- 'help' => '例如: <code>image</code>',
- ),
- 'item_timeFormat' => array(
- '_' => '自定义时间格式',
- 'help' => '可选项. 被 <a href="https://php.net/datetime.createfromformat" target="_blank"><code>DateTime::createFromFormat()</code></a> 支持的日期格式。例如 <code>d-m-Y H:i:s</code>',
- ),
- 'item_timestamp' => array(
- '_' => '文章时间',
- 'help' => '结果会被 <a href="https://php.net/strtotime" target="_blank"><code>strtotime()</code></a> 解析',
- ),
- 'item_title' => '文章标题',
- 'item_uid' => '文章唯一ID',
- 'item_uri' => array(
- '_' => '文章链接 (URL)',
- 'help' => '例如: <code>permalink</code>',
- ),
- 'json' => 'JSON 路径:',
- 'relative' => 'JSON 路径(相对于文章):',
- ),
- 'jsonfeed' => 'JSON 订阅源',
- 'rss' => 'RSS / Atom (默认)',
- 'xml_xpath' => 'XML + XPath', // IGNORE
- ),
- 'maintenance' => array(
- 'clear_cache' => '清理缓存',
- 'clear_cache_help' => '清除该feed的缓存',
- 'reload_articles' => '重载文章',
- 'reload_articles_help' => '重载 n 篇文章并抓取内容(若设置了 CSS 选择器)',
- 'title' => '维护',
- ),
- 'max_http_redir' => '最大 HTTP 重定向',
- 'max_http_redir_help' => '设置为 0 或留空以禁用,-1 表示无限重定向',
- 'method' => array(
- '_' => 'HTTP 方式',
- ),
- 'method_help' => '如果荷载非空且是合法的 JSON,HTTP 请求标头将被自动设为 <code>application/json</code>,否则使用 <code>application/x-www-form-urlencoded</code>',
- 'method_postparams' => 'POST 荷载',
- 'moved_category_deleted' => '删除分类时,其中的订阅源会自动归类到 <em>%s</em>',
- 'mute' => array(
- '_' => '暂停',
- 'state_is_muted' => 'This feed is muted', // TODO
- ),
- 'no_selected' => '未选择订阅源',
- 'number_entries' => '%d 篇文章',
- 'open_feed' => 'Open feed %s', // TODO
- 'path_entries_conditions' => 'Conditions for content retrieval', // TODO
- 'priority' => array(
- '_' => '可见性',
- 'category' => '在分类中显示',
- 'feed' => 'Show in its feed', // TODO
- 'hidden' => '不显示',
- 'important' => '在“重要的订阅”中显示',
- 'main_stream' => '在首页中显示',
- ),
- 'proxy' => '获取订阅源时的代理',
- 'proxy_help' => '选择协议(例:SOCKS5)和代理地址(例:<kbd>127.0.0.1:1080</kbd> 或者 <kbd>username:password@127.0.0.1:1080</kbd>)',
- 'reset_favicon' => 'Reset to default', // TODO
- 'selector_preview' => array(
- 'show_raw' => '显示源码',
- 'show_rendered' => '显示内容',
- ),
- 'show' => array(
- 'all' => '显示所有订阅源',
- 'error' => '仅显示有错误的订阅源',
- ),
- 'showing' => array(
- 'error' => '正在显示有错误的订阅源',
- ),
- 'ssl_verify' => '验证 SSL 证书安全',
- 'stats' => '统计',
- 'think_to_add' => '你可以添加一些订阅源。',
- 'timeout' => '超时时间(秒)',
- 'title' => '标题',
- 'title_add' => '添加订阅源',
- 'ttl' => '最小自动更新间隔',
- 'unicityCriteria' => array(
- '_' => 'Article unicity criteria', // TODO
- 'forced' => '<span title="Block the unicity criteria, even when the feed has duplicate articles">forced</span>', // TODO
- 'help' => 'Relevant for invalid feeds.<br />⚠️ Changing the policy will create duplicates.', // TODO
- 'id' => 'Standard ID (default)', // TODO
- 'link' => 'Link', // TODO
- 'sha1:content' => 'Content', // TODO
- 'sha1:content_published' => 'Content + Date', // TODO
- 'sha1:link_published' => 'Link + Date', // TODO
- 'sha1:link_published_title' => 'Link + Date + Title', // TODO
- 'sha1:link_published_title_content' => 'Link + Date + Title + Content', // TODO
- 'sha1:published' => 'Date', // TODO
- 'sha1:title' => 'Title', // TODO
- 'sha1:title_published' => 'Title + Date', // TODO
- 'sha1:title_published_content' => 'Title + Date + Content', // TODO
- ),
- 'url' => '源地址',
- 'useragent' => '设置用于获取此源的 User Agent',
- 'useragent_help' => '例:<kbd>Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0)</kbd>',
- 'validator' => '检查订阅源有效性',
- 'website' => '网站地址',
- 'websub' => 'WebSub 即时通知',
- ),
- 'import_export' => array(
- 'export' => array(
- '_' => '导出',
- 'sqlite' => 'Download user database as SQLite', // TODO
- ),
- 'export_labelled' => '导出有标签的文章',
- 'export_opml' => '导出订阅源列表(OPML)',
- 'export_starred' => '导出你的收藏',
- 'feed_list' => '%s 文章列表',
- 'file_to_import' => '需要导入的文件 <br />(OPML、JSON 或 ZIP)',
- 'file_to_import_no_zip' => '需要导入的文件 <br />(OPML 或 JSON)',
- 'import' => '导入',
- 'starred_list' => '收藏文章列表',
- 'title' => '导入/导出',
- ),
- 'menu' => array(
- 'add' => '添加订阅源或分类',
- 'import_export' => '导入/导出',
- 'label_management' => '标签管理',
- 'stats' => array(
- 'idle' => '长期无更新订阅源',
- 'main' => '主要统计',
- 'repartition' => '文章分布',
- ),
- 'subscription_management' => '订阅管理',
- 'subscription_tools' => '订阅工具',
- ),
- 'tag' => array(
- 'auto_label' => '给新文章打标签',
- 'name' => '名称',
- 'new_name' => '新名称',
- 'old_name' => '旧名称',
- ),
- 'title' => array(
- '_' => '订阅管理',
- 'add' => '添加订阅源或分类',
- 'add_category' => '添加分类',
- 'add_dynamic_opml' => '添加订阅源动态列表',
- 'add_feed' => '添加订阅源',
- 'add_label' => '打标签',
- 'add_opml_category' => 'OPML category name', // TODO
- 'delete_label' => '删除标签',
- 'feed_management' => '订阅源管理',
- 'subscription_tools' => '订阅工具',
- ),
-);
diff --git a/app/i18n/zh-cn/user.php b/app/i18n/zh-cn/user.php
deleted file mode 100644
index 1684623d9..000000000
--- a/app/i18n/zh-cn/user.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-/******************************************************************************
- * Each entry of that file can be associated with a comment to indicate its *
- * state. When there is no comment, it means the entry is fully translated. *
- * The recognized comments are (comment matching is case-insensitive): *
- * + TODO: the entry has never been translated. *
- * + DIRTY: the entry has been translated but needs to be updated. *
- * + IGNORE: the entry does not need to be translated. *
- * When a comment is not recognized, it is discarded. *
- ******************************************************************************/
-
-return array(
- 'email' => array(
- 'feedback' => array(
- 'invalid' => '邮箱地址无效',
- 'required' => '必须填写邮箱地址',
- ),
- 'validation' => array(
- 'change_email' => '你可以在 <a href="%s">用户管理</a> 中变更你的邮箱地址',
- 'email_sent_to' => '我们已通过 <strong>%s</strong> 发送验证邮件给你,请按其中指示来验证邮箱地址。',
- 'feedback' => array(
- 'email_failed' => '由于服务器配置错误,我们无法向你发送邮件。',
- 'email_sent' => '邮件已发送到你的邮箱中',
- 'error' => '邮箱地址无法通过验证',
- 'ok' => '邮箱地址已成功通过验证',
- 'unnecessary' => '该邮箱地址已被验证',
- 'wrong_token' => '由于令牌错误,邮箱地址无法通过验证。',
- ),
- 'need_to' => '你需要先验证邮箱地址才能使用 %s',
- 'resend_email' => '重发邮件',
- 'title' => '验证邮箱地址',
- ),
- ),
- 'mailer' => array(
- 'email_need_validation' => array(
- 'body' => '%s,欢迎',
- 'title' => '你需要验证你的帐户',
- 'welcome' => '你已注册 %s 现在只需点击下方链接通过邮箱验证即可完成注册:',
- ),
- ),
- 'password' => array(
- 'invalid' => '无效密码',
- ),
- 'tos' => array(
- 'feedback' => array(
- 'invalid' => '你必须接受服务条款才能注册',
- ),
- ),
- 'username' => array(
- 'invalid' => '无效用户名',
- 'taken' => '已存在此用户名',
- ),
-);