asp.net 與多國語言 --zt

本文介绍了ASP.NET中实现多语言支持的方法,包括如何通过资源文件为不同语言提供资源字符串,以及如何设置页面的UICulture属性来指定显示的语系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://blog.blueshop.com.tw/uni2tw/archive/2006/12/12/47151.aspx
http://forums.microsoft.com/MSDN-CHT/Search/Search.aspx?words=%E5%A4%9A%E5%9C%8B%E8%AA%9E%E8%A8%80&searchKey=&lcid=1028&searchscope=allforums&siteid=14&ForumID=-1&ForumGroupID=-1

區域性名稱區域性識別字語言-國家/地區
zh-CN0x0804中文-中國
zh-TW0x0404中文-臺灣
zh-CHS0x0004簡體中文
zh-CHT0x7C04繁體中文
en0x0009英語
en-US0x0409英語-美國
en-GB0x0809英語-英國

如果你的網頁是 Default.aspx
那多語系資源檔可以是
Default.aspx.resx
Default.aspx.zh-cht.resx (繁中)
Default.aspx.en.resx (英)
Default.aspx.zh-chs.resx (簡中)

我們寫asp.net 抓到的 Thread.CurrentThread.CurrentCulture 是 zh-TW
如果沒有Default.aspx.zh-tw.resx,
因為zh-TW 的Parent 是zh-cht,所以就會讀取 Default.aspx.zh-cht.resx

而不論如何,Default.aspx.resx是一定要有的。

Page不需特別設定,就會自動讀對映的語系顯示網頁,但如果測試就特別指定
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="YourClass.aspx.cs"
    Inherits="YourClass" UICulture="zh-TW" %>
指定UICulture也就是指定用哪個語系的資源檔來顯示畫面

雖然設定 Culture 與 UICulture 都會改變畫面的語系
但如果是指定<%@ Page Culture="zh-TW"%>,是會改變 Thread.CurrentThread.CurrentCulture ,
程式裏跟Culture相關的都會影響到,比方說
Response.Write(DateTime.Now.ToLongDateString() + DateTime.Now.ToLongTimeString() + "<br />");
在 Cultrue="zh-TW" 的情況下,是秀出『2006年12月12日下午 03:34:46』
在 Cultrue="en-US" 的情況下,是秀出『Tuesday, December 12, 20063:49:08 PM』

文件裏獲得在地字串的方法有2種
<asp:Label ID="lblLanguage" runat="server" Text="<%$ Resources:Language %>"></asp:Label>
<asp:Label ID="lblNavigaion" runat="server" meta:resourcekey="lblNavigation"></asp:Label>

如果想用程式取得
protected void Page_Init(object sender, EventArgs e) {
    lblNavigaion.Value = GetLocalResourceObject("Navigaion").ToString();
}
User Control 裏也可以這樣讀

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值