Version Description
(2013-03-17) =
- Add Catalan translation contributed by Nria Martnez Berenguer
- Add Ukrainian translation contributed by cmd soft
- Improve compatibility with WordPress SEO (sitemap for categories and tags)
- A query is no more filtered by language when setting the parameter 'lang' to an empty value
- Add the possibility to create a custom wpml-config.xml file in wp-content/polylang/
- Bug correction: custom menus are not displayed on search page (introduced in 1.0.2)
- Bug correction: sql error when filtering terms by language (introduced in 1.0.2)
- Bug correction: SSL doesn't work properly
- Bug correction: php notice on IIS servers
- Bug correction: clicking on the radio buttons in the admin language switcher does not work in Chrome
- Bug correction: on multisite, the signup page is redirected to the home page
- Bug correction: date archives are not correctly filtered for the default language when hiding the language code and using date and name permalinks
- Bug correction: only one wpml-config.xml file is parsed
Download this release
Release Info
Developer | Chouby |
Plugin | Polylang |
Version | 1.0.3 |
Comparing to | |
See all releases |
Code changes from version 1.0.2 to 1.0.3
- include/about.php +1 -1
- include/admin-base.php +8 -12
- include/admin-filters.php +6 -5
- include/admin.php +10 -1
- include/base.php +7 -3
- include/core.php +19 -17
- include/plugins-compat.php +15 -5
- include/wpml-compat.php +79 -56
- languages/polylang-ca.mo +0 -0
- languages/polylang-ca.po +582 -0
- languages/polylang-uk.mo +0 -0
- languages/polylang-uk.po +660 -0
- polylang.php +9 -9
- readme.txt +21 -6
- uninstall.php +8 -7
include/about.php
CHANGED
@@ -20,7 +20,7 @@ printf(
|
|
20 |
echo ' ';
|
21 |
printf(
|
22 |
__('If you wonder how you can help the project, just %sread this%s.', 'polylang'),
|
23 |
-
'<a href="http://wordpress.
|
24 |
'</a>'
|
25 |
);
|
26 |
echo ' ';
|
20 |
echo ' ';
|
21 |
printf(
|
22 |
__('If you wonder how you can help the project, just %sread this%s.', 'polylang'),
|
23 |
+
'<a href="http://polylang.wordpress.com/documentation/contribute/">',
|
24 |
'</a>'
|
25 |
);
|
26 |
echo ' ';
|
include/admin-base.php
CHANGED
@@ -137,7 +137,7 @@ class Polylang_Admin_Base extends Polylang_Base {
|
|
137 |
|
138 |
// try to download theme files if exist (will not return false if failed)
|
139 |
// FIXME not updated when the theme is updated outside a core update
|
140 |
-
foreach (array('twentyten', 'twentyeleven', 'twentytwelve') as $theme)
|
141 |
wp_remote_get($base."$version/messages/$theme/$locale.mo", $args + array('filename' => get_theme_root()."/$theme/languages/$locale.mo"));
|
142 |
|
143 |
return true;
|
@@ -179,31 +179,27 @@ class Polylang_Admin_Base extends Polylang_Base {
|
|
179 |
$selected = !empty($_GET['lang']) && !is_numeric($_GET['lang']) && ($lang = $this->get_language($_GET['lang'])) ? $lang->slug :
|
180 |
(($lg = get_user_meta(get_current_user_id(), 'pll_filter_content', true)) ? $lg : 'all');
|
181 |
|
|
|
|
|
182 |
$wp_admin_bar->add_menu(array(
|
183 |
'id' => 'languages',
|
184 |
'title' => __('Languages', 'polylang'),
|
185 |
'meta' => array('title' => __('Filters content by language', 'polylang')),
|
186 |
));
|
187 |
|
188 |
-
$
|
189 |
-
|
190 |
-
'id' => 'all',
|
191 |
-
'title' => sprintf('<input name="all" type="radio" value="1" %s /> %s',
|
192 |
-
$selected == 'all' ? 'checked="checked"' : '', __('Show all languages', 'polylang')),
|
193 |
-
'href' => add_query_arg('lang', 'all', $url),
|
194 |
-
));
|
195 |
-
|
196 |
-
foreach ($this->get_languages_list() as $lang) {
|
197 |
$wp_admin_bar->add_menu(array(
|
198 |
'parent' => 'languages',
|
199 |
'id' => $lang->slug,
|
200 |
'title' => sprintf(
|
201 |
-
'<input name="
|
|
|
202 |
esc_attr($lang->slug),
|
203 |
$selected == $lang->slug ? 'checked="checked"' : '',
|
204 |
esc_html($lang->name)
|
205 |
),
|
206 |
-
'href' =>
|
207 |
));
|
208 |
}
|
209 |
}
|
137 |
|
138 |
// try to download theme files if exist (will not return false if failed)
|
139 |
// FIXME not updated when the theme is updated outside a core update
|
140 |
+
foreach (array('twentyten', 'twentyeleven', 'twentytwelve', 'twentythirteen') as $theme)
|
141 |
wp_remote_get($base."$version/messages/$theme/$locale.mo", $args + array('filename' => get_theme_root()."/$theme/languages/$locale.mo"));
|
142 |
|
143 |
return true;
|
179 |
$selected = !empty($_GET['lang']) && !is_numeric($_GET['lang']) && ($lang = $this->get_language($_GET['lang'])) ? $lang->slug :
|
180 |
(($lg = get_user_meta(get_current_user_id(), 'pll_filter_content', true)) ? $lg : 'all');
|
181 |
|
182 |
+
$all_item = array((object) array('slug' => 'all', 'name' => __('Show all languages', 'polylang')));
|
183 |
+
|
184 |
$wp_admin_bar->add_menu(array(
|
185 |
'id' => 'languages',
|
186 |
'title' => __('Languages', 'polylang'),
|
187 |
'meta' => array('title' => __('Filters content by language', 'polylang')),
|
188 |
));
|
189 |
|
190 |
+
foreach (array_merge($all_item, $this->get_languages_list()) as $lang) {
|
191 |
+
$href = add_query_arg('lang', $lang->slug, $url);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
192 |
$wp_admin_bar->add_menu(array(
|
193 |
'parent' => 'languages',
|
194 |
'id' => $lang->slug,
|
195 |
'title' => sprintf(
|
196 |
+
'<input name="language" type="radio" onclick="location.href=%s" value="%s" %s /> %s',
|
197 |
+
"'" . $href . "'", // onclick is needed for Chrome browser, thanks to RavanH for the bug report and fix
|
198 |
esc_attr($lang->slug),
|
199 |
$selected == $lang->slug ? 'checked="checked"' : '',
|
200 |
esc_html($lang->name)
|
201 |
),
|
202 |
+
'href' => $href,
|
203 |
));
|
204 |
}
|
205 |
}
|
include/admin-filters.php
CHANGED
@@ -934,11 +934,12 @@ class Polylang_Admin_Filters extends Polylang_Admin_Base {
|
|
934 |
|
935 |
// get all posts associated to this term
|
936 |
$posts = get_posts(array(
|
937 |
-
'numberposts'=> -1,
|
938 |
-
'
|
939 |
-
'
|
940 |
-
'
|
941 |
-
'
|
|
|
942 |
'taxonomy' => $taxonomy,
|
943 |
'field' => 'id',
|
944 |
'terms' => array_merge(array($term_id), array_values($translations)),
|
934 |
|
935 |
// get all posts associated to this term
|
936 |
$posts = get_posts(array(
|
937 |
+
'numberposts' => -1,
|
938 |
+
'nopaging' => true,
|
939 |
+
'post_type' => 'any',
|
940 |
+
'post_status' => 'any',
|
941 |
+
'fields' => 'ids',
|
942 |
+
'tax_query' => array(array(
|
943 |
'taxonomy' => $taxonomy,
|
944 |
'field' => 'id',
|
945 |
'terms' => array_merge(array($term_id), array_values($translations)),
|
include/admin.php
CHANGED
@@ -96,7 +96,14 @@ class Polylang_Admin extends Polylang_Admin_Base {
|
|
96 |
$lang_slug = $lang->slug;
|
97 |
|
98 |
// update the language slug in posts meta
|
99 |
-
$posts = get_posts(array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
$this->delete_translations('post', $posts, $lang_slug);
|
101 |
|
102 |
// update the language slug in categories & post tags meta
|
@@ -173,6 +180,7 @@ class Polylang_Admin extends Polylang_Admin_Base {
|
|
173 |
// update the language slug in posts meta
|
174 |
$posts = get_posts(array(
|
175 |
'numberposts' => -1,
|
|
|
176 |
'fields' => 'ids',
|
177 |
'meta_key' => '_translations',
|
178 |
'post_type' => 'any',
|
@@ -425,6 +433,7 @@ class Polylang_Admin extends Polylang_Admin_Base {
|
|
425 |
function get_objects_with_no_lang() {
|
426 |
$posts = get_posts(array(
|
427 |
'numberposts' => -1,
|
|
|
428 |
'post_type' => $this->post_types,
|
429 |
'post_status' => 'any',
|
430 |
'fields' => 'ids',
|
96 |
$lang_slug = $lang->slug;
|
97 |
|
98 |
// update the language slug in posts meta
|
99 |
+
$posts = get_posts(array(
|
100 |
+
'numberposts' => -1,
|
101 |
+
'nopaging' => true,
|
102 |
+
'fields' => 'ids',
|
103 |
+
'meta_key' => '_translations',
|
104 |
+
'post_type' => 'any',
|
105 |
+
'post_status' => 'any'
|
106 |
+
));
|
107 |
$this->delete_translations('post', $posts, $lang_slug);
|
108 |
|
109 |
// update the language slug in categories & post tags meta
|
180 |
// update the language slug in posts meta
|
181 |
$posts = get_posts(array(
|
182 |
'numberposts' => -1,
|
183 |
+
'nopaging' => true,
|
184 |
'fields' => 'ids',
|
185 |
'meta_key' => '_translations',
|
186 |
'post_type' => 'any',
|
433 |
function get_objects_with_no_lang() {
|
434 |
$posts = get_posts(array(
|
435 |
'numberposts' => -1,
|
436 |
+
'nopaging' => true,
|
437 |
'post_type' => $this->post_types,
|
438 |
'post_status' => 'any',
|
439 |
'fields' => 'ids',
|
include/base.php
CHANGED
@@ -276,7 +276,7 @@ abstract class Polylang_Base {
|
|
276 |
global $wpdb;
|
277 |
// the query is coming from Polylang and the $lang is an object
|
278 |
if (is_object($lang))
|
279 |
-
return $lang->$field;
|
280 |
|
281 |
// the query is coming from outside with 'lang' parameter and $lang is a comma separated list of slugs (or an array of slugs)
|
282 |
$languages = is_array($lang) ? $lang : explode(',', $lang);
|
@@ -286,6 +286,10 @@ abstract class Polylang_Base {
|
|
286 |
INNER JOIN $wpdb->terms USING (term_id)
|
287 |
WHERE taxonomy = 'language' AND $wpdb->terms.slug IN ($languages)
|
288 |
"); // get ids from slugs
|
|
|
|
|
|
|
|
|
289 |
return implode(',', $languages);
|
290 |
}
|
291 |
|
@@ -315,14 +319,14 @@ abstract class Polylang_Base {
|
|
315 |
|
316 |
// returns all page ids *not in* language defined by $lang_id
|
317 |
function exclude_pages($lang_id) {
|
318 |
-
// 'suppress_filter' is true by default so this query is not filtered by our pre_get_post filter in core.php
|
319 |
return get_posts(array(
|
|
|
320 |
'numberposts' => -1,
|
|
|
321 |
'post_type' => array_intersect(get_post_types(array('hierarchical' => 1)), $this->post_types),
|
322 |
'fields' => 'ids',
|
323 |
'tax_query' => array(array(
|
324 |
'taxonomy' => 'language',
|
325 |
-
'fields' => 'id',
|
326 |
'terms' => $lang_id,
|
327 |
'operator' => 'NOT IN'
|
328 |
))
|
276 |
global $wpdb;
|
277 |
// the query is coming from Polylang and the $lang is an object
|
278 |
if (is_object($lang))
|
279 |
+
return $field == 'term_id' ? "'" . $lang->$field . "'" : $lang->$field;
|
280 |
|
281 |
// the query is coming from outside with 'lang' parameter and $lang is a comma separated list of slugs (or an array of slugs)
|
282 |
$languages = is_array($lang) ? $lang : explode(',', $lang);
|
286 |
INNER JOIN $wpdb->terms USING (term_id)
|
287 |
WHERE taxonomy = 'language' AND $wpdb->terms.slug IN ($languages)
|
288 |
"); // get ids from slugs
|
289 |
+
|
290 |
+
if ($field == 'term_id')
|
291 |
+
$languages = array_map(create_function('$v', 'return "\'" . $v . "\'";'), $languages);
|
292 |
+
|
293 |
return implode(',', $languages);
|
294 |
}
|
295 |
|
319 |
|
320 |
// returns all page ids *not in* language defined by $lang_id
|
321 |
function exclude_pages($lang_id) {
|
|
|
322 |
return get_posts(array(
|
323 |
+
'lang' => 0, // so this query is not filtered by our pre_get_post filter in core.php
|
324 |
'numberposts' => -1,
|
325 |
+
'nopaging' => true,
|
326 |
'post_type' => array_intersect(get_post_types(array('hierarchical' => 1)), $this->post_types),
|
327 |
'fields' => 'ids',
|
328 |
'tax_query' => array(array(
|
329 |
'taxonomy' => 'language',
|
|
|
330 |
'terms' => $lang_id,
|
331 |
'operator' => 'NOT IN'
|
332 |
))
|
include/core.php
CHANGED
@@ -416,7 +416,7 @@ class Polylang_Core extends Polylang_base {
|
|
416 |
// don't redirect if $_POST is not empty as it could break other plugins
|
417 |
// don't forget the query string which may be added by plugins
|
418 |
elseif (is_string($redirect = $this->get_home_url($this->curlang)) && empty($_POST)) {
|
419 |
-
wp_redirect($_SERVER['QUERY_STRING'] ? $redirect . ($wp_rewrite->using_permalinks() ? '?' : '&') . $_SERVER['QUERY_STRING']
|
420 |
exit;
|
421 |
}
|
422 |
}
|
@@ -425,20 +425,27 @@ class Polylang_Core extends Polylang_base {
|
|
425 |
function pre_get_posts($query) {
|
426 |
// don't make anything if no language has been defined yet
|
427 |
// $this->post_types & $this->taxonomies are defined only once the action 'wp_loaded' has been fired
|
428 |
-
//
|
429 |
-
if (!$this->get_languages_list() || !did_action('wp_loaded')
|
430 |
return;
|
431 |
|
432 |
$qv = $query->query_vars;
|
433 |
|
|
|
|
|
|
|
|
|
434 |
// users may want to display content in a different language than the current one by setting it explicitely in the query
|
435 |
if (!$this->first_query && $this->curlang && !empty($qv['lang']))
|
436 |
return;
|
437 |
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
|
|
|
|
|
|
442 |
return;
|
443 |
|
444 |
global $wp_rewrite;
|
@@ -446,7 +453,7 @@ class Polylang_Core extends Polylang_base {
|
|
446 |
|
447 |
// special case for wp-signup.php & wp-activate.php
|
448 |
// stripos for case insensitive file systems
|
449 |
-
if (
|
450 |
$this->curlang = $this->get_preferred_language();
|
451 |
return;
|
452 |
}
|
@@ -497,14 +504,9 @@ class Polylang_Core extends Polylang_base {
|
|
497 |
}
|
498 |
}
|
499 |
|
500 |
-
$is_post_type = isset($qv['post_type']) && (
|
501 |
-
in_array($qv['post_type'], $this->post_types) ||
|
502 |
-
(is_array($qv['post_type']) && array_intersect($qv['post_type'], $this->post_types))
|
503 |
-
);
|
504 |
-
|
505 |
// FIXME to generalize as I probably forget things
|
506 |
$is_archive = (count($query->query) == 1 && !empty($qv['paged'])) ||
|
507 |
-
!empty($qv['m']) ||
|
508 |
!empty($qv['author']) ||
|
509 |
(isset($qv['post_type']) && is_post_type_archive() && $is_post_type);
|
510 |
|
@@ -513,7 +515,7 @@ class Polylang_Core extends Polylang_base {
|
|
513 |
$query->set_404();
|
514 |
|
515 |
// sets the language in case we hide the default language
|
516 |
-
if ($this->options['hide_default'] && !isset($qv['lang']) && ($is_archive || is_search
|
517 |
$query->set('lang', $this->options['default_lang']);
|
518 |
|
519 |
// allow filtering recent posts and secondary queries by the current language
|
@@ -577,7 +579,7 @@ class Polylang_Core extends Polylang_base {
|
|
577 |
}
|
578 |
|
579 |
// adds our clauses to filter by language
|
580 |
-
return $this->_terms_clauses($clauses,
|
581 |
}
|
582 |
|
583 |
// meta in the html head section
|
@@ -717,7 +719,7 @@ class Polylang_Core extends Polylang_base {
|
|
717 |
|
718 |
// filters the comments according to the current language mainly for the recent comments widget
|
719 |
function comments_clauses($clauses, $query) {
|
720 |
-
return $this->_comments_clauses($clauses,
|
721 |
}
|
722 |
|
723 |
// modifies the sql request for wp_get_archives an get_adjacent_post to filter by the current language
|
416 |
// don't redirect if $_POST is not empty as it could break other plugins
|
417 |
// don't forget the query string which may be added by plugins
|
418 |
elseif (is_string($redirect = $this->get_home_url($this->curlang)) && empty($_POST)) {
|
419 |
+
wp_redirect(empty($_SERVER['QUERY_STRING']) ? $redirect : $redirect . ($wp_rewrite->using_permalinks() ? '?' : '&') . $_SERVER['QUERY_STRING']);
|
420 |
exit;
|
421 |
}
|
422 |
}
|
425 |
function pre_get_posts($query) {
|
426 |
// don't make anything if no language has been defined yet
|
427 |
// $this->post_types & $this->taxonomies are defined only once the action 'wp_loaded' has been fired
|
428 |
+
// don't honor suppress_filters as it breaks adjacent_image_link when post_parent == 0
|
429 |
+
if (!$this->get_languages_list() || !did_action('wp_loaded'))
|
430 |
return;
|
431 |
|
432 |
$qv = $query->query_vars;
|
433 |
|
434 |
+
// do not filter if lang is set to an empty value
|
435 |
+
if (isset($qv['lang']) && !$qv['lang'])
|
436 |
+
return;
|
437 |
+
|
438 |
// users may want to display content in a different language than the current one by setting it explicitely in the query
|
439 |
if (!$this->first_query && $this->curlang && !empty($qv['lang']))
|
440 |
return;
|
441 |
|
442 |
+
$is_post_type = isset($qv['post_type']) && (
|
443 |
+
in_array($qv['post_type'], $this->post_types) ||
|
444 |
+
(is_array($qv['post_type']) && array_intersect($qv['post_type'], $this->post_types))
|
445 |
+
);
|
446 |
+
|
447 |
+
// don't filters post types not in our list
|
448 |
+
if (isset($qv['post_type']) && !$is_post_type)
|
449 |
return;
|
450 |
|
451 |
global $wp_rewrite;
|
453 |
|
454 |
// special case for wp-signup.php & wp-activate.php
|
455 |
// stripos for case insensitive file systems
|
456 |
+
if (false === stripos($_SERVER['SCRIPT_NAME'], $wp_rewrite->index)) {
|
457 |
$this->curlang = $this->get_preferred_language();
|
458 |
return;
|
459 |
}
|
504 |
}
|
505 |
}
|
506 |
|
|
|
|
|
|
|
|
|
|
|
507 |
// FIXME to generalize as I probably forget things
|
508 |
$is_archive = (count($query->query) == 1 && !empty($qv['paged'])) ||
|
509 |
+
!empty($qv['m']) || !empty($qv['year']) || // need to test year due to post rewrite rule conflict when using date and name permalinks
|
510 |
!empty($qv['author']) ||
|
511 |
(isset($qv['post_type']) && is_post_type_archive() && $is_post_type);
|
512 |
|
515 |
$query->set_404();
|
516 |
|
517 |
// sets the language in case we hide the default language
|
518 |
+
if ($this->options['hide_default'] && !isset($qv['lang']) && ($is_archive || $query->is_search || (count($query->query) == 1 && !empty($qv['feed'])) ))
|
519 |
$query->set('lang', $this->options['default_lang']);
|
520 |
|
521 |
// allow filtering recent posts and secondary queries by the current language
|
579 |
}
|
580 |
|
581 |
// adds our clauses to filter by language
|
582 |
+
return $this->_terms_clauses($clauses, isset($args['lang']) ? $args['lang'] : $this->curlang);
|
583 |
}
|
584 |
|
585 |
// meta in the html head section
|
719 |
|
720 |
// filters the comments according to the current language mainly for the recent comments widget
|
721 |
function comments_clauses($clauses, $query) {
|
722 |
+
return $this->_comments_clauses($clauses, isset($query->query_vars['lang']) ? $query->query_vars['lang'] : $this->curlang);
|
723 |
}
|
724 |
|
725 |
// modifies the sql request for wp_get_archives an get_adjacent_post to filter by the current language
|
include/plugins-compat.php
CHANGED
@@ -1,23 +1,25 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class Polylang_Plugins_Compat{
|
4 |
function __construct() {
|
5 |
// YARPP
|
6 |
// just makes YARPP aware of the language taxonomy (after Polylang registered it)
|
7 |
add_action('init', create_function('',"\$GLOBALS['wp_taxonomies']['language']->yarpp_support = 1;"), 20);
|
8 |
|
9 |
// WordPress SEO by Yoast
|
10 |
-
// Unfortunately this plugin loads the text domain before Polylang is able to modify the locale
|
11 |
if (is_admin())
|
12 |
-
add_filter('override_load_textdomain', array(&$this, '
|
|
|
|
|
13 |
|
14 |
// Custom field template
|
15 |
-
// This plugin does check $_REQUEST['post'] to populate the custom fields values
|
16 |
add_action('dbx_post_advanced', array(&$this, 'cft_copy'));
|
17 |
|
18 |
}
|
19 |
|
20 |
-
|
|
|
|
|
21 |
if ($domain == 'wordpress-seo' && !did_action('plugins_loaded')) {
|
22 |
add_filter('plugins_loaded', create_function('', "load_plugin_textdomain('wordpress-seo', false, dirname(WPSEO_BASENAME).'/languages');"));
|
23 |
return true;
|
@@ -25,6 +27,14 @@ class Polylang_Plugins_Compat{
|
|
25 |
return $return;
|
26 |
}
|
27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
function cft_copy() {
|
29 |
global $post, $custom_field_template;
|
30 |
if (isset($custom_field_template) && !empty($post) && isset($_REQUEST['from_post']) && isset($_REQUEST['new_lang']))
|
1 |
<?php
|
2 |
|
3 |
+
class Polylang_Plugins_Compat {
|
4 |
function __construct() {
|
5 |
// YARPP
|
6 |
// just makes YARPP aware of the language taxonomy (after Polylang registered it)
|
7 |
add_action('init', create_function('',"\$GLOBALS['wp_taxonomies']['language']->yarpp_support = 1;"), 20);
|
8 |
|
9 |
// WordPress SEO by Yoast
|
|
|
10 |
if (is_admin())
|
11 |
+
add_filter('override_load_textdomain', array(&$this, 'wpseo_override_load_textdomain'), 10, 2);
|
12 |
+
|
13 |
+
add_filter('get_terms_args', array(&$this, 'wpseo_remove_terms_filter'));
|
14 |
|
15 |
// Custom field template
|
|
|
16 |
add_action('dbx_post_advanced', array(&$this, 'cft_copy'));
|
17 |
|
18 |
}
|
19 |
|
20 |
+
// Unfortunately WPSEO loads the text domain before Polylang is able to modify the locale
|
21 |
+
// this hack works because Polylang is loaded before WPSEO...
|
22 |
+
function wpseo_override_load_textdomain( $return, $domain ) {
|
23 |
if ($domain == 'wordpress-seo' && !did_action('plugins_loaded')) {
|
24 |
add_filter('plugins_loaded', create_function('', "load_plugin_textdomain('wordpress-seo', false, dirname(WPSEO_BASENAME).'/languages');"));
|
25 |
return true;
|
27 |
return $return;
|
28 |
}
|
29 |
|
30 |
+
// removes the language filter for the taxonomy sitemaps
|
31 |
+
function wpseo_remove_terms_filter($args) {
|
32 |
+
if (defined('WPSEO_VERSION') && isset($GLOBALS['wp_query']->query['sitemap']))
|
33 |
+
$args['lang'] = 0;
|
34 |
+
return $args;
|
35 |
+
}
|
36 |
+
|
37 |
+
// Custom field template does check $_REQUEST['post'] to populate the custom fields values
|
38 |
function cft_copy() {
|
39 |
global $post, $custom_field_template;
|
40 |
if (isset($custom_field_template) && !empty($post) && isset($_REQUEST['from_post']) && isset($_REQUEST['new_lang']))
|
include/wpml-compat.php
CHANGED
@@ -164,13 +164,12 @@ class Polylang_WPML_Compat {
|
|
164 |
add_action('pll_get_strings', array(&$this, 'get_strings'));
|
165 |
}
|
166 |
|
167 |
-
// the
|
|
|
|
|
168 |
function register_string($context, $name, $string) {
|
169 |
if (empty($this->strings))
|
170 |
-
$this->strings = get_option('polylang_wpml_strings');
|
171 |
-
|
172 |
-
if (empty($this->strings))
|
173 |
-
$this->strings = array();
|
174 |
|
175 |
// registers the string if it does not exist yet
|
176 |
// $context not used today but save it just in case
|
@@ -184,10 +183,7 @@ class Polylang_WPML_Compat {
|
|
184 |
// removes a string from the registered strings list
|
185 |
function unregister_string($context, $name) {
|
186 |
if (empty($this->strings))
|
187 |
-
$this->strings = get_option('polylang_wpml_strings');
|
188 |
-
|
189 |
-
if (empty($this->strings))
|
190 |
-
$this->strings = array();
|
191 |
|
192 |
foreach ($this->strings as $key=>$string) {
|
193 |
if ($string['context'] == $context && $string['name'] == $name) {
|
@@ -226,7 +222,7 @@ class Polylang_WPML_Config {
|
|
226 |
add_action('plugins_loaded', array(&$this, 'init'));
|
227 |
}
|
228 |
|
229 |
-
function xml_parse($xml) {
|
230 |
$parser = xml_parser_create();
|
231 |
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
|
232 |
xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
|
@@ -241,18 +237,20 @@ class Polylang_WPML_Config {
|
|
241 |
array('custom-fields', 'custom-field'),
|
242 |
array('custom-types','custom-type'),
|
243 |
array('taxonomies','taxonomy'),
|
244 |
-
array('
|
245 |
);
|
246 |
|
247 |
foreach ($keys as $k) {
|
248 |
-
if (isset($arr[$k[0]])
|
249 |
-
|
250 |
-
|
251 |
-
|
|
|
|
|
|
|
|
|
252 |
}
|
253 |
}
|
254 |
-
|
255 |
-
$this->wpml_config = array_merge_recursive($this->wpml_config, $arr);
|
256 |
}
|
257 |
|
258 |
function xml_parse_recursive() {
|
@@ -291,7 +289,8 @@ class Polylang_WPML_Config {
|
|
291 |
}
|
292 |
if (isset($value))
|
293 |
$tagRef = $value;
|
294 |
-
}
|
|
|
295 |
|
296 |
return $found;
|
297 |
}
|
@@ -301,18 +300,22 @@ class Polylang_WPML_Config {
|
|
301 |
|
302 |
// child theme
|
303 |
if (($template = get_template_directory()) != ($stylesheet = get_stylesheet_directory()) && file_exists($file = $stylesheet.'/wpml-config.xml'))
|
304 |
-
$this->xml_parse(file_get_contents($file)); // FIXME fopen + fread + fclose quicker ?
|
305 |
|
306 |
// theme
|
307 |
if (file_exists($file = $template.'/wpml-config.xml'))
|
308 |
-
$this->xml_parse(file_get_contents($file));
|
309 |
|
310 |
// plugins
|
311 |
foreach (get_option('active_plugins') as $plugin) {
|
312 |
-
if (file_exists($file =
|
313 |
-
$this->xml_parse(file_get_contents($file));
|
314 |
}
|
315 |
|
|
|
|
|
|
|
|
|
316 |
if (isset($this->wpml_config['custom-fields']))
|
317 |
add_filter('pll_copy_post_metas', array(&$this, 'copy_post_metas'), 10, 2);
|
318 |
|
@@ -325,22 +328,27 @@ class Polylang_WPML_Config {
|
|
325 |
if (!isset($this->wpml_config['admin-texts']))
|
326 |
return;
|
327 |
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
338 |
}
|
339 |
-
else
|
340 |
-
add_filter('option_'.$option_name, array(&$this, 'translate_strings'));
|
341 |
}
|
342 |
}
|
343 |
|
|
|
344 |
function admin_texts_recursive($keys) {
|
345 |
if (!isset($keys[0])) {
|
346 |
$elem = $keys;
|
@@ -353,61 +361,76 @@ class Polylang_WPML_Config {
|
|
353 |
return $strings;
|
354 |
}
|
355 |
|
356 |
-
|
|
|
357 |
foreach ($options as $name=>$value) {
|
358 |
if (isset($strings[$name])) {
|
359 |
if (is_string($value) && $strings[$name] == 1)
|
360 |
-
pll_register_string($
|
361 |
-
|
362 |
-
$this->register_string_recursive($strings[$name], $value);
|
363 |
}
|
364 |
}
|
365 |
}
|
366 |
|
367 |
function copy_post_metas($metas, $sync) {
|
368 |
-
foreach ($this->wpml_config['custom-fields']
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
$
|
|
|
|
|
373 |
}
|
374 |
return $metas;
|
375 |
}
|
376 |
|
377 |
// language and translation management for custom post types
|
378 |
function translate_types($types, $hide) {
|
379 |
-
foreach ($this->wpml_config['custom-types']
|
380 |
-
|
381 |
-
$
|
382 |
-
|
383 |
-
|
|
|
|
|
384 |
}
|
385 |
return $types;
|
386 |
}
|
387 |
|
388 |
// language and translation management for custom taxonomies
|
389 |
function translate_taxonomies($taxonomies, $hide) {
|
390 |
-
foreach ($this->wpml_config['taxonomies']
|
391 |
-
|
392 |
-
$
|
393 |
-
|
394 |
-
|
|
|
|
|
395 |
}
|
396 |
|
397 |
return $taxonomies;
|
398 |
}
|
399 |
|
|
|
400 |
function translate_strings($value) {
|
401 |
-
|
402 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
403 |
}
|
404 |
|
|
|
405 |
function translate_strings_recursive($strings, $values) {
|
406 |
foreach ($values as $name=>$value) {
|
407 |
if (isset($strings[$name])) {
|
408 |
if (is_string($value) && $strings[$name] == 1)
|
409 |
$values[$name] = pll__($value);
|
410 |
-
|
411 |
$value = $this->translate_strings_recursive($strings[$name], $value);
|
412 |
}
|
413 |
}
|
164 |
add_action('pll_get_strings', array(&$this, 'get_strings'));
|
165 |
}
|
166 |
|
167 |
+
// unlike pll_register_string, icl_register_string stores the sting in database
|
168 |
+
// so we need to do the same as some plugins or themes may expect this
|
169 |
+
// we use a serialized option to do this
|
170 |
function register_string($context, $name, $string) {
|
171 |
if (empty($this->strings))
|
172 |
+
$this->strings = get_option('polylang_wpml_strings', array());
|
|
|
|
|
|
|
173 |
|
174 |
// registers the string if it does not exist yet
|
175 |
// $context not used today but save it just in case
|
183 |
// removes a string from the registered strings list
|
184 |
function unregister_string($context, $name) {
|
185 |
if (empty($this->strings))
|
186 |
+
$this->strings = get_option('polylang_wpml_strings', array());
|
|
|
|
|
|
|
187 |
|
188 |
foreach ($this->strings as $key=>$string) {
|
189 |
if ($string['context'] == $context && $string['name'] == $name) {
|
222 |
add_action('plugins_loaded', array(&$this, 'init'));
|
223 |
}
|
224 |
|
225 |
+
function xml_parse($xml, $context) {
|
226 |
$parser = xml_parser_create();
|
227 |
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
|
228 |
xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
|
237 |
array('custom-fields', 'custom-field'),
|
238 |
array('custom-types','custom-type'),
|
239 |
array('taxonomies','taxonomy'),
|
240 |
+
array('admin-texts','key')
|
241 |
);
|
242 |
|
243 |
foreach ($keys as $k) {
|
244 |
+
if (isset($arr[$k[0]])) {
|
245 |
+
if (!isset($arr[$k[0]][$k[1]][0])) {
|
246 |
+
$elem = $arr[$k[0]][$k[1]];
|
247 |
+
unset($arr[$k[0]][$k[1]]);
|
248 |
+
$arr[$k[0]][$k[1]][0] = $elem;
|
249 |
+
}
|
250 |
+
|
251 |
+
$this->wpml_config[$k[0]][$context] = $arr[$k[0]];
|
252 |
}
|
253 |
}
|
|
|
|
|
254 |
}
|
255 |
|
256 |
function xml_parse_recursive() {
|
289 |
}
|
290 |
if (isset($value))
|
291 |
$tagRef = $value;
|
292 |
+
}
|
293 |
+
}
|
294 |
|
295 |
return $found;
|
296 |
}
|
300 |
|
301 |
// child theme
|
302 |
if (($template = get_template_directory()) != ($stylesheet = get_stylesheet_directory()) && file_exists($file = $stylesheet.'/wpml-config.xml'))
|
303 |
+
$this->xml_parse(file_get_contents($file), get_stylesheet()); // FIXME fopen + fread + fclose quicker ?
|
304 |
|
305 |
// theme
|
306 |
if (file_exists($file = $template.'/wpml-config.xml'))
|
307 |
+
$this->xml_parse(file_get_contents($file), get_template());
|
308 |
|
309 |
// plugins
|
310 |
foreach (get_option('active_plugins') as $plugin) {
|
311 |
+
if (file_exists($file = dirname(POLYLANG_DIR).'/'.dirname($plugin).'/wpml-config.xml'))
|
312 |
+
$this->xml_parse(file_get_contents($file), dirname($plugin));
|
313 |
}
|
314 |
|
315 |
+
// custom
|
316 |
+
if (file_exists($file = PLL_LOCAL_DIR.'/wpml-config.xml'))
|
317 |
+
$this->xml_parse(file_get_contents($file), 'polylang');
|
318 |
+
|
319 |
if (isset($this->wpml_config['custom-fields']))
|
320 |
add_filter('pll_copy_post_metas', array(&$this, 'copy_post_metas'), 10, 2);
|
321 |
|
328 |
if (!isset($this->wpml_config['admin-texts']))
|
329 |
return;
|
330 |
|
331 |
+
// get a cleaner array for easy manipulation
|
332 |
+
foreach ($this->wpml_config['admin-texts'] as $context => $arr)
|
333 |
+
foreach ($arr as $keys)
|
334 |
+
$this->strings[$context] = $this->admin_texts_recursive($keys);
|
335 |
+
|
336 |
+
foreach ($this->strings as $context=>$options) {
|
337 |
+
foreach ($options as $option_name=>$value) {
|
338 |
+
if (defined('DOING_CRON') || (is_admin() && !(defined('DOING_AJAX') && isset($_REQUEST['pll_load_front'])))) { // backend
|
339 |
+
$option = get_option($option_name);
|
340 |
+
if (is_string($option) && $value == 1)
|
341 |
+
pll_register_string($option_name, $option); // FIXME ready to use $context
|
342 |
+
elseif (is_array($option) && is_array($value))
|
343 |
+
$this->register_string_recursive($context, $value, $option); // for a serialized option
|
344 |
+
}
|
345 |
+
else
|
346 |
+
add_filter('option_'.$option_name, array(&$this, 'translate_strings'));
|
347 |
}
|
|
|
|
|
348 |
}
|
349 |
}
|
350 |
|
351 |
+
// arranges strings in a cleaner way
|
352 |
function admin_texts_recursive($keys) {
|
353 |
if (!isset($keys[0])) {
|
354 |
$elem = $keys;
|
361 |
return $strings;
|
362 |
}
|
363 |
|
364 |
+
// recursively registers strings for a serialized option
|
365 |
+
function register_string_recursive($context, $strings, $options) {
|
366 |
foreach ($options as $name=>$value) {
|
367 |
if (isset($strings[$name])) {
|
368 |
if (is_string($value) && $strings[$name] == 1)
|
369 |
+
pll_register_string($option_name, $option); // FIXME ready to use $context
|
370 |
+
elseif (is_array($value) && is_array($strings[$name]))
|
371 |
+
$this->register_string_recursive($context, $strings[$name], $value);
|
372 |
}
|
373 |
}
|
374 |
}
|
375 |
|
376 |
function copy_post_metas($metas, $sync) {
|
377 |
+
foreach ($this->wpml_config['custom-fields'] as $context) {
|
378 |
+
foreach ($context['custom-field'] as $cf) {
|
379 |
+
if (!$sync && in_array($cf['attributes']['action'], array('copy', 'translate')))
|
380 |
+
$metas[] = $cf['value'];
|
381 |
+
elseif ($sync && $cf['attributes']['action'] != 'copy')
|
382 |
+
$metas = array_diff($metas, array($cf['value'])); // do not synchronize
|
383 |
+
}
|
384 |
}
|
385 |
return $metas;
|
386 |
}
|
387 |
|
388 |
// language and translation management for custom post types
|
389 |
function translate_types($types, $hide) {
|
390 |
+
foreach ($this->wpml_config['custom-types'] as $context) {
|
391 |
+
foreach ($context['custom-type'] as $pt) {
|
392 |
+
if ($pt['attributes']['translate'] == 1 && !$hide)
|
393 |
+
$types[$pt['value']] = $pt['value'];
|
394 |
+
elseif ($hide)
|
395 |
+
unset ($types[$pt['value']]); // the author decided what to do with the post type so don't allow the user to change this
|
396 |
+
}
|
397 |
}
|
398 |
return $types;
|
399 |
}
|
400 |
|
401 |
// language and translation management for custom taxonomies
|
402 |
function translate_taxonomies($taxonomies, $hide) {
|
403 |
+
foreach ($this->wpml_config['taxonomies'] as $context) {
|
404 |
+
foreach ($context['taxonomy'] as $tax) {
|
405 |
+
if ($tax['attributes']['translate'] == 1 && !$hide)
|
406 |
+
$taxonomies[$tax['value']] = $tax['value'];
|
407 |
+
elseif ($hide)
|
408 |
+
unset ($types[$tax['value']]); // the author decided what to do with the taxonomy so don't allow the user to change this
|
409 |
+
}
|
410 |
}
|
411 |
|
412 |
return $taxonomies;
|
413 |
}
|
414 |
|
415 |
+
// translates the strings for an option
|
416 |
function translate_strings($value) {
|
417 |
+
if (is_array($value)) {
|
418 |
+
$option = substr(current_filter(), 7);
|
419 |
+
foreach ($this->strings as $context=>$options) {
|
420 |
+
if (array_key_exists($option, $options))
|
421 |
+
return $this->translate_strings_recursive($options[$option], $value); // for a serialized option
|
422 |
+
}
|
423 |
+
}
|
424 |
+
return pll__($value);
|
425 |
}
|
426 |
|
427 |
+
// recursively translates strings for a serialized option
|
428 |
function translate_strings_recursive($strings, $values) {
|
429 |
foreach ($values as $name=>$value) {
|
430 |
if (isset($strings[$name])) {
|
431 |
if (is_string($value) && $strings[$name] == 1)
|
432 |
$values[$name] = pll__($value);
|
433 |
+
elseif (is_array($value) && is_array($strings[$name]))
|
434 |
$value = $this->translate_strings_recursive($strings[$name], $value);
|
435 |
}
|
436 |
}
|
languages/polylang-ca.mo
ADDED
Binary file
|
languages/polylang-ca.po
ADDED
@@ -0,0 +1,582 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: polylang\n"
|
4 |
+
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2012-08-19 20:12+0100\n"
|
6 |
+
"PO-Revision-Date: \n"
|
7 |
+
"Last-Translator: Pau Moreno <pau.moreno@gmail.com>\n"
|
8 |
+
"Language-Team: \n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"Plural-Forms: nplurals=2: nplural=n>1;\n"
|
13 |
+
"X-Poedit-SourceCharset: utf-8\n"
|
14 |
+
"X-Poedit-KeywordsList: _e;__;_x\n"
|
15 |
+
"X-Poedit-Basepath: .\n"
|
16 |
+
"X-Generator: Poedit 1.5.4\n"
|
17 |
+
"X-Poedit-SearchPath-0: ..\n"
|
18 |
+
"X-Poedit-SearchPath-1: ../include\n"
|
19 |
+
|
20 |
+
#: include/about.php:3
|
21 |
+
#, php-format
|
22 |
+
msgid ""
|
23 |
+
"Polylang is provided with an extensive %sdocumentation%s (in English only). "
|
24 |
+
"It includes information on how to set up your multilingual site and use it "
|
25 |
+
"on a daily basis, a FAQ, as well as a documentation for programmers to adapt "
|
26 |
+
"their plugins and themes."
|
27 |
+
msgstr ""
|
28 |
+
"Polylang es distribueix amb una %sdocumentació%s extensa (només en anglès). "
|
29 |
+
"Inclou informació de com crear un lloc web multilingüe i com fer-ne un ús "
|
30 |
+
"diari, una pàgina de preguntes freqüents, així com informació per tal que "
|
31 |
+
"els programadors puguin adaptar-ne els plugins i temes."
|
32 |
+
|
33 |
+
#: include/about.php:9
|
34 |
+
#, php-format
|
35 |
+
msgid ""
|
36 |
+
"You will also find useful information in the %ssupport forum%s. However "
|
37 |
+
"don't forget to make a search before posting a new topic."
|
38 |
+
msgstr ""
|
39 |
+
"També trobaràs informació d'interès als %sfòrums de suport%s. Però abans de "
|
40 |
+
"crear un nou tema, no oblidis fer-ne una cerca."
|
41 |
+
|
42 |
+
#: include/about.php:16
|
43 |
+
#, php-format
|
44 |
+
msgid ""
|
45 |
+
"Polylang is free of charge and is released under the same license as "
|
46 |
+
"WordPress, the %sGPL%s."
|
47 |
+
msgstr ""
|
48 |
+
"Polylang és gratuit i es distribueix sota la mateixa llicència que "
|
49 |
+
"WordPress, %sGPL%s."
|
50 |
+
|
51 |
+
#: include/about.php:22
|
52 |
+
#, php-format
|
53 |
+
msgid "If you wonder how you can help the project, just %sread this%s."
|
54 |
+
msgstr "Si vols saber com ajudar al projecte, llegeix %saixò%s."
|
55 |
+
|
56 |
+
#: include/about.php:27
|
57 |
+
msgid ""
|
58 |
+
"Finally if you like this plugin or if it helps your business, donations to "
|
59 |
+
"the author are greatly appreciated."
|
60 |
+
msgstr ""
|
61 |
+
"Finalment, si t'agrada aquest plugin i el trobes útil per al teu negoci, "
|
62 |
+
"pots fer-ne un donatiu. L'autor t'ho agrairà enormement."
|
63 |
+
|
64 |
+
#: include/admin-base.php:55 include/admin-base.php:185
|
65 |
+
#: include/admin-filters.php:250 include/admin.php:23 include/admin.php:318
|
66 |
+
#: include/list-table.php:46 polylang.php:270
|
67 |
+
msgid "Languages"
|
68 |
+
msgstr "Idiomes"
|
69 |
+
|
70 |
+
#: include/admin-base.php:154
|
71 |
+
msgid "Displays language names"
|
72 |
+
msgstr "Mostra els noms dels idiomes"
|
73 |
+
|
74 |
+
#: include/admin-base.php:155
|
75 |
+
msgid "Displays flags"
|
76 |
+
msgstr "Mostra les banderes"
|
77 |
+
|
78 |
+
#: include/admin-base.php:156
|
79 |
+
msgid "Forces link to front page"
|
80 |
+
msgstr "Força un enllaç cap a la pàgina principal"
|
81 |
+
|
82 |
+
#: include/admin-base.php:157
|
83 |
+
msgid "Hides the current language"
|
84 |
+
msgstr "Oculta l'idioma actual"
|
85 |
+
|
86 |
+
#: include/admin-base.php:161
|
87 |
+
msgid "Displays a language switcher at the end of the menu"
|
88 |
+
msgstr "Mostra un selector d'idioma al final del menú"
|
89 |
+
|
90 |
+
#: include/admin-base.php:162
|
91 |
+
msgid "Displays as dropdown"
|
92 |
+
msgstr "Mostra com a menú desplegable"
|
93 |
+
|
94 |
+
#: include/admin-base.php:186
|
95 |
+
msgid "Filters content by language"
|
96 |
+
msgstr "Filtra el contingut per idioma"
|
97 |
+
|
98 |
+
#: include/admin-base.php:193
|
99 |
+
msgid "Show all languages"
|
100 |
+
msgstr "Mostra tots els idiomes"
|
101 |
+
|
102 |
+
#: include/admin-filters.php:188 include/admin-filters.php:884
|
103 |
+
msgid "Add new translation"
|
104 |
+
msgstr "Afegeix traducció nova"
|
105 |
+
|
106 |
+
#: include/admin-filters.php:216 include/admin-filters.php:274
|
107 |
+
#: include/admin-filters.php:608 include/admin-filters.php:824
|
108 |
+
#: include/admin-filters.php:842 include/list-table.php:45
|
109 |
+
#: include/media-translations.php:5 include/media-translations.php:43
|
110 |
+
#: include/post-translations.php:8 include/term-translations.php:15
|
111 |
+
#: polylang.php:271
|
112 |
+
msgid "Language"
|
113 |
+
msgstr "Idioma"
|
114 |
+
|
115 |
+
#: include/admin-filters.php:623 include/admin-filters.php:658
|
116 |
+
#: include/list-table.php:120 include/media-translations.php:40
|
117 |
+
#: include/term-translations.php:6 include/term-translations.php:11
|
118 |
+
msgid "Translations"
|
119 |
+
msgstr "Traduccions"
|
120 |
+
|
121 |
+
#: include/admin-filters.php:826 include/admin-filters.php:845
|
122 |
+
msgid "Sets the language"
|
123 |
+
msgstr "Estableix l'idioma"
|
124 |
+
|
125 |
+
#: include/admin-filters.php:1078
|
126 |
+
msgid "Theme locations and languages"
|
127 |
+
msgstr "Idiomes i localitzacions del tema"
|
128 |
+
|
129 |
+
#: include/admin-filters.php:1084
|
130 |
+
#, php-format
|
131 |
+
msgid ""
|
132 |
+
"Please go to the %slanguages page%s to set theme locations and languages"
|
133 |
+
msgstr ""
|
134 |
+
"Ves a %spàgina d'idiomes%s per establir els idiomes i localitzacions del tema"
|
135 |
+
|
136 |
+
#: include/admin-filters.php:1102
|
137 |
+
msgid "The widget is displayed for:"
|
138 |
+
msgstr "El widget es mostra per a:"
|
139 |
+
|
140 |
+
#: include/admin-filters.php:1106 polylang.php:272
|
141 |
+
msgid "All languages"
|
142 |
+
msgstr "Tots els idiomes"
|
143 |
+
|
144 |
+
#: include/admin-filters.php:1130
|
145 |
+
msgid "Admin language"
|
146 |
+
msgstr "Idioma de l'administrador"
|
147 |
+
|
148 |
+
#: include/admin-filters.php:1135
|
149 |
+
msgid "Wordpress default"
|
150 |
+
msgstr "Opció per defecte de Wordpress"
|
151 |
+
|
152 |
+
#: include/admin-filters.php:1161 include/admin.php:326
|
153 |
+
msgid "Settings"
|
154 |
+
msgstr "Paràmetres"
|
155 |
+
|
156 |
+
#: include/admin-filters.php:1167
|
157 |
+
msgid "Upgrading language files…"
|
158 |
+
msgstr "S'estan actualitzant els arxius d'idioma…"
|
159 |
+
|
160 |
+
#: include/admin.php:22
|
161 |
+
msgid "About Polylang"
|
162 |
+
msgstr "Sobre Polylang"
|
163 |
+
|
164 |
+
#: include/admin.php:27 include/list-table.php:92
|
165 |
+
msgid "Strings translations"
|
166 |
+
msgstr "Traduccions de cadenes"
|
167 |
+
|
168 |
+
#: include/admin.php:323
|
169 |
+
msgid "Menus"
|
170 |
+
msgstr "Menús"
|
171 |
+
|
172 |
+
#: include/admin.php:325 include/list-table.php:91
|
173 |
+
msgid "Strings translation"
|
174 |
+
msgstr "Traducció de cadenes"
|
175 |
+
|
176 |
+
#: include/admin.php:345
|
177 |
+
msgid "Enter a valid WorPress locale"
|
178 |
+
msgstr "Introdueix un codi d'idioma i regió vàlid de WordPress"
|
179 |
+
|
180 |
+
#: include/admin.php:346
|
181 |
+
msgid "The language code must be 2 characters long"
|
182 |
+
msgstr "El codi d'idioma ha de ser de 2 caràcters"
|
183 |
+
|
184 |
+
#: include/admin.php:347
|
185 |
+
msgid "The language code must be unique"
|
186 |
+
msgstr "El codi d'idioma ha de ser únic"
|
187 |
+
|
188 |
+
#: include/admin.php:348
|
189 |
+
msgid "The language must have a name"
|
190 |
+
msgstr "L'idioma ha de tenir un nom"
|
191 |
+
|
192 |
+
#: include/admin.php:349
|
193 |
+
msgid ""
|
194 |
+
"The language was created, but the WordPress language file was not "
|
195 |
+
"downloaded. Please install it manually."
|
196 |
+
msgstr ""
|
197 |
+
"S'ha creat l'idioma, però l'arxiu d'aquest idioma de WordPress no s'ha "
|
198 |
+
"descarregat. Si us plau, instal·la'l manualment."
|
199 |
+
|
200 |
+
#: include/admin.php:468
|
201 |
+
msgid "Widget title"
|
202 |
+
msgstr "Títol del widget"
|
203 |
+
|
204 |
+
# @ polylang
|
205 |
+
#: include/base.php:339
|
206 |
+
msgid "Taxonomies"
|
207 |
+
msgstr "Taxonomies"
|
208 |
+
|
209 |
+
# @ polylang
|
210 |
+
#: include/base.php:340
|
211 |
+
msgid "Custom fields"
|
212 |
+
msgstr "Camps personalitzats"
|
213 |
+
|
214 |
+
# @ polylang
|
215 |
+
#: include/base.php:341
|
216 |
+
msgid "Comment status"
|
217 |
+
msgstr "Estat del comentari"
|
218 |
+
|
219 |
+
# @ polylang
|
220 |
+
#: include/base.php:342
|
221 |
+
msgid "Ping status"
|
222 |
+
msgstr "Estat dels pings"
|
223 |
+
|
224 |
+
# @ polylang
|
225 |
+
#: include/base.php:343
|
226 |
+
msgid "Sticky posts"
|
227 |
+
msgstr "Entrades adherides (sticky)"
|
228 |
+
|
229 |
+
# @ polylang
|
230 |
+
#: include/base.php:344
|
231 |
+
msgid "Published date"
|
232 |
+
msgstr "Data de publicació"
|
233 |
+
|
234 |
+
# @ polylang
|
235 |
+
#: include/base.php:345
|
236 |
+
msgid "Post format"
|
237 |
+
msgstr "Format de l'entrada"
|
238 |
+
|
239 |
+
#: include/base.php:346
|
240 |
+
msgid "Page parent"
|
241 |
+
msgstr "Pàgina mare"
|
242 |
+
|
243 |
+
# @ polylang
|
244 |
+
#: include/base.php:347
|
245 |
+
msgid "Page template"
|
246 |
+
msgstr "Plantilla de la pàgina"
|
247 |
+
|
248 |
+
#: include/base.php:348
|
249 |
+
msgid "Page order"
|
250 |
+
msgstr "Ordre de la pàgina"
|
251 |
+
|
252 |
+
# @ polylang
|
253 |
+
#: include/base.php:349
|
254 |
+
msgid "Featured image"
|
255 |
+
msgstr "Imatge destacada"
|
256 |
+
|
257 |
+
#: include/languages-form.php:43
|
258 |
+
msgid "Edit language"
|
259 |
+
msgstr "Edita idioma"
|
260 |
+
|
261 |
+
#: include/languages-form.php:43 include/languages-form.php:124
|
262 |
+
msgid "Add new language"
|
263 |
+
msgstr "Afegeix idioma"
|
264 |
+
|
265 |
+
#: include/languages-form.php:65
|
266 |
+
msgid "Choose a language"
|
267 |
+
msgstr "Tria idioma"
|
268 |
+
|
269 |
+
#: include/languages-form.php:79
|
270 |
+
msgid "You can choose a language in the list or directly edit it below."
|
271 |
+
msgstr "Pots triar un idioma de la llista o editar-lo directament a sota"
|
272 |
+
|
273 |
+
#: include/languages-form.php:83 include/list-table.php:63
|
274 |
+
msgid "Full name"
|
275 |
+
msgstr "Nom complet"
|
276 |
+
|
277 |
+
#: include/languages-form.php:85
|
278 |
+
msgid "The name is how it is displayed on your site (for example: English)."
|
279 |
+
msgstr "El nom és el que apareix al teu lloc web (per exemple: català)"
|
280 |
+
|
281 |
+
#: include/languages-form.php:89 include/list-table.php:64
|
282 |
+
msgid "Locale"
|
283 |
+
msgstr "Codi d'idioma i regió (locale)"
|
284 |
+
|
285 |
+
#: include/languages-form.php:94
|
286 |
+
msgid ""
|
287 |
+
"Wordpress Locale for the language (for example: en_US). You will need to "
|
288 |
+
"install the .mo file for this language."
|
289 |
+
msgstr ""
|
290 |
+
"Codi d'idioma i regió de Wordpress (per exemple: ca_ES). Hauràs d'instal·lar "
|
291 |
+
"l'arxiu .mo per a aquest idioma"
|
292 |
+
|
293 |
+
#: include/languages-form.php:98
|
294 |
+
msgid "Language code"
|
295 |
+
msgstr "Codi d'idioma"
|
296 |
+
|
297 |
+
#: include/languages-form.php:100
|
298 |
+
msgid "2-letters ISO 639-1 language code (for example: en)"
|
299 |
+
msgstr "Codi d'idioma ISO 639-1 de 2 lletres (per exemple: ca)"
|
300 |
+
|
301 |
+
#: include/languages-form.php:104
|
302 |
+
msgid "Text direction"
|
303 |
+
msgstr "Direcció del text"
|
304 |
+
|
305 |
+
#: include/languages-form.php:108
|
306 |
+
msgid "left to right"
|
307 |
+
msgstr "d'esquerra a dreta"
|
308 |
+
|
309 |
+
#: include/languages-form.php:113
|
310 |
+
msgid "right to left"
|
311 |
+
msgstr "de dreta a esquerra"
|
312 |
+
|
313 |
+
#: include/languages-form.php:115
|
314 |
+
msgid "Choose the text direction for the language"
|
315 |
+
msgstr "Tria la direcció del text de l'idioma "
|
316 |
+
|
317 |
+
#: include/languages-form.php:119 include/list-table.php:66
|
318 |
+
msgid "Order"
|
319 |
+
msgstr "Ordre"
|
320 |
+
|
321 |
+
#: include/languages-form.php:121
|
322 |
+
msgid "Position of the language in the language switcher"
|
323 |
+
msgstr "Posició al selector d'idioma"
|
324 |
+
|
325 |
+
#: include/languages-form.php:180
|
326 |
+
msgid "Language switcher"
|
327 |
+
msgstr "Selector d'idioma"
|
328 |
+
|
329 |
+
#: include/languages-form.php:206
|
330 |
+
msgid "Search translations"
|
331 |
+
msgstr "Cerca traduccions"
|
332 |
+
|
333 |
+
#: include/languages-form.php:215
|
334 |
+
msgid "Clean strings translation database"
|
335 |
+
msgstr "Neteja la base de dades de traduccions de cadenes"
|
336 |
+
|
337 |
+
#: include/languages-form.php:231
|
338 |
+
msgid "Default language"
|
339 |
+
msgstr "Idioma predeterminat"
|
340 |
+
|
341 |
+
#: include/languages-form.php:243
|
342 |
+
msgid ""
|
343 |
+
"There are posts, pages, categories or tags without language set. Do you want "
|
344 |
+
"to set them all to default language ?"
|
345 |
+
msgstr ""
|
346 |
+
"Hi ha entrades, pàgines, categories o etiquetes sense idioma establert. Per "
|
347 |
+
"establir-hi l'idioma predeterminat, marca aquesta casella."
|
348 |
+
|
349 |
+
#: include/languages-form.php:251
|
350 |
+
msgid "Detect browser language"
|
351 |
+
msgstr "Detecta l'idioma del navegador"
|
352 |
+
|
353 |
+
#: include/languages-form.php:257
|
354 |
+
msgid ""
|
355 |
+
"When the front page is visited, set the language according to the browser "
|
356 |
+
"preference"
|
357 |
+
msgstr ""
|
358 |
+
"Estableix l'idioma d'acord amb les preferències del navegador quan es visita "
|
359 |
+
"la pàgina principal"
|
360 |
+
|
361 |
+
#: include/languages-form.php:264
|
362 |
+
msgid "URL modifications"
|
363 |
+
msgstr "Modificacions d'URL"
|
364 |
+
|
365 |
+
#: include/languages-form.php:270
|
366 |
+
msgid ""
|
367 |
+
"The language is set from content. Posts, pages, categories and tags urls are "
|
368 |
+
"not modified."
|
369 |
+
msgstr ""
|
370 |
+
"L'idioma s'estableix per al contingut. Les URL de les entrades, pàgines, "
|
371 |
+
"categories i etiquetes no seran modificades"
|
372 |
+
|
373 |
+
#: include/languages-form.php:278
|
374 |
+
msgid ""
|
375 |
+
"The language code, for example /en/, is added to all urls when using pretty "
|
376 |
+
"permalinks."
|
377 |
+
msgstr ""
|
378 |
+
"El codi d'idioma, per exemple /ca/, s'afegeix a totes les URLs en fer "
|
379 |
+
"enllaços permanents"
|
380 |
+
|
381 |
+
#: include/languages-form.php:287
|
382 |
+
msgid "Remove /language/ in pretty permalinks. Example:"
|
383 |
+
msgstr "Treu /idioma/ als enllaços permanents amigables. Exemple:"
|
384 |
+
|
385 |
+
#: include/languages-form.php:296
|
386 |
+
msgid "Keep /language/ in pretty permalinks. Example:"
|
387 |
+
msgstr "Mantén /idioma/ als enllaços permanents amigables: Exemple:"
|
388 |
+
|
389 |
+
#: include/languages-form.php:305
|
390 |
+
msgid "Hide URL language information for default language"
|
391 |
+
msgstr "Oculta la informació d'idioma de l'URL a l'idioma predeterminat"
|
392 |
+
|
393 |
+
#: include/languages-form.php:315
|
394 |
+
#, php-format
|
395 |
+
msgid ""
|
396 |
+
"When using static front page, redirect the language page (example: %s) to "
|
397 |
+
"the front page in the right language"
|
398 |
+
msgstr ""
|
399 |
+
"En fer servir una pàgina principal estàtica, redirigeix la pàgina d'idioma "
|
400 |
+
"(per exemple: %s) a la pàgina d'inici en l'idioma correcte"
|
401 |
+
|
402 |
+
# @ polylang
|
403 |
+
#: include/languages-form.php:324
|
404 |
+
msgid "Media"
|
405 |
+
msgstr "Mitjans"
|
406 |
+
|
407 |
+
# @ polylang
|
408 |
+
#: include/languages-form.php:330
|
409 |
+
msgid "Activate languages and translations for media"
|
410 |
+
msgstr "Activa idiomes i traduccions per als mitjans"
|
411 |
+
|
412 |
+
#: include/languages-form.php:337
|
413 |
+
msgid "Synchronization"
|
414 |
+
msgstr "Sincronització"
|
415 |
+
|
416 |
+
# @ polylang
|
417 |
+
#: include/languages-form.php:351
|
418 |
+
msgid "Custom post types"
|
419 |
+
msgstr "Tipus d'entrada personalitzats"
|
420 |
+
|
421 |
+
# @ polylang
|
422 |
+
#: include/languages-form.php:364
|
423 |
+
msgid "Activate languages and translations for custom post types."
|
424 |
+
msgstr "Activa idiomes i traduccions per a tipus d'entrada personalitzats."
|
425 |
+
|
426 |
+
# @ polylang
|
427 |
+
#: include/languages-form.php:372
|
428 |
+
msgid "Custom taxonomies"
|
429 |
+
msgstr "Taxonomies personalitzades"
|
430 |
+
|
431 |
+
# @ polylang
|
432 |
+
#: include/languages-form.php:385
|
433 |
+
msgid "Activate languages and translations for custom taxonomies."
|
434 |
+
msgstr "Activa idiomes i traduccions per a taxonomies personalitzades."
|
435 |
+
|
436 |
+
#: include/list-table.php:55 include/media-translations.php:22
|
437 |
+
#: include/media-translations.php:60 include/post-translations.php:10
|
438 |
+
#: include/post-translations.php:33 include/term-translations.php:18
|
439 |
+
#: include/term-translations.php:80
|
440 |
+
msgid "Edit"
|
441 |
+
msgstr "Edita"
|
442 |
+
|
443 |
+
#: include/list-table.php:56
|
444 |
+
msgid "Delete"
|
445 |
+
msgstr "Elimina"
|
446 |
+
|
447 |
+
#: include/list-table.php:65
|
448 |
+
msgid "Code"
|
449 |
+
msgstr "Codi"
|
450 |
+
|
451 |
+
#: include/list-table.php:67
|
452 |
+
msgid "Flag"
|
453 |
+
msgstr "Bandera"
|
454 |
+
|
455 |
+
#: include/list-table.php:68
|
456 |
+
msgid "Posts"
|
457 |
+
msgstr "Entrades"
|
458 |
+
|
459 |
+
#: include/list-table.php:118
|
460 |
+
msgid "Name"
|
461 |
+
msgstr "Nom"
|
462 |
+
|
463 |
+
#: include/list-table.php:119
|
464 |
+
msgid "String"
|
465 |
+
msgstr "Cadena"
|
466 |
+
|
467 |
+
#: include/media-translations.php:6 include/media-translations.php:44
|
468 |
+
#: include/term-translations.php:16
|
469 |
+
msgid "Translation"
|
470 |
+
msgstr "Traducció"
|
471 |
+
|
472 |
+
#: include/media-translations.php:31 include/media-translations.php:68
|
473 |
+
#: include/post-translations.php:38 include/term-translations.php:60
|
474 |
+
msgid "Add new"
|
475 |
+
msgstr "Afegeix"
|
476 |
+
|
477 |
+
#: include/post-translations.php:5
|
478 |
+
msgid "ID of pages in other languages:"
|
479 |
+
msgstr "ID de pàgines en altres idiomes:"
|
480 |
+
|
481 |
+
#: include/post-translations.php:5
|
482 |
+
msgid "ID of posts in other languages:"
|
483 |
+
msgstr "ID d'entrades en altres idiomes:"
|
484 |
+
|
485 |
+
#: include/post-translations.php:9
|
486 |
+
msgid "Page ID"
|
487 |
+
msgstr "ID de pàgina"
|
488 |
+
|
489 |
+
#: include/post-translations.php:9
|
490 |
+
msgid "Post ID"
|
491 |
+
msgstr "ID d'entrada"
|
492 |
+
|
493 |
+
#: include/term-translations.php:48
|
494 |
+
msgid "No untranslated term"
|
495 |
+
msgstr "No hi ha termes sense traduir"
|
496 |
+
|
497 |
+
#: include/widget.php:6
|
498 |
+
msgid "Language Switcher"
|
499 |
+
msgstr "Selector d'idioma"
|
500 |
+
|
501 |
+
#: include/widget.php:6
|
502 |
+
msgid "Displays a language switcher"
|
503 |
+
msgstr "Mostra un selector d'idioma"
|
504 |
+
|
505 |
+
#: include/widget.php:69
|
506 |
+
msgid "Title:"
|
507 |
+
msgstr "Títol:"
|
508 |
+
|
509 |
+
# @ polylang
|
510 |
+
#. translators: plugin header field 'Description'
|
511 |
+
#: polylang.php:0
|
512 |
+
msgid "Adds multilingual capability to WordPress"
|
513 |
+
msgstr "Afegeix capacitat multilingüística a Wordpress"
|
514 |
+
|
515 |
+
#: polylang.php:118
|
516 |
+
#, php-format
|
517 |
+
msgid "You are using WordPress %s. Polylang requires at least WordPress %s."
|
518 |
+
msgstr ""
|
519 |
+
"Estàs fent servir WordPress %s. Polylang requereix, com a mínim, WordPress "
|
520 |
+
"%s."
|
521 |
+
|
522 |
+
#: polylang.php:159
|
523 |
+
msgid "For some reasons, Polylang could not create a table in your database."
|
524 |
+
msgstr ""
|
525 |
+
"Per alguna raó, Polylang no ha pogut crear una taula a la teva base de dades."
|
526 |
+
|
527 |
+
# @ polylang
|
528 |
+
#: polylang.php:220
|
529 |
+
msgid ""
|
530 |
+
"Polylang has been deactivated because you upgraded from a too old version."
|
531 |
+
msgstr ""
|
532 |
+
"S'ha desactivat Polylang perquè l'has actualitzat des d'una versió massa "
|
533 |
+
"antiga."
|
534 |
+
|
535 |
+
# @ polylang
|
536 |
+
#: polylang.php:222
|
537 |
+
#, php-format
|
538 |
+
msgid "Please upgrade first to %s before ugrading to %s."
|
539 |
+
msgstr "Actualitza'l primer a %s abans d'actualizar-lo a %s."
|
540 |
+
|
541 |
+
#~ msgid "Error: Restore of local flags failed!"
|
542 |
+
#~ msgstr "Error: ha fallat el restabliment de les banderes d'idioma!"
|
543 |
+
|
544 |
+
#~ msgid "Please move your local flags from %s to %s"
|
545 |
+
#~ msgstr "Mou les banderes d'idioma de %s a %s"
|
546 |
+
|
547 |
+
#~ msgid "%1$s %2$s"
|
548 |
+
#~ msgstr "%1$s %2$s"
|
549 |
+
|
550 |
+
#~ msgid "View posts for %1$s %2$s"
|
551 |
+
#~ msgstr "Mostra entrades per a %1$s %2$s"
|
552 |
+
|
553 |
+
#~ msgid "Site Title"
|
554 |
+
#~ msgstr "Títol del lloc web"
|
555 |
+
|
556 |
+
#~ msgid "Tagline"
|
557 |
+
#~ msgstr "Descripció"
|
558 |
+
|
559 |
+
#~ msgid "— No Change —"
|
560 |
+
#~ msgstr "— Sense canvis —"
|
561 |
+
|
562 |
+
#~ msgid "Page's language:"
|
563 |
+
#~ msgstr "Idioma de la pàgina:"
|
564 |
+
|
565 |
+
#~ msgid "Post's language:"
|
566 |
+
#~ msgstr "Idioma de l'entrada:"
|
567 |
+
|
568 |
+
#~ msgid "None"
|
569 |
+
#~ msgstr "Cap"
|
570 |
+
|
571 |
+
#~ msgid "Update"
|
572 |
+
#~ msgstr "Actualitza"
|
573 |
+
|
574 |
+
#~ msgid ""
|
575 |
+
#~ "Allow to synchronize categories, tags, featured image and other metas "
|
576 |
+
#~ "between translations of a post or page"
|
577 |
+
#~ msgstr ""
|
578 |
+
#~ "Permet sincronitzar categories, etiquetes, imatges destacades i altres "
|
579 |
+
#~ "metas entre traduccions d'una entrada o pàgina"
|
580 |
+
|
581 |
+
#~ msgid "Search"
|
582 |
+
#~ msgstr "Cerca"
|
languages/polylang-uk.mo
ADDED
Binary file
|
languages/polylang-uk.po
ADDED
@@ -0,0 +1,660 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: polylang\n"
|
4 |
+
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2013-01-29 15:29+0300\n"
|
6 |
+
"PO-Revision-Date: \n"
|
7 |
+
"Language-Team: cmd-soft.com <tmosbyd@gmail.com>\n"
|
8 |
+
"Language: uk\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
13 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
14 |
+
"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;"
|
15 |
+
"_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2\n"
|
16 |
+
"X-Poedit-Basepath: .\n"
|
17 |
+
"X-Textdomain-Support: yes\n"
|
18 |
+
"X-Generator: Poedit 1.5.5\n"
|
19 |
+
"X-Poedit-SearchPath-0: ..\n"
|
20 |
+
|
21 |
+
# @ polylang
|
22 |
+
#: ../polylang.php:124
|
23 |
+
#, php-format
|
24 |
+
msgid "You are using WordPress %s. Polylang requires at least WordPress %s."
|
25 |
+
msgstr ""
|
26 |
+
"Ви використовуєте WordPress %s. Polylang потрібно принаймні WordPress %s."
|
27 |
+
|
28 |
+
# @ polylang
|
29 |
+
#: ../polylang.php:165
|
30 |
+
msgid "For some reasons, Polylang could not create a table in your database."
|
31 |
+
msgstr "З деяких причин, Polylang не може створити таблицю в базі даних."
|
32 |
+
|
33 |
+
# @ polylang
|
34 |
+
#: ../polylang.php:226
|
35 |
+
msgid ""
|
36 |
+
"Polylang has been deactivated because you upgraded from a too old version."
|
37 |
+
msgstr "Polylang була відключена, тому що ви оновили занадто старої версії."
|
38 |
+
|
39 |
+
# @ polylang
|
40 |
+
#: ../polylang.php:228
|
41 |
+
#, php-format
|
42 |
+
msgid "Please upgrade first to %s before ugrading to %s."
|
43 |
+
msgstr "Будь ласка, поновіть перший %s Перед оновленням до %s."
|
44 |
+
|
45 |
+
# @ polylang
|
46 |
+
#: ../polylang.php:276 ../include/admin-base.php:55
|
47 |
+
#: ../include/admin-base.php:184 ../include/admin-filters.php:250
|
48 |
+
#: ../include/admin.php:23 ../include/admin.php:318
|
49 |
+
#: ../include/list-table.php:13
|
50 |
+
msgid "Languages"
|
51 |
+
msgstr "Мови"
|
52 |
+
|
53 |
+
# @ polylang
|
54 |
+
#: ../polylang.php:277 ../include/admin-filters.php:216
|
55 |
+
#: ../include/admin-filters.php:274 ../include/admin-filters.php:608
|
56 |
+
#: ../include/admin-filters.php:824 ../include/admin-filters.php:842
|
57 |
+
#: ../include/list-table.php:12 ../include/media-translations.php:5
|
58 |
+
#: ../include/media-translations.php:43 ../include/post-translations.php:8
|
59 |
+
#: ../include/term-translations.php:15
|
60 |
+
msgid "Language"
|
61 |
+
msgstr "Мова"
|
62 |
+
|
63 |
+
# @ polylang
|
64 |
+
#: ../polylang.php:278 ../include/admin-filters.php:1113
|
65 |
+
msgid "All languages"
|
66 |
+
msgstr "Всі мови"
|
67 |
+
|
68 |
+
# @ polylang
|
69 |
+
#: ../include/about.php:3
|
70 |
+
#, php-format
|
71 |
+
msgid ""
|
72 |
+
"Polylang is provided with an extensive %sdocumentation%s (in English only). "
|
73 |
+
"It includes information on how to set up your multilingual site and use it "
|
74 |
+
"on a daily basis, a FAQ, as well as a documentation for programmers to adapt "
|
75 |
+
"their plugins and themes."
|
76 |
+
msgstr ""
|
77 |
+
"Polylang забезпечена обширним %sдокументація%s (тільки на англійській мові)."
|
78 |
+
"Вона включає в себе інформацію про те, як налаштувати багатомовний сайт і "
|
79 |
+
"використовувати його на щоденній основі, запитання та відповіді, а також "
|
80 |
+
"документацію для програмістів, щоб адаптувати свої плагіни і теми."
|
81 |
+
|
82 |
+
# @ polylang
|
83 |
+
#: ../include/about.php:9
|
84 |
+
#, php-format
|
85 |
+
msgid ""
|
86 |
+
"You will also find useful information in the %ssupport forum%s. However "
|
87 |
+
"don't forget to make a search before posting a new topic."
|
88 |
+
msgstr ""
|
89 |
+
"Ви також знайдете корисну інформацію в %sфорум підтримки%s. Однак не "
|
90 |
+
"забувайте, щоб зробити пошук, перш ніж відправляти нову тему."
|
91 |
+
|
92 |
+
# @ polylang
|
93 |
+
#: ../include/about.php:16
|
94 |
+
#, php-format
|
95 |
+
msgid ""
|
96 |
+
"Polylang is free of charge and is released under the same license as "
|
97 |
+
"WordPress, the %sGPL%s."
|
98 |
+
msgstr ""
|
99 |
+
"Polylang є безкоштовним і поширюється по тій же ліцензії, як WordPress, %sGPL"
|
100 |
+
"%s."
|
101 |
+
|
102 |
+
# @ polylang
|
103 |
+
#: ../include/about.php:22
|
104 |
+
#, php-format
|
105 |
+
msgid "If you wonder how you can help the project, just %sread this%s."
|
106 |
+
msgstr ""
|
107 |
+
"Якщо вам цікаво, як Ви можете допомогти проекту, просто %sпрочитайте це%s."
|
108 |
+
|
109 |
+
# @ polylang
|
110 |
+
#: ../include/about.php:27
|
111 |
+
msgid ""
|
112 |
+
"Finally if you like this plugin or if it helps your business, donations to "
|
113 |
+
"the author are greatly appreciated."
|
114 |
+
msgstr ""
|
115 |
+
"Нарешті, якщо вам подобається цей плагін або, якщо це допоможе вашому "
|
116 |
+
"бізнесу, пожертвування автору з вдячністю."
|
117 |
+
|
118 |
+
# @ polylang
|
119 |
+
#: ../include/admin-base.php:154
|
120 |
+
msgid "Displays language names"
|
121 |
+
msgstr "Відображення назви мов"
|
122 |
+
|
123 |
+
# @ polylang
|
124 |
+
#: ../include/admin-base.php:155
|
125 |
+
msgid "Displays flags"
|
126 |
+
msgstr "Відображає прапор"
|
127 |
+
|
128 |
+
# @ polylang
|
129 |
+
#: ../include/admin-base.php:156
|
130 |
+
msgid "Forces link to front page"
|
131 |
+
msgstr "Сили посилання на головну сторінку"
|
132 |
+
|
133 |
+
# @ polylang
|
134 |
+
#: ../include/admin-base.php:157
|
135 |
+
msgid "Hides the current language"
|
136 |
+
msgstr "Приховує поточну мову"
|
137 |
+
|
138 |
+
# @ polylang
|
139 |
+
#: ../include/admin-base.php:161
|
140 |
+
msgid "Displays a language switcher at the end of the menu"
|
141 |
+
msgstr "Відображає мову перемикач в кінці меню"
|
142 |
+
|
143 |
+
# @ polylang
|
144 |
+
#: ../include/admin-base.php:162
|
145 |
+
msgid "Displays as dropdown"
|
146 |
+
msgstr "Дисплеї як випадний"
|
147 |
+
|
148 |
+
# @ polylang
|
149 |
+
#: ../include/admin-base.php:185
|
150 |
+
msgid "Filters content by language"
|
151 |
+
msgstr "Фільтри змісту з мови"
|
152 |
+
|
153 |
+
# @ polylang
|
154 |
+
#: ../include/admin-base.php:192
|
155 |
+
msgid "Show all languages"
|
156 |
+
msgstr "Показати всі мови"
|
157 |
+
|
158 |
+
# @ polylang
|
159 |
+
#: ../include/admin-filters.php:188 ../include/admin-filters.php:884
|
160 |
+
msgid "Add new translation"
|
161 |
+
msgstr "Додати новий переклад"
|
162 |
+
|
163 |
+
#: ../include/admin-filters.php:202
|
164 |
+
msgid "— No Change —"
|
165 |
+
msgstr "— Без змін —"
|
166 |
+
|
167 |
+
#: ../include/admin-filters.php:341
|
168 |
+
msgid "(no parent)"
|
169 |
+
msgstr "(Без батьків)"
|
170 |
+
|
171 |
+
# @ polylang
|
172 |
+
#: ../include/admin-filters.php:623 ../include/admin-filters.php:658
|
173 |
+
#: ../include/list-table.php:112 ../include/media-translations.php:40
|
174 |
+
#: ../include/term-translations.php:6 ../include/term-translations.php:11
|
175 |
+
msgid "Translations"
|
176 |
+
msgstr "Переклади"
|
177 |
+
|
178 |
+
# @ polylang
|
179 |
+
#: ../include/admin-filters.php:826 ../include/admin-filters.php:845
|
180 |
+
msgid "Sets the language"
|
181 |
+
msgstr "Встановлює мову"
|
182 |
+
|
183 |
+
#: ../include/admin-filters.php:1032
|
184 |
+
msgid "None"
|
185 |
+
msgstr "Жоден"
|
186 |
+
|
187 |
+
# @ polylang
|
188 |
+
#: ../include/admin-filters.php:1085
|
189 |
+
msgid "Theme locations and languages"
|
190 |
+
msgstr "Тема місць і мови"
|
191 |
+
|
192 |
+
# @ polylang
|
193 |
+
#: ../include/admin-filters.php:1091
|
194 |
+
#, php-format
|
195 |
+
msgid ""
|
196 |
+
"Please go to the %slanguages page%s to set theme locations and languages"
|
197 |
+
msgstr ""
|
198 |
+
"Будь ласка, перейдіть на %slanguages page%s встановити тему місцеположення і "
|
199 |
+
"мови"
|
200 |
+
|
201 |
+
# @ polylang
|
202 |
+
#: ../include/admin-filters.php:1109
|
203 |
+
msgid "The widget is displayed for:"
|
204 |
+
msgstr "Віджет відображається:"
|
205 |
+
|
206 |
+
# @ polylang
|
207 |
+
#: ../include/admin-filters.php:1137
|
208 |
+
msgid "Admin language"
|
209 |
+
msgstr "Адміністратор мовою"
|
210 |
+
|
211 |
+
#: ../include/admin-filters.php:1142
|
212 |
+
msgid "Wordpress default"
|
213 |
+
msgstr "Wordpress за замовчуванням"
|
214 |
+
|
215 |
+
# @ default
|
216 |
+
# @ polylang
|
217 |
+
#: ../include/admin-filters.php:1168 ../include/admin.php:326
|
218 |
+
msgid "Settings"
|
219 |
+
msgstr "Налаштування"
|
220 |
+
|
221 |
+
# @ polylang
|
222 |
+
#: ../include/admin-filters.php:1174
|
223 |
+
msgid "Upgrading language files…"
|
224 |
+
msgstr "Оновлення мовних файлів…"
|
225 |
+
|
226 |
+
# @ polylang
|
227 |
+
#: ../include/admin.php:22
|
228 |
+
msgid "About Polylang"
|
229 |
+
msgstr "Про Polylang"
|
230 |
+
|
231 |
+
# @ polylang
|
232 |
+
#: ../include/admin.php:27 ../include/list-table.php:80
|
233 |
+
msgid "Strings translations"
|
234 |
+
msgstr "Струни переклади"
|
235 |
+
|
236 |
+
# @ polylang
|
237 |
+
#: ../include/admin.php:323
|
238 |
+
msgid "Menus"
|
239 |
+
msgstr "Меню"
|
240 |
+
|
241 |
+
# @ polylang
|
242 |
+
#: ../include/admin.php:325 ../include/list-table.php:79
|
243 |
+
msgid "Strings translation"
|
244 |
+
msgstr "Струни перекладу"
|
245 |
+
|
246 |
+
# @ polylang
|
247 |
+
#: ../include/admin.php:347
|
248 |
+
msgid "The language code must be 2 characters long"
|
249 |
+
msgstr "Код мови повинно бути 2 символів"
|
250 |
+
|
251 |
+
# @ polylang
|
252 |
+
#: ../include/admin.php:348
|
253 |
+
msgid "The language code must be unique"
|
254 |
+
msgstr "Код мови повинно бути унікальним"
|
255 |
+
|
256 |
+
# @ polylang
|
257 |
+
#: ../include/admin.php:349
|
258 |
+
msgid "The language must have a name"
|
259 |
+
msgstr "Мова повинна мати ім'я"
|
260 |
+
|
261 |
+
# @ polylang
|
262 |
+
#: ../include/admin.php:350
|
263 |
+
msgid ""
|
264 |
+
"The language was created, but the WordPress language file was not "
|
265 |
+
"downloaded. Please install it manually."
|
266 |
+
msgstr ""
|
267 |
+
"Мова була створена, але файл WordPress мову не був завантажений. Будь ласка, "
|
268 |
+
"встановіть його вручну."
|
269 |
+
|
270 |
+
# @ polylang
|
271 |
+
#: ../include/admin.php:451
|
272 |
+
msgid "Site Title"
|
273 |
+
msgstr "Назва сайту"
|
274 |
+
|
275 |
+
#: ../include/admin.php:452
|
276 |
+
msgid "Tagline"
|
277 |
+
msgstr "Слоган"
|
278 |
+
|
279 |
+
#: ../include/admin.php:453
|
280 |
+
msgid "Date Format"
|
281 |
+
msgstr "Формат дати"
|
282 |
+
|
283 |
+
#: ../include/admin.php:454
|
284 |
+
msgid "Time Format"
|
285 |
+
msgstr "Формат часу"
|
286 |
+
|
287 |
+
# @ polylang
|
288 |
+
#: ../include/admin.php:472
|
289 |
+
msgid "Widget title"
|
290 |
+
msgstr "Віджет назву"
|
291 |
+
|
292 |
+
# @ polylang
|
293 |
+
#: ../include/base.php:352
|
294 |
+
msgid "Taxonomies"
|
295 |
+
msgstr "Таксономії"
|
296 |
+
|
297 |
+
# @ polylang
|
298 |
+
#: ../include/base.php:353
|
299 |
+
msgid "Custom fields"
|
300 |
+
msgstr "Користувальницькі поля"
|
301 |
+
|
302 |
+
# @ polylang
|
303 |
+
#: ../include/base.php:354
|
304 |
+
msgid "Comment status"
|
305 |
+
msgstr "Коментар статус"
|
306 |
+
|
307 |
+
# @ polylang
|
308 |
+
#: ../include/base.php:355
|
309 |
+
msgid "Ping status"
|
310 |
+
msgstr "Ping статус"
|
311 |
+
|
312 |
+
# @ polylang
|
313 |
+
#: ../include/base.php:356
|
314 |
+
msgid "Sticky posts"
|
315 |
+
msgstr "Важливо повідомлень"
|
316 |
+
|
317 |
+
# @ polylang
|
318 |
+
#: ../include/base.php:357
|
319 |
+
msgid "Published date"
|
320 |
+
msgstr "Дата публікації"
|
321 |
+
|
322 |
+
#: ../include/base.php:358
|
323 |
+
msgid "Post format"
|
324 |
+
msgstr "Повідомлення форматі"
|
325 |
+
|
326 |
+
# @ default
|
327 |
+
#: ../include/base.php:359
|
328 |
+
msgid "Page parent"
|
329 |
+
msgstr "Page батьків"
|
330 |
+
|
331 |
+
# @ polylang
|
332 |
+
#: ../include/base.php:360
|
333 |
+
msgid "Page template"
|
334 |
+
msgstr "Шаблон сторінки"
|
335 |
+
|
336 |
+
# @ polylang
|
337 |
+
#: ../include/base.php:361
|
338 |
+
msgid "Page order"
|
339 |
+
msgstr "Сторінка порядку"
|
340 |
+
|
341 |
+
# @ polylang
|
342 |
+
#: ../include/base.php:362
|
343 |
+
msgid "Featured image"
|
344 |
+
msgstr "Вибрані зображення"
|
345 |
+
|
346 |
+
#: ../include/calendar.php:106
|
347 |
+
#, php-format
|
348 |
+
msgctxt "calendar caption"
|
349 |
+
msgid "%1$s %2$s"
|
350 |
+
msgstr "%1$s %2$s"
|
351 |
+
|
352 |
+
#: ../include/calendar.php:132 ../include/calendar.php:140
|
353 |
+
#, php-format
|
354 |
+
msgid "View posts for %1$s %2$s"
|
355 |
+
msgstr "Знайти повідомлення для %1$s %2$s"
|
356 |
+
|
357 |
+
#: ../include/core.php:691
|
358 |
+
msgid "Search"
|
359 |
+
msgstr "Шукати серед"
|
360 |
+
|
361 |
+
# @ polylang
|
362 |
+
#: ../include/languages-form.php:43
|
363 |
+
msgid "Edit language"
|
364 |
+
msgstr "Змінити мову"
|
365 |
+
|
366 |
+
# @ polylang
|
367 |
+
#: ../include/languages-form.php:43 ../include/languages-form.php:124
|
368 |
+
msgid "Add new language"
|
369 |
+
msgstr "Додати нову мову"
|
370 |
+
|
371 |
+
# @ polylang
|
372 |
+
#: ../include/languages-form.php:65
|
373 |
+
msgid "Choose a language"
|
374 |
+
msgstr "Вибрати мову"
|
375 |
+
|
376 |
+
# @ polylang
|
377 |
+
#: ../include/languages-form.php:79
|
378 |
+
msgid "You can choose a language in the list or directly edit it below."
|
379 |
+
msgstr ""
|
380 |
+
"Ви можете вибрати мову зі списку або безпосередньо редагувати його нижче."
|
381 |
+
|
382 |
+
# @ polylang
|
383 |
+
#: ../include/languages-form.php:83 ../include/list-table.php:34
|
384 |
+
msgid "Full name"
|
385 |
+
msgstr "Повне ім'я"
|
386 |
+
|
387 |
+
# @ polylang
|
388 |
+
#: ../include/languages-form.php:85
|
389 |
+
msgid "The name is how it is displayed on your site (for example: English)."
|
390 |
+
msgstr ""
|
391 |
+
"Це ім'я, як воно відображається на вашому сайті (наприклад, англійської)."
|
392 |
+
|
393 |
+
# @ polylang
|
394 |
+
#: ../include/languages-form.php:89 ../include/list-table.php:35
|
395 |
+
msgid "Locale"
|
396 |
+
msgstr "Льокаль"
|
397 |
+
|
398 |
+
# @ polylang
|
399 |
+
#: ../include/languages-form.php:94
|
400 |
+
msgid ""
|
401 |
+
"Wordpress Locale for the language (for example: en_US). You will need to "
|
402 |
+
"install the .mo file for this language."
|
403 |
+
msgstr ""
|
404 |
+
"Wordpress Locale для мови (наприклад, en_US). Вам потрібно буде встановити. "
|
405 |
+
"Рухи файл для даної мови."
|
406 |
+
|
407 |
+
# @ polylang
|
408 |
+
#: ../include/languages-form.php:98
|
409 |
+
msgid "Language code"
|
410 |
+
msgstr "Код мови"
|
411 |
+
|
412 |
+
# @ polylang
|
413 |
+
#: ../include/languages-form.php:100
|
414 |
+
msgid "2-letters ISO 639-1 language code (for example: en)"
|
415 |
+
msgstr "2-букв ISO 639-1 коду мови (наприклад, RU)"
|
416 |
+
|
417 |
+
# @ polylang
|
418 |
+
#: ../include/languages-form.php:104
|
419 |
+
msgid "Text direction"
|
420 |
+
msgstr "Напрямок тексту"
|
421 |
+
|
422 |
+
# @ polylang
|
423 |
+
#: ../include/languages-form.php:108
|
424 |
+
msgid "left to right"
|
425 |
+
msgstr "зліва направо"
|
426 |
+
|
427 |
+
# @ polylang
|
428 |
+
#: ../include/languages-form.php:113
|
429 |
+
msgid "right to left"
|
430 |
+
msgstr "Справа наліво"
|
431 |
+
|
432 |
+
# @ polylang
|
433 |
+
#: ../include/languages-form.php:115
|
434 |
+
msgid "Choose the text direction for the language"
|
435 |
+
msgstr "Виберіть напрямок тексту для мови"
|
436 |
+
|
437 |
+
# @ polylang
|
438 |
+
#: ../include/languages-form.php:119 ../include/list-table.php:37
|
439 |
+
msgid "Order"
|
440 |
+
msgstr "Порядок"
|
441 |
+
|
442 |
+
# @ polylang
|
443 |
+
#: ../include/languages-form.php:121
|
444 |
+
msgid "Position of the language in the language switcher"
|
445 |
+
msgstr "Положення мови в мову перемикач"
|
446 |
+
|
447 |
+
#: ../include/languages-form.php:124
|
448 |
+
msgid "Update"
|
449 |
+
msgstr "Оновіть"
|
450 |
+
|
451 |
+
# @ polylang
|
452 |
+
#: ../include/languages-form.php:180
|
453 |
+
msgid "Language switcher"
|
454 |
+
msgstr "Мова перемикач"
|
455 |
+
|
456 |
+
# @ polylang
|
457 |
+
#: ../include/languages-form.php:207
|
458 |
+
msgid "Search translations"
|
459 |
+
msgstr "Пошук переказів"
|
460 |
+
|
461 |
+
#: ../include/languages-form.php:220
|
462 |
+
msgid "Clean strings translation database"
|
463 |
+
msgstr "Чистий переклад рядка бази даних"
|
464 |
+
|
465 |
+
# @ polylang
|
466 |
+
#: ../include/languages-form.php:236
|
467 |
+
msgid "Default language"
|
468 |
+
msgstr "Мова за замовчуванням"
|
469 |
+
|
470 |
+
# @ polylang
|
471 |
+
#: ../include/languages-form.php:248
|
472 |
+
msgid ""
|
473 |
+
"There are posts, pages, categories or tags without language set. Do you want "
|
474 |
+
"to set them all to default language ?"
|
475 |
+
msgstr ""
|
476 |
+
"Є повідомлення, сторінок, категорій та тегів без мови безліч. Ви хочете, щоб "
|
477 |
+
"встановити їх все за замовчуванням мову?"
|
478 |
+
|
479 |
+
# @ polylang
|
480 |
+
#: ../include/languages-form.php:256
|
481 |
+
msgid "Detect browser language"
|
482 |
+
msgstr "Визначити мову браузера"
|
483 |
+
|
484 |
+
# @ polylang
|
485 |
+
#: ../include/languages-form.php:262
|
486 |
+
msgid ""
|
487 |
+
"When the front page is visited, set the language according to the browser "
|
488 |
+
"preference"
|
489 |
+
msgstr ""
|
490 |
+
"Коли передні відвідуванні сторінки, встановіть мову відповідно до уподобань "
|
491 |
+
"браузера"
|
492 |
+
|
493 |
+
# @ polylang
|
494 |
+
#: ../include/languages-form.php:269
|
495 |
+
msgid "URL modifications"
|
496 |
+
msgstr "URL модифікацій"
|
497 |
+
|
498 |
+
#: ../include/languages-form.php:275
|
499 |
+
msgid ""
|
500 |
+
"The language is set from content. Posts, pages, categories and tags urls are "
|
501 |
+
"not modified."
|
502 |
+
msgstr ""
|
503 |
+
"Мова встановлюється від змісту. Повідомлення, сторінок, категорій та тегів "
|
504 |
+
"URL-адреси не змінюються."
|
505 |
+
|
506 |
+
#: ../include/languages-form.php:283
|
507 |
+
msgid ""
|
508 |
+
"The language code, for example /en/, is added to all urls when using pretty "
|
509 |
+
"permalinks."
|
510 |
+
msgstr ""
|
511 |
+
"Код мови, наприклад /en/, додається до всіх URL-адрес при використанні "
|
512 |
+
"досить постійні."
|
513 |
+
|
514 |
+
# @ polylang
|
515 |
+
#: ../include/languages-form.php:292
|
516 |
+
msgid "Remove /language/ in pretty permalinks. Example:"
|
517 |
+
msgstr "Видалити /language/ в досить постійні. Приклад:"
|
518 |
+
|
519 |
+
# @ polylang
|
520 |
+
#: ../include/languages-form.php:301
|
521 |
+
msgid "Keep /language/ in pretty permalinks. Example:"
|
522 |
+
msgstr "Тримати /language/ в досить постійні. Приклад:"
|
523 |
+
|
524 |
+
# @ polylang
|
525 |
+
#: ../include/languages-form.php:310
|
526 |
+
msgid "Hide URL language information for default language"
|
527 |
+
msgstr "Приховати URL мову інформація для мови за замовчуванням"
|
528 |
+
|
529 |
+
#: ../include/languages-form.php:320
|
530 |
+
#, php-format
|
531 |
+
msgid ""
|
532 |
+
"When using static front page, redirect the language page (example: %s) to "
|
533 |
+
"the front page in the right language"
|
534 |
+
msgstr ""
|
535 |
+
"При використанні статичних сторінок фронт, перенаправити мовою сторінку "
|
536 |
+
"(приклад: %s) на першій сторінці в правому мову"
|
537 |
+
|
538 |
+
# @ polylang
|
539 |
+
#: ../include/languages-form.php:329
|
540 |
+
msgid "Media"
|
541 |
+
msgstr "Медіа"
|
542 |
+
|
543 |
+
# @ polylang
|
544 |
+
#: ../include/languages-form.php:335
|
545 |
+
msgid "Activate languages and translations for media"
|
546 |
+
msgstr "Активувати мов та переклади для ЗМІ"
|
547 |
+
|
548 |
+
#: ../include/languages-form.php:342
|
549 |
+
msgid "Synchronization"
|
550 |
+
msgstr "Синхронізація"
|
551 |
+
|
552 |
+
# @ polylang
|
553 |
+
#: ../include/languages-form.php:356
|
554 |
+
msgid "Custom post types"
|
555 |
+
msgstr "Користувальницькі типи повідомлення"
|
556 |
+
|
557 |
+
# @ polylang
|
558 |
+
#: ../include/languages-form.php:369
|
559 |
+
msgid "Activate languages and translations for custom post types."
|
560 |
+
msgstr "Активувати мов та переклади для користувача типів пост."
|
561 |
+
|
562 |
+
# @ polylang
|
563 |
+
#: ../include/languages-form.php:377
|
564 |
+
msgid "Custom taxonomies"
|
565 |
+
msgstr "Користувальницькі таксономії"
|
566 |
+
|
567 |
+
# @ polylang
|
568 |
+
#: ../include/languages-form.php:390
|
569 |
+
msgid "Activate languages and translations for custom taxonomies."
|
570 |
+
msgstr "Активувати мов та переклади для користувальницького таксономії."
|
571 |
+
|
572 |
+
# @ polylang
|
573 |
+
#: ../include/list-table.php:26 ../include/media-translations.php:22
|
574 |
+
#: ../include/media-translations.php:60 ../include/post-translations.php:10
|
575 |
+
#: ../include/post-translations.php:33 ../include/term-translations.php:18
|
576 |
+
#: ../include/term-translations.php:80
|
577 |
+
msgid "Edit"
|
578 |
+
msgstr "Редагувати"
|
579 |
+
|
580 |
+
# @ polylang
|
581 |
+
#: ../include/list-table.php:27
|
582 |
+
msgid "Delete"
|
583 |
+
msgstr "Видалити"
|
584 |
+
|
585 |
+
# @ polylang
|
586 |
+
#: ../include/list-table.php:36
|
587 |
+
msgid "Code"
|
588 |
+
msgstr "Код"
|
589 |
+
|
590 |
+
# @ polylang
|
591 |
+
#: ../include/list-table.php:38
|
592 |
+
msgid "Flag"
|
593 |
+
msgstr "Прапор"
|
594 |
+
|
595 |
+
# @ polylang
|
596 |
+
#: ../include/list-table.php:39
|
597 |
+
msgid "Posts"
|
598 |
+
msgstr "Повідомлень"
|
599 |
+
|
600 |
+
# @ polylang
|
601 |
+
#: ../include/list-table.php:110
|
602 |
+
msgid "Name"
|
603 |
+
msgstr "Назва"
|
604 |
+
|
605 |
+
# @ polylang
|
606 |
+
#: ../include/list-table.php:111
|
607 |
+
msgid "String"
|
608 |
+
msgstr "Рядок"
|
609 |
+
|
610 |
+
# @ polylang
|
611 |
+
#: ../include/media-translations.php:6 ../include/media-translations.php:44
|
612 |
+
#: ../include/term-translations.php:16
|
613 |
+
msgid "Translation"
|
614 |
+
msgstr "Переклад"
|
615 |
+
|
616 |
+
# @ polylang
|
617 |
+
#: ../include/media-translations.php:31 ../include/media-translations.php:68
|
618 |
+
#: ../include/post-translations.php:38 ../include/term-translations.php:60
|
619 |
+
msgid "Add new"
|
620 |
+
msgstr "Додати нову"
|
621 |
+
|
622 |
+
# @ polylang
|
623 |
+
#: ../include/post-translations.php:5
|
624 |
+
msgid "ID of pages in other languages:"
|
625 |
+
msgstr "ID сторінок на інших мовах:"
|
626 |
+
|
627 |
+
# @ polylang
|
628 |
+
#: ../include/post-translations.php:5
|
629 |
+
msgid "ID of posts in other languages:"
|
630 |
+
msgstr "Ідентифікатор повідомлення на інших мовах:"
|
631 |
+
|
632 |
+
# @ polylang
|
633 |
+
#: ../include/post-translations.php:9
|
634 |
+
msgid "Page ID"
|
635 |
+
msgstr "ID Сторінка"
|
636 |
+
|
637 |
+
# @ polylang
|
638 |
+
#: ../include/post-translations.php:9
|
639 |
+
msgid "Post ID"
|
640 |
+
msgstr "Повідомлення ID"
|
641 |
+
|
642 |
+
# @ polylang
|
643 |
+
#: ../include/term-translations.php:48
|
644 |
+
msgid "No untranslated term"
|
645 |
+
msgstr "Ні нетрансліруемой термін"
|
646 |
+
|
647 |
+
# @ polylang
|
648 |
+
#: ../include/widget.php:6
|
649 |
+
msgid "Language Switcher"
|
650 |
+
msgstr "Мова Перемикач"
|
651 |
+
|
652 |
+
# @ polylang
|
653 |
+
#: ../include/widget.php:6
|
654 |
+
msgid "Displays a language switcher"
|
655 |
+
msgstr "Відображає Мова Перемикач"
|
656 |
+
|
657 |
+
# @ polylang
|
658 |
+
#: ../include/widget.php:69
|
659 |
+
msgid "Title:"
|
660 |
+
msgstr "Назва:"
|
polylang.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
Plugin Name: Polylang
|
4 |
Plugin URI: http://polylang.wordpress.com/
|
5 |
-
Version: 1.0.
|
6 |
Author: F. Demarle
|
7 |
Description: Adds multilingual capability to WordPress
|
8 |
Text Domain: polylang
|
@@ -29,7 +29,7 @@ Domain Path: /languages
|
|
29 |
*
|
30 |
*/
|
31 |
|
32 |
-
define('POLYLANG_VERSION', '1.0.
|
33 |
define('PLL_MIN_WP_VERSION', '3.1');
|
34 |
|
35 |
define('POLYLANG_DIR', dirname(__FILE__)); // our directory
|
@@ -41,10 +41,10 @@ if (!defined('PLL_LOCAL_DIR'))
|
|
41 |
if (file_exists(PLL_LOCAL_DIR.'/pll-config.php'))
|
42 |
include_once(PLL_LOCAL_DIR.'/pll-config.php'); // includes local config file if exists
|
43 |
|
44 |
-
define('POLYLANG_URL',
|
45 |
|
46 |
if (!defined('PLL_LOCAL_URL'))
|
47 |
-
define('PLL_LOCAL_URL',
|
48 |
|
49 |
if (!defined('PLL_COOKIE'))
|
50 |
define('PLL_COOKIE', 'pll_language'); // cookie name. no cookie will be used if set to false
|
@@ -169,8 +169,7 @@ class Polylang extends Polylang_Base {
|
|
169 |
register_taxonomy('language', null , array('label' => false, 'query_var'=>'lang'));
|
170 |
|
171 |
// defines default values for options in case this is the first installation
|
172 |
-
|
173 |
-
if (!$options) {
|
174 |
$options['browser'] = 1; // default language for the front page is set by browser preference
|
175 |
$options['rewrite'] = 1; // remove /language/ in permalinks (was the opposite before 0.7.2)
|
176 |
$options['hide_default'] = 0; // do not remove URL language information for default language
|
@@ -180,9 +179,10 @@ class Polylang extends Polylang_Base {
|
|
180 |
$options['sync'] = array_keys($this->list_metas_to_sync()); // synchronisation is enabled by default
|
181 |
$options['post_types'] = array_values(get_post_types(array('_builtin' => false, 'show_ui => true')));
|
182 |
$options['taxonomies'] = array_values(get_taxonomies(array('_builtin' => false, 'show_ui => true')));
|
|
|
|
|
|
|
183 |
}
|
184 |
-
$options['version'] = POLYLANG_VERSION;
|
185 |
-
update_option('polylang', $options);
|
186 |
|
187 |
// add our rewrite rules
|
188 |
$this->add_post_types_taxonomies();
|
@@ -282,7 +282,7 @@ class Polylang extends Polylang_Base {
|
|
282 |
'all_items' => __('All languages', 'polylang'),
|
283 |
),
|
284 |
'public' => false, // avoid displaying the 'like post tags text box' in the quick edit
|
285 |
-
'query_var'=>'lang',
|
286 |
'update_count_callback' => '_update_post_term_count'
|
287 |
));
|
288 |
|
2 |
/*
|
3 |
Plugin Name: Polylang
|
4 |
Plugin URI: http://polylang.wordpress.com/
|
5 |
+
Version: 1.0.3
|
6 |
Author: F. Demarle
|
7 |
Description: Adds multilingual capability to WordPress
|
8 |
Text Domain: polylang
|
29 |
*
|
30 |
*/
|
31 |
|
32 |
+
define('POLYLANG_VERSION', '1.0.3');
|
33 |
define('PLL_MIN_WP_VERSION', '3.1');
|
34 |
|
35 |
define('POLYLANG_DIR', dirname(__FILE__)); // our directory
|
41 |
if (file_exists(PLL_LOCAL_DIR.'/pll-config.php'))
|
42 |
include_once(PLL_LOCAL_DIR.'/pll-config.php'); // includes local config file if exists
|
43 |
|
44 |
+
define('POLYLANG_URL', plugins_url('/'.basename(POLYLANG_DIR))); // our url. Don't use WP_PLUGIN_URL http://wordpress.org/support/topic/ssl-doesnt-work-properly
|
45 |
|
46 |
if (!defined('PLL_LOCAL_URL'))
|
47 |
+
define('PLL_LOCAL_URL', content_url('/polylang')); // default url to access user data such as custom flags
|
48 |
|
49 |
if (!defined('PLL_COOKIE'))
|
50 |
define('PLL_COOKIE', 'pll_language'); // cookie name. no cookie will be used if set to false
|
169 |
register_taxonomy('language', null , array('label' => false, 'query_var'=>'lang'));
|
170 |
|
171 |
// defines default values for options in case this is the first installation
|
172 |
+
if (!get_option('polylang')) {
|
|
|
173 |
$options['browser'] = 1; // default language for the front page is set by browser preference
|
174 |
$options['rewrite'] = 1; // remove /language/ in permalinks (was the opposite before 0.7.2)
|
175 |
$options['hide_default'] = 0; // do not remove URL language information for default language
|
179 |
$options['sync'] = array_keys($this->list_metas_to_sync()); // synchronisation is enabled by default
|
180 |
$options['post_types'] = array_values(get_post_types(array('_builtin' => false, 'show_ui => true')));
|
181 |
$options['taxonomies'] = array_values(get_taxonomies(array('_builtin' => false, 'show_ui => true')));
|
182 |
+
$options['version'] = POLYLANG_VERSION;
|
183 |
+
|
184 |
+
update_option('polylang', $options);
|
185 |
}
|
|
|
|
|
186 |
|
187 |
// add our rewrite rules
|
188 |
$this->add_post_types_taxonomies();
|
282 |
'all_items' => __('All languages', 'polylang'),
|
283 |
),
|
284 |
'public' => false, // avoid displaying the 'like post tags text box' in the quick edit
|
285 |
+
'query_var' => 'lang',
|
286 |
'update_count_callback' => '_update_post_term_count'
|
287 |
));
|
288 |
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_i
|
|
4 |
Tags: multilingual, bilingual, translate, translation, language, multilanguage, i18n, international, l10n, localization
|
5 |
Requires at least: 3.1
|
6 |
Tested up to: 3.5
|
7 |
-
Stable tag: 1.0.
|
8 |
License: GPLv2 or later
|
9 |
|
10 |
Polylang adds multilingual content management support to WordPress.
|
@@ -24,10 +24,10 @@ You write posts, pages and create categories and post tags as usual, and then de
|
|
24 |
|
25 |
= Translators =
|
26 |
|
27 |
-
The plugin admin interface is currently available in
|
28 |
|
29 |
|
30 |
-
Other [contributions](http://wordpress.
|
31 |
|
32 |
= Feedback or ideas =
|
33 |
|
@@ -71,11 +71,11 @@ Don't hesitate to report bugs on the [support forum](http://wordpress.org/suppor
|
|
71 |
|
72 |
= Test new versions =
|
73 |
|
74 |
-
You can subscribe to the
|
75 |
|
76 |
= Translate the admin interface =
|
77 |
|
78 |
-
Polylang is already available in
|
79 |
|
80 |
= Communicate =
|
81 |
|
@@ -92,9 +92,24 @@ If you are using a version older than 0.8, please ugrade to 0.9.8 before ugradin
|
|
92 |
|
93 |
== Changelog ==
|
94 |
|
95 |
-
= 1.0.
|
96 |
|
97 |
* Add Catalan translation contributed by [Núria Martínez Berenguer](http://nuriamb.capa.webfactional.com)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
* Add the possibility to query comments by language
|
99 |
* Add the possibility not to set a cookie by defining PLL_COOKIE to false (Polylang may not work as expected on some pages)
|
100 |
* Now a returning visitor is redirected to its preferred language when visiting the front page in the default language
|
4 |
Tags: multilingual, bilingual, translate, translation, language, multilanguage, i18n, international, l10n, localization
|
5 |
Requires at least: 3.1
|
6 |
Tested up to: 3.5
|
7 |
+
Stable tag: 1.0.3
|
8 |
License: GPLv2 or later
|
9 |
|
10 |
Polylang adds multilingual content management support to WordPress.
|
24 |
|
25 |
= Translators =
|
26 |
|
27 |
+
The plugin admin interface is currently available in 25 languages: English, French, German contributed by [Christian Ries](http://www.singbyfoot.lu), Russian contributed by [yoyurec](http://yoyurec.in.ua) and unostar, Greek contributed by [theodotos](http://www.ubuntucy.org), Dutch contributed by [AlbertGn](http://wordpress.org/support/profile/albertgn), Hebrew contributed by [ArielK](http://www.arielk.net), Polish contributed by [Peter Paciorkiewicz](http://www.paciorkiewicz.pl), Latvian contributed by [@AndyDeGroo](http://twitter.com/AndyDeGroo), Italian contributed by [Luca Barbetti](http://wordpress.org/support/profile/lucabarbetti), Danish contributed by [Compute](http://wordpress.org/support/profile/compute), Spanish contributed by Curro, Portuguese contributed by [Vitor Carvalho](http://vcarvalho.com/), Lithuanian contributed by [Naglis Jonaitis](http://najo.lt/), Turkish contributed by [darchws](http://darch.ws/), Finnish contributed by [Jani Alha](http://www.wysiwyg.fi), Bulgarian contributed by [pavelsof](http://wordpress.org/support/profile/pavelsof), Belarusian contributed by [Alexander Markevitch](http://fourfeathers.by/), Afrikaans contributed by [Kobus Joubert](http://translate3d.com/), Hungarian contributed by Csaba Erdei, Norwegian contributed by [Tom Boersma](http://www.oransje.com/), Slovak contributed by [Branco (WebHostingGeeks.com)](http://webhostinggeeks.com/user-reviews/), Swedish contributed by [matsii](http://wordpress.org/support/profile/matsii), Catalan contributed by [Núria Martínez Berenguer](http://nuriamb.capa.webfactional.com), Ukrainian contributed by [cmd soft](http://www.cmd-soft.com/)
|
28 |
|
29 |
|
30 |
+
Other [contributions](http://polylang.wordpress.com/documentation/contribute/) are welcome !
|
31 |
|
32 |
= Feedback or ideas =
|
33 |
|
71 |
|
72 |
= Test new versions =
|
73 |
|
74 |
+
You can subscribe to the [blog](http://polylang.wordpress.com/) that I use to announce development versions and then, test the new versions and report bugs before the final release. It helps a lot!
|
75 |
|
76 |
= Translate the admin interface =
|
77 |
|
78 |
+
Polylang is already available in 25 languages. It's very easy to add a new one! Download [poedit](http://www.poedit.net/download.php) (available for Windows, Mac OS X and Linux). Rename the file polylang.pot found in the polylang/languages directory into something like polylang-your_locale.po. Open the file with poedit and start translating (keeping strange codes such as %s, %1$s as is). Once done, just save and you will get two files polylang-your_locale.po and polylang-your_locale.mo that you can send to the author. The translation will be included with the next release and will be covered by the same license as Polylang (GPLv2 or later).
|
79 |
|
80 |
= Communicate =
|
81 |
|
92 |
|
93 |
== Changelog ==
|
94 |
|
95 |
+
= 1.0.3 (2013-03-17) =
|
96 |
|
97 |
* Add Catalan translation contributed by [Núria Martínez Berenguer](http://nuriamb.capa.webfactional.com)
|
98 |
+
* Add Ukrainian translation contributed by [cmd soft](http://www.cmd-soft.com/)
|
99 |
+
* Improve compatibility with WordPress SEO (sitemap for categories and tags)
|
100 |
+
* A query is no more filtered by language when setting the parameter 'lang' to an empty value
|
101 |
+
* Add the possibility to create a custom wpml-config.xml file in wp-content/polylang/
|
102 |
+
* Bug correction: custom menus are not displayed on search page (introduced in 1.0.2)
|
103 |
+
* Bug correction: sql error when filtering terms by language (introduced in 1.0.2)
|
104 |
+
* Bug correction: SSL doesn't work properly
|
105 |
+
* Bug correction: php notice on IIS servers
|
106 |
+
* Bug correction: clicking on the radio buttons in the admin language switcher does not work in Chrome
|
107 |
+
* Bug correction: on multisite, the signup page is redirected to the home page
|
108 |
+
* Bug correction: date archives are not correctly filtered for the default language when hiding the language code and using date and name permalinks
|
109 |
+
* Bug correction: only one wpml-config.xml file is parsed
|
110 |
+
|
111 |
+
= 1.0.2 (2013-02-26) =
|
112 |
+
|
113 |
* Add the possibility to query comments by language
|
114 |
* Add the possibility not to set a cookie by defining PLL_COOKIE to false (Polylang may not work as expected on some pages)
|
115 |
* Now a returning visitor is redirected to its preferred language when visiting the front page in the default language
|
uninstall.php
CHANGED
@@ -38,12 +38,13 @@ class Polylang_Uninstall {
|
|
38 |
|
39 |
// delete posts translations
|
40 |
$ids = get_posts(array(
|
41 |
-
'numberposts'=> -1,
|
42 |
-
'
|
43 |
-
'
|
44 |
-
'
|
45 |
-
'
|
46 |
-
|
|
|
47 |
|
48 |
foreach ($ids as $id)
|
49 |
delete_post_meta($id, '_translations');
|
@@ -73,7 +74,7 @@ class Polylang_Uninstall {
|
|
73 |
delete_option('polylang_nav_menus');
|
74 |
delete_option('polylang_widgets');
|
75 |
delete_option('widget_polylang'); // automatically created by WP
|
76 |
-
delete_option('polylang_wpml_strings');
|
77 |
}
|
78 |
}
|
79 |
|
38 |
|
39 |
// delete posts translations
|
40 |
$ids = get_posts(array(
|
41 |
+
'numberposts' => -1,
|
42 |
+
'nopaging' => true,
|
43 |
+
'fields' => 'ids',
|
44 |
+
'meta_key' => '_translations',
|
45 |
+
'post_type' => 'any',
|
46 |
+
'post_status' => 'any'
|
47 |
+
));
|
48 |
|
49 |
foreach ($ids as $id)
|
50 |
delete_post_meta($id, '_translations');
|
74 |
delete_option('polylang_nav_menus');
|
75 |
delete_option('polylang_widgets');
|
76 |
delete_option('widget_polylang'); // automatically created by WP
|
77 |
+
delete_option('polylang_wpml_strings'); // strings registered with icl_register_string
|
78 |
}
|
79 |
}
|
80 |
|