Lint: “<key> is niet vertaald in <taal>” negeren fouten?

Ik kan onze Android-app niet compileren/debuggen, omdat de lokalisatiebestanden nog niet perfect zijn.

De validatietool van mijn IDE Lintmaakt fouten door te zeggen:

newCardsOrderVals is niet vertaald in ar, bg, ca, cs

Compileren/installeren/draaien met Ant werkt prima, maar ik zou mijn IDE willen gebruiken om foutopsporing te vergemakkelijken.

Is er een manier om deze specifieke controle uit te schakelen, of er idealiter een waarschuwing van te maken in plaats van een fout?

Ik begrijp dat we voor de release de lokalisatiebestanden echt goed moeten krijgen, maar voorlopig heeft dit geen prioriteit omdat de schermen zelf heel vaak worden gewijzigd.


Antwoord 1, autoriteit 100%

Android Studio:

  • “Bestand” > “Instellingen” en typ “MissingTranslation” in het zoekvak

Verduistering:

  • Windows/Linux: In “Venster” > “Voorkeuren” > “Android” > “Lint-foutcontrole”
  • Mac: “Eclipse” > “Voorkeuren” > “Android” > “Lint-foutcontrole”

Zoek de regel MissingTranslationen stel deze in op Warningzoals hieronder te zien is:


Antwoord 2, autoriteit 25%

U kunt het kenmerk translateable=”false” op de definitie als volgt instellen:

<string name="account_setup_imap" translatable="false">IMAP</string>

Voor meer informatie: http://tools.android.com/recent/non-translatablestrings


Antwoord 3, autoriteit 24%

Als u dit in een geleidelijke build wilt negeren, voegt u dit toe aan het Android-gedeelte van uw buildbestand:

lintOptions {
   disable 'MissingTranslation'
}

Antwoord 4, autoriteit 7%

Hierdoor negeert Lint de ontbrekende vertaalfout voor ALLE tekenreeksen in het bestand, maar andere bronbestanden voor tekenreeksen kunnen indien nodig worden geverifieerd.

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools" 
    tools:ignore="MissingTranslation">

Antwoord 5, autoriteit 3%

Als u de waarschuwingen over de specifieke tekenreeksen wilt uitschakelen, kunt u het volgende gebruiken:

strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>    
    <!--suppress MissingTranslation -->
    <string name="some_string">ignore my translation</string>
    ...
</resources>

Als je wilt waarschuwen voor specifieke tekenreeksen in plaats van voor een fout, moet je een aangepaste Lint-regel maken om de ernststatus voor een specifiek ding aan te passen.

http://tools.android.com/tips/lint-custom-rules


Antwoord 6, autoriteit 3%

Voer in het bestand lint.xmldit in:

<?xml version="1.0" encoding="UTF-8"?>
<lint>
    ...
    <issue
        id="MissingTranslation"
        severity="ignore" />
</lint>

Voor meer details: Pluiswaarschuwingen onderdrukken.


Antwoord 7, autoriteit 3%

voeg de regels in uw /res/values.xml-bestand als volgt toe aan het hoofdtabblad van de resource:

<resources
xmlns:tools="http://schemas.android.com/tools" 
    tools:locale="en" tools:ignore="MissingTranslation">

tools:locale stelt de lokale taal in op Engels, geen vertaling later nodig voor alle resource-strings en tools:ignore laat Lint de ontbrekende vertalingen van de resource-stringwaarden negeren.


Antwoord 8, autoriteit 2%

Voeg het volgende toe aan je gradle-bestand in het Android-gedeelte

   lintOptions {
       disable 'MissingTranslation'
    }

Antwoord 9

Bovendien

Niet projectafhankelijke eigenschappen, Eclipse-voorkeuren.
Op Mac, Eclipse > Voorkeuren


Antwoord 10

Een andere benadering is om de talen aan te geven die u van plan bent te ondersteunen en de rest eruit te filteren met behulp van de ‘resConfigs’-optie met Gradle.

Bekijk dit andere antwoordvoor details

Dit is beter, denk ik, omdat je legitieme vertaalfouten niet volledig hoeft te negeren voor talen die je echt wilt ondersteunen


Antwoord 11

Je kunt ook bronnen die je niet wilt vertalen in een bestand met de naam donottranslate.xmlplaatsen.

Voorbeeld en uitleg: http://tools.android.com/recent/non-translatablestrings


Antwoord 12

Veel van hen hebben een ander werkend antwoord gegeven, en ook ik kreeg dezelfde lintfouten
ik laat het negeren door het volgende te doen met eclipse.

  1. klik op Windows
  2. klik op voorkeuren
  3. selecteer android > Lint-foutcontrole.
  4. klik op Alles negeren > Toepassen > Oké.

Dat is het.


Antwoord 13

Het volgende werkte voor mij.

  • Klik op Windows
  • Klik op voorkeuren
  • Selecteer android > Lint-foutcontrole.
  • Zoek en selecteer de relevante Lint-controle en
  • Stel de ernst in op ‘Negeren’ (rechtsonder)

Other episodes