Merge remote-tracking branch 'origin/master'

pull/1959/head
kunfei 2 years ago
commit fb7d29df9e
  1. 1666
      app/schemas/io.legado.app.data.AppDatabase/50.json
  2. 265
      app/src/main/assets/help/appHelp.md
  3. 4
      app/src/main/assets/updateLog.md
  4. 5
      app/src/main/java/io/legado/app/data/AppDatabase.kt
  5. 10
      app/src/main/java/io/legado/app/data/entities/BookSource.kt
  6. 33
      app/src/main/java/io/legado/app/data/entities/RssSource.kt
  7. 7
      app/src/main/java/io/legado/app/model/localBook/EpubFile.kt
  8. 3
      app/src/main/java/io/legado/app/model/localBook/LocalBook.kt
  9. 6
      app/src/main/java/io/legado/app/ui/book/cache/CacheViewModel.kt
  10. 22
      app/src/main/java/io/legado/app/ui/book/info/BookInfoActivity.kt
  11. 10
      app/src/main/java/io/legado/app/ui/book/source/edit/BookSourceEditActivity.kt
  12. 14
      app/src/main/java/io/legado/app/ui/rss/article/RssSortActivity.kt
  13. 2
      app/src/main/java/io/legado/app/ui/rss/read/ReadRssActivity.kt
  14. 8
      app/src/main/java/io/legado/app/ui/rss/source/edit/RssSourceEditActivity.kt
  15. 3
      app/src/main/res/values-es-rES/strings.xml
  16. 3
      app/src/main/res/values-ja-rJP/strings.xml
  17. 3
      app/src/main/res/values-pt-rBR/strings.xml
  18. 3
      app/src/main/res/values-zh-rHK/strings.xml
  19. 3
      app/src/main/res/values-zh-rTW/strings.xml
  20. 405
      app/src/main/res/values-zh/strings.xml
  21. 3
      app/src/main/res/values/strings.xml

File diff suppressed because it is too large Load Diff

@ -1,190 +1,215 @@
# 帮助文档
## **新人必读**
【温馨提醒】 *本帮助可以在“**我的**”——右上角帮助按钮再次打开,更新前一定要做好备份,以免数据丢失!*
【温馨提醒】 *本帮助可以在我的-右上角帮助按钮再次打开,更新前一定要做好备份,以免数据丢失!*
## 新人必读
1. 为什么第一次安装好之后什么东西都没有?
* 阅读只是一个转码工具,不提供内容,第一次安装app,需要自己手动导入书源,可以从公众号 **[开源阅读]**、QQ群、酷安评论里获取由书友制作分享的书源。
### 1. 为什么第一次安装好之后什么东西都没有?
阅读只是一个转码工具,不提供内容,第一次安装 APP,需要自己手动导入书源,可以从公众号 **【开源阅读】**、QQ 群或酷安评论里获取由书友制作分享的书源。
2. 正文出现缺字漏字、内容缺失、排版错乱等情况,如何处理?
* 有可能是净化规则出现问题,先关闭替换净化并刷新,再观察是否正常。如果正常说明净化规则存在误杀,如果关闭后仍然出现相关问题,请点击源链接查看原文与正文是否相同,如果不同,再进行反馈。
### 2. 正文出现缺字漏字、内容缺失或排版错乱等情况,如何处理?
有可能是净化规则出现问题,先关闭替换净化并刷新,再观察是否正常。如果正常说明净化规则存在误杀,如果关闭后仍然出现相关问题,请点击源链接查看原文与正文是否相同,如果不同,再进行反馈。
3. 漫画源看书显示乱码,如何解决?
* 异次元和阅读是两个不同的软件,**两个软件的源并不通用**,请导入阅读的支持的漫画源!
### 3. 漫画源看书显示乱码,如何解决?
【异次元】和【阅读】是两个不同的软件,**两个软件的源并不通用**,请导入阅读的支持的漫画源!
## 书源相关
1. 如何导入本地书源文件?
* 下载群文件里的书源文件(书源格式后缀有txt、json,其中json文件某些情况下无法导入,需要修改后缀为txt格式才可导入);
* 打开阅读软件;
* 我的 - 点击“书源管理”;
* 点击右上角选择“本地导入”;
### 1. 如何导入本地书源文件?
以导入 QQ 接收到的书源文件为例:
* 下载群文件里的书源文件;
* 打开【阅读】软件;
* 点击“**我的**”——“**书源管理**”;
* 点击右上角选择“**本地导入**”;
* 左下角选择书源文件所在的路径;
* 点击书源文件导入;
* 导入后返回书源管理界面;
* 新版qq下载路径:Android/data/com.tencent.mobileqq/Tencent/QQfile_recv/
![QQ导入书源](https://cdn.jsdelivr.net/gh/gedoor/gedoor.github.io@master/images/importSource.jpg)
**【注】**
1. *新版 QQ 文件下载路径:`Android/data/com.tencent.mobileqq/Tencent/QQfile_recv/`。*
2. *书源格式后缀有 .txt 和 .json,其中 .json 文件在某些情况下可能无法导入,需要修改后缀为 .txt 才可导入。*
![QQ 导入书源](https://cdn.jsdelivr.net/gh/gedoor/gedoor.github.io@master/images/importSource.jpg)
2. 如何新建大佬发的单独书源?
### 2. 如何新建大佬发的单独书源?
* 复制书源代码;
* 打开阅读软件;
* 我的 - 点击“书源管理”;
* 右上角选择“新建书源”;
* 进入新建书源后点击右上角“粘贴源”;
* 粘贴书源完成后点击上方保存;
* 点击“**我的**”——“**书源管理**”;
* 右上角“**⁝**”——“**+ 新建书源**”;
* 进入后点击右上角“**⁝**”——“**粘贴源**”;
* 粘贴完成后点击上方保存“**🖫**”按钮
* 本次新建单独书源操作完成。
* 注:如果书源有错误或者复制不全会显示格式错误,请重新复制。
3. 为什么导入2.0书源后无法阅读?
* 部分2.0书源并不适用于3.0版本的阅读,建议导入后进行筛选。
**【注】** *如果书源有错误或者复制不全会显示格式错误,请重新复制。*
4. 阅读2.0数据如何导入阅读3.0
* 先对阅读2.0的数据进行备份,然后进入阅读3.0,点击“我的”,选择“备份与恢复”,再点击“导入旧版本数据”
### 3. 为什么导入 2.0 书源后无法阅读
部分 2.0 书源并不适用于 3.0 版本的阅读,建议导入后进行筛选
5. 如何给朋友分享我的书源?
* 打开阅读软件;
### 4. 【阅读】2.0 数据如何导入【阅读】3.0?
先对【阅读】2.0 的数据进行备份,然后进入【阅读】3.0,点击“**我的**”,选择“**备份与恢复**”,再点击“**导入旧版本数据**”。
### 5. 如何给朋友分享我的书源?
* 打开【阅读】软件;
* 点击备份;
* 打开手机自带的文件管理;
* 手机自带内存根目录找到YueDu3.0文件夹;
* 找到myBookSource.json长按选择分享;
* 选择微信分享或者QQ分享;
* 打开手机系统自带的文件管理;
* 手机内根目录找到 `YueDu3.0` 文件夹;
* 找到 `myBookSource.json`长按选择分享;
* 选择微信分享或者 QQ 分享;
* 选择你要分享的好友点击发送;
* 好友接收后在手机自带内存根目录找到myBookSource.json文件(最新版QQ 安卓10及以下版本在Android/data/com.tencent.mobileqq/Tencent/QQfile_recv/,安卓11版本用户由于系统限制无法访问data目录,微信在Tencent/MicroMsg/Download);
* 复制该文件到手机自带内存根目录找到YueDu3.0文件夹(如已有该文件请先删除该文件或者备份到其他地方再复制到文件夹);
* 打开阅读软件点击恢复。
* 注:备份路径如已修改过请在修改后的路径下查找书源文件。
* 好友接收后在手机内置存储根目录找到 `myBookSource.json` 文件;
* 复制该文件到手机内置存储根目录找到 `YueDu3.0` 文件夹(如已有该文件请先删除该文件或者备份到其他地方再复制到文件夹);
* 打开【阅读】软件点击恢复。
6. 效验书源显示失效就说明书源不能用了吗?
* 效验书源只是测试书源,可以做个参考,失效了不代表书源不能用了。
**【注】**
1. *备份路径如已修改过请在修改后的路径下查找书源文件。*
2. *Android 10 及以下版本系统,新版 QQ 文件接收路径在 `Android/data/com.tencent.mobileqq/Tencent/QQfile_recv/`,旧版 QQ 文件接收路径则在 `Tencent/QQfile_recv/`;新版微信文件接收路径在 `Android/data/com.tencent.mobileqq/Tencent/MicroMsg/Download`,旧版微信文件接收路径则在 `Tencent/MicroMsg/Download`。*
3. *Android 11 及以上系统版本用户,由于系统限制,无法访问 `Android/data` 目录。*
7. 发现和正版书源能不能使用?
* 发现和正版书源只能用来找书,看排行榜,不能用来看书,如需看书请切换书源
### 6. 效验书源显示失效就说明书源不能用了吗
效验书源只是测试书源,可以做为参考,但失效了不代表书源不能用了
8. 为什么书源这么多,发现里却只有一点点?
* 书源想要在发现界面里显示需要在书源里添加发现规则,并不是所有书源都有发现规则。
### 7. “发现”和正版书源能不能使用?
发现和正版书源只能用来找书或看排行榜,不能用来看书,如需看书请切换书源。
### 8. 为什么书源这么多,“发现”里却只有一点点?
书源想要在发现界面里显示需要在书源里添加发现规则,并不是所有书源都有发现规则。
## 本地书籍相关
1. 目前阅读支持哪些格式的本地书籍?
* 目前支持TXT、EPUB格式
2. 如何导入本地书籍?
* 在书架页面点击右上角,选择“添加本地”,授予相关权限后即可导入本地书籍。也可在文件管理器中使用 **阅读** 打开相关书籍。
### 1. 目前阅读支持哪些格式的本地书籍?
目前支持 TXT 和 EPUB 格式。
### 2. 如何导入本地书籍?
在书架页面点击右上角“**⁝**”,选择“**添加本地**”,授予相关权限后即可导入本地书籍。也可在文件管理器中使用【阅读】打开相关书籍。
3. 导入TXT文件提示“LoadTocError”或“List is empty”是怎么回事?
* 请先去应用详情中确认是否授予了阅读“读写手机存储”的权限。
### 3. 导入 TXT 文件提示“LoadTocError”或“List is empty”是怎么回事?
* 请先去应用详情中确认是否授予了阅读“读写手机存储”的权限。
* 自动识别目录失败,可能是相关目录规则未开启,请点击右上角的换源按钮手动更换目录规则。
* 如果尝试所有规则均无法识别,请在github上提交issue并附件相关txt文件,也可以发送邮件至i@qnmlgb.trade(标题:legado本地文件章节无法识别,内容对其具体情况进行简要说明,附件上传相关txt文件)。
4. 如何下载书籍到本地?
* 把在线书籍加入到书架后,在书架页面点击右上角,选择“离线缓存”即可。
如果尝试所有规则均无法识别,请在 GitHub 上提交 Issue 并附上相关 TXT 文件,也可以发送邮件至 i@qnmlgb.trade(标题:legado 本地文件章节无法识别;内容对其具体情况进行简要说明,附件上传相关 TXT 文件)。
### 4. 如何下载书籍到本地?
把在线书籍加入到书架后,在书架页面点击右上角,选择“**离线缓存**”即可。
5. 如何自定义导出的txt/epub文件名称?
* 点击 **离线缓存** - **导出文件名**.
### 5. 如何自定义导出的 TXT 或 EPUB 文件名称?
* 点击“**离线缓存**“——”**导出文件名**“
* 使用方法:
- 导出文件名支持js语法
- 可用变量: name - 书名 author-作者
- 示例:
> {name+"作者:"+author}
- 导出文件名支持 js 语法
- 可用变量: name(书名)和 author(作者)
- 示例:
> name + "作者:" + author
- 导出文件名:
> Legado是最好的在线阅读软件 作者: kunfei.
> Legado 是最好的在线阅读软件 作者: kunfei
**注意:** name、author等变量与字符串的拼接都需要在js环境中进行,即必须使用{ } 将变量与字符串包裹起来.
**【注】** *name、author 等变量与字符串的拼接都需要在 JSON 上下文环境中进行,即必须使用 `{}` 将变量与字符串包裹起来。*
6. 为什么我打开本地的TXT文件,显示内容却是乱码?
* 部分编码在阅读上会识别错误,建议先用文本编辑器转换为常用的UTF-8格式。
### 6. 为什么我打开本地的 TXT 文件,显示内容却是乱码?
部分编码在阅读上会识别错误,建议先用文本编辑器转换为常用的 UTF-8 格式。
7. 阅读对部分把正文(如所有含引号的句子)识别成标题,如何解决?
* 点击右上角更换目录规则即可。
### 7. 阅读对部分把正文(如所有含引号的句子)识别成标题,如何解决?
点击右上角更换目录规则即可。
## 书籍界面相关
1. 如何刷新书架?
* 在书架界面下拉即可刷新。
### 1. 如何刷新书架?
在书架界面下拉即可刷新。
2. 书架界面书籍右上角的红色或者灰色背景小数字代表什么?
* 红色代表书籍有更新,灰色代表无更新,数字代表未读章节。
### 2. 书架界面书籍右上角的红色或者灰色背景小数字代表什么?
红色代表书籍有更新,灰色代表无更新,数字代表未读章节。
3. 如何查看书籍详情?
* 长按书籍。
### 3. 如何查看书籍详情?
长按书籍即可查看
4. 如何对书架上的书进行删除、切换书架的操作?
* 书籍详情页操作即可。
### 4. 如何对书架上的书进行删除、切换书架的操作?
书籍详情页操作即可。
5. 如何禁止或允许某本书更新?
* 书籍详情页,点击右上角 - “允许更新”。
### 5. 如何禁止或允许某本书更新?
书籍详情页,点击右上角——“**允许更新**”。
6. 如何更换小说封面、名字、作者或简介?
* 书籍详情页,点击右上角修改按钮。
### 6. 如何更换小说封面、名字、作者或简介?
书籍详情页,点击右上角修改按钮。
7. 怎么使用自定义字体?
* 阅读界面 - 字体-点击右上角选择字体文件路径。
### 7. 怎么使用自定义字体?
阅读界面——“**字体**”——点击右上角选择字体文件路径。
8. 目前支持哪些格式的字体文件?
* 目前支持ttf、otf格式。
### 8. 目前支持哪些格式的字体文件?
目前支持 TTF 和 OTF 格式。
9. 书籍经常“正在加载中”怎么办?
* 在线书籍出现这个问题通常是由于源质量不好或不兼容引起的,可以换其它源多试试;本地书籍出现这个问题大概率是目录规则问题,手动切换规则可以解决。
### 9. 书籍经常“正在加载中”怎么办?
在线书籍出现这个问题通常是由于源质量不好或不兼容引起的,可以换其它源多试试;本地书籍出现这个问题大概率是目录规则问题,手动切换规则可以解决。
10. 书籍内容只有标题,正文内容是路径怎么办?
* 通常是缓存路径引起的,更换缓存路径即可。
### 10. 书籍内容只有标题,正文内容是路径怎么办?
通常是缓存路径引起的,更换缓存路径即可。
11. 看书时如遇到“目录为空”、“加载失败”长串英文等情况怎么办?
* 在线书籍一般是书源问题,切换或更新书源即可。本地书籍请尝试手动更换目录规则。
### 11. 看书时如遇到“目录为空”、“加载失败”长串英文等情况怎么办?
在线书籍一般是书源问题,切换或更新书源即可。本地书籍请尝试手动更换目录规则。
12. 为什么每一章的最后一页,阅读的文字和横线背景总是对不齐?
* 请在 设置-文字底部对齐 选项中关闭底部对齐,再调整排版。
### 12. 为什么每一章的最后一页,阅读的文字和横线背景总是对不齐?
请在“**设置**”——“**文字底部对齐**”选项中关闭底部对齐,再调整排版。
13. 漫画源或图片章节只能看到第一页,如何解决?
* 请先查看原网页是否正常,若正常,请在书籍阅读界面点击右上角的 **⁝** 按钮,在弹出的菜单中,选择 **翻页动画(本书)**,将翻页动画更改为 **滚动**
### 13. 漫画源或图片章节只能看到第一页,如何解决?
请先查看原网页是否正常,若正常,请在书籍阅读界面点击右上角的“**⁝**”按钮,在弹出的菜单中,选择“**翻页动画(本书)**”,将翻页动画更改为“**滚动**”
14. 阅读图片章节、漫画或epub插图时,图片被缩放到一页中,以至无法看清,如何处理?
* 临时处理方案:长按图片可以进行双指缩放。图片章节请先参考Q13中的方案将翻页动画更改为**滚动**
* 3.0旧版可以点击书籍界面的章节标题进入 **编辑书源** 界面,在 正文-图片样式 中填入 *full*,保存更改,刷新当前章节即可。
* 3.0新版可以直接在书籍阅读界面点击右上角的 **⁝** 按钮,选择 图片样式- *full*.
### 14. 阅读图片章节、漫画或 EPUB 插图时,图片被缩放到一页中,以至无法看清,如何处理?
* 临时处理方案:长按图片可以进行双指缩放。图片章节请先参考 Q13 中的方案将翻页动画更改为**滚动**”。
* 3.0 旧版可以点击书籍界面的章节标题进入“**编辑书源**”界面,在“**正文**”——“**图片样式**”中填入 *`full`*,保存更改,刷新当前章节即可。
* 3.0 新版可以直接在书籍阅读界面点击右上角的“**⁝**”按钮,选择“**图片样式**”——***`full`***。
## 替换净化相关
1. 替换净化是什么?
* 替换净化可以去除书籍内容里的广告、错别字、屏蔽词等。
2. 如何自己填写净化替换规则?
* 第一行:替换规则名称 - 根据自己需求对替换净化规则进行命名;
* 第二行:分组 - 净化规则的分组组别;
* 第三行:替换规则 - 填写需要被替换的内容;
* 第四行:替换为 - 填写想替换成的内容(如不填则默认表示删除第三行里填写的内容);
* 第五行:替换范围,选填书名或者源名 - 填写此替换净化规则需要对哪本书籍或者哪个书源生效(如不填则对所有书籍和书源生效)。
* 注:如常规去除方法去除不掉,则需要勾选“使用正则表达式”,同时第三行里的替换规则也需要按照正则表达式来填写(正则表达式填写方法可自行百度学习)。
### 1. 替换净化是什么?
替换净化可以去除书籍内容里的广告、错别字、屏蔽词等。
### 2. 如何自己填写净化替换规则?
* 第一行:替换规则名称。请根据自己需求对替换净化规则进行命名;
* 第二行:分组。净化规则的分组组别;
* 第三行:替换规则。填写需要被替换的内容;
* 第四行:替换为。填写想替换成的内容(如不填则默认表示删除第三行里填写的内容);
* 第五行:替换范围,选填书名或者源名。填写此替换净化规则需要对哪本书籍或者哪个书源生效(如不填则对所有书籍和书源生效)。
**【注】** *如常规去除方法去除不掉,则需要勾选“使用正则表达式”,同时第三行里的替换规则也需要按照正则表达式来填写(正则表达式填写方法可自行网上搜索学习)。*
## 备份相关
1. 云备份在哪?
* 我的 - 备份与恢复 - WebDav设置。
### 1. 云备份在哪?
“**我的**”——“**备份与恢复**”——“**WebDav 设置**”。
### 2. 如何操作进行云备份?
* 侧栏设置,WebDav 设置;
* 正确填写 WebDAV 服务器地址、账号和密码;
* 无需操作,APP 默认每天自动云备份一次。
作者在此诚挚推荐使用【坚果云】进行 WebDav 备份。
2. 如何操作进行云备份?
* 侧栏设置,WebDav设置;
* 正确填写WebDAV 服务器地址、WebDAV 账号、WebDAV 密码;(要获得这三项的信息,需要注册一个坚果云账号,如果直接在手机上注册,坚果云会让你下载app,过程比较麻烦,为了一步到位,最好是在电脑上打开这个注册链接:https://www.jianguoyun.com/d/signup ;注册后,进入坚果云;点击右上角账户名处选择 “账户信息”,然后选择“安全选项”;在“安全选项” 中找到“第三方应用管理”,并选择“添加应用”,输入名称如“阅读”后,会生成密码,选择完成;其中 https://dav.jianguoyun.com/dav/ 就是填入“WebDAV 服务器地址”的内容,“使用情况”后面的邮箱地址就是你的“WebDAV 账号”,点击显示密码后得到的密码就是你的“WebDAV 密码”。)
* 无需操作,APP默认每天自动云备份一次。
如果直接在手机上注册,须下载【坚果云】APP,步骤较为繁琐。推荐在电脑上进行操作:
1. 打开注册链接:https://www.jianguoyun.com/d/signup ;
2. 注册后,进入坚果云;
3. 点击右上角账户名处选择“**账户信息**”,然后选择“**安全选项**”;
4. 在“**安全选项**”中找到“**第三方应用管理**”,并选择“**添加应用**”,输入名称(如“阅读”)后,会生成密码,选择完成;
5. 其中 `https://dav.jianguoyun.com/dav/` 就是填入“**WebDAV 服务器地址**”的内容,“**使用情况**”后面的邮箱地址就是你的“**WebDAV 账号**”,点击“**显示密码**“后得到的密码就是你的“**WebDAV 密码**”。
3. 关于云备份的相关说明
* 在正确设置好云备份的情况下,APP默认每天自动云备份一次,当日多次手动云备份会对当日的旧云备份文件进行覆盖,并不会覆盖之前及之后不同日期的备份文件,每天所自动云备份的文件会按照日期进行命名。
### 3. 关于云备份的相关说明
4. 本地备份和云备份都能备份哪些东西?
* 书架、看书进度、搜索记录、书源、替换、APP设置等都会备份,基本涵盖所有内容。
在正确设置好云备份的情况下,APP 默认每天自动云备份一次,当日多次手动云备份会对当日的旧云备份文件进行覆盖,并不会覆盖之前及之后不同日期的备份文件,每天所自动云备份的文件会按照日期进行命名。
5. 出现某些未知bug怎么办?
* 清除软件数据试试看,不行再进行反馈。
### 4. 本地备份和云备份都能备份哪些东西?
书架、看书进度、搜索记录、书源、替换和 APP 设置等都会备份,基本涵盖所有内容。
### 5. 出现某些未知 Bug 怎么办?
清除软件数据试试看,不行再进行反馈。
## 其他
1. 如何听书?
* 可以使用手机自带的朗读引擎,也可使用第三方如谷歌、小米等朗读引擎。
* 【具体操作:安装-系统设置-其他高级设置-辅助功能-TTS输出-选择安装的朗读引擎(不同品牌手机的操作方法及步骤也不同,视情况而定)。】
2. 如何设置屏幕方向、屏幕显示时长、显示/隐藏状态栏、显示/隐藏导航栏、音量键翻页、长按选择文本、点击总是翻下一页、自定义翻页案件?
* 阅读界面,设置(可上划,下面还有其他设置)。
### 1. 如何听书?
可以使用手机自带的朗读引擎,也可使用第三方如 Google(谷歌)或小米等朗读引擎。
【具体操作】*安装——系统设置——其他高级设置——辅助功能——TTS 输出——选择安装的朗读引擎(不同品牌手机的操作方法及步骤也不同,视情况而定)。*
### 2. 如何设置屏幕方向、屏幕显示时长、显示/隐藏状态栏、显示/隐藏导航栏、音量键翻页、长按选择文本、点击总是翻下一页或自定义翻页按键?
阅读界面——“**设置**”(可上划,下面还有其他设置)。
3. 搜索的时候感觉手机卡顿,如何解决?
* 我的 - 其他设置 - “更新和搜索线程数”调低。
### 3. 搜索的时候感觉手机卡顿,如何解决?
“**我的**”——“**其他设置**”——调低“**更新和搜索线程数**”

@ -11,6 +11,10 @@
* 正文出现缺字漏字、内容缺失、排版错乱等情况,有可能是净化规则或简繁转换出现问题。
* 漫画源看书显示乱码,**阅读与其他软件的源并不通用**,请导入阅读的支持的漫画源!
**2022/06/05**
* 添加源变量说明,输入源变量界面显示说明
**2022/06/01**
* 更新cronet: 102.0.5005.78

@ -20,7 +20,7 @@ val appDb by lazy {
}
@Database(
version = 49,
version = 50,
exportSchema = true,
entities = [Book::class, BookGroup::class, BookSource::class, BookChapter::class,
ReplaceRule::class, SearchBook::class, SearchKeyword::class, Cookie::class,
@ -33,7 +33,8 @@ val appDb by lazy {
AutoMigration(from = 45, to = 46),
AutoMigration(from = 46, to = 47),
AutoMigration(from = 47, to = 48),
AutoMigration(from = 48, to = 49)
AutoMigration(from = 48, to = 49),
AutoMigration(from = 49, to = 50)
]
)
abstract class AppDatabase : RoomDatabase() {

@ -54,6 +54,8 @@ data class BookSource(
var loginCheckJs: String? = null,
// 注释
var bookSourceComment: String? = null,
// 自定义变量说明
var variableComment: String? = null,
// 最后更新时间,用于排序
var lastUpdateTime: Long = 0,
// 响应时间,用于排序
@ -211,6 +213,14 @@ data class BookSource(
}?.joinToString() ?: ""
}
fun getDisplayVariableComment(otherComment: String): String {
return if (variableComment.isNullOrBlank()) {
otherComment
} else {
"${variableComment}\n$otherComment"
}
}
fun equal(source: BookSource) =
equal(bookSourceName, source.bookSourceName)
&& equal(bookSourceUrl, source.bookSourceUrl)

@ -15,22 +15,35 @@ import splitties.init.appCtx
data class RssSource(
@PrimaryKey
var sourceUrl: String = "",
// 名称
var sourceName: String = "",
// 图标
var sourceIcon: String = "",
// 分组
var sourceGroup: String? = null,
// 注释
var sourceComment: String? = null,
// 是否启用
var enabled: Boolean = true,
// 自定义变量说明
var variableComment: String? = null,
@ColumnInfo(defaultValue = "0")
override var enabledCookieJar: Boolean? = false,
override var concurrentRate: String? = null, //并发率
override var header: String? = null, // 请求头
override var loginUrl: String? = null, // 登录地址
override var loginUi: String? = null, //登录UI
var loginCheckJs: String? = null, //登录检测js
//并发率
override var concurrentRate: String? = null,
// 请求头
override var header: String? = null,
// 登录地址
override var loginUrl: String? = null,
//登录UI
override var loginUi: String? = null,
//登录检测js
var loginCheckJs: String? = null,
var sortUrl: String? = null,
var singleUrl: Boolean = false,
/*列表规则*/
var articleStyle: Int = 0, //列表样式,0,1,2
//列表样式,0,1,2
var articleStyle: Int = 0,
var ruleArticles: String? = null,
var ruleNextPage: String? = null,
var ruleTitle: String? = null,
@ -131,6 +144,14 @@ data class RssSource(
}
}
fun getDisplayVariableComment(otherComment: String): String {
return if (variableComment.isNullOrBlank()) {
otherComment
} else {
"${variableComment}\n$otherComment"
}
}
@Suppress("MemberVisibilityCanBePrivate")
companion object {

@ -122,11 +122,10 @@ class EpubFile(var book: Book) {
private fun getContent(chapter: BookChapter): String? {
/**
* <image width="1038" height="670" xlink:href="cover.jpeg"/>
* <img width="1038" height="670" src="cover.jpeg"/>
* titlepage.xhtml
* <image width="1038" height="670" xlink:href="..."/>
* ...titlepage.xhtml
*/
if (chapter.url == "titlepage.xhtml") {
if (chapter.url.contains("titlepage.xhtml")) {
return "<img src=\"cover.jpeg\" />"
}
/*获取当前章节文本*/

@ -76,7 +76,8 @@ object LocalBook {
if (chapters.isEmpty()) {
throw TocEmptyException(appCtx.getString(R.string.chapter_list_empty))
}
return chapters
val lh = LinkedHashSet(chapters)
return ArrayList(lh)
}
fun getContent(book: Book, chapter: BookChapter): String? {

@ -49,7 +49,11 @@ class CacheViewModel(application: Application) : BaseViewModel(application) {
val bindings = SimpleBindings()
bindings["name"] = book.name
bindings["author"] = book.getRealAuthor()
return AppConst.SCRIPT_ENGINE.eval(jsStr, bindings).toString()
return kotlin.runCatching {
AppConst.SCRIPT_ENGINE.eval(jsStr, bindings).toString()
}.onFailure {
context.toastOnUi("书名规则错误\n${it.localizedMessage}")
}.getOrDefault("${book.name} 作者:${book.getRealAuthor()}")
}
fun export(path: String, book: Book) {

@ -247,7 +247,11 @@ class BookInfoActivity :
binding.tvToc.text = getString(R.string.toc_s, getString(R.string.loading))
}
chapterList.isNullOrEmpty() -> {
binding.tvToc.text = if (viewModel.isImportBookOnLine) getString(R.string.click_read_button_load) else getString(R.string.toc_s, getString(R.string.error_load_toc))
binding.tvToc.text =
if (viewModel.isImportBookOnLine) getString(R.string.click_read_button_load) else getString(
R.string.toc_s,
getString(R.string.error_load_toc)
)
}
else -> {
viewModel.bookData.value?.let {
@ -358,9 +362,14 @@ class BookInfoActivity :
private fun setSourceVariable() {
launch {
val variable = withContext(IO) { viewModel.bookSource?.getVariable() }
val source = viewModel.bookSource
if (source == null) {
toastOnUi("书源不存在")
return@launch
}
val variable = withContext(IO) { source.getVariable() }
alert(R.string.set_source_variable) {
setMessage("源变量可在js中通过source.getVariable()获取")
setMessage(source.getDisplayVariableComment("源变量可在js中通过source.getVariable()获取"))
val alertBinding = DialogEditTextBinding.inflate(layoutInflater).apply {
editView.hint = "source variable"
editView.setText(variable)
@ -379,9 +388,14 @@ class BookInfoActivity :
private fun setBookVariable() {
launch {
val source = viewModel.bookSource
if (source == null) {
toastOnUi("书源不存在")
return@launch
}
val variable = withContext(IO) { viewModel.bookData.value?.getVariable("custom") }
alert(R.string.set_source_variable) {
setMessage("""书籍变量可在js中通过book.getVariable("custom")获取""")
setMessage(source.getDisplayVariableComment("""书籍变量可在js中通过book.getVariable("custom")获取"""))
val alertBinding = DialogEditTextBinding.inflate(layoutInflater).apply {
editView.hint = "book variable"
editView.setText(variable)

@ -215,13 +215,8 @@ class BookSourceEditActivity :
add(EditEntity("loginCheckJs", source?.loginCheckJs, R.string.login_check_js))
add(EditEntity("bookUrlPattern", source?.bookUrlPattern, R.string.book_url_pattern))
add(EditEntity("header", source?.header, R.string.source_http_header))
add(
EditEntity(
"concurrentRate",
source?.concurrentRate,
R.string.source_concurrent_rate
)
)
add(EditEntity("variableComment", source?.variableComment, R.string.variable_comment))
add(EditEntity("concurrentRate", source?.concurrentRate, R.string.concurrent_rate))
}
//搜索
val sr = source?.getSearchRule()
@ -328,6 +323,7 @@ class BookSourceEditActivity :
"header" -> source.header = it.value
"bookSourceComment" -> source.bookSourceComment = it.value ?: ""
"concurrentRate" -> source.concurrentRate = it.value
"variableComment" -> source.variableComment = it.value
}
}
searchEntities.forEach {

@ -17,11 +17,8 @@ import io.legado.app.lib.dialogs.alert
import io.legado.app.lib.theme.accentColor
import io.legado.app.ui.login.SourceLoginActivity
import io.legado.app.ui.rss.source.edit.RssSourceEditActivity
import io.legado.app.utils.StartActivityContract
import io.legado.app.utils.gone
import io.legado.app.utils.startActivity
import io.legado.app.utils.*
import io.legado.app.utils.viewbindingdelegate.viewBinding
import io.legado.app.utils.visible
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
@ -106,9 +103,14 @@ class RssSortActivity : VMBaseActivity<ActivityRssArtivlesBinding, RssSortViewMo
private fun setSourceVariable() {
launch {
val variable = withContext(Dispatchers.IO) { viewModel.rssSource?.getVariable() }
val source = viewModel.rssSource
if (source == null) {
toastOnUi("源不存在")
return@launch
}
val variable = withContext(Dispatchers.IO) { source.getVariable() }
alert(R.string.set_source_variable) {
setMessage("源变量可在js中通过source.getVariable()获取")
setMessage(source.getDisplayVariableComment("源变量可在js中通过source.getVariable()获取"))
val alertBinding = DialogEditTextBinding.inflate(layoutInflater).apply {
editView.hint = "source variable"
editView.setText(variable)

@ -315,7 +315,7 @@ class ReadRssActivity : VMBaseActivity<ActivityRssReadBinding, ReadRssViewModel>
return true
}
@Suppress("DEPRECATION")
@Suppress("DEPRECATION", "OVERRIDE_DEPRECATION")
override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean {
url?.let {
return shouldOverrideUrlLoading(Uri.parse(it))

@ -170,11 +170,8 @@ class RssSourceEditActivity :
add(EditEntity("loginUi", source?.loginUi, R.string.login_ui))
add(EditEntity("loginCheckJs", source?.loginCheckJs, R.string.login_check_js))
add(EditEntity("header", source?.header, R.string.source_http_header))
add(
EditEntity(
"concurrentRate", source?.concurrentRate, R.string.source_concurrent_rate
)
)
add(EditEntity("variableComment", source?.variableComment, R.string.variable_comment))
add(EditEntity("concurrentRate", source?.concurrentRate, R.string.concurrent_rate))
add(EditEntity("sortUrl", source?.sortUrl, R.string.sort_url))
add(EditEntity("ruleArticles", source?.ruleArticles, R.string.r_articles))
add(EditEntity("ruleNextPage", source?.ruleNextPage, R.string.r_next))
@ -207,6 +204,7 @@ class RssSourceEditActivity :
"loginUi" -> source.loginUi = it.value
"loginCheckJs" -> source.loginCheckJs = it.value
"header" -> source.header = it.value
"variableComment" -> source.variableComment = it.value
"concurrentRate" -> source.concurrentRate = it.value
"sortUrl" -> source.sortUrl = it.value
"ruleArticles" -> source.ruleArticles = it.value

@ -388,7 +388,7 @@
<string name="source_group">源分组(sourceGroup)</string>
<string name="diy_source_group">自定义源分组</string>
<string name="diy_edit_source_group">输入自定义源分组名称</string>
<string name="source_concurrent_rate">并发率(concurrentRate)</string>
<string name="concurrent_rate">并发率(concurrentRate)</string>
<string name="sort_url">分类Url(sortUrl)</string>
<string name="login_url">登录URL(loginUrl)</string>
<string name="login_ui">登录UI(loginUi)</string>
@ -995,4 +995,5 @@
<!-- string end -->
<string name="error_decode_bitmap">Fail to decode bitmap</string>
<string name="error_image_url_empty">Image url is empty, check replacement rules</string>
<string name="variable_comment">变量说明(variableComment)</string>
</resources>

@ -392,7 +392,7 @@
<string name="source_group">源分组(sourceGroup)</string>
<string name="diy_source_group">自定义源分组</string>
<string name="diy_edit_source_group">输入自定义源分组名称</string>
<string name="source_concurrent_rate">并发率(concurrentRate)</string>
<string name="concurrent_rate">并发率(concurrentRate)</string>
<string name="sort_url">分类Url(sortUrl)</string>
<string name="login_url">登录URL(loginUrl)</string>
<string name="login_ui">登录UI(loginUi)</string>
@ -998,4 +998,5 @@
<!-- string end -->
<string name="error_decode_bitmap">Fail to decode bitmap</string>
<string name="error_image_url_empty">Image url is empty, check replacement rules</string>
<string name="variable_comment">变量说明(variableComment)</string>
</resources>

@ -390,7 +390,7 @@
<string name="source_group">源分组(fonteGrupo)</string>
<string name="diy_source_group">自定义源分组</string>
<string name="diy_edit_source_group">输入自定义源分组名称</string>
<string name="source_concurrent_rate">并发率(taxaSimultânea)</string>
<string name="concurrent_rate">并发率(taxaSimultânea)</string>
<string name="sort_url">分类Url(ordenarUrl)</string>
<string name="login_url">登录URL(loginUrl)</string>
<string name="login_ui">登UI(loginIU)</string>
@ -998,4 +998,5 @@
<!-- string end -->
<string name="error_decode_bitmap">Fail to decode bitmap</string>
<string name="error_image_url_empty">Image url is empty, check replacement rules</string>
<string name="variable_comment">变量说明(variableComment)</string>
</resources>

@ -388,7 +388,7 @@
<string name="source_url">源URL (sourceUrl)</string>
<string name="source_group">源分組 (sourceGroup)</string>
<string name="sort_url">分類 Url(sortUrl)</string>
<string name="source_concurrent_rate">並發率(concurrentRate)</string>
<string name="concurrent_rate">並發率(concurrentRate)</string>
<string name="login_url">登錄 URL(loginUrl)</string>
<string name="login_ui">登錄UI(loginUi)</string>
<string name="login_check_js">登錄檢查JS(loginCheckJs)</string>
@ -995,4 +995,5 @@
<!-- string end -->
<string name="error_decode_bitmap">图片解码失败</string>
<string name="error_image_url_empty">图片链接为空,检查替换净化规则</string>
<string name="variable_comment">变量说明(variableComment)</string>
</resources>

@ -391,7 +391,7 @@
<string name="source_group">源分組(sourceGroup)</string>
<string name="diy_source_group">自訂源分組</string>
<string name="diy_edit_source_group">輸入自訂源分組名稱</string>
<string name="source_concurrent_rate">並發率(concurrentRate)</string>
<string name="concurrent_rate">並發率(concurrentRate)</string>
<string name="sort_url">分類Url(sortUrl)</string>
<string name="login_url">登入URL(loginUrl)</string>
<string name="login_ui">登入UI(loginUi)</string>
@ -997,4 +997,5 @@
<!-- string end -->
<string name="error_decode_bitmap">图片解码失败</string>
<string name="error_image_url_empty">图片链接为空,检查替换净化规则</string>
<string name="variable_comment">变量说明(variableComment)</string>
</resources>

@ -2,20 +2,20 @@
<!--App-->
<string name="app_name">阅读</string>
<string name="receiving_shared_label">阅读·搜索</string>
<string name="tip_perm_request_storage">阅读需要访问存储卡权限,请前往“设置”—“应用权限”打开所需权限</string>
<string name="tip_perm_request_storage">阅读需要访问存储卡权限,请前往“设置”—“应用权限”打开所需权限</string>
<!--Other-->
<string name="menu_backup">Home</string>
<string name="menu_restore">恢复</string>
<string name="menu_import_old">导入阅读数据</string>
<string name="webdav_cache_backup">离线缓存书籍备份</string>
<string name="webdav_cache_backup_s">导出本地同时备份到legado文件夹下exports目录</string>
<string name="webdav_cache_backup_s">导出本地同时备份到 legado 文件夹下exports 目录</string>
<string name="backup_path">备份路径</string>
<string name="select_backup_path">请选择备份路径</string>
<string name="menu_import_old_version">导入旧版数据</string>
<string name="menu_import_github">导入Github数据</string>
<string name="menu_import_github">导入 Github 数据</string>
<string name="menu_replace_rule">净化替换</string>
<string name="menu_send">Send</string>
<string name="menu_send">发送</string>
<string name="dialog_title">提示</string>
<string name="dialog_cancel">取消</string>
@ -59,7 +59,7 @@
<string name="book_local">添加本地</string>
<string name="book_source">书源</string>
<string name="book_source_manage">书源管理</string>
<string name="book_source_manage_desc">新建/导入/编辑/管理书源</string>
<string name="book_source_manage_desc">新建、导入、编辑或管理书源</string>
<string name="setting">设置</string>
<string name="theme_setting">主题设置</string>
<string name="theme_setting_s">与界面/颜色相关的一些设置</string>
@ -68,33 +68,33 @@
<string name="about">关于</string>
<string name="donate">捐赠</string>
<string name="exit">退出</string>
<string name="exit_no_save">尚未保存,是否继续编辑</string>
<string name="exit_no_save">尚未保存是否继续编辑</string>
<string name="read_style">阅读样式设置</string>
<string name="version">版本</string>
<string name="local">本地</string>
<string name="search">搜索</string>
<string name="origin_format">来源: %s</string>
<string name="read_dur_progress">最近: %s</string>
<string name="origin_format">来源%s</string>
<string name="read_dur_progress">最近%s</string>
<string name="book_name">书名</string>
<string name="lasted_show">最新: %s</string>
<string name="lasted_show">最新%s</string>
<string name="check_add_bookshelf">是否将《%s》放入书架?</string>
<string name="import_books_count">%s个Text文件</string>
<string name="import_books_count"> %s 个文本文件</string>
<string name="is_loading">加载中…</string>
<string name="retry">重试</string>
<string name="web_service">Web 服务</string>
<string name="web_service_desc">浏览器写源,看书</string>
<string name="web_edit_source">web编辑书源</string>
<string name="web_service_desc">用浏览器写源或看书</string>
<string name="web_edit_source">Web 编辑书源</string>
<string name="offline_cache">离线缓存</string>
<string name="offline_cache_t">离线缓存</string>
<string name="offline_cache_s">缓存选择的章节到本地</string>
<string name="change_origin">换源</string>
<string name="about_description">
\u3000\u3000这是一款使用Kotlin全新开发的开源的阅读软件,欢迎您的加入。关注公众号[开源阅读]
\u3000\u3000这是一款使用 Kotlin 全新开发的开源的阅读软件,欢迎您的加入。关注公众号【开源阅读】
</string>
<string name="app_share_description">
阅读3.0下载地址:\nhttps://www.coolapk.com/apk/256030
阅读 3.0 下载地址:\nhttps://www.coolapk.com/apk/256030
</string>
<string name="version_name">Version %s</string>
<string name="version_name">版本 %s</string>
<string name="pt_background_verification">后台校验书源</string>
<string name="ps_background_verification">打开后可以在校验书源时自由操作</string>
<string name="pt_auto_refresh">自动刷新</string>
@ -102,16 +102,16 @@
<string name="pt_auto_download">自动下载最新章节</string>
<string name="ps_auto_download">更新书籍时自动下载最新章节</string>
<string name="backup_restore">备份与恢复</string>
<string name="web_dav_set">WebDav设置</string>
<string name="web_dav_set_import_old">WebDav设置/导入旧版本数据</string>
<string name="web_dav_set">WebDav 设置</string>
<string name="web_dav_set_import_old">WebDav 设置/导入旧版本数据</string>
<string name="backup">备份</string>
<string name="restore">恢复</string>
<string name="backup_permission">备份请给存储权限</string>
<string name="restore_permission">恢复请给存储权限</string>
<string name="backup_permission">备份请给存储权限</string>
<string name="restore_permission">恢复请给存储权限</string>
<string name="ok">确认</string>
<string name="cancel">取消</string>
<string name="backup_confirmation">确认备份吗?</string>
<string name="backup_message">新备份会替换原有备份。\n备份文件夹YueDu</string>
<string name="backup_message">新备份会替换原有备份。\n备份文件夹 YueDu</string>
<string name="restore_confirmation">确认恢复吗?</string>
<string name="restore_message">恢复书架会覆盖现有书架。</string>
<string name="backup_success">备份成功</string>
@ -125,7 +125,7 @@
<string name="screen_portrait">竖向</string>
<string name="screen_unspecified">跟随系统</string>
<string name="disclaimer">免责声明</string>
<string name="all_chapter_num">共%d章</string>
<string name="all_chapter_num"> %d </string>
<string name="interface_setting">界面</string>
<string name="brightness">亮度</string>
<string name="chapter_list">目录</string>
@ -148,8 +148,8 @@
<string name="resume">继续</string>
<string name="set_timer">定时</string>
<string name="read_aloud_pause">朗读暂停</string>
<string name="read_aloud_timer">正在朗读(还剩%d分钟)</string>
<string name="playing_timer">正在播放(还剩%d分钟)</string>
<string name="read_aloud_timer">正在朗读(还剩 %d 分钟)</string>
<string name="playing_timer">正在播放(还剩 %d 分钟)</string>
<string name="ps_hide_navigation_bar">阅读界面隐藏虚拟按键</string>
<string name="pt_hide_navigation_bar">隐藏导航栏</string>
<string name="re_navigation_bar_color">导航栏颜色</string>
@ -162,7 +162,7 @@
<string name="add_book_url">添加书籍网址</string>
<string name="background">背景</string>
<string name="author">作者</string>
<string name="author_show">作者: %s</string>
<string name="author_show">作者%s</string>
<string name="aloud_stop">朗读停止</string>
<string name="clear_cache">清理缓存</string>
<string name="clear_cache_success">成功清理缓存</string>
@ -197,20 +197,20 @@
<string name="volume_key_page">音量键翻页</string>
<string name="click_turn_page">点击翻页</string>
<string name="page_anim">翻页动画</string>
<string name="book_page_anim">翻页动画(本书)</string>
<string name="book_page_anim">翻页动画(本书)</string>
<string name="keep_light">屏幕超时</string>
<string name="back">返回</string>
<string name="menu">菜单</string>
<string name="adjust">调节</string>
<string name="scroll_bar">滚动条</string>
<string name="clear_all_content">清除缓存会删除所有已保存章节,是否确认删除?</string>
<string name="clear_all_content">清除缓存会删除所有已保存章节,是否确认删除?</string>
<string name="book_source_share_url">书源共享</string>
<string name="replace_rule_summary">替换规则名称</string>
<string name="replace_rule_invalid">替换规则为空或者不满足正则表达式要求</string>
<string name="select_action">选择操作</string>
<string name="select_all">全选</string>
<string name="select_all_count">全选(%1$d/%2$d)</string>
<string name="select_cancel_count">取消全选(%1$d/%2$d)</string>
<string name="select_all_count">全选(%1$d/%2$d)</string>
<string name="select_cancel_count">取消全选(%1$d/%2$d)</string>
<string name="dark_theme">深色模式</string>
<string name="welcome">启动页</string>
<string name="download_start">开始下载</string>
@ -218,17 +218,17 @@
<string name="no_download">暂无任务</string>
<string name="download_count">已下载 %1$d/%2$d</string>
<string name="import_select_book">导入选择书籍</string>
<string name="threads_num_title">更新和搜索线程数,太多会卡顿</string>
<string name="threads_num_title">更新和搜索线程数(太多会卡顿)</string>
<string name="change_icon">切换图标</string>
<string name="remove_from_bookshelf">删除书籍</string>
<string name="start_read">开始阅读</string>
<string name="data_loading">加载数据中…</string>
<string name="load_error_retry">加载失败,点击重试</string>
<string name="load_error_retry">加载失败点击重试</string>
<string name="book_intro">内容简介</string>
<string name="intro_show">简介:%s</string>
<string name="intro_show_null">简介: 暂无简介</string>
<string name="intro_show">简介%s</string>
<string name="intro_show_null">简介暂无简介</string>
<string name="open_from_other">打开外部书籍</string>
<string name="origin_show">来源: %s</string>
<string name="origin_show">来源%s</string>
<string name="import_replace_rule">导入替换规则</string>
<string name="import_replace_rule_on_line">导入在线规则</string>
<string name="check_update_interval">检查更新间隔</string>
@ -239,11 +239,11 @@
<string name="read_type">阅读方式</string>
<string name="compose_type">排版</string>
<string name="del_select">删除所选</string>
<string name="del_msg">是否确认删除?</string>
<string name="del_msg">是否确认删除</string>
<string name="clear_font">默认字体</string>
<string name="find_on_www">发现</string>
<string name="find_source_manage">发现管理</string>
<string name="find_empty">没有内容,去书源里自定义吧!</string>
<string name="find_empty">还没有内容,去书源里自定义吧!</string>
<string name="del_all">删除所有</string>
<string name="searchHistory">搜索历史</string>
<string name="clear">清除</string>
@ -257,9 +257,9 @@
<string name="copy_text">拷贝内容</string>
<string name="download_all">一键缓存</string>
<string name="content_sl">这是一段测试文字\n\u3000\u3000只是让你看看效果的</string>
<string name="text_bg_style">文字颜色和背景(长按自定义)</string>
<string name="text_bg_style">文字颜色和背景(长按自定义)</string>
<string name="immersion_status_bar">沉浸式状态栏</string>
<string name="un_download">还剩%d章未下载</string>
<string name="un_download">还剩 %d 章未下载</string>
<string name="long_click_input_color">长按输入颜色值</string>
<string name="loading">加载中…</string>
<string name="group_zg">追更区</string>
@ -268,14 +268,14 @@
<string name="bookmark_add">添加书签</string>
<string name="action_del">删除</string>
<string name="load_over_time">加载超时</string>
<string name="join_group">关注:%s</string>
<string name="join_group">关注%s</string>
<string name="copy_complete">已拷贝</string>
<string name="bookshelf_management">书架管理</string>
<string name="clear_bookshelf_s">这将会删除所有书籍,请谨慎操作。</string>
<string name="search_book_source">搜索书源</string>
<string name="search_rss_source">搜索订阅源</string>
<string name="search_book_source_num">搜索(共%d个书源)</string>
<string name="chapter_list_size">目录(%d)</string>
<string name="search_book_source_num">搜索(共 %d 个书源)</string>
<string name="chapter_list_size">目录(%d)</string>
<string name="text_bold">加粗</string>
<string name="text_font">字体</string>
<string name="text">文字</string>
@ -292,19 +292,19 @@
<string name="check_book_source">校验书源</string>
<string name="check_select_source">校验所选</string>
<string name="progress_show">%1$s 进度 %2$d/%3$d</string>
<string name="tts_fix">请安装并选择中文TTS!</string>
<string name="tts_init_failed">TTS初始化失败!</string>
<string name="tts_fix">请安装并选择中文 TTS!</string>
<string name="tts_init_failed">TTS 初始化失败!</string>
<string name="jf_convert">简繁转换</string>
<string name="jf_convert_o">关闭</string>
<string name="jf_convert_f">简转繁</string>
<string name="jf_convert_j">繁转简</string>
<string name="page_mode">翻页模式</string>
<string name="nb_file_sub_count">%1$d 项</string>
<string name="nb_file_path">存储卡:</string>
<string name="nb_file_path">存储卡</string>
<string name="nb_file_add_shelf">加入书架</string>
<string name="nb_file_add_shelves">加入书架(%1$d)</string>
<string name="nb_file_add_succeed">成功添加%1$d本书</string>
<string name="fonts_folder">请将字体文件放到SD根目录Fonts文件夹下重新选择</string>
<string name="nb_file_add_shelves">加入书架(%1$d)</string>
<string name="nb_file_add_succeed">成功添加 %1$d 本书</string>
<string name="fonts_folder">请将字体文件放到存储根目录 Fonts 文件夹下后重新选择</string>
<string name="default_font">默认字体</string>
<string name="select_font">选择字体</string>
<string name="text_size">字号</string>
@ -325,14 +325,14 @@
<string name="book_info_edit">书籍信息编辑</string>
<string name="ps_default_read">默认打开书架</string>
<string name="pt_default_read">自动跳转最近阅读</string>
<string name="use_to">替换范围,选填书名或者书源url</string>
<string name="use_to">替换范围,选填书名或者书源 URL</string>
<string name="menu_action_group">分组</string>
<string name="download_path">内容缓存路径</string>
<string name="sys_file_picker">系统文件选择器</string>
<string name="new_version">新版本</string>
<string name="download_update">下载更新</string>
<string name="volume_key_page_on_play">朗读时音量键翻页</string>
<string name="tip_margin_change">Tip边距跟随边距调整</string>
<string name="tip_margin_change">提示边距跟随页边距调整</string>
<string name="allow_update">允许更新</string>
<string name="disable_update">禁止更新</string>
<string name="split_long_chapter">拆分超长章节</string>
@ -344,7 +344,7 @@
<string name="pt_show_all_find">显示所有发现</string>
<string name="ps_show_all_find">关闭则只显示勾选源的发现</string>
<string name="update_toc">更新目录</string>
<string name="txt_toc_regex">Txt目录正则</string>
<string name="txt_toc_regex">TXT 目录正则</string>
<string name="set_charset">设置编码</string>
<string name="swap_sort">倒序-顺序</string>
<string name="sort">排序</string>
@ -375,74 +375,74 @@
<string name="page_anim_none">无动画</string>
<string name="donate_s">此书源使用了高级功能,请到捐赠里点击支付宝红包搜索码领取红包开启。</string>
<string name="up_change_source_last_chapter_t">后台更新换源最新章节</string>
<string name="up_change_source_last_chapter_s">开启则会在软件打开1分钟后开始更新</string>
<string name="behavior_main_t">书架ToolBar自动隐藏</string>
<string name="behavior_main_s">滚动书架时ToolBar自动隐藏与显示</string>
<string name="up_change_source_last_chapter_s">开启则会在软件打开 1 分钟后开始更新</string>
<string name="behavior_main_t">书架工具栏自动隐藏</string>
<string name="behavior_main_s">滚动书架时工具栏自动隐藏与显示</string>
<string name="login">登录</string>
<string name="login_source">登录%s</string>
<string name="login_source">登录 %s</string>
<string name="success">成功</string>
<string name="source_no_login">当前源没有配置登陆地址</string>
<string name="no_prev_page">没有上一页</string>
<string name="no_next_page">没有下一页</string>
<!-- source start-->
<string name="source_name">源名称(sourceName)</string>
<string name="source_url">URL(sourceUrl)</string>
<string name="source_group">源分组(sourceGroup)</string>
<string name="source_name">源名称(sourceName)</string>
<string name="source_url"> URL(sourceUrl)</string>
<string name="source_group">源分组(sourceGroup)</string>
<string name="diy_source_group">自定义源分组</string>
<string name="diy_edit_source_group">输入自定义源分组名称</string>
<string name="source_concurrent_rate">并发率(concurrentRate)</string>
<string name="sort_url">分类Url(sortUrl)</string>
<string name="login_url">登录URL(loginUrl)</string>
<string name="login_ui">登录UI(loginUi)</string>
<string name="login_check_js">登录检查JS(loginCheckJs)</string>
<string name="comment">源注释(sourceComment)</string>
<string name="r_search_url">搜索地址(url)</string>
<string name="r_find_url">发现地址规则(url)</string>
<string name="r_book_list">书籍列表规则(bookList)</string>
<string name="r_book_name">书名规则(name)</string>
<string name="r_book_url">详情页url规则(bookUrl)</string>
<string name="r_author">作者规则(author)</string>
<string name="rule_book_kind">分类规则(kind)</string>
<string name="rule_book_intro">简介规则(intro)</string>
<string name="rule_cover_url">封面规则(coverUrl)</string>
<string name="rule_last_chapter">最新章节规则(lastChapter)</string>
<string name="rule_word_count">字数规则(wordCount)</string>
<string name="book_url_pattern">书籍URL正则(bookUrlPattern)</string>
<string name="rule_book_info_init">预处理规则(bookInfoInit)</string>
<string name="rule_toc_url">目录URL规则(tocUrl)</string>
<string name="rule_can_re_name">允许修改书名作者(canReName)</string>
<string name="rule_next_toc_url">目录下一页规则(nextTocUrl)</string>
<string name="rule_chapter_list">目录列表规则(chapterList)</string>
<string name="rule_chapter_name">章节名称规则(ChapterName)</string>
<string name="rule_chapter_url">章节URL规则(chapterUrl)</string>
<string name="rule_is_volume">Volume标识(isVolume)</string>
<string name="rule_is_vip">VIP标识(isVip)</string>
<string name="rule_update_time">更新时间(ChapterInfo)</string>
<string name="pre_update_js">更新之前Js(preUpdateJs)</string>
<string name="rule_book_content">正文规则(content)</string>
<string name="rule_next_content">正文下一页URL规则(nextContentUrl)</string>
<string name="rule_web_js">WebViewJs(webJs)</string>
<string name="rule_image_style">图片样式(imageStyle)</string>
<string name="rule_replace_regex">替换规则(replaceRegex)</string>
<string name="rule_source_regex">资源正则(sourceRegex)</string>
<string name="rule_pay_action">购买操作(payAction)</string>
<string name="concurrent_rate">并发率(concurrentRate)</string>
<string name="sort_url">分类 URL(sortUrl)</string>
<string name="login_url">登录 URL(loginUrl)</string>
<string name="login_ui">登录 UI(loginUi)</string>
<string name="login_check_js">登录检查 JS(loginCheckJs)</string>
<string name="comment">源注释(sourceComment)</string>
<string name="r_search_url">搜索地址(url)</string>
<string name="r_find_url">发现地址规则(url)</string>
<string name="r_book_list">书籍列表规则(bookList)</string>
<string name="r_book_name">书名规则(name)</string>
<string name="r_book_url">详情页 URL 规则(bookUrl)</string>
<string name="r_author">作者规则(author)</string>
<string name="rule_book_kind">分类规则(kind)</string>
<string name="rule_book_intro">简介规则(intro)</string>
<string name="rule_cover_url">封面规则(coverUrl)</string>
<string name="rule_last_chapter">最新章节规则(lastChapter)</string>
<string name="rule_word_count">字数规则(wordCount)</string>
<string name="book_url_pattern">书籍 URL 正则(bookUrlPattern)</string>
<string name="rule_book_info_init">预处理规则(bookInfoInit)</string>
<string name="rule_toc_url">目录 URL 规则(tocUrl)</string>
<string name="rule_can_re_name">允许修改书名作者(canReName)</string>
<string name="rule_next_toc_url">目录下一页规则(nextTocUrl)</string>
<string name="rule_chapter_list">目录列表规则(chapterList)</string>
<string name="rule_chapter_name">章节名称规则(ChapterName)</string>
<string name="rule_chapter_url">章节 URL 规则(chapterUrl)</string>
<string name="rule_is_volume">Volume 标识(isVolume)</string>
<string name="rule_is_vip">VIP 标识(isVip)</string>
<string name="rule_update_time">更新时间(ChapterInfo)</string>
<string name="pre_update_js">更新之前 JS(preUpdateJs)</string>
<string name="rule_book_content">正文规则(content)</string>
<string name="rule_next_content">正文下一页 URL 规则(nextContentUrl)</string>
<string name="rule_web_js">WebView JS(webJs)</string>
<string name="rule_image_style">图片样式(imageStyle)</string>
<string name="rule_replace_regex">替换规则(replaceRegex)</string>
<string name="rule_source_regex">资源正则(sourceRegex)</string>
<string name="rule_pay_action">购买操作(payAction)</string>
<string name="source_icon">图标(sourceIcon)</string>
<string name="r_articles">列表规则(ruleArticles)</string>
<string name="r_next">列表下一页规则(ruleArticles)</string>
<string name="r_title">标题规则(ruleTitle)</string>
<string name="r_guid">guid规则(ruleGuid)</string>
<string name="r_date">时间规则(rulePubDate)</string>
<string name="r_categories">类别规则(ruleCategories)</string>
<string name="r_description">描述规则(ruleDescription)</string>
<string name="r_image">图片url规则(ruleImage)</string>
<string name="r_content">内容规则(ruleContent)</string>
<string name="r_style">样式(style)</string>
<string name="r_link">链接规则(ruleLink)</string>
<string name="check_key_word">校验关键字(checkKeyWord)</string>
<string name="rule_actions">操作(actions)</string>
<string name="rule_is_pay">购买标识(isPay)</string>
<string name="source_icon">图标(sourceIcon)</string>
<string name="r_articles">列表规则(ruleArticles)</string>
<string name="r_next">列表下一页规则(ruleArticles)</string>
<string name="r_title">标题规则(ruleTitle)</string>
<string name="r_guid">GUID 规则(ruleGuid)</string>
<string name="r_date">时间规则(rulePubDate)</string>
<string name="r_categories">类别规则(ruleCategories)</string>
<string name="r_description">描述规则(ruleDescription)</string>
<string name="r_image">图片 URL 规则(ruleImage)</string>
<string name="r_content">内容规则(ruleContent)</string>
<string name="r_style">样式(style)</string>
<string name="r_link">链接规则(ruleLink)</string>
<string name="check_key_word">校验关键字(checkKeyWord)</string>
<string name="rule_actions">操作(actions)</string>
<string name="rule_is_pay">购买标识(isPay)</string>
<!-- source end-->
<!--error string start-->
@ -450,7 +450,7 @@
<string name="error_get_book_info">书籍信息获取失败</string>
<string name="error_get_content">内容获取失败</string>
<string name="error_get_chapter_list">目录获取失败</string>
<string name="error_get_web_content">访问网站失败:%s</string>
<string name="error_get_web_content">访问网站失败%s</string>
<string name="error_read_file">文件读取失败</string>
<string name="error_load_toc">加载目录失败</string>
<string name="error_get_data">获取数据失败!</string>
@ -460,7 +460,7 @@
<string name="net_error_10003">数据解析失败</string>
<!--error string end-->
<string name="source_http_header">请求头(header)</string>
<string name="source_http_header">请求头(header)</string>
<string name="debug_source">调试源</string>
<string name="import_by_qr_code">二维码导入</string>
<string name="share_selected_source">分享选中源</string>
@ -469,23 +469,23 @@
<string name="theme">主题</string>
<string name="theme_mode">主题模式</string>
<string name="theme_mode_desc">选择主题模式</string>
<string name="join_qq_group">加入QQ群</string>
<string name="join_qq_group">加入 QQ </string>
<string name="bg_image_per">获取背景图片需存储权限</string>
<string name="input_book_source_url">输入书源网址</string>
<string name="del_file">删除文件</string>
<string name="del_file_success">删除文件成功</string>
<string name="sure_del_file">确定删除文件吗?</string>
<string name="sure_del_file">确定删除文件吗</string>
<string name="files_tree">手机目录</string>
<string name="intelligent_import">智能导入</string>
<string name="discovery">发现</string>
<string name="switch_display_style">切换显示样式</string>
<string name="import_per">导入本地书籍需存储权限</string>
<string name="import_per">导入本地书籍需存储权限</string>
<string name="night_theme">夜间模式</string>
<string name="eink_theme">E-Ink 模式</string>
<string name="eink_theme_desc">电子墨水屏模式</string>
<string name="get_storage_per">需要存储权限</string>
<string name="double_click_exit">再按一次退出程序</string>
<string name="import_book_per">导入本地书籍需存储权限</string>
<string name="import_book_per">导入本地书籍需存储权限</string>
<string name="network_connection_unavailable">网络连接不可用</string>
<string name="yes"></string>
<string name="no"></string>
@ -495,14 +495,14 @@
<string name="sure_del_all_book">是否删除全部书籍?</string>
<string name="sure_del_download_book">是否同时删除已下载的书籍目录?</string>
<string name="qr_per">扫描二维码需相机权限</string>
<string name="aloud_can_not_auto_page">朗读正在运行,不能自动翻页</string>
<string name="aloud_can_not_auto_page">朗读正在运行不能自动翻页</string>
<string name="input_charset">输入编码</string>
<string name="text_chapter_list_rule">TXT目录规则</string>
<string name="open_local_book_per">打开外部书籍需获取存储权限</string>
<string name="text_chapter_list_rule">TXT 目录规则</string>
<string name="open_local_book_per">打开外部书籍需存储权限</string>
<string name="no_book_name">未获取到书名</string>
<string name="input_replace_url">输入替换规则网址</string>
<string name="get_book_list_success">搜索列表获取成功%d</string>
<string name="non_null_name_url">名称和URL不能为空</string>
<string name="get_book_list_success">搜索列表获取成功 %d</string>
<string name="non_null_name_url">名称和 URL 不能为空</string>
<string name="gallery">图库</string>
<string name="get_ali_pay_hb">领支付宝红包</string>
<string name="non_update_url">没有获取到更新地址</string>
@ -536,14 +536,14 @@
<string name="source_tab_content">正文</string>
<string name="e_ink_mode">E-Ink 模式</string>
<string name="e_ink_mode_detail">去除动画,优化电纸书使用体验</string>
<string name="web_menu">Web服务</string>
<string name="web_port_title">web端口</string>
<string name="e_ink_mode_detail">去除动画优化电纸书使用体验</string>
<string name="web_menu">Web 服务</string>
<string name="web_port_title">Web 端口</string>
<string name="web_port_summary">当前端口 %s</string>
<string name="qr_share">二维码分享</string>
<string name="str_share">字符串分享</string>
<string name="wifi_share">wifi分享</string>
<string name="please_grant_storage_permission">请给存储权限</string>
<string name="wifi_share">WiFi 分享</string>
<string name="please_grant_storage_permission">请给存储权限</string>
<string name="fast_rewind">减速</string>
<string name="fast_forward">加速</string>
<string name="skip_previous">上一个</string>
@ -551,8 +551,8 @@
<string name="music">音乐</string>
<string name="audio">音频</string>
<string name="is_enable">启用</string>
<string name="enable_js">启用JS</string>
<string name="load_with_base_url">加载BaseUrl</string>
<string name="enable_js">启用 JavaScript</string>
<string name="load_with_base_url">加载 BaseUrl</string>
<string name="all_source">全部书源</string>
<string name="cannot_empty">输入不能为空</string>
<string name="clear_find_cache">清空发现缓存</string>
@ -562,8 +562,8 @@
<string name="my">我的</string>
<string name="reading">阅读</string>
<string name="battery_show">%d%%</string>
<string name="timer_m">%d分钟</string>
<string name="brightness_auto">自动亮度%s</string>
<string name="timer_m">%d 分钟</string>
<string name="brightness_auto">自动亮度 %s</string>
<string name="read_aloud_by_page">按页朗读</string>
<string name="speak_engine">朗读引擎</string>
<string name="bg_image">背景图片</string>
@ -578,8 +578,8 @@
<string name="remove_group">移除分组</string>
<string name="add_replace_rule">新建替换</string>
<string name="group">分组</string>
<string name="group_s">分组: %s</string>
<string name="toc_s">目录: %s</string>
<string name="group_s">分组%s</string>
<string name="toc_s">目录%s</string>
<string name="enable_explore">启用发现</string>
<string name="disable_explore">禁用发现</string>
<string name="enable_selection">启用所选</string>
@ -590,11 +590,11 @@
<string name="load_info">加载详情页</string>
<string name="tts">TTS</string>
<string name="web_dav_pw">WebDav 密码</string>
<string name="web_dav_pw_s">输入你的WebDav授权密码</string>
<string name="web_dav_pw_s">输入你的 WebDav 授权密码</string>
<string name="web_dav_url_s">输入你的服务器地址</string>
<string name="web_dav_url">WebDav 服务器地址</string>
<string name="web_dav_account">WebDav 账号</string>
<string name="web_dav_account_s">输入你的WebDav账号</string>
<string name="web_dav_account_s">输入你的 WebDav 账号</string>
<string name="rss_source">订阅源</string>
<string name="rss_source_edit">编辑订阅源</string>
<string name="screen">筛选</string>
@ -606,11 +606,11 @@
<string name="file_chooser">文件选择</string>
<string name="folder_chooser">文件夹选择</string>
<string name="bottom_line">我是有底线的</string>
<string name="uri_to_path_fail">Uri转Path失败</string>
<string name="uri_to_path_fail">URI 转 Path 失败</string>
<string name="refresh_cover">刷新封面</string>
<string name="change_cover_source">封面换源</string>
<string name="select_local_image">选择本地图片</string>
<string name="book_type">类型:</string>
<string name="book_type">类型</string>
<string name="to_backstage">后台</string>
<string name="importing">正在导入</string>
<string name="exporting">正在导出</string>
@ -622,28 +622,28 @@
<string name="prev_sentence">上一句</string>
<string name="next_sentence">下一句</string>
<string name="other_folder">其它目录</string>
<string name="text_too_long_qr_error">文字太多,生成二维码失败</string>
<string name="share_rss_source">分享RSS源</string>
<string name="text_too_long_qr_error">文字太多生成二维码失败</string>
<string name="share_rss_source">分享 RSS </string>
<string name="share_book_source">分享书源</string>
<string name="auto_dark_mode">自动切换夜间模式</string>
<string name="auto_dark_mode_s">夜间模式跟随系统</string>
<string name="go_back">上级</string>
<string name="tone_colour">在线朗读音色</string>
<string name="select_count">(%1$d/%2$d)</string>
<string name="select_count">(%1$d/%2$d)</string>
<string name="show_rss">显示订阅</string>
<string name="service_stop">服务已停止</string>
<string name="service_start">正在启动服务\n具体信息查看通知栏</string>
<string name="service_start">正在启动服务\n具体信息查看通知栏</string>
<string name="default_path">默认路径</string>
<string name="sys_folder_picker">系统文件夹选择器</string>
<string name="app_folder_picker">自带文件夹选择器</string>
<string name="app_file_picker">自带文件选择器</string>
<string name="a10_permission_toast">Android10以上因权限限制可能无法读写文件</string>
<string name="a10_permission_toast">Android 10 以上因系统权限限制可能无法读写文件</string>
<string name="add_to_text_context_menu_s">长按文字在操作菜单中显示阅读·搜索</string>
<string name="add_to_text_context_menu_t">文字操作显示搜索</string>
<string name="record_log">记录日志</string>
<string name="log">日志</string>
<string name="chinese_converter">中文简繁体转换</string>
<string name="change_icon_error">图标为矢量图标,Android8.0以前不支持</string>
<string name="change_icon_error">图标为矢量图标,Android 8.0 以前不支持</string>
<string name="aloud_config">朗读设置</string>
<string name="main_activity">主界面</string>
<string name="selectText">长按选择文本</string>
@ -675,11 +675,11 @@
<string name="change_group">设置分组</string>
<string name="view_toc">查看目录</string>
<string name="bar_elevation">导航栏阴影</string>
<string name="bar_elevation_s">当前阴影大小(elevation): %s</string>
<string name="bar_elevation_s">当前阴影大小(elevation):%s</string>
<string name="btn_default_s">默认</string>
<string name="main_menu">主菜单</string>
<string name="request_permission">点击授予权限</string>
<string name="tip_local_perm_request_storage">阅读需要访问存储卡权限,请点击下方的"授予权限"按钮,或前往“设置”—“应用权限”—打开所需权限。如果授予权限后仍然不正常,请点击右上角的“选择文件夹”,使用系统文件夹选择器。</string>
<string name="tip_local_perm_request_storage">阅读需要访问存储卡权限,请点击下方的“授予权限”按钮,或前往“设置”—“应用权限”,打开所需权限。如果授予权限后仍然不正常,请点击右上角的“选择文件夹”,使用系统文件夹选择器。</string>
<string name="alouding_disable">全文朗读中不能朗读选中文字</string>
<string name="read_body_to_lh">扩展到刘海</string>
<string name="toc_updateing">更新目录中</string>
@ -693,7 +693,7 @@
<string name="follow_official_account">关注公众号</string>
<string name="wechat">微信</string>
<string name="thanks">您的支持是我更新的动力</string>
<string name="about_official_account">公众号[开源阅读]</string>
<string name="about_official_account">公众号【开源阅读】</string>
<string name="source_auto_changing">正在自动换源</string>
<string name="click_to_apply">点击加入</string>
<string name="middle"></string>
@ -723,27 +723,27 @@
<string name="text_bottom_justify">文字底部对齐</string>
<string name="auto_page_speed">自动翻页速度</string>
<string name="sort_by_url">地址排序</string>
<string name="backup_summary">本地和WebDav一起备份</string>
<string name="restore_summary">优先从WebDav恢复,长按从本地恢复</string>
<string name="backup_summary">本地和 WebDav 一起备份</string>
<string name="restore_summary">优先从 WebDav 恢复,长按从本地恢复</string>
<string name="import_old_summary">选择旧版备份文件夹</string>
<string name="enabled">已启用</string>
<string name="disabled">已禁用</string>
<string name="starting_download">正在启动下载</string>
<string name="already_in_download">该书已在下载列表</string>
<string name="click_to_open">点击打开</string>
<string name="follow_public_account_summary">关注[开源阅读]点击广告支持我</string>
<string name="follow_public_account_summary">关注【开源阅读】点击广告支持我</string>
<string name="weChat_appreciation_code">微信赞赏码</string>
<string name="alipay">支付宝</string>
<string name="alipay_red_envelope_search_code">支付宝红包搜索码</string>
<string name="alipay_red_envelope_copy">537954522 点击复制</string>
<string name="alipay_red_envelope_qr_code">支付宝红包二维码</string>
<string name="alipay_payment_qr_code">支付宝收款二维码</string>
<string name="qq_collection_qr_code">QQ收款二维码</string>
<string name="contributors_summary">gedoor,Invinciblelee,Xwite等,详情请在github中查看</string>
<string name="qq_collection_qr_code">QQ 收款二维码</string>
<string name="contributors_summary">gedoor、Invinciblelee 和 Xwite 等,详情请在 GitHub 中查看</string>
<string name="clear_cache_summary">清除已下载书籍和字体缓存</string>
<string name="default_cover">默认封面</string>
<string name="restore_ignore">恢复忽略列表</string>
<string name="restore_ignore_summary">恢复时忽略一些内容不恢复,方便不同手机配置不同</string>
<string name="restore_ignore_summary">恢复时忽略一些内容不恢复方便不同手机配置不同</string>
<string name="read_config">阅读界面设置</string>
<string name="group_name">分组名称</string>
<string name="note_content">备注内容</string>
@ -762,10 +762,10 @@
<string name="language">语言</string>
<string name="import_rss_source">导入订阅源</string>
<string name="donate_summary">您的支持是我更新的动力</string>
<string name="about_summary">公众号[开源阅读软件]</string>
<string name="about_summary">公众号【开源阅读软件】</string>
<string name="read_record">阅读记录</string>
<string name="read_record_summary">阅读时间记录</string>
<string name="local_tts">本地TTS</string>
<string name="local_tts">本地 TTS</string>
<string name="thread_count">线程数</string>
<string name="all_read_time">总阅读时间</string>
<string name="un_select_all">全不选</string>
@ -775,25 +775,25 @@
<string name="save_day_theme_summary">保存白天主题配置以供调用和分享</string>
<string name="save_night_theme_summary">保存夜间主题配置以供调用和分享</string>
<string name="theme_list">主题列表</string>
<string name="theme_list_summary">使用保存主题,导入,分享主题</string>
<string name="theme_list_summary">使用、保存、导入或分享主题</string>
<string name="select_theme">切换默认主题</string>
<string name="sort_by_lastUpdateTime">更新时间排序</string>
<string name="search_content">全文搜索</string>
<string name="search_content_size">搜索结果</string>
<string name="search_content_empty">搜索内容为空,检查净化/简繁设置</string>
<string name="rss_source_empty">Empty now!</string>
<string name="explore_empty">当前没有发现源!</string>
<string name="page_key_set_help">将焦点放到输入框按下物理按键会自动录入键值,多个按键会自动用英文逗号隔开.</string>
<string name="search_content_empty">搜索内容为空,请检查净化或简繁设置</string>
<string name="rss_source_empty">RSS 源目前为空!</string>
<string name="explore_empty">当前没有发现源</string>
<string name="page_key_set_help">将焦点放到输入框按下物理按键会自动录入键值,多个按键会自动用英文逗号隔开。</string>
<string name="theme_name">主题名称</string>
<string name="auto_clear_expired">自动清除过期搜索数据</string>
<string name="auto_clear_expired_summary">超过一天的搜索数据</string>
<string name="re_segment">重新分段</string>
<string name="style_name">样式名称:</string>
<string name="empty_msg_import_book">点击右上角文件夹图标,选择文件夹</string>
<string name="style_name">样式名称</string>
<string name="empty_msg_import_book">点击右上角文件夹图标选择文件夹</string>
<string name="scan_folder">智能扫描</string>
<string name="import_file_name">导入文件名</string>
<string name="copy_book_url">拷贝书籍URL</string>
<string name="copy_toc_url">拷贝目录URL</string>
<string name="copy_book_url">拷贝书籍 URL</string>
<string name="copy_toc_url">拷贝目录 URL</string>
<string name="no_book">没有书籍</string>
<string name="keep_original_name">保留原名</string>
<string name="click_regional_config">点击区域设置</string>
@ -807,30 +807,30 @@
<string name="rule_subscription">规则订阅</string>
<string name="rule_sub_empty_msg">添加大佬们提供的规则导入地址\n添加后点击可导入规则</string>
<string name="get_book_progress">拉取云端进度</string>
<string name="current_progress_exceeds_cloud">当前进度超过云端进度,是否同步?</string>
<string name="current_progress_exceeds_cloud">当前进度超过云端进度,是否同步?</string>
<string name="sync_book_progress_t">同步阅读进度</string>
<string name="sync_book_progress_s">进入退出阅读界面时同步阅读进度</string>
<string name="create_bookmark_error">创建书签失败</string>
<string name="single_url">单URL</string>
<string name="single_url"> URL</string>
<string name="export_bookshelf">导出书单</string>
<string name="import_bookshelf">导入书单</string>
<string name="pre_download">预下载</string>
<string name="pre_download_s">预先下载%s章正文</string>
<string name="pre_download_s">预先下载 %s 章正文</string>
<string name="is_enabled">是否启用</string>
<string name="background_image">背景图片</string>
<string name="background_image_blurring">背景图片虚化</string>
<string name="background_image_blurring_radius">虚化半径</string>
<string name="background_image_hint">0为停用,启用范围1~25\n半径数值越大,虚化效果越高</string>
<string name="background_image_hint">0 为停用,启用范围 1~25\n半径数值越大,虚化效果越高</string>
<string name="export_folder">导出文件夹</string>
<string name="export_charset">导出编码</string>
<string name="export_no_chapter_name">TXT不导出章节名</string>
<string name="export_to_web_dav">导出到WebDav</string>
<string name="export_no_chapter_name">TXT 不导出章节名</string>
<string name="export_to_web_dav">导出到 WebDav</string>
<string name="reverse_content">反转内容</string>
<string name="debug">调试</string>
<string name="crash_log">崩溃日志</string>
<string name="use_zh_layout">使用自定义中文分行</string>
<string name="image_style">图片样式</string>
<string name="system_tts">系统TTS</string>
<string name="system_tts">系统 TTS</string>
<string name="export_type">导出格式</string>
<string name="checkAuthor">校验作者</string>
<string name="search_src">搜索源码</string>
@ -838,14 +838,14 @@
<string name="toc_src">目录源码</string>
<string name="content_src">正文源码</string>
<string name="list_src">列表源码</string>
<string name="url_already">url已订阅</string>
<string name="high_brush_title">高刷</string>
<string name="url_already"> URL 已订阅</string>
<string name="high_brush_title">高刷新率</string>
<string name="high_brush_summary">使用屏幕最高刷新率</string>
<string name="export_all">导出所有</string>
<string name="complete">完成</string>
<string name="show_unread">显示未读标志</string>
<string name="use_default_cover">总是使用默认封面</string>
<string name="use_default_cover_s">总是显示默认封面,不显示网络封面</string>
<string name="use_default_cover_s">总是显示默认封面(不显示网络封面)</string>
<string name="title_font_size">字号</string>
<string name="title_margin_top">上边距</string>
<string name="title_margin_bottom">下边距</string>
@ -858,7 +858,7 @@
<string name="group_style">分组样式</string>
<string name="export_file_name">导出文件名</string>
<string name="reset">重置</string>
<string name="null_url">url为空</string>
<string name="null_url">URL 为空</string>
<string name="dict">字典</string>
<string name="unknown_error">未知错误</string>
<string name="autobackup_fail">自动备份失败\n%s</string>
@ -866,22 +866,22 @@
<string name="custom_group_summary">关闭替换分组/开启添加分组</string>
<string name="pref_media_button_per_next">媒体按钮•上一首|下一首</string>
<string name="pref_media_button_per_next_summary">上一段|下一段/上一章|下一章</string>
<string name="read_aloud_by_page_summary">及时翻页,翻页时会停顿一下</string>
<string name="read_aloud_by_page_summary">及时翻页翻页时会停顿一下</string>
<string name="check_source_show_debug_message">校验显示详细信息</string>
<string name="check_source_show_debug_message_summary">书源校验时显示网络请求步骤和时间</string>
<string name="need_login">需登录</string>
<string name="pref_cronet_summary">使用Cronet网络组件</string>
<string name="need_login">登录</string>
<string name="pref_cronet_summary">使用 Cronet 网络组件</string>
<string name="anti_alias">抗锯齿</string>
<string name="pref_anti_alias_summary">绘制图片时抗锯齿</string>
<string name="upload_url">上传URL</string>
<string name="download_url_rule">下载URL规则</string>
<string name="upload_url">上传 URL</string>
<string name="download_url_rule">下载 URL 规则</string>
<string name="sort_by_respondTime">响应时间排序</string>
<string name="export_success">导出成功</string>
<string name="path">路径</string>
<string name="direct_link_upload_rule">直链上传规则</string>
<string name="direct_link_upload_rule_summary">用于导出书源书单时生成直链url</string>
<string name="direct_link_upload_rule_summary">用于导出书源书单时生成直链 URL</string>
<string name="direct_link_upload_config">直链上传配置</string>
<string name="copy_play_url">拷贝播放Url</string>
<string name="copy_play_url">拷贝播放 URL</string>
<string name="set_source_variable">设置源变量</string>
<string name="set_book_variable">设置书籍变量</string>
<string name="summary">注释</string>
@ -903,20 +903,20 @@
<string name="chapter_pay">购买</string>
<string name="double_page_horizontal">平板/横屏双页</string>
<string name="open_in_browser">浏览器打开</string>
<string name="copy_url">拷贝url</string>
<string name="copy_url">拷贝 URL</string>
<string name="open_fun">打开方式</string>
<string name="use_browser_open">是否使用外部浏览器打开?</string>
<string name="use_browser_open">是否使用外部浏览器打开</string>
<string name="see">查看</string>
<string name="open">打开</string>
<string name="del_login_header">删除登录头</string>
<string name="show_login_header">查看登录头</string>
<string name="login_header">登录头</string>
<string name="font_scale">字体大小</string>
<string name="font_scale_summary">当前字体大小:%.1f</string>
<string name="font_scale_summary">当前字体大小%.1f</string>
<string name="tts_speech_reduce">语速减</string>
<string name="tts_speech_add">语速加</string>
<string name="open_sys_dir_picker_error">打开系统文件夹选择器出错,自动打开应用文件夹选择器</string>
<string name="open_sys_doc_picker_error">打开系统文件选择器出错,自动打开应用文件选择器</string>
<string name="open_sys_dir_picker_error">打开系统文件夹选择器出错,将自动打开应用文件夹选择器</string>
<string name="open_sys_doc_picker_error">打开系统文件选择器出错,将自动打开应用文件选择器</string>
<string name="expand_text_menu">展开文本选择菜单</string>
<string name="book_tree_uri_t">书籍保存位置</string>
<string name="book_tree_uri_s">从其它应用打开的书籍保存位置</string>
@ -927,19 +927,19 @@
<!-- check source config string -->
<string name="check_source_config">校验设置</string>
<string name="check_source_item">校验项目</string>
<string name="check_source_timeout">单个书源校验超时(秒)</string>
<string name="check_source_timeout">单个书源校验超时(秒)</string>
<string name="timeout">超时</string>
<string name="seconds"></string>
<string name="less_than">小于</string>
<string name="check_source_config_summary">校验超时: %1$s秒\n校验项目:%2$s</string>
<string name="check_source_config_summary">校验超时:%1$s秒\n校验项目:%2$s</string>
<string name="record_debug_log">记录调试日志</string>
<string name="sub_dir">子文件夹</string>
<string name="general">全局</string>
<string name="use_replace">使用替换</string>
<string name="scope_title">作用于标题</string>
<string name="scope_content">作用于正文</string>
<string name="join_qq_channel">加入QQ频道</string>
<string name="qq_channel_summary">点击加入阅读QQ频道</string>
<string name="join_qq_channel">加入 QQ 频道</string>
<string name="qq_channel_summary">点击加入阅读 QQ 频道</string>
<string name="menu_refresh_dur">刷新当前章节</string>
<string name="menu_refresh_after">刷新之后章节</string>
<string name="menu_refresh_all">刷新全部章节</string>
@ -961,14 +961,14 @@
<string name="show_default_book_icon">显示默认书籍图标</string>
<string name="cache_export">缓存/导出</string>
<string name="assists_key_config">辅助按键配置</string>
<string name="url_option">Url参数</string>
<string name="only_wifi">WIFI</string>
<string name="only_wifi_summary">仅在wifi下加载网络封面</string>
<string name="url_option">URL 参数</string>
<string name="only_wifi"> WiFi</string>
<string name="only_wifi_summary">仅在 WiFi 下加载网络封面</string>
<string name="cover_rule">封面规则</string>
<string name="cover_rule_summary">进入详情页时使用封面规则重新获取封面</string>
<string name="scroll_to_dur_source">定位到当前书源</string>
<string name="sys_tts_config">系统tts设置</string>
<string name="sys_tts_config_summary">打开系统tts设置界面</string>
<string name="sys_tts_config">系统 TTS 设置</string>
<string name="sys_tts_config_summary">打开系统 TTS 设置界面</string>
<string name="cannot_timed_non_playback">非播放状态无法定时</string>
<string name="all_bookmark">所有书签</string>
<string name="change_source_batch">批量换源</string>
@ -977,24 +977,25 @@
<string name="input_verification_code">输入验证码</string>
<string name="verification_code">验证码</string>
<string name="timeout_millisecond">超时毫秒数</string>
<string name="file_not_supported">文件%1$s 不受支持,是否继续打开?</string>
<string name="import_tts">导入TTS</string>
<string name="file_not_supported">文件 %1$s 不受支持,是否继续打开?</string>
<string name="import_tts">导入 TTS</string>
<string name="import_theme">导入主题</string>
<string name="import_txt_toc_rule">导入txt目录规则</string>
<string name="import_txt_toc_rule">导入 TXT 目录规则</string>
<string name="auto_save_cookie">CookieJar</string>
<string name="click_read_button_load">点击阅读加载目录</string>
<string name="cookie">清除cookie</string>
<string name="cookie">清除 Cookie</string>
<string name="download_and_import_file">导入在线书籍文件</string>
<string name="upload_book_success">Upload Success</string>
<string name="upload_book_fail">Upload Fail</string>
<string name="download_book_success">Download Success</string>
<string name="download_book_fail">Download Fail</string>
<string name="upload_to_remote">上传WebDav</string>
<string name="add_remote_book">WebDav书籍</string>
<string name="upload_book_success">上传成功</string>
<string name="upload_book_fail">上传失败</string>
<string name="download_book_success">下载成功</string>
<string name="download_book_fail">下载失败</string>
<string name="upload_to_remote">上传 WebDav</string>
<string name="add_remote_book">WebDav 书籍</string>
<string name="bitmap_cache_size_summary">当前最大缓存 %1$s MB</string>
<string name="bitmap_cache_size">图片绘制缓存</string>
<string name="export_pics_file">TXT导出图片</string>
<string name="export_pics_file">TXT 导出图片</string>
<!-- string end -->
<string name="error_decode_bitmap">图片解码失败</string>
<string name="error_image_url_empty">图片链接为空,检查替换净化规则</string>
<string name="variable_comment">变量说明(variableComment)</string>
</resources>

@ -392,7 +392,7 @@
<string name="source_group">源分组(sourceGroup)</string>
<string name="diy_source_group">自定义源分组</string>
<string name="diy_edit_source_group">输入自定义源分组名称</string>
<string name="source_concurrent_rate">并发率(concurrentRate)</string>
<string name="concurrent_rate">并发率(concurrentRate)</string>
<string name="sort_url">分类Url(sortUrl)</string>
<string name="login_url">登录URL(loginUrl)</string>
<string name="login_ui">Login UI(loginUi)</string>
@ -998,4 +998,5 @@
<!-- string end -->
<string name="error_decode_bitmap">Fail to decode bitmap</string>
<string name="error_image_url_empty">Image url is empty, check replacement rules</string>
<string name="variable_comment">变量说明(variableComment)</string>
</resources>

Loading…
Cancel
Save