Github 页上的多语言
multiple-language on Github-Pages
很长一段时间我没有访问我的页面 http://andeon.github.io/askey/apps/gimp/ 所以,昨天我检查了翻译对键盘页面不起作用,github-页面有更新?
存储库结构:github.com/andeon/askey/tree/gh-pages
- |-- _includes/ # Html rendered
- |-- _layouts/ # Templates of the website
- |-- dic/ # keyboards translation
- |-- index.html # Default html file (EN)
- |-- pt # Portuguese Language files
- |-- (...)
- |-- _config.yml # Jekyll configuration file
文件“_includes/gimp_keyboard.html”使用变量page.t[page.lang].($variable) to link "dic/gimp_en.md" 或 "dic/gimp_pt.md" 等中的翻译,这就是翻译按键和弹出窗口的工具提示。
Gimp_en.yml 的结构:
layout: main_gimp
t:
en:
tooltip_esc: "Close Dialogs"
tooltip_f1: "Help"
ex: gimp_keyboard.html Esc key tooltip:
<a href="#popup_esc" class="key c27 fn" data-tooltip="{{ page.t[page.lang].tooltip_esc }}"><span>esc</span>
And Pop-up key w
<div id="popup_w" class="overlay">
<div class="popup">
<h2>{{ site.t.l_popupt[page.lang] }}</h2>
<a class="close" href="#" onclick="history.back(); return false;">×</a>
<div class="content">
<table class="tftable" border="1">
{{ site.t.l_thc[page.lang] }}
{{ page.t[page.lang].key_w }}
*在 _config.yml 中绑定的变量 "site.t.(...)[page.lang]" 的全局翻译正在工作。
我不知道如何修复它。也许用 "dictionary file" 的技巧来制作多语言并不是明智的方法(但这里是 https://github.com/andeon/askey/wiki 我需要变量来创建更简单的翻译方法的原因)。
有没有人有解决的想法或其他建议?
我使用这个网站作为创建页面的参考:benoitpatra。com/2014/08/24/organize-a-multilanguage-jekyll-site/
是的,它是 Jekyll 2.x 和现在在 3.x =65=].
您的语言字符串在布局中。例如:gimp.html 有 dic/gimp_en 作为布局,它本身在 [=10 下的前言中有语言字符串=]键。
使用 jekyll 2.x,布局变量通过 page 变量中的模板级联传递。您使用 page.t
访问了它
现在使用 jekyll 3.x,模板变量在 layout 变量中传递。您可以使用 layout.t
访问它
如果您用 layout.t
替换所有出现的 page.t
,奇迹将再次发生。
旁注:您可以将所有语言字符串集中在数据文件中。 _data/lang/en/gimp.yml 中的英文字符串和 _data/lang/pt/gimp.yml 中的葡萄牙语字符串,并使用 site.lang[page.lang]
。
然后就可以去掉中介dic/gimp_xx布局.
这将更有前途。
很长一段时间我没有访问我的页面 http://andeon.github.io/askey/apps/gimp/ 所以,昨天我检查了翻译对键盘页面不起作用,github-页面有更新?
存储库结构:github.com/andeon/askey/tree/gh-pages
- |-- _includes/ # Html rendered
- |-- _layouts/ # Templates of the website
- |-- dic/ # keyboards translation
- |-- index.html # Default html file (EN)
- |-- pt # Portuguese Language files
- |-- (...)
- |-- _config.yml # Jekyll configuration file
文件“_includes/gimp_keyboard.html”使用变量page.t[page.lang].($variable) to link "dic/gimp_en.md" 或 "dic/gimp_pt.md" 等中的翻译,这就是翻译按键和弹出窗口的工具提示。
Gimp_en.yml 的结构:
layout: main_gimp
t:
en:
tooltip_esc: "Close Dialogs"
tooltip_f1: "Help"
ex: gimp_keyboard.html Esc key tooltip:
<a href="#popup_esc" class="key c27 fn" data-tooltip="{{ page.t[page.lang].tooltip_esc }}"><span>esc</span>
And Pop-up key w
<div id="popup_w" class="overlay">
<div class="popup">
<h2>{{ site.t.l_popupt[page.lang] }}</h2>
<a class="close" href="#" onclick="history.back(); return false;">×</a>
<div class="content">
<table class="tftable" border="1">
{{ site.t.l_thc[page.lang] }}
{{ page.t[page.lang].key_w }}
*在 _config.yml 中绑定的变量 "site.t.(...)[page.lang]" 的全局翻译正在工作。
我不知道如何修复它。也许用 "dictionary file" 的技巧来制作多语言并不是明智的方法(但这里是 https://github.com/andeon/askey/wiki 我需要变量来创建更简单的翻译方法的原因)。
有没有人有解决的想法或其他建议?
我使用这个网站作为创建页面的参考:benoitpatra。com/2014/08/24/organize-a-multilanguage-jekyll-site/
是的,它是 Jekyll 2.x 和现在在 3.x =65=].
您的语言字符串在布局中。例如:gimp.html 有 dic/gimp_en 作为布局,它本身在 [=10 下的前言中有语言字符串=]键。
使用 jekyll 2.x,布局变量通过 page 变量中的模板级联传递。您使用 page.t
现在使用 jekyll 3.x,模板变量在 layout 变量中传递。您可以使用 layout.t
如果您用 layout.t
替换所有出现的 page.t
,奇迹将再次发生。
旁注:您可以将所有语言字符串集中在数据文件中。 _data/lang/en/gimp.yml 中的英文字符串和 _data/lang/pt/gimp.yml 中的葡萄牙语字符串,并使用 site.lang[page.lang]
。
然后就可以去掉中介dic/gimp_xx布局.
这将更有前途。