我希望我的网站主页以客户的语言显示。因为站点托管在一个位置,但可以通过任意 n 个国家/地区访问。所以我想拥有所请求客户端浏览器语言的主页。
还有一点很重要,即假设如果服务器不支持客户端语言,那么站点应该在备用语言中可见。
你有任何示例网站/好的链接吗?
我希望我的网站主页以客户的语言显示。因为站点托管在一个位置,但可以通过任意 n 个国家/地区访问。所以我想拥有所请求客户端浏览器语言的主页。
还有一点很重要,即假设如果服务器不支持客户端语言,那么站点应该在备用语言中可见。
你有任何示例网站/好的链接吗?
这并不是对问题的真正答案,而是一般建议......如果您决定根据 GeoIP、浏览器语言等以您认为最适合他/她的语言将输出发送给用户,请确保它是即使您不知道语言,也很容易随时在网站上找到语言选择控件。
没有什么比仅仅因为您碰巧在酒店大堂使用无法访问浏览器设置的计算机(除非您会说该语言)而出现在匈牙利语网站上更令人讨厌的事情。
此外,尽管我是瑞典人并且将瑞典语作为我的第一语言,但我几乎总是更喜欢英语或德语的英语或德语网站,而不是翻译的网站。重要的事情经常在翻译中丢失,只要语言没有阻止我,我就知道我喜欢什么。我意识到这对您的大多数用户来说不是“正常情况”,但请记住我们:)
我认为发布到我的问题的答案也回答了这个问题!
对于多语言网站教程,您可以访问以下 2 个 ASP.NET Webform 和 ASP.NET MVC4 链接。
http://dotnetawesome.blogspot.com/2014/09/how-to-create-multilingual-website-in-aspnet-mvc4.html
http://dotnetawesome.blogspot.com/2014/06/how-to-create-multilingual-application-aspnet.html
您可以查看.NET Internationalization,这是同名书籍的网站。在Craig Murphy 的博客上有一篇评论。
这就是我创建多语言网站的方式。它也有后备语言选项。
代码语言:PHP
目录结构:
/
|- core
| |- init.php
| `- lang
| |- en_US.UTF-8.ini
| `- hi_IN.UTF-8.ini
|
`- dashboard.php
语言文件名:en_US.UTF-8.ini
[Headers]
HEADER_DASHBOARD = "Dashboard";
HEADER_USERS = "Users";
HEADER_GROUPS = "Groups";
HEADER_HELP = "Help";
[MainMenu]
MENU_DASHBOARD = "Dashboard";
MENU_USERS = "Users";
MENU_GROUPS = "Groups";
MENU_HELP = "Help";
文件名:init.php
<?php
$available_lang = [
'en' => 'en_US.UTF-8',
'hi' => 'hi_US.UTF-8',
];
//check if requested language is available or fallback to default.
$language = (isset($available_lang[$_GET['ln']])) ? $available_lang[$_GET['ln']]:'en_US.UTF-8';
$_SESSION['language'] = $_GET['ln'];
$ini = parse_ini_file("/core/lang/" . $language . ".ini");
?>
文件名:dashboard.php?ln=en
<?php
require_once 'core/init.php';
if ($_SESSION['language']) == 'en') {
echo '<a href="?ln=hi">Hindi</a>';
} else {
echo '<a href="?ln=en">English</span></a>';
}
// example uses
echo $ini['HEADER_GROUPS']; // Dashboard
?>