Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Псевдолокалізація
Вступ
Під час створення гри процес локалізації зазвичай починається після завершення розробки. Це означає, що переклади недоступні під час розробки, щоб перевірити, чи належним чином інтернаціоналізовано проект.
Godot пропонує псевдолокалізацію як спосіб перевірити, наскільки надійним є проект, коли мова йде про зміни локалі. Псевдолокалізація імітує зміни, які можуть відбутися під час локалізації. Таким чином, будь-які проблеми, пов’язані з інтернаціоналізацією, можна розпізнати на ранніх етапах розробки.
Дивись також
Ви можете побачити, як псевдолокалізація працює в дії, використовуючи демонстраційний проект Pseudolocalizaton <https://github.com/godotengine/godot-demo-projects/tree/master/gui/pseudolocalization>`__.
Увімкнення та налаштування псевдолокалізації
Увімкнення псевдолокалізації та пов’язаних з нею налаштувань так само просте, як встановлення прапорця в налаштуваннях проєкту. Ці налаштування можна знайти в після ввімкнення перемикача в діалоговому вікні налаштувань проєкту:
Псевдолокалізацію також можна toggled at runtime from a script.
Конфігурації псевдолокалізації
Псевдолокалізацію в Godot можна налаштувати відповідно до конкретного випадку використання проекту. Ось властивості псевдолокалізації, які можна налаштувати за допомогою параметрів проекту:
replace_with_accents: замінює всі символи в рядку їх варіантами з акцентами. «Швидка коричнева лисиця перестрибнула через ледачого пса» буде перетворено на «Ŧh̀é q́üíćḱ ḅŕôŵή f́ôx́ ǰüm̀ṕéd́ ôṽéŕ ŧh̀é łáźý d́ôǵ», якщо це налаштування ввімкнено. Це можна використовувати для виявлення неперекладених рядків, які не матимуть наголосів, але також корисно для перевірки відсутніх гліфів у шрифті(ах), які використовуються проектом.double_vowels: подвоює всі голосні в рядку. Це гарне наближення для імітації розширення тексту під час локалізації. Це можна використовувати для перевірки тексту, який переповнює контейнер (наприклад, кнопки).fake_bidi: Фальшивий двонаправлений текст (імітує текст справа наліво). Це корисно для симуляції систем письма справа наліво, щоб перевірити потенційні проблеми з макетом, які можуть виникнути в мовах, які використовують сценарії справа наліво.override: замінює всі символи в рядку зірочкою (*). Це корисно для швидкого пошуку тексту, який не локалізовано.expansion_ratio: можна використовувати у випадках, коли подвоєння голосних не є достатнім наближенням. Цей параметр доповнює рядок підкресленням (_) і розширює його на вказане співвідношення. Коефіцієнт розширення0,3є достатнім для більшості практичних випадків; це збільшить довжину струни на 30%.prefixіsuffix: ці властивості можна використовувати для визначення префікса та суфікса для обтікання тексту.skip_placeholders: пропускає заповнювачі для форматування рядка, наприклад%sі%f. Це корисно для визначення місць, де потрібні додаткові аргументи для правильного відображення відформатованого рядка.
Усі ці властивості можна перемикати за потреби відповідно до сценарію використання проекту.
Усі ці властивості можна перемікати за потреби відповідно до сценарію використання проекту
Псевдолокалізацію можна ввімкнути/вимкнути під час виконання за допомогою властивості pseudolocalization_enabled у TranslationServer. Однак, якщо потрібне налаштування властивостей псевдолокалізації під час виконання, їх можна налаштувати безпосередньо за допомогою ProjectSettings.set_setting(property, value), а потім викликати TranslationServer.reload_pseudolocalization(), яка повторно аналізує властивості псевдолокалізації та перезавантажує псевдолокалізацію. Наступний фрагмент коду повинен увімкнути властивості replace_with_accents та double_vowels, а потім викликати reload_pseudolocalization(), щоб зміни відобразилися:
ProjectSettings.set_setting("internationalization/pseudolocalization/replace_with_accents", true)
ProjectSettings.set_setting("internationalization/pseudolocalization/double_vowels", true)
TranslationServer.reload_pseudolocalization()