【问题标题】:Localisation error 'is translated here but not in default locale'本地化错误“在此处翻译,但不在默认语言环境中”
【发布时间】:2013-08-11 03:25:25
【问题描述】:

我创建了一个values-frvalues-esvalues

values 的内容是英文,但是对于每个字符串我都会收到此错误:

<string name="cancel">Cancel</string>

上面写着:"cancel" is translated here but is not found in default locale,我不确定这是什么意思。

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 行上

【问题讨论】:

  • 你什么时候改变你的语言???在任何项目的点击事件之后?
  • 不,在 IDE 的字符串文件中(所以不同的文件夹对应不同的语言)
  • 好的...你是否在所有的string.xml文件中设置了取消字符串?
  • 是的,文件中没有错误,只是 values/strings.xml 文件
  • 好的..这意味着您没有在 values/strings.xml 文件夹中添加取消字符串

标签: java android eclipse


【解决方案1】:

对我来说,当我在翻译文件中添加 &lt;resources xmlns:tools="http://schemas.android.com/tools" tools:locale="en"&gt; 而不仅仅是 &lt;resources&gt; 时,这开始出现。如果你添加tools:ignore="ExtraTranslation" 那么它应该消失恕我直言

【讨论】:

  • 确定它会消失,因为 Android Studio 不再检查它。但是,我注意到资源定义在代码中不可用,并且无法消除此错误。有趣的是,构建或启动调试工作正常,它只是 UI。
【解决方案2】:

试试下面两件事:

1)如果正在使用的键字符串名称在另一个翻译中没有拼错,或者在同一个文件中复制了两次,则检查字符串文件。

2)尝试clean Projectrebuild project 还使用无效缓存执行重新启动 Android Studio 并重新启动。 Android Studio >> 文件 >> 使缓存无效/重启...

点击无效缓存并重新启动。

【讨论】:

    【解决方案3】:

    确保您有默认语言环境中的字符串。如果有,请尝试删除 strings.xml 中的错误行并撤消删除。如果 string.xml 来自某个库,请删除该库,同步,撤消删除并再次同步。

    如果上述步骤不起作用,请清理项目。

    【讨论】:

      猜你喜欢
      • 2018-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多