feat(i18n): sync editor translations with pluralization support and new UI strings (#6565)

# Description of Changes

## What was changed

- Updated editor translation files across multiple locales.
- Migrated numerous count-based translation keys from legacy
`{{plural}}` handling to ICU-style plural forms using `_one`, `_other`,
and where applicable `_zero` variants.
- Added translations and localization keys for newly introduced features
and UI areas, including:
  - Stirling Agents
  - Chat interface and quick actions
  - Files management and folder organization
  - Desktop update workflow
  - Folder scanning warnings
  - Team and workspace management
  - Sharing and upload dialogs
  - Comparison status messages
  - Relative time formatting
  - Additional tool panel and update UI strings
- Added missing translation entries required by recently introduced
frontend functionality.
- Reorganized some translation sections to maintain consistency and key
ordering.

## Why the change was made

- To align locale files with the current frontend feature set.
- To support proper pluralization behavior across languages.
- To prevent missing translation keys and fallback text in newly added
UI components.
- To improve localization consistency and maintainability as the
application grows.

---

## Checklist

### General

- [ ] I have read the [Contribution
Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md)
- [ ] I have read the [Stirling-PDF Developer
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md)
(if applicable)
- [ ] I have read the [How to add new languages to
Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md)
(if applicable)
- [ ] I have performed a self-review of my own code
- [ ] My changes generate no new warnings

### Documentation

- [ ] I have updated relevant docs on [Stirling-PDF's doc
repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/)
(if functionality has heavily changed)
- [ ] I have read the section [Add New Translation
Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags)
(for new translation tags only)

### Translations (if applicable)

- [ ] I ran
[`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md)

### UI Changes (if applicable)

- [ ] Screenshots or videos demonstrating the UI changes are attached
(e.g., as comments or direct attachments in the PR)

### Testing (if applicable)

- [ ] I have run `task check` to verify linters, typechecks, and tests
pass
- [ ] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#7-testing)
for more details.
This commit is contained in:
Ludy
2026-06-19 10:34:55 +00:00
committed by GitHub
parent e6d476297d
commit f8ceca0c3f
51 changed files with 36420 additions and 61672 deletions
-80
View File
@@ -22,13 +22,11 @@ ignore = [
'admin.settings.connections.oauth2.label',
'admin.settings.connections.saml2.label',
'convert.dpi',
'endpointStatistics.dataTypeApi',
'getPdfInfo.other.javaScript',
'getPdfInfo.other.xmp',
'getPdfInfo.summary.tech.javaScript',
'home.devApi.title',
'language.direction',
'removeBlanks.whitePercent.unit',
'showJS.tags',
'usage.controls.dataType.api',
'validateSignature.downloadType.csv',
@@ -76,7 +74,6 @@ ignore = [
'admin.settings.premium.title',
'alphabet',
'annotation.contents',
'annotation.ellipse',
'annotation.polygon',
'audit.events.details',
'audit.tabs.dashboard',
@@ -85,19 +82,10 @@ ignore = [
'certSign.name',
'common.save',
'convert.dpi',
'convert.markdown',
'convert.pptExt',
'convert.rtfExt',
'convert.textRtf',
'cookieBanner.services.posthog',
'cookieBanner.services.scarf',
'crop.autoCrop',
'details',
'endpointStatistics.dataTypeApi',
'endpointStatistics.dataTypeUi',
'endpointStatistics.top10',
'endpointStatistics.top20',
'fileChooser.dragAndDrop',
'fileManager.fileFormat',
'fileManager.fileName',
'fileManager.fileVersion',
@@ -117,29 +105,21 @@ ignore = [
'home.devApi.title',
'language.direction',
'legal.impressum',
'licenses.version',
'login.debug',
'pdfTextEditor.options.advanced.title',
'pipeline.title',
'pipelineOptions.pipelineHeader',
'plan.enterprise.name',
'plan.pro.name',
'plan.upgrade',
'pro',
'quickAccess.reader',
'redact.manual.zoom',
'removeBlanks.whitePercent.unit',
'settings.connection.mode.saas',
'settings.connection.server',
'settings.licensingAnalytics.audit',
'settings.licensingAnalytics.plan',
'settings.workspace.teams',
'setup.mode.saas.title',
'setup.server.type.saas',
'sign.saved.type.text',
'sign.type.text',
'signup.name',
'sponsor',
'text',
'toolPanel.alpha',
'update.priority.normal',
@@ -155,7 +135,6 @@ ignore = [
'validateSignature.downloadType.json',
'validateSignature.downloadType.pdf',
'validateSignature.report.downloads',
'validateSignature.status._value',
'watermark.type.1',
'watermark.watermarkType.text',
'workspace.people.actions.upgrade',
@@ -164,7 +143,6 @@ ignore = [
'workspace.people.emailInvite.emailsPlaceholder',
'workspace.people.inviteLink.emailPlaceholder',
'workspace.people.inviteMode.link',
'workspace.people.status',
'workspace.people.team',
'workspace.teams.system',
'workspace.teams.title',
@@ -192,7 +170,6 @@ ignore = [
'admin.settings.connections.pageFormatA4',
'admin.settings.connections.saml2.label',
'admin.settings.security.xFrameOptions.label',
'adminUserSettings.roles',
'audit.clearData.irreversible',
'certSign.appearance.invisible',
'certSign.appearance.visible',
@@ -210,22 +187,13 @@ ignore = [
'convert.cbzToPdf',
'convert.dpi',
'convert.ebookToPdf',
'convert.markdown',
'convert.pdfToCbr',
'convert.pdfToCbz',
'convert.pdfToEpub',
'convert.pptExt',
'convert.svgToPdf',
'cookieBanner.services.posthog',
'cookieBanner.services.scarf',
'credits.modal.enterpriseSubscription',
'credits.modal.popular',
'credits.modal.teamSubscription',
'defaultApp.error.title',
'endpointStatistics.dataTypeApi',
'endpointStatistics.dataTypeUi',
'endpointStatistics.top10',
'endpointStatistics.top20',
'error._value',
'fileManager.filterLocal',
'fileManager.googleDrive',
@@ -246,8 +214,6 @@ ignore = [
'plan.enterprise.name',
'plan.popular',
'plan.pro.name',
'plan.team.name',
'plan.trial.message',
'pro',
'provider.googledrive.name',
'provider.oauth2.generic.scope',
@@ -255,9 +221,7 @@ ignore = [
'provider.saml2.name',
'provider.saml2.scope',
'quickAccess.accessRoleEditor',
'redact.manual.zoom',
'redact.modeSelector.manual',
'removeBlanks.whitePercent.unit',
'settings.configuration.endpoints',
'settings.connection.mode.saas',
'settings.general.title',
@@ -267,8 +231,6 @@ ignore = [
'settings.planBilling.tier.teamBadge',
'settings.policiesPrivacy.legal',
'settings.securityAuth.telegram',
'setup.mode.saas.title',
'setup.server.type.saas',
'showJS.tags',
'storageShare.roleEditor',
'team.personal',
@@ -303,18 +265,9 @@ ignore = [
'AddStampRequest.alphabet',
'AddStampRequest.position',
'AddStampRequest.rotation',
'adminUserSettings.actions',
'alphabet',
'cookieBanner.preferencesModal.serviceCounterLabel',
'endpointStatistics.top',
'endpointStatistics.top10',
'endpointStatistics.top20',
'language.direction',
'licenses.license',
'licenses.module',
'licenses.nav',
'licenses.version',
'multiTool.page',
'page',
'pages',
'pipeline.title',
@@ -341,10 +294,6 @@ ignore = [
'admin.settings.database.port.label',
'admin.settings.legal.impressum.label',
'convert.dpi',
'convert.markdown',
'convert.pptExt',
'endpointStatistics.dataTypeApi',
'endpointStatistics.dataTypeUi',
'fileManager.googleDrive',
'footer.discord',
'footer.issues',
@@ -356,10 +305,7 @@ ignore = [
'legal.impressum',
'plan.pro.name',
'pro',
'removeBlanks.whitePercent.unit',
'settings.connection.mode.saas',
'setup.mode.saas.title',
'setup.server.type.saas',
'showJS.tags',
'usage.controls.dataType.api',
'usage.controls.dataType.ui',
@@ -381,8 +327,6 @@ ignore = [
[hu_HU]
ignore = [
'endpointStatistics.top10',
'endpointStatistics.top20',
'language.direction',
'pro',
'showJS.tags',
@@ -399,9 +343,7 @@ ignore = [
'no',
'password',
'pipeline.title',
'pipelineOptions.pipelineHeader',
'showJS.tags',
'sponsor',
]
[ja_JP]
@@ -428,7 +370,6 @@ ignore = [
[nl_NL]
ignore = [
'language.direction',
'sponsor',
]
[no_NB]
@@ -436,7 +377,6 @@ ignore = [
'adminUserSettings.admin',
'info',
'language.direction',
'sponsor',
]
[pk_sk]
@@ -452,15 +392,10 @@ ignore = [
[pt_BR]
ignore = [
'language.direction',
'pipelineOptions.pipelineHeader',
]
[pt_PT]
ignore = [
'endpointStatistics.endpoint',
'endpointStatistics.top',
'endpointStatistics.top10',
'endpointStatistics.top20',
'language.direction',
'pro',
'update.priority.normal',
@@ -490,9 +425,6 @@ ignore = [
[sr_LATN_RS]
ignore = [
'endpointStatistics.top',
'endpointStatistics.top10',
'endpointStatistics.top20',
'font',
'language.direction',
'pro',
@@ -555,18 +487,13 @@ ignore = [
'certSign.collab.signRequest.text.fontSizePlaceholder',
'convert.cbrToPdf',
'convert.cbzToPdf',
'convert.defaultFilename',
'convert.dpi',
'convert.ebookToPdf',
'convert.emlToPdf',
'convert.markdown',
'convert.pdfToCbr',
'convert.pdfToCbz',
'convert.pdfToEpub',
'convert.pptExt',
'convert.svgToPdf',
'endpointStatistics.dataTypeApi',
'endpointStatistics.dataTypeUi',
'fileManager.googleDrive',
'footer.discord',
'footer.issues',
@@ -577,8 +504,6 @@ ignore = [
'home.devApi.title',
'language.direction',
'payment.emailStage.emailPlaceholder',
'pdfToSinglePage.filenamePrefix',
'plan.trial.message',
'provider.googledrive.name',
'provider.oauth2.generic.scope',
'provider.oauth2.generic.scopes.label',
@@ -589,12 +514,8 @@ ignore = [
'provider.saml2.name',
'provider.saml2.scope',
'quickAccess.accessEmailPlaceholder',
'removeBlanks.whitePercent.unit',
'settings.connection.mode.saas',
'settings.securityAuth.telegram',
'setup.login.email.label',
'setup.mode.saas.title',
'setup.server.type.saas',
'showJS.tags',
'toolPanel.alpha',
'usage.controls.dataType.api',
@@ -602,7 +523,6 @@ ignore = [
'validateSignature.downloadType.csv',
'validateSignature.downloadType.json',
'validateSignature.downloadType.pdf',
'watermark.filenamePrefix',
'workspace.people.addMember.usernamePlaceholder',
'workspace.people.authType.oauth',
'workspace.people.authType.saml',