我在应用程序开发中使用Android Studio。我希望通过将Android语言资源(strings.xml)导出/导入到Excel文件(xlsx)中来翻译字符串。怎样才是最好的方法?
我在应用程序开发中使用Android Studio。我希望通过将Android语言资源(strings.xml)导出/导入到Excel文件(xlsx)中来翻译字符串。怎样才是最好的方法?
由于在Android Studio中CTRL+A不起作用,因此有一种方法可以将Android字符串文件转换为CSV,然后借助Google翻译进行翻译,接着再次将其转换回XML。
我使用了http://convertcsv.com/csv-to-xml.htm这个网站将csv文件转换为Strings资源文件
需要提及自定义输出模板以将其转换为Strings资源文件
<string name="{f1}">{f2}</string>
请将此放入提供的模板部分
网站还会显示所需的转换输出文件
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Example placeholder for a special unicode symbol -->
<string name="star_rating">Check out our 5
<xliff:g id="star">\u2605</xliff:g>
</string>
<!-- Example placeholder for a for a URL -->
<string name="app_homeurl">
Visit us at <xliff:g id="application_homepage">http://my/app/home.html</xliff:g>
</string>
<!-- Example placeholder for a name -->
<string name="prod_name">
Learn more at <xliff:g id="prod_gamegroup">Game Group</xliff:g>
</string>
<!-- Example placeholder for a literal -->
<string name="promo_message">
Please use the "<xliff:g id="promotion_code">ABCDEFG</xliff:g>” to get a discount.
</string>
</resources>
strings.xml
导入/导出到 .xlsx
。 - galdin=GOOGLETRANSLATE(B2, "auto", "de")
=CONCATENATE("<string name=",char(34),A2,char(34),">",C2,"</string>")
生成另一列输出内容,其中A2是资源ID,C2是已翻译的字符串<resource>...</resource>
标记内只有在 Windows PC 上才支持导出或复制到 Excel。但 MAC 还不支持。
^([^,]*),(.*)$
并用<string name="$1">$2</string>
替换它<string.+name="(.*)".*>(.*)</string>
来查找,$1,$2
来替换。但是,只有在每个字符串标签都在一行中才能正常工作。注意:如果您的res文件夹中没有strings.xml
,那么Android Studio将不会在strings.xml文件的右上角显示"打开编辑器"(打开文件)。在我的情况下,所有的字符串资源文件都被命名为strings_feature.xml
要从翻译编辑器复制/粘贴,请使用Android Studio 3.2版本及以下版本。它允许复制/粘贴整个列。