@shoppexio/storefront-react 0.3.0 → 0.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.
Files changed (39) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/account.css +26 -8
  3. package/dist/account.js +3217 -1001
  4. package/dist/account.js.map +1 -1
  5. package/dist/index.d.ts +188 -14
  6. package/dist/index.js +43 -20
  7. package/dist/index.js.map +1 -1
  8. package/eject/account/account-downloads.ts +89 -1
  9. package/eject/account/account-payment-method.ts +1 -0
  10. package/eject/account/account-referrals.ts +70 -1
  11. package/eject/account/account-reseller.ts +6 -140
  12. package/eject/account/account-subscriptions.ts +158 -6
  13. package/eject/account/buyer-invoice-status.ts +100 -0
  14. package/eject/account/downloads.tsx +118 -17
  15. package/eject/account/hosted-page.ts +45 -0
  16. package/eject/account/messages/ar.json +150 -39
  17. package/eject/account/messages/de.json +150 -39
  18. package/eject/account/messages/en.json +150 -39
  19. package/eject/account/messages/es.json +150 -39
  20. package/eject/account/messages/fi.json +150 -39
  21. package/eject/account/messages/fr.json +150 -39
  22. package/eject/account/messages/hi.json +150 -39
  23. package/eject/account/messages/it.json +150 -39
  24. package/eject/account/messages/lt.json +150 -39
  25. package/eject/account/messages/nl.json +150 -39
  26. package/eject/account/messages/pl.json +150 -39
  27. package/eject/account/messages/pt.json +150 -39
  28. package/eject/account/messages/ru.json +150 -39
  29. package/eject/account/messages/tr.json +150 -39
  30. package/eject/account/messages/uk.json +150 -39
  31. package/eject/account/messages/zh.json +150 -39
  32. package/eject/account/orders.tsx +203 -41
  33. package/eject/account/overview.tsx +6 -0
  34. package/eject/account/referrals.tsx +47 -5
  35. package/eject/account/reseller.tsx +62 -308
  36. package/eject/account/rewards.tsx +5 -0
  37. package/eject/account/shared.tsx +60 -4
  38. package/eject/account/subscriptions.tsx +387 -50
  39. package/package.json +4 -4
@@ -11,6 +11,7 @@
11
11
  },
12
12
  "account": {
13
13
  "title": "Dein Konto",
14
+ "secureLink": "Öffnet eine sichere Shoppex-Seite.",
14
15
  "sections": "Kontobereiche",
15
16
  "signOut": "Abmelden",
16
17
  "signingOut": "Wird abgemeldet…",
@@ -92,11 +93,25 @@
92
93
  "PAID": "Bezahlt",
93
94
  "FAILED": "Fehlgeschlagen"
94
95
  },
96
+ "invoiceStatus": {
97
+ "awaitingPayment": "Zahlung ausstehend",
98
+ "processing": "Zahlung wird bestätigt",
99
+ "underpaid": "Zahlung unvollständig",
100
+ "awaitingStock": "Wartet auf Lagerbestand",
101
+ "completed": "Abgeschlossen",
102
+ "partialRefund": "Teilweise erstattet",
103
+ "refunded": "Erstattet",
104
+ "disputed": "Reklamiert",
105
+ "expired": "Abgelaufen",
106
+ "voided": "Vom Shop storniert",
107
+ "paid": "Bezahlt"
108
+ },
95
109
  "delivery": {
96
110
  "DELIVERED": "Geliefert",
97
111
  "AWAITING_FULFILLMENT": "Wartet auf Lieferung",
98
112
  "PENDING": "Offen",
99
- "FAILED": "Lieferung fehlgeschlagen"
113
+ "FAILED": "Lieferung fehlgeschlagen",
114
+ "WAITING": "Wartet"
100
115
  },
101
116
  "overview": {
102
117
  "loading": "Dein Konto wird geladen",
@@ -107,6 +122,7 @@
107
122
  "statTickets": "Support-Anfragen",
108
123
  "walletLabel": "Shop-Guthaben",
109
124
  "walletNote": "Wird an der Kasse verrechnet",
125
+ "topUp": "Aufladen",
110
126
  "recentOrders": "Letzte Bestellungen",
111
127
  "allOrders": "Alle Bestellungen"
112
128
  },
@@ -138,12 +154,6 @@
138
154
  "searchPlaceholder": "Nach Rechnungsnummer suchen",
139
155
  "status": "Status",
140
156
  "statusAll": "Alle Status",
141
- "statusCompleted": "Abgeschlossen",
142
- "statusPending": "Ausstehend",
143
- "statusProcessing": "In Bearbeitung",
144
- "statusRefunded": "Erstattet",
145
- "statusDisputed": "Reklamiert",
146
- "statusExpired": "Abgelaufen",
147
157
  "emptyFiltered": "Keine passenden Bestellungen. Versuch eine andere Rechnungsnummer oder einen anderen Status.",
148
158
  "warrantyTitle": "Garantie",
149
159
  "warrantyCoveredUntil": "Abgedeckt bis {date}",
@@ -162,7 +172,28 @@
162
172
  "warrantyClaimTooLong": "Dein Fall darf höchstens {max} Zeichen lang sein.",
163
173
  "invoicePdf": "Rechnung herunterladen (PDF)",
164
174
  "invoicePdfLoading": "Wird vorbereitet…",
165
- "invoicePdfFailed": "Wir konnten diese Rechnung nicht herunterladen. Bitte versuch es erneut."
175
+ "reviewTitle": "Deine Bewertung",
176
+ "reviewPrompt": "Wie war {product}?",
177
+ "reviewPromptGeneric": "Wie war dein Kauf?",
178
+ "reviewPositive": "Positiv",
179
+ "reviewNeutral": "Neutral",
180
+ "reviewNegative": "Negativ",
181
+ "reviewEdit": "Bewertung bearbeiten",
182
+ "reviewWrite": "Bewertung schreiben",
183
+ "reviewAutomated": "Für diese Bestellung wurde automatisch eine positive Bewertung veröffentlicht. Du kannst sie durch deine eigene ersetzen.",
184
+ "reviewFallbackLabel": "Bewertung",
185
+ "nothingToDownload": "Geliefert {date}. Der Verkäufer hat dir das direkt gegeben, deshalb gibt es nichts herunterzuladen.",
186
+ "detailError": "Bestellung {id} konnte nicht geladen werden",
187
+ "noReceiptUnpaid": "Diese Bestellung wurde nie bezahlt, deshalb gibt es keine Quittung.",
188
+ "noReceiptVoided": "Der Shop hat diese Bestellung storniert, deshalb gibt es keine Quittung.",
189
+ "pdfSignedOut": "Du wurdest abgemeldet. Melde dich erneut an, um die Quittung herunterzuladen.",
190
+ "pdfFailed": "Die Quittung konnte nicht erstellt werden. Versuche es in einer Minute erneut.",
191
+ "waitingStock": {
192
+ "title": "Du hast bezahlt. Der Verkäufer füllt den Bestand auf.",
193
+ "body": "„{item}“ erscheint hier, sobald es geliefert ist.",
194
+ "bodyOrder": "Deine Bestellung erscheint hier, sobald sie geliefert ist."
195
+ },
196
+ "paidOn": "Bezahlt am {date}"
166
197
  },
167
198
  "downloads": {
168
199
  "loading": "Deine Downloads werden geladen",
@@ -186,7 +217,27 @@
186
217
  "renewAction": "Shop öffnen",
187
218
  "brokenTitle": "Deine Downloads konnten nicht aufgelistet werden",
188
219
  "brokenBody": "Der Shop hat einen Lizenzeintrag ({id}) ohne die zugehörige Lizenz geschickt. In dieser Liste würde also genau das fehlen, was sie benennt.",
189
- "brokenFileBody": "Der Shop hat einen Dateieintrag ({id}) ohne Datei zum Herunterladen geschickt. Die Liste würde also eine Datei nennen, die sie nicht herausgeben kann."
220
+ "brokenFileBody": "Der Shop hat einen Dateieintrag ({id}) ohne Datei zum Herunterladen geschickt. Die Liste würde also eine Datei nennen, die sie nicht herausgeben kann.",
221
+ "accessLeftOne": "Noch {count} Download",
222
+ "accessLeftOther": "Noch {count} Downloads",
223
+ "accessUntil": "bis {date}",
224
+ "accessLimitReached": "Du hast alle Downloads aufgebraucht",
225
+ "accessLimitReachedOne": "Du hast deinen einzigen Download genutzt",
226
+ "accessLimitReachedOther": "Du hast alle {count} Downloads genutzt",
227
+ "accessExpired": "Downloads endeten am {date}",
228
+ "accessExpiredUndated": "Die Downloads sind beendet",
229
+ "accessRevoked": "Downloads wurden für diese Bestellung deaktiviert",
230
+ "accessRefunded": "Downloads endeten, weil diese Bestellung erstattet wurde",
231
+ "askAccess": "Zugriff anfragen",
232
+ "askingAccess": "Wird gesendet…",
233
+ "accessRequested": "Anfrage gesendet",
234
+ "accessRequestDone": "Anfrage gesendet. Der Shop antwortet im Support.",
235
+ "accessRequestFailed": "Deine Anfrage konnte nicht gesendet werden. Bitte versuche es noch einmal.",
236
+ "accessRequestTitle": "Zugriff auf {file}",
237
+ "accessRequestMessage": "Ich möchte {file} ({product}) aus dieser Bestellung erneut herunterladen.",
238
+ "accessRequestReason": "Im Kundenkonto steht: {reason}.",
239
+ "waitingOrder": "Bestellung {id} ist bezahlt und wartet auf Nachschub. „{item}“ erscheint hier, sobald es geliefert ist.",
240
+ "openOrder": "Bestellung öffnen"
190
241
  },
191
242
  "subscriptions": {
192
243
  "loading": "Deine Abos werden geladen",
@@ -197,6 +248,9 @@
197
248
  "renews": "Verlängert sich am {date}",
198
249
  "ends": "Endet am {date}",
199
250
  "canceled": "Gekündigt am {date}",
251
+ "endedOn": "Beendet am {date}",
252
+ "endedHoldRanOut": "Die Pause ist ohne Zahlung abgelaufen. Du kannst im Shop erneut abonnieren.",
253
+ "endedShopEnded": "Die Verlängerung wurde nicht bezahlt und der Shop hat das Abo beendet. Du kannst im Shop erneut abonnieren.",
200
254
  "startedOn": "Gestartet am {date}",
201
255
  "billingDayOne": "Tägliche Abrechnung",
202
256
  "billingDayOther": "Abrechnung alle {count} Tage",
@@ -211,10 +265,8 @@
211
265
  "paymentMethod": "Zahlungsmethode",
212
266
  "cardOnFile": "{brand} endet auf {last4}",
213
267
  "noPaymentMethod": "Keine hinterlegt",
214
- "paymentMethodElsewhere": "Den Link zum Ändern deiner Zahlungsdaten bekommst du in den E-Mails des Shops. Hier wird er nicht ausgegeben, weil alles auf dieser Seite ihn abgreifen könnte.",
215
268
  "pause": "Pausieren",
216
269
  "pausing": "Wird pausiert…",
217
- "resume": "Fortsetzen",
218
270
  "resuming": "Wird fortgesetzt…",
219
271
  "cancel": "Abo kündigen",
220
272
  "cancelling": "Wird gekündigt…",
@@ -223,14 +275,82 @@
223
275
  "confirmCancelAtPeriodEnd": "Du behältst den Zugang bis zum {date}. Danach wird nichts mehr abgerechnet.",
224
276
  "confirmCancelNow": "Der Zugang endet, sobald gekündigt ist.",
225
277
  "actionFailed": "Das hat nicht geklappt. Bitte versuche es noch einmal.",
226
- "paused": "Dieses Abo ist pausiert.",
227
278
  "resumed": "Dieses Abo läuft wieder.",
228
279
  "cancelled": "Dieses Abo ist gekündigt.",
229
280
  "historyTitle": "Abrechnungsverlauf",
230
281
  "historyLoading": "Abrechnungsverlauf wird geladen",
231
282
  "historyEmptyTitle": "Noch kein Abrechnungsverlauf",
232
283
  "historyEmptyBody": "Verlängerungsrechnungen erscheinen hier nach dem ersten Zyklus.",
233
- "trial": "Testphase endet am {date}"
284
+ "trial": "Testphase endet am {date}",
285
+ "statusOnHold": "Angehalten",
286
+ "statusPaymentDue": "Zahlung fällig",
287
+ "holdNote": "Dein Zugang ist pausiert. Bezahle {amount} bis {date}, dann ist er sofort wieder da, mit {interval} ab dem Tag der Zahlung.",
288
+ "dueNote": "Deine Verlängerung vom {renewal} ist offen. Bezahle bis {date}, um deinen Zugang zu behalten.",
289
+ "readyNote": "Deine Verlängerung am {renewal} ist bereit. Bezahle jederzeit vorher; {interval} beginnt trotzdem am {renewal}.",
290
+ "holdIntervalDay": "einem neuen Tag",
291
+ "holdIntervalWeek": "einer neuen Woche",
292
+ "holdIntervalMonth": "einem neuen Monat",
293
+ "holdIntervalYear": "einem neuen Jahr",
294
+ "holdIntervalOther": "einem neuen Abrechnungszeitraum",
295
+ "readyIntervalDay": "dein nächster Tag",
296
+ "readyIntervalWeek": "deine nächste Woche",
297
+ "readyIntervalMonth": "dein nächster Monat",
298
+ "readyIntervalYear": "dein nächstes Jahr",
299
+ "readyIntervalOther": "dein nächster Abrechnungszeitraum",
300
+ "payAndResume": "{amount} bezahlen und fortsetzen",
301
+ "payAmount": "{amount} jetzt bezahlen",
302
+ "pauses": "Pausiert ab {date}",
303
+ "payBy": "Zahlen bis {date}",
304
+ "resumes": "Läuft wieder ab {date}",
305
+ "pausedOpenEnded": "Pausiert, bis du es fortsetzt",
306
+ "pauseTitle": "{plan} pausieren?",
307
+ "pauseStartsAfter": "Dein Abo stoppt nach dem {date}, dem Ende des Zeitraums, den du bezahlt hast.",
308
+ "pauseHowLong": "Wie lange",
309
+ "pauseReasonLabel": "Warum pausierst du?",
310
+ "pauseOptional": "Optional",
311
+ "pauseReasonNone": "Grund wählen",
312
+ "pauseReasonTakingABreak": "Ich mache eine Pause",
313
+ "pauseReasonTooExpensive": "Gerade zu teuer",
314
+ "pauseReasonNotUsing": "Ich nutze es zu wenig",
315
+ "pauseReasonNotWorking": "Etwas funktioniert nicht",
316
+ "pauseReasonOther": "Anderer Grund",
317
+ "pauseLength7": "1 Woche",
318
+ "pauseLength14": "2 Wochen",
319
+ "pauseLength30": "1 Monat",
320
+ "pauseLength60": "2 Monate",
321
+ "pauseLength90": "3 Monate",
322
+ "pauseSummary": "Keine Zahlung vom {start} bis {end}. Am {end} läuft es von selbst wieder an.",
323
+ "pauseResumeAnyTime": "Du kannst jederzeit früher fortsetzen.",
324
+ "pauseLeftNone": "Das ist deine letzte Pause für die nächsten 12 Monate.",
325
+ "pauseLeftOne": "Du kannst in den nächsten 12 Monaten noch 1 Mal pausieren.",
326
+ "pauseLeftMany": "Du kannst in den nächsten 12 Monaten noch {count} Mal pausieren.",
327
+ "pauseConfirm": "Bis {date} pausieren",
328
+ "pauseKeep": "Abo behalten",
329
+ "pauseError": "Wir konnten dein Abo nicht pausieren. Es hat sich nichts geändert. Versuch es gleich noch einmal.",
330
+ "pausedUntil": "Pausiert bis {date}",
331
+ "pausedBody": "Bis dahin keine Zahlungen.",
332
+ "pauseAccessRole": "Deine Rolle {roles} wird während der Pause entfernt.",
333
+ "pauseAccessRoles": "Deine Rollen {roles} werden während der Pause entfernt.",
334
+ "pauseAccess": "Dein Zugang wird während der Pause entfernt.",
335
+ "pausedPayToday": "Wenn du jetzt fortsetzt, zahlst du heute {price} für einen neuen Abrechnungszeitraum.",
336
+ "pauseScheduled": "Pausiert nach dem {date}",
337
+ "pauseScheduledBody": "Bis dahin behältst du deinen Zugang. Am {date} läuft es wieder an.",
338
+ "pauseScheduledBodyOpenEnded": "Bis dahin behältst du deinen Zugang.",
339
+ "resumeNow": "Jetzt fortsetzen",
340
+ "dontPause": "Nicht pausieren",
341
+ "pauseLimit": "Du hast deine {count} Pausen für dieses Jahr genutzt. Ab dem {date} kannst du wieder pausieren.",
342
+ "pauseLimitOne": "Du hast deine Pause für dieses Jahr genutzt. Ab dem {date} kannst du wieder pausieren.",
343
+ "pauseSavedNotice": "Deine Pause ist eingerichtet.",
344
+ "pauseCalledOff": "Dein Abo wird nicht pausiert.",
345
+ "renewalDue": "Für dieses Abo ist eine Verlängerungszahlung fällig.",
346
+ "payNow": "Jetzt bezahlen",
347
+ "updateCard": "Karte aktualisieren",
348
+ "pastDueCardTitle": "Deine letzte Zahlung ist fehlgeschlagen",
349
+ "pastDueCardBody": "Aktualisiere deine Karte, damit dein Abo weiterläuft. Öffnet eine sichere Shoppex-Seite.",
350
+ "historyFirstOrder": "Erstbestellung",
351
+ "historyRenewal": "Verlängerung",
352
+ "historyPlanChange": "Tarifwechsel, {from} zu {to}",
353
+ "historyDays": "für {days} von {total} Tagen"
234
354
  },
235
355
  "favorites": {
236
356
  "loading": "Deine Favoriten werden geladen",
@@ -311,6 +431,18 @@
311
431
  "primary": "Primär",
312
432
  "commission": "{percent}% Provision",
313
433
  "buyerDiscount": "{percent}% Käuferrabatt",
434
+ "yourRates": "Deine Konditionen",
435
+ "ratesEveryProduct": "{percent}% auf jedes Produkt",
436
+ "ratesMostProducts": "{percent}% auf die meisten Produkte",
437
+ "ratesProductEarnsNothing": "{product} bringt keine Provision",
438
+ "ratesProductsEarnNothing": "{products} bringen keine Provision",
439
+ "ratesCustomRateProducts": "Einige Produkte haben einen eigenen Satz",
440
+ "ratesMoreProducts": "{count} weitere",
441
+ "ratesCap": "Bis zu {amount} pro Bestellung",
442
+ "ratesMinimum": "Bestellungen unter {amount} bringen keine Provision",
443
+ "ratesBindingDays": "Käufer bleiben {days} Tage bei dir",
444
+ "ratesBindingForever": "Käufer bleiben dauerhaft bei dir",
445
+ "ratesBindingDetail": "Nach ihrer ersten bezahlten Bestellung über deinen Link",
314
446
  "awaitingApproval": "Wartet auf die Freigabe durch den Shop.",
315
447
  "clicks": "Klicks",
316
448
  "sales": "Verkäufe",
@@ -432,14 +564,6 @@
432
564
  "paymentIssue": "Zahlungsprobleme",
433
565
  "paymentIssueNote": "Eine E-Mail, wenn eine Zahlung deine Aufmerksamkeit braucht."
434
566
  },
435
- "walletTopup": {
436
- "title": "Guthaben aufladen",
437
- "minimum": "Mindestens {min}",
438
- "bounds": "Von {min} bis {max}",
439
- "bonus": "Lade mindestens {amount} auf und erhalte {percent}% extra",
440
- "amount": "Betrag",
441
- "submit": "Weiter zur Zahlung"
442
- },
443
567
  "reseller": {
444
568
  "disabledTitle": "Das Reseller-Programm ist nicht verfügbar",
445
569
  "disabledBody": "Dieser Shop nimmt derzeit keine Großhandelsbestellungen an.",
@@ -466,19 +590,12 @@
466
590
  "walletTitle": "Großhandelsguthaben",
467
591
  "balance": "Guthaben",
468
592
  "held": "Reserviert",
593
+ "topUp": "Guthaben aufladen",
469
594
  "catalogTitle": "Großhandelskatalog",
470
595
  "search": "Produkte suchen",
471
596
  "catalogEmptyTitle": "Keine Großhandelsprodukte gefunden",
472
597
  "catalogEmptyBody": "Versuche eine andere Suche oder komm wieder, nachdem der Shop Produkte hinzugefügt hat.",
473
598
  "volumePricing": "Mengenpreise verfügbar",
474
- "supplierBacked": "Vom Lieferanten erfüllt",
475
- "add": "Hinzufügen",
476
- "basketTitle": "Großhandelswarenkorb",
477
- "basketEmpty": "Füge ein Produkt aus dem Großhandelskatalog hinzu, um eine Bestellung zu starten.",
478
- "quantity": "Menge",
479
- "basketNeedsQuote": "Lass diesen Warenkorb berechnen, um vor der Bestellung den aktuellen Gesamtbetrag zu sehen.",
480
- "quote": "Warenkorb berechnen",
481
- "place": "Bestellung aufgeben",
482
599
  "ordersTitle": "Großhandelsbestellungen",
483
600
  "ordersEmptyTitle": "Noch keine Großhandelsbestellungen",
484
601
  "ordersEmptyBody": "Bestellungen, die mit deinem Großhandelsguthaben bezahlt wurden, erscheinen hier.",
@@ -486,17 +603,11 @@
486
603
  "lineQuantity": "Menge {count}",
487
604
  "serials": "Gelieferte Seriennummern",
488
605
  "apiKeysTitle": "Reseller-API-Schlüssel",
489
- "apiKeyName": "Schlüsselname",
490
- "createApiKey": "Schlüssel erstellen",
491
606
  "apiKeysEmpty": "Du hast noch keine Reseller-API-Schlüssel erstellt.",
492
- "orderElsewhere": "Großhandelsbestellungen laufen über die Reseller-API, nicht über diese Seite.",
493
- "keysElsewhere": "API-Schlüssel vergibt der Shop. Frag dort danach.",
494
- "apiKeyCreatedTitle": "Kopiere diesen Schlüssel jetzt",
495
- "apiKeyCreatedBody": "Dieser Klartextschlüssel wird nur einmal angezeigt und kann später nicht wiederhergestellt werden.",
496
- "dismissKey": "Ich habe ihn gespeichert",
607
+ "manageKeys": "Schlüssel verwalten",
608
+ "delivery": "Liefer-URL",
609
+ "deliveryHint": "Für das Feld „Dynamic Delivery“ in deinem Shop. Öffnet eine sichere Shoppex-Seite.",
497
610
  "lastUsed": "Zuletzt verwendet: {date}",
498
- "neverUsed": "Nie verwendet",
499
- "revokeApiKey": "Widerrufen"
611
+ "neverUsed": "Nie verwendet"
500
612
  }
501
613
  }
502
-
@@ -11,6 +11,7 @@
11
11
  },
12
12
  "account": {
13
13
  "title": "Your account",
14
+ "secureLink": "Opens a secure Shoppex page.",
14
15
  "sections": "Account sections",
15
16
  "signOut": "Sign out",
16
17
  "signingOut": "Signing out…",
@@ -92,11 +93,25 @@
92
93
  "PAID": "Paid",
93
94
  "FAILED": "Failed"
94
95
  },
96
+ "invoiceStatus": {
97
+ "awaitingPayment": "Awaiting payment",
98
+ "processing": "Confirming payment",
99
+ "underpaid": "Payment incomplete",
100
+ "awaitingStock": "Waiting for stock",
101
+ "completed": "Completed",
102
+ "partialRefund": "Partly refunded",
103
+ "refunded": "Refunded",
104
+ "disputed": "Disputed",
105
+ "expired": "Expired",
106
+ "voided": "Cancelled by the shop",
107
+ "paid": "Paid"
108
+ },
95
109
  "delivery": {
96
110
  "DELIVERED": "Delivered",
97
111
  "AWAITING_FULFILLMENT": "Awaiting fulfillment",
98
112
  "PENDING": "Pending",
99
- "FAILED": "Delivery failed"
113
+ "FAILED": "Delivery failed",
114
+ "WAITING": "Waiting"
100
115
  },
101
116
  "overview": {
102
117
  "loading": "Loading your account",
@@ -107,6 +122,7 @@
107
122
  "statTickets": "Support tickets",
108
123
  "walletLabel": "Store credit",
109
124
  "walletNote": "Applied at checkout",
125
+ "topUp": "Top up",
110
126
  "recentOrders": "Recent orders",
111
127
  "allOrders": "All orders"
112
128
  },
@@ -138,12 +154,6 @@
138
154
  "searchPlaceholder": "Search by invoice ID",
139
155
  "status": "Status",
140
156
  "statusAll": "All statuses",
141
- "statusCompleted": "Completed",
142
- "statusPending": "Pending",
143
- "statusProcessing": "Processing",
144
- "statusRefunded": "Refunded",
145
- "statusDisputed": "Disputed",
146
- "statusExpired": "Expired",
147
157
  "emptyFiltered": "No matching orders. Try a different invoice ID or status.",
148
158
  "warrantyTitle": "Warranty",
149
159
  "warrantyCoveredUntil": "Covered until {date}",
@@ -162,7 +172,28 @@
162
172
  "warrantyClaimTooLong": "Your claim can be at most {max} characters.",
163
173
  "invoicePdf": "Download invoice (PDF)",
164
174
  "invoicePdfLoading": "Preparing…",
165
- "invoicePdfFailed": "We could not download this invoice. Please try again."
175
+ "reviewTitle": "Your review",
176
+ "reviewPrompt": "How was {product}?",
177
+ "reviewPromptGeneric": "How was your purchase?",
178
+ "reviewPositive": "Positive",
179
+ "reviewNeutral": "Neutral",
180
+ "reviewNegative": "Negative",
181
+ "reviewEdit": "Edit review",
182
+ "reviewWrite": "Write a review",
183
+ "reviewAutomated": "An automatic positive review was posted for this order. You can replace it with your own.",
184
+ "reviewFallbackLabel": "Review",
185
+ "nothingToDownload": "Delivered {date}. The seller gave this to you directly, so there's nothing to download.",
186
+ "detailError": "Couldn't load order {id}",
187
+ "noReceiptUnpaid": "This order was never paid, so it has no receipt.",
188
+ "noReceiptVoided": "The shop cancelled this order, so it has no receipt.",
189
+ "pdfSignedOut": "You were signed out. Sign in again to download the receipt.",
190
+ "pdfFailed": "Couldn't create the receipt. Try again in a minute.",
191
+ "waitingStock": {
192
+ "title": "You've paid. The seller is restocking.",
193
+ "body": "Your {item} appears here as soon as it's delivered.",
194
+ "bodyOrder": "Your order appears here as soon as it's delivered."
195
+ },
196
+ "paidOn": "Paid {date}"
166
197
  },
167
198
  "downloads": {
168
199
  "loading": "Loading your downloads",
@@ -186,7 +217,27 @@
186
217
  "renewAction": "Open the store",
187
218
  "brokenTitle": "Your downloads could not be listed",
188
219
  "brokenBody": "The store sent a license entry ({id}) without the license behind it, so this list would be missing what it names.",
189
- "brokenFileBody": "The store sent a file entry ({id}) with nothing to download, so this list would name a file it cannot hand over."
220
+ "brokenFileBody": "The store sent a file entry ({id}) with nothing to download, so this list would name a file it cannot hand over.",
221
+ "accessLeftOne": "{count} download left",
222
+ "accessLeftOther": "{count} downloads left",
223
+ "accessUntil": "until {date}",
224
+ "accessLimitReached": "You've used all your downloads",
225
+ "accessLimitReachedOne": "You've used your only download",
226
+ "accessLimitReachedOther": "You've used all {count} downloads",
227
+ "accessExpired": "Downloads ended on {date}",
228
+ "accessExpiredUndated": "Downloads have ended",
229
+ "accessRevoked": "Downloads were turned off for this order",
230
+ "accessRefunded": "Downloads ended because this order was refunded",
231
+ "askAccess": "Ask for access",
232
+ "askingAccess": "Sending…",
233
+ "accessRequested": "Request sent",
234
+ "accessRequestDone": "Request sent. The store answers in Support.",
235
+ "accessRequestFailed": "Your request could not be sent. Please try again.",
236
+ "accessRequestTitle": "Access to {file}",
237
+ "accessRequestMessage": "I'd like to download {file} ({product}) from this order again.",
238
+ "accessRequestReason": "The account page says: {reason}.",
239
+ "waitingOrder": "Order {id} is paid and waiting for stock. Its {item} appears here once it's delivered.",
240
+ "openOrder": "Open order"
190
241
  },
191
242
  "subscriptions": {
192
243
  "loading": "Loading your subscriptions",
@@ -197,6 +248,9 @@
197
248
  "renews": "Renews {date}",
198
249
  "ends": "Ends {date}",
199
250
  "canceled": "Canceled {date}",
251
+ "endedOn": "Ended {date}",
252
+ "endedHoldRanOut": "The hold ran out without a payment. You can subscribe again from the store.",
253
+ "endedShopEnded": "The renewal was not paid and the shop ended the subscription. You can subscribe again from the store.",
200
254
  "startedOn": "Started {date}",
201
255
  "billingDayOne": "Billed daily",
202
256
  "billingDayOther": "Billed every {count} days",
@@ -211,10 +265,8 @@
211
265
  "paymentMethod": "Payment method",
212
266
  "cardOnFile": "{brand} ending {last4}",
213
267
  "noPaymentMethod": "None on file",
214
- "paymentMethodElsewhere": "The link to change your payment details comes from the store's own emails. It is not handed out here, because anything on this page could pick it up.",
215
268
  "pause": "Pause",
216
269
  "pausing": "Pausing…",
217
- "resume": "Resume",
218
270
  "resuming": "Resuming…",
219
271
  "cancel": "Cancel subscription",
220
272
  "cancelling": "Cancelling…",
@@ -223,14 +275,82 @@
223
275
  "confirmCancelAtPeriodEnd": "You keep access until {date}. Nothing is billed after that.",
224
276
  "confirmCancelNow": "Access ends as soon as this is cancelled.",
225
277
  "actionFailed": "That did not go through. Please try again.",
226
- "paused": "This subscription is paused.",
227
278
  "resumed": "This subscription is running again.",
228
279
  "cancelled": "This subscription is cancelled.",
229
280
  "historyTitle": "Billing history",
230
281
  "historyLoading": "Loading billing history",
231
282
  "historyEmptyTitle": "No billing history yet",
232
283
  "historyEmptyBody": "Renewal invoices appear here after the first cycle.",
233
- "trial": "Trial ends {date}"
284
+ "trial": "Trial ends {date}",
285
+ "statusOnHold": "On hold",
286
+ "statusPaymentDue": "Payment due",
287
+ "holdNote": "Your access is paused. Pay {amount} by {date} and it comes back right away, with {interval} from the day you pay.",
288
+ "dueNote": "Your {renewal} renewal is open. Pay by {date} to keep your access.",
289
+ "readyNote": "Your {renewal} renewal is ready. Pay any time before then; {interval} still starts on {renewal}.",
290
+ "holdIntervalDay": "a new day",
291
+ "holdIntervalWeek": "a new week",
292
+ "holdIntervalMonth": "a new month",
293
+ "holdIntervalYear": "a new year",
294
+ "holdIntervalOther": "a new billing period",
295
+ "readyIntervalDay": "your next day",
296
+ "readyIntervalWeek": "your next week",
297
+ "readyIntervalMonth": "your next month",
298
+ "readyIntervalYear": "your next year",
299
+ "readyIntervalOther": "your next billing period",
300
+ "payAndResume": "Pay {amount} and resume",
301
+ "payAmount": "Pay {amount} now",
302
+ "pauses": "Pauses {date}",
303
+ "payBy": "Pay by {date}",
304
+ "resumes": "Resumes {date}",
305
+ "pausedOpenEnded": "Paused until you resume it",
306
+ "pauseTitle": "Pause {plan}?",
307
+ "pauseStartsAfter": "Your plan stops after {date}, the end of the period you paid for.",
308
+ "pauseHowLong": "How long",
309
+ "pauseReasonLabel": "Why are you pausing?",
310
+ "pauseOptional": "Optional",
311
+ "pauseReasonNone": "Choose a reason",
312
+ "pauseReasonTakingABreak": "Taking a break",
313
+ "pauseReasonTooExpensive": "Too expensive right now",
314
+ "pauseReasonNotUsing": "Not using it enough",
315
+ "pauseReasonNotWorking": "Something isn't working",
316
+ "pauseReasonOther": "Other",
317
+ "pauseLength7": "1 week",
318
+ "pauseLength14": "2 weeks",
319
+ "pauseLength30": "1 month",
320
+ "pauseLength60": "2 months",
321
+ "pauseLength90": "3 months",
322
+ "pauseSummary": "No payment from {start} to {end}. It starts again by itself on {end}.",
323
+ "pauseResumeAnyTime": "You can resume earlier any time.",
324
+ "pauseLeftNone": "This is your last pause for the next 12 months.",
325
+ "pauseLeftOne": "You can pause 1 more time in the next 12 months.",
326
+ "pauseLeftMany": "You can pause {count} more times in the next 12 months.",
327
+ "pauseConfirm": "Pause until {date}",
328
+ "pauseKeep": "Keep subscription",
329
+ "pauseError": "We couldn't pause your subscription. Nothing changed. Try again in a moment.",
330
+ "pausedUntil": "Paused until {date}",
331
+ "pausedBody": "No payments until then.",
332
+ "pauseAccessRole": "Your {roles} role is removed while paused.",
333
+ "pauseAccessRoles": "Your {roles} roles are removed while paused.",
334
+ "pauseAccess": "Your access is removed while paused.",
335
+ "pausedPayToday": "Resume now and you pay {price} today for a new billing period.",
336
+ "pauseScheduled": "Pauses after {date}",
337
+ "pauseScheduledBody": "You keep your access until then. It starts again on {date}.",
338
+ "pauseScheduledBodyOpenEnded": "You keep your access until then.",
339
+ "resumeNow": "Resume now",
340
+ "dontPause": "Don't pause",
341
+ "pauseLimit": "You've used your {count} pauses for this year. You can pause again from {date}.",
342
+ "pauseLimitOne": "You've used your pause for this year. You can pause again from {date}.",
343
+ "pauseSavedNotice": "Your pause is set.",
344
+ "pauseCalledOff": "Your subscription will not pause.",
345
+ "renewalDue": "A renewal payment is due for this subscription.",
346
+ "payNow": "Pay now",
347
+ "updateCard": "Update card",
348
+ "pastDueCardTitle": "Your last payment failed",
349
+ "pastDueCardBody": "Update your card to keep this subscription. Opens a secure Shoppex page.",
350
+ "historyFirstOrder": "First order",
351
+ "historyRenewal": "Renewal",
352
+ "historyPlanChange": "Plan change, {from} to {to}",
353
+ "historyDays": "for {days} of {total} days"
234
354
  },
235
355
  "favorites": {
236
356
  "loading": "Loading your favorites",
@@ -311,6 +431,18 @@
311
431
  "primary": "Primary",
312
432
  "commission": "{percent}% commission",
313
433
  "buyerDiscount": "{percent}% buyer discount",
434
+ "yourRates": "Your rates",
435
+ "ratesEveryProduct": "{percent}% on every product",
436
+ "ratesMostProducts": "{percent}% on most products",
437
+ "ratesProductEarnsNothing": "{product} earns nothing",
438
+ "ratesProductsEarnNothing": "{products} earn nothing",
439
+ "ratesCustomRateProducts": "Some products pay their own rate",
440
+ "ratesMoreProducts": "{count} more",
441
+ "ratesCap": "Up to {amount} per order",
442
+ "ratesMinimum": "Orders under {amount} earn nothing",
443
+ "ratesBindingDays": "Buyers stay yours for {days} days",
444
+ "ratesBindingForever": "Buyers stay yours for good",
445
+ "ratesBindingDetail": "After their first paid order through your link",
314
446
  "awaitingApproval": "Waiting for the store to approve this link.",
315
447
  "clicks": "Clicks",
316
448
  "sales": "Sales",
@@ -432,14 +564,6 @@
432
564
  "paymentIssue": "Payment issues",
433
565
  "paymentIssueNote": "An email when a payment needs your attention."
434
566
  },
435
- "walletTopup": {
436
- "title": "Add store credit",
437
- "minimum": "Minimum {min}",
438
- "bounds": "From {min} to {max}",
439
- "bonus": "Add at least {amount} and get {percent}% extra",
440
- "amount": "Amount",
441
- "submit": "Continue to payment"
442
- },
443
567
  "reseller": {
444
568
  "disabledTitle": "The reseller program is unavailable",
445
569
  "disabledBody": "This store is not accepting wholesale orders right now.",
@@ -466,19 +590,12 @@
466
590
  "walletTitle": "Wholesale balance",
467
591
  "balance": "Balance",
468
592
  "held": "On hold",
593
+ "topUp": "Add funds",
469
594
  "catalogTitle": "Wholesale catalog",
470
595
  "search": "Search products",
471
596
  "catalogEmptyTitle": "No wholesale products found",
472
597
  "catalogEmptyBody": "Try another search or come back after the store adds products.",
473
598
  "volumePricing": "Volume pricing available",
474
- "supplierBacked": "Supplier fulfilled",
475
- "add": "Add",
476
- "basketTitle": "Wholesale basket",
477
- "basketEmpty": "Add a product from the wholesale catalog to start an order.",
478
- "quantity": "Quantity",
479
- "basketNeedsQuote": "Price this basket to see the current total before placing it.",
480
- "quote": "Price basket",
481
- "place": "Place order",
482
599
  "ordersTitle": "Wholesale orders",
483
600
  "ordersEmptyTitle": "No wholesale orders yet",
484
601
  "ordersEmptyBody": "Orders paid from your wholesale balance appear here.",
@@ -486,17 +603,11 @@
486
603
  "lineQuantity": "Quantity {count}",
487
604
  "serials": "Delivered serials",
488
605
  "apiKeysTitle": "Reseller API keys",
489
- "apiKeyName": "Key name",
490
- "createApiKey": "Create key",
491
606
  "apiKeysEmpty": "You have not created any reseller API keys.",
492
- "orderElsewhere": "Wholesale orders are placed through the reseller API, not from this page.",
493
- "keysElsewhere": "API keys are issued by the shop. Ask them for one.",
494
- "apiKeyCreatedTitle": "Copy this key now",
495
- "apiKeyCreatedBody": "This plaintext key is shown once and cannot be recovered later.",
496
- "dismissKey": "I saved it",
607
+ "manageKeys": "Manage keys",
608
+ "delivery": "Delivery URL",
609
+ "deliveryHint": "For your shop's Dynamic Delivery field. Opens a secure Shoppex page.",
497
610
  "lastUsed": "Last used {date}",
498
- "neverUsed": "Never used",
499
- "revokeApiKey": "Revoke"
611
+ "neverUsed": "Never used"
500
612
  }
501
613
  }
502
-