Lenguajes de límite de Lint de Android para comprobar traducciones perdidas
Mi aplicación sólo admite 2 idiomas: inglés y alemán. Así que tengo la estructura de carpetas para las cadenas de idiomas:
Myproject / res / values / strings.xml
- SearchView.clearFocus sólo se puede llamar desde el mismo grupo de bibliotecas (groupId = com.android.support)
- Fatal Lint Error durante la exportación de la aplicación firmada
- Android Build Tools 1.1.0 - Lint falla en el identificador de problema desconocido "ImproperProjectLevelStatement"
- Comprobaciones de API de Eclipse Lint de Android
- ¿El constructor de la clase privada interna también es privado?
Myproject / res / valores-de / strings.xml
Cuando ejecuto Lint chequeo tengo muchas advertencias acerca de idiomas faltantes, que mi aplicación no necesita soportar:
"Some_string" no se traduce en af, am, ar, be, bg, ca, cs, da, el, en-rGB, es, es-rUS, et, fa, fi, fr, hi, hr, hu, in ,,,,,,,,,,,,,,,,,,,,,,,,,,,, , Zh-rCN, zh-rTW, zu
Esta advertencia hace muy difícil entender qué cadenas no se traducen 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.
Así que mi pregunta es simple – ¿cómo puedo decir a Lint que compruebe sólo 2 idiomas ?
- Evitar que el código entre accidentalmente en producción
- Constant 'Running Android Lint' Falló, nullpointerexception apareciendo en Eclipse (pero no parece ser mi código)
- Resolución de valores de recursos en reglas personalizadas de pelusa
- Advertencia de pelusa Extraña - Texto inesperado encontrado en el archivo de diseño: ""
- Contexto de lint.xml y perfil de inspección
- ¿Por qué Android Lint advierte sobre String.format usando la configuración regional predeterminada cuando utiliza explícitamente Locale.US?
- Por qué no puedo usar "correr Android lint" desde el menú "Window" en Eclipse en la barra de herramientas Puedo ejecutar, ¿está bien?
- Práctica recomendada para cadenas independientes del idioma
Mismo problema aquí.
He creado un informe de error, no dude en protagonizarlo
http://code.google.com/p/android/issues/detail?id=50525
Esto sucedió desde el lanzamiento de ADT 21.1.
No conozco ninguna solución para ello (edición: antes, aunque para haber encontrado una solución, pero he mirado el archivo equivocado, ups)
Actualización : ¡Puede limitar los idiomas importados por Gradle! Cyril Mottier señala que usted puede especificar qué recursos usted apoya.
Iniciando Android Gradle Plugin 0.7, puede pasar información sobre las configuraciones que su aplicación se ocupa del sistema de compilación. Esto se hace gracias a resConfig y resConfigs sabor y opción de configuración por defecto. El DSL siguiente evita que aapt envíe recursos que no coincidan con las configuraciones de recursos administrados de la aplicación:
defaultConfig { // ... resConfigs "en", "de", "fr", "it" }
Más información aquí Poner tus APKs en la dieta y en Android (buscar resConfig en la página)
Parece que si agrega un proyecto a su ruta de construcción, todos y cada uno de los idiomas que se han añadido a esos proyectos se desplegará en su proyecto. Tales como el proyecto "google-play-services_lib", que agregó un buen 40 + idiomas a mi proyecto que "apoyado". Esta fue la razón por la que me dieron los errores loco pelusa (similar a la suya por encima), a pesar de que sólo tenía un defecto y español (valores-es) carpeta de recursos.
La solución es simplemente eliminar los archivos / carpetas de recursos que no está soportando desde los proyectos externos / importados. Después de haber eliminado todos excepto la carpeta valores / valores-es del proyecto google-play-services_lib, las advertencias de pelusa desaparecieron para los idiomas que no son de destino. Asegúrese de guardar una copia de seguridad de los archivos de recursos en caso de que tenga ganas de agregar soporte para esos idiomas / regiones en una fecha posterior.
Espero que esto ayude. Yo estaba golpeando mi cabeza sobre la mesa y todo SO y Google durante unos días tratando de averiguar cómo frasear el problema. Entonces finalmente me di cuenta de cuál era la diferencia entre mis dos proyectos que ambos tenían traducciones, los proyectos de la biblioteca.
Ojalá hubiera una manera de decirle al proyecto que sólo soporta idiomas x / y / z y que ignore el resto.
Tengo el mismo problema, debido a la inclusión del servicio de biblioteca de Google …
Aquí está mi solución, por el momento:
- Eliminar todas las bibliotecas incluidas
- Aplicar pelusa
- corrige los errores
- Agregue todas las bibliotecas de nuevo
- Android: ¿puede tener un efecto de rizado cuyo color de estado predeterminado es transparente?
- La búsqueda global no funciona como se esperaba en Android 4.4