discourse/config/locales
Selase Krakani 862007fb18
FEATURE: Add support for case-sensitive Watched Words (#17445)
* FEATURE: Add case-sensitivity flag to watched_words

Currently, all watched words are matched case-insensitively. This flag
allows a watched word to be flagged for case-sensitive matching.
To allow allow for backwards compatibility the flag is set to false by
default.

* FEATURE: Support case-sensitive creation of Watched Words via API

Extend admin creation and upload of Watched Words to support case
sensitive flag. This lays the ground work for supporting
case-insensitive matching of Watched Words.

Support for an extra column has also been introduced for the Watched
Words upload CSV file. The new column structure is as follows:

 word,replacement,case_sentive

* FEATURE: Enable case-sensitive matching of Watched Words

WordWatcher's word_matcher_regexp now returns a list of regular
expressions instead of one case-insensitive regular expression.

With the ability to flag a Watched Word as case-sensitive, an action
can have words of both sensitivities.This makes the use of the global
Regexp::IGNORECASE flag added to all words problematic.

To get around platform limitations around the use of subexpression level
switches/flags, a list of regular expressions is returned instead, one for each
case sensitivity.

Word matching has also been updated to use this list of regular expressions
instead of one.

* FEATURE: Use case-sensitive regular expressions for Watched Words

Update Watched Words regular expressions matching and processing to handle
the extra metadata which comes along with the introduction of
case-sensitive Watched Words.

This allows case-sensitive Watched Words to matched as such.

* DEV: Simplify type casting of case-sensitive flag from uploads

Use builtin semantics instead of a custom method for converting
string case flags in uploaded Watched Words to boolean.

* UX: Add case-sensitivity details to Admin Watched Words UI

Update Watched Word form to include a toggle for case-sensitivity.
This also adds support for, case-sensitive testing and matching of  Watched Word
in the admin UI.

* DEV: Code improvements from review feedback

 - Extract watched word regex creation out to a utility function
 - Make JS array presence check more explicit and readable

* DEV: Extract Watched Word regex creation to utility function

Clean-up work from review feedback. Reduce code duplication.

* DEV: Rename word_matcher_regexp to word_matcher_regexp_list

Since a list is returned now instead of a single regular expression,
change `word_matcher_regexp` to `word_matcher_regexp_list` to better communicate
this change.

* DEV:  Incorporate WordWatcher updates from upstream

Resolve conflicts and ensure apply_to_text does not remove non-word characters in matches
that aren't at the beginning of the line.
2022-08-02 10:06:03 +02:00
..
client.ar.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.be.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.bg.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.bs_BA.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.ca.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.cs.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.da.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.de.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.el.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.en_GB.yml Update translations (#16378) 2022-04-05 15:28:19 +02:00
client.en.yml FEATURE: Add support for case-sensitive Watched Words (#17445) 2022-08-02 10:06:03 +02:00
client.es.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.et.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.fa_IR.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.fi.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.fr.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.gl.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.he.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.hr.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.hu.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.hy.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.id.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.it.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.ja.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.ko.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.lt.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.lv.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.nb_NO.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.nl.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.pl_PL.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.pt_BR.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.pt.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.ro.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.ru.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.sk.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.sl.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.sq.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.sr.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.sv.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.sw.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.te.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.th.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.tr_TR.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.uk.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.ur.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.vi.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.zh_CN.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
client.zh_TW.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
names.yml use more appropriate labels for chinese UI option 2021-07-27 22:47:59 +08:00
plurals.rb
server.ar.yml Update translations (#17177) 2022-06-21 15:46:34 +02:00
server.be.yml Update translations (#17177) 2022-06-21 15:46:34 +02:00
server.bg.yml Update translations (#17087) 2022-06-14 16:57:33 +02:00
server.bs_BA.yml Update translations (#17087) 2022-06-14 16:57:33 +02:00
server.ca.yml Update translations (#17177) 2022-06-21 15:46:34 +02:00
server.cs.yml Update translations (#17447) 2022-07-12 17:26:04 +02:00
server.da.yml Update translations (#17177) 2022-06-21 15:46:34 +02:00
server.de.yml Update translations (#17447) 2022-07-12 17:26:04 +02:00
server.el.yml Update translations (#17087) 2022-06-14 16:57:33 +02:00
server.en_GB.yml Update translations (#14513) 2021-10-05 15:59:26 +02:00
server.en.yml FIX: Rejected emails should not be cleaned up before their logs (#17648) 2022-07-27 07:28:44 +01:00
server.es.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
server.et.yml Update translations (#16902) 2022-05-24 16:03:04 +02:00
server.fa_IR.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
server.fi.yml Update translations (#17177) 2022-06-21 15:46:34 +02:00
server.fr.yml Update translations (#17177) 2022-06-21 15:46:34 +02:00
server.gl.yml Update translations (#17177) 2022-06-21 15:46:34 +02:00
server.he.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
server.hr.yml FEATURE: Add Croatian language (#17130) 2022-06-18 00:18:22 +02:00
server.hu.yml Update translations (#17177) 2022-06-21 15:46:34 +02:00
server.hy.yml Update translations (#17177) 2022-06-21 15:46:34 +02:00
server.id.yml Update translations (#16902) 2022-05-24 16:03:04 +02:00
server.it.yml Update translations (#17338) 2022-07-06 09:15:02 +02:00
server.ja.yml Update translations (#17177) 2022-06-21 15:46:34 +02:00
server.ko.yml Update translations (#17177) 2022-06-21 15:46:34 +02:00
server.lt.yml Update translations (#17177) 2022-06-21 15:46:34 +02:00
server.lv.yml Update translations (#16902) 2022-05-24 16:03:04 +02:00
server.nb_NO.yml Update translations (#17087) 2022-06-14 16:57:33 +02:00
server.nl.yml Update translations (#17177) 2022-06-21 15:46:34 +02:00
server.pl_PL.yml Update translations (#17447) 2022-07-12 17:26:04 +02:00
server.pt_BR.yml Update translations (#17177) 2022-06-21 15:46:34 +02:00
server.pt.yml Update translations (#17087) 2022-06-14 16:57:33 +02:00
server.ro.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
server.ru.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
server.sk.yml Update translations (#17087) 2022-06-14 16:57:33 +02:00
server.sl.yml Update translations (#17177) 2022-06-21 15:46:34 +02:00
server.sq.yml Update translations (#17087) 2022-06-14 16:57:33 +02:00
server.sr.yml Update translations (#16958) 2022-05-31 16:14:37 +02:00
server.sv.yml Update translations (#17571) 2022-07-19 20:45:57 +02:00
server.sw.yml Update translations (#16902) 2022-05-24 16:03:04 +02:00
server.te.yml Update translations (#15210) 2021-12-07 16:19:44 +01:00
server.th.yml Update translations (#16902) 2022-05-24 16:03:04 +02:00
server.tr_TR.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
server.uk.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
server.ur.yml Update translations (#17177) 2022-06-21 15:46:34 +02:00
server.vi.yml Update translations (#17177) 2022-06-21 15:46:34 +02:00
server.zh_CN.yml Update translations (#17664) 2022-07-26 19:40:53 +02:00
server.zh_TW.yml Update translations (#17177) 2022-06-21 15:46:34 +02:00
transliterate.ar.yml
transliterate.bg.yml
transliterate.de.yml
transliterate.el.yml
transliterate.en.yml
transliterate.ru.yml
transliterate.vi.yml