추가 Bricks 요소 번역하기
Gato AI Translations for Polylang은 요소 기반의 Bricks 페이지와 템플릿을 번역할 수 있습니다.
이 플러그인은 Bricks가 제공하는 모든 요소에 대한 지원을 기본으로 제공합니다. 커스텀 또는 서드파티 Bricks 요소의 경우, PHP 훅을 통해 번역 지원을 확장할 수 있습니다.
문자열 번역
Bricks 요소에 추가로 번역 가능한 속성을 선언하려면 gatompl:bricks_element_type_translatable_properties 필터를 사용하세요.
이 필터는 [elementName => properties] 맵을 수신합니다. properties 항목에는 다음이 포함될 수 있습니다.
- 플랫 컨트롤 이름 — 예:
'separatorText' - 점 경로(Dot-path) — 예:
'home.text'(settings.home.text에 해당) - 리피터 필드 — 서브 배열
[repeaterName => [...subFields]]형태로 선언
이것들은 자유롭게 혼합하여 사용할 수 있으며, 중첩 깊이에는 제한이 없습니다.
예를 들어, 이 훅은 다음을 수행합니다.
- 플랫 컨트롤
separatorText와 점 경로home.text를breadcrumbs요소에서 번역 가능하게 만들기 team-members요소의items리피터 내부에서 리피터 서브 필드title을 번역 가능하게 만들기
add_filter(
'gatompl:bricks_element_type_translatable_properties',
static function (array $translatableProperties): array {
$translatableProperties['breadcrumbs'][] = 'separatorText';
$translatableProperties['breadcrumbs'][] = 'home.text';
$translatableProperties['team-members']['items'][] = 'title';
return $translatableProperties;
},
10,
1
);동일한 필터가 단순 컨트롤과 리피터 필드 모두에 적용됩니다. 리피터 전용 별도 훅은 없습니다.
엔티티 참조 번역
속성에는 번역 시 대상 언어의 해당 엔티티로 다시 매핑되어야 하는 엔티티 ID(게시물, 분류 용어, 미디어 항목 또는 메뉴)가 저장될 수 있습니다. 해당 필터를 사용하세요.
| 참조 종류 | 필터 |
|---|---|
| 커스텀 게시물 및 미디어 | gatompl:bricks_element_type_custompost_and_media_reference_properties |
| 분류 용어 | gatompl:bricks_element_type_taxonomy_term_reference_properties |
| ID로 메뉴 | gatompl:bricks_element_type_menu_reference_by_id_properties |
| 슬러그로 메뉴 | gatompl:bricks_element_type_menu_reference_by_slug_properties |
형식은 번역 가능 속성 필터와 동일합니다. 플랫 이름, 점 경로, 또는 리피터용 서브 배열을 사용하세요.
// Custom post / media reference
add_filter(
'gatompl:bricks_element_type_custompost_and_media_reference_properties',
static function (array $properties): array {
$properties['featured-post'][] = 'post_id';
$properties['gallery']['items'][] = 'image_id';
return $properties;
}
);
// Taxonomy term reference
add_filter(
'gatompl:bricks_element_type_taxonomy_term_reference_properties',
static function (array $properties): array {
$properties['related-category'][] = 'category_id';
return $properties;
}
);
// Menu reference by ID
add_filter(
'gatompl:bricks_element_type_menu_reference_by_id_properties',
static function (array $properties): array {
$properties['menu-picker'][] = 'menu_id';
return $properties;
}
);
// Menu reference by slug
add_filter(
'gatompl:bricks_element_type_menu_reference_by_slug_properties',
static function (array $properties): array {
$properties['menu-picker'][] = 'menu_slug';
return $properties;
}
);요소 이름과 속성 이름 확인 방법
Translate custom posts GraphQL 쿼리를 실행하고 응답의 bricksData 필드를 확인하세요. 각 요소는 name과 settings 트리를 노출합니다. 위의 훅에 전달해야 할 속성 이름(중첩된 점 경로 및 리피터 필드 포함)을 거기서 찾을 수 있습니다.

쿼리 실행 방법에 대해서는 번역할 페이지 빌더 데이터 가져오기 가이드를 참조하세요.
예제 참조 위치
플러그인 자체의 통합은 유용한 참고 자료입니다. 설치한 플러그인 내의 다음 파일을 확인하세요.
wp-content/plugins/gato-ai-translations-for-polylang/src/ConditionalOnContext/LicenseIsActive/ConditionalOnModule/Bricks/Constants/ElementTypes.php