本地化错误:“在此处进行了翻译,但默认语言环境中没有翻译”。

9
我已创建了 values-frvalues-esvalues 文件夹。 values 文件夹中的内容是英文的,但对于每个字符串,我都收到以下错误提示:
<string name="cancel">Cancel</string>

这里翻译了"取消",但默认语言环境中未找到该翻译。我不确定这是什么意思。

values/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation" tools:locale="en">

    <string translatable="false" name="app_name">Kendal Mintfest</string>
    <string name="action_settings">Settings</string>
    <string name="itin_string">Itinerary</string>
    <string name="event_string">Events</string>
    <string name="info_string">Info!</string>
    <string name="filerText">Note: Turning this option on will show only results on the selected day on the hour you select.</string>
    <string-array name="time_filter_array">
        <item>Friday 30th August</item>
        <item>Saturday 31st August</item>
        <item>Sunday 1st September</item>
    </string-array>
    <color name="Pink">#EC008B</color>
    <string name="okay">Okay</string>
    <string name="cancel">Cancel</string>
</resources>

values-fr/strings.xml

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

    <string name="action_settings">Paramètres</string>
    <string name="itin_string">itinéraire</string>
    <string name="event_string">Events</string>
    <string name="info_string">Info!</string>
    <string name="filerText">Remarque: Activer cette option affichera uniquement les r\ésultats le jour sélectionné à l\'heure que vous sélectionnez.</string>
    <string-array name="time_filter_array">
         <item>Vendredi 30 Août</item>
         <item>Samedi 31 Août</item>
         <item>dimanche 1er Septembre</item>
    </string-array>
    <color name="Pink">#EC008B</color>
    <string name="okay">OK</string>
    <string name="cancel">Annuler</string>
</resources>

values-es/strings.xml

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

    <string name="action_settings">Configuración</string>
    <string name="itin_string">Itinerario</string>
    <string name="event_string">Events</string>
    <string name="info_string">Info!</string>
    <string name="filerText">Nota: Al activar esta opción sólo mostrará los resultados en el día seleccionado en la hora de seleccionar.</string>
    <string-array name="time_filter_array">
         <item>Viernes 30 de agosto</item>
         <item>Sábado 31 de agosto</item>
         <item>Domingo 01 de septiembre</item>
    </string-array>
    <color name="Pink">#EC008B</color>
    <string name="okay">Okay</string>
    <string name="cancel">Cancelar</string>
</resources>

注意:我上面提到的错误发生在所有values/strings.xml行中。

你什么时候改变你的语言???是在任何项目的点击事件之后吗? - Shani Goriwal
不,是在IDE中的字符串文件中(因此不同的语言有不同的文件夹)。 - Josh Boothe
好的... 你在所有的string.xml文件中都设置了"cancel"字符串吗? - Shani Goriwal
好的,这意味着您没有在values/strings.xml文件夹中添加取消字符串。 - Shani Goriwal
当我更新我的Mac OS到Maveriks时(也出现了一个Java更新),我开始遇到类似的问题。 - Stan
显示剩余9条评论
3个回答

6
当我在翻译文件中添加<resources xmlns:tools="http://schemas.android.com/tools" tools:locale="en">而不是仅仅添加<resources>时,这个问题开始出现。如果你添加 tools:ignore="ExtraTranslation",那么它应该会消失。个人认为如此。

当然,它会消失,因为Android Studio不再检查它。 但是,我注意到资源定义在代码中不可用,并且无法消除此错误。有趣的是,构建或启动调试非常顺利,只是UI存在问题。 - 3c71

5

请尝试以下两个方法:

1) 检查字符串文件中是否有键字符串名称被拼写错误或在同一文件中重复复制。

2) 尝试进行清理项目重建项目,同时使用“无效缓存和重新启动”重新启动Android Studio。 Android Studio >> 文件 >> 无效缓存/重新启动...

点击"无效缓存/重新启动"。


1
确保您拥有默认语言环境中的字符串。如果您已经拥有它,请尝试删除strings.xml中的错误行并撤消删除操作。如果string.xml来自一个库,请删除该库,同步,撤消删除并再次同步。
如果上述步骤不起作用,请清理项目。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接