@dwp/govuk-casa 9.4.5 → 9.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -103,6 +103,7 @@ function configure(config = {}) {
103
103
  ...i18n.dirs,
104
104
  ],
105
105
  languages: i18n.locales,
106
+ fallbackLng: i18n.fallbackLng,
106
107
  });
107
108
  const dataMiddleware = (0, data_js_1.default)({
108
109
  plan,
@@ -1 +1 @@
1
- {"version":3,"file":"configure.js","sourceRoot":"","sources":["../../src/lib/configure.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configure.js","sourceRoot":"","sources":["../../src/lib/configure.js"],"names":[],"mappings":"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"}
@@ -3,11 +3,13 @@
3
3
  *
4
4
  * @param {object} opts Options
5
5
  * @param {string[]} [opts.languages] Language codes
6
+ * @param {string[]} [opts.fallbackLng] Fallback language
6
7
  * @param {string[]} [opts.directories] Source translations directories
7
8
  * @returns {RequestHandler[]} Middleware functions
8
9
  */
9
- export default function i18nMiddleware({ languages, directories, }: {
10
+ export default function i18nMiddleware({ languages, fallbackLng, directories, }: {
10
11
  languages?: string[] | undefined;
12
+ fallbackLng?: string[] | undefined;
11
13
  directories?: string[] | undefined;
12
14
  }): RequestHandler[];
13
15
  export type RequestHandler = import("express").RequestHandler;
@@ -65,10 +65,11 @@ const loadResources = (languages, directories) => {
65
65
  *
66
66
  * @param {object} opts Options
67
67
  * @param {string[]} [opts.languages] Language codes
68
+ * @param {string[]} [opts.fallbackLng] Fallback language
68
69
  * @param {string[]} [opts.directories] Source translations directories
69
70
  * @returns {RequestHandler[]} Middleware functions
70
71
  */
71
- function i18nMiddleware({ languages = ["en", "cy"], directories = [], }) {
72
+ function i18nMiddleware({ languages = ["en", "cy"], fallbackLng = false, directories = [], }) {
72
73
  // Load _all_ translations, from all directories into memory.
73
74
  const resources = loadResources(languages, directories);
74
75
  // Configure i18next
@@ -76,7 +77,7 @@ function i18nMiddleware({ languages = ["en", "cy"], directories = [], }) {
76
77
  i18nInstance.use(i18next_http_middleware_1.LanguageDetector).init({
77
78
  initAsync: false, // because we need synchronous loading
78
79
  supportedLngs: languages,
79
- fallbackLng: false,
80
+ fallbackLng,
80
81
  defaultNS: "common",
81
82
  // debug: true,
82
83
  // All translation resources
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/middleware/i18n.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/middleware/i18n.js"],"names":[],"mappings":"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"}
@@ -53,7 +53,7 @@ exports.default = ({ helmetConfigurator = (config) => config } = {}) => [
53
53
  // The `no-store` setting is to specifically disable the bfcache and prevent
54
54
  // possible leakage of information.
55
55
  (req, res, next) => {
56
- res.set("cache-control", "no-cache, no-store, must-revalidate, private");
56
+ res.set("cache-control", "no-store");
57
57
  res.set("expires", 0);
58
58
  res.set("x-robots-tag", "noindex, nofollow");
59
59
  next();
@@ -1 +1 @@
1
- {"version":3,"file":"pre.js","sourceRoot":"","sources":["../../src/middleware/pre.js"],"names":[],"mappings":";;;;;AAAA,6CAA0C;AAC1C,oDAA4B;AAE5B;;;GAGG;AAEH,MAAM,SAAS,GAAG,wBAAwB,CAAC;AAC3C,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;AACrD,MAAM,UAAU,GAAG,wBAAwB,CAAC;AAC5C,MAAM,kBAAkB,GAAG,+BAA+B,CAAC;AAE3D;;;;;;;;;;;GAWG;AACH,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG;IAC5B,OAAO,UAAU,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC;AAC1C,CAAC;AAED;;;;;;;GAOG;AACH,kBAAe,CAAC,EAAE,kBAAkB,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IACnE,qCAAqC;IACrC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACjB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAClD,MAAM,GAAG,GAAG,IAAI,KAAK,CACnB,+BAA+B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAClE,CAAC;YACF,GAAG,CAAC,IAAI,GAAG,2BAA2B,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,2BAA2B;IAC3B,4EAA4E;IAC5E,mCAAmC;IACnC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACjB,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,8CAA8C,CAAC,CAAC;QACzE,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACtB,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QAC7C,IAAI,EAAE,CAAC;IACT,CAAC;IAED,sEAAsE;IACtE,yEAAyE;IACzE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACjB,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAA,yBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,EAAE,CAAC;IACT,CAAC;IAED,0BAA0B;IAC1B,IAAA,gBAAM,EACJ,kBAAkB,CAAC;QACjB,qEAAqE;QACrE,qBAAqB,EAAE;YACrB,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE;gBACV,aAAa,EAAE,CAAC,QAAQ,CAAC;gBACzB,YAAY,EAAE;oBACZ,QAAQ;oBACR,SAAS;oBACT,UAAU;oBACV,kBAAkB;oBAClB,YAAY;iBACb;gBACD,SAAS,EAAE;oBACT,QAAQ;oBACR,SAAS;oBACT,mBAAmB;oBACnB,UAAU;oBACV,yBAAyB;oBACzB,yBAAyB;iBAC1B;gBACD,aAAa,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,mBAAmB,EAAE,UAAU,CAAC;gBACrE,WAAW,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;gBACnC,iBAAiB,EAAE,CAAC,QAAQ,CAAC;gBAC7B,aAAa,EAAE,CAAC,QAAQ,CAAC;gBACzB,WAAW,EAAE;oBACX,QAAQ;oBACR,8BAA8B;oBAC9B,kBAAkB;oBAClB,YAAY;iBACb;gBACD,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,2BAA2B,CAAC;gBAC5D,cAAc,EAAE,CAAC,QAAQ,CAAC;aAC3B;SACF;QAED,wCAAwC;QACxC,8CAA8C;KAC/C,CAAC,CACH;CACF,CAAC"}
1
+ {"version":3,"file":"pre.js","sourceRoot":"","sources":["../../src/middleware/pre.js"],"names":[],"mappings":";;;;;AAAA,6CAA0C;AAC1C,oDAA4B;AAE5B;;;GAGG;AAEH,MAAM,SAAS,GAAG,wBAAwB,CAAC;AAC3C,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;AACrD,MAAM,UAAU,GAAG,wBAAwB,CAAC;AAC5C,MAAM,kBAAkB,GAAG,+BAA+B,CAAC;AAE3D;;;;;;;;;;;GAWG;AACH,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG;IAC5B,OAAO,UAAU,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC;AAC1C,CAAC;AAED;;;;;;;GAOG;AACH,kBAAe,CAAC,EAAE,kBAAkB,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IACnE,qCAAqC;IACrC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACjB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAClD,MAAM,GAAG,GAAG,IAAI,KAAK,CACnB,+BAA+B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAClE,CAAC;YACF,GAAG,CAAC,IAAI,GAAG,2BAA2B,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,2BAA2B;IAC3B,4EAA4E;IAC5E,mCAAmC;IACnC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACjB,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QACrC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACtB,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QAC7C,IAAI,EAAE,CAAC;IACT,CAAC;IAED,sEAAsE;IACtE,yEAAyE;IACzE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACjB,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAA,yBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,EAAE,CAAC;IACT,CAAC;IAED,0BAA0B;IAC1B,IAAA,gBAAM,EACJ,kBAAkB,CAAC;QACjB,qEAAqE;QACrE,qBAAqB,EAAE;YACrB,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE;gBACV,aAAa,EAAE,CAAC,QAAQ,CAAC;gBACzB,YAAY,EAAE;oBACZ,QAAQ;oBACR,SAAS;oBACT,UAAU;oBACV,kBAAkB;oBAClB,YAAY;iBACb;gBACD,SAAS,EAAE;oBACT,QAAQ;oBACR,SAAS;oBACT,mBAAmB;oBACnB,UAAU;oBACV,yBAAyB;oBACzB,yBAAyB;iBAC1B;gBACD,aAAa,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,mBAAmB,EAAE,UAAU,CAAC;gBACrE,WAAW,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;gBACnC,iBAAiB,EAAE,CAAC,QAAQ,CAAC;gBAC7B,aAAa,EAAE,CAAC,QAAQ,CAAC;gBACzB,WAAW,EAAE;oBACX,QAAQ;oBACR,8BAA8B;oBAC9B,kBAAkB;oBAClB,YAAY;iBACb;gBACD,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,2BAA2B,CAAC;gBAC5D,cAAc,EAAE,CAAC,QAAQ,CAAC;aAC3B;SACF;QAED,wCAAwC;QACxC,8CAA8C;KAC/C,CAAC,CACH;CACF,CAAC"}
@@ -27,7 +27,7 @@ const { static: ExpressStatic } = express_1.default; // CommonJS
27
27
  * @returns {MutableRouter} ExpressJS Router instance
28
28
  * @access private
29
29
  */
30
- function staticRouter({ maxAge = 3600000, cacheControl = "private", } = {}) {
30
+ function staticRouter({ maxAge = 3600000, cacheControl = "no-cache, private", } = {}) {
31
31
  const router = new MutableRouter_js_1.default();
32
32
  const notFoundHandler = (req, res, next) => {
33
33
  // Fall through to a general purpose error handler
@@ -1 +1 @@
1
- {"version":3,"file":"static.js","sourceRoot":"","sources":["../../src/routes/static.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"static.js","sourceRoot":"","sources":["../../src/routes/static.js"],"names":[],"mappings":"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"}
@@ -18,6 +18,36 @@
18
18
  "next": {
19
19
  "label": "Nesaf"
20
20
  }
21
+ },
22
+ "characterCount": {
23
+ "characters": {
24
+ "description": "Gallwch roi hyd at %{count} nod",
25
+ "underLimitOne": "Mae gennych 1 nod ar ôl",
26
+ "underLimitTwo": "Mae gennych 2 nod ar ôl",
27
+ "underLimitFew": "Mae gennych 3 nod ar ôl",
28
+ "underLimitMany": "Mae gennych %{count} nod ar ôl",
29
+ "underLimitOther": "Mae gennych %{count} nod ar ôl",
30
+ "atLimit": "Mae gennych 0 nod ar ôl",
31
+ "overLimitOne": "Mae gennych 1 nod yn ormod",
32
+ "overLimitTwo": "Mae gennych 2 nod yn ormod",
33
+ "overLimitFew": "Mae gennych 3 nod yn ormod",
34
+ "overLimitMany": "Mae gennych %{count} nod yn ormod",
35
+ "overLimitOther": "Mae gennych %{count} nod yn ormod"
36
+ },
37
+ "words": {
38
+ "description": "Gallwch roi hyd at %{count} gair",
39
+ "underLimitOne": "Mae gennych 1 gair ar ôl",
40
+ "underLimitTwo": "Mae gennych 2 gair ar ôl",
41
+ "underLimitFew": "Mae gennych 3 gair ar ôl",
42
+ "underLimitMany": "Mae gennych %{count} gair ar ôl",
43
+ "underLimitOther": "Mae gennych %{count} gair ar ôl",
44
+ "atLimit": "Mae gennych 0 gair ar ôl",
45
+ "overLimitOne": "Mae gennych 1 gair yn ormod",
46
+ "overLimitTwo": "Mae gennych 2 gair yn ormod",
47
+ "overLimitFew": "Mae gennych 3 gair yn ormod",
48
+ "overLimitMany": "Mae gennych %{count} gair yn ormod",
49
+ "overLimitOther": "Mae gennych %{count} gair yn ormod"
50
+ }
21
51
  }
22
52
  }
23
53
  }
@@ -18,6 +18,36 @@
18
18
  "next": {
19
19
  "label": "Next"
20
20
  }
21
+ },
22
+ "characterCount": {
23
+ "characters": {
24
+ "description": "You can enter up to %{count} characters",
25
+ "underLimitOne": "You have 1 character remaining",
26
+ "underLimitTwo": "You have 2 characters remaining",
27
+ "underLimitFew": "You have 3 characters remaining",
28
+ "underLimitMany": "You have %{count} characters remaining",
29
+ "underLimitOther": "You have %{count} characters remaining",
30
+ "atLimit": "You have 0 characters remaining",
31
+ "overLimitOne": "You have 1 character too many",
32
+ "overLimitTwo": "You have 2 characters too many",
33
+ "overLimitFew": "You have 3 characters too many",
34
+ "overLimitMany": "You have %{count} characters too many",
35
+ "overLimitOther": "You have %{count} characters too many"
36
+ },
37
+ "words": {
38
+ "description": "You can enter up to %{count} words",
39
+ "underLimitOne": "You have 1 word remaining",
40
+ "underLimitTwo": "You have 2 words remaining",
41
+ "underLimitFew": "You have 3 words remaining",
42
+ "underLimitMany": "You have %{count} words remaining",
43
+ "underLimitOther": "You have %{count} words remaining",
44
+ "atLimit": "You have 0 words remaining",
45
+ "overLimitOne": "You have 1 word too many",
46
+ "overLimitTwo": "You have 2 words too many",
47
+ "overLimitFew": "You have 3 words too many",
48
+ "overLimitMany": "You have %{count} words too many",
49
+ "overLimitOther": "You have %{count} words too many"
50
+ }
21
51
  }
22
52
  }
23
53
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dwp/govuk-casa",
3
- "version": "9.4.5",
3
+ "version": "9.5.0",
4
4
  "description": "A framework for building GOVUK Collect-And-Submit-Applications",
5
5
  "repository": {
6
6
  "type": "git",
@@ -54,53 +54,53 @@
54
54
  "@dagrejs/graphlib": "2.2.4",
55
55
  "bytes": "3.1.2",
56
56
  "cookie-parser": "1.4.7",
57
- "csrf-sync": "4.0.3",
58
- "debug": "4.4.0",
57
+ "csrf-sync": "4.2.1",
58
+ "debug": "4.4.1",
59
59
  "deepmerge": "4.3.1",
60
60
  "express": "4.21.2",
61
61
  "express-session": "1.18.1",
62
- "govuk-frontend": "5.8.0",
63
- "helmet": "8.0.0",
64
- "i18next": "24.2.2",
65
- "i18next-http-middleware": "3.7.1",
62
+ "govuk-frontend": "5.10.1",
63
+ "helmet": "8.1.0",
64
+ "i18next": "25.1.3",
65
+ "i18next-http-middleware": "3.7.4",
66
66
  "js-yaml": "4.1.0",
67
67
  "lodash": "4.17.21",
68
- "luxon": "3.5.0",
68
+ "luxon": "3.6.1",
69
69
  "nunjucks": "3.2.4",
70
70
  "path-to-regexp": "8.2.0",
71
71
  "rfdc": "1.4.1",
72
- "validator": "13.12.0"
72
+ "validator": "13.15.0"
73
73
  },
74
74
  "devDependencies": {
75
75
  "@ckeditor/jsdoc-plugins": "43.0.1",
76
- "@commitlint/config-conventional": "19.7.1",
77
- "@dwp/casa-spiderplan": "4.2.0",
78
- "@dwp/casa-spiderplan-a11y-plugin": "1.0.2",
79
- "@dwp/casa-spiderplan-zap-plugin": "1.0.3",
76
+ "@commitlint/config-conventional": "19.8.1",
77
+ "@dwp/casa-spiderplan": "4.2.1",
78
+ "@dwp/casa-spiderplan-a11y-plugin": "1.0.3",
79
+ "@dwp/casa-spiderplan-zap-plugin": "1.0.4",
80
80
  "@dwp/eslint-config-base": "9.0.2",
81
81
  "@types/express": "4.17.21",
82
- "@types/luxon": "3.4.2",
83
- "@types/node": "22.13.4",
82
+ "@types/luxon": "3.6.2",
83
+ "@types/node": "22.15.18",
84
84
  "@types/nunjucks": "3.2.6",
85
85
  "c8": "10.1.3",
86
- "chai": "5.1.2",
86
+ "chai": "5.2.0",
87
87
  "cheerio": "1.0.0",
88
- "commitlint": "19.7.1",
88
+ "commitlint": "19.8.1",
89
89
  "docdash": "2.0.2",
90
- "eslint": "9.20.1",
90
+ "eslint": "9.26.0",
91
91
  "eslint-plugin-import": "2.31.0",
92
- "eslint-plugin-jsdoc": "50.6.3",
92
+ "eslint-plugin-jsdoc": "50.6.17",
93
93
  "eslint-plugin-security": "3.0.1",
94
94
  "eslint-plugin-sonarjs": "3.0.2",
95
- "fast-check": "3.23.2",
95
+ "fast-check": "4.1.1",
96
96
  "jsdoc": "4.0.4",
97
97
  "jsdoc-tsimport-plugin": "1.0.5",
98
- "mocha": "11.1.0",
99
- "prettier": "3.5.1",
98
+ "mocha": "11.2.2",
99
+ "prettier": "3.5.3",
100
100
  "prettier-plugin-jsdoc": "1.3.2",
101
- "sass": "1.85.0",
102
- "sinon": "19.0.2",
103
- "supertest": "7.0.0",
104
- "typescript": "5.7.3"
101
+ "sass": "1.88.0",
102
+ "sinon": "20.0.0",
103
+ "supertest": "7.1.1",
104
+ "typescript": "5.8.3"
105
105
  }
106
106
  }
@@ -127,6 +127,7 @@ export default function configure(config = {}) {
127
127
  ...i18n.dirs,
128
128
  ],
129
129
  languages: i18n.locales,
130
+ fallbackLng: i18n.fallbackLng,
130
131
  });
131
132
  const dataMiddleware = dataMiddlewareFactory({
132
133
  plan,
@@ -73,11 +73,13 @@ const loadResources = (languages, directories) => {
73
73
  *
74
74
  * @param {object} opts Options
75
75
  * @param {string[]} [opts.languages] Language codes
76
+ * @param {string[]} [opts.fallbackLng] Fallback language
76
77
  * @param {string[]} [opts.directories] Source translations directories
77
78
  * @returns {RequestHandler[]} Middleware functions
78
79
  */
79
80
  export default function i18nMiddleware({
80
81
  languages = ["en", "cy"],
82
+ fallbackLng = false,
81
83
  directories = [],
82
84
  }) {
83
85
  // Load _all_ translations, from all directories into memory.
@@ -88,7 +90,7 @@ export default function i18nMiddleware({
88
90
  i18nInstance.use(LanguageDetector).init({
89
91
  initAsync: false, // because we need synchronous loading
90
92
  supportedLngs: languages,
91
- fallbackLng: false,
93
+ fallbackLng,
92
94
  defaultNS: "common",
93
95
  // debug: true,
94
96
 
@@ -54,7 +54,7 @@ export default ({ helmetConfigurator = (config) => config } = {}) => [
54
54
  // The `no-store` setting is to specifically disable the bfcache and prevent
55
55
  // possible leakage of information.
56
56
  (req, res, next) => {
57
- res.set("cache-control", "no-cache, no-store, must-revalidate, private");
57
+ res.set("cache-control", "no-store");
58
58
  res.set("expires", 0);
59
59
  res.set("x-robots-tag", "noindex, nofollow");
60
60
  next();
@@ -27,7 +27,7 @@ const { static: ExpressStatic } = ExpressJS; // CommonJS
27
27
  */
28
28
  export default function staticRouter({
29
29
  maxAge = 3600000,
30
- cacheControl = "private",
30
+ cacheControl = "no-cache, private",
31
31
  } = {}) {
32
32
  const router = new MutableRouter();
33
33
 
@@ -29,3 +29,65 @@ The following attributes will be attached to the error `<p>` tag if `casaWithAna
29
29
  These are the conventions used by DWP.
30
30
 
31
31
  > **IMPORTANT:** DO NOT ENABLE this option if the question or answer may contain personally-identifiable information as values will be pushed to Google
32
+
33
+ ## Translations
34
+
35
+ CASA includes English and Welsh for the character and word count default content according to the [GOV.UK pluralisation rules](https://frontend.design-system.service.gov.uk/localise-govuk-frontend/#understanding-pluralisation-rules), but you can provide further translations or override the messages by adding the following keys to your `common.json` locale file:
36
+
37
+ ```json
38
+ {
39
+ "characterCount": {
40
+ "characters": {
41
+ "description": "You can enter up to %{count} characters",
42
+ "underLimitOne": "You have 1 character remaining",
43
+ "underLimitTwo": "You have 2 characters remaining",
44
+ "underLimitFew": "You have 3 characters remaining",
45
+ "underLimitMany": "You have %{count} characters remaining",
46
+ "underLimitOther": "You have %{count} characters remaining",
47
+ "atLimit": "You have 0 characters remaining",
48
+ "overLimitOne": "You have 1 character too many",
49
+ "overLimitTwo": "You have 2 characters too many",
50
+ "overLimitFew": "You have 3 characters too many",
51
+ "overLimitMany": "You have %{count} characters too many",
52
+ "overLimitOther": "You have %{count} characters too many"
53
+ },
54
+ "words": {
55
+ "description": "You can enter up to %{count} words",
56
+ "underLimitOne": "You have 1 word remaining",
57
+ "underLimitTwo": "You have 2 words remaining",
58
+ "underLimitFew": "You have 3 words remaining",
59
+ "underLimitMany": "You have %{count} words remaining",
60
+ "underLimitOther": "You have %{count} words remaining",
61
+ "atLimit": "You have 0 words remaining",
62
+ "overLimitOne": "You have 1 word too many",
63
+ "overLimitTwo": "You have 2 words too many",
64
+ "overLimitFew": "You have 3 words too many",
65
+ "overLimitMany": "You have %{count} words too many",
66
+ "overLimitOther": "You have %{count} words too many"
67
+ }
68
+ }
69
+ }
70
+ ```
71
+
72
+ The character count message content can also be overridden on a per component basis using the `textareaDescriptionText`, `charactersUnderLimitText`, `charactersAtLimitText`, `charactersOverLimitText`, `wordsUnderLimitText`, `wordsAtLimitText`, and `wordsOverLimitText` parameters.
73
+
74
+ For example:
75
+
76
+ ```jinja
77
+ {% from "govuk/components/character-count/macro.njk" import govukCharacterCount %}
78
+
79
+ {{ casaGovukCharacterCount({
80
+ maxlength: 200,
81
+ label: {
82
+ text: "Can you provide more detail?",
83
+ classes: "govuk-label--l",
84
+ isPageHeading: true
85
+ },
86
+ charactersOverLimitText: {
87
+ one: "1 character too many",
88
+ other: "${count} characters too many"
89
+ },
90
+ }) }}
91
+ ```
92
+
93
+ For more information see the [Character Count GOV.UK Design System page](https://design-system.service.gov.uk/components/character-count/).
@@ -14,6 +14,40 @@
14
14
  {% set mergedParams = mergeObjects(params, {
15
15
  id: params.id if params.id else 'f-' + params.name,
16
16
  attributes: mergedAttributes,
17
+ textareaDescriptionText: params.textareaDescriptionText or (
18
+ t("common:form.characterCount.words.description") if params.maxwords
19
+ else t("common:form.characterCount.characters.description")
20
+ ),
21
+ charactersUnderLimitText: params.charactersUnderLimitText or {
22
+ one: t("common:form.characterCount.characters.underLimitOne"),
23
+ two: t("common:form.characterCount.characters.underLimitTwo"),
24
+ few: t("common:form.characterCount.characters.underLimitFew"),
25
+ many: t("common:form.characterCount.characters.underLimitMany"),
26
+ other: t("common:form.characterCount.characters.underLimitOther")
27
+ } if not params.maxwords,
28
+ charactersAtLimitText: params.charactersAtLimitText or t("common:form.characterCount.characters.atLimit") if not params.maxwords,
29
+ charactersOverLimitText: params.charactersOverLimitText or {
30
+ one: t("common:form.characterCount.characters.overLimitOne"),
31
+ two: t("common:form.characterCount.characters.overLimitTwo"),
32
+ few: t("common:form.characterCount.characters.overLimitFew"),
33
+ many: t("common:form.characterCount.characters.overLimitMany"),
34
+ other: t("common:form.characterCount.characters.overLimitOther")
35
+ } if not params.maxwords,
36
+ wordsUnderLimitText: params.wordsUnderLimitText or {
37
+ one: t("common:form.characterCount.words.underLimitOne"),
38
+ two: t("common:form.characterCount.words.underLimitTwo"),
39
+ few: t("common:form.characterCount.words.underLimitFew"),
40
+ many: t("common:form.characterCount.words.underLimitMany"),
41
+ other: t("common:form.characterCount.words.underLimitOther")
42
+ } if params.maxwords,
43
+ wordsAtLimitText: params.wordsAtLimitText or t("common:form.characterCount.words.atLimit") if params.maxwords,
44
+ wordsOverLimitText: params.wordsOverLimitText or {
45
+ one: t("common:form.characterCount.words.overLimitOne"),
46
+ two: t("common:form.characterCount.words.overLimitTwo"),
47
+ few: t("common:form.characterCount.words.overLimitFew"),
48
+ many: t("common:form.characterCount.words.overLimitMany"),
49
+ other: t("common:form.characterCount.words.overLimitOther")
50
+ } if params.maxwords,
17
51
  errorMessage: {
18
52
  text: t(params.casaErrors[params.name][0].inline, params.casaErrors[params.name][0].variables),
19
53
  attributes: {