diff --git a/client/src/i18n/ar.json b/client/src/i18n/ar.json index 1edd6da..51554db 100644 --- a/client/src/i18n/ar.json +++ b/client/src/i18n/ar.json @@ -570,6 +570,7 @@ "users.passwordMismatch": "كلمات المرور غير متطابقة", "users.passwordRequired": "كلمة المرور مطلوبة للمستخدمين الجدد", "users.saveFailed": "فشل في حفظ المستخدم", + "users.preferredLanguage": "اللغة المفضلة", "users.deleteFailed": "فشل في حذف المستخدم", "settings.saveFailed": "فشل في الحفظ", diff --git a/client/src/i18n/en.json b/client/src/i18n/en.json index 6cee207..a0feaac 100644 --- a/client/src/i18n/en.json +++ b/client/src/i18n/en.json @@ -570,6 +570,7 @@ "users.passwordMismatch": "Passwords do not match", "users.passwordRequired": "Password is required for new users", "users.saveFailed": "Failed to save user", + "users.preferredLanguage": "Preferred Language", "users.deleteFailed": "Failed to delete user", "settings.saveFailed": "Failed to save", diff --git a/client/src/pages/Users.jsx b/client/src/pages/Users.jsx index 86195f3..05762e1 100644 --- a/client/src/pages/Users.jsx +++ b/client/src/pages/Users.jsx @@ -14,7 +14,7 @@ const ROLES = [ ] const EMPTY_FORM = { - name: '', email: '', password: '', role: 'contributor', avatar: '', + name: '', email: '', password: '', role: 'contributor', avatar: '', preferred_language: 'en', } function RoleBadge({ role }) { @@ -66,6 +66,7 @@ export default function Users() { email: form.email, role: form.role, avatar: form.avatar || null, + preferred_language: form.preferred_language || 'en', } if (form.password) data.password = form.password @@ -97,6 +98,7 @@ export default function Users() { password: '', role: user.role || 'contributor', avatar: user.avatar || '', + preferred_language: user.preferred_language || 'en', }) setConfirmPassword('') setPasswordError('') @@ -312,6 +314,27 @@ export default function Users() { +
+ +
+ {[{ value: 'en', label: 'English', flag: '🇬🇧' }, { value: 'ar', label: 'العربية', flag: '🇸🇦' }].map(l => ( + + ))} +
+
+