summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJannis Leidel <jannis@leidel.info>2010-12-12 22:53:49 +0000
committerJannis Leidel <jannis@leidel.info>2010-12-12 22:53:49 +0000
commit462d3115a32ca2f2dfb28231495bc9a42e828e47 (patch)
tree0ed37cba4fad8db45384c8ddd6e66738550950f1
parent575962c213c7e6b7393c9ba43ecbb11389ff7c8b (diff)
Fixed #5672 -- Allow the separator in the get_text_list utility function to be translated. Thanks, Claude.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14876 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/conf/locale/ar/LC_MESSAGES/django.mobin68894 -> 68957 bytes
-rw-r--r--django/conf/locale/ar/LC_MESSAGES/django.po5
-rw-r--r--django/utils/text.py7
-rw-r--r--tests/regressiontests/text/tests.py11
4 files changed, 21 insertions, 2 deletions
diff --git a/django/conf/locale/ar/LC_MESSAGES/django.mo b/django/conf/locale/ar/LC_MESSAGES/django.mo
index 77bc44da15..9234d63ce3 100644
--- a/django/conf/locale/ar/LC_MESSAGES/django.mo
+++ b/django/conf/locale/ar/LC_MESSAGES/django.mo
Binary files differ
diff --git a/django/conf/locale/ar/LC_MESSAGES/django.po b/django/conf/locale/ar/LC_MESSAGES/django.po
index 28e2153032..2095a35873 100644
--- a/django/conf/locale/ar/LC_MESSAGES/django.po
+++ b/django/conf/locale/ar/LC_MESSAGES/django.po
@@ -5022,6 +5022,11 @@ msgstr "ديسمبر"
msgid "or"
msgstr "أو"
+#. Translators: This string is used as a separator between list elements
+#: utils/text.py:153
+msgid ", "
+msgstr "، "
+
#: utils/timesince.py:21
msgid "year"
msgid_plural "years"
diff --git a/django/utils/text.py b/django/utils/text.py
index b05460486d..00c999c5d5 100644
--- a/django/utils/text.py
+++ b/django/utils/text.py
@@ -1,7 +1,7 @@
import re
from django.utils.encoding import force_unicode
from django.utils.functional import allow_lazy
-from django.utils.translation import ugettext_lazy
+from django.utils.translation import ugettext_lazy, ugettext as _
from htmlentitydefs import name2codepoint
# Capitalizes the first letter of a string.
@@ -148,7 +148,10 @@ def get_text_list(list_, last_word=ugettext_lazy(u'or')):
"""
if len(list_) == 0: return u''
if len(list_) == 1: return force_unicode(list_[0])
- return u'%s %s %s' % (', '.join([force_unicode(i) for i in list_][:-1]), force_unicode(last_word), force_unicode(list_[-1]))
+ return u'%s %s %s' % (
+ # Translators: This string is used as a separator between list elements
+ _(', ').join([force_unicode(i) for i in list_][:-1]),
+ force_unicode(last_word), force_unicode(list_[-1]))
get_text_list = allow_lazy(get_text_list, unicode)
def normalize_newlines(text):
diff --git a/tests/regressiontests/text/tests.py b/tests/regressiontests/text/tests.py
index fd02036f99..3036f8ec2e 100644
--- a/tests/regressiontests/text/tests.py
+++ b/tests/regressiontests/text/tests.py
@@ -4,12 +4,23 @@ from django.test import TestCase
from django.utils.text import *
from django.utils.http import urlquote, urlquote_plus, cookie_date, http_date
from django.utils.encoding import iri_to_uri
+from django.utils.translation import activate, deactivate
class TextTests(TestCase):
"""
Tests for stuff in django.utils.text and other text munging util functions.
"""
+ def test_get_text_list(self):
+ self.assertEqual(get_text_list(['a', 'b', 'c', 'd']), u'a, b, c or d')
+ self.assertEqual(get_text_list(['a', 'b', 'c'], 'and'), u'a, b and c')
+ self.assertEqual(get_text_list(['a', 'b'], 'and'), u'a and b')
+ self.assertEqual(get_text_list(['a']), u'a')
+ self.assertEqual(get_text_list([]), u'')
+ activate('ar')
+ self.assertEqual(get_text_list(['a', 'b', 'c']), u"a، b أو c")
+ deactivate()
+
def test_smart_split(self):
self.assertEquals(list(smart_split(r'''This is "a person" test.''')),