Polylang - Version 1.6.1

Version Description

(2014-11-19) =

  • Add Brazilian Portuguese translation contributed by Henrique Vianna
  • Improve compatibility with Types: allow custom fields to be populated when creating a new translation
  • Make it impossible to remove the translations of the default category
  • Fix: possibility to add a path when using multiple domains (same path for all languages) broken since v1.5.6
  • Fix: preview link for non default language when using multiple domains
  • Fix: error displayed when setting the static front page and only one language has been defined
  • Fix: revert changes on rewrite rules with front introduced in 1.6
  • Fix: conflict with WordPress SEO when no language has been created
Download this release

Release Info

Developer Chouby
Plugin Icon 128x128 Polylang
Version 1.6.1
Comparing to
See all releases

Code changes from version 1.6 to 1.6.1

admin/admin-filters.php CHANGED
@@ -194,10 +194,10 @@ class PLL_Admin_Filters extends PLL_Filters {
194
  * @return int
195
  */
196
  public function update_page_on_front($page_id, $old_id) {
197
- $translations = $this->model->get_translations('post', $page_id);
198
- $languages = $this->model->get_languages_list();
199
 
200
- if ($page_id && count($translations) != count($languages)) {
201
  $page_id = $old_id;
202
  add_settings_error('reading', 'pll_page_on_front_error', __('The chosen static front page must be translated in all languages.', 'polylang'));
203
  }
194
  * @return int
195
  */
196
  public function update_page_on_front($page_id, $old_id) {
197
+ $translations = count($this->model->get_translations('post', $page_id));
198
+ $languages = count($this->model->get_languages_list());
199
 
200
+ if ($page_id && $languages > 1 && $translations != $languages) {
201
  $page_id = $old_id;
202
  add_settings_error('reading', 'pll_page_on_front_error', __('The chosen static front page must be translated in all languages.', 'polylang'));
203
  }
admin/admin-sync.php CHANGED
@@ -19,7 +19,7 @@ class PLL_Admin_Sync {
19
  $this->options = &$polylang->options;
20
 
21
  add_filter('wp_insert_post_parent', array(&$this, 'wp_insert_post_parent'));
22
- add_action('add_meta_boxes', array(&$this, 'add_meta_boxes'), 10, 2);
23
 
24
  add_action('pll_save_post', array(&$this, 'pll_save_post'), 10, 3);
25
 
@@ -72,7 +72,7 @@ class PLL_Admin_Sync {
72
  * @param string $lang language slug
73
  * @param bool $sync true if it is synchronization, false if it is a copy, defaults to false
74
  */
75
- protected function copy_post_metas($from, $to, $lang, $sync = false) {
76
  // copy or synchronize terms
77
  if (!$sync || in_array('taxonomies', $this->options['sync'])) {
78
  // FIXME quite a lot of query in foreach
19
  $this->options = &$polylang->options;
20
 
21
  add_filter('wp_insert_post_parent', array(&$this, 'wp_insert_post_parent'));
22
+ add_action('add_meta_boxes', array(&$this, 'add_meta_boxes'), 5, 2); // before Types which populates custom fields in same hook with priority 10
23
 
24
  add_action('pll_save_post', array(&$this, 'pll_save_post'), 10, 3);
25
 
72
  * @param string $lang language slug
73
  * @param bool $sync true if it is synchronization, false if it is a copy, defaults to false
74
  */
75
+ public function copy_post_metas($from, $to, $lang, $sync = false) {
76
  // copy or synchronize terms
77
  if (!$sync || in_array('taxonomies', $this->options['sync'])) {
78
  // FIXME quite a lot of query in foreach
admin/view-translations-term.php CHANGED
@@ -10,8 +10,11 @@ else {
10
  // add term form?>
11
  <label><?php _e('Translations', 'polylang');?></label><?php
12
  }?>
13
- <table class="widefat term-translations" id="<?php echo isset($term_id) ? 'edit' : 'add'; ?>-term-translations">
14
- <?php foreach ($this->model->get_languages_list() as $language) {
 
 
 
15
  if ($language->term_id == $lang->term_id)
16
  continue;
17
 
@@ -47,10 +50,11 @@ else {
47
  <td class = "pll-translation-column"><?php
48
  printf('
49
  <input type="hidden" name="term_tr_lang[%1$s]" id="htr_lang_%1$s" value="%2$s"/>
50
- <input type="text" class="tr_lang" id="tr_lang_%1$s" value="%3$s">',
51
  esc_attr($language->slug),
52
  empty($translation) ? 0 : esc_attr($translation->term_id),
53
- empty($translation) ? '' : esc_attr($translation->name)
 
54
  ); ?>
55
  </td>
56
  </tr><?php
10
  // add term form?>
11
  <label><?php _e('Translations', 'polylang');?></label><?php
12
  }?>
13
+ <table class="widefat term-translations" id="<?php echo isset($term_id) ? 'edit' : 'add'; ?>-term-translations"><?php
14
+ // disable the translation input field fro default category to prevent removal
15
+ $disabled = in_array(get_option('default_category'), $this->model->get_translations('term', $term_id));
16
+
17
+ foreach ($this->model->get_languages_list() as $language) {
18
  if ($language->term_id == $lang->term_id)
19
  continue;
20
 
50
  <td class = "pll-translation-column"><?php
51
  printf('
52
  <input type="hidden" name="term_tr_lang[%1$s]" id="htr_lang_%1$s" value="%2$s"/>
53
+ <input type="text" class="tr_lang" id="tr_lang_%1$s" value="%3$s"%4$s>',
54
  esc_attr($language->slug),
55
  empty($translation) ? 0 : esc_attr($translation->term_id),
56
+ empty($translation) ? '' : esc_attr($translation->name),
57
+ empty($disabled) ? '' : ' disabled="disabled"'
58
  ); ?>
59
  </td>
60
  </tr><?php
frontend/frontend-links.php CHANGED
@@ -161,6 +161,7 @@ class PLL_Frontend_Links extends PLL_Links {
161
  if (is_page() && !is_feed() && isset($wp_query->queried_object) && 'page' == get_option('show_on_front') && $wp_query->queried_object->ID == get_option('page_on_front')) {
162
  return is_paged() ? $this->links_model->add_paged_to_link($this->get_home_url(), $wp_query->query_vars['page']) : $this->get_home_url();
163
  }
 
164
  return $redirect_url;
165
  }
166
 
@@ -326,6 +327,10 @@ class PLL_Frontend_Links extends PLL_Links {
326
  public function check_canonical_url() {
327
  global $wp_query, $post;
328
 
 
 
 
 
329
  if (is_single() || is_page()) {
330
  if (isset($post->ID) && $this->model->is_translated_post_type($post->post_type))
331
  $language = $this->model->get_post_language((int)$post->ID);
161
  if (is_page() && !is_feed() && isset($wp_query->queried_object) && 'page' == get_option('show_on_front') && $wp_query->queried_object->ID == get_option('page_on_front')) {
162
  return is_paged() ? $this->links_model->add_paged_to_link($this->get_home_url(), $wp_query->query_vars['page']) : $this->get_home_url();
163
  }
164
+
165
  return $redirect_url;
166
  }
167
 
327
  public function check_canonical_url() {
328
  global $wp_query, $post;
329
 
330
+ // FIXME need to keep the default domain for preview if using multiple domains
331
+ if (3 == $this->options['force_lang'] && is_preview())
332
+ return;
333
+
334
  if (is_single() || is_page()) {
335
  if (isset($post->ID) && $this->model->is_translated_post_type($post->post_type))
336
  $language = $this->model->get_post_language((int)$post->ID);
include/links-directory.php CHANGED
@@ -168,12 +168,8 @@ class PLL_Links_Directory extends PLL_Links_Permalinks {
168
  if ($this->options['hide_default'])
169
  $languages = array_diff($languages, array($this->options['default_lang']));
170
 
171
- if (!empty($languages)) {
172
- $front = ltrim($wp_rewrite->front, '/');
173
- $front = !empty($front) && 0 === strpos(key($rules), $front) ? $front : ''; // does this set of rules uses front?
174
- $front = $wp_rewrite->root . $front;
175
- $slug = $front . ($this->options['rewrite'] ? '' : 'language/') . '('.implode('|', $languages).')/';
176
- }
177
 
178
  // for custom post type archives
179
  $cpts = array_intersect($this->model->get_translated_post_types(), get_post_types(array('_builtin' => false)));
@@ -184,7 +180,7 @@ class PLL_Links_Directory extends PLL_Links_Permalinks {
184
  // moreover adding it would create issues for pages and taxonomies
185
  if ($this->options['force_lang'] && in_array($filter, array_merge($this->model->get_translated_post_types(), $this->model->get_translated_taxonomies()))) {
186
  if (isset($slug))
187
- $newrules[$slug . str_replace($front, '', $key)] = str_replace(
188
  array('[8]', '[7]', '[6]', '[5]', '[4]', '[3]', '[2]', '[1]'),
189
  array('[9]', '[8]', '[7]', '[6]', '[5]', '[4]', '[3]', '[2]'),
190
  $rule
@@ -200,7 +196,7 @@ class PLL_Links_Directory extends PLL_Links_Permalinks {
200
  // rewrite rules filtered by language
201
  elseif (in_array($filter, $this->always_rewrite) || ($cpts && preg_match($cpts, $rule) && !strpos($rule, 'name=')) || ($filter != 'rewrite_rules_array' && $this->options['force_lang'])) {
202
  if (isset($slug))
203
- $newrules[$slug . str_replace($front, '', $key)] = str_replace(
204
  array('[8]', '[7]', '[6]', '[5]', '[4]', '[3]', '[2]', '[1]', '?'),
205
  array('[9]', '[8]', '[7]', '[6]', '[5]', '[4]', '[3]', '[2]', '?lang=$matches[1]&'),
206
  $rule
168
  if ($this->options['hide_default'])
169
  $languages = array_diff($languages, array($this->options['default_lang']));
170
 
171
+ if (!empty($languages))
172
+ $slug = $wp_rewrite->root . ($this->options['rewrite'] ? '' : 'language/') . '('.implode('|', $languages).')/';
 
 
 
 
173
 
174
  // for custom post type archives
175
  $cpts = array_intersect($this->model->get_translated_post_types(), get_post_types(array('_builtin' => false)));
180
  // moreover adding it would create issues for pages and taxonomies
181
  if ($this->options['force_lang'] && in_array($filter, array_merge($this->model->get_translated_post_types(), $this->model->get_translated_taxonomies()))) {
182
  if (isset($slug))
183
+ $newrules[$slug.str_replace($wp_rewrite->root, '', $key)] = str_replace(
184
  array('[8]', '[7]', '[6]', '[5]', '[4]', '[3]', '[2]', '[1]'),
185
  array('[9]', '[8]', '[7]', '[6]', '[5]', '[4]', '[3]', '[2]'),
186
  $rule
196
  // rewrite rules filtered by language
197
  elseif (in_array($filter, $this->always_rewrite) || ($cpts && preg_match($cpts, $rule) && !strpos($rule, 'name=')) || ($filter != 'rewrite_rules_array' && $this->options['force_lang'])) {
198
  if (isset($slug))
199
+ $newrules[$slug.str_replace($wp_rewrite->root, '', $key)] = str_replace(
200
  array('[8]', '[7]', '[6]', '[5]', '[4]', '[3]', '[2]', '[1]', '?'),
201
  array('[9]', '[8]', '[7]', '[6]', '[5]', '[4]', '[3]', '[2]', '?lang=$matches[1]&'),
202
  $rule
include/links-domain.php CHANGED
@@ -36,7 +36,7 @@ class PLL_Links_Domain extends PLL_Links_Permalinks {
36
  */
37
  public function remove_language_from_link($url) {
38
  if (!empty($this->options['domains']))
39
- $url = str_replace((is_ssl() ? 'https://' : 'http://') . parse_url($url, PHP_URL_HOST), $this->home, $url);
40
  return $url;
41
  }
42
 
36
  */
37
  public function remove_language_from_link($url) {
38
  if (!empty($this->options['domains']))
39
+ $url = str_replace((is_ssl() ? 'https://' : 'http://') . parse_url($url, PHP_URL_HOST) . parse_url($this->home, PHP_URL_PATH), $this->home, $url);
40
  return $url;
41
  }
42
 
include/links.php CHANGED
@@ -34,6 +34,9 @@ class PLL_Links {
34
  add_filter('post_type_link', array(&$this, 'post_type_link'), 20, 2);
35
  add_filter('term_link', array(&$this, 'term_link'), 20, 3);
36
  }
 
 
 
37
  }
38
 
39
  /*
@@ -120,6 +123,18 @@ class PLL_Links {
120
  return $this->_links[$link] = $link;
121
  }
122
 
 
 
 
 
 
 
 
 
 
 
 
 
123
  /*
124
  * returns the home url in the requested language
125
  *
34
  add_filter('post_type_link', array(&$this, 'post_type_link'), 20, 2);
35
  add_filter('term_link', array(&$this, 'term_link'), 20, 3);
36
  }
37
+
38
+ if (3 == $this->options['force_lang'])
39
+ add_filter('preview_post_link', array(&$this, 'preview_post_link'), 20);
40
  }
41
 
42
  /*
123
  return $this->_links[$link] = $link;
124
  }
125
 
126
+ /*
127
+ * FIXME: keeps the preview post link on default domain when using multiple domains
128
+ *
129
+ * @since 1.6.1
130
+ *
131
+ * @param string $url
132
+ * @return string modified url
133
+ */
134
+ public function preview_post_link($url) {
135
+ return $this->links_model->remove_language_from_link($url);
136
+ }
137
+
138
  /*
139
  * returns the home url in the requested language
140
  *
include/plugins-compat.php CHANGED
@@ -111,9 +111,11 @@ class PLL_Plugins_Compat {
111
  global $polylang, $wpseo_og;
112
 
113
  // WPSEO already deals with the locale
114
- foreach ($polylang->model->get_languages_list() as $language) {
115
- if ($language->slug != $polylang->curlang->slug && $polylang->links->get_translation_url($language) && $fb_locale = self::get_fb_locale($language)) {
116
- $wpseo_og->og_tag('og:locale:alternate', $fb_locale);
 
 
117
  }
118
  }
119
  }
@@ -141,7 +143,9 @@ class PLL_Plugins_Compat {
141
  * @return array modified featured posts ids (include all languages)
142
  */
143
  public function twenty_fourteen_featured_content_ids($featured_ids) {
144
- if (false !== $featured_ids)
 
 
145
  return $featured_ids;
146
 
147
  $settings = Featured_Content::get_setting();
@@ -150,7 +154,7 @@ class PLL_Plugins_Compat {
150
  return $featured_ids;
151
 
152
  // get featured tag translations
153
- $tags = $GLOBALS['polylang']->model->get_translations('term' ,$term->term_id);
154
  $ids = array();
155
 
156
  // Query for featured posts in all languages
@@ -233,13 +237,15 @@ class PLL_Plugins_Compat {
233
  */
234
  public function jetpack_ogp($tags) {
235
  global $polylang;
236
- foreach ($polylang->model->get_languages_list() as $language) {
237
- if ($language->slug != $polylang->curlang->slug && $polylang->links->get_translation_url($language) && $fb_locale = self::get_fb_locale($language))
238
- $tags['og:locale:alternate'][] = $fb_locale;
239
- if ($language->slug == $polylang->curlang->slug && $fb_locale = self::get_fb_locale($language))
240
- $tags['og:locale'] = $fb_locale;
241
- }
242
 
 
 
 
 
 
 
 
 
243
  return $tags;
244
  }
245
 
111
  global $polylang, $wpseo_og;
112
 
113
  // WPSEO already deals with the locale
114
+ if (isset($polylang)) {
115
+ foreach ($polylang->model->get_languages_list() as $language) {
116
+ if ($language->slug != $polylang->curlang->slug && $polylang->links->get_translation_url($language) && $fb_locale = self::get_fb_locale($language)) {
117
+ $wpseo_og->og_tag('og:locale:alternate', $fb_locale);
118
+ }
119
  }
120
  }
121
  }
143
  * @return array modified featured posts ids (include all languages)
144
  */
145
  public function twenty_fourteen_featured_content_ids($featured_ids) {
146
+ global $polylang;
147
+
148
+ if (empty($polylang) || false !== $featured_ids)
149
  return $featured_ids;
150
 
151
  $settings = Featured_Content::get_setting();
154
  return $featured_ids;
155
 
156
  // get featured tag translations
157
+ $tags = $polylang->model->get_translations('term' ,$term->term_id);
158
  $ids = array();
159
 
160
  // Query for featured posts in all languages
237
  */
238
  public function jetpack_ogp($tags) {
239
  global $polylang;
 
 
 
 
 
 
240
 
241
+ if (isset($polylang)) {
242
+ foreach ($polylang->model->get_languages_list() as $language) {
243
+ if ($language->slug != $polylang->curlang->slug && $polylang->links->get_translation_url($language) && $fb_locale = self::get_fb_locale($language))
244
+ $tags['og:locale:alternate'][] = $fb_locale;
245
+ if ($language->slug == $polylang->curlang->slug && $fb_locale = self::get_fb_locale($language))
246
+ $tags['og:locale'] = $fb_locale;
247
+ }
248
+ }
249
  return $tags;
250
  }
251
 
languages/polylang-pt_BR.mo ADDED
Binary file
languages/polylang-pt_BR.po ADDED
@@ -0,0 +1,661 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Polylang v1.6beta1\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: \n"
6
+ "PO-Revision-Date: 2014-11-04 13:25-0300\n"
7
+ "Last-Translator: Henrique Avila Vianna <contato@henriquevianna.com>\n"
8
+ "Language-Team: Henrique Vianna <contato@henriquevianna.com>\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
+ "Language: Brazilian Portuguese\n"
20
+ "X-Poedit-SearchPath-0: .\n"
21
+
22
+ # @ polylang
23
+ #: admin/view-about.php:3
24
+ #, php-format
25
+ msgid ""
26
+ "Polylang is provided with an extensive %sdocumentation%s (in English only). "
27
+ "It includes information on how to set up your multilingual site and use it "
28
+ "on a daily basis, a FAQ, as well as a documentation for programmers to adapt "
29
+ "their plugins and themes."
30
+ msgstr ""
31
+ "Polylang é fornecido com uma extensa %sdocumentação%s (somente em inglês). "
32
+ "Estão incluídas informações para configurar seu site multilíngue e usá-lo "
33
+ "diariamente, uma FAQ, bem como uma documentação para programadores adaptarem "
34
+ "seus plugins e temas."
35
+
36
+ # @ polylang
37
+ #: admin/view-about.php:9
38
+ #, php-format
39
+ msgid ""
40
+ "You will also find useful information in the %ssupport forum%s. However "
41
+ "don't forget to make a search before posting a new topic."
42
+ msgstr ""
43
+ "Você também encontrará informações úteis no %sfórum de suporte%s. Entretanto "
44
+ "não esqueça de fazer uma busca antes de postar um novo tópico."
45
+
46
+ # @ polylang
47
+ #: admin/view-about.php:16
48
+ #, php-format
49
+ msgid ""
50
+ "Polylang is free of charge and is released under the same license as "
51
+ "WordPress, the %sGPL%s."
52
+ msgstr ""
53
+ "Polylang é gratuito e distribuído sob a mesma licença que o WordPress, a "
54
+ "%sGPL%s."
55
+
56
+ # @ polylang
57
+ #: admin/view-about.php:22
58
+ #, php-format
59
+ msgid "If you wonder how you can help the project, just %sread this%s."
60
+ msgstr "Se você quer saber como pode ajudar o projeto, %sleia isto%s."
61
+
62
+ # @ polylang
63
+ #: admin/view-about.php:27
64
+ msgid ""
65
+ "Finally if you like this plugin or if it helps your business, donations to "
66
+ "the author are greatly appreciated."
67
+ msgstr ""
68
+ "Finalmente, se você gosta deste plugin ou se ele ajuda seus negócios, "
69
+ "doações para o autor são muito apreciadas."
70
+
71
+ # @ polylang
72
+ #: admin/admin-filters-post.php:81 admin/admin.php:90 admin/settings.php:55
73
+ #: admin/settings.php:82 include/model.php:526
74
+ msgid "Languages"
75
+ msgstr "Idiomas"
76
+
77
+ # @ polylang
78
+ #: include/switcher.php:22
79
+ msgid "Displays language names"
80
+ msgstr "Exibir nomes de idiomas"
81
+
82
+ # @ polylang
83
+ #: include/switcher.php:23
84
+ msgid "Displays flags"
85
+ msgstr "Exibir bandeiras"
86
+
87
+ # @ polylang
88
+ #: include/switcher.php:24
89
+ msgid "Forces link to front page"
90
+ msgstr "Forçar link para a página inicial"
91
+
92
+ # @ polylang
93
+ #: include/switcher.php:25
94
+ msgid "Hides the current language"
95
+ msgstr "Ocultar o idioma atual"
96
+
97
+ # @ polylang
98
+ #: include/switcher.php:29
99
+ msgid "Displays as dropdown"
100
+ msgstr "Exibir como lista suspensa"
101
+
102
+ # @ polylang
103
+ #: admin/admin.php:271
104
+ msgid "Filters content by language"
105
+ msgstr "Filtra conteúdo por idioma"
106
+
107
+ # @ polylang
108
+ #: admin/admin.php:262
109
+ msgid "Show all languages"
110
+ msgstr "Exibir todos os idiomas"
111
+
112
+ # @ polylang
113
+ #: admin/admin-filters-columns.php:139 admin/admin-filters-columns.php:227
114
+ msgid "Add new translation"
115
+ msgstr "Adicionar nova tradução"
116
+
117
+ # @ polylang
118
+ #: admin/admin-filters-columns.php:173 admin/admin-filters-media.php:55
119
+ #: admin/admin-filters-post.php:107 admin/admin-filters-term.php:77
120
+ #: admin/admin-filters-term.php:121 include/model.php:527
121
+ msgid "Language"
122
+ msgstr "Idioma"
123
+
124
+ # @ polylang
125
+ #: admin/table-string.php:111 admin/view-translations-media.php:5
126
+ #: admin/view-translations-post.php:5 admin/view-translations-term.php:6
127
+ #: admin/view-translations-term.php:11
128
+ msgid "Translations"
129
+ msgstr "Traduções"
130
+
131
+ # @ polylang
132
+ #: admin/admin-filters-term.php:84 admin/admin-filters-term.php:128
133
+ msgid "Sets the language"
134
+ msgstr "Define o idioma"
135
+
136
+ # @ polylang
137
+ #: admin/admin-filters.php:52
138
+ msgid "The widget is displayed for:"
139
+ msgstr "O widget é exibido para:"
140
+
141
+ # @ polylang
142
+ #: admin/admin-filters.php:55 include/model.php:528
143
+ msgid "All languages"
144
+ msgstr "Todos os idiomas"
145
+
146
+ # @ polylang
147
+ #: admin/admin-filters.php:123
148
+ msgid "Admin language"
149
+ msgstr "Idioma do admin"
150
+
151
+ # @ polylang
152
+ #: admin/admin-filters.php:126
153
+ msgid "Wordpress default"
154
+ msgstr "Padrão do WordPress"
155
+
156
+ # @ polylang
157
+ #: admin/admin.php:171 admin/settings.php:87
158
+ msgid "Settings"
159
+ msgstr "Configurações"
160
+
161
+ # @ polylang
162
+ #: admin/admin-filters.php:160 admin/admin-filters.php:169
163
+ msgid "Upgrading language files&#8230;"
164
+ msgstr "Atualizando arquivos de idioma&#8230;"
165
+
166
+ # @ polylang
167
+ #: admin/settings.php:47
168
+ msgid "About Polylang"
169
+ msgstr "Sobre Polylang"
170
+
171
+ # @ polylang
172
+ #: admin/settings.php:63
173
+ msgid "Strings translations"
174
+ msgstr "Traduções de textos"
175
+
176
+ # @ polylang
177
+ #: admin/settings.php:86
178
+ msgid "Strings translation"
179
+ msgstr "Tradução de textos"
180
+
181
+ # @ polylang
182
+ #: admin/admin-model.php:274
183
+ msgid "Enter a valid WordPress locale"
184
+ msgstr "Informe um locale válido do WordPress"
185
+
186
+ # @ polylang
187
+ #: admin/admin-model.php:282
188
+ msgid "The language code must be unique"
189
+ msgstr "O código do idioma deve ser único"
190
+
191
+ # @ polylang
192
+ #: admin/admin-model.php:286
193
+ msgid "The language must have a name"
194
+ msgstr "O idioma deve ter um nome"
195
+
196
+ # @ polylang
197
+ #: admin/admin.php:371 admin/settings.php:162
198
+ msgid ""
199
+ "The language was created, but the WordPress language file was not "
200
+ "downloaded. Please install it manually."
201
+ msgstr ""
202
+ "O idioma foi criado, mas o arquivo de idioma do WordPress não foi baixado. "
203
+ "Por favor instale-o manualmente."
204
+
205
+ # @ polylang
206
+ #: admin/admin-strings.php:59
207
+ msgid "Widget title"
208
+ msgstr "Título do widget"
209
+
210
+ # @ polylang
211
+ #: admin/settings.php:301
212
+ msgid "Taxonomies"
213
+ msgstr "Taxonomias"
214
+
215
+ # @ polylang
216
+ #: admin/settings.php:302
217
+ msgid "Custom fields"
218
+ msgstr "Campos personalizados"
219
+
220
+ # @ polylang
221
+ #: admin/settings.php:303
222
+ msgid "Comment status"
223
+ msgstr "Status de comentários"
224
+
225
+ # @ polylang
226
+ #: admin/settings.php:304
227
+ msgid "Ping status"
228
+ msgstr "Status de ping"
229
+
230
+ # @ polylang
231
+ #: admin/settings.php:305
232
+ msgid "Sticky posts"
233
+ msgstr "Posts fixos"
234
+
235
+ # @ polylang
236
+ #: admin/settings.php:306
237
+ msgid "Published date"
238
+ msgstr "Data de publicação"
239
+
240
+ # @ polylang
241
+ #: admin/settings.php:307
242
+ msgid "Post format"
243
+ msgstr "Formato de post"
244
+
245
+ # @ polylang
246
+ #: admin/settings.php:308
247
+ msgid "Page parent"
248
+ msgstr "Página mãe"
249
+
250
+ # @ polylang
251
+ #: admin/settings.php:309
252
+ msgid "Page template"
253
+ msgstr "Modelo de página"
254
+
255
+ # @ polylang
256
+ #: admin/settings.php:310
257
+ msgid "Page order"
258
+ msgstr "Ordem de página"
259
+
260
+ # @ polylang
261
+ #: admin/settings.php:311
262
+ msgid "Featured image"
263
+ msgstr "Imagem destacada"
264
+
265
+ # @ polylang
266
+ #: admin/view-languages.php:38
267
+ msgid "Edit language"
268
+ msgstr "Editar idioma"
269
+
270
+ # @ polylang
271
+ #: admin/view-languages.php:38 admin/view-languages.php:113
272
+ msgid "Add new language"
273
+ msgstr "Adicionar novo idioma"
274
+
275
+ # @ polylang
276
+ #: admin/view-languages.php:54
277
+ msgid "Choose a language"
278
+ msgstr "Escolha um idioma"
279
+
280
+ # @ polylang
281
+ #: admin/view-languages.php:68
282
+ msgid "You can choose a language in the list or directly edit it below."
283
+ msgstr "Você pode escolher um idioma da lista ou editá-lo diretamente abaixo."
284
+
285
+ # @ polylang
286
+ #: admin/table-languages.php:74 admin/view-languages.php:72
287
+ msgid "Full name"
288
+ msgstr "Nome completo"
289
+
290
+ # @ polylang
291
+ #: admin/view-languages.php:74
292
+ msgid "The name is how it is displayed on your site (for example: English)."
293
+ msgstr "O nome como é exibido em seu site (por exemplo: English)."
294
+
295
+ # @ polylang
296
+ #: admin/table-languages.php:75 admin/view-languages.php:78
297
+ msgid "Locale"
298
+ msgstr "Locale"
299
+
300
+ # @ polylang
301
+ #: admin/view-languages.php:83
302
+ msgid ""
303
+ "Wordpress Locale for the language (for example: en_US). You will need to "
304
+ "install the .mo file for this language."
305
+ msgstr ""
306
+ "Locale do WordPress para o idioma (por exemplo: en_US). Você precisará "
307
+ "instalar o arquivo .mo para esse idioma."
308
+
309
+ # @ polylang
310
+ #: admin/view-languages.php:87
311
+ msgid "Language code"
312
+ msgstr "Código do idioma"
313
+
314
+ # @ polylang
315
+ #: admin/view-languages.php:93
316
+ msgid "Text direction"
317
+ msgstr "Direção do texto"
318
+
319
+ # @ polylang
320
+ #: admin/view-languages.php:97
321
+ msgid "left to right"
322
+ msgstr "esquerda para direita"
323
+
324
+ # @ polylang
325
+ #: admin/view-languages.php:102
326
+ msgid "right to left"
327
+ msgstr "direita para esquerda"
328
+
329
+ # @ polylang
330
+ #: admin/view-languages.php:104
331
+ msgid "Choose the text direction for the language"
332
+ msgstr "Escolha a direção do texto para o idioma"
333
+
334
+ # @ polylang
335
+ #: admin/table-languages.php:77 admin/view-languages.php:108
336
+ msgid "Order"
337
+ msgstr "Ordem"
338
+
339
+ # @ polylang
340
+ #: admin/view-languages.php:110
341
+ msgid "Position of the language in the language switcher"
342
+ msgstr "Posição do idioma no seletor de idioma"
343
+
344
+ # @ polylang
345
+ #: admin/admin-nav-menu.php:52 admin/admin-nav-menu.php:90
346
+ #: admin/admin-nav-menu.php:93 admin/admin-nav-menu.php:124
347
+ #: admin/admin-nav-menu.php:186 include/upgrade.php:301
348
+ msgid "Language switcher"
349
+ msgstr "Seletor de idioma"
350
+
351
+ # @ polylang
352
+ #: admin/view-languages.php:139
353
+ msgid "Search translations"
354
+ msgstr "Buscar traduções"
355
+
356
+ # @ polylang
357
+ #: admin/view-languages.php:142
358
+ msgid "Clean strings translation database"
359
+ msgstr "Limpar base de dados de traduções"
360
+
361
+ # @ polylang
362
+ #: admin/view-languages.php:161
363
+ msgid "Default language"
364
+ msgstr "Idioma padrão"
365
+
366
+ # @ polylang
367
+ #: admin/view-languages.php:176
368
+ msgid ""
369
+ "There are posts, pages, categories or tags without language set. Do you want "
370
+ "to set them all to default language ?"
371
+ msgstr ""
372
+ "Existem posts, páginas, categorias ou tags sem um idioma definido. Deseja "
373
+ "configurar todos para o idioma padrão?"
374
+
375
+ # @ polylang
376
+ #: admin/view-languages.php:297
377
+ msgid "Detect browser language"
378
+ msgstr "Detectar idioma do navegador"
379
+
380
+ # @ polylang
381
+ #: admin/view-languages.php:303
382
+ msgid ""
383
+ "When the front page is visited, set the language according to the browser "
384
+ "preference"
385
+ msgstr ""
386
+ "Ao visitar a página inicial, definir o idioma de acordo com as preferências "
387
+ "do navegador"
388
+
389
+ # @ polylang
390
+ #: admin/view-languages.php:184
391
+ msgid "URL modifications"
392
+ msgstr "Modificações de URL"
393
+
394
+ # @ polylang
395
+ #: admin/view-languages.php:241
396
+ msgid "Hide URL language information for default language"
397
+ msgstr "Não exibir informação de idioma no URL para o idioma padrão"
398
+
399
+ # @ polylang
400
+ #: admin/view-languages.php:310
401
+ msgid "Media"
402
+ msgstr "Mídia"
403
+
404
+ # @ polylang
405
+ #: admin/view-languages.php:316
406
+ msgid "Activate languages and translations for media"
407
+ msgstr "Ativar idiomas e traduções para mídia"
408
+
409
+ # @ polylang
410
+ #: admin/view-languages.php:363
411
+ msgid "Synchronization"
412
+ msgstr "Sincronização"
413
+
414
+ # @ polylang
415
+ #: admin/view-languages.php:324
416
+ msgid "Custom post types"
417
+ msgstr "Tipos de post personalizados"
418
+
419
+ # @ polylang
420
+ #: admin/view-languages.php:337
421
+ msgid "Activate languages and translations for custom post types."
422
+ msgstr "Ativar idiomas e traduções para tipos de post personalizados."
423
+
424
+ # @ polylang
425
+ #: admin/view-languages.php:344
426
+ msgid "Custom taxonomies"
427
+ msgstr "Taxonomias personalizadas"
428
+
429
+ # @ polylang
430
+ #: admin/view-languages.php:357
431
+ msgid "Activate languages and translations for custom taxonomies."
432
+ msgstr "Habilita idiomas e traduções para taxonomias personalizadas."
433
+
434
+ # @ polylang
435
+ #: admin/admin-filters-post.php:379 admin/admin-filters-term.php:612
436
+ #: admin/table-languages.php:54 admin/view-translations-media.php:21
437
+ msgid "Edit"
438
+ msgstr "Editar"
439
+
440
+ # @ polylang
441
+ #: admin/table-languages.php:60 admin/table-string.php:167
442
+ msgid "Delete"
443
+ msgstr "Excluir"
444
+
445
+ # @ polylang
446
+ #: admin/table-languages.php:76
447
+ msgid "Code"
448
+ msgstr "Código"
449
+
450
+ # @ polylang
451
+ #: admin/table-languages.php:78
452
+ msgid "Flag"
453
+ msgstr "Bandeira"
454
+
455
+ # @ polylang
456
+ #: admin/table-languages.php:79
457
+ msgid "Posts"
458
+ msgstr "Posts"
459
+
460
+ # @ polylang
461
+ #: admin/table-string.php:109
462
+ msgid "Name"
463
+ msgstr "Nome"
464
+
465
+ # @ polylang
466
+ #: admin/table-string.php:110
467
+ msgid "String"
468
+ msgstr "Texto"
469
+
470
+ # @ polylang
471
+ #: admin/view-translations-media.php:30 admin/view-translations-post.php:21
472
+ #: admin/view-translations-term.php:30
473
+ msgid "Add new"
474
+ msgstr "Adicionar novo"
475
+
476
+ # @ polylang
477
+ #: include/widget-languages.php:16
478
+ msgid "Language Switcher"
479
+ msgstr "Seletor de Idioma"
480
+
481
+ # @ polylang
482
+ #: include/widget-languages.php:16
483
+ msgid "Displays a language switcher"
484
+ msgstr "Exibe um seletor de idioma"
485
+
486
+ # @ polylang
487
+ #: include/widget-languages.php:97
488
+ msgid "Title:"
489
+ msgstr "Título:"
490
+
491
+ # @ polylang
492
+ #. translators: plugin header field 'Description'
493
+ #: polylang.php:0
494
+ msgid "Adds multilingual capability to WordPress"
495
+ msgstr "Adiciona capacidade multilíngue ao WordPress"
496
+
497
+ # @ polylang
498
+ #: polylang.php:145
499
+ #, php-format
500
+ msgid "You are using WordPress %s. Polylang requires at least WordPress %s."
501
+ msgstr ""
502
+ "Você está usando o WordPress %s. Polylang requer pelo menos o WordPress %s."
503
+
504
+ # @ polylang
505
+ #: include/upgrade.php:76
506
+ msgid ""
507
+ "Polylang has been deactivated because you upgraded from a too old version."
508
+ msgstr ""
509
+ "Polylang foi desativado porque você fez atualização de uma versão muito "
510
+ "antiga."
511
+
512
+ # @ polylang
513
+ #: include/upgrade.php:78
514
+ #, php-format
515
+ msgid "Please upgrade first to %s before ugrading to %s."
516
+ msgstr "Por favor atualize primeiro para %s antes de atualizar para %s."
517
+
518
+ # @ polylang
519
+ #: admin/table-string.php:108
520
+ msgid "Group"
521
+ msgstr "Grupo"
522
+
523
+ # @ polylang
524
+ #: admin/table-string.php:186
525
+ msgid "View all groups"
526
+ msgstr "Ver todos os grupos"
527
+
528
+ # @ polylang
529
+ #: admin/table-languages.php:59
530
+ msgid "You are about to permanently delete this language. Are you sure?"
531
+ msgstr "Você está prestes a excluir permanentemente esse idioma. Tem certeza?"
532
+
533
+ # @ polylang
534
+ #: admin/view-languages.php:143
535
+ msgid ""
536
+ "Use this to remove unused strings from database, for example after a plugin "
537
+ "has been uninstalled."
538
+ msgstr ""
539
+ "Use isto para remover da base de dados textos não utilizados, por exemplo "
540
+ "após desinstalar um plugin."
541
+
542
+ # @ polylang
543
+ #: admin/view-languages.php:374
544
+ msgid ""
545
+ "The synchronization options allow to maintain exact same values (or "
546
+ "translations in the case of taxonomies and page parent) of meta content "
547
+ "between the translations of a post or page."
548
+ msgstr ""
549
+ "As opções de sincronização permitem manter exatamente os mesmos valores (ou "
550
+ "traduções, no caso de taxonomias e página mãe) de meta conteúdo entre as "
551
+ "traduções de um post ou página."
552
+
553
+ # @ polylang
554
+ #: admin/admin-model.php:278
555
+ msgid "The language code contains invalid characters"
556
+ msgstr "O código do idioma contém caracteres inválidos"
557
+
558
+ # @ polylang
559
+ #: admin/view-languages.php:190
560
+ msgid "The language is set from content"
561
+ msgstr "O idioma é definido pelo conteúdo"
562
+
563
+ # @ polylang
564
+ #: admin/view-languages.php:193
565
+ msgid "Posts, pages, categories and tags urls are not modified."
566
+ msgstr "URLs de posts, páginas, categorias e tags não são modificados."
567
+
568
+ # @ polylang
569
+ #: admin/view-languages.php:199
570
+ msgid "The language is set from the directory name in pretty permalinks"
571
+ msgstr "O idioma é definido pelo nome de diretório nos links permanentes"
572
+
573
+ # @ polylang
574
+ #: admin/view-languages.php:202 admin/view-languages.php:211
575
+ #: admin/view-languages.php:258 admin/view-languages.php:267
576
+ msgid "Example:"
577
+ msgstr "Exemplo:"
578
+
579
+ # @ polylang
580
+ #: admin/view-languages.php:208
581
+ msgid "The language is set from the subdomain name in pretty permalinks"
582
+ msgstr "O idioma é definido pelo nome de subdomínio nos links permanentes"
583
+
584
+ # @ polylang
585
+ #: admin/view-languages.php:217
586
+ msgid "The language is set from different domains"
587
+ msgstr "O idioma é definido por domínios diferentes"
588
+
589
+ # @ polylang
590
+ #: admin/view-languages.php:255
591
+ msgid "Remove /language/ in pretty permalinks"
592
+ msgstr "Remover /language/ dos links permanentes"
593
+
594
+ # @ polylang
595
+ #: admin/view-languages.php:264
596
+ msgid "Keep /language/ in pretty permalinks"
597
+ msgstr "Manter /language/ nos links permanentes"
598
+
599
+ # @ polylang
600
+ #: admin/view-languages.php:279
601
+ msgid ""
602
+ "The front page url contains the language code instead of the page name or "
603
+ "page id"
604
+ msgstr ""
605
+ "O URL da página inicial contém o código do idioma ao invés do nome ou id da "
606
+ "página"
607
+
608
+ # @ polylang
609
+ #: admin/admin-filters-term.php:167
610
+ #, php-format
611
+ msgid "A translation does already exist for %s"
612
+ msgstr "Já existe uma tradução para %s"
613
+
614
+ # @ polylang
615
+ #: admin/view-languages.php:287
616
+ #, php-format
617
+ msgid "Example: %s instead of %s"
618
+ msgstr "Exemplo: %s ao invés de %s"
619
+
620
+ # @ polylang
621
+ #: admin/admin-model.php:38
622
+ msgid "Impossible to add the language."
623
+ msgstr "Impossível adicionar o idioma."
624
+
625
+ # @ polylang
626
+ #: admin/admin-model.php:62
627
+ msgid "Language added."
628
+ msgstr "Idioma adicionado."
629
+
630
+ # @ polylang
631
+ #: admin/admin-model.php:176
632
+ msgid "Language deleted."
633
+ msgstr "Idioma excluído."
634
+
635
+ # @ polylang
636
+ #: admin/admin-model.php:257
637
+ msgid "Language updated."
638
+ msgstr "Idioma atualizado."
639
+
640
+ # @ polylang
641
+ #: admin/settings.php:221
642
+ msgid "Translations updated."
643
+ msgstr "Traduções atualizadas."
644
+
645
+ # @ polylang
646
+ #: admin/view-languages.php:89
647
+ msgid "Language code - preferably 2-letters ISO 639-1 (for example: en)"
648
+ msgstr ""
649
+ "Código do idioma - de preferência 2 letras padrão ISO 639-1 (por exemplo: en)"
650
+
651
+ # @ polylang
652
+ #: admin/admin-filters.php:202
653
+ msgid "The chosen static front page must be translated in all languages."
654
+ msgstr ""
655
+ "A página inicial estática selecionada deve ser traduzida para todos os "
656
+ "idiomas."
657
+
658
+ # @ polylang
659
+ #: admin/admin-strings.php:60
660
+ msgid "Widget text"
661
+ msgstr "Texto do widget"
polylang.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  Plugin Name: Polylang
4
  Plugin URI: http://polylang.wordpress.com/
5
- Version: 1.6
6
  Author: Frédéric Demarle
7
  Description: Adds multilingual capability to WordPress
8
  Text Domain: polylang
@@ -33,7 +33,7 @@ Domain Path: /languages
33
  if (!function_exists('add_action'))
34
  exit();
35
 
36
- define('POLYLANG_VERSION', '1.6');
37
  define('PLL_MIN_WP_VERSION', '3.5');
38
 
39
  define('POLYLANG_BASENAME', plugin_basename(__FILE__)); // plugin name as known by WP
2
  /*
3
  Plugin Name: Polylang
4
  Plugin URI: http://polylang.wordpress.com/
5
+ Version: 1.6.1
6
  Author: Frédéric Demarle
7
  Description: Adds multilingual capability to WordPress
8
  Text Domain: polylang
33
  if (!function_exists('add_action'))
34
  exit();
35
 
36
+ define('POLYLANG_VERSION', '1.6.1');
37
  define('PLL_MIN_WP_VERSION', '3.5');
38
 
39
  define('POLYLANG_BASENAME', plugin_basename(__FILE__)); // plugin name as known by WP
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, international, localization
5
  Requires at least: 3.5
6
  Tested up to: 4.0
7
- Stable tag: 1.6
8
  License: GPLv2 or later
9
 
10
  Polylang adds multilingual content management support to WordPress.
@@ -24,7 +24,7 @@ Polylang allows you to create a bilingual or multilingual WordPress site. You wr
24
 
25
  = Translators =
26
 
27
- The plugin admin interface is currently available in 35 languages: English, French, German by [Christian Ries](http://www.singbyfoot.lu), Russian by [yoyurec](http://yoyurec.in.ua) and unostar, Greek by [theodotos](http://www.ubuntucy.org), Dutch by [AlbertGn](http://wordpress.org/support/profile/albertgn), Hebrew by [ArielK](http://www.arielk.net), Polish by [Peter Paciorkiewicz](http://www.paciorkiewicz.pl), [Bartosz](http://www.dfactory.eu/) and Sebastian Janus, Latvian by [@AndyDeGroo](http://twitter.com/AndyDeGroo), Italian by [Luca Barbetti](http://wordpress.org/support/profile/lucabarbetti), Danish by [Compute](http://wordpress.org/support/profile/compute), Spanish by Curro, Portuguese by [Vitor Carvalho](http://vcarvalho.com/), Lithuanian by [Naglis Jonaitis](http://najo.lt/), Turkish by [darchws](http://darch.ws/) and [Abdullah Pazarbasi](http://www.abdullahpazarbasi.com/), Finnish by [Jani Alha](http://www.wysiwyg.fi), Bulgarian by [pavelsof](http://wordpress.org/support/profile/pavelsof), Belarusian by [Alexander Markevitch](http://fourfeathers.by/), Afrikaans by [Kobus Joubert](http://translate3d.com/), Hungarian by Csaba Erdei, Norwegian by [Tom Boersma](http://www.oransje.com/), Slovak by [Branco (WebHostingGeeks.com)](http://webhostinggeeks.com/user-reviews/), Swedish by [matsii](http://wordpress.org/support/profile/matsii) and [Jon Täng](http://jontang.se), Catalan by [Núria Martínez Berenguer](http://www.linkedin.com/profile/view?id=127867004&trk=nav_responsive_tab_profile&locale=en_US), Ukrainian by [cmd soft](http://www.cmd-soft.com/) and [http://getvoip.com/](http://getvoip.com/), Estonian by [Ahto Naris](http://profiles.wordpress.org/ahtonaris/), Venetian by Michele Brunelli, simplified Chinese by [Changmeng Hu](http://www.wpdaxue.com), Indonesian by [ajoull](http://www.ajoull.com/), Arabic by [Anas Sulaiman](http://ahs.pw/), Traditional Chinese by [香腸](http://sofree.cc/), Czech by [Přemysl Karbula](http://www.premyslkarbula.cz), Serbian by Sinisa, Myanmar by Sithu Thwin, Croatian by Bajro
28
  = Credits =
29
 
30
  Most of the flags included with Polylang are coming from [famfamfam](http://famfamfam.com/) and are public domain. Icons are coming from [Icomoon](http://icomoon.io/) and are licensed under GPL. Wherever third party code has been used, credit has been given in the code’s comments.
@@ -61,12 +61,18 @@ See http://polylang.wordpress.com/documentation/contribute/
61
 
62
  1. The Polylang languages admin panel in WordPress 3.8
63
 
64
- == Upgrade Notice ==
65
 
66
- = 1.6 =
67
- Polylang 1.2 introduced major internal changes. More than ever, make a database backup before upgrading from 1.1.6 or older! If you are using a version older than 0.8, please upgrade to 0.9.8 before ugrading to 1.6
68
 
69
- == Changelog ==
 
 
 
 
 
 
 
70
 
71
  = 1.6 (2014-10-27) =
72
 
4
  Tags: multilingual, bilingual, translate, translation, language, multilanguage, international, localization
5
  Requires at least: 3.5
6
  Tested up to: 4.0
7
+ Stable tag: 1.6.1
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 36 languages: English, French, German by [Christian Ries](http://www.singbyfoot.lu), Russian by [yoyurec](http://yoyurec.in.ua) and unostar, Greek by [theodotos](http://www.ubuntucy.org), Dutch by [AlbertGn](http://wordpress.org/support/profile/albertgn), Hebrew by [ArielK](http://www.arielk.net), Polish by [Peter Paciorkiewicz](http://www.paciorkiewicz.pl), [Bartosz](http://www.dfactory.eu/) and Sebastian Janus, Latvian by [@AndyDeGroo](http://twitter.com/AndyDeGroo), Italian by [Luca Barbetti](http://wordpress.org/support/profile/lucabarbetti), Danish by [Compute](http://wordpress.org/support/profile/compute), Spanish by Curro, Portuguese by [Vitor Carvalho](http://vcarvalho.com/), Lithuanian by [Naglis Jonaitis](http://najo.lt/), Turkish by [darchws](http://darch.ws/) and [Abdullah Pazarbasi](http://www.abdullahpazarbasi.com/), Finnish by [Jani Alha](http://www.wysiwyg.fi), Bulgarian by [pavelsof](http://wordpress.org/support/profile/pavelsof), Belarusian by [Alexander Markevitch](http://fourfeathers.by/), Afrikaans by [Kobus Joubert](http://translate3d.com/), Hungarian by Csaba Erdei, Norwegian by [Tom Boersma](http://www.oransje.com/), Slovak by [Branco (WebHostingGeeks.com)](http://webhostinggeeks.com/user-reviews/), Swedish by [matsii](http://wordpress.org/support/profile/matsii) and [Jon Täng](http://jontang.se), Catalan by [Núria Martínez Berenguer](http://www.linkedin.com/profile/view?id=127867004&trk=nav_responsive_tab_profile&locale=en_US), Ukrainian by [cmd soft](http://www.cmd-soft.com/) and [http://getvoip.com/](http://getvoip.com/), Estonian by [Ahto Naris](http://profiles.wordpress.org/ahtonaris/), Venetian by Michele Brunelli, simplified Chinese by [Changmeng Hu](http://www.wpdaxue.com), Indonesian by [ajoull](http://www.ajoull.com/), Arabic by [Anas Sulaiman](http://ahs.pw/), Traditional Chinese by [香腸](http://sofree.cc/), Czech by [Přemysl Karbula](http://www.premyslkarbula.cz), Serbian by Sinisa, Myanmar by Sithu Thwin, Croatian by Bajro, Brazilian Portuguese by [Henrique Vianna](http://henriquevianna.com/)
28
  = Credits =
29
 
30
  Most of the flags included with Polylang are coming from [famfamfam](http://famfamfam.com/) and are public domain. Icons are coming from [Icomoon](http://icomoon.io/) and are licensed under GPL. Wherever third party code has been used, credit has been given in the code’s comments.
61
 
62
  1. The Polylang languages admin panel in WordPress 3.8
63
 
64
+ == Changelog ==
65
 
66
+ = 1.6.1 (2014-11-19) =
 
67
 
68
+ * Add Brazilian Portuguese translation contributed by [Henrique Vianna](http://henriquevianna.com/)
69
+ * Improve compatibility with Types: allow custom fields to be populated when creating a new translation
70
+ * Make it impossible to remove the translations of the default category
71
+ * Fix: possibility to add a path when using multiple domains (same path for all languages) broken since v1.5.6
72
+ * Fix: preview link for non default language when using multiple domains
73
+ * Fix: error displayed when setting the static front page and only one language has been defined
74
+ * Fix: revert changes on rewrite rules with front introduced in 1.6
75
+ * Fix: conflict with WordPress SEO when no language has been created
76
 
77
  = 1.6 (2014-10-27) =
78