Version Description
Download this release
Release Info
Developer | johnclause |
Plugin | qTranslate X |
Version | 3.4.6.8 |
Comparing to | |
See all releases |
Code changes from version 3.4.6.7 to 3.4.6.8
- admin/qtx_admin.php +25 -2
- admin/qtx_admin_utils.php +53 -0
- inc/qtx_dbg.php +1 -1
- qtranslate.php +3 -2
- qtranslate_core.php +32 -12
- qtranslate_frontend.php +1 -0
- qtranslate_options.php +6 -0
- readme.txt +6 -1
admin/qtx_admin.php
CHANGED
@@ -777,7 +777,7 @@ function qtranxf_admin_notices_config() {
|
|
777 |
* A term name containing '&' is stored in database with '&' instead of '&',
|
778 |
* but search in get_terms is done on raw '&' coming from $_POST variable.
|
779 |
*/
|
780 |
-
function qtranxf_get_terms_args($args) {
|
781 |
if(!empty($args['name'])){
|
782 |
$p = 0;
|
783 |
while(($p = strpos($args['name'],'&',$p)) !== false){
|
@@ -789,10 +789,33 @@ function qtranxf_get_terms_args($args) {
|
|
789 |
$p += 4;
|
790 |
}
|
791 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
792 |
}
|
793 |
return $args;
|
794 |
}
|
795 |
-
add_filter('get_terms_args', 'qtranxf_get_terms_args');
|
796 |
//apply_filters( 'get_terms_args', $args, $taxonomies );
|
797 |
|
798 |
/**
|
777 |
* A term name containing '&' is stored in database with '&' instead of '&',
|
778 |
* but search in get_terms is done on raw '&' coming from $_POST variable.
|
779 |
*/
|
780 |
+
function qtranxf_get_terms_args($args, $taxonomies=null) {
|
781 |
if(!empty($args['name'])){
|
782 |
$p = 0;
|
783 |
while(($p = strpos($args['name'],'&',$p)) !== false){
|
789 |
$p += 4;
|
790 |
}
|
791 |
}
|
792 |
+
global $q_config;
|
793 |
+
$lang = $q_config['language'];
|
794 |
+
if($lang != $q_config['default_language']){
|
795 |
+
$args['name'] = qtranxf_find_term($lang, $args['name']);
|
796 |
+
}
|
797 |
+
}
|
798 |
+
if(!empty($args['name__like'])){
|
799 |
+
global $q_config;
|
800 |
+
$lang = $q_config['language'];
|
801 |
+
if($lang != $q_config['default_language']){
|
802 |
+
$s = $args['name__like'];
|
803 |
+
foreach($q_config['term_name'] as $nm => $ts){
|
804 |
+
if(empty($ts[$lang])) continue;
|
805 |
+
$t = $ts[$lang];
|
806 |
+
if(function_exists('mb_stripos'))
|
807 |
+
$p = mb_stripos($t,$s);
|
808 |
+
else
|
809 |
+
$p = stripos($t,$s);
|
810 |
+
if($p === false) continue;
|
811 |
+
$args['name__like'] = $nm;
|
812 |
+
break;
|
813 |
+
}
|
814 |
+
}
|
815 |
}
|
816 |
return $args;
|
817 |
}
|
818 |
+
add_filter('get_terms_args', 'qtranxf_get_terms_args', 5, 2);
|
819 |
//apply_filters( 'get_terms_args', $args, $taxonomies );
|
820 |
|
821 |
/**
|
admin/qtx_admin_utils.php
CHANGED
@@ -351,6 +351,46 @@ function qtranxf_get_term_joined($obj,$taxonomy=null) {
|
|
351 |
return $obj;
|
352 |
}
|
353 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
354 |
function qtranxf_get_terms_joined($terms, $taxonomy=null, $args=null) {
|
355 |
global $q_config;
|
356 |
if(is_array($terms)){
|
@@ -382,6 +422,19 @@ function qtranxf_useAdminTermLibJoin($obj, $taxonomies=null, $args=null) {
|
|
382 |
add_filter('get_term', 'qtranxf_useAdminTermLibJoin', 5, 2);
|
383 |
add_filter('get_terms', 'qtranxf_useAdminTermLibJoin', 5, 3);
|
384 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
385 |
//does someone use it?
|
386 |
function qtranxf_useAdminTermLib($obj) {
|
387 |
//qtranxf_dbg_echo('qtranxf_useAdminTermLib: $obj: ',$obj,true);
|
351 |
return $obj;
|
352 |
}
|
353 |
|
354 |
+
/**
|
355 |
+
* @since 3.4.6.8
|
356 |
+
* @return string default language name of term $nm in langulage $lang
|
357 |
+
* @param string $lang two-letter language code to search for $nm
|
358 |
+
* @param string $nm name of term in language $lang
|
359 |
+
* @param string $taxonomy
|
360 |
+
*/
|
361 |
+
function qtranxf_find_term($lang, $term, $taxonomy=null) {
|
362 |
+
global $q_config;
|
363 |
+
if($lang != $q_config['default_language']){
|
364 |
+
foreach($q_config['term_name'] as $nm => $ts){
|
365 |
+
if(empty($ts[$lang])) continue;
|
366 |
+
if( $ts[$lang] == $term ) return $nm;
|
367 |
+
}
|
368 |
+
}
|
369 |
+
return $term;
|
370 |
+
}
|
371 |
+
|
372 |
+
/*
|
373 |
+
* @since 3.4.6.8
|
374 |
+
* @return string default language name of term $nm in langulage $lang
|
375 |
+
* @param string $lang two-letter language code to search for $nm
|
376 |
+
* @param string $nm name of term in language $lang
|
377 |
+
* @param string $taxonomy
|
378 |
+
*
|
379 |
+
function qtranxf_find_term_like($lang, $s, $taxonomy=null) {
|
380 |
+
global $q_config;
|
381 |
+
if($lang != $q_config['default_language']){
|
382 |
+
foreach($q_config['term_name'] as $nm => $ts){
|
383 |
+
if(empty($ts[$lang])) continue;
|
384 |
+
if(function_exists('mb_stripos'))
|
385 |
+
$p = stripos($ts[$lang],$s);
|
386 |
+
else
|
387 |
+
$p = stripos($ts[$lang],$s);
|
388 |
+
if( $p !== false) return $nm;
|
389 |
+
}
|
390 |
+
}
|
391 |
+
return $s;
|
392 |
+
} */
|
393 |
+
|
394 |
function qtranxf_get_terms_joined($terms, $taxonomy=null, $args=null) {
|
395 |
global $q_config;
|
396 |
if(is_array($terms)){
|
422 |
add_filter('get_term', 'qtranxf_useAdminTermLibJoin', 5, 2);
|
423 |
add_filter('get_terms', 'qtranxf_useAdminTermLibJoin', 5, 3);
|
424 |
|
425 |
+
/*
|
426 |
+
* @since 3.4.6.8
|
427 |
+
*/
|
428 |
+
function qtranxf_admin_term_name($value, $term_id, $taxonomy = null, $context = null){
|
429 |
+
global $pagenow;
|
430 |
+
if( !empty($context) && $pagenow == 'edit.php' )
|
431 |
+
switch($context){
|
432 |
+
case 'display': return qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage($value);
|
433 |
+
}
|
434 |
+
return $value;
|
435 |
+
}
|
436 |
+
add_filter('term_name', 'qtranxf_admin_term_name', 5, 4);//used in function sanitize_term_field
|
437 |
+
|
438 |
//does someone use it?
|
439 |
function qtranxf_useAdminTermLib($obj) {
|
440 |
//qtranxf_dbg_echo('qtranxf_useAdminTermLib: $obj: ',$obj,true);
|
inc/qtx_dbg.php
CHANGED
@@ -5,7 +5,7 @@ if(WP_DEBUG){
|
|
5 |
if(!function_exists('qtranxf_dbg_log')){
|
6 |
function qtranxf_dbg_log($msg,$var='novar',$bt=false,$exit=false){
|
7 |
global $pagenow, $wp_current_filter;
|
8 |
-
|
9 |
if(!empty($pagenow)) $h = $h.'('.$pagenow.')';
|
10 |
if(!empty($wp_current_filter)){
|
11 |
$cf = end($wp_current_filter);
|
5 |
if(!function_exists('qtranxf_dbg_log')){
|
6 |
function qtranxf_dbg_log($msg,$var='novar',$bt=false,$exit=false){
|
7 |
global $pagenow, $wp_current_filter;
|
8 |
+
$h = isset($_SERVER['REQUEST_TIME_FLOAT']) ? $_SERVER['REQUEST_TIME_FLOAT'] : '';
|
9 |
if(!empty($pagenow)) $h = $h.'('.$pagenow.')';
|
10 |
if(!empty($wp_current_filter)){
|
11 |
$cf = end($wp_current_filter);
|
qtranslate.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: qTranslate-X
|
4 |
Plugin URI: http://wordpress.org/plugins/qtranslate-x/
|
5 |
Description: Adds user-friendly and database-friendly multilingual content support.
|
6 |
-
Version: 3.4.6.
|
7 |
Author: qTranslate Team
|
8 |
Author URI: http://qtranslatexteam.wordpress.com/about
|
9 |
Tags: multilingual, multi, language, admin, tinymce, Polyglot, bilingual, widget, switcher, professional, human, translation, service, qTranslate, zTranslate, mqTranslate, qTranslate Plus, WPML
|
@@ -62,6 +62,7 @@ GitHub Branch: master
|
|
62 |
'gl' by Andrés Bott
|
63 |
'it' by Lorenzo De Tomasi
|
64 |
'ja' by Brian Parker
|
|
|
65 |
'nl' by RobV
|
66 |
'pt'(pt_PT) by netolazaro, Pedro Mendonça
|
67 |
'pb'(pt_BR) by Pedro Mendonça
|
@@ -121,7 +122,7 @@ if ( ! function_exists( 'add_filter' ) ) {
|
|
121 |
* Designed as interface for other plugin integration. The documentation is available at
|
122 |
* https://qtranslatexteam.wordpress.com/integration/
|
123 |
*/
|
124 |
-
define('QTX_VERSION','3.4.6.
|
125 |
|
126 |
if ( ! defined( 'QTRANSLATE_FILE' ) ) {
|
127 |
define( 'QTRANSLATE_FILE', __FILE__ );
|
3 |
Plugin Name: qTranslate-X
|
4 |
Plugin URI: http://wordpress.org/plugins/qtranslate-x/
|
5 |
Description: Adds user-friendly and database-friendly multilingual content support.
|
6 |
+
Version: 3.4.6.8
|
7 |
Author: qTranslate Team
|
8 |
Author URI: http://qtranslatexteam.wordpress.com/about
|
9 |
Tags: multilingual, multi, language, admin, tinymce, Polyglot, bilingual, widget, switcher, professional, human, translation, service, qTranslate, zTranslate, mqTranslate, qTranslate Plus, WPML
|
62 |
'gl' by Andrés Bott
|
63 |
'it' by Lorenzo De Tomasi
|
64 |
'ja' by Brian Parker
|
65 |
+
'lt' by Vytas M.
|
66 |
'nl' by RobV
|
67 |
'pt'(pt_PT) by netolazaro, Pedro Mendonça
|
68 |
'pb'(pt_BR) by Pedro Mendonça
|
122 |
* Designed as interface for other plugin integration. The documentation is available at
|
123 |
* https://qtranslatexteam.wordpress.com/integration/
|
124 |
*/
|
125 |
+
define('QTX_VERSION','3.4.6.8');
|
126 |
|
127 |
if ( ! defined( 'QTRANSLATE_FILE' ) ) {
|
128 |
define( 'QTRANSLATE_FILE', __FILE__ );
|
qtranslate_core.php
CHANGED
@@ -20,11 +20,15 @@ function qtranxf_init_language() {
|
|
20 |
|
21 |
$url_info = &$q_config['url_info'];
|
22 |
$url_info['cookie_enabled'] = isset($_COOKIE[QTX_COOKIE_NAME_FRONT]) || isset($_COOKIE[QTX_COOKIE_NAME_ADMIN]);
|
|
|
|
|
|
|
|
|
23 |
|
24 |
|
25 |
if(WP_DEBUG){
|
26 |
$url_info['pagenow'] = $pagenow;
|
27 |
-
$url_info['REQUEST_METHOD'] = $_SERVER['REQUEST_METHOD'];
|
28 |
if(defined('WP_ADMIN')&&WP_ADMIN) $url_info['WP_ADMIN'] = true;
|
29 |
if(defined('DOING_AJAX')) $url_info['DOING_AJAX_POST'] = $_POST;
|
30 |
if(defined('DOING_CRON')) $url_info['DOING_CRON_POST'] = $_POST;
|
@@ -32,7 +36,7 @@ function qtranxf_init_language() {
|
|
32 |
|
33 |
//fill $url_info the same way as _parseURL does
|
34 |
$url_info['scheme'] = is_ssl() ? 'https' : 'http';
|
35 |
-
$url_info['host'] = $_SERVER['HTTP_HOST'];
|
36 |
|
37 |
if(empty($_SERVER['REQUEST_URI'])){
|
38 |
$url_info['path'] = '';
|
@@ -63,9 +67,8 @@ function qtranxf_init_language() {
|
|
63 |
|
64 |
//qtranxf_dbg_log('qtranxf_init_language: SERVER: ',$_SERVER);
|
65 |
$url_info['language'] = qtranxf_detect_language($url_info);
|
66 |
-
//qtranxf_dbg_log('qtranxf_init_language: detected: url_info: ',$url_info);
|
67 |
-
|
68 |
$q_config['language'] = apply_filters('qtranslate_language', $url_info['language'], $url_info);
|
|
|
69 |
|
70 |
if( $q_config['url_info']['doing_front_end'] && qtranxf_can_redirect() ){
|
71 |
$lang = $q_config['language'];
|
@@ -76,10 +79,11 @@ function qtranxf_init_language() {
|
|
76 |
}
|
77 |
if(isset($url_info['doredirect'])){
|
78 |
$target = apply_filters('qtranslate_language_detect_redirect', $url_lang, $url_orig, $url_info);
|
|
|
79 |
if($target!==false && $target != $url_orig){
|
80 |
-
//qtranxf_dbg_log('qtranxf_init_language: doredirect to '.$lang.PHP_EOL .'urlorg:'.$url_orig.PHP_EOL .'target:'.$target.PHP_EOL .'url_info: ',$url_info);
|
81 |
wp_redirect($target);
|
82 |
-
//header('Location: '.$target);
|
|
|
83 |
exit();
|
84 |
}else{
|
85 |
//neutral path
|
@@ -566,8 +570,23 @@ function qtranxf_load_option_bool( $nm, $default_value=null ) {
|
|
566 |
global $q_config;
|
567 |
$val = get_option('qtranslate_'.$nm);
|
568 |
if($val===FALSE){ if(!is_null($default_value)) $q_config[$nm] = $default_value; }
|
569 |
-
|
570 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
571 |
}
|
572 |
|
573 |
function qtranxf_load_option_func($nm, $opn=null, $func=null) {
|
@@ -952,7 +971,7 @@ function qtranxf_url_set_language($urlinfo,$lang,$showLanguage) {
|
|
952 |
|
953 |
|
954 |
// see if cookies are activated
|
955 |
-
if( !$showLanguage//there still no language information in the converted URL
|
956 |
&& !$q_config['url_info']['cookie_enabled']// there will be no way to take language from the cookie
|
957 |
//&& empty($urlinfo['path']) //why this was here?
|
958 |
//&& !isset($q_config['url_info']['internal_referer'])//three below replace this one?
|
@@ -1009,7 +1028,8 @@ function qtranxf_get_url_for_language($url, $lang, $showLanguage=true) {
|
|
1009 |
return $complete;
|
1010 |
}
|
1011 |
|
1012 |
-
}
|
|
|
1013 |
$urlinfo = qtranxf_get_url_info($url);
|
1014 |
|
1015 |
// check if it's an external link
|
@@ -1390,7 +1410,7 @@ function qtranxf_use($lang, $text, $show_available=false, $show_empty=false) {
|
|
1390 |
if(is_array($text)) {
|
1391 |
// handle arrays recursively
|
1392 |
foreach($text as $key => $t) {
|
1393 |
-
$text[$key] = qtranxf_use($lang,$
|
1394 |
}
|
1395 |
return $text;
|
1396 |
}
|
@@ -1398,7 +1418,7 @@ function qtranxf_use($lang, $text, $show_available=false, $show_empty=false) {
|
|
1398 |
if( is_object($text) || $text instanceof __PHP_Incomplete_Class ) {//since 3.2-b1 instead of @get_class($text) == '__PHP_Incomplete_Class'
|
1399 |
foreach(get_object_vars($text) as $key => $t) {
|
1400 |
if(!isset($text->$key)) continue;
|
1401 |
-
$text->$key = qtranxf_use($lang,$
|
1402 |
}
|
1403 |
return $text;
|
1404 |
}
|
20 |
|
21 |
$url_info = &$q_config['url_info'];
|
22 |
$url_info['cookie_enabled'] = isset($_COOKIE[QTX_COOKIE_NAME_FRONT]) || isset($_COOKIE[QTX_COOKIE_NAME_ADMIN]);
|
23 |
+
if($url_info['cookie_enabled']){
|
24 |
+
if(isset($_COOKIE[QTX_COOKIE_NAME_FRONT])) $url_info['cookie_lang_front'] = $_COOKIE[QTX_COOKIE_NAME_FRONT];
|
25 |
+
if(isset($_COOKIE[QTX_COOKIE_NAME_ADMIN])) $url_info['cookie_lang_admin'] = $_COOKIE[QTX_COOKIE_NAME_ADMIN];
|
26 |
+
}
|
27 |
|
28 |
|
29 |
if(WP_DEBUG){
|
30 |
$url_info['pagenow'] = $pagenow;
|
31 |
+
$url_info['REQUEST_METHOD'] = isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : '';
|
32 |
if(defined('WP_ADMIN')&&WP_ADMIN) $url_info['WP_ADMIN'] = true;
|
33 |
if(defined('DOING_AJAX')) $url_info['DOING_AJAX_POST'] = $_POST;
|
34 |
if(defined('DOING_CRON')) $url_info['DOING_CRON_POST'] = $_POST;
|
36 |
|
37 |
//fill $url_info the same way as _parseURL does
|
38 |
$url_info['scheme'] = is_ssl() ? 'https' : 'http';
|
39 |
+
$url_info['host'] = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : ''; //https://wordpress.org/support/topic/messy-wp-cronphp-command-line-output
|
40 |
|
41 |
if(empty($_SERVER['REQUEST_URI'])){
|
42 |
$url_info['path'] = '';
|
67 |
|
68 |
//qtranxf_dbg_log('qtranxf_init_language: SERVER: ',$_SERVER);
|
69 |
$url_info['language'] = qtranxf_detect_language($url_info);
|
|
|
|
|
70 |
$q_config['language'] = apply_filters('qtranslate_language', $url_info['language'], $url_info);
|
71 |
+
//qtranxf_dbg_log('qtranxf_init_language: detected: url_info: ',$url_info);
|
72 |
|
73 |
if( $q_config['url_info']['doing_front_end'] && qtranxf_can_redirect() ){
|
74 |
$lang = $q_config['language'];
|
79 |
}
|
80 |
if(isset($url_info['doredirect'])){
|
81 |
$target = apply_filters('qtranslate_language_detect_redirect', $url_lang, $url_orig, $url_info);
|
82 |
+
//qtranxf_dbg_log('qtranxf_init_language: doredirect to '.$lang.PHP_EOL .'urlorg:'.$url_orig.PHP_EOL .'target:'.$target.PHP_EOL .'url_info: ',$url_info);
|
83 |
if($target!==false && $target != $url_orig){
|
|
|
84 |
wp_redirect($target);
|
85 |
+
//header('Location: '.$target, true, 302);
|
86 |
+
nocache_headers();//prevent browser from caching redirection
|
87 |
exit();
|
88 |
}else{
|
89 |
//neutral path
|
570 |
global $q_config;
|
571 |
$val = get_option('qtranslate_'.$nm);
|
572 |
if($val===FALSE){ if(!is_null($default_value)) $q_config[$nm] = $default_value; }
|
573 |
+
else{
|
574 |
+
switch($val){
|
575 |
+
case '0': $q_config[$nm] = false; break;
|
576 |
+
case '1': $q_config[$nm] = true; break;
|
577 |
+
default: $val = strtolower($val);
|
578 |
+
switch($val){
|
579 |
+
case 'n':
|
580 |
+
case 'no': $q_config[$nm] = false; break;
|
581 |
+
case 'y':
|
582 |
+
case 'yes': $q_config[$nm] = true; break;
|
583 |
+
default: $q_config[$nm] == !empty($val); break;
|
584 |
+
}
|
585 |
+
break;
|
586 |
+
}
|
587 |
+
}
|
588 |
+
//elseif($val==='0') $q_config[$nm] = false;
|
589 |
+
//elseif($val==='1') $q_config[$nm] = true;
|
590 |
}
|
591 |
|
592 |
function qtranxf_load_option_func($nm, $opn=null, $func=null) {
|
971 |
|
972 |
|
973 |
// see if cookies are activated
|
974 |
+
if( !$showLanguage//there still is no language information in the converted URL
|
975 |
&& !$q_config['url_info']['cookie_enabled']// there will be no way to take language from the cookie
|
976 |
//&& empty($urlinfo['path']) //why this was here?
|
977 |
//&& !isset($q_config['url_info']['internal_referer'])//three below replace this one?
|
1028 |
return $complete;
|
1029 |
}
|
1030 |
|
1031 |
+
}
|
1032 |
+
else{
|
1033 |
$urlinfo = qtranxf_get_url_info($url);
|
1034 |
|
1035 |
// check if it's an external link
|
1410 |
if(is_array($text)) {
|
1411 |
// handle arrays recursively
|
1412 |
foreach($text as $key => $t) {
|
1413 |
+
$text[$key] = qtranxf_use($lang,$t,$show_available,$show_empty);
|
1414 |
}
|
1415 |
return $text;
|
1416 |
}
|
1418 |
if( is_object($text) || $text instanceof __PHP_Incomplete_Class ) {//since 3.2-b1 instead of @get_class($text) == '__PHP_Incomplete_Class'
|
1419 |
foreach(get_object_vars($text) as $key => $t) {
|
1420 |
if(!isset($text->$key)) continue;
|
1421 |
+
$text->$key = qtranxf_use($lang,$t,$show_available,$show_empty);
|
1422 |
}
|
1423 |
return $text;
|
1424 |
}
|
qtranslate_frontend.php
CHANGED
@@ -389,6 +389,7 @@ function qtranxf_translate_deep($value,$lang){
|
|
389 |
}
|
390 |
}else if(is_object($value) || $value instanceof __PHP_Incomplete_Class){
|
391 |
foreach(get_object_vars($value) as $k => $v) {
|
|
|
392 |
$value->$k = qtranxf_translate_deep($v,$lang);
|
393 |
}
|
394 |
}
|
389 |
}
|
390 |
}else if(is_object($value) || $value instanceof __PHP_Incomplete_Class){
|
391 |
foreach(get_object_vars($value) as $k => $v) {
|
392 |
+
if(!isset($value->$k)) continue;
|
393 |
$value->$k = qtranxf_translate_deep($v,$lang);
|
394 |
}
|
395 |
}
|
qtranslate_options.php
CHANGED
@@ -186,6 +186,7 @@ function qtranxf_default_language_name()
|
|
186 |
$nnm['cy'] = 'Cymraeg';// Oct 22 2015
|
187 |
$nnm['ca'] = 'Català';//Nov 6 2015
|
188 |
$nnm['sk'] = 'Slovenčina';//Nov 12 2015
|
|
|
189 |
//$nnm['tw'] = '繁體中文';
|
190 |
return $nnm;
|
191 |
}
|
@@ -226,6 +227,7 @@ function qtranxf_default_locale()
|
|
226 |
$loc['cy'] = 'cy';// not 'cy_GB'
|
227 |
$loc['ca'] = 'ca';
|
228 |
$loc['sk'] = 'sk_SK';
|
|
|
229 |
//$loc['tw'] = 'zh_TW';
|
230 |
return $loc;
|
231 |
}
|
@@ -279,6 +281,7 @@ function qtranxf_default_not_available()
|
|
279 |
$nam['cy'] = 'Mae’n ddrwg gen i, mae\'r cofnod hwn dim ond ar gael mewn %LANG:, : a %.';//ok
|
280 |
$nam['ca'] = 'Ho sentim, aquesta entrada es troba disponible únicament en %LANG:, : i %.';//ok
|
281 |
$nam['sk'] = 'Ľutujeme, táto stránka je dostupná len v %LANG:, : a %.';//ok
|
|
|
282 |
//$nam['tw'] = '对不起,此内容只适用于%LANG:,:和%。';
|
283 |
return $nam;
|
284 |
}
|
@@ -319,6 +322,7 @@ function qtranxf_default_date_format()
|
|
319 |
$dtf['cy'] = '%A %B %e%q, %Y';//not verified
|
320 |
$dtf['ca'] = 'j F, Y';
|
321 |
$dtf['sk'] = 'j.F Y';
|
|
|
322 |
//$dtf['tw'] = '%x %A';
|
323 |
return $dtf;
|
324 |
}
|
@@ -358,6 +362,7 @@ function qtranxf_default_time_format()
|
|
358 |
$tmf['cy'] = '%I:%M %p';//not verified
|
359 |
$tmf['ca'] = 'G:i';
|
360 |
$tmf['sk'] = 'G:i';
|
|
|
361 |
//$tmf['tw'] = '%I:%M%p';
|
362 |
return $tmf;
|
363 |
}
|
@@ -398,6 +403,7 @@ function qtranxf_default_flag()
|
|
398 |
$flg['cy'] = 'cy_GB.png';
|
399 |
$flg['ca'] = 'catala.png';
|
400 |
$flg['sk'] = 'sk.png';
|
|
|
401 |
//$flg['tw'] = 'tw.png';
|
402 |
return $flg;
|
403 |
}
|
186 |
$nnm['cy'] = 'Cymraeg';// Oct 22 2015
|
187 |
$nnm['ca'] = 'Català';//Nov 6 2015
|
188 |
$nnm['sk'] = 'Slovenčina';//Nov 12 2015
|
189 |
+
$nnm['lt'] = 'Lietuvių';//May 3 2016
|
190 |
//$nnm['tw'] = '繁體中文';
|
191 |
return $nnm;
|
192 |
}
|
227 |
$loc['cy'] = 'cy';// not 'cy_GB'
|
228 |
$loc['ca'] = 'ca';
|
229 |
$loc['sk'] = 'sk_SK';
|
230 |
+
$loc['lt'] = 'lt_LT';
|
231 |
//$loc['tw'] = 'zh_TW';
|
232 |
return $loc;
|
233 |
}
|
281 |
$nam['cy'] = 'Mae’n ddrwg gen i, mae\'r cofnod hwn dim ond ar gael mewn %LANG:, : a %.';//ok
|
282 |
$nam['ca'] = 'Ho sentim, aquesta entrada es troba disponible únicament en %LANG:, : i %.';//ok
|
283 |
$nam['sk'] = 'Ľutujeme, táto stránka je dostupná len v %LANG:, : a %.';//ok
|
284 |
+
$nam['lt'] = 'Atsiprašome, šis puslapis galimas tik %LANG:, : ir %.';
|
285 |
//$nam['tw'] = '对不起,此内容只适用于%LANG:,:和%。';
|
286 |
return $nam;
|
287 |
}
|
322 |
$dtf['cy'] = '%A %B %e%q, %Y';//not verified
|
323 |
$dtf['ca'] = 'j F, Y';
|
324 |
$dtf['sk'] = 'j.F Y';
|
325 |
+
$dtf['lt'] = '%Y.%m.%d';
|
326 |
//$dtf['tw'] = '%x %A';
|
327 |
return $dtf;
|
328 |
}
|
362 |
$tmf['cy'] = '%I:%M %p';//not verified
|
363 |
$tmf['ca'] = 'G:i';
|
364 |
$tmf['sk'] = 'G:i';
|
365 |
+
$tmf['lt'] = '%H:%M';
|
366 |
//$tmf['tw'] = '%I:%M%p';
|
367 |
return $tmf;
|
368 |
}
|
403 |
$flg['cy'] = 'cy_GB.png';
|
404 |
$flg['ca'] = 'catala.png';
|
405 |
$flg['sk'] = 'sk.png';
|
406 |
+
$flg['lt'] = 'lt.png';
|
407 |
//$flg['tw'] = 'tw.png';
|
408 |
return $flg;
|
409 |
}
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Contributors: johnclause, chineseleper, Vavooon, grafcom
|
|
4 |
Tags: multilingual, language, admin, tinymce, bilingual, widget, switcher, i18n, l10n, multilanguage, translation
|
5 |
Requires at least: 3.9
|
6 |
Tested up to: 4.5
|
7 |
-
Stable tag: 3.4.6.
|
8 |
License: GPLv3 or later
|
9 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QEXEK3HX8AR6U
|
10 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
@@ -121,6 +121,11 @@ This version recovers translation of parent of a category on category edit page.
|
|
121 |
|
122 |
## Changelog ##
|
123 |
|
|
|
|
|
|
|
|
|
|
|
124 |
### 3.4.6.7 ###
|
125 |
* Fix: for `/wp-login/` and `/login/`. Thanks to [extremecarver](http://qtranslate-x.com/support/index.php?action=profile;u=373).
|
126 |
* Fix: unexpected menu behaviour for empty menu label when option "Hide Content which is not available for the selected language" is on: [WP Topic](https://wordpress.org/support/topic/menu-visible-despite-empty-label).
|
4 |
Tags: multilingual, language, admin, tinymce, bilingual, widget, switcher, i18n, l10n, multilanguage, translation
|
5 |
Requires at least: 3.9
|
6 |
Tested up to: 4.5
|
7 |
+
Stable tag: 3.4.6.8
|
8 |
License: GPLv3 or later
|
9 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QEXEK3HX8AR6U
|
10 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
121 |
|
122 |
## Changelog ##
|
123 |
|
124 |
+
### 3.4.6.8 ###
|
125 |
+
* Imrovement: translation of taxonomies on page `/wp-admin/edit.php`.
|
126 |
+
* Improvement: disable browsing caching before redirection based on languge [Issue #306](https://github.com/qTranslate-Team/qtranslate-x/issues/306).
|
127 |
+
* Fix: proper tag editing on page `post.php` [Issue #366](https://github.com/qTranslate-Team/qtranslate-x/issues/366).
|
128 |
+
|
129 |
### 3.4.6.7 ###
|
130 |
* Fix: for `/wp-login/` and `/login/`. Thanks to [extremecarver](http://qtranslate-x.com/support/index.php?action=profile;u=373).
|
131 |
* Fix: unexpected menu behaviour for empty menu label when option "Hide Content which is not available for the selected language" is on: [WP Topic](https://wordpress.org/support/topic/menu-visible-despite-empty-label).
|