Yerelleştirme ve uluslararasılaşma arasındaki fark nedir?


208

Kullanıcı arayüzünde birden çok dili desteklemek için bir masaüstü uygulaması hazırlama hakkında bir soru soracaktım.

Konuyla ilgili mevcut soruları araştırmamda "Uluslararası" kelimesini düşünüyordum, bu yüzden Uluslararasılaşma etiketini seçtim ve eşleşen bazı soruları okudum.

Sonunda bunun yerine Yerelleştirme etiketli soruların altına bakmam gerektiğini fark ettim. Ancak bu iki terimi karıştırmakta yalnız değilim.

Peki, Yerelleştirme ve Uluslararasılaşma arasındaki temel farklar nelerdir?

Ayrıca, aralarındaki açık bir ayrım gerçekten bu kadar önemli mi?

Yanıtlar:


232
Uluslararasılaşma (i18n)
yazılımınızı tek bir dile / yerel ayara / kültüre bağlı olmayacak şekilde değiştirme işlemi.
Yerelleştirme (l10n)
belirli bir dilin / yerel ayarın desteklenmesi için yazılımınıza uygun kaynakları ekleme işlemi. Kapsamı sadece bu Wikipedia girişinden daha büyük , ama iyi bir başlangıç.


Bunları ayırt etmenin değeri, (teorik olarak) programınız i18n sürecinden geçtiğinde, birçok l10n işlemini istediğiniz gibi tekrarlayabilirsiniz; ayrıca, dil konusunda kesin olmak güzel.


9
Bunları ayrı ayrı düşünmek için başka nedenler: Uluslararasılaşma KG ve yerelleştirme KG'nin farklı test örnekleri vardır, Uluslararasılaşma bir kerelik bir maliyettir (daha fazla veya daha az) ve bu nedenle yerelleştirdiğiniz daha fazla dil, YG'niz o kadar yüksek olur. i18n genellikle herhangi bir bölgeye l10n'den daha maliyetlidir.
Mike Sickler

@Hank, @Mike, çok yardımcı cevaplar, teşekkürler. Bu yüzden önce uluslararasılaşmaya bakarken haklıydım. Amacım, başlangıçta sadece İngilizce'ye odaklanmama rağmen, uygulama tasarımının gelecekte en azından birden fazla dili destekleyeceğinden emin olmaktır.
Ash

Biraz eski olmasına rağmen , temelde bu ile aynı fikirde olan bu W3C yüksek seviye görünümü .
mkobit

1
Genellikle uluslararasılaşma (i18n), yazılım geliştirici / mühendis tarafından bir kez yapılır; yerelleştirme (l10n) olarak, her pazar için ilgili Dil / Kültür uzmanı tarafından yapılır.
Chetan

70

Apple'a göre :

Uluslararasılaşma , yerelleştirmeyi kolaylaştıracak bir uygulama tasarlama ve oluşturma sürecidir. Yerelleştirme ise, uluslararasılaştırılmış bir uygulamanın iki veya daha fazla kültürel açıdan farklı pazara kültürel ve dilsel olarak uyarlanmasıdır.


32

Uluslararasılaştırma başvurunuzu yerelleştirme için hazırlar . Örneğin, Unicode (daki veritabanında saklanan karakterleri kodjar utf8mb4yerine latin1, dosyaları kaynak dizeleri hareketli,) sağlayan tarih, saat ve para birimi biçimleri vb kullanımını

Örneğin, uygulamanızın Çince bir sürümünü satmak istediğinizde, zh-CN kaynak dosyalarını oluşturmak ve yeni bir tarih / saat / para birimi biçimi kullanmak için bir çevirmen kiralayarak yerelleştirirsiniz.


13

L10n bazen i18n'inizin nerede başarısız olduğunu gösterebilir - örneğin, sözlüklerinizin bir isim olarak kullanılan bir sözcük ve başka bir dilde aynı kelimeye veya UI öğelerine dönüşmeyen İngilizce bir fiil için tek bir girişi olduğu durumlarda / tasarım bir kültür (L / R yönelimi) için uygun değildir.

Bu nedenle, l10n "genellikle" i18n'den sonra olur, ancak i18n'inize geri bildirimde bulunabilir ve daha fazla yeniden tasarım gerektirebilir, bu nedenle birkaç yerelleştirme yapana kadar uygulamanızı tamamen uluslararasılaştırılmış olarak düşünemezsiniz.


11

Wikipedia'ya göre

Uluslararasılaştırma , potansiyel olarak çeşitli dillere ve bölgelere uyarlanabilmesi için bir yazılım uygulaması tasarlama sürecidir without engineering changes.

Yerelleştirme , adapting internationalized softwareyerel ayara özgü bileşenler ekleyerek ve metni çevirerek belirli bir bölge veya dil için yapılan işlemdir .

Ayrıca , yerelleştirme (potansiyel olarak farklı yerel ayarlar için birden çok kez gerçekleştirilir) infrastructure or flexibility provided by internationalization(ideal olarak yalnızca bir kez veya devam eden gelişimin ayrılmaz bir parçası olarak gerçekleştirilir ) kullanır .


8

Küreselleşme (G11n): çok dilli yazılım ürünlerini küresel bir pazara geliştirme ve pazarlama sürecidir.

Çok dilli yazılımın gelişimi şu anda iki aşamadan geçmektedir: ilk aşama uluslararasılaşma, ikinci aşama yerelleştirme.

Uluslararasılaşma (I18n): bir ürünü yeniden tasarlamaya gerek kalmadan birden çok dili ve kültürel konvansiyonu (yani dil ve kültürden bağımsız) ele alabilecek şekilde genelleme sürecidir.

Yerelleştirme (L10n): Bir ürünü alıp, kullanılacak ve satılacağı hedef yerel ayara (ülke / bölge ve dil) (dil ve kültüre özgü) dilsel ve kültürel olarak uygun hale getirme işlemidir.


8

Çok fazla cevap, çok fazla doğru bilgi, ama cevabım başka bir bakış açısı.

Uluslararasılaştırma - geliştiricinin kodda doğrudan mesajlar / hata mesajları / düğmeler adları / etiket başlıkları / vb. Bulunmadığı, ancak çeviri işlevine geçirilen bir anahtarı olduğu ve geçerli kullanıcının yerel ayarına göre çeviri işlevi son metni döndüreceği zamandır. ingilizce / fransa / etc ...
Çeviri işlevi depolama ile çalışır (db / dosya / ilişkisel dizi / vb).
Depolama , coode'da kullanılan anahtarlar ve uygulamanın desteklediği belirli dilde metinler olan değerler içerir.

Yerelleştirme - geliştiriciyi bu sürece dahil etmeden depolamaya anahtarlara uygun yeni dilde (örneğin İspanya) yeni değerler ekleme işlemidir.

Örneğin, depolama alanımız var:

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

Kod confirm(t(agree));yerine kullandığı uluslararasılaştırma confirm("I agree");veya confirm("Sono d'accordo");
Yerelleştirme gibi bir şey - depolama alanımıza yeni yerel ayarlar ekler, örneğin:

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

ve burada geliştirici güncelleme koduna ihtiyaç duymaz, çeviri fonksiyonu uygun metinleri doğru şekilde taşır.


3
Anlaması çok kolay.
Vinh Nguyen

1
Harika örnekler!
Jinjinov

6

Aşağıdaki tanımlara uymanız çok basit,

i18n (uluslararası) olduğu

uygulama programlı değişikliğine başvurmadan farklı bir dile geçme işlevselliğine sahip olacak şekilde bir uygulama tasarlama işlemi .

l10n (yer tespiti) olduğu

arasında işleyecek oluşturarak fiili dile özgü metinleri ve biçimlendirme .


3

Burada birkaç iyi cevap var, bu yüzden onları geri dönüştürmeyeceğim. Bununla birlikte, bir noktada, tipik olarak uluslararasılaştırma testi ile yerelleştirme arasında dilsel test, uluslararasılaşma ve yerelleştirme çakışır. Bir kişi l10n'den uluslararasılaştırmaya geri bildirimde bulunduğundan bahsediyor, ancak kaliteli i18n testi yapıyor ve sahte yerelleştirilmiş içerik oluşturuyorsanız, yerelleştirme sırasında geliştirme sorunları üzerinde yineleme kural değil istisna olmalıdır. Arayüzü yeniden boyutlandırma ve özellikle sayfaları Arapça ve İbranice gibi çift yönlü dilleri destekleyecek şekilde uyarlama, hem yerelleştirme sorunlarını hem de uluslararasılaştırma mühendisliğini harmanlama eğilimindedir.

Uluslararasılaşma, gerekliliklere dayalı olarak herhangi bir yerel ayarı desteklemek için kaynakta değişiklikler yapılmasını gerektirir. Uluslararasılaşma iyi yapılırsa ...

... Yerelleştirme, içeriğin ve bazı sunum düzeylerinin (örn. Kalın bir etiket) uyarlanmasını içerir, böylece belirli hedeflenen pazarların (yerel ayarlar) ihtiyaçlarını en iyi şekilde karşılar.

Burada referans olması için çok sayıda makale ve teknik inceleme: http://www.lingoport.com/software-internationalization-articles


3

Uluslararasılaştırma - i18n - Bir uygulamanın herhangi bir dil / kültürden soyutlanması.

Yerelleştirme - l10n- Belirli bir dil / kültür / bölge için somut desteğin yukarıdaki i18n çerçevesine eklenmesi.

Temelde ilk önce i18n yaparak l10n'yi daha az PITA yaparsınız.

Buna karşılık, önce somut bir yerde bir uygulama oluşturursanız ve daha sonra onu uluslararasılaştırmaya çalışırsanız, büyük bir PITA olacaktır. Sadece somut bir ingiliz dizesini değiştirmenin basit bir sorunu değil Resource.Global.HelloWorld'e "Merhaba Dünya" deyin.

Farklı diller farklı alan gereksinimleri, düzen, vurgu, renkler vb.

Birden fazla yerel ayarı desteklemeniz gerekebileceğini düşünüyorsanız , yukarıdaki farklılıklar için yerel ayarlar arasındaki bu geçişi kolayca desteklemek için sıfırdan başlayarak yerinde i18n çerçevesine ihtiyacınız vardır.

Daha sonra uygulamaya uyarlanması gerçekten zordur. Siz (veya bir başkası) ilk seferinde yaptığınız bir dizi mimari düşünceyi ve kısıtlamayı tekrar gözden geçirmeniz gerekecek.


2

Yerelleşmenin uluslararasılaşma olmadan gidebileceğini hissediyorum ama .. yerelleştirme ile uluslararasılaşma yapılmamalıdır ...


2

analog pov: Kütüphanenizde sadece 4x4 inç boyutunda bir kitap alabilen bir raf düşünün. Uluslararasılaşma, rafı herhangi bir kitap boyutunu veya şeklini idare edebilecek her türlü farklı bölme ile inşa etmek olacaktır. Ve yerelleştirme tüm kitapları doğru bölümlere yerleştiriyor olacaktı. Veritabanınızı, iş mantığınızı ve kullanıcı arayüzünüzü raf, farklı diller, para birimleri ve metin yönelimini kitaplar olarak düşünün.


2

Anlamaya Sağlar yerel ilk

locale - kullanıcının dilini, bölgesini ve kullanıcının kullanıcı arayüzlerinde görmek istediği özel değişken tercihlerini tanımlayan bir dizi parametre. Genellikle bir yerel ayar tanımlayıcısı en az bir dil tanımlayıcısı ve bir bölge tanımlayıcısından oluşur.

i18n - Birden fazla yerel ayarı desteklemek için yazılım tasarlama ve geliştirme.

l10n - Bu yalnızca yazılımınız i18n'yi destekliyorsa mümkündür. Ancak l10n, dilin, tarih biçiminin, para birimi biçimlerinin vb. Belirli bir yerel ayar için bağlamda gösterilmesini sağlar.

Örneğin,

# 1. 3 Haziran 1977, 3 de junio de 1977 olarak İspanyolcaya çevrilecek.

# 2. Bazı ülkelerdeki para birimleri '.' İle ayrılır. vs ','

3.. Yerel ayarın ülkesine göre ilgili para birimi simgesini göster

# 1, # 2 ve # 3, yerelleştirme için kullanım durumlarıdır.

Yazılım, kullanıcı yerel ayarına dayalı olarak # 1 VEYA # 2 VEYA # 3'ü destekleyecek şekilde tasarlanmışsa , ürün l10n etkinleştirilir.

Birden fazla yerel ayarı destekliyorsa, i18n etkinleştirilir.


1

basitçe,

Uluslararasılaşma (I18N) , yazılımınızın farklı dillere, bölgelere ve kültürlere uyum sağlayabilmesini sağlayan bir süreçtir.

Yerelleştirme (L10N) , yazılımınızı birden çok dile çevirme işlemidir. Ancak yazılımınızı yerelleştirmeden önce uluslararası hale getirirsiniz.


-1

İ18n ve l10n'nin birçok tanımı vardır. Kullandığım:

uluslararasılaştırma (i18n) : uygulamanızın dile özel uyarlaması (çeviri)

yerelleştirme (l10n) : uygulamanızın yerel ayarlarına göre uyarlanması (para, sayı biçimi, tarih biçimi ...).

Örneğin, Fransa ve İsviçre'de dağıtılan bir uygulama için aynı dile sahip olabiliriz (ikimiz de fransızca konuşuyoruz, en azından İsviçre'nin bazı bölgelerinde), ancak EUR'yu CHF'ye değiştirmek için yine de bazı uyarlamalara ihtiyacımız olacak.

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.