美文网首页
iOS国际化多语参数顺序,格式化参数顺序、format参数顺序

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

作者: 黑色蚂蚁_MGL | 来源:发表于2021-03-22 20:11 被阅读0次

    假如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 小明"
    

    相关文章

      网友评论

          本文标题:iOS国际化多语参数顺序,格式化参数顺序、format参数顺序

          本文链接:https://www.haomeiwen.com/subject/kadthltx.html