我尝试在我的拼写错误6.2 6.2 One-Tree Page。
中自动设置语言在我的设置中,我使用RealURL将语言添加到URL,我使用默认的L
参数。我不使用ISO代码用于语言,但我使用static_info_tables来设置ISO代码。对于语言切换,我尝试使用扩展rlmp_language_detection
,但它不起作用。
我的语言配置(typo3name,官方ISO代码 - 使用static_info_tables选择,ID - 用于L
参数)
插件的我的Typoscript:
plugin.tx_rlmplanguagedetection_pi1 {
useOneTreeMethod = 1
defaultLang = en
}
我的语言版本:
config {
sys_language_uid = 0
language = en
locale_all = en-eu
}
[globalVar = GP:L = 1]
config {
sys_language_uid = 1
language = en
locale_all = en-us
}
[global]
[globalVar = GP:L = 2]
config {
sys_language_uid = 2
language = en
locale_all = en-jp
}
[global]
[globalVar = GP:L = 3]
config {
sys_language_uid = 3
language = jp
locale_all = jp-jp
}
[global]
为了测试它我将我的第一个语言设置为日语,当我请求rootpage时,这是在我的请求标题中:
Accept-Language:ja,de-DE;q=0.8,de;q=0.6,en-US;q=0.4,en;q=0.2
Language:Japanese
System Language:Not detectable with this browser
User Language:de
但是根本没有设置L
参数,所以我得到了默认语言。
答案 0 :(得分:4)
我遇到了同样的问题: 我是如何让它一步一步地运作的:
1步:
安装static_info_tables
小心它应该在DB utf-8 charsetin latin1(在我的情况下)不起作用
2步骤
istall rlmp_language_detection
3步骤
检查服务器上是否安装了php-geoip
php模块,如果没有安装Ext:ml_geoip
或以任何方式安装它。
5步
请不要忘记在基线页面树中选择玩具郎的ISO代码
6步 TS设置 - 在所有lang配置后添加
plugin.tx_rlmplanguagedetection_pi1 {
# this mean that you hav ejust one tree pages for all lang, for multi trees look manual
useOneTreeMethod = 1
#important - this your website sys_language default
defaultLang = ru
# use -1 when you wont to test redirect, after change to 0
cookieLifetime = -1
# you defind which method will be used for redirect browser or ip, better testing just with one
testOrder = browser,ip
# we can config aliases like "code = lang1, lang2"
languageAliases >
languageAliases {
ua = uk,en
en = en
ru = ru,en
}
#we can country codes dependencies "country code = lang"
countryCodeToLanguageCode >
countryCodeToLanguageCode {
ua = uk
us = en
gb = en
nz = en
au = en
ie = en
ca = en
by = ru
}
#this just limit input params array
limitToLanguages = ru,uk,en
}
# ok just after all we include ext to page, on ts begining you shoud to have "page = PAGE" just check
page.1007 = < plugin.tx_rlmplanguagedetection_pi1
答案 1 :(得分:2)
我建议使用.htaccess重定向浏览器接受语言。这样可以节省您加载整个TYPO3实例只是为了进行重定向。
根据天气你使用realurl看起来像这样:
RewriteCond %{HTTP:Accept-Language} ^en-us [NC]
RewriteRule ^$ /en-us/ [L,R=307]
RewriteCond %{HTTP:Accept-Language} ^ja [NC]
RewriteRule ^$ /jp/ [L,R=307]
RewriteCond %{HTTP:Accept-Language} ^en-gb [NC]
RewriteRule ^$ /en-eu/ [L,R=307]
我不知道如何定位en-jp。
在我们的网站上,我们使用307作为状态代码,因此浏览器将始终查找初始页面(如果结构发生变化),它也不会影响SEO。