SlideShare una empresa de Scribd logo
1 de 15
Локалізація програм у ОС Linux
Вадим Машков
ІТ філософ зі Львова
adiel@linux.kiev.ua
Lviv Linux User Group
Програма
 locale, l18n, l10n...
 Linux і L10n
 процес роботи
 ...з точки зору розробника
 ...з точки зору перекладача
 твій профіт
Locale
 Локаль це набір правил і параметрів, які
описують мову, валюту, гроші регіону
 Зазвичай два важливих параметра – мова і
регіон
● ru_ua – російська в Україні
● uk_en – українська в Україні
Колись...
 Нова мова для програми:
● переклад джерельних кодів
● компіляція
internationalization (i18n)
 I18n – процес розробки продукту/сервісу
який дозволяє просто адаптувати
продукт/сервіс до інших мов і регіонів
(додати локалі)
 Mono- & Multilingualised
localization (l10n)
 Процес адаптування продукту/сервісу до
вимог регіону
● Переклад інтерфейсу
● Формат дати (11/16/2010 → 16 листопада 2010)
● Пишемо справа-наліво
● Специфічна функціональність (Єврейський
календар, 1й день тижня)
Робочий процес
 Переклав – віддай на ревью
● Друзям
● linux.org.ua
 Збери і потестай
● make
 Кінцевий результат автору програми
Розробнику – gettext
Gettext - це цілий framework для програмістів,
перекладачів і навіть простих користувачів.
● набір угод про те, як треба писати програми, щоб
підтримувалися message catalogs;
● структура і принципи іменування файлів цих самих
каталогів;
● бібліотека, яка "витягує" переклади з каталогів;
● набір окремих програм для роботи з рядками (що
перекладаються і вже перекладені).
● De facto стандарт для web
Розробнику – приклад
1.В коді замість
printf("Hello! My name is %s.n", name);
пишемо
printf(gettext("Hello! My name is %s.n"), name);
2.xgettext
3.В .po
msgid "Hello! My name is %s.n"
msgstr ""
4.Привіт! Мене зовуть %s.n
5.msgfmt
6.Результат в /usr/share/locale/LANG/PACKAGE.mo
Докладніше про gettext
 gettext
http://gnu.org/software/gettext/manual/gettext.ht
ml
 Практика
http://blog.alconost.com/software-localization-
using-gettext
Перекладачу
 Програми
● poEdit
(Linux/Offtopic)
● kBabel
(KDE)
● Gtranslator
(GNOME)
● Pootle (online).
● gted (Eclipse
IDE)
Поради
 Поради перекладачу технічної літератури:
● Використання глосаріїв
● Безособове до читача;
● Висока ступінь літературної обробки;
● Зниження образності;
● Побудова фраз середньої складності;
● Чіткість викладу,конкретність;
● прагнення до витіснення транслітерації.
Типові помилки
 Ні "підстрочнику"
● Ім’я макроса очікується (обов’язкове)
 Не перекладайте те що не треба
● В MS Windows елементи типу SYN_ACK були
переведені польською ZGODN_POTW.
 Одне й те ж поняттня різними словами
● Coockies: кукієс, коржики
Твій профіт
 Якісні програми
 Практичний досвід
 Заявити про себе як спеціаліста
 ???
 ПРОФІТ
 мій профіт
Локалізація програм у ОС Linux
Вадим Машков
ІТ філософ зі Львова
adiel@linux.kiev.ua
Lviv Linux User Group

Más contenido relacionado

Destacado

Cserszegtomaj története
Cserszegtomaj történeteCserszegtomaj története
Cserszegtomaj történeteJGyA
 
szallodak mukodese
szallodak mukodeseszallodak mukodese
szallodak mukodesehakos15
 
Napelemes Erőművek
Napelemes ErőművekNapelemes Erőművek
Napelemes ErőművekZoltán Liszt
 
Megújuló energiaforrások az épített környezetben
Megújuló energiaforrások az épített környezetbenMegújuló energiaforrások az épített környezetben
Megújuló energiaforrások az épített környezetbenmegujulo
 
Immonova iskola ovoda onkormanyzati epulet
Immonova iskola ovoda onkormanyzati epuletImmonova iskola ovoda onkormanyzati epulet
Immonova iskola ovoda onkormanyzati epuletImmonova Okosház
 
Fényképalbum
FényképalbumFényképalbum
FényképalbumSylvi O.
 
Ipari felhő infrastruktúrák a gyakorlatban
Ipari felhő infrastruktúrák a gyakorlatbanIpari felhő infrastruktúrák a gyakorlatban
Ipari felhő infrastruktúrák a gyakorlatbanOpen Academy
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheLeslie Samuel
 

Destacado (10)

Cserszegtomaj története
Cserszegtomaj történeteCserszegtomaj története
Cserszegtomaj története
 
szallodak mukodese
szallodak mukodeseszallodak mukodese
szallodak mukodese
 
Napelemes Erőművek
Napelemes ErőművekNapelemes Erőművek
Napelemes Erőművek
 
Aeppl presentation-auto-11 2014
Aeppl presentation-auto-11 2014Aeppl presentation-auto-11 2014
Aeppl presentation-auto-11 2014
 
Researchers
ResearchersResearchers
Researchers
 
Megújuló energiaforrások az épített környezetben
Megújuló energiaforrások az épített környezetbenMegújuló energiaforrások az épített környezetben
Megújuló energiaforrások az épített környezetben
 
Immonova iskola ovoda onkormanyzati epulet
Immonova iskola ovoda onkormanyzati epuletImmonova iskola ovoda onkormanyzati epulet
Immonova iskola ovoda onkormanyzati epulet
 
Fényképalbum
FényképalbumFényképalbum
Fényképalbum
 
Ipari felhő infrastruktúrák a gyakorlatban
Ipari felhő infrastruktúrák a gyakorlatbanIpari felhő infrastruktúrák a gyakorlatban
Ipari felhő infrastruktúrák a gyakorlatban
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Similar a Localizations foss ukr

Мови програмування
Мови програмуванняМови програмування
Мови програмуванняAlyona Tribko
 
iPhone Objective-C Development (ukr) (2009)
iPhone Objective-C Development (ukr) (2009)iPhone Objective-C Development (ukr) (2009)
iPhone Objective-C Development (ukr) (2009)Anatoliy Okhotnikov
 
Prezent vchytelya
Prezent vchytelyaPrezent vchytelya
Prezent vchytelyachepesyuk
 
Programne zabezpechenna
Programne zabezpechennaProgramne zabezpechenna
Programne zabezpechenna1cana1
 
Урок 22. Знайомство з середовищем програмування. Елементи вікна програмування
Урок 22. Знайомство з середовищем програмування. Елементи вікна програмуванняУрок 22. Знайомство з середовищем програмування. Елементи вікна програмування
Урок 22. Знайомство з середовищем програмування. Елементи вікна програмуванняВасиль Тереховський
 
Programne zabezpechenna(pz)
Programne zabezpechenna(pz)Programne zabezpechenna(pz)
Programne zabezpechenna(pz)Oksana Kutsenko
 
Основи алгоритмізації та програмування. Лекція 1
Основи алгоритмізації та програмування. Лекція 1Основи алгоритмізації та програмування. Лекція 1
Основи алгоритмізації та програмування. Лекція 1Dmitry Chabanenko
 
"Elements of functional programming in C# based on Language-Ext library as an...
"Elements of functional programming in C# based on Language-Ext library as an..."Elements of functional programming in C# based on Language-Ext library as an...
"Elements of functional programming in C# based on Language-Ext library as an...Fwdays
 
Lecture 06. iOS Programming. Основи Objective-C
Lecture 06. iOS Programming. Основи Objective-CLecture 06. iOS Programming. Основи Objective-C
Lecture 06. iOS Programming. Основи Objective-CMaksym Davydov
 
[Knowledge Sharing] - Behavioral patterns by Pavlo Serdyuk (UKR)
[Knowledge Sharing] - Behavioral patterns by Pavlo Serdyuk (UKR)[Knowledge Sharing] - Behavioral patterns by Pavlo Serdyuk (UKR)
[Knowledge Sharing] - Behavioral patterns by Pavlo Serdyuk (UKR)Exoft LLC
 
методика вивчення теми ос
методика вивчення теми осметодика вивчення теми ос
методика вивчення теми осTamara Emec
 
.NET Platform. C# Basics
.NET Platform. C# Basics.NET Platform. C# Basics
.NET Platform. C# Basicseleksdev
 
Урок 31-32. 8 клас
Урок 31-32. 8 класУрок 31-32. 8 клас
Урок 31-32. 8 класAndrey Podgayko
 
Computers and Computing Works lecture №7
Computers and Computing Works lecture №7Computers and Computing Works lecture №7
Computers and Computing Works lecture №7Lesia Sobolevska
 

Similar a Localizations foss ukr (20)

Мови програмування
Мови програмуванняМови програмування
Мови програмування
 
iPhone Objective-C Development (ukr) (2009)
iPhone Objective-C Development (ukr) (2009)iPhone Objective-C Development (ukr) (2009)
iPhone Objective-C Development (ukr) (2009)
 
Prezent vchytelya
Prezent vchytelyaPrezent vchytelya
Prezent vchytelya
 
Programne zabezpechenna
Programne zabezpechennaProgramne zabezpechenna
Programne zabezpechenna
 
Урок 22. Знайомство з середовищем програмування. Елементи вікна програмування
Урок 22. Знайомство з середовищем програмування. Елементи вікна програмуванняУрок 22. Знайомство з середовищем програмування. Елементи вікна програмування
Урок 22. Знайомство з середовищем програмування. Елементи вікна програмування
 
Programne zabezpechenna(pz)
Programne zabezpechenna(pz)Programne zabezpechenna(pz)
Programne zabezpechenna(pz)
 
Ak 11kl urok_13_tema
Ak 11kl urok_13_temaAk 11kl urok_13_tema
Ak 11kl urok_13_tema
 
Основи алгоритмізації та програмування. Лекція 1
Основи алгоритмізації та програмування. Лекція 1Основи алгоритмізації та програмування. Лекція 1
Основи алгоритмізації та програмування. Лекція 1
 
презентация Microsoft power point
презентация Microsoft power pointпрезентация Microsoft power point
презентация Microsoft power point
 
середовище Lazarus
середовище Lazarusсередовище Lazarus
середовище Lazarus
 
"Elements of functional programming in C# based on Language-Ext library as an...
"Elements of functional programming in C# based on Language-Ext library as an..."Elements of functional programming in C# based on Language-Ext library as an...
"Elements of functional programming in C# based on Language-Ext library as an...
 
Less34
Less34Less34
Less34
 
Lecture 06. iOS Programming. Основи Objective-C
Lecture 06. iOS Programming. Основи Objective-CLecture 06. iOS Programming. Основи Objective-C
Lecture 06. iOS Programming. Основи Objective-C
 
Sergey Dmytryshyn, Crowdin
Sergey Dmytryshyn, CrowdinSergey Dmytryshyn, Crowdin
Sergey Dmytryshyn, Crowdin
 
[Knowledge Sharing] - Behavioral patterns by Pavlo Serdyuk (UKR)
[Knowledge Sharing] - Behavioral patterns by Pavlo Serdyuk (UKR)[Knowledge Sharing] - Behavioral patterns by Pavlo Serdyuk (UKR)
[Knowledge Sharing] - Behavioral patterns by Pavlo Serdyuk (UKR)
 
урок7
урок7урок7
урок7
 
методика вивчення теми ос
методика вивчення теми осметодика вивчення теми ос
методика вивчення теми ос
 
.NET Platform. C# Basics
.NET Platform. C# Basics.NET Platform. C# Basics
.NET Platform. C# Basics
 
Урок 31-32. 8 клас
Урок 31-32. 8 класУрок 31-32. 8 клас
Урок 31-32. 8 клас
 
Computers and Computing Works lecture №7
Computers and Computing Works lecture №7Computers and Computing Works lecture №7
Computers and Computing Works lecture №7
 

Último

Стабілізаційні графіки відключень світла у Рівному
Стабілізаційні графіки відключень світла у РівномуСтабілізаційні графіки відключень світла у Рівному
Стабілізаційні графіки відключень світла у Рівному24tvua
 
Наказ ПК 2023-2024. pdf
Наказ ПК 2023-2024.                   pdfНаказ ПК 2023-2024.                   pdf
Наказ ПК 2023-2024. pdfhome
 
Презентація про виникнення балади., особливості
Презентація про виникнення балади., особливостіПрезентація про виникнення балади., особливості
Презентація про виникнення балади., особливостіAdriana Himinets
 
дод._Е-брошура_«Азартні_ігри_розваги_чи_проблеми».pdf
дод._Е-брошура_«Азартні_ігри_розваги_чи_проблеми».pdfдод._Е-брошура_«Азартні_ігри_розваги_чи_проблеми».pdf
дод._Е-брошура_«Азартні_ігри_розваги_чи_проблеми».pdfssuser46127c
 
10_iu_g_2018_stand dfgdf gdf gdfgdfgsdfge er gesr
10_iu_g_2018_stand dfgdf gdf gdfgdfgsdfge er gesr10_iu_g_2018_stand dfgdf gdf gdfgdfgsdfge er gesr
10_iu_g_2018_stand dfgdf gdf gdfgdfgsdfge er gesr4book
 
Графіки стабілізаційних відключень у Рівненській області
Графіки стабілізаційних відключень у Рівненській областіГрафіки стабілізаційних відключень у Рівненській області
Графіки стабілізаційних відключень у Рівненській області24tvua
 
Еволюція органічного світу біологія.pptx
Еволюція органічного світу біологія.pptxЕволюція органічного світу біологія.pptx
Еволюція органічного світу біологія.pptxssuser9ce4541
 
Урок 91 Фундаментальні взаємодії в природі.pptx
Урок 91 Фундаментальні взаємодії в природі.pptxУрок 91 Фундаментальні взаємодії в природі.pptx
Урок 91 Фундаментальні взаємодії в природі.pptxssuser9ce4541
 

Último (8)

Стабілізаційні графіки відключень світла у Рівному
Стабілізаційні графіки відключень світла у РівномуСтабілізаційні графіки відключень світла у Рівному
Стабілізаційні графіки відключень світла у Рівному
 
Наказ ПК 2023-2024. pdf
Наказ ПК 2023-2024.                   pdfНаказ ПК 2023-2024.                   pdf
Наказ ПК 2023-2024. pdf
 
Презентація про виникнення балади., особливості
Презентація про виникнення балади., особливостіПрезентація про виникнення балади., особливості
Презентація про виникнення балади., особливості
 
дод._Е-брошура_«Азартні_ігри_розваги_чи_проблеми».pdf
дод._Е-брошура_«Азартні_ігри_розваги_чи_проблеми».pdfдод._Е-брошура_«Азартні_ігри_розваги_чи_проблеми».pdf
дод._Е-брошура_«Азартні_ігри_розваги_чи_проблеми».pdf
 
10_iu_g_2018_stand dfgdf gdf gdfgdfgsdfge er gesr
10_iu_g_2018_stand dfgdf gdf gdfgdfgsdfge er gesr10_iu_g_2018_stand dfgdf gdf gdfgdfgsdfge er gesr
10_iu_g_2018_stand dfgdf gdf gdfgdfgsdfge er gesr
 
Графіки стабілізаційних відключень у Рівненській області
Графіки стабілізаційних відключень у Рівненській областіГрафіки стабілізаційних відключень у Рівненській області
Графіки стабілізаційних відключень у Рівненській області
 
Еволюція органічного світу біологія.pptx
Еволюція органічного світу біологія.pptxЕволюція органічного світу біологія.pptx
Еволюція органічного світу біологія.pptx
 
Урок 91 Фундаментальні взаємодії в природі.pptx
Урок 91 Фундаментальні взаємодії в природі.pptxУрок 91 Фундаментальні взаємодії в природі.pptx
Урок 91 Фундаментальні взаємодії в природі.pptx
 

Localizations foss ukr

  • 1. Локалізація програм у ОС Linux Вадим Машков ІТ філософ зі Львова adiel@linux.kiev.ua Lviv Linux User Group
  • 2. Програма  locale, l18n, l10n...  Linux і L10n  процес роботи  ...з точки зору розробника  ...з точки зору перекладача  твій профіт
  • 3. Locale  Локаль це набір правил і параметрів, які описують мову, валюту, гроші регіону  Зазвичай два важливих параметра – мова і регіон ● ru_ua – російська в Україні ● uk_en – українська в Україні
  • 4. Колись...  Нова мова для програми: ● переклад джерельних кодів ● компіляція
  • 5. internationalization (i18n)  I18n – процес розробки продукту/сервісу який дозволяє просто адаптувати продукт/сервіс до інших мов і регіонів (додати локалі)  Mono- & Multilingualised
  • 6. localization (l10n)  Процес адаптування продукту/сервісу до вимог регіону ● Переклад інтерфейсу ● Формат дати (11/16/2010 → 16 листопада 2010) ● Пишемо справа-наліво ● Специфічна функціональність (Єврейський календар, 1й день тижня)
  • 7. Робочий процес  Переклав – віддай на ревью ● Друзям ● linux.org.ua  Збери і потестай ● make  Кінцевий результат автору програми
  • 8. Розробнику – gettext Gettext - це цілий framework для програмістів, перекладачів і навіть простих користувачів. ● набір угод про те, як треба писати програми, щоб підтримувалися message catalogs; ● структура і принципи іменування файлів цих самих каталогів; ● бібліотека, яка "витягує" переклади з каталогів; ● набір окремих програм для роботи з рядками (що перекладаються і вже перекладені). ● De facto стандарт для web
  • 9. Розробнику – приклад 1.В коді замість printf("Hello! My name is %s.n", name); пишемо printf(gettext("Hello! My name is %s.n"), name); 2.xgettext 3.В .po msgid "Hello! My name is %s.n" msgstr "" 4.Привіт! Мене зовуть %s.n 5.msgfmt 6.Результат в /usr/share/locale/LANG/PACKAGE.mo
  • 10. Докладніше про gettext  gettext http://gnu.org/software/gettext/manual/gettext.ht ml  Практика http://blog.alconost.com/software-localization- using-gettext
  • 11. Перекладачу  Програми ● poEdit (Linux/Offtopic) ● kBabel (KDE) ● Gtranslator (GNOME) ● Pootle (online). ● gted (Eclipse IDE)
  • 12. Поради  Поради перекладачу технічної літератури: ● Використання глосаріїв ● Безособове до читача; ● Висока ступінь літературної обробки; ● Зниження образності; ● Побудова фраз середньої складності; ● Чіткість викладу,конкретність; ● прагнення до витіснення транслітерації.
  • 13. Типові помилки  Ні "підстрочнику" ● Ім’я макроса очікується (обов’язкове)  Не перекладайте те що не треба ● В MS Windows елементи типу SYN_ACK були переведені польською ZGODN_POTW.  Одне й те ж поняттня різними словами ● Coockies: кукієс, коржики
  • 14. Твій профіт  Якісні програми  Практичний досвід  Заявити про себе як спеціаліста  ???  ПРОФІТ  мій профіт
  • 15. Локалізація програм у ОС Linux Вадим Машков ІТ філософ зі Львова adiel@linux.kiev.ua Lviv Linux User Group