Main/WordPress Fullstack/Blueprints/Custom Themes/Complete Theme Internationalization (i18n) & Polylang / WPML Integration
Back to «Custom Themes» cards
Custom Themes(ТЗ 27 из 54)
Spec: Complete Theme Internationalization (i18n) & Polylang / WPML Integration
Custom Themes5 шагов • +25 XP

Spec: Complete Theme Internationalization (i18n) & Polylang / WPML Integration

Global multilingual theme readiness: gettext localization functions (__, _e, _x, _n), .pot catalog generation via WP-CLI, header language switcher, Polylang/WPML API hooks, and full RTL (Right-to-Left) CSS support.

~9 ч работыУровень: JuniorPHP 8.3load_theme_textdomain()WP-CLI (wp i18n make-pot)Polylang API (pll_the_languages)gettext functions (__, _e, _n, _x)rtl.css & CSS Logical Properties
+5 XP за шаг
Выполнено 0 из 5 шагов (0%)
Трудозатраты~9 рабочих часов
Фриланс вилка~$405 – $675 (€360 – €630)
Оценка веб-студии~$855 – $1,440 (€810 – €1350)

ТЗ заказчика (исходный бриф):

Our company is expanding internationally (English, Spanish, German, and Arabic). The theme must be 100% translation-ready with no hardcoded strings, integrate with Polylang/WPML, support custom language switchers, and render RTL layouts.
Ключевые требования:
  • •Initialize text domain via load_theme_textdomain() on after_setup_theme hook
  • •Audit all theme PHP templates to replace hardcoded strings with gettext functions (__, _e, _n, _x, esc_html__)
  • •Generate pristine .pot translation template catalog using WP-CLI (wp i18n make-pot)
  • •Custom language switcher component in header supporting Polylang and WPML APIs with fallback
  • •Full Right-to-Left (RTL) language layout stylesheet (rtl.css) for Arabic language support
Ограничения проекта:
  • •Zero hardcoded user-facing strings in template files or JavaScript files
  • •Dynamic variables inside translation strings must use printf/sprintf with placeholders (%s, %d)
  • •RTL stylesheet must not break existing LTR layouts
Критерии приёмки (KPI):
  • WP-CLI make-pot discovers 100% of theme strings with zero syntax errors
  • Polylang and WPML string translation screens recognize all theme text domains
  • Arabic layout renders with perfect RTL alignment and inverted icons

Конфигурация блупринта под условия проекта

Выберите архитектуру и стек — шаги роадмапа, структура файлов и примеры кода переключатся автоматически:

Пошаговое практическое руководство по ТЗ

Подробный разбор архитектуры, код реализации и советы эксперта по каждому этапу:

1
Этап 1 из 5

Step 1: Text domain initialization via load_theme_textdomain()

~20 минЛегкий

Практическое руководство:

In functions.php, hook into after_setup_theme. Call load_theme_textdomain('theme-slug', get_template_directory() . '/languages'). Verify /languages directory exists in theme root.

План и контрольные точки реализации:
1Добавить Text Domain в заголовок style.css
2Вызвать load_theme_textdomain на хуке after_setup_theme
3Создать директорию languages/ в корне темы
Важные технические нюансы и подводные камни:

The text domain string must match the theme directory slug and style.css Text Domain header exactly.

Ожидаемый артефакт этапа:

Инициализированная система локализации темы.

2
Этап 2 из 5

Step 2: Template string refactoring with gettext functions

~50 минСредний
3
Этап 3 из 5

Step 3: .pot catalog generation via WP-CLI

~25 минЛегкий
4
Этап 4 из 5

Step 4: Custom header language switcher component

~35 минСредний
5
Этап 5 из 5

Step 5: RTL (Right-to-Left) stylesheet & bidirectional testing

~30 минЛегкий

Типичные грабли на этом ТЗ

2 антипаттерна

Инструменты экосистемы Fullstack AI Lab для этого ТЗ

Интеграция