软件开发的多语言切换方法?

jason成都 2019-04-17 10:53:11
需要做一个多语言切换功能
1.软件是插件模式的。
2.了解了下微软的全球化开发,感觉有点麻烦,主要问题
(1)一个窗体,相当于在开发阶段,你得在这个界面上开发多种语言资源,这不是很现实。程序员会多种语言描述,这。。。
(2)在开发阶段,未必能够准备好所有语言的翻译工作。
(3)语言修改或者功能修改,都会涉及重新修改资源。
所以想了就一下大家其它的方式。能说说例子最好了。
...全文
851 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
小眼聚光~ 2019-04-21
  • 打赏
  • 举报
回复
使用数据创建语言机制
1、语种表(保存所有使用的语种,并指定母语语言,其他语言都一一指向这个语种,可以互相切换)
2、词汇表。存储各个词汇的翻译语言(母语语种)以及当前语言的词汇
3、特殊词条表。存储由于单个词汇词义不准的情况,存储多个词汇的段落,以及翻译后的内容(母语语种)

想的比较简单,毕竟我没有做过专门翻译的程序哈~
jason成都 2019-04-21
  • 打赏
  • 举报
回复
引用 3 楼 OrdinaryCoder 的回复:
这个多语言是指界面显示可以自由切换语言吗
是的
红尘待落定 2019-04-21
  • 打赏
  • 举报
回复
virtual vod OnLanguageChanged(...)
foreach (Control child in this.Controls)
child.OnLanguageChanged(...)或者 SendMessage(child.Handle, 语言已更改, w, l)
泡泡龙 2019-04-20
  • 打赏
  • 举报
回复
做个json,启动的时候读到字典里面,输出文本在字典检索。
stherix 2019-04-18
  • 打赏
  • 举报
回复
微软的多语言架构不建议采用 我一般用的是json存语言文件,每种语言一个,key-text这样的 在窗口载入的时候,都遍历所有的子控件,如果是特定的类型(Button,Label等等),另外菜单也要单独处理 就去语言文件里找相应的文本 其它方式显示文本的时候,也用翻译类先做一次转换 另外,没必要实现语言动态切换,很麻烦而且没有实用性
  • 打赏
  • 举报
回复
参考下abp框架的做法,就是采用了1L哪种做法,然后默认微软哪种通过resource的方式也不是不可以,只是麻烦些
OrdinaryCoder 2019-04-18
  • 打赏
  • 举报
回复
这个多语言是指界面显示可以自由切换语言吗
jason成都 2019-04-18
  • 打赏
  • 举报
回复
其实算不上动态切换,而是同一个软件需要发布不同的语言版本,向不同国家发布。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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