Add translateability

This commit is contained in:
Tim Schumacher 2013-09-19 14:58:27 +02:00
parent b017306382
commit f687ce8e1e
4 changed files with 121 additions and 21 deletions

View file

@ -1,6 +1,8 @@
<?php
require 'vendor/autoload.php';
use Symfony\Component\HttpFoundation\Request;
$app = new Silex\Application();
$app['debug'] = true;
@ -9,15 +11,26 @@ $app->register(new Silex\Provider\TwigServiceProvider(), array(
'twig.path' => __DIR__.'/templates',
));
$app->get('/', function () use ($app) {
return $app['twig']->render('index.twig', array(
));
$app->register(new Silex\Provider\TranslationServiceProvider(), array(
'locale_fallback' => 'de',
));
$app['translator'] = $app->share($app->extend('translator', function($translator, $app) {
$translator->addResource('xliff', __DIR__.'/locales/de.xml', 'de');
$translator->addResource('xliff', __DIR__.'/locales/en.xml', 'en');
return $translator;
}));
$app->before(function(Request $request) use ($app){
$lang = $request->getPreferredLanguage(array('en', 'de'));
$app['translator']->setLocale($lang);
});
$app->post('/', function () use ($app) {
return $app['twig']->render('index.twig', array(
$app->get('/', function (Request $request) use ($app) {
return $app['twig']->render('registration_form.twig', array(
'errors' => array(),
));
});
$app->run();

72
locales/de.xml Normal file
View file

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2
xliff-core-1.2-transitional.xsd"
version="1.2">
<file source-language="de" datatype="plaintext" original="file.ext">
<body>
<trans-unit id="1">
<source>Ein XMPP-Konto registrieren</source>
</trans-unit>
<trans-unit id="2">
<source>Bitte behebe folgende Fehler bevor du weiter machen kannst</source>
</trans-unit>
<trans-unit id="3">
<source>Benutzername</source>
</trans-unit>
<trans-unit id="4">
<source>Gib hier deinen gewünschten Benutzernamen ein.</source>
</trans-unit>
<trans-unit id="5">
<source>Server</source>
</trans-unit>
<trans-unit id="6">
<source>Wähle hier einen Servernamen aus. Deine XMPP-ID ist dann &lt;span class="xmpp-id-preview"&gt;Benutzername@Servername&lt;/span&gt;</source>
</trans-unit>
<trans-unit id="7">
<source>E-Mail-Adresse</source>
</trans-unit>
<trans-unit id="8">
<source>Gib hier eine gültige E-Mail-Adresse ein. Die Adresse wird benutzt um dir einen Validierungscode zu schicken, sie wird nicht gespeichert.</source>
</trans-unit>
<trans-unit id="9">
<source>Passwort</source>
</trans-unit>
<trans-unit id="10">
<source>Bitte wähle ein starkes Passwort. Also mindestens 8, besser 12 oder mehr Zeichen mit einer möglichst großen Variation aus Klein- und Großbuchstaben, Zahlen und Sonderzeichen.</source>
</trans-unit>
<trans-unit id="11">
<source>Passwortwiederholung</source>
</trans-unit>
<trans-unit id="12">
<source>Bitte wiederhole hier dein gewähltes Passwort um sicherzustellen, dass du dich auch nicht vertippt hast.</source>
</trans-unit>
<trans-unit id="13">
<source>Absenden</source>
</trans-unit>
<trans-unit id="14">
<source>Abbrechen</source>
</trans-unit>
<trans-unit id="15">
<source>Kein Benutzername angegeben.</source>
</trans-unit>
<trans-unit id="16">
<source>Keinen Hostnamen angegeben.</source>
</trans-unit>
<trans-unit id="17">
<source>Keine E-Mail-Adresse angegeben.</source>
</trans-unit>
<trans-unit id="18">
<source>Keine gültige E-Mail-Adresse angegeben.</source>
</trans-unit>
<trans-unit id="19">
<source>Kein Passwort angegeben.</source>
</trans-unit>
<trans-unit id="20">
<source>Bitte gebe in den Feldern Passwort und Passwortwiederholung identische Werte ein.</source>
</trans-unit>
</body>
</file>
</xliff>

16
locales/en.xml Normal file
View file

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2
xliff-core-1.2-transitional.xsd"
version="1.2">
<file source-language="de" datatype="plaintext" original="file.ext">
<body>
<trans-unit id="1">
<source>Ein XMPP-Konto registrieren</source>
<target>Register an xmpp account</target>
</trans-unit>
</body>
</file>
</xliff>

View file

@ -6,7 +6,7 @@
<meta name="description" content="">
<meta name="author" content="">
<title>Ein XMPP-Konto registrieren</title>
<title>{% trans %}Ein XMPP-Konto registrieren{% endtrans %}</title>
<!-- Bootstrap core CSS -->
<link href="css/bootstrap.min.css" rel="stylesheet">
@ -19,53 +19,53 @@
<fieldset>
<!-- Form Name -->
<legend>Ein XMPP-Konto registrieren</legend>
<legend>{% trans %}Ein XMPP-Konto registrieren{% endtrans %}</legend>
<!-- Text input-->
<div class="control-group">
<label class="control-label" for="username">Benutzername</label>
<label class="control-label" for="username">{% trans %}Benutzername{% endtrans %}</label>
<div class="controls">
<input id="username" name="username" placeholder="bernd" class="input-xlarge" required="" type="text">
<p class="help-block">Gib hier deinen gewünschten Benutzernamen ein.</p>
<p class="help-block">{% trans %}Gib hier deinen gewünschten Benutzernamen ein.{% endtrans %}</p>
</div>
</div>
<!-- Select Basic -->
<div class="control-group">
<label class="control-label" for="host">Server</label>
<label class="control-label" for="host">{% trans %}Server{% endtrans %}</label>
<div class="controls">
<select id="host" name="host" class="input-xlarge" required="">
<option></option>
<option>krautspace.de</option>
</select>
<p class="help-block">Wähle hier einen Servernamen aus. Deine XMPP-ID ist dann <span class="xmpp-id-preview">Benutzername@Servername</span></p>
<p class="help-block">{% trans %}Wähle hier einen Servernamen aus. Deine XMPP-ID ist dann <span class="xmpp-id-preview">Benutzername@Servername</span>{% endtrans %}</p>
</div>
</div>
<!-- Text input-->
<div class="control-group">
<label class="control-label" for="mail">E-Mail-Adresse</label>
<label class="control-label" for="mail">{% trans %}E-Mail-Adresse{% endtrans %}</label>
<div class="controls">
<input id="mail" name="mail" placeholder="bernd@example.com" class="input-xlarge" required="" type="text">
<p class="help-block">Gib hier eine gültige E-Mail-Adresse ein. Die Adresse wird benutzt um dir einen Validierungscode zu schicken, sie wird nicht gespeichert.</p>
<p class="help-block">{% trans %}Gib hier eine gültige E-Mail-Adresse ein. Die Adresse wird benutzt um dir einen Validierungscode zu schicken, sie wird nicht gespeichert.{% endtrans %}</p>
</div>
</div>
<!-- Password input-->
<div class="control-group">
<label class="control-label" for="password">Passwort:</label>
<label class="control-label" for="password">{% trans %}Passwort{% endtrans %}:</label>
<div class="controls">
<input id="password" name="password" placeholder="" class="input-xlarge" required="" type="password">
<p class="help-block">Bitte wähle ein starkes Passwort. Also mindestens 8, besser 12 oder mehr Zeichen mit einer möglichst großen Variation aus Klein- und Großbuchstaben, Zahlen und Sonderzeichen.</p>
<p class="help-block">{% trans %}Bitte wähle ein starkes Passwort. Also mindestens 8, besser 12 oder mehr Zeichen mit einer möglichst großen Variation aus Klein- und Großbuchstaben, Zahlen und Sonderzeichen.{% endtrans %}</p>
</div>
</div>
<!-- Password input-->
<div class="control-group">
<label class="control-label" for="password_repeat">Passwortwiederholung</label>
<label class="control-label" for="password_repeat">{% trans %}Passwortwiederholung{% endtrans %}</label>
<div class="controls">
<input id="password_repeat" name="password_repeat" placeholder="" class="input-xlarge" required="" type="password">
<p class="help-block">Bitte wiederhole hier dein gewähltes Passwort um sicherzustellen, dass du dich auch nicht vertippt hast.</p>
<p class="help-block">{% trans %}Bitte wiederhole hier dein gewähltes Passwort um sicherzustellen, dass du dich auch nicht vertippt hast.{% endtrans %}</p>
</div>
</div>
@ -73,8 +73,8 @@
<div class="control-group">
<label class="control-label" for="submit"></label>
<div class="controls">
<button id="submit" name="submit" class="btn btn-success">Submit</button>
<button id="cancel" name="cancel" class="btn btn-danger">Abbrechen</button>
<button id="submit" name="submit" class="btn btn-success">{% trans %}Absenden{% endtrans %}</button>
<button id="cancel" name="cancel" class="btn btn-danger">{% trans %}Abbrechen{% endtrans %}</button>
</div>
</div>
@ -83,4 +83,3 @@
</div>
</body>
</html>