/**
  * translateAlias
  *
  * @return  void
  */
 public static function translateAlias()
 {
     $easyset = \Ezset::getInstance();
     $input = \JFactory::getApplication()->input;
     // Set translate language
     $SourceLan = $easyset->params->get('originLan');
     $ResultLan = $easyset->params->get('tranLan', 'en');
     // Get query
     $jform = $input->post->getRaw('jform', array());
     if (!isset($jform) || !isset($jform['alias']) || !isset($jform['title'])) {
         return;
     }
     $alias = $jform['alias'];
     $title = $jform['title'];
     $titleTmp = explode('::', $jform['title']);
     if (!empty($titleTmp[1])) {
         $title = $titleTmp[0];
         $alias = \JFilterOutput::stringURLSafe($titleTmp[1]);
     }
     if ('' == (string) trim($alias)) {
         $alias = LanguageHelper::translate($title, $SourceLan, $ResultLan);
         $alias = trim($alias);
         $alias = \JFilterOutput::stringURLSafe($alias);
         $alias = strtr($alias, static::$replace);
         $alias = trim($alias, '-');
     }
     $jform['alias'] = $alias;
     $jform['title'] = $title;
     $input = \JFactory::getApplication()->input;
     $input->post->set('jform', $jform, 'method', true);
     $input->request->set('jform', $jform);
 }
 /**
  * Method to test translate().
  *
  * @return void
  *
  * @covers Windwalker\Helper\LanguageHelper::translate
  */
 public function testTranslate()
 {
     if (!defined('WINDWALKER_TEST_GOOGLE_TRANSLATE') || !WINDWALKER_TEST_GOOGLE_TRANSLATE) {
         $this->markTestSkipped('Skip Google Translate test.');
     }
     $testParagraph = 'admin article news';
     $expectedResult = '管理員文章新聞';
     $gTranslated = LanguageHelper::translate($testParagraph, 'en', 'zh-TW');
     $this->assertEquals($expectedResult, $gTranslated);
 }
Example #3
0
 /**
  * tranAlias
  *
  * @param \stdClass $article
  *
  * @return  void
  */
 public function tranAlias(&$article)
 {
     $config = JFactory::getConfig();
     if ($config->get('unicodeslugs')) {
         return;
     }
     $alias = $article->alias;
     $title = $article->title;
     $titleTmp = explode('::', $title);
     if (!empty($titleTmp[1])) {
         $title = $titleTmp[0];
         $alias = $titleTmp[1];
     }
     $alias = JFilterOutput::stringURLSafe($alias);
     if (trim($alias) == '') {
         $alias = \Windwalker\Helper\LanguageHelper::translate($article->title, null, 'en');
         $alias = trim($alias);
         $alias = JFilterOutput::stringURLSafe($alias);
         $replace = array('aquot' => '', 'a39' => '', '--' => '-');
         $alias = strtr($alias, $replace);
         $alias = trim($alias, '-');
     }
     $article->title = trim($title);
     $article->alias = trim($alias);
 }