mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2026-09-02 21:03:34 +03:00
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:
@@ -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',
|
||||
|
||||
Reference in New Issue
Block a user