zoukankan      html  css  js  c++  java
  • IOS:iOS项目的版本国际化的完整流程

    1:项目,右键-project-info-Localizations,里面选择自己要添加 的语言

    =============

    2:新建InfoPlist.string文件,名字不能错,strings类型在sources里面

    选中InfoPlist文件,右侧菜单栏,Localization里选择语言版本,打勾,最基本的开发语言english选不选都行,选中后,会发现InfoPlist文件有附属文件生成,对应你选择的语言版本

    在生成的文件里添加

    CFBundleDisplayName=“XXXX”

    比如中文简体里 

    CFBundleDisplayName=“测试”

    英文 里填

    CFBundleDisplayName=“Test”

    这个名字是你的软件在不同电脑语言环境下的名字

    ================

    3:接着新建一个

    Localizable的strings,名字不能错。同样在右侧菜单选择你要的语言版本,这里面填写你的项目代码里的字符串的国际化

    注意引号,分号不要错

    ================

    4:整个项目的全部批量替换

    xcode 左侧全局搜索框, 切换成replace -> Regular Expression

    搜索条件中输入 (swift 去掉@)
    (@"[^"]*[u4E00-u9FA5]+[^" ]*?")
    替换成
    NSLocalizedString($1, nil)

    全部替换后,你会发现你的代码发生了变化,有字符串的地方都会带上NSLocalizedString

    ==================

    5:xib页面的国际化

    选择xi b页面,右侧localizable选择语言打勾,注意一定要选中Base.

    从上面几条做下来,这里面也是一样的,很好理解

    6:排除BUG,因为替换字符串用的是全局替换,所以有些不该替换的地方替换掉了

     比如:你用了某个图,imageName:@"图一",这里面是图的名称,但是你替换掉后,它就找不到叫这个名称的图了

    所以把代码大致扫一遍,看看哪些不能用NSLocalizedString的,再改回来

    7:基本没啥问题了,国际化到这里结束,改自己的电脑的语言,再重启项目,发现会自动变为其他语言版本

     

  • 相关阅读:
    Docker Compose实例
    Jenkins远程执行shell出现java: command not found
    SpringBoot之导入导出Excel
    在Jenkins中配置执行远程shell命令
    XJar: Spring-Boot JAR 包加/解密工具,避免源码泄露以及反编译
    Elasticsearch集成ik分词器
    AAAAAA
    Logstash-安装logstash-filter-multiline插件(解决logstash匹配多行日志)
    Elastic Kibana文档
    failed to create rwlayer: lstat /var/lib/docker/overlay2/ no such file or directory
  • 原文地址:https://www.cnblogs.com/kc1995/p/13298184.html
Copyright © 2011-2022 走看看