Skip to content
Snippets Groups Projects
Commit d3d22a79 authored by Elmar Ludwig's avatar Elmar Ludwig
Browse files

revert changes for https://develop.studip.de/trac/ticket/11711 as it breaks the build, re #5

parent 16a068da
No related branches found
No related tags found
No related merge requests found
...@@ -86,42 +86,3 @@ optimize-icons: npm ...@@ -86,42 +86,3 @@ optimize-icons: npm
# dummy target to force update of "doc" target # dummy target to force update of "doc" target
force_update: force_update:
LOCALES = en
NPM_BIN = $(shell npm bin)
VUE_GETTEXT_SOURCES = $(shell find ./resources -name '*.js' -o -name '*.vue' 2> /dev/null)
VUE_PO_FILE = js-resources.po
VUE_POT_FILE = ./locale/js-ressources.pot
VUE_TRANSLATIONS = ./resources/locales/translations.json
VUE_TRANSLATION_FILES ?= $(patsubst %,./resources/locales/%.json,$(LOCALES))
VUE_LOCALE_FILES ?= $(patsubst %,./locale/%/LC_MESSAGES/$(VUE_PO_FILE),$(LOCALES))
vue-gettext-extract: $(VUE_POT_FILE)
vue-gettext-compile: $(VUE_TRANSLATION_FILES)
vue-gettext-clean:; rm -f $(VUE_POT_FILE) $(VUE_TRANSLATIONS) $(VUE_TRANSLATIONS)
$(VUE_POT_FILE): $(VUE_GETTEXT_SOURCES)
$(NPM_BIN)/gettext-extract --quiet --attribute v-translate \
--output $@ $(VUE_GETTEXT_SOURCES)
@for lang in $(LOCALES); do \
export PO_FILE=./locale/$$lang/LC_MESSAGES/$(VUE_PO_FILE); \
if [ -f $$PO_FILE ]; then \
msgmerge --lang=$$lang \
-o $$PO_FILE \
-C $$PO_FILE \
./locale/$$lang/LC_MESSAGES/studip.po $@ || break ;\
msgattrib --set-obsolete --ignore-file=$(VUE_POT_FILE) -o $$PO_FILE $$PO_FILE; \
msgattrib --no-obsolete -o $$PO_FILE $$PO_FILE; \
else \
msginit --no-translator --locale=$$lang --input=$@ --output-file=$$PO_FILE || break ; \
msgattrib --no-wrap --no-obsolete -o $$PO_FILE $$PO_FILE || break; \
fi; \
done;
$(VUE_TRANSLATIONS): $(VUE_LOCALE_FILES)
$(NPM_BIN)/gettext-compile --output $@ $(VUE_LOCALE_FILES)
$(VUE_TRANSLATION_FILES): $(VUE_TRANSLATIONS)
php cli/vue-gettext-split-translations.php
#!/usr/bin/env php
<?php <?php
$translationsFile = realpath(__DIR__ . '/../resources/locales/translations.json'); $translationsFile = realpath(__DIR__ . '/../resources/locales/translations.json');
......
...@@ -35,7 +35,6 @@ Vue.use(Router); ...@@ -35,7 +35,6 @@ Vue.use(Router);
Vue.use(PortalVue); Vue.use(PortalVue);
function createApp(options, ...args) { function createApp(options, ...args) {
Vue.config.language = getLocale();
return new Vue({ store, ...options }, ...args); return new Vue({ store, ...options }, ...args);
} }
......
import { translate } from 'vue-gettext'; import { translate } from 'vue-gettext';
import defaultTranslations from '../../../locales/de.json'; import defaultTranslations from '../../../locales/de_DE.json';
import eventBus from './event-bus.js'; import eventBus from './event-bus.js';
const DEFAULT_LANG = 'de_DE'; const DEFAULT_LANG = 'de_DE';
...@@ -80,8 +80,7 @@ function getInstalledLanguages() { ...@@ -80,8 +80,7 @@ function getInstalledLanguages() {
async function getTranslations(locale) { async function getTranslations(locale) {
try { try {
const language = locale.split(/[_-]/)[0]; const translation = await import(`../../../locales/${locale}.json`);
const translation = await import(`../../../locales/${language}.json`);
return translation; return translation;
} catch (exception) { } catch (exception) {
......
File moved
This diff is collapsed.
{
" Dieser Filter enthält keine (neuen) Personen.": "This selection contains no (new) users.",
"%s hat geschrieben:": "%s wrote:",
"<%= count %> ausgewählt": "<%= count %> selected",
"Abschicken": "Submit",
"AbschlussKategorie suchen": "search degree category",
"Aktionen": "Actions",
"Alle Bereiche werden dann nach \"Allgemein\" verschoben!": "All areas will be moved to the category \"general\"!",
"Alle Räume anzeigen": "Show all rooms.",
"Alle entfernen": "Remove all",
"Alle hinzufügen": "Add all",
"Anmelderegel konfigurieren": "Configure admission setting",
"Anonym": "Anonymous",
"Apr": "Apr",
"April": "April",
"Aug": "Aug",
"August": "August",
"ausgewählt": "selected",
"Autor/-in": "Author",
"Bearbeiten.": "Edit.",
"Bedingung konfigurieren": "Configure condition",
"Beitrag verschieben": "Move post",
"Bild %u von %u": "Image %u of %u",
"Bitte %u Zeichen mehr eingeben": "Please enter %u more characters",
"Bitte %u Zeichen weniger eingeben": "Please enter %u characters less",
"Bitte bestätigen Sie die Aktion": "Please confirm action",
"Bitte geben Sie Ihren tatsächlichen Nachnamen an.": "Please enter your real last name.",
"Bitte geben Sie Ihren tatsächlichen Vornamen an.": "Please enter your real first name.",
"Bitte laden Sie die Seite neu, um fortzufahren": "To continue, please reload the page",
"Bitte wählen Sie einen gültigen Wert aus!": "Please specify a valid value!",
"Blenden Sie die restlichen Termine aus": "Hide remaining dates",
"Blenden Sie die restlichen Termine ein": "Show the remaining dates",
"Das Aktivieren des WYSIWYG Editors ist fehlgeschlagen.": "Activation of WYSIWYG editor failed.",
"Das Herunterladen dieser Datei ist nur eingeschränkt möglich.": "The download of this file is restricted.",
"Das Passwort ist zu kurz. Es sollte mindestens 8 Zeichen lang sein.": "The password is too short. It should have at least 8 characters.",
"Das Passwort stimmt nicht mit dem Bestätigungspasswort überein!": "Password and re-typed password don't match!",
"Datei hochladen": "Upload file",
"Datei ist zu groß oder hat eine nicht erlaubte Endung.": "The file is too big or it doesn't have an allowed extension.",
"Datum": "Date",
"Der Benutzername enthält unzulässige Zeichen, er darf keine Sonderzeichen oder Leerzeichen enthalten.": "There are invalid characters in the username - it must not contain any special characters nor space characters.",
"Der Benutzername ist zu kurz, er sollte mindestens 4 Zeichen lang sein.": "The username is too short - it must comprise at least 4 characters.",
"Detaillierte Veranstaltungsliste": "Detailed list of courses",
"Dez": "Dec",
"Dezember": "December",
"Di": "Tue.",
"Dialog wird geladen...": "Loading dialogue...",
"Die E-Mail-Adresse ist nicht korrekt!": "Invalid e-mail address!",
"Die Person ist bereits eingetragen.": "This person is already enroled.",
"Die Seite muss danach neu geladen werden, um den WYSIWYG Editor zu laden.": "The page must be reloaded afterwards to load the WYSIWYG editor.",
"Die Senderin/der Sender dieser Nachricht möchte Sie auf den folgenden Beitrag aufmerksam machen. ": "The sender of this message wants to call your attention to the following posting.",
"Die beiden Werte \"$1\" und \"$2\" stimmen nicht überein. ": "Values \"$1\" and \"$2\" are not identical.",
"Dienstag": "Tuesday",
"Dieser Ordner ist leer": "This folder is empty",
"Dieses Bild wird verkleinert dargestellt. Klicken Sie für eine größere Darstellung.": "Preview size. Click to enlarge.",
"Do": "Thu.",
"Dokument hinzufügen": "Add document",
"Dokument suchen": "Search document",
"Donnerstag": "Thursday",
"Downloads": "Downloads",
"Es werden auch alle Beiträge in diesem Bereich gelöscht!": "All postings in this area will be deleted as well!",
"Es wurden keine neuen Ergebnisse für \"<%= needle %>\" gefunden.": "No results were found for \"<%= needle %>\".",
"Fachsemester auswählen (optional)": "Select semester of study (optional)",
"Feb": "Feb",
"Februar": "February",
"Fehler bei der Übertragung": "An error occurred during the transmission",
"Fehler beim Aufruf des News-Controllers": "Error accessing the news controller",
"Fehler beim Aufruf des Tour-Controllers": "Error accessing the tour controller",
"Fehler": "Error",
"Fr": "Fri.",
"Freitag": "Friday",
"Füllen Sie noch die rot markierten Stellen korrekt aus.": "Fill in the red marked areas correctly.",
"Gefundene Nutzer": "Users found",
"Größe": "Size",
"HH:mm": "HH:mm",
"Hervorhebung aufheben": "Delete mark",
"Hierauf antworten.": "Reply on this.",
"hinzufügen": "add",
"Ihre Eingaben wurden bislang noch nicht gespeichert.": "Your input has not been saved yet.",
"Ja": "Yes",
"Jan": "Jan",
"Januar": "January",
"Jetzt": "Now",
"Jul": "Jul",
"Juli": "July",
"Jun": "Jun",
"Juni": "June",
"Kein Ergebnis gefunden.": "No results.",
"Keine Angabe beim Fach": "Not specified for field of study",
"Keine weitere Auswahl möglich": "No further selection possible",
"Keine Übereinstimmungen gefunden": "No match found",
"Kommentar schreiben. Enter zum Abschicken.": "Write comment. Press enter to send it.",
"Konnte die Konversation nicht laden. Probieren Sie es nachher erneut.": "Could not load the conversation. Please try again later.",
"Konnte die Suche nicht ausführen. Probieren Sie es nachher erneut.": "Could not execute the search. Please try again later.",
"Lade mehr Ergebnisse...": "Load more results...",
"Link wurde kopiert": "Link has been copied",
"Link zum Beitrag: ": "Link to posting:",
"Mai": "May",
"Mi": "Wed.",
"Mikrosekunde": "Microsecond",
"Millisekunde": "Millisecond",
"Minute": "minute",
"Mittwoch": "Wednesday",
"Mo": "Mon.",
"Modul suchen": "Search for module",
"Montag": "Monday",
"Mär": "Mar",
"März": "March",
"nachm.": "PM",
"Nachricht schreiben. Enter zum Abschicken.": "Write message. Press enter to send it.",
"Name": "Name",
"Nein": "No",
"Neu laden": "Reload",
"Neuen Termin eintragen": "Create new date",
"Nicht buchbare Räume:": "Non-allocatable rooms:",
"Noch nicht komplett ausgefüllt.": "Not yet filled in completely.",
"Nov": "Nov",
"November": "November",
"Nur buchbare Räume anzeigen": "Display bookable rooms only",
"oder": "or",
"Okt": "Oct",
"Oktober": "October",
"Optional weitere Studiengangteile (max. 5)": "Optional additional components (max. 5)",
"Sa": "Sat.",
"Samstag": "Saturday",
"Schließen": "Close",
"Schreib was, frag was. Enter zum Abschicken.": "Write something, ask something. Press enter to send it.",
"Sekunde": "Second",
"Sep": "Sep",
"September": "September",
"Sie haben <%= count %> Personen ausgewählt": "You selected <%= count %> persons",
"Sie haben nicht angegeben, wer die Nachricht empfangen soll!": "You did not specify who should receive the message!",
"Sie haben noch keine Anmelderegeln festgelegt.": "You haven't yet defined any admission rule.",
"Sie haben noch niemanden hinzugefügt.": "No-one added yet",
"Sie können nur %u Eintrag auswählen": "You may only select %u entry",
"Sie können nur %u Einträge auswählen": "You may only select %u entries",
"Sie sind nicht mehr im System angemeldet.": "You are no longer logged in.",
"Sind Sie sicher, dass Sie die regelmäßige Zeit ändern möchten?": "Are you sure to change the periodic course appointments?",
"Sind sie sicher, dass Sie diese Kategorie entfernen möchten? ": "Are you sure to delete this category?",
"Sind sie sicher, dass Sie diesen Bereich löschen möchten? ": "Are you sure to delete this area?",
"Sind sie sicher, dass Sie ihren bisherigen Beitrag verwerfen wollen?": "Do really want to discard your posting?",
"Smileys": "Smileys",
"So": "Sun.",
"Soll der WYSIWYG Editor aktiviert werden?": "Do you want to activate the WYSIWYG editor?",
"Soll die ausgewählte Berechtigung wirklich entfernt werden?": "Do you really want to delete the selected permission?",
"Sonntag": "Sunday",
"Starte die Konversation jetzt!": "Start the conversation now!",
"Status": "Status",
"Studiengang suchen": "Search course of study",
"Studiengangteil suchen": "Search course of study. ",
"Stunde": "hour",
"Suche zurücksetzen": "Reset search",
"Suche...": "Searching...",
"Suchergebnisse": "Search results",
"Termindetails bearbeiten": "Edit date details",
"Thema hervorheben": "Mark topic",
"Thema schließen": "Close topic",
"Thema öffnen": "Open topic",
"Typ": "Type",
"URL": "URL",
"Veranstaltung berücksichtigen": "Regard course",
"Veranstaltung nicht berücksichtigen": "Do not regard course",
"Veranstaltungsdetails": "Course details",
"Veranstaltungstyp auswählen (optional)": "Select course type (optional)",
"Vor": "Before",
"vorm.": "AM",
"Vor %s Minuten": "%s minutes ago",
"Wenn Sie die Seite verlassen, gehen ihre Änderungen verloren!": "If you leave the page your changes will be lost!",
"Wird geladen": "Loading",
"Wirklich %s Nachrichten löschen?": "Delete message %s?",
"Wollen Sie die Aktion wirklich ausführen?": "Do you really want to execute this action?",
"Wollen Sie die gewünschten Termine wirklich löschen?": "Do you really want to delete the selected dates?",
"Wollen Sie die im Plan gezeigten Anfragen wirklich buchen?": "Do you really want to book the request shown in the plan?",
"Wollen Sie diesen Filter wirklich entfernen?": "Are you sure to delete this filter?",
"Zeichen verbleibend: ": "Remaining characters:",
"Zeit wählen": "Select time",
"Zeit": "Time",
"Zeitzone": "Timezone",
"Zitat einfügen": "Insert quote",
"Zitat löschen": "Delete quote",
"Zitat teilen": "Share quote",
"Zum Hauptordner": "Go to main folder",
"Zur Diskussion": "Go to discussion",
"Zur Gesamtübersicht": "Back to overview",
"Zurück": "Back"
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment