Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
f0985011
Commit
f0985011
authored
Oct 13, 2014
by
Omar Al-Ithawi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Set default language to Arabic
parent
e7f15989
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
58 additions
and
0 deletions
+58
-0
lms/djangoapps/edraak_misc/middleware.py
+54
-0
lms/envs/common.py
+4
-0
No files found.
lms/djangoapps/edraak_misc/middleware.py
0 → 100644
View file @
f0985011
from
django.utils.cache
import
patch_vary_headers
from
django.utils
import
translation
from
django.conf
import
settings
class
ForceLangMiddleware
(
object
):
"""
Ignore Accept-Language HTTP headers and environment LANG variable.
This will force the I18N machinery to always choose settings.LANGUAGE_CODE
as the default initial language, unless another one is set via sessions or cookies
Should be installed *before* any middleware that checks request.META['HTTP_ACCEPT_LANGUAGE'],
namely django.middleware.locale.LocaleMiddleware
"""
def
process_request
(
self
,
request
):
if
'HTTP_ACCEPT_LANGUAGE'
in
request
.
META
:
del
request
.
META
[
'HTTP_ACCEPT_LANGUAGE'
]
if
'LANG'
in
request
.
environ
:
del
request
.
environ
[
'LANG'
]
class
SessionBasedLocaleMiddleware
(
object
):
"""
This Middleware saves the desired content language in the user session.
The SessionMiddleware has to be activated.
"""
def
process_request
(
self
,
request
):
if
request
.
method
==
'GET'
and
'lang'
in
request
.
GET
:
if
'language_flag'
in
request
.
session
and
request
.
session
[
'language_flag'
]:
language
=
request
.
session
[
'language_reference'
]
request
.
session
[
'language_flag'
]
=
False
else
:
language
=
request
.
GET
[
'lang'
]
request
.
session
[
'language'
]
=
language
elif
'django_language'
in
request
.
session
and
'language'
in
request
.
POST
:
language
=
request
.
POST
[
'language'
]
request
.
session
[
'language_reference'
]
=
request
.
POST
[
'language'
]
request
.
session
[
'language_flag'
]
=
True
else
:
language
=
translation
.
get_language_from_request
(
request
)
for
lang
in
settings
.
LANGUAGES
:
if
lang
[
0
]
==
language
:
translation
.
activate
(
language
)
request
.
LANGUAGE_CODE
=
translation
.
get_language
()
def
process_response
(
self
,
request
,
response
):
patch_vary_headers
(
response
,
(
'Accept-Language'
,))
if
'Content-Language'
not
in
response
:
response
[
'Content-Language'
]
=
translation
.
get_language
()
translation
.
deactivate
()
return
response
lms/envs/common.py
View file @
f0985011
...
@@ -917,6 +917,10 @@ MIDDLEWARE_CLASSES = (
...
@@ -917,6 +917,10 @@ MIDDLEWARE_CLASSES = (
'django.middleware.csrf.CsrfViewMiddleware'
,
'django.middleware.csrf.CsrfViewMiddleware'
,
'splash.middleware.SplashMiddleware'
,
'splash.middleware.SplashMiddleware'
,
# Make Arabic language the default one
'edraak_misc.middleware.ForceLangMiddleware'
,
'edraak_misc.middleware.SessionBasedLocaleMiddleware'
,
# Allows us to dark-launch particular languages
# Allows us to dark-launch particular languages
'dark_lang.middleware.DarkLangMiddleware'
,
'dark_lang.middleware.DarkLangMiddleware'
,
'geoinfo.middleware.CountryMiddleware'
,
'geoinfo.middleware.CountryMiddleware'
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment