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 => (
+
+ ))}
+
+
+