diff --git a/django_rq/settings.py b/django_rq/settings.py index 57bc78de..fa50ace3 100644 --- a/django_rq/settings.py +++ b/django_rq/settings.py @@ -25,3 +25,8 @@ # Token for querying statistics API_TOKEN = getattr(settings, 'RQ_API_TOKEN', '') + +# Activate locale for each task +RQ_USE_L10N = getattr(settings, 'RQ_USE_L10N', settings.USE_L10N) +# Use specified language code to activate locale +RQ_LANGUAGE_CODE = getattr(settings, 'RQ_LANGUAGE_CODE', settings.LANGUAGE_CODE) diff --git a/django_rq/workers.py b/django_rq/workers.py index 0686e102..e31b4663 100644 --- a/django_rq/workers.py +++ b/django_rq/workers.py @@ -1,9 +1,10 @@ +from django.conf import settings as django_settings +from django.utils import six +from django.utils.translation import activate from rq import Worker from rq.utils import import_attribute -from django.conf import settings -from django.utils import six - +from . import settings from .jobs import get_job_class from .queues import filter_connection_params, get_connection, get_queues @@ -49,6 +50,8 @@ def get_worker(*queue_names, **kwargs): # normalize queue_class to what get_queues returns queue_class = queues[0].__class__ worker_class = get_worker_class(kwargs.pop('worker_class', None)) + if settings.RQ_USE_L10N: + activate(getattr(settings, 'RQ_LANGUAGE_CODE', django_settings.LANGUAGE_CODE)) return worker_class(queues, connection=queues[0].connection, exception_handlers=get_exception_handlers() or None,