Commit 1881e3d5 authored by Sandro Lutz's avatar Sandro Lutz Committed by lic
Browse files

Switch to i18next

parent 661bbfc4
......@@ -43,8 +43,8 @@ Backend: [AMIV API](https://github.com/amiv-eth/amivapi)
Technologies:
* [Mithril](https://mithril.js.org/)
* [i18n for Virtual DOM](https://i18n4v.js.org)
* [Mithril](https://mithril.js.org)
* [i18next](https://www.i18next.com)
Needed extensions:
......
This diff is collapsed.
......@@ -2,7 +2,7 @@
import m from 'mithril';
import Raven from 'raven-js';
import { sentryUrl, sentryEnvironment } from 'config';
import { loadLanguage, currentLanguage, setLanguage, isLanguageValid } from './models/language';
import { loadLanguage, currentLanguage, isLanguageValid } from './models/language';
import { Error404, Error401 } from './views/errors';
import { isLoggedIn, checkLogin } from './models/auth';
import studydocList from './views/studydocs/studydocList';
......@@ -36,17 +36,17 @@ Raven.context(() => {
const routesAuth = [
{
url: '/:language/studydocuments',
reason: 'studydocs.access_denied',
reason: 'studydocs.accessDenied',
view: () => m(studydocList),
},
{
url: '/:language/studydocuments/new',
reason: 'studydocs.access_denied',
reason: 'studydocs.accessDenied',
view: () => m(studydocNew),
},
{
url: '/:language/studydocuments/:documentId',
reason: 'studydocs.access_denied',
reason: 'studydocs.accessDenied',
view: vnode => m(studydocList, vnode.attrs),
},
{
......@@ -101,7 +101,6 @@ Raven.context(() => {
function onmatch(args, route) {
if (isLanguageValid(args.language)) {
setLanguage(args.language);
return { view: vnode => m(layout, route.view(vnode)) };
}
return {
......
export default {
// Common stuff
language: {
de: 'Deutsch',
en: 'Englisch',
},
loading: 'Laden...',
close: 'schliessen',
loadingError: 'Ein Fehler ist während dem Laden der Daten aufgetreten.',
loadMore: 'Mehr laden',
loadMoreError: 'Laden fehlgeschlagen. Nochmal versuchen?',
retry: 'Erneut versuchen?',
switzerland: 'Schweiz',
menu: 'Menu',
amiv: 'AMIV',
contact: 'Kontakt',
calendar: 'Kalender',
login: 'Login',
logout: 'Logout',
username: 'Benutzername',
password: 'Passwort',
email: 'Email',
search: 'Suchen',
reset: 'Zurücksetzen',
button: {
cancel: 'abbrechen',
confirm: 'bestätigen',
enroll: 'einschreiben',
withdraw: 'ausschreiben',
},
membership: {
regular: 'ORDENTLICHES MITGLIED',
extraordinary: 'AUSSERORDENTLICHES MITGLIED',
honorary: 'EHRENMITGLIED',
},
missing: {
image: 'Kein Bild verfügbar.',
description: 'Keine Beschreibung verfügbar.',
contactInfo: 'Keine Kontaktinformationen verfügbar.',
},
// Main Menu
mainMenu: {
about: {
label: 'Info',
about: 'Über $t(amiv)',
board: 'Vorstand',
teams: 'Teams',
statutes: 'Statuten',
minutes: 'Protokolle',
},
events: 'Events',
studydocuments: 'Studienunterlagen',
jobs: {
label: 'Jobs',
jobs: 'Jobs',
companies: 'Firmenprofile',
},
login: 'Login',
logout: 'Logout',
profile: 'Profil',
},
// Board Page
board: {
title: 'Vorstand',
roles: {
president: 'Präsident',
quaestor: 'Quästor',
it: 'IT',
eventPlanning: 'Kultur',
universityPolicy: 'Hochschulpolitik',
externalRelations: 'External Relations',
infrastracture: 'Infrastruktur',
},
tasks: 'Aufgaben',
},
// Teams Page
teams: {
ressorts: 'Ressorts',
commissions: 'Kommissionen',
},
// Legal Notice Page
legalNotice: {
title: 'Impressum',
disclaimer: 'Haftungsausschluss',
disclaimerText:
'Der Autor übernimmt keinerlei Gewähr hinsichtlich der inhaltlichen Richtigkeit, Genauigkeit, Aktualität, Zuverlässigkeit und Vollständigkeit der Informationen. Für die Inhalte der externen Links übernimmt der Autor keine Haftung. Die Betreiber der verlinkten Seiten sind ausschliesslich für den Inhalt verantwortlich.',
copyrights: 'Urheberrechte',
copyrightsText:
'Die Urheber- und alle anderen Rechte an Inhalten, Bildern, Fotos oder anderen Dateien auf der Website gehören ausschliesslich dem «AMIV an der ETH» oder den speziell genannten Rechtsinhabern. Für die Reproduktion jeglicher Elemente ist die schriftliche Zustimmung der Urheberrechtsträger im Voraus einzuholen.',
},
// Profile Page
profile: {
freeBeer: 'Du bist berechtigt, gratis Bier zu beziehen!',
setRfid: 'Setze deine RFID unten, um gratis Bier zu erhalten!',
rfid: 'RFID',
rfidError: '6 Ziffern erforderlich. Siehe Rückseite deiner Legi.',
password: {
change: 'Passwort ändern',
revertToLdap: 'Zu LDAP zurückkehren',
set: 'Passwort setzen',
requirements: 'Passwort muss zwischen 7 und 100 Zeichen lang sein.',
current: 'Aktuelles Passwort',
new: 'Neues Passwort',
repeatNew: 'Neues Passwort wiederholen',
errors: {
current: 'Passwort ist falsch.',
notEqual: 'Passwörter stimmen nicht überein.',
},
},
newsletter: {
unsubscribe: 'Vom Newsletter abmelden',
subscribe: 'Newsletter abonnieren',
},
sessions: {
loading: 'Lade Sitzungsdaten',
none: 'Du hast keine anderen aktiven Sitzungen.',
terminateOthers: 'Beende alle anderen {{count}} aktiven Sitzungen.',
},
groups: {
search: 'Gruppen durchsuchen',
expires: 'läuft am {{date}} ab',
},
},
// Filtered List Page
filter: {
show: 'Filter anzeigen',
hide: 'Filter ausblenden',
},
// Events Page
events: {
title: 'Events',
agenda: 'Event-Kalender',
headers: {
openRegistration: 'Anmeldung offen',
upcoming: 'Bevorstehende Events',
past: 'Vergangene Events',
},
noUpcoming: 'Keine bevorstehenden Events.',
price: 'Preis',
free: 'Gratis',
allEvents: 'Alle Events',
restrictions: {
title: 'Einschränkungen',
none: 'Offen für alle',
membersOnly: 'Nur für $t(amiv) Mitglieder',
},
registration: {
none: 'Keine Anmeldung erforderlich',
over: 'Das Anmeldefenster ist geschlossen.',
startsAt: 'Anmeldung möglich ab',
},
spot: 'Platz',
spot_plural: 'Plätze',
noSpotsAvailable: 'Keine Plätze verfügbar',
spotsAvailable: '{{count}} $t(events.spot) verfügbar',
updateData: 'Aktualisiere deine Daten im folgenden Formular.',
signup: {
action: 'anmelden',
updateAction: 'Anmeldung ändern',
success: 'Du hast einen Platz ergattert!',
failed: 'Anmeldung fehlgeschlagen',
waitingList: 'Du bist auf der Warteliste.',
accepted: 'Du bist angemeldet und hast einen Platz.',
},
signoff: {
action: 'abmelden',
success: 'Anmeldung gelöscht',
failed: 'Abmelden fehlgeschlagen',
},
},
// Studydocuments Page
studydocs: {
types: {
cheatsheets: 'Zusammenfassungen',
exams: 'Alte Prüfungen',
lectureDocuments: 'Unterrichtsmaterialien',
exercises: 'Übungen',
},
semester: 'Semester',
allSemesters: 'Alle Semester',
semester1: '1. Semester',
semester2: '2. Semester',
semester3: '3. Semester',
semester4: '4. Semester',
semester5: '5+ Semester',
lecture: 'Vorlesung',
allLectures: 'Alle Vorlesungen',
department: 'Departement',
professor: 'Professor',
noDepartment: 'Kein Departement',
type: 'Typ',
title: 'Titel',
author: 'Author',
noSemester: 'Kein Semester',
courseYear: 'Kursjahr',
files: 'Dateien',
upload: 'Dokument(e) hochladen',
uploading: 'lädt hoch...',
accessDenied: 'Studienunterlagen sind nur für ETH Studenten verfügbar.',
rules: {
title: 'Regeln',
one:
'Diese Plattform lebt vom geben und nehmen - investiere also auch mal ein paar Minuten und schaue ob du für andere nützliches Material hast und lade es hoch. Es kostet nicht viel Zeit.',
two:
'Die Unterlagenübersicht ist noch im Beta-Stadium. Fehler und Anregungen bitte an unterlagen@amiv.ethz.ch senden.',
three:
'Einige der hier zu findenden Daten unterliegen der [BOT](https://rechtssammlung.sp.ethz.ch/_layouts/15/start.aspx#/default.aspx) sowie dem Urheberrecht und dienen zur internen Dokumentation gemäss [Bundesgesetz SR 231.1, Art. 19.1c](https://www.admin.ch/opc/de/classified-compilation/19920251/index.html#a19) und dürfen nicht an Nicht-ETH-Angehörige weitergegeben werden - daher ist der LogIn verpflichtend.',
four:
'Plagiate können schwerwiegende Folgen haben. Gib also keine Werke von anderen als dein eigenes aus und lies dir [diese Seite](https://www.ethz.ch/studierende/de/studium/leistungskontrollen/plagiate.html) sowie [dieses Merkblatt der ETH](http://www.lit.ethz.ch/faq/Italienisch/Lehre/box_feeder/PlagioETH_studenti) durch.',
},
thanks:
'Wir bedanken uns im Namen aller Studenten bei Allen, die ihre Unterlagen, Zusammenfassungen, und und und hier für andere Studenten zugänglich machen. Danke tausend, Gruss und Kuss.',
oralExams: 'Mündliche Prüfungen',
oralExamsExplanation:
'Die Prüfungsprotokolle sind hier bestellbar und können gegen ein Depot von 20.- im AMIV Büro im CAB E37 abgeholt werden. Das Depot erhält man jeweils zurück, wenn man selbst ein Protokoll abgibt. Dies soll gewährleisten, dass es stets aktuelle mündliche Prüfungen im System hat. Wenn du ein Prüfungsprotokoll brauchst oder abgeben willst, schicke eine Mail an pruefungen@amiv.ethz.ch. Ein Prüfungsprotokoll beinhaltet mindestens folgende Infos: Fach, Prof./Prüfer, Stichworte, Was wurde gefragt etc.',
oralExamDatesIntro:
'Für die Sommersession 2018 können Protokolle (nach erfolgter Anmeldung) zu den folgenden Zeitpunkten abgeholt werden:',
},
// Joboffers Page
joboffers: {
title: 'Jobs',
downloadAsPdf: 'Als PDF herunterladen',
publishedToday: 'heute veröffentlicht',
publishedYesterday: 'gestern veröffentlicht',
publishedDaysAgo: 'vor {{days}} Tagen veröffentlicht',
},
// Error
error: {
title: 'Ups, das ist ein Fehler!',
accessDenied: 'Diese Seite ist nur für eingeloggte Benutzer verfügbar.',
notFound: 'Die gewünschte Seite konnte nicht gefunden werden.',
translationUnavailable: 'Übersetzung nicht verfügbar.',
shownLanguage: 'Zeige Text in {{shown_language}}.',
},
};
{
"values": {
"language.de": "Deutsch",
"language.en": "Englisch",
"close": "Schliessen",
"loading": "Laden...",
"loading_error": "Ein Fehler ist während dem Laden der Daten aufgetreten.",
"empty_list": "Es sind keine Einträge zum Anzeigen vorhanden.",
"load_more": "Mehr laden",
"load_more_error": "Laden fehlgeschlagen. Nochmal versuchen?",
"Menu": "Menu",
"AMIV": "AMIV",
"About AMIV": "Über den AMIV",
"Board": "Vorstand",
"Commissions": "Kommissionen",
"Ressorts/Teams": "Ressorts",
"Statutes": "Statuten",
"Minutes": "Protokolle",
"Events": "Events",
"Studydocuments": "Studienunterlagen",
"Jobs": "Jobs",
"Companies": "Firmenprofile",
"Login": "Login",
"Logout": "Logout",
"Profile": "Profil",
"Aufenthaltsraum": "Aufenthaltsraum",
"President": "Präsident",
"Quaestor": "Quästor",
"IT": "IT",
"Event Planning": "Kultur",
"University Policy": "Hochschulpolitik",
"External Relations": "External Relations",
"Infrastracture": "Infrastruktur",
"Tasks": "Aufgaben",
"contact": "Kontakt",
"language_button": "EN",
"cancel": "abbrechen",
"confirm": "bestätigen",
"enroll": "einschreiben",
"withdraw": "austragen",
"username": "Benutzername",
"password": "Passwort",
"regular_member": "ORDENTLICHES MITGLIED",
"extraordinary_member": "AUSSERORDENTLICHES MITGLIED",
"honorary_member": "EHRENMITGLIED",
"no image": "Kein Bild verfügbar.",
"no description": "Keine Beschreibung verfügbar.",
"email": "Email",
"email_invalid": "Ungültige Email-Adresse",
"search": "Suchen",
"reset": "Zurücksetzen",
"calendar": "Kalender",
"frontpage.social_media": "Folge uns auf Social Media",
"legal-notice": "Impressum",
"legal-notice.disclaimer": "Haftungsausschluss",
"legal-notice.disclaimer-text": "Der Autor übernimmt keinerlei Gewähr hinsichtlich der inhaltlichen Richtigkeit, Genauigkeit, Aktualität, Zuverlässigkeit und Vollständigkeit der Informationen. Für die Inhalte der externen Links übernimmt der Autor keine Haftung. Die Betreiber der verlinkten Seiten sind ausschliesslich für den Inhalt verantwortlich.",
"legal-notice.copyrights": "Urheberrechte",
"legal-notice.copyrights-text": "Die Urheber- und alle anderen Rechte an Inhalten, Bildern, Fotos oder anderen Dateien auf der Website gehören ausschliesslich dem «AMIV an der ETH» oder den speziell genannten Rechtsinhabern. Für die Reproduktion jeglicher Elemente ist die schriftliche Zustimmung der Urheberrechtsträger im Voraus einzuholen.",
"Switzerland": "Schweiz",
"commissions.no_contact_info": "Keine Kontaktinformationen",
"profile.free_beer": "Du bist berechtigt, gratis Bier zu beziehen!",
"profile.set_rfid": "Setze deine RFID unten, um gratis Bier zu erhalten!",
"profile.change_password": "Passwort ändern",
"profile.revert_to_ldap": "Zu LDAP zurückkehren",
"profile.set_password": "Passwort setzen",
"profile.password_requirements": "Passwort muss zwischen 7 und 100 Zeichen lang sein.",
"profile.old_password": "Altes Passwort",
"profile.old_password_error": "Passwort ist falsch.",
"profile.new_password": "Neues Passwort",
"profile.repeat_password": "Neues Passwort wiederholen",
"profile.passwords_not_equal": "Passwörter stimmen nicht überein.",
"profile.rfid": "RFID",
"profile.rfid_error": "6 Ziffern erforderlich. Siehe Rückseite deiner Legi.",
"profile.newsletter_unsubscribe": "Vom Newsletter abmelden",
"profile.newsletter_subscribe": "Newsletter abonnieren",
"profile.loading_sessions": "Lade Sitzungsdaten",
"profile.no_active_sessions": "Du hast keine anderen aktiven Sitzungen.",
"profile.active_sessions": "Beende alle anderen %{count} aktiven Sitzungen.",
"profile.search_groups": "Gruppen durchsuchen",
"profile.expire_on": "läuft am %{date} ab",
"studydocs.not_found": "Dokument nicht gefunden",
"studydocs.no_selection": "Kein Dokument ausgewählt",
"studydocs.searchfield": "Titel eingeben...",
"cheat sheets": "Zusammenfassungen",
"exams": "Alte Prüfungen",
"lecture documents": "Unterrichtsmaterialien",
"exercises": "Übungen",
"studydocs.semester_all": "Alle Semester",
"studydocs.semester1": "1. Semester",
"studydocs.semester2": "2. Semester",
"studydocs.semester3": "3. Semester",
"studydocs.semester4": "4. Semester",
"studydocs.semester5+": "5+ Semester",
"studydocs.lecture": "Vorlesung",
"studydocs.lectures_all": "Alle Vorlesungen",
"studydocs.no_department": "Kein Departement",
"studydocs.department": "Departement",
"studydocs.type": "Typ",
"studydocs.title": "Titel",
"studydocs.professor": "Professor",
"studydocs.author": "Author",
"studydocs.semester": "Semester",
"studydocs.no_semester": "Kein Semester",
"studydocs.course_year": "Kursjahr",
"studydocs.files": "Dateien",
"studydocs.upload": "Dokument(e) hochladen",
"studydocs.uploading": "lädt hoch...",
"studydocs.access_denied": "Studienunterlagen sind nur für ETH Studenten verfügbar.",
"studydocs.rule": "Regeln:",
"studydocs.rule_1": "Diese Plattform lebt vom geben und nehmen - investiere also auch mal ein paar Minuten und schaue ob du für andere nützliches Material hast und lade es hoch. Es kostet nicht viel Zeit.",
"studydocs.rule_2": "Die Unterlagenübersicht ist noch im Beta-Stadium. Fehler und Anregungen bitte an unterlagen@amiv.ethz.ch senden.",
"studydocs.rule_3": "Einige der hier zu findenden Daten unterliegen der [BOT](https://rechtssammlung.sp.ethz.ch/_layouts/15/start.aspx#/default.aspx) sowie dem Urheberrecht und dienen zur internen Dokumentation gemäss [Bundesgesetz SR 231.1, Art. 19.1c](https://www.admin.ch/opc/de/classified-compilation/19920251/index.html#a19) und dürfen nicht an Nicht-ETH-Angehörige weitergegeben werden - daher ist der LogIn verpflichtend.",
"studydocs.rule_4": "Plagiate können schwerwiegende Folgen haben. Gib also keine Werke von anderen als dein eigenes aus und lies dir [diese Seite](https://www.ethz.ch/studierende/de/studium/leistungskontrollen/plagiate.html) sowie [dieses Merkblatt der ETH](http://www.lit.ethz.ch/faq/Italienisch/Lehre/box_feeder/PlagioETH_studenti) durch.",
"studydocs.thx": "Wir bedanken uns im Namen aller Studenten bei Allen, die ihre Unterlagen, Zusammenfassungen, und und und hier für andere Studenten zugänglich machen. Danke tausend, Gruss und Kuss.",
"studydocs.oral_ex": "Mündliche Prüfungen",
"studydocs.oral_ex_txt1": "Die Prüfungsprotokolle sind hier bestellbar und können gegen ein Depot von 20.- im AMIV Büro im CAB E37 abgeholt werden. Das Depot erhält man jeweils zurück, wenn man selbst ein Protokoll abgibt. Dies soll gewährleisten, dass es stets aktuelle mündliche Prüfungen im System hat. Wenn du ein Prüfungsprotokoll brauchst oder abgeben willst, schicke eine Mail an pruefungen@amiv.ethz.ch. Ein Prüfungsprotokoll beinhaltet mindestens folgende Infos: Fach, Prof./Prüfer, Stichworte, Was wurde gefragt etc.",
"studydocs.oral_ex_txt2": "Für die Sommersession 2018 können Protokolle (nach erfolgter Anmeldung) zu den folgenden Zeitpunkten abgeholt werden:",
"events.agenda": "Event Kalender",
"events.header_open_registration": "Anmeldung offen",
"events.header_upcoming": "Bevorstehende Events",
"events.header_past": "Vergangene Events",
"events.no_upcoming": "Keine bevorstehenden Events.",
"events.price": "Preis",
"events.free": "Gratis",
"events.all_events": "Alle Events",
"events.restrictions": "Einschränkungen",
"events.open_for_all": "Offen für alle",
"events.open_for_amiv_members_only": "Nur für AMIV Mitglieder",
"events.not_found": "Event nicht gefunden",
"events.no_selection": "Kein Event ausgewählt",
"events.no_registration": "Keine Anmeldung erforderlich",
"events.registration_over": "Das Anmeldefenster ist geschlossen.",
"events.registration_starts_at": "Anmeldung möglich ab",
"events.location": "Ort",
"events.%n_spots_available": [
[0, 0, "Keine Plätze verfügbar"],
[1, 1, "%n Platz verfügbar"],
[2, null, "%n Plätze verfügbar"]
],
"events.update_data": "Alktualisiere deine Daten im unteren Formular.",
"events.amiv_members_only": "Dieser Event ist nur für AMIV Mitglieder.",
"events.signup": "anmelden",
"events.update_signup": "Anmeldung ändern",
"events.delete_signup": "abmelden",
"events.loading": "Laden...",
"events.load_more": "Mehr Events laden",
"events.signup_success": "Du hast einen Platz ergattert!",
"events.signup_waiting_list": "Du bist auf der Warteliste.",
"events.signup_fail": "Anmeldung fehlgeschlagen",
"events.signoff_success": "Anmeldung gelöscht",
"events.signoff_fail": "Abmelden fehlgeschlagen",
"events.signed_up_accepted": "Du bist angemeldet und hast einen Platz.",
"events.signed_up_waiting_list": "Du bist auf der Warteliste.",
"joboffers.download_pdf": "Als PDF herunterladen",
"joboffers.published_%n_days_ago": [
[0, 0, "heute veröffentlicht"],
[1, 1, "gestern veröffentlicht"],
[2, null, "vor %n Tagen veröffentlicht"]
],
"errors.title": "Ups, das ist ein Fehler!",
"errors.access_denied.default_reason": "Diese Seite ist nur für eingeloggte Benutzer verfügbar.",
"errors.not_found.text": "Die gewünschte Seite konnte nicht gefunden werden.",
"errors.translation_unavailable": "Übersetzung nicht verfügbar.",
"errors.shown_language": "Zeige Text in %{shown_language}",
"errors.retry": "Wiederholen",
"filtered_list.show_filter": "Filter anzeigen",
"filtered_list.hide_filter": "Filter verstecken",
"filtered_list.show_list": "Zurück zur Übersicht",
"date.at": "um",
"date.oclock": "Uhr",
"date.weekdays%n":[
[0, 0, "Sonntag"],
[1, 1, "Montag"],
[2, 2, "Dienstag"],
[3, 3, "Mittwoch"],
[4, 4, "Donnerstag"],
[5, 5, "Freitag"],
[6, 6, "Samstag"]
],
"date.months%n":[
[0, 0, "Januar"],
[1, 1, "Februar"],
[2, 2, "März"],
[3, 3, "April"],
[4, 4, "Mai"],
[5, 5, "Juni"],
[6, 6, "Juli"],
[7, 7, "August"],
[8, 8, "September"],
[9, 9, "Oktober"],
[10, 10, "November"],
[11, 11, "Dezember"]
]
}
}
export default {
// Common stuff
language: {
de: 'German',
en: 'English',
},
loading: 'Loading...',
close: 'close',
loadingError: 'Error while loading data.',
loadMore: 'Load more',
loadMoreError: 'Loading failed. Try again?',
retry: 'Retry',
switzerland: 'Switzerland',
menu: 'menu',
amiv: 'AMIV',
contact: 'Contact',
calendar: 'Calendar',
login: 'login',
logout: 'logout',
username: 'Username',
password: 'Password',
email: 'Email',
search: 'Search',
reset: 'Reset',
button: {
cancel: 'cancel',
confirm: 'confirm',
enroll: 'enroll',
withdraw: 'withdraw',
},
membership: {
regular: 'REGULAR MEMBER',
extraordinary: 'EXTRAORDINARY MEMBER',
honorary: 'HONORARY MEMBER',
},
missing: {
image: 'No image available.',
description: 'No description available.',
contactInfo: 'No contact information.',
},
// Main Menu
mainMenu: {
about: {
label: 'Info',
about: 'About $t(amiv)',
board: 'Board',
teams: 'Teams',
statutes: 'Statutes',
minutes: 'Minutes',
},
events: 'Events',
studydocuments: 'Study Documents',
jobs: {
label: 'Jobs',
jobs: 'Jobs',
companies: 'Companies',
},
login: 'Login',
logout: 'Logout',
profile: 'Profile',
},
// Board Page
board: {
title: 'Board',
roles: {
president: 'President',
quaestor: 'Quaestor',
it: 'IT',
eventPlanning: 'Event Planning',
universityPolicy: 'University Policy',
externalRelations: 'External Relations',
infrastracture: 'Infrastructure',
},
tasks: 'Tasks',
},
// Teams Page
teams: {
ressorts: 'Teams',
commissions: 'Commissions',
},
// Legal Notice Page
legalNotice: {
title: 'Legal Notice',
disclaimer: 'Disclaimer',
disclaimerText:
'The author is not responsible for the correctness, accuracy, timeliness, reliability or completeness of the information. For contents of external links, the author assumes no liability. The operators of the linked websites are exclusively responsible for the content.',
copyrights: 'Copyrights',
copyrightsText:
'The copyright and any other rights relating to texts, illustrations, photos or any other files on the website belong exclusively «AMIV an der ETH» or mentioned owners. Any reproduction requires the written permission of the copyright holder , which must be obtained in advance.',
},
// Profile Page
profile: {
freeBeer: 'You are allowed to get free beer!',
setRfid: 'Set your RFID below to get free beer!',
rfid: 'RFID',