This document provides instructions on how to extend ConveyThis's translation capabilities for WordPress by customizing its translation rules and targeting specific code elements.
ConveyThis uses built-in rules to identify translatable content. You can use the conveythis_get_dom_checkers
filter to extend this functionality and instruct the plugin to translate content within specific HTML attributes that you define.
Use Case:
Imagine you have data stored in a custom data-slide-title
attribute and want to ensure it gets translated.
Code Example:
add_filter( 'conveythis_get_dom_checkers', 'custom_conveythis_dom_check' );
function custom_conveythis_dom_check( $dom_checkers ) {
if (!class_exists('CustomAttributeChecker')) {
class CustomAttributeChecker {
const DOM = '[data-slide-title]';
const PROPERTY = 'data-slide-title';
const WORD_TYPE = TEXT;
}
$dom_checkers[] = '\CustomAttributeChecker';
}
return $dom_checkers;
}
ConveyThis translates certain values within JSON responses by default and HTML content. However, you can use the conveythis_add_json_keys
filter to target additional keys for translation.
Use Case:
Imagine you have a custom key named "message"
in your JSON that contains text you want to translate. By default, ConveyThis might overlook this key.
Code Example:
add_filter( 'conveythis_add_json_keys', 'custom_conveythis_add_json_keys' );
function custom_conveythis_add_json_keys( $keys ) {
$keys[] = 'message'; // Add your custom key here
return $keys;
}