国际化之货币符号显示
我发现手机上显示的货币符号跟实际遇到的可能不一样,为此我逐一查询了不同国家/地区的显示。大部分是确定的,有几个国家不太确定。
最开始我用 Java 代码来获取,发现并不准确,比如菲律宾,官方有英语和菲律宾语,我都试了,得到都是 PHP xxx,PHp xxx 不符合预期。代码如下:
package com.tutorialspoint; import java.util.*; import java.text.SimpleDateFormat; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; import java.text.NumberFormat; import java.util.Locale; public class CurrencyDemo { public static void main(String args[]) { /* // create a currency object with specified locale Locale locale = Locale.GERMANY; Currency curr = Currency.getInstance(locale); // print currency's code System.out.println("Locale's currency code:" + curr.getCurrencyCode()); */ double number = 123456.789; // https://developer.android.com/reference/java/util/Locale#fields_2 Locale[] locales = { Locale.CANADA, Locale.CANADA_FRENCH, Locale.CHINA, Locale.FRANCE, Locale.GERMANY, Locale.ITALY, Locale.JAPAN, Locale.KOREA, Locale.PRC, Locale.SIMPLIFIED_CHINESE, Locale.TAIWAN, Locale.TRADITIONAL_CHINESE, Locale.UK, Locale.US, new Locale("en", "IN"), new Locale("en", "CA"), new Locale("zh", "HK"), new Locale("zh", "MO"), new Locale("zh", "SG"), new Locale("en", "SG"), new Locale("th", "TH"), new Locale("vi", "VN"), new Locale("ja", "JP"), new Locale("ga", "IE"), new Locale("ms", "MY"), new Locale("fil", "PH"), new Locale("en", "AU"), new Locale("km", "KH"), new Locale("id", "ID"), new Locale("es", "ES"), }; // locales = SimpleDateFormat.getAvailableLocales(); for (int i = 0; i < locales.length; i++) { // Gets currency's formatted value for each locale // without change the currency symbol DecimalFormat formatter = (DecimalFormat) NumberFormat.getCurrencyInstance(locales[i]); String before = formatter.format(number); System.out.println(locales[i].getDisplayCountry() + " | before: " + before); } } }
访问这个网址可直接运行上面代码,查看结果:http://tpcg.io/Si9PeP
后来我在搜索澳门 MOP 的时候,发现苹果官网有直接显示(显示的是 MOP$),然后就依此为入门查询了一下其它国家。
规则就是苹果官网在国家简称(二个字母),对应国家的编码可以参考我上一篇文章,以越南为例:https://www.apple.com/vn/
澳大利亚 https://www.apple.com/au/trade-in/ 显示:A$xxx (美元)
台湾 https://www.apple.com/tw/trade-in/ 显示:NT$xxx (新台币)
香港 https://www.apple.com/hk/trade-in/ 显示:HK$xxx (港币)
澳门 https://support.apple.com/zh-mo/mac/repair/service 显示:MOP$xxx (
泰国 https://www.apple.com/th/shop/buy-mac/macbook-air 显示:฿xxxx
加拿大 https://www.apple.com/ca/trade-in/ 显示:$xxx
新加坡 https://www.apple.com/sg/trade-in/ 显示:S$xxx
英国 https://www.apple.com/uk/shop/buy-mac/macbook-air 显示:£xxxx
菲律宾 https://www.apple.com/ph/shop/buy-mac/macbook-air 显示:₱xxxxx
日本 https://www.apple.com/jp/shop/buy-mac/macbook-air 显示:¥xxx
韩国 https://www.apple.com/kr/shop/buy-mac/macbook-air 显示:₩xxxx
马来西亚 https://www.apple.com/my/shop/buy-mac/macbook-air 显示:RM xxx
印度 https://paytm.com/ (搜索:“阿里巴巴 印度 电商”,找到印度电商 paytm) 显示:Rs xxxx
印尼 https://www.tokopedia.com/ (搜索:“阿里巴巴 印尼 电商”,找到印度电商 Tokopedia) 显示:Rp xxxx
柬埔寨 https://c21mekong.com.kh/ 使用的是美金 $,https://www.cellcard.com.kh/kh 用的也是 美金 $(谷歌搜索“site:*.kh”) 显示:$xxxxx
越南 https://tiki.vn/ (谷歌搜索:“京东 越南”,发现京东投资了这家公司,直接访问官网) 显示:xxx ₫
另外一种办法是通过 【七麦数据 】的排行榜,选择不同的的国家/地区,然后选择付费排行,点进去详情有 itunes 游戏链接,进入 itunes 界面,拉到最下面,有显示畅销的商品列表,里面就标有货币符号,但我发现还是跟上面苹果官网显示不一样,而且苹果官网显示更为准确一些,这个我觉得只能作为参考。
以印度为例:https://www.qimai.cn/rank/index/brand/all/genre/6014/device/iphone/country/in/date/2018-09-30
畅销榜第一句是IGG的王国纪元
https://www.qimai.cn/app/rank/appid/1071976327/country/in
跳到 itunes 官网界面 https://itunes.apple.com/in/app/id1071976327?mt=8 。 显示的是印度卢布
而实际上我访问印度电商网站显示的既有 Rs 也有 卢布(₹)
如果还有其它国家/地区需要整理,可以参考我上面的搜索方法,基本上很容易能找到该国家/地区日常使用的支持。另外一种就是拿台设备自己慢慢切换国家/地区 和 语言了。