Skip to content

feat(i18n): overhaul translations and keep language dropdown inside a… - #3499

Open
Natixe wants to merge 1 commit into
nervosnetwork:developfrom
Natixe:develop
Open

feat(i18n): overhaul translations and keep language dropdown inside a…#3499
Natixe wants to merge 1 commit into
nervosnetwork:developfrom
Natixe:develop

Conversation

@Natixe

@Natixe Natixe commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Overhaul the Arabic, French, and Spanish localization catalogs and fix the
language dropdown positioning so it always remains accessible inside the app
window.

The language dropdown was fixed-positioned without coordinates, so it fell back
to its static position and grew downwards from the middle of the dialog. With 9
locales at 56px each (~536px of list), it ran past the bottom of the window and
the last languages were unreachable. Its max-height: calc(100vh - 400px) used
a hardcoded offset that did not match where the trigger actually sits, causing
overflow on tall windows and truncating the list too early on short ones.

Language dropdown changes:

  • compute the dropdown placement dynamicall
    y from the trigger's bounding rect
  • set top, left, width, and max-height based on the available space up to the
    window edge
  • keep the locale list scrollable inside the dropdown instead of overflowing
    outside the page
  • flip the dropdown upwards when there is not enough room below and more space
    is available above
  • reposition the dropdown on window resize
  • reposition it on scroll using the capture phase, since the dialog content can
    scroll and a fixed dropdown would otherwise detach from its trigger
  • close the dropdown when the dialog closes to avoid reopening it at a stale
    position
  • remove the hardcoded width, max-height, and margin rules from the stylesheet

Internationalization changes:

  • improve and harmonize UI and Wallet translations in Arabic, French, and Spanish
  • add missing translation keys and remove incorrect keys
  • fix placeholders, HTML tags, and CLDR plural forms
  • standardize technical terminology related to CKB and Neuron
  • remove remaining English strings and typographical errors
  • add an i18n audit script to automatically validate translation catalogs

(Basically, adding to and improving the work I had already done )

…pp window

Overhaul the Arabic, French, and Spanish localization catalogs and fix the language dropdown positioning so it always remains accessible inside the app window. The language dropdown was fixed-positioned without coordinates, so it fell back to its static position and grew downwards from the middle of the dialog. With 9 locales at 56px each (~536px of list), it ran past the bottom of the window and the last languages were unreachable. Its `max-height: calc(100vh - 400px)` used a hardcoded offset that did not match where the trigger actually sits, causing overflow on tall windows and truncating the list too early on short ones. Language dropdown changes: - compute the dropdown placement dynamically from the trigger's bounding rect - set top, left, width, and max-height based on the available space up to the window edge - keep the locale list scrollable inside the dropdown instead of overflowing outside the page - flip the dropdown upwards when there is not enough room below and more space is available above - reposition the dropdown on window resize - reposition it on scroll using the capture phase, since the dialog content can scroll and a fixed dropdown would otherwise detach from its trigger - close the dropdown when the dialog closes to avoid reopening it at a stale position - remove the hardcoded width, max-height, and margin rules from the stylesheet Internationalization changes: - improve and harmonize UI and Wallet translations in Arabic, French, and Spanish - add missing translation keys and remove incorrect keys - fix placeholders, HTML tags, and CLDR plural forms - standardize technical terminology related to CKB and Neuron - remove remaining English strings and typographical errors - add an i18n audit script to automatically validate translation catalogs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant