Локалізація програмного забезпечення українською!

Нові коментарі

Нова тема   Відповісти
Автор Повідомлення
Bohdan237 
Відео Гуртом - фільмокрай
Відео Гуртом - фільмокрай


З нами з: 13.02.12
Востаннє: 24.08.17
Повідомлень: 465

2012-09-04 18:29  
У процесі написання. Останнє оновлення 16.09.12
Локалізація програмного забезпечення українською !

Часто люди шукають інструкцію "як українізувати софт", "як перекласти програму". Ці люди справді хочуть перекласти свої улюблені програми на українську. Ще нещодавно я був одним із них і вирішив створити цю тему з паном lasmen. Знайти інструкцію по локалізації програм в інтернеті важко, до того ж їх дуже багато і неможливо використати кожну. У даній темі буде описано декілька способів українізації програм. Тож приступимо і бажаю всім успіхів у перекладі софту. Wink (2)

Переклад за допомогою текстового редактору(AkelPad){Автор Bohdan237}
Для початку завантажуємо програму AkelPad з офіційного сайту.
Я вибрав AkelPad, тому що вона зручніша ніж класичний текстовий редактор.
Отже локалізувати потрібно невеликі файли з розширенням *.lng та *.lan. Такий тип файлів часто є у папці Languages та Lng, або у папці із самою програмою.

Cьогодні я покажу локалізацію на основі програми Stereoscopic Player 1.7.6.
Відкриваємо папку з програмою і бачимо файл Russian.lng
Відкриваємо за допомогою AkelPad.

І бачимо наступне!
Перекладати потрібно те, що обведене червоним кольором, те що обведене зеленим нечіпати в жодному разі.На місці зеленого квадратика можуть бути різні англ. коди їх непотрібно чіпати.Це може призвести до порушень у роботі самої програми.

Після того, як перекладемо увесь російський текст на українську жмемо Файл>Зберегти Як.
І зберігаємо як Ukrainian.lng

Все переклад закінчено. Залишилося в опціях програми вибрати укр. мову і програму українізовано. Рекомендую видалити Russian.lng та інші, щоб за замовчуванням була українська.
До

Після

Бажаю усім успіхів, бо переклад програмного забезпечення нелегка справаWink (2) . Про можливі проблеми та помилки писати в коменти, або мені в ПП.
Переклад за допомогою Restorator{Автор Lasmen}
В процесі написання
Переклад за допомогою Resource Hacker{Автор Bohdan237}
Для початку завантажуємо український Resource Hacker з Гуртому
Resource Hacker може редагувати файли *.exe, *.dll, *.cpl, *.ocx та *.res.
Ці ж файли може редагувати Restorator.
Якщо програма містить файли *.exe, *.dll та *.res то її можна перекладати за допомогою Resource Hacker.
Якщо під час відкриття будь якого ресурсу програми є тільки папки Version Info та 24, або немає зовсім нічого тоді локалізацію потрібно проводити за допомогою інших програм(до прикладу restorator). Також коли у кожному ресурсі програми незрозумілі символи та коди потрібно користуватись іншими програмами.

Сьогодні я покажу локалізацію програми Speccy
Для початку переглянемо файли *.dll. Speccy містить усі *.dll файли у папці Lang

У папці є два файли з розширенням*.dll

Відкриваємо перший lang-1043.dll і бачимо що це англійка бібліотека.

Відкриваємо наступний файл lang-1049.dll і бачимо що це російська бібліотека, саме її ми перекладемо.

Потрібно перекласти кожен рядок кожної папки не заціпаючи кодів.
Повинно вийти щось таке.

Потім жмемо файл>зберегти як і заміняємо даний файл. Якщо програма українізувалась то все добре якщо частково то потрібно ще переглянути файл *.exe.
Ось і все українізацію завершено.
Ось кінцевий результат.

Все ж таки я рекомендую використовувати restorator.
Про можливі помилки та проблеми писати в коменти, або мені вПП.Удачі.
Локалізація програм для ОС GNU/Linux {автор: Sontan; переклад інструкції українською: abodnya}
Більшість з тих, хто ставить лінукс, ставляться до нього так само, як і до віндовс, але ж це не правильно, головний плюс лінукса в тому, що він дає свободу! Так-так, саме свободу. Свободу вибирати, свободу творити, ця операційна система нічого і ніколи від тебе не приховує і ти можеш зробити з нею все, що захочеш. Цей дух свободи офіційно називається Open Source (Відкрите програмне забезпечення), це цілий світ в якому все трудяться на благо, а основою цього світу є ліцензія GPL, яка закріплює всі свободи. Якщо коротко і не вдаючись у юридичні подробиці, то продукт, випущений під цією ліцензією, назавжди залишається відкритим і будь-який бажаючий може внести в нього внесок.

Програмісти можуть писати програмний код, дизайнери проектувати інтерфейс, а художники малювати іконки або інший арт. І все, що є в світі вільного софта, створено ентузіастами. І якщо почавши користуватися відкритим софтом, вас щось не влаштовує, то ви можете виправити це самі або написати прохання розробникам і, думаю, в наступному релізі, цілком можливо, побачите ваш запит реалізованим.

Але, що робити якщо знань у цих областях немає? У будь-якому випадку ви можете допомогти співтовариству в ролі тестера присилаючи баг-репорти або в ролі перекладача, адже розробники навряд чи знають всі мови. На останньому варіанті участі в співтоваристві зупинимося детальніше.

В англійській мові використовуються скорочення i18n та l10n, пояснені на зображенні.


Зробити переклад вподобаного проекту, зовсім не складно є два варіанти, розглянемо їх у порядку зростання складності.

Веб-інтерфейс
Launchpad - це портал для проектів з відкритим вихідним кодом підтримуваний компанією Canonical розробниками дистрибутиву Ubuntu. На ньому існує функціонал для перекладу через веб-інтерфейс.

Під час реєстрації на порталі, виберіть мови з якими ви знайомі. Після підтвердження реєстрації потрапляємо на головну сторінку і вибираємо проект якого хочемо допомогти, скориставшись пошуком або вибравши в правій частині екрана. Далі ми потрапимо на сторінку проекту, де можна зробити внесок у його розробку:

Вибравши пункт «Help translate» потрапляємо в меню перекладу де видно стан перекладу, по всім зазначеним нами мовам, приблизно так:

Після вибору мови перекладу, від вас вимагається просто відповідати на питання, причому система буде пропонувати варіанти перекладу з інших програм. Досить зручно, хоча, іноді вибрати складніше, ніж перекласти самому.


Під час підготовки релізу, розробники отримують файли локалізації з системи і додають їх у пакет.

PO файли
Якщо не заглиблюватися в техніку інтернаціоналізації застосунків, просто приймемо як належне, що кожна програма має директорію «PO» в якій зберігаються файли певного формату для кожної мови. При компіляції в залежності від налаштувань вибирається потрібна і в результаті програма виходить перекладеної. Отримати PO-файл можна багатьма шляхами, наприклад через веб-інтерфейс або просто завантаживши вихідні тексти програми. Зазвичай програми містяться в tar.gz архівах. Формат файлів досить простий, ось для прикладу витяг з gedit:

Код:
#: .. / Data / gedit.desktop.in.in.h: 1
msgid "Edit text files"
msgstr "Зьмяніць текставия файли"

#: .. / Data / gedit.desktop.in.in.h: 2 .. / gedit / gedit.c: 463
msgid "Text Editor"
msgstr "Редактар ​​текстаў"

Як ви зрозуміли msgid це ідентифікатор рядка, а msgstr це сам переклад, все інше створюється скриптом і вам абсолютно не потрібно. Якщо файлу перекладу для вашої мови немає, то можна взяти файл оригінального мови і перейменувати по індикатору свого (наприклад be для білоруської чи ru для російської), також можна схитрувати, якщо у вас є проблеми з мовою оригіналу, то можна взяти перекладену знайому мову і замінити в ній msgstr на цільовий (наприклад можна перекладати не з англійської мови, а з російської українською).

Також на початку файлу є розділ заголовка який потрібно заповнити за певними правилами, оновити дату редагування і записати автора перекладу, тобто себе. Саме для того, щоб не вводити все це рукам варто користуватися спеціальними інструментами перекладача. Про них нижче ...

Інструменти
Перший найбільш універсальний інструмент - це звичайний текстовий редактор (gedit, feany, vi, emacs). В принципі більше нічого і не треба, але при великих перекладах зручніше скористатися спеціальними засобами: Gtranslator, Kbabel або poEdit. Ці редактори допоможуть вам менше витрачати часу на рутинні завдання, на зразок заповнення заголовків перекладаємих файлів, а також спростять огляд виконаної роботи і будуть виводити підказки по перекладу.

Варто також знати кілька нюансів:
- Через те, що над перекладом працює велика кількість людей, зазвичай для кожної мови створюють правила перекладу стандартних або схожих за значенням фраз, для того щоб витримати переклад в одному стилі. Таку інформацію звичайно можна отримати на сторінці команди локалізації вашої мови.
- Для зручності перекладу повторюваних фраз часто створюють так званий compendium (збірка), в який включають всі перекладені фрази з усіх доступних додатків.
- Іноді перед рядками перекладу можна зустріти коментар містить одне або обидва слова:
- Fuzzy - цим ключовим словом позначаються рядки в перекладі яких автор не впевнений. На початку перекладу варто пошукати у файлі рядки зі словом fuzzy і якщо ви впевнені в перекладі просто видалити цей тег з рядка.
- C-format - іноді в рядок перекладу програмі потрібно підставити значення, в цьому випадку використовується спеціальний сі синтакс, де місця вставки значення позначаються знаком відсотка і латинською буквою, в залежності від типу підставляється значення.
Код:
#: ../gedit/gedit-io-error-message-area.c:1386
#, c-format
msgid "Could not save the file %s."
msgstr "Немагчыма захаваць файл %s."


Так само існує можливість змінити порядок йдуть аргументів за допомогою знака відсотка і номери аргументу. Приклад:
Код:
msgid "Search completed: %d user(s) found on %s."
msgstr "Пошук скончаны: на %2$s знойдзены %1$d карыстальнік(і)."


- Через те, що в синтаксисі PO-файлу використовуються лапки, при додаванні лапок в переклад рядка їх потрібно екранувати за допомогою зворотного слеша, наприклад:
Код:
#: ../gedit/gedit-prefs-manager.c:1280
#, c-format
msgid "Expected '%s' got '%s' for key %s"
msgstr "Чаканы "%s" перадаў "%s" для ключа %s"


Фініш
Нарешті ми дісталися до фіналу. Що ж тепер робити з перекладеним PO-файлом? Все залежить від того яким чином ви його отримали, якщо завантаживши вихідні тексти програми, то варто відіслати його розробнику (або координатору перекладу на вашу мову) або залити в багзіллу. Якщо взяли через веб-інтерфейс, то залити його назад на сервер. Після того як файл переданий залишається тільки чекати нової версії програми в якій буде ваше ім'я серед перекладачів і звичайно ж улюблена мова Wink (1)

Над створенням теми працювали: bohdan237 та lasmen
Вдячний панові lasmen та панові abodnya за допомогу та інструкції.

Bohdan237 
Відео Гуртом - фільмокрай
Відео Гуртом - фільмокрай


З нами з: 13.02.12
Востаннє: 24.08.17
Повідомлень: 465

2012-09-04 18:30  
Всім хто знає методи локалізації писати мені в ПП! Інструкції вашого способу локалізації буде додано в тему
Sensetivity 
VIP


З нами з: 03.05.11
Востаннє: 03.01.13
Повідомлень: 2016

2012-09-04 19:21  
PoEdit
http://www.poedit.net/
Не знаю як її точно класифікувати.
Загалом це безоплатна програма для локалізації таких же програм зроблених та основі її ланг файлів.
Для прикладу всім нам відомий AegiSub. (AegiSub.org)

П.С. Я потрохи колупаю переклад 2.1.9 версії.
Bohdan237 
Відео Гуртом - фільмокрай
Відео Гуртом - фільмокрай


З нами з: 13.02.12
Востаннє: 24.08.17
Повідомлень: 465

2012-09-04 19:25  
Sensetivity
ленг файли простіше як на мене перекладати AkelPed-ом він простіший і зручний.
якщо маєте інструкцію з перекладу залюбки додам її в перелік
Sensetivity 
VIP


З нами з: 03.05.11
Востаннє: 03.01.13
Повідомлень: 2016

2012-09-04 19:38  
Bohdan237
Якщо вже бути точним, це не *.lang файли, а в даному випадку "mo" - файли, текст у яких записаний бінарним кодом.

64 4A 01 00 49 00 00 00 92 4A 01 00 29 00 00 00
DC 4A 01 00 36 00 00 00 06 4B 01 00 3E 00 00 00
3D 4B 01 00 36 00 00 00 7C 4B 01 00 16 00 00 00
B3 4B 01 00 0A 00 00 00 CA 4B 01 00 0A 00 00 00
D5 4B 01 00 1F 00 00 00 E0 4B 01 00 19 00 00 00
00 4C 01 00 08 00 00 00 1A 4C 01 00 2A 00 00 00
23 4C 01 00 2E 00 00 00 4E 4C 01 00 2E 00 00 00
7D 4C 01 00 2C 00 00 00 AC 4C 01 00 0A 00 00 00
D9 4C 01 00 0A 00 00 00 E4 4C 01 00 0C 00 00 00
EF 4C 01 00 0B 00 00 00 FC 4C 01 00 13 00 00 00
08 4D 01 00 15 00 00 00 1C 4D 01 00 25 00 00 00
32 4D 01 00 19 00 00 00 58 4D 01 00 28 00 00 00
72 4D 01 00 1B 00 00 00 9B 4D 01 00 34 00 00 00
B7 4D 01 00 43 00 00 00 EC 4D 01 00 21 00 00 00
30 4E 01 00 23 00 00 00 52 4E 01 00 2D 00 00 00
76 4E 01 00 36 00 00 00 A4 4E 01 00 17 00 00 00
DB 4E 01 00 21 00 00 00 F3 4E 01 00 79 00 00 00
15 4F 01 00 33 00 00 00 8F 4F 01 00 0C 00 00 00
C3 4F 01 00 2E 00 00 00 D0 4F 01 00 12 00 00 00
FF 4F 01 00 4B 00 00 00 12 50 01 00 17 00 00 00
5E 50 01 00 03 00 00 00 76 50 01 00 04 00 00 00
7A 50 01 00 65 00 00 00 7F 50 01 00 15 00 00 00
E5 50 01 00 10 00 00 00 FB 50 01 00 34 00 00 00
0C 51 01 00 29 00 00 00 41 51 01 00 3C 00 00 00
6B 51 01 00 2E 00 00 00 A8 51 01 00 2A 00 00 00
D7 51 01 00 A9 00 00 00 02 52 01 00 22 00 00 00
AC 52 01 00 27 00 00 00 CF 52 01 00 35 00 00 00
F7 52 01 00 38 00 00 00 2D 53 01 00 2E 00 00 00
66 53 01 00 3A 00 00 00 95 53 01 00 2F 00 00 00
D0 53 01 00 4C 00 00 00 00 54 01 00 3A 00 00 00
4D 54 01 00 37 00 00 00 88 54 01 00 24 00 00 00
Так чи інакше, така програма існує, може хтось зустріне якийсь софт з "mo" файлами.
Та і крім того, там є така корисна опція як оновити переклад.
Грубо кажучи, програма накладає нову версію файлу на стару і рядки які ти вже переклав залишає, а нові (яких раніше не було) додає і виділяє окремим кольором.
Bohdan237 
Відео Гуртом - фільмокрай
Відео Гуртом - фільмокрай


З нами з: 13.02.12
Востаннє: 24.08.17
Повідомлень: 465

2012-09-04 20:54  
Sensetivity
Я з цими кодами непрацював. Якщо маєте досвід створіть інструкцію і я викладу її буде дуже класно ! Wide grin
З таким кодом працює ресторатор але він здається не онавлює!
Sensetivity 
VIP


З нами з: 03.05.11
Востаннє: 03.01.13
Повідомлень: 2016

2012-09-04 21:06  
Bohdan237
Як буде натхнення - накидаю декілька речень Wink (1)
abodnya 
Відео Гуртом - фільмокрай
Відео Гуртом - фільмокрай


З нами з: 02.11.08
Востаннє: 21.08.17
Повідомлень: 5959

2012-09-05 00:25  
Локалізація програм для ОС GNU/Linux (автор: Sontan; переклад інструкції українською: abodnya)
Більшість з тих, хто ставить лінукс, ставляться до нього так само, як і до віндовс, але ж це не правильно, головний плюс лінукса в тому, що він дає свободу! Так-так, саме свободу. Свободу вибирати, свободу творити, ця операційна система нічого і ніколи від тебе не приховує і ти можеш зробити з нею все, що захочеш. Цей дух свободи офіційно називається Open Source (Відкрите програмне забезпечення), це цілий світ в якому все трудяться на благо, а основою цього світу є ліцензія GPL, яка закріплює всі свободи. Якщо коротко і не вдаючись у юридичні подробиці, то продукт, випущений під цією ліцензією, назавжди залишається відкритим і будь-який бажаючий може внести в нього внесок.

Програмісти можуть писати програмний код, дизайнери проектувати інтерфейс, а художники малювати іконки або інший арт. І все, що є в світі вільного софта, створено ентузіастами. І якщо почавши користуватися відкритим софтом, вас щось не влаштовує, то ви можете виправити це самі або написати прохання розробникам і, думаю, в наступному релізі, цілком можливо, побачите ваш запит реалізованим.

Але, що робити якщо знань у цих областях немає? У будь-якому випадку ви можете допомогти співтовариству в ролі тестера присилаючи баг-репорти або в ролі перекладача, адже розробники навряд чи знають всі мови. На останньому варіанті участі в співтоваристві зупинимося детальніше.

В англійській мові використовуються скорочення i18n та l10n, пояснені на зображенні.


Зробити переклад вподобаного проекту, зовсім не складно є два варіанти, розглянемо їх у порядку зростання складності.

Веб-інтерфейс
Launchpad - це портал для проектів з відкритим вихідним кодом підтримуваний компанією Canonical розробниками дистрибутиву Ubuntu. На ньому існує функціонал для перекладу через веб-інтерфейс.

Під час реєстрації на порталі, виберіть мови з якими ви знайомі. Після підтвердження реєстрації потрапляємо на головну сторінку і вибираємо проект якого хочемо допомогти, скориставшись пошуком або вибравши в правій частині екрана. Далі ми потрапимо на сторінку проекту, де можна зробити внесок у його розробку:

Вибравши пункт «Help translate» потрапляємо в меню перекладу де видно стан перекладу, по всім зазначеним нами мовам, приблизно так:

Після вибору мови перекладу, від вас вимагається просто відповідати на питання, причому система буде пропонувати варіанти перекладу з інших програм. Досить зручно, хоча, іноді вибрати складніше, ніж перекласти самому.


Під час підготовки релізу, розробники отримують файли локалізації з системи і додають їх у пакет.

PO файли
Якщо не заглиблюватися в техніку інтернаціоналізації застосунків, просто приймемо як належне, що кожна програма має директорію «PO» в якій зберігаються файли певного формату для кожної мови. При компіляції в залежності від налаштувань вибирається потрібна і в результаті програма виходить перекладеної. Отримати PO-файл можна багатьма шляхами, наприклад через веб-інтерфейс або просто завантаживши вихідні тексти програми. Зазвичай програми містяться в tar.gz архівах. Формат файлів досить простий, ось для прикладу витяг з gedit:

Код:
#: .. / Data / gedit.desktop.in.in.h: 1
msgid "Edit text files"
msgstr "Зьмяніць текставия файли"

#: .. / Data / gedit.desktop.in.in.h: 2 .. / gedit / gedit.c: 463
msgid "Text Editor"
msgstr "Редактар ​​текстаў"

Як ви зрозуміли msgid це ідентифікатор рядка, а msgstr це сам переклад, все інше створюється скриптом і вам абсолютно не потрібно. Якщо файлу перекладу для вашої мови немає, то можна взяти файл оригінального мови і перейменувати по індикатору свого (наприклад be для білоруської чи ru для російської), також можна схитрувати, якщо у вас є проблеми з мовою оригіналу, то можна взяти перекладену знайому мову і замінити в ній msgstr на цільовий (наприклад можна перекладати не з англійської мови, а з російської українською).

Також на початку файлу є розділ заголовка який потрібно заповнити за певними правилами, оновити дату редагування і записати автора перекладу, тобто себе. Саме для того, щоб не вводити все це рукам варто користуватися спеціальними інструментами перекладача. Про них нижче ...

Інструменти
Перший найбільш універсальний інструмент - це звичайний текстовий редактор (gedit, feany, vi, emacs). В принципі більше нічого і не треба, але при великих перекладах зручніше скористатися спеціальними засобами: Gtranslator, Kbabel або poEdit. Ці редактори допоможуть вам менше витрачати часу на рутинні завдання, на зразок заповнення заголовків перекладаємих файлів, а також спростять огляд виконаної роботи і будуть виводити підказки по перекладу.

Варто також знати кілька нюансів:
  - Через те, що над перекладом працює велика кількість людей, зазвичай для кожної мови створюють правила перекладу стандартних або схожих за значенням фраз, для того щоб витримати переклад в одному стилі. Таку інформацію звичайно можна отримати на сторінці команди локалізації вашої мови.
  - Для зручності перекладу повторюваних фраз часто створюють так званий compendium (збірка), в який включають всі перекладені фрази з усіх доступних додатків.
  - Іноді перед рядками перекладу можна зустріти коментар містить одне або обидва слова:
      - Fuzzy - цим ключовим словом позначаються рядки в перекладі яких автор не впевнений. На початку перекладу варто пошукати у файлі рядки зі словом fuzzy і якщо ви впевнені в перекладі просто видалити цей тег з рядка.
      - C-format - іноді в рядок перекладу програмі потрібно підставити значення, в цьому випадку використовується спеціальний сі синтакс, де місця вставки значення позначаються знаком відсотка і латинською буквою, в залежності від типу підставляється значення.
Код:
#: ../gedit/gedit-io-error-message-area.c:1386
#, c-format
msgid "Could not save the file %s."
msgstr "Немагчыма захаваць файл %s."


Так само існує можливість змінити порядок йдуть аргументів за допомогою знака відсотка і номери аргументу. Приклад:
Код:
msgid "Search completed: %d user(s) found on %s."
msgstr "Пошук скончаны: на %2$s знойдзены %1$d карыстальнік(і)."


  - Через те, що в синтаксисі PO-файлу використовуються лапки, при додаванні лапок в переклад рядка їх потрібно екранувати за допомогою зворотного слеша, наприклад:
Код:
#: ../gedit/gedit-prefs-manager.c:1280
#, c-format
msgid "Expected '%s' got '%s' for key %s"
msgstr "Чаканы "%s" перадаў "%s" для ключа %s"


Фініш
Нарешті ми дісталися до фіналу. Що ж тепер робити з перекладеним PO-файлом? Все залежить від того яким чином ви його отримали, якщо завантаживши вихідні тексти програми, то варто відіслати його розробнику (або координатору перекладу на вашу мову) або залити в багзіллу. Якщо взяли через веб-інтерфейс, то залити його назад на сервер. Після того як файл переданий залишається тільки чекати нової версії програми в якій буде ваше ім'я серед перекладачів і звичайно ж улюблена мова Wink (1)
код інструкції
Код:
[spoiler=Локалізація програм для ОС GNU/Linux (автор: Sontan; переклад інструкції українською: abodnya)]Більшість з тих, хто ставить лінукс, ставляться до нього так само, як і до віндовс, але ж це не правильно, головний плюс лінукса в тому, що він дає свободу! Так-так, саме свободу. Свободу вибирати, свободу творити, ця операційна система нічого і ніколи від тебе не приховує і ти можеш зробити з нею все, що захочеш. Цей дух свободи офіційно називається Open Source (Відкрите програмне забезпечення), це цілий світ в якому все трудяться на благо, а основою цього світу є ліцензія GPL, яка закріплює всі свободи. Якщо коротко і не вдаючись у юридичні подробиці, то продукт, випущений під цією ліцензією, назавжди залишається відкритим і будь-який бажаючий може внести в нього внесок.

Програмісти можуть писати програмний код, дизайнери проектувати інтерфейс, а художники малювати іконки або інший арт. І все, що є в світі вільного софта, створено ентузіастами. І якщо почавши користуватися відкритим софтом, вас щось не влаштовує, то ви можете виправити це самі або написати прохання розробникам і, думаю, в наступному релізі, цілком можливо, побачите ваш запит реалізованим.

Але, що робити якщо знань у цих областях немає? У будь-якому випадку ви можете допомогти співтовариству в ролі тестера присилаючи баг-репорти або в ролі перекладача, адже розробники навряд чи знають всі мови. На останньому варіанті участі в співтоваристві зупинимося детальніше.
[center][img]http://sontan.name/uploads/posts/i10n/i18n.gif[/img]
[size=10]В англійській мові використовуються скорочення i18n та l10n, пояснені на зображенні.[/size][/center]

Зробити переклад вподобаного проекту, зовсім не складно є два варіанти, розглянемо їх у порядку зростання складності.

[size=18][b]Веб-інтерфейс[/b][/size]
Launchpad - це портал для проектів з відкритим вихідним кодом підтримуваний компанією [url=http://canonical.com/]Canonical[/url] розробниками дистрибутиву Ubuntu. На ньому існує функціонал для перекладу через веб-інтерфейс.

Під час реєстрації на порталі, виберіть мови з якими ви знайомі. Після підтвердження реєстрації потрапляємо на головну сторінку і вибираємо проект якого хочемо допомогти, скориставшись пошуком або вибравши в правій частині екрана. Далі ми потрапимо на сторінку проекту, де можна зробити внесок у його розробку:
[img]http://sontan.name/uploads/posts/i10n/lp-buttons.png[/img]
Вибравши пункт «Help translate» потрапляємо в меню перекладу де видно стан перекладу, по всім зазначеним нами мовам, приблизно так:
[img]http://sontan.name/uploads/posts/i10n/lp-status-full-600.png[/img]
Після вибору мови перекладу, від вас вимагається просто відповідати на питання, причому система буде пропонувати варіанти перекладу з інших програм. Досить зручно, хоча, іноді вибрати складніше, ніж перекласти самому.
[img]http://sontan.name/uploads/posts/i10n/lp-translate-600.png[/img]

Під час підготовки релізу, розробники отримують файли локалізації з системи і додають їх у пакет.

[size=18][b]PO файли[/b][/size]
Якщо не заглиблюватися в техніку інтернаціоналізації застосунків, просто приймемо як належне, що кожна програма має директорію «PO» в якій зберігаються файли певного формату для кожної мови. При компіляції в залежності від налаштувань вибирається потрібна і в результаті програма виходить перекладеної. Отримати PO-файл можна багатьма шляхами, наприклад через веб-інтерфейс або просто завантаживши вихідні тексти програми. Зазвичай програми містяться в tar.gz архівах. Формат файлів досить простий, ось для прикладу витяг з gedit:

[code]#: .. / Data / gedit.desktop.in.in.h: 1
msgid "Edit text files"
msgstr "Зьмяніць текставия файли"

#: .. / Data / gedit.desktop.in.in.h: 2 .. / gedit / gedit.c: 463
msgid "Text Editor"
msgstr "Редактар ​​текстаў"[/code]
Як ви зрозуміли [b]msgid[/b] це ідентифікатор рядка, а [b]msgstr[/b] це сам переклад, все інше створюється скриптом і вам абсолютно не потрібно. Якщо файлу перекладу для вашої мови немає, то можна взяти файл оригінального мови і перейменувати по індикатору свого (наприклад [b]be[/b] для білоруської чи [b]ru[/b] для російської), також можна схитрувати, якщо у вас є проблеми з мовою оригіналу, то можна взяти перекладену знайому мову і замінити в ній [b]msgstr[/b] на цільовий (наприклад можна перекладати не з англійської мови, а з російської українською).

Також на початку файлу є розділ заголовка який потрібно заповнити за певними правилами, оновити дату редагування і записати автора перекладу, тобто себе. Саме для того, щоб не вводити все це рукам варто користуватися спеціальними інструментами перекладача. Про них нижче ...

[b][size=17]Інструменти[/size][/b]
Перший найбільш універсальний інструмент - це звичайний текстовий редактор (gedit, feany, vi, emacs). В принципі більше нічого і не треба, але при великих перекладах зручніше скористатися спеціальними засобами: Gtranslator, Kbabel або poEdit. Ці редактори допоможуть вам менше витрачати часу на рутинні завдання, на зразок заповнення заголовків перекладаємих файлів, а також спростять огляд виконаної роботи і будуть виводити підказки по перекладу.
[img]http://sontan.name/uploads/posts/i10n/gtranslator-600.jpg[/img]
Варто також знати кілька нюансів:
  - Через те, що над перекладом працює велика кількість людей, зазвичай для кожної мови створюють правила перекладу стандартних або схожих за значенням фраз, для того щоб витримати переклад в одному стилі. Таку інформацію звичайно можна отримати на сторінці команди локалізації вашої мови.
  - Для зручності перекладу повторюваних фраз часто створюють так званий compendium (збірка), в який включають всі перекладені фрази з усіх доступних додатків.
  - Іноді перед рядками перекладу можна зустріти коментар містить одне або обидва слова:
      - [b]Fuzzy[/b] - цим ключовим словом позначаються рядки в перекладі яких автор не впевнений. На початку перекладу варто пошукати у файлі рядки зі словом fuzzy і якщо ви впевнені в перекладі просто видалити цей тег з рядка.
      - [b]C-format[/b] - іноді в рядок перекладу програмі потрібно підставити значення, в цьому випадку використовується спеціальний сі синтакс, де місця вставки значення позначаються знаком відсотка і латинською буквою, в залежності від типу підставляється значення.
[code]#: ../gedit/gedit-io-error-message-area.c:1386
#, c-format
msgid "Could not save the file %s."
msgstr "Немагчыма захаваць файл %s."[/code]

Так само існує можливість змінити порядок йдуть аргументів за допомогою знака відсотка і номери аргументу. Приклад:
[code]msgid "Search completed: %d user(s) found on %s."
msgstr "Пошук скончаны: на %2$s знойдзены %1$d карыстальнік(і)."[/code]

  - Через те, що в синтаксисі PO-файлу використовуються лапки, при додаванні лапок в переклад рядка їх потрібно екранувати за допомогою зворотного слеша, наприклад:
[code]#: ../gedit/gedit-prefs-manager.c:1280
#, c-format
msgid "Expected '%s' got '%s' for key %s"
msgstr "Чаканы "%s" перадаў "%s" для ключа %s"[/code]

[b][size=18]Фініш[/size][/b]
Нарешті ми дісталися до фіналу. Що ж тепер робити з перекладеним PO-файлом? Все залежить від того яким чином ви його отримали, якщо завантаживши вихідні тексти програми, то варто відіслати його розробнику (або координатору перекладу на вашу мову) або залити в [url=http://www.bugzilla.org/]багзіллу[/url]. Якщо взяли через веб-інтерфейс, то залити його назад на сервер. Після того як файл переданий залишається тільки чекати нової версії програми в якій буде ваше ім'я серед перекладачів і звичайно ж улюблена мова ;)[/spoiler]
Додано через 8 хвилин 32 секунди:

Bohdan237 написано:
Переклад за допомогою текстового редактору(AkelPad){Автор Bohdan237}

Юзай Notepad++, там номер рядка краще видно і редактор більш зручний
Bohdan237 
Відео Гуртом - фільмокрай
Відео Гуртом - фільмокрай


З нами з: 13.02.12
Востаннє: 24.08.17
Повідомлень: 465

2012-09-05 07:44  
abodnya
Дуже вдячний за інструкцію!
Юзати Natepad++ небуду мені сподобався AkelPad тому що він в деяких випадках може відкрити файли ленг з текстом а не з кодом як звичайний Natepad++
Ваш часовий пояс: GMT + 2 Години

Нова тема   Відповісти