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

Из Википедије, слободне енциклопедије
Слика софтверских програма локализованих на италијанском.

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

Назив[уреди]

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

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

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

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

Опсег[уреди]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пракса писања кода[уреди]

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

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

Потешкоће[уреди]

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

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

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

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

Цена и предности[уреди]

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

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

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

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

Референце[уреди]

  1. „Glossary of W3C Jargon”. World Wide Web Consortium. Приступљено 13. 10. 2008. 
  2. IBM Globalization web site
  3. Мајкрософтов "Globalization Step-by-Step" водич
  4. MSDN.microsoft.com
  5. GNU.org
  6. „Интернационални формат адреса”. Microsoft Developer Network. Microsoft. Приступљено 10. 12. 2013. 
  7. Павловски, Ј. М. (2008): Културолошки профили: Олакшавање глобалног учења и дељења знања. Proc. of ICCE 2008, Тајван, Новембар 2008. Draft Version
  8. Како превести игру на 20 језика и избећи одлазак у пакао
  9. See
  10. За тренутну листу погледати KDE.org

Литература[уреди]

  • .NET Internationalization: The Developer's Guide to Building Global Windows and Web Applications, Guy Smith-Ferrier, Addison-Wesley Professional, 7 August. 2006. ISBN 978-0-321-34138-9.
  • A Practical Guide to Localization, Bert Esselink, John Benjamins Publishing, [2000]. ISBN 978-1-58811-006-0.
  • Lydia Ash: The Web Testing Companion: The Insider's Guide to Efficient and Effective Tests, Wiley, May 2. 2003. ISBN 978-0-471-43021-6.
  • Business Without Borders: A Strategic Guide to Global Marketing, Donald A. DePalma, Globa Vista Press [2004]. ISBN 978-0-9765169-0-3.

Спољашње везе[уреди]