tane/apps/app_seeds/lib/i18n/ja.i18n.json
vjrj baa8867287 feat(i18n): full RTL/CJK support — fonts, Japanese locale, directional fixes
Bundle Noto Sans Arabic + Noto Sans JP (SIL OFL 1.1) as per-glyph fallbacks
for both the UI text theme and every generated PDF, so RTL (Arabic) and CJK
render on all platforms — including desktop, where the system font may lack
them — instead of tofu. A shared pdf_fonts.dart centralizes the PDF theme and
the three label/catalog/recovery services reuse it.

Add Japanese (ja) as the CJK reference locale — fittingly, the app's own name
is Japanese (種, tane, 'seed'). Core strings translated; the rest fall back to
English via slang. Wired into supportedLocales (automatic) and the settings
picker.

Fix three physical Alignment.centerLeft -> AlignmentDirectional.centerStart in
variety_detail_screen, and make month-abbreviation and avatar-initial
truncation grapheme-safe (.characters) so CJK text is never cut mid-character.

Tests: CJK/Arabic PDF glyph render, ja locale resolution + English fallback.
The chat-bubble mirroring flagged by the audit was verified correct (already
respects Directionality) and left unchanged.
2026-07-14 11:11:19 +02:00

46 lines
1.5 KiB
JSON

{
"app": {
"title": "Tane"
},
"common": {
"save": "保存",
"cancel": "キャンセル",
"delete": "削除",
"edit": "編集",
"type": "種類",
"comingSoon": "近日公開",
"offline": "オフラインです — 共有を一時停止しています"
},
"menu": {
"tagline": "あなたの種子バンク",
"inventory": "在庫",
"market": "マーケット",
"profile": "プロフィール",
"chat": "チャット",
"wishlist": "お気に入り",
"following": "フォロー中",
"calendar": "カレンダー",
"settings": "設定"
},
"settings": {
"language": "言語",
"systemLanguage": "システムの言語",
"langEs": "Español",
"langEn": "English",
"langPt": "Português",
"langAst": "Asturianu",
"langFr": "Français",
"langDe": "Deutsch",
"langJa": "日本語",
"about": "このアプリについて",
"aboutText": "在来種のためのローカルファースト・暗号化在庫管理。AGPL-3.0。",
"aboutOpen": "Tane について"
},
"home": {
"tagline": "地域の種を分かち合い、育てよう",
"openMarket": "マーケット",
"openMarketSubtitle": "近くの種を見つけて分かち合う",
"yourInventory": "あなたの在庫",
"yourInventorySubtitle": "種を管理する"
}
}