ExtJS的中法语千位分隔符

法语的千位分隔符应该是什么?相信大部分国际化从业者都很清楚,对!就是如下图所示的空格。

讲到这里,就先分享一个因为这小空格曾引发的血案吧……话说五年前,那时我在某金融机构供职,负责一个监控债券价格浮动的项目。要求一旦债券价格高于或低于某个值时,立刻发出alert,警告所有交易员。平日测试都是获取英文消息源,但产品上线的那天,好巧不巧,英文消息源down机,程序转而从法文消息源获取。而法文消息中的债券价格千位正是这个小空格,并不是我们期望的”,”。那结果呢?还用问么?自然是什么都没获取到,没有任何alert生成,交易员也因此错过了最佳时机。


故事结束了,回到本文要介绍的案例吧。这里我们用ExtJS作为前端框架,发现UI展示出来的法文千位分隔符不是期望的空格。调用错误么?反复尝试后,证明没有任何问题。


难道是ExtJS自己的bug?去源码找找看吧。一番努力后,果然在ext-lang-fr.js的第78行发现了端倪。这里的期望结果应该是thousandSeparator: ' '而不是thousandSeparator:'.'。怎么办?写个third party issue然后close么?
 
左思右想,最终我们还是向Sencha发了mail,同时开了ticket。没成想,Sencha support团队很快就做出了回应,邮件正文如下。

Hi,
 
Thank you for contacting  Sencha Support!
 
I completely agree, we're  sorry for the incorrect information.
You've got two  alternatives to fix this:
 
a) Manually update the  ext-lang-fr.js file to correct this
or
b) include the following  code at the beginning of your app.js file:
Ext.apply(Ext.util.Format,  {
    thousandSeparator: ' '
});
 
Both options will  instruct the Ext.util.Format class to use the correct character.
I've refunded your  x-credits for this ticket since it's caused by an issue with the framework  files.
 
Best regards,
Sencha  Support Team
 
问题解决!同时友情提醒大家,日后一旦你也遇到了ExtJS法文千位分隔符显示异常情况时,请先查验ext-lang-fr.js文件是否已采用最新版本。
 
独乐乐,与人乐乐,孰乐乎?不若与人。古人诚不欺余也!
阅读更多

更多精彩内容