From 2afd0e1d5fc44f1ba935e68d11c0888a48a9c665 Mon Sep 17 00:00:00 2001
From: Vedansh Saini <77830698+vedansh-5@users.noreply.github.com>
Date: Fri, 11 Jul 2025 00:37:27 +0530
Subject: [PATCH 01/10] internationalization
Signed-off-by: Vedansh Saini <77830698+vedansh-5@users.noreply.github.com>
---
src/_locales/en/messages.json | 166 +++++++++++
src/manifest.json | 4 +-
src/popup.html | 508 +++++++++++++++++-----------------
src/scripts/popup.js | 36 ++-
4 files changed, 449 insertions(+), 265 deletions(-)
create mode 100644 src/_locales/en/messages.json
diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json
new file mode 100644
index 0000000..c7e7e4f
--- /dev/null
+++ b/src/_locales/en/messages.json
@@ -0,0 +1,166 @@
+{
+ "appName": {
+ "message": "Scrum Helper",
+ "description": "The name of the extension."
+ },
+ "appDescription": {
+ "message": "Report your development progress by auto-fetching your Git activity for a selected period",
+ "description": "A brief description of what the extension does."
+ },
+ "disableLabel": {
+ "message": "Disable",
+ "description": "Label for the toggle switch to disable the extension."
+ },
+ "enableLabel": {
+ "message": "Enable",
+ "description": "Label for the toggle switch to enable the extension."
+ },
+ "homeButtonTitle": {
+ "message": "Go to Report",
+ "description": "Tooltip for the home button."
+ },
+ "projectNameLabel": {
+ "message": "Your Project Name",
+ "description": "Label for the project name input field."
+ },
+ "projectNamePlaceholder": {
+ "message": "Enter your project name",
+ "description": "Placeholder text for the project name input."
+ },
+ "githubUsernameLabel": {
+ "message": "Your Github Username",
+ "description": "Label for the GitHub username input field."
+ },
+ "githubUsernamePlaceholder": {
+ "message": "Required for fetching your contributions",
+ "description": "Placeholder text for the GitHub username input."
+ },
+ "contributionsLabel": {
+ "message": "Fetch your contributions between:",
+ "description": "Label for the date range selection."
+ },
+ "last7DaysLabel": {
+ "message": "Last 7 days",
+ "description": "Radio button option for the last 7 days."
+ },
+ "last1DayLabel": {
+ "message": "Last 1 day",
+ "description": "Radio button option for the last 1 day."
+ },
+ "startDateLabel": {
+ "message": "Start Date:",
+ "description": "Label for the start date picker."
+ },
+ "endDateLabel": {
+ "message": "End Date:",
+ "description": "Label for the end date picker."
+ },
+ "showOpenClosedLabel": {
+ "message": "Show Open/Closed Label",
+ "description": "Label for the checkbox to show open/closed status on PRs/issues."
+ },
+ "blockersLabel": {
+ "message": "What is blocking you from making progress?",
+ "description": "Label for the input field for blockers."
+ },
+ "blockersPlaceholder": {
+ "message": "Enter your reason",
+ "description": "Placeholder text for the blockers input field."
+ },
+ "scrumReportLabel": {
+ "message": "Scrum Report",
+ "description": "Heading for the generated scrum report."
+ },
+ "generateReportButton": {
+ "message": "Generate Report",
+ "description": "Text for the 'Generate Report' button."
+ },
+ "copyReportButton": {
+ "message": "Copy Report",
+ "description": "Text for the 'Copy Report' button."
+ },
+ "settingsOrgNameLabel": {
+ "message": "Organization Name",
+ "description": "Label for the organization name input in settings."
+ },
+ "settingsOrgNamePlaceholder": {
+ "message": "Enter organization name",
+ "description": "Placeholder for the organization name input."
+ },
+ "setButton": {
+ "message": "Set",
+ "description": "Text for the 'Set' button for the organization."
+ },
+ "githubTokenLabel": {
+ "message": "Your Github Token",
+ "description": "Label for the GitHub token input."
+ },
+ "githubTokenPlaceholder": {
+ "message": "Required for making authenticated requests",
+ "description": "Placeholder for the GitHub token input."
+ },
+ "showCommitsLabel": {
+ "message": "Show commits made within date range in Open PRs",
+ "description": "Label for the checkbox to show commits in open PRs."
+ },
+ "cacheTTLLabel": {
+ "message": "Enter cache TTL",
+ "description": "Label for the cache time-to-live input."
+ },
+ "cacheTTLUnit": {
+ "message": "(in minutes)",
+ "description": "Unit for the cache TTL."
+ },
+ "cacheTTLPlaceholder": {
+ "message": "Write Cache TTL in minutes (Default 10 minutes)",
+ "description": "Placeholder for the cache TTL input."
+ },
+ "refreshDataButton": {
+ "message": "Refresh Data (bypass cache)",
+ "description": "Text for the button to refresh data, ignoring the cache."
+ },
+ "refreshDataInfo": {
+ "message": "Use this button to fetch fresh data immediately.",
+ "description": "Informational text below the refresh button."
+ },
+ "noteTitle": {
+ "message": "Note:",
+ "description": "Title for the notes section."
+ },
+ "viewCodeButton": {
+ "message": "View Code",
+ "description": "Text for the button to view the source code on GitHub."
+ },
+ "reportIssueButton": {
+ "message": "Report Issue",
+ "description": "Text for the button to report an issue on GitHub."
+ },
+ "madeWithLoveBy": {
+ "message": "Made with ❤️ by",
+ "description": "Footer credit text."
+ },
+ "generatingButton": {
+ "message": "Generating...",
+ "description": "Text shown on the generate button when the report is being created."
+ },
+ "copiedButton": {
+ "message": "Copied!",
+ "description": "Text shown on the copy button after a successful copy."
+ },
+ "orgChangedMessage": {
+ "message": "Organization changed. Click Generate button to fetch the GitHub activities.",
+ "description": "Message shown in the report area after the organization is changed."
+ },
+ "cacheClearedMessage": {
+ "message": "Cache cleared successfully. Click \"Generate Report\" to fetch fresh data.",
+ "description": "Message shown in the report area after the cache is cleared."
+ },
+ "cacheClearedButton": {
+ "message": "Cache Cleared!",
+ "description": "Text on the refresh button after the cache is cleared."
+ },
+ "extensionDisabledMessage": {
+ "message": "Extension is disabled. Enable it from the options to generate scrum reports.",
+ "description": "Message shown when the extension is disabled."
+ }
+}
\ No newline at end of file
diff --git a/src/manifest.json b/src/manifest.json
index 69eaa16..beb1b18 100644
--- a/src/manifest.json
+++ b/src/manifest.json
@@ -11,6 +11,7 @@
"96": "icons/icon.png",
"48": "icons/icon.png"
},
+
"background": {
"service_worker": "scripts/background.js"
},
@@ -51,5 +52,6 @@
"*://*.office.com/*",
"*://*.yahoo.com/*",
"https://api.github.com/*"
- ]
+ ],
+ "default_locale": "en"
}
\ No newline at end of file
diff --git a/src/popup.html b/src/popup.html
index 59753de..a4664a8 100644
--- a/src/popup.html
+++ b/src/popup.html
@@ -2,280 +2,278 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
Scrum Helper
-
-
-
-
Report your development progress by auto-fetching your Git activity for a selected period
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
Your Project Name
-
-
- This is the name that appears in the subject line of your email, followed by timestamp.
-
-
-
-
-
-
Your Github Username
-
-
+
+
+
+
+
+ This is the name that appears in the subject line of your email, followed by timestamp.
+
+
+
+
+
+
+
+
-
-
Fetch your contributions between:
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
What is blocking you from making progress?
-
-
-
-
-
-
Scrum Report
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
Organization Name
-
-
-
- Which organization's GitHub activity?
- Enter the GitHub organization name to fetch activities for. Leave empty to fetch all your GitHub
- activities across all organizations.
- Organization name is not case-sensitive.
-
-
-
-
-
-
-
-
-
-
-
-
Your Github Token
-
-
-
- Why is it recommended to add a GitHub token?
- Scrum Helper works without a GitHub token, but adding a personal access token is recommended for a
- better experience. It raises your API limits, allows access to private repos (if permitted), and
- improves accuracy and speed. Tokens are stored locally and never sent to us and used only to fetch
- your git data. You can add one anytime in the extension settings.
- How to obtain:
- 1. Go to GitHub Developer Settings.
- 3. Click "Generate new token", select classic token
- 4. Paste it here.
- Keep your token secret!
-
-
-
-
-
-
+
+
+
+
+
+
+
+ Which organization's GitHub activity?
+ Enter the GitHub organization name to fetch activities for. Leave empty to fetch all your GitHub
+ activities across all organizations.
+ Organization name is not case-sensitive.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Why is it recommended to add a GitHub token?
+ Scrum Helper works without a GitHub token, but adding a personal access token is recommended for a
+ better experience. It raises your API limits, allows access to private repos (if permitted), and
+ improves accuracy and speed. Tokens are stored locally and never sent to us and used only to fetch
+ your git data. You can add one anytime in the extension settings.
+ How to obtain:
+ 1. Go to GitHub Developer Settings.
+ 3. Click "Generate new token", select classic token
+ 4. Paste it here.
+ Keep your token secret!
+
+
+
+
+
+
-
-
-
-
-
-
- Github Token required.
-
-
-
-
+
+
+
+
+
+
+ Github Token required.
+
+
+
+
-
Enter cache TTL (in minutes)
-
-
-
- We are caching the data to avoid redundant calls. By default the cache expires after 10 minutes, you
- can change it here to your desired time. We have given a refresh cache button in case you want to
- fetch fresh data right now.
-
-
-
-
-
+
+
+
+
+ We are caching the data to avoid redundant calls. By default the cache expires after 10 minutes, you
+ can change it here to your desired time. We have given a refresh cache button in case you want to
+ fetch fresh data right now.
+
+
+
+
+
-
-
-
-
- Use this button to fetch fresh data immediately.
-
-
+
+
+
+
+
+
+
-
+
-
-
-
-
Note:
-
-
The PRs fetched are based on the most recent review by any contributor. If you reviewed a PR 10 days
- ago and someone else reviewed it 2 days ago, it will still appear in your activity for the past week.
- (See this issue.)
-
-
Please note that some discrepancies may occur in the generated SCRUM. We recommend manually reviewing
- and editing the report to ensure accuracy before sharing
-
+
+
+
+
+
+
The PRs fetched are based on the most recent review by any contributor. If you reviewed a PR 10 days
+ ago and someone else reviewed it 2 days ago, it will still appear in your activity for the past week.
+ (See this issue.)
+
+
Please note that some discrepancies may occur in the generated SCRUM. We recommend manually reviewing
+ and editing the report to ensure accuracy before sharing
+
Organization changed. Click Generate button to fetch the GitHub activities.
';
+ scrumReport.innerHTML = `
${chrome.i18n.getMessage('orgChangedMessage')}
`;
}
// Clear the githubCache for previous org
chrome.storage.local.remove('githubCache');
@@ -607,10 +625,10 @@ document.getElementById('refreshCache').addEventListener('click', async function
// Clear the scrum report
const scrumReport = document.getElementById('scrumReport');
if (scrumReport) {
- scrumReport.innerHTML = '
Cache cleared successfully. Click "Generate Report" to fetch fresh data.
';
+ scrumReport.innerHTML = `
${chrome.i18n.getMessage('cacheClearedMessage')}
`;
}
- button.innerHTML = 'Cache Cleared!';
+ button.innerHTML = `${chrome.i18n.getMessage('cacheClearedButton')}`;
button.classList.remove('loading');
setTimeout(() => {
From 8bc7a0513ce245fccc1d0d0e68fcd335ef450c70 Mon Sep 17 00:00:00 2001
From: Vedansh Saini <77830698+vedansh-5@users.noreply.github.com>
Date: Fri, 11 Jul 2025 00:50:22 +0530
Subject: [PATCH 02/10] addded more langs
Signed-off-by: Vedansh Saini <77830698+vedansh-5@users.noreply.github.com>
---
src/_locales/de/messages.json | 43 ++++++++++++++++++++++++++++++++
src/_locales/es/messages.json | 43 ++++++++++++++++++++++++++++++++
src/_locales/fr/messages.json | 43 ++++++++++++++++++++++++++++++++
src/_locales/zh_CN/messages.json | 43 ++++++++++++++++++++++++++++++++
4 files changed, 172 insertions(+)
create mode 100644 src/_locales/de/messages.json
create mode 100644 src/_locales/es/messages.json
create mode 100644 src/_locales/fr/messages.json
create mode 100644 src/_locales/zh_CN/messages.json
diff --git a/src/_locales/de/messages.json b/src/_locales/de/messages.json
new file mode 100644
index 0000000..6c49766
--- /dev/null
+++ b/src/_locales/de/messages.json
@@ -0,0 +1,43 @@
+{
+ "appName": { "message": "Scrum-Helfer" },
+ "appDescription": { "message": "Berichten Sie über Ihren Entwicklungsfortschritt, indem Sie Ihre Git-Aktivität für einen ausgewählten Zeitraum automatisch abrufen" },
+ "disableLabel": { "message": "Deaktivieren" },
+ "enableLabel": { "message": "Aktivieren" },
+ "homeButtonTitle": { "message": "Zum Bericht gehen" },
+ "projectNameLabel": { "message": "Ihr Projektname" },
+ "projectNamePlaceholder": { "message": "Geben Sie Ihren Projektnamen ein" },
+ "githubUsernameLabel": { "message": "Ihr Github-Benutzername" },
+ "githubUsernamePlaceholder": { "message": "Erforderlich zum Abrufen Ihrer Beiträge" },
+ "contributionsLabel": { "message": "Ihre Beiträge abrufen zwischen:" },
+ "last7DaysLabel": { "message": "Letzte 7 Tage" },
+ "last1DayLabel": { "message": "Letzter Tag" },
+ "startDateLabel": { "message": "Startdatum:" },
+ "endDateLabel": { "message": "Enddatum:" },
+ "showOpenClosedLabel": { "message": "Offen/Geschlossen-Label anzeigen" },
+ "blockersLabel": { "message": "Was hindert Sie am Fortschritt?" },
+ "blockersPlaceholder": { "message": "Geben Sie Ihren Grund ein" },
+ "scrumReportLabel": { "message": "Scrum-Bericht" },
+ "generateReportButton": { "message": "Bericht erstellen" },
+ "copyReportButton": { "message": "Bericht kopieren" },
+ "settingsOrgNameLabel": { "message": "Organisationsname" },
+ "settingsOrgNamePlaceholder": { "message": "Geben Sie den Organisationsnamen ein" },
+ "setButton": { "message": "Einstellen" },
+ "githubTokenLabel": { "message": "Ihr Github-Token" },
+ "githubTokenPlaceholder": { "message": "Erforderlich für authentifizierte Anfragen" },
+ "showCommitsLabel": { "message": "Commits anzeigen, die innerhalb des Datumsbereichs in offenen PRs gemacht wurden" },
+ "cacheTTLLabel": { "message": "Cache-TTL eingeben" },
+ "cacheTTLUnit": { "message": "(in Minuten)" },
+ "cacheTTLPlaceholder": { "message": "Schreiben Sie die Cache-TTL in Minuten (Standard 10 Minuten)" },
+ "refreshDataButton": { "message": "Daten aktualisieren (Cache umgehen)" },
+ "refreshDataInfo": { "message": "Verwenden Sie diese Schaltfläche, um sofort neue Daten abzurufen." },
+ "noteTitle": { "message": "Hinweis:" },
+ "viewCodeButton": { "message": "Code anzeigen" },
+ "reportIssueButton": { "message": "Problem melden" },
+ "madeWithLoveBy": { "message": "Mit ❤️ gemacht von" },
+ "generatingButton": { "message": "Wird generiert..." },
+ "copiedButton": { "message": "Kopiert!" },
+ "orgChangedMessage": { "message": "Organisation geändert. Klicken Sie auf die Schaltfläche 'Generieren', um die GitHub-Aktivitäten abzurufen." },
+ "cacheClearedMessage": { "message": "Cache erfolgreich geleert. Klicken Sie auf \"Bericht erstellen\", um neue Daten abzurufen." },
+ "cacheClearedButton": { "message": "Cache geleert!" },
+ "extensionDisabledMessage": { "message": "Die Erweiterung ist deaktiviert. Aktivieren Sie sie in den Optionen, um Scrum-Berichte zu erstellen." }
+}
diff --git a/src/_locales/es/messages.json b/src/_locales/es/messages.json
new file mode 100644
index 0000000..9739865
--- /dev/null
+++ b/src/_locales/es/messages.json
@@ -0,0 +1,43 @@
+{
+ "appName": { "message": "Ayudante de Scrum" },
+ "appDescription": { "message": "Informe su progreso de desarrollo obteniendo automáticamente su actividad de Git para un período seleccionado" },
+ "disableLabel": { "message": "Desactivar" },
+ "enableLabel": { "message": "Activar" },
+ "homeButtonTitle": { "message": "Ir al Informe" },
+ "projectNameLabel": { "message": "Nombre de su Proyecto" },
+ "projectNamePlaceholder": { "message": "Ingrese el nombre de su proyecto" },
+ "githubUsernameLabel": { "message": "Su Nombre de Usuario de Github" },
+ "githubUsernamePlaceholder": { "message": "Requerido para obtener sus contribuciones" },
+ "contributionsLabel": { "message": "Obtener sus contribuciones entre:" },
+ "last7DaysLabel": { "message": "Últimos 7 días" },
+ "last1DayLabel": { "message": "Último día" },
+ "startDateLabel": { "message": "Fecha de Inicio:" },
+ "endDateLabel": { "message": "Fecha de Fin:" },
+ "showOpenClosedLabel": { "message": "Mostrar Etiqueta Abierto/Cerrado" },
+ "blockersLabel": { "message": "¿Qué le impide progresar?" },
+ "blockersPlaceholder": { "message": "Ingrese su motivo" },
+ "scrumReportLabel": { "message": "Informe de Scrum" },
+ "generateReportButton": { "message": "Generar Informe" },
+ "copyReportButton": { "message": "Copiar Informe" },
+ "settingsOrgNameLabel": { "message": "Nombre de la Organización" },
+ "settingsOrgNamePlaceholder": { "message": "Ingrese el nombre de la organización" },
+ "setButton": { "message": "Establecer" },
+ "githubTokenLabel": { "message": "Su Token de Github" },
+ "githubTokenPlaceholder": { "message": "Requerido para realizar solicitudes autenticadas" },
+ "showCommitsLabel": { "message": "Mostrar commits realizados dentro del rango de fechas en PRs abiertos" },
+ "cacheTTLLabel": { "message": "Ingresar TTL de caché" },
+ "cacheTTLUnit": { "message": "(en minutos)" },
+ "cacheTTLPlaceholder": { "message": "Escriba el TTL de caché en minutos (Predeterminado 10 minutos)" },
+ "refreshDataButton": { "message": "Actualizar Datos (omitir caché)" },
+ "refreshDataInfo": { "message": "Use este botón para obtener datos nuevos inmediatamente." },
+ "noteTitle": { "message": "Nota:" },
+ "viewCodeButton": { "message": "Ver Código" },
+ "reportIssueButton": { "message": "Reportar Problema" },
+ "madeWithLoveBy": { "message": "Hecho con ❤️ por" },
+ "generatingButton": { "message": "Generando..." },
+ "copiedButton": { "message": "¡Copiado!" },
+ "orgChangedMessage": { "message": "Organización cambiada. Haga clic en el botón Generar para obtener las actividades de GitHub." },
+ "cacheClearedMessage": { "message": "Caché borrado con éxito. Haga clic en \"Generar Informe\" para obtener datos nuevos." },
+ "cacheClearedButton": { "message": "¡Caché Borrado!" },
+ "extensionDisabledMessage": { "message": "La extensión está desactivada. Actívela desde las opciones para generar informes de scrum." }
+}
diff --git a/src/_locales/fr/messages.json b/src/_locales/fr/messages.json
new file mode 100644
index 0000000..8580c99
--- /dev/null
+++ b/src/_locales/fr/messages.json
@@ -0,0 +1,43 @@
+{
+ "appName": { "message": "Assistant Scrum" },
+ "appDescription": { "message": "Rapportez votre progression de développement en récupérant automatiquement votre activité Git pour une période sélectionnée" },
+ "disableLabel": { "message": "Désactiver" },
+ "enableLabel": { "message": "Activer" },
+ "homeButtonTitle": { "message": "Aller au Rapport" },
+ "projectNameLabel": { "message": "Nom de votre Projet" },
+ "projectNamePlaceholder": { "message": "Entrez le nom de votre projet" },
+ "githubUsernameLabel": { "message": "Votre Nom d'utilisateur Github" },
+ "githubUsernamePlaceholder": { "message": "Requis pour récupérer vos contributions" },
+ "contributionsLabel": { "message": "Récupérer vos contributions entre :" },
+ "last7DaysLabel": { "message": "7 derniers jours" },
+ "last1DayLabel": { "message": "Dernier jour" },
+ "startDateLabel": { "message": "Date de début :" },
+ "endDateLabel": { "message": "Date de fin :" },
+ "showOpenClosedLabel": { "message": "Afficher l'étiquette Ouvert/Fermé" },
+ "blockersLabel": { "message": "Qu'est-ce qui vous empêche de progresser ?" },
+ "blockersPlaceholder": { "message": "Entrez votre raison" },
+ "scrumReportLabel": { "message": "Rapport Scrum" },
+ "generateReportButton": { "message": "Générer le Rapport" },
+ "copyReportButton": { "message": "Copier le Rapport" },
+ "settingsOrgNameLabel": { "message": "Nom de l'Organisation" },
+ "settingsOrgNamePlaceholder": { "message": "Entrez le nom de l'organisation" },
+ "setButton": { "message": "Définir" },
+ "githubTokenLabel": { "message": "Votre Jeton Github" },
+ "githubTokenPlaceholder": { "message": "Requis pour effectuer des requêtes authentifiées" },
+ "showCommitsLabel": { "message": "Afficher les commits effectués dans la plage de dates dans les PR ouverts" },
+ "cacheTTLLabel": { "message": "Entrer le TTL du cache" },
+ "cacheTTLUnit": { "message": "(en minutes)" },
+ "cacheTTLPlaceholder": { "message": "Écrivez le TTL du cache en minutes (Par défaut 10 minutes)" },
+ "refreshDataButton": { "message": "Actualiser les Données (ignorer le cache)" },
+ "refreshDataInfo": { "message": "Utilisez ce bouton pour récupérer des données fraîches immédiatement." },
+ "noteTitle": { "message": "Note :" },
+ "viewCodeButton": { "message": "Voir le Code" },
+ "reportIssueButton": { "message": "Signaler un Problème" },
+ "madeWithLoveBy": { "message": "Fait avec ❤️ par" },
+ "generatingButton": { "message": "Génération..." },
+ "copiedButton": { "message": "Copié !" },
+ "orgChangedMessage": { "message": "Organisation modifiée. Cliquez sur le bouton Générer pour récupérer les activités GitHub." },
+ "cacheClearedMessage": { "message": "Cache vidé avec succès. Cliquez sur \"Générer le Rapport\" pour récupérer des données fraîches." },
+ "cacheClearedButton": { "message": "Cache Vidé !" },
+ "extensionDisabledMessage": { "message": "L'extension est désactivée. Activez-la dans les options pour générer des rapports scrum." }
+}
diff --git a/src/_locales/zh_CN/messages.json b/src/_locales/zh_CN/messages.json
new file mode 100644
index 0000000..d27b7aa
--- /dev/null
+++ b/src/_locales/zh_CN/messages.json
@@ -0,0 +1,43 @@
+{
+ "appName": { "message": "Scrum 助手" },
+ "appDescription": { "message": "通过自动获取选定时间段内的 Git 活动来报告您的开发进度" },
+ "disableLabel": { "message": "禁用" },
+ "enableLabel": { "message": "启用" },
+ "homeButtonTitle": { "message": "转到报告" },
+ "projectNameLabel": { "message": "您的项目名称" },
+ "projectNamePlaceholder": { "message": "输入您的项目名称" },
+ "githubUsernameLabel": { "message": "您的 Github 用户名" },
+ "githubUsernamePlaceholder": { "message": "获取您的贡献所必需" },
+ "contributionsLabel": { "message": "获取您在此期间的贡献:" },
+ "last7DaysLabel": { "message": "过去 7 天" },
+ "last1DayLabel": { "message": "昨天" },
+ "startDateLabel": { "message": "开始日期:" },
+ "endDateLabel": { "message": "结束日期:" },
+ "showOpenClosedLabel": { "message": "显示打开/关闭标签" },
+ "blockersLabel": { "message": "什么阻碍了您的进展?" },
+ "blockersPlaceholder": { "message": "输入您的原因" },
+ "scrumReportLabel": { "message": "Scrum 报告" },
+ "generateReportButton": { "message": "生成报告" },
+ "copyReportButton": { "message": "复制报告" },
+ "settingsOrgNameLabel": { "message": "组织名称" },
+ "settingsOrgNamePlaceholder": { "message": "输入组织名称" },
+ "setButton": { "message": "设置" },
+ "githubTokenLabel": { "message": "您的 Github 令牌" },
+ "githubTokenPlaceholder": { "message": "进行身份验证请求所必需" },
+ "showCommitsLabel": { "message": "在打开的 PR 中显示日期范围内的提交" },
+ "cacheTTLLabel": { "message": "输入缓存 TTL" },
+ "cacheTTLUnit": { "message": "(分钟)" },
+ "cacheTTLPlaceholder": { "message": "以分钟为单位写入缓存 TTL(默认为 10 分钟)" },
+ "refreshDataButton": { "message": "刷新数据(绕过缓存)" },
+ "refreshDataInfo": { "message": "使用此按钮立即获取新数据。" },
+ "noteTitle": { "message": "注意:" },
+ "viewCodeButton": { "message": "查看代码" },
+ "reportIssueButton": { "message": "报告问题" },
+ "madeWithLoveBy": { "message": "由 ❤️ 制作" },
+ "generatingButton": { "message": "正在生成..." },
+ "copiedButton": { "message": "已复制!" },
+ "orgChangedMessage": { "message": "组织已更改。单击“生成”按钮以获取 GitHub 活动。" },
+ "cacheClearedMessage": { "message": "缓存已成功清除。单击“生成报告”以获取新数据。" },
+ "cacheClearedButton": { "message": "缓存已清除!" },
+ "extensionDisabledMessage": { "message": "扩展已禁用。请在选项中启用它以生成 scrum 报告。" }
+}
From dec051981bed89df109e70642dca0786531fcd9e Mon Sep 17 00:00:00 2001
From: Vedansh Saini <77830698+vedansh-5@users.noreply.github.com>
Date: Fri, 11 Jul 2025 01:10:41 +0530
Subject: [PATCH 03/10] notes are now translatable, added more lans
Signed-off-by: Vedansh Saini <77830698+vedansh-5@users.noreply.github.com>
---
src/_locales/de/messages.json | 5 +++-
src/_locales/en/messages.json | 12 +++++++++
src/_locales/es/messages.json | 5 +++-
src/_locales/fr/messages.json | 5 +++-
src/_locales/hi/messages.json | 46 ++++++++++++++++++++++++++++++++
src/_locales/ja/messages.json | 46 ++++++++++++++++++++++++++++++++
src/_locales/pt/messages.json | 46 ++++++++++++++++++++++++++++++++
src/_locales/ru/messages.json | 46 ++++++++++++++++++++++++++++++++
src/_locales/vi/messages.json | 46 ++++++++++++++++++++++++++++++++
src/_locales/zh_CN/messages.json | 5 +++-
src/popup.html | 11 +++-----
11 files changed, 262 insertions(+), 11 deletions(-)
create mode 100644 src/_locales/hi/messages.json
create mode 100644 src/_locales/ja/messages.json
create mode 100644 src/_locales/pt/messages.json
create mode 100644 src/_locales/ru/messages.json
create mode 100644 src/_locales/vi/messages.json
diff --git a/src/_locales/de/messages.json b/src/_locales/de/messages.json
index 6c49766..b38ffac 100644
--- a/src/_locales/de/messages.json
+++ b/src/_locales/de/messages.json
@@ -39,5 +39,8 @@
"orgChangedMessage": { "message": "Organisation geändert. Klicken Sie auf die Schaltfläche 'Generieren', um die GitHub-Aktivitäten abzurufen." },
"cacheClearedMessage": { "message": "Cache erfolgreich geleert. Klicken Sie auf \"Bericht erstellen\", um neue Daten abzurufen." },
"cacheClearedButton": { "message": "Cache geleert!" },
- "extensionDisabledMessage": { "message": "Die Erweiterung ist deaktiviert. Aktivieren Sie sie in den Optionen, um Scrum-Berichte zu erstellen." }
+ "extensionDisabledMessage": { "message": "Die Erweiterung ist deaktiviert. Aktivieren Sie sie in den Optionen, um Scrum-Berichte zu erstellen." },
+ "notePoint1": { "message": "Die abgerufenen PRs basieren auf der letzten Überprüfung durch einen beliebigen Beitragenden. Wenn Sie einen PR vor 10 Tagen überprüft haben und jemand anderes ihn vor 2 Tagen überprüft hat, wird er trotzdem in Ihrer Aktivität der letzten Woche angezeigt." },
+ "notePoint2": { "message": "Bitte beachten Sie, dass es im generierten SCRUM zu Abweichungen kommen kann. Wir empfehlen, den Bericht vor dem Teilen manuell zu überprüfen und zu bearbeiten, um die Genauigkeit sicherzustellen." },
+ "noteSeeIssue": { "message": "Siehe dieses Problem" }
}
diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json
index c7e7e4f..795240a 100644
--- a/src/_locales/en/messages.json
+++ b/src/_locales/en/messages.json
@@ -162,5 +162,17 @@
"extensionDisabledMessage": {
"message": "Extension is disabled. Enable it from the options to generate scrum reports.",
"description": "Message shown when the extension is disabled."
+ },
+ "notePoint1": {
+ "message": "The PRs fetched are based on the most recent review by any contributor. If you reviewed a PR 10 days ago and someone else reviewed it 2 days ago, it will still appear in your activity for the past week.",
+ "description": "First point in the notes section."
+ },
+ "notePoint2": {
+ "message": "Please note that some discrepancies may occur in the generated SCRUM. We recommend manually reviewing and editing the report to ensure accuracy before sharing.",
+ "description": "Second point in the notes section."
+ },
+ "noteSeeIssue": {
+ "message": "See this issue",
+ "description": "Link text for the GitHub issue in the notes."
}
}
\ No newline at end of file
diff --git a/src/_locales/es/messages.json b/src/_locales/es/messages.json
index 9739865..dbeab29 100644
--- a/src/_locales/es/messages.json
+++ b/src/_locales/es/messages.json
@@ -39,5 +39,8 @@
"orgChangedMessage": { "message": "Organización cambiada. Haga clic en el botón Generar para obtener las actividades de GitHub." },
"cacheClearedMessage": { "message": "Caché borrado con éxito. Haga clic en \"Generar Informe\" para obtener datos nuevos." },
"cacheClearedButton": { "message": "¡Caché Borrado!" },
- "extensionDisabledMessage": { "message": "La extensión está desactivada. Actívela desde las opciones para generar informes de scrum." }
+ "extensionDisabledMessage": { "message": "La extensión está desactivada. Actívela desde las opciones para generar informes de scrum." },
+ "notePoint1": { "message": "Los PRs obtenidos se basan en la revisión más reciente de cualquier contribuyente. Si revisaste un PR hace 10 días y otra persona lo revisó hace 2 días, seguirá apareciendo en tu actividad de la última semana." },
+ "notePoint2": { "message": "Ten en cuenta que pueden ocurrir algunas discrepancias en el SCRUM generado. Recomendamos revisar y editar manualmente el informe para garantizar la precisión antes de compartirlo." },
+ "noteSeeIssue": { "message": "Ver este problema" }
}
diff --git a/src/_locales/fr/messages.json b/src/_locales/fr/messages.json
index 8580c99..4a6420a 100644
--- a/src/_locales/fr/messages.json
+++ b/src/_locales/fr/messages.json
@@ -39,5 +39,8 @@
"orgChangedMessage": { "message": "Organisation modifiée. Cliquez sur le bouton Générer pour récupérer les activités GitHub." },
"cacheClearedMessage": { "message": "Cache vidé avec succès. Cliquez sur \"Générer le Rapport\" pour récupérer des données fraîches." },
"cacheClearedButton": { "message": "Cache Vidé !" },
- "extensionDisabledMessage": { "message": "L'extension est désactivée. Activez-la dans les options pour générer des rapports scrum." }
+ "extensionDisabledMessage": { "message": "L'extension est désactivée. Activez-la dans les options pour générer des rapports scrum." },
+ "notePoint1": { "message": "Les PR récupérés sont basés sur la révision la plus récente de n'importe quel contributeur. Si vous avez révisé un PR il y a 10 jours et que quelqu'un d'autre l'a révisé il y a 2 jours, il apparaîtra toujours dans votre activité de la semaine passée." },
+ "notePoint2": { "message": "Veuillez noter que certaines divergences peuvent survenir dans le SCRUM généré. Nous vous recommandons de réviser et de modifier manuellement le rapport pour garantir son exactitude avant de le partager." },
+ "noteSeeIssue": { "message": "Voir ce problème" }
}
diff --git a/src/_locales/hi/messages.json b/src/_locales/hi/messages.json
new file mode 100644
index 0000000..4e902af
--- /dev/null
+++ b/src/_locales/hi/messages.json
@@ -0,0 +1,46 @@
+{
+ "appName": { "message": "स्क्रम सहायक" },
+ "appDescription": { "message": "एक चयनित अवधि के लिए अपनी Git गतिविधि को स्वतः प्राप्त करके अपनी विकास प्रगति की रिपोर्ट करें" },
+ "disableLabel": { "message": "अक्षम करें" },
+ "enableLabel": { "message": "सक्षम करें" },
+ "homeButtonTitle": { "message": "रिपोर्ट पर जाएं" },
+ "projectNameLabel": { "message": "आपकी परियोजना का नाम" },
+ "projectNamePlaceholder": { "message": "अपनी परियोजना का नाम दर्ज करें" },
+ "githubUsernameLabel": { "message": "आपका Github उपयोगकर्ता नाम" },
+ "githubUsernamePlaceholder": { "message": "आपके योगदान लाने के लिए आवश्यक" },
+ "contributionsLabel": { "message": "के बीच अपने योगदान लाएं:" },
+ "last7DaysLabel": { "message": "पिछले 7 दिन" },
+ "last1DayLabel": { "message": "पिछला 1 दिन" },
+ "startDateLabel": { "message": "प्रारंभ तिथि:" },
+ "endDateLabel": { "message": "अंतिम तिथि:" },
+ "showOpenClosedLabel": { "message": "खुला/बंद लेबल दिखाएं" },
+ "blockersLabel": { "message": "आपको प्रगति करने से क्या रोक रहा है?" },
+ "blockersPlaceholder": { "message": "अपना कारण दर्ज करें" },
+ "scrumReportLabel": { "message": "स्क्रम रिपोर्ट" },
+ "generateReportButton": { "message": "रिपोर्ट बनाएं" },
+ "copyReportButton": { "message": "रिपोर्ट कॉपी करें" },
+ "settingsOrgNameLabel": { "message": "संगठन का नाम" },
+ "settingsOrgNamePlaceholder": { "message": "संगठन का नाम दर्ज करें" },
+ "setButton": { "message": "सेट करें" },
+ "githubTokenLabel": { "message": "आपका Github टोकन" },
+ "githubTokenPlaceholder": { "message": "प्रमाणित अनुरोध करने के लिए आवश्यक" },
+ "showCommitsLabel": { "message": "खुले PR में दिनांक सीमा के भीतर किए गए कमिट दिखाएं" },
+ "cacheTTLLabel": { "message": "कैश TTL दर्ज करें" },
+ "cacheTTLUnit": { "message": "(मिनटों में)" },
+ "cacheTTLPlaceholder": { "message": "कैश TTL मिनटों में लिखें (डिफ़ॉल्ट 10 मिनट)" },
+ "refreshDataButton": { "message": "डेटा रीफ्रेश करें (कैश को बायपास करें)" },
+ "refreshDataInfo": { "message": "ताज़ा डेटा तुरंत लाने के लिए इस बटन का उपयोग करें।" },
+ "noteTitle": { "message": "ध्यान दें:" },
+ "viewCodeButton": { "message": "कोड देखें" },
+ "reportIssueButton": { "message": "समस्या की रिपोर्ट करें" },
+ "madeWithLoveBy": { "message": "❤️ द्वारा बनाया गया" },
+ "generatingButton": { "message": "बनाया जा रहा है..." },
+ "copiedButton": { "message": "कॉपी किया गया!" },
+ "orgChangedMessage": { "message": "संगठन बदल गया। GitHub गतिविधियाँ लाने के लिए जेनरेट बटन पर क्लिक करें।" },
+ "cacheClearedMessage": { "message": "कैश सफलतापूर्वक साफ़ हो गया। ताज़ा डेटा लाने के लिए \"रिपोर्ट बनाएं\" पर क्लिक करें।" },
+ "cacheClearedButton": { "message": "कैश साफ़ हो गया!" },
+ "extensionDisabledMessage": { "message": "एक्सटेंशन अक्षम है। स्क्रम रिपोर्ट बनाने के लिए इसे विकल्पों से सक्षम करें।" },
+ "notePoint1": { "message": "प्राप्त पीआर किसी भी योगदानकर्ता द्वारा सबसे हालिया समीक्षा पर आधारित हैं। यदि आपने 10 दिन पहले एक पीआर की समीक्षा की और किसी और ने 2 दिन पहले इसकी समीक्षा की, तो यह पिछले सप्ताह की आपकी गतिविधि में दिखाई देगा।" },
+ "notePoint2": { "message": "कृपया ध्यान दें कि उत्पन्न SCRUM में कुछ विसंगतियां हो सकती हैं। हम साझा करने से पहले सटीकता सुनिश्चित करने के लिए रिपोर्ट की मैन्युअल रूप से समीक्षा और संपादन करने की सलाह देते हैं।" },
+ "noteSeeIssue": { "message": "यह मुद्दा देखें" }
+}
\ No newline at end of file
diff --git a/src/_locales/ja/messages.json b/src/_locales/ja/messages.json
new file mode 100644
index 0000000..e855e4b
--- /dev/null
+++ b/src/_locales/ja/messages.json
@@ -0,0 +1,46 @@
+{
+ "appName": { "message": "スクラムヘルパー" },
+ "appDescription": { "message": "選択した期間のGitアクティビティを自動的にフェッチして、開発の進捗状況を報告します" },
+ "disableLabel": { "message": "無効にする" },
+ "enableLabel": { "message": "有効にする" },
+ "homeButtonTitle": { "message": "レポートに移動" },
+ "projectNameLabel": { "message": "プロジェクト名" },
+ "projectNamePlaceholder": { "message": "プロジェクト名を入力してください" },
+ "githubUsernameLabel": { "message": "Githubユーザー名" },
+ "githubUsernamePlaceholder": { "message": "コントリビューションのフェッチに必要です" },
+ "contributionsLabel": { "message": "次の期間のコントリビューションをフェッチします:" },
+ "last7DaysLabel": { "message": "過去7日間" },
+ "last1DayLabel": { "message": "過去1日" },
+ "startDateLabel": { "message": "開始日:" },
+ "endDateLabel": { "message": "終了日:" },
+ "showOpenClosedLabel": { "message": "オープン/クローズラベルを表示" },
+ "blockersLabel": { "message": "進捗を妨げているものは何ですか?" },
+ "blockersPlaceholder": { "message": "理由を入力してください" },
+ "scrumReportLabel": { "message": "スクラムレポート" },
+ "generateReportButton": { "message": "レポートを生成" },
+ "copyReportButton": { "message": "レポートをコピー" },
+ "settingsOrgNameLabel": { "message": "組織名" },
+ "settingsOrgNamePlaceholder": { "message": "組織名を入力してください" },
+ "setButton": { "message": "設定" },
+ "githubTokenLabel": { "message": "Githubトークン" },
+ "githubTokenPlaceholder": { "message": "認証済みリクエストの作成に必要です" },
+ "showCommitsLabel": { "message": "オープンなPRで日付範囲内に行われたコミットを表示" },
+ "cacheTTLLabel": { "message": "キャッシュTTLを入力" },
+ "cacheTTLUnit": { "message": "(分単位)" },
+ "cacheTTLPlaceholder": { "message": "キャッシュTTLを分単位で記述します(デフォルトは10分)" },
+ "refreshDataButton": { "message": "データを更新(キャッシュをバイパス)" },
+ "refreshDataInfo": { "message": "このボタンを使用して、すぐに新しいデータをフェッチします。" },
+ "noteTitle": { "message": "注意:" },
+ "viewCodeButton": { "message": "コードを表示" },
+ "reportIssueButton": { "message": "問題を報告" },
+ "madeWithLoveBy": { "message": "❤️を込めて作成" },
+ "generatingButton": { "message": "生成中..." },
+ "copiedButton": { "message": "コピーしました!" },
+ "orgChangedMessage": { "message": "組織が変更されました。生成ボタンをクリックしてGitHubアクティビティをフェッチしてください。" },
+ "cacheClearedMessage": { "message": "キャッシュが正常にクリアされました。「レポートを生成」をクリックして新しいデータをフェッチしてください。" },
+ "cacheClearedButton": { "message": "キャッシュがクリアされました!" },
+ "extensionDisabledMessage": { "message": "拡張機能が無効になっています。スクラムレポートを生成するには、オプションから有効にしてください。" },
+ "notePoint1": { "message": "取得されたPRは、いずれかの貢献者による最新のレビューに基づいています。10日前にPRをレビューし、他の誰かが2日前にレビューした場合でも、過去1週間のアクティビティに表示されます。" },
+ "notePoint2": { "message": "生成されたSCRUMにはいくつかの不一致が生じる可能性があることに注意してください。共有する前に、レポートを手動で確認および編集して正確性を確保することをお勧めします。" },
+ "noteSeeIssue": { "message": "この問題を見る" }
+}
\ No newline at end of file
diff --git a/src/_locales/pt/messages.json b/src/_locales/pt/messages.json
new file mode 100644
index 0000000..a584332
--- /dev/null
+++ b/src/_locales/pt/messages.json
@@ -0,0 +1,46 @@
+{
+ "appName": { "message": "Ajudante de Scrum" },
+ "appDescription": { "message": "Relate o seu progresso de desenvolvimento buscando automaticamente a sua atividade no Git para um período selecionado" },
+ "disableLabel": { "message": "Desativar" },
+ "enableLabel": { "message": "Ativar" },
+ "homeButtonTitle": { "message": "Ir para o Relatório" },
+ "projectNameLabel": { "message": "Nome do seu Projeto" },
+ "projectNamePlaceholder": { "message": "Digite o nome do seu projeto" },
+ "githubUsernameLabel": { "message": "Seu Nome de Usuário do Github" },
+ "githubUsernamePlaceholder": { "message": "Necessário para buscar suas contribuições" },
+ "contributionsLabel": { "message": "Buscar suas contribuições entre:" },
+ "last7DaysLabel": { "message": "Últimos 7 dias" },
+ "last1DayLabel": { "message": "Último dia" },
+ "startDateLabel": { "message": "Data de Início:" },
+ "endDateLabel": { "message": "Data de Fim:" },
+ "showOpenClosedLabel": { "message": "Mostrar Rótulo Aberto/Fechado" },
+ "blockersLabel": { "message": "O que está impedindo você de progredir?" },
+ "blockersPlaceholder": { "message": "Digite o seu motivo" },
+ "scrumReportLabel": { "message": "Relatório Scrum" },
+ "generateReportButton": { "message": "Gerar Relatório" },
+ "copyReportButton": { "message": "Copiar Relatório" },
+ "settingsOrgNameLabel": { "message": "Nome da Organização" },
+ "settingsOrgNamePlaceholder": { "message": "Digite o nome da organização" },
+ "setButton": { "message": "Definir" },
+ "githubTokenLabel": { "message": "Seu Token do Github" },
+ "githubTokenPlaceholder": { "message": "Necessário para fazer solicitações autenticadas" },
+ "showCommitsLabel": { "message": "Mostrar commits feitos dentro do intervalo de datas em PRs abertos" },
+ "cacheTTLLabel": { "message": "Digite o TTL do cache" },
+ "cacheTTLUnit": { "message": "(em minutos)" },
+ "cacheTTLPlaceholder": { "message": "Escreva o TTL do cache em minutos (Padrão 10 minutos)" },
+ "refreshDataButton": { "message": "Atualizar Dados (ignorar cache)" },
+ "refreshDataInfo": { "message": "Use este botão para buscar dados novos imediatamente." },
+ "noteTitle": { "message": "Nota:" },
+ "viewCodeButton": { "message": "Ver Código" },
+ "reportIssueButton": { "message": "Relatar Problema" },
+ "madeWithLoveBy": { "message": "Feito com ❤️ por" },
+ "generatingButton": { "message": "Gerando..." },
+ "copiedButton": { "message": "Copiado!" },
+ "orgChangedMessage": { "message": "Organização alterada. Clique no botão Gerar para buscar as atividades do GitHub." },
+ "cacheClearedMessage": { "message": "Cache limpo com sucesso. Clique em \"Gerar Relatório\" para buscar dados novos." },
+ "cacheClearedButton": { "message": "Cache Limpo!" },
+ "extensionDisabledMessage": { "message": "A extensão está desativada. Ative-a nas opções para gerar relatórios scrum." },
+ "notePoint1": { "message": "Os PRs buscados são baseados na revisão mais recente de qualquer contribuidor. Se você revisou um PR há 10 dias e outra pessoa o revisou há 2 dias, ele ainda aparecerá na sua atividade da última semana." },
+ "notePoint2": { "message": "Observe que algumas discrepâncias podem ocorrer no SCRUM gerado. Recomendamos revisar e editar manualmente o relatório para garantir a precisão antes de compartilhar." },
+ "noteSeeIssue": { "message": "Veja este problema" }
+}
\ No newline at end of file
diff --git a/src/_locales/ru/messages.json b/src/_locales/ru/messages.json
new file mode 100644
index 0000000..1a2d4a7
--- /dev/null
+++ b/src/_locales/ru/messages.json
@@ -0,0 +1,46 @@
+{
+ "appName": { "message": "Помощник по Scrum" },
+ "appDescription": { "message": "Сообщайте о своем прогрессе в разработке, автоматически получая данные о вашей активности в Git за выбранный период" },
+ "disableLabel": { "message": "Отключить" },
+ "enableLabel": { "message": "Включить" },
+ "homeButtonTitle": { "message": "Перейти к отчету" },
+ "projectNameLabel": { "message": "Название вашего проекта" },
+ "projectNamePlaceholder": { "message": "Введите название вашего проекта" },
+ "githubUsernameLabel": { "message": "Ваше имя пользователя на Github" },
+ "githubUsernamePlaceholder": { "message": "Требуется для получения ваших вкладов" },
+ "contributionsLabel": { "message": "Получить ваши вклады за период:" },
+ "last7DaysLabel": { "message": "Последние 7 дней" },
+ "last1DayLabel": { "message": "Последний день" },
+ "startDateLabel": { "message": "Дата начала:" },
+ "endDateLabel": { "message": "Дата окончания:" },
+ "showOpenClosedLabel": { "message": "Показывать метку Открыто/Закрыто" },
+ "blockersLabel": { "message": "Что мешает вам двигаться вперед?" },
+ "blockersPlaceholder": { "message": "Введите вашу причину" },
+ "scrumReportLabel": { "message": "Отчет по Scrum" },
+ "generateReportButton": { "message": "Создать отчет" },
+ "copyReportButton": { "message": "Копировать отчет" },
+ "settingsOrgNameLabel": { "message": "Название организации" },
+ "settingsOrgNamePlaceholder": { "message": "Введите название организации" },
+ "setButton": { "message": "Установить" },
+ "githubTokenLabel": { "message": "Ваш токен Github" },
+ "githubTokenPlaceholder": { "message": "Требуется для выполнения аутентифицированных запросов" },
+ "showCommitsLabel": { "message": "Показывать коммиты, сделанные в указанном диапазоне дат в открытых PR" },
+ "cacheTTLLabel": { "message": "Введите TTL кэша" },
+ "cacheTTLUnit": { "message": "(в минутах)" },
+ "cacheTTLPlaceholder": { "message": "Укажите TTL кэша в минутах (по умолчанию 10 минут)" },
+ "refreshDataButton": { "message": "Обновить данные (в обход кэша)" },
+ "refreshDataInfo": { "message": "Используйте эту кнопку для немедленного получения свежих данных." },
+ "noteTitle": { "message": "Примечание:" },
+ "viewCodeButton": { "message": "Посмотреть код" },
+ "reportIssueButton": { "message": "Сообщить о проблеме" },
+ "madeWithLoveBy": { "message": "Сделано с ❤️" },
+ "generatingButton": { "message": "Создание..." },
+ "copiedButton": { "message": "Скопировано!" },
+ "orgChangedMessage": { "message": "Организация изменена. Нажмите кнопку 'Создать', чтобы получить данные о действиях в GitHub." },
+ "cacheClearedMessage": { "message": "Кэш успешно очищен. Нажмите «Создать отчет», чтобы получить свежие данные." },
+ "cacheClearedButton": { "message": "Кэш очищен!" },
+ "extensionDisabledMessage": { "message": "Расширение отключено. Включите его в настройках, чтобы создавать отчеты по scrum." },
+ "notePoint1": { "message": "Полученные PR основаны на последнем обзоре любого участника. Если вы рассмотрели PR 10 дней назад, а кто-то другой рассмотрел его 2 дня назад, он все равно появится в вашей активности за последнюю неделю." },
+ "notePoint2": { "message": "Обратите внимание, что в сгенерированном SCRUM могут возникнуть некоторые расхождения. Мы рекомендуем вручную просмотреть и отредактировать отчет, чтобы обеспечить точность перед публикацией." },
+ "noteSeeIssue": { "message": "Смотрите эту проблему" }
+}
\ No newline at end of file
diff --git a/src/_locales/vi/messages.json b/src/_locales/vi/messages.json
new file mode 100644
index 0000000..6d67dd0
--- /dev/null
+++ b/src/_locales/vi/messages.json
@@ -0,0 +1,46 @@
+{
+ "appName": { "message": "Trợ lý Scrum" },
+ "appDescription": { "message": "Báo cáo tiến độ phát triển của bạn bằng cách tự động lấy hoạt động Git của bạn trong một khoảng thời gian đã chọn" },
+ "disableLabel": { "message": "Tắt" },
+ "enableLabel": { "message": "Bật" },
+ "homeButtonTitle": { "message": "Đi đến Báo cáo" },
+ "projectNameLabel": { "message": "Tên dự án của bạn" },
+ "projectNamePlaceholder": { "message": "Nhập tên dự án của bạn" },
+ "githubUsernameLabel": { "message": "Tên người dùng Github của bạn" },
+ "githubUsernamePlaceholder": { "message": "Bắt buộc để lấy đóng góp của bạn" },
+ "contributionsLabel": { "message": "Lấy đóng góp của bạn trong khoảng:" },
+ "last7DaysLabel": { "message": "7 ngày qua" },
+ "last1DayLabel": { "message": "1 ngày qua" },
+ "startDateLabel": { "message": "Ngày bắt đầu:" },
+ "endDateLabel": { "message": "Ngày kết thúc:" },
+ "showOpenClosedLabel": { "message": "Hiển thị nhãn Mở/Đóng" },
+ "blockersLabel": { "message": "Điều gì đang cản trở bạn tiến bộ?" },
+ "blockersPlaceholder": { "message": "Nhập lý do của bạn" },
+ "scrumReportLabel": { "message": "Báo cáo Scrum" },
+ "generateReportButton": { "message": "Tạo báo cáo" },
+ "copyReportButton": { "message": "Sao chép báo cáo" },
+ "settingsOrgNameLabel": { "message": "Tên tổ chức" },
+ "settingsOrgNamePlaceholder": { "message": "Nhập tên tổ chức" },
+ "setButton": { "message": "Đặt" },
+ "githubTokenLabel": { "message": "Mã thông báo Github của bạn" },
+ "githubTokenPlaceholder": { "message": "Bắt buộc để thực hiện các yêu cầu đã xác thực" },
+ "showCommitsLabel": { "message": "Hiển thị các commit được thực hiện trong phạm vi ngày trong các PR đang mở" },
+ "cacheTTLLabel": { "message": "Nhập TTL bộ nhớ đệm" },
+ "cacheTTLUnit": { "message": "(tính bằng phút)" },
+ "cacheTTLPlaceholder": { "message": "Viết TTL bộ nhớ đệm bằng phút (Mặc định 10 phút)" },
+ "refreshDataButton": { "message": "Làm mới dữ liệu (bỏ qua bộ nhớ đệm)" },
+ "refreshDataInfo": { "message": "Sử dụng nút này để lấy dữ liệu mới ngay lập tức." },
+ "noteTitle": { "message": "Ghi chú:" },
+ "viewCodeButton": { "message": "Xem mã" },
+ "reportIssueButton": { "message": "Báo cáo sự cố" },
+ "madeWithLoveBy": { "message": "Làm bằng ❤️ bởi" },
+ "generatingButton": { "message": "Đang tạo..." },
+ "copiedButton": { "message": "Đã sao chép!" },
+ "orgChangedMessage": { "message": "Tổ chức đã thay đổi. Nhấp vào nút Tạo để lấy các hoạt động trên GitHub." },
+ "cacheClearedMessage": { "message": "Bộ nhớ đệm đã được xóa thành công. Nhấp vào \"Tạo báo cáo\" để lấy dữ liệu mới." },
+ "cacheClearedButton": { "message": "Đã xóa bộ nhớ đệm!" },
+ "extensionDisabledMessage": { "message": "Tiện ích mở rộng đã bị tắt. Bật nó từ các tùy chọn để tạo báo cáo scrum." },
+ "notePoint1": { "message": "Các PR được lấy dựa trên lần xem xét gần đây nhất của bất kỳ người đóng góp nào. Nếu bạn đã xem xét một PR 10 ngày trước và người khác đã xem xét nó 2 ngày trước, nó vẫn sẽ xuất hiện trong hoạt động của bạn trong tuần qua." },
+ "notePoint2": { "message": "Xin lưu ý rằng có thể xảy ra một số khác biệt trong SCRUM được tạo. Chúng tôi khuyên bạn nên xem xét và chỉnh sửa báo cáo theo cách thủ công để đảm bảo tính chính xác trước khi chia sẻ." },
+ "noteSeeIssue": { "message": "Xem vấn đề này để biết thêm thông tin về cách các hoạt động được lấy và hiển thị trong báo cáo của bạn." }
+}
\ No newline at end of file
diff --git a/src/_locales/zh_CN/messages.json b/src/_locales/zh_CN/messages.json
index d27b7aa..262df43 100644
--- a/src/_locales/zh_CN/messages.json
+++ b/src/_locales/zh_CN/messages.json
@@ -39,5 +39,8 @@
"orgChangedMessage": { "message": "组织已更改。单击“生成”按钮以获取 GitHub 活动。" },
"cacheClearedMessage": { "message": "缓存已成功清除。单击“生成报告”以获取新数据。" },
"cacheClearedButton": { "message": "缓存已清除!" },
- "extensionDisabledMessage": { "message": "扩展已禁用。请在选项中启用它以生成 scrum 报告。" }
+ "extensionDisabledMessage": { "message": "扩展已禁用。请在选项中启用它以生成 scrum 报告。" },
+ "notePoint1": { "message": "获取的 PR 基于任何贡献者的最新审查。如果您在 10 天前审查了 PR,而其他人在 2 天前审查了它,它仍将出现在您上周的活动中。" },
+ "notePoint2": { "message": "请注意,生成的 SCRUM 中可能会出现一些差异。我们建议在分享前手动审查和编辑报告以确保准确性。" },
+ "noteSeeIssue": { "message": "查看此问题" }
}
diff --git a/src/popup.html b/src/popup.html
index a4664a8..84eb6a0 100644
--- a/src/popup.html
+++ b/src/popup.html
@@ -232,14 +232,11 @@
-
The PRs fetched are based on the most recent review by any contributor. If you reviewed a PR 10 days
- ago and someone else reviewed it 2 days ago, it will still appear in your activity for the past week.
- (See this issue.)
+
+
+ ()
-
Please note that some discrepancies may occur in the generated SCRUM. We recommend manually reviewing
- and editing the report to ensure accuracy before sharing
-
Scrum
Show commits on open PRs
+ class="font-medium text-sm flex items-center pl-5 ml-4" style="margin-left: 4px;"
+ data-i18n="showCommitsLabel">Show commits on open PRs
-
+
Github Token required, add it in the settings.
@@ -135,7 +142,7 @@
Scrum
-
Scrum Report
+
Scrum Report
@@ -143,11 +150,12 @@
Scrum Report
@@ -158,9 +166,10 @@
Scrum Report
-
Your GitHub Token
+
Your GitHub Token
-
+ Why is it recommended to add a GitHub token?
Scrum Helper works without a GitHub token, but adding a personal access
token is recommended for a
@@ -189,14 +198,15 @@
Scrum Report
+ data-i18n-placeholder="githubTokenPlaceholder">
-
Your Organization Name
+
Your Organization Name
+
-
+ Which organization's GitHub activity?
Enter the GitHub organization name to fetch activities for. Leave empty to fetch
all
@@ -209,35 +219,40 @@
+ Filter by repositories
-
+
Github Token required.
To force a repo list update,
click the Refresh Data button.
-
+
+
- Enable filtering
+ Enable filtering
- A GitHub token is required for repository filtering. Please add one in the settings.
+ A GitHub token is required for repository
+ filtering. Please add one in the settings.
-
@@ -255,27 +270,29 @@
Scrum Report
- No
+ No
repositories selected (all will be included)
Enter cache TTL(in
minutes)
-
+
We are caching the data to avoid redundant calls. By default the cache expires after
10 minutes, you
can change it here to your desired time. We have given a refresh cache button in
@@ -286,18 +303,18 @@
Scrum Report
+ data-i18n-placeholder="cacheTTLPlaceholder">
- Use this button to fetch fresh data immediately.
+ Use this button to fetch fresh data immediately.
@@ -305,20 +322,22 @@
Scrum Report
-
Note:
+
Note:
-
The PRs fetched are based on the most recent review by any contributor. If you reviewed
+
The PRs fetched are based on the most recent review by any
+ contributor. If you reviewed
a PR 10 days
ago and someone else reviewed it 2 days ago, it will still appear in your activity for
the past week.
- (See this
- issue.)
+ (See this
+ issue)
-
Please note that some discrepancies may occur in the generated SCRUM. We recommend
+
Please note that some discrepancies may occur in the generated
+ SCRUM. We recommend
manually reviewing
- and editing the report to ensure accuracy before sharing
+ and editing the report to ensure accuracy before sharing.