Преводи
Blockstudio включва преводите си в папката languages. WordPress ги използва, когато езикът на сайта или езикът в потребителския профил съвпада с някой от тях. Това работи по същия начин, когато Blockstudio се изпълнява като плъгин, задължителен плъгин или пакет Composer.
Налични езици
Blockstudio включва преводи за локалите WordPress, записани в включения в пакета languages/locales.json, включително регионални и официални/неофициални варианти. Английският (en_US) е изходният език и не се нуждае от файл за превод. Списъкът обединява локалите, поддържани от WordPress в GlotPress, с вариантите, налични в основния пакет за преводи на WordPress API.
Съществуващите преводи на немски (de_DE) и официален немски (de_DE_formal) са запазени. Допълнителните преводи са генерирани с AI чрез GPT-6 Luna и са обозначени като машинно генерирани в заглавките на .po. Те преминават автоматизираните проверки за пълнота и формат, но все още не всички са прегледани от носители на езика. Добре дошли са корекции.
Преводите обхващат контролите на полетата в редактора на блокове, административната страница, платното, наслагването на инструментите за разработчици и съобщенията от крайните точки на REST. Етикетите и помощните текстове във вашите собствени файлове block.json принадлежат на вашата тема или плъгин и използват неговия текстов домейн.
Изберете езика в Настройки > Общи > Език на сайта или задайте личен език в профила си в WordPress. Blockstudio използва този локал автоматично. Това не добавя езици към селектора за език на WordPress: локалът трябва да е наличен и във вашата инсталация на WordPress. На сайта ви не са необходими заявки към AI, абонамент за превод или допълнителни настройки по време на изпълнение.
Заменете превод
Файловете за превод в wp-content/languages/plugins имат предимство пред включените в пакета файлове — както за низовете на PHP (blockstudio-de_DE.mo или blockstudio-de_DE.l10n.php), така и за скриптовете (по един файл за всяка дръжка на скрипт, например blockstudio-de_DE-blockstudio-blocks.json).
Допринесете за превод
Всеки език представлява файл .po, който можете да редактирате с произволен текстов редактор или с инструмент за превод като Poedit. Корекциите и новите езици са добре дошли като заявки за изтегляне.
- За да добавите език, копирайте
languages/blockstudio.potвlanguages/blockstudio-<locale>.po, напримерblockstudio-fr_FR.po, и задайте заглавкитеLanguageиPlural-Forms. За да подобрите даден език, редактирайте съществуващия му файл.po. - Преведете низовете. Запазете в превода заместители като
%1$s. - Стартирайте
npm run i18n. Той записва файловете.mo,.l10n.phpи.json, които WordPress зарежда. - Добавете файла
.poзаедно с генерираните файлове и отворете заявка за изтегляне.
Ако не можете да стартирате npm, достатъчна е заявка за изтегляне само с файла .po. Генерираните файлове могат да бъдат добавени преди сливането.
Генериране на липсващи преводи
Поддържащите проекта могат да генерират липсващи записи с удостоверен Codex CLI. Това е незадължителна команда за разработка, която WordPress не изпълнява:
npm run i18n:translate -- --dry-run
npm run i18n:translate
Моделът по подразбиране е gpt-6-luna. За работа по един локал използвайте npm run i18n:translate -- --locale fr_FR. Командата извлича най-новите изходни низове, попълва липсващите преводи и след това компилира файловете .mo, .l10n.php и .json за всеки скрипт. До Codex се изпращат само низове от публичния интерфейс, контекстът им и съществуващите форми, а не съдържание на сайта или потребителски данни.
Съществуващите преводи, които не са празни, никога не се заменят. Завършените партиди се запазват, така че при прекъсване повторното изпълнение продължава липсващата работа. Преди записване се проверяват заместители като %1$s, маркировката HTML, техническите идентификатори и задължителните форми за множествено число. Непотвърдените записи и променените форми за множествено число в източника се оставят за преглед от преводач. Ако заявеният модел не е наличен, не се използва резервен модел.
npm run i18n:locales изрично обновява списъка с локали и правилата за множествено число от WordPress/GlotPress. npm run i18n:coverage проверява дали всеки локал в проследявания списък е завършен. Нито проверките за покритие, нито обичайният CI използват AI или извличат данни за локали. Вижте README в хранилището за опциите за пакетна обработка, паралелна работа и възстановяване.
Низове в кода, които могат да се превеждат
- PHP: използвайте функциите WordPress с текстовия домейн
blockstudio, например__( 'Invalid block.', 'blockstudio' ). - JavaScript: импортирайте
__от@/utils/__и подайте буквален низ, например__( 'Add row' ). Низ, съставен по време на изпълнение, не може да бъде преведен, затова използвайте по един буквален низ за всеки вариант. - За нов пакет със скриптове, съдържащ преводими низове, е необходим запис в
scripts/i18n.tsи извикване наwp_set_script_translations()със същия идентификатор иTranslations::script_path().
След като промените низове, изпълнете npm run i18n. Това обновява languages/blockstudio.pot и всеки файл .po. Новите низове остават на английски, докато преводач или npm run i18n:translate не ги попълни. CI изпълнява npm run i18n:check и npm run i18n:coverage, които отхвърлят остарели компилирани файлове, проблеми при извличането или непълно покритие на локалите. Генерирането остава изрично действие на поддържащия проекта.