From: Lukasz Date: Tue, 11 May 2010 13:37:39 +0000 (+0200) Subject: i18n in applications. X-Git-Url: https://git.mdrn.pl/wolnelektury.git/commitdiff_plain/8de917b335927dacfa0815a016ee17b638969ab9 i18n in applications. --- diff --git a/apps/catalogue/fields.py b/apps/catalogue/fields.py index 160167ef2..654dbfb21 100644 --- a/apps/catalogue/fields.py +++ b/apps/catalogue/fields.py @@ -42,7 +42,7 @@ class JSONFormField(forms.CharField): loads(value) return value except ValueError, e: - raise forms.ValidationError('Enter a valid JSON value. Error: %s' % e) + raise forms.ValidationError(_('Enter a valid JSON value. Error: %s') % e) class JSONField(models.TextField): diff --git a/apps/catalogue/forms.py b/apps/catalogue/forms.py index b040ef911..076282bf4 100644 --- a/apps/catalogue/forms.py +++ b/apps/catalogue/forms.py @@ -3,6 +3,7 @@ # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. # from django import forms +from django.utils.translation import ugettext_lazy as _ from slughifi import slughifi from catalogue.models import Tag, Book @@ -24,7 +25,7 @@ class SearchForm(forms.Form): def __init__(self, *args, **kwargs): tags = kwargs.pop('tags', []) super(SearchForm, self).__init__(*args, **kwargs) - self.fields['q'].widget.attrs['title'] = u'tytuł, autor, motyw/temat, epoka, rodzaj, gatunek' + self.fields['q'].widget.attrs['title'] = _('title, author, theme/topic, epoch, kind, genre') self.fields['tags'].initial = '/'.join(tag.slug for tag in Tag.get_tag_list(tags)) @@ -40,7 +41,7 @@ class ObjectSetsForm(forms.Form): def __init__(self, obj, user, *args, **kwargs): super(ObjectSetsForm, self).__init__(*args, **kwargs) self.fields['set_ids'] = forms.MultipleChoiceField( - label=u'Półki', + label=_('Shelves'), required=False, choices=[(tag.id, "%s (%s)" % (tag.name, tag.book_count)) for tag in Tag.objects.filter(category='set', user=user)], initial=[tag.id for tag in obj.tags.filter(category='set', user=user)], @@ -53,7 +54,7 @@ class NewSetForm(forms.Form): def __init__(self, *args, **kwargs): super(NewSetForm, self).__init__(*args, **kwargs) - self.fields['name'].widget.attrs['title'] = u'nazwa nowej półki' + self.fields['name'].widget.attrs['title'] = _('Name of the new shelf') def save(self, user, commit=True): name = self.cleaned_data['name'] diff --git a/apps/catalogue/views.py b/apps/catalogue/views.py index 60f984a9d..fd0174f99 100644 --- a/apps/catalogue/views.py +++ b/apps/catalogue/views.py @@ -258,7 +258,7 @@ def book_sets(request, slug): book_sets = book.tags.filter(category='set', user=request.user) if not request.user.is_authenticated(): - return HttpResponse('

Aby zarządzać swoimi półkami, musisz się zalogować.

') + return HttpResponse(_('

To maintain your shelves you need to be logged in.

')) if request.method == 'POST': form = forms.ObjectSetsForm(book, request.user, request.POST) @@ -276,7 +276,7 @@ def book_sets(request, slug): book.tags = new_shelves + list(book.tags.filter(~Q(category='set') | ~Q(user=request.user))) if request.is_ajax(): - return HttpResponse('

Półki zostały zapisane.

') + return HttpResponse(_('

Shelves were sucessfully saved.

')) else: return HttpResponseRedirect('/') else: @@ -300,9 +300,9 @@ def remove_from_shelf(request, shelf, book): shelf.book_count -= 1 shelf.save() - return HttpResponse('Usunięto') + return HttpResponse(_('Book was successfully removed from the shelf')) else: - return HttpResponse('Książki nie ma na półce') + return HttpResponse(_('This book is not on the shelf')) def collect_books(books): @@ -335,7 +335,7 @@ def download_shelf(request, slug): formats = ['pdf', 'odt', 'txt', 'mp3', 'ogg'] # Create a ZIP archive - temp = temp = tempfile.TemporaryFile() + temp = tempfile.TemporaryFile() archive = zipfile.ZipFile(temp, 'w') for book in collect_books(models.Book.tagged.with_all(shelf)): @@ -398,7 +398,7 @@ def new_set(request): new_set = new_set_form.save(request.user) if request.is_ajax(): - return HttpResponse(u'

Półka %s została utworzona

' % new_set) + return HttpResponse(_('

Shelf %s was successfully created

') % new_set) else: return HttpResponseRedirect('/') @@ -413,7 +413,7 @@ def delete_shelf(request, slug): user_set.delete() if request.is_ajax(): - return HttpResponse(u'

Półka %s została usunięta

' % user_set.name) + return HttpResponse(_('

Shelf %s was successfully removed

') % user_set.name) else: return HttpResponseRedirect('/') @@ -472,10 +472,10 @@ def import_book(request): info = sys.exc_info() exception = pprint.pformat(info[1]) tb = '\n'.join(traceback.format_tb(info[2])) - return HttpResponse("An error occurred: %s\n\n%s" % (exception, tb), mimetype='text/plain') - return HttpResponse("Book imported successfully") + return HttpResponse(_("An error occurred: %s\n\n%s") % (exception, tb), mimetype='text/plain') + return HttpResponse(_("Book imported successfully")) else: - return HttpResponse("Error importing file: %r" % book_import_form.errors) + return HttpResponse(_("Error importing file: %r") % book_import_form.errors) @@ -484,4 +484,4 @@ def clock(request): in a format suitable for Date.parse() """ from datetime import datetime - return HttpResponse(datetime.now().strftime('%Y/%m/%d %H:%M:%S')) + return HttpResponse(datetime.now().strftime('%Y/%m/%d %H:%M:%S')) \ No newline at end of file diff --git a/apps/lessons/models.py b/apps/lessons/models.py index b3c79d71c..dc113ed16 100644 --- a/apps/lessons/models.py +++ b/apps/lessons/models.py @@ -8,7 +8,7 @@ from django.utils.translation import ugettext_lazy as _ from os import path class Document(models.Model): - """Dokument - materiał pomocniczy dla nauczycieli.""" + """Document - hand-out for teachers""" title = models.CharField(_('title'), max_length=120) slug = models.SlugField(_('slug')) file = models.FileField(_('file'), upload_to='lessons/document')