你能告诉我,我可以如何获得当前的语言名称或类似这样的东西。十月CMS如何获取当前的语言环境名称?
我想要基于10月CMS在网站上自定义区域设置切换器。
这将是马丽娟到recevie像
...
{{ set var = ****.getLocale();}}
...
then use it for switch($var){}
...
你能告诉我,我可以如何获得当前的语言名称或类似这样的东西。十月CMS如何获取当前的语言环境名称?
我想要基于10月CMS在网站上自定义区域设置切换器。
这将是马丽娟到recevie像
...
{{ set var = ****.getLocale();}}
...
then use it for switch($var){}
...
在树枝可以用{{ activeLocale }}
,满语名字与{{ activeLocaleName }}
与可用{{ locales }}
所有语言环境的数组访问当前语言。
您可以使用{{ dump() }}
来查看页面上可用的所有变量。如果你尝试它,你也会在那里找到locale变量。
我试着用activeLocale
和locales
数组,但不能停止循环,因此我不可能有条件地渲染一些内容。这是我如何解决它,在阅读插件的逻辑,它是如何工作的,我在我的一个部分做了这个。
==
use RainLab\Translate\Classes\Translator;
protected $translator;
function onStart()
{
$this->translator = Translator::instance();
$this['SelectedLanguage'] = $this->activeLocale = $this->translator->getLocale();
}
==
{% set CurrentLanguage = SelectedLanguage %}
现在{{CurrentLanguage}}
会给我当前的语言代码,所以现在使用的树枝,我可以做一些有条件的渲染这样
{% if CurrentLanguage is same as('en') %}{% endif %}
{% if CurrentLanguage is same as('tr') %}{% endif %}
{% if CurrentLanguage is same as('gr') %}{% endif %}
也许有可能是另一种解决方案。但是这个人像魅力一样工作。
更新:
虽然,在组件的情况下或在其他地方可以使用会话获取当前的语言这样,
Session::get('rainlab.translate.locale')
假设你使用RainLab.Translate插件?
创建一个部分,它使用localePicker组件,然后使用您的自定义代码:
<div>{{ activeLocale }} - {{ activeLocaleName }}</div>
{% for code, name in localePicker.locales %}
<div>{{ code }} - {{ name }}</div>
{% endfor %}
并调用从那里你想用它的部分。
不幸{{activeLocale}}对我来说是空的。 – alexwenzel
@alexwenzel是否将翻译插件添加到页面? – BenjaVR