Skip to content

Commit e2195aa

Browse files
aggmoulikclaudemxkaske
authored
Feat/status page i18n (#1966)
* feat(status-page): install next-intl 4.5+ and create i18n config Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(status-page): add next-intl plugin to next.config.ts Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(status-page): add [locale] route segment and move routes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(status-page): use useExtracted for status component strings Replace hardcoded strings in status-banner, status-monitor, status-events, and status-feed with useExtracted() i18n calls. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Moulik Aggarwal <qwertymoulik@gmail.com> * feat(status-page): use useExtracted for navigation strings Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(status-page): use useExtracted for events, report, maintenance, and monitor pages Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(status-page): use useExtracted for auth, forms, and updates strings Replace hardcoded English strings with useExtracted() calls in login sections, form components, and status updates popover. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Moulik Aggarwal <qwertymoulik@gmail.com> * feat(status-page): delete old messages.ts, add language switcher Remove the old messages.ts file (replaced by useExtracted), update status-tracker.tsx to use useExtracted, and add a globe-icon language switcher dropdown in the footer. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(status-page): make pathname prefix locale-aware Update usePathnamePrefix hook to include locale segment in prefix for non-default locales, ensuring internal links work correctly across all languages. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(status-page): switch message catalogs from .po to .json format Turbopack doesn't support .po imports natively. Switch to .json which next-intl handles out of the box. Create empty JSON catalogs for all supported locales as placeholders for future translations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Format fix Signed-off-by: Moulik Aggarwal <qwertymoulik@gmail.com> * WIP Status Page static and domain specific Signed-off-by: Moulik Aggarwal <qwertymoulik@gmail.com> * Update the extracted config and proxy fix Signed-off-by: Moulik Aggarwal <qwertymoulik@gmail.com> * ci: apply automated fixes Signed-off-by: Moulik Aggarwal <qwertymoulik@gmail.com> * Removed unncessary static component with ui package Signed-off-by: Moulik Aggarwal <qwertymoulik@gmail.com> * Updated status-events with blocks component Signed-off-by: Moulik Aggarwal <qwertymoulik@gmail.com> * wip: i18n * fix: date-fns locale * fix: locale navigation * chore: locale switcher * chore: format theme switcher * fix: missing translations * fix: review * chore: hide locale switcher --------- Signed-off-by: Moulik Aggarwal <qwertymoulik@gmail.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Maximilian Kaske <maximilian@kaske.org>
1 parent cb010d2 commit e2195aa

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+2227
-486
lines changed

apps/status-page/messages/de.json

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
{
2+
"Y9HHck": "Authentifizieren",
3+
"1QcGkA": "Geben Sie Ihre E-Mail-Adresse ein, um einen Magic Link für den Zugriff auf die Statusseite zu erhalten. Hinweis: Es werden nur E-Mails von genehmigten Domains akzeptiert.",
4+
"wSZR47": "Absenden",
5+
"txkW56": "Wird gesendet...",
6+
"OrFVks": "Überprüfen Sie Ihren Posteingang!",
7+
"n36zhX": "Greifen Sie auf die Statusseite zu, indem Sie auf den Link in der E-Mail klicken.",
8+
"qIAQSi": "Geschützte Seite",
9+
"lbw10C": "Geben Sie das Passwort ein, um auf die Statusseite zuzugreifen.",
10+
"t262xH": "E-Mail und Weiterleitungs-URL sind erforderlich",
11+
"DwevKz": "Bei der Anmeldung ist ein unerwarteter Fehler aufgetreten",
12+
"Ppx673": "Berichte",
13+
"JCMXwP": "Wartungen",
14+
"I7B7SH": "Keine Wartungen gefunden",
15+
"OSI607": "Keine Wartungen für diese Statusseite gefunden.",
16+
"a9S/OH": "Wartung nicht gefunden",
17+
"HSv9BP": "Die gesuchte Wartung existiert nicht.",
18+
"VL1Y/1": "Bericht nicht gefunden",
19+
"Ew1f8q": "Der gesuchte Bericht existiert nicht.",
20+
"wkVkCX": "Erfolgreich abgemeldet",
21+
"9qFG9F": "Abmeldung fehlgeschlagen",
22+
"PV34S9": "Ungültiger Abonnement-Token",
23+
"ar0fZ/": "Dieser Abonnement-Token ist nicht mehr gültig. Möglicherweise haben Sie sich bereits abgemeldet oder der Link ist abgelaufen.",
24+
"orvpWh": "Zurück",
25+
"K8kTfz": "Verwalten Sie Ihr Abonnement, um Updates zur Statusseite zu erhalten.",
26+
"3JgeEq": "Abgemeldet am {date}",
27+
"RXTZq5": "Abmeldung läuft...",
28+
"cctOA4": "Abmelden",
29+
"jHSHdV": "Sind Sie sicher, dass Sie sich von dieser Statusseite abmelden möchten? Sie erhalten dann keine Updates mehr.",
30+
"47FYwb": "Abbrechen",
31+
"awr0AJ": "Monitor nicht gefunden",
32+
"CVsoUM": "Der gesuchte Monitor existiert nicht.",
33+
"BRGcS0": "Globale Latenz",
34+
"9vqdq3": "Regionale Latenz",
35+
"fFOayY": "Regionen",
36+
"u81G9+": "Verfügbarkeit",
37+
"i2FBWn": "Prüfungen",
38+
"G5Lt80": "Die aggregierte Latenz aller aktiven Regionen basierend auf verschiedenen Quantilen.",
39+
"YV7rXP": "Latenz nach Region",
40+
"6zzIEm": "Regionale Latenz pro p75-Quantil, sortiert nach langsamster Region. Vergleichen Sie bis zu 6 Regionen.",
41+
"6pCzRs": "Gesamtverfügbarkeit",
42+
"zL23+z": "Hauptwerte der Verfügbarkeit, transparent dargestellt.",
43+
"gjBiyj": "Wird geladen...",
44+
"/72cxa": "Ungültiger oder abgelaufener Link",
45+
"R10mIw": "Dieser Abmelde-Link ist nicht mehr gültig. Möglicherweise haben Sie sich bereits abgemeldet.",
46+
"yFi/8F": "Erfolgreich abgemeldet",
47+
"CmelO7": "Sie erhalten keine E-Mail-Benachrichtigungen mehr von {pageName}.",
48+
"JqiqNj": "Etwas ist schiefgelaufen",
49+
"TnvU0H": "Bitte versuchen Sie es erneut oder kontaktieren Sie den Support, wenn das Problem weiterhin besteht.",
50+
"uW0VWi": "Von Benachrichtigungen abmelden",
51+
"deCYKO": "Sie sind dabei, {email} von den Status-Updates von {pageName} abzumelden.",
52+
"5HvAzP": "Bereit, Updates für {email} zu empfangen!",
53+
"ywcUO4": "Einen Moment — wir bestätigen Ihr Abonnement",
54+
"0Azlrb": "Verwalten",
55+
"cyR7Kh": "Zurück",
56+
"2yCGR2": "Link in die Zwischenablage kopiert",
57+
"u5aHb4": "Link kopieren",
58+
"m5BctM": "Diagrammlegende",
59+
"csFahs": "Relativ",
60+
"oBoa2n": "Voreinstellungen",
61+
"gdve5D": "Benutzerdefinierter Zeitraum",
62+
"mOFG3K": "Start",
63+
"3JVa6k": "Ende",
64+
"79eRW1": "Bestätigung läuft...",
65+
"dX7+Rv": "Bestätigt",
66+
"m0fapd": "Bestätigung fehlgeschlagen",
67+
"sy+pv5": "E-Mail",
68+
"9Utk00": "Abonnement wird aktualisiert...",
69+
"Eq5gCU": "Abonnement aktualisiert",
70+
"qp+wDV": "Aktualisierung des Abonnements fehlgeschlagen",
71+
"d/jCcy": "Bestimmte Komponenten abonnieren",
72+
"FlVuUh": "Keine Komponenten zum Abonnieren",
73+
"8aUjqQ": "Diese Statusseite hat keine Komponenten zum Abonnieren.",
74+
"5sg7KC": "Passwort",
75+
"IGY48m": "Wird abonniert...",
76+
"Pgb3Xj": "Abonniert",
77+
"WOH7Yj": "Abonnement fehlgeschlagen",
78+
"L7z2/k": "Diese Seite hat keine Komponenten zum Abonnieren.",
79+
"NOyDVq": "betrieben von",
80+
"tzMNF3": "Status",
81+
"ZvKSfJ": "Ereignisse",
82+
"xJrRMG": "Monitore",
83+
"tKMlOc": "Menü",
84+
"krEziQ": "Kontakt aufnehmen",
85+
"8kyEWd": "Ein Quantil stellt ein bestimmtes Perzentil in Ihrem Datensatz dar.",
86+
"kd0Igx": "Zum Beispiel ist p50 das 50. Perzentil — der Punkt, unter dem 50 % der Daten liegen. Höhere Perzentile umfassen mehr Daten und heben den oberen Bereich hervor.",
87+
"BQBZU+": "Alle Systeme betriebsbereit",
88+
"b9fOA1": "Eingeschränkte Leistung",
89+
"80EXUh": "Ausfall",
90+
"dudqv/": "Wartung",
91+
"u++vY3": "Keine Berichte gefunden",
92+
"2HGztY": "Keine Berichte für diese Statusseite gefunden.",
93+
"50SA6J": "Keine öffentlichen Monitore",
94+
"FHrzf5": "Es wurden keine öffentlichen Monitore zu dieser Seite hinzugefügt.",
95+
"2syGZB": "Bericht gelöst",
96+
"heezSZ": "(in {duration})",
97+
"lKJjwW": "({timeFromLast} früher)",
98+
"W6nSYE": "Gelöst",
99+
"1P6GMj": "Überwachung",
100+
"7cv4Uf": "Identifiziert",
101+
"/GKH/w": "Wird untersucht",
102+
"VaZnIX": "(für {duration})",
103+
"FDReLp": "Keine aktuellen Benachrichtigungen",
104+
"qDj0JR": "In den letzten 7 Tagen gab es keine Berichte.",
105+
"CYs0LF": "Ereignisverlauf anzeigen",
106+
"kkpP2k": "heute",
107+
"Dnob31": "Betriebsbereit",
108+
"VQDmmK": "Eingeschränkt",
109+
"JOZGPR": "Ausfall",
110+
"3Vaz8F": "Status-Tracker",
111+
"apbxET": "Tag {n} Status",
112+
"GbVCQb": "Erneut klicken zum Lösen",
113+
"myq2ZL": "Normal",
114+
"KN7zKn": "Fehler",
115+
"D3rOMr": "Keine Daten",
116+
"2wsjxR": "laufend",
117+
"jC7BY1": "über {duration}",
118+
"uPb/gh": "Updates erhalten",
119+
"sjzDbu": "Slack",
120+
"q0qMyV": "RSS",
121+
"9y9QQh": "JSON",
122+
"waUHa4": "SSH",
123+
"cVqFq/": "Erhalten Sie E-Mail-Benachrichtigungen, wenn ein Bericht erstellt oder gelöst wird",
124+
"gczcC5": "Abonnieren",
125+
"8OoV56": "RSS-Feed abrufen",
126+
"Auj/Ki": "Atom-Feed abrufen",
127+
"SyYroX": "JSON-Updates abrufen",
128+
"PSqtlY": "Status über SSH abrufen",
129+
"rptmhC": "Für Status-Updates in Slack fügen Sie den folgenden Text in einen beliebigen Kanal ein.",
130+
"45YlLU": "Bestätigen Sie Ihre E-Mail-Adresse, um Updates zu erhalten, und schon sind Sie fertig."
131+
}

apps/status-page/messages/en.json

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
{
2+
"Y9HHck": "Authenticate",
3+
"1QcGkA": "Enter your email to receive a magic link for accessing the status page. Note: Only emails from approved domains are accepted.",
4+
"wSZR47": "Submit",
5+
"txkW56": "Submitting...",
6+
"OrFVks": "Check your inbox!",
7+
"n36zhX": "Access the status page by clicking the link in the email.",
8+
"qIAQSi": "Protected Page",
9+
"lbw10C": "Enter the password to access the status page.",
10+
"t262xH": "Email and redirectTo are required",
11+
"DwevKz": "An unexpected error occurred during sign in",
12+
"Ppx673": "Reports",
13+
"JCMXwP": "Maintenances",
14+
"I7B7SH": "No maintenances found",
15+
"OSI607": "No maintenances found for this status page.",
16+
"a9S/OH": "Maintenance not found",
17+
"HSv9BP": "The maintenance you are looking for does not exist.",
18+
"VL1Y/1": "Report not found",
19+
"Ew1f8q": "The report you are looking for does not exist.",
20+
"wkVkCX": "Unsubscribed successfully",
21+
"9qFG9F": "Failed to unsubscribe",
22+
"PV34S9": "Invalid subscription token",
23+
"ar0fZ/": "This subscription token is no longer valid. You may have already unsubscribed or the link has expired.",
24+
"orvpWh": "Go back",
25+
"K8kTfz": "Manage your subscription to receive updates on the status page.",
26+
"3JgeEq": "Unsubscribed on {date}",
27+
"RXTZq5": "Unsubscribing...",
28+
"cctOA4": "Unsubscribe",
29+
"jHSHdV": "Are you sure you want to unsubscribe from this status page? You will no longer receive updates.",
30+
"47FYwb": "Cancel",
31+
"awr0AJ": "Monitor not found",
32+
"CVsoUM": "The monitor you are looking for does not exist.",
33+
"BRGcS0": "Global Latency",
34+
"9vqdq3": "Region Latency",
35+
"fFOayY": "regions",
36+
"u81G9+": "Uptime",
37+
"i2FBWn": "checks",
38+
"G5Lt80": "The aggregated latency from all active regions based on different quantiles.",
39+
"YV7rXP": "Latency by Region",
40+
"6zzIEm": "Region latency per p75 quantile, sorted by slowest region. Compare up to 6 regions.",
41+
"6pCzRs": "Total Uptime",
42+
"zL23+z": "Main values of uptime and availability, transparent.",
43+
"gjBiyj": "Loading...",
44+
"/72cxa": "Invalid or expired link",
45+
"R10mIw": "This unsubscribe link is no longer valid. You may have already unsubscribed.",
46+
"yFi/8F": "Successfully unsubscribed",
47+
"CmelO7": "You will no longer receive email notifications from {pageName}.",
48+
"JqiqNj": "Something went wrong",
49+
"TnvU0H": "Please try again or contact support if the issue persists.",
50+
"uW0VWi": "Unsubscribe from notifications",
51+
"deCYKO": "You are about to unsubscribe {email} from {pageName} status updates.",
52+
"5HvAzP": "All set to receive updates to {email}!",
53+
"ywcUO4": "Hang tight - we're confirming your subscription",
54+
"0Azlrb": "Manage",
55+
"cyR7Kh": "Back",
56+
"2yCGR2": "Link copied to clipboard",
57+
"u5aHb4": "Copy Link",
58+
"m5BctM": "Chart legend",
59+
"csFahs": "Relative",
60+
"oBoa2n": "Presets",
61+
"gdve5D": "Custom Range",
62+
"mOFG3K": "Start",
63+
"3JVa6k": "End",
64+
"79eRW1": "Confirming...",
65+
"dX7+Rv": "Confirmed",
66+
"m0fapd": "Failed to confirm",
67+
"sy+pv5": "Email",
68+
"9Utk00": "Updating subscription...",
69+
"Eq5gCU": "Subscription updated",
70+
"qp+wDV": "Failed to update subscription",
71+
"d/jCcy": "Subscribe to specific components",
72+
"FlVuUh": "No components to subscribe to",
73+
"8aUjqQ": "This status page has no components to subscribe to.",
74+
"5sg7KC": "Password",
75+
"IGY48m": "Subscribing...",
76+
"Pgb3Xj": "Subscribed",
77+
"WOH7Yj": "Failed to subscribe",
78+
"L7z2/k": "This page has no components to subscribe to.",
79+
"NOyDVq": "powered by",
80+
"tzMNF3": "Status",
81+
"ZvKSfJ": "Events",
82+
"xJrRMG": "Monitors",
83+
"tKMlOc": "Menu",
84+
"krEziQ": "Get in touch",
85+
"8kyEWd": "A quantile represents a specific percentile in your dataset.",
86+
"kd0Igx": "For example, p50 is the 50th percentile - the point below which 50% of data falls. Higher percentiles include more data and highlight the upper range.",
87+
"BQBZU+": "All Systems Operational",
88+
"b9fOA1": "Degraded Performance",
89+
"80EXUh": "Downtime Performance",
90+
"dudqv/": "Maintenance",
91+
"u++vY3": "No reports found",
92+
"2HGztY": "No reports found for this status page.",
93+
"50SA6J": "No public monitors",
94+
"FHrzf5": "No public monitors have been added to this page.",
95+
"2syGZB": "Report resolved",
96+
"heezSZ": "(in {duration})",
97+
"lKJjwW": "({timeFromLast} earlier)",
98+
"W6nSYE": "Resolved",
99+
"1P6GMj": "Monitoring",
100+
"7cv4Uf": "Identified",
101+
"/GKH/w": "Investigating",
102+
"VaZnIX": "(for {duration})",
103+
"FDReLp": "No recent notifications",
104+
"qDj0JR": "There have been no reports within the last 7 days.",
105+
"CYs0LF": "View events history",
106+
"kkpP2k": "today",
107+
"Dnob31": "Operational",
108+
"VQDmmK": "Degraded",
109+
"JOZGPR": "Downtime",
110+
"3Vaz8F": "Status tracker",
111+
"apbxET": "Day {n} status",
112+
"GbVCQb": "Click again to unpin",
113+
"myq2ZL": "Normal",
114+
"KN7zKn": "Error",
115+
"D3rOMr": "No Data",
116+
"2wsjxR": "ongoing",
117+
"jC7BY1": "across {duration}",
118+
"uPb/gh": "Get updates",
119+
"sjzDbu": "Slack",
120+
"q0qMyV": "RSS",
121+
"9y9QQh": "JSON",
122+
"waUHa4": "SSH",
123+
"cVqFq/": "Get email notifications whenever a report has been created or resolved",
124+
"gczcC5": "Subscribe",
125+
"8OoV56": "Get the RSS feed",
126+
"Auj/Ki": "Get the Atom feed",
127+
"SyYroX": "Get the JSON updates",
128+
"PSqtlY": "Get status via SSH",
129+
"rptmhC": "For status updates in Slack, paste the text below into any channel.",
130+
"45YlLU": "Validate your email to receive updates and you are all set."
131+
}

apps/status-page/messages/fr.json

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
{
2+
"Y9HHck": "S'authentifier",
3+
"1QcGkA": "Entrez votre email pour recevoir un lien magique d'accès à la page de statut. Remarque : seuls les emails provenant de domaines approuvés sont acceptés.",
4+
"wSZR47": "Envoyer",
5+
"txkW56": "Envoi en cours...",
6+
"OrFVks": "Vérifiez votre boîte de réception !",
7+
"n36zhX": "Accédez à la page de statut en cliquant sur le lien dans l'email.",
8+
"qIAQSi": "Page protégée",
9+
"lbw10C": "Entrez le mot de passe pour accéder à la page de statut.",
10+
"t262xH": "L'email et l'URL de redirection sont requis",
11+
"DwevKz": "Une erreur inattendue s'est produite lors de la connexion",
12+
"Ppx673": "Rapports",
13+
"JCMXwP": "Maintenances",
14+
"I7B7SH": "Aucune maintenance trouvée",
15+
"OSI607": "Aucune maintenance trouvée pour cette page de statut.",
16+
"a9S/OH": "Maintenance introuvable",
17+
"HSv9BP": "La maintenance que vous recherchez n'existe pas.",
18+
"VL1Y/1": "Rapport introuvable",
19+
"Ew1f8q": "Le rapport que vous recherchez n'existe pas.",
20+
"wkVkCX": "Désabonnement réussi",
21+
"9qFG9F": "Échec du désabonnement",
22+
"PV34S9": "Jeton d'abonnement invalide",
23+
"ar0fZ/": "Ce jeton d'abonnement n'est plus valide. Vous vous êtes peut-être déjà désabonné ou le lien a expiré.",
24+
"orvpWh": "Retour",
25+
"K8kTfz": "Gérez votre abonnement pour recevoir les mises à jour de la page de statut.",
26+
"3JgeEq": "Désabonné le {date}",
27+
"RXTZq5": "Désabonnement en cours...",
28+
"cctOA4": "Se désabonner",
29+
"jHSHdV": "Êtes-vous sûr de vouloir vous désabonner de cette page de statut ? Vous ne recevrez plus de mises à jour.",
30+
"47FYwb": "Annuler",
31+
"awr0AJ": "Moniteur introuvable",
32+
"CVsoUM": "Le moniteur que vous recherchez n'existe pas.",
33+
"BRGcS0": "Latence globale",
34+
"9vqdq3": "Latence par région",
35+
"fFOayY": "régions",
36+
"u81G9+": "Disponibilité",
37+
"i2FBWn": "vérifications",
38+
"G5Lt80": "La latence agrégée de toutes les régions actives basée sur différents quantiles.",
39+
"YV7rXP": "Latence par région",
40+
"6zzIEm": "Latence par région au quantile p75, triée par région la plus lente. Comparez jusqu'à 6 régions.",
41+
"6pCzRs": "Disponibilité totale",
42+
"zL23+z": "Valeurs principales de disponibilité, en toute transparence.",
43+
"gjBiyj": "Chargement...",
44+
"/72cxa": "Lien invalide ou expiré",
45+
"R10mIw": "Ce lien de désabonnement n'est plus valide. Vous vous êtes peut-être déjà désabonné.",
46+
"yFi/8F": "Désabonnement réussi",
47+
"CmelO7": "Vous ne recevrez plus de notifications par email de {pageName}.",
48+
"JqiqNj": "Une erreur est survenue",
49+
"TnvU0H": "Veuillez réessayer ou contacter le support si le problème persiste.",
50+
"uW0VWi": "Se désabonner des notifications",
51+
"deCYKO": "Vous êtes sur le point de désabonner {email} des mises à jour de statut de {pageName}.",
52+
"5HvAzP": "Prêt à recevoir les mises à jour pour {email} !",
53+
"ywcUO4": "Patientez, nous confirmons votre abonnement",
54+
"0Azlrb": "Gérer",
55+
"cyR7Kh": "Retour",
56+
"2yCGR2": "Lien copié dans le presse-papiers",
57+
"u5aHb4": "Copier le lien",
58+
"m5BctM": "Légende du graphique",
59+
"csFahs": "Relatif",
60+
"oBoa2n": "Préréglages",
61+
"gdve5D": "Plage personnalisée",
62+
"mOFG3K": "Début",
63+
"3JVa6k": "Fin",
64+
"79eRW1": "Confirmation en cours...",
65+
"dX7+Rv": "Confirmé",
66+
"m0fapd": "Échec de la confirmation",
67+
"sy+pv5": "Email",
68+
"9Utk00": "Mise à jour de l'abonnement...",
69+
"Eq5gCU": "Abonnement mis à jour",
70+
"qp+wDV": "Échec de la mise à jour de l'abonnement",
71+
"d/jCcy": "S'abonner à des composants spécifiques",
72+
"FlVuUh": "Aucun composant auquel s'abonner",
73+
"8aUjqQ": "Cette page de statut n'a aucun composant auquel s'abonner.",
74+
"5sg7KC": "Mot de passe",
75+
"IGY48m": "Abonnement en cours...",
76+
"Pgb3Xj": "Abonné",
77+
"WOH7Yj": "Échec de l'abonnement",
78+
"L7z2/k": "Cette page n'a aucun composant auquel s'abonner.",
79+
"NOyDVq": "propulsé par",
80+
"tzMNF3": "Statut",
81+
"ZvKSfJ": "Événements",
82+
"xJrRMG": "Moniteurs",
83+
"tKMlOc": "Menu",
84+
"krEziQ": "Nous contacter",
85+
"8kyEWd": "Un quantile représente un percentile spécifique dans votre jeu de données.",
86+
"kd0Igx": "Par exemple, p50 est le 50e percentile — le point en dessous duquel 50 % des données se situent. Les percentiles plus élevés incluent plus de données et mettent en évidence la plage supérieure.",
87+
"BQBZU+": "Tous les systèmes sont opérationnels",
88+
"b9fOA1": "Performances dégradées",
89+
"80EXUh": "Performances en panne",
90+
"dudqv/": "Maintenance",
91+
"u++vY3": "Aucun rapport trouvé",
92+
"2HGztY": "Aucun rapport trouvé pour cette page de statut.",
93+
"50SA6J": "Aucun moniteur public",
94+
"FHrzf5": "Aucun moniteur public n'a été ajouté à cette page.",
95+
"2syGZB": "Rapport résolu",
96+
"heezSZ": "(en {duration})",
97+
"lKJjwW": "({timeFromLast} plus tôt)",
98+
"W6nSYE": "Résolu",
99+
"1P6GMj": "Surveillance",
100+
"7cv4Uf": "Identifié",
101+
"/GKH/w": "En cours d'investigation",
102+
"VaZnIX": "(pendant {duration})",
103+
"FDReLp": "Aucune notification récente",
104+
"qDj0JR": "Aucun rapport au cours des 7 derniers jours.",
105+
"CYs0LF": "Voir l'historique des événements",
106+
"kkpP2k": "aujourd'hui",
107+
"Dnob31": "Opérationnel",
108+
"VQDmmK": "Dégradé",
109+
"JOZGPR": "En panne",
110+
"3Vaz8F": "Suivi de statut",
111+
"apbxET": "Statut du jour {n}",
112+
"GbVCQb": "Cliquez à nouveau pour désépingler",
113+
"myq2ZL": "Normal",
114+
"KN7zKn": "Erreur",
115+
"D3rOMr": "Aucune donnée",
116+
"2wsjxR": "en cours",
117+
"jC7BY1": "sur {duration}",
118+
"uPb/gh": "Recevoir les mises à jour",
119+
"sjzDbu": "Slack",
120+
"q0qMyV": "RSS",
121+
"9y9QQh": "JSON",
122+
"waUHa4": "SSH",
123+
"cVqFq/": "Recevez des notifications par email à chaque création ou résolution d'un rapport",
124+
"gczcC5": "S'abonner",
125+
"8OoV56": "Obtenir le flux RSS",
126+
"Auj/Ki": "Obtenir le flux Atom",
127+
"SyYroX": "Obtenir les mises à jour JSON",
128+
"PSqtlY": "Obtenir le statut via SSH",
129+
"rptmhC": "Pour recevoir les mises à jour dans Slack, collez le texte ci-dessous dans n'importe quel canal.",
130+
"45YlLU": "Validez votre email pour recevoir les mises à jour et le tour est joué."
131+
}

0 commit comments

Comments
 (0)