Phase 4: Translate Shared Components - common, navigation, status labels

- Translate LoadingState and EmptyState components (common namespace)
- Translate Header navigation labels (navigation namespace)
- Translate StatusBadge trade status labels (exchange namespace)
- Create navigation.json translation files for es, en, ca
- Create exchange.json translation files for status/direction/transfer labels
- Update IntlProvider to load navigation and exchange namespaces
- Update frontend tests to expect Spanish translations (default language)
- Configure Playwright to use English language for e2e tests via storageState
- Fix test expectations to match translated strings

All frontend and e2e tests passing.
This commit is contained in:
counterweight 2025-12-25 22:06:39 +01:00
parent f86ec8b62d
commit a5a1a2c1ad
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
14 changed files with 173 additions and 27 deletions

View file

@ -115,7 +115,7 @@ describe("ProfilePage - Display", () => {
mockGetProfile.mockImplementation(() => new Promise(() => {}));
renderWithProviders(<ProfilePage />);
expect(screen.getByText("Loading...")).toBeDefined();
expect(screen.getByText("Cargando...")).toBeDefined();
});
test("renders profile page title", async () => {
@ -211,7 +211,7 @@ describe("ProfilePage - Navigation", () => {
renderWithProviders(<ProfilePage />);
await waitFor(() => {
expect(screen.getByText("Exchange")).toBeDefined();
expect(screen.getByText("My Trades")).toBeDefined();
expect(screen.getByText("Mis Operaciones")).toBeDefined();
});
});
@ -284,7 +284,7 @@ describe("ProfilePage - Loading State", () => {
renderWithProviders(<ProfilePage />);
expect(screen.getByText("Loading...")).toBeDefined();
expect(screen.getByText("Cargando...")).toBeDefined();
});
});