@concordance-wiki/i18n 0.1.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.
- package/LICENSE +674 -0
- package/README.md +54 -0
- package/dist/messages/en/about.json +102 -0
- package/dist/messages/en/age.json +34 -0
- package/dist/messages/en/api.json +86 -0
- package/dist/messages/en/category.json +58 -0
- package/dist/messages/en/decision.json +62 -0
- package/dist/messages/en/document.json +150 -0
- package/dist/messages/en/drawer.json +6 -0
- package/dist/messages/en/entity.json +170 -0
- package/dist/messages/en/footer.json +82 -0
- package/dist/messages/en/home.json +78 -0
- package/dist/messages/en/index.json +70 -0
- package/dist/messages/en/keyword.json +98 -0
- package/dist/messages/en/meeting.json +94 -0
- package/dist/messages/en/mentions.json +10 -0
- package/dist/messages/en/nav.json +18 -0
- package/dist/messages/en/neighbourhood.json +50 -0
- package/dist/messages/en/notfound.json +30 -0
- package/dist/messages/en/panels.json +10 -0
- package/dist/messages/en/pins.json +46 -0
- package/dist/messages/en/related.json +70 -0
- package/dist/messages/en/results.json +70 -0
- package/dist/messages/en/search.json +58 -0
- package/dist/messages/en/site.json +46 -0
- package/dist/messages/en/space.json +38 -0
- package/dist/messages/en/spaces.json +30 -0
- package/dist/messages/en/time.json +6 -0
- package/dist/messages/en/todo.json +50 -0
- package/dist/messages/en/transcript.json +10 -0
- package/dist/messages/en.json +1066 -0
- package/dist/messages/fr/about.json +27 -0
- package/dist/messages/fr/age.json +10 -0
- package/dist/messages/fr/api.json +23 -0
- package/dist/messages/fr/category.json +16 -0
- package/dist/messages/fr/decision.json +17 -0
- package/dist/messages/fr/document.json +39 -0
- package/dist/messages/fr/drawer.json +3 -0
- package/dist/messages/fr/entity.json +44 -0
- package/dist/messages/fr/footer.json +22 -0
- package/dist/messages/fr/home.json +21 -0
- package/dist/messages/fr/index.json +19 -0
- package/dist/messages/fr/keyword.json +26 -0
- package/dist/messages/fr/meeting.json +25 -0
- package/dist/messages/fr/mentions.json +4 -0
- package/dist/messages/fr/nav.json +6 -0
- package/dist/messages/fr/neighbourhood.json +14 -0
- package/dist/messages/fr/notfound.json +9 -0
- package/dist/messages/fr/panels.json +4 -0
- package/dist/messages/fr/pins.json +13 -0
- package/dist/messages/fr/related.json +19 -0
- package/dist/messages/fr/results.json +19 -0
- package/dist/messages/fr/search.json +16 -0
- package/dist/messages/fr/site.json +13 -0
- package/dist/messages/fr/space.json +11 -0
- package/dist/messages/fr/spaces.json +9 -0
- package/dist/messages/fr/time.json +3 -0
- package/dist/messages/fr/todo.json +14 -0
- package/dist/messages/fr/transcript.json +4 -0
- package/dist/messages/fr.json +268 -0
- package/dist/src/area.d.ts +17 -0
- package/dist/src/area.d.ts.map +1 -0
- package/dist/src/area.js +2 -0
- package/dist/src/area.js.map +1 -0
- package/dist/src/areas/about.d.ts +166 -0
- package/dist/src/areas/about.d.ts.map +1 -0
- package/dist/src/areas/about.js +34 -0
- package/dist/src/areas/about.js.map +1 -0
- package/dist/src/areas/age.d.ts +61 -0
- package/dist/src/areas/age.d.ts.map +1 -0
- package/dist/src/areas/age.js +17 -0
- package/dist/src/areas/age.js.map +1 -0
- package/dist/src/areas/api.d.ts +139 -0
- package/dist/src/areas/api.d.ts.map +1 -0
- package/dist/src/areas/api.js +30 -0
- package/dist/src/areas/api.js.map +1 -0
- package/dist/src/areas/category.d.ts +106 -0
- package/dist/src/areas/category.d.ts.map +1 -0
- package/dist/src/areas/category.js +23 -0
- package/dist/src/areas/category.js.map +1 -0
- package/dist/src/areas/decision.d.ts +105 -0
- package/dist/src/areas/decision.d.ts.map +1 -0
- package/dist/src/areas/decision.js +24 -0
- package/dist/src/areas/decision.js.map +1 -0
- package/dist/src/areas/document.d.ts +235 -0
- package/dist/src/areas/document.d.ts.map +1 -0
- package/dist/src/areas/document.js +46 -0
- package/dist/src/areas/document.js.map +1 -0
- package/dist/src/areas/drawer.d.ts +15 -0
- package/dist/src/areas/drawer.d.ts.map +1 -0
- package/dist/src/areas/drawer.js +10 -0
- package/dist/src/areas/drawer.js.map +1 -0
- package/dist/src/areas/entity.d.ts +288 -0
- package/dist/src/areas/entity.d.ts.map +1 -0
- package/dist/src/areas/entity.js +51 -0
- package/dist/src/areas/entity.js.map +1 -0
- package/dist/src/areas/footer.d.ts +143 -0
- package/dist/src/areas/footer.d.ts.map +1 -0
- package/dist/src/areas/footer.js +29 -0
- package/dist/src/areas/footer.js.map +1 -0
- package/dist/src/areas/home.d.ts +142 -0
- package/dist/src/areas/home.d.ts.map +1 -0
- package/dist/src/areas/home.js +28 -0
- package/dist/src/areas/home.js.map +1 -0
- package/dist/src/areas/index.d.ts +121 -0
- package/dist/src/areas/index.d.ts.map +1 -0
- package/dist/src/areas/index.js +26 -0
- package/dist/src/areas/index.js.map +1 -0
- package/dist/src/areas/keyword.d.ts +169 -0
- package/dist/src/areas/keyword.d.ts.map +1 -0
- package/dist/src/areas/keyword.js +33 -0
- package/dist/src/areas/keyword.js.map +1 -0
- package/dist/src/areas/meeting.d.ts +157 -0
- package/dist/src/areas/meeting.d.ts.map +1 -0
- package/dist/src/areas/meeting.js +32 -0
- package/dist/src/areas/meeting.js.map +1 -0
- package/dist/src/areas/mentions.d.ts +25 -0
- package/dist/src/areas/mentions.d.ts.map +1 -0
- package/dist/src/areas/mentions.js +11 -0
- package/dist/src/areas/mentions.js.map +1 -0
- package/dist/src/areas/nav.d.ts +33 -0
- package/dist/src/areas/nav.d.ts.map +1 -0
- package/dist/src/areas/nav.js +13 -0
- package/dist/src/areas/nav.js.map +1 -0
- package/dist/src/areas/neighbourhood.d.ts +87 -0
- package/dist/src/areas/neighbourhood.d.ts.map +1 -0
- package/dist/src/areas/neighbourhood.js +21 -0
- package/dist/src/areas/neighbourhood.js.map +1 -0
- package/dist/src/areas/notfound.d.ts +51 -0
- package/dist/src/areas/notfound.d.ts.map +1 -0
- package/dist/src/areas/notfound.js +16 -0
- package/dist/src/areas/notfound.js.map +1 -0
- package/dist/src/areas/panels.d.ts +21 -0
- package/dist/src/areas/panels.d.ts.map +1 -0
- package/dist/src/areas/panels.js +11 -0
- package/dist/src/areas/panels.js.map +1 -0
- package/dist/src/areas/pins.d.ts +75 -0
- package/dist/src/areas/pins.d.ts.map +1 -0
- package/dist/src/areas/pins.js +20 -0
- package/dist/src/areas/pins.js.map +1 -0
- package/dist/src/areas/related.d.ts +111 -0
- package/dist/src/areas/related.d.ts.map +1 -0
- package/dist/src/areas/related.js +26 -0
- package/dist/src/areas/related.js.map +1 -0
- package/dist/src/areas/results.d.ts +119 -0
- package/dist/src/areas/results.d.ts.map +1 -0
- package/dist/src/areas/results.js +26 -0
- package/dist/src/areas/results.js.map +1 -0
- package/dist/src/areas/search.d.ts +95 -0
- package/dist/src/areas/search.d.ts.map +1 -0
- package/dist/src/areas/search.js +23 -0
- package/dist/src/areas/search.js.map +1 -0
- package/dist/src/areas/site.d.ts +77 -0
- package/dist/src/areas/site.d.ts.map +1 -0
- package/dist/src/areas/site.js +20 -0
- package/dist/src/areas/site.js.map +1 -0
- package/dist/src/areas/space.d.ts +67 -0
- package/dist/src/areas/space.d.ts.map +1 -0
- package/dist/src/areas/space.js +18 -0
- package/dist/src/areas/space.js.map +1 -0
- package/dist/src/areas/spaces.d.ts +55 -0
- package/dist/src/areas/spaces.d.ts.map +1 -0
- package/dist/src/areas/spaces.js +16 -0
- package/dist/src/areas/spaces.js.map +1 -0
- package/dist/src/areas/time.d.ts +17 -0
- package/dist/src/areas/time.d.ts.map +1 -0
- package/dist/src/areas/time.js +10 -0
- package/dist/src/areas/time.js.map +1 -0
- package/dist/src/areas/todo.d.ts +89 -0
- package/dist/src/areas/todo.d.ts.map +1 -0
- package/dist/src/areas/todo.js +21 -0
- package/dist/src/areas/todo.js.map +1 -0
- package/dist/src/areas/transcript.d.ts +21 -0
- package/dist/src/areas/transcript.d.ts.map +1 -0
- package/dist/src/areas/transcript.js +11 -0
- package/dist/src/areas/transcript.js.map +1 -0
- package/dist/src/areas.d.ts +2737 -0
- package/dist/src/areas.d.ts.map +1 -0
- package/dist/src/areas.js +60 -0
- package/dist/src/areas.js.map +1 -0
- package/dist/src/arguments.d.ts +15 -0
- package/dist/src/arguments.d.ts.map +1 -0
- package/dist/src/arguments.js +43 -0
- package/dist/src/arguments.js.map +1 -0
- package/dist/src/catalogue.d.ts +42 -0
- package/dist/src/catalogue.d.ts.map +1 -0
- package/dist/src/catalogue.js +94 -0
- package/dist/src/catalogue.js.map +1 -0
- package/dist/src/ids.d.ts +44 -0
- package/dist/src/ids.d.ts.map +1 -0
- package/dist/src/ids.js +34 -0
- package/dist/src/ids.js.map +1 -0
- package/dist/src/index.d.ts +7 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +7 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/intl.d.ts +35 -0
- package/dist/src/intl.d.ts.map +1 -0
- package/dist/src/intl.js +87 -0
- package/dist/src/intl.js.map +1 -0
- package/dist/src/labels.d.ts +8 -0
- package/dist/src/labels.d.ts.map +1 -0
- package/dist/src/labels.js +86 -0
- package/dist/src/labels.js.map +1 -0
- package/dist/src/shipped.d.ts +7 -0
- package/dist/src/shipped.d.ts.map +1 -0
- package/dist/src/shipped.js +10 -0
- package/dist/src/shipped.js.map +1 -0
- package/package.json +40 -0
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
{
|
|
2
|
+
"entity.alsoAvailable": {
|
|
3
|
+
"defaultMessage": "Also available: {name} · {format}{count, plural, =0 {} one { · # page} other { · # pages}}",
|
|
4
|
+
"description": "Line a document is folded behind under the note that leads its page: the file name, its kind and its page count when one is known."
|
|
5
|
+
},
|
|
6
|
+
"entity.application": {
|
|
7
|
+
"defaultMessage": "Application",
|
|
8
|
+
"description": "Label of the application an entity belongs to."
|
|
9
|
+
},
|
|
10
|
+
"entity.attributes": {
|
|
11
|
+
"defaultMessage": "Properties",
|
|
12
|
+
"description": "Heading of the block of declared properties of an entity page."
|
|
13
|
+
},
|
|
14
|
+
"entity.breadcrumb": {
|
|
15
|
+
"defaultMessage": "You are here",
|
|
16
|
+
"description": "Accessible name of the breadcrumb of an entity page, space then folders then page."
|
|
17
|
+
},
|
|
18
|
+
"entity.changed": {
|
|
19
|
+
"defaultMessage": "Changed {when}",
|
|
20
|
+
"description": "Frame around the relative date of the last change of a note, such as nine days ago."
|
|
21
|
+
},
|
|
22
|
+
"entity.confidence": {
|
|
23
|
+
"defaultMessage": "Confidence: {value, number, percent}",
|
|
24
|
+
"description": "Confidence of an inferred link, as a percentage between 0 and 1."
|
|
25
|
+
},
|
|
26
|
+
"entity.correction": {
|
|
27
|
+
"defaultMessage": "Something to correct?",
|
|
28
|
+
"description": "Question before the edit link in the footer of an entity page."
|
|
29
|
+
},
|
|
30
|
+
"entity.declaredAtTop": {
|
|
31
|
+
"defaultMessage": "{count, plural, one {# declared key} other {# declared keys}}. The rest of the file is free text.",
|
|
32
|
+
"description": "Note under the declared properties of an entity page, counting the keys of the frontmatter and saying that the rest of the file is prose."
|
|
33
|
+
},
|
|
34
|
+
"entity.domain": {
|
|
35
|
+
"defaultMessage": "Domain",
|
|
36
|
+
"description": "Label of the domain an entity belongs to."
|
|
37
|
+
},
|
|
38
|
+
"entity.edit": {
|
|
39
|
+
"defaultMessage": "Edit this page",
|
|
40
|
+
"description": "Link to the edit page of the note on its forge."
|
|
41
|
+
},
|
|
42
|
+
"entity.editShort": {
|
|
43
|
+
"defaultMessage": "Edit",
|
|
44
|
+
"description": "Short edit link of the footer of an entity page, under the phone width, next to the name of the file."
|
|
45
|
+
},
|
|
46
|
+
"entity.groupedBy.declared": {
|
|
47
|
+
"defaultMessage": "declared in frontmatter",
|
|
48
|
+
"description": "Criterion of a grouping: a note declares the file under its source key."
|
|
49
|
+
},
|
|
50
|
+
"entity.groupedBy.lock": {
|
|
51
|
+
"defaultMessage": "lock file",
|
|
52
|
+
"description": "Criterion of a grouping: the lock file records the pair as merged."
|
|
53
|
+
},
|
|
54
|
+
"entity.groupedBy.sameName": {
|
|
55
|
+
"defaultMessage": "same base name",
|
|
56
|
+
"description": "Criterion of a grouping: the files share their base name."
|
|
57
|
+
},
|
|
58
|
+
"entity.groupedBy.sameTitle": {
|
|
59
|
+
"defaultMessage": "title equal to the heading",
|
|
60
|
+
"description": "Criterion of a grouping: the title of the document is the heading of the note."
|
|
61
|
+
},
|
|
62
|
+
"entity.groupedBy.similarContent": {
|
|
63
|
+
"defaultMessage": "similar content",
|
|
64
|
+
"description": "Criterion of a grouping: the texts of the files are similar."
|
|
65
|
+
},
|
|
66
|
+
"entity.groupedBy.similarName": {
|
|
67
|
+
"defaultMessage": "similar base names",
|
|
68
|
+
"description": "Criterion of a grouping: the base names of the files are close."
|
|
69
|
+
},
|
|
70
|
+
"entity.groupedFiles": {
|
|
71
|
+
"defaultMessage": "{count, plural, one {# file grouped} other {# files grouped}} — {criterion}",
|
|
72
|
+
"description": "Line of the properties panel counting the files the build merged into the page and naming what grouped them: 3 files grouped — same base name."
|
|
73
|
+
},
|
|
74
|
+
"entity.groupedFilesCount": {
|
|
75
|
+
"defaultMessage": "{count, plural, one {# file grouped} other {# files grouped}}",
|
|
76
|
+
"description": "Line of the properties panel counting the files the build merged into the page, when the model recorded no criterion."
|
|
77
|
+
},
|
|
78
|
+
"entity.imageNote": {
|
|
79
|
+
"defaultMessage": "Image of the repository, shown in the flow of the text",
|
|
80
|
+
"description": "Note under an image of the sources embedded in a note, before the path of the file."
|
|
81
|
+
},
|
|
82
|
+
"entity.inSpace": {
|
|
83
|
+
"defaultMessage": "Space {space}",
|
|
84
|
+
"description": "On the line under the title of an entity page, the space of the page by its title, linked to the page of the space."
|
|
85
|
+
},
|
|
86
|
+
"entity.legendKeyword": {
|
|
87
|
+
"defaultMessage": "recognised word, no note",
|
|
88
|
+
"description": "Legend of the dashed grey underline of a recognised expression that has a keyword page and no note."
|
|
89
|
+
},
|
|
90
|
+
"entity.legendRecognised": {
|
|
91
|
+
"defaultMessage": "recognised word, existing note",
|
|
92
|
+
"description": "Legend of the dotted accent underline of a recognised word whose entity has a note."
|
|
93
|
+
},
|
|
94
|
+
"entity.legendWritten": {
|
|
95
|
+
"defaultMessage": "written link",
|
|
96
|
+
"description": "Legend of the underline of a link the author wrote in the text."
|
|
97
|
+
},
|
|
98
|
+
"entity.markNoNote": {
|
|
99
|
+
"defaultMessage": "{count, plural, one {# passage} other {# passages}}, no note",
|
|
100
|
+
"description": "Title of a recognised expression without a note in the text, shown on hover and read by assistive technology, counting the passages of its keyword page."
|
|
101
|
+
},
|
|
102
|
+
"entity.markNote": {
|
|
103
|
+
"defaultMessage": "note: {title}",
|
|
104
|
+
"description": "Title of a recognised word in the text, shown on hover and read by assistive technology, naming the note it leads to."
|
|
105
|
+
},
|
|
106
|
+
"entity.mentions": {
|
|
107
|
+
"defaultMessage": "Mentions",
|
|
108
|
+
"description": "Heading of the mentions panel of an entity page."
|
|
109
|
+
},
|
|
110
|
+
"entity.mentionsCount": {
|
|
111
|
+
"defaultMessage": "{count, plural, one {# mention} other {# mentions}}",
|
|
112
|
+
"description": "Number of mentions of an entity, with the plural handled by the message."
|
|
113
|
+
},
|
|
114
|
+
"entity.neighbourPages": {
|
|
115
|
+
"defaultMessage": "{count, plural, one {# page} other {# pages}}",
|
|
116
|
+
"description": "Number of pages of the neighbourhood, after the line that unfolds it."
|
|
117
|
+
},
|
|
118
|
+
"entity.neighbours": {
|
|
119
|
+
"defaultMessage": "Neighbourhood",
|
|
120
|
+
"description": "Heading of the one-hop neighbourhood of an entity."
|
|
121
|
+
},
|
|
122
|
+
"entity.onThisPage": {
|
|
123
|
+
"defaultMessage": "On this page",
|
|
124
|
+
"description": "Heading of the table of contents of an entity page, one entry per section of the note."
|
|
125
|
+
},
|
|
126
|
+
"entity.otherAttributes": {
|
|
127
|
+
"defaultMessage": "Other attributes",
|
|
128
|
+
"description": "Heading of the section listing the frontmatter keys the profile does not declare for the type."
|
|
129
|
+
},
|
|
130
|
+
"entity.otherPages": {
|
|
131
|
+
"defaultMessage": "{count, plural, one {# other page} other {# other pages}}",
|
|
132
|
+
"description": "Node of the tree of the space standing for the pages of a long folder it leaves out."
|
|
133
|
+
},
|
|
134
|
+
"entity.relatedTo": {
|
|
135
|
+
"defaultMessage": "Related to",
|
|
136
|
+
"description": "Heading of the list of entities linked to the current one."
|
|
137
|
+
},
|
|
138
|
+
"entity.seeNeighbourhood": {
|
|
139
|
+
"defaultMessage": "See the neighbourhood map",
|
|
140
|
+
"description": "Line of the right panel that unfolds the neighbourhood of the page."
|
|
141
|
+
},
|
|
142
|
+
"entity.separateFiles": {
|
|
143
|
+
"defaultMessage": "Separate these files",
|
|
144
|
+
"description": "Link under the grouped files of the properties panel, leading to where a reader contests the grouping: the contribution address of the project, else the guide of the lock file."
|
|
145
|
+
},
|
|
146
|
+
"entity.showLess": {
|
|
147
|
+
"defaultMessage": "Show less",
|
|
148
|
+
"description": "Button that collapses an expanded list."
|
|
149
|
+
},
|
|
150
|
+
"entity.showMore": {
|
|
151
|
+
"defaultMessage": "Show more",
|
|
152
|
+
"description": "Button that expands a truncated list."
|
|
153
|
+
},
|
|
154
|
+
"entity.sources": {
|
|
155
|
+
"defaultMessage": "Sources",
|
|
156
|
+
"description": "Heading of the list of sources an entity comes from."
|
|
157
|
+
},
|
|
158
|
+
"entity.spaceTree": {
|
|
159
|
+
"defaultMessage": "Tree of the space",
|
|
160
|
+
"description": "Accessible name of the tree of the space in the left column of an entity page."
|
|
161
|
+
},
|
|
162
|
+
"entity.status": {
|
|
163
|
+
"defaultMessage": "Status",
|
|
164
|
+
"description": "Label of the lifecycle status of an entity."
|
|
165
|
+
},
|
|
166
|
+
"entity.type": {
|
|
167
|
+
"defaultMessage": "Type",
|
|
168
|
+
"description": "Label of the type of an entity."
|
|
169
|
+
}
|
|
170
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
{
|
|
2
|
+
"footer.accessibility": {
|
|
3
|
+
"defaultMessage": "Accessibility",
|
|
4
|
+
"description": "Link of the footer to the accessibility statement the organisation declared, without a state."
|
|
5
|
+
},
|
|
6
|
+
"footer.accessibilityWith": {
|
|
7
|
+
"defaultMessage": "Accessibility — {status}",
|
|
8
|
+
"description": "Link of the footer to the accessibility statement, with the compliance it declares."
|
|
9
|
+
},
|
|
10
|
+
"footer.buildAt": {
|
|
11
|
+
"defaultMessage": "{day, date, medium} {time, time, short}",
|
|
12
|
+
"description": "The build instant on the line under the footer."
|
|
13
|
+
},
|
|
14
|
+
"footer.builtWith": {
|
|
15
|
+
"defaultMessage": "Built with",
|
|
16
|
+
"description": "Start of the sentence naming the generator; the name of the tool follows only when the theme credits it."
|
|
17
|
+
},
|
|
18
|
+
"footer.compliant": {
|
|
19
|
+
"defaultMessage": "compliant",
|
|
20
|
+
"description": "Accessibility state declared by the organisation: fully compliant."
|
|
21
|
+
},
|
|
22
|
+
"footer.content": {
|
|
23
|
+
"defaultMessage": "The content belongs to its organisation.",
|
|
24
|
+
"description": "Sentence of the footer after the licence of the tool."
|
|
25
|
+
},
|
|
26
|
+
"footer.declared": {
|
|
27
|
+
"defaultMessage": "Declared by the organisation",
|
|
28
|
+
"description": "Heading of the second column of the footer: the pages only the organisation can declare."
|
|
29
|
+
},
|
|
30
|
+
"footer.generator": {
|
|
31
|
+
"defaultMessage": "a static site generator",
|
|
32
|
+
"description": "What the site is built with, after Built with; linked to the repository when the theme credits the tool."
|
|
33
|
+
},
|
|
34
|
+
"footer.licence": {
|
|
35
|
+
"defaultMessage": "under the GNU GPL v3 or later licence.",
|
|
36
|
+
"description": "End of the sentence naming the generator: its licence."
|
|
37
|
+
},
|
|
38
|
+
"footer.mentions": {
|
|
39
|
+
"defaultMessage": "Legal notice",
|
|
40
|
+
"description": "Link of the footer to the legal notice the organisation declared."
|
|
41
|
+
},
|
|
42
|
+
"footer.nonCompliant": {
|
|
43
|
+
"defaultMessage": "non compliant",
|
|
44
|
+
"description": "Accessibility state declared by the organisation: not compliant."
|
|
45
|
+
},
|
|
46
|
+
"footer.pages": {
|
|
47
|
+
"defaultMessage": "{count, plural, one {# page} other {# pages}}",
|
|
48
|
+
"description": "The number of pages on the line under the footer."
|
|
49
|
+
},
|
|
50
|
+
"footer.partiallyCompliant": {
|
|
51
|
+
"defaultMessage": "partially compliant",
|
|
52
|
+
"description": "Accessibility state declared by the organisation: partially compliant."
|
|
53
|
+
},
|
|
54
|
+
"footer.privacy": {
|
|
55
|
+
"defaultMessage": "Personal data",
|
|
56
|
+
"description": "Link of the footer to the personal data page the organisation declared."
|
|
57
|
+
},
|
|
58
|
+
"footer.profile": {
|
|
59
|
+
"defaultMessage": "profile {profile}",
|
|
60
|
+
"description": "The profile with its version on the line under the footer, default@1 for instance."
|
|
61
|
+
},
|
|
62
|
+
"footer.publication": {
|
|
63
|
+
"defaultMessage": "publication",
|
|
64
|
+
"description": "Start of the line under the footer, in the monospace family, before the build instant."
|
|
65
|
+
},
|
|
66
|
+
"footer.published": {
|
|
67
|
+
"defaultMessage": "Published on {day, date, long} at {time, time, short}, from",
|
|
68
|
+
"description": "First sentence of the footer, before the link counting the repositories."
|
|
69
|
+
},
|
|
70
|
+
"footer.repositories": {
|
|
71
|
+
"defaultMessage": "{count, plural, one {# repository} other {# repositories}}",
|
|
72
|
+
"description": "Link of the footer to the spaces page, counting the repositories the site is built from."
|
|
73
|
+
},
|
|
74
|
+
"footer.sources": {
|
|
75
|
+
"defaultMessage": "See the sources and their versions",
|
|
76
|
+
"description": "Link of the footer to the about page."
|
|
77
|
+
},
|
|
78
|
+
"footer.thisSite": {
|
|
79
|
+
"defaultMessage": "This site",
|
|
80
|
+
"description": "Heading of the first column of the footer: what the tool knows of the site."
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"home.browse": {
|
|
3
|
+
"defaultMessage": "browse",
|
|
4
|
+
"description": "Keyboard help under the live results of a search field, after the arrow keys."
|
|
5
|
+
},
|
|
6
|
+
"home.datesNote": {
|
|
7
|
+
"defaultMessage": "The dates come from the history of the repositories, so they are always right.",
|
|
8
|
+
"description": "Note under the spaces of the home page, saying where their dates come from."
|
|
9
|
+
},
|
|
10
|
+
"home.documents": {
|
|
11
|
+
"defaultMessage": "{count, plural, one {# document} other {# documents}}",
|
|
12
|
+
"description": "Number of documents of a space whose notes mostly stand for converted documents, on its row of the home page."
|
|
13
|
+
},
|
|
14
|
+
"home.enterKey": {
|
|
15
|
+
"defaultMessage": "Enter",
|
|
16
|
+
"description": "Name of the Enter key in the keyboard help under the live results of a search field."
|
|
17
|
+
},
|
|
18
|
+
"home.explanation": {
|
|
19
|
+
"defaultMessage": "Type a word of the business. If it is used anywhere in the documentation, it has a page — even if nobody has defined it yet.",
|
|
20
|
+
"description": "Explanation under the question that heads the home page, saying that every word used has a page."
|
|
21
|
+
},
|
|
22
|
+
"home.glossaryTerm": {
|
|
23
|
+
"defaultMessage": "Glossary term — cited in {count, plural, one {# page} other {# pages}}",
|
|
24
|
+
"description": "Under the title of a glossary term in the live results of a search field, counting the pages that cite it in place of its definition."
|
|
25
|
+
},
|
|
26
|
+
"home.matches": {
|
|
27
|
+
"defaultMessage": "{count, plural, one {# match} other {# matches}}",
|
|
28
|
+
"description": "Number of pages a query matches, shown in the search field of the home page as the reader types."
|
|
29
|
+
},
|
|
30
|
+
"home.moreSpaces": {
|
|
31
|
+
"defaultMessage": "{count, plural, one {# more space, less cited} other {# more spaces, less cited}}",
|
|
32
|
+
"description": "Line folding the spaces of the home page beyond the first five, the less cited ones."
|
|
33
|
+
},
|
|
34
|
+
"home.mostCited": {
|
|
35
|
+
"defaultMessage": "Most cited",
|
|
36
|
+
"description": "Lead of the shortcuts of the home page, the most cited pages."
|
|
37
|
+
},
|
|
38
|
+
"home.open": {
|
|
39
|
+
"defaultMessage": "open",
|
|
40
|
+
"description": "Keyboard help under the live results of a search field, after the Enter key."
|
|
41
|
+
},
|
|
42
|
+
"home.pages": {
|
|
43
|
+
"defaultMessage": "{count, plural, one {# page} other {# pages}}",
|
|
44
|
+
"description": "Number of pages of a space, on its row of the home page."
|
|
45
|
+
},
|
|
46
|
+
"home.question": {
|
|
47
|
+
"defaultMessage": "What are you looking for?",
|
|
48
|
+
"description": "The question that heads the home page, above the search field."
|
|
49
|
+
},
|
|
50
|
+
"home.recent": {
|
|
51
|
+
"defaultMessage": "Recently changed",
|
|
52
|
+
"description": "Heading of the home page list of the pages changed last, each with its space and its date."
|
|
53
|
+
},
|
|
54
|
+
"home.seeResults": {
|
|
55
|
+
"defaultMessage": "See the {count, plural, one {# result} other {# results}}",
|
|
56
|
+
"description": "Link from the live results of a search field to the results page, with the number of matches."
|
|
57
|
+
},
|
|
58
|
+
"home.spacesLead": {
|
|
59
|
+
"defaultMessage": "fed by your repositories",
|
|
60
|
+
"description": "After the heading of the spaces on the home page, saying that they come from the declared repositories."
|
|
61
|
+
},
|
|
62
|
+
"home.stale": {
|
|
63
|
+
"defaultMessage": "A space has not moved for {count, plural, one {# day} other {# days}}",
|
|
64
|
+
"description": "Title of the alert of the home page on a space whose newest change is older than the staleness threshold."
|
|
65
|
+
},
|
|
66
|
+
"home.staleThreshold": {
|
|
67
|
+
"defaultMessage": "{space}. The alert threshold is set to {count, plural, one {# day} other {# days}} in the configuration.",
|
|
68
|
+
"description": "Text of the alert on a dormant space, naming the space and the threshold of the configuration in days."
|
|
69
|
+
},
|
|
70
|
+
"home.typeSummary": {
|
|
71
|
+
"defaultMessage": "'{type}' — '{summary}'",
|
|
72
|
+
"description": "Under the title of a note in the live results of a search field: its type, then its first line, the quoted placeholders being filled in the browser."
|
|
73
|
+
},
|
|
74
|
+
"home.usedIn": {
|
|
75
|
+
"defaultMessage": "Used in {count, plural, one {# document} other {# documents}}, never defined",
|
|
76
|
+
"description": "Under the title of a keyword page in the live results of a search field, with the number of documents using the expression."
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"index.bySpace": {
|
|
3
|
+
"defaultMessage": "By space",
|
|
4
|
+
"description": "Heading of the filter of the index by space, the sources of the model."
|
|
5
|
+
},
|
|
6
|
+
"index.byType": {
|
|
7
|
+
"defaultMessage": "By type",
|
|
8
|
+
"description": "Heading of the filter of the index by type of page."
|
|
9
|
+
},
|
|
10
|
+
"index.columnDescription": {
|
|
11
|
+
"defaultMessage": "First line of the page, or most cited passage",
|
|
12
|
+
"description": "Heading of the column of the index showing the summary of a page or, for a word without a definition, the passage that uses it most."
|
|
13
|
+
},
|
|
14
|
+
"index.columnPages": {
|
|
15
|
+
"defaultMessage": "Pages",
|
|
16
|
+
"description": "Heading of the column of the index counting the pages that cite a word."
|
|
17
|
+
},
|
|
18
|
+
"index.columnType": {
|
|
19
|
+
"defaultMessage": "Type",
|
|
20
|
+
"description": "Heading of the column of the index naming the type of a page."
|
|
21
|
+
},
|
|
22
|
+
"index.columnWord": {
|
|
23
|
+
"defaultMessage": "Word",
|
|
24
|
+
"description": "Heading of the column of the index giving the word itself."
|
|
25
|
+
},
|
|
26
|
+
"index.empty": {
|
|
27
|
+
"defaultMessage": "No entry under this letter",
|
|
28
|
+
"description": "Notice shown when a letter of the index has no entry."
|
|
29
|
+
},
|
|
30
|
+
"index.filters": {
|
|
31
|
+
"defaultMessage": "Filters",
|
|
32
|
+
"description": "Button folding the filters of the index."
|
|
33
|
+
},
|
|
34
|
+
"index.lead": {
|
|
35
|
+
"defaultMessage": "{words, plural, one {# word} other {# words}} used in the documentation. {notes, plural, one {# has a written page} other {# have a written page}}, the others exist through their uses alone.",
|
|
36
|
+
"description": "Sentence under the title of the index, with the number of indexed words and the number of them that have a note."
|
|
37
|
+
},
|
|
38
|
+
"index.letters": {
|
|
39
|
+
"defaultMessage": "Browse by initial letter",
|
|
40
|
+
"description": "Label of the letter navigation of the index."
|
|
41
|
+
},
|
|
42
|
+
"index.lettersWithout": {
|
|
43
|
+
"defaultMessage": "{count, plural, one {# letter without an entry} other {# letters without an entry}}",
|
|
44
|
+
"description": "After the letter bar of the index, counting the letters no title opens with."
|
|
45
|
+
},
|
|
46
|
+
"index.noDefinition": {
|
|
47
|
+
"defaultMessage": "no definition",
|
|
48
|
+
"description": "In the type column of the index, for a word without a note."
|
|
49
|
+
},
|
|
50
|
+
"index.note": {
|
|
51
|
+
"defaultMessage": "Words without a definition sit in the index like the others, dotted, with the passage that uses them most in place of a definition. That is the working list of a glossary owner.",
|
|
52
|
+
"description": "Note at the foot of the index explaining how the words without a definition are listed."
|
|
53
|
+
},
|
|
54
|
+
"index.passage": {
|
|
55
|
+
"defaultMessage": "“{passage}” — {title}",
|
|
56
|
+
"description": "In the index, the passage that uses a word without a definition most, quoted, then the title of the page it comes from."
|
|
57
|
+
},
|
|
58
|
+
"index.title": {
|
|
59
|
+
"defaultMessage": "A–Z index",
|
|
60
|
+
"description": "Title of the alphabetical index page."
|
|
61
|
+
},
|
|
62
|
+
"index.withoutDefinition": {
|
|
63
|
+
"defaultMessage": "without a definition",
|
|
64
|
+
"description": "The filter of the index keeping the words without a note."
|
|
65
|
+
},
|
|
66
|
+
"index.words": {
|
|
67
|
+
"defaultMessage": "{count, plural, one {# word} other {# words}}",
|
|
68
|
+
"description": "After a letter heading of the index, counting its entries."
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
{
|
|
2
|
+
"keyword.createNote": {
|
|
3
|
+
"defaultMessage": "Propose a definition",
|
|
4
|
+
"description": "Call to action that opens the note template of the glossary for a keyword."
|
|
5
|
+
},
|
|
6
|
+
"keyword.factFiles": {
|
|
7
|
+
"defaultMessage": "Files",
|
|
8
|
+
"description": "Label of the number of files a keyword appears in, in the panel of its page."
|
|
9
|
+
},
|
|
10
|
+
"keyword.factOccurrences": {
|
|
11
|
+
"defaultMessage": "Occurrences",
|
|
12
|
+
"description": "Label of the number of occurrences of a keyword, in the panel of its page."
|
|
13
|
+
},
|
|
14
|
+
"keyword.factSpaces": {
|
|
15
|
+
"defaultMessage": "Spaces",
|
|
16
|
+
"description": "Label of the spaces a keyword appears in, in the panel of its page."
|
|
17
|
+
},
|
|
18
|
+
"keyword.filesSummary": {
|
|
19
|
+
"defaultMessage": "{count, plural, one {# file.} other {# files.}}",
|
|
20
|
+
"description": "Sentence under the passages heading of a keyword page, counting the files they come from."
|
|
21
|
+
},
|
|
22
|
+
"keyword.maybeSame": {
|
|
23
|
+
"defaultMessage": "Maybe the same thing",
|
|
24
|
+
"description": "Heading of the panel block listing the expressions of a similar form."
|
|
25
|
+
},
|
|
26
|
+
"keyword.noDefinition": {
|
|
27
|
+
"defaultMessage": "No definition",
|
|
28
|
+
"description": "Mark on the line under the title of a keyword page, saying that no note defines the word."
|
|
29
|
+
},
|
|
30
|
+
"keyword.noProperty": {
|
|
31
|
+
"defaultMessage": "No declared property: there is no file for this word.",
|
|
32
|
+
"description": "Note under the counts of a keyword page, saying why it has no properties block."
|
|
33
|
+
},
|
|
34
|
+
"keyword.noteWritten": {
|
|
35
|
+
"defaultMessage": "A note now defines this expression:",
|
|
36
|
+
"description": "Text of the page that forwards a former keyword address to the note written since."
|
|
37
|
+
},
|
|
38
|
+
"keyword.noticeDetail": {
|
|
39
|
+
"defaultMessage": "This page is built from those passages alone. If someone creates the note in the glossary, its text will take its place here and the rest of the page will not change.",
|
|
40
|
+
"description": "Second part of the notice of a keyword page, saying what the page is built from and what happens when a note is written."
|
|
41
|
+
},
|
|
42
|
+
"keyword.noticeLead": {
|
|
43
|
+
"defaultMessage": "{count, plural, one {Nobody has written a definition, but # passage uses this word.} other {Nobody has written a definition, but # passages use this word.}}",
|
|
44
|
+
"description": "First sentence of the notice of a keyword page, with the number of passages that use the word."
|
|
45
|
+
},
|
|
46
|
+
"keyword.occurrences": {
|
|
47
|
+
"defaultMessage": "{count, plural, one {# occurrence} other {# occurrences}}",
|
|
48
|
+
"description": "Number of occurrences of a keyword across the corpus."
|
|
49
|
+
},
|
|
50
|
+
"keyword.otherPassages": {
|
|
51
|
+
"defaultMessage": "{count, plural, one {# other passage} other {# other passages}}",
|
|
52
|
+
"description": "Line under the two passages in view of a page on a keyword page, which unfolds the other passages of that page."
|
|
53
|
+
},
|
|
54
|
+
"keyword.pageAt": {
|
|
55
|
+
"defaultMessage": "p. {number, number}",
|
|
56
|
+
"description": "Position of a passage read from a converted document, given by its page number."
|
|
57
|
+
},
|
|
58
|
+
"keyword.passagesTitle": {
|
|
59
|
+
"defaultMessage": "The passages, in corpus order",
|
|
60
|
+
"description": "Heading of the passages of a keyword page."
|
|
61
|
+
},
|
|
62
|
+
"keyword.relatedNote": {
|
|
63
|
+
"defaultMessage": "Ordered by number of passages. None is “cited”: this word has no note to carry links.",
|
|
64
|
+
"description": "Note under the related pages of a keyword page, saying how they are ordered and why none is cited."
|
|
65
|
+
},
|
|
66
|
+
"keyword.showOtherFiles": {
|
|
67
|
+
"defaultMessage": "{count, plural, one {Show the other file} other {Show the # other files}}",
|
|
68
|
+
"description": "Disclosure under the six pages in view of a keyword page, which shows the passages of the other files."
|
|
69
|
+
},
|
|
70
|
+
"keyword.similarLead": {
|
|
71
|
+
"defaultMessage": "Expressions close in form and context. A lead, not a claim.",
|
|
72
|
+
"description": "Note under the expressions of a similar form, worded so as to assert no relation."
|
|
73
|
+
},
|
|
74
|
+
"keyword.slideAt": {
|
|
75
|
+
"defaultMessage": "slide {number, number}",
|
|
76
|
+
"description": "Position of a passage read from a slide deck, given by its slide number."
|
|
77
|
+
},
|
|
78
|
+
"keyword.terms": {
|
|
79
|
+
"defaultMessage": "Terms",
|
|
80
|
+
"description": "Middle step of the breadcrumb of a keyword page, between the space and the word."
|
|
81
|
+
},
|
|
82
|
+
"keyword.title": {
|
|
83
|
+
"defaultMessage": "Keyword",
|
|
84
|
+
"description": "Heading of a keyword page."
|
|
85
|
+
},
|
|
86
|
+
"keyword.undefinedExpression": {
|
|
87
|
+
"defaultMessage": "Expression without a note",
|
|
88
|
+
"description": "Notice that a keyword has no note of its own yet."
|
|
89
|
+
},
|
|
90
|
+
"keyword.usedSince": {
|
|
91
|
+
"defaultMessage": "Used since {month}",
|
|
92
|
+
"description": "Line under the title of a keyword page, giving the month of the oldest file that uses the word."
|
|
93
|
+
},
|
|
94
|
+
"keyword.whatWeKnow": {
|
|
95
|
+
"defaultMessage": "What we know",
|
|
96
|
+
"description": "Heading of the panel block giving the counts of a keyword."
|
|
97
|
+
}
|
|
98
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meeting.date": {
|
|
3
|
+
"defaultMessage": "Date",
|
|
4
|
+
"description": "Label of the date of a meeting in the properties block."
|
|
5
|
+
},
|
|
6
|
+
"meeting.decision": {
|
|
7
|
+
"defaultMessage": "Decision taken here",
|
|
8
|
+
"description": "Lead of the callout linking the decisions a meeting produced."
|
|
9
|
+
},
|
|
10
|
+
"meeting.deck": {
|
|
11
|
+
"defaultMessage": "Deck",
|
|
12
|
+
"description": "Tab of the deck on the page of a meeting: the original file, its preview and its extracted text."
|
|
13
|
+
},
|
|
14
|
+
"meeting.document": {
|
|
15
|
+
"defaultMessage": "Document",
|
|
16
|
+
"description": "Tab of a converted document that is not a deck on the page of a meeting."
|
|
17
|
+
},
|
|
18
|
+
"meeting.durationHours": {
|
|
19
|
+
"defaultMessage": "{hours} h {minutes}",
|
|
20
|
+
"description": "Duration of a meeting of an hour or more, the minutes on two digits."
|
|
21
|
+
},
|
|
22
|
+
"meeting.durationMinutes": {
|
|
23
|
+
"defaultMessage": "{minutes} min",
|
|
24
|
+
"description": "Duration of a meeting under an hour."
|
|
25
|
+
},
|
|
26
|
+
"meeting.grouped": {
|
|
27
|
+
"defaultMessage": "Grouped automatically",
|
|
28
|
+
"description": "Mention next to the tabs of a meeting: the build grouped its files."
|
|
29
|
+
},
|
|
30
|
+
"meeting.groupingNote": {
|
|
31
|
+
"defaultMessage": "{count, plural, one {# file} other {# files}}: {reasons}.",
|
|
32
|
+
"description": "Note under the properties of a meeting naming why the build grouped its files."
|
|
33
|
+
},
|
|
34
|
+
"meeting.notes": {
|
|
35
|
+
"defaultMessage": "Notes",
|
|
36
|
+
"description": "Tab of the written notes on the page of a meeting."
|
|
37
|
+
},
|
|
38
|
+
"meeting.participants": {
|
|
39
|
+
"defaultMessage": "{count, plural, one {# participant} other {# participants}}",
|
|
40
|
+
"description": "Number of participants of a meeting, when their names are not pseudonymised."
|
|
41
|
+
},
|
|
42
|
+
"meeting.pseudonymNote": {
|
|
43
|
+
"defaultMessage": "The names of the participants are replaced at publication by stable pseudonyms. The mapping is never published.",
|
|
44
|
+
"description": "Note under the transcript of a meeting whose speakers were pseudonymised."
|
|
45
|
+
},
|
|
46
|
+
"meeting.pseudonymised": {
|
|
47
|
+
"defaultMessage": "Pseudonymised participants",
|
|
48
|
+
"description": "Mention under the title of a meeting whose transcript was pseudonymised."
|
|
49
|
+
},
|
|
50
|
+
"meeting.relatedNote": {
|
|
51
|
+
"defaultMessage": "A meeting does not enter the model: it brings passages, and sometimes a decision someone took the trouble to write elsewhere.",
|
|
52
|
+
"description": "Note under the related pages of a meeting."
|
|
53
|
+
},
|
|
54
|
+
"meeting.representations": {
|
|
55
|
+
"defaultMessage": "Representations",
|
|
56
|
+
"description": "Accessible name of the tabs of a meeting, one per file grouped into its page."
|
|
57
|
+
},
|
|
58
|
+
"meeting.signal.commit": {
|
|
59
|
+
"defaultMessage": "same commit",
|
|
60
|
+
"description": "Grouping reason of the files of a meeting: added in the same commit."
|
|
61
|
+
},
|
|
62
|
+
"meeting.signal.content": {
|
|
63
|
+
"defaultMessage": "high textual overlap",
|
|
64
|
+
"description": "Grouping reason of the files of a meeting: their texts are similar."
|
|
65
|
+
},
|
|
66
|
+
"meeting.signal.declared": {
|
|
67
|
+
"defaultMessage": "declared in the frontmatter",
|
|
68
|
+
"description": "Grouping reason of the files of a meeting: the note names its twin."
|
|
69
|
+
},
|
|
70
|
+
"meeting.signal.folder": {
|
|
71
|
+
"defaultMessage": "same folder",
|
|
72
|
+
"description": "Grouping reason of the files of a meeting: they lie in the same folder."
|
|
73
|
+
},
|
|
74
|
+
"meeting.signal.name": {
|
|
75
|
+
"defaultMessage": "same base name",
|
|
76
|
+
"description": "Grouping reason of the files of a meeting: they share their base name."
|
|
77
|
+
},
|
|
78
|
+
"meeting.signal.similarName": {
|
|
79
|
+
"defaultMessage": "similar base names",
|
|
80
|
+
"description": "Grouping reason of the files of a meeting: their base names are close."
|
|
81
|
+
},
|
|
82
|
+
"meeting.signal.title": {
|
|
83
|
+
"defaultMessage": "title equal to the heading",
|
|
84
|
+
"description": "Grouping reason of the files of a meeting: the title of a document is the heading of the note."
|
|
85
|
+
},
|
|
86
|
+
"meeting.space": {
|
|
87
|
+
"defaultMessage": "Space",
|
|
88
|
+
"description": "Label of the space of a meeting in the properties block."
|
|
89
|
+
},
|
|
90
|
+
"meeting.transcript": {
|
|
91
|
+
"defaultMessage": "Transcript",
|
|
92
|
+
"description": "Tab of the transcript on the page of a meeting."
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"mentions.atLine": {
|
|
3
|
+
"defaultMessage": "line {line, number}",
|
|
4
|
+
"description": "Location of a mention inside a document, given by its line number."
|
|
5
|
+
},
|
|
6
|
+
"mentions.inSection": {
|
|
7
|
+
"defaultMessage": "in section {section}",
|
|
8
|
+
"description": "Location of a mention inside a document, given by its section heading."
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"nav.applications": {
|
|
3
|
+
"defaultMessage": "Applications",
|
|
4
|
+
"description": "Navigation entry for the list of applications."
|
|
5
|
+
},
|
|
6
|
+
"nav.domains": {
|
|
7
|
+
"defaultMessage": "Domains",
|
|
8
|
+
"description": "Navigation entry for the domain hierarchy."
|
|
9
|
+
},
|
|
10
|
+
"nav.index": {
|
|
11
|
+
"defaultMessage": "A–Z index",
|
|
12
|
+
"description": "Link of the top bar to the alphabetical index."
|
|
13
|
+
},
|
|
14
|
+
"nav.types": {
|
|
15
|
+
"defaultMessage": "Types",
|
|
16
|
+
"description": "Navigation entry for the list of entity types."
|
|
17
|
+
}
|
|
18
|
+
}
|