IQSS / IQSS/dataverse-frontend
Localize remaining dynamic values and system-defined UI labels
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 31
- Forks
- 26
- Avg merge
- 4d 13h
- Merged PRs (30d)
- 4
Description
Overview of the Feature Request
Follow up on #1063 and #1066 by addressing remaining values and labels that do not follow the selected interface language.
A codebase scan identified additional gaps, including:
- Dates and numbers that use the browser locale instead of the interface language.
- File sizes in upload lists, storage quota messages, and ZIP download limit messages.
- Unformatted counts in file filters, My Data filters, guestbooks, templates, and file selection messages.
- English-only system labels, including file types, file categories, collection categories, and publication statuses.
Locale-sensitive values should consistently follow the active interface language and update when users switch languages without reloading the page. File sizes should use consistent conversion and formatting across views.
User-provided metadata, raw API/filter values, and dataset version identifiers such as 4.0 should remain unchanged.
Where practical, use shared formatting utilities and reusable test setup. Tests should cover representative locales, language switching, and preservation of raw values without duplicating tests for every supported language.
These findings come from static code inspection; individual cases should be verified during implementation.
I used AI (GPT) to scan the codebase and found additional areas where dynamic values and UI labels are not localized.
| Area | Remaining issue | File |
|---|---|---|
| Homepage metrics | Intl.NumberFormat(undefined) uses the browser locale rather than the interface language. | MetricsResults.tsx:7 |
| Guestbook management | Creation dates use the browser locale; usage and response counts are rendered without number formatting. | ManageGuestbooks.tsx:363 |
| File upload list | File sizes are formatted without the interface locale and stored as strings. | fileUploaderReducer.ts:107 |
| Upload limits | Remaining file counts and storage capacity use the browser locale. | useUploadLimit.ts:41 |
| ZIP download limit message | toFixed(1) always uses a decimal point. | ZipDownloadLimitMessage.tsx:102 |
| File type filter | All and file type labels such as Tab-Delimited remain in English; counts are not formatted. | FileCriteriaFilterByType.tsx:45 |
| File tag filter | All and system categories such as Data remain in English; counts are not formatted. | FileCriteriaFilterByTag.tsx:44 |
| File access filter | Labels are translated, but counts are interpolated without number formatting. | FileCriteriaFilterByAccess.tsx:58 |
| My Data publication status filter | Counts are rendered without locale-aware formatting. | PublicationStatusFilters.tsx:52 |
| File selection messages | {{count}} supports pluralization but does not automatically apply number formatting. | RowSelectionMessage.tsx:34 |
| Dataset templates | Usage counts are rendered without number formatting. | DatasetTemplates.tsx:344 |
| Edit file metadata | File types still use the English display-name mapping directly. | EditFileMetadataRow.tsx:34 |
Other hardcoded English text includes:
- Collection Unpublished badges.
- Collection categories such as Researchers, Research Projects, and Department.
- Tabular file tags such as Survey and Time Series.
- Success messages for editing file metadata and deaccessioning datasets, and upload cancellation messages.
- Contact form labels: To, From, and Contact.
- The sign-up/login prompt for requesting file access.
- Several Select... placeholders and loading skeleton tabs: Files, Metadata, Terms, and Versions.
- Search placeholders, rich-text editor tooltips, and accessibility labels in the design system.
What kind of user is the feature intended for?
(Example users roles: API User, Curator, Depositor, Guest, Superuser, Sysadmin)
modern ui users
What inspired the request?
Previous issue #1063
What existing behavior do you want changed?
Language change in ui
Any brand-new behavior do you want to add to Dataverse?
i18n
Any open or closed issues related to this feature request?
#1063 #1066
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the listed entry points, including MetricsResults.tsx, ManageGuestbooks.tsx, fileUploaderReducer.ts, useUploadLimit.ts, and the filter components, then inspect the shared formatting utilities and reusable test setup. Done means representative locales and language switching localize the listed values and labels while user metadata, raw API/filter values, and dataset version identifiers remain unchanged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend, internationalization
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100