iOS国际化多语参数顺序,格式化参数顺序、format参数顺序

假如UI有个界面文案是某个人打了某个动物

咱们中文翻译里会写成

"translate" = "%@ 打了 %@"

在代码里会写成

let str1 = String(format: translate, "小明","狗")
界面输出:小明打了狗

这时候英文翻译回来了(很多语言的语序和中文不一样)

"translate" = ""%@ was beaten by %@""

那就界面显示的是

let str1 = String(format: translate, "小明","狗")
界面输出:狗打了小明

所以当需要国际化的文案有两个及以上的占位符时,最好加上顺序标记

中文
"translate" = "%1$@ 打了 %2$@"

英文自然会被翻译成
"translate" = "%2$@ was beaten by %1$@"
这时代码逻辑里的占位符的参数,会根据标识对应
所以英文下会输出
"狗 was beaten by 小明"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近公司的项目要求适配国际化,在过程中遇到挺多有意思的知识点。 多语言大家都知道,字母文字有显著的形状差别。 但国...
    PengElement阅读 11,761评论 0 6
  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    SunnyLeong阅读 14,947评论 1 180
  • 前言 iOS的国际化,即多语言的实现,主要有两种: 跟随系统语言的自动切换显示的语言 手动设置语言,由用户选择,可...
    Fxxxxxxx阅读 14,267评论 1 16
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    余生动听阅读 13,586评论 0 11
  • 彩排完,天已黑
    刘凯书法阅读 9,757评论 1 3