如何在Android中从strings.xml生成Localizable.strings文件
我希望strings.xml中的字符串转换为ios Localizable.strings格式 格式:如何在Android中从strings.xml生成Localizable.strings文件,android,string,localization,localizable.strings,Android,String,Localization,Localizable.strings,我希望strings.xml中的字符串转换为ios Localizable.strings格式 格式: "String"="String" 我在web上使用了一些将xml转换为localable.strings的在线工具,但我看到的格式是: "Key"="Value" 但我需要这种格式: "value"="value" 示例: 如果这是Strings.xml文件 <resources> <String name="addtocart">Ple
"String"="String"
我在web上使用了一些将xml转换为localable.strings的在线工具,但我看到的格式是:
"Key"="Value"
但我需要这种格式:
"value"="value"
示例:如果这是Strings.xml文件
<resources>
<String name="addtocart">Please add to cart</string>
</resources>
而不是
"addtocart"="Please add to cart" (Format resulted from conversion tools in web)
eclipse中是否有任何插件或内置功能。我对android和这个本地化过程还不熟悉
有人能帮我实现这一点吗
提前感谢。一个非常简单的
awk
bash脚本可以完成您的工作
awk '
BEGIN{
FS = "^ *<string *| *>|<\/string> *$|^ *<!-- *| *--> *$";
}
{
if (/<string.*name\=\".*\".*>.*<\/string> *$/){
print "\""$3 "\" \= \"" $3 "\";"
}
else if(/<!--.*-->/)
print "// "$2;
else if(/^ *$/)
print ""
}'
这会打印出来
"Please add to cart" = "Please add to cart";
你可以用自己的方式做重定向和管道的事情。脚本只执行转换
类似于
和多行内容的注释也可以通过该脚本很好地处理
顺便说一句,我更喜欢
“addtocart”=“Please add to cart”
,因为“value”=“value”
可能会导致重复的键。一个非常简单的awk
bash脚本可以完成您的工作
awk '
BEGIN{
FS = "^ *<string *| *>|<\/string> *$|^ *<!-- *| *--> *$";
}
{
if (/<string.*name\=\".*\".*>.*<\/string> *$/){
print "\""$3 "\" \= \"" $3 "\";"
}
else if(/<!--.*-->/)
print "// "$2;
else if(/^ *$/)
print ""
}'
这会打印出来
"Please add to cart" = "Please add to cart";
你可以用自己的方式做重定向和管道的事情。脚本只执行转换
类似于
和多行内容的注释也可以通过该脚本很好地处理
顺便说一句,我更喜欢
“addtocart”=“Please add to cart”
,因为“value”=“value”
可能会导致重复的键。一个非常简单的awk
bash脚本可以完成您的工作
awk '
BEGIN{
FS = "^ *<string *| *>|<\/string> *$|^ *<!-- *| *--> *$";
}
{
if (/<string.*name\=\".*\".*>.*<\/string> *$/){
print "\""$3 "\" \= \"" $3 "\";"
}
else if(/<!--.*-->/)
print "// "$2;
else if(/^ *$/)
print ""
}'
这会打印出来
"Please add to cart" = "Please add to cart";
你可以用自己的方式做重定向和管道的事情。脚本只执行转换
类似于
和多行内容的注释也可以通过该脚本很好地处理
顺便说一句,我更喜欢
“addtocart”=“Please add to cart”
,因为“value”=“value”
可能会导致重复的键。一个非常简单的awk
bash脚本可以完成您的工作
awk '
BEGIN{
FS = "^ *<string *| *>|<\/string> *$|^ *<!-- *| *--> *$";
}
{
if (/<string.*name\=\".*\".*>.*<\/string> *$/){
print "\""$3 "\" \= \"" $3 "\";"
}
else if(/<!--.*-->/)
print "// "$2;
else if(/^ *$/)
print ""
}'
这会打印出来
"Please add to cart" = "Please add to cart";
你可以用自己的方式做重定向和管道的事情。脚本只执行转换
类似于
和多行内容的注释也可以通过该脚本很好地处理
顺便说一句,我更喜欢“addtocart”=“Please add to cart”
,因为“value”=“value”
可能会导致重复的密钥。注册
变成“注册”=“注册”
,应该是“text\u register”=“register”
,所以我把打印“\”“$3”\”“$3”;”
改为打印“\”“$2”\”“\=”“$3”;”
然后变成“name=”text\u register”“=“register”
,然后我把“name=”
改为“”,“=
寄存器
变为“寄存器”=“寄存器”
,应该是“text\u register”=“register”
,所以我把打印“\”“$3”\”“$3”;”
改为打印“\”“$2”\”“\=”“$3”;”
然后变成“name=”text\u register”“=“register”
,然后我把“name=”
改为“”,“=
寄存器
变为“寄存器”=“寄存器”
,应该是“text\u register”=“register”
,所以我把打印“\”“$3”\”“$3”;”
改为打印“\”“$2”\”“\=”“$3”;”
然后变成“name=”text\u register”“=“register”
,然后我把“name=”
改为“”,“=
寄存器
变为“寄存器”=“寄存器”
,应该是“text\u register”=“register”
,所以我把打印“\”“$3”\”“$3”;”
改为打印“\”“$2”\”“\=”“$3”;
然后变成“name=”text\u register”“=“register”
,然后我把“name=”
“name=”改为“,”