没有 GUI 可以更改 ZMI 的 portal_language 工具中的条目顺序(据我所知,这是在页面上使用的顺序)。
但是:在 中portal_setup
,您可以导出语言设置,这将为您提供一个portal_languages.xml
包含在存档中的文件,其内容类似于以下内容:
<?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 文件。
或者,您可以像这样创建(并通过“测试”选项卡运行)脚本(Python),它将首先删除然后按所需顺序一一重新添加语言。@@language-setup-folders
(如果您为您的语言使用不同的文件夹和根语言切换器,您可能需要在之后再次运行该步骤。)
# 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 进行语言协商等),所以我并没有留下太深刻的印象。