Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android Lint asks to translate strings to MANY languages which i don't use in app [duplicate]

I can't compile/debug our Android app, because the localization files are not perfect yet.

My IDE's validation tool Lint create errors saying:

newCardsOrderVals is not translated in ar, bg, ca, cs

Compiling/installing/running with Ant works fine, but I would like to use my IDE to ease debugging.

Is there a way to turn off this particular check, or ideally make it a warning rather than an error?

I understand that before release we will really need to get localisation files right, but for the time being it is not a priority as the screens themselves are being modified very frequently.

like image 224
Nicolas Raoul Avatar asked Jul 12 '12 01:07

Nicolas Raoul


13 Answers

Android Studio:

  • "File" > "Settings" and type "MissingTranslation" into the search box

Eclipse:

  • Windows/Linux: In "Window" > "Preferences" > "Android" > "Lint Error Checking"
  • Mac: "Eclipse" > "Preferences" > "Android" > "Lint Error Checking"

Find the MissingTranslation line, and set it to Warning as seen below:

Missing translations, is not translated in

like image 184
Nicolas Raoul Avatar answered Oct 01 '22 18:10

Nicolas Raoul


You can set the attribute translatable="false" on the definition like this:

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

For more information: http://tools.android.com/recent/non-translatablestrings

like image 34
efor18 Avatar answered Oct 01 '22 18:10

efor18


To ignore this in a gradle build add this to the android section of your build file:

lintOptions {
   disable 'MissingTranslation'
}
like image 23
Janusz Avatar answered Oct 04 '22 18:10

Janusz


Another approach is to indicate the languages you intend to support and filter out the rest using the 'resConfigs' option with Gradle.

Check out this other answer for details

This is better, I think, because you don't have to completely ignore legitimate translation mistakes for languages you actually want to support

like image 27
kip2 Avatar answered Sep 30 '22 18:09

kip2


add the lines in your /res/values.xml file in resource root tab like this:

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

tools:locale set the local language to English, no need of language translation later on that for all resource strings and tools:ignore let Lint to isnore the missing translations of the resource string values.

like image 39
Purvik Rana Avatar answered Oct 03 '22 18:10

Purvik Rana


This will cause Lint to ignore the missing translation error for ALL strings in the file, yet other string resource files can be verified if needed.

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools" 
    tools:ignore="MissingTranslation">
like image 41
Tom Bollwitt Avatar answered Oct 01 '22 18:10

Tom Bollwitt


If you want to turn off the warnings about the specific strings, you can use the following:

strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>    

    <!--suppress MissingTranslation -->
    <string name="some_string">ignore my translation</string>
    ...

</resources>

If you want to warn on specific strings instead of an error, you will need to build a custom Lint rule to adjust the severity status for a specific thing.

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

like image 34
Eduard Avatar answered Sep 30 '22 18:09

Eduard


Insert in the lint.xml file this:

<?xml version="1.0" encoding="UTF-8"?>
<lint>
    ...

    <issue
        id="MissingTranslation"
        severity="ignore" />
</lint>

For more details: Suppressing Lint Warnings.

like image 40
Brais Gabin Avatar answered Oct 03 '22 18:10

Brais Gabin


Add following to your gradle file in android section

    lintOptions {
       disable 'MissingTranslation'
    }
like image 39
chzahid Avatar answered Oct 04 '22 18:10

chzahid


In addition,

Not project dependent properities, Eclipse Preferences.
In Mac, Eclipse > Preferences

enter image description here

like image 23
Jinbom Heo Avatar answered Oct 01 '22 18:10

Jinbom Heo


You can also put resources which you do not want to translate to file called donottranslate.xml.

Example and explanation: http://tools.android.com/recent/non-translatablestrings

like image 40
Michal Vician Avatar answered Oct 02 '22 18:10

Michal Vician


Many of them has a given a different working answers, and i too got the same lint errors i make it ignore by doing the following with eclipse.

  1. click on Windows
  2. click on preferences
  3. select android > Lint Error Checking.
  4. click on ignore All > Apply > Ok.

Thats it.

like image 1
raju Avatar answered Sep 30 '22 18:09

raju


The following worked for me.

  • Click on Windows
  • Click on preferences
  • Select android > Lint Error Checking.
  • Find and select the relevant Lint checking and
  • Set the severity to 'Ignore' (on bottom right)
like image 1
user4353093 Avatar answered Oct 01 '22 18:10

user4353093