Dalam kode sumber Eclipse, saya telah menemukan beberapa '$ NON-NLS-1 $' dalam komentar yang digunakan seperti itu:
private String toolTip = ""; //$NON-NLS-1$
Apa artinya ?
sumber
Dalam kode sumber Eclipse, saya telah menemukan beberapa '$ NON-NLS-1 $' dalam komentar yang digunakan seperti itu:
private String toolTip = ""; //$NON-NLS-1$
Apa artinya ?
Mereka membungkam peringatan yang dikeluarkan Eclipse ketika bertemu string literal (dan telah dikonfigurasi untuk mengeluh).
Idenya adalah bahwa pesan UI tidak boleh disematkan sebagai string literal, melainkan bersumber dari file sumber daya (sehingga mereka dapat diterjemahkan, dibuktikan, dll). Konsekuensinya, Eclipse dapat dikonfigurasi untuk mendeteksi string literal, sehingga Anda tidak sengaja meninggalkan string UI yang tidak tereksternalisasi dalam kode; Namun, ada string yang tidak boleh dieksternalisasi (seperti regexps) dan, // $ NON-NLS-1 $ memberi Anda cara untuk mengomunikasikan fakta itu ke kompiler.
String tidak dapat diterjemahkan. Ia memberi tahu editor Eclipse untuk tidak menandai string sebagai tidak bersumber daya. Ini penting untuk aplikasi multibahasa.
sumber
NON-NLS
sarana Non - N ational L anguage S upport .Wikipedia mengusulkan juga Non - N ative L anguage S upport (NLS) tapi yang terakhir ini tidak sangat digunakan.
NLS adalah tentang internasionalisasi aplikasi Anda. Eclipse membantu menemukan string yang dikodekan dalam kode Anda. Untuk menunjukkan string bukan bagian dari internasionalisasi, tambahkan komentar di
//$NON-NLS-x$
mana x adalah posisi string. Pada contoh berikut ini, keduanya"!"
adalah string yang dikode-keras bukan bagian dari internasionalisasi:Catatan:
//
diperlukan setiap kali$NON-NLS$
untuk banyak string dalam baris yang sama(mis. jika baris Anda memiliki enam string, Anda harus menulis enam kali
//$NON-NLS-x$
)Buku EMF: Eclipse Modeling Framework di halaman 250 mengatakan:
Untuk lebih jelasnya lihat juga halaman GUI Generator dan Cara Menginternasionalkan Eclipse Plug-In Anda .
Anda dapat mengaktifkan / menonaktifkan fitur ini. Pada Eclipse Neon pergi ke
Project > Properties > Java Compiler > Errors/Warnings
dan pilih bidang
Non-externalized strings (missing/unused $NON-NLS$ tag)
sumber
Jika Anda seorang pengembang Android. Semua string yang mungkin dilihat pengguna harus di file sumber /res/values/strings.xml untuk membaca file strings.xml dalam kode yang Anda gunakan R.string .. Dengan menambahkan tag // $ NON-NLS- $ Anda mencatat bahwa string tidak akan terlihat oleh pengguna.
Peringatan di Eclipse Helios dapat dihidupkan pada
Window -> preferences -> java -> Compiler -> code style -> "Non-externalized Strings (missing/unused &NON-NLS$ tag)
.Jika Anda berencana memprogram aktivitas Anda menjadi multi-bahasa, disarankan untuk mengaktifkannya. Dan kemudian menambahkan tag & NON-NLS $ ke string yang internal untuk aktivitas Anda. Eclipse akan menambahkan & NON-NLS $ tag dalam perbaikan cepat jika Anda mengklik kanan pada peringatan atau kesalahan.
sumber
Ini digunakan oleh Eclipse untuk menunjukkan bahwa string tidak perlu diterjemahkan, mungkin karena itu tidak akan dilihat oleh pengguna aplikasi.
sumber
Ia memberi tahu kompiler untuk tidak mengeluh tentang string yang tidak dieksternalisasi, dan bahwa ia tidak memerlukan pelokalan.
sumber