很长一段时间我没有访问我的页面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)链接" dic / gimp_en.md"中的翻译。或" dic / gimp_pt.md"等等,翻译了键和弹出窗口的工具提示。
Gimp_en.yml的结构:
layout: main_gimp
t:
en:
tooltip_esc: "Close Dialogs"
tooltip_f1: "Help"
例如:gimp_keyboard.html Esc键工具提示:
<a href="#popup_esc" class="key c27 fn" data-tooltip="{{ page.t[page.lang].tooltip_esc }}"><span>esc</span>
弹出键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 }}
*变量的全局翻译&#34; site.t。(...)[page.lang]&#34; _config.yml中的绑定正在运行。
我不知道如何修复它。也许这不是通过&#34;字典文件&#34;制作多语言的聪明方法。 (但这里的原因https://github.com/andeon/askey/wiki我需要变量来创建一种更简单的翻译方式)。
有没有人有任何想法或其他建议吗?
我使用此网站作为参考来创建页面:benoitpatra.com/2014/08/24/organize-a-multilanguage-jekyll-site /
答案 0 :(得分:3)
是的,这是Jekyll 2.x Jekyll 3.x 之间的变化,现在正在github上使用。
您的语言字符串是布局。例如: gimp.html 将 dic / gimp_en 作为布局,其本身在t
键下的前面有语言字符串。
使用jekyll 2.x ,布局变量通过页面变量中的模板级联传递。您使用page.t
现在使用jekyll 3.x ,模板变量将在布局变量中传递。您可以使用layout.t
如果您按page.t
替换所有layout.t
次出现,则会再次发生魔法。
旁注:您可以将所有语言字符串集中在数据文件中。 _data / lang / en / gimp.yml 中的英文字符串和 _data / lang / pt / gimp.yml 中的Portuges,并使用site.lang[page.lang]
访问它们。
然后您可以删除中间 dic / gimp_xx布局。
这将是未来的证明。