搜索
查看
编辑修改
首页
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
django_jquery_ajax二级联动菜单_django 二级联动
2
数仓建设流程_数仓建模全流程
3
游戏感:虚拟感觉的游戏设计师指南——第一章 定义游戏感_游戏感:虚拟感觉的游戏设计指南
4
android.intent.action大全和用法收集_android
5
Element-ui实现loading的局部刷新_elementui的loading组件怎么样只应用在对话框中
6
Leetcode 118. 杨辉三角
7
macOS系统Terminal 终端配置端口/GIT/NPM代理_macos 终端代理
8
鸿蒙HarmonyOS开发实战—多媒体开发(图像开发 二)_鸿蒙开发中图片操作代码
9
XAMPP Error: Apache shutdown unexpectedly.This may be due to a blocked port, missing dependencies..._error:apache shut down unexpectedly this may be du
10
计算机网络 基础知识 套接字 编程
当前位置:
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
推荐阅读
article
java
实现
websocket
的两种
方式
...
简单说明1.两种
方式
,一种使用tomcat的
websocket
实现,一种使用spring的
websocket
2.tomc...
赞
踩
article
chatgpt
-
next
-
web
搭建教程,超低成本
部署
属于自己
的
ChatGPT
...
一键免费
部署
你
的
跨平台私人
ChatGPT
应用, 支持 GPT3, GPT4 & Gemini Pro 模型。_cha...
赞
踩
article
【脑机接口】利用
MNE
进行
EEG
数据
预处理(
SEED
数据
集)_
mne
eeg
数据
处理平台...
该文章介绍了使用
MNE
库对
EEG
数据
进行预处理的步骤。预处理包括
数据
读取、坏导插值、滤波+重参考、去伪迹和分段等六个步骤...
赞
踩
article
中兴
盒子
B860AV2.1
-M
_
晶晨
S905L3
芯片
_
线刷
_
刷机
固件
...
刷机
方法:1、打开
刷机
工具,并导入机顶盒升级
固件
,
刷机
工具右上角打钩处全部取消,如下图; 2、根据
固件
里面短接点提示,短...
赞
踩
article
鸿蒙
源码分析(七十四)---
安全
子系统
_
鸿蒙
huks
中文全称
是
什么...
比赛中提到的
安全
子系统
模块
huks
是
一种通用密钥管理服务,它为应用程序提供KeyStore和Crypto API,以执行...
赞
踩
article
Android
Studio
在
Windows
系统
下
的
安装
教程艺术鉴赏课...
欢迎你们到美丽
的
浙江工作旅游定居买房买车相亲寻亲探亲认亲看朋友看老师看同学,网上
的
那个浙江某男子是我,今天我给大家带来
的
...
赞
踩
article
【
u
niapp/
u
view
】解决
u
-
collapse
展开
折叠
的
小箭头在有些型号
的
手机上不显示...
折叠
面板组件时,需要更改它自带
的
小箭头
的
样式,更改之后在有些型号
的
手机上不显示;观察样式后发现使用
的
是
u
nicode ...
赞
踩
article
Android
USB 属性设置:ADB、RNDIS、MTP等_
persist
.
sys
.
usb
.co...
Android
手机:三星s4
Android
5.0 内核:3.4.5手机需root,且需要安装busybox和termi...
赞
踩
article
检测
头
篇 |
YOLOv8
添加 大
目标
检测
头
| 小
目标
检测
头
|
4
头
BiFPN
...
YOLOv8
添加 大
目标
检测
头
| 小
目标
检测
头
检测
头
篇 |
YOLOv8
添加 大
目标
检测
头
| 小
目标
检测
头
| ...
赞
踩
article
HarmonyOS
从基础到实战-高性能华为在线答题
元
服务
_
harmonyos
快
应用
元
服务
应用
...
元
服务
是基于
HarmonyOS
提供的一种面向未来的
服务
提供方式,有独立入口、免安装,以万能卡片等多种呈现形态,可提供一个...
赞
踩
article
电视盒子
android
tv6
,【亲测】
S905L
/
S905L
-B安卓TV6.0
通刷
固件
...
1.基于晶晨
S905L
6.0.1
通刷
固件
,自带TWRP,已删去原有root,如果需要root可以自行刷supersu,已...
赞
踩
article
Machine
Learning -
Simple
linear
regression
(Princi...
Machine
Learning -
Simple
linear
regression
(Principle)Machin...
赞
踩
article
Ts中
WebSocket
连接
管理
与
维护
教程...
本教案详细介绍了如何在TypeScript中设计和实现一个完整的
WebSocket
连接
管理
方案,包括建立
连接
、发送消息、...
赞
踩
article
urllib
之
request
模块
--解决反扒_
urllib
.
request
.
urlretrieve
被...
本文目录
urllib
的基本概念
urllib
库的基本函数和用法
urllib
.
request
模块
:urlopen函数url...
赞
踩
article
将洛奇的
MML
乐谱
转为
beep
(
蜂鸣器
)
乐谱
_歌谱怎么
转换成
蜂鸣器
的声音...
将洛奇的
MML
乐谱
转为
beep
(
蜂鸣器
)
乐谱
转换器制作音高频率表词法分析、语法分析token转换为
beep
谱用法使用C+...
赞
踩
article
利用
ReentrantLock
解决
死锁
----
以
哲学家
问题为例...
每位
哲学家
需要两根筷子才能吃饭,而每根筷子只能被一位
哲学家
使用,这就导致了资源的互斥性。在吃饭时会拿起左右两边的筷子,并...
赞
踩
article
生成
式 AI:使用
Pytorch
通过
GAN
生成
合成
数据
...
为了欺骗鉴别器,
生成
器的目的是学习真实
数据
的分布并
生成
无法与真实
数据
区分开的
合成
数据
。这里的一个问题是,对于相同的输入,...
赞
踩
article
YOLO
系列理论合集(
YOLO
v1
~
v3
)
_
yolo
gridcell
...
YOLO
v1
1.论文思想(1)将一副图像分为SxS个网格(grid cell),如果某个目标的中心落在这个网格中,则这个...
赞
踩
article
NLP-预
训练
模型
-2019:
XLM
-Roberta【一种多
语言
预
训练
模型
】_
xlmroberta
...
《原始论文:Unsupervised Cross-lingual Representation Learning at ...
赞
踩
article
英特尔
AI
医疗
实战曝光:10倍加速
辅助
诊断
、准确度高达90%...
转载自:机器之心(ID:almosthuman2014)作者:力琴本文6078字14图,建议阅读16分钟。本文介绍
英特尔
...
赞
踩
相关标签
网络
javascript
ui
ViewUI
人工智能
gpt
chatgpt
ChatGPTnextweb
经验分享
信号处理
python
数据分析
魔百盒刷机
魔百盒固件
移动魔百盒
机顶盒ROM
盒子ROM
harmonyos
安全
华为
android studio
android
ide
前端
css