app的本地化 国际化

2024-06-14 02:38
文章标签 app 本地化 国际化

本文主要是介绍app的本地化 国际化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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的本地化 国际化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1059144

相关文章

vue+el国际化-东抄西鉴组合拳

vue-i18n 国际化参考 https://blog.csdn.net/zuorishu/article/details/81708585 说得比较详细。 另外做点补充,比如这里cn下的可以以项目模块加公共模块来细分。 import zhLocale from 'element-ui/lib/locale/lang/zh-CN' //引入element语言包const cn = {mess

Python应用开发——30天学习Streamlit Python包进行APP的构建(9)

st.area_chart 显示区域图。 这是围绕 st.altair_chart 的语法糖。主要区别在于该命令使用数据自身的列和指数来计算图表的 Altair 规格。因此,在许多 "只需绘制此图 "的情况下,该命令更易于使用,但可定制性较差。 如果 st.area_chart 无法正确猜测数据规格,请尝试使用 st.altair_chart 指定所需的图表。 Function signa

同城跑腿APP开发,随叫随到超方便!

随着移动互联网的发展和人们生活节奏的加快,越来越多的人们没有闲暇的时间来做一些繁琐的事情,比如说买药、挂号、排队、送花、取文件等等。如果没有时间去处理这些事情怎么办?开发同城跑腿APP,提供跑腿服务,随时办事随时下单,只需在手机上轻轻一点,就可完成跑腿需求。 首先,跑腿小程序有几种开发方式。第一种是自己组建开发,这种方式比较适合有软件开发能力的企业,比较花费时间和金钱成本。第二种是找到第三方

基于uni-app和图鸟UI开发上门服务小程序

一、技术栈选择 uni-app:我们选择了uni-app作为开发框架,因为它基于Vue.js,允许我们编写一次代码,发布到多个平台,包括iOS、Android、Web以及各种小程序。uni-app的丰富组件库、高效的状态管理以及便捷的预览调试功能,极大提升了开发效率。 图鸟UI:图鸟UI是基于uni-app的UI框架,它提供了大量美观且实用的组件和页面模板,帮助我们快速构建出风格统一、用户体

H5唤醒APP方法,H5唤醒不了App跳下载页

H5唤醒APP方法,H5唤醒不了App跳下载页 let ua = window.navigator.userAgent.toLowerCase();let src = {iphone: /iphone/i.test(ua),android: /android/i.test(ua),windows: /windows/i.test(ua),weixin: /micromessenger/i.te

移动终端app测试点总结

以下所有测试最后必须在真机上完整的执行1、安装、卸载测试 在真机上的以及通过91等第三方的安装与卸载安装在手机上还是sd卡上 2、启动app测试3、升级测试  数字签名、升级覆盖安装、下载后手动覆盖安装、跨版本升级、升级后可以正常使用。  覆盖安装要确保数据库有字段更新的话,能正常更新,否则就容易导致app异常。4、功能测试  包括功能点、业务逻辑、关联性(主要测试客户端与PC端的交互,客户端

告别繁琐邀请码,Xinstall助你轻松搭建高效App推广体系!

随着互联网流量的不断变迁,App推广和运营面临着前所未有的挑战。如何快速搭建起满足用户需求的运营体系,成为众多企业亟待解决的问题。在这个背景下,Xinstall凭借其强大的功能和灵活的解决方案,成为了App推广的得力助手。 一、传统营销与获客痛点 传统企业营销依赖现有的流量池与少量获客渠道,但当互联网流量红利衰退,仅依靠少量渠道和简单的数据分析显然不现实。企业需要提高获客转化的效率和用户留存

fiddler抓包——抓取App上https请求

配置 https的请求需要安装证书(http的话不用安装) 1、fiddler配置 2、手机浏览器输入http://你的电脑的ipv4地址:8888/ 例如:http://192.168.1.101:8888/,打开看的以下页面,点击:FiddlerRoot certificate下载证书。这样就安装了证书了,可以抓HTTPS的包的。  要是打不开这个地址,先在电脑上浏览器输入这

App推广告别邀请码,Xinstall助您一键触达海量用户!

在移动互联网高速发展的今天,App的推广与运营已成为每个开发者都必须面对的问题。然而,随着互联网流量的日益分散和用户需求的不断变化,传统的App推广方式已经难以满足现代市场的需求。尤其是在获取用户时,很多开发者还在采用传统的邀请码模式,这不仅增加了用户的操作难度,也限制了App的推广范围。那么,如何在这个竞争激烈的市场中脱颖而出呢?今天,我们要为您介绍的是——Xinstall,一个无需邀请码,即可

rails 中i18n实现本地化

在rails中写东西时,因为默认语言是英文的,所以很多已有的提示都是英语,而这对于一个中文网站来说并不友好. 所以一般会使用i18n来实现本地化 在application.rb文件中 写入 config.i18n.default_locale = 'zh_CN' 然后在config/locales文件下 创建 zh_CN.yml文件  内容格式如下: zh