在html页面上内化

时间:2010-07-12 14:42:14

标签: mysql html frameworks internationalization

我有一个问题,我该怎么办?

  • 我想显示一个带有语言列表(英语,法语等),ISO 639-1代码的下拉列表(html)。我希望显示基于母语的语言(例如,在组合框中,“法语”必须说“francais”,供法语人士理解)。

我会怎么做? I,E。这就是我在MySQL中的做法

CREATE TABLE IF NOT EXISTS LANGUAGE
(
     LANGUAGE_CODE              VARCHAR(3) NOT NULL    --ISO 3 digit digit code
     ,LANGUAGE_NAME_ENGLISH     TEXT NOT NULL
     ,LANGUAGE_NAME_NATIVE      TEXT NOT NULL
) DEFAULT CHARACTER SET utf8;

唯一的问题是,我无法填充“LANGUAGE_NAME_NATIVE”,因为1)我无法获得所有本地语言,2)我没有UTF8格式的语言。

有没有更好的方法呢?

基本上,我正在接受的是:我是否应该为所有相应语言的所有语言列表提供语言表;我应该使用各自语言的所有语言列表的i18n配置文件(属性文件),还是应该使用语言翻译器?

PS 我正在使用MVC,如Spring MVC和Struts。

2 个答案:

答案 0 :(得分:1)

许多框架允许您通过属性文件进行i18n配置。您将拥有每种受支持语言的属性文件。所有属性文件都具有相同的键但具有不同的值,您可以使用表示层中的键。您将不得不查看您正在使用的任何技术的文档......

编辑 - 这是我为struts找到的链接... http://www.allapplabs.com/struts/struts_internationalization.htm

答案 1 :(得分:1)

在数据库级别存储很好。唯一的选择是将其存储在与翻译相同的位置。如果这些是基于文件的,那么打开/加载每个文件以收集可用语言的成本太高。

留下你的问题如何获得翻译:没有工具浮现在脑海中。你是如何实际做“正常”翻译的?使用人工翻译?让他/她完成翻译语言名称的工作并自己将其插入到DB中。或者,解析thisthis