changeset 2:0df46e87537d

i18n: marked translatable texts + add change language form on pages footer
author Goffi <goffi@goffi.org>
date Mon, 30 Jul 2012 02:09:38 +0200
parents a49aa1b823f6
children 43d8c6d59557
files sat_website/screenshots.py sat_website/views.py static/css/sat_website.css templates/sat_website/base.html templates/sat_website/community.html templates/sat_website/developers.html templates/sat_website/features.html templates/sat_website/frontends.html templates/sat_website/overview.html templates/sat_website/screenshots.html templates/sat_website/social_contract.html
diffstat 11 files changed, 156 insertions(+), 124 deletions(-) [+]
line wrap: on
line diff
--- a/sat_website/screenshots.py	Sun Jul 29 01:52:27 2012 +0200
+++ b/sat_website/screenshots.py	Mon Jul 30 02:09:38 2012 +0200
@@ -19,6 +19,7 @@
 You should have received a copy of the GNU Affero General Public License
 along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
 """
+from django.utils.translation import ugettext_lazy as _
 from collections import namedtuple
 
 ImageDesc = namedtuple("ImageDesc","path description")
@@ -27,19 +28,19 @@
 #list the pictures
 
 screenshots = [
-    ImageDesc("images/screenshots/libervia/libervia_login.png", "Libervia's login page"),
-    ImageDesc("images/screenshots/libervia/libervia_discussions.png", "Libervia's main view"),
-    ImageDesc("images/screenshots/primitivus/primitivus_tarot.png", "Primitivus showing a french Tarot play"),
-    ImageDesc("images/screenshots/jp/jp.png", "cowsay sent in conversation through jp"),
-    ImageDesc("images/screenshots/wix/wix_tarot.png", "Wix showing a french Tarot play"),
+    ImageDesc("images/screenshots/libervia/libervia_login.png", _("Libervia's login page")),
+    ImageDesc("images/screenshots/libervia/libervia_discussions.png", _("Libervia's main view")),
+    ImageDesc("images/screenshots/primitivus/primitivus_tarot.png", _("Primitivus showing a french Tarot play")),
+    ImageDesc("images/screenshots/jp/jp.png", _("cowsay sent in conversation through jp")),
+    ImageDesc("images/screenshots/wix/wix_tarot.png", _("Wix showing a french Tarot play")),
     ]
 
 screencasts = [
-    VideoDesc("videos/screencasts/présentation_SàT.webm", "The first video show wix, primitivus and jp", "videos/screencasts/posters/présentation_SàT.jpg"),
-    VideoDesc("videos/screencasts/présentation_SàT_2.webm", "This video show french Tarot game, and how to use Thunderbird with SàT", "videos/screencasts/posters/présentation_SàT_2.jpg"),
-    VideoDesc("videos/screencasts/présentation_SàT_3.webm", "This video focuses on Libervia. The UI is really outdated, but we can see some features",  "videos/screencasts/posters/présentation_SàT_3.jpg"),
-    VideoDesc("videos/screencasts/présentation_SàT_4_copie_et_pipe.webm", "How to copy and pipe streams over XMPP", "videos/screencasts/posters/présentation_SàT_4.jpg"),
-    VideoDesc("videos/screencasts/présentation_SàT_5_radio_collective.webm", "Demo of the new Libervia UI, and of the collective radio feature", "videos/screencasts/posters/radiocol.jpg"),
+    VideoDesc("videos/screencasts/présentation_SàT.webm", _("The first video show wix, primitivus and jp"), "videos/screencasts/posters/présentation_SàT.jpg"),
+    VideoDesc("videos/screencasts/présentation_SàT_2.webm", _("This video show french Tarot game, and how to use Thunderbird with SàT"), "videos/screencasts/posters/présentation_SàT_2.jpg"),
+    VideoDesc("videos/screencasts/présentation_SàT_3.webm", _("This video focuses on Libervia. The UI is really outdated, but we can see some features"),  "videos/screencasts/posters/présentation_SàT_3.jpg"),
+    VideoDesc("videos/screencasts/présentation_SàT_4_copie_et_pipe.webm", _("How to copy and pipe streams over XMPP"), "videos/screencasts/posters/présentation_SàT_4.jpg"),
+    VideoDesc("videos/screencasts/présentation_SàT_5_radio_collective.webm", _("Demo of the new Libervia UI, and of the collective radio feature"), "videos/screencasts/posters/radiocol.jpg"),
     ]
 
 
--- a/sat_website/views.py	Sun Jul 29 01:52:27 2012 +0200
+++ b/sat_website/views.py	Mon Jul 30 02:09:38 2012 +0200
@@ -22,28 +22,32 @@
 """
 from django.http import Http404
 from django.shortcuts import render_to_response
+from django.core.context_processors import csrf
+from django.utils.translation import ugettext_lazy as _
 from collections import OrderedDict
 import screenshots, social_contract, utils
 
-CATEGORIES = OrderedDict([("features", "Features"),
-              ("frontends", "Frontends"),
-              ("screenshots", "Screenshots & Videos"),
-              ("community", "Community"),
-              ("developers", "Developers corner"),
-              ("social_contract", "Social contract")])
+CATEGORIES = OrderedDict([("features", _("Features")),
+              ("frontends", _("Frontends")),
+              ("screenshots", _("Screenshots & Videos")),
+              ("community", _("Community")),
+              ("developers", _("Developers corner")),
+              ("social_contract", _("Social contract"))])
 
 def overview(request):
     return render_to_response('sat_website/overview.html')
 
 def generic_cat(request, category):
     latest_dl_path, latest_version = utils.get_latest_sat()
-    context = {"categories": CATEGORIES,
+    context = {
+               "available_languages": ['fr', 'en'],
+               "categories": CATEGORIES,
                "category": category,
                "latest_dl_path": latest_dl_path,
                "latest_version": latest_version,
               }
-    for k,v in CATEGORIES.iteritems():
-        print "category: %s:%s" % (k,v)
+    context.update(csrf(request))
+
     if not category or category == "overview":
         return render_to_response('sat_website/overview.html', context)
     elif category == "screenshots":
--- a/static/css/sat_website.css	Sun Jul 29 01:52:27 2012 +0200
+++ b/static/css/sat_website.css	Mon Jul 30 02:09:38 2012 +0200
@@ -24,6 +24,11 @@
 	margin-bottom: 20px;
 }
 
+#language {
+    /* position: absolute; */
+    text-align: center;
+}
+
 #sat_logo {
     float: left;
     margin-right: 5px;
--- a/templates/sat_website/base.html	Sun Jul 29 01:52:27 2012 +0200
+++ b/templates/sat_website/base.html	Mon Jul 30 02:09:38 2012 +0200
@@ -19,6 +19,7 @@
 {% endcomment %}
 
 {% load staticfiles %}
+{% load i18n %}
 
 <!DOCTYPE html>
 <html lang="en">
@@ -28,7 +29,7 @@
 		<link rel="stylesheet" href="{% static "css/bootstrap-responsive.css" %}">
 		<link rel="stylesheet" href="{% static "css/sat_website.css" %}">
 		<link rel="icon" type="image/png" href="{% static "images/sat_logo_32.png" %}">
-		<title>{% block title %}Salut à Toi: the multi-frontends, multi-purposes communication tool{% endblock %}</title>
+		<title>{% block title %}{% trans "Salut à Toi: the multi-frontends, multi-purposes communication tool" %}{% endblock %}</title>
 </head>
 <body>
 	<div class="navbar navbar-fixed-top">  
@@ -44,7 +45,7 @@
 				</ul>
                 {% if latest_dl_path and latest_version %}
                     <ul class="nav pull-right">
-                        <li><a href="{{ latest_dl_path }}"><strong>Download SàT {{ latest_version }}</strong></a> </li>
+                        <li><a href="{{ latest_dl_path }}"><strong>{% trans "Download SàT" %} {{ latest_version }}</strong></a> </li>
                         
                     </ul>
                 {% endif %}
@@ -52,5 +53,21 @@
 		</div>  
 	</div>   
 {% block content %}{% endblock %}
+	<div class="container">
+		<div class="row" id="language">
+
+				<form class="well form-inline" action="/i18n/setlang/" method="post">
+					{% csrf_token %}
+					<input name="next" type="hidden" value="{{ redirect_to }}" />
+					<select name="language">
+						{% get_language_info_list for available_languages as languages %}
+						{% for language in languages %}
+							<option value="{{ language.code }}">{{ language.name_local }} ({{ language.code }})</option>
+						{% endfor %}
+					</select>
+					<input type="submit" value="{% trans "Change language" %}" />
+				</form>
+		</div>
+	</div>
 </body>
 </html>
--- a/templates/sat_website/community.html	Sun Jul 29 01:52:27 2012 +0200
+++ b/templates/sat_website/community.html	Mon Jul 30 02:09:38 2012 +0200
@@ -20,36 +20,37 @@
 along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
 {% endcomment %}
 
+{% load i18n %}
 {% load staticfiles %}
-{% block headline %}Salut à Toi's community{% endblock %}
-{% block subtext %}Join us to talk, contribute, share around Salut à Toi{% endblock %}
+{% block headline %}{% trans "Salut à Toi's community" %}{% endblock %}
+{% block subtext %}{% trans "Join us to talk, contribute, share around Salut à Toi" %}{% endblock %}
 {% block main_container %}
 <div class="row">
     <h4 class="alert alert-success">
-    Join us on Jabber :)
+    {% trans "Join us on Jabber :)" %}
     </h4>
     <div class="info">
-        <p>Salut à Toi's MUC room is <strong>*the*</strong> place to discuss about the project: <a href="xmpp:sat@chat.jabberfr.org">sat@chat.jabberfr.org</a></p>
+        <p>{% blocktrans with sat_muc="<a href=\"xmpp:sat@chat.jabberfr.org\">sat@chat.jabberfr.org</a>" %}Salut à Toi's MUC room is <strong>*the*</strong> place to discuss about the project: {{ sat_muc }}{% endblocktrans %}</p>
     </div>
 </div>
 
 <div class="row">
     <h4 class="alert alert-success">
-    Follow the development, learn
+    {% trans "Follow the development, learn" %}
     </h4>
     <div class="info">
-        <p>you can subscribe to the mailing list to follow the progression, you're welcome to give your opinion (and to contribute): <a href="http://lists.goffi.org">http://lists.goffi.org</a></p>
-        <p>You'll find user documentation and more technical one on the wiki: <a href="http://wiki.goffi.org">http://wiki.goffi.org</a></p>
+        <p>{% blocktrans with mailing_list="<a href=\"http://lists.goffi.org\">http://lists.goffi.org</a>" %}you can subscribe to the mailing list to follow the progression, you're welcome to give your opinion (and to contribute): {{ mailing_list }}{% endblocktrans %}</p>
+        <p>{% blocktrans with wiki="<a href=\"http://wiki.goffi.org\">http://wiki.goffi.org</a>" %}You'll find user documentation and more technical one on the wiki: {{ wiki }}{% endblocktrans %}</p>
     </div>
     
 </div>
 
 <div class="row">
     <h4 class="alert alert-success">
-    Participate !
+    {% trans "Participate !" %}
     </h4>
     <div class="info">
-        <p>SàT is an open project: come and discuss, give your opinion, share your thoughts. The more people will participate, the better the project will be. Share your view not only on technical points, but also on philosophical or political ones. And if you are around, come to have a talk in real life :)</p>
+        <p>{% blocktrans %}SàT is an open project: come and discuss, give your opinion, share your thoughts. The more people will participate, the better the project will be. Share your view not only on technical points, but also on philosophical or political ones. And if you are around, come to have a talk in real life :){% endblocktrans %}</p>
     </div>
 </div>
 {% endblock %}
--- a/templates/sat_website/developers.html	Sun Jul 29 01:52:27 2012 +0200
+++ b/templates/sat_website/developers.html	Mon Jul 30 02:09:38 2012 +0200
@@ -20,38 +20,39 @@
 along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
 {% endcomment %}
 
+{% load i18n %}
 {% load staticfiles %}
-{% block headline %}Salut à Toi: contributing{% endblock %}
-{% block subtext %}Here are some informations on how to develop the Salut à Toi project{% endblock %}
+{% block headline %}{% trans "Salut à Toi: contributing" %}{% endblock %}
+{% block subtext %}{% trans "Here are some informations on how to develop the Salut à Toi project" %}{% endblock %}
 {% block main_container %}
 <div class="row">
     <h4 class="alert alert-success">
-    Get the source
+    {% trans "Get the source" %}
     </h4>
     <div class="info">
-        <p>You'll find the mercurial repository of SàT on <a href="http://repos.goffi.org/sat">http://repos.goffi.org/sat</a>, satellite project are also available on <a href="http://repos.goffi.org">http://repos.goffi.org</a></p>
-        <p>To clone the repository, use <a href="http://mercurial.selenic.com/">Mercurial</a>: <code>hg clone http://repos.goffi.org/sat</code>. Check the wiki (see below) for installation instructions</p>
+        <p>{% blocktrans with repos_sat="<a href=\"http://repos.goffi.org/sat\">http://repos.goffi.org/sat</a>" repos="<a href=\"http://repos.goffi.org\">http://repos.goffi.org</a>" %}You'll find the mercurial repository of SàT on {{ repos_sat }}, satellite project are also available on {{ repos }}{% endblocktrans %}</p>
+        <p>{% blocktrans with mercurial="<a href=\"http://mercurial.selenic.com/\">Mercurial</a>" %}To clone the repository, use {{ mercurial }}: <code>hg clone http://repos.goffi.org/sat</code>. Check the wiki (see below) for installation instructions{% endblocktrans %}</p>
     </div>
 </div>
 
 <div class="row">
     <h4 class="alert alert-success">
-    Documentation
+    {% trans "Documentation" %}
     </h4>
     <div class="info">
-        <p>The documentation is available on the wiki: <a href="http://wiki.goffi.org/wiki/sat">http://wiki.goffi.org/wiki/sat</a> (don't hesitate to improve it)</p>
-        <p>You'll also find a dedicated page for developers: <a href="http://wiki.goffi.org/wiki/S%C3%A0T_d%C3%A9veloppement/en">http://wiki.goffi.org/wiki/SàT_développement</a></p>
-        <p>If you need help, you can also check the mailing list: <a href="http://lists.goffi.org">http://lists.goffi.org</a></p>
+        <p>{% blocktrans with wiki="<a href=\"http://wiki.goffi.org/wiki/sat\">http://wiki.goffi.org/wiki/sat</a>" %}The documentation is available on the wiki: {{ wiki }} (don't hesitate to improve it){% endblocktrans %}</p>
+        <p>{% blocktrans with developers_page="<a href=\"http://wiki.goffi.org/wiki/S%C3%A0T_d%C3%A9veloppement/en\">http://wiki.goffi.org/wiki/SàT_développement</a>" %}You'll also find a dedicated page for developers: {{ developers_page }}{% endblocktrans %}</p>
+        <p>{% blocktrans with mailing_list="<a href=\"http://lists.goffi.org\">http://lists.goffi.org</a>" %}If you need help, you can also check the mailing list: {{ mailing_list }}{% endblocktrans %}</p>
     </div>
     
 </div>
 
 <div class="row">
     <h4 class="alert alert-success">
-    Contact
+    {% trans "Contact" %}
     </h4>
     <div class="info">
-        <p>The best way to join us is on SàT's Jabber room: <a href="xmpp:sat@chat.jabberfr.org">sat@chat.jabberfr.org</a></p>
+        <p>{% blocktrans with sat_muc="<a href=\"xmpp:sat@chat.jabberfr.org\">sat@chat.jabberfr.org</a>" %}The best way to join us is on SàT's Jabber room: {{ sat_muc }}{% endblocktrans %}</p>
     </div>
 </div>
 {% endblock %}
--- a/templates/sat_website/features.html	Sun Jul 29 01:52:27 2012 +0200
+++ b/templates/sat_website/features.html	Mon Jul 30 02:09:38 2012 +0200
@@ -20,113 +20,114 @@
 along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
 {% endcomment %}
 
+{% load i18n %}
 {% load staticfiles %}
-{% block headline %}Salut à Toi's features{% endblock %}
-{% block subtext %}SàT is a feature rich XMPP client, here is a round up of them.{% endblock %}
-{% block extra %}<span class="label label-success">Click on the feature name to have a more detailed description</span>{% endblock %}
+{% block headline %}{% trans "Salut à Toi's features" %}{% endblock %}
+{% block subtext %}{% trans "SàT is a feature rich XMPP client, here is a round up of them." %}{% endblock %}
+{% block extra %}<span class="label label-success">{% trans "Click on the feature name to have a more detailed description" %}</span>{% endblock %}
 {% block main_container %}
 	<div class="row">
 		<div class="span2">
-			<a href="frontends">Multi-frontends</a>
+			<a href="frontends">{% trans "Multi-frontends" %}</a>
 		</div>
 		<div class="span7 feature">
-			SàT is multi-frontends: the heart of the software is independant from its view, that mean that you can have differents interfaces adapted to specifics usages.
+			{% blocktrans %}SàT is multi-frontends: the heart of the software is independant from its view, that mean that you can have differents interfaces adapted to specifics usages.{% endblocktrans %}
 		</div>
 	</div>
 	<div class="row">
 		<div class="span2">
-			<strong>Microblogging</strong>
+			<strong>{% trans "Microblogging" %}</strong>
 		</div>
 		<div class="span7 feature">
-			Share your thought either publicly and privatly (see below), thanks to the microblogging feature. With the decentralised nature of XMPP, you don't have to rely on one specific server, so you can stay master of your data, and avoir censorship.
+			{% blocktrans %}Share your thought either publicly and privatly (see below), thanks to the microblogging feature. With the decentralised nature of XMPP, you don't have to rely on one specific server, so you can stay master of your data, and avoir censorship.{% endblocktrans %}
 		</div>
 	</div>
 	<div class="row">
 		<div class="span2">
-			<strong>Group permissions</strong>
+			<strong>{% trans "Group permissions" %}</strong>
 		</div>
 		<div class="span7 feature">
-			Keep access to private data only for the people you choose. SàT use groups to manage your permissions, and avoid your coworker to see your party pictures.
+			{% blocktrans %}Keep access to private data only for the people you choose. SàT use groups to manage your permissions, and avoid your coworker to see your party pictures.{% endblocktrans %}
 		</div>
 	</div>
 	<div class="row">
 		<div class="span2">
-			<strong>Advanced chat and group chat</strong>
+			<strong>{% trans "Advanced chat and group chat" %}</strong>
 		</div>
 		<div class="span7 feature">
-			XMPP is one of the best (and probably the best) instant messaging protocole ever made. There are plenty of things you can do, far too much to detail everything here. In addition, you can join muli-user room, and discuss with tons of people.
+			{% blocktrans %}XMPP is one of the best (and probably the best) instant messaging protocole ever made. There are plenty of things you can do, far too much to detail everything here. In addition, you can join muli-user room, and discuss with tons of people.{% endblocktrans %}
 		</div>
 	</div>
 	<div class="row">
 		<div class="span2">
-			<strong>Heavy messaging</strong>
+			<strong>{% trans "Heavy messaging" %}</strong>
 		</div>
 		<div class="span7 feature">
-			With XMPP, you are not limited to chat or short messages: you have no size limit, and if you want to write essays or to highly detail your last holidays, you can.
+			{% blocktrans %}With XMPP, you are not limited to chat or short messages: you have no size limit, and if you want to write essays or to highly detail your last holidays, you can.{% endblocktrans %}
 		</div>
 	</div>
 	<div class="row">
 		<div class="span2">
-			<strong>Gateways</strong>
+			<strong>{% trans "Gateways" %}</strong>
 		</div>
 		<div class="span7 feature">
-			Communicate with other networks using different protocoles. with SàT and XMPP, you'll not stay behind closed walls;
+			{% blocktrans %}Communicate with other networks using different protocoles. with SàT and XMPP, you'll not stay behind closed walls.{% endblocktrans %}
 		</div>
 	</div>
 	<div class="row">
 		<div class="span2">
-			<strong>File sharing</strong>
+			<strong>{% trans "File sharing" %}</strong>
 		</div>
 		<div class="span7 feature">
-			Easily send file to your friends.
+			{% blocktrans %}Easily send file to your friends.{% endblocktrans %}
 		</div>
 	</div>
 	<div class="row">
 		<div class="span2">
-			<strong>Games</strong>
+			<strong>{% trans "Games" %}</strong>
 		</div>
 		<div class="span7 feature">
-			Play with your friends or other people
+			{% blocktrans %}Play with your friends or other people{% endblocktrans %}
 		</div>
 	</div>
 	<div class="row">
 		<div class="span2">
-			<strong>E-mail client interaction</strong>
+			<strong>{% trans "E-mail client interaction" %}</strong>
 		</div>
 		<div class="span7 feature">
-			Thanks to it's IMAP/SMTP plugin, you can use any e-mail client to communicate through SàT. Combinate this with the gateway feature, and you can send message with it to any network (including traditional e-mail netwwork). One of the goal of SàT is to allow easy transition to Jabber as an alternative to classical e-mail network, with a better protection to SPAM and identity spoofing.
+			{% blocktrans %}Thanks to it's IMAP/SMTP plugin, you can use any e-mail client to communicate through SàT. Combinate this with the gateway feature, and you can send message with it to any network (including traditional e-mail netwwork). One of the goal of SàT is to allow easy transition to Jabber as an alternative to classical e-mail network, with a better protection to SPAM and identity spoofing.{% endblocktrans %}
 		</div>
 	</div>
 	<div class="row">
 		<div class="span2">
-			<a href="http://www.goffi.org/post/2011/10/07/Shell%3A-pipe-you-commands-out-via-XMPP-with-S%C3%A0T">Pipe over XMPP</a>
+			{% blocktrans context "Url need to point to the localised one" %}<a href="http://www.goffi.org/post/2011/10/07/Shell%3A-pipe-you-commands-out-via-XMPP-with-S%C3%A0T">Pipe over XMPP</a>{% endblocktrans %}
 		</div>
 		<div class="span7 feature">
-			This is a feature for power-user: SàT allow to send command-line tools' stdout to your contacts. This actually is as easy as knowing the name of your contact.
+			{% blocktrans %}This is a feature for power-user: SàT allow to send command-line tools' stdout to your contacts. This actually is as easy as knowing the name of your contact.{% endblocktrans %}
 		</div>
 	</div>
 	<div class="row">
 		<div class="span2">
-			<a href="http://www.goffi.org/post/2012/02/02/Collective-radio-%28with-video%29">Collective radio</a>
+			{% blocktrans context "Url need to point to the localised one" %}<a href="http://www.goffi.org/post/2012/02/02/Collective-radio-%28with-video%29">Collective radio</a>{% endblocktrans %}
 		</div>
 		<div class="span7 feature">
-			Experiment music with your friends: in a multi-user room, you share a playlist; everybody can add songs to it, and everybody listen the same music at the same time. Good way to share your taste and discover new songs.
+			{% blocktrans %}Experiment music with your friends: in a multi-user room, you share a playlist; everybody can add songs to it, and everybody listen the same music at the same time. Good way to share your taste and discover new songs.{% endblocktrans %}
 		</div>
 	</div>
 	<div class="row">
 		<div class="span2">
-			<strong>Multi-platforms</strong>
+			<strong>{% trans "Multi-platforms" %}</strong>
 		</div>
 		<div class="span7 feature">
-			Since its begining, the SàT project was made with other platforms in mind. It's only avaible on Gnu/Linux so far (except of course Libervia, the web interface, which is available from every javascript powered browser), but other platforms are planed.
+			{% blocktrans %}Since its begining, the SàT project was made with other platforms in mind. It's only avaible on Gnu/Linux so far (except of course Libervia, the web interface, which is available from every javascript powered browser), but other platforms are planed.{% endblocktrans %}
 		</div>
 	</div>
 	<div class="row">
 		<div class="span2">
-			<a href="social_contract.html">Social contract</a>
+			<a href="social_contract.html">{% trans "Social contract" %}</a>
 		</div>
 		<div class="span7 feature">
-			Not exactly a feature, but certainly one of the most important point: a <a href="social_contract">social contract</a> has been written as a moral engagement around the project. SàT is not made for money or trap people, it's a project about freedom and sharing.
+			{% blocktrans with social_prefix="<a href=\"social_contract\">" social_suffix="</a>" %}Not exactly a feature, but certainly one of the most important point: a {{ social_prefix }}social contract{{ social_suffix }} has been written as a moral engagement around the project. SàT is not made for money or trap people, it's a project about freedom and sharing.{% endblocktrans %}
 		</div>
 	</div>
 
--- a/templates/sat_website/frontends.html	Sun Jul 29 01:52:27 2012 +0200
+++ b/templates/sat_website/frontends.html	Mon Jul 30 02:09:38 2012 +0200
@@ -20,19 +20,20 @@
 along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
 {% endcomment %}
 
+{% load i18n %}
 {% load staticfiles %}
-{% block headline %}Salut à Toi's frontends{% endblock %}
-{% block subtext %}SàT is multi-frontends: use the one that best fit your needs{% endblock %}
-{# {% block extra %}<span class="label label-success">Click on the frontend screenshot to have a more detailed description</span>{% endblock %} #}
+{% block headline %}{% trans "Salut à Toi's frontends" %}{% endblock %}
+{% block subtext %}{% trans "SàT is multi-frontends: use the one that best fit your needs" %}{% endblock %}
+{# {% block extra %}<span class="label label-success">{% trans "Click on the frontend screenshot to have a more detailed description" %}</span>{% endblock %} #}
 {% block main_container %}
 <div class="row">
 	<div class="span4">
-	<h1>Primitivus <small>the console interface</small></h1>
+	<h1>{% trans "Primitivus" %} <small>{% trans "the console interface" %}</small></h1>
 		<div class="row">
 			<ul class="thumbnails">
 				<li class="span4">
 					<a href="#" class="thumbnail">
-						<img src="{% static "images/screenshots/primitivus/primitivus_tarot.png" %}" alt="Primitivus showing a french Tarot play">
+						<img src="{% static "images/screenshots/primitivus/primitivus_tarot.png" %}" alt="{% trans "Primitivus showing a french Tarot play" %}">
 					</a>
 				</li>
 			</ul>
@@ -40,12 +41,12 @@
 	</div>
 	
 	<div class="span4">
-	<h1>Libervia <small>the web frontend</small></h1>
+	<h1>{% trans "Libervia" %} <small>{% trans "the web frontend" %}</small></h1>
 		<div class="row">
 			<ul class="thumbnails">
 				<li class="span4">
 					<a href="#" class="thumbnail">
-						<img src="{% static "images/screenshots/libervia/libervia_discussions.png" %}" alt="Libervia's main view">
+						<img src="{% static "images/screenshots/libervia/libervia_discussions.png" %}" alt="{% trans "Libervia's main view" %}">
 					</a>
 				</li>
 			</ul>
@@ -53,12 +54,12 @@
 	</div>
 	
 	<div class="span4">
-	<h1>Wix <small>desktop</small></h1>
+	<h1>{% trans "Wix" %} <small>{% trans "desktop" %}</small></h1>
 		<div class="row">
 			<ul class="thumbnails">
 				<li class="span4">
 					<a href="#" class="thumbnail">
-						<img src="{% static "images/screenshots/wix/wix_tarot.png" %}" alt="Wix showing a french Tarot play">
+						<img src="{% static "images/screenshots/wix/wix_tarot.png" %}" alt="{% trans "Wix showing a french Tarot play" %}">
 					</a>
 				</li>
 			</ul>
@@ -69,12 +70,12 @@
 
 <div class="row">
 	<div class="span4">
-	<h1>Jp <small>command line</small></h1>
+	<h1>{% trans "Jp" %} <small>{% trans "command line" %}</small></h1>
 		<div class="row">
 			<ul class="thumbnails">
 				<li class="span4">
 					<a href="#" class="thumbnail">
-						<img src="{% static "images/screenshots/jp/jp.png" %}" alt="cowsay on jp">
+						<img src="{% static "images/screenshots/jp/jp.png" %}" alt="{% trans "cowsay on jp" %}">
 					</a>
 				</li>
 			</ul>
@@ -83,13 +84,13 @@
 
 	<div class="span4">
 		<p id="bigmark">?</p>
-		<h3 id="bigmark_subtext">Your idea here</h3>
+		<h3 id="bigmark_subtext">{% trans "Your idea here" %}</h3>
 	</div>
 
 	<div class="span4">
-		<h1>Bellaciao <small>next gen desktop</small></h1>
-		<h4 class="wip">[WORK IN PROGRESS]</h4>
-		<p class="desc">Bellaciao is a new desktop frontend made with Qt (and the first non-python one: it's made with C++). It intend to be really flexible: you'll be able to adapt it to your taste. Bellaciao is made with modern features in mind: it not only concentrate on instant messaging, but also integrate things like microblogging or file sharing.</p>
+		<h1>{% trans "Bellaciao" %} <small>{% trans "next gen desktop" %}</small></h1>
+		<h4 class="wip">{% trans "[WORK IN PROGRESS]" %}</h4>
+		<p class="desc">{% blocktrans %}Bellaciao is a new desktop frontend made with Qt (and the first non-python one: it's made with C++). It intend to be really flexible: you'll be able to adapt it to your taste. Bellaciao is made with modern features in mind: it not only concentrate on instant messaging, but also integrate things like microblogging or file sharing.{% endblocktrans %}</p>
 	</div>
 </div>
 
--- a/templates/sat_website/overview.html	Sun Jul 29 01:52:27 2012 +0200
+++ b/templates/sat_website/overview.html	Mon Jul 30 02:09:38 2012 +0200
@@ -20,61 +20,60 @@
 along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
 {% endcomment %}
 
-	{% load staticfiles %}
-	{% block content %}
+{% load i18n %}
+{% load staticfiles %}
+
+    {% block content %}
 	<div class="container">
 		<div class="hero-unit">
 				<h1><img id="overview_logo" src="{% static "images/sat_logo_128.png" %}" >Salut à Toi</h1>
-				<h2>The multi-frontends multi-purposes communication tool</h2>
-				<p>Libre, Decentralised, Standard and Federated</p>
+				<h2>{% blocktrans %}The multi-frontends multi-purposes communication tool{% endblocktrans %}</h2>
+				<p>{% blocktrans %}Libre, Decentralised, Standard and Federated{% endblocktrans %}</p>
 		</div>
 		<div class="row">
 			<div class="span6">
-				<h1>Multi-frontends</h1>
-				SàT can be used with <a href="frontends.html">different interfaces</a>, the heart of the software is independent. That mean that you can use SàT:
+				<h1>{% trans "Multi-frontends" %}</h1>
+				{% blocktrans with frontends_prefix="<a href=\"frontends.html\">" frontends_suffix="</a>"%}SàT can be used with {{ frontends_prefix }}different interfaces{{ frontends_suffix }}, the heart of the software is independent. That mean that you can use SàT:{% endblocktrans %}
 				<ul>
-					<li>with a browser though the <strong>web</strong> interface</li>
-					<li>on your <strong>desktop</strong>, with the power of a native, integrated application</li>
-					<li>inside a <strong>console</strong> user interface</li>
-					<li>through a <strong>command line</strong></li> 
-					<li>other frontends are planed (e.g.: small screens), and it's always possible to adapt one to fit your needs</li>
+					<li>{% blocktrans %}with a browser though the <strong>web</strong> interface{% endblocktrans %}</li>
+					<li>{% blocktrans %}on your <strong>desktop</strong>, with the power of a native, integrated application{% endblocktrans %}</li>
+					<li>{% blocktrans %}inside a <strong>console</strong> user interface{% endblocktrans %}</li>
+					<li>{% blocktrans %}through a <strong>command line</strong>{% endblocktrans %}</li> 
+					<li>{% blocktrans %}other frontends are planed (e.g.: small screens), and it's always possible to adapt one to fit your needs{% endblocktrans %}</li>
 				</ul>
 			</div>
 			<div class="span6">
-				<h1>Multi-purposes</h1>
-				Based on the powerful  <abbr title="eXtensible Messaging and Presence Protocol">XMPP</abbr> standard, SàT can do instant messaging of course, but also many other things (and still counting). Here are some of the <a href="features.html">features</a>:
+				<h1>{% trans "Multi-purposes" %}</h1>
+				{% blocktrans with xmpp="<abbr title=\"eXtensible Messaging and Presence Protocol\">XMPP</abbr>" features_prefix="<a href=\"features.html\">" features_suffix="</a>" %} Based on the powerful  {{ xmpp }} standard, SàT can do instant messaging of course, but also many other things (and still counting). Here are some of the {{ features_prefix }}features{{ features_suffix }}:{% endblocktrans %}
 				<ul>
-					<li>Microblogging: share your thoughts instantaneously</li>
-					<li>Group permissions: share what you want with only the people you want</li>
-					<li>File Sharing</li>
-					<li>Games</li>
-					<li>Interaction with other networks: talk to your friends on IRC, StatusNet, other XMPP networks, or potentially any network</li>
-					<li>Email client access: connect directly with any email client (<abbr title="Mail User Agent">MUA</abbr>) like KMail or Thunderbird, and send message on any supported network</li>
-					<li>and many, many other features (it's extensible !)</li>
+					<li>{% blocktrans %}Microblogging: share your thoughts instantaneously{% endblocktrans %}</li>
+					<li>{% blocktrans %}Group permissions: share what you want with only the people you want{% endblocktrans %}</li>
+					<li>{% blocktrans %}File Sharing{% endblocktrans %}</li>
+					<li>{% blocktrans %}Games{% endblocktrans %}</li>
+					<li>{% blocktrans %}Interaction with other networks: talk to your friends on IRC, StatusNet, other XMPP networks, or potentially any network{% endblocktrans %}</li>
+					<li>{% blocktrans with mua="<abbr title=\"Mail User Agent\">MUA</abbr>" %}Email client access: connect directly with any email client ({{ mua }}) like KMail or Thunderbird, and send message on any supported network{% endblocktrans %}</li>
+					<li>{% blocktrans %}and many, many other features (it's extensible !){% endblocktrans %}</li>
 				</ul>
 			</div>
 		</div>
 		<div class="row">
 			<div class="span3">
-				<h1>Libre</h1>
-				Salut à Toi is Libre (free as in freedom), that means that it follow the free software philosophy, not only because it's the best way to develop a software, but also for the share and freedom spirit.<br>
-				In addition, Salut à Toi follow a <strong>social contract</strong>: a moral engagment with the user. 
+				<h1>{% trans "Libre" %}</h1>
+				{% blocktrans %}Salut à Toi is Libre (free as in freedom), that means that it follow the free software philosophy, not only because it's the best way to develop a software, but also for the share and freedom spirit.{% endblocktrans %}<br>
+				{% blocktrans %}In addition, Salut à Toi follow a <strong>social contract</strong>: a moral engagment with the user.{% endblocktrans %} 
 			</div>
 			<div class="span3">
-				<h1>Decentralised</h1>
-				By being based on <abbr title="eXtensible Messaging and Presence Protocol">XMPP</abbr>, SàT is naturally decentralised. That mean that there is not one big server somewhere where all the data are staying. That's the only good way to fight against censorship, and to keep control of your data (you don't want to have your private pictures or intimate messages to be in the hands of an untrusted commercial company, do you ?).
+				<h1>{% trans "Decentralised" %}</h1>
+				{% blocktrans with xmpp="<abbr title=\"eXtensible Messaging and Presence Protocol\">XMPP</abbr>" %}By being based on {{ xmpp }} SàT is naturally decentralised. That mean that there is not one big server somewhere where all the data are staying. That's the only good way to fight against censorship, and to keep control of your data (you don't want to have your private pictures or intimate messages to be in the hands of an untrusted commercial company, do you ?).{% endblocktrans %}
 			</div>
 			<div class="span3">
-				<h1>Standard</h1>
-				Using a standard protocol is a key point: it's robust, widely used and tested, well documented. Every change is discussed publicly, there are debates on the best way to do things, and the <abbr title="XMPP Standards Foundation">XSF</abbr> is the guarantor of the evolution and stability of the protocol. That means that SàT can communicate easily with other <abbr title="eXtensible Messaging and Presence Protocol">XMPP</abbr> projects: the way it "talk" to others is fully documented.
+				<h1>{% trans "Standard" %}</h1>
+				{% blocktrans with xsf="<abbr title=\"XMPP Standards Foundation\">XSF</abbr>" xmpp="<abbr title=\"eXtensible Messaging and Presence Protocol\">XMPP</abbr>" %}Using a standard protocol is a key point: it's robust, widely used and tested, well documented. Every change is discussed publicly, there are debates on the best way to do things, and the {{ xsf }} is the guarantor of the evolution and stability of the protocol. That means that SàT can communicate easily with other {{xmpp}} projects: the way it "talk" to others is fully documented.{% endblocktrans %}
 			</div>
 			<div class="span3">
-				<h1>Federated</h1>
-				Federation means that SàT is open to the world: it can communicate on the global Jabber network. You can of course make your own private network if you wants, but with SàT you have the ability to send messages to somebody on an other server, using a different client. That's at the opposite of some proprietary and commercial networks which tend to lock their users up. Open your borders&nbsp;! 
-				
+				<h1>{% trans "Federated" %}</h1>
+				{% blocktrans %}Federation means that SàT is open to the world: it can communicate on the global Jabber network. You can of course make your own private network if you wants, but with SàT you have the ability to send messages to somebody on an other server, using a different client. That's at the opposite of some proprietary and commercial networks which tend to lock their users up. Open your borders&nbsp;!{% endblocktrans %} 
 			</div>
-			
 		</div>
-		
 	</div>
 {% endblock %}
--- a/templates/sat_website/screenshots.html	Sun Jul 29 01:52:27 2012 +0200
+++ b/templates/sat_website/screenshots.html	Mon Jul 30 02:09:38 2012 +0200
@@ -20,18 +20,19 @@
 along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
 {% endcomment %}
 
+{% load i18n %}
 {% load staticfiles %}
 {% load partition %}
 
-{% block headline %}Some screenshots...{% endblock %}
+{% block headline %}{% trans "Some screenshots..." %}{% endblock %}
 {% block extra %}
     <div class="btn-group">
-        <a class="btn btn-info" href="#screenshots">screenshots</a>
-        <a class="btn btn-primary" href="#screencasts">screencasts</a>
+        <a class="btn btn-info" href="#screenshots">{% trans "screenshots" %}</a>
+        <a class="btn btn-primary" href="#screencasts">{% trans "screencasts" %}</a>
     </div>
 {% endblock %}
 {% block main_container %}
-<a name="screenshots"><h2>Screenshots</h2></a>
+<a name="screenshots"><h2>{% trans "Screenshots" %}</h2></a>
     <div class="row">
     {% for row in screenshots|columns:3 %}
         <ul class="thumbnails">
@@ -49,13 +50,13 @@
         </ul>
     {% endfor %}
     </div>
-<a name="screencasts"><h2>Screencasts</h2></a>
+<a name="{% trans "screencasts" %}"><h2>{% trans "Screencasts" %}</h2></a>
     {% for screencast in screencasts %}
         <div class="row">
             <div class="span10 offset1">
                 <div class="screencast">
                     <video width="640" height="400" poster="{% static screencast.poster %}" controls="controls" src="{% static screencast.path %}" preload="none">
-                        Your browser doesn't manage the « video » tag, you should update, e.g. with the last <a href="http://www.mozilla-europe.org/fr/">Firefox</a>
+                        {% blocktrans with firefox="<a href=\"http://www.mozilla-europe.org/fr/\">Firefox</a>" %}Your browser doesn't manage the « video » tag, you should update, e.g. with the last {{ firefox }}{% endblocktrans %}
                     </video>
                 </div>
                  <div class="screencast_dest">
--- a/templates/sat_website/social_contract.html	Sun Jul 29 01:52:27 2012 +0200
+++ b/templates/sat_website/social_contract.html	Mon Jul 30 02:09:38 2012 +0200
@@ -20,9 +20,10 @@
 along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
 {% endcomment %}
 
+{% load i18n %}
 {% load staticfiles %}
 {% load markup %}
-{% block headline %}Salut à Toi's social contract{% endblock %}
+{% block headline %}{% trans "Salut à Toi's social contract" %}{% endblock %}
 {% block main_container %}
 <div class="row">
     <div class="span8 offset2">