diff options
author | Birte Kristina Friesel <derf@finalrewind.org> | 2023-10-29 13:34:43 +0100 |
---|---|---|
committer | Birte Kristina Friesel <derf@finalrewind.org> | 2023-10-29 13:34:43 +0100 |
commit | 662693f26be2fe67fe59335b2c863f257120bf41 (patch) | |
tree | d93a95b141d73964c7fc00bfdde2abc89567859b /templates | |
parent | ece34fe0815ef85db0c3a775d74625607aa65e25 (diff) |
add english version of landing page and main menu
Diffstat (limited to 'templates')
-rw-r--r-- | templates/landingpage.html.ep | 32 | ||||
-rw-r--r-- | templates/layouts/app.html.ep | 115 |
2 files changed, 90 insertions, 57 deletions
diff --git a/templates/landingpage.html.ep b/templates/landingpage.html.ep index 4913586..0a977a8 100644 --- a/templates/landingpage.html.ep +++ b/templates/landingpage.html.ep @@ -1,18 +1,30 @@ % if (stash 'show_intro') { <div class="container"> -<p> - DBF ist ein inoffizieller Abfahrtsmonitor für den Regional- und Fernverkehr mit dem Ziel, Daten aus verschiedenen Quellen übersichtlich zusammenzutragen. - Der Fokus liegt auf Zügen im Netz der Deutschen Bahn; eingeschränkte Unterstützung für Nahverkehr und Züge in anderen Netzen lässt sich optional zuschalten. -</p> -<p> - Diese Seite ist ein kostenfreies, privat betriebenes Projekt ohne - Verfügbarkeitsgarantie. Alle Angaben ohne Gewähr. -</p> +% if (languages() =~ m{^en}) { + <p> + DBF is an unofficial departure monitor for regional and long-distance trains within Germany, aiming to combine multiple data sources in a useful manner. + It also has limited support for local transit and traffic outside of Germany. + </p> + <p> + This site is operated by a private entity in a not-for-profit manner. + There are no uptime or reliability guarantees whatsoever. + </p> +% } +% else { + <p> + DBF ist ein inoffizieller Abfahrtsmonitor für den Regional- und Fernverkehr mit dem Ziel, Daten aus verschiedenen Quellen übersichtlich zusammenzutragen. + Der Fokus liegt auf Zügen im Netz der Deutschen Bahn; eingeschränkte Unterstützung für Nahverkehr und Züge in anderen Netzen lässt sich optional zuschalten. + </p> + <p> + Diese Seite ist ein kostenfreies, privat betriebenes Projekt ohne Verfügbarkeitsgarantie. + Alle Angaben ohne Gewähr. + </p> +% } <p class="geolink"> -<a class="button" href="<%= url_for('_autostop')->to_abs->scheme('https') %>">Stationen in der Umgebung suchen</a> +<a class="button" href="<%= url_for('_autostop')->to_abs->scheme('https') %>"><%= l 'Stationen in der Umgebung suchen' %></a> </p> <p> -Oder hier angeben: +%= l 'Oder hier angeben:' </p> </div> % } diff --git a/templates/layouts/app.html.ep b/templates/layouts/app.html.ep index 51aded6..1795471 100644 --- a/templates/layouts/app.html.ep +++ b/templates/layouts/app.html.ep @@ -111,8 +111,8 @@ </div> % } % elsif (stash('stationlist')) { -<div class="error"><strong>Mehrdeutige Eingabe.</strong> -Bitte eine Station aus der Liste auswählen</div> +<div class="error"><strong><%= l 'Mehrdeutige Eingabe' %>.</strong> +<%= l 'Bitte eine Station aus der Liste auswählen' %></div> % } </div> @@ -128,35 +128,35 @@ Bitte eine Station aus der Liste auswählen</div> %= form_for _redirect => begin <div> <div class="field"> - <div class="desc">Zug / Station</div> + <div class="desc"><%= l 'Zug / Station' %></div> <div> % if (stash('stationlist')) { %= select_field input => stash('stationlist') % } % elsif (stash('input')) { - %= text_field 'input', class => 'station', placeholder => 'Zug, Stationsname oder Ril100-Kürzel', id => 'stationinput' + %= text_field 'input', class => 'station', placeholder => l 'Zug, Stationsname oder Ril100-Kürzel', id => 'stationinput' % } % else { - %= text_field 'input', class => 'station', placeholder => 'Zug, Stationsname oder Ril100-Kürzel', id => 'stationinput', autofocus => 'autofocus' + %= text_field 'input', class => 'station', placeholder => l 'Zug, Stationsname oder Ril100-Kürzel', id => 'stationinput', autofocus => 'autofocus' % } </div> </div> <div class="field"> - %= submit_button 'Abfahrtsmonitor' + %= submit_button l('Abfahrstafel') </div> % if (stash('input')) { <div class="geolink"> - <a class="button" href="<%= url_for('_autostop')->to_abs->scheme('https') %>">Stationen in der Umgebung suchen</a> + <a class="button" href="<%= url_for('_autostop')->to_abs->scheme('https') %>"><%= l 'Stationen in der Umgebung suchen' %></a> </div> % } <div class="break"></div> - <div class="moresettings-header moresettings-header-collapsed button button-light">Weitere Einstellungen</div> + <div class="moresettings-header moresettings-header-collapsed button button-light"><%= l 'Weitere Einstellungen' %></div> <div class="moresettings moresettings-collapsed"> <div class="field"> <div class="desc"> %= check_box 'rt' => 1, id => 'id_show_realtime' <label for="id_show_realtime"> - Zeiten inkl. Verspätung angeben + %= l 'Zeiten inkl. Verspätung angeben' </label> </div> </div> @@ -164,7 +164,7 @@ Bitte eine Station aus der Liste auswählen</div> <div class="desc"> %= check_box 'hidelowdelay' => 1, id => 'id_hidelowdelay' <label for="id_hidelowdelay"> - Verspätungen erst ab 5 Minuten anzeigen + %= l 'Verspätungen erst ab 5 Minuten anzeigen' </label> </div> </div> @@ -172,7 +172,7 @@ Bitte eine Station aus der Liste auswählen</div> <div class="desc"> %= check_box 'detailed' => 1, id => 'id_detailed' <label for="id_detailed"> - Mehr Details (u.a. Zugnummern und Zugbildungsplan) + %= l 'Mehr Details' </label> </div> </div> @@ -180,7 +180,7 @@ Bitte eine Station aus der Liste auswählen</div> <div class="desc"> %= check_box 'no_related' => 1, id => 'id_no_related' <label for="id_no_related"> - Betriebliche Bahnhofstrennungen berücksichtigen (z.B. "Hbf (Fern+Regio)" vs. "Hbf (S)") + %= l 'Betriebliche Bahnhofstrennungen berücksichtigen (z.B. "Hbf (Fern+Regio)" vs. "Hbf (S)")' </label> </div> </div> @@ -188,7 +188,7 @@ Bitte eine Station aus der Liste auswählen</div> <div class="desc"> %= check_box 'past' => 1, id => 'past' <label for="past"> - Bereits abgefahrene Züge anzeigen + %= l 'Bereits abgefahrene Züge anzeigen' </label> </div> </div> @@ -196,21 +196,21 @@ Bitte eine Station aus der Liste auswählen</div> <div class="desc"> %= check_box 'hide_opts' => 1, id => 'id_hide_opts' <label for="id_hide_opts"> - Formular verstecken (für Infoscreens) + %= l 'Formular verstecken' </label> </div> </div> <div class="field"> <div class="desc"> - Nur Züge über + %= l 'Nur Züge über' </div> <div> - %= text_field 'via', placeholder => 'Bahnhof 1, Bhf2, ... (oder regulärer Ausdruck)', class => 'station' + %= text_field 'via', placeholder => l('Bahnhof 1, Bhf2, ... (oder regulärer Ausdruck)'), class => 'station' </div> </div> <div class="field"> <div class="desc"> - Gleise + %= l 'Gleise' </div> <div> %= text_field 'platforms', placeholder => '1, 2, 5, ...' @@ -218,10 +218,10 @@ Bitte eine Station aus der Liste auswählen</div> </div> <div class="field"> <div class="desc"> - Ankunfts- oder Abfahrtszeit anzeigen? + %= l 'Ankunfts- oder Abfahrtszeit anzeigen?' </div> <div> - %= select_field admode => [['Abfahrt bevorzugen' => 'deparr'], ['Nur Abfahrt' => 'dep'], ['Nur Ankunft' => 'arr']] + %= select_field admode => [[l('Abfahrt bevorzugen') => 'deparr'], [l('Nur Abfahrt') => 'dep'], [l('Nur Ankunft') => 'arr']] </div> </div> <div class="field"> @@ -233,7 +233,7 @@ Bitte eine Station aus der Liste auswählen</div> </div> </div> <div class="field"> - %= submit_button 'Anzeigen' + %= submit_button l('Anzeigen') </div> </div> <!-- moresettings --> </div> @@ -242,32 +242,53 @@ Bitte eine Station aus der Liste auswählen</div> </div> <!-- input-field --> <div class="notes"> - <div class="developers-header developers-header-collapsed button button-light">API- und Entwickler-Hinweise</div> + <div class="developers-header developers-header-collapsed button button-light">API</div> <div class="developers developers-collapsed"> <ul> - <li>DBF-Abfahrtstafeln können gerne als iframe eingebunden oder in - fest installierten Vollbild-Browserfenstern verwendet werden. - Für eine kleine Ansicht (z.B. iframe in einer normalen Website) - empfiehlt sich das "App"-Frontend. Für eine große Ansicht - (z.B. als alleinstehender Infoscreen) gibt es den "Infoscreen"-Modus.</li> - <li>Die Parameter <span style="font-family: monospace;">mode=json&version=3</span> - (alternativ <span style="font-family: - monospace;">https://dbf.finalrewind.org/Bahnhofsname.json?version=3</span>) - bieten ein JSON-IRIS-Interface. Die route-Elemente können zusätzlich - die Felder "isAdditional" oder "isCancelled" enthalten, der Rest sollte - selbsterklärend sein. Im Fehlerfall fehlt das "departures"-Element, - stattdessen wird ein "error"-Element mit Fehlermeldung zurückgegeben. - Bitte maximal 30 Anfragen pro Minute und insbesondere nur eine Anfrage - pro Station und Minute – eine höhere Auflösung haben die Backenddaten - ohnehin nicht.</li> - <li>Ein JSON-Interface für Zugdetails ist in Arbeit.</li> - <li>Mit <span style="font-family: monospace;">limit</span> kann die Anzahl der - angezeigten / im JSON enthaltenen Abfahrten eingeschränkt werden, z.B. - <span style="font-family: monospace;">limit=10</span> für die ersten zehn.</li> - <li>Dieser Dienst ist Open Source-Software und kann leicht auf eigenen Servern - <a href="https://github.com/derf/db-fakedisplay/blob/master/README.md">installiert</a> - werden. Automatisierte Crawler, die mehrere Dutzend Stationen pro Minute - abfragen, bitte nur auf eigenen Instanzen betreiben.</li> + % if (languages() =~ m{^en}) { + <li>You're welcome to embed DBF departure boards as iframes or use them + in full-screen browser setups. The App frontend works best for + small screens, whereas the legacy Infoscreen mode is better suited + for large displays.</li> + <li>A JSON IRIS API is avaliable via + <span style="font-family: monospace;">mode=json&version=3</span> + (or just <span style="font-family: monospace;">https://dbf.finalrewind.org/Station.json?version=3</span>). + Route elements may contain "isAdditional" and "isCancelled"; the rest + should be self-explanatory. Please do not send more than 30 requests + per minute and only one request per station per minute.</li> + <li>There is no JSON API for train details yet.</li> + <li>The optional <span style="font-family: monospace;">limit</span> + parameter limits the number of returnd departures; e.g. + <span style="font-family: monospace;">limit=10</span> will result in no more than ten.</li> + <li>DBF is available as Open Source software + (<a href="https://github.com/derf/db-fakedisplay/blob/master/README.md">installation instructions</a>). + Please use your own installation for automated crawlers that request dozens of stations per minute.</li> + % } + % else { + <li>DBF-Abfahrtstafeln können gerne als iframe eingebunden oder in + fest installierten Vollbild-Browserfenstern verwendet werden. + Für eine kleine Ansicht (z.B. iframe in einer normalen Website) + empfiehlt sich das "App"-Frontend. Für eine große Ansicht + (z.B. als alleinstehender Infoscreen) gibt es den "Infoscreen"-Modus.</li> + <li>Die Parameter <span style="font-family: monospace;">mode=json&version=3</span> + (alternativ <span style="font-family: + monospace;">https://dbf.finalrewind.org/Bahnhofsname.json?version=3</span>) + bieten ein JSON-IRIS-Interface. Die route-Elemente können zusätzlich + die Felder "isAdditional" oder "isCancelled" enthalten, der Rest sollte + selbsterklärend sein. Im Fehlerfall fehlt das "departures"-Element, + stattdessen wird ein "error"-Element mit Fehlermeldung zurückgegeben. + Bitte maximal 30 Anfragen pro Minute und insbesondere nur eine Anfrage + pro Station und Minute – eine höhere Auflösung haben die Backenddaten + ohnehin nicht.</li> + <li>Ein JSON-Interface für Zugdetails ist in Arbeit.</li> + <li>Mit <span style="font-family: monospace;">limit</span> kann die Anzahl der + angezeigten / im JSON enthaltenen Abfahrten eingeschränkt werden, z.B. + <span style="font-family: monospace;">limit=10</span> für die ersten zehn.</li> + <li>Dieser Dienst ist Open Source-Software und kann leicht auf eigenen Servern + <a href="https://github.com/derf/db-fakedisplay/blob/master/README.md">installiert</a> + werden. Automatisierte Crawler, die mehrere Dutzend Stationen pro Minute + abfragen, bitte nur auf eigenen Instanzen betreiben.</li> + % } </ul> </div> <!-- developers --> </div> <!-- notes --> @@ -276,11 +297,11 @@ Bitte eine Station aus der Liste auswählen</div> <div class="container"> <div class="about"> -<a href="_about">Über DBF</a> +<a href="_about"><%= l 'Über DBF' %></a> · -<a href="_datenschutz" rel="nofollow">Datenschutz</a> +<a href="_datenschutz" rel="nofollow"><%= l 'Datenschutz' %></a> · -<a href="_impressum" rel="nofollow">Impressum</a><br/> +<a href="_impressum" rel="nofollow"><%= l 'Impressum' %></a><br/> Version <%= stash('version') // '???' %> </div> <!-- about --> </div> <!-- container --> |