Car*_*los 18 java swing localization
我有一个带有服务器和Swing客户端的Java应用程序.现在我需要本地化用户界面,并且可能还需要一些特定于区域设置的数据.我想听听您的意见,具体情况很少.
I'm very grateful to everybody who can share their experiences with me.
P.S. If you happen to know any exceptionally good websites or books on the subject, I would be happy to hear of them. I have of course done some googling and read some articles about localization, but nothing mind blowing yet.
Paw*_*yda 13
实际上,你所说的是国际化(i18n),而不是本地化(L10n).根据我的经验,你走的是正确的道路.
广告1).每个视图和区域设置一个属性文件(不是必需的语言,因为您可能希望根据国家/地区对某些语言使用不同的翻译,即使用英语和美国英语的不同字符串,因此使用不同的语言环境)是正确的方法.由于应用程序趋于发展,当您只想修改一个视图时,它可以节省大量资金(因为翻译人员甚至会收取他们不会触摸的内容 - 他们必须实际找到需要更新的字符串/新翻译).如果你正确使用翻译记忆库工具也会更容易(文件末尾的新字符串).
广告2).最好的想法是仅从服务器或其他进程发送资源密钥; 其他方法可能是使用分隔符附加资源键和可能的数据(即数值),因此可以重新创建消息并将其重新格式化为本地语言.
广告3).我已经看到了几种本地化数据库的方法,但最好的(不仅是我的观点,还有IEEE成员)是存储资源键并使用适当的语言环境在客户端重新创建数据.当然这适用于预先安装的数据,如果你让用户输入数据,其他问题就会出现......没有银弹,需要考虑什么在他/她的环境中最有效.我倾向于包括一个识别语言的外键列,但它实际上取决于将要存储的数据类型.
不幸的是i18n并没有在这里结束,请记住正确格式化日期和数字,以便使用您的程序的人可以理解它们.而且,如果您碰巧有一些字符串列表,排序顺序也应该依赖于语言环境(它称为整理).Sun曾经拥有(现在我们心爱的Oracle)有很好的i18n路径,你可以在这里找到:http://download.oracle.com/javase/tutorial/i18n/index.html.
如果你想阅读有关i18n和L10n主题的好书,这将为你节省多年的学习这些主题(虽然没有必要教会你如何编程),微软出版社出版了很多书:"开发国际软件" - http://www.amazon.com/Developing-International-Software-Dr/dp/0735615837.它仍然相关,虽然很老.
| 归档时间: |
|
| 查看次数: |
6669 次 |
| 最近记录: |