Lokalisasi dan internasionalisasi, apa bedanya?

208

Saya akan mengajukan pertanyaan tentang menyiapkan aplikasi desktop untuk mendukung banyak bahasa di UI.

Dalam pencarian saya untuk pertanyaan yang ada pada topik saya memikirkan kata "Internasional", jadi saya memilih tag Internasionalisasi dan membaca beberapa pertanyaan yang cocok.

Akhirnya saya menyadari bahwa saya mungkin harus mencari di bawah pertanyaan yang ditandai Lokalisasi. Namun sepertinya saya tidak sendirian dalam menggabungkan kedua istilah ini.

Jadi, apa perbedaan utama antara Lokalisasi dan Internasionalisasi?

Juga, apakah perbedaan yang jelas di antara mereka benar-benar penting?

Abu
sumber

Jawaban:

232
Internasionalisasi (i18n)
proses mengubah perangkat lunak Anda sehingga tidak bawaan untuk satu bahasa / lokal / budaya.
Lokalisasi (1010n)
proses menambahkan sumber daya yang sesuai ke perangkat lunak Anda sehingga bahasa / lokal tertentu didukung. Ini memiliki cakupan yang lebih besar dari sekadar entri Wikipedia ini , tapi ini awal yang baik.


Nilai yang membedakan mereka adalah bahwa (secara teoritis) setelah program Anda melewati proses i18n, Anda kemudian dapat mengulangi banyak proses l10n sesuai kebutuhan Anda; juga, lebih baik untuk lebih tepat dengan bahasa.

Hank Gay
sumber
9
Beberapa alasan lain untuk memikirkannya secara terpisah: QA Internasionalisasi dan QA pelokalan memiliki kasus uji yang berbeda, Internasionalisasi adalah biaya satu kali (lebih atau kurang), dan semakin banyak bahasa yang Anda gunakan, semakin tinggi ROI Anda. i18n umumnya lebih mahal daripada l10n untuk satu lokal.
Mike Sickler
@ Terima kasih, @ Mike, jawaban yang sangat membantu, terima kasih. Jadi saya benar dalam memandang internasionalisasi dulu. Tujuan saya adalah memastikan desain aplikasi setidaknya akan mendukung beberapa bahasa di masa depan, bahkan jika pada dasarnya saya hanya fokus pada bahasa Inggris.
Ash
Meskipun agak tua, level tinggi W3C ini memandang tinggi yang pada dasarnya setuju dengan ini.
mkobit
1
Umumnya internasionalisasi (i18n) dilakukan oleh pengembang perangkat lunak / insinyur satu kali, sedangkan lokalisasi (l10n) dilakukan oleh spesialis Bahasa / Budaya masing-masing untuk setiap pasar.
Chetan
70

Menurut Apple :

Internasionalisasi adalah proses merancang dan membangun aplikasi untuk memfasilitasi lokalisasi. Lokalisasi , pada gilirannya, adalah adaptasi budaya dan linguistik dari aplikasi yang diinternasionalkan ke dua atau lebih pasar yang berbeda secara budaya.

mouviciel
sumber
32

Internasionalisasi mempersiapkan aplikasi Anda untuk pelokalan. Misalnya, Anda dapat menyandikan karakter yang disimpan dalam database Anda di Unicode ( utf8mb4alih-alih latin1), memindahkan string ke file sumber daya, memungkinkan penggunaan format tanggal, waktu dan mata uang, dll.

Ketika Anda ingin menjual, misalnya, versi Cina dari aplikasi Anda, Anda kemudian akan melokalisasinya dengan menyewa penerjemah untuk membangun file sumber daya zh-CN, dan menggunakan format tanggal / waktu / mata uang baru.

Mark Brackett
sumber
13

L10n kadang-kadang dapat menunjukkan di mana i18n Anda gagal - misalnya, di mana kamus Anda memiliki satu entri untuk kata yang digunakan sebagai kata benda dan kata kerja dalam bahasa Inggris yang tidak menerjemahkan ke kata yang sama dalam bahasa lain, atau elemen UI / desain tidak cocok untuk suatu budaya (orientasi L / R).

Jadi l10n "umumnya" terjadi setelah i18n, tetapi dapat memberi umpan balik ke i18n Anda dan memerlukan pendesainan ulang lebih lanjut, sehingga Anda tidak dapat mempertimbangkan aplikasi Anda sepenuhnya diinternasionalisasi sampai Anda telah melakukan beberapa pelokalan.

Cade Roux
sumber
11

Menurut Wikipedia

Internasionalisasi adalah proses merancang aplikasi perangkat lunak sehingga berpotensi dapat diadaptasi ke berbagai bahasa dan wilayah without engineering changes.

Pelokalan adalah proses adapting internationalized softwareuntuk wilayah atau bahasa tertentu dengan menambahkan komponen khusus lokal dan menerjemahkan teks.

Juga , Pelokalan (yang berpotensi dilakukan beberapa kali, untuk lokasi yang berbeda) menggunakan infrastructure or flexibility provided by internationalization(yang idealnya dilakukan hanya sekali, atau sebagai bagian integral dari pembangunan berkelanjutan).

Asik
sumber
8

Globalisasi (G11n): adalah proses pengembangan dan pemasaran produk perangkat lunak multibahasa ke pasar global.

Pengembangan perangkat lunak multibahasa saat ini melewati dua fase: fase pertama adalah internasionalisasi, dan fase kedua adalah lokalisasi.

Internasionalisasi (I18n): adalah proses menggeneralisasi suatu produk sehingga dapat menangani berbagai bahasa dan konvensi budaya tanpa perlu mendesain ulang (yaitu bahasa & budaya netral).

Lokalisasi (L10n): adalah proses mengambil produk dan membuatnya sesuai secara bahasa dan budaya dengan target lokal (negara / wilayah dan bahasa) di mana ia akan digunakan dan dijual (yaitu bahasa & budaya khusus).


sumber
8

Banyak jawaban, banyak informasi yang benar, tetapi jawaban saya sedikit berbeda.

Internasionalisasi - ini terjadi ketika pengembang tidak memiliki kode pesan langsung / pesan kesalahan / nama tombol / label keterangan / dll dalam bahasa tertentu tetapi memiliki kunci yang diteruskan ke fungsi terjemahan, dan fungsi terjemahan sesuai dengan lokal pengguna saat ini akan mengembalikan teks akhir dalam bahasa inggris / france / etc ...
Fungsi terjemahan berfungsi dengan penyimpanan (db / file / associative array / etc).
Penyimpanan berisi kunci - kunci yang digunakan dalam coode, dan nilai-nilai, yang merupakan teks-teks dalam bahasa tertentu yang didukung aplikasi.

Lokalisasi - ini adalah proses menambahkan nilai-nilai baru dalam bahasa baru (misalnya Spanyol) yang sesuai untuk kunci ke penyimpanan tanpa melibatkan pengembang dalam proses ini.

Misalnya, kami memiliki penyimpanan:

key   | english    | italian           |
------+------------+-------------------+
title | Welcome    | Benvenuto         |
agree | I agree    | Sono d'accordo    |
thank | Thank you  | Grazie            |

Internasionalisasi yang digunakannya dalam kode seperti confirm(t(agree));bukan confirm("I agree");atau confirm("Sono d'accordo");
Pelokalan - ini menambahkan lokal baru ke penyimpanan kami, seperti:

key   | english    | italian           | spanish          |
------+------------+-------------------+------------------+
title | Welcome    | Benvenuto         | Bienvenido       |
agree | I agree    | Sono d'accordo    | Estoy de acuerdo |
thank | Thank you  | Grazie            | Gracias          |

dan di sini pengembang tidak perlu kode pembaruan, fungsi terjemahan akan membawa teks yang sesuai dengan benar.

V. Kovpak
sumber
3
Sangat mudah dimengerti.
Vinh Nguyen
1
Contoh yang bagus!
Jinjinov
6

Ini sangat sederhana jika Anda pergi dengan definisi di bawah ini,

i18n (internasionalisasi) adalah

proses merancang aplikasi sehingga memiliki fungsi untuk berubah ke bahasa yang berbeda tanpa menggunakan perubahan terprogram aplikasi.

l10n (lokalisasi) adalah

memproses dari menciptakan satu teks bahasa-spesifik aktual dan format .

Prateek Joshi
sumber
3

Ada beberapa jawaban yang sangat bagus di sini, jadi saya tidak akan mendaur ulangnya. Namun pada titik tertentu, biasanya antara pengujian internasionalisasi dan pengujian linguistik lokalisasi, internasionalisasi dan lokalisasi cenderung tumpang tindih. Satu orang menyebutkan 10n memberi umpan balik ke internasionalisasi, tetapi jika Anda melakukan pengujian kualitas i18n, dan membuat konten lokal semu, maka iterasi pada isu-isu pembangunan selama pelokalan harus menjadi pengecualian, bukan aturan. Mengubah ukuran antarmuka, dan terutama mengadaptasi halaman untuk mendukung bahasa dua arah seperti Bahasa Arab dan Bahasa Ibrani juga cenderung memadukan masalah lokalisasi dan rekayasa internasionalisasi.

Cukuplah untuk mengatakan, Internasionalisasi melibatkan membuat perubahan pada sumber untuk mendukung setiap lokal berdasarkan persyaratan. Jika internasionalisasi dilakukan dengan baik ...

... Pelokalan melibatkan adaptasi konten dan beberapa tingkat presentasi (mis. Tag tebal) sehingga yang terbaik mengatasi kebutuhan pasar yang ditargetkan spesifik (lokal).

Banyak artikel & kertas putih untuk referensi di sini: http://www.lingoport.com/software-internationalization-articles

Adam
sumber
3

Internasionalisasi - i18n - Abstraksi aplikasi dari bahasa / budaya tertentu.

Lokalisasi - l10n- Memasukkan dukungan konkret untuk bahasa / budaya / lokal tertentu ke kerangka i18n di atas.

Pada dasarnya dengan melakukan i18n pertama Anda membuat P10 jauh lebih sedikit.

Sebaliknya jika Anda membuat aplikasi di lokasi konkret terlebih dahulu dan kemudian mencoba menginternasionalkannya, itu akan menjadi PITA besar. Ini bukan masalah sederhana dengan hanya menukar string bahasa Inggris konkret mengatakan "Hello World" ke Resource.Global.HelloWorld.

Bahasa yang berbeda akan memiliki kebutuhan ruang, tata letak, penekanan, warna yang berbeda, dll.

Anda memerlukan kerangka i18n di tempat dari bawah ke atas untuk dengan mudah mendukung peralihan antar lokal ini untuk perbedaan di atas jika Anda bahkan berpikir Anda mungkin perlu mendukung lebih dari satu lokal.

Pemasangan kembali ke aplikasi nanti sangat sulit. Anda harus mengunjungi kembali seluruh pertimbangan arsitektur dan kendala yang Anda (atau orang lain) buat untuk pertama kalinya.

rism
sumber
2

Saya merasa lokalisasi bisa berjalan tanpa internasionalisasi tetapi .. internasionalisasi dengan lokalisasi tidak boleh dilakukan ...


sumber
2

analogical pov: Bayangkan sebuah rak di perpustakaan Anda yang hanya dapat mengambil satu buku ukuran 4x4 inci. Internasionalisasi akan membangun rak dengan semua jenis kompartemen berbeda yang dapat memungkinkannya untuk menangani ukuran atau bentuk buku apa pun. Dan lokalisasi akan mengatur semua buku di bagian yang tepat. Pikirkan Basis Data, logika bisnis, dan UI Anda sebagai rak dan berbagai bahasa, mata uang, dan orientasi teks sebagai buku.

Izz
sumber
2

Mari kita pahami lokal terlebih dahulu

locale - seperangkat parameter yang mendefinisikan bahasa pengguna, wilayah dan preferensi varian khusus apa pun yang ingin dilihat pengguna di antarmuka pengguna. Biasanya pengidentifikasi lokal setidaknya terdiri dari pengidentifikasi bahasa dan pengidentifikasi wilayah.

i18n - Merancang dan mengembangkan perangkat lunak untuk mendukung banyak lokal.

l10n - Ini hanya mungkin jika perangkat lunak Anda mendukung i18n. Tapi l10n memastikan, bahwa bahasa, format tanggal, format mata uang dll ditampilkan dalam konteks untuk lokal tertentu.

Sebagai contoh,

# 1. 3 Juni 1977 akan diterjemahkan ke dalam bahasa Spanyol sebagai 3 de junio de 1977.

# 2. Mata uang di beberapa negara dipisahkan oleh '.' vs ','

# 3. Tampilkan simbol mata uang masing-masing berdasarkan negara setempat

# 1, # 2 dan # 3 adalah kasus penggunaan untuk pelokalan.

Jika perangkat lunak dirancang untuk mendukung # 1 ATAU # 2 ATAU # 3 berdasarkan pengguna-lokal, maka produk diaktifkan.

Jika mendukung banyak lokal, maka i18nnya diaktifkan.

Faiz Mohamed Haneef
sumber
1

Secara sederhana,

Internasionalisasi (I18N) adalah proses membuat perangkat lunak Anda dapat beradaptasi dengan berbagai bahasa, wilayah, dan budaya.

Lokalisasi (L10N) adalah proses menerjemahkan perangkat lunak Anda ke berbagai bahasa. Tetapi sebelum Anda dapat melokalkan perangkat lunak Anda, Anda menginternasionalkannya.

Sagar Thummar
sumber
-1

Ada banyak definisi i18n dan l10n. Yang saya gunakan adalah:

internasionalisasi (i18n) : adaptasi khusus bahasa aplikasi Anda (terjemahan)

lokalisasi (l10n) : adaptasi spesifik lokal aplikasi Anda (uang, format angka, format tanggal ...).

Misalnya, kita dapat memiliki bahasa yang sama untuk aplikasi yang didistribusikan di Prancis dan Swiss (kami berdua berbicara bahasa Prancis, setidaknya di beberapa bagian Swiss), tetapi kami masih memerlukan beberapa adaptasi untuk mengubah EUR ke CHF.

Guillaume
sumber