我使用内化i18n ci。
翻译很好,但主页始终保留导航器的默认语言。
例如,我点击链接翻译(例如西班牙语),这很好但如果我点击主页链接,我的西班牙语翻译将替换为英语(firefox默认为英文)
请你能帮帮我吗?
谢谢Sukunar, 当我使用内部化i18ci时,它会自动重定向到子域。 例如: 使用英语的默认语言的Firefox我的家将自动:“http:// localhost:8888 / mysite / en / home” 如果我选择例如法语的翻译,它将变为:“http:// localhost:8888 / mysite / fr / home” 如果我点击链接,将存储语言。 例如:订阅页面的链接将是:“http:// localhost:8888 / mysite / fr / translate” 如果我带回链接回到我的主页,它将成为浏览器的默认语言,并且我选择的语言将消失。
我的文件:Applications / config / routes:
$route['default_controller'] = "site";
$route['404_override'] = '';
//URI like '/en/about' -> use controller 'about'
$route['^(en|fr)/(.+)$'] = "$2";
$route['^(en|fr)$'] = $route['default_controller'];
我可以在其他文件中更改内容吗?如果是这种情况怎么样和什么?
答案 0 :(得分:0)
您需要使用会话来存储用户的语言。在加载页面之前,从会话中获取用户的语言并显示相关内容。
或者,您可以为不同的语言使用不同的URL结构或子域。在这种情况下,您需要确保您的所有链接都反映了语言的变化。这也是从SEO角度推荐的,因为网络抓取工具将能够访问这些数据。
例如,
site.com - 默认,英文
es.site.com - 特定语言,西班牙语 site.com/es
希望它有所帮助!