Part of #3832. New build — no existing infra.
Background
No per-language permission exists today. translate_faq (FAQ_TRANSLATE) applies globally to every language. Editorial teams need "user/group may edit only language L".
Tasks
Acceptance criteria
- Language-specific editing is enforceable per user/group
- A translator scoped to
de cannot edit fr content
- Works alongside category restrictions without conflict
- Tests for permission logic + enforcement
- Clear error when blocked by language restriction
Part of #3832. New build — no existing infra.
Background
No per-language permission exists today.
translate_faq(FAQ_TRANSLATE) applies globally to every language. Editorial teams need "user/group may edit only language L".Tasks
faquser_right_language/faqgroup_right_language(+DatabaseSchema.phpand a new migration inSetup/Migration/Versions/)hasPermissionForLanguage()toPermissionInterface; implement inBasicPermissionandMediumPermissionAcceptance criteria
decannot editfrcontent