Франкфуртско студио за многоезични дигитални присъствия +49 69 95209894 [email protected] Пн–Пт 9–17 ч. Клиентска зона →
БългарскиBG

Валута

Сумите в чуждестранна валута са незадължителни ориентировъчни стойности; фактурирането се извършва в евро.

Практически наръчник

Ръководство за локализация на приложения и софтуер (i18n)

Локализацията на приложения и софтуер изисква обмислено разделяне на код и текстове. Това ръководство обхваща технически аспекти като заместители, правила за множествено число, дължина на текстове, ключове за низове, контекст за преводачи и поддръжка на RTL. Помага на разработчиците да създават международни приложения ефективно и последователно, без да засяга правни или финансови теми.

i18n
Съкращение за интернационализация
RTL
Поддръжка от дясно наляво
ICU
Международни компоненти за Unicode
Диаграма за разделяне на код и езикови ресурси

1. Разделяне на код и текстове

Основното изискване за всяка локализация е строгото разделяне на програмен код и текстови съдържания. Всички текстове за показване трябва да се съхраняват във външни ресурсни файлове (напр. Properties, JSON, YAML), а не да бъдат твърдо кодирани в сорс кода. Това позволява на преводачите да работят, без да променят кода. Използвайте уникални ключове за низове като референция в кода, които да сочат към съответните преводи. Това разделяне улеснява поддръжката и позволява в бъдеще да се добавят нови езици без промени в кода. Уверете се, че и етикетите на интерфейса, съобщенията за грешки и подсказките попадат в тези файлове.

2. Заместители и променливи

Текстовете често съдържат динамично съдържание като числа, имена или дати. Те трябва да се вмъкват чрез заместители, напр. с printf форматиране (%s, %d) или по-модерни подходи като фигурни скоби {0}. Важно е преводачите да знаят реда и значението на заместителите. Използвайте именувани заместители (напр. „{username}“), за да осигурите контекст. При езици с различен словоред редът на заместителите може да варира. Затова осигурете възможност за коригиране на реда в превода. Тествайте всички варианти, за да избегнете грешни или непълни изходи.

Пример за заместители в превеждаеми низове

3. Правила за множествено число и образуване на множествено число

В немския има само единствено и множествено число, но много езици имат по-сложни правила за множествено число (напр. арабският с шест категории). Използвайте библиотеки като ICU MessageFormat, които обработват правилата за множествено число според езика. Дефинирайте отделни ключове в ресурсите си за различните форми на множествено число (one, other). Кодът автоматично избира подходящата форма въз основа на числото. Пример: „{count} {count, plural, one {ябълка} other {ябълки}}“. Тествайте всеки език с няколко числови стойности, за да сте сигурни, че се показва правилната форма. Избягвайте твърди if проверки – това води до грешки.

4. Дължина на текста и буфер за оформлението

Преводите често са по-дълги или по-къси от оригиналния текст. Особено при бутони, менюта и етикети това може да наруши оформлението. Затова планирайте достатъчно място за разширения на текста – добра насока е 30% допълнително място за западни езици, повече за азиатски. Използвайте динамични оформления, които се адаптират към дължината на текста (напр. Auto Layout в iOS или Flexbox в уеб). Избягвайте фиксирани ширини. Оставете UI елементите да обработват пренос на текст, ако е необходимо. Тествайте интерфейса с най-дългите очаквани преводи, за да избегнете припокриване или отрязване.

5. Ключове за низове, контекст за преводачи и RTL

Уникалните ключове за низове са гръбнакът на локализацията. Използвайте описателни имена (напр. „login.button.title“) и документирайте предназначението им. Дайте на преводачите контекст: екранни снимки, максимална дължина на символите, ограничения (напр. „не повече от 20 знака“). За RTL езици като арабски или иврит UI трябва да бъде огледален. Използвайте атрибути на оформлението, които поддържат RTL автоматично (напр. start/end вместо left/right). Тествайте цялата навигация при RTL условия. Мислете и за символи и графики – те могат да се тълкуват различно в различните култури.

Контролен списък за навлизане на пазара

  • Използване на външни ресурсни файлове за текстове
  • Заместители с именувани променливи и персонализируем ред
  • Прилагане на правила за множествено число с ICU MessageFormat
  • Оформление с минимум 30% буфер за текстови разширения
  • Описателни низови ключове с контекстна документация
  • RTL поддръжка чрез атрибути за оформление като start/end
Мрежа за оформление с различна дължина на текста и буфери

Често задавани въпроси

Защо разделянето на код и текстове е важно?

Тя позволява преводи без промени в кода, улеснява поддръжката и дава възможност за добавяне на нови езици, без да се налага прекомпилиране на софтуера.

Как да се справям с множествените форми в различни езици?

Използвайте библиотеки като ICU MessageFormat, които избират правилната множествена форма за всеки език. Дефинирайте в ресурсите ключове за всяка категория за множествено число (напр. one, other).

Какво трябва да се има предвид при RTL езиците?

UI трябва да бъде отразен: Използвайте логически атрибути за оформление (start/end) вместо абсолютни посоки. Тествайте навигацията и отстъпите на текста при RTL условия.

Готови ли сте за този пазар?

Ние локализираме вашия уебсайт езиково, технически и културно – с проверка от носители на езика и фиксирана цена. Поискайте безплатна оферта.

Поискайте оферта без задължение

Немска GmbHРегистров съд Франкфурт на Майн · HRB 111727
Регистриран D-U-N-S®315030052
Обработка, съответстваща на GDPRХостинг в Германия
Фиксирани цени с писмена гаранция за доставка