Компонент мультиязычность и новый API translate через yandex cloud

#1 4 ноября 2020 в 19:18
В компоненте мультиязычность есть яндекс переводчик, который очень облегчает процесс перевода, но с недавнего времени API для переводчика яндекса стал платным, кто-нибудь знает как настроить платный API translate через yandex cloud ?
И вообще где вся взаимосвязь с API yandex в компоненте прописывается?
#2 4 ноября 2020 в 19:21
Вроде здесь templates\default\controllers\multilang\backend\add.tpl.php javascript для API переводчика
  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3. $('form .field label').append('<?php echo $btn; ?>');
  4. });
  5. function ya_get(button){
  6. <?php if($options && isset($options['key'])){ ?>
  7. button = $(button);
  8. $('img', button).attr('src', '/templates/default/images/loading.gif');
  9. var key = '<?php echo $options['key'] ? $options['key'] : false; ?>';
  10. if(key){
  11. var block = $(button).parents('.field');
  12. var field = $('input, textarea', block).attr('name');
  13. if(field){
  14. <?php $url = '/multilang/translation/' . $type . '/' . $parent . '/' . $id . '/' . $lang; ?>
  15. $.post('<?php html($url); ?>', {field : field}, function(result){
  16. if(result.error){
  17. alert(result.translate);
  18. } else {
  19. $('form input[name="'+field+'"], form textarea[name="'+field+'"]').val(result.translate);
  20. if ( $( 'form #f_'+field+' .redactor_editor' ).length ) {
  21. $('form #f_'+field+' .redactor_editor').html(result.translate);
  22. }
  23. $('img', button).attr('src', '<?php html($flag); ?>');
  24. }
  25. }, 'json');
  26. }
  27. } else {alert('<?php html(LANG_MULTILANG_ERROR_API_KEY); ?>');}
  28. <?php } else { ?>
  29. alert('<?php html(LANG_MULTILANG_ERROR_API_KEY); ?>');
  30. <?php } ?>
  31. }
  32. </script>
#3 5 ноября 2020 в 09:32

И вообще где вся взаимосвязь с API yandex в компоненте прописывается?

Vladimir
Вот тут github.com/my-instantcms/icms2_multilang/blob/master/package/system/controllers/multilang/frontend.php см. функцию actionTranslation

По поводу API сам не знаю как быть, других решений не знаю, а yandex cloud смотрел, не помню но что то не подошло
#4 5 ноября 2020 в 14:01

По поводу API

Evanescence
О платном будущем — cloud.yandex.ru/services/translate

Там подчёркнуто, что Yandex Translate построен на основе опыта создания Яндекс.Переводчика.
Ссылка на последний была дана ранее в комментариях здесь — /blogs/moi-razrabotki/komponent-multijazychnost.html#comment_114304
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.