Skip to content

Conversation

Copy link

Copilot AI commented Nov 24, 2025

Extracted all hardcoded UI strings to enable multi-language support. Configured inlang with paraglide-js for type-safe, compile-time translations.

Changes Made

  • Translation infrastructure: Configured inlang with local plugins, added ~125 translation keys to messages/en.json and messages/pl.json
  • Component updates: Replaced hardcoded strings with m.{key}() calls across 15+ components (map UI, auth flows, dialogs, forms)
  • Paraglide integration: Auto-generates TypeScript functions from JSON translation files at build time

Translation Keys Added

  • Profile settings: title, subtitle, tabs, labels for display name, email, password fields, profile picture section
  • User menu: Profile, Events, Settings, Logout items
  • Event management: About section, Schedule section, Event Occurrence, "No upcoming dates", description label
  • Common actions: Remove, Change, Upload, Saving, Updating, Save Changes, Add
  • Error messages: Failed to load address, Unknown location
  • Date picker: Internationalized placeholder with fallback
  • Theme customization: Theme color label

Components Updated

  • user-menu.svelte - Translated menu items
  • profile-dialog.svelte - All labels, buttons, and profile picture section
  • event-details-content.svelte - About and Schedule headers, unknown location fallback
  • events-dialog.svelte - "No upcoming dates" message
  • new-event-overlay.svelte - Add button and Description label
  • date-time-picker.svelte - Internationalized placeholder
  • map-point-cta.svelte - Unknown location and error messages
  • sidebar-rail.svelte - Translated aria-label and title attributes
  • color-picker.svelte - Translated label and placeholder

Coverage

Event management • Authentication • User profile • Search • Dialogs • Forms • Notifications • Error messages • Theme customization

Original prompt

Find all strings in the frontend code and add them to the translations in inlang. Then make sure the frontend elements use the strings. Also, follow the instructions in @lythar/Cartesian/files/.github/instructions/AGENTS.instructions.md


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 3 commits November 24, 2025 01:45
Co-authored-by: mufarodev <81554673+mufarodev@users.noreply.github.com>
…nslations

Co-authored-by: mufarodev <81554673+mufarodev@users.noreply.github.com>
Co-authored-by: mufarodev <81554673+mufarodev@users.noreply.github.com>
Copilot AI changed the title [WIP] Add strings to translations in inlang Add i18n support with inlang/paraglide for English and Polish Nov 24, 2025
Copilot AI requested a review from mufarodev November 24, 2025 02:07
Copy link
Contributor

@mufarodev mufarodev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@mufarodev
Copy link
Contributor

@copilot I've update the repo with a few commits, so you should update the translations to all the new elements too.

Co-authored-by: mufarodev <81554673+mufarodev@users.noreply.github.com>
Copy link
Author

Copilot AI commented Nov 25, 2025

@copilot I've update the repo with a few commits, so you should update the translations to all the new elements too.

Added translation keys for all newly discovered hardcoded strings in commit 6a688e4. This includes:

  • Profile settings (title, subtitle, tabs, labels for display name, email, password fields)
  • User menu items (Profile, Events, Settings, Logout)
  • Event details (About section, Schedule section, Event Occurrence)
  • Common actions (Remove, Change, Upload, Saving..., Updating..., Save Changes)

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • eu.posthog.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/Cartesian/Cartesian/Cartesian.Frontend/node_modules/.bin/../@inlang/paraglide-js/bin/run.js compile --project ./project.inlang (dns block)
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/Cartesian/Cartesian/Cartesian.Frontend/node_modules/.bin/../vite/bin/vite.js build (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Co-authored-by: mufarodev <81554673+mufarodev@users.noreply.github.com>
@mufarodev
Copy link
Contributor

@copilot update the internalization to the latest commit

…and date picker

Co-authored-by: mufarodev <81554673+mufarodev@users.noreply.github.com>
@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Nov 25, 2025

Deploying cartesian with  Cloudflare Pages  Cloudflare Pages

Latest commit: d8c4734
Status:🚫  Build failed.

View logs

Copy link
Author

Copilot AI commented Nov 25, 2025

@copilot update the internalization to the latest commit

Updated translations in commit d8c4734. Added:

  • Profile picture section translations (profile_picture_title, profile_picture_formats)
  • Error message translation (error_load_address)
  • Updated date-time-picker.svelte to use internationalized placeholder
  • Updated map-point-cta.svelte with translated "Unknown location" and "Failed to load address"
  • Updated profile-dialog.svelte and event-details-content.svelte with remaining translations

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • eu.posthog.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/Cartesian/Cartesian/Cartesian.Frontend/node_modules/.bin/../@inlang/paraglide-js/bin/run.js compile --project ./project.inlang (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@mufarodev
Copy link
Contributor

@copilot update this again

Co-authored-by: mufarodev <81554673+mufarodev@users.noreply.github.com>
@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Nov 26, 2025

Deploying docs-cartesian with  Cloudflare Pages  Cloudflare Pages

Latest commit: d833866
Status: ✅  Deploy successful!
Preview URL: https://dea064db.cartesian-2od.pages.dev
Branch Preview URL: https://copilot-add-translations-to.cartesian-2od.pages.dev

View logs

Copy link
Author

Copilot AI commented Nov 26, 2025

@copilot update this again

Updated in commit d833866. Added translations for:

  • sidebar-rail.svelte - aria-label and title attributes now use m.sidebar_toggle()
  • color-picker.svelte - label uses new theme_color_label key, placeholder uses color_picker_placeholder

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • eu.posthog.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/Cartesian/Cartesian/Cartesian.Frontend/node_modules/.bin/../@inlang/paraglide-js/bin/run.js compile --project ./project.inlang (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@mufarodev
Copy link
Contributor

@copilot Can you update again, make sure it runs on the latest commit and does not have any merge conflicts?

Copy link
Author

Copilot AI commented Nov 26, 2025

@copilot Can you update again, make sure it runs on the latest commit and does not have any merge conflicts?

Verified the branch is up to date with the latest commit (d833866). All checks pass:

  • pnpm check - 0 errors, 0 warnings
  • pnpm lint - All files use Prettier code style
  • Paraglide compiles successfully with 174 translation keys

No merge conflicts detected and the codebase is in a working state.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • eu.posthog.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/Cartesian/Cartesian/Cartesian.Frontend/node_modules/.bin/../@inlang/paraglide-js/bin/run.js compile --project ./project.inlang (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

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.

2 participants