Переклад інтерфейсу ТЦУ3 на інші мови.

Автор:   Кравченко Андрій, mail@andriy.co
Переклад інтерфейсу ТЦУ3 на інші мови.

Ще на етапі попереднього опрацювання проекту «Товари, Ціни, Облік ...» (ТЦУ) версії 3 закладалася система багатомовного інтерфейсу. Вимоги пред'являлися наступні:
1. Перекладач не обов'язково повинен бути програмістом.
2. Переклад повинен здійснюватися шляхом заповнення мінімальної кількості таблиць.
3. Кількість записів у таблицях також повинно бути мінімальним.
4. Робота перекладача повинна бути простою і комфортною.
5. Кількість запитань до фірми-розробника повинно бути мінімальним.
6. Результат перекладу перекладач повинен спостерігати безпосередньо в процесі своєї роботи.
7. Головному розробнику результат перекладу повинен бути надісланий у вигляді файлів по закінченні перекладу.

З цього списку особливий інтерес представляють пункти 2 і 3. Розглянемо, як досягти найменшого кількості таблиць і найменшого кількості записів у таблицях. Для цього потрібно згадати, що собою являє програмний інтерфейс. Це слова та словосполучення на кнопках і пунктах меню, фрази на спливаючих підказках, а також фрази у повідомленнях.
Найпростіший спосіб перекладу - створити одну таблицю і перевести необхідні фрагменти тексту з однієї мови на іншу. Але при більш глибокому аналізі виявляється, що не все так просто. Опишемо деякі проблеми.
1. Слова та фрази, однакові в різних формах англійського інтерфейсу, можуть мати різний переклад іншою мовою. Простий приклад. Статус видаткової накладної та акту переоцінки, якщо документи проведені по-англійському звучить однаково - «Approved». Проте, з-за того, що слово «накладна» жіночого роду, переклад статусу у формі накладної краще зробити як «Проведена», а для акту переоцінки статус краще перекласти як «Проведений».
2. Повідомлення програми - це не завжди статичний текст. У повідомлення повинні передаватися параметри. Наприклад, повідомлення «Недостатня кількість товару 'Сірники' для відвантаження». Вочевидь, що назва товару для даного повідомлення може змінюватися, в залежності від того, якого товару не вистачає для відвантаження. Отже, такий параметр, як назва товару, потрібно якимось чином передати в повідомлення.
Виходячи з цього, формуємо дві таблиці.
1. Таблиця перекладу слів, словосполучень і фраз.
В її основу покладено принцип правил і виключень із правил. Наприклад, в усіх випадках «Approved» перекладається як «Затверджено» (це правило), але в випадку, якщо це слово використовується у формі видаткової накладної, то переклад повинен бути здійснено як «Затверджено» (це виняток із правила). Потрібно сказати, що винятки із правил зустрічаються дуже рідко (не більше двох-трьох десятків на всю таблицю).
2. Таблиця повідомлень. Для повідомлень самої головне - їх номера. Якщо при перекладі слів і словосполучень програма сама шукає переклад і підставляє знайдені слова і словосполучення в интерфейс, то для повідомлень ТЦУ знаходить потрібний текст за номерами цих повідомлень. Повідомлення з номером "25" в таблиці містить наступний текст «Недостатня кількість товару для відвантаження.» При виведенні повідомлення програма сама підставить замість тега назву товару (у нашому випадку 'Сірники').
Ну от, з принципами побудови визначилися. Тепер подивимося, як ця система реалізована наживо, що називається «в металі».
Відкриємо ТЦУ. Перейдемо на вкладку «Довідники» - значок «Налаштування». Відкриється вікно налаштувань ТЦУ. Виберемо розділ «Інтерфейс». Поруч з параметром «Мова інтерфейсу» натисніть кнопку «...».
Відкриється велика форма «Translator Designer».

Перше, що нам необхідно зробити - додати нову мову інтерфейсу. Натиснемо на кнопку «Add New Language». Система запропонує вам ввести назва для нової мови.

Введемо литовську мову та натиснемо ОК. Нову мову інтерфейсу додано та автоматично вибрано. Форма з таблицями поки порожня.

Щоб її заповнити, натисніть на кнопку «Refresh Tables». Таблиці заповнені.

Завдання перекладача - заповнити стовпець з перекладом на литовську мову. Переклад здійснюється у стовпці «Translated Word» (заголовок виділений червоним кольором). У колонці «Base Word» знаходиться текст, прописаний в інтерфейсі програми, який і потребує перекладу. Це не завжди літературна англійська, тому на допомогу перекладачеві в колонці «Russian Word (Info) »дана інформація про переведення даного слова або словосполучення на російську мову, щоб перекладач міг орієнтуватися при перекладі на свою мову. В подальшому, планується «Russian Word (Info)» замінити на «English Word (Info)», щоб нормально могли працювати не тільки ті перекладачі, що володіють російською мовою. Розглянемо приклад, коли нам потрібно перевести правило і виняток з правила.

Як ми можемо бачити, спочатку перекладається правило «Approved» -> «Проведена», в наступному рядку для форми akt_per (акт переоцінки) і поля «utver» (ім'я поля, в якому робимо переклад) переклад буде таким «Approved» -> «Проведено». Виняток - штука рідкісна, робити виключення з правила чи ні - вирішує перекладач. Щоб створити виключення з правила, потрібно перейти в кінець таблиці та додати новий переклад з вказівкою імені форми та імені поля, де застосовується даної виняток.
Заповненням таблиці перекладу слів і словосполучень (Words and Phrases Translator) завершується перший етап перекладу. Щоб відправити результат перекладу головному розробнику достатньо натиснути на кнопку «Export Table». Результат перекладу зберігається у файлі TTWord.xml, який пересилається розробнику, наприклад, по e-mail.
Перейдемо тепер на вкладку «Massage Translator».

Message Number містить унікальний номер повідомлення, Russian Massage містить приклад даного повідомлення українською мовою, переклад повідомлення заноситься в «Language Message». Зверніть увагу на те, що в повідомлення з програми передаються параметри, які укладені в теги <>, і які мають назви , і т.д. Всього в повідомлення може бути передано до восьми параметрів.
Після заповнення таблиці повідомлень дані можуть бути вивантажені у вигляді файлу натисканням на кнопку «Export Table». Файл TTMsg.xml висилається розробнику.

Теми, що посилаються на статтю:

Вгору