Битрикс, функции для автоматического перевода текста

Дата: 26 октября /

Bitrix пользуется сервисом перевода Bing, таким образом можно использовать ключ полученный для Вашего ресурса в API конструкциях Bing для перевода на вашем сайте.

Данный код нужно разместить в файле init.php

<?
define('BING_API', 'YOUR_API_KEY');
 
function loadData($url, $ref = false) {
	$chImg = curl_init($url);
	curl_setopt($chImg, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($chImg, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0) Gecko/20100101 Firefox/4.0");
	if ($ref) {
		curl_setopt($chImg, CURLOPT_REFERER, $ref);
	}
	$curl_scraped_data = curl_exec($chImg);
	curl_close($chImg);
	return $curl_scraped_data;
}
 
function translate($text, $from = 'ru', $to = 'en') {
	$data = loadData('http://api.bing.net/json.aspx?AppId=' . BING_API . '&Sources=Translation&Version=2.2&Translation.SourceLanguage=' . $from . '&Translation.TargetLanguage=' . $to . '&Query=' . urlencode($text));
	$translated = json_decode($data);
	if (sizeof($translated) > 0) {
		if (isset($translated->SearchResponse->Translation->Results[0]->TranslatedTerm)) {
			return $translated->SearchResponse->Translation->Results[0]->TranslatedTerm;
		} else {
			return false;
		}
	} else {
		return false;
	}
}
?>

После этого можно использовать функцию перевода:

<?=translate('Новая редакция CMS 1C Bitrix 12.0', 'ru', 'en');?>

Источник — http://www.bitrix-help.ru/db/api/transliteration_and_translation_in_1_c_bitrix/

Статьи по теме:

  1. MySQL, как выбрать записи содержащие определенный фрагмент текста или слово?
  2. Битрикс, как скопировать инфоблок?
  3. Битрикс, как корректно обрезать текст?
  4. Bitrix, как передать переменную в другой компонент или отложенные функции
  5. Битрикс, как получить ID раздела или элемента инфоблока по символьному коду?

Метки: ,

Рубрика: Bitrix

Оставить комментарий