如何在DSpace数字存储库的语言变更中设置RTL的方向?我们实现的第二种语言是像波斯语这样的RTL语言。提供了rtl.css样式表。 我们需要一个解决方案来分配rtl.css来选择多种语言 此致;
答案 0 :(得分:0)
这可以通过HTML /页面级文本方向设置和CSS切换一些页面元素的位置来实现。
以下是我在尝试阿拉伯语显示时所取得的成就,我认为波斯语会非常相似? (您可能只需要将' ar'区域设置更改为' fa'等等) 此示例在Mirage2中进行了测试,但这些概念可以应用于其他地方。
在我的新主题中,我覆盖了 <!-- switch to rtl if arabic locale -->
<xsl:variable name="active-locale" select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='page'][@qualifier='currentLocale']"/>
<xsl:choose>
<xsl:when test="$active-locale='ar'">
<script><xsl:text>document.documentElement.setAttribute('dir','rtl');</xsl:text></script>
</xsl:when>
<xsl:otherwise>
<script><xsl:text>document.documentElement.setAttribute('dir','ltr');</xsl:text></script>
</xsl:otherwise>
</xsl:if>
,并设置了整页文档&#39; dir&#39;属于&#39; rtl&#39;如果我检测到想要的区域设置(在这种情况下,阿拉伯语)
style
这应该足以整理页面中的文字......
我还使用自定义bootstrap rtl主题(https://github.com/morteza/bootstrap-rtl)来应用CSS(它可能类似于你拥有的CSS?)转换来翻转例如。菜单栏或容器,使页面在RTL中更具可读性
为此,我将缩小的CSS包含在我的主题page-structure.xsl
文件夹中以及其他CSS中,并将此样式表引用添加到我的主题<!-- Add Bootstrap 3 RTL support if Arabic locale detected -->
<xsl:if test="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='page'][@qualifier='currentLocale']='ar'">
<link rel="stylesheet" href="{concat($theme-path, 'styles/bootstrap-rtl.min.css')}"/>
</xsl:if>
:
var obj = { documents: [
...question.documents.length
? question.documents
: [{}]
]
};
您可以使用&#39; .flip&#39; class(在bootstrap-rtl的github页面上记录)更具体地说明了翻转某些元素(你编辑各种其他XMLUI模板以获取那些类)...我对事物的专业知识应该寻找RTL阅读缺乏所以我没有定制个别元素。
希望这有帮助!如果您在使用XMLUI / Mirage2自定义时遇到困难,那么在实际应用这些更改时,您可以阅读https://wiki.duraspace.org/display/DSDOC6x/Mirage+2+Configuration+and+Customization以提供更多背景知识。