IQSS / IQSS/dataverse-frontend

Localize remaining dynamic values and system-defined UI labels

Open
#1,069 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Size: 30 SPA
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.