diff --git a/Account/Sources/Account/Resources/zh-Hans.lproj/Localizable.strings b/Account/Sources/Account/Resources/zh-Hans.lproj/Localizable.strings
new file mode 100644
index 000000000..017ffdbb1
--- /dev/null
+++ b/Account/Sources/Account/Resources/zh-Hans.lproj/Localizable.strings
@@ -0,0 +1,16 @@
+/*
+ Localizable.strings
+
+
+ Created by Jerry on 28/05/2023.
+
+*/
+
+"error.title.feed-not-found" = "无法添加订阅";
+"error.title.already-subscribed" = "已经订阅过了";
+"error.title.ompl-import-in-progress" = "OPML 导入中";
+"error.title.error" = "错误";
+
+"error.message.feed-not-found" = "未找到订阅源,无法添加订阅。";
+"error.message.already-subscribed" = "你已经添加此订阅,无法再次添加。";
+"error.message.opml-import-in-progress" = "该帐户的 OPML 导入正在进行中。";
diff --git a/Mac/Resources/zh-Hans.lproj/InfoPlist.strings b/Mac/Resources/zh-Hans.lproj/InfoPlist.strings
new file mode 100644
index 000000000..1a09d4bcb
--- /dev/null
+++ b/Mac/Resources/zh-Hans.lproj/InfoPlist.strings
@@ -0,0 +1,12 @@
+/* Bundle name */
+"CFBundleName" = "NetNewsWire";
+
+/* (No Comment) */
+"NetNewsWire Theme" = "NetNewsWire 主题";
+
+/* Privacy - AppleEvents Sending Usage Description */
+"NSAppleEventsUsageDescription" = "当您选择共享一篇文章时,NetNewsWire 会与 Mac 上的其他应用程序连接。";
+
+/* Copyright (human-readable) */
+"NSHumanReadableCopyright" = "Copyright © 2002-2022 Brent Simmons. All rights reserved.";
+
diff --git a/Mac/Resources/zh-Hans.lproj/Localizable.strings b/Mac/Resources/zh-Hans.lproj/Localizable.strings
new file mode 100644
index 000000000..6e7063b52
--- /dev/null
+++ b/Mac/Resources/zh-Hans.lproj/Localizable.strings
@@ -0,0 +1,704 @@
+/* No comment provided by engineer. */
+"%@ (%@)" = "%1$@ (%2$@)";
+
+/* On My iPad */
+"account.name.ipad" = "我的 iPad";
+
+/* On My iPhone */
+"account.name.iphone" = "我的 iPhone";
+
+/* On My Mac */
+"account.name.mac" = "我的 Mac";
+
+/* See articles in “%@” */
+"activity.title.see-article-in.folder.%@" = "查看“%@”中的文章。";
+
+/* See first unread article */
+"activity.title.see-first-unread-article" = "查看第一篇未读文章";
+
+/* Unable to add iCloud Account. Please make sure you have iCloud and iCloud Drive enabled in System Settings. */
+"alert.error.cloudkit-missing" = "无法添加 iCloud 帐户。请确保在系统设置中启用 iCloud 和 iCloud 云盘。";
+
+/* There is already an account of that type with that username created. */
+"alert.error.duplicate-account-username" = "已经存在该类型且使用该用户名创建的帐户。";
+
+/* Invalid API URL. */
+"alert.error.invalid-api-url" = "无效的 API URL。";
+
+/* Error message: The user provided an invalid username or password. */
+"alert.error.invalid-username-or-password" = "需要提供用户名或密码。";
+
+/* Error message: Unable to save due a Keychain error. */
+"alert.error.keychain-error" = "由于钥匙串错误,帐户凭证无法保存。";
+
+/* Network error. Please try later. */
+"alert.error.network-error" = "发生了网络错误,请稍后重试。";
+
+/* This theme cannot be used because of data corruption in the Info.plist: %@. */
+"alert.error.theme-data-corruption.%@" = "由于 Info.plist 中的数据损坏,无法使用此主题:%@。";
+
+/* Error message: This theme shares the same name as a provided theme and cannot be imported. */
+"alert.error.theme-duplicate-of-provided" = "该主题与提供的主题同名,无法导入。";
+
+/* This theme cannot be used because the the key—“%@”—is not found in the Info.plist. */
+"alert.error.theme-key-not-found.%@" = "无法使用此主题,因为在 Info.plist 中找不到键“%@”。";
+
+/* This theme cannot be used because the the type—“%@”—is mismatched in the Info.plist */
+"alert.error.theme-type-mismatch.%@" = "无法使用此主题,因为在 Info.plist 中类型“%@”不匹配。";
+
+/* This theme cannot be used because the the value—“%@”—is not found in the Info.plist. */
+"alert.error.theme-value-missing.%@" = "无法使用此主题,因为在 Info.plist 中找不到值“%@”。";
+
+/* The account type in invalid. */
+"alert.error.unrecognized-account" = "账户类型无法识别。";
+
+/* Error message: The user must provide a username and password. */
+"alert.error.username-and-password-required" = "需要提供用户名和密码。";
+
+/* The user must provide a username, password, and URL. */
+"alert.error.username-password-url-required" = "需要提供用户名、密码和 API URL。";
+
+/* Username required. */
+"alert.error.username-required" = "需要提供用户名。";
+
+/* You won't see this message again */
+"alert.informative.will-not-see-again" = "你将不会再看到这条消息。";
+
+/* Some articles don’t have links, so they weren't copied. */
+"alert.message.articles-without-links" = "一些文章因没有链接无法拷贝。";
+
+/* Cannot undo action
+ You can't undo this action. */
+"alert.message.cannot-undo-action" = "此操作无法撤销。";
+
+/* Are you sure you want to clear the image caches? This will restart NetNewsWire to begin reloading the remote images. */
+"alert.message.clear-image-cache-confirmation" = "你确定要清除图像缓存吗?NetNewsWire将重新打开并重新加载远程图像。";
+
+/* You've already set up an iCloud account. */
+"alert.message.cloudkit-already-setup" = "你已经配置了一个 iCloud 帐户。";
+
+/* Are you sure you want to delete the “%@” feed? */
+"alert.message.delete-feed.%@" = "确定要删除“%@”订阅吗?";
+
+/* Are you sure you want to delete the “%@” folder? */
+"alert.message.delete-folder.%@" = "你确定要删除“%@”文件夹吗?";
+
+/* Are you sure you want to delete the %d selected items? */
+"alert.message.delete-items.%d" = "你确定要删除所选的 %d 个项目吗?";
+
+/* Can’t add this feed because of a download error: “%@” */
+"alert.message.download-error.%@" = "由于下载错误,无法添加此订阅:“%@”。";
+
+/* The theme “%@” already exists. Overwrite it? */
+"alert.message.duplicate-theme.%@" = "主题“%@”已经存在。是否覆盖?";
+
+/* You can enable NetNewsWire notifications in System Settings. */
+"alert.message.enable-notifications-in-settings" = "你可以在系统设置中启用 NetNewsWire 通知";
+
+/* To enable notifications, open Notifications in System Settings, then find NetNewsWire in the list. */
+"alert.message.enable-notifications-in-system-settings" = "要启用通知,请打开系统设置中的“通知”选项,然后在列表中找到 NetNewsWire。";
+
+/* A web browser will open the Feedly login for you to authorize access. */
+"alert.message.feedly-web-browser-information" = "浏览器将会打开 Feedly 登录界面以授权访问。";
+
+/* The theme “%@” has been installed. */
+"alert.message.theme-installed.%@" = "已安装主题“%@”。";
+
+/* Twitter Deprecation Message */
+"alert.message.twitter-deprecation-message" = "2023年2月1日,Twitter 宣布从2023年2月9日起停止免费访问 Twitter API。\n\n由于 Twitter 不提供 RSS 订阅,我们必须使用Twitter API。由于 API 开始收费,我们无法读取 Twitter 的订阅。\n\n我们保留了你的 Twitter 订阅。如果你在这些订阅中有任何星标的文章,只要不删除订阅源,它们将留在那里。\n\n你仍然可以阅读已经下载的内容。但是这些订阅将不再更新。";
+
+/* Author's website: */
+"alert.title.authors-website" = "Author's website:";
+
+/* Deactivate “%@“? */
+"alert.title.deactivate-extension.%@" = "Deactivate “%@“?";
+
+/* Delete Feed */
+"alert.title.delete-feed" = "删除订阅";
+
+/* Delete Folder */
+"alert.title.delete-folder" = "删除文件夹";
+
+/* Delete Items */
+"alert.title.delete-items" = "删除项目";
+
+/* Delete “%@“ */
+"alert.title.delete.%@" = "删除“%@”";
+
+/* Download Error */
+"alert.title.download-error" = "下载错误";
+
+/* Enable Notifications */
+"alert.title.enable-notifications" = "启用通知";
+
+/* Error */
+"alert.title.error" = "错误";
+
+/* Install theme “%@” by %@? — the order of the variables is theme name, author name */
+"alert.title.install-theme.%@.%@" = "安装由 %2$@ 创作的“%@”主题?";
+
+/* Notifications are not enabled. */
+"alert.title.notifications-not-enabled" = "通知未启用。";
+
+/* Are you sure you want to open %ld articles in your browser? */
+"alert.title.open-articles-in-browser.%ld" = "你确认要在浏览器中打开 %ld 篇文章吗?";
+
+/* Theme error */
+"alert.title.theme-error" = "主题错误";
+
+/* Theme installed */
+"alert.title.theme-installed" = "主题已安装";
+
+/* Twitter Integration Removed */
+"alert.title.twitter-integration-removed" = "Twitter 集成已移除";
+
+/* Alert title when adding a Feedly account and waiting for authorization from the user. */
+"alert.title.waiting-for-feedly-access" = "等待 Feedly 访问...";
+
+/* Mark Above as Read */
+"button.title-mark-above-as-read.titlecase" = "将上方文章标为已读";
+
+/* Mark Below as Read */
+"button.title-mark-below-as-read.titlecase" = "将下方文章标为已读";
+
+/* 1 day */
+"button.title.1-day" = "1 天";
+
+/* 1 month */
+"button.title.1-month" = "1 月";
+
+/* 1 week */
+"button.title.1-week" = "1 周";
+
+/* 1 year */
+"button.title.1-year" = "1 年";
+
+/* 2 days */
+"button.title.2-days" = "2 天";
+
+/* Every 2 Hours */
+"button.title.2-hours" = "每 2 小时";
+
+/* 2 weeks */
+"button.title.2-weeks" = "2 周";
+
+/* 3 days */
+"button.title.3-days" = "3 天";
+
+/* Every 4 Hours */
+"button.title.4-hours" = "每 4 小时";
+
+/* Every 8 Hours */
+"button.title.8-hours" = "每 8 小时";
+
+/* Every 10 Minutes */
+"button.title.10-minutes" = "每 10 分钟";
+
+/* Every 30 Minutes */
+"button.title.30-minutes" = "每 30 分钟";
+
+/* Account */
+"button.title.accounts" = "账户";
+
+/* Add Item */
+"button.title.add-item" = "添加项目";
+
+/* Advanced */
+"button.title.advanced" = "高级";
+
+/* Always Use Reader View */
+"button.title.always-use-reader-view" = "总是使用阅读器视图";
+
+/* Article Theme */
+"button.title.article-theme" = "文章主题";
+
+/* Cancel
+ Cancel button
+ Cancel Deactivate Extension
+ Cancel Delete Account
+ Cancel Install Theme */
+"button.title.cancel" = "取消";
+
+/* Clean Up */
+"button.title.clean-up" = "清理";
+
+/* Clear & Restart */
+"button.title.clear-and-restart" = "清除并重新打开";
+
+/* Close */
+"button.title.close" = "关闭";
+
+/* Continue */
+"button.title.continue" = "继续";
+
+/* Copy Article URL */
+"button.title.copy-article-url" = "拷贝文章 URL";
+
+/* Copy External URL */
+"button.title.copy-external-url" = "拷贝外部 URL";
+
+/* Copy Feed URL */
+"button.title.copy-feed-url" = "拷贝订阅源 URL";
+
+/* Copy Home Page URL */
+"button.title.copy-home-page-url" = "拷贝主页 URL";
+
+/* Create */
+"button.title.create" = "创建";
+
+/* Deactivate Extension */
+"button.title.deactivate" = "停用";
+
+/* System Default (%@) */
+"button.title.default-browser.%@" = "系统默认(%@)";
+
+/* Delete
+ Delete Account */
+"button.title.delete" = "删除";
+
+/* Delete Feed */
+"button.title.delete-feed" = "删除订阅";
+
+/* Delete Feeds */
+"button.title.delete-feeds" = "删除订阅";
+
+/* Delete Feeds and Folders */
+"button.title.delete-feeds-and-folders" = "删除订阅和文件夹";
+
+/* Delete Folder */
+"button.title.delete-folder" = "删除文件夹";
+
+/* Delete Folders */
+"button.title.delete-folders" = "删除文件夹";
+
+/* Dismiss */
+"button.title.dismiss" = "关闭";
+
+/* Every Hour */
+"button.title.every-hour" = "每小时";
+
+/* Extensions */
+"button.title.extensions" = "扩展";
+
+/* General */
+"button.title.general" = "通用";
+
+/* Hide Read Articles */
+"button.title.hide-read-articles" = "隐藏已读文章";
+
+/* Hide Read Feeds */
+"button.title.hide-read-feeds" = "隐藏已读订阅";
+
+/* Hide Sidebar */
+"button.title.hide-sidebar" = "隐藏边栏";
+
+/* Install Theme */
+"button.title.install-theme" = "安装主题";
+
+/* Manually */
+"button.title.manually" = "手动";
+
+/* Mark Above as Read */
+"button.title.mark-above-as-read.titlecase" = "将上方文章标为已读";
+
+/* Mark All as Read in “%@” */
+"button.title.mark-all-as-read.%@" = "将“%@”中的文章全部标为已读";
+
+/* Mark All as Read */
+"button.title.mark-all-as-read.titlecase" = "全部标为已读";
+
+/* Mark as Read */
+"button.title.mark-as-read" = "标为已读";
+
+/* Mark as Read Older Than */
+"button.title.mark-as-read-older-than" = "在早于以下日期时标为已读";
+
+/* Mark as Starred */
+"button.title.mark-as-starred" = "添加星标";
+
+/* Mark as Unread */
+"button.title.mark-as-unread" = "标为未读";
+
+/* Mark as Unstarred */
+"button.title.mark-as-unstarred" = "取消星标";
+
+/* Mark Below as Read */
+"button.title.mark-below-as-read.titlecase" = "将下方文章标为已读";
+
+/* Mark Read */
+"button.title.mark-read" = "标为已读";
+
+/* Star */
+"button.title.mark-star" = "添加星标";
+
+/* Mark Starred */
+"button.title.mark-starred" = "添加星标";
+
+/* Mark Unread */
+"button.title.mark-unread" = "标为未读";
+
+/* Mark Unstarred */
+"button.title.mark-unstarred" = "取消星标";
+
+/* New Feed */
+"button.title.new-feed" = "添加订阅";
+
+/* New Folder
+ New Folder... */
+"button.title.new-folder" = "新建文件夹";
+
+/* New Reddit Feed... */
+"button.title.new-reddit-feed" = "添加 Reddit 订阅...";
+
+/* New Twitter Feed... */
+"button.title.new-twitter-feed" = "添加 Twitter 订阅...";
+
+/* New Web Feed... */
+"button.title.new-web-feed" = "添加 Web 订阅...";
+
+/* Next Unread */
+"button.title.next-read" = "下一个未读";
+
+/* OK */
+"button.title.ok" = "OK";
+
+/* Open */
+"button.title.open" = "打开";
+
+/* Open %ld Articles */
+"button.title.open-articles.%ld" = "打开 %ld 篇文章";
+
+/* Open Home Page */
+"button.title.open-home-page" = "打开主页";
+
+/* Open in Browser in Background */
+"button.title.open-in-background" = "在浏览器后台打开";
+
+/* Open in Browser */
+"button.title.open-in-browser" = "在浏览器中打开";
+
+/* Open in Browser in Foreground */
+"button.title.open-in-foreground" = "在浏览器前台打开";
+
+/* New Folder... */
+"button.title.open-new-folder" = "新建文件夹...";
+
+/* Open Settings */
+"button.title.open-settings" = "打开设置";
+
+/* Open System Settings */
+"button.title.open-system-settings" = "打开系统设置";
+
+/* Overwrite */
+"button.title.overwrite" = "覆盖";
+
+/* Read Articles Filter */
+"button.title.read-articles-filter" = "已读文章过滤器";
+
+/* Reader View */
+"button.title.reader-view" = "阅读器视图";
+
+/* Refresh */
+"button.title.refresh" = "刷新";
+
+/* Rename */
+"button.title.rename" = "重命名";
+
+/* Search */
+"button.title.search" = "搜索";
+
+/* Select “%@” in Sidebar */
+"button.title.select-in-sidebar.%@" = "在边栏中选择“%@”";
+
+/* Share
+ Share menu name */
+"button.title.share" = "共享";
+
+/* Show Read Articles */
+"button.title.show-read-articles" = "显示已读文章";
+
+/* Show Read Feeds */
+"button.title.show-read-feeds" = "显示已读订阅";
+
+/* Show Sidebar */
+"button.title.show-sidebar" = "显示边栏";
+
+/* Toggle Sidebar */
+"button.title.toggle-sidebar" = "显示/折叠边栏";
+
+/* Update */
+"button.title.update" = "更新";
+
+/* Show notifications for new articles */
+"checkbox.title.show-new-article-notifications" = "有新文章时推送\n通知";
+
+/* No comment provided by engineer. */
+"Continue" = "继续";
+
+/* Unable to add iCloud Account. Please make sure you have iCloud and iCloud Drive enabled in System Settings. */
+"error.description.cloudkit-unavailable" = "无法添加 iCloud 帐户。请确保在系统设置中启用 iCloud 和 iCloud 云盘。";
+
+/* Unable to create extension. */
+"error.message.unable-to-create-extension" = "无法创建扩展";
+
+/* Markdown formatted link to netnewswire.com */
+"label.markdown.netnewswire-website" = "[netnewswire.com](https://netnewswire.com)";
+
+/* Add an account by clicking the + button. */
+"label.text.add-account-explainer" = "通过点击 + 添加新账户。";
+
+/* Add an extension by clicking the + button. */
+"label.text.add-extension" = "通过点击 + 添加新扩展。";
+
+/* You've added all available extensions. */
+"label.text.added-all-extensions" = "你已添加了所有的可用扩展";
+
+/* Article */
+"label.text.article" = "文章";
+
+/* Choose an account type to add... */
+"label.text.choose-account-to-add" = "选择一个要添加的账户...";
+
+/* Choose an extension to add... */
+"label.text.choose-extension-to-add" = "选择一个要添加的扩展...";
+
+/* iCloud */
+"label.text.cloudkit" = "iCloud";
+
+/* Your iCloud account syncs your feeds across your Mac and iOS devices */
+"label.text.cloudkit-explainer" = "你的 iCloud 帐户将在 Mac 和 iOS 设备之间同步你的订阅。";
+
+/* Error - Reader View */
+"label.text.error-reader-view" = "错误 - 阅读器视图";
+
+/* XX-Large */
+"label.text.extra-extra-large" = "最大";
+
+/* X-Large */
+"label.text.extra-large" = "特大";
+
+/* Feed Provider */
+"label.text.feed-provider" = "订阅服务提供商";
+
+/* An extension that makes websites appear to provide RSS feeds for their content. */
+"label.text.feed-provider-explainer" = "使网站看起来提供其内容的 RSS 订阅源的扩展。";
+
+/* Find out more */
+"label.text.find-out-more" = "了解更多信息";
+
+/* Finding feed... */
+"label.text.finding-feed" = "查找订阅...";
+
+/* Large */
+"label.text.large" = "大";
+
+/* Link: */
+"label.text.link" = "链接:";
+
+/* Local */
+"label.text.local" = "本地";
+
+/* Local accounts do not sync your feeds across devices */
+"label.text.local-account-explainer" = "本地账户不会在设备间同步你的订阅。";
+
+/* This extension enables share menu functionality to send selected article text to MarsEdit. You need the MarsEdit application for this to work. */
+"label.text.marsedit.explainer" = "此扩展能让你使用共享菜单将所选文章文本发送到 MarsEdit。你需要拥有 MarsEdit 应用才能正常使用此功能。";
+
+/* Medium */
+"label.text.medium" = "中";
+
+/* This extension enables share menu functionality to send selected article text to Micro.blog. You need the Micro.blog application for this to work. */
+"label.text.micro-blog-expaliner" = "此扩展能让你使用共享菜单将所选文章文本发送到 Micro.blog。你需要拥有 Micro.blog 应用才能正常使用此功能。";
+
+/* By Brent Simmons and the NetNewsWire team. */
+"label.text.netnewswire-byline" = "由 Brent Simmons 和 NetNewsWire 团队开发。";
+
+/* Don’t have a BazQux account? */
+"label.text.no-bazqux" = "还没有 BazQux 帐户?";
+
+/* Don’t have a FreshRSS instance? */
+"label.text.no-fresh-rss" = "还没有 FreshRSS 帐户?";
+
+/* Don’t have an InoReader account? */
+"label.text.no-inoreader" = "还没有 InoReader 帐户?";
+
+/* Don’t have a The Old Reader account? */
+"label.text.no-old-reader" = "还没有 The Old Reader 帐户?";
+
+/* (No Text) */
+"label.text.no-text" = "(无文本)";
+
+/* Posts from r/%@ */
+"label.text.posts-from-subreddit.%@" = "来自 r/%@ 的帖子";
+
+/* Privacy Policy */
+"label.text.privacy-policy" = "隐私政策";
+
+/* Processing - Reader View */
+"label.text.processing-reader-view" = "处理中 - 阅读器视图";
+
+/* Reader View */
+"label.text.reader-view" = "阅读器视图";
+
+/* The most active posts */
+"label.text.reddit-active-posts" = "最活跃的帖子";
+
+/* The best posts on Reddit for you */
+"label.text.reddit-best-posts" = "为你提供的 Reddit 最佳帖子";
+
+/* Your personal Reddit frontpage */
+"label.text.reddit-front-page" = "你的个人 Reddit 主页";
+
+/* Select an account or add a new account by clicking the + button. */
+"label.text.select-or-add-account-explainer" = "选择一个账户或通过点击 + 添加新账户。";
+
+/* Select an extension or add a new extension by clicking the + button. */
+"label.text.select-or-add-extension" = "选择一个扩展或通过点击 + 添加新扩展。";
+
+/* Selected - Reader View */
+"label.text.selected-reader-view" = "已选择 - 阅读器视图";
+
+/* Self-hosted */
+"label.text.self-hosted" = "自托管账户";
+
+/* Self-hosted accounts sync your feeds across all your devices */
+"label.text.self-hosted-accounts-explainer" = "自托管帐户可以在所有设备上同步你的订阅。";
+
+/* An extension that enables a share menu item that passes article data to a third-party application. */
+"label.text.share-extension-explainer" = "一个通过共享菜单将文章数据传输给第三方应用的扩展。";
+
+/* Sign in to your BazQux account. */
+"label.text.sign-in-bazqux" = "登录到你的 BazQux 账户。";
+
+/* Sign in to your FreshRSS account. */
+"label.text.sign-in-freshrss" = "登录到你的 FreshRSS 账户。";
+
+/* Sign in to your InoReader account. */
+"label.text.sign-in-inoreader" = "登录到你的 InoReader 账户。";
+
+/* Sign in to your The Old Reader account. */
+"label.text.sign-in-old-reader" = "登录你的 The Old Reader 帐户。";
+
+/* Small */
+"label.text.small" = "小";
+
+/* Subreddit */
+"label.text.subreddit" = "Subreddit";
+
+/* Built-in */
+"label.text.themes-builtin" = "内置主题";
+
+/* Third Party */
+"label.text.themes-third-party" = "其他主题";
+
+/* Third-Party Integration */
+"label.text.third-party-integration" = "第三方集成";
+
+/* Timeline */
+"label.text.timeline" = "时间线";
+
+/* Tweets that contain %@ */
+"label.text.tweets-containing.%@" = "Tweets that contain %@";
+
+/* Tweets from everyone you follow */
+"label.text.tweets-from-everyone" = "Tweets from everyone you follow";
+
+/* Tweets from @%@ */
+"label.text.tweets-from.%@" = "Tweets from @%@";
+
+/* Tweets mentioning you */
+"label.text.tweets-mentioning-you" = "Tweets mentioning you";
+
+/* unread */
+"label.text.unread" = "未读";
+
+/* Web */
+"label.text.web" = "Web";
+
+/* Web accounts sync your feeds across all your devices */
+"label.text.web-account-explainer" = "Web 账户会将你的订阅在所有设备间同步";
+
+/* Catch up to articles older than... */
+"menu.title.catch-up-to-articles" = "将早于以下时间的文章标为已读...";
+
+/* Choose a location for the exported OPML file. */
+"panel.message.export-opml" = "选择一个导出 OPML 文件的位置。";
+
+/* Export OPML */
+"panel.prompt.export-opml" = "导出 OPML";
+
+/* Export to: */
+"panel.textfield.export-opml-destination" = "导出到:";
+
+/* Export OPML */
+"panel.title.export-opml" = "导出 OPML";
+
+/* Choose a Subscriptions.plist file: */
+"panel.title.select-opml-file" = "选择一个 Subscriptions.plist 文件";
+
+/* All Unread pseudo-feed title */
+"smartfeed.title.allunread" = "所有未读";
+
+/* Starred pseudo-feed title */
+"smartfeed.title.starred" = "星标";
+
+/* Today pseudo-feed title */
+"smartfeed.title.today" = "今日";
+
+/* Smart Feeds group title */
+"smartfeeds.title" = "智能订阅";
+
+/* Search: */
+"textfield.placeholder.search" = "搜索:";
+
+/* Search Term or #hashtag */
+"textfield.placeholder.search-term-hashtag" = "搜索词语或者 #标签";
+
+/* @name */
+"textfield.placeholder.twitter-username" = "@name";
+
+/* Rename %@ to: */
+"textfield.prompt.rename-to.%@" = "将 %@ 重命名为:";
+
+/* Create a local account on your Mac. */
+"textfield.text.create-a-local-account" = "在你的 Mac 上创建一个本地账户。";
+
+/* Sign in to your Feedbin account. */
+"textfield.text.sign-in-feedbin" = "登录到你的 Feedbin 账户。";
+
+/* Sign in to your NewsBlur account. */
+"textfield.text.sign-in-newsblur" = "登录到你的 NewsBlur 账户。";
+
+/* Update your Feedbin account credentials. */
+"textfield.text.update-feedbin-credentials" = "更新你的 Feedbin 用户凭证。";
+
+/* Update your NewsBlur account credentials. */
+"textfield.text.update-newsblur-credentials" = "更新你的 NewsBlur 账户凭证。";
+
+/* Unknown Value */
+"Unknown" = "未知";
+
+/* %d unread */
+"window.subtitle.unread-count.%d" = "%d 个未读";
+
+/* Feed Inspector */
+"window.title.feed-inspector" = "订阅检查器";
+
+/* Folder Inspector */
+"window.title.folder-inspector" = "文件夹检查器";
+
+/* Inspector */
+"window.title.inspector" = "检查器";
+
+/* Keyboard Shortcuts */
+"window.title.keyboard-shortcuts" = "键盘快捷键";
+
+/* Multiple */
+"window.title.multiple" = "多个";
+
+/* Search: %@ */
+"window.title.search.%@" = "搜索:%@";
+
+/* Smart Feed Inspector */
+"window.title.smart-feed-inspector" = "智能订阅源检查器";
+
diff --git a/Mac/Resources/zh-Hans.lproj/Localizable.stringsdict b/Mac/Resources/zh-Hans.lproj/Localizable.stringsdict
new file mode 100644
index 000000000..254caff6a
--- /dev/null
+++ b/Mac/Resources/zh-Hans.lproj/Localizable.stringsdict
@@ -0,0 +1,20 @@
+
+
+
+
+ button.title.copy-article-urls.%ld
+
+ NSStringLocalizedFormatKey
+ %#@count@
+ count
+
+ NSStringFormatSpecTypeKey
+ NSStringPluralRuleType
+ NSStringFormatValueTypeKey
+ ld
+ other
+ 拷贝文章 URL
+
+
+
+
diff --git a/Mac/SafariExtension/zh-Hans.lproj/InfoPlist.strings b/Mac/SafariExtension/zh-Hans.lproj/InfoPlist.strings
new file mode 100644
index 000000000..6df65cbe7
--- /dev/null
+++ b/Mac/SafariExtension/zh-Hans.lproj/InfoPlist.strings
@@ -0,0 +1,12 @@
+/* Bundle display name */
+"CFBundleDisplayName" = "添加到订阅";
+
+/* Bundle name */
+"CFBundleName" = "添加到订阅";
+
+/* Copyright (human-readable) */
+"NSHumanReadableCopyright" = "Copyright © 2019-2022 Brent Simmons. All rights reserved.";
+
+/* Human readable description */
+"NSHumanReadableDescription" = "此扩展会为Safari添加一个工具栏按钮,方便添加当前页面的订阅源。";
+
diff --git a/Mac/SafariExtension/zh-Hans.lproj/SafariExtensionViewController.strings b/Mac/SafariExtension/zh-Hans.lproj/SafariExtensionViewController.strings
new file mode 100644
index 000000000..ddf1c8736
--- /dev/null
+++ b/Mac/SafariExtension/zh-Hans.lproj/SafariExtensionViewController.strings
@@ -0,0 +1,3 @@
+/* Class = "NSTextFieldCell"; title = "Subscribe to Feed"; ObjectID = "2Ec-kd-q2K"; */
+"2Ec-kd-q2K.title" = "添加到订阅";
+
diff --git a/Mac/ShareExtension/zh-Hans.lproj/InfoPlist.strings b/Mac/ShareExtension/zh-Hans.lproj/InfoPlist.strings
new file mode 100644
index 000000000..2e419f663
--- /dev/null
+++ b/Mac/ShareExtension/zh-Hans.lproj/InfoPlist.strings
@@ -0,0 +1,9 @@
+/* Bundle display name */
+"CFBundleDisplayName" = "NetNewsWire";
+
+/* Bundle name */
+"CFBundleName" = "NetNewsWire 共享扩展 MAS";
+
+/* Copyright (human-readable) */
+"NSHumanReadableCopyright" = "Copyright © 2020-2022 Ranchero Software. All rights reserved.";
+
diff --git a/Mac/ShareExtension/zh-Hans.lproj/Localizable.strings b/Mac/ShareExtension/zh-Hans.lproj/Localizable.strings
new file mode 100644
index 000000000..4d521c472
--- /dev/null
+++ b/Mac/ShareExtension/zh-Hans.lproj/Localizable.strings
@@ -0,0 +1,36 @@
+/* Every 2 Hours */
+"button.title.2-hours" = "每 2 小时";
+
+/* Every 4 Hours */
+"button.title.4-hours" = "每 4 小时";
+
+/* Every 8 Hours */
+"button.title.8-hours" = "每 8 小时";
+
+/* Every 10 Minutes */
+"button.title.10-minutes" = "每 10 分钟";
+
+/* Every 30 Minutes */
+"button.title.30-minutes" = "每 30 分钟";
+
+/* Every Hour */
+"button.title.every-hour" = "每小时";
+
+/* Manually */
+"button.title.manually" = "手动";
+
+/* XX-Large */
+"label.text.extra-extra-large" = "最大";
+
+/* X-Large */
+"label.text.extra-large" = "特大";
+
+/* Large */
+"label.text.large" = "大";
+
+/* Medium */
+"label.text.medium" = "中";
+
+/* Small */
+"label.text.small" = "小";
+
diff --git a/Mac/ShareExtension/zh-Hans.lproj/ShareViewController.strings b/Mac/ShareExtension/zh-Hans.lproj/ShareViewController.strings
new file mode 100644
index 000000000..95898fd80
--- /dev/null
+++ b/Mac/ShareExtension/zh-Hans.lproj/ShareViewController.strings
@@ -0,0 +1,27 @@
+/* Class = "NSButtonCell"; title = "Send"; ObjectID = "2l4-PO-we5"; */
+"2l4-PO-we5.title" = "发送";
+
+/* Class = "NSTextFieldCell"; title = "NetNewsWire"; ObjectID = "5Ed-E1-Gf1"; */
+"5Ed-E1-Gf1.title" = "NetNewsWire";
+
+/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "6Up-t3-mwm"; */
+"6Up-t3-mwm.title" = "取消";
+
+/* Class = "NSTextFieldCell"; placeholderString = "Optional"; ObjectID = "27c-xz-zoJ"; */
+"27c-xz-zoJ.placeholderString" = "可选";
+
+/* Class = "NSMenuItem"; title = "Item 3"; ObjectID = "Djb-KO-yjg"; */
+"Djb-KO-yjg.title" = "Item 3";
+
+/* Class = "NSMenuItem"; title = "Item 2"; ObjectID = "jf0-bY-EUJ"; */
+"jf0-bY-EUJ.title" = "Item 2";
+
+/* Class = "NSTextFieldCell"; title = "Name:"; ObjectID = "Piv-xr-hYI"; */
+"Piv-xr-hYI.title" = "名称:";
+
+/* Class = "NSTextFieldCell"; title = "Folder:"; ObjectID = "qp4-R2-aO5"; */
+"qp4-R2-aO5.title" = "文件夹:";
+
+/* Class = "NSMenuItem"; title = "Item 1"; ObjectID = "wvm-BK-3HS"; */
+"wvm-BK-3HS.title" = "Item 1";
+
diff --git a/Mac/zh-Hans.lproj/AddFolderSheet.strings b/Mac/zh-Hans.lproj/AddFolderSheet.strings
new file mode 100644
index 000000000..f4d164faf
--- /dev/null
+++ b/Mac/zh-Hans.lproj/AddFolderSheet.strings
@@ -0,0 +1,24 @@
+/* Class = "NSMenuItem"; title = "Item 2"; ObjectID = "Aat-NW-hPO"; */
+"Aat-NW-hPO.title" = "Item 2";
+
+/* Class = "NSMenuItem"; title = "Item 3"; ObjectID = "CVJ-R1-O8v"; */
+"CVJ-R1-O8v.title" = "Item 3";
+
+/* Class = "NSButtonCell"; title = "Add Folder"; ObjectID = "F5a-Q7-NMn"; */
+"F5a-Q7-NMn.title" = "添加文件夹";
+
+/* Class = "NSTextFieldCell"; title = "Folder Name:"; ObjectID = "k8o-om-Rgh"; */
+"k8o-om-Rgh.title" = "文件夹名称";
+
+/* Class = "NSWindow"; title = "Add Folder"; ObjectID = "QvC-M9-y7g"; */
+"QvC-M9-y7g.title" = "添加文件夹";
+
+/* Class = "NSMenuItem"; title = "Item 1"; ObjectID = "SDZ-cp-t7j"; */
+"SDZ-cp-t7j.title" = "Item 1";
+
+/* Class = "NSTextFieldCell"; title = "Account:"; ObjectID = "t6T-ar-V3d"; */
+"t6T-ar-V3d.title" = "账户:";
+
+/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "VXk-Yp-k6W"; */
+"VXk-Yp-k6W.title" = "取消";
+
diff --git a/Mac/zh-Hans.lproj/AddRedditFeedSheet.strings b/Mac/zh-Hans.lproj/AddRedditFeedSheet.strings
new file mode 100644
index 000000000..2a79e28c7
--- /dev/null
+++ b/Mac/zh-Hans.lproj/AddRedditFeedSheet.strings
@@ -0,0 +1,78 @@
+/* Class = "NSMenuItem"; title = "Subreddit"; ObjectID = "0gG-oY-8yR"; */
+"0gG-oY-8yR.title" = "Subreddit";
+
+/* Class = "NSTextFieldCell"; title = "Label"; ObjectID = "5AA-um-oEb"; */
+"5AA-um-oEb.title" = "描述";
+
+/* Class = "NSButtonCell"; title = "Add"; ObjectID = "6NK-Ql-drk"; */
+"6NK-Ql-drk.title" = "添加";
+
+/* Class = "NSTextFieldCell"; title = "Name:"; ObjectID = "8ca-Qp-BkT"; */
+"8ca-Qp-BkT.title" = "名称:";
+
+/* Class = "NSMenuItem"; title = "Popular"; ObjectID = "177-F8-Esj"; */
+"177-F8-Esj.title" = "Popular";
+
+/* Class = "NSMenuItem"; title = "Item 2"; ObjectID = "APc-af-7Um"; */
+"APc-af-7Um.title" = "Item 2";
+
+/* Class = "NSMenuItem"; title = "Best"; ObjectID = "aub-jN-9Gq"; */
+"aub-jN-9Gq.title" = "Best";
+
+/* Class = "NSTextFieldCell"; title = "Sort:"; ObjectID = "cxl-iF-EB5"; */
+"cxl-iF-EB5.title" = "分类:";
+
+/* Class = "NSMenuItem"; title = "All"; ObjectID = "DBZ-RV-FfV"; */
+"DBZ-RV-FfV.title" = "All";
+
+/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "Dop-HC-6Q9"; */
+"Dop-HC-6Q9.title" = "取消";
+
+/* Class = "NSMenuItem"; title = "Top"; ObjectID = "fuh-g6-Ro7"; */
+"fuh-g6-Ro7.title" = "Top";
+
+/* Class = "NSMenuItem"; title = "Item 3"; ObjectID = "fza-9c-2en"; */
+"fza-9c-2en.title" = "Item 3";
+
+/* Class = "NSMenuItem"; title = "Item 3"; ObjectID = "j09-9b-bGs"; */
+"j09-9b-bGs.title" = "Item 3";
+
+/* Class = "NSMenuItem"; title = "Hot"; ObjectID = "KA5-sN-dho"; */
+"KA5-sN-dho.title" = "Hot";
+
+/* Class = "NSMenuItem"; title = "New"; ObjectID = "kUE-J5-iAE"; */
+"kUE-J5-iAE.title" = "New";
+
+/* Class = "NSTextFieldCell"; title = "Folder:"; ObjectID = "Kwx-7B-CIu"; */
+"Kwx-7B-CIu.title" = "文件夹:";
+
+/* Class = "NSTextFieldCell"; title = "Account:"; ObjectID = "LFf-JL-Ahl"; */
+"LFf-JL-Ahl.title" = "账户:";
+
+/* Class = "NSTextFieldCell"; placeholderString = "Optional"; ObjectID = "pLP-pL-5R5"; */
+"pLP-pL-5R5.placeholderString" = "可选";
+
+/* Class = "NSTextFieldCell"; title = "Type:"; ObjectID = "qto-IO-a1j"; */
+"qto-IO-a1j.title" = "类型:";
+
+/* Class = "NSWindow"; title = "Add Reddit Feed"; ObjectID = "QvC-M9-y7g"; */
+"QvC-M9-y7g.title" = "添加 Reddit 订阅";
+
+/* Class = "NSMenuItem"; title = "Item 1"; ObjectID = "s6D-9M-HpZ"; */
+"s6D-9M-HpZ.title" = "Item 1";
+
+/* Class = "NSMenuItem"; title = "u/username"; ObjectID = "Tfk-aQ-RKg"; */
+"Tfk-aQ-RKg.title" = "u/username";
+
+/* Class = "NSMenuItem"; title = "Item 1"; ObjectID = "tLJ-zY-CcZ"; */
+"tLJ-zY-CcZ.title" = "Item 1";
+
+/* Class = "NSMenuItem"; title = "Home"; ObjectID = "uE6-1a-w5g"; */
+"uE6-1a-w5g.title" = "Home";
+
+/* Class = "NSMenuItem"; title = "Rising"; ObjectID = "XIL-2V-O3A"; */
+"XIL-2V-O3A.title" = "Rising";
+
+/* Class = "NSMenuItem"; title = "Item 2"; ObjectID = "xTm-Qr-PIp"; */
+"xTm-Qr-PIp.title" = "Item 2";
+
diff --git a/Mac/zh-Hans.lproj/AddWebFeedSheet.strings b/Mac/zh-Hans.lproj/AddWebFeedSheet.strings
new file mode 100644
index 000000000..3b4c944e6
--- /dev/null
+++ b/Mac/zh-Hans.lproj/AddWebFeedSheet.strings
@@ -0,0 +1,33 @@
+/* Class = "NSButtonCell"; title = "Add"; ObjectID = "6NK-Ql-drk"; */
+"6NK-Ql-drk.title" = "添加";
+
+/* Class = "NSTextFieldCell"; title = "Name:"; ObjectID = "8ca-Qp-BkT"; */
+"8ca-Qp-BkT.title" = "名称:";
+
+/* Class = "NSTextFieldCell"; title = "URL:"; ObjectID = "8jE-9v-BT2"; */
+"8jE-9v-BT2.title" = "URL:";
+
+/* Class = "NSMenuItem"; title = "Item 2"; ObjectID = "APc-af-7Um"; */
+"APc-af-7Um.title" = "Item 2";
+
+/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "Dop-HC-6Q9"; */
+"Dop-HC-6Q9.title" = "取消";
+
+/* Class = "NSMenuItem"; title = "Item 3"; ObjectID = "j09-9b-bGs"; */
+"j09-9b-bGs.title" = "Item 3";
+
+/* Class = "NSTextFieldCell"; title = "Folder:"; ObjectID = "Kwx-7B-CIu"; */
+"Kwx-7B-CIu.title" = "文件夹:";
+
+/* Class = "NSTextFieldCell"; placeholderString = "Optional"; ObjectID = "pLP-pL-5R5"; */
+"pLP-pL-5R5.placeholderString" = "可选";
+
+/* Class = "NSWindow"; title = "Add Web Feed"; ObjectID = "QvC-M9-y7g"; */
+"QvC-M9-y7g.title" = "添加 Web 订阅";
+
+/* Class = "NSMenuItem"; title = "Item 1"; ObjectID = "tLJ-zY-CcZ"; */
+"tLJ-zY-CcZ.title" = "Item 1";
+
+/* Class = "NSButtonCell"; title = "Open Feed Directory"; ObjectID = "wKl-a9-7FY"; */
+"wKl-a9-7FY.title" = "打开订阅路径";
+
diff --git a/Mac/zh-Hans.lproj/Main.strings b/Mac/zh-Hans.lproj/Main.strings
new file mode 100644
index 000000000..7a6165c29
--- /dev/null
+++ b/Mac/zh-Hans.lproj/Main.strings
@@ -0,0 +1,375 @@
+/* Class = "NSMenu"; title = "Find"; ObjectID = "1b7-l0-nxx"; */
+"1b7-l0-nxx.title" = "查找";
+
+/* Class = "NSMenuItem"; title = "Check for Updates…"; ObjectID = "1nF-7O-aKU"; */
+"1nF-7O-aKU.title" = "检查更新…";
+
+/* Class = "NSMenuItem"; title = "Customize Toolbar…"; ObjectID = "1UK-8n-QPP"; */
+"1UK-8n-QPP.title" = "自定义工具栏…";
+
+/* Class = "NSMenuItem"; title = "NetNewsWire"; ObjectID = "1Xt-HY-uBw"; */
+"1Xt-HY-uBw.title" = "NetNewsWire";
+
+/* Class = "NSMenuItem"; title = "Transformations"; ObjectID = "2oI-Rn-ZJC"; */
+"2oI-Rn-ZJC.title" = "转换";
+
+/* Class = "NSMenu"; title = "Spelling"; ObjectID = "3IN-sU-3Bg"; */
+"3IN-sU-3Bg.title" = "拼写";
+
+/* Class = "NSMenu"; title = "Speech"; ObjectID = "3rS-ZA-NoH"; */
+"3rS-ZA-NoH.title" = "语音";
+
+/* Class = "NSMenuItem"; title = "Find"; ObjectID = "4EN-yA-p0u"; */
+"4EN-yA-p0u.title" = "查找";
+
+/* Class = "NSMenuItem"; title = "Open in Browser"; ObjectID = "4iQ-1v-dTa"; */
+"4iQ-1v-dTa.title" = "在浏览器中打开";
+
+/* Class = "NSMenuItem"; title = "Enter Full Screen"; ObjectID = "4J7-dP-txa"; */
+"4J7-dP-txa.title" = "进入全屏幕";
+
+/* Class = "NSMenuItem"; title = "Quit NetNewsWire"; ObjectID = "4sb-4s-VLi"; */
+"4sb-4s-VLi.title" = "退出 NetNewsWire";
+
+/* Class = "NSMenuItem"; title = "About NetNewsWire"; ObjectID = "5kV-Vb-QxS"; */
+"5kV-Vb-QxS.title" = "关于 NetNewsWire";
+
+/* Class = "NSMenuItem"; title = "Edit"; ObjectID = "5QF-Oa-p0T"; */
+"5QF-Oa-p0T.title" = "编辑";
+
+/* Class = "NSMenuItem"; title = "Redo"; ObjectID = "6dh-zS-Vam"; */
+"6dh-zS-Vam.title" = "重做";
+
+/* Class = "NSMenuItem"; title = "Mark Below as Read"; ObjectID = "8lZ-XI-I4y"; */
+"8lZ-XI-I4y.title" = "将下方文章标为已读";
+
+/* Class = "NSMenuItem"; title = "All Unread"; ObjectID = "8ZT-ew-JNc"; */
+"8ZT-ew-JNc.title" = "所有未读";
+
+/* Class = "NSMenuItem"; title = "Substitutions"; ObjectID = "9ic-FL-obx"; */
+"9ic-FL-obx.title" = "替换";
+
+/* Class = "NSMenuItem"; title = "Debug Search"; ObjectID = "9Ot-wC-s5U"; */
+"9Ot-wC-s5U.title" = "调试搜索";
+
+/* Class = "NSMenuItem"; title = "Smart Copy/Paste"; ObjectID = "9yt-4B-nSM"; */
+"9yt-4B-nSM.title" = "智能拷贝/粘贴";
+
+/* Class = "NSMenuItem"; title = "Info"; ObjectID = "24r-2i-fXR"; */
+"24r-2i-fXR.title" = "显示简介";
+
+/* Class = "NSMenu"; title = "Article"; ObjectID = "57V-gv-vEw"; */
+"57V-gv-vEw.title" = "文章";
+
+/* Class = "NSMenuItem"; title = "Correct Spelling Automatically"; ObjectID = "78Y-hA-62v"; */
+"78Y-hA-62v.title" = "自动纠正拼写";
+
+/* Class = "NSMenuItem"; title = "Window"; ObjectID = "aUF-d1-5bR"; */
+"aUF-d1-5bR.title" = "窗口";
+
+/* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */
+"AYu-sK-qS6.title" = "主菜单";
+
+/* Class = "NSMenuItem"; title = "Hide Read Articles"; ObjectID = "b10-sA-Yzi"; */
+"b10-sA-Yzi.title" = "隐藏已读文章";
+
+/* Class = "NSMenu"; title = "File"; ObjectID = "bib-Uj-vzu"; */
+"bib-Uj-vzu.title" = "文件";
+
+/* Class = "NSMenuItem"; title = "Preferences…"; ObjectID = "BOF-NM-1cW"; */
+"BOF-NM-1cW.title" = "偏好设置…";
+
+/* Class = "NSMenuItem"; title = "Drop Conditional Get Info"; ObjectID = "btO-Tb-2qS"; */
+"btO-Tb-2qS.title" = "删除条件获取信息";
+
+/* Class = "NSMenuItem"; title = "Use Selection for Find"; ObjectID = "buJ-ug-pKt"; */
+"buJ-ug-pKt.title" = "查找所选内容";
+
+/* Class = "NSMenu"; title = "Transformations"; ObjectID = "c8a-y6-VQd"; */
+"c8a-y6-VQd.title" = "转换";
+
+/* Class = "NSMenuItem"; title = "Add NetNewsWire News Feed"; ObjectID = "cmP-uH-mS8"; */
+"cmP-uH-mS8.title" = "添加 NetNewsWire 新闻订阅";
+
+/* Class = "NSMenuItem"; title = "Smart Links"; ObjectID = "cwL-P1-jid"; */
+"cwL-P1-jid.title" = "智能链接";
+
+/* Class = "NSMenuItem"; title = "Item"; ObjectID = "CZA-zr-llF"; */
+"CZA-zr-llF.title" = "Item";
+
+/* Class = "NSMenuItem"; title = "Make Lower Case"; ObjectID = "d9M-CD-aMd"; */
+"d9M-CD-aMd.title" = "变为小写";
+
+/* Class = "NSMenu"; title = "Share"; ObjectID = "Dbl-YW-bmb"; */
+"Dbl-YW-bmb.title" = "共享";
+
+/* Class = "NSMenuItem"; title = "File"; ObjectID = "dMs-cI-mzQ"; */
+"dMs-cI-mzQ.title" = "文件";
+
+/* Class = "NSMenuItem"; title = "Undo"; ObjectID = "dRJ-4n-Yzg"; */
+"dRJ-4n-Yzg.title" = "撤销";
+
+/* Class = "NSMenuItem"; title = "Spelling and Grammar"; ObjectID = "Dv1-io-Yv7"; */
+"Dv1-io-Yv7.title" = "拼写和语法";
+
+/* Class = "NSMenuItem"; title = "Close Window"; ObjectID = "DVo-aG-piG"; */
+"DVo-aG-piG.title" = "关闭窗口";
+
+/* Class = "NSMenuItem"; title = "Hide Read Feeds"; ObjectID = "E9K-zV-nLv"; */
+"E9K-zV-nLv.title" = "隐藏已读订阅";
+
+/* Class = "NSMenuItem"; title = "Open in Browser Inverted"; ObjectID = "EjD-X9-Pjf"; */
+"EjD-X9-Pjf.title" = "在浏览器中以反转颜色打开";
+
+/* Class = "NSMenuItem"; title = "Import NNW 3 Subscriptions…"; ObjectID = "ely-yi-STg"; */
+"ely-yi-STg.title" = "导入 NNW 3 订阅…";
+
+/* Class = "NSMenuItem"; title = "Enable Web Inspector"; ObjectID = "EwI-z4-ZA3"; */
+"EwI-z4-ZA3.title" = "启用网页检查器";
+
+/* Class = "NSMenu"; title = "Help"; ObjectID = "F2S-fz-NVQ"; */
+"F2S-fz-NVQ.title" = "帮助";
+
+/* Class = "NSMenuItem"; title = "Mark as Read"; ObjectID = "Fc9-c7-2AY"; */
+"Fc9-c7-2AY.title" = "标为已读";
+
+/* Class = "NSMenu"; title = "Substitutions"; ObjectID = "FeM-D8-WVr"; */
+"FeM-D8-WVr.title" = "替换";
+
+/* Class = "NSMenuItem"; title = "NetNewsWire Help"; ObjectID = "FKE-Sm-Kum"; */
+"FKE-Sm-Kum.title" = "NetNewsWire 帮助";
+
+/* Class = "NSMenuItem"; title = "Copy External URL"; ObjectID = "fOF-99-6Iv"; */
+"fOF-99-6Iv.title" = "拷贝外部 URL";
+
+/* Class = "NSMenuItem"; title = "Go"; ObjectID = "FPs-q4-hLT"; */
+"FPs-q4-hLT.title" = "前往";
+
+/* Class = "NSMenuItem"; title = "Paste"; ObjectID = "gVA-U4-sdL"; */
+"gVA-U4-sdL.title" = "粘贴";
+
+/* Class = "NSMenuItem"; title = "Test Crash Reporter Window"; ObjectID = "gVd-kQ-efj"; */
+"gVd-kQ-efj.title" = "测试崩溃报告窗口";
+
+/* Class = "NSMenuItem"; title = "Force Crash"; ObjectID = "gVt-cz-eoJ"; */
+"gVt-cz-eoJ.title" = "强制崩溃应用";
+
+/* Class = "NSMenuItem"; title = "View"; ObjectID = "H8h-7b-M4v"; */
+"H8h-7b-M4v.title" = "显示";
+
+/* Class = "NSMenuItem"; title = "Mark All as Read"; ObjectID = "HdN-Ks-cwh"; */
+"HdN-Ks-cwh.title" = "全部标为已读";
+
+/* Class = "NSMenuItem"; title = "Show Spelling and Grammar"; ObjectID = "HFo-cy-zxI"; */
+"HFo-cy-zxI.title" = "显示拼写和语法";
+
+/* Class = "NSMenuItem"; title = "Text Replacement"; ObjectID = "HFQ-gK-NFA"; */
+"HFQ-gK-NFA.title" = "文本替换";
+
+/* Class = "NSMenuItem"; title = "Smart Quotes"; ObjectID = "hQb-2v-fYv"; */
+"hQb-2v-fYv.title" = "智能引号";
+
+/* Class = "NSMenu"; title = "View"; ObjectID = "HyV-fh-RgO"; */
+"HyV-fh-RgO.title" = "显示";
+
+/* Class = "NSMenuItem"; title = "Check Document Now"; ObjectID = "hz2-CU-CR7"; */
+"hz2-CU-CR7.title" = "立即检查文稿";
+
+/* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */
+"hz9-B4-Xy5.title" = "服务";
+
+/* Class = "NSMenuItem"; title = "Oldest Article on Top"; ObjectID = "iii-kP-qoF"; */
+"iii-kP-qoF.title" = "最旧文章在顶部";
+
+/* Class = "NSMenuItem"; title = "Clean Up Articles"; ObjectID = "J5h-uQ-57w"; */
+"J5h-uQ-57w.title" = "清理文章";
+
+/* Class = "NSMenuItem"; title = "Share"; ObjectID = "jaf-gh-gSi"; */
+"jaf-gh-gSi.title" = "共享";
+
+/* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */
+"Kd2-mp-pUS.title" = "全部显示";
+
+/* Class = "NSMenuItem"; title = "Show Sidebar"; ObjectID = "kIP-vf-haE"; */
+"kIP-vf-haE.title" = "显示边栏";
+
+/* Class = "NSMenuItem"; title = "Today"; ObjectID = "L20-jv-7c9"; */
+"L20-jv-7c9.title" = "今日";
+
+/* Class = "NSMenuItem"; title = "Bring All to Front"; ObjectID = "LE2-aR-0XJ"; */
+"LE2-aR-0XJ.title" = "前置全部窗口";
+
+/* Class = "NSMenuItem"; title = "Main Window"; ObjectID = "LSZ-ci-Jb5"; */
+"LSZ-ci-Jb5.title" = "切换到主窗口";
+
+/* Class = "NSMenuItem"; title = "Check Grammar With Spelling"; ObjectID = "mK6-2p-4JG"; */
+"mK6-2p-4JG.title" = "检查拼写和语法";
+
+/* Class = "NSMenuItem"; title = "New Reddit Feed…"; ObjectID = "n6h-Bp-CIc"; */
+"n6h-Bp-CIc.title" = "添加 Reddit 订阅...";
+
+/* Class = "NSMenuItem"; title = "Article Search…"; ObjectID = "nB2-mv-2i5"; */
+"nB2-mv-2i5.title" = "搜素文章...";
+
+/* Class = "NSMenuItem"; title = "Sort Articles By"; ObjectID = "nLP-fa-KUi"; */
+"nLP-fa-KUi.title" = "文章排序方式";
+
+/* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */
+"NMo-om-nkz.title" = "服务";
+
+/* Class = "NSMenu"; title = "Debug"; ObjectID = "NOT-8E-ykF"; */
+"NOT-8E-ykF.title" = "调试";
+
+/* Class = "NSMenu"; title = "Go"; ObjectID = "NQW-Ph-lw2"; */
+"NQW-Ph-lw2.title" = "前往";
+
+/* Class = "NSMenuItem"; title = "Clear Image Caches"; ObjectID = "o1k-E6-ctu"; */
+"o1k-E6-ctu.title" = "清除图像缓存";
+
+/* Class = "NSMenu"; title = "Sort Articles By"; ObjectID = "OlJ-93-6OP"; */
+"OlJ-93-6OP.title" = "文章排序方式";
+
+/* Class = "NSMenuItem"; title = "Hide NetNewsWire"; ObjectID = "Olw-nP-bQN"; */
+"Olw-nP-bQN.title" = "隐藏 NetNewsWire";
+
+/* Class = "NSMenuItem"; title = "Find Previous"; ObjectID = "OwM-mh-QMV"; */
+"OwM-mh-QMV.title" = "查找上一个";
+
+/* Class = "NSMenuItem"; title = "Minimize"; ObjectID = "OY7-WF-poV"; */
+"OY7-WF-poV.title" = "最小化";
+
+/* Class = "NSMenuItem"; title = "Stop Speaking"; ObjectID = "Oyz-dy-DGm"; */
+"Oyz-dy-DGm.title" = "停止朗读";
+
+/* Class = "NSMenuItem"; title = "Mark Above as Read"; ObjectID = "p1o-EG-Uo8"; */
+"p1o-EG-Uo8.title" = "将上方文章标为已读";
+
+/* Class = "NSMenuItem"; title = "Show Reader View"; ObjectID = "p5x-Xq-1fW"; */
+"p5x-Xq-1fW.title" = "显示阅读器视图";
+
+/* Class = "NSMenuItem"; title = "Delete"; ObjectID = "pa3-QI-u2k"; */
+"pa3-QI-u2k.title" = "删除";
+
+/* Class = "NSMenuItem"; title = "New Window"; ObjectID = "pGg-Gc-PU2"; */
+"pGg-Gc-PU2.title" = "新建窗口";
+
+/* Class = "NSMenuItem"; title = "Refresh"; ObjectID = "Ppm-uh-K5n"; */
+"Ppm-uh-K5n.title" = "刷新";
+
+/* Class = "NSMenuItem"; title = "NetNewsWire Website"; ObjectID = "q2Z-9K-GBd"; */
+"q2Z-9K-GBd.title" = "NetNewsWire 官网";
+
+/* Class = "NSMenuItem"; title = "Next Unread"; ObjectID = "q3p-nE-m2k"; */
+"q3p-nE-m2k.title" = "下一个未读";
+
+/* Class = "NSMenuItem"; title = "Find Next"; ObjectID = "q09-fT-Sye"; */
+"q09-fT-Sye.title" = "查找下一个";
+
+/* Class = "NSMenuItem"; title = "Copy Article URL"; ObjectID = "qNk-By-jKp"; */
+"qNk-By-jKp.title" = "拷贝文章 URL";
+
+/* Class = "NSMenuItem"; title = "Zoom"; ObjectID = "R4o-n2-Eq4"; */
+"R4o-n2-Eq4.title" = "缩放";
+
+/* Class = "NSMenuItem"; title = "Check Spelling While Typing"; ObjectID = "rbD-Rh-wIN"; */
+"rbD-Rh-wIN.title" = "键入时检查拼写";
+
+/* Class = "NSMenuItem"; title = "Open Application Support Folder"; ObjectID = "rg6-L6-JUr"; */
+"rg6-L6-JUr.title" = "打开 Application Support 文件夹";
+
+/* Class = "NSMenuItem"; title = "Smart Dashes"; ObjectID = "rgM-f4-ycn"; */
+"rgM-f4-ycn.title" = "智能破折号";
+
+/* Class = "NSMenuItem"; title = "Import Subscriptions…"; ObjectID = "rSl-F4-qo7"; */
+"rSl-F4-qo7.title" = "导入订阅...";
+
+/* Class = "NSMenuItem"; title = "Select All"; ObjectID = "Ruw-6m-B2m"; */
+"Ruw-6m-B2m.title" = "全选";
+
+/* Class = "NSMenuItem"; title = "Jump to Selection"; ObjectID = "S0p-oC-mLd"; */
+"S0p-oC-mLd.title" = "跳到所选内容";
+
+/* Class = "NSMenuItem"; title = "Show Toolbar"; ObjectID = "snW-S8-Cw5"; */
+"snW-S8-Cw5.title" = "显示工具栏";
+
+/* Class = "NSMenu"; title = "Window"; ObjectID = "Td7-aD-5lo"; */
+"Td7-aD-5lo.title" = "窗口";
+
+/* Class = "NSMenuItem"; title = "Newest Article on Top"; ObjectID = "TNS-TV-n0U"; */
+"TNS-TV-n0U.title" = "最新文章在顶部";
+
+/* Class = "NSMenuItem"; title = "Data Detectors"; ObjectID = "tRr-pd-1PS"; */
+"tRr-pd-1PS.title" = "数据检测器";
+
+/* Class = "NSMenuItem"; title = "Article"; ObjectID = "TzI-3g-N0v"; */
+"TzI-3g-N0v.title" = "文章";
+
+/* Class = "NSMenuItem"; title = "Capitalize"; ObjectID = "UEZ-Bs-lqG"; */
+"UEZ-Bs-lqG.title" = "首字母大写";
+
+/* Class = "NSMenuItem"; title = "Debug"; ObjectID = "UqE-mp-gtV"; */
+"UqE-mp-gtV.title" = "调试";
+
+/* Class = "NSMenu"; title = "NetNewsWire"; ObjectID = "uQy-DD-JDr"; */
+"uQy-DD-JDr.title" = "NetNewsWire";
+
+/* Class = "NSMenuItem"; title = "Cut"; ObjectID = "uRl-iY-unG"; */
+"uRl-iY-unG.title" = "剪切";
+
+/* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */
+"Vdr-fp-XzO.title" = "隐藏其他";
+
+/* Class = "NSMenuItem"; title = "Refresh"; ObjectID = "Veh-SV-KWy"; */
+"Veh-SV-KWy.title" = "刷新";
+
+/* Class = "NSMenuItem"; title = "Make Upper Case"; ObjectID = "vmV-6d-7jI"; */
+"vmV-6d-7jI.title" = "变为大写";
+
+/* Class = "NSMenuItem"; title = "Mark as Starred"; ObjectID = "vvo-ZM-8kl"; */
+"vvo-ZM-8kl.title" = "添加星标";
+
+/* Class = "NSMenuItem"; title = "Keyboard Shortcuts"; ObjectID = "w6o-j8-cda"; */
+"w6o-j8-cda.title" = "键盘快捷键";
+
+/* Class = "NSMenu"; title = "Edit"; ObjectID = "W48-6f-4Dl"; */
+"W48-6f-4Dl.title" = "编辑";
+
+/* Class = "NSMenuItem"; title = "New Web Feed…"; ObjectID = "Was-JA-tGl"; */
+"Was-JA-tGl.title" = "添加 Web 订阅...";
+
+/* Class = "NSMenuItem"; title = "Paste and Match Style"; ObjectID = "WeT-3V-zwk"; */
+"WeT-3V-zwk.title" = "粘贴并匹配样式";
+
+/* Class = "NSMenuItem"; title = "New Folder…"; ObjectID = "wkh-LX-Xp1"; */
+"wkh-LX-Xp1.title" = "新建文件夹...";
+
+/* Class = "NSMenuItem"; title = "Help"; ObjectID = "wpr-3q-Mcd"; */
+"wpr-3q-Mcd.title" = "帮助";
+
+/* Class = "NSMenuItem"; title = "Copy"; ObjectID = "x3v-GG-iWU"; */
+"x3v-GG-iWU.title" = "拷贝";
+
+/* Class = "NSMenuItem"; title = "Test Crash Log Sender"; ObjectID = "XJG-gO-OKi"; */
+"XJG-gO-OKi.title" = "测试崩溃日志发送功能";
+
+/* Class = "NSMenuItem"; title = "Speech"; ObjectID = "xrE-MZ-jX0"; */
+"xrE-MZ-jX0.title" = "语音";
+
+/* Class = "NSMenuItem"; title = "Export Subscriptions…"; ObjectID = "Xy2-v8-Lj8"; */
+"Xy2-v8-Lj8.title" = "导出订阅...";
+
+/* Class = "NSMenuItem"; title = "Find…"; ObjectID = "Xz5-n4-O0W"; */
+"Xz5-n4-O0W.title" = "查找...";
+
+/* Class = "NSMenuItem"; title = "Start Speaking"; ObjectID = "Ynk-f8-cLZ"; */
+"Ynk-f8-cLZ.title" = "开始朗读";
+
+/* Class = "NSMenuItem"; title = "Show Substitutions"; ObjectID = "z6F-FW-3nz"; */
+"z6F-FW-3nz.title" = "显示替换";
+
+/* Class = "NSMenuItem"; title = "Starred"; ObjectID = "ZRx-me-QXO"; */
+"ZRx-me-QXO.title" = "星标";
+
+/* Class = "NSMenuItem"; title = "Group By Feed"; ObjectID = "Zxm-O6-NRE"; */
+"Zxm-O6-NRE.title" = "按订阅源分组";
+
diff --git a/Mac/zh-Hans.lproj/MainWindow.strings b/Mac/zh-Hans.lproj/MainWindow.strings
new file mode 100644
index 000000000..083eeeed6
--- /dev/null
+++ b/Mac/zh-Hans.lproj/MainWindow.strings
@@ -0,0 +1,36 @@
+/* Class = "NSMenuItem"; title = "Item 2"; ObjectID = "1F7-qu-7oN"; */
+"1F7-qu-7oN.title" = "Item 2";
+
+/* Class = "NSMenuItem"; title = "Sort"; ObjectID = "4BZ-ya-evy"; */
+"4BZ-ya-evy.title" = "排序方式";
+
+/* Class = "NSMenuItem"; title = "Newest Article on Top"; ObjectID = "40c-kt-vhO"; */
+"40c-kt-vhO.title" = "最新文章在顶部";
+
+/* Class = "NSOutlineView"; ibExternalAccessibilityDescription = "Feeds"; ObjectID = "cnV-kg-Dn2"; */
+"cnV-kg-Dn2.ibExternalAccessibilityDescription" = "订阅";
+
+/* Class = "NSTextFieldCell"; title = "HEADER CELL"; ObjectID = "dRB-0K-qxz"; */
+"dRB-0K-qxz.title" = "标题单元格";
+
+/* Class = "NSTextFieldCell"; title = "Label"; ObjectID = "dVE-XG-mlU"; */
+"dVE-XG-mlU.title" = "描述";
+
+/* Class = "NSWindow"; title = "NetNewsWire"; ObjectID = "IQv-IB-iLA"; */
+"IQv-IB-iLA.title" = "NetNewsWire";
+
+/* Class = "NSMenuItem"; title = "Item 3"; ObjectID = "r9E-FO-GoU"; */
+"r9E-FO-GoU.title" = "Item 3";
+
+/* Class = "NSMenuItem"; title = "Oldest Article on Top"; ObjectID = "sOF-Ez-vIL"; */
+"sOF-Ez-vIL.title" = "最旧文章在顶部";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "sXh-y7-12P"; */
+"sXh-y7-12P.title" = "文本单元格";
+
+/* Class = "NSMenuItem"; title = "Group by Feed"; ObjectID = "YSR-5C-Yjd"; */
+"YSR-5C-Yjd.title" = "按订阅源分组";
+
+/* Class = "NSMenuItem"; title = "Item 1"; ObjectID = "ZDH-CV-Y2s"; */
+"ZDH-CV-Y2s.title" = "Item 1";
+
diff --git a/Mac/zh-Hans.lproj/Preferences.strings b/Mac/zh-Hans.lproj/Preferences.strings
new file mode 100644
index 000000000..d43857cee
--- /dev/null
+++ b/Mac/zh-Hans.lproj/Preferences.strings
@@ -0,0 +1,126 @@
+/* Class = "NSWindow"; title = "Preferences"; ObjectID = "2C0-LP-36T"; */
+"2C0-LP-36T.title" = "偏好设置";
+
+/* Class = "NSMenuItem"; title = "Extra Extra Large"; ObjectID = "4Pi-2Y-XmV"; */
+"4Pi-2Y-XmV.title" = "最大";
+
+/* Class = "NSTextFieldCell"; title = "Download:"; ObjectID = "6bb-c0-guo"; */
+"6bb-c0-guo.title" = "下载:";
+
+/* Class = "NSMenuItem"; title = "Every 4 hours"; ObjectID = "7e2-TV-hth"; */
+"7e2-TV-hth.title" = "每 4 小时";
+
+/* Class = "NSMenuItem"; title = "Every 8 hours"; ObjectID = "7gV-gL-Nue"; */
+"7gV-gL-Nue.title" = "每 8 小时";
+
+/* Class = "NSButtonCell"; title = "Check for Updates"; ObjectID = "AaA-Rr-UYD"; */
+"AaA-Rr-UYD.title" = "检查更新";
+
+/* Class = "NSButtonCell"; title = "Mark articles as read on scroll"; ObjectID = "ANv-PZ-pn6"; */
+"ANv-PZ-pn6.title" = "滚动时标记文章为已读";
+
+/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "CcS-BO-sdv"; */
+"CcS-BO-sdv.title" = "表格视图单元格";
+
+/* Class = "NSTextFieldCell"; title = "Browser:"; ObjectID = "CgU-dE-Qtb"; */
+"CgU-dE-Qtb.title" = "浏览器:";
+
+/* Class = "NSMenuItem"; title = "Large"; ObjectID = "ckZ-0Q-rNz"; */
+"ckZ-0Q-rNz.title" = "大";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "Djh-3Q-J0Q"; */
+"Djh-3Q-J0Q.title" = "文本单元格";
+
+/* Class = "NSButtonCell"; title = "Check automatically"; ObjectID = "dm8-Xy-0Ba"; */
+"dm8-Xy-0Ba.title" = "自动检查";
+
+/* Class = "NSMenuItem"; title = "Manually only"; ObjectID = "doa-Wq-4Uq"; */
+"doa-Wq-4Uq.title" = "仅手动";
+
+/* Class = "NSTextFieldCell"; title = "Press the Shift key to do the opposite."; ObjectID = "EMq-9M-zTJ"; */
+"EMq-9M-zTJ.title" = "按下 Shift 键来执行相反的操作。";
+
+/* Class = "NSTextFieldCell"; title = "Safari Extension:"; ObjectID = "Eth-o0-pWM"; */
+"Eth-o0-pWM.title" = "Safari 扩展:";
+
+/* Class = "NSTextFieldCell"; title = "Refresh Feeds:"; ObjectID = "F7c-lm-g97"; */
+"F7c-lm-g97.title" = "刷新订阅:";
+
+/* Class = "NSButtonCell"; title = "Release builds"; ObjectID = "F8M-rS-und"; */
+"F8M-rS-und.title" = "发行版本";
+
+/* Class = "NSTextFieldCell"; title = "If you’re not sure, choose Release builds. Test builds may have bugs, which may include crashing bugs and data loss."; ObjectID = "fOZ-zv-QTc"; */
+"fOZ-zv-QTc.title" = "如果你不确定,请选择发行版本。测试版本可能存在导致崩溃和数据丢失的错误。";
+
+/* Class = "NSButtonCell"; title = "Test builds"; ObjectID = "Fuf-rU-D6M"; */
+"Fuf-rU-D6M.title" = "测试版本";
+
+/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "goO-QG-kk7"; */
+"goO-QG-kk7.title" = "表格视图单元格";
+
+/* Class = "NSViewController"; title = "General"; ObjectID = "iuH-lz-18x"; */
+"iuH-lz-18x.title" = "通用";
+
+/* Class = "NSMenuItem"; title = "Medium"; ObjectID = "jMV-2o-5Oh"; */
+"jMV-2o-5Oh.title" = "中";
+
+/* Class = "NSButtonCell"; title = "Send automatically"; ObjectID = "jnc-C5-4oI"; */
+"jnc-C5-4oI.title" = "自动发送";
+
+/* Class = "NSButtonCell"; title = "Privacy Policy"; ObjectID = "kSv-Wu-NYx"; */
+"kSv-Wu-NYx.title" = "隐私政策";
+
+/* Class = "NSTextFieldCell"; title = "Article Theme:"; ObjectID = "MQe-Za-N8J"; */
+"MQe-Za-N8J.title" = "文章主题:";
+
+/* Class = "NSMenuItem"; title = "Every 2 hours"; ObjectID = "o1h-xo-elW"; */
+"o1h-xo-elW.title" = "每 2 小时";
+
+/* Class = "NSMenuItem"; title = "Safari"; ObjectID = "ObP-qK-qDJ"; */
+"ObP-qK-qDJ.title" = "Safari";
+
+/* Class = "NSMenuItem"; title = "Default"; ObjectID = "Pkl-EA-Goa"; */
+"Pkl-EA-Goa.title" = "默认";
+
+/* Class = "NSTextFieldCell"; title = "Crash logs:"; ObjectID = "qcq-fU-Ks0"; */
+"qcq-fU-Ks0.title" = "崩溃日志:";
+
+/* Class = "NSMenuItem"; title = "Every hour"; ObjectID = "Qjt-qr-WER"; */
+"Qjt-qr-WER.title" = "每小时";
+
+/* Class = "NSMenuItem"; title = "Extra Large"; ObjectID = "qMe-6g-Vme"; */
+"qMe-6g-Vme.title" = "特大";
+
+/* Class = "NSMenuItem"; title = "Small"; ObjectID = "roB-Mu-Ht7"; */
+"roB-Mu-Ht7.title" = "小";
+
+/* Class = "NSMenuItem"; title = "Every 30 minutes"; ObjectID = "rZU-Tg-xwo"; */
+"rZU-Tg-xwo.title" = "每 30 分钟";
+
+/* Class = "NSButtonCell"; title = "Open feeds in default news reader"; ObjectID = "SkZ-tE-blK"; */
+"SkZ-tE-blK.title" = "在默认的新闻阅读器中打开订阅源";
+
+/* Class = "NSButtonCell"; title = "Open web pages in background in browser"; ObjectID = "t0a-LN-rCv"; */
+"t0a-LN-rCv.title" = "在浏览器后台打开网页";
+
+/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "uax-iF-gzP"; */
+"uax-iF-gzP.title" = "文本单元格";
+
+/* Class = "NSButtonCell"; title = "Open feeds in NetNewsWire"; ObjectID = "uvx-O8-HvU"; */
+"uvx-O8-HvU.title" = "在 NetNewsWire 中打开订阅源";
+
+/* Class = "NSTextFieldCell"; title = "Timeline:"; ObjectID = "wi9-yM-Ri0"; */
+"wi9-yM-Ri0.title" = "时间线:";
+
+/* Class = "NSTextFieldCell"; title = "Article Text Size:"; ObjectID = "xQu-QV-91i"; */
+"xQu-QV-91i.title" = "文章字体大小:";
+
+/* Class = "NSButtonCell"; title = "Open Themes Folder"; ObjectID = "ySX-5i-SP1"; */
+"ySX-5i-SP1.title" = "打开主题文件夹";
+
+/* Class = "NSMenuItem"; title = "Every 10 minutes"; ObjectID = "zmy-xe-mVw"; */
+"zmy-xe-mVw.title" = "每 10 分钟";
+
+/* Class = "NSTextFieldCell"; title = "App Updates:"; ObjectID = "zqG-X2-E9b"; */
+"zqG-X2-E9b.title" = "应用更新:";
+
diff --git a/Mac/zh-Hans.lproj/RenameSheet.strings b/Mac/zh-Hans.lproj/RenameSheet.strings
new file mode 100644
index 000000000..3005647d1
--- /dev/null
+++ b/Mac/zh-Hans.lproj/RenameSheet.strings
@@ -0,0 +1,12 @@
+/* Class = "NSTextFieldCell"; title = "<>"; ObjectID = "7Os-lV-Jer"; */
+"7Os-lV-Jer.title" = "<<重命名提示>>";
+
+/* Class = "NSButtonCell"; title = "Rename"; ObjectID = "gcS-uM-zjx"; */
+"gcS-uM-zjx.title" = "重命名";
+
+/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "oe4-cJ-2V8"; */
+"oe4-cJ-2V8.title" = "取消";
+
+/* Class = "NSWindow"; title = "Rename"; ObjectID = "QvC-M9-y7g"; */
+"QvC-M9-y7g.title" = "重命名";
+
diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj
index 9303cc15b..39fbdebed 100644
--- a/NetNewsWire.xcodeproj/project.pbxproj
+++ b/NetNewsWire.xcodeproj/project.pbxproj
@@ -1548,6 +1548,36 @@
B2B8075D239C49D300F191E0 /* RSImage-AppIcons.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "RSImage-AppIcons.swift"; sourceTree = ""; };
B2C12C6528F4C46800373730 /* URLPasteboardWriter+NetNewsWire.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "URLPasteboardWriter+NetNewsWire.swift"; sourceTree = ""; };
B528F81D23333C7E00E735DD /* page.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = page.html; sourceTree = ""; };
+ BDCB514D24282C8A00102A80 /* AccountsNewsBlur.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AccountsNewsBlur.xib; sourceTree = ""; };
+ C47370262A232A0100E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Main.strings"; sourceTree = ""; };
+ C47370272A232A0100E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "../zh-Hans.lproj/MainWindow.strings"; sourceTree = ""; };
+ C47370282A232A0100E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "../../../zh-Hans.lproj/RenameSheet.strings"; sourceTree = ""; };
+ C47370292A232A0200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "../zh-Hans.lproj/AddRedditFeedSheet.strings"; sourceTree = ""; };
+ C473702A2A232A0200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "../zh-Hans.lproj/AddWebFeedSheet.strings"; sourceTree = ""; };
+ C473702B2A232A0200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "../../zh-Hans.lproj/AddFolderSheet.strings"; sourceTree = ""; };
+ C473702C2A232A0200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "../zh-Hans.lproj/Preferences.strings"; sourceTree = ""; };
+ C473702D2A232A0200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/SafariExtensionViewController.strings"; sourceTree = ""; };
+ C473702E2A232A0200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/ShareViewController.strings"; sourceTree = ""; };
+ C473702F2A232A0200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/LaunchScreenPhone.strings"; sourceTree = ""; };
+ C47370302A232A0200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/LaunchScreenPad.strings"; sourceTree = ""; };
+ C47370312A232A0200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Main.strings"; sourceTree = ""; };
+ C47370322A232A0200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Intents.strings"; sourceTree = ""; };
+ C47370332A232A0200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/MainInterface.strings"; sourceTree = ""; };
+ C47370342A232A0200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; };
+ C47370352A232A0200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.stringsdict"; sourceTree = ""; };
+ C47370362A232A0200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; };
+ C47370372A232A0200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; };
+ C47370382A232A0200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; };
+ C47370392A232A0200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; };
+ C473703A2A232A0300E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; };
+ C473703B2A232A0300E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.stringsdict"; sourceTree = ""; };
+ C473703C2A232A2500E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; };
+ C473703D2A232A2D00E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; };
+ C473703E2A232A3200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; };
+ C473703F2A232A4300E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; };
+ C47370402A232A4900E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; };
+ C47370412A232A5200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; };
+ C47370422A232A5800E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; };
C5A6ED5123C9AF4300AB6BE2 /* TitleActivityItemSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TitleActivityItemSource.swift; sourceTree = ""; };
C5A6ED6C23C9B0C800AB6BE2 /* UIActivityViewController-Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIActivityViewController-Extensions.swift"; sourceTree = ""; };
D3555BF324664539005E48C3 /* ArticleSearchBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleSearchBar.swift; sourceTree = ""; };
@@ -3418,6 +3448,7 @@
en,
Base,
"en-GB",
+ "zh-Hans",
);
mainGroup = 849C64571ED37A5D003D8FC0;
packageReferences = (
@@ -4631,6 +4662,7 @@
children = (
1701E1B62568983D009453D8 /* en */,
DF93DB33296A4A8F00586C0E /* en-GB */,
+ C473703A2A232A0300E77890 /* zh-Hans */,
);
name = Localizable.strings;
sourceTree = "";
@@ -4640,6 +4672,7 @@
children = (
510C416324E5CDE3008226FD /* Base */,
DFB616B729653A0600A359AB /* en-GB */,
+ C473702E2A232A0200E77890 /* zh-Hans */,
);
name = ShareViewController.xib;
sourceTree = "";
@@ -4650,6 +4683,7 @@
511D43EE231FBDE800FB1562 /* Base */,
DF332716295BBBBF00BFD911 /* en */,
DFB616B929653A0700A359AB /* en-GB */,
+ C47370302A232A0200E77890 /* zh-Hans */,
);
name = LaunchScreenPad.storyboard;
sourceTree = "";
@@ -4660,6 +4694,7 @@
51314706235C41FC00387FDC /* Base */,
51314714235C420900387FDC /* en */,
DFB616BB29653A0700A359AB /* en-GB */,
+ C47370322A232A0200E77890 /* zh-Hans */,
);
name = Intents.intentdefinition;
sourceTree = "";
@@ -4669,6 +4704,7 @@
children = (
51333D3A2468615D00EB5C91 /* Base */,
DFB616B129653A0600A359AB /* en-GB */,
+ C47370292A232A0200E77890 /* zh-Hans */,
);
name = AddRedditFeedSheet.xib;
sourceTree = "";
@@ -4678,6 +4714,7 @@
children = (
513C5CEB232571C2003D4054 /* Base */,
DFB616BC29653A0700A359AB /* en-GB */,
+ C47370332A232A0200E77890 /* zh-Hans */,
);
name = MainInterface.storyboard;
sourceTree = "";
@@ -4687,6 +4724,7 @@
children = (
6581C73C20CED60100F4AD34 /* Base */,
DFB616B629653A0600A359AB /* en-GB */,
+ C473702D2A232A0200E77890 /* zh-Hans */,
);
name = SafariExtensionViewController.xib;
sourceTree = "";
@@ -4696,6 +4734,7 @@
children = (
848363012262A3BC00DA1D35 /* Base */,
DFB616B329653A0600A359AB /* en-GB */,
+ C473702A2A232A0200E77890 /* zh-Hans */,
);
name = AddWebFeedSheet.xib;
sourceTree = "";
@@ -4705,6 +4744,7 @@
children = (
848363042262A3CC00DA1D35 /* Base */,
DFB616B429653A0600A359AB /* en-GB */,
+ C473702B2A232A0200E77890 /* zh-Hans */,
);
name = AddFolderSheet.xib;
sourceTree = "";
@@ -4714,6 +4754,7 @@
children = (
848363072262A3DD00DA1D35 /* Base */,
DFB616AE29653A0600A359AB /* en-GB */,
+ C47370262A232A0100E77890 /* zh-Hans */,
);
name = Main.storyboard;
sourceTree = "";
@@ -4723,6 +4764,7 @@
children = (
8483630A2262A3F000DA1D35 /* Base */,
DFB616B029653A0600A359AB /* en-GB */,
+ C47370282A232A0100E77890 /* zh-Hans */,
);
name = RenameSheet.xib;
sourceTree = "";
@@ -4732,6 +4774,7 @@
children = (
8483630D2262A3FE00DA1D35 /* Base */,
DFB616AF29653A0600A359AB /* en-GB */,
+ C47370272A232A0100E77890 /* zh-Hans */,
);
name = MainWindow.storyboard;
sourceTree = "";
@@ -4741,6 +4784,7 @@
children = (
84C9FC8122629E4800D921D6 /* Base */,
DFB616B529653A0600A359AB /* en-GB */,
+ C473702C2A232A0200E77890 /* zh-Hans */,
);
name = Preferences.storyboard;
sourceTree = "";
@@ -4751,6 +4795,7 @@
84C9FCA02262A1B300D921D6 /* Base */,
DF332714295BBBB900BFD911 /* en */,
DFB616BA29653A0700A359AB /* en-GB */,
+ C47370312A232A0200E77890 /* zh-Hans */,
);
name = Main.storyboard;
sourceTree = "";
@@ -4761,6 +4806,7 @@
84C9FCA32262A1B800D921D6 /* Base */,
DF332718295BBBC200BFD911 /* en */,
DFB616B829653A0600A359AB /* en-GB */,
+ C473702F2A232A0200E77890 /* zh-Hans */,
);
name = LaunchScreenPhone.storyboard;
sourceTree = "";
@@ -4878,6 +4924,7 @@
children = (
DF6DE5092965907A002EC085 /* en */,
DF6DE5112965924C002EC085 /* en-GB */,
+ C47370372A232A0200E77890 /* zh-Hans */,
);
name = Localizable.strings;
sourceTree = "";
@@ -4886,6 +4933,7 @@
isa = PBXVariantGroup;
children = (
DF6DE50C2965924C002EC085 /* en-GB */,
+ C47370402A232A4900E77890 /* zh-Hans */,
);
name = InfoPlist.strings;
sourceTree = "";
@@ -4894,6 +4942,7 @@
isa = PBXVariantGroup;
children = (
DF6DE50F2965924C002EC085 /* en-GB */,
+ C47370412A232A5200E77890 /* zh-Hans */,
);
name = InfoPlist.strings;
sourceTree = "";
@@ -4902,6 +4951,7 @@
isa = PBXVariantGroup;
children = (
DF6DE5132965924C002EC085 /* en-GB */,
+ C473703E2A232A3200E77890 /* zh-Hans */,
);
name = InfoPlist.strings;
sourceTree = "";
@@ -4910,6 +4960,7 @@
isa = PBXVariantGroup;
children = (
DF6DE5172965924C002EC085 /* en-GB */,
+ C473703C2A232A2500E77890 /* zh-Hans */,
);
name = InfoPlist.strings;
sourceTree = "";
@@ -4918,6 +4969,7 @@
isa = PBXVariantGroup;
children = (
DF6DE51B2965924C002EC085 /* en-GB */,
+ C473703D2A232A2D00E77890 /* zh-Hans */,
);
name = InfoPlist.strings;
sourceTree = "";
@@ -4927,6 +4979,7 @@
children = (
DF6DE51F2965924D002EC085 /* en-GB */,
DF6DE5222965937C002EC085 /* en */,
+ C47370342A232A0200E77890 /* zh-Hans */,
);
name = Localizable.strings;
sourceTree = "";
@@ -4935,6 +4988,7 @@
isa = PBXVariantGroup;
children = (
DF6DE52429659443002EC085 /* en-GB */,
+ C473703F2A232A4300E77890 /* zh-Hans */,
);
name = InfoPlist.strings;
sourceTree = "";
@@ -4943,6 +4997,7 @@
isa = PBXVariantGroup;
children = (
DF6DE5272965971A002EC085 /* en-GB */,
+ C47370422A232A5800E77890 /* zh-Hans */,
);
name = InfoPlist.strings;
sourceTree = "";
@@ -4952,6 +5007,7 @@
children = (
DF93DB2C296A319000586C0E /* en */,
DF93DB2E296A324100586C0E /* en-GB */,
+ C47370352A232A0200E77890 /* zh-Hans */,
);
name = Localizable.stringsdict;
sourceTree = "";
@@ -4961,6 +5017,7 @@
children = (
DF93DB30296A42BD00586C0E /* en */,
DF93DB34296A4A9300586C0E /* en-GB */,
+ C473703B2A232A0300E77890 /* zh-Hans */,
);
name = Localizable.stringsdict;
sourceTree = "";
@@ -4970,6 +5027,7 @@
children = (
DFB616A82965300400A359AB /* en */,
DFB616BE29653A0700A359AB /* en-GB */,
+ C47370382A232A0200E77890 /* zh-Hans */,
);
name = Localizable.strings;
sourceTree = "";
@@ -4979,6 +5037,7 @@
children = (
DFB616AB2965300400A359AB /* en */,
DFB616BD29653A0700A359AB /* en-GB */,
+ C47370362A232A0200E77890 /* zh-Hans */,
);
name = Localizable.strings;
sourceTree = "";
@@ -4988,6 +5047,7 @@
children = (
DFD86797295D553D0070D62D /* en */,
DFB616BF29653A0700A359AB /* en-GB */,
+ C47370392A232A0200E77890 /* zh-Hans */,
);
name = Localizable.strings;
sourceTree = "";
diff --git a/Widget/Resources/zh-Hans.lproj/Localizable.strings b/Widget/Resources/zh-Hans.lproj/Localizable.strings
new file mode 100644
index 000000000..42e94a107
--- /dev/null
+++ b/Widget/Resources/zh-Hans.lproj/Localizable.strings
@@ -0,0 +1,51 @@
+/* Starred */
+"label.text.starred" = "星标";
+
+/* Today */
+"label.text.today" = "今日";
+
+/* Smart Feed Summary Widget */
+"label.text.unread" = "未读";
+
+/* Your smart feeds, summarized. */
+"widget.description.smart-feed-summary" = "智能订阅的摘要,准备就绪";
+
+/* A sneak peek at your starred articles. */
+"widget.description.starred" = "一些你的星标文章";
+
+/* When you mark articles as Starred, they'll appear here. */
+"widget.description.starred-no-items" = "这里显示添加星标的文章";
+
+/* A sneak peek at recently published unread articles. */
+"widget.description.today" = "一些最近发布的未读文章。";
+
+/* There are no recent unread articles left to read. */
+"widget.description.today-no-items" = "没有最近未读的文章了";
+
+/* A sneak peek at your unread articles. */
+"widget.description.unread" = "一些你未读的文章。";
+
+/* There are no unread articles left to read. */
+"widget.description.unread-no-items" = "没有未读的文章了";
+
+/* Your Smart Feed Summary */
+"widget.title.smart-feed-summary" = "你的智能订阅摘要";
+
+/* Your Starred Articles */
+"widget.title.starred" = "你的星标文章";
+
+/* Starred Widget */
+"widget.title.starred-no-items" = "星标";
+
+/* Your Today Articles */
+"widget.title.today" = "你的今日文章";
+
+/* Today Widget */
+"widget.title.today-no-items" = "今日";
+
+/* Bundle */
+"widget.title.unread" = "你的未读文章";
+
+/* Unread Widget */
+"widget.title.unread-no-items" = "未读";
+
diff --git a/Widget/Resources/zh-Hans.lproj/Localizable.stringsdict b/Widget/Resources/zh-Hans.lproj/Localizable.stringsdict
new file mode 100644
index 000000000..2347c8525
--- /dev/null
+++ b/Widget/Resources/zh-Hans.lproj/Localizable.stringsdict
@@ -0,0 +1,54 @@
+
+
+
+
+ starred.count.%lld
+
+ NSStringLocalizedFormatKey
+ %#@starred_count@
+ starred_count
+
+ NSStringFormatSpecTypeKey
+ NSStringPluralRuleType
+ NSStringFormatValueTypeKey
+ lld
+ other
+ 还有 + %lld 篇星标文章
+ zero
+ 没有更多星标文章
+
+
+ today.count.%lld
+
+ NSStringLocalizedFormatKey
+ %#@today_count@
+ today.count
+
+ NSStringFormatSpecTypeKey
+ NSStringPluralRuleType
+ NSStringFormatValueTypeKey
+ lld
+ other
+ 还有 + %lld 篇最近文章
+ zero
+ 没有更多最近文章
+
+
+ unread.count.%lld
+
+ NSStringLocalizedFormatKey
+ %#@unread_count@
+ unread_count
+
+ NSStringFormatSpecTypeKey
+ NSStringPluralRuleType
+ NSStringFormatValueTypeKey
+ lld
+ other
+ 还有 + %lld 篇未读文章
+ zero
+ 没有更多未读文章
+
+
+
+
diff --git a/Widget/zh-Hans.lproj/InfoPlist.strings b/Widget/zh-Hans.lproj/InfoPlist.strings
new file mode 100644
index 000000000..589789d0e
--- /dev/null
+++ b/Widget/zh-Hans.lproj/InfoPlist.strings
@@ -0,0 +1,6 @@
+/* Bundle display name */
+"CFBundleDisplayName" = "NetNewsWire 小组件";
+
+/* Bundle name */
+"CFBundleName" = "NetNewsWire iOS 小组件扩展";
+
diff --git a/iOS/Intents/zh-Hans.lproj/Intents.strings b/iOS/Intents/zh-Hans.lproj/Intents.strings
new file mode 100644
index 000000000..b5ef7baf2
--- /dev/null
+++ b/iOS/Intents/zh-Hans.lproj/Intents.strings
@@ -0,0 +1,57 @@
+/* (No Comment) */
+"4xjRes" = "你必须提供一个 URL。";
+
+/* (No Comment) */
+"5CYbGL" = "有 ${count} 个与“${folderName}”匹配的选项。";
+
+/* (No Comment) */
+"Ac5RHN" = "标题";
+
+/* (No Comment) */
+"BCHr23" = "URL";
+
+/* (No Comment) */
+"CSrgUY" = "账户名称";
+
+/* (No Comment) */
+"dkSFD2" = "将 ${url} 添加到 ${accountName} 的 ${folderName} 中。";
+
+/* (No Comment) */
+"ef5kBt" = "需要一个有效的文件夹名称";
+
+/* (No Comment) */
+"ExjqcE" = "无法连接 NetNewsWire。";
+
+/* (No Comment) */
+"HHiZUh" = "确认一下,你希望使用“${accountName}”吗?";
+
+/* (No Comment) */
+"IbqUVS" = "有 ${count} 个与“${accountName}”匹配的选项。";
+
+/* (No Comment) */
+"IGNcSh" = "这个订阅的 ${title} 是什么?";
+
+/* (No Comment) */
+"IuAbef" = "添加一个 Web 订阅";
+
+/* (No Comment) */
+"JGkCuS" = "需要一个有效的账户名称";
+
+/* (No Comment) */
+"jLLidQ" = "你想要添加的 ${url} 是什么?";
+
+/* (No Comment) */
+"k5GTo0" = "确认一下,你想要“${folderName}”?";
+
+/* (No Comment) */
+"kaKsEY" = "将 ${url} 添加到 ${accountName}";
+
+/* (No Comment) */
+"oV681v" = "添加 Web 订阅";
+
+/* (No Comment) */
+"uSfloN" = "无法连接 NetNewsWire。";
+
+/* (No Comment) */
+"zXhMPF" = "文件夹名称";
+
diff --git a/iOS/IntentsExtension/zh-Hans.lproj/InfoPlist.strings b/iOS/IntentsExtension/zh-Hans.lproj/InfoPlist.strings
new file mode 100644
index 000000000..7f813b0a2
--- /dev/null
+++ b/iOS/IntentsExtension/zh-Hans.lproj/InfoPlist.strings
@@ -0,0 +1,6 @@
+/* Bundle display name */
+"CFBundleDisplayName" = "NetNewsWire iOS Intents 扩展";
+
+/* Bundle name */
+"CFBundleName" = "NetNewsWire iOS Intents 扩展";
+
diff --git a/iOS/IntentsExtension/zh-Hans.lproj/Localizable.strings b/iOS/IntentsExtension/zh-Hans.lproj/Localizable.strings
new file mode 100644
index 000000000..ee4047cf1
--- /dev/null
+++ b/iOS/IntentsExtension/zh-Hans.lproj/Localizable.strings
@@ -0,0 +1,3 @@
+/* Unable to communicate with NetNewsWire. */
+"errordescription.localized.communication-failure" = "无法连接 NetNewsWire。";
+
diff --git a/iOS/Resources/zh-Hans.lproj/InfoPlist.strings b/iOS/Resources/zh-Hans.lproj/InfoPlist.strings
new file mode 100644
index 000000000..ea13576ec
--- /dev/null
+++ b/iOS/Resources/zh-Hans.lproj/InfoPlist.strings
@@ -0,0 +1,12 @@
+/* Bundle name */
+"CFBundleName" = "NetNewsWire";
+
+/* (No Comment) */
+"NetNewsWire Theme" = "NetNewsWire 主题";
+
+/* Privacy - Photo Library Additions Usage Description */
+"NSPhotoLibraryAddUsageDescription" = "授予相册权限以从文章中保存图标。";
+
+/* (No Comment) */
+"OPML" = "OPML";
+
diff --git a/iOS/Resources/zh-Hans.lproj/Localizable.strings b/iOS/Resources/zh-Hans.lproj/Localizable.strings
new file mode 100644
index 000000000..d4ad12ee7
--- /dev/null
+++ b/iOS/Resources/zh-Hans.lproj/Localizable.strings
@@ -0,0 +1,929 @@
+/* No comment provided by engineer. */
+"%@" = "%@";
+
+/* No comment provided by engineer. */
+"%@ (%@)" = "%1$@ (%2$@)";
+
+/* On My iPad */
+"account.name.ipad" = "我的 iPad";
+
+/* On My iPhone */
+"account.name.iphone" = "我的 iPhone";
+
+/* On My Mac */
+"account.name.mac" = "我的 Mac";
+
+/* Cancel */
+"action.title.cancel" = "取消";
+
+/* Delete */
+"action.title.delete" = "删除";
+
+/* More */
+"action.title.more" = "更多";
+
+/* Rename */
+"action.title.rename" = "重命名";
+
+/* Choose an account to receive the imported feeds and folders */
+"actionsheet.title.choose-opml-destination" = "选择一个带有要导出订阅的账户";
+
+/* Choose an account with the subscriptions to export */
+"actionsheet.title.choose-opml-export-account" = "选择一个带有要导出的订阅的帐户。";
+
+/* Find in Article */
+"activity.title.find-in-article.titlecase" = "在文章中查找";
+
+/* Open in Browser */
+"activity.title.open-in-browser" = "在浏览器中打开";
+
+/* See articles in “%@” */
+"activity.title.see-article-in.folder.%@" = "查看“%@”中的文章。";
+
+/* See first unread article */
+"activity.title.see-first-unread-article" = "查看第一篇未读文章";
+
+/* Unable to add iCloud Account. Please make sure you have iCloud and iCloud Drive enabled in System Settings. */
+"alert.error.cloudkit-missing" = "无法添加 iCloud 帐户。请确保在系统设置中启用 iCloud 和 iCloud 云盘。";
+
+/* There is already an account of that type with that username created. */
+"alert.error.duplicate-account-username" = "已经存在该类型且使用该用户名创建的帐户。";
+
+/* Invalid API URL. */
+"alert.error.invalid-api-url" = "无效的 API URL。";
+
+/* Error message: The user provided an invalid username or password. */
+"alert.error.invalid-username-or-password" = "需要提供用户名或密码。";
+
+/* Error message: Unable to save due a Keychain error. */
+"alert.error.keychain-error" = "由于钥匙串错误,帐户凭证无法保存。";
+
+/* Network error. Please try later. */
+"alert.error.network-error" = "发生了网络错误,请稍后重试。";
+
+/* Error message: This theme shares the same name as a provided theme and cannot be imported. */
+"alert.error.theme-duplicate-of-provided" = "该主题与提供的主题同名,无法导入。";
+
+/* The account type in invalid. */
+"alert.error.unrecognized-account" = "无法识别账户类型。";
+
+/* Error message: The user must provide a username and password. */
+"alert.error.username-and-password-required" = "需要提供用户名和密码。";
+
+/* The user must provide a username, password, and URL. */
+"alert.error.username-password-url-required" = "需要提供用户名、密码和 API URL。";
+
+/* Username required. */
+"alert.error.username-required" = "需要提供用户名。";
+
+/* The variable is the author's home page. In English, the alert message is: Author‘s website:\n%@ */
+"alert.message.author-website.%@" = "作者网站:\n%@";
+
+/* The action cannot be undone.
+ You can't undo this action. */
+"alert.message.cannot-undo-action" = "此操作无法撤销。";
+
+/* Asks the user for confirmation that they wish to delete a folder. The variable provided is the folder name. In English, the message is: Are you sure you want to delete the “%@” feed? */
+"alert.message.delete-feed.%@" = "你确定要删除“%@”吗?";
+
+/* Asks the user for confirmation that they wish to delete a folder. The variable provided is the folder name. In English, the message is: Are you sure you want to delete the “%@” folder? */
+"alert.message.delete-folder.%@" = "你确定要删除文件夹“%@”吗?";
+
+/* This device cannot send emails. */
+"alert.message.device-cannot-send-email" = "此设备无法发送电子邮件。";
+
+/* In English: The theme “%@” already exists. Do you want to overwrite it?
+ This message details that this theme is a duplicate and gives the user the option to overwrite the existing theme. In English, the message is: The theme “%@” already exists. Overwrite it? */
+"alert.message.duplicate-theme.%@" = "主题“%@”已经存在。是否覆盖?";
+
+/* To exit Full Screen mode tap the top of the screen.\n\nYou'll only see this message once. */
+"alert.message.exit-full-screen" = "请点击屏幕顶部以退出全屏。\n\n此消息只会出现一次。";
+
+/* Are you sure you want to import “%@” by %@ */
+"alert.message.import-theme.%@.%@" = "你确定要导入由 %2$@ 创作的“%1$@”吗?";
+
+/* The theme “%@” has been imported. */
+"alert.message.imported-theme-successfully.%@" = "主题“%@”已导入。";
+
+/* Message that indicates a user can turn off the Mark As Read confirmation in Settings. */
+"alert.message.markasread.turnoffconfirmation" = "你可以在设置中关闭此确认提示。";
+
+/* Subscriptions have been imported to your “%@“ account. */
+"alert.message.opml-import-success.%@" = "订阅已导入到你的 %@ 账户。";
+
+/* Your subscriptions have been exported successfully. */
+"alert.message.opml.opml-export-success" = "你的订阅已成功导出。";
+
+/* Error message when theme data is corrupted. The variable is a description provided by Apple. In English, the message is: This theme cannot be used because of data corruption in the Info.plist. %@. */
+"alert.message.theme-data-corrupted.%@" = "由于 Info.plist 中的数据损坏,无法使用此主题。%@。";
+
+/* This alert message provides confirmation that the theme has been installed. In English, the message is: The theme “%@” has been installed. */
+"alert.message.theme-installed.%@" = "已安装主题“%@”。";
+
+/* Error message when a key is missing. In English, the message is: This theme cannot be used because the the key—“%@”—is not found in the Info.plist. */
+"alert.message.theme-key-missing.%@" = "无法使用此主题,因为在 Info.plist 中找不到键“%@”。";
+
+/* Error message when a type is mismatched. In English, the message is: This theme cannot be used because the the type—“%@”—is mismatched in the Info.plist. */
+"alert.message.theme-type-mismatch.%@" = "无法使用此主题,因为在 Info.plist 中类型“%@”不匹配。";
+
+/* Error message when a value is missing. In English, the message is: This theme cannot be used because the the value—“%@”—is not found in the Info.plist. */
+"alert.message.theme-value-missing.%@" = "无法使用此主题,因为在 Info.plist 中找不到值“%@”。";
+
+/* Twitter Deprecation Message */
+"alert.message.twitter-deprecation-message" = "2023年2月1日,Twitter 宣布从2023年2月9日起停止免费访问 Twitter API。\n\n由于 Twitter 不提供 RSS 订阅,我们必须使用Twitter API。由于 API 开始收费,我们无法读取 Twitter 的订阅。\n\n我们保留了你的 Twitter 订阅。如果你在这些订阅中有任何星标的文章,只要不删除订阅源,它们将留在那里。\n\n你仍然可以阅读已经下载的内容。但是这些订阅将不再更新。";
+
+/* Are you sure you want to deactivate “%@“? */
+"alert.title.deactivate-extension.%@" = "你确定要停用“%@”吗?";
+
+/* Are you sure you want to deactivate the %@ extension “%@“? Note: the ordering of the variables is extension type, extension name. */
+"alert.title.deactive-extension.%@.%@" = "你确定要停用 %@ 扩展“%@”吗?";
+
+/* Delete folder */
+"alert.title.delete-folder" = "删除文件夹";
+
+/* In English: Are you sure you want to delete “%@”? */
+"alert.title.delete-theme.%@" = "你确定要删除“%@”吗?";
+
+/* Duplicate Theme */
+"alert.title.duplicate-theme" = "重复的主题";
+
+/* Alert Error
+ Error */
+"alert.title.error" = "错误";
+
+/* Full Screen */
+"alert.title.exit-full-screen" = "退出全屏";
+
+/* Import Theme */
+"alert.title.import-theme" = "导入主题";
+
+/* Imported Successfully */
+"alert.title.imported-theme-succesfully" = "导入成功";
+
+/* Install Theme */
+"alert.title.install-theme" = "安装主题";
+
+/* Variable ordering is theme name; author name. In English, the alert title is: Install theme “%@” by %@? */
+"alert.title.install-theme.%@.%@" = "安装由 %2$@ 创作的“%@”主题?";
+
+/* Mark As Read */
+"alert.title.markasread" = "标为已读";
+
+/* Alert title: Exported Successfully */
+"alert.title.opml.opml-export-success" = "导出成功";
+
+/* Alert title: Imported Successfully */
+"alert.title.opml.opml-import-success" = "导入成功";
+
+/* Are you sure you want to remove “%@“? */
+"alert.title.remove-account.%@" = "你确定要重命名“%@”吗?";
+
+/* Rename feed. The variable provided is the feed name. In English: Rename “%@” */
+"alert.title.rename-feed.%@" = "重命名“%@”";
+
+/* Theme installed */
+"alert.title.theme-installed" = "主题已安装";
+
+/* Twitter Integration Removed */
+"alert.title.twitter-integration-removed" = "已移除 Twitter 功能";
+
+/* Automatic */
+"appdefaults.colorpalette.automatic" = "自动";
+
+/* Dark */
+"appdefaults.colorpalette.dark" = "深色";
+
+/* Light */
+"appdefaults.colorpalette.light" = "浅色";
+
+/* Error - Reader View */
+"button.accessibility.title.error-readerview" = "错误 - 阅读器视图";
+
+/* Filter Read Feeds */
+"button.accessibility.title.filter-read-feeds" = "过滤已读订阅";
+
+/* Processing - Reader View */
+"button.accessibility.title.processing-readerview" = "处理中 - 阅读器视图";
+
+/* Reader View */
+"button.accessibility.title.readerview" = "阅读器视图";
+
+/* Selected - Filter Read Feeds */
+"button.accessibility.title.selected-filter-read-feeds" = "已选择 - 过滤已读订阅";
+
+/* Selected - Reader View */
+"button.accessibility.title.selected-readerview" = "已选择 - 阅读器视图";
+
+/* Every 2 Hours */
+"button.title.2-hours" = "每 2 小时";
+
+/* Every 4 Hours */
+"button.title.4-hours" = "每 4 小时";
+
+/* Every 8 Hours */
+"button.title.8-hours" = "每 8 小时";
+
+/* Every 10 Minutes */
+"button.title.10-minutes" = "每 10 分钟";
+
+/* Every 30 Minutes */
+"button.title.30-minutes" = "每 30 分钟";
+
+/* About */
+"button.title.about" = "关于";
+
+/* Activate Account */
+"button.title.activate-account" = "启用账户";
+
+/* Add Account */
+"button.title.add-account" = "添加账户";
+
+/* Add Folder */
+"button.title.add-folder" = "新建文件夹";
+
+/* Add Item */
+"button.title.add-item" = "添加项目";
+
+/* Add Reddit Feed */
+"button.title.add-reddit-feed" = "添加 Reddit 订阅";
+
+/* Add Web Feed */
+"button.title.add-web-feed" = "添加 Web 订阅";
+
+/* Add Twitter Feed */
+"button.title.addtwitterfeed" = "添加 Twitter 订阅";
+
+/* Button title: Always Use Reader View */
+"button.title.always-use-reader-view" = "总是使用阅读器视图";
+
+/* Article Themes */
+"button.title.artice-themes" = "文章主题";
+
+/* Button title
+ Cancel */
+"button.title.cancel" = "取消";
+
+/* Close */
+"button.title.close" = "关闭";
+
+/* Copy Article URL */
+"button.title.copy-article-url" = "拷贝文章 URL";
+
+/* Copy External URL */
+"button.title.copy-external-url" = "拷贝外部 URL";
+
+/* Copy Feed URL */
+"button.title.copy-feed-url" = "拷贝订阅源 URL";
+
+/* Copy Home Page URL */
+"button.title.copy-home-pageurl" = "拷贝主页 URL";
+
+/* Credentials */
+"button.title.credentials" = "凭证";
+
+/* Deactivate */
+"button.title.deactivate" = "停用";
+
+/* Deactivate Account */
+"button.title.deactivate-account" = "停用账户";
+
+/* Deactivate Extension */
+"button.title.deactivate-extension" = "停用扩展";
+
+/* Button title: Default */
+"button.title.default" = "默认";
+
+/* Delete
+ Delete Feed */
+"button.title.delete" = "删除";
+
+/* Delete feed */
+"button.title.delete-feed" = "删除订阅";
+
+/* Delete Feeds */
+"button.title.delete-feeds" = "删除订阅";
+
+/* Delete Feeds and Folders */
+"button.title.delete-feeds-and-folders" = "删除订阅和文件夹";
+
+/* Delete Folder */
+"button.title.delete-folder" = "删除文件夹";
+
+/* Delete Folders */
+"button.title.delete-folders" = "删除文件夹";
+
+/* Delete Theme */
+"button.title.delete-theme" = "删除主题";
+
+/* Dismiss */
+"button.title.dismiss" = "关闭";
+
+/* Display & Behaviors */
+"button.title.display-and-behaviors" = "显示和体验";
+
+/* Done */
+"button.title.done" = "完成";
+
+/* Enable Extension */
+"button.title.enable-extension" = "启用扩展";
+
+/* Every Hour */
+"button.title.every-hour" = "每小时";
+
+/* Export Subscriptions */
+"button.title.export-subscriptions" = "导出订阅";
+
+/* Full Screen */
+"button.title.full-screen" = "全屏";
+
+/* Get Info */
+"button.title.get-info" = "获取信息";
+
+/* Go To Feed. Use to navigate to the user to the article list for a feed. */
+"button.title.go-to-feed" = "前往订阅";
+
+/* Go To Feed. Use to navigate to the user to the article list for a feed. */
+"button.title.go-to-feed.titlecase" = "前往订阅";
+
+/* Import Subscriptions */
+"button.title.import-subscriptions" = "导入订阅";
+
+/* Import Theme */
+"button.title.import-theme" = "导入主题";
+
+/* Manage Accounts */
+"button.title.manage-accounts" = "管理账户";
+
+/* Manage Extensions */
+"button.title.manage-extensions" = "管理扩展";
+
+/* Manually */
+"button.title.manually" = "手动";
+
+/* Mark Above as Read. Used to mark articles above the current article as read. */
+"button.title.mark-above-as-read.titlecase" = "将上方文章标为已读";
+
+/* Mark All as Read */
+"button.title.mark-all-as-read" = "全部标为已读";
+
+/* Mark All as Read in ”feed”. The variable name is the feed name. */
+"button.title.mark-all-as-read.%@" = "将“%@”中的文章全部标为已读";
+
+/* Mark All as Read */
+"button.title.mark-all-as-read.titlecase" = "全部标为已读";
+
+/* Mark Article Unread */
+"button.title.mark-article-unread" = "将文章标为未读";
+
+/* Mark as Read */
+"button.title.mark-as-read" = "标为已读";
+
+/* Mark as Read
+ Mark as Read. Used to mark an article Read */
+"button.title.mark-as-read.titlecase" = "标为已读";
+
+/* Mark as Starred */
+"button.title.mark-as-starred" = "添加星标";
+
+/* Mark as Starred
+ Mark as Starred. Used to mark an article as starred */
+"button.title.mark-as-starred.titlecase" = "星标";
+
+/* Mark as Unread
+ Mark as Unread. Used to mark an article unread */
+"button.title.mark-as-unread.titlecase" = "标为未读";
+
+/* Mark as Unstarred
+ Mark as Unstarred. Used to mark an article as unstarred */
+"button.title.mark-as-unstarred.titlecase" = "取消星标";
+
+/* Mark Below as Read. Used to mark articles below the current article as read. */
+"button.title.mark-below-as-read.titlecase" = "将下方文章标为已读";
+
+/* Mark Read */
+"button.title.mark-read" = "标为已读";
+
+/* Mark Starred */
+"button.title.mark-starred" = "添加星标";
+
+/* Mark Unread */
+"button.title.mark-unread" = "标为未读";
+
+/* Mark Unstarred */
+"button.title.mark-unstarred" = "取消星标";
+
+/* More */
+"button.title.more" = "更多";
+
+/* NetNewsWire Help */
+"button.title.netnewswire-help" = "NetNewsWire 帮助";
+
+/* NetNewsWire Website */
+"button.title.netnewswire-website" = "NetNewsWire 官网";
+
+/* New Article Notifications */
+"button.title.new-article-notifications" = "新文章通知";
+
+/* Next */
+"button.title.next" = "下一个";
+
+/* Next Article */
+"button.title.next-article" = "新文章";
+
+/* Next Result */
+"button.title.next-result" = "下一个结果";
+
+/* Next Unread Article */
+"button.title.next-unread-article" = "下一个未读文章";
+
+/* Open */
+"button.title.open" = "打开";
+
+/* Open Home Page */
+"button.title.open-home-page" = "打开主页";
+
+/* Open In Browser */
+"button.title.open-in-browser" = "在浏览器中打开";
+
+/* Open Settings */
+"button.title.open-settings" = "打开设置";
+
+/* Open System Settings */
+"button.title.open-system-settings" = "打开系统设置";
+
+/* Overwrite */
+"button.title.overwrite" = "覆盖";
+
+/* Overwrite Theme */
+"button.title.overwrite-theme" = "覆盖主题";
+
+/* Previous Article */
+"button.title.previous-article" = "上一篇文章";
+
+/* Previous Result */
+"button.title.previous-result" = "上一个结果";
+
+/* Remove Account */
+"button.title.remove-account" = "移除账户";
+
+/* Rename */
+"button.title.rename" = "重命名";
+
+/* Selected - Mark Article Unread */
+"button.title.selected-mark-article-unread" = "已选择 - 标记文章为未读";
+
+/* Selected - Star Article */
+"button.title.selected-star-article" = "已选择 - 星标文章";
+
+/* Share */
+"button.title.share" = "共享";
+
+/* Show Feed Article */
+"button.title.show-feed-article" = "显示订阅文章";
+
+/* Show Reader View */
+"button.title.show-reader-view" = "显示阅读器视图";
+
+/* Show Website */
+"button.title.show-website" = "显示网站";
+
+/* Star. Used when marking an article as starred. */
+"button.title.star" = "星标";
+
+/* Star Article */
+"button.title.star-article" = "星标文章";
+
+/* Timeline Layout */
+"button.title.timeline-layout" = "时间线布局";
+
+/* Unstar. Used when removing the starred status from an article */
+"button.title.unstar" = "取消星标";
+
+/* Update Credentials */
+"button.title.update-credentials" = "更新凭证";
+
+/* Use iCloud */
+"button.title.use-cloudkit" = "使用 iCloud";
+
+/* Close Image */
+"Close Image" = "关闭图像";
+
+/* Unable to create extension. */
+"error.message.unable-to-create-extension" = "无法创建扩展。";
+
+/* Unable to communicate with NetNewsWire. */
+"errordescription.localized.communication-failure" = "无法连接 NetNewsWire。";
+
+/* Add Feed */
+"homescreen.action.add-feed" = "添加订阅";
+
+/* First Unread */
+"homescreen.action.first-unread" = "第一个未读";
+
+/* Search */
+"homescreen.action.search" = "搜索";
+
+/* Article Search */
+"keyboard.command.article-search" = "搜索文章";
+
+/* Clean Up */
+"keyboard.command.clean-up" = "清理";
+
+/* Find in Article */
+"keyboard.command.find-in-article" = "在文章中查找";
+
+/* Get Feed Info */
+"keyboard.command.get-feed-info" = "获取订阅信息";
+
+/* Go To All Unread */
+"keyboard.command.go-to-all-unread" = "前往 所有未读";
+
+/* Go To Settings */
+"keyboard.command.go-to-settings" = "前往 设置";
+
+/* Go To Starred */
+"keyboard.command.go-to-starred" = "前往 星标";
+
+/* Go To Today */
+"keyboard.command.go-to-today" = "前往 今日";
+
+/* Mark Above as Read */
+"keyboard.command.mark-above-as-read" = "将上方文章标为已读";
+
+/* Mark All as Read */
+"keyboard.command.mark-all-as-read" = "全部标为已读";
+
+/* Mark Below as Read */
+"keyboard.command.mark-below-as-read" = "将下方文章标为已读";
+
+/* New Folder */
+"keyboard.command.new-folder" = "新建文件夹";
+
+/* New Web Feed */
+"keyboard.command.new-web-feed" = "添加 Web 订阅";
+
+/* Next Unread */
+"keyboard.command.next-unread" = "下一个未读";
+
+/* Open In Browser */
+"keyboard.command.open-in-browser" = "在浏览器中打开";
+
+/* Refresh */
+"keyboard.command.refresh" = "刷新";
+
+/* Select Next Down */
+"keyboard.command.select-next-down" = "选择下一个";
+
+/* Select Next Up */
+"keyboard.command.select-next-up" = "选择上一个";
+
+/* Toggle Read Articles Filter */
+"keyboard.command.toggle-read-articles-filter" = "切换已读文章过滤器";
+
+/* Toggle Read Feeds Filter */
+"keyboard.command.toggle-read-feeds-filter" = "切换已读订阅过滤器";
+
+/* Toggle Read Status */
+"keyboard.command.toggle-read-status" = "切换已读状态";
+
+/* Toggle Reader View */
+"keyboard.command.toggle-reader-view" = "切换阅读器视图";
+
+/* Toggle Sidebar */
+"keyboard.command.toggle-sidebar" = "显示/折叠边栏";
+
+/* Toggle Starred Status */
+"keyboard.command.toggle-starred-status" = "切换星标状态";
+
+/* Collapse Folder */
+"label.accessibility.collapse-folder" = "折叠文件夹";
+
+/* Disclosure button collapsed state for accessibility */
+"label.accessibility.collapsed" = "已折叠";
+
+/* Expand Folder */
+"label.accessibility.expand-folder" = "已展开文件夹";
+
+/* Disclosure button expanded state for accessibility */
+"label.accessibility.expanded" = "已展开";
+
+/* Filter Read Articles */
+"label.accessibility.filter-read-artciles" = "过滤已读文章";
+
+/* Selected - Filter Read Articles */
+"label.accessibility.selected-filter-read-artciles" = "已选择 - 过滤已读文章";
+
+/* Unread label for accessiblity */
+"label.accessibility.unread" = "未读";
+
+/* Markdown formatted link to netnewswire.com */
+"label.markdown.netnewswire-website" = "[netnewswire.com](https://netnewswire.com)";
+
+/* Feed name */
+"label.placeholder.feed-name" = "订阅名称";
+
+/* In English, this shows the current search result selection out of the total number of search results. Example: 3 of 5. The variables are ordered as current selection, total search results count. */
+"label.search-results.%i.%i" = "%1$i/%2$i";
+
+/* Add, delete, enable, or disable accounts and extensions. */
+"label.text.account-and-extensions-explainer" = "添加、删除、启用或禁用账户和扩展。";
+
+/* Settings: Accounts & Extensions section header. */
+"label.text.accounts-and-extensions" = "账户 & 扩展";
+
+/* Active Accounts */
+"label.text.active-accounts" = "活跃账户";
+
+/* Active Extensions */
+"label.text.active-extensions" = "活跃扩展";
+
+/* Additional Contributors */
+"label.text.additional-contributors" = "其他贡献者";
+
+/* Settings: Appearance section header. */
+"label.text.appearance" = "外观";
+
+/* Manage the look, feel, and behavior of NetNewsWire. */
+"label.text.appearance-explainer" = "管理 NetNewsWire 的外观和体验";
+
+/* Application */
+"label.text.application" = "应用";
+
+/* Articles */
+"label.text.articles" = "文章";
+
+/* Sign in to your BazQux account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a BazQux account? [Sign Up Here](https://bazqux.com) */
+"label.text.bazqux-explainer" = "登录你的 BazQux 帐户以在设备间同步你的订阅。你的用户名和密码将被加密并存储在钥匙串中。\n\n还没有 BazQux 账户?\n\n[在这里注册](https://bazqux.com)";
+
+/* iCloud */
+"label.text.cloudkit-account" = "iCloud";
+
+/* Your iCloud account syncs your feeds across your Mac and iOS devices */
+"label.text.cloudkit-account-footer" = "你的 iCloud 帐户将在 Mac 和 iOS 设备之间同步你的订阅。";
+
+/* NetNewsWire will use your iCloud account to sync your subscriptions across your Mac and iOS devices. */
+"label.text.cloudkit-explainer" = "NetNewsWire 将使用你的 iCloud 帐户在 Mac 和 iOS 设备间同步你的订阅。";
+
+/* Default Themes */
+"label.text.default-themes" = "默认主题";
+
+/* These themes cannot be deleted. */
+"label.text.default-themes-explainer" = "这些主题无法删除。";
+
+/* Device Permissions */
+"label.text.device-permissions" = "设备权限";
+
+/* Configure NetNewsWire's access to Siri, background app refresh, mobile data, and more. */
+"label.text.device-permissions-explainer" = "配置 NetNewsWire 对 Siri、后台应用刷新、移动数据等的访问权限。";
+
+/* XX-Large */
+"label.text.extra-extra-large" = "最大";
+
+/* X-Large */
+"label.text.extra-large" = "特大";
+
+/* Feed Providers */
+"label.text.feed-providers" = "订阅服务提供商";
+
+/* Feed Providers allow you to subscribe to some pages as if they were RSS feeds */
+"label.text.feed-providers-explainer" = "订阅服务提供商允许你像订阅 RSS 一样订阅某些页面";
+
+/* Feed URL */
+"label.text.feed-url" = "订阅源 URL";
+
+/* Sign in to your Feedbin account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a Feedbin account? [Sign Up Here](https://feedbin.com/signup) */
+"label.text.feedbin-explainer" = "登录你的 Feedbin 帐户以在设备间同步你的订阅。你的用户名和密码将被加密并存储在钥匙串中。\n\n还没有 Feedbin 账户?\n\n[在这里注册](https://feedbin.com/signup)";
+
+/* Sign in to your FreshRSS instance and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have an FreshRSS instance? [Sign Up Here](https://freshrss.org) */
+"label.text.freshrss-explainer" = "登录你的 FreshRSS 帐户以在设备间同步你的订阅。你的用户名和密码将被加密并存储在钥匙串中。\n\n还没有 FreshRSS 账户?\n\n[在这里注册](https://freshrss.org)";
+
+/* Home Page */
+"label.text.home-page" = "主页";
+
+/* Icon Size */
+"label.text.icon-size" = "图标大小";
+
+/* Inactive Accounts */
+"label.text.inactive-accounts" = "不活跃账户";
+
+/* Sign in to your InoReader account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have an InoReader account? [Sign Up Here](https://www.inoreader.com) */
+"label.text.inoreader-explainer" = "登录你的 InoReader 帐户以在设备间同步你的订阅。你的用户名和密码将被加密并存储在钥匙串中。\n\n还没有 InoReader 账户?\n\n[在这里注册](https://www.inoreader.com)";
+
+/* Large */
+"label.text.large" = "大";
+
+/* Link: */
+"label.text.link" = "链接:";
+
+/* Local Account */
+"label.text.local-account" = "本地账户";
+
+/* Local accounts do not sync your feeds across devices */
+"label.text.local-account-explainer" = "本地账户不会在设备间同步你的订阅。";
+
+/* Medium */
+"label.text.medium" = "中";
+
+/* By Brent Simmons and the Ranchero Software team. */
+"label.text.netnewswire-byline" = "由 Brent Simmons 和 Ranchero Software 团队开发。";
+
+/* Sign in to your NewsBlur account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a NewsBlur account? [Sign Up Here](https://newsblur.com) */
+"label.text.newsblur-explainer" = "登录你的 NewsBlur 帐户以在设备间同步你的订阅。你的用户名和密码将被加密并存储在钥匙串中。\n\n还没有 NewsBlur 账户?\n\n[在这里注册](https://newsblur.com)";
+
+/* No results */
+"label.text.no-results" = "无结果";
+
+/* (No Text) */
+"label.text.no-text" = "(无文本)";
+
+/* Number of Lines */
+"label.text.number-of-lines" = "行数";
+
+/* Primary Contributors */
+"label.text.primary-contributors" = "主要贡献者";
+
+/* Self-Hosted Accounts */
+"label.text.self-hosted-accounts" = "自托管账户";
+
+/* Self-hosted accounts sync your feeds across all your devices */
+"label.text.self-hosted-accounts-explainer" = "自托管帐户可以在所有设备上同步你的订阅。";
+
+/* Small */
+"label.text.small" = "小";
+
+/* Starred */
+"label.text.starred" = "星标";
+
+/* Thanks */
+"label.text.thanks" = "鸣谢";
+
+/* Created by %@ */
+"label.text.theme-created-byline.%@" = "由 %@ 创建";
+
+/* Built-in Themes
+ Other Themes */
+"label.text.themes-builtin" = "";
+
+/* Sign in to your The Old Reader account and sync your feeds across your devices. Your username and password will be encrypted and stored in Keychain.\n\nDon’t have a The Old Reader account? [Sign Up Here](https://theoldreader.com) */
+"label.text.theoldreader-explainer" = "登录你的 The Old Reader 帐户以在设备间同步你的订阅。你的用户名和密码将被加密并存储在钥匙串中。\n\n还没有 The Old Reader 帐户?\n\n[在这里注册](https://theoldreader.com)";
+
+/* Third Party Themes */
+"label.text.third-party-themes" = "第三方主题";
+
+/* Timeline */
+"label.text.timeline" = "时间线";
+
+/* Unread */
+"label.text.unread" = "未读";
+
+/* Relative time that the account was last refreshed. The variable is a named relative time. Example: Updated 8 minutes ago */
+"label.text.updatedat.%@" = "更新于 %@";
+
+/* Text indicating that feeds have just been updated. Example: Updated Just Now */
+"label.text.updatednow" = "刚刚更新";
+
+/* Always Dark */
+"label.text.use-dark-appearance" = "总是保持深色";
+
+/* Use Device */
+"label.text.use-device-appearance" = "和设备同步";
+
+/* Always Light */
+"label.text.use-light-appearance" = "总是保持浅色";
+
+/* Web Account */
+"label.text.web-account" = "Web 账户";
+
+/* Web accounts sync your feeds across all your devices */
+"label.text.web-account-explainer" = "Web 账户会将你的订阅在所有设备间同步";
+
+/* Link to the NetNewsWire iCloud syncing limitations and soltutions website.
+ Link which opens webpage describing iCloud syncing limitations. */
+"link.markdown.icloud-limitations" = "[iCloud 同步限制 & 解决方案](https://netnewswire.com/help/iCloud)";
+
+/* Command */
+"Mark as Read Older Than" = "在早于以下日期时标为已读";
+
+/* Mark As Read on Scroll */
+"Mark As Read on Scroll" = "滚动时标为已读";
+
+/* Article Appearance menu title */
+"menu.title.articleappearance" = "文章样式";
+
+/* About */
+"navigation.title.about" = "关于";
+
+/* Add Account */
+"navigation.title.add-account" = "添加账户";
+
+/* Add Extensions */
+"navigation.title.add-extensions" = "添加扩展";
+
+/* Add Reddit Feed */
+"navigation.title.add-reddit-feed" = "添加 Reddit 订阅";
+
+/* Add Twitter Feed */
+"navigation.title.add-twitter-feed" = "添加 Twitter 订阅";
+
+/* Article Themes */
+"navigation.title.article-themes" = "文章主题";
+
+/* Display & Behaviors */
+"navigation.title.display-and-behaviors" = "显示和体验";
+
+/* Enter Name */
+"navigation.title.enter-name" = "输入名称";
+
+/* Enter Search */
+"navigation.title.enter-search" = "输入搜索";
+
+/* Manage Accounts */
+"navigation.title.manage-accounts" = "管理账户";
+
+/* Manage Extensions */
+"navigation.title.manage-extensions" = "管理扩展";
+
+/* New Article Notifications */
+"navigation.title.new-article-notifications" = "新文章通知";
+
+/* Settings */
+"navigation.title.settings" = "设置";
+
+/* Timeline Layout */
+"navigation.title.timeline-layout" = "时间线布局";
+
+/* Search Articles */
+"searchbar.placeholder.searcharticles" = "搜索文章";
+
+/* Title used when desribing the search when scoped to all articles. */
+"searchbar.scope.allarticles" = "全部文章";
+
+/* Title used when describing the search when scoped to the current timeline. */
+"searchbar.scope.here" = "仅当前订阅";
+
+/* All Unread pseudo-feed title */
+"smartfeed.title.allunread" = "所有未读";
+
+/* Starred pseudo-feed title */
+"smartfeed.title.starred" = "星标";
+
+/* Today pseudo-feed title */
+"smartfeed.title.today" = "今日";
+
+/* Smart Feeds group title */
+"smartfeeds.title" = "智能订阅";
+
+/* Email Address */
+"textfield.placeholder.email-address" = "电子邮箱地址";
+
+/* Name */
+"textfield.placeholder.name" = "名称";
+
+/* Password */
+"textfield.placeholder.password" = "密码";
+
+/* Screen Name */
+"textfield.placeholder.screen-name" = "显示名称";
+
+/* Search: */
+"textfield.placeholder.search" = "搜索:";
+
+/* Search Term or #hashtag */
+"textfield.placeholder.search-term-hashtag" = "搜索词语或者 #标签";
+
+/* Username */
+"textfield.placeholder.username" = "用户名";
+
+/* Username or Email */
+"textfield.placeholder.username-or-email" = "用户名或邮箱";
+
+/* Active */
+"toggle.account.active" = "活跃";
+
+/* Always Show Reader View */
+"toggle.title.always-show-reader-view" = "始终显示阅读器视图";
+
+/* Confirm Mark All as Read */
+"toggle.title.confirm-mark-all-as-read" = "确认全部标为已读";
+
+/* Group by Feed */
+"toggle.title.group-by-feed" = "按订阅源分组";
+
+/* New Article Notifications */
+"toggle.title.notify-about-new-articles" = "新文章通知";
+
+/* Open Links in NetNewsWire */
+"toggle.title.open-links-in-netnewswire" = "在 NetNewsWire 中打开链接";
+
+/* Refresh to Clear Articles */
+"toggle.title.refresh-to-clear-articles" = "刷新后清除文章";
+
+/* Sort Oldest to Newest */
+"toggle.title.sort-oldest-to-newest" = "按从老到新排序";
+
+/* Unknown Value */
+"Unknown" = "未知";
+
+/* Unread label for accessibility */
+"unread" = "未读";
+
diff --git a/iOS/ShareExtension/zh-Hans.lproj/InfoPlist.strings b/iOS/ShareExtension/zh-Hans.lproj/InfoPlist.strings
new file mode 100644
index 000000000..bb8f7ec18
--- /dev/null
+++ b/iOS/ShareExtension/zh-Hans.lproj/InfoPlist.strings
@@ -0,0 +1,6 @@
+/* Bundle display name */
+"CFBundleDisplayName" = "NetNewsWire iOS 共享扩展";
+
+/* Bundle name */
+"CFBundleName" = "NetNewsWire iOS 共享扩展";
+
diff --git a/iOS/ShareExtension/zh-Hans.lproj/Localizable.strings b/iOS/ShareExtension/zh-Hans.lproj/Localizable.strings
new file mode 100644
index 000000000..15ba1633f
--- /dev/null
+++ b/iOS/ShareExtension/zh-Hans.lproj/Localizable.strings
@@ -0,0 +1,18 @@
+/* Automatic */
+"appdefaults.colorpalette.automatic" = "自动";
+
+/* Dark */
+"appdefaults.colorpalette.dark" = "深色";
+
+/* Light */
+"appdefaults.colorpalette.light" = "浅色";
+
+/* Add Feed */
+"button.title.add-feed" = "添加订阅";
+
+/* Folder */
+"navigation.title.folder" = "文件夹";
+
+/* Feed Name (Optional) */
+"textfield.placeholder.feed-name" = "订阅名称(可选)";
+
diff --git a/iOS/ShareExtension/zh-Hans.lproj/MainInterface.strings b/iOS/ShareExtension/zh-Hans.lproj/MainInterface.strings
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/iOS/ShareExtension/zh-Hans.lproj/MainInterface.strings
@@ -0,0 +1 @@
+
diff --git a/iOS/zh-Hans.lproj/LaunchScreenPad.strings b/iOS/zh-Hans.lproj/LaunchScreenPad.strings
new file mode 100644
index 000000000..c7c737b68
--- /dev/null
+++ b/iOS/zh-Hans.lproj/LaunchScreenPad.strings
@@ -0,0 +1,6 @@
+/* Class = "UIBarButtonItem"; title = "Item"; ObjectID = "AK3-N5-4ke"; Note = "Settings bar button item"; */
+"AK3-N5-4ke.title" = "Item";
+
+/* Class = "UINavigationItem"; title = "Feeds"; ObjectID = "lE1-xw-gjH"; Note = "Navigation bar title: Feeds"; */
+"lE1-xw-gjH.title" = "订阅";
+
diff --git a/iOS/zh-Hans.lproj/LaunchScreenPhone.strings b/iOS/zh-Hans.lproj/LaunchScreenPhone.strings
new file mode 100644
index 000000000..b4d67abd1
--- /dev/null
+++ b/iOS/zh-Hans.lproj/LaunchScreenPhone.strings
@@ -0,0 +1,6 @@
+/* Class = "UIBarButtonItem"; title = "Item"; ObjectID = "AK3-N5-4ke"; Note = "Bar button item: Settings"; */
+"AK3-N5-4ke.title" = "Item";
+
+/* Class = "UINavigationItem"; title = "Feeds"; ObjectID = "lE1-xw-gjH"; Note = "Navigation bar title: Feeds"; */
+"lE1-xw-gjH.title" = "订阅";
+
diff --git a/iOS/zh-Hans.lproj/Main.strings b/iOS/zh-Hans.lproj/Main.strings
new file mode 100644
index 000000000..f87f06a7e
--- /dev/null
+++ b/iOS/zh-Hans.lproj/Main.strings
@@ -0,0 +1,42 @@
+/* Class = "UILabel"; text = "Label"; ObjectID = "0Hz-Dv-MhU"; Note = "This does not need to be localized as it is provided by feed data."; */
+"0Hz-Dv-MhU.text" = "Label";
+
+/* Class = "UIBarButtonItem"; title = "Next Article"; ObjectID = "2qz-M5-Yhk"; Note = "Button title: Next Article"; */
+"2qz-M5-Yhk.title" = "下一篇文章";
+
+/* Class = "UIBarButtonItem"; title = "Next Unread"; ObjectID = "2w5-e9-C2V"; Note = "Button title: Next Unread"; */
+"2w5-e9-C2V.title" = "下一篇未读文章";
+
+/* Class = "UILabel"; text = "Blog Author"; ObjectID = "7GV-PV-YVq"; Note = "This does not need to be localized as it is provided by feed data."; */
+"7GV-PV-YVq.text" = "Blog Author";
+
+/* Class = "UIBarButtonItem"; title = "Item"; ObjectID = "fTv-eX-72r"; Note = "Mark All as Read button title."; */
+"fTv-eX-72r.title" = "Item";
+
+/* Class = "UIBarButtonItem"; title = "Toggle Read"; ObjectID = "hy0-LS-MzE"; Note = "Button title: Toggle Read"; */
+"hy0-LS-MzE.title" = "切换已读/未读";
+
+/* Class = "UILabel"; text = "Article Title"; ObjectID = "iFp-rn-HhQ"; Note = "This does not need to be localized as it is provided by feed data."; */
+"iFp-rn-HhQ.text" = "Article Title";
+
+/* Class = "UIViewController"; title = "Detail"; ObjectID = "JEX-9P-axG"; */
+"JEX-9P-axG.title" = "详细信息";
+
+/* Class = "UIBarButtonItem"; title = "Settings"; ObjectID = "TlU-Pg-ATe"; Note = "Settings bar button item."; */
+"TlU-Pg-ATe.title" = "设置";
+
+/* Class = "UIBarButtonItem"; title = "Previous Article"; ObjectID = "v4j-fq-23N"; Note = "Button title: Previous Article"; */
+"v4j-fq-23N.title" = "上一篇文章";
+
+/* Class = "UINavigationItem"; title = "Timeline"; ObjectID = "wcC-1L-ug4"; Note = "Title used in the navigation bar for the Timeline."; */
+"wcC-1L-ug4.title" = "时间线";
+
+/* Class = "UIBarButtonItem"; title = "Toggle Starred"; ObjectID = "wU4-eH-wC9"; Note = "Button title: Toggle Starred"; */
+"wU4-eH-wC9.title" = "切换星标状态";
+
+/* Class = "UILabel"; text = "Blog Name"; ObjectID = "YsT-Lt-Zry"; Note = "This does not need to be localized as it is provided by feed data."; */
+"YsT-Lt-Zry.text" = "Blog Name";
+
+/* Class = "UINavigationItem"; title = "Feeds"; ObjectID = "Zdf-7t-Un8"; Note = "Title used in the navigation bar for the Feeds list."; */
+"Zdf-7t-Un8.title" = "订阅";
+