如何开发多语言Web应用程序

时间:2012-07-23 06:55:24

标签: asp.net localization globalization multilingual

我使用Asp.Net开发了一个多语言Web应用程序。我想问一个问题。我应该使用全球化还是Cookie?哪一个是真正的选择?

2 个答案:

答案 0 :(得分:1)

全球化将是一个更好的选择......您可以创建特定于语言的资源文件来执行多语言Web应用程序。

您可以查看

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

答案 1 :(得分: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 = zh_CN

<?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
?>