WordPress SDL翻译的简码

时间:2019-01-09 06:28:37

标签: wordpress language-translation wordpress-shortcode

我有某种[wp-text text="Lorem Impsum etc" button_text="Read More"][/wp-text]之类的短代码。

我想从 post content field 中提取此短代码,然后发送以下两个属性:textbutton_text以便转换为SDL World Server。

从SDL获得响应后,我想相应地替换该短代码。

有任何建议或帮助吗?

1 个答案:

答案 0 :(得分:0)

以下是关于您的方法的建议:

  1. 解析 shortcode 属性

有了内容,您可以解析变量并使用提供的Wordpress函数shortcode_parse_atts提取所有短代码属性

  1. 对于每个已解析的值,请对提供的SDL World Server REST API进行API调用(或者为了获得更好的性能,您可以将所有翻译归为一组,并在API支持的情况下使用一个复杂的API调用进行翻译< / em>)

  2. 获得响应后,将原始字符串替换为翻译后的字符串。

这是PHP中的伪代码示例:

$shotcode_attributes = shortcode_parse_atts( $post->post_content );

foreach ( $shortcode_attributes as $attribute => $value ) {
  // Make SDL World Server API call refer to the API documentation for the exact way
  $translated_value = $sdlApiClient->translate( $value );

  // Replace the translated value.
  // You can be more precise here ensuring that the value is inside the shortcode
  $post->post_content = str_replace(
    "{$attribute}=\"{$value}\"", 
    "{$attribute}=\"{$translated_value}\"", 
    $post->post_content
  );
}

您还可以研究和检查提供的SDL WordPress Connector