Revision edda4d30
b/README | ||
---|---|---|
9 | 9 |
$ virtualenv synnefo --no-site-packages |
10 | 10 |
... |
11 | 11 |
$ cd synnefo |
12 |
$ ./bin/pip install django django-piston django-localeurl
|
|
12 |
$ ./bin/pip install django django-piston |
|
13 | 13 |
... |
14 | 14 |
... |
15 | 15 |
$ cp settings.py.dist settings.py |
b/README.i18n | ||
---|---|---|
14 | 14 |
1)for each language we want to add, we run makemessages, from our project's base: |
15 | 15 |
|
16 | 16 |
$ django-admin.py makemessages -l el -e=html,txt,py |
17 |
(./bin/django-admin.py makemessages -l el -e html,txt,py --ignore=lib/*) |
|
18 |
|
|
17 | 19 |
|
18 | 20 |
this will add the Greek language, and we specify that html, txt and python files contain translatable strings |
19 | 21 |
|
b/locale/el/LC_MESSAGES/django.po | ||
---|---|---|
3 | 3 |
# This file is distributed under the same license as the PACKAGE package. |
4 | 4 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
5 | 5 |
# |
6 |
#, fuzzy |
|
7 | 6 |
msgid "" |
8 | 7 |
msgstr "" |
9 | 8 |
"Project-Id-Version: PACKAGE VERSION\n" |
10 | 9 |
"Report-Msgid-Bugs-To: \n" |
11 |
"POT-Creation-Date: 2011-01-07 18:19+0200\n"
|
|
10 |
"POT-Creation-Date: 2011-01-14 21:58+0200\n"
|
|
12 | 11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
13 | 12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
14 | 13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
... | ... | |
17 | 16 |
"Content-Transfer-Encoding: 8bit\n" |
18 | 17 |
|
19 | 18 |
#: ui/views.py:7 |
20 |
msgid "Ubuntu 10.10 server 64bit" |
|
21 |
msgstr " Ένα Ubunty 10.10 mpla mpla " |
|
22 |
|
|
23 |
#: ui/views.py:7 |
|
24 | 19 |
msgid "Apache, MySQL, php5 preinstalled" |
25 |
msgstr "" |
|
20 |
msgstr "Apache, MySQL, php5 προεγκατεστημένα"
|
|
26 | 21 |
|
27 |
#: ui/templates/alt_instances.html:4 ui/templates/instances.html:3 |
|
28 |
msgid "Create New +" |
|
29 |
msgstr "Δημιουργία Νέου +" |
|
30 | 22 |
|
31 |
#: ui/templates/home.html:17
|
|
23 |
#: ui/templates/home.html:24
|
|
32 | 24 |
msgid "username" |
33 | 25 |
msgstr "" |
34 | 26 |
|
35 |
#: ui/templates/home.html:17
|
|
27 |
#: ui/templates/home.html:24
|
|
36 | 28 |
msgid "settings" |
37 |
msgstr "" |
|
29 |
msgstr "ρυθμίσεις"
|
|
38 | 30 |
|
39 |
#: ui/templates/home.html:34
|
|
31 |
#: ui/templates/home.html:48
|
|
40 | 32 |
msgid "Greek Research and Technology Network - Cloud management web interface" |
41 | 33 |
msgstr "Εθνικό Δίκτυο Έρευνας και τεχνολογίας" |
34 |
|
|
35 |
#: ui/templates/instances.html:5 |
|
36 |
msgid "Create New +" |
|
37 |
msgstr "Δημιουργία Νέου +" |
b/settings.py.dist | ||
---|---|---|
82 | 82 |
MIDDLEWARE_CLASSES = ( |
83 | 83 |
'django.contrib.sessions.middleware.SessionMiddleware', |
84 | 84 |
'django.middleware.locale.LocaleMiddleware', |
85 |
'localeurl.middleware.LocaleURLMiddleware', |
|
86 | 85 |
'django.middleware.common.CommonMiddleware', |
87 | 86 |
'synnefo.middleware.StripURLMiddleware', |
88 |
'django.middleware.csrf.CsrfViewMiddleware', |
|
87 |
#'django.middleware.csrf.CsrfViewMiddleware',
|
|
89 | 88 |
'django.contrib.auth.middleware.AuthenticationMiddleware', |
90 | 89 |
'django.contrib.messages.middleware.MessageMiddleware', |
91 | 90 |
) |
... | ... | |
99 | 98 |
) |
100 | 99 |
|
101 | 100 |
INSTALLED_APPS = ( |
102 |
'localeurl', |
|
103 | 101 |
'django.contrib.auth', |
104 | 102 |
'django.contrib.contenttypes', |
105 | 103 |
'django.contrib.sessions', |
b/ui/i18n.py | ||
---|---|---|
1 |
from django import http |
|
2 |
from django.conf import settings |
|
3 |
from django.utils.translation import check_for_language, activate, to_locale, get_language |
|
4 |
|
|
5 |
def set_language(request): |
|
6 |
""" |
|
7 |
Django's set_language function adapted to serve GET instead of POST |
|
8 |
""" |
|
9 |
next = request.REQUEST.get('next', None) |
|
10 |
if not next: |
|
11 |
next = request.META.get('HTTP_REFERER', None) |
|
12 |
if not next: |
|
13 |
next = '/' |
|
14 |
response = http.HttpResponseRedirect(next) |
|
15 |
if request.method == 'GET': |
|
16 |
lang_code = request.GET.get('l', None) |
|
17 |
print 'print einai:', lang_code |
|
18 |
|
|
19 |
if lang_code and check_for_language(lang_code): |
|
20 |
if hasattr(request, 'session'): |
|
21 |
request.session['django_language'] = lang_code |
|
22 |
else: |
|
23 |
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, lang_code) |
|
24 |
print 'tora einai:', lang_code |
|
25 |
return response |
b/ui/templates/home.html | ||
---|---|---|
1 | 1 |
{% load i18n %} |
2 |
{% load localeurl_tags %} |
|
3 | 2 |
|
4 | 3 |
<!DOCTYPE html> |
5 | 4 |
|
... | ... | |
16 | 15 |
<div id="wrapper"> |
17 | 16 |
|
18 | 17 |
{% get_available_languages as LANGUAGES %} |
19 |
|
|
20 | 18 |
<div id="language"> |
21 | 19 |
{% for lang in LANGUAGES %} |
22 |
<a href="{{request.path|chlocale:lang.0}}">{{lang.1}}</a>
|
|
20 |
<a href="/lang/?l={{lang.0}}">{{lang.1}}</a>
|
|
23 | 21 |
{% endfor %} |
24 | 22 |
</div> |
25 | 23 |
|
b/ui/templates/instances.html | ||
---|---|---|
1 |
{% load i18n %} |
|
2 |
|
|
1 | 3 |
<div id="instances" class="seperator"></div> |
2 | 4 |
|
3 |
<a id="create" rel="#wizard" href="#">Create New +</a>
|
|
5 |
<a id="create" rel="#wizard" href="#">{% trans "Create New +" %}</a>
|
|
4 | 6 |
|
5 | 7 |
<div id="view-select"> |
6 | 8 |
<a id="standard" class="current" href="/">#</a> |
b/ui/views.py | ||
---|---|---|
1 |
import os |
|
2 |
from django.utils.translation import gettext_lazy as _ |
|
1 | 3 |
from django.template import Context, loader |
2 | 4 |
from django.http import HttpResponse |
3 |
import os |
|
4 | 5 |
|
5 | 6 |
DEFAULT_IMAGES = [ |
6 |
{'id': 'ubuntu-10.10-x86_64-server', 'type':'standard', 'title': 'Ubuntu 10.10 server 64bit', 'description': 'Apache, MySQL, php5 preinstalled', 'size': '834', 'logo':'ubuntu.png'},
|
|
7 |
{'id': 'ubuntu-10.10-x86_64-server', 'type':'standard', 'title': 'Ubuntu 10.10 server 64bit', 'description': _('Apache, MySQL, php5 preinstalled'), 'size': '834', 'logo':'ubuntu.png'},
|
|
7 | 8 |
{'id': 'fedora-14-desktop', 'type':'standard', 'title': 'Fedora 14 desktop 32bit', 'description': 'Apache, MySQL, php5 preinstalled', 'size': '912', 'logo':'fedora.png'}, |
8 | 9 |
{'id': 'windows7-pro', 'type':'standard', 'title': 'Windows 7 professional', 'description': 'MS Office 7 preinstalled', 'size': '8142', 'logo':'windows.png'}, |
9 | 10 |
{'id': 'windows-xp', 'type':'standard', 'title': 'Windows XP', 'description': 'MS Office XP preinstalled', 'size': '6192', 'logo':'windows.png'}, |
b/urls.py | ||
---|---|---|
6 | 6 |
from django.conf.urls.defaults import * |
7 | 7 |
|
8 | 8 |
urlpatterns = patterns('', |
9 |
(r'^i18n/', include('django.conf.urls.i18n')),
|
|
9 |
(r'^lang/$', 'synnefo.ui.i18n.set_language'),
|
|
10 | 10 |
(r'^auth/api/', include('synnefo.auth.urls')), |
11 | 11 |
(r'^api/', include('synnefo.api.urls')), |
12 | 12 |
(r'^', include('synnefo.ui.urls')), |
Also available in: Unified diff