From 03888816ca9bdca4977265fb14575dfa752a9282 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20=C5=A0ustek?= Date: Fri, 19 Nov 2021 11:15:01 +0100 Subject: [PATCH] Fix using HTML tags in ICU messages (#310) (#325) The `ignoreTag` option was added specifically for this use case. See also: - https://formatjs.io/docs/intl-messageformat/#intlmessageformat-constructor - https://github.com/formatjs/formatjs/pull/1699 --- Resources/js/translator.js | 2 +- Resources/public/js/translator.min.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/js/translator.js b/Resources/js/translator.js index 0bb2a772..2d43a538 100644 --- a/Resources/js/translator.js +++ b/Resources/js/translator.js @@ -133,7 +133,7 @@ throw new Error('The dependency "IntlMessageFormat" is required to use ICU MessageFormat but it has not been found. Please read https://github.com/willdurand/BazingaJsTranslationBundle/blob/master/Resources/doc/index.md#using-icu-messageformat') } - var mf = new IntlMessageFormat.IntlMessageFormat(_message); + var mf = new IntlMessageFormat.IntlMessageFormat(_message, undefined, undefined, {ignoreTag: true}); return mf.format(parameters || {}); } diff --git a/Resources/public/js/translator.min.js b/Resources/public/js/translator.min.js index 82a95eca..e126ccda 100644 --- a/Resources/public/js/translator.min.js +++ b/Resources/public/js/translator.min.js @@ -2,4 +2,4 @@ * @author William DURAND * @license MIT Licensed */ -!function(e,a){"object"==typeof module&&module.exports?module.exports=a(require("intl-messageformat")):"function"==typeof define&&define.amd?define(["intl-messageformat"],a):e.Translator=a(e.IntlMessageFormat)}(this,function(e){"use strict";function a(e,a){var s,t=g.placeHolderPrefix,n=g.placeHolderSuffix;for(s in a){var r=new RegExp(t+s+n,"g");if(r.test(e)){var c=String(a[s]).replace(new RegExp("\\$","g"),"$$$$");e=e.replace(r,c)}}return e}function s(e,a,s,n,r,c){var i=s||n||r,l=a,u=c||{},d=i.split("_")[0];if(u.isICU=!1,!(i in o))if(d in o)i=d;else{if(!(r in o))return e;i=r}if(void 0===l||null===l)for(var h=0;h2&&(m=i.length,g=i.split(/[\s_]+/),b=g[g.length-1],v=b.length,1!==g.length);)if(i=i.substring(0,m-(v+1)),t(i,l,e))return o[i][l][e];return t(r,l,e)?o[r][l][e]:e}function t(e,a,s){return e in o&&(a in o[e]&&s in o[e][a])}function n(e,a,s){var t,n,i=[],l=[],o=e.split(g.pluralSeparator),u=[];for(t=0;t=v:a>v)&&("]"===u[6]?a<=I:a3&&(s=s.split("_")[0]),s){case"bo":case"dz":case"id":case"ja":case"jv":case"ka":case"km":case"kn":case"ko":case"ms":case"th":case"tr":case"vi":case"zh":return 0;case"af":case"az":case"bn":case"bg":case"ca":case"da":case"de":case"el":case"en":case"eo":case"es":case"et":case"eu":case"fa":case"fi":case"fo":case"fur":case"fy":case"gl":case"gu":case"ha":case"he":case"hu":case"is":case"it":case"ku":case"lb":case"ml":case"mn":case"mr":case"nah":case"nb":case"ne":case"nl":case"nn":case"no":case"om":case"or":case"pa":case"pap":case"ps":case"pt":case"so":case"sq":case"sv":case"sw":case"ta":case"te":case"tk":case"ur":case"zu":return 1==e?0:1;case"am":case"bh":case"fil":case"fr":case"gun":case"hi":case"ln":case"mg":case"nso":case"xbr":case"ti":case"wa":return 0===e||1==e?0:1;case"be":case"bs":case"hr":case"ru":case"sr":case"uk":return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2;case"cs":case"sk":return 1==e?0:e>=2&&e<=4?1:2;case"ga":return 1==e?0:2==e?1:2;case"lt":return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2;case"sl":return e%100==1?0:e%100==2?1:e%100==3||e%100==4?2:3;case"mk":return e%10==1?0:1;case"mt":return 1==e?0:0===e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3;case"lv":return 0===e?0:e%10==1&&e%100!=11?1:2;case"pl":return 1==e?0:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?1:2;case"cy":return 1==e?0:2==e?1:8==e||11==e?2:3;case"ro":return 1==e?0:0===e||e%100>0&&e%100<20?1:2;case"ar":return 0===e?0:1==e?1:2==e?2:e>=3&&e<=10?3:e>=11&&e<=99?4:5;default:return 0}}function i(e,a){for(var s=0;s2&&(m=i.length,g=i.split(/[\s_]+/),v=g[g.length-1],b=v.length,1!==g.length);)if(i=i.substring(0,m-(b+1)),r(i,l,e))return o[i][l][e];return r(t,l,e)?o[t][l][e]:e}function r(e,a,s){return e in o&&(a in o[e]&&s in o[e][a])}function n(e,a,s){var r,n,i=[],l=[],o=e.split(g.pluralSeparator),u=[];for(r=0;r=b:a>b)&&("]"===u[6]?a<=I:a3&&(s=s.split("_")[0]),s){case"bo":case"dz":case"id":case"ja":case"jv":case"ka":case"km":case"kn":case"ko":case"ms":case"th":case"tr":case"vi":case"zh":return 0;case"af":case"az":case"bn":case"bg":case"ca":case"da":case"de":case"el":case"en":case"eo":case"es":case"et":case"eu":case"fa":case"fi":case"fo":case"fur":case"fy":case"gl":case"gu":case"ha":case"he":case"hu":case"is":case"it":case"ku":case"lb":case"ml":case"mn":case"mr":case"nah":case"nb":case"ne":case"nl":case"nn":case"no":case"om":case"or":case"pa":case"pap":case"ps":case"pt":case"so":case"sq":case"sv":case"sw":case"ta":case"te":case"tk":case"ur":case"zu":return 1==e?0:1;case"am":case"bh":case"fil":case"fr":case"gun":case"hi":case"ln":case"mg":case"nso":case"xbr":case"ti":case"wa":return 0===e||1==e?0:1;case"be":case"bs":case"hr":case"ru":case"sr":case"uk":return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2;case"cs":case"sk":return 1==e?0:e>=2&&e<=4?1:2;case"ga":return 1==e?0:2==e?1:2;case"lt":return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2;case"sl":return e%100==1?0:e%100==2?1:e%100==3||e%100==4?2:3;case"mk":return e%10==1?0:1;case"mt":return 1==e?0:0===e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3;case"lv":return 0===e?0:e%10==1&&e%100!=11?1:2;case"pl":return 1==e?0:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?1:2;case"cy":return 1==e?0:2==e?1:8==e||11==e?2:3;case"ro":return 1==e?0:0===e||e%100>0&&e%100<20?1:2;case"ar":return 0===e?0:1==e?1:2==e?2:e>=3&&e<=10?3:e>=11&&e<=99?4:5;default:return 0}}function i(e,a){for(var s=0;s