qTranslate X - Version 3.1

Version Description

stable = * Includes all changes after version 3.0. * Maintenance: 'Translate Service' feature has been disabled, as the vast majority of people surveyed declined it. Thanks to Gunu (Marius Siroen) who made this survey possible.

Download this release

Release Info

Developer johnclause
Plugin Icon wp plugin qTranslate X
Version 3.1
Comparing to
See all releases

Code changes from version 3.0 to 3.1

Files changed (77) hide show
  1. admin/activation_hook.php +11 -12
  2. admin/admin_utils.php +126 -6
  3. admin/import_export.php +45 -11
  4. admin/js/common.js +171 -52
  5. admin/js/common.min.js +1 -1
  6. admin/js/edit-custom-page.js +1 -1
  7. admin/js/edit-custom-page.min.js +1 -1
  8. admin/js/edit-post.js +1 -1
  9. admin/js/edit-post.min.js +1 -1
  10. admin/js/edit-tags.js +1 -1
  11. admin/js/edit-tags.min.js +1 -1
  12. admin/update-gettext-db.php +20 -84
  13. lang/qtranslate-az_AZ.mo +0 -0
  14. lang/qtranslate-az_AZ.po +271 -214
  15. lang/qtranslate-bg_BG.mo +0 -0
  16. lang/qtranslate-bg_BG.po +271 -214
  17. lang/qtranslate-cs_CZ.mo +0 -0
  18. lang/qtranslate-cs_CZ.po +270 -213
  19. lang/qtranslate-da_DK.mo +0 -0
  20. lang/qtranslate-da_DK.po +271 -214
  21. lang/qtranslate-de_DE.mo +0 -0
  22. lang/qtranslate-de_DE.po +271 -214
  23. lang/qtranslate-eo.mo +0 -0
  24. lang/qtranslate-eo.po +269 -213
  25. lang/qtranslate-es_CA.mo +0 -0
  26. lang/qtranslate-es_CA.po +271 -214
  27. lang/qtranslate-es_ES.mo +0 -0
  28. lang/qtranslate-es_ES.po +271 -214
  29. lang/qtranslate-fr_FR.mo +0 -0
  30. lang/qtranslate-fr_FR.po +270 -213
  31. lang/qtranslate-hr_HR.mo +0 -0
  32. lang/qtranslate-hr_HR.po +1053 -0
  33. lang/qtranslate-hu_HU.mo +0 -0
  34. lang/qtranslate-hu_HU.po +271 -214
  35. lang/qtranslate-id_ID.mo +0 -0
  36. lang/qtranslate-id_ID.po +271 -214
  37. lang/qtranslate-it_IT.mo +0 -0
  38. lang/qtranslate-it_IT.po +271 -214
  39. lang/qtranslate-ja_JP.mo +0 -0
  40. lang/qtranslate-ja_JP.po +270 -213
  41. lang/qtranslate-mk_MK.mo +0 -0
  42. lang/qtranslate-mk_MK.po +271 -214
  43. lang/qtranslate-ms_MY.mo +0 -0
  44. lang/qtranslate-ms_MY.po +270 -213
  45. lang/qtranslate-nl_NL.mo +0 -0
  46. lang/qtranslate-nl_NL.po +393 -677
  47. lang/qtranslate-pl_PL.mo +0 -0
  48. lang/qtranslate-pl_PL.po +271 -214
  49. lang/qtranslate-pt_BR.mo +0 -0
  50. lang/qtranslate-pt_BR.po +269 -213
  51. lang/qtranslate-pt_PT.mo +0 -0
  52. lang/qtranslate-pt_PT.po +276 -217
  53. lang/qtranslate-ro_RO.mo +0 -0
  54. lang/qtranslate-ro_RO.po +271 -214
  55. lang/qtranslate-ru_RU.mo +0 -0
  56. lang/qtranslate-ru_RU.po +275 -215
  57. lang/qtranslate-sr_RS.mo +0 -0
  58. lang/qtranslate-sr_RS.po +271 -214
  59. lang/qtranslate-sv_SE.mo +0 -0
  60. lang/qtranslate-sv_SE.po +269 -213
  61. lang/qtranslate-tr_TR.mo +0 -0
  62. lang/qtranslate-tr_TR.po +271 -214
  63. lang/qtranslate-zh_CN.mo +0 -0
  64. lang/qtranslate-zh_CN.po +270 -213
  65. lang/qtranslate.pot +269 -214
  66. qtranslate.css +3 -36
  67. qtranslate.php +398 -409
  68. qtranslate_compatibility.php +0 -1
  69. qtranslate_configuration.css +35 -3
  70. qtranslate_configuration.php +54 -42
  71. qtranslate_core.php +67 -51
  72. qtranslate_frontend.php +31 -34
  73. qtranslate_hooks.php +4 -4
  74. qtranslate_services.php +7 -8
  75. qtranslate_utils.php +6 -7
  76. qtranslate_widget.php +8 -4
  77. readme.txt +58 -6
admin/activation_hook.php CHANGED
@@ -34,11 +34,11 @@ function qtranxf_admin_notice_deactivate_plugin($nm,$plugin)
34
$imported=true;
35
}
36
}
37
- $msg=sprintf(__('Activation of plugin %s deactivated plugin %s since they cannot run simultaneously.','qtranslate'),$qtxlink,$link).' ';
38
if($imported){
39
- $msg.=sprintf(__('The compatible settings from %s have been imported to %s. Further tuning, import, export and reset of options can be done at Settings/Languages configuration page, once %s is running.%sContinue%s','qtranslate'),$nm,$qtxnm,$qtxnm,'</p><p><a class="button" href="">','</a>');
40
}else{
41
- $msg.=sprintf(__('You may import/export compatible settings from %s to %s on Settings/Languages configuration page, once %s is running.%sContinue%s','qtranslate'),$nm,$qtxnm,$qtxnm,'</p><p><a class="button" href="">','</a>');
42
}
43
//$nonce=wp_create_nonce('deactivate-plugin_'.$plugin);
44
//$msg=sprintf(__('Plugin %s cannot run concurrently with %s, please %sdeactivate %s%s. You may import compatible settings from %s to %s on Settings/Languages configuration page, once %s is running.','qtranslate'),$qtxlink,$link,'<a href="'.admin_url('plugins.php?action=deactivate&plugin='.encode($plugin).'&plugin_status=all&paged=1&s&_wpnonce='.$nonce.'">',$nm,'</a>',$nm,$qtxnm,$qtxnm);
@@ -131,11 +131,11 @@ function qtranxf_admin_notice_plugin_conflict($title,$plugin)
131
$me='<a href="https://wordpress.org/plugins/qtranslate-x/" style="color:blue" target="_blank">qTranslate&#8209;X</a>';
132
$link='<a href="https://wordpress.org/plugins/'.dirname($plugin).'/" style="color:magenta" target="_blank">'.$title.'</a>';
133
echo '<div class="error"><p style="font-size: larger">';
134
- echo '<span style="color:red"><strong>'.__('Error').':</strong></span> '.sprintf(__('plugin %s cannot run concurrently with plugin %s. You may import and export compatible settings between %s and %s on Settings/<a href="%s">Languages</a> configuration page. Then you have to deactivate one of the plugins to continue.','qtranslate'),$me,$link,'qTranslate&#8209;X',$title,admin_url('options-general.php?page=qtranslate-x'));
135
$nonce=wp_create_nonce('deactivate-plugin_'.$plugin);
136
- echo '</p><p> &nbsp; &nbsp; &nbsp; &nbsp;<a class="button" href="'.admin_url('plugins.php?action=deactivate&plugin='.urlencode($plugin).'&plugin_status=all&paged=1&s&_wpnonce='.$nonce).'"><strong>'.__('Deactivate ').'<span style="color:magenta">'.$title.'</span></strong></a>';
137
$nonce=wp_create_nonce('deactivate-plugin_qtranslate-x/qtranslate.php');
138
- echo ' &nbsp; &nbsp; &nbsp; &nbsp;<a class="button" href="'.admin_url('plugins.php?action=deactivate&plugin='.urlencode('qtranslate-x/qtranslate.php').'&plugin_status=all&paged=1&s&_wpnonce='.$nonce).'"><strong>'.__('Deactivate ').'<span style="color:blue">qTranslate&#8209;X</span></strong></a>';
139
echo '</p></div>';
140
}
141
@@ -155,19 +155,19 @@ function qtranxf_admin_notices_survey_request()
155
?>
156
<script type="text/javascript">
157
function qtranxj_dismiss_admin_notice(id) {
158
- jQuery('#qtranxs_'+id).css('display','none');
159
jQuery.post(ajaxurl, { action: 'qtranslate_admin_notice', notice_id: id }
160
//,function(response) { eval(response); }
161
);
162
}
163
</script>
164
<?php
165
- echo '<div class="updated" id="qtranxs_survey-translation-service"><p style="font-size: larger;">';// text-align: center;
166
- printf(__('Thank you for using %s plugin!','qtranslate'), '<a href="https://wordpress.org/plugins/qtranslate-x/" style="color:blue" target="_blank">qTranslate&#8209;X</a>');
167
echo '<br>';
168
- printf(__('Please, help us to make decision on "%s" feature, press the button below.','qtranslate'),__('Translation Service', 'qtranslate'));
169
echo '</p><p><a class="button" href="http://www.marius-siroen.com/qTranslate-X/TranslateServices/" target="_blank">';
170
- printf(__('Survey on "%s" feature','qtranslate'),__('Translation Service', 'qtranslate'));
171
echo '</a>&nbsp;&nbsp;&nbsp;<a class="button" href="javascript:qtranxj_dismiss_admin_notice(\'survey-translation-service\');">'.__('I have already done it, dismiss this message.', 'qtranslate');
172
echo '</a></p></div>';
173
}
@@ -183,4 +183,3 @@ function qtranxf_ajax_qtranslate_admin_notice()
183
//echo "jQuery('#qtranxs_+$id').css('display','none');"; die();
184
}
185
add_action('wp_ajax_qtranslate_admin_notice', 'qtranxf_ajax_qtranslate_admin_notice');
186
- ?>
34
$imported=true;
35
}
36
}
37
+ $msg=sprintf(__('Activation of plugin %s deactivated plugin %s since they cannot run simultaneously.', 'qtranslate'), $qtxlink, $link).' ';
38
if($imported){
39
+ $msg.=sprintf(__('The compatible settings from %s have been imported to %s. Further tuning, import, export and reset of options can be done at Settings/Languages configuration page, once %s is running.%sContinue%s', 'qtranslate'), $nm, $qtxnm, $qtxnm, '</p><p><a class="button" href="">', '</a>');
40
}else{
41
+ $msg.=sprintf(__('You may import/export compatible settings from %s to %s on Settings/Languages configuration page, once %s is running.%sContinue%s', 'qtranslate'), $nm, $qtxnm, $qtxnm, '</p><p><a class="button" href="">','</a>');
42
}
43
//$nonce=wp_create_nonce('deactivate-plugin_'.$plugin);
44
//$msg=sprintf(__('Plugin %s cannot run concurrently with %s, please %sdeactivate %s%s. You may import compatible settings from %s to %s on Settings/Languages configuration page, once %s is running.','qtranslate'),$qtxlink,$link,'<a href="'.admin_url('plugins.php?action=deactivate&plugin='.encode($plugin).'&plugin_status=all&paged=1&s&_wpnonce='.$nonce.'">',$nm,'</a>',$nm,$qtxnm,$qtxnm);
131
$me='<a href="https://wordpress.org/plugins/qtranslate-x/" style="color:blue" target="_blank">qTranslate&#8209;X</a>';
132
$link='<a href="https://wordpress.org/plugins/'.dirname($plugin).'/" style="color:magenta" target="_blank">'.$title.'</a>';
133
echo '<div class="error"><p style="font-size: larger">';
134
+ printf(__('%sError:%s plugin %s cannot run concurrently with plugin %s. You may import and export compatible settings between %s and %s on Settings/<a href="%s">Languages</a> configuration page. Then you have to deactivate one of the plugins to continue.','qtranslate'),'<span style="color:red"><strong>','</strong></span>',$me,$link,'qTranslate&#8209;X',$title,admin_url('options-general.php?page=qtranslate-x'), 'qtranslate');
135
$nonce=wp_create_nonce('deactivate-plugin_'.$plugin);
136
+ echo '</p><p> &nbsp; &nbsp; &nbsp; &nbsp;<a class="button" href="'.admin_url('plugins.php?action=deactivate&plugin='.urlencode($plugin).'&plugin_status=all&paged=1&s&_wpnonce='.$nonce).'"><strong>'.sprintf(__('Deactivate %s', 'qtranslate'), '<span style="color:magenta">'.$title.'</span>').'</strong></a>';
137
$nonce=wp_create_nonce('deactivate-plugin_qtranslate-x/qtranslate.php');
138
+ echo ' &nbsp; &nbsp; &nbsp; &nbsp;<a class="button" href="'.admin_url('plugins.php?action=deactivate&plugin='.urlencode('qtranslate-x/qtranslate.php').'&plugin_status=all&paged=1&s&_wpnonce='.$nonce).'"><strong>'.sprintf(__('Deactivate %s', 'qtranslate'), '<span style="color:blue">qTranslate&#8209;X</span>').'</strong></a>';
139
echo '</p></div>';
140
}
141
155
?>
156
<script type="text/javascript">
157
function qtranxj_dismiss_admin_notice(id) {
158
+ jQuery('#qtranxs-'+id).css('display','none');
159
jQuery.post(ajaxurl, { action: 'qtranslate_admin_notice', notice_id: id }
160
//,function(response) { eval(response); }
161
);
162
}
163
</script>
164
<?php
165
+ echo '<div class="updated" id="qtranxs-survey-translation-service"><p style="font-size: larger;">';// text-align: center;
166
+ printf(__('Thank you for using %s plugin!', 'qtranslate'), '<a href="https://wordpress.org/plugins/qtranslate-x/" style="color:blue" target="_blank">qTranslate&#8209;X</a>');
167
echo '<br>';
168
+ printf(__('Please, help us to make a decision on "%s" feature, press the button below.', 'qtranslate'), __('Translation Service', 'qtranslate'));
169
echo '</p><p><a class="button" href="http://www.marius-siroen.com/qTranslate-X/TranslateServices/" target="_blank">';
170
+ printf(__('Survey on "%s" feature', 'qtranslate'), __('Translation Service', 'qtranslate'));
171
echo '</a>&nbsp;&nbsp;&nbsp;<a class="button" href="javascript:qtranxj_dismiss_admin_notice(\'survey-translation-service\');">'.__('I have already done it, dismiss this message.', 'qtranslate');
172
echo '</a></p></div>';
173
}
183
//echo "jQuery('#qtranxs_+$id').css('display','none');"; die();
184
}
185
add_action('wp_ajax_qtranslate_admin_notice', 'qtranxf_ajax_qtranslate_admin_notice');
admin/admin_utils.php CHANGED
@@ -16,11 +16,99 @@ function qtranxf_detect_admin_language($url_info) {
16
if(!$lang) $lang = $q_config['default_language'];
17
}
18
$url_info['doing_front_end'] = false;
19
- $url_info['lang_admin'] = $lang;
20
return $url_info;
21
}
22
add_filter('qtranslate_detect_admin_language','qtranxf_detect_admin_language');
23
24
function qtranxf_mark_default($text) {
25
global $q_config;
26
$blocks = qtranxf_get_language_blocks($text);
@@ -33,7 +121,7 @@ function qtranxf_mark_default($text) {
33
$content[$language] = '';
34
}
35
}
36
- return qtranxf_join_c($content);
37
}
38
39
function qtranxf_get_term_joined($obj,$taxonomy=null) {
@@ -75,6 +163,7 @@ function qtranxf_useAdminTermLibJoin($obj, $taxonomies=null, $args=null) {
75
switch($pagenow){
76
case 'nav-menus.php':
77
case 'edit-tags.php':
78
return qtranxf_get_terms_joined($obj);
79
default: return qtranxf_useTermLib($obj);
80
}
@@ -178,7 +267,7 @@ function qtranxf_languageColumnHeader($columns){
178
if(isset($columns['categories'])) $new_columns['categories'] = '';
179
if(isset($columns['tags'])) $new_columns['tags'] = '';
180
$new_columns['language'] = __('Languages', 'qtranslate');
181
- return array_merge($new_columns, $columns);;
182
}
183
184
function qtranxf_languageColumn($column) {
@@ -187,7 +276,6 @@ function qtranxf_languageColumn($column) {
187
$available_languages = qtranxf_getAvailableLanguages($post->post_content);
188
$missing_languages = array_diff($q_config['enabled_languages'], $available_languages);
189
$available_languages_name = array();
190
- $missing_languages_name = array();
191
foreach($available_languages as $language) {
192
$available_languages_name[] = $q_config['language_name'][$language];
193
}
@@ -208,7 +296,8 @@ function qtranxf_admin_list_cats($text) {
208
$blocks = qtranxf_get_language_blocks($text);
209
if(count($blocks)<=1) return $text;
210
$texts = qtranxf_split_blocks($blocks);
211
- $text = qtranxf_join_c($texts);
212
return $text;
213
default: return qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage($text);
214
}
@@ -292,9 +381,40 @@ function qtranxf_the_editor($editor_div)
292
//applied in /wp-includes/class-wp-editor.php
293
add_filter('the_editor', 'qtranxf_the_editor');
294
295
add_filter('manage_language_columns', 'qtranxf_language_columns');
296
add_filter('manage_posts_columns', 'qtranxf_languageColumnHeader');
297
add_filter('manage_posts_custom_column', 'qtranxf_languageColumn');
298
add_filter('manage_pages_columns', 'qtranxf_languageColumnHeader');
299
add_filter('manage_pages_custom_column', 'qtranxf_languageColumn');
300
- ?>
16
if(!$lang) $lang = $q_config['default_language'];
17
}
18
$url_info['doing_front_end'] = false;
19
+ $url_info['lang_admin'] = $lang;
20
return $url_info;
21
}
22
add_filter('qtranslate_detect_admin_language','qtranxf_detect_admin_language');
23
24
+ function qtranxf_convert_to_b($text) {
25
+ global $q_config;
26
+ $blocks = qtranxf_get_language_blocks($text);
27
+ if( count($blocks) > 1 ){
28
+ foreach($blocks as $key => $b){
29
+ if(empty($b)) unset($blocks[$key]);
30
+ }
31
+ }
32
+ if( count($blocks) > 1 ){
33
+ $texts = qtranxf_split_blocks($blocks);
34
+ $text = qtranxf_join_b($texts);
35
+ }
36
+ return $text;
37
+ }
38
+
39
+ function qtranxf_convert_to_b_no_closing($text) {
40
+ global $q_config;
41
+ $blocks = qtranxf_get_language_blocks($text);
42
+ if( count($blocks) > 1 ){
43
+ foreach($blocks as $key => $b){
44
+ if(empty($b)) unset($blocks[$key]);
45
+ }
46
+ }
47
+ if( count($blocks) > 1 ){
48
+ $texts = qtranxf_split_blocks($blocks);
49
+ $text = qtranxf_join_b_no_closing($texts);
50
+ }
51
+ return $text;
52
+ }
53
+
54
+ function qtranxf_convert_to_c($text) {
55
+ global $q_config;
56
+ $blocks = qtranxf_get_language_blocks($text);
57
+ if( count($blocks) > 1 ){
58
+ foreach($blocks as $key => $b){
59
+ if(empty($b)) unset($blocks[$key]);
60
+ }
61
+ }
62
+ if( count($blocks) > 1 ){
63
+ $texts = qtranxf_split_blocks($blocks);
64
+ $text = qtranxf_join_c($texts);
65
+ }
66
+ return $text;
67
+ }
68
+
69
+ function qtranxf_convert_database($action){
70
+ global $wpdb;
71
+ $wpdb->show_errors();
72
+ $result = $wpdb->get_results('SELECT ID, post_title, post_content, post_excerpt FROM '.$wpdb->posts);
73
+ if($result)
74
+ switch($action){
75
+ case 'b_only':
76
+ foreach($result as $post) {
77
+ $title=qtranxf_convert_to_b($post->post_title);
78
+ $content=qtranxf_convert_to_b($post->post_content);
79
+ $excerpt=qtranxf_convert_to_b($post->post_excerpt);
80
+ if( $title==$post->post_title && $content==$post->post_content && $excerpt==$post->post_excerpt ) continue;
81
+ $wpdb->query('UPDATE '.$wpdb->posts.' set post_content = "'.mysql_real_escape_string($content).'", post_title = "'.mysql_real_escape_string($title).'", post_excerpt = "'.mysql_real_escape_string($excerpt).'" WHERE ID='.$post->ID);
82
+ }
83
+ $alloptions = wp_load_alloptions();
84
+ foreach($alloptions as $option => $value) {
85
+ if(!is_string($value)) continue;
86
+ $text=qtranxf_convert_to_b($value);
87
+ if($text === $value) continue;
88
+ update_option($option,$text);
89
+ }
90
+ return __('Database has been converted to square bracket format.', 'qtranslate').'<br/>'.__('Note: custom entries are not touched.', 'qtranslate');
91
+ case 'c_dual':
92
+ foreach($result as $post) {
93
+ $title=qtranxf_convert_to_c($post->post_title);
94
+ $content=qtranxf_convert_to_c($post->post_content);
95
+ $excerpt=qtranxf_convert_to_c($post->post_excerpt);
96
+ if( $title==$post->post_title && $content==$post->post_content && $excerpt==$post->post_excerpt ) continue;
97
+ $wpdb->query('UPDATE '.$wpdb->posts.' set post_content = "'.mysql_real_escape_string($content).'", post_title = "'.mysql_real_escape_string($title).'", post_excerpt = "'.mysql_real_escape_string($excerpt).'" WHERE ID='.$post->ID);
98
+ }
99
+ $alloptions = wp_load_alloptions();
100
+ foreach($alloptions as $option => $value) {
101
+ if(!is_string($value)) continue;
102
+ $text=qtranxf_convert_to_b_no_closing($value);
103
+ if($text === $value) continue;
104
+ update_option($option,$value);
105
+ }
106
+ return __('Database has been converted to legacy dual-tag format.', 'qtranslate').'<br/>'.__('Note: custom entries are not touched.', 'qtranslate');
107
+ default: break;
108
+ }
109
+ return '';
110
+ }
111
+
112
function qtranxf_mark_default($text) {
113
global $q_config;
114
$blocks = qtranxf_get_language_blocks($text);
121
$content[$language] = '';
122
}
123
}
124
+ return qtranxf_join_b($content);
125
}
126
127
function qtranxf_get_term_joined($obj,$taxonomy=null) {
163
switch($pagenow){
164
case 'nav-menus.php':
165
case 'edit-tags.php':
166
+ case 'edit.php':
167
return qtranxf_get_terms_joined($obj);
168
default: return qtranxf_useTermLib($obj);
169
}
267
if(isset($columns['categories'])) $new_columns['categories'] = '';
268
if(isset($columns['tags'])) $new_columns['tags'] = '';
269
$new_columns['language'] = __('Languages', 'qtranslate');
270
+ return array_merge($new_columns, $columns);
271
}
272
273
function qtranxf_languageColumn($column) {
276
$available_languages = qtranxf_getAvailableLanguages($post->post_content);
277
$missing_languages = array_diff($q_config['enabled_languages'], $available_languages);
278
$available_languages_name = array();
279
foreach($available_languages as $language) {
280
$available_languages_name[] = $q_config['language_name'][$language];
281
}
296
$blocks = qtranxf_get_language_blocks($text);
297
if(count($blocks)<=1) return $text;
298
$texts = qtranxf_split_blocks($blocks);
299
+ //$text = qtranxf_join_c($texts);
300
+ $text = qtranxf_join_b($texts);//with closing tag
301
return $text;
302
default: return qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage($text);
303
}
381
//applied in /wp-includes/class-wp-editor.php
382
add_filter('the_editor', 'qtranxf_the_editor');
383
384
+ function qtranxf_filter_options_general($value)
385
+ {
386
+ global $q_config;
387
+ global $pagenow;
388
+ switch($pagenow){
389
+ case 'options-general.php':
390
+ case 'customize.php'://there is more work to do for this case
391
+ return $value;
392
+ default: break;
393
+ }
394
+ $lang = $q_config['language'];
395
+ return qtranxf_use_language($lang,$value,false,false);
396
+ }
397
+ add_filter('option_blogname', 'qtranxf_filter_options_general');
398
+ add_filter('option_blogdescription', 'qtranxf_filter_options_general');
399
+
400
+ /* this did not work, need more investigation
401
+ function qtranxf_enable_blog_title_filters($name)
402
+ {
403
+ add_filter('option_blogname', 'qtranxf_filter_options_general');
404
+ add_filter('option_blogdescription', 'qtranxf_filter_options_general');
405
+ }
406
+ add_action( 'get_header', 'qtranxf_enable_blog_title_filters' );
407
+
408
+ function qtranxf_disable_blog_title_filters($name)
409
+ {
410
+ remove_filter('option_blogname', 'qtranxf_filter_options_general');
411
+ remove_filter('option_blogdescription', 'qtranxf_filter_options_general');
412
+ }
413
+ add_action( 'wp_head', 'qtranxf_disable_blog_title_filters' );
414
+ */
415
+
416
add_filter('manage_language_columns', 'qtranxf_language_columns');
417
add_filter('manage_posts_columns', 'qtranxf_languageColumnHeader');
418
add_filter('manage_posts_custom_column', 'qtranxf_languageColumn');
419
add_filter('manage_pages_columns', 'qtranxf_languageColumnHeader');
420
add_filter('manage_pages_custom_column', 'qtranxf_languageColumn');
admin/import_export.php CHANGED
@@ -17,6 +17,19 @@
17
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
*/
19
20
function qtranxf_migrate_options_update($nm_to,$nm_from)
21
{
22
global $wpdb;
@@ -37,8 +50,20 @@ function qtranxf_migrate_options_copy($nm_to,$nm_from)
37
$options = $wpdb->get_results("SELECT option_name, option_value FROM {$wpdb->options} WHERE `option_name` LIKE '$nm_from\_%'");
38
foreach ($options as $option)
39
{
40
- $name=$option->option_name;
41
- $value=$option->option_value;
42
if(strpos($name,'_flag_location')>0) continue;
43
$nm = str_replace($nm_from,$nm_to,$name);
44
update_option($nm,$value);
@@ -57,20 +82,25 @@ function qtranxf_migrate_export_qtranslate_xp(){ qtranxf_migrate_options_copy('p
57
function qtranxf_migrate_plugin($plugin){
58
$var=$plugin.'-migration';
59
if(!isset($_POST[$var])) return;
60
- if($_POST[$var]=='none') return;
61
- qtranxf_loadConfig();
62
- qtranxf_saveConfig();
63
$f='qtranxf_migrate_'.$_POST[$var].'_'.str_replace('-','_',$plugin);
64
$f();
65
}
66
67
function qtranxf_migrate_plugins()
68
{
69
qtranxf_migrate_plugin('mqtranslate');
70
qtranxf_migrate_plugin('qtranslate-xp');
71
//qtranxf_migrate_plugin('ztranslate');//ok same db
72
}
73
- add_action('qtranslate_init_begin','qtranxf_migrate_plugins',11);
74
75
function qtranxf_add_row_migrate($nm,$plugin) {
76
if(!file_exists(WP_CONTENT_DIR.'/plugins/'.$plugin)) return;
@@ -83,11 +113,11 @@ function qtranxf_add_row_migrate($nm,$plugin) {
83
_e('There is no need to migrate any setting, the database schema is compatible with this plugin.', 'qtranslate');
84
}else{
85
?>
86
- <label for="qtranslate_no_migration"><input type="radio" name="<?php echo $plugin; ?>-migration" id="<?php echo $plugin; ?>_no_migration" value="none" checked /> <?php _e('Do not migrate any setting', 'qtranslate'); ?></label>
87
<br/>
88
- <label for="qtranslate_import_migration"><input type="radio" name="<?php echo $plugin; ?>-migration" id="qtranslate_import_migration" value="import" /> <?php echo __('Import settings from ', 'qtranslate').$nm; ?></label>
89
<br/>
90
- <label for="qtranslate_export_migration"><input type="radio" name="<?php echo $plugin; ?>-migration" id="qtranslate_export_migration" value="export" /> <?php echo __('Export settings to ', 'qtranslate').$nm; ?></label>
91
<?php } ?>
92
</td>
93
</tr>
@@ -105,7 +135,12 @@ function qtranxf_admin_section_import_export($request_uri)
105
<td>
106
<?php printf(__('If you are updating from qTranslate 1.x or Polyglot, <a href="%s">click here</a> to convert posts to the new language tag format.', 'qtranslate'), $request_uri.'&convert=true'); ?>
107
<?php printf(__('If you have installed qTranslate for the first time on a Wordpress with existing posts, you can either go through all your posts manually and save them in the correct language or <a href="%s">click here</a> to mark all existing posts as written in the default language.', 'qtranslate'), $request_uri.'&markdefault=true'); ?>
108
- <?php _e('Both processes are <b>irreversible</b>! Be sure to make a full database backup before clicking one of the links.', 'qtranslate'); ?>
109
</td>
110
</tr>
111
<?php qtranxf_add_row_migrate('qTranslate','qtranslate'); ?>
@@ -129,4 +164,3 @@ function qtranxf_admin_section_import_export($request_uri)
129
qtranxf_admin_section_end('import');
130
}
131
add_action('qtranslate_configuration', 'qtranxf_admin_section_import_export', 9);
132
- ?>
17
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
*/
19
20
+ function qtranxf_get_plugin_name($slug)
21
+ {
22
+ //there must be a better way to take it from file?
23
+ switch($slug) {
24
+ case 'qtranslate': return 'qTranslate';
25
+ case 'mqtranslate': return 'mqTranslate';
26
+ case 'qtranslate-xp': return 'qTranslate Plus';
27
+ case 'ztranslate': return 'zTranslate';
28
+ case 'sitepress-multilingual-cms': return 'WPML';
29
+ default: return '';
30
+ }
31
+ }
32
+
33
function qtranxf_migrate_options_update($nm_to,$nm_from)
34
{
35
global $wpdb;
50
$options = $wpdb->get_results("SELECT option_name, option_value FROM {$wpdb->options} WHERE `option_name` LIKE '$nm_from\_%'");
51
foreach ($options as $option)
52
{
53
+ $name = $option->option_name;
54
+ //skip new qTranslate-X specific options
55
+ switch($name){
56
+ case 'qtranslate_admin_notices':
57
+ case 'qtranslate_domains':
58
+ case 'qtranslate_editor_mode':
59
+ case 'qtranslate_custom_fields':
60
+ case 'qtranslate_custom_field_classes':
61
+ case 'qtranslate_text_field_filters':
62
+ case 'qtranslate_qtrans_compatibility':
63
+ continue;
64
+ default: break;
65
+ }
66
+ $value = maybe_unserialize($option->option_value);
67
if(strpos($name,'_flag_location')>0) continue;
68
$nm = str_replace($nm_from,$nm_to,$name);
69
update_option($nm,$value);
82
function qtranxf_migrate_plugin($plugin){
83
$var=$plugin.'-migration';
84
if(!isset($_POST[$var])) return;
85
+ $action = $_POST[$var];
86
+ if($action=='none') return;
87
$f='qtranxf_migrate_'.$_POST[$var].'_'.str_replace('-','_',$plugin);
88
$f();
89
+ if( $action == 'export' ) return;
90
+ if( $plugin == 'mqtranslate' )
91
+ update_option('qtranslate_qtrans_compatibility', '1');
92
+ qtranxf_reloadConfig();
93
}
94
95
function qtranxf_migrate_plugins()
96
{
97
+ if(!current_user_can('manage_options')) return;
98
qtranxf_migrate_plugin('mqtranslate');
99
qtranxf_migrate_plugin('qtranslate-xp');
100
//qtranxf_migrate_plugin('ztranslate');//ok same db
101
}
102
+ add_action('qtranslate_saveConfig','qtranxf_migrate_plugins',30);
103
+ //add_action('qtranslate_init_begin','qtranxf_migrate_plugins',11);
104
105
function qtranxf_add_row_migrate($nm,$plugin) {
106
if(!file_exists(WP_CONTENT_DIR.'/plugins/'.$plugin)) return;
113
_e('There is no need to migrate any setting, the database schema is compatible with this plugin.', 'qtranslate');
114
}else{
115
?>
116
+ <label for="<?php echo $plugin; ?>_no_migration"><input type="radio" name="<?php echo $plugin; ?>-migration" id="<?php echo $plugin; ?>_no_migration" value="none" checked /> <?php _e('Do not migrate any setting', 'qtranslate'); ?></label>
117
<br/>
118
+ <label for="<?php echo $plugin; ?>_import_migration"><input type="radio" name="<?php echo $plugin; ?>-migration" id="<?php echo $plugin; ?>_import_migration" value="import" /> <?php echo __('Import settings from ', 'qtranslate').$nm; ?></label>
119
<br/>
120
+ <label for="<?php echo $plugin; ?>_export_migration"><input type="radio" name="<?php echo $plugin; ?>-migration" id="<?php echo $plugin; ?>_export_migration" value="export" /> <?php echo __('Export settings to ', 'qtranslate').$nm; ?></label>
121
<?php } ?>
122
</td>
123
</tr>
135
<td>
136
<?php printf(__('If you are updating from qTranslate 1.x or Polyglot, <a href="%s">click here</a> to convert posts to the new language tag format.', 'qtranslate'), $request_uri.'&convert=true'); ?>
137
<?php printf(__('If you have installed qTranslate for the first time on a Wordpress with existing posts, you can either go through all your posts manually and save them in the correct language or <a href="%s">click here</a> to mark all existing posts as written in the default language.', 'qtranslate'), $request_uri.'&markdefault=true'); ?>
138
+ <?php _e('Both processes are <b>irreversible</b>! Be sure to make a full database backup before clicking one of the links.', 'qtranslate'); ?><br/><br/>
139
+ <label for="qtranxs_convert_database_none"><input type="radio" name="convert_database" id="qtranxs_convert_database_none" value="none" checked />&nbsp;<?php _e('Do not convert database', 'qtranslate'); ?></label><br/><br/>
140
+ <label for="qtranxs_convert_database_to_b_only"><input type="radio" name="convert_database" id="qtranxs_convert_database_to_b_only" value="b_only" />&nbsp;<?php echo __('Convert database to the "square bracket only" style.', 'qtranslate'); ?></label><br/>
141
+ <small><?php printf(__('The square bracket language tag %s only will be used as opposite to dual-tag %s legacy database format. All string options and standard post and page fields will be uniformly encoded like %s.','qtranslate'),'[:]',esc_html('(<!--:--> and [:]) qTranslate'),'"[:en]English[:de]Deutsch[:]"'); ?></small><br/><br/>
142
+ <label for="qtranxs_convert_database_to_c_dual"><input type="radio" name="convert_database" id="qtranxs_convert_database_to_c_dual" value="c_dual" />&nbsp;<?php echo __('Convert database back to the legacy "dual language tag" style.', 'qtranslate'); ?></label><br/>
143
+ <small><?php _e('Note, that only string options and standard post and page fields are affected.','qtranslate'); ?></small>
144
</td>
145
</tr>
146
<?php qtranxf_add_row_migrate('qTranslate','qtranslate'); ?>
164
qtranxf_admin_section_end('import');
165
}
166
add_action('qtranslate_configuration', 'qtranxf_admin_section_import_export', 9);
admin/js/common.js CHANGED
@@ -1,12 +1,15 @@
1
/*
2
//debuging tools, do not check in
3
- */
4
var cc=0;
5
function c(v){ ++cc; console.log('== '+cc+': '+v); }
6
function ct(v){ c(v); console.trace(); }
7
- function co(t,o){ ++cc; console.log('== '+cc+': '+t+': %o',o); }
8
9
- qtranxj_split = function(text,keep_neutral_text)
10
{
11
var result = new Object;
12
for(var i=0; i<qTranslateConfig.enabled_languages.length; ++i)
@@ -14,7 +17,7 @@ qtranxj_split = function(text,keep_neutral_text)
14
var lang=qTranslateConfig.enabled_languages[i];
15
result[lang] = '';
16
}
17
- var split_regex = /(<!--:[a-z]{2}-->|<!--:-->|\[:[a-z]{2}\])/gi;
18
var blocks = text.xsplit(split_regex);
19
if(!qtranxj_isArray(blocks))
20
return result;
@@ -27,7 +30,7 @@ qtranxj_split = function(text,keep_neutral_text)
27
return result;
28
}
29
var clang_regex=/<!--:([a-z]{2})-->/gi;
30
- var c_end_regex=/<!--:-->/g;
31
var blang_regex=/\[:([a-z]{2})\]/gi;
32
lang = false;
33
for(var i = 0;i<blocks.length;++i){
@@ -39,8 +42,9 @@ qtranxj_split = function(text,keep_neutral_text)
39
lang = matches[1];
40
continue;
41
}
42
- matches = c_end_regex.exec(b); c_end_regex.lastIndex=0;
43
- if(matches!=null){
44
lang = false;
45
continue;
46
}
@@ -52,7 +56,7 @@ qtranxj_split = function(text,keep_neutral_text)
52
if(lang){
53
result[lang] += b;
54
lang = false;
55
- }else if(keep_neutral_text){
56
for(var key in result){
57
result[key] += b;
58
}
@@ -85,9 +89,14 @@ qtranxj_allthesame = function(texts)
85
return text;
86
}
87
88
- //"_c" stands for "comment"
89
qtranxj_join_c = function(texts)
90
{
91
var text = qtranxj_allthesame(texts);
92
if(text!=null) return text;
93
text='';
@@ -102,6 +111,7 @@ qtranxj_join_c = function(texts)
102
}
103
//c('qtranxj_join_c:text:'+text);
104
return text;
105
}
106
107
//"b" stands for "bracket"
@@ -118,6 +128,33 @@ qtranxj_join_b = function(texts)
118
text += '[:'+lang+']';
119
text += t;
120
}
121
return text;
122
}
123
@@ -213,11 +250,19 @@ var qTranslateX=function(pg)
213
214
updateFusedValueHooked=function(h)
215
{
216
if(h.separator==='<'){
217
h.mlContentField.value = qtranxj_join_c(h.contents);
218
}else{
219
h.mlContentField.value = qtranxj_join_b(h.contents);
220
}
221
//c('updateFusedValueHooked['+h.mce.id+'] text:'+h.mlContentField.value);
222
}
223
@@ -232,23 +277,22 @@ var qTranslateX=function(pg)
232
233
addContentHook=function(inpField,form,separator)
234
{
235
- //co('inpField:',inpField);
236
if( !inpField ) return false;
237
//if( typeof inpField.value !== 'string' ) return false;
238
if(contentHooks[inpField.id]) return true;
239
var h=contentHooks[inpField.id]={};
240
//h.id=inpField.id;
241
h.contentField=inpField;
242
- //c('addContentHook:inpField.value='+inpField.value);
243
- //h.contents=qtranxj_split(inpField.value,false);
244
- h.contents=qtranxj_split(inpField.value,true);//keep neutral text from older times, just in case.
245
- //inpField.tagName
246
h.mlContentField=qtranxj_ce('input', {name: inpField.name, type: 'hidden', className: 'hidden', value: inpField.value}, form, true);
247
if(!separator){
248
if(inpField.tagName==='TEXTAREA')
249
separator='<';
250
else
251
- separator='[';
252
}
253
h.separator=separator;
254
inpField.name='edit-'+inpField.name;
@@ -294,14 +338,22 @@ var qTranslateX=function(pg)
294
295
addDisplayHook=function(elem)
296
{
297
if(!elem) return false;
298
var h={};
299
h.elem=elem;
300
var content = elem.innerHTML.replace(/&lt;!--:([a-z]{2}|)--&gt;/gi,'<!--:$1-->');//un-escape language HTML
301
//c('addDisplayHook: innerHTML='+elem.innerHTML);
302
//c('addDisplayHook: content='+content);
303
- h.contents=qtranxj_split(content,true);
304
elem.innerHTML=h.contents[qTranslateConfig.activeLanguage];
305
displayHooks.push(h);
306
return true;
307
}
@@ -311,13 +363,6 @@ var qTranslateX=function(pg)
311
312
updateTinyMCE=function(ed,text)
313
{
314
- /*
315
- //c('updateTinyMCE: text:'+text);
316
- if(!text.match(/^</)){
317
- text='<p>'+text+'</p>';
318
- //c('updateTinyMCE: updated text:'+text);
319
- }
320
- */
321
//c('updateTinyMCE: text:'+text);
322
if(window.switchEditors){
323
//text = window.switchEditors.pre_wpautop( text );
@@ -334,6 +379,8 @@ var qTranslateX=function(pg)
334
for(var i=0; i<displayHooks.length; ++i){
335
var h=displayHooks[i];
336
h.elem.innerHTML=h.contents[this.lang];
337
}
338
for(var key in contentHooks){
339
var h=contentHooks[key];
@@ -350,15 +397,6 @@ var qTranslateX=function(pg)
350
updateTinyMCE(h.mce,h.contentField.value);
351
}
352
}
353
- /*
354
- if (window.tinyMCE)
355
- for(var i=0; i<tinyMCE.editors.length; ++i){
356
- var ed=tinyMCE.editors[i];
357
- var h=contentHooks[ed.id];
358
- if(!h) continue;
359
- updateTinyMCE(ed,h.contentField.value);
360
- }
361
- */
362
}
363
364
var qtx=this;
@@ -382,7 +420,10 @@ var qTranslateX=function(pg)
382
383
this.addDisplayHooksByClass=function(nm,container)
384
{
385
var elems=container.getElementsByClassName(nm);
386
addDisplayHooks(elems);
387
}
388
@@ -397,11 +438,11 @@ var qTranslateX=function(pg)
397
}
398
}
399
400
- addContentHooksByClassName=function(nm,form,container,sep)
401
{
402
- if(!container) container=form;
403
- var fields=container.getElementsByClassName(nm);
404
- //if(sep=='[') //c('addContentHooksByClass: fields.length='+fields.length);
405
for(var i=0; i<fields.length; ++i){
406
var f=fields[i];
407
//if(sep=='[') //co('addContentHooksByClass: f: ',f);
@@ -409,6 +450,14 @@ var qTranslateX=function(pg)
409
}
410
}
411
412
this.addContentHooksByClass=function(nm,form,container)
413
{
414
var sep;
@@ -419,8 +468,12 @@ var qTranslateX=function(pg)
419
addContentHooksByClassName(nm,form,container,sep);
420
}
421
422
- // adds custom hooks from configuration
423
- this.addContentHooks=function(form)
424
{
425
//c('qTranslateConfig.custom_fields.length='+qTranslateConfig.custom_fields.length);
426
for(var i=0; i<qTranslateConfig.custom_fields.length; ++i){
@@ -433,23 +486,85 @@ var qTranslateX=function(pg)
433
}
434
}
435
436
this.addPageHooks=function(page_config)
437
{
438
- for(var i=0; i < page_config.forms.length; ++i){
439
- var frm = page_config.forms[i];
440
- var form = document.getElementById(frm.form.id);
441
//co('form=',form);
442
- if(!form) continue;
443
- for(var k=0; k < frm.fields.length; ++k){
444
- var fld = frm.fields[k];
445
- var sep = fld.encode;
446
//co('fld=',fld);
447
- //c('sep='+sep);
448
- if(fld.id) this.addContentHookById(fld.id,form,sep);
449
- else if(fld.class) addContentHooksByClassName(fld.class,form,form,sep);
450
- else{
451
- //todo tag, name
452
- continue;
453
}
454
}
455
}
@@ -497,7 +612,9 @@ var qTranslateX=function(pg)
497
var h=contentHooks[key];
498
if(h.mce) continue;
499
if(h.contentField.tagName!=='TEXTAREA') continue;
500
- tinyMCEPreInit.mceInit[key].init_instance_callback=function(ed){ setEditorHooks(ed); }
501
}
502
});
503
}
@@ -510,6 +627,8 @@ var qTranslateX=function(pg)
510
if(forms.length) return forms[0];
511
}
512
var forms = document.getElementsByTagName('form');
513
for(var i=0; i < forms.length; ++i){
514
var f = forms[i];
515
wraps = f.getElementsByClassName('wrap');
1
/*
2
//debuging tools, do not check in
3
var cc=0;
4
function c(v){ ++cc; console.log('== '+cc+': '+v); }
5
function ct(v){ c(v); console.trace(); }
6
+ function co(t,o){ ++cc; console.log('== '+cc+': '+t+'%o',o); }
7
+ */
8
9
+ /**
10
+ * since 3.1-b1 - closing tag [:]
11
+ */
12
+ qtranxj_split = function(text)
13
{
14
var result = new Object;
15
for(var i=0; i<qTranslateConfig.enabled_languages.length; ++i)
17
var lang=qTranslateConfig.enabled_languages[i];
18
result[lang] = '';
19
}
20
+ var split_regex = /(<!--:[a-z]{2}-->|<!--:-->|\[:[a-z]{2}\]|\[:\])/gi;
21
var blocks = text.xsplit(split_regex);
22
if(!qtranxj_isArray(blocks))
23
return result;
30
return result;
31
}
32
var clang_regex=/<!--:([a-z]{2})-->/gi;
33
+ //var c_end_regex=/<!--:-->/g;
34
var blang_regex=/\[:([a-z]{2})\]/gi;
35
lang = false;
36
for(var i = 0;i<blocks.length;++i){
42
lang = matches[1];
43
continue;
44
}
45
+ //matches = c_end_regex.exec(b); c_end_regex.lastIndex=0;
46
+ //if(matches!=null){
47
+ if( b == '<!--:-->' || b == '[:]' ){
48
lang = false;
49
continue;
50
}
56
if(lang){
57
result[lang] += b;
58
lang = false;
59
+ }else{//keep neutral text
60
for(var key in result){
61
result[key] += b;
62
}
89
return text;
90
}
91
92
+ /**
93
+ * "_c" stands for "comment"
94
+ * since 3.1-b1 - no _c any more
95
+ */
96
qtranxj_join_c = function(texts)
97
{
98
+ return qtranxj_join_b(texts);
99
+ /*
100
var text = qtranxj_allthesame(texts);
101
if(text!=null) return text;
102
text='';
111
}
112
//c('qtranxj_join_c:text:'+text);
113
return text;
114
+ */
115
}
116
117
//"b" stands for "bracket"
128
text += '[:'+lang+']';
129
text += t;
130
}
131
+ if( text != '' ) text += '[:]';
132
+ return text;
133
+ }
134
+
135
+ /**
136
+ * since 3.1-b1
137
+ */
138
+ qtranxj_join_byline = function(texts)
139
+ {
140
+ var text = qtranxj_allthesame(texts);
141
+ if(text!=null) return text;
142
+ var lines;
143
+ for(var lang in texts){
144
+ texts[lang] = texts[lang].split('\n');
145
+ }
146
+ var text = '';
147
+ for(var i=0; true; ++i){
148
+ var ln;
149
+ for(var lang in texts){
150
+ if ( texts[lang].length() <= i ) continue;
151
+ var t = texts[lang][i];
152
+ if ( !t || t=='' ) continue;
153
+ ln[lang] = t;
154
+ }
155
+ if( !ln ) break;
156
+ text += qtranxj_join_b(ln);
157
+ }
158
return text;
159
}
160
250
251
updateFusedValueHooked=function(h)
252
{
253
+ switch(h.separator){
254
+ case '<': h.mlContentField.value = qtranxj_join_c(h.contents); break;
255
+ case 'byline': h.mlContentField.value = qtranxj_join_byline(h.contents); break;
256
+ case '[':
257
+ default: h.mlContentField.value = qtranxj_join_b(h.contents); break;
258
+ }
259
+ /*
260
if(h.separator==='<'){
261
h.mlContentField.value = qtranxj_join_c(h.contents);
262
}else{
263
h.mlContentField.value = qtranxj_join_b(h.contents);
264
}
265
+ */
266
//c('updateFusedValueHooked['+h.mce.id+'] text:'+h.mlContentField.value);
267
}
268
277
278
addContentHook=function(inpField,form,separator)
279
{
280
+ //co('addContentHook: inpField:',inpField);
281
if( !inpField ) return false;
282
//if( typeof inpField.value !== 'string' ) return false;
283
if(contentHooks[inpField.id]) return true;
284
var h=contentHooks[inpField.id]={};
285
//h.id=inpField.id;
286
h.contentField=inpField;
287
+ //c('addContentHook: inpField.value='+inpField.value);
288
+ h.contents=qtranxj_split(inpField.value);//keep neutral text from older times, just in case.
289
+ //inpField.tagName
290
h.mlContentField=qtranxj_ce('input', {name: inpField.name, type: 'hidden', className: 'hidden', value: inpField.value}, form, true);
291
if(!separator){
292
if(inpField.tagName==='TEXTAREA')
293
separator='<';
294
else
295
+ separator='[';//since 3.1 we get rid of <:> encoding
296
}
297
h.separator=separator;
298
inpField.name='edit-'+inpField.name;
338
339
addDisplayHook=function(elem)
340
{
341
+ //co('addDisplayHook: elem=',elem);
342
if(!elem) return false;
343
var h={};
344
h.elem=elem;
345
var content = elem.innerHTML.replace(/&lt;!--:([a-z]{2}|)--&gt;/gi,'<!--:$1-->');//un-escape language HTML
346
//c('addDisplayHook: innerHTML='+elem.innerHTML);
347
//c('addDisplayHook: content='+content);
348
+ h.contents=qtranxj_split(content);
349
elem.innerHTML=h.contents[qTranslateConfig.activeLanguage];
350
+ if(elem.value){
351
+ var value = elem.value.replace(/&lt;!--:([a-z]{2}|)--&gt;/gi,'<!--:$1-->');//un-escape language HTML
352
+ if(value != ''){
353
+ h.values=qtranxj_split(value);
354
+ elem.value=h.values[qTranslateConfig.activeLanguage];
355
+ }
356
+ }
357
displayHooks.push(h);
358
return true;
359
}
363
364
updateTinyMCE=function(ed,text)
365
{
366
//c('updateTinyMCE: text:'+text);
367
if(window.switchEditors){
368
//text = window.switchEditors.pre_wpautop( text );
379
for(var i=0; i<displayHooks.length; ++i){
380
var h=displayHooks[i];
381
h.elem.innerHTML=h.contents[this.lang];
382
+ if(h.values)
383
+ h.elem.value=h.values[this.lang];
384
}
385
for(var key in contentHooks){
386
var h=contentHooks[key];
397
updateTinyMCE(h.mce,h.contentField.value);
398
}
399
}
400
}
401
402
var qtx=this;
420
421
this.addDisplayHooksByClass=function(nm,container)
422
{
423
+ //co('addDisplayHooksByClass: container:',container);
424
var elems=container.getElementsByClassName(nm);
425
+ //co('addDisplayHooksByClass: elems('+nm+'):',elems);
426
+ //co('addDisplayHooksByClass: elems.length=',elems.length);
427
addDisplayHooks(elems);
428
}
429
438
}
439
}
440
441
+ /**
442
+ * Since 3.1-b2
443
+ */
444
+ addContentFieldHooks=function(fields,form,sep)
445
{
446
for(var i=0; i<fields.length; ++i){
447
var f=fields[i];
448
//if(sep=='[') //co('addContentHooksByClass: f: ',f);
450
}
451
}
452
453
+ addContentHooksByClassName=function(nm,form,container,sep)
454
+ {
455
+ if(!container) container=form;
456
+ var fields=container.getElementsByClassName(nm);
457
+ //if(sep=='[') //c('addContentHooksByClass: fields.length='+fields.length);
458
+ addContentFieldHooks(fields,form,sep);
459
+ }
460
+
461
this.addContentHooksByClass=function(nm,form,container)
462
{
463
var sep;
468
addContentHooksByClassName(nm,form,container,sep);
469
}
470
471
+ /**
472
+ * adds custom hooks from configuration
473
+ * Since 3.1-b2 - renamed to addCustomContentHooks, since addContentHooks used in qTranslateConfig.js
474
+ * Since 3.0 - addContentHooks
475
+ */
476
+ this.addCustomContentHooks=function(form)
477
{
478
//c('qTranslateConfig.custom_fields.length='+qTranslateConfig.custom_fields.length);
479
for(var i=0; i<qTranslateConfig.custom_fields.length; ++i){
486
}
487
}
488
489
+ /**
490
+ * Parses custom page configuration, loaded in qtranxf_load_admin_page_config.
491
+ * Since 3.1-b2
492
+ */
493
this.addPageHooks=function(page_config)
494
{
495
+ for(var p=0; p < page_config.forms.length; ++p){
496
+ var frm = page_config.forms[p];
497
+ var form;
498
+ if(frm.form){
499
+ form = document.getElementById(frm.form.id);
500
+ }else{
501
+ form = this.getWrapForm();
502
+ }
503
//co('form=',form);
504
+ //c('frm.fields.length='+frm.fields.length);
505
+ for(var f=0; f < frm.fields.length; ++f){
506
+ var fld = frm.fields[f];
507
//co('fld=',fld);
508
+ //c('encode='+fld.encode);
509
+ //c('id='+fld.id);
510
+ //c('class='+fld.class);
511
+ var containers=[];
512
+ if(fld.container_id){
513
+ var container = document.getElementById(fld.container_id);
514
+ if(container) containers.push(container);
515
+ }else if(fld.container_class){
516
+ containers = document.getElementsByClassName(fld.container_class);
517
+ }else if(form){
518
+ containers.push(form);
519
+ }
520
+ var sep = fld.encode;
521
+ switch( sep ){
522
+ case 'display':
523
+ if(fld.id) addDisplayHook(document.getElementById(fld.id));
524
+ else if(fld.class){
525
+ //c('class='+fld.class+'; containers.length='+containers.length);
526
+ for(var i=0; i < containers.length; ++i){
527
+ var container = containers[i];
528
+ this.addDisplayHooksByClass(fld.class,container);
529
+ }
530
+ }else if(fld.tag){
531
+ //c('tag='+fld.tag+'; containers.length='+containers.length);
532
+ for(var i=0; i < containers.length; ++i){
533
+ var container = containers[i];
534
+ //co('container=',container);
535
+ var elems=container.getElementsByTagName(fld.tag);
536
+ //co('elems=',elems);
537
+ addDisplayHooks(elems);
538
+ }
539
+ }else{
540
+ continue;
541
+ }
542
+ break;
543
+ case '[':
544
+ case '<':
545
+ case 'byline':
546
+ default:
547
+ if(!form) continue;
548
+ if(fld.id) this.addContentHookById(fld.id,form,sep);
549
+ else if(fld.class){
550
+ for(var i=0; i < containers.length; ++i){
551
+ var container = containers[i];
552
+ addContentHooksByClassName(fld.class,form,container,sep);
553
+ }
554
+ }else if(fld.tag){
555
+ for(var i=0; i < containers.length; ++i){
556
+ var container = containers[i];
557
+ var fields=container.getElementsByTagName(fld.tag);
558
+ for(var j=0; j<fields.length; ++j){
559
+ var field=fields[j];
560
+ if(fld.name && (!field.name || fld.name != field.name)) continue;
561
+ addContentHook(field,form,sep);
562
+ }
563
+ }
564
+ }else{
565
+ continue;
566
+ }
567
+ break;
568
}
569
}
570
}
612
var h=contentHooks[key];
613
if(h.mce) continue;
614
if(h.contentField.tagName!=='TEXTAREA') continue;
615
+ if(tinyMCEPreInit.mceInit[key]){
616
+ tinyMCEPreInit.mceInit[key].init_instance_callback=function(ed){ setEditorHooks(ed); }
617
+ }
618
}
619
});
620
}
627
if(forms.length) return forms[0];
628
}
629
var forms = document.getElementsByTagName('form');
630
+ if(forms.length === 1)
631
+ return forms[0];
632
for(var i=0; i < forms.length; ++i){
633
var f = forms[i];
634
wraps = f.getElementsByClassName('wrap');
admin/js/common.min.js CHANGED
@@ -1 +1 @@
1
- function c(n){++cc,console.log("== "+cc+": "+n)}function ct(n){c(n),console.trace()}function co(n,e){++cc,console.log("== "+cc+": "+n+": %o",e)}function qtranxj_get_cookie(n){for(var e=document.cookie.split(";"),a=0;a<e.length;++a){var t=e[a],o=t.split("=");if(o[0].trim()==n&&!(e.length<2))return o[1].trim()}return""}function qtranxj_isArray(n){return n.constructor.toString().indexOf("Array")>=0}function qtranxj_ce(n,e,a,t){var o=document.createElement(n);if(e)for(prop in e)o[prop]=e[prop];return a&&(t&&a.firstChild?a.insertBefore(o,a.firstChild):a.appendChild(o)),o}function qtranxj_LanguageSwitch(n){function e(){var n=this;if(!n.lang)return void alert("qTranslate-X: This should not have happened: Please, report this incident to the developers: !tabSwitch.lang");if(qTranslateConfig.activeLanguage!==n.lang){qTranslateConfig.activeLanguage&&o[qTranslateConfig.activeLanguage].classList.remove("active"),qTranslateConfig.activeLanguage=n.lang,n.classList.add("active");for(var e=0;e<i.length;++e)i[e].call(this)}}for(var a=qTranslateConfig.enabled_languages,t=qTranslateConfig.language_name,o={},i=[],r=0;r<a.length;++r){var s=qTranslateConfig.flag_location,l=a[r],g=qtranxj_ce("li",{lang:l,className:"qtranxs-lang-switch",onclick:e},n);qtranxj_ce("img",{src:s+qTranslateConfig.flag[l]},g),qtranxj_ce("span",{innerHTML:t[l]},g),o[l]=g,qTranslateConfig.activeLanguage==l&&g.classList.add("active")}this.onSwitch=function(n){"function"==typeof n&&i.push(n)}}var cc=0;qtranxj_split=function(n,e){for(var a=new Object,t=0;t<qTranslateConfig.enabled_languages.length;++t){var o=qTranslateConfig.enabled_languages[t];a[o]=""}var i=/(<!--:[a-z]{2}-->|<!--:-->|\[:[a-z]{2}\])/gi,r=n.xsplit(i);if(!qtranxj_isArray(r))return a;if(1==r.length){for(var s=r[0],l=0;l<qTranslateConfig.enabled_languages.length;++l){var o=qTranslateConfig.enabled_languages[l];a[o]+=s}return a}var g=/<!--:([a-z]{2})-->/gi,d=/<!--:-->/g,u=/\[:([a-z]{2})\]/gi;o=!1;for(var t=0;t<r.length;++t){var s=r[t];if(s.length)if(matches=g.exec(s),g.lastIndex=0,null==matches)if(matches=d.exec(s),d.lastIndex=0,null==matches)if(matches=u.exec(s),u.lastIndex=0,null==matches){if(o)a[o]+=s,o=!1;else if(e)for(var c in a)a[c]+=s}else o=matches[1];else o=!1;else o=matches[1]}return a},qtranxj_allthesame=function(n){if(0==qTranslateConfig.enabled_languages.length)return"";for(var e="",a=0;a<qTranslateConfig.enabled_languages.length;++a){var t=qTranslateConfig.enabled_languages[a],o=n[t];if(o&&""!=o){e=o;break}}if(""==e)return e;for(var a=0;a<qTranslateConfig.enabled_languages.length;++a){var t=qTranslateConfig.enabled_languages[a],o=n[t];if(o!=e)return null}return e},qtranxj_join_c=function(n){var e=qtranxj_allthesame(n);if(null!=e)return e;e="";for(var a=0;a<qTranslateConfig.enabled_languages.length;++a){var t=qTranslateConfig.enabled_languages[a],o=n[t];o&&""!=o&&(e+="<!--:"+t+"-->",e+=o,e+="<!--:-->")}return e},qtranxj_join_b=function(n){var e=qtranxj_allthesame(n);if(null!=e)return e;for(var e="",a=0;a<qTranslateConfig.enabled_languages.length;++a){var t=qTranslateConfig.enabled_languages[a],o=n[t];o&&""!=o&&(e+="[:"+t+"]",e+=o)}return e},String.prototype.xsplit=function(n){if(3==="a~b".split(/(~)/).length)return this.split(n);n.global||(n=new RegExp(n.source,"g"+(n.ignoreCase?"i":"")));for(var e,a=0,t=[];null!=(e=n.exec(this));)t.push(this.slice(a,e.index)),e.length>1&&t.push(e[1]),a=n.lastIndex;return a<this.length&&t.push(this.slice(a)),a==this.length&&t.push(""),t};var qTranslateX=function(n){this.ge=function(n){return document.getElementById(n)},isLanguageEnabled=function(n){for(var e=0;e<qTranslateConfig.enabled_languages.length;++e)if(qTranslateConfig.enabled_languages[e]==n)return!0;return!1},qTranslateConfig.activeLanguage=qtranxj_get_cookie("qtrans_edit_language"),qTranslateConfig.activeLanguage&&isLanguageEnabled(qTranslateConfig.activeLanguage)||(qTranslateConfig.activeLanguage=qTranslateConfig.language),this.getActiveLanguage=function(){return qTranslateConfig.activeLanguage};var e=[],a={};updateFusedValueHooked=function(n){n.mlContentField.value="<"===n.separator?qtranxj_join_c(n.contents):qtranxj_join_b(n.contents)},updateFusedValueH=function(n,e){var t=a[n],o=e.trim();t.contents[t.lang]=o,updateFusedValueHooked(t)},addContentHook=function(n,e,t){if(!n)return!1;if(a[n.id])return!0;var o=a[n.id]={};o.contentField=n,o.contents=qtranxj_split(n.value,!0),o.mlContentField=qtranxj_ce("input",{name:n.name,type:"hidden",className:"hidden",value:n.value},e,!0),t||(t="TEXTAREA"===n.tagName?"<":"["),o.separator=t,n.name="edit-"+n.name,o.lang=qTranslateConfig.activeLanguage;var i=o.contents[o.lang];if(n.value=i,n.onblur=function(){updateFusedValueH(this.id,this.value)},window.tinyMCE)for(var r=0;r<tinyMCE.editors.length;++r){var s=tinyMCE.editors[r];s.id==n.id&&(o.mce=s,updateTinyMCE(s,i))}return o},this.addContentHookC=function(n,e){return addContentHook(n,e,"<")},this.addContentHookB=function(n,e){return addContentHook(n,e,"[")},this.addContentHookById=function(n,e,a){return addContentHook(this.ge(n),e,a)},this.addContentHookByIdName=function(n,e){var a;return(0==n.indexOf("<")||0==n.indexOf("["))&&(a=n.substring(0,1),n=n.substring(1)),this.addContentHookById(n,e,a)},this.addContentHookByIdC=function(n,e){return this.addContentHookById(n,e,"<")},this.addContentHookByIdB=function(n,e){return this.addContentHookById(n,e,"[")},addDisplayHook=function(n){if(!n)return!1;var a={};a.elem=n;var t=n.innerHTML.replace(/&lt;!--:([a-z]{2}|)--&gt;/gi,"<!--:$1-->");return a.contents=qtranxj_split(t,!0),n.innerHTML=a.contents[qTranslateConfig.activeLanguage],e.push(a),!0},this.addDisplayHookById=function(n){return addDisplayHook(this.ge(n))},setLangCookie=function(n){document.cookie="qtrans_edit_language="+n},updateTinyMCE=function(n,e){window.switchEditors&&(e=window.switchEditors.wpautop(e)),n.setContent(e,{format:"html"})},onTabSwitch=function(){setLangCookie(this.lang);for(var n=0;n<e.length;++n){var t=e[n];t.elem.innerHTML=t.contents[this.lang]}for(var o in a){var t=a[o],i=t.mce&&!t.mce.hidden;i&&(t.mce.save({format:"html"}),t.contents[t.lang]=t.contentField.value),t.lang=this.lang,t.contentField.value=t.contents[this.lang],i&&updateTinyMCE(t.mce,t.contentField.value)}};var t=this;if(onTabSwitchCustom=function(){n.onTabSwitch(this.lang,t)},addDisplayHooks=function(n){for(var e=0;e<n.length;++e){var a=n[e];addDisplayHook(a)}},this.addDisplayHooksByClass=function(n,e){var a=e.getElementsByClassName(n);addDisplayHooks(a)},this.addDisplayHooksByTagInClass=function(n,e,a){for(var t=a.getElementsByClassName(n),o=0;o<t.length;++o){var i=t[o],r=i.getElementsByTagName(e);addDisplayHooks(r)}},addContentHooksByClassName=function(n,e,a,t){a||(a=e);for(var o=a.getElementsByClassName(n),i=0;i<o.length;++i){var r=o[i];addContentHook(r,e,t)}},this.addContentHooksByClass=function(n,e,a){var t;(0==n.indexOf("<")||0==n.indexOf("["))&&(t=n.substring(0,1),n=n.substring(1)),addContentHooksByClassName(n,e,a,t)},this.addContentHooks=function(n){for(var e=0;e<qTranslateConfig.custom_fields.length;++e){var a=qTranslateConfig.custom_fields[e];this.addContentHookByIdName(a,n)}for(var e=0;e<qTranslateConfig.custom_field_classes.length;++e){var a=qTranslateConfig.custom_field_classes[e];this.addContentHooksByClass(a,n)}},this.addPageHooks=function(n){for(var e=0;e<n.forms.length;++e){var a=n.forms[e],t=document.getElementById(a.form.id);if(t)for(var o=0;o<a.fields.length;++o){var i=a.fields[o],r=i.encode;if(i.id)this.addContentHookById(i.id,t,r);else{if(!i.class)continue;addContentHooksByClassName(i.class,t,t,r)}}}return!0},this.addContentHooksTinyMCE=function(){function n(n){var e=n.id;if(e){var t=a[e];if(t&&!t.mce)return t.mce=n,n.getBody().addEventListener("blur",function(){var e=a[n.id];n.save(),e.contents[e.lang]=e.contentField.value,updateFusedValueHooked(e)}),t}}window.addEventListener("load",function(){if(window.tinyMCE){for(var e=0;e<tinyMCE.editors.length;++e){var t=tinyMCE.editors[e],o=n(t);o&&updateTinyMCE(t,o.contentField.value)}for(var i in a){var o=a[i];o.mce||"TEXTAREA"===o.contentField.tagName&&(tinyMCEPreInit.mceInit[i].init_instance_callback=function(e){n(e)})}}})},this.getWrapForm=function(){for(var n=document.getElementsByClassName("wrap"),e=0;e<n.length;++e){var a=n[e],t=a.getElementsByTagName("form");if(t.length)return t[0]}for(var t=document.getElementsByTagName("form"),e=0;e<t.length;++e){var o=t[e];if(n=o.getElementsByClassName("wrap"),n.length)return o}return null},this.getFormWrap=function(){for(var n=document.getElementsByTagName("form"),e=0;e<n.length;++e){var a=n[e],t=a.getElementsByClassName("wrap");if(t.length)return t[0]}for(var t=document.getElementsByClassName("wrap"),e=0;e<t.length;++e){var o=t[e];if(n=o.getElementsByTagName("form"),n.length)return o}return null},("function"!=typeof n.addContentHooks||n.addContentHooks(this))&&(!qTranslateConfig.page_config||this.addPageHooks(qTranslateConfig.page_config))){var o=[];if(qTranslateConfig.page_config&&qTranslateConfig.page_config.anchors)for(var i=0;i<qTranslateConfig.page_config.anchors.length;++i){var r=qTranslateConfig.page_config.anchors[i],s=document.getElementById(r);s&&o.push(s)}if(!o.length){var s=n.langSwitchWrapAnchor;s||(s=this.getWrapForm()),s||(s=this.getWrapForm()),s&&o.push(s)}for(var i=0;i<o.length;++i){var r=o[i],l=qtranxj_ce("ul",{className:"qtranxs-lang-switch-wrap"});r.parentNode.insertBefore(l,r);var g=new qtranxj_LanguageSwitch(l);g.onSwitch(onTabSwitch),n.onTabSwitch&&g.onSwitch(onTabSwitchCustom)}}};jQuery(document).ready(function(){new qTranslateX(qTranslateConfig.js)});
1
+ function qtranxj_get_cookie(n){for(var e=document.cookie.split(";"),a=0;a<e.length;++a){var t=e[a],i=t.split("=");if(i[0].trim()==n&&!(e.length<2))return i[1].trim()}return""}function qtranxj_isArray(n){return n.constructor.toString().indexOf("Array")>=0}function qtranxj_ce(n,e,a,t){var i=document.createElement(n);if(e)for(prop in e)i[prop]=e[prop];return a&&(t&&a.firstChild?a.insertBefore(i,a.firstChild):a.appendChild(i)),i}function qtranxj_LanguageSwitch(n){function e(){var n=this;if(!n.lang)return void alert("qTranslate-X: This should not have happened: Please, report this incident to the developers: !tabSwitch.lang");if(qTranslateConfig.activeLanguage!==n.lang){qTranslateConfig.activeLanguage&&i[qTranslateConfig.activeLanguage].classList.remove("active"),qTranslateConfig.activeLanguage=n.lang,n.classList.add("active");for(var e=0;e<r.length;++e)r[e].call(this)}}for(var a=qTranslateConfig.enabled_languages,t=qTranslateConfig.language_name,i={},r=[],o=0;o<a.length;++o){var s=qTranslateConfig.flag_location,l=a[o],g=qtranxj_ce("li",{lang:l,className:"qtranxs-lang-switch",onclick:e},n);qtranxj_ce("img",{src:s+qTranslateConfig.flag[l]},g),qtranxj_ce("span",{innerHTML:t[l]},g),i[l]=g,qTranslateConfig.activeLanguage==l&&g.classList.add("active")}this.onSwitch=function(n){"function"==typeof n&&r.push(n)}}qtranxj_split=function(n){for(var e=new Object,a=0;a<qTranslateConfig.enabled_languages.length;++a){var t=qTranslateConfig.enabled_languages[a];e[t]=""}var i=/(<!--:[a-z]{2}-->|<!--:-->|\[:[a-z]{2}\]|\[:\])/gi,r=n.xsplit(i);if(!qtranxj_isArray(r))return e;if(1==r.length){for(var o=r[0],s=0;s<qTranslateConfig.enabled_languages.length;++s){var t=qTranslateConfig.enabled_languages[s];e[t]+=o}return e}var l=/<!--:([a-z]{2})-->/gi,g=/\[:([a-z]{2})\]/gi;t=!1;for(var a=0;a<r.length;++a){var o=r[a];if(o.length)if(matches=l.exec(o),l.lastIndex=0,null==matches)if("<!--:-->"!=o&&"[:]"!=o)if(matches=g.exec(o),g.lastIndex=0,null==matches)if(t)e[t]+=o,t=!1;else for(var d in e)e[d]+=o;else t=matches[1];else t=!1;else t=matches[1]}return e},qtranxj_allthesame=function(n){if(0==qTranslateConfig.enabled_languages.length)return"";for(var e="",a=0;a<qTranslateConfig.enabled_languages.length;++a){var t=qTranslateConfig.enabled_languages[a],i=n[t];if(i&&""!=i){e=i;break}}if(""==e)return e;for(var a=0;a<qTranslateConfig.enabled_languages.length;++a){var t=qTranslateConfig.enabled_languages[a],i=n[t];if(i!=e)return null}return e},qtranxj_join_c=function(n){return qtranxj_join_b(n)},qtranxj_join_b=function(n){var e=qtranxj_allthesame(n);if(null!=e)return e;for(var e="",a=0;a<qTranslateConfig.enabled_languages.length;++a){var t=qTranslateConfig.enabled_languages[a],i=n[t];i&&""!=i&&(e+="[:"+t+"]",e+=i)}return""!=e&&(e+="[:]"),e},qtranxj_join_byline=function(n){var e=qtranxj_allthesame(n);if(null!=e)return e;for(var a in n)n[a]=n[a].split("\n");for(var e="",t=0;!0;++t){var i;for(var a in n)if(!(n[a].length()<=t)){var r=n[a][t];r&&""!=r&&(i[a]=r)}if(!i)break;e+=qtranxj_join_b(i)}return e},String.prototype.xsplit=function(n){if(3==="a~b".split(/(~)/).length)return this.split(n);n.global||(n=new RegExp(n.source,"g"+(n.ignoreCase?"i":"")));for(var e,a=0,t=[];null!=(e=n.exec(this));)t.push(this.slice(a,e.index)),e.length>1&&t.push(e[1]),a=n.lastIndex;return a<this.length&&t.push(this.slice(a)),a==this.length&&t.push(""),t};var qTranslateX=function(n){this.ge=function(n){return document.getElementById(n)},isLanguageEnabled=function(n){for(var e=0;e<qTranslateConfig.enabled_languages.length;++e)if(qTranslateConfig.enabled_languages[e]==n)return!0;return!1},qTranslateConfig.activeLanguage=qtranxj_get_cookie("qtrans_edit_language"),qTranslateConfig.activeLanguage&&isLanguageEnabled(qTranslateConfig.activeLanguage)||(qTranslateConfig.activeLanguage=qTranslateConfig.language),this.getActiveLanguage=function(){return qTranslateConfig.activeLanguage};var e=[],a={};updateFusedValueHooked=function(n){switch(n.separator){case"<":n.mlContentField.value=qtranxj_join_c(n.contents);break;case"byline":n.mlContentField.value=qtranxj_join_byline(n.contents);break;case"[":default:n.mlContentField.value=qtranxj_join_b(n.contents)}},updateFusedValueH=function(n,e){var t=a[n],i=e.trim();t.contents[t.lang]=i,updateFusedValueHooked(t)},addContentHook=function(n,e,t){if(!n)return!1;if(a[n.id])return!0;var i=a[n.id]={};i.contentField=n,i.contents=qtranxj_split(n.value),i.mlContentField=qtranxj_ce("input",{name:n.name,type:"hidden",className:"hidden",value:n.value},e,!0),t||(t="TEXTAREA"===n.tagName?"<":"["),i.separator=t,n.name="edit-"+n.name,i.lang=qTranslateConfig.activeLanguage;var r=i.contents[i.lang];if(n.value=r,n.onblur=function(){updateFusedValueH(this.id,this.value)},window.tinyMCE)for(var o=0;o<tinyMCE.editors.length;++o){var s=tinyMCE.editors[o];s.id==n.id&&(i.mce=s,updateTinyMCE(s,r))}return i},this.addContentHookC=function(n,e){return addContentHook(n,e,"<")},this.addContentHookB=function(n,e){return addContentHook(n,e,"[")},this.addContentHookById=function(n,e,a){return addContentHook(this.ge(n),e,a)},this.addContentHookByIdName=function(n,e){var a;return(0==n.indexOf("<")||0==n.indexOf("["))&&(a=n.substring(0,1),n=n.substring(1)),this.addContentHookById(n,e,a)},this.addContentHookByIdC=function(n,e){return this.addContentHookById(n,e,"<")},this.addContentHookByIdB=function(n,e){return this.addContentHookById(n,e,"[")},addDisplayHook=function(n){if(!n)return!1;var a={};a.elem=n;var t=n.innerHTML.replace(/&lt;!--:([a-z]{2}|)--&gt;/gi,"<!--:$1-->");if(a.contents=qtranxj_split(t),n.innerHTML=a.contents[qTranslateConfig.activeLanguage],n.value){var i=n.value.replace(/&lt;!--:([a-z]{2}|)--&gt;/gi,"<!--:$1-->");""!=i&&(a.values=qtranxj_split(i),n.value=a.values[qTranslateConfig.activeLanguage])}return e.push(a),!0},this.addDisplayHookById=function(n){return addDisplayHook(this.ge(n))},setLangCookie=function(n){document.cookie="qtrans_edit_language="+n},updateTinyMCE=function(n,e){window.switchEditors&&(e=window.switchEditors.wpautop(e)),n.setContent(e,{format:"html"})},onTabSwitch=function(){setLangCookie(this.lang);for(var n=0;n<e.length;++n){var t=e[n];t.elem.innerHTML=t.contents[this.lang],t.values&&(t.elem.value=t.values[this.lang])}for(var i in a){var t=a[i],r=t.mce&&!t.mce.hidden;r&&(t.mce.save({format:"html"}),t.contents[t.lang]=t.contentField.value),t.lang=this.lang,t.contentField.value=t.contents[this.lang],r&&updateTinyMCE(t.mce,t.contentField.value)}};var t=this;if(onTabSwitchCustom=function(){n.onTabSwitch(this.lang,t)},addDisplayHooks=function(n){for(var e=0;e<n.length;++e){var a=n[e];addDisplayHook(a)}},this.addDisplayHooksByClass=function(n,e){var a=e.getElementsByClassName(n);addDisplayHooks(a)},this.addDisplayHooksByTagInClass=function(n,e,a){for(var t=a.getElementsByClassName(n),i=0;i<t.length;++i){var r=t[i],o=r.getElementsByTagName(e);addDisplayHooks(o)}},addContentFieldHooks=function(n,e,a){for(var t=0;t<n.length;++t){var i=n[t];addContentHook(i,e,a)}},addContentHooksByClassName=function(n,e,a,t){a||(a=e);var i=a.getElementsByClassName(n);addContentFieldHooks(i,e,t)},this.addContentHooksByClass=function(n,e,a){var t;(0==n.indexOf("<")||0==n.indexOf("["))&&(t=n.substring(0,1),n=n.substring(1)),addContentHooksByClassName(n,e,a,t)},this.addCustomContentHooks=function(n){for(var e=0;e<qTranslateConfig.custom_fields.length;++e){var a=qTranslateConfig.custom_fields[e];this.addContentHookByIdName(a,n)}for(var e=0;e<qTranslateConfig.custom_field_classes.length;++e){var a=qTranslateConfig.custom_field_classes[e];this.addContentHooksByClass(a,n)}},this.addPageHooks=function(n){for(var e=0;e<n.forms.length;++e){var a,t=n.forms[e];a=t.form?document.getElementById(t.form.id):this.getWrapForm();for(var i=0;i<t.fields.length;++i){var r=t.fields[i],o=[];if(r.container_id){var s=document.getElementById(r.container_id);s&&o.push(s)}else r.container_class?o=document.getElementsByClassName(r.container_class):a&&o.push(a);var l=r.encode;switch(l){case"display":if(r.id)addDisplayHook(document.getElementById(r.id));else if(r.class)for(var g=0;g<o.length;++g){var s=o[g];this.addDisplayHooksByClass(r.class,s)}else{if(!r.tag)continue;for(var g=0;g<o.length;++g){var s=o[g],d=s.getElementsByTagName(r.tag);addDisplayHooks(d)}}break;case"[":case"<":case"byline":default:if(!a)continue;if(r.id)this.addContentHookById(r.id,a,l);else if(r.class)for(var g=0;g<o.length;++g){var s=o[g];addContentHooksByClassName(r.class,a,s,l)}else{if(!r.tag)continue;for(var g=0;g<o.length;++g)for(var s=o[g],u=s.getElementsByTagName(r.tag),f=0;f<u.length;++f){var c=u[f];(!r.name||c.name&&r.name==c.name)&&addContentHook(c,a,l)}}}}}return!0},this.addContentHooksTinyMCE=function(){function n(n){var e=n.id;if(e){var t=a[e];if(t&&!t.mce)return t.mce=n,n.getBody().addEventListener("blur",function(){var e=a[n.id];n.save(),e.contents[e.lang]=e.contentField.value,updateFusedValueHooked(e)}),t}}window.addEventListener("load",function(){if(window.tinyMCE){for(var e=0;e<tinyMCE.editors.length;++e){var t=tinyMCE.editors[e],i=n(t);i&&updateTinyMCE(t,i.contentField.value)}for(var r in a){var i=a[r];i.mce||"TEXTAREA"===i.contentField.tagName&&tinyMCEPreInit.mceInit[r]&&(tinyMCEPreInit.mceInit[r].init_instance_callback=function(e){n(e)})}}})},this.getWrapForm=function(){for(var n=document.getElementsByClassName("wrap"),e=0;e<n.length;++e){var a=n[e],t=a.getElementsByTagName("form");if(t.length)return t[0]}var t=document.getElementsByTagName("form");if(1===t.length)return t[0];for(var e=0;e<t.length;++e){var i=t[e];if(n=i.getElementsByClassName("wrap"),n.length)return i}return null},this.getFormWrap=function(){for(var n=document.getElementsByTagName("form"),e=0;e<n.length;++e){var a=n[e],t=a.getElementsByClassName("wrap");if(t.length)return t[0]}for(var t=document.getElementsByClassName("wrap"),e=0;e<t.length;++e){var i=t[e];if(n=i.getElementsByTagName("form"),n.length)return i}return null},("function"!=typeof n.addContentHooks||n.addContentHooks(this))&&(!qTranslateConfig.page_config||this.addPageHooks(qTranslateConfig.page_config))){var i=[];if(qTranslateConfig.page_config&&qTranslateConfig.page_config.anchors)for(var r=0;r<qTranslateConfig.page_config.anchors.length;++r){var o=qTranslateConfig.page_config.anchors[r],s=document.getElementById(o);s&&i.push(s)}if(!i.length){var s=n.langSwitchWrapAnchor;s||(s=this.getWrapForm()),s||(s=this.getWrapForm()),s&&i.push(s)}for(var r=0;r<i.length;++r){var o=i[r],l=qtranxj_ce("ul",{className:"qtranxs-lang-switch-wrap"});o.parentNode.insertBefore(l,o);var g=new qtranxj_LanguageSwitch(l);g.onSwitch(onTabSwitch),n.onTabSwitch&&g.onSwitch(onTabSwitchCustom)}}};jQuery(document).ready(function(){new qTranslateX(qTranslateConfig.js)});
admin/js/edit-custom-page.js CHANGED
@@ -6,7 +6,7 @@ qTranslateConfig.js={
6
{
7
var form = qtx.getWrapForm();
8
if(!form) return false;
9
- qtx.addContentHooks(form);
10
this.langSwitchWrapAnchor=form;
11
return true;
12
}
6
{
7
var form = qtx.getWrapForm();
8
if(!form) return false;
9
+ qtx.addCustomContentHooks(form);
10
this.langSwitchWrapAnchor=form;
11
return true;
12
}
admin/js/edit-custom-page.min.js CHANGED
@@ -1 +1 @@
1
- qTranslateConfig.js={addContentHooks:function(n){var o=n.getWrapForm();return o?(n.addContentHooks(o),this.langSwitchWrapAnchor=o,!0):!1}};
1
+ qTranslateConfig.js={addContentHooks:function(n){var o=n.getWrapForm();return o?(n.addCustomContentHooks(o),this.langSwitchWrapAnchor=o,!0):!1}};
admin/js/edit-post.js CHANGED
@@ -21,7 +21,7 @@ qTranslateConfig.js={
21
qtx.addContentHookByIdC('attachment_caption',form);
22
qtx.addContentHookByIdB('attachment_alt',form);
23
24
- qtx.addContentHooks(form);
25
26
// Slug
27
function convertURL(url,lang)
21
qtx.addContentHookByIdC('attachment_caption',form);
22
qtx.addContentHookByIdB('attachment_alt',form);
23
24
+ qtx.addCustomContentHooks(form);
25
26
// Slug
27
function convertURL(url,lang)
admin/js/edit-post.min.js CHANGED
@@ -1 +1 @@
1
- qTranslateConfig.js={addContentHooks:function(e){function t(e,t){switch(qTranslateConfig.url_mode.toString()){case"1":e.search?e.search+="&lang="+t:e.search="?lang="+t;break;case"2":var n=qTranslateConfig.url_info_home,a=e.pathname.indexOf(n);e.pathname=n+t+e.pathname.substring(a+n.length-1);break;case"3":e.host=t+"."+e.host;break;case"4":e.host=qTranslateConfig.domains[t]}}var n=document.getElementById("post");if(!n)return!1;e.addContentHookByIdC("title",n),e.addContentHookByIdC("excerpt",n);for(var a=n.getElementsByClassName("wp-editor-area"),o=0;o<a.length;++o){var r=a[o];e.addContentHookC(r,n)}e.addContentHookByIdC("attachment_caption",n),e.addContentHookByIdB("attachment_alt",n),e.addContentHooks(n);var d,i,s,h,l;return this.setSlugLanguage=function(e){if(!d){var n=document.getElementById("view-post-btn");if(!n||!n.children.length)return;if(d=n.children[0],"A"!=d.tagName)return;i=d.href,s=qtranxj_ce("a",{})}s.href=i,t(s,e),d.href=s.href;var a=document.getElementById("preview-action");if(a&&a.children.length&&(a.children[0].href=s.href),1!=qTranslateConfig.url_mode){if(!h){var o=document.getElementById("sample-permalink");o&&o.childNodes.length&&(h=o.childNodes[0],l=h.nodeValue)}h&&(s.href=l,t(s,e),h.nodeValue=s.href)}},this.setSlugLanguage(e.getActiveLanguage()),e.addContentHooksTinyMCE(),!0},onTabSwitch:function(e){this.setSlugLanguage(e)}};
1
+ qTranslateConfig.js={addContentHooks:function(e){function t(e,t){switch(qTranslateConfig.url_mode.toString()){case"1":e.search?e.search+="&lang="+t:e.search="?lang="+t;break;case"2":var n=qTranslateConfig.url_info_home,a=e.pathname.indexOf(n);e.pathname=n+t+e.pathname.substring(a+n.length-1);break;case"3":e.host=t+"."+e.host;break;case"4":e.host=qTranslateConfig.domains[t]}}var n=document.getElementById("post");if(!n)return!1;e.addContentHookByIdC("title",n),e.addContentHookByIdC("excerpt",n);for(var a=n.getElementsByClassName("wp-editor-area"),o=0;o<a.length;++o){var r=a[o];e.addContentHookC(r,n)}e.addContentHookByIdC("attachment_caption",n),e.addContentHookByIdB("attachment_alt",n),e.addCustomContentHooks(n);var d,i,s,h,l;return this.setSlugLanguage=function(e){if(!d){var n=document.getElementById("view-post-btn");if(!n||!n.children.length)return;if(d=n.children[0],"A"!=d.tagName)return;i=d.href,s=qtranxj_ce("a",{})}s.href=i,t(s,e),d.href=s.href;var a=document.getElementById("preview-action");if(a&&a.children.length&&(a.children[0].href=s.href),1!=qTranslateConfig.url_mode){if(!h){var o=document.getElementById("sample-permalink");o&&o.childNodes.length&&(h=o.childNodes[0],l=h.nodeValue)}h&&(s.href=l,t(s,e),h.nodeValue=s.href)}},this.setSlugLanguage(e.getActiveLanguage()),e.addContentHooksTinyMCE(),!0},onTabSwitch:function(e){this.setSlugLanguage(e)}};
admin/js/edit-tags.js CHANGED
@@ -69,7 +69,7 @@ qTranslateConfig.js={
69
var submit_button = document.getElementById('submit');
70
if(submit_button){
71
submit_button.addEventListener("click",function(){
72
- setTimeout(function(){window.location.reload();},500);
73
//addDisplayHookRows(theList);//does not work, because the updates on theList has not yet propagated
74
});
75
}
69
var submit_button = document.getElementById('submit');
70
if(submit_button){
71
submit_button.addEventListener("click",function(){
72
+ setTimeout(function(){window.location.reload();},800);
73
//addDisplayHookRows(theList);//does not work, because the updates on theList has not yet propagated
74
});
75
}
admin/js/edit-tags.min.js CHANGED
@@ -1 +1 @@
1
- qTranslateConfig.js={addContentHooks:function(e){var a=document.getElementById("addtag");if(!a)return!1;var n=e.addContentHookByIdB("tag-name",a);if(!n)return!1;e.addContentHookByIdC("tag-description",a),qtranxj_ce("input",{name:"qtrans_term_field_name",type:"hidden",className:"hidden",value:n.mlContentField.name},a,!0);var t=n.contents[qTranslateConfig.default_language];qtranxj_ce("input",{name:"qtrans_term_field_default_name",type:"hidden",className:"hidden",value:t},a,!0),e.addDisplayHookById("parent");var d=document.getElementById("the-list");hideQuickEditRow=function(e){var a=e.getElementsByTagName("TD");if(a.length)for(var n=a[0],t=n.getElementsByClassName("inline"),d=0;d<t.length;++d){var o=t[d];o.style.display="none"}},addDisplayHookRows=function(a){if(addDisplayHookRows.running=!0,a){for(var n=a.getElementsByTagName("TR"),t=0;t<n.length;t++){var d=n[t];e.addDisplayHooksByClass("row-title",d),e.addDisplayHooksByClass("description",d),e.addDisplayHooksByClass("slug",d),hideQuickEditRow(d)}addDisplayHookRows.running=!1}},addDisplayHookRows(d),(addDisplayHookTagCloud=function(){for(var e=document.getElementsByClassName("tagcloud"),a=0;a<e.length;++a)for(var n=e[a],t=n.getElementsByTagName("A"),a=0;a<t.length;++a){var d=t[a];addDisplayHook(d)}})();var o=document.getElementById("submit");return o&&o.addEventListener("click",function(){setTimeout(function(){window.location.reload()},500)}),!0}};
1
+ qTranslateConfig.js={addContentHooks:function(e){var a=document.getElementById("addtag");if(!a)return!1;var n=e.addContentHookByIdB("tag-name",a);if(!n)return!1;e.addContentHookByIdC("tag-description",a),qtranxj_ce("input",{name:"qtrans_term_field_name",type:"hidden",className:"hidden",value:n.mlContentField.name},a,!0);var t=n.contents[qTranslateConfig.default_language];qtranxj_ce("input",{name:"qtrans_term_field_default_name",type:"hidden",className:"hidden",value:t},a,!0),e.addDisplayHookById("parent");var d=document.getElementById("the-list");hideQuickEditRow=function(e){var a=e.getElementsByTagName("TD");if(a.length)for(var n=a[0],t=n.getElementsByClassName("inline"),d=0;d<t.length;++d){var o=t[d];o.style.display="none"}},addDisplayHookRows=function(a){if(addDisplayHookRows.running=!0,a){for(var n=a.getElementsByTagName("TR"),t=0;t<n.length;t++){var d=n[t];e.addDisplayHooksByClass("row-title",d),e.addDisplayHooksByClass("description",d),e.addDisplayHooksByClass("slug",d),hideQuickEditRow(d)}addDisplayHookRows.running=!1}},addDisplayHookRows(d),(addDisplayHookTagCloud=function(){for(var e=document.getElementsByClassName("tagcloud"),a=0;a<e.length;++a)for(var n=e[a],t=n.getElementsByTagName("A"),a=0;a<t.length;++a){var d=t[a];addDisplayHook(d)}})();var o=document.getElementById("submit");return o&&o.addEventListener("click",function(){setTimeout(function(){window.location.reload()},800)}),!0}};
admin/update-gettext-db.php CHANGED
@@ -1,81 +1,5 @@
1
<?php
2
3
- function qtranxf_updateGettextDatabaseFile($lcr,$mo){
4
- $tmpfile=$mo.'.filepart';
5
- $ll = fopen($tmpfile,'w');
6
- if(!$ll) return false;
7
- while(!feof($lcr)) {
8
- // try to get some more time
9
- @set_time_limit(30);
10
- $lc = fread($lcr, 8192);
11
- if(!$lc){
12
- fclose($lcr);
13
- fclose($ll);
14
- unlink($tmpfile);
15
- return false;
16
- }
17
- fwrite($ll,$lc);
18
- }
19
- fclose($lcr);
20
- fclose($ll);
21
- // only use completely download .mo files
22
- rename($tmpfile,$mo);
23
- return true;
24
- }
25
-
26
- function qtranxf_updateGettextDatabaseFiles($lcr,$locale,$dstdir,$srcdir){
27
- if($lcr){
28
- $mo=$dstdir.$locale.'.mo';
29
- qtranxf_updateGettextDatabaseFile($lcr,$mo);
30
- }
31
- if(!$srcdir) return;
32
- }
33
-
34
- function qtranxf_updateGettextDatabase($locale,$repository){
35
- //wp_download_language_pack() - todo: use this function
36
- $dstdir=trailingslashit(WP_LANG_DIR);
37
- $tmpfile=$dstdir.$locale.'.mo.filepart';
38
- if(!$ll = @fopen($tmpfile,'a'))
39
- return false; // cannot access .mo file
40
- fclose($ll);
41
- $m='';
42
- $wp_version = $GLOBALS['wp_version'];
43
- // try to find a .mo file
44
- if(!($locale == 'en_US' && $lcr=@fopen('http://www.qianqin.de/wp-content/languages/'.$locale.'.mo','r')))
45
- if(!$lcr=@fopen(($m=$repository.$locale.'/tags/'.$wp_version.'/messages/').$locale.'.mo','r'))
46
- if(!$lcr=@fopen(($m=$repository.substr($locale,0,2).'/tags/'.$wp_version.'/messages/').$locale.'.mo','r'))
47
- if(!$lcr=@fopen(($m=$repository.$locale.'/branches/'.$wp_version.'/messages/').$locale.'.mo','r'))
48
- if(!$lcr=@fopen(($m=$repository.substr($locale,0,2).'/branches/'.$wp_version.'/messages/').$locale.'.mo','r'))
49
- if(!$lcr=@fopen($repository.$locale.'/branches/'.$wp_version.'/'.$locale.'.mo','r'))
50
- if(!$lcr=@fopen($repository.substr($locale,0,2).'/branches/'.$wp_version.'/'.$locale.'.mo','r'))
51
- if(!$lcr=@fopen($repository.$locale.'/trunk/messages/'.$locale.'.mo','r'))
52
- if(!$lcr=@fopen($repository.substr($locale,0,2).'/trunk/messages/'.$locale.'.mo','r'))
53
- {
54
- $tagsfile=file($repository.$locale.'/tags/');
55
- $tags=array();
56
- foreach( $tagsfile as $ln ){
57
- if(!preg_match('/href="(\d.*)"/',$ln,$match)) continue;
58
- $tag=$match[1];
59
- $tags[]=$tag;
60
- }
61
- $tags=array_reverse($tags);
62
- foreach( $tags as $tag ){
63
- $m=$repository.$locale.'/tags/'.$tag.'messages/';
64
- $mo=$m.$locale.'.mo';
65
- //if(file_exists())
66
- if(!$lcr=@fopen($mo,'r')) continue;
67
- break;
68
- }
69
- if(!$lcr){// couldn't find a .mo file
70
- if(filesize($tmpfile)==0) unlink($tmpfile);
71
- return false;
72
- }
73
- }
74
- // found a .mo file, update local .mo
75
- qtranxf_updateGettextDatabaseFiles($lcr,$locale,$dstdir,$m);
76
- return true;
77
- }
78
-
79
function qtranxf_updateGettextDatabases($force = false, $only_for_language = '') {
80
global $q_config;
81
if($only_for_language && !qtranxf_isEnabled($only_for_language)) return false;
@@ -86,14 +10,26 @@ function qtranxf_updateGettextDatabases($force = false, $only_for_language = '')
86
$next_update = get_option('qtranslate_next_update_mo');
87
if(time() < $next_update && !$force) return true;
88
update_option('qtranslate_next_update_mo', time() + 7*24*60*60);
89
- //$repository='http://i18n.svn.wordpress.org/';
90
- $repository='http://svn.automattic.com/wordpress-i18n/';
91
- foreach($q_config['locale'] as $lang => $locale) {
92
- if($only_for_language && $lang != $only_for_language) continue;
93
- if(!qtranxf_isEnabled($lang)) continue;
94
- qtranxf_updateGettextDatabase($locale,$repository);
95
}
96
return true;
97
}
98
-
99
- ?>
1
<?php
2
3
function qtranxf_updateGettextDatabases($force = false, $only_for_language = '') {
4
global $q_config;
5
if($only_for_language && !qtranxf_isEnabled($only_for_language)) return false;
10
$next_update = get_option('qtranslate_next_update_mo');
11
if(time() < $next_update && !$force) return true;
12
update_option('qtranslate_next_update_mo', time() + 7*24*60*60);
13
+
14
+ require_once ABSPATH . 'wp-admin/includes/translation-install.php';
15
+ require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
16
+ require_once ABSPATH . 'wp-admin/includes/file.php';
17
+ include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
18
+ $result = translations_api( 'core', array( 'version' => $wp_version ) );
19
+
20
+ foreach ( $result['translations'] as $translation ) {
21
+ $locale = substr($translation['language'], 0, 2);
22
+ if (
23
+ isset( $q_config['locale'][$locale] )
24
+ && $q_config['locale'][$locale] == $translation['language']
25
+ && qtranxf_isEnabled($locale)
26
+ ) {
27
+ $translation = (object) $translation;
28
+ $skin = new Automatic_Upgrader_Skin;
29
+ $upgrader = new Language_Pack_Upgrader( $skin );
30
+ $translation->type = 'core';
31
+ $result = $upgrader->upgrade( $translation, array( 'clear_update_cache' => false ) );
32
+ }
33
}
34
return true;
35
}
lang/qtranslate-az_AZ.mo CHANGED
Binary file
lang/qtranslate-az_AZ.po CHANGED
@@ -2,7 +2,7 @@ msgid ""
2
msgstr ""
3
"Project-Id-Version: qTranslate-X 3.0\n"
4
"Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2015-02-10 18:54-0700\n"
6
"PO-Revision-Date: 2009-09-10 12:00+0400\n"
7
"Last-Translator: Rashad Aliyev <rashadaliyev@gmail.com>\n"
8
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -25,17 +25,14 @@ msgstr ""
25
msgid "You may import/export compatible settings from %s to %s on Settings/Languages configuration page, once %s is running.%sContinue%s"
26
msgstr ""
27
28
- #: admin/activation_hook.php:134
29
- msgid "Error"
30
- msgstr ""
31
-
32
#: admin/activation_hook.php:134
33
#, php-format
34
- msgid "plugin %s cannot run concurrently with plugin %s. You may import and export compatible settings between %s and %s on Settings/<a href=\"%s\">Languages</a> configuration page. Then you have to deactivate one of the plugins to continue."
35
msgstr ""
36
37
#: admin/activation_hook.php:136 admin/activation_hook.php:138
38
- msgid "Deactivate "
39
msgstr ""
40
41
#: admin/activation_hook.php:166
@@ -45,11 +42,11 @@ msgstr ""
45
46
#: admin/activation_hook.php:168
47
#, php-format
48
- msgid "Please, help us to make decision on \"%s\" feature, press the button below."
49
msgstr ""
50
51
#: admin/activation_hook.php:168 admin/activation_hook.php:170
52
- #: qtranslate_services.php:786
53
#, fuzzy
54
msgid "Translation Service"
55
msgstr "qTranslate"
@@ -63,553 +60,613 @@ msgstr ""
63
msgid "I have already done it, dismiss this message."
64
msgstr ""
65
66
- #: admin/admin_utils.php:165 qtranslate_configuration.php:404
67
msgid "Flag"
68
msgstr "Bayraq"
69
70
- #: admin/admin_utils.php:166 qtranslate_configuration.php:444
71
msgid "Name"
72
msgstr "İsim"
73
74
- #: admin/admin_utils.php:167 qtranslate_services.php:382
75
msgid "Action"
76
msgstr "Fəaliyyət"
77
78
- #: admin/admin_utils.php:180 qtranslate_configuration.php:391
79
- #: qtranslate_configuration.php:1064
80
msgid "Languages"
81
msgstr "Dillər"
82
83
- #: admin/import_export.php:79
84
msgid "Plugin"
85
msgstr ""
86
87
- #: admin/import_export.php:83
88
msgid "There is no need to migrate any setting, the database schema is compatible with this plugin."
89
msgstr ""
90
91
- #: admin/import_export.php:86
92
msgid "Do not migrate any setting"
93
msgstr ""
94
95
- #: admin/import_export.php:88
96
#, fuzzy
97
msgid "Import settings from "
98
msgstr "qTranslate-i Sıfırla"
99
100
- #: admin/import_export.php:90
101
#, fuzzy
102
msgid "Export settings to "
103
msgstr "qTranslate-i Sıfırla"
104
105
- #: admin/import_export.php:99 qtranslate_configuration.php:906
106
msgid "Export"
107
msgstr ""
108
109
- #: admin/import_export.php:99 qtranslate_configuration.php:906
110
msgid "Import"
111
msgstr ""
112
113
- #: admin/import_export.php:104 qtranslate_configuration.php:906
114
msgid "Convert Database"
115
msgstr "Məlumat Bazasını Çevir"
116
117
- #: admin/import_export.php:106
118
#, php-format
119
msgid "If you are updating from qTranslate 1.x or Polyglot, <a href=\"%s\">click here</a> to convert posts to the new language tag format."
120
msgstr "Əyər qTranslate 1.x ya da Polyglot'dan yeniləşdirmə aparırsanız, məzmunları yeni dil etiket formasına çevirmək üçün <a href=\"%s\">buraya tıqlayın</a>."
121
122
- #: admin/import_export.php:107
123
#, php-format
124
msgid "If you have installed qTranslate for the first time on a Wordpress with existing posts, you can either go through all your posts manually and save them in the correct language or <a href=\"%s\">click here</a> to mark all existing posts as written in the default language."
125
msgstr "Əyər qTranslate-i məzmunları olan bir Wordpress-e yükləmişsəniz, mövcud məzmunları tək-tək tənzimləyib doğru dildə yaddaşda saxlaya bilər, ya da <a href=\"%s\">buraya tıqlayaraq</a> mövcud bütün məzmunları Ana Dil-də yazılmış olaraq işarətləyə bilərsiniz."
126
127
- #: admin/import_export.php:108
128
msgid "Both processes are <b>irreversible</b>! Be sure to make a full database backup before clicking one of the links."
129
msgstr "Hər iki proses də <strong>geri qaytarıla bilməz</strong>! Bu prosesin hər hansı birini aktivləşdirməzdən əvvəl məlumat bazanızın kopya nüsxəsini götürməyi unudmayın."
130
131
- #: admin/import_export.php:116
132
msgid "Reset qTranslate"
133
msgstr "qTranslate-i Sıfırla"
134
135
- #: admin/import_export.php:118
136
msgid "Check this box and click Save Changes to reset all qTranslate settings."
137
msgstr "qTranslate tənzimləmələrini sıfırlamaq üçün bu qutunu işarətləyin və Dəyişilmişləri Yadda Saxla düyməsinə klikləyin."
138
139
- #: admin/import_export.php:120
140
msgid "Yes, I really want to reset qTranslate."
141
msgstr "Bəli, həqiqətən qTranslate tənzimləmələrini sıfırlamaq istəyirəm."
142
143
- #: admin/import_export.php:122
144
msgid "Also delete Translations for Categories/Tags/Link Categories."
145
msgstr "Kateqoriyalar, Etiketlər və Link Kateqoriyaları üçün edilən tərcümələri sil."
146
147
- #: admin/import_export.php:124
148
msgid "If something isn't working correctly, you can always try to reset all qTranslate settings. A Reset won't delete any posts but will remove all settings (including all languages added)."
149
msgstr "Eyər hər hansı bir şey düzgün işləmirsə, qTranslate tənzimləmələrinizi istədiyiniz vaxt sıfırlaya bilərsiniz. Sıfırlama prosesi məzmunları yox ancaq (əlavə etdiyiniz dillər də daxil olmaqla) bütün tənzimləmələri silər."
150
151
- #: qtranslate_configuration.php:391
152
msgid "Language Management"
153
msgstr "Dil İdarəetmə"
154
155
- #: qtranslate_configuration.php:399
156
msgid "Language Code"
157
msgstr "Dil Kodu"
158
159
- #: qtranslate_configuration.php:401
160
msgid "2-Letter <a href=\"http://www.w3.org/WAI/ER/IG/ert/iso639.htm#2letter\">ISO Language Code</a> for the Language you want to insert. (Example: en)"
161
msgstr "Əlavə etmək istədiyiniz dil üçün 2 hərf uzunluğundakı <a href=\"http://www.w3.org/WAI/ER/IG/ert/iso639.htm#2letter\">ISO Dil Kodu</a>. (Nümunə: az)"
162
163
- #: qtranslate_configuration.php:429
164
msgid "Incorrect Flag Image Path! Please correct it!"
165
msgstr "Bayraq Şəkil Ünvanı Səhfdir! Xahiş olunur düzəldin!"
166
167
- #: qtranslate_configuration.php:432
168
msgid "Choose the corresponding country flag for language. (Example: gb.png)"
169
msgstr "Dil üçün uyğun bayrağı seçin. (Nümunə: az.png)"
170
171
- #: qtranslate_configuration.php:446
172
msgid "The Name of the language, which will be displayed on the site. (Example: English)"
173
msgstr "Dilin saytda göstəriləcək adı. (Nümunə: Azərbaycan)"
174
175
- #: qtranslate_configuration.php:449
176
msgid "Locale"
177
msgstr "Bölgə Kodu"
178
179
- #: qtranslate_configuration.php:452
180
msgid "PHP and Wordpress Locale for the language. (Example: en_US)"
181
msgstr "Dil üçün PHP və Wordpress Bölgə Kodu. (Nümunə: az_AZ)"
182
183
- #: qtranslate_configuration.php:453
184
#, fuzzy
185
msgid "You will need to install the .mo file for this language."
186
msgstr "Bu dil üçün .mo faylını yükləməniz lazımdır."
187
188
- #: qtranslate_configuration.php:457
189
msgid "Date Format"
190
msgstr "Tarix Növü"
191
192
- #: qtranslate_configuration.php:459
193
msgid "Depending on your Date / Time Conversion Mode, you can either enter a <a href=\"http://www.php.net/manual/function.strftime.php\">strftime</a> (use %q for day suffix (st,nd,rd,th)) or <a href=\"http://www.php.net/manual/function.date.php\">date</a> format. This field is optional. (Example: %A %B %e%q, %Y)"
194
msgstr "Tarix / Saat növündən asılı olaraq, <a href=\"http://www.php.net/manual/function.strftime.php\">strftime</a> (gün üçün %q istifadə edin (st,nd,rd,th)) ya da <a href=\"http://www.php.net/manual/function.date.php\">date</a> növündən istifadə edin. Bu bölməni istəyinizə görə tənzimləyə bilərsiniz. (Nümunə: %A %B %e%q, %Y)"
195
196
- #: qtranslate_configuration.php:462
197
msgid "Time Format"
198
msgstr "Saat Növü"
199
200
- #: qtranslate_configuration.php:464
201
msgid "Depending on your Date / Time Conversion Mode, you can either enter a <a href=\"http://www.php.net/manual/function.strftime.php\">strftime</a> or <a href=\"http://www.php.net/manual/function.date.php\">date</a> format. This field is optional. (Example: %I:%M %p)"
202
msgstr "Tarix / Saat növündən asılı olaraq, <a href=\"http://www.php.net/manual/function.strftime.php\">strftime</a> ya da <a href=\"http://www.php.net/manual/function.date.php\">date</a> növündən istifadə edin. Bu bölməni istəyinizə görə tənzimləyə bilərsiniz. (Nümunə: %I:%M %p)"
203
204
- #: qtranslate_configuration.php:467
205
msgid "Not Available Message"
206
msgstr "Mövcud Deyil Mesajı"
207
208
- #: qtranslate_configuration.php:470
209
msgid "Message to display if post is not available in the requested language. (Example: Sorry, this entry is only available in %LANG:, : and %.)"
210
msgstr "Seçilən bölməyə aid tərcümə yox isə görünən mesaj. (Nümunə: Bağışlayın, bu bölmə sadəcə %LANG:, :% dillərində mövcuddur.)"
211
212
- #: qtranslate_configuration.php:471
213
- msgid "%LANG:&lt;normal_seperator&gt;:&lt;last_seperator&gt;% generates a list of languages seperated by &lt;normal_seperator&gt; except for the last one, where &lt;last_seperator&gt; will be used instead."
214
- msgstr "%LANG:&lt;normal_seperator&gt;:&lt;last_seperator&gt;% ilə ayrılmış dil siyahısı yaradır. Normalda ayıran olaraq &lt;normal_seperator&gt; istifadə edilir. Son ayıran olaraq &lt;last_seperator&gt; istifadə edilir."
215
216
- #: qtranslate_configuration.php:576
217
msgid "Hide"
218
msgstr ""
219
220
- #: qtranslate_configuration.php:576
221
msgid "Show"
222
msgstr "Göstər"
223
224
- #: qtranslate_configuration.php:583
225
msgid "Save Changes"
226
msgstr "Yadda Saxla"
227
228
- #: qtranslate_configuration.php:600
229
#, fuzzy
230
msgid "Switching Language"
231
msgstr "Dili Düzəld"
232
233
- #: qtranslate_configuration.php:600
234
#, php-format
235
msgid "Switching language to %1$s... If the Dashboard isn't loading, use this <a href=\"%2$s\" title=\"Dashboard\">link</a>."
236
msgstr ""
237
238
- #: qtranslate_configuration.php:621
239
msgid "qTranslate has been reset."
240
msgstr "qTranslate sıfırlandı."
241
242
- #: qtranslate_configuration.php:659
243
msgid "Gettext databases updated."
244
msgstr "Gettext məlumat bazaları yeniləndi."
245
246
- #: qtranslate_configuration.php:664
247
msgid "The Language must have a Not-Available Message!"
248
msgstr "Dil üçün 'Mövcud Deyil Mesajı' olmalıdır!"
249
250
- #: qtranslate_configuration.php:665
251
msgid "The Language must have a Locale!"
252
msgstr "Dil üçün, 'Bölgə Kodu' olmalıdır!"
253
254
- #: qtranslate_configuration.php:666
255
msgid "The Language must have a name!"
256
msgstr "Dil üçün, 'İsim' olmalıdır!"
257
258
- #: qtranslate_configuration.php:667
259
msgid "Language Code has to be 2 characters long!"
260
msgstr "Dil Kodu 2 hərf uzunluğunda olmalıdır!"
261
262
- #: qtranslate_configuration.php:671 qtranslate_configuration.php:677
263
msgid "There is already a language with the same Language Code!"
264
msgstr "Eyni Dil Kodu-na sahib bir dil mövcuddur."
265
266
- #: qtranslate_configuration.php:788
267
msgid "Language is already enabled or invalid!"
268
msgstr "Bu dil səhfdir ya da aktivdir."
269
270
- #: qtranslate_configuration.php:793
271
msgid "Cannot disable Default Language!"
272
msgstr "Ana Dil Ləğv Passivləşdirilə Bilməz!"
273
274
- #: qtranslate_configuration.php:796 qtranslate_configuration.php:803
275
- #: qtranslate_configuration.php:819
276
msgid "No such language!"
277
msgstr "Dil mövcud deyil!"
278
279
- #: qtranslate_configuration.php:799
280
msgid "Language is already disabled!"
281
msgstr "Dil passivləşdirilmişdir!"
282
283
- #: qtranslate_configuration.php:807
284
#, fuzzy
285
msgid "Language is already first!"
286
msgstr "Dil passivləşdirilmişdir!"
287
288
- #: qtranslate_configuration.php:813 qtranslate_configuration.php:829
289
msgid "New order saved."
290
msgstr ""
291
292
- #: qtranslate_configuration.php:823
293
#, fuzzy
294
msgid "Language is already last!"
295
msgstr "Dil passivləşdirilmişdir!"
296
297
- #: qtranslate_configuration.php:840
298
msgid "Options saved."
299
msgstr "Seçimlər qeyd edildi."
300
301
- #: qtranslate_configuration.php:845
302
#, php-format
303
msgid "Could not write to \"%s\", Gettext Databases could not be downloaded!"
304
msgstr "\"%s\" adrəsinə yazma səlahiyyəti yoxdur, Gettext Məlumat bazası qey edilə bilməz!"
305
306
- #: qtranslate_configuration.php:868
307
msgid "Edit Language"
308
msgstr "Dili Düzəld"
309
310
- #: qtranslate_configuration.php:871
311
msgid "Save Changes &raquo;"
312
msgstr "Dəyişilmişləri Yadda Saxla &raquo;"
313
314
- #: qtranslate_configuration.php:876
315
msgid "Language Management (qTranslate Configuration)"
316
msgstr "Dil İdarəetməsi (qTranslate Tənzimlənməsi)"
317
318
- #: qtranslate_configuration.php:877
319
#, php-format
320
msgid "For help on how to configure qTranslate correctly, take a look at the <a href=\"%1$s\">qTranslate FAQ</a> and the <a href=\"%2$s\">Support Forum</a>."
321
msgstr "qTranslate-i xətasız tənzimləmək üçün, <a href=\"%1$s\" title=\"qTranslate Sıx Soruşulan Suallar\">qTranslate SSS</a> və <a href=\"%2$s\" title=\"qTranslate Yardım Forumu\">Yardım Forumu</a> adreslərinə nəzər salın."
322
323
- #: qtranslate_configuration.php:879
324
msgid "General Settings"
325
msgstr "Ümumi Ayarlar"
326
327
- #: qtranslate_configuration.php:882
328
#, fuzzy
329
msgid "Default Language / Order"
330
msgstr "Ana Dil"
331
332
- #: qtranslate_configuration.php:884
333
msgid "Default Language"
334
msgstr "Ana Dil"
335
336
- #: qtranslate_configuration.php:896
337
#, php-format
338
msgid "Choose the default language of your blog. This is the language which will be shown on %s. You can also change the order the languages by clicking on the arrows above."
339
msgstr ""
340
341
- #: qtranslate_configuration.php:901
342
msgid "Hide Untranslated Content"
343
msgstr "Tərcüməsi olamayan məzmunu gizlət"
344
345
- #: qtranslate_configuration.php:903
346
msgid "Hide Content which is not available for the selected language."
347
msgstr "Seçilən dil üçün tərcüməsi olmayan məzmunu gizlət."
348
349
- #: qtranslate_configuration.php:905
350
msgid "When checked, posts will be hidden if the content is not available for the selected language. If unchecked, a message will appear showing all the languages the content is available in."
351
msgstr "Bu bölmə işarətləndiyi zaman, seçilən dil üçün tərcüməsi olmayan məzmunlər gizlədiləcəkdir. Əyər işarət götürülərsə, məzmuna aid digər tərcümələrin olduğu barəsində mesaj göstəriləcək."
352
353
- #: qtranslate_configuration.php:906
354
#, fuzzy, php-format
355
msgid "This function will not work correctly if you installed %s on a blog with existing entries. In this case you will need to take a look at option \"%s\" under \"%s\" section."
356
msgstr "Əyər qTranslate'-i məzmunlar daxil edilmiş bir blog-a yükləmişsəniz bu funksiya düzgün işləməyəcəkdir. Bu halda \"Məlumat Bazası Çevir\" və \"Geniş Tənzimləmələr\"ə baxmanız gərəkəcəkdir."
357
358
- #: qtranslate_configuration.php:908
359
#, fuzzy
360
msgid "Show displayed language prefix when content is not available for the selected language."
361
msgstr "Seçilən dil üçün tərcüməsi olmayan məzmunu gizlət."
362
363
- #: qtranslate_configuration.php:912
364
msgid "Detect Browser Language"
365
msgstr "Bələdçi (Browser) Dilini Tap"
366
367
- #: qtranslate_configuration.php:914
368
msgid "Detect the language of the browser and redirect accordingly."
369
msgstr "Bələdçi dilini avtomatik olaraq tap və ona görə istiqamətləndir."
370
371
- #: qtranslate_configuration.php:916
372
msgid "When the frontpage is visited via bookmark/external link/type-in, the visitor will be forwarded to the correct URL for the language specified by his browser."
373
msgstr "İstifadəçi anasəhifəyə Sıx İstifadə edilənlər bölməsinə və ya sayt ünvanına daxil olduqda, avtomatik olaraq istifadə etdiyi dilə yönləndirilir."
374
375
- #: qtranslate_configuration.php:921
376
msgid "Advanced Settings"
377
msgstr "Geniş Seçimlər"
378
379
- #: qtranslate_configuration.php:924 qtranslate_configuration.php:926
380
msgid "URL Modification Mode"
381
msgstr "URL Dəyişdirmə Forması"
382
383
- #: qtranslate_configuration.php:927
384
msgid "Most SEO unfriendly, not recommended."
385
msgstr ""
386
387
- #: qtranslate_configuration.php:927
388
msgid "Use Query Mode (?lang=en)"
389
msgstr "Sorgu Növünü İşləd (?lang=az)"
390
391
- #: qtranslate_configuration.php:928
392
msgid "SEO friendly."
393
msgstr ""
394
395
- #: qtranslate_configuration.php:928
396
msgid "Use Pre-Path Mode (Default, puts /en/ in front of URL)"
397
msgstr "Ön-Yol Formasını İşləd (Mövcud unvanın önünə /az/ əlavə olunur)"
398
399
- #: qtranslate_configuration.php:929
400
msgid "Use Pre-Domain Mode (uses http://en.yoursite.com)"
401
msgstr "Sub-ad Formasını İşləd (http://az.sizinsayt.com)"
402
403
- #: qtranslate_configuration.php:929
404
msgid "You will need to configure DNS sub-domains on your site."
405
msgstr ""
406
407
- #: qtranslate_configuration.php:930
408
#, fuzzy
409
msgid "Pre-Path and Pre-Domain mode will only work with mod_rewrite/pretty permalinks. Additional Configuration is needed for Pre-Domain mode or Per-Domain mode."
410
msgstr "Ön-Yol və Sub-ad forması sadəcə mod_rewrite/permalinklər ilə birlikdə işləyir. Sub-ad (subdomain) üçün əlavə tənzimləmə gərəklidir."
411
412
- #: qtranslate_configuration.php:931
413
msgid "Hide URL language information for default language."
414
msgstr ""
415
416
- #: qtranslate_configuration.php:932
417
msgid "This is only applicable to Pre-Path and Pre-Domain mode."
418
msgstr ""
419
420
- #: qtranslate_configuration.php:934
421
#, fuzzy
422
msgid "Use Per-Domain mode: specify separate user-defined domain for each language."
423
msgstr "emulated date funksiyasını işləd və əvvəlcədən müəyyən edilmiş tarix formasını seçilən dilə görə yenidən tənzimlə."
424
425
- #: qtranslate_configuration.php:951
426
msgid "Domain for"
427
msgstr ""
428
429
- #: qtranslate_configuration.php:956
430
msgid "Flag Image Path"
431
msgstr "Bayraq Şəkil Yolu"
432
433
- #: qtranslate_configuration.php:960
434
#, fuzzy, php-format
435
msgid "Path to the flag images under wp-content, with trailing slash. (Default: %s, clear the value above to reset it to the default)"
436
msgstr "Bayraq şəkilləri üçün wp-content folderinin altındakı yolu. (Varsayılan: plugins/qtranslate/flags/)"
437
438
- #: qtranslate_configuration.php:964
439
msgid "Ignore Links"
440
msgstr "Linklərə Əhəmiyyət vermə"
441
442
- #: qtranslate_configuration.php:968
443
#, fuzzy, php-format
444
msgid "Don't convert links to files of the given file types. (Always included: %s)"
445
msgstr "Bu fayl növlərinə verilən linkləri çevirmə. (Mövcud: gif,jpg,jpeg,png,pdf,swf,tif,rar,zip,7z,mpg,divx,mpeg,avi,css,js)"
446
447
- #: qtranslate_configuration.php:972
448
msgid "Update Gettext Databases"
449
msgstr "Gettext Məlumat Bazasını Yeniləşdir"
450
451
- #: qtranslate_configuration.php:974
452
msgid "Automatically check for .mo-Database Updates of installed languages."
453
msgstr "Yüklənən dillər üçün .mo faylların yeniləşdirilməsini avtomatik olaraq yoxla."
454
455
- #: qtranslate_configuration.php:976
456
msgid "Update Gettext databases now."
457
msgstr "Gettext məlumat bazalarını indi yenilə."
458
459
- #: qtranslate_configuration.php:978
460
msgid "qTranslate will query the Wordpress Localisation Repository every week and download the latest Gettext Databases (.mo Files)."
461
msgstr "qTranslate hər həftə Wordpress Local Serverini yoxlayacaq və ən yeni Gettext Məlumat Bazalarını (.mo fayllarını) yükləyəcək."
462
463
- #: qtranslate_configuration.php:982
464
msgid "Date / Time Conversion"
465
msgstr "Tarix / Saat Çevirmə"
466
467
- #: qtranslate_configuration.php:984
468
msgid "Use emulated date function."
469
msgstr "emulated date funksiyasını işləd."
470
471
- #: qtranslate_configuration.php:985
472
msgid "Use emulated date function and replace formats with the predefined formats for each language."
473
msgstr "emulated date funksiyasını işləd və əvvəlcədən müəyyən edilmiş tarix formasını seçilən dilə görə yenidən tənzimlə."
474
475
- #: qtranslate_configuration.php:986
476
msgid "Use strftime instead of date."
477
msgstr "date funksiyası yerinə strftime funksiyası işlədilsin."
478
479
- #: qtranslate_configuration.php:987
480
msgid "Use strftime instead of date and replace formats with the predefined formats for each language."
481
msgstr "date funksiyası yerinə strftime funksiyasını işləd və əvvəlcədən müəyyən edilmiş tarix formasını seçilən dilə görə yenidən tənzimlə."
482
483
- #: qtranslate_configuration.php:988
484
msgid "Depending on the mode selected, additional customizations of the theme may be needed."
485
msgstr "Seçilən formaya görə, sayt şablon fayllarınızda tənzimləmələr aparmanıza ehtiyac yarana bilər."
486
487
- #: qtranslate_configuration.php:992
488
msgid "Custom Fields"
489
msgstr ""
490
491
- #: qtranslate_configuration.php:994
492
#, php-format
493
msgid "Enter \"%s\" or \"%s\" attribute of text fields from your theme, which you wish to translate. This applies to post, page and media editors (%s). To lookup \"%s\" or \"%s\", right-click on the field in the post or the page editor and choose \"%s\". Look for an attribute of the field named \"%s\" or \"%s\". Enter it below, as many as you need, space- or comma-separated. After saving configuration, these fields will start responding to the language switching buttons, and you can enter different text for each language. The input fields of type %s will be parsed using %s syntax, while single line text fields will use %s syntax. If you need to override this behaviour, prepend prefix %s or %s to the name of the field to specify which syntax to use. For more information, read %sFAQ%s."
494
msgstr ""
495
496
- #: qtranslate_configuration.php:994
497
msgid "Inspect Element"
498
msgstr ""
499
500
- #: qtranslate_configuration.php:1001
501
msgid "The value of \"id\" attribute is normally unique within one page, otherwise the first field found, having an id specified, is picked up."
502
msgstr ""
503
504
- #: qtranslate_configuration.php:1008
505
#, php-format
506
msgid "All the fields of specified classes will respond to Language Switching Buttons. Be careful not to include a class, which would affect language-neutral fields. If you cannot uniquely identify a field needed neither by %s, nor by %s attribute, report the issue on %sSupport Forum%s"
507
msgstr ""
508
509
- #: qtranslate_configuration.php:1012
510
msgid "Custom Filters"
511
msgstr ""
512
513
- #: qtranslate_configuration.php:1015
514
#, php-format
515
msgid "Names of filters (which are enabled on theme or other plugins via %s function) to add translation to. For more information, read %sFAQ%s."
516
msgstr ""
517
518
- #: qtranslate_configuration.php:1019
519
msgid "Custom Admin Pages"
520
msgstr ""
521
522
- #: qtranslate_configuration.php:1021
523
#, php-format
524
msgid "List the custom admin page paths for which you wish Language Switching Buttons to show up. The Buttons will then control fields configured in \"Custom Fields\" section. You may only include part of the full URL after %s, including a distinctive query string if needed. As many as desired pages can be listed space/comma separated. For more information, read %sFAQ%s."
525
msgstr ""
526
527
- #: qtranslate_configuration.php:1025
528
- msgid "Compatibility Functions"
529
- msgstr ""
530
-
531
- #: qtranslate_configuration.php:1027
532
#, php-format
533
msgid "Enable function name compatibility (%s)."
534
msgstr ""
535
536
- #: qtranslate_configuration.php:1028
537
#, php-format
538
msgid "Some plugins and themes use direct calls to the functions listed, which are defined in former %s plugin and some of its forks. Turning this flag on will enable those function to exists, which will make the dependent plugins and themes to work. WordPress policy prohibits to define functions with the same names as in other plugins, since it generates user-unfriendly fatal errors, when two conflicting plugins are activated simultaneously. Before turning this option on, you have to make sure that there are no other plugins active, which define those functions."
539
msgstr ""
540
541
- #: qtranslate_configuration.php:1032
542
msgid "Editor Raw Mode"
543
msgstr ""
544
545
- #: qtranslate_configuration.php:1034
546
msgid "Do not use Language Switching Buttons to edit multi-language text entries."
547
msgstr ""
548
549
- #: qtranslate_configuration.php:1035
550
msgid "Some people prefer to edit the raw entries containing all languages together separated by language defining tags, as they are stored in database."
551
msgstr ""
552
553
- #: qtranslate_configuration.php:1088
554
msgid "Disable"
555
msgstr "Məhrum etmək"
556
557
- #: qtranslate_configuration.php:1088
558
msgid "Enable"
559
msgstr "Aktivləşdir"
560
561
- #: qtranslate_configuration.php:1089
562
msgid "Edit"
563
msgstr "Düzəliş"
564
565
- #: qtranslate_configuration.php:1090
566
msgid "Default"
567
msgstr "Təməl"
568
569
- #: qtranslate_configuration.php:1090
570
msgid "Delete"
571
msgstr "Sil"
572
573
- #: qtranslate_configuration.php:1095
574
msgid "Enabling a language will cause qTranslate to update the Gettext-Database for the language, which can take a while depending on your server's connection speed."
575
msgstr ""
576
577
- #: qtranslate_configuration.php:1102
578
msgid "Add Language"
579
msgstr "Dil Əlavə et"
580
581
- #: qtranslate_configuration.php:1105
582
msgid "Add Language &raquo;"
583
msgstr "Dil Əlavə et &raquo;"
584
585
- #: qtranslate_configuration.php:1120
586
#, fuzzy
587
msgid "Language Menu"
588
msgstr "Dil Kodu"
589
590
- #: qtranslate_configuration.php:1169
591
msgid "Help"
592
msgstr ""
593
594
- #: qtranslate_configuration.php:1171
595
#, php-format
596
msgid "Menu item added is replaced with a sub-menu of available languages when menu is rendered. Depending on how your theme renders menu you may need to override and customize css entries %s and %s, originally defined in %s. The field \"URL\" of inserted menu item allows additional configuration described in %sFAQ%s."
597
msgstr ""
598
599
- #: qtranslate_configuration.php:1176
600
msgid "Add to Menu"
601
msgstr ""
602
603
- #: qtranslate_configuration.php:1186
604
#, fuzzy
605
msgid "Language Switcher"
606
msgstr "Dil Kodu"
607
608
- #: qtranslate_configuration.php:1223
609
msgid "Settings"
610
msgstr "Xüsusiyyətlər"
611
612
- #: qtranslate_frontend.php:179 qtranslate_widget.php:65
613
msgid "Language"
614
msgstr "Dil"
615
@@ -651,254 +708,254 @@ msgstr ""
651
msgid "Translate to"
652
msgstr "qTranslate"
653
654
- #: qtranslate_services.php:326
655
msgid "Order deleted."
656
msgstr ""
657
658
- #: qtranslate_services.php:330
659
msgid "Status updated for all open orders."
660
msgstr ""
661
662
- #: qtranslate_services.php:350
663
msgid "Please save your post first."
664
msgstr ""
665
666
- #: qtranslate_services.php:378
667
#, fuzzy
668
msgid "Post Title"
669
msgstr "Başlıq"
670
671
- #: qtranslate_services.php:379
672
msgid "Service"
673
msgstr ""
674
675
- #: qtranslate_services.php:380
676
#, fuzzy
677
msgid "Source Language"
678
msgstr "Dil"
679
680
- #: qtranslate_services.php:381
681
#, fuzzy
682
msgid "Target Language"
683
msgstr "Dili Düzəld"
684
685
- #: qtranslate_services.php:388
686
#, fuzzy
687
msgid "qTranslate Services Settings"
688
msgstr "qTranslate sıfırlandı."
689
690
- #: qtranslate_services.php:393 qtranslate_services.php:674
691
- #: qtranslate_services.php:684 qtranslate_services.php:708
692
#, fuzzy
693
msgid "qTranslate Services"
694
msgstr "qTranslate"
695
696
- #: qtranslate_services.php:395
697
#, php-format
698
msgid "<div id=\"message\" class=\"error fade\"><p>qTranslate Services could not load <a href=\"%s\">OpenSSL</a>!</p></div>"
699
msgstr ""
700
701
- #: qtranslate_services.php:396
702
msgid "Enable qTranslate Services"
703
msgstr ""
704
705
- #: qtranslate_services.php:398
706
msgid "With qTranslate Services, you will be able to use professional human translation services with a few clicks."
707
msgstr ""
708
709
- #: qtranslate_services.php:408
710
msgid "Open Orders"
711
msgstr ""
712
713
- #: qtranslate_services.php:430
714
#, fuzzy, php-format
715
msgid "Edit %s"
716
msgstr "Düzəliş"
717
718
- #: qtranslate_services.php:431 qtranslate_services.php:478
719
- #: qtranslate_services.php:814 qtranslate_services.php:821
720
msgid "Website"
721
msgstr ""
722
723
- #: qtranslate_services.php:441
724
#, php-format
725
msgid "Current Status: %s"
726
msgstr ""
727
728
- #: qtranslate_services.php:449
729
#, php-format
730
msgid "qTranslate Services will automatically check every hour whether the translations are finished and update your posts accordingly. You can always <a href=\"%s\">check manually</a>."
731
msgstr ""
732
733
- #: qtranslate_services.php:450
734
msgid "Deleting an open order doesn't cancel it. You will have to logon to the service homepage and cancel it there."
735
msgstr ""
736
737
- #: qtranslate_services.php:452
738
msgid "No open orders."
739
msgstr ""
740
741
- #: qtranslate_services.php:468
742
msgid "Service Configuration"
743
msgstr ""
744
745
- #: qtranslate_services.php:469
746
msgid "Below, you will find configuration settings for qTranslate Service Providers, which are required for them to operate."
747
msgstr ""
748
749
- #: qtranslate_services.php:549
750
#, php-format
751
msgid "To translate a post, please go to the <a href=\"%s\">edit posts overview</a>."
752
msgstr ""
753
754
- #: qtranslate_services.php:565
755
#, php-format
756
msgid "Post with id \"%s\" not found!"
757
msgstr ""
758
759
- #: qtranslate_services.php:573
760
msgid "The requested Post has no content, no Translation possible."
761
msgstr ""
762
763
- #: qtranslate_services.php:582
764
msgid "The Post already has content for the selected target language. If a translation request is send, the current text for the target language will be overwritten."
765
msgstr ""
766
767
- #: qtranslate_services.php:653
768
#, php-format
769
msgid "An error occured: %s"
770
msgstr ""
771
772
- #: qtranslate_services.php:655
773
#, php-format
774
msgid "Additional information: %s"
775
msgstr ""
776
777
- #: qtranslate_services.php:676
778
#, php-format
779
msgid "An serious error occured and qTranslate Services cannot proceed. For help, please visit the <a href=\"%s\">Support Forum</a>"
780
msgstr ""
781
782
- #: qtranslate_services.php:685
783
msgid "Order successfully sent."
784
msgstr ""
785
786
- #: qtranslate_services.php:686
787
msgid "Your translation order has been successfully transfered to the selected service."
788
msgstr ""
789
790
- #: qtranslate_services.php:690
791
#, php-format
792
msgid "The service returned this message: %s"
793
msgstr ""
794
795
- #: qtranslate_services.php:694
796
msgid "Feel free to choose an action:"
797
msgstr ""
798
799
- #: qtranslate_services.php:696
800
msgid "Translate this post to another language."
801
msgstr ""
802
803
- #: qtranslate_services.php:697
804
#, fuzzy
805
msgid "Translate a different post."
806
msgstr "qTranslate sıfırlandı."
807
808
- #: qtranslate_services.php:698
809
msgid "View all open orders."
810
msgstr ""
811
812
- #: qtranslate_services.php:699
813
msgid "Let qTranslate Services check if any open orders are finished."
814
msgstr ""
815
816
- #: qtranslate_services.php:700
817
msgid "View this post."
818
msgstr ""
819
820
- #: qtranslate_services.php:725
821
#, php-format
822
msgid "Your article is available in multiple languages. If you do not want to translate from %1$s, you can switch to one of the following languages: %2$s"
823
msgstr ""
824
825
- #: qtranslate_services.php:733
826
msgid "Please choose the language you want to translate to:"
827
msgstr ""
828
829
- #: qtranslate_services.php:745
830
msgid "Continue"
831
msgstr ""
832
833
- #: qtranslate_services.php:756 qtranslate_services.php:759
834
msgid "Confirm Order"
835
msgstr ""
836
837
- #: qtranslate_services.php:758
838
msgid "Please confirm your order."
839
msgstr ""
840
841
- #: qtranslate_services.php:766 qtranslate_services.php:915
842
#, fuzzy
843
msgid "Request Translation"
844
msgstr "qTranslate-i Sıfırla"
845
846
- #: qtranslate_services.php:768
847
msgid "Javascript is required for qTranslate Services"
848
msgstr ""
849
850
- #: qtranslate_services.php:769
851
msgid "Please choose a service first"
852
msgstr ""
853
854
- #: qtranslate_services.php:778
855
msgid "ERROR: Could not connect to qTranslate Services. Please try again later."
856
msgstr ""
857
858
- #: qtranslate_services.php:815
859
#, php-format
860
msgid "Cannot use this service, not all <a href=\"%s\">required fields</a> filled in for this service."
861
msgstr ""
862
863
- #: qtranslate_services.php:831
864
msgid "<p><img src=\"images/wpspin_light.gif\"> Getting Quote...</p>"
865
msgstr ""
866
867
- #: qtranslate_services.php:852
868
msgid "Click to toggle"
869
msgstr ""
870
871
- #: qtranslate_services.php:853
872
msgid "Review Article"
873
msgstr ""
874
875
- #: qtranslate_services.php:859
876
msgid "Your article will be SSL encrypted and securly sent to qTranslate Services, which will forward your text to the chosen Translation Service. Once qTranslate Services receives the translated text, it will automatically appear on your blog."
877
msgstr ""
878
879
- #: qtranslate_services.php:898 qtranslate_services.php:905
880
msgid "unavailable"
881
msgstr ""
882
883
- #: qtranslate_services.php:903
884
msgid "free"
885
msgstr ""
886
887
- #: qtranslate_services.php:910
888
#, php-format
889
msgid "<p>Price: %1$s %2$s</p>"
890
msgstr ""
891
892
- #: qtranslate_services.php:911
893
#, php-format
894
msgid "~ %1$s %2$s"
895
msgstr ""
896
897
- #: qtranslate_services.php:918
898
msgid "An error occured!"
899
msgstr ""
900
901
- #: qtranslate_services.php:936
902
#, fuzzy
903
msgid "Translate"
904
msgstr "qTranslate"
@@ -912,39 +969,39 @@ msgstr ""
912
msgid "qTranslate Language Chooser"
913
msgstr "qTranslate sıfırlandı."
914
915
- #: qtranslate_widget.php:94
916
msgid "Title:"
917
msgstr "Başlıq:"
918
919
- #: qtranslate_widget.php:95
920
msgid "Hide Title:"
921
msgstr "Başlığı Gizlət:"
922
923
- #: qtranslate_widget.php:96
924
msgid "Display:"
925
msgstr "Nümayiş:"
926
927
- #: qtranslate_widget.php:97
928
msgid "Text only"
929
msgstr "Sadəcə yazı"
930
931
- #: qtranslate_widget.php:98
932
msgid "Image only"
933
msgstr "Sadəcə şəkil"
934
935
- #: qtranslate_widget.php:99
936
msgid "Text and Image"
937
msgstr "Yazı və Şəkil"
938
939
- #: qtranslate_widget.php:100
940
msgid "Dropdown Box"
941
msgstr "Seçim Qutusu"
942
943
- #: qtranslate_widget.php:101
944
msgid "To reset to default, clear the text."
945
msgstr ""
946
947
- #: qtranslate_widget.php:101
948
msgid "Widget"
949
msgstr ""
950
2
msgstr ""
3
"Project-Id-Version: qTranslate-X 3.0\n"
4
"Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2015-02-22 15:58-0700\n"
6
"PO-Revision-Date: 2009-09-10 12:00+0400\n"
7
"Last-Translator: Rashad Aliyev <rashadaliyev@gmail.com>\n"
8
"Language-Team: LANGUAGE <LL@li.org>\n"
25
msgid "You may import/export compatible settings from %s to %s on Settings/Languages configuration page, once %s is running.%sContinue%s"
26
msgstr ""
27
28
#: admin/activation_hook.php:134
29
#, php-format
30
+ msgid "%sError:%s plugin %s cannot run concurrently with plugin %s. You may import and export compatible settings between %s and %s on Settings/<a href=\"%s\">Languages</a> configuration page. Then you have to deactivate one of the plugins to continue."
31
msgstr ""
32
33
#: admin/activation_hook.php:136 admin/activation_hook.php:138
34
+ #, php-format
35
+ msgid "Deactivate %s"
36
msgstr ""
37
38
#: admin/activation_hook.php:166
42
43
#: admin/activation_hook.php:168
44
#, php-format
45
+ msgid "Please, help us to make a decision on \"%s\" feature, press the button below."
46
msgstr ""
47
48
#: admin/activation_hook.php:168 admin/activation_hook.php:170
49
+ #: qtranslate_services.php:787
50
#, fuzzy
51
msgid "Translation Service"
52
msgstr "qTranslate"
60
msgid "I have already done it, dismiss this message."
61
msgstr ""
62
63
+ #: admin/admin_utils.php:90
64
+ msgid "Database has been converted to square bracket format."
65
+ msgstr ""
66
+
67
+ #: admin/admin_utils.php:90 admin/admin_utils.php:106
68
+ msgid "Note: custom entries are not touched."
69
+ msgstr ""
70
+
71
+ #: admin/admin_utils.php:106
72
+ msgid "Database has been converted to legacy dual-tag format."
73
+ msgstr ""
74
+
75
+ #: admin/admin_utils.php:254 qtranslate_configuration.php:460
76
msgid "Flag"
77
msgstr "Bayraq"
78
79
+ #: admin/admin_utils.php:255 qtranslate_configuration.php:500
80
msgid "Name"
81
msgstr "İsim"
82
83
+ #: admin/admin_utils.php:256 qtranslate_services.php:383
84
msgid "Action"
85
msgstr "Fəaliyyət"
86
87
+ #: admin/admin_utils.php:269 qtranslate_configuration.php:447
88
+ #: qtranslate_configuration.php:1135
89
msgid "Languages"
90
msgstr "Dillər"
91
92
+ #: admin/import_export.php:109
93
msgid "Plugin"
94
msgstr ""
95
96
+ #: admin/import_export.php:113
97
msgid "There is no need to migrate any setting, the database schema is compatible with this plugin."
98
msgstr ""
99
100
+ #: admin/import_export.php:116
101
msgid "Do not migrate any setting"
102
msgstr ""
103
104
+ #: admin/import_export.php:118
105
#, fuzzy
106
msgid "Import settings from "
107
msgstr "qTranslate-i Sıfırla"
108
109
+ #: admin/import_export.php:120
110
#, fuzzy
111
msgid "Export settings to "
112
msgstr "qTranslate-i Sıfırla"
113
114
+ #: admin/import_export.php:129 qtranslate_configuration.php:977
115
msgid "Export"
116
msgstr ""
117
118
+ #: admin/import_export.php:129 qtranslate_configuration.php:977
119
msgid "Import"
120
msgstr ""
121
122
+ #: admin/import_export.php:134 qtranslate_configuration.php:723
123
+ #: qtranslate_configuration.php:733 qtranslate_configuration.php:977
124
msgid "Convert Database"
125
msgstr "Məlumat Bazasını Çevir"
126
127
+ #: admin/import_export.php:136
128
#, php-format
129
msgid "If you are updating from qTranslate 1.x or Polyglot, <a href=\"%s\">click here</a> to convert posts to the new language tag format."
130
msgstr "Əyər qTranslate 1.x ya da Polyglot'dan yeniləşdirmə aparırsanız, məzmunları yeni dil etiket formasına çevirmək üçün <a href=\"%s\">buraya tıqlayın</a>."
131
132
+ #: admin/import_export.php:137
133
#, php-format
134
msgid "If you have installed qTranslate for the first time on a Wordpress with existing posts, you can either go through all your posts manually and save them in the correct language or <a href=\"%s\">click here</a> to mark all existing posts as written in the default language."
135
msgstr "Əyər qTranslate-i məzmunları olan bir Wordpress-e yükləmişsəniz, mövcud məzmunları tək-tək tənzimləyib doğru dildə yaddaşda saxlaya bilər, ya da <a href=\"%s\">buraya tıqlayaraq</a> mövcud bütün məzmunları Ana Dil-də yazılmış olaraq işarətləyə bilərsiniz."
136
137
+ #: admin/import_export.php:138
138
msgid "Both processes are <b>irreversible</b>! Be sure to make a full database backup before clicking one of the links."
139
msgstr "Hər iki proses də <strong>geri qaytarıla bilməz</strong>! Bu prosesin hər hansı birini aktivləşdirməzdən əvvəl məlumat bazanızın kopya nüsxəsini götürməyi unudmayın."
140
141
+ #: admin/import_export.php:139
142
+ #, fuzzy
143
+ msgid "Do not convert database"
144
+ msgstr "Məlumat Bazasını Çevir"
145
+
146
+ #: admin/import_export.php:140
147
+ msgid "Convert database to the \"square bracket only\" style."
148
+ msgstr ""
149
+
150
+ #: admin/import_export.php:141
151
+ #, php-format
152
+ msgid "The square bracket language tag %s only will be used as opposite to dual-tag %s legacy database format. All string options and standard post and page fields will be uniformly encoded like %s."
153
+ msgstr ""
154
+
155
+ #: admin/import_export.php:142
156
+ msgid "Convert database back to the legacy \"dual language tag\" style."
157
+ msgstr ""
158
+
159
+ #: admin/import_export.php:143
160
+ msgid "Note, that only string options and standard post and page fields are affected."
161
+ msgstr ""
162
+
163
+ #: admin/import_export.php:151
164
msgid "Reset qTranslate"
165
msgstr "qTranslate-i Sıfırla"
166
167
+ #: admin/import_export.php:153
168
msgid "Check this box and click Save Changes to reset all qTranslate settings."
169
msgstr "qTranslate tənzimləmələrini sıfırlamaq üçün bu qutunu işarətləyin və Dəyişilmişləri Yadda Saxla düyməsinə klikləyin."
170
171
+ #: admin/import_export.php:155
172
msgid "Yes, I really want to reset qTranslate."
173
msgstr "Bəli, həqiqətən qTranslate tənzimləmələrini sıfırlamaq istəyirəm."
174
175
+ #: admin/import_export.php:157
176
msgid "Also delete Translations for Categories/Tags/Link Categories."
177
msgstr "Kateqoriyalar, Etiketlər və Link Kateqoriyaları üçün edilən tərcümələri sil."
178
179
+ #: admin/import_export.php:159
180
msgid "If something isn't working correctly, you can always try to reset all qTranslate settings. A Reset won't delete any posts but will remove all settings (including all languages added)."
181
msgstr "Eyər hər hansı bir şey düzgün işləmirsə, qTranslate tənzimləmələrinizi istədiyiniz vaxt sıfırlaya bilərsiniz. Sıfırlama prosesi məzmunları yox ancaq (əlavə etdiyiniz dillər də daxil olmaqla) bütün tənzimləmələri silər."
182
183
+ #: qtranslate_configuration.php:447
184
msgid "Language Management"
185
msgstr "Dil İdarəetmə"
186
187
+ #: qtranslate_configuration.php:455
188
msgid "Language Code"
189
msgstr "Dil Kodu"
190
191
+ #: qtranslate_configuration.php:457
192
msgid "2-Letter <a href=\"http://www.w3.org/WAI/ER/IG/ert/iso639.htm#2letter\">ISO Language Code</a> for the Language you want to insert. (Example: en)"
193
msgstr "Əlavə etmək istədiyiniz dil üçün 2 hərf uzunluğundakı <a href=\"http://www.w3.org/WAI/ER/IG/ert/iso639.htm#2letter\">ISO Dil Kodu</a>. (Nümunə: az)"
194
195
+ #: qtranslate_configuration.php:485
196
msgid "Incorrect Flag Image Path! Please correct it!"
197
msgstr "Bayraq Şəkil Ünvanı Səhfdir! Xahiş olunur düzəldin!"
198
199
+ #: qtranslate_configuration.php:488
200
msgid "Choose the corresponding country flag for language. (Example: gb.png)"
201
msgstr "Dil üçün uyğun bayrağı seçin. (Nümunə: az.png)"
202
203
+ #: qtranslate_configuration.php:502
204
msgid "The Name of the language, which will be displayed on the site. (Example: English)"
205
msgstr "Dilin saytda göstəriləcək adı. (Nümunə: Azərbaycan)"
206
207
+ #: qtranslate_configuration.php:505
208
msgid "Locale"
209
msgstr "Bölgə Kodu"
210
211
+ #: qtranslate_configuration.php:508
212
msgid "PHP and Wordpress Locale for the language. (Example: en_US)"
213
msgstr "Dil üçün PHP və Wordpress Bölgə Kodu. (Nümunə: az_AZ)"
214
215
+ #: qtranslate_configuration.php:509
216
#, fuzzy
217
msgid "You will need to install the .mo file for this language."
218
msgstr "Bu dil üçün .mo faylını yükləməniz lazımdır."
219
220
+ #: qtranslate_configuration.php:513
221
msgid "Date Format"
222
msgstr "Tarix Növü"
223
224
+ #: qtranslate_configuration.php:515
225
msgid "Depending on your Date / Time Conversion Mode, you can either enter a <a href=\"http://www.php.net/manual/function.strftime.php\">strftime</a> (use %q for day suffix (st,nd,rd,th)) or <a href=\"http://www.php.net/manual/function.date.php\">date</a> format. This field is optional. (Example: %A %B %e%q, %Y)"
226
msgstr "Tarix / Saat növündən asılı olaraq, <a href=\"http://www.php.net/manual/function.strftime.php\">strftime</a> (gün üçün %q istifadə edin (st,nd,rd,th)) ya da <a href=\"http://www.php.net/manual/function.date.php\">date</a> növündən istifadə edin. Bu bölməni istəyinizə görə tənzimləyə bilərsiniz. (Nümunə: %A %B %e%q, %Y)"
227
228
+ #: qtranslate_configuration.php:518
229
msgid "Time Format"
230
msgstr "Saat Növü"
231
232
+ #: qtranslate_configuration.php:520
233
msgid "Depending on your Date / Time Conversion Mode, you can either enter a <a href=\"http://www.php.net/manual/function.strftime.php\">strftime</a> or <a href=\"http://www.php.net/manual/function.date.php\">date</a> format. This field is optional. (Example: %I:%M %p)"
234
msgstr "Tarix / Saat növündən asılı olaraq, <a href=\"http://www.php.net/manual/function.strftime.php\">strftime</a> ya da <a href=\"http://www.php.net/manual/function.date.php\">date</a> növündən istifadə edin. Bu bölməni istəyinizə görə tənzimləyə bilərsiniz. (Nümunə: %I:%M %p)"
235
236
+ #: qtranslate_configuration.php:523
237
msgid "Not Available Message"
238
msgstr "Mövcud Deyil Mesajı"
239
240
+ #: qtranslate_configuration.php:526
241
msgid "Message to display if post is not available in the requested language. (Example: Sorry, this entry is only available in %LANG:, : and %.)"
242
msgstr "Seçilən bölməyə aid tərcümə yox isə görünən mesaj. (Nümunə: Bağışlayın, bu bölmə sadəcə %LANG:, :% dillərində mövcuddur.)"
243
244
+ #: qtranslate_configuration.php:527
245
+ msgid "%LANG:&lt;normal_separator&gt;:&lt;last_separator&gt;% generates a list of languages separated by &lt;normal_separator&gt; except for the last one, where &lt;last_separator&gt; will be used instead."
246
+ msgstr "%LANG:&lt;normal_separator&gt;:&lt;last_separator&gt;% ilə ayrılmış dil siyahısı yaradır. Normalda ayıran olaraq &lt;normal_separator&gt; istifadə edilir. Son ayıran olaraq &lt;last_separator&gt; istifadə edilir."
247
248
+ #: qtranslate_configuration.php:632
249
msgid "Hide"
250
msgstr ""
251
252
+ #: qtranslate_configuration.php:632
253
msgid "Show"
254
msgstr "Göstər"
255
256
+ #: qtranslate_configuration.php:639
257
msgid "Save Changes"
258
msgstr "Yadda Saxla"
259
260
+ #: qtranslate_configuration.php:656
261
#, fuzzy
262
msgid "Switching Language"
263
msgstr "Dili Düzəld"
264
265
+ #: qtranslate_configuration.php:656
266
#, php-format
267
msgid "Switching language to %1$s... If the Dashboard isn't loading, use this <a href=\"%2$s\" title=\"Dashboard\">link</a>."
268
msgstr ""
269
270
+ #: qtranslate_configuration.php:677
271
msgid "qTranslate has been reset."
272
msgstr "qTranslate sıfırlandı."
273
274
+ #: qtranslate_configuration.php:716
275
msgid "Gettext databases updated."
276
msgstr "Gettext məlumat bazaları yeniləndi."
277
278
+ #: qtranslate_configuration.php:722
279
+ #, php-format
280
+ msgid "Applicable options and taxonomy names from plugin %s have been imported. Note that the multilingual content of posts, pages and other objects has not been altered during this operation. There is no additional operation needed to import content, since its format is compatible with %s"
281
+ msgstr ""
282
+
283
+ #: qtranslate_configuration.php:723
284
+ #, php-format
285
+ msgid "%sImportant%s: Before you start making edits to post and pages, please, make sure that both, your front site and admin back-end, work under this configuration. It may help to review \"%s\" and see if any of conflicting plugins mentioned there are used here. While the current content, coming from %s, is compatible with this plugin, the newly modified posts and pages will be saved with a new square-bracket-only encoding, which has a number of advantages comparing to former %s encoding. However, the new encoding is not straightforwardly compatible with %s and you will need an additional step available under \"%s\" option if you ever decide to go back to %s. Even with this additional conversion step, the 3rd-party plugins custom-stored data will not be auto-converted, but manual editing will still work. That is why it is advisable to create a test-copy of your site before making any further changes. In case you encounter a problem, please give us a chance to improve %s, send the login information to the test-copy of your site to %s along with a detailed step-by-step description of what is not working, and continue using your main site with %s meanwhile. It would also help, if you share a success story as well, either on %sthe forum%s, or via the same e-mail as mentioned above. Thank you very much for trying %s."
286
+ msgstr ""
287
+
288
+ #: qtranslate_configuration.php:723
289
+ msgid "This is a one-time message, which you will not see again, unless the same import is repeated."
290
+ msgstr ""
291
+
292
+ #: qtranslate_configuration.php:725 qtranslate_configuration.php:1096
293
+ msgid "Compatibility Functions"
294
+ msgstr ""
295
+
296
+ #: qtranslate_configuration.php:725
297
+ #, php-format
298
+ msgid "Option \"%s\" has also been turned on, as the most common case for importing configuration from %s. You may turn it off manually if your setup does not require it. Refer to %sFAQ%s for more information."
299
+ msgstr ""
300
+
301
+ #: qtranslate_configuration.php:733
302
+ #, php-format
303
+ msgid "Applicable options have been exported to plugin %s. If you have done some post or page updates after migrating from %s, then \"%s\" operation is also required to convert the content to \"dual language tag\" style in order for plugin %s to function."
304
+ msgstr ""
305
+
306
+ #: qtranslate_configuration.php:744
307
msgid "The Language must have a Not-Available Message!"
308
msgstr "Dil üçün 'Mövcud Deyil Mesajı' olmalıdır!"
309
310
+ #: qtranslate_configuration.php:745
311
msgid "The Language must have a Locale!"
312
msgstr "Dil üçün, 'Bölgə Kodu' olmalıdır!"
313
314
+ #: qtranslate_configuration.php:746
315
msgid "The Language must have a name!"
316
msgstr "Dil üçün, 'İsim' olmalıdır!"
317
318
+ #: qtranslate_configuration.php:747
319
msgid "Language Code has to be 2 characters long!"
320
msgstr "Dil Kodu 2 hərf uzunluğunda olmalıdır!"
321
322
+ #: qtranslate_configuration.php:751 qtranslate_configuration.php:757
323
msgid "There is already a language with the same Language Code!"
324
msgstr "Eyni Dil Kodu-na sahib bir dil mövcuddur."
325
326
+ #: qtranslate_configuration.php:856
327
msgid "Language is already enabled or invalid!"
328
msgstr "Bu dil səhfdir ya da aktivdir."
329
330
+ #: qtranslate_configuration.php:861
331
msgid "Cannot disable Default Language!"
332
msgstr "Ana Dil Ləğv Passivləşdirilə Bilməz!"
333
334
+ #: qtranslate_configuration.php:864 qtranslate_configuration.php:871
335
+ #: qtranslate_configuration.php:887
336
msgid "No such language!"
337
msgstr "Dil mövcud deyil!"
338
339
+ #: qtranslate_configuration.php:867
340
msgid "Language is already disabled!"
341
msgstr "Dil passivləşdirilmişdir!"
342
343
+ #: qtranslate_configuration.php:875
344
#, fuzzy
345
msgid "Language is already first!"
346
msgstr "Dil passivləşdirilmişdir!"
347
348
+ #: qtranslate_configuration.php:881 qtranslate_configuration.php:897
349
msgid "New order saved."
350
msgstr ""
351
352
+ #: qtranslate_configuration.php:891
353
#, fuzzy
354
msgid "Language is already last!"
355
msgstr "Dil passivləşdirilmişdir!"
356
357
+ #: qtranslate_configuration.php:908
358
msgid "Options saved."
359
msgstr "Seçimlər qeyd edildi."
360
361
+ #: qtranslate_configuration.php:913
362
#, php-format
363
msgid "Could not write to \"%s\", Gettext Databases could not be downloaded!"
364
msgstr "\"%s\" adrəsinə yazma səlahiyyəti yoxdur, Gettext Məlumat bazası qey edilə bilməz!"
365
366
+ #: qtranslate_configuration.php:939
367
msgid "Edit Language"
368
msgstr "Dili Düzəld"
369
370
+ #: qtranslate_configuration.php:942
371
msgid "Save Changes &raquo;"
372
msgstr "Dəyişilmişləri Yadda Saxla &raquo;"
373
374
+ #: qtranslate_configuration.php:947
375
msgid "Language Management (qTranslate Configuration)"
376
msgstr "Dil İdarəetməsi (qTranslate Tənzimlənməsi)"
377
378
+ #: qtranslate_configuration.php:948
379
#, php-format
380
msgid "For help on how to configure qTranslate correctly, take a look at the <a href=\"%1$s\">qTranslate FAQ</a> and the <a href=\"%2$s\">Support Forum</a>."
381
msgstr "qTranslate-i xətasız tənzimləmək üçün, <a href=\"%1$s\" title=\"qTranslate Sıx Soruşulan Suallar\">qTranslate SSS</a> və <a href=\"%2$s\" title=\"qTranslate Yardım Forumu\">Yardım Forumu</a> adreslərinə nəzər salın."
382
383
+ #: qtranslate_configuration.php:950
384
msgid "General Settings"
385
msgstr "Ümumi Ayarlar"
386
387
+ #: qtranslate_configuration.php:953
388
#, fuzzy
389
msgid "Default Language / Order"
390
msgstr "Ana Dil"
391
392
+ #: qtranslate_configuration.php:955
393
msgid "Default Language"
394
msgstr "Ana Dil"
395
396
+ #: qtranslate_configuration.php:967
397
#, php-format
398
msgid "Choose the default language of your blog. This is the language which will be shown on %s. You can also change the order the languages by clicking on the arrows above."
399
msgstr ""
400
401
+ #: qtranslate_configuration.php:972
402
msgid "Hide Untranslated Content"
403
msgstr "Tərcüməsi olamayan məzmunu gizlət"
404
405
+ #: qtranslate_configuration.php:974
406
msgid "Hide Content which is not available for the selected language."
407
msgstr "Seçilən dil üçün tərcüməsi olmayan məzmunu gizlət."
408
409
+ #: qtranslate_configuration.php:976
410
msgid "When checked, posts will be hidden if the content is not available for the selected language. If unchecked, a message will appear showing all the languages the content is available in."
411
msgstr "Bu bölmə işarətləndiyi zaman, seçilən dil üçün tərcüməsi olmayan məzmunlər gizlədiləcəkdir. Əyər işarət götürülərsə, məzmuna aid digər tərcümələrin olduğu barəsində mesaj göstəriləcək."
412
413
+ #: qtranslate_configuration.php:977
414
#, fuzzy, php-format
415
msgid "This function will not work correctly if you installed %s on a blog with existing entries. In this case you will need to take a look at option \"%s\" under \"%s\" section."
416
msgstr "Əyər qTranslate'-i məzmunlar daxil edilmiş bir blog-a yükləmişsəniz bu funksiya düzgün işləməyəcəkdir. Bu halda \"Məlumat Bazası Çevir\" və \"Geniş Tənzimləmələr\"ə baxmanız gərəkəcəkdir."
417
418
+ #: qtranslate_configuration.php:979
419
#, fuzzy
420
msgid "Show displayed language prefix when content is not available for the selected language."
421
msgstr "Seçilən dil üçün tərcüməsi olmayan məzmunu gizlət."
422
423
+ #: qtranslate_configuration.php:983
424
msgid "Detect Browser Language"
425
msgstr "Bələdçi (Browser) Dilini Tap"
426
427
+ #: qtranslate_configuration.php:985
428
msgid "Detect the language of the browser and redirect accordingly."
429
msgstr "Bələdçi dilini avtomatik olaraq tap və ona görə istiqamətləndir."
430
431
+ #: qtranslate_configuration.php:987
432
msgid "When the frontpage is visited via bookmark/external link/type-in, the visitor will be forwarded to the correct URL for the language specified by his browser."
433
msgstr "İstifadəçi anasəhifəyə Sıx İstifadə edilənlər bölməsinə və ya sayt ünvanına daxil olduqda, avtomatik olaraq istifadə etdiyi dilə yönləndirilir."
434
435
+ #: qtranslate_configuration.php:992
436
msgid "Advanced Settings"
437
msgstr "Geniş Seçimlər"
438
439
+ #: qtranslate_configuration.php:995 qtranslate_configuration.php:997