2个不稳定版本
使用旧的Rust 2015
0.2.0 | 2017年4月20日 |
---|---|
0.1.0 | 2017年4月16日 |
#2083 在 数据库接口 中
每月21次下载
40KB
725 行
lproj2es
lproj2es 是一个实用程序,用于提取所有本地化字符串 *.lproj/*.strings
到ElasticSearch索引中以便于查找。这使得翻译者可以使用苹果认可的字词来生成本地化。
加载iOS根文件系统
-
从 https://ipsw.me 下载一个IPSW。现在的IPSW通常超过2 GB,所以请确保您有足够的时间下载文件,以及足够的硬盘空间来存储和解压缩它。
-
将IPSW解压缩以提取根文件系统映像(文件名因iOS版本而异)。
$ unzip iPhone_7Plus_10.3.1_14E304_Restore.ipsw 058-55433-171.dmg
-
附加映像。
$ open 058-55433-171.dmg
构建索引
-
启动ElasticSearch集群。我们假设ElasticSearch可通过 http://127.0.0.1:9200 访问。
-
运行程序。在本地机器上使用ElasticSearch通常不到3分钟就能完成。
$ ./lproj2es /Volumes/Erie14E304.D11D111OS/
文档结构
索引的翻译存储在 localizations
索引中,使用 ios
类型,1个副本和1个分片。每个文档看起来像
{
"BUNDLE": "/Volumes/Erie14E304.D11D111OS/System/Library/CoreServices/SpringBoard.app",
"FILE": "SpringBoard.strings",
"KEY": "AWAY_LOCK_LABEL",
"en_US": "slide to unlock",
"fr_FR": "Déverrouiller",
"es_ES": "Deslizar para desbloquear",
"de_DE": "Entsperren",
...
}
BUNDLE 字段指定了翻译所属的包。 FILE 字段给出了包含翻译的 *.strings
文件。文档将 *.strings
文件中的单个键值对编码到文档中,键在 KEY 字段中,值在各自的locale-id字段中(en_US、fr_FR 等。)
选项
lproj2es 0.1.0
kennytm <kennytm@gmail.com>
Dump iOS localization strings into ElasticSearch
USAGE:
lproj2es [OPTIONS] <root>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-u, --url <base> Acesss point of the ElasticSearch cluster [default: http://127.0.0.1:9200]
-i, --index <index> Name of the index [default: localizations]
-t, --type <type_> Name of the type [default: ios]
--shards <shards> Number of shards of the new index [default: 1]
--replicas <replicas> Number of replicas of the new index [default: 1]
ARGS:
<root> Root directory to scan for localized bundles
依赖项
~14MB
~274K SLoC