Polylang - Version 0.7

Version Description

(2012-01-30) =

  • Add Hebrew translation contributed by ArielK
  • Add support for RTL languages for both frontend and admin
  • Twenty Ten and Twenty Eleven languages files are now automatically downloaded when creating a new langage
  • Improve filtering tags by language in the edit post panel
  • Category parent dropdown list is now filtered by language
  • Category parents are now synchronized between translations
  • Add the possibility to have the language information in all URL
  • Add support for post formats
  • Add option allowing not to show the current language in the language switcher (for both menu and widget)
  • Add a title attribute (and the possibility to personalize it with a filter) to flags
  • pll_get_post and pll_get_term second parameter is now optional and defaults to current language
  • Add pll_the_language_link filter allowing to filter translation links outputed by the language switcher
  • The option PLL_DISPLAY_ALL is no longer supported
  • Bug correction: Autosave reset to default language
  • Bug correction: blog info not translated in feeds
  • Bug correction: post comments feed always in default language
  • Bug correction: undefined index notice when setting up a custom menu widget
  • Bug correction: rewrite rules are not correctly reset when deactivating the plugin
  • Bug correction: is_home not correctly set on pages 2, 3...
  • Bug correction: avoid naming conflicts (in sql queries) with other themes / plugins
  • Bug correction: bad language detection and url rewriting of custom post types archives
Download this release

Release Info

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

Code changes from version 0.6.1 to 0.7

css/admin.css CHANGED
@@ -32,6 +32,11 @@
32
  font-size: 11px;
33
  }
34
 
 
 
 
 
 
35
  .stringstranslations .column-name {
36
  width: 10%;
37
  }
@@ -51,4 +56,17 @@
51
 
52
  .column-term_group, .column-flag, .column-count {
53
  width : 10%;
54
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  font-size: 11px;
33
  }
34
 
35
+ .form-field input.tog {
36
+ width: auto;
37
+ margin-right: 2px;
38
+ }
39
+
40
  .stringstranslations .column-name {
41
  width: 10%;
42
  }
56
 
57
  .column-term_group, .column-flag, .column-count {
58
  width : 10%;
59
+ }
60
+
61
+ .pll_icon_add, .pll_icon_edit {
62
+ display: block;
63
+ width: 16px;
64
+ height: 16px;
65
+ background-image: url("icons.png");
66
+ }
67
+
68
+ .pll_icon_edit {background-position: 0px -24px;}
69
+ .pll_icon_add {background-position: 16px -24px;}
70
+
71
+ .pll_icon_edit:hover {background-position: 0px -40px;}
72
+ .pll_icon_add:hover {background-position: 16px -40px;}
css/icons.png ADDED
Binary file
doc/documentation-en.odt CHANGED
Binary file
doc/documentation-en.pdf CHANGED
Binary file
img/add.png DELETED
Binary file
img/edit.png DELETED
Binary file
include/add-term-form.php DELETED
@@ -1,21 +0,0 @@
1
- <?php
2
- // adds a language select list in the Categories and Post tags admin panels
3
- ?>
4
- <div class="form-field">
5
- <label for="term_lang_choice"><?php _e('Language', 'polylang');?></label>
6
- <select name="term_lang_choice" id="term_lang_choice"><?php
7
- if (PLL_DISPLAY_ALL) // for those who want undefined language
8
- echo '<option value="0"></option>';
9
- foreach ($listlanguages as $language) {
10
- printf("<option value='%d'%s>%s</option>\n",
11
- esc_attr($language->term_id),
12
- $language->slug == $lang->slug ? ' selected="selected"' : '',
13
- esc_html($language->name)
14
- );
15
- } ?>
16
- </select>
17
- <p><?php _e('Sets the language', 'polylang');?></p>
18
- </div>
19
- <div id="term-translations" class="form-field"><?php
20
- include(PLL_INC.'/term-translations.php'); // adds translation fields ?>
21
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
include/admin-filters.php CHANGED
@@ -40,6 +40,8 @@ class Polylang_Admin_Filters extends Polylang_Base {
40
  // ajax response for changing the language in the post metabox
41
  add_action('wp_ajax_post_lang_choice', array(&$this,'post_lang_choice'));
42
 
 
 
43
  // filters the pages by language in the parent dropdown list in the page attributes metabox
44
  add_filter('page_attributes_dropdown_pages_args', array(&$this, 'page_attributes_dropdown_pages_args'), 10, 2);
45
 
@@ -67,9 +69,10 @@ class Polylang_Admin_Filters extends Polylang_Base {
67
  add_action('delete_'.$tax, array(&$this, 'delete_term'));
68
  }
69
 
70
- // adds actions related to languages when saving categories and post tags
71
- add_action('created_term', array(&$this, 'save_term'), 10, 3);
72
- add_action('edited_term', array(&$this, 'save_term'), 10, 3);
 
73
 
74
  // ajax response for edit term form
75
  add_action('wp_ajax_term_lang_choice', array(&$this,'term_lang_choice'));
@@ -84,13 +87,20 @@ class Polylang_Admin_Filters extends Polylang_Base {
84
  // language management for users
85
  add_action('personal_options_update', array(&$this, 'personal_options_update'));
86
  add_action('personal_options', array(&$this, 'personal_options'));
 
 
 
 
 
 
 
87
  }
88
 
89
  // setup js scripts & css styles
90
  function admin_enqueue_scripts() {
91
- wp_enqueue_script('polylang_admin', POLYLANG_URL .'/js/admin.js');
92
  wp_enqueue_style('polylang_admin', POLYLANG_URL .'/css/admin.css');
93
-
94
  // style languages columns in edit and edit-tags
95
  foreach ($this->get_languages_list() as $language)
96
  $classes[] = '.column-language_'.esc_attr($language->slug);
@@ -126,18 +136,13 @@ class Polylang_Admin_Filters extends Polylang_Base {
126
 
127
  // link to edit post (or a translation)
128
  if ($id = $this->get_post($post_id, $language))
129
- printf('<a title="%1$s" href="%2$s"><img src="%3$s"></a>',
130
- esc_attr(get_post($id)->post_title),
131
- esc_url(get_edit_post_link($id, true )),
132
- esc_url(POLYLANG_URL.'/img/edit.png')
133
- );
134
 
135
  // link to add a new translation
136
  else
137
- printf('<a title="%1$s" href="%2$s"><img src="%3$s"></a>',
138
  __('Add new translation', 'polylang'),
139
- esc_url(admin_url('post-new.php?post_type=' . $post_type . '&from_post=' . $post_id . '&new_lang=' . $language->slug)),
140
- esc_url(POLYLANG_URL.'/img/add.png')
141
  );
142
  }
143
 
@@ -187,9 +192,14 @@ class Polylang_Admin_Filters extends Polylang_Base {
187
  if (!isset($lang))
188
  $lang = $this->get_language($this->options['default_lang']);
189
 
190
- $listlanguages = $this->get_languages_list();
 
 
 
 
 
 
191
 
192
- include(PLL_INC.'/post-metabox.php');
193
  }
194
 
195
  // ajax response for changing the language in the post metabox
@@ -211,7 +221,7 @@ class Polylang_Admin_Filters extends Polylang_Base {
211
  // not set for pages
212
  foreach ($_POST['taxonomies'] as $taxname) {
213
  $taxonomy = get_taxonomy($taxname);
214
-
215
  ob_start();
216
  $popular_ids = wp_popular_terms_checklist($taxonomy->name);
217
  $supplemental['populars'] = ob_get_contents();
@@ -255,6 +265,44 @@ class Polylang_Admin_Filters extends Polylang_Base {
255
  $x->send();
256
  }
257
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
258
  // filters the pages by language in the parent dropdown list in the page attributes metabox
259
  function page_attributes_dropdown_pages_args($dropdown_args, $post) {
260
  $lang = isset($_POST['lang']) ? $this->get_language($_POST['lang']) : $this->get_post_language($post->ID); // ajax or not ?
@@ -262,7 +310,7 @@ class Polylang_Admin_Filters extends Polylang_Base {
262
  $dropdown_args['exclude'] = isset($dropdown_args['exclude']) ? $dropdown_args['exclude'].','.$pages : $pages;
263
  return $dropdown_args;
264
  }
265
-
266
  // translate post parent if exists when using "Add new" (translation)
267
  function wp_insert_post_parent($post_parent, $post_ID, $keys, $postarr) {
268
  if (isset($_GET['from_post']) && isset($_GET['new_lang']) && $id = wp_get_post_parent_id($_GET['from_post']))
@@ -315,7 +363,7 @@ class Polylang_Admin_Filters extends Polylang_Base {
315
  $newterms[] = (int) $id; // cast is important otherwise we get 'numeric' tags
316
  }
317
  }
318
- if (!empty($newterms))
319
  wp_set_object_terms($post_id, $newterms, $tax);
320
  }
321
 
@@ -330,15 +378,18 @@ class Polylang_Admin_Filters extends Polylang_Base {
330
  if (!isset($_POST['post_lang_choice']))
331
  return;
332
 
333
- // save translations
334
- $this->save_translations('post', $post_id, $_POST['post_tr_lang']);
 
 
 
335
 
336
  // synchronise terms and metas in translations
337
- foreach ($_POST['post_tr_lang'] as $lang=>$tr_id) {
338
  if (!$tr_id)
339
  continue;
340
 
341
- // terms
342
  foreach (get_taxonomies(array('show_ui'=>true)) as $tax) {
343
  $newterms = array();
344
  $terms = get_the_terms($post_id, $tax);
@@ -355,10 +406,13 @@ class Polylang_Admin_Filters extends Polylang_Base {
355
  if (!$this->get_translation('term', $term->term_id, $_POST['post_lang_choice']))
356
  $newterms[] = (int) $term->term_id;
357
  }
358
- }
359
  wp_set_object_terms($tr_id, $newterms, $tax); // replace terms in translation
360
  }
361
 
 
 
 
362
  // synchronize metas and allow plugins to do the same
363
  $metas = apply_filters('pll_copy_metas', array('_wp_page_template', '_thumbnail_id'));
364
  foreach ($metas as $meta) {
@@ -371,7 +425,7 @@ class Polylang_Admin_Filters extends Polylang_Base {
371
  // post parent
372
  if ($parent_id = wp_get_post_parent_id($post_id));
373
  $post_parent = $this->get_translation('post', $parent_id, $lang);
374
-
375
  global $wpdb;
376
  $wpdb->update($wpdb->posts, array('post_parent'=> isset($post_parent) ? $post_parent : 0), array( 'ID' => $tr_id ));
377
  }
@@ -398,20 +452,26 @@ class Polylang_Admin_Filters extends Polylang_Base {
398
 
399
  // does nothing in the Categories, Post tags, Languages and Posts* admin panels
400
  // I test $_POST['action'] for ajax since $screen not defined in this case
 
401
  // FIXME Can I improve the way I do that ?
402
- if (!isset($_POST['action']) && (!isset($screen) || $screen->base == 'edit-tags' || $screen->base == 'toplevel_page_mlang' || $screen->base == 'edit'))
 
403
  return $clauses;
404
 
405
  // *FIXME I want all categories in the dropdown list and only the ones in the right language in the inline edit
406
  // It seems that I need javascript to get the post_id as inline edit data are manipulated in inline-edit-post.js
407
 
408
  // The only ajax response I want to deal with is when changing the language in post metabox
409
- if (isset($_POST['action']) && $_POST['action'] != 'post_lang_choice')
410
  return $clauses;
411
 
 
 
 
 
412
  global $post_ID;
413
 
414
- // ajax response for changing the language in the post metabox
415
  if (isset($_POST['lang']))
416
  $lang = $this->get_language($_POST['lang']);
417
 
@@ -422,12 +482,16 @@ class Polylang_Admin_Filters extends Polylang_Base {
422
  elseif (isset($_GET['post']))
423
  $lang = $this->get_post_language($_GET['post']);
424
 
 
 
 
 
425
  // when a new category is created in the edit post panel
426
  elseif (isset($_POST['term_lang_choice']))
427
  $lang = $this->get_language($_POST['term_lang_choice']);
428
 
429
- // for a new post
430
- elseif ($screen->base == 'post' && !PLL_DISPLAY_ALL)
431
  $lang = $this->get_language($this->options['default_lang']);
432
 
433
  // adds our clauses to filter by current language
@@ -443,10 +507,16 @@ class Polylang_Admin_Filters extends Polylang_Base {
443
  else
444
  $lang = $this->get_language($this->options['default_lang']);
445
 
446
- $listlanguages = $this->get_languages_list();
 
 
 
 
447
 
448
- // displays the language field
449
- include(PLL_INC.'/add-term-form.php');
 
 
450
  }
451
 
452
  // adds the language field and translations tables in the 'Edit Category' and 'Edit Tag' panels
@@ -454,9 +524,18 @@ class Polylang_Admin_Filters extends Polylang_Base {
454
  $term_id = $tag->term_id;
455
  $lang = $this->get_term_language($term_id);
456
  $taxonomy = $tag->taxonomy;
457
- $listlanguages = $this->get_languages_list();
458
 
459
- include(PLL_INC.'/edit-term-form.php');
 
 
 
 
 
 
 
 
 
 
460
  }
461
 
462
  // adds the language column (before the posts column) in the 'Categories' or Post Tags table
@@ -483,21 +562,28 @@ class Polylang_Admin_Filters extends Polylang_Base {
483
 
484
  // link to edit term (or a translation)
485
  if ($id = $this->get_term($term_id, $language))
486
- printf('<a title="%1$s" href="%2$s"><img src="%3$s"></a>',
487
  esc_attr(get_term($id, $taxonomy)->name),
488
- esc_url(get_edit_term_link($id, $taxonomy, $post_type)),
489
- esc_url(POLYLANG_URL.'/img/edit.png')
490
  );
491
 
492
  // link to add a new translation
493
  else
494
- printf('<a title="%1$s" href="%2$s"><img src="%3$s"></a>',
495
  __('Add new translation', 'polylang'),
496
- esc_url(admin_url(sprintf('edit-tags.php?taxonomy=%1$s&from_tag=%2$d&new_lang=%3$s', $taxonomy, $term_id, $language->slug))),
497
- esc_url(POLYLANG_URL.'/img/add.png')
498
  );
499
  }
500
 
 
 
 
 
 
 
 
 
 
501
  // called when a category or post tag is created or edited
502
  function save_term($term_id, $tt_id, $taxonomy) {
503
  // does nothing except on taxonomies which have show_ui set to 1 (includes category and post_tags)
@@ -516,11 +602,12 @@ class Polylang_Admin_Filters extends Polylang_Base {
516
  if (!isset($_POST['term_tr_lang']))
517
  return;
518
 
519
- foreach ($_POST['term_tr_lang'] as $key=>$tr_id)
520
- $translations[$key] = (int) $tr_id;
 
521
 
522
  $this->save_translations('term', $term_id, $translations);
523
-
524
  // synchronize translations of this term in all posts
525
 
526
  // get all posts associated to this term
@@ -539,12 +626,27 @@ class Polylang_Admin_Filters extends Polylang_Base {
539
  // associate translated term to translated post
540
  foreach ($this->get_languages_list() as $language) {
541
  if ($translated_term = $this->get_term($term_id, $language)) {
542
- foreach ($posts as $post_id) {
543
  if ($translated_post = $this->get_post($post_id, $language))
544
  wp_set_object_terms($translated_post, $translated_term, $taxonomy, true);
545
  }
546
  }
547
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
548
  }
549
 
550
  // called when a category or post tag is deleted
@@ -567,16 +669,35 @@ class Polylang_Admin_Filters extends Polylang_Base {
567
  // ajax response for edit term form
568
  function term_lang_choice()
569
  {
570
- if ($_POST['lang']) {
571
- $lang = $this->get_language($_POST['lang']);
572
- $term_id = isset($_POST['term_id']) ? $_POST['term_id'] : null;
573
- $taxonomy = $_POST['taxonomy'];
574
 
575
- $listlanguages = $this->get_languages_list();
576
 
 
 
577
  include(PLL_INC.'/term-translations.php');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
578
  }
579
- die();
 
580
  }
581
 
582
  // modifies the theme location nav menu metabox
@@ -599,22 +720,13 @@ class Polylang_Admin_Filters extends Polylang_Base {
599
  // modifies the widgets forms to add our language dropdwown list
600
  function in_widget_form($widget) {
601
  $widget_lang = get_option('polylang_widgets');
 
602
 
603
- printf(
604
- '<p><label for="%1$s">%2$s<select name="%1$s" id="%1$s" class="tags-input"><option value="0">%3$s</option>',
605
- esc_attr($widget->id.'_lang_choice'),
606
  __('The widget is displayed for:', 'polylang'),
607
- __('All languages', 'polylang')
608
  );
609
- foreach ($this->get_languages_list() as $language) {
610
- printf(
611
- "<option value='%s'%s>%s</option>\n",
612
- esc_attr($language->slug),
613
- isset($widget_lang[$widget->id]) && $language->slug == $widget_lang[$widget->id] ? ' selected="selected"' : '',
614
- esc_html($language->name)
615
- );
616
- }
617
- echo '</select></label></p>';
618
  }
619
 
620
  // called when widget options are saved
@@ -630,6 +742,7 @@ class Polylang_Admin_Filters extends Polylang_Base {
630
  // get_current_user_id uses wp_get_current_user which may not be available the first time(s) get_locale is called
631
  if (function_exists('wp_get_current_user'))
632
  $loc = get_user_meta(get_current_user_id(), 'user_lang', 'true');
 
633
  return isset($loc) && $loc ? $loc : $locale;
634
  }
635
 
@@ -640,7 +753,11 @@ class Polylang_Admin_Filters extends Polylang_Base {
640
 
641
  // form for language user preference
642
  function personal_options($profileuser) {
643
- include(PLL_INC.'/personal-options.php');
 
 
 
 
644
  }
645
 
646
  // refresh rewrite rules if the 'page_on_front' option is modified
40
  // ajax response for changing the language in the post metabox
41
  add_action('wp_ajax_post_lang_choice', array(&$this,'post_lang_choice'));
42
 
43
+ add_action('wp_ajax_polylang-ajax-tag-search', array(&$this,'ajax_tag_search'));
44
+
45
  // filters the pages by language in the parent dropdown list in the page attributes metabox
46
  add_filter('page_attributes_dropdown_pages_args', array(&$this, 'page_attributes_dropdown_pages_args'), 10, 2);
47
 
69
  add_action('delete_'.$tax, array(&$this, 'delete_term'));
70
  }
71
 
72
+ // adds actions related to languages when creating or saving categories and post tags
73
+ add_filter('wp_dropdown_cats', array(&$this, 'wp_dropdown_cats'));
74
+ add_action('create_term', array(&$this, 'save_term'), 10, 3);
75
+ add_action('edit_term', array(&$this, 'save_term'), 10, 3);
76
 
77
  // ajax response for edit term form
78
  add_action('wp_ajax_term_lang_choice', array(&$this,'term_lang_choice'));
87
  // language management for users
88
  add_action('personal_options_update', array(&$this, 'personal_options_update'));
89
  add_action('personal_options', array(&$this, 'personal_options'));
90
+
91
+ // set text direction if the user set its own language
92
+ global $wpdb, $wp_locale;
93
+ $lang_id = $wpdb->get_var($wpdb->prepare("SELECT t.term_id FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy AS tt ON t.term_id = tt.term_id
94
+ WHERE tt.taxonomy = 'language' AND tt.description = %s LIMIT 1", get_locale())); // no function exists to get term by description
95
+ if ($lang_id)
96
+ $wp_locale->text_direction = get_metadata('term', $lang_id, '_rtl', true) ? 'rtl' : 'ltr';
97
  }
98
 
99
  // setup js scripts & css styles
100
  function admin_enqueue_scripts() {
101
+ wp_enqueue_script('polylang_admin', POLYLANG_URL .'/js/admin.js', array('jquery', 'wp-ajax-response'));
102
  wp_enqueue_style('polylang_admin', POLYLANG_URL .'/css/admin.css');
103
+
104
  // style languages columns in edit and edit-tags
105
  foreach ($this->get_languages_list() as $language)
106
  $classes[] = '.column-language_'.esc_attr($language->slug);
136
 
137
  // link to edit post (or a translation)
138
  if ($id = $this->get_post($post_id, $language))
139
+ printf('<a class="pll_icon_edit" title="%1$s" href="%2$s"></a>', esc_attr(get_post($id)->post_title), esc_url(get_edit_post_link($id, true )));
 
 
 
 
140
 
141
  // link to add a new translation
142
  else
143
+ printf('<a class="pll_icon_add" title="%1$s" href="%2$s"></a>',
144
  __('Add new translation', 'polylang'),
145
+ esc_url(admin_url('post-new.php?post_type=' . $post_type . '&from_post=' . $post_id . '&new_lang=' . $language->slug))
 
146
  );
147
  }
148
 
192
  if (!isset($lang))
193
  $lang = $this->get_language($this->options['default_lang']);
194
 
195
+ // NOTE: the class "tags-input" allows to include the field in the autosave $_POST (see autosave.js)
196
+ printf("<p><em>%s</em></p>\n<p>%s<br /></p>\n<div id='post-translations'>",
197
+ $post_type == 'page' ? __('Page\'s language:', 'polylang') : __('Post\'s language:', 'polylang'),
198
+ $this->dropdown_languages(array('name' => 'post_lang_choice', 'class' => 'tags-input','selected' => $lang->slug, 'show_option_none' => PLL_DISPLAY_ALL))
199
+ );
200
+ include(PLL_INC.'/post-translations.php'); // allowing to determine the linked posts
201
+ echo "</div>\n";
202
 
 
203
  }
204
 
205
  // ajax response for changing the language in the post metabox
221
  // not set for pages
222
  foreach ($_POST['taxonomies'] as $taxname) {
223
  $taxonomy = get_taxonomy($taxname);
224
+
225
  ob_start();
226
  $popular_ids = wp_popular_terms_checklist($taxonomy->name);
227
  $supplemental['populars'] = ob_get_contents();
265
  $x->send();
266
  }
267
 
268
+ // replaces ajax tag search of WP to filter tags by language
269
+ function ajax_tag_search() {
270
+ global $wpdb;
271
+
272
+ if ( isset( $_GET['tax'] ) ) {
273
+ $taxonomy = sanitize_key( $_GET['tax'] );
274
+ $tax = get_taxonomy( $taxonomy );
275
+ if ( ! $tax )
276
+ die( '0' );
277
+ if ( ! current_user_can( $tax->cap->assign_terms ) )
278
+ die( '-1' );
279
+ } else {
280
+ die('0');
281
+ }
282
+
283
+ $s = stripslashes( $_GET['q'] );
284
+
285
+ if ( false !== strpos( $s, ',' ) ) {
286
+ $s = explode( ',', $s );
287
+ $s = $s[count( $s ) - 1];
288
+ }
289
+ $s = trim( $s );
290
+ if ( strlen( $s ) < 2 )
291
+ die; // require 2 chars for matching
292
+
293
+ $lang = $this->get_language($_GET['lang']);
294
+
295
+ $results = $wpdb->get_col( $wpdb->prepare(
296
+ "SELECT t.name FROM $wpdb->term_taxonomy AS tt
297
+ INNER JOIN $wpdb->terms AS t ON tt.term_id = t.term_id INNER JOIN $wpdb->termmeta AS tm ON tm.term_id = t.term_id
298
+ WHERE tt.taxonomy = %s AND t.name LIKE (%s) AND tm.meta_key = '_language' AND tm.meta_value = %d",
299
+ $taxonomy, '%' . like_escape( $s ) . '%', $lang->term_id ) );
300
+
301
+ echo join( $results, "\n" );
302
+ die;
303
+ }
304
+
305
+
306
  // filters the pages by language in the parent dropdown list in the page attributes metabox
307
  function page_attributes_dropdown_pages_args($dropdown_args, $post) {
308
  $lang = isset($_POST['lang']) ? $this->get_language($_POST['lang']) : $this->get_post_language($post->ID); // ajax or not ?
310
  $dropdown_args['exclude'] = isset($dropdown_args['exclude']) ? $dropdown_args['exclude'].','.$pages : $pages;
311
  return $dropdown_args;
312
  }
313
+
314
  // translate post parent if exists when using "Add new" (translation)
315
  function wp_insert_post_parent($post_parent, $post_ID, $keys, $postarr) {
316
  if (isset($_GET['from_post']) && isset($_GET['new_lang']) && $id = wp_get_post_parent_id($_GET['from_post']))
363
  $newterms[] = (int) $id; // cast is important otherwise we get 'numeric' tags
364
  }
365
  }
366
+ if (!empty($newterms))
367
  wp_set_object_terms($post_id, $newterms, $tax);
368
  }
369
 
378
  if (!isset($_POST['post_lang_choice']))
379
  return;
380
 
381
+ // save translations after checking the translated post is in the right language
382
+ foreach ($_POST['post_tr_lang'] as $lang=>$tr_id)
383
+ $translations[$lang] = $this->get_post_language((int) $tr_id)->slug == $lang ? (int) $tr_id : 0;
384
+
385
+ $this->save_translations('post', $post_id, $translations);
386
 
387
  // synchronise terms and metas in translations
388
+ foreach ($translations as $lang=>$tr_id) {
389
  if (!$tr_id)
390
  continue;
391
 
392
+ // translatable terms
393
  foreach (get_taxonomies(array('show_ui'=>true)) as $tax) {
394
  $newterms = array();
395
  $terms = get_the_terms($post_id, $tax);
406
  if (!$this->get_translation('term', $term->term_id, $_POST['post_lang_choice']))
407
  $newterms[] = (int) $term->term_id;
408
  }
409
+ }
410
  wp_set_object_terms($tr_id, $newterms, $tax); // replace terms in translation
411
  }
412
 
413
+ // synchronize post formats
414
+ ($format = get_post_format($post_id)) ? set_post_format($tr_id, $format) : set_post_format($tr_id, '');
415
+
416
  // synchronize metas and allow plugins to do the same
417
  $metas = apply_filters('pll_copy_metas', array('_wp_page_template', '_thumbnail_id'));
418
  foreach ($metas as $meta) {
425
  // post parent
426
  if ($parent_id = wp_get_post_parent_id($post_id));
427
  $post_parent = $this->get_translation('post', $parent_id, $lang);
428
+
429
  global $wpdb;
430
  $wpdb->update($wpdb->posts, array('post_parent'=> isset($post_parent) ? $post_parent : 0), array( 'ID' => $tr_id ));
431
  }
452
 
453
  // does nothing in the Categories, Post tags, Languages and Posts* admin panels
454
  // I test $_POST['action'] for ajax since $screen not defined in this case
455
+ // $args['class'] allows to detect the parent dropdown list in edit-tags
456
  // FIXME Can I improve the way I do that ?
457
+ if (!isset($_POST['action']) &&
458
+ (!isset($screen) || ($screen->base == 'edit-tags' && !isset($args['class'])) || $screen->base == 'toplevel_page_mlang' || $screen->base == 'edit'))
459
  return $clauses;
460
 
461
  // *FIXME I want all categories in the dropdown list and only the ones in the right language in the inline edit
462
  // It seems that I need javascript to get the post_id as inline edit data are manipulated in inline-edit-post.js
463
 
464
  // The only ajax response I want to deal with is when changing the language in post metabox
465
+ if (isset($_POST['action']) && $_POST['action'] != 'post_lang_choice' && $_POST['action'] != 'term_lang_choice' && $_POST['action'] != 'get-tagcloud')
466
  return $clauses;
467
 
468
+ // I only want to filter the parent dropdown list when editing a term in a hierarchical taxonomy
469
+ if (isset($_POST['action']) && $_POST['action'] == 'term_lang_choice' && !isset($args['class']))
470
+ return $clauses;
471
+
472
  global $post_ID;
473
 
474
+ // ajax response for changing the language in the post metabox (or in the edit-tags panels)
475
  if (isset($_POST['lang']))
476
  $lang = $this->get_language($_POST['lang']);
477
 
482
  elseif (isset($_GET['post']))
483
  $lang = $this->get_post_language($_GET['post']);
484
 
485
+ // for the parent dropdown list in edit term
486
+ elseif (isset($_GET['tag_ID']))
487
+ $lang = $this->get_term_language($_GET['tag_ID']);
488
+
489
  // when a new category is created in the edit post panel
490
  elseif (isset($_POST['term_lang_choice']))
491
  $lang = $this->get_language($_POST['term_lang_choice']);
492
 
493
+ // for a new post (or the parent dropdown list of a new term)
494
+ elseif (($screen->base == 'post' || $screen->base == 'edit-tags') && !PLL_DISPLAY_ALL)
495
  $lang = $this->get_language($this->options['default_lang']);
496
 
497
  // adds our clauses to filter by current language
507
  else
508
  $lang = $this->get_language($this->options['default_lang']);
509
 
510
+ printf("<div class='form-field'><label for='term_lang_choice'>%s</label>\n%s<p>%s</p>\n</div>",
511
+ __('Language', 'polylang'),
512
+ $this->dropdown_languages(array('name' => 'term_lang_choice', 'value' => 'term_id', 'selected' => $lang->term_id, 'show_option_none' => PLL_DISPLAY_ALL)),
513
+ __('Sets the language', 'polylang')
514
+ );
515
 
516
+ // adds translation fields
517
+ echo "<div id='term-translations' class='form-field'>";
518
+ include(PLL_INC.'/term-translations.php');
519
+ echo "</div>\n";
520
  }
521
 
522
  // adds the language field and translations tables in the 'Edit Category' and 'Edit Tag' panels
524
  $term_id = $tag->term_id;
525
  $lang = $this->get_term_language($term_id);
526
  $taxonomy = $tag->taxonomy;
 
527
 
528
+ printf("<tr class='form-field'><th scope='row' valign='top'><label for='term_lang_choice'>%s</label></th>", __('Language', 'polylang'));
529
+ printf("<td>%s<br /><span class='description'>%s</span></td></tr>",
530
+ $this->dropdown_languages(array('name' => 'term_lang_choice', 'value' => 'term_id', 'selected' => $lang->term_id, 'show_option_none' => PLL_DISPLAY_ALL)),
531
+ __('Sets the language', 'polylang')
532
+ );
533
+
534
+ // do not display translation fields if the term language is not set (possible if PLL_DISPLAY_ALL == true)
535
+ echo "<tr id='term-translations' class='form-field'>";
536
+ if ($lang)
537
+ include(PLL_INC.'/term-translations.php');
538
+ echo "</tr>\n";
539
  }
540
 
541
  // adds the language column (before the posts column) in the 'Categories' or Post Tags table
562
 
563
  // link to edit term (or a translation)
564
  if ($id = $this->get_term($term_id, $language))
565
+ printf('<a class="pll_icon_edit" title="%1$s" href="%2$s"></a>',
566
  esc_attr(get_term($id, $taxonomy)->name),
567
+ esc_url(get_edit_term_link($id, $taxonomy, $post_type))
 
568
  );
569
 
570
  // link to add a new translation
571
  else
572
+ printf('<a class="pll_icon_add" title="%1$s" href="%2$s"></a>',
573
  __('Add new translation', 'polylang'),
574
+ esc_url(admin_url(sprintf('edit-tags.php?taxonomy=%1$s&from_tag=%2$d&new_lang=%3$s', $taxonomy, $term_id, $language->slug)))
 
575
  );
576
  }
577
 
578
+ // translate term parent if exists when using "Add new" (translation)
579
+ function wp_dropdown_cats($output) {
580
+ if (isset($_GET['taxonomy']) && isset($_GET['from_tag']) && isset($_GET['new_lang']) && $id = get_term($_GET['from_tag'], $_GET['taxonomy'])->parent ) {
581
+ if ($parent = $this->get_translation('term', $id, $_GET['new_lang']))
582
+ return str_replace('"'.$parent.'"', '"'.$parent.'" selected="selected"', $output);
583
+ }
584
+ return $output;
585
+ }
586
+
587
  // called when a category or post tag is created or edited
588
  function save_term($term_id, $tt_id, $taxonomy) {
589
  // does nothing except on taxonomies which have show_ui set to 1 (includes category and post_tags)
602
  if (!isset($_POST['term_tr_lang']))
603
  return;
604
 
605
+ // save translations after checking the translated term is in the right language (as well as cast id to int)
606
+ foreach ($_POST['term_tr_lang'] as $lang=>$tr_id)
607
+ $translations[$lang] = $this->get_term_language((int) $tr_id)->slug == $lang ? (int) $tr_id : 0;
608
 
609
  $this->save_translations('term', $term_id, $translations);
610
+
611
  // synchronize translations of this term in all posts
612
 
613
  // get all posts associated to this term
626
  // associate translated term to translated post
627
  foreach ($this->get_languages_list() as $language) {
628
  if ($translated_term = $this->get_term($term_id, $language)) {
629
+ foreach ($posts as $post_id) {
630
  if ($translated_post = $this->get_post($post_id, $language))
631
  wp_set_object_terms($translated_post, $translated_term, $taxonomy, true);
632
  }
633
  }
634
  }
635
+
636
+ // synchronize parent in translations
637
+ // calling clean_term_cache *after* this is mandatory otherwise the $taxonomy_children option is not correctly updated
638
+ // but clean_term_cache can be called (efficiently) only one time due to static array which prevents to update the option more than once
639
+ // this is the reason to use the edit_term filter and not edited_term
640
+ // take care that $_POST contains the only valid values for the current term
641
+ foreach ($_POST['term_tr_lang'] as $lang=>$tr_id) {
642
+ if (isset($_POST['parent']) && $_POST['parent'] != -1) // since WP 3.1
643
+ $term_parent = $this->get_translation('term', $_POST['parent'], $lang);
644
+
645
+ global $wpdb;
646
+ $wpdb->update($wpdb->term_taxonomy,
647
+ array('parent'=> isset($term_parent) ? $term_parent : 0),
648
+ array('term_taxonomy_id' => get_term($tr_id, $taxonomy)->term_taxonomy_id));
649
+ }
650
  }
651
 
652
  // called when a category or post tag is deleted
669
  // ajax response for edit term form
670
  function term_lang_choice()
671
  {
672
+ $lang = $this->get_language($_POST['lang']);
673
+ $term_id = isset($_POST['term_id']) ? $_POST['term_id'] : null;
674
+ $taxonomy = $_POST['taxonomy'];
 
675
 
676
+ $listlanguages = $this->get_languages_list();
677
 
678
+ ob_start();
679
+ if ($lang && !is_wp_error($lang))
680
  include(PLL_INC.'/term-translations.php');
681
+ $x = new WP_Ajax_Response(array('what' => 'translations', 'data' => ob_get_contents()));
682
+ ob_end_clean();
683
+
684
+ // parent dropdown list (only for hierarchical taxonomies)
685
+ // $args copied from edit_tags.php except echo
686
+ if (is_taxonomy_hierarchical($taxonomy)) {
687
+ $args = array(
688
+ 'hide_empty' => 0,
689
+ 'hide_if_empty' => false,
690
+ 'taxonomy' => $taxonomy,
691
+ 'name' => 'parent',
692
+ 'orderby' => 'name',
693
+ 'hierarchical' => true,
694
+ 'show_option_none' => __('None'),
695
+ 'echo' => 0,
696
+ );
697
+ $x->Add(array('what' => 'parent', 'data' => wp_dropdown_categories($args)));
698
  }
699
+
700
+ $x->send();
701
  }
702
 
703
  // modifies the theme location nav menu metabox
720
  // modifies the widgets forms to add our language dropdwown list
721
  function in_widget_form($widget) {
722
  $widget_lang = get_option('polylang_widgets');
723
+ $selected = isset($widget_lang[$widget->id]) ? $widget_lang[$widget->id] : '';
724
 
725
+ printf('<p><label for="%1$s">%2$s%3$s</label></p>',
726
+ esc_attr( $widget->id.'_lang_choice'),
 
727
  __('The widget is displayed for:', 'polylang'),
728
+ $this->dropdown_languages(array('name' => $widget->id.'_lang_choice', 'class' => 'tags-input', 'show_option_all' => 1, 'selected' => $selected ))
729
  );
 
 
 
 
 
 
 
 
 
730
  }
731
 
732
  // called when widget options are saved
742
  // get_current_user_id uses wp_get_current_user which may not be available the first time(s) get_locale is called
743
  if (function_exists('wp_get_current_user'))
744
  $loc = get_user_meta(get_current_user_id(), 'user_lang', 'true');
745
+
746
  return isset($loc) && $loc ? $loc : $locale;
747
  }
748
 
753
 
754
  // form for language user preference
755
  function personal_options($profileuser) {
756
+ $selected = get_user_meta($profileuser->ID, 'user_lang', true);
757
+ printf("<tr><th><label for='user_lang'>%s</label></th><td>%s</td></tr>",
758
+ __('Admin language', 'polylang'),
759
+ $this->dropdown_languages(array('name' => 'user_lang', 'value' => 'description','selected' => $selected , 'show_option_none' => 1))
760
+ );
761
  }
762
 
763
  // refresh rewrite rules if the 'page_on_front' option is modified
include/admin.php CHANGED
@@ -61,7 +61,6 @@ class Polylang_Admin extends Polylang_Base {
61
  function languages_page() {
62
  global $wp_rewrite;
63
  $options = get_option('polylang');
64
- // $listlanguages = $this->get_languages_list();
65
 
66
  // for nav menus form
67
  $locations = get_registered_nav_menus();
@@ -79,7 +78,8 @@ class Polylang_Admin extends Polylang_Base {
79
  $error = $this->validate_lang();
80
 
81
  if ($error == 0) {
82
- wp_insert_term($_POST['name'],'language',array('slug'=>$_POST['slug'], 'description'=>$_POST['description'], 'term_group'=>$_POST['term_group']));
 
83
 
84
  if (!isset($options['default_lang'])) { // if this is the first language created, set it as default language
85
  $options['default_lang'] = $_POST['slug'];
@@ -112,7 +112,7 @@ class Polylang_Admin extends Polylang_Base {
112
  $terms= get_terms(get_taxonomies(array('show_ui'=>true)), array('get'=>'all', 'fields'=>'ids'));
113
  $this->delete_translations('term', $terms, $lang_slug);
114
 
115
- // FIXME should find something more efficient (with a sql query ?)
116
  foreach ($terms as $id) {
117
  if ($this->get_term_language($id)->term_id == $lang_id)
118
  $this->delete_term_language($id); // delete language of this term
@@ -134,10 +134,11 @@ class Polylang_Admin extends Polylang_Base {
134
  delete_option('polylang_mo'.$lang_id);
135
 
136
  // delete the language itself
 
137
  wp_delete_term($lang_id, 'language');
138
 
139
  // oops ! we deleted the default language...
140
- if ($options['default_lang'] == $lang_slug) {
141
  if ($listlanguages = $this->get_languages_list())
142
  $options['default_lang'] = $listlanguages[0]->slug; // arbitrary choice...
143
  else
@@ -152,8 +153,10 @@ class Polylang_Admin extends Polylang_Base {
152
  break;
153
 
154
  case 'edit':
155
- if (isset($_GET['lang']) && $_GET['lang'])
156
  $edit_lang = $this->get_language((int) $_GET['lang']);
 
 
157
  break;
158
 
159
  case 'update':
@@ -195,12 +198,14 @@ class Polylang_Admin extends Polylang_Base {
195
  if ($options['default_lang'] == $old_slug) {
196
  $options['default_lang'] = $_POST['slug'];
197
  update_option('polylang', $options);
198
- }
199
  }
200
 
201
  // and finally update the language itself
202
  $args = array('name'=>$_POST['name'], 'slug'=>$_POST['slug'], 'description'=>$_POST['description'], 'term_group'=>$_POST['term_group']);
203
  wp_update_term($lang_id, 'language', $args);
 
 
204
  $wp_rewrite->flush_rules(); // refresh rewrite rules
205
  }
206
 
@@ -212,8 +217,8 @@ class Polylang_Admin extends Polylang_Base {
212
  check_admin_referer( 'nav-menus-lang', '_wpnonce_nav-menus-lang' );
213
 
214
  $menu_lang = $_POST['menu-lang'];
215
- foreach ($locations as $location => $description)
216
- foreach (array('switcher', 'show_names', 'show_flags', 'force_home') as $key)
217
  $menu_lang[$location][$key] = isset($menu_lang[$location][$key]) ? 1 : 0;
218
 
219
  update_option('polylang_nav_menus', $menu_lang);
@@ -240,7 +245,7 @@ class Polylang_Admin extends Polylang_Base {
240
  require_once(PLL_INC . '/mo.php');
241
  update_option('polylang_mo'.$language->term_id, base64_encode(pll_mo_export($mo)));
242
  }
243
- else
244
  update_option('polylang_mo'.$language->term_id, base64_encode($mo->export())); // MO::export since WP 3.3
245
  }
246
 
@@ -256,6 +261,7 @@ class Polylang_Admin extends Polylang_Base {
256
  $options['browser'] = isset($_POST['browser']) ? 1 : 0;
257
  $options['rewrite'] = $_POST['rewrite'];
258
  $options['hide_default'] = isset($_POST['hide_default']) ? 1 : 0;
 
259
  update_option('polylang', $options);
260
 
261
  // refresh refresh permalink structure and rewrite rules in case rewrite or hide_default options have been modified
@@ -290,7 +296,7 @@ class Polylang_Admin extends Polylang_Base {
290
  $tabs['menus'] = __('Menus','polylang'); // don't display the menu tab if the active theme does not support nav menus
291
 
292
  $tabs += array('strings' => __('Strings translation','polylang'), 'settings' => __('Settings', 'polylang'));
293
- }
294
 
295
  $active_tab = isset($_GET['tab']) && $_GET['tab'] ? $_GET['tab'] : 'lang';
296
 
@@ -304,6 +310,8 @@ class Polylang_Admin extends Polylang_Base {
304
  $list_table = new Polylang_List_Table();
305
  $list_table->prepare_items($data);
306
 
 
 
307
  // error messages for data validation
308
  $errors[1] = __('Enter a valid WorPress locale', 'polylang');
309
  $errors[2] = __('The language code must be 2 characters long', 'polylang');
@@ -313,19 +321,11 @@ class Polylang_Admin extends Polylang_Base {
313
  break;
314
 
315
  case 'menus':
316
- // prepare the list of options for the language switcher
317
- // FIXME do not include the dropdown yet as I need to create a better script (only available for the widget now)
318
- $menu_options = array(
319
- 'switcher' => __('Displays a language switcher at the end of the menu', 'polylang'),
320
- 'show_names' => __('Displays language names', 'polylang'),
321
- 'show_flags' => __('Displays flags', 'polylang'),
322
- 'force_home' => __('Forces link to front page', 'polylang')
323
- );
324
-
325
  // default values
326
- foreach ($locations as $key=>$location)
327
- $menu_lang[$key] = wp_parse_args($menu_lang[$key], array('switcher'=> 0, 'show_names'=>1, 'show_flags'=>0, 'force_home'=>0));
328
-
 
329
  break;
330
 
331
  case 'strings':
@@ -399,8 +399,8 @@ class Polylang_Admin extends Polylang_Base {
399
  // validate name
400
  if ($_POST['name'] == '')
401
  $error = 4;
402
-
403
- return isset($error) ? $error : 0;
404
  }
405
 
406
  // downloads mofiles
@@ -420,7 +420,7 @@ class Polylang_Admin extends Polylang_Base {
420
 
421
  // will first look in tags/ (most languages) then in branches/ (only Greek ?)
422
  $base = 'http://svn.automattic.com/wordpress-i18n/'.$locale;
423
- $bases = array($base.'/tags/', $base.'/branches/');
424
 
425
  foreach ($bases as $base) {
426
  // get all the versions available in the subdirectory
@@ -432,7 +432,7 @@ class Polylang_Admin extends Polylang_Base {
432
  if (empty($matches[1]))
433
  continue;
434
 
435
- rsort($matches[1]);
436
  $versions = $matches[1];
437
 
438
  $newest = $upgrade ? $upgrade : $wp_version;
@@ -444,18 +444,24 @@ class Polylang_Admin extends Polylang_Base {
444
  if ($upgrade && version_compare($version, $wp_version, '<='))
445
  unset($versions[$key]);
446
  }
447
-
448
  $versions = array_splice($versions, 0, 5); // reduce the number of versions to test to 5
 
449
 
450
  // try to download the file
451
  foreach ($versions as $version) {
452
- $resp = wp_remote_get($base."$version/messages/$locale.mo", array('timeout' => 30, 'stream' => true, 'filename' => $mofile));
453
  if (is_wp_error($resp) || 200 != $resp['response']['code'])
454
  continue;
455
 
456
  // try to download ms and continents-cities files if exist (will not return false if failed)
457
  foreach (array("ms-$locale.mo", "continent-cities-$locale.mo") as $file)
458
- wp_remote_get($base."$version/messages/$file", array('timeout' => 30, 'stream' => true, 'filename' => WP_LANG_DIR."/$file"));
 
 
 
 
 
459
 
460
  return true;
461
  }
@@ -470,7 +476,22 @@ class Polylang_Admin extends Polylang_Base {
470
  foreach ($this->get_languages_list() as $language)
471
  $this->download_mo($language->description, $version);
472
  }
473
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
474
  function &get_strings() {
475
  global $wp_registered_widgets;
476
 
@@ -481,7 +502,7 @@ class Polylang_Admin extends Polylang_Base {
481
  // widgets titles
482
  $sidebars = wp_get_sidebars_widgets();
483
  foreach ($sidebars as $sidebar => $widgets) {
484
- if ($sidebar == 'wp_inactive_widgets')
485
  continue;
486
 
487
  foreach ($widgets as $widget) {
@@ -495,7 +516,7 @@ class Polylang_Admin extends Polylang_Base {
495
  $number = $wp_registered_widgets[$widget]['params'][0]['number'];
496
  $title = $widget_settings[$number]['title'];
497
  if(isset($title) && $title)
498
- $this->register_string(__('Widget title'), $title);
499
  }
500
  }
501
  return $this->strings;
61
  function languages_page() {
62
  global $wp_rewrite;
63
  $options = get_option('polylang');
 
64
 
65
  // for nav menus form
66
  $locations = get_registered_nav_menus();
78
  $error = $this->validate_lang();
79
 
80
  if ($error == 0) {
81
+ $r = wp_insert_term($_POST['name'],'language',array('slug'=>$_POST['slug'], 'description'=>$_POST['description'], 'term_group'=>$_POST['term_group']));
82
+ update_metadata('term', $r['term_id'], '_rtl', $_POST['rtl']);
83
 
84
  if (!isset($options['default_lang'])) { // if this is the first language created, set it as default language
85
  $options['default_lang'] = $_POST['slug'];
112
  $terms= get_terms(get_taxonomies(array('show_ui'=>true)), array('get'=>'all', 'fields'=>'ids'));
113
  $this->delete_translations('term', $terms, $lang_slug);
114
 
115
+ // FIXME should find something more efficient (with a sql query ?)
116
  foreach ($terms as $id) {
117
  if ($this->get_term_language($id)->term_id == $lang_id)
118
  $this->delete_term_language($id); // delete language of this term
134
  delete_option('polylang_mo'.$lang_id);
135
 
136
  // delete the language itself
137
+ delete_metadata('term', $lang_id, '_rtl');
138
  wp_delete_term($lang_id, 'language');
139
 
140
  // oops ! we deleted the default language...
141
+ if ($options['default_lang'] == $lang_slug) {
142
  if ($listlanguages = $this->get_languages_list())
143
  $options['default_lang'] = $listlanguages[0]->slug; // arbitrary choice...
144
  else
153
  break;
154
 
155
  case 'edit':
156
+ if (isset($_GET['lang']) && $_GET['lang']) {
157
  $edit_lang = $this->get_language((int) $_GET['lang']);
158
+ $rtl = get_metadata('term', $edit_lang->term_id, '_rtl', true);
159
+ }
160
  break;
161
 
162
  case 'update':
198
  if ($options['default_lang'] == $old_slug) {
199
  $options['default_lang'] = $_POST['slug'];
200
  update_option('polylang', $options);
201
+ }
202
  }
203
 
204
  // and finally update the language itself
205
  $args = array('name'=>$_POST['name'], 'slug'=>$_POST['slug'], 'description'=>$_POST['description'], 'term_group'=>$_POST['term_group']);
206
  wp_update_term($lang_id, 'language', $args);
207
+ update_metadata('term', $lang_id, '_rtl', $_POST['rtl']);
208
+
209
  $wp_rewrite->flush_rules(); // refresh rewrite rules
210
  }
211
 
217
  check_admin_referer( 'nav-menus-lang', '_wpnonce_nav-menus-lang' );
218
 
219
  $menu_lang = $_POST['menu-lang'];
220
+ foreach ($locations as $location => $description)
221
+ foreach ($this->get_switcher_options('menu') as $key => $str)
222
  $menu_lang[$location][$key] = isset($menu_lang[$location][$key]) ? 1 : 0;
223
 
224
  update_option('polylang_nav_menus', $menu_lang);
245
  require_once(PLL_INC . '/mo.php');
246
  update_option('polylang_mo'.$language->term_id, base64_encode(pll_mo_export($mo)));
247
  }
248
+ else
249
  update_option('polylang_mo'.$language->term_id, base64_encode($mo->export())); // MO::export since WP 3.3
250
  }
251
 
261
  $options['browser'] = isset($_POST['browser']) ? 1 : 0;
262
  $options['rewrite'] = $_POST['rewrite'];
263
  $options['hide_default'] = isset($_POST['hide_default']) ? 1 : 0;
264
+ $options['force_lang'] = isset($_POST['force_lang']) ? 1 : 0;
265
  update_option('polylang', $options);
266
 
267
  // refresh refresh permalink structure and rewrite rules in case rewrite or hide_default options have been modified
296
  $tabs['menus'] = __('Menus','polylang'); // don't display the menu tab if the active theme does not support nav menus
297
 
298
  $tabs += array('strings' => __('Strings translation','polylang'), 'settings' => __('Settings', 'polylang'));
299
+ }
300
 
301
  $active_tab = isset($_GET['tab']) && $_GET['tab'] ? $_GET['tab'] : 'lang';
302
 
310
  $list_table = new Polylang_List_Table();
311
  $list_table->prepare_items($data);
312
 
313
+ $rtl = 0;
314
+
315
  // error messages for data validation
316
  $errors[1] = __('Enter a valid WorPress locale', 'polylang');
317
  $errors[2] = __('The language code must be 2 characters long', 'polylang');
321
  break;
322
 
323
  case 'menus':
 
 
 
 
 
 
 
 
 
324
  // default values
325
+ foreach ($locations as $key=>$location) {
326
+ if (isset($menu_lang[$key]))
327
+ $menu_lang[$key] = wp_parse_args($menu_lang[$key], $this->get_switcher_options('menu', 'default'));
328
+ }
329
  break;
330
 
331
  case 'strings':
399
  // validate name
400
  if ($_POST['name'] == '')
401
  $error = 4;
402
+
403
+ return isset($error) ? $error : 0;
404
  }
405
 
406
  // downloads mofiles
420
 
421
  // will first look in tags/ (most languages) then in branches/ (only Greek ?)
422
  $base = 'http://svn.automattic.com/wordpress-i18n/'.$locale;
423
+ $bases = array($base.'/tags/', $base.'/branches/');
424
 
425
  foreach ($bases as $base) {
426
  // get all the versions available in the subdirectory
432
  if (empty($matches[1]))
433
  continue;
434
 
435
+ rsort($matches[1]); // sort from newest to oldest
436
  $versions = $matches[1];
437
 
438
  $newest = $upgrade ? $upgrade : $wp_version;
444
  if ($upgrade && version_compare($version, $wp_version, '<='))
445
  unset($versions[$key]);
446
  }
447
+
448
  $versions = array_splice($versions, 0, 5); // reduce the number of versions to test to 5
449
+ $args = array('timeout' => 30, 'stream' => true);
450
 
451
  // try to download the file
452
  foreach ($versions as $version) {
453
+ $resp = wp_remote_get($base."$version/messages/$locale.mo", $args + array('filename' => $mofile));
454
  if (is_wp_error($resp) || 200 != $resp['response']['code'])
455
  continue;
456
 
457
  // try to download ms and continents-cities files if exist (will not return false if failed)
458
  foreach (array("ms-$locale.mo", "continent-cities-$locale.mo") as $file)
459
+ wp_remote_get($base."$version/messages/$file", $args + array('filename' => WP_LANG_DIR."/$file"));
460
+
461
+ // try to download theme files if exist (will not return false if failed)
462
+ // FIXME not updated when the theme is updated outside a core update
463
+ foreach (array("twentyten", "twentyeleven") as $theme)
464
+ wp_remote_get($base."$version/messages/$theme/$locale.mo", $args + array('filename' => get_theme_root()."/$theme/languages/$locale.mo"));
465
 
466
  return true;
467
  }
476
  foreach ($this->get_languages_list() as $language)
477
  $this->download_mo($language->description, $version);
478
  }
479
+
480
+ // returns options available for the language switcher (menu or widget)
481
+ // FIXME do not include the dropdown in menu yet since I need to work on js
482
+ function get_switcher_options($type = 'widget', $key ='string') {
483
+ $options = array (
484
+ 'show_names' => array('string' => __('Displays language names', 'polylang'), 'default' => 1),
485
+ 'show_flags' => array('string' => __('Displays flags', 'polylang'), 'default' => 0),
486
+ 'force_home' => array('string' => __('Forces link to front page', 'polylang'), 'default' => 0),
487
+ 'hide_current' => array('string' => __('Hides the current language', 'polylang'), 'default' => 0),
488
+ );
489
+ $menu_options = array('switcher' => array('string' => __('Displays a language switcher at the end of the menu', 'polylang'), 'default' => 0));
490
+ $widget_options = array('dropdown' => array('string' => __('Displays as dropdown', 'polylang'), 'default' => 0));
491
+ $options = ($type == 'menu') ? array_merge($menu_options, $options) : array_merge($options, $widget_options);
492
+ return array_map(create_function('$v', "return \$v['$key'];"), $options);
493
+ }
494
+
495
  function &get_strings() {
496
  global $wp_registered_widgets;
497
 
502
  // widgets titles
503
  $sidebars = wp_get_sidebars_widgets();
504
  foreach ($sidebars as $sidebar => $widgets) {
505
+ if ($sidebar == 'wp_inactive_widgets' || !isset($widgets))
506
  continue;
507
 
508
  foreach ($widgets as $widget) {
516
  $number = $wp_registered_widgets[$widget]['params'][0]['number'];
517
  $title = $widget_settings[$number]['title'];
518
  if(isset($title) && $title)
519
+ $this->register_string(__('Widget title', 'polylang'), $title);
520
  }
521
  }
522
  return $this->strings;
include/api.php CHANGED
@@ -7,14 +7,16 @@ function pll_the_languages($args = '') {
7
  }
8
 
9
  // among the post and its translations, returns the id of the post which is in the language represented by $slug
10
- function pll_get_post($post_id, $slug) {
11
  global $polylang;
 
12
  return isset($polylang) ? $polylang->get_post($post_id, $slug) : null;
13
  }
14
 
15
  // among the term and its translations, returns the id of the term which is in the language represented by $slug
16
- function pll_get_term($term_id, $slug) {
17
  global $polylang;
 
18
  return isset($polylang) ? $polylang->get_term($term_id, $slug) : null;
19
  }
20
 
7
  }
8
 
9
  // among the post and its translations, returns the id of the post which is in the language represented by $slug
10
+ function pll_get_post($post_id, $slug = '') {
11
  global $polylang;
12
+ $slug = $slug ? $slug : reset(explode('_', get_locale()));
13
  return isset($polylang) ? $polylang->get_post($post_id, $slug) : null;
14
  }
15
 
16
  // among the term and its translations, returns the id of the term which is in the language represented by $slug
17
+ function pll_get_term($term_id, $slug = '') {
18
  global $polylang;
19
+ $slug = $slug ? $slug : reset(explode('_', get_locale()));
20
  return isset($polylang) ? $polylang->get_term($term_id, $slug) : null;
21
  }
22
 
include/base.php CHANGED
@@ -22,6 +22,26 @@ abstract class Polylang_Base {
22
  return get_terms('language', array('hide_empty'=>$hide_empty, 'orderby'=>'term_group' ));
23
  }
24
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  // returns the language by its id or its slug
26
  // Note: it seems that a numeric value is better for performance (3.2.1)
27
  function get_language($value) {
@@ -130,15 +150,16 @@ abstract class Polylang_Base {
130
  file_exists(PLL_LOCAL_DIR.($file = '/'.$lang->description.'.jpg')) ))
131
  $url = PLL_LOCAL_URL.$file;
132
 
133
- return isset($url) ? '<img src="'.esc_url($url).'" alt="'.esc_attr($lang->name).'" />' : '';
 
134
  }
135
 
136
  // adds terms clauses to get_terms - used in both frontend and admin
137
  function _terms_clauses($clauses, $lang, $display_all = false) {
138
  global $wpdb;
139
  if (isset($lang) && !is_wp_error($lang)) {
140
- $clauses['join'] .= $wpdb->prepare(" LEFT JOIN $wpdb->termmeta AS tm ON t.term_id = tm.term_id");
141
- $where_lang = $wpdb->prepare("tm.meta_key = '_language' AND tm.meta_value = %d", $lang->term_id); // add terms in the right language
142
  $where_all = $wpdb->prepare("t.term_id NOT IN (SELECT term_id FROM $wpdb->termmeta WHERE meta_key IN ('_language'))"); // add terms with no language set
143
  $clauses['where'] .= $display_all ? " AND (($where_lang) OR ($where_all))" : " AND $where_lang";
144
  }
22
  return get_terms('language', array('hide_empty'=>$hide_empty, 'orderby'=>'term_group' ));
23
  }
24
 
25
+ // retrieves the dropdown list of the languages
26
+ function dropdown_languages($args) {
27
+ $defaults = array('name' => 'lang_choice', 'class' => '', 'show_option_none' => false, 'show_option_all' => false,
28
+ 'hide_empty' => false, 'value' => 'slug', 'selected' => '');
29
+ extract(wp_parse_args($args, $defaults));
30
+
31
+ $out = sprintf('<select name="%1$s" id="%1$s"%2$s>'."\n", esc_attr($name), $class ? ' class="'.esc_attr($class).'"' : '');
32
+ $out .= $show_option_none ? "<option value='0'></option>\n" : '';
33
+ $out .= $show_option_all ? "<option value='0'>".__('All languages', 'polylang')."</option>\n" : '';
34
+ foreach ($this->get_languages_list($hide_empty) as $language) {
35
+ $out .= sprintf("<option value='%s'%s>%s</option>\n",
36
+ esc_attr($language->$value),
37
+ $language->$value == $selected ? ' selected="selected"' : '',
38
+ esc_html($language->name)
39
+ );
40
+ }
41
+ $out .= "</select>\n";
42
+ return $out;
43
+ }
44
+
45
  // returns the language by its id or its slug
46
  // Note: it seems that a numeric value is better for performance (3.2.1)
47
  function get_language($value) {
150
  file_exists(PLL_LOCAL_DIR.($file = '/'.$lang->description.'.jpg')) ))
151
  $url = PLL_LOCAL_URL.$file;
152
 
153
+ $title = apply_filters('pll_flag_title', $lang->name, $lang->slug, $lang->description);
154
+ return isset($url) ? '<img src="'.esc_url($url).'" title="'.esc_attr($title).'" alt="'.esc_attr($lang->name).'" />' : '';
155
  }
156
 
157
  // adds terms clauses to get_terms - used in both frontend and admin
158
  function _terms_clauses($clauses, $lang, $display_all = false) {
159
  global $wpdb;
160
  if (isset($lang) && !is_wp_error($lang)) {
161
+ $clauses['join'] .= $wpdb->prepare(" LEFT JOIN $wpdb->termmeta AS pll_tm ON t.term_id = pll_tm.term_id");
162
+ $where_lang = $wpdb->prepare("pll_tm.meta_key = '_language' AND pll_tm.meta_value = %d", $lang->term_id); // add terms in the right language
163
  $where_all = $wpdb->prepare("t.term_id NOT IN (SELECT term_id FROM $wpdb->termmeta WHERE meta_key IN ('_language'))"); // add terms with no language set
164
  $clauses['where'] .= $display_all ? " AND (($where_lang) OR ($where_all))" : " AND $where_lang";
165
  }
include/core.php CHANGED
@@ -58,37 +58,37 @@ class Polylang_Core extends Polylang_base {
58
  // filters the comments according to the current language
59
  add_filter('comments_clauses', array(&$this, 'comments_clauses'), 10, 2);
60
 
61
- // rewrites feed links to filter them by language
62
- add_filter('feed_link', array(&$this, 'feed_link'), 10, 2);
63
-
64
- // rewrites archives links to filter them by language
65
- add_filter('getarchives_join', array(&$this, 'posts_join'));
66
- add_filter('getarchives_where', array(&$this, 'posts_where'));
67
 
68
  // rewrites author and date links to filter them by language
69
- add_filter('author_link', array(&$this, 'archive_link'));
70
- add_filter('year_link', array(&$this, 'archive_link'));
71
- add_filter('month_link', array(&$this, 'archive_link'));
72
- add_filter('day_link', array(&$this, 'archive_link'));
73
-
74
- // rewrites next and previous post links to filter them by language
75
- add_filter('get_previous_post_join', array(&$this, 'posts_join'));
76
- add_filter('get_next_post_join', array(&$this, 'posts_join'));
77
- add_filter('get_previous_post_where', array(&$this, 'posts_where'));
78
- add_filter('get_next_post_where', array(&$this, 'posts_where'));
79
-
80
- // filters the nav menus according to the current language
 
81
  add_filter('wp_nav_menu_args', array(&$this, 'wp_nav_menu_args'));
82
  add_filter('wp_nav_menu_items', array(&$this, 'wp_nav_menu_items'), 10, 2);
83
  add_filter('wp_nav_menu_objects', array(&$this, 'wp_nav_menu_objects'), 10, 2);
84
  add_filter('wp_page_menu', array(&$this, 'wp_page_menu'), 10, 2);
85
 
86
- // filters the widgets according to the current language
87
  add_filter('widget_display_callback', array(&$this, 'widget_display_callback'), 10, 3);
88
 
89
  // strings translation (must be applied before WordPress applies its default formatting filters)
90
  add_filter('widget_title', array(&$this, 'widget_title'), 1);
91
- add_filter('bloginfo', array(&$this,'bloginfo'), 1, 2);
 
92
 
93
  // loads front page template on translated front page
94
  add_filter('template_include', array(&$this, 'template_include'));
@@ -97,11 +97,11 @@ class Polylang_Core extends Polylang_base {
97
  add_filter('home_url', array(&$this, 'home_url'));
98
 
99
  // allows a new value for the 'show' parameter to display the homepage url according to the current language
100
- // FIXME Backward compatibily for versions < 0.5 -> replaced by a filter on home_url
101
  add_filter('bloginfo_url', array(&$this, 'bloginfo_url'), 10, 2);
102
 
103
  // Template tag: displays the language switcher
104
- // FIXME Backward compatibily for versions < 0.5 -> replaced by pll_the_languages
105
  add_action('the_languages', array(&$this, 'the_languages'));
106
  }
107
 
@@ -126,8 +126,8 @@ class Polylang_Core extends Polylang_base {
126
  // set default to 1 for any without q factor
127
  foreach ($accept_langs as $accept_lang => $val) {
128
  if ($val === '') $accept_langs[$accept_lang] = 1;
129
- }
130
- arsort($accept_langs, SORT_NUMERIC); // sort list based on value
131
  }
132
  }
133
 
@@ -148,6 +148,7 @@ class Polylang_Core extends Polylang_base {
148
 
149
  // returns the current language
150
  function get_current_language() {
 
151
  if($this->curlang)
152
  return $this->curlang;
153
 
@@ -158,7 +159,7 @@ class Polylang_Core extends Polylang_base {
158
  if ($var = get_query_var('lang'))
159
  $lang = $this->get_language($var);
160
 
161
- elseif (is_single() || is_page() && $var = get_queried_object_id())
162
  $lang = $this->get_post_language($var);
163
 
164
  else {
@@ -166,8 +167,7 @@ class Polylang_Core extends Polylang_base {
166
  if ($var = get_query_var(get_taxonomy($taxonomy)->query_var))
167
  $lang = $this->get_term_language($var, $taxonomy);
168
  }
169
- }
170
-
171
  return (isset($lang)) ? $lang : false;
172
  }
173
 
@@ -189,20 +189,20 @@ class Polylang_Core extends Polylang_base {
189
 
190
  // NOTE: I believe there are two ways for a plugin to force the WP language
191
  // as done by xili_language and here: load text domains and reinitialize wp_locale with the action 'wp'
192
- // as done by qtranslate: define the locale with the action 'plugins_loaded', but in this case, the language must be specified in the url.
193
- function load_textdomains() {
194
  // sets the current language
195
  if (!($this->curlang = $this->get_current_language()))
196
  return; // something went wrong
197
 
198
  // set a cookie to remember the language and then set all our language filters and actions
199
  setcookie('wordpress_polylang', $this->curlang->slug, time() + 31536000 /* 1 year */, COOKIEPATH, COOKIE_DOMAIN);
200
- $this->add_language_filters();
201
 
202
  // our override_load_textdomain filter has done its job. let's remove it before calling load_textdomain
203
  remove_filter('override_load_textdomain', array(&$this, 'mofile'));
204
 
205
- // now we can load text domains with the right language
206
  $new_locale = get_locale();
207
  foreach ($this->list_textdomains as $textdomain)
208
  load_textdomain( $textdomain['domain'], str_replace($this->default_locale, $new_locale, $textdomain['mo']));
@@ -212,16 +212,16 @@ class Polylang_Core extends Polylang_base {
212
  $mo = new MO();
213
  $reader = new POMO_StringReader(base64_decode(get_option('polylang_mo'.$this->curlang->term_id)));
214
  $mo->import_from_reader($reader);
215
- $l10n['pll_string'] = &$mo;
216
 
217
- // reinitializes wp_locale for weekdays and months
218
  global $wp_locale;
219
  $wp_locale->init();
 
220
  }
221
 
222
  // filters posts according to the language
223
  function pre_get_posts($query) {
224
- global $wp_rewrite;
225
  $qvars = $query->query_vars;
226
 
227
  // detect our exclude pages query and returns to avoid conflicts
@@ -253,11 +253,12 @@ class Polylang_Core extends Polylang_base {
253
 
254
  wp_redirect($url);
255
  exit;
256
- }
257
  }
258
 
259
  // sets is_home on translated home page when it displays posts
260
- if (!$this->page_on_front && $query->is_tax && count($query->query) == 1) {
 
261
  $query->is_home = true;
262
  $query->is_tax = false;
263
  }
@@ -286,10 +287,11 @@ class Polylang_Core extends Polylang_base {
286
  // sets the language in case we hide the default language
287
  if ($this->options['hide_default'] && !isset($qvars['lang']) && (
288
  (count($query->query) == 1 && isset($qvars['paged']) && $qvars['paged']) ||
289
- isset($qvars['m']) && $qvars['m'] ||
290
- isset($qvars['feed']) && $qvars['feed'] ||
291
- isset($qvars['author']) && $qvars['author']))
292
- $query->set('lang', $this->options['default_lang']);
 
293
 
294
  // allow filtering recent posts by the current language
295
  // take care not to break queries for non visible post types such as nav_menu_items, attachments...
@@ -303,7 +305,8 @@ class Polylang_Core extends Polylang_base {
303
 
304
  // unset the is_archive flag for language pages to prevent loading the archive template
305
  // keep archive flag for comment feed otherwise the language filter does not work
306
- if (isset($qvars['lang']) && $qvars['lang'] && !is_post_type_archive() && !is_date() && !is_author() && !is_category() && !is_tag() && !is_comment_feed())
 
307
  $query->is_archive = false;
308
 
309
  // unset the is_tax flag for authors pages
@@ -355,7 +358,7 @@ class Polylang_Core extends Polylang_base {
355
  foreach ($this->get_languages_list() as $language) {
356
  if ($language->slug != $this->curlang->slug && $url = $this->get_translation_url($language))
357
  printf("<link hreflang='%s' href='%s' rel='alternate' />\n", esc_attr($language->slug), esc_url($url));
358
- }
359
  }
360
 
361
  // prevents redirection of the homepage
@@ -409,43 +412,51 @@ class Polylang_Core extends Polylang_base {
409
  // first test if wp_posts.ID already available in the query
410
  if (strpos($clauses['join'], '.ID')) {
411
  global $wpdb;
412
- $clauses['join'] .= $wpdb->prepare(" INNER JOIN $wpdb->term_relationships AS tr ON tr.object_id = ID");
413
- $clauses['where'] .= $wpdb->prepare(" AND tr.term_taxonomy_id = %d", $this->curlang->term_taxonomy_id);
414
  }
415
  return $clauses;
416
  }
417
 
418
- // adds language information to a link when using pretty permalinks
419
- function add_language_to_link($url) {
420
- $base = $this->options['rewrite'] ? '/' : '/language/';
421
- $slug = $this->options['default_lang'] == $this->curlang->slug && $this->options['hide_default'] ? '' : $base.$this->curlang->slug;
422
- return esc_url(str_replace($this->home, $this->home.$slug, $url));
423
- }
424
-
425
- // Modifies the feed link to add the language parameter
426
- function feed_link($url, $feed) {
427
- global $wp_rewrite;
428
- return $wp_rewrite->using_permalinks() ? $this->add_language_to_link($url) : esc_url(home_url('?lang='.$this->curlang->slug.'&feed='.$feed));
429
- }
430
-
431
  // modifies the sql request for wp_get_archives an get_adjacent_post to filter by the current language
432
  function posts_join($sql) {
433
  global $wpdb;
434
- return $sql . $wpdb->prepare(" INNER JOIN $wpdb->term_relationships ON object_id = ID");
435
  }
436
 
437
  // modifies the sql request for wp_get_archives and get_adjacent_post to filter by the current language
438
  function posts_where($sql) {
439
  global $wpdb;
440
- return $sql . $wpdb->prepare(" AND term_taxonomy_id = %d", $this->curlang->term_taxonomy_id);
441
  }
442
 
443
- // modifies the author and date links to add the language parameter
444
- function archive_link($link) {
445
  global $wp_rewrite;
446
- return $wp_rewrite->using_permalinks() ?
447
- $this->add_language_to_link($link) :
448
- esc_url(str_replace($this->home.'/?', $this->home.'/?lang='.$this->curlang->slug.'&amp;', $link));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
449
  }
450
 
451
  // returns the url of the translation (if exists) of the current page
@@ -459,13 +470,14 @@ class Polylang_Core extends Polylang_base {
459
  $url = get_permalink($id);
460
 
461
  // page for posts
462
- elseif (get_option('show_on_front') == 'page' && isset($wp_query->queried_object_id) && $wp_query->queried_object_id == $this->page_for_posts)
463
- $url = get_permalink($this->get_post($this->page_for_posts, $language));
 
464
 
465
  elseif (is_page() && $id = $this->get_post($wp_query->queried_object_id, $language))
466
  $url = $hide && $id == $this->get_post($this->page_on_front, $language) ? $this->home : _get_page_link($id);
467
 
468
- elseif ( !is_tax('language') && (is_category() || is_tag() || is_tax ()) ) {
469
  $term = get_queried_object();
470
  $lang = $this->get_term_language($term->term_id);
471
  $taxonomy = $term->taxonomy;
@@ -477,7 +489,7 @@ class Polylang_Core extends Polylang_base {
477
  }
478
 
479
  // don't test if there are existing translations before creating the url as it would be very expensive in sql queries
480
- elseif(is_archive()) {
481
  if ($wp_rewrite->using_permalinks()) {
482
  $base = $this->options['rewrite'] ? '/' : '/language/';
483
  $base = $hide ? '' : $base.$language->slug;
@@ -494,6 +506,9 @@ class Polylang_Core extends Polylang_base {
494
 
495
  if (is_day())
496
  $url = esc_url($base.$qvars['year'].'/'.$qvars['monthnum'].'/'.$qvars['day'].'/');
 
 
 
497
  }
498
  else
499
  $url = $hide ? remove_query_arg('lang') : add_query_arg('lang', $language->slug);
@@ -505,18 +520,19 @@ class Polylang_Core extends Polylang_base {
505
  return isset($url) ? $url : null;
506
  }
507
 
508
- // filters the nav menus according to the current language
509
  function wp_nav_menu_args($args) {
510
  if (!$args['menu'] && $args['theme_location']) {
511
  $menu_lang = get_option('polylang_nav_menus');
512
- $args['menu'] = $menu_lang[$args['theme_location']][$this->curlang->slug];
 
513
  }
514
  return $args;
515
  }
516
 
517
- // filters the widgets according to the current language
518
  function widget_display_callback($instance, $widget, $args) {
519
- $widget_lang = get_option('polylang_widgets');
520
  // don't display if a language filter is set and this is not the current one
521
  return isset($widget_lang[$widget->id]) && $widget_lang[$widget->id] && $widget_lang[$widget->id] != $this->curlang->slug ? false : $instance;
522
  }
@@ -524,14 +540,8 @@ class Polylang_Core extends Polylang_base {
524
  // adds the language switcher at the end of the menu
525
  function wp_nav_menu_items($items, $args) {
526
  $menu_lang = get_option('polylang_nav_menus');
527
- return $menu_lang[$args->theme_location]['switcher'] ?
528
- $items . $this->the_languages(array(
529
- 'menu' => 1,
530
- 'show_names' => $menu_lang[$args->theme_location]['show_names'],
531
- 'show_flags' => $menu_lang[$args->theme_location]['show_flags'],
532
- 'force_home' => $menu_lang[$args->theme_location]['force_home'],
533
- 'echo' => 0)) :
534
- $items;
535
  }
536
 
537
  // corrects some issues on front page and post pages nav menus items
@@ -595,14 +605,9 @@ class Polylang_Core extends Polylang_base {
595
 
596
  // acts as is_front_page but knows about translated front page
597
  function is_front_page() {
598
- if ('posts' == get_option('show_on_front') && is_home())
599
- return true;
600
- elseif ('page' == get_option('show_on_front') && $this->page_on_front && is_page($this->get_post($this->page_on_front, $this->get_current_language())))
601
- return true;
602
- elseif(is_tax('language') && !is_archive())
603
- return true;
604
- else
605
- return false;
606
  }
607
 
608
  // loads front page template on translated front page
@@ -666,23 +671,19 @@ class Polylang_Core extends Polylang_base {
666
  );
667
  extract(wp_parse_args($args, $defaults));
668
 
669
- $output = '';
670
- $listlanguages = $this->get_languages_list($hide_if_empty);
671
 
672
- foreach ($listlanguages as $language) {
673
- if ($dropdown) {
674
- $output .= sprintf("<option value='%s'%s>%s</option>\n",
675
- esc_attr($language->slug),
676
- $language->term_id == $this->curlang->term_id ? ' selected="selected"' : '',
677
- esc_html($language->name)
678
- );
679
- }
680
- else {
681
  // hide current language
682
  if ($this->curlang->term_id == $language->term_id && $hide_current)
683
  continue;
684
-
685
  $url = $force_home ? null : $this->get_translation_url($language);
 
686
 
687
  // hide if no translation exists
688
  if (!isset($url) && $hide_if_no_translation)
@@ -697,12 +698,11 @@ class Polylang_Core extends Polylang_base {
697
  $flag = $show_flags ? $this->get_flag($language) : '';
698
  $name = $show_names || !$show_flags ? esc_html($language->name) : '';
699
 
700
- $output .= '<li class="'.$class.'"><a href="'.esc_url($url).'">'.($show_flags && $show_names ? $flag.'&nbsp;'.$name : $flag.$name)."</a></li>\n";
 
701
  }
702
  }
703
 
704
- $output = $dropdown ? "<select name='lang_choice' id='lang_choice'>\n" . $output . "</select>\n" : $output;
705
-
706
  if ($echo)
707
  echo $output;
708
  else
58
  // filters the comments according to the current language
59
  add_filter('comments_clauses', array(&$this, 'comments_clauses'), 10, 2);
60
 
61
+ // rewrites archives, next and previous post links to filter them by language
62
+ foreach (array('getarchives', 'get_previous_post', 'get_next_post') as $filter)
63
+ foreach (array('_join', '_where') as $clause)
64
+ add_filter($filter.$clause, array(&$this, 'posts'.$clause));
 
 
65
 
66
  // rewrites author and date links to filter them by language
67
+ foreach (array('feed_link', 'author_link', 'post_type_archive_link', 'year_link', 'month_link', 'day_link') as $filter)
68
+ add_filter($filter, array(&$this, 'archive_link'));
69
+
70
+ // optionally rewrite posts, pages links to filter them by language
71
+ if ($this->options['force_lang']) {
72
+ foreach (array('post_link', '_get_page_link', 'post_type_link') as $filter)
73
+ add_filter($filter, array(&$this, 'post_link'), 10, 2);
74
+ }
75
+
76
+ // rewrite post format (and optionally categories and post tags) archives links to filter them by language
77
+ add_filter('term_link', array(&$this, 'term_link'), 10, 3);
78
+
79
+ // filters the nav menus according to the current language
80
  add_filter('wp_nav_menu_args', array(&$this, 'wp_nav_menu_args'));
81
  add_filter('wp_nav_menu_items', array(&$this, 'wp_nav_menu_items'), 10, 2);
82
  add_filter('wp_nav_menu_objects', array(&$this, 'wp_nav_menu_objects'), 10, 2);
83
  add_filter('wp_page_menu', array(&$this, 'wp_page_menu'), 10, 2);
84
 
85
+ // filters the widgets according to the current language
86
  add_filter('widget_display_callback', array(&$this, 'widget_display_callback'), 10, 3);
87
 
88
  // strings translation (must be applied before WordPress applies its default formatting filters)
89
  add_filter('widget_title', array(&$this, 'widget_title'), 1);
90
+ add_filter('bloginfo', array(&$this, 'bloginfo'), 1, 2);
91
+ add_filter('get_bloginfo_rss', array(&$this, 'bloginfo'), 1, 2);
92
 
93
  // loads front page template on translated front page
94
  add_filter('template_include', array(&$this, 'template_include'));
97
  add_filter('home_url', array(&$this, 'home_url'));
98
 
99
  // allows a new value for the 'show' parameter to display the homepage url according to the current language
100
+ // FIXME Backward compatibility for versions < 0.5 -> replaced by a filter on home_url
101
  add_filter('bloginfo_url', array(&$this, 'bloginfo_url'), 10, 2);
102
 
103
  // Template tag: displays the language switcher
104
+ // FIXME Backward compatibility for versions < 0.5 -> replaced by pll_the_languages
105
  add_action('the_languages', array(&$this, 'the_languages'));
106
  }
107
 
126
  // set default to 1 for any without q factor
127
  foreach ($accept_langs as $accept_lang => $val) {
128
  if ($val === '') $accept_langs[$accept_lang] = 1;
129
+ }
130
+ arsort($accept_langs, SORT_NUMERIC); // sort list based on value
131
  }
132
  }
133
 
148
 
149
  // returns the current language
150
  function get_current_language() {
151
+
152
  if($this->curlang)
153
  return $this->curlang;
154
 
159
  if ($var = get_query_var('lang'))
160
  $lang = $this->get_language($var);
161
 
162
+ elseif ((is_single() || is_page()) && ( ($var = get_queried_object_id()) || ($var = get_query_var('p')) || ($var = get_query_var('page_id')) ))
163
  $lang = $this->get_post_language($var);
164
 
165
  else {
167
  if ($var = get_query_var(get_taxonomy($taxonomy)->query_var))
168
  $lang = $this->get_term_language($var, $taxonomy);
169
  }
170
+ }
 
171
  return (isset($lang)) ? $lang : false;
172
  }
173
 
189
 
190
  // NOTE: I believe there are two ways for a plugin to force the WP language
191
  // as done by xili_language and here: load text domains and reinitialize wp_locale with the action 'wp'
192
+ // as done by qtranslate: define the locale with the action 'plugins_loaded', but in this case, the language must be specified in the url.
193
+ function load_textdomains() {
194
  // sets the current language
195
  if (!($this->curlang = $this->get_current_language()))
196
  return; // something went wrong
197
 
198
  // set a cookie to remember the language and then set all our language filters and actions
199
  setcookie('wordpress_polylang', $this->curlang->slug, time() + 31536000 /* 1 year */, COOKIEPATH, COOKIE_DOMAIN);
200
+ $this->add_language_filters();
201
 
202
  // our override_load_textdomain filter has done its job. let's remove it before calling load_textdomain
203
  remove_filter('override_load_textdomain', array(&$this, 'mofile'));
204
 
205
+ // now we can load text domains with the right language
206
  $new_locale = get_locale();
207
  foreach ($this->list_textdomains as $textdomain)
208
  load_textdomain( $textdomain['domain'], str_replace($this->default_locale, $new_locale, $textdomain['mo']));
212
  $mo = new MO();
213
  $reader = new POMO_StringReader(base64_decode(get_option('polylang_mo'.$this->curlang->term_id)));
214
  $mo->import_from_reader($reader);
215
+ $l10n['pll_string'] = &$mo;
216
 
217
+ // reinitializes wp_locale for weekdays and months, as well as for text direction
218
  global $wp_locale;
219
  $wp_locale->init();
220
+ $wp_locale->text_direction = get_metadata('term', $this->curlang->term_id, '_rtl', true) ? 'rtl' : 'ltr';
221
  }
222
 
223
  // filters posts according to the language
224
  function pre_get_posts($query) {
 
225
  $qvars = $query->query_vars;
226
 
227
  // detect our exclude pages query and returns to avoid conflicts
253
 
254
  wp_redirect($url);
255
  exit;
256
+ }
257
  }
258
 
259
  // sets is_home on translated home page when it displays posts
260
+ // is_home must be true on page 2, 3... too
261
+ if (!$this->page_on_front && $query->is_tax && (count($query->query) == 1 || (is_paged() && count($query->query) == 2))) {
262
  $query->is_home = true;
263
  $query->is_tax = false;
264
  }
287
  // sets the language in case we hide the default language
288
  if ($this->options['hide_default'] && !isset($qvars['lang']) && (
289
  (count($query->query) == 1 && isset($qvars['paged']) && $qvars['paged']) ||
290
+ (isset($qvars['m']) && $qvars['m']) ||
291
+ (count($query->query) == 1 && isset($qvars['feed']) && $qvars['feed']) ||
292
+ (isset($qvars['author']) && $qvars['author']) ||
293
+ (isset($qvars['post_type']) && $qvars['post_type'] && is_archive()) ))
294
+ $query->set('lang', $this->options['default_lang']);
295
 
296
  // allow filtering recent posts by the current language
297
  // take care not to break queries for non visible post types such as nav_menu_items, attachments...
305
 
306
  // unset the is_archive flag for language pages to prevent loading the archive template
307
  // keep archive flag for comment feed otherwise the language filter does not work
308
+ if (isset($qvars['lang']) && $qvars['lang'] && !is_comment_feed() &&
309
+ !is_post_type_archive() && !is_date() && !is_author() && !is_category() && !is_tag() && !is_tax('post_format'))
310
  $query->is_archive = false;
311
 
312
  // unset the is_tax flag for authors pages
358
  foreach ($this->get_languages_list() as $language) {
359
  if ($language->slug != $this->curlang->slug && $url = $this->get_translation_url($language))
360
  printf("<link hreflang='%s' href='%s' rel='alternate' />\n", esc_attr($language->slug), esc_url($url));
361
+ }
362
  }
363
 
364
  // prevents redirection of the homepage
412
  // first test if wp_posts.ID already available in the query
413
  if (strpos($clauses['join'], '.ID')) {
414
  global $wpdb;
415
+ $clauses['join'] .= $wpdb->prepare(" INNER JOIN $wpdb->term_relationships AS pll_tr ON pll_tr.object_id = ID");
416
+ $clauses['where'] .= $wpdb->prepare(" AND pll_tr.term_taxonomy_id = %d", $this->curlang->term_taxonomy_id);
417
  }
418
  return $clauses;
419
  }
420
 
 
 
 
 
 
 
 
 
 
 
 
 
 
421
  // modifies the sql request for wp_get_archives an get_adjacent_post to filter by the current language
422
  function posts_join($sql) {
423
  global $wpdb;
424
+ return $sql . $wpdb->prepare(" INNER JOIN $wpdb->term_relationships AS pll_tr ON pll_tr.object_id = ID");
425
  }
426
 
427
  // modifies the sql request for wp_get_archives and get_adjacent_post to filter by the current language
428
  function posts_where($sql) {
429
  global $wpdb;
430
+ return $sql . $wpdb->prepare(" AND pll_tr.term_taxonomy_id = %d", $this->curlang->term_taxonomy_id);
431
  }
432
 
433
+ // adds language information to a link when using pretty permalinks
434
+ function add_language_to_link($url, $lang) {
435
  global $wp_rewrite;
436
+ if ($wp_rewrite->using_permalinks()) {
437
+ $base = $this->options['rewrite'] ? '/' : '/language/';
438
+ $slug = $this->options['default_lang'] == $lang->slug && $this->options['hide_default'] ? '' : $base.$lang->slug;
439
+ return esc_url(str_replace($this->home, $this->home.$slug, $url));
440
+ }
441
+ else
442
+ return add_query_arg( 'lang', $lang->slug, $url );
443
+ }
444
+
445
+ // modifies post & page links
446
+ function post_link($link, $post) {
447
+ $id = '_get_page_link' ==current_filter() ? $post : $post->ID;
448
+ return $this->add_language_to_link($link, $this->get_post_language($id));
449
+ }
450
+
451
+ // modifies term link
452
+ function term_link($link, $term, $tax) {
453
+ return $tax == 'post_format' || ($this->options['force_lang'] && $tax != 'language') ?
454
+ $this->add_language_to_link($link, $this->get_term_language($term->term_id)) : $link;
455
+ }
456
+
457
+ // modifies the author and date links to add the language parameter (as well as feed link)
458
+ function archive_link($link) {
459
+ return $this->add_language_to_link($link, $this->curlang);
460
  }
461
 
462
  // returns the url of the translation (if exists) of the current page
470
  $url = get_permalink($id);
471
 
472
  // page for posts
473
+ elseif (get_option('show_on_front') == 'page' && isset($wp_query->queried_object_id) && $wp_query->queried_object_id == $this->page_for_posts &&
474
+ $id = $this->get_post($this->page_for_posts, $language))
475
+ $url = get_permalink($id);
476
 
477
  elseif (is_page() && $id = $this->get_post($wp_query->queried_object_id, $language))
478
  $url = $hide && $id == $this->get_post($this->page_on_front, $language) ? $this->home : _get_page_link($id);
479
 
480
+ elseif (!is_tax('post_format') && !is_tax('language') && (is_category() || is_tag() || is_tax ()) ) {
481
  $term = get_queried_object();
482
  $lang = $this->get_term_language($term->term_id);
483
  $taxonomy = $term->taxonomy;
489
  }
490
 
491
  // don't test if there are existing translations before creating the url as it would be very expensive in sql queries
492
+ elseif (is_archive()) {
493
  if ($wp_rewrite->using_permalinks()) {
494
  $base = $this->options['rewrite'] ? '/' : '/language/';
495
  $base = $hide ? '' : $base.$language->slug;
506
 
507
  if (is_day())
508
  $url = esc_url($base.$qvars['year'].'/'.$qvars['monthnum'].'/'.$qvars['day'].'/');
509
+
510
+ if (is_tax('post_format'))
511
+ $url = esc_url($base.'type/'.$qvars['post_format'].'/');
512
  }
513
  else
514
  $url = $hide ? remove_query_arg('lang') : add_query_arg('lang', $language->slug);
520
  return isset($url) ? $url : null;
521
  }
522
 
523
+ // filters the nav menus according to the current language
524
  function wp_nav_menu_args($args) {
525
  if (!$args['menu'] && $args['theme_location']) {
526
  $menu_lang = get_option('polylang_nav_menus');
527
+ if (isset($menu_lang[$args['theme_location']][$this->curlang->slug]))
528
+ $args['menu'] = $menu_lang[$args['theme_location']][$this->curlang->slug];
529
  }
530
  return $args;
531
  }
532
 
533
+ // filters the widgets according to the current language
534
  function widget_display_callback($instance, $widget, $args) {
535
+ $widget_lang = get_option('polylang_widgets');
536
  // don't display if a language filter is set and this is not the current one
537
  return isset($widget_lang[$widget->id]) && $widget_lang[$widget->id] && $widget_lang[$widget->id] != $this->curlang->slug ? false : $instance;
538
  }
540
  // adds the language switcher at the end of the menu
541
  function wp_nav_menu_items($items, $args) {
542
  $menu_lang = get_option('polylang_nav_menus');
543
+ return isset($menu_lang[$args->theme_location]['switcher']) && $menu_lang[$args->theme_location]['switcher'] ?
544
+ $items . $this->the_languages(array_merge($menu_lang[$args->theme_location], array('menu' => 1, 'echo' => 0))) : $items;
 
 
 
 
 
 
545
  }
546
 
547
  // corrects some issues on front page and post pages nav menus items
605
 
606
  // acts as is_front_page but knows about translated front page
607
  function is_front_page() {
608
+ return ('posts' == get_option('show_on_front') && is_home()) ||
609
+ ('page' == get_option('show_on_front') && $this->page_on_front && is_page($this->get_post($this->page_on_front, $this->get_current_language()))) ||
610
+ (is_tax('language') && !is_archive());
 
 
 
 
 
611
  }
612
 
613
  // loads front page template on translated front page
671
  );
672
  extract(wp_parse_args($args, $defaults));
673
 
674
+ if ($dropdown)
675
+ $output = $this->dropdown_languages(array('hide_empty' => $hide_if_empty, 'selected' => $this->curlang->slug));
676
 
677
+ else {
678
+ $output = '';
679
+
680
+ foreach ($this->get_languages_list($hide_if_empty) as $language) {
 
 
 
 
 
681
  // hide current language
682
  if ($this->curlang->term_id == $language->term_id && $hide_current)
683
  continue;
684
+
685
  $url = $force_home ? null : $this->get_translation_url($language);
686
+ $url = apply_filters('pll_the_language_link', $url, $language->slug, $language->description);
687
 
688
  // hide if no translation exists
689
  if (!isset($url) && $hide_if_no_translation)
698
  $flag = $show_flags ? $this->get_flag($language) : '';
699
  $name = $show_names || !$show_flags ? esc_html($language->name) : '';
700
 
701
+ $output .= sprintf("<li class='%s'><a hreflang='%s' href='%s'>%s</a></li>\n",
702
+ $class, esc_attr($language->slug), esc_url($url), $show_flags && $show_names ? $flag.'&nbsp;'.$name : $flag.$name);
703
  }
704
  }
705
 
 
 
706
  if ($echo)
707
  echo $output;
708
  else
include/edit-term-form.php DELETED
@@ -1,26 +0,0 @@
1
- <?php
2
- // adds languages related fields in Edit Category and Edit Tag admin panels
3
- // unfortunately can't reuse add-term-for.php as WordPress uses here a table instead of div :(
4
- ?>
5
- <tr class="form-field">
6
- <th scope="row" valign="top"><label for="term_lang_choice"><?php _e('Language', 'polylang');?></label></th>
7
- <td><select name="term_lang_choice" id="term_lang_choice"><?php
8
- if (PLL_DISPLAY_ALL) // for those who want undefined language
9
- echo '<option value="0"></option>';
10
- foreach ($listlanguages as $language) {
11
- printf(
12
- "<option value='%s'%s>%s</option>\n",
13
- esc_attr($language->term_id),
14
- $language->slug == $lang->slug ? ' selected="selected"' : '',
15
- esc_html($language->name)
16
- );
17
- } ?>
18
- </select><br />
19
- <span class="description"><?php _e('Sets the language', 'polylang');?></span></td>
20
- </tr>
21
-
22
- <tr id="term-translations" class="form-field"><?php
23
- // do not display translation fields if term language is not set (possible if PLL_DISPLAY_ALL == true)
24
- if ($lang)
25
- include(PLL_INC.'/term-translations.php');?>
26
- </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
include/languages-form.php CHANGED
@@ -1,5 +1,5 @@
1
- <?php
2
- // displays the Languages admin panel
3
  ?>
4
  <div class="wrap">
5
  <?php screen_icon('options-general'); ?>
@@ -20,7 +20,7 @@ if (isset($_GET['error'])) {?>
20
 
21
  <div id="col-container">
22
  <div id="col-right">
23
- <div class="col-wrap"><?php
24
  // displays the language list in a table
25
  $list_table->display(); ?>
26
  </div><!-- col-wrap -->
@@ -44,12 +44,12 @@ if (isset($_GET['error'])) {?>
44
  <?php wp_nonce_field('add-lang', '_wpnonce_add-lang');
45
 
46
  if ($action=='edit') {?>
47
- <input type="hidden" name="action" value="update" />
48
  <input type="hidden" name="lang_id" value="<?php echo esc_attr($edit_lang->term_id);?>" /><?php
49
  }
50
  else { ?>
51
  <input type="hidden" name="action" value="add" /><?php
52
- }?>
53
 
54
  <div class="form-field">
55
  <label for="lang_list"><?php _e('Choose a language', 'polylang');?></label>
@@ -57,7 +57,7 @@ if (isset($_GET['error'])) {?>
57
  <option value=""></option>';<?php
58
  include(PLL_INC.'/languages.php');
59
  foreach ($languages as $key=>$lang) {
60
- printf("<option value='%s-%s'>%s</option>\n", esc_attr($key), esc_attr($lang[0]), esc_html($lang[1]));
61
  } ?>
62
  </select>
63
  <p><?php _e('You can choose a language in the list or directly edit it below.', 'polylang');?></p>
@@ -82,6 +82,15 @@ if (isset($_GET['error'])) {?>
82
  <p><?php _e('2-letters ISO 639-1 language code (for example: en)', 'polylang');?></p>
83
  </div>
84
 
 
 
 
 
 
 
 
 
 
85
  <div class="form-field">
86
  <label for="term_group"><?php _e('Order', 'polylang');?></label>
87
  <input name="term_group" id="term_group" type="text" value="<?php if ($action=='edit') echo esc_attr($edit_lang->term_group);?>" />
@@ -108,7 +117,7 @@ case 'menus': ?>
108
  foreach ( $locations as $location => $description ) {?>
109
  <h3><?php echo esc_html($description); ?></h3>
110
  <table class="form-table"><?php
111
- foreach ($listlanguages as $language) {?>
112
  <tr><?php printf('<th><label for="menu-lang-%1$s-%2$s">%3$s</label></th>', esc_attr($location), esc_attr($language->slug), esc_html($language->name));?>
113
  <td><?php printf('<select name="menu-lang[%1$s][%2$s]" id="menu-lang-%1$s-%2$s">', esc_attr($location), esc_attr($language->slug));?>
114
  <option value="0"></option><?php
@@ -125,10 +134,10 @@ case 'menus': ?>
125
  }?>
126
  <tr>
127
  <th><?php _e('Language switcher', 'polylang') ?></th>
128
- <td><?php
129
- foreach ($menu_options as $key => $str)
130
  printf('<label><input name="menu-lang[%1$s][%2$s]" type="checkbox" value="1" %3$s /> %4$s</label>',
131
- esc_attr($location), esc_attr($key), $menu_lang[$location][$key] ? 'checked="checked"' :'', esc_html($str));?>
132
  </td>
133
  </tr>
134
  </table><?php
@@ -143,7 +152,7 @@ break;
143
  // string translations tab
144
  case 'strings':
145
 
146
- $paged = isset($_GET['paged']) ? '&paged='.$_GET['paged'] : '';?>
147
  <form id="string-translation" method="post" action="<?php echo esc_url(admin_url('admin.php?page=mlang&tab=strings'.$paged.'&noheader=true'))?>" class="validate">
148
  <?php wp_nonce_field('string-translation', '_wpnonce_string-translation');?>
149
  <input type="hidden" name="action" value="string-translation" /><?php
@@ -158,31 +167,20 @@ case 'settings': ?>
158
  <div class="form-wrap">
159
  <form id="options-lang" method="post" action="admin.php?page=mlang&tab=settings" class="validate">
160
  <?php wp_nonce_field('options-lang', '_wpnonce_options-lang');?>
161
- <input type="hidden" name="action" value="options" />
162
 
163
  <table class="form-table">
164
 
165
  <tr>
166
  <th><label for='default_lang'><?php _e('Default language', 'polylang');?></label></th>
167
- <td>
168
- <select name="default_lang" id="default_lang"><?php
169
- foreach ($listlanguages as $language) {
170
- printf(
171
- "<option value='%s'%s>%s</option>\n",
172
- esc_attr($language->slug),
173
- $options['default_lang'] == $language->slug ? ' selected="selected"' : '',
174
- esc_html($language->name)
175
- );
176
- } ?>
177
- </select>
178
- </td>
179
  </tr><?php
180
 
181
  // posts or terms without language set
182
  if (!empty($posts) || !empty($terms) && $options['default_lang']) {
183
 
184
  if (!empty($posts))
185
- echo '<input type="hidden" name="posts" value="'.esc_attr($posts).'" />';
186
  if (!empty($terms))
187
  echo '<input type="hidden" name="terms" value="'.esc_attr($terms).'" />';?>
188
 
@@ -193,7 +191,7 @@ case 'settings': ?>
193
  printf(
194
  '<input name="fill_languages" type="checkbox" value="1" /> %s',
195
  __('There are posts, pages, categories or tags without language set. Do you want to set them all to default language ?', 'polylang')
196
- );?>
197
  </label>
198
  </td>
199
  </tr><?php
@@ -207,7 +205,7 @@ case 'settings': ?>
207
  '<input name="browser" type="checkbox" value="1" %s /> %s',
208
  $options['browser'] ? 'checked="checked"' :'',
209
  __('When the front page is visited, set the language according to the browser preference', 'polylang')
210
- );?>
211
  </label>
212
  </td>
213
  </tr>
@@ -217,7 +215,7 @@ case 'settings': ?>
217
  <td scope="row">
218
  <label><?php
219
  printf(
220
- '<input name="rewrite" type="radio" value="0" %s /> %s %s',
221
  $options['rewrite'] ? '' : 'checked="checked"',
222
  __('Keep /language/ in pretty permalinks. Example:', 'polylang'),
223
  '<code>'.esc_html(home_url('language/en/')).'</code>'
@@ -225,7 +223,7 @@ case 'settings': ?>
225
  </label>
226
  <label><?php
227
  printf(
228
- '<input name="rewrite" type="radio" value="1" %s /> %s %s',
229
  $options['rewrite'] ? 'checked="checked"' : '',
230
  __('Remove /language/ in pretty permalinks. Example:', 'polylang'),
231
  '<code>'.esc_html(home_url('en/')).'</code>'
@@ -236,7 +234,14 @@ case 'settings': ?>
236
  '<input name="hide_default" type="checkbox" value="1" %s /> %s',
237
  $options['hide_default'] ? 'checked="checked"' :'',
238
  __('Hide URL language information for default language', 'polylang')
239
- );?>
 
 
 
 
 
 
 
240
  </label>
241
  </td>
242
  </tr>
1
+ <?php
2
+ // displays the Languages admin panel
3
  ?>
4
  <div class="wrap">
5
  <?php screen_icon('options-general'); ?>
20
 
21
  <div id="col-container">
22
  <div id="col-right">
23
+ <div class="col-wrap"><?php
24
  // displays the language list in a table
25
  $list_table->display(); ?>
26
  </div><!-- col-wrap -->
44
  <?php wp_nonce_field('add-lang', '_wpnonce_add-lang');
45
 
46
  if ($action=='edit') {?>
47
+ <input type="hidden" name="action" value="update" />
48
  <input type="hidden" name="lang_id" value="<?php echo esc_attr($edit_lang->term_id);?>" /><?php
49
  }
50
  else { ?>
51
  <input type="hidden" name="action" value="add" /><?php
52
+ }?>
53
 
54
  <div class="form-field">
55
  <label for="lang_list"><?php _e('Choose a language', 'polylang');?></label>
57
  <option value=""></option>';<?php
58
  include(PLL_INC.'/languages.php');
59
  foreach ($languages as $key=>$lang) {
60
+ printf("<option value='%s-%s-%s'>%s</option>\n", esc_attr($key), esc_attr($lang[0]), $lang[2] ? '1' : '0' , esc_html($lang[1]));
61
  } ?>
62
  </select>
63
  <p><?php _e('You can choose a language in the list or directly edit it below.', 'polylang');?></p>
82
  <p><?php _e('2-letters ISO 639-1 language code (for example: en)', 'polylang');?></p>
83
  </div>
84
 
85
+ <div class="form-field">
86
+ <legend><?php _e('Text direction', 'polylang');?></legend><?php
87
+ printf('<label><input name="rtl" type="radio" class="tog" value="0" %s /> %s</label>',
88
+ $rtl ? '' : 'checked="checked"', __('left to right', 'polylang'));
89
+ printf('<label><input name="rtl" type="radio" class="tog" value="1" %s /> %s</label>',
90
+ $rtl ? 'checked="checked"' : '', __('right to left', 'polylang'));?>
91
+ <p><?php _e('Choose the text direction for the language', 'polylang');?></p>
92
+ </div>
93
+
94
  <div class="form-field">
95
  <label for="term_group"><?php _e('Order', 'polylang');?></label>
96
  <input name="term_group" id="term_group" type="text" value="<?php if ($action=='edit') echo esc_attr($edit_lang->term_group);?>" />
117
  foreach ( $locations as $location => $description ) {?>
118
  <h3><?php echo esc_html($description); ?></h3>
119
  <table class="form-table"><?php
120
+ foreach ($listlanguages as $language) {?>
121
  <tr><?php printf('<th><label for="menu-lang-%1$s-%2$s">%3$s</label></th>', esc_attr($location), esc_attr($language->slug), esc_html($language->name));?>
122
  <td><?php printf('<select name="menu-lang[%1$s][%2$s]" id="menu-lang-%1$s-%2$s">', esc_attr($location), esc_attr($language->slug));?>
123
  <option value="0"></option><?php
134
  }?>
135
  <tr>
136
  <th><?php _e('Language switcher', 'polylang') ?></th>
137
+ <td><?php
138
+ foreach ($this->get_switcher_options('menu') as $key => $str)
139
  printf('<label><input name="menu-lang[%1$s][%2$s]" type="checkbox" value="1" %3$s /> %4$s</label>',
140
+ esc_attr($location), esc_attr($key), isset($menu_lang[$location][$key]) && $menu_lang[$location][$key] ? 'checked="checked"' :'', esc_html($str));?>
141
  </td>
142
  </tr>
143
  </table><?php
152
  // string translations tab
153
  case 'strings':
154
 
155
+ $paged = isset($_GET['paged']) ? '&paged='.$_GET['paged'] : '';?>
156
  <form id="string-translation" method="post" action="<?php echo esc_url(admin_url('admin.php?page=mlang&tab=strings'.$paged.'&noheader=true'))?>" class="validate">
157
  <?php wp_nonce_field('string-translation', '_wpnonce_string-translation');?>
158
  <input type="hidden" name="action" value="string-translation" /><?php
167
  <div class="form-wrap">
168
  <form id="options-lang" method="post" action="admin.php?page=mlang&tab=settings" class="validate">
169
  <?php wp_nonce_field('options-lang', '_wpnonce_options-lang');?>
170
+ <input type="hidden" name="action" value="options" />
171
 
172
  <table class="form-table">
173
 
174
  <tr>
175
  <th><label for='default_lang'><?php _e('Default language', 'polylang');?></label></th>
176
+ <td><?php echo $this->dropdown_languages(array('name' => 'default_lang', 'selected' => $options['default_lang']));?></td>
 
 
 
 
 
 
 
 
 
 
 
177
  </tr><?php
178
 
179
  // posts or terms without language set
180
  if (!empty($posts) || !empty($terms) && $options['default_lang']) {
181
 
182
  if (!empty($posts))
183
+ echo '<input type="hidden" name="posts" value="'.esc_attr($posts).'" />';
184
  if (!empty($terms))
185
  echo '<input type="hidden" name="terms" value="'.esc_attr($terms).'" />';?>
186
 
191
  printf(
192
  '<input name="fill_languages" type="checkbox" value="1" /> %s',
193
  __('There are posts, pages, categories or tags without language set. Do you want to set them all to default language ?', 'polylang')
194
+ );?>
195
  </label>
196
  </td>
197
  </tr><?php
205
  '<input name="browser" type="checkbox" value="1" %s /> %s',
206
  $options['browser'] ? 'checked="checked"' :'',
207
  __('When the front page is visited, set the language according to the browser preference', 'polylang')
208
+ );?>
209
  </label>
210
  </td>
211
  </tr>
215
  <td scope="row">
216
  <label><?php
217
  printf(
218
+ '<input name="rewrite" type="radio" value="0" %s /> %s %s',
219
  $options['rewrite'] ? '' : 'checked="checked"',
220
  __('Keep /language/ in pretty permalinks. Example:', 'polylang'),
221
  '<code>'.esc_html(home_url('language/en/')).'</code>'
223
  </label>
224
  <label><?php
225
  printf(
226
+ '<input name="rewrite" type="radio" value="1" %s /> %s %s',
227
  $options['rewrite'] ? 'checked="checked"' : '',
228
  __('Remove /language/ in pretty permalinks. Example:', 'polylang'),
229
  '<code>'.esc_html(home_url('en/')).'</code>'
234
  '<input name="hide_default" type="checkbox" value="1" %s /> %s',
235
  $options['hide_default'] ? 'checked="checked"' :'',
236
  __('Hide URL language information for default language', 'polylang')
237
+ );?>
238
+ </label>
239
+ <label><?php
240
+ printf(
241
+ '<input name="force_lang" type="checkbox" value="1" %s /> %s',
242
+ $options['force_lang'] ? 'checked="checked"' :'',
243
+ __('Add language information to all URL including posts, pages, categories and post tags (not recommended)', 'polylang')
244
+ );?>
245
  </label>
246
  </td>
247
  </tr>
include/personal-options.php DELETED
@@ -1,20 +0,0 @@
1
- <?php
2
- // allows each user to choose the admin language in the Profile panel
3
- ?>
4
- <tr>
5
- <th><label for='user_lang'><?php _e('Admin language', 'polylang');?></label></th>
6
- <td>
7
- <select name="user_lang" id="user_lang">
8
- <option value="0"></option><?php
9
- $listlanguages = $this->get_languages_list();
10
- foreach ($listlanguages as $language) {
11
- printf(
12
- "<option value='%s'%s>%s</option>\n",
13
- esc_attr($language->description),
14
- get_user_meta($profileuser->ID, 'user_lang', true) == $language->description ? ' selected="selected"' : '',
15
- esc_html($language->name)
16
- );
17
- } ?>
18
- </select>
19
- </td>
20
- </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
include/post-metabox.php DELETED
@@ -1,22 +0,0 @@
1
- <?php
2
- // allowing to choose the post's language
3
- // NOTE: the class "tags-input" allows to include the field in the autosave $_POST (see autosave.js)
4
- ?>
5
- <p><em><?php $post_type == 'page' ? _e('Page\'s language:', 'polylang') : _e('Post\'s language:', 'polylang');?></em></p>
6
- <p>
7
- <select name="post_lang_choice" id="post_lang_choice"><?php
8
- if (PLL_DISPLAY_ALL) // for those who want undefined language
9
- echo '<option value="0"></option>';
10
- foreach ($listlanguages as $language) {
11
- printf(
12
- "<option value='%s'%s>%s</option>\n",
13
- esc_attr($language->slug),
14
- $language->slug == $lang->slug ? ' selected="selected"' : '',
15
- esc_html($language->name)
16
- );
17
- } ?>
18
- </select><br />
19
- </p>
20
- <div id="post-translations"><?php
21
- include(PLL_INC.'/post-translations.php'); // allowing to determine the linked posts ?>
22
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
include/post-translations.php CHANGED
@@ -7,9 +7,11 @@
7
  </tr></thead>
8
 
9
  <tbody>
10
- <?php foreach ($listlanguages as $language) {
11
- if ($language != $lang) {
12
- $value = $this->get_translation('post', $post_ID, $language);
 
 
13
  if (isset($_GET['from_post']))
14
  $value = $this->get_post($_GET['from_post'], $language); ?>
15
  <tr>
@@ -20,7 +22,7 @@
20
  esc_attr($value)
21
  );
22
  if ($lang) {
23
- $link = $value ?
24
  sprintf(
25
  '<a href="%1$s">%2$s</a>',
26
  esc_url(admin_url('post.php?action=edit&post=' . $value)),
@@ -34,7 +36,7 @@
34
  <td><?php echo $link ?><td><?php
35
  }?>
36
  </tr><?php
37
- }
38
  } ?>
39
  </tbody>
40
  </table>
7
  </tr></thead>
8
 
9
  <tbody>
10
+ <?php foreach ($this->get_languages_list() as $language) {
11
+ if ($language != $lang) {
12
+ $value = $this->get_translation('post', $post_ID, $language);
13
+ if (!$value || $value == $post_ID) // $value == $post_ID happens if the post has been (auto)saved before changing the language
14
+ $value = '';
15
  if (isset($_GET['from_post']))
16
  $value = $this->get_post($_GET['from_post'], $language); ?>
17
  <tr>
22
  esc_attr($value)
23
  );
24
  if ($lang) {
25
+ $link = $value ?
26
  sprintf(
27
  '<a href="%1$s">%2$s</a>',
28
  esc_url(admin_url('post.php?action=edit&post=' . $value)),
36
  <td><?php echo $link ?><td><?php
37
  }?>
38
  </tr><?php
39
+ }
40
  } ?>
41
  </tbody>
42
  </table>
include/term-translations.php CHANGED
@@ -18,7 +18,7 @@ else {
18
  echo '<th class="tr-edit-column">'.__('Edit', 'polylang').'</th>';?>
19
  </tr></thead>
20
  <tbody>
21
- <?php foreach ($listlanguages as $language) {
22
  if ($language == $lang)
23
  continue;
24
 
18
  echo '<th class="tr-edit-column">'.__('Edit', 'polylang').'</th>';?>
19
  </tr></thead>
20
  <tbody>
21
+ <?php foreach ($this->get_languages_list() as $language) {
22
  if ($language == $lang)
23
  continue;
24
 
include/widget.php CHANGED
@@ -10,13 +10,12 @@ class Polylang_Widget extends WP_Widget {
10
  function widget($args, $instance) {
11
  global $polylang;
12
  if (!(isset($polylang) && $polylang->get_languages_list()))
13
- return;
14
 
15
  extract($args);
16
  extract($instance);
17
 
18
  $title = apply_filters('widget_title', $title, $instance, $this->id_base);
19
-
20
 
21
  echo "$before_widget\n";
22
  if ($title)
@@ -56,7 +55,7 @@ class Polylang_Widget extends WP_Widget {
56
  // updates the widget options
57
  function update( $new_instance, $old_instance ) {
58
  $instance['title'] = strip_tags($new_instance['title']);
59
- foreach ( array('show_names', 'show_flags','dropdown', 'force_home') as $key)
60
  $instance[$key] = !empty($new_instance[$key]) ? 1 : 0;
61
 
62
  return $instance;
@@ -65,21 +64,14 @@ class Polylang_Widget extends WP_Widget {
65
  // displays the widget form
66
  function form($instance) {
67
  // default values
68
- $instance = wp_parse_args( (array) $instance, array( 'title' => '', 'show_names' => 1, 'show_flags' => 0, 'dropdown' => 0, 'force_home' => 0) );
69
 
70
  // title
71
  $title = sprintf('<p><label for="%1$s">%2$s</label><input class="widefat" id="%1$s" name="%3$s" type="text" value="%4$s" /></p>',
72
  $this->get_field_id('title'), __('Title:', 'polylang'), $this->get_field_name('title'), esc_attr($instance['title']));
73
 
74
- $widget_options = array (
75
- 'show_names' => __('Displays language names', 'polylang'),
76
- 'show_flags' => __('Displays flags', 'polylang'),
77
- 'dropdown' => __('Displays as dropdown', 'polylang'),
78
- 'force_home' => __('Forces link to front page', 'polylang')
79
- );
80
-
81
  $fields = '';
82
- foreach ($widget_options as $key=>$str)
83
  $fields .= sprintf('<input type="checkbox" class="checkbox" id="%1$s" name="%2$s" %3$s /> <label for="%1$s">%4$s</label><br />',
84
  $this->get_field_id($key), $this->get_field_name($key), $instance[$key] ? 'checked="checked"' : '', esc_html($str));
85
 
10
  function widget($args, $instance) {
11
  global $polylang;
12
  if (!(isset($polylang) && $polylang->get_languages_list()))
13
+ return;
14
 
15
  extract($args);
16
  extract($instance);
17
 
18
  $title = apply_filters('widget_title', $title, $instance, $this->id_base);
 
19
 
20
  echo "$before_widget\n";
21
  if ($title)
55
  // updates the widget options
56
  function update( $new_instance, $old_instance ) {
57
  $instance['title'] = strip_tags($new_instance['title']);
58
+ foreach ($GLOBALS['polylang']->get_switcher_options('widget') as $key => $str)
59
  $instance[$key] = !empty($new_instance[$key]) ? 1 : 0;
60
 
61
  return $instance;
64
  // displays the widget form
65
  function form($instance) {
66
  // default values
67
+ $instance = wp_parse_args( (array)$instance, array_merge(array('title' => ''), $GLOBALS['polylang']->get_switcher_options('widget', 'default')) );
68
 
69
  // title
70
  $title = sprintf('<p><label for="%1$s">%2$s</label><input class="widefat" id="%1$s" name="%3$s" type="text" value="%4$s" /></p>',
71
  $this->get_field_id('title'), __('Title:', 'polylang'), $this->get_field_name('title'), esc_attr($instance['title']));
72
 
 
 
 
 
 
 
 
73
  $fields = '';
74
+ foreach ($GLOBALS['polylang']->get_switcher_options('widget') as $key => $str)
75
  $fields .= sprintf('<input type="checkbox" class="checkbox" id="%1$s" name="%2$s" %3$s /> <label for="%1$s">%4$s</label><br />',
76
  $this->get_field_id($key), $this->get_field_name($key), $instance[$key] ? 'checked="checked"' : '', esc_html($str));
77
 
js/admin.js CHANGED
@@ -31,7 +31,7 @@ jQuery(document).ready(function($) {
31
  jQuery.post(ajaxurl, data , function(response) {
32
  var res = wpAjax.parseAjaxResponse(response, 'ajax-response');
33
  $.each(res.responses, function() {
34
- switch(this.what) {
35
  case 'translations': // translations fields
36
  jQuery('#post-translations').html(this.data);
37
  break;
@@ -49,6 +49,15 @@ jQuery(document).ready(function($) {
49
  break;
50
  }
51
  });
 
 
 
 
 
 
 
 
 
52
  });
53
  });
54
 
@@ -56,9 +65,22 @@ jQuery(document).ready(function($) {
56
  jQuery('a.tagcloud-link').addClass('polylang-tagcloud-link');
57
  jQuery('a.tagcloud-link').removeClass('tagcloud-link');
58
 
59
- // now copy paste WP code and just add the language in the $_POST variable
60
  jQuery('.polylang-tagcloud-link').click( function() {
61
  var id = $(this).attr('id');
 
 
 
 
 
 
 
 
 
 
 
 
 
62
  var tax = id.substr(id.indexOf('-')+1);
63
 
64
  var data = {
@@ -77,15 +99,47 @@ jQuery(document).ready(function($) {
77
  return false;
78
  });
79
 
80
- $('#'+id).after(r);
 
 
 
 
 
 
81
  });
 
82
 
83
- $(this).unbind().click(function(){
84
- $(this).siblings('.the-tagcloud').toggle();
85
- return false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  });
87
- return false;
88
- });
89
 
90
  // ajax for term edit
91
  jQuery('#term_lang_choice').change(function() {
@@ -97,7 +151,19 @@ jQuery(document).ready(function($) {
97
  }
98
 
99
  jQuery.post(ajaxurl, data, function(response) {
100
- jQuery("#term-translations").html(response);
 
 
 
 
 
 
 
 
 
 
 
 
101
  });
102
  });
103
 
@@ -107,6 +173,7 @@ jQuery(document).ready(function($) {
107
  value = jQuery(this).attr('value').split('-');
108
  jQuery('input[name="slug"]').val(value[0]);
109
  jQuery('input[name="description"]').val(value[1]);
 
110
  jQuery('input[name="name"]').val($("select option:selected").text());
111
  });
112
 
31
  jQuery.post(ajaxurl, data , function(response) {
32
  var res = wpAjax.parseAjaxResponse(response, 'ajax-response');
33
  $.each(res.responses, function() {
34
+ switch (this.what) {
35
  case 'translations': // translations fields
36
  jQuery('#post-translations').html(this.data);
37
  break;
49
  break;
50
  }
51
  });
52
+
53
+ // modifies the language in the tag cloud
54
+ jQuery('.polylang-tagcloud-link').each(function() {
55
+ var id = $(this).attr('id');
56
+ pll_tagbox(id, 0);
57
+ });
58
+
59
+ // modifies the language in the tags suggestion input
60
+ pll_suggest();
61
  });
62
  });
63
 
65
  jQuery('a.tagcloud-link').addClass('polylang-tagcloud-link');
66
  jQuery('a.tagcloud-link').removeClass('tagcloud-link');
67
 
68
+ // copy paste WP code and just call our pll_tagbox instead of tagbox.get
69
  jQuery('.polylang-tagcloud-link').click( function() {
70
  var id = $(this).attr('id');
71
+ pll_tagbox(id, 1);
72
+
73
+ $(this).unbind().click(function(){
74
+ $(this).siblings('.the-tagcloud').toggle();
75
+ return false;
76
+ });
77
+ return false;
78
+ });
79
+
80
+ // now copy paste WP code
81
+ // add the language in the $_POST variable
82
+ // add an if else condition to allow modifying the tags outputed when switching the language
83
+ function pll_tagbox(id, a) {
84
  var tax = id.substr(id.indexOf('-')+1);
85
 
86
  var data = {
99
  return false;
100
  });
101
 
102
+ if (a == 1)
103
+ $('#'+id).after(r);
104
+ else {
105
+ v = $('.the-tagcloud').css('display');
106
+ $('.the-tagcloud').replaceWith(r);
107
+ $('.the-tagcloud').css('display', v);
108
+ }
109
  });
110
+ }
111
 
112
+ // replace WP class by our own
113
+ jQuery('input.newtag').addClass('polylang-newtag');
114
+ jQuery('input.newtag').removeClass('newtag');
115
+ pll_suggest();
116
+
117
+ // now copy paste WP code
118
+ // add the language in the $_GET variable
119
+ // add the unbind function to allow calling the function when the language is modified
120
+ function pll_suggest() {
121
+ ajaxtag = $('div.ajaxtag');
122
+ $('input.polylang-newtag', ajaxtag).unbind().blur(function() {
123
+ if ( this.value == '' )
124
+ $(this).parent().siblings('.taghint').css('visibility', '');
125
+ }).focus(function(){
126
+ $(this).parent().siblings('.taghint').css('visibility', 'hidden');
127
+ }).keyup(function(e){
128
+ if ( 13 == e.which ) {
129
+ tagBox.flushTags( $(this).closest('.tagsdiv') );
130
+ return false;
131
+ }
132
+ }).keypress(function(e){
133
+ if ( 13 == e.which ) {
134
+ e.preventDefault();
135
+ return false;
136
+ }
137
+ }).each(function(){
138
+ var lang = jQuery('#post_lang_choice').attr('value');
139
+ var tax = $(this).closest('div.tagsdiv').attr('id');
140
+ $(this).suggest( ajaxurl + '?action=polylang-ajax-tag-search&lang=' + lang + '&tax=' + tax, { delay: 500, minchars: 2, multiple: true, multipleSep: "," } );
141
  });
142
+ }
 
143
 
144
  // ajax for term edit
145
  jQuery('#term_lang_choice').change(function() {
151
  }
152
 
153
  jQuery.post(ajaxurl, data, function(response) {
154
+ var res = wpAjax.parseAjaxResponse(response, 'ajax-response');
155
+ $.each(res.responses, function() {
156
+ switch (this.what) {
157
+ case 'translations': // translations fields
158
+ jQuery("#term-translations").html(this.data);
159
+ break;
160
+ case 'parent': // parent dropdown list for hierarchical taxonomies
161
+ jQuery('#parent').replaceWith(this.data);
162
+ break;
163
+ default:
164
+ break;
165
+ }
166
+ });
167
  });
168
  });
169
 
173
  value = jQuery(this).attr('value').split('-');
174
  jQuery('input[name="slug"]').val(value[0]);
175
  jQuery('input[name="description"]').val(value[1]);
176
+ jQuery('input[name="rtl"]').val([value[2]]);
177
  jQuery('input[name="name"]').val($("select option:selected").text());
178
  });
179
 
languages/polylang-de_DE.mo CHANGED
Binary file
languages/polylang-de_DE.po CHANGED
@@ -1,421 +1,464 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: polylang\n"
4
- "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2011-12-05 20:53+0100\n"
6
- "PO-Revision-Date: \n"
7
- "Last-Translator: Christian Ries <christian.ries@singbyfoot.lu>\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; 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;_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"
15
- "X-Poedit-Basepath: .\n"
16
- "X-Textdomain-Support: yes\n"
17
- "X-Poedit-SearchPath-0: ..\n"
18
-
19
- #@ polylang
20
- #: polylang.php:170
21
- msgid "Error: Restore of local flags failed!"
22
- msgstr "Fehler: Wiederherstellung der lokalen Fahnen fehlgeschlagen!"
23
-
24
- #@ polylang
25
- #: include/add-term-form.php:5
26
- #: include/edit-term-form.php:6
27
- #: include/list-table.php:12
28
- #: include/post-translations.php:4
29
- #: include/term-translations.php:15
30
- msgid "Language"
31
- msgstr "Sprache"
32
-
33
- #@ polylang
34
- #: include/add-term-form.php:17
35
- #: include/edit-term-form.php:19
36
- msgid "Sets the language"
37
- msgstr "definiert die Sprache"
38
-
39
- #@ polylang
40
- #: include/widget.php:6
41
- msgid "Language Switcher"
42
- msgstr "Sprachenumschalter"
43
-
44
- #@ polylang
45
- #: include/widget.php:6
46
- msgid "Displays a language switcher"
47
- msgstr "Zeigt einen Sprachenumschalter"
48
-
49
- #@ polylang
50
- #: include/widget.php:74
51
- msgid "Title:"
52
- msgstr "Titel :"
53
-
54
- #@ polylang
55
- #: include/admin.php:296
56
- #: include/widget.php:77
57
- msgid "Displays language names"
58
- msgstr "Darstellung der Namen der Sprachen"
59
-
60
- #@ polylang
61
- #: include/admin.php:297
62
- #: include/widget.php:78
63
- msgid "Displays flags"
64
- msgstr "Darstellung der Fahnen"
65
-
66
- #@ polylang
67
- #: include/widget.php:79
68
- msgid "Displays as dropdown"
69
- msgstr "Als Auswahlbox darstellen"
70
-
71
- #@ polylang
72
- #: include/admin.php:298
73
- #: include/widget.php:80
74
- msgid "Forces link to front page"
75
- msgstr "Erzwingt einen Link zur Startseite"
76
-
77
- #@ default
78
- #@ polylang
79
- #: include/admin.php:21
80
- #: include/admin.php:266
81
- msgid "Settings"
82
- msgstr "Einstellungen"
83
-
84
- #@ polylang
85
- #: include/admin-filters.php:164
86
- #: include/admin.php:28
87
- #: include/admin.php:263
88
- #: include/list-table.php:13
89
- msgid "Languages"
90
- msgstr "Sprachen"
91
-
92
- #@ polylang
93
- #: include/admin.php:264
94
- msgid "Menus"
95
- msgstr "Menüs"
96
-
97
- #@ polylang
98
- #: include/admin.php:284
99
- msgid "Enter a valid WorPress locale"
100
- msgstr "Bitte geben Sie eine gültige Sprachdatei an"
101
-
102
- #@ polylang
103
- #: include/admin.php:285
104
- msgid "The language code must be 2 characters long"
105
- msgstr "Der Sprachcode muss 2 Buchstaben betragen"
106
-
107
- #@ polylang
108
- #: include/admin.php:286
109
- msgid "The language code must be unique"
110
- msgstr "Der Sprachcode muss eindeutig sein"
111
-
112
- #@ polylang
113
- #: include/admin.php:287
114
- msgid "The language must have a name"
115
- msgstr "Die Sprache muss einen Namen haben"
116
-
117
- #@ polylang
118
- #: include/admin.php:295
119
- msgid "Displays a language switcher at the end of the menu"
120
- msgstr "Zeigt einen Sprachenumschalter am Ende des Menüs"
121
-
122
- #@ polylang
123
- #: include/post-metabox.php:5
124
- msgid "Page's language:"
125
- msgstr "Sprache der Seite :"
126
-
127
- #@ polylang
128
- #: include/post-metabox.php:5
129
- msgid "Post's language:"
130
- msgstr "Sprache des Artikels :"
131
-
132
- #@ polylang
133
- #: include/list-table.php:128
134
- #: include/term-translations.php:6
135
- #: include/term-translations.php:11
136
- msgid "Translations"
137
- msgstr "Übersetzungen"
138
-
139
- #@ polylang
140
- #: include/term-translations.php:16
141
- msgid "Translation"
142
- msgstr "Übersetzung"
143
-
144
- #@ polylang
145
- #: include/list-table.php:26
146
- #: include/post-translations.php:6
147
- #: include/post-translations.php:27
148
- #: include/term-translations.php:18
149
- #: include/term-translations.php:65
150
- msgid "Edit"
151
- msgstr "Bearbeiten"
152
-
153
- #@ polylang
154
- #: include/post-translations.php:32
155
- #: include/term-translations.php:54
156
- msgid "Add new"
157
- msgstr "Hinzufügen"
158
-
159
- #@ polylang
160
- #: include/admin-filters.php:152
161
- msgid "Show all languages"
162
- msgstr "Alle Sprachen anzeigen"
163
-
164
- #@ polylang
165
- #: include/admin-filters.php:577
166
- msgid "Theme locations and languages"
167
- msgstr "Verortung der Vorlage und Sprachen"
168
-
169
- #@ polylang
170
- #: include/admin-filters.php:582
171
- #, php-format
172
- msgid "Please go to the %slanguages page%s to set theme locations and languages"
173
- msgstr "Du solltest zur %sSprachenseite%s gehen, um die Verortung der Vorlage und die Sprachen einzustellen."
174
-
175
- #@ polylang
176
- #: include/admin-filters.php:593
177
- msgid "The widget is displayed for:"
178
- msgstr "Zeigt das Widget für :"
179
-
180
- #@ polylang
181
- #: include/admin-filters.php:594
182
- msgid "All languages"
183
- msgstr "Alle Sprachen"
184
-
185
- #@ polylang
186
- #: include/list-table.php:27
187
- msgid "Delete"
188
- msgstr "Löschen"
189
-
190
- #@ polylang
191
- #: include/languages-form.php:67
192
- #: include/list-table.php:45
193
- msgid "Full name"
194
- msgstr "Name"
195
-
196
- #@ polylang
197
- #: include/languages-form.php:73
198
- #: include/list-table.php:46
199
- msgid "Locale"
200
- msgstr "Sprachdatei"
201
-
202
- #@ polylang
203
- #: include/list-table.php:47
204
- msgid "Code"
205
- msgstr "Code"
206
-
207
- #@ polylang
208
- #: include/list-table.php:49
209
- msgid "Flag"
210
- msgstr "Fahne"
211
-
212
- #@ polylang
213
- #: include/list-table.php:50
214
- msgid "Posts"
215
- msgstr "Artikel"
216
-
217
- #@ default
218
- #. translators: Calendar caption: 1: month name, 2: 4-digit year
219
- #: include/calendar.php:107
220
- #, php-format
221
- msgctxt "calendar caption"
222
- msgid "%1$s %2$s"
223
- msgstr "%1$s %2$s"
224
-
225
- #@ default
226
- #: include/calendar.php:133
227
- #: include/calendar.php:141
228
- #, php-format
229
- msgid "View posts for %1$s %2$s"
230
- msgstr "Siehe Artikel für %1$s %2$s"
231
-
232
- #@ polylang
233
- #: include/languages-form.php:33
234
- msgid "Edit language"
235
- msgstr "Sprache bearbeiten"
236
-
237
- #@ polylang
238
- #: include/languages-form.php:33
239
- #: include/languages-form.php:91
240
- msgid "Add new language"
241
- msgstr "Neue Sprache hinzufügen"
242
-
243
- #@ polylang
244
- #: include/languages-form.php:55
245
- msgid "Choose a language"
246
- msgstr "Sprache auswählen"
247
-
248
- #@ polylang
249
- #: include/languages-form.php:63
250
- msgid "You can choose a language in the list or directly edit it below."
251
- msgstr "Du kannst eine Sprache in der Liste auswählen oder sie unten direkt bearbeiten."
252
-
253
- #@ polylang
254
- #: include/languages-form.php:69
255
- msgid "The name is how it is displayed on your site (for example: English)."
256
- msgstr "Dieser Name wird dann auf der Website angezeigt (beispielsweise : Deutsch)"
257
-
258
- #@ polylang
259
- #: include/languages-form.php:76
260
- msgid "Wordpress Locale for the language (for example: en_US). You will need to install the .mo file for this language."
261
- msgstr "Wordpress Sprachdatei für die Sprache (beispielweise : de_DE). Du musst die .mo-Datei für diese Sprache installieren."
262
-
263
- #@ polylang
264
- #: include/languages-form.php:80
265
- msgid "Language code"
266
- msgstr "Sprachcode"
267
-
268
- #@ polylang
269
- #: include/languages-form.php:82
270
- msgid "2-letters ISO 639-1 language code (for example: en)"
271
- msgstr "2 Buchstaben ISO 639-1 Sprachcode (beispielsweise : de)"
272
-
273
- #@ default
274
- #: include/languages-form.php:91
275
- msgid "Update"
276
- msgstr "Aktualisieren"
277
-
278
- #@ polylang
279
- #: include/languages-form.php:127
280
- msgid "Language switcher"
281
- msgstr "Sprachenumschalter"
282
-
283
- #@ polylang
284
- #: include/languages-form.php:166
285
- msgid "Default language"
286
- msgstr "Standardsprache"
287
-
288
- #@ polylang
289
- #: include/languages-form.php:195
290
- msgid "There are posts, pages, categories or tags without language set. Do you want to set them all to default language ?"
291
- msgstr "Es gibt Artikel, Seite, Kategorien oder Schlagwörter ohne Spracheinstellung. Willst du alle auf die Standardsprache einstellen ?"
292
-
293
- #@ polylang
294
- #: include/languages-form.php:203
295
- msgid "Detect browser language"
296
- msgstr "Browsersprache erkennen"
297
-
298
- #@ polylang
299
- #: include/languages-form.php:209
300
- msgid "When the front page is visited, set the language according to the browser preference"
301
- msgstr "Beim Besuch der Startseite erscheint sie in der Standardsprache des Browsers"
302
-
303
- #@ polylang
304
- #: include/languages-form.php:216
305
- msgid "URL modifications"
306
- msgstr "URL-Veränderungen"
307
-
308
- #@ polylang
309
- #: include/languages-form.php:222
310
- msgid "Keep /language/ in pretty permalinks. Example:"
311
- msgstr "/language/ in schönen Permalinks behalten. Zum Beispiel :"
312
-
313
- #@ polylang
314
- #: include/languages-form.php:230
315
- msgid "Remove /language/ in pretty permalinks. Example:"
316
- msgstr "/language/ in Permalinks entfernen. Zum Beispiel :"
317
-
318
- #@ polylang
319
- #: include/languages-form.php:238
320
- msgid "Hide URL language information for default language"
321
- msgstr "URL Informationen für die Standardsprache verstecken"
322
-
323
- #@ polylang
324
- #: include/post-translations.php:1
325
- msgid "ID of pages in other languages:"
326
- msgstr "ID der Seiten in anderen Sprachen :"
327
-
328
- #@ polylang
329
- #: include/post-translations.php:1
330
- msgid "ID of posts in other languages:"
331
- msgstr "ID der Artikel in anderen Sprachen :"
332
-
333
- #@ polylang
334
- #: include/post-translations.php:5
335
- msgid "Page ID"
336
- msgstr "ID der Seite"
337
-
338
- #@ polylang
339
- #: include/post-translations.php:5
340
- msgid "Post ID"
341
- msgstr "Artikel-ID"
342
-
343
- #@ polylang
344
- #: include/personal-options.php:5
345
- msgid "Admin language"
346
- msgstr "Adminsprache"
347
-
348
- #@ polylang
349
- #: include/admin-filters.php:128
350
- #: include/admin-filters.php:482
351
- msgid "Add new translation"
352
- msgstr "Neue Übersetzung hinzufügen"
353
-
354
- #@ default
355
- #: include/admin-filters.php:238
356
- msgid "(no parent)"
357
- msgstr "(kein Elternteil)"
358
-
359
- #@ polylang
360
- #: include/admin.php:265
361
- #: include/list-table.php:104
362
- msgid "Strings translation"
363
- msgstr "Übersetung von Sätzen"
364
-
365
- #@ polylang
366
- #: include/admin.php:288
367
- msgid "The language was created, but the WordPress language file was not downloaded. Please install it manually."
368
- msgstr "Die Sprache wurde erstellt, aber die WordPress Sprachdatei wurde nicht heruntergeladen. Bitte händisch installieren."
369
-
370
- #@ default
371
- #: include/admin.php:311
372
- msgid "Site Title"
373
- msgstr "Titel der Website"
374
-
375
- #@ default
376
- #: include/admin.php:312
377
- msgid "Tagline"
378
- msgstr "Tagline"
379
-
380
- #@ default
381
- #: include/admin.php:328
382
- msgid "Widget title"
383
- msgstr "Titel des Widgets"
384
-
385
- #@ polylang
386
- #: include/languages-form.php:86
387
- #: include/list-table.php:48
388
- msgid "Order"
389
- msgstr "Reihenfolge"
390
-
391
- #@ polylang
392
- #: include/languages-form.php:88
393
- msgid "Position of the language in the language switcher"
394
- msgstr "Position der Sprache im Sprachenumschalter"
395
-
396
- #@ polylang
397
- #: include/list-table.php:105
398
- msgid "Strings translations"
399
- msgstr "Übersetungen von Sätzen"
400
-
401
- #@ polylang
402
- #: include/list-table.php:126
403
- msgid "Name"
404
- msgstr "Name"
405
-
406
- #@ polylang
407
- #: include/list-table.php:127
408
- msgid "String"
409
- msgstr "Zeichenfolge"
410
-
411
- #@ polylang
412
- #: include/term-translations.php:48
413
- msgid "No untranslated term"
414
- msgstr "Kein unübersetzter Ausdruck"
415
-
416
- #@ polylang
417
- #: polylang.php:171
418
- #, php-format
419
- msgid "Please move your local flags from %s to %s"
420
- msgstr "Bitte entfernen Sie Ihre lokalen Flaggen von %s bis %s"
421
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: polylang\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2011-12-05 20:53+0100\n"
6
+ "PO-Revision-Date: \n"
7
+ "Last-Translator: Christian Ries <christian_ries@internet.lu>\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; 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;_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"
15
+ "X-Poedit-Basepath: .\n"
16
+ "X-Textdomain-Support: yes\n"
17
+ "X-Poedit-SearchPath-0: ..\n"
18
+
19
+ #@ polylang
20
+ #: polylang.php:185
21
+ msgid "Error: Restore of local flags failed!"
22
+ msgstr "Fehler: Wiederherstellung der lokalen Fahnen fehlgeschlagen!"
23
+
24
+ #@ polylang
25
+ #: include/admin-filters.php:512
26
+ #: include/admin-filters.php:529
27
+ #: include/list-table.php:12
28
+ #: include/post-translations.php:4
29
+ #: include/term-translations.php:15
30
+ msgid "Language"
31
+ msgstr "Sprache"
32
+
33
+ #@ polylang
34
+ #: include/admin-filters.php:514
35
+ #: include/admin-filters.php:532
36
+ msgid "Sets the language"
37
+ msgstr "definiert die Sprache"
38
+
39
+ #@ polylang
40
+ #: include/widget.php:6
41
+ msgid "Language Switcher"
42
+ msgstr "Sprachenumschalter"
43
+
44
+ #@ polylang
45
+ #: include/widget.php:6
46
+ msgid "Displays a language switcher"
47
+ msgstr "Zeigt einen Sprachenumschalter"
48
+
49
+ #@ polylang
50
+ #: include/widget.php:71
51
+ msgid "Title:"
52
+ msgstr "Titel :"
53
+
54
+ #@ polylang
55
+ #: include/admin.php:482
56
+ msgid "Displays language names"
57
+ msgstr "Darstellung der Namen der Sprachen"
58
+
59
+ #@ polylang
60
+ #: include/admin.php:483
61
+ msgid "Displays flags"
62
+ msgstr "Darstellung der Fahnen"
63
+
64
+ #@ polylang
65
+ #: include/admin.php:488
66
+ msgid "Displays as dropdown"
67
+ msgstr "Als Auswahlbox darstellen"
68
+
69
+ #@ polylang
70
+ #: include/admin.php:484
71
+ msgid "Forces link to front page"
72
+ msgstr "Erzwingt einen Link zur Startseite"
73
+
74
+ #@ default
75
+ #@ polylang
76
+ #: include/admin.php:25
77
+ #: include/admin.php:298
78
+ msgid "Settings"
79
+ msgstr "Einstellungen"
80
+
81
+ #@ polylang
82
+ #: include/admin-filters.php:185
83
+ #: include/admin.php:32
84
+ #: include/admin.php:291
85
+ #: include/list-table.php:13
86
+ msgid "Languages"
87
+ msgstr "Sprachen"
88
+
89
+ #@ polylang
90
+ #: include/admin.php:296
91
+ msgid "Menus"
92
+ msgstr "Menüs"
93
+
94
+ #@ polylang
95
+ #: include/admin.php:316
96
+ msgid "Enter a valid WorPress locale"
97
+ msgstr "Bitte geben Sie eine gültige Sprachdatei an"
98
+
99
+ #@ polylang
100
+ #: include/admin.php:317
101
+ msgid "The language code must be 2 characters long"
102
+ msgstr "Der Sprachcode muss 2 Buchstaben betragen"
103
+
104
+ #@ polylang
105
+ #: include/admin.php:318
106
+ msgid "The language code must be unique"
107
+ msgstr "Der Sprachcode muss eindeutig sein"
108
+
109
+ #@ polylang
110
+ #: include/admin.php:319
111
+ msgid "The language must have a name"
112
+ msgstr "Die Sprache muss einen Namen haben"
113
+
114
+ #@ polylang
115
+ #: include/admin.php:487
116
+ msgid "Displays a language switcher at the end of the menu"
117
+ msgstr "Zeigt einen Sprachenumschalter am Ende des Menüs"
118
+
119
+ #@ polylang
120
+ #: include/admin-filters.php:202
121
+ msgid "Page's language:"
122
+ msgstr "Sprache der Seite :"
123
+
124
+ #@ polylang
125
+ #: include/admin-filters.php:202
126
+ msgid "Post's language:"
127
+ msgstr "Sprache des Artikels :"
128
+
129
+ #@ polylang
130
+ #: include/list-table.php:127
131
+ #: include/term-translations.php:6
132
+ #: include/term-translations.php:11
133
+ msgid "Translations"
134
+ msgstr "Übersetzungen"
135
+
136
+ #@ polylang
137
+ #: include/term-translations.php:16
138
+ msgid "Translation"
139
+ msgstr "Übersetzung"
140
+
141
+ #@ polylang
142
+ #: include/list-table.php:26
143
+ #: include/post-translations.php:6
144
+ #: include/post-translations.php:29
145
+ #: include/term-translations.php:18
146
+ #: include/term-translations.php:65
147
+ msgid "Edit"
148
+ msgstr "Bearbeiten"
149
+
150
+ #@ polylang
151
+ #: include/post-translations.php:34
152
+ #: include/term-translations.php:54
153
+ msgid "Add new"
154
+ msgstr "Hinzufügen"
155
+
156
+ #@ polylang
157
+ #: include/admin-filters.php:172
158
+ msgid "Show all languages"
159
+ msgstr "Alle Sprachen anzeigen"
160
+
161
+ #@ polylang
162
+ #: include/admin-filters.php:714
163
+ msgid "Theme locations and languages"
164
+ msgstr "Verortung der Vorlage und Sprachen"
165
+
166
+ #@ polylang
167
+ #: include/admin-filters.php:719
168
+ #, php-format
169
+ msgid "Please go to the %slanguages page%s to set theme locations and languages"
170
+ msgstr "Du solltest zur %sSprachenseite%s gehen, um die Verortung der Vorlage und die Sprachen einzustellen."
171
+
172
+ #@ polylang
173
+ #: include/admin-filters.php:730
174
+ msgid "The widget is displayed for:"
175
+ msgstr "Zeigt das Widget für :"
176
+
177
+ #@ polylang
178
+ #: include/base.php:33
179
+ msgid "All languages"
180
+ msgstr "Alle Sprachen"
181
+
182
+ #@ polylang
183
+ #: include/list-table.php:27
184
+ msgid "Delete"
185
+ msgstr "Löschen"
186
+
187
+ #@ polylang
188
+ #: include/languages-form.php:67
189
+ #: include/list-table.php:45
190
+ msgid "Full name"
191
+ msgstr "Name"
192
+
193
+ #@ polylang
194
+ #: include/languages-form.php:73
195
+ #: include/list-table.php:46
196
+ msgid "Locale"
197
+ msgstr "Sprachdatei"
198
+
199
+ #@ polylang
200
+ #: include/list-table.php:47
201
+ msgid "Code"
202
+ msgstr "Code"
203
+
204
+ #@ polylang
205
+ #: include/list-table.php:49
206
+ msgid "Flag"
207
+ msgstr "Fahne"
208
+
209
+ #@ polylang
210
+ #: include/list-table.php:50
211
+ msgid "Posts"
212
+ msgstr "Artikel"
213
+
214
+ #@ default
215
+ #. translators: Calendar caption: 1: month name, 2: 4-digit year
216
+ #: include/calendar.php:106
217
+ #, php-format
218
+ msgctxt "calendar caption"
219
+ msgid "%1$s %2$s"
220
+ msgstr "%1$s %2$s"
221
+
222
+ #@ default
223
+ #: include/calendar.php:132
224
+ #: include/calendar.php:140
225
+ #, php-format
226
+ msgid "View posts for %1$s %2$s"
227
+ msgstr "Siehe Artikel für %1$s %2$s"
228
+
229
+ #@ polylang
230
+ #: include/languages-form.php:33
231
+ msgid "Edit language"
232
+ msgstr "Sprache bearbeiten"
233
+
234
+ #@ polylang
235
+ #: include/languages-form.php:33
236
+ #: include/languages-form.php:98
237
+ msgid "Add new language"
238
+ msgstr "Neue Sprache hinzufügen"
239
+
240
+ #@ polylang
241
+ #: include/languages-form.php:55
242
+ msgid "Choose a language"
243
+ msgstr "Sprache auswählen"
244
+
245
+ #@ polylang
246
+ #: include/languages-form.php:63
247
+ msgid "You can choose a language in the list or directly edit it below."
248
+ msgstr "Du kannst eine Sprache in der Liste auswählen oder sie unten direkt bearbeiten."
249
+
250
+ #@ polylang
251
+ #: include/languages-form.php:69
252
+ msgid "The name is how it is displayed on your site (for example: English)."
253
+ msgstr "Dieser Name wird dann auf der Website angezeigt (beispielsweise : Deutsch)"
254
+
255
+ #@ polylang
256
+ #: include/languages-form.php:76
257
+ msgid "Wordpress Locale for the language (for example: en_US). You will need to install the .mo file for this language."
258
+ msgstr "Wordpress Sprachdatei für die Sprache (beispielweise : de_DE). Du musst die .mo-Datei für diese Sprache installieren."
259
+
260
+ #@ polylang
261
+ #: include/languages-form.php:80
262
+ msgid "Language code"
263
+ msgstr "Sprachcode"
264
+
265
+ #@ polylang
266
+ #: include/languages-form.php:82
267
+ msgid "2-letters ISO 639-1 language code (for example: en)"
268
+ msgstr "2 Buchstaben ISO 639-1 Sprachcode (beispielsweise : de)"
269
+
270
+ #@ default
271
+ #: include/languages-form.php:98
272
+ msgid "Update"
273
+ msgstr "Aktualisieren"
274
+
275
+ #@ polylang
276
+ #: include/languages-form.php:134
277
+ msgid "Language switcher"
278
+ msgstr "Sprachenumschalter"
279
+
280
+ #@ polylang
281
+ #: include/languages-form.php:173
282
+ msgid "Default language"
283
+ msgstr "Standardsprache"
284
+
285
+ #@ polylang
286
+ #: include/languages-form.php:191
287
+ msgid "There are posts, pages, categories or tags without language set. Do you want to set them all to default language ?"
288
+ msgstr "Es gibt Artikel, Seite, Kategorien oder Schlagwörter ohne Spracheinstellung. Willst du alle auf die Standardsprache einstellen ?"
289
+
290
+ #@ polylang
291
+ #: include/languages-form.php:199
292
+ msgid "Detect browser language"
293
+ msgstr "Browsersprache erkennen"
294
+
295
+ #@ polylang
296
+ #: include/languages-form.php:205
297
+ msgid "When the front page is visited, set the language according to the browser preference"
298
+ msgstr "Beim Besuch der Startseite erscheint sie in der Standardsprache des Browsers"
299
+
300
+ #@ polylang
301
+ #: include/languages-form.php:212
302
+ msgid "URL modifications"
303
+ msgstr "URL-Veränderungen"
304
+
305
+ #@ polylang
306
+ #: include/languages-form.php:218
307
+ msgid "Keep /language/ in pretty permalinks. Example:"
308
+ msgstr "/language/ in schönen Permalinks behalten. Zum Beispiel :"
309
+
310
+ #@ polylang
311
+ #: include/languages-form.php:226
312
+ msgid "Remove /language/ in pretty permalinks. Example:"
313
+ msgstr "/language/ in Permalinks entfernen. Zum Beispiel :"
314
+
315
+ #@ polylang
316
+ #: include/languages-form.php:234
317
+ msgid "Hide URL language information for default language"
318
+ msgstr "URL Informationen für die Standardsprache verstecken"
319
+
320
+ #@ polylang
321
+ #: include/post-translations.php:1
322
+ msgid "ID of pages in other languages:"
323
+ msgstr "ID der Seiten in anderen Sprachen :"
324
+
325
+ #@ polylang
326
+ #: include/post-translations.php:1
327
+ msgid "ID of posts in other languages:"
328
+ msgstr "ID der Artikel in anderen Sprachen :"
329
+
330
+ #@ polylang
331
+ #: include/post-translations.php:5
332
+ msgid "Page ID"
333
+ msgstr "ID der Seite"
334
+
335
+ #@ polylang
336
+ #: include/post-translations.php:5
337
+ msgid "Post ID"
338
+ msgstr "Artikel-ID"
339
+
340
+ #@ polylang
341
+ #: include/admin-filters.php:761
342
+ msgid "Admin language"
343
+ msgstr "Adminsprache"
344
+
345
+ #@ polylang
346
+ #: include/admin-filters.php:148
347
+ #: include/admin-filters.php:575
348
+ msgid "Add new translation"
349
+ msgstr "Neue Übersetzung hinzufügen"
350
+
351
+ #@ default
352
+ #: include/admin-filters.php:262
353
+ msgid "(no parent)"
354
+ msgstr "(kein Elternteil)"
355
+
356
+ #@ polylang
357
+ #: include/admin.php:298
358
+ #: include/list-table.php:104
359
+ msgid "Strings translation"
360
+ msgstr "Übersetung von Sätzen"
361
+
362
+ #@ polylang
363
+ #: include/admin.php:320
364
+ msgid "The language was created, but the WordPress language file was not downloaded. Please install it manually."
365
+ msgstr "Die Sprache wurde erstellt, aber die WordPress Sprachdatei wurde nicht heruntergeladen. Bitte händisch installieren."
366
+
367
+ #@ default
368
+ #: include/admin.php:497
369
+ msgid "Site Title"
370
+ msgstr "Titel der Website"
371
+
372
+ #@ default
373
+ #: include/admin.php:498
374
+ msgid "Tagline"
375
+ msgstr "Tagline"
376
+
377
+ #@ polylang
378
+ #: include/admin.php:517
379
+ msgid "Widget title"
380
+ msgstr "Titel des Widgets"
381
+
382
+ #@ polylang
383
+ #: include/languages-form.php:93
384
+ #: include/list-table.php:48
385
+ msgid "Order"
386
+ msgstr "Reihenfolge"
387
+
388
+ #@ polylang
389
+ #: include/languages-form.php:95
390
+ msgid "Position of the language in the language switcher"
391
+ msgstr "Position der Sprache im Sprachenumschalter"
392
+
393
+ #@ polylang
394
+ #: include/list-table.php:105
395
+ msgid "Strings translations"
396
+ msgstr "Übersetungen von Sätzen"
397
+
398
+ #@ polylang
399
+ #: include/list-table.php:125
400
+ msgid "Name"
401
+ msgstr "Name"
402
+
403
+ #@ polylang
404
+ #: include/list-table.php:126
405
+ msgid "String"
406
+ msgstr "Zeichenfolge"
407
+
408
+ #@ polylang
409
+ #: include/term-translations.php:48
410
+ msgid "No untranslated term"
411
+ msgstr "Kein unübersetzter Ausdruck"
412
+
413
+ #@ polylang
414
+ #: polylang.php:186
415
+ #, php-format
416
+ msgid "Please move your local flags from %s to %s"
417
+ msgstr "Bitte entfernen Sie Ihre lokalen Flaggen von %s bis %s"
418
+
419
+ #@ default
420
+ #: include/admin-filters.php:697
421
+ msgid "None"
422
+ msgstr "Keine"
423
+
424
+ #@ polylang
425
+ #: include/admin.php:473
426
+ msgid "Upgrading language files&#8230;"
427
+ msgstr "Sprachdateien&#8230; werden aktualisiert"
428
+
429
+ #@ polylang
430
+ #: include/admin.php:485
431
+ msgid "Hides the current language"
432
+ msgstr "Versteckt die aktuelle Sprache"
433
+
434
+ #@ polylang
435
+ #: include/languages-form.php:86
436
+ msgid "Text direction"
437
+ msgstr "Textrichtung"
438
+
439
+ #@ polylang
440
+ #: include/languages-form.php:87
441
+ msgid "left to right"
442
+ msgstr "von links nach rechts"
443
+
444
+ #@ polylang
445
+ #: include/languages-form.php:88
446
+ msgid "right to left"
447
+ msgstr "von rechts nach links"
448
+
449
+ #@ polylang
450
+ #: include/languages-form.php:89
451
+ msgid "Choose the text direction for the language"
452
+ msgstr "Wählen Sie die Textrichtung für die Sprache aus"
453
+
454
+ #@ polylang
455
+ #: include/languages-form.php:241
456
+ msgid "Add language information to all URL including posts, pages, categories and post tags (not recommended)"
457
+ msgstr "Sprachinformationen allen URLs beifügen inkl. Artikel, Seiten, Kategorien und Artikelschlagwörter (nicht empfohlen)"
458
+
459
+ #@ default
460
+ #: polylang.php:88
461
+ #, php-format
462
+ msgid "You are using WordPress %s. Polylang requires at least WordPress %s."
463
+ msgstr "Sie benutzen WordPress %s. Polylang benötigt mindestens WordPress %s."
464
+
languages/polylang-el.mo CHANGED
Binary file
languages/polylang-el.po CHANGED
@@ -4,7 +4,7 @@ msgstr ""
4
  "Project-Id-Version: polylang\n"
5
  "Report-Msgid-Bugs-To: \n"
6
  "POT-Creation-Date: 2012-01-03 20:07+0100\n"
7
- "PO-Revision-Date: 2012-01-05 10:03+0300\n"
8
  "Last-Translator: Theodotos Andreou <theo@ubuntucy.org>\n"
9
  "Language-Team: Cyprus Ubuntu Loco Team (www.ubuntucy.org)\n"
10
  "Language: el\n"
@@ -13,342 +13,462 @@ msgstr ""
13
  "Content-Transfer-Encoding: 8bit\n"
14
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
  "X-Generator: Virtaal 0.7.0\n"
 
 
16
  "X-Poedit-SourceCharset: utf-8\n"
17
- "X-Poedit-KeywordsList: _e;__;_x\n"
 
18
  "X-Poedit-Basepath: .\n"
 
19
  "X-Poedit-SearchPath-0: ..\n"
20
- "X-Poedit-SearchPath-1: ../include\n"
21
 
22
- #: ../polylang.php:170
 
23
  msgid "Error: Restore of local flags failed!"
24
  msgstr "Σφάλμα: αποτυχία επαναφοράς των τοπικών σημαιών!"
25
 
26
- #: ../polylang.php:171
 
27
  #, php-format
28
  msgid "Please move your local flags from %s to %s"
29
  msgstr "Παρακαλώ μετακινήστε τις τοπικές σημαίες σας από %s σε %s"
30
 
31
- #: ../include/edit-term-form.php:6
32
- #: ../include/term-translations.php:15
33
- #: ../include/add-term-form.php:5
34
- #: ../include/list-table.php:12
 
 
35
  msgid "Language"
36
  msgstr "Γλώσσα"
37
 
38
- #: ../include/edit-term-form.php:19
39
- #: ../include/add-term-form.php:17
 
40
  msgid "Sets the language"
41
  msgstr "Ορισμός γλώσσας"
42
 
43
- #: ../include/widget.php:6
 
44
  msgid "Language Switcher"
45
  msgstr "Επιλογέας γλώσσας"
46
 
47
- #: ../include/widget.php:6
 
48
  msgid "Displays a language switcher"
49
  msgstr "Εμφάνιση επιλογέα γλώσσας"
50
 
51
- #: ../include/widget.php:74
 
52
  msgid "Title:"
53
  msgstr "Τίτλος:"
54
 
55
- #: ../include/widget.php:77
56
- #: ../include/admin.php:296
57
  msgid "Displays language names"
58
  msgstr "Εμφάνιση ονομάτων γλώσσας"
59
 
60
- #: ../include/widget.php:78
61
- #: ../include/admin.php:297
62
  msgid "Displays flags"
63
  msgstr "Εμφάνιση σημαιών"
64
 
65
- #: ../include/widget.php:79
 
66
  msgid "Displays as dropdown"
67
  msgstr "Εμφάνιση σαν κυλιόμενο μενού"
68
 
69
- #: ../include/widget.php:80
70
- #: ../include/admin.php:298
71
  msgid "Forces link to front page"
72
  msgstr "Υποχρεωτική παραπομπή συνδέσμου στην αρχική σελίδα"
73
 
74
- #: ../include/admin.php:21
75
- #: ../include/admin.php:266
 
 
76
  msgid "Settings"
77
  msgstr "Ρυθμίσεις"
78
 
79
- #: ../include/admin.php:28
80
- #: ../include/admin.php:263
81
- #: ../include/admin-filters.php:164
82
- #: ../include/list-table.php:13
 
83
  msgid "Languages"
84
  msgstr "Γλώσσες"
85
 
86
- #: ../include/admin.php:264
 
87
  msgid "Menus"
88
  msgstr "Μενού"
89
 
90
- #: ../include/admin.php:265
91
- #: ../include/list-table.php:104
 
92
  msgid "Strings translation"
93
  msgstr "Μετάφραση συμβολοσειρών"
94
 
95
- #: ../include/admin.php:284
 
96
  msgid "Enter a valid WorPress locale"
97
  msgstr "Εισάγετε μια έγκυρη τοπιοποίηση Wordpress"
98
 
99
- #: ../include/admin.php:285
 
100
  msgid "The language code must be 2 characters long"
101
  msgstr "Ο κώδικας γλώσσας θα πρέπει να είναι 2 χαρακτήρες"
102
 
103
- #: ../include/admin.php:286
 
104
  msgid "The language code must be unique"
105
  msgstr "Ο κώδικας γλώσσας θα πρέπει να είναι μοναδικός"
106
 
107
- #: ../include/admin.php:287
 
108
  msgid "The language must have a name"
109
  msgstr "Η γλώσσα πρέπει να έχει όνομα"
110
 
111
- #: ../include/admin.php:288
 
112
  msgid "The language was created, but the WordPress language file was not downloaded. Please install it manually."
113
- msgstr ""
114
- "Η γλώσσα δημιουργήθηκε αλλά το αρχείο γλώσσας του Wordpress δεν έχει "
115
- "κατέβει. Παρακαλώ εγκαταστήστε το εσείς."
116
 
117
- #: ../include/admin.php:295
 
118
  msgid "Displays a language switcher at the end of the menu"
119
  msgstr "Εμφάνιση επιλογέα γλώσσας στο τέλος του μενού"
120
 
121
- #: ../include/admin.php:311
 
122
  msgid "Site Title"
123
  msgstr "Τίτλος ιστοσελίδας"
124
 
125
- #: ../include/admin.php:312
 
126
  msgid "Tagline"
127
  msgstr "Υπότιτλος"
128
 
129
- #: ../include/admin.php:328
 
130
  msgid "Widget title"
131
  msgstr "Τίτλος μονάδας"
132
 
133
- #: ../include/post-metabox.php:5
 
134
  msgid "Page's language:"
135
  msgstr "Γλώσσα σελίδας:"
136
 
137
- #: ../include/post-metabox.php:5
 
138
  msgid "Post's language:"
139
  msgstr "Γλώσσα άρθρου:"
140
 
141
- #: ../include/term-translations.php:6
142
- #: ../include/term-translations.php:11
143
- #: ../include/list-table.php:128
 
144
  msgid "Translations"
145
  msgstr "Μεταφράσεις"
146
 
147
- #: ../include/term-translations.php:16
 
148
  msgid "Translation"
149
  msgstr "Μετάφραση"
150
 
151
- #: ../include/term-translations.php:18
152
- #: ../include/term-translations.php:65
153
- #: ../include/list-table.php:26
 
 
 
154
  msgid "Edit"
155
  msgstr "Επεξεργασία"
156
 
157
- #: ../include/term-translations.php:48
 
158
  msgid "No untranslated term"
159
  msgstr "Απουσία αμετάφραστου όρου"
160
 
161
- #: ../include/term-translations.php:54
 
 
162
  msgid "Add new"
163
  msgstr "Προσθήκη νέου"
164
 
165
- #: ../include/admin-filters.php:128
166
- #: ../include/admin-filters.php:482
 
167
  msgid "Add new translation"
168
  msgstr "Προσθήκη νέας μετάφρασης"
169
 
170
- #: ../include/admin-filters.php:152
 
171
  msgid "Show all languages"
172
  msgstr "Εμφάνιση όλων των γλωσσών"
173
 
174
- #: ../include/admin-filters.php:238
 
175
  msgid "(no parent)"
176
  msgstr "(απουσία μητρικού)"
177
 
178
- #: ../include/admin-filters.php:577
 
179
  msgid "Theme locations and languages"
180
  msgstr "Γλώσσες και τοποθεσίες θεμάτων"
181
 
182
- #: ../include/admin-filters.php:582
 
183
  #, php-format
184
  msgid "Please go to the %slanguages page%s to set theme locations and languages"
185
- msgstr ""
186
- "Παρακαλώ πηγαίνετε στην %sσελίδα γλώσσας%s για καθορισμό τοποθεσιών και "
187
- "γλωσσών θέματος"
188
 
189
- #: ../include/admin-filters.php:593
 
190
  msgid "The widget is displayed for:"
191
  msgstr "Η μονάδα εμφανίζεται για:"
192
 
193
- #: ../include/admin-filters.php:594
 
194
  msgid "All languages"
195
  msgstr "Όλες οι γλώσσες"
196
 
197
- #: ../include/list-table.php:27
 
198
  msgid "Delete"
199
  msgstr "Διαγραφή"
200
 
201
- #: ../include/list-table.php:45
202
- #: ../include/languages-form.php:67
 
203
  msgid "Full name"
204
  msgstr "Πλήρες όνομα"
205
 
206
- #: ../include/list-table.php:46
207
- #: ../include/languages-form.php:73
 
208
  msgid "Locale"
209
  msgstr "Τοπιοποίηση"
210
 
211
- #: ../include/list-table.php:47
 
212
  msgid "Code"
213
  msgstr "Κώδικας"
214
 
215
- #: ../include/list-table.php:48
216
- #: ../include/languages-form.php:86
 
217
  msgid "Order"
218
  msgstr "Εντολή"
219
 
220
- #: ../include/list-table.php:49
 
221
  msgid "Flag"
222
  msgstr "Σημαία"
223
 
224
- #: ../include/list-table.php:50
 
225
  msgid "Posts"
226
  msgstr "Άρθρα"
227
 
228
- #: ../include/list-table.php:105
 
229
  msgid "Strings translations"
230
  msgstr "Μετάφραση συμβολοσειρών"
231
 
232
- #: ../include/list-table.php:126
 
233
  msgid "Name"
234
  msgstr "Όνομα"
235
 
236
- #: ../include/list-table.php:127
 
237
  msgid "String"
238
  msgstr "Συμβολοσειρά"
239
 
240
- #: ../include/calendar.php:107
241
- #, php-format
242
- msgid "%1$s %2$s"
243
- msgstr "%1$s %2$s"
244
-
245
- #: ../include/calendar.php:133
246
- #: ../include/calendar.php:141
247
  #, php-format
248
  msgid "View posts for %1$s %2$s"
249
  msgstr "Προβολή άρθρων για %1$s %2$s"
250
 
251
- #: ../include/languages-form.php:33
 
252
  msgid "Edit language"
253
  msgstr "Επεξεργασία γλώσσας"
254
 
255
- #: ../include/languages-form.php:33
256
- #: ../include/languages-form.php:91
 
257
  msgid "Add new language"
258
  msgstr "Προσθήκη νέας γλώσσας"
259
 
260
- #: ../include/languages-form.php:55
 
261
  msgid "Choose a language"
262
  msgstr "Επιλογή γλώσσας"
263
 
264
- #: ../include/languages-form.php:63
 
265
  msgid "You can choose a language in the list or directly edit it below."
266
- msgstr ""
267
- "Μπορείτε να επιλέξετε μια γλώσσα από την λίστα ή να την επεξεργαστείτε πιο "
268
- "κάτω."
269
 
270
- #: ../include/languages-form.php:69
 
271
  msgid "The name is how it is displayed on your site (for example: English)."
272
  msgstr "Το όνομα καθορίζει πως θα εμφανίζεται στην σελίδα σας (πχ: Ελληνικά)."
273
 
274
- #: ../include/languages-form.php:76
 
275
  msgid "Wordpress Locale for the language (for example: en_US). You will need to install the .mo file for this language."
276
- msgstr ""
277
- "Τοπιοποίηση Wordpress για την γλώσσα (πχ: en_US). Θα χρειαστεί να "
278
- "εγκαταστήσετε το αρχείο .mo για αυτή την γλώσσα."
279
 
280
- #: ../include/languages-form.php:80
 
281
  msgid "Language code"
282
  msgstr "Κώδικας γλώσσας"
283
 
284
- #: ../include/languages-form.php:82
 
285
  msgid "2-letters ISO 639-1 language code (for example: en)"
286
  msgstr "ISO 639-1 κώδικας γλώσσας 2 χαρακτήρων (πχ: en)"
287
 
288
- #: ../include/languages-form.php:88
 
289
  msgid "Position of the language in the language switcher"
290
  msgstr "Θέση της γλώσσας στον επιλογέα γλώσσας"
291
 
292
- #: ../include/languages-form.php:91
 
293
  msgid "Update"
294
  msgstr "Ενημέρωση"
295
 
296
- #: ../include/languages-form.php:127
 
297
  msgid "Language switcher"
298
  msgstr "Επιλογέας γλώσσας"
299
 
300
- #: ../include/languages-form.php:166
 
301
  msgid "Default language"
302
  msgstr "Προκαθορισμένη γλώσσα"
303
 
304
- #: ../include/languages-form.php:195
 
305
  msgid "There are posts, pages, categories or tags without language set. Do you want to set them all to default language ?"
306
- msgstr ""
307
- "Υπάρχουν άρθρα, σελίδες, κατηγορίες ή ετικέτες χωρίς καθορισμό γλώσσας. "
308
- "Θέλετε να οριστούν όλα στην προκαθορισμένη γλώσσα;"
309
 
310
- #: ../include/languages-form.php:203
 
311
  msgid "Detect browser language"
312
  msgstr "Αναγνώριση γλώσσας φυλλομετρητή"
313
 
314
- #: ../include/languages-form.php:209
 
315
  msgid "When the front page is visited, set the language according to the browser preference"
316
- msgstr ""
317
- "Όταν καλείται η αρχική σελίδα, να καθορίζεται η γλώσσα βάση των προτιμήσεων "
318
- "του φυλλομετρητή"
319
 
320
- #: ../include/languages-form.php:216
 
321
  msgid "URL modifications"
322
  msgstr "Τροποποιήσεις URL"
323
 
324
- #: ../include/languages-form.php:222
 
325
  msgid "Keep /language/ in pretty permalinks. Example:"
326
  msgstr "Διατήρηση /language/ σε ευδιάκριτους μόνιμους συνδέσμους. Παράδειγμα:"
327
 
328
- #: ../include/languages-form.php:230
 
329
  msgid "Remove /language/ in pretty permalinks. Example:"
330
  msgstr "Αφαίρεση /language/ από ευδιάκριτους μόνιμους συνδέσμους. Παράδειγμα:"
331
 
332
- #: ../include/languages-form.php:238
 
333
  msgid "Hide URL language information for default language"
334
  msgstr "Απόκρυψη των πληροφοριών γλώσσας από URL, για την προκαθορισμένη γλώσσα"
335
 
336
- #: ../include/post-translations.php:1
 
337
  msgid "ID of pages in other languages:"
338
  msgstr "ID των σελίδων σε άλλες γλώσσες:"
339
 
340
- #: ../include/post-translations.php:1
 
341
  msgid "ID of posts in other languages:"
342
  msgstr "ID των άρθρων σε άλλες γλώσσες:"
343
 
344
- #: ../include/post-translations.php:5
 
345
  msgid "Page ID"
346
  msgstr "ID σελίδας"
347
 
348
- #: ../include/post-translations.php:5
 
349
  msgid "Post ID"
350
  msgstr "ID άρθρου"
351
 
352
- #: ../include/personal-options.php:5
 
353
  msgid "Admin language"
354
  msgstr "Γλώσσα διαχείρησης"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  "Project-Id-Version: polylang\n"
5
  "Report-Msgid-Bugs-To: \n"
6
  "POT-Creation-Date: 2012-01-03 20:07+0100\n"
7
+ "PO-Revision-Date: 2012-01-24 08:28+0300\n"
8
  "Last-Translator: Theodotos Andreou <theo@ubuntucy.org>\n"
9
  "Language-Team: Cyprus Ubuntu Loco Team (www.ubuntucy.org)\n"
10
  "Language: el\n"
13
  "Content-Transfer-Encoding: 8bit\n"
14
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
  "X-Generator: Virtaal 0.7.0\n"
16
+ "X-Poedit-Language: \n"
17
+ "X-Poedit-Country: \n"
18
  "X-Poedit-SourceCharset: utf-8\n"
19
+ "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_no"
20
+ "op:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n"
21
  "X-Poedit-Basepath: .\n"
22
+ "X-Poedit-Bookmarks: \n"
23
  "X-Poedit-SearchPath-0: ..\n"
24
+ "X-Textdomain-Support: yes\n"
25
 
26
+ #@ polylang
27
+ #: polylang.php:185
28
  msgid "Error: Restore of local flags failed!"
29
  msgstr "Σφάλμα: αποτυχία επαναφοράς των τοπικών σημαιών!"
30
 
31
+ #@ polylang
32
+ #: polylang.php:186
33
  #, php-format
34
  msgid "Please move your local flags from %s to %s"
35
  msgstr "Παρακαλώ μετακινήστε τις τοπικές σημαίες σας από %s σε %s"
36
 
37
+ #@ polylang
38
+ #: include/admin-filters.php:512
39
+ #: include/admin-filters.php:529
40
+ #: include/list-table.php:12
41
+ #: include/post-translations.php:4
42
+ #: include/term-translations.php:15
43
  msgid "Language"
44
  msgstr "Γλώσσα"
45
 
46
+ #@ polylang
47
+ #: include/admin-filters.php:514
48
+ #: include/admin-filters.php:532
49
  msgid "Sets the language"
50
  msgstr "Ορισμός γλώσσας"
51
 
52
+ #@ polylang
53
+ #: include/widget.php:6
54
  msgid "Language Switcher"
55
  msgstr "Επιλογέας γλώσσας"
56
 
57
+ #@ polylang
58
+ #: include/widget.php:6
59
  msgid "Displays a language switcher"
60
  msgstr "Εμφάνιση επιλογέα γλώσσας"
61
 
62
+ #@ polylang
63
+ #: include/widget.php:71
64
  msgid "Title:"
65
  msgstr "Τίτλος:"
66
 
67
+ #@ polylang
68
+ #: include/admin.php:482
69
  msgid "Displays language names"
70
  msgstr "Εμφάνιση ονομάτων γλώσσας"
71
 
72
+ #@ polylang
73
+ #: include/admin.php:483
74
  msgid "Displays flags"
75
  msgstr "Εμφάνιση σημαιών"
76
 
77
+ #@ polylang
78
+ #: include/admin.php:488
79
  msgid "Displays as dropdown"
80
  msgstr "Εμφάνιση σαν κυλιόμενο μενού"
81
 
82
+ #@ polylang
83
+ #: include/admin.php:484
84
  msgid "Forces link to front page"
85
  msgstr "Υποχρεωτική παραπομπή συνδέσμου στην αρχική σελίδα"
86
 
87
+ #@ default
88
+ #@ polylang
89
+ #: include/admin.php:25
90
+ #: include/admin.php:298
91
  msgid "Settings"
92
  msgstr "Ρυθμίσεις"
93
 
94
+ #@ polylang
95
+ #: include/admin-filters.php:185
96
+ #: include/admin.php:32
97
+ #: include/admin.php:291
98
+ #: include/list-table.php:13
99
  msgid "Languages"
100
  msgstr "Γλώσσες"
101
 
102
+ #@ polylang
103
+ #: include/admin.php:296
104
  msgid "Menus"
105
  msgstr "Μενού"
106
 
107
+ #@ polylang
108
+ #: include/admin.php:298
109
+ #: include/list-table.php:104
110
  msgid "Strings translation"
111
  msgstr "Μετάφραση συμβολοσειρών"
112
 
113
+ #@ polylang
114
+ #: include/admin.php:316
115
  msgid "Enter a valid WorPress locale"
116
  msgstr "Εισάγετε μια έγκυρη τοπιοποίηση Wordpress"
117
 
118
+ #@ polylang
119
+ #: include/admin.php:317
120
  msgid "The language code must be 2 characters long"
121
  msgstr "Ο κώδικας γλώσσας θα πρέπει να είναι 2 χαρακτήρες"
122
 
123
+ #@ polylang
124
+ #: include/admin.php:318
125
  msgid "The language code must be unique"
126
  msgstr "Ο κώδικας γλώσσας θα πρέπει να είναι μοναδικός"
127
 
128
+ #@ polylang
129
+ #: include/admin.php:319
130
  msgid "The language must have a name"
131
  msgstr "Η γλώσσα πρέπει να έχει όνομα"
132
 
133
+ #@ polylang
134
+ #: include/admin.php:320
135
  msgid "The language was created, but the WordPress language file was not downloaded. Please install it manually."
136
+ msgstr "Η γλώσσα δημιουργήθηκε αλλά το αρχείο γλώσσας του Wordpress δεν έχει κατέβει. Παρακαλώ εγκαταστήστε το εσείς."
 
 
137
 
138
+ #@ polylang
139
+ #: include/admin.php:487
140
  msgid "Displays a language switcher at the end of the menu"
141
  msgstr "Εμφάνιση επιλογέα γλώσσας στο τέλος του μενού"
142
 
143
+ #@ default
144
+ #: include/admin.php:497
145
  msgid "Site Title"
146
  msgstr "Τίτλος ιστοσελίδας"
147
 
148
+ #@ default
149
+ #: include/admin.php:498
150
  msgid "Tagline"
151
  msgstr "Υπότιτλος"
152
 
153
+ #@ polylang
154
+ #: include/admin.php:517
155
  msgid "Widget title"
156
  msgstr "Τίτλος μονάδας"
157
 
158
+ #@ polylang
159
+ #: include/admin-filters.php:202
160
  msgid "Page's language:"
161
  msgstr "Γλώσσα σελίδας:"
162
 
163
+ #@ polylang
164
+ #: include/admin-filters.php:202
165
  msgid "Post's language:"
166
  msgstr "Γλώσσα άρθρου:"
167
 
168
+ #@ polylang
169
+ #: include/list-table.php:127
170
+ #: include/term-translations.php:6
171
+ #: include/term-translations.php:11
172
  msgid "Translations"
173
  msgstr "Μεταφράσεις"
174
 
175
+ #@ polylang
176
+ #: include/term-translations.php:16
177
  msgid "Translation"
178
  msgstr "Μετάφραση"
179
 
180
+ #@ polylang
181
+ #: include/list-table.php:26
182
+ #: include/post-translations.php:6
183
+ #: include/post-translations.php:29
184
+ #: include/term-translations.php:18
185
+ #: include/term-translations.php:65
186
  msgid "Edit"
187
  msgstr "Επεξεργασία"
188
 
189
+ #@ polylang
190
+ #: include/term-translations.php:48
191
  msgid "No untranslated term"
192
  msgstr "Απουσία αμετάφραστου όρου"
193
 
194
+ #@ polylang
195
+ #: include/post-translations.php:34
196
+ #: include/term-translations.php:54
197
  msgid "Add new"
198
  msgstr "Προσθήκη νέου"
199
 
200
+ #@ polylang
201
+ #: include/admin-filters.php:148
202
+ #: include/admin-filters.php:575
203
  msgid "Add new translation"
204
  msgstr "Προσθήκη νέας μετάφρασης"
205
 
206
+ #@ polylang
207
+ #: include/admin-filters.php:172
208
  msgid "Show all languages"
209
  msgstr "Εμφάνιση όλων των γλωσσών"
210
 
211
+ #@ default
212
+ #: include/admin-filters.php:262
213
  msgid "(no parent)"
214
  msgstr "(απουσία μητρικού)"
215
 
216
+ #@ polylang
217
+ #: include/admin-filters.php:714
218
  msgid "Theme locations and languages"
219
  msgstr "Γλώσσες και τοποθεσίες θεμάτων"
220
 
221
+ #@ polylang
222
+ #: include/admin-filters.php:719
223
  #, php-format
224
  msgid "Please go to the %slanguages page%s to set theme locations and languages"
225
+ msgstr "Παρακαλώ πηγαίνετε στην %sσελίδα γλώσσας%s για καθορισμό τοποθεσιών και γλωσσών θέματος"
 
 
226
 
227
+ #@ polylang
228
+ #: include/admin-filters.php:730
229
  msgid "The widget is displayed for:"
230
  msgstr "Η μονάδα εμφανίζεται για:"
231
 
232
+ #@ polylang
233
+ #: include/base.php:33
234
  msgid "All languages"
235
  msgstr "Όλες οι γλώσσες"
236
 
237
+ #@ polylang
238
+ #: include/list-table.php:27
239
  msgid "Delete"
240
  msgstr "Διαγραφή"
241
 
242
+ #@ polylang
243
+ #: include/languages-form.php:67
244
+ #: include/list-table.php:45
245
  msgid "Full name"
246
  msgstr "Πλήρες όνομα"
247
 
248
+ #@ polylang
249
+ #: include/languages-form.php:73
250
+ #: include/list-table.php:46
251
  msgid "Locale"
252
  msgstr "Τοπιοποίηση"
253
 
254
+ #@ polylang
255
+ #: include/list-table.php:47
256
  msgid "Code"
257
  msgstr "Κώδικας"
258
 
259
+ #@ polylang
260
+ #: include/languages-form.php:93
261
+ #: include/list-table.php:48
262
  msgid "Order"
263
  msgstr "Εντολή"
264
 
265
+ #@ polylang
266
+ #: include/list-table.php:49
267
  msgid "Flag"
268
  msgstr "Σημαία"
269
 
270
+ #@ polylang
271
+ #: include/list-table.php:50
272
  msgid "Posts"
273
  msgstr "Άρθρα"
274
 
275
+ #@ polylang
276
+ #: include/list-table.php:105
277
  msgid "Strings translations"
278
  msgstr "Μετάφραση συμβολοσειρών"
279
 
280
+ #@ polylang
281
+ #: include/list-table.php:125
282
  msgid "Name"
283
  msgstr "Όνομα"
284
 
285
+ #@ polylang
286
+ #: include/list-table.php:126
287
  msgid "String"
288
  msgstr "Συμβολοσειρά"
289
 
290
+ #@ default
291
+ #: include/calendar.php:132
292
+ #: include/calendar.php:140
 
 
 
 
293
  #, php-format
294
  msgid "View posts for %1$s %2$s"
295
  msgstr "Προβολή άρθρων για %1$s %2$s"
296
 
297
+ #@ polylang
298
+ #: include/languages-form.php:33
299
  msgid "Edit language"
300
  msgstr "Επεξεργασία γλώσσας"
301
 
302
+ #@ polylang
303
+ #: include/languages-form.php:33
304
+ #: include/languages-form.php:98
305
  msgid "Add new language"
306
  msgstr "Προσθήκη νέας γλώσσας"
307
 
308
+ #@ polylang
309
+ #: include/languages-form.php:55
310
  msgid "Choose a language"
311
  msgstr "Επιλογή γλώσσας"
312
 
313
+ #@ polylang
314
+ #: include/languages-form.php:63
315
  msgid "You can choose a language in the list or directly edit it below."
316
+ msgstr "Μπορείτε να επιλέξετε μια γλώσσα από την λίστα ή να την επεξεργαστείτε πιο κάτω."
 
 
317
 
318
+ #@ polylang
319
+ #: include/languages-form.php:69
320
  msgid "The name is how it is displayed on your site (for example: English)."
321
  msgstr "Το όνομα καθορίζει πως θα εμφανίζεται στην σελίδα σας (πχ: Ελληνικά)."
322
 
323
+ #@ polylang
324
+ #: include/languages-form.php:76
325
  msgid "Wordpress Locale for the language (for example: en_US). You will need to install the .mo file for this language."
326
+ msgstr "Τοπιοποίηση Wordpress για την γλώσσα (πχ: en_US). Θα χρειαστεί να εγκαταστήσετε το αρχείο .mo για αυτή την γλώσσα."
 
 
327
 
328
+ #@ polylang
329
+ #: include/languages-form.php:80
330
  msgid "Language code"
331
  msgstr "Κώδικας γλώσσας"
332
 
333
+ #@ polylang
334
+ #: include/languages-form.php:82
335
  msgid "2-letters ISO 639-1 language code (for example: en)"
336
  msgstr "ISO 639-1 κώδικας γλώσσας 2 χαρακτήρων (πχ: en)"
337
 
338
+ #@ polylang
339
+ #: include/languages-form.php:95
340
  msgid "Position of the language in the language switcher"
341
  msgstr "Θέση της γλώσσας στον επιλογέα γλώσσας"
342
 
343
+ #@ default
344
+ #: include/languages-form.php:98
345
  msgid "Update"
346
  msgstr "Ενημέρωση"
347
 
348
+ #@ polylang
349
+ #: include/languages-form.php:134
350
  msgid "Language switcher"
351
  msgstr "Επιλογέας γλώσσας"
352
 
353
+ #@ polylang
354
+ #: include/languages-form.php:173
355
  msgid "Default language"
356
  msgstr "Προκαθορισμένη γλώσσα"
357
 
358
+ #@ polylang
359
+ #: include/languages-form.php:191
360
  msgid "There are posts, pages, categories or tags without language set. Do you want to set them all to default language ?"
361
+ msgstr "Υπάρχουν άρθρα, σελίδες, κατηγορίες ή ετικέτες χωρίς καθορισμό γλώσσας. Θέλετε να οριστούν όλα στην προκαθορισμένη γλώσσα;"
 
 
362
 
363
+ #@ polylang
364
+ #: include/languages-form.php:199
365
  msgid "Detect browser language"
366
  msgstr "Αναγνώριση γλώσσας φυλλομετρητή"
367
 
368
+ #@ polylang
369
+ #: include/languages-form.php:205
370
  msgid "When the front page is visited, set the language according to the browser preference"
371
+ msgstr "Όταν καλείται η αρχική σελίδα, να καθορίζεται η γλώσσα βάση των προτιμήσεων του φυλλομετρητή"
 
 
372
 
373
+ #@ polylang
374
+ #: include/languages-form.php:212
375
  msgid "URL modifications"
376
  msgstr "Τροποποιήσεις URL"
377
 
378
+ #@ polylang
379
+ #: include/languages-form.php:218
380
  msgid "Keep /language/ in pretty permalinks. Example:"
381
  msgstr "Διατήρηση /language/ σε ευδιάκριτους μόνιμους συνδέσμους. Παράδειγμα:"
382
 
383
+ #@ polylang
384
+ #: include/languages-form.php:226
385
  msgid "Remove /language/ in pretty permalinks. Example:"
386
  msgstr "Αφαίρεση /language/ από ευδιάκριτους μόνιμους συνδέσμους. Παράδειγμα:"
387
 
388
+ #@ polylang
389
+ #: include/languages-form.php:234
390
  msgid "Hide URL language information for default language"
391
  msgstr "Απόκρυψη των πληροφοριών γλώσσας από URL, για την προκαθορισμένη γλώσσα"
392
 
393
+ #@ polylang
394
+ #: include/post-translations.php:1
395
  msgid "ID of pages in other languages:"
396
  msgstr "ID των σελίδων σε άλλες γλώσσες:"
397
 
398
+ #@ polylang
399
+ #: include/post-translations.php:1
400
  msgid "ID of posts in other languages:"
401
  msgstr "ID των άρθρων σε άλλες γλώσσες:"
402
 
403
+ #@ polylang
404
+ #: include/post-translations.php:5
405
  msgid "Page ID"
406
  msgstr "ID σελίδας"
407
 
408
+ #@ polylang
409
+ #: include/post-translations.php:5
410
  msgid "Post ID"
411
  msgstr "ID άρθρου"
412
 
413
+ #@ polylang
414
+ #: include/admin-filters.php:761
415
  msgid "Admin language"
416
  msgstr "Γλώσσα διαχείρησης"
417
+
418
+ #@ default
419
+ #: include/admin-filters.php:697
420
+ msgid "None"
421
+ msgstr "Κανένα"
422
+
423
+ #@ polylang
424
+ #: include/admin.php:473
425
+ msgid "Upgrading language files&#8230;"
426
+ msgstr "Αναβάθμιση αρχείων γλώσσας&#8230;"
427
+
428
+ #@ polylang
429
+ #: include/admin.php:485
430
+ msgid "Hides the current language"
431
+ msgstr "Απόκρυψη τρέχουσας γλώσσας"
432
+
433
+ #@ default
434
+ #. translators: Calendar caption: 1: month name, 2: 4-digit year
435
+ #: include/calendar.php:106
436
+ #, php-format
437
+ msgctxt "calendar caption"
438
+ msgid "%1$s %2$s"
439
+ msgstr "%1$s %2$s"
440
+
441
+ #@ polylang
442
+ #: include/languages-form.php:86
443
+ msgid "Text direction"
444
+ msgstr "Κατεύθυνση κειμένου"
445
+
446
+ #@ polylang
447
+ #: include/languages-form.php:87
448
+ msgid "left to right"
449
+ msgstr "αριστερά προς δεξιά"
450
+
451
+ #@ polylang
452
+ #: include/languages-form.php:88
453
+ msgid "right to left"
454
+ msgstr "δεξιά προς αριστερά"
455
+
456
+ #@ polylang
457
+ #: include/languages-form.php:89
458
+ msgid "Choose the text direction for the language"
459
+ msgstr "Επιλογή κατεύθυνσης κειμένου για γλώσσα"
460
+
461
+ #@ polylang
462
+ #: include/languages-form.php:241
463
+ msgid "Add language information to all URL including posts, pages, categories and post tags (not recommended)"
464
+ msgstr ""
465
+ "Προσθήκη πληροφορίας γλώσσας σε όλα τα URL συμπεριλαμβανομένων άρθρων, "
466
+ "σελίδων, κατηγοριών και ετικετών άρθρων (δεν συστήνεται) "
467
+
468
+ #@ default
469
+ #: polylang.php:88
470
+ #, php-format
471
+ msgid "You are using WordPress %s. Polylang requires at least WordPress %s."
472
+ msgstr ""
473
+ "Χρησιμοποιείτε WordPress %s. Το Polylang χρειάζεται τουλάχιστον WordPress %"
474
+ "s."
languages/polylang-fr_FR.mo CHANGED
Binary file
languages/polylang-fr_FR.po CHANGED
@@ -10,415 +10,455 @@ msgstr ""
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-Language: \n"
14
- "X-Poedit-Country: \n"
15
  "X-Poedit-SourceCharset: utf-8\n"
16
- "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_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"
17
  "X-Poedit-Basepath: .\n"
18
- "X-Poedit-Bookmarks: \n"
19
  "X-Poedit-SearchPath-0: ..\n"
20
- "X-Textdomain-Support: yes"
21
 
22
- #: include/add-term-form.php:5
23
- #: include/edit-term-form.php:6
 
24
  #: include/list-table.php:12
25
  #: include/post-translations.php:4
26
  #: include/term-translations.php:15
27
- #@ polylang
28
  msgid "Language"
29
  msgstr "Langue"
30
 
31
- #: include/add-term-form.php:17
32
- #: include/edit-term-form.php:19
33
  #@ polylang
 
 
34
  msgid "Sets the language"
35
  msgstr "Définit la langue"
36
 
37
- #: include/widget.php:6
38
  #@ polylang
 
39
  msgid "Language Switcher"
40
  msgstr "Liste des langues"
41
 
42
- #: include/widget.php:6
43
  #@ polylang
 
44
  msgid "Displays a language switcher"
45
  msgstr "Affiche la liste des langues"
46
 
47
- #: include/widget.php:74
48
  #@ polylang
 
49
  msgid "Title:"
50
  msgstr "Titre :"
51
 
52
- #: include/admin.php:296
53
- #: include/widget.php:77
54
  #@ polylang
 
55
  msgid "Displays language names"
56
  msgstr "Afficher le nom des langues"
57
 
58
- #: include/admin.php:297
59
- #: include/widget.php:78
60
  #@ polylang
 
61
  msgid "Displays flags"
62
  msgstr "Afficher les drapeaux"
63
 
64
- #: include/widget.php:79
65
  #@ polylang
 
66
  msgid "Displays as dropdown"
67
  msgstr "Afficher comme liste déroulante"
68
 
69
- #: include/admin.php:298
70
- #: include/widget.php:80
71
  #@ polylang
 
72
  msgid "Forces link to front page"
73
  msgstr "Force le lien vers la page d'accueil"
74
 
75
- #: include/admin.php:21
76
- #: include/admin.php:266
77
  #@ default
78
  #@ polylang
 
 
79
  msgid "Settings"
80
  msgstr "Réglages"
81
 
82
- #: include/admin-filters.php:164
83
- #: include/admin.php:28
84
- #: include/admin.php:263
85
- #: include/list-table.php:13
86
  #@ polylang
 
 
 
 
87
  msgid "Languages"
88
  msgstr "Langues"
89
 
90
- #: include/admin.php:264
91
  #@ polylang
 
92
  msgid "Menus"
93
  msgstr "Menus"
94
 
95
- #: include/admin.php:265
96
- #: include/list-table.php:104
97
  #@ polylang
 
 
98
  msgid "Strings translation"
99
  msgstr "Traduction de phrases"
100
 
101
- #: include/admin.php:284
102
  #@ polylang
 
103
  msgid "Enter a valid WorPress locale"
104
  msgstr "Entrez un code local WordPress valide"
105
 
106
- #: include/admin.php:285
107
  #@ polylang
 
108
  msgid "The language code must be 2 characters long"
109
  msgstr "Le code de la langue doit avoir 2 lettres"
110
 
111
- #: include/admin.php:286
112
  #@ polylang
 
113
  msgid "The language code must be unique"
114
  msgstr "Le code de la langue doit être unique"
115
 
116
- #: include/admin.php:287
117
  #@ polylang
 
118
  msgid "The language must have a name"
119
  msgstr "La langue doit avoir un nom"
120
 
121
- #: include/admin.php:288
122
  #@ polylang
 
123
  msgid "The language was created, but the WordPress language file was not downloaded. Please install it manually."
124
  msgstr "La langue a été créée, mais le fichier de langue WordPress n'a pu être téléchargé. Merci de l'installer manuellement."
125
 
126
- #: include/admin.php:295
127
  #@ polylang
 
128
  msgid "Displays a language switcher at the end of the menu"
129
  msgstr "Affiche la liste des langues"
130
 
131
- #: include/admin.php:311
132
  #@ default
 
133
  msgid "Site Title"
134
  msgstr ""
135
 
136
- #: include/admin.php:312
137
  #@ default
 
138
  msgid "Tagline"
139
  msgstr ""
140
 
141
- #: include/admin.php:328
142
- #@ default
143
  msgid "Widget title"
144
- msgstr ""
145
 
146
- #: include/post-metabox.php:5
147
  #@ polylang
 
148
  msgid "Page's language:"
149
  msgstr "Langue de la page"
150
 
151
- #: include/post-metabox.php:5
152
  #@ polylang
 
153
  msgid "Post's language:"
154
  msgstr "Langue de l'article"
155
 
156
- #: include/list-table.php:128
 
157
  #: include/term-translations.php:6
158
  #: include/term-translations.php:11
159
- #@ polylang
160
  msgid "Translations"
161
  msgstr "Traductions"
162
 
163
- #: include/term-translations.php:16
164
  #@ polylang
 
165
  msgid "Translation"
166
  msgstr "Traduction"
167
 
 
168
  #: include/list-table.php:26
169
  #: include/post-translations.php:6
170
- #: include/post-translations.php:27
171
  #: include/term-translations.php:18
172
  #: include/term-translations.php:65
173
- #@ polylang
174
  msgid "Edit"
175
  msgstr "Modifier"
176
 
177
- #: include/term-translations.php:48
178
  #@ polylang
 
179
  msgid "No untranslated term"
180
  msgstr "Pas de terme non traduit"
181
 
182
- #: include/post-translations.php:32
183
- #: include/term-translations.php:54
184
  #@ polylang
 
 
185
  msgid "Add new"
186
  msgstr "Ajouter"
187
 
188
- #: include/admin-filters.php:128
189
- #: include/admin-filters.php:482
190
  #@ polylang
 
 
191
  msgid "Add new translation"
192
  msgstr "Ajoute une nouvelle traduction"
193
 
194
- #: include/admin-filters.php:152
195
  #@ polylang
 
196
  msgid "Show all languages"
197
  msgstr "Afficher toutes les langues"
198
 
199
- #: include/admin-filters.php:238
200
  #@ default
 
201
  msgid "(no parent)"
202
  msgstr ""
203
 
204
- #: include/admin-filters.php:577
205
  #@ polylang
 
206
  msgid "Theme locations and languages"
207
  msgstr "Emplacements du thème et langues"
208
 
209
- #: include/admin-filters.php:582
210
- #, php-format
211
  #@ polylang
 
 
212
  msgid "Please go to the %slanguages page%s to set theme locations and languages"
213
  msgstr "Aller à la %spage langues%s pour définir les emplacements du thème et les langues"
214
 
215
- #: include/admin-filters.php:593
216
  #@ polylang
 
217
  msgid "The widget is displayed for:"
218
  msgstr "Afficher le widget pour :"
219
 
220
- #: include/admin-filters.php:594
221
  #@ polylang
 
222
  msgid "All languages"
223
  msgstr "Toutes les langues"
224
 
225
- #: include/list-table.php:27
226
  #@ polylang
 
227
  msgid "Delete"
228
  msgstr "Supprimer"
229
 
 
230
  #: include/languages-form.php:67
231
  #: include/list-table.php:45
232
- #@ polylang
233
  msgid "Full name"
234
  msgstr "Nom"
235
 
 
236
  #: include/languages-form.php:73
237
  #: include/list-table.php:46
238
- #@ polylang
239
  msgid "Locale"
240
  msgstr "Code local"
241
 
242
- #: include/list-table.php:47
243
  #@ polylang
 
244
  msgid "Code"
245
  msgstr "Code"
246
 
247
- #: include/languages-form.php:86
248
- #: include/list-table.php:48
249
  #@ polylang
 
 
250
  msgid "Order"
251
  msgstr "Ordre"
252
 
253
- #: include/list-table.php:49
254
  #@ polylang
 
255
  msgid "Flag"
256
  msgstr "Drapeau"
257
 
258
- #: include/list-table.php:50
259
  #@ polylang
 
260
  msgid "Posts"
261
  msgstr "Articles"
262
 
263
- #: include/list-table.php:105
264
  #@ polylang
 
265
  msgid "Strings translations"
266
  msgstr "Traductions de phrases"
267
 
268
- #: include/list-table.php:126
269
  #@ polylang
 
270
  msgid "Name"
271
  msgstr "Nom"
272
 
273
- #: include/list-table.php:127
274
  #@ polylang
 
275
  msgid "String"
276
  msgstr "Phrase"
277
 
 
278
  #. translators: Calendar caption: 1: month name, 2: 4-digit year
279
- #: include/calendar.php:107
280
  #, php-format
281
- #@ default
282
  msgctxt "calendar caption"
283
  msgid "%1$s %2$s"
284
  msgstr ""
285
 
286
- #: include/calendar.php:133
287
- #: include/calendar.php:141
288
- #, php-format
289
  #@ default
 
 
 
290
  msgid "View posts for %1$s %2$s"
291
  msgstr ""
292
 
293
- #: include/languages-form.php:33
294
  #@ polylang
 
295
  msgid "Edit language"
296
  msgstr "Modifier la langue"
297
 
298
- #: include/languages-form.php:33
299
- #: include/languages-form.php:91
300
  #@ polylang
 
 
301
  msgid "Add new language"
302
  msgstr "Ajouter une nouvelle langue"
303
 
304
- #: include/languages-form.php:55
305
  #@ polylang
 
306
  msgid "Choose a language"
307
  msgstr "Choisir une langue"
308
 
309
- #: include/languages-form.php:63
310
  #@ polylang
 
311
  msgid "You can choose a language in the list or directly edit it below."
312
  msgstr "Choisissez une langue dans la liste ou éditez la directement ci-dessous."
313
 
314
- #: include/languages-form.php:69
315
  #@ polylang
 
316
  msgid "The name is how it is displayed on your site (for example: English)."
317
  msgstr "Le nom est utilisé un peu partout sur le site (par exemple : Français)"
318
 
319
- #: include/languages-form.php:76
320
  #@ polylang
 
321
  msgid "Wordpress Locale for the language (for example: en_US). You will need to install the .mo file for this language."
322
  msgstr "Code local utilisé par Wordpress pour la langue (par exemple : fr_FR). Vous aurez besoin d'installer les fichiers .mo correspondant"
323
 
324
- #: include/languages-form.php:80
325
  #@ polylang
 
326
  msgid "Language code"
327
  msgstr "Code de la langue"
328
 
329
- #: include/languages-form.php:82
330
  #@ polylang
 
331
  msgid "2-letters ISO 639-1 language code (for example: en)"
332
  msgstr "Code ISO 639-1 à 2 lettres (par exemple : fr)"
333
 
334
- #: include/languages-form.php:88
335
  #@ polylang
 
336
  msgid "Position of the language in the language switcher"
337
  msgstr "Position de la langue dans la liste de langues"
338
 
339
- #: include/languages-form.php:91
340
  #@ default
 
341
  msgid "Update"
342
  msgstr "Mettre à jour"
343
 
344
- #: include/languages-form.php:127
345
  #@ polylang
 
346
  msgid "Language switcher"
347
  msgstr "Liste des langues"
348
 
349
- #: include/languages-form.php:166
350
  #@ polylang
 
351
  msgid "Default language"
352
  msgstr "Langue par défaut"
353
 
354
- #: include/languages-form.php:195
355
  #@ polylang
 
356
  msgid "There are posts, pages, categories or tags without language set. Do you want to set them all to default language ?"
357
  msgstr "Il y a des articles, pages, catégories ou tags sans langue définie. Voulez-vous leur attribuer la langue par défaut ?"
358
 
359
- #: include/languages-form.php:203
360
  #@ polylang
 
361
  msgid "Detect browser language"
362
  msgstr "Détecter la langue du navigateur"
363
 
364
- #: include/languages-form.php:209
365
  #@ polylang
 
366
  msgid "When the front page is visited, set the language according to the browser preference"
367
  msgstr "Lorsque la page d'accueil est visitée pour la première fois, le visiteur est redirigé à la bonne URL en fonction des préférences de langue de son navigateur"
368
 
369
- #: include/languages-form.php:216
370
  #@ polylang
 
371
  msgid "URL modifications"
372
  msgstr "Modifications des URL"
373
 
374
- #: include/languages-form.php:222
375
  #@ polylang
 
376
  msgid "Keep /language/ in pretty permalinks. Example:"
377
  msgstr "Conserve /language/ dans les permaliens. Exemple :"
378
 
379
- #: include/languages-form.php:230
380
  #@ polylang
 
381
  msgid "Remove /language/ in pretty permalinks. Example:"
382
  msgstr "Supprime /language/ dans les permaliens. Exemple :"
383
 
384
- #: include/languages-form.php:238
385
  #@ polylang
 
386
  msgid "Hide URL language information for default language"
387
  msgstr "Cacher l'information de langue dans l'URL pour la langue par défaut"
388
 
389
- #: include/post-translations.php:1
390
  #@ polylang
 
391
  msgid "ID of pages in other languages:"
392
  msgstr "ID des pages dans les autres langues"
393
 
394
- #: include/post-translations.php:1
395
  #@ polylang
 
396
  msgid "ID of posts in other languages:"
397
  msgstr "ID des articles dans les autres langues"
398
 
399
- #: include/post-translations.php:5
400
  #@ polylang
 
401
  msgid "Page ID"
402
  msgstr "ID de la page"
403
 
404
- #: include/post-translations.php:5
405
  #@ polylang
 
406
  msgid "Post ID"
407
  msgstr "ID de l'article"
408
 
409
- #: include/personal-options.php:5
410
  #@ polylang
 
411
  msgid "Admin language"
412
  msgstr "Langue pour l'interface d'administration"
413
 
414
- #: polylang.php:170
415
  #@ polylang
 
416
  msgid "Error: Restore of local flags failed!"
417
  msgstr "Erreur : La restauration des drapeaux personnalisés a échoué"
418
 
419
- #: polylang.php:171
420
- #, php-format
421
  #@ polylang
 
 
422
  msgid "Please move your local flags from %s to %s"
423
  msgstr "Merci de déplacer vos drapeaux personnalisés de %s vers %s"
424
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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;_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"
15
  "X-Poedit-Basepath: .\n"
16
+ "X-Textdomain-Support: yes\n"
17
  "X-Poedit-SearchPath-0: ..\n"
 
18
 
19
+ #@ polylang
20
+ #: include/admin-filters.php:512
21
+ #: include/admin-filters.php:529
22
  #: include/list-table.php:12
23
  #: include/post-translations.php:4
24
  #: include/term-translations.php:15
 
25
  msgid "Language"
26
  msgstr "Langue"
27
 
 
 
28
  #@ polylang
29
+ #: include/admin-filters.php:514
30
+ #: include/admin-filters.php:532
31
  msgid "Sets the language"
32
  msgstr "Définit la langue"
33
 
 
34
  #@ polylang
35
+ #: include/widget.php:6
36
  msgid "Language Switcher"
37
  msgstr "Liste des langues"
38
 
 
39
  #@ polylang
40
+ #: include/widget.php:6
41
  msgid "Displays a language switcher"
42
  msgstr "Affiche la liste des langues"
43
 
 
44
  #@ polylang
45
+ #: include/widget.php:71
46
  msgid "Title:"
47
  msgstr "Titre :"
48
 
 
 
49
  #@ polylang
50
+ #: include/admin.php:482
51
  msgid "Displays language names"
52
  msgstr "Afficher le nom des langues"
53
 
 
 
54
  #@ polylang
55
+ #: include/admin.php:483
56
  msgid "Displays flags"
57
  msgstr "Afficher les drapeaux"
58
 
 
59
  #@ polylang
60
+ #: include/admin.php:488
61
  msgid "Displays as dropdown"
62
  msgstr "Afficher comme liste déroulante"
63
 
 
 
64
  #@ polylang
65
+ #: include/admin.php:484
66
  msgid "Forces link to front page"
67
  msgstr "Force le lien vers la page d'accueil"
68
 
 
 
69
  #@ default
70
  #@ polylang
71
+ #: include/admin.php:25
72
+ #: include/admin.php:298
73
  msgid "Settings"
74
  msgstr "Réglages"
75
 
 
 
 
 
76
  #@ polylang
77
+ #: include/admin-filters.php:185
78
+ #: include/admin.php:32
79
+ #: include/admin.php:291
80
+ #: include/list-table.php:13
81
  msgid "Languages"
82
  msgstr "Langues"
83
 
 
84
  #@ polylang
85
+ #: include/admin.php:296
86
  msgid "Menus"
87
  msgstr "Menus"
88
 
 
 
89
  #@ polylang
90
+ #: include/admin.php:298
91
+ #: include/list-table.php:104
92
  msgid "Strings translation"
93
  msgstr "Traduction de phrases"
94
 
 
95
  #@ polylang
96
+ #: include/admin.php:316
97
  msgid "Enter a valid WorPress locale"
98
  msgstr "Entrez un code local WordPress valide"
99
 
 
100
  #@ polylang
101
+ #: include/admin.php:317
102
  msgid "The language code must be 2 characters long"
103
  msgstr "Le code de la langue doit avoir 2 lettres"
104
 
 
105
  #@ polylang
106
+ #: include/admin.php:318
107
  msgid "The language code must be unique"
108
  msgstr "Le code de la langue doit être unique"
109
 
 
110
  #@ polylang
111
+ #: include/admin.php:319
112
  msgid "The language must have a name"
113
  msgstr "La langue doit avoir un nom"
114
 
 
115
  #@ polylang
116
+ #: include/admin.php:320
117
  msgid "The language was created, but the WordPress language file was not downloaded. Please install it manually."
118
  msgstr "La langue a été créée, mais le fichier de langue WordPress n'a pu être téléchargé. Merci de l'installer manuellement."
119
 
 
120
  #@ polylang
121
+ #: include/admin.php:487
122
  msgid "Displays a language switcher at the end of the menu"
123
  msgstr "Affiche la liste des langues"
124
 
 
125
  #@ default
126
+ #: include/admin.php:497
127
  msgid "Site Title"
128
  msgstr ""
129
 
 
130
  #@ default
131
+ #: include/admin.php:498
132
  msgid "Tagline"
133
  msgstr ""
134
 
135
+ #@ polylang
136
+ #: include/admin.php:517
137
  msgid "Widget title"
138
+ msgstr "Titre de widget"
139
 
 
140
  #@ polylang
141
+ #: include/admin-filters.php:202
142
  msgid "Page's language:"
143
  msgstr "Langue de la page"
144
 
 
145
  #@ polylang
146
+ #: include/admin-filters.php:202
147
  msgid "Post's language:"
148
  msgstr "Langue de l'article"
149
 
150
+ #@ polylang
151
+ #: include/list-table.php:127
152
  #: include/term-translations.php:6
153
  #: include/term-translations.php:11
 
154
  msgid "Translations"
155
  msgstr "Traductions"
156
 
 
157
  #@ polylang
158
+ #: include/term-translations.php:16
159
  msgid "Translation"
160
  msgstr "Traduction"
161
 
162
+ #@ polylang
163
  #: include/list-table.php:26
164
  #: include/post-translations.php:6
165
+ #: include/post-translations.php:29
166
  #: include/term-translations.php:18
167
  #: include/term-translations.php:65
 
168
  msgid "Edit"
169
  msgstr "Modifier"
170
 
 
171
  #@ polylang
172
+ #: include/term-translations.php:48
173
  msgid "No untranslated term"
174
  msgstr "Pas de terme non traduit"
175
 
 
 
176
  #@ polylang
177
+ #: include/post-translations.php:34
178
+ #: include/term-translations.php:54
179
  msgid "Add new"
180
  msgstr "Ajouter"
181
 
 
 
182
  #@ polylang
183
+ #: include/admin-filters.php:148
184
+ #: include/admin-filters.php:575
185
  msgid "Add new translation"
186
  msgstr "Ajoute une nouvelle traduction"
187
 
 
188
  #@ polylang
189
+ #: include/admin-filters.php:172
190
  msgid "Show all languages"
191
  msgstr "Afficher toutes les langues"
192
 
 
193
  #@ default
194
+ #: include/admin-filters.php:262
195
  msgid "(no parent)"
196
  msgstr ""
197
 
 
198
  #@ polylang
199
+ #: include/admin-filters.php:714
200
  msgid "Theme locations and languages"
201
  msgstr "Emplacements du thème et langues"
202
 
 
 
203
  #@ polylang
204
+ #: include/admin-filters.php:719
205
+ #, php-format
206
  msgid "Please go to the %slanguages page%s to set theme locations and languages"
207
  msgstr "Aller à la %spage langues%s pour définir les emplacements du thème et les langues"
208
 
 
209
  #@ polylang
210
+ #: include/admin-filters.php:730
211
  msgid "The widget is displayed for:"
212
  msgstr "Afficher le widget pour :"
213
 
 
214
  #@ polylang
215
+ #: include/base.php:33
216
  msgid "All languages"
217
  msgstr "Toutes les langues"
218
 
 
219
  #@ polylang
220
+ #: include/list-table.php:27
221
  msgid "Delete"
222
  msgstr "Supprimer"
223
 
224
+ #@ polylang
225
  #: include/languages-form.php:67
226
  #: include/list-table.php:45
 
227
  msgid "Full name"
228
  msgstr "Nom"
229
 
230
+ #@ polylang
231
  #: include/languages-form.php:73
232
  #: include/list-table.php:46
 
233
  msgid "Locale"
234
  msgstr "Code local"
235
 
 
236
  #@ polylang
237
+ #: include/list-table.php:47
238
  msgid "Code"
239
  msgstr "Code"
240
 
 
 
241
  #@ polylang
242
+ #: include/languages-form.php:93
243
+ #: include/list-table.php:48
244
  msgid "Order"
245
  msgstr "Ordre"
246
 
 
247
  #@ polylang
248
+ #: include/list-table.php:49
249
  msgid "Flag"
250
  msgstr "Drapeau"
251
 
 
252
  #@ polylang
253
+ #: include/list-table.php:50
254
  msgid "Posts"
255
  msgstr "Articles"
256
 
 
257
  #@ polylang
258
+ #: include/list-table.php:105
259
  msgid "Strings translations"
260
  msgstr "Traductions de phrases"
261
 
 
262
  #@ polylang
263
+ #: include/list-table.php:125
264
  msgid "Name"
265
  msgstr "Nom"
266
 
 
267
  #@ polylang
268
+ #: include/list-table.php:126
269
  msgid "String"
270
  msgstr "Phrase"
271
 
272
+ #@ default
273
  #. translators: Calendar caption: 1: month name, 2: 4-digit year
274
+ #: include/calendar.php:106
275
  #, php-format
 
276
  msgctxt "calendar caption"
277
  msgid "%1$s %2$s"
278
  msgstr ""
279
 
 
 
 
280
  #@ default
281
+ #: include/calendar.php:132
282
+ #: include/calendar.php:140
283
+ #, php-format
284
  msgid "View posts for %1$s %2$s"
285
  msgstr ""
286
 
 
287
  #@ polylang
288
+ #: include/languages-form.php:33
289
  msgid "Edit language"
290
  msgstr "Modifier la langue"
291
 
 
 
292
  #@ polylang
293
+ #: include/languages-form.php:33
294
+ #: include/languages-form.php:98
295
  msgid "Add new language"
296
  msgstr "Ajouter une nouvelle langue"
297
 
 
298
  #@ polylang
299
+ #: include/languages-form.php:55
300
  msgid "Choose a language"
301
  msgstr "Choisir une langue"
302
 
 
303
  #@ polylang
304
+ #: include/languages-form.php:63
305
  msgid "You can choose a language in the list or directly edit it below."
306
  msgstr "Choisissez une langue dans la liste ou éditez la directement ci-dessous."
307
 
 
308
  #@ polylang
309
+ #: include/languages-form.php:69
310
  msgid "The name is how it is displayed on your site (for example: English)."
311
  msgstr "Le nom est utilisé un peu partout sur le site (par exemple : Français)"
312
 
 
313
  #@ polylang
314
+ #: include/languages-form.php:76
315
  msgid "Wordpress Locale for the language (for example: en_US). You will need to install the .mo file for this language."
316
  msgstr "Code local utilisé par Wordpress pour la langue (par exemple : fr_FR). Vous aurez besoin d'installer les fichiers .mo correspondant"
317
 
 
318
  #@ polylang
319
+ #: include/languages-form.php:80
320
  msgid "Language code"
321
  msgstr "Code de la langue"
322
 
 
323
  #@ polylang
324
+ #: include/languages-form.php:82
325
  msgid "2-letters ISO 639-1 language code (for example: en)"
326
  msgstr "Code ISO 639-1 à 2 lettres (par exemple : fr)"
327
 
 
328
  #@ polylang
329
+ #: include/languages-form.php:95
330
  msgid "Position of the language in the language switcher"
331
  msgstr "Position de la langue dans la liste de langues"
332
 
 
333
  #@ default
334
+ #: include/languages-form.php:98
335
  msgid "Update"
336
  msgstr "Mettre à jour"
337
 
 
338
  #@ polylang
339
+ #: include/languages-form.php:134
340
  msgid "Language switcher"
341
  msgstr "Liste des langues"
342
 
 
343
  #@ polylang
344
+ #: include/languages-form.php:173
345
  msgid "Default language"
346
  msgstr "Langue par défaut"
347
 
 
348
  #@ polylang
349
+ #: include/languages-form.php:191
350
  msgid "There are posts, pages, categories or tags without language set. Do you want to set them all to default language ?"
351
  msgstr "Il y a des articles, pages, catégories ou tags sans langue définie. Voulez-vous leur attribuer la langue par défaut ?"
352
 
 
353
  #@ polylang
354
+ #: include/languages-form.php:199
355
  msgid "Detect browser language"
356
  msgstr "Détecter la langue du navigateur"
357
 
 
358
  #@ polylang
359
+ #: include/languages-form.php:205
360
  msgid "When the front page is visited, set the language according to the browser preference"
361
  msgstr "Lorsque la page d'accueil est visitée pour la première fois, le visiteur est redirigé à la bonne URL en fonction des préférences de langue de son navigateur"
362
 
 
363
  #@ polylang
364
+ #: include/languages-form.php:212
365
  msgid "URL modifications"
366
  msgstr "Modifications des URL"
367
 
 
368
  #@ polylang
369
+ #: include/languages-form.php:218
370
  msgid "Keep /language/ in pretty permalinks. Example:"
371
  msgstr "Conserve /language/ dans les permaliens. Exemple :"
372
 
 
373
  #@ polylang
374
+ #: include/languages-form.php:226
375
  msgid "Remove /language/ in pretty permalinks. Example:"
376
  msgstr "Supprime /language/ dans les permaliens. Exemple :"
377
 
 
378
  #@ polylang
379
+ #: include/languages-form.php:234
380
  msgid "Hide URL language information for default language"
381
  msgstr "Cacher l'information de langue dans l'URL pour la langue par défaut"
382
 
 
383
  #@ polylang
384
+ #: include/post-translations.php:1
385
  msgid "ID of pages in other languages:"
386
  msgstr "ID des pages dans les autres langues"
387
 
 
388
  #@ polylang
389
+ #: include/post-translations.php:1
390
  msgid "ID of posts in other languages:"
391
  msgstr "ID des articles dans les autres langues"
392
 
 
393
  #@ polylang
394
+ #: include/post-translations.php:5
395
  msgid "Page ID"
396
  msgstr "ID de la page"
397
 
 
398
  #@ polylang
399
+ #: include/post-translations.php:5
400
  msgid "Post ID"
401
  msgstr "ID de l'article"
402
 
 
403
  #@ polylang
404
+ #: include/admin-filters.php:761
405
  msgid "Admin language"
406
  msgstr "Langue pour l'interface d'administration"
407
 
 
408
  #@ polylang
409
+ #: polylang.php:185
410
  msgid "Error: Restore of local flags failed!"
411
  msgstr "Erreur : La restauration des drapeaux personnalisés a échoué"
412
 
 
 
413
  #@ polylang
414
+ #: polylang.php:186
415
+ #, php-format
416
  msgid "Please move your local flags from %s to %s"
417
  msgstr "Merci de déplacer vos drapeaux personnalisés de %s vers %s"
418
 
419
+ #@ default
420
+ #: include/admin-filters.php:697
421
+ msgid "None"
422
+ msgstr ""
423
+
424
+ #@ polylang
425
+ #: include/admin.php:473
426
+ msgid "Upgrading language files&#8230;"
427
+ msgstr "Mise à jour des fichiers de langues&#8230;"
428
+
429
+ #@ polylang
430
+ #: include/admin.php:485
431
+ msgid "Hides the current language"
432
+ msgstr "Cacher la langue courante"
433
+
434
+ #@ polylang
435
+ #: include/languages-form.php:86
436
+ msgid "Text direction"
437
+ msgstr "Système d'écriture"
438
+
439
+ #@ polylang
440
+ #: include/languages-form.php:87
441
+ msgid "left to right"
442
+ msgstr "de gauche à droite"
443
+
444
+ #@ polylang
445
+ #: include/languages-form.php:88
446
+ msgid "right to left"
447
+ msgstr "de droite à gauche"
448
+
449
+ #@ polylang
450
+ #: include/languages-form.php:89
451
+ msgid "Choose the text direction for the language"
452
+ msgstr "Choisir le système d'écriture pour la langue"
453
+
454
+ #@ polylang
455
+ #: include/languages-form.php:241
456
+ msgid "Add language information to all URL including posts, pages, categories and post tags (not recommended)"
457
+ msgstr "Ajoute le code de la langue dans tous les permaliens, inclus articles, pages, catégories et mots clés (non recommandé)"
458
+
459
+ #@ default
460
+ #: polylang.php:88
461
+ #, php-format
462
+ msgid "You are using WordPress %s. Polylang requires at least WordPress %s."
463
+ msgstr "Vous utilisez WordPress %s. Polylang nécessite au moins WordPress %s."
464
+
languages/polylang-he_IL.mo ADDED
Binary file
languages/polylang-he_IL.po ADDED
@@ -0,0 +1,465 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: polylang\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2012-01-03 20:07+0100\n"
6
+ "PO-Revision-Date: \n"
7
+ "Last-Translator: \n"
8
+ "Language-Team: <a@arielk.net>\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-Language: Hebrew\n"
14
+ "X-Poedit-SourceCharset: utf-8\n"
15
+ "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_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-Poedit-SearchPath-0: ..\n"
19
+
20
+ #@ polylang
21
+ #: polylang.php:185
22
+ msgid "Error: Restore of local flags failed!"
23
+ msgstr "שגיאה: שחזור דגלים מקומי נכשל!"
24
+
25
+ #@ polylang
26
+ #: polylang.php:186
27
+ #, php-format
28
+ msgid "Please move your local flags from %s to %s"
29
+ msgstr "נא להעביר דגל שפה מ %s ל %s"
30
+
31
+ #@ polylang
32
+ #: include/admin-filters.php:512
33
+ #: include/admin-filters.php:529
34
+ #: include/list-table.php:12
35
+ #: include/post-translations.php:4
36
+ #: include/term-translations.php:15
37
+ msgid "Language"
38
+ msgstr "שפה"
39
+
40
+ #@ polylang
41
+ #: include/admin-filters.php:514
42
+ #: include/admin-filters.php:532
43
+ msgid "Sets the language"
44
+ msgstr "הגדרות שפה"
45
+
46
+ #@ polylang
47
+ #: include/widget.php:6
48
+ msgid "Language Switcher"
49
+ msgstr "מחליף שפות"
50
+
51
+ #@ polylang
52
+ #: include/widget.php:6
53
+ msgid "Displays a language switcher"
54
+ msgstr "הצג את מחליף השפות"
55
+
56
+ #@ polylang
57
+ #: include/widget.php:71
58
+ msgid "Title:"
59
+ msgstr "כותרת:"
60
+
61
+ #@ polylang
62
+ #: include/admin.php:482
63
+ msgid "Displays language names"
64
+ msgstr "הצגת שם שפה"
65
+
66
+ #@ polylang
67
+ #: include/admin.php:483
68
+ msgid "Displays flags"
69
+ msgstr "הצגת דגלים"
70
+
71
+ #@ polylang
72
+ #: include/admin.php:488
73
+ msgid "Displays as dropdown"
74
+ msgstr "הצג בתפריט נפתח"
75
+
76
+ #@ polylang
77
+ #: include/admin.php:484
78
+ msgid "Forces link to front page"
79
+ msgstr "לקשר תמיד לעמוד הבית"
80
+
81
+ #@ default
82
+ #@ polylang
83
+ #: include/admin.php:25
84
+ #: include/admin.php:298
85
+ msgid "Settings"
86
+ msgstr "הגדרות"
87
+
88
+ #@ polylang
89
+ #: include/admin-filters.php:185
90
+ #: include/admin.php:32
91
+ #: include/admin.php:291
92
+ #: include/list-table.php:13
93
+ msgid "Languages"
94
+ msgstr "שפות"
95
+
96
+ #@ polylang
97
+ #: include/admin.php:296
98
+ msgid "Menus"
99
+ msgstr "תפריטים"
100
+
101
+ #@ polylang
102
+ #: include/admin.php:298
103
+ #: include/list-table.php:104
104
+ msgid "Strings translation"
105
+ msgstr "מחרוזות תרגום"
106
+
107
+ #@ polylang
108
+ #: include/admin.php:316
109
+ msgid "Enter a valid WorPress locale"
110
+ msgstr "הזן אזור שתקף בוורדפרס"
111
+
112
+ #@ polylang
113
+ #: include/admin.php:317
114
+ msgid "The language code must be 2 characters long"
115
+ msgstr "קוד שפה חייב להיות עם 2 תוים לפחות"
116
+
117
+ #@ polylang
118
+ #: include/admin.php:318
119
+ msgid "The language code must be unique"
120
+ msgstr "קוד שפה חייב להיות ייחודי"
121
+
122
+ #@ polylang
123
+ #: include/admin.php:319
124
+ msgid "The language must have a name"
125
+ msgstr "שם שפה חובה"
126
+
127
+ #@ polylang
128
+ #: include/admin.php:320
129
+ msgid "The language was created, but the WordPress language file was not downloaded. Please install it manually."
130
+ msgstr "השפה נוצרה, אבל את הקובץ שפה של וורדפרס לא היה ניתן להוריד. אנא התקן את הקבצים באופן ידני."
131
+
132
+ #@ polylang
133
+ #: include/admin.php:487
134
+ msgid "Displays a language switcher at the end of the menu"
135
+ msgstr "הצג את מחליף השפות בסוף התפריט"
136
+
137
+ #@ default
138
+ #: include/admin.php:497
139
+ msgid "Site Title"
140
+ msgstr "כותרת אתר"
141
+
142
+ #@ default
143
+ #: include/admin.php:498
144
+ msgid "Tagline"
145
+ msgstr "שורת תגים"
146
+
147
+ #@ polylang
148
+ #: include/admin.php:517
149
+ msgid "Widget title"
150
+ msgstr "וידג'ט טקסט"
151
+
152
+ #@ polylang
153
+ #: include/admin-filters.php:202
154
+ msgid "Page's language:"
155
+ msgstr "תרגום עמודים"
156
+
157
+ #@ polylang
158
+ #: include/admin-filters.php:202
159
+ msgid "Post's language:"
160
+ msgstr "תרגום פוסטים"
161
+
162
+ #@ polylang
163
+ #: include/list-table.php:127
164
+ #: include/term-translations.php:6
165
+ #: include/term-translations.php:11
166
+ msgid "Translations"
167
+ msgstr "תרגומים"
168
+
169
+ #@ polylang
170
+ #: include/term-translations.php:16
171
+ msgid "Translation"
172
+ msgstr "תרגום"
173
+
174
+ #@ polylang
175
+ #: include/list-table.php:26
176
+ #: include/post-translations.php:6
177
+ #: include/post-translations.php:29
178
+ #: include/term-translations.php:18
179
+ #: include/term-translations.php:65
180
+ msgid "Edit"
181
+ msgstr "עריכה"
182
+
183
+ #@ polylang
184
+ #: include/term-translations.php:48
185
+ msgid "No untranslated term"
186
+ msgstr "המונח לא תורגם"
187
+
188
+ #@ polylang
189
+ #: include/post-translations.php:34
190
+ #: include/term-translations.php:54
191
+ msgid "Add new"
192
+ msgstr "הוספת חדש"
193
+
194
+ #@ polylang
195
+ #: include/admin-filters.php:148
196
+ #: include/admin-filters.php:575
197
+ msgid "Add new translation"
198
+ msgstr "הוספת תרגום חדש"
199
+
200
+ #@ polylang
201
+ #: include/admin-filters.php:172
202
+ msgid "Show all languages"
203
+ msgstr "הצג את כל השפות"
204
+
205
+ #@ default
206
+ #: include/admin-filters.php:262
207
+ msgid "(no parent)"
208
+ msgstr "(אין הורה)"
209
+
210
+ #@ polylang
211
+ #: include/admin-filters.php:714
212
+ msgid "Theme locations and languages"
213
+ msgstr "מיקום ערכות נושא ושפות"
214
+
215
+ #@ polylang
216
+ #: include/admin-filters.php:719
217
+ #, php-format
218
+ msgid "Please go to the %slanguages page%s to set theme locations and languages"
219
+ msgstr "בבקשה עבור ל %sהגדרות שפה%s כדי לבחור תפריט ראשי לכל שפה"
220
+
221
+ #@ polylang
222
+ #: include/admin-filters.php:730
223
+ msgid "The widget is displayed for:"
224
+ msgstr "וידגט' זה יוצג בשפה:"
225
+
226
+ #@ polylang
227
+ #: include/base.php:33
228
+ msgid "All languages"
229
+ msgstr "כל השפות"
230
+
231
+ #@ polylang
232
+ #: include/list-table.php:27
233
+ msgid "Delete"
234
+ msgstr "מחיקה"
235
+
236
+ #@ polylang
237
+ #: include/languages-form.php:67
238
+ #: include/list-table.php:45
239
+ msgid "Full name"
240
+ msgstr "שם מלא"
241
+
242
+ #@ polylang
243
+ #: include/languages-form.php:73
244
+ #: include/list-table.php:46
245
+ msgid "Locale"
246
+ msgstr "מיקום"
247
+
248
+ #@ polylang
249
+ #: include/list-table.php:47
250
+ msgid "Code"
251
+ msgstr "קוד"
252
+
253
+ #@ polylang
254
+ #: include/languages-form.php:93
255
+ #: include/list-table.php:48
256
+ msgid "Order"
257
+ msgstr "סידור"
258
+
259
+ #@ polylang
260
+ #: include/list-table.php:49
261
+ msgid "Flag"
262
+ msgstr "דגל"
263
+
264
+ #@ polylang
265
+ #: include/list-table.php:50
266
+ msgid "Posts"
267
+ msgstr "פוסטים"
268
+
269
+ #@ polylang
270
+ #: include/list-table.php:105
271
+ msgid "Strings translations"
272
+ msgstr "מחרוזות תרגום"
273
+
274
+ #@ polylang
275
+ #: include/list-table.php:125
276
+ msgid "Name"
277
+ msgstr "שם"
278
+
279
+ #@ polylang
280
+ #: include/list-table.php:126
281
+ msgid "String"
282
+ msgstr "מחרוזת"
283
+
284
+ #@ default
285
+ #: include/calendar.php:132
286
+ #: include/calendar.php:140
287
+ #, php-format
288
+ msgid "View posts for %1$s %2$s"
289
+ msgstr "הצג פוסטים עבור %1$s %2$s"
290
+
291
+ #@ polylang
292
+ #: include/languages-form.php:33
293
+ msgid "Edit language"
294
+ msgstr "עריכת שפה"
295
+
296
+ #@ polylang
297
+ #: include/languages-form.php:33
298
+ #: include/languages-form.php:98
299
+ msgid "Add new language"
300
+ msgstr "הוספת שפה חדשה"
301
+
302
+ #@ polylang
303
+ #: include/languages-form.php:55
304
+ msgid "Choose a language"
305
+ msgstr "בחירת שפה"
306
+
307
+ #@ polylang
308
+ #: include/languages-form.php:63
309
+ msgid "You can choose a language in the list or directly edit it below."
310
+ msgstr "אתה יכול לבחור שפה מהרשימה או ישירות לערוך אותה בהמשך."
311
+
312
+ #@ polylang
313
+ #: include/languages-form.php:69
314
+ msgid "The name is how it is displayed on your site (for example: English)."
315
+ msgstr "השם שיוצג באתר שלך (לדוגמא: עברית)"
316
+
317
+ #@ polylang
318
+ #: include/languages-form.php:76
319
+ msgid "Wordpress Locale for the language (for example: en_US). You will need to install the .mo file for this language."
320
+ msgstr "קבצי שפה של וורדפרס (לדוגמא he_IL ). חייב להיות קובץ .MO בשביל הגדרת שפה"
321
+
322
+ #@ polylang
323
+ #: include/languages-form.php:80
324
+ msgid "Language code"
325
+ msgstr "קוד שפה"
326
+
327
+ #@ polylang
328
+ #: include/languages-form.php:82
329
+ msgid "2-letters ISO 639-1 language code (for example: en)"
330
+ msgstr "2 תוים לפחות (לדוגמא: he)"
331
+
332
+ #@ polylang
333
+ #: include/languages-form.php:95
334
+ msgid "Position of the language in the language switcher"
335
+ msgstr "מיקום שפה במחליף השפות"
336
+
337
+ #@ default
338
+ #: include/languages-form.php:98
339
+ msgid "Update"
340
+ msgstr "עדכון"
341
+
342
+ #@ polylang
343
+ #: include/languages-form.php:134
344
+ msgid "Language switcher"
345
+ msgstr "מחליף שפות"
346
+
347
+ #@ polylang
348
+ #: include/languages-form.php:173
349
+ msgid "Default language"
350
+ msgstr "שפת ברירת מחדל"
351
+
352
+ #@ polylang
353
+ #: include/languages-form.php:191
354
+ msgid "There are posts, pages, categories or tags without language set. Do you want to set them all to default language ?"
355
+ msgstr "יש הודעות, דפים, קטגוריות או תגיות שאינם מוגדרים בשפה מסויימת. האם להגדיר את כולם שפת ברירת המחדל? "
356
+
357
+ #@ polylang
358
+ #: include/languages-form.php:199
359
+ msgid "Detect browser language"
360
+ msgstr "זהה שפת דפדפן"
361
+
362
+ #@ polylang
363
+ #: include/languages-form.php:205
364
+ msgid "When the front page is visited, set the language according to the browser preference"
365
+ msgstr "כאשר הגולש הגיע לעמוד הבית, הצג את השפה על פי שפת הדפדפן של הגולש"
366
+
367
+ #@ polylang
368
+ #: include/languages-form.php:212
369
+ msgid "URL modifications"
370
+ msgstr "שינויי URL"
371
+
372
+ #@ polylang
373
+ #: include/languages-form.php:218
374
+ msgid "Keep /language/ in pretty permalinks. Example:"
375
+ msgstr "כתובת מיקום שפה לאחר /language/. לדוגמא:"
376
+
377
+ #@ polylang
378
+ #: include/languages-form.php:226
379
+ msgid "Remove /language/ in pretty permalinks. Example:"
380
+ msgstr "מחק /language/ מכתובת השפה. לדוגמא:"
381
+
382
+ #@ polylang
383
+ #: include/languages-form.php:234
384
+ msgid "Hide URL language information for default language"
385
+ msgstr "הסר שינוי כתובת עבור שפת ברירת מחדל"
386
+
387
+ #@ polylang
388
+ #: include/post-translations.php:1
389
+ msgid "ID of pages in other languages:"
390
+ msgstr "עמודים בשפות אחרות:"
391
+
392
+ #@ polylang
393
+ #: include/post-translations.php:1
394
+ msgid "ID of posts in other languages:"
395
+ msgstr "פוסטים בשפות אחרות:"
396
+
397
+ #@ polylang
398
+ #: include/post-translations.php:5
399
+ msgid "Page ID"
400
+ msgstr "מספר זיהוי עמוד"
401
+
402
+ #@ polylang
403
+ #: include/post-translations.php:5
404
+ msgid "Post ID"
405
+ msgstr "מספר זיהוי פוסט"
406
+
407
+ #@ polylang
408
+ #: include/admin-filters.php:761
409
+ msgid "Admin language"
410
+ msgstr "שפת פאנל ניהול"
411
+
412
+ #@ default
413
+ #: include/admin-filters.php:697
414
+ msgid "None"
415
+ msgstr "ללא"
416
+
417
+ #@ polylang
418
+ #: include/admin.php:473
419
+ msgid "Upgrading language files&#8230;"
420
+ msgstr "עדכון קבצי שפה&#8230;"
421
+
422
+ #@ polylang
423
+ #: include/admin.php:485
424
+ msgid "Hides the current language"
425
+ msgstr "הסתר שפה נוכחית"
426
+
427
+ #@ default
428
+ #. translators: Calendar caption: 1: month name, 2: 4-digit year
429
+ #: include/calendar.php:106
430
+ #, php-format
431
+ msgctxt "calendar caption"
432
+ msgid "%1$s %2$s"
433
+ msgstr "%1$s %2$s"
434
+
435
+ #@ polylang
436
+ #: include/languages-form.php:86
437
+ msgid "Text direction"
438
+ msgstr "כיוון טקסט"
439
+
440
+ #@ polylang
441
+ #: include/languages-form.php:87
442
+ msgid "left to right"
443
+ msgstr "שמאל לימין"
444
+
445
+ #@ polylang
446
+ #: include/languages-form.php:88
447
+ msgid "right to left"
448
+ msgstr "ימין לשמאל"
449
+
450
+ #@ polylang
451
+ #: include/languages-form.php:89
452
+ msgid "Choose the text direction for the language"
453
+ msgstr "בחר כיווניות טקסט עבור השפה"
454
+
455
+ #@ polylang
456
+ #: include/languages-form.php:241
457
+ msgid "Add language information to all URL including posts, pages, categories and post tags (not recommended)"
458
+ msgstr "הוספת תווי שפה ייחודיים ב URL של הפוסטים, עמודים, קטגוריות ותגיות (לא מומלץ)"
459
+
460
+ #@ default
461
+ #: polylang.php:88
462
+ #, php-format
463
+ msgid "You are using WordPress %s. Polylang requires at least WordPress %s."
464
+ msgstr "אתה משתמש בוורדפרס %s. התוסף דורש לפחות וורדפרס גרסה %s."
465
+
languages/polylang-nl_NL.mo CHANGED
Binary file
languages/polylang-nl_NL.po CHANGED
@@ -10,420 +10,462 @@ msgstr ""
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-Language: \n"
14
- "X-Poedit-Country: \n"
15
  "X-Poedit-SourceCharset: utf-8\n"
16
- "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_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"
17
  "X-Poedit-Basepath: .\n"
18
- "X-Poedit-Bookmarks: \n"
19
  "X-Poedit-SearchPath-0: ..\n"
20
- "X-Textdomain-Support: yes"
21
 
22
- #: polylang.php:179
23
  #@ polylang
 
24
  msgid "Error: Restore of local flags failed!"
25
  msgstr "Fout: Herstel van lokale vlaggen mislukt!"
26
 
27
- #: polylang.php:180
28
- #, php-format
29
  #@ polylang
 
 
30
  msgid "Please move your local flags from %s to %s"
31
  msgstr "Verplaats je lokale vlaggen van %s naar %s"
32
 
 
33
  #: include/add-term-form.php:5
 
 
34
  #: include/edit-term-form.php:6
35
  #: include/list-table.php:12
36
  #: include/post-translations.php:4
37
  #: include/term-translations.php:15
38
- #@ polylang
39
  msgid "Language"
40
  msgstr "Taal"
41
 
 
42
  #: include/add-term-form.php:17
 
 
43
  #: include/edit-term-form.php:19
44
- #@ polylang
45
  msgid "Sets the language"
46
  msgstr "Stelt de taal in"
47
 
48
- #: include/widget.php:6
49
  #@ polylang
 
50
  msgid "Language Switcher"
51
  msgstr "Taalschakelaar"
52
 
53
- #: include/widget.php:6
54
  #@ polylang
 
55
  msgid "Displays a language switcher"
56
  msgstr "Toon een taalschakelaar"
57
 
58
- #: include/widget.php:74
59
  #@ polylang
 
60
  msgid "Title:"
61
  msgstr "Titel:"
62
 
63
- #: include/admin.php:304
64
- #: include/widget.php:77
65
  #@ polylang
 
66
  msgid "Displays language names"
67
  msgstr "Toon namen van talen"
68
 
69
- #: include/admin.php:305
70
- #: include/widget.php:78
71
  #@ polylang
 
72
  msgid "Displays flags"
73
  msgstr "Toon vlaggen"
74
 
75
- #: include/widget.php:79
76
  #@ polylang
 
77
  msgid "Displays as dropdown"
78
  msgstr "Toon als dropdown"
79
 
80
- #: include/admin.php:306
81
- #: include/widget.php:80
82
  #@ polylang
 
83
  msgid "Forces link to front page"
84
  msgstr "Forceer link naar startpagina"
85
 
86
- #: include/admin.php:25
87
- #: include/admin.php:274
88
  #@ default
89
  #@ polylang
 
 
90
  msgid "Settings"
91
  msgstr "Instellingen"
92
 
93
- #: include/admin-filters.php:164
 
94
  #: include/admin.php:32
95
- #: include/admin.php:271
96
  #: include/list-table.php:13
97
- #@ polylang
98
  msgid "Languages"
99
  msgstr "Talen"
100
 
101
- #: include/admin.php:272
102
  #@ polylang
 
103
  msgid "Menus"
104
  msgstr "Menu's"
105
 
106
- #: include/admin.php:273
107
- #: include/list-table.php:104
108
  #@ polylang
 
 
109
  msgid "Strings translation"
110
  msgstr "Tekstvertaling"
111
 
112
- #: include/admin.php:292
113
  #@ polylang
 
114
  msgid "Enter a valid WorPress locale"
115
  msgstr "Voer een geldige Wordpress lokaal in"
116
 
117
- #: include/admin.php:293
118
  #@ polylang
 
119
  msgid "The language code must be 2 characters long"
120
  msgstr "De taalcode moet uit 2 karakters bestaan"
121
 
122
- #: include/admin.php:294
123
  #@ polylang
 
124
  msgid "The language code must be unique"
125
  msgstr "De taalcode moet uniek zijn"
126
 
127
- #: include/admin.php:295
128
  #@ polylang
 
129
  msgid "The language must have a name"
130
  msgstr "De taal moet een naam hebben"
131
 
132
- #: include/admin.php:296
133
  #@ polylang
 
134
  msgid "The language was created, but the WordPress language file was not downloaded. Please install it manually."
135
  msgstr "De taal was gecreëerd, maar het Wordpress taalbestand was niet gedownload. Handmatige installatie is noodzakelijk."
136
 
137
- #: include/admin.php:303
138
  #@ polylang
 
139
  msgid "Displays a language switcher at the end of the menu"
140
  msgstr "Toon een taalschakelaar aan het einde van het menu"
141
 
142
- #: include/admin.php:319
143
  #@ default
 
144
  msgid "Site Title"
145
  msgstr ""
146
 
147
- #: include/admin.php:320
148
  #@ default
 
149
  msgid "Tagline"
150
  msgstr ""
151
 
152
- #: include/admin.php:336
153
- #@ default
154
  msgid "Widget title"
155
- msgstr ""
156
 
157
- #: include/post-metabox.php:5
158
  #@ polylang
 
 
159
  msgid "Page's language:"
160
  msgstr "Taal van de pagina:"
161
 
162
- #: include/post-metabox.php:5
163
  #@ polylang
 
 
164
  msgid "Post's language:"
165
  msgstr "Taal van de post:"
166
 
167
- #: include/list-table.php:128
 
168
  #: include/term-translations.php:6
169
  #: include/term-translations.php:11
170
- #@ polylang
171
  msgid "Translations"
172
  msgstr "Vertalingen"
173
 
174
- #: include/term-translations.php:16
175
  #@ polylang
 
176
  msgid "Translation"
177
  msgstr "Vertaling"
178
 
 
179
  #: include/list-table.php:26
180
  #: include/post-translations.php:6
181
- #: include/post-translations.php:27
182
  #: include/term-translations.php:18
183
  #: include/term-translations.php:65
184
- #@ polylang
185
  msgid "Edit"
186
  msgstr "Wijzig"
187
 
188
- #: include/term-translations.php:48
189
  #@ polylang
 
190
  msgid "No untranslated term"
191
  msgstr "Geen onvertaalde term"
192
 
193
- #: include/post-translations.php:32
194
- #: include/term-translations.php:54
195
  #@ polylang
 
 
196
  msgid "Add new"
197
  msgstr "Voeg nieuwe toe"
198
 
199
- #: include/admin-filters.php:128
200
- #: include/admin-filters.php:482
201
  #@ polylang
 
 
202
  msgid "Add new translation"
203
  msgstr "Voeg nieuwe vertaling toe"
204
 
205
- #: include/admin-filters.php:152
206
  #@ polylang
 
207
  msgid "Show all languages"
208
  msgstr "Toon alle talen"
209
 
210
- #: include/admin-filters.php:238
211
  #@ default
 
212
  msgid "(no parent)"
213
  msgstr ""
214
 
215
- #: include/admin-filters.php:577
216
  #@ polylang
 
217
  msgid "Theme locations and languages"
218
  msgstr "Lokaties en talen van het thema"
219
 
220
- #: include/admin-filters.php:582
221
- #, php-format
222
  #@ polylang
 
 
223
  msgid "Please go to the %slanguages page%s to set theme locations and languages"
224
  msgstr "Ga naar de %stalen pagina%s om lokaties en talen van het thema in te stellen"
225
 
226
- #: include/admin-filters.php:593
227
  #@ polylang
 
228
  msgid "The widget is displayed for:"
229
  msgstr "Het widget wordt getoond voor:"
230
 
231
- #: include/admin-filters.php:594
232
  #@ polylang
 
233
  msgid "All languages"
234
  msgstr "Alle talen"
235
 
236
- #: include/list-table.php:27
237
  #@ polylang
 
238
  msgid "Delete"
239
  msgstr "Verwijder"
240
 
 
241
  #: include/languages-form.php:67
242
  #: include/list-table.php:45
243
- #@ polylang
244
  msgid "Full name"
245
  msgstr "Volledige naam"
246
 
 
247
  #: include/languages-form.php:73
248
  #: include/list-table.php:46
249
- #@ polylang
250
  msgid "Locale"
251
  msgstr "Locale"
252
 
253
- #: include/list-table.php:47
254
  #@ polylang
 
255
  msgid "Code"
256
  msgstr "Taalcode"
257
 
258
- #: include/languages-form.php:86
259
- #: include/list-table.php:48
260
  #@ polylang
 
 
261
  msgid "Order"
262
  msgstr "Volgorde"
263
 
264
- #: include/list-table.php:49
265
  #@ polylang
 
266
  msgid "Flag"
267
  msgstr "Vlag"
268
 
269
- #: include/list-table.php:50
270
  #@ polylang
 
271
  msgid "Posts"
272
  msgstr "Berichten"
273
 
274
- #: include/list-table.php:105
275
  #@ polylang
 
276
  msgid "Strings translations"
277
  msgstr "Tekstvertalingen"
278
 
279
- #: include/list-table.php:126
280
  #@ polylang
 
281
  msgid "Name"
282
  msgstr "Naam"
283
 
284
- #: include/list-table.php:127
285
  #@ polylang
 
286
  msgid "String"
287
  msgstr "Tekst"
288
 
289
- #: include/calendar.php:133
290
- #: include/calendar.php:141
291
- #, php-format
292
  #@ default
 
 
 
293
  msgid "View posts for %1$s %2$s"
294
  msgstr ""
295
 
296
- #: include/languages-form.php:33
297
  #@ polylang
 
298
  msgid "Edit language"
299
  msgstr "Wijzig taal"
300
 
301
- #: include/languages-form.php:33
302
- #: include/languages-form.php:91
303
  #@ polylang
 
 
304
  msgid "Add new language"
305
  msgstr "Voeg nieuwe taal toe"
306
 
307
- #: include/languages-form.php:55
308
  #@ polylang
 
309
  msgid "Choose a language"
310
  msgstr "Kies een taal"
311
 
312
- #: include/languages-form.php:63
313
  #@ polylang
 
314
  msgid "You can choose a language in the list or directly edit it below."
315
  msgstr "Kies een taal uit de lijst of vul deze direct hieronder in."
316
 
317
- #: include/languages-form.php:69
318
  #@ polylang
 
319
  msgid "The name is how it is displayed on your site (for example: English)."
320
  msgstr "De naam geeft aan hoe het op je site getoond wordt (b.v.: Nederlands)."
321
 
322
- #: include/languages-form.php:76
323
  #@ polylang
 
324
  msgid "Wordpress Locale for the language (for example: en_US). You will need to install the .mo file for this language."
325
  msgstr "Wordpress Locale voor de taal (bv.: nl_NL). Installeer het .mo bestand voor deze taal."
326
 
327
- #: include/languages-form.php:80
328
  #@ polylang
 
329
  msgid "Language code"
330
  msgstr "Taalcode"
331
 
332
- #: include/languages-form.php:82
333
  #@ polylang
 
334
  msgid "2-letters ISO 639-1 language code (for example: en)"
335
  msgstr "2-karakter ISO 639-1 taalcode (bv.: nl)"
336
 
337
- #: include/languages-form.php:88
338
  #@ polylang
 
339
  msgid "Position of the language in the language switcher"
340
  msgstr "Positionering van de taal in de taalschakelaar"
341
 
342
- #: include/languages-form.php:91
343
  #@ default
 
344
  msgid "Update"
345
  msgstr ""
346
 
347
- #: include/languages-form.php:127
348
  #@ polylang
 
349
  msgid "Language switcher"
350
  msgstr "Taalschakelaar"
351
 
352
- #: include/languages-form.php:166
353
  #@ polylang
 
354
  msgid "Default language"
355
  msgstr "Standaardtaal"
356
 
357
- #: include/languages-form.php:195
358
  #@ polylang
 
359
  msgid "There are posts, pages, categories or tags without language set. Do you want to set them all to default language ?"
360
  msgstr "Er zijn berichten, pagina's, categorieën of tags zonder taalinstelling. Deze allemaal instellen op de standaardtaal?"
361
 
362
- #: include/languages-form.php:203
363
  #@ polylang
 
364
  msgid "Detect browser language"
365
  msgstr "Bepaal de taal van de browser"
366
 
367
- #: include/languages-form.php:209
368
  #@ polylang
 
369
  msgid "When the front page is visited, set the language according to the browser preference"
370
  msgstr "Wanneer de startpagina bezocht is, stel dan de taal in op basis van de voorkeur van de browser"
371
 
372
- #: include/languages-form.php:216
373
  #@ polylang
 
374
  msgid "URL modifications"
375
  msgstr "URL aanpassingen"
376
 
377
- #: include/languages-form.php:222
378
  #@ polylang
 
379
  msgid "Keep /language/ in pretty permalinks. Example:"
380
  msgstr "Behoud /taal/ in pretty permalinks. Voorbeeld:"
381
 
382
- #: include/languages-form.php:230
383
  #@ polylang
 
384
  msgid "Remove /language/ in pretty permalinks. Example:"
385
  msgstr "Verwijder /taal/ in pretty permalinks. Voorbeeld:"
386
 
387
- #: include/languages-form.php:238
388
  #@ polylang
 
389
  msgid "Hide URL language information for default language"
390
  msgstr "Verberg URL taalinformatie voor de standaardtaal"
391
 
392
- #: include/post-translations.php:1
393
  #@ polylang
 
394
  msgid "ID of pages in other languages:"
395
  msgstr "ID's van pagina's in andere talen:"
396
 
397
- #: include/post-translations.php:1
398
  #@ polylang
 
399
  msgid "ID of posts in other languages:"
400
  msgstr "ID's van berichten in andere talen:"
401
 
402
- #: include/post-translations.php:5
403
  #@ polylang
 
404
  msgid "Page ID"
405
  msgstr "Pagina ID"
406
 
407
- #: include/post-translations.php:5
408
  #@ polylang
 
409
  msgid "Post ID"
410
  msgstr "Bericht ID"
411
 
412
- #: include/personal-options.php:5
413
  #@ polylang
 
 
414
  msgid "Admin language"
415
  msgstr "Admin taal"
416
 
417
- #: include/admin.php:476
418
  #@ polylang
 
419
  msgid "Upgrading language files&#8230;"
420
  msgstr "Aanpassen taalbestanden&#8230;"
421
 
422
- #. translators: Calendar caption: 1: month name, 2: 4-digit year
423
- #: include/calendar.php:107
424
- #, php-format
425
  #@ default
 
 
 
426
  msgctxt "calendar caption"
427
  msgid "%1$s %2$s"
428
  msgstr ""
429
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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;_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"
15
  "X-Poedit-Basepath: .\n"
16
+ "X-Textdomain-Support: yes\n"
17
  "X-Poedit-SearchPath-0: ..\n"
 
18
 
 
19
  #@ polylang
20
+ #: polylang.php:185
21
  msgid "Error: Restore of local flags failed!"
22
  msgstr "Fout: Herstel van lokale vlaggen mislukt!"
23
 
 
 
24
  #@ polylang
25
+ #: polylang.php:186
26
+ #, php-format
27
  msgid "Please move your local flags from %s to %s"
28
  msgstr "Verplaats je lokale vlaggen van %s naar %s"
29
 
30
+ #@ polylang
31
  #: include/add-term-form.php:5
32
+ #: include/admin-filters.php:512
33
+ #: include/admin-filters.php:529
34
  #: include/edit-term-form.php:6
35
  #: include/list-table.php:12
36
  #: include/post-translations.php:4
37
  #: include/term-translations.php:15
 
38
  msgid "Language"
39
  msgstr "Taal"
40
 
41
+ #@ polylang
42
  #: include/add-term-form.php:17
43
+ #: include/admin-filters.php:514
44
+ #: include/admin-filters.php:532
45
  #: include/edit-term-form.php:19
 
46
  msgid "Sets the language"
47
  msgstr "Stelt de taal in"
48
 
 
49
  #@ polylang
50
+ #: include/widget.php:6
51
  msgid "Language Switcher"
52
  msgstr "Taalschakelaar"
53
 
 
54
  #@ polylang
55
+ #: include/widget.php:6
56
  msgid "Displays a language switcher"
57
  msgstr "Toon een taalschakelaar"
58
 
 
59
  #@ polylang
60
+ #: include/widget.php:71
61
  msgid "Title:"
62
  msgstr "Titel:"
63
 
 
 
64
  #@ polylang
65
+ #: include/admin.php:483
66
  msgid "Displays language names"
67
  msgstr "Toon namen van talen"
68
 
 
 
69
  #@ polylang
70
+ #: include/admin.php:484
71
  msgid "Displays flags"
72
  msgstr "Toon vlaggen"
73
 
 
74
  #@ polylang
75
+ #: include/admin.php:489
76
  msgid "Displays as dropdown"
77
  msgstr "Toon als dropdown"
78
 
 
 
79
  #@ polylang
80
+ #: include/admin.php:485
81
  msgid "Forces link to front page"
82
  msgstr "Forceer link naar startpagina"
83
 
 
 
84
  #@ default
85
  #@ polylang
86
+ #: include/admin.php:25
87
+ #: include/admin.php:298
88
  msgid "Settings"
89
  msgstr "Instellingen"
90
 
91
+ #@ polylang
92
+ #: include/admin-filters.php:185
93
  #: include/admin.php:32
94
+ #: include/admin.php:291
95
  #: include/list-table.php:13
 
96
  msgid "Languages"
97
  msgstr "Talen"
98
 
 
99
  #@ polylang
100
+ #: include/admin.php:296
101
  msgid "Menus"
102
  msgstr "Menu's"
103
 
 
 
104
  #@ polylang
105
+ #: include/admin.php:298
106
+ #: include/list-table.php:104
107
  msgid "Strings translation"
108
  msgstr "Tekstvertaling"
109
 
 
110
  #@ polylang
111
+ #: include/admin.php:316
112
  msgid "Enter a valid WorPress locale"
113
  msgstr "Voer een geldige Wordpress lokaal in"
114
 
 
115
  #@ polylang
116
+ #: include/admin.php:317
117
  msgid "The language code must be 2 characters long"
118
  msgstr "De taalcode moet uit 2 karakters bestaan"
119
 
 
120
  #@ polylang
121
+ #: include/admin.php:318
122
  msgid "The language code must be unique"
123
  msgstr "De taalcode moet uniek zijn"
124
 
 
125
  #@ polylang
126
+ #: include/admin.php:319
127
  msgid "The language must have a name"
128
  msgstr "De taal moet een naam hebben"
129
 
 
130
  #@ polylang
131
+ #: include/admin.php:320
132
  msgid "The language was created, but the WordPress language file was not downloaded. Please install it manually."
133
  msgstr "De taal was gecreëerd, maar het Wordpress taalbestand was niet gedownload. Handmatige installatie is noodzakelijk."
134
 
 
135
  #@ polylang
136
+ #: include/admin.php:488
137
  msgid "Displays a language switcher at the end of the menu"
138
  msgstr "Toon een taalschakelaar aan het einde van het menu"
139
 
 
140
  #@ default
141
+ #: include/admin.php:498
142
  msgid "Site Title"
143
  msgstr ""
144
 
 
145
  #@ default
146
+ #: include/admin.php:499
147
  msgid "Tagline"
148
  msgstr ""
149
 
150
+ #@ polylang
151
+ #: include/admin.php:518
152
  msgid "Widget title"
153
+ msgstr "Widget titel"
154
 
 
155
  #@ polylang
156
+ #: include/admin-filters.php:202
157
+ #: include/post-metabox.php:5
158
  msgid "Page's language:"
159
  msgstr "Taal van de pagina:"
160
 
 
161
  #@ polylang
162
+ #: include/admin-filters.php:202
163
+ #: include/post-metabox.php:5
164
  msgid "Post's language:"
165
  msgstr "Taal van de post:"
166
 
167
+ #@ polylang
168
+ #: include/list-table.php:127
169
  #: include/term-translations.php:6
170
  #: include/term-translations.php:11
 
171
  msgid "Translations"
172
  msgstr "Vertalingen"
173
 
 
174
  #@ polylang
175
+ #: include/term-translations.php:16
176
  msgid "Translation"
177
  msgstr "Vertaling"
178
 
179
+ #@ polylang
180
  #: include/list-table.php:26
181
  #: include/post-translations.php:6
182
+ #: include/post-translations.php:29
183
  #: include/term-translations.php:18
184
  #: include/term-translations.php:65
 
185
  msgid "Edit"
186
  msgstr "Wijzig"
187
 
 
188
  #@ polylang
189
+ #: include/term-translations.php:48
190
  msgid "No untranslated term"
191
  msgstr "Geen onvertaalde term"
192
 
 
 
193
  #@ polylang
194
+ #: include/post-translations.php:34
195
+ #: include/term-translations.php:54
196
  msgid "Add new"
197
  msgstr "Voeg nieuwe toe"
198
 
 
 
199
  #@ polylang
200
+ #: include/admin-filters.php:148
201
+ #: include/admin-filters.php:575
202
  msgid "Add new translation"
203
  msgstr "Voeg nieuwe vertaling toe"
204
 
 
205
  #@ polylang
206
+ #: include/admin-filters.php:172
207
  msgid "Show all languages"
208
  msgstr "Toon alle talen"
209
 
 
210
  #@ default
211
+ #: include/admin-filters.php:262
212
  msgid "(no parent)"
213
  msgstr ""
214
 
 
215
  #@ polylang
216
+ #: include/admin-filters.php:714
217
  msgid "Theme locations and languages"
218
  msgstr "Lokaties en talen van het thema"
219
 
 
 
220
  #@ polylang
221
+ #: include/admin-filters.php:719
222
+ #, php-format
223
  msgid "Please go to the %slanguages page%s to set theme locations and languages"
224
  msgstr "Ga naar de %stalen pagina%s om lokaties en talen van het thema in te stellen"
225
 
 
226
  #@ polylang
227
+ #: include/admin-filters.php:730
228
  msgid "The widget is displayed for:"
229
  msgstr "Het widget wordt getoond voor:"
230
 
 
231
  #@ polylang
232
+ #: include/base.php:33
233
  msgid "All languages"
234
  msgstr "Alle talen"
235
 
 
236
  #@ polylang
237
+ #: include/list-table.php:27
238
  msgid "Delete"
239
  msgstr "Verwijder"
240
 
241
+ #@ polylang
242
  #: include/languages-form.php:67
243
  #: include/list-table.php:45
 
244
  msgid "Full name"
245
  msgstr "Volledige naam"
246
 
247
+ #@ polylang
248
  #: include/languages-form.php:73
249
  #: include/list-table.php:46
 
250
  msgid "Locale"
251
  msgstr "Locale"
252
 
 
253
  #@ polylang
254
+ #: include/list-table.php:47
255
  msgid "Code"
256
  msgstr "Taalcode"
257
 
 
 
258
  #@ polylang
259
+ #: include/languages-form.php:93
260
+ #: include/list-table.php:48
261
  msgid "Order"
262
  msgstr "Volgorde"
263
 
 
264
  #@ polylang
265
+ #: include/list-table.php:49
266
  msgid "Flag"
267
  msgstr "Vlag"
268
 
 
269
  #@ polylang
270
+ #: include/list-table.php:50
271
  msgid "Posts"
272
  msgstr "Berichten"
273
 
 
274
  #@ polylang
275
+ #: include/list-table.php:105
276
  msgid "Strings translations"
277
  msgstr "Tekstvertalingen"
278
 
 
279
  #@ polylang
280
+ #: include/list-table.php:125
281
  msgid "Name"
282
  msgstr "Naam"
283
 
 
284
  #@ polylang
285
+ #: include/list-table.php:126
286
  msgid "String"
287
  msgstr "Tekst"
288
 
 
 
 
289
  #@ default
290
+ #: include/calendar.php:132
291
+ #: include/calendar.php:140
292
+ #, php-format
293
  msgid "View posts for %1$s %2$s"
294
  msgstr ""
295
 
 
296
  #@ polylang
297
+ #: include/languages-form.php:33
298
  msgid "Edit language"
299
  msgstr "Wijzig taal"
300
 
 
 
301
  #@ polylang
302
+ #: include/languages-form.php:33
303
+ #: include/languages-form.php:98
304
  msgid "Add new language"
305
  msgstr "Voeg nieuwe taal toe"
306
 
 
307
  #@ polylang
308
+ #: include/languages-form.php:55
309
  msgid "Choose a language"
310
  msgstr "Kies een taal"
311
 
 
312
  #@ polylang
313
+ #: include/languages-form.php:63
314
  msgid "You can choose a language in the list or directly edit it below."
315
  msgstr "Kies een taal uit de lijst of vul deze direct hieronder in."
316
 
 
317
  #@ polylang
318
+ #: include/languages-form.php:69
319
  msgid "The name is how it is displayed on your site (for example: English)."
320
  msgstr "De naam geeft aan hoe het op je site getoond wordt (b.v.: Nederlands)."
321
 
 
322
  #@ polylang
323
+ #: include/languages-form.php:76
324
  msgid "Wordpress Locale for the language (for example: en_US). You will need to install the .mo file for this language."
325
  msgstr "Wordpress Locale voor de taal (bv.: nl_NL). Installeer het .mo bestand voor deze taal."
326
 
 
327
  #@ polylang
328
+ #: include/languages-form.php:80
329
  msgid "Language code"
330
  msgstr "Taalcode"
331
 
 
332
  #@ polylang
333
+ #: include/languages-form.php:82
334
  msgid "2-letters ISO 639-1 language code (for example: en)"
335
  msgstr "2-karakter ISO 639-1 taalcode (bv.: nl)"
336
 
 
337
  #@ polylang
338
+ #: include/languages-form.php:95
339
  msgid "Position of the language in the language switcher"
340
  msgstr "Positionering van de taal in de taalschakelaar"
341
 
 
342
  #@ default
343
+ #: include/languages-form.php:98
344
  msgid "Update"
345
  msgstr ""
346
 
 
347
  #@ polylang
348
+ #: include/languages-form.php:134
349
  msgid "Language switcher"
350
  msgstr "Taalschakelaar"
351
 
 
352
  #@ polylang
353
+ #: include/languages-form.php:173
354
  msgid "Default language"
355
  msgstr "Standaardtaal"
356
 
 
357
  #@ polylang
358
+ #: include/languages-form.php:191
359
  msgid "There are posts, pages, categories or tags without language set. Do you want to set them all to default language ?"
360
  msgstr "Er zijn berichten, pagina's, categorieën of tags zonder taalinstelling. Deze allemaal instellen op de standaardtaal?"
361
 
 
362
  #@ polylang
363
+ #: include/languages-form.php:199
364
  msgid "Detect browser language"
365
  msgstr "Bepaal de taal van de browser"
366
 
 
367
  #@ polylang
368
+ #: include/languages-form.php:205
369
  msgid "When the front page is visited, set the language according to the browser preference"
370
  msgstr "Wanneer de startpagina bezocht is, stel dan de taal in op basis van de voorkeur van de browser"
371
 
 
372
  #@ polylang
373
+ #: include/languages-form.php:212
374
  msgid "URL modifications"
375
  msgstr "URL aanpassingen"
376
 
 
377
  #@ polylang
378
+ #: include/languages-form.php:218
379
  msgid "Keep /language/ in pretty permalinks. Example:"
380
  msgstr "Behoud /taal/ in pretty permalinks. Voorbeeld:"
381
 
 
382
  #@ polylang
383
+ #: include/languages-form.php:226
384
  msgid "Remove /language/ in pretty permalinks. Example:"
385
  msgstr "Verwijder /taal/ in pretty permalinks. Voorbeeld:"
386
 
 
387
  #@ polylang
388
+ #: include/languages-form.php:234
389
  msgid "Hide URL language information for default language"
390
  msgstr "Verberg URL taalinformatie voor de standaardtaal"
391
 
 
392
  #@ polylang
393
+ #: include/post-translations.php:1
394
  msgid "ID of pages in other languages:"
395
  msgstr "ID's van pagina's in andere talen:"
396
 
 
397
  #@ polylang
398
+ #: include/post-translations.php:1
399
  msgid "ID of posts in other languages:"
400
  msgstr "ID's van berichten in andere talen:"
401
 
 
402
  #@ polylang
403
+ #: include/post-translations.php:5
404
  msgid "Page ID"
405
  msgstr "Pagina ID"
406
 
 
407
  #@ polylang
408
+ #: include/post-translations.php:5
409
  msgid "Post ID"
410
  msgstr "Bericht ID"
411
 
 
412
  #@ polylang
413
+ #: include/admin-filters.php:761
414
+ #: include/personal-options.php:5
415
  msgid "Admin language"
416
  msgstr "Admin taal"
417
 
 
418
  #@ polylang
419
+ #: include/admin.php:474
420
  msgid "Upgrading language files&#8230;"
421
  msgstr "Aanpassen taalbestanden&#8230;"
422
 
 
 
 
423
  #@ default
424
+ #. translators: Calendar caption: 1: month name, 2: 4-digit year
425
+ #: include/calendar.php:106
426
+ #, php-format
427
  msgctxt "calendar caption"
428
  msgid "%1$s %2$s"
429
  msgstr ""
430
 
431
+ #@ default
432
+ #: include/admin-filters.php:697
433
+ msgid "None"
434
+ msgstr ""
435
+
436
+ #@ polylang
437
+ #: include/admin.php:486
438
+ msgid "Hides the current language"
439
+ msgstr "Verberg huidige taal"
440
+
441
+ #@ polylang
442
+ #: include/languages-form.php:86
443
+ msgid "Text direction"
444
+ msgstr "Tekstrichting"
445
+
446
+ #@ polylang
447
+ #: include/languages-form.php:87
448
+ msgid "left to right"
449
+ msgstr "van links naar rechts"
450
+
451
+ #@ polylang
452
+ #: include/languages-form.php:88
453
+ msgid "right to left"
454
+ msgstr "van rechts naar links"
455
+
456
+ #@ polylang
457
+ #: include/languages-form.php:89
458
+ msgid "Choose the text direction for the language"
459
+ msgstr "Kies de tekstrichting voor de taal"
460
+
461
+ #@ polylang
462
+ #: include/languages-form.php:241
463
+ msgid "Add language information to all URL including posts, pages, categories and post tags (not recommended)"
464
+ msgstr "Voeg taalinformatie toe aan alle URL's, inclusief berichten, pagina's, categorieën en berichten tages (niet aanbevolen)"
465
+
466
+ #@ default
467
+ #: polylang.php:88
468
+ #, php-format
469
+ msgid "You are using WordPress %s. Polylang requires at least WordPress %s."
470
+ msgstr ""
471
+
languages/polylang-ru_RU.po CHANGED
@@ -19,13 +19,13 @@ msgstr ""
19
  "X-Poedit-SearchPath-0: ..\n"
20
  "X-Textdomain-Support: yes"
21
 
22
- #: polylang.php:170
23
  #@ polylang
24
  msgid "Error: Restore of local flags failed!"
25
  msgstr "Ошибка: Не удалось восстановить пользовательские иконки-флаги из резервной копиии!"
26
 
27
- #: include/add-term-form.php:5
28
- #: include/edit-term-form.php:6
29
  #: include/list-table.php:12
30
  #: include/post-translations.php:4
31
  #: include/term-translations.php:15
@@ -33,8 +33,8 @@ msgstr "Ошибка: Не удалось восстановить пользо
33
  msgid "Language"
34
  msgstr "Язык"
35
 
36
- #: include/add-term-form.php:17
37
- #: include/edit-term-form.php:19
38
  #@ polylang
39
  msgid "Sets the language"
40
  msgstr "Устанавливает язык"
@@ -49,90 +49,87 @@ msgstr "Переключатель языков"
49
  msgid "Displays a language switcher"
50
  msgstr "Показывает переключатель языков"
51
 
52
- #: include/widget.php:74
53
  #@ polylang
54
  msgid "Title:"
55
  msgstr "Название:"
56
 
57
- #: include/admin.php:296
58
- #: include/widget.php:77
59
  #@ polylang
60
  msgid "Displays language names"
61
  msgstr "Показывать названия языков"
62
 
63
- #: include/admin.php:297
64
- #: include/widget.php:78
65
  #@ polylang
66
  msgid "Displays flags"
67
  msgstr "Показывать флаги"
68
 
69
- #: include/widget.php:79
70
  #@ polylang
71
  msgid "Displays as dropdown"
72
  msgstr "Показывать как выпадающий список"
73
 
74
- #: include/admin.php:298
75
- #: include/widget.php:80
76
  #@ polylang
77
  msgid "Forces link to front page"
78
  msgstr "Принудительно переходить на главную страницу при смене языка"
79
 
80
- #: include/admin.php:21
81
- #: include/admin.php:266
82
  #@ default
83
  #@ polylang
84
  msgid "Settings"
85
  msgstr "Настройки"
86
 
87
- #: include/admin-filters.php:164
88
- #: include/admin.php:28
89
- #: include/admin.php:263
90
  #: include/list-table.php:13
91
  #@ polylang
92
  msgid "Languages"
93
  msgstr "Языки"
94
 
95
- #: include/admin.php:264
96
  #@ polylang
97
  msgid "Menus"
98
  msgstr "Меню"
99
 
100
- #: include/admin.php:284
101
  #@ polylang
102
  msgid "Enter a valid WorPress locale"
103
  msgstr "Введите корректную WordPress локаль"
104
 
105
- #: include/admin.php:285
106
  #@ polylang
107
  msgid "The language code must be 2 characters long"
108
  msgstr "Код языка должен состоять из 2-х символов"
109
 
110
- #: include/admin.php:286
111
  #@ polylang
112
  msgid "The language code must be unique"
113
  msgstr "Код языка должен быть уникальным"
114
 
115
- #: include/admin.php:287
116
  #@ polylang
117
  msgid "The language must have a name"
118
  msgstr "У языка должно быть название"
119
 
120
- #: include/admin.php:295
121
  #@ polylang
122
  msgid "Displays a language switcher at the end of the menu"
123
  msgstr "Показывает переключатель языков"
124
 
125
- #: include/post-metabox.php:5
126
  #@ polylang
127
  msgid "Page's language:"
128
  msgstr "Язык страницы"
129
 
130
- #: include/post-metabox.php:5
131
  #@ polylang
132
  msgid "Post's language:"
133
  msgstr "Язык записи"
134
 
135
- #: include/list-table.php:128
136
  #: include/term-translations.php:6
137
  #: include/term-translations.php:11
138
  #@ polylang
@@ -146,41 +143,41 @@ msgstr "Перевод"
146
 
147
  #: include/list-table.php:26
148
  #: include/post-translations.php:6
149
- #: include/post-translations.php:27
150
  #: include/term-translations.php:18
151
  #: include/term-translations.php:65
152
  #@ polylang
153
  msgid "Edit"
154
  msgstr "Редактировать"
155
 
156
- #: include/post-translations.php:32
157
  #: include/term-translations.php:54
158
  #@ polylang
159
  msgid "Add new"
160
  msgstr "Добавить новый"
161
 
162
- #: include/admin-filters.php:152
163
  #@ polylang
164
  msgid "Show all languages"
165
  msgstr "Показать все языки"
166
 
167
- #: include/admin-filters.php:577
168
  #@ polylang
169
  msgid "Theme locations and languages"
170
  msgstr "Расположение темы и языков"
171
 
172
- #: include/admin-filters.php:582
173
  #, php-format
174
  #@ polylang
175
  msgid "Please go to the %slanguages page%s to set theme locations and languages"
176
  msgstr "Перейдите на %slanguages page%s для указания расположения темы и языков"
177
 
178
- #: include/admin-filters.php:593
179
  #@ polylang
180
  msgid "The widget is displayed for:"
181
  msgstr "Показывать виджет для"
182
 
183
- #: include/admin-filters.php:594
184
  #@ polylang
185
  msgid "All languages"
186
  msgstr "Все языки"
@@ -218,15 +215,15 @@ msgid "Posts"
218
  msgstr "Записи"
219
 
220
  #. translators: Calendar caption: 1: month name, 2: 4-digit year
221
- #: include/calendar.php:107
222
  #, php-format
223
  #@ default
224
  msgctxt "calendar caption"
225
  msgid "%1$s %2$s"
226
  msgstr "%1$s %2$s"
227
 
228
- #: include/calendar.php:133
229
- #: include/calendar.php:141
230
  #, php-format
231
  #@ default
232
  msgid "View posts for %1$s %2$s"
@@ -238,7 +235,7 @@ msgid "Edit language"
238
  msgstr "Редактировать язык"
239
 
240
  #: include/languages-form.php:33
241
- #: include/languages-form.php:91
242
  #@ polylang
243
  msgid "Add new language"
244
  msgstr "Добавить новый язык"
@@ -273,52 +270,52 @@ msgstr "Код языка"
273
  msgid "2-letters ISO 639-1 language code (for example: en)"
274
  msgstr "2х-буквенный ISO 639-1 код языка (например: ru)"
275
 
276
- #: include/languages-form.php:91
277
  #@ default
278
  msgid "Update"
279
  msgstr "Обновить"
280
 
281
- #: include/languages-form.php:127
282
  #@ polylang
283
  msgid "Language switcher"
284
  msgstr "Переключатель языков"
285
 
286
- #: include/languages-form.php:166
287
  #@ polylang
288
  msgid "Default language"
289
  msgstr "Язык по-умолчанию"
290
 
291
- #: include/languages-form.php:195
292
  #@ polylang
293
  msgid "There are posts, pages, categories or tags without language set. Do you want to set them all to default language ?"
294
  msgstr "Найдены записи, страницы, категории или метки без указанния какого-либо языка. Установить им язык по-умолчанию?"
295
 
296
- #: include/languages-form.php:203
297
  #@ polylang
298
  msgid "Detect browser language"
299
  msgstr "Определять язык в браузере"
300
 
301
- #: include/languages-form.php:209
302
  #@ polylang
303
  msgid "When the front page is visited, set the language according to the browser preference"
304
  msgstr "Установить язык сайта согласно настройкам браузера"
305
 
306
- #: include/languages-form.php:216
307
  #@ polylang
308
  msgid "URL modifications"
309
  msgstr "Модификации URL"
310
 
311
- #: include/languages-form.php:222
312
  #@ polylang
313
  msgid "Keep /language/ in pretty permalinks. Example:"
314
  msgstr "Оставить /language/ в ЧПУ. Пример:"
315
 
316
- #: include/languages-form.php:230
317
  #@ polylang
318
  msgid "Remove /language/ in pretty permalinks. Example:"
319
  msgstr "Удалить /language/ в ЧПУ. Пример:"
320
 
321
- #: include/languages-form.php:238
322
  #@ polylang
323
  msgid "Hide URL language information for default language"
324
  msgstr "Спрятать название языка по-умолчанию из URL"
@@ -343,55 +340,55 @@ msgstr "ID страницы"
343
  msgid "Post ID"
344
  msgstr "ID записи"
345
 
346
- #: include/personal-options.php:5
347
  #@ polylang
348
  msgid "Admin language"
349
  msgstr "Язык админ.панели"
350
 
351
- #: include/admin-filters.php:128
352
- #: include/admin-filters.php:482
353
  #@ polylang
354
  msgid "Add new translation"
355
  msgstr ""
356
 
357
- #: include/admin-filters.php:238
358
  #@ default
359
  msgid "(no parent)"
360
  msgstr ""
361
 
362
- #: include/admin.php:265
363
  #: include/list-table.php:104
364
  #@ polylang
365
  msgid "Strings translation"
366
  msgstr ""
367
 
368
- #: include/admin.php:288
369
  #@ polylang
370
  msgid "The language was created, but the WordPress language file was not downloaded. Please install it manually."
371
  msgstr ""
372
 
373
- #: include/admin.php:311
374
  #@ default
375
  msgid "Site Title"
376
  msgstr ""
377
 
378
- #: include/admin.php:312
379
  #@ default
380
  msgid "Tagline"
381
  msgstr ""
382
 
383
- #: include/admin.php:328
384
- #@ default
385
  msgid "Widget title"
386
  msgstr ""
387
 
388
- #: include/languages-form.php:86
389
  #: include/list-table.php:48
390
  #@ polylang
391
  msgid "Order"
392
  msgstr ""
393
 
394
- #: include/languages-form.php:88
395
  #@ polylang
396
  msgid "Position of the language in the language switcher"
397
  msgstr ""
@@ -401,12 +398,12 @@ msgstr ""
401
  msgid "Strings translations"
402
  msgstr ""
403
 
404
- #: include/list-table.php:126
405
  #@ polylang
406
  msgid "Name"
407
  msgstr ""
408
 
409
- #: include/list-table.php:127
410
  #@ polylang
411
  msgid "String"
412
  msgstr ""
@@ -416,9 +413,55 @@ msgstr ""
416
  msgid "No untranslated term"
417
  msgstr ""
418
 
419
- #: polylang.php:171
420
  #, php-format
421
  #@ polylang
422
  msgid "Please move your local flags from %s to %s"
423
  msgstr ""
424
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  "X-Poedit-SearchPath-0: ..\n"
20
  "X-Textdomain-Support: yes"
21
 
22
+ #: polylang.php:185
23
  #@ polylang
24
  msgid "Error: Restore of local flags failed!"
25
  msgstr "Ошибка: Не удалось восстановить пользовательские иконки-флаги из резервной копиии!"
26
 
27
+ #: include/admin-filters.php:512
28
+ #: include/admin-filters.php:529
29
  #: include/list-table.php:12
30
  #: include/post-translations.php:4
31
  #: include/term-translations.php:15
33
  msgid "Language"
34
  msgstr "Язык"
35
 
36
+ #: include/admin-filters.php:514
37
+ #: include/admin-filters.php:532
38
  #@ polylang
39
  msgid "Sets the language"
40
  msgstr "Устанавливает язык"
49
  msgid "Displays a language switcher"
50
  msgstr "Показывает переключатель языков"
51
 
52
+ #: include/widget.php:71
53
  #@ polylang
54
  msgid "Title:"
55
  msgstr "Название:"
56
 
57
+ #: include/admin.php:482
 
58
  #@ polylang
59
  msgid "Displays language names"
60
  msgstr "Показывать названия языков"
61
 
62
+ #: include/admin.php:483
 
63
  #@ polylang
64
  msgid "Displays flags"
65
  msgstr "Показывать флаги"
66
 
67
+ #: include/admin.php:488
68
  #@ polylang
69
  msgid "Displays as dropdown"
70
  msgstr "Показывать как выпадающий список"
71
 
72
+ #: include/admin.php:484
 
73
  #@ polylang
74
  msgid "Forces link to front page"
75
  msgstr "Принудительно переходить на главную страницу при смене языка"
76
 
77
+ #: include/admin.php:25
78
+ #: include/admin.php:298
79
  #@ default
80
  #@ polylang
81
  msgid "Settings"
82
  msgstr "Настройки"
83
 
84
+ #: include/admin-filters.php:185
85
+ #: include/admin.php:32
86
+ #: include/admin.php:291
87
  #: include/list-table.php:13
88
  #@ polylang
89
  msgid "Languages"
90
  msgstr "Языки"
91
 
92
+ #: include/admin.php:296
93
  #@ polylang
94
  msgid "Menus"
95
  msgstr "Меню"
96
 
97
+ #: include/admin.php:316
98
  #@ polylang
99
  msgid "Enter a valid WorPress locale"
100
  msgstr "Введите корректную WordPress локаль"
101
 
102
+ #: include/admin.php:317
103
  #@ polylang
104
  msgid "The language code must be 2 characters long"
105
  msgstr "Код языка должен состоять из 2-х символов"
106
 
107
+ #: include/admin.php:318
108
  #@ polylang
109
  msgid "The language code must be unique"
110
  msgstr "Код языка должен быть уникальным"
111
 
112
+ #: include/admin.php:319
113
  #@ polylang
114
  msgid "The language must have a name"
115
  msgstr "У языка должно быть название"
116
 
117
+ #: include/admin.php:487
118
  #@ polylang
119
  msgid "Displays a language switcher at the end of the menu"
120
  msgstr "Показывает переключатель языков"
121
 
122
+ #: include/admin-filters.php:202
123
  #@ polylang
124
  msgid "Page's language:"
125
  msgstr "Язык страницы"
126
 
127
+ #: include/admin-filters.php:202
128
  #@ polylang
129
  msgid "Post's language:"
130
  msgstr "Язык записи"
131
 
132
+ #: include/list-table.php:127
133
  #: include/term-translations.php:6
134
  #: include/term-translations.php:11
135
  #@ polylang
143
 
144
  #: include/list-table.php:26
145
  #: include/post-translations.php:6
146
+ #: include/post-translations.php:29
147
  #: include/term-translations.php:18
148
  #: include/term-translations.php:65
149
  #@ polylang
150
  msgid "Edit"
151
  msgstr "Редактировать"
152
 
153
+ #: include/post-translations.php:34
154
  #: include/term-translations.php:54
155
  #@ polylang
156
  msgid "Add new"
157
  msgstr "Добавить новый"
158
 
159
+ #: include/admin-filters.php:172
160
  #@ polylang
161
  msgid "Show all languages"
162
  msgstr "Показать все языки"
163
 
164
+ #: include/admin-filters.php:714
165
  #@ polylang
166
  msgid "Theme locations and languages"
167
  msgstr "Расположение темы и языков"
168
 
169
+ #: include/admin-filters.php:719
170
  #, php-format
171
  #@ polylang
172
  msgid "Please go to the %slanguages page%s to set theme locations and languages"
173
  msgstr "Перейдите на %slanguages page%s для указания расположения темы и языков"
174
 
175
+ #: include/admin-filters.php:730
176
  #@ polylang
177
  msgid "The widget is displayed for:"
178
  msgstr "Показывать виджет для"
179
 
180
+ #: include/base.php:33
181
  #@ polylang
182
  msgid "All languages"
183
  msgstr "Все языки"
215
  msgstr "Записи"
216
 
217
  #. translators: Calendar caption: 1: month name, 2: 4-digit year
218
+ #: include/calendar.php:106
219
  #, php-format
220
  #@ default
221
  msgctxt "calendar caption"
222
  msgid "%1$s %2$s"
223
  msgstr "%1$s %2$s"
224
 
225
+ #: include/calendar.php:132
226
+ #: include/calendar.php:140
227
  #, php-format
228
  #@ default
229
  msgid "View posts for %1$s %2$s"
235
  msgstr "Редактировать язык"
236
 
237
  #: include/languages-form.php:33
238
+ #: include/languages-form.php:98
239
  #@ polylang
240
  msgid "Add new language"
241
  msgstr "Добавить новый язык"
270
  msgid "2-letters ISO 639-1 language code (for example: en)"
271
  msgstr "2х-буквенный ISO 639-1 код языка (например: ru)"
272
 
273
+ #: include/languages-form.php:98
274
  #@ default
275
  msgid "Update"
276
  msgstr "Обновить"
277
 
278
+ #: include/languages-form.php:134
279
  #@ polylang
280
  msgid "Language switcher"
281
  msgstr "Переключатель языков"
282
 
283
+ #: include/languages-form.php:173
284
  #@ polylang
285
  msgid "Default language"
286
  msgstr "Язык по-умолчанию"
287
 
288
+ #: include/languages-form.php:191
289
  #@ polylang
290
  msgid "There are posts, pages, categories or tags without language set. Do you want to set them all to default language ?"
291
  msgstr "Найдены записи, страницы, категории или метки без указанния какого-либо языка. Установить им язык по-умолчанию?"
292
 
293
+ #: include/languages-form.php:199
294
  #@ polylang
295
  msgid "Detect browser language"
296
  msgstr "Определять язык в браузере"
297
 
298
+ #: include/languages-form.php:205
299
  #@ polylang
300
  msgid "When the front page is visited, set the language according to the browser preference"
301
  msgstr "Установить язык сайта согласно настройкам браузера"
302
 
303
+ #: include/languages-form.php:212
304
  #@ polylang
305
  msgid "URL modifications"
306
  msgstr "Модификации URL"
307
 
308
+ #: include/languages-form.php:218
309
  #@ polylang
310
  msgid "Keep /language/ in pretty permalinks. Example:"
311
  msgstr "Оставить /language/ в ЧПУ. Пример:"
312
 
313
+ #: include/languages-form.php:226
314
  #@ polylang
315
  msgid "Remove /language/ in pretty permalinks. Example:"
316
  msgstr "Удалить /language/ в ЧПУ. Пример:"
317
 
318
+ #: include/languages-form.php:234
319
  #@ polylang
320
  msgid "Hide URL language information for default language"
321
  msgstr "Спрятать название языка по-умолчанию из URL"
340
  msgid "Post ID"
341
  msgstr "ID записи"
342
 
343
+ #: include/admin-filters.php:761
344
  #@ polylang
345
  msgid "Admin language"
346
  msgstr "Язык админ.панели"
347
 
348
+ #: include/admin-filters.php:148
349
+ #: include/admin-filters.php:575
350
  #@ polylang
351
  msgid "Add new translation"
352
  msgstr ""
353
 
354
+ #: include/admin-filters.php:262
355
  #@ default
356
  msgid "(no parent)"
357
  msgstr ""
358
 
359
+ #: include/admin.php:298
360
  #: include/list-table.php:104
361
  #@ polylang
362
  msgid "Strings translation"
363
  msgstr ""
364
 
365
+ #: include/admin.php:320
366
  #@ polylang
367
  msgid "The language was created, but the WordPress language file was not downloaded. Please install it manually."
368
  msgstr ""
369
 
370
+ #: include/admin.php:497
371
  #@ default
372
  msgid "Site Title"
373
  msgstr ""
374
 
375
+ #: include/admin.php:498
376
  #@ default
377
  msgid "Tagline"
378
  msgstr ""
379
 
380
+ #: include/admin.php:517
381
+ #@ polylang
382
  msgid "Widget title"
383
  msgstr ""
384
 
385
+ #: include/languages-form.php:93
386
  #: include/list-table.php:48
387
  #@ polylang
388
  msgid "Order"
389
  msgstr ""
390
 
391
+ #: include/languages-form.php:95
392
  #@ polylang
393
  msgid "Position of the language in the language switcher"
394
  msgstr ""
398
  msgid "Strings translations"
399
  msgstr ""
400
 
401
+ #: include/list-table.php:125
402
  #@ polylang
403
  msgid "Name"
404
  msgstr ""
405
 
406
+ #: include/list-table.php:126
407
  #@ polylang
408
  msgid "String"
409
  msgstr ""
413
  msgid "No untranslated term"
414
  msgstr ""
415
 
416
+ #: polylang.php:186
417
  #, php-format
418
  #@ polylang
419
  msgid "Please move your local flags from %s to %s"
420
  msgstr ""
421
 
422
+ #: include/admin-filters.php:697
423
+ #@ default
424
+ msgid "None"
425
+ msgstr ""
426
+
427
+ #: include/admin.php:473
428
+ #@ polylang
429
+ msgid "Upgrading language files&#8230;"
430
+ msgstr ""
431
+
432
+ #: include/admin.php:485
433
+ #@ polylang
434
+ msgid "Hides the current language"
435
+ msgstr ""
436
+
437
+ #: include/languages-form.php:86
438
+ #@ polylang
439
+ msgid "Text direction"
440
+ msgstr ""
441
+
442
+ #: include/languages-form.php:87
443
+ #@ polylang
444
+ msgid "left to right"
445
+ msgstr ""
446
+
447
+ #: include/languages-form.php:88
448
+ #@ polylang
449
+ msgid "right to left"
450
+ msgstr ""
451
+
452
+ #: include/languages-form.php:89
453
+ #@ polylang
454
+ msgid "Choose the text direction for the language"
455
+ msgstr ""
456
+
457
+ #: include/languages-form.php:241
458
+ #@ polylang
459
+ msgid "Add language information to all URL including posts, pages, categories and post tags (not recommended)"
460
+ msgstr ""
461
+
462
+ #: polylang.php:88
463
+ #, php-format
464
+ #@ default
465
+ msgid "You are using WordPress %s. Polylang requires at least WordPress %s."
466
+ msgstr ""
467
+
languages/polylang.pot CHANGED
@@ -2,7 +2,7 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: polylang\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2012-01-03 20:07+0100\n"
6
  "PO-Revision-Date: \n"
7
  "Last-Translator: F. Demarle\n"
8
  "Language-Team: \n"
@@ -17,25 +17,18 @@ msgstr ""
17
  "X-Poedit-SearchPath-0: ..\n"
18
  "X-Poedit-SearchPath-1: ../include\n"
19
 
20
- #: ../polylang.php:170
21
- msgid "Error: Restore of local flags failed!"
22
- msgstr ""
23
-
24
- #: ../polylang.php:171
25
  #, php-format
26
- msgid "Please move your local flags from %s to %s"
27
  msgstr ""
28
 
29
- #: ../include/edit-term-form.php:6
30
- #: ../include/term-translations.php:15
31
- #: ../include/add-term-form.php:5
32
- #: ../include/list-table.php:12
33
- msgid "Language"
34
  msgstr ""
35
 
36
- #: ../include/edit-term-form.php:19
37
- #: ../include/add-term-form.php:17
38
- msgid "Sets the language"
39
  msgstr ""
40
 
41
  #: ../include/widget.php:6
@@ -46,100 +39,105 @@ msgstr ""
46
  msgid "Displays a language switcher"
47
  msgstr ""
48
 
49
- #: ../include/widget.php:74
50
  msgid "Title:"
51
  msgstr ""
52
 
53
- #: ../include/widget.php:77
54
- #: ../include/admin.php:296
55
- msgid "Displays language names"
56
- msgstr ""
57
-
58
- #: ../include/widget.php:78
59
- #: ../include/admin.php:297
60
- msgid "Displays flags"
61
- msgstr ""
62
-
63
- #: ../include/widget.php:79
64
- msgid "Displays as dropdown"
65
- msgstr ""
66
-
67
- #: ../include/widget.php:80
68
  #: ../include/admin.php:298
69
- msgid "Forces link to front page"
70
- msgstr ""
71
-
72
- #: ../include/admin.php:21
73
- #: ../include/admin.php:266
74
  msgid "Settings"
75
  msgstr ""
76
 
77
- #: ../include/admin.php:28
78
- #: ../include/admin.php:263
79
- #: ../include/admin-filters.php:164
80
  #: ../include/list-table.php:13
81
  msgid "Languages"
82
  msgstr ""
83
 
84
- #: ../include/admin.php:264
85
  msgid "Menus"
86
  msgstr ""
87
 
88
- #: ../include/admin.php:265
89
  #: ../include/list-table.php:104
90
  msgid "Strings translation"
91
  msgstr ""
92
 
93
- #: ../include/admin.php:284
94
  msgid "Enter a valid WorPress locale"
95
  msgstr ""
96
 
97
- #: ../include/admin.php:285
98
  msgid "The language code must be 2 characters long"
99
  msgstr ""
100
 
101
- #: ../include/admin.php:286
102
  msgid "The language code must be unique"
103
  msgstr ""
104
 
105
- #: ../include/admin.php:287
106
  msgid "The language must have a name"
107
  msgstr ""
108
 
109
- #: ../include/admin.php:288
110
  msgid "The language was created, but the WordPress language file was not downloaded. Please install it manually."
111
  msgstr ""
112
 
113
- #: ../include/admin.php:295
114
- msgid "Displays a language switcher at the end of the menu"
115
  msgstr ""
116
 
117
- #: ../include/admin.php:311
118
- msgid "Site Title"
119
  msgstr ""
120
 
121
- #: ../include/admin.php:312
122
- msgid "Tagline"
123
  msgstr ""
124
 
125
- #: ../include/admin.php:328
126
- msgid "Widget title"
127
  msgstr ""
128
 
129
- #: ../include/post-metabox.php:5
130
- msgid "Page's language:"
131
  msgstr ""
132
 
133
- #: ../include/post-metabox.php:5
134
- msgid "Post's language:"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
135
  msgstr ""
136
 
137
  #: ../include/term-translations.php:6
138
  #: ../include/term-translations.php:11
139
- #: ../include/list-table.php:128
140
  msgid "Translations"
141
  msgstr ""
142
 
 
 
 
 
 
 
 
 
143
  #: ../include/term-translations.php:16
144
  msgid "Translation"
145
  msgstr ""
@@ -147,6 +145,8 @@ msgstr ""
147
  #: ../include/term-translations.php:18
148
  #: ../include/term-translations.php:65
149
  #: ../include/list-table.php:26
 
 
150
  msgid "Edit"
151
  msgstr ""
152
 
@@ -155,37 +155,55 @@ msgid "No untranslated term"
155
  msgstr ""
156
 
157
  #: ../include/term-translations.php:54
 
158
  msgid "Add new"
159
  msgstr ""
160
 
161
- #: ../include/admin-filters.php:128
162
- #: ../include/admin-filters.php:482
163
  msgid "Add new translation"
164
  msgstr ""
165
 
166
- #: ../include/admin-filters.php:152
167
  msgid "Show all languages"
168
  msgstr ""
169
 
170
- #: ../include/admin-filters.php:238
 
 
 
 
 
 
 
 
171
  msgid "(no parent)"
172
  msgstr ""
173
 
174
- #: ../include/admin-filters.php:577
 
 
 
 
 
 
 
 
 
175
  msgid "Theme locations and languages"
176
  msgstr ""
177
 
178
- #: ../include/admin-filters.php:582
179
  #, php-format
180
  msgid "Please go to the %slanguages page%s to set theme locations and languages"
181
  msgstr ""
182
 
183
- #: ../include/admin-filters.php:593
184
  msgid "The widget is displayed for:"
185
  msgstr ""
186
 
187
- #: ../include/admin-filters.php:594
188
- msgid "All languages"
189
  msgstr ""
190
 
191
  #: ../include/list-table.php:27
@@ -207,7 +225,7 @@ msgid "Code"
207
  msgstr ""
208
 
209
  #: ../include/list-table.php:48
210
- #: ../include/languages-form.php:86
211
  msgid "Order"
212
  msgstr ""
213
 
@@ -223,21 +241,21 @@ msgstr ""
223
  msgid "Strings translations"
224
  msgstr ""
225
 
226
- #: ../include/list-table.php:126
227
  msgid "Name"
228
  msgstr ""
229
 
230
- #: ../include/list-table.php:127
231
  msgid "String"
232
  msgstr ""
233
 
234
- #: ../include/calendar.php:107
235
  #, php-format
236
  msgid "%1$s %2$s"
237
  msgstr ""
238
 
239
- #: ../include/calendar.php:133
240
- #: ../include/calendar.php:141
241
  #, php-format
242
  msgid "View posts for %1$s %2$s"
243
  msgstr ""
@@ -247,7 +265,7 @@ msgid "Edit language"
247
  msgstr ""
248
 
249
  #: ../include/languages-form.php:33
250
- #: ../include/languages-form.php:91
251
  msgid "Add new language"
252
  msgstr ""
253
 
@@ -275,50 +293,74 @@ msgstr ""
275
  msgid "2-letters ISO 639-1 language code (for example: en)"
276
  msgstr ""
277
 
 
 
 
 
 
 
 
 
278
  #: ../include/languages-form.php:88
 
 
 
 
 
 
 
 
279
  msgid "Position of the language in the language switcher"
280
  msgstr ""
281
 
282
- #: ../include/languages-form.php:91
283
  msgid "Update"
284
  msgstr ""
285
 
286
- #: ../include/languages-form.php:127
287
  msgid "Language switcher"
288
  msgstr ""
289
 
290
- #: ../include/languages-form.php:166
291
  msgid "Default language"
292
  msgstr ""
293
 
294
- #: ../include/languages-form.php:195
295
  msgid "There are posts, pages, categories or tags without language set. Do you want to set them all to default language ?"
296
  msgstr ""
297
 
298
- #: ../include/languages-form.php:203
299
  msgid "Detect browser language"
300
  msgstr ""
301
 
302
- #: ../include/languages-form.php:209
303
  msgid "When the front page is visited, set the language according to the browser preference"
304
  msgstr ""
305
 
306
- #: ../include/languages-form.php:216
307
  msgid "URL modifications"
308
  msgstr ""
309
 
310
- #: ../include/languages-form.php:222
311
  msgid "Keep /language/ in pretty permalinks. Example:"
312
  msgstr ""
313
 
314
- #: ../include/languages-form.php:230
315
  msgid "Remove /language/ in pretty permalinks. Example:"
316
  msgstr ""
317
 
318
- #: ../include/languages-form.php:238
319
  msgid "Hide URL language information for default language"
320
  msgstr ""
321
 
 
 
 
 
 
 
 
 
322
  #: ../include/post-translations.php:1
323
  msgid "ID of pages in other languages:"
324
  msgstr ""
@@ -335,7 +377,3 @@ msgstr ""
335
  msgid "Post ID"
336
  msgstr ""
337
 
338
- #: ../include/personal-options.php:5
339
- msgid "Admin language"
340
- msgstr ""
341
-
2
  msgstr ""
3
  "Project-Id-Version: polylang\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2012-01-23 15:00+0100\n"
6
  "PO-Revision-Date: \n"
7
  "Last-Translator: F. Demarle\n"
8
  "Language-Team: \n"
17
  "X-Poedit-SearchPath-0: ..\n"
18
  "X-Poedit-SearchPath-1: ../include\n"
19
 
20
+ #: ../polylang.php:88
 
 
 
 
21
  #, php-format
22
+ msgid "You are using WordPress %s. Polylang requires at least WordPress %s."
23
  msgstr ""
24
 
25
+ #: ../polylang.php:185
26
+ msgid "Error: Restore of local flags failed!"
 
 
 
27
  msgstr ""
28
 
29
+ #: ../polylang.php:186
30
+ #, php-format
31
+ msgid "Please move your local flags from %s to %s"
32
  msgstr ""
33
 
34
  #: ../include/widget.php:6
39
  msgid "Displays a language switcher"
40
  msgstr ""
41
 
42
+ #: ../include/widget.php:71
43
  msgid "Title:"
44
  msgstr ""
45
 
46
+ #: ../include/admin.php:25
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  #: ../include/admin.php:298
 
 
 
 
 
48
  msgid "Settings"
49
  msgstr ""
50
 
51
+ #: ../include/admin.php:32
52
+ #: ../include/admin.php:291
53
+ #: ../include/admin-filters.php:185
54
  #: ../include/list-table.php:13
55
  msgid "Languages"
56
  msgstr ""
57
 
58
+ #: ../include/admin.php:296
59
  msgid "Menus"
60
  msgstr ""
61
 
62
+ #: ../include/admin.php:298
63
  #: ../include/list-table.php:104
64
  msgid "Strings translation"
65
  msgstr ""
66
 
67
+ #: ../include/admin.php:316
68
  msgid "Enter a valid WorPress locale"
69
  msgstr ""
70
 
71
+ #: ../include/admin.php:317
72
  msgid "The language code must be 2 characters long"
73
  msgstr ""
74
 
75
+ #: ../include/admin.php:318
76
  msgid "The language code must be unique"
77
  msgstr ""
78
 
79
+ #: ../include/admin.php:319
80
  msgid "The language must have a name"
81
  msgstr ""
82
 
83
+ #: ../include/admin.php:320
84
  msgid "The language was created, but the WordPress language file was not downloaded. Please install it manually."
85
  msgstr ""
86
 
87
+ #: ../include/admin.php:473
88
+ msgid "Upgrading language files&#8230;"
89
  msgstr ""
90
 
91
+ #: ../include/admin.php:482
92
+ msgid "Displays language names"
93
  msgstr ""
94
 
95
+ #: ../include/admin.php:483
96
+ msgid "Displays flags"
97
  msgstr ""
98
 
99
+ #: ../include/admin.php:484
100
+ msgid "Forces link to front page"
101
  msgstr ""
102
 
103
+ #: ../include/admin.php:485
104
+ msgid "Hides the current language"
105
  msgstr ""
106
 
107
+ #: ../include/admin.php:487
108
+ msgid "Displays a language switcher at the end of the menu"
109
+ msgstr ""
110
+
111
+ #: ../include/admin.php:488
112
+ msgid "Displays as dropdown"
113
+ msgstr ""
114
+
115
+ #: ../include/admin.php:497
116
+ msgid "Site Title"
117
+ msgstr ""
118
+
119
+ #: ../include/admin.php:498
120
+ msgid "Tagline"
121
+ msgstr ""
122
+
123
+ #: ../include/admin.php:517
124
+ msgid "Widget title"
125
  msgstr ""
126
 
127
  #: ../include/term-translations.php:6
128
  #: ../include/term-translations.php:11
129
+ #: ../include/list-table.php:127
130
  msgid "Translations"
131
  msgstr ""
132
 
133
+ #: ../include/term-translations.php:15
134
+ #: ../include/admin-filters.php:512
135
+ #: ../include/admin-filters.php:529
136
+ #: ../include/list-table.php:12
137
+ #: ../include/post-translations.php:4
138
+ msgid "Language"
139
+ msgstr ""
140
+
141
  #: ../include/term-translations.php:16
142
  msgid "Translation"
143
  msgstr ""
145
  #: ../include/term-translations.php:18
146
  #: ../include/term-translations.php:65
147
  #: ../include/list-table.php:26
148
+ #: ../include/post-translations.php:6
149
+ #: ../include/post-translations.php:29
150
  msgid "Edit"
151
  msgstr ""
152
 
155
  msgstr ""
156
 
157
  #: ../include/term-translations.php:54
158
+ #: ../include/post-translations.php:34
159
  msgid "Add new"
160
  msgstr ""
161
 
162
+ #: ../include/admin-filters.php:148
163
+ #: ../include/admin-filters.php:575
164
  msgid "Add new translation"
165
  msgstr ""
166
 
167
+ #: ../include/admin-filters.php:172
168
  msgid "Show all languages"
169
  msgstr ""
170
 
171
+ #: ../include/admin-filters.php:202
172
+ msgid "Page's language:"
173
+ msgstr ""
174
+
175
+ #: ../include/admin-filters.php:202
176
+ msgid "Post's language:"
177
+ msgstr ""
178
+
179
+ #: ../include/admin-filters.php:262
180
  msgid "(no parent)"
181
  msgstr ""
182
 
183
+ #: ../include/admin-filters.php:514
184
+ #: ../include/admin-filters.php:532
185
+ msgid "Sets the language"
186
+ msgstr ""
187
+
188
+ #: ../include/admin-filters.php:697
189
+ msgid "None"
190
+ msgstr ""
191
+
192
+ #: ../include/admin-filters.php:714
193
  msgid "Theme locations and languages"
194
  msgstr ""
195
 
196
+ #: ../include/admin-filters.php:719
197
  #, php-format
198
  msgid "Please go to the %slanguages page%s to set theme locations and languages"
199
  msgstr ""
200
 
201
+ #: ../include/admin-filters.php:730
202
  msgid "The widget is displayed for:"
203
  msgstr ""
204
 
205
+ #: ../include/admin-filters.php:761
206
+ msgid "Admin language"
207
  msgstr ""
208
 
209
  #: ../include/list-table.php:27
225
  msgstr ""
226
 
227
  #: ../include/list-table.php:48
228
+ #: ../include/languages-form.php:93
229
  msgid "Order"
230
  msgstr ""
231
 
241
  msgid "Strings translations"
242
  msgstr ""
243
 
244
+ #: ../include/list-table.php:125
245
  msgid "Name"
246
  msgstr ""
247
 
248
+ #: ../include/list-table.php:126
249
  msgid "String"
250
  msgstr ""
251
 
252
+ #: ../include/calendar.php:106
253
  #, php-format
254
  msgid "%1$s %2$s"
255
  msgstr ""
256
 
257
+ #: ../include/calendar.php:132
258
+ #: ../include/calendar.php:140
259
  #, php-format
260
  msgid "View posts for %1$s %2$s"
261
  msgstr ""
265
  msgstr ""
266
 
267
  #: ../include/languages-form.php:33
268
+ #: ../include/languages-form.php:98
269
  msgid "Add new language"
270
  msgstr ""
271
 
293
  msgid "2-letters ISO 639-1 language code (for example: en)"
294
  msgstr ""
295
 
296
+ #: ../include/languages-form.php:86
297
+ msgid "Text direction"
298
+ msgstr ""
299
+
300
+ #: ../include/languages-form.php:87
301
+ msgid "left to right"
302
+ msgstr ""
303
+
304
  #: ../include/languages-form.php:88
305
+ msgid "right to left"
306
+ msgstr ""
307
+
308
+ #: ../include/languages-form.php:89
309
+ msgid "Choose the text direction for the language"
310
+ msgstr ""
311
+
312
+ #: ../include/languages-form.php:95
313
  msgid "Position of the language in the language switcher"
314
  msgstr ""
315
 
316
+ #: ../include/languages-form.php:98
317
  msgid "Update"
318
  msgstr ""
319
 
320
+ #: ../include/languages-form.php:134
321
  msgid "Language switcher"
322
  msgstr ""
323
 
324
+ #: ../include/languages-form.php:173
325
  msgid "Default language"
326
  msgstr ""
327
 
328
+ #: ../include/languages-form.php:191
329
  msgid "There are posts, pages, categories or tags without language set. Do you want to set them all to default language ?"
330
  msgstr ""
331
 
332
+ #: ../include/languages-form.php:199
333
  msgid "Detect browser language"
334
  msgstr ""
335
 
336
+ #: ../include/languages-form.php:205
337
  msgid "When the front page is visited, set the language according to the browser preference"
338
  msgstr ""
339
 
340
+ #: ../include/languages-form.php:212
341
  msgid "URL modifications"
342
  msgstr ""
343
 
344
+ #: ../include/languages-form.php:218
345
  msgid "Keep /language/ in pretty permalinks. Example:"
346
  msgstr ""
347
 
348
+ #: ../include/languages-form.php:226
349
  msgid "Remove /language/ in pretty permalinks. Example:"
350
  msgstr ""
351
 
352
+ #: ../include/languages-form.php:234
353
  msgid "Hide URL language information for default language"
354
  msgstr ""
355
 
356
+ #: ../include/languages-form.php:241
357
+ msgid "Add language information to all URL including posts, pages, categories and post tags (not recommended)"
358
+ msgstr ""
359
+
360
+ #: ../include/base.php:33
361
+ msgid "All languages"
362
+ msgstr ""
363
+
364
  #: ../include/post-translations.php:1
365
  msgid "ID of pages in other languages:"
366
  msgstr ""
377
  msgid "Post ID"
378
  msgstr ""
379
 
 
 
 
 
polylang.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  Plugin Name: Polylang
4
  Plugin URI: http://wordpress.org/extend/plugins/polylang/
5
- Version: 0.6.1
6
  Author: F. Demarle
7
  Description: Adds multilingual capability to Wordpress
8
  */
@@ -23,7 +23,8 @@ Description: Adds multilingual capability to Wordpress
23
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
24
  */
25
 
26
- define('POLYLANG_VERSION', '0.6.1');
 
27
 
28
  define('POLYLANG_DIR', dirname(__FILE__)); // our directory
29
  define('PLL_INC', POLYLANG_DIR.'/include');
@@ -53,6 +54,10 @@ class Polylang extends Polylang_Base {
53
  register_activation_hook( __FILE__, array(&$this, 'activate') );
54
  register_deactivation_hook( __FILE__, array(&$this, 'deactivate') );
55
 
 
 
 
 
56
  // manages plugin upgrade
57
  add_filter('upgrader_post_install', array(&$this, 'post_upgrade'));
58
  add_action('admin_init', array(&$this, 'admin_init'));
@@ -80,7 +85,11 @@ class Polylang extends Polylang_Base {
80
 
81
  // plugin activation for multisite
82
  function activate() {
83
- global $wpdb;
 
 
 
 
84
 
85
  // check if it is a network activation - if so, run the activation function for each blog
86
  if (is_multisite() && isset($_GET['networkwide']) && ($_GET['networkwide'] == 1)) {
@@ -107,17 +116,15 @@ class Polylang extends Polylang_Base {
107
 
108
  $table = $wpdb->prefix . 'termmeta';
109
 
110
- $tables = $wpdb->get_results("show tables like '$table'");
111
- if (!count($tables))
112
- $wpdb->query("CREATE TABLE $table (
113
- meta_id bigint(20) unsigned NOT NULL auto_increment,
114
- term_id bigint(20) unsigned NOT NULL default '0',
115
- meta_key varchar(255) default NULL,
116
- meta_value longtext,
117
- PRIMARY KEY (meta_id),
118
- KEY term_id (term_id),
119
- KEY meta_key (meta_key)
120
- ) $charset_collate;");
121
 
122
  // codex tells to use the init action to call register_taxonomy but I need it now for my rewrite rules
123
  register_taxonomy('language', get_post_types(array('show_ui' => true)), array('label' => false, 'query_var'=>'lang'));
@@ -128,6 +135,7 @@ class Polylang extends Polylang_Base {
128
  $options['browser'] = 1; // default language for the front page is set by browser preference
129
  $options['rewrite'] = 0; // do not remove /language/ in permalinks
130
  $options['hide_default'] = 0; // do not remove URL language information for default language
 
131
  }
132
  $options['version'] = POLYLANG_VERSION;
133
  update_option('polylang', $options);
@@ -156,9 +164,6 @@ class Polylang extends Polylang_Base {
156
  // plugin deactivation
157
  function _deactivate() {
158
  global $wp_rewrite;
159
-
160
- // delete our rewrite rules
161
- remove_filter('rewrite_rules_array', array(&$this,'rewrite_rules_array' ));
162
  $wp_rewrite->flush_rules();
163
  }
164
 
@@ -239,6 +244,9 @@ class Polylang extends Polylang_Base {
239
  }
240
  }
241
 
 
 
 
242
  $options['version'] = POLYLANG_VERSION;
243
  update_option('polylang', $options);
244
  }
@@ -314,7 +322,7 @@ class Polylang extends Polylang_Base {
314
 
315
  // rewrite rules for archives filtered by language
316
  foreach ($rules as $key => $rule) {
317
- $is_archive = strpos($rule, 'author_name=') || strpos($rule, 'year=') && !(
318
  strpos($rule, 'p=') ||
319
  strpos($rule, 'name=') ||
320
  strpos($rule, 'page=') ||
@@ -328,6 +336,18 @@ class Polylang extends Polylang_Base {
328
  unset($rules[$key]); // now useless
329
  }
330
  }
 
 
 
 
 
 
 
 
 
 
 
 
331
  return $newrules + $rules;
332
  }
333
 
2
  /*
3
  Plugin Name: Polylang
4
  Plugin URI: http://wordpress.org/extend/plugins/polylang/
5
+ Version: 0.7
6
  Author: F. Demarle
7
  Description: Adds multilingual capability to Wordpress
8
  */
23
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
24
  */
25
 
26
+ define('POLYLANG_VERSION', '0.7');
27
+ define('PLL_MIN_WP_VERSION', '3.1');
28
 
29
  define('POLYLANG_DIR', dirname(__FILE__)); // our directory
30
  define('PLL_INC', POLYLANG_DIR.'/include');
54
  register_activation_hook( __FILE__, array(&$this, 'activate') );
55
  register_deactivation_hook( __FILE__, array(&$this, 'deactivate') );
56
 
57
+ // stopping here if we are going to deactivate the plugin avoids breaking rewrite rules
58
+ if (isset($_GET['action']) && $_GET['action'] == 'deactivate' && isset($_GET['plugin']) && $_GET['plugin'] == 'polylang/polylang.php')
59
+ return;
60
+
61
  // manages plugin upgrade
62
  add_filter('upgrader_post_install', array(&$this, 'post_upgrade'));
63
  add_action('admin_init', array(&$this, 'admin_init'));
85
 
86
  // plugin activation for multisite
87
  function activate() {
88
+ global $wp_version, $wpdb;
89
+
90
+ if (version_compare($wp_version, PLL_MIN_WP_VERSION , '<'))
91
+ die (sprintf('<p style = "font-family: sans-serif; font-size: 12px; color: #333; margin: -5px">%s</p>',
92
+ sprintf(__('You are using WordPress %s. Polylang requires at least WordPress %s.', 'polylang'), $wp_version, PLL_MIN_WP_VERSION)));
93
 
94
  // check if it is a network activation - if so, run the activation function for each blog
95
  if (is_multisite() && isset($_GET['networkwide']) && ($_GET['networkwide'] == 1)) {
116
 
117
  $table = $wpdb->prefix . 'termmeta';
118
 
119
+ $wpdb->query("CREATE TABLE IF NOT EXISTS $table (
120
+ meta_id bigint(20) unsigned NOT NULL auto_increment,
121
+ term_id bigint(20) unsigned NOT NULL default '0',
122
+ meta_key varchar(255) default NULL,
123
+ meta_value longtext,
124
+ PRIMARY KEY (meta_id),
125
+ KEY term_id (term_id),
126
+ KEY meta_key (meta_key)
127
+ ) $charset_collate;");
 
 
128
 
129
  // codex tells to use the init action to call register_taxonomy but I need it now for my rewrite rules
130
  register_taxonomy('language', get_post_types(array('show_ui' => true)), array('label' => false, 'query_var'=>'lang'));
135
  $options['browser'] = 1; // default language for the front page is set by browser preference
136
  $options['rewrite'] = 0; // do not remove /language/ in permalinks
137
  $options['hide_default'] = 0; // do not remove URL language information for default language
138
+ $options['force_lang'] = 0; // do not add URL language information when useless
139
  }
140
  $options['version'] = POLYLANG_VERSION;
141
  update_option('polylang', $options);
164
  // plugin deactivation
165
  function _deactivate() {
166
  global $wp_rewrite;
 
 
 
167
  $wp_rewrite->flush_rules();
168
  }
169
 
244
  }
245
  }
246
 
247
+ if (version_compare($options['version'], '0.7', '<'))
248
+ $options['force_lang'] = 0; // option introduced in 0.7
249
+
250
  $options['version'] = POLYLANG_VERSION;
251
  update_option('polylang', $options);
252
  }
322
 
323
  // rewrite rules for archives filtered by language
324
  foreach ($rules as $key => $rule) {
325
+ $is_archive = strpos($rule, 'post_format=') || strpos($rule, 'author_name=') || strpos($rule, 'post_type=') || strpos($rule, 'year=') && !(
326
  strpos($rule, 'p=') ||
327
  strpos($rule, 'name=') ||
328
  strpos($rule, 'page=') ||
336
  unset($rules[$key]); // now useless
337
  }
338
  }
339
+
340
+ // optionally add the language information to all urls
341
+ if ($options['force_lang']) {
342
+ foreach ($rules as $key => $rule) {
343
+ foreach ($listlanguages as $language) {
344
+ $slug = $options['default_lang'] == $language->slug && $options['hide_default'] ? '' : $base.$language->slug . '/';
345
+ $newrules[$slug.$key] = $rules[$key];
346
+ }
347
+ unset($rules[$key]); // now useless
348
+ }
349
+ }
350
+
351
  return $newrules + $rules;
352
  }
353
 
readme.txt CHANGED
@@ -1,41 +1,32 @@
1
  === Polylang ===
2
  Contributors: Chouby
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=CCWWYUUQV8F4E
4
- Tags: bilingual, language, i18n, international, l10n, localization, multilingual, multisite, translate, translation, widget
5
  Requires at least: 3.1
6
  Tested up to: 3.3.1
7
- Stable tag: 0.6.1
8
 
9
  Polylang adds multilingual content management support to WordPress.
10
 
11
  == Description ==
12
 
13
- = Announcement =
14
-
15
- [A development version of Polylang 0.7 is available](http://wordpress.org/support/topic/development-of-polylang-version-07).
16
-
17
  = Upgrade Notice =
18
 
19
- When upgrading from 0.5.1 or older, your custom flags in 'wp-content/plugins/polylang/local_flags' directory should move to 'wp-content/polylang'. People using the function 'pll_the_language' should be aware that it does not display the 'ul' tag anymore. I wrote about the reasons for these changes in the [forum](http://wordpress.org/support/topic/development-of-polylang-version-06).
20
 
21
  = Features =
22
 
23
  You write posts, pages and create categories and post tags as usual, and then define the language for each of them. The translation is optional. The plugin does not integrate automatic or professional translation.
24
 
25
- * You can create as many languages as you want
26
- * WordPress languages files are automatically downloaded and updated (new in 0.6)
27
- * You can translate posts, pages, categories, post tags, menus
28
- * RSS feed available for each language
29
  * Support for Search form (see the FAQ in the documentation)
30
- * Support for pretty permalinks
31
- * Support for static page (in the right language) used as front page
32
- * All WordPress default widgets (archives, categories, pages, recent comments, recent posts, tag cloud and calendar) are automatically in the right language
33
- * Language switcher provided as a widget or in the nav menu
34
- * All widgets can be displayed or not, depending on the language (new in 0.3)
35
- * Each user can set the WordPress admin language in its profile (new in 0.4)
36
- * Support for custom post types and custom taxonomies (new in 0.4)
37
- * Support for multisite (new in 0.5)
38
- * Categories, post tags as well as some other metas are automatically copied when adding a new post or page translation (new in 0.6)
39
 
40
  The plugin admin interface is currently available in:
41
 
@@ -45,55 +36,41 @@ The plugin admin interface is currently available in:
45
  * Russian contributed by [yoyurec](http://yoyurec.in.ua)
46
  * Greek contributed by [theodotos](http://www.ubuntucy.org)
47
  * Dutch contributed by [AlbertGn](http://wordpress.org/support/profile/albertgn)
 
48
 
49
  Other translators are welcome !
50
 
51
- = Notes =
52
-
53
- * The tests have been made with WordPress 3.3.1.
54
- * User strings (site title, widget titles) translation is active in WP 3.3 and newer only.
55
- * Your server must run PHP5
56
- * You must deactivate other multilingual plugins before activating Polylang, otherwise, you may get unexpected results !
57
- * Unlike some other plugins, if you deactivate Polylang, your blog will go on working as smoothly as possible. All your posts, pages, category and post tags would be accessible (without language filter of course...).
58
-
59
  = Feedback or ideas =
60
 
61
  Don't hesitate to [give your feedback](http://wordpress.org/tags/polylang?forum_id=10). It will help making the plugin better. Don't hesitate to rate the plugin too.
62
 
63
  == Upgrade Notice ==
64
 
65
- When upgrading from 0.5.1 or older, your custom flags in 'wp-content/plugins/polylang/local_flags' directory should move to 'wp-content/polylang'. People using the function 'pll_the_language' should be aware that it does not display the ul tag anymore.
66
 
67
  == Installation ==
68
 
 
 
69
  1. Download the plugin
70
  1. Extract all the files.
71
  1. Upload everything (keeping the directory structure) to the `/wp-content/plugins/` directory.
72
  1. Activate the plugin through the 'Plugins' menu in WordPress.
73
- 1. Add the 'language switcher' Widget to let your visitors switch the language.
74
  1. Go to the languages settings page and create the languages you need
75
- 1. Take care that your theme must come with the corresponding .mo files. If your theme is not internationalized yet, please refer to the [codex](http://codex.wordpress.org/I18n_for_WordPress_Developers#I18n_for_theme_and_plugin_developers) or ask the theme author to internationalize it.
 
76
 
77
  == Frequently Asked Questions ==
78
 
79
- = Why using Polylang and not other well established equivalent plugins ? =
80
-
81
- WPML: I tested only the last non-commercial version (2.0.4.1) with WP 3.0.5. The plugin looks quite complete. It's however very heavy (almost 30000 lines of code !). The fact that it has turned commercial is probably adapted to companies or very active bloggers but not well adapted to small blogs.
82
-
83
- Xili language: I tested the version 2.2.0. It looks too complex. For example you need to install 3 different plugins to manage post tags translation. If managing post translations is quite easy (and inspired Polylang...), the way to manage categories and post tags translations is not enough user friendly in my opinion. As WPML it's very heavy (about 12000 lines of code).
84
-
85
- qtranslate: I tested the version 2.5.23. As claimed by its author, it's probably the best existing plugin... when using it. However, you must know that it is very difficult to come back to a clean site if you deactivate it (as, for example, one post in the database contains all translations). Moreover, it modifies urls so again, if you deactivate it, all links to your internal urls would be broken (not good for SEO).
86
-
87
- In comparison to these plugins, Polylang tries to keep things simple and light, and does not mess your blog if you deactivate it. But it is still very young so be indulgent ;-)
88
-
89
  = Where to find help ? =
90
 
91
- * Read the [documentation](http://plugins.svn.wordpress.org/polylang/trunk/doc/documentation-en.pdf) supplied whith the plugin (in the doc directory) and search the [support forum](http://wordpress.org/tags/polylang?forum_id=10) first. I know that searching in the WordPress forum is not very convenient, but please give it a try. You can use generic search engines such as Google too as the WordPress forum SEO is very good. You will most probably find your answer here.
 
92
  * If you still have a problem, open a new thread in the [support forum](http://wordpress.org/tags/polylang?forum_id=10).
93
 
94
  = Is Polylang compatible with multisite ? =
95
 
96
- Yes. Since v0.5
97
 
98
  = Can I use my own flags for the language switcher ? =
99
 
@@ -101,11 +78,35 @@ Yes. You have to use PNG or JPG files and name them with the WordPress locale co
101
 
102
  == Screenshots ==
103
 
104
- 1. The Polylang languages admin panel (v0.5) in WordPress 3.3
105
 
106
  == Changelog ==
107
 
108
- = 0.6.1 =
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
109
 
110
  * Add Dutch translation contributed by [AlbertGn](http://wordpress.org/support/profile/albertgn)
111
  * Disable everything except the languages management panel while no language has been created
1
  === Polylang ===
2
  Contributors: Chouby
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=CCWWYUUQV8F4E
4
+ Tags: bilingual, language, i18n, international, l10n, localization, multilanguage, multilingual, multisite, translate, translation
5
  Requires at least: 3.1
6
  Tested up to: 3.3.1
7
+ Stable tag: 0.7
8
 
9
  Polylang adds multilingual content management support to WordPress.
10
 
11
  == Description ==
12
 
 
 
 
 
13
  = Upgrade Notice =
14
 
15
+ When upgrading from 0.5.1 or older, your custom flags in 'wp-content/plugins/polylang/local_flags' directory should move to 'wp-content/polylang'. People using the function 'pll_the_language' should be aware that it does not display the 'ul' tag anymore. I wrote about the reasons for these changes in the [forum](http://wordpress.org/support/topic/development-of-polylang-version-06). When upgrading from 0.6.1 or older, people using RTL languages must edit these languages and set the text direction to RTL in order for Polylang to work properly (the RTL property of the language is not set automatically when upgrading).
16
 
17
  = Features =
18
 
19
  You write posts, pages and create categories and post tags as usual, and then define the language for each of them. The translation is optional. The plugin does not integrate automatic or professional translation.
20
 
21
+ * You can have as many languages as you want. RTL languages are now supported. WordPress languages files are automatically downloaded and updated.
22
+ * You can translate posts, pages, categories, post tags, menus, widgets... Custom post types, custom taxonomies and post formats, RSS feeds and all default WordPress widgets are supported.
23
+ * Categories, post tags as well as some other metas are automatically copied when adding a new post or page translation
 
24
  * Support for Search form (see the FAQ in the documentation)
25
+ * Support for multisite, pretty permalinks and static page used as front page
26
+ * A language switcher is provided as a widget or in the nav menu
27
+ * As a bonus, each user can set the WordPress admin language in its profile
28
+
29
+ Unlike some other similar plugins, if you deactivate Polylang, your blog will go on working as smoothly as possible. All your posts, pages, category and post tags would be accessible - without language filter of course - provided that you do not check the option: "Add language information to all URL including posts, pages, categories and post tags".
 
 
 
 
30
 
31
  The plugin admin interface is currently available in:
32
 
36
  * Russian contributed by [yoyurec](http://yoyurec.in.ua)
37
  * Greek contributed by [theodotos](http://www.ubuntucy.org)
38
  * Dutch contributed by [AlbertGn](http://wordpress.org/support/profile/albertgn)
39
+ * Hebrew contributed by [ArielK](http://www.arielk.net)
40
 
41
  Other translators are welcome !
42
 
 
 
 
 
 
 
 
 
43
  = Feedback or ideas =
44
 
45
  Don't hesitate to [give your feedback](http://wordpress.org/tags/polylang?forum_id=10). It will help making the plugin better. Don't hesitate to rate the plugin too.
46
 
47
  == Upgrade Notice ==
48
 
49
+ When upgrading from 0.5.1 or older, your custom flags in 'wp-content/plugins/polylang/local_flags' directory should move to 'wp-content/polylang'. People using the function 'pll_the_language' should be aware that it does not display the ul tag anymore. When upgrading from 0.6.1 or older, people using RTL languages must edit these languages and set the text direction to RTL in order for Polylang to work properly (the RTL property of the language is not set automatically when upgrading).
50
 
51
  == Installation ==
52
 
53
+ 1. Make sure you are using WordPress 3.1 or later and that your server is running PHP5 (if you are using WordPress 3.2 or newer, it does !)
54
+ 1. If you tried other multilingual plugins, deactivate them before activating Polylang, otherwise, you may get unexpected results !
55
  1. Download the plugin
56
  1. Extract all the files.
57
  1. Upload everything (keeping the directory structure) to the `/wp-content/plugins/` directory.
58
  1. Activate the plugin through the 'Plugins' menu in WordPress.
 
59
  1. Go to the languages settings page and create the languages you need
60
+ 1. Add the 'language switcher' Widget to let your visitors switch the language.
61
+ 1. Take care that your theme must come with the corresponding .mo files (Polylang downloads them for Twenty Ten and Twenty Eleven). If your theme is not internationalized yet, please refer to the [codex](http://codex.wordpress.org/I18n_for_WordPress_Developers#I18n_for_theme_and_plugin_developers) or ask the theme author to internationalize it.
62
 
63
  == Frequently Asked Questions ==
64
 
 
 
 
 
 
 
 
 
 
 
65
  = Where to find help ? =
66
 
67
+ * Read the [documentation](http://plugins.svn.wordpress.org/polylang/trunk/doc/documentation-en.pdf) supplied whith the plugin (in the doc directory). It includes guidelines to start working with Polylang, a much bigger FAQ than here and the API documentation for programmers.
68
+ * Search the [support forum](http://wordpress.org/tags/polylang?forum_id=10). I know that searching in the WordPress forum is not very convenient, but please give it a try. You can use generic search engines such as Google too as the WordPress forum SEO is very good. You will most probably find your answer here.
69
  * If you still have a problem, open a new thread in the [support forum](http://wordpress.org/tags/polylang?forum_id=10).
70
 
71
  = Is Polylang compatible with multisite ? =
72
 
73
+ Yes. Since v0.5. You can either activate it at network level or at site level.
74
 
75
  = Can I use my own flags for the language switcher ? =
76
 
78
 
79
  == Screenshots ==
80
 
81
+ 1. The Polylang languages admin panel in WordPress 3.3.1
82
 
83
  == Changelog ==
84
 
85
+ = 0.7 (2012-01-30) =
86
+
87
+ * Add Hebrew translation contributed by [ArielK](http://www.arielk.net)
88
+ * Add support for RTL languages for both frontend and admin
89
+ * Twenty Ten and Twenty Eleven languages files are now automatically downloaded when creating a new langage
90
+ * Improve filtering tags by language in the edit post panel
91
+ * Category parent dropdown list is now filtered by language
92
+ * Category parents are now synchronized between translations
93
+ * Add the possibility to have the language information in all URL
94
+ * Add support for post formats
95
+ * Add option allowing not to show the current language in the language switcher (for both menu and widget)
96
+ * Add a title attribute (and the possibility to personalize it with a filter) to flags
97
+ * pll_get_post and pll_get_term second parameter is now optional and defaults to current language
98
+ * Add pll_the_language_link filter allowing to filter translation links outputed by the language switcher
99
+ * The option PLL_DISPLAY_ALL is no longer supported
100
+ * Bug correction: Autosave reset to default language
101
+ * Bug correction: blog info not translated in feeds
102
+ * Bug correction: post comments feed always in default language
103
+ * Bug correction: undefined index notice when setting up a custom menu widget
104
+ * Bug correction: rewrite rules are not correctly reset when deactivating the plugin
105
+ * Bug correction: is_home not correctly set on pages 2, 3...
106
+ * Bug correction: avoid naming conflicts (in sql queries) with other themes / plugins
107
+ * Bug correction: bad language detection and url rewriting of custom post types archives
108
+
109
+ = 0.6.1 (2012-01-12) =
110
 
111
  * Add Dutch translation contributed by [AlbertGn](http://wordpress.org/support/profile/albertgn)
112
  * Disable everything except the languages management panel while no language has been created
screenshot-1.png CHANGED
Binary file
uninstall.php CHANGED
@@ -38,6 +38,7 @@ class Polylang_Uninstall {
38
  }
39
 
40
  foreach ($languages as $lang) {
 
41
  delete_option('polylang_mo'.$lang->term_id); // delete the string translations
42
  wp_delete_term($lang->term_id, 'language'); // finally delete languages
43
  }
38
  }
39
 
40
  foreach ($languages as $lang) {
41
+ delete_metadata('term', $lang->term_id, '_rtl'); // delete rtl meta
42
  delete_option('polylang_mo'.$lang->term_id); // delete the string translations
43
  wp_delete_term($lang->term_id, 'language'); // finally delete languages
44
  }