Pregunta Lenguajes de límite de Android Lint para verificar si faltan traducciones


Mi aplicación solo admite 2 idiomas: inglés y alemán. Así que tengo esa estructura de carpetas para las cadenas de idiomas:

myproject / res / values ​​/ strings.xml

myproject / res / values-de / strings.xml

Cuando ejecuto la comprobación de Lint recibo muchas advertencias sobre idiomas faltantes, que mi aplicación no necesita admitir:

"some_string" no está traducido en af, am, ar, be, bg, ca, cs, da, el, en-rGB, es, es-rUS, et, fa, fi, fr, hi, hr, hu, en , eso, iw, ja, ko, lt, lv, ms, nb, nl, pl, pt, pt-rPT, ro, ru, sk, sl, sr, sv, sw, th, tl, tr, uk, vi , zh-rCN, zh-rTW, zu

Estas advertencias dificultan mucho entender qué cadenas no están traducidas al idioma alemán. Tengo que mirar cada advertencia y buscar símbolos "de" para entender que esta cadena no tiene traducción al alemán.

Entonces mi pregunta es simple - ¿Cómo puedo decirle a Lint que verifique solo 2 idiomas??


23
2018-01-09 10:08


origen


Respuestas:


El mismo problema aquí.

Creé un informe de error, no dudes en destacarlo

http://code.google.com/p/android/issues/detail?id=50525

Esto sucedió desde la publicación de ADT 21.1.

No conozco ninguna solución (edición: anteriormente pensé que había encontrado una solución, pero miré el archivo incorrecto, ups)


8
2018-02-21 10:02



Actualizar: ¡Puede limitar los idiomas que Gradle importa! Cyril Mottier señala que puede especificar qué recursos admite.

Iniciando Android Gradle Plugin 0.7, puede pasar información sobre las configuraciones que su aplicación maneja al sistema de compilación. Esto se hace gracias a los sabores resConfig y resConfigs y la opción de configuración predeterminada. La siguiente DSL evita que aapt empaquete los recursos que no coinciden con las configuraciones de los recursos administrados de la aplicación:

defaultConfig {
    // ...
    resConfigs "en", "de", "fr", "it"
}

Más información aquí Poniendo sus APK en la dieta y Androide (busque resConfig en la página)


Parece que si agrega un proyecto a su ruta de compilación, todos y cada uno de los idiomas que se hayan agregado a esos proyectos llegarán a su proyecto. Como el proyecto "google-play-services_lib", que agregó unos buenos más de 40 idiomas a mi proyecto que "soporté". Esta fue la razón por la que obtuve los errores de pelusa locos (similar al anterior), a pesar de que solo tenía una carpeta de recursos por defecto y en español (valores-es).

La solución es simplemente eliminar los archivos / carpetas de recursos que no está soportando desde los proyectos externos / importados. Después de que eliminé todas las carpetas menos los valores / values-es en el proyecto google-play-services_lib, las advertencias sobre pelusas se fueron para los idiomas que no son de destino. Asegúrese de mantener una copia de seguridad de los archivos de recursos en caso de que quiera agregar soporte para esos idiomas / regiones en una fecha posterior.

Espero que esto ayude. Me estaba golpeando la cabeza sobre la mesa y todo SO y Google durante unos días tratando de encontrar la manera de expresar el problema. Entonces finalmente me di cuenta de la diferencia entre mis dos proyectos que tenían traducciones, los proyectos de la biblioteca.

Ojalá hubiera una manera de decirle al proyecto que solo apoyo idiomas x / y / z y hago que ignore el resto.


35
2018-02-21 22:36



Tengo el mismo problema, debido a la inclusión del servicio de la biblioteca de Google ...

Aquí está mi solución, por el momento:

  1. eliminar todas las bibliotecas incluidas
  2. aplicar pelusa
  3. corrige los errores
  4. agregue todas las bibliotecas otra vez

0
2018-03-11 12:25



Preguntas populares