From 45ba2d4c35b6b4ca4cbbc3904779597e1b85d3d3 Mon Sep 17 00:00:00 2001
From: Dominik Pfennig <dominik@suma-ev.de>
Date: Fri, 16 Sep 2016 11:47:41 +0200
Subject: [PATCH] =?UTF-8?q?Texte=20auf=20der=20Edit=20Seite=20des=20Sprach?=
 =?UTF-8?q?tools=20in=20eine=20Sprachdatei=20ausgelagert.=20regex=20um=20V?=
 =?UTF-8?q?ariablennamen=20in=20der=20=C3=9Cbersetzung=20zu=20erkennen=20v?=
 =?UTF-8?q?erfeinert?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/Http/Controllers/LanguageController.php |  4 +--
 resources/lang/de/languages.php             |  6 ++++
 resources/lang/de/titles.php                | 32 +++++++++++----------
 resources/views/languages/edit.blade.php    | 14 ++++-----
 4 files changed, 32 insertions(+), 24 deletions(-)

diff --git a/app/Http/Controllers/LanguageController.php b/app/Http/Controllers/LanguageController.php
index 7e5f1dbd2..7aa5db2cb 100644
--- a/app/Http/Controllers/LanguageController.php
+++ b/app/Http/Controllers/LanguageController.php
@@ -178,8 +178,8 @@ class LanguageController extends Controller
             if ($langTexts !== "") {
                 foreach ($langTexts as $lang => $text) {
                     if ($lang !== $to) {
-                        if (preg_match("/\s:\S+/si", $text)) {
-                            $t[$key][$lang] = preg_replace("/(\s)(:\S+)/si", "$1<a class=\"text-danger hint\" data-toggle=\"tooltip\" data-trigger=\"hover\" data-placement=\"auto\" title=\"Dies ist ein Variablenname. Er wird dort, wo der Text verwendet wird durch einen dynamischen Wert ersetzt. In der Ãœbersetzung sollte dieser deshalb auch so wie er ist in den Satz integriert werden.\" data-container=\"body\" >$2</a>", $text);
+                        if (preg_match("/:\w+/si", $text)) {
+                            $t[$key][$lang] = preg_replace("/(:\w+)/si", "<a class=\"text-danger hint\" data-toggle=\"tooltip\" data-trigger=\"hover\" data-placement=\"auto\" title=\"Dies ist ein Variablenname. Er wird dort, wo der Text verwendet wird durch einen dynamischen Wert ersetzt. In der Ãœbersetzung sollte dieser deshalb auch so wie er ist in den Satz integriert werden.\" data-container=\"body\" >$1</a>", $text);
                         }
                         if (preg_match("/&lt;.*?&gt;/si", $text)) {
                             $t[$key][$lang] = preg_replace("/(&lt;.*?&gt;)/si", "<a class=\"text-danger hint\" data-toggle=\"tooltip\" data-trigger=\"hover\" data-placement=\"auto\" title=\"Dies ist ein sogenanntes HTML-Tag. Wenn Sie sich das zutrauen, bauen Sie diese HTML Tags gerne so wie sie sind in Ihre Ãœbersetzung ein. Achten Sie hierbei darauf, dass der Text zwischen den Tags auch bei der Ãœbersetzung an der logisch gleichen Stelle von den Tags umfasst ist.\" data-container=\"body\" >$1</a>", $text);
diff --git a/resources/lang/de/languages.php b/resources/lang/de/languages.php
index b62512838..74e89d7a5 100644
--- a/resources/lang/de/languages.php
+++ b/resources/lang/de/languages.php
@@ -1,4 +1,10 @@
 <?php
 
 return [
+    'header'         => 'MetaGer - Ãœbersetzungen',
+    'beschreibung.1' => 'Vielen Dank, dass du erwägst MetaGer bei der Übersetzung seiner Texte zu unterstützen. Dir wird im unteren Bereich eine Datei und tabellarisch die dazugehörigen Texte angezeigt. Das Feld "#ID" dient dabei nur der Orientierung und ist für die Übersetzung unwichtig. In der nächsten Spalte findest du entweder Texte der Sprache für die uns einige Übersetzungen fehlen, oder aber ein Textfeld. Wird hier für eine Reihe ein Textfeld angezeigt, so fehlen uns die Texte in der angegebenen Sprache.',
+    'beschreibung.2' => 'Du kannst uns unterstützen, indem du dir die Referenztexte in den folgenden Spalten (rechts daneben) ansiehst und nach Möglichkeit eine Übersetzung in der gesuchten Sprache in das Textfeld einträgst.',
+    'progress'       => ':uebersetzteTexte/:textCount Texten übersetzt (:percentage%)',
+    'hinweis.1'      => 'Sobald du mit deinen Texten zufrieden bist, kannst du uns diese mit einem Klick auf folgenden Knopf automatisch zusenden. Wenn es mehr fehlende Texte in der angegebenen Sprache gibt, wird dein Browser dich danach direkt zu diesen leiten.',
+    'hinweis.2'      => '<b>Hinweis</b>: Die übermittelten Texte werden von diesem Tool erst erkannt, sobald diese von uns gesichtet und eingefügt wurden. Wenn du deine Arbeit sichern möchtest um diese zu einem späteren Zeitpunkt fortzusetzen (auch wenn wir deine bisherige Arbeit noch nicht übernehmen konnten), so reicht es vollkommen, den aktuellen Link aus deiner Browserleiste zu kopieren und zu einem späteren Zeitpunkt wieder aufzurufen.',
 ];
diff --git a/resources/lang/de/titles.php b/resources/lang/de/titles.php
index d9b8baf76..1f26e8149 100644
--- a/resources/lang/de/titles.php
+++ b/resources/lang/de/titles.php
@@ -1,19 +1,21 @@
 <?php
 
 return [
-    'index'        => 'MetaGer: Sicher suchen & finden, Privatsphäre schützen',
-    'impressum'    => 'Impressum - MetaGer',
-    'about'        => 'Ãœber Uns - MetaGer',
-    'team'         => 'Team - MetaGer',
-    'kontakt'      => 'Kontakt - MetaGer',
-    'spende'       => 'Spenden - MetaGer',
-    'datenschutz'  => 'Datenschutz und Privatsphäre - MetaGer',
-    'hilfe'        => 'Hilfe - MetaGer',
-    'widget'       => 'MetaGer Widget',
-    'settings'     => 'Einstellungen',
-    'websearch'    => 'Websuche-Widget - MetaGer',
-    'sitesearch'   => 'Sitesearch-Widget - MetaGer',
-    'beitritt'     => 'SUMA-EV Beitrittsformular',
-    'faq'          => 'FAQ - MetaGer',
-    'partnershops' => 'Partnershops - MetaGer',
+    'index'          => 'MetaGer: Sicher suchen & finden, Privatsphäre schützen',
+    'impressum'      => 'Impressum - MetaGer',
+    'about'          => 'Ãœber Uns - MetaGer',
+    'team'           => 'Team - MetaGer',
+    'kontakt'        => 'Kontakt - MetaGer',
+    'spende'         => 'Spenden - MetaGer',
+    'datenschutz'    => 'Datenschutz und Privatsphäre - MetaGer',
+    'hilfe'          => 'Hilfe - MetaGer',
+    'widget'         => 'MetaGer Widget',
+    'settings'       => 'Einstellungen',
+    'websearch'      => 'Websuche-Widget - MetaGer',
+    'sitesearch'     => 'Sitesearch-Widget - MetaGer',
+    'beitritt'       => 'SUMA-EV Beitrittsformular',
+    'faq'            => 'FAQ - MetaGer',
+    'partnershops'   => 'Partnershops - MetaGer',
+    'languages'      => 'Ãœbersetzungstool - MetaGer',
+    'languages.edit' => 'Sprachdateien bearbeiten - MetaGer',
 ];
diff --git a/resources/views/languages/edit.blade.php b/resources/views/languages/edit.blade.php
index 3ccc1d953..f31918f2b 100644
--- a/resources/views/languages/edit.blade.php
+++ b/resources/views/languages/edit.blade.php
@@ -3,13 +3,13 @@
 @section('title', $title )
 
 @section('content')
-<h1>MetaGer - Ãœbersetzungen</h1>
-<p>Vielen Dank, dass du erwägst MetaGer bei der Übersetzung seiner Texte zu unterstützen. Dir wird im unteren Bereich eine Datei und tabellarisch die dazugehörigen Texte angezeigt. Das Feld "#ID" dient dabei nur der Orientierung und ist für die Übersetzung unwichtig.
-In der nächsten Spalte findest du entweder Texte der Sprache für die uns einige Übersetzungen fehlen, oder aber ein Textfeld. Wird hier für eine Reihe ein Textfeld angezeigt, so fehlen uns die Texte in der angegebenen Sprache.</p>
-<p>Du kannst uns unterstützen, indem du dir die Referenztexte in den folgenden Spalten (rechts daneben) ansiehst und nach Möglichkeit eine Übersetzung in der gesuchten Sprache in das Textfeld einträgst.</p>
+<h1>{{ trans('languages.header') }}</h1>
+<p>{{ trans('languages.beschreibung.1') }}</p>
+<p>{{ trans('languages.beschreibung.2') }}</p>
 <div class="progress">
   <div class="progress-bar progress-bar-success progress-bar-striped" role="progressbar" aria-valuenow="{{ round(100 * (($langTexts[$to]+$new) / count($sum))) }}" aria-valuemin="0" aria-valuemax="100" style="width: {{ round(100 * (($langTexts[$to]+$new) / count($sum))) }}%">
-  {{ ($langTexts[$to]+$new) . "/" . count($sum) . " Texten übersetzt (" . round(100 * (($langTexts[$to]+$new) / count($sum))) . "%)"}}
+  {{ trans('languages.progress', ['uebersetzteTexte'=> ($langTexts[$to]+$new), 'textCount'=>count($sum), 'percentage'=>round(100 * (($langTexts[$to]+$new) / count($sum)))]) }}
+
   </div>
 </div>
 <h1>{{$filename}}</h1>
@@ -47,7 +47,7 @@ In der nächsten Spalte findest du entweder Texte der Sprache für die uns einig
 		@endforeach
 	</tbody>
 </table>
-<p>Sobald du mit deinen Texten zufrieden bist, kannst du uns diese mit einem Klick auf folgenden Knopf automatisch zusenden. Wenn es mehr fehlende Texte in der angegebenen Sprache gibt, wird dein Browser dich danach direkt zu diesen leiten.</p>
-<p><b>Hinweis</b>: Die übermittelten Texte werden von diesem Tool erst erkannt, sobald diese von uns gesichtet und eingefügt wurden. Wenn du deine Arbeit sichern möchtest um diese zu einem späteren Zeitpunkt fortzusetzen (auch wenn wir deine bisherige Arbeit noch nicht übernehmen konnten), so reicht es vollkommen, den aktuellen Link aus deiner Browserleiste zu kopieren und zu einem späteren Zeitpunkt wieder aufzurufen.</p>
+<p>{{ trans('languages.hinweis.1') }}</p>
+<p>{!! trans('languages.hinweis.2') !!}</p>
 <button class="btn btn-success" type="submit" form="submit">Daten übermitteln</button>
 @endsection
-- 
GitLab