0

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

4

2 回答 2

1

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

你可以检查

http://www.codeproject.com/Articles/7998/Creating-multilingual-websites-Part-1

在 ASP.NET 应用程序中实现多语言的最佳方法

为了更好地理解。

我强烈建议使用资源文件,一些资源是:

演练:通过 ASP.NET 使用资源进行本地化

如何:设置 ASP.NET 网页全球化的文化和 UI 文化

于 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 回答