是否可以使用不同的xml而不是strings.xml打开翻译编辑器?

时间:2016-07-15 10:15:07

标签: android xml

我的字符串存储在不同的.xml中。现在,我需要为他们做一些翻译,我想知道是否可以打开那些xml的翻译编辑器。我尝试了但它只出现在strings.xml

非常感谢您的帮助。

5 个答案:

答案 0 :(得分:1)

我有很大的翻译数据库,每种语言几乎有1k个职位。每个模块都有自己的前缀,所以我的字符串文件如下所示: prefix_strings_hitory.xml,prefix_strings_news.xml,prefix_strings_coutries.xml 等.Android Studio翻译编辑器不能使用与strings.xml不同的文件正确处理翻译。

我就是这样做的:

1.在每个模块中创建空文件strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
</resources>

多亏了这一点,你可以轻松打开编辑器。

2.现在假设你想拥有名为 values / abc_strings_main_activity.xml 的文件,创建它。

3.当我们需要德语翻译时,您必须 manualy 制作原始(默认)文件的副本: values-de / abc_strings_main_activity.xml 。如果您让翻译编辑器复制您的文件,它将创建 values-de / strings.xml ,并将您的字符串放在那里。

4.现在,当您使用翻译编辑器时,它会正确地将您的字符串保存在正确的文件和位置。

5.当我复制我的文件时,我总是使用带有空标签的文件,例如

<?xml version="1.0" encoding="utf-8"?>
    <resources>
        <string name="abc__button_1"></string>
        <string name="abc__tile"></string>
        <string name="abc__share"></string>
    </resources>

多亏了它,我可以在翻译编辑器中看到空(未翻译)单元格

答案 1 :(得分:1)

如果我理解正确,您无需在翻译编辑器中打开单独的文件。

  1. 打开您的something.xml文件
  2. Alt +输入任何项目 - &gt;覆盖其他配置中的资源
  3. 选择区域设置,然后按“&gt;&gt;”按钮
  4. 选择所需的区域设置。
  5. 这将为您的something.xml文件创建本地化文件。

    1. something.xml - &gt;复制所有内脏 - &gt;粘贴到本地化文件中。
    2. 如果您从本地化文件中删除所有值,而不是使用编辑器打开主strings.xml文件,则会发现something.xml中的单词未翻译。如果不这样做,您将找到原始和新语言环境的类似值。
    3. 当您在编辑器中打开strings.xml时,Studio会将当前模块中的所有字符串资源放入其中,尽管您将字符串放在多个文件中。也许这不像在逐个打开文件那样方便,但这仍然很好,如果你只是需要确保你没有错过任何要翻译的字符串。

答案 2 :(得分:1)

这很老了,但我想出了一些可能对寻找者有用的东西。

  1. 打开模块的翻译编辑器时,它将显示res文件夹中的所有字符串,而不仅仅是“ strings.xml”文件。因此,如果您还有其他带有字符串的.xml文件,则会列出它们。

  2. Android Studio用户界面仅允许从“ strings.xml”文件打开翻译编辑器。因此,如果您有一个包含字符串文件的模块,而没有名为“ strings.xml”的任何xml文件,则只需在该res文件夹中创建一个空白的“ strings.xml”文件,然后使用该文件打开“翻译编辑器”-它会列出所有字符串。 / p>

答案 3 :(得分:0)

  1. 打开任何布局
  2. 按图片面板查找此面板

  3. 点击地球图标

  4. 点击“修改翻译”

答案 4 :(得分:0)

我正在使用Android Studio 2.3.3 打开&#34;翻译编辑器&#34;窗口我已经意识到列出了来自不同资源文件(strings.xml,otherTranslationFile.xml等等)的所有条目。 在示例中,我使用了前缀&#34; c _&#34;更好地排序和识别特定条目

enter image description here