首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改Zope内部Plone的LinguaPlone语言按钮的顺序?

如何更改Zope内部Plone的LinguaPlone语言按钮的顺序?
EN

Stack Overflow用户
提问于 2015-10-12 07:41:08
回答 2查看 139关注 0票数 1

因此,例如,我想改变显示给用户的语言按钮的顺序,从英语-中文-法语到中文-法语-英语。

我假设它位于:zope.interface.interface-plone.app.i18n.locales.languageselector中,它位于portal_view_customizations/registrations.html.内部。

更具体地说,我假设这与这段脚本有关:

代码语言:javascript
复制
> <tal:nonflag condition="python:not showFlags or not flag" replace="name">
>      language name 
> </tal:nonflag>

然而,为了控制屏幕上的语言顺序,我仍然不知道该怎么写或者写什么。

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-22 16:36:40

,所以我找到了一个可行的解决方案!

为了在使用Plone的网站上重新排列语言的顺序(),您需要遵循以下步骤:

  1. 转到Zope (您的网站url/manage_main)
  2. 从那里转到Portal自定义(您的网站url/portal_view_customizations/registrations.html) )
  3. 从那里到(Products.LinguaPlone.interfaces.ILinguaPloneProductLayer) plone.app.i18n.locales.languageselector
  4. 然后将这段代码<tal:language repeat="i python:[2,0,1]">添加到<li>标记之前,其中2,0,1表示我选择的顺序。如果你有一个更大的语言列表,那么当然,它会像0,1,2,3,4……Et.c这样的东西,你可以随意重新排列。

谢谢你@乌尔里希·施瓦兹,尽管我不能用你的建议让它发挥作用。我相信,可以通过多种途径,包括你所建议的方式来做到这一点。

票数 2
EN

Stack Overflow用户

发布于 2015-10-14 11:08:50

没有GUI可以更改ZMI的portal_language工具中条目的顺序(据我所知,这是页面上使用的顺序)。

但是:在portal_setup中,您可以导出语言设置,这将为您提供包装在存档中的文件portal_languages.xml,其内容类似于以下内容:

代码语言:javascript
复制
<?xml version="1.0"?>
<object>
 <default_language value="en"/>
 <use_path_negotiation value="False"/>
 <use_cookie_negotiation value="True"/>
 <set_cookie_everywhere value="False"/>
 <use_request_negotiation value="True"/>
 <use_cctld_negotiation value="False"/>
 <use_content_negotiation value="True"/>
 <use_combined_language_codes value="False"/>
 <display_flags value="False"/>
 <start_neutral value="False"/>
 <use_subdomain_negotiation value="False"/>
 <authenticated_users_only value="False"/>
 <supported_langs>
  <element value="de"/>
  <element value="da"/>
  <element value="it"/>
  <element value="en"/>
  <element value="fr"/>
  <element value="cs"/>
 </supported_langs>
</object>

您可以更改<supported_langs>中行的顺序,将文件放回存档中,并在portal_setup的导入函数中使用“导入上载tarball”来应用更改的xml文件。

或者,您可以创建(并通过"test“选项卡)创建这样一个脚本(Python),它将首先删除,然后按照所需的顺序逐个重新添加语言。(如果您为您的语言使用了不同的文件夹和根语言切换器,那么以后可能需要再次运行@@language-setup-folders步骤。)

代码语言:javascript
复制
# Return a string identifying this script.
print "This is the", script.meta_type, '"%s"' % script.getId(),
if script.title:
    print "(%s)" % html_quote(script.title),
print "in", container.absolute_url()

pl = context.portal_languages
pl.removeSupportedLanguages(pl.getSupportedLanguages())
print pl.supported_langs
pl.addSupportedLanguage('de')
pl.addSupportedLanguage('fr')
pl.addSupportedLanguage('da')
pl.addSupportedLanguage('en')
print pl.supported_langs

return printed

我尝试直接浏览文档中的manage_setLanguageSettings方法,但是,至少在4.3.2中,这要求您显式地设置所有其他参数(使用cookie进行语言嵌套等),所以我不太感兴趣。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33075719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档