2012-08-31 31 views
0

在此先感谢,我知道这是非常重复和非常多问的问题,但我没有得到任何适当的解决方案,我指的是大量的网站这个。asp.net与C#多语言支持网站,记录来自SQL Server

问题:我正在开发和订购网站,需要多种语言支持,如英语,西班牙语,法语,阿拉伯语和近10种语言。我怎样才能管理从CSS到图像的所有事情,从数据库抓取记录很多东西都在我的脑海中设置的东西。

我可以用一个解决方案,我可以在表中每种语言创建场像说明我需要保持申请英语,西班牙语这样的....

什么是使用动态语言翻译的最佳途径没有使用任何第三方工具。

请告诉我解决方案。

如果你没有得到我的问题,请问我。

我需要绝望的帮助提前

感谢

回答

1

您可以根据本地化和全球化工作

链接:http://msdn.microsoft.com/fr-fr/library/ms247246%28v=vs.100%29.aspx

为了开始,你可以测试论文功能

Generating Default Resource File : 

在Visual Studio设计器中,单击设计器表面或控件。

选择工具 - >生成本地资源

的XML - 在使用文本和工具提示 值页面上的所有现有的控件App_LocalResources文件夹中的网页基于本地资源文件,以及页面标题将被生成。

Generating Resource Files for Other Cultures: 

在Solution Explorer中

右键单击 '为Default.aspx.resx' 文件,然后单击复制

右键单击App_LocalResources文件夹,然后单击粘贴

右键单击“ Default.aspx.resx的副本“并单击重命名

为包含新语言和区域性代码的资源文件键入新名称e扩展名。

+0

我的内容怎么样,我需要用每种语言保存每个字段的所有内容? – Yagnesh

+0

是为了翻译为不同的语言 –

0

就数据库而言,解决方案是您将拥有一个Languages表,并且您的每个用户都将拥有一个针对其记录的数据库语言,或者用户可以从页面上的下拉列表中选择语言。所有喜欢我的实体表说,UserStatusUserTypes等将有一个相关的郎表所示:UserStatus_Lang,其将持有的特定语言的文本,如:

UserStatus Table 
UserStatusId 
1 

UserStatus_Lang 
UserStatusId_FK LangId_FK Text 
1     1   Online 
1     2   ****** 

同时节约您将节省实体表,但同时标识显示你将从_Lang表中显示文字。

比像网页标签等控件,您将创建一个表Pages,将举行您的网页页面名称,而不是另一个表PageControls握住你的页面上,比另一个表PageControlsText将举行语言存在控制针对页面控件的特定文本。在Page_Init事件中,您将从数据库中获取页面控件及其文本(根据所选语言),并通过在页面上搜索页面控件来设置页面控件的文本。

我希望你对这个实现有一些了解。修改================== =================

页表

PAGEID  PAGENAME [OTHER COLUMNS] 

PAGE控件表

PAGECONTROLID  PAGEID_FK PAGECONTROLNAME [OTHER COLUMNS] 

PAGE控制文本TABLE

PAGECONTROLID_FK  LANGID_FK  PAGECONTROLTEXT 

就你的描述而言,你将不得不做我t等在2个表 TABLE1

ID   ITEM_NAME 

比另一台TABLE1_LANG

ID_FK  LANGID_FK  DESCRIPTION 

通过使用这种方法,你不会需要修改你的结构,当新的语言系统中的介绍。

+0

你要我在数据库保存控制的名字吗?内容让我给你例如我添加一个表,如 _______________________ ID ITEM_NAME DESCRIPTION _______________________ 我是否需要保存所有语言DESC_ENG DESC_ARABIC等特殊字段的描述...? – Yagnesh

+0

我已经在我的答案增加了一节修改,恳请检查您的回答,是的,你必须保存在数据库控件名称。 –

+0

我进入脱机状态,所以将不能够在一段时间回复,让我说,你有任何疑问,当我上网会作出回应。 –