IOS篇

1. app name 多语言设置

注意:xcode 8 以后没有support Files 文件夹了,不用care,

只要配置文件名称填对就行   InfoPlist.strings , 在右边工具栏的localization 中选择对应的语言打勾就会

自动生成对应的子文件例如:InfoPlist.strings(English)

如果是自定义的文本命名:  Localizable.strings

名称切勿填错了,否则无效果

申明方式

"Login"="登录";

程序内引用方式:

NSLocalizedString(@"Login",@“这是注释无影响可填写nil”);

参考链接:

浅谈Xcode8通过创建strings文件来实现app名称和内容的语言国际化

iOS项目的本地化处理(多国语言)

2. Appstore 多语言设置

https://developer.apple.com/library/content/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide_zh_CN/Chapters/DisplayInMoreLanguages.html

内购的本地化

在应用客户端里,商品信息通过向AppStore发起SKProductsRequest获得

void IOSIAP::requestProducts(std::vector <std::string> &productIdentifiers)
{NSMutableSet *set = [NSMutableSet setWithCapacity:productIdentifiers.size()];std::vector <std::string>::iterator iterator;for (iterator = productIdentifiers.begin(); iterator != productIdentifiers.end(); iterator++) {[set addObject:[NSString stringWithUTF8String:(*iterator).c_str()]];}SKProductsRequest *productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:set];iAPProductsRequestDelegate *delegate = [[iAPProductsRequestDelegate alloc] init];delegate.iosiap = this;productsRequest.delegate = delegate;[productsRequest start];
}
- (void)productsRequest:(SKProductsRequest *)requestdidReceiveResponse:(SKProductsResponse *)response
{// release oldif (_iosiap->skProducts) {[(NSArray *)(_iosiap->skProducts) release];}// record new product_iosiap->skProducts = [response.products retain];for (int index = 0; index < [response.products count]; index++) {SKProduct *skProduct = [response.products objectAtIndex:index];// check is validbool isValid = true;for (NSString *invalidIdentifier in response.invalidProductIdentifiers) {NSLog(@"invalidIdentifier:%@", invalidIdentifier);if ([skProduct.productIdentifier isEqualToString:invalidIdentifier]) {isValid = false;break;}}IOSProduct *iosProduct = new IOSProduct;iosProduct->productIdentifier = std::string([skProduct.productIdentifier UTF8String]);iosProduct->localizedTitle = std::string([skProduct.localizedTitle UTF8String]);iosProduct->localizedDescription = std::string([skProduct.localizedDescription UTF8String]);// locale price to stringNSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];[formatter setFormatterBehavior:NSNumberFormatterBehavior10_4];[formatter setNumberStyle:NSNumberFormatterCurrencyStyle];[formatter setLocale:skProduct.priceLocale];NSString *priceStr = [formatter stringFromNumber:skProduct.price];[formatter release];iosProduct->localizedPrice = std::string([priceStr UTF8String]);iosProduct->index = index;iosProduct->isValid = isValid;_iosiap->iOSProducts.push_back(iosProduct);}
}

注意:本地化的判断 根据用户手机登录的账号所对应的——应用市场的区域。

priceStr 是拼接好当地货币符号的价格描述

国际货币符号表

3. 官方提供的 app 内容的本地化方案

真的是非常方便!

https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPInternational/LocalizingYourApp/LocalizingYourApp.html#//apple_ref/doc/uid/10000171i-CH5-SW1

4. 本地化货币描述 和货币价格

(1)IOS渠道如何判断应该展示 什么货币?  根据用户登录的 APPID

(2)如果用户没有登录 APPID ? 那么根据下载游戏的时候记录的 APPID 来展示(猜测的)

(3)如何获得本地化的 商品描述?  APPSTORE 后台自己配置的。获取商品列表的时候可以拿到。

当然,原生弹窗展示的信息,也是在后台配置的。

(4)需要关心汇率问题吗? 不用,苹果给予的商品列表是 转换了货币符号和价格的。也就是拿到直接展示即可

(5)如何测试国外的本地化是否真的做好了? APPID 是可以切换区域的,切换到其他国家去测呗!

app的本地化 国际化相关推荐

  1. 应用名称本地化/国际化

    应用名称本地化,是指同一个App的名称,在不同的语言环境下(也就是手机设备的语言设置)显示不同的名称. 比如,微信在简体中文环境下App名称显示为"微信",在英语环境下显示为&qu ...

  2. iOS - 实现语言本地化/国际化

    实现iOS语言本地化/国际化(图文详解) 前言 语言本地化,又叫做语言国际化.是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言.往往一些应用程序需要提供给多个国家 ...

  3. 3分钟实现iOS语言本地化/国际化(图文详解)

    为什么80%的码农都做不了架构师?>>>    原文 前言 语言本地化,又叫做语言国际化.是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言.往往 ...

  4. iOS语言本地化/国际化宝典

    语言本地化,又叫做语言国际化.是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言.往往一些应用程序需要提供给多个国家的人群使用,或者一个国家有多种语言,这就要求应用 ...

  5. Strust2 本地化/国际化

    一个关于本地化/国际化的例子 参考 点击打开链接(非常完善的例子) 点击打开链接(ActionSupport.getText()方法) 注意s:radio的修改 1  package test;imp ...

  6. struts国际化java_java框架篇---Struts2 本地化/国际化(i18n)

    国际化(i18n)是规划和实施的产品和服务,使他们能很容易地适应特定的本地语言和文化的过程中,这个过程被称为本地化.国际化的过程有时也被称为翻译或本地化启用.国际化是缩写i18n,因为我和两端用n字打 ...

  7. 软件本地化(国际化)步骤

    增加本地化代码实例 #define LOCALE_DIR "/usr/share/locale" #define LOCALE_DIR ""//如果设置当前目录 ...

  8. 在xcode上把你的app多语言国际化(NSLocalizedString)

    1.到project->info->localizations   下面的加号,添加你需要的语言 千万不要删除  base 否虽然我不知道有什么用,我是删了整个storyboard没了,很 ...

  9. iOS开发 - App语言国际化

    前言 语言本地化,又叫做语言国际化.是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言.往往一些应用程序需要提供给多个国家的人群使用,或者一个国家有多种语言,这就要 ...

最新文章

  1. python可以做什么项目-Python可以做大项目吗?
  2. 正则表达式全部符号解释
  3. JavaScript中Ajax源码
  4. 【数据竞赛】2020年11月国内大数据竞赛信息-奖池5000万
  5. play 拦截器_编写Play 2的模块,第2部分:拦截器
  6. python matplotlib画图改变图标题和坐标轴标题的字体大小
  7. 新仓库无线AP手持连接故障
  8. python中的数据类型中int表示_python中的基本数据类型之 int bool str
  9. android 倒计时 动画下载,倒计时器app下载-倒计时器安卓最新版-幻想游戏网
  10. PowerDesigner注意事项
  11. Something about mvss
  12. 集成电路可测性设计DFT技术入门概论--MBIST技术报告
  13. 高德地图经纬度比较并返回范围内要求个数可用
  14. ubuntu重装显卡驱动全过程!所有选项的选择!
  15. Python实现简单的层次聚类算法以及可视化
  16. php json encode 参数,PHP json_encode函数的参数说明与用法
  17. 房地产前期投资阶段及启动阶段目标成本形成过程
  18. 2Wire_2700hg系列无线路由器功率增大方法!
  19. el-form和el-col响应式布局
  20. dz每个php模板页文件,dz模板引擎分析

热门文章

  1. PClint报错分析实战
  2. PCLint选项详解
  3. 组合数有关的公式及常用求和
  4. Linux基础命令---mailq显示邮件队列
  5. Java 实现HTML富文本导出至word完美解决方案
  6. 关于Knuth Shuffle算法
  7. 几大主流浏览器性能比较
  8. 高校教育信息化改革的意义
  9. 【2022年哈工大计算机系统课程大作业】程序人生-Hello‘s P2P
  10. 深度学习中的量化学习与量化训练