【问题标题】:Android how to Convert iOS strings file to Android XMLAndroid 如何将 iOS 字符串文件转换为 Android XML
【发布时间】:2014-06-16 10:20:21
【问题描述】:

我有要转换为 Android xml 文件的 ios 字符串文件:

这是我想要转换成 Android xml 文件的 ios 字符串文件:

 /*
 Localizable.strings
 SaiÌda da Escola

 Created by farhan shah on 11/12/2013.
 Copyright (c) 2013 whizpool. All rights reserved.
 */

"settings_button" = "Settings";

"location" = "Destiny";

"Register_button" = "Register";

"logout" = "Log Out";

"login_button" = "Login";

"ok" = "Ok";

"yes" = "Yes";

"no" = "No";

结果应该像Android xml文件这样:

<?xml version="1.0" encoding="utf-8"?>
 <resources>
<!--
 Localizable.strings
 SaiÌda da Escola

 Created by farhan shah on 11/12/2013.
 Copyright (c) 2013 whizpool. All rights reserved.
 -->

<string name="settings_button">Settings</string>

<string name="location">Destiny</string>

<string name="register_button">Register</string>

<string name="logout">Log Out</string>

<string name="login_button">Login</string>

<string name="ok">Ok</string>

<string name="yes">Yes</string>

<string name="no">No</string>


</resources>

任何帮助、想法和示例代码将不胜感激,在此先感谢。

【问题讨论】:

    标签: android ios xml xml-parsing


    【解决方案1】:

    您可以查看下面页面中的 JavaScript 代码,并且您可以在 Java 中执行类似的操作。它使用正则表达式来解析输入文件。

    http://members.home.nl/bas.de.reuver/files/stringsconvert.html

    【讨论】:

    【解决方案2】:

    您不能使用 Android 代码“以编程方式”进行转换,因为这些字符串需要在编译之前在您的项目资源中可用,当然。

    您可以使用简单的 bash 脚本,例如:

    echo '<?xml version="1.0" encoding="utf-8"?>'
    echo '<resources>'
    while read line ; do
        tag=$(echo $line | cut -d'"' -f2)
        trad=$(echo $line | cut -d'"' -f4)
        echo "  <string name=\"$tag\">$trad</string>"
    done < <(cat Localizable.strings | egrep '^".+"\s?=\s?.+$')
    echo '</resources>'
    

    输出:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
      <string name="settings_button">Settings</string>
      <string name="location">Destiny</string>
      <string name="Register_button">Register</string>
      <string name="logout">Log Out</string>
      <string name="login_button">Login</string>
      <string name="ok">Ok</string>
      <string name="yes">Yes</string>
      <string name="no">No</string>
    </resources>
    

    像这样使用它:

    $ bash strings.bash > strings.xml
    

    注意:这里的一切都只是我在一分钟内编写的一个示例,你可以随意调整。

    【讨论】:

    • 你能详细解释一下吗?我不明白我怎么能做到这一点。android 中的 sn-p 代码可能会有所帮助。
    • @FarhanShah 这是一个 bash 脚本,没有 Android 代码。
    • @FarhanShah 兄弟,不可能。阅读更新的答案并了解如何使用 shell。
    • 告诉我这在 android 中可行吗?
    • @FarhanShah 请阅读,引用:“您不能使用 Android 代码“以编程方式”转换它,因为这些字符串在编译之前需要在项目资源中可用,当然。”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-27
    • 1970-01-01
    • 2012-02-28
    • 1970-01-01
    • 2018-12-23
    • 2012-01-24
    相关资源
    最近更新 更多