@mrfylke/contact-form 0.1.30 → 0.1.32
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/README.md +19 -3
- package/lib/components/icon/generated-icons.js +42 -42
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -2
- package/lib/layouts/contact-page-layout.d.ts.map +1 -1
- package/lib/layouts/contact-page-layout.js +2 -1
- package/lib/lines/use-lines.d.ts +2 -2
- package/lib/lines/use-lines.d.ts.map +1 -1
- package/lib/lines/use-lines.js +14 -21
- package/lib/means-of-transport/means-of-transport-form-machine.d.ts +2 -2
- package/lib/modules/config/context.d.ts.map +1 -1
- package/lib/modules/config/types.d.ts +26 -17
- package/lib/modules/config/types.d.ts.map +1 -1
- package/lib/refund/forms/refund-and-travel-guarantee/index.d.ts.map +1 -1
- package/lib/refund/forms/refund-and-travel-guarantee/index.js +2 -2
- package/lib/refund/forms/refund-and-travel-guarantee/refundCarForm.d.ts.map +1 -1
- package/lib/refund/forms/refund-and-travel-guarantee/refundCarForm.js +5 -2
- package/lib/refund/forms/refund-and-travel-guarantee/refundTaxiForm.d.ts.map +1 -1
- package/lib/refund/forms/refund-and-travel-guarantee/refundTaxiForm.js +7 -4
- package/lib/refund/forms/refund-ticket/appTicketRefund.d.ts.map +1 -1
- package/lib/refund/forms/refund-ticket/appTicketRefund.js +7 -2
- package/lib/refund/forms/refund-ticket/index.d.ts.map +1 -1
- package/lib/refund/forms/refund-ticket/index.js +2 -5
- package/lib/refund/forms/refund-ticket/otherTicketRefund.js +2 -2
- package/lib/refund/forms/residualValueOnTravelCard/index.d.ts.map +1 -1
- package/lib/refund/forms/residualValueOnTravelCard/index.js +2 -7
- package/lib/refund/index.d.ts.map +1 -1
- package/lib/refund/index.js +6 -2
- package/lib/refund/refundFormMachine.d.ts +6 -2
- package/lib/refund/refundFormMachine.d.ts.map +1 -1
- package/lib/refund/refundFormMachine.js +14 -7
- package/lib/ticketing/forms/travel-card/orderTravelCard.d.ts.map +1 -1
- package/lib/ticketing/forms/travel-card/orderTravelCard.js +2 -11
- package/lib/ticketing/ticketingStateMachine.d.ts +4 -4
- package/lib/translations/commons.d.ts +8 -2
- package/lib/translations/commons.d.ts.map +1 -1
- package/lib/translations/commons.js +4 -0
- package/lib/translations/index.d.ts +3 -2
- package/lib/translations/index.d.ts.map +1 -1
- package/lib/translations/index.js +5 -1
- package/lib/translations/language-context.d.ts +4 -10
- package/lib/translations/language-context.d.ts.map +1 -1
- package/lib/translations/language-context.js +12 -5
- package/lib/translations/lobot.d.ts +9 -0
- package/lib/translations/lobot.d.ts.map +1 -0
- package/lib/translations/lobot.js +6 -0
- package/lib/translations/merge-overrides.d.ts +2 -0
- package/lib/translations/merge-overrides.d.ts.map +1 -1
- package/lib/translations/merge-overrides.js +2 -0
- package/lib/translations/pages/contact.d.ts +4 -13
- package/lib/translations/pages/contact.d.ts.map +1 -1
- package/lib/translations/pages/contact.js +38 -35
- package/lib/translations/terms/default-terms.d.ts +23 -0
- package/lib/translations/terms/default-terms.d.ts.map +1 -0
- package/lib/translations/terms/default-terms.js +25 -0
- package/lib/translations/terms/index.d.ts +4 -0
- package/lib/translations/terms/index.d.ts.map +1 -0
- package/lib/translations/terms/index.js +9 -0
- package/lib/translations/terms/placeholders.d.ts +16 -0
- package/lib/translations/terms/placeholders.d.ts.map +1 -0
- package/lib/translations/terms/placeholders.js +16 -0
- package/lib/translations/terms/types.d.ts +17 -0
- package/lib/translations/terms/types.d.ts.map +1 -0
- package/lib/translations/terms/types.js +2 -0
- package/lib/translations/translations-context.d.ts +6 -0
- package/lib/translations/translations-context.d.ts.map +1 -1
- package/lib/translations/translations-context.js +25 -0
- package/lib/translations/types.d.ts +2 -0
- package/lib/translations/types.d.ts.map +1 -1
- package/lib/types.d.ts +2 -2
- package/lib/types.d.ts.map +1 -1
- package/lib/utils/rich-text.d.ts +9 -0
- package/lib/utils/rich-text.d.ts.map +1 -0
- package/lib/utils/rich-text.js +33 -0
- package/lib/utils/rich-text.module.css +5 -0
- package/package.json +2 -1
|
@@ -37,6 +37,7 @@ exports.jsonToTranslatedString = jsonToTranslatedString;
|
|
|
37
37
|
exports.mergeTranslationOverrides = mergeTranslationOverrides;
|
|
38
38
|
const commons_1 = require("./commons");
|
|
39
39
|
const PageText = __importStar(require("./pages"));
|
|
40
|
+
const terms_1 = require("./terms");
|
|
40
41
|
/**
|
|
41
42
|
* Convert a JSON translation object with no/en/nn keys to TranslatedString format
|
|
42
43
|
*/
|
|
@@ -115,5 +116,6 @@ function mergeTranslationOverrides(overrides) {
|
|
|
115
116
|
PageText: overrides.pages
|
|
116
117
|
? deepMergeTranslations(PageText, overrides.pages)
|
|
117
118
|
: PageText,
|
|
119
|
+
terms: { ...terms_1.defaultTerms, ...overrides.terms },
|
|
118
120
|
};
|
|
119
121
|
}
|
|
@@ -66,11 +66,7 @@ export declare const Contact: {
|
|
|
66
66
|
description: import("../../translations/commons").TranslatedString;
|
|
67
67
|
webshopRefundLabel: import("../../translations/commons").TranslatedString;
|
|
68
68
|
title: import("../../translations/commons").TranslatedString;
|
|
69
|
-
|
|
70
|
-
text: import("../../translations/commons").TranslatedString;
|
|
71
|
-
href: import("../../translations/commons").TranslatedString;
|
|
72
|
-
};
|
|
73
|
-
monthlyPayoutDetails: import("../../translations/commons").TranslatedString;
|
|
69
|
+
text: import("../../translations/commons").RichTranslatedString;
|
|
74
70
|
paymentWhen: import("../../translations/commons").TranslatedString;
|
|
75
71
|
automatedProcessNotice: {
|
|
76
72
|
note: import("../../translations/commons").TranslatedString;
|
|
@@ -80,7 +76,7 @@ export declare const Contact: {
|
|
|
80
76
|
agreement: {
|
|
81
77
|
title: import("../../translations/commons").TranslatedString;
|
|
82
78
|
delayedRefundText: import("../../translations/commons").TranslatedString;
|
|
83
|
-
ticketRefundText: import("../../translations/commons").
|
|
79
|
+
ticketRefundText: import("../../translations/commons").RichTranslatedString;
|
|
84
80
|
travelGuaranteeExceptions: {
|
|
85
81
|
label: import("../../translations/commons").TranslatedString;
|
|
86
82
|
exceptions: {
|
|
@@ -220,11 +216,6 @@ export declare const Contact: {
|
|
|
220
216
|
orderTravelCard: {
|
|
221
217
|
label: import("../../translations/commons").TranslatedString;
|
|
222
218
|
detailsList: import("../../translations/commons").TranslatedString[];
|
|
223
|
-
detailWithUrl: {
|
|
224
|
-
detail: import("../../translations/commons").TranslatedString;
|
|
225
|
-
linkText: import("../../translations/commons").TranslatedString;
|
|
226
|
-
href: import("../../translations/commons").TranslatedString;
|
|
227
|
-
};
|
|
228
219
|
};
|
|
229
220
|
travelCardQuestion: {
|
|
230
221
|
label: import("../../translations/commons").TranslatedString;
|
|
@@ -241,8 +232,7 @@ export declare const Contact: {
|
|
|
241
232
|
title: import("../../translations/commons").TranslatedString;
|
|
242
233
|
rules: import("../../translations/commons").TranslatedString[];
|
|
243
234
|
info: {
|
|
244
|
-
text: import("../../translations/commons").
|
|
245
|
-
link: import("../../translations/commons").TranslatedString;
|
|
235
|
+
text: import("../../translations/commons").RichTranslatedString;
|
|
246
236
|
note: import("../../translations/commons").TranslatedString;
|
|
247
237
|
};
|
|
248
238
|
checkbox: import("../../translations/commons").TranslatedString;
|
|
@@ -382,6 +372,7 @@ export declare const Contact: {
|
|
|
382
372
|
optionLabel: import("../../translations/commons").TranslatedString;
|
|
383
373
|
modes: {
|
|
384
374
|
bus: import("../../translations/commons").TranslatedString;
|
|
375
|
+
tram: import("../../translations/commons").TranslatedString;
|
|
385
376
|
expressboat: import("../../translations/commons").TranslatedString;
|
|
386
377
|
ferry: import("../../translations/commons").TranslatedString;
|
|
387
378
|
bestillingstransport: import("../../translations/commons").TranslatedString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact.d.ts","sourceRoot":"","sources":["../../../src/translations/pages/contact.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"contact.d.ts","sourceRoot":"","sources":["../../../src/translations/pages/contact.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,IAAI,CAAC,EAEjB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEtE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAuvBG,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA6dlC,yBAAyB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAwPF,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAyLd,MAAM;;;;yCASA,MAAM;;;;CAexC,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Contact = void 0;
|
|
4
4
|
const commons_1 = require("../../translations/commons");
|
|
5
|
+
const terms_1 = require("../terms");
|
|
5
6
|
const types_1 = require("../../types");
|
|
6
7
|
exports.Contact = {
|
|
7
8
|
pageTitle: (0, commons_1.translation)('Kontakt', 'Contact', 'Kontakt'),
|
|
@@ -18,7 +19,7 @@ exports.Contact = {
|
|
|
18
19
|
info: (0, commons_1.translation)('Hvis du har fått gebyr på feil grunnlag, kan du sende oss en skriftlig klage.', 'If you have received a fee on incorrect grounds, you can submit a written complaint to us.', 'Dersom du har fått gebyr på feil grunnlag, kan du sende oss ei skriftleg klage.'),
|
|
19
20
|
ticketStorage: {
|
|
20
21
|
question: (0, commons_1.translation)('Hvor pleier du å ha billetten din?', 'Where do you usually keep your ticket?', 'Kor pleier du å ha billetten din?'),
|
|
21
|
-
app: { title: (0, commons_1.translation)(
|
|
22
|
+
app: { title: (0, commons_1.translation)(terms_1.T.ticketApp.Base, terms_1.T.ticketApp.Base, terms_1.T.ticketApp.Base) },
|
|
22
23
|
},
|
|
23
24
|
firstAgreement: {
|
|
24
25
|
title: (0, commons_1.translation)('Har du fått gebyr etter billettkontroll?', 'Have you received a fine after a ticket inspection?', 'Har du fått gebyr etter billettkontroll?'),
|
|
@@ -40,7 +41,7 @@ exports.Contact = {
|
|
|
40
41
|
(0, commons_1.translation)('Kunden kjøper billett til seg selv eller andre for seint, for eksempel etter ombordstiging.', 'The customer buys a ticket for themselves or others too late, for example, after boarding.', 'Kunden kjøper billett til seg sjølv eller andre for seint, for eksempel etter ombordstiging.'),
|
|
41
42
|
(0, commons_1.translation)('Kunden har glemt å fornye periodebillett.', 'The customer has forgotten to renew the ticket.', 'Kunden har gløymt å fornye periodebillett.'),
|
|
42
43
|
(0, commons_1.translation)('Kunden reiser med gyldig billett på mobilen, men mobiltelefonen har gått tom for strøm.', 'The customer travels with a valid ticket on their mobile phone, but the phone has run out of battery.', 'Kunden reiser med gyldig billett på mobilen, men mobiltelefonen har gått tom for straum.'),
|
|
43
|
-
(0, commons_1.translation)(
|
|
44
|
+
(0, commons_1.translation)(`${terms_1.T.travelCard.Definite} ligger igjen hjemme.`, `${terms_1.T.travelCard.Definite} is left at home.`, `${terms_1.T.travelCard.Definite} ligg igjen heime.`),
|
|
44
45
|
],
|
|
45
46
|
checkbox: (0, commons_1.translation)('Jeg forstår reglene og ønsker å klage på gebyret.', 'I understand the rules and want to complain about the fine.', 'Eg forstår reglane og ønsker å klage på gebyret.'),
|
|
46
47
|
},
|
|
@@ -75,24 +76,26 @@ exports.Contact = {
|
|
|
75
76
|
description: (0, commons_1.translation)('Billett kjøpt på buss', 'Ticket bought on bus', 'Billett kjøpt på buss'),
|
|
76
77
|
},
|
|
77
78
|
residualValueOnTravelCard: {
|
|
78
|
-
description: (0, commons_1.translation)(
|
|
79
|
+
description: (0, commons_1.translation)(`Restverdi på ${terms_1.T.travelCard.base} (reisepenger)`, `Residual value on ${terms_1.T.travelCard.base} (travel allowance)`, `Restverdi på ${terms_1.T.travelCard.base} (reisepengar)`),
|
|
79
80
|
webshopRefundLabel: (0, commons_1.translation)('Billett kjøpt i nettbutikk', 'Ticket purchased in webshop', 'Billett kjøpt i nettbutikk'),
|
|
80
|
-
title: (0, commons_1.translation)(
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
81
|
+
title: (0, commons_1.translation)(`Søk refusjon av restverdien på ${terms_1.T.travelCard.indefinite}`, `Apply for a refund of the residual value on ${terms_1.T.travelCard.indefinite}`, `Søk refusjon av restverdien på ${terms_1.T.travelCard.indefinite}`),
|
|
82
|
+
text: (0, commons_1.richTranslation)(`[Skjema for refusjon av restverdien på ${terms_1.T.travelCard.indefinite}](https://forms.office.com/Pages/ResponsePage.aspx?id=5-wyud-clE20wRUlbkPH6qGF2mFbrapOg9lnALAiJk9UMkROS0dORUdaTTZURzJHNFNSSVhVTzE4Ti4u)
|
|
83
|
+
|
|
84
|
+
Restverdien blir betalt ut i slutten av hver måned (med forbehold). Hvis du har flere ${terms_1.T.travelCard.plural} du vil ha refundert, må du sende inn ett skjema per ${terms_1.T.travelCard.base}.`, `[Form for refund of residual value on ${terms_1.T.travelCard.indefinite}](https://forms.office.com/Pages/ResponsePage.aspx?id=5-wyud-clE20wRUlbkPH6qGF2mFbrapOg9lnALAiJk9UMkROS0dORUdaTTZURzJHNFNSSVhVTzE4Ti4u)
|
|
85
|
+
|
|
86
|
+
The residual value is paid out at the end of each month (with reservations). If you have multiple ${terms_1.T.travelCard.plural} that you want refunded, you must submit one form per ${terms_1.T.travelCard.base}.`, `[Skjema for refusjon av restverdien på ${terms_1.T.travelCard.indefinite}](https://forms.office.com/Pages/ResponsePage.aspx?id=5-wyud-clE20wRUlbkPH6qGF2mFbrapOg9lnALAiJk9UMkROS0dORUdaTTZURzJHNFNSSVhVTzE4Ti4u)
|
|
87
|
+
|
|
88
|
+
Restverdien blir betalt ut i slutten av kvar månad (med atterhald). Viss du har fleire ${terms_1.T.travelCard.plural} du vil ha refundert, må du sende inn eitt skjema per ${terms_1.T.travelCard.base}.`),
|
|
86
89
|
paymentWhen: (0, commons_1.translation)('Du får tilbakebetalt det beløpet som gjenstår i kortet, minus et administrasjonsgebyr på 100,- kr. Beløpet må være satt inn i løpet av de tre siste årene.', 'You will be reimbursed the amount remaining on the card, minus an administration fee of NOK 100,-. The amount must have been deposited within the last three years.', 'Du får tilbakebetalt det beløpet som gjenstår i kortet, minus eit administrasjonsgebyr på 100,- kr. Beløpet må være satt inn i løpet av dei siste tre åra.'),
|
|
87
90
|
automatedProcessNotice: {
|
|
88
91
|
note: (0, commons_1.translation)('Merk!', 'Note!', 'Merk!'),
|
|
89
|
-
text: (0, commons_1.translation)(
|
|
92
|
+
text: (0, commons_1.translation)(`Dette skjemaet gjelder bare for refusjon av restverdi på ${terms_1.T.travelCard.plural}. Det er en automatisert prosess som bare fungerer for denne typen refusjon.`, `This form only applies to refunds of residual value on ${terms_1.T.travelCard.plural}. It is an automated process that only works for this type of refund.`, `Dette skjemaet gjeld berre for refusjon av restverdi på ${terms_1.T.travelCard.plural}. Det er ein automatisert prosess som berre fungerar for denne typen refusjon.`),
|
|
90
93
|
},
|
|
91
94
|
},
|
|
92
95
|
agreement: {
|
|
93
96
|
title: (0, commons_1.translation)('Refusjon og reisegaranti', 'Refund and travel guarantee', 'Refusjon og reisegaranti'),
|
|
94
97
|
delayedRefundText: (0, commons_1.translation)('Ble du forsinket fordi vi ikke var i rute? Du kan ha krav på å få refundert utgifter til alternativ transport som for eksempel drosje, bil og annen kollektivtransport.', 'Were you delayed because we were not on schedule? You may be entitled to reimbursement for expenses related to alternative transportation such as taxi, car, and other public transportation.', 'Vart du forseinka fordi vi ikkje var i rute? Du kan du ha krav på å få refundert utlegg til alternativ transport som for eksempel drosje, bil og annan kollektivtransport.'),
|
|
95
|
-
ticketRefundText: (0, commons_1.
|
|
98
|
+
ticketRefundText: (0, commons_1.richTranslation)('Ønsker du refusjon av feilkjøpt eller ikke brukt billett, skal du ikke søke reisegaranti, men refusjon. Dette finner du under [Refusjon av billett](?type=refundOfTicket).', 'If you want a refund for a mistakenly purchased or unused ticket, you should not apply for travel guarantee, but rather for a refund. You can find this under [Refund of ticket](?type=refundOfTicket).', 'Ønsker du refusjon av feilkjøpt eller ikkje brukt billett, skal du ikkje søke reisegaranti, men refusjon. Dette finn du under [Refusjon av billett](?type=refundOfTicket).'),
|
|
96
99
|
travelGuaranteeExceptions: {
|
|
97
100
|
label: (0, commons_1.translation)('I hvilke tilfeller gjelder ikke reisegarantien?', 'In which cases does the travel guarentee not apply?', 'I kva tilfelle gjeld ikkje reisegarantien?'),
|
|
98
101
|
exceptions: [
|
|
@@ -210,7 +213,7 @@ exports.Contact = {
|
|
|
210
213
|
},
|
|
211
214
|
},
|
|
212
215
|
ticketing: {
|
|
213
|
-
title: (0, commons_1.translation)(
|
|
216
|
+
title: (0, commons_1.translation)(`Billetter og ${terms_1.T.orgApp.base}`, `Tickets and ${terms_1.T.orgApp.base}`, `Billettar og ${terms_1.T.orgApp.base}`),
|
|
214
217
|
additionalTicketingInfo: {
|
|
215
218
|
detail: (0, commons_1.translation)('For informasjon om betaling på ferge, se', 'For information on payment on the ferry, see', 'For informasjon om betaling på ferje, sjå'),
|
|
216
219
|
linkText: (0, commons_1.translation)('betaling for ferge', 'payment on the ferry', 'betaling for ferje'),
|
|
@@ -220,7 +223,7 @@ exports.Contact = {
|
|
|
220
223
|
description: (0, commons_1.translation)('Priser og billettyper', 'Prices and ticket types', 'Prisar og billettypar'),
|
|
221
224
|
},
|
|
222
225
|
app: {
|
|
223
|
-
description: (0, commons_1.translation)(
|
|
226
|
+
description: (0, commons_1.translation)(terms_1.T.orgApp.Base, terms_1.T.orgApp.Base, terms_1.T.orgApp.Base),
|
|
224
227
|
appTicketing: {
|
|
225
228
|
title: (0, commons_1.translation)('Hvilken billett gjelder det?', 'Which ticket is it about?', 'Kva billett gjeld det?'),
|
|
226
229
|
label: (0, commons_1.translation)('Kjøp billett', 'Purchase ticket', 'Kjøp billett'),
|
|
@@ -243,22 +246,18 @@ exports.Contact = {
|
|
|
243
246
|
},
|
|
244
247
|
},
|
|
245
248
|
travelCard: {
|
|
246
|
-
description: (0, commons_1.translation)(
|
|
249
|
+
description: (0, commons_1.translation)(terms_1.T.travelCard.Base, terms_1.T.travelCard.Base, terms_1.T.travelCard.Base),
|
|
247
250
|
question: (0, commons_1.translation)('Hva gjelder forespørselen?', 'What is the request about?', 'Kva gjeld førespurnaden'),
|
|
248
251
|
orderTravelCard: {
|
|
249
|
-
label: (0, commons_1.translation)(
|
|
252
|
+
label: (0, commons_1.translation)(`Bestill ${terms_1.T.travelCard.base}`, `Order ${terms_1.T.travelCard.base}`, `Bestill ${terms_1.T.travelCard.base}`),
|
|
250
253
|
detailsList: [
|
|
251
|
-
(0, commons_1.translation)(
|
|
252
|
-
(0, commons_1.translation)(
|
|
254
|
+
(0, commons_1.translation)(`${terms_1.T.travelCard.Indefinite} er et fysisk plastkort. På ${terms_1.T.travelCard.definite} kan du legge periodebilletter.`, `${terms_1.T.travelCard.Indefinite} is a physical plastic card. You can add period tickets to ${terms_1.T.travelCard.definite}`, `${terms_1.T.travelCard.Indefinite} er eit fysisk plastkort. På ${terms_1.T.travelCard.definite} kan du legge periodebillettar.`),
|
|
255
|
+
(0, commons_1.translation)(`${terms_1.T.travelCard.Base} får du tak i hos sjåføren om bord i bussen, eller matrosen om bord i hurtigbåten.`, `${terms_1.T.travelCard.Base} is available from the bus driver, or the sailor on board the express boat.`, `${terms_1.T.travelCard.Base} får du tak i hos sjåføren om bord i bussen, eller matrosen om bord i hurtigbåten.`),
|
|
256
|
+
(0, commons_1.translation)('Du trenger ikke kjøpe produktet hos sjåfør. Du kan ta med deg et kort og fylle på det produktet du vil i nettbutikken', 'You don’t need to purchase the product from the driver. You can take a card with you and top up the desired product later in the webshop', 'Du treng ikkje kjøpe produktet hos sjåfør. Du kan ta med deg eit kort og fylle på det produktet du vil i nettbutikken'),
|
|
253
257
|
],
|
|
254
|
-
detailWithUrl: {
|
|
255
|
-
detail: (0, commons_1.translation)('Du trenger ikke kjøpe produktet hos sjåfør. Du kan ta med deg et kort og fylle på det produktet du vil i', 'You don’t need to purchase the product from the driver. You can take a card with you and top up the desired product later in the', 'Du treng ikkje kjøpe produktet hos sjåfør. Du kan ta med deg eit kort og fylle på det produktet du vil i'),
|
|
256
|
-
linkText: (0, commons_1.translation)('nettbutikken', 'webshop', 'nettbutikken'),
|
|
257
|
-
href: (0, commons_1.translation)('', '', ''),
|
|
258
|
-
},
|
|
259
258
|
},
|
|
260
259
|
travelCardQuestion: {
|
|
261
|
-
label: (0, commons_1.translation)(
|
|
260
|
+
label: (0, commons_1.translation)(`Andre spørsmål om ${terms_1.T.travelCard.base}`, `Other questions regarding ${terms_1.T.travelCard.base}`, `Andre spørsmål om ${terms_1.T.travelCard.base}`),
|
|
262
261
|
},
|
|
263
262
|
},
|
|
264
263
|
refund: {
|
|
@@ -277,13 +276,12 @@ exports.Contact = {
|
|
|
277
276
|
(0, commons_1.translation)('Periodebillett 7 dager: Du får refusjon for antall resterende døgn.', 'Period ticket 7 days: You will receive a refund for the number of days remaining.', 'Periodebillett 7 dagar: Du får refusjon for antall resterande døgn.'),
|
|
278
277
|
(0, commons_1.translation)('Periodebillett 30 dager: Du får refusjon for antall resterende døgn.', 'Period ticket 30 days: You will receive a refund for the number of remaining days.', 'Periodebillett 30 dagar: Du får refusjon for antall resterande døgn.'),
|
|
279
278
|
(0, commons_1.translation)('Periodebillettene for hele fylket: Du får refusjon for antall resterende døgn.', 'The period tickets for the entire county: You will receive a refund for numbers remaining on the day.', 'Periodebillettane for heile fylket: Du får refusjon for antall resterande døgn. '),
|
|
280
|
-
(0, commons_1.translation)(
|
|
279
|
+
(0, commons_1.translation)(`${terms_1.T.travelCard.Base}: Du får tilbakebetalt verdien som gjenstår på ${terms_1.T.travelCard.definite}. `, `${terms_1.T.travelCard.Base}: You will be reimbursed the value remaining on ${terms_1.T.travelCard.definite}.`, `${terms_1.T.travelCard.Base}: Du får tilbakebetalt verdien som gjenstår på ${terms_1.T.travelCard.definite}. `),
|
|
281
280
|
(0, commons_1.translation)('Enkeltbilletter etter feilkjøp og når ny, riktig billett er kjøpt. ', 'Single tickets after incorrect purchase and when a new, correct ticket has been purchased.', 'Enkeltbillettar etter feilkjøp og når ny, riktig billett er kjøpt. '),
|
|
282
281
|
(0, commons_1.translation)('Klippekort: Du får refusjon for antall gjenværende klipp.', 'Carnet: You will receive a refund for the number of remaining clips.', 'Klippekort: Du får refusjon for tal resterande klipp.'),
|
|
283
282
|
],
|
|
284
283
|
info: {
|
|
285
|
-
text: (0, commons_1.
|
|
286
|
-
link: (0, commons_1.translation)('reisegaranti.', 'travel guarantee.', 'reisegaranti.'),
|
|
284
|
+
text: (0, commons_1.richTranslation)('Gjelder kravet reisegaranti, dvs refusjon for utgifter til andre transportmiddel fordi buss eller hurtigbåt ikke var i rute? Da skal du søke om [reisegaranti](?type=refundAndTravelGuarantee&agreed=true).', 'Does the claim apply to a travel guarantee, i.e. refund for expenses for other means of transport because the bus or express boat was not on schedule? Then you should not apply for [travel guarantee](?type=refundAndTravelGuarantee&agreed=true).', 'Gjeld kravet reisegaranti, dvs refusjon for utgifter til andre transportmiddel fordi buss eller hurtigbåt ikkje var i rute? Då skal du søke om [reisegaranti](?type=refundAndTravelGuarantee&agreed=true).'),
|
|
287
285
|
note: (0, commons_1.translation)('', '', ''),
|
|
288
286
|
},
|
|
289
287
|
checkbox: (0, commons_1.translation)('Jeg forstår', 'I understand', 'Eg forstår'),
|
|
@@ -293,9 +291,11 @@ exports.Contact = {
|
|
|
293
291
|
rules: [],
|
|
294
292
|
},
|
|
295
293
|
},
|
|
294
|
+
/* eslint-disable terms/no-hardcoded -- any app, incl. Entur */
|
|
296
295
|
appTicketRefund: {
|
|
297
296
|
label: (0, commons_1.translation)('Billett kjøpt i app eller nettbutikk', 'Ticket purchased in an app or webshop', 'Billett kjøpt i app eller nettbutikk'),
|
|
298
297
|
},
|
|
298
|
+
/* eslint-enable terms/no-hardcoded */
|
|
299
299
|
otherTicketRefund: {
|
|
300
300
|
label: (0, commons_1.translation)('Billett kjøpt om bord eller på trafikkterminal', 'Ticket purchased onboard or at a terminal', 'Billett kjøpt om bord eller på trafikkterminal'),
|
|
301
301
|
},
|
|
@@ -423,6 +423,7 @@ exports.Contact = {
|
|
|
423
423
|
optionLabel: (0, commons_1.translation)('Velg transportmiddel', 'Select transport mode', 'Vel transportmiddel'),
|
|
424
424
|
modes: {
|
|
425
425
|
bus: (0, commons_1.translation)('Buss', 'Bus', 'Buss'),
|
|
426
|
+
tram: (0, commons_1.translation)('Trikk', 'Tram', 'Trikk'),
|
|
426
427
|
expressboat: (0, commons_1.translation)('Hurtigbåt', 'Express boat', 'Hurtigbåt'),
|
|
427
428
|
ferry: (0, commons_1.translation)('Ferge', 'Ferry', 'Ferje'),
|
|
428
429
|
bestillingstransport: (0, commons_1.translation)('Bestillingstransport', 'On-demand transport', 'Bestillingstransport'),
|
|
@@ -431,12 +432,13 @@ exports.Contact = {
|
|
|
431
432
|
empty: (0, commons_1.translation)('Velg transportmiddel', 'Select transport mode', 'Vel transportmiddel'),
|
|
432
433
|
},
|
|
433
434
|
},
|
|
435
|
+
/* eslint-disable terms/no-hardcoded -- lists the Entur app alongside the org's own, so "app" is generic here */
|
|
434
436
|
purchasePlatform: {
|
|
435
437
|
label: (0, commons_1.translation)('Kjøpsplattform', 'Purchase platform', 'Kjøpsplattform'),
|
|
436
438
|
optionLabel: (0, commons_1.translation)('Velg app eller nettbutikk billetten ble kjøpt i', 'Select the app or webshop where the ticket was purchased', 'Vel app eller nettbutikk der billetten vart kjøpt'),
|
|
437
439
|
platforms: {
|
|
438
440
|
enturApp: (0, commons_1.translation)('Entur-appen', 'Entur app', 'Entur-appen'),
|
|
439
|
-
framApp: (0, commons_1.translation)(
|
|
441
|
+
framApp: (0, commons_1.translation)(terms_1.T.orgApp.Base, terms_1.T.orgApp.Base, terms_1.T.orgApp.Base),
|
|
440
442
|
enturWeb: (0, commons_1.translation)('Entur nettbutikk', 'Entur webshop', 'Entur nettbutikk'),
|
|
441
443
|
framWeb: (0, commons_1.translation)('Nettbutikk', 'Webshop', 'Nettbutikk'),
|
|
442
444
|
},
|
|
@@ -444,6 +446,7 @@ exports.Contact = {
|
|
|
444
446
|
empty: (0, commons_1.translation)('Velg app eller nettbutikk', 'Select app or webshop', 'Vel app eller nettbutikk'),
|
|
445
447
|
},
|
|
446
448
|
},
|
|
449
|
+
/* eslint-enable terms/no-hardcoded */
|
|
447
450
|
line: {
|
|
448
451
|
label: (0, commons_1.translation)('Linje', 'Line', 'Linje'),
|
|
449
452
|
optionLabel: (0, commons_1.translation)('Velg linje', 'Choose line', 'Vel linje'),
|
|
@@ -521,7 +524,7 @@ exports.Contact = {
|
|
|
521
524
|
},
|
|
522
525
|
{
|
|
523
526
|
id: 'incorrectAppInformation',
|
|
524
|
-
name: (0, commons_1.translation)(
|
|
527
|
+
name: (0, commons_1.translation)(`Feil informasjon i ${terms_1.T.orgApp.base} eller reiseplanlegger`, `Incorrect information in ${terms_1.T.orgApp.base} or travel planner`, `Feil informasjon i ${terms_1.T.orgApp.base} eller reiseplanlegger`),
|
|
525
528
|
},
|
|
526
529
|
],
|
|
527
530
|
errorMessages: { empty: (0, commons_1.translation)('Velg årsak', 'Select reason', 'Vel årsak') },
|
|
@@ -582,19 +585,19 @@ exports.Contact = {
|
|
|
582
585
|
customerNumber: {
|
|
583
586
|
label: (0, commons_1.translation)('Kundenummer', 'Customer number', 'Kundenummer'),
|
|
584
587
|
labelOptional: (0, commons_1.translation)('Kundenummer - (valgfritt)', 'Customer number - (optional)', 'Kundenummer - (valfritt)'),
|
|
585
|
-
description: (0, commons_1.translation)(
|
|
588
|
+
description: (0, commons_1.translation)(`Kundenummeret består av 7 siffer og du finner det under Min bruker i ${terms_1.T.orgApp.definite}, eller i nettbutikken.`, `The customer number consists of 7 digits and can be found under My user in ${terms_1.T.orgApp.definite}, or in the webshop`, `Kundenummeret består av 7 siffer og du finn det under Min bruker i ${terms_1.T.orgApp.definite}, eller i nettbutikken.`),
|
|
586
589
|
errorMessages: {
|
|
587
590
|
empty: (0, commons_1.translation)('Fyll inn kundenummer', 'Enter customer number', 'Fyll inn kundenummer'),
|
|
588
591
|
invalidFormat: (0, commons_1.translation)('Ugyldig kundenummer. Skriv inn et gyldig kundenummer med 7 eller 8 siffer.', 'Invalid customer number. Please enter a valid 7 or 8-digit number.', 'Ugyldig kundenummer. Skriv inn eit gyldig kundenummer med 7 eller 8 siffer.'),
|
|
589
592
|
},
|
|
590
593
|
},
|
|
591
594
|
travelCardNumber: {
|
|
592
|
-
labelRadioButton: (0, commons_1.translation)(
|
|
593
|
-
label: (0, commons_1.translation)(
|
|
594
|
-
info: (0, commons_1.translation)(
|
|
595
|
+
labelRadioButton: (0, commons_1.translation)(terms_1.T.travelCard.Base, terms_1.T.travelCard.Base, terms_1.T.travelCard.Base),
|
|
596
|
+
label: (0, commons_1.translation)(terms_1.T.travelCardNumber.Base, terms_1.T.travelCardNumber.Base, terms_1.T.travelCardNumber.Base),
|
|
597
|
+
info: (0, commons_1.translation)(`Legg inn ${terms_1.T.travelCardNumber.definite} her hvis du allerede har ${terms_1.T.travelCard.indefinite}. ${terms_1.T.travelCardNumber.Definite} består av 9 siffer og du finner det på baksiden av ${terms_1.T.travelCard.definite} ditt`, `Enter ${terms_1.T.travelCardNumber.definite} here if you already have ${terms_1.T.travelCard.indefinite}. ${terms_1.T.travelCardNumber.Definite} consists of 9 digits and can be found on the back of your ${terms_1.T.travelCard.base}`, `Legg inn ${terms_1.T.travelCardNumber.definite} her viss du allereie har ${terms_1.T.travelCard.indefinite}. ${terms_1.T.travelCardNumber.Definite} består av 9 siffer, og du finn det bak på ${terms_1.T.travelCard.definite} ditt.`),
|
|
595
598
|
errorMessages: {
|
|
596
|
-
empty: (0, commons_1.translation)(
|
|
597
|
-
invalidFormat: (0, commons_1.translation)(
|
|
599
|
+
empty: (0, commons_1.translation)(`Legg til ${terms_1.T.travelCardNumber.base}`, `Enter ${terms_1.T.travelCardNumber.base}`, `Legg til ${terms_1.T.travelCardNumber.base}`),
|
|
600
|
+
invalidFormat: (0, commons_1.translation)(`Ugyldig ${terms_1.T.travelCardNumber.base}. Skriv inn et gyldig ${terms_1.T.travelCardNumber.base} med 9 siffer.`, `Invalid ${terms_1.T.travelCardNumber.base}. Please enter a valid 9-digit number.`, `Ugyldig ${terms_1.T.travelCardNumber.base}. Skriv inn eit gyldig ${terms_1.T.travelCardNumber.base} med 9 siffer.`),
|
|
598
601
|
},
|
|
599
602
|
},
|
|
600
603
|
question: {
|
|
@@ -621,7 +624,7 @@ exports.Contact = {
|
|
|
621
624
|
: (0, commons_1.translation)('Ordre-id(er)', 'Order ID(s)', 'Ordre-id(er)'),
|
|
622
625
|
description: (0, commons_1.translation)('Hvis du vil ha hjelp med en billett du allerede har kjøpt, trenger vi å vite ordre-id. Ordre-id finner du følgende steder:', 'If you want help with a ticket you have already bought, we need to know the order ID. You can find the order ID in the following places:', 'Viss du vil ha hjelp med ein billett du allereie har kjøpt, treng vi å vite ordre-id. Ordre-id finn du følgende stadar:'),
|
|
623
626
|
descriptionBulletPoints: [
|
|
624
|
-
(0, commons_1.translation)(
|
|
627
|
+
(0, commons_1.translation)(`På billetten i ${terms_1.T.orgApp.definite}.`, `On the ticket in ${terms_1.T.orgApp.definite}.`, `På billetten i ${terms_1.T.orgApp.definite}.`),
|
|
625
628
|
(0, commons_1.translation)('På kvitteringen din.', 'On your receipt.', 'På kvitteringa di.'),
|
|
626
629
|
(0, commons_1.translation)('Du finner også ordre-id på utgåtte billetter.', 'You can also find the order ID on expired tickets.', 'Du finn også ordre-id på utgåtte billettar.'),
|
|
627
630
|
],
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { TranslatedString } from '../commons';
|
|
2
|
+
export declare const defaultTerms: {
|
|
3
|
+
travelCard: {
|
|
4
|
+
base: TranslatedString;
|
|
5
|
+
indefinite: TranslatedString;
|
|
6
|
+
definite: TranslatedString;
|
|
7
|
+
plural: TranslatedString;
|
|
8
|
+
};
|
|
9
|
+
travelCardNumber: {
|
|
10
|
+
base: TranslatedString;
|
|
11
|
+
definite: TranslatedString;
|
|
12
|
+
};
|
|
13
|
+
/** The org's own app. */
|
|
14
|
+
orgApp: {
|
|
15
|
+
base: TranslatedString;
|
|
16
|
+
definite: TranslatedString;
|
|
17
|
+
};
|
|
18
|
+
/** The app the customer keeps their ticket in. */
|
|
19
|
+
ticketApp: {
|
|
20
|
+
base: TranslatedString;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=default-terms.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-terms.d.ts","sourceRoot":"","sources":["../../../src/translations/terms/default-terms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEhE,eAAO,MAAM,YAAY;;;;;;;;;;;IAevB,yBAAyB;;;;;IAKzB,kDAAkD;;;;CAIQ,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultTerms = void 0;
|
|
4
|
+
const commons_1 = require("../commons");
|
|
5
|
+
exports.defaultTerms = {
|
|
6
|
+
travelCard: {
|
|
7
|
+
base: (0, commons_1.translation)('reisekort', 'travel card', 'reisekort'),
|
|
8
|
+
indefinite: (0, commons_1.translation)('et reisekort', 'a travel card', 'eit reisekort'),
|
|
9
|
+
definite: (0, commons_1.translation)('reisekortet', 'the travel card', 'reisekortet'),
|
|
10
|
+
plural: (0, commons_1.translation)('reisekort', 'travel cards', 'reisekort'),
|
|
11
|
+
},
|
|
12
|
+
travelCardNumber: {
|
|
13
|
+
base: (0, commons_1.translation)('reisekortnummer', 'travel card number', 'reisekortnummer'),
|
|
14
|
+
definite: (0, commons_1.translation)('reisekortnummeret', 'the travel card number', 'reisekortnummeret'),
|
|
15
|
+
},
|
|
16
|
+
/** The org's own app. */
|
|
17
|
+
orgApp: {
|
|
18
|
+
base: (0, commons_1.translation)('app', 'app', 'app'),
|
|
19
|
+
definite: (0, commons_1.translation)('appen', 'the app', 'appen'),
|
|
20
|
+
},
|
|
21
|
+
/** The app the customer keeps their ticket in. */
|
|
22
|
+
ticketApp: {
|
|
23
|
+
base: (0, commons_1.translation)('mobilapp', 'mobile app', 'mobilapp'),
|
|
24
|
+
},
|
|
25
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/translations/terms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,CAAC,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.capitalize = exports.TERM_PLACEHOLDER = exports.T = exports.defaultTerms = void 0;
|
|
4
|
+
var default_terms_1 = require("./default-terms");
|
|
5
|
+
Object.defineProperty(exports, "defaultTerms", { enumerable: true, get: function () { return default_terms_1.defaultTerms; } });
|
|
6
|
+
var placeholders_1 = require("./placeholders");
|
|
7
|
+
Object.defineProperty(exports, "T", { enumerable: true, get: function () { return placeholders_1.T; } });
|
|
8
|
+
Object.defineProperty(exports, "TERM_PLACEHOLDER", { enumerable: true, get: function () { return placeholders_1.TERM_PLACEHOLDER; } });
|
|
9
|
+
Object.defineProperty(exports, "capitalize", { enumerable: true, get: function () { return placeholders_1.capitalize; } });
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { defaultTerms } from './default-terms';
|
|
2
|
+
export declare const capitalize: (text: string) => string;
|
|
3
|
+
type DefaultTerms = typeof defaultTerms;
|
|
4
|
+
type TermPlaceholders = {
|
|
5
|
+
[G in keyof DefaultTerms]: {
|
|
6
|
+
[F in keyof DefaultTerms[G]]: `{${G}.${F & string}}`;
|
|
7
|
+
} & {
|
|
8
|
+
[F in keyof DefaultTerms[G] as Capitalize<F & string>]: `{${G}.${Capitalize<F & string>}}`;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
/** Placeholders for use inside translation template literals. */
|
|
12
|
+
export declare const T: TermPlaceholders;
|
|
13
|
+
/** Matches the placeholders produced by `T`, capturing group and form. */
|
|
14
|
+
export declare const TERM_PLACEHOLDER: RegExp;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=placeholders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placeholders.d.ts","sourceRoot":"","sources":["../../../src/translations/terms/placeholders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,WACO,CAAC;AAE/C,KAAK,YAAY,GAAG,OAAO,YAAY,CAAC;AAGxC,KAAK,gBAAgB,GAAG;KACrB,CAAC,IAAI,MAAM,YAAY,GAAG;SACxB,CAAC,IAAI,MAAM,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG;KACrD,GAAG;SAEA,CAAC,IAAI,MAAM,YAAY,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,GACnD,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG;KACtC;CACF,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,CAAC,EAUT,gBAAgB,CAAC;AAEtB,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB,QAAqB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TERM_PLACEHOLDER = exports.T = exports.capitalize = void 0;
|
|
4
|
+
const default_terms_1 = require("./default-terms");
|
|
5
|
+
const capitalize = (text) => text.charAt(0).toUpperCase() + text.slice(1);
|
|
6
|
+
exports.capitalize = capitalize;
|
|
7
|
+
/** Placeholders for use inside translation template literals. */
|
|
8
|
+
exports.T = Object.fromEntries(Object.entries(default_terms_1.defaultTerms).map(([group, forms]) => [
|
|
9
|
+
group,
|
|
10
|
+
Object.fromEntries(Object.keys(forms).flatMap((form) => [
|
|
11
|
+
[form, `{${group}.${form}}`],
|
|
12
|
+
[(0, exports.capitalize)(form), `{${group}.${(0, exports.capitalize)(form)}}`],
|
|
13
|
+
])),
|
|
14
|
+
]));
|
|
15
|
+
/** Matches the placeholders produced by `T`, capturing group and form. */
|
|
16
|
+
exports.TERM_PLACEHOLDER = /\{(\w+)\.(\w+)}/g;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { TranslatedString } from '../commons';
|
|
2
|
+
import type { defaultTerms } from './default-terms';
|
|
3
|
+
type DefaultTerms = typeof defaultTerms;
|
|
4
|
+
export type TermGroup = keyof DefaultTerms;
|
|
5
|
+
export type TermForm<G extends TermGroup> = keyof DefaultTerms[G] & string;
|
|
6
|
+
/**
|
|
7
|
+
* Every form of a term. `capitalized` overrides the derived capitalization
|
|
8
|
+
* for forms where upper-casing the first letter is wrong.
|
|
9
|
+
*/
|
|
10
|
+
export type TermForms<G extends TermGroup> = Record<TermForm<G>, TranslatedString> & {
|
|
11
|
+
capitalized?: Partial<Record<TermForm<G>, TranslatedString>>;
|
|
12
|
+
};
|
|
13
|
+
export type Terms = {
|
|
14
|
+
[G in TermGroup]: TermForms<G>;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/translations/terms/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,KAAK,YAAY,GAAG,OAAO,YAAY,CAAC;AAExC,MAAM,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC;AAC3C,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,SAAS,IAAI,MAAM,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;AAE3E;;;GAGG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,SAAS,IAAI,MAAM,CACjD,QAAQ,CAAC,CAAC,CAAC,EACX,gBAAgB,CACjB,GAAG;IACF,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;KAAG,CAAC,IAAI,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC;CAAE,CAAC"}
|
|
@@ -8,5 +8,11 @@ export declare function TranslationsProvider({ overrides, children, }: {
|
|
|
8
8
|
}): import("react").JSX.Element;
|
|
9
9
|
export declare function useMergedTranslations(): MergedTranslations;
|
|
10
10
|
export declare function usePageText(): typeof PageText;
|
|
11
|
+
/**
|
|
12
|
+
* Returns a function that fills `{group.form}` term placeholders in translated
|
|
13
|
+
* text. A capitalized form (`Definite`) uses the org's `capitalized` value, or
|
|
14
|
+
* else upper-cases the first letter. Unknown placeholders are kept.
|
|
15
|
+
*/
|
|
16
|
+
export declare function useFillTerms(): (text: string) => string;
|
|
11
17
|
export {};
|
|
12
18
|
//# sourceMappingURL=translations-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translations-context.d.ts","sourceRoot":"","sources":["../../src/translations/translations-context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,QAAQ,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"translations-context.d.ts","sourceRoot":"","sources":["../../src/translations/translations-context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,QAAQ,MAAM,SAAS,CAAC;AAUpC,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAIvE,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,QAAQ,GACT,EAAE;IACD,SAAS,EAAE,+BAA+B,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,+BAWA;AAED,wBAAgB,qBAAqB,IAAI,kBAAkB,CAS1D;AAED,wBAAgB,WAAW,IAAI,OAAO,QAAQ,CAG7C;AAMD;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAgBvD"}
|
|
@@ -36,10 +36,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.TranslationsProvider = TranslationsProvider;
|
|
37
37
|
exports.useMergedTranslations = useMergedTranslations;
|
|
38
38
|
exports.usePageText = usePageText;
|
|
39
|
+
exports.useFillTerms = useFillTerms;
|
|
39
40
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
40
41
|
const react_1 = require("react");
|
|
41
42
|
const merge_overrides_1 = require("./merge-overrides");
|
|
42
43
|
const PageText = __importStar(require("./pages"));
|
|
44
|
+
const commons_1 = require("./commons");
|
|
45
|
+
const terms_1 = require("./terms");
|
|
46
|
+
const lobot_1 = require("./lobot");
|
|
43
47
|
const TranslationsContext = (0, react_1.createContext)(null);
|
|
44
48
|
function TranslationsProvider({ overrides, children, }) {
|
|
45
49
|
const merged = (0, react_1.useMemo)(() => (0, merge_overrides_1.mergeTranslationOverrides)(overrides), [overrides]);
|
|
@@ -57,3 +61,24 @@ function usePageText() {
|
|
|
57
61
|
const context = (0, react_1.useContext)(TranslationsContext);
|
|
58
62
|
return context ? context.PageText : PageText;
|
|
59
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Returns a function that fills `{group.form}` term placeholders in translated
|
|
66
|
+
* text. A capitalized form (`Definite`) uses the org's `capitalized` value, or
|
|
67
|
+
* else upper-cases the first letter. Unknown placeholders are kept.
|
|
68
|
+
*/
|
|
69
|
+
function useFillTerms() {
|
|
70
|
+
const context = (0, react_1.useContext)(TranslationsContext);
|
|
71
|
+
const { t } = lobot_1.lobot.useTranslation();
|
|
72
|
+
const terms = context ? context.terms : terms_1.defaultTerms;
|
|
73
|
+
return (text) => text.replace(terms_1.TERM_PLACEHOLDER, (match, group, form) => {
|
|
74
|
+
const forms = terms[group];
|
|
75
|
+
const lowerForm = form.charAt(0).toLowerCase() + form.slice(1);
|
|
76
|
+
const value = forms?.[lowerForm];
|
|
77
|
+
if (!forms || !value || !(0, commons_1.isTranslatedString)(value))
|
|
78
|
+
return match;
|
|
79
|
+
if (form === lowerForm)
|
|
80
|
+
return t(value);
|
|
81
|
+
const capitalized = forms.capitalized?.[lowerForm];
|
|
82
|
+
return capitalized ? t(capitalized) : (0, terms_1.capitalize)(t(value));
|
|
83
|
+
});
|
|
84
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import * as PageText from './pages';
|
|
3
|
+
import type { Terms } from './terms';
|
|
3
4
|
export declare enum LanguageAndTextLanguagesEnum {
|
|
4
5
|
nob = "nob",
|
|
5
6
|
nno = "nno",
|
|
@@ -29,5 +30,6 @@ export type DeepPartial<T> = {
|
|
|
29
30
|
*/
|
|
30
31
|
export type ContactFormTranslationsOverride = {
|
|
31
32
|
pages?: DeepPartial<typeof PageText>;
|
|
33
|
+
terms?: Partial<Terms>;
|
|
32
34
|
};
|
|
33
35
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/translations/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,QAAQ,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/translations/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,QAAQ,MAAM,SAAS,CAAC;AACpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,oBAAY,4BAA4B;IACtC,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,EAAE,OAAO;CACV;AAED,eAAO,MAAM,qBAAqB;;;;;;mBAShC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAExE;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,+BAA+B,GAAG;IAC5C,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,QAAQ,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CACxB,CAAC"}
|
package/lib/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TranslatedString } from './translations';
|
|
2
|
-
export type TransportModeType = 'bus' | 'expressboat' | 'ferry' | 'bestillingstransport';
|
|
2
|
+
export type TransportModeType = 'bus' | 'tram' | 'expressboat' | 'ferry' | 'bestillingstransport';
|
|
3
3
|
export type ReasonForTransportFailure = {
|
|
4
4
|
id: string;
|
|
5
5
|
name: TranslatedString;
|
|
@@ -9,7 +9,7 @@ export declare enum TicketTypeId {
|
|
|
9
9
|
PeriodTicket = "periodTicket"
|
|
10
10
|
}
|
|
11
11
|
export type TicketType = {
|
|
12
|
-
id: TicketTypeId;
|
|
12
|
+
id: TicketTypeId | (string & {});
|
|
13
13
|
name: TranslatedString;
|
|
14
14
|
};
|
|
15
15
|
export type PurchasePlatformType = 'framApp' | 'enturApp' | 'framWeb' | 'enturWeb';
|
package/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,MAAM,iBAAiB,GAC3B,KAAK,GAAG,aAAa,GAAG,OAAO,GAAG,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,MAAM,iBAAiB,GAC3B,KAAK,GAAG,MAAM,GAAG,aAAa,GAAG,OAAO,GAAG,sBAAsB,CAAC;AACpE,MAAM,MAAM,yBAAyB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAE/E,oBAAY,YAAY;IACtB,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;CAC9B;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACjC,IAAI,EAAE,gBAAgB,CAAC;CACxB,CAAC;AACF,MAAM,MAAM,oBAAoB,GAC9B,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Renders a translated string with `[text](href)` as links opening in a new
|
|
3
|
+
* tab and `**text**` as bold. A blank line (`\n\n`) starts a new paragraph,
|
|
4
|
+
* a single `\n` is a line break.
|
|
5
|
+
*/
|
|
6
|
+
export declare function RichText({ children }: {
|
|
7
|
+
children: string;
|
|
8
|
+
}): import("react").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=rich-text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rich-text.d.ts","sourceRoot":"","sources":["../../src/utils/rich-text.tsx"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,+BAkB1D"}
|