你能告訴我,我可以如何獲得當前的語言名稱或類似這樣的東西。十月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