-
-
Notifications
You must be signed in to change notification settings - Fork 628
Feat/status page i18n #1966
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
aggmoulik
wants to merge
24
commits into
openstatusHQ:main
Choose a base branch
from
aggmoulik:feat/status-page-i18n
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Feat/status page i18n #1966
Changes from 22 commits
Commits
Show all changes
24 commits
Select commit
Hold shift + click to select a range
ccfea57
feat(status-page): install next-intl 4.5+ and create i18n config
aggmoulik 90feb8e
feat(status-page): add next-intl plugin to next.config.ts
aggmoulik 4e68768
feat(status-page): add [locale] route segment and move routes
aggmoulik 882ac92
feat(status-page): use useExtracted for status component strings
aggmoulik b9331ee
feat(status-page): use useExtracted for navigation strings
aggmoulik 7321996
feat(status-page): use useExtracted for events, report, maintenance, …
aggmoulik 5581722
feat(status-page): use useExtracted for auth, forms, and updates strings
aggmoulik 7a5240b
feat(status-page): delete old messages.ts, add language switcher
aggmoulik b5f131b
feat(status-page): make pathname prefix locale-aware
aggmoulik 2e36a0d
fix(status-page): switch message catalogs from .po to .json format
aggmoulik 5a4e381
Format fix
aggmoulik af63c63
WIP Status Page static and domain specific
aggmoulik 44594f4
Update the extracted config and proxy fix
aggmoulik c1199e1
ci: apply automated fixes
aggmoulik 8e0d807
Removed unncessary static component with ui package
aggmoulik 792216b
Updated status-events with blocks component
aggmoulik 6ded716
wip: i18n
mxkaske b9ef820
fix: date-fns locale
mxkaske c4b8ccf
fix: locale navigation
mxkaske 7560c1c
chore: locale switcher
mxkaske 3fd58bf
chore: format theme switcher
mxkaske 2135758
Merge branch 'main' into feat/status-page-i18n
mxkaske b8030ec
fix: missing translations
mxkaske e99ab77
fix: review
mxkaske File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,88 @@ | ||
| { | ||
| "Y9HHck": "Authentifizieren", | ||
| "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.", | ||
| "txkW56": "Wird gesendet...", | ||
| "wSZR47": "Absenden", | ||
| "OrFVks": "Überprüfen Sie Ihren Posteingang!", | ||
| "n36zhX": "Greifen Sie auf die Statusseite zu, indem Sie auf den Link in der E-Mail klicken.", | ||
| "qIAQSi": "Geschützte Seite", | ||
| "lbw10C": "Geben Sie das Passwort ein, um auf die Statusseite zuzugreifen.", | ||
| "t262xH": "E-Mail und Weiterleitungs-URL sind erforderlich", | ||
| "DwevKz": "Bei der Anmeldung ist ein unerwarteter Fehler aufgetreten", | ||
| "Ppx673": "Berichte", | ||
| "JCMXwP": "Wartungen", | ||
| "I7B7SH": "Keine Wartungen gefunden", | ||
| "OSI607": "Keine Wartungen für diese Statusseite gefunden.", | ||
| "a9S/OH": "Wartung nicht gefunden", | ||
| "HSv9BP": "Die gesuchte Wartung existiert nicht.", | ||
| "VL1Y/1": "Bericht nicht gefunden", | ||
| "Ew1f8q": "Der gesuchte Bericht existiert nicht.", | ||
| "awr0AJ": "Monitor nicht gefunden", | ||
| "CVsoUM": "Der gesuchte Monitor existiert nicht.", | ||
| "BRGcS0": "Globale Latenz", | ||
| "9vqdq3": "Regionale Latenz", | ||
| "fFOayY": "Regionen", | ||
| "u81G9+": "Verfügbarkeit", | ||
| "i2FBWn": "Prüfungen", | ||
| "G5Lt80": "Die aggregierte Latenz aller aktiven Regionen basierend auf verschiedenen Quantilen.", | ||
| "YV7rXP": "Latenz nach Region", | ||
| "6zzIEm": "Regionale Latenz pro p75-Quantil, sortiert nach langsamster Region. Vergleichen Sie bis zu 6 Regionen.", | ||
| "6pCzRs": "Gesamtverfügbarkeit", | ||
| "zL23+z": "Hauptwerte der Verfügbarkeit, transparent dargestellt.", | ||
| "79eRW1": "Bestätigung läuft...", | ||
| "dX7+Rv": "Bestätigt", | ||
| "m0fapd": "Bestätigung fehlgeschlagen", | ||
| "sy+pv5": "E-Mail", | ||
| "9Utk00": "Abonnement wird aktualisiert...", | ||
| "Eq5gCU": "Abonnement aktualisiert", | ||
| "qp+wDV": "Aktualisierung des Abonnements fehlgeschlagen", | ||
| "d/jCcy": "Bestimmte Komponenten abonnieren", | ||
| "FlVuUh": "Keine Komponenten zum Abonnieren", | ||
| "8aUjqQ": "Diese Statusseite hat keine Komponenten zum Abonnieren.", | ||
| "5sg7KC": "Passwort", | ||
| "IGY48m": "Wird abonniert...", | ||
| "Pgb3Xj": "Abonniert", | ||
| "WOH7Yj": "Abonnement fehlgeschlagen", | ||
| "L7z2/k": "Diese Seite hat keine Komponenten zum Abonnieren.", | ||
| "NOyDVq": "betrieben von", | ||
| "tzMNF3": "Status", | ||
| "ZvKSfJ": "Ereignisse", | ||
| "xJrRMG": "Monitore", | ||
| "tKMlOc": "Menü", | ||
| "krEziQ": "Kontakt aufnehmen", | ||
| "BQBZU+": "Alle Systeme betriebsbereit", | ||
| "b9fOA1": "Eingeschränkte Leistung", | ||
| "80EXUh": "Ausfall", | ||
| "dudqv/": "Wartung", | ||
| "2syGZB": "Bericht gelöst", | ||
| "W6nSYE": "Gelöst", | ||
| "1P6GMj": "Überwachung", | ||
| "7cv4Uf": "Identifiziert", | ||
| "/GKH/w": "Wird untersucht", | ||
| "FDReLp": "Keine aktuellen Benachrichtigungen", | ||
| "qDj0JR": "In den letzten 7 Tagen gab es keine Berichte.", | ||
| "CYs0LF": "Ereignisverlauf anzeigen", | ||
| "kkpP2k": "heute", | ||
| "Dnob31": "Betriebsbereit", | ||
| "VQDmmK": "Eingeschränkt", | ||
| "JOZGPR": "Ausfall", | ||
| "GbVCQb": "Erneut klicken zum Lösen", | ||
| "myq2ZL": "Normal", | ||
| "KN7zKn": "Fehler", | ||
| "D3rOMr": "Keine Daten", | ||
| "uPb/gh": "Updates erhalten", | ||
| "sjzDbu": "Slack", | ||
| "q0qMyV": "RSS", | ||
| "9y9QQh": "JSON", | ||
| "waUHa4": "SSH", | ||
| "cVqFq/": "Erhalten Sie E-Mail-Benachrichtigungen, wenn ein Bericht erstellt oder gelöst wird", | ||
| "gczcC5": "Abonnieren", | ||
| "8OoV56": "RSS-Feed abrufen", | ||
| "Auj/Ki": "Atom-Feed abrufen", | ||
| "SyYroX": "JSON-Updates abrufen", | ||
| "PSqtlY": "Status über SSH abrufen", | ||
| "rptmhC": "Für Status-Updates in Slack fügen Sie den folgenden Text in einen beliebigen Kanal ein.", | ||
| "2yCGR2": "Link in die Zwischenablage kopiert", | ||
| "u5aHb4": "Link kopieren", | ||
| "45YlLU": "Bestätigen Sie Ihre E-Mail-Adresse, um Updates zu erhalten, und schon sind Sie fertig." | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,88 @@ | ||
| { | ||
| "Y9HHck": "Authenticate", | ||
| "1QcGkA": "Enter your email to receive a magic link for accessing the status page. Note: Only emails from approved domains are accepted.", | ||
| "txkW56": "Submitting...", | ||
| "wSZR47": "Submit", | ||
| "OrFVks": "Check your inbox!", | ||
| "n36zhX": "Access the status page by clicking the link in the email.", | ||
| "qIAQSi": "Protected Page", | ||
| "lbw10C": "Enter the password to access the status page.", | ||
| "t262xH": "Email and redirectTo are required", | ||
| "DwevKz": "An unexpected error occurred during sign in", | ||
| "Ppx673": "Reports", | ||
| "JCMXwP": "Maintenances", | ||
| "I7B7SH": "No maintenances found", | ||
| "OSI607": "No maintenances found for this status page.", | ||
| "a9S/OH": "Maintenance not found", | ||
| "HSv9BP": "The maintenance you are looking for does not exist.", | ||
| "VL1Y/1": "Report not found", | ||
| "Ew1f8q": "The report you are looking for does not exist.", | ||
| "awr0AJ": "Monitor not found", | ||
| "CVsoUM": "The monitor you are looking for does not exist.", | ||
| "BRGcS0": "Global Latency", | ||
| "9vqdq3": "Region Latency", | ||
| "fFOayY": "regions", | ||
| "u81G9+": "Uptime", | ||
| "i2FBWn": "checks", | ||
| "G5Lt80": "The aggregated latency from all active regions based on different quantiles.", | ||
| "YV7rXP": "Latency by Region", | ||
| "6zzIEm": "Region latency per p75 quantile, sorted by slowest region. Compare up to 6 regions.", | ||
| "6pCzRs": "Total Uptime", | ||
| "zL23+z": "Main values of uptime and availability, transparent.", | ||
| "79eRW1": "Confirming...", | ||
| "dX7+Rv": "Confirmed", | ||
| "m0fapd": "Failed to confirm", | ||
| "sy+pv5": "Email", | ||
| "9Utk00": "Updating subscription...", | ||
| "Eq5gCU": "Subscription updated", | ||
| "qp+wDV": "Failed to update subscription", | ||
| "d/jCcy": "Subscribe to specific components", | ||
| "FlVuUh": "No components to subscribe to", | ||
| "8aUjqQ": "This status page has no components to subscribe to.", | ||
| "5sg7KC": "Password", | ||
| "IGY48m": "Subscribing...", | ||
| "Pgb3Xj": "Subscribed", | ||
| "WOH7Yj": "Failed to subscribe", | ||
| "L7z2/k": "This page has no components to subscribe to.", | ||
| "NOyDVq": "powered by", | ||
| "tzMNF3": "Status", | ||
| "ZvKSfJ": "Events", | ||
| "xJrRMG": "Monitors", | ||
| "tKMlOc": "Menu", | ||
| "krEziQ": "Get in touch", | ||
| "BQBZU+": "All Systems Operational", | ||
| "b9fOA1": "Degraded Performance", | ||
| "80EXUh": "Downtime Performance", | ||
| "dudqv/": "Maintenance", | ||
| "2syGZB": "Report resolved", | ||
| "W6nSYE": "Resolved", | ||
| "1P6GMj": "Monitoring", | ||
| "7cv4Uf": "Identified", | ||
| "/GKH/w": "Investigating", | ||
| "FDReLp": "No recent notifications", | ||
| "qDj0JR": "There have been no reports within the last 7 days.", | ||
| "CYs0LF": "View events history", | ||
| "kkpP2k": "today", | ||
| "Dnob31": "Operational", | ||
| "VQDmmK": "Degraded", | ||
| "JOZGPR": "Downtime", | ||
| "GbVCQb": "Click again to unpin", | ||
| "myq2ZL": "Normal", | ||
| "KN7zKn": "Error", | ||
| "D3rOMr": "No Data", | ||
| "uPb/gh": "Get updates", | ||
| "sjzDbu": "Slack", | ||
| "q0qMyV": "RSS", | ||
| "9y9QQh": "JSON", | ||
| "waUHa4": "SSH", | ||
| "cVqFq/": "Get email notifications whenever a report has been created or resolved", | ||
| "gczcC5": "Subscribe", | ||
| "8OoV56": "Get the RSS feed", | ||
| "Auj/Ki": "Get the Atom feed", | ||
| "SyYroX": "Get the JSON updates", | ||
| "PSqtlY": "Get status via SSH", | ||
| "rptmhC": "For status updates in Slack, paste the text below into any channel.", | ||
| "2yCGR2": "Link copied to clipboard", | ||
| "u5aHb4": "Copy Link", | ||
| "45YlLU": "Validate your email to receive updates and you are all set." | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,88 @@ | ||
| { | ||
| "Y9HHck": "S'authentifier", | ||
| "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.", | ||
| "txkW56": "Envoi en cours...", | ||
| "wSZR47": "Envoyer", | ||
| "OrFVks": "Vérifiez votre boîte de réception !", | ||
| "n36zhX": "Accédez à la page de statut en cliquant sur le lien dans l'email.", | ||
| "qIAQSi": "Page protégée", | ||
| "lbw10C": "Entrez le mot de passe pour accéder à la page de statut.", | ||
| "t262xH": "L'email et l'URL de redirection sont requis", | ||
| "DwevKz": "Une erreur inattendue s'est produite lors de la connexion", | ||
| "Ppx673": "Rapports", | ||
| "JCMXwP": "Maintenances", | ||
| "I7B7SH": "Aucune maintenance trouvée", | ||
| "OSI607": "Aucune maintenance trouvée pour cette page de statut.", | ||
| "a9S/OH": "Maintenance introuvable", | ||
| "HSv9BP": "La maintenance que vous recherchez n'existe pas.", | ||
| "VL1Y/1": "Rapport introuvable", | ||
| "Ew1f8q": "Le rapport que vous recherchez n'existe pas.", | ||
| "awr0AJ": "Moniteur introuvable", | ||
| "CVsoUM": "Le moniteur que vous recherchez n'existe pas.", | ||
| "BRGcS0": "Latence globale", | ||
| "9vqdq3": "Latence par région", | ||
| "fFOayY": "régions", | ||
| "u81G9+": "Disponibilité", | ||
| "i2FBWn": "vérifications", | ||
| "G5Lt80": "La latence agrégée de toutes les régions actives basée sur différents quantiles.", | ||
| "YV7rXP": "Latence par région", | ||
| "6zzIEm": "Latence par région au quantile p75, triée par région la plus lente. Comparez jusqu'à 6 régions.", | ||
| "6pCzRs": "Disponibilité totale", | ||
| "zL23+z": "Valeurs principales de disponibilité, en toute transparence.", | ||
| "79eRW1": "Confirmation en cours...", | ||
| "dX7+Rv": "Confirmé", | ||
| "m0fapd": "Échec de la confirmation", | ||
| "sy+pv5": "Email", | ||
| "9Utk00": "Mise à jour de l'abonnement...", | ||
| "Eq5gCU": "Abonnement mis à jour", | ||
| "qp+wDV": "Échec de la mise à jour de l'abonnement", | ||
| "d/jCcy": "S'abonner à des composants spécifiques", | ||
| "FlVuUh": "Aucun composant auquel s'abonner", | ||
| "8aUjqQ": "Cette page de statut n'a aucun composant auquel s'abonner.", | ||
| "5sg7KC": "Mot de passe", | ||
| "IGY48m": "Abonnement en cours...", | ||
| "Pgb3Xj": "Abonné", | ||
| "WOH7Yj": "Échec de l'abonnement", | ||
| "L7z2/k": "Cette page n'a aucun composant auquel s'abonner.", | ||
| "NOyDVq": "propulsé par", | ||
| "tzMNF3": "Statut", | ||
| "ZvKSfJ": "Événements", | ||
| "xJrRMG": "Moniteurs", | ||
| "tKMlOc": "Menu", | ||
| "krEziQ": "Nous contacter", | ||
| "BQBZU+": "Tous les systèmes sont opérationnels", | ||
| "b9fOA1": "Performances dégradées", | ||
| "80EXUh": "Performances en panne", | ||
| "dudqv/": "Maintenance", | ||
| "2syGZB": "Rapport résolu", | ||
| "W6nSYE": "Résolu", | ||
| "1P6GMj": "Surveillance", | ||
| "7cv4Uf": "Identifié", | ||
| "/GKH/w": "En cours d'investigation", | ||
| "FDReLp": "Aucune notification récente", | ||
| "qDj0JR": "Aucun rapport au cours des 7 derniers jours.", | ||
| "CYs0LF": "Voir l'historique des événements", | ||
| "kkpP2k": "aujourd'hui", | ||
| "Dnob31": "Opérationnel", | ||
| "VQDmmK": "Dégradé", | ||
| "JOZGPR": "En panne", | ||
| "GbVCQb": "Cliquez à nouveau pour désépingler", | ||
| "myq2ZL": "Normal", | ||
| "KN7zKn": "Erreur", | ||
| "D3rOMr": "Aucune donnée", | ||
| "uPb/gh": "Recevoir les mises à jour", | ||
| "sjzDbu": "Slack", | ||
| "q0qMyV": "RSS", | ||
| "9y9QQh": "JSON", | ||
| "waUHa4": "SSH", | ||
| "cVqFq/": "Recevez des notifications par email à chaque création ou résolution d'un rapport", | ||
| "gczcC5": "S'abonner", | ||
| "8OoV56": "Obtenir le flux RSS", | ||
| "Auj/Ki": "Obtenir le flux Atom", | ||
| "SyYroX": "Obtenir les mises à jour JSON", | ||
| "PSqtlY": "Obtenir le statut via SSH", | ||
| "rptmhC": "Pour recevoir les mises à jour dans Slack, collez le texte ci-dessous dans n'importe quel canal.", | ||
| "2yCGR2": "Lien copié dans le presse-papiers", | ||
| "u5aHb4": "Copier le lien", | ||
| "45YlLU": "Validez votre email pour recevoir les mises à jour et le tour est joué." | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P2: Both
"80EXUh"("Downtime Performance") and"JOZGPR"("Downtime") are translated to the same German string"Ausfall". Consider differentiating them — e.g.,"Ausfallleistung"or"Beeinträchtigter Betrieb (Ausfall)"for the longer variant — so the two labels remain distinguishable in the UI, matching the intent of the English source.Prompt for AI agents