網站簡體繁體切換的問題

lcya 2011-01-05 11:26:49
各位大師好:
      小弟做了一個簡單的網站,是繁體的,要怎麼樣才能實現簡體和繁體間的互換呢?
用js我可以實現單個頁面的簡體繁體互換,(呵呵:用的簡體&&繁體字庫,我覺得這樣不好,首先是tw,hk他們的有些說法,和我們根本就不同,比如:鼠標他們是滑鼠,程序是程式。。。。。)

我也看了其它的一些網站,他們有的是做兩套,有的也是直接轉換的...

如果是做兩套的話:有沒有這樣的軟件啊,我能把繁體的項目批量轉換為簡體的(反之亦然)....有這樣的軟件嗎?

用一套的話:我想應該是這樣的,在master上有二個鏈接(簡體&&繁體),在任何的內容頁面,點擊簡體或者是繁體

都鏈接到網站的主頁,因為網站本來就是繁體的,所以點擊繁體的時候不需要字體的轉換,但是也跳轉到主頁
(應該最好是這樣:本來當前瀏覽的是繁體,你再選擇繁體本來就是多余,所以應該是不做任何的動作)

當在繁體狀態的時候,點擊簡體:跳轉的主頁,應該同時也要轉換為簡體,再有就是,因為已經選擇了簡體,所以下面的
所有鏈接都要轉換

當在簡體狀態時:點擊繁體:跳轉到主頁。。。。。

請各位大師多多指教,這樣可行嗎?

我覺得寫一個類應該比用js要方便點,但是類有難度,小弟時候菜鳥啊....有哪位大師寫過嗎,望告知一二啊,不勝感激

有哪位做過用js的嘛,能不能給我參考下啊,謝謝啦lcya1118@tom.com


以下是小弟單個頁面的js轉換:(我只會單個的,就照我前面說的,可行嗎?怎麼做啊,)
<head>
<title>
js實現簡體繁體的互換
</title>
</head>
<script type="text/javascript" language="javascript">
<!--
function window.onload(){



var s="簡體的字庫";
var t="繁體的字庫";
function String.prototype.s2t(){
var k='';
for(var i=0;i<this.length;i++) k+=(s.indexOf(this.charAt(i))==-1)?this.charAt(i):t.charAt(s.indexOf(this.charAt(i)))
return k;
}

function String.prototype.t2s(){
var k='';
for(var i=0;i<this.length;i++) k+=(t.indexOf(this.charAt(i))==-1)?this.charAt(i):s.charAt(t.indexOf(this.charAt(i)))
return k;
}

}
-->
</script>
<script type="text/javascript" language="javascript">
function s2t()
{
document.body.innerHTML=document.body.innerHTML.s2t();
}
function t2s()
{
document.body.innerHTML=document.body.innerHTML.t2s();
}
</script>

<body>
<form id="form1" runat="server">
中国位于亚洲东部,太平洋西岸。陆地面积960万平方千米,东部和南部大陆海岸线1.8万多千米,内海和边海的水域面积约470多万平方千米。海域分布有大小岛屿7600个,其中台湾岛最大,面积35798平方千米。我国同14国接壤,与8国海上相邻。省级行政区划为4个直辖市,23个省,5个自治区,2个特别行政区,首都北京。
鼠標
<br />
<br />
<a href="javascript:s2t()">繁体中文</a>
<a href="javascript:t2s()">简体中文</a>
<br />
<br />
<asp:Button ID="Button1" runat="server" Text="陳橋拼音" />
</form>
</body>

...全文
335 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
skyboy 2012-05-16
  • 打赏
  • 举报
回复
收获不少~值得学习一下
jeven_xiao 2011-01-07
  • 打赏
  • 举报
回复
收获不少~值得学习一下
孟子E章 2011-01-06
  • 打赏
  • 举报
回复
不要用js。js是不能实现转换的。

不要使用session保存语言,采用Cookie,不容易丢失。

遍历控件是可以的,但是那样麻烦。你可以对aspx整个页面的执行结果进行转换,也就是转换最终的html内容。任何得到最终的html内容。参见这个例子
http://dotnet.aspx.cc/file/How-to-modify-aspnet-output-HtmlTextWriter.aspx
lcya 2011-01-06
  • 打赏
  • 举报
回复
TO:net_lover
您好
謝謝您的耐心指教

我想您的第一方法應該是目前最好的方法啦,國際化的問題應該在網站或者系統的最初設計階段就考慮,

否則以後的工作量會很大...

我想采用您的第二中方法:在显示的时候进行转换。数据库只存储中文
我的思路是這樣的:您得多指教啊
f:在登錄的時候讀取系統的語言是CN還是tw,(前面做的本來就是tw的)當系統語言是tw的時候不做轉換
當系統語言是cn時,頁面轉換(tw to cn)

se:就是轉換的問題了,用session保存系統語言是cn 還是tw

在每個頁面onload的時候:判斷是不是要轉換

我的頁面中控件不多都是簡單的:label,button,treeview,gridview,textbox....

如果也轉換的話,是不是涉及到以上控件的遍歷啊

這個也有難度:我的treeview,gridview該怎麼樣轉換呢,遍歷控件我也不會,您能幫幫我嗎?

如果能像js這樣就好啦:
function s2t()
{
document.body.innerHTML=document.body.innerHTML.s2t();
}
function t2s()
{
document.body.innerHTML=document.body.innerHTML.t2s();
}

<a href="javascript:s2t()">繁体中文</a>
<a href="javascript:t2s()">简体中文</a>

在後台能實現這樣的操作嗎?

string softText3 = ChineseConverter.Convert("软件", ChineseConversionDirection.SimplifiedToTraditional);
Response.Write(softText3);

microsoft的類庫我按照您的下載了最新的:

就按照microsfot的convert就做一下頁面的轉換這樣方便點,呵呵,暫時我不做數據的輸入,不寫入數據庫

就簡單的顯示.....

以上請多多給批評意見,小弟謝謝啦

對了,您是哪裡的啊?我東莞
如果幸運能見上一面就好啦



wuyq11 2011-01-05
  • 打赏
  • 举报
回复
使用微软的 Visual Studio International Pack
或网站的JS
http://www.code-design.cn/codedown95.html
ycproc 2011-01-05
  • 打赏
  • 举报
回复
.net 国际化
lcya 2011-01-05
  • 打赏
  • 举报
回复
TO:wy811007

呵呵,能不能發我郵箱啊lcya1118@tom.com
謝謝啦
wy811007 2011-01-05
  • 打赏
  • 举报
回复
晕啊。 想把代码发给你 但是 提示 “您的回复正文中有非法词或词组!”
gb2big5.htm

<A id="asp99" style="color:red">繁體中文</A>
<Script Language=Javascript Src="gb2big5.Js"></Script>

gb2big5.js
还一个这个文件 你搜索下把。

孟子E章 2011-01-05
  • 打赏
  • 举报
回复
我以前做过一次,你可以有2种方法。
下载安装最新版本的http://www.microsoft.com/downloads/details.aspx?familyid=7D1DF9CE-4AEE-467F-996E-BEC826C5DAA2&displaylang=zh-cn

1,数据库字段采用CN_和 TW_两种字段存储内容,在输入数据的时候就进行转换,分别存储,显示的时候写一个静态类,

public static String ShowText(String enText, String twText, String cnText)
{
String lang = "Cn";
if (HttpContext.Current.Request.Cookies["lang"] != null)
{
lang = HttpContext.Current.Request.Cookies["lang"].Value;
}

if (lang.Equals("En"))
{
return enText;
}
else if (lang.Equals("Tw"))
{
return twText;
}
else
{
return cnText;
}
}

也可以在DataTable里面进行操作。

方法2:在显示的时候进行转换。数据库只存储中文
lcya 2011-01-05
  • 打赏
  • 举报
回复
TO: net_lover

關於網站的簡體繁體切換問題,您能指導下我具體的思路嗎?
我還不知道怎麼下手呢。。。
謝謝啦
孟子E章 2011-01-05
  • 打赏
  • 举报
回复
office 2007之后都带这个繁简转换功能
office 没有免费版,网上有很多下载,输入序列号即可
lcya 2011-01-05
  • 打赏
  • 举报
回复
TO:net_lover
感謝你的回復

我在他的幫助文檔裡面看到了這樣一段:

using System;
using Microsoft.International.Converters.TraditionalChineseToSimplifiedConverter;

namespace Example_CS
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("The simplified format of 北京時間 is {0}.", ChineseConverter.Convert("北京時間", ChineseConversionDirection.TraditionalToSimplified));
Console.WriteLine("The traditional format of 软件 is {0}.", ChineseConverter.Convert("软件", ChineseConversionDirection.SimplifiedToTraditional));
Console.ReadLine();
}
}
}

/*
This code produces the following output with Office12 Chinese edition installed:

The simplified format of 北京時間 is 北京时间.
The traditional format of 软件 is 軟體.
This code produces the following output without Office12 Chinese edition installed:

The simplified format of 北京時間 is 北京时间.
The traditional format of 软件 is 軟件.*/

呵呵,作為jsj人,到感覺到羞愧,office12我是真不知道有這個
如果可以這樣:The traditional format of 软件 is 軟體.
那是不是也可以這樣呢: 北京时间软件is北京時間軟體......

可以嗎?請多多指教

office12有破解的版本嗎?
在哪裡可以下啊?
謝謝


yangjinan0729 2011-01-05
  • 打赏
  • 举报
回复
牛人真多
孟子E章 2011-01-05
  • 打赏
  • 举报
回复
你说的很对,js 的是不行的,可以这样

http://blog.csdn.net/net_lover/archive/2009/04/20/4095606.aspx

这样就符合繁体的规范了

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧