Commit 7f5b28c3 authored by Karl Hasselbring's avatar Karl Hasselbring

Übersetzungen hinzugefügt und Gespeicherte Ergebnisse repariert

parent 5670c8f9
......@@ -357,3 +357,69 @@ function checkboxCheckListener (event) {
function setCheckedForAllWithName (name, checked) {
$('.focusCheckbox[name=' + name + ']').prop('checked', checked);
}
/**
* Übersetzt den Key in die aktuelle Sprache.
* Die Sprache kann optional auch explizit angegeben werden.
* Verwendung: t('KEY')
*/
// Speichert die Übersetzungen
var translations = {
'de': {
'select-engine': 'Bitte mindestens 1 Suchmaschine auswählen.',
'select-valid-name': 'Bitte gültigen Namen eingeben:\n* Keine Sonderzeichen\n* Mindestens 1 Buchstabe\n',
'confirm-overwrite-name': 'Name bereits genutzt.\nÜberschreiben?',
'saved-settings': 'Auf der folgenden Startseite sind Ihre Einstellungen nun einmalig gespeichert. Nach Ihrer ersten Suche sind diese wieder verloren. Wenn Sie diese speichern möchten, können Sie sich allerdings ein Lesezeichen für die generierte Startseite einrichten.',
'generated-plugin': 'Ihr Browserplugin mit den persönlichen Sucheinstellungen wurde generiert. Folgen Sie bitte der Anleitung auf der folgenden Seite um es zu installieren. Beachten Sie: Zuvor sollten Sie ein eventuell bereits installiertes MetaGer-Plugin entfernen.',
'result-saver.title': 'Gespeicherte Ergebnisse',
'result-saver.filter': 'Filtern',
'result-saver.sort.chronological': 'Chronologisch',
'result-saver.sort.ranking': 'MetaGer-Ranking',
'result-saver.sort.alphabetical': 'Alphabetisch (Hostname)',
'result-saver.delete': 'Ergebnis aus dem Speicher löschen'
},
'en': {
'select-engine': 'Please select at least 1 search engine.',
'select-valid-name': 'No characters other than a-z, A-Z, 0-9, ä, ö, ü, ß, -, _ allowed, at least 1 character',
'confirm-overwrite-name': 'Name already in use.\nOverwrite?',
'saved-settings': 'On the following startpage your settings are saved one-time. They will be lost after your first search. Though if you want to save them, you can create a bookmark for the generated startpage.',
'generated-plugin': 'Your browser plugin with personal settings was generated. Please follow the instructions on the following page to install it. Notice that beforehand you might have to delete a former MetaGer plugin.',
'result-saver.title': 'Saved Results',
'result-saver.filter': 'Filter',
'result-saver.sort.chronological': 'Chronological',
'result-saver.sort.ranking': 'MetaGer-Ranking',
'result-saver.sort.alphabetical': 'Alphabetical (Hostname)',
'result-saver.delete': 'Delete saved Result'
},
'es': {
'select-engine': 'Por favor, seleccione al menos un motor de búsqueda.',
'select-valid-name': 'Por favor, introduzca un nombre válido constituido por letras y números.',
'confirm-overwrite-name': 'Nombre ya ha sido elegido.\n¿Substituirlo?',
// 'saved-settings': '',
// 'generated-plugin': ''
// 'result-saver.sort.chronological': 'Chronologisch',
// 'result-saver.sort.ranking': 'MetaGer-Ranking',
// 'result-saver.sort.alphabetical': 'Alphabetisch (Hostname)',
// 'result-saver.delete': 'Ergebnis aus dem Speicher löschen',
}
};
/**
* Übersetzt den gegebenen Schlüssel in der gegebenen Sprache
* Gibt standardmäßig deutsche Sprachstrings zurück, da davon ausgegangen werden kann, dass diese immer vorhanden sind
* @param {string} key Zu übersetzender Schlüssel
* @param {string} lang Zu verwendende Sprache
*/
function t (key, lang) {
if (arguments.length == 1) {
var lang = $('html').attr('lang');
return translations[lang][key];
} else if (arguments.length == 2 && translations[lang] && translations[lang][key]) {
return translations[lang][key];
} else {
return translations.de[key];
}
}
......@@ -36,4 +36,69 @@ function setSettings () {
if (requestMethod !== null && (requestMethod === 'GET' || requestMethod === 'POST')) {
$('#searchForm').attr('method', requestMethod);
}
}
\ No newline at end of file
}
/**
* Übersetzt den Key in die aktuelle Sprache.
* Die Sprache kann optional auch explizit angegeben werden.
* Verwendung: t('KEY')
*/
// Speichert die Übersetzungen
var translations = {
'de': {
'select-engine': 'Bitte mindestens 1 Suchmaschine auswählen.',
'select-valid-name': 'Bitte gültigen Namen eingeben:\n* Keine Sonderzeichen\n* Mindestens 1 Buchstabe\n',
'confirm-overwrite-name': 'Name bereits genutzt.\nÜberschreiben?',
'saved-settings': 'Auf der folgenden Startseite sind Ihre Einstellungen nun einmalig gespeichert. Nach Ihrer ersten Suche sind diese wieder verloren. Wenn Sie diese speichern möchten, können Sie sich allerdings ein Lesezeichen für die generierte Startseite einrichten.',
'generated-plugin': 'Ihr Browserplugin mit den persönlichen Sucheinstellungen wurde generiert. Folgen Sie bitte der Anleitung auf der folgenden Seite um es zu installieren. Beachten Sie: Zuvor sollten Sie ein eventuell bereits installiertes MetaGer-Plugin entfernen.',
'result-saver.title': 'Gespeicherte Ergebnisse',
'result-saver.filter': 'Filtern',
'result-saver.sort.chronological': 'Chronologisch',
'result-saver.sort.ranking': 'MetaGer-Ranking',
'result-saver.sort.alphabetical': 'Alphabetisch (Hostname)',
'result-saver.delete': 'Ergebnis aus dem Speicher löschen'
},
'en': {
'select-engine': 'Please select at least 1 search engine.',
'select-valid-name': 'No characters other than a-z, A-Z, 0-9, ä, ö, ü, ß, -, _ allowed, at least 1 character',
'confirm-overwrite-name': 'Name already in use.\nOverwrite?',
'saved-settings': 'On the following startpage your settings are saved one-time. They will be lost after your first search. Though if you want to save them, you can create a bookmark for the generated startpage.',
'generated-plugin': 'Your browser plugin with personal settings was generated. Please follow the instructions on the following page to install it. Notice that beforehand you might have to delete a former MetaGer plugin.',
'result-saver.title': 'Saved Results',
'result-saver.filter': 'Filter',
'result-saver.sort.chronological': 'Chronological',
'result-saver.sort.ranking': 'MetaGer-Ranking',
'result-saver.sort.alphabetical': 'Alphabetical (Hostname)',
'result-saver.delete': 'Delete saved Result'
},
'es': {
'select-engine': 'Por favor, seleccione al menos un motor de búsqueda.',
'select-valid-name': 'Por favor, introduzca un nombre válido constituido por letras y números.',
'confirm-overwrite-name': 'Nombre ya ha sido elegido.\n¿Substituirlo?',
// 'saved-settings': '',
// 'generated-plugin': ''
// 'result-saver.sort.chronological': 'Chronologisch',
// 'result-saver.sort.ranking': 'MetaGer-Ranking',
// 'result-saver.sort.alphabetical': 'Alphabetisch (Hostname)',
// 'result-saver.delete': 'Ergebnis aus dem Speicher löschen',
}
};
/**
* Übersetzt den gegebenen Schlüssel in der gegebenen Sprache
* Gibt standardmäßig deutsche Sprachstrings zurück, da davon ausgegangen werden kann, dass diese immer vorhanden sind
* @param {string} key Zu übersetzender Schlüssel
* @param {string} lang Zu verwendende Sprache
*/
function t (key, lang) {
if (arguments.length == 1) {
var lang = $('html').attr('lang');
return translations[lang][key];
} else if (arguments.length == 2 && translations[lang] && translations[lang][key]) {
return translations[lang][key];
} else {
return translations.de[key];
}
}
......@@ -57,8 +57,8 @@ Results.prototype.sortResults = function () {
break;
case 'alphabetical': // by hostname
this.results.sort(function (a, b) {
if (b.hostname > a.hostname) return -1;
if (b.hostname < a.hostname) return 1;
if (b.hosterName > a.hosterName) return -1;
if (b.hosterName < a.hosterName) return 1;
return 0;
});
break;
......@@ -78,7 +78,7 @@ Results.prototype.loadAllResults = function () {
// Remove the prefix
key = key.substr(this.prefix.length);
// Create the result for this key by loading it from localstorage
var tmpResult = new Result(undefined, undefined, undefined, undefined, undefined, undefined, key);
var tmpResult = new Result(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, key);
// Add the result to the list of results
this.results.push(tmpResult);
}
......@@ -141,13 +141,13 @@ Results.prototype.addToContainer = function (container) {
var options = $('\
<div id="saver-options">\
<div class="saver-option saver-option-filter">\
<input class="form-control" type="text" placeholder="&#xf0b0 Filtern">\
<input class="form-control" type="text" placeholder="&#xf0b0 ' + t('result-saver.filter') + '">\
</div>\
<div class="saver-option saver-option-sort">\
<select class="form-control" style="font-family: FontAwesome, sans-serif;">\
<option value="chronological" style="font-family: FontAwesome, sans-serif;">&#xf017 Chronologisch</option>\
<option value="rank" style="font-family: FontAwesome, sans-serif;">&#xf162 MetaGer-Ranking</option>\
<option value="alphabetical" style="font-family: FontAwesome, sans-serif;">&#xf15d Alphabetisch (Hostname)</option>\
<option value="chronological" style="font-family: FontAwesome, sans-serif;">&#xf017 ' + t('result-saver.sort.chronological') + '</option>\
<option value="rank" style="font-family: FontAwesome, sans-serif;">&#xf162 ' + t('result-saver.sort.ranking') + '</option>\
<option value="alphabetical" style="font-family: FontAwesome, sans-serif;">&#xf15d ' + t('result-saver.sort.alphabetical') + '</option>\
</select>\
</div>\
<div class="saver-option saver-option-delete">\
......@@ -217,13 +217,13 @@ Results.prototype.addToContainer = function (container) {
* @param {int} rank The rank of this result
* @param {int} hash The hash value for this result
*/
function Result (title, link, anzeigeLink, description, anonym, index, hash) {
function Result (title, link, hosterName, hosterLink, anzeigeLink, description, anonym, index, hash) {
// Set prefix for localstorage
this.prefix = 'result_';
if (hash === null || hash === undefined) {
// Calculate the hash value of this result
hash = MD5(title + link + anzeigeLink + description + anonym);
hash = MD5(title + link + hosterName + hosterLink + anzeigeLink + description + anonym);
}
this.hash = hash;
......@@ -233,16 +233,14 @@ function Result (title, link, anzeigeLink, description, anonym, index, hash) {
// Save all important data
this.title = title;
this.link = link;
this.hosterName = hosterName;
this.hosterLink = hosterLink;
this.anzeigeLink = anzeigeLink;
this.description = description;
this.anonym = anonym;
this.index = index;
this.rank = index;
this.added = new Date().getTime();
// read the hostname from the displayed link
// matches everything from after a 'www' to the locality ending ('de', 'com', etc.)
var matches = /(?:www\.)*((?:[\w\-]+\.)+\w{2,3})(?:$|[/?])/.exec(this.anzeigeLink);
this.hostname = matches[1];
// Save this result to localstorage
this.save();
......@@ -257,25 +255,24 @@ Result.prototype.load = function () {
if (!localStorage) return false;
// Try to load from local storage
var result = localStorage.getItem(this.prefix + this.hash);
if (result === null) return false;
var encoded = localStorage.getItem(this.prefix + this.hash);
if (encoded === null) return false;
// Decode the base64 result into a normal string, then json
result = b64DecodeUnicode(result);
result = JSON.parse(result);
var decoded = b64DecodeUnicode(encoded);
var result = JSON.parse(decoded);
// Load all important data
this.title = result.title;
this.link = result.link;
this.anzeigeLink = result.anzeigeLink;
this.gefVon = result.gefVon;
this.hoster = result.hoster;
this.hosterName = result.hosterName;
this.hosterLink = result.hosterLink;
this.anonym = result.anonym;
this.description = result.description;
this.added = result.added;
this.index = -result.index;
this.rank = result.rank;
this.hostname = result.hostname;
return true;
};
......@@ -291,14 +288,13 @@ Result.prototype.save = function () {
title: this.title,
link: this.link,
anzeigeLink: this.anzeigeLink,
gefVon: this.gefVon,
hoster: this.hoster,
hosterName: this.hosterName,
hosterLink: this.hosterLink,
anonym: this.anonym,
description: this.description,
added: this.added,
index: this.index,
rank: this.rank,
hostname: this.hostname
rank: this.rank
};
// Encode the result object into a string, then into base64
......@@ -356,19 +352,24 @@ Result.prototype.toHtml = function () {
// Create the saved-result element
var result = $('\
<div class="saved-result result" data-count="' + this.index + '">\
<div class="saved-result-remover remover" title="Ergebnis aus dem Speicher löschen">\
<div class="saved-result-remover remover" title="' + t('result-saver.delete') + '">\
<i class="fa fa-trash"></i>\
</div>\
<div class="saved-result-content">\
<div class="result-header">\
<h2 class="result-title">\
<a class="title" href="' + this.link + '" target="_blank" data-count="1" rel="noopener">\
' + this.title + '\
<div class="result-headline">\
<h2 class="result-title">\
<a href="' + this.link + '" target="_blank" data-count="1" rel="noopener">\
' + this.title + '\
</a>\
</h2>\
<a class="result-hoster" href="' + this.hosterLink + '" target="_blank" data-count="1" rel="noopener">\
' + this.hosterName + '\
</a>\
<a class="result-link" href="' + this.link + '" target="_blank" data-hoster="' + this.hoster + '" rel="noopener">\
' + this.anzeigeLink + '\
</a>\
</h2>\
</div>\
<a class="result-link" href="' + this.link + '" target="_blank" rel="noopener">\
' + this.anzeigeLink + '\
</a>\
<div class="result-body">\
<div class="description">' + this.description + '</div>\
</div>\
......@@ -405,12 +406,14 @@ function resultSaver (index) {
// Read the necessary data from the result html
var title = $('.result[data-count=' + index + '] .result-title a').html().trim();
var link = $('.result[data-count=' + index + '] .result-title a').attr('href').trim();
var hosterName = $('.result[data-count=' + index + '] .result-hoster').html().trim();
var hosterLink = $('.result[data-count=' + index + '] .result-hoster').attr('href').trim();
var anzeigeLink = $('.result[data-count=' + index + '] .result-link').html().trim();
var description = $('.result[data-count=' + index + '] .result-description').html().trim();
var anonym = $('.result[data-count=' + index + '] .result-open-proxy').attr('href').trim();
// Create the result object
var result = new Result(title, link, anzeigeLink, description, anonym, index, null);
var result = new Result(title, link, hosterName, hosterLink, anzeigeLink, description, anonym, index, null);
// Add new result to results
results.addResult(result);
......
/**
* Übersetzt den Key in die aktuelle Sprache.
* Die Sprache kann optional auch explizit angegeben werden.
* Verwendung: t('KEY')
*/
// Speichert die Übersetzungen
var translations = {
'de': {
'select-engine': 'Bitte mindestens 1 Suchmaschine auswählen.',
'select-valid-name': 'Bitte gültigen Namen eingeben:\n* Keine Sonderzeichen\n* Mindestens 1 Buchstabe\n',
'confirm-overwrite-name': 'Name bereits genutzt.\nÜberschreiben?',
'saved-settings': 'Auf der folgenden Startseite sind Ihre Einstellungen nun einmalig gespeichert. Nach Ihrer ersten Suche sind diese wieder verloren. Wenn Sie diese speichern möchten, können Sie sich allerdings ein Lesezeichen für die generierte Startseite einrichten.',
'generated-plugin': 'Ihr Browserplugin mit den persönlichen Sucheinstellungen wurde generiert. Folgen Sie bitte der Anleitung auf der folgenden Seite um es zu installieren. Beachten Sie: Zuvor sollten Sie ein eventuell bereits installiertes MetaGer-Plugin entfernen.'
},
'de': {
'select-engine': 'Bitte mindestens 1 Suchmaschine auswählen.',
'select-valid-name': 'Bitte gültigen Namen eingeben:\n* Keine Sonderzeichen\n* Mindestens 1 Buchstabe\n',
'confirm-overwrite-name': 'Name bereits genutzt.\nÜberschreiben?',
'saved-settings': 'Auf der folgenden Startseite sind Ihre Einstellungen nun einmalig gespeichert. Nach Ihrer ersten Suche sind diese wieder verloren. Wenn Sie diese speichern möchten, können Sie sich allerdings ein Lesezeichen für die generierte Startseite einrichten.',
'generated-plugin': 'Ihr Browserplugin mit den persönlichen Sucheinstellungen wurde generiert. Folgen Sie bitte der Anleitung auf der folgenden Seite um es zu installieren. Beachten Sie: Zuvor sollten Sie ein eventuell bereits installiertes MetaGer-Plugin entfernen.',
'result-saver.title': 'Gespeicherte Ergebnisse',
'result-saver.filter': 'Filtern',
'result-saver.sort.chronological': 'Chronologisch',
'result-saver.sort.ranking': 'MetaGer-Ranking',
'result-saver.sort.alphabetical': 'Alphabetisch (Hostname)',
'result-saver.delete': 'Ergebnis aus dem Speicher löschen'
},
'en': {
'select-engine' : 'Please select at least 1 search engine.',
'select-valid-name': 'No characters other than a-z, A-Z, 0-9, ä, ö, ü, ß, -, _ allowed, at least 1 character',
'confirm-overwrite-name': 'Name already in use.\nOverwrite?',
'saved-settings': 'On the following startpage your settings are saved one-time. They will be lost after your first search. Though if you want to save them, you can create a bookmark for the generated startpage.',
'generated-plugin': 'Your browser plugin with personal settings was generated. Please follow the instructions on the following page to install it. Notice that beforehand you might have to delete a former MetaGer plugin.'
},
'en': {
'select-engine': 'Please select at least 1 search engine.',
'select-valid-name': 'No characters other than a-z, A-Z, 0-9, ä, ö, ü, ß, -, _ allowed, at least 1 character',
'confirm-overwrite-name': 'Name already in use.\nOverwrite?',
'saved-settings': 'On the following startpage your settings are saved one-time. They will be lost after your first search. Though if you want to save them, you can create a bookmark for the generated startpage.',
'generated-plugin': 'Your browser plugin with personal settings was generated. Please follow the instructions on the following page to install it. Notice that beforehand you might have to delete a former MetaGer plugin.',
'result-saver.title': 'Saved Results',
'result-saver.filter': 'Filter',
'result-saver.sort.chronological': 'Chronological',
'result-saver.sort.ranking': 'MetaGer-Ranking',
'result-saver.sort.alphabetical': 'Alphabetical (Hostname)',
'result-saver.delete': 'Delete saved Result'
},
'es': {
'select-engine': 'Por favor, seleccione al menos un motor de búsqueda.',
'select-valid-name': 'Por favor, introduzca un nombre válido constituido por letras y números.',
'confirm-overwrite-name': 'Nombre ya ha sido elegido.\n¿Substituirlo?',
// 'saved-settings': '',
// 'generated-plugin': ''
}
}
'es': {
'select-engine': 'Por favor, seleccione al menos un motor de búsqueda.',
'select-valid-name': 'Por favor, introduzca un nombre válido constituido por letras y números.',
'confirm-overwrite-name': 'Nombre ya ha sido elegido.\n¿Substituirlo?',
// 'saved-settings': '',
// 'generated-plugin': ''
// 'result-saver.sort.chronological': 'Chronologisch',
// 'result-saver.sort.ranking': 'MetaGer-Ranking',
// 'result-saver.sort.alphabetical': 'Alphabetisch (Hostname)',
// 'result-saver.delete': 'Ergebnis aus dem Speicher löschen',
}
};
/**
* Übersetzt den gegebenen Schlüssel in der gegebenen Sprache
......@@ -31,13 +53,13 @@ var translations = {
* @param {string} key Zu übersetzender Schlüssel
* @param {string} lang Zu verwendende Sprache
*/
function t(key, lang) {
if (arguments.length == 1) {
var lang = $('html').attr('lang');
return translations[lang][key];
} else if (arguments.length == 2 && translations[lang] && translations[lang][key]) {
return translations[lang][key];
} else {
return translations.de[key];
}
}
\ No newline at end of file
function t (key, lang) {
if (arguments.length == 1) {
var lang = $('html').attr('lang');
return translations[lang][key];
} else if (arguments.length == 2 && translations[lang] && translations[lang][key]) {
return translations[lang][key];
} else {
return translations.de[key];
}
}
......@@ -32,6 +32,7 @@
}
}
.result-hoster {
font-size: @result-font-small;
margin-left: 20px;
color: #808080;
white-space: nowrap;
......@@ -43,7 +44,8 @@
text-overflow: ellipsis;
white-space: nowrap;
font-size: @result-font-small;
width: auto;
width: fit-content;
max-width: 100%;
&,
&:active,
&:hover,
......
<?php
return [
'title' => 'Ergebnistitel',
'hoster' => 'Gefunden von',
'link' => 'Ergebnislink',
'description' => 'Zusammenfassung der Ergebnisseite',
'open.this' => 'Ergebnis in diesem Tab öffnen',
'open.newtab' => 'Ergebnis in einem neuen Tab öffnen',
'open.anonymous' => 'Ergebnis anonym (über den MetaGer-Proxy) öffnen',
'options.more' => 'Zusätzliche optionen anzeigen',
'options.save' => 'Ergebnis zum weiteren Filtern speichern',
'options.domain' => 'Neue auf diese Domain beschränkte Suche starten',
'options.subdomain' => 'Neue Suche ohne diese Subdomain starten',
'options.blacklist' => 'Neue Suche ohne diese Domain starten',
];
<?php
return [
'sumaev.1' => 'MetaGer wird entwickelt und betrieben vom ',
'sumaev.2' => 'SUMA-EV - Verein für freien Wissenszugang.'
];
<?php
return [
'nav1' => 'Suche',
'nav2' => 'Spenden',
'nav3' => 'Datenschutz',
'nav4' => 'Forum',
'nav5' => 'Kontakt',
'nav6' => 'Team',
'nav7' => 'Über uns',
'nav8' => 'Impressum',
'nav9' => 'Hilfe',
'nav10' => 'Widget',
'nav11' => 'Assoziator',
'nav13' => 'URL-Verkürzer',
'nav14' => 'TOR-Hidden-Service',
'nav15' => 'Dienste',
'nav16' => 'Fördern',
'nav17' => 'Einkaufen bei MetaGer-Fördershops',
'nav18' => 'Kontakt',
'nav19' => 'Sprache',
'nav20' => 'Hilfe',
'nav21' => 'FAQ',
'nav22' => 'Zitatsuche',
'nav23' => 'Aufnahmeantrag SUMA-EV',
'nav24' => 'MetaGer Quellcode',
'nav25' => 'MetaGer App',
'nav26' => 'MetaGer-Fanshop',
'navigationToggle' => 'Navigation anzeigen',
];
......@@ -2,35 +2,7 @@
return [
'opensearch' => 'MetaGer: Sicher suchen & finden, Privatsphäre schützen',
'nav1' => 'Suche',
'nav2' => 'Spenden',
'nav3' => 'Datenschutz',
'nav4' => 'Forum',
'nav5' => 'Kontakt',
'nav6' => 'Team',
'nav7' => 'Über uns',
'nav8' => 'Impressum',
'nav9' => 'Hilfe',
'nav10' => 'Widget',
'nav11' => 'Assoziator',
'nav13' => 'URL-Verkürzer',
'nav14' => 'TOR-Hidden-Service',
'nav15' => 'Dienste',
'nav16' => 'Fördern',
'nav17' => 'Einkaufen bei MetaGer-Fördershops',
'nav18' => 'Kontakt',
'nav19' => 'Sprache',
'nav20' => 'Hilfe',
'nav21' => 'FAQ',
'nav22' => 'Zitatsuche',
'nav23' => 'Aufnahmeantrag SUMA-EV',
'nav24' => 'MetaGer Quellcode',
'nav25' => 'MetaGer App',
'navigationToggle' => 'Navigation anzeigen',
'sumaev.1' => 'MetaGer wird entwickelt und betrieben vom ',
'sumaev.2' => 'SUMA-EV - Verein für freien Wissenszugang.',
'meta.Description' => 'Sicher suchen und finden unter Wahrung der Privatsphäre. Das digitale Wissen der Welt muss ohne Bevormundung durch Staaten oder Konzerne frei zugänglich sein und bleiben.',
'meta.Keywords' => 'Internetsuche, privatsphäre, privacy, Suchmaschine, Datenschutz, Anonproxy, anonym suchen, Bildersuche, Suchmaschine, anonym, MetaGer, metager, metager.de',
'meta.language' => 'de',
......
<?php
return [
'head.1' => 'MetaGer - Zitatsuche',
'p.1' => 'In dem unten stehenden Textfeld können Sie in unserer Datenbank nach Zitaten oder Autoren suchen.',
'title' => 'MetaGer - Zitatsuche',
'subtitle' => 'In dem unten stehenden Textfeld können Sie in unserer Datenbank nach Zitaten oder Autoren suchen.',
'search-label' => 'Suchworte eingeben',
'results-label' => 'Ergebnisse für die Suche',
];
......@@ -11,7 +11,6 @@
@include('parts.searchbar', ['class' => 'startpage-searchbar'])
<script type="text/javascript" src="{{ elixir('js/scriptStartPage.js') }}"></script>
<script type="text/javascript" src="{{ elixir('js/searchbar.js') }}"></script>
<script src="{{ elixir('js/translations.js') }}"></script>
@endsection
@section('optionalContent')
......
<div class="result fake-result" data-count="1">
<div class="result-header">
<h2 class="result-title">
<a href="javascript:void(0);" data-tooltip="Ergebnistitel">
Wikipedia – Die freie Enzyklopädie
</a>
</h2>
<a class="result-link" href="javascript:void(0);" data-tooltip="Ergebnislink">
<div class="result-headline">
<h2 class="result-title">
<a href="javascript:void(0);" data-tooltip="{{ trans('fake-result.title') }}">
Wikipedia – Die freie Enzyklopädie
</a>
</h2>
<a class="result-hoster" href="javascript:void(0);" data-tooltip="{{ trans('fake-result.link') }}">MetaGer</a>
</div>
<a class="result-link" href="javascript:void(0);" data-tooltip="{{ trans('fake-result.link') }}">
de.wikipedia.org
</a>
</div>
<div class="result-body">
<div class="result-description" data-tooltip="Zusammenfassung der Ergebnisseite">
<div class="result-description" data-tooltip="{{ trans('fake-result.description') }}">
Wikipedia ist ein Projekt zum Aufbau einer Enzyklopädie aus freien Inhalten, zu denen du sehr gern beitragen kannst. Seit Mai 2001 sind 2.150.918 Artikel in ...
</div>
</div>
<div class="result-footer">
<a class="result-open" href="javascript:void(0);" data-tooltip="Ergebnis in diesem Tab öffnen">
<a class="result-open" href="javascript:void(0);" data-tooltip="{{ trans('fake-result.open.this') }}">
ÖFFNEN
</a>
<a class="result-open-newtab" href="javascript:void(0);" data-tooltip="Ergebnis in einem neuen Tab öffnen">
<a class="result-open-newtab" href="javascript:void(0);" data-tooltip="{{ trans('fake-result.open.newtab') }}">
IN NEUEM TAB
</a>
<a class="result-open-proxy" href="javascript:void(0);" data-tooltip="Ergebnis anonym (über den MetaGer-Proxy) öffnen">
<a class="result-open-proxy" href="javascript:void(0);" data-tooltip="{{ trans('fake-result.open.anonymous') }}">
ANONYM ÖFFNEN
</a>
<div class="open-result-options">
<label for="result-toggle-1" role="button" data-tooltip="Zusätzliche optionen anzeigen">
<label for="result-toggle-1" role="button" data-tooltip="{{ trans('fake-result.options.more') }}">
MEHR
</label>
</div>
......@@ -35,22 +38,22 @@
<div class="options">
<ul class="option-list list-unstyled small">
<li class="">
<a class="saver" href="javascript:setDummySearch('wikipedia site:de.wikipedia.org wurde zum weiteren Filtern gespeichert')" data-tooltip="Ergebnis zum weiteren Filtern speichern">
<a class="saver" href="javascript:setDummySearch('wikipedia site:de.wikipedia.org wurde zum weiteren Filtern gespeichert')" data-tooltip="{{ trans('fake-result.options.save') }}">
<i class="fa fa-floppy-o"></i> Ergebnis in Tab speichern.
</a>
</li>
<li>
<a href="javascript:setDummySearch('wikipedia site:de.wikipedia.org')" data-tooltip="Neue auf diese Domain beschränkte Suche starten">
<a href="javascript:setDummySearch('wikipedia site:de.wikipedia.org')" data-tooltip="{{ trans('fake-result.options.domain') }}">
Auf dieser Domain neu suchen
</a>
</li>
<li>
<a href="javascript:setDummySearch('wikipedia -site:de.wikipedia.org')" data-tooltip="Neue Suche ohne diese Subdomain starten">
<a href="javascript:setDummySearch('wikipedia -site:de.wikipedia.org')" data-tooltip="{{ trans('fake-result.options.subdomain') }}">
de.wikipedia.org ausblenden
</a>
</li>
<li>
<a href="javascript:setDummySearch('wikipedia -site:*.wikipedia.org')" data-tooltip="Neue Suche ohne diese Domain starten">
<a href="javascript:setDummySearch('wikipedia -site:*.wikipedia.org')" data-tooltip="{{ trans('fake-result.options.blacklist') }}">
*.wikipedia.org ausblenden
</a>
</li>
......
@if ($type === 'startpage' || $type === 'subpage' || $type === 'resultpage')
<footer class="{{ $id }} noprint">