İçeriğe atla

Uluslararasılaştırma ve yerelleştirme

Vikipedi, özgür ansiklopedi
Çoğunlukla Çince(Geleneksel) dilinde yerelleştirilmiş TDE yazılım programlarının ekran görüntüsü.

Bilgi işlemde, uluslararasılaştırma ve yerelleştirme, genellikle i18n (internationalization) ve L10n (localization) olarak kısaltılır,[1] bilgisayar yazılımını farklı dillere, bölgesel özelliklere ve bir hedef yerel ayarın teknik gereksinimlerine uyarlamanın araçlarıdır.[2] Uluslararasılaştırma, bir yazılım uygulamasının mühendislik değişiklikleri olmaksızın çeşitli dillere ve bölgelere uyarlanabilmesi için tasarlama sürecidir. Yerelleştirme, metni çevirerek ve yerel ayara özel bileşenler ekleyerek uluslararasılaştırılmış yazılımı belirli bir bölge veya dile uyarlama sürecidir. Yerelleştirme (potansiyel olarak farklı yerel ayarlar için birden çok kez gerçekleştirilir), uluslararasılaştırmanın sağladığı altyapıyı veya esnekliği kullanır (ideal olarak yerelleştirmeden önce yalnızca bir kez veya devam eden geliştirmenin ayrılmaz bir parçası olarak gerçekleştirilir).[3]

Terimler sıklıkla i18n numeronimiyle kısaltılır (burada 18, 1970'lerde veya 1980'lerde Digital Equipment Corporation'da ortaya atılan bir kullanım olan "internationalization" sözcüğündeki ilk i ile son n arasındaki harf sayısını ifade eder)[4][5] ve kelimelerin uzunluğundan dolayı localization, L10n şeklinde kısaltılır.[1][6] Bazı yazarlar, ikisini ayırt etmeye yardımcı olmak için ikinci kısaltmayı büyük harfle yazmıştır.[7]

IBM ve Oracle gibi bazı şirketler, uluslararasılaştırma ve yerelleştirmenin birleşimi için küreselleşme, g11n(globalization) terimini kullanır.[8]

Microsoft, uluslararasılaştırmayı dünyaya hazır olma ve yerelleştirmenin bir birleşimi olarak tanımlar. Dünyaya hazır olma, bir ürünün birden çok komut dosyası ve kültürle kullanılmasını (küreselleşme) ve kullanıcı arabirimi kaynaklarını yerelleştirilebilir bir biçimde ayırmasını (yerelleştirilebilirlik(localizability), L12y olarak kısaltılır) sağlayan bir geliştirici görevidir.[9][10]

Hewlett-Packard ve HP-UX, yerelleştirilebilir yazılımlar üretmek için "National Language Support" veya "Native Language Support" (NLS) adlı bir sistem oluşturdu.[2]

Uluslararasılaşma ve yerelleştirme süreci
(LISA web sitesindeki bir çizelgeye göre)

Software without frontiers'a göre, bir ürünü uluslararası hale getirirken göz önünde bulundurulması gereken tasarım unsurları "veri kodlama, veri ve dokümantasyon, yazılım yapımı, donanım cihaz desteği, kullanıcı etkileşimi"; tamamen uluslararasılaştırılmış bir ürünü sıfırdan oluştururken göz önünde bulundurulması gereken temel tasarım alanları "kullanıcı etkileşimi, algoritma tasarımı ve veri formatları, yazılım hizmetleri, dokümantasyon"dur.[2]

Çeviri, genellikle dil yerelleştirmesinin en çok zaman alan bileşenidir.[2] Bu şunları içerebilir:

  • Film, video ve ses için, genellikle dublaj veya altyazı kullanarak konuşulan kelimelerin veya müzik sözlerinin çevirisi
  • Basılı materyaller, dijital medya için metin çevirisi (muhtemelen hata mesajları ve belgeler dahil)
  • Çeviriler veya genel simgeler içerecek şekilde metin içeren görüntüleri ve logoları potansiyel olarak değiştirme[2]
  • Farklı çeviri uzunlukları ve karakter boyutlarındaki farklılıklar (örneğin Latin alfabesindeki harfler ve Çince karakterler arasındaki), bir dilde iyi çalışan düzenlerin diğerlerinde kötü çalışmasına neden olabilir[2]
  • Lehçe, sicil veya çeşit farklılıklarının dikkate alınması[2]
  • Aşağıdaki gibi yazma kuralları:

Standart yerel ayar verileri

[değiştir | kaynağı değiştir]

Bilgisayar programları dinamik olarak içerik üretebildiğinden, bilgisayar yazılımları kelimelerin ve ifadelerin basit çevirilerinin ötesinde farklılıklarla karşılaşabilir. Bu farklılıkların çeviriye hazırlanırken uluslararasılaştırma sürecinde dikkate alınması gerekebilir. Bu farklılıkların çoğu o kadar düzenlidir ki, diller arasındaki bir dönüşüm kolayca otomatikleştirilebilir. Unicode'un Ortak Yerel Ayar Veri Havuzu(Common Locale Data Repository), bu tür farklılıkların bir koleksiyonunu sağlar. Verileri Microsoft Windows, macOS ve Debian dahil olmak üzere büyük işletim sistemleri ve Google ve Wikimedia Foundation gibi büyük İnternet şirketleri veya projeleri tarafından kullanılmaktadır. Bu tür farklılıkların örnekleri şunları içerir:

  • Farklı yazı sistemlerindeki farklı "komut dosyaları" farklı karakterler kullanır - farklı bir harf, hece, logogram veya sembol seti. Modern sistemler, birçok farklı dili tek bir karakter kodlamasıyla temsil etmek için Unicode standardını kullanır.
  • Yazma yönü çoğu Avrupa dilinde soldan sağa, İbranice ve Arapçada sağdan sola veya boustrophedon yazılarında her ikisinde de ve isteğe bağlı olarak bazı Asya dillerinde dikeydir.[2]
  • Karakterlerin bağlama göre şekil değiştirdiği diller için karmaşık metin düzeni
  • Bazı komut dosyalarında büyük harf kullanımı vardır, diğerlerinde yoktur
  • Farklı dillerin ve yazı sistemlerinin farklı metin sıralama kuralları vardır.
  • Farklı diller farklı sayı sistemlerine sahiptir; bu, Batı Arap rakamları kullanılmadığında desteklenmesi gerekebilir.
  • Farklı dillerin, sayısal içeriği dinamik olarak görüntüleyen programları karmaşıklaştırabilecek farklı çoğullaştırma kuralları vardır.[11] Diğer dilbilgisi kuralları da değişebilir, örneğin tamlama .
  • Farklı diller farklı noktalama işaretleri kullanır (örneğin, İngilizcedeki gibi çift tırnak (" ") veya guillemet («) kullanarak metinden alıntı yapmak ») Fransızcada olduğu gibi)
  • Klavye kısayolları, yalnızca yerelleştirilmekte olan klavye düzeni üzerindeki düğmeleri kullanabilir. Bir kısayol belirli bir dildeki bir kelimeye karşılık geliyorsa (örn. Ctrl-s İngilizcede "kaydet" anlamına gelir), değiştirilmesi gerekebilir.[12]

Ulusal sözleşmeler

[değiştir | kaynağı değiştir]

Farklı ülkeler, aşağıdakiler de dahil olmak üzere farklı standartlara sahiptir:

Özellikle Amerika Birleşik Devletleri ve Avrupa bu vakaların çoğunda farklılık göstermektedir. Diğer alanlar genellikle bunlardan birini takip eder.

Çevrimiçi haritalar, hava durumu raporları veya ödeme hizmeti sağlayıcıları gibi belirli üçüncü taraf hizmetleri, dünya çapında aynı taşıyıcılardan veya hiç mevcut olmayabilir.

Zaman dilimleri dünya çapında farklılık gösterir ve bir ürün orijinal olarak yalnızca tek bir zaman dilimindeki insanlarla etkileşime girdiyse bu dikkate alınmalıdır. Uluslararasılaştırma için, UTC genellikle dahili olarak kullanılır ve ardından görüntüleme amacıyla yerel bir saat dilimine dönüştürülür.

Farklı ülkelerin farklı yasal gereksinimleri vardır, örneğin:

  • Mevzuata uygunluk, belirli bir yargı yetkisi için özelleştirme veya bir bütün olarak üründe aşağıdakiler gibi bir değişiklik gerektirebilir:
    • Gizlilik yasasına uygunluk
    • Bir web sitesinde veya ambalajında ek sorumluluk reddi beyanları
    • Farklı tüketici etiketleme gereksinimleri
    • İhracat kısıtlamalarına ve şifrelemeye ilişkin düzenlemelere uygunluk
    • İnternet sansür rejimine veya mahkeme celbi prosedürlerine uygunluk
    • Erişilebilirlik gereksinimleri
    • Satış vergisi, katma değer vergisi veya gümrük vergileri gibi farklı vergilerin tahsil edilmesi
    • Haritalarda gösterilen coğrafi adlandırma anlaşmazlıkları ve tartışmalı sınırlar gibi farklı siyasi konulara duyarlılık (örneğin, Hindistan, Keşmir ve diğer bölgelerin hükümet tarafından amaçlandığı şekilde gösterilmemesini suç haline getirecek bir yasa tasarısı önerdi[13][14][15])
  • Devlet tarafından atanan numaraların farklı biçimleri vardır (pasaportlar, Sosyal Güvenlik Numaraları ve diğer ulusal kimlik numaraları gibi)

Yerelleştirme ayrıca aşağıdakiler gibi kültür farklılıklarını da hesaba katabilir:

  • Yerel tatiller
  • Kişisel ad ve unvan kuralları
  • Estetik
  • Görüntülerin ve renk sembolizminin anlaşılırlığı ve kültürel uygunluğu
  • İnsanların etnik köken, giyim ve sosyoekonomik durumu ve resimde görülen yerlerin mimarisi
  • Japon kültüründe sosyal tabular, popüler yerel dinler veya kan grupları gibi batıl inançlar gibi yerel gelenek ve görenekler ve diğer kültürlerdeki astrolojik işaretler

Yazılımı uluslararası hale getirmek için iş süreci

[değiştir | kaynağı değiştir]

Bir ürünü uluslararası hale getirmek için, ürünün öngörülebilir şekilde gireceği çeşitli pazarlara bakmak önemlidir.[2] Sokak adresleri için alan uzunluğu, adres için benzersiz biçim, posta kodu alanını posta kodu olmayan ülkelere adreslemek için isteğe bağlı hale getirebilme veya eyaletleri olmayan ülkeler için eyalet alanı gibi ayrıntılar ve ayrıca yeni kaydın tanıtılması yerel yasalara bağlı akışlar, uluslararasılaştırmayı karmaşık bir proje haline getiren örneklerden sadece birkaçıdır.[7][16] Daha geniş bir yaklaşım, örneğin iş süreci mantığının uyarlanması veya bireysel kültürel (davranışsal) yönlerin dahil edilmesi ile ilgili kültürel faktörleri hesaba katar.[2][17]

Daha 1990'larda, Bull gibi şirketler tüm çeviri faaliyetleri için büyük ölçekte makine çevirisini (Systran) kullandılar: insan çevirmenler ön düzenlemeyi (girdiyi makine tarafından okunabilir hale getirme) ve son düzenlemeyi ele aldılar.[2]

Hem mevcut bir yazılımı yeniden tasarlarken hem de yeni bir uluslararasılaştırılmış yazılım tasarlarken, uluslararasılaştırmanın ilk adımı, potansiyel olarak yerel ayara bağlı her bir parçayı (kod, metin veya veri) ayrı bir modüle bölmektir.[2] Her modül daha sonra standart bir kitaplığa/bağımlılığa dayanabilir veya her yerel ayar için gerektiğinde bağımsız olarak değiştirilebilir.

Geçerli geçerli uygulama, uygulamaların gerektiğinde program yürütme sırasında yüklenen kaynak dizelerine metin yerleştirmesidir.[2] Kaynak dosyalarında saklanan bu dizelerin çevrilmesi nispeten kolaydır. Programlar genellikle seçilen yerel ayar verilerine bağlı olarak kaynak kitaplıklarına başvurmak üzere oluşturulur.

Çevrilebilir ve çevrilmiş dizeler için depolama, dizelere mesaj adı verildiğinden bazen mesaj kataloğu[2] olarak da adlandırılır. Katalog genellikle belirli bir yerelleştirme formatında bir dizi dosyadan ve söz konusu formatı işlemek için standart bir kitaplıktan oluşur. Buna yardımcı olan bir yazılım kitaplığı ve formatı gettext'tir .

Bu nedenle, birden çok dili destekleyecek bir uygulama elde etmek için uygulama, çalışma zamanında ilgili dil kaynak dosyasını seçecek şekilde tasarlanır. Veri girişi doğrulamasını yönetmek için gereken kod ve yerel ayara duyarlı diğer birçok veri türü de farklı yerel ayar gereksinimlerini desteklemelidir. Modern geliştirme sistemleri ve işletim sistemleri, bu türlerin uluslararası desteği için gelişmiş kitaplıklar içerir, ayrıca yukarıdaki Standart yerel ayar verilerine bakın.

Birçok yerelleştirme sorunu (örneğin yazma yönü, metin sıralama), yazılımda metin çevirisinden daha derin değişiklikler gerektirir. Örneğin, OpenOffice.org bunu derleme anahtarlarıyla başarır.

Bir küreselleştirme yöntemi, planlamadan sonra üç uygulama adımını içerir: uluslararasılaştırma, yerelleştirme ve kalite güvencesi.[2]

Geliştirme ekipleri, bir dereceye kadar (örneğin kalite güvencesi için), sürecin temel/merkezi aşamalarını yöneten ve daha sonra diğerlerini etkinleştiren birini içerir.[2] Bu kişiler tipik olarak yabancı dilleri ve kültürleri anlar ve bazı teknik altyapıya sahiptir. Uzman teknik yazarların, yerelleştirme öğelerini dağıtmak ve test etmek için mühendislik kaynaklarıyla birlikte, potansiyel olarak karmaşık kavramlar için kültürel olarak uygun bir sözdizimi oluşturması gerekir.

Düzgün bir şekilde uluslararası hale getirildikten sonra, yazılım yerelleştirme için daha merkezi olmayan modellere güvenebilir: ücretsiz ve açık kaynaklı yazılımlar genellikle, bazen ekipler halinde organize edilen son kullanıcılar ve gönüllüler tarafından kendi kendine yerelleştirmeye dayanır.[18] Örneğin KDE3 projesi 100'den fazla dile çevrildi; 270 dilde MediaWiki, 100'ü (2016 (2016) itibarıyla) çoğunlukla tamamlandı.[19]

Mevcut metni diğer dillere çevirirken, ürünün kullanım ömrü boyunca metinlerin paralel versiyonlarını korumak zordur.[20] Örneğin, kullanıcıya görüntülenen bir mesaj değiştirilirse, çevrilen tüm sürümlerin değiştirilmesi gerekir.

Ticari hususlar

[değiştir | kaynağı değiştir]

Ticari bir ortamda, yerelleştirmenin avantajı daha fazla pazara erişimdir. 1980'lerin başında, Lotus 1-2-3, program kodunu ve metnini ayırmak iki yıl sürdü ve Avrupa'da Microsoft Multiplan üzerindeki pazar liderliğini kaybetti.[2] MicroPro, Batı Almanya pazarı için Avusturyalı bir tercüman kullanmanın WordStar belgelerinin bir yöneticinin "olması gereken tonda" olmamasına neden olduğunu tespit etti.[21]

Bununla birlikte, mühendisliğin çok ötesine geçen önemli maliyetler söz konusudur. Ayrıca, ticari operasyonlar, genellikle tamamen farklı para birimlerinde, düzenleyici ortamlarda ve vergi rejimlerinde satılan çok sayıda ayrı yerelleştirilmiş ürünün üretimini, depolanmasını ve dağıtımını yönetmek için uyum sağlamalıdır.

Son olarak, yerelleştirilmiş ürünler için müşterileri desteklemek için satış, pazarlama ve teknik destek de yeni dillerde kendi operasyonlarını kolaylaştırmalıdır. Özellikle nispeten küçük dil popülasyonları için, yerelleştirilmiş bir ürün sunmak asla ekonomik olarak uygun olmayabilir. Büyük dil popülasyonlarının belirli bir ürün için yerelleştirmeyi haklı çıkarabileceği ve bir ürünün iç yapısının yerelleştirmeye zaten izin verdiği durumlarda bile, belirli bir yazılım geliştiricisi veya yayıncısı, birden çok yerel ayarda çalışmakla ilişkili yardımcı işlevleri yönetmek için boyut ve karmaşıklıktan yoksun olabilir.

Ayrıca bakınız

[değiştir | kaynağı değiştir]
  • Alt bileşenler ve standartlar
  • Ilgili kavramlar
    • Bilgisayar erişilebilirliği
    • Bilgisayar Ruslaştırması, Rus diline yerelleştirme
    • Konuların ayrılması
  • Yöntemler ve örnekler
    • Oyun yerelleştirme
    • Küreselleşme Yönetim Sistemi
    • Sözde yerelleştirme, bir yazılım ürününün yerelleştirmeye hazır olup olmadığını test etmeye yönelik bir yazılım test yöntemi.
  • Diğer
    • Giriş yöntemi düzenleyicisi
    • Dil endüstrisi
  1. ^ a b "Localization vs. Internationalization". W3C. 3 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 27 Mart 2016. 
  2. ^ a b c d e f g h i j k l m n o p q Hall, P. A. V., (Ed.) (1997). Software without Frontiers: A Multi-Platform, Multi-Cultural, Multi-Nation Approach. Chichester: Wiley. ISBN 0-471-96974-5. 
  3. ^ Pym, Anthony, (Ed.) (2006). "The Evolution of Localization" (PDF). Translation Technology and Its Teaching (With Much Mention of Localization). Tarragona: Intercultural Studies Group – URV. ss. 21-29. ISBN 84-611-1131-1. 7 Eylül 2012 tarihinde kaynağından (PDF) arşivlendi. In a nutshell, localization revolves around combining language and technology to produce a product that can cross cultural and language barriers. No more, no less.  Yazar |ad1= eksik |soyadı1= (yardım)
  4. ^ "Glossary of W3C Jargon". W3C. 2 Eylül 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Ekim 2008. 
  5. ^ "Origin of the Abbreviation I18n". I18nGuy. 27 Haziran 2014 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Şubat 2022. 
  6. ^ "GNU gettext Utilities: Concepts". gnu.org. 18 Eylül 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 29 Ekim 2019. Two long words appear all the time when we discuss support of native language in programs, and these words have a precise meaning, worth being explained here, once and for all in this document. The words are internationalization and localization. Many people, tired of writing these long words over and over again, took the habit of writing i18n and l10n instead, quoting the first and last letter of each word, and replacing the run of intermediate letters by a number merely telling how many such letters there are. 
  7. ^ a b "What is Internationalization (i18n), Localization (L10n) and Globalization (g11n)". ccjk.com. 29 Mart 2011. 2 Nisan 2015 tarihinde kaynağından arşivlendi. The capital L in L10n helps to distinguish it from the lowercase i in i18n. 
  8. ^ "Globalize Your Business". IBM. 31 Mart 2016 tarihinde kaynağından arşivlendi. 
  9. ^ "Globalization Step-by-Step". Go Global Developer Center. 12 Nisan 2015 tarihinde kaynağından arşivlendi. 
  10. ^ "Globalization Step-by-Step: Understanding Internationalization". Go Global Developer Center. 26 Mayıs 2015 tarihinde kaynağından arşivlendi. 
  11. ^ "GNU gettext Utilities: Plural Forms". gnu.org. 9 Aralık 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Şubat 2022. 
  12. ^ "Do We Need to Localize Keyboard Shortcuts?". Human Translation Services – Language to Language Translation. 21 Ağustos 2014. 3 Nisan 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Şubat 2022. 
  13. ^ Mateen Haider (17 Mayıs 2016). "Pakistan Expresses Concern Over India's Controversial 'Maps Bill'". Dawn. 10 Mayıs 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Mayıs 2018. 
  14. ^ "Changing Maps Will Not Mean Kashmir Is a Part of You, India". The Express Tribune. 18 Mayıs 2016. 26 Ekim 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Şubat 2022. 
  15. ^ "An Overview of the Geospatial Information Regulation Bill". Madras Courier. 24 Temmuz 2017. 29 Ekim 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Şubat 2022. 
  16. ^ "Appendix V International Address Formats". Microsoft Docs (İngilizce). 2 Haziran 2008. 19 Mayıs 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Şubat 2022. 
  17. ^ Culture Profiles: Facilitating Global Learning and Knowledge Sharing (PDF), 16 Temmuz 2011 tarihinde kaynağından (PDF) arşivlendi, erişim tarihi: 1 Ekim 2009  Yazar |ad1= eksik |soyadı1= (yardım)
  18. ^ Petrinja, Etiel, (Ed.) (2013). A Preliminary Analysis of Localization in Free Software: How Translations Are Performed. IFIP Advances in Information and Communication Technology (İngilizce). Springer Berlin Heidelberg. ss. 153-167. doi:10.1007/978-3-642-38928-3_11. ISBN 978-3-642-38927-6.  Yazar |ad1= eksik |soyadı1= (yardım)
  19. ^ "Translating:Group Statistics". translatewiki.net. 23 Mart 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 27 Mart 2016. 
  20. ^ "How to Translate a Game Into 20 Languages and Avoid Going to Hell: Exorcising the Four Devils of Confusion". PocketGamer.biz. 4 Nisan 2014. 7 Aralık 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Şubat 2022. 
  21. ^ "IBM Wins Dominance in European Computer Market". Washington Post (İngilizce). 17 Şubat 1985. 29 Ağustos 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 29 Ağustos 2018.  Birden fazla yazar-name-list parameters kullanıldı (yardım); Yazar |ad1= eksik |soyadı1= (yardım)

Konuyla ilgili yayınlar

[değiştir | kaynağı değiştir]

Dış bağlantılar

[değiştir | kaynağı değiştir]