From 462d3115a32ca2f2dfb28231495bc9a42e828e47 Mon Sep 17 00:00:00 2001 From: Jannis Leidel Date: Sun, 12 Dec 2010 22:53:49 +0000 Subject: [PATCH] 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 --- django/conf/locale/ar/LC_MESSAGES/django.mo | Bin 68894 -> 68957 bytes django/conf/locale/ar/LC_MESSAGES/django.po | 5 +++++ django/utils/text.py | 7 +++++-- tests/regressiontests/text/tests.py | 11 +++++++++++ 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 77bc44da15ebf2d6e315b54aea2fce100af7eadf..9234d63ce35f2e4c8bfd0af09ee0c43d1a5708d3 100644 GIT binary patch delta 16561 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 z�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 CNWu~T delta 16506 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 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.''')),