about summary refs log tree commit diff
path: root/localedata
diff options
context:
space:
mode:
Diffstat (limited to 'localedata')
-rw-r--r--localedata/locales/aa_ET8
-rw-r--r--localedata/locales/af_ZA8
-rw-r--r--localedata/locales/ak_GH8
-rw-r--r--localedata/locales/am_ET4
-rw-r--r--localedata/locales/anp_IN4
-rw-r--r--localedata/locales/ar_EG4
-rw-r--r--localedata/locales/as_IN4
-rw-r--r--localedata/locales/ast_ES8
-rw-r--r--localedata/locales/ayc_PE8
-rw-r--r--localedata/locales/az_AZ16
-rw-r--r--localedata/locales/az_IR4
-rw-r--r--localedata/locales/be_BY4
-rw-r--r--localedata/locales/be_BY@latin4
-rw-r--r--localedata/locales/bem_ZM8
-rw-r--r--localedata/locales/ber_MA11
-rw-r--r--localedata/locales/bg_BG4
-rw-r--r--localedata/locales/bhb_IN4
-rwxr-xr-xlocaledata/locales/bi_VU8
-rw-r--r--localedata/locales/bo_CN4
-rw-r--r--localedata/locales/br_FR8
-rw-r--r--localedata/locales/bs_BA8
-rw-r--r--localedata/locales/ca_ES8
-rw-r--r--localedata/locales/ce_RU4
-rw-r--r--localedata/locales/crh_UA8
-rw-r--r--localedata/locales/cs_CZ8
-rw-r--r--localedata/locales/csb_PL4
-rw-r--r--localedata/locales/cv_RU4
-rw-r--r--localedata/locales/cy_GB8
-rw-r--r--localedata/locales/da_DK8
-rw-r--r--localedata/locales/de_DE8
-rw-r--r--localedata/locales/dv_MV4
-rw-r--r--localedata/locales/dz_BT4
-rw-r--r--localedata/locales/el_GR4
-rw-r--r--localedata/locales/en_CA8
-rw-r--r--localedata/locales/en_US8
-rw-r--r--localedata/locales/es_ES8
-rw-r--r--localedata/locales/et_EE8
-rw-r--r--localedata/locales/eu_ES8
-rw-r--r--localedata/locales/fa_IR4
-rw-r--r--localedata/locales/ff_SN8
-rw-r--r--localedata/locales/fi_FI8
-rw-r--r--localedata/locales/fil_PH8
-rw-r--r--localedata/locales/fo_FO8
-rw-r--r--localedata/locales/fr_BE8
-rw-r--r--localedata/locales/fr_CH8
-rw-r--r--localedata/locales/fr_FR8
-rw-r--r--localedata/locales/fr_LU8
-rw-r--r--localedata/locales/fur_IT8
-rw-r--r--localedata/locales/fy_DE8
-rw-r--r--localedata/locales/ga_IE8
-rw-r--r--localedata/locales/gd_GB8
-rw-r--r--localedata/locales/gl_ES8
-rw-r--r--localedata/locales/gu_IN4
-rw-r--r--localedata/locales/gv_GB4
-rw-r--r--localedata/locales/ha_NG8
-rw-r--r--localedata/locales/hak_TW8
-rw-r--r--localedata/locales/he_IL4
-rw-r--r--localedata/locales/hif_FJ10
-rw-r--r--localedata/locales/hne_IN4
-rw-r--r--localedata/locales/hr_HR8
-rw-r--r--localedata/locales/hsb_DE8
-rw-r--r--localedata/locales/ht_HT8
-rw-r--r--localedata/locales/hu_HU8
-rw-r--r--localedata/locales/hy_AM4
-rw-r--r--localedata/locales/ia_FR8
-rw-r--r--localedata/locales/id_ID8
-rw-r--r--localedata/locales/ig_NG8
-rw-r--r--localedata/locales/ik_CA8
-rw-r--r--localedata/locales/is_IS8
-rw-r--r--localedata/locales/it_CH8
-rw-r--r--localedata/locales/it_IT8
-rw-r--r--localedata/locales/iu_CA4
-rw-r--r--localedata/locales/ja_JP6
-rw-r--r--localedata/locales/kk_KZ4
-rw-r--r--localedata/locales/kl_GL8
-rw-r--r--localedata/locales/ko_KR4
-rw-r--r--localedata/locales/ks_IN4
-rw-r--r--localedata/locales/ku_TR8
-rw-r--r--localedata/locales/kw_GB8
-rw-r--r--localedata/locales/ky_KG4
-rw-r--r--localedata/locales/lb_LU8
-rw-r--r--localedata/locales/lg_UG8
-rw-r--r--localedata/locales/li_NL4
-rw-r--r--localedata/locales/lij_IT4
-rw-r--r--localedata/locales/ln_CD8
-rw-r--r--localedata/locales/lo_LA4
-rw-r--r--localedata/locales/lt_LT8
-rw-r--r--localedata/locales/lv_LV8
-rw-r--r--localedata/locales/lzh_TW8
-rw-r--r--localedata/locales/mg_MG8
-rw-r--r--localedata/locales/mhr_RU4
-rw-r--r--localedata/locales/mi_NZ8
-rw-r--r--localedata/locales/mk_MK5
-rw-r--r--localedata/locales/ml_IN4
-rw-r--r--localedata/locales/mn_MN4
-rw-r--r--localedata/locales/ms_MY8
-rw-r--r--localedata/locales/mt_MT10
-rw-r--r--localedata/locales/my_MM4
-rw-r--r--localedata/locales/nan_TW8
-rw-r--r--localedata/locales/nan_TW@latin8
-rw-r--r--localedata/locales/nb_NO8
-rw-r--r--localedata/locales/nds_DE8
-rw-r--r--localedata/locales/nds_NL8
-rw-r--r--localedata/locales/ne_NP4
-rw-r--r--localedata/locales/nhn_MX8
-rw-r--r--localedata/locales/niu_NU8
-rw-r--r--localedata/locales/nl_NL8
-rw-r--r--localedata/locales/nn_NO8
-rw-r--r--localedata/locales/nr_ZA4
-rw-r--r--localedata/locales/nso_ZA4
-rw-r--r--localedata/locales/oc_FR4
-rw-r--r--localedata/locales/om_ET10
-rw-r--r--localedata/locales/or_IN5
-rw-r--r--localedata/locales/os_RU4
-rw-r--r--localedata/locales/pa_IN4
-rw-r--r--localedata/locales/pa_PK6
-rw-r--r--localedata/locales/pap_AW8
-rw-r--r--localedata/locales/pap_CW8
-rw-r--r--localedata/locales/pl_PL8
-rw-r--r--localedata/locales/ps_AF4
-rw-r--r--localedata/locales/pt_BR8
-rw-r--r--localedata/locales/quz_PE8
-rw-r--r--localedata/locales/raj_IN4
-rw-r--r--localedata/locales/ro_RO8
-rw-r--r--localedata/locales/ru_RU4
-rw-r--r--localedata/locales/ru_UA5
-rw-r--r--localedata/locales/rw_RW4
-rw-r--r--localedata/locales/sa_IN4
-rw-r--r--localedata/locales/sc_IT10
-rw-r--r--localedata/locales/sd_IN@devanagari4
-rw-r--r--localedata/locales/se_NO8
-rw-r--r--localedata/locales/sgs_LT8
-rw-r--r--localedata/locales/si_LK4
-rw-r--r--localedata/locales/sk_SK8
-rw-r--r--localedata/locales/sl_SI8
-rw-r--r--localedata/locales/sm_WS14
-rw-r--r--localedata/locales/so_DJ8
-rw-r--r--localedata/locales/sq_AL8
-rw-r--r--localedata/locales/sr_RS4
-rw-r--r--localedata/locales/sr_RS@latin8
-rw-r--r--localedata/locales/ss_ZA4
-rw-r--r--localedata/locales/st_ZA4
-rw-r--r--localedata/locales/sv_SE8
-rw-r--r--localedata/locales/sw_KE8
-rw-r--r--localedata/locales/szl_PL4
-rw-r--r--localedata/locales/tcy_IN4
-rw-r--r--localedata/locales/tg_TJ4
-rw-r--r--localedata/locales/th_TH4
-rw-r--r--localedata/locales/the_NP4
-rw-r--r--localedata/locales/ti_ER4
-rw-r--r--localedata/locales/tk_TM8
-rw-r--r--localedata/locales/tn_ZA4
-rw-r--r--localedata/locales/to_TO12
-rw-r--r--localedata/locales/tr_TR8
-rw-r--r--localedata/locales/ts_ZA10
-rw-r--r--localedata/locales/tt_RU4
-rw-r--r--localedata/locales/tt_RU@iqtelif8
-rw-r--r--localedata/locales/uk_UA28
-rw-r--r--localedata/locales/unm_US4
-rw-r--r--localedata/locales/ur_IN4
-rw-r--r--localedata/locales/ur_PK6
-rw-r--r--localedata/locales/uz_UZ9
-rw-r--r--localedata/locales/uz_UZ@cyrillic5
-rw-r--r--localedata/locales/ve_ZA4
-rw-r--r--localedata/locales/vi_VN8
-rw-r--r--localedata/locales/wa_BE8
-rw-r--r--localedata/locales/wo_SN4
-rw-r--r--localedata/locales/xh_ZA8
-rw-r--r--localedata/locales/yi_US4
-rw-r--r--localedata/locales/yo_NG8
-rw-r--r--localedata/locales/yue_HK4
-rw-r--r--localedata/locales/zh_CN4
-rw-r--r--localedata/locales/zh_HK4
-rw-r--r--localedata/locales/zh_TW4
-rw-r--r--localedata/locales/zu_ZA8
175 files changed, 570 insertions, 596 deletions
diff --git a/localedata/locales/aa_ET b/localedata/locales/aa_ET
index e4d12c193b..15e3442998 100644
--- a/localedata/locales/aa_ET
+++ b/localedata/locales/aa_ET
@@ -127,10 +127,10 @@ END LC_ADDRESS
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006D><U006E><U004D><U004E><U005D>"
-yesstr  "<U0059><U0065><U0065><U0079>"
-nostr   "<U004D><U0061><U006C><U0065><U0065><U0079>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0mnMN]"
+yesstr  "Yeey"
+nostr   "Maleey"
 END LC_MESSAGES
 
 
diff --git a/localedata/locales/af_ZA b/localedata/locales/af_ZA
index af43344e66..c21fef7a6b 100644
--- a/localedata/locales/af_ZA
+++ b/localedata/locales/af_ZA
@@ -157,10 +157,10 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U006A><U004A><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U006A><U0061>"
-nostr   "<U006E><U0065><U0065>"
+yesexpr "^[+1jJyY]"
+noexpr  "^[-0nN]"
+yesstr  "ja"
+nostr   "nee"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/ak_GH b/localedata/locales/ak_GH
index f06e24cf7c..d3ac038103 100644
--- a/localedata/locales/ak_GH
+++ b/localedata/locales/ak_GH
@@ -158,10 +158,10 @@ copy "i18n"
 END LC_MEASUREMENT
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0064><U0044><U006E><U004E><U005D>"
-yesstr  "<U0059><U0069><U0077>"
-nostr   "<U0044><U0061><U0061><U0062><U0069>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0dDnN]"
+yesstr  "Yiw"
+nostr   "Daabi"
 END LC_MESSAGES
 
 LC_NAME
diff --git a/localedata/locales/am_ET b/localedata/locales/am_ET
index 30a8e750a4..df6db23fa8 100644
--- a/localedata/locales/am_ET
+++ b/localedata/locales/am_ET
@@ -1462,8 +1462,8 @@ END LC_ADDRESS
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^([+1yY]|<U12A0><U12CE><U1295>)"
+noexpr  "^([-0nN]|<U12A0><U12ED>)"
 yesstr  "<U12A0><U12CE><U1295>"
 nostr   "<U12A0><U12ED>"
 END LC_MESSAGES
diff --git a/localedata/locales/anp_IN b/localedata/locales/anp_IN
index 0565bb8350..ee8f2d5f8d 100644
--- a/localedata/locales/anp_IN
+++ b/localedata/locales/anp_IN
@@ -147,8 +147,8 @@ END LC_TIME
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0939><U0935><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0928><U0907><U006E><U004E><U005D>"
+yesexpr "^[+1<U0939><U0935>yY]"
+noexpr  "^[-0<U0928><U0907>nN]"
 yesstr  "<U0939><U093E><U0901>"
 nostr   "<U0928><U0939><U0940><U0902>"
 END LC_MESSAGES
diff --git a/localedata/locales/ar_EG b/localedata/locales/ar_EG
index 612b8fa8ad..196e8d07d0 100644
--- a/localedata/locales/ar_EG
+++ b/localedata/locales/ar_EG
@@ -158,8 +158,8 @@ END LC_TIME
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0646><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0644><U006E><U004E><U005D>"
+yesexpr "^[+1<U0646>yY]"
+noexpr  "^[-0<U0644>nN]"
 yesstr  "<U0646><U0639><U0645>"
 nostr   "<U0644><U0627>"
 END LC_MESSAGES
diff --git a/localedata/locales/as_IN b/localedata/locales/as_IN
index c2ee88c36b..87c08265c7 100644
--- a/localedata/locales/as_IN
+++ b/localedata/locales/as_IN
@@ -115,8 +115,8 @@ END LC_TIME
 
 %%%%%%%%%%%%%
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U09B9><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U09A8><U005D>"
+yesexpr "^[+1yY<U09B9>]"
+noexpr  "^[-0nN<U09A8>]"
 yesstr  "<U09B9><U09DF>"
 nostr   "<U09A8><U09B9><U09DF>"
 END LC_MESSAGES
diff --git a/localedata/locales/ast_ES b/localedata/locales/ast_ES
index 6a20eebafa..737b7860e3 100644
--- a/localedata/locales/ast_ES
+++ b/localedata/locales/ast_ES
@@ -60,10 +60,10 @@ copy "es_ES"
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0073><U0053><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0073><U00ED>"
-nostr   "<U006E><U006F><U006E>"
+yesexpr "^[+1sSyY]"
+noexpr  "^[-0nN]"
+yesstr  "s<U00ED>"
+nostr   "non"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/ayc_PE b/localedata/locales/ayc_PE
index 1cb2b63452..ca9b243c9b 100644
--- a/localedata/locales/ayc_PE
+++ b/localedata/locales/ayc_PE
@@ -158,10 +158,10 @@ copy "es_PE"
 END LC_MEASUREMENT
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0075><U0055><U0073><U0053><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006A><U004A><U006E><U004E><U005D>"
-yesstr  "<U0055><U006B><U0068><U0061><U006D><U0061><U0077><U0061>"
-nostr   "<U004A><U0061><U006E><U0069><U0077><U0061>"
+yesexpr "^[+1uUsSyY]"
+noexpr  "^[-0jJnN]"
+yesstr  "Ukhamawa"
+nostr   "Janiwa"
 END LC_MESSAGES
 
 LC_NAME
diff --git a/localedata/locales/az_AZ b/localedata/locales/az_AZ
index 8bbc2b41eb..defa9f1099 100644
--- a/localedata/locales/az_AZ
+++ b/localedata/locales/az_AZ
@@ -202,11 +202,17 @@ translit_end
 END LC_CTYPE
 
 LC_MESSAGES
-% FIXME: No is "yox"; that conflicts with English "yes"... what to do .
-yesexpr "<U005E><U005B><U002B><U0031><U0042><U0062><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0059><U0079><U004E><U006E><U005D>"
-yesstr  "<U0062><U0259><U006C><U0069>"
-nostr   "<U0079><U006F><U0078>"
+% No is "yox"; that conflicts with English "yes". The man page of
+% rpmatch says: “Regardless  of  the  locale, responses  matching  ^[Yy]  are
+% always accepted as affirmative, and those matching ^[Nn] are
+% always accepted as negative.”. But that is not quite right, actually
+% yesexpr "^[+1Bb]" and noexpr  "^[-0YyNn]" make a response matching “^[Yy]”
+% accepted as *negative*. So the expressions below do work as they
+% should for Azeri.
+yesexpr "^[+1Bb]"
+noexpr  "^[-0YyNn]"
+yesstr  "b<U0259>li"
+nostr   "yox"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/az_IR b/localedata/locales/az_IR
index 406dfe32fc..78be49367b 100644
--- a/localedata/locales/az_IR
+++ b/localedata/locales/az_IR
@@ -85,9 +85,9 @@ END LC_CTYPE
 
 LC_MESSAGES
 % This is "^[+1yY<HEH><BEH>]"
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0647><U0628><U005D>"
+yesexpr "^[+1yY<U0647><U0628>]"
 % This is "^[-0nN<YEH><KHEH>]"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U06CC><U062E><U005D>"
+noexpr  "^[-0nN<U06CC><U062E>]"
 % This is "Hen":
 yesstr  "<U0647><U0646>"
 % This is "Yox":
diff --git a/localedata/locales/be_BY b/localedata/locales/be_BY
index 041b386524..7f5bced27f 100644
--- a/localedata/locales/be_BY
+++ b/localedata/locales/be_BY
@@ -72,8 +72,8 @@ translit_end
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0422><U0442><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U041D><U043D><U004E><U006E><U005D>"
+yesexpr "^[+1yY<U0422><U0442>]"
+noexpr  "^[-0nN<U041D><U043D>]"
 yesstr  "<U0442><U0430><U043A>"
 nostr   "<U043D><U0435>"
 END LC_MESSAGES
diff --git a/localedata/locales/be_BY@latin b/localedata/locales/be_BY@latin
index 1a32e7619f..8a517a2f21 100644
--- a/localedata/locales/be_BY@latin
+++ b/localedata/locales/be_BY@latin
@@ -54,8 +54,8 @@ copy "be_BY"
 END LC_NUMERIC
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0054><U0074><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U004E><U006E><U005D>"
+yesexpr "^[+1TtYy]"
+noexpr  "^[-0Nn]"
 END LC_MESSAGES
 
 LC_TIME
diff --git a/localedata/locales/bem_ZM b/localedata/locales/bem_ZM
index 05fbaa9592..1f5cf7dea2 100644
--- a/localedata/locales/bem_ZM
+++ b/localedata/locales/bem_ZM
@@ -146,10 +146,10 @@ copy "i18n"
 END LC_MEASUREMENT
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0065><U0045><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U0061><U0041><U005D>"
-yesstr  "<U0045><U0065>"
-nostr   "<U0041><U0077><U0065>"
+yesexpr "^[+1yYeE]"
+noexpr  "^[-0nNaA]"
+yesstr  "Ee"
+nostr   "Awe"
 END LC_MESSAGES
 
 LC_NAME
diff --git a/localedata/locales/ber_MA b/localedata/locales/ber_MA
index 46fd781432..194a0c3df9 100644
--- a/localedata/locales/ber_MA
+++ b/localedata/locales/ber_MA
@@ -89,11 +89,12 @@ translit_end
 END LC_CTYPE
 
 LC_MESSAGES
-% FIXME: yes/no
-yesexpr "<U005E><U005B><U002B><U0031><U0042><U0062><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0059><U0079><U004E><U006E><U005D>"
-yesstr  "<U0062><U0259><U006C><U0069>"
-nostr   "<U0079><U006F><U0078>"
+% FIXME: yes/no. What we currently have here is exactly the same as in the az_AZ locale
+% which is a bit surprising. Is that really correct??
+yesexpr "^[+1Bb]"
+noexpr  "^[-0YyNn]"
+yesstr  "b<U0259>li"
+nostr   "yox"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/bg_BG b/localedata/locales/bg_BG
index 508a8155d7..08a4fd0983 100644
--- a/localedata/locales/bg_BG
+++ b/localedata/locales/bg_BG
@@ -237,8 +237,8 @@ mon "<U044F><U043D><U0443><U0430><U0440><U0438>";/
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0414><U0434><U0044><U0064><U0059><U0079><U004F><U006F><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U041D><U043D><U004E><U006E><U004B><U006B><U005D>"
+yesexpr "^[+1yYdDoO<U0414><U0434>]"
+noexpr  "^[-0nNkK<U041D><U043D>]"
 yesstr  "<U0434><U0430>"
 nostr   "<U043D><U0435>"
 END LC_MESSAGES
diff --git a/localedata/locales/bhb_IN b/localedata/locales/bhb_IN
index 4ecac8c83a..9946f4fb57 100644
--- a/localedata/locales/bhb_IN
+++ b/localedata/locales/bhb_IN
@@ -135,8 +135,8 @@ END LC_TIME
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0nN]"
 END LC_MESSAGES
 
 
diff --git a/localedata/locales/bi_VU b/localedata/locales/bi_VU
index 19d1aff25a..1a973f71ee 100755
--- a/localedata/locales/bi_VU
+++ b/localedata/locales/bi_VU
@@ -164,11 +164,11 @@ LC_MESSAGES
 
 % ^[yY].*
 % ^[nN].*
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0nN]"
 % http://www.pentecostisland.net/languages/bislama/englishtobislama.pdf
-yesstr "<U0059><U0065><U0073>"
-nostr  "<U004E><U006F>"
+yesstr "Yes"
+nostr  "No"
 END LC_MESSAGES
 
 
diff --git a/localedata/locales/bo_CN b/localedata/locales/bo_CN
index 987e301b33..4baab5e74a 100644
--- a/localedata/locales/bo_CN
+++ b/localedata/locales/bo_CN
@@ -131,8 +131,8 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0F68><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0F58><U004E><U006E><U005D>"
+yesexpr "^[+1yY<U0F68>]"
+noexpr  "^[-0nN<U0F58>]"
 yesstr  "<U0F61><U0F72><U0F53><U0F0D>"
 nostr   "<U0F58><U0F72><U0F53><U0F0D>"
 END LC_MESSAGES
diff --git a/localedata/locales/br_FR b/localedata/locales/br_FR
index 4b750a5e45..34b134c9c7 100644
--- a/localedata/locales/br_FR
+++ b/localedata/locales/br_FR
@@ -96,10 +96,10 @@ copy "en_DK"
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U006F><U004F><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0059><U0061>"
-nostr   "<U004E><U0061><U006E><U006E>"
+yesexpr "^[+1oOyY]"
+noexpr  "^[-0nN]"
+yesstr  "Ya"
+nostr   "Nann"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/bs_BA b/localedata/locales/bs_BA
index 45dd49d4df..d4bc4da43d 100644
--- a/localedata/locales/bs_BA
+++ b/localedata/locales/bs_BA
@@ -147,10 +147,10 @@ copy "en_DK"
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0064><U0044><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0064><U0061>"
-nostr   "<U006E><U0065>"
+yesexpr "^[+1dDyY]"
+noexpr  "^[-0nN]"
+yesstr  "da"
+nostr   "ne"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/ca_ES b/localedata/locales/ca_ES
index b6a8b20c7f..fcb40cc309 100644
--- a/localedata/locales/ca_ES
+++ b/localedata/locales/ca_ES
@@ -75,10 +75,10 @@ translit_end
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0073><U0053><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0073><U00ED>"
-nostr   "<U006E><U006F>"
+yesexpr "^[+1sSyY]"
+noexpr  "^[-0nN]"
+yesstr  "s<U00ED>"
+nostr   "no"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/ce_RU b/localedata/locales/ce_RU
index 7beadfb7a3..04a6ec16c2 100644
--- a/localedata/locales/ce_RU
+++ b/localedata/locales/ce_RU
@@ -134,8 +134,8 @@ copy "i18n"
 END LC_MEASUREMENT
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0414><U0434><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U041C><U043C><U004E><U006E><U005D>"
+yesexpr "^[+1yY<U0414><U0434>]"
+noexpr  "^[-0nN<U041C><U043C>]"
 END LC_MESSAGES
 
 LC_NAME
diff --git a/localedata/locales/crh_UA b/localedata/locales/crh_UA
index 8023e635aa..576214bbeb 100644
--- a/localedata/locales/crh_UA
+++ b/localedata/locales/crh_UA
@@ -127,10 +127,10 @@ copy "tr_TR"
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0065><U0045><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U0068><U0048><U005D>"
-yesstr  "<U0065><U0062><U0065><U0074>"
-nostr   "<U0068><U0061><U0079><U0131><U0072>"
+yesexpr "^[+1yYeE]"
+noexpr  "^[-0nNhH]"
+yesstr  "ebet"
+nostr   "hay<U0131>r"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/cs_CZ b/localedata/locales/cs_CZ
index ca486c2727..643fb1d5c0 100644
--- a/localedata/locales/cs_CZ
+++ b/localedata/locales/cs_CZ
@@ -2318,10 +2318,10 @@ END LC_CTYPE
 %% -------------------------
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0061><U0041><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0061><U006E><U006F>"
-nostr   "<U006E><U0065>"
+yesexpr "^[+1aAyY]"
+noexpr  "^[-0nN]"
+yesstr  "ano"
+nostr   "ne"
 END LC_MESSAGES
 
 %% LC_MONETARY -- jde jen o peníze
diff --git a/localedata/locales/csb_PL b/localedata/locales/csb_PL
index b3d26f2a50..362ffd3674 100644
--- a/localedata/locales/csb_PL
+++ b/localedata/locales/csb_PL
@@ -133,8 +133,8 @@ reorder-end
 END LC_COLLATE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U004A><U006A><U0054><U0074><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1JjTtYy]"
+noexpr  "^[-0nN]"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/cv_RU b/localedata/locales/cv_RU
index e0d166a4bf..982c998741 100644
--- a/localedata/locales/cv_RU
+++ b/localedata/locales/cv_RU
@@ -112,8 +112,8 @@ translit_end
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0nN]"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/cy_GB b/localedata/locales/cy_GB
index 45acff286e..87d5fd3312 100644
--- a/localedata/locales/cy_GB
+++ b/localedata/locales/cy_GB
@@ -261,10 +261,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0069><U0049><U0074><U0054><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0069><U0065>"
-nostr   "<U006E><U0061>"
+yesexpr "^[+1iItTyY]"
+noexpr  "^[-0nN]"
+yesstr  "ie"
+nostr   "na"
 END LC_MESSAGES
 
 LC_NAME
diff --git a/localedata/locales/da_DK b/localedata/locales/da_DK
index dac9440e8f..4d91cba01d 100644
--- a/localedata/locales/da_DK
+++ b/localedata/locales/da_DK
@@ -232,10 +232,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U004A><U006A><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U004E><U006E><U005D>"
-yesstr  "<U006A><U0061>"
-nostr   "<U006E><U0065><U006A>"
+yesexpr "^[+1JjYy]"
+noexpr  "^[-0Nn]"
+yesstr  "ja"
+nostr   "nej"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/de_DE b/localedata/locales/de_DE
index b3a26b8fd5..7f312384c7 100644
--- a/localedata/locales/de_DE
+++ b/localedata/locales/de_DE
@@ -168,10 +168,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U006A><U004A><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U006A><U0061>"
-nostr   "<U006E><U0065><U0069><U006E>"
+yesexpr "^[+1jJyY]"
+noexpr  "^[-0nN]"
+yesstr  "ja"
+nostr   "nein"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/dv_MV b/localedata/locales/dv_MV
index d7d4da7013..4e58c52e23 100644
--- a/localedata/locales/dv_MV
+++ b/localedata/locales/dv_MV
@@ -151,8 +151,8 @@ first_weekday 6
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0nN]"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/dz_BT b/localedata/locales/dz_BT
index efe8884169..28b160da1a 100644
--- a/localedata/locales/dz_BT
+++ b/localedata/locales/dz_BT
@@ -619,8 +619,8 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0F68><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0F58><U004E><U006E><U005D>"
+yesexpr "^[+1yY<U0F68>]"
+noexpr  "^[-0nN<U0F58>]"
 yesstr  "<U0F68><U0F72><U0F53><U0F0B>"
 nostr   "<U0F58><U0F7A><U0F53><U0F0B>"
 END LC_MESSAGES
diff --git a/localedata/locales/el_GR b/localedata/locales/el_GR
index 920a4a7da6..2b1f28f6f4 100644
--- a/localedata/locales/el_GR
+++ b/localedata/locales/el_GR
@@ -62,8 +62,8 @@ translit_end
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U03BD><U039D><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U03BF><U039F><U006E><U004E><U005D>"
+yesexpr "^[+1yY<U03BD><U039D>]"
+noexpr  "^[-0nN<U03BF><U039F>]"
 yesstr  "<U03BD><U03B1><U03B9>"
 nostr   "<U03CC><U03C7><U03B9>"
 END LC_MESSAGES
diff --git a/localedata/locales/en_CA b/localedata/locales/en_CA
index e1505fb05e..72a27f0ed9 100644
--- a/localedata/locales/en_CA
+++ b/localedata/locales/en_CA
@@ -137,16 +137,16 @@ END LC_TIME
 
 LC_MESSAGES
 % Accept both English "Yes" and French "Oui" as Canada is bilingual.
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U006F><U004F><U005D>"
+yesexpr "^[+1yYoO]"
 % Accept both Engish "No" and French "Non" as Canada is bilingual.
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+noexpr  "^[-0nN]"
 % yes - Display only the English "yes". While Canada is bilingual it would be
 %       difficult to display two words e.g. yes|oui, where one word is expected.
 %       Thus given that the majority of the population is Anglophone we use only
 %       the English word for yesstr.
-yesstr  "<U0079><U0065><U0073>"
+yesstr  "yes"
 % no - Display only the English "no". See the rationale for yesstr.
-nostr   "<U006E><U006F>"
+nostr   "no"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/en_US b/localedata/locales/en_US
index 5345fc37cd..307f53cb44 100644
--- a/localedata/locales/en_US
+++ b/localedata/locales/en_US
@@ -131,10 +131,10 @@ am_pm	"<U0041><U004D>";"<U0050><U004D>"
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0079><U0065><U0073>"
-nostr   "<U006E><U006F>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0nN]"
+yesstr  "yes"
+nostr   "no"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/es_ES b/localedata/locales/es_ES
index e0b3c1470e..4a10d3d5f8 100644
--- a/localedata/locales/es_ES
+++ b/localedata/locales/es_ES
@@ -64,10 +64,10 @@ translit_end
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0073><U0053><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0073><U00ED>"
-nostr   "<U006E><U006F>"
+yesexpr "^[+1sSyY]"
+noexpr  "^[-0nN]"
+yesstr  "sí"
+nostr   "no"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/et_EE b/localedata/locales/et_EE
index 17338ca666..f00d8efce8 100644
--- a/localedata/locales/et_EE
+++ b/localedata/locales/et_EE
@@ -2201,10 +2201,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U004A><U006A><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0045><U0065><U004E><U006E><U005D>"
-yesstr  "<U006A><U0061><U0068>"
-nostr   "<U0065><U0069>"
+yesexpr "^[+1JjYy]"
+noexpr  "^[-0EeNn]"
+yesstr  "jah"
+nostr   "ei"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/eu_ES b/localedata/locales/eu_ES
index 5fd8dc6140..02b85e914d 100644
--- a/localedata/locales/eu_ES
+++ b/localedata/locales/eu_ES
@@ -63,10 +63,10 @@ copy "es_ES"
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0062><U0042><U0073><U0053><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0065><U0045><U006E><U004E><U005D>"
-yesstr  "<U0062><U0061><U0069>"
-nostr   "<U0065><U007A>"
+yesexpr "^[+1bBsSyY]"
+noexpr  "^[-0eEnN]"
+yesstr  "bai"
+nostr   "ez"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/fa_IR b/localedata/locales/fa_IR
index 415c9b470c..048a648317 100644
--- a/localedata/locales/fa_IR
+++ b/localedata/locales/fa_IR
@@ -444,8 +444,8 @@ first_workday 7
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0622><U0628><U0048><U0066><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U062E><U0646><U006F><U006B><U005D>"
+yesexpr "^[+1yY<U0622><U0628>Hf]"
+noexpr  "^[-0nN<U062E><U0646>ok]"
 yesstr  "<U0628><U0644><U0647>"
 nostr   "<U0646><U0647>"
 END LC_MESSAGES
diff --git a/localedata/locales/ff_SN b/localedata/locales/ff_SN
index 6bd1ecc955..4f0f06252c 100644
--- a/localedata/locales/ff_SN
+++ b/localedata/locales/ff_SN
@@ -145,10 +145,10 @@ copy "i18n"
 END LC_MEASUREMENT
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0065><U0045><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U0061><U0041><U005D>"
-yesstr  "<U0045><U0065><U0079>"
-nostr   "<U0041><U006C><U0061><U0061>"
+yesexpr "^[+1yYeE]"
+noexpr  "^[-0nNaA]"
+yesstr  "Eey"
+nostr   "Alaa"
 END LC_MESSAGES
 
 LC_NAME
diff --git a/localedata/locales/fi_FI b/localedata/locales/fi_FI
index 39e8630ef2..53c4d45b12 100644
--- a/localedata/locales/fi_FI
+++ b/localedata/locales/fi_FI
@@ -213,10 +213,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U004B><U006B><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0045><U0065><U004E><U006E><U005D>"
-yesstr  "<U006B><U0079><U006C><U006C><U00E4>"
-nostr   "<U0065><U0069>"
+yesexpr "^[+1KkYy]"
+noexpr  "^[-0EeNn]"
+yesstr  "kyllä"
+nostr   "ei"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/fil_PH b/localedata/locales/fil_PH
index 869b22ad92..b69ddb3a4a 100644
--- a/localedata/locales/fil_PH
+++ b/localedata/locales/fil_PH
@@ -147,10 +147,10 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U006F><U004F><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0068><U0048><U006E><U004E><U005D>"
-yesstr  "<U006F><U006F>"
-nostr	"<U0068><U0069><U006E><U0064><U0069>"
+yesexpr "^[+1oOyY]"
+noexpr  "^[-0hHnN]"
+yesstr  "oo"
+nostr	"hindi"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/fo_FO b/localedata/locales/fo_FO
index 4c02df5192..986d833d49 100644
--- a/localedata/locales/fo_FO
+++ b/localedata/locales/fo_FO
@@ -108,10 +108,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U004A><U006A><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U004E><U006E><U005D>"
-yesstr  "<U006A><U00E1>"
-nostr   "<U006E><U0065><U0069>"
+yesexpr "^[+1JjYy]"
+noexpr  "^[-0Nn]"
+yesstr  "j<U00E1>"
+nostr   "nei"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/fr_BE b/localedata/locales/fr_BE
index fa280f32e5..dbd6127c55 100644
--- a/localedata/locales/fr_BE
+++ b/localedata/locales/fr_BE
@@ -58,10 +58,10 @@ copy "iso14651_t1"
 END LC_COLLATE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U006F><U004F><U006A><U004A><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U006F><U0075><U0069>"
-nostr   "<U006E><U006F><U006E>"
+yesexpr "^[+1oOjJyY]"
+noexpr  "^[-0nN]"
+yesstr  "oui"
+nostr   "non"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/fr_CH b/localedata/locales/fr_CH
index 70ee98faf6..1a6b892392 100644
--- a/localedata/locales/fr_CH
+++ b/localedata/locales/fr_CH
@@ -58,10 +58,10 @@ copy "iso14651_t1"
 END LC_COLLATE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U004F><U006F><U006A><U004A><U0073><U0053><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U006F><U0075><U0069>"
-nostr   "<U006E><U006F><U006E>"
+yesexpr "^[+1OojJsSyY]"
+noexpr  "^[-0nN]"
+yesstr  "oui"
+nostr   "non"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/fr_FR b/localedata/locales/fr_FR
index 4ecd4a4eae..6a90d92fb3 100644
--- a/localedata/locales/fr_FR
+++ b/localedata/locales/fr_FR
@@ -68,10 +68,10 @@ copy "iso14651_t1"
 END LC_COLLATE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U006F><U004F><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U006F><U0075><U0069>"
-nostr   "<U006E><U006F><U006E>"
+yesexpr "^[+1oOyY]"
+noexpr  "^[-0nN]"
+yesstr  "oui"
+nostr   "non"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/fr_LU b/localedata/locales/fr_LU
index b3ab11401f..2b6368f53f 100644
--- a/localedata/locales/fr_LU
+++ b/localedata/locales/fr_LU
@@ -58,10 +58,10 @@ copy "iso14651_t1"
 END LC_COLLATE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U006F><U004F><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U006F><U0075><U0069>"
-nostr   "<U006E><U006F><U006E>"
+yesexpr "^[+1oOyY]"
+noexpr  "^[-0nN]"
+yesstr  "oui"
+nostr   "non"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/fur_IT b/localedata/locales/fur_IT
index f9f86ac1dc..4e65a14ae7 100644
--- a/localedata/locales/fur_IT
+++ b/localedata/locales/fur_IT
@@ -64,10 +64,10 @@ reorder-end
 END LC_COLLATE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0073><U0053><U006A><U004A><U006F><U004F><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0073><U00EC>"
-nostr   "<U006E><U006F>"
+yesexpr "^[+1sSjJoOyY]"
+noexpr  "^[-0nN]"
+yesstr  "s<U00EC>"
+nostr   "no"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/fy_DE b/localedata/locales/fy_DE
index 57130a0ee4..937f7f276b 100644
--- a/localedata/locales/fy_DE
+++ b/localedata/locales/fy_DE
@@ -68,10 +68,10 @@ copy "en_DK"
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U006A><U004A><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U006A><U0061>"
-nostr   "<U006E><U0065><U0065>"
+yesexpr "^[+1jJyY]"
+noexpr  "^[-0nN]"
+yesstr  "ja"
+nostr   "nee"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/ga_IE b/localedata/locales/ga_IE
index 822c7dbb85..5f1bdf3040 100644
--- a/localedata/locales/ga_IE
+++ b/localedata/locales/ga_IE
@@ -123,10 +123,10 @@ week 7;19971130;4
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0074><U0054><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0074><U00E1>"
-nostr   "<U006E><U00ED><U006C>"
+yesexpr "^[+1tTyY]"
+noexpr  "^[-0nN]"
+yesstr  "t<U00E1>"
+nostr   "n<U00ED>l"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/gd_GB b/localedata/locales/gd_GB
index 5fc18dc656..a9cf80abbf 100644
--- a/localedata/locales/gd_GB
+++ b/localedata/locales/gd_GB
@@ -126,10 +126,10 @@ copy "en_GB"
 END LC_MEASUREMENT
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0074><U0054><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0063><U0043><U006E><U004E><U005D>"
-yesstr  "<U0074><U0068><U0061>"
-nostr   "<U0063><U0068><U0061><U006E><U0020><U0065><U0069><U006C>"
+yesexpr "^[+1tTyY]"
+noexpr  "^[-0cCnN]"
+yesstr  "tha"
+nostr   "chan eil"
 END LC_MESSAGES
 
 LC_NAME
diff --git a/localedata/locales/gl_ES b/localedata/locales/gl_ES
index f4e67a7d27..5ccf325103 100644
--- a/localedata/locales/gl_ES
+++ b/localedata/locales/gl_ES
@@ -59,10 +59,10 @@ copy "es_ES"
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0073><U0053><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0073><U0069>"
-nostr   "<U006E><U006F><U006E>"
+yesexpr "^[+1sSyY]"
+noexpr  "^[-0nN]"
+yesstr  "si"
+nostr   "non"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/gu_IN b/localedata/locales/gu_IN
index b883b35297..1613597da4 100644
--- a/localedata/locales/gu_IN
+++ b/localedata/locales/gu_IN
@@ -167,8 +167,8 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0AB9><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U0AA8><U005D>"
+yesexpr "^[+1yY<U0AB9>]"
+noexpr  "^[-0nN<U0AA8>]"
 yesstr  "<U0AB9><U0ABE>"
 nostr   "<U0AA8><U0AB9><U0AC0><U0A82>"
 END LC_MESSAGES
diff --git a/localedata/locales/gv_GB b/localedata/locales/gv_GB
index f8fd939191..6ec2482bb2 100644
--- a/localedata/locales/gv_GB
+++ b/localedata/locales/gv_GB
@@ -136,8 +136,8 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0nN]"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/ha_NG b/localedata/locales/ha_NG
index 5758634f29..4c12b7008f 100644
--- a/localedata/locales/ha_NG
+++ b/localedata/locales/ha_NG
@@ -217,10 +217,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0054><U0074><U0069><U0049><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0062><U0042><U0061><U0041><U006E><U004E><U005D>"
-yesstr  "<U0054><U006F><U0068>"
-nostr   "<U0042><U0061><U0062><U0075>"
+yesexpr "^[+1TtiIYy]"
+noexpr  "^[-0bBaAnN]"
+yesstr  "Toh"
+nostr   "Babu"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/hak_TW b/localedata/locales/hak_TW
index 5ed72aa160..1996640f24 100644
--- a/localedata/locales/hak_TW
+++ b/localedata/locales/hak_TW
@@ -164,10 +164,10 @@ copy "i18n"
 END LC_MEASUREMENT
 
 LC_MESSAGES
-% ^[yY係]
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U4FC2><U005D>"
-% ^[nN毋]
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U6BCB><U005D>"
+% ^[+1yY係]
+yesexpr "^[+1yY<U4FC2>]"
+% ^[-0nN毋]
+noexpr  "^[-0nN<U6BCB>]"
 END LC_MESSAGES
 
 LC_NAME
diff --git a/localedata/locales/he_IL b/localedata/locales/he_IL
index 41ac2141b0..4b4fba6839 100644
--- a/localedata/locales/he_IL
+++ b/localedata/locales/he_IL
@@ -128,8 +128,8 @@ first_workday 1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0059><U0079><U05DB><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U004E><U006E><U05DC><U005D>"
+yesexpr "^[+1yY<U05DB>]"
+noexpr  "^[-0nN<U05DC>]"
 yesstr  "<U05DB><U05DF>"
 nostr   "<U05DC><U05D0>"
 END LC_MESSAGES
diff --git a/localedata/locales/hif_FJ b/localedata/locales/hif_FJ
index 67d025c20f..59181bfa99 100644
--- a/localedata/locales/hif_FJ
+++ b/localedata/locales/hif_FJ
@@ -149,12 +149,10 @@ copy "i18n"
 END LC_MEASUREMENT
 
 LC_MESSAGES
-% Yes -> Haan
-% No -> Nahi
-yesexpr "<U005E><U005B><U002B><U0031><U0068><U0048><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0048><U0061><U0061><U006E>"
-nostr   "<U004E><U0061><U0068><U0069>"
+yesexpr "^[+1hHyY]"
+noexpr  "^[-0nN]"
+yesstr  "Haan"
+nostr   "Nahi"
 END LC_MESSAGES
 
 LC_NAME
diff --git a/localedata/locales/hne_IN b/localedata/locales/hne_IN
index 78b83dd0e0..163e6a48b2 100644
--- a/localedata/locales/hne_IN
+++ b/localedata/locales/hne_IN
@@ -134,8 +134,8 @@ END LC_TIME
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0939><U0935><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0928><U0907><U006E><U004E><U005D>"
+yesexpr "^[+1yY<U0939><U0935>]"
+noexpr  "^[-0nN<U0928><U0907>]"
 yesstr  "<U0939><U0935>"
 nostr   "<U0928><U0907>"
 END LC_MESSAGES
diff --git a/localedata/locales/hr_HR b/localedata/locales/hr_HR
index 4075bf639e..acbf5f3ca7 100644
--- a/localedata/locales/hr_HR
+++ b/localedata/locales/hr_HR
@@ -2148,10 +2148,10 @@ translit_end
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0064><U0044><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0064><U0061>"
-nostr   "<U006E><U0065>"
+yesexpr "^[+1dDyY]"
+noexpr  "^[-0nN]"
+yesstr  "da"
+nostr   "ne"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/hsb_DE b/localedata/locales/hsb_DE
index 526e3c2dbe..19f46f8fbb 100644
--- a/localedata/locales/hsb_DE
+++ b/localedata/locales/hsb_DE
@@ -2125,10 +2125,10 @@ copy "i18n"
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0068><U0048><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0068><U0061><U006A>"
-nostr   "<U006E><U011B>"
+yesexpr "^[+1hHyY]"
+noexpr  "^[-0nN]"
+yesstr  "haj"
+nostr   "n<U011B>"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/ht_HT b/localedata/locales/ht_HT
index 58b25db800..70fca034cf 100644
--- a/localedata/locales/ht_HT
+++ b/localedata/locales/ht_HT
@@ -154,10 +154,10 @@ copy "i18n"
 END LC_MEASUREMENT
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0077><U0057><U006F><U004F><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0057><U0069>"
-nostr   "<U004E><U006F><U006E>"
+yesexpr "^[+1wWoOyY]"
+noexpr  "^[-0nN]"
+yesstr  "Wi"
+nostr   "Non"
 END LC_MESSAGES
 
 LC_NAME
diff --git a/localedata/locales/hu_HU b/localedata/locales/hu_HU
index 9e9128f286..0fe04e87d3 100644
--- a/localedata/locales/hu_HU
+++ b/localedata/locales/hu_HU
@@ -482,10 +482,10 @@ translit_end
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0049><U0069><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0069><U0067><U0065><U006E>"
-nostr   "<U006E><U0065><U006D>"
+yesexpr "^[+1IiYy]"
+noexpr  "^[-0nN]"
+yesstr  "igen"
+nostr   "nem"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/hy_AM b/localedata/locales/hy_AM
index b0bfbe8db4..f119180c93 100644
--- a/localedata/locales/hy_AM
+++ b/localedata/locales/hy_AM
@@ -152,8 +152,8 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0073><U0053><U0561><U0531><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U0578><U0548><U005D>"
+yesexpr "^[+1yYsS<U0561><U0531>]"
+noexpr  "^[-0nN<U0578><U0548>]"
 yesstr  "<U0561><U0575><U0578>"
 nostr   "<U0578><U0579>"
 END LC_MESSAGES
diff --git a/localedata/locales/ia_FR b/localedata/locales/ia_FR
index 93d6535610..0ed5abda8b 100644
--- a/localedata/locales/ia_FR
+++ b/localedata/locales/ia_FR
@@ -100,10 +100,10 @@ copy "fr_FR"
 END LC_MONETARY
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0073><U0053><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0053><U0069>"
-nostr   "<U004E><U006F>"
+yesexpr "^[+1sSyY]"
+noexpr  "^[-0nN]"
+yesstr  "Si"
+nostr   "No"
 END LC_MESSAGES
 
 LC_MEASUREMENT
diff --git a/localedata/locales/id_ID b/localedata/locales/id_ID
index cab6a61d0e..4c5d5c727a 100644
--- a/localedata/locales/id_ID
+++ b/localedata/locales/id_ID
@@ -124,10 +124,10 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0074><U0054><U006E><U004E><U005D>"
-yesstr  "<U0079><U0061>"
-nostr   "<U0074><U0069><U0064><U0061><U006B>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0tTnN]"
+yesstr  "ya"
+nostr   "tidak"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/ig_NG b/localedata/locales/ig_NG
index a6aee5bc50..2a43f1f100 100644
--- a/localedata/locales/ig_NG
+++ b/localedata/locales/ig_NG
@@ -415,10 +415,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0045><U0065><U0049><U0069><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U004D><U006D><U004E><U006E><U005D>"
-yesstr  "<U0045><U0079><U0065>"
-nostr   "<U004D><U0062><U0061>"
+yesexpr "^[+1EeIiYy]"
+noexpr  "^[-0MmNn]"
+yesstr  "Eye"
+nostr   "Mba"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/ik_CA b/localedata/locales/ik_CA
index 4174804ec3..8a3d6fbcd9 100644
--- a/localedata/locales/ik_CA
+++ b/localedata/locales/ik_CA
@@ -206,10 +206,10 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0069><U0049><U0061><U0041><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U0071><U0051><U005D>"
-yesstr  "<U0061><U0061>"
-nostr   "<U0071><U0061><U00F1><U0061><U0061>"
+yesexpr "^[+1yYiIaA]"
+noexpr  "^[-0nNqQ]"
+yesstr  "aa"
+nostr   "qa<U00F1>aa"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/is_IS b/localedata/locales/is_IS
index e69ac183cc..e46503672b 100644
--- a/localedata/locales/is_IS
+++ b/localedata/locales/is_IS
@@ -2228,10 +2228,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U006A><U004A><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U006A><U00E1>"
-nostr   "<U006E><U0065><U0069>"
+yesexpr "^[+1jJyY]"
+noexpr  "^[-0nN]"
+yesstr  "j<U00E1>"
+nostr   "nei"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/it_CH b/localedata/locales/it_CH
index a81da58867..1c930d6b16 100644
--- a/localedata/locales/it_CH
+++ b/localedata/locales/it_CH
@@ -51,10 +51,10 @@ copy "iso14651_t1"
 END LC_COLLATE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0073><U0053><U006A><U004A><U006F><U004F><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0073><U00EC>"
-nostr   "<U006E><U006F>"
+yesexpr "^[+1sSjJoOyY]"
+noexpr  "^[-0nN]"
+yesstr  "s<U00EC>"
+nostr   "no"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/it_IT b/localedata/locales/it_IT
index e10cee431a..500ba3503a 100644
--- a/localedata/locales/it_IT
+++ b/localedata/locales/it_IT
@@ -62,10 +62,10 @@ translit_end
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0073><U0053><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0073><U00EC>"
-nostr   "<U006E><U006F>"
+yesexpr "^[+1sSyY]"
+noexpr  "^[-0nN]"
+yesstr  "s<U00EC>"
+nostr   "no"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/iu_CA b/localedata/locales/iu_CA
index 7bcb82681b..0589adfd7c 100644
--- a/localedata/locales/iu_CA
+++ b/localedata/locales/iu_CA
@@ -126,8 +126,8 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0073><U0053><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1yYsS]"
+noexpr  "^[-0nN]"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/ja_JP b/localedata/locales/ja_JP
index 0a0b8023ab..c27a77b89e 100644
--- a/localedata/locales/ja_JP
+++ b/localedata/locales/ja_JP
@@ -14879,10 +14879,8 @@ END LC_COLLATE
 
 
 LC_MESSAGES
-yesexpr "<U005E><U0028><U005B><U002B><U0031><U0079><U0059><UFF59><UFF39>/
-<U005D><U007C><U306F><U3044><U007C><U30CF><U30A4><U0029>"
-noexpr  "<U005E><U0028><U005B><U002D><U0030><U006E><U004E><UFF4E><UFF2E>/
-<U005D><U007C><U3044><U3044><U3048><U007C><U30A4><U30A4><U30A8><U0029>"
+yesexpr "^([+1yY<UFF59><UFF39>]|<U306F><U3044>|<U30CF><U30A4>)"
+noexpr  "^([-0nN<UFF4E><UFF2E>]|<U3044><U3044><U3048>|<U30A4><U30A4><U30A8>)"
 yesstr  "<U306F><U3044>"
 nostr   "<U3044><U3044><U3048>"
 END LC_MESSAGES
diff --git a/localedata/locales/kk_KZ b/localedata/locales/kk_KZ
index 2ff25dab51..f07587c136 100644
--- a/localedata/locales/kk_KZ
+++ b/localedata/locales/kk_KZ
@@ -161,8 +161,8 @@ translit_end
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0418><U0438><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0416><U0436><U004E><U006E><U005D>"
+yesexpr "^[+1yY<U0418><U0438>]"
+noexpr  "^[-0nN<U0416><U0436><U004E>]"
 yesstr  "<U0438><U04D9>"
 nostr   "<U0436><U043E><U049B>"
 END LC_MESSAGES
diff --git a/localedata/locales/kl_GL b/localedata/locales/kl_GL
index a51e21911b..c6416fdad2 100644
--- a/localedata/locales/kl_GL
+++ b/localedata/locales/kl_GL
@@ -109,10 +109,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U004A><U006A><U0059><U0079><U0041><U0061><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U004E><U006E><U005D>"
-yesstr  "<U0061><U0061><U0070>"
-nostr   "<U006E><U0061><U0061><U0067><U0067><U0061>"
+yesexpr "^[+1JjYyAa]"
+noexpr  "^[-0Nn]"
+yesstr  "aap"
+nostr   "naagga"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/ko_KR b/localedata/locales/ko_KR
index 798f6817c4..9afc9713ce 100644
--- a/localedata/locales/ko_KR
+++ b/localedata/locales/ko_KR
@@ -6199,8 +6199,8 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><UC608><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><UC544><U005D>"
+yesexpr "^[+1yY<UC608>]"
+noexpr  "^[-0nN<UC544>]"
 nostr   "<UC544><UB2C8><UC694>"
 yesstr  "<UC608>"
 END LC_MESSAGES
diff --git a/localedata/locales/ks_IN b/localedata/locales/ks_IN
index de66d4578a..4dfb581cb2 100644
--- a/localedata/locales/ks_IN
+++ b/localedata/locales/ks_IN
@@ -144,8 +144,8 @@ END LC_TIME
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0622><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0646><U006E><U004E><U005D>"
+yesexpr "^[+1yY<U0622>]"
+noexpr  "^[-0nN<U0646>]"
 yesstr  "<U0622>"
 nostr   "<U0646><U0639>"
 END LC_MESSAGES
diff --git a/localedata/locales/ku_TR b/localedata/locales/ku_TR
index 6c889355e5..f3cd0a5c0f 100644
--- a/localedata/locales/ku_TR
+++ b/localedata/locales/ku_TR
@@ -162,10 +162,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0065><U0045><U0064><U0044><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0065><U0072><U00EA>"
-nostr   "<U006E><U00E2>"
+yesexpr "^[+1eEdDyY]"
+noexpr  "^[-0nN]"
+yesstr  "er<U00EA>"
+nostr   "n<U00E2>"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/kw_GB b/localedata/locales/kw_GB
index ae3e0ab204..c51bece9e0 100644
--- a/localedata/locales/kw_GB
+++ b/localedata/locales/kw_GB
@@ -128,10 +128,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0065><U0045><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0065><U0061>"
-nostr   "<U006E><U0061>"
+yesexpr "^[+1eEyY]"
+noexpr  "^[-0nN]"
+yesstr  "ea"
+nostr   "na"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/ky_KG b/localedata/locales/ky_KG
index 2130b7231e..06804f21d9 100644
--- a/localedata/locales/ky_KG
+++ b/localedata/locales/ky_KG
@@ -91,8 +91,8 @@ translit_end
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U041E><U043E><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0416><U0436><U004E><U006E><U005D>"
+yesexpr "^[+1yY<U041E><U043E>]"
+noexpr  "^[-0nN<U0416><U0436>]"
 yesstr  "<U043E><U043E><U0431><U0430>"
 nostr   "<U0436><U043E><U043A>"
 END LC_MESSAGES
diff --git a/localedata/locales/lb_LU b/localedata/locales/lb_LU
index e5d50e878c..4577f94ff4 100644
--- a/localedata/locales/lb_LU
+++ b/localedata/locales/lb_LU
@@ -151,10 +151,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U006A><U004A><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U006A><U006F>"
-nostr   "<U006E><U0065><U0065>"
+yesexpr "^[+1jJyY]"
+noexpr  "^[-0nN]"
+yesstr  "jo"
+nostr   "nee"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/lg_UG b/localedata/locales/lg_UG
index 6a229dbadc..8e884680f1 100644
--- a/localedata/locales/lg_UG
+++ b/localedata/locales/lg_UG
@@ -211,10 +211,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0059><U0065>"
-nostr   "<U004E><U0065><U0064><U0064><U0061>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0nN]"
+yesstr  "Ye"
+nostr   "Nedda"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/li_NL b/localedata/locales/li_NL
index 169c5e36e6..1e12842474 100644
--- a/localedata/locales/li_NL
+++ b/localedata/locales/li_NL
@@ -65,8 +65,8 @@ copy "en_DK"
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U006A><U004A><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1jJyY]"
+noexpr  "^[-0nN]"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/lij_IT b/localedata/locales/lij_IT
index 5b374849f2..f6449024cc 100644
--- a/localedata/locales/lij_IT
+++ b/localedata/locales/lij_IT
@@ -51,8 +51,8 @@ translit_end
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0073><U0053><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1sSyY]"
+noexpr  "^[-0nN]"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/ln_CD b/localedata/locales/ln_CD
index 0432a121d1..4ab0a68d6a 100644
--- a/localedata/locales/ln_CD
+++ b/localedata/locales/ln_CD
@@ -156,10 +156,10 @@ copy "i18n"
 END LC_MEASUREMENT
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U0079><U0059><U0069><U0049><U025B><U0190><U005D>"
-noexpr  "<U005E><U005B><U006E><U004E><U0074><U0054><U005D>"
-yesstr  "<U00CD><U0079><U006F>"
-nostr   "<U0054><U025B><U0302>"
+yesexpr "^[yYiI<U025B><U0190>]"
+noexpr  "^[nNtT]"
+yesstr  "<U00CD>yo"
+nostr   "T<U025B><U0302>"
 END LC_MESSAGES
 
 LC_NAME
diff --git a/localedata/locales/lo_LA b/localedata/locales/lo_LA
index a5e1f641f8..d3d8011167 100644
--- a/localedata/locales/lo_LA
+++ b/localedata/locales/lo_LA
@@ -703,8 +703,8 @@ LC_MESSAGES
 % yesstr = "men" = Sala ae + Mo + MAI EK + No
 % nostr = "Bo Men" = Letter Bo +salo Or+ MAI EK + mo+ Ma Ek+ No
 
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0EA1><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U0E9A><U005D>"
+yesexpr "^[+1yY<U0EA1>]"
+noexpr  "^[-0nN<U0E9A>]"
 yesstr  "<U0EC1><U0EA1><U0EC8><U0E99>"
 nostr   "<U0E9A><U0ECD><U0EC8><U0EC1><U0EA1><U0EC8><U0E99>"
 
diff --git a/localedata/locales/lt_LT b/localedata/locales/lt_LT
index 868ea406ab..411e49b66c 100644
--- a/localedata/locales/lt_LT
+++ b/localedata/locales/lt_LT
@@ -2197,10 +2197,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0054><U0074><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U004E><U006E><U005D>"
-yesstr  "<U0074><U0061><U0069><U0070>"
-nostr   "<U006E><U0065>"
+yesexpr "^[+1TtYy]"
+noexpr  "^[-0Nn]"
+yesstr  "taip"
+nostr   "ne"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/lv_LV b/localedata/locales/lv_LV
index 0bba78fd94..cc0bcf6c6b 100644
--- a/localedata/locales/lv_LV
+++ b/localedata/locales/lv_LV
@@ -2188,10 +2188,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U004A><U006A><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U004E><U006E><U005D>"
-yesstr  "<U006A><U0101>"
-nostr   "<U006E><U0113>"
+yesexpr "^[+1JjYy]"
+noexpr  "^[-0Nn]"
+yesstr  "j<U0101>"
+nostr   "n<U0113>"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/lzh_TW b/localedata/locales/lzh_TW
index 9529fca2dc..d43a420bfa 100644
--- a/localedata/locales/lzh_TW
+++ b/localedata/locales/lzh_TW
@@ -199,10 +199,10 @@ copy "i18n"
 END LC_MEASUREMENT
 
 LC_MESSAGES
-% ^[yY是]
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U662F><U005D>"
-% ^[nN非]
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U975E><U005D>"
+% ^[+1yY是]
+yesexpr "^[+1yY<U662F>]"
+% ^[-0nN非]
+noexpr  "^[-0nN<U975E>]"
 END LC_MESSAGES
 
 LC_NAME
diff --git a/localedata/locales/mg_MG b/localedata/locales/mg_MG
index c82fe5b1fb..8a8c07cdc9 100644
--- a/localedata/locales/mg_MG
+++ b/localedata/locales/mg_MG
@@ -64,10 +64,10 @@ copy "iso14651_t1"
 END LC_COLLATE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0065><U0045><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0074><U0054><U006E><U004E><U005D>"
-yesstr  "<U0045><U006E><U0079>"
-nostr   "<U0054><U0073><U0069><U0061>"
+yesexpr "^[+1eEyY]"
+noexpr  "^[-0tTnN]"
+yesstr  "Eny"
+nostr   "Tsia"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/mhr_RU b/localedata/locales/mhr_RU
index 012757e59d..cd88baab86 100644
--- a/localedata/locales/mhr_RU
+++ b/localedata/locales/mhr_RU
@@ -62,8 +62,8 @@ translit_end
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0422><U0442><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0423><U0443><U004E><U006E><U005D>"
+yesexpr "^[+1yY<U0422><U0442>]"
+noexpr  "^[-0nN<U0423><U0443>]"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/mi_NZ b/localedata/locales/mi_NZ
index 0e86978264..3abf6493dc 100644
--- a/localedata/locales/mi_NZ
+++ b/localedata/locales/mi_NZ
@@ -142,10 +142,10 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0101><U0100><U00E4><U00C4><U0061><U0041><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U006B><U004B><U005D>"
-yesstr  "<U0101><U0065>"
-nostr   "<U006B><U0101><U006F><U0072><U0065>"
+yesexpr "^[+1yY<U0101><U0100><U00E4><U00C4>aA]"
+noexpr  "^[-0nNkK]"
+yesstr  "<U0101>e"
+nostr   "k<U0101>ore"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/mk_MK b/localedata/locales/mk_MK
index a980bacdca..16654c2998 100644
--- a/localedata/locales/mk_MK
+++ b/localedata/locales/mk_MK
@@ -119,9 +119,8 @@ grouping                  3;3
 END LC_NUMERIC
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0414><U0434><U0044><U0064><U0059><U0079>/
-<U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U041D><U043D><U004E><U006E><U005D>"
+yesexpr "^[+1yY<U0414><U0434>dD]"
+noexpr  "^[-0nN<U041D><U043D>]"
 yesstr  "<U0434><U0430>"
 nostr   "<U043D><U0435>"
 END LC_MESSAGES
diff --git a/localedata/locales/ml_IN b/localedata/locales/ml_IN
index b175d32ff8..9fe844ad64 100644
--- a/localedata/locales/ml_IN
+++ b/localedata/locales/ml_IN
@@ -154,8 +154,8 @@ week 7;19971130;1
 END LC_TIME
 %
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0D05><U0D24><U0D46><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0D05><U0D32><U0D4D><U0D32><U006E><U004E><U005D>"
+yesexpr "^([+1yY]|<U0D05><U0D24><U0D46>)"
+noexpr  "^([-0nN]|<U0D05><U0D32><U0D4D><U0D32>)"
 yesstr  "<U0D05><U0D24><U0D46>"
 nostr   "<U0D05><U0D32><U0D4D><U0D32>"
 END LC_MESSAGES
diff --git a/localedata/locales/mn_MN b/localedata/locales/mn_MN
index 020a9416d1..91b0edff4c 100644
--- a/localedata/locales/mn_MN
+++ b/localedata/locales/mn_MN
@@ -234,8 +234,8 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0442><U0422><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U04AF><U04AE><U006E><U004E><U005D>"
+yesexpr "^[+1<U0442><U0422>yY]"
+noexpr  "^[-0<U04AF><U04AE>nN]"
 yesstr  "<U0442><U0438><U0439><U043C>"
 nostr   "<U04AF><U0433><U04AF><U0439>"
 END LC_MESSAGES
diff --git a/localedata/locales/ms_MY b/localedata/locales/ms_MY
index a60d66f71c..1fab753c44 100644
--- a/localedata/locales/ms_MY
+++ b/localedata/locales/ms_MY
@@ -152,10 +152,10 @@ END LC_TIME
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0074><U0054><U006E><U004E><U005D>"
-yesstr  "<U0079><U0061>"
-nostr   "<U0074><U0069><U0064><U0061><U006B>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0tTnN]"
+yesstr  "ya"
+nostr   "tidak"
 END LC_MESSAGES
 
 
diff --git a/localedata/locales/mt_MT b/localedata/locales/mt_MT
index 087add77a2..73f81d1512 100644
--- a/localedata/locales/mt_MT
+++ b/localedata/locales/mt_MT
@@ -242,12 +242,10 @@ END LC_TIME
 
 
 LC_MESSAGES
-yesexpr "<U005E><U0028><U0059><U0065><U0073><U007C><U005B><U002B><U0031>/
-<U0079><U0059><U005D><U0029>"
-noexpr  "<U005E><U0028><U004E><U006F><U007C><U005B><U002D><U0030><U006E>/
-<U004E><U005D><U0029>"
-yesstr  "<U0069><U0076><U0061>"
-nostr   "<U006C><U0065>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0nN]"
+yesstr  "iva"
+nostr   "le"
 END LC_MESSAGES
 
 
diff --git a/localedata/locales/my_MM b/localedata/locales/my_MM
index eb9893111b..e4c8d7bfc0 100644
--- a/localedata/locales/my_MM
+++ b/localedata/locales/my_MM
@@ -271,8 +271,8 @@ END LC_TIME
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U101F><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U1019><U005D>"
+yesexpr "^[+1yY<U101F>]"
+noexpr  "^[-0nN<U1019>]"
 yesstr  "<U101F><U102F><U1010><U103A><U1010><U101A><U103A>"
 nostr   "<U1019><U101F><U102F><U1010><U103A><U1018><U1030><U1038>"
 END LC_MESSAGES
diff --git a/localedata/locales/nan_TW b/localedata/locales/nan_TW
index d323fe0ac4..39f55ccfa1 100644
--- a/localedata/locales/nan_TW
+++ b/localedata/locales/nan_TW
@@ -165,10 +165,10 @@ copy "i18n"
 END LC_MEASUREMENT
 
 LC_MESSAGES
-% ^[yY是]
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U662F><U005D>"
-% ^[nN伓]
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U4F13><U005D>"
+% ^[+1yY是]
+yesexpr "^[+1yY<U662F>]"
+% ^[-0nN伓]
+noexpr  "^[-0nN<U4F13>]"
 END LC_MESSAGES
 
 LC_NAME
diff --git a/localedata/locales/nan_TW@latin b/localedata/locales/nan_TW@latin
index 1ba5e60b47..42136ed6f4 100644
--- a/localedata/locales/nan_TW@latin
+++ b/localedata/locales/nan_TW@latin
@@ -144,10 +144,10 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0073><U0053><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U006D><U004D><U005D>"
-yesstr  "<U0053><U012B>"
-nostr   "<U004D><U0304><U002D><U0053><U012B>"
+yesexpr "^[+1yYsS]"
+noexpr  "^[-0nNmM]"
+yesstr  "S<U012B>"
+nostr   "M<U0304>-S<U012B>"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/nb_NO b/localedata/locales/nb_NO
index fb0eca3235..2bbbe5efcc 100644
--- a/localedata/locales/nb_NO
+++ b/localedata/locales/nb_NO
@@ -233,10 +233,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U004A><U006A><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U004E><U006E><U005D>"
-yesstr  "<U006A><U0061>"
-nostr   "<U006E><U0065><U0069>"
+yesexpr "^[+1JjYy]"
+noexpr  "^[-0Nn]"
+yesstr  "ja"
+nostr   "nei"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/nds_DE b/localedata/locales/nds_DE
index 06b727f359..25220bf79a 100644
--- a/localedata/locales/nds_DE
+++ b/localedata/locales/nds_DE
@@ -64,10 +64,10 @@ copy "en_DK"
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U006A><U004A><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U006A><U006F>"
-nostr   "<U006E><U0065><U0065>"
+yesexpr "^[+1jJyY]"
+noexpr  "^[-0nN]"
+yesstr  "jo"
+nostr   "nee"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/nds_NL b/localedata/locales/nds_NL
index 5d65798895..36f4dad725 100644
--- a/localedata/locales/nds_NL
+++ b/localedata/locales/nds_NL
@@ -63,10 +63,10 @@ copy "en_DK"
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U006A><U004A><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U006A><U006F>"
-nostr   "<U006E><U0065><U0065>"
+yesexpr "^[+1jJyY]"
+noexpr  "^[-0nN]"
+yesstr  "jo"
+nostr   "nee"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/ne_NP b/localedata/locales/ne_NP
index e25171337b..0ca2ed60a1 100644
--- a/localedata/locales/ne_NP
+++ b/localedata/locales/ne_NP
@@ -139,8 +139,8 @@ END LC_TIME
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0nN]"
 yesstr  "<U0939><U094B>"
 nostr   "<U0939><U094B><U0907><U0928>"
 END LC_MESSAGES
diff --git a/localedata/locales/nhn_MX b/localedata/locales/nhn_MX
index 4122ad40e6..96d07db8dc 100644
--- a/localedata/locales/nhn_MX
+++ b/localedata/locales/nhn_MX
@@ -63,10 +63,10 @@ translit_end
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0073><U0053><U0071><U0051><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U0061><U0041><U005D>"
-yesstr  "<U0071><U0075><U0065><U006D><U0061>"
-nostr   "<U0061><U0068><U006D><U006F>"
+yesexpr "^[+1sSqQyY]"
+noexpr  "^[-0nNaA]"
+yesstr  "quema"
+nostr   "ahmo"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/niu_NU b/localedata/locales/niu_NU
index d9be018d85..cc4758943d 100644
--- a/localedata/locales/niu_NU
+++ b/localedata/locales/niu_NU
@@ -159,10 +159,10 @@ copy "en_NZ"
 END LC_MEASUREMENT
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0113><U0112><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0054><U0061><U006C><U0069><U0061>"
-nostr   "<U004E><U0061><U006B><U0061><U0069>"
+yesexpr "^[+1yY<U0113><U0112>]"
+noexpr  "^[-0nN]"
+yesstr  "Talia"
+nostr   "Nakai"
 END LC_MESSAGES
 
 LC_NAME
diff --git a/localedata/locales/nl_NL b/localedata/locales/nl_NL
index 5aa2ffbbef..c9f0924c43 100644
--- a/localedata/locales/nl_NL
+++ b/localedata/locales/nl_NL
@@ -64,10 +64,10 @@ copy "iso14651_t1"
 END LC_COLLATE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U006A><U004A><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U006A><U0061>"
-nostr   "<U006E><U0065><U0065>"
+yesexpr "^[+1jJyY]"
+noexpr  "^[-0nN]"
+yesstr  "ja"
+nostr   "nee"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/nn_NO b/localedata/locales/nn_NO
index 2ad3e09cde..7af2b42891 100644
--- a/localedata/locales/nn_NO
+++ b/localedata/locales/nn_NO
@@ -142,10 +142,10 @@ END LC_TIME
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U004A><U006A><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U004E><U006E><U005D>"
-yesstr  "<U006A><U0061>"
-nostr   "<U006E><U0065><U0069>"
+yesexpr "^[+1JjYy]"
+noexpr  "^[-0Nn]"
+yesstr  "ja"
+nostr   "nei"
 END LC_MESSAGES
 
 
diff --git a/localedata/locales/nr_ZA b/localedata/locales/nr_ZA
index 34e24d7fa9..1826ecfcf1 100644
--- a/localedata/locales/nr_ZA
+++ b/localedata/locales/nr_ZA
@@ -170,8 +170,8 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0nN]"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/nso_ZA b/localedata/locales/nso_ZA
index 6b0f2e1232..3a958d7738 100644
--- a/localedata/locales/nso_ZA
+++ b/localedata/locales/nso_ZA
@@ -149,8 +149,8 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0065><U0045><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U0061><U0041><U005D>"
+yesexpr "^[+1yYeE]"
+noexpr  "^[-0nNaA]"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/oc_FR b/localedata/locales/oc_FR
index a28dec8226..546173fe16 100644
--- a/localedata/locales/oc_FR
+++ b/localedata/locales/oc_FR
@@ -68,8 +68,8 @@ copy "en_DK"
 END LC_COLLATE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U006F><U004F><U0073><U0053><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1oOsSyY]"
+noexpr  "^[-0nN]"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/om_ET b/localedata/locales/om_ET
index 42c4a2a5ba..1c8ed6e51c 100644
--- a/localedata/locales/om_ET
+++ b/localedata/locales/om_ET
@@ -107,12 +107,10 @@ END LC_TELEPHONE
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0065><U0045><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006D><U004D><U006E><U004E><U005D>"
-% eeyyee
-yesstr  "<U0065><U0065><U0079><U0079><U0065><U0065>"
-% miti
-nostr   "<U006D><U0069><U0074><U0069>"
+yesexpr "^[+1eEyY]"
+noexpr  "^[-0mMnN]"
+yesstr  "eeyyee"
+nostr   "miti"
 END LC_MESSAGES
 
 
diff --git a/localedata/locales/or_IN b/localedata/locales/or_IN
index 2d9a3b3e20..c4a0140be0 100644
--- a/localedata/locales/or_IN
+++ b/localedata/locales/or_IN
@@ -771,9 +771,8 @@ END LC_TIME
 
 %%%%%%%%%%%%%
 LC_MESSAGES
-% FIXME These need support for the translated words
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1yY<U0B39>]"
+noexpr  "^[-0nN<U0B28>]"
 yesstr  "<U0B39><U0B01>"
 nostr   "<U0B28><U0B3E>"
 END LC_MESSAGES
diff --git a/localedata/locales/os_RU b/localedata/locales/os_RU
index 72b78a5fee..288564b8a6 100644
--- a/localedata/locales/os_RU
+++ b/localedata/locales/os_RU
@@ -74,8 +74,8 @@ translit_end
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0423><U0434><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0443><U043D><U004E><U006E><U005D>"
+yesexpr "^[+1yY<U0423><U0434>]"
+noexpr  "^[-0nN<U0443><U043D>]"
 yesstr  "<U0443><U043E><U0439><U044B>"
 nostr   "<U043D><U04D5><U0439><U044B>"
 END LC_MESSAGES
diff --git a/localedata/locales/pa_IN b/localedata/locales/pa_IN
index b371ae4e7d..0099a9df14 100644
--- a/localedata/locales/pa_IN
+++ b/localedata/locales/pa_IN
@@ -163,8 +163,8 @@ END LC_TIME
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1yY<U0A39>]"
+noexpr  "^[-0nN<U0A28>]"
 yesstr  "<U0A39><U0A3E><U0A02>"
 nostr   "<U0A28><U0A39><U0A40><U0A02>"
 END LC_MESSAGES
diff --git a/localedata/locales/pa_PK b/localedata/locales/pa_PK
index 609ca9baa5..929db554b8 100644
--- a/localedata/locales/pa_PK
+++ b/localedata/locales/pa_PK
@@ -147,10 +147,10 @@ LC_MESSAGES
 % would define cancel appropriately
 % <U0647> = <U0647><U0627><U06BA> , the last tag is for noon-ghunna!
 % <U0628> = <U0628><U0644><U0643><U0644>
-% again <U0066> and <U006F> are place holders
+% again f and o are place holders
 % <U0646> = <U0646><U0647><U064A><U06BA>
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0647><U0628><U0066><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U0646><U006F><U005D>"
+yesexpr "^[+1yY<U0647><U0628>f]"
+noexpr  "^[-0nN<U0646>o]"
 yesstr  "<U0628><U0644><U0643><U0644>"
 nostr   "<U0646><U0647><U064A><U06BA>"
 END LC_MESSAGES
diff --git a/localedata/locales/pap_AW b/localedata/locales/pap_AW
index e3fe56a63d..c8fbee960a 100644
--- a/localedata/locales/pap_AW
+++ b/localedata/locales/pap_AW
@@ -74,10 +74,10 @@ copy "en_DK"
 END LC_COLLATE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0073><U0053><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0073><U00ED>"
-nostr   "<U006E><U00F2>"
+yesexpr "^[+1sSyY]"
+noexpr  "^[-0nN]"
+yesstr  "s<U00ED>"
+nostr   "n<U00F2>"
 END LC_MESSAGES
 
 
diff --git a/localedata/locales/pap_CW b/localedata/locales/pap_CW
index b7ed091386..c87828d9fe 100644
--- a/localedata/locales/pap_CW
+++ b/localedata/locales/pap_CW
@@ -73,10 +73,10 @@ copy "en_DK"
 END LC_COLLATE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0073><U0053><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0073><U00ED>"
-nostr   "<U006E><U00F2>"
+yesexpr "^[+1sSyY]"
+noexpr  "^[-0nN]"
+yesstr  "s<U00ED>"
+nostr   "n<U00F2>"
 END LC_MESSAGES
 
 
diff --git a/localedata/locales/pl_PL b/localedata/locales/pl_PL
index e26811339c..9ebd9f7997 100644
--- a/localedata/locales/pl_PL
+++ b/localedata/locales/pl_PL
@@ -2124,10 +2124,10 @@ translit_end
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0054><U0074><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0074><U0061><U006B>"
-nostr   "<U006E><U0069><U0065>"
+yesexpr "^[+1TtYy]"
+noexpr  "^[-0nN]"
+yesstr  "tak"
+nostr   "nie"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/ps_AF b/localedata/locales/ps_AF
index 4064b65792..7212617d87 100644
--- a/localedata/locales/ps_AF
+++ b/localedata/locales/ps_AF
@@ -229,8 +229,8 @@ n_sign_posn	1
 END LC_MONETARY
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0628><U0066><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U062E><U0646><U006F><U005D>"
+yesexpr "^[+1yY<U0628>f]"
+noexpr  "^[-0nN<U062E><U0646>o]"
 yesstr "<U0647><U0648>"
 nostr "<U0646><U0647>"
 END LC_MESSAGES
diff --git a/localedata/locales/pt_BR b/localedata/locales/pt_BR
index cd86df25de..12888bd02d 100644
--- a/localedata/locales/pt_BR
+++ b/localedata/locales/pt_BR
@@ -54,10 +54,10 @@ copy "iso14651_t1"
 END LC_COLLATE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0053><U0073><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0073><U0069><U006D>"
-nostr   "<U006E><U00E3><U006F>"
+yesexpr "^[+1SsyY]"
+noexpr  "^[-0nN]"
+yesstr  "sim"
+nostr   "n<U00E3>o"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/quz_PE b/localedata/locales/quz_PE
index e4ad076eb6..c5537dcb53 100644
--- a/localedata/locales/quz_PE
+++ b/localedata/locales/quz_PE
@@ -138,10 +138,10 @@ copy "es_PE"
 END LC_MEASUREMENT
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0061><U0041><U0073><U0053><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006D><U004D><U006E><U004E><U005D>"
-yesstr  "<U0041><U0072><U00ED>"
-nostr   "<U004D><U0061><U006E><U0061><U006E>"
+yesexpr "^[+1aAsSyY]"
+noexpr  "^[-0mMnN]"
+yesstr  "Ar<U00ED>"
+nostr   "Manan"
 END LC_MESSAGES
 
 LC_NAME
diff --git a/localedata/locales/raj_IN b/localedata/locales/raj_IN
index 554e8edfb3..704a945cc4 100644
--- a/localedata/locales/raj_IN
+++ b/localedata/locales/raj_IN
@@ -145,8 +145,8 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0nN]"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/ro_RO b/localedata/locales/ro_RO
index 4a68700bbe..7beec56b7d 100644
--- a/localedata/locales/ro_RO
+++ b/localedata/locales/ro_RO
@@ -149,10 +149,10 @@ END LC_CTYPE
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0044><U0064><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0064><U0061>"
-nostr   "<U006E><U0075>"
+yesexpr "^[+1DdYy]"
+noexpr  "^[-0nN]"
+yesstr  "da"
+nostr   "nu"
 END LC_MESSAGES
 
 
diff --git a/localedata/locales/ru_RU b/localedata/locales/ru_RU
index c3a3df4fb0..01dc70d925 100644
--- a/localedata/locales/ru_RU
+++ b/localedata/locales/ru_RU
@@ -77,8 +77,8 @@ translit_end
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0414><U0434><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U041D><U043D><U004E><U006E><U005D>"
+yesexpr "^[+1yY<U0414><U0434>]"
+noexpr  "^[-0nN<U041D><U043D>]"
 yesstr  "<U0434><U0430>"
 nostr   "<U043D><U0435><U0442>"
 END LC_MESSAGES
diff --git a/localedata/locales/ru_UA b/localedata/locales/ru_UA
index 3a2163ffd4..74ed327c7b 100644
--- a/localedata/locales/ru_UA
+++ b/localedata/locales/ru_UA
@@ -69,10 +69,7 @@ reorder-end
 END LC_COLLATE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0414><U0434><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U041D><U043D><U004E><U006E><U005D>"
-yesstr  "<U0434><U0430>"
-nostr   "<U043D><U0435><U0442>"
+copy "ru_RU"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/rw_RW b/localedata/locales/rw_RW
index 8d982d7317..dc901474d6 100644
--- a/localedata/locales/rw_RW
+++ b/localedata/locales/rw_RW
@@ -118,8 +118,8 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U006F><U004F><U005D>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0nNoO]"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/sa_IN b/localedata/locales/sa_IN
index 7ca0317989..f62f1001ac 100644
--- a/localedata/locales/sa_IN
+++ b/localedata/locales/sa_IN
@@ -172,8 +172,8 @@ END LC_TIME
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0061><U0041><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1aAyY<U0906>]"
+noexpr  "^[-0nN<U0928>]"
 yesstr  "<U0906><U092E><U094D>"
 nostr	"<U0928>"
 END LC_MESSAGES
diff --git a/localedata/locales/sc_IT b/localedata/locales/sc_IT
index d16892f897..7576e30abe 100644
--- a/localedata/locales/sc_IT
+++ b/localedata/locales/sc_IT
@@ -64,12 +64,10 @@ reorder-end
 END LC_COLLATE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0065><U0045><U0061><U0041><U0073><U0053><U006F><U004F><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-% Yes -> eja
-yesstr  "<U0065><U006A><U0061>"
-% No -> nono
-nostr   "<U006E><U006F><U006E><U006F>"
+yesexpr "^[+1eEaAsSoOyY]"
+noexpr  "^[-0nN]"
+yesstr  "eja"
+nostr   "nono"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/sd_IN@devanagari b/localedata/locales/sd_IN@devanagari
index a180d983db..90ba044f92 100644
--- a/localedata/locales/sd_IN@devanagari
+++ b/localedata/locales/sd_IN@devanagari
@@ -141,8 +141,8 @@ END LC_TIME
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0nN]"
 END LC_MESSAGES
 
 
diff --git a/localedata/locales/se_NO b/localedata/locales/se_NO
index afd5988813..4825388eea 100644
--- a/localedata/locales/se_NO
+++ b/localedata/locales/se_NO
@@ -284,10 +284,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U004A><U006A><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0049><U0069><U004E><U006E><U005D>"
-yesstr  "<U006A><U006F>"
-nostr   "<U0069><U0069>"
+yesexpr "^[+1JjYy]"
+noexpr  "^[-0IiNn]"
+yesstr  "jo"
+nostr   "ii"
 END LC_MESSAGES
 
 
diff --git a/localedata/locales/sgs_LT b/localedata/locales/sgs_LT
index 39ac0d8d9b..f2f59a6cc1 100644
--- a/localedata/locales/sgs_LT
+++ b/localedata/locales/sgs_LT
@@ -112,10 +112,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0054><U0074><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U004E><U006E><U005D>"
-yesstr  "<U0074><U01E1><U0070>"
-nostr   "<U006E><U0113>"
+yesexpr "^[+1TtYy]"
+noexpr  "^[-0Nn]"
+yesstr  "t<U01E1>p"
+nostr   "n<U0113>"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/si_LK b/localedata/locales/si_LK
index 4348b8408e..8ce41a6af8 100644
--- a/localedata/locales/si_LK
+++ b/localedata/locales/si_LK
@@ -162,8 +162,8 @@ END LC_TIME
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0D94><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0DB1><U004E><U006E><U005D>"
+yesexpr "^[+1yY<U0D94>]"
+noexpr  "^[-0nN<U0DB1>]"
 yesstr  "<U0D94><U0DC0><U0DCA>"
 nostr   "<U0DB1><U0DD0><U0DAD>"
 END LC_MESSAGES
diff --git a/localedata/locales/sk_SK b/localedata/locales/sk_SK
index cf0126b5fd..e0921186d4 100644
--- a/localedata/locales/sk_SK
+++ b/localedata/locales/sk_SK
@@ -77,10 +77,10 @@ copy "cs_CZ"
 END LC_COLLATE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0061><U0041><U00E1><U00C1><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U00E1><U006E><U006F>"
-nostr   "<U006E><U0069><U0065>"
+yesexpr "^[+1aA<U00E1><U00C1>yY]"
+noexpr  "^[-0nN]"
+yesstr  "<U00E1>no"
+nostr   "nie"
 END LC_MESSAGES
 
 %% LC_MONETARY -- peniaze
diff --git a/localedata/locales/sl_SI b/localedata/locales/sl_SI
index 8ef1b77e88..ecf9a37c1f 100644
--- a/localedata/locales/sl_SI
+++ b/localedata/locales/sl_SI
@@ -2124,10 +2124,10 @@ translit_end
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0059><U0079><U004A><U006A><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U004E><U006E><U005D>"
-yesstr  "<U0064><U0061>"
-nostr   "<U006E><U0065>"
+yesexpr "^[+1YyJj]"
+noexpr  "^[-0Nn]"
+yesstr  "da"
+nostr   "ne"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/sm_WS b/localedata/locales/sm_WS
index 957eea89bb..f7973a17ec 100644
--- a/localedata/locales/sm_WS
+++ b/localedata/locales/sm_WS
@@ -159,17 +159,11 @@ copy "i18n"
 END LC_MEASUREMENT
 
 LC_MESSAGES
-% ^[yY].*
-yesexpr "<U005E><U005B><U002B><U0031><U0069><U0049><U0079><U0059><U005D>/
-<U002E><U002A>"
-% ^[nN].*
-noexpr  "<U005E><U005B><U002D><U0030><U006C><U004C><U006E><U004E><U005D>/
-<U002E><U002A>"
+yesexpr "^[+1iIyY]"
+noexpr  "^[-0lLnN]"
 % https://glosbe.com/en/sm/no
-% ioe
-yesstr "<U0069><U006F><U0065>"
-% leai
-nostr "<U006C><U0065><U0061><U0069>"
+yesstr "ioe"
+nostr "leai"
 END LC_MESSAGES
 
 LC_NAME
diff --git a/localedata/locales/so_DJ b/localedata/locales/so_DJ
index c00eb923cf..b7c25ed787 100644
--- a/localedata/locales/so_DJ
+++ b/localedata/locales/so_DJ
@@ -134,10 +134,10 @@ END LC_ADDRESS
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U006F><U004F><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0068><U0061><U0061>"
-nostr   "<U006D><U0061><U0079><U0061>"
+yesexpr "^[+1oOyY]"
+noexpr  "^[-0nN]"
+yesstr  "haa"
+nostr   "maya"
 END LC_MESSAGES
 
 
diff --git a/localedata/locales/sq_AL b/localedata/locales/sq_AL
index 1817e9692a..cc42409626 100644
--- a/localedata/locales/sq_AL
+++ b/localedata/locales/sq_AL
@@ -299,10 +299,10 @@ END LC_TIME
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0070><U0050><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U006A><U004A><U005D>"
-yesstr  "<U0070><U006F>"
-nostr   "<U006A><U006F>"
+yesexpr "^[+1yYpP]"
+noexpr  "^[-0nNjJ]"
+yesstr  "po"
+nostr   "jo"
 END LC_MESSAGES
 
 
diff --git a/localedata/locales/sr_RS b/localedata/locales/sr_RS
index c0d008b905..6cbd5dfcbc 100644
--- a/localedata/locales/sr_RS
+++ b/localedata/locales/sr_RS
@@ -306,8 +306,8 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0414><U0434><U0044><U0064><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U041D><U043D><U004E><U006E><U005D>"
+yesexpr "^[+1yYdD<U0414><U0434>]"
+noexpr  "^[-0nN<U041D><U043D>]"
 yesstr  "<U0434><U0430>"
 nostr   "<U043D><U0435>"
 END LC_MESSAGES
diff --git a/localedata/locales/sr_RS@latin b/localedata/locales/sr_RS@latin
index ec5adf4b49..9a7134d2b1 100644
--- a/localedata/locales/sr_RS@latin
+++ b/localedata/locales/sr_RS@latin
@@ -126,10 +126,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0064><U0044><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U0064><U0061>"
-nostr   "<U006E><U0065>"
+yesexpr "^[+1dDyY]"
+noexpr  "^[-0nN]"
+yesstr  "da"
+nostr   "ne"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/ss_ZA b/localedata/locales/ss_ZA
index c5e77ddd4f..22a24093ed 100644
--- a/localedata/locales/ss_ZA
+++ b/localedata/locales/ss_ZA
@@ -175,8 +175,8 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U0061><U0041><U005D>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0nNaA]"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/st_ZA b/localedata/locales/st_ZA
index d97cdae175..80c04fbe46 100644
--- a/localedata/locales/st_ZA
+++ b/localedata/locales/st_ZA
@@ -172,8 +172,8 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0nN]"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/sv_SE b/localedata/locales/sv_SE
index 0ec08eb1f6..e3ce8be0c5 100644
--- a/localedata/locales/sv_SE
+++ b/localedata/locales/sv_SE
@@ -205,10 +205,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U006A><U004A><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U006A><U0061>"
-nostr   "<U006E><U0065><U006A>"
+yesexpr "^[+1jJyY]"
+noexpr  "^[-0nN]"
+yesstr  "ja"
+nostr   "nej"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/sw_KE b/localedata/locales/sw_KE
index 72137f0dc9..cf1826ce21 100644
--- a/localedata/locales/sw_KE
+++ b/localedata/locales/sw_KE
@@ -125,10 +125,10 @@ copy "om_KE"
 END LC_MEASUREMENT
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U006E><U004E><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0068><U0048><U006C><U004C><U005D>"
-yesstr  "<U004E><U0064><U0069><U0079><U006F>"
-nostr   "<U0048><U0061><U0070><U0061><U006E><U0061>"
+yesexpr "^[+1nNyY]"
+noexpr  "^[-0hHlL]"
+yesstr  "Ndiyo"
+nostr   "Hapana"
 END LC_MESSAGES
 
 LC_NAME
diff --git a/localedata/locales/szl_PL b/localedata/locales/szl_PL
index 891ef41b0d..4bab8bbaae 100644
--- a/localedata/locales/szl_PL
+++ b/localedata/locales/szl_PL
@@ -132,8 +132,8 @@ reorder-end
 END LC_COLLATE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U004A><U006A><U0054><U0074><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1JjTtYy]"
+noexpr  "^[-0nN]"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/tcy_IN b/localedata/locales/tcy_IN
index 01d66fff10..1d8d266846 100644
--- a/localedata/locales/tcy_IN
+++ b/localedata/locales/tcy_IN
@@ -147,8 +147,8 @@ END LC_TIME
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0nN]"
 END LC_MESSAGES
 
 
diff --git a/localedata/locales/tg_TJ b/localedata/locales/tg_TJ
index f32b01b4d9..4405dd2ab1 100644
--- a/localedata/locales/tg_TJ
+++ b/localedata/locales/tg_TJ
@@ -126,8 +126,8 @@ reorder-end
 END LC_COLLATE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U04B2><U04B3><U0425><U0445><U0414><U0434><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U041D><U043D><U004E><U006E><U005D>"
+yesexpr "^[+1yY<U04B2><U04B3><U0425><U0445><U0414><U0434>]"
+noexpr  "^[-0nN<U041D><U043D>]"
 yesstr  "<U0434><U0430>"
 nostr   "<U043D><U0435><U0442>"
 END LC_MESSAGES
diff --git a/localedata/locales/th_TH b/localedata/locales/th_TH
index aac7a20247..59b68efd46 100644
--- a/localedata/locales/th_TH
+++ b/localedata/locales/th_TH
@@ -902,8 +902,8 @@ LC_MESSAGES
 % yesstr = "Chai2" = MAIMUAN + CHO CHANG + MAI EK
 % nostr = "Mai2Chai2" = MAIMALAI + MO MA + MAI EK + MAIMUAN + CHO CHANG + MAI EK
 
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0E0A><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U0E21><U005D>"
+yesexpr "^[+1yY<U0E0A>]"
+noexpr  "^[-0nN<U0E21>]"
 yesstr  "<U0E43><U0E0A><U0E48>"
 nostr   "<U0E44><U0E21><U0E48><U0E43><U0E0A><U0E48>"
 
diff --git a/localedata/locales/the_NP b/localedata/locales/the_NP
index f1d617a5ef..c1a830fd3f 100644
--- a/localedata/locales/the_NP
+++ b/localedata/locales/the_NP
@@ -140,8 +140,8 @@ END LC_TIME
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0nN]"
 END LC_MESSAGES
 
 
diff --git a/localedata/locales/ti_ER b/localedata/locales/ti_ER
index b4abde3020..562028fae5 100644
--- a/localedata/locales/ti_ER
+++ b/localedata/locales/ti_ER
@@ -156,8 +156,8 @@ END LC_ADDRESS
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U12A5><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U1290><U006E><U004E><U005D>"
+yesexpr "^[+1yY<U12A5>]"
+noexpr  "^[-0nN<U1290>]"
 yesstr  "<U12A5><U12C8>"
 nostr   "<U1290><U1296><U12A5>"
 END LC_MESSAGES
diff --git a/localedata/locales/tk_TM b/localedata/locales/tk_TM
index ed561c714c..912cd1eefb 100644
--- a/localedata/locales/tk_TM
+++ b/localedata/locales/tk_TM
@@ -399,10 +399,10 @@ LC_MESSAGES
 % (used for "yes" in English, but corresponding to "no" in Turkmen (well,
 %  ý actually)
 %%%%%%%%
-yesexpr "<U005E><U005B><U002B><U0031><U0068><U0048><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U00FD><U00DD><U006E><U004E><U005D>"
-yesstr  "<U0068><U0061><U0077><U0061>"
-nostr   "<U00FD><U006F><U006B>"
+yesexpr "^[+1hH]"
+noexpr  "^[-0nN<U00FD><U00DD>]"
+yesstr  "hawa"
+nostr   "<U00FD>ok"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/tn_ZA b/localedata/locales/tn_ZA
index 57bba64d0c..c07d7e36f0 100644
--- a/localedata/locales/tn_ZA
+++ b/localedata/locales/tn_ZA
@@ -177,8 +177,8 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0065><U0045><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1yYeE]"
+noexpr  "^[-0nN]"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/to_TO b/localedata/locales/to_TO
index bddf191cdc..4382ee29f8 100644
--- a/localedata/locales/to_TO
+++ b/localedata/locales/to_TO
@@ -158,14 +158,10 @@ END LC_MEASUREMENT
 
 LC_MESSAGES
 % https://www.tripadvisor.com/Travel-g294141-s604/Tonga:Important.Phrases.html
-% ^[+1yY]
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-% ^[-0nN]
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-% Yes -> ʻIo
-yesstr  "<U02BB><U0049><U006F>"
-% NO -> ʻIkai
-nostr   "<U02BB><U0049><U006B><U0061><U0069>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0nN]"
+yesstr  "<U02BB>Io"
+nostr   "<U02BB>Ikai"
 END LC_MESSAGES
 
 
diff --git a/localedata/locales/tr_TR b/localedata/locales/tr_TR
index b6f5227ae2..5925a93880 100644
--- a/localedata/locales/tr_TR
+++ b/localedata/locales/tr_TR
@@ -4433,10 +4433,10 @@ translit_end
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0065><U0045><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U0068><U0048><U005D>"
-yesstr  "<U0065><U0076><U0065><U0074>"
-nostr   "<U0068><U0061><U0079><U0131><U0072>"
+yesexpr "^[+1yYeE]"
+noexpr  "^[-0nNhH]"
+yesstr  "evet"
+nostr   "hay<U0131>r"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/ts_ZA b/localedata/locales/ts_ZA
index dea2da5628..9740f7bc22 100644
--- a/localedata/locales/ts_ZA
+++ b/localedata/locales/ts_ZA
@@ -173,12 +173,10 @@ END LC_TIME
 
 LC_MESSAGES
 % http://www.xitsonga.org/dictionary/english?-=n
-% Yes -> Ina
-% No  -> Ee
-yesexpr "<U005E><U005B><U002B><U0031><U0069><U0049><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0065><U0045><U006E><U004E><U005D>"
-yesstr  "<U0049><U006E><U0061>"
-nostr   "<U0045><U0065>"
+yesexpr "^[+1iIyY]"
+noexpr  "^[-0eEnN]"
+yesstr  "Ina"
+nostr   "Ee"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/tt_RU b/localedata/locales/tt_RU
index 343074caef..8b9e36988e 100644
--- a/localedata/locales/tt_RU
+++ b/localedata/locales/tt_RU
@@ -227,8 +227,8 @@ reorder-end
 END LC_COLLATE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0414><U0434><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U041D><U043D><U004E><U006E><U005D>"
+yesexpr "^[+1yY<U0414><U0434>]"
+noexpr  "^[-0nN<U041D><U043D>]"
 yesstr  "<U04D8><U0439><U0435>"
 nostr   "<U042E><U043A>"
 END LC_MESSAGES
diff --git a/localedata/locales/tt_RU@iqtelif b/localedata/locales/tt_RU@iqtelif
index 4d41ac436a..b47dc60d3d 100644
--- a/localedata/locales/tt_RU@iqtelif
+++ b/localedata/locales/tt_RU@iqtelif
@@ -76,10 +76,10 @@ END LC_CTYPE
 
 LC_MESSAGES
 % TODO: No is "yuq"; is it OK that it corresponds with English "yes"?
-yesexpr "<U005E><U005B><U002B><U0031><U0045><U0065><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0059><U0079><U004E><U006E><U005D>"
-yesstr  "<U0065><U0079><U00ED>"
-nostr   "<U0079><U0075><U0071>"
+yesexpr "^[+1Ee]"
+noexpr  "^[-0YyNn]"
+yesstr  "ey<U00ED>"
+nostr   "yuq"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/uk_UA b/localedata/locales/uk_UA
index 52f57a3abb..6f770ec11b 100644
--- a/localedata/locales/uk_UA
+++ b/localedata/locales/uk_UA
@@ -542,36 +542,32 @@ END LC_COLLATE
 
 
 LC_MESSAGES
-
-
-% WARNING: symbols "<U0059>" and "<U0043><U0079><U0072><U0069><U006C><U006C><U0069><U0063><U005F><U004E>" are placed at one key in Ukrainian keyboard
-% layout although the meaning is semantically opposite ("<U0059>" stands for "<U0059><U0065><U0073>"
-% while "<U0043><U0079><U0072><U0069><U006C><U006C><U0069><U0063><U005F><U004E>" stands for "<U004E><U006F>").
+% WARNING: symbols "Y" and "Cyrillic_N" are placed at one key in Ukrainian keyboard
+% layout although the meaning is semantically opposite ("Y" stands for "Yes"
+% while "Cyrillic_N" stands for "No").
 %
 % This problem may be dealt with by requiring at least two letters to be
 % entered in Ukrainian language.
 
 % A regular expression that describes possible yes-responses
-% "<U0079>", "<U0059>", "<U002B>", "<U0074><U0061>" or "<U0074><U0061><U006B>" in Cyrillic
-yesexpr "<U005E><U0028><U005B><U002B><U0031><U0059><U0079><U005D><U007C><U005B><U0422><U0442><U005D><U005B><U0410><U0430><U005D><U005B><U041A><U043A><U005D><U003F><U0029><U0024>"
+% "y", "Y", "+", "ta" or "tak" in Cyrillic
+yesexpr "^([+1Yy]|[<U0422><U0442>][<U0410><U0430>][<U041A><U043A>]?)$"
 
-% WARNING: symbols "<U004E>" and "<U0043><U0079><U0072><U0069><U006C><U006C><U0069><U0063><U005F><U0054>" are placed at one key in Ukrainian
-% keyboard layout although the meaning is semantically opposite ("<U004E>" stands for
-% "<U004E><U006F>" while "<U0043><U0079><U0072><U0069><U006C><U006C><U0069><U0063><U005F><U0054>" stands for "<U0059><U0065><U0073>").
+% WARNING: symbols "N" and "Cyrillic_T" are placed at one key in Ukrainian
+% keyboard layout although the meaning is semantically opposite ("N" stands for
+% "No" while "Cyrillic_T" stands for "Yes").
 %
 % We may require two Ukrainian letters as input to deal with this potential
 % problem.
 
 % A regular expression that describes possible no-responses.
-% "<U006E>", "<U004E>", "<U002D>" or word "<U006E><U0069>" in Cyrillic
-noexpr  "<U005E><U0028><U005B><U002D><U0030><U004E><U006E><U005D><U007C><U005B><U041D><U043D><U005D><U005B><U0406><U0456><U005D><U0029><U0024>"
-% "<U006E>" "<U004E>" "<U002D>" or word "<U006E><U0069>" in Cyrillic
-
+% "n", "N", "-" or word "ni" in Cyrillic
+noexpr  "^([-0Nn]|[<U041D><U043D>][<U0406><U0456>])$"
 
-% Output string for ``yes'' ("<U0074><U0061><U006B>").
+% Output string for ``yes'' ("tak").
 yesstr "<U0442><U0430><U043A>"
 
-% Output string for ``no'' ("<U006E><U0069>").
+% Output string for ``no'' ("ni").
 nostr "<U043D><U0456>"
 
 END LC_MESSAGES
diff --git a/localedata/locales/unm_US b/localedata/locales/unm_US
index 59f24f7e37..c2c9fd9add 100644
--- a/localedata/locales/unm_US
+++ b/localedata/locales/unm_US
@@ -123,8 +123,8 @@ n_sign_posn             1
 END LC_MONETARY
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006B><U004B><U006D><U004D><U005D>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0kKmM]"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/ur_IN b/localedata/locales/ur_IN
index ae775d4ca3..a3ff0c399a 100644
--- a/localedata/locales/ur_IN
+++ b/localedata/locales/ur_IN
@@ -144,8 +144,8 @@ END LC_TIME
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U06C1><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0646><U006E><U004E><U005D>"
+yesexpr "^[+1yY<U06C1>]"
+noexpr  "^[-0nN<U0646>]"
 yesstr  "<U06C1><U0627><U06BA>"
 nostr   "<U0646><U06C1><U06CC><U06BA>"
 END LC_MESSAGES
diff --git a/localedata/locales/ur_PK b/localedata/locales/ur_PK
index e7361bd2b1..ae60b6017a 100644
--- a/localedata/locales/ur_PK
+++ b/localedata/locales/ur_PK
@@ -164,10 +164,10 @@ LC_MESSAGES
 % would define cancel appropriately
 % <U0647> = <U0647><U0627><U06BA> , the last tag is for noon-ghunna!
 % <U0628> = <U0628><U0644><U0643><U0644>
-% again <U0066> and <U006F> are place holders
+% again "f" and "o" are place holders
 % <U0646> = <U0646><U0647><U064A><U06BA>
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0647><U0628><U0066><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U0646><U006F><U005D>"
+yesexpr "^[+1yY<U0647><U0628>f]"
+noexpr  "^[-0nN<U0646>o]"
 yesstr  "<U06C1><U0627><U06BA>"
 nostr   "<U0646><U06C1><U06CC><U06BA>"
 END LC_MESSAGES
diff --git a/localedata/locales/uz_UZ b/localedata/locales/uz_UZ
index 722d420a9b..0d869a2e70 100644
--- a/localedata/locales/uz_UZ
+++ b/localedata/locales/uz_UZ
@@ -274,11 +274,10 @@ END LC_TIME
 LC_MESSAGES
 % Note: "No" is "yo‘q" which conflicts with English "yes".
 % This is why "jo‘q" & "jJ" is also accepted as "no".
-yesexpr "<U005E><U005B><U002B><U0031><U04B2><U04B3><U0048><U0068><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0419><U0439><U004E><U006E><U0059>/
-<U0079><U004A><U006A><U005D>"
-yesstr  "<U0068><U0061>"
-nostr   "<U0079><U006F><U2018><U0071>"
+yesexpr "^[+1hH<U04B2><U04B3>]"
+noexpr  "^[-0nNyYjJ<U0419><U0439>]"
+yesstr  "ha"
+nostr   "yo<U2018>q"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/uz_UZ@cyrillic b/localedata/locales/uz_UZ@cyrillic
index 2eba1ac225..98a4ba8b0c 100644
--- a/localedata/locales/uz_UZ@cyrillic
+++ b/localedata/locales/uz_UZ@cyrillic
@@ -273,9 +273,8 @@ END LC_TIME
 LC_MESSAGES
 % Note: "No" is "yo‘q" which conflicts with English "yes".
 % This is why "jo‘q" & "jJ" is also accepted as "no".
-yesexpr "<U005E><U005B><U002B><U0031><U04B2><U04B3><U0048><U0068><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0419><U0439><U004E><U006E><U0059>/
-<U0079><U004A><U006A><U005D>"
+yesexpr "^[+1hH<U04B2><U04B3>]"
+noexpr  "^[-0nNyYjJ<U0419><U0439>]"
 yesstr  "<U04B3><U0430>"
 nostr   "<U0439><U045E><U049B>"
 END LC_MESSAGES
diff --git a/localedata/locales/ve_ZA b/localedata/locales/ve_ZA
index 0badd42257..2125987754 100644
--- a/localedata/locales/ve_ZA
+++ b/localedata/locales/ve_ZA
@@ -158,8 +158,8 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0065><U0045><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U0068><U0048><U005D>"
+yesexpr "^[+1yYeE]"
+noexpr  "^[-0nNhH]"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/vi_VN b/localedata/locales/vi_VN
index 2e75f61800..43678cd7f3 100644
--- a/localedata/locales/vi_VN
+++ b/localedata/locales/vi_VN
@@ -301,10 +301,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0063><U0043><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U006B><U004B><U005D>"
-yesstr  "<U0043><U00F3>"
-nostr   "<U004B><U0068><U00F4><U006E><U0067>"
+yesexpr "^[+1yYcC]"
+noexpr  "^[-0nNkK]"
+yesstr  "C<U00F3>"
+nostr   "Kh<U00F4>ng"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/wa_BE b/localedata/locales/wa_BE
index abebdd28a4..9c09dcbd82 100644
--- a/localedata/locales/wa_BE
+++ b/localedata/locales/wa_BE
@@ -75,10 +75,10 @@ copy "fr_BE"
 END LC_COLLATE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U006F><U004F><U0079><U0059><U0061><U0041><U0077><U0057><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
-yesstr  "<U004F><U0079><U0069>"
-nostr   "<U004E><U0065><U006E><U0069>"
+yesexpr "^[+1oOyYaAwW]"
+noexpr  "^[-0nN]"
+yesstr  "Oyi"
+nostr   "Neni"
 END LC_MESSAGES
 
 % COMINTAIRE: doet esse li minme ki po fr_BE.
diff --git a/localedata/locales/wo_SN b/localedata/locales/wo_SN
index 6549dabac5..b0a9c61ed1 100644
--- a/localedata/locales/wo_SN
+++ b/localedata/locales/wo_SN
@@ -64,8 +64,8 @@ copy "iso14651_t1"
 END LC_COLLATE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0077><U0057><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0064><U0044><U006E><U004E><U005D>"
+yesexpr "^[+1wWyY]"
+noexpr  "^[-0dDnN]"
 END LC_MESSAGES
 
 LC_MONETARY
diff --git a/localedata/locales/xh_ZA b/localedata/locales/xh_ZA
index 8fb69da6f0..0ca590064a 100644
--- a/localedata/locales/xh_ZA
+++ b/localedata/locales/xh_ZA
@@ -172,10 +172,10 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U0065><U0045><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U0068><U0048><U005D>"
-yesstr  "<U0065><U0077><U0065>"
-nostr   "<U0068><U0061><U0079><U0069>"
+yesexpr "^[+1yYeE]"
+noexpr  "^[-0nNhH]"
+yesstr  "ewe"
+nostr   "hayi"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/yi_US b/localedata/locales/yi_US
index dfa727a5d7..7eacbd89d2 100644
--- a/localedata/locales/yi_US
+++ b/localedata/locales/yi_US
@@ -195,8 +195,8 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0059><U0079><U05D9><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U004E><U006E><U05E0><U05E7><U005D>"
+yesexpr "^[+1yY<U05D9>]"
+noexpr  "^[-0nN<U05E0><U05E7>]"
 yesstr  "<U05D9><U05D0><U05B8>"
 nostr   "<U05E7><U05F2><U05DF>"
 END LC_MESSAGES
diff --git a/localedata/locales/yo_NG b/localedata/locales/yo_NG
index 24cc671b63..aff7506ded 100644
--- a/localedata/locales/yo_NG
+++ b/localedata/locales/yo_NG
@@ -431,10 +431,10 @@ first_weekday 2
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0045><U0065><U0079><U0059><U004E><U006E><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U0072><U0052><U004F><U006F><U004B><U006B><U005D>"
-yesstr  "<U0042><U1EB9><U0301><U1EB9><U0300><U006E><U0069>"
-nostr   "<U0042><U1EB9><U0301><U1EB9><U0300><U006B><U1ECD><U0301>"
+yesexpr "^[+1EeyYNn]"
+noexpr  "^[-0rROoKk]"
+yesstr  "B<U1EB9><U0301><U1EB9><U0300>ni"
+nostr   "B<U1EB9><U0301><U1EB9><U0300>k<U1ECD><U0301>"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/yue_HK b/localedata/locales/yue_HK
index 08ab0a1b4d..8cb612a781 100644
--- a/localedata/locales/yue_HK
+++ b/localedata/locales/yue_HK
@@ -129,8 +129,8 @@ END LC_TIME
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U005D>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0nN]"
 yesstr  "<U4FC2>"
 nostr   "<U5514><U4FC2>"
 END LC_MESSAGES
diff --git a/localedata/locales/zh_CN b/localedata/locales/zh_CN
index 683aa71dfc..d0b62a32c1 100644
--- a/localedata/locales/zh_CN
+++ b/localedata/locales/zh_CN
@@ -146,8 +146,8 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U662F><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U4E0D><U5426><U005D>"
+yesexpr "^[+1yY<U662F>]"
+noexpr  "^[-0nN<U4E0D><U5426>]"
 yesstr  "<U662F>"
 nostr   "<U4E0D><U662F>"
 END LC_MESSAGES
diff --git a/localedata/locales/zh_HK b/localedata/locales/zh_HK
index 3cd566b422..b952609025 100644
--- a/localedata/locales/zh_HK
+++ b/localedata/locales/zh_HK
@@ -149,8 +149,8 @@ END LC_TIME
 
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U662F><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U4E0D><U5426><U005D>"
+yesexpr "^[+1yY<U662F>]"
+noexpr  "^[-0nN<U4E0D><U5426>]"
 yesstr  "<U662F>"
 nostr   "<U5426>"
 END LC_MESSAGES
diff --git a/localedata/locales/zh_TW b/localedata/locales/zh_TW
index b46088a187..b69f4f500f 100644
--- a/localedata/locales/zh_TW
+++ b/localedata/locales/zh_TW
@@ -134,8 +134,8 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U662F><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U4E0D><U5426><U005D>"
+yesexpr "^[+1yY<U662F>]"
+noexpr  "^[-0nN<U4E0D><U5426>]"
 END LC_MESSAGES
 
 LC_PAPER
diff --git a/localedata/locales/zu_ZA b/localedata/locales/zu_ZA
index e07e709667..c21a929cad 100644
--- a/localedata/locales/zu_ZA
+++ b/localedata/locales/zu_ZA
@@ -162,10 +162,10 @@ week 7;19971130;1
 END LC_TIME
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U002B><U0031><U0079><U0059><U005D>"
-noexpr  "<U005E><U005B><U002D><U0030><U006E><U004E><U0063><U0043><U005D>"
-yesstr  "<U0079><U0065><U0062><U006F>"
-nostr   "<U0063><U0068><U0061>"
+yesexpr "^[+1yY]"
+noexpr  "^[-0nNcC]"
+yesstr  "yebo"
+nostr   "cha"
 END LC_MESSAGES
 
 LC_PAPER