我正在使用Makara,这是Kraken.js和Express.js的I18N模块。
假设我有一个句子,其中由于每种语言语法的原因,我想为一个恰好位于随机位置的特定单词设置样式,并且我想在呈现阶段之前使用I18N属性文件以不同的语言轻松处理它,例如:
我想吃一个苹果
埃森·艾因·阿普费尔·祖埃森
我的属性文件是:
//en-GB.properties
sentence=I want to eat an <span style="font-weight: bold;">apple</span>
//de-DE.properties
sentence=Ich möchte einen <span style="font-weight: bold;">Apfel</span> zu essen
CSS样式仅是为了简单起见才是内联的,大胆的样式仅是示例。
但是,属性文件只能包含纯文字。如何在不强制将HTML标签放在属性文件中的情况下获得相同的结果?
最佳答案
处理配置参数的一种方法是使用占位符而不是标签,并在使用诸如“ Grunt”之类的工具构建代码的阶段替换它们:我发现了这个名为“ grunt-placeholder”的Grunt任务。这是资源的链接。
https://www.npmjs.com/package/grunt-placeholder
该配置基于json对象而不是属性,在编译之前,您可以在其中创建自定义属性,并将其用于将文件配置到文件中。
app / ui / componentA / de.json{ "componentA": { "title": "Titel der Komponente A" }}
app / ui / componentA / en.json{ "componentA": { "title": "Title of component A" }}
app / ui / componentA / componentA.html<markup id="componentA"> <div class="componentA"> <div data-i18n="componentA.title;[title]componentA.title"></div> </div></markup>
app / ui / componentA / componentA.less.componentA { background: grey; color: red;}
关于html - 如何使用Express和Kraken.js的Makara模块从I18N属性文件中“拉出”样式HTML标签?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35869437/