【发布时间】:2012-07-23 06:55:23
【问题描述】:
我使用 Asp.Net 开发了一个多语言 Web 应用程序。我想问这个问题。我应该使用全球化还是 Cookie?哪个是真正的选择?
【问题讨论】:
-
如果你喜欢这个答案,你可以接受它。这将有助于人们给你感兴趣的答案。
标签: asp.net localization globalization multilingual
我使用 Asp.Net 开发了一个多语言 Web 应用程序。我想问这个问题。我应该使用全球化还是 Cookie?哪个是真正的选择?
【问题讨论】:
标签: asp.net localization globalization multilingual
全球化将是一个更好的选择...您可以创建特定语言的资源文件来开发多语言网络应用程序。
你可以检查
http://www.codeproject.com/Articles/7998/Creating-multilingual-websites-Part-1
Best way to implement a multilingual in ASP.NET application
为了更好地理解。
我强烈建议使用资源文件,一些资源是:
Walkthrough: Using Resources for Localization with ASP.NET
How to: Set the Culture and UI Culture for ASP.NET Web Page Globalization
【讨论】:
这就是我创建多语言网站的方式。
代码语言: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
?>
【讨论】: