今天和经理争执了半天,主要就是关于locale的存放问题。项目使用的是Spring框架,要求多语言。页面好说,用Spring的标签库就可以了,还有一些其它的,主要是我们自己生成的Html代码等,这个时候,就需要自己翻译了。
翻译呢,就需要Locale信息,取Locale信息就有多种方法了,我使用了Spring的Cookie,这样取Locale的时候,就不用使用Request.getLocale()方法了,因为getLocale取得是用户的本机Locale而不是用户请求的Locale,页面上有个链接选择中文版还是英文版的。这样我就需要把locale往后面传播。我在共同得Controller里面提供了一个方法用来获得Locale。
在测试得时候,发现一个问题,就是有人没有通过我提供得方法获得Locale,直接调用得Request.getLocale方法,这样导致了翻译不正常。解决得方法,我和经理发生了分歧,我觉得所有得人必须从我提供的方法获得Locale,经理让我把Request得Locale给替换掉。这样就不会出现问题。我不同意,我宁愿新作一个自定义的Locale类,这样大家调用翻译得时候就不会传入Request.getLocale了。总觉得经理让我替换掉Request里面locale的做法,是一种隐讳的处理方式,虽然解决了问题,但是容易使后来的人产生迷惑。如果后面的人需要用到客户机Locale的时候,调用Request.getLocale的时候,就会遇到问题。
经理觉得改变Request里面的Locale可以保证程序正确执行,而且这样做起来也比较好。
个人觉得这样总是改变了Request.getLocale得API得含义,这样自己有些接收不了。经理就让我写这篇blog看看大家得意见,我也想听听大家得意见,因为经理说服不了我。看看自己到底是固执,还是认识有些狭隘。希望大家不要惜言。
分享到:
相关推荐
C语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE....
Locale详解Locale详解Locale详解Locale详解
locale-archive 和 locale-archive.tmpl 里面保存了这两个文件。这个是位于Linux系统 /usr/lib/locale 文件夹下的。 里面保存了比较全的字符集。
java.util.Locale
Laravel开发-locale Laravel 5本地化包
官网搬的Locale.Emulator,地址http://pooi.moe/Locale-Emulator/,GIT地址https://github.com/xupefei/Locale-Emulator非常简洁好用的转区工具希望大家能关注一下
linux中locale自用总结 locale是根据计算机用户所使用的语言、所在国家或者地区、以及当地的文化传统所定义的一个软件运行时的语言环境。
这是一个可运行的小例子,测试locale的java代码
Laravel开发-laravel-locale Laravel 5强大的本地化功能
Locale Emulator 可以提供类似 NTLEA 和 AppLocale 的转区功能,为访问github不便的人上传至csdn。访问github无碍的请戳 https://github.com/xupefei/Locale-Emulator/releases,
C语言头文件 XLOCALEC语言头文件 XLOCALEC语言头文件 XLOCALEC语言头文件 XLOCALEC语言头文件 XLOCALEC语言头文件 XLOCALEC语言头文件 XLOCALEC语言头文件 XLOCALEC语言头文件 XLOCALEC语言头文件 XLOCALEC语言...
Apps.Locale.resources.dll
SciTE汉化文件,将locale.properties文件放到SciTE目录下即可。如果提示替换,请替换之
C语言中的locale,使用C++标准库的iostream,可以方便地将控制台、文件、字符串以及其它可扩充的外部表示作为流来处理,但要处理中文,却会碰到很多问题。
Laravel开发-locale-route Laravel 5本地化的可测试路由包
Locale.Emulator.1.2.0.1.zip
自己做的更改locale工具,希望对大家有所帮助
语言环境模拟器(locale emulator)专门为广大玩家们打造的,当我们玩外服的游戏时候,出现的是其他国家的语言,很多人都看不懂,可以使用这款软件,将它们使用中文语言进行模拟安装或者运行,然后就可以得到中文的...