Navigate back to the homepage

将安卓的多语言文件转为 iOS 格式的 Workflow

宋辰文
March 18th, 2015 · 1 min read

抽空写了一个将 Android 的 strings.xml 文件转为 iOS 的 Localizable.strings 格式的小脚本。而且把它封装撑了一个 Alfred Workflow

使用时只要复制想要转换的 strings.xml 的内容,然后调出 Alfred 输入 a2x,再在对应的 Localizable.strings 文件里粘贴就行了。

所执行的其实就是一个 awk 脚本。

1awk '
2BEGIN{
3 FS = "^ *<string *| *>|<\/string> *$|^ *<!-- *| *--> *$";
4}
5{
6 if (/<string.*name\=\".*\".*>.*<\/string> *$/){
7 match($2, /name *\= *\"[^ ]+\"/)
8 name = substr($2, RSTART + 5, RLENGTH - 5)
9 print name " \= \"" $3 "\";"
10 }
11 else if(/<!--.*-->/)
12 print "// "$2;
13 else if(/^ *$/)
14 print ""
15}'

所以如果不想用 Alfred 的话,也可以直接执行这个脚本。

比如在 OS X 上,pbcopypbpaste 是复制和粘贴的命令,把它们通过管道连接起来,就可以实现自动转换剪贴板内容的功能了。

1pbpaste | awk '
2BEGIN{
3 FS = "^ *<string *| *>|<\/string> *$|^ *<!-- *| *--> *$";
4}
5{
6 if (/<string.*name\=\".*\".*>.*<\/string> *$/){
7 match($2, /name *\= *\"[^ ]+\"/)
8 name = substr($2, RSTART + 5, RLENGTH - 5)
9 print name " \= \"" $3 "\";"
10 }
11 else if(/<!--.*-->/)
12 print "// "$2;
13 else if(/^ *$/)
14 print ""
15}' | pbcopy

More articles from 宋辰文

Android 开发中如何信任自签名 Https 证书

Android 4.0 之后增加了添加可信证书的 API 。但对于我们 App 开发者来说,毕竟还是要支持 4.0 之前版本的 Android 的。所以我们要想一些其它的办法来使我们的 App 信任我们自己的自签名证书。

January 27th, 2015 · 1 min read

iOS8 不越狱翻墙方案

iOS8 为我们带来了第三方输入法和 App Extentions,越狱的需求越来越少。而且自从在 Bither 里存了一些比特币之后,我就越来越关注手机系统的安全性。现在真的是能不越狱就尽量不越了。那么不越狱的话怎么满足我自由的访问互联网的需求呢?

October 12th, 2014 · 2 min read
© 2019 宋辰文
Link to $https://mp.weixin.qq.com/s?__biz=MzAxNTI3MTUwMA==&mid=2247483701&idx=2&sn=34613cbb3252ac5eb6c31724f3109b59Link to $https://weibo.com/songchenwenLink to $https://twitter.com/songchenwenLink to $https://stackoverflow.com/users/2210682/songchenwen