-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: 自动切换语言。 #43
feat: 自动切换语言。 #43
Conversation
很棒!
… 在 2019年3月11日,下午1:47,Jeff ***@***.***> 写道:
问题:
目前 egg 文档总是默认显示英文,作为一个中文用户,每次打开都需要多做一次额外的切换语言动作。
解决方案:
可以给在线文档添加一个自动判断用户语言的功能。
分析:
看了一下代码,似乎需要由 hexo 来完成这件事情(在 page.lang 初始化时读取客户端语言设置)。但是 hexo 似乎在 egg 框架之外,不好控制。
而且 eggjs 的文档 host 在 github 的 gh-pages 上,为静态页面,可能服务端做的会不生效。
退而求其次:
仅在 / 路径下用客户端 js 来判断,如果当前页面渲染所使用的语言与用户的设置不一致,就做一个跳转。一旦用户点击过语言切换,就记录在 localStorage 里,下次还会使用他上次切换到的语言。
测试:
在本地 eggjs 项目下 通过 npm run doc-server 尝试,效果达到预期。跳转得很快,用户几乎无感知。
You can view, comment on, or merge this pull request online at:
#43 <#43>
Commit Summary
feat: 自动切换语言。
File Changes
M lib/themes/egg/layout/partial/aside.nunjucks <https://github.com/eggjs/doctools/pull/43/files#diff-0> (8)
M lib/themes/egg/scripts/helpers.js <https://github.com/eggjs/doctools/pull/43/files#diff-1> (19)
Patch Links:
https://github.com/eggjs/doctools/pull/43.patch <https://github.com/eggjs/doctools/pull/43.patch>
https://github.com/eggjs/doctools/pull/43.diff <https://github.com/eggjs/doctools/pull/43.diff>
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub <#43>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AAJibQ10oH9JgUNWk_Y5wLrZUu3TSwvYks5vVe3UgaJpZM4bn1_I>.
|
ci 挂了,修一下? |
Codecov Report
@@ Coverage Diff @@
## master #43 +/- ##
==========================================
- Coverage 88.21% 85.65% -2.56%
==========================================
Files 10 10
Lines 509 509
==========================================
- Hits 449 436 -13
- Misses 60 73 +13
Continue to review full report at Codecov.
|
Codecov Report
@@ Coverage Diff @@
## master #43 +/- ##
==========================================
- Coverage 87.79% 85.68% -2.11%
==========================================
Files 10 10
Lines 516 510 -6
==========================================
- Hits 453 437 -16
- Misses 63 73 +10
Continue to review full report at Codecov.
|
@whxaxes 一共有三个 test 失败,都不是这个改动引起。 |
本地想重现这个 timeout,但是在跑到这一步时,报
机器是 macOS |
@Jeff-Tian 好,我这边看看 |
Got the same problem |
@whxaxes 我今天又看了一下这个错误,原来 deploy_key 是个空文件,所以本地跑的时候会报 invalid format。 在 .travis 上失败,不知道是不是相应的 secure 过期了(一般生成的 secure 默认一年),需要更新?
|
Rebase 一下再看. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
最后一步过不了是因为没权限,commit & rebase master ,改完我直接合并。
问题:
目前 egg 文档总是默认显示英文,作为一个中文用户,每次打开都需要多做一次额外的切换语言动作。
解决方案:
可以给在线文档添加一个自动判断用户语言的功能。
分析:
退而求其次:
仅在 / 路径下用客户端 js 来判断,如果当前页面渲染所使用的语言与用户的设置不一致,就做一个跳转。一旦用户点击过语言切换,就记录在 localStorage 里,下次还会使用他上次切换到的语言。
测试:
在本地 eggjs 项目下 通过 npm run doc-server 尝试,效果达到预期。跳转得很快,用户几乎无感知。