Files
orion/app/modules/loyalty/locales/en.json
Samir Boulahtit f95db7c0b1
Some checks failed
CI / ruff (push) Successful in 9s
CI / validate (push) Has been cancelled
CI / dependency-scanning (push) Has been cancelled
CI / docs (push) Has been cancelled
CI / deploy (push) Has been cancelled
CI / pytest (push) Has started running
feat(roles): add admin store roles page, permission i18n, and menu integration
- Add admin store roles page with merchant→store cascading for superadmin
  and store-only selection for platform admin
- Add permission catalog API with translated labels/descriptions (en/fr/de/lb)
- Add permission translations to all 15 module locale files (60 files total)
- Add info icon tooltips for permission descriptions in role editor
- Add store roles menu item and admin menu item in module definition
- Fix store-selector.js URL construction bug when apiEndpoint has query params
- Add admin store roles API (CRUD + platform scoping)
- Add integration tests for admin store roles and permission catalog

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 23:31:27 +01:00

95 lines
3.3 KiB
JSON

{
"loyalty": {
"module": {
"name": "Loyalty Programs",
"description": "Stamp-based and points-based loyalty programs with wallet integration"
},
"program": {
"title": "Loyalty Program",
"create": "Create Program",
"edit": "Edit Program",
"activate": "Activate",
"deactivate": "Deactivate",
"type": {
"stamps": "Stamps",
"points": "Points",
"hybrid": "Hybrid"
}
},
"card": {
"title": "Loyalty Card",
"number": "Card Number",
"qr_code": "QR Code",
"enroll": "Enroll Customer",
"deactivate": "Deactivate Card"
},
"stamp": {
"title": "Stamps",
"add": "Add Stamp",
"redeem": "Redeem Reward",
"count": "{current} of {target}",
"until_reward": "{count} until reward"
},
"points": {
"title": "Points",
"earn": "Earn Points",
"redeem": "Redeem Points",
"balance": "{count} points",
"per_euro": "{points} points per euro"
},
"pin": {
"title": "Staff PINs",
"create": "Create PIN",
"edit": "Edit PIN",
"unlock": "Unlock PIN",
"locked": "PIN locked until {time}"
},
"wallet": {
"google": "Add to Google Wallet",
"apple": "Add to Apple Wallet"
},
"stats": {
"title": "Statistics",
"total_cards": "Total Cards",
"active_cards": "Active Cards",
"stamps_issued": "Stamps Issued",
"rewards_redeemed": "Rewards Redeemed"
},
"errors": {
"program_not_found": "Loyalty program not found",
"program_inactive": "Loyalty program is not active",
"card_not_found": "Loyalty card not found",
"card_inactive": "Loyalty card is not active",
"cooldown": "Please wait {minutes} minutes before next stamp",
"daily_limit": "Daily stamp limit of {limit} reached",
"insufficient_stamps": "Need {required} stamps, have {current}",
"insufficient_points": "Need {required} points, have {current}",
"pin_required": "Staff PIN is required",
"pin_invalid": "Invalid staff PIN",
"pin_locked": "PIN locked due to too many failed attempts"
}
},
"permissions": {
"view_programs": "View Programs",
"view_programs_desc": "View loyalty programs and details",
"manage_programs": "Manage Programs",
"manage_programs_desc": "Create and configure loyalty programs",
"view_rewards": "View Rewards",
"view_rewards_desc": "View loyalty rewards and redemptions",
"manage_rewards": "Manage Rewards",
"manage_rewards_desc": "Create and manage loyalty rewards"
},
"menu": {
"loyalty": "Loyalty",
"loyalty_programs": "Loyalty Programs",
"programs": "Programs",
"analytics": "Analytics",
"dashboard": "Dashboard",
"terminal": "Terminal",
"customer_cards": "Customer Cards",
"statistics": "Statistics",
"overview": "Overview",
"settings": "Settings"
}
}