Relevanssi – A Better Search - Version 3.2

Version Description

  • Fixed a bug in the TablePress support.
  • Titles are put through the_title filter before indexing.
  • New filter: relevanssi_join can be used to join tables in the Relevanssi search MySQL queries. Thanks to Ninos Ego.
  • New filter: relevanssi_post_content can be used to modify post content before any Relevanssi processing.
  • New filter: relevanssi_post_content_before_tokenize can be used to modify post content just before it's tokenized.
  • New filter: relevanssi_indexing_values can be used to modify what Relevanssi stores in the index.
  • New filter: relevanssi_default_meta_query_relation can be used to change the default meta query relation (default value is "AND").
  • When using a meta_query, relation can be set to OR now.
  • Phrases are now matched to excerpts.
  • Number of queries Relevanssi generates is much, much lower.
  • New filter: relevanssi_didyoumean_url lets you modify the URL generated by the did you mean feature.
  • Better set of Russian stopwords.
  • Relevanssi now highlights search query synonyms as well in documents.
Download this release

Release Info

Developer msaari
Plugin Icon 128x128 Relevanssi – A Better Search
Version 3.2
Comparing to
See all releases

Code changes from version 3.1.9 to 3.2

lib/common.php CHANGED
@@ -229,6 +229,9 @@ function relevanssi_populate_array($matches) {
229
  $relevanssi_post_array[$post->ID] = $post;
230
  $relevanssi_post_types[$post->ID] = $post->post_type;
231
  }
 
 
 
232
  }
233
 
234
  function relevanssi_get_term_taxonomy($id) {
@@ -284,8 +287,9 @@ function relevanssi_recognize_phrases($q) {
284
  $phrase_matches = array();
285
  foreach ($phrases as $phrase) {
286
  $phrase = esc_sql($phrase);
 
287
  $query = "SELECT ID FROM $wpdb->posts
288
- WHERE (post_content LIKE '%$phrase%' OR post_title LIKE '%$phrase%')
289
  AND post_status IN ('publish', 'draft', 'private', 'pending', 'future', 'inherit')";
290
 
291
  $docs = $wpdb->get_results($query);
@@ -536,7 +540,6 @@ function relevanssi_tokenize($str, $remove_stops = true, $min_word_length = -1)
536
 
537
  $t = strtok("\n\t ");
538
  }
539
-
540
  return $tokens;
541
  }
542
 
@@ -602,4 +605,47 @@ function relevanssi_get_term_tax_id($field, $id, $taxonomy) {
602
  WHERE term_id = $id AND taxonomy = '$taxonomy'");
603
  }
604
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
605
  ?>
229
  $relevanssi_post_array[$post->ID] = $post;
230
  $relevanssi_post_types[$post->ID] = $post->post_type;
231
  }
232
+
233
+ if (function_exists('wp_suspend_cache_addition'))
234
+ wp_suspend_cache_addition(false);
235
  }
236
 
237
  function relevanssi_get_term_taxonomy($id) {
287
  $phrase_matches = array();
288
  foreach ($phrases as $phrase) {
289
  $phrase = esc_sql($phrase);
290
+ "on" == get_option("relevanssi_index_excerpt") ? $excerpt = " OR post_excerpt LIKE '%$phrase%'" : $excerpt = "";
291
  $query = "SELECT ID FROM $wpdb->posts
292
+ WHERE (post_content LIKE '%$phrase%' OR post_title LIKE '%$phrase%' $excerpt)
293
  AND post_status IN ('publish', 'draft', 'private', 'pending', 'future', 'inherit')";
294
 
295
  $docs = $wpdb->get_results($query);
540
 
541
  $t = strtok("\n\t ");
542
  }
 
543
  return $tokens;
544
  }
545
 
605
  WHERE term_id = $id AND taxonomy = '$taxonomy'");
606
  }
607
 
608
+ /**
609
+ * Takes in a search query, returns it with synonyms added.
610
+ */
611
+ function relevanssi_add_synonyms($q) {
612
+ if (empty($q)) return $q;
613
+
614
+ $synonym_data = get_option('relevanssi_synonyms');
615
+ if ($synonym_data) {
616
+ $synonyms = array();
617
+ if (function_exists('mb_strtolower')) {
618
+ $synonym_data = mb_strtolower($synonym_data);
619
+ }
620
+ else {
621
+ $synonym_data = strtolower($synonym_data);
622
+ }
623
+ $pairs = explode(";", $synonym_data);
624
+ foreach ($pairs as $pair) {
625
+ $parts = explode("=", $pair);
626
+ $key = strval(trim($parts[0]));
627
+ $value = trim($parts[1]);
628
+ $synonyms[$key][$value] = true;
629
+ }
630
+ if (count($synonyms) > 0) {
631
+ $new_terms = array();
632
+ $terms = array_keys(relevanssi_tokenize($q, false)); // remove stopwords is false here
633
+ if (!in_array($q, $terms)) $terms[] = $q;
634
+
635
+ foreach ($terms as $term) {
636
+ if (in_array(strval($term), array_keys($synonyms))) { // strval, otherwise numbers cause problems
637
+ if (isset($synonyms[strval($term)])) { // necessary, otherwise terms like "02" can cause problems
638
+ $new_terms = array_merge($new_terms, array_keys($synonyms[strval($term)]));
639
+ }
640
+ }
641
+ }
642
+ if (count($new_terms) > 0) {
643
+ foreach ($new_terms as $new_term) {
644
+ $q .= " $new_term";
645
+ }
646
+ }
647
+ }
648
+ }
649
+ return $q;
650
+ }
651
  ?>
lib/excerpts-highlights.php CHANGED
@@ -68,12 +68,13 @@ function relevanssi_do_excerpt($t_post, $query) {
68
  }
69
  }
70
 
71
- if (!$start) {
72
  $excerpt = $ellipsis . $excerpt;
73
  // do not add three dots to the beginning of the post
74
  }
75
 
76
- $excerpt = $excerpt . $ellipsis;
 
77
 
78
  if (relevanssi_s2member_level($post->ID) == 1) $excerpt = $post->post_excerpt;
79
 
@@ -274,7 +275,8 @@ function relevanssi_highlight_in_docs($content) {
274
  if (substr($referrer, 0, strlen($_SERVER['SERVER_NAME'])) == $_SERVER['SERVER_NAME']) {
275
  // Local search
276
  if (isset($query['s'])) {
277
- $content = relevanssi_highlight_terms($content, $query['s']);
 
278
  }
279
  }
280
  if (function_exists('relevanssi_nonlocal_highlighting')) {
68
  }
69
  }
70
 
71
+ if (!$start && !empty($excerpt)) {
72
  $excerpt = $ellipsis . $excerpt;
73
  // do not add three dots to the beginning of the post
74
  }
75
 
76
+ if (!empty($excerpt))
77
+ $excerpt = $excerpt . $ellipsis;
78
 
79
  if (relevanssi_s2member_level($post->ID) == 1) $excerpt = $post->post_excerpt;
80
 
275
  if (substr($referrer, 0, strlen($_SERVER['SERVER_NAME'])) == $_SERVER['SERVER_NAME']) {
276
  // Local search
277
  if (isset($query['s'])) {
278
+ $q = relevanssi_add_synonyms($query['s']);
279
+ $content = relevanssi_highlight_terms($content, $q);
280
  }
281
  }
282
  if (function_exists('relevanssi_nonlocal_highlighting')) {
lib/indexing.php CHANGED
@@ -109,6 +109,9 @@ function relevanssi_build_index($extend = false) {
109
  . __((($size == 0) || (count($content) < $size)) ? "Indexing complete!" : "More to index...", "relevanssi")
110
  . '</p></div>';
111
  update_option('relevanssi_indexed', 'done');
 
 
 
112
  }
113
 
114
  // BEGIN modified by renaissancehack
@@ -299,7 +302,7 @@ function relevanssi_index_doc($indexpost, $remove_first = false, $custom_fields
299
 
300
  $index_titles = true;
301
  if (apply_filters('relevanssi_index_titles', $index_titles)) {
302
- $titles = relevanssi_tokenize($post->post_title);
303
 
304
  if (count($titles) > 0) {
305
  foreach ($titles as $title => $count) {
@@ -314,7 +317,7 @@ function relevanssi_index_doc($indexpost, $remove_first = false, $custom_fields
314
  remove_shortcode('noindex');
315
  add_shortcode('noindex', 'relevanssi_noindex_shortcode_indexing');
316
 
317
- $contents = $post->post_content;
318
 
319
  // Allow user to add extra content for Relevanssi to index
320
  // Thanks to Alexander Gieg
@@ -330,10 +333,9 @@ function relevanssi_index_doc($indexpost, $remove_first = false, $custom_fields
330
  $My_WP_Table_Reloaded = new WP_Table_Reloaded_Controller_Frontend();
331
  }
332
  // TablePress support
333
- if (defined('TABLEPRESS_ABSPATH')) {
334
- include_once(TABLEPRESS_ABSPATH . 'controllers/controller-frontend.php');
335
- $My_WP_Table_Reloaded = new TablePress_Frontend_Controller();
336
- $My_WP_Table_Reloaded->init_shortcodes();
337
  }
338
 
339
  $disable_shortcodes = get_option('relevanssi_disable_shortcodes');
@@ -349,7 +351,10 @@ function relevanssi_index_doc($indexpost, $remove_first = false, $custom_fields
349
  $contents = do_shortcode($contents);
350
  $post = $post_before_shortcode;
351
 
352
- if (defined('TABLEPRESS_ABSPATH') || defined('WP_TABLE_RELOADED_ABSPATH')) {
 
 
 
353
  unset($My_WP_Table_Reloaded);
354
  }
355
  }
@@ -372,6 +377,7 @@ function relevanssi_index_doc($indexpost, $remove_first = false, $custom_fields
372
 
373
  $contents = preg_replace('/<[a-zA-Z\/][^>]*>/', ' ', $contents);
374
  $contents = strip_tags($contents);
 
375
  $contents = relevanssi_tokenize($contents, true, $min_word_length);
376
 
377
  if (count($contents) > 0) {
@@ -410,6 +416,8 @@ function relevanssi_index_doc($indexpost, $remove_first = false, $custom_fields
410
  array_push($values, $value);
411
  }
412
 
 
 
413
  if (!empty($values)) {
414
  $values = implode(', ', $values);
415
  $query = "INSERT IGNORE INTO $relevanssi_table (doc, term, term_reverse, content, title, comment, tag, link, author, category, excerpt, taxonomy, customfield, type, taxonomy_detail, customfield_detail, mysqlcolumn)
109
  . __((($size == 0) || (count($content) < $size)) ? "Indexing complete!" : "More to index...", "relevanssi")
110
  . '</p></div>';
111
  update_option('relevanssi_indexed', 'done');
112
+
113
+ if (function_exists('wp_suspend_cache_addition'))
114
+ wp_suspend_cache_addition(false); // Thanks to Julien Mession
115
  }
116
 
117
  // BEGIN modified by renaissancehack
302
 
303
  $index_titles = true;
304
  if (apply_filters('relevanssi_index_titles', $index_titles)) {
305
+ $titles = relevanssi_tokenize(apply_filters('the_title', $post->post_title));
306
 
307
  if (count($titles) > 0) {
308
  foreach ($titles as $title => $count) {
317
  remove_shortcode('noindex');
318
  add_shortcode('noindex', 'relevanssi_noindex_shortcode_indexing');
319
 
320
+ $contents = apply_filters('relevanssi_post_content', $post->post_content, $post);
321
 
322
  // Allow user to add extra content for Relevanssi to index
323
  // Thanks to Alexander Gieg
333
  $My_WP_Table_Reloaded = new WP_Table_Reloaded_Controller_Frontend();
334
  }
335
  // TablePress support
336
+ if ( defined( 'TABLEPRESS_ABSPATH' ) ) {
337
+ $My_TablePress_Controller = TablePress::load_controller( 'frontend' );
338
+ $My_TablePress_Controller->init_shortcodes();
 
339
  }
340
 
341
  $disable_shortcodes = get_option('relevanssi_disable_shortcodes');
351
  $contents = do_shortcode($contents);
352
  $post = $post_before_shortcode;
353
 
354
+ if (defined('TABLEPRESS_ABSPATH')) {
355
+ unset($My_TablePress_Controller);
356
+ }
357
+ if (defined('WP_TABLE_RELOADED_ABSPATH')) {
358
  unset($My_WP_Table_Reloaded);
359
  }
360
  }
377
 
378
  $contents = preg_replace('/<[a-zA-Z\/][^>]*>/', ' ', $contents);
379
  $contents = strip_tags($contents);
380
+ $contents = apply_filters('relevanssi_post_content_before_tokenize', $contents, $post);
381
  $contents = relevanssi_tokenize($contents, true, $min_word_length);
382
 
383
  if (count($contents) > 0) {
416
  array_push($values, $value);
417
  }
418
 
419
+ $values = apply_filters('relevanssi_indexing_values', $values, $post);
420
+
421
  if (!empty($values)) {
422
  $values = implode(', ', $values);
423
  $query = "INSERT IGNORE INTO $relevanssi_table (doc, term, term_reverse, content, title, comment, tag, link, author, category, excerpt, taxonomy, customfield, type, taxonomy_detail, customfield_detail, mysqlcolumn)
lib/interface.php CHANGED
@@ -865,9 +865,9 @@ function relevanssi_options_form() {
865
 
866
  <h3><?php _e('Quick tools', 'relevanssi') ?></h3>
867
  <p>
868
- <input type='submit' name='submit' value='<?php _e('Save options', 'relevanssi'); ?>' style="background-color:#007f00; border-color:#5fbf00; border-style:solid; border-width:thick; padding: 5px; color: #fff;" />
869
- <input type="submit" name="index" value="<?php _e('Build the index', 'relevanssi') ?>" style="background-color:#007f00; border-color:#5fbf00; border-style:solid; border-width:thick; padding: 5px; color: #fff;" />
870
- <input type="submit" name="index_extend" value="<?php _e('Continue indexing', 'relevanssi') ?>" style="background-color:#e87000; border-color:#ffbb00; border-style:solid; border-width:thick; padding: 5px; color: #fff;" />, <?php _e('add', 'relevanssi'); ?> <input type="text" size="4" name="relevanssi_index_limit" value="<?php echo $index_limit ?>" /> <?php _e('documents.', 'relevanssi'); ?></p>
871
 
872
  <?php
873
  if (empty($index_post_types)) {
@@ -877,10 +877,6 @@ function relevanssi_options_form() {
877
 
878
  <p><?php _e("Use 'Build the index' to build the index with current <a href='#indexing'>indexing options</a>. If you can't finish indexing with one go, use 'Continue indexing' to finish the job. You can change the number of documents to add until you find the largest amount you can add with one go. See 'State of the Index' below to find out how many documents actually go into the index.", 'relevanssi') ?></p>
879
 
880
- <p><?php _e("If Relevanssi doesn't index anything and you have upgraded from a 2.x version, it's likely the changes in
881
- the database structure haven't gone through in the upgrade. In that case all you need to do is to deactivate the
882
- plugin and then activate it again.", 'relevanssi') ?></p>
883
-
884
  <h3><?php _e("State of the Index", "relevanssi"); ?></h3>
885
  <p>
886
  <?php _e("Documents in the index", "relevanssi"); ?>: <strong><?php echo $docs_count ?></strong><br />
@@ -1024,7 +1020,7 @@ function relevanssi_options_form() {
1024
  <br /><br />
1025
 
1026
  <label for='relevanssi_omit_from_logs'><?php _e("Don't log queries from these users:", "relevanssi"); ?>
1027
- <input type='text' name='relevanssi_omit_from_logs' id='relevanssi_omit_from_logs' size='20' value='<?php echo $omit_from_logs ?>' /></label>
1028
  <small><?php _e("Comma-separated list of numeric user IDs or user login names that will not be logged.", "relevanssi"); ?></small>
1029
 
1030
  <?php
@@ -1041,19 +1037,19 @@ function relevanssi_options_form() {
1041
  <h3 id="exclusions"><?php _e("Exclusions and restrictions", "relevanssi"); ?></h3>
1042
 
1043
  <label for='relevanssi_cat'><?php _e('Restrict search to these categories and tags:', 'relevanssi'); ?>
1044
- <input type='text' name='relevanssi_cat' id='relevanssi_cat' size='20' value='<?php echo $cat ?>' /></label><br />
1045
  <small><?php _e("Enter a comma-separated list of category and tag IDs to restrict search to those categories or tags. You can also use <code>&lt;input type='hidden' name='cats' value='list of cats and tags' /&gt;</code> in your search form. The input field will overrun this setting.", 'relevanssi'); ?></small>
1046
 
1047
  <br /><br />
1048
 
1049
  <label for='relevanssi_excat'><?php _e('Exclude these categories and tags from search:', 'relevanssi'); ?>
1050
- <input type='text' name='relevanssi_excat' id='relevanssi_excat' size='20' value='<?php echo $excat ?>' /></label><br />
1051
  <small><?php _e("Enter a comma-separated list of category and tag IDs that are excluded from search results. You can exclude categories with the 'cat' input field by using negative values.", 'relevanssi'); ?></small>
1052
 
1053
  <br /><br />
1054
 
1055
  <label for='relevanssi_expst'><?php _e('Exclude these posts/pages from search:', 'relevanssi'); ?>
1056
- <input type='text' name='relevanssi_expst' id='relevanssi_expst' size='20' value='<?php echo $expst ?>' /></label><br />
1057
  <?php
1058
  if (RELEVANSSI_PREMIUM) {
1059
  echo "<small>" . __("Enter a comma-separated list of post/page IDs that are excluded from search results. This only works here, you can't use the input field option (WordPress doesn't pass custom parameters there). You can also use a checkbox on post/page edit pages to remove posts from index.", 'relevanssi') . "</small>";
@@ -1078,7 +1074,7 @@ function relevanssi_options_form() {
1078
  <p><?php _e('Note: Building custom excerpts can be slow. If you are not actually using the excerpts, make sure you disable the option.', 'relevanssi'); ?></p>
1079
 
1080
  <label for='relevanssi_excerpt_length'><?php _e("Length of the snippet:", "relevanssi"); ?>
1081
- <input type='text' name='relevanssi_excerpt_length' id='relevanssi_excerpt_length' size='4' value='<?php echo $excerpt_length ?>' /></label>
1082
  <select name='relevanssi_excerpt_type' id='relevanssi_excerpt_type'>
1083
  <option value='chars' <?php echo $excerpt_chars ?>><?php _e("characters", "relevanssi"); ?></option>
1084
  <option value='words' <?php echo $excerpt_words ?>><?php _e("words", "relevanssi"); ?></option>
@@ -1088,7 +1084,7 @@ function relevanssi_options_form() {
1088
  <br /><br />
1089
 
1090
  <label for='relevanssi_excerpt_allowable_tags'><?php _e("Allowable tags in excerpts:", "relevanssi"); ?>
1091
- <input type='text' name='relevanssi_excerpt_allowable_tags' id='relevanssi_excerpt_allowable_tags' size='20' value='<?php echo $excerpt_allowable_tags ?>' /></label>
1092
  <br />
1093
  <small><?php _e("List all tags you want to allow in excerpts, without any whitespace. For example: '&lt;p&gt;&lt;a&gt;&lt;strong&gt;'.", "relevanssi"); ?></small>
1094
 
@@ -1101,7 +1097,7 @@ function relevanssi_options_form() {
1101
  <br /><br />
1102
 
1103
  <label for='relevanssi_show_matches_text'><?php _e("The breakdown format:", "relevanssi"); ?>
1104
- <input type='text' name='relevanssi_show_matches_text' id='relevanssi_show_matches_text' value="<?php echo $show_matches_text ?>" size='20' /></label>
1105
  <small><?php _e("Use %body%, %title%, %tags% and %comments% to display the number of hits (in different parts of the post), %total% for total hits, %score% to display the document weight and %terms% to show how many hits each search term got. No double quotes (\") allowed!", "relevanssi"); ?></small>
1106
 
1107
  <h3 id="highlighting"><?php _e("Search hit highlighting", "relevanssi"); ?></h3>
@@ -1156,25 +1152,25 @@ function relevanssi_options_form() {
1156
  <div style='margin-left: 2em'>
1157
 
1158
  <label for='relevanssi_txt_col'><?php _e("Text color for highlights:", "relevanssi"); ?>
1159
- <input type='text' name='relevanssi_txt_col' id='relevanssi_txt_col' size='7' value='<?php echo $txt_col ?>' /></label>
1160
  <small><?php _e("Use HTML color codes (#rgb or #rrggbb)", "relevanssi"); ?></small>
1161
 
1162
  <br />
1163
 
1164
  <label for='relevanssi_bg_col'><?php _e("Background color for highlights:", "relevanssi"); ?>
1165
- <input type='text' name='relevanssi_bg_col' id='relevanssi_bg_col' size='7' value='<?php echo $bg_col ?>' /></label>
1166
  <small><?php _e("Use HTML color codes (#rgb or #rrggbb)", "relevanssi"); ?></small>
1167
 
1168
  <br />
1169
 
1170
  <label for='relevanssi_css'><?php _e("CSS style for highlights:", "relevanssi"); ?>
1171
- <input type='text' name='relevanssi_css' id='relevanssi_css' size='30' value='<?php echo $css ?>' /></label>
1172
  <small><?php _e("You can use any CSS styling here, style will be inserted with a &lt;span&gt;", "relevanssi"); ?></small>
1173
 
1174
  <br />
1175
 
1176
  <label for='relevanssi_class'><?php _e("CSS class for highlights:", "relevanssi"); ?>
1177
- <input type='text' name='relevanssi_class' id='relevanssi_class' size='10' value='<?php echo $class ?>' /></label>
1178
  <small><?php _e("Name a class here, search results will be wrapped in a &lt;span&gt; with the class", "relevanssi"); ?></small>
1179
 
1180
  </div>
@@ -1182,7 +1178,7 @@ function relevanssi_options_form() {
1182
  <br />
1183
  <br />
1184
 
1185
- <input type='submit' name='submit' value='<?php _e('Save the options', 'relevanssi'); ?>' class='button button-primary' />
1186
 
1187
  <h3 id="indexing"><?php _e('Indexing options', 'relevanssi'); ?></h3>
1188
 
@@ -1279,7 +1275,7 @@ EOH;
1279
  <br /><br />
1280
 
1281
  <label for='relevanssi_min_word_length'><?php _e("Minimum word length to index", "relevanssi"); ?>:
1282
- <input type='text' name='relevanssi_min_word_length' id='relevanssi_min_word_length' size='30' value='<?php echo $min_word_length ?>' /></label><br />
1283
  <small><?php _e("Words shorter than this number will not be indexed.", "relevanssi"); ?></small>
1284
 
1285
  <br /><br />
@@ -1317,7 +1313,7 @@ EOH;
1317
  <br /><br />
1318
 
1319
  <label for='relevanssi_index_fields'><?php _e("Custom fields to index:", "relevanssi"); ?>
1320
- <input type='text' name='relevanssi_index_fields' id='relevanssi_index_fields' size='30' value='<?php echo $index_fields ?>' /></label><br />
1321
  <small><?php _e("A comma-separated list of custom fields to include in the index. Set to 'visible' to index all visible custom fields and to 'all' to index all custom fields, also those starting with a '_' character.", "relevanssi"); ?></small>
1322
 
1323
  <br /><br />
@@ -1328,9 +1324,9 @@ EOH;
1328
 
1329
  <?php if (function_exists('relevanssi_form_index_taxonomies')) relevanssi_form_index_taxonomies($index_taxonomies, $index_terms); ?>
1330
 
1331
- <input type='submit' name='index' value='<?php _e("Save indexing options and build the index", 'relevanssi'); ?>' class='button button-primary' />
1332
 
1333
- <input type='submit' name='index_extend' value='<?php _e("Continue indexing", 'relevanssi'); ?>' class='button' />
1334
 
1335
  <h3 id="caching"><?php _e("Caching", "relevanssi"); ?></h3>
1336
 
@@ -1344,7 +1340,7 @@ EOH;
1344
  <br /><br />
1345
 
1346
  <label for='relevanssi_cache_seconds'><?php _e("Cache expire (in seconds):", "relevanssi"); ?>
1347
- <input type='text' name='relevanssi_cache_seconds' id='relevanssi_cache_seconds' size='30' value='<?php echo $cache_seconds ?>' /></label><br />
1348
  <small><?php _e("86400 = day", "relevanssi"); ?></small>
1349
 
1350
  <br /><br />
@@ -1353,7 +1349,7 @@ EOH;
1353
 
1354
  <br /><br />
1355
 
1356
- <input type='submit' name='truncate' id='truncate' value='<?php _e('Clear all caches', 'relevanssi'); ?>' class='button' />
1357
 
1358
  <h3 id="synonyms"><?php _e("Synonyms", "relevanssi"); ?></h3>
1359
 
@@ -1361,7 +1357,7 @@ EOH;
1361
 
1362
  <p><small><?php _e("Add synonyms here in 'key = value' format. When searching with the OR operator, any search of 'key' will be expanded to include 'value' as well. Using phrases is possible. The key-value pairs work in one direction only, but you can of course repeat the same pair reversed.", "relevanssi"); ?></small></p>
1363
 
1364
- <input type='submit' name='submit' value='<?php _e('Save the options', 'relevanssi'); ?>' class='button' />
1365
 
1366
  <h3 id="stopwords"><?php _e("Stopwords", "relevanssi"); ?></h3>
1367
 
@@ -1385,7 +1381,7 @@ function relevanssi_show_stopwords() {
1385
  _e("<p>Enter a word here to add it to the list of stopwords. The word will automatically be removed from the index, so re-indexing is not necessary. You can enter many words at the same time, separate words with commas.</p>", 'relevanssi');
1386
 
1387
  ?><label for="addstopword"><p><?php _e("Stopword(s) to add: ", 'relevanssi'); ?><textarea name="addstopword" id="addstopword" rows="2" cols="40"></textarea>
1388
- <input type="submit" value="<?php _e("Add", 'relevanssi'); ?>" class='button' /></p></label>
1389
  <?php
1390
 
1391
  _e("<p>Here's a list of stopwords in the database. Click a word to remove it from stopwords. Removing stopwords won't automatically return them to index, so you need to re-index all posts after removing stopwords to get those words back to index.", 'relevanssi');
@@ -1408,13 +1404,13 @@ function relevanssi_show_stopwords() {
1408
  $exportlist = array();
1409
  foreach ($results as $stopword) {
1410
  $sw = $stopword->stopword;
1411
- printf('<li style="display: inline;"><input type="submit" name="removestopword" value="%s"/></li>', $sw, $src, $sw);
1412
  array_push($exportlist, $sw);
1413
  }
1414
  echo "</ul>";
1415
 
1416
  ?>
1417
- <p><input type="submit" name="removeallstopwords" value="<?php _e('Remove all stopwords', 'relevanssi'); ?>" class='button' /></p>
1418
  <?php
1419
 
1420
  $exportlist = implode(", ", $exportlist);
865
 
866
  <h3><?php _e('Quick tools', 'relevanssi') ?></h3>
867
  <p>
868
+ <input type='submit' name='submit' value='<?php _e(esc_attr('Save options'), 'relevanssi'); ?>' style="background-color:#007f00; border-color:#5fbf00; border-style:solid; border-width:thick; padding: 5px; color: #fff;" />
869
+ <input type="submit" name="index" value="<?php _e(esc_attr('Build the index'), 'relevanssi') ?>" style="background-color:#007f00; border-color:#5fbf00; border-style:solid; border-width:thick; padding: 5px; color: #fff;" />
870
+ <input type="submit" name="index_extend" value="<?php _e(esc_attr('Continue indexing'), 'relevanssi') ?>" style="background-color:#e87000; border-color:#ffbb00; border-style:solid; border-width:thick; padding: 5px; color: #fff;" />, <?php _e('add', 'relevanssi'); ?> <input type="text" size="4" name="relevanssi_index_limit" value="<?php echo $index_limit ?>" /> <?php _e('documents.', 'relevanssi'); ?></p>
871
 
872
  <?php
873
  if (empty($index_post_types)) {
877
 
878
  <p><?php _e("Use 'Build the index' to build the index with current <a href='#indexing'>indexing options</a>. If you can't finish indexing with one go, use 'Continue indexing' to finish the job. You can change the number of documents to add until you find the largest amount you can add with one go. See 'State of the Index' below to find out how many documents actually go into the index.", 'relevanssi') ?></p>
879
 
 
 
 
 
880
  <h3><?php _e("State of the Index", "relevanssi"); ?></h3>
881
  <p>
882
  <?php _e("Documents in the index", "relevanssi"); ?>: <strong><?php echo $docs_count ?></strong><br />
1020
  <br /><br />
1021
 
1022
  <label for='relevanssi_omit_from_logs'><?php _e("Don't log queries from these users:", "relevanssi"); ?>
1023
+ <input type='text' name='relevanssi_omit_from_logs' id='relevanssi_omit_from_logs' size='20' value='<?php echo esc_attr($omit_from_logs); ?>' /></label>
1024
  <small><?php _e("Comma-separated list of numeric user IDs or user login names that will not be logged.", "relevanssi"); ?></small>
1025
 
1026
  <?php
1037
  <h3 id="exclusions"><?php _e("Exclusions and restrictions", "relevanssi"); ?></h3>
1038
 
1039
  <label for='relevanssi_cat'><?php _e('Restrict search to these categories and tags:', 'relevanssi'); ?>
1040
+ <input type='text' name='relevanssi_cat' id='relevanssi_cat' size='20' value='<?php echo esc_attr($cat); ?>' /></label><br />
1041
  <small><?php _e("Enter a comma-separated list of category and tag IDs to restrict search to those categories or tags. You can also use <code>&lt;input type='hidden' name='cats' value='list of cats and tags' /&gt;</code> in your search form. The input field will overrun this setting.", 'relevanssi'); ?></small>
1042
 
1043
  <br /><br />
1044
 
1045
  <label for='relevanssi_excat'><?php _e('Exclude these categories and tags from search:', 'relevanssi'); ?>
1046
+ <input type='text' name='relevanssi_excat' id='relevanssi_excat' size='20' value='<?php echo esc_attr($excat); ?>' /></label><br />
1047
  <small><?php _e("Enter a comma-separated list of category and tag IDs that are excluded from search results. You can exclude categories with the 'cat' input field by using negative values.", 'relevanssi'); ?></small>
1048
 
1049
  <br /><br />
1050
 
1051
  <label for='relevanssi_expst'><?php _e('Exclude these posts/pages from search:', 'relevanssi'); ?>
1052
+ <input type='text' name='relevanssi_expst' id='relevanssi_expst' size='20' value='<?php echo esc_attr($expst); ?>' /></label><br />
1053
  <?php
1054
  if (RELEVANSSI_PREMIUM) {
1055
  echo "<small>" . __("Enter a comma-separated list of post/page IDs that are excluded from search results. This only works here, you can't use the input field option (WordPress doesn't pass custom parameters there). You can also use a checkbox on post/page edit pages to remove posts from index.", 'relevanssi') . "</small>";
1074
  <p><?php _e('Note: Building custom excerpts can be slow. If you are not actually using the excerpts, make sure you disable the option.', 'relevanssi'); ?></p>
1075
 
1076
  <label for='relevanssi_excerpt_length'><?php _e("Length of the snippet:", "relevanssi"); ?>
1077
+ <input type='text' name='relevanssi_excerpt_length' id='relevanssi_excerpt_length' size='4' value='<?php echo esc_attr($excerpt_length); ?>' /></label>
1078
  <select name='relevanssi_excerpt_type' id='relevanssi_excerpt_type'>
1079
  <option value='chars' <?php echo $excerpt_chars ?>><?php _e("characters", "relevanssi"); ?></option>
1080
  <option value='words' <?php echo $excerpt_words ?>><?php _e("words", "relevanssi"); ?></option>
1084
  <br /><br />
1085
 
1086
  <label for='relevanssi_excerpt_allowable_tags'><?php _e("Allowable tags in excerpts:", "relevanssi"); ?>
1087
+ <input type='text' name='relevanssi_excerpt_allowable_tags' id='relevanssi_excerpt_allowable_tags' size='20' value='<?php echo esc_attr($excerpt_allowable_tags); ?>' /></label>
1088
  <br />
1089
  <small><?php _e("List all tags you want to allow in excerpts, without any whitespace. For example: '&lt;p&gt;&lt;a&gt;&lt;strong&gt;'.", "relevanssi"); ?></small>
1090
 
1097
  <br /><br />
1098
 
1099
  <label for='relevanssi_show_matches_text'><?php _e("The breakdown format:", "relevanssi"); ?>
1100
+ <input type='text' name='relevanssi_show_matches_text' id='relevanssi_show_matches_text' value="<?php echo esc_attr($show_matches_text) ?>" size='20' /></label>
1101
  <small><?php _e("Use %body%, %title%, %tags% and %comments% to display the number of hits (in different parts of the post), %total% for total hits, %score% to display the document weight and %terms% to show how many hits each search term got. No double quotes (\") allowed!", "relevanssi"); ?></small>
1102
 
1103
  <h3 id="highlighting"><?php _e("Search hit highlighting", "relevanssi"); ?></h3>
1152
  <div style='margin-left: 2em'>
1153
 
1154
  <label for='relevanssi_txt_col'><?php _e("Text color for highlights:", "relevanssi"); ?>
1155
+ <input type='text' name='relevanssi_txt_col' id='relevanssi_txt_col' size='7' value='<?php echo esc_attr($txt_col); ?>' /></label>
1156
  <small><?php _e("Use HTML color codes (#rgb or #rrggbb)", "relevanssi"); ?></small>
1157
 
1158
  <br />
1159
 
1160
  <label for='relevanssi_bg_col'><?php _e("Background color for highlights:", "relevanssi"); ?>
1161
+ <input type='text' name='relevanssi_bg_col' id='relevanssi_bg_col' size='7' value='<?php echo esc_attr($bg_col); ?>' /></label>
1162
  <small><?php _e("Use HTML color codes (#rgb or #rrggbb)", "relevanssi"); ?></small>
1163
 
1164
  <br />
1165
 
1166
  <label for='relevanssi_css'><?php _e("CSS style for highlights:", "relevanssi"); ?>
1167
+ <input type='text' name='relevanssi_css' id='relevanssi_css' size='30' value='<?php echo esc_attr($css); ?>' /></label>
1168
  <small><?php _e("You can use any CSS styling here, style will be inserted with a &lt;span&gt;", "relevanssi"); ?></small>
1169
 
1170
  <br />
1171
 
1172
  <label for='relevanssi_class'><?php _e("CSS class for highlights:", "relevanssi"); ?>
1173
+ <input type='text' name='relevanssi_class' id='relevanssi_class' size='10' value='<?php echo esc_attr($class); ?>' /></label>
1174
  <small><?php _e("Name a class here, search results will be wrapped in a &lt;span&gt; with the class", "relevanssi"); ?></small>
1175
 
1176
  </div>
1178
  <br />
1179
  <br />
1180
 
1181
+ <input type='submit' name='submit' value='<?php _e(esc_attr('Save the options'), 'relevanssi'); ?>' class='button button-primary' />
1182
 
1183
  <h3 id="indexing"><?php _e('Indexing options', 'relevanssi'); ?></h3>
1184
 
1275
  <br /><br />
1276
 
1277
  <label for='relevanssi_min_word_length'><?php _e("Minimum word length to index", "relevanssi"); ?>:
1278
+ <input type='text' name='relevanssi_min_word_length' id='relevanssi_min_word_length' size='30' value='<?php echo esc_attr($min_word_length); ?>' /></label><br />
1279
  <small><?php _e("Words shorter than this number will not be indexed.", "relevanssi"); ?></small>
1280
 
1281
  <br /><br />
1313
  <br /><br />
1314
 
1315
  <label for='relevanssi_index_fields'><?php _e("Custom fields to index:", "relevanssi"); ?>
1316
+ <input type='text' name='relevanssi_index_fields' id='relevanssi_index_fields' size='30' value='<?php echo esc_attr($index_fields) ?>' /></label><br />
1317
  <small><?php _e("A comma-separated list of custom fields to include in the index. Set to 'visible' to index all visible custom fields and to 'all' to index all custom fields, also those starting with a '_' character.", "relevanssi"); ?></small>
1318
 
1319
  <br /><br />
1324
 
1325
  <?php if (function_exists('relevanssi_form_index_taxonomies')) relevanssi_form_index_taxonomies($index_taxonomies, $index_terms); ?>
1326
 
1327
+ <input type='submit' name='index' value='<?php _e(esc_attr("Save indexing options and build the index"), 'relevanssi'); ?>' class='button button-primary' />
1328
 
1329
+ <input type='submit' name='index_extend' value='<?php _e(esc_attr("Continue indexing"), 'relevanssi'); ?>' class='button' />
1330
 
1331
  <h3 id="caching"><?php _e("Caching", "relevanssi"); ?></h3>
1332
 
1340
  <br /><br />
1341
 
1342
  <label for='relevanssi_cache_seconds'><?php _e("Cache expire (in seconds):", "relevanssi"); ?>
1343
+ <input type='text' name='relevanssi_cache_seconds' id='relevanssi_cache_seconds' size='30' value='<?php echo esc_attr($cache_seconds); ?>' /></label><br />
1344
  <small><?php _e("86400 = day", "relevanssi"); ?></small>
1345
 
1346
  <br /><br />
1349
 
1350
  <br /><br />
1351
 
1352
+ <input type='submit' name='truncate' id='truncate' value='<?php _e(esc_attr('Clear all caches'), 'relevanssi'); ?>' class='button' />
1353
 
1354
  <h3 id="synonyms"><?php _e("Synonyms", "relevanssi"); ?></h3>
1355
 
1357
 
1358
  <p><small><?php _e("Add synonyms here in 'key = value' format. When searching with the OR operator, any search of 'key' will be expanded to include 'value' as well. Using phrases is possible. The key-value pairs work in one direction only, but you can of course repeat the same pair reversed.", "relevanssi"); ?></small></p>
1359
 
1360
+ <input type='submit' name='submit' value='<?php _e(esc_attr('Save the options'), 'relevanssi'); ?>' class='button' />
1361
 
1362
  <h3 id="stopwords"><?php _e("Stopwords", "relevanssi"); ?></h3>
1363
 
1381
  _e("<p>Enter a word here to add it to the list of stopwords. The word will automatically be removed from the index, so re-indexing is not necessary. You can enter many words at the same time, separate words with commas.</p>", 'relevanssi');
1382
 
1383
  ?><label for="addstopword"><p><?php _e("Stopword(s) to add: ", 'relevanssi'); ?><textarea name="addstopword" id="addstopword" rows="2" cols="40"></textarea>
1384
+ <input type="submit" value="<?php _e(esc_attr("Add"), 'relevanssi'); ?>" class='button' /></p></label>
1385
  <?php
1386
 
1387
  _e("<p>Here's a list of stopwords in the database. Click a word to remove it from stopwords. Removing stopwords won't automatically return them to index, so you need to re-index all posts after removing stopwords to get those words back to index.", 'relevanssi');
1404
  $exportlist = array();
1405
  foreach ($results as $stopword) {
1406
  $sw = $stopword->stopword;
1407
+ printf('<li style="display: inline;"><input type="submit" name="removestopword" value="%s"/></li>', esc_attr($sw));
1408
  array_push($exportlist, $sw);
1409
  }
1410
  echo "</ul>";
1411
 
1412
  ?>
1413
+ <p><input type="submit" name="removeallstopwords" value="<?php _e(esc_attr('Remove all stopwords'), 'relevanssi'); ?>" class='button' /></p>
1414
  <?php
1415
 
1416
  $exportlist = implode(", ", $exportlist);
lib/search.php CHANGED
@@ -158,18 +158,18 @@ function relevanssi_search($q, $tax_query = NULL, $relation = NULL, $post_query
158
  if ($tq_operator != 'IN' && $tq_operator != 'NOT IN' && $tq_operator != 'AND') $tq_operator = 'IN';
159
  if ($relation == 'and') {
160
  if ($tq_operator == 'AND') {
161
- $query_restrictions .= " AND doc IN (
162
  SELECT ID FROM $wpdb->posts WHERE 1=1
163
  AND (
164
  SELECT COUNT(1)
165
- FROM $wpdb->term_relationships
166
- WHERE term_taxonomy_id IN ($term_tax_id)
167
- AND object_id = $wpdb->posts.ID ) = $n
168
  )";
169
  }
170
  else {
171
- $query_restrictions .= " AND doc $tq_operator (SELECT DISTINCT(object_id) FROM $wpdb->term_relationships
172
- WHERE term_taxonomy_id IN ($term_tax_id))";
173
  }
174
  }
175
  else {
@@ -187,24 +187,24 @@ function relevanssi_search($q, $tax_query = NULL, $relation = NULL, $post_query
187
  $term_tax_ids = array_unique($term_tax_ids);
188
  if (count($term_tax_ids) > 0) {
189
  $term_tax_ids = implode(',', $term_tax_ids);
190
- $query_restrictions .= " AND doc IN (SELECT DISTINCT(object_id) FROM $wpdb->term_relationships
191
- WHERE term_taxonomy_id IN ($term_tax_ids))";
192
  }
193
  if (count($not_term_tax_ids) > 0) {
194
  $not_term_tax_ids = implode(',', $not_term_tax_ids);
195
- $query_restrictions .= " AND doc NOT IN (SELECT DISTINCT(object_id) FROM $wpdb->term_relationships
196
- WHERE term_taxonomy_id IN ($not_term_tax_ids))";
197
  }
198
  if (count($and_term_tax_ids) > 0) {
199
  $and_term_tax_ids = implode(',', $and_term_tax_ids);
200
  $n = count(explode(',', $and_term_tax_ids));
201
- $query_restrictions .= " AND doc IN (
202
- SELECT ID FROM $wpdb->posts WHERE 1=1
203
  AND (
204
  SELECT COUNT(1)
205
- FROM $wpdb->term_relationships
206
- WHERE term_taxonomy_id IN ($and_term_tax_ids)
207
- AND object_id = $wpdb->posts.ID ) = $n
208
  )";
209
  }
210
  }
@@ -213,18 +213,24 @@ function relevanssi_search($q, $tax_query = NULL, $relation = NULL, $post_query
213
  if (is_array($post_query)) {
214
  if (!empty($post_query['in'])) {
215
  $posts = implode(',', $post_query['in']);
216
- $query_restrictions .= " AND doc IN ($posts)";
217
  }
218
  if (!empty($post_query['not in'])) {
219
  $posts = implode(',', $post_query['not in']);
220
- $query_restrictions .= " AND doc NOT IN ($posts)";
221
  }
222
  }
223
 
224
  if (is_array($meta_query)) {
225
- foreach ($meta_query as $meta) {
 
 
 
 
 
 
226
  if (!empty($meta['key'])) {
227
- $key = "meta_key = '" . $meta['key'] . "'";
228
  }
229
  else {
230
  $key = '';
@@ -234,10 +240,10 @@ function relevanssi_search($q, $tax_query = NULL, $relation = NULL, $post_query
234
 
235
  if (isset($meta['type'])) {
236
  if (strtoupper($meta['type']) == 'NUMERIC') $meta['type'] = "SIGNED";
237
- $meta_value = "CAST(meta_value AS " . $meta['type'] . ")";
238
  }
239
  else {
240
- $meta_value = 'meta_value';
241
  }
242
 
243
  if ($compare == 'BETWEEN' || $compare == 'NOT BETWEEN') {
@@ -247,14 +253,14 @@ function relevanssi_search($q, $tax_query = NULL, $relation = NULL, $post_query
247
  $low_value = $meta['value'][0];
248
  $high_value = $meta['value'][1];
249
  !empty($key) ? $and = " AND " : $and = "";
250
- $query_restrictions .= " AND doc $compare (
251
- SELECT DISTINCT(post_id) FROM $wpdb->postmeta
252
  WHERE $key $and $meta_value BETWEEN $low_value AND $high_value)";
253
  }
254
  else if ($compare == 'EXISTS' || $compare == 'NOT EXISTS') {
255
  $compare == 'EXISTS' ? $compare = "IN" : $compare = "NOT IN";
256
- $query_restrictions .= " AND doc $compare (
257
- SELECT DISTINCT(post_id) FROM $wpdb->postmeta
258
  WHERE $key)";
259
  }
260
  else if ($compare == 'IN' || $compare == 'NOT IN') {
@@ -265,8 +271,8 @@ function relevanssi_search($q, $tax_query = NULL, $relation = NULL, $post_query
265
  }
266
  $values = implode(',', $values);
267
  !empty($key) ? $and = " AND " : $and = "";
268
- $query_restrictions .= " AND doc IN (
269
- SELECT DISTINCT(post_id) FROM $wpdb->postmeta
270
  WHERE $key $and $meta_value $compare ($values))";
271
  }
272
  else {
@@ -276,12 +282,18 @@ function relevanssi_search($q, $tax_query = NULL, $relation = NULL, $post_query
276
  // do nothing
277
  }
278
  else {
279
- $query_restrictions .= " AND doc IN (
280
- SELECT DISTINCT(post_id) FROM $wpdb->postmeta
281
  WHERE $key $and $value)";
282
  }
283
  }
284
  }
 
 
 
 
 
 
285
  }
286
 
287
  if (!$post_type && get_option('relevanssi_respect_exclude') == 'on') {
@@ -291,7 +303,7 @@ function relevanssi_search($q, $tax_query = NULL, $relation = NULL, $post_query
291
  $post_type = implode(',', array_merge($pt_1, $pt_2));
292
  }
293
  }
294
-
295
  if ($post_type) {
296
  if ($post_type == -1) $post_type = null; // Facetious sets post_type to -1 if not selected
297
  if (!is_array($post_type)) {
@@ -300,12 +312,8 @@ function relevanssi_search($q, $tax_query = NULL, $relation = NULL, $post_query
300
  else {
301
  $post_types = $post_type;
302
  }
303
- $pt_array = array();
304
- foreach ($post_types as $pt) {
305
- $pt = "'" . trim(mysql_real_escape_string($pt)) . "'";
306
- array_push($pt_array, $pt);
307
- }
308
- $post_type = implode(",", $pt_array);
309
  }
310
 
311
  //Added by OdditY:
@@ -316,7 +324,7 @@ function relevanssi_search($q, $tax_query = NULL, $relation = NULL, $post_query
316
  $aexpids = explode(",",$expost);
317
  foreach ($aexpids as $exid){
318
  $exid = esc_sql(trim($exid, ' -'));
319
- $postex .= " AND doc !='$exid'";
320
  }
321
  }
322
  }
@@ -354,7 +362,7 @@ function relevanssi_search($q, $tax_query = NULL, $relation = NULL, $post_query
354
  }
355
  }
356
 
357
- $D = $wpdb->get_var("SELECT COUNT(DISTINCT(doc)) FROM $relevanssi_table");
358
 
359
  $total_hits = 0;
360
 
@@ -389,24 +397,25 @@ function relevanssi_search($q, $tax_query = NULL, $relation = NULL, $post_query
389
  }
390
  if (count($author_in) > 0) {
391
  $authors = implode(',', $author_in);
392
- $query_restrictions .= " AND doc IN (SELECT DISTINCT(ID) FROM $wpdb->posts
393
- WHERE post_author IN ($authors))";
394
  }
395
  if (count($author_not_in) > 0) {
396
  $authors = implode(',', $author_not_in);
397
- $query_restrictions .= " AND doc NOT IN (SELECT DISTINCT(ID) FROM $wpdb->posts
398
- WHERE post_author IN ($authors))";
399
  }
400
  }
401
 
402
  if ($post_type) {
403
  // the -1 is there to get user profiles and category pages
404
- $query_restrictions .= " AND ((doc IN (SELECT DISTINCT(ID) FROM $wpdb->posts
405
- WHERE post_type IN ($post_type))) OR (doc = -1))";
 
406
  }
407
 
408
  if ($phrases) {
409
- $query_restrictions .= " AND doc IN ($phrases)";
410
  }
411
 
412
  if (isset($_REQUEST['by_date'])) {
@@ -436,19 +445,20 @@ function relevanssi_search($q, $tax_query = NULL, $relation = NULL, $post_query
436
  $n = preg_replace('/[hdmyw]/', '', $n);
437
 
438
  if (is_numeric($n)) {
439
- $query_restrictions .= " AND doc IN (SELECT DISTINCT(ID) FROM $wpdb->posts
440
- WHERE post_date > DATE_SUB(NOW(), INTERVAL $n $unit))";
441
  }
442
  }
443
 
444
  $query_restrictions = apply_filters('relevanssi_where', $query_restrictions); // Charles St-Pierre
 
445
 
446
  $no_matches = true;
447
  if ("always" == $fuzzy) {
448
- $o_term_cond = apply_filters('relevanssi_fuzzy_query', "(term LIKE '#term#%' OR term_reverse LIKE CONCAT(REVERSE('#term#'), '%')) ");
449
  }
450
  else {
451
- $o_term_cond = " term = '#term#' ";
452
  }
453
 
454
  $post_type_weights = get_option('relevanssi_post_type_weights');
@@ -478,8 +488,8 @@ function relevanssi_search($q, $tax_query = NULL, $relation = NULL, $post_query
478
  !empty($post_type_weights['post_tag']) ? $tag = $post_type_weights['post_tag'] : $tag = $relevanssi_variables['post_type_weight_defaults']['post_tag'];
479
  !empty($post_type_weights['category']) ? $cat = $post_type_weights['category'] : $cat = $relevanssi_variables['post_type_weight_defaults']['category'];
480
 
481
- $query = "SELECT *, title * $title_boost + content + comment * $comment_boost + tag * $tag + link * $link_boost + author + category * $cat + excerpt + taxonomy + customfield + mysqlcolumn AS tf
482
- FROM $relevanssi_table WHERE $term_cond $query_restrictions";
483
  $query = apply_filters('relevanssi_query_filter', $query);
484
 
485
  $matches = $wpdb->get_results($query);
@@ -491,8 +501,8 @@ function relevanssi_search($q, $tax_query = NULL, $relation = NULL, $post_query
491
  $no_matches = false;
492
  if (count($include_these_posts) > 0) {
493
  $post_ids_to_add = implode(',', array_keys($include_these_posts));
494
- $query = "SELECT *, title * $title_boost + content + comment * $comment_boost + tag * $tag + link * $link_boost + author + category * $cat + excerpt + taxonomy + customfield + mysqlcolumn AS tf
495
- FROM $relevanssi_table WHERE doc IN ($post_ids_to_add) AND $term_cond";
496
  $matches_to_add = $wpdb->get_results($query);
497
  $matches = array_merge($matches, $matches_to_add);
498
  }
@@ -503,14 +513,14 @@ function relevanssi_search($q, $tax_query = NULL, $relation = NULL, $post_query
503
 
504
  $total_hits += count($matches);
505
 
506
- $query = "SELECT COUNT(DISTINCT(doc)) FROM $relevanssi_table WHERE $term_cond $query_restrictions";
507
  $query = apply_filters('relevanssi_df_query_filter', $query);
508
 
509
  $df = $wpdb->get_var($query);
510
 
511
  if ($df < 1 && "sometimes" == $fuzzy) {
512
- $query = "SELECT COUNT(DISTINCT(doc)) FROM $relevanssi_table
513
- WHERE (term LIKE '$term%' OR term_reverse LIKE CONCAT(REVERSE('$term), %')) $query_restrictions";
514
  $query = apply_filters('relevanssi_df_query_filter', $query);
515
  $df = $wpdb->get_var($query);
516
  }
@@ -851,6 +861,8 @@ function relevanssi_do_query(&$query) {
851
  }
852
 
853
  $meta_query = array();
 
 
854
  if (!empty($query->query_vars["meta_query"])) {
855
  $meta_query = $query->query_vars["meta_query"];
856
  }
@@ -906,40 +918,7 @@ function relevanssi_do_query(&$query) {
906
  // This is done here so the new terms will get highlighting
907
  if ("OR" == $operator) {
908
  // Synonyms are only used in OR queries
909
- $synonym_data = get_option('relevanssi_synonyms');
910
- if ($synonym_data) {
911
- $synonyms = array();
912
- if (function_exists('mb_strtolower')) {
913
- $synonym_data = mb_strtolower($synonym_data);
914
- }
915
- else {
916
- $synonym_data = strtolower($synonym_data);
917
- }
918
- $pairs = explode(";", $synonym_data);
919
- foreach ($pairs as $pair) {
920
- $parts = explode("=", $pair);
921
- $key = strval(trim($parts[0]));
922
- $value = trim($parts[1]);
923
- $synonyms[$key][$value] = true;
924
- }
925
- if (count($synonyms) > 0) {
926
- $new_terms = array();
927
- $terms = array_keys(relevanssi_tokenize($q, false)); // remove stopwords is false here
928
- $terms[] = $q;
929
- foreach ($terms as $term) {
930
- if (in_array(strval($term), array_keys($synonyms))) { // strval, otherwise numbers cause problems
931
- if (isset($synonyms[strval($term)])) { // necessary, otherwise terms like "02" can cause problems
932
- $new_terms = array_merge($new_terms, array_keys($synonyms[strval($term)]));
933
- }
934
- }
935
- }
936
- if (count($new_terms) > 0) {
937
- foreach ($new_terms as $new_term) {
938
- $q .= " $new_term";
939
- }
940
- }
941
- }
942
- }
943
  }
944
 
945
  if ($cache) {
@@ -966,7 +945,7 @@ function relevanssi_do_query(&$query) {
966
  $order);
967
  }
968
  }
969
-
970
  isset($return['hits']) ? $hits = $return['hits'] : $hits = array();
971
  isset($return['query']) ? $q = $return['query'] : $q = "";
972
 
@@ -992,6 +971,7 @@ function relevanssi_do_query(&$query) {
992
  }
993
 
994
  $make_excerpts = get_option('relevanssi_excerpts');
 
995
 
996
  if ($query->query_vars['paged'] > 0) {
997
  $wpSearch_low = ($query->query_vars['paged'] - 1) * $query->query_vars["posts_per_page"];
158
  if ($tq_operator != 'IN' && $tq_operator != 'NOT IN' && $tq_operator != 'AND') $tq_operator = 'IN';
159
  if ($relation == 'and') {
160
  if ($tq_operator == 'AND') {
161
+ $query_restrictions .= " AND relevanssi.doc IN (
162
  SELECT ID FROM $wpdb->posts WHERE 1=1
163
  AND (
164
  SELECT COUNT(1)
165
+ FROM $wpdb->term_relationships AS tr
166
+ WHERE tr.term_taxonomy_id IN ($term_tax_id)
167
+ AND tr.object_id = $wpdb->posts.ID ) = $n
168
  )";
169
  }
170
  else {
171
+ $query_restrictions .= " AND relevanssi.doc $tq_operator (SELECT DISTINCT(tr.object_id) FROM $wpdb->term_relationships AS tr
172
+ WHERE tr.term_taxonomy_id IN ($term_tax_id))";
173
  }
174
  }
175
  else {
187
  $term_tax_ids = array_unique($term_tax_ids);
188
  if (count($term_tax_ids) > 0) {
189
  $term_tax_ids = implode(',', $term_tax_ids);
190
+ $query_restrictions .= " AND relevanssi.doc IN (SELECT DISTINCT(tr.object_id) FROM $wpdb->term_relationships AS tr
191
+ WHERE tr.term_taxonomy_id IN ($term_tax_ids))";
192
  }
193
  if (count($not_term_tax_ids) > 0) {
194
  $not_term_tax_ids = implode(',', $not_term_tax_ids);
195
+ $query_restrictions .= " AND relevanssi.doc NOT IN (SELECT DISTINCT(tr.object_id) FROM $wpdb->term_relationships AS tr
196
+ WHERE tr.term_taxonomy_id IN ($not_term_tax_ids))";
197
  }
198
  if (count($and_term_tax_ids) > 0) {
199
  $and_term_tax_ids = implode(',', $and_term_tax_ids);
200
  $n = count(explode(',', $and_term_tax_ids));
201
+ $query_restrictions .= " AND relevanssi.doc IN (
202
+ SELECT ID FROM $wpdb->posts AS posts WHERE 1=1
203
  AND (
204
  SELECT COUNT(1)
205
+ FROM $wpdb->term_relationships AS tr
206
+ WHERE tr.term_taxonomy_id IN ($and_term_tax_ids)
207
+ AND tr.object_id = $wpdb->posts.ID ) = $n
208
  )";
209
  }
210
  }
213
  if (is_array($post_query)) {
214
  if (!empty($post_query['in'])) {
215
  $posts = implode(',', $post_query['in']);
216
+ $query_restrictions .= " AND relevanssi.doc IN ($posts)";
217
  }
218
  if (!empty($post_query['not in'])) {
219
  $posts = implode(',', $post_query['not in']);
220
+ $query_restrictions .= " AND relevanssi.doc NOT IN ($posts)";
221
  }
222
  }
223
 
224
  if (is_array($meta_query)) {
225
+ isset($meta_query['relation']) ? $meta_relation = strtoupper($meta_query['relation']) : $meta_relation = strtoupper(apply_filters('relevanssi_default_meta_query_relation', 'AND'));
226
+ $meta_query_restrictions = "";
227
+ foreach ($meta_query as $array_key => $meta) {
228
+ if ($array_key === 'relation') {
229
+ continue;
230
+ }
231
+
232
  if (!empty($meta['key'])) {
233
+ $key = "postmeta.meta_key = '" . $meta['key'] . "'";
234
  }
235
  else {
236
  $key = '';
240
 
241
  if (isset($meta['type'])) {
242
  if (strtoupper($meta['type']) == 'NUMERIC') $meta['type'] = "SIGNED";
243
+ $meta_value = "CAST(postmeta.meta_value AS " . $meta['type'] . ")";
244
  }
245
  else {
246
+ $meta_value = 'postmeta.meta_value';
247
  }
248
 
249
  if ($compare == 'BETWEEN' || $compare == 'NOT BETWEEN') {
253
  $low_value = $meta['value'][0];
254
  $high_value = $meta['value'][1];
255
  !empty($key) ? $and = " AND " : $and = "";
256
+ $meta_query_restrictions .= " $meta_relation relevanssi.doc $compare (
257
+ SELECT DISTINCT(postmeta.post_id) FROM $wpdb->postmeta AS postmeta
258
  WHERE $key $and $meta_value BETWEEN $low_value AND $high_value)";
259
  }
260
  else if ($compare == 'EXISTS' || $compare == 'NOT EXISTS') {
261
  $compare == 'EXISTS' ? $compare = "IN" : $compare = "NOT IN";
262
+ $meta_query_restrictions .= " $meta_relation relevanssi.doc $compare (
263
+ SELECT DISTINCT(postmeta.post_id) FROM $wpdb->postmeta AS postmeta
264
  WHERE $key)";
265
  }
266
  else if ($compare == 'IN' || $compare == 'NOT IN') {
271
  }
272
  $values = implode(',', $values);
273
  !empty($key) ? $and = " AND " : $and = "";
274
+ $meta_query_restrictions .= " $meta_relation relevanssi.doc IN (
275
+ SELECT DISTINCT(postmeta.post_id) FROM $wpdb->postmeta AS postmeta
276
  WHERE $key $and $meta_value $compare ($values))";
277
  }
278
  else {
282
  // do nothing
283
  }
284
  else {
285
+ $meta_query_restrictions .= " $meta_relation relevanssi.doc IN (
286
+ SELECT DISTINCT(postmeta.post_id) FROM $wpdb->postmeta AS postmeta
287
  WHERE $key $and $value)";
288
  }
289
  }
290
  }
291
+
292
+ if ($meta_relation == 'OR') {
293
+ $meta_query_restrictions = substr($meta_query_restrictions, 3); // strip the first OR
294
+ $meta_query_restrictions = "AND (" . $meta_query_restrictions . ") ";
295
+ }
296
+ $query_restrictions .= $meta_query_restrictions;
297
  }
298
 
299
  if (!$post_type && get_option('relevanssi_respect_exclude') == 'on') {
303
  $post_type = implode(',', array_merge($pt_1, $pt_2));
304
  }
305
  }
306
+
307
  if ($post_type) {
308
  if ($post_type == -1) $post_type = null; // Facetious sets post_type to -1 if not selected
309
  if (!is_array($post_type)) {
312
  else {
313
  $post_types = $post_type;
314
  }
315
+
316
+ $post_type = count($post_types) ? implode( ',', array_fill(1, count($post_types), "'%s'")) : 'NULL';
 
 
 
 
317
  }
318
 
319
  //Added by OdditY:
324
  $aexpids = explode(",",$expost);
325
  foreach ($aexpids as $exid){
326
  $exid = esc_sql(trim($exid, ' -'));
327
+ $postex .= " AND relevanssi.doc !='$exid'";
328
  }
329
  }
330
  }
362
  }
363
  }
364
 
365
+ $D = $wpdb->get_var("SELECT COUNT(DISTINCT(relevanssi.doc)) FROM $relevanssi_table AS relevanssi");
366
 
367
  $total_hits = 0;
368
 
397
  }
398
  if (count($author_in) > 0) {
399
  $authors = implode(',', $author_in);
400
+ $query_restrictions .= " AND relevanssi.doc IN (SELECT DISTINCT(posts.ID) FROM $wpdb->posts AS posts
401
+ WHERE posts.post_author IN ($authors))";
402
  }
403
  if (count($author_not_in) > 0) {
404
  $authors = implode(',', $author_not_in);
405
+ $query_restrictions .= " AND relevanssi.doc NOT IN (SELECT DISTINCT(posts.ID) FROM $wpdb->posts AS posts
406
+ WHERE posts.post_author IN ($authors))";
407
  }
408
  }
409
 
410
  if ($post_type) {
411
  // the -1 is there to get user profiles and category pages
412
+ $query_restrictions .= $wpdb->prepare(" AND ((relevanssi.doc IN (SELECT DISTINCT(posts.ID) FROM $wpdb->posts AS posts
413
+ WHERE posts.post_type IN ($post_type))) OR (doc = -1))",
414
+ $post_types);
415
  }
416
 
417
  if ($phrases) {
418
+ $query_restrictions .= " AND relevanssi.doc IN ($phrases)";
419
  }
420
 
421
  if (isset($_REQUEST['by_date'])) {
445
  $n = preg_replace('/[hdmyw]/', '', $n);
446
 
447
  if (is_numeric($n)) {
448
+ $query_restrictions .= " AND relevanssi.doc IN (SELECT DISTINCT(posts.ID) FROM $wpdb->posts AS posts
449
+ WHERE posts.post_date > DATE_SUB(NOW(), INTERVAL $n $unit))";
450
  }
451
  }
452
 
453
  $query_restrictions = apply_filters('relevanssi_where', $query_restrictions); // Charles St-Pierre
454
+ $query_join = apply_filters('relevanssi_join', '');
455
 
456
  $no_matches = true;
457
  if ("always" == $fuzzy) {
458
+ $o_term_cond = apply_filters('relevanssi_fuzzy_query', "(relevanssi.term LIKE '#term#%' OR relevanssi.term_reverse LIKE CONCAT(REVERSE('#term#'), '%')) ");
459
  }
460
  else {
461
+ $o_term_cond = " relevanssi.term = '#term#' ";
462
  }
463
 
464
  $post_type_weights = get_option('relevanssi_post_type_weights');
488
  !empty($post_type_weights['post_tag']) ? $tag = $post_type_weights['post_tag'] : $tag = $relevanssi_variables['post_type_weight_defaults']['post_tag'];
489
  !empty($post_type_weights['category']) ? $cat = $post_type_weights['category'] : $cat = $relevanssi_variables['post_type_weight_defaults']['category'];
490
 
491
+ $query = "SELECT relevanssi.*, relevanssi.title * $title_boost + relevanssi.content + relevanssi.comment * $comment_boost + relevanssi.tag * $tag + relevanssi.link * $link_boost + relevanssi.author + relevanssi.category * $cat + relevanssi.excerpt + relevanssi.taxonomy + relevanssi.customfield + relevanssi.mysqlcolumn AS tf
492
+ FROM $relevanssi_table AS relevanssi $query_join WHERE $term_cond $query_restrictions";
493
  $query = apply_filters('relevanssi_query_filter', $query);
494
 
495
  $matches = $wpdb->get_results($query);
501
  $no_matches = false;
502
  if (count($include_these_posts) > 0) {
503
  $post_ids_to_add = implode(',', array_keys($include_these_posts));
504
+ $query = "SELECT relevanssi.*, relevanssi.title * $title_boost + relevanssi.content + relevanssi.comment * $comment_boost + relevanssi.tag * $tag + relevanssi.link * $link_boost + relevanssi.author + relevanssi.category * $cat + relevanssi.excerpt + relevanssi.taxonomy + relevanssi.customfield + relevanssi.mysqlcolumn AS tf
505
+ FROM $relevanssi_table AS relevanssi WHERE relevanssi.doc IN ($post_ids_to_add) AND $term_cond";
506
  $matches_to_add = $wpdb->get_results($query);
507
  $matches = array_merge($matches, $matches_to_add);
508
  }
513
 
514
  $total_hits += count($matches);
515
 
516
+ $query = "SELECT COUNT(DISTINCT(relevanssi.doc)) FROM $relevanssi_table AS relevanssi $query_join WHERE $term_cond $query_restrictions";
517
  $query = apply_filters('relevanssi_df_query_filter', $query);
518
 
519
  $df = $wpdb->get_var($query);
520
 
521
  if ($df < 1 && "sometimes" == $fuzzy) {
522
+ $query = "SELECT COUNT(DISTINCT(relevanssi.doc)) FROM $relevanssi_table AS relevanssi $query_join
523
+ WHERE (relevanssi.term LIKE '$term%' OR relevanssi.term_reverse LIKE CONCAT(REVERSE('$term), %')) $query_restrictions";
524
  $query = apply_filters('relevanssi_df_query_filter', $query);
525
  $df = $wpdb->get_var($query);
526
  }
861
  }
862
 
863
  $meta_query = array();
864
+ $meta_query_relation = apply_filters('relevanssi_default_meta_query_relation', 'AND');
865
+
866
  if (!empty($query->query_vars["meta_query"])) {
867
  $meta_query = $query->query_vars["meta_query"];
868
  }
918
  // This is done here so the new terms will get highlighting
919
  if ("OR" == $operator) {
920
  // Synonyms are only used in OR queries
921
+ $q = relevanssi_add_synonyms($q);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
922
  }
923
 
924
  if ($cache) {
945
  $order);
946
  }
947
  }
948
+
949
  isset($return['hits']) ? $hits = $return['hits'] : $hits = array();
950
  isset($return['query']) ? $q = $return['query'] : $q = "";
951
 
971
  }
972
 
973
  $make_excerpts = get_option('relevanssi_excerpts');
974
+ if ($query->is_admin) $make_excerpts = false;
975
 
976
  if ($query->query_vars['paged'] > 0) {
977
  $wpSearch_low = ($query->query_vars['paged'] - 1) * $query->query_vars["posts_per_page"];
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: msaari
3
  Donate link: http://www.relevanssi.com/buy-premium/
4
  Tags: search, relevance, better search
5
  Requires at least: 3.3
6
- Tested up to: 3.7
7
- Stable tag: 3.1.9
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -390,6 +390,21 @@ removing those words helps to make the index smaller and searching faster.
390
 
391
  == Changelog ==
392
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
393
  = 3.1.9 =
394
  * Fix to make Relevanssi compatible with WordPress 3.7.
395
  * Fixed a mistyped database table name.
@@ -974,6 +989,9 @@ removing those words helps to make the index smaller and searching faster.
974
 
975
  == Upgrade notice ==
976
 
 
 
 
977
  = 3.1.9 =
978
  * WordPress 3.7 compatibility, couple of minor bug fixes.
979
 
3
  Donate link: http://www.relevanssi.com/buy-premium/
4
  Tags: search, relevance, better search
5
  Requires at least: 3.3
6
+ Tested up to: 3.8-alpha
7
+ Stable tag: 3.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
390
 
391
  == Changelog ==
392
 
393
+ = 3.2 =
394
+ * Fixed a bug in the TablePress support.
395
+ * Titles are put through the_title filter before indexing.
396
+ * New filter: `relevanssi_join` can be used to join tables in the Relevanssi search MySQL queries. Thanks to Ninos Ego.
397
+ * New filter: `relevanssi_post_content` can be used to modify post content before any Relevanssi processing.
398
+ * New filter: `relevanssi_post_content_before_tokenize` can be used to modify post content just before it's tokenized.
399
+ * New filter: `relevanssi_indexing_values` can be used to modify what Relevanssi stores in the index.
400
+ * New filter: `relevanssi_default_meta_query_relation` can be used to change the default meta query relation (default value is "AND").
401
+ * When using a meta_query, `relation` can be set to OR now.
402
+ * Phrases are now matched to excerpts.
403
+ * Number of queries Relevanssi generates is much, much lower.
404
+ * New filter: `relevanssi_didyoumean_url` lets you modify the URL generated by the did you mean feature.
405
+ * Better set of Russian stopwords.
406
+ * Relevanssi now highlights search query synonyms as well in documents.
407
+
408
  = 3.1.9 =
409
  * Fix to make Relevanssi compatible with WordPress 3.7.
410
  * Fixed a mistyped database table name.
989
 
990
  == Upgrade notice ==
991
 
992
+ = 3.2 =
993
+ * New filters, better search efficiency, new features, small bug fixes.
994
+
995
  = 3.1.9 =
996
  * WordPress 3.7 compatibility, couple of minor bug fixes.
997
 
relevanssi-de_DE.mo ADDED
Binary file
relevanssi-de_DE.po ADDED
@@ -0,0 +1,988 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Relevanssi v3.1.8\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: \n"
6
+ "PO-Revision-Date: 2013-09-18 14:31:32+0000\n"
7
+ "Last-Translator: jlund <joern@flyingletters.com>\n"
8
+ "Language-Team: \n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
13
+ "X-Generator: CSL v1.x\n"
14
+ "X-Poedit-Language: German\n"
15
+ "X-Poedit-Country: GERMANY\n"
16
+ "X-Poedit-SourceCharset: utf-8\n"
17
+ "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"
18
+ "X-Poedit-Basepath: \n"
19
+ "X-Poedit-Bookmarks: \n"
20
+ "X-Poedit-SearchPath-0: .\n"
21
+ "X-Textdomain-Support: yes"
22
+
23
+ #: lib/excerpts-highlights.php:11
24
+ #@ default
25
+ msgid "There is no excerpt because this is a protected post."
26
+ msgstr "Es gibt keinen Auszug, da dies eine geschütze Seite ist."
27
+
28
+ #: lib/init.php:40
29
+ #, php-format
30
+ #@ default
31
+ msgid ""
32
+ "Relevanssi needs attention: Remember to build the index (you can do it at <a href=\"%1$s\">the\n"
33
+ "\t\t\t settings page</a>), otherwise searching won't work."
34
+ msgstr "Relevanssi benötigt Ihre Aufmerksamkeit. Bitte denken Sie daran, den Index aufzubauen. (Unter <a href=\"%1$s\">Einstellungen</a>). Andernfalls funktioniert die Suche nicht."
35
+
36
+ #: lib/init.php:84
37
+ #: lib/init.php:85
38
+ #@ relevanssi
39
+ msgid "User searches"
40
+ msgstr "Suchanfragen"
41
+
42
+ #: lib/interface.php:6
43
+ #@ relevanssi
44
+ msgid "Relevanssi Premium Search Options"
45
+ msgstr "Relevanssi Premium Such-Einstellungen"
46
+
47
+ #: lib/interface.php:9
48
+ #@ relevanssi
49
+ msgid "Relevanssi Search Options"
50
+ msgstr "Relevanssi Such-Einstellungen"
51
+
52
+ #: lib/interface.php:86
53
+ #@ relevanssi
54
+ msgid "User Searches"
55
+ msgstr "Suchanfragen"
56
+
57
+ #: lib/interface.php:88
58
+ #@ relevanssi
59
+ msgid "Relevanssi User Searches"
60
+ msgstr "Relevanssi Suchanfragen"
61
+
62
+ #: lib/interface.php:335
63
+ #, php-format
64
+ #@ relevanssi
65
+ msgid "<div id='message' class='updated fade'><p>Successfully added %d/%d terms to stopwords!</p></div>"
66
+ msgstr "<div id='message' class='updated fade'><p>%d/%d erfolgreich zur Stoppwort-Liste hinzugefügt!</p></div>"
67
+
68
+ #: lib/interface.php:342
69
+ #, php-format
70
+ #@ relevanssi
71
+ msgid "<div id='message' class='updated fade'><p>Term '%s' added to stopwords!</p></div>"
72
+ msgstr "<div id='message' class='updated fade'><p>Begriff '%s' zur Stoppwort-Liste hinzugefügt!</p></div>"
73
+
74
+ #: lib/interface.php:345
75
+ #, php-format
76
+ #@ relevanssi
77
+ msgid "<div id='message' class='updated fade'><p>Couldn't add term '%s' to stopwords!</p></div>"
78
+ msgstr "<div id='message' class='updated fade'><p>Konnte Begriff '%s' nicht zur Stoppwort-Liste hinzufügen!</p></div>"
79
+
80
+ #: lib/interface.php:374
81
+ #@ relevanssi
82
+ msgid "<div id='message' class='updated fade'><p>Stopwords removed! Remember to re-index.</p></div>"
83
+ msgstr "<div id='message' class='updated fade'><p>Stoppwörter entfernt! Bitte den Index neu erstellen.</p></div>"
84
+
85
+ #: lib/interface.php:384
86
+ #, php-format
87
+ #@ relevanssi
88
+ msgid "<div id='message' class='updated fade'><p>Term '%s' removed from stopwords! Re-index to get it back to index.</p></div>"
89
+ msgstr "<div id='message' class='updated fade'><p>Begriff '%s' aus aus der Stoppwort-Liste entfernt! Bitte den Index neu erstellen, um es in den Suchindex aufzunehmen.</p></div>"
90
+
91
+ #: lib/interface.php:387
92
+ #, php-format
93
+ #@ relevanssi
94
+ msgid "<div id='message' class='updated fade'><p>Couldn't remove term '%s' from stopwords!</p></div>"
95
+ msgstr "<div id='message' class='updated fade'><p>Konnte Begriff '%s' nicht aus der Stoppwort-Liste entfernen!</p></div>"
96
+
97
+ #: lib/interface.php:398
98
+ #@ relevanssi
99
+ msgid "25 most common words in the index"
100
+ msgstr "Die 25 häufigsten Begriffe im Index"
101
+
102
+ #: lib/interface.php:400
103
+ #@ relevanssi
104
+ msgid "These words are excellent stopword material. A word that appears in most of the posts in the database is quite pointless when searching. This is also an easy way to create a completely new stopword list, if one isn't available in your language. Click the icon after the word to add the word to the stopword list. The word will also be removed from the index, so rebuilding the index is not necessary."
105
+ msgstr "Diese Wörter bilden hervorragendes Stoppwort-Material. Ein Wort, das auf den meisten Ihrer Seiten erscheint, ist für die Suche nutzlos. Auf diese Weise können Sie außerdem eine neue Stoppwort-Liste erstellen, falls in Ihrer Sprache keine solche Liste vorhanden ist. Klicken Sie auf das Icon hinter dem Wort um ein Wort in die Stoppwort-Liste aufzunehmen. Das Wort wird danach auch aus dem Index entfernt, daher müssen Sie den Such-Index nicht neu erstellen."
106
+
107
+ #: lib/interface.php:426
108
+ #@ relevanssi
109
+ msgid "Add to stopwords"
110
+ msgstr "Zu den Stoppwörtern hinzufügen"
111
+
112
+ #: lib/interface.php:437
113
+ #@ relevanssi
114
+ msgid "Total Searches"
115
+ msgstr "Alle Suchanfragen"
116
+
117
+ #: lib/interface.php:440
118
+ #@ relevanssi
119
+ msgid "Totals"
120
+ msgstr "Summe"
121
+
122
+ #: lib/interface.php:445
123
+ #@ relevanssi
124
+ msgid "Common Queries"
125
+ msgstr "Häufige Suchbegriffe"
126
+
127
+ #: lib/interface.php:447
128
+ #@ relevanssi
129
+ msgid ""
130
+ "Here you can see the 20 most common user search queries, how many times those \n"
131
+ "\t\tqueries were made and how many results were found for those queries."
132
+ msgstr "Hier sehen Sie die 20 häufigsten Suchanfragen Ihrer Besucher, wie oft diese ausgeführt wurden, und wieviele Ergebnisse dafür gefunden wurden."
133
+
134
+ #: lib/interface.php:453
135
+ #: lib/interface.php:469
136
+ #: lib/interface.php:501
137
+ #@ relevanssi
138
+ msgid "Today and yesterday"
139
+ msgstr "Heute und gestern"
140
+
141
+ #: lib/interface.php:457
142
+ #: lib/interface.php:473
143
+ #: lib/interface.php:502
144
+ #@ relevanssi
145
+ msgid "Last 7 days"
146
+ msgstr "Die letzten 7 Tage"
147
+
148
+ #: lib/interface.php:461
149
+ #: lib/interface.php:477
150
+ #: lib/interface.php:503
151
+ #@ relevanssi
152
+ msgid "Last 30 days"
153
+ msgstr "Die letzten 30 Tage"
154
+
155
+ #: lib/interface.php:466
156
+ #@ relevanssi
157
+ msgid "Unsuccessful Queries"
158
+ msgstr "Erfolglose Suchanfragen"
159
+
160
+ #: lib/interface.php:484
161
+ #@ relevanssi
162
+ msgid "Reset Logs"
163
+ msgstr "Protokoll zurücksetzen"
164
+
165
+ #: lib/interface.php:487
166
+ #, php-format
167
+ #@ relevanssi
168
+ msgid "To reset the logs, type \"reset\" into the box here %s and click %s"
169
+ msgstr "Zum Zurücksetzen der Protokolle bitte \"reset\" in dieses Textfeld %s eintragen und %s klicken."
170
+
171
+ #: lib/interface.php:504
172
+ #@ relevanssi
173
+ msgid "Forever"
174
+ msgstr "Für immer"
175
+
176
+ #: lib/interface.php:506
177
+ #@ relevanssi
178
+ msgid "When"
179
+ msgstr "Wenn"
180
+
181
+ #: lib/interface.php:506
182
+ #@ relevanssi
183
+ msgid "Searches"
184
+ msgstr "Suchanfragen"
185
+
186
+ #: lib/interface.php:536
187
+ #@ relevanssi
188
+ msgid "Query"
189
+ msgstr "Suchanfrage"
190
+
191
+ #: lib/interface.php:536
192
+ #@ relevanssi
193
+ msgid "Hits"
194
+ msgstr "Treffer"
195
+
196
+ #: lib/interface.php:846
197
+ #: lib/interface.php:891
198
+ #@ relevanssi
199
+ msgid "Basic options"
200
+ msgstr "Grundeinstellungen"
201
+
202
+ #: lib/interface.php:847
203
+ #: lib/interface.php:957
204
+ #@ relevanssi
205
+ msgid "Weights"
206
+ msgstr "Gewichtungen"
207
+
208
+ #: lib/interface.php:848
209
+ #: lib/interface.php:1012
210
+ #@ relevanssi
211
+ msgid "Logs"
212
+ msgstr "Protokolle"
213
+
214
+ #: lib/interface.php:849
215
+ #: lib/interface.php:1041
216
+ #@ relevanssi
217
+ msgid "Exclusions and restrictions"
218
+ msgstr "Ausschließen oder Beschränkungen"
219
+
220
+ #: lib/interface.php:850
221
+ #@ relevanssi
222
+ msgid "Custom excerpts"
223
+ msgstr "Eigene Zusammenfassungen"
224
+
225
+ #: lib/interface.php:851
226
+ #@ relevanssi
227
+ msgid "Highlighting search results"
228
+ msgstr "Suchbegriffe hervorheben"
229
+
230
+ #: lib/interface.php:852
231
+ #: lib/interface.php:1187
232
+ #@ relevanssi
233
+ msgid "Indexing options"
234
+ msgstr "Indizierungs-Einstellungen"
235
+
236
+ #: lib/interface.php:853
237
+ #: lib/interface.php:1335
238
+ #@ relevanssi
239
+ msgid "Caching"
240
+ msgstr "Cache"
241
+
242
+ #: lib/interface.php:854
243
+ #: lib/interface.php:1358
244
+ #@ relevanssi
245
+ msgid "Synonyms"
246
+ msgstr "Synonyme"
247
+
248
+ #: lib/interface.php:855
249
+ #: lib/interface.php:1366
250
+ #@ relevanssi
251
+ msgid "Stopwords"
252
+ msgstr "Stoppwörter"
253
+
254
+ #: lib/interface.php:858
255
+ #@ relevanssi
256
+ msgid "Import/export options"
257
+ msgstr "Einstellungen importieren/exportieren"
258
+
259
+ #: lib/interface.php:861
260
+ #@ relevanssi
261
+ msgid "Buy Relevanssi Premium"
262
+ msgstr "Relevanssi Premium kaufen"
263
+
264
+ #: lib/interface.php:866
265
+ #@ relevanssi
266
+ msgid "Quick tools"
267
+ msgstr "Quick tools"
268
+
269
+ #: lib/interface.php:868
270
+ #@ relevanssi
271
+ msgid "Save options"
272
+ msgstr "Einstellungen sichern"
273
+
274
+ #: lib/interface.php:869
275
+ #@ relevanssi
276
+ msgid "Build the index"
277
+ msgstr "Index aufbauen"
278
+
279
+ #: lib/interface.php:870
280
+ #: lib/interface.php:1333
281
+ #@ relevanssi
282
+ msgid "Continue indexing"
283
+ msgstr "Weiter indizieren"
284
+
285
+ #: lib/interface.php:870
286
+ #@ relevanssi
287
+ msgid "add"
288
+ msgstr "hinzufügen"
289
+
290
+ #: lib/interface.php:870
291
+ #@ relevanssi
292
+ msgid "documents."
293
+ msgstr "Dokumente."
294
+
295
+ #: lib/interface.php:874
296
+ #@ relevanssi
297
+ msgid "WARNING: You've chosen no post types to index. Nothing will be indexed. <a href='#indexing'>Choose some post types to index</a>."
298
+ msgstr "WARNUNG: Sie haben keine Post-Typen für die Indizierung bestimmt. Es wird nichts indiziert werden. <a href='#indexing'>Wählen Sie ein paar Post-Typen aus.</a>."
299
+
300
+ #: lib/interface.php:878
301
+ #@ relevanssi
302
+ msgid "Use 'Build the index' to build the index with current <a href='#indexing'>indexing options</a>. If you can't finish indexing with one go, use 'Continue indexing' to finish the job. You can change the number of documents to add until you find the largest amount you can add with one go. See 'State of the Index' below to find out how many documents actually go into the index."
303
+ msgstr "Klicken Sie 'Index aufbauen' um den Index mit den derzeitigen <a href='#indexing'>Index-Einstellungen</a> zu erzeugen. Wenn es nicht auf Anhieb funktioniert, klicken Sie 'Weiter indizieren' um den Vorgang abzuschließen. Erhöhen Sie die Anzahl der Dokumente bis Sie die größte Anzahl an Dokumenten erreichte haben, die Sie in einem Zug indizieren können. Sehen Sie auch bei 'Zustand des Index' weiter unten nach, um herauszufinden, wie viele Dokumente sich gegenwärtig im Index befinden."
304
+
305
+ #: lib/interface.php:880
306
+ #@ relevanssi
307
+ msgid ""
308
+ "If Relevanssi doesn't index anything and you have upgraded from a 2.x version, it's likely the changes in\n"
309
+ "\tthe database structure haven't gone through in the upgrade. In that case all you need to do is to deactivate the\n"
310
+ "\tplugin and then activate it again."
311
+ msgstr "Falls Relevanssi nichts indiziert und Sie von einer 2.x-Version upgedated haben, sind wahrscheinlich die Änderungen in der Datenbank nicht durch das Update gegangen. In diesem Fall genügt es, wenn Sie das Plugin einmal deaktivieren, und anschließend wieder aktivieren."
312
+
313
+ #: lib/interface.php:884
314
+ #@ relevanssi
315
+ msgid "State of the Index"
316
+ msgstr "Zustand des Index"
317
+
318
+ #: lib/interface.php:886
319
+ #@ relevanssi
320
+ msgid "Documents in the index"
321
+ msgstr "Dokumente im Index"
322
+
323
+ #: lib/interface.php:887
324
+ #@ relevanssi
325
+ msgid "Terms in the index"
326
+ msgstr "Suchbegriffe im Index"
327
+
328
+ #: lib/interface.php:888
329
+ #@ relevanssi
330
+ msgid "Highest post ID indexed"
331
+ msgstr "Höchste indizierte Post-ID"
332
+
333
+ #: lib/interface.php:897
334
+ #@ relevanssi
335
+ msgid "Use search for admin:"
336
+ msgstr "Suchen im Admin-Bereich"
337
+
338
+ #: lib/interface.php:899
339
+ #@ relevanssi
340
+ msgid "If checked, Relevanssi will be used for searches in the admin interface"
341
+ msgstr "Wenn aktiviert, wird Relevanssi auch für die Suche innerhalb des Admin-Bereichs verwendet."
342
+
343
+ #: lib/interface.php:903
344
+ #@ relevanssi
345
+ msgid "Default operator for the search?"
346
+ msgstr "Standard-Operator für Suchanfragen?"
347
+
348
+ #: lib/interface.php:905
349
+ #@ relevanssi
350
+ msgid "AND - require all terms"
351
+ msgstr "AND – Alle Begriffe müssen vorkommen"
352
+
353
+ #: lib/interface.php:906
354
+ #@ relevanssi
355
+ msgid "OR - any term present is enough"
356
+ msgstr "OR – einer der Begriffe muß vorkommen"
357
+
358
+ #: lib/interface.php:908
359
+ #@ relevanssi
360
+ msgid "If you choose AND and the search finds no matches, it will automatically do an OR search."
361
+ msgstr "Wenn AND ausgewählt ist, und die Suche ergibt keine Treffer, wird automatisch auf OR umgeschaltet."
362
+
363
+ #: lib/interface.php:912
364
+ #@ relevanssi
365
+ msgid "Disable OR fallback:"
366
+ msgstr "OR-Fallback deaktivieren"
367
+
368
+ #: lib/interface.php:914
369
+ #@ relevanssi
370
+ msgid "If you don't want Relevanssi to fall back to OR search when AND search gets no hits, check this option. For most cases, leave this one unchecked."
371
+ msgstr "Wenn Sie nicht möchten, das bei einer erfolglosen AND-Suche auf OR zurückgegriffen wird, aktivieren Sie diese Option. In den meisten Fällen sollten Sie diese Option deaktiviert lassen."
372
+
373
+ #: lib/interface.php:918
374
+ #@ relevanssi
375
+ msgid "Default order for results:"
376
+ msgstr "Standard-Reihenfolge für Suchergebnisse:"
377
+
378
+ #: lib/interface.php:920
379
+ #@ relevanssi
380
+ msgid "Relevance (highly recommended)"
381
+ msgstr "Relevanz (Hochgradig empfohlen)"
382
+
383
+ #: lib/interface.php:921
384
+ #@ relevanssi
385
+ msgid "Post date"
386
+ msgstr "Datum des Beitrags"
387
+
388
+ #: lib/interface.php:923
389
+ #@ relevanssi
390
+ msgid "If you want date-based results, see the recent post bonus in the Weights section."
391
+ msgstr "Bei Datums-Basierten Suchergebnissen, see the recent post bonus im Abschnitt 'Gewichtung'."
392
+
393
+ #: lib/interface.php:927
394
+ #@ relevanssi
395
+ msgid "When to use fuzzy matching?"
396
+ msgstr "Wann sollen unscharfe Vergleiche benutzt werden?"
397
+
398
+ #: lib/interface.php:929
399
+ #@ relevanssi
400
+ msgid "When straight search gets no hits"
401
+ msgstr "Wenn die normale Suche keine Treffer ausgibt"
402
+
403
+ #: lib/interface.php:930
404
+ #@ relevanssi
405
+ msgid "Always"
406
+ msgstr "Immer"
407
+
408
+ #: lib/interface.php:931
409
+ #@ relevanssi
410
+ msgid "Don't use fuzzy search"
411
+ msgstr "Unscharfe Vergleiche nicht verwenden"
412
+
413
+ #: lib/interface.php:933
414
+ #@ relevanssi
415
+ msgid "Straight search matches just the term. Fuzzy search matches everything that begins or ends with the search term."
416
+ msgstr "Die normale Suche sucht nur nach direkten Übereinstimmungen mit dem Suchbegriff. Die unscharfe Suche findet alles, was mit dem Suchbegriff beginnt oder endet."
417
+
418
+ #: lib/interface.php:941
419
+ #@ relevanssi
420
+ msgid "Limit searches:"
421
+ msgstr "Suchergebnisse begrenzen:"
422
+
423
+ #: lib/interface.php:943
424
+ #@ relevanssi
425
+ msgid "If this option is checked, Relevanssi will limit search results to at most 500 results per term. This will improve performance, but may cause some relevant documents to go unfound. However, Relevanssi tries to prioritize the most relevant documents. <strong>This does not work well when sorting results by date.</strong> The throttle can end up cutting off recent posts to favour more relevant posts."
426
+ msgstr "Wenn diese Option aktiviert ist, wird Relevanssi die Suchergebnisse auf 500 Treffer pro Suchbegriff begrenzen. Dadurch wird die Leistungsfähigkeit verbessert, kann aber dazu führen, dass einige Relevante Dokumente nicht gefunden werden. Relevanssi wird trotzdem versuchen, die relevantesten Dokumente zu priorisieren. <strong>Dies funktioniert aber nicht besonders gut bei Sortierung nach Datum,</strong> und kann dazu führen dass neuere Dokumente zugunsten relevanterer Dokumente ausgelassen werden."
427
+
428
+ #: lib/interface.php:947
429
+ #@ relevanssi
430
+ msgid "Limit:"
431
+ msgstr "Begrenzung:"
432
+
433
+ #: lib/interface.php:949
434
+ #@ relevanssi
435
+ msgid "For better performance, adjust the limit to a smaller number. Adjusting the limit to 100 - or even lower - should be safe for good results, and might bring a boost in search speed."
436
+ msgstr "Zur Erhöhung der Leistungsfähigkeit tragen Sie einer kleinere Zahl ein. Ein Limit von 100 oder weniger sollte noch immer gute Suchergebnisse bringen und die Effizienz einer Suche deutlich erhöhen."
437
+
438
+ #: lib/interface.php:959
439
+ #@ relevanssi
440
+ msgid "These values affect the weights of the documents. These are all multipliers, so 1 means no change in weight, less than 1 means less weight, and more than 1 means more weight. Setting something to zero makes that worthless. For example, if title weight is more than 1, words in titles are more significant than words elsewhere. If title weight is 0, words in titles won't make any difference to the search results."
441
+ msgstr "Diese Werte betreffen die Gewichtung von Dokumenten. Es sind Faktoren, 1 bedeutet keine Änderung in der Gewichtung, weniger als 1 hat eine geringere Gewichtung zur Folge und mehr als 1 eine höhere. Null macht das Element irrelevant bei der Gewichtung. Wenn zum Beispiel die Gewichtung des Titels mehr als 1 beträgt, dann werden Suchwörter die im Titel auftauchen als aussagekräftiger angesehen als wenn die Wörter woanders auftauche würden. Wenn die Gewichtung des Titels 0 ist, haben Suchbegriffe im Titel keinerlei Auswirkung auf die Gewichtung der Suchergebnisse."
442
+
443
+ #: lib/interface.php:964
444
+ #@ relevanssi
445
+ msgid "Element"
446
+ msgstr "Element"
447
+
448
+ #: lib/interface.php:965
449
+ #@ relevanssi
450
+ msgid "Weight"
451
+ msgstr "Gewichtung"
452
+
453
+ #: lib/interface.php:966
454
+ #@ relevanssi
455
+ msgid "Default weight"
456
+ msgstr "Standard Gewichtung"
457
+
458
+ #: lib/interface.php:971
459
+ #@ relevanssi
460
+ msgid "Post titles"
461
+ msgstr "Beitrags-Titel"
462
+
463
+ #: lib/interface.php:983
464
+ #@ relevanssi
465
+ msgid "Comment text"
466
+ msgstr "Kommentar-Texte"
467
+
468
+ #: lib/interface.php:1006
469
+ #@ relevanssi
470
+ msgid "Limit results to current language:"
471
+ msgstr "Resultate nur auf die gegenwärtige Sprache einschränken"
472
+
473
+ #: lib/interface.php:1008
474
+ #@ relevanssi
475
+ msgid "If this option is checked, Relevanssi will only return results in the current active language. Otherwise results will include posts in every language."
476
+ msgstr "Wenn diese Option aktiviert ist, zeigt Relevanssi nur Ergebnisse in der aktuell gewählten Sprache an. Andernfalls werden Resultate in allen Sprachen angezeigt."
477
+
478
+ #: lib/interface.php:1014
479
+ #@ relevanssi
480
+ msgid "Keep a log of user queries:"
481
+ msgstr "Suchanfragen der Besucher protokollieren:"
482
+
483
+ #: lib/interface.php:1016
484
+ #@ relevanssi
485
+ msgid "If checked, Relevanssi will log user queries. The log appears in 'User searches' on the Dashboard admin menu."
486
+ msgstr "Wenn aktiviert wird Relevanssi die Such-Anfragen Ihrer Besucher protokollieren. Das Protokoll finden Sie unter 'Suchanfragen' im Administrations-Menu Ihres Dashboards. "
487
+
488
+ #: lib/interface.php:1020
489
+ #@ relevanssi
490
+ msgid "Log the user's IP with the queries:"
491
+ msgstr "Die IP-Adresse der Besucher ebenfalls Protokollieren:"
492
+
493
+ #: lib/interface.php:1022
494
+ #@ relevanssi
495
+ msgid "If checked, Relevanssi will log user's IP-Adress with the queries."
496
+ msgstr "Wenn aktiviert, speichert Relevanssi die IP-Adressen Ihrer Besucher zusammen mit den Suchanfragen. (Diese Option verstößt gegen mehrere Datenschutzrichtlinien, Sie sollten sie nicht aktivieren)"
497
+
498
+ #: lib/interface.php:1026
499
+ #@ relevanssi
500
+ msgid "Don't log queries from these users:"
501
+ msgstr "Suchanfragen von diesen Benutzern nicht protokollieren:"
502
+
503
+ #: lib/interface.php:1028
504
+ #@ relevanssi
505
+ msgid "Comma-separated list of numeric user IDs or user login names that will not be logged."
506
+ msgstr "Komma-getrennte Liste mit numerischen IDs oder Login-Namen der Benutzer, die nicht Protokolliert werden sollen. "
507
+
508
+ #: lib/interface.php:1032
509
+ #@ relevanssi
510
+ msgid "If you enable logs, you can see what your users are searching for. You can prevent your own searches from getting in the logs with the omit feature."
511
+ msgstr "Durch die Protokollierung können Sie einsehen, was Ihre Besucher auf Ihrer Seite suchen. Durch die Eingabe 'Suchanfragen von...' können Sie Suchanfragen Ihrer eigenen Benutzer von der Protokollierung ausnehmen."
512
+
513
+ #: lib/interface.php:1035
514
+ #@ relevanssi
515
+ msgid "If you enable logs, you can see what your users are searching for. Logs are also needed to use the 'Did you mean?' feature. You can prevent your own searches from getting in the logs with the omit feature."
516
+ msgstr "Durch die Protokollierung können Sie einsehen, was Ihre Besucher auf Ihrer Seite suchen. Die Protokolle werden ebenso für die 'meinten Sie vielleicht'-Funktion benötigt. Durch die Eingabe 'Suchanfragen von...' können Sie Suchanfragen Ihrer eigenen Benutzer von der Protokollierung ausnehmen."
517
+
518
+ #: lib/interface.php:1043
519
+ #@ relevanssi
520
+ msgid "Restrict search to these categories and tags:"
521
+ msgstr "Suche nur in diesen Kategorien und Schlagwörtern:"
522
+
523
+ #: lib/interface.php:1045
524
+ #@ relevanssi
525
+ msgid "Enter a comma-separated list of category and tag IDs to restrict search to those categories or tags. You can also use <code>&lt;input type='hidden' name='cats' value='list of cats and tags' /&gt;</code> in your search form. The input field will \toverrun this setting."
526
+ msgstr "Tragen Sie eine Komma-getrennte Liste der numerischen Kategorie- oder Schlagwort-IDs ein, auf die Sie die Suche einschränken wollen. Sie können auch <code>&lt;input type='hidden' name='cats' value='Liste der Kategorien und Schlagwörter' /&gt;</code> in Ihr Suchformular einfügen. Das Eingabefeld wird die hier getätigten Einstelllungen überschreiben."
527
+
528
+ #: lib/interface.php:1049
529
+ #@ relevanssi
530
+ msgid "Exclude these categories and tags from search:"
531
+ msgstr "Diese Kategorien und Schlagwörter aus der Suche ausschließen:"
532
+
533
+ #: lib/interface.php:1051
534
+ #@ relevanssi
535
+ msgid "Enter a comma-separated list of category and tag IDs that are excluded from search results. You can exclude categories with the 'cat' input field by using negative values."
536
+ msgstr "Tragen Sie eine Komma-getrennte Liste der numerischen Kategorie- oder Schlagwort-IDs ein, die aus der Suche ausgeschlossen werden sollen. Sie können Kategorien auch durch negative IDs unter 'Suche nur in …' ausschließen."
537
+
538
+ #: lib/interface.php:1055
539
+ #@ relevanssi
540
+ msgid "Exclude these posts/pages from search:"
541
+ msgstr "Diese Beiträge / Seiten aus der Suche ausschließen:"
542
+
543
+ #: lib/interface.php:1059
544
+ #@ relevanssi
545
+ msgid "Enter a comma-separated list of post/page IDs that are excluded from search results. This only works here, you can't use the input field option (WordPress doesn't pass custom parameters there). You can also use a checkbox on post/page edit pages to remove posts from index."
546
+ msgstr "Komma-getrennte Liste von numerischen Seiten- / Beitrags-IDs, die von der Suche ausgenommen werden sollen. Sie können auch die Checkbox beim Bearbeiten eines Beitrags / einer Seite benutzen um Dokumente aus dem Suchindex auszuschließen."
547
+
548
+ #: lib/interface.php:1062
549
+ #@ relevanssi
550
+ msgid "Enter a comma-separated list of post/page IDs that are excluded from search results. This only works here, you can't use the input field option (WordPress doesn't pass custom parameters there)."
551
+ msgstr "Komma-Separierte Liste von numerischen Seiten- / Beitrags-IDs, die von der Suche ausgenommen werden sollen."
552
+
553
+ #: lib/interface.php:1068
554
+ #@ relevanssi
555
+ msgid "Respect exclude_from_search for custom post types:"
556
+ msgstr "exclude_from_search auch auf Benutzerdefinierte Beiträge anwenden:"
557
+
558
+ #: lib/interface.php:1070
559
+ #@ relevanssi
560
+ msgid "If checked, Relevanssi won't display posts of custom post types that have 'exclude_from_search' set to true. If not checked, Relevanssi will display anything that is indexed."
561
+ msgstr "Wenn aktiviert wird Relevanssi keine Benutzerdefinierten Betrags-Typen anzeigen, bei denen exclude_from_search auf true gesetzt ist. Andernfalls zeigt Relevanssi alles an, was indiziert worden ist."
562
+
563
+ #: lib/interface.php:1072
564
+ #@ relevanssi
565
+ msgid "Custom excerpts/snippets"
566
+ msgstr "Benutzerdefinierte Auszüge/Snippets"
567
+
568
+ #: lib/interface.php:1074
569
+ #@ relevanssi
570
+ msgid "Create custom search result snippets:"
571
+ msgstr "Neues Benutzerdefiniertes Suchergebnis-Snippet:"
572
+
573
+ #: lib/interface.php:1076
574
+ #@ relevanssi
575
+ msgid "If checked, Relevanssi will create excerpts that contain the search term hits. To make them work, make sure your search result template uses the_excerpt() to display post excerpts."
576
+ msgstr "Wenn aktiviert zeigt Relevanssi Auszüge an, in denen der Suchtreffer zu sehen ist. Das funktioniert nur, wenn Ihr Theme die Funktion 'the_excerpt()' benutzt um Textauszüge anzuzeigen."
577
+
578
+ #: lib/interface.php:1078
579
+ #@ relevanssi
580
+ msgid "Note: Building custom excerpts can be slow. If you are not actually using the excerpts, make sure you disable the option."
581
+ msgstr "Anmerkung: Benutzerdefinierte Auszüge zu erzeugen kann ziemlich lange dauern. Wenn Sie ohnehin keine Textauszüge eintragen, sollten Sie diese Option deaktivieren."
582
+
583
+ #: lib/interface.php:1080
584
+ #@ relevanssi
585
+ msgid "Length of the snippet:"
586
+ msgstr "Länge des Snippets:"
587
+
588
+ #: lib/interface.php:1083
589
+ #@ relevanssi
590
+ msgid "characters"
591
+ msgstr "Zeichen"
592
+
593
+ #: lib/interface.php:1084
594
+ #@ relevanssi
595
+ msgid "words"
596
+ msgstr "Wörter"
597
+
598
+ #: lib/interface.php:1086
599
+ #@ relevanssi
600
+ msgid "This must be an integer."
601
+ msgstr "Bitte eine ganze Zahl eintragen"
602
+
603
+ #: lib/interface.php:1090
604
+ #@ relevanssi
605
+ msgid "Allowable tags in excerpts:"
606
+ msgstr "Erlaubte HTML-Tags in Auszügen:"
607
+
608
+ #: lib/interface.php:1093
609
+ #@ relevanssi
610
+ msgid "List all tags you want to allow in excerpts, without any whitespace. For example: '&lt;p&gt;&lt;a&gt;&lt;strong&gt;'."
611
+ msgstr "Liste alle HTML-Tags, die Sie in Auszügen erlauben wollen, ohne Leerzeichen dazwischen. Z.B.: '&lt;p&gt;&lt;a&gt;&lt;strong&gt;'."
612
+
613
+ #: lib/interface.php:1097
614
+ #@ relevanssi
615
+ msgid "Show breakdown of search hits in excerpts:"
616
+ msgstr "Alle Trefferstellen in den Auszügen anzeigen:"
617
+
618
+ #: lib/interface.php:1099
619
+ #@ relevanssi
620
+ msgid "Check this to show more information on where the search hits were made. Requires custom snippets to work."
621
+ msgstr "Zeigt mehr Informationen, an welchen Stellen die Suchbegriffe im Text gefunden wurden. Erfordert benutzerdefinierte Snippets."
622
+
623
+ #: lib/interface.php:1103
624
+ #@ relevanssi
625
+ msgid "The breakdown format:"
626
+ msgstr "Format der Trefferstellen:"
627
+
628
+ #: lib/interface.php:1105
629
+ #, php-format
630
+ #@ relevanssi
631
+ msgid "Use %body%, %title%, %tags% and %comments% to display the number of hits (in different parts of the post), %total% for total hits, %score% to display the document weight and %terms% to show how many hits each search term got. No double quotes (\") allowed!"
632
+ msgstr "Benutzen Sie %body%, %title%, %tags% und %comments% um die Anzahl der Treffen anzuzeigen (in den unterschiedlichen Stellen des Dokuments), %total% für die Gesamte Anzahl an Treffern, %score% für die Gewichtung des Dokuments, %terms% zur Anzeige, wieviele Treffer jeder Suchbegriff erbracht hat. Es sind keine Doppelten Anführungszeichen (\") erlaubt!"
633
+
634
+ #: lib/interface.php:1107
635
+ #@ relevanssi
636
+ msgid "Search hit highlighting"
637
+ msgstr "Suchergebnis hervorheben"
638
+
639
+ #: lib/interface.php:1109
640
+ #@ relevanssi
641
+ msgid "First, choose the type of highlighting used:"
642
+ msgstr "Erstens: Art der Hervorhebung auswählen:"
643
+
644
+ #: lib/interface.php:1112
645
+ #@ relevanssi
646
+ msgid "Highlight query terms in search results:"
647
+ msgstr "Suchbegriffe in den Ergebnissen hervorheben:"
648
+
649
+ #: lib/interface.php:1114
650
+ #@ relevanssi
651
+ msgid "No highlighting"
652
+ msgstr "Keine Hervorhebung"
653
+
654
+ #: lib/interface.php:1118
655
+ #@ relevanssi
656
+ msgid "Text color"
657
+ msgstr "Textfarbe"
658
+
659
+ #: lib/interface.php:1119
660
+ #@ relevanssi
661
+ msgid "Background color"
662
+ msgstr "Hintergrundfarbe"
663
+
664
+ #: lib/interface.php:1120
665
+ #@ relevanssi
666
+ msgid "CSS Style"
667
+ msgstr "CSS-Style"
668
+
669
+ #: lib/interface.php:1121
670
+ #@ relevanssi
671
+ msgid "CSS Class"
672
+ msgstr "CSS-Klasse"
673
+
674
+ #: lib/interface.php:1123
675
+ #@ relevanssi
676
+ msgid "Highlighting isn't available unless you use custom snippets"
677
+ msgstr "Hervorhebung ist ohne Benutzerdefinierte Snippets nicht verfügbar"
678
+
679
+ #: lib/interface.php:1127
680
+ #@ relevanssi
681
+ msgid "Highlight query terms in result titles too:"
682
+ msgstr "Suchbegriffe im Titel ebenfalls hervorheben:"
683
+
684
+ #: lib/interface.php:1133
685
+ #@ relevanssi
686
+ msgid "Highlight query terms in documents from local searches:"
687
+ msgstr "Suchbegriffe in aufgerufenen Dokumenten ebenfalls hervorheben:"
688
+
689
+ #: lib/interface.php:1135
690
+ #@ relevanssi
691
+ msgid "Highlights hits when user opens the post from search results. This is based on HTTP referrer, so if that's blocked, there'll be no highlights."
692
+ msgstr "Hebt die Suchbegriffe hervor, wenn der Besucher ein Dokument aus einem Suchergebnis heraus öffnet. Diese Funktion basiert auf Abfrage des HTTP-Referrers, wenn der blockiert wird, gibt es auch keine Hervorhebung."
693
+
694
+ #: lib/interface.php:1141
695
+ #@ relevanssi
696
+ msgid "Highlight query terms in comments:"
697
+ msgstr "Suchbegriffe in Kommentaren hervorheben:"
698
+
699
+ #: lib/interface.php:1143
700
+ #@ relevanssi
701
+ msgid "Highlights hits in comments when user opens the post from search results."
702
+ msgstr "Hebt die Suchbegriffe auch in den Kommentaren hervor, wenn der Besucher eine Seite aus dem Suchergebnis heraus öffnet."
703
+
704
+ #: lib/interface.php:1147
705
+ #@ relevanssi
706
+ msgid "Uncheck this if you use non-ASCII characters:"
707
+ msgstr "Deaktivieren, wenn Sie nicht-ASCII-Zeichen verwenden."
708
+
709
+ #: lib/interface.php:1149
710
+ #@ relevanssi
711
+ msgid "If you use non-ASCII characters (like Cyrillic alphabet) and the highlights don't work, uncheck this option to make highlights work."
712
+ msgstr "Wenn Sie Nicht-ASCII-Zeichen verwenden (wie z.B. im kyrillischen Alphabet) und die Hervorhebung nicht funktioniert, deaktivieren Sie diese Option bitte."
713
+
714
+ #: lib/interface.php:1154
715
+ #@ relevanssi
716
+ msgid "Then adjust the settings for your chosen type:"
717
+ msgstr "Dann: nehmen Sie die Einstellungen für die gewählte Hervorhebung vor"
718
+
719
+ #: lib/interface.php:1158
720
+ #@ relevanssi
721
+ msgid "Text color for highlights:"
722
+ msgstr "Textfarbe für Hervorhebungen:"
723
+
724
+ #: lib/interface.php:1160
725
+ #: lib/interface.php:1166
726
+ #@ relevanssi
727
+ msgid "Use HTML color codes (#rgb or #rrggbb)"
728
+ msgstr "Bitte HTML-Farbcodes verwenden (#rgb oder #rrggbb)"
729
+
730
+ #: lib/interface.php:1164
731
+ #@ relevanssi
732
+ msgid "Background color for highlights:"
733
+ msgstr "Hintergrundfarbe für Hervorhebungen:"
734
+
735
+ #: lib/interface.php:1170
736
+ #@ relevanssi
737
+ msgid "CSS style for highlights:"
738
+ msgstr "CSS-Style für Hervorhebungen:"
739
+
740
+ #: lib/interface.php:1172
741
+ #@ relevanssi
742
+ msgid "You can use any CSS styling here, style will be inserted with a &lt;span&gt;"
743
+ msgstr "Sie können beliebiges CSS eintragen. Die Styles werden durch ein &lt;span&gt; eingefügt."
744
+
745
+ #: lib/interface.php:1176
746
+ #@ relevanssi
747
+ msgid "CSS class for highlights:"
748
+ msgstr "CSS-Klasse für Hervorhebungen:"
749
+
750
+ #: lib/interface.php:1178
751
+ #@ relevanssi
752
+ msgid "Name a class here, search results will be wrapped in a &lt;span&gt; with the class"
753
+ msgstr "Benennen Sie hier eine CSS-Klasse. Der Suchbegriff wird von einem &lt;span&gt; mit dieser Klasse umschlossen werden."
754
+
755
+ #: lib/interface.php:1185
756
+ #: lib/interface.php:1364
757
+ #@ relevanssi
758
+ msgid "Save the options"
759
+ msgstr "Einstellungen sichern"
760
+
761
+ #: lib/interface.php:1189
762
+ #@ relevanssi
763
+ msgid "Choose post types to index:"
764
+ msgstr "Welche Beitrags-Typen sollen indiziert werden:"
765
+
766
+ #: lib/interface.php:1194
767
+ #@ relevanssi
768
+ msgid "Type"
769
+ msgstr "Typ"
770
+
771
+ #: lib/interface.php:1195
772
+ #: lib/interface.php:1241
773
+ #@ relevanssi
774
+ msgid "Index"
775
+ msgstr "Index"
776
+
777
+ #: lib/interface.php:1196
778
+ #: lib/interface.php:1242
779
+ #@ relevanssi
780
+ msgid "Public?"
781
+ msgstr "Öffentlich?"
782
+
783
+ #: lib/interface.php:1213
784
+ #: lib/interface.php:1256
785
+ #, php-format
786
+ #@ relevanssi
787
+ msgid "%s"
788
+ msgstr "%s"
789
+
790
+ #: lib/interface.php:1214
791
+ #: lib/interface.php:1257
792
+ #@ relevanssi
793
+ msgid "yes"
794
+ msgstr "Ja"
795
+
796
+ #: lib/interface.php:1214
797
+ #: lib/interface.php:1257
798
+ #@ relevanssi
799
+ msgid "no"
800
+ msgstr "Nein"
801
+
802
+ #: lib/interface.php:1235
803
+ #@ relevanssi
804
+ msgid "Choose taxonomies to index:"
805
+ msgstr "Taxonomien für die Indizierung auswählen:"
806
+
807
+ #: lib/interface.php:1240
808
+ #@ relevanssi
809
+ msgid "Taxonomy"
810
+ msgstr "Taxonomie"
811
+
812
+ #: lib/interface.php:1277
813
+ #@ relevanssi
814
+ msgid "If you check a taxonomy here, the terms for that taxonomy are indexed with the posts. If you for example choose \"post_tag\", searching for tags will find all posts that have the tag."
815
+ msgstr "Wenn Sie eine Taxonomie hier aktivieren, werden all ihre Begriffe zusammen mit dem Beitrag indiziert. Wenn Sie z.B. \"post_tag\" auswählen, wird die Suche nach einem Tag auch die Beiträge finden, die diesem Tag zugeordnet sind."
816
+
817
+ #: lib/interface.php:1281
818
+ #@ relevanssi
819
+ msgid "Minimum word length to index"
820
+ msgstr "Mindestlänge von Wörtern im Index"
821
+
822
+ #: lib/interface.php:1283
823
+ #@ relevanssi
824
+ msgid "Words shorter than this number will not be indexed."
825
+ msgstr "Kürzere Wörter werden nicht indiziert."
826
+
827
+ #: lib/interface.php:1289
828
+ #@ relevanssi
829
+ msgid "Expand shortcodes in post content:"
830
+ msgstr "Shortcodes im Beitrags-Inhalt ausführen:"
831
+
832
+ #: lib/interface.php:1291
833
+ #@ relevanssi
834
+ msgid "If checked, Relevanssi will expand shortcodes in post content before indexing. Otherwise shortcodes will be stripped. If you use shortcodes to include dynamic content, Relevanssi will not keep the index updated, the index will reflect the status of the shortcode content at the moment of indexing."
835
+ msgstr "Wenn aktiviert wird Relevanssi die Shortcodes in den Beiträgen ausführen. Z.B. gelangen Bildzuschriften in Galerien dadurch in den Suchindex. Ein nachträgliches aktivieren dieser Option aktualisiert nicht den Suchindex, in dem Fall müssen Sie den Index aktualisieren. "
836
+
837
+ #: lib/interface.php:1297
838
+ #@ relevanssi
839
+ msgid "Index and search your posts' authors:"
840
+ msgstr "Beitrags-Autoren indizieren und suchen:"
841
+
842
+ #: lib/interface.php:1299
843
+ #@ relevanssi
844
+ msgid "If checked, Relevanssi will also index and search the authors of your posts. Author display name will be indexed. Remember to rebuild the index if you change this option!"
845
+ msgstr "Wenn aktiviert wird Relavanssi auch auf den Autorenseiten suchen. Die Namen der Autoren werden dabei indiziert. Bitte denken Sie daran den Index neu aufzubauen, wenn Sie diese Option aktivieren."
846
+
847
+ #: lib/interface.php:1303
848
+ #@ relevanssi
849
+ msgid "Index and search post excerpts:"
850
+ msgstr "Auszüge indizieren und durchsuchen:"
851
+
852
+ #: lib/interface.php:1305
853
+ #@ relevanssi
854
+ msgid "If checked, Relevanssi will also index and search the excerpts of your posts.Remember to rebuild the index if you change this option!"
855
+ msgstr "Wenn aktiviert wird Relavanssi auch auf den Auszügen Ihrer Beiträge. Bitte denken Sie daran den Index neu aufzubauen, wenn Sie diese Option aktivieren."
856
+
857
+ #: lib/interface.php:1309
858
+ #@ relevanssi
859
+ msgid "Index and search these comments:"
860
+ msgstr "Diese Kommentaren indizieren und durchsuchen:"
861
+
862
+ #: lib/interface.php:1311
863
+ #@ relevanssi
864
+ msgid "none"
865
+ msgstr "keine"
866
+
867
+ #: lib/interface.php:1312
868
+ #@ relevanssi
869
+ msgid "normal"
870
+ msgstr "Normal"
871
+
872
+ #: lib/interface.php:1313
873
+ #@ relevanssi
874
+ msgid "all"
875
+ msgstr "Alle"
876
+
877
+ #: lib/interface.php:1315
878
+ #@ relevanssi
879
+ msgid "Relevanssi will index and search ALL (all comments including track- &amp; pingbacks and custom comment types), NONE (no comments) or NORMAL (manually posted comments on your blog).<br />Remember to rebuild the index if you change this option!"
880
+ msgstr "Relevanssi wird ALLE (alle Kommentare einschließlich Track- &amp; Pingbacks und Benutzerdefinierte Kommentartype), KEINE (Keine Kommentare) der NORMAL (von Besuchern gepostete Kommentare).<br />Bitte denken Sie daran den Index neu aufzubauen, wenn Sie diese Option aktivieren."
881
+
882
+ #: lib/interface.php:1319
883
+ #@ relevanssi
884
+ msgid "Custom fields to index:"
885
+ msgstr "Benutzerdefinierte Felder indizieren:"
886
+
887
+ #: lib/interface.php:1321
888
+ #@ relevanssi
889
+ msgid "A comma-separated list of custom fields to include in the index. Set to 'visible' to index all visible custom fields and to 'all' to index all custom fields, also those starting with a '_' character."
890
+ msgstr "Eine Komma-getrennte Liste von Benutzerdefinierten Feldern die in den Index aufgenommen werden sollen. Wählen Sie 'Sichtbar' um alle sichtbaren Benutzerd. Felder aufzunehmen, oder 'Alle' um auch solche aufzunehmen, die mit einem '_' anfangen."
891
+
892
+ #: lib/interface.php:1331
893
+ #@ relevanssi
894
+ msgid "Save indexing options and build the index"
895
+ msgstr "Einstellungen sichern und Index aufbauen"
896
+
897
+ #: lib/interface.php:1337
898
+ #@ relevanssi
899
+ msgid ""
900
+ "Warning: In many cases caching is not useful, and in some cases can be even harmful. Do not\n"
901
+ "\tactivate cache unless you have a good reason to do so."
902
+ msgstr "Warnung: In vielen Fällen ist das Caching nicht sehr vorteilhaft und manchen Fälle sogar nachteilig. Aktivieren Sie den Cache bitte nicht ohne einen sehr guten Grund!"
903
+
904
+ #: lib/interface.php:1340
905
+ #@ relevanssi
906
+ msgid "Enable result and excerpt caching:"
907
+ msgstr "Ergebnis- und Auszugs-Cache aktivieren:"
908
+
909
+ #: lib/interface.php:1342
910
+ #@ relevanssi
911
+ msgid "If checked, Relevanssi will cache search results and post excerpts."
912
+ msgstr "Wenn aktiviert wird Relevanssi Suchergebnisse und Auszüge cachen."
913
+
914
+ #: lib/interface.php:1346
915
+ #@ relevanssi
916
+ msgid "Cache expire (in seconds):"
917
+ msgstr "Cache läuft ab (in Sekunden):"
918
+
919
+ #: lib/interface.php:1348
920
+ #@ relevanssi
921
+ msgid "86400 = day"
922
+ msgstr "86400 = 1 Tag"
923
+
924
+ #: lib/interface.php:1352
925
+ #@ relevanssi
926
+ msgid "Entries in the cache"
927
+ msgstr "Einträge im Cache"
928
+
929
+ #: lib/interface.php:1356
930
+ #@ relevanssi
931
+ msgid "Clear all caches"
932
+ msgstr "Cache löschen"
933
+
934
+ #: lib/interface.php:1362
935
+ #@ relevanssi
936
+ msgid "Add synonyms here in 'key = value' format. When searching with the OR operator, any search of 'key' will be expanded to include 'value' as well. Using phrases is possible. The key-value pairs work in one direction only, but you can of course repeat the same pair reversed."
937
+ msgstr "Synonyme im 'key = value' Format hinzufügen. Wenn mit dem OR-Operator gesucht wird, wird jede Suche nach 'key' auch auf 'value' ausgedehnt. Die Benutzung von Sätzen oder Phrasen ist auch möglich. Die Key-Value-Paare funktionieren nur in eine Richtung, aber Sie können natürlich weitere Paare mit vertauschten Werten eintragen."
938
+
939
+ #: lib/interface.php:1385
940
+ #@ relevanssi
941
+ msgid "<p>Enter a word here to add it to the list of stopwords. The word will automatically be removed from the index, so re-indexing is not necessary. You can enter many words at the same time, separate words with commas.</p>"
942
+ msgstr "<p>Tragen Sie ein Wort ein um der Liste der Stoppwörter anzufügen. Das Wort wird automatisch aus dem Index gelöscht, daher brauchen Sie den Index nicht erneut aufzubauen. Sie können mehrere Wörter auf einmal durch Kommata getrennt eintragen.</p>"
943
+
944
+ #: lib/interface.php:1387
945
+ #@ relevanssi
946
+ msgid "Stopword(s) to add: "
947
+ msgstr "Stoppwörter hinzufügen:"
948
+
949
+ #: lib/interface.php:1388
950
+ #@ relevanssi
951
+ msgid "Add"
952
+ msgstr "Hinzufügen"
953
+
954
+ #: lib/interface.php:1391
955
+ #@ relevanssi
956
+ msgid "<p>Here's a list of stopwords in the database. Click a word to remove it from stopwords. Removing stopwords won't automatically return them to index, so you need to re-index all posts after removing stopwords to get those words back to index."
957
+ msgstr "Liste der Stoppwörter in der Datenbank. Klicken Sie auf ein Wort um es aus der Stoppwort-Liste zu entfernen. Das Entfernen bringt die Stoppwörter nicht automatisch zurück in den Index, Sie müssen daher nach dem Entfernen der Stoppwörter den Index neu aufbauen.."
958
+
959
+ #: lib/interface.php:1417
960
+ #@ relevanssi
961
+ msgid "Remove all stopwords"
962
+ msgstr "Alle Stoppwörter entfernen"
963
+
964
+ #: lib/interface.php:1423
965
+ #@ relevanssi
966
+ msgid "Here's a list of stopwords you can use to export the stopwords to another blog."
967
+ msgstr "Eine Liste von Stoppwörtern zum Export in einen anderen Blog."
968
+
969
+ #: lib/uninstall.php:41
970
+ #@ relevanssi
971
+ msgid "Data wiped clean, you can now delete the plugin."
972
+ msgstr "Alle Daten sauber gelöscht. Sie können das Plugin jetzt löschen."
973
+
974
+ #: relevanssi.php:296
975
+ #@ relevanssi
976
+ msgid "Tag weight:"
977
+ msgstr "Schlüsselwort Gewichtung:"
978
+
979
+ #: relevanssi.php:311
980
+ #@ relevanssi
981
+ msgid "Category weight:"
982
+ msgstr "Kategorie Gewichtung:"
983
+
984
+ #: lib/interface.php:1004
985
+ #@ relevanssi
986
+ msgid "WPML/Polylang compatibility"
987
+ msgstr "WPML/Polylang Kompatibilität"
988
+
relevanssi-fr_FR.mo CHANGED
Binary file
relevanssi-fr_FR.po CHANGED
@@ -2,8 +2,8 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Relevanssi v1.4\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2012-12-18 10:05+0100\n"
6
- "PO-Revision-Date: 2012-12-18 10:07+0100\n"
7
  "Last-Translator: Li-An <lian00@gmail.com>\n"
8
  "Language-Team: \n"
9
  "Language: fr_FR\n"
@@ -15,16 +15,16 @@ msgstr ""
15
  "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;"
16
  "_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-Textdomain-Support: yes\n"
18
- "X-Generator: Poedit 1.5.4\n"
19
  "X-Poedit-SearchPath-0: .\n"
20
 
21
  # @ relevanssi
22
- #: relevanssi.php:267
23
  msgid "Tag weight:"
24
  msgstr "Poids des mots-clef:"
25
 
26
  # @ relevanssi
27
- #: relevanssi.php:282
28
  msgid "Category weight:"
29
  msgstr "Poids des catégories:"
30
 
@@ -34,12 +34,12 @@ msgid "There is no excerpt because this is a protected post."
34
  msgstr "Il n'y a aucun extrait car ce billet est protégé."
35
 
36
  # @ relevanssi
37
- #: lib/indexing.php:83
38
  msgid "Indexing complete!"
39
  msgstr "Indexation complète !"
40
 
41
  # @ default
42
- #: lib/init.php:41
43
  #, php-format
44
  msgid ""
45
  "Relevanssi needs attention: Remember to build the index (you can do it at <a "
@@ -51,7 +51,7 @@ msgstr ""
51
  "\t\t\t page de réglages</a>), sinon la recherche ne fonctionnera pas."
52
 
53
  # @ relevanssi
54
- #: lib/init.php:85 lib/init.php:86
55
  msgid "User searches"
56
  msgstr "Recherches par les utilisateurs"
57
 
@@ -76,7 +76,7 @@ msgid "Relevanssi User Searches"
76
  msgstr "Recherches Relevanssi par les utilisateurs"
77
 
78
  # @ relevanssi
79
- #: lib/interface.php:333
80
  #, php-format
81
  msgid ""
82
  "<div id='message' class='updated fade'><p>Successfully added %d/%d terms to "
@@ -86,7 +86,7 @@ msgstr ""
86
  "stopwords!</p></div>"
87
 
88
  # @ relevanssi
89
- #: lib/interface.php:340
90
  #, php-format
91
  msgid ""
92
  "<div id='message' class='updated fade'><p>Term '%s' added to stopwords!</p></"
@@ -96,7 +96,7 @@ msgstr ""
96
  "p></div>"
97
 
98
  # @ relevanssi
99
- #: lib/interface.php:343
100
  #, php-format
101
  msgid ""
102
  "<div id='message' class='updated fade'><p>Couldn't add term '%s' to "
@@ -106,7 +106,7 @@ msgstr ""
106
  "stopwords!</p></div>"
107
 
108
  # @ relevanssi
109
- #: lib/interface.php:372
110
  msgid ""
111
  "<div id='message' class='updated fade'><p>Stopwords removed! Remember to re-"
112
  "index.</p></div>"
@@ -115,7 +115,7 @@ msgstr ""
115
  "de réindexer.</p></div>"
116
 
117
  # @ relevanssi
118
- #: lib/interface.php:382
119
  #, php-format
120
  msgid ""
121
  "<div id='message' class='updated fade'><p>Term '%s' removed from stopwords! "
@@ -125,7 +125,7 @@ msgstr ""
125
  "Réindexer pour le récupérer dans l'index.</p></div>"
126
 
127
  # @ relevanssi
128
- #: lib/interface.php:385
129
  #, php-format
130
  msgid ""
131
  "<div id='message' class='updated fade'><p>Couldn't remove term '%s' from "
@@ -135,12 +135,12 @@ msgstr ""
135
  "stopwords !</p></div>"
136
 
137
  # @ relevanssi
138
- #: lib/interface.php:396
139
  msgid "25 most common words in the index"
140
  msgstr "Les 25 mots des plus fréquents de l'index"
141
 
142
  # @ relevanssi
143
- #: lib/interface.php:398
144
  msgid ""
145
  "These words are excellent stopword material. A word that appears in most of "
146
  "the posts in the database is quite pointless when searching. This is also an "
@@ -157,24 +157,24 @@ msgstr ""
157
  "retiré de l'index aussi est-il inutile de reconstruire l'index."
158
 
159
  # @ relevanssi
160
- #: lib/interface.php:424
161
  msgid "Add to stopwords"
162
  msgstr "Ajouter aux stopwords."
163
 
164
- #: lib/interface.php:435
165
  msgid "Total Searches"
166
  msgstr "Nombre de recherches total"
167
 
168
- #: lib/interface.php:438
169
  msgid "Totals"
170
  msgstr "Totaux"
171
 
172
- #: lib/interface.php:443
173
  msgid "Common Queries"
174
  msgstr "Requêtes en commun"
175
 
176
  # @ relevanssi
177
- #: lib/interface.php:445
178
  msgid ""
179
  "Here you can see the 20 most common user search queries, how many times "
180
  "those \n"
@@ -186,145 +186,130 @@ msgstr ""
186
  "pour ces requêtes."
187
 
188
  # @ relevanssi
189
- #: lib/interface.php:451 lib/interface.php:467 lib/interface.php:499
190
  msgid "Today and yesterday"
191
  msgstr "Aujourd'hui et hier"
192
 
193
  # @ relevanssi
194
- #: lib/interface.php:455 lib/interface.php:471 lib/interface.php:500
195
  msgid "Last 7 days"
196
  msgstr "Sept derniers jours"
197
 
198
  # @ relevanssi
199
- #: lib/interface.php:459 lib/interface.php:475 lib/interface.php:501
200
  msgid "Last 30 days"
201
  msgstr "Trente derniers jours"
202
 
203
  # @ relevanssi
204
- #: lib/interface.php:464
205
  msgid "Unsuccessful Queries"
206
  msgstr "Requêtes sans résultat"
207
 
208
- #: lib/interface.php:482
209
  msgid "Reset Logs"
210
  msgstr "Remettre à zéro les logs"
211
 
212
- #: lib/interface.php:485
213
  #, php-format
214
  msgid "To reset the logs, type \"reset\" into the box here %s and click %s"
215
  msgstr ""
216
  "Pour remettre à zéro les logs, tapez \"reset\" dans le champ ici %s et "
217
  "cliquez %s"
218
 
219
- #: lib/interface.php:502
220
  msgid "Forever"
221
  msgstr "Pour toujours"
222
 
223
- #: lib/interface.php:504
224
  msgid "When"
225
  msgstr "Quand"
226
 
227
  # @ relevanssi
228
- #: lib/interface.php:504
229
  msgid "Searches"
230
  msgstr "Recherches"
231
 
232
- #: lib/interface.php:534
233
  msgid "Query"
234
  msgstr "Requête"
235
 
236
- #: lib/interface.php:534
237
  msgid "Hits"
238
  msgstr "Hits"
239
 
240
  # @ relevanssi
241
- #: lib/interface.php:842 lib/interface.php:887
242
  msgid "Basic options"
243
  msgstr "Options basiques"
244
 
245
- #: lib/interface.php:843 lib/interface.php:953
246
  msgid "Weights"
247
  msgstr "Poids"
248
 
249
  # @ relevanssi
250
- #: lib/interface.php:844 lib/interface.php:1008
251
  msgid "Logs"
252
  msgstr "Logs"
253
 
254
  # @ relevanssi
255
- #: lib/interface.php:845 lib/interface.php:1037
256
  msgid "Exclusions and restrictions"
257
  msgstr "Exclusions et restrictions"
258
 
259
  # @ relevanssi
260
- #: lib/interface.php:846
261
  msgid "Custom excerpts"
262
  msgstr "Extraits personnalisés"
263
 
264
  # @ relevanssi
265
- #: lib/interface.php:847
266
  msgid "Highlighting search results"
267
  msgstr "Mise en évidence des résultats de recherche"
268
 
269
  # @ relevanssi
270
- #: lib/interface.php:848 lib/interface.php:1183
271
  msgid "Indexing options"
272
  msgstr "Options d'indexation"
273
 
274
  # @ relevanssi
275
- #: lib/interface.php:849 lib/interface.php:1301
276
  msgid "Caching"
277
  msgstr "Mise en cache"
278
 
279
  # @ relevanssi
280
- #: lib/interface.php:850 lib/interface.php:1324
281
  msgid "Synonyms"
282
  msgstr "Synonymes"
283
 
284
  # @ relevanssi
285
- #: lib/interface.php:851 lib/interface.php:1332
286
  msgid "Stopwords"
287
  msgstr "Stopwords"
288
 
289
- #: lib/interface.php:854
290
  msgid "Import/export options"
291
  msgstr "Import/export des options"
292
 
293
- #: lib/interface.php:857
294
  msgid "Buy Relevanssi Premium"
295
  msgstr "Achetez Relevanssi Premium"
296
 
297
  # @ relevanssi
298
- #: lib/interface.php:862
299
  msgid "Quick tools"
300
  msgstr "Outils rapides"
301
 
302
  # @ relevanssi
303
- #: lib/interface.php:864
304
- msgid "Save options"
305
- msgstr "Sauvegarder les options"
306
-
307
- # @ relevanssi
308
- #: lib/interface.php:865
309
- msgid "Build the index"
310
- msgstr "Construire l'index"
311
-
312
- # @ relevanssi
313
- #: lib/interface.php:866 lib/interface.php:1299
314
- msgid "Continue indexing"
315
- msgstr "Continuer l'indexation"
316
-
317
- # @ relevanssi
318
- #: lib/interface.php:866
319
  msgid "add"
320
  msgstr "ajouter"
321
 
322
  # @ relevanssi
323
- #: lib/interface.php:866
324
  msgid "documents."
325
  msgstr "documents."
326
 
327
- #: lib/interface.php:870
328
  msgid ""
329
  "WARNING: You've chosen no post types to index. Nothing will be indexed. <a "
330
  "href='#indexing'>Choose some post types to index</a>."
@@ -333,7 +318,7 @@ msgstr ""
333
  "indexé.<a href='#indexing'>Choisissez les types de billet à indexer</a>."
334
 
335
  # @ relevanssi
336
- #: lib/interface.php:874
337
  msgid ""
338
  "Use 'Build the index' to build the index with current <a "
339
  "href='#indexing'>indexing options</a>. If you can't finish indexing with one "
@@ -350,20 +335,6 @@ msgstr ""
350
  "passe. Regardez 'État de l'indexation' ci-dessous pour déterminer le nombre "
351
  "de documents actuellement pris en compte dans l'indexation."
352
 
353
- #: lib/interface.php:876
354
- msgid ""
355
- "If Relevanssi doesn't index anything and you have upgraded from a 2.x "
356
- "version, it's likely the changes in\n"
357
- "\tthe database structure haven't gone through in the upgrade. In that case "
358
- "all you need to do is to deactivate the\n"
359
- "\tplugin and then activate it again."
360
- msgstr ""
361
- "Si Relevanssi n'indexe plus rien et que vous avez upgradé à partir d'une "
362
- "version 2.x, c'est probablement parce que les changements dans \n"
363
- "\tla structure de table de données n'ont pas été pris en compte lors de la "
364
- "mise à jour. Dans ce cas là, vous n'avez qu'à désactiver le \n"
365
- "\tplugin et le réactiver ensuite."
366
-
367
  # @ relevanssi
368
  #: lib/interface.php:880
369
  msgid "State of the Index"
@@ -566,8 +537,8 @@ msgstr "Text de commentaire"
566
 
567
  # @ relevanssi
568
  #: lib/interface.php:1000
569
- msgid "WPML compatibility"
570
- msgstr "Compatibilité WPML"
571
 
572
  # @ relevanssi
573
  #: lib/interface.php:1002
@@ -971,11 +942,6 @@ msgstr ""
971
  "Nommez une classe ici. Les résultats seront encadrés dans un &lt;span&gt; "
972
  "avec cette classe"
973
 
974
- # @ relevanssi
975
- #: lib/interface.php:1181 lib/interface.php:1330
976
- msgid "Save the options"
977
- msgstr "Sauvegarder les options"
978
-
979
  # @ relevanssi
980
  #: lib/interface.php:1185
981
  msgid "Choose post types to index:"
@@ -985,45 +951,65 @@ msgstr "Veuillez choisir les types de billets personnalisés à indexer:"
985
  msgid "Type"
986
  msgstr "Type"
987
 
988
- #: lib/interface.php:1191
989
  msgid "Index"
990
  msgstr "Index"
991
 
992
- #: lib/interface.php:1192
993
  msgid "Public?"
994
  msgstr "Publique ?"
995
 
996
- #: lib/interface.php:1209
997
  #, php-format
998
  msgid "%s"
999
  msgstr "%s"
1000
 
1001
- #: lib/interface.php:1210
1002
  msgid "yes"
1003
  msgstr "oui"
1004
 
1005
  # @ relevanssi
1006
- #: lib/interface.php:1210
1007
  msgid "no"
1008
  msgstr "non"
1009
 
1010
  # @ relevanssi
1011
  #: lib/interface.php:1231
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1012
  msgid "Minimum word length to index"
1013
  msgstr "Longueur minimum des mots à indexer"
1014
 
1015
  # @ relevanssi
1016
- #: lib/interface.php:1233
1017
  msgid "Words shorter than this number will not be indexed."
1018
  msgstr "Les mots plus courts que ce nombre ne seront pas indexés."
1019
 
1020
  # @ relevanssi
1021
- #: lib/interface.php:1239
1022
  msgid "Expand shortcodes in post content:"
1023
  msgstr "Traduire les shortcodes dans le contenu des billets:"
1024
 
1025
  # @ relevanssi
1026
- #: lib/interface.php:1241
1027
  msgid ""
1028
  "If checked, Relevanssi will expand shortcodes in post content before "
1029
  "indexing. Otherwise shortcodes will be stripped. If you use shortcodes to "
@@ -1038,43 +1024,12 @@ msgstr ""
1038
  "shortcode au moment de l'indexation."
1039
 
1040
  # @ relevanssi
1041
- #: lib/interface.php:1245
1042
- msgid "Index and search your posts' tags:"
1043
- msgstr "Indexer et rechercher les tags de vos billets:"
1044
-
1045
- # @ relevanssi
1046
- #: lib/interface.php:1247
1047
- msgid ""
1048
- "If checked, Relevanssi will also index and search the tags of your posts. "
1049
- "Remember to rebuild the index if you change this option!"
1050
- msgstr ""
1051
- "Si coché, Relevanssi indexera aussi et cherchera dans les mots-clef de vos "
1052
- "billets. N'oubliez pas de reconstruire l'index si vous modifiez cette "
1053
- "option !"
1054
-
1055
- # @ relevanssi
1056
- #: lib/interface.php:1251
1057
- msgid "Index and search your posts' categories:"
1058
- msgstr "Indexer et rechercher vos catégories de billets:"
1059
-
1060
- # @ relevanssi
1061
- #: lib/interface.php:1253
1062
- msgid ""
1063
- "If checked, Relevanssi will also index and search the categories of your "
1064
- "posts. Category titles will pass through 'single_cat_title' filter. Remember "
1065
- "to rebuild the index if you change this option!"
1066
- msgstr ""
1067
- "Si coché, Relevanssi indexera aussi les catégories de vos billets. Les "
1068
- "titres de catégories passeront à travers le filtre 'single_cat_title. "
1069
- "N'oubliez pas de reconstruire l'index si vous changez cette option !"
1070
-
1071
- # @ relevanssi
1072
- #: lib/interface.php:1257
1073
  msgid "Index and search your posts' authors:"
1074
  msgstr "Indexer et rechercher les auteurs des billets:"
1075
 
1076
  # @ relevanssi
1077
- #: lib/interface.php:1259
1078
  msgid ""
1079
  "If checked, Relevanssi will also index and search the authors of your posts. "
1080
  "Author display name will be indexed. Remember to rebuild the index if you "
@@ -1085,12 +1040,12 @@ msgstr ""
1085
  "reconstruire l'index si vous modifiez cette option !"
1086
 
1087
  # @ relevanssi
1088
- #: lib/interface.php:1263
1089
  msgid "Index and search post excerpts:"
1090
  msgstr "Indexer et rechercher dans les extraits de billets:"
1091
 
1092
  # @ relevanssi
1093
- #: lib/interface.php:1265
1094
  msgid ""
1095
  "If checked, Relevanssi will also index and search the excerpts of your posts."
1096
  "Remember to rebuild the index if you change this option!"
@@ -1099,27 +1054,27 @@ msgstr ""
1099
  "N'oubliez pas de reconstruire l'index si vous modifiez cette option !"
1100
 
1101
  # @ relevanssi
1102
- #: lib/interface.php:1269
1103
  msgid "Index and search these comments:"
1104
  msgstr "Indexer et rechercher ces commentaires:"
1105
 
1106
  # @ relevanssi
1107
- #: lib/interface.php:1271
1108
  msgid "none"
1109
  msgstr "aucun"
1110
 
1111
  # @ relevanssi
1112
- #: lib/interface.php:1272
1113
  msgid "normal"
1114
  msgstr "normal"
1115
 
1116
  # @ relevanssi
1117
- #: lib/interface.php:1273
1118
  msgid "all"
1119
  msgstr "tout"
1120
 
1121
  # @ relevanssi
1122
- #: lib/interface.php:1275
1123
  msgid ""
1124
  "Relevanssi will index and search ALL (all comments including track- &amp; "
1125
  "pingbacks and custom comment types), NONE (no comments) or NORMAL (manually "
@@ -1132,11 +1087,11 @@ msgstr ""
1132
  "<br />N'oubliez pas de reconstruire l'index si vous modifiez cette option !"
1133
 
1134
  # @ relevanssi
1135
- #: lib/interface.php:1279
1136
  msgid "Custom fields to index:"
1137
  msgstr "Champs personnalisés à indexer:"
1138
 
1139
- #: lib/interface.php:1281
1140
  msgid ""
1141
  "A comma-separated list of custom fields to include in the index. Set to "
1142
  "'visible' to index all visible custom fields and to 'all' to index all "
@@ -1148,25 +1103,7 @@ msgstr ""
1148
  "commençant par le caractère '_' ."
1149
 
1150
  # @ relevanssi
1151
- #: lib/interface.php:1285
1152
- msgid "Custom taxonomies to index:"
1153
- msgstr "Taxonomie personnalisée à indexer:"
1154
-
1155
- # @ relevanssi
1156
- #: lib/interface.php:1287
1157
- msgid ""
1158
- "A comma-separated list of custom taxonomy names to include in the index."
1159
- msgstr ""
1160
- "Une liste de noms de taxonomies personnalisées à inclure dans l'index, "
1161
- "séparés par une virgule."
1162
-
1163
- # @ relevanssi
1164
- #: lib/interface.php:1297
1165
- msgid "Save indexing options and build the index"
1166
- msgstr "Sauvegarder les options d'indexation et construire l'index"
1167
-
1168
- # @ relevanssi
1169
- #: lib/interface.php:1303
1170
  msgid ""
1171
  "Warning: In many cases caching is not useful, and in some cases can be even "
1172
  "harmful. Do not\n"
@@ -1178,38 +1115,33 @@ msgstr ""
1178
  "\\\tactiver le cache à moins que vous n'ayez une bonne raison."
1179
 
1180
  # @ relevanssi
1181
- #: lib/interface.php:1306
1182
  msgid "Enable result and excerpt caching:"
1183
  msgstr "Autoriser la mise en cache des résultats et d'extraits:"
1184
 
1185
  # @ relevanssi
1186
- #: lib/interface.php:1308
1187
  msgid "If checked, Relevanssi will cache search results and post excerpts."
1188
  msgstr ""
1189
  "Si coché, Relevanssi mettra en cache les résultats et extraits de billets."
1190
 
1191
  # @ relevanssi
1192
- #: lib/interface.php:1312
1193
  msgid "Cache expire (in seconds):"
1194
  msgstr "Expiration du coche (en secondes):"
1195
 
1196
  # @ relevanssi
1197
- #: lib/interface.php:1314
1198
  msgid "86400 = day"
1199
  msgstr "86400 = jour"
1200
 
1201
  # @ relevanssi
1202
- #: lib/interface.php:1318
1203
  msgid "Entries in the cache"
1204
  msgstr "Entrées dans le cache"
1205
 
1206
  # @ relevanssi
1207
- #: lib/interface.php:1322
1208
- msgid "Clear all caches"
1209
- msgstr "Nettoyer tous les caches"
1210
-
1211
- # @ relevanssi
1212
- #: lib/interface.php:1328
1213
  msgid ""
1214
  "Add synonyms here in 'key = value' format. When searching with the OR "
1215
  "operator, any search of 'key' will be expanded to include 'value' as well. "
@@ -1223,7 +1155,7 @@ msgstr ""
1223
  "répéter la même clef à l'envers."
1224
 
1225
  # @ relevanssi
1226
- #: lib/interface.php:1351
1227
  msgid ""
1228
  "<p>Enter a word here to add it to the list of stopwords. The word will "
1229
  "automatically be removed from the index, so re-indexing is not necessary. "
@@ -1235,17 +1167,12 @@ msgstr ""
1235
  "une virgule.</p>"
1236
 
1237
  # @ relevanssi
1238
- #: lib/interface.php:1353
1239
  msgid "Stopword(s) to add: "
1240
  msgstr "Stopword(s) à ajouter: "
1241
 
1242
  # @ relevanssi
1243
- #: lib/interface.php:1354
1244
- msgid "Add"
1245
- msgstr "Ajouter"
1246
-
1247
- # @ relevanssi
1248
- #: lib/interface.php:1357
1249
  msgid ""
1250
  "<p>Here's a list of stopwords in the database. Click a word to remove it "
1251
  "from stopwords. Removing stopwords won't automatically return them to index, "
@@ -1258,12 +1185,7 @@ msgstr ""
1258
  "les billet après retrait de stopwords pour les réinjecter dans l'index."
1259
 
1260
  # @ relevanssi
1261
- #: lib/interface.php:1383
1262
- msgid "Remove all stopwords"
1263
- msgstr "Retirer tous les stopwords"
1264
-
1265
- # @ relevanssi
1266
- #: lib/interface.php:1389
1267
  msgid ""
1268
  "Here's a list of stopwords you can use to export the stopwords to another "
1269
  "blog."
@@ -1274,12 +1196,6 @@ msgstr ""
1274
  "les billet après retrait de stopwords pour les réinjecter dans l'index."
1275
 
1276
  # @ relevanssi
1277
- #: lib/uninstall.php:39
1278
  msgid "Data wiped clean, you can now delete the plugin."
1279
  msgstr "Données effacées, vous pouvez maintenant supprimer le plugin."
1280
-
1281
- #~ msgid "Privacy policy"
1282
- #~ msgstr "Règles de confidentialité"
1283
-
1284
- #~ msgid "Hide these messages"
1285
- #~ msgstr "Cacher ces messages"
2
  msgstr ""
3
  "Project-Id-Version: Relevanssi v1.4\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2013-12-10 18:14+0100\n"
6
+ "PO-Revision-Date: 2013-12-10 18:19+0100\n"
7
  "Last-Translator: Li-An <lian00@gmail.com>\n"
8
  "Language-Team: \n"
9
  "Language: fr_FR\n"
15
  "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;"
16
  "_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-Textdomain-Support: yes\n"
18
+ "X-Generator: Poedit 1.6.2\n"
19
  "X-Poedit-SearchPath-0: .\n"
20
 
21
  # @ relevanssi
22
+ #: relevanssi.php:297
23
  msgid "Tag weight:"
24
  msgstr "Poids des mots-clef:"
25
 
26
  # @ relevanssi
27
+ #: relevanssi.php:312
28
  msgid "Category weight:"
29
  msgstr "Poids des catégories:"
30
 
34
  msgstr "Il n'y a aucun extrait car ce billet est protégé."
35
 
36
  # @ relevanssi
37
+ #: lib/indexing.php:109
38
  msgid "Indexing complete!"
39
  msgstr "Indexation complète !"
40
 
41
  # @ default
42
+ #: lib/init.php:40
43
  #, php-format
44
  msgid ""
45
  "Relevanssi needs attention: Remember to build the index (you can do it at <a "
51
  "\t\t\t page de réglages</a>), sinon la recherche ne fonctionnera pas."
52
 
53
  # @ relevanssi
54
+ #: lib/init.php:84 lib/init.php:85
55
  msgid "User searches"
56
  msgstr "Recherches par les utilisateurs"
57
 
76
  msgstr "Recherches Relevanssi par les utilisateurs"
77
 
78
  # @ relevanssi
79
+ #: lib/interface.php:335
80
  #, php-format
81
  msgid ""
82
  "<div id='message' class='updated fade'><p>Successfully added %d/%d terms to "
86
  "stopwords!</p></div>"
87
 
88
  # @ relevanssi
89
+ #: lib/interface.php:342
90
  #, php-format
91
  msgid ""
92
  "<div id='message' class='updated fade'><p>Term '%s' added to stopwords!</p></"
96
  "p></div>"
97
 
98
  # @ relevanssi
99
+ #: lib/interface.php:345
100
  #, php-format
101
  msgid ""
102
  "<div id='message' class='updated fade'><p>Couldn't add term '%s' to "
106
  "stopwords!</p></div>"
107
 
108
  # @ relevanssi
109
+ #: lib/interface.php:374
110
  msgid ""
111
  "<div id='message' class='updated fade'><p>Stopwords removed! Remember to re-"
112
  "index.</p></div>"
115
  "de réindexer.</p></div>"
116
 
117
  # @ relevanssi
118
+ #: lib/interface.php:384
119
  #, php-format
120
  msgid ""
121
  "<div id='message' class='updated fade'><p>Term '%s' removed from stopwords! "
125
  "Réindexer pour le récupérer dans l'index.</p></div>"
126
 
127
  # @ relevanssi
128
+ #: lib/interface.php:387
129
  #, php-format
130
  msgid ""
131
  "<div id='message' class='updated fade'><p>Couldn't remove term '%s' from "
135
  "stopwords !</p></div>"
136
 
137
  # @ relevanssi
138
+ #: lib/interface.php:398
139
  msgid "25 most common words in the index"
140
  msgstr "Les 25 mots des plus fréquents de l'index"
141
 
142
  # @ relevanssi
143
+ #: lib/interface.php:400
144
  msgid ""
145
  "These words are excellent stopword material. A word that appears in most of "
146
  "the posts in the database is quite pointless when searching. This is also an "
157
  "retiré de l'index aussi est-il inutile de reconstruire l'index."
158
 
159
  # @ relevanssi
160
+ #: lib/interface.php:426
161
  msgid "Add to stopwords"
162
  msgstr "Ajouter aux stopwords."
163
 
164
+ #: lib/interface.php:437
165
  msgid "Total Searches"
166
  msgstr "Nombre de recherches total"
167
 
168
+ #: lib/interface.php:440
169
  msgid "Totals"
170
  msgstr "Totaux"
171
 
172
+ #: lib/interface.php:445
173
  msgid "Common Queries"
174
  msgstr "Requêtes en commun"
175
 
176
  # @ relevanssi
177
+ #: lib/interface.php:447
178
  msgid ""
179
  "Here you can see the 20 most common user search queries, how many times "
180
  "those \n"
186
  "pour ces requêtes."
187
 
188
  # @ relevanssi
189
+ #: lib/interface.php:453 lib/interface.php:469 lib/interface.php:501
190
  msgid "Today and yesterday"
191
  msgstr "Aujourd'hui et hier"
192
 
193
  # @ relevanssi
194
+ #: lib/interface.php:457 lib/interface.php:473 lib/interface.php:502
195
  msgid "Last 7 days"
196
  msgstr "Sept derniers jours"
197
 
198
  # @ relevanssi
199
+ #: lib/interface.php:461 lib/interface.php:477 lib/interface.php:503
200
  msgid "Last 30 days"
201
  msgstr "Trente derniers jours"
202
 
203
  # @ relevanssi
204
+ #: lib/interface.php:466
205
  msgid "Unsuccessful Queries"
206
  msgstr "Requêtes sans résultat"
207
 
208
+ #: lib/interface.php:484
209
  msgid "Reset Logs"
210
  msgstr "Remettre à zéro les logs"
211
 
212
+ #: lib/interface.php:487
213
  #, php-format
214
  msgid "To reset the logs, type \"reset\" into the box here %s and click %s"
215
  msgstr ""
216
  "Pour remettre à zéro les logs, tapez \"reset\" dans le champ ici %s et "
217
  "cliquez %s"
218
 
219
+ #: lib/interface.php:504
220
  msgid "Forever"
221
  msgstr "Pour toujours"
222
 
223
+ #: lib/interface.php:506
224
  msgid "When"
225
  msgstr "Quand"
226
 
227
  # @ relevanssi
228
+ #: lib/interface.php:506
229
  msgid "Searches"
230
  msgstr "Recherches"
231
 
232
+ #: lib/interface.php:536
233
  msgid "Query"
234
  msgstr "Requête"
235
 
236
+ #: lib/interface.php:536
237
  msgid "Hits"
238
  msgstr "Hits"
239
 
240
  # @ relevanssi
241
+ #: lib/interface.php:846 lib/interface.php:887
242
  msgid "Basic options"
243
  msgstr "Options basiques"
244
 
245
+ #: lib/interface.php:847 lib/interface.php:953
246
  msgid "Weights"
247
  msgstr "Poids"
248
 
249
  # @ relevanssi
250
+ #: lib/interface.php:848 lib/interface.php:1008
251
  msgid "Logs"
252
  msgstr "Logs"
253
 
254
  # @ relevanssi
255
+ #: lib/interface.php:849 lib/interface.php:1037
256
  msgid "Exclusions and restrictions"
257
  msgstr "Exclusions et restrictions"
258
 
259
  # @ relevanssi
260
+ #: lib/interface.php:850
261
  msgid "Custom excerpts"
262
  msgstr "Extraits personnalisés"
263
 
264
  # @ relevanssi
265
+ #: lib/interface.php:851
266
  msgid "Highlighting search results"
267
  msgstr "Mise en évidence des résultats de recherche"
268
 
269
  # @ relevanssi
270
+ #: lib/interface.php:852 lib/interface.php:1183
271
  msgid "Indexing options"
272
  msgstr "Options d'indexation"
273
 
274
  # @ relevanssi
275
+ #: lib/interface.php:853 lib/interface.php:1331
276
  msgid "Caching"
277
  msgstr "Mise en cache"
278
 
279
  # @ relevanssi
280
+ #: lib/interface.php:854 lib/interface.php:1354
281
  msgid "Synonyms"
282
  msgstr "Synonymes"
283
 
284
  # @ relevanssi
285
+ #: lib/interface.php:855 lib/interface.php:1362
286
  msgid "Stopwords"
287
  msgstr "Stopwords"
288
 
289
+ #: lib/interface.php:858
290
  msgid "Import/export options"
291
  msgstr "Import/export des options"
292
 
293
+ #: lib/interface.php:861
294
  msgid "Buy Relevanssi Premium"
295
  msgstr "Achetez Relevanssi Premium"
296
 
297
  # @ relevanssi
298
+ #: lib/interface.php:866
299
  msgid "Quick tools"
300
  msgstr "Outils rapides"
301
 
302
  # @ relevanssi
303
+ #: lib/interface.php:870
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
304
  msgid "add"
305
  msgstr "ajouter"
306
 
307
  # @ relevanssi
308
+ #: lib/interface.php:870
309
  msgid "documents."
310
  msgstr "documents."
311
 
312
+ #: lib/interface.php:874
313
  msgid ""
314
  "WARNING: You've chosen no post types to index. Nothing will be indexed. <a "
315
  "href='#indexing'>Choose some post types to index</a>."
318
  "indexé.<a href='#indexing'>Choisissez les types de billet à indexer</a>."
319
 
320
  # @ relevanssi
321
+ #: lib/interface.php:878
322
  msgid ""
323
  "Use 'Build the index' to build the index with current <a "
324
  "href='#indexing'>indexing options</a>. If you can't finish indexing with one "
335
  "passe. Regardez 'État de l'indexation' ci-dessous pour déterminer le nombre "
336
  "de documents actuellement pris en compte dans l'indexation."
337
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
338
  # @ relevanssi
339
  #: lib/interface.php:880
340
  msgid "State of the Index"
537
 
538
  # @ relevanssi
539
  #: lib/interface.php:1000
540
+ msgid "WPML/Polylang compatibility"
541
+ msgstr "Compatibilité WPML/Polylang"
542
 
543
  # @ relevanssi
544
  #: lib/interface.php:1002
942
  "Nommez une classe ici. Les résultats seront encadrés dans un &lt;span&gt; "
943
  "avec cette classe"
944
 
 
 
 
 
 
945
  # @ relevanssi
946
  #: lib/interface.php:1185
947
  msgid "Choose post types to index:"
951
  msgid "Type"
952
  msgstr "Type"
953
 
954
+ #: lib/interface.php:1191 lib/interface.php:1237
955
  msgid "Index"
956
  msgstr "Index"
957
 
958
+ #: lib/interface.php:1192 lib/interface.php:1238
959
  msgid "Public?"
960
  msgstr "Publique ?"
961
 
962
+ #: lib/interface.php:1209 lib/interface.php:1252
963
  #, php-format
964
  msgid "%s"
965
  msgstr "%s"
966
 
967
+ #: lib/interface.php:1210 lib/interface.php:1253
968
  msgid "yes"
969
  msgstr "oui"
970
 
971
  # @ relevanssi
972
+ #: lib/interface.php:1210 lib/interface.php:1253
973
  msgid "no"
974
  msgstr "non"
975
 
976
  # @ relevanssi
977
  #: lib/interface.php:1231
978
+ msgid "Choose taxonomies to index:"
979
+ msgstr "Veuillez choisir les taxonomie à indexer:"
980
+
981
+ #: lib/interface.php:1236
982
+ msgid "Taxonomy"
983
+ msgstr "Taxonomie"
984
+
985
+ #: lib/interface.php:1273
986
+ msgid ""
987
+ "If you check a taxonomy here, the terms for that taxonomy are indexed with "
988
+ "the posts. If you for example choose \"post_tag\", searching for tags will "
989
+ "find all posts that have the tag."
990
+ msgstr ""
991
+ "Si vous cochez une taxonomie ici, les termes de cette taxonomie seront "
992
+ "indexées avec les billets. Si par exemple vous choisissez \"post_tag\", la "
993
+ "recherche pour les mots-clef affichera tous les billets qui sont associés au "
994
+ "mot-clef."
995
+
996
+ # @ relevanssi
997
+ #: lib/interface.php:1277
998
  msgid "Minimum word length to index"
999
  msgstr "Longueur minimum des mots à indexer"
1000
 
1001
  # @ relevanssi
1002
+ #: lib/interface.php:1279
1003
  msgid "Words shorter than this number will not be indexed."
1004
  msgstr "Les mots plus courts que ce nombre ne seront pas indexés."
1005
 
1006
  # @ relevanssi
1007
+ #: lib/interface.php:1285
1008
  msgid "Expand shortcodes in post content:"
1009
  msgstr "Traduire les shortcodes dans le contenu des billets:"
1010
 
1011
  # @ relevanssi
1012
+ #: lib/interface.php:1287
1013
  msgid ""
1014
  "If checked, Relevanssi will expand shortcodes in post content before "
1015
  "indexing. Otherwise shortcodes will be stripped. If you use shortcodes to "
1024
  "shortcode au moment de l'indexation."
1025
 
1026
  # @ relevanssi
1027
+ #: lib/interface.php:1293
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1028
  msgid "Index and search your posts' authors:"
1029
  msgstr "Indexer et rechercher les auteurs des billets:"
1030
 
1031
  # @ relevanssi
1032
+ #: lib/interface.php:1295
1033
  msgid ""
1034
  "If checked, Relevanssi will also index and search the authors of your posts. "
1035
  "Author display name will be indexed. Remember to rebuild the index if you "
1040
  "reconstruire l'index si vous modifiez cette option !"
1041
 
1042
  # @ relevanssi
1043
+ #: lib/interface.php:1299
1044
  msgid "Index and search post excerpts:"
1045
  msgstr "Indexer et rechercher dans les extraits de billets:"
1046
 
1047
  # @ relevanssi
1048
+ #: lib/interface.php:1301
1049
  msgid ""
1050
  "If checked, Relevanssi will also index and search the excerpts of your posts."
1051
  "Remember to rebuild the index if you change this option!"
1054
  "N'oubliez pas de reconstruire l'index si vous modifiez cette option !"
1055
 
1056
  # @ relevanssi
1057
+ #: lib/interface.php:1305
1058
  msgid "Index and search these comments:"
1059
  msgstr "Indexer et rechercher ces commentaires:"
1060
 
1061
  # @ relevanssi
1062
+ #: lib/interface.php:1307
1063
  msgid "none"
1064
  msgstr "aucun"
1065
 
1066
  # @ relevanssi
1067
+ #: lib/interface.php:1308
1068
  msgid "normal"
1069
  msgstr "normal"
1070
 
1071
  # @ relevanssi
1072
+ #: lib/interface.php:1309
1073
  msgid "all"
1074
  msgstr "tout"
1075
 
1076
  # @ relevanssi
1077
+ #: lib/interface.php:1311
1078
  msgid ""
1079
  "Relevanssi will index and search ALL (all comments including track- &amp; "
1080
  "pingbacks and custom comment types), NONE (no comments) or NORMAL (manually "
1087
  "<br />N'oubliez pas de reconstruire l'index si vous modifiez cette option !"
1088
 
1089
  # @ relevanssi
1090
+ #: lib/interface.php:1315
1091
  msgid "Custom fields to index:"
1092
  msgstr "Champs personnalisés à indexer:"
1093
 
1094
+ #: lib/interface.php:1317
1095
  msgid ""
1096
  "A comma-separated list of custom fields to include in the index. Set to "
1097
  "'visible' to index all visible custom fields and to 'all' to index all "
1103
  "commençant par le caractère '_' ."
1104
 
1105
  # @ relevanssi
1106
+ #: lib/interface.php:1333
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1107
  msgid ""
1108
  "Warning: In many cases caching is not useful, and in some cases can be even "
1109
  "harmful. Do not\n"
1115
  "\\\tactiver le cache à moins que vous n'ayez une bonne raison."
1116
 
1117
  # @ relevanssi
1118
+ #: lib/interface.php:1336
1119
  msgid "Enable result and excerpt caching:"
1120
  msgstr "Autoriser la mise en cache des résultats et d'extraits:"
1121
 
1122
  # @ relevanssi
1123
+ #: lib/interface.php:1338
1124
  msgid "If checked, Relevanssi will cache search results and post excerpts."
1125
  msgstr ""
1126
  "Si coché, Relevanssi mettra en cache les résultats et extraits de billets."
1127
 
1128
  # @ relevanssi
1129
+ #: lib/interface.php:1342
1130
  msgid "Cache expire (in seconds):"
1131
  msgstr "Expiration du coche (en secondes):"
1132
 
1133
  # @ relevanssi
1134
+ #: lib/interface.php:1344
1135
  msgid "86400 = day"
1136
  msgstr "86400 = jour"
1137
 
1138
  # @ relevanssi
1139
+ #: lib/interface.php:1348
1140
  msgid "Entries in the cache"
1141
  msgstr "Entrées dans le cache"
1142
 
1143
  # @ relevanssi
1144
+ #: lib/interface.php:1358
 
 
 
 
 
1145
  msgid ""
1146
  "Add synonyms here in 'key = value' format. When searching with the OR "
1147
  "operator, any search of 'key' will be expanded to include 'value' as well. "
1155
  "répéter la même clef à l'envers."
1156
 
1157
  # @ relevanssi
1158
+ #: lib/interface.php:1381
1159
  msgid ""
1160
  "<p>Enter a word here to add it to the list of stopwords. The word will "
1161
  "automatically be removed from the index, so re-indexing is not necessary. "
1167
  "une virgule.</p>"
1168
 
1169
  # @ relevanssi
1170
+ #: lib/interface.php:1383
1171
  msgid "Stopword(s) to add: "
1172
  msgstr "Stopword(s) à ajouter: "
1173
 
1174
  # @ relevanssi
1175
+ #: lib/interface.php:1387
 
 
 
 
 
1176
  msgid ""
1177
  "<p>Here's a list of stopwords in the database. Click a word to remove it "
1178
  "from stopwords. Removing stopwords won't automatically return them to index, "
1185
  "les billet après retrait de stopwords pour les réinjecter dans l'index."
1186
 
1187
  # @ relevanssi
1188
+ #: lib/interface.php:1419
 
 
 
 
 
1189
  msgid ""
1190
  "Here's a list of stopwords you can use to export the stopwords to another "
1191
  "blog."
1196
  "les billet après retrait de stopwords pour les réinjecter dans l'index."
1197
 
1198
  # @ relevanssi
1199
+ #: lib/uninstall.php:41
1200
  msgid "Data wiped clean, you can now delete the plugin."
1201
  msgstr "Données effacées, vous pouvez maintenant supprimer le plugin."
 
 
 
 
 
 
relevanssi.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Relevanssi
4
  Plugin URI: http://www.relevanssi.com/
5
  Description: This plugin replaces WordPress search with a relevance-sorting search.
6
- Version: 3.1.9
7
  Author: Mikko Saari
8
  Author URI: http://www.mikkosaari.fi/
9
  */
@@ -96,6 +96,7 @@ function relevanssi_didyoumean($query, $pre, $post, $n = 5) {
96
  's' => urlencode($closest)
97
 
98
  ), $url ));
 
99
  echo "$pre<a href='$url'>$closest</a>$post";
100
  }
101
 
3
  Plugin Name: Relevanssi
4
  Plugin URI: http://www.relevanssi.com/
5
  Description: This plugin replaces WordPress search with a relevance-sorting search.
6
+ Version: 3.2
7
  Author: Mikko Saari
8
  Author URI: http://www.mikkosaari.fi/
9
  */
96
  's' => urlencode($closest)
97
 
98
  ), $url ));
99
+ $url = apply_filters('relevanssi_didyoumean_url', $url);
100
  echo "$pre<a href='$url'>$closest</a>$post";
101
  }
102
 
stopwords/stopwords.ru_RU CHANGED
@@ -1,24 +1,427 @@
1
  <?php
2
  $stopwords = array(
3
- "а","б","в","г","д","е","ё","ж","з","и","й","к","л","м",
4
- "н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ",
5
- "ы","ь","э","ю","я",
6
- "по","на","для","не","как","только","если","или","то","от",
7
- "будет","этот","есть","при","это","только","если","или","то","от",
8
- "по","на","для","не","как","нет","он","из","так","всё","все",
9
- "же","может","его","можно","вы","мы","она","спасибо","за","этого","меня",
10
- "вот","надо","чтобы","просто","вам","мне","уже","что","но","очень","вас",
11
- "еще","после","где","бы","там","быть","данный","через","именно","например","их",
12
- "без","чем","до","ли","ссылки","тут","да","раз","нужно","этом","выше",
13
- "который","которая","такой","сайт","тоже","теперь","вообще","её","ее","будут","должен",
14
- "было","когда","ну","они","можете","хотя","могу","какой","даже","этой","один",
15
- "ссылка","ничего","пожалуйста","больше","со","проблема","сам","эту","почему","сразу","вашего",
16
- "свой","вроде","стоит","более","которые","том","поэтому","под","знаю","того","вопрос",
17
- "много","эти","кто","сейчас","ни","типа","равно","ваш","буду","конечно","делать",
18
- "нибудь","них","всех","является","лучше","также","тем","себя","нашел","несколько","найти",
19
- "пока","был","достаточно","вручную","этим","никак","куда","лишь","понял","либо","дело",
20
- "всегда","всего","большое","время","него","совсем","во","здесь","давно","такое","вашем",
21
- "эта","была","тогда","правильно","думаю","вместо","потому","кстати","уж","потом","другой",
22
- "мой","хочу","такая","про","причем","любой"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  );
24
  ?>
1
  <?php
2
  $stopwords = array(
3
+ "а",
4
+ "алло",
5
+ "без",
6
+ "близко",
7
+ "более",
8
+ "больше",
9
+ "большинстве",
10
+ "большой",
11
+ "будем",
12
+ "будет",
13
+ "будете",
14
+ "будешь",
15
+ "будто",
16
+ "буду",
17
+ "будут",
18
+ "будь",
19
+ "бы",
20
+ "бывает",
21
+ "бывь",
22
+ "был",
23
+ "была",
24
+ "были",
25
+ "было",
26
+ "быть",
27
+ "в",
28
+ "важная",
29
+ "важное",
30
+ "важные",
31
+ "важный",
32
+ "вам",
33
+ "вами",
34
+ "вас",
35
+ "ваш",
36
+ "ваше",
37
+ "ваши",
38
+ "вверх",
39
+ "вдали",
40
+ "вдруг",
41
+ "ведь",
42
+ "везде",
43
+ "весь",
44
+ "виде",
45
+ "вниз",
46
+ "внизу",
47
+ "во",
48
+ "вокруг",
49
+ "вон",
50
+ "восемнадцатый",
51
+ "восемнадцать",
52
+ "восемь",
53
+ "восьмой",
54
+ "вот",
55
+ "впрочем",
56
+ "времени",
57
+ "время",
58
+ "все",
59
+ "всегда",
60
+ "всего",
61
+ "всем",
62
+ "всеми",
63
+ "всему",
64
+ "всех",
65
+ "всею",
66
+ "всю",
67
+ "всюду",
68
+ "вся",
69
+ "всё",
70
+ "второй",
71
+ "вы",
72
+ "г",
73
+ "где",
74
+ "говорил",
75
+ "говорит",
76
+ "год",
77
+ "года",
78
+ "году",
79
+ "да",
80
+ "давно",
81
+ "даже",
82
+ "далеко",
83
+ "дальше",
84
+ "даром",
85
+ "два",
86
+ "двадцатый",
87
+ "двадцать",
88
+ "две",
89
+ "двенадцатый",
90
+ "двенадцать",
91
+ "двух",
92
+ "девятнадцатый",
93
+ "девятнадцать",
94
+ "девятый",
95
+ "девять",
96
+ "действительно",
97
+ "дел",
98
+ "день",
99
+ "десятый",
100
+ "десять",
101
+ "для",
102
+ "до",
103
+ "довольно",
104
+ "долго",
105
+ "должно",
106
+ "другая",
107
+ "другие",
108
+ "других",
109
+ "друго",
110
+ "другое",
111
+ "е",
112
+ "его",
113
+ "ее",
114
+ "ей",
115
+ "ему",
116
+ "если",
117
+ "есть",
118
+ "еще",
119
+ "ещё",
120
+ "ею",
121
+ "её",
122
+ "ж",
123
+ "же",
124
+ "жизнь",
125
+ "за",
126
+ "занят",
127
+ "занята",
128
+ "занято",
129
+ "заняты",
130
+ "затем",
131
+ "зато",
132
+ "зачем",
133
+ "здесь",
134
+ "знать",
135
+ "значит",
136
+ "и",
137
+ "из",
138
+ "или",
139
+ "им",
140
+ "именно",
141
+ "иметь",
142
+ "ими",
143
+ "имя",
144
+ "иногда",
145
+ "их",
146
+ "к",
147
+ "каждая",
148
+ "каждое",
149
+ "каждые",
150
+ "каждый",
151
+ "кажется",
152
+ "как",
153
+ "какая",
154
+ "какой",
155
+ "кем",
156
+ "когда",
157
+ "кого",
158
+ "ком",
159
+ "кому",
160
+ "конечно",
161
+ "которая",
162
+ "которого",
163
+ "которой",
164
+ "которую",
165
+ "которые",
166
+ "который",
167
+ "которых",
168
+ "кроме",
169
+ "кругом",
170
+ "кто",
171
+ "куда",
172
+ "лет",
173
+ "ли",
174
+ "лишь",
175
+ "лучше",
176
+ "люди",
177
+ "м",
178
+ "мало",
179
+ "между",
180
+ "меля",
181
+ "менее",
182
+ "меньше",
183
+ "меня",
184
+ "миллионов",
185
+ "мимо",
186
+ "мира",
187
+ "мне",
188
+ "много",
189
+ "многочисленная",
190
+ "многочисленное",
191
+ "многочисленные",
192
+ "многочисленный",
193
+ "мной",
194
+ "мною",
195
+ "мог",
196
+ "могут",
197
+ "мож",
198
+ "может",
199
+ "можно",
200
+ "можхо",
201
+ "мой",
202
+ "мор",
203
+ "мочь",
204
+ "моя",
205
+ "моё",
206
+ "мы",
207
+ "на",
208
+ "наверху",
209
+ "над",
210
+ "надо",
211
+ "назад",
212
+ "наиболее",
213
+ "наконец",
214
+ "нам",
215
+ "нас",
216
+ "начала",
217
+ "наш",
218
+ "наша",
219
+ "наше",
220
+ "наши",
221
+ "не",
222
+ "него",
223
+ "недавно",
224
+ "недалеко",
225
+ "нее",
226
+ "ней",
227
+ "нельзя",
228
+ "нем",
229
+ "немного",
230
+ "нему",
231
+ "непрерывно",
232
+ "нередко",
233
+ "несколько",
234
+ "нет",
235
+ "нею",
236
+ "неё",
237
+ "ни",
238
+ "нибудь",
239
+ "ниже",
240
+ "низко",
241
+ "никогда",
242
+ "никуда",
243
+ "ними",
244
+ "них",
245
+ "ничего",
246
+ "но",
247
+ "ну",
248
+ "нужно",
249
+ "нх",
250
+ "о",
251
+ "об",
252
+ "оба",
253
+ "обычно",
254
+ "один",
255
+ "одиннадцатый",
256
+ "одиннадцать",
257
+ "однажды",
258
+ "однако",
259
+ "одного",
260
+ "одной",
261
+ "около",
262
+ "он",
263
+ "она",
264
+ "они",
265
+ "оно",
266
+ "оный",
267
+ "опять",
268
+ "особенно",
269
+ "от",
270
+ "ото",
271
+ "отовсюду",
272
+ "отсюда",
273
+ "очень",
274
+ "первый",
275
+ "перед",
276
+ "по",
277
+ "под",
278
+ "пожалуйста",
279
+ "позже",
280
+ "пока",
281
+ "пор",
282
+ "пора",
283
+ "после",
284
+ "посреди",
285
+ "потом",
286
+ "потому",
287
+ "почему",
288
+ "почти",
289
+ "прекрасно",
290
+ "при",
291
+ "про",
292
+ "просто",
293
+ "против",
294
+ "процентов",
295
+ "пятнадцатый",
296
+ "пятнадцать",
297
+ "пятый",
298
+ "пять",
299
+ "раз",
300
+ "разве",
301
+ "раньше",
302
+ "рядом",
303
+ "с",
304
+ "сам",
305
+ "сама",
306
+ "сами",
307
+ "самим",
308
+ "самими",
309
+ "самих",
310
+ "само",
311
+ "самой",
312
+ "самом",
313
+ "самому",
314
+ "саму",
315
+ "свое",
316
+ "своего",
317
+ "своей",
318
+ "свои",
319
+ "своих",
320
+ "свой",
321
+ "свою",
322
+ "своя",
323
+ "сеаой",
324
+ "себе",
325
+ "себя",
326
+ "сегодня",
327
+ "седьмой",
328
+ "сейчас",
329
+ "семнадцатый",
330
+ "семнадцать",
331
+ "семь",
332
+ "сих",
333
+ "сказал",
334
+ "сказала",
335
+ "сказать",
336
+ "сколько",
337
+ "следовательно",
338
+ "слишком",
339
+ "сначала",
340
+ "снова",
341
+ "со",
342
+ "собой",
343
+ "собою",
344
+ "совсем",
345
+ "соответственно",
346
+ "спасибо",
347
+ "стал",
348
+ "суть",
349
+ "т",
350
+ "та",
351
+ "так",
352
+ "такая",
353
+ "также",
354
+ "такие",
355
+ "такое",
356
+ "такой",
357
+ "там",
358
+ "твой",
359
+ "твоя",
360
+ "твоё",
361
+ "те",
362
+ "тебе",
363
+ "тебя",
364
+ "тем",
365
+ "теми",
366
+ "теперь",
367
+ "тех",
368
+ "то",
369
+ "тобой",
370
+ "тобою",
371
+ "тогда",
372
+ "того",
373
+ "только",
374
+ "том",
375
+ "тому",
376
+ "тот",
377
+ "тою",
378
+ "третий",
379
+ "три",
380
+ "тринадцатый",
381
+ "тринадцать",
382
+ "ту",
383
+ "тут",
384
+ "ты",
385
+ "тысяч",
386
+ "у",
387
+ "уж",
388
+ "уже",
389
+ "уметь",
390
+ "хорошо",
391
+ "хотеть",
392
+ "хоть",
393
+ "хотя",
394
+ "хочешь",
395
+ "часто",
396
+ "чаще",
397
+ "чего",
398
+ "человек",
399
+ "чем",
400
+ "чему",
401
+ "через",
402
+ "четвертый",
403
+ "четыре",
404
+ "четырнадцатый",
405
+ "четырнадцать",
406
+ "что",
407
+ "чтоб",
408
+ "чтобы",
409
+ "чуть",
410
+ "шестнадцатый",
411
+ "шестнадцать",
412
+ "шестой",
413
+ "шесть",
414
+ "эта",
415
+ "эти",
416
+ "этим",
417
+ "этими",
418
+ "это",
419
+ "этого",
420
+ "этой",
421
+ "этом",
422
+ "этому",
423
+ "этот",
424
+ "эту",
425
+ "я"
426
  );
427
  ?>