hi @harout7 ,
i had faced same issue. and what i conclude from my research is that language of site is taken from user pref-lang configuration .
to change site in arabic i changed function process_response in this file openedx/core/djangoapps/lang_pref/middleware.py
according to my need as i also want my whole site in arabic . hope it works for you
def process_response(self, request, response): # lint-amnesty, pylint: disable=missing-function-docstring
# If the user is logged in, check for their language preference. Also check for real user
# if current user is a masquerading user,
user_pref = None
current_user = None
if hasattr(request, 'user'):
current_user = getattr(request.user, 'real_user', request.user)
if current_user and current_user.is_authenticated:
# DarkLangMiddleware has already set this cookie
if DarkLangConfig.current().enabled and get_user_preference(current_user, DARK_LANGUAGE_KEY):
return response
anonymous_cookie_lang = getattr(request, '_anonymous_user_cookie_lang', None)
if anonymous_cookie_lang:
user_pref = anonymous_cookie_lang
set_user_preference(current_user, LANGUAGE_KEY, anonymous_cookie_lang)
else:
# Get the user's language preference
try:
user_pref = get_user_preference(current_user, LANGUAGE_KEY)
except (UserAPIRequestError, UserAPIInternalError):
# If we can't find the user preferences, then don't modify the cookie
pass
# If set, set the user_pref in the LANGUAGE_COOKIE_NAME
if user_pref and not is_request_from_mobile_app(request):
lang_pref_helpers.set_language_cookie(request, response, user_pref)
else:
lang_pref_helpers.unset_language_cookie(response)
else:
cookie_lang = lang_pref_helpers.get_language_cookie(request)
if cookie_lang:
lang_pref_helpers.set_language_cookie(request, response, cookie_lang)
else:
lang_pref_helpers.set_language_cookie(request, response, "ar")
return response
update me if it work.