Интернационализација и локализација

Слика софтверских програма локализованих на италијанском.

У рачунарству, интернационализација и локализација су средства прилагођавања рачунарског софтвера на друге језике, регионалне разлике и техничких захтева одређеног тржишта.[1][2] Интернационализација је процес дизајнирања софтверских апликација тако да могу потенцијално да се прилагоде на различите језике и регионе без инженерских промена. Локализација је процес прилагођавања интернационализованих софтвера за одређени регион или језик додавањем локално-специфичних компоненти и преведеног текста.[3] Локализација (која се потенцијално врши више пута, за различите локалитете) користи инфраструктуру или флексибилност коју му даје интернационализација (која је идеално извршена само једном, или као унутрашњи део текућег развоја).[4]

Назив

Термини су често скраћивани на скраћенице i18n (где 18 значи број слова између првог и и последњег н у речи интернационализација (на енглеском језику), коришћење озваничено од стране DEC 1970-их или 80их)[5] и L10n за “localization” (опет у енглеском језику), због дужине речи.

Неке компаније, као IBM и Sun Microsystems, користе термин "globalization", g11n, за комбинацију локализације и интернационализације.[6] Такође познато као "glocalization".

Мајкрософт[7] дефинише интернационализацију као комбинацију тзв. "World-Readiness" (буквално преведно - светска спремност) и локализације. "World-Readiness" је задатак девелопера, који омогућава да производ буде коришћен од стране скрипта и култура (глобализација) и одвајање корисничких ресурса у локализовани формат (localizability, скраћено на L12y).[8]

Овај концепт је познат као ПНЈ (Подршка Националног Језика) - енглески NLS (National Language Support или Native Language Support).

Опсег

Интернационализациони и локализациони процес
(базиран на графику на ЛИСА страници.)

Главни задатак локализације језика је превод. Ово може садржати:

  • За филм, видео, и аудио, превод изговорених речи или музичких стихова, обично користећи синхронизацију или титлове
  • Преведени Текст за одштампане материјале, дигиталне медије (по могућству укључујући поруке са грешкама и документацију)
  • Потенцијално мењање слиае и логоа који садрже текст са преводима или генеричким иконицама
  • Различите дужине превода и разлике у величинама карактера (нпр. између слова латиничног алфабета и кинеских карактера) може да изазове изглед који ради добро у једном језику да ради лоше у другом.
  • Узимање у обзир разлике у дијалекту, регистру или разноликост
  • Писање конвенција као:
    • Форматирање бројева (посебно децималног сепаратора и груписање бројева)
    • Формат датума и времена, уз могућност коришћења различитих календара

Рачунарски софтвер може да се сусретне са разликама изнад и преко очигледних превода реченица и фраза, зато што рачунарски програм може генерисати садржај динамички. Ове разлике могу бити узете у обзир од стране процеса интернационализације у припреми за превод:

  • Различите "скрипте" на различитим системима за писање користе другачије карактере - различите скупове слова, силограме, логограме, или симболе. Модерни системи користе Unicode стандард да прикажу много различитих језика једним кодирањем карактера.
  • Смер писања је слева надесно у већини европских језика (нпр. српски), здесна налево у хебрејском и арапском језику, и опционално вертикални смер у неким азијским језицима.
  • Комплексни изглед текста, за језике где карактери мењају облике у зависности од контекста.
  • Капитализација постоји у неким скриптама, а у некима не.
  • Различити језици и системи писања имају различита правила за сортирање текста
  • Различити језици имају различите бројачке системе, који можда морају да буду подржани ако арапски бројеви нису коришћени
  • Различити језици имају различита правила за множину, који могу да закомпликују програме који динамички приказују бројевни садржај.[9] Остала граматичка правила можда такође варирају, нпр. генитив.
  • Различити језици користе различите знаке интерпункције (нпр. цитирање користи дупле наводнике (" "), као у српском, или гиљементе (« »), као у француском).
  • Пречице на тастатури могу само да имају користи од дугмића који су стварно на тастатури за које је локализована. Ако пречица одговара речи у одређеном језику (нпр. Ctrl-S значи "сачувај" на српском), можда мора да се промени.

Различите државе имају различите економске конвенције, укључујући варијације у:

  • Величини папира
  • Телевизијским системима и популарним медијима за чување података
  • Формату телефонског броја
  • Формату поштанске адресе, поштанског броја, избора сервиса за доставу
  • Валути (Симбол, позиција ознаке за валуту, и разумне количине због различите историје инфлације) - ISO 4217 кодови се обично користе за интернационализацију.
  • Мерним системима
  • Величини батерије
  • Стандардима напона и струје

Специфични сервиси, као што су онлајн мапе, извештаји временске прогнозе, или провајдери за сервисе за плаћање, можда нису доступни широм света од стране истих носача, или уопште.

Временске зоне су различите широм света, и ово мора да се узме у обзир ако је производ оригинално само комуницирао са људима у једној временској зони. За интернационализацију, УТЦ је често коришћено интерно и затим конвертовано у локалну временску зону ради приказа.

Различите државе имају различите владе, што значи:

  • Регулаторна сагласност може да захтева прилагођавање за одређену јурисдикцију, или промени производа као целог, као:
    • Сагласност Закона о приватности
    • Додатни дисклејмери на страници
    • Различитих потрошачких захтева за лабеле
    • Сагласност са рестрикцијама за извоз и регулације за енкрипцију
    • Сагласност са режимомцензуре на интернету или субпина процедуре
    • Захтеви за приступачности
    • Прикупљање различитих пореза, као продајни порез, ПДВ, или обавезе потрошача
    • Осетљивост на различита политичка питања, као што су спорови око географских имена и спорови око граница приказаних на мапи (нпр. неприказивање Кашмира као индијског је кажњиво у Индији)
  • Бројеви које држава додељује имају различит формат (као што су пасоши, број социјалног осигурања у САД, број националног осигурања у Уједињеном Краљевству, and регистарски број грађана у Јужној Кореји)

Локализација такође може узети у обзир различитости у култури, као што су:

  • Локални празници
  • Конвенције о личном имену и титули
  • Естетика
  • Разумљивост и културолошка подесност слика и симбола боја
  • Етничка припадност, начин одевања, и социоекономски статус људи и архитектура приказаних локација
  • Локални обичаји и норме, као што су друштвени табуи, популарне локалне религије, или сујеверја као што су крвна група у јапанској култури наспрам хороскопских знакова у другим културама

Пословни поступак за интернационализацију софтвера

Да бисте интернационализовали производ, важно је посматрати разноврсност тржишта где ћете поставити ваш производ. Детаљи као што су дужина поља за адресе улица, јединствени формат за адресу, могућност да поље за поштански број буде опционо због држава које их немају или поље за савезну државу за државе које их немају, плус представљање нових регистрационих токова који се придржавају локалних закона су само неки примери који чине интернационализају компликованим пројектом.[10]

Шири приступ узима у обзир културолошке факторе који се односе, на пример, на прилагођавање логике пословног прицеса или укључивање индивидуалних културолошких аспеката (понашања).[11]

Пракса писања кода

Тренутна пракса која преовлађује је да апликација постави текст у ресурсне ниске које се учитавају када су потребне током извршавања програма. Ове ниске, ускладиштене у ресурсним фајловима, су релативно лаке за превођење. Програми су обично направљени да реферишу ресурсне библиотеке у зависности од изабраних локалних података. Једна од софтверских библиотека која помаже у овоме је gettext.

Према томе, да бисте добили апликацију која подржава више језика требало бисте направити апликацију за бирање релевантних језичких ресурсних фајлова за извршавање. Ресурсни фајлови се преводе у тражени језик. Овај метод је специфичан за сваку апликацију, у најбољем случају, специфичан за издавача. Код потребан за проверавање датума приступа и многих других локационо-осетљивих типова података такође мора да подржава различите услове (који се односе на локалност). Савремени системи за развијање софтвера (девелопмент) и оперативни системи укључују префињене библиотеке за интернационалну подршку ових типова.

Потешкоће

Иако превођење постојећег текста у друге језике изгледа лако, теже је одржавати паралелне верзије кроз животни век продукта.[12] На пример, ако је промењена порука која се приказује кориснику, све преведене верзије се морају променити. Ово као резултат име нешто дужи циклус развоја софтвера.

Многи проблеми око локализације (нпр. смер писања, уређење текста) захтевају темељније промене у софтверу, пре него у преводу текста. На пример, OpenOffice.org различитим компајлирањем.

Донекле (нпр. за проверу квалитета), развојном тиму је потребан неко ко разуме тране језике и културе и ко се разуме у потребне техничке ствари. У великим друштвима са једним доминантним језиком/културом, може бити тешко наћи такву особу.

Један пример замки што се тиче локализације је Мајкрософтов покушај да сачува неке пречице на тастатури значајне у локалним језицима. Ово је проузроковало за неке (али не све) програме у италијанској верзији Мајкрософтовог Офиса да "CTRL + S" (sottolineato) буде замена за "CTRL + U" (underline), уместо (увек) универзалне "Сачувај" функције.

Цена и предности

У комерцијалне сврхе, предност локализације је приступ више тржишта. Међутим, постоје и значајне цене, које се протежу и преко инжињеринга. Прво, софтвер се обично мора реконструисати да би био спреман за било који део света.

Затим, пружање локализационог пакета за дати језик је само по себи нетривијалан поступак, захтевајући специјализоване техничке писце да конструишу културолошки прихватљиву синтаксу за потенцијално компликоване концепте, заједно са инжињерским ресурсима да развију и тестирају локализационе елементе. Даље, пословне операције се морају прилагодити да управљају производом, складиштем и дистрибуисањем више одвојених локализованих производа, који се обично продају у потпуно различитим валутама, регулационим окружењима и пореским системима.

На крају, продаје, маркетинг и техничка подршка такође морају олакшати своје операцију у нових језицима, да би подржали купце за локализовани производ. Посебно за релативно мала језичка подручја, можда неће бити економски погодно нудити локализовани производ. Чак и где велико говорно подручје може оправдати локализацију за дати производ, и унутрашња структура производа већ дозвољава локализацију, издавач/онај који развија дати софтвер можда има мањка простора или префињености да управља помоћним функцијама повезаних са операцијама у више подручја. На пример, Мајкрософтов Windows 7 има доступних 96 језичких пакета.[13]

Једна алтернатива, Најчешће коришћена од стране заједница софтвера са отвореним кодом, је тзв. само-локализација од тимова састављених од крајњих корисника и волонтера. KDE3 пројекат, на пример, је био преведен на преко 100 језика, и KDE4 је доступан на 68.[14] Међутим, само-локализавија захтева да основни производ прво буда направљен да подржава такве активности, што је нетривијалан напор.

Референце

  1. ^ „Localization vs. Internationalization”. W3C. Архивирано из оригинала 2016-04-03. г. Приступљено 2016-03-27. 
  2. ^ „GNU gettext Utilities: Concepts”. gnu.org. Архивирано из оригинала 18. 9. 2019. г. Приступљено 29. 10. 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. 
  3. ^ Hall, P. A. V.; Hudson, R., ур. (1997). Software without Frontiers: A Multi-Platform, Multi-Cultural, Multi-Nation Approach. Chichester: Wiley. ISBN 0-471-96974-5. 
  4. ^ Esselink, Bert (2006). „The Evolution of Localization” (PDF). Ур.: Pym, Anthony; Perekrestenko, Alexander; Starink, Bram. Translation Technology and Its Teaching (With Much Mention of Localization). Tarragona: Intercultural Studies Group – URV. стр. 21—29. ISBN 84-611-1131-1. Архивирано из оригинала (PDF) 7. 9. 2012. г. „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. 
  5. ^ „Glossary of W3C Jargon”. World Wide Web Consortium. Приступљено 13. 10. 2008. 
  6. ^ IBM Globalization web site
  7. ^ „Мајкрософтов "Globalization Step-by-Step" водич”. Архивирано из оригинала 12. 4. 2015. г. Приступљено 26. 5. 2015. 
  8. ^ „MSDN.microsoft.com”. Архивирано из оригинала 26. 5. 2015. г. Приступљено 26. 5. 2015. 
  9. ^ GNU.org
  10. ^ „Интернационални формат адреса”. Microsoft Developer Network. Microsoft. Приступљено 10. 12. 2013. 
  11. ^ Павловски, Ј. М. (2008): Културолошки профили: Олакшавање глобалног учења и дељења знања. Proc. of ICCE 2008, Тајван, Новембар 2008. Draft Version
  12. ^ Како превести игру на 20 језика и избећи одлазак у пакао
  13. ^ See
  14. ^ За тренутну листу погледати KDE.org

Литература

Спољашње везе