Aquí están mis valores \ strings.xml (el archivo predeterminado) y todo se explica por sí mismo:
Mis preguntas):
- ¿Cómo puede ser "no encontrado en la configuración regional predeterminada" si estoy editando la configuración regional predeterminada (valores \ strings.xml)?
- ¿Cómo puede ser un error de traducción de pelusa si lo configuro
translatable="false"
? En las carpetas values-pl \ strings.xml (y también en las carpetas values-ru, values-iw), ¿las cadenas ni siquiera existen? de todos modos no debería. - Parece que no puedo entender por qué no obtengo el error de la cadena rusa.
(Mostraría los valores-ru \ string.xml o values-pl \ string.xml aquí, pero no hay nada de interés, ya que de todos modos faltan las cadenas ...)
Respuestas:
Esto me pasó a mí también
Hago 2 cosas:
fuente
Invalidate Caches / Restart
. Para no buscar en los comentarios, como hice yo por ejemplo.La reconstrucción puede llevar mucho tiempo. YMMV, pero ...
Simplemente elimine la línea ofensiva y vuelva a agregarla.
Trabajó para mi. Muy rapido.
fuente
En mi caso esto me ayudó:
Si no le funciona, intente agregar las mismas cadenas al
strings.xml(v21)
archivo.fuente
Presione Invalidate Caches / Restart ... para reiniciar Android Studio. Funcionó para mí. En realidad, esto sucedió cuando copié archivos de mi otra computadora y los pegué a través del explorador de archivos.
fuente
Tuve el mismo mensaje de error, solo con el extraño problema de que se lanzó en la configuración regional predeterminada y en todas las traducciones. Resulta que no debes usar puntos en tu nombre (por ejemplo, name = "bla.blub") porque se convertirá internamente a "bla_blub" y luego no puede coincidir con "bla.blub", de ahí el error. Solo tuve que cambiar los puntos a subrayados en la configuración regional predeterminada y luego todos los demás errores en otras traducciones (incluidos los puntos en el nombre) también desaparecieron.
Pero tenga en cuenta que otras herramientas de compilación aún pueden crear problemas, así que reemplace todos los puntos con subrayados.
fuente
Salir de Android Studio y reiniciarlo lo solucionó.
fuente
Resolví este problema siguiendo los pasos a continuación:
limpiando mi proyecto
reconstruirlo
y finalmente presionando cachés inválidos / Reiniciar en el menú de archivo
fuente
Creé una herramienta para administrar el estado de traducción de las aplicaciones de Android. No solo le dice qué cadenas faltan en los otros idiomas, sino que también puede informar y limpiar las cadenas sobrantes que puede haber eliminado en su archivo de traducción predeterminado.
https://github.com/gubatron/android-missing-strings
Para limpiar todas las sobras en otros idiomas, invoca así
Esto limpiará las cadenas sobrantes y generará el informe de cadenas faltantes para todos los idiomas en el archivo all.txt
fuente
Simplemente tiene que copiar la línea ofensiva (o solo una de las múltiples líneas ofensivas), eliminarla y volver a pegarla. Eso me eliminó el problema.
fuente
Solo asegúrese de tener las mismas convenciones de nomenclatura en todos los archivos de cadenas, incluidas las mismas mayúsculas. digamos que si tiene "sign_in" en strings.xml y "sign_In" en su fr / string.xml, entonces le dará un error en fr / strings.xml como "se traduce aquí pero no se encuentra en la configuración regional predeterminada". Entonces, cuando editas a "sign_in". El error desaparecerá.
fuente
Copiar y pegar no me funcionó.
También probé Limpiar y reiniciar, el error anterior desapareció pero las nuevas cadenas ingresadas aún tienen nuevos errores.
Intenté cerrar el archivo strings.xml abierto y el Editor de traducciones , luego reiniciar.
Archivo strings.xml y editor de traducciones
Funciona para mi.
fuente
Tenía este problema para todas las cadenas de mi archivo xml.
La cuestión es que su valor predeterminado
strings.xml
no debería tener untools:locale
atributo como los otros archivos traducidos. Si es así, cada vez que compilo la aplicación en modo de lanzamiento, la trata como otro archivo traducido.fuente