如何在Android中从strings.xml生成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

我希望strings.xml中的字符串转换为ios Localizable.strings格式

格式:

"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=”改为“,