3

我有一个使用 PHP/Symfony2 运行的多语言网站。

当用户切换语言(=切换语言环境)时,我想更改 html lang 属性。

实现这一目标的最佳方法是什么?

PS:我的最终目标是能够为不同的语言切换字体(我为英文选择的字体看起来太糟糕了)。我正在考虑使用 CSS :lang() 伪选择器:html:lang(zh)

4

2 回答 2

9

假设您使用 html5 和 twig 作为模板引擎:

<!doctype html>

<html lang="{{ app.request.locale }}">

...
于 2013-01-31T04:50:07.910 回答
1

推荐的存储语言环境的方法是语言代码下划线国家代码,例如 en_GB。

术语区域设置大致是指用户的语言和国家。它可以是您的应用程序用来管理翻译和其他格式差异(例如货币格式)的任何字符串。建议使用 ISO 639-1 语言代码、下划线 (_),然后是 ISO 3166-1 alpha-2 国家/地区代码(例如 fr_FR 表示法语/法国)。 http://symfony.com/doc/current/book/translation.html

因此,在 lang 属性中使用语言环境的安全方法是:

<html lang="{{ app.request.locale|split('_')[0] }}">

这适用于en_GB语言环境和en语言环境。

于 2015-05-29T20:29:43.040 回答