Relevanssi – A Better Search - Version 4.5.0

Version Description

  • New feature: New filter hook relevanssi_disable_stopwords can be used to disable stopwords completely. Just add a filter function that returns true.
  • Changed behaviour: Stopwords are no longer automatically restored if emptied. It's now possible to empty the stopword list. If you want to restore the stopwords from the file (or from the database, if you're upgrading from an earlier version of Relevanssi and find your stopwords missing), just click the button on the stopwords settings page that restores the stopwords.
  • Changed behaviour: Changes to post weights in the relevanssi_results hook did not affect the relevance scores shown in excerpts. That's changed now, and the displayed scores are now taken from the $doc_weight array, which is returned in the return value array from relevanssi_search().
  • Changed behaviour: Excerpt length and type are now checked outside the loop that goes through the posts. This reduces the number of database calls required.
  • Minor fix: Searching for regex special characters (for example parentheses, brackets) caused problems in excerpts.
  • Minor fix: Improvements in handling highlighting for words with apostrophes.
  • Minor fix: Disregard hanging commas at the end of post exclusion settings.
  • Minor fix: Sometimes excerpts wouldn't have an ellipsis in the beginning even though they should.
Download this release

Release Info

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

Code changes from version 4.4.1 to 4.5.0

changelog.txt CHANGED
@@ -1,3 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  = 4.2.0 =
2
  * New feature: The search form shortcode has a new parameter `dropdown` which can be used to add a category dropdown, like this: `[searchform dropdown="category"]`.
3
  * New feature: Relevanssi can now use the contents of the PDF files indexed with WP File Download.
1
+ = 4.3.4 =
2
+ * New feature: You can now give Gutenberg blocks a CSS class `relevanssi_noindex` to exclude them from being indexed. Relevanssi will not index Gutenberg blocks that have the class.
3
+ * New feature: Relevanssi automatically skips some custom fields from common plugins that only contain unnecessary metadata.
4
+ * New feature: The search results breakdown is added to the post objects and can be found in $post->relevanssi_hits. The data also includes new fields and the breakdown from the excerpt settings page can now show author, excerpt, custom field and MySQL column hits.
5
+ * New feature: Relevanssi can now index Ninja Tables table content. This is something of an experimental feature right now, feedback is welcome.
6
+ * New feature: New filter hook `relevanssi_indexing_query` filters the indexing query and is mostly interesting for debugging reasons.
7
+ * Minor fix: Deleted and trashed comment contents were not deindexed when the comment was removed. That has been corrected now.
8
+ * Minor fix: Phrase matching is now applied to attachments as well, including the attachments indexed for parent post.
9
+ * Minor fix: Phrase matching only looks at custom fields that are indexed by Relevanssi.
10
+ * Minor fix: Exact match bonus now uses the original query without synonyms added for the exact match check.
11
+ * Minor fix: Paid Membership Pro filtering is only applied to published posts to prevent drafts from showing up in the search results.
12
+
13
+ = 4.3.3 =
14
+ * New feature: New filter hook `relevanssi_indexing_adjust` can be used to stop Relevanssi from adjusting the number of posts indexed at once during the indexing.
15
+ * New feature: New filter hook `relevanssi_acf_field_value` filters ACF field values before they are indexed.
16
+ * New feature: New filter hook `relevanssi_disabled_shortcodes` filters the array containing shortcodes that are disabled when indexing.
17
+ * Removed feature: The `relevanssi_indexing_limit` option wasn't really used anymore, so it has been removed.
18
+ * Changed behaviour: Indexing exclusions from Yoast SEO and SEOPress are applied in a different way in the indexing, making for a smoother indexing process.
19
+ * Changed behaviour: WP Table Reloaded support has been removed; you really shouldn't be using WP Table Reloaded anymore.
20
+ * Minor fix: Relevanssi won't choke on ACF fields with array or object values anymore.
21
+ * Minor fix: Relevanssi uninstall process left couple of Relevanssi options in the database.
22
+ * Minor fix: WPML language filter didn't work when `fields` was set to `ids` or `id=>parent`.
23
+
24
+ = 4.3.2 =
25
+ * New feature: SEOPress support, posts marked "noindex" in SEOPress are no longer indexed by Relevanssi by default.
26
+ * Changed behaviour: Membership plugin compatibility is removed from `relevanssi_default_post_ok` function and has been moved to individual compatibility functions for each supported membership plugin. This makes it much easier to for example disable the membership plugin features if required.
27
+ * Minor fix: The `searchform` shortcode now works better with different kinds of search forms.
28
+ * Minor fix: Yoast SEO compatibility won't block indexing of posts with explicitly allowed indexing.
29
+ * Minor fix: The `relevanssi_the_tags()` function printed out plain text, not HTML code like it should. The function now also accepts the post ID as a parameter.
30
+ * Minor fix: Excerpt creation and highlighting have been improved a little.
31
+
32
+ = 4.3.1.1 =
33
+ * Remove notice about undefined index.
34
+
35
+ = 4.3.1 =
36
+ * Adding a missing file.
37
+
38
+ = 4.3.0 =
39
+ * New feature: Multi-phrase searches now respect AND and OR operators. If multiple phrases are included in an OR search, any posts with at least one phrase will be included. In AND search, all phrases must be included.
40
+ * New feature: Admin search has been improved: there's a post type dropdown and the search is triggered when you press enter. The debug information has a `div` tag around it with the id `debugging`, so you can hide them with CSS if you want to. The numbering of results also makes more sense.
41
+ * New feature: The date parameters (`year`, `monthnum`, `w`, `day`, `hour`, `minute`, `second`, `m`) are now supported.
42
+ * New feature: New filter hook `relevanssi_indexing_limit` filters the default number of posts to index (10). If you have issues with indexing timing out, you can try adjusting this to a smaller number like 5 or 1.
43
+ * New feature: Support for Paid Membership Pro added.
44
+ * New feature: WordPress SEO support, posts marked "noindex" in WordPress SEO are no longer indexed by Relevanssi by default.
45
+ * Removed feature: qTranslate is no longer supported.
46
+ * Major fix: Tax query searching had some bugs in it, manifesting especially into Polylang not limiting the languages correctly. Some problems with the test suites were found and fixed, and similar problems won't happen again.
47
+ * Minor fix: Admin search only shows editing options to users with enough capabilities to use them.
48
+ * Minor fix: Phrase searching now uses filterable post statuses instead of a hard-coded set of post statuses.
49
+ * Minor fix: The plugin action links were missing on the Plugins page list, they're back now.
50
+ * Minor fix: Search terms with slashes won't cause errors anymore.
51
+ * Minor fix: Relevanssi admin pages have been examined for accessibility and form labels have been improved in many places.
52
+ * Deprecated: `relevanssi_get_term_taxonomy()` function is deprecated and will be removed at some point in the future.
53
+
54
  = 4.2.0 =
55
  * New feature: The search form shortcode has a new parameter `dropdown` which can be used to add a category dropdown, like this: `[searchform dropdown="category"]`.
56
  * New feature: Relevanssi can now use the contents of the PDF files indexed with WP File Download.
lib/common.php CHANGED
@@ -50,6 +50,30 @@ function relevanssi_strtolower( $string ) {
50
  }
51
  }
52
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  /**
54
  * Adds the search result match breakdown to the post object.
55
  *
@@ -107,8 +131,8 @@ function relevanssi_add_matches( &$post, $data ) {
107
  if ( isset( $data['mysqlcolumn_matches'][ $post->ID ] ) ) {
108
  $hits['mysqlcolumn'] = $data['mysqlcolumn_matches'][ $post->ID ];
109
  }
110
- if ( isset( $data['scores'][ $post->ID ] ) ) {
111
- $hits['score'] = round( $data['scores'][ $post->ID ], 2 );
112
  }
113
  if ( isset( $data['term_hits'][ $post->ID ] ) ) {
114
  $hits['terms'] = $data['term_hits'][ $post->ID ];
@@ -431,6 +455,7 @@ function relevanssi_recognize_phrases( $search_query, $operator = 'AND' ) {
431
  $keys = '';
432
 
433
  if ( is_array( $custom_fields ) ) {
 
434
  $custom_fields_escaped = implode( "','", array_map( 'esc_sql', $custom_fields ) );
435
  $keys = "AND m.meta_key IN ('$custom_fields_escaped')";
436
  }
@@ -447,6 +472,18 @@ function relevanssi_recognize_phrases( $search_query, $operator = 'AND' ) {
447
  AND p.post_status IN ($status))";
448
 
449
  $queries[] = $query;
 
 
 
 
 
 
 
 
 
 
 
 
450
  }
451
 
452
  if ( 'on' === get_option( 'relevanssi_index_pdf_parent' ) ) {
@@ -524,7 +561,10 @@ function relevanssi_get_custom_fields() {
524
  return $custom_fields;
525
  } else {
526
  $custom_fields_raw = explode( ',', $custom_fields );
527
- $custom_fields = array_filter( array_map( 'trim', $custom_fields_raw ) );
 
 
 
528
  }
529
  } else {
530
  $custom_fields = false;
@@ -795,11 +835,13 @@ function relevanssi_prevent_default_request( $request, $query ) {
795
  *
796
  * @param string|array $string The string, or an array of strings, to
797
  * tokenize.
798
- * @param boolean|string $remove_stops If true, stopwords are removed. If 'body',
799
- * also removes the body stopwords. Default
800
- * true.
801
  * @param int $min_word_length The minimum word length to include.
802
- * Default -1.
 
 
 
803
  */
804
  function relevanssi_tokenize( $string, $remove_stops = true, $min_word_length = -1 ) {
805
  $tokens = array();
@@ -827,6 +869,15 @@ function relevanssi_tokenize( $string, $remove_stops = true, $min_word_length =
827
  $stopword_list = array_merge( $stopword_list, relevanssi_fetch_body_stopwords() );
828
  }
829
 
 
 
 
 
 
 
 
 
 
830
  if ( function_exists( 'relevanssi_apply_thousands_separator' ) ) {
831
  // A Premium feature.
832
  $string = relevanssi_apply_thousands_separator( $string );
50
  }
51
  }
52
 
53
+ /**
54
+ * Multibyte friendly substr.
55
+ *
56
+ * If multibyte string functions are available, returns mb_substr() and falls
57
+ * back to substr() if multibyte functions are not available.
58
+ *
59
+ * @param string $string The source string.
60
+ * @param int $start If start is non-negative, the returned string will
61
+ * start at the start'th position in str, counting from zero. If start is
62
+ * negative, the returned string will start at the start'th character from the
63
+ * end of string.
64
+ * @param int $length Maximum number of characters to use from string. If
65
+ * omitted or null is passed, extract all characters to the end of the string.
66
+ *
67
+ * @return string $string The string in lowercase.
68
+ */
69
+ function relevanssi_substr( $string, $start, $length = null ) {
70
+ if ( ! function_exists( 'mb_substr' ) ) {
71
+ return substr( $string, $start, $length );
72
+ } else {
73
+ return mb_substr( $string, $start, $length );
74
+ }
75
+ }
76
+
77
  /**
78
  * Adds the search result match breakdown to the post object.
79
  *
131
  if ( isset( $data['mysqlcolumn_matches'][ $post->ID ] ) ) {
132
  $hits['mysqlcolumn'] = $data['mysqlcolumn_matches'][ $post->ID ];
133
  }
134
+ if ( isset( $data['doc_weights'][ $post->ID ] ) ) {
135
+ $hits['score'] = round( $data['doc_weights'][ $post->ID ], 2 );
136
  }
137
  if ( isset( $data['term_hits'][ $post->ID ] ) ) {
138
  $hits['terms'] = $data['term_hits'][ $post->ID ];
455
  $keys = '';
456
 
457
  if ( is_array( $custom_fields ) ) {
458
+ array_push( $custom_fields, '_relevanssi_pdf_content' );
459
  $custom_fields_escaped = implode( "','", array_map( 'esc_sql', $custom_fields ) );
460
  $keys = "AND m.meta_key IN ('$custom_fields_escaped')";
461
  }
472
  AND p.post_status IN ($status))";
473
 
474
  $queries[] = $query;
475
+ } elseif ( RELEVANSSI_PREMIUM ) {
476
+ $index_post_types = get_option( 'relevanssi_index_post_types', array() );
477
+ if ( in_array( 'attachment', $index_post_types, true ) ) {
478
+ $query = "(SELECT ID
479
+ FROM $wpdb->posts AS p, $wpdb->postmeta AS m
480
+ WHERE p.ID = m.post_id
481
+ AND m.meta_key = '_relevanssi_pdf_content'
482
+ AND m.meta_value LIKE '%$phrase%'
483
+ AND p.post_status IN ($status))";
484
+
485
+ $queries[] = $query;
486
+ }
487
  }
488
 
489
  if ( 'on' === get_option( 'relevanssi_index_pdf_parent' ) ) {
561
  return $custom_fields;
562
  } else {
563
  $custom_fields_raw = explode( ',', $custom_fields );
564
+ $custom_fields = false;
565
+ if ( is_array( $custom_fields_raw ) ) {
566
+ $custom_fields = array_filter( array_map( 'trim', $custom_fields_raw ) );
567
+ }
568
  }
569
  } else {
570
  $custom_fields = false;
835
  *
836
  * @param string|array $string The string, or an array of strings, to
837
  * tokenize.
838
+ * @param boolean|string $remove_stops If true, stopwords are removed. If
839
+ * 'body', also removes the body stopwords. Default true.
 
840
  * @param int $min_word_length The minimum word length to include.
841
+ * Default -1.
842
+ *
843
+ * @return int[] An array of tokens as the keys and their frequency as the
844
+ * value.
845
  */
846
  function relevanssi_tokenize( $string, $remove_stops = true, $min_word_length = -1 ) {
847
  $tokens = array();
869
  $stopword_list = array_merge( $stopword_list, relevanssi_fetch_body_stopwords() );
870
  }
871
 
872
+ /**
873
+ * Disables stopwords completely.
874
+ *
875
+ * @param boolean If true, stopwords are not used. Default false.
876
+ */
877
+ if ( apply_filters( 'relevanssi_disable_stopwords', false ) ) {
878
+ $stopword_list = array();
879
+ }
880
+
881
  if ( function_exists( 'relevanssi_apply_thousands_separator' ) ) {
882
  // A Premium feature.
883
  $string = relevanssi_apply_thousands_separator( $string );
lib/compatibility/restrictcontentpro.php CHANGED
@@ -22,6 +22,10 @@ add_filter( 'relevanssi_post_ok', 'relevanssi_restrictcontentpro_compatibility',
22
  * otherwise false.
23
  */
24
  function relevanssi_restrictcontentpro_compatibility( $post_ok, $post_id ) {
 
 
 
 
25
  $post_ok = rcp_user_can_access( get_current_user_id(), $post_id );
26
 
27
  return $post_ok;
22
  * otherwise false.
23
  */
24
  function relevanssi_restrictcontentpro_compatibility( $post_ok, $post_id ) {
25
+ if ( ! $post_ok ) {
26
+ return $post_ok;
27
+ }
28
+
29
  $post_ok = rcp_user_can_access( get_current_user_id(), $post_id );
30
 
31
  return $post_ok;
lib/excerpts-highlights.php CHANGED
@@ -28,16 +28,29 @@ function relevanssi_the_excerpt() {
28
  /**
29
  * Generates an excerpt for a post.
30
  *
 
 
 
 
31
  * @global $post The global post object.
32
  *
33
- * @param object $t_post The post object.
34
- * @param string $query The search query.
 
 
35
  *
36
  * @return string The created excerpt.
37
  */
38
- function relevanssi_do_excerpt( $t_post, $query ) {
39
  global $post;
40
 
 
 
 
 
 
 
 
41
  // Back up the global post object, and replace it with the post we're working on.
42
  $old_global_post = null;
43
  if ( null !== $post ) {
@@ -58,8 +71,17 @@ function relevanssi_do_excerpt( $t_post, $query ) {
58
  */
59
  $query = apply_filters( 'relevanssi_excerpt_query', $query );
60
 
61
- // Minimum word length is -1, we don't care about it right now.
62
- $terms = relevanssi_tokenize( $query, $remove_stopwords, -1 );
 
 
 
 
 
 
 
 
 
63
 
64
  if ( is_array( $query ) ) {
65
  $untokenized_terms = array_filter( $query );
@@ -140,7 +162,7 @@ function relevanssi_do_excerpt( $t_post, $query ) {
140
  }
141
 
142
  // Find the appropriate spot from the post.
143
- $excerpt_data = relevanssi_create_excerpt( $content, $terms, $query );
144
 
145
  if ( 'none' !== get_option( 'relevanssi_index_comments' ) ) {
146
  // Use comment content as source material for excerpts.
@@ -148,7 +170,13 @@ function relevanssi_do_excerpt( $t_post, $query ) {
148
  $comment_content = preg_replace( '/(<\/[^>]+?>)(<[^>\/][^>]*?>)/', '$1 $2', $comment_content );
149
  $comment_content = strip_tags( $comment_content, get_option( 'relevanssi_excerpt_allowable_tags', '' ) );
150
  if ( ! empty( $comment_content ) ) {
151
- $comment_excerpts = relevanssi_create_excerpt( $comment_content, $terms, $query );
 
 
 
 
 
 
152
  if ( $comment_excerpts[1] > $excerpt_data[1] ) {
153
  // The excerpt created from comments is better than the one created from post data.
154
  $excerpt_data = $comment_excerpts;
@@ -161,7 +189,13 @@ function relevanssi_do_excerpt( $t_post, $query ) {
161
  $excerpt_content = strip_tags( $excerpt_content, get_option( 'relevanssi_excerpt_allowable_tags', '' ) );
162
 
163
  if ( ! empty( $excerpt_content ) ) {
164
- $excerpt_excerpts = relevanssi_create_excerpt( $excerpt_content, $terms, $query );
 
 
 
 
 
 
165
  if ( $excerpt_excerpts[1] > $excerpt_data[1] ) {
166
  // The excerpt created from post excerpt is the best we found so far.
167
  $excerpt_data = $excerpt_excerpts;
@@ -174,8 +208,8 @@ function relevanssi_do_excerpt( $t_post, $query ) {
174
  /**
175
  * Filters the excerpt.
176
  *
177
- * Filters the post excerpt generated by Relevanssi before the highlighting is
178
- * applied.
179
  *
180
  * @param string $excerpt The excerpt.
181
  * @param int $post->ID The post ID.
@@ -224,24 +258,27 @@ function relevanssi_do_excerpt( $t_post, $query ) {
224
  /**
225
  * Creates an excerpt from content.
226
  *
227
- * @param string $content The content.
228
- * @param array $terms The search terms, tokenized.
229
- * @param string $query The search query.
 
 
230
  *
231
- * @return array Element 0 is the excerpt, element 1 the number of term hits, element 2 is
232
- * true, if the excerpt is from the start of the content.
 
 
 
 
 
 
233
  */
234
- function relevanssi_create_excerpt( $content, $terms, $query ) {
235
- // If you need to modify these on the go, use 'pre_option_relevanssi_excerpt_length'
236
- // and 'pre_option_relevanssi_excerpt_type' filters.
237
- $excerpt_length = get_option( 'relevanssi_excerpt_length' );
238
- $type = get_option( 'relevanssi_excerpt_type' );
239
-
240
  $best_excerpt_term_hits = -1;
241
 
242
  $excerpt = '';
243
  $content = ' ' . preg_replace( '/\s+/u', ' ', $content );
244
-
245
  // Finds all the phrases in the query.
246
  $phrases = relevanssi_extract_phrases( stripslashes( $query ) );
247
 
@@ -267,7 +304,7 @@ function relevanssi_create_excerpt( $content, $terms, $query ) {
267
  uksort( $terms, 'relevanssi_strlen_sort' );
268
 
269
  $start = false;
270
- if ( 'chars' === $type ) {
271
  $prev_count = floor( $excerpt_length / 6 );
272
 
273
  list( $excerpt, $best_excerpt_term_hits, $start ) =
@@ -324,13 +361,13 @@ function relevanssi_highlight_in_docs( $content ) {
324
  /**
325
  * Adds highlighting to content.
326
  *
327
- * Adds highlighting to content based on Relevanssi highlighting settings (if you
328
- * want to override the settings, 'pre_option_relevanssi_highlight' filter hook
329
- * is your friend).
330
  *
331
  * @param string $content The content to highlight.
332
- * @param string|array $query The search query (should be a string, can sometimes
333
- * be an array).
334
  * @param boolean $in_docs Are we highlighting post content? Default false.
335
  *
336
  * @return string The $content with highlighting.
@@ -414,7 +451,13 @@ function relevanssi_highlight_terms( $content, $query, $in_docs = false ) {
414
  }
415
 
416
  $remove_stopwords = true;
417
- $terms = array_keys( relevanssi_tokenize( $query, $remove_stopwords, $min_word_length ) );
 
 
 
 
 
 
418
 
419
  if ( is_array( $query ) ) {
420
  $untokenized_terms = array_filter(
@@ -523,17 +566,24 @@ function relevanssi_highlight_terms( $content, $query, $in_docs = false ) {
523
  /**
524
  * Allows cleaning unwanted highlights.
525
  *
526
- * This filter lets you clean unwanted highlights, for example from within <pre>
527
- * tags. To remove a highlight, remove the matching starting and ending tokens
528
- * from the $content string.
529
  *
530
  * @param string $content The highlighted content.
531
- * @param string $start_emp_token A token that signifies the start of a highlight.
532
- * @param string $end_emp_token A token that signifies the end of a highlight.
 
 
533
  *
534
  * @return string The highlighted content.
535
  */
536
- $content = apply_filters( 'relevanssi_clean_excerpt', $content, $start_emp_token, $end_emp_token );
 
 
 
 
 
537
 
538
  $content = str_replace( $start_emp_token, $start_emp, $content );
539
  $content = str_replace( $end_emp_token, $end_emp, $content );
@@ -549,12 +599,12 @@ function relevanssi_highlight_terms( $content, $query, $in_docs = false ) {
549
  /**
550
  * Fixes problems with entities.
551
  *
552
- * For excerpts, runs htmlentities() on the excerpt, then converts the allowed tags
553
- * back into tags.
554
  *
555
  * @param string $excerpt The excerpt to fix.
556
- * @param boolean $in_docs If true, we are manipulating post content, and need to
557
- * work in a different fashion.
558
  *
559
  * @return string The $excerpt with entities fixed.
560
  */
@@ -570,10 +620,24 @@ function relevanssi_fix_entities( $excerpt, $in_docs ) {
570
 
571
  $closing_tags = relevanssi_generate_closing_tags( $tags );
572
 
573
- $tags_entitied = htmlentities( implode( ' ', $tags ), ENT_NOQUOTES, 'UTF-8' );
 
 
 
 
 
 
 
574
  $tags_entitied = explode( ' ', $tags_entitied );
575
 
576
- $closing_tags_entitied = htmlentities( implode( ' ', $closing_tags ), ENT_NOQUOTES, 'UTF-8' );
 
 
 
 
 
 
 
577
  $closing_tags_entitied = explode( ' ', $closing_tags_entitied );
578
 
579
  $tags_entitied_regexped = array();
@@ -599,7 +663,10 @@ function relevanssi_fix_entities( $excerpt, $in_docs ) {
599
  }
600
 
601
  $tags = array_merge( $tags, $closing_tags );
602
- $tags_entitied = array_merge( $tags_entitied_regexped, $closing_tags_entitied_regexped );
 
 
 
603
 
604
  $excerpt = preg_replace( $tags_entitied, $tags, $excerpt );
605
 
@@ -613,19 +680,21 @@ function relevanssi_fix_entities( $excerpt, $in_docs ) {
613
  // However, we may want to run htmlentities() for anything inside
614
  // <pre> and <code> tags.
615
  /**
616
- * Choose whether htmlentities() is run inside <pre> tags or not. If your
617
- * pages have HTML code inside <pre> tags, set this to false.
618
  *
619
- * @param boolean If true, htmlentities() will be used inside <pre> tags.
 
620
  */
621
  if ( apply_filters( 'relevanssi_entities_inside_pre', true ) ) {
622
  $excerpt = relevanssi_entities_inside( $excerpt, 'pre' );
623
  }
624
  /**
625
- * Choose whether htmlentities() is run inside <code> tags or not. If your
626
- * pages have HTML code inside <code> tags, set this to false.
627
  *
628
- * @param boolean If true, htmlentities() will be used inside <code> tags.
 
629
  */
630
  if ( apply_filters( 'relevanssi_entities_inside_code', true ) ) {
631
  $excerpt = relevanssi_entities_inside( $excerpt, 'code' );
@@ -640,7 +709,7 @@ function relevanssi_fix_entities( $excerpt, $in_docs ) {
640
  * @param string $content The content.
641
  * @param string $tag The tag.
642
  *
643
- * @return string $content The content with HTML code inside the $tag tags
644
  * ran through htmlentities().
645
  */
646
  function relevanssi_entities_inside( $content, $tag ) {
@@ -649,7 +718,9 @@ function relevanssi_entities_inside( $content, $tag ) {
649
  $replacements = array();
650
  foreach ( $matches[1] as $match ) {
651
  if ( ! empty( $match ) ) {
652
- $replacements[] = '<xxx' . $tag . '\1>' . htmlentities( $match, ENT_QUOTES, 'UTF-8' ) . '</xxx' . $tag . '>';
 
 
653
  }
654
  }
655
  if ( ! empty( $replacements ) ) {
@@ -686,8 +757,8 @@ function relevanssi_generate_closing_tags( $tags ) {
686
  /**
687
  * Removes nested highlights from a string.
688
  *
689
- * If there are highlights within highlights in a string, this function will clean
690
- * out the nested highlights, leaving just the outmost highlight tokens.
691
  *
692
  * @param string $string The content.
693
  * @param string $begin The beginning highlight token.
@@ -808,7 +879,7 @@ function relevanssi_count_matches( $words, $complete_text ) {
808
  $regex = "/$word_slice/";
809
  }
810
  $lines = preg_split( $regex, $lowercase_text );
811
- if ( count( $lines ) > 1 ) {
812
  $count_lines = count( $lines );
813
  for ( $tt = 0; $tt < $count_lines; $tt++ ) {
814
  if ( $tt < ( count( $lines ) - 1 ) ) {
@@ -830,10 +901,11 @@ function relevanssi_count_matches( $words, $complete_text ) {
830
  * Works out which is the most relevant portion to display.
831
  *
832
  * This is done by looping over each match and finding the smallest distance
833
- * between two found strings. The idea being that the closer the terms are the better
834
- * match the snippet would be. When checking for matches we only change the location
835
- * if there is a better match. The only exception is where we have only two matches
836
- * in which case we just take the first as will be equally distant.
 
837
  *
838
  * @author Ben Boyter
839
  *
@@ -881,9 +953,9 @@ function relevanssi_determine_snip_location( $locations, $prevcount ) {
881
  /**
882
  * Extracts relevant part of the full text.
883
  *
884
- * Finds the part of full text with as many relevant words as possible. 1/6 ratio on
885
- * prevcount tends to work pretty well and puts the terms in the middle of the
886
- * excerpt.
887
  *
888
  * Source: https://boyter.org/2013/04/building-a-search-result-extract-generator-in-php/
889
  *
@@ -891,12 +963,13 @@ function relevanssi_determine_snip_location( $locations, $prevcount ) {
891
  *
892
  * @param array $words An array of relevant words.
893
  * @param string $fulltext The source text.
894
- * @param int $excerpt_length The length of the excerpt, default 300 characters.
895
- * @param int $prevcount How much text include before the words, default 50
896
  * characters.
 
 
897
  *
898
- * @return array The excerpt, number of words in the excerpt, true if it's the start
899
- * of the $fulltext.
900
  */
901
  function relevanssi_extract_relevant( $words, $fulltext, $excerpt_length = 300, $prevcount = 50 ) {
902
  $text_length = relevanssi_strlen( $fulltext );
@@ -933,16 +1006,22 @@ function relevanssi_extract_relevant( $words, $fulltext, $excerpt_length = 300,
933
  /**
934
  * Extracts relevant words of the full text.
935
  *
936
- * Finds the part of full text with as many relevant words as possible.
 
 
937
  *
938
  * @param array $terms An array of relevant words.
939
  * @param string $content The source text.
940
  * @param int $excerpt_length The length of the excerpt, default 30 words.
941
  *
942
- * @return array The excerpt, number of words in the excerpt, true if it's the start
943
- * of the $fulltext.
944
  */
945
  function relevanssi_extract_relevant_words( $terms, $content, $excerpt_length = 30 ) {
 
 
 
 
946
  $words = array_filter( explode( ' ', $content ) );
947
  $offset = 0;
948
  $tries = 0;
@@ -967,6 +1046,8 @@ function relevanssi_extract_relevant_words( $terms, $content, $excerpt_length =
967
  $excerpt = $excerpt_slice;
968
  if ( 0 === $offset ) {
969
  $start = true;
 
 
970
  }
971
  }
972
  $tries++;
@@ -1023,21 +1104,31 @@ function relevanssi_add_accent_variations( $word ) {
1023
  $replacement_arrays = apply_filters(
1024
  'relevanssi_accents_replacement_arrays',
1025
  array(
1026
- 'from' => array( 'a', 'c', 'e', 'i', 'o', 'u', 'n', "'" ),
1027
- 'to' => array( '(a|á|à|â)', '(c|ç)', '(e|é|è|ê|ë)', '(i|í|ì|î|ï)', '(o|ó|ò|ô|õ)', '(u|ú|ù|ü|û)', '(n|ñ)', "('|’)?" ),
 
 
1028
  )
1029
  );
1030
 
1031
- $len = mb_strlen( $word );
1032
  $word_array = array();
 
1033
  for ( $i = 0; $i < $len; $i++ ) {
1034
- $char = mb_substr( $word, $i, 1 );
 
 
 
 
 
 
 
 
1035
  $word_array[] = $char;
1036
  }
1037
  $word = implode( '-?', $word_array );
1038
  $word = str_ireplace( $replacement_arrays['from'], $replacement_arrays['to'], $word );
1039
- $word = preg_replace( '/s$/', "(s|'s|’s)", $word );
1040
- $word = str_replace( '\-?/', '\/', $word );
1041
 
1042
  return $word;
1043
  }
@@ -1082,7 +1173,16 @@ function relevanssi_get_custom_field_content( $post_id ) {
1082
  }
1083
  }
1084
  /* Documented in lib/indexing.php. */
1085
- $values = apply_filters( 'relevanssi_custom_field_value', get_post_meta( $post_id, $field, false ), $field, $post_id );
 
 
 
 
 
 
 
 
 
1086
  if ( empty( $values ) || ! is_array( $values ) ) {
1087
  continue;
1088
  }
@@ -1114,13 +1214,14 @@ function relevanssi_get_custom_field_content( $post_id ) {
1114
  * @global array $wp_filter The global filter array.
1115
  *
1116
  * It's an object hook, so this isn't as simple as doing remove_filter(). This
1117
- * needs to be done, because autoembed discovery can take a very, very long time.
 
1118
  */
1119
  function relevanssi_kill_autoembed() {
1120
  global $wp_filter;
1121
  if ( isset( $wp_filter['the_content']->callbacks ) ) {
1122
  foreach ( $wp_filter['the_content']->callbacks as $priority => $bucket ) {
1123
- foreach ( $bucket as $key => $value ) {
1124
  if ( 'autoembed' === substr( $key, -9 ) ) {
1125
  unset( $wp_filter['the_content']->callbacks[ $priority ][ $key ] );
1126
  }
28
  /**
29
  * Generates an excerpt for a post.
30
  *
31
+ * Takes the excerpt length and type as parameters. These can be omitted, in
32
+ * which case the values are taken from the 'relevanssi_excerpt_length' and
33
+ * 'relevanssi_excerpt_type' options respectively.
34
+ *
35
  * @global $post The global post object.
36
  *
37
+ * @param object $t_post The post object.
38
+ * @param string $query The search query.
39
+ * @param int $excerpt_length The length of the excerpt, default null.
40
+ * @param string $excerpt_type Either 'chars' or 'words', default null.
41
  *
42
  * @return string The created excerpt.
43
  */
44
+ function relevanssi_do_excerpt( $t_post, $query, $excerpt_length = null, $excerpt_type = null ) {
45
  global $post;
46
 
47
+ if ( ! $excerpt_length ) {
48
+ $excerpt_length = get_option( 'relevanssi_excerpt_length' );
49
+ }
50
+ if ( ! $excerpt_type ) {
51
+ $excerpt_type = get_option( 'relevanssi_excerpt_type' );
52
+ }
53
+
54
  // Back up the global post object, and replace it with the post we're working on.
55
  $old_global_post = null;
56
  if ( null !== $post ) {
71
  */
72
  $query = apply_filters( 'relevanssi_excerpt_query', $query );
73
 
74
+ $min_word_length = 2;
75
+ /**
76
+ * Allows creating one-letter highlights.
77
+ *
78
+ * @param boolean Set to true to enable one-letter highlights.
79
+ */
80
+ if ( apply_filters( 'relevanssi_allow_one_letter_highlights', false ) ) {
81
+ $min_word_length = 1;
82
+ }
83
+
84
+ $terms = relevanssi_tokenize( $query, $remove_stopwords, $min_word_length );
85
 
86
  if ( is_array( $query ) ) {
87
  $untokenized_terms = array_filter( $query );
162
  }
163
 
164
  // Find the appropriate spot from the post.
165
+ $excerpt_data = relevanssi_create_excerpt( $content, $terms, $query, $excerpt_length, $excerpt_type );
166
 
167
  if ( 'none' !== get_option( 'relevanssi_index_comments' ) ) {
168
  // Use comment content as source material for excerpts.
170
  $comment_content = preg_replace( '/(<\/[^>]+?>)(<[^>\/][^>]*?>)/', '$1 $2', $comment_content );
171
  $comment_content = strip_tags( $comment_content, get_option( 'relevanssi_excerpt_allowable_tags', '' ) );
172
  if ( ! empty( $comment_content ) ) {
173
+ $comment_excerpts = relevanssi_create_excerpt(
174
+ $comment_content,
175
+ $terms,
176
+ $query,
177
+ $excerpt_length,
178
+ $excerpt_type
179
+ );
180
  if ( $comment_excerpts[1] > $excerpt_data[1] ) {
181
  // The excerpt created from comments is better than the one created from post data.
182
  $excerpt_data = $comment_excerpts;
189
  $excerpt_content = strip_tags( $excerpt_content, get_option( 'relevanssi_excerpt_allowable_tags', '' ) );
190
 
191
  if ( ! empty( $excerpt_content ) ) {
192
+ $excerpt_excerpts = relevanssi_create_excerpt(
193
+ $excerpt_content,
194
+ $terms,
195
+ $query,
196
+ $excerpt_length,
197
+ $excerpt_type
198
+ );
199
  if ( $excerpt_excerpts[1] > $excerpt_data[1] ) {
200
  // The excerpt created from post excerpt is the best we found so far.
201
  $excerpt_data = $excerpt_excerpts;
208
  /**
209
  * Filters the excerpt.
210
  *
211
+ * Filters the post excerpt generated by Relevanssi before the highlighting
212
+ * is applied.
213
  *
214
  * @param string $excerpt The excerpt.
215
  * @param int $post->ID The post ID.
258
  /**
259
  * Creates an excerpt from content.
260
  *
261
+ * Since 2.6, this function no longer reads in the excerpt length and type from
262
+ * the options, but instead receives them as the function parameters. That is
263
+ * done to get uniform results in multisite searches. For backwards support,
264
+ * calling this function without the length and type parameters falls back into
265
+ * reasonable defaults.
266
  *
267
+ * @param string $content The content.
268
+ * @param array $terms The search terms, tokenized.
269
+ * @param string $query The search query.
270
+ * @param int $excerpt_length The length of the excerpt, default 30.
271
+ * @param string $excerpt_type Either 'chars' or 'words', default 'words'.
272
+ *
273
+ * @return array Element 0 is the excerpt, element 1 the number of term hits,
274
+ * element 2 is true, if the excerpt is from the start of the content.
275
  */
276
+ function relevanssi_create_excerpt( $content, $terms, $query, $excerpt_length = 30, $excerpt_type = 'words' ) {
 
 
 
 
 
277
  $best_excerpt_term_hits = -1;
278
 
279
  $excerpt = '';
280
  $content = ' ' . preg_replace( '/\s+/u', ' ', $content );
281
+ $content = html_entity_decode( $content );
282
  // Finds all the phrases in the query.
283
  $phrases = relevanssi_extract_phrases( stripslashes( $query ) );
284
 
304
  uksort( $terms, 'relevanssi_strlen_sort' );
305
 
306
  $start = false;
307
+ if ( 'chars' === $excerpt_type ) {
308
  $prev_count = floor( $excerpt_length / 6 );
309
 
310
  list( $excerpt, $best_excerpt_term_hits, $start ) =
361
  /**
362
  * Adds highlighting to content.
363
  *
364
+ * Adds highlighting to content based on Relevanssi highlighting settings (if
365
+ * you want to override the settings, 'pre_option_relevanssi_highlight' filter
366
+ * hook is your friend).
367
  *
368
  * @param string $content The content to highlight.
369
+ * @param string|array $query The search query (should be a string, can
370
+ * sometimes be an array).
371
  * @param boolean $in_docs Are we highlighting post content? Default false.
372
  *
373
  * @return string The $content with highlighting.
451
  }
452
 
453
  $remove_stopwords = true;
454
+ $terms = array_keys(
455
+ relevanssi_tokenize(
456
+ $query,
457
+ $remove_stopwords,
458
+ $min_word_length
459
+ )
460
+ );
461
 
462
  if ( is_array( $query ) ) {
463
  $untokenized_terms = array_filter(
566
  /**
567
  * Allows cleaning unwanted highlights.
568
  *
569
+ * This filter lets you clean unwanted highlights, for example from within
570
+ * <pre> tags. To remove a highlight, remove the matching starting and
571
+ * ending tokens from the $content string.
572
  *
573
  * @param string $content The highlighted content.
574
+ * @param string $start_emp_token A token that signifies the start of a
575
+ * highlight.
576
+ * @param string $end_emp_token A token that signifies the end of a
577
+ * highlight.
578
  *
579
  * @return string The highlighted content.
580
  */
581
+ $content = apply_filters(
582
+ 'relevanssi_clean_excerpt',
583
+ $content,
584
+ $start_emp_token,
585
+ $end_emp_token
586
+ );
587
 
588
  $content = str_replace( $start_emp_token, $start_emp, $content );
589
  $content = str_replace( $end_emp_token, $end_emp, $content );
599
  /**
600
  * Fixes problems with entities.
601
  *
602
+ * For excerpts, runs htmlentities() on the excerpt, then converts the allowed
603
+ * tags back into tags.
604
  *
605
  * @param string $excerpt The excerpt to fix.
606
+ * @param boolean $in_docs If true, we are manipulating post content, and need
607
+ * to work in a different fashion.
608
  *
609
  * @return string The $excerpt with entities fixed.
610
  */
620
 
621
  $closing_tags = relevanssi_generate_closing_tags( $tags );
622
 
623
+ $tags_entitied = htmlentities(
624
+ implode(
625
+ ' ',
626
+ $tags
627
+ ),
628
+ ENT_NOQUOTES,
629
+ 'UTF-8'
630
+ );
631
  $tags_entitied = explode( ' ', $tags_entitied );
632
 
633
+ $closing_tags_entitied = htmlentities(
634
+ implode(
635
+ ' ',
636
+ $closing_tags
637
+ ),
638
+ ENT_NOQUOTES,
639
+ 'UTF-8'
640
+ );
641
  $closing_tags_entitied = explode( ' ', $closing_tags_entitied );
642
 
643
  $tags_entitied_regexped = array();
663
  }
664
 
665
  $tags = array_merge( $tags, $closing_tags );
666
+ $tags_entitied = array_merge(
667
+ $tags_entitied_regexped,
668
+ $closing_tags_entitied_regexped
669
+ );
670
 
671
  $excerpt = preg_replace( $tags_entitied, $tags, $excerpt );
672
 
680
  // However, we may want to run htmlentities() for anything inside
681
  // <pre> and <code> tags.
682
  /**
683
+ * Choose whether htmlentities() is run inside <pre> tags or not. If
684
+ * your pages have HTML code inside <pre> tags, set this to false.
685
  *
686
+ * @param boolean If true, htmlentities() will be used inside <pre>
687
+ * tags.
688
  */
689
  if ( apply_filters( 'relevanssi_entities_inside_pre', true ) ) {
690
  $excerpt = relevanssi_entities_inside( $excerpt, 'pre' );
691
  }
692
  /**
693
+ * Choose whether htmlentities() is run inside <code> tags or not. If
694
+ * your pages have HTML code inside <code> tags, set this to false.
695
  *
696
+ * @param boolean If true, htmlentities() will be used inside <code>
697
+ * tags.
698
  */
699
  if ( apply_filters( 'relevanssi_entities_inside_code', true ) ) {
700
  $excerpt = relevanssi_entities_inside( $excerpt, 'code' );
709
  * @param string $content The content.
710
  * @param string $tag The tag.
711
  *
712
+ * @return string $content The content with HTML code inside the $tag tags
713
  * ran through htmlentities().
714
  */
715
  function relevanssi_entities_inside( $content, $tag ) {
718
  $replacements = array();
719
  foreach ( $matches[1] as $match ) {
720
  if ( ! empty( $match ) ) {
721
+ $replacements[] = '<xxx' . $tag . '\1>'
722
+ . htmlentities( $match, ENT_QUOTES, 'UTF-8' )
723
+ . '</xxx' . $tag . '>';
724
  }
725
  }
726
  if ( ! empty( $replacements ) ) {
757
  /**
758
  * Removes nested highlights from a string.
759
  *
760
+ * If there are highlights within highlights in a string, this function will
761
+ * clean out the nested highlights, leaving just the outmost highlight tokens.
762
  *
763
  * @param string $string The content.
764
  * @param string $begin The beginning highlight token.
879
  $regex = "/$word_slice/";
880
  }
881
  $lines = preg_split( $regex, $lowercase_text );
882
+ if ( $lines && count( $lines ) > 1 ) {
883
  $count_lines = count( $lines );
884
  for ( $tt = 0; $tt < $count_lines; $tt++ ) {
885
  if ( $tt < ( count( $lines ) - 1 ) ) {
901
  * Works out which is the most relevant portion to display.
902
  *
903
  * This is done by looping over each match and finding the smallest distance
904
+ * between two found strings. The idea being that the closer the terms are the
905
+ * better match the snippet would be. When checking for matches we only change
906
+ * the location if there is a better match. The only exception is where we have
907
+ * only two matches in which case we just take the first as will be equally
908
+ * distant.
909
  *
910
  * @author Ben Boyter
911
  *
953
  /**
954
  * Extracts relevant part of the full text.
955
  *
956
+ * Finds the part of full text with as many relevant words as possible. 1/6
957
+ * ratio on prevcount tends to work pretty well and puts the terms in the middle
958
+ * of the excerpt.
959
  *
960
  * Source: https://boyter.org/2013/04/building-a-search-result-extract-generator-in-php/
961
  *
963
  *
964
  * @param array $words An array of relevant words.
965
  * @param string $fulltext The source text.
966
+ * @param int $excerpt_length The length of the excerpt, default 300
 
967
  * characters.
968
+ * @param int $prevcount How much text include before the words, default
969
+ * 50 characters.
970
  *
971
+ * @return array The excerpt, number of words in the excerpt, true if it's the
972
+ * start of the $fulltext.
973
  */
974
  function relevanssi_extract_relevant( $words, $fulltext, $excerpt_length = 300, $prevcount = 50 ) {
975
  $text_length = relevanssi_strlen( $fulltext );
1006
  /**
1007
  * Extracts relevant words of the full text.
1008
  *
1009
+ * Finds the part of full text with as many relevant words as possible. If the
1010
+ * excerpt length parameter is less than 1, the function will immediately
1011
+ * return an empty excerpt in order to avoid an endless loop.
1012
  *
1013
  * @param array $terms An array of relevant words.
1014
  * @param string $content The source text.
1015
  * @param int $excerpt_length The length of the excerpt, default 30 words.
1016
  *
1017
+ * @return array The excerpt, number of words in the excerpt, true if it's the
1018
+ * start of the $fulltext.
1019
  */
1020
  function relevanssi_extract_relevant_words( $terms, $content, $excerpt_length = 30 ) {
1021
+ if ( $excerpt_length < 1 ) {
1022
+ return array( '', 0, false );
1023
+ }
1024
+
1025
  $words = array_filter( explode( ' ', $content ) );
1026
  $offset = 0;
1027
  $tries = 0;
1046
  $excerpt = $excerpt_slice;
1047
  if ( 0 === $offset ) {
1048
  $start = true;
1049
+ } else {
1050
+ $start = false;
1051
  }
1052
  }
1053
  $tries++;
1104
  $replacement_arrays = apply_filters(
1105
  'relevanssi_accents_replacement_arrays',
1106
  array(
1107
+ 'from' => array( 'a', 'c', 'e', 'i', 'o', 'u', 'n' ),
1108
+ 'to' => array( '(a|á|à|â)', '(c|ç)', '(e|é|è|ê|ë)', '(i|í|ì|î|ï)', '(o|ó|ò|ô|õ)', '(u|ú|ù|ü|û)', '(n|ñ)' ),
1109
+ 'from_re' => array( "/(s)('|’)?$/", "/[^\(\|]('|’)/" ),
1110
+ 'to_re' => array( "(('|’)?\\1|\\1('|’)?)", "?('|’)?" ),
1111
  )
1112
  );
1113
 
1114
+ $len = relevanssi_strlen( $word );
1115
  $word_array = array();
1116
+ $escaped = false;
1117
  for ( $i = 0; $i < $len; $i++ ) {
1118
+ $char = relevanssi_substr( $word, $i, 1 );
1119
+ if ( '\\' === $char ) {
1120
+ $escaped = true;
1121
+ continue;
1122
+ }
1123
+ if ( $escaped ) {
1124
+ $escaped = false;
1125
+ $char = '\\' . $char;
1126
+ }
1127
  $word_array[] = $char;
1128
  }
1129
  $word = implode( '-?', $word_array );
1130
  $word = str_ireplace( $replacement_arrays['from'], $replacement_arrays['to'], $word );
1131
+ $word = preg_replace( $replacement_arrays['from_re'], $replacement_arrays['to_re'], $word );
 
1132
 
1133
  return $word;
1134
  }
1173
  }
1174
  }
1175
  /* Documented in lib/indexing.php. */
1176
+ $values = apply_filters(
1177
+ 'relevanssi_custom_field_value',
1178
+ get_post_meta(
1179
+ $post_id,
1180
+ $field,
1181
+ false
1182
+ ),
1183
+ $field,
1184
+ $post_id
1185
+ );
1186
  if ( empty( $values ) || ! is_array( $values ) ) {
1187
  continue;
1188
  }
1214
  * @global array $wp_filter The global filter array.
1215
  *
1216
  * It's an object hook, so this isn't as simple as doing remove_filter(). This
1217
+ * needs to be done, because autoembed discovery can take a very, very long
1218
+ * time.
1219
  */
1220
  function relevanssi_kill_autoembed() {
1221
  global $wp_filter;
1222
  if ( isset( $wp_filter['the_content']->callbacks ) ) {
1223
  foreach ( $wp_filter['the_content']->callbacks as $priority => $bucket ) {
1224
+ foreach ( array_keys( $bucket ) as $key ) {
1225
  if ( 'autoembed' === substr( $key, -9 ) ) {
1226
  unset( $wp_filter['the_content']->callbacks[ $priority ][ $key ] );
1227
  }
lib/indexing.php CHANGED
@@ -1227,7 +1227,7 @@ function relevanssi_index_custom_fields( &$insert_data, $post_id, $custom_fields
1227
  }
1228
 
1229
  if ( $debug ) {
1230
- relevanssi_debug_echo( "\tKey: " . $field . ' – value: ' . $value );
1231
  }
1232
 
1233
  /** This filter is documented in lib/indexing.php */
1227
  }
1228
 
1229
  if ( $debug ) {
1230
+ relevanssi_debug_echo( "\tKey: " . $field . ' - value: ' . $value );
1231
  }
1232
 
1233
  /** This filter is documented in lib/indexing.php */
lib/init.php CHANGED
@@ -66,10 +66,9 @@ register_activation_hook( $relevanssi_variables['file'], 'relevanssi_install' );
66
  *
67
  * @global string $pagenow Current admin page.
68
  * @global array $relevanssi_variables The global Relevanssi variables array.
69
- * @global object $wpdb The WP database interface.
70
  */
71
  function relevanssi_init() {
72
- global $pagenow, $relevanssi_variables, $wpdb;
73
 
74
  $plugin_dir = dirname( plugin_basename( $relevanssi_variables['file'] ) );
75
  load_plugin_textdomain( 'relevanssi', false, $plugin_dir . '/languages' );
@@ -201,11 +200,6 @@ function relevanssi_init() {
201
  if ( defined( 'NINJA_TABLES_VERSION' ) ) {
202
  require_once 'compatibility/ninjatables.php';
203
  }
204
-
205
- // For problems in 2.5.0 / 4.4.0. Remove eventually.
206
- if ( empty( get_option( 'relevanssi_stopwords', '' ) ) ) {
207
- relevanssi_populate_stopwords();
208
- }
209
  }
210
 
211
  /**
66
  *
67
  * @global string $pagenow Current admin page.
68
  * @global array $relevanssi_variables The global Relevanssi variables array.
 
69
  */
70
  function relevanssi_init() {
71
+ global $pagenow, $relevanssi_variables;
72
 
73
  $plugin_dir = dirname( plugin_basename( $relevanssi_variables['file'] ) );
74
  load_plugin_textdomain( 'relevanssi', false, $plugin_dir . '/languages' );
200
  if ( defined( 'NINJA_TABLES_VERSION' ) ) {
201
  require_once 'compatibility/ninjatables.php';
202
  }
 
 
 
 
 
203
  }
204
 
205
  /**
lib/interface.php CHANGED
@@ -67,6 +67,12 @@ function relevanssi_options() {
67
  relevanssi_remove_all_stopwords();
68
  }
69
 
 
 
 
 
 
 
70
  if ( isset( $_REQUEST['addbodystopword'] ) ) {
71
  check_admin_referer( plugin_basename( $relevanssi_variables['file'] ), 'relevanssi_options' );
72
  relevanssi_add_body_stopword( $_REQUEST['addbodystopword'] );
@@ -403,7 +409,7 @@ function update_relevanssi_options() {
403
  update_option( 'relevanssi_class', $_REQUEST['relevanssi_class'] );
404
  }
405
  if ( isset( $_REQUEST['relevanssi_expst'] ) ) {
406
- update_option( 'relevanssi_exclude_posts', $_REQUEST['relevanssi_expst'] );
407
  }
408
  if ( isset( $_REQUEST['relevanssi_hilite_title'] ) ) {
409
  update_option( 'relevanssi_hilite_title', $_REQUEST['relevanssi_hilite_title'] );
@@ -749,7 +755,12 @@ function relevanssi_date_queries( $days, $title, $version = 'good' ) {
749
  $url = get_bloginfo( 'url' );
750
  foreach ( $queries as $query ) {
751
  $search_parameter = rawurlencode( $query->query );
752
- $query_url = $url . '/?s=' . $search_parameter;
 
 
 
 
 
753
  printf(
754
  "<tr><td><a href='%s'>%s</a></td><td style='padding: 3px 5px; text-align: center'>%d</td><td style='padding: 3px 5px; text-align: center'>%d</td></tr>",
755
  esc_attr( $query_url ),
67
  relevanssi_remove_all_stopwords();
68
  }
69
 
70
+ if ( isset( $_REQUEST['repopulatestopwords'] ) ) {
71
+ check_admin_referer( plugin_basename( $relevanssi_variables['file'] ), 'relevanssi_options' );
72
+ $verbose = true;
73
+ relevanssi_populate_stopwords( $verbose );
74
+ }
75
+
76
  if ( isset( $_REQUEST['addbodystopword'] ) ) {
77
  check_admin_referer( plugin_basename( $relevanssi_variables['file'] ), 'relevanssi_options' );
78
  relevanssi_add_body_stopword( $_REQUEST['addbodystopword'] );
409
  update_option( 'relevanssi_class', $_REQUEST['relevanssi_class'] );
410
  }
411
  if ( isset( $_REQUEST['relevanssi_expst'] ) ) {
412
+ update_option( 'relevanssi_exclude_posts', trim( $_REQUEST['relevanssi_expst'], ' ,' ) );
413
  }
414
  if ( isset( $_REQUEST['relevanssi_hilite_title'] ) ) {
415
  update_option( 'relevanssi_hilite_title', $_REQUEST['relevanssi_hilite_title'] );
755
  $url = get_bloginfo( 'url' );
756
  foreach ( $queries as $query ) {
757
  $search_parameter = rawurlencode( $query->query );
758
+ /**
759
+ * Filters the query URL for the user searches page.
760
+ *
761
+ * @param string Query URL.
762
+ */
763
+ $query_url = apply_filters( 'relevanssi_user_searches_query_url', $url . '/?s=' . $search_parameter );
764
  printf(
765
  "<tr><td><a href='%s'>%s</a></td><td style='padding: 3px 5px; text-align: center'>%d</td><td style='padding: 3px 5px; text-align: center'>%d</td></tr>",
766
  esc_attr( $query_url ),
lib/search-query-restrictions.php CHANGED
@@ -228,10 +228,12 @@ function relevanssi_process_meta_query( $meta_query ) {
228
  /**
229
  * Processes the date query parameter to MySQL query restrictions.
230
  *
231
- * Uses the WP_Date_Query object to parse the query variables to create the MySQL
232
- * WHERE clause.
233
- *
234
- * Tested.
 
 
235
  *
236
  * @see WP_Date_Query
237
  *
@@ -246,9 +248,23 @@ function relevanssi_process_date_query( $date_query ) {
246
 
247
  $query_restrictions = '';
248
  if ( method_exists( $date_query, 'get_sql' ) ) {
249
- $sql = $date_query->get_sql(); // AND ( the query itself ).
250
- $query_restrictions = " AND relevanssi.doc IN ( SELECT DISTINCT(ID) FROM $wpdb->posts WHERE 1 $sql )";
251
- // Clean: $sql generated by $date_query->get_sql() query.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
252
  }
253
  return $query_restrictions;
254
  }
@@ -265,7 +281,7 @@ function relevanssi_process_date_query( $date_query ) {
265
  */
266
  function relevanssi_process_expost( $expost ) {
267
  $posts_to_exclude = '';
268
- $excluded_post_ids_unchecked = explode( ',', $expost );
269
  $excluded_post_ids = array();
270
  foreach ( $excluded_post_ids_unchecked as $excluded_post_id ) {
271
  $excluded_post_ids[] = intval( trim( $excluded_post_id, ' -' ) );
228
  /**
229
  * Processes the date query parameter to MySQL query restrictions.
230
  *
231
+ * Uses the WP_Date_Query object to parse the query variables to create the
232
+ * MySQL WHERE clause. By default using a date query will block taxonomy terms
233
+ * and user profiles from the search (because they don't have a post ID and
234
+ * also don't have date information associated with them). If you want to keep
235
+ * the user profiles and taxonomy terms in the search, set the filter hook
236
+ * `relevanssi_date_query_non_posts` to return true.
237
  *
238
  * @see WP_Date_Query
239
  *
248
 
249
  $query_restrictions = '';
250
  if ( method_exists( $date_query, 'get_sql' ) ) {
251
+ $sql = $date_query->get_sql(); // Format: AND (the query).
252
+ $query = " relevanssi.doc IN (
253
+ SELECT DISTINCT(ID) FROM $wpdb->posts WHERE 1 $sql )
254
+ ";
255
+ /**
256
+ * If true, include non-posts (users, terms) in searches with a date
257
+ * query filter.
258
+ *
259
+ * @param boolean Allow non-posts? Default false.
260
+ */
261
+ if ( apply_filters( 'relevanssi_date_query_non_posts', false ) ) {
262
+ $query_restrictions = " AND ( $query OR relevanssi.doc = -1 ) ";
263
+ // Clean: $sql generated by $date_query->get_sql() query.
264
+ } else {
265
+ $query_restrictions = " AND $query ";
266
+ // Clean: $sql generated by $date_query->get_sql() query.
267
+ }
268
  }
269
  return $query_restrictions;
270
  }
281
  */
282
  function relevanssi_process_expost( $expost ) {
283
  $posts_to_exclude = '';
284
+ $excluded_post_ids_unchecked = explode( ',', trim( $expost, ' ,' ) );
285
  $excluded_post_ids = array();
286
  foreach ( $excluded_post_ids_unchecked as $excluded_post_id ) {
287
  $excluded_post_ids[] = intval( trim( $excluded_post_id, ' -' ) );
lib/search-tax-query.php CHANGED
@@ -318,8 +318,10 @@ function relevanssi_get_term_in( $terms_parameter, $taxonomy, $field_name ) {
318
  }
319
  foreach ( $terms_parameter as $name ) {
320
  $term = get_term_by( $field_name, $name, $taxonomy );
321
- if ( ! $term && ctype_digit( strval( $name ) ) ) {
322
- $numeric_terms[] = $name;
 
 
323
  } else {
324
  if ( isset( $term->term_id ) && in_array( $field_name, array( 'slug', 'name' ), true ) ) {
325
  $names[] = "'" . esc_sql( $name ) . "'";
318
  }
319
  foreach ( $terms_parameter as $name ) {
320
  $term = get_term_by( $field_name, $name, $taxonomy );
321
+ if ( ! $term ) {
322
+ if ( ctype_digit( strval( $name ) ) ) {
323
+ $numeric_terms[] = $name;
324
+ }
325
  } else {
326
  if ( isset( $term->term_id ) && in_array( $field_name, array( 'slug', 'name' ), true ) ) {
327
  $names[] = "'" . esc_sql( $name ) . "'";
lib/search.php CHANGED
@@ -192,7 +192,6 @@ function relevanssi_search( $args ) {
192
  $mysqlcolumn_matches = array();
193
  $author_matches = array();
194
  $excerpt_matches = array();
195
- $scores = array();
196
  $term_hits = array();
197
 
198
  $fuzzy = get_option( 'relevanssi_fuzzy' );
@@ -581,10 +580,6 @@ function relevanssi_search( $args ) {
581
  $doc_weight[ $match->doc ] = 0;
582
  }
583
  $doc_weight[ $match->doc ] += $match->weight;
584
- if ( ! isset( $scores[ $match->doc ] ) ) {
585
- $scores[ $match->doc ] = 0;
586
- }
587
- $scores[ $match->doc ] += $match->weight;
588
  // For AND searches, add the posts to the $include_these lists, so that
589
  // nothing is missed.
590
  if ( is_numeric( $match->doc ) && 'AND' === $operator ) {
@@ -706,6 +701,7 @@ function relevanssi_search( $args ) {
706
  $mysqlcolumn_matches = $return['mysqlcolumn_matches'];
707
  $excerpt_matches = $return['excerpt_matches'];
708
  $term_hits = $return['term_hits'];
 
709
  $q = $return['query'];
710
  }
711
  $params = array( 'args' => $args );
@@ -735,6 +731,7 @@ function relevanssi_search( $args ) {
735
  $mysqlcolumn_matches = $return['mysqlcolumn_matches'];
736
  $excerpt_matches = $return['excerpt_matches'];
737
  $term_hits = $return['term_hits'];
 
738
  $q = $return['query'];
739
  }
740
  }
@@ -747,10 +744,10 @@ function relevanssi_search( $args ) {
747
  /**
748
  * Filters the 'orderby' value just before sorting.
749
  *
750
- * Relevanssi can use both array orderby ie. array( orderby => order ) with
751
- * multiple orderby parameters, or a single pair of orderby and order
752
- * parameters. To avoid problems, try sticking to one and don't use this
753
- * filter to make surprising changes between different formats.
754
  *
755
  * @param string The 'orderby' parameter.
756
  */
@@ -794,9 +791,9 @@ function relevanssi_search( $args ) {
794
  'mysqlcolumn_matches' => $mysqlcolumn_matches,
795
  'author_matches' => $author_matches,
796
  'excerpt_matches' => $excerpt_matches,
797
- 'scores' => $scores,
798
  'term_hits' => $term_hits,
799
  'query' => $q,
 
800
  );
801
 
802
  return $return;
@@ -938,17 +935,34 @@ function relevanssi_do_query( &$query ) {
938
  $highlight = get_option( 'relevanssi_highlight' );
939
  if ( 'none' !== $highlight ) {
940
  if ( ! is_admin() || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) {
941
- $post->post_highlighted_title = relevanssi_highlight_terms( $post->post_highlighted_title, $q );
 
 
 
942
  }
943
  }
944
  }
945
 
 
 
 
 
 
 
 
 
946
  if ( 'on' === $make_excerpts && empty( $search_params['fields'] ) ) {
947
  if ( isset( $post->blog_id ) ) {
948
  switch_to_blog( $post->blog_id );
949
  }
950
  $post->original_excerpt = $post->post_excerpt;
951
- $post->post_excerpt = relevanssi_do_excerpt( $post, $q );
 
 
 
 
 
 
952
  if ( isset( $post->blog_id ) ) {
953
  restore_current_blog();
954
  }
@@ -957,30 +971,9 @@ function relevanssi_do_query( &$query ) {
957
  relevanssi_add_matches( $post, $return );
958
  }
959
  if ( 'on' === get_option( 'relevanssi_show_matches' ) && empty( $search_params['fields'] ) ) {
960
- $post_id = $post->ID;
961
- if ( 'user' === $post->post_type ) {
962
- $post_id = 'u_' . $post->user_id;
963
- } elseif ( 'post_type' === $post->post_type ) {
964
- $post_id = 'p_' . $post->ID;
965
- } elseif ( isset( $post->term_id ) ) {
966
- $post_id = '**' . $post->post_type . '**' . $post->term_id;
967
- }
968
- if ( isset( $post->blog_id ) ) {
969
- $post_id = $post->blog_id . '|' . $post->ID;
970
- }
971
  $post->post_excerpt .= relevanssi_show_matches( $post );
972
  }
973
 
974
- if ( empty( $search_params['fields'] ) ) {
975
- $post_id = $post->ID;
976
- if ( isset( $post->blog_id ) ) {
977
- $post_id = $post->blog_id . '|' . $post->ID;
978
- }
979
- if ( isset( $return['scores'][ $post_id ] ) ) {
980
- $post->relevance_score = round( $return['scores'][ $post_id ], 2 );
981
- }
982
- }
983
-
984
  $posts[] = $post;
985
  }
986
 
192
  $mysqlcolumn_matches = array();
193
  $author_matches = array();
194
  $excerpt_matches = array();
 
195
  $term_hits = array();
196
 
197
  $fuzzy = get_option( 'relevanssi_fuzzy' );
580
  $doc_weight[ $match->doc ] = 0;
581
  }
582
  $doc_weight[ $match->doc ] += $match->weight;
 
 
 
 
583
  // For AND searches, add the posts to the $include_these lists, so that
584
  // nothing is missed.
585
  if ( is_numeric( $match->doc ) && 'AND' === $operator ) {
701
  $mysqlcolumn_matches = $return['mysqlcolumn_matches'];
702
  $excerpt_matches = $return['excerpt_matches'];
703
  $term_hits = $return['term_hits'];
704
+ $doc_weight = $return['doc_weights'];
705
  $q = $return['query'];
706
  }
707
  $params = array( 'args' => $args );
731
  $mysqlcolumn_matches = $return['mysqlcolumn_matches'];
732
  $excerpt_matches = $return['excerpt_matches'];
733
  $term_hits = $return['term_hits'];
734
+ $doc_weight = $return['doc_weights'];
735
  $q = $return['query'];
736
  }
737
  }
744
  /**
745
  * Filters the 'orderby' value just before sorting.
746
  *
747
+ * Relevanssi can use both array orderby ie. array( orderby => order )
748
+ * with multiple orderby parameters, or a single pair of orderby and
749
+ * order parameters. To avoid problems, try sticking to one and don't
750
+ * use this filter to make surprising changes between different formats.
751
  *
752
  * @param string The 'orderby' parameter.
753
  */
791
  'mysqlcolumn_matches' => $mysqlcolumn_matches,
792
  'author_matches' => $author_matches,
793
  'excerpt_matches' => $excerpt_matches,
 
794
  'term_hits' => $term_hits,
795
  'query' => $q,
796
+ 'doc_weights' => $doc_weight,
797
  );
798
 
799
  return $return;
935
  $highlight = get_option( 'relevanssi_highlight' );
936
  if ( 'none' !== $highlight ) {
937
  if ( ! is_admin() || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) {
938
+ $post->post_highlighted_title = relevanssi_highlight_terms(
939
+ $post->post_highlighted_title,
940
+ $q
941
+ );
942
  }
943
  }
944
  }
945
 
946
+ /*
947
+ * If you need to modify these on the go, use
948
+ * 'pre_option_relevanssi_excerpt_length' and
949
+ * pre_option_relevanssi_excerpt_type' filters.
950
+ */
951
+ $excerpt_length = get_option( 'relevanssi_excerpt_length' );
952
+ $excerpt_type = get_option( 'relevanssi_excerpt_type' );
953
+
954
  if ( 'on' === $make_excerpts && empty( $search_params['fields'] ) ) {
955
  if ( isset( $post->blog_id ) ) {
956
  switch_to_blog( $post->blog_id );
957
  }
958
  $post->original_excerpt = $post->post_excerpt;
959
+ $post->post_excerpt = relevanssi_do_excerpt(
960
+ $post,
961
+ $q,
962
+ $excerpt_length,
963
+ $excerpt_type
964
+ );
965
+
966
  if ( isset( $post->blog_id ) ) {
967
  restore_current_blog();
968
  }
971
  relevanssi_add_matches( $post, $return );
972
  }
973
  if ( 'on' === get_option( 'relevanssi_show_matches' ) && empty( $search_params['fields'] ) ) {
 
 
 
 
 
 
 
 
 
 
 
974
  $post->post_excerpt .= relevanssi_show_matches( $post );
975
  }
976
 
 
 
 
 
 
 
 
 
 
 
977
  $posts[] = $post;
978
  }
979
 
lib/stopwords.php CHANGED
@@ -12,27 +12,74 @@
12
  * Reads automatically the correct stopwords for the current language set in
13
  * WPLANG.
14
  *
 
 
 
 
 
15
  * @global object $wpdb The WordPress database interface.
16
  * @global array $relevanssi_variables The global Relevanssi variables array.
 
 
 
 
 
 
17
  */
18
- function relevanssi_populate_stopwords() {
19
  global $relevanssi_variables, $wpdb;
20
 
21
  $stopword_table = $relevanssi_variables['stopword_table'];
22
  $stopwords_from_table = $wpdb->get_col( "SELECT * FROM $stopword_table" ); // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared
23
  if ( count( $stopwords_from_table ) > 1 ) {
24
  array_walk( $stopwords_from_table, 'relevanssi_add_single_stopword' );
25
- } else {
26
- $lang = get_option( 'WPLANG', 'en_US' );
 
 
 
 
27
 
28
- if ( file_exists( $relevanssi_variables['plugin_dir'] . 'stopwords/stopwords.' . $lang ) ) {
29
- include $relevanssi_variables['plugin_dir'] . 'stopwords/stopwords.' . $lang;
 
30
 
31
- if ( is_array( $stopwords ) ) {
32
- array_walk( $stopwords, 'relevanssi_add_single_stopword' );
33
- }
34
- }
 
 
 
 
 
 
 
 
 
35
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  }
37
 
38
  /**
@@ -44,7 +91,7 @@ function relevanssi_populate_stopwords() {
44
  */
45
  function relevanssi_fetch_stopwords() {
46
  $stopwords = get_option( 'relevanssi_stopwords', '' );
47
- $stopword_list = explode( ',', $stopwords );
48
 
49
  return $stopword_list;
50
  }
@@ -53,50 +100,70 @@ function relevanssi_fetch_stopwords() {
53
  * Adds a stopword to the list of stopwords.
54
  *
55
  * @param string $term The stopword that is added.
56
- * @param boolean $verbose If true, print out notice. If false, be silent. Default
57
- * true.
58
  *
59
  * @return boolean True, if success; false otherwise.
60
  */
61
  function relevanssi_add_stopword( $term, $verbose = true ) {
62
  if ( empty( $term ) ) {
63
- return;
64
  }
65
 
66
- $n = 0;
67
- $s = 0;
68
 
69
  $terms = explode( ',', $term );
70
  if ( count( $terms ) > 1 ) {
71
- foreach ( $terms as $term ) {
72
- $n++;
73
- $term = trim( $term );
74
- $success = relevanssi_add_single_stopword( $term );
75
- if ( $success ) {
76
- $s++;
77
- }
78
- }
79
- if ( $verbose ) {
80
- // translators: %1$d is the successful entries, %2$d is the total entries.
81
- printf( "<div id='message' class='updated fade'><p>%s</p></div>", sprintf( esc_html__( 'Successfully added %1$d/%2$d terms to stopwords!', 'relevanssi' ), intval( $s ), intval( $n ) ) );
82
- }
83
- } else {
84
- // Add to stopwords.
85
- $success = relevanssi_add_single_stopword( $term );
86
-
87
- $term = stripslashes( $term );
88
- $term = esc_html( $term );
89
- if ( $verbose ) {
90
- if ( $success ) {
91
- // Translators: %s is the stopword.
92
- printf( "<div id='message' class='updated fade'><p>%s</p></div>", sprintf( esc_html__( "Term '%s' added to stopwords!", 'relevanssi' ), esc_html( stripslashes( $term ) ) ) );
93
- } else {
94
- // Translators: %s is the stopword.
95
- printf( "<div id='message' class='updated fade'><p>%s</p></div>", sprintf( esc_html__( "Couldn't add term '%s' to stopwords!", 'relevanssi' ), esc_html( stripslashes( $term ) ) ) );
96
- }
97
- }
98
  }
99
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
100
  return $success;
101
  }
102
 
@@ -115,15 +182,19 @@ function relevanssi_add_single_stopword( $term ) {
115
  return false;
116
  }
117
 
118
- $term = stripslashes( relevanssi_strtolower( $term ) );
119
-
120
  $stopwords = get_option( 'relevanssi_stopwords', '' );
121
- if ( ! empty( $stopwords ) ) {
122
- $stopwords .= ',';
123
 
 
 
 
124
  }
125
- $stopwords .= $term;
126
- $success = update_option( 'relevanssi_stopwords', $stopwords );
 
 
 
 
127
 
128
  if ( ! $success ) {
129
  return false;
@@ -134,7 +205,8 @@ function relevanssi_add_single_stopword( $term ) {
134
  // Remove from index.
135
  $wpdb->query(
136
  $wpdb->prepare(
137
- 'DELETE FROM ' . $relevanssi_variables['relevanssi_table'] . ' WHERE term=%s', // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
 
138
  $term
139
  )
140
  );
@@ -146,15 +218,31 @@ function relevanssi_add_single_stopword( $term ) {
146
  * Removes all stopwords.
147
  *
148
  * Empties the relevanssi_stopwords option.
 
 
 
 
149
  */
150
- function relevanssi_remove_all_stopwords() {
151
  $success = update_option( 'relevanssi_stopwords', '' );
152
 
153
- if ( $success ) {
154
- printf( "<div id='message' class='updated fade'><p>%s</p></div>", esc_html__( 'All stopwords removed! Remember to re-index.', 'relevanssi' ) );
155
- } else {
156
- printf( "<div id='message' class='updated fade'><p>%s</p></div>", esc_html__( "There was a problem, and stopwords couldn't be removed.", 'relevanssi' ) );
157
- }
 
 
 
 
 
 
 
 
 
 
 
 
158
  }
159
 
160
  /**
@@ -172,12 +260,14 @@ function relevanssi_remove_stopword( $term, $verbose = true ) {
172
  $stopwords = get_option( 'relevanssi_stopwords', '' );
173
  $success = false;
174
 
 
 
175
  $stopwords_array = explode( ',', $stopwords );
176
  if ( is_array( $stopwords_array ) ) {
177
  $stopwords_array = array_filter(
178
  $stopwords_array,
179
- function( $v ) use ( $term ) {
180
- return $v !== $term;
181
  }
182
  );
183
 
@@ -185,17 +275,31 @@ function relevanssi_remove_stopword( $term, $verbose = true ) {
185
  $success = update_option( 'relevanssi_stopwords', $stopwords );
186
  }
187
 
188
- if ( $success ) {
189
- if ( $verbose ) {
190
- // Translators: %s is the stopword.
191
- printf( "<div id='message' class='updated fade'><p>%s</p></div>", sprintf( esc_html__( "Term '%s' removed from stopwords! Re-index to get it back to index.", 'relevanssi' ), esc_html( stripslashes( $term ) ) ) );
192
- }
193
- return true;
194
- } else {
195
- if ( $verbose ) {
196
- // Translators: %s is the stopword.
197
- printf( "<div id='message' class='updated fade'><p>%s</p></div>", sprintf( esc_html__( "Couldn't remove term '%s' from stopwords!", 'relevanssi' ), esc_html( stripslashes( $term ) ) ) );
198
- }
199
- return false;
200
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
201
  }
12
  * Reads automatically the correct stopwords for the current language set in
13
  * WPLANG.
14
  *
15
+ * The stopwords are first read from the wp_relevanssi_stopwords database table
16
+ * (which is where they were stored before they were moved to an option), but
17
+ * if the table is empty (as it will be in new installations), the stopwords are
18
+ * read from the stopword file for the current language (defaulting to en_US).
19
+ *
20
  * @global object $wpdb The WordPress database interface.
21
  * @global array $relevanssi_variables The global Relevanssi variables array.
22
+ *
23
+ * @param boolean $verbose If true, output results. Default false.
24
+ *
25
+ * @return string Result: 'database' for reading from database, 'file' for
26
+ * reading from file, 'no_file' for non-existing file, 'file_error' for file
27
+ * with non-acceptable data.
28
  */
29
+ function relevanssi_populate_stopwords( $verbose = false ) {
30
  global $relevanssi_variables, $wpdb;
31
 
32
  $stopword_table = $relevanssi_variables['stopword_table'];
33
  $stopwords_from_table = $wpdb->get_col( "SELECT * FROM $stopword_table" ); // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared
34
  if ( count( $stopwords_from_table ) > 1 ) {
35
  array_walk( $stopwords_from_table, 'relevanssi_add_single_stopword' );
36
+ $verbose && printf(
37
+ "<div id='message' class='updated fade'><p>%s</p></div>",
38
+ esc_html__( 'Added stopwords from the database.', 'relevanssi' )
39
+ );
40
+ return 'database';
41
+ }
42
 
43
+ $lang = get_locale();
44
+ $stopword_file = $relevanssi_variables['plugin_dir']
45
+ . 'stopwords/stopwords.' . $lang;
46
 
47
+ if ( ! file_exists( $stopword_file ) ) {
48
+ $verbose && printf(
49
+ "<div id='message' class='updated fade'><p>%s</p></div>",
50
+ sprintf(
51
+ // Translators: %s is the language code.
52
+ esc_html__(
53
+ "The stopword file for the language '%s' doesn't exist.",
54
+ 'relevanssi'
55
+ ),
56
+ esc_html( $lang )
57
+ )
58
+ );
59
+ return 'no_file';
60
  }
61
+
62
+ $stopwords = array();
63
+ include $stopword_file; // Contains the stopwords in the $stopwords array.
64
+
65
+ if ( ! is_array( $stopwords ) ) {
66
+ $verbose && printf(
67
+ "<div id='message' class='updated fade'><p>%s</p></div>",
68
+ esc_html__(
69
+ "Couldn't read the stopwords from the file.",
70
+ 'relevanssi'
71
+ )
72
+ );
73
+ return 'file_error';
74
+ }
75
+
76
+ array_walk( $stopwords, 'relevanssi_add_single_stopword' );
77
+ $verbose && printf(
78
+ "<div id='message' class='updated fade'><p>%s</p></div>",
79
+ esc_html__( 'Added stopwords from the stopword file.', 'relevanssi' )
80
+ );
81
+
82
+ return 'file';
83
  }
84
 
85
  /**
91
  */
92
  function relevanssi_fetch_stopwords() {
93
  $stopwords = get_option( 'relevanssi_stopwords', '' );
94
+ $stopword_list = $stopwords ? explode( ',', $stopwords ) : array();
95
 
96
  return $stopword_list;
97
  }
100
  * Adds a stopword to the list of stopwords.
101
  *
102
  * @param string $term The stopword that is added.
103
+ * @param boolean $verbose If true, print out notices. Default true.
 
104
  *
105
  * @return boolean True, if success; false otherwise.
106
  */
107
  function relevanssi_add_stopword( $term, $verbose = true ) {
108
  if ( empty( $term ) ) {
109
+ return false;
110
  }
111
 
112
+ $total_stopwords = 0;
113
+ $successfully_added = 0;
114
 
115
  $terms = explode( ',', $term );
116
  if ( count( $terms ) > 1 ) {
117
+ $total_stopwords = count( $terms );
118
+ $successfully_added = array_reduce(
119
+ $terms,
120
+ function ( $counter, $term ) {
121
+ $success = relevanssi_add_single_stopword( trim( $term ) );
122
+ $success && $counter++;
123
+ return $counter;
124
+ },
125
+ 0
126
+ );
127
+
128
+ $verbose &&
129
+ printf(
130
+ "<div id='message' class='updated fade'><p>%s</p></div>",
131
+ sprintf(
132
+ // translators: %1$d is the successful entries, %2$d is the total entries.
133
+ esc_html__(
134
+ 'Successfully added %1$d/%2$d terms to stopwords!',
135
+ 'relevanssi'
136
+ ),
137
+ intval( $successfully_added ),
138
+ intval( $total_stopwords )
139
+ )
140
+ );
141
+ return boolval( $successfully_added );
 
 
142
  }
143
 
144
+ // Add to stopwords.
145
+ $success = relevanssi_add_single_stopword( $term );
146
+
147
+ $term = esc_html( $term );
148
+
149
+ $verbose && $success && printf(
150
+ "<div id='message' class='updated fade'><p>%s</p></div>",
151
+ sprintf(
152
+ // Translators: %s is the stopword.
153
+ esc_html__( "Term '%s' added to stopwords!", 'relevanssi' ),
154
+ esc_html( stripslashes( $term ) )
155
+ )
156
+ );
157
+
158
+ $verbose && ! $success && printf(
159
+ "<div id='message' class='updated fade'><p>%s</p></div>",
160
+ sprintf(
161
+ // Translators: %s is the stopword.
162
+ esc_html__( "Couldn't add term '%s' to stopwords!", 'relevanssi' ),
163
+ esc_html( stripslashes( $term ) )
164
+ )
165
+ );
166
+
167
  return $success;
168
  }
169
 
182
  return false;
183
  }
184
 
185
+ $term = stripslashes( relevanssi_strtolower( $term ) );
 
186
  $stopwords = get_option( 'relevanssi_stopwords', '' );
 
 
187
 
188
+ $stopwords_array = explode( ',', $stopwords );
189
+ if ( in_array( $term, $stopwords_array, true ) ) {
190
+ return false;
191
  }
192
+
193
+ $stopwords_array[] = $term;
194
+ $success = update_option(
195
+ 'relevanssi_stopwords',
196
+ implode( ',', array_filter( $stopwords_array ) )
197
+ );
198
 
199
  if ( ! $success ) {
200
  return false;
205
  // Remove from index.
206
  $wpdb->query(
207
  $wpdb->prepare(
208
+ 'DELETE FROM ' . $relevanssi_variables['relevanssi_table'] . // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
209
+ ' WHERE term=%s',
210
  $term
211
  )
212
  );
218
  * Removes all stopwords.
219
  *
220
  * Empties the relevanssi_stopwords option.
221
+ *
222
+ * @param boolean $verbose If true, print out notice. Default true.
223
+ *
224
+ * @return boolean True, if able to remove the options.
225
  */
226
+ function relevanssi_remove_all_stopwords( $verbose = true ) {
227
  $success = update_option( 'relevanssi_stopwords', '' );
228
 
229
+ $verbose && $success && printf(
230
+ "<div id='message' class='updated fade'><p>%s</p></div>",
231
+ esc_html__(
232
+ 'All stopwords removed! Remember to re-index.',
233
+ 'relevanssi'
234
+ )
235
+ );
236
+
237
+ $verbose && ! $success && printf(
238
+ "<div id='message' class='updated fade'><p>%s</p></div>",
239
+ esc_html__(
240
+ "There was a problem, and stopwords couldn't be removed.",
241
+ 'relevanssi'
242
+ )
243
+ );
244
+
245
+ return $success;
246
  }
247
 
248
  /**
260
  $stopwords = get_option( 'relevanssi_stopwords', '' );
261
  $success = false;
262
 
263
+ $term = stripslashes( $term );
264
+
265
  $stopwords_array = explode( ',', $stopwords );
266
  if ( is_array( $stopwords_array ) ) {
267
  $stopwords_array = array_filter(
268
  $stopwords_array,
269
+ function( $stopword ) use ( $term ) {
270
+ return $stopword !== $term;
271
  }
272
  );
273
 
275
  $success = update_option( 'relevanssi_stopwords', $stopwords );
276
  }
277
 
278
+ $verbose && $success &&
279
+ printf(
280
+ "<div id='message' class='updated fade'><p>%s</p></div>",
281
+ sprintf(
282
+ // Translators: %s is the stopword.
283
+ esc_html__(
284
+ "Term '%s' removed from stopwords! Re-index to get it back to index.",
285
+ 'relevanssi'
286
+ ),
287
+ esc_html( stripslashes( $term ) )
288
+ )
289
+ );
290
+
291
+ $verbose && ! $success &&
292
+ printf(
293
+ "<div id='message' class='updated fade'><p>%s</p></div>",
294
+ sprintf(
295
+ // Translators: %s is the stopword.
296
+ esc_html__(
297
+ "Couldn't remove term '%s' from stopwords!",
298
+ 'relevanssi'
299
+ ),
300
+ esc_html( stripslashes( $term ) )
301
+ )
302
+ );
303
+
304
+ return $success;
305
  }
lib/tabs/overview-tab.php CHANGED
@@ -106,7 +106,7 @@ function relevanssi_overview_tab() {
106
  <td>
107
  <p><a href="https://www.relevanssi.com/buy-premium"><?php esc_html_e( 'Buy Relevanssi Premium now', 'relevanssi' ); ?></a> –
108
  <?php // Translators: %1$s is the coupon code, %2$s is the year it expires. ?>
109
- <?php printf( esc_html__( 'use coupon code %1$s for 20%% discount (valid at least until the end of %2$s)', 'relevanssi' ), '<strong>FREE2019</strong>', '2019' ); ?></p>
110
  <p><?php esc_html_e( 'Here are some improvements Relevanssi Premium offers:', 'relevanssi' ); ?></p>
111
  <ul class="relevanssi_ul">
112
  <li><?php esc_html_e( 'PDF content indexing', 'relevanssi' ); ?></li>
106
  <td>
107
  <p><a href="https://www.relevanssi.com/buy-premium"><?php esc_html_e( 'Buy Relevanssi Premium now', 'relevanssi' ); ?></a> –
108
  <?php // Translators: %1$s is the coupon code, %2$s is the year it expires. ?>
109
+ <?php printf( esc_html__( 'use coupon code %1$s for 20%% discount (valid at least until the end of %2$s)', 'relevanssi' ), '<strong>FREE2020</strong>', '2020' ); ?></p>
110
  <p><?php esc_html_e( 'Here are some improvements Relevanssi Premium offers:', 'relevanssi' ); ?></p>
111
  <ul class="relevanssi_ul">
112
  <li><?php esc_html_e( 'PDF content indexing', 'relevanssi' ); ?></li>
lib/tabs/stopwords-tab.php CHANGED
@@ -87,7 +87,22 @@ function relevanssi_show_stopwords() {
87
  $exportlist = htmlspecialchars( str_replace( ',', ', ', $stopword_list ) );
88
  ?>
89
  </ul>
90
- <p><input type="submit" id="removeallstopwords" name="removeallstopwords" value="<?php esc_attr_e( 'Remove all stopwords', 'relevanssi' ); ?>" class='button' /></p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
91
  </td>
92
  </tr>
93
  <tr>
87
  $exportlist = htmlspecialchars( str_replace( ',', ', ', $stopword_list ) );
88
  ?>
89
  </ul>
90
+ <p>
91
+ <input
92
+ type="submit"
93
+ id="removeallstopwords"
94
+ name="removeallstopwords"
95
+ value="<?php esc_attr_e( 'Remove all stopwords', 'relevanssi' ); ?>"
96
+ class='button'
97
+ />
98
+ <input
99
+ type="submit"
100
+ id="repopulatestopwords"
101
+ name="repopulatestopwords"
102
+ value="<?php esc_attr_e( 'Add default stopwords', 'relevanssi' ); ?>"
103
+ class='button'
104
+ />
105
+ </p>
106
  </td>
107
  </tr>
108
  <tr>
readme.txt CHANGED
@@ -3,9 +3,9 @@ Contributors: msaari
3
  Donate link: https://www.relevanssi.com/buy-premium/
4
  Tags: search, relevance, better search
5
  Requires at least: 4.9
6
- Tested up to: 5.3
7
  Requires PHP: 5.6
8
- Stable tag: 4.4.1
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -133,6 +133,16 @@ Each document database is full of useless words. All the little words that appea
133
  * John Calahan for extensive 4.0 beta testing.
134
 
135
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
136
  = 4.4.1 =
137
  * Major fix: Returns the missing stopwords.
138
 
@@ -147,80 +157,12 @@ Each document database is full of useless words. All the little words that appea
147
  * Minor fix: Untokenized search terms are used for building excerpts, which makes highlighting in excerpts work better.
148
  * Minor fix: Indexing did not adjust the number of posts indexed at one go like it should.
149
 
150
- = 4.3.4 =
151
- * New feature: You can now give Gutenberg blocks a CSS class `relevanssi_noindex` to exclude them from being indexed. Relevanssi will not index Gutenberg blocks that have the class.
152
- * New feature: Relevanssi automatically skips some custom fields from common plugins that only contain unnecessary metadata.
153
- * New feature: The search results breakdown is added to the post objects and can be found in $post->relevanssi_hits. The data also includes new fields and the breakdown from the excerpt settings page can now show author, excerpt, custom field and MySQL column hits.
154
- * New feature: Relevanssi can now index Ninja Tables table content. This is something of an experimental feature right now, feedback is welcome.
155
- * New feature: New filter hook `relevanssi_indexing_query` filters the indexing query and is mostly interesting for debugging reasons.
156
- * Minor fix: Deleted and trashed comment contents were not deindexed when the comment was removed. That has been corrected now.
157
- * Minor fix: Phrase matching is now applied to attachments as well, including the attachments indexed for parent post.
158
- * Minor fix: Phrase matching only looks at custom fields that are indexed by Relevanssi.
159
- * Minor fix: Exact match bonus now uses the original query without synonyms added for the exact match check.
160
- * Minor fix: Paid Membership Pro filtering is only applied to published posts to prevent drafts from showing up in the search results.
161
-
162
- = 4.3.3 =
163
- * New feature: New filter hook `relevanssi_indexing_adjust` can be used to stop Relevanssi from adjusting the number of posts indexed at once during the indexing.
164
- * New feature: New filter hook `relevanssi_acf_field_value` filters ACF field values before they are indexed.
165
- * New feature: New filter hook `relevanssi_disabled_shortcodes` filters the array containing shortcodes that are disabled when indexing.
166
- * Removed feature: The `relevanssi_indexing_limit` option wasn't really used anymore, so it has been removed.
167
- * Changed behaviour: Indexing exclusions from Yoast SEO and SEOPress are applied in a different way in the indexing, making for a smoother indexing process.
168
- * Changed behaviour: WP Table Reloaded support has been removed; you really shouldn't be using WP Table Reloaded anymore.
169
- * Minor fix: Relevanssi won't choke on ACF fields with array or object values anymore.
170
- * Minor fix: Relevanssi uninstall process left couple of Relevanssi options in the database.
171
- * Minor fix: WPML language filter didn't work when `fields` was set to `ids` or `id=>parent`.
172
-
173
- = 4.3.2 =
174
- * New feature: SEOPress support, posts marked "noindex" in SEOPress are no longer indexed by Relevanssi by default.
175
- * Changed behaviour: Membership plugin compatibility is removed from `relevanssi_default_post_ok` function and has been moved to individual compatibility functions for each supported membership plugin. This makes it much easier to for example disable the membership plugin features if required.
176
- * Minor fix: The `searchform` shortcode now works better with different kinds of search forms.
177
- * Minor fix: Yoast SEO compatibility won't block indexing of posts with explicitly allowed indexing.
178
- * Minor fix: The `relevanssi_the_tags()` function printed out plain text, not HTML code like it should. The function now also accepts the post ID as a parameter.
179
- * Minor fix: Excerpt creation and highlighting have been improved a little.
180
-
181
- = 4.3.1.1 =
182
- * Remove notice about undefined index.
183
-
184
- = 4.3.1 =
185
- * Adding a missing file.
186
-
187
- = 4.3.0 =
188
- * New feature: Multi-phrase searches now respect AND and OR operators. If multiple phrases are included in an OR search, any posts with at least one phrase will be included. In AND search, all phrases must be included.
189
- * New feature: Admin search has been improved: there's a post type dropdown and the search is triggered when you press enter. The debug information has a `div` tag around it with the id `debugging`, so you can hide them with CSS if you want to. The numbering of results also makes more sense.
190
- * New feature: The date parameters (`year`, `monthnum`, `w`, `day`, `hour`, `minute`, `second`, `m`) are now supported.
191
- * New feature: New filter hook `relevanssi_indexing_limit` filters the default number of posts to index (10). If you have issues with indexing timing out, you can try adjusting this to a smaller number like 5 or 1.
192
- * New feature: Support for Paid Membership Pro added.
193
- * New feature: WordPress SEO support, posts marked "noindex" in WordPress SEO are no longer indexed by Relevanssi by default.
194
- * Removed feature: qTranslate is no longer supported.
195
- * Major fix: Tax query searching had some bugs in it, manifesting especially into Polylang not limiting the languages correctly. Some problems with the test suites were found and fixed, and similar problems won't happen again.
196
- * Minor fix: Admin search only shows editing options to users with enough capabilities to use them.
197
- * Minor fix: Phrase searching now uses filterable post statuses instead of a hard-coded set of post statuses.
198
- * Minor fix: The plugin action links were missing on the Plugins page list, they're back now.
199
- * Minor fix: Search terms with slashes won't cause errors anymore.
200
- * Minor fix: Relevanssi admin pages have been examined for accessibility and form labels have been improved in many places.
201
- * Deprecated: `relevanssi_get_term_taxonomy()` function is deprecated and will be removed at some point in the future.
202
-
203
  == Upgrade notice ==
 
 
 
204
  = 4.4.1 =
205
  * Fixes missing stopwords problem in 4.4.0.
206
 
207
  = 4.4.0 =
208
  * Changes in relevanssi_page_builder_shortcodes filter hook, page builder indexing and image attachments.
209
-
210
- = 4.3.4 =
211
- * Comment indexing bug fix, compatibility improvements and minor bug fixes and improvements.
212
-
213
- = 4.3.3 =
214
- * Bug fixes and overall improvements.
215
-
216
- = 4.3.2 =
217
- * Yoast SEO compatibility fix, minor updates.
218
-
219
- = 4.3.1.1 =
220
- * Remove an error notice.
221
-
222
- = 4.3.1 =
223
- * Fixes the broken 4.3.0 release.
224
-
225
- = 4.3.0 =
226
- * Major bug fixes for taxonomy queries, new features and smaller improvements.
3
  Donate link: https://www.relevanssi.com/buy-premium/
4
  Tags: search, relevance, better search
5
  Requires at least: 4.9
6
+ Tested up to: 5.3.2
7
  Requires PHP: 5.6
8
+ Stable tag: 4.5.0
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
133
  * John Calahan for extensive 4.0 beta testing.
134
 
135
  == Changelog ==
136
+ = 4.5.0 =
137
+ * New feature: New filter hook `relevanssi_disable_stopwords` can be used to disable stopwords completely. Just add a filter function that returns `true`.
138
+ * Changed behaviour: Stopwords are no longer automatically restored if emptied. It's now possible to empty the stopword list. If you want to restore the stopwords from the file (or from the database, if you're upgrading from an earlier version of Relevanssi and find your stopwords missing), just click the button on the stopwords settings page that restores the stopwords.
139
+ * Changed behaviour: Changes to post weights in the `relevanssi_results` hook did not affect the relevance scores shown in excerpts. That's changed now, and the displayed scores are now taken from the `$doc_weight` array, which is returned in the return value array from `relevanssi_search()`.
140
+ * Changed behaviour: Excerpt length and type are now checked outside the loop that goes through the posts. This reduces the number of database calls required.
141
+ * Minor fix: Searching for regex special characters (for example parentheses, brackets) caused problems in excerpts.
142
+ * Minor fix: Improvements in handling highlighting for words with apostrophes.
143
+ * Minor fix: Disregard hanging commas at the end of post exclusion settings.
144
+ * Minor fix: Sometimes excerpts wouldn't have an ellipsis in the beginning even though they should.
145
+
146
  = 4.4.1 =
147
  * Major fix: Returns the missing stopwords.
148
 
157
  * Minor fix: Untokenized search terms are used for building excerpts, which makes highlighting in excerpts work better.
158
  * Minor fix: Indexing did not adjust the number of posts indexed at one go like it should.
159
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
160
  == Upgrade notice ==
161
+ = 4.5.0 =
162
+ * Bug fixes and improvements to stopword management.
163
+
164
  = 4.4.1 =
165
  * Fixes missing stopwords problem in 4.4.0.
166
 
167
  = 4.4.0 =
168
  * Changes in relevanssi_page_builder_shortcodes filter hook, page builder indexing and image attachments.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
relevanssi.php CHANGED
@@ -13,7 +13,7 @@
13
  * Plugin Name: Relevanssi
14
  * Plugin URI: https://www.relevanssi.com/
15
  * Description: This plugin replaces WordPress search with a relevance-sorting search.
16
- * Version: 4.4.1
17
  * Author: Mikko Saari
18
  * Author URI: http://www.mikkosaari.fi/
19
  * Text Domain: relevanssi
@@ -65,7 +65,7 @@ $relevanssi_variables['database_version'] = 5;
65
  $relevanssi_variables['file'] = __FILE__;
66
  $relevanssi_variables['plugin_dir'] = plugin_dir_path( __FILE__ );
67
  $relevanssi_variables['plugin_basename'] = plugin_basename( __FILE__ );
68
- $relevanssi_variables['plugin_version'] = '4.4.1';
69
 
70
  require_once 'lib/admin-ajax.php';
71
  require_once 'lib/common.php';
13
  * Plugin Name: Relevanssi
14
  * Plugin URI: https://www.relevanssi.com/
15
  * Description: This plugin replaces WordPress search with a relevance-sorting search.
16
+ * Version: 4.5.0
17
  * Author: Mikko Saari
18
  * Author URI: http://www.mikkosaari.fi/
19
  * Text Domain: relevanssi
65
  $relevanssi_variables['file'] = __FILE__;
66
  $relevanssi_variables['plugin_dir'] = plugin_dir_path( __FILE__ );
67
  $relevanssi_variables['plugin_basename'] = plugin_basename( __FILE__ );
68
+ $relevanssi_variables['plugin_version'] = '4.5.0';
69
 
70
  require_once 'lib/admin-ajax.php';
71
  require_once 'lib/common.php';
relevanssi.po CHANGED
@@ -2,7 +2,7 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Relevanssi\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2019-05-27 11:38+0300\n"
6
  "PO-Revision-Date: \n"
7
  "Last-Translator: Mikko Saari <mikko@mikkosaari.fi>\n"
8
  "Language-Team: \n"
@@ -12,65 +12,62 @@ msgstr ""
12
  "Content-Transfer-Encoding: 8bit\n"
13
  "X-Poedit-KeywordsList: _e;__;esc_html__;esc_html_e;_n\n"
14
  "X-Poedit-Basepath: .\n"
15
- "X-Generator: Poedit 2.2.3\n"
16
  "X-Poedit-SearchPath-0: .\n"
17
  "X-Poedit-SearchPath-1: lib\n"
18
 
19
- #: lib/admin-ajax.php:88
20
  #, php-format
21
  msgid "Indexed %1$d post (total %2$d), processed %3$d / %4$d."
22
  msgstr ""
23
 
24
- #: lib/admin-ajax.php:199
 
25
  msgid "Results"
26
  msgstr ""
27
 
28
- #: lib/admin-ajax.php:201
29
  #, php-format
30
- msgid "Found a total of %1$d posts, showing %2$d posts from offset %3$s."
31
  msgstr ""
32
 
33
- #: lib/admin-ajax.php:203
34
  msgid "Previous page"
35
  msgstr ""
36
 
37
- #: lib/admin-ajax.php:206
38
  msgid "Next page"
39
  msgstr ""
40
 
41
- #: lib/admin-ajax.php:210
42
  msgid "Score:"
43
  msgstr ""
44
 
45
- #: lib/admin-ajax.php:232
46
- msgid "View"
47
- msgstr ""
48
-
49
- #: lib/admin-ajax.php:233
50
  msgid "Edit"
51
  msgstr ""
52
 
53
- #: lib/admin-ajax.php:276
54
  msgid "Query variables"
55
  msgstr ""
56
 
57
- #: lib/admin-ajax.php:322
58
  msgid "Filters"
59
  msgstr ""
60
 
61
- #: lib/admin-ajax.php:323
62
  msgid "show"
63
  msgstr ""
64
 
65
- #: lib/admin-ajax.php:324
66
  msgid "hide"
67
  msgstr ""
68
 
69
- #: lib/common.php:1598
70
  msgid "25 most common words in the index"
71
  msgstr ""
72
 
73
- #: lib/common.php:1599
74
  msgid ""
75
  "These words are excellent stopword material. A word that appears in most of "
76
  "the posts in the database is quite pointless when searching. This is also an "
@@ -80,24 +77,19 @@ msgid ""
80
  "necessary."
81
  msgstr ""
82
 
83
- #: lib/common.php:1605
84
  msgid "Stopword Candidates"
85
  msgstr ""
86
 
87
- #: lib/common.php:1610
88
  msgid "Add to stopwords"
89
  msgstr ""
90
 
91
- #: lib/common.php:1613
92
  msgid "Add to content stopwords"
93
  msgstr ""
94
 
95
- #: lib/contextual-help.php:24 lib/interface.php:810
96
- #: lib/tabs/overview-tab.php:56
97
- msgid "Searching"
98
- msgstr ""
99
-
100
- #: lib/contextual-help.php:27
101
  #, php-format
102
  msgid ""
103
  "To adjust the post order, you can use the %1$s query parameter. With %1$s, "
@@ -105,77 +97,80 @@ msgid ""
105
  "href='%2$s'>WordPress Codex</a> for more details on using arrays for orderby."
106
  msgstr ""
107
 
108
- #: lib/contextual-help.php:28
109
- msgid ""
110
- "Inside-word matching is disabled by default, because it increases garbage "
111
- "results that don't really match the search term. If you want to enable it, "
112
- "add the following function to your theme functions.php:"
113
- msgstr ""
114
-
115
- #: lib/contextual-help.php:34
116
  #, php-format
117
  msgid ""
118
  "To get inside-word highlights, uncheck the \"%s\" option. That has a side-"
119
  "effect of enabling the inside-word highlights."
120
  msgstr ""
121
 
122
- #: lib/contextual-help.php:34 lib/tabs/excerpts-tab.php:377
123
- #: lib/tabs/excerpts-tab.php:386
 
124
  msgid "Uncheck this if you use non-ASCII characters"
125
  msgstr ""
126
 
127
- #: lib/contextual-help.php:36
128
  #, php-format
129
  msgid "In order to adjust the throttle limit, you can use the %s filter hook."
130
  msgstr ""
131
 
132
- #: lib/contextual-help.php:38
 
 
 
 
 
 
 
 
 
 
 
 
 
133
  msgid ""
134
  "It's not usually necessary to adjust the limit from 500, but in some cases "
135
  "performance gains can be achieved by setting a lower limit. We don't suggest "
136
  "going under 200, as low values will make the results worse."
137
  msgstr ""
138
 
139
- #: lib/contextual-help.php:43
 
 
 
 
 
140
  msgid "Restrictions"
141
  msgstr ""
142
 
143
- #: lib/contextual-help.php:45
144
  msgid ""
145
  "If you want the general search to target all posts, but have a single search "
146
  "form target only certain posts, you can add a hidden input variable to the "
147
  "search form. "
148
  msgstr ""
149
 
150
- #: lib/contextual-help.php:46
151
  msgid ""
152
  "For example in order to restrict the search to categories 10, 14 and 17, you "
153
  "could add this to the search form:"
154
  msgstr ""
155
 
156
- #: lib/contextual-help.php:48
157
  msgid ""
158
  "To restrict the search to posts tagged with alfa AND beta, you could add "
159
  "this to the search form:"
160
  msgstr ""
161
 
162
- #: lib/contextual-help.php:51
163
- #, php-format
164
- msgid "For all the possible options, see the Codex documentation for %s."
165
- msgstr ""
166
-
167
- #: lib/contextual-help.php:56
168
- msgid "Exclusions"
169
- msgstr ""
170
-
171
- #: lib/contextual-help.php:59
172
  #, php-format
173
  msgid ""
174
  "For more exclusion options, see the Codex documentation for %s. For example, "
175
  "to exclude tag ID 10, use"
176
  msgstr ""
177
 
178
- #: lib/contextual-help.php:62
179
  #, php-format
180
  msgid ""
181
  "To exclude posts from the index and not just from the search, you can use "
@@ -183,62 +178,50 @@ msgid ""
183
  "term:"
184
  msgstr ""
185
 
186
- #: lib/contextual-help.php:72 lib/contextual-help.php:120
 
187
  #, php-format
188
  msgid ""
189
  "For more examples, see <a href='%s'>the related knowledge base posts</a>."
190
  msgstr ""
191
 
192
- #: lib/contextual-help.php:77
193
- msgid "Logs"
194
  msgstr ""
195
 
196
- #: lib/contextual-help.php:80
197
  #, php-format
198
  msgid ""
199
  "By default, the User searches page shows 20 most common keywords. In order "
200
  "to see more, you can adjust the value with the %s filter hook, like this:"
201
  msgstr ""
202
 
203
- #: lib/contextual-help.php:83
204
  #, php-format
205
  msgid ""
206
  "The complete logs are stored in the %s database table, where you can access "
207
  "them if you need more information than what the User searches page provides."
208
  msgstr ""
209
 
210
- #: lib/contextual-help.php:88 lib/tabs/indexing-tab.php:330
211
- msgid "Excerpts"
212
- msgstr ""
213
-
214
- #: lib/contextual-help.php:90
215
- msgid ""
216
- "Building custom excerpts can be slow. If you are not actually using the "
217
- "excerpts, make sure you disable the option."
218
  msgstr ""
219
 
220
- #: lib/contextual-help.php:92
221
  #, php-format
222
  msgid ""
223
  "Custom snippets require that the search results template uses %s to print "
224
  "out the excerpts."
225
  msgstr ""
226
 
227
- #: lib/contextual-help.php:93
228
- msgid ""
229
- "Generally, Relevanssi generates the excerpts from post content. If you want "
230
- "to include custom field content in the excerpt-building, this can be done "
231
- "with a simple setting from the excerpt settings."
232
- msgstr ""
233
-
234
- #: lib/contextual-help.php:95
235
  #, php-format
236
  msgid ""
237
  "If you want more control over what content Relevanssi uses to create the "
238
  "excerpts, you can use the %1$s and %2$s filter hooks to adjust the content."
239
  msgstr ""
240
 
241
- #: lib/contextual-help.php:97
242
  #, php-format
243
  msgid ""
244
  "Some shortcode do not work well with Relevanssi excerpt-generation. "
@@ -246,25 +229,32 @@ msgid ""
246
  "can be adjusted with the %s filter hook."
247
  msgstr ""
248
 
249
- #: lib/contextual-help.php:99
250
  #, php-format
251
  msgid ""
252
  "If you want Relevanssi to build excerpts faster and don't mind that they may "
253
  "be less than perfect in quality, add a filter that returns true on hook %s."
254
  msgstr ""
255
 
256
- #: lib/contextual-help.php:105
257
- msgid "Highlights"
 
258
  msgstr ""
259
 
260
- #: lib/contextual-help.php:107
261
  msgid ""
262
- "Title highlights don't appear automatically, because that led to problems "
263
- "with highlights appearing in wrong places and messing up navigation menus, "
264
- "for example."
 
 
 
 
 
 
265
  msgstr ""
266
 
267
- #: lib/contextual-help.php:109
268
  #, php-format
269
  msgid ""
270
  "In order to see title highlights from Relevanssi, replace %1$s in the search "
@@ -272,18 +262,18 @@ msgid ""
272
  "title highlights."
273
  msgstr ""
274
 
275
- #: lib/contextual-help.php:114
276
- msgid "Punctuation"
277
  msgstr ""
278
 
279
- #: lib/contextual-help.php:116
280
  msgid ""
281
- "Relevanssi removes punctuation. Some punctuation is removed, some replaced "
282
- "with spaces. Advanced indexing settings include some of the more common "
283
- "settings people want to change."
284
  msgstr ""
285
 
286
- #: lib/contextual-help.php:118
287
  #, php-format
288
  msgid ""
289
  "For more fine-tuned changes, you can use %1$s filter hook to adjust what is "
@@ -291,25 +281,32 @@ msgid ""
291
  "punctuation control."
292
  msgstr ""
293
 
294
- #: lib/contextual-help.php:125
295
- msgid "Helpful shortcodes"
 
 
 
 
 
 
 
296
  msgstr ""
297
 
298
- #: lib/contextual-help.php:128
299
  #, php-format
300
  msgid ""
301
  "If you have content that you don't want indexed, you can wrap that content "
302
  "in a %s shortcode."
303
  msgstr ""
304
 
305
- #: lib/contextual-help.php:130
306
  #, php-format
307
  msgid ""
308
  "If you need a search form on some page on your site, you can use the %s "
309
  "shortcode to print out a basic search form."
310
  msgstr ""
311
 
312
- #: lib/contextual-help.php:132
313
  #, php-format
314
  msgid ""
315
  "If you need to add query variables to the search form, the shortcode takes "
@@ -318,7 +315,7 @@ msgid ""
318
  "search to categories 10, 14 and 17, you can use %2$s and so on."
319
  msgstr ""
320
 
321
- #: lib/contextual-help.php:134
322
  #, php-format
323
  msgid ""
324
  "You can use the %1$s parameter to add a taxonomy dropdown to the search "
@@ -327,401 +324,420 @@ msgid ""
327
  "available."
328
  msgstr ""
329
 
330
- #: lib/contextual-help.php:139
 
 
 
 
 
 
 
 
 
 
 
331
  msgid "WooCommerce"
332
  msgstr ""
333
 
334
- #: lib/contextual-help.php:141
335
  msgid ""
336
  "If your SKUs include hyphens or other punctuation, do note that Relevanssi "
337
  "replaces most punctuation with spaces. That's going to cause issues with SKU "
338
  "searches."
339
  msgstr ""
340
 
341
- #: lib/contextual-help.php:143
342
- #, php-format
343
- msgid ""
344
- "For more details how to fix that issue, see <a href='%s'>WooCommerce tips in "
345
- "Relevanssi user manual</a>."
346
- msgstr ""
347
-
348
- #: lib/contextual-help.php:144
349
  msgid ""
350
  "If you don't want to index products that are out of stock, excluded from the "
351
  "catalog or excluded from the search, there's a product visibility filtering "
352
  "method that is described in the user manual (see link above)."
353
  msgstr ""
354
 
355
- #: lib/contextual-help.php:149
356
- msgid "Exact match bonus"
357
- msgstr ""
358
-
359
- #: lib/contextual-help.php:152
360
  #, php-format
361
  msgid ""
362
  "To adjust the amount of the exact match bonus, you can use the %s filter "
363
  "hook. It works like this:"
364
  msgstr ""
365
 
366
- #: lib/contextual-help.php:158
367
  #, php-format
368
  msgid "The default values are %1$s for titles and %2$s for content."
369
  msgstr ""
370
 
371
- #: lib/contextual-help.php:161
 
 
 
 
372
  msgid "For more information:"
373
  msgstr ""
374
 
375
- #: lib/contextual-help.php:162
376
  msgid "Plugin knowledge base"
377
  msgstr ""
378
 
379
- #: lib/contextual-help.php:163
380
  msgid "WordPress.org forum"
381
  msgstr ""
382
 
383
- #: lib/excerpts-highlights.php:24
384
  msgid "There is no excerpt because this is a protected post."
385
  msgstr ""
386
 
387
- #: lib/indexing.php:360
388
- msgid "Indexing complete!"
389
- msgstr ""
390
-
391
- #: lib/indexing.php:363
392
- msgid "More to index..."
393
- msgstr ""
394
-
395
- #: lib/init.php:87
396
  msgid ""
397
  "You do not have an index! Remember to build the index (click the \"Build the "
398
  "index\" button), otherwise searching won't work."
399
  msgstr ""
400
 
401
- #: lib/init.php:99
402
  msgid ""
403
  "Multibyte string functions are not available. Relevanssi may not work well "
404
  "without them. Please install (or ask your host to install) the mbstring "
405
  "extension."
406
  msgstr ""
407
 
408
- #: lib/init.php:190 lib/init.php:191 lib/interface.php:472
409
- #: lib/tabs/logging-tab.php:47
 
410
  msgid "User searches"
411
  msgstr ""
412
 
413
- #: lib/init.php:202 lib/init.php:203 lib/tabs/searching-tab.php:248
 
 
414
  msgid "Admin search"
415
  msgstr ""
416
 
417
- #: lib/init.php:394
418
  msgid "Settings"
419
  msgstr ""
420
 
421
- #: lib/init.php:397
422
  msgid "Go Premium!"
423
  msgstr ""
424
 
425
- #: lib/interface.php:18
426
  msgid "Relevanssi Search Options"
427
  msgstr ""
428
 
429
- #: lib/interface.php:20
430
  msgid "Relevanssi Premium Search Options"
431
  msgstr ""
432
 
433
- #: lib/interface.php:474
434
  msgid "Relevanssi User Searches"
435
  msgstr ""
436
 
437
- #: lib/interface.php:497
438
  msgid "Enable query logging to see stats here."
439
  msgstr ""
440
 
441
- #: lib/interface.php:509
442
  msgid "Admin Search"
443
  msgstr ""
444
 
445
- #: lib/interface.php:539
446
  msgid "Logs clear!"
447
  msgstr ""
448
 
449
- #: lib/interface.php:541
450
  msgid "Clearing the logs failed."
451
  msgstr ""
452
 
453
- #: lib/interface.php:575
454
  msgid "Total Searches"
455
  msgstr ""
456
 
457
- #: lib/interface.php:577
458
  msgid "Totals"
459
  msgstr ""
460
 
461
- #: lib/interface.php:581
462
  msgid "Common Queries"
463
  msgstr ""
464
 
465
- #: lib/interface.php:591
466
  #, php-format
467
  msgid ""
468
  "Here you can see the %d most common user search queries, how many times "
469
  "those queries were made and how many results were found for those queries."
470
  msgstr ""
471
 
472
- #: lib/interface.php:595 lib/interface.php:617 lib/interface.php:658
 
 
473
  msgid "Today and yesterday"
474
  msgstr ""
475
 
476
- #: lib/interface.php:598 lib/interface.php:604 lib/interface.php:609
477
- #: lib/interface.php:626
 
 
478
  #, php-format
479
  msgid "Last %d days"
480
  msgstr ""
481
 
482
- #: lib/interface.php:614
483
  msgid "Unsuccessful Queries"
484
  msgstr ""
485
 
486
- #: lib/interface.php:621 lib/interface.php:659
 
487
  msgid "Last 7 days"
488
  msgstr ""
489
 
490
- #: lib/interface.php:632
491
  msgid "Reset Logs"
492
  msgstr ""
493
 
494
- #: lib/interface.php:636
495
- #, php-format
496
- msgid "To reset the logs, type \"reset\" into the box here %1$s and click %2$s"
 
497
  msgstr ""
498
 
499
- #: lib/interface.php:660
 
 
 
 
500
  msgid "Last 30 days"
501
  msgstr ""
502
 
503
- #: lib/interface.php:661
504
  msgid "Forever"
505
  msgstr ""
506
 
507
- #: lib/interface.php:669
508
  msgid "When"
509
  msgstr ""
510
 
511
- #: lib/interface.php:669
512
  msgid "Searches"
513
  msgstr ""
514
 
515
- #: lib/interface.php:726 lib/log.php:167
 
516
  msgid "Query"
517
  msgstr ""
518
 
519
- #: lib/interface.php:726
520
  msgid "Hits"
521
  msgstr ""
522
 
523
- #: lib/interface.php:807
524
  msgid "Overview"
525
  msgstr ""
526
 
527
- #: lib/interface.php:808 lib/tabs/overview-tab.php:44
 
528
  msgid "Indexing"
529
  msgstr ""
530
 
531
- #: lib/interface.php:809
532
  msgid "Attachments"
533
  msgstr ""
534
 
535
- #: lib/interface.php:811
536
  msgid "Logging"
537
  msgstr ""
538
 
539
- #: lib/interface.php:812 lib/tabs/overview-tab.php:60
 
540
  msgid "Excerpts and highlights"
541
  msgstr ""
542
 
543
- #: lib/interface.php:813 lib/tabs/synonyms-tab.php:25
544
- #: lib/tabs/synonyms-tab.php:30
 
545
  msgid "Synonyms"
546
  msgstr ""
547
 
548
- #: lib/interface.php:814 lib/tabs/stopwords-tab.php:18
 
549
  msgid "Stopwords"
550
  msgstr ""
551
 
552
- #: lib/interface.php:815 lib/tabs/redirects-tab.php:18
 
553
  msgid "Redirects"
554
  msgstr ""
555
 
556
- #: lib/interface.php:817
557
  msgid "Related"
558
  msgstr ""
559
 
560
- #: lib/interface.php:818
561
  msgid "Import / Export options"
562
  msgstr ""
563
 
564
- #: lib/interface.php:937
565
  msgid "Click OK to copy Relevanssi options to all subsites"
566
  msgstr ""
567
 
568
- #: lib/interface.php:938
569
  msgid "Are you sure you want to remove all stopwords?"
570
  msgstr ""
571
 
572
- #: lib/interface.php:939
573
  msgid "Wiping out the index..."
574
  msgstr ""
575
 
576
- #: lib/interface.php:940
577
  msgid "Done."
578
  msgstr ""
579
 
580
- #: lib/interface.php:941
581
  msgid "Indexing users..."
582
  msgstr ""
583
 
584
- #: lib/interface.php:942
585
  msgid "Indexing the following taxonomies:"
586
  msgstr ""
587
 
588
- #: lib/interface.php:943
589
  msgid "Indexing attachments..."
590
  msgstr ""
591
 
592
- #: lib/interface.php:944
593
  msgid "Counting posts..."
594
  msgstr ""
595
 
596
- #: lib/interface.php:945
597
  msgid "Counting taxonomy terms..."
598
  msgstr ""
599
 
600
- #: lib/interface.php:946
601
  msgid "Counting users..."
602
  msgstr ""
603
 
604
- #: lib/interface.php:947
605
  msgid "Counting attachments..."
606
  msgstr ""
607
 
608
- #: lib/interface.php:948
609
  msgid "posts found."
610
  msgstr ""
611
 
612
- #: lib/interface.php:949
613
  msgid "taxonomy terms found."
614
  msgstr ""
615
 
616
- #: lib/interface.php:950
617
  msgid "users found."
618
  msgstr ""
619
 
620
- #: lib/interface.php:951
621
  msgid "attachments found."
622
  msgstr ""
623
 
624
- #: lib/interface.php:952
625
  msgid "Taxonomy term indexing is disabled."
626
  msgstr ""
627
 
628
- #: lib/interface.php:953
629
  msgid "User indexing is disabled."
630
  msgstr ""
631
 
632
- #: lib/interface.php:954
633
  msgid "Indexing complete."
634
  msgstr ""
635
 
636
- #: lib/interface.php:955
637
  msgid "posts excluded."
638
  msgstr ""
639
 
640
- #: lib/interface.php:956
641
  msgid "Settings have changed, please save the options before indexing."
642
  msgstr ""
643
 
644
- #: lib/interface.php:957
645
  msgid "Reload the page to refresh the state of the index."
646
  msgstr ""
647
 
648
- #: lib/interface.php:958
649
  msgid "Are you sure you want to delete all attachment content from the index?"
650
  msgstr ""
651
 
652
- #: lib/interface.php:959
653
  msgid "Relevanssi attachment data wiped clean."
654
  msgstr ""
655
 
656
- #: lib/interface.php:960
 
 
 
 
657
  msgid "hour"
658
  msgstr ""
659
 
660
- #: lib/interface.php:961
661
  msgid "hours"
662
  msgstr ""
663
 
664
- #: lib/interface.php:962
665
  msgid "about"
666
  msgstr ""
667
 
668
- #: lib/interface.php:963
669
  msgid "about an hour"
670
  msgstr ""
671
 
672
- #: lib/interface.php:964
673
  msgid "about an hour and a half"
674
  msgstr ""
675
 
676
- #: lib/interface.php:965
677
  msgid "minute"
678
  msgstr ""
679
 
680
- #: lib/interface.php:966
681
  msgid "minutes"
682
  msgstr ""
683
 
684
- #: lib/interface.php:967
685
  msgid "less than a minute"
686
  msgstr ""
687
 
688
- #: lib/interface.php:968
689
  msgid "we're done!"
690
  msgstr ""
691
 
692
- #: lib/interface.php:1000
693
  msgid "Tag weight"
694
  msgstr ""
695
 
696
- #: lib/interface.php:1008
697
  msgid "Category weight"
698
  msgstr ""
699
 
700
- #: lib/log.php:160
701
  msgid "Logged seaches"
702
  msgstr ""
703
 
704
- #: lib/log.php:163
705
  msgid "Time"
706
  msgstr ""
707
 
708
- #: lib/log.php:171
709
  msgid "Hits found"
710
  msgstr ""
711
 
712
- #: lib/log.php:175
713
  msgid "IP address"
714
  msgstr ""
715
 
716
- #: lib/privacy.php:34
717
  msgid "What personal data we collect and why we collect it"
718
  msgstr ""
719
 
720
- #: lib/privacy.php:36
721
  msgid "IP address for searches"
722
  msgstr ""
723
 
724
- #: lib/privacy.php:37
725
  msgid ""
726
  "All searches performed using the internal site search are logged in the "
727
  "database, including the following information: the search query, the number "
@@ -729,73 +745,91 @@ msgid ""
729
  "address. The IP address is stored for security and auditing purposes."
730
  msgstr ""
731
 
732
- #: lib/privacy.php:39
733
  msgid ""
734
  "All searches performed using the internal site search are logged in the "
735
  "database, including the following information: the search query, the number "
736
  "of hits found, user ID for users who are logged in and date and time."
737
  msgstr ""
738
 
739
- #: lib/privacy.php:42
740
  msgid "How long we retain your data"
741
  msgstr ""
742
 
743
- #: lib/privacy.php:45
744
  #, php-format
745
  msgid ""
746
  "The search logs are stored for %d days before they are automatically removed."
747
  msgstr ""
748
 
749
- #: lib/privacy.php:47
750
  msgid "The search logs are stored indefinitely."
751
  msgstr ""
752
 
753
- #: lib/privacy.php:64 lib/privacy.php:81
 
754
  msgid "Relevanssi Search Logs"
755
  msgstr ""
756
 
757
- #: lib/shortcodes.php:128
758
  msgid "None"
759
  msgstr ""
760
 
761
- #: lib/stopwords.php:96
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
762
  #, php-format
763
  msgid "Successfully added %1$d/%2$d terms to stopwords!"
764
  msgstr ""
765
 
766
- #: lib/stopwords.php:107
767
  #, php-format
768
  msgid "Term '%s' added to stopwords!"
769
  msgstr ""
770
 
771
- #: lib/stopwords.php:110
772
  #, php-format
773
  msgid "Couldn't add term '%s' to stopwords!"
774
  msgstr ""
775
 
776
- #: lib/stopwords.php:162
777
  msgid "All stopwords removed! Remember to re-index."
778
  msgstr ""
779
 
780
- #: lib/stopwords.php:164
781
  msgid "There was a problem, and stopwords couldn't be removed."
782
  msgstr ""
783
 
784
- #: lib/stopwords.php:187
785
  #, php-format
786
  msgid "Term '%s' removed from stopwords! Re-index to get it back to index."
787
  msgstr ""
788
 
789
- #: lib/stopwords.php:193
790
  #, php-format
791
  msgid "Couldn't remove term '%s' from stopwords!"
792
  msgstr ""
793
 
794
- #: lib/tabs/attachments-tab.php:18
795
  msgid "Indexing attachment content"
796
  msgstr ""
797
 
798
- #: lib/tabs/attachments-tab.php:20
799
  msgid ""
800
  "With Relevanssi Premium, you can index the text contents of attachments "
801
  "(PDFs, Word documents, Open Office documents and many other types). The "
@@ -804,29 +838,31 @@ msgid ""
804
  msgstr ""
805
 
806
  #: lib/tabs/attachments-tab.php:22 lib/tabs/redirects-tab.php:22
 
807
  #, php-format
808
  msgid ""
809
  "In order to access this and many other delightful Premium features, %1$sbuy "
810
  "Relevanssi Premium here%2$s."
811
  msgstr ""
812
 
813
- #: lib/tabs/excerpts-tab.php:84
814
  msgid "Custom excerpts/snippets"
815
  msgstr ""
816
 
817
- #: lib/tabs/excerpts-tab.php:89
818
  msgid "Custom search result snippets"
819
  msgstr ""
820
 
821
- #: lib/tabs/excerpts-tab.php:93 lib/tabs/excerpts-tab.php:96
 
822
  msgid "Create custom search result snippets"
823
  msgstr ""
824
 
825
- #: lib/tabs/excerpts-tab.php:99
826
  msgid "Only enable this if you actually use the custom excerpts."
827
  msgstr ""
828
 
829
- #: lib/tabs/excerpts-tab.php:106
830
  #, php-format
831
  msgid ""
832
  "Looks like you are using Divi. In order to use custom excerpts with Divi, "
@@ -834,133 +870,142 @@ msgid ""
834
  "%2$s."
835
  msgstr ""
836
 
837
- #: lib/tabs/excerpts-tab.php:118
838
  msgid "Length of the snippet"
839
  msgstr ""
840
 
841
- #: lib/tabs/excerpts-tab.php:135
 
 
 
 
842
  msgid "characters"
843
  msgstr ""
844
 
845
- #: lib/tabs/excerpts-tab.php:136
846
  msgid "words"
847
  msgstr ""
848
 
849
- #: lib/tabs/excerpts-tab.php:138
850
  msgid ""
851
  "Using words is much faster than characters. Don't use characters, unless you "
852
  "have a really good reason and your posts are short."
853
  msgstr ""
854
 
855
- #: lib/tabs/excerpts-tab.php:149
856
  msgid "Allowable tags in excerpts"
857
  msgstr ""
858
 
859
- #: lib/tabs/excerpts-tab.php:159
860
  msgid ""
861
  "List all tags you want to allow in excerpts. For example: &lt;p&gt;&lt;a&gt;"
862
  "&lt;strong&gt;."
863
  msgstr ""
864
 
865
- #: lib/tabs/excerpts-tab.php:170
866
  msgid "Use custom fields for excerpts"
867
  msgstr ""
868
 
869
- #: lib/tabs/excerpts-tab.php:174 lib/tabs/excerpts-tab.php:183
 
870
  msgid "Use custom field content for building excerpts"
871
  msgstr ""
872
 
873
- #: lib/tabs/excerpts-tab.php:186
874
  msgid ""
875
  "Use the custom fields setting for indexing for excerpt-making as well. "
876
  "Enabling this option will show custom field content in Relevanssi-generated "
877
  "excerpts."
878
  msgstr ""
879
 
880
- #: lib/tabs/excerpts-tab.php:189
881
  msgid "Enable this option to use PDF content for excerpts."
882
  msgstr ""
883
 
884
- #: lib/tabs/excerpts-tab.php:194
885
  msgid "Current custom field setting"
886
  msgstr ""
887
 
888
- #: lib/tabs/excerpts-tab.php:197
889
  msgid "all visible custom fields"
890
  msgstr ""
891
 
892
- #: lib/tabs/excerpts-tab.php:199
893
  msgid "all custom fields"
894
  msgstr ""
895
 
896
- #: lib/tabs/excerpts-tab.php:203
897
  msgid "Just PDF content"
898
  msgstr ""
899
 
900
- #: lib/tabs/excerpts-tab.php:205
901
  msgid "None selected"
902
  msgstr ""
903
 
904
- #: lib/tabs/excerpts-tab.php:213
905
  msgid "Search hit highlighting"
906
  msgstr ""
907
 
908
- #: lib/tabs/excerpts-tab.php:224
909
  msgid "Highlight type"
910
  msgstr ""
911
 
912
- #: lib/tabs/excerpts-tab.php:234
913
  msgid "No highlighting"
914
  msgstr ""
915
 
916
- #: lib/tabs/excerpts-tab.php:238 lib/tabs/excerpts-tab.php:248
 
917
  msgid "Text color"
918
  msgstr ""
919
 
920
- #: lib/tabs/excerpts-tab.php:239 lib/tabs/excerpts-tab.php:262
 
921
  msgid "Background color"
922
  msgstr ""
923
 
924
- #: lib/tabs/excerpts-tab.php:240
925
  msgid "CSS Style"
926
  msgstr ""
927
 
928
- #: lib/tabs/excerpts-tab.php:241
929
  msgid "CSS Class"
930
  msgstr ""
931
 
932
- #: lib/tabs/excerpts-tab.php:243 lib/tabs/excerpts-tab.php:421
 
933
  msgid "Requires custom snippets to work."
934
  msgstr ""
935
 
936
- #: lib/tabs/excerpts-tab.php:276
937
  msgid "CSS style for highlights"
938
  msgstr ""
939
 
940
- #: lib/tabs/excerpts-tab.php:287
941
  #, php-format
942
  msgid ""
943
  "The highlights will be wrapped in a %s with this CSS in the style parameter."
944
  msgstr ""
945
 
946
- #: lib/tabs/excerpts-tab.php:292
947
  msgid "CSS class for highlights"
948
  msgstr ""
949
 
950
- #: lib/tabs/excerpts-tab.php:303
951
  #, php-format
952
  msgid "The highlights will be wrapped in a %s with this class."
953
  msgstr ""
954
 
955
- #: lib/tabs/excerpts-tab.php:308
956
  msgid "Highlight in titles"
957
  msgstr ""
958
 
959
- #: lib/tabs/excerpts-tab.php:312 lib/tabs/excerpts-tab.php:321
 
960
  msgid "Highlight query terms in titles"
961
  msgstr ""
962
 
963
- #: lib/tabs/excerpts-tab.php:325
964
  #, php-format
965
  msgid ""
966
  "Highlights in titles require changes to the search results template. You "
@@ -968,15 +1013,16 @@ msgid ""
968
  "information, see the contextual help."
969
  msgstr ""
970
 
971
- #: lib/tabs/excerpts-tab.php:330
972
  msgid "Highlight in documents"
973
  msgstr ""
974
 
975
- #: lib/tabs/excerpts-tab.php:334 lib/tabs/excerpts-tab.php:343
 
976
  msgid "Highlight query terms in documents"
977
  msgstr ""
978
 
979
- #: lib/tabs/excerpts-tab.php:347
980
  #, php-format
981
  msgid ""
982
  "Highlights hits when user opens the post from search results. This requires "
@@ -984,93 +1030,92 @@ msgid ""
984
  "Relevanssi should add automatically."
985
  msgstr ""
986
 
987
- #: lib/tabs/excerpts-tab.php:352
988
  msgid "Highlight in comments"
989
  msgstr ""
990
 
991
- #: lib/tabs/excerpts-tab.php:356 lib/tabs/excerpts-tab.php:365
 
992
  msgid "Highlight query terms in comments"
993
  msgstr ""
994
 
995
- #: lib/tabs/excerpts-tab.php:368
996
  msgid ""
997
  "Highlights hits in comments when user opens the post from search results."
998
  msgstr ""
999
 
1000
- #: lib/tabs/excerpts-tab.php:373
1001
  msgid "Highlighting problems with non-ASCII alphabet?"
1002
  msgstr ""
1003
 
1004
- #: lib/tabs/excerpts-tab.php:389
1005
  msgid ""
1006
  "If you use non-ASCII characters (like Cyrillic alphabet) and the highlights "
1007
  "don't work, unchecking this option may make the highlights work."
1008
  msgstr ""
1009
 
1010
- #: lib/tabs/excerpts-tab.php:394
1011
  msgid "Breakdown of search results"
1012
  msgstr ""
1013
 
1014
- #: lib/tabs/excerpts-tab.php:405
1015
  msgid "Breakdown of search hits in excerpts"
1016
  msgstr ""
1017
 
1018
- #: lib/tabs/excerpts-tab.php:409
1019
- msgid "Show the breakdown of search hits in the excerpts"
1020
- msgstr ""
1021
-
1022
- #: lib/tabs/excerpts-tab.php:418
1023
  msgid "Show the breakdown of search hits in the excerpts."
1024
  msgstr ""
1025
 
1026
- #: lib/tabs/excerpts-tab.php:426
1027
  msgid "The breakdown format"
1028
  msgstr ""
1029
 
1030
- #: lib/tabs/excerpts-tab.php:436
1031
  msgid ""
1032
- "Use %body%, %title%, %tags% and %comments% to display the number of hits (in "
1033
- "different parts of the post), %total% for total hits, %score% to display the "
1034
- "document weight and %terms% to show how many hits each search term got."
 
 
1035
  msgstr ""
1036
 
1037
- #: lib/tabs/indexing-tab.php:113
1038
  #, php-format
1039
  msgid "%s empties the existing index and rebuilds it from scratch."
1040
  msgstr ""
1041
 
1042
- #: lib/tabs/indexing-tab.php:113
1043
  msgid "Build the index"
1044
  msgstr ""
1045
 
1046
- #: lib/tabs/indexing-tab.php:115
1047
  #, php-format
1048
  msgid ""
1049
  "%s doesn't empty the index and only indexes those posts that are not "
1050
  "indexed. You can use it if you have to interrupt building the index."
1051
  msgstr ""
1052
 
1053
- #: lib/tabs/indexing-tab.php:115
1054
  msgid "Index unindexed posts"
1055
  msgstr ""
1056
 
1057
- #: lib/tabs/indexing-tab.php:118
1058
  msgid "This doesn't index any taxonomy terms or users."
1059
  msgstr ""
1060
 
1061
- #: lib/tabs/indexing-tab.php:125
1062
  msgid "Time elapsed"
1063
  msgstr ""
1064
 
1065
- #: lib/tabs/indexing-tab.php:125
1066
  msgid "Time remaining"
1067
  msgstr ""
1068
 
1069
- #: lib/tabs/indexing-tab.php:125
1070
  msgid "some time"
1071
  msgstr ""
1072
 
1073
- #: lib/tabs/indexing-tab.php:127
1074
  msgid ""
1075
  "Indexing should respond quickly. If nothing happens in couple of minutes, "
1076
  "it's probably stuck. The most common reasons for indexing issues are "
@@ -1080,288 +1125,358 @@ msgid ""
1080
  "version of the Relevanssi scripts."
1081
  msgstr ""
1082
 
1083
- #: lib/tabs/indexing-tab.php:131
1084
  msgid "State of the index"
1085
  msgstr ""
1086
 
1087
- #: lib/tabs/indexing-tab.php:132
1088
  msgid "document in the index."
1089
  msgstr ""
1090
 
1091
- #: lib/tabs/indexing-tab.php:134
1092
  msgid "user in the index."
1093
  msgstr ""
1094
 
1095
- #: lib/tabs/indexing-tab.php:135
1096
  msgid "taxonomy term in the index."
1097
  msgstr ""
1098
 
1099
- #: lib/tabs/indexing-tab.php:138
1100
  msgid "term in the index."
1101
  msgstr ""
1102
 
1103
- #: lib/tabs/indexing-tab.php:139
1104
  msgid "is the lowest post ID indexed."
1105
  msgstr ""
1106
 
1107
- #: lib/tabs/indexing-tab.php:149
1108
  msgid ""
1109
  "WARNING: You've chosen no post types to index. Nothing will be indexed. "
1110
  "Choose some post types to index."
1111
  msgstr ""
1112
 
1113
- #: lib/tabs/indexing-tab.php:154
1114
  msgid "Indexing options"
1115
  msgstr ""
1116
 
1117
- #: lib/tabs/indexing-tab.php:156
1118
  msgid ""
1119
  "Any changes to the settings on this page require reindexing before they take "
1120
  "effect."
1121
  msgstr ""
1122
 
1123
- #: lib/tabs/indexing-tab.php:160
1124
  msgid "Post types"
1125
  msgstr ""
1126
 
1127
- #: lib/tabs/indexing-tab.php:166
 
 
 
 
1128
  msgid "Type"
1129
  msgstr ""
1130
 
1131
- #: lib/tabs/indexing-tab.php:167 lib/tabs/indexing-tab.php:221
 
1132
  msgid "Index"
1133
  msgstr ""
1134
 
1135
- #: lib/tabs/indexing-tab.php:168
1136
  msgid "Excluded from search?"
1137
  msgstr ""
1138
 
1139
- #: lib/tabs/indexing-tab.php:185 lib/tabs/indexing-tab.php:239
 
 
 
 
 
 
1140
  msgid "yes"
1141
  msgstr ""
1142
 
1143
- #: lib/tabs/indexing-tab.php:187 lib/tabs/indexing-tab.php:237
 
 
 
 
 
 
1144
  msgid "no"
1145
  msgstr ""
1146
 
1147
- #: lib/tabs/indexing-tab.php:207
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1148
  #, php-format
1149
  msgid ""
1150
- "%1$s includes all attachment types. If you want to index only some "
1151
- "attachments, see %2$sControlling attachment types in the Knowledge base%3$s."
1152
  msgstr ""
1153
 
1154
- #: lib/tabs/indexing-tab.php:213
1155
  msgid "Taxonomies"
1156
  msgstr ""
1157
 
1158
- #: lib/tabs/indexing-tab.php:220
1159
  msgid "Taxonomy"
1160
  msgstr ""
1161
 
1162
- #: lib/tabs/indexing-tab.php:222
1163
  msgid "Public?"
1164
  msgstr ""
1165
 
1166
- #: lib/tabs/indexing-tab.php:248
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1167
  msgid ""
1168
  "If you check a taxonomy here, the terms for that taxonomy are indexed with "
1169
  "the posts. If you for example choose \"post_tag\", searching for a tag will "
1170
  "find all posts that have the tag."
1171
  msgstr ""
1172
 
1173
- #: lib/tabs/indexing-tab.php:255
1174
  msgid "Comments"
1175
  msgstr ""
1176
 
1177
- #: lib/tabs/indexing-tab.php:259 lib/tabs/indexing-tab.php:273
 
1178
  msgid "none"
1179
  msgstr ""
1180
 
1181
- #: lib/tabs/indexing-tab.php:260
1182
  msgid "comments"
1183
  msgstr ""
1184
 
1185
- #: lib/tabs/indexing-tab.php:261
1186
  msgid "comments and pingbacks"
1187
  msgstr ""
1188
 
1189
- #: lib/tabs/indexing-tab.php:263
1190
  msgid ""
1191
  "If you choose to index comments, you can choose if you want to index just "
1192
  "comments, or everything including comments and track- and pingbacks."
1193
  msgstr ""
1194
 
1195
- #: lib/tabs/indexing-tab.php:269
1196
  msgid "Custom fields"
1197
  msgstr ""
1198
 
1199
- #: lib/tabs/indexing-tab.php:274
1200
  msgid "all"
1201
  msgstr ""
1202
 
1203
- #: lib/tabs/indexing-tab.php:275
1204
  msgid "visible"
1205
  msgstr ""
1206
 
1207
- #: lib/tabs/indexing-tab.php:276 lib/tabs/indexing-tab.php:307
 
1208
  msgid "some"
1209
  msgstr ""
1210
 
1211
- #: lib/tabs/indexing-tab.php:280
1212
  msgid "'All' indexes all custom fields for posts."
1213
  msgstr ""
1214
 
1215
- #: lib/tabs/indexing-tab.php:282
1216
  msgid ""
1217
  "'Visible' only includes the custom fields that are visible in the user "
1218
  "interface (with names that don't start with an underscore)."
1219
  msgstr ""
1220
 
1221
- #: lib/tabs/indexing-tab.php:284
1222
  msgid "'Some' lets you choose individual custom fields to index."
1223
  msgstr ""
1224
 
1225
- #: lib/tabs/indexing-tab.php:290
1226
  msgid ""
1227
  "Advanced Custom Fields has lots of invisible custom fields with meta data. "
1228
  "Selecting \"all\" will include lots of garbage in the index and excerpts. "
1229
  "\"Visible\" is usually a better option with ACF."
1230
  msgstr ""
1231
 
1232
- #: lib/tabs/indexing-tab.php:302
 
 
 
 
1233
  msgid ""
1234
  "Enter a comma-separated list of custom fields to include in the index. With "
1235
  "Relevanssi Premium, you can also use 'fieldname_%_subfieldname' notation for "
1236
  "ACF repeater fields."
1237
  msgstr ""
1238
 
1239
- #: lib/tabs/indexing-tab.php:303
1240
  msgid ""
1241
  "You can use 'relevanssi_index_custom_fields' filter hook to adjust which "
1242
  "custom fields are indexed."
1243
  msgstr ""
1244
 
1245
- #: lib/tabs/indexing-tab.php:307
1246
  #, php-format
1247
  msgid ""
1248
  "If you want the SKU included, choose %1$s and enter %2$s. Also see the "
1249
  "contextual help for more details."
1250
  msgstr ""
1251
 
1252
- #: lib/tabs/indexing-tab.php:314
1253
  msgid "Author display names"
1254
  msgstr ""
1255
 
1256
- #: lib/tabs/indexing-tab.php:318 lib/tabs/indexing-tab.php:321
 
1257
  msgid "Index the post author display name"
1258
  msgstr ""
1259
 
1260
- #: lib/tabs/indexing-tab.php:323
1261
  msgid ""
1262
  "Searching for the post author display name will return posts by that author."
1263
  msgstr ""
1264
 
1265
- #: lib/tabs/indexing-tab.php:334 lib/tabs/indexing-tab.php:337
1266
- #: lib/tabs/indexing-tab.php:358
1267
  msgid "Index the post excerpt"
1268
  msgstr ""
1269
 
1270
- #: lib/tabs/indexing-tab.php:339
1271
  msgid "Relevanssi will find posts by the content in the excerpt."
1272
  msgstr ""
1273
 
1274
- #: lib/tabs/indexing-tab.php:341
1275
  msgid ""
1276
  "WooCommerce stores the product short description in the excerpt, so it's a "
1277
  "good idea to index excerpts."
1278
  msgstr ""
1279
 
1280
- #: lib/tabs/indexing-tab.php:349
1281
  msgid "Shortcodes"
1282
  msgstr ""
1283
 
1284
- #: lib/tabs/indexing-tab.php:354
1285
  msgid "Expand shortcodes"
1286
  msgstr ""
1287
 
1288
- #: lib/tabs/indexing-tab.php:361
1289
  msgid "Expand shortcodes when indexing"
1290
  msgstr ""
1291
 
1292
- #: lib/tabs/indexing-tab.php:364
1293
  msgid ""
1294
  "WooCommerce has shortcodes that don't work well with Relevanssi. With "
1295
  "WooCommerce, make sure the option is disabled."
1296
  msgstr ""
1297
 
1298
- #: lib/tabs/indexing-tab.php:366
1299
  msgid ""
1300
  "If checked, Relevanssi will expand shortcodes in post content before "
1301
  "indexing. Otherwise shortcodes will be stripped."
1302
  msgstr ""
1303
 
1304
- #: lib/tabs/indexing-tab.php:367
1305
  msgid ""
1306
  "If you use shortcodes to include dynamic content, Relevanssi will not keep "
1307
  "the index updated, the index will reflect the status of the shortcode "
1308
  "content at the moment of indexing."
1309
  msgstr ""
1310
 
1311
- #: lib/tabs/indexing-tab.php:398
1312
  msgid "Advanced indexing settings"
1313
  msgstr ""
1314
 
1315
- #: lib/tabs/indexing-tab.php:400
1316
  msgid "Show advanced settings"
1317
  msgstr ""
1318
 
1319
- #: lib/tabs/indexing-tab.php:405
1320
  msgid "Minimum word length"
1321
  msgstr ""
1322
 
1323
- #: lib/tabs/indexing-tab.php:409
1324
  msgid "Words shorter than this many letters will not be indexed."
1325
  msgstr ""
1326
 
1327
- #: lib/tabs/indexing-tab.php:411
1328
  #, php-format
1329
  msgid ""
1330
  "To enable one-letter searches, you need to add a filter function on the "
1331
  "filter hook %1$s that returns %2$s."
1332
  msgstr ""
1333
 
1334
- #: lib/tabs/indexing-tab.php:415
1335
  msgid "Punctuation control"
1336
  msgstr ""
1337
 
1338
- #: lib/tabs/indexing-tab.php:416
1339
  msgid ""
1340
  "Here you can adjust how the punctuation is controlled. For more information, "
1341
  "see help. Remember that any changes here require reindexing, otherwise "
1342
  "searches will fail to find posts they should."
1343
  msgstr ""
1344
 
1345
- #: lib/tabs/indexing-tab.php:420
1346
  msgid "Hyphens and dashes"
1347
  msgstr ""
1348
 
1349
- #: lib/tabs/indexing-tab.php:424 lib/tabs/indexing-tab.php:451
1350
- #: lib/tabs/indexing-tab.php:465
 
1351
  msgid "Keep"
1352
  msgstr ""
1353
 
1354
- #: lib/tabs/indexing-tab.php:425 lib/tabs/indexing-tab.php:438
1355
- #: lib/tabs/indexing-tab.php:452 lib/tabs/indexing-tab.php:466
 
 
1356
  msgid "Replace with spaces"
1357
  msgstr ""
1358
 
1359
- #: lib/tabs/indexing-tab.php:426 lib/tabs/indexing-tab.php:439
1360
- #: lib/tabs/indexing-tab.php:453 lib/tabs/indexing-tab.php:467
 
 
1361
  msgid "Remove"
1362
  msgstr ""
1363
 
1364
- #: lib/tabs/indexing-tab.php:428
1365
  msgid ""
1366
  "How Relevanssi should handle hyphens and dashes (en and em dashes)? "
1367
  "Replacing with spaces is generally the best option, but in some cases "
@@ -1369,151 +1484,153 @@ msgid ""
1369
  "option."
1370
  msgstr ""
1371
 
1372
- #: lib/tabs/indexing-tab.php:434
1373
  msgid "Apostrophes and quotes"
1374
  msgstr ""
1375
 
1376
- #: lib/tabs/indexing-tab.php:441
1377
  msgid ""
1378
  "How Relevanssi should handle apostrophes and quotes? It's not possible to "
1379
  "keep them; that would lead to problems. Default behaviour is to replace with "
1380
  "spaces, but sometimes removing makes sense."
1381
  msgstr ""
1382
 
1383
- #: lib/tabs/indexing-tab.php:447
1384
  msgid "Ampersands"
1385
  msgstr ""
1386
 
1387
- #: lib/tabs/indexing-tab.php:455
1388
  msgid ""
1389
  "How Relevanssi should handle ampersands? Replacing with spaces is generally "
1390
  "the best option, but if you talk a lot about D&amp;D, for example, keeping "
1391
  "the ampersands is useful."
1392
  msgstr ""
1393
 
1394
- #: lib/tabs/indexing-tab.php:461
1395
  msgid "Decimal separators"
1396
  msgstr ""
1397
 
1398
- #: lib/tabs/indexing-tab.php:469
1399
  msgid ""
1400
  "How Relevanssi should handle periods between decimals? Replacing with spaces "
1401
  "is the default option, but that often leads to the numbers being removed "
1402
  "completely. If you need to search decimal numbers a lot, keep the periods."
1403
  msgstr ""
1404
 
1405
- #: lib/tabs/indexing-tab.php:487
1406
  msgid "Hide advanced settings"
1407
  msgstr ""
1408
 
1409
- #: lib/tabs/logging-tab.php:33
1410
  msgid "Enable logs"
1411
  msgstr ""
1412
 
1413
  #: lib/tabs/logging-tab.php:37 lib/tabs/logging-tab.php:40
 
1414
  msgid "Keep a log of user queries."
1415
  msgstr ""
1416
 
1417
- #: lib/tabs/logging-tab.php:46
1418
  #, php-format
1419
  msgid ""
1420
  "If enabled, Relevanssi will log user queries. The logs can be examined under "
1421
  "'%1$s' on the Dashboard admin menu and are stored in the %2$s database table."
1422
  msgstr ""
1423
 
1424
- #: lib/tabs/logging-tab.php:54
1425
  msgid "Log user IP"
1426
  msgstr ""
1427
 
1428
- #: lib/tabs/logging-tab.php:58 lib/tabs/logging-tab.php:61
 
1429
  msgid "Log the user's IP with the queries."
1430
  msgstr ""
1431
 
1432
- #: lib/tabs/logging-tab.php:64
1433
  msgid ""
1434
  "If enabled, Relevanssi will log user's IP adress with the queries. Note that "
1435
  "this may be illegal where you live, and in EU will create a person registry "
1436
  "that falls under the GDPR."
1437
  msgstr ""
1438
 
1439
- #: lib/tabs/logging-tab.php:69
1440
  msgid "Exclude users"
1441
  msgstr ""
1442
 
1443
- #: lib/tabs/logging-tab.php:73
1444
  msgid ""
1445
  "Comma-separated list of numeric user IDs or user login names that will not "
1446
  "be logged."
1447
  msgstr ""
1448
 
1449
- #: lib/tabs/logging-tab.php:83
1450
  msgid "Trim logs"
1451
  msgstr ""
1452
 
1453
- #: lib/tabs/logging-tab.php:87
1454
  msgid "How many days of logs to keep in the database."
1455
  msgstr ""
1456
 
1457
- #: lib/tabs/logging-tab.php:91
1458
  msgid ""
1459
  "Big log database table will eventually start to slow down the search, so "
1460
  "it's a good idea to use some level of automatic log trimming."
1461
  msgstr ""
1462
 
1463
- #: lib/tabs/logging-tab.php:96
1464
  #, php-format
1465
  msgid " Set to %d for no trimming."
1466
  msgstr ""
1467
 
1468
- #: lib/tabs/logging-tab.php:105
1469
  msgid "Export logs"
1470
  msgstr ""
1471
 
1472
- #: lib/tabs/logging-tab.php:108
1473
  msgid "Export the log as a CSV file"
1474
  msgstr ""
1475
 
1476
- #: lib/tabs/logging-tab.php:109
1477
  msgid "Push the button to export the search log as a CSV file."
1478
  msgstr ""
1479
 
1480
- #: lib/tabs/overview-tab.php:22
1481
  msgid "Welcome to Relevanssi!"
1482
  msgstr ""
1483
 
1484
- #: lib/tabs/overview-tab.php:38
1485
  msgid "Getting started"
1486
  msgstr ""
1487
 
1488
- #: lib/tabs/overview-tab.php:40
1489
  msgid ""
1490
  "You've already installed Relevanssi. That's a great first step towards good "
1491
  "search experience!"
1492
  msgstr ""
1493
 
1494
- #: lib/tabs/overview-tab.php:44
1495
  #, php-format
1496
  msgid ""
1497
  "Now, you need an index. Head over to the %1$s%2$s%3$s tab to set up the "
1498
  "basic indexing options and to build the index."
1499
  msgstr ""
1500
 
1501
- #: lib/tabs/overview-tab.php:45
1502
  msgid "You need to check at least the following options:"
1503
  msgstr ""
1504
 
1505
- #: lib/tabs/overview-tab.php:46
1506
  msgid "Make sure the post types you want to include in the index are indexed."
1507
  msgstr ""
1508
 
1509
- #: lib/tabs/overview-tab.php:48
1510
  #, php-format
1511
  msgid ""
1512
  "Do you use custom fields to store content you want included? If so, add "
1513
  "those too. WooCommerce user? You probably want to include %s."
1514
  msgstr ""
1515
 
1516
- #: lib/tabs/overview-tab.php:49
1517
  msgid ""
1518
  "Then just save the options and build the index. First time you have to do it "
1519
  "manually, but after that, it's fully automatic: all changes are reflected in "
@@ -1521,48 +1638,48 @@ msgid ""
1521
  "index once a year.)"
1522
  msgstr ""
1523
 
1524
- #: lib/tabs/overview-tab.php:52
1525
  msgid "Great, you already have an index!"
1526
  msgstr ""
1527
 
1528
- #: lib/tabs/overview-tab.php:56
1529
  #, php-format
1530
  msgid ""
1531
  "On the %1$s%2$s%3$s tab, choose whether you want the default operator to be "
1532
  "AND (less results, but more precise) or OR (more results, less precise)."
1533
  msgstr ""
1534
 
1535
- #: lib/tabs/overview-tab.php:60
1536
  #, php-format
1537
  msgid ""
1538
  "The next step is the %1$s%2$s%3$s tab, where you can enable the custom "
1539
  "excerpts that show the relevant part of post in the search results pages."
1540
  msgstr ""
1541
 
1542
- #: lib/tabs/overview-tab.php:61
1543
  msgid ""
1544
  "There are couple of options related to that, so if you want highlighting in "
1545
  "the results, you can adjust the styles for that to suit the look of your "
1546
  "site."
1547
  msgstr ""
1548
 
1549
- #: lib/tabs/overview-tab.php:64
1550
  msgid ""
1551
  "That's about it! Now you should have Relevanssi up and running. The rest of "
1552
  "the options is mostly fine-tuning."
1553
  msgstr ""
1554
 
1555
- #: lib/tabs/overview-tab.php:67
1556
  msgid ""
1557
  "Relevanssi doesn't have a separate search widget. Instead, Relevanssi uses "
1558
  "the default search widget. Any standard search form will do!"
1559
  msgstr ""
1560
 
1561
- #: lib/tabs/overview-tab.php:71
1562
  msgid "Privacy and GDPR compliance"
1563
  msgstr ""
1564
 
1565
- #: lib/tabs/overview-tab.php:74
1566
  #, php-format
1567
  msgid ""
1568
  "%1$sGDPR Compliance at Relevanssi knowledge base%2$s explains how using "
@@ -1571,114 +1688,114 @@ msgid ""
1571
  "WordPress user data export and erase tools."
1572
  msgstr ""
1573
 
1574
- #: lib/tabs/overview-tab.php:78
1575
  msgid "For more information"
1576
  msgstr ""
1577
 
1578
- #: lib/tabs/overview-tab.php:80
1579
  msgid ""
1580
  "Relevanssi uses the WordPress contextual help. Click 'Help' on the top right "
1581
  "corner for more information on many Relevanssi topics."
1582
  msgstr ""
1583
 
1584
- #: lib/tabs/overview-tab.php:82
1585
  #, php-format
1586
  msgid ""
1587
  "%1$sRelevanssi knowledge base%2$s has lots of information about advanced "
1588
  "Relevanssi use, including plenty of code samples."
1589
  msgstr ""
1590
 
1591
- #: lib/tabs/overview-tab.php:86
1592
  msgid "Do you like Relevanssi?"
1593
  msgstr ""
1594
 
1595
- #: lib/tabs/overview-tab.php:88
1596
  msgid ""
1597
  "If you do, the best way to show your appreciation is to spread the word and "
1598
  "perhaps give us a good review on WordPress.org."
1599
  msgstr ""
1600
 
1601
- #: lib/tabs/overview-tab.php:90
1602
  #, php-format
1603
  msgid ""
1604
  "If you like Relevanssi, leaving a five-star review on WordPress.org will "
1605
  "help others discover Relevanssi. %1$sYou can add your review here%2$s."
1606
  msgstr ""
1607
 
1608
- #: lib/tabs/overview-tab.php:95
1609
  msgid "Relevanssi on Facebook"
1610
  msgstr ""
1611
 
1612
- #: lib/tabs/overview-tab.php:98
1613
  msgid ""
1614
  "Check out the Relevanssi page on Facebook for news and updates about "
1615
  "Relevanssi."
1616
  msgstr ""
1617
 
1618
- #: lib/tabs/overview-tab.php:104
1619
  msgid "Buy Relevanssi Premium"
1620
  msgstr ""
1621
 
1622
- #: lib/tabs/overview-tab.php:107
1623
  msgid "Buy Relevanssi Premium now"
1624
  msgstr ""
1625
 
1626
- #: lib/tabs/overview-tab.php:109
1627
  #, php-format
1628
  msgid ""
1629
  "use coupon code %1$s for 20%% discount (valid at least until the end of %2$s)"
1630
  msgstr ""
1631
 
1632
- #: lib/tabs/overview-tab.php:110
1633
  msgid "Here are some improvements Relevanssi Premium offers:"
1634
  msgstr ""
1635
 
1636
- #: lib/tabs/overview-tab.php:112
1637
  msgid "PDF content indexing"
1638
  msgstr ""
1639
 
1640
- #: lib/tabs/overview-tab.php:113
1641
  msgid "A Related posts feature"
1642
  msgstr ""
1643
 
1644
- #: lib/tabs/overview-tab.php:114
1645
  msgid "Index and search user profile pages"
1646
  msgstr ""
1647
 
1648
- #: lib/tabs/overview-tab.php:115
1649
  msgid "Index and search taxonomy term pages"
1650
  msgstr ""
1651
 
1652
- #: lib/tabs/overview-tab.php:116
1653
  msgid "Multisite searches across many subsites"
1654
  msgstr ""
1655
 
1656
- #: lib/tabs/overview-tab.php:117
1657
  msgid "WP CLI commands"
1658
  msgstr ""
1659
 
1660
- #: lib/tabs/overview-tab.php:118
1661
  msgid "Adjust weights separately for each post type and taxonomy"
1662
  msgstr ""
1663
 
1664
- #: lib/tabs/overview-tab.php:119
1665
  msgid "Internal link anchors can be search terms for the target posts"
1666
  msgstr ""
1667
 
1668
- #: lib/tabs/overview-tab.php:120
1669
  msgid "Index and search any columns in the wp_posts database"
1670
  msgstr ""
1671
 
1672
- #: lib/tabs/overview-tab.php:121
1673
  msgid ""
1674
  "Hide Relevanssi branding from the User Searches page on a client installation"
1675
  msgstr ""
1676
 
1677
- #: lib/tabs/overview-tab.php:122
1678
  msgid "Redirect search queries to custom URLs"
1679
  msgstr ""
1680
 
1681
- #: lib/tabs/redirects-tab.php:20
1682
  msgid ""
1683
  "With Relevanssi Premium, you can set up redirects. These are keywords that "
1684
  "automatically redirect the user to certain page, without going through the "
@@ -1686,85 +1803,94 @@ msgid ""
1686
  "for \"job\" automatically lead to your \"Careers\" page."
1687
  msgstr ""
1688
 
1689
- #: lib/tabs/search-page.php:18
1690
  msgid ""
1691
  "You can use this search to perform Relevanssi searches without any "
1692
  "restrictions from WordPress. You can search all post types here."
1693
  msgstr ""
1694
 
1695
- #: lib/tabs/search-page.php:23
1696
  msgid "Search terms"
1697
  msgstr ""
1698
 
1699
- #: lib/tabs/search-page.php:31
 
 
 
 
 
 
 
 
1700
  msgid "Posts per page"
1701
  msgstr ""
1702
 
1703
- #: lib/tabs/search-page.php:35
1704
  msgid "All"
1705
  msgstr ""
1706
 
1707
- #: lib/tabs/search-page.php:44
1708
  msgid "Search parameters"
1709
  msgstr ""
1710
 
1711
- #: lib/tabs/search-page.php:49
1712
  #, php-format
1713
  msgid ""
1714
  "Use query parameter formatting here, the same that would appear on search "
1715
  "page results URL. For example %s."
1716
  msgstr ""
1717
 
1718
- #: lib/tabs/searching-tab.php:66
1719
  msgid "Default operator"
1720
  msgstr ""
1721
 
1722
- #: lib/tabs/searching-tab.php:70
1723
  msgid "AND - require all terms"
1724
  msgstr ""
1725
 
1726
- #: lib/tabs/searching-tab.php:71
1727
  msgid "OR - any term present is enough"
1728
  msgstr ""
1729
 
1730
- #: lib/tabs/searching-tab.php:73
1731
  msgid "This setting determines the default operator for the search."
1732
  msgstr ""
1733
 
1734
- #: lib/tabs/searching-tab.php:77
1735
  #, php-format
1736
  msgid ""
1737
  "You can override this setting with the %1$s query parameter, like this: %2$s"
1738
  msgstr ""
1739
 
1740
- #: lib/tabs/searching-tab.php:84
1741
  msgid "Fallback to OR"
1742
  msgstr ""
1743
 
1744
  #: lib/tabs/searching-tab.php:88 lib/tabs/searching-tab.php:91
 
1745
  msgid "Disable the OR fallback."
1746
  msgstr ""
1747
 
1748
- #: lib/tabs/searching-tab.php:94
1749
  msgid ""
1750
  "By default, if AND search fails to find any results, Relevanssi will switch "
1751
  "the operator to OR and run the search again. You can prevent that by "
1752
  "checking this option."
1753
  msgstr ""
1754
 
1755
- #: lib/tabs/searching-tab.php:99
1756
  msgid "Default order"
1757
  msgstr ""
1758
 
1759
- #: lib/tabs/searching-tab.php:103
1760
  msgid "Relevance (highly recommended)"
1761
  msgstr ""
1762
 
1763
- #: lib/tabs/searching-tab.php:104
1764
  msgid "Post date"
1765
  msgstr ""
1766
 
1767
- #: lib/tabs/searching-tab.php:107
1768
  #, php-format
1769
  msgid ""
1770
  "If you want to override this or use multi-layered ordering (eg. first order "
@@ -1772,46 +1898,47 @@ msgid ""
1772
  "variable. See Help for more information."
1773
  msgstr ""
1774
 
1775
- #: lib/tabs/searching-tab.php:109
1776
  msgid ""
1777
  " If you want date-based results, see the recent post bonus in the Weights "
1778
  "section."
1779
  msgstr ""
1780
 
1781
- #: lib/tabs/searching-tab.php:115
1782
  msgid "Keyword matching"
1783
  msgstr ""
1784
 
1785
- #: lib/tabs/searching-tab.php:119
1786
  msgid "Whole words"
1787
  msgstr ""
1788
 
1789
  #: lib/tabs/searching-tab.php:120 lib/tabs/searching-tab.php:125
 
1790
  msgid "Partial words"
1791
  msgstr ""
1792
 
1793
- #: lib/tabs/searching-tab.php:121
1794
  msgid "Partial words if no hits for whole words"
1795
  msgstr ""
1796
 
1797
- #: lib/tabs/searching-tab.php:125
1798
  #, php-format
1799
  msgid ""
1800
  "Choosing the \"%1$s\" option may lead to unexpected results. Most of the "
1801
  "time the \"%2$s\" option is the better choice."
1802
  msgstr ""
1803
 
1804
- #: lib/tabs/searching-tab.php:125
1805
  msgid "Partial words if not hits for whole words"
1806
  msgstr ""
1807
 
1808
- #: lib/tabs/searching-tab.php:127
1809
  msgid ""
1810
  "Whole words means Relevanssi only finds posts that include the whole search "
1811
  "term."
1812
  msgstr ""
1813
 
1814
- #: lib/tabs/searching-tab.php:128
1815
  msgid ""
1816
  "Partial words also includes cases where the word in the index begins or ends "
1817
  "with the search term (searching for 'ana' will match 'anaconda' or 'banana', "
@@ -1819,46 +1946,47 @@ msgid ""
1819
  "words."
1820
  msgstr ""
1821
 
1822
- #: lib/tabs/searching-tab.php:133
1823
  msgid "Weights"
1824
  msgstr ""
1825
 
1826
- #: lib/tabs/searching-tab.php:136
1827
  msgid ""
1828
  "All the weights in the table are multipliers. To increase the weight of an "
1829
  "element, use a higher number. To make an element less significant, use a "
1830
  "number lower than 1."
1831
  msgstr ""
1832
 
1833
- #: lib/tabs/searching-tab.php:140
1834
  msgid "Element"
1835
  msgstr ""
1836
 
1837
- #: lib/tabs/searching-tab.php:141
1838
  msgid "Weight"
1839
  msgstr ""
1840
 
1841
- #: lib/tabs/searching-tab.php:146
1842
  msgid "Content"
1843
  msgstr ""
1844
 
1845
- #: lib/tabs/searching-tab.php:154
1846
  msgid "Titles"
1847
  msgstr ""
1848
 
1849
- #: lib/tabs/searching-tab.php:167
1850
  msgid "Comment text"
1851
  msgstr ""
1852
 
1853
- #: lib/tabs/searching-tab.php:196
1854
  msgid "Boost exact matches"
1855
  msgstr ""
1856
 
1857
  #: lib/tabs/searching-tab.php:200 lib/tabs/searching-tab.php:203
 
1858
  msgid "Give boost to exact matches."
1859
  msgstr ""
1860
 
1861
- #: lib/tabs/searching-tab.php:207
1862
  #, php-format
1863
  msgid ""
1864
  "If you enable this option, matches where the search query appears in title "
@@ -1866,137 +1994,143 @@ msgid ""
1866
  "use the %s filter hook. See Help for more details."
1867
  msgstr ""
1868
 
1869
- #: lib/tabs/searching-tab.php:215
1870
  msgid "WPML"
1871
  msgstr ""
1872
 
1873
  #: lib/tabs/searching-tab.php:219 lib/tabs/searching-tab.php:222
 
1874
  msgid "Limit results to current language."
1875
  msgstr ""
1876
 
1877
- #: lib/tabs/searching-tab.php:225
1878
  msgid ""
1879
  "Enabling this option will restrict the results to the currently active "
1880
  "language. If the option is disabled, results will include posts in all "
1881
  "languages."
1882
  msgstr ""
1883
 
1884
- #: lib/tabs/searching-tab.php:232
1885
  msgid "Polylang"
1886
  msgstr ""
1887
 
1888
  #: lib/tabs/searching-tab.php:236 lib/tabs/searching-tab.php:239
 
1889
  msgid "Allow results from all languages."
1890
  msgstr ""
1891
 
1892
- #: lib/tabs/searching-tab.php:242
1893
  msgid ""
1894
  "By default Polylang restricts the search to the current language. Enabling "
1895
  "this option will lift this restriction."
1896
  msgstr ""
1897
 
1898
  #: lib/tabs/searching-tab.php:252 lib/tabs/searching-tab.php:255
 
1899
  msgid "Use Relevanssi for admin searches."
1900
  msgstr ""
1901
 
1902
- #: lib/tabs/searching-tab.php:258
1903
  msgid ""
1904
  "If checked, Relevanssi will be used for searches in the admin interface. The "
1905
  "page search doesn't use Relevanssi, because WordPress works like that."
1906
  msgstr ""
1907
 
1908
- #: lib/tabs/searching-tab.php:264
1909
  #, php-format
1910
  msgid "Respect %s"
1911
  msgstr ""
1912
 
1913
- #: lib/tabs/searching-tab.php:268
1914
  msgid "Respect exclude_from_search for custom post types"
1915
  msgstr ""
1916
 
1917
- #: lib/tabs/searching-tab.php:272
1918
  #, php-format
1919
  msgid "Respect %s for custom post types"
1920
  msgstr ""
1921
 
1922
- #: lib/tabs/searching-tab.php:274
1923
  msgid ""
1924
  "If checked, Relevanssi won't display posts of custom post types that have "
1925
  "'exclude_from_search' set to true."
1926
  msgstr ""
1927
 
1928
- #: lib/tabs/searching-tab.php:286
1929
  msgid ""
1930
  "You probably should uncheck this option, because you've set Relevanssi to "
1931
  "index the following non-public post types:"
1932
  msgstr ""
1933
 
1934
- #: lib/tabs/searching-tab.php:299
1935
  msgid "Throttle searches"
1936
  msgstr ""
1937
 
1938
- #: lib/tabs/searching-tab.php:309
1939
  msgid "Throttling the search does not work when sorting the posts by date."
1940
  msgstr ""
1941
 
1942
  #: lib/tabs/searching-tab.php:319 lib/tabs/searching-tab.php:322
 
1943
  msgid "Throttle searches."
1944
  msgstr ""
1945
 
1946
- #: lib/tabs/searching-tab.php:326
1947
  msgid "Your database is so small that you don't need to enable this."
1948
  msgstr ""
1949
 
1950
- #: lib/tabs/searching-tab.php:328
1951
  msgid ""
1952
  "If this option is checked, Relevanssi will limit search results to at most "
1953
  "500 results per term. This will improve performance, but may cause some "
1954
  "relevant documents to go unfound. See Help for more details."
1955
  msgstr ""
1956
 
1957
- #: lib/tabs/searching-tab.php:334
 
1958
  msgid "Category restriction"
1959
  msgstr ""
1960
 
1961
- #: lib/tabs/searching-tab.php:354
1962
  msgid ""
1963
  "You can restrict search results to a category for all searches. For "
1964
  "restricting on a per-search basis and more options (eg. tag restrictions), "
1965
  "see Help."
1966
  msgstr ""
1967
 
1968
- #: lib/tabs/searching-tab.php:359
 
1969
  msgid "Category exclusion"
1970
  msgstr ""
1971
 
1972
- #: lib/tabs/searching-tab.php:379
1973
  msgid ""
1974
  "Posts in these categories are not included in search results. To exclude the "
1975
  "posts completely from the index, see Help."
1976
  msgstr ""
1977
 
1978
- #: lib/tabs/searching-tab.php:384
1979
  msgid "Post exclusion"
1980
  msgstr ""
1981
 
1982
- #: lib/tabs/searching-tab.php:388
1983
  msgid ""
1984
  "Enter a comma-separated list of post or page ID's to exclude those pages "
1985
  "from the search results."
1986
  msgstr ""
1987
 
1988
- #: lib/tabs/searching-tab.php:390
1989
  msgid ""
1990
  "With Relevanssi Premium, it's better to use the check box on post edit "
1991
  "pages. That will remove the posts completely from the index, and will work "
1992
  "with multisite searches unlike this setting."
1993
  msgstr ""
1994
 
1995
- #: lib/tabs/stopwords-tab.php:25
1996
  msgid "Content stopwords"
1997
  msgstr ""
1998
 
1999
- #: lib/tabs/stopwords-tab.php:31
2000
  msgid ""
2001
  "Content stopwords are a premium feature where you can set stopwords that "
2002
  "only apply to the post content. Those stopwords will still be indexed if "
@@ -2004,18 +2138,18 @@ msgid ""
2004
  "of the post. To use content stopwords, you need Relevanssi Premium."
2005
  msgstr ""
2006
 
2007
- #: lib/tabs/stopwords-tab.php:59
2008
  msgid ""
2009
  "Enter a word here to add it to the list of stopwords. The word will "
2010
  "automatically be removed from the index, so re-indexing is not necessary. "
2011
  "You can enter many words at the same time, separate words with commas."
2012
  msgstr ""
2013
 
2014
- #: lib/tabs/stopwords-tab.php:64
2015
  msgid "Stopword(s) to add"
2016
  msgstr ""
2017
 
2018
- #: lib/tabs/stopwords-tab.php:72
2019
  msgid ""
2020
  "Here's a list of stopwords in the database. Click a word to remove it from "
2021
  "stopwords. Removing stopwords won't automatically return them to index, so "
@@ -2023,35 +2157,36 @@ msgid ""
2023
  "back to index."
2024
  msgstr ""
2025
 
2026
- #: lib/tabs/stopwords-tab.php:77
2027
  msgid "Current stopwords"
2028
  msgstr ""
2029
 
2030
- #: lib/tabs/stopwords-tab.php:98
 
2031
  msgid "Exportable list of stopwords"
2032
  msgstr ""
2033
 
2034
- #: lib/tabs/stopwords-tab.php:102
2035
  msgid ""
2036
  "You can copy the list of stopwords here if you want to back up the list, "
2037
  "copy it to a different blog or otherwise need the list."
2038
  msgstr ""
2039
 
2040
- #: lib/tabs/synonyms-tab.php:33
2041
  msgid ""
2042
  "Add synonyms here to make the searches find better results. If you notice "
2043
  "your users frequently misspelling a product name, or for other reasons use "
2044
  "many names for one thing, adding synonyms will make the results better."
2045
  msgstr ""
2046
 
2047
- #: lib/tabs/synonyms-tab.php:35
2048
  msgid ""
2049
  "Do not go overboard, though, as too many synonyms can make the search "
2050
  "confusing: users understand if a search query doesn't match everything, but "
2051
  "they get confused if the searches match to unexpected things."
2052
  msgstr ""
2053
 
2054
- #: lib/tabs/synonyms-tab.php:39
2055
  msgid ""
2056
  "The format here is <code>key = value</code>. If you add <code>dog = hound</"
2057
  "code> to the list of synonyms, searches for <code>dog</code> automatically "
@@ -2062,706 +2197,43 @@ msgid ""
2062
  "and <code>hound</code>."
2063
  msgstr ""
2064
 
2065
- #: lib/tabs/synonyms-tab.php:41
2066
  msgid ""
2067
  "The synonyms are one direction only. If you want both directions, add the "
2068
  "synonym again, reversed: <code>hound = dog</code>."
2069
  msgstr ""
2070
 
2071
- #: lib/tabs/synonyms-tab.php:43
2072
  msgid ""
2073
  "It's possible to use phrases for the value, but not for the key. <code>dog = "
2074
  "\"great dane\"</code> works, but <code>\"great dane\" = dog</code> doesn't."
2075
  msgstr ""
2076
 
2077
- #: lib/tabs/synonyms-tab.php:46
2078
  msgid ""
2079
  "If you want to use synonyms in AND searches, enable synonym indexing on the "
2080
  "Indexing tab."
2081
  msgstr ""
2082
 
2083
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/internationalized-plugin.php:11
2084
- msgid "This is a dummy plugin"
2085
- msgstr ""
2086
-
2087
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/parsers.php:42
2088
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/parsers.php:72
2089
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/parsers.php:80
2090
- msgid "There was an error when reading this WXR file"
2091
- msgstr ""
2092
-
2093
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/parsers.php:43
2094
- msgid ""
2095
- "Details are shown above. The importer will now try again with a different "
2096
- "parser..."
2097
- msgstr ""
2098
-
2099
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/parsers.php:84
2100
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/parsers.php:89
2101
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/parsers.php:306
2102
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/parsers.php:495
2103
- msgid ""
2104
- "This does not appear to be a WXR file, missing/invalid WXR version number"
2105
- msgstr ""
2106
-
2107
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:132
2108
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:141
2109
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:192
2110
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:196
2111
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:205
2112
- msgid "Sorry, there has been an error."
2113
- msgstr ""
2114
-
2115
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:133
2116
- msgid "The file does not exist, please try again."
2117
- msgstr ""
2118
-
2119
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:176
2120
- msgid "All done."
2121
- msgstr ""
2122
-
2123
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:176
2124
- msgid "Have fun!"
2125
- msgstr ""
2126
-
2127
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:177
2128
- msgid "Remember to update the passwords and roles of imported users."
2129
- msgstr ""
2130
-
2131
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:197
2132
- #, php-format
2133
- msgid ""
2134
- "The export file could not be found at <code>%s</code>. It is likely that "
2135
- "this was caused by a permissions problem."
2136
- msgstr ""
2137
-
2138
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:213
2139
- #, php-format
2140
- msgid ""
2141
- "This WXR file (version %s) may not be supported by this version of the "
2142
- "importer. Please consider updating."
2143
- msgstr ""
2144
-
2145
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:238
2146
- #, php-format
2147
- msgid ""
2148
- "Failed to import author %s. Their posts will be attributed to the current "
2149
- "user."
2150
- msgstr ""
2151
-
2152
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:264
2153
- msgid "Assign Authors"
2154
- msgstr ""
2155
-
2156
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:265
2157
- msgid ""
2158
- "To make it easier for you to edit and save the imported content, you may "
2159
- "want to reassign the author of the imported item to an existing user of this "
2160
- "site. For example, you may want to import all the entries as <code>admin</"
2161
- "code>s entries."
2162
- msgstr ""
2163
-
2164
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:267
2165
- #, php-format
2166
- msgid ""
2167
- "If a new user is created by WordPress, a new password will be randomly "
2168
- "generated and the new user&#8217;s role will be set as %s. Manually changing "
2169
- "the new user&#8217;s details will be necessary."
2170
- msgstr ""
2171
-
2172
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:277
2173
- msgid "Import Attachments"
2174
- msgstr ""
2175
-
2176
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:280
2177
- msgid "Download and import file attachments"
2178
- msgstr ""
2179
-
2180
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:297
2181
- msgid "Import author:"
2182
- msgstr ""
2183
-
2184
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:308
2185
- msgid "or create new user with login name:"
2186
- msgstr ""
2187
-
2188
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:311
2189
- msgid "as a new user:"
2190
- msgstr ""
2191
-
2192
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:319
2193
- msgid "assign posts to an existing user:"
2194
- msgstr ""
2195
-
2196
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:321
2197
- msgid "or assign posts to an existing user:"
2198
- msgstr ""
2199
-
2200
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:322
2201
- msgid "- Select -"
2202
- msgstr ""
2203
-
2204
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:372
2205
- #, php-format
2206
- msgid ""
2207
- "Failed to create new user for %s. Their posts will be attributed to the "
2208
- "current user."
2209
- msgstr ""
2210
-
2211
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:424
2212
- #, php-format
2213
- msgid "Failed to import category %s"
2214
- msgstr ""
2215
-
2216
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:467
2217
- #, php-format
2218
- msgid "Failed to import post tag %s"
2219
- msgstr ""
2220
-
2221
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:516
2222
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:738
2223
- #, php-format
2224
- msgid "Failed to import %s %s"
2225
- msgstr ""
2226
-
2227
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:605
2228
  #, php-format
2229
- msgid "Failed to import &#8220;%s&#8221;: Invalid post type %s"
2230
- msgstr ""
2231
-
2232
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:642
2233
- #, php-format
2234
- msgid "%s &#8220;%s&#8221; already exists."
2235
- msgstr ""
2236
-
2237
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:704
2238
- #, php-format
2239
- msgid "Failed to import %s &#8220;%s&#8221;"
2240
- msgstr ""
2241
-
2242
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:869
2243
- msgid "Menu item skipped due to missing menu slug"
2244
- msgstr ""
2245
-
2246
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:876
2247
- #, php-format
2248
- msgid "Menu item skipped due to invalid menu slug: %s"
2249
- msgstr ""
2250
-
2251
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:939
2252
- msgid "Fetching attachments is not enabled"
2253
- msgstr ""
2254
-
2255
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:952
2256
- msgid "Invalid file type"
2257
- msgstr ""
2258
-
2259
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:996
2260
- msgid "Remote server did not respond"
2261
- msgstr ""
2262
-
2263
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:1002
2264
- #, php-format
2265
- msgid "Remote server returned error response %1$d %2$s"
2266
- msgstr ""
2267
-
2268
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:1009
2269
- msgid "Remote file is incorrect size"
2270
- msgstr ""
2271
-
2272
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:1014
2273
- msgid "Zero size file downloaded"
2274
- msgstr ""
2275
-
2276
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:1020
2277
- #, php-format
2278
- msgid "Remote file is too large, limit is %s"
2279
- msgstr ""
2280
-
2281
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:1119
2282
- msgid "Import WordPress"
2283
- msgstr ""
2284
-
2285
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:1126
2286
- #, php-format
2287
- msgid ""
2288
- "A new version of this importer is available. Please update to version %s to "
2289
- "ensure compatibility with newer export files."
2290
- msgstr ""
2291
-
2292
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:1141
2293
- msgid ""
2294
- "Howdy! Upload your WordPress eXtended RSS (WXR) file and we&#8217;ll import "
2295
- "the posts, pages, comments, custom fields, categories, and tags into this "
2296
- "site."
2297
  msgstr ""
2298
 
2299
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:1142
2300
- msgid "Choose a WXR (.xml) file to upload, then click Upload file and import."
2301
  msgstr ""
2302
 
2303
- #: vendor/rask/wp-test-framework/src/phpunit/data/plugins/wordpress-importer/wordpress-importer.php:1216
2304
  msgid ""
2305
- "Import <strong>posts, pages, comments, custom fields, categories, and tags</"
2306
- "strong> from a WordPress export file."
2307
- msgstr ""
2308
-
2309
- #: vendor/rask/wp-test-framework/src/phpunit/data/themedir1/internationalized-theme/functions.php:7
2310
- msgid "This is a dummy theme"
2311
- msgstr ""
2312
-
2313
- #: vendor/rask/wp-test-framework/src/phpunit/tests/category/wpDropdownCategories.php:196
2314
- #: vendor/rask/wp-test-framework/src/phpunit/tests/category/wpDropdownCategories.php:221
2315
- #: vendor/rask/wp-test-framework/src/phpunit/tests/category/wpDropdownCategories.php:246
2316
- msgid "Select one"
2317
- msgstr ""
2318
-
2319
- #: vendor/rask/wp-test-framework/src/phpunit/tests/comment/template.php:41
2320
- msgid "No Comments"
2321
- msgstr ""
2322
-
2323
- #: vendor/rask/wp-test-framework/src/phpunit/tests/comment/template.php:46
2324
- msgid "1 Comment"
2325
- msgstr ""
2326
-
2327
- #: vendor/rask/wp-test-framework/src/phpunit/tests/comment/template.php:51
2328
- #: vendor/rask/wp-test-framework/src/phpunit/tests/comment/template.php:97
2329
- #: vendor/rask/wp-test-framework/src/phpunit/tests/comment/template.php:117
2330
- #: vendor/rask/wp-test-framework/src/phpunit/tests/comment/template.php:127
2331
- #: vendor/rask/wp-test-framework/src/phpunit/tests/comment/template.php:132
2332
- #: vendor/rask/wp-test-framework/src/phpunit/tests/comment/template.php:137
2333
- #: vendor/rask/wp-test-framework/src/phpunit/tests/comment/template.php:142
2334
- #: vendor/rask/wp-test-framework/src/phpunit/tests/comment/template.php:147
2335
- #: vendor/rask/wp-test-framework/src/phpunit/tests/comment/template.php:152
2336
- #, php-format
2337
- msgid "%s Comment"
2338
- msgstr ""
2339
-
2340
- #: vendor/rask/wp-test-framework/src/phpunit/tests/comment/template.php:116
2341
- #: vendor/rask/wp-test-framework/src/phpunit/tests/comment/template.php:146
2342
- #: vendor/rask/wp-test-framework/src/phpunit/tests/comment/template.php:151
2343
- msgid "% Comments"
2344
- msgstr ""
2345
-
2346
- #: vendor/rask/wp-test-framework/src/phpunit/tests/comment/template.php:126
2347
- msgid "<b>%</b> Replies"
2348
- msgstr ""
2349
-
2350
- #: vendor/rask/wp-test-framework/src/phpunit/tests/comment/template.php:131
2351
- msgid "% <span class=\"reply\">comments &rarr;</span>"
2352
- msgstr ""
2353
-
2354
- #: vendor/rask/wp-test-framework/src/phpunit/tests/comment/template.php:136
2355
- msgid "% Replies"
2356
- msgstr ""
2357
-
2358
- #: vendor/rask/wp-test-framework/src/phpunit/tests/comment/template.php:141
2359
- #, php-format
2360
- msgid "View all % comments"
2361
- msgstr ""
2362
-
2363
- #: vendor/rask/wp-test-framework/src/phpunit/tests/customize/manager.php:2236
2364
- #: vendor/rask/wp-test-framework/src/phpunit/tests/customize/manager.php:2251
2365
- #: vendor/rask/wp-test-framework/src/phpunit/tests/customize/manager.php:2298
2366
- msgid "Invalid value."
2367
- msgstr ""
2368
-
2369
- #: vendor/rask/wp-test-framework/src/phpunit/tests/customize/manager.php:3188
2370
- msgid "Enter desktop preview mode"
2371
- msgstr ""
2372
-
2373
- #: vendor/rask/wp-test-framework/src/phpunit/tests/customize/manager.php:3192
2374
- msgid "Enter tablet preview mode"
2375
- msgstr ""
2376
-
2377
- #: vendor/rask/wp-test-framework/src/phpunit/tests/customize/manager.php:3195
2378
- msgid "Enter mobile preview mode"
2379
- msgstr ""
2380
-
2381
- #: vendor/rask/wp-test-framework/src/phpunit/tests/customize/manager.php:3220
2382
- msgid "Enter custom-device preview mode"
2383
- msgstr ""
2384
-
2385
- #: vendor/rask/wp-test-framework/src/phpunit/tests/customize/manager.php:3378
2386
- msgid "You must supply a value"
2387
- msgstr ""
2388
-
2389
- #: vendor/rask/wp-test-framework/src/phpunit/tests/customize/nav-menu-item-setting.php:1139
2390
- #: vendor/rask/wp-test-framework/src/phpunit/tests/customize/nav-menu-item-setting.php:1164
2391
- msgid "Post Type Archive"
2392
- msgstr ""
2393
-
2394
- #: vendor/rask/wp-test-framework/src/phpunit/tests/customize/nav-menus.php:137
2395
- #: vendor/rask/wp-test-framework/src/phpunit/tests/customize/nav-menus.php:432
2396
- msgid "Custom Link"
2397
- msgstr ""
2398
-
2399
- #: vendor/rask/wp-test-framework/src/phpunit/tests/customize/nav-menus.php:554
2400
- msgid "Post"
2401
- msgstr ""
2402
-
2403
- #: vendor/rask/wp-test-framework/src/phpunit/tests/customize/nav-menus.php:560
2404
- msgid "Page"
2405
- msgstr ""
2406
-
2407
- #: vendor/rask/wp-test-framework/src/phpunit/tests/customize/nav-menus.php:566
2408
- msgid "Category"
2409
- msgstr ""
2410
-
2411
- #: vendor/rask/wp-test-framework/src/phpunit/tests/customize/nav-menus.php:572
2412
- msgid "Tag"
2413
- msgstr ""
2414
-
2415
- #: vendor/rask/wp-test-framework/src/phpunit/tests/customize/nav-menus.php:581
2416
- msgid "Format"
2417
- msgstr ""
2418
-
2419
- #: vendor/rask/wp-test-framework/src/phpunit/tests/editor/wpEditors.php:40
2420
- #: vendor/rask/wp-test-framework/src/phpunit/tests/editor/wpEditors.php:79
2421
- msgid "Y/m/d"
2422
- msgstr ""
2423
-
2424
- #: vendor/rask/wp-test-framework/src/phpunit/tests/includes/helpers.php:265
2425
- msgid "Incorrect usage test"
2426
- msgstr ""
2427
-
2428
- #: vendor/rask/wp-test-framework/src/phpunit/tests/l10n/loadTextdomain.php:121
2429
- msgid "just some string"
2430
- msgstr ""
2431
-
2432
- #: vendor/rask/wp-test-framework/src/phpunit/tests/l10n/loadTextdomainJustInTime.php:248
2433
- msgid "Foo"
2434
- msgstr ""
2435
-
2436
- #: vendor/rask/wp-test-framework/src/phpunit/tests/l10n/loadTextdomainJustInTime.php:249
2437
- msgid "Bar"
2438
- msgstr ""
2439
-
2440
- #: vendor/rask/wp-test-framework/src/phpunit/tests/l10n/loadTextdomainJustInTime.php:250
2441
- msgid "Baz"
2442
- msgstr ""
2443
-
2444
- #: vendor/rask/wp-test-framework/src/phpunit/tests/l10n/loadTextdomainJustInTime.php:251
2445
- msgid "Foo Bar"
2446
- msgstr ""
2447
-
2448
- #: vendor/rask/wp-test-framework/src/phpunit/tests/l10n/loadTextdomainJustInTime.php:252
2449
- msgid "Foo Bar Baz"
2450
- msgstr ""
2451
-
2452
- #: vendor/rask/wp-test-framework/src/phpunit/tests/l10n/localeSwitcher.php:71
2453
- #: vendor/rask/wp-test-framework/src/phpunit/tests/l10n/localeSwitcher.php:127
2454
- #: vendor/rask/wp-test-framework/src/phpunit/tests/l10n/localeSwitcher.php:167
2455
- msgid "Invalid parameter."
2456
- msgstr ""
2457
-
2458
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:23
2459
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:40
2460
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:50
2461
- msgid "Sunday"
2462
- msgstr ""
2463
-
2464
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:24
2465
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:41
2466
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:51
2467
- msgid "Monday"
2468
- msgstr ""
2469
-
2470
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:25
2471
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:42
2472
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:52
2473
- msgid "Tuesday"
2474
- msgstr ""
2475
-
2476
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:26
2477
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:43
2478
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:53
2479
- msgid "Wednesday"
2480
- msgstr ""
2481
-
2482
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:27
2483
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:44
2484
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:54
2485
- msgid "Thursday"
2486
- msgstr ""
2487
-
2488
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:28
2489
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:45
2490
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:55
2491
- msgid "Friday"
2492
- msgstr ""
2493
-
2494
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:29
2495
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:46
2496
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:56
2497
- msgid "Saturday"
2498
- msgstr ""
2499
-
2500
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:40
2501
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:46
2502
- msgid "S"
2503
- msgstr ""
2504
-
2505
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:41
2506
- msgid "M"
2507
- msgstr ""
2508
-
2509
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:42
2510
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:44
2511
- msgid "T"
2512
- msgstr ""
2513
-
2514
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:43
2515
- msgid "W"
2516
- msgstr ""
2517
-
2518
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:45
2519
- msgid "F"
2520
- msgstr ""
2521
-
2522
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:50
2523
- msgid "Sun"
2524
- msgstr ""
2525
-
2526
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:51
2527
- msgid "Mon"
2528
- msgstr ""
2529
-
2530
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:52
2531
- msgid "Tue"
2532
- msgstr ""
2533
-
2534
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:53
2535
- msgid "Wed"
2536
- msgstr ""
2537
-
2538
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:54
2539
- msgid "Thu"
2540
- msgstr ""
2541
-
2542
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:55
2543
- msgid "Fri"
2544
- msgstr ""
2545
-
2546
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:56
2547
- msgid "Sat"
2548
- msgstr ""
2549
-
2550
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:60
2551
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:75
2552
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:87
2553
- msgid "January"
2554
- msgstr ""
2555
-
2556
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:61
2557
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:76
2558
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:88
2559
- msgid "February"
2560
- msgstr ""
2561
-
2562
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:62
2563
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:77
2564
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:89
2565
- msgid "March"
2566
- msgstr ""
2567
-
2568
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:63
2569
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:78
2570
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:90
2571
- msgid "April"
2572
- msgstr ""
2573
-
2574
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:64
2575
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:79
2576
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:91
2577
- msgid "May"
2578
- msgstr ""
2579
-
2580
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:65
2581
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:80
2582
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:92
2583
- msgid "June"
2584
- msgstr ""
2585
-
2586
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:66
2587
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:81
2588
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:93
2589
- msgid "July"
2590
- msgstr ""
2591
-
2592
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:67
2593
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:82
2594
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:94
2595
- msgid "August"
2596
- msgstr ""
2597
-
2598
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:68
2599
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:83
2600
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:95
2601
- msgid "September"
2602
- msgstr ""
2603
-
2604
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:69
2605
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:96
2606
- msgid "October"
2607
- msgstr ""
2608
-
2609
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:70
2610
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:97
2611
- msgid "November"
2612
- msgstr ""
2613
-
2614
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:71
2615
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:98
2616
- msgid "December"
2617
- msgstr ""
2618
-
2619
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:87
2620
- msgid "Jan"
2621
- msgstr ""
2622
-
2623
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:88
2624
- msgid "Feb"
2625
- msgstr ""
2626
-
2627
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:89
2628
- msgid "Mar"
2629
- msgstr ""
2630
-
2631
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:90
2632
- msgid "Apr"
2633
- msgstr ""
2634
-
2635
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:92
2636
- msgid "Jun"
2637
- msgstr ""
2638
-
2639
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:93
2640
- msgid "Jul"
2641
- msgstr ""
2642
-
2643
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:94
2644
- msgid "Aug"
2645
- msgstr ""
2646
-
2647
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:95
2648
- msgid "Sep"
2649
- msgstr ""
2650
-
2651
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:96
2652
- msgid "Oct"
2653
- msgstr ""
2654
-
2655
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:97
2656
- msgid "Nov"
2657
- msgstr ""
2658
-
2659
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:98
2660
- msgid "Dec"
2661
- msgstr ""
2662
-
2663
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:102
2664
- msgid "am"
2665
- msgstr ""
2666
-
2667
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:103
2668
- msgid "AM"
2669
- msgstr ""
2670
-
2671
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:104
2672
- msgid "pm"
2673
- msgstr ""
2674
-
2675
- #: vendor/rask/wp-test-framework/src/phpunit/tests/locale.php:105
2676
- msgid "PM"
2677
- msgstr ""
2678
-
2679
- #: vendor/rask/wp-test-framework/src/phpunit/tests/oembed/template.php:269
2680
- #, php-format
2681
- msgid "&#8220;%1$s&#8221; &#8212; %2$s"
2682
- msgstr ""
2683
-
2684
- #: vendor/rask/wp-test-framework/src/phpunit/tests/theme/themeDir.php:185
2685
- msgid "Stylesheet is missing."
2686
  msgstr ""
2687
 
2688
- #: vendor/rask/wp-test-framework/src/phpunit/tests/theme/themeDir.php:190
2689
  #, php-format
2690
  msgid ""
2691
- "The theme defines itself as its parent theme. Please check the %s header."
2692
- msgstr ""
2693
-
2694
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/deleteTerm.php:29
2695
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/deleteTerm.php:38
2696
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/editTerm.php:41
2697
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/editTerm.php:50
2698
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/getTaxonomy.php:20
2699
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/getTaxonomy.php:29
2700
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/getTerm.php:30
2701
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/getTerm.php:39
2702
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/getTerms.php:20
2703
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/getTerms.php:29
2704
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/newTerm.php:30
2705
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/newTerm.php:39
2706
- msgid "Invalid taxonomy."
2707
- msgstr ""
2708
-
2709
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/deleteTerm.php:47
2710
- msgid "Sorry, you are not allowed to delete this term."
2711
- msgstr ""
2712
-
2713
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/deleteTerm.php:56
2714
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/editTerm.php:77
2715
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/getTerm.php:58
2716
- msgid "Empty Term."
2717
- msgstr ""
2718
-
2719
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/deleteTerm.php:65
2720
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/editTerm.php:68
2721
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/getTerm.php:67
2722
- msgid "Invalid term ID."
2723
- msgstr ""
2724
-
2725
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/editComment.php:63
2726
- msgid "Sorry, you are not allowed to moderate or edit this comment."
2727
- msgstr ""
2728
-
2729
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/editTerm.php:59
2730
- msgid "Sorry, you are not allowed to edit this term."
2731
- msgstr ""
2732
-
2733
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/editTerm.php:97
2734
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/newTerm.php:67
2735
- msgid "The term name cannot be empty."
2736
- msgstr ""
2737
-
2738
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/editTerm.php:117
2739
- msgid "Cannot set parent term, taxonomy is not hierarchical."
2740
- msgstr ""
2741
-
2742
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/editTerm.php:202
2743
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/newTerm.php:126
2744
- msgid "Parent term does not exist."
2745
- msgstr ""
2746
-
2747
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/editTerm.php:223
2748
- #, php-format
2749
- msgid "The slug &#8220;%s&#8221; is already in use by another term."
2750
- msgstr ""
2751
-
2752
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/getTaxonomy.php:38
2753
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/getTerms.php:38
2754
- msgid "Sorry, you are not allowed to assign terms in this taxonomy."
2755
- msgstr ""
2756
-
2757
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/getTerm.php:48
2758
- msgid "Sorry, you are not allowed to assign this term."
2759
- msgstr ""
2760
-
2761
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/newTerm.php:48
2762
- msgid "Sorry, you are not allowed to create terms in this taxonomy."
2763
- msgstr ""
2764
-
2765
- #: vendor/rask/wp-test-framework/src/phpunit/tests/xmlrpc/wp/newTerm.php:87
2766
- msgid "This taxonomy is not hierarchical."
2767
  msgstr ""
2
  msgstr ""
3
  "Project-Id-Version: Relevanssi\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2020-01-29 08:09+0200\n"
6
  "PO-Revision-Date: \n"
7
  "Last-Translator: Mikko Saari <mikko@mikkosaari.fi>\n"
8
  "Language-Team: \n"
12
  "Content-Transfer-Encoding: 8bit\n"
13
  "X-Poedit-KeywordsList: _e;__;esc_html__;esc_html_e;_n\n"
14
  "X-Poedit-Basepath: .\n"
15
+ "X-Generator: Poedit 2.2.4\n"
16
  "X-Poedit-SearchPath-0: .\n"
17
  "X-Poedit-SearchPath-1: lib\n"
18
 
19
+ #: lib/admin-ajax.php:89 vendor/lib/admin-ajax.php:89
20
  #, php-format
21
  msgid "Indexed %1$d post (total %2$d), processed %3$d / %4$d."
22
  msgstr ""
23
 
24
+ #: lib/admin-ajax.php:212 lib/tabs/indexing-tab.php:127
25
+ #: vendor/lib/admin-ajax.php:212 vendor/lib/tabs/indexing-tab.php:125
26
  msgid "Results"
27
  msgstr ""
28
 
29
+ #: lib/admin-ajax.php:216 vendor/lib/admin-ajax.php:216
30
  #, php-format
31
+ msgid "Found a total of %1$d posts, showing posts %2$d–%3$s."
32
  msgstr ""
33
 
34
+ #: lib/admin-ajax.php:218 vendor/lib/admin-ajax.php:218
35
  msgid "Previous page"
36
  msgstr ""
37
 
38
+ #: lib/admin-ajax.php:221 vendor/lib/admin-ajax.php:221
39
  msgid "Next page"
40
  msgstr ""
41
 
42
+ #: lib/admin-ajax.php:225 vendor/lib/admin-ajax.php:225
43
  msgid "Score:"
44
  msgstr ""
45
 
46
+ #: lib/admin-ajax.php:250 vendor/lib/admin-ajax.php:250
 
 
 
 
47
  msgid "Edit"
48
  msgstr ""
49
 
50
+ #: lib/admin-ajax.php:296 vendor/lib/admin-ajax.php:296
51
  msgid "Query variables"
52
  msgstr ""
53
 
54
+ #: lib/admin-ajax.php:365 vendor/lib/admin-ajax.php:365
55
  msgid "Filters"
56
  msgstr ""
57
 
58
+ #: lib/admin-ajax.php:366 vendor/lib/admin-ajax.php:366
59
  msgid "show"
60
  msgstr ""
61
 
62
+ #: lib/admin-ajax.php:367 vendor/lib/admin-ajax.php:367
63
  msgid "hide"
64
  msgstr ""
65
 
66
+ #: lib/common.php:1744 vendor/lib/common.php:1601
67
  msgid "25 most common words in the index"
68
  msgstr ""
69
 
70
+ #: lib/common.php:1745 vendor/lib/common.php:1602
71
  msgid ""
72
  "These words are excellent stopword material. A word that appears in most of "
73
  "the posts in the database is quite pointless when searching. This is also an "
77
  "necessary."
78
  msgstr ""
79
 
80
+ #: lib/common.php:1751 vendor/lib/common.php:1608
81
  msgid "Stopword Candidates"
82
  msgstr ""
83
 
84
+ #: lib/common.php:1756 vendor/lib/common.php:1613
85
  msgid "Add to stopwords"
86
  msgstr ""
87
 
88
+ #: lib/common.php:1759 vendor/lib/common.php:1616
89
  msgid "Add to content stopwords"
90
  msgstr ""
91
 
92
+ #: lib/contextual-help.php:24 vendor/lib/contextual-help.php:28
 
 
 
 
 
93
  #, php-format
94
  msgid ""
95
  "To adjust the post order, you can use the %1$s query parameter. With %1$s, "
97
  "href='%2$s'>WordPress Codex</a> for more details on using arrays for orderby."
98
  msgstr ""
99
 
100
+ #: lib/contextual-help.php:26 vendor/lib/contextual-help.php:35
 
 
 
 
 
 
 
101
  #, php-format
102
  msgid ""
103
  "To get inside-word highlights, uncheck the \"%s\" option. That has a side-"
104
  "effect of enabling the inside-word highlights."
105
  msgstr ""
106
 
107
+ #: lib/contextual-help.php:26 lib/tabs/excerpts-tab.php:370
108
+ #: vendor/lib/contextual-help.php:35 vendor/lib/tabs/excerpts-tab.php:378
109
+ #: vendor/lib/tabs/excerpts-tab.php:387
110
  msgid "Uncheck this if you use non-ASCII characters"
111
  msgstr ""
112
 
113
+ #: lib/contextual-help.php:28 vendor/lib/contextual-help.php:37
114
  #, php-format
115
  msgid "In order to adjust the throttle limit, you can use the %s filter hook."
116
  msgstr ""
117
 
118
+ #: lib/contextual-help.php:33 lib/interface.php:848
119
+ #: lib/tabs/overview-tab.php:56 vendor/lib/contextual-help.php:25
120
+ #: vendor/lib/interface.php:831 vendor/lib/tabs/overview-tab.php:56
121
+ msgid "Searching"
122
+ msgstr ""
123
+
124
+ #: lib/contextual-help.php:36 vendor/lib/contextual-help.php:29
125
+ msgid ""
126
+ "Inside-word matching is disabled by default, because it increases garbage "
127
+ "results that don't really match the search term. If you want to enable it, "
128
+ "add the following function to your theme functions.php:"
129
+ msgstr ""
130
+
131
+ #: lib/contextual-help.php:44 vendor/lib/contextual-help.php:39
132
  msgid ""
133
  "It's not usually necessary to adjust the limit from 500, but in some cases "
134
  "performance gains can be achieved by setting a lower limit. We don't suggest "
135
  "going under 200, as low values will make the results worse."
136
  msgstr ""
137
 
138
+ #: lib/contextual-help.php:50 vendor/lib/contextual-help.php:54
139
+ #, php-format
140
+ msgid "For all the possible options, see the Codex documentation for %s."
141
+ msgstr ""
142
+
143
+ #: lib/contextual-help.php:55 vendor/lib/contextual-help.php:46
144
  msgid "Restrictions"
145
  msgstr ""
146
 
147
+ #: lib/contextual-help.php:57 vendor/lib/contextual-help.php:48
148
  msgid ""
149
  "If you want the general search to target all posts, but have a single search "
150
  "form target only certain posts, you can add a hidden input variable to the "
151
  "search form. "
152
  msgstr ""
153
 
154
+ #: lib/contextual-help.php:58 vendor/lib/contextual-help.php:49
155
  msgid ""
156
  "For example in order to restrict the search to categories 10, 14 and 17, you "
157
  "could add this to the search form:"
158
  msgstr ""
159
 
160
+ #: lib/contextual-help.php:60 vendor/lib/contextual-help.php:51
161
  msgid ""
162
  "To restrict the search to posts tagged with alfa AND beta, you could add "
163
  "this to the search form:"
164
  msgstr ""
165
 
166
+ #: lib/contextual-help.php:67 vendor/lib/contextual-help.php:64
 
 
 
 
 
 
 
 
 
167
  #, php-format
168
  msgid ""
169
  "For more exclusion options, see the Codex documentation for %s. For example, "
170
  "to exclude tag ID 10, use"
171
  msgstr ""
172
 
173
+ #: lib/contextual-help.php:69 vendor/lib/contextual-help.php:67
174
  #, php-format
175
  msgid ""
176
  "To exclude posts from the index and not just from the search, you can use "
178
  "term:"
179
  msgstr ""
180
 
181
+ #: lib/contextual-help.php:71 lib/contextual-help.php:153
182
+ #: vendor/lib/contextual-help.php:77 vendor/lib/contextual-help.php:133
183
  #, php-format
184
  msgid ""
185
  "For more examples, see <a href='%s'>the related knowledge base posts</a>."
186
  msgstr ""
187
 
188
+ #: lib/contextual-help.php:76 vendor/lib/contextual-help.php:61
189
+ msgid "Exclusions"
190
  msgstr ""
191
 
192
+ #: lib/contextual-help.php:95 vendor/lib/contextual-help.php:87
193
  #, php-format
194
  msgid ""
195
  "By default, the User searches page shows 20 most common keywords. In order "
196
  "to see more, you can adjust the value with the %s filter hook, like this:"
197
  msgstr ""
198
 
199
+ #: lib/contextual-help.php:97 vendor/lib/contextual-help.php:90
200
  #, php-format
201
  msgid ""
202
  "The complete logs are stored in the %s database table, where you can access "
203
  "them if you need more information than what the User searches page provides."
204
  msgstr ""
205
 
206
+ #: lib/contextual-help.php:102 vendor/lib/contextual-help.php:84
207
+ msgid "Logs"
 
 
 
 
 
 
208
  msgstr ""
209
 
210
+ #: lib/contextual-help.php:112 vendor/lib/contextual-help.php:101
211
  #, php-format
212
  msgid ""
213
  "Custom snippets require that the search results template uses %s to print "
214
  "out the excerpts."
215
  msgstr ""
216
 
217
+ #: lib/contextual-help.php:114 vendor/lib/contextual-help.php:104
 
 
 
 
 
 
 
218
  #, php-format
219
  msgid ""
220
  "If you want more control over what content Relevanssi uses to create the "
221
  "excerpts, you can use the %1$s and %2$s filter hooks to adjust the content."
222
  msgstr ""
223
 
224
+ #: lib/contextual-help.php:116 vendor/lib/contextual-help.php:106
225
  #, php-format
226
  msgid ""
227
  "Some shortcode do not work well with Relevanssi excerpt-generation. "
229
  "can be adjusted with the %s filter hook."
230
  msgstr ""
231
 
232
+ #: lib/contextual-help.php:118 vendor/lib/contextual-help.php:108
233
  #, php-format
234
  msgid ""
235
  "If you want Relevanssi to build excerpts faster and don't mind that they may "
236
  "be less than perfect in quality, add a filter that returns true on hook %s."
237
  msgstr ""
238
 
239
+ #: lib/contextual-help.php:123 lib/tabs/indexing-tab.php:388
240
+ #: vendor/lib/contextual-help.php:97 vendor/lib/tabs/indexing-tab.php:341
241
+ msgid "Excerpts"
242
  msgstr ""
243
 
244
+ #: lib/contextual-help.php:125 vendor/lib/contextual-help.php:99
245
  msgid ""
246
+ "Building custom excerpts can be slow. If you are not actually using the "
247
+ "excerpts, make sure you disable the option."
248
+ msgstr ""
249
+
250
+ #: lib/contextual-help.php:127 vendor/lib/contextual-help.php:102
251
+ msgid ""
252
+ "Generally, Relevanssi generates the excerpts from post content. If you want "
253
+ "to include custom field content in the excerpt-building, this can be done "
254
+ "with a simple setting from the excerpt settings."
255
  msgstr ""
256
 
257
+ #: lib/contextual-help.php:137 vendor/lib/contextual-help.php:120
258
  #, php-format
259
  msgid ""
260
  "In order to see title highlights from Relevanssi, replace %1$s in the search "
262
  "title highlights."
263
  msgstr ""
264
 
265
+ #: lib/contextual-help.php:142 vendor/lib/contextual-help.php:116
266
+ msgid "Highlights"
267
  msgstr ""
268
 
269
+ #: lib/contextual-help.php:144 vendor/lib/contextual-help.php:118
270
  msgid ""
271
+ "Title highlights don't appear automatically, because that led to problems "
272
+ "with highlights appearing in wrong places and messing up navigation menus, "
273
+ "for example."
274
  msgstr ""
275
 
276
+ #: lib/contextual-help.php:151 vendor/lib/contextual-help.php:131
277
  #, php-format
278
  msgid ""
279
  "For more fine-tuned changes, you can use %1$s filter hook to adjust what is "
281
  "punctuation control."
282
  msgstr ""
283
 
284
+ #: lib/contextual-help.php:158 vendor/lib/contextual-help.php:127
285
+ msgid "Punctuation"
286
+ msgstr ""
287
+
288
+ #: lib/contextual-help.php:160 vendor/lib/contextual-help.php:129
289
+ msgid ""
290
+ "Relevanssi removes punctuation. Some punctuation is removed, some replaced "
291
+ "with spaces. Advanced indexing settings include some of the more common "
292
+ "settings people want to change."
293
  msgstr ""
294
 
295
+ #: lib/contextual-help.php:168 vendor/lib/contextual-help.php:143
296
  #, php-format
297
  msgid ""
298
  "If you have content that you don't want indexed, you can wrap that content "
299
  "in a %s shortcode."
300
  msgstr ""
301
 
302
+ #: lib/contextual-help.php:170 vendor/lib/contextual-help.php:145
303
  #, php-format
304
  msgid ""
305
  "If you need a search form on some page on your site, you can use the %s "
306
  "shortcode to print out a basic search form."
307
  msgstr ""
308
 
309
+ #: lib/contextual-help.php:172 vendor/lib/contextual-help.php:147
310
  #, php-format
311
  msgid ""
312
  "If you need to add query variables to the search form, the shortcode takes "
315
  "search to categories 10, 14 and 17, you can use %2$s and so on."
316
  msgstr ""
317
 
318
+ #: lib/contextual-help.php:174 vendor/lib/contextual-help.php:149
319
  #, php-format
320
  msgid ""
321
  "You can use the %1$s parameter to add a taxonomy dropdown to the search "
324
  "available."
325
  msgstr ""
326
 
327
+ #: lib/contextual-help.php:179 vendor/lib/contextual-help.php:140
328
+ msgid "Helpful shortcodes"
329
+ msgstr ""
330
+
331
+ #: lib/contextual-help.php:190 vendor/lib/contextual-help.php:160
332
+ #, php-format
333
+ msgid ""
334
+ "For more details how to fix that issue, see <a href='%s'>WooCommerce tips in "
335
+ "Relevanssi user manual</a>."
336
+ msgstr ""
337
+
338
+ #: lib/contextual-help.php:195 vendor/lib/contextual-help.php:156
339
  msgid "WooCommerce"
340
  msgstr ""
341
 
342
+ #: lib/contextual-help.php:197 vendor/lib/contextual-help.php:158
343
  msgid ""
344
  "If your SKUs include hyphens or other punctuation, do note that Relevanssi "
345
  "replaces most punctuation with spaces. That's going to cause issues with SKU "
346
  "searches."
347
  msgstr ""
348
 
349
+ #: lib/contextual-help.php:199 vendor/lib/contextual-help.php:161
 
 
 
 
 
 
 
350
  msgid ""
351
  "If you don't want to index products that are out of stock, excluded from the "
352
  "catalog or excluded from the search, there's a product visibility filtering "
353
  "method that is described in the user manual (see link above)."
354
  msgstr ""
355
 
356
+ #: lib/contextual-help.php:205 vendor/lib/contextual-help.php:171
 
 
 
 
357
  #, php-format
358
  msgid ""
359
  "To adjust the amount of the exact match bonus, you can use the %s filter "
360
  "hook. It works like this:"
361
  msgstr ""
362
 
363
+ #: lib/contextual-help.php:207 vendor/lib/contextual-help.php:177
364
  #, php-format
365
  msgid "The default values are %1$s for titles and %2$s for content."
366
  msgstr ""
367
 
368
+ #: lib/contextual-help.php:212 vendor/lib/contextual-help.php:168
369
+ msgid "Exact match bonus"
370
+ msgstr ""
371
+
372
+ #: lib/contextual-help.php:223 vendor/lib/contextual-help.php:181
373
  msgid "For more information:"
374
  msgstr ""
375
 
376
+ #: lib/contextual-help.php:224 vendor/lib/contextual-help.php:182
377
  msgid "Plugin knowledge base"
378
  msgstr ""
379
 
380
+ #: lib/contextual-help.php:225 vendor/lib/contextual-help.php:183
381
  msgid "WordPress.org forum"
382
  msgstr ""
383
 
384
+ #: lib/excerpts-highlights.php:24 vendor/lib/excerpts-highlights.php:24
385
  msgid "There is no excerpt because this is a protected post."
386
  msgstr ""
387
 
388
+ #: lib/init.php:90 vendor/lib/init.php:88
 
 
 
 
 
 
 
 
389
  msgid ""
390
  "You do not have an index! Remember to build the index (click the \"Build the "
391
  "index\" button), otherwise searching won't work."
392
  msgstr ""
393
 
394
+ #: lib/init.php:102 vendor/lib/init.php:100
395
  msgid ""
396
  "Multibyte string functions are not available. Relevanssi may not work well "
397
  "without them. Please install (or ask your host to install) the mbstring "
398
  "extension."
399
  msgstr ""
400
 
401
+ #: lib/init.php:243 lib/init.php:244 lib/interface.php:482
402
+ #: lib/tabs/logging-tab.php:48 vendor/lib/init.php:237 vendor/lib/init.php:238
403
+ #: vendor/lib/interface.php:469 vendor/lib/tabs/logging-tab.php:48
404
  msgid "User searches"
405
  msgstr ""
406
 
407
+ #: lib/init.php:255 lib/init.php:256 lib/tabs/searching-tab.php:248
408
+ #: vendor/lib/init.php:249 vendor/lib/init.php:250
409
+ #: vendor/lib/tabs/searching-tab.php:248
410
  msgid "Admin search"
411
  msgstr ""
412
 
413
+ #: lib/init.php:447 vendor/lib/init.php:441
414
  msgid "Settings"
415
  msgstr ""
416
 
417
+ #: lib/init.php:450 vendor/lib/init.php:444
418
  msgid "Go Premium!"
419
  msgstr ""
420
 
421
+ #: lib/interface.php:18 vendor/lib/interface.php:18
422
  msgid "Relevanssi Search Options"
423
  msgstr ""
424
 
425
+ #: lib/interface.php:20 vendor/lib/interface.php:20
426
  msgid "Relevanssi Premium Search Options"
427
  msgstr ""
428
 
429
+ #: lib/interface.php:484 vendor/lib/interface.php:471
430
  msgid "Relevanssi User Searches"
431
  msgstr ""
432
 
433
+ #: lib/interface.php:507 vendor/lib/interface.php:494
434
  msgid "Enable query logging to see stats here."
435
  msgstr ""
436
 
437
+ #: lib/interface.php:519 vendor/lib/interface.php:506
438
  msgid "Admin Search"
439
  msgstr ""
440
 
441
+ #: lib/interface.php:549 vendor/lib/interface.php:536
442
  msgid "Logs clear!"
443
  msgstr ""
444
 
445
+ #: lib/interface.php:551 vendor/lib/interface.php:538
446
  msgid "Clearing the logs failed."
447
  msgstr ""
448
 
449
+ #: lib/interface.php:585 vendor/lib/interface.php:572
450
  msgid "Total Searches"
451
  msgstr ""
452
 
453
+ #: lib/interface.php:587 vendor/lib/interface.php:574
454
  msgid "Totals"
455
  msgstr ""
456
 
457
+ #: lib/interface.php:591 vendor/lib/interface.php:578
458
  msgid "Common Queries"
459
  msgstr ""
460
 
461
+ #: lib/interface.php:601 vendor/lib/interface.php:588
462
  #, php-format
463
  msgid ""
464
  "Here you can see the %d most common user search queries, how many times "
465
  "those queries were made and how many results were found for those queries."
466
  msgstr ""
467
 
468
+ #: lib/interface.php:605 lib/interface.php:627 lib/interface.php:676
469
+ #: vendor/lib/interface.php:592 vendor/lib/interface.php:614
470
+ #: vendor/lib/interface.php:664
471
  msgid "Today and yesterday"
472
  msgstr ""
473
 
474
+ #: lib/interface.php:608 lib/interface.php:614 lib/interface.php:619
475
+ #: lib/interface.php:636 vendor/lib/interface.php:595
476
+ #: vendor/lib/interface.php:601 vendor/lib/interface.php:606
477
+ #: vendor/lib/interface.php:623
478
  #, php-format
479
  msgid "Last %d days"
480
  msgstr ""
481
 
482
+ #: lib/interface.php:624 vendor/lib/interface.php:611
483
  msgid "Unsuccessful Queries"
484
  msgstr ""
485
 
486
+ #: lib/interface.php:631 lib/interface.php:677 vendor/lib/interface.php:618
487
+ #: vendor/lib/interface.php:665
488
  msgid "Last 7 days"
489
  msgstr ""
490
 
491
+ #: lib/interface.php:642 vendor/lib/interface.php:629
492
  msgid "Reset Logs"
493
  msgstr ""
494
 
495
+ #: lib/interface.php:651
496
+ msgid ""
497
+ "To reset the logs, type \"reset\" into the box here and click the Reset "
498
+ "button"
499
  msgstr ""
500
 
501
+ #: lib/interface.php:654
502
+ msgid "Reset"
503
+ msgstr ""
504
+
505
+ #: lib/interface.php:678 vendor/lib/interface.php:666
506
  msgid "Last 30 days"
507
  msgstr ""
508
 
509
+ #: lib/interface.php:679 vendor/lib/interface.php:667
510
  msgid "Forever"
511
  msgstr ""
512
 
513
+ #: lib/interface.php:689 vendor/lib/interface.php:677
514
  msgid "When"
515
  msgstr ""
516
 
517
+ #: lib/interface.php:690 vendor/lib/interface.php:678
518
  msgid "Searches"
519
  msgstr ""
520
 
521
+ #: lib/interface.php:752 lib/log.php:178 vendor/lib/interface.php:740
522
+ #: vendor/lib/log.php:178
523
  msgid "Query"
524
  msgstr ""
525
 
526
+ #: lib/interface.php:753 vendor/lib/interface.php:741
527
  msgid "Hits"
528
  msgstr ""
529
 
530
+ #: lib/interface.php:845 vendor/lib/interface.php:828
531
  msgid "Overview"
532
  msgstr ""
533
 
534
+ #: lib/interface.php:846 lib/tabs/overview-tab.php:44
535
+ #: vendor/lib/interface.php:829 vendor/lib/tabs/overview-tab.php:44
536
  msgid "Indexing"
537
  msgstr ""
538
 
539
+ #: lib/interface.php:847 vendor/lib/interface.php:830
540
  msgid "Attachments"
541
  msgstr ""
542
 
543
+ #: lib/interface.php:849 vendor/lib/interface.php:832
544
  msgid "Logging"
545
  msgstr ""
546
 
547
+ #: lib/interface.php:850 lib/tabs/overview-tab.php:60
548
+ #: vendor/lib/interface.php:833 vendor/lib/tabs/overview-tab.php:60
549
  msgid "Excerpts and highlights"
550
  msgstr ""
551
 
552
+ #: lib/interface.php:851 lib/tabs/synonyms-tab.php:25
553
+ #: lib/tabs/synonyms-tab.php:30 vendor/lib/interface.php:834
554
+ #: vendor/lib/tabs/synonyms-tab.php:25 vendor/lib/tabs/synonyms-tab.php:30
555
  msgid "Synonyms"
556
  msgstr ""
557
 
558
+ #: lib/interface.php:852 lib/tabs/stopwords-tab.php:18
559
+ #: vendor/lib/interface.php:835 vendor/lib/tabs/stopwords-tab.php:18
560
  msgid "Stopwords"
561
  msgstr ""
562
 
563
+ #: lib/interface.php:853 lib/tabs/redirects-tab.php:18
564
+ #: vendor/lib/interface.php:836 vendor/lib/tabs/redirects-tab.php:18
565
  msgid "Redirects"
566
  msgstr ""
567
 
568
+ #: lib/interface.php:855 vendor/lib/interface.php:838
569
  msgid "Related"
570
  msgstr ""
571
 
572
+ #: lib/interface.php:856 vendor/lib/interface.php:839
573
  msgid "Import / Export options"
574
  msgstr ""
575
 
576
+ #: lib/interface.php:975 vendor/lib/interface.php:958
577
  msgid "Click OK to copy Relevanssi options to all subsites"
578
  msgstr ""
579
 
580
+ #: lib/interface.php:976 vendor/lib/interface.php:959
581
  msgid "Are you sure you want to remove all stopwords?"
582
  msgstr ""
583
 
584
+ #: lib/interface.php:977 vendor/lib/interface.php:960
585
  msgid "Wiping out the index..."
586
  msgstr ""
587
 
588
+ #: lib/interface.php:978 vendor/lib/interface.php:961
589
  msgid "Done."
590
  msgstr ""
591
 
592
+ #: lib/interface.php:979 vendor/lib/interface.php:962
593
  msgid "Indexing users..."
594
  msgstr ""
595
 
596
+ #: lib/interface.php:980 vendor/lib/interface.php:963
597
  msgid "Indexing the following taxonomies:"
598
  msgstr ""
599
 
600
+ #: lib/interface.php:981 vendor/lib/interface.php:964
601
  msgid "Indexing attachments..."
602
  msgstr ""
603
 
604
+ #: lib/interface.php:982 vendor/lib/interface.php:965
605
  msgid "Counting posts..."
606
  msgstr ""
607
 
608
+ #: lib/interface.php:983 vendor/lib/interface.php:966
609
  msgid "Counting taxonomy terms..."
610
  msgstr ""
611
 
612
+ #: lib/interface.php:984 vendor/lib/interface.php:967
613
  msgid "Counting users..."
614
  msgstr ""
615
 
616
+ #: lib/interface.php:985 vendor/lib/interface.php:968
617
  msgid "Counting attachments..."
618
  msgstr ""
619
 
620
+ #: lib/interface.php:986 vendor/lib/interface.php:969
621
  msgid "posts found."
622
  msgstr ""
623
 
624
+ #: lib/interface.php:987 vendor/lib/interface.php:970
625
  msgid "taxonomy terms found."
626
  msgstr ""
627
 
628
+ #: lib/interface.php:988 vendor/lib/interface.php:971
629
  msgid "users found."
630
  msgstr ""
631
 
632
+ #: lib/interface.php:989 vendor/lib/interface.php:972
633
  msgid "attachments found."
634
  msgstr ""
635
 
636
+ #: lib/interface.php:990 vendor/lib/interface.php:973
637
  msgid "Taxonomy term indexing is disabled."
638
  msgstr ""
639
 
640
+ #: lib/interface.php:991 vendor/lib/interface.php:974
641
  msgid "User indexing is disabled."
642
  msgstr ""
643
 
644
+ #: lib/interface.php:992 vendor/lib/interface.php:975
645
  msgid "Indexing complete."
646
  msgstr ""
647
 
648
+ #: lib/interface.php:993 vendor/lib/interface.php:976
649
  msgid "posts excluded."
650
  msgstr ""
651
 
652
+ #: lib/interface.php:994 vendor/lib/interface.php:977
653
  msgid "Settings have changed, please save the options before indexing."
654
  msgstr ""
655
 
656
+ #: lib/interface.php:995 vendor/lib/interface.php:978
657
  msgid "Reload the page to refresh the state of the index."
658
  msgstr ""
659
 
660
+ #: lib/interface.php:996 vendor/lib/interface.php:979
661
  msgid "Are you sure you want to delete all attachment content from the index?"
662
  msgstr ""
663
 
664
+ #: lib/interface.php:997 vendor/lib/interface.php:980
665
  msgid "Relevanssi attachment data wiped clean."
666
  msgstr ""
667
 
668
+ #: lib/interface.php:998
669
+ msgid "There were problems wiping the Relevanssi attachment data clean."
670
+ msgstr ""
671
+
672
+ #: lib/interface.php:999 vendor/lib/interface.php:981
673
  msgid "hour"
674
  msgstr ""
675
 
676
+ #: lib/interface.php:1000 vendor/lib/interface.php:982
677
  msgid "hours"
678
  msgstr ""
679
 
680
+ #: lib/interface.php:1001 vendor/lib/interface.php:983
681
  msgid "about"
682
  msgstr ""
683
 
684
+ #: lib/interface.php:1002 vendor/lib/interface.php:984
685
  msgid "about an hour"
686
  msgstr ""
687
 
688
+ #: lib/interface.php:1003 vendor/lib/interface.php:985
689
  msgid "about an hour and a half"
690
  msgstr ""
691
 
692
+ #: lib/interface.php:1004 vendor/lib/interface.php:986
693
  msgid "minute"
694
  msgstr ""
695
 
696
+ #: lib/interface.php:1005 vendor/lib/interface.php:987
697
  msgid "minutes"
698
  msgstr ""
699
 
700
+ #: lib/interface.php:1006 vendor/lib/interface.php:988
701
  msgid "less than a minute"
702
  msgstr ""
703
 
704
+ #: lib/interface.php:1007 vendor/lib/interface.php:989
705
  msgid "we're done!"
706
  msgstr ""
707
 
708
+ #: lib/interface.php:1074 vendor/lib/interface.php:1056
709
  msgid "Tag weight"
710
  msgstr ""
711
 
712
+ #: lib/interface.php:1082 vendor/lib/interface.php:1064
713
  msgid "Category weight"
714
  msgstr ""
715
 
716
+ #: lib/log.php:171 vendor/lib/log.php:171
717
  msgid "Logged seaches"
718
  msgstr ""
719
 
720
+ #: lib/log.php:174 vendor/lib/log.php:174
721
  msgid "Time"
722
  msgstr ""
723
 
724
+ #: lib/log.php:182 vendor/lib/log.php:182
725
  msgid "Hits found"
726
  msgstr ""
727
 
728
+ #: lib/log.php:186 vendor/lib/log.php:186
729
  msgid "IP address"
730
  msgstr ""
731
 
732
+ #: lib/privacy.php:34 vendor/lib/privacy.php:34
733
  msgid "What personal data we collect and why we collect it"
734
  msgstr ""
735
 
736
+ #: lib/privacy.php:36 vendor/lib/privacy.php:36
737
  msgid "IP address for searches"
738
  msgstr ""
739
 
740
+ #: lib/privacy.php:37 vendor/lib/privacy.php:37
741
  msgid ""
742
  "All searches performed using the internal site search are logged in the "
743
  "database, including the following information: the search query, the number "
745
  "address. The IP address is stored for security and auditing purposes."
746
  msgstr ""
747
 
748
+ #: lib/privacy.php:39 vendor/lib/privacy.php:39
749
  msgid ""
750
  "All searches performed using the internal site search are logged in the "
751
  "database, including the following information: the search query, the number "
752
  "of hits found, user ID for users who are logged in and date and time."
753
  msgstr ""
754
 
755
+ #: lib/privacy.php:42 vendor/lib/privacy.php:42
756
  msgid "How long we retain your data"
757
  msgstr ""
758
 
759
+ #: lib/privacy.php:45 vendor/lib/privacy.php:45
760
  #, php-format
761
  msgid ""
762
  "The search logs are stored for %d days before they are automatically removed."
763
  msgstr ""
764
 
765
+ #: lib/privacy.php:47 vendor/lib/privacy.php:47
766
  msgid "The search logs are stored indefinitely."
767
  msgstr ""
768
 
769
+ #: lib/privacy.php:64 lib/privacy.php:81 vendor/lib/privacy.php:64
770
+ #: vendor/lib/privacy.php:81
771
  msgid "Relevanssi Search Logs"
772
  msgstr ""
773
 
774
+ #: lib/shortcodes.php:131 vendor/lib/shortcodes.php:131
775
  msgid "None"
776
  msgstr ""
777
 
778
+ #: lib/stopwords.php:38
779
+ msgid "Added stopwords from the database."
780
+ msgstr ""
781
+
782
+ #: lib/stopwords.php:53
783
+ #, php-format
784
+ msgid "The stopword file for the language '%s' doesn't exist."
785
+ msgstr ""
786
+
787
+ #: lib/stopwords.php:69
788
+ msgid "Couldn't read the stopwords from the file."
789
+ msgstr ""
790
+
791
+ #: lib/stopwords.php:79
792
+ msgid "Added stopwords from the stopword file."
793
+ msgstr ""
794
+
795
+ #: lib/stopwords.php:134 vendor/lib/stopwords.php:96
796
  #, php-format
797
  msgid "Successfully added %1$d/%2$d terms to stopwords!"
798
  msgstr ""
799
 
800
+ #: lib/stopwords.php:153 vendor/lib/stopwords.php:107
801
  #, php-format
802
  msgid "Term '%s' added to stopwords!"
803
  msgstr ""
804
 
805
+ #: lib/stopwords.php:162 vendor/lib/stopwords.php:110
806
  #, php-format
807
  msgid "Couldn't add term '%s' to stopwords!"
808
  msgstr ""
809
 
810
+ #: lib/stopwords.php:232 vendor/lib/stopwords.php:162
811
  msgid "All stopwords removed! Remember to re-index."
812
  msgstr ""
813
 
814
+ #: lib/stopwords.php:240 vendor/lib/stopwords.php:164
815
  msgid "There was a problem, and stopwords couldn't be removed."
816
  msgstr ""
817
 
818
+ #: lib/stopwords.php:284 vendor/lib/stopwords.php:187
819
  #, php-format
820
  msgid "Term '%s' removed from stopwords! Re-index to get it back to index."
821
  msgstr ""
822
 
823
+ #: lib/stopwords.php:297 vendor/lib/stopwords.php:193
824
  #, php-format
825
  msgid "Couldn't remove term '%s' from stopwords!"
826
  msgstr ""
827
 
828
+ #: lib/tabs/attachments-tab.php:18 vendor/lib/tabs/attachments-tab.php:18
829
  msgid "Indexing attachment content"
830
  msgstr ""
831
 
832
+ #: lib/tabs/attachments-tab.php:20 vendor/lib/tabs/attachments-tab.php:20
833
  msgid ""
834
  "With Relevanssi Premium, you can index the text contents of attachments "
835
  "(PDFs, Word documents, Open Office documents and many other types). The "
838
  msgstr ""
839
 
840
  #: lib/tabs/attachments-tab.php:22 lib/tabs/redirects-tab.php:22
841
+ #: vendor/lib/tabs/attachments-tab.php:22 vendor/lib/tabs/redirects-tab.php:22
842
  #, php-format
843
  msgid ""
844
  "In order to access this and many other delightful Premium features, %1$sbuy "
845
  "Relevanssi Premium here%2$s."
846
  msgstr ""
847
 
848
+ #: lib/tabs/excerpts-tab.php:84 vendor/lib/tabs/excerpts-tab.php:84
849
  msgid "Custom excerpts/snippets"
850
  msgstr ""
851
 
852
+ #: lib/tabs/excerpts-tab.php:89 vendor/lib/tabs/excerpts-tab.php:89
853
  msgid "Custom search result snippets"
854
  msgstr ""
855
 
856
+ #: lib/tabs/excerpts-tab.php:94 vendor/lib/tabs/excerpts-tab.php:93
857
+ #: vendor/lib/tabs/excerpts-tab.php:96
858
  msgid "Create custom search result snippets"
859
  msgstr ""
860
 
861
+ #: lib/tabs/excerpts-tab.php:96 vendor/lib/tabs/excerpts-tab.php:99
862
  msgid "Only enable this if you actually use the custom excerpts."
863
  msgstr ""
864
 
865
+ #: lib/tabs/excerpts-tab.php:103 vendor/lib/tabs/excerpts-tab.php:106
866
  #, php-format
867
  msgid ""
868
  "Looks like you are using Divi. In order to use custom excerpts with Divi, "
870
  "%2$s."
871
  msgstr ""
872
 
873
+ #: lib/tabs/excerpts-tab.php:115 vendor/lib/tabs/excerpts-tab.php:118
874
  msgid "Length of the snippet"
875
  msgstr ""
876
 
877
+ #: lib/tabs/excerpts-tab.php:125 vendor/lib/tabs/excerpts-tab.php:128
878
+ msgid "Excerpt length type"
879
+ msgstr ""
880
+
881
+ #: lib/tabs/excerpts-tab.php:133 vendor/lib/tabs/excerpts-tab.php:136
882
  msgid "characters"
883
  msgstr ""
884
 
885
+ #: lib/tabs/excerpts-tab.php:134 vendor/lib/tabs/excerpts-tab.php:137
886
  msgid "words"
887
  msgstr ""
888
 
889
+ #: lib/tabs/excerpts-tab.php:136 vendor/lib/tabs/excerpts-tab.php:139
890
  msgid ""
891
  "Using words is much faster than characters. Don't use characters, unless you "
892
  "have a really good reason and your posts are short."
893
  msgstr ""
894
 
895
+ #: lib/tabs/excerpts-tab.php:147 vendor/lib/tabs/excerpts-tab.php:150
896
  msgid "Allowable tags in excerpts"
897
  msgstr ""
898
 
899
+ #: lib/tabs/excerpts-tab.php:157 vendor/lib/tabs/excerpts-tab.php:160
900
  msgid ""
901
  "List all tags you want to allow in excerpts. For example: &lt;p&gt;&lt;a&gt;"
902
  "&lt;strong&gt;."
903
  msgstr ""
904
 
905
+ #: lib/tabs/excerpts-tab.php:168 vendor/lib/tabs/excerpts-tab.php:171
906
  msgid "Use custom fields for excerpts"
907
  msgstr ""
908
 
909
+ #: lib/tabs/excerpts-tab.php:179 vendor/lib/tabs/excerpts-tab.php:175
910
+ #: vendor/lib/tabs/excerpts-tab.php:184
911
  msgid "Use custom field content for building excerpts"
912
  msgstr ""
913
 
914
+ #: lib/tabs/excerpts-tab.php:181 vendor/lib/tabs/excerpts-tab.php:187
915
  msgid ""
916
  "Use the custom fields setting for indexing for excerpt-making as well. "
917
  "Enabling this option will show custom field content in Relevanssi-generated "
918
  "excerpts."
919
  msgstr ""
920
 
921
+ #: lib/tabs/excerpts-tab.php:184 vendor/lib/tabs/excerpts-tab.php:190
922
  msgid "Enable this option to use PDF content for excerpts."
923
  msgstr ""
924
 
925
+ #: lib/tabs/excerpts-tab.php:189 vendor/lib/tabs/excerpts-tab.php:195
926
  msgid "Current custom field setting"
927
  msgstr ""
928
 
929
+ #: lib/tabs/excerpts-tab.php:192 vendor/lib/tabs/excerpts-tab.php:198
930
  msgid "all visible custom fields"
931
  msgstr ""
932
 
933
+ #: lib/tabs/excerpts-tab.php:194 vendor/lib/tabs/excerpts-tab.php:200
934
  msgid "all custom fields"
935
  msgstr ""
936
 
937
+ #: lib/tabs/excerpts-tab.php:198 vendor/lib/tabs/excerpts-tab.php:204
938
  msgid "Just PDF content"
939
  msgstr ""
940
 
941
+ #: lib/tabs/excerpts-tab.php:200 vendor/lib/tabs/excerpts-tab.php:206
942
  msgid "None selected"
943
  msgstr ""
944
 
945
+ #: lib/tabs/excerpts-tab.php:208 vendor/lib/tabs/excerpts-tab.php:214
946
  msgid "Search hit highlighting"
947
  msgstr ""
948
 
949
+ #: lib/tabs/excerpts-tab.php:219 vendor/lib/tabs/excerpts-tab.php:225
950
  msgid "Highlight type"
951
  msgstr ""
952
 
953
+ #: lib/tabs/excerpts-tab.php:229 vendor/lib/tabs/excerpts-tab.php:235
954
  msgid "No highlighting"
955
  msgstr ""
956
 
957
+ #: lib/tabs/excerpts-tab.php:233 lib/tabs/excerpts-tab.php:243
958
+ #: vendor/lib/tabs/excerpts-tab.php:239 vendor/lib/tabs/excerpts-tab.php:249
959
  msgid "Text color"
960
  msgstr ""
961
 
962
+ #: lib/tabs/excerpts-tab.php:234 lib/tabs/excerpts-tab.php:257
963
+ #: vendor/lib/tabs/excerpts-tab.php:240 vendor/lib/tabs/excerpts-tab.php:263
964
  msgid "Background color"
965
  msgstr ""
966
 
967
+ #: lib/tabs/excerpts-tab.php:235 vendor/lib/tabs/excerpts-tab.php:241
968
  msgid "CSS Style"
969
  msgstr ""
970
 
971
+ #: lib/tabs/excerpts-tab.php:236 vendor/lib/tabs/excerpts-tab.php:242
972
  msgid "CSS Class"
973
  msgstr ""
974
 
975
+ #: lib/tabs/excerpts-tab.php:238 lib/tabs/excerpts-tab.php:401
976
+ #: vendor/lib/tabs/excerpts-tab.php:244 vendor/lib/tabs/excerpts-tab.php:422
977
  msgid "Requires custom snippets to work."
978
  msgstr ""
979
 
980
+ #: lib/tabs/excerpts-tab.php:271 vendor/lib/tabs/excerpts-tab.php:277
981
  msgid "CSS style for highlights"
982
  msgstr ""
983
 
984
+ #: lib/tabs/excerpts-tab.php:282 vendor/lib/tabs/excerpts-tab.php:288
985
  #, php-format
986
  msgid ""
987
  "The highlights will be wrapped in a %s with this CSS in the style parameter."
988
  msgstr ""
989
 
990
+ #: lib/tabs/excerpts-tab.php:287 vendor/lib/tabs/excerpts-tab.php:293
991
  msgid "CSS class for highlights"
992
  msgstr ""
993
 
994
+ #: lib/tabs/excerpts-tab.php:298 vendor/lib/tabs/excerpts-tab.php:304
995
  #, php-format
996
  msgid "The highlights will be wrapped in a %s with this class."
997
  msgstr ""
998
 
999
+ #: lib/tabs/excerpts-tab.php:303 vendor/lib/tabs/excerpts-tab.php:309
1000
  msgid "Highlight in titles"
1001
  msgstr ""
1002
 
1003
+ #: lib/tabs/excerpts-tab.php:314 vendor/lib/tabs/excerpts-tab.php:313
1004
+ #: vendor/lib/tabs/excerpts-tab.php:322
1005
  msgid "Highlight query terms in titles"
1006
  msgstr ""
1007
 
1008
+ #: lib/tabs/excerpts-tab.php:317 vendor/lib/tabs/excerpts-tab.php:326
1009
  #, php-format
1010
  msgid ""
1011
  "Highlights in titles require changes to the search results template. You "
1013
  "information, see the contextual help."
1014
  msgstr ""
1015
 
1016
+ #: lib/tabs/excerpts-tab.php:322 vendor/lib/tabs/excerpts-tab.php:331
1017
  msgid "Highlight in documents"
1018
  msgstr ""
1019
 
1020
+ #: lib/tabs/excerpts-tab.php:333 vendor/lib/tabs/excerpts-tab.php:335
1021
+ #: vendor/lib/tabs/excerpts-tab.php:344
1022
  msgid "Highlight query terms in documents"
1023
  msgstr ""
1024
 
1025
+ #: lib/tabs/excerpts-tab.php:336 vendor/lib/tabs/excerpts-tab.php:348
1026
  #, php-format
1027
  msgid ""
1028
  "Highlights hits when user opens the post from search results. This requires "
1030
  "Relevanssi should add automatically."
1031
  msgstr ""
1032
 
1033
+ #: lib/tabs/excerpts-tab.php:341 vendor/lib/tabs/excerpts-tab.php:353
1034
  msgid "Highlight in comments"
1035
  msgstr ""
1036
 
1037
+ #: lib/tabs/excerpts-tab.php:352 vendor/lib/tabs/excerpts-tab.php:357
1038
+ #: vendor/lib/tabs/excerpts-tab.php:366
1039
  msgid "Highlight query terms in comments"
1040
  msgstr ""
1041
 
1042
+ #: lib/tabs/excerpts-tab.php:354 vendor/lib/tabs/excerpts-tab.php:369
1043
  msgid ""
1044
  "Highlights hits in comments when user opens the post from search results."
1045
  msgstr ""
1046
 
1047
+ #: lib/tabs/excerpts-tab.php:359 vendor/lib/tabs/excerpts-tab.php:374
1048
  msgid "Highlighting problems with non-ASCII alphabet?"
1049
  msgstr ""
1050
 
1051
+ #: lib/tabs/excerpts-tab.php:372 vendor/lib/tabs/excerpts-tab.php:390
1052
  msgid ""
1053
  "If you use non-ASCII characters (like Cyrillic alphabet) and the highlights "
1054
  "don't work, unchecking this option may make the highlights work."
1055
  msgstr ""
1056
 
1057
+ #: lib/tabs/excerpts-tab.php:377 vendor/lib/tabs/excerpts-tab.php:395
1058
  msgid "Breakdown of search results"
1059
  msgstr ""
1060
 
1061
+ #: lib/tabs/excerpts-tab.php:388 vendor/lib/tabs/excerpts-tab.php:406
1062
  msgid "Breakdown of search hits in excerpts"
1063
  msgstr ""
1064
 
1065
+ #: lib/tabs/excerpts-tab.php:399 vendor/lib/tabs/excerpts-tab.php:419
 
 
 
 
1066
  msgid "Show the breakdown of search hits in the excerpts."
1067
  msgstr ""
1068
 
1069
+ #: lib/tabs/excerpts-tab.php:406 vendor/lib/tabs/excerpts-tab.php:427
1070
  msgid "The breakdown format"
1071
  msgstr ""
1072
 
1073
+ #: lib/tabs/excerpts-tab.php:416
1074
  msgid ""
1075
+ "Use %body%, %title%, %categories%, %tags%, %taxonomies%, %comments%, "
1076
+ "%customfields%, %author%, %excerpt% and %mysqlcolumns% to display the number "
1077
+ "of hits (in different parts of the post), %total% for total hits, %score% to "
1078
+ "display the document weight and %terms% to show how many hits each search "
1079
+ "term got."
1080
  msgstr ""
1081
 
1082
+ #: lib/tabs/indexing-tab.php:114 vendor/lib/tabs/indexing-tab.php:112
1083
  #, php-format
1084
  msgid "%s empties the existing index and rebuilds it from scratch."
1085
  msgstr ""
1086
 
1087
+ #: lib/tabs/indexing-tab.php:114 vendor/lib/tabs/indexing-tab.php:112
1088
  msgid "Build the index"
1089
  msgstr ""
1090
 
1091
+ #: lib/tabs/indexing-tab.php:116 vendor/lib/tabs/indexing-tab.php:114
1092
  #, php-format
1093
  msgid ""
1094
  "%s doesn't empty the index and only indexes those posts that are not "
1095
  "indexed. You can use it if you have to interrupt building the index."
1096
  msgstr ""
1097
 
1098
+ #: lib/tabs/indexing-tab.php:116 vendor/lib/tabs/indexing-tab.php:114
1099
  msgid "Index unindexed posts"
1100
  msgstr ""
1101
 
1102
+ #: lib/tabs/indexing-tab.php:119 vendor/lib/tabs/indexing-tab.php:117
1103
  msgid "This doesn't index any taxonomy terms or users."
1104
  msgstr ""
1105
 
1106
+ #: lib/tabs/indexing-tab.php:126 vendor/lib/tabs/indexing-tab.php:124
1107
  msgid "Time elapsed"
1108
  msgstr ""
1109
 
1110
+ #: lib/tabs/indexing-tab.php:126 vendor/lib/tabs/indexing-tab.php:124
1111
  msgid "Time remaining"
1112
  msgstr ""
1113
 
1114
+ #: lib/tabs/indexing-tab.php:126 vendor/lib/tabs/indexing-tab.php:124
1115
  msgid "some time"
1116
  msgstr ""
1117
 
1118
+ #: lib/tabs/indexing-tab.php:128 vendor/lib/tabs/indexing-tab.php:126
1119
  msgid ""
1120
  "Indexing should respond quickly. If nothing happens in couple of minutes, "
1121
  "it's probably stuck. The most common reasons for indexing issues are "
1125
  "version of the Relevanssi scripts."
1126
  msgstr ""
1127
 
1128
+ #: lib/tabs/indexing-tab.php:132 vendor/lib/tabs/indexing-tab.php:130
1129
  msgid "State of the index"
1130
  msgstr ""
1131
 
1132
+ #: lib/tabs/indexing-tab.php:133 vendor/lib/tabs/indexing-tab.php:131
1133
  msgid "document in the index."
1134
  msgstr ""
1135
 
1136
+ #: lib/tabs/indexing-tab.php:135 vendor/lib/tabs/indexing-tab.php:133
1137
  msgid "user in the index."
1138
  msgstr ""
1139
 
1140
+ #: lib/tabs/indexing-tab.php:136 vendor/lib/tabs/indexing-tab.php:134
1141
  msgid "taxonomy term in the index."
1142
  msgstr ""
1143
 
1144
+ #: lib/tabs/indexing-tab.php:139 vendor/lib/tabs/indexing-tab.php:137
1145
  msgid "term in the index."
1146
  msgstr ""
1147
 
1148
+ #: lib/tabs/indexing-tab.php:140 vendor/lib/tabs/indexing-tab.php:138
1149
  msgid "is the lowest post ID indexed."
1150
  msgstr ""
1151
 
1152
+ #: lib/tabs/indexing-tab.php:150 vendor/lib/tabs/indexing-tab.php:148
1153
  msgid ""
1154
  "WARNING: You've chosen no post types to index. Nothing will be indexed. "
1155
  "Choose some post types to index."
1156
  msgstr ""
1157
 
1158
+ #: lib/tabs/indexing-tab.php:155 vendor/lib/tabs/indexing-tab.php:153
1159
  msgid "Indexing options"
1160
  msgstr ""
1161
 
1162
+ #: lib/tabs/indexing-tab.php:157 vendor/lib/tabs/indexing-tab.php:155
1163
  msgid ""
1164
  "Any changes to the settings on this page require reindexing before they take "
1165
  "effect."
1166
  msgstr ""
1167
 
1168
+ #: lib/tabs/indexing-tab.php:161 vendor/lib/tabs/indexing-tab.php:159
1169
  msgid "Post types"
1170
  msgstr ""
1171
 
1172
+ #: lib/tabs/indexing-tab.php:165
1173
+ msgid "Post types to index"
1174
+ msgstr ""
1175
+
1176
+ #: lib/tabs/indexing-tab.php:169 vendor/lib/tabs/indexing-tab.php:165
1177
  msgid "Type"
1178
  msgstr ""
1179
 
1180
+ #: lib/tabs/indexing-tab.php:170 lib/tabs/indexing-tab.php:262
1181
+ #: vendor/lib/tabs/indexing-tab.php:166 vendor/lib/tabs/indexing-tab.php:226
1182
  msgid "Index"
1183
  msgstr ""
1184
 
1185
+ #: lib/tabs/indexing-tab.php:171 vendor/lib/tabs/indexing-tab.php:167
1186
  msgid "Excluded from search?"
1187
  msgstr ""
1188
 
1189
+ #: lib/tabs/indexing-tab.php:188
1190
+ #, php-format
1191
+ msgid "Index post type %s"
1192
+ msgstr ""
1193
+
1194
+ #: lib/tabs/indexing-tab.php:190 lib/tabs/indexing-tab.php:284
1195
+ #: vendor/lib/tabs/indexing-tab.php:184 vendor/lib/tabs/indexing-tab.php:244
1196
  msgid "yes"
1197
  msgstr ""
1198
 
1199
+ #: lib/tabs/indexing-tab.php:192
1200
+ #, php-format
1201
+ msgid "Post type %s is excluded from search"
1202
+ msgstr ""
1203
+
1204
+ #: lib/tabs/indexing-tab.php:194 lib/tabs/indexing-tab.php:280
1205
+ #: vendor/lib/tabs/indexing-tab.php:186 vendor/lib/tabs/indexing-tab.php:242
1206
  msgid "no"
1207
  msgstr ""
1208
 
1209
+ #: lib/tabs/indexing-tab.php:196
1210
+ #, php-format
1211
+ msgid "Post type %s can be searched"
1212
+ msgstr ""
1213
+
1214
+ #: lib/tabs/indexing-tab.php:227 vendor/lib/tabs/indexing-tab.php:212
1215
+ msgid ""
1216
+ "If you want to index a post type that's marked 'Excluded from search', you "
1217
+ "can do that without worrying about it – but you need to uncheck the 'Respect "
1218
+ "exclude_from_search' setting from the Searching tab."
1219
+ msgstr ""
1220
+
1221
+ #: lib/tabs/indexing-tab.php:239
1222
+ msgid "Index image files"
1223
+ msgstr ""
1224
+
1225
+ #: lib/tabs/indexing-tab.php:244
1226
+ msgid "Index image attachments"
1227
+ msgstr ""
1228
+
1229
+ #: lib/tabs/indexing-tab.php:246
1230
+ msgid ""
1231
+ "If this option is enabled, Relevanssi will include image attachments in the "
1232
+ "index. If the option is disabled, only other attachment types are included."
1233
+ msgstr ""
1234
+
1235
+ #: lib/tabs/indexing-tab.php:248
1236
  #, php-format
1237
  msgid ""
1238
+ "For more detailed control over the attachment type indexing, see "
1239
+ "%1$sControlling attachment types in the Knowledge base%2$s."
1240
  msgstr ""
1241
 
1242
+ #: lib/tabs/indexing-tab.php:254 vendor/lib/tabs/indexing-tab.php:218
1243
  msgid "Taxonomies"
1244
  msgstr ""
1245
 
1246
+ #: lib/tabs/indexing-tab.php:261 vendor/lib/tabs/indexing-tab.php:225
1247
  msgid "Taxonomy"
1248
  msgstr ""
1249
 
1250
+ #: lib/tabs/indexing-tab.php:263 vendor/lib/tabs/indexing-tab.php:227
1251
  msgid "Public?"
1252
  msgstr ""
1253
 
1254
+ #: lib/tabs/indexing-tab.php:279
1255
+ #, php-format
1256
+ msgid "Index taxonomy %s"
1257
+ msgstr ""
1258
+
1259
+ #: lib/tabs/indexing-tab.php:282
1260
+ #, php-format
1261
+ msgid "Taxonomy %s is not public"
1262
+ msgstr ""
1263
+
1264
+ #: lib/tabs/indexing-tab.php:286
1265
+ #, php-format
1266
+ msgid "Taxonomy %s is public"
1267
+ msgstr ""
1268
+
1269
+ #: lib/tabs/indexing-tab.php:308 vendor/lib/tabs/indexing-tab.php:258
1270
  msgid ""
1271
  "If you check a taxonomy here, the terms for that taxonomy are indexed with "
1272
  "the posts. If you for example choose \"post_tag\", searching for a tag will "
1273
  "find all posts that have the tag."
1274
  msgstr ""
1275
 
1276
+ #: lib/tabs/indexing-tab.php:315 vendor/lib/tabs/indexing-tab.php:265
1277
  msgid "Comments"
1278
  msgstr ""
1279
 
1280
+ #: lib/tabs/indexing-tab.php:319 lib/tabs/indexing-tab.php:333
1281
+ #: vendor/lib/tabs/indexing-tab.php:269 vendor/lib/tabs/indexing-tab.php:283
1282
  msgid "none"
1283
  msgstr ""
1284
 
1285
+ #: lib/tabs/indexing-tab.php:320 vendor/lib/tabs/indexing-tab.php:270
1286
  msgid "comments"
1287
  msgstr ""
1288
 
1289
+ #: lib/tabs/indexing-tab.php:321 vendor/lib/tabs/indexing-tab.php:271
1290
  msgid "comments and pingbacks"
1291
  msgstr ""
1292
 
1293
+ #: lib/tabs/indexing-tab.php:323 vendor/lib/tabs/indexing-tab.php:273
1294
  msgid ""
1295
  "If you choose to index comments, you can choose if you want to index just "
1296
  "comments, or everything including comments and track- and pingbacks."
1297
  msgstr ""
1298
 
1299
+ #: lib/tabs/indexing-tab.php:329 vendor/lib/tabs/indexing-tab.php:279
1300
  msgid "Custom fields"
1301
  msgstr ""
1302
 
1303
+ #: lib/tabs/indexing-tab.php:334 vendor/lib/tabs/indexing-tab.php:284
1304
  msgid "all"
1305
  msgstr ""
1306
 
1307
+ #: lib/tabs/indexing-tab.php:335 vendor/lib/tabs/indexing-tab.php:285
1308
  msgid "visible"
1309
  msgstr ""
1310
 
1311
+ #: lib/tabs/indexing-tab.php:336 lib/tabs/indexing-tab.php:368
1312
+ #: vendor/lib/tabs/indexing-tab.php:286 vendor/lib/tabs/indexing-tab.php:318
1313
  msgid "some"
1314
  msgstr ""
1315
 
1316
+ #: lib/tabs/indexing-tab.php:340 vendor/lib/tabs/indexing-tab.php:290
1317
  msgid "'All' indexes all custom fields for posts."
1318
  msgstr ""
1319
 
1320
+ #: lib/tabs/indexing-tab.php:342 vendor/lib/tabs/indexing-tab.php:292
1321
  msgid ""
1322
  "'Visible' only includes the custom fields that are visible in the user "
1323
  "interface (with names that don't start with an underscore)."
1324
  msgstr ""
1325
 
1326
+ #: lib/tabs/indexing-tab.php:344 vendor/lib/tabs/indexing-tab.php:294
1327
  msgid "'Some' lets you choose individual custom fields to index."
1328
  msgstr ""
1329
 
1330
+ #: lib/tabs/indexing-tab.php:350 vendor/lib/tabs/indexing-tab.php:300
1331
  msgid ""
1332
  "Advanced Custom Fields has lots of invisible custom fields with meta data. "
1333
  "Selecting \"all\" will include lots of garbage in the index and excerpts. "
1334
  "\"Visible\" is usually a better option with ACF."
1335
  msgstr ""
1336
 
1337
+ #: lib/tabs/indexing-tab.php:361 vendor/lib/tabs/indexing-tab.php:311
1338
+ msgid "Custom fields to index"
1339
+ msgstr ""
1340
+
1341
+ #: lib/tabs/indexing-tab.php:363 vendor/lib/tabs/indexing-tab.php:313
1342
  msgid ""
1343
  "Enter a comma-separated list of custom fields to include in the index. With "
1344
  "Relevanssi Premium, you can also use 'fieldname_%_subfieldname' notation for "
1345
  "ACF repeater fields."
1346
  msgstr ""
1347
 
1348
+ #: lib/tabs/indexing-tab.php:364 vendor/lib/tabs/indexing-tab.php:314
1349
  msgid ""
1350
  "You can use 'relevanssi_index_custom_fields' filter hook to adjust which "
1351
  "custom fields are indexed."
1352
  msgstr ""
1353
 
1354
+ #: lib/tabs/indexing-tab.php:368 vendor/lib/tabs/indexing-tab.php:318
1355
  #, php-format
1356
  msgid ""
1357
  "If you want the SKU included, choose %1$s and enter %2$s. Also see the "
1358
  "contextual help for more details."
1359
  msgstr ""
1360
 
1361
+ #: lib/tabs/indexing-tab.php:375 vendor/lib/tabs/indexing-tab.php:325
1362
  msgid "Author display names"
1363
  msgstr ""
1364
 
1365
+ #: lib/tabs/indexing-tab.php:380 vendor/lib/tabs/indexing-tab.php:329
1366
+ #: vendor/lib/tabs/indexing-tab.php:332
1367
  msgid "Index the post author display name"
1368
  msgstr ""
1369
 
1370
+ #: lib/tabs/indexing-tab.php:382 vendor/lib/tabs/indexing-tab.php:334
1371
  msgid ""
1372
  "Searching for the post author display name will return posts by that author."
1373
  msgstr ""
1374
 
1375
+ #: lib/tabs/indexing-tab.php:393 vendor/lib/tabs/indexing-tab.php:345
1376
+ #: vendor/lib/tabs/indexing-tab.php:348 vendor/lib/tabs/indexing-tab.php:369
1377
  msgid "Index the post excerpt"
1378
  msgstr ""
1379
 
1380
+ #: lib/tabs/indexing-tab.php:395 vendor/lib/tabs/indexing-tab.php:350
1381
  msgid "Relevanssi will find posts by the content in the excerpt."
1382
  msgstr ""
1383
 
1384
+ #: lib/tabs/indexing-tab.php:397 vendor/lib/tabs/indexing-tab.php:352
1385
  msgid ""
1386
  "WooCommerce stores the product short description in the excerpt, so it's a "
1387
  "good idea to index excerpts."
1388
  msgstr ""
1389
 
1390
+ #: lib/tabs/indexing-tab.php:404 vendor/lib/tabs/indexing-tab.php:360
1391
  msgid "Shortcodes"
1392
  msgstr ""
1393
 
1394
+ #: lib/tabs/indexing-tab.php:409 vendor/lib/tabs/indexing-tab.php:365
1395
  msgid "Expand shortcodes"
1396
  msgstr ""
1397
 
1398
+ #: lib/tabs/indexing-tab.php:414 vendor/lib/tabs/indexing-tab.php:372
1399
  msgid "Expand shortcodes when indexing"
1400
  msgstr ""
1401
 
1402
+ #: lib/tabs/indexing-tab.php:417 vendor/lib/tabs/indexing-tab.php:375
1403
  msgid ""
1404
  "WooCommerce has shortcodes that don't work well with Relevanssi. With "
1405
  "WooCommerce, make sure the option is disabled."
1406
  msgstr ""
1407
 
1408
+ #: lib/tabs/indexing-tab.php:419 vendor/lib/tabs/indexing-tab.php:377
1409
  msgid ""
1410
  "If checked, Relevanssi will expand shortcodes in post content before "
1411
  "indexing. Otherwise shortcodes will be stripped."
1412
  msgstr ""
1413
 
1414
+ #: lib/tabs/indexing-tab.php:420 vendor/lib/tabs/indexing-tab.php:378
1415
  msgid ""
1416
  "If you use shortcodes to include dynamic content, Relevanssi will not keep "
1417
  "the index updated, the index will reflect the status of the shortcode "
1418
  "content at the moment of indexing."
1419
  msgstr ""
1420
 
1421
+ #: lib/tabs/indexing-tab.php:450 vendor/lib/tabs/indexing-tab.php:409
1422
  msgid "Advanced indexing settings"
1423
  msgstr ""
1424
 
1425
+ #: lib/tabs/indexing-tab.php:452 vendor/lib/tabs/indexing-tab.php:411
1426
  msgid "Show advanced settings"
1427
  msgstr ""
1428
 
1429
+ #: lib/tabs/indexing-tab.php:457 vendor/lib/tabs/indexing-tab.php:416
1430
  msgid "Minimum word length"
1431
  msgstr ""
1432
 
1433
+ #: lib/tabs/indexing-tab.php:461 vendor/lib/tabs/indexing-tab.php:420
1434
  msgid "Words shorter than this many letters will not be indexed."
1435
  msgstr ""
1436
 
1437
+ #: lib/tabs/indexing-tab.php:463 vendor/lib/tabs/indexing-tab.php:422
1438
  #, php-format
1439
  msgid ""
1440
  "To enable one-letter searches, you need to add a filter function on the "
1441
  "filter hook %1$s that returns %2$s."
1442
  msgstr ""
1443
 
1444
+ #: lib/tabs/indexing-tab.php:467 vendor/lib/tabs/indexing-tab.php:426
1445
  msgid "Punctuation control"
1446
  msgstr ""
1447
 
1448
+ #: lib/tabs/indexing-tab.php:468 vendor/lib/tabs/indexing-tab.php:427
1449
  msgid ""
1450
  "Here you can adjust how the punctuation is controlled. For more information, "
1451
  "see help. Remember that any changes here require reindexing, otherwise "
1452
  "searches will fail to find posts they should."
1453
  msgstr ""
1454
 
1455
+ #: lib/tabs/indexing-tab.php:472 vendor/lib/tabs/indexing-tab.php:431
1456
  msgid "Hyphens and dashes"
1457
  msgstr ""
1458
 
1459
+ #: lib/tabs/indexing-tab.php:476 lib/tabs/indexing-tab.php:503
1460
+ #: lib/tabs/indexing-tab.php:517 vendor/lib/tabs/indexing-tab.php:435
1461
+ #: vendor/lib/tabs/indexing-tab.php:462 vendor/lib/tabs/indexing-tab.php:476
1462
  msgid "Keep"
1463
  msgstr ""
1464
 
1465
+ #: lib/tabs/indexing-tab.php:477 lib/tabs/indexing-tab.php:490
1466
+ #: lib/tabs/indexing-tab.php:504 lib/tabs/indexing-tab.php:518
1467
+ #: vendor/lib/tabs/indexing-tab.php:436 vendor/lib/tabs/indexing-tab.php:449
1468
+ #: vendor/lib/tabs/indexing-tab.php:463 vendor/lib/tabs/indexing-tab.php:477
1469
  msgid "Replace with spaces"
1470
  msgstr ""
1471
 
1472
+ #: lib/tabs/indexing-tab.php:478 lib/tabs/indexing-tab.php:491
1473
+ #: lib/tabs/indexing-tab.php:505 lib/tabs/indexing-tab.php:519
1474
+ #: vendor/lib/tabs/indexing-tab.php:437 vendor/lib/tabs/indexing-tab.php:450
1475
+ #: vendor/lib/tabs/indexing-tab.php:464 vendor/lib/tabs/indexing-tab.php:478
1476
  msgid "Remove"
1477
  msgstr ""
1478
 
1479
+ #: lib/tabs/indexing-tab.php:480 vendor/lib/tabs/indexing-tab.php:439
1480
  msgid ""
1481
  "How Relevanssi should handle hyphens and dashes (en and em dashes)? "
1482
  "Replacing with spaces is generally the best option, but in some cases "
1484
  "option."
1485
  msgstr ""
1486
 
1487
+ #: lib/tabs/indexing-tab.php:486 vendor/lib/tabs/indexing-tab.php:445
1488
  msgid "Apostrophes and quotes"
1489
  msgstr ""
1490
 
1491
+ #: lib/tabs/indexing-tab.php:493 vendor/lib/tabs/indexing-tab.php:452
1492
  msgid ""
1493
  "How Relevanssi should handle apostrophes and quotes? It's not possible to "
1494
  "keep them; that would lead to problems. Default behaviour is to replace with "
1495
  "spaces, but sometimes removing makes sense."
1496
  msgstr ""
1497
 
1498
+ #: lib/tabs/indexing-tab.php:499 vendor/lib/tabs/indexing-tab.php:458
1499
  msgid "Ampersands"
1500
  msgstr ""
1501
 
1502
+ #: lib/tabs/indexing-tab.php:507 vendor/lib/tabs/indexing-tab.php:466
1503
  msgid ""
1504
  "How Relevanssi should handle ampersands? Replacing with spaces is generally "
1505
  "the best option, but if you talk a lot about D&amp;D, for example, keeping "
1506
  "the ampersands is useful."
1507
  msgstr ""
1508
 
1509
+ #: lib/tabs/indexing-tab.php:513 vendor/lib/tabs/indexing-tab.php:472
1510
  msgid "Decimal separators"
1511
  msgstr ""
1512
 
1513
+ #: lib/tabs/indexing-tab.php:521 vendor/lib/tabs/indexing-tab.php:480
1514
  msgid ""
1515
  "How Relevanssi should handle periods between decimals? Replacing with spaces "
1516
  "is the default option, but that often leads to the numbers being removed "
1517
  "completely. If you need to search decimal numbers a lot, keep the periods."
1518
  msgstr ""
1519
 
1520
+ #: lib/tabs/indexing-tab.php:539 vendor/lib/tabs/indexing-tab.php:498
1521
  msgid "Hide advanced settings"
1522
  msgstr ""
1523
 
1524
+ #: lib/tabs/logging-tab.php:33 vendor/lib/tabs/logging-tab.php:33
1525
  msgid "Enable logs"
1526
  msgstr ""
1527
 
1528
  #: lib/tabs/logging-tab.php:37 lib/tabs/logging-tab.php:40
1529
+ #: vendor/lib/tabs/logging-tab.php:37 vendor/lib/tabs/logging-tab.php:40
1530
  msgid "Keep a log of user queries."
1531
  msgstr ""
1532
 
1533
+ #: lib/tabs/logging-tab.php:47 vendor/lib/tabs/logging-tab.php:47
1534
  #, php-format
1535
  msgid ""
1536
  "If enabled, Relevanssi will log user queries. The logs can be examined under "
1537
  "'%1$s' on the Dashboard admin menu and are stored in the %2$s database table."
1538
  msgstr ""
1539
 
1540
+ #: lib/tabs/logging-tab.php:57 vendor/lib/tabs/logging-tab.php:57
1541
  msgid "Log user IP"
1542
  msgstr ""
1543
 
1544
+ #: lib/tabs/logging-tab.php:61 lib/tabs/logging-tab.php:64
1545
+ #: vendor/lib/tabs/logging-tab.php:61 vendor/lib/tabs/logging-tab.php:64
1546
  msgid "Log the user's IP with the queries."
1547
  msgstr ""
1548
 
1549
+ #: lib/tabs/logging-tab.php:67 vendor/lib/tabs/logging-tab.php:67
1550
  msgid ""
1551
  "If enabled, Relevanssi will log user's IP adress with the queries. Note that "
1552
  "this may be illegal where you live, and in EU will create a person registry "
1553
  "that falls under the GDPR."
1554
  msgstr ""
1555
 
1556
+ #: lib/tabs/logging-tab.php:72 vendor/lib/tabs/logging-tab.php:72
1557
  msgid "Exclude users"
1558
  msgstr ""
1559
 
1560
+ #: lib/tabs/logging-tab.php:76 vendor/lib/tabs/logging-tab.php:76
1561
  msgid ""
1562
  "Comma-separated list of numeric user IDs or user login names that will not "
1563
  "be logged."
1564
  msgstr ""
1565
 
1566
+ #: lib/tabs/logging-tab.php:86 vendor/lib/tabs/logging-tab.php:86
1567
  msgid "Trim logs"
1568
  msgstr ""
1569
 
1570
+ #: lib/tabs/logging-tab.php:90 vendor/lib/tabs/logging-tab.php:90
1571
  msgid "How many days of logs to keep in the database."
1572
  msgstr ""
1573
 
1574
+ #: lib/tabs/logging-tab.php:94 vendor/lib/tabs/logging-tab.php:94
1575
  msgid ""
1576
  "Big log database table will eventually start to slow down the search, so "
1577
  "it's a good idea to use some level of automatic log trimming."
1578
  msgstr ""
1579
 
1580
+ #: lib/tabs/logging-tab.php:99 vendor/lib/tabs/logging-tab.php:99
1581
  #, php-format
1582
  msgid " Set to %d for no trimming."
1583
  msgstr ""
1584
 
1585
+ #: lib/tabs/logging-tab.php:108 vendor/lib/tabs/logging-tab.php:108
1586
  msgid "Export logs"
1587
  msgstr ""
1588
 
1589
+ #: lib/tabs/logging-tab.php:111 vendor/lib/tabs/logging-tab.php:111
1590
  msgid "Export the log as a CSV file"
1591
  msgstr ""
1592
 
1593
+ #: lib/tabs/logging-tab.php:112 vendor/lib/tabs/logging-tab.php:112
1594
  msgid "Push the button to export the search log as a CSV file."
1595
  msgstr ""
1596
 
1597
+ #: lib/tabs/overview-tab.php:22 vendor/lib/tabs/overview-tab.php:22
1598
  msgid "Welcome to Relevanssi!"
1599
  msgstr ""
1600
 
1601
+ #: lib/tabs/overview-tab.php:38 vendor/lib/tabs/overview-tab.php:38
1602
  msgid "Getting started"
1603
  msgstr ""
1604
 
1605
+ #: lib/tabs/overview-tab.php:40 vendor/lib/tabs/overview-tab.php:40
1606
  msgid ""
1607
  "You've already installed Relevanssi. That's a great first step towards good "
1608
  "search experience!"
1609
  msgstr ""
1610
 
1611
+ #: lib/tabs/overview-tab.php:44 vendor/lib/tabs/overview-tab.php:44
1612
  #, php-format
1613
  msgid ""
1614
  "Now, you need an index. Head over to the %1$s%2$s%3$s tab to set up the "
1615
  "basic indexing options and to build the index."
1616
  msgstr ""
1617
 
1618
+ #: lib/tabs/overview-tab.php:45 vendor/lib/tabs/overview-tab.php:45
1619
  msgid "You need to check at least the following options:"
1620
  msgstr ""
1621
 
1622
+ #: lib/tabs/overview-tab.php:46 vendor/lib/tabs/overview-tab.php:46
1623
  msgid "Make sure the post types you want to include in the index are indexed."
1624
  msgstr ""
1625
 
1626
+ #: lib/tabs/overview-tab.php:48 vendor/lib/tabs/overview-tab.php:48
1627
  #, php-format
1628
  msgid ""
1629
  "Do you use custom fields to store content you want included? If so, add "
1630
  "those too. WooCommerce user? You probably want to include %s."
1631
  msgstr ""
1632
 
1633
+ #: lib/tabs/overview-tab.php:49 vendor/lib/tabs/overview-tab.php:49
1634
  msgid ""
1635
  "Then just save the options and build the index. First time you have to do it "
1636
  "manually, but after that, it's fully automatic: all changes are reflected in "
1638
  "index once a year.)"
1639
  msgstr ""
1640
 
1641
+ #: lib/tabs/overview-tab.php:52 vendor/lib/tabs/overview-tab.php:52
1642
  msgid "Great, you already have an index!"
1643
  msgstr ""
1644
 
1645
+ #: lib/tabs/overview-tab.php:56 vendor/lib/tabs/overview-tab.php:56
1646
  #, php-format
1647
  msgid ""
1648
  "On the %1$s%2$s%3$s tab, choose whether you want the default operator to be "
1649
  "AND (less results, but more precise) or OR (more results, less precise)."
1650
  msgstr ""
1651
 
1652
+ #: lib/tabs/overview-tab.php:60 vendor/lib/tabs/overview-tab.php:60
1653
  #, php-format
1654
  msgid ""
1655
  "The next step is the %1$s%2$s%3$s tab, where you can enable the custom "
1656
  "excerpts that show the relevant part of post in the search results pages."
1657
  msgstr ""
1658
 
1659
+ #: lib/tabs/overview-tab.php:61 vendor/lib/tabs/overview-tab.php:61
1660
  msgid ""
1661
  "There are couple of options related to that, so if you want highlighting in "
1662
  "the results, you can adjust the styles for that to suit the look of your "
1663
  "site."
1664
  msgstr ""
1665
 
1666
+ #: lib/tabs/overview-tab.php:64 vendor/lib/tabs/overview-tab.php:64
1667
  msgid ""
1668
  "That's about it! Now you should have Relevanssi up and running. The rest of "
1669
  "the options is mostly fine-tuning."
1670
  msgstr ""
1671
 
1672
+ #: lib/tabs/overview-tab.php:67 vendor/lib/tabs/overview-tab.php:67
1673
  msgid ""
1674
  "Relevanssi doesn't have a separate search widget. Instead, Relevanssi uses "
1675
  "the default search widget. Any standard search form will do!"
1676
  msgstr ""
1677
 
1678
+ #: lib/tabs/overview-tab.php:71 vendor/lib/tabs/overview-tab.php:71
1679
  msgid "Privacy and GDPR compliance"
1680
  msgstr ""
1681
 
1682
+ #: lib/tabs/overview-tab.php:74 vendor/lib/tabs/overview-tab.php:74
1683
  #, php-format
1684
  msgid ""
1685
  "%1$sGDPR Compliance at Relevanssi knowledge base%2$s explains how using "
1688
  "WordPress user data export and erase tools."
1689
  msgstr ""
1690
 
1691
+ #: lib/tabs/overview-tab.php:78 vendor/lib/tabs/overview-tab.php:78
1692
  msgid "For more information"
1693
  msgstr ""
1694
 
1695
+ #: lib/tabs/overview-tab.php:80 vendor/lib/tabs/overview-tab.php:80
1696
  msgid ""
1697
  "Relevanssi uses the WordPress contextual help. Click 'Help' on the top right "
1698
  "corner for more information on many Relevanssi topics."
1699
  msgstr ""
1700
 
1701
+ #: lib/tabs/overview-tab.php:82 vendor/lib/tabs/overview-tab.php:82
1702
  #, php-format
1703
  msgid ""
1704
  "%1$sRelevanssi knowledge base%2$s has lots of information about advanced "
1705
  "Relevanssi use, including plenty of code samples."
1706
  msgstr ""
1707
 
1708
+ #: lib/tabs/overview-tab.php:86 vendor/lib/tabs/overview-tab.php:86
1709
  msgid "Do you like Relevanssi?"
1710
  msgstr ""
1711
 
1712
+ #: lib/tabs/overview-tab.php:88 vendor/lib/tabs/overview-tab.php:88
1713
  msgid ""
1714
  "If you do, the best way to show your appreciation is to spread the word and "
1715
  "perhaps give us a good review on WordPress.org."
1716
  msgstr ""
1717
 
1718
+ #: lib/tabs/overview-tab.php:90 vendor/lib/tabs/overview-tab.php:90
1719
  #, php-format
1720
  msgid ""
1721
  "If you like Relevanssi, leaving a five-star review on WordPress.org will "
1722
  "help others discover Relevanssi. %1$sYou can add your review here%2$s."
1723
  msgstr ""
1724
 
1725
+ #: lib/tabs/overview-tab.php:95 vendor/lib/tabs/overview-tab.php:95
1726
  msgid "Relevanssi on Facebook"
1727
  msgstr ""
1728
 
1729
+ #: lib/tabs/overview-tab.php:98 vendor/lib/tabs/overview-tab.php:98
1730
  msgid ""
1731
  "Check out the Relevanssi page on Facebook for news and updates about "
1732
  "Relevanssi."
1733
  msgstr ""
1734
 
1735
+ #: lib/tabs/overview-tab.php:104 vendor/lib/tabs/overview-tab.php:104
1736
  msgid "Buy Relevanssi Premium"
1737
  msgstr ""
1738
 
1739
+ #: lib/tabs/overview-tab.php:107 vendor/lib/tabs/overview-tab.php:107
1740
  msgid "Buy Relevanssi Premium now"
1741
  msgstr ""
1742
 
1743
+ #: lib/tabs/overview-tab.php:109 vendor/lib/tabs/overview-tab.php:109
1744
  #, php-format
1745
  msgid ""
1746
  "use coupon code %1$s for 20%% discount (valid at least until the end of %2$s)"
1747
  msgstr ""
1748
 
1749
+ #: lib/tabs/overview-tab.php:110 vendor/lib/tabs/overview-tab.php:110
1750
  msgid "Here are some improvements Relevanssi Premium offers:"
1751
  msgstr ""
1752
 
1753
+ #: lib/tabs/overview-tab.php:112 vendor/lib/tabs/overview-tab.php:112
1754
  msgid "PDF content indexing"
1755
  msgstr ""
1756
 
1757
+ #: lib/tabs/overview-tab.php:113 vendor/lib/tabs/overview-tab.php:113
1758
  msgid "A Related posts feature"
1759
  msgstr ""
1760
 
1761
+ #: lib/tabs/overview-tab.php:114 vendor/lib/tabs/overview-tab.php:114
1762
  msgid "Index and search user profile pages"
1763
  msgstr ""
1764
 
1765
+ #: lib/tabs/overview-tab.php:115 vendor/lib/tabs/overview-tab.php:115
1766
  msgid "Index and search taxonomy term pages"
1767
  msgstr ""
1768
 
1769
+ #: lib/tabs/overview-tab.php:116 vendor/lib/tabs/overview-tab.php:116
1770
  msgid "Multisite searches across many subsites"
1771
  msgstr ""
1772
 
1773
+ #: lib/tabs/overview-tab.php:117 vendor/lib/tabs/overview-tab.php:117
1774
  msgid "WP CLI commands"
1775
  msgstr ""
1776
 
1777
+ #: lib/tabs/overview-tab.php:118 vendor/lib/tabs/overview-tab.php:118
1778
  msgid "Adjust weights separately for each post type and taxonomy"
1779
  msgstr ""
1780
 
1781
+ #: lib/tabs/overview-tab.php:119 vendor/lib/tabs/overview-tab.php:119
1782
  msgid "Internal link anchors can be search terms for the target posts"
1783
  msgstr ""
1784
 
1785
+ #: lib/tabs/overview-tab.php:120 vendor/lib/tabs/overview-tab.php:120
1786
  msgid "Index and search any columns in the wp_posts database"
1787
  msgstr ""
1788
 
1789
+ #: lib/tabs/overview-tab.php:121 vendor/lib/tabs/overview-tab.php:121
1790
  msgid ""
1791
  "Hide Relevanssi branding from the User Searches page on a client installation"
1792
  msgstr ""
1793
 
1794
+ #: lib/tabs/overview-tab.php:122 vendor/lib/tabs/overview-tab.php:122
1795
  msgid "Redirect search queries to custom URLs"
1796
  msgstr ""
1797
 
1798
+ #: lib/tabs/redirects-tab.php:20 vendor/lib/tabs/redirects-tab.php:20
1799
  msgid ""
1800
  "With Relevanssi Premium, you can set up redirects. These are keywords that "
1801
  "automatically redirect the user to certain page, without going through the "
1803
  "for \"job\" automatically lead to your \"Careers\" page."
1804
  msgstr ""
1805
 
1806
+ #: lib/tabs/search-page.php:18 vendor/lib/tabs/search-page.php:18
1807
  msgid ""
1808
  "You can use this search to perform Relevanssi searches without any "
1809
  "restrictions from WordPress. You can search all post types here."
1810
  msgstr ""
1811
 
1812
+ #: lib/tabs/search-page.php:24 vendor/lib/tabs/search-page.php:24
1813
  msgid "Search terms"
1814
  msgstr ""
1815
 
1816
+ #: lib/tabs/search-page.php:32 vendor/lib/tabs/search-page.php:32
1817
+ msgid "Post type"
1818
+ msgstr ""
1819
+
1820
+ #: lib/tabs/search-page.php:36 vendor/lib/tabs/search-page.php:36
1821
+ msgid "Any"
1822
+ msgstr ""
1823
+
1824
+ #: lib/tabs/search-page.php:59 vendor/lib/tabs/search-page.php:59
1825
  msgid "Posts per page"
1826
  msgstr ""
1827
 
1828
+ #: lib/tabs/search-page.php:63 vendor/lib/tabs/search-page.php:63
1829
  msgid "All"
1830
  msgstr ""
1831
 
1832
+ #: lib/tabs/search-page.php:72 vendor/lib/tabs/search-page.php:72
1833
  msgid "Search parameters"
1834
  msgstr ""
1835
 
1836
+ #: lib/tabs/search-page.php:77 vendor/lib/tabs/search-page.php:77
1837
  #, php-format
1838
  msgid ""
1839
  "Use query parameter formatting here, the same that would appear on search "
1840
  "page results URL. For example %s."
1841
  msgstr ""
1842
 
1843
+ #: lib/tabs/searching-tab.php:66 vendor/lib/tabs/searching-tab.php:66
1844
  msgid "Default operator"
1845
  msgstr ""
1846
 
1847
+ #: lib/tabs/searching-tab.php:70 vendor/lib/tabs/searching-tab.php:70
1848
  msgid "AND - require all terms"
1849
  msgstr ""
1850
 
1851
+ #: lib/tabs/searching-tab.php:71 vendor/lib/tabs/searching-tab.php:71
1852
  msgid "OR - any term present is enough"
1853
  msgstr ""
1854
 
1855
+ #: lib/tabs/searching-tab.php:73 vendor/lib/tabs/searching-tab.php:73
1856
  msgid "This setting determines the default operator for the search."
1857
  msgstr ""
1858
 
1859
+ #: lib/tabs/searching-tab.php:77 vendor/lib/tabs/searching-tab.php:77
1860
  #, php-format
1861
  msgid ""
1862
  "You can override this setting with the %1$s query parameter, like this: %2$s"
1863
  msgstr ""
1864
 
1865
+ #: lib/tabs/searching-tab.php:84 vendor/lib/tabs/searching-tab.php:84
1866
  msgid "Fallback to OR"
1867
  msgstr ""
1868
 
1869
  #: lib/tabs/searching-tab.php:88 lib/tabs/searching-tab.php:91
1870
+ #: vendor/lib/tabs/searching-tab.php:88 vendor/lib/tabs/searching-tab.php:91
1871
  msgid "Disable the OR fallback."
1872
  msgstr ""
1873
 
1874
+ #: lib/tabs/searching-tab.php:94 vendor/lib/tabs/searching-tab.php:94
1875
  msgid ""
1876
  "By default, if AND search fails to find any results, Relevanssi will switch "
1877
  "the operator to OR and run the search again. You can prevent that by "
1878
  "checking this option."
1879
  msgstr ""
1880
 
1881
+ #: lib/tabs/searching-tab.php:99 vendor/lib/tabs/searching-tab.php:99
1882
  msgid "Default order"
1883
  msgstr ""
1884
 
1885
+ #: lib/tabs/searching-tab.php:103 vendor/lib/tabs/searching-tab.php:103
1886
  msgid "Relevance (highly recommended)"
1887
  msgstr ""
1888
 
1889
+ #: lib/tabs/searching-tab.php:104 vendor/lib/tabs/searching-tab.php:104
1890
  msgid "Post date"
1891
  msgstr ""
1892
 
1893
+ #: lib/tabs/searching-tab.php:107 vendor/lib/tabs/searching-tab.php:107
1894
  #, php-format
1895
  msgid ""
1896
  "If you want to override this or use multi-layered ordering (eg. first order "
1898
  "variable. See Help for more information."
1899
  msgstr ""
1900
 
1901
+ #: lib/tabs/searching-tab.php:109 vendor/lib/tabs/searching-tab.php:109
1902
  msgid ""
1903
  " If you want date-based results, see the recent post bonus in the Weights "
1904
  "section."
1905
  msgstr ""
1906
 
1907
+ #: lib/tabs/searching-tab.php:115 vendor/lib/tabs/searching-tab.php:115
1908
  msgid "Keyword matching"
1909
  msgstr ""
1910
 
1911
+ #: lib/tabs/searching-tab.php:119 vendor/lib/tabs/searching-tab.php:119
1912
  msgid "Whole words"
1913
  msgstr ""
1914
 
1915
  #: lib/tabs/searching-tab.php:120 lib/tabs/searching-tab.php:125
1916
+ #: vendor/lib/tabs/searching-tab.php:120 vendor/lib/tabs/searching-tab.php:125
1917
  msgid "Partial words"
1918
  msgstr ""
1919
 
1920
+ #: lib/tabs/searching-tab.php:121 vendor/lib/tabs/searching-tab.php:121
1921
  msgid "Partial words if no hits for whole words"
1922
  msgstr ""
1923
 
1924
+ #: lib/tabs/searching-tab.php:125 vendor/lib/tabs/searching-tab.php:125
1925
  #, php-format
1926
  msgid ""
1927
  "Choosing the \"%1$s\" option may lead to unexpected results. Most of the "
1928
  "time the \"%2$s\" option is the better choice."
1929
  msgstr ""
1930
 
1931
+ #: lib/tabs/searching-tab.php:125 vendor/lib/tabs/searching-tab.php:125
1932
  msgid "Partial words if not hits for whole words"
1933
  msgstr ""
1934
 
1935
+ #: lib/tabs/searching-tab.php:127 vendor/lib/tabs/searching-tab.php:127
1936
  msgid ""
1937
  "Whole words means Relevanssi only finds posts that include the whole search "
1938
  "term."
1939
  msgstr ""
1940
 
1941
+ #: lib/tabs/searching-tab.php:128 vendor/lib/tabs/searching-tab.php:128
1942
  msgid ""
1943
  "Partial words also includes cases where the word in the index begins or ends "
1944
  "with the search term (searching for 'ana' will match 'anaconda' or 'banana', "
1946
  "words."
1947
  msgstr ""
1948
 
1949
+ #: lib/tabs/searching-tab.php:133 vendor/lib/tabs/searching-tab.php:133
1950
  msgid "Weights"
1951
  msgstr ""
1952
 
1953
+ #: lib/tabs/searching-tab.php:136 vendor/lib/tabs/searching-tab.php:136
1954
  msgid ""
1955
  "All the weights in the table are multipliers. To increase the weight of an "
1956
  "element, use a higher number. To make an element less significant, use a "
1957
  "number lower than 1."
1958
  msgstr ""
1959
 
1960
+ #: lib/tabs/searching-tab.php:140 vendor/lib/tabs/searching-tab.php:140
1961
  msgid "Element"
1962
  msgstr ""
1963
 
1964
+ #: lib/tabs/searching-tab.php:141 vendor/lib/tabs/searching-tab.php:141
1965
  msgid "Weight"
1966
  msgstr ""
1967
 
1968
+ #: lib/tabs/searching-tab.php:146 vendor/lib/tabs/searching-tab.php:146
1969
  msgid "Content"
1970
  msgstr ""
1971
 
1972
+ #: lib/tabs/searching-tab.php:154 vendor/lib/tabs/searching-tab.php:154
1973
  msgid "Titles"
1974
  msgstr ""
1975
 
1976
+ #: lib/tabs/searching-tab.php:167 vendor/lib/tabs/searching-tab.php:167
1977
  msgid "Comment text"
1978
  msgstr ""
1979
 
1980
+ #: lib/tabs/searching-tab.php:196 vendor/lib/tabs/searching-tab.php:196
1981
  msgid "Boost exact matches"
1982
  msgstr ""
1983
 
1984
  #: lib/tabs/searching-tab.php:200 lib/tabs/searching-tab.php:203
1985
+ #: vendor/lib/tabs/searching-tab.php:200 vendor/lib/tabs/searching-tab.php:203
1986
  msgid "Give boost to exact matches."
1987
  msgstr ""
1988
 
1989
+ #: lib/tabs/searching-tab.php:207 vendor/lib/tabs/searching-tab.php:207
1990
  #, php-format
1991
  msgid ""
1992
  "If you enable this option, matches where the search query appears in title "
1994
  "use the %s filter hook. See Help for more details."
1995
  msgstr ""
1996
 
1997
+ #: lib/tabs/searching-tab.php:215 vendor/lib/tabs/searching-tab.php:215
1998
  msgid "WPML"
1999
  msgstr ""
2000
 
2001
  #: lib/tabs/searching-tab.php:219 lib/tabs/searching-tab.php:222
2002
+ #: vendor/lib/tabs/searching-tab.php:219 vendor/lib/tabs/searching-tab.php:222
2003
  msgid "Limit results to current language."
2004
  msgstr ""
2005
 
2006
+ #: lib/tabs/searching-tab.php:225 vendor/lib/tabs/searching-tab.php:225
2007
  msgid ""
2008
  "Enabling this option will restrict the results to the currently active "
2009
  "language. If the option is disabled, results will include posts in all "
2010
  "languages."
2011
  msgstr ""
2012
 
2013
+ #: lib/tabs/searching-tab.php:232 vendor/lib/tabs/searching-tab.php:232
2014
  msgid "Polylang"
2015
  msgstr ""
2016
 
2017
  #: lib/tabs/searching-tab.php:236 lib/tabs/searching-tab.php:239
2018
+ #: vendor/lib/tabs/searching-tab.php:236 vendor/lib/tabs/searching-tab.php:239
2019
  msgid "Allow results from all languages."
2020
  msgstr ""
2021
 
2022
+ #: lib/tabs/searching-tab.php:242 vendor/lib/tabs/searching-tab.php:242
2023
  msgid ""
2024
  "By default Polylang restricts the search to the current language. Enabling "
2025
  "this option will lift this restriction."
2026
  msgstr ""
2027
 
2028
  #: lib/tabs/searching-tab.php:252 lib/tabs/searching-tab.php:255
2029
+ #: vendor/lib/tabs/searching-tab.php:252 vendor/lib/tabs/searching-tab.php:255
2030
  msgid "Use Relevanssi for admin searches."
2031
  msgstr ""
2032
 
2033
+ #: lib/tabs/searching-tab.php:258 vendor/lib/tabs/searching-tab.php:258
2034
  msgid ""
2035
  "If checked, Relevanssi will be used for searches in the admin interface. The "
2036
  "page search doesn't use Relevanssi, because WordPress works like that."
2037
  msgstr ""
2038
 
2039
+ #: lib/tabs/searching-tab.php:264 vendor/lib/tabs/searching-tab.php:264
2040
  #, php-format
2041
  msgid "Respect %s"
2042
  msgstr ""
2043
 
2044
+ #: lib/tabs/searching-tab.php:268 vendor/lib/tabs/searching-tab.php:268
2045
  msgid "Respect exclude_from_search for custom post types"
2046
  msgstr ""
2047
 
2048
+ #: lib/tabs/searching-tab.php:272 vendor/lib/tabs/searching-tab.php:272
2049
  #, php-format
2050
  msgid "Respect %s for custom post types"
2051
  msgstr ""
2052
 
2053
+ #: lib/tabs/searching-tab.php:274 vendor/lib/tabs/searching-tab.php:274
2054
  msgid ""
2055
  "If checked, Relevanssi won't display posts of custom post types that have "
2056
  "'exclude_from_search' set to true."
2057
  msgstr ""
2058
 
2059
+ #: lib/tabs/searching-tab.php:286 vendor/lib/tabs/searching-tab.php:286
2060
  msgid ""
2061
  "You probably should uncheck this option, because you've set Relevanssi to "
2062
  "index the following non-public post types:"
2063
  msgstr ""
2064
 
2065
+ #: lib/tabs/searching-tab.php:299 vendor/lib/tabs/searching-tab.php:299
2066
  msgid "Throttle searches"
2067
  msgstr ""
2068
 
2069
+ #: lib/tabs/searching-tab.php:309 vendor/lib/tabs/searching-tab.php:309
2070
  msgid "Throttling the search does not work when sorting the posts by date."
2071
  msgstr ""
2072
 
2073
  #: lib/tabs/searching-tab.php:319 lib/tabs/searching-tab.php:322
2074
+ #: vendor/lib/tabs/searching-tab.php:319 vendor/lib/tabs/searching-tab.php:322
2075
  msgid "Throttle searches."
2076
  msgstr ""
2077
 
2078
+ #: lib/tabs/searching-tab.php:326 vendor/lib/tabs/searching-tab.php:326
2079
  msgid "Your database is so small that you don't need to enable this."
2080
  msgstr ""
2081
 
2082
+ #: lib/tabs/searching-tab.php:328 vendor/lib/tabs/searching-tab.php:328
2083
  msgid ""
2084
  "If this option is checked, Relevanssi will limit search results to at most "
2085
  "500 results per term. This will improve performance, but may cause some "
2086
  "relevant documents to go unfound. See Help for more details."
2087
  msgstr ""
2088
 
2089
+ #: lib/tabs/searching-tab.php:334 lib/tabs/searching-tab.php:340
2090
+ #: vendor/lib/tabs/searching-tab.php:334 vendor/lib/tabs/searching-tab.php:340
2091
  msgid "Category restriction"
2092
  msgstr ""
2093
 
2094
+ #: lib/tabs/searching-tab.php:360 vendor/lib/tabs/searching-tab.php:360
2095
  msgid ""
2096
  "You can restrict search results to a category for all searches. For "
2097
  "restricting on a per-search basis and more options (eg. tag restrictions), "
2098
  "see Help."
2099
  msgstr ""
2100
 
2101
+ #: lib/tabs/searching-tab.php:365 lib/tabs/searching-tab.php:371
2102
+ #: vendor/lib/tabs/searching-tab.php:365 vendor/lib/tabs/searching-tab.php:371
2103
  msgid "Category exclusion"
2104
  msgstr ""
2105
 
2106
+ #: lib/tabs/searching-tab.php:391 vendor/lib/tabs/searching-tab.php:391
2107
  msgid ""
2108
  "Posts in these categories are not included in search results. To exclude the "
2109
  "posts completely from the index, see Help."
2110
  msgstr ""
2111
 
2112
+ #: lib/tabs/searching-tab.php:396 vendor/lib/tabs/searching-tab.php:396
2113
  msgid "Post exclusion"
2114
  msgstr ""
2115
 
2116
+ #: lib/tabs/searching-tab.php:400 vendor/lib/tabs/searching-tab.php:400
2117
  msgid ""
2118
  "Enter a comma-separated list of post or page ID's to exclude those pages "
2119
  "from the search results."
2120
  msgstr ""
2121
 
2122
+ #: lib/tabs/searching-tab.php:402 vendor/lib/tabs/searching-tab.php:402
2123
  msgid ""
2124
  "With Relevanssi Premium, it's better to use the check box on post edit "
2125
  "pages. That will remove the posts completely from the index, and will work "
2126
  "with multisite searches unlike this setting."
2127
  msgstr ""
2128
 
2129
+ #: lib/tabs/stopwords-tab.php:25 vendor/lib/tabs/stopwords-tab.php:25
2130
  msgid "Content stopwords"
2131
  msgstr ""
2132
 
2133
+ #: lib/tabs/stopwords-tab.php:31 vendor/lib/tabs/stopwords-tab.php:31
2134
  msgid ""
2135
  "Content stopwords are a premium feature where you can set stopwords that "
2136
  "only apply to the post content. Those stopwords will still be indexed if "
2138
  "of the post. To use content stopwords, you need Relevanssi Premium."
2139
  msgstr ""
2140
 
2141
+ #: lib/tabs/stopwords-tab.php:54 vendor/lib/tabs/stopwords-tab.php:59
2142
  msgid ""
2143
  "Enter a word here to add it to the list of stopwords. The word will "
2144
  "automatically be removed from the index, so re-indexing is not necessary. "
2145
  "You can enter many words at the same time, separate words with commas."
2146
  msgstr ""
2147
 
2148
+ #: lib/tabs/stopwords-tab.php:59 vendor/lib/tabs/stopwords-tab.php:64
2149
  msgid "Stopword(s) to add"
2150
  msgstr ""
2151
 
2152
+ #: lib/tabs/stopwords-tab.php:67 vendor/lib/tabs/stopwords-tab.php:72
2153
  msgid ""
2154
  "Here's a list of stopwords in the database. Click a word to remove it from "
2155
  "stopwords. Removing stopwords won't automatically return them to index, so "
2157
  "back to index."
2158
  msgstr ""
2159
 
2160
+ #: lib/tabs/stopwords-tab.php:72 vendor/lib/tabs/stopwords-tab.php:77
2161
  msgid "Current stopwords"
2162
  msgstr ""
2163
 
2164
+ #: lib/tabs/stopwords-tab.php:110 lib/tabs/stopwords-tab.php:113
2165
+ #: vendor/lib/tabs/stopwords-tab.php:98 vendor/lib/tabs/stopwords-tab.php:101
2166
  msgid "Exportable list of stopwords"
2167
  msgstr ""
2168
 
2169
+ #: lib/tabs/stopwords-tab.php:115 vendor/lib/tabs/stopwords-tab.php:103
2170
  msgid ""
2171
  "You can copy the list of stopwords here if you want to back up the list, "
2172
  "copy it to a different blog or otherwise need the list."
2173
  msgstr ""
2174
 
2175
+ #: lib/tabs/synonyms-tab.php:33 vendor/lib/tabs/synonyms-tab.php:33
2176
  msgid ""
2177
  "Add synonyms here to make the searches find better results. If you notice "
2178
  "your users frequently misspelling a product name, or for other reasons use "
2179
  "many names for one thing, adding synonyms will make the results better."
2180
  msgstr ""
2181
 
2182
+ #: lib/tabs/synonyms-tab.php:35 vendor/lib/tabs/synonyms-tab.php:35
2183
  msgid ""
2184
  "Do not go overboard, though, as too many synonyms can make the search "
2185
  "confusing: users understand if a search query doesn't match everything, but "
2186
  "they get confused if the searches match to unexpected things."
2187
  msgstr ""
2188
 
2189
+ #: lib/tabs/synonyms-tab.php:39 vendor/lib/tabs/synonyms-tab.php:39
2190
  msgid ""
2191
  "The format here is <code>key = value</code>. If you add <code>dog = hound</"
2192
  "code> to the list of synonyms, searches for <code>dog</code> automatically "
2197
  "and <code>hound</code>."
2198
  msgstr ""
2199
 
2200
+ #: lib/tabs/synonyms-tab.php:41 vendor/lib/tabs/synonyms-tab.php:41
2201
  msgid ""
2202
  "The synonyms are one direction only. If you want both directions, add the "
2203
  "synonym again, reversed: <code>hound = dog</code>."
2204
  msgstr ""
2205
 
2206
+ #: lib/tabs/synonyms-tab.php:43 vendor/lib/tabs/synonyms-tab.php:43
2207
  msgid ""
2208
  "It's possible to use phrases for the value, but not for the key. <code>dog = "
2209
  "\"great dane\"</code> works, but <code>\"great dane\" = dog</code> doesn't."
2210
  msgstr ""
2211
 
2212
+ #: lib/tabs/synonyms-tab.php:46 vendor/lib/tabs/synonyms-tab.php:46
2213
  msgid ""
2214
  "If you want to use synonyms in AND searches, enable synonym indexing on the "
2215
  "Indexing tab."
2216
  msgstr ""
2217
 
2218
+ #: vendor/lib/interface.php:637
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2219
  #, php-format
2220
+ msgid "To reset the logs, type \"reset\" into the box here %1$s and click %2$s"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2221
  msgstr ""
2222
 
2223
+ #: vendor/lib/tabs/excerpts-tab.php:410
2224
+ msgid "Show the breakdown of search hits in the excerpts"
2225
  msgstr ""
2226
 
2227
+ #: vendor/lib/tabs/excerpts-tab.php:437
2228
  msgid ""
2229
+ "Use %body%, %title%, %tags% and %comments% to display the number of hits (in "
2230
+ "different parts of the post), %total% for total hits, %score% to display the "
2231
+ "document weight and %terms% to show how many hits each search term got."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2232
  msgstr ""
2233
 
2234
+ #: vendor/lib/tabs/indexing-tab.php:211
2235
  #, php-format
2236
  msgid ""
2237
+ "%1$s includes all attachment types. If you want to index only some "
2238
+ "attachments, see %2$sControlling attachment types in the Knowledge base%3$s."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2239
  msgstr ""