我用 Asp.Net 开发了一个多语言 Web 应用程序。我想问一个问题。我应该使用全球化还是 Cookie?哪个是真正的选择?
问问题
2065 次
2 回答
1
全球化将是一个更好的选择……您可以创建特定于语言的资源文件来执行多语言 Web 应用程序。
你可以检查
http://www.codeproject.com/Articles/7998/Creating-multilingual-websites-Part-1
为了更好地理解。
我强烈建议使用资源文件,一些资源是:
于 2012-07-23T07:00:52.637 回答
1
这就是我创建多语言网站的方式。
代码语言: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
?>
于 2017-01-23T15:16:06.640 回答