Початкові кроки у інтернаціоналізації

Маєте проєкт і хочете перекласти його декількома мовами? Цей розділ підручника допоможе вам у цьому. Описано декілька типових випадків. Втім, більшість прикладів є загальними — їх може бути застосовано у інших сценаріях.

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

Нарешті, хоча це також є важливим, вам, ймовірно, слід додати певний контекст до рядка, який буде перекладено. Уявіть, що перекладачеві показано рядок Sun, який слід перекласти. Без контексту більшість перекладачів виконають переклад, який відповідатиме назві найближчої до нас зірки, але це слово може насправді використовуватися як скорочення слова, яке позначає день тижня — неділю.

Вибір оболонки інтернаціоналізації

Виберіть стандартну оболонку для вашої програмної платформи. Намагайтеся не винаходити колеса створенням власної бібліотеки для локалізації. У Weblate передбачено підтримку більшості поширених бібліотек, див. розділ щодо форматів, щоб дізнатися більше (особливо, допоміжний розділ Можливості типів перекладу).

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

Платформа

Рекомендований формат

Android

Рядкові ресурси Android

iOS

Рядки Apple iOS

Qt

Qt Linguist .ts

Python

GNU Gettext

PHP

GNU Gettext 1

C/C++

GNU Gettext

C#

Файли ресурсів .XML

Perl

GNU Gettext

Ruby

Файли YAML Ruby

Веброзширення

JSON WebExtension

Java

XLIFF 2

JavaScript

Файли JSON i18next 3

1

Вбудована підтримка Gettext у PHP має вади, її часто не передбачено у збірках для Windows. Рекомендуємо скористатися замість неї сторонньою бібліотекою motranslator.

2

Ви також можете скористатися Властивості Java, якщо форми множини не використовуються.

3

Ви також можете скористатися простим файли JSON, якщо форми множини не використовуються.

Докладнішу процедуру для деяких форматів описано у наступних розділах: