Lint: “<key>, <dil> 'e çevrilmemiş” hatalarını nasıl yok sayabilirim?


189

Yerelleştirme dosyaları henüz mükemmel olmadığından Android uygulamamızı derleyemiyorum / hata ayıklayamıyorum.

My IDE'nin doğrulama aracı Lint şu hataları yaratıyor:

newCardsOrderVals ar, bg, ca, cs diline çevrilmemiştir

Ant ile derleme / yükleme / çalıştırma iyi çalışıyor, ancak hata ayıklamayı kolaylaştırmak için IDE'mi kullanmak istiyorum.

Bu kontrolü kapatmanın veya ideal olarak bir hata yerine uyarı yapmanın bir yolu var mı?

Yayınlamadan önce yerelleştirme dosyalarını doğru bir şekilde almamız gerekeceğini anlıyorum, ancak ekranların kendileri çok sık değiştirildiği için şimdilik bir öncelik değil.


1
Hangi dillerin "çevrilmedi" olarak işaretlenmesini yapılandırmanın bir yolu var mı? "Es, he, ve iw" gibi hatalar alıyorum. Neden bu dilleri alıyorum? Android uygulamamı seti yalnızca "en" ile sınırlayacak şekilde nasıl yapılandırabilirim?
inder

@inder: Belki res / klasörünüzde "değerler-he" vb. dizinleriniz olduğu için?
Nicolas Raoul

1
Hayır, böyle dizinlerim yok. Yalnızca değerler, düzen ve çekilebilir.
inder

7
es, o ve ben Facebook SDK kütüphanesinden geliyorlar.
madej

2
Bu, Android
Lint'teki

Yanıtlar:


348

Android Studio:

  • "Dosya"> "Ayarlar" ve arama kutusuna "MissingTranslation" yazın

Eclipse:

  • Windows / Linux: "Pencere"> "Tercihler"> "Android"> "Tüy Bırakma Hatası Denetimi"
  • Mac: "Eclipse"> "Tercihler"> "Android"> "Tüy Bırakma Hatası Denetimi"

MissingTranslationÇizgiyi bulun ve Warningaşağıda görüldüğü gibi ayarlayın:

Eksik çeviriler, çevrilmemiş


2
... "Pencere"> "Tercihler"> "Android"> "Tiftik Hata Kontrolü" altında
Ollie Bennett

2
Yararlı, ama aniden ortaya çıkana kadar çok uzun bir süre bu problemi yaşamadım. Ve nedenini bilmiyorum.
pktangyue

Değerli mesajınız için teşekkürler
Pawan asati

Android Studio altında FYI arama kutusuna "Dosya"> "Ayarlar" ve "MissingTranslation" dır.
akran

86

Bu tanımdaki translatable = "false" özelliğini şu şekilde ayarlayabilirsiniz:

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

Daha fazla bilgi için: http://tools.android.com/recent/non-translatablestrings


1
"Yerelleştirme dosyaları henüz mükemmel değil" dedim . Yavaş yavaş dolduruluyorlar. translatable = "false" herhangi birisinin çeviri yapmasını engeller.
Nicolas Raoul

3
Cevap doğrudan soru ile ilgili olmasa da, sanırım Google "tüy bırakma nasıl uygulama sabitlerim / parametrelerim hakkında endişelenmiyorsa" bu konuyu bulan kişiler için mükemmel bir çözüm sunuyor. Teşekkür ederim, efor18!
aka_sh

83

Bir gradle derlemesinde bunu yoksaymak için bunu derleme dosyanızın android bölümüne ekleyin:

lintOptions {
   disable 'MissingTranslation'
}

2
Çok teşekkür ederim, kelimenin tam anlamıyla üretim için tüm doğru dizeleri bulma günlerini kurtardım.
D-Kent

Güzel bir tane, bunu yaptım
Mirko

Bunu uygulama modülüme ekledi benim için soved.
Merkür

23

Bu, Lint'in dosyadaki TÜM dizeler için eksik çeviri hatasını yok saymasına neden olur, ancak gerekirse diğer dize kaynak dosyaları doğrulanabilir.

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

Bu, muhtemelen tüm proje için tüy bırakmadan ilerlemenin en doğru yoludur
MatPag

11

Belirli dizelerle ilgili uyarıları kapatmak istiyorsanız, aşağıdakileri kullanabilirsiniz:

strings.xml

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

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

</resources>

Hata yerine belirli dizelerde uyarmak istiyorsanız, belirli bir şeyin önem durumunu ayarlamak için özel bir Lint kuralı oluşturmanız gerekir.

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


1
+1 Herkes için bir kez yapmanın iyi bir yolu, böylece ekibin tüm geliştiricileri IDE ayarlarını değiştirmek zorunda kalmazlar. Tamamen bastırmak yerine uyarı yapmak için herhangi bir yol var mı?
Nicolas Raoul

Belirli bir şeyin önem durumunu ayarlamak için özel bir Lint kuralı oluşturabilirsiniz. Burada bir örnek var: tools.android.com/tips/lint-custom-rules
Eduko


8

/res/values.xml dosyanızdaki satırları kaynak kök sekmesine aşağıdaki gibi ekleyin:

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

tools: locale yerel dili İngilizce olarak ayarlayın, daha sonra tüm kaynak dizeleri ve araçları için dil çevirisine gerek yoktur: ignore izin ver, kaynak dizesi değerlerinin eksik çevirilerini içermez.


6

Android bölümünde gradle dosyanıza aşağıdakileri ekleyin

    lintOptions {
       disable 'MissingTranslation'
    }

5

Ek olarak,

Projeye bağlı özellikler değil, Eclipse Tercihleri.
Mac'te Eclipse> Tercihler

resim açıklamasını buraya girin


3

Başka bir yaklaşım, Gradle ile 'resConfigs' seçeneğini kullanarak desteklemeyi ve geri kalanları filtrelemeyi planladığınız dilleri belirtmektir.

Ayrıntılar için bu diğer cevaba göz atın

Sanırım bu daha iyi, çünkü aslında desteklemek istediğiniz diller için geçerli çeviri hatalarını tamamen göz ardı etmek zorunda değilsiniz.



1

Birçoğu farklı bir çalışma cevabı verdi ve ben de aynı tiftik hataları var i tutulması ile aşağıdaki yaparak görmezden yapmak.

  1. Windows'a tıkla
  2. tercihleri ​​tıkla
  3. android'i seçin> Lint Error Checking.
  4. Tümünü yoksay> Uygula> Tamam'ı tıklayın.

Bu kadar.


2
bu, tüm tiftik tercihlerini yok sayar. Sadece Kayıp Çeviri
Luciano Rodríguez

1

Aşağıdakiler benim için çalıştı.

  • Windows'a tıklayın
  • Tercihleri ​​tıklayın
  • Android> Lint Hata Kontrolü'nü seçin.
  • İlgili Lint kontrolünü bulun ve seçin ve
  • Şiddeti 'Yoksay' olarak ayarlayın (sağ altta)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.