搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
羊村懒王
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
DSP工程创建_c2000ware头文件添加
2
【iOS】Blocks
3
揭秘LoRA与QLoRA:百次实验告诉你如何微调LLM!_用了lora还能用qlora吗
4
【Google Bard】免费生成图像——功能和使用方法详解_谷歌bard 如何生图
5
视频分布式上传方案详解_大视频分段上传方案
6
uni-app微信小程序,APP都适用自定义顶部导航_uniapp 小程序导航栏自定义按钮
7
SwiftUI之NavigationView的基础使用与进阶实践 | CSDN创作打卡_swift如何指定navigate以及根viewcontroller
8
YOLOv5基础 | 万字长文带你深度解析yolov5s.yaml配置文件
9
axios二次封装_get: async
(option: any) => { const res =
10
(蓝桥杯 java)从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示_java 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制
当前位置:
article
> 正文
iOS国际化和genstrings所有子目录本地化字符串_ios查找未国际化的字符串
作者:羊村懒王 | 2024-03-16 09:28:47
赞
踩
ios查找未国际化的字符串
iOS国际化和genstrings所有子目录本地化字符串
最近在忙着一个国外项目,天天加班,没时间更新博客。就简单讲讲国际化的知识。
首先,我们使用字符串,必须用NSLocalizedString(key,comment),这样我们在不同的Localizable.strings对key指定不同的值,系统会根据当前系统语言,去不同的lproj找不同的字符串。用个图显示吧:
我们应用只支持中文,英文,所以只建了zh-Hans.lproj和en.lproj,然后在Localizable.strings指定了不同的值。举例如下:
这样程序就能根据系统语言,去选择“登录”还是“Log In”。
但是如果每次加了一个本地化字符串,就得手动去Localizable.strings添加对应的key,那就太麻烦了,幸好苹果提供了快捷生成本地化key的命令。下面以en.lproj的生成为例:
首先,我们进入程序工程所在的目录,用命令建立en.lproj
mkdir en.lproj
然后我们遍历所有的子目录文件,去生成Localizable.strings,命令如下:
find ./ -name *.m -print0 | xargs -0 genstrings -o en.lproj
(基本都说genstrings -o en.lproj *.m就可以生成Localizable.strings,但是这个命令只能生成当前目录的,并没有遍历子目录,所以基本没用)
这样系统就会把子目录用到NSLocalizedString函数的key值都写到文件里。
需要注意的是,NSLocalizedString(key,comment),用这个函数时,key不能是宏定义或者一些动态字符串,否则用上面的命令会报错。
今天重新回来做国际化,发现上面的命令是只能遍历.m文件的,但实际发现经常有字符串放在了.h文件,所以应该用如下命令去遍历整个.h和.m文件,特意来加上:
find .
−
n
a
m
e
′
∗
.
m
′
−
o
−
n
a
m
e
′
∗
.
h
′
−
n
a
m
e
′
∗
.
m
′
−
o
−
n
a
m
e
′
∗
.
h
′
-print0 | xargs -0 genstrings -o en.lproj
最后补一句,规范化还是很必须的。假如你以前的代码都没用到NSLocalizedString,那就麻烦了。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/羊村懒王/article/detail/248548?site
推荐阅读
article
鸿蒙
OS应用开发之
多行
文本
输入
_
鸿蒙
开发
多行
输入
框
...
但是也有一些例外,比如需要用户备注一段说明自己的简历,那么使用一行
文本
,要把情况写出来,就有点强人所难,毕竟不是所有人都...
赞
踩
article
Machine
Learning ---- Cost
function
...
Machine
Learning ---- Cost
function
Machine
Learning ---- Cos...
赞
踩
article
电视盒子
android
tv6
,【亲测】
S905L
/
S905L
-B安卓TV6.0
通刷
固件
...
1.基于晶晨
S905L
6.0.1
通刷
固件
,自带TWRP,已删去原有root,如果需要root可以自行刷supersu,已...
赞
踩
article
计算机
音乐创作准备_
loopmidi
...
音乐编创,总的来说有两大形式,即继承和创新。继承主要指在原作基础之上的改编、借鉴与发展,如保留原曲旋律重新填词,或对结构...
赞
踩
article
基于向量
法
的
图像
边缘
提取
,
Matlab
实现...
基于向量
法
的
图像
边缘
提取
,
Matlab
实现。 目前常见的
边缘
算
法
提取
比较多,
Matlab
系统也自带对应的库函数,用自带的...
赞
踩
article
自然
语言
处理
NLP
(3)——
神经网络
语言
模型
、词向量...
在上一部分中,我们了解到了统计
语言
模型
,n-gram
模型
以及语料库的基本知识:
自然
语言
处理
NLP
(2)——统计
语言
模型
、...
赞
踩
article
java
websocket
抓包,
wireshark
如何抓取
WebSocket
数据包...
wireshark
如何抓取
WebSocket
数据包
wireshark
如何抓取
WebSocket
数据包前文WebSocke...
赞
踩
article
基于改进
乌鸦
优化
算法
的
PID控制(
Matlab
代码实现)_
乌鸦
与
p
、
i
、d参数
的
关系...
乌鸦
的
聪明行为之一是,它们把多余
的
食物藏在特定
的
隐蔽处,并在需要时回忆食物
的
位置。此外,
乌鸦
有一个贪婪
的
习惯,它们会跟着...
赞
踩
article
MGV2000
_
S905L
系列
_
线刷
_
通刷
固件
_
s905l3b
9.0 cw...
MGV2000
_
S905L
系列
_
线刷
_
通刷
固件
_
s905l3b
9.0 cw
s905l3b
9.0 cw ...
赞
踩
article
AndroidStudio
连接
安卓
手机
开发与调试_怎么用
android
studio
对
连接
的
安卓
设备...
用
安卓
手机
进行调试代码,不仅可观还方便展示哈哈哈,,但是
连接
手机
调试的过程中还是遇到了一些问题,比如:
手机
不知道如何设置...
赞
踩
article
MIDI
乐器
数字
接口讲解 以及 C调
音符
与频率对照表_各种
midi
频率...
MIDI
(Musical Instrument Digital Interface)
乐器
数字
接口是20世纪80年代初为解...
赞
踩
article
【业务功能118】微
服务
-
springcloud
-springboot-
Kubernetes
集群-k...
网址: openelb.io
OpenELB
是一个开源的云原生负载均衡器实现,可以在基于裸金属
服务
器、边缘以及虚拟化的 ...
赞
踩
article
Vue
3
响应
系统
_
vue
3
提供的内置
响应
式
系统
...
Vue
3
响应
系统
_
vue
3
提供的内置
响应
式
系统
vue
3
提供的内置
响应
式
系统
...
赞
踩
article
AI识鸟,基于
YOLOv5
【n/s/m/
l
/x】
全系列
参数
模型
开发
构建工业野外场景下
鸟类
检测
识别分析...
AI识鸟,基于
YOLOv5
【n/s/m/
l
/x】
全系列
参数
模型
开发
构建工业野外场景下
鸟类
检测
识别分析系统_
鸟类
检测
数据
集
...
赞
踩
article
OpenVINO
™
Java
API
应用
RT
-
DETR
做目标
检测器
实战...
在该项目中,我们基于AlxBoard为硬件基础实现了
Java
在 Ubuntu 22.04 系统上成功使用
OpenVINO
...
赞
踩
article
(更新)
CM311
-
1a
yst
ch
等乐家纯净精简
线刷包
_
cm311
-
1a
刷机包...
【代码】分享一个带语音root的
CM311
-
1a
线刷包
。_
cm311
-
1a
刷机包
cm311
-
1a
刷机包 ...
赞
踩
article
四信
房屋建筑
监测
解决方案
...
四信
房屋建筑
监测
解决方案
本系统基于物联网,云计算技术,GPS/北斗、无线传输等技术通过感知,传输,统计,研判,分析,预警...
赞
踩
article
执行
adb
指令报错:error:
more
than
one
device
/
emulator
解决办法...
一种系统执行
adb
指令报错的解决方法。_
adb
.exe:
more
than
one
device
/
emulator
ad...
赞
踩
article
cornerston
e
文件
冲突
解决方案
_
cornerston
解决冲突...
昨天update -> commit上传
文件
到SVN的时候,出现config(冲突)。在这个地方先做个笔记和别人合作写一...
赞
踩
article
安卓
开发
转
鸿蒙
开发
到底
有
多简单?...
前言相信各位搞
安卓
的同学多多少少都了解过
鸿蒙
了,
有
些一知半解而
有
些已经开始学习起来。那这个
鸿蒙
到底好不好搞?要不要搞?安...
赞
踩
相关标签
harmonyos
华为
鸿蒙应用开发
人工智能
机器学习
深度学习
电视盒子 android tv6
c语言
其他
经验分享
matlab
计算机视觉
算法
图像处理
java websocket 抓包
移动魔百盒
机顶盒ROM
魔百盒刷机
盒子ROM
魔百盒固件
android
java
android studio
app