mirror of
https://github.com/jakejarvis/sofa.git
synced 2026-07-14 18:15:56 -04:00
- Export `isLocaleRTL` from `@sofa/i18n` to detect right-to-left locales - Native: call `I18nManager.allowRTL` / `forceRTL` on locale init and on locale change; reload the app immediately if the current layout direction doesn't match the persisted locale, and prompt the user to restart when switching between LTR and RTL locales - Native: flip the `SettingsRow` chevron to `IconChevronLeft` when `I18nManager.isRTL` is true - Native: add Arabic Intl polyfill locale data (PluralRules, NumberFormat, DateTimeFormat, RelativeTimeFormat) - Web: enable `"rtl": true` in `components.json` and regenerate all shadcn UI components to use CSS logical properties (`ms-*`, `me-*`, `ps-*`, `pe-*`, `text-start`, `text-end`) instead of physical `ml-*`/`mr-*`/`text-left` equivalents - Web: apply the same logical-property conversions to non-generated components (nav-bar, settings sections, title cards, hero banner, continue-watching card) - Web: set `document.dir` based on the active locale's RTL flag in the i18n initialiser and root route - Add `../../packages/i18n/src/po.d.ts` to native `tsconfig.json` includes so TypeScript accepts `.po` imports
20 lines
490 B
TypeScript
20 lines
490 B
TypeScript
import { defineConfig } from "@lingui/conf";
|
|
import { formatter } from "@lingui/format-po";
|
|
|
|
export default defineConfig({
|
|
locales: ["en", "fr", "de", "es", "it", "pt", "nl", "ar", "he", "zh", "ja", "ko"],
|
|
sourceLocale: "en",
|
|
catalogs: [
|
|
{
|
|
path: "<rootDir>/packages/i18n/src/po/{locale}",
|
|
include: ["<rootDir>/apps/web/src", "<rootDir>/apps/native/src"],
|
|
},
|
|
],
|
|
format: formatter({
|
|
lineNumbers: false,
|
|
}),
|
|
fallbackLocales: {
|
|
default: "en",
|
|
},
|
|
});
|