web-dev-qa-db-fra.com

Erreur: plusieurs substitutions spécifiées dans un format non positionnel; vouliez-vous ajouter l'attribut formaté = "faux"?

J'ai une application Android, qui lance le processus BUILD après l'erreur:

/home/Ralf/Projekte/University/Android-sampleapp/sampleapp/build/intermediates/bundles/debug/res/values-de/values-de.xml Erreur: (88, 5) Substitutions multiples spécifiées au format non positionnel; vouliez-vous ajouter l'attribut formaté = "faux"? Erreur: (88, 5) Chaîne de balise de fin inattendue

/home/Ralf/Projekte/University/Android-sampleapp/sampleapp/build/intermediates/bundles/debug/res/values/values.xml Erreur: (106, 5) Substitutions multiples spécifiées dans un format sans position; vouliez-vous ajouter l'attribut formaté = "faux"? Erreur: (106, 5) Chaîne de balise de fin inattendue

/home/Ralf/Projekte/University/Android-sampleapp/demo/build/intermediates/res/merged/debug/values-de/values-de.xml Erreur: (131) Substitutions multiples spécifiées dans un format non positionnel; vouliez-vous ajouter l'attribut formaté = "faux"? Erreur: (131) Chaîne de balise de fin inattendue

/home/Ralf/Projekte/University/Android-sampleapp/demo/build/intermediates/res/merged/debug/values/values.xml Erreur: (1258) Substitutions multiples spécifiées dans un format non positionnel; vouliez-vous ajouter l'attribut formaté = "faux"? Erreur: (1258) Chaîne de balise de fin inattendue Erreur: Java.util.concurrent.ExecutionException: com.Android.ide.common.process.ProcessException: erreur lors de l'exécution du processus /opt/sdk/build-tools/26.0.2/aapt avec arguments {package -f --no-crunch -I /opt/sdk/platforms/Android-27/Android.jar -M/home/Ralf/Projekte/University/Android-sampleapp/demo/build/intermediates/manifests/full /debug/AndroidManifest.xml -S/home/Ralf/Projekte/University/Android-sampleapp/demo/build/intermediates/res/merged/debug -m -J/home/Ralf/Projekte/University/Android-sampleapp/demo/build/généré/source/r/debug -F /home/Ralf/Projekte/University/Android-sampleapp/demo/build/intermediates/res/debug/resources-debug.ap_ -D/home/Ralf/Projekte/University /Android-sampleapp/demo/build/intermediates/multi-dex/debug/manifest_keep.txt --custom-package com.ralfi.demo -0 apk --output-text-symbol/home/Ralf/Projekte/University/Android -sampleapp/demo/build/intermediates/symboles/debug --no-version-vectors} Erreur: com.Android.ide.comm on.process.ProcessException: erreur lors de l'exécution du processus /opt/sdk/build-tools/26.0.2/aapt avec des arguments {package -f --no-crunch -I/opt/sdk/plates-formes/Android-27/Android. jar -M /home/Ralf/Projekte/University/Android-sampleapp/demo/build/intermediates/manifests/full/debug/AndroidManifest.xml -S/home/Ralf/Projekte/University/Android-sampleapp/demo/build/intermédiaires/res/fusionnés/debug -m -J/home/Ralf/Projekte/University/Android-sampleapp/demo/build/generated/source/r/debug -F/home/Ralf/Projekte/University/Android-sampleapp/demo/build/intermediates/res/debug/resources-debug.ap_ -D /home/Ralf/Projekte/University/Android-sampleapp/demo/build/intermediates/multi-dex/debug/manifest_keep.txt --custom-package com.ralfi.demo -0 apk --output-text-symboles/home/Ralf/Projekte/University/Android-sampleapp/demo/build/intermediates/symboles/debug --no-version-vectors} Erreur: org.gradle .process.internal.ExecException: processus 'commande' /opt/sdk/build-tools/26.0.2/aapt '' terminé avec sortie va non nulle lue 1

Lorsque je clique sur les erreurs au niveau de la résolution de la chaîne, cela indique: Masquer pour% 02d:% 02d min

Mais j'ai besoin d'une traduction pour ces ressources, pourquoi est-ce que je reçois cela?

21
Ralf Wickum

En effet, votre ressource String possède plusieurs %s ou similaire. Pour éviter cela, vous devez identifier chacun d'eux comme ceci: %1$s. Exemple:

<string name="full_name">First: %1$s - Last: %2$s</string>

%1$s est votre première substitution et %2$s est votre deuxième.

Si vous ne voulez pas effectuer de substitution, ajoutez simplement l'attribut formatted="false". Exemple:

<string name="your_string" formatted="false">Level: 100%</string>

52