首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

寻求多国语言的文字排版的方法和经验,该如何解决

2012-02-10 
寻求多国语言的文字排版的方法和经验在做一个小的多国语言的界面,控件布局大致如下:Label1Label2Label3Lab

寻求多国语言的文字排版的方法和经验
在做一个小的多国语言的界面,控件布局大致如下:

Label1   Label2
Label3   Label4/或者其它控件
......

上面这些Label的caption都是读对应的INI语言文件显示的。
由于INI语言文件是客户提供的,Label1的各国语言的翻译长度
相差较大,而且要求Label1、Label3都是左对齐。这样就产生了
Label2等后面的控件位置排版问题。

而且像上面这种布局的控件太多,大家有什么好的方法和经验吗?

[解决办法]
我们在做多国语言的时候就是把label拉成固定的长度,并尽量拉得长一点,这样大部分的Caption是可以正常显示的,只有极个别的会显示不全,我们的处理方法是读ini的时候给Label赋值后继续给Label的hint赋值,并设置Label的showhint为true,这样写就算显示不全 把鼠标移动到Label上就可以看到了
因为我们没有那么多种类 就只有中文简体,繁体,英文三种 基本不出什么问题
[解决办法]
label的autosize还是可以设置为true,不过不能使用默认字体,不然会出现最后只有半个字

ini对大项目不好,比较慢。可以做成资源dll。
我自己用是自带的多国语言功能。在菜单的project-> languages
你update后有对应的文件,这样会有一个对应语言的项目,里面有所有的界面的东西
如果需要包括一些vcl的东西都可以处理。缺点是会产生一点垃圾。
只有要修改就直接打开对应语言的项目,打开对应的窗体,然后修改对应的属性,跟设置原来的语言一样可以调节,我用cnpack辅助,对齐等还是很容易处理的。
[解决办法]
可以。排版可以任意控制。
[解决办法]
也不需要动什么大手术,就是把ini上的东西copy对对应控件对应的属性上就行了
另外需要添加一点代码控制,不过你可以看delphi的超级猛料里面的代码,就一个unit,直接用就行了。
[解决办法]
你Update resource dlls后保存项目到项目组,然后在project manager里面直接点开对应的form改就行了。也有别的方法,自己弄弄就会了
帮助的不清除,还没用过vista

热点排行