Skip to content

feat(i18n): Comprehensive Localization & Regional Intelligence#103

Merged
koala73 merged 4 commits intokoala73:mainfrom
Lib-LOCALE:release/v2.4-localization
Feb 18, 2026
Merged

feat(i18n): Comprehensive Localization & Regional Intelligence#103
koala73 merged 4 commits intokoala73:mainfrom
Lib-LOCALE:release/v2.4-localization

Conversation

@Lib-LOCALE
Copy link
Contributor

Summary

This release introduces comprehensive localization support, transforming WorldMonitor into a truly global intelligence platform.

Key Features

  • Multilingual UI: Full support for 12 languages (EN, FR, ES, DE, IT, PT, NL, SV, RU, AR, CN, JP).
  • RTL Support: Native right-to-left layout for Arabic and Hebrew, including mirrored UI components and correct text alignment.
  • Regional Intelligence:
    • Dynamic feed selection based on language preference.
    • Dedicated regional monitoring panels for Africa, LatAm, Middle East, and Asia.
    • Granular error handling for regionally blocked feeds.
  • AI Integration: On-demand translation and summarization of news items using localized prompts.

Technical Changes

  • Refactoring: Overhauled \src/services/i18n.ts\ and \src/config/feeds.ts\ to support dynamic loading.
  • Styling: Added \src/styles/rtl-overrides.css\ using logical CSS properties for maintenance-free RTL support.
  • Cleanup: Resolved CSS lint warnings and improved code quality.

Verification

  • Build:
    pm run build\ passed successfully.
  • Manual Testing: Verified RTL layout, language switching, and regional feed loading.

@vercel
Copy link

vercel bot commented Feb 18, 2026

@Lib-LOCALE is attempting to deploy a commit to the eliehabib projects Team on Vercel.

A member of the Team first needs to authorize it.

@SebastienMelki SebastienMelki added area: i18n Internationalization, translations community Community contribution enhancement New feature or request labels Feb 18, 2026
@SebastienMelki
Copy link
Collaborator

Thanks for putting this together @Lib-LOCALE — 12 languages + RTL support is a big effort.

A few questions before I dig into the code:

  1. Translation source — how were the translations produced? Machine-translated, native speakers, or a mix? Just want to gauge accuracy before shipping.
  2. Bundle size impact — loading 12 locales could add weight. Are the translation files lazy-loaded per language or all bundled upfront?
  3. Regional feeds — for the dynamic feed selection based on language, how do you handle cases where a regional feed is down or geo-blocked? Saw you mention "granular error handling" — curious what that looks like in practice.
  4. Testing — did you verify the RTL layout on actual Arabic content (not just mirrored English)? Some UI patterns break in unexpected ways with real RTL text.

Will do a proper code review once I understand the approach better.

@Lib-LOCALE
Copy link
Contributor Author

Lib-LOCALE commented Feb 18, 2026

@SebastienMelki Thanks for the review. Here are the corrections based on my analysis:

  1. Translation Source: French by me and other by LLM.
  2. Bundle Size: You are correct. The current static imports will bloat the initial load. I have refactored this to lazy-loading (dynamic imports) to resolve this. I've verified the build output, and we now have separate chunks for each locale (e.g., Assets/fr-....js), which will significantly improve initial load time.
  3. Regional Feeds: I verified src/services/rss.ts. It includes a robust Circuit Breaker mechanism (5min cooldown on failure) and correctly falls back to cached/persistent data. It also filters feeds dynamically by the active language.
  4. RTL Support: Good catch. While Arabic is fully hooked up, Hebrew was missing from the configuration. I have added he support to i18n.ts and created the src/locales/he.json file.

Corrections implemented and verified!

@vercel
Copy link

vercel bot commented Feb 18, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
worldmonitor Ready Ready Preview, Comment Feb 18, 2026 6:08pm

Request Review

@koala73 koala73 merged commit 6ac38b6 into koala73:main Feb 18, 2026
2 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: i18n Internationalization, translations community Community contribution enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments