manually pulled - now pushed

pull/42/head
otter 9 years ago
parent 91e1e5640b
commit 1afefebd0f

@ -25,7 +25,7 @@
<classpathentry kind="lib" path="lib/json-simple-1.1.1.jar"/>
<classpathentry kind="lib" path="lib/xercesImpl.jar"/>
<classpathentry kind="lib" path="lib/xml-apis.jar"/>
<classpathentry kind="lib" path="lib/commons-compress-1.10.jar"/>
<classpathentry kind="lib" path="lib/commons-compress-1.11.jar"/>
<classpathentry kind="lib" path="lib/commons-lang-2.6.jar"/>
<classpathentry kind="lib" path="lib/jaudiotagger-2.0.4-20111207.115108-15.jar"/>
<classpathentry kind="lib" path="lib/commons-codec-1.10.jar"/>
@ -33,7 +33,7 @@
<classpathentry kind="lib" path="lib/slf4j-jdk14-1.7.18.jar"/>
<classpathentry kind="lib" path="lib/log4j-over-slf4j-1.7.18.jar"/>
<classpathentry kind="lib" path="lib/httpcore-4.4.4.jar"/>
<classpathentry kind="lib" path="lib/metadata-extractor-2.8.1.jar"/>
<classpathentry kind="lib" path="lib/metadata-extractor-2.9.1.jar"/>
<classpathentry kind="lib" path="lib/xmpcore-5.1.2.jar"/>
<classpathentry kind="lib" path="lib/jcifs-1.3.17.jar"/>
<classpathentry kind="lib" path="lib/guava-18.0.jar"/>
@ -47,7 +47,7 @@
<classpathentry kind="lib" path="lib/bcprov-jdk15-1.46.jar"/>
<classpathentry kind="lib" path="lib/poi-3.14-20160307.jar"/>
<classpathentry kind="lib" path="lib/poi-scratchpad-3.14-20160307.jar"/>
<classpathentry kind="lib" path="lib/commons-io-2.4.jar"/>
<classpathentry kind="lib" path="lib/commons-io-2.5.jar"/>
<classpathentry kind="lib" path="lib/slf4j-api-1.7.18.jar"/>
<classpathentry kind="lib" path="lib/chardet.jar"/>
<classpathentry kind="lib" path="lib/jetty-client-9.2.15.v20160210.jar"/>
@ -90,7 +90,7 @@
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="lib" path="lib/icu4j-56_1.jar"/>
<classpathentry kind="lib" path="lib/htmllexer.jar"/>
<classpathentry kind="lib" path="lib/jsoup-1.8.3.jar"/>
<classpathentry kind="lib" path="lib/jsoup-1.9.1.jar"/>
<classpathentry kind="lib" path="lib/javax.servlet-api-3.1.0.jar"/>
<classpathentry kind="lib" path="lib/weupnp-0.1.4.jar"/>
<classpathentry kind="lib" path="lib/common-image-3.2.1.jar"/>
@ -102,5 +102,6 @@
<classpathentry kind="lib" path="lib/imageio-bmp-3.2.1.jar"/>
<classpathentry kind="lib" path="lib/jsonic-1.2.0.jar"/>
<classpathentry kind="lib" path="lib/langdetect.jar"/>
<classpathentry kind="lib" path="lib/xliff-core-1.2-1.1.jar"/>
<classpathentry kind="output" path="gen"/>
</classpath>

@ -20,6 +20,16 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
<dictionary>
<key>LaunchConfigHandle</key>
<value>&lt;project&gt;/.externalToolBuilders/YaCy ottdist [Builder].launch</value>
</dictionary>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>

@ -35,17 +35,13 @@
<outputDirectory>htroot</outputDirectory>
</fileSet>
<fileSet>
<directory>langstats</directory>
<outputDirectory>langstats</outputDirectory>
<directory>langdetect</directory>
<outputDirectory>langdetect</outputDirectory>
</fileSet>
<fileSet>
<directory>locales</directory>
<outputDirectory>locales</outputDirectory>
</fileSet>
<fileSet>
<directory>ranking</directory>
<outputDirectory>ranking</outputDirectory>
</fileSet>
<fileSet>
<directory>skins</directory>
<outputDirectory>skins</outputDirectory>

@ -160,7 +160,6 @@
<!-- when changing paths here, please also update the paths in /addon/YaCy.app/Contents/Info.plist -->
<path id="project.class.path">
<pathelement location="${build}" />
<pathelement location="${htroot}" />
<pathelement location="${lib}/apache-mime4j-0.6.jar" />
<pathelement location="${lib}/bcmail-jdk15-1.46.jar" />
<pathelement location="${lib}/bcprov-jdk15-1.46.jar" />
@ -169,9 +168,9 @@
<pathelement location="${lib}/common-io-3.2.1.jar" />
<pathelement location="${lib}/common-lang-3.2.1.jar" />
<pathelement location="${lib}/commons-codec-1.10.jar" />
<pathelement location="${lib}/commons-compress-1.10.jar" />
<pathelement location="${lib}/commons-compress-1.11.jar" />
<pathelement location="${lib}/commons-fileupload-1.3.1.jar" />
<pathelement location="${lib}/commons-io-2.4.jar" />
<pathelement location="${lib}/commons-io-2.5.jar" />
<pathelement location="${lib}/commons-jxpath-1.3.jar" />
<pathelement location="${lib}/commons-lang-2.6.jar" />
<pathelement location="${lib}/commons-logging-1.2.jar" />
@ -209,7 +208,7 @@
<pathelement location="${lib}/jetty-xml-9.2.15.v20160210.jar" />
<pathelement location="${lib}/jsch-0.1.53.jar" />
<pathelement location="${lib}/json-simple-1.1.1.jar" />
<pathelement location="${lib}/jsoup-1.8.3.jar" />
<pathelement location="${lib}/jsoup-1.9.1.jar" />
<pathelement location="${lib}/log4j-over-slf4j-1.7.18.jar" />
<pathelement location="${lib}/lucene-analyzers-common-5.5.0.jar" />
<pathelement location="${lib}/lucene-analyzers-phonetic-5.5.0.jar" />
@ -229,7 +228,7 @@
<pathelement location="${lib}/lucene-suggest-5.5.0.jar" />
<pathelement location="${lib}/jsonic-1.2.0.jar" />
<pathelement location="${lib}/langdetect.jar" />
<pathelement location="${lib}/metadata-extractor-2.8.1.jar" />
<pathelement location="${lib}/metadata-extractor-2.9.1.jar" />
<pathelement location="${lib}/noggit-0.5.jar" />
<pathelement location="${lib}/org.restlet.jar" />
<pathelement location="${lib}/pdfbox-1.8.11.jar" />
@ -245,6 +244,7 @@
<pathelement location="${lib}/weupnp-0.1.4.jar" />
<pathelement location="${lib}/woodstox-core-asl-4.4.1.jar" />
<pathelement location="${lib}/xercesImpl.jar" />
<pathelement location="${lib}/xliff-core-1.2-1.1.jar" />
<pathelement location="${lib}/xml-apis.jar" />
<pathelement location="${lib}/xmpcore-5.1.2.jar" />
<pathelement location="${lib}/zookeeper-3.4.6.jar" />

@ -661,10 +661,7 @@ collection=user
730_ccfilter_busysleep=1000
730_ccfilter_memprereq=1048576
730_ccfilter_loadprereq=8.0
80_searchresult_idlesleep=10000
80_searchresult_busysleep=200
80_searchresult_memprereq=0
80_searchresult_loadprereq=2.0
85_scheduler_idlesleep=60000
85_scheduler_busysleep=60000
85_scheduler_memprereq=1048576
@ -1001,6 +998,9 @@ httpc.nameCacheNoCachingPatterns = .*.ath.cx,.*.blogdns.*,.*.boldlygoingnowhere.
#squid Redirector compatible
externalRedirector=
# the Yacy Version this config was created with
Version=
# old version value (keep to allow conversion of .conf, until next main releas > 1.83)
svnRevision=0
currentSkin=pdbootstrap

@ -39,14 +39,15 @@
</form>
<form action="ConfigLanguage_p.html" accept-charset="UTF-8">
<fieldset>
<fieldset><legend>Download Language File</legend>
<p>Supported formats are the internal language file (extension .lng) or XLIFF (extension .xlf) format.</p>
<dl>
<dt><label for="url_install">Install new language from URL</label>:</dt>
<dd>
<input type="text" name="url" id="url_install" size="30" />
</dd>
<dt><label for="use_lang"> Use this language</label></dt>
<dt><label for="use_lang">Use this language</label></dt>
<dd>
<input type="checkbox" name="use_lang" id="use_lang" value="on" checked="checked" />
</dd>

@ -29,11 +29,12 @@
//javac -classpath .:../Classes Blacklist_p.java
//if the shell's current path is HTROOT
import java.io.BufferedWriter;
import com.google.common.io.Files;
import java.io.File;
import java.io.FileWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@ -48,6 +49,7 @@ import net.yacy.kelondro.util.FileUtils;
import net.yacy.search.Switchboard;
import net.yacy.server.serverObjects;
import net.yacy.server.serverSwitch;
import net.yacy.utils.translation.TranslatorXliff;
public class ConfigLanguage_p {
@ -102,25 +104,33 @@ public class ConfigLanguage_p {
try {
final DigestURL u = new DigestURL(url);
it = FileUtils.strings(u.get(ClientIdentification.yacyInternetCrawlerAgent, null, null));
try {
File langFile = new File(langPath, u.getFileName());
final OutputStreamWriter bw = new OutputStreamWriter(new FileOutputStream(langFile), StandardCharsets.UTF_8.name());
while (it.hasNext()) {
bw.write(it.next() + "\n");
}
bw.close();
// convert downloaded xliff to internal lng file
final String ext = Files.getFileExtension(langFile.getName());
if (ext.equalsIgnoreCase("xlf") || ext.equalsIgnoreCase("xliff")) {
TranslatorXliff tx = new TranslatorXliff();
Map<String,Map<String,String>> lng = TranslatorXliff.loadTranslationsListsFromXliff(langFile);
langFile = new File(langPath, Files.getNameWithoutExtension(langFile.getName())+".lng");
tx.saveAsLngFile(null, langFile, lng);
}
if (post.containsKey("use_lang") && "on".equals(post.get("use_lang"))) {
Translator.changeLang(env, langPath, langFile.getName());
}
} catch (final IOException e) {
prop.put("status", "2");//error saving the language file
}
} catch(final IOException e) {
prop.put("status", "1");//unable to get url
prop.put("status_url", url);
return prop;
}
try {
final File langFile = new File(langPath, url.substring(url.lastIndexOf('/'), url.length()));
final BufferedWriter bw = new BufferedWriter(new PrintWriter(new FileWriter(langFile)));
while (it.hasNext()) {
bw.write(it.next() + "\n");
}
bw.close();
} catch(final IOException e) {
prop.put("status", "2");//error saving the language file
return prop;
}
if (post.containsKey("use_lang") && "on".equals(post.get("use_lang"))) {
Translator.changeLang(env, langPath, url.substring(url.lastIndexOf('/'), url.length()));
}
}
}

@ -10,7 +10,7 @@
<h2>Exclude Web-Spiders</h2>
<p>
Here you can set up a robots.txt for all webcrawlers that try to access the webinterface of your peer.
<span class="tt">robots.txt</span> is a volunteer agreement most search-engines (including YaCy) follow.
<span class="tt">robots.txt</span> is a voluntary agreement most search-engines (including YaCy) follow.
It disallows crawlers to access webpages or even entire domains.
</p>
#(error)#
@ -50,4 +50,4 @@
</form>
#%env/templates/footer.template%#
</body>
</html>
</html>

@ -97,20 +97,20 @@ public class NetworkHistory {
if (v != null && v.longValue() > 0) minpeers = Math.min(minpeers, (int) v.longValue());
}
}
ConcurrentLog.warn("NetworkHistory", "min:"+minpeers+" max:"+maxpeers);
if (minpeers == Integer.MAX_VALUE) minpeers=0; // no values
if (minpeers < 0) {
ConcurrentLog.warn("NetworkHistory", "Negative value in plot. columns:"+columns);
minpeers=0;
}
if (minpeers==maxpeers) {
minpeers=Math.max(0,minpeers-10);
maxpeers+=10;
}
if (maxpeers-minpeers > 2*minpeers) minpeers=0; // if we are close enough to zero, use zero as minimum
int order=(int)Math.log10(maxpeers-minpeers);
if (order<1) order=1;
int scale=(int)Math.pow(10, order);
minpeers=(minpeers/scale)*scale;
maxpeers=((maxpeers/scale)+1)*scale;
if ((maxpeers-minpeers)/scale < 3) scale=Math.max(1,scale/2);
ConcurrentLog.warn("NetworkHistory", "min:"+minpeers+" max:"+maxpeers+" order:"+order+" scale:"+scale);
final int leftborder = 30;
final int rightborder = 10;
final int width = post.getInt("width", 768 + leftborder + rightborder);

@ -190,7 +190,13 @@
<p>the change will take effect after restart.</p>
<p>Note: the SSL option must be switched on, see <a href="ConfigBasic.html">Basic Configuration</a></p>
#(/info)#
<p></p>
#(needsRestart)#
<p>You can now go back to the <a href="#[referer]#">Settings</a> page if you want to make more changes.</p>
::
<p class="warning">Your need to restart YaCy to activate the changes.</p>
<p>or go back to the <a href="#[referer]#">Settings</a> page to make more changes.</p>
#(/needsRestart)#
#%env/templates/footer.template%#
</body>
</html>

@ -57,7 +57,8 @@ public class SettingsAck_p {
// get referer for backlink
final MultiProtocolURL referer = header.referer();
prop.put("referer", (referer == null) ? "Settings_p.html" : referer.toNormalform(true));
prop.put("needsRestart_referer", (referer == null) ? "Settings_p.html" : referer.toNormalform(true));
prop.put("needsRestart", false);
//if (post == null) System.out.println("POST: NULL"); else System.out.println("POST: " + post.toString());
if (post == null) {
@ -152,8 +153,9 @@ public class SettingsAck_p {
// set transparent proxy flag
boolean isTransparentProxy = post.containsKey("isTransparentProxy");
env.setConfig("isTransparentProxy", isTransparentProxy);
env.setConfig(SwitchboardConstants.PROXY_TRANSPARENT_PROXY, isTransparentProxy);
prop.put("info_isTransparentProxy", isTransparentProxy ? "on" : "off");
if (isTransparentProxy) prop.put("needsRestart", isTransparentProxy);
// set proxyAlwaysFresh flag
boolean proxyAlwaysFresh = post.containsKey("proxyAlwaysFresh");

@ -32,7 +32,7 @@
<td>Specifies if the proxy should send the X-Forwarded-For http header.</td>
</tr>
<tr valign="top">
<td colspan="3"><input type="submit" class="btn btn-primary btn-sm" name="httpNetworking" value="Submit" /> <em>Changes will take effect immediately.</em></td>
<td colspan="3"><input type="submit" class="btn btn-primary btn-sm" name="httpNetworking" value="Submit" /></td>
</tr>
</table>
</fieldset>

@ -31,6 +31,7 @@ import net.yacy.peers.Network;
import net.yacy.peers.Seed;
import net.yacy.peers.operation.yacySeedUploader;
import net.yacy.search.Switchboard;
import net.yacy.search.SwitchboardConstants;
import net.yacy.server.serverObjects;
import net.yacy.server.serverSwitch;
@ -83,7 +84,7 @@ public final class Settings_p {
prop.putHTML("peerLang", peerLang);
// http networking settings
prop.put("isTransparentProxy", env.getConfigBool("isTransparentProxy", false) ? "1" : "0");
prop.put("isTransparentProxy", env.getConfigBool(SwitchboardConstants.PROXY_TRANSPARENT_PROXY, false) ? "1" : "0");
prop.put("proxyAlwaysFresh", env.getConfigBool("proxyAlwaysFresh", false) ? "1" : "0");
prop.put("proxy.sendViaHeader", env.getConfigBool("proxy.sendViaHeader", false) ? "1" : "0");
prop.put("proxy.sendXForwardedForHeader", env.getConfigBool("proxy.sendXForwardedForHeader", true) ? "1" : "0");

@ -207,7 +207,7 @@ public class Status
} else {
prop.put("remoteProxy", "0"); // not used
}
prop.put("info_isTransparentProxy", sb.getConfigBool("isTransparentProxy", false) ? "0" : "1");
prop.put("info_isTransparentProxy", sb.getConfigBool(SwitchboardConstants.PROXY_TRANSPARENT_PROXY, false) ? "0" : "1");
prop.put("info_proxyURL", sb.getConfigBool("proxyURL", false) ? "0" : "1");
// peer information

@ -4,7 +4,7 @@
<dl>
<dt>System</dt>
<dd>YaCy version #[versionpp]#
<dd>YaCy version: #[versionpp]#
#(peerStatistics)#
Unknown
::

@ -50,6 +50,7 @@ import net.yacy.document.ImageParser;
import net.yacy.kelondro.util.FileUtils;
import net.yacy.peers.graphics.EncodedImage;
import net.yacy.search.Switchboard;
import net.yacy.search.SwitchboardConstants;
import net.yacy.server.serverObjects;
import net.yacy.server.serverSwitch;
@ -257,10 +258,10 @@ public class snapshot {
SolrDocument sd = sb.index.fulltext().getMetadata(durl.hash());
boolean success = false;
if (sd == null) {
success = Transactions.store(durl, new Date(), 99, false, true, sb.getConfigBool("isTransparentProxy", false) ? "http://127.0.0.1:" + sb.getConfigInt("port", 8090) : null, sb.getConfig("crawler.http.acceptLanguage", null));
success = Transactions.store(durl, new Date(), 99, false, true, sb.getConfigBool(SwitchboardConstants.PROXY_TRANSPARENT_PROXY, false) ? "http://127.0.0.1:" + sb.getConfigInt("port", 8090) : null, sb.getConfig("crawler.http.acceptLanguage", null));
} else {
SolrInputDocument sid = sb.index.fulltext().getDefaultConfiguration().toSolrInputDocument(sd);
success = Transactions.store(sid, false, true, true, sb.getConfigBool("isTransparentProxy", false) ? "http://127.0.0.1:" + sb.getConfigInt("port", 8090) : null, sb.getConfig("crawler.http.acceptLanguage", null));
success = Transactions.store(sid, false, true, true, sb.getConfigBool(SwitchboardConstants.PROXY_TRANSPARENT_PROXY, false) ? "http://127.0.0.1:" + sb.getConfigInt("port", 8090) : null, sb.getConfig("crawler.http.acceptLanguage", null));
}
if (success) {
pdfSnapshots = Transactions.findPaths(durl, "pdf", Transactions.State.ANY);

@ -184,7 +184,6 @@ public final class transferRWI {
byte[] urlHash;
WordReferenceRow iEntry;
final HandleSet unknownURL = new RowHandleSet(Word.commonHashLength, Word.commonHashOrder, 0);
final HandleSet knownURL = new RowHandleSet(Word.commonHashLength, Word.commonHashOrder, 0);
final ArrayList<String> wordhashes = new ArrayList<String>();
int received = 0;
int blocked = 0;
@ -206,9 +205,9 @@ public final class transferRWI {
iEntry = new WordReferenceRow(estring.substring(p));
urlHash = iEntry.urlhash();
// block blacklisted entries
// block blacklisted entries
if ((blockBlacklist) && (Switchboard.urlBlacklist.hashInBlacklistedCache(BlacklistType.DHT, urlHash))) {
Network.log.fine("transferRWI: blocked blacklisted URLHash '" + ASCII.String(urlHash) + "' from peer " + otherPeerName);
Network.log.fine("transferRWI: blocked blacklisted URLHash '" + ASCII.String(urlHash) + "' from peer " + otherPeerName);
blocked++;
continue;
}
@ -236,9 +235,7 @@ public final class transferRWI {
for (String id: testids) {
try {
try {
if (sb.index.fulltext().getLoadTime(id) >= 0) {
knownURL.put(ASCII.getBytes(id));
} else {
if (sb.index.fulltext().getLoadTime(id) < 0) {
unknownURL.put(ASCII.getBytes(id));
}
} catch (IOException e) {

@ -556,31 +556,18 @@ public class yacysearch {
}
final String recommendHash = post.get("recommendref", ""); // urlhash
final URIMetadataNode urlentry = indexSegment.fulltext().getMetadata(UTF8.getBytes(recommendHash));
if ( urlentry != null ) {
Document[] documents = null;
try {
documents =
sb.loader.loadDocuments(
sb.loader.request(urlentry.url(), true, false),
CacheStrategy.IFEXIST,
Integer.MAX_VALUE, BlacklistType.SEARCH, ClientIdentification.yacyIntranetCrawlerAgent);
} catch (final IOException e ) {
} catch (final Parser.Failure e ) {
}
if ( documents != null ) {
// create a news message
final Map<String, String> map = new HashMap<String, String>();
map.put("url", urlentry.url().toNormalform(true).replace(',', '|'));
map.put("title", urlentry.dc_title().replace(',', ' '));
map.put("description", documents[0].dc_title().replace(',', ' '));
map.put("author", documents[0].dc_creator());
map.put("tags", documents[0].dc_subject(' '));
sb.peers.newsPool.publishMyNews(
if (urlentry != null) {
// create a news message
final Map<String, String> map = new HashMap<String, String>();
map.put("url", urlentry.url().toNormalform(true).replace(',', '|'));
map.put("title", urlentry.dc_title().replace(',', ' '));
map.put("description", urlentry.getDescription().isEmpty() ? urlentry.dc_title().replace(',', ' ') : urlentry.getDescription().get(0).replace(',', ' '));
map.put("author", urlentry.dc_creator());
map.put("tags", urlentry.dc_subject().replace(',', ' '));
sb.peers.newsPool.publishMyNews(
sb.peers.mySeed(),
NewsPool.CATEGORY_SURFTIPP_ADD,
map);
documents[0].close();
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

@ -102,7 +102,6 @@ With this settings you can activate or deactivate augmented browsing which happe
Augmented Browsing:==Angereichertes Browsing:
#>Enabled<==>Aktiviert<
Enables or disables augmented browsing. If enabled, all websites will be modified during loading.==Schaltet angereichertes Browsing an oder ab. Wenn aktiviert werden alle Webseite während des Ladens modifiziert.
#"Submit"=="Absenden"
#-----------------------------
#File: Blacklist_p.html
@ -383,7 +382,6 @@ Save User==Benutzer speichern
#---------------------------
Appearance and Integration==Erscheinungsbild und Integration
You can change the appearance of the YaCy interface with skins.==Sie können hier das Aussehen der YaCy Oberfläche mit Skins verändern,
#You can change the appearance of YaCy with skins==Sie können hier das Erscheinungsbild von YaCy mit Skins ändern
The selected skin and language also affects the appearance of the search page.==das ausgewählte Design und die gewählte Sprache wirken sich auch auf das Erscheinungsbild der Suchseite aus.
If you <a href="ConfigPortal.html">create a search portal with YaCy</a> then you can==Wenn Sie <a href="ConfigPortal.html">ein Such-Portal mit Yacy erstellen möchten</a> können Sie
change the appearance of the search page here.==das Erscheinungsbild der Suchseite <a href="ConfigPortal.html">hier</a> weitgehend ändern und die standard Grafiken und Links auf der Suchseite durch Ihre eigenen ersetzen.
@ -424,7 +422,7 @@ Error saving the skin.==Fehler beim Speichern des Skins.
#File: ConfigBasic.html
#---------------------------
Access Configuration==Zugangseinstellungen
Basic Configuration==Eingangskonfiguration
Basic Configuration==Grundkonfiguration
Your YaCy Peer needs some basic information to operate properly==Ihr YaCy-Peer benötigt einige Grundinformationen, um korrekt zu funktionieren
Select a language for the interface==Wählen Sie eine Sprache für das Interface
Use Case: what do you want to do with YaCy:==Anwendungsfall: Was Sie mit YaCy tun wollen:
@ -450,7 +448,7 @@ Peer Port:==Peer-Port:
with SSL== mit SSL
https enabled==https aktiviert
on port == auf Port
Configure your router for YaCy:==Ihren Router für YaCy konfigurieren:
Configure your router for YaCy using UPnP:==Ihren Router für YaCy konfigurieren, via UPnP:
Configuration was not successful. This may take a moment.==Die Konfiguration war nicht erfolgreich. Dies kann einen Moment dauern.
Set Configuration==Konfiguration speichern
What you should do next:==Was Sie als Nächstes tun können:
@ -473,8 +471,7 @@ You can also use your peer without opening it, but this is not recomended.==Sie
#---------------------------
Heuristics Configuration==Heuristik Konfiguration
A <a href="http://en.wikipedia.org/wiki/Heuristic" target="_blank">heuristic</a> is an 'experience-based technique that help in problem solving, learning and discovery' (wikipedia).==<a href="http://de.wikipedia.org/wiki/Heuristik" target="_blank">Heuristik</a> 'bezeichnet die Kunst, mit begrenztem Wissen und wenig Zeit zu guten Lösungen zu kommen.' (Wikipedia).
The search heuristics that can be switched on here are techniques that help the discovery of possible search results based on link guessing, in-search crawling and requests to other search engines.==
Die Heuristik zur Suche die hier angeschalten werden können sind Techniken die helfen mögliche Suchergebnisse zu entdecken mit Hilfe von erratenen Links, Crawls während der Suche und Anfragen an andere Suchmaschinen.
The search heuristics that can be switched on here are techniques that help the discovery of possible search results based on link guessing, in-search crawling and requests to other search engines.==Die Heuristik zur Suche die hier angeschalten werden können sind Techniken die helfen mögliche Suchergebnisse zu entdecken mit Hilfe von erratenen Links, Crawls während der Suche und Anfragen an andere Suchmaschinen.
When a search heuristic is used, the resulting links are not used directly as search result but the loaded pages are indexed and stored like other content.==Wenn eine Such Heuristik verwendet wird, werden die gefunden Links nicht direkt als Suchergebnisse angezeigt aber dafür die geladenen Seiten indexiert und mit dem anderen Inhalt abgespeichert.
This ensures that blacklists can be used and that the searched word actually appears on the page that was discovered by the heuristic.==Damit wird sichergestellt dass die Sperrlisten verwendet werden können und dass die Suchbegriffe auch wirklich auf den Seiten auftauchen, die mithilfe der Heuristik gefunden wurden.
The success of heuristics are marked with an image==Der Erfolg der Heuristik wird mit einem Bild markiert
@ -499,7 +496,6 @@ opensearch load external search result list from active systems below==Lade exte
When using this heuristic, then every new search request line is used for a call to listed opensearch systems.==Wenn diese Heuristik genutzt wird, dann wird jede neue Suchanfragezeile für einen Aufruf der aufgelisteten OpenSearch Systeme verwendet.
20 results are taken from remote system and loaded simultanously, parsed and indexed immediately.==20 Resultate werden vom remote System genommen und simultan geladen, geparsed und sofort indexiert.
To find out more about OpenSearch see==Um mehr über OpenSearch zu erfahren besuche
#>OpenSearch.org<==>OpenSearch.org<
Available/Active Opensearch System==Verfügbare/Aktive OpenSearch Systeme
>Active<==>Aktiv<
>Title<==>Titel<
@ -547,10 +543,11 @@ Delete cached snippet-fetching failures during search==Lösche gecachte Snippet-
Language selection==Sprachauswahl
You can change the language of the YaCy-webinterface with translation files.==Hier können Sie die Sprache ändern. Wählen Sie die gewünschte Sprache aus der Liste aus.
Current language</label>==Aktuelle Sprache</label>
#default(english)==Deutsch
Author(s) (chronological)</label>==Autoren (chronologisch)</label>
Send additions to maintainer</em>==Schicken Sie Ergänzungen bitte an</em>
Available Languages</label>==Verfügbare Sprachen</label>
Download Language File==Sprachdatei herunterladen
Supported formats are the internal language file (extension .lng) or XLIFF (extension .xlf) format.==Unterstütztes Format ist das interne Sprachdatei (Dateiendung .lng) oder XLIFF (Dateiendung .xlf) Format.
Install new language from URL==Neue Sprachdatei herunterladen
Use this language==Diese Sprachdatei sofort benutzen
"Use"=="Benutzen"
@ -579,8 +576,6 @@ Installing:==Installieren:
download yacy-portalsearch.tar.gz from==Downloaden von yacy-portalsearch.tar.gz von
unpack within your HTTP servers path==Entpacken in das HTTP Server Verzeichnis
use ./yacy/portalsearch/yacy-portalsearch.html as reference for integration with your own portal page==Verwenden von ./yacy/portalsearch/yacy-portalsearch.html als Referenz für eine Integration mit Ihrem bestehenen Portal
#Remote access through selected YaCy Peer==Remote Access durch ausgewähltes YaCy Peer
#Advantages:==Vorteile:
Always latest version of YaCy Search Widget==Immer die aktuellste Version des YaCy Suchwidgets
No Ajax/JSONP cross domain requests, as Search Widget and YaCy Peer are hosted on the same domain.==Keine AJAX/JSON cross Domainanfragen, da Suchwidget und YaCy auf derselben Domäne gehostet werden.
Under certain cirumstances slower than static hosting==Unter bestimmten Umständen langsamer als statisches Hosting
@ -602,8 +597,7 @@ url<==URL<
Size and position (width | height | position)==Größe und Position (Breite | Höhe | Position)
Specifies where the dialog should be displayed. Possible values for position: 'center', 'left', 'right', 'top', 'bottom', or an array containing a coordinate pair (in pixel offset from top left of viewport) or the possible string values (e.g. ['right','top'] for top right corner)==Gibt an wo der Dialog angezeigt werden soll. Mögliche Werte für position: 'center', 'left', 'right', 'top', 'bottom', oder ein Array das ein Koordinatenpaar enthält (in Pixel Werten als Offset von der linken oberen Ecke des Viewports) oder einer möglichen String Variabble (e.g. ['right','top'] für die rechte obere Ecke)
Animation effects (show | hide)==Animationseffekte (show | hide)
The effect to be used. Possible values: 'blind', 'clip', 'drop', 'explode', 'fold', 'puff', 'slide', 'scale', 'size', 'pulsate'.==
Der Effekt der angewendet werden soll. Mögliche Werte sind: 'blind', 'clip', 'drop', 'explode', 'fold', 'puff', 'slide', 'scale', 'size', 'pulsate'.
The effect to be used. Possible values: 'blind', 'clip', 'drop', 'explode', 'fold', 'puff', 'slide', 'scale', 'size', 'pulsate'.==Der Effekt der angewendet werden soll. Mögliche Werte sind: 'blind', 'clip', 'drop', 'explode', 'fold', 'puff', 'slide', 'scale', 'size', 'pulsate'.
Interaction (modal | resizable)==Interaktion (modal | resizable)
If modal is set to true, the dialog will have modal behavior; other items on the page will be disabled (i.e. cannot be interacted with).==Wenn modal auf true gesetzt wird verhält sich der Dialog genau so; Andere Elemente auf der Seite werden deaktiviert. (können also solange das Fenster geöffnet ist nicht verwendet werden)
Modal dialogs create an overlay below the dialog but above other page elements.==Modale Dialoge erzeugen einen Overlay unter dem Dialog aber überhalb anderer Seitenelemente
@ -636,7 +630,7 @@ YaCy can operate a computing grid of YaCy peers or as a stand-alone node.==Sie k
To control that all participants within a web indexing domain have access to the same domain,==Um zu kontrollieren, dass alle Teilnehmer innerhalb einer Indexierungs Domain Zugriff zu der selben Domain haben,
this network definition must be equal to all members of the same YaCy network.==müssen diese Netzwerkdefinitionen bei allen Mitgliedern des YaCy Netzwerkes gleich sein.
Network Definition==Netzwerk Definition
Network Nick==Netzwerk Nick
Network Nick==Netzwerk Name
Long Description==Lange Beschreibung
Indexing Domain==Indexierungs Domain
#DHT==DHT
@ -695,8 +689,7 @@ Content Parser Settings==Inhalt Parser Einstellungen
With this settings you can activate or deactivate parsing of additional content-types based on their MIME-types.==Mit diesen Einstellungen können Sie das Parsen zusätzlicher Dateitypen basierend auf ihren MIME-Typen ermöglichen.
For a detailed description of the various MIME-types take a look at==Für eine detailierte Beschreibung der verschiedenen MIME-Typen können Sie einen Blick auf
http://www.iana.org/assignments/media-types/</a>==http://www.iana.org/assignments/media-types/</a> werfen.
If you want to test a specific parser you can do so using the==
Wenn Sie einen bestimmten Parser testen wollen, verwenden Sie dafür den
If you want to test a specific parser you can do so using the==Wenn Sie einen bestimmten Parser testen wollen, verwenden Sie dafür den
>File Viewer<==>Datei Betrachter<
> enable/disable<==> aktiv / inaktiv<
>Extension<==>Erweiterung<
@ -711,8 +704,7 @@ If you like to integrate YaCy as portal for your web pages, you may want to chan
The search page may be customized.==Die Suchseite kann auf die eigenen Bedürfnisse zugeschnitten werden.
You can change the 'corporate identity'-images, the greeting line==Sie können die 'Corporate Identity' Bilder, die Grußzeile
and a link to a home page that is reached when the 'corporate identity'-images are clicked.==und einen Link auf die Homepage ändern, der aufgerufen wird wenn die 'Corporate Identity' Bilder angeklickt werden.
To change also colours and styles use the <a href="ConfigAppearance_p.html">Appearance Servlet</a> for different skins and languages.==
Um auch die Farben und Stile zu verändern verwenden Sie das <a href="ConfigAppearance_p.html">Servlet Aussehen</a> für andere Skins und Sprachen.
To change also colours and styles use the <a href="ConfigAppearance_p.html">Appearance Servlet</a> for different skins and languages.==Um auch die Farben und Stile zu verändern verwenden Sie das <a href="ConfigAppearance_p.html">Servlet Aussehen</a> für andere Skins und Sprachen.
Greeting Line<==Grußzeile<
URL of Home Page<==URL der Homepage<
URL of a Small Corporate Image<==URL des kleinen Corporate Identity Bildes<
@ -721,7 +713,6 @@ Enable Search for Everyone?==Suche für Jedermann aktivieren?
Search is available for everyone==Suche steht für Jedermann zur Verfügung
Only the administator is allowed to search==Nur der Administrator darf suchen
Show additional interaction features in footer==Zeige zusätzliche Features zur Interaktion in der Fußzeile
User-Logon==Benutzer-Logon
Snippet Fetch Strategy &amp; Link Verification==Snippet Fetch Strategie &amp; Link Verifikation
Speed up search results with this option! (use CACHEONLY or FALSE to switch off verification)==Beschleunige die Suchergebnisse mit dieser Option! (Verwende CACHEONLY oder FALSE, um die Verifikation abzuschalten)
NOCACHE: no use of web cache, load all snippets online==NOCACHE: Keine Verwendung des Webcache, alle Snippets online laden
@ -814,7 +805,7 @@ Network pages==der Netzwerkseiten
Surftips==der Surftipps
News pages==der News-Seiten
Blog==des Blogs
Wiki=des Wikis
Wiki==des Wikis
Public bookmarks==der öffentlichen Lesezeichen
Home Page==der Home-Page
File Share==des File-Shares
@ -846,7 +837,7 @@ To change colors and styles use the ==Um die Farben und Stile zu ändern, verwen
menu for different skins.== Menü für verschiedene Skins.
Other portal settings can be adjusted in==Andere Einstellungen für das Portal können im
>Generic Search Portal<==>Generisches Suchportal<
menu.=Menü geändert werden.
menu.==Menü geändert werden.
>Page Template<==>Seiten Template<
#>Administration<==>Administration<
>Web Search<==>Websuche<
@ -939,7 +930,7 @@ Last Deploy==Letztes Update
#---------------------------
Connection Tracking==Verbindungsstatus
Incoming Connections==Eingehende Verbindungen
Showing #[numActiveRunning]# active, #[numActivePending]# pending connections from a max. of #[numMax]# allowed incoming connections.==Es werden #[numActiveRunning]# aktive und #[numActivePending]# wartende Verbindungen von max. #[numMax]# erlaubten eingehenden Verbindungen angezeigt.
Showing #[numActiveRunning]# active connections from a max. of #[numMax]# allowed incoming connections.==Es werden #[numActiveRunning]# Verbindungen von max. #[numMax]# erlaubten eingehenden Verbindungen angezeigt.
Protocol</td>==Protokoll</td>
Duration==Dauer
Source IP[:Port]==Quell-IP[:Port]
@ -1052,7 +1043,7 @@ Seg-<br/>ments==Seg-<br/>mente
>solr search api<==>Solr Such-API<
>Webgraph Edges<==>Webgraph Kanten<
Citations<br/>(reverse link index)==Citations<br/>(Rückwärts Such Index)
RWIs<br/>(P2P Chunks)==RWIs<br/>(P2P Anteile)<
RWIs<br/>(P2P Chunks)==RWIs<br/>(P2P Anteile)
Local Crawler==Lokaler Crawler
Limit Crawler==Limitierter Crawler
Remote Crawler==Entfernter Crawler
@ -1075,9 +1066,7 @@ Load<==Auslastung<
>Scheduled Crawls can be modified in this table<==>Geplante Crawls können in dieser Tabelle geändert werden<
Crawl profiles hold information about a crawl process that is currently ongoing.==Crawl Profile beinhalten Informationen über einen Crawl Prozess der gerade ausgeführt wird.
#Crawl profiles hold information about a specific URL which is internally used to perform the crawl it belongs to.==Crawl Profile enthalten Informationen über eine spezifische URL, welche intern genutzt wird, um nachzuvollziehen, wozu der Crawl gehört.
#The profiles for remote crawls, <a href="ProxyIndexingMonitor_p.html">indexing via proxy</a> and snippet fetches==Die Profile für Remote Crawl, <a href="ProxyIndexingMonitor_p.html">Indexierung per Proxy</a> und Snippet Abrufe
#cannot be altered here as they are hard-coded.==können nicht verändert werden, weil sie "hard-coded" sind.
Crawl Profile List==Crawl Profil Liste
Crawl Thread==Crawl Art
#Status==Status
@ -1357,7 +1346,7 @@ only the given host(s)==Nur den/die angegebenen Host(s)
addresses)==Addressen)
Subnet<==Subnetz<
Time-Out<==Timeout<
>Scan Cache<==>Scan Cache<
#>Scan Cache<==>Scan Cache<
accumulate scan results with access type "granted" into scan cache (do not delete old scan result)==Sammle Scan Ergebnisse mit dem Zugriffstyp "granted" im Scan Cache (Lösche keine alten Scan Ergebnisse)
>Service Type<==>Service Typ<
#>ftp==>FTP
@ -1374,20 +1363,6 @@ Look every==Überprüfe alle
again and add new sites automatically to indexer.==wieder und füge neue Seiten automatisch zum Indexer hinzu.
Sites that do not appear during a scheduled scan period will be excluded from search results.==Seiten die nicht im Laufe eines geplanten Scans auftauchen werden von den Suchergebnissen ausgeschlossen.
"Scan"=="Scannen"
#The following servers had been detected:==Die folgenden Server wurden entdeckt:
#Available server within the given IP range==Verfügbare Server innerhalb des angegebenen IP Bereichs
#>Protocol<==>Protokoll<
#>IP<==>IP<
#>URL<==>URL<
#>Access<==>Zugriff<
#>Process<==>Prozess<
#>unknown<==>unbekannt<
#>empty<==>leer<
#>granted<==>erlaubt<
#>denied<==>verweigert<
#>not in index<==>nicht im Index<
#>indexed<==>indexiert<
#"Add Selected Servers to Crawler"=="Füge ausgewählte Server zum Crawlen hinzu"
#-----------------------------
#File: CrawlStartSite.html
@ -1697,8 +1672,8 @@ Retrieve by URL:<==Abfrage nach URL:<
Retrieve by URL-Hash==Abfrage nach URL-Hash
"Show Details for URL-Hash"=="Details für URL-Hash zeigen"
#"Generate List"=="Liste erstellen"
Cleanup=Aufräumen
Index Deletion=Löschen des Index
Cleanup==Aufräumen
Index Deletion==Löschen des Index
Delete local search index (embedded Solr and old Metadata)==Lösche den lokalen Suchindex (Embedded Solr und alte Metadaten)
Delete remote solr index==Lösche entfernten Solr Index
Delete RWI Index (DHT transmission words)==Lösche RWI Index (DHT übertragene Worte)
@ -1713,7 +1688,7 @@ Show top==Zeige die
domains from all URLs.==Top-Domains aus allen URLs.
"Generate Statistics"=="Statistik erstellen"
Dump and Restore of Solr Index==Dump und Wiederherstellen des Solr Index
Dump File=Dump Datei
Dump File==Dump Datei
"Create Dump"=="Erstelle Dump"
"Restore Dump"=="Stelle Dump wieder her"
Optimize Solr==Optimiere Solr
@ -1837,7 +1812,7 @@ this must be the path right in front of '/viewtopic.php?'==dies muss den komplet
Type==Typ
> of database<==> der Datenbank<
use either 'mysql' or 'pgsql'==Verwende entweder 'mysql' oder 'pgsql'
Host=Hostname
Host==Hostname
> of the database<==> der Datenbank<
of database service==des Datenbank Dienstes
usually 3306 for mySQL==normalerweise 3306 für MySQL
@ -2397,6 +2372,16 @@ this peer==Ihr Peer
#Please check your internet connection.==Bitte überprüfen Sie Ihre Internetverbindung.
#You are not in online mode. To get online, press this button:==Sie sind nicht im Online-Modus. Um Online zu gehen, drücken Sie diesen Knopf:
#"go online"=="online gehen"
Network History==Netzwerk Historie
Count of Connected Senior Peers==Anzahl aktiver Senior Peers
in the last two days, scale = 1h==in den letzten 2 Tagen, Teilung 1h
Count of all Active Peers Per Day==Anzahl aktiver Peers pro Tag
in the last week, scale = 1d==in der letzten Woche, Teilung 1 Tag
Count of all Active Peers Per Week==Anzahl aktiver Peers pro Woche
in the last 30d, scale = 7d==in den letzten 30 Tagen, Teilung 7 Tage
Count of all Active Peers Per Month==Anzahl aktiver Peers pro Monat
in the last 365d, scale = 30d==in den letzten 365 Tagen, Teilung 30 Tage
#-----------------------------
#File: News.html
@ -2805,6 +2790,25 @@ If the remote crawl option is switched on, then this peer will load URLs from th
>Age<==>Alter<
#-----------------------------
#File: ServerScannerList.html
#------------------------------
#Network Scanner Monitor==Network Scanner Monitor
The following servers can be searched:==Die folgenden Server können durchsucht werden:
Available server within the given IP range==Verfügbare Server innerhalb des angegebenen IP Bereichs
>Protocol<==>Protokoll<
#IP=IP
#URL==URL
>Access<==>Zugriff<
>Process<==>Prozess<
>inaccessible<==>unbekannt<
>empty<==>leer<
>granted<==>erlaubt<
>denied<==>verweigert<
>not in index<==>nicht im Index<
>indexed<==>indexiert<
"Add Selected Servers to Crawler"=="Füge ausgewählte Server zum Crawlen hinzu"
#------------------------------
#File: Settings_p.html
#---------------------------
Advanced Settings==Erweiterte Einstellungen
@ -2846,8 +2850,11 @@ HTTP Networking==HTTP Netzwerk
Transparent Proxy==Transparenter Proxy
With this you can specify if YaCy can be used as transparent proxy.==Hiermit können Sie festlegen ob YaCy als transparenter Proxy genutzt werden kann.
Hint: On linux you can configure your firewall to transparently redirect all http traffic through yacy using this iptables rule==Hinweis: Unter Linux können Sie Ihre Firewall darauf einstellen, alle HTTP-Verbindungen transparent an YaCy weiterzuleiten indem Sie diese iptables-Regel verwenden.
Connection Keep-Alive==Verbindung halten
With this you can specify if YaCy should support the HTTP connection keep-alive feature.==Hiermit können Sie festlegen ob YaCy die HTTP connection keep-alive Funktionalität unterstützen soll.
#Always Fresh:==Always Fresh:
#If unchecked, the proxy will act using Cache Fresh / Cache Stale rules.==If unchecked, the proxy will act using Cache Fresh / Cache Stale rules.
#If checked, the cache is always fresh which means==If checked, the cache is always fresh which means
#that a page is never loaded again if it was already stored in the cache.==that a page is never loaded again if it was already stored in the cache.
#However, if the page does not exist in the cache, it will be loaded in any case.==However, if the page does not exist in the cache, it will be loaded in any case.
Send "Via" Header==Sende "Via" Header
Specifies if the proxy should send the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.45" target="_blank">Via</a>==Gibt an, ob der Proxy den <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.45" target="_blank">Via-HTTP-Header</a>
http header according to RFC 2616 Sect 14.45.==gemäß RFC 2616 Sect 14.45 senden soll.
@ -3047,7 +3054,6 @@ Seed Upload Method:==Seed Upload Methode:
Seed File URL:==Seed Datei URL:
Your proxy networking settings have been changed.==Ihre Proxy Netzwerk Einstellungen wurden geändert.
Transparent Proxy Support is:==Durchsichtige Proxy Unterstützung ist:
Connection Keep-Alive Support is:==Verbindung aufrecht erhalten Unterstützung ist:
Your message forwarding settings have been changed.==Ihre Nachrichten Weiterleitungseinstellungen haben sich geändert.
Message Forwarding Support is:==Nachrichten Weiterleitungs Unterstützung:
Message Forwarding Command:==Nachrichten Weiterleitungskommando:
@ -3061,6 +3067,7 @@ After a short while you should see the effect on the==Nach kurzer Zeit können S
You can now go back to the==Sie können nun zurück zu den
Settings</a> page if you want to make more changes.==Einstellungen</a> gehen, um weitere Änderungen vorzunehmen.
You can reach your YaCy server under the new location==Dieser YaCy-Peer kann nun unter seiner neuen Adresse erreicht werden:
Your need to restart YaCy to activate the changes.==Um die Änderungen zu aktivieren müssen Sie YaCy neu starten.
#-----------------------------
#File: Settings_MessageForwarding.inc
@ -3110,8 +3117,8 @@ A possible reason is that you are behind a firewall, NAT or Router.==Ein möglic
But you can <a href="index.html">search the internet</a> using the other peers'==Trotzdem können Sie <a href="index.html">das Internet durchsuchen</a>, indem Sie den globalen Index
global index on your own search page.==der anderen Peers von Ihrer Suchseite aus benutzen.
"bad"=="schlecht"
"idea"="Idee"
"good"="gut"
"idea"=="Idee"
"good"=="gut"
"Follow YaCy on Twitter"=="Folge YaCy auf Twitter"
We encourage you to open your firewall for the port you configured (usually: 8090),==Wir möchten Sie ermutigen den Port, den Sie für YaCy eingestellt haben (Vorgabe: 8090) in Ihrer Firewall zu öffnen,
or to set up a 'virtual server' in your router settings (often called DMZ).==oder einen "virtuellen Server" in Ihrem Router aufzusetzten (oft auch DMZ genannt).
@ -3124,7 +3131,7 @@ Latest public version is==Die neueste stabile Version ist
You can download a more recent version of YaCy. Click here to install this update and restart YaCy:==Sie können eine aktuellere Version von YaCy herunterladen. Klicken Sie hier, um dieses Update zu installieren und YaCy neu zu starten:
#"Update YaCy"=="Update YaCy"
Install YaCy==Installiere YaCy
You can download the latest releases here:=Hier kann die neueste Version heruntergeladen werden:
You can download the latest releases here:==Hier kann die neueste Version heruntergeladen werden:
You are running a server in senior mode and you support the global internet index,==Sie lassen YaCy bei sich im Senior Modus laufen und unterstützen den globalen Index,
which you can also <a href="index.html">search yourself</a>.==den Sie auch selbst <a href="index.html">durchsuchen</a> können.
You have a principal peer because you publish your seed-list to a public accessible server==Sie haben einen Principal Peer, weil Sie Ihre Seed-Liste auf einen öffentlich zugänglichen Server hoch laden,
@ -3140,8 +3147,12 @@ For community support, please visit our==Für Unterstützung aus der Community,
#---------------------------
#System Status==System Status
Unknown==unbekannt
Uptime==Online seit
YaCy version:==YaCy Version:
Uptime:==Online seit:
Java version:==Java Version:
Processors:==Prozessoren:
peak:==max:
total:==Total:
Protection==Sicherheit
Password is missing==Kein Passwort
password-protected==Passwort-geschützt
@ -3744,7 +3755,7 @@ Pictures==Bilder
#File: yacysearchtrailer.html
#---------------------------
Show search results for "#[query]#" on map==Zeige die Suchergebnisse für "#[query]#" auf der Karte
show search results for "#[query]#" on map==Zeige die Suchergebnisse für "#[query]#" auf der Karte
>Documents==>Text
>Images==>Bilder
>Protocol==>Netzdienste
@ -3765,6 +3776,7 @@ Table Viewer==Tabellen Betrachter
#File: api/yacydoc.html
#---------------------------
>Title<==>Titel<
>Author<==>Autor<
>Description<==>Beschreibung<
>Subject<==>Betreff<
@ -3795,7 +3807,7 @@ English, Englisch==German, Deutsch
First Steps==Erste Schritte
Use Case &amp; Account==Anwendungsfall &amp; Zugangsdaten
Load Web Pages, Crawler==Webseiten laden mit Crawler
RAM/Disk Usage &amp; Updates="RAM+Disk Belegung &amp; Updates
RAM/Disk Usage &amp; Updates==RAM+Disk Belegung &amp; Updates
You just started a YaCy peer!==Sie haben gerade begonnen YaCy zu nutzen!
As a first-time-user you see only basic functions. Set a use case or name your peer to see more options. Start a first web crawl to see all monitoring options.==Als Anfänger sehen Sie hier zunächst nur einfache Funktionen. Wählen Sie einen Anwendungsfall, benennen Sie Ihren Peer oder starten Sie einen Webcrawl, dann sehen Sie alle Optionen.
You did not yet start a web crawl!==Sie haben bislang keinen Webcrawl gestartet!
@ -3848,6 +3860,9 @@ Local Search<==Lokale Suche<
#Log==Log
Host Tracker==Host-Tracker
Remote Search<==Remote-Suche<
Cookie Menu==Cookie Menü
Incoming&nbsp;Cookies==Eingehende Cookies
Outgoing&nbsp;Cookies==Ausgehende Cookies
#-----------------------------
#File: env/templates/submenuBlacklist.template
@ -3878,23 +3893,18 @@ Content Control==Inhaltskontrolle
>Published&nbsp;News<==>Veröffentlichte&nbsp;Nachrichten<
## Community Data Submenu
>Community Data<==>Gemeinschaftsdaten<
>Surftips<==>Surftipps<
>Local Peer Wiki<==>Lokales Peer Wiki<
#-----------------------------
#File: env/templates/submenuConfig.template
#---------------------------
Peer Administration Console==Peer Administrations Konsole
#Status==Status
Basic Configuration==Eingangskonfiguration
>Accounts==>Konten
System Administration==System Administration
Network Configuration==Netzwerk Konfiguration
Download System Update==Download System-Aktualisierung
>Performance==>Leistung
Advanced Settings==Erweiterte Einstellungen
Local robots.txt==Lokale robots.txt
#Web Cache==Web Cache
Advanced Properties==Erweiterte Konfiguration
#>Thread Dump<==>Thread Dump<
#-----------------------------
#File: env/templates/submenuContentIntegration.template
@ -3905,13 +3915,6 @@ Import Mediawiki dumps==Importiere Mediawiki Dumps
Import OAI-PMH Sources==Importiere OAI-PMH Quellen
#-----------------------------
#File: env/templates/submenuCookie.template
#---------------------------
Cookie Menu==Cookie Menü
Incoming&nbsp;Cookies==Eingehende Cookies
Outgoing&nbsp;Cookies==Ausgehende Cookies
#-----------------------------
#File: env/templates/submenuCrawlMonitor.template
#---------------------------
Overview</a>==Überblick</a>
@ -4018,7 +4021,6 @@ Knowledge Loader==Wissensdatenbank-Lader
>Augmented Content<==>Angereicherter Inhalt<
Augmented Browsing==Angereichertes Browsing
Filters and Modules==Filter und Module
Augmented Parsing==Angereichertes Parsen
#-----------------------------
#File: env/templates/submenuTargetAnalysis.template
@ -4029,6 +4031,14 @@ Mass Crawl Check==Massen Crawl-Überprüfung
Regex Test==Regulärer Ausdruck Test
#-----------------------------
#File: env/templates/submenuUseCaseAccount.template
#---------------------------
Use Case &amp; Accounts==Anwendungsfall &amp; Zugangsdaten
Basic Configuration==Grundkonfiguration
>Accounts<==>Benutzerverwaltung<
Network Configuration==Netzwerk Einstellungen
#-----------------------------
#File: env/templates/submenuViewLog.template
#---------------------------
Server Log Menu==Server Log Menü
@ -4140,7 +4150,7 @@ Crawl Start==Crawl starten
Monitoring==Überwachung
YaCy Network==YaCy Netzwerk
>Settings==>Einstellungen
"Basic Settings"=="Eingangskonfiguration"
"Basic Settings"=="Grundkonfiguration"
Basic== Basis
Accounts==Konten
"Network"=="Netzwerk"

@ -16,7 +16,7 @@
# Only part 1.
# Contributors are in chronological ordern, not how much they did absolutely.
# Thank you for your help!
<!-- lang -->default(english)==french
<!-- lang -->default(english)==Français
<!-- author -->==gDupont, Marsupoil, Mikay&eacute;
<!-- maintainer -->==gDupont
#-----------------------------
@ -206,7 +206,7 @@ However: if you fail to open a router port, you can nevertheless use YaCy with f
the only function that is missing is on the side of the other YaCy users because they cannot see your peer.==l'unique fonction manquante se situera du c&ocirc;t&eacute; des autres utilisateurs de YaCy car ils ne pourront pas voir votre noeud.
Your peer can be reached by other peers==Votre noeud est joignable par les autres noeuds du r&eacute;seau
Peer Port:==Port logiciel du noeud:
>with SSL== >avec SSL
with SSL==avec SSL
(https enabled#==(https activ&eacute;#
: on port <==: sur le port <
Configure your router for YaCy using UPnP:==Configurer votre routeur pour YaCy en utilisant UPnP:
@ -237,16 +237,15 @@ in 5 seconds.==dans 5 secondes
#---------------------------
Language selection==S&eacute;lection de la langue
You can change the language of the YaCy-webinterface with translation files.==Vous pouvez changer de langue de l'interface web YaCy grace aux fichiers de traduction.
Current language:==Langue actuelle:
default(english)==Français
Current language</label>==Langue actuelle</label>
Languagefile Author(s) (chronological):==Auteur(s) des fichiers de langues (chronologique):
Send additions to maintainer:==Envoyez les ajouts &agrave;:
Available Languages:==Langues disponibles:
Install new language from URL:==T&eacute;l&eacute;charcher une nouvelle langue:
Send additions to maintainer</em>==Envoyez les ajouts &agrave;</em>
Available Languages</label>==Langues disponibles</label>
Install new language from URL==T&eacute;l&eacute;charcher une nouvelle langue
Use this language==Utiliser cette langue:
"Use"==Utiliser
"Delete"==Supprimer
"Install"==Installer
"Use"=="Utiliser"
"Delete"=="Supprimer"
"Install"=="Installer"
Unable to get URL:==Impossible d'installer le fichier de cette URL:
Error saving the language file.==Erreur en sauvegardant le fichier de langue.
#-----------------------------
@ -665,6 +664,11 @@ This can be done using the <a href="CrawlStartExpert.html">Expert Crawl Start</a
The scheduler on crawls can be changed or removed using the <a href="Table_API_p.html">API Steering==Le planificateur de balayage peut &ecirc;tre modifi&eacute; ou supprim&eacute; au moyen de la <a href="Table_API_p.html">commande de l'API
#---------------------------
#File: HostBrowser.html
#---------------------------
Index Browser==Explorateur d'index
#-----------------------------
#File: IndexCreateIndexingQueue_p.html
#---------------------------
Index Creation/Indexing Queue==Cr&eacute;ation d'index/File d'indexation
@ -749,7 +753,7 @@ Profile==Profil
Depth==Profondeur
Modified Date==Date de modification
Anchor Name==Nom d'ancre
URL==URL
#URL==URL
[Delete]==[Supprimer]
Delete Entries:==Entr&eacute;es supprim&eacute;es:
"Delete"=="Supprimer"
@ -838,8 +842,7 @@ This is the list of web pages that this peer initiated to crawl,==C'est une list
but had been crawled by <em>other</em> peers.==mais a &eacute;t&eacute; crawl&eacute; par d'<em>autre</em> noeuds.
This is the 'mirror'-case of process (6).==C'est le processus oppos&eacute; du (6)
<em>Use Case:</em> You get entries here, if you start a local crawl on the 'Index Creation'-Page and check the==<em>Cas d'utilisation:</em> Vous obtenez des entr&eacute;es ici, si vous d&eacute;marrez un crawl local sur la page 'Cr&eacute;ation d'index' et activez
'Do Remote Indexing'-flag. Every page that a remote peer indexes upon this peer's request==
l'indexation &agrave; distance. Chaque page, qui sera index&eacute;e par un noeud distant &agrave; votre demande,
'Do Remote Indexing'-flag. Every page that a remote peer indexes upon this peer's request==l'indexation &agrave; distance. Chaque page, qui sera index&eacute;e par un noeud distant &agrave; votre demande,
is reported back and can be monitored here.==sera rapport&eacute;e et peut &ecirc;tre monitor&eacute;e ici.
(2) Index Monitor for Result of Search Queries==(2) Moniteur d'index des r&eacute;sultats de requ&ecirc;tes de recherche.
This index transfer was initiated by your peer by doing a search query.==Ce transfert d'index a &eacute;t&eacute; initi&eacute; par votre noeud en lançant une requ&ecirc;te de recherche.
@ -1131,12 +1134,11 @@ minimum Idle==min. inactif
current Active==actif courrant
current Idle==inactif courrant
Enter new Threadpool Configuration==Entrer un nouvelle configuration du pool de thread
Proxy Performance Settings:==Param&egrave;tres de performance du proxy
Proxy Performance Settings:==Param&egrave;tres de performance du proxy:
#Online Caution Delay==
This is the time that the crawler idles when the proxy is accessed.==C'est le temps d'inactivit&eacute; du crawler lorsque le proxy est acc&eacute;d&eacute;.
The delay is extended by this time==Le d&eacute;lai normal est prolong&eacute; de cette dur&eacute;e
each time the proxy is accessed afterwards. This shall improve performance of the proxy throughput.==
chaque fois que le proxy est acc&eacute;d&eacute;. Cela am&eacute;liore les performances de d&eacute;bit du proxy.
each time the proxy is accessed afterwards. This shall improve performance of the proxy throughput.==chaque fois que le proxy est acc&eacute;d&eacute;. Cela am&eacute;liore les performances de d&eacute;bit du proxy.
current delta is==Depuis le dernier acc&eacute;s au proxy
since last proxy access.==sont pass&eacute;s
Enter New Parameters==Entrer de nouveaux param&egrave;tres
@ -1208,8 +1210,7 @@ The Message cache for peer-to-peer messages. Less important.==Le cache de messag
The YaCy-Wiki uses a database to store its pages.==Le wiki YaCy utilise une base de donn&eacute;es pour stocker ses pages.
This cache is divided in two parts, one for the wiki database and one for its backup.==Ce cache est divis&eacute; en deux parties, une pour le wiki et l'autre pour son backup.
Increasing this cache may speed up access to the wiki pages.==Augmenter ce cache acc&eacute;l&egrave;re les pages wiki.
The News-DB stores property-lists for news that are included in seeds.==
Die News-DB speichert Eigenschaftslisten für News die in Seeds enthalten sind.
#The News-DB stores property-lists for news that are included in seeds.==Die News-DB speichert Eigenschaftslisten für News die in Seeds enthalten sind.
Increasing this cache may speed up the peer-ping.==Augmenter ce cache acc&eacute;l&egrave;re le ping d'un peer.
The robots.txt DB stores downloaded records from robots.txt files.==La DB robots.txt stocke les enregistrements t&eacute;l&eacute;charg&eacute;s des fichiers de robots.txt.
Increasing this cache may speed up validation if crawling of the URL is allowed.==Augmenter ce cache acc&eacute;l&egrave;re la validation si le crawl des URLs est autoris&eacute;.
@ -1340,281 +1341,279 @@ Message Forwarding (optional)==Redirection de messages (optionel)
#File: Settings_ProxyAccess.inc
#---------------------------
Proxy Access Settings==Proxyzugangs Einstellungen
These settings configure the access method to your own http proxy and server.==Diese Einstellungen beeinflussen den Zugriff auf Ihren HTTP-Proxy und -Server.
All traffic is routed throug one single port, for both proxy and server.==Alle Verbindungen werden durch einen einzigen Port hergestellt, für beides (Proxy und Server).
Server/Proxy Port Configuration==Server/Proxy Port Konfiguration
The socket addresses where YaCy should listen for incoming connections from other YaCy peers or http clients.==Die Socket-Adressen auf denen YaCy auf eingehende Verbindungen von anderen YaCy-Noeuds oder HTTP-Clients warten soll.
You have four possibilities to specify the address:==Sie haben vier Möglichkeiten die Adresse anzugeben:
defining a port only==nur einen Port angeben
<em>e.g. 8080</em>==<em>z.B. 8080</em>
defining IP address and port==eine IP-Adresse und Port angeben
<em>e.g. 192.168.0.1:8080</em>==<em>z.B. 192.168.0.1:8080</em>
defining host name and port==einen Hostnamen und Port angeben
<em>e.g. home:8080</em>==<em>z.B. home:8080</em>
defining interface name and port==einen Interface-namen und Port angeben
<em>e.g. #eth0:8080</em>==<em>z.B. #eth0:8080</em>
Hint: Dont forget to change your firewall configuration after you have changed the port.==Hinweis: Denken Sie daran Ihre Firewalleinstellungen zu ändern nachdem Sie den Port geändert haben.
Proxy and http-Server Administration Port:==Proxy und HTTP-Server Administrations Port:
Changes will take effect in 5-10 seconds==Die Änderungen werden in 5-10 Sekunden wirksam
Server Access Restrictions==Server Zugangsbeschränkungen
You can restrict the access to this proxy/server using a two-stage security barrier:==Sie können den Zugang zu diesem Proxy/Server mit einer 2-stufigen Sicherheitsbarriere einschränken:
define an <em>access domain</em> with a list of granted client IP-numbers or with wildcards==geben Sie einen <em>Netzwerkadressraum</em> mithilfe einer Liste zugelassener Client-IP-Adressen oder mit Platzhaltern an
define an <em>user account</em> with an user:password - pair==geben Sie einen <em>Nutzeraccount</em> mit einem nutzer:passwort-Paar an
This is the account that restricts access to the proxy function.==Dies sind die Nutzer denen der Zugriff auf die Proxyfunktion gewährt wird.
You probably don't want to share the proxy to the internet, so you should set the IP-Number Access Domain to a pattern that corresponds to you local intranet.==Sie wollen den Proxy vermutlich nicht im Internet zur Verfügung stellen, deshalb sollten Sie den IP-Adressraum so einstellen, dass er auf Ihr lokales Intranet zutrifft.
The default setting should be right in most cases.==Die Standardwerte sollten in den meisten Fällen richtig sein.
If you want, you can also set a proxy account so that every proxy user must authenticate first, but this is rather unusual.==Wenn Sie wollen können Sie auch Proxyaccounts erstellen, sodass sich jeder Proxynutzer zuerst anmelden muss, aber das ist eher unüblich.
IP-Number filter==IP-Adressen Filter
Use <a==Nutze <a
#Proxy Access Settings==Proxyzugangs Einstellungen
#These settings configure the access method to your own http proxy and server.==Diese Einstellungen beeinflussen den Zugriff auf Ihren HTTP-Proxy und -Server.
#All traffic is routed throug one single port, for both proxy and server.==Alle Verbindungen werden durch einen einzigen Port hergestellt, für beides (Proxy und Server).
#Server/Proxy Port Configuration==Server/Proxy Port Konfiguration
#The socket addresses where YaCy should listen for incoming connections from other YaCy peers or http clients.==Die Socket-Adressen auf denen YaCy auf eingehende Verbindungen von anderen YaCy-Noeuds oder HTTP-Clients warten soll.
#You have four possibilities to specify the address:==Sie haben vier Möglichkeiten die Adresse anzugeben:
#defining a port only==nur einen Port angeben
#<em>e.g. 8080</em>==<em>z.B. 8080</em>
#defining IP address and port==eine IP-Adresse und Port angeben
#<em>e.g. 192.168.0.1:8080</em>==<em>z.B. 192.168.0.1:8080</em>
#defining host name and port==einen Hostnamen und Port angeben
#<em>e.g. home:8080</em>==<em>z.B. home:8080</em>
#defining interface name and port==einen Interface-namen und Port angeben
#<em>e.g. #eth0:8080</em>==<em>z.B. #eth0:8080</em>
#Hint: Dont forget to change your firewall configuration after you have changed the port.==Hinweis: Denken Sie daran Ihre Firewalleinstellungen zu ändern nachdem Sie den Port geändert haben.
#Proxy and http-Server Administration Port:==Proxy und HTTP-Server Administrations Port:
#Changes will take effect in 5-10 seconds==Die Änderungen werden in 5-10 Sekunden wirksam
#Server Access Restrictions==Server Zugangsbeschränkungen
#You can restrict the access to this proxy/server using a two-stage security barrier:==Sie können den Zugang zu diesem Proxy/Server mit einer 2-stufigen Sicherheitsbarriere einschränken:
#define an <em>access domain</em> with a list of granted client IP-numbers or with wildcards==geben Sie einen <em>Netzwerkadressraum</em> mithilfe einer Liste zugelassener Client-IP-Adressen oder mit Platzhaltern an
#define an <em>user account</em> with an user:password - pair==geben Sie einen <em>Nutzeraccount</em> mit einem nutzer:passwort-Paar an
#This is the account that restricts access to the proxy function.==Dies sind die Nutzer denen der Zugriff auf die Proxyfunktion gewährt wird.
#You probably don't want to share the proxy to the internet, so you should set the IP-Number Access Domain to a pattern that corresponds to you local intranet.==Sie wollen den Proxy vermutlich nicht im Internet zur Verfügung stellen, deshalb sollten Sie den IP-Adressraum so einstellen, dass er auf Ihr lokales Intranet zutrifft.
#The default setting should be right in most cases.==Die Standardwerte sollten in den meisten Fällen richtig sein.
#If you want, you can also set a proxy account so that every proxy user must authenticate first, but this is rather unusual.==Wenn Sie wollen können Sie auch Proxyaccounts erstellen, sodass sich jeder Proxynutzer zuerst anmelden muss, aber das ist eher unüblich.
#IP-Number filter==IP-Adressen Filter
#Use <a==Nutze <a
#-----------------------------
#File: Settings_ProxyAccess.inc
#---------------------------
HTTP Networking==HTTP Netzwerk
Transparent Proxy:==Transparenter Proxy:
With this you can specify if YaCy can be used as transparent proxy.==Hiermit können Sie festlegen ob YaCy als transparenter Proxy genutzt werden kann.
Hint: On linux you can configure your firewall to transparently redirect all http traffic through yacy using this iptables rule:==Hinweis: Unter Linux können Sie Ihre Firewall darauf einstellen alle HTTP-Verbindungen transparent an YaCy weiterzuleiten indem Sie diese iptables-Regel verwenden:
With this you can specify if YaCy should support the HTTP connection keep-alive feature.==Hiermit können Sie festlegen ob YaCy die HTTP connection keep-alive Funktionalität unterstützen soll.
Changes will take effect immediately.==Änderungen sind sofort wirksam.
Hint: On linux you can configure your firewall to transparently redirect all http traffic through yacy using this iptables rule==Tipp: Unter Linux können Sie Ihre Firewall so konfigurieren, dass der gesamte HTTP-Traffic mithilfe dieser iptables-Regen über YaCy geleitet wird.
Specifies if the proxy should send the X-Forwarded-For http header.==Gibt an, ob der Proxy den X-forwarded-For HTTP-Header setzen soll.
Specifies if the proxy should send the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.45">Via</a>==Gibt an, ob der Proxy den <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.45">Via-HTTP-Header</a>
http header according to RFC 2616 Sect 14.45.==gemäß RFC 2616 Sect 14.45 senden soll.
Submit==Speichern
#HTTP Networking==HTTP Netzwerk
#Transparent Proxy:==Transparenter Proxy:
#With this you can specify if YaCy can be used as transparent proxy.==Hiermit können Sie festlegen ob YaCy als transparenter Proxy genutzt werden kann.
#Hint: On linux you can configure your firewall to transparently redirect all http traffic through yacy using this iptables rule:==Hinweis: Unter Linux können Sie Ihre Firewall darauf einstellen alle HTTP-Verbindungen transparent an YaCy weiterzuleiten indem Sie diese iptables-Regel verwenden:
#With this you can specify if YaCy should support the HTTP connection keep-alive feature.==Hiermit können Sie festlegen ob YaCy die HTTP connection keep-alive Funktionalität unterstützen soll.
#Changes will take effect immediately.==Änderungen sind sofort wirksam.
#Hint: On linux you can configure your firewall to transparently redirect all http traffic through yacy using this iptables rule==Tipp: Unter Linux können Sie Ihre Firewall so konfigurieren, dass der gesamte HTTP-Traffic mithilfe dieser iptables-Regen über YaCy geleitet wird.
#Specifies if the proxy should send the X-Forwarded-For http header.==Gibt an, ob der Proxy den X-forwarded-For HTTP-Header setzen soll.
#Specifies if the proxy should send the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.45">Via</a>==Gibt an, ob der Proxy den <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.45">Via-HTTP-Header</a>
#http header according to RFC 2616 Sect 14.45.==gemäß RFC 2616 Sect 14.45 senden soll.
#"Submit"=="Speichern"
#-----------------------------
#File: Settings_Proxy.inc
#---------------------------
YaCy can use another proxy to connect to the internet. You can enter the address for the remote proxy here:==YaCy kann einen anderen Proxy nutzen um sich zum Internet zu verbinden. Sie können die Adresse für den Remote Proxy hier eingeben.
Use remote proxy:==Nutze Remote Proxy:
Enables the usage of the remote proxy by yacy==Aktiviert die Nutzung des Remote Proxies durch YaCy
Use remote proxy for yacy <-> yacy communication==Nutze Remote Proxy für YaCy <-> YaCy Kommunikation
Specifies if the remote proxy should be used for the communication of this peer to other yacy peers.==Gibt an, ob der Remote Proxy für Kommunikation zwischen diesem und anderen YaCy-Noeuds genutzt werden soll.
<em>Hint:</em> Enabling this option could cause this peer to remain in junior status.==<em>Hinweis:</em> Dies könnte dazu führen, dass dieser Noeud im Junior-Status verbleibt.
Use remote proxy for https==Nutze Remote Proxy für HTTPS
Specifies if YaCy should forward ssl connections to the remote proxy.==Gibt an, ob YaCy SSL-Verbindungen zum Remote Proxy weiterleiten soll.
The ip address or domain name of the remote proxy==Die IP-Adresse oder der Domainname des Remote Proxy
the port of the remote proxy==Der Port des Remote Proxy
no-proxy adresses:==proxylose Adressen:
IP addresses for which the remote proxy should not be used==IP-Adressen für die der Remote Proxy nicht genutzt werden soll
Changes will take effect immediately.==Änderungen sind sofort wirksam.
#YaCy can use another proxy to connect to the internet. You can enter the address for the remote proxy here:==YaCy kann einen anderen Proxy nutzen um sich zum Internet zu verbinden. Sie können die Adresse für den Remote Proxy hier eingeben.
#Use remote proxy:==Nutze Remote Proxy:
#Enables the usage of the remote proxy by yacy==Aktiviert die Nutzung des Remote Proxies durch YaCy
#Use remote proxy for yacy <-> yacy communication==Nutze Remote Proxy für YaCy <-> YaCy Kommunikation
#Specifies if the remote proxy should be used for the communication of this peer to other yacy peers.==Gibt an, ob der Remote Proxy für Kommunikation zwischen diesem und anderen YaCy-Noeuds genutzt werden soll.
#<em>Hint:</em> Enabling this option could cause this peer to remain in junior status.==<em>Hinweis:</em> Dies könnte dazu führen, dass dieser Noeud im Junior-Status verbleibt.
#Use remote proxy for https==Nutze Remote Proxy für HTTPS
#Specifies if YaCy should forward ssl connections to the remote proxy.==Gibt an, ob YaCy SSL-Verbindungen zum Remote Proxy weiterleiten soll.
#The ip address or domain name of the remote proxy==Die IP-Adresse oder der Domainname des Remote Proxy
#the port of the remote proxy==Der Port des Remote Proxy
#no-proxy adresses:==proxylose Adressen:
#IP addresses for which the remote proxy should not be used==IP-Adressen für die der Remote Proxy nicht genutzt werden soll
#Changes will take effect immediately.==Änderungen sind sofort wirksam.
#-----------------------------
#File: Settings_PortForwarding.inc
#---------------------------
# check for logical mistakes, unsure about some translations
Port Forwarding==Port Weiterleitung
You can use a remote server running a ssh demon to forward your server/proxy port.==Sie können einen Remote Server mit einem ssh demon nutzen, um Ihrem Server/Proxy Port weiterzuleiten.
This is useful if you want to tunnel throug a NAT/router.==Dies ist nützlich, wenn Sie durch einen NAT/Router tunneln wollen.
Alternatively, you can simply set a virtual server port on your NAT/Server to enable connections from outside.==Alternativ können Sie einfach einen virtuellen Server in Ihrem NAT/Router einstellen, um Verbindungen von Außerhalb zu ermöglichen.
Enable port forwarding:==Aktiviere Port Weiterleitung:
Enabling disabling port forwarding via secure channel.==Aktivieren/Deaktivieren von Port Weiterleitung über sicheren Kanal.
Forwarding via proxy:==Weiterleitung über Proxy:
Function not available at the moment.==Funktion im Moment nicht verfügbar.
You need to install libx to use this feature==Sie müssen die libx installieren, um diese Funktionen benutzen zu können
Forwarding port:==Weiterleitender Port
The port on the remote server that should be forwarded via the secure channel to the local host.==Der Port des Remote Servers der mittels sicherem Kanal auf den lokalen Host weitergeleitet werden soll.
Forwarding host:==Weiterleitender Host
Forwarding host port:==Weiterleitender Host Port
Forwarding host user:==Weiterleitender Host Nutzer
#Port Forwarding==Port Weiterleitung
#You can use a remote server running a ssh demon to forward your server/proxy port.==Sie können einen Remote Server mit einem ssh demon nutzen, um Ihrem Server/Proxy Port weiterzuleiten.
#This is useful if you want to tunnel throug a NAT/router.==Dies ist nützlich, wenn Sie durch einen NAT/Router tunneln wollen.
#Alternatively, you can simply set a virtual server port on your NAT/Server to enable connections from outside.==Alternativ können Sie einfach einen virtuellen Server in Ihrem NAT/Router einstellen, um Verbindungen von Außerhalb zu ermöglichen.
#Enable port forwarding:==Aktiviere Port Weiterleitung:
#Enabling disabling port forwarding via secure channel.==Aktivieren/Deaktivieren von Port Weiterleitung über sicheren Kanal.
#Forwarding via proxy:==Weiterleitung über Proxy:
#Function not available at the moment.==Funktion im Moment nicht verfügbar.
#You need to install libx to use this feature==Sie müssen die libx installieren, um diese Funktionen benutzen zu können
#Forwarding port:==Weiterleitender Port
#The port on the remote server that should be forwarded via the secure channel to the local host.==Der Port des Remote Servers der mittels sicherem Kanal auf den lokalen Host weitergeleitet werden soll.
#Forwarding host:==Weiterleitender Host
#Forwarding host port:==Weiterleitender Host Port
#Forwarding host user:==Weiterleitender Host Nutzer
Forwarding host password:==Weiterleitender Host mot de passe
Changes will take effect immediately.==Änderungen sind sofort wirksam.
#Changes will take effect immediately.==Änderungen sind sofort wirksam.
#-----------------------------
#File: Settings_ServerAccess.inc
#---------------------------
Server Access Settings==Serverzugangs Einstellungen
IP-Number filter:==IP-Addressfilter:
Here you can restrict access to the server.==Hier können Sie den Zugang zum Server beschränken.
By default, the access is not limited,==Standardmäßig ist der Zugang unbeschränkt,
because this function is needed to spawn the p2p index-sharing function.==da dies notwendig ist um den P2P-Indextausch zu ermöglichen.
If you block access to your server (setting anything else than '*'), then you will also be blocked==Wenn Sie den Zugang zu Ihrem Server blockieren (Einstellen von irgendetwas anderem als '*') dann werden Sie auch davon ausgeschlossen
from using other peers' indexes for search service.==den Index anderer Noeuds zur
Suche zu verwenden.
However, blocking access may be correct in enterprise environments where you only want to index your==Wie auch immer, in Unternehmensumgebungen kann ein Blockieren richtig sein,
company's own web pages.==wenn Sie nur die Unternehmenseigenen Websites indexieren wollen.
staticIP (optional):==statische IP (optional):
<strong>The staticIP can help that your peer can be reached by other peers in case that your==<strong>Die statische IP kann helfen Ihren Noeud für andere Noeuds erreichbar zu machen, falls Sie
peer is behind a firewall or proxy.</strong> You can create a tunnel through the firewall/proxy==hinter einer Firewall oder einem Proxy sind.</strong> Sie können einen Tunnel durch die Firewall/Proxy cr&eacute;er
(look out for 'tunneling through https proxy with connect command') and create==(sehen Sie nach "Tunnelung durch einen https Proxy mit verbinden-Befehl") und cr&eacute;er Sie
an access point for incoming connections.==einen Zugriffspunkt für eingehende Verbindungen.
This access address can be set here (either as IP number or domain name).==Diese Zugrifssadresse kann hier angegeben werden (oder als IP Nummer oder Domain-Name).
If the address of outgoing connections is equal to the address of incoming connections,==Wenn die Zugriffsadresse der ausgehenden Verbindungen dieselbe ist wie die der eingehenden Verbindungen,
you don't need to set anything here, please leave it blank.==brauchen Sie hier nichts angeben. Bitte lassen Sie das Feld leer.
ATTENTION: Your current IP is recognized as "#[clientIP]#".==ACHTUNG: Ihre aktuelle IP wird als "#[clientIP]#" erkannt.
If the value you enter here does not match with this IP,==Wenn der Wert, den Sie hier eingegeben haben, nicht mit dieser IP übereinstimmt,
you will not be able to access the server pages anymore.==wird es nicht möglich sein auf die Serverseiten zuzugreifen.
value="submit"==value="speichern"
#Server Access Settings==Serverzugangs Einstellungen
#IP-Number filter:==IP-Addressfilter:
#Here you can restrict access to the server.==Hier können Sie den Zugang zum Server beschränken.
#By default, the access is not limited,==Standardmäßig ist der Zugang unbeschränkt,
#because this function is needed to spawn the p2p index-sharing function.==da dies notwendig ist um den P2P-Indextausch zu ermöglichen.
#If you block access to your server (setting anything else than '*'), then you will also be blocked==Wenn Sie den Zugang zu Ihrem Server blockieren (Einstellen von irgendetwas anderem als '*') dann werden Sie auch davon ausgeschlossen
#from using other peers' indexes for search service.==den Index anderer Noeuds zur Suche zu verwenden.
#However, blocking access may be correct in enterprise environments where you only want to index your==Wie auch immer, in Unternehmensumgebungen kann ein Blockieren richtig sein,
#company's own web pages.==wenn Sie nur die Unternehmenseigenen Websites indexieren wollen.
#staticIP (optional):==statische IP (optional):
#<strong>The staticIP can help that your peer can be reached by other peers in case that your==<strong>Die statische IP kann helfen Ihren Noeud für andere Noeuds erreichbar zu machen, falls Sie
#peer is behind a firewall or proxy.</strong> You can create a tunnel through the firewall/proxy==hinter einer Firewall oder einem Proxy sind.</strong> Sie können einen Tunnel durch die Firewall/Proxy cr&eacute;er
#(look out for 'tunneling through https proxy with connect command') and create==(sehen Sie nach "Tunnelung durch einen https Proxy mit verbinden-Befehl") und cr&eacute;er Sie
#an access point for incoming connections.==einen Zugriffspunkt für eingehende Verbindungen.
#This access address can be set here (either as IP number or domain name).==Diese Zugrifssadresse kann hier angegeben werden (oder als IP Nummer oder Domain-Name).
#If the address of outgoing connections is equal to the address of incoming connections,==Wenn die Zugriffsadresse der ausgehenden Verbindungen dieselbe ist wie die der eingehenden Verbindungen,
#you don't need to set anything here, please leave it blank.==brauchen Sie hier nichts angeben. Bitte lassen Sie das Feld leer.
#ATTENTION: Your current IP is recognized as "#[clientIP]#".==ACHTUNG: Ihre aktuelle IP wird als "#[clientIP]#" erkannt.
#If the value you enter here does not match with this IP,==Wenn der Wert, den Sie hier eingegeben haben, nicht mit dieser IP übereinstimmt,
#you will not be able to access the server pages anymore.==wird es nicht möglich sein auf die Serverseiten zuzugreifen.
#value="submit"==value="speichern"
#-----------------------------
#File: Settings_Seed.inc
#---------------------------
Seed Upload Settings==Seed Upload Einstellungen
With these settings you can configure if you have an account on a public accessible==Mit diesen Einstellungen können Sie bestimmen ob Sie einen Account auf einem öffentlich zugänglichen
server where you can host a seed-list file.==Server haben, wo Sie eine Seed-Liste bereitstellen können.
General Settings:==Allgemeine Einstellungen:
If you enable one of the available uploading methods, you will become a principal peer.==Wenn Sie eine der verfügbaren Uploadmethoden aktivieren, werden Sie ein Principal-Noeud.
Your peer will then upload the seed-bootstrap information periodically,==Ihr Noeud wird dann die Seed-Bootstrap Informationen periodisch hochladen,
but only if there have been changes to the seed-list.==jedoch nur wenn Änderungen an der Seed-Liste vorgenommen wurden.
Upload Method:==Uploadmethode:
Retry Uploading==Upload versuchen
Here you can specify which upload method should be used.==Hier können Sie auswählen welche Uploadmethode verwendet werden soll.
Select 'none' to deactivate uploading.==Verwenden Sie 'none' um den Upload zu deaktivieren.
The URL that can be used to retrieve the uploaded seed file, like==Die URL die genutzt werden kann um die hochgeladene Seed-Liste zu erhalten, wie
#Seed Upload Settings==Seed Upload Einstellungen
#With these settings you can configure if you have an account on a public accessible==Mit diesen Einstellungen können Sie bestimmen ob Sie einen Account auf einem öffentlich zugänglichen
#server where you can host a seed-list file.==Server haben, wo Sie eine Seed-Liste bereitstellen können.
#General Settings:==Allgemeine Einstellungen:
#If you enable one of the available uploading methods, you will become a principal peer.==Wenn Sie eine der verfügbaren Uploadmethoden aktivieren, werden Sie ein Principal-Noeud.
#Your peer will then upload the seed-bootstrap information periodically,==Ihr Noeud wird dann die Seed-Bootstrap Informationen periodisch hochladen,
#but only if there have been changes to the seed-list.==jedoch nur wenn Änderungen an der Seed-Liste vorgenommen wurden.
#Upload Method:==Uploadmethode:
#Retry Uploading==Upload versuchen
#Here you can specify which upload method should be used.==Hier können Sie auswählen welche Uploadmethode verwendet werden soll.
#Select 'none' to deactivate uploading.==Verwenden Sie 'none' um den Upload zu deaktivieren.
#The URL that can be used to retrieve the uploaded seed file, like==Die URL die genutzt werden kann um die hochgeladene Seed-Liste zu erhalten, wie
#-----------------------------
#File: yacy/seedUpload/yacySeedUploadFtp.html
#---------------------------
Uploading via FTP:==Upload per FTP:
This is the account for a FTP server where you can host a seed-list file.==Dies ist der Account für einen FTP-Server, auf dem Sie eine Seed-Liste bereitstellen können.
If you set this, you will become a principal peer.==Wenn Sie das tun, werden Sie zum Principal-Noeud.
Your peer will then upload the seed-bootstrap information periodically,==Ihr Noeud wird dann die Seed-Bootstrap Informationen periodisch hochladen,
but only if there had been changes to the seed-list.==jedoch nur wenn Änderungen an der Seed-Liste existieren.
The host where you have a FTP account, like==Der Host zu Ihrem FTP-Account, wie
Path:==Pfad:
The remote path on the FTP server, like==Der Remote-Pfad auf dem FTP-Server, wie
Missing sub-directories are NOT created automatically.==Fehlende Unterverzeichnisse werden NICHT automatisch erstellt.
Your log-in at the FTP server==Ihr Log-in auf dem FTP-Server
#Uploading via FTP:==Upload per FTP:
#This is the account for a FTP server where you can host a seed-list file.==Dies ist der Account für einen FTP-Server, auf dem Sie eine Seed-Liste bereitstellen können.
#If you set this, you will become a principal peer.==Wenn Sie das tun, werden Sie zum Principal-Noeud.
#Your peer will then upload the seed-bootstrap information periodically,==Ihr Noeud wird dann die Seed-Bootstrap Informationen periodisch hochladen,
#but only if there had been changes to the seed-list.==jedoch nur wenn Änderungen an der Seed-Liste existieren.
#The host where you have a FTP account, like==Der Host zu Ihrem FTP-Account, wie
#Path:==Pfad:
#The remote path on the FTP server, like==Der Remote-Pfad auf dem FTP-Server, wie
#Missing sub-directories are NOT created automatically.==Fehlende Unterverzeichnisse werden NICHT automatisch erstellt.
#Your log-in at the FTP server==Ihr Log-in auf dem FTP-Server
Password:==mot de passe:
The password==Das mot de passe
#-----------------------------
#File: yacy/seedUpload/yacySeedUploadFile.html
#---------------------------
Store into filesystem:==Ablegen im Fichiersystem:
You must configure this if you want to store the seed-list file onto the file system.==Sie müssen diese Einstellungen vornehmen, wenn Sie die Seed-Liste im Fichiersystem ablegen wollen.
File Location:==Speicherort:
Here you can specify the path within the filesystem where the seed-list file should be stored.==Hier können Sie den Pfad im Fichiersystem festlegen, in dem die Seed-Liste abgelegt werden soll.
#Store into filesystem:==Ablegen im Fichiersystem:
#You must configure this if you want to store the seed-list file onto the file system.==Sie müssen diese Einstellungen vornehmen, wenn Sie die Seed-Liste im Fichiersystem ablegen wollen.
#File Location:==Speicherort:
#Here you can specify the path within the filesystem where the seed-list file should be stored.==Hier können Sie den Pfad im Fichiersystem festlegen, in dem die Seed-Liste abgelegt werden soll.
#-----------------------------
#File: Settings_MessageForwarding.inc
#---------------------------
Message Forwarding==Nachrichten Weiterleitung
With this settings you can activate or deactivate forwarding of yacy-messages via email.==Mit diesen Einstellungen können Sie die Weiterleitung von YaCy-Nachrichten per E-Mail aktivieren oder deaktivieren.
Enable message forwarding:==Aktiviere Nachrichten Weiterleitung:
Enabling/Disabling message forwarding via email.==Aktivieren/Deaktivieren der Nachrichten Weiterleitung per E-Mail.
Forwarding Command:==Weiterleitungskommando:
The command-line program that should be used to forward the message.<br />e.g.:==Das Kommandozeilenprogramm, das verwendet werden soll um die Nachricht weiterzuleiten.<br />z.B.:
Forwarding To:==Weiterleiten An:
The recipient email-address.<br /> e.g.:==Die E-Mail Adresse des Empfängers.<br />z.B.:
Changes will take effect immediately.==Änderungen sind sofort wirksam.
#Message Forwarding==Nachrichten Weiterleitung
#With this settings you can activate or deactivate forwarding of yacy-messages via email.==Mit diesen Einstellungen können Sie die Weiterleitung von YaCy-Nachrichten per E-Mail aktivieren oder deaktivieren.
#Enable message forwarding:==Aktiviere Nachrichten Weiterleitung:
#Enabling/Disabling message forwarding via email.==Aktivieren/Deaktivieren der Nachrichten Weiterleitung per E-Mail.
#Forwarding Command:==Weiterleitungskommando:
#The command-line program that should be used to forward the message.<br />e.g.:==Das Kommandozeilenprogramm, das verwendet werden soll um die Nachricht weiterzuleiten.<br />z.B.:
#Forwarding To:==Weiterleiten An:
#The recipient email-address.<br /> e.g.:==Die E-Mail Adresse des Empfängers.<br />z.B.:
#Changes will take effect immediately.==Änderungen sind sofort wirksam.
#-----------------------------
#File: Settings_Parser.inc
#---------------------------
Content Parser Settings==Inhalt Parser Einstellungen
With this settings you can activate or deactivate parsing of additional content-types based on their MIME-types.==Mit diesen Einstellungen können Sie das Parsen zusätzlicher Fichiertypen basierend auf ihren MIME-Typen ermöglichen.
For a detailed description of the various MIME-types take a look at==Für eine detailierte Beschreibung der verschiedenen MIME-Typen können Sie einen Blick auf
http://www.iana.org/assignments/media-types/</a>==http://www.iana.org/assignments/media-types/</a> werfen.
Changes take effect immediately==Änderungen sind sofort wirksam
#Content Parser Settings==Inhalt Parser Einstellungen
#With this settings you can activate or deactivate parsing of additional content-types based on their MIME-types.==Mit diesen Einstellungen können Sie das Parsen zusätzlicher Fichiertypen basierend auf ihren MIME-Typen ermöglichen.
#For a detailed description of the various MIME-types take a look at==Für eine detailierte Beschreibung der verschiedenen MIME-Typen können Sie einen Blick auf
#http://www.iana.org/assignments/media-types/</a>==http://www.iana.org/assignments/media-types/</a> werfen.
#Changes take effect immediately==Änderungen sind sofort wirksam
#-----------------------------
#File: Settings_Crawler.inc
#---------------------------
Generic Crawler Settings==Allgemeine Crawler Einstellungen
Connection timeout in ms==Verbindungs-Timeout in ms
means unlimited==schaltet die Begrenzung ab
Crawler Settings==Crawler Einstellungen
Maximum Filesize==Maximale Fichiergröße
Maximum allowed file size in bytes that should be downloaded==Maximale Größe der herunterzuladenden Fichier in Byte
Larger files will be skipped==Größere Fichieren werden übersprungen
Please note that if the crawler uses content compression, this limit is used to check the compressed content size==Beachten Sie, dass beim Herunterladen der Fichieren mittels "Content-Compression" die komprimierte Fichiergröße maßgeblich ist
Submit==Speichern
Changes will take effect immediately==Änderungen sind sofort aktiv
#Generic Crawler Settings==Allgemeine Crawler Einstellungen
#Connection timeout in ms==Verbindungs-Timeout in ms
#means unlimited==schaltet die Begrenzung ab
#Crawler Settings==Crawler Einstellungen
#Maximum Filesize==Maximale Fichiergröße
#Maximum allowed file size in bytes that should be downloaded==Maximale Größe der herunterzuladenden Fichier in Byte
#Larger files will be skipped==Größere Fichieren werden übersprungen
#Please note that if the crawler uses content compression, this limit is used to check the compressed content size==Beachten Sie, dass beim Herunterladen der Fichieren mittels "Content-Compression" die komprimierte Fichiergröße maßgeblich ist
#Submit==Speichern
#Changes will take effect immediately==Änderungen sind sofort aktiv
#-----------------------------
#File: SettingsAck_p.html
#---------------------------
YaCy '#[clientname]#': Settings Acknowledge==YaCy '#[clientname]#': Einstellung Verarbeitung
Settings Receipt:==Einstellungen angenommen:
No information has been submitted==Es wurden keine Informationen übertragen.
Nothing changed==Nichts wurde verändert.
Error with submitted information.==Es gab einen Fehler bei der Übertragung der Informationen.
Nothing changed.==Nichts wurde verändert.
The user name must be given.==Der User Name muss angegeben werden
Your request cannot be processed.<br />Nothing changed.==Ihre Anfrage konnte nicht bearbeitet werden.<br />Nichts wurde verändert.
The password redundancy check failed. You have probably misstyped your password.==Die mot de passeüberprüfung schlug fehl. Sie haben sich wahrscheinlich vertippt.
Shutting down.</strong><br />Application will terminate after working off all crawling tasks.==Runterfahren</strong><br />Die Anwendung wird geschlossen, nachdem alle Crawls abgearbeitet wurden.
Your administration account setting has been made.==Ihre Administrator Account Einstellungen wurden gespeichert.
Your new administration account name is #[user]#. The password has been accepted.<br />If you go back to the Settings page, you must log-in again.==Ihr neuer Administrator Account Name ist #[user]#. Das mot de passe wurde akzeptiert.<br />Wenn Sie zurück zu den Einstellungen gehen wollen, müssen Sie sich neu einloggen.
Your proxy access setting has been changed.==Die Proxy Zugangs Einstellungen wurden geändert.
Your proxy account check has been disabled, since you did not supply a password.==
The new proxy IP filter is set to==Der neue Proxy IP-Filter ist
The proxy port is:==Der Proxy Port ist:
if you changed the Port or Port Forwarding Settings, you need to restart YaCy.==Wenn Sie den Port oder die Post Weiterleitungs geändert haben, müssen Sie YaCy neu starten.
Your proxy access setting has been changed.==Ihre Proxy Zugangs Einstellung wurden geändert.
Your new proxy account name is #[user]#. The password has been accepted.==Ihr neuer Proxy Account Name ist #[user]#. Ihr mot de passe wurde akzeptiert.
If you open any public web page through the proxy, you must log-in then.==
Your server access filter is now set to #[filter]#
Auto pop-up of the Status page is now <strong>disabled</strong>==Das
automatisches Pop-Up der Status Seite beim Browserstart ist nun <strong>deaktiviert.</strong>
Auto pop-up of the Status page is now <strong>enabled</strong>==Das automatisches Pop-Up der Status Seite beim Browserstart ist nun <strong>aktiviert.</strong>
You are now permanently <strong>online</strong>.==Sie sind nun im <strong>permanenten Online Modus</strong>.
After a short while you should see the effect on the====Nach kurzer Zeit können Sie die Änderungen auf der
status</a> page.==Status-Seite</a> sehen.
The Noeud Name is:==Der Name dieses Noeuds ist:
Your static Ip(or DynDns) is:==Ihre statische IP(oder DynDns) ist:
Seed Settings changed.#(success)#::You are now a principal peer.==Seed Einstellungen wurden geändert.#(success)#::Sie sind nun ein Principal Noeud.
Seed Settings changed, but something is wrong.==Seed Einstellungen wurden geändert, aber etwas war falsch.
Seed Uploading was deactivated automatically.==Seed Upload wurde automatisch deaktiviert.
Please return to the settings page and modify the data.==Bitte kehren Sie zu den Einstellungen zurück und modifizieren Sie die Daten.
The remote-proxy setting has been changed==Die remote-proxy Einstellungen wurden geändert.
The new setting is effective immediately, you don't need to re-start.==Die neuen Einstellungen wirken sofort. Sie brauchen den Noeud nicht neu zu starten.
The submitted peer name is already used by another peer. Please choose a different name.</strong> The Noeud name has not been changed.==Der eingegebene Noeudname wird bereits von einem anderen Noeud benutzt. Bitte wählen Sie einen anderen Namen.</strong> Der Noeudname wurde nicht geändert.
Your Noeud Language is:==Ihre Noeud Sprache ist:
The submitted peer name is not well-formed. Please choose a different name.</strong> The Noeud name has not been changed.
Noeud names must not contain characters other than (a-z, A-Z, 0-9, '-', '_') and must not be longer than 80 characters.
The new parser settings where changed successfully.==Die neuen Parser Einstellungen wurden erfolgreich gespeichert.
Parsing of the following mime-types was enabled:
Seed Upload method was changed successfully.==Seed Upload Methode wurde erfolgreich geändert.
You are now a principal peer.==Sie sind nun ein Principal Noeud.
Seed Upload Method:==Seed Upload Methode:
Seed File URL:==Seed Fichier URL:
Your proxy networking settings have been changed.==Ihre Proxy Netzwerk Einstellungen wurden geändert.
Transparent Proxy Support is:==Durchsichtige Proxy Unterstützung ist:
Connection Keep-Alive Support is:==Verbindung aufrecht erhalten Unterstützung ist:
Your message forwarding settings have been changed.==Ihre Nachrichten Weiterleitungseinstellungen haben sich geändert.
Message Forwarding Support is:==Nachrichten Weiterleitungs Unterst¨tzung:
Message Forwarding Command:==Nachrichten Weiterleitungskommando:
Recipient Address:==Empfänger Adresse:
Your port forwarding settings have been changed.==Ihre Port Weiterleitungs-Einstellungen wurden geändert.
Port Forwarding Support is:==Port Weiterleitungs Unterstützung ist:
Port Forwarding Port:==Port Weiterleitungs Port:
Port Forwarding Host:==Port Weiterleitungs Host:
Port Forwarding uses proxy:==Port Weiterleitung benutzt Proxy:
Port Forwarding Settings changed, but something is wrong.==Port Weiterleitungs-Einstellungen wurden geändert. aber etwas ist falsch.
Port Forwarding was deactivated automatically.==Port Weiterleitung wurde automatisch deaktiviert.
Please return to the settings page and modify the data.==Bitte kehren Sie zu den Einstellungen zurück und modifizieren Sie die Daten.
You are now <strong>event-based online</strong>.==Sie sind nun im <strong>aktivitätsbasierten Modus</strong>.
After a short while you should see the effect on the==Nach kurzer Zeit können Sie die Änderungen auf der
You are now in <strong>Cache Mode</strong>.==Sie sind nun im <strong>Cache Modus</strong>.
Only Proxy-cache ist available in this mode.==Nur der Proxy Cache ist in diesem Modus verfügbar.
After a short while you should see the effect on the==Nach kurzer Zeit können Sie die Änderungen auf der
You can now go back to the==Sie können nun zurück zu den
Settings</a> page if you want to make more changes.==Einstellungen</a> gehen, um weitere Änderungen vorzunehmen.
Port rebinding will be done in a few seconds==Der neue Port wird in ein paar Sekunden übernommen.
You can reach your YaCy server under the new location==Dieser YaCy-Noeud kann nun unter seiner neuen Adresse erreicht werden:
#YaCy '#[clientname]#': Settings Acknowledge==YaCy '#[clientname]#': Einstellung Verarbeitung
#Settings Receipt:==Einstellungen angenommen:
#No information has been submitted==Es wurden keine Informationen übertragen.
#Nothing changed==Nichts wurde verändert.
#Error with submitted information.==Es gab einen Fehler bei der Übertragung der Informationen.
#Nothing changed.==Nichts wurde verändert.
#The user name must be given.==Der User Name muss angegeben werden
#Your request cannot be processed.<br />Nothing changed.==Ihre Anfrage konnte nicht bearbeitet werden.<br />Nichts wurde verändert.
#The password redundancy check failed. You have probably misstyped your password.==Die mot de passeüberprüfung schlug fehl. Sie haben sich wahrscheinlich vertippt.
#Shutting down.</strong><br />Application will terminate after working off all crawling tasks.==Runterfahren</strong><br />Die Anwendung wird geschlossen, nachdem alle Crawls abgearbeitet wurden.
#Your administration account setting has been made.==Ihre Administrator Account Einstellungen wurden gespeichert.
#Your new administration account name is #[user]#. The password has been accepted.<br />If you go back to the Settings page, you must log-in again.==Ihr neuer Administrator Account Name ist #[user]#. Das mot de passe wurde akzeptiert.<br />Wenn Sie zurück zu den Einstellungen gehen wollen, müssen Sie sich neu einloggen.
#Your proxy access setting has been changed.==Die Proxy Zugangs Einstellungen wurden geändert.
#Your proxy account check has been disabled, since you did not supply a password.==
#The new proxy IP filter is set to==Der neue Proxy IP-Filter ist
#The proxy port is:==Der Proxy Port ist:
#if you changed the Port or Port Forwarding Settings, you need to restart YaCy.==Wenn Sie den Port oder die Post Weiterleitungs geändert haben, müssen Sie YaCy neu starten.
#Your proxy access setting has been changed.==Ihre Proxy Zugangs Einstellung wurden geändert.
#Your new proxy account name is #[user]#. The password has been accepted.==Ihr neuer Proxy Account Name ist #[user]#. Ihr mot de passe wurde akzeptiert.
#If you open any public web page through the proxy, you must log-in then.==
#Your server access filter is now set to #[filter]#
#Auto pop-up of the Status page is now <strong>disabled</strong>==Das automatisches Pop-Up der Status Seite beim Browserstart ist nun <strong>deaktiviert.</strong>
#Auto pop-up of the Status page is now <strong>enabled</strong>==Das automatisches Pop-Up der Status Seite beim Browserstart ist nun <strong>aktiviert.</strong>
#You are now permanently <strong>online</strong>.==Sie sind nun im <strong>permanenten Online Modus</strong>.
#After a short while you should see the effect on the====Nach kurzer Zeit können Sie die Änderungen auf der
#status</a> page.==Status-Seite</a> sehen.
#The Noeud Name is:==Der Name dieses Noeuds ist:
#Your static Ip(or DynDns) is:==Ihre statische IP(oder DynDns) ist:
#Seed Settings changed.#(success)#::You are now a principal peer.==Seed Einstellungen wurden geändert.#(success)#::Sie sind nun ein Principal Noeud.
#Seed Settings changed, but something is wrong.==Seed Einstellungen wurden geändert, aber etwas war falsch.
#Seed Uploading was deactivated automatically.==Seed Upload wurde automatisch deaktiviert.
#Please return to the settings page and modify the data.==Bitte kehren Sie zu den Einstellungen zurück und modifizieren Sie die Daten.
#The remote-proxy setting has been changed==Die remote-proxy Einstellungen wurden geändert.
#The new setting is effective immediately, you don't need to re-start.==Die neuen Einstellungen wirken sofort. Sie brauchen den Noeud nicht neu zu starten.
#The submitted peer name is already used by another peer. Please choose a different name.</strong> The Noeud name has not been changed.==Der eingegebene Noeudname wird bereits von einem anderen Noeud benutzt. Bitte wählen Sie einen anderen Namen.</strong> Der Noeudname wurde nicht geändert.
#Your Noeud Language is:==Ihre Noeud Sprache ist:
#The submitted peer name is not well-formed. Please choose a different name.</strong> The Noeud name has not been changed.
#Noeud names must not contain characters other than (a-z, A-Z, 0-9, '-', '_') and must not be longer than 80 characters.
#The new parser settings where changed successfully.==Die neuen Parser Einstellungen wurden erfolgreich gespeichert.
#Parsing of the following mime-types was enabled:
#Seed Upload method was changed successfully.==Seed Upload Methode wurde erfolgreich geändert.
#You are now a principal peer.==Sie sind nun ein Principal Noeud.
#Seed Upload Method:==Seed Upload Methode:
#Seed File URL:==Seed Fichier URL:
#Your proxy networking settings have been changed.==Ihre Proxy Netzwerk Einstellungen wurden geändert.
#Transparent Proxy Support is:==Durchsichtige Proxy Unterstützung ist:
#Connection Keep-Alive Support is:==Verbindung aufrecht erhalten Unterstützung ist:
#Your message forwarding settings have been changed.==Ihre Nachrichten Weiterleitungseinstellungen haben sich geändert.
#Message Forwarding Support is:==Nachrichten Weiterleitungs Unterst¨tzung:
#Message Forwarding Command:==Nachrichten Weiterleitungskommando:
#Recipient Address:==Empfänger Adresse:
#Your port forwarding settings have been changed.==Ihre Port Weiterleitungs-Einstellungen wurden geändert.
#Port Forwarding Support is:==Port Weiterleitungs Unterstützung ist:
#Port Forwarding Port:==Port Weiterleitungs Port:
#Port Forwarding Host:==Port Weiterleitungs Host:
#Port Forwarding uses proxy:==Port Weiterleitung benutzt Proxy:
#Port Forwarding Settings changed, but something is wrong.==Port Weiterleitungs-Einstellungen wurden geändert. aber etwas ist falsch.
#Port Forwarding was deactivated automatically.==Port Weiterleitung wurde automatisch deaktiviert.
#Please return to the settings page and modify the data.==Bitte kehren Sie zu den Einstellungen zurück und modifizieren Sie die Daten.
#You are now <strong>event-based online</strong>.==Sie sind nun im <strong>aktivitätsbasierten Modus</strong>.
#After a short while you should see the effect on the==Nach kurzer Zeit können Sie die Änderungen auf der
#You are now in <strong>Cache Mode</strong>.==Sie sind nun im <strong>Cache Modus</strong>.
#Only Proxy-cache ist available in this mode.==Nur der Proxy Cache ist in diesem Modus verfügbar.
#After a short while you should see the effect on the==Nach kurzer Zeit können Sie die Änderungen auf der
#You can now go back to the==Sie können nun zurück zu den
#Settings</a> page if you want to make more changes.==Einstellungen</a> gehen, um weitere Änderungen vorzunehmen.
#Port rebinding will be done in a few seconds==Der neue Port wird in ein paar Sekunden übernommen.
#You can reach your YaCy server under the new location==Dieser YaCy-Noeud kann nun unter seiner neuen Adresse erreicht werden:
#-----------------------------
#File: Settings_Admin.inc
#---------------------------
Administration Account Settings==Administrator Konto Einstellungen
This is the account that restricts access to this 'Settings' page. If you have not customized it yet, you should do so now:==Dies ist das Konto, das Zugriff auf diese sonst geschützte "Einstellungen" Seite hat. Wenn Sie es noch nicht eingerichtet haben, sollten Sie es nun tun:
Account Name:==Konto Name:
#Administration Account Settings==Administrator Konto Einstellungen
#This is the account that restricts access to this 'Settings' page. If you have not customized it yet, you should do so now:==Dies ist das Konto, das Zugriff auf diese sonst geschützte "Einstellungen" Seite hat. Wenn Sie es noch nicht eingerichtet haben, sollten Sie es nun tun:
#Account Name:==Konto Name:
Password:==mot de passe:
Password (repeat same as above):==mot de passe (bitte zur Sicherheit erneut eingeben):
value="submit">==value="Speichern">
#value="submit">==value="Speichern">
#-----------------------------
#File: Settings_SystemBehaviour.inc
#---------------------------
System Behaviour Settings==System Einstellungen
Auto pop-up of status page on start-up:==Automatisches Pop-Up der Status-Seite beim Start von YaCy:
"enable"=="Aktivieren"
"disable"=="Deaktivieren"
#System Behaviour Settings==System Einstellungen
#Auto pop-up of status page on start-up:==Automatisches Pop-Up der Status-Seite beim Start von YaCy:
#"enable"=="Aktivieren"
#"disable"=="Deaktivieren"
#-----------------------------
@ -1673,49 +1672,48 @@ This peer's address==Adresse de ce pair
The peer does not go online until you use the proxy to surf the internet,==Le noeud ne va pas en ligne avant que vous utilisiez le proxy pour surfer sur Internet
thus proving that you <em>want</em> to go online.==ce qui prouve que vous <em>voulez</em> aller en ligne.
#---
If you don't know how to configure your system to use a proxy,==Wenn Sie nicht wissen, wie Sie Ihr System konfigurieren, sodass es einen Proxy benutzt,
see the <a==lesen Sie die <a
installation instructions</a>.==Installationsanleitung</a>.
#If you don't know how to configure your system to use a proxy,==Wenn Sie nicht wissen, wie Sie Ihr System konfigurieren, sodass es einen Proxy benutzt,
#see the <a==lesen Sie die <a
#installation instructions</a>.==Installationsanleitung</a>.
#---
Your '.yacy' home at==Ihre YaCy-Domain ist
#Your '.yacy' home at==Ihre YaCy-Domain ist
This peer's name==Name dieses Noeuds
This peer's statistics==Statistik dieses Noeuds
Unknown==unbekannt
#This peer's statistics==Statistik dieses Noeuds
#Unknown==unbekannt
Uptime==En ligne depuis
Connects (==Verbindungen (
"connected Juniors"=="verbundene Juniors"
"connected Seniors"=="verbundene Seniors"
"connected Principals"=="verbundene Principals"
"disconnected peers"=="nichtverbundene Noeuds"
peers/hour==Noeuds/Stunde
This peer's status==Status dieses Noeuds
Virgin - You have not published your peer seed yet. This happens automatically, just wait. While you have this status you are not allowed to search other peers.==Virgin - Ihr Noeud ist dem Netzwerk noch nicht bekannt. Warten Sie noch ein wenig, dies geschieht automatisch. Während Sie diesen Status haben, ist es Ihnen nicht erlaubt andere Noeuds zu durchsuchen.
Junior - You cannot be reached from outside. A possible reason is that you are behind a firewall, NAT or Router. But you can <a href="index.html">search the internet</a> using the other peers' global index on your own search page. We encourage you to open your firewall for the port you configured (usually: 8080), or to set up a 'virtual server' in your router settings (often called DMZ). Please be fair, contribute your own index to the global index.==Junior - Ihr Noeud kann nicht von außen erreicht werden. Ein möglicher Grund ist, dass Sie sich hinter einer Firewall, NAT oder einem Router befinden. Trotzdem können Sie <a href="index.html">das Internet durchsuchen</a>, indem Sie den globalen Index der anderen Noeuds von Ihrer Suchseite aus benutzen. Wir möchten Sie ermutigen den Port, den Sie für YaCy eingestellt haben (Vorgabe: 8080) in Ihrer Firewall zu öffnen, oder einen "virtuellen Server" in Ihrem Router aufzusetzten (oft auch DMZ genannt). Bitte seien Sie fair und tragen Sie Ihren Teil zum globalen Index bei!
Senior - You are running a server and you support the global internet index, which you can also <a href="index.html">search yourself</a>. Thank you!==Senior - Sie lassen YaCy bei sich laufen und unterstützen den globalen Index, den Sie auch selbst <a href="index.html">durchsuchen</a> können. Danke!
Principal - You are senior and you publish your seed-list to a public accessible server where it can be retrieved using the URL==Principal - Sie haben den Senior-Status und laden zusätzlich Ihre Seed-Liste auf einen öffentlich zugänglichen Server hoch, von wo aus sie unter folgender Adresse erreichbar ist:
You can of course <a href="index.html">search the internet</a> using the other peers' global index on your own search page.==Natürlich können Sie auch mithilfe des globalen Indexes von Ihrer Suchseite aus <a href="index.html">das Internet durchsuchen</a>.
#Connects (==Verbindungen (
#"connected Juniors"=="verbundene Juniors"
#"connected Seniors"=="verbundene Seniors"
#"connected Principals"=="verbundene Principals"
#"disconnected peers"=="nichtverbundene Noeuds"
peers/hour==Noeuds/heure
#This peer's status==Status dieses Noeuds
#Virgin - You have not published your peer seed yet. This happens automatically, just wait. While you have this status you are not allowed to search other peers.==Virgin - Ihr Noeud ist dem Netzwerk noch nicht bekannt. Warten Sie noch ein wenig, dies geschieht automatisch. Während Sie diesen Status haben, ist es Ihnen nicht erlaubt andere Noeuds zu durchsuchen.
#Junior - You cannot be reached from outside. A possible reason is that you are behind a firewall, NAT or Router. But you can <a href="index.html">search the internet</a> using the other peers' global index on your own search page. We encourage you to open your firewall for the port you configured (usually: 8080), or to set up a 'virtual server' in your router settings (often called DMZ). Please be fair, contribute your own index to the global index.==Junior - Ihr Noeud kann nicht von außen erreicht werden. Ein möglicher Grund ist, dass Sie sich hinter einer Firewall, NAT oder einem Router befinden. Trotzdem können Sie <a href="index.html">das Internet durchsuchen</a>, indem Sie den globalen Index der anderen Noeuds von Ihrer Suchseite aus benutzen. Wir möchten Sie ermutigen den Port, den Sie für YaCy eingestellt haben (Vorgabe: 8080) in Ihrer Firewall zu öffnen, oder einen "virtuellen Server" in Ihrem Router aufzusetzten (oft auch DMZ genannt). Bitte seien Sie fair und tragen Sie Ihren Teil zum globalen Index bei!
#Senior - You are running a server and you support the global internet index, which you can also <a href="index.html">search yourself</a>. Thank you!==Senior - Sie lassen YaCy bei sich laufen und unterstützen den globalen Index, den Sie auch selbst <a href="index.html">durchsuchen</a> können. Danke!
#Principal - You are senior and you publish your seed-list to a public accessible server where it can be retrieved using the URL==Principal - Sie haben den Senior-Status und laden zusätzlich Ihre Seed-Liste auf einen öffentlich zugänglichen Server hoch, von wo aus sie unter folgender Adresse erreichbar ist:
#You can of course <a href="index.html">search the internet</a> using the other peers' global index on your own search page.==Natürlich können Sie auch mithilfe des globalen Indexes von Ihrer Suchseite aus <a href="index.html">das Internet durchsuchen</a>.
Other peers==Autres peers
other peers online.==Autres peers en ligne.
not online==nicht online
Online-mode==Onlinemodus
You are in <em>Cache-browsing</em> mode.==Sie sind im <em>Cache</em> Modus.
Only websites from the proxy-cache are accessible.==Nur Webseiten aus dem Proxycache sind abrufbar.
To switch online-mode, press one of the following buttons:==Um den Online Modus zu wechseln, klicken Sie auf einen der folgenden Buttons:
"event-based
Mode"=="aktivitätsbasierten Modus"
"Permanent Mode"=="Permanenter Modus"
You are in <em>event-based</em> online mode.==Sie sind im <em>aktivitätsbasierten</em> Onlinemodus.
The YaCy p2p network will boot when you start using YaCy as a web proxy or you switch to permanent mode.==Das YaCy-P2P-Netzwerk wird aktiviert, wenn Sie YaCy zum ersten Mal als Web Proxy benutzen oder Sie in den permanenten Modus wechseln.
"Go on-line"=="Online gehen"
"Go to Cache-Mode"=="In Cache-Modus gehen"
You are in <em>permanent</em> mode.==Sie sind im <em>permanenten</em> Modus.
Last Refresh:==Letzte Aktualisierung:
Click here to==Klicken Sie
log in</a> as administrator and see full status.==hier</a>, um sich als Administrator einzuloggen und den vollständigen Status zu sehen.
Disable==Abschalten
Disabled==Abgeschaltet
Enable==Anschalten
Enabled==Angeschaltet
#not online==nicht online
#Online-mode==Onlinemodus
#You are in <em>Cache-browsing</em> mode.==Sie sind im <em>Cache</em> Modus.
#Only websites from the proxy-cache are accessible.==Nur Webseiten aus dem Proxycache sind abrufbar.
#To switch online-mode, press one of the following buttons:==Um den Online Modus zu wechseln, klicken Sie auf einen der folgenden Buttons:
#"event-based Mode"=="aktivitätsbasierten Modus"
#"Permanent Mode"=="Permanenter Modus"
#You are in <em>event-based</em> online mode.==Sie sind im <em>aktivitätsbasierten</em> Onlinemodus.
#The YaCy p2p network will boot when you start using YaCy as a web proxy or you switch to permanent mode.==Das YaCy-P2P-Netzwerk wird aktiviert, wenn Sie YaCy zum ersten Mal als Web Proxy benutzen oder Sie in den permanenten Modus wechseln.
#"Go on-line"=="Online gehen"
#"Go to Cache-Mode"=="In Cache-Modus gehen"
#You are in <em>permanent</em> mode.==Sie sind im <em>permanenten</em> Modus.
#Last Refresh:==Letzte Aktualisierung:
#Click here to==Klicken Sie
#log in</a> as administrator and see full status.==hier</a>, um sich als Administrator einzuloggen und den vollständigen Status zu sehen.
#Disable==Abschalten
#Disabled==Abgeschaltet
#Enable==Anschalten
#Enabled==Angeschaltet
#-----------------------------
#File: Status_p.inc
@ -1723,7 +1721,7 @@ Enabled==Angeschaltet
System Status==&Eacute;tat du syst&egrave;me
System==Syst&egrave;me
Unknown==Inconnu
Uptime==En ligne depuis
Uptime:==En ligne depuis:
Processors:==Processeurs:
Load:==Charge:
Protection==S&eacute;curit&eacute;
@ -2042,7 +2040,6 @@ This tag creates a horizontal line.==Ces tags cr&eacute;ent une ligne horizontal
pagename==nom de page
description==description
This tag creates links to other pages of the wiki.==Ce tag tire un lien vers une autre page Wiki.
url==URL
This tag creates links to external websites.==Ce tag cr&eacute;e un lien vers une page internet externe.
Image==Image
alt==description
@ -2162,6 +2159,7 @@ RAM/Disk Usage &amp; Updates==Utilisation RAM/disque et mises &agrave; jour
Monitoring==Surveillance
System Status==&Eacute;tat du syst&egrave;me
Peer-to-Peer Network==R&eacute;seau pair &agrave; pair
Index Browser==Explorateur d'index
Network Access==Acc&egrave;s au r&eacute;seau
Web Visualization==Visualisation du web
Crawler Monitor==Surveillance du balayeur
@ -2184,8 +2182,6 @@ Ranking and Heuristics==Classement et heuristique
#Design==Configuration de la recherche int&eacute;gr&eacute;e
#-----------------------------
#File: env/templates/simpleheader.template
#---------------------------
#File: env/templates/simpleheader.template
#---------------------------
Toggle navigation==Activer la navigation
@ -2206,6 +2202,13 @@ Bugtracker==Suivi des bugs
external==lien externe
#-----------------------------
#File: env/templates/submenuAccessTracker.template
#---------------------------
Cookie Menu==Menu Cookie
Incoming Cookies==Cookies entrants
Outgoing Cookies==Cookies sortants
#-----------------------------
#File: env/templates/submenuComputation.template
#---------------------------
Application Status==&Eacute;tat de l'application
@ -2223,16 +2226,16 @@ Processed&nbsp;News==Nouvelles&nbsp;trait&eacute;es
Outgoing&nbsp;News==Nouvelles&nbsp;sortantes
Published&nbsp;News==Nouvelles&nbsp;publi&eacute;es
Community Data==Donn&eacute;es communes
Surftips==Astuces de navigation
>Surftips<==>Astuces de navigation<
Local Peer Wiki==Wiki du noeud local
#---------------------------
#File: env/templates/submenuConfig.template
#---------------------------
Peer Administration Console==Console d'administration du noeud
System Administration==Administration du syst&egrave;me
#UNUSED HERE
#Peer Administration Console==Console d'administration du noeud
Status==Status
Basic Configuration==Configuration de base
>Accounts==>Comptes
Network Configuration==Configuration r&eacute;seau
Download System Update==Mise &agrave; jour du syst&egrave;me
>Performance==>Performance
@ -2241,13 +2244,6 @@ Local robots.txt==robots.txt local
Advanced Properties==Configuration avanc&eacute;e
#-----------------------------
#File: env/templates/submenuCookie.template
#---------------------------
Cookie Menu==Menu Cookie
Incoming Cookies==Cookies entrants
Outgoing Cookies==Cookies sortants
#-----------------------------
#File: env/templates/submenuCrawler.template
#---------------------------
Load Web Pages, Crawler==Charger des pages web, balayeur
@ -2274,7 +2270,7 @@ Crawl Start==D&eacute;marrer le crawl
>Loader==>Chargeur
>Local==>Local
#Global==Global
>Overhang==>Overhang
#>Overhang==>Overhang
>Images==>Images
>Movies==>Films
>Music==>Musique
@ -2301,6 +2297,12 @@ Ranking and Heuristics==Classement et heuristique
Use Case &amp; Accounts==Mode d'utilisation et comptes
Basic Configuration==Configuration de base
>Accounts<==>Comptes<
Network Configuration==Configuration r&eacute;seau
#-----------------------------
#File: env/templates/submenuWebStructure.template
#---------------------------
Index Browser==Explorateur d'index
#-----------------------------
#File: htdocsdefault/dir.html

@ -50,13 +50,13 @@ These are the domain name / path patterns in this blacklist:==Αυτά είνα
You can select them here for deletion==Μπορείτε να τα επιλέξετε εδώ για διαγραφή
Delete URL pattern==Διαγραφή του URL pattern
Enter new domain name / path pattern in the form:==Βάλτε στη φόρμα ένα νέο όνομα χώρου (domain name)/διαδρομή
path-regexpr==path-regexpr
#path-regexpr==path-regexpr
Add URL pattern==Προσθήκη ενός URL pattern
Import blacklist items from other YaCy peers:==Εισαγωγή καταχωρήσεων από Μαύρες Λίστες άλλων ομότιμων χρηστών του YacY:
Host:==Host:
#Host:==Host:
"Load new blacklist items"=="Φορτώστε νέες καταχωρήσεις στη Μαύρη Λίστα"
Import blacklist items from URL:==Εισαγωγή καταχωρήσεων της Μαύρης Λίστας από την URL
URL:==URL:
#URL:==URL:
"Load new blacklist items"=="Φορτώστε νέες καταχωρήσεις στη Μαύρη Λίστα"
Import blacklist items from file:==Εισαγωγή καταχωρήσεων που βρίσκονται σε Μαύρες Λίστες, από το αρχείο:
"Load new blacklist items"=="Φορτώστε νέες καταχωρήσεις στη Μαύρη Λίστα"
@ -71,7 +71,7 @@ YaCy '#[clientname]#': Bookmarks==YaCy '#[clientname]#': Bookmarks
<h2>Bookmarks==<h2>Bookmarks
Add Bookmark==Προσθήκη Σελειδοδείκτη (Bookmark)
Edit Bookmark==Τροποποίηση Σελειδοδείκτη (Bookmark)
Url:==URL:
#URL:==URL:
Title:==Τίτλος:
Description:==Περιγραφή:
Tags (comma separated):==Tags (χωρισμένα με κόμματα):

@ -98,7 +98,7 @@ a complete <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Patt
Activate this list for==इस लिस्ट को सक्रिय करें
Show entries:==एन्त्रिएस देखिये/दिखाएँ :
Entries per page:==एन्तिरेस प्रति पेज :
"Go"=="आगे बढे"
#"Go"=="आगे बढे"
Edit existing pattern(s):==मौजूदा पैटर्न (ओं) को एडिट करें :
"Save URL pattern(s)"=="यूआरएल पैटर्न (ओं) सेव करें "
</body>==<script>window.onload = function () {$("label:contains('proxy')").text('प्रॉक्सी '); $("label:contains('crawler')").text('क्रेल्वेर '); $("label:contains('dht')").text('DHT'); $("label:contains('search')").text('खोज'); $("label:contains('surftips')").text('सर्फिंगटिप्स '); $("label:contains('news')").text('समाचार');}</script></body>
@ -457,11 +457,11 @@ Delete robots.txt Cache==मिटाना robots.txt कैश
#---------------------------
Language selection==भाषा चयन
You can change the language of the YaCy-webinterface with translation files.==आप अनुवाद फाइलों के साथ याची वेबिन्तेर्फास की भाषा बदल सकते हैं
Current language</label>==वर्तमान भाषा </ लेबल>
Current language</label>==वर्तमान भाषा </label>
#default(english)==# डिफ़ॉल्ट (अंग्रेजी )
Author(s) (chronological)</label>==लेखक (एस ) (कालानुक्रमिक ) </ लेबल>
Send additions to maintainer</em>==नक्षक </ em> के लिए फाईल भेजें
Available Languages</label>==उपलब्ध भाषाएँ </ लेबल>
Author(s) (chronological)</label>==लेखक (एस ) (कालानुक्रमिक ) </label>
Send additions to maintainer</em>==जोड़ भेजें मेंटेनर को</em>
Available Languages</label>==उपलब्ध भाषाएँ </label>
Install new language from URL==यूआरएल से नई भाषा को स्थापित करें
Use this language==इस भाषा का प्रयोग करें
"Use"=="प्रयोग"
@ -491,10 +491,8 @@ YaCy P2P Web Search== पी 2 पी वेब खोज
Size and position (width | height | position)==आकार और स्थिति (चौड़ाई | ऊंचाई | स्थिति )
Specifies where the dialog should be displayed. Possible values for position: 'center', 'left', 'right', 'top', 'bottom', or an array containing a coordinate pair (in pixel offset from top left of viewport) or the possible string values (e.g. ['right','top'] for top right corner)==निर्दिष्ट करता है जहाँ संवाद प्रदर्शित किया जाना चाहिए. पद के लिए संभावित मान: 'केंद्र ' 'बाएँ ', 'ठीक ' 'शीर्ष ' 'नीचे ', या एक समन्वय जोड़ी (पिक्सेल में शीर्ष बाएँ से ऑफसेट युक्त सरणी के व्यूपोर्ट ) या संभव स्ट्रिंग मूल्यों (जैसे [ 'ठीक ' 'शीर्ष ' ] ऊपरी दाएँ कोने के लिए )
Animation effects (show | hide)==एनिमेशन प्रभाव (शो | छिपाने )
The effect to be used. Possible values: 'blind', 'clip', 'drop', 'explode', 'fold', 'puff', 'slide', 'scale', 'size', 'pulsate'.==
रभाव इस्तेमाल किया जाएगा. संभावित मान: 'अंधा ' 'क्लिप ' 'ड्रॉप ' 'विस्फोट ' 'गुना ' 'कश ' 'स्लाइड ' 'पैमाने ' , 'आकार ' 'धड़कना '
Interaction (modal | resizable)==
इंटरेक्शन (मोडल | बदलने योग्य )
The effect to be used. Possible values: 'blind', 'clip', 'drop', 'explode', 'fold', 'puff', 'slide', 'scale', 'size', 'pulsate'.==रभाव इस्तेमाल किया जाएगा. संभावित मान: 'अंधा ' 'क्लिप ' 'ड्रॉप ' 'विस्फोट ' 'गुना ' 'कश ' 'स्लाइड ' 'पैमाने ' , 'आकार ' 'धड़कना '
Interaction (modal | resizable)==इंटरेक्शन (मोडल | बदलने योग्य )
If modal is set to true, the dialog will have modal behavior; other items on the page will be disabled (i.e. cannot be interacted with).==मोडल सही पर सेट किया जाता है, तो संवाद मोडल व्यवहार होगा; पेज पर अन्य मदों (यानी के साथ बातचीत नहीं कर सकते हैं) निष्क्रिय किया जाएगा
Modal dialogs create an overlay below the dialog but above other page elements.==मोडल संवाद संवाद नीचे लेकिन अन्य पृष्ठ तत्वों ऊपर ओवरले बना
If resizable is set to true, the dialog will be resizeable.==बदलने योग्य सत्य पर नियत किया जाता है, तो संवाद resizeable होगा
@ -583,7 +581,8 @@ If you leave the field empty, no peer asks your peer. If you fill in a '*', your
#-----------------------------
#File: ConfigParser.html
#---------------------------Parser Configuration==पार्सर कॉन्फ़िगरेशन
#---------------------------
Parser Configuration==पार्सर कॉन्फ़िगरेशन
Content Parser Settings==कंटेन्ट पार्सर सेटिंग्स
With this settings you can activate or deactivate parsing of additional content-types based on their MIME-types.== इस सेटिंग के साथ आप अपने एम.आई.एमई प्रकार के आधार पर अतिरिक्त सामग्री प्रकार के पार्स को सक्रिय या निष्क्रिय कर सकते हैं.
For a detailed description of the various MIME-types take a look at== विभिन्न एमआईएमई प्रकार की एक विस्तृत विवरण पर एक नज़र रखना
@ -663,10 +662,10 @@ A third option is the interactive search. Use this code:== एक तीसर
#---------------------------
Your Personal Profile==आपकी व्यक्तिगत प्रोफ़ाइल
You can create a personal profile here, which can be seen by other YaCy-members==आप अन्य YaCy सदस्यों द्वारा देखा जा सकता है, यहां एक निजी प्रोफाइल बना सकते हैं
or <a href="ViewProfile.html?hash=localhash">in the public</a> using a <a href="ViewProfile.rdf?hash=localhash">FOAF RDF file</a>.==oder <a href="ViewProfile.html?hash=localhash">in der Öffentlichkeit</a> eine <a href="ViewProfile.rdf?hash=localhash">FOAF RDF Datei</a> benutzen.
#or <a href="ViewProfile.html?hash=localhash">in the public</a> using a <a href="ViewProfile.rdf?hash=localhash">FOAF RDF file</a>.==oder <a href="ViewProfile.html?hash=localhash">in der Öffentlichkeit</a> eine <a href="ViewProfile.rdf?hash=localhash">FOAF RDF Datei</a> benutzen.
#Name==नाम
#Nick Name==उपनाम
Homepage (appears on every <a href="Supporter.html">Supporter Page</a> as long as your peer is online)==Homepage (erscheint auf der <a href="Supporter.html">Unterstützer Seite,</a> so lange Ihr Peer online ist).
#Homepage (appears on every <a href="Supporter.html">Supporter Page</a> as long as your peer is online)==Homepage (erscheint auf der <a href="Supporter.html">Unterstützer Seite,</a> so lange Ihr Peer online ist).
#eMail==ईमेल
#ICQ==आईसीक्यू
#Jabber==गपशप
@ -870,7 +869,6 @@ Edit Profile==प्रोफ़ाइल संपादित करें
"Submit changes"=="Änderungen speichern""परिवर्तनों को भेजें"
#---------------------------
#File: CrawlResults.html
#File: CrawlResults.html
#---------------------------
Crawl Results<==क्रॉल परिणाम<
@ -944,8 +942,7 @@ Showing latest #[count]# lines from a stack of #[all]# entries.==नवीनत
"delete"=="हटाना"
#-----------------------------
CrawlStartExpert.html
#File: CrawlStartExpert.html
#---------------------------
Expert Crawl Start==विशेषज्ञ क्रॉल प्रारंभ
Start Crawling Job:==नौकरी रेंगने प्रारंभ:
@ -964,7 +961,7 @@ Create Bookmark==बुकमार्क बनाएँ
Title<==शीर्षक<
Folder<==फोल्डर<
This option lets you create a bookmark from your crawl start URL.==यह विकल्प आपको अपने क्रॉल शुरू यूआरएल से एक बुकमार्क बनाने की सुविधा देता है.
Crawling Depth</label>==रेंगने की गहराई </ लेबल>
Crawling Depth</label>==रेंगने की गहराई</label>
This defines how often the Crawler will follow links (of links..) embedded in websites.==इस ट्रेक लिंक पालन करेंगे कितनी बार परिभाषित करता है (लिंक का .. ) वेबसाइटों में एम्बेडेड
0 means that only the page you enter under "Starting Point" will be added==0 आप तहत प्रवेश केवल पृष्ठ "शुरुआती बिंदु " जोड़ दिया जाएगा मतलब है कि
to the index. 2-4 is good for normal indexing. Values over 8 are not useful, since a depth-8 crawl will==सूचकांक के लिए. 2-4 सामान्य अनुक्रमण के लिए अच्छा है. 8 से अधिक मान उपयोगी नहीं हैं, एक गहराई -8 क्रॉल जाएगा के बाद से
@ -1088,7 +1085,7 @@ Scan Range==रेंज स्कैन
Scan sub-range with given host==दिया मेजबान के साथ उप रेंज स्कैन
Full Intranet Scan:==पूर्ण इंट्रानेट स्कैन:
Do not use intranet scan results, you are not in an intranet environment!==इंट्रानेट परिणाम स्कैन का उपयोग न करें, आप एक इंट्रानेट वातावरण में नहीं कर रहे हैं!
>Scan Cache<==>Scan Cache<
#>Scan Cache<==>Scan Cache<
accumulate scan results with access type "granted" into scan cache (do not delete old scan result)==पहुंच प्रकार "दी " स्कैन कैश (पुराने स्कैन परिणाम नष्ट नहीं है) में से परिणाम स्कैन जमा
>Service Type<==>सेवा के प्रकार<
#>ftp==>एफटीपी
@ -1105,11 +1102,21 @@ Look every==हर देखो
again and add new sites automatically to indexer.==फिर और इंडेक्सर को स्वचालित रूप से नए स्थलों को जोड़ने.
Sites that do not appear during a scheduled scan period will be excluded from search results.==एक अनुसूचित स्कैन अवधि के दौरान दिखाई नहीं देते हैं कि साइट खोज परिणामों से बाहर रखा जाएगा.
"Scan"=="स्कैन"
The following servers had been detected:==निम्न सर्वर पाया गया था::
#-----------------------------
#File: CrawlStartSite.html
#---------------------------
#-----------------------------
#File: ServerScannerList.html
#------------------------------
#Network Scanner Monitor==Network Scanner Monitor
#The following servers had been detected:==निम्न सर्वर पाया गया था:
#The following servers can be searched:==The following servers can be searched:
Available server within the given IP range==दी आईपी सीमा के भीतर उपलब्ध सर्वर
>Protocol<==>प्रोटोकॉल<
#>IP<==>आईपी<
#>URL<==>यूआरएल<
>IP<==>आईपी<
>URL<==>यूआरएल<
>Access<==>पहुंच<
>Process<==>प्रक्रिया<
>unknown<==>अज्ञात<
@ -1119,9 +1126,12 @@ Available server within the given IP range==दी आईपी सीमा क
>not in index<==>नहीं सूचकांक में<
>indexed<==>अनुक्रमित<
"Add Selected Servers to Crawler"=="ट्रेक के लिए चयनित सर्वर जोड़ें"
#-----------------------------
#File: CrawlStartSite.html
#------------------------------
#File: env/templates/submenuUseCaseAccount.template
#---------------------------
#Use Case &amp; Accounts==Use Case &amp; Accounts
Basic Configuration==बेसिक कॉन्फ़िगरेशन
#>Accounts<==>Accounts<
Network Configuration==संजाल विन्यास
#-----------------------------

@ -24,8 +24,8 @@
#File: Blacklist_p.html
#---------------------------
Blacklist Manager==Blacklist Manager
Blacklist==Blacklist
#Blacklist Manager==Blacklist Manager
#Blacklist==Blacklist
This function provides an URL filter to the proxy; any blacklisted URL is blocked==Questa funzione fornisce al proxy un filtro per le URL; le URL nella blacklist non vengono caricate
from being loaded. You can define several blacklists and activate them separately.== Puoi definire diverse blacklist e acctivarle separatamente.
You may also provide your blacklist to other peers by sharing them; in return you may==Puoi fornire la tua blacklist agli altri peers rendendola condivisa; in ritorno puoi
@ -46,28 +46,28 @@ These are the domain name / path patterns in this blacklist:==Questi sono i domi
You can select them here for deletion==Puoi selezionarli per la cancellazione
Delete URL pattern==Cancella URL
Enter new domain name / path pattern in the form:==Inserisci un nuovo dominio/path nella form
path-regexpr==path-regexpr
#path-regexpr==path-regexpr
Add URL pattern==Aggiungi URL
Import blacklist items from other YaCy peers:==Importa le blacklist dagli altri YacY peers:
Host:==Host:
#Host:==Host:
"Load new blacklist items"=="Carica una nuova blacklist"
Import blacklist items from URL:==Importa le entrate della blacklist dalla URL
URL:==URL:
#URL:==URL:
"Load new blacklist items"=="Carica una nuova blacklist"
Import blacklist items from file:==Importa le entrare delle blacklist dal file:
"Load new blacklist items"=="Carica una nuova blacklist"
was removed from blacklist==&egrave; stato rimosso dalla blacklist
was added to the blacklist==&egrave; stato aggiunto alla blacklist
File:==File:
#File:==File:
#-----------------------------
#File: Bookmarks.html
#---------------------------
YaCy '#[clientname]#': Bookmarks==YaCy '#[clientname]#': Bookmarks
<h2>Bookmarks==<h2>Bookmarks
#YaCy '#[clientname]#': Bookmarks==YaCy '#[clientname]#': Bookmarks
#<h2>Bookmarks==<h2>Bookmarks
Add Bookmark==Aggiunti Bookmark
Edit Bookmark==Modifica Bookmark
Url:==URL:
#URL:==URL:
Title:==Titolo:
Description:==Descrizione:
Tags (comma separated):==Tags (separati da virgole):

@ -231,7 +231,7 @@ Surftips==サーフティップス
#File: Blog.html
#---------------------------
by==by
#by==by
Comments</a>==コメント</a>
>edit==>編集
>delete==>削除
@ -272,7 +272,7 @@ Please select the XML-file you want to import:==あなたが取り込みたいXM
#File: BlogComments.html
#---------------------------
by==by
#by==by
Comments</a>==コメント</a>
Login==ログイン
Blog-Home==ブログ-ホーム
@ -646,7 +646,7 @@ Other portal settings can be adjusted in <a href="ConfigPortal.html">Generic Sea
>Vocabulary<==>語彙<
>Title of Result<==>結果の題名<
Description and text snippet of the search result==検索結果の説明とテキストのスニペット
http://url-of-the-search-result.net==http://url-of-the-search-result.net
#http://url-of-the-search-result.net==http://url-of-the-search-result.net
42 kbyte<==42 kB<
>Metadata<==>メタデータ<
#>Parser<==>構文解析器<
@ -825,11 +825,12 @@ load only files in a sub-path of given url==与えられたURLのサブ-パス
#---------------------------
#YaCy: Help==YaCy: ヘルプ
YaCy: Tutorial==YaCy: チュートリアル
>Tutorial==>チュートリアル
#-----------------------------
#File: HostBrowser.html
#---------------------------
#Index Browser==索引ブラウザー
Index Browser==索引ブラウザー
#Administration Options==管理オプション
#-----------------------------
@ -1170,7 +1171,7 @@ Welcome to YaCy!==YaCyへようこそ!
Unknown==不明
System==システム
YaCy version==YaCyのヴァージョン
Uptime==稼働時間
Uptime:==稼働時間:
Java version:==Javaのヴァージョン:
Processors:==プロセッサー:
Load:==負荷:
@ -1485,7 +1486,7 @@ Pictures==画像
#File: yacysearchtrailer.html
#---------------------------
Show search results for "#[query]#" on map==地図上に "#[query]#" の検索結果を表示する
show search results for "#[query]#" on map==地図上に "#[query]#" の検索結果を表示する
#-----------------------------
### Subdirectory api ###
@ -1583,6 +1584,7 @@ Local Search<==ローカル検索<
#Log==ログ
Host Tracker==ホスト トラッカー
Remote Search<==リモート検索<
Cookie Menu==Cookie メニュー
#-----------------------------
#File: env/templates/submenuBlacklist.template
@ -1624,10 +1626,10 @@ Content Control==コンテントの制御
#File: env/templates/submenuConfig.template
#---------------------------
Peer Administration Console==ピア管理コンソール
System Administration==システムの管理
#UNUSED HERE
#Peer Administration Console==ピア管理コンソール
#Status==状態
Basic Configuration==基本的な構成
>Accounts==>アカウント
Network Configuration==ネットワークの構成
Download System Update==システムの更新をダウンロードする
>Performance==>パフォーマンス
@ -1643,11 +1645,6 @@ Advanced Properties==高度な属性
External Content Integration==外部コンテントの統合
#-----------------------------
#File: env/templates/submenuCookie.template
#---------------------------
Cookie Menu==Cookie メニュー
#-----------------------------
#File: env/templates/submenuCrawler.template
#---------------------------
Load Web Pages==ウェブページを読み込む
@ -1791,6 +1788,7 @@ Regex Test==正規表現のテスト
Use Case &amp; Accounts==使用例 &amp; アカウント
Basic Configuration==基本的な構成
>Accounts<==>アカウント<
Network Configuration==ネットワークの構成
#-----------------------------
#File: env/templates/submenuViewLog.template
@ -1806,14 +1804,6 @@ Web Structure==ウェブの構造
Image Collage==画像のコラージュ
#-----------------------------
#File: env/templates/submenuUseCaseAccount.template
#---------------------------
Use Case &amp; Accounts==使用例 &amp; アカウント
Basic Configuration==基本的な構成
>Accounts<==>アカウント<
Network Configuration==ネットワークの構成
#-----------------------------
#File: htdocsdefault/dir.html
#---------------------------
YaCy: Public Files==YaCy: パブリック ファイル

@ -498,11 +498,10 @@ start your own crawl</a> and contribute to the global index, or create your own
set a personal peer profile</a> (optional settings)==установить персональный профиль узла</a>
monitor at the network page</a> what the other peers are doing==страницу мониторинга сети </>
Your Peer name is a default name; please set an individual peer name.==Ваше имя узла является именем по-умолчанию, пожалуйста, установите другое имя узла.
What you should do next:==
#What you should do next:==
You did not set a user name and/or a password.==Вы не установили имя пользователя и/или пароль.
Some pages are protected by passwords.==Некоторые страницы защищены паролем.
You should set a password at the <a href="ConfigAccounts_p.html">Accounts Menu</a> to secure your YaCy peer.</p>::==Вы должны установить пароль в меню <a href="ConfigAccounts_p.html">Учётные записи</a>, чтобы защитить узел
YaCy.</p>::
You should set a password at the <a href="ConfigAccounts_p.html">Accounts Menu</a> to secure your YaCy peer.</p>::==Вы должны установить пароль в меню <a href="ConfigAccounts_p.html">Учётные записи</a>, чтобы защитить узел YaCy.</p>::
You did not open a port in your firewall or your router does not forward the server port to your peer.==Вы не открыли порт на фаерволе или ваш роутер не перенаправляет запросы на порт сервера.
This is needed if you want to fully participate in the YaCy network.==Это необходимо, если вы хотите полноценно участвовать в сети.
You can also use your peer without opening it, but this is not recomended.==YaCy может работать и без открытия порта, но это нежелательно.
@ -770,7 +769,7 @@ deny remote search==запретить удалённый поиск
>Robinson Mode==>Режим Robinson
If your peer runs in 'Robinson Mode' you run YaCy as a search engine for your own search portal without data exchange to other peers==Если ваши узлы работают в режиме Robinson, то вы можете запустить YaCy в качестве движка для собственного поискового портала, без обмена данными с другими узлами
There is no index receive and no index distribution between your peer and any other peer==В случае выбора Robinson-кластеризации, приём и передача индекса между вашим и другими узлами будут отсутствовать
In case of Robinson-clustering there can be acceptance of remote crawl requests from peers of that cluster==
#In case of Robinson-clustering there can be acceptance of remote crawl requests from peers of that cluster==
>Private Peer==>Частный узел
Your search engine will not contact any other peer, and will reject every request==Ваш узел не будет контактировать с любыми другими узлами, и будет возвращать любой запрос
#>Private Cluster==>Частный кластер
@ -799,7 +798,6 @@ Parser Configuration==Конфигурация парсера
Content Parser Settings==Настройки анализа контента
With this settings you can activate or deactivate parsing of additional content-types based on their MIME-types.==С помощью этих настроек вы можете включить или выключить анализ дополнительных типов контента.
For a detailed description of the various MIME-types take a look at==Детальное описание различных типов файлов смотрите на
http://www.iana.org/assignments/media-types/</a>==http://www.iana.org/assignments/media-types/</a>
If you want to test a specific parser you can do so using the==Если вы желаете тестировать специальные парсеры, вы также можете использовать
>File Viewer<==>просмотр файлов<
> enable/disable<==> Включено / Выключено<
@ -815,8 +813,7 @@ If you like to integrate YaCy as portal for your web pages, you may want to chan
The search page may be customized.==Страница поиска может быть настроена.
You can change the 'corporate identity'-images, the greeting line==Вы можете изменить картинку фирменного логотипа, строку приветствия
and a link to a home page that is reached when the 'corporate identity'-images are clicked.==и ссылку на домашную страницу, которая будет доступна при нажатии на картинку фирменного логотипа.
To change also colours and styles use the <a href="ConfigAppearance_p.html">Appearance Servlet</a> for different skins and languages.==
Изменить цвета и стили, языки и скины можно на <a href="ConfigAppearance_p.html">этой</a> странице.
To change also colours and styles use the <a href="ConfigAppearance_p.html">Appearance Servlet</a> for different skins and languages.==Изменить цвета и стили, языки и скины можно на <a href="ConfigAppearance_p.html">этой</a> странице.
Greeting Line<==Строка приветствия<
URL of Home Page<==Адрес домашней страницы<
URL of a Small Corporate Image<==Адрес маленького логотипа<
@ -907,7 +904,7 @@ For explanation please look into defaults/yacy.init==Дополнительны
#---------------------------
Exclude Web-Spiders==Доступ к вэб-интерфейсу
Here you can set up a robots.txt for all webcrawlers that try to access the webinterface of your peer.==В файле robots.txt вы можете указать параметры ограничения доступа к вэб-интерфейсу вашего узла.
is a volunteer agreement most search-engines (including YaCy) follow.==
#is a volunteer agreement most search-engines (including YaCy) follow.==
It disallows crawlers to access webpages or even entire domains.==Таким образом, вы закроете доступ индексаторам к вэб-странице вашего узла или даже целому домену.
Deny access to==Закрыть доступ к
Entire Peer==Узлу целиком
@ -916,7 +913,7 @@ Network pages==Страницам сети
Surftips==Подсказкам
News pages==Страницам новостей
Blog==Блогу
Wiki==Wiki
#Wiki==Wiki
Public bookmarks==Публичным закладкам
Home Page==Домашней странице
File Share==Общим файлам
@ -928,7 +925,7 @@ Impressum==Реквизитам
#---------------------------
Integration of a Search Box==Интеграция поиска
We give information how to integrate a search box on any web page that==Предлагаем вам инструкцию по интеграции поиска YaCy на любую вэб-страницу.
calls the normal YaCy search window.==
#calls the normal YaCy search window.==
Simply use the following code:==Просто используете следующий код:
MySearch== Мой поиск
"Search"=="Поиск"
@ -978,7 +975,7 @@ Other portal settings can be adjusted in==Другие настройки пор
>Collection<==>Хранилище<
>Title of Result<==>Заголовок результата<
Description and text snippet of the search result==Описание и фрагмент текста результата поиска
http://url-of-the-search-result.net==http://url-of-the-search-result.net
#http://url-of-the-search-result.net==http://url-of-the-search-result.net
42 kbyte<==42 КБайт<
>Metadata<==>Метаданные<
>Parser<==>Анализ<
@ -1015,7 +1012,7 @@ check for new releases, download if available and restart with downloaded releas
Download of release #[downloadedRelease]# finished. Restart Initiated.== Загрузка версии #[downloadedRelease]# завершена. Начинается перезагрузка.
No more recent release found.==Более нового обновления не обнаружено.
Release will be installed. Please wait.==Идет установка нового обновления. Пожалуйста, подождите.
You installed YaCy with a package manager.==
#You installed YaCy with a package manager.==
To update YaCy, use the package manager:==Для обновления YaCy используйте менеджер пакетов.
Omitting update because this is a development environment.==Пропускаю обновление, потому что это версия для разработчиков.
Omitting update because download of release #[downloadedRelease]# failed.==Пропускаю обновление, потому что загрузка версии #[downloadedRelease]# не была успешной.
@ -1234,7 +1231,7 @@ such pages are detected by Cookie-Use or POST-Parameters (either in URL or as HT
and automatically excluded from indexing.==и автоматически исключаются из индексирования.
<em>Use Case:</em> You must use YaCy as proxy to fill up this table.==Таблица будет наполняться при использовании вами YaCy в качестве прокси-сервера.
Set the proxy settings of your browser to the same port as given==Задайте выбранный порт (по-умолчанию 8090) в настройках прокси в вашем браузере.
on the 'Settings'-page in the 'Proxy and Administration Port' field.==
#on the 'Settings'-page in the 'Proxy and Administration Port' field.==
(5) Results for Local Crawling==(5) Результаты локального индексирования
These web pages had been crawled by your own crawl task.==Эти вэб-страницы были проиндексированы вашим узлом по вашему указанию.
<em>Use Case:</em> start a crawl by setting a crawl start point on the 'Index Create' page.==Запустите индексацию, указав начальную точку на странице "Индексирование/Сканер сети"
@ -1330,7 +1327,7 @@ This option is used by default for proxy prefetch, but is not needed for explici
A questionmark is usually a hint for a dynamic page. URLs pointing to dynamic content should usually not be crawled.==Вопросительный знак обычно означает динамическую страницу. Ссылки, указывающие на динамический контент. обычно не индексируются.
However, there are sometimes web pages with static content that== Однако, иногда встречаются вэб-страницы со статическим содержимым, которое
is accessed with URLs containing question marks. If you are unsure, do not check this to avoid crawl loops.==доступно по ссылкам, содержащим вопросительный знак. Если вы не уверены, то не включайте эту опцию, чтобы избежать замкнутого индексирования.
Following frames is NOT done by Gxxg1e, but we do by default to have a richer content. 'nofollow' in robots metadata can be overridden; this does not affect obeying of the robots.txt which is never ignored.==
#Following frames is NOT done by Gxxg1e, but we do by default to have a richer content. 'nofollow' in robots metadata can be overridden; this does not affect obeying of the robots.txt which is never ignored.==
Accept URLs with query-part ('?'):==Принимать ссылки с ('?') в части запроса:
Obey html-robots-noindex:==Учитывать html-robots-noindex:
Policy for usage of Web Cache==Политика использования вэб-кэша
@ -1494,20 +1491,6 @@ Look every==Проверять каждые
again and add new sites automatically to indexer.==и добавлять новые сайты в индексатор автоматически.
Sites that do not appear during a scheduled scan period will be excluded from search results.==Сайты, которые будут недоступны во время запланированного сканирования, будут удалены из результатов поиска.
"Scan"=="Сканировать"
#The following servers had been detected:==Die folgenden Server wurden entdeckt:
#Available server within the given IP range==Verfügbare Server innerhalb des angegebenen IP Bereichs
#>Protocol<==>Протокол<
#>IP<==>IP-адрес<
#>URL<==>URL-адрес<
#>Access<==>Доступ<
#>Process<==>Состояние<
#>unknown<==>неизвестно<
#>empty<==>пусто<
#>granted<==>разрешено<
#>denied<==>запрещено<
#>not in index<==>нет в индексе<
#>indexed<==>проиндексировано<
#"Add Selected Servers to Crawler"=="Добавить выбранные серверы в индексатор"
#-----------------------------
#File: CrawlStartSite.html
@ -1677,7 +1660,7 @@ doublequotes==двойные кавычки
prefer given language==предпочитать указанный язык
an ISO639 2-letter code==двухбуквенный языковой код ISO639
heuristics==эвристики
add search results from blekko==добавить результаты из Blekko
add search results from ==добавить результаты из
Search Navigation==Навигация по поиску
keyboard shotcuts==Назначения клавиш
tab or page-up==Tab или PgUp
@ -1916,12 +1899,12 @@ Status==Состояние
#---------------------------
Parser Errors==Отклонённые ссылки
Rejected URLs==Отклонённые ссылки
Rejected URL List:==
#Rejected URL List:==
There are #[num]# entries in the rejected-urls list.==Число записей в списке #[num]#.
Showing latest #[num]# entries.==Показаны #[num]# последних записей.
"show more"=="Показать больше"
"clear list"=="Очистить список"
There are #[num]# entries in the rejected-queue:==
#There are #[num]# entries in the rejected-queue:==
#Initiator==Инициатор
#Executor==Исполнитель
Time==Дата и время
@ -1953,7 +1936,7 @@ Host==Хост
#---------------------------
Content Integration: Retrieval from phpBB3 Databases==Интеграция контента: Извлечение данных из баз phpBB3
It is possible to extract texts directly from mySQL and postgreSQL databases.==Возможно извлечение текстовых данных напрямую из баз mySQL и postgreSQL.
Each extraction is specific to the data that is hosted in the database.==
#Each extraction is specific to the data that is hosted in the database.==
This interface gives you access to the phpBB3 forums software content.==Здесь вы можете получить доступ к содержимому phpBB3-форумов.
If you read from an imported database, here are some hints to get around problems when importing dumps in phpMyAdmin:==Если вы желаете использовать импортированную базу данных, то вам пригодятся некоторые подсказки для устранения проблем, которые могут возникнуть при импортировании дампов в phpMyAdmin:
before importing large database dumps, set==перед импортированием большого дампа базы данных, установите
@ -2195,7 +2178,7 @@ Import List==Импортировать список
>Imported<br />Records<==>Импортировано<br />записей<
>Speed<br />(records/second)==>Скорость<br />(записей в секунду)
Complete at==Всего записей
Records==
#Records==
#-----------------------------
#File: IndexReIndexMonitor_p.html
@ -2533,7 +2516,7 @@ Other peers may use this information to prevent double-crawls from the same star
A table with recently started crawls is presented on the Index Create - page==Таблица с недавно запущенным индексированием представлена на странице "Монитор индексирования".
A change in the personal profile will create a news entry. You can see recently made changes of==Изменение персонального профиля также создаёт сообщение. Вы можете увидеть недавно сделанные изменения в
profile entries on the Network page, where that profile change is visualized with a '*' beside the 'P' (profile) - selector.==профиле на странице сети. Изменение профиля отмечено звёздочкой '*' рядом с 'P' (профиль) выбор.
More news services will follow.==
#More news services will follow.==
Above you can see four menues:==Вы увидете четыре меню:
<strong>Incoming News (#[insize]#)</strong>: latest news that arrived your peer.==<strong>Входящие сообщения(#[insize]#)</strong>: Последние сообщения, полученные вашим узлом.
Only these news will be used to display specific news services as explained above.==Только эти сообщения будут использоваться для отображения определённых служб сообщений.
@ -2784,7 +2767,7 @@ this controls the proxy auto configuration script for browsers at http://localho
whether the proxy should only be used for .yacy-Domains==Использование прокси-сервера только для доменов .yacy
Proxy pre-fetch setting:==Настройка кэширующего прокси:
this is an automated html page loading procedure that takes actual proxy-requested==Настройка индексации кэшируемых страниц через прокси-сервер
URLs as crawling start points for crawling.==
#URLs as crawling start points for crawling.==
Prefetch Depth==Уровень предварительной выборки
A prefetch of 0 means no prefetch; a prefetch of 1 means to prefetch all==0 - отключение предварительной выборки, 1 - включение предварительной выборки.
embedded URLs, but since embedded image links are loaded by the browser==Предварительная выборка
@ -2861,7 +2844,7 @@ Solr Ranking Configuration<==Конфигурация ранжирования S
These are ranking attributes for Solr. This ranking applies for internal and remote (P2P or shard) Solr access.==Это аттрибуты ранжирования для Solr. Это ранжирование применяется для внутренного и удалённого (P2P или раздельного) доступа к Solr.
Select a profile:==Выберите профиль:
>Boost Function<==>Функция Boost<
A Boost Function can combine numeric values from the result document to produce a number which is multiplied with the score value from the query result.==Eine Boost Funktion kann numerische Werte von Ergebnis-Dokumenten kombinieren, um eine Nummer zu erzeugen die mit den Scoring Werten der Suchergebnisse multipliziert wird.
#A Boost Function can combine numeric values from the result document to produce a number which is multiplied with the score value from the query result.==Eine Boost Funktion kann numerische Werte von Ergebnis-Dokumenten kombinieren, um eine Nummer zu erzeugen die mit den Scoring Werten der Suchergebnisse multipliziert wird.
To see all available fields, see the==Все доступные поля смотрите
>YaCy Solr Schema<==>схему Solr<
and look for numeric values (these are names with suffix '_i').==и ищите числовые значения (названия с суффиксом '_i').
@ -2874,9 +2857,9 @@ Example: to order by date, use==Например: для сортировки п
"Set Boost Function"=="Установить функцию Boost"
"Re-Set to default"=="Восстановить значения по-умолчанию"
>Boost Query<==>Запрос Boost<
The Boost Query is attached to every query. Use this to statically boost specific content in the index.==Die Boost Abfrage wird an jede Abfrage angehängt. Verwenden sie diese Einstellung, um spezifischen Inhalt im Index zu boosten.
#The Boost Query is attached to every query. Use this to statically boost specific content in the index.==Die Boost Abfrage wird an jede Abfrage angehängt. Verwenden sie diese Einstellung, um spezifischen Inhalt im Index zu boosten.
Example: "fuzzy==Например: "fuzzy
means that documents, identified as 'double' are ranked very bad and appended to the end of all results (because the unique are ranked high).== bedeutet dass Dokumente die als 'double' identifiziert werden sehr schlecht geranked werden und an das Ende der Suchergebnisliste angehängt werden (weil die eindeutigen hoch geranked werden).
# means that documents, identified as 'double' are ranked very bad and appended to the end of all results (because the unique are ranked high).== bedeutet dass Dokumente die als 'double' identifiziert werden sehr schlecht geranked werden und an das Ende der Suchergebnisliste angehängt werden (weil die eindeutigen hoch geranked werden).
To find appropriate fields for this query, see the ==Чтобы найти соответствующие поля запросов, смотрите
>YaCy Solr Schema<==>схему Solr<
and look for boolean values (with suffix '_b') or tags inside string fields (with suffix '_s' or '_sxt').== и ищите логические значения (с суффиксом '_b') или тэги внутри строк (с суффиксом '_s' или '_sxt')
@ -2885,7 +2868,7 @@ To find appropriate fields for this query, see the ==Чтобы найти со
"Set Boost Query"=="Установить запрос Boost"
#"Re-Set to default"=="Восстановить значения по-умолчанию"
#>Solr Boosts<==>Solr Boosts<
This is the set of searchable fields. Entries without a boost value are not searched. Boost values make hits inside the corresponding field more important.==Das ist das Set der suchbaren Felder. Einträge ohne Boost Werte werden nicht durchsucht. Boost Werte erhöhen die Wichtigkeit der Treffer im passenden Feld.
#This is the set of searchable fields. Entries without a boost value are not searched. Boost values make hits inside the corresponding field more important.==Das ist das Set der suchbaren Felder. Einträge ohne Boost Werte werden nicht durchsucht. Boost Werte erhöhen die Wichtigkeit der Treffer im passenden Feld.
field not in local index (boost has no effect)==поля нет в локальном индексе (эффект Boost не применяется)
"Set Field Boosts"=="Установить поле Boosts"
#"Re-Set to default"=="Восстановить значения по-умолчанию"
@ -2937,6 +2920,25 @@ URLs for<br/>Remote<br/>Crawl==Ссылки для <br/>удалённых <br/>
>Age<==>Возраст<
#-----------------------------
#File: ServerScannerList.html
#------------------------------
#Network Scanner Monitor==Network Scanner Monitor
#The following servers had been detected:==The following servers had been detected:
#Available server within the given IP range==Available server within the given IP range
>Protocol<==>Протокол<
>IP<==>IP-адрес<
>URL<==>URL-адрес<
>Access<==>Доступ<
>Process<==>Состояние<
>unknown<==>неизвестно<
>empty<==>пусто<
>granted<==>разрешено<
>denied<==>запрещено<
>not in index<==>нет в индексе<
>indexed<==>проиндексировано<
"Add Selected Servers to Crawler"=="Добавить выбранные серверы в индексатор"
#------------------------------
#File: Settings_p.html
#---------------------------
Advanced Settings==Настройки системы
@ -2988,7 +2990,7 @@ Specifies if YaCy should forward ssl connections to the remote proxy.==Разр
Remote proxy host==Хост удалённого прокси
The ip address or domain name of the remote proxy==IP-адрес или домен удалённого прокси
Remote proxy port==Порт удалённого прокси
the port of the remote proxy==
#the port of the remote proxy==
Remote proxy user==Пользователь удалённого прокси
Remote proxy password==Пароль удалённого прокси
No-proxy adresses==Не использовать для прокси адреса
@ -3266,8 +3268,8 @@ A possible reason is that you are behind a firewall, NAT or Router.==Возмо
But you can <a href="index.html">search the internet</a> using the other peers'==Но вы можете <a href="index.html">выполнять поиск</a>, с помощью других узлов
global index on your own search page.==на главной странице поиска.
"bad"=="плохой"
"idea"="идея"
"good"="хороший"
"idea"=="идея"
"good"=="хороший"
"Follow YaCy on Twitter"=="Следуй за YaCy на Twitter"
We encourage you to open your firewall for the port you configured (usually: 8090),==Рекомендуется открыть доступ к используемому порту (обычно, 8090) на вашем брандмауэре,
or to set up a 'virtual server' in your router settings (often called DMZ).==или настройте "виртуальный сервер" на вашем роутере (настройка обычно называется DMZ).
@ -3280,7 +3282,7 @@ Latest public version is==Последняя доступная версия
You can download a more recent version of YaCy. Click here to install this update and restart YaCy:==Вы можете загрузить самую последнюю версию программы. Нажмите здесь для установки этого обновления и перезапуска YaCy:
#"Update YaCy"=="Обновить YaCy"
Install YaCy==Установка YaCy
You can download the latest releases here:=Вы можете загрузить последние версии программы здесь:
You can download the latest releases here:==Вы можете загрузить последние версии программы здесь:
You are running a server in senior mode and you support the global internet index,==Ваш узел является старшим и вы участвуете в создании глобального индекса интернета,
which you can also <a href="index.html">search yourself</a>.==который вы также можете <a href="index.html">использовать для своего поиска</a>.
You have a principal peer because you publish your seed-list to a public accessible server==Ваш узел является главным и вы можете публиковать свой сид-лист на публично-доступном сервере,
@ -3298,7 +3300,7 @@ System Status==Статус системы
System==Система
YaCy version==Версия YaCy
Unknown==неизвестная
Uptime==Время работы
Uptime:==Время работы:
Processors:==Процессоры:
Load:==Загрузка процессора:
Threads:==Потоки:
@ -3612,7 +3614,7 @@ Add & Edit Bookmark==Добавить и редактировать заклад
Public:==Публичная
yes==да
no==нет
URL:==URL
#URL:==URL
Title:==Заголовок
Description:==Описание
Folder (/folder/subfolder):==Папка (папка/подпапка)
@ -3745,7 +3747,7 @@ View URL Content==Показать сведения об URL-адресе
"Show Metadata"=="Показать метаданные"
"Browse Host"=="Просмотр хоста"
>URL Metadata<==>Метаданные<
URL==URL
#URL==URL
Search in Document:==Поиск в документе:
"Show Snippet"=="Показать фрагмент"
Hash==Хэш
@ -3853,7 +3855,7 @@ from page title (splitted)==из заголовка страницы (разде
from page author==из страницы автора
"Create"=="Создать"
Vocabulary Editor==Редактор словаря
This produces the following triples in the==Das produziert die folgenden Tripel im
#This produces the following triples in the==Das produziert die folgenden Tripel im
#>triplestore<==>triplestore<
if a term or synonym matches in a document:==если значение или синоним совпадают в документе
more Triples for linking into objectspace==больше трех ссылок на объект
@ -4114,7 +4116,7 @@ Pictures==Изображения
#File: yacysearchtrailer.html
#---------------------------
Show search results for "#[query]#" on map==Показать результат поиска "#[query]#" на карте
show search results for "#[query]#" on map==Показать результат поиска "#[query]#" на карте
>Provider==>Домен
>Name Space==>Имя
>Author==>Автор
@ -4217,7 +4219,7 @@ Project Wiki<==Wikiсайт проекта<
Git Repository==Git-репозиторий
Bugtracker==Багтрэкер
Peer Statistics==Статистика YaCy
external==
#external==
>Search...<==>Поиск...<
"Search..."=="Поиск..."
### FIRST STEPS ###
@ -4260,7 +4262,7 @@ Community (Web Forums)==Форум
Project Wiki==Wiki-сайт проекта
Search Interface==Интерфейс поиска
About This Page==Ваш профиль
external==
#external==
Bugtracker==Багтрэкер
Git Repository==Git-репозиторий
Peer Statistics==Статистика YaCy
@ -4357,8 +4359,6 @@ Parser Configuration==Конфигурация парсера
#---------------------------
System Administration==Настройки системы
>Status==>Состояние
Basic Configuration==Основные настройки
>Accounts==>Учётные записи
Network Configuration==Настройка сети
Advanced Settings==Настройки системы
Local robots.txt==Локальный robots.txt
@ -4582,7 +4582,7 @@ YaCy: Default Page for Individual Peer Content==YaCy: Страница по-ум
Individual&nbsp;Web&nbsp;Page==Личная вэб-страница
Welcome to your own web page<br />in the <strong>YaCy Network==Добро пожаловать на вашу вэб-страницу<br />im <strong>в сети YaCy
THIS IS A DEMONSTRATION PAGE FOR YOUR OWN INDIVIDUAL WEB SERVER!==Это демонстрационная страница для вашего личного вэб-сервера!
PLEASE REPLACE THIS PAGE BY PUTTING A FILE index.html INTO THE PATH==BITTE ERSETZEN SIE DIESE SEITE, INDEM SIE EINE DATEI MIT DEM NAMEN index.html IM VERZEICHNIS
#PLEASE REPLACE THIS PAGE BY PUTTING A FILE index.html INTO THE PATH==BITTE ERSETZEN SIE DIESE SEITE, INDEM SIE EINE DATEI MIT DEM NAMEN index.html IM VERZEICHNIS
&lt;YaCy-application-home&gt;<strong>#[wwwpath]#</strong>==&lt;YaCy-Programmpfad&gt;<strong>#[wwwpath]#</strong> ABLEGEN.
#-----------------------------
@ -4726,10 +4726,10 @@ title="help"==title="Помощь"
#File: yacy/ui/yacyui-welcome.html
#---------------------------
>Overview==>Обзор
YaCy-UI is going to be a JavaScript based client for YaCy based on the existing XML and JSON API.==YaCy-UI wird ein in JavaScript geschriebener Client für YaCy, der auf der existierenden XML und JSON API aufbaut.
YaCy-UI is at most alpha status, as there is still problems with retriving the search results.==YaCy-UI ist bestenfalls im Alpha Stadium, da es immer noch Probleme beim Abholen der Suchergebnisse gibt.
I am currently changing the backend to a more application friendly format and getting good results with it (I will check that in some time after the stable release 0.7).==Ich ändere gerade das Backend in ein andwendungsfreundlicheres Format und bekomme gute Ergebnisse damit (Ich werde die Änderungen einige Zeit nach der Veröffentlichung der stabilen Version 0.7 einchecken).
For now have a look at the bookmarks, performance has increased significantly, due to the use of JSON and Flexigrid!==Aktuell können Sie sich die Lesezeichen ansehen - Die Performance hat sich signifikant gebessert durch die Verwendung von JSON und Flexigrid!
#YaCy-UI is going to be a JavaScript based client for YaCy based on the existing XML and JSON API.==YaCy-UI wird ein in JavaScript geschriebener Client für YaCy, der auf der existierenden XML und JSON API aufbaut.
#YaCy-UI is at most alpha status, as there is still problems with retriving the search results.==YaCy-UI ist bestenfalls im Alpha Stadium, da es immer noch Probleme beim Abholen der Suchergebnisse gibt.
#I am currently changing the backend to a more application friendly format and getting good results with it (I will check that in some time after the stable release 0.7).==Ich ändere gerade das Backend in ein andwendungsfreundlicheres Format und bekomme gute Ergebnisse damit (Ich werde die Änderungen einige Zeit nach der Veröffentlichung der stabilen Version 0.7 einchecken).
#For now have a look at the bookmarks, performance has increased significantly, due to the use of JSON and Flexigrid!==Aktuell können Sie sich die Lesezeichen ansehen - Die Performance hat sich signifikant gebessert durch die Verwendung von JSON und Flexigrid!
#-----------------------------
#File: api/citation.html

@ -25,7 +25,7 @@
#File: Blacklist_p.html
#---------------------------
Blacklist Manager==Spravca blacklistu
Blacklist==Blacklist
#Blacklist==Blacklist
This function provides an URL filter to the proxy; any blacklisted URL is blocked==Tato funkcia poskytuje URL filter pre proxy: URL adresa z blacklistu je blokovana
from being loaded. You can define several blacklists and activate them separately.==a nebude nahravana. Mozete definovat a nezavisle aktivovat niekolko blacklistov.
You may also provide your blacklist to other peers by sharing them; in return you may==Vas blacklist mozete takisto poskytnut inemu peerovy na stiahnutie a naopak
@ -60,7 +60,7 @@ Add URL pattern==Pridaj URL masku
"Load new blacklist items"=="Nahraj novy blacklist"
# NOT USED
#Import blacklist items from URL:==Importuj blacklist z URL adresy:
URL:==URL:
#URL:==URL:
# NOT USED
#Import blacklist items from file:==Importuj blacklist zo suboru:
was removed from blacklist==bol z blacklistu vymazany
@ -192,13 +192,11 @@ location</a> in 10 seconds.==adresu</a> za 10 sekund.
#---------------------------
Language selection==V&yacute;ber jazyka
You can change the language of the YaCy-webinterface with translation files.==Jazyk YaCy web rozhrania m&ocirc;zete zmenit pomocou prekladov&yacute;ch s&uacute;borov. Vyberte zvolen&yacute; jazyk zo zoznamu.
Current language:==Aktu&aacute;lny jazyk
# NOT USED
#default(english)==Slovensky
Current language</label>==Aktu&aacute;lny jazyk</label>
Languagefile Author(s) (chronological):==Autor(y) jazykov&yacute;ch s&uacute;borov (chronologicky):
Send additions to maintainer:==Pros&iacute;m po&scaron;lite zmeny maintainerovy na:
Available Languages:==Podporovan&eacute; jazyky:
Install new language from URL:==Nain&scaron;taluj nov&yacute; jazyk z URL adresy:
Send additions to maintainer</em>==Pros&iacute;m po&scaron;lite zmeny maintainerovy na</em>
Available Languages</label>==Podporovan&eacute; jazyky</label>
Install new language from URL==Nain&scaron;taluj nov&yacute; jazyk z URL adresy
Use this language==Tento jazyk ihned pouzit
"Use"=="Pouzi"
"Delete"=="Zmaz"
@ -217,10 +215,10 @@ Name==Meno
#Nick Name==Prez&yacute;vka
Homepage==Domovsk&aacute; str&aacute;nka
eMail==email
ICQ==ICQ
Jabber==Jabber
Yahoo!==Yahoo!
MSN==MSN
#ICQ==ICQ
#Jabber==Jabber
#Yahoo!==Yahoo!
#MSN==MSN
Comment==Koment&aacute;r
"Save"=="Uloz profil"
#-----------------------------
@ -529,7 +527,7 @@ Accept remote crawling requests and perform crawl at maximum of==Akceptuj poziad
#Pages Per Minute (minimum is 1, low system load usually at PPM <= 30)==stranok za minutu (minimum je 1, pomale systemy nahravaju normalne pod 30 stranok za minutu)
Do not accept remote crawling requests (please set this only if you cannot accept to crawl only one page per minute; see option above)==Neakceptuj poziadavky na vzdialeny crawling (prosim aktivujte tuto volbu len ak nemozete crawlovat 1 stranku za minut - pozri vyzsie)
Error with profile management. Please stop YaCy, delete the file DATA/PLASMADB/crawlProfiles0.db and restart.==
#Error with profile management. Please stop YaCy, delete the file DATA/PLASMADB/crawlProfiles0.db and restart.==
# NOT USED
#ERROR: Crawl filter "#[newcrawlingfilter]#" does not match with crawl root "#[crawlingStart]#".</b> Please try again with different filter.==
# NOT USED
@ -554,7 +552,7 @@ or see the fill/process count of all queues on the==alebo sa pozrite na proces v
# NOT USED
#Please wait some seconds, because the request is enqueued and delayed until the proxy/HTTP-server is idle for a certain time.</b>==
The indexing results are presented on the==
#The indexing results are presented on the==
Index Monitor</a>-page.==stranke Monitor indexu</a>.
# NOT USED
@ -578,8 +576,8 @@ Start URL==Startovacia URL
#Auto Filter Hlbka==
# NOT USED
#MaxAge</b>==
Auto Filter Content==
Max Page Per Domain==
#Auto Filter Content==
#Max Page Per Domain==
# NOT USED
#Accept "?" URLs==
@ -1554,7 +1552,6 @@ Changes will take effect immediately.==Zmeny su okamzite ucinne.
Content Parser Settings==Nastavenia parsera obsahu
With this settings you can activate or deactivate parsing of additional content-types based on their MIME-types.==S tymito nastavenia mozete zapnut alebo vypnut parsovanie dodatocnych suborov na zaklade ich mime-typov.
For a detailed description of the various MIME-types take a look at==Detailny popis rozlicnych mime-typov najdete na
http://www.iana.org/assignments/media-types/</a>==http://www.iana.org/assignments/media-types/</a>.
Changes take effect immediately==Zmeny su okamzite ucinne
#-----------------------------
@ -1901,10 +1898,10 @@ Name==Meno
#Nick Name==Prezyvka
Homepage==Domovska stranka
eMail==eMail
ICQ==ICQ
Jabber==Jabber
Yahoo!==Yahoo!
MSN==MSN
#ICQ==ICQ
#Jabber==Jabber
#Yahoo!==Yahoo!
#MSN==MSN
Comment==Komentar
#-----------------------------
@ -1962,7 +1959,7 @@ you must also switch to online mode==najprv sa vsak musite prepnut do online mod
(by using the proxy) to contribute to the global index.==(v ktorom pouzivate proxy) aby ste mohli prehladavat globalny index.
The global search resulted in #[globalresults]# link contributions from other YaCy peers.==Globalne vyhladavanie obsahuje #[globalresults]# vysledkov, ktore boli vytvorene za prispenia ostatnych peerov.
YaCy is a GPL'ed project==YaCy ist ein GPL Projekt
with the target of implementing a P2P-based global search engine.==mit dem Ziel eine globale P2P-basierte Suchmaschine zu realisieren.
#with the target of implementing a P2P-based global search engine.==mit dem Ziel eine globale P2P-basierte Suchmaschine zu realisieren.
Architecture (C) by Michael Peter Christen==Architektur (C) von Michael Peter Christen
#-----------------------------
@ -1973,6 +1970,13 @@ Help / Wiki==Pomoc / Wiki
Peer Owner Profile==Profi vlastn&iacute;ka peera
#-----------------------------
#File: env/templates/submenuAccessTracker.template
#---------------------------
Cookie Menu==Cookie Menu
Incoming&nbsp;Cookies==Prichadzajuce cookies
Outgoing&nbsp;Cookies==Odchadzajuce cookies
#-----------------------------
#File: env/templates/header.template
#---------------------------
# NOT USED
@ -2024,19 +2028,13 @@ Download YaCy==Stiahni YaCy
#---------------------------
Peer Configuration Menu==Konfigur&aacute;cia menu peera
Basic Configuraton==Z&aacute;kladn&eacute; nastavenia
Advanced Settings==Pokrocil&eacute; nastavenia
>Language==>Jazyk
Peer Profile==Profil
Interface Skins==Nastavenie vzhladu
>Advanced==>Pokrocil&eacute; nastavenia
#-----------------------------
#File: env/templates/submenuCookie.template
#---------------------------
Cookie Menu==Cookie Menu
Incoming&nbsp;Cookies==Prichadzajuce cookies
Outgoing&nbsp;Cookies==Odchadzajuce cookies
#-----------------------------
#File: env/templates/submenuIndexControl.template
#---------------------------
Index Control Menu==Menu spravy indexu
@ -2056,7 +2054,7 @@ Media Crawl Queues==Cakacia listina Media crawlu
>Loader==>Nahravac
>Local==>Lokal
#Global==Global
>Overhang==>Overhang
#>Overhang==>Overhang
>Images==>Obrazky
>Movies==>Filmy
>Music==>Hudba
@ -2070,6 +2068,14 @@ Memory Settings for Database Caches==Nastavenia pamate databazovej cache
Timing Settings for Search Sequence==Nastavenia casu pre vyhladavaciu sekvenciu
#-----------------------------
#File: env/templates/submenuUseCaseAccount.template
#---------------------------
#Use Case &amp; Accounts==Use Case &amp; Accounts
Basic Configuration==Z&aacute;kladn&eacute; nastavenia
#>Accounts<==>Accounts<
#Network Configuration==Network Configuration
#-----------------------------
#File: htdocsdefault/dir.html
#---------------------------
YaCy: Public Files==YaCy: Verejne subory

@ -97,7 +97,7 @@ a complete <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Patt
Activate this list for==Активува цей список для
Show entries:==Показати записи:
Entries per page:==Записів на сторінку:
"Go"=="Вперед"
#"Go"=="Вперед"
Edit existing pattern(s):==Редагувати поточні шаблони:
"Save URL pattern(s)"=="Зберегти шаблон(и) URL"
</body>==<script>window.onload = function () {$("label:contains('proxy')").text('проксі'); $("label:contains('crawler')").text('сканувача'); $("label:contains('dht')").text('DHT'); $("label:contains('search')").text('пошуку'); $("label:contains('surftips')").text('серфінгу'); $("label:contains('news')").text('новин');}</script></body>
@ -165,8 +165,7 @@ Surftips==Поради для серфінгу
#File: Blog.html
#---------------------------
by==
#від
by==від
Comments</a>==Коментарі</a>
>edit==>редагувати
>delete==>видалити
@ -210,8 +209,7 @@ Please select the XML-file you want to import:==Будь-ласка, вибер
#File: BlogComments.html
#---------------------------
by==
#від
by==від
Comments</a>==Коментарі</a>
Login==Einloggen
Blog-Home==Початкова сторінка блогу
@ -624,7 +622,6 @@ Parser Configuration==Настройка обробника
Content Parser Settings==Налаштування обробника вмісту
With this settings you can activate or deactivate parsing of additional content-types based on their MIME-types.==З допомогою цих настройок можна вмикати і вимикати обробку додаткових типів даних на основі їхніх MIME-типів.
For a detailed description of the various MIME-types take a look at==Для докладного опису різних типів MIME дивіться
http://www.iana.org/assignments/media-types/</a>==https://www.iana.org/assignments/media-types/</a>
If you want to test a specific parser you can do so using the <a href="ViewFile.html">File Viewer</a>==Якщо потрібно перевірити незвичайний аналізатор, це можна зробити з допомогою <a href="ViewFile.html">переглядача файлів</a>
enable/disable Parser==Ввім./Вимк. обробник
# --- Parser Names are hard-coded BEGIN ---
@ -1337,7 +1334,7 @@ doublequotes==лапки
prefer given language==Віддавати перевагу вказаній мові
an ISO639 2-letter code==2-буквенний код ISO639
heuristics==евристика
add search results from blekko==додати пошукові результати з blekko
add search results from ==додати пошукові результати з
Search Navigation==Пошукова навігація
keyboard shotcuts==швидкий доступ
tab or page-up==tab чи page-up
@ -1573,13 +1570,11 @@ usually 3306 for mySQL==зазвичай 3306 для MySQL
Name of the database==Ім’я БД
on the host==на хості
Table prefix string==Рядок префікса таблиці
for table names==
#для імен таблиць
for table names==для імен таблиць
User==Користувач
that can access the database==з доступом до БД
Password==Пароль
for the account of that user given above==
#для доступу вищезазначеним користувачем
for the account of that user given above==для доступу вищезазначеним користувачем
Posts per file==Повідомлень на файл
in exported surrogates==в експортованому допоміжному файлі
Check database connection==Перевірити підключення до бази даних
@ -1680,7 +1675,7 @@ Profile==Профіль
Depth==Глибина
Modified Date==Дата зміни
Anchor Name==Ім’я якоря
URL==URL
#URL==URL
[Delete]==[Видалити]
Delete Entries:==Видалити записи:
"Delete"=="Видалити"
@ -1702,7 +1697,7 @@ Profile==Профіль
Depth==Глибина
Modified Date==Дата зміни
Anchor Name==Ім’я якоря
URL==URL
#URL==URL
Delete==Видалити
#-----------------------------
@ -2845,8 +2840,8 @@ A possible reason is that you are behind a firewall, NAT or Router.==Одна з
But you can <a href="index.html">search the internet</a> using the other peers'==Але ви можете <a href="index.html">здійснювати пошук</a> в глобальному індексі
global index on your own search page.==інших вузлів зі своєї сторінки пошуку.
"bad"=="погано"
"idea"="думка"
"good"="добре"
"idea"=="думка"
"good"=="добре"
"Follow YaCy on Twitter"=="Слідувати за YaCy на Twitter'і"
We encourage you to open your firewall for the port you configured (usually: 8090),==Ми рекомендуєм відкрити файрвол на виставленому порту YaCy (за замовчуванням: 8090)
or to set up a 'virtual server' in your router settings (often called DMZ).==або виставити "віртуальний сервер" у вашому маршрутизаторі (часто називається DMZ).
@ -2871,7 +2866,7 @@ Your Web Page Indexer is busy. You can <a href="Crawler_p.html">monitor your web
System Status==Стан системи
Process</dt>==Процес</dt>
Unknown==невідомо
Uptime==Час в мережі
Uptime:==Час в мережі:
System Resources==Системні ресурси
Processors:==Процесори:
Protection==Безпека
@ -3438,7 +3433,7 @@ Pictures==Bilder
#File: yacysearchtrailer.html
#---------------------------
Show search results for "#[query]#" on map==Показати результати пошуку для "#[query]#" на карті
show search results for "#[query]#" on map==Показати результати пошуку для "#[query]#" на карті
>Provider==>Домени
>Name Space==>Простір імен
>Author==>Автори
@ -3580,8 +3575,10 @@ All Connections</a>==Всі з’єднання</a>
Local Search==Місцевий пошук
Log==Журнал
Host Tracker==Спостереження за сервером
#Remote&nbsp;Search==Віддалений&nbsp;пошук
Remote Search==Віддалений пошук
Remote Search<==Віддалений пошук<
Cookie Menu==Меню печива
Incoming&nbsp;Cookies==Вхідне печиво
Outgoing&nbsp;Cookies==Вихідне печиво
#-----------------------------
#File: env/templates/submenuBlacklist.template
@ -3596,11 +3593,9 @@ Index Cleaner==Очищення індексу
#File: env/templates/submenuConfig.template
#---------------------------
Peer Administration Console==Адмін. консоль
#UNUSED HERE
#Peer Administration Console==Адмін. консоль
>Status==>Стан
Basic Configuration==Початкове налаштування
>Accounts==>Облікові записи
Network Configuration==Настройка мережі
>Heuristics<==>Евристика<
Dictionary Loader==Завантаження словника
System Update==Оновлення системи
@ -3622,13 +3617,6 @@ Import Mediawiki dumps==Імпорт Mediawiki Dumps
Import OAI-PMH Sources==Імпорт джерел OAI-PMH
#-----------------------------
#File: env/templates/submenuCookie.template
#---------------------------
Cookie Menu==Меню печива
Incoming&nbsp;Cookies==Вхідне печиво
Outgoing&nbsp;Cookies==Вихідне печиво
#-----------------------------
#File: env/templates/submenuCrawlMonitor.template
#---------------------------
Web Crawler==Сканер мережі
@ -3730,6 +3718,14 @@ Blog==Блог
File Hosting==Загальний доступ до файлів
#-----------------------------
#File: env/templates/submenuUseCaseAccount.template
#---------------------------
#Use Case &amp; Accounts==Use Case &amp; Accounts
Basic Configuration==Початкове налаштування
>Accounts<==>Облікові записи<
Network Configuration==Настройка мережі
#-----------------------------
#File: env/templates/submenuViewLog.template
#---------------------------
Server Log Menu==Меню журналу сервера
@ -4025,7 +4021,7 @@ To see a list of all APIs, please visit the <a href="http://www.yacy-websuche.de
#>Tag Manager==>Ключові слова
>Tag Manager==>Ключі
>Import<==>Імпорт<
All tag actions are applied to the sub-set of bookmarks defined by this query.==
#All tag actions are applied to the sub-set of bookmarks defined by this query.==
>Query==>Запит
>Query Type==>Тип запиту
>Tags (comma seperated)==>Ключі (через кому)
@ -4034,7 +4030,7 @@ All tag actions are applied to the sub-set of bookmarks defined by this query.==
>Folders (regexp)==>Папки (рег.вираз)
>Title (regexp)==>Заголовок (рег.вираз)
>Description (regexp)==>Опис (рег.вираз)
Enter tags to add (<i>replace with</i>)==
#Enter tags to add (<i>replace with</i>)==
>(comma separated tags)==>(ключі через кому)
#>Bookmark Importer==>Імпортувач закладок
>Bookmark Importer==>Імпорт закладок
@ -4159,6 +4155,8 @@ Select tags to remove ...==Ключі для видалення ...
#File: ServerScannerList.html
#---------------------------
Network Scanner Monitor==Результати сканування мережі
The following servers can be searched:==По наступних серверах можна здійснювати пошук:
The following servers had been detected:==Були виявлені наступні сервери:
Available server within the given IP range==Доступні сервери в межах вказаної IP-області
>Protocol<==>Протокол<
@ -4173,8 +4171,6 @@ Available server within the given IP range==Доступні сервери в
>not in index<==>не в індексі<
>indexed<==>проіндексовано<
"Add Selected Servers to Crawler"=="Додати обрані сервери у сканування"
The following servers can be searched:==По наступних серверах можна здійснювати пошук:
Network Scanner Monitor==Результати сканування мережі
#-----------------------------
#File: env/templates/submenuComputation.template
@ -4196,7 +4192,6 @@ Published&nbsp;News==Опубліковані
#File: YaCySearchPluginFF.html
#---------------------------
Quick Crawl Link==Швидке сканування посилання
/env/grafics/yacy.gif==/env/grafics/yacy.png
Firefox Search Plugin==Пошукове доповнення Firefox
Unable to install the firefox search plugin==Неможливо встановити пошукове розширення firefox
#"General"=="Загалом"

@ -332,7 +332,7 @@
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.10</version>
<version>1.11</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
@ -342,7 +342,7 @@
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
<version>2.5</version>
</dependency>
<dependency>
<groupId>commons-jxpath</groupId>
@ -437,7 +437,7 @@
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.8.3</version>
<version>1.9.1</version>
</dependency>
<dependency>
<groupId>com.youcruit.com.cybozu.labs</groupId>
@ -457,7 +457,7 @@
<dependency>
<groupId>com.drewnoakes</groupId>
<artifactId>metadata-extractor</artifactId>
<version>2.8.1</version>
<version>2.9.1</version>
</dependency>
<dependency>
<groupId>oro</groupId>
@ -579,6 +579,11 @@
<artifactId>xercesImpl</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>com.collaborne</groupId>
<artifactId>xliff-core-1.2</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>com.adobe.xmp</groupId>
<artifactId>xmpcore</artifactId>

@ -980,8 +980,8 @@ public class MultiProtocolURL implements Serializable, Comparable<MultiProtocolU
/**
* create word tokens for parser. Find CamelCases and separate these words
* resulting words are not ordered by appearance, but all
* @return
* resulting words are not ordered by appearance, but all in sequence
* @return string with unique tokens
*/
public static String toTokens(final String s) {
// remove all non-character & non-number
@ -992,14 +992,8 @@ public class MultiProtocolURL implements Serializable, Comparable<MultiProtocolU
if ((c >= '0' && c <='9') || (c >= 'a' && c <='z') || (c >= 'A' && c <='Z')) sb.append(c); else sb.append(' ');
}
String t = sb.toString();
// remove all double-spaces
int p;
while ((p = t.indexOf(" ",0)) >= 0) t = t.substring(0, p) + t.substring(p + 1);
// split the string into tokens and add all camel-case splitting
final String[] u = CommonPattern.SPACES.split(t);
final String[] u = CommonPattern.SPACES.split(sb);
final Set<String> token = new LinkedHashSet<String>();
for (final String r: u) token.add(r);
for (final String r: u) token.addAll(parseCamelCase(r));

@ -100,12 +100,10 @@ public class Domains {
private static Set<InetAddress> localHostAddresses = new HashSet<InetAddress>(); // subset of myHostAddresses
private static Set<InetAddress> publicIPv4HostAddresses = new HashSet<InetAddress>(); // subset of myHostAddresses
private static Set<InetAddress> publicIPv6HostAddresses = new HashSet<InetAddress>(); // subset of myHostAddresses
private static Set<String> myHostNames = new HashSet<String>();
private static Set<String> localHostNames = new HashSet<String>(); // subset of myHostNames
private static Set<String> publicIPv4HostNames = new HashSet<String>(); // subset of myHostNames
private static Set<String> publicIPv6HostNames = new HashSet<String>(); // subset of myHostNames
static {
myHostNames.add(LOCALHOST);
localHostNames.add(LOCALHOST);
try {
InetAddress localHostAddress = InetAddress.getLocalHost();
@ -166,8 +164,6 @@ public class Domains {
}
hns.add(hostaddressP);
final String hostname = getHostName(a);
if (hostname != null) myHostNames.add(hostname);
myHostNames.addAll(hns);
for (String hostaddress: hns) {
if (hostaddress.contains("::0:") || hostaddress.contains(":0::")) continue; // not common (but possible); we skip that
// we write the local tests into variables to be able to debug these values
@ -986,9 +982,7 @@ public class Domains {
// add also the isLocal host name caches
final boolean localp = ip.isAnyLocalAddress() || ip.isLinkLocalAddress() || ip.isSiteLocalAddress();
if (localp) {
myHostNames.add(host);
} else {
if (!localp) {
if (globalHosts != null) try {
globalHosts.add(host);
} catch (final IOException e) {}

@ -87,7 +87,7 @@ public class HostBalancer implements Balancer {
}
/**
* fills the queue with by scanning the hostsPath directory in a thread to
* fills the queue by scanning the hostsPath directory in a thread to
* return immediately (as large unfinished crawls may take longer to load)
*/
private void init() {
@ -106,7 +106,9 @@ public class HostBalancer implements Balancer {
queues.put(DigestURL.hosthash(queue.getHost(), queue.getPort()), queue);
}
} catch (MalformedURLException | RuntimeException e) {
log.warn("init error for " + hostsPath.getName() + " host=" + hoststr + " " + e.getLocalizedMessage());
log.warn("delete queue due to init error for " + hostsPath.getName() + " host=" + hoststr + " " + e.getLocalizedMessage());
// if exception thrown we can't init the queue, maybe due to name violation. That won't get better, delete it.
FileUtils.deletedelete(new File(hostsPath, hoststr));
}
}
}

@ -101,7 +101,11 @@ public class HostQueue implements Balancer {
this.port = Integer.parseInt(filename.substring(p + 1)); // consider "host.com" contains dot but no required port -> will throw exception
init();
}
/**
* Opens and initializes the host queue
* @throws MalformedURLException if directory for the host could not be created
*/
private final void init() throws MalformedURLException {
try {
if (this.hostName == null)

@ -32,6 +32,7 @@ import java.util.concurrent.ConcurrentHashMap;
import net.yacy.cora.sorting.ClusteredScoreMap;
import net.yacy.cora.sorting.ScoreMap;
import net.yacy.cora.util.ConcurrentLog;
import net.yacy.kelondro.util.ReverseMapIterator;
public final class ResultURLs {
@ -102,7 +103,7 @@ public final class ResultURLs {
resultStack.put(urlhash, new InitExecEntry(initiatorHash, executorHash));
}
} catch (final Exception ex) {
System.out.println("INTERNAL ERROR in newEntry/2: " + ex.toString());
ConcurrentLog.warn("CRAWLER", "INTERNAL ERROR in newEntry/2: " + ex.toString());
return;
}
try {
@ -111,7 +112,7 @@ public final class ResultURLs {
domains.inc(hostname);
}
} catch (final Exception ex) {
System.out.println("INTERNAL ERROR in newEntry/3: " + ex.toString());
ConcurrentLog.warn("CRAWLER", "INTERNAL ERROR in newEntry/3: " + ex.toString());
return;
}
}

@ -51,6 +51,7 @@ import net.yacy.cora.util.CommonPattern;
import net.yacy.cora.util.ConcurrentLog;
import net.yacy.kelondro.util.FileUtils;
import net.yacy.kelondro.util.Formatter;
import net.yacy.peers.Seed;
import net.yacy.search.SwitchboardConstants;
import net.yacy.server.serverSwitch;
import net.yacy.utils.translation.ExtensionsFileFilter;
@ -138,10 +139,6 @@ public class Translator {
return lists;
}
public static boolean translateFile(final File sourceFile, final File destFile, final File translationFile){
return translateFile(sourceFile, destFile, loadTranslationsLists(translationFile).get(sourceFile.getName()));
}
/**
* Translate sourceFile to destFile using translationList.
* @param sourceFile file to translate
@ -240,7 +237,7 @@ public class Translator {
"default/English,de/Deutsch,fr/Fran&ccedil;ais,nl/Nederlands,it/Italiano,es/Espa&ntilde;ol,pt/Portug&ecirc;s,fi/Suomi,se/Svenska,dk/Dansk," +
"gr/E&lambda;&lambda;&eta;v&iota;&kappa;&alpha;,sk/Slovensky,cn/&#27721;&#35821;/&#28450;&#35486;," +
"ru/&#1056;&#1091;&#1089;&#1089;&#1082;&#1080;&#1081;,uk/&#1059;&#1082;&#1088;&#1072;&#1111;&#1085;&#1089;&#1100;&#1082;&#1072;," +
"hi/&#2361;&#2367;&#2344;&#2381;&#2342;&#2368;"
"hi/&#2361;&#2367;&#2344;&#2381;&#2342;&#2368;,ja/&#26085;&#26412;&#35486;"
);
final Map<String, String> map = new HashMap<String, String>();
for (final String element : ms) {
@ -272,7 +269,7 @@ public class Translator {
Formatter.setLocale(env.getConfig("locale.language", "en"));
try {
final BufferedWriter bw = new BufferedWriter(new PrintWriter(new FileWriter(new File(destDir, "version"))));
bw.write(env.getConfig("svnRevision", "Error getting Version"));
bw.write(env.getConfig(Seed.VERSION, "Error getting Version"));
bw.close();
} catch (final IOException e) {
// Error

@ -118,7 +118,7 @@ public class zipParser extends AbstractParser implements Parser {
FileUtils.copy(zis, tmp, entry.getSize());
final DigestURL virtualURL = DigestURL.newURL(location, "#" + name);
//this.log.logInfo("ZIP file parser: " + virtualURL.toNormalform(false, false));
final Document[] docs = TextParser.parseSource(new AnchorURL(virtualURL), mime, null, scraper, timezoneOffset, 999, tmp);
final Document[] docs = TextParser.parseSource(virtualURL, mime, null, scraper, timezoneOffset, 999, tmp);
if (docs == null) continue;
maindoc.addSubDocuments(docs);
} catch (final Parser.Failure e) {

@ -38,6 +38,7 @@ import net.yacy.cora.protocol.Domains;
import net.yacy.cora.protocol.HeaderFramework;
import net.yacy.repository.Blacklist.BlacklistType;
import net.yacy.search.Switchboard;
import net.yacy.search.SwitchboardConstants;
import org.eclipse.jetty.proxy.ConnectHandler;
import org.eclipse.jetty.server.Handler;
@ -125,7 +126,7 @@ abstract public class AbstractRemoteHandler extends ConnectHandler implements Ha
// from here we can assume it is a proxy request
// should check proxy use permission
if (!Switchboard.getSwitchboard().getConfigBool("isTransparentProxy", false)) {
if (!Switchboard.getSwitchboard().getConfigBool(SwitchboardConstants.PROXY_TRANSPARENT_PROXY, false)) {
// transparent proxy not swiched on
response.sendError(HttpServletResponse.SC_FORBIDDEN,"proxy use not allowed (see System Administration -> Advanced Settings -> Proxy Access Settings -> Transparent Proxy; switched off).");
baseRequest.setHandled(true);

@ -163,9 +163,13 @@ public class Jetty9HttpServerImpl implements YaCyHttpServer {
// define list of YaCy specific general handlers
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[]
{new MonitorHandler(), domainHandler, new ProxyCacheHandler(), new ProxyHandler()});
if (sb.getConfigBool(SwitchboardConstants.PROXY_TRANSPARENT_PROXY, false)) {
// Proxyhandlers are only needed if feature activated (save resources if not used)
ConcurrentLog.info("SERVER", "load Jetty handler for transparent proxy");
handlers.setHandlers(new Handler[]{new MonitorHandler(), domainHandler, new ProxyCacheHandler(), new ProxyHandler()});
} else {
handlers.setHandlers(new Handler[]{new MonitorHandler(), domainHandler});
}
// context handler for dispatcher and security (hint: dispatcher requires a context)
ContextHandler context = new ContextHandler();
context.setServer(server);

@ -34,13 +34,13 @@ import javax.servlet.http.HttpServletResponse;
import net.yacy.cora.document.id.DigestURL;
import net.yacy.cora.protocol.RequestHeader;
import net.yacy.cora.protocol.ResponseHeader;
import net.yacy.crawler.data.Cache;
import net.yacy.crawler.retrieval.Response;
import net.yacy.http.servlets.YaCyDefaultServlet;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Request;
import net.yacy.crawler.data.Cache;
import net.yacy.crawler.retrieval.Response;
/**
* jetty http handler serves pages from cache if available and valid
*/
@ -65,7 +65,7 @@ public class ProxyCacheHandler extends AbstractRemoteHandler implements Handler
ResponseHeader cachedResponseHeader = Cache.getResponseHeader(url.hash());
if (cachedResponseHeader != null) {
RequestHeader proxyHeaders = ProxyHandler.convertHeaderFromJetty(request);
RequestHeader proxyHeaders = YaCyDefaultServlet.convertHeaderFromJetty(request);
// TODO: this convertion is only necessary
final net.yacy.crawler.retrieval.Request yacyRequest = new net.yacy.crawler.retrieval.Request(
null,

@ -30,7 +30,6 @@ import java.io.IOException;
import java.io.OutputStream;
import java.net.SocketException;
import java.util.Date;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
@ -47,6 +46,7 @@ import net.yacy.cora.protocol.http.HTTPClient;
import net.yacy.document.TextParser;
import net.yacy.crawler.data.Cache;
import net.yacy.crawler.retrieval.Response;
import net.yacy.http.servlets.YaCyDefaultServlet;
import net.yacy.server.http.HTTPDProxyHandler;
import net.yacy.server.http.MultiOutputStream;
@ -69,20 +69,6 @@ public class ProxyHandler extends AbstractRemoteHandler implements Handler {
timeout = sb.getConfigInt("proxy.clientTimeout", 10000);
}
public static RequestHeader convertHeaderFromJetty(HttpServletRequest request) {
RequestHeader result = new RequestHeader();
Enumeration<String> headerNames = request.getHeaderNames();
while(headerNames.hasMoreElements()) {
String headerName = headerNames.nextElement();
Enumeration<String> headers = request.getHeaders(headerName);
while(headers.hasMoreElements()) {
String header = headers.nextElement();
result.add(headerName, header);
}
}
return result;
}
private void convertHeaderToJetty(HttpResponse in, HttpServletResponse out) {
for(Header h: in.getAllHeaders()) {
out.addHeader(h.getName(), h.getValue());
@ -143,7 +129,7 @@ public class ProxyHandler extends AbstractRemoteHandler implements Handler {
sb.proxyLastAccess = System.currentTimeMillis();
RequestHeader proxyHeaders = convertHeaderFromJetty(request);
RequestHeader proxyHeaders = YaCyDefaultServlet.convertHeaderFromJetty(request);
setProxyHeaderForClient(request, proxyHeaders);
final HTTPClient client = new HTTPClient(ClientIdentification.yacyProxyAgent);

@ -26,7 +26,6 @@ import net.yacy.cora.protocol.HeaderFramework;
import net.yacy.cora.protocol.RequestHeader;
import net.yacy.cora.protocol.ResponseHeader;
import net.yacy.cora.util.ConcurrentLog;
import net.yacy.http.ProxyHandler;
import net.yacy.kelondro.util.FileUtils;
import net.yacy.search.Switchboard;
import net.yacy.server.http.ChunkedInputStream;
@ -145,7 +144,7 @@ public class UrlProxyServlet extends HttpServlet implements Servlet {
hostwithport += ":" + proxyurl.getPort();
}
// 4 - get target url
RequestHeader yacyRequestHeader = ProxyHandler.convertHeaderFromJetty(request);
RequestHeader yacyRequestHeader = YaCyDefaultServlet.convertHeaderFromJetty(request);
yacyRequestHeader.remove(RequestHeader.KEEP_ALIVE);
yacyRequestHeader.remove(HeaderFramework.CONTENT_LENGTH);

@ -68,7 +68,6 @@ import net.yacy.cora.util.ByteBuffer;
import net.yacy.cora.util.ConcurrentLog;
import net.yacy.data.UserDB.AccessRight;
import net.yacy.data.UserDB.Entry;
import net.yacy.http.ProxyHandler;
import net.yacy.kelondro.util.FileUtils;
import net.yacy.kelondro.util.MemoryControl;
import net.yacy.peers.Seed;
@ -662,8 +661,27 @@ public class YaCyDefaultServlet extends HttpServlet {
return rewriteMethod(targetClass).invoke(null, new Object[]{request, args, Switchboard.getSwitchboard()}); // add switchboard
}
/**
* Convert ServletRequest header to YaCy RequestHeader
* @param request ServletRequest
* @return RequestHeader created from ServletRequest
*/
public static RequestHeader convertHeaderFromJetty(HttpServletRequest request) {
RequestHeader result = new RequestHeader();
Enumeration<String> headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
String headerName = headerNames.nextElement();
Enumeration<String> headers = request.getHeaders(headerName);
while (headers.hasMoreElements()) {
String header = headers.nextElement();
result.add(headerName, header);
}
}
return result;
}
protected RequestHeader generateLegacyRequestHeader(HttpServletRequest request, String target, String targetExt) {
RequestHeader legacyRequestHeader = ProxyHandler.convertHeaderFromJetty(request);
RequestHeader legacyRequestHeader = convertHeaderFromJetty(request);
legacyRequestHeader.put(HeaderFramework.CONNECTION_PROP_CLIENTIP, request.getRemoteAddr());
legacyRequestHeader.put(HeaderFramework.CONNECTION_PROP_PATH, target);

@ -31,7 +31,6 @@ import net.yacy.cora.protocol.HeaderFramework;
import net.yacy.cora.protocol.RequestHeader;
import net.yacy.cora.protocol.ResponseHeader;
import net.yacy.cora.util.ConcurrentLog;
import net.yacy.http.ProxyHandler;
import net.yacy.kelondro.util.FileUtils;
import net.yacy.search.Switchboard;
import net.yacy.server.http.ChunkedInputStream;
@ -117,7 +116,7 @@ public class YaCyProxyServlet extends HttpServlet implements Servlet {
if (proxyurl.getPort() != -1) {
hostwithport += ":" + proxyurl.getPort();
}
RequestHeader yacyRequestHeader = ProxyHandler.convertHeaderFromJetty(request);
RequestHeader yacyRequestHeader = YaCyDefaultServlet.convertHeaderFromJetty(request);
yacyRequestHeader.remove(RequestHeader.KEEP_ALIVE);
yacyRequestHeader.remove(HeaderFramework.CONTENT_LENGTH);

@ -28,6 +28,7 @@ import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Set;
import net.yacy.cora.order.Base64Order;
@ -47,33 +48,46 @@ import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.response.LukeResponse.FieldInfo;
public class migration {
//SVN constants
public static final int USE_WORK_DIR=1389; //wiki & messages in DATA/WORK
public static final int TAGDB_WITH_TAGHASH=1635; //tagDB keys are tagHashes instead of plain tagname.
public static final int NEW_OVERLAYS=4422;
public static final int IDX_HOST=7724; // api for index retrieval: host index
public static void migrate(final Switchboard sb, final int fromRev, final int toRev){
if(fromRev < toRev){
if(fromRev < TAGDB_WITH_TAGHASH){
//SVN constants (version & revision format = v.vvv0rrrr)
public static final double TAGDB_WITH_TAGHASH=0.43101635; //tagDB keys are tagHashes instead of plain tagname.
public static final double NEW_OVERLAYS =0.56504422;
public static final double IDX_HOST_VER =0.99007724; // api for index retrieval: host index
public static final double SSLPORT_CFG =1.67009578; // https port in cfg
/**
* Migrates older configuratin to current version
* @param sb
* @param fromVer the long version & revision (example 1.83009123)
* @param toRev to current version
*/
public static void migrate(final Switchboard sb, final double fromVer, final double toVer){
if(fromVer < toVer){
if(fromVer < TAGDB_WITH_TAGHASH){
migrateBookmarkTagsDB(sb);
}
if(fromRev < NEW_OVERLAYS){
if(fromVer < NEW_OVERLAYS){
migrateDefaultFiles(sb);
}
ConcurrentLog.info("MIGRATION", "Migrating from "+ fromRev + " to " + toRev);
presetPasswords(sb);
migrateSwitchConfigSettings(sb);
migrateWorkFiles(sb);
// use String.format to cut-off small rounding errors
ConcurrentLog.info("MIGRATION", "Migrating from "+ String.format(Locale.US, "%.8f",fromVer) + " to " + String.format(Locale.US, "%.8f",toVer));
if (fromVer < 0.47d) {
presetPasswords(sb);
migrateSwitchConfigSettings(sb);
migrateWorkFiles(sb);
}
}
installSkins(sb); // FIXME: yes, bad fix for quick release 0.47
// ssl/https support currently on hardcoded default port 8443 (v1.67/9563)
// make sure YaCy can start (disable ssl/https support if port is used)
if (sb.getConfigBool("server.https", false)) {
if (TimeoutRequest.ping("127.0.0.1", 8443, 3000)) {
int sslport = 8443;
if (fromVer > SSLPORT_CFG) {
sslport = sb.getConfigInt("port.ssl", 8443);
}
if (TimeoutRequest.ping("127.0.0.1", sslport, 3000)) {
sb.setConfig("server.https", false);
ConcurrentLog.info("MIGRATION", "disabled https support (reason: default port 8443 already used)");
ConcurrentLog.config("MIGRATION", "disabled https support (reason: port already used)");
}
}
}

@ -109,14 +109,7 @@ public class PeerActions {
return false;
}
// disconnection time
long dtimeUTC0;
final Seed disconnectedSeed = this.seedDB.getDisconnected(seed.hash);
if (disconnectedSeed == null) {
dtimeUTC0 = 0; // never disconnected: virtually disconnected maximum time ago
} else {
dtimeUTC0 = disconnectedSeed.getLong("dct", 0);
}
if (direct) {
// remember the moment
@ -130,9 +123,6 @@ public class PeerActions {
if (Math.abs(nowUTC0Time - ctimeUTC0) > 120000) seed.setFlagDirectConnect(false); // 2 minutes
}
// update latest version number
if (seed.getVersion() > yacyVersion.latestRelease) yacyVersion.latestRelease = seed.getVersion();
// prepare to update
if (disconnectedSeed != null) {
// if the indirect connect aims to announce a peer that we know

@ -905,7 +905,7 @@ public final class Protocol {
parts.put("partitions", UTF8.StringBody(Integer.toString(partitions)));
parts.put("query", UTF8.StringBody(wordhashes));
parts.put("exclude", UTF8.StringBody(excludehashes));
parts.put("duetime", UTF8.StringBody("1000"));
// parts.put("duetime", UTF8.StringBody("1000")); // not used or red by receiver, max wait time given by praram "time" (2016-04-25 v1.83/9772)
parts.put("urls", UTF8.StringBody(urlhashes));
parts.put("prefer", UTF8.StringBody(event.query.prefer.pattern()));
parts.put("filter", UTF8.StringBody(event.query.urlMaskString));
@ -1722,7 +1722,7 @@ public final class Protocol {
Base64Order.enhancedCoder,
6);
// check if the host supports this protocol
if ( target.getRevision() < migration.IDX_HOST ) {
if ( target.getVersion()< migration.IDX_HOST_VER ) {
// if the protocol is not supported then we just return an empty host reference container
return index;
}

@ -14,11 +14,6 @@ public class yacyVersion implements Comparator<yacyVersion>, Comparable<yacyVers
public static final double YACY_POVIDES_REMOTECRAWL_LISTS = (float) 0.550;
private static yacyVersion thisVersion = null;
/**
* information about latest release, retrieved by other peers release version,
* this value is overwritten when a peer with later version appears*/
public static double latestRelease = 0.1; //
private double releaseNr;
private final String dateStamp;
private int svn;

@ -2167,10 +2167,6 @@ public final class Switchboard extends serverSwitch {
}
return false;
}
public void searchresultFreeMem() {
// do nothing
}
public static void clearCaches() {
// flush caches in used libraries
@ -2543,20 +2539,6 @@ public final class Switchboard extends serverSwitch {
boolean postprocessing = process_key_exist && reference_index_exist && minimum_ram_fullfilled && minimum_load_fullfilled;
if (!postprocessing) log.info("postprocessing deactivated: constraints violated");
// Hack to prevent Solr problem on partial update if target document contains multivalued date field
// regardless if this field is part of the update it causes a org.apache.solr.common.SolrException: Invalid Date String Exception.
// 2015-09-12 Solr v5.2.1 & v5.3
// this hack switches partial update off (if multivalued datefield _dts exists, like: dates_in_content_dts startDates_dts endDates_dts)
boolean partialUpdate = getConfigBool("postprocessing.partialUpdate", true);
/* Solr 5.4.0 bugfix see http://issues.apache.org/jira/browse/SOLR-8050 Partial update on document with multivalued date field fails
*
for (String sf : index.fulltext().getDefaultConfiguration().keySet()) {
if (sf.endsWith("_dts")) {
partialUpdate = false;
}
}
*/
if (allCrawlsFinished) {
// refresh the search cache
SearchEventCache.cleanupEvents(true);
@ -2565,7 +2547,7 @@ public final class Switchboard extends serverSwitch {
if (postprocessing) {
// run postprocessing on all profiles
ReferenceReportCache rrCache = index.getReferenceReportCache();
proccount += collection1Configuration.postprocessing(index, rrCache, null, partialUpdate);
proccount += collection1Configuration.postprocessing(index, rrCache, null, getConfigBool("postprocessing.partialUpdate", true));
this.index.fulltext().commit(true); // without a commit the success is not visible in the monitoring
}
this.crawler.cleanProfiles(this.crawler.getActiveProfiles());
@ -2578,7 +2560,7 @@ public final class Switchboard extends serverSwitch {
if (postprocessing) {
// run postprocessing on these profiles
ReferenceReportCache rrCache = index.getReferenceReportCache();
for (String profileHash: deletionCandidates) proccount += collection1Configuration.postprocessing(index, rrCache, profileHash, partialUpdate);
for (String profileHash: deletionCandidates) proccount += collection1Configuration.postprocessing(index, rrCache, profileHash, getConfigBool("postprocessing.partialUpdate", true));
this.index.fulltext().commit(true); // without a commit the success is not visible in the monitoring
}
this.crawler.cleanProfiles(deletionCandidates);
@ -3025,7 +3007,7 @@ public final class Switchboard extends serverSwitch {
searchEvent,
sourceName,
getConfigBool(SwitchboardConstants.DHT_ENABLED, false),
this.getConfigBool("isTransparentProxy", false) ? "http://127.0.0.1:" + sb.getConfigInt("port", 8090) : null,
this.getConfigBool(SwitchboardConstants.PROXY_TRANSPARENT_PROXY, false) ? "http://127.0.0.1:" + sb.getConfigInt("port", 8090) : null,
this.getConfig("crawler.http.acceptLanguage", null));
final RSSFeed feed =
EventChannel.channels(queueEntry.initiator() == null

@ -155,19 +155,6 @@ public final class SwitchboardConstants {
public static final String SURROGATES_METHOD_START = "surrogateProcess";
public static final String SURROGATES_METHOD_JOBCOUNT = "surrogateQueueSize";
public static final String SURROGATES_METHOD_FREEMEM = "surrogateFreeMem";
// 80_search_result_processing
/**
* <p><code>public static final String <strong>SEARCHRESULT</strong> = "80_searchresult"</code></p>
* <p>A thread that stores search results from other peers into the own index.</p>
*/
public static final String SEARCHRESULT = "80_searchresult";
public static final String SEARCHRESULT_MEMPREREQ = "80_searchresult_memprereq";
public static final String SEARCHRESULT_LOADPREREQ = "80_searchresult_loadprereq";
public static final String SEARCHRESULT_IDLESLEEP = "80_searchresult_idlesleep";
public static final String SEARCHRESULT_BUSYSLEEP = "80_searchresult_busysleep";
public static final String SEARCHRESULT_METHOD_START = "searchresultProcess";
public static final String SEARCHRESULT_METHOD_JOBCOUNT = "searchresultQueueSize";
public static final String SEARCHRESULT_METHOD_FREEMEM = "searchresultFreeMem";
// 85_scheduler
/**
* <p><code>public static final String <strong>SCHEDULER</strong> = "85_scheduler"</code></p>
@ -190,56 +177,6 @@ public final class SwitchboardConstants {
public static final String CLEANUP_METHOD_FREEMEM = null;
public static final String CLEANUP_IDLESLEEP = "90_cleanup_idlesleep";
public static final String CLEANUP_BUSYSLEEP = "90_cleanup_busysleep";
/**
* <p><code>public static final String <strong>RAM_CACHE_LURL</strong> = "ramCacheLURL"</code></p>
* <p>Name of the setting how much memory in bytes should be assigned to the Loaded URLs DB for caching purposes</p>
*/
public static final String RAM_CACHE_LURL_TIME = "ramCacheLURL_time";
/**
* <p><code>public static final String <strong>RAM_CACHE_NURL</strong> = "ramCacheNURL"</code></p>
* <p>Name of the setting how much memory in bytes should be assigned to the Noticed URLs DB for caching purposes</p>
*/
public static final String RAM_CACHE_NURL_TIME = "ramCacheNURL_time";
/**
* <p><code>public static final String <strong>RAM_CACHE_RWI</strong> = "ramCacheRWI"</code></p>
* <p>Name of the setting how much memory in bytes should be assigned to the RWIs DB for caching purposes</p>
*/
public static final String RAM_CACHE_RWI_TIME = "ramCacheRWI_time";
/**
* <p><code>public static final String <strong>RAM_CACHE_HTTP</strong> = "ramCacheHTTP"</code></p>
* <p>Name of the setting how much memory in bytes should be assigned to the HTTP Headers DB for caching purposes</p>
*/
public static final String RAM_CACHE_HTTP_TIME = "ramCacheHTTP_time";
/**
* <p><code>public static final String <strong>RAM_CACHE_MESSAGE</strong> = "ramCacheMessage"</code></p>
* <p>Name of the setting how much memory in bytes should be assigned to the Message DB for caching purposes</p>
*/
public static final String RAM_CACHE_MESSAGE_TIME = "ramCacheMessage_time";
/**
* <p><code>public static final String <strong>RAM_CACHE_ROBOTS</strong> = "ramCacheRobots"</code></p>
* <p>Name of the setting how much memory in bytes should be assigned to the robots.txts DB for caching purposes</p>
*/
public static final String RAM_CACHE_ROBOTS_TIME = "ramCacheRobots_time";
/**
* <p><code>public static final String <strong>RAM_CACHE_PROFILES</strong> = "ramCacheProfiles"</code></p>
* <p>Name of the setting how much memory in bytes should be assigned to the Crawl Profiles DB for caching purposes</p>
*/
public static final String RAM_CACHE_PROFILES_TIME = "ramCacheProfiles_time";
/**
* <p><code>public static final String <strong>RAM_CACHE_PRE_NURL</strong> = "ramCachePreNURL"</code></p>
* <p>Name of the setting how much memory in bytes should be assigned to the Pre-Noticed URLs DB for caching purposes</p>
*/
public static final String RAM_CACHE_PRE_NURL_TIME = "ramCachePreNURL_time";
/**
* <p><code>public static final String <strong>RAM_CACHE_WIKI</strong> = "ramCacheWiki"</code></p>
* <p>Name of the setting how much memory in bytes should be assigned to the Wiki DB for caching purposes</p>
*/
public static final String RAM_CACHE_WIKI_TIME = "ramCacheWiki_time";
/**
* <p><code>public static final String <strong>RAM_CACHE_BLOG</strong> = "ramCacheBlog"</code></p>
* <p>Name of the setting how much memory in bytes should be assigned to the Blog DB for caching purposes</p>
*/
public static final String RAM_CACHE_BLOG_TIME = "ramCacheBlog_time";
/**
* <p><code>public static final String <strong>INDEX_DIST_CHUNK_SIZE_START</strong> = "indexDistribution.startChunkSize"</code></p>
* <p>Name of the setting specifying how many words the very first chunk will contain when the DHT-thread starts</p>
@ -319,7 +256,8 @@ public final class SwitchboardConstants {
* @see Switchboard#PROXY_CACHE_LAYOUT_HASH
*/
public static final String PROXY_YACY_ONLY = "proxyYacyOnly";
public static final String PROXY_TRANSPARENT_PROXY = "isTransparentProxy";
public static final String AUTOCRAWL = "autocrawl";
public static final String AUTOCRAWL_INDEX_TEXT = "autocrawl.index.text";
public static final String AUTOCRAWL_INDEX_MEDIA = "autocrawl.index.media";

@ -1099,7 +1099,7 @@ public final class SearchEvent {
}
o = m.peek();
if (o == null) continue doubleloop;
if (o.getWeight() < bestEntry.getWeight()) bestEntry = o;
if (o.getWeight() > bestEntry.getWeight()) bestEntry = o;
}
if (bestEntry == null) {
//Log.logWarning("SearchEvent", "bestEntry == null (1)");

@ -0,0 +1,207 @@
// CreateTranslationMasters.java
// -------------------------------------
// part of YACY
// (C) by Michael Peter Christen; mc@yacy.net
// first published on http://www.anomic.de
// Frankfurt, Germany, 2004
//
// This file ist contributed by Burkhard Buelte
// last major change: 2016-04-05
//
// $LastChangedDate$
// $LastChangedRevision$
// $LastChangedBy$
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
package net.yacy.utils.translation;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import net.yacy.cora.util.ConcurrentLog;
import net.yacy.data.Translator;
/**
* Utility to create a translation master file from all existing translation
* with check file.exists and translation text exists.
* Also can join existing translation with master (currently ristrictive,
* means only translation text exist in master are included in resultin Map
*/
public class CreateTranslationMasters extends TranslatorXliff {
/**
* Helper to add a translation text to the map
*
* @param translation to add the text to
* @param relFileName relative filename the translation belongs to
* @param sourceLngTxt the english source text
* @param targetLngTxt the translated text
* @return true = if map was modified, otherwise false
*/
protected boolean addTranslation(Map<String, Map<String, String>> translation, final String relFileName, final String sourceLngTxt, final String targetLngTxt) {
boolean modified = false;
Map<String, String> transFile;
if (translation.containsKey(relFileName)) {
transFile = translation.get(relFileName);
} else {
transFile = new LinkedHashMap<String, String>();
translation.put(relFileName, transFile);
modified = true;
}
String oldLngTxt = transFile.put(sourceLngTxt, targetLngTxt);
if (oldLngTxt == null) {
modified = targetLngTxt != null;
} else if (!oldLngTxt.equals(targetLngTxt)) {
modified = true;
}
return modified;
}
/**
* Create a master translation list by reading all translation files
* If a masterOutputFile exists, content is preserved (loaded first)
*
* @param masterOutpuFile output file (xliff format)
* @throws IOException
*/
public void createMasterTranslationLists(File masterOutputFile) throws IOException {
Map<String, Map<String, String>> xliffTrans;
if (masterOutputFile.exists()) // if file exists, conserve existing master content (may be updated by external tool)
xliffTrans = TranslatorXliff.loadTranslationsListsFromXliff(masterOutputFile);
else
xliffTrans = new TreeMap<String, Map<String, String>>();
List<String> lngFiles = Translator.langFiles(new File("locales"));
for (String filename : lngFiles) {
// load translation list
ConcurrentLog.info("TRANSLATOR", "include translation file " + filename);
Map<String, Map<String, String>> origTrans = Translator.loadTranslationsLists(new File("locales", filename));
for (String transfilename : origTrans.keySet()) { // get translation filename
File checkfile = new File("htroot", transfilename);
if (checkfile.exists()) { // include in master only if file exists
// load content to compare translation text is included
StringBuilder content = new StringBuilder();
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(checkfile), StandardCharsets.UTF_8));
String line = null;
while ((line = br.readLine()) != null) {
content.append(line).append(net.yacy.server.serverCore.CRLF_STRING);
}
br.close();
} catch (final IOException e) {
} finally {
if (br != null) {
try {
br.close();
} catch (final Exception e) {
}
}
}
// compare translation list
Map<String, String> origList = origTrans.get(transfilename);
for (String sourcetxt : origList.keySet()) {
if (content.indexOf(sourcetxt) >= 0) {
String origVal = origList.get(sourcetxt);
// it is possible that intentionally empty translation is given
// in this case xliff target is missing (=null)
if (origVal != null && !origVal.isEmpty()) { // if translation exists
addTranslation(xliffTrans, transfilename, sourcetxt, null); // add to master, set target text null
}
}
}
} else {
ConcurrentLog.fine("TRANSLATOR", "skip file for translation " + transfilename + " (from " + filename + ")");
}
}
}
// save as xliff file w/o language code
saveAsXliff(null, masterOutputFile, xliffTrans);
}
/**
* Joins translation master (xliff) and existing translation (lng)
*
* @param xlifmaster master (with en text to be translated)
* @param lngfile existing translation
* @return resulting map with all entries from master and translation from lngfile
* @throws IOException
*/
public Map<String, Map<String, String>> joinMasterTranslationLists(File xlifmaster, File lngfile) throws IOException {
final String filename = lngfile.getName();
Map<String, Map<String, String>> xliffTrans = TranslatorXliff.loadTranslationsListsFromXliff(xlifmaster);
// load translation list
System.out.println("join into master translation file " + filename);
Map<String, Map<String, String>> origTrans = Translator.loadTranslationsLists(lngfile);
for (String transfilename : origTrans.keySet()) { // get translation filename
// compare translation list
Map<String, String> origList = origTrans.get(transfilename);
Map<String, String> masterList = xliffTrans.get(transfilename);
for (String sourcetxt : origList.keySet()) {
if ((masterList != null) && (masterList.isEmpty() || masterList.containsKey(sourcetxt))) { // only if included in master (as all languages are in there but checked for occuance
String origVal = origList.get(sourcetxt);
// it is possible that intentionally empty translation is given
// in this case xliff target is missing (=null)
if (origVal != null && !origVal.isEmpty()) {
addTranslation(xliffTrans, transfilename, sourcetxt, origVal);
}
}
}
}
return xliffTrans;
}
/**
* for testing to create on master and joined translation results for all lang's
*
* @param args
*/
public static void main(String args[]) {
File outputdirectory = new File ("test/DATA");
CreateTranslationMasters ctm = new CreateTranslationMasters();
try {
if (!outputdirectory.exists()) outputdirectory.mkdir();
File xlfmaster = new File(outputdirectory, "master.lng.xlf");
ctm.createMasterTranslationLists(xlfmaster); // write the language neutral translation master as xliff
List<String> lngFiles = Translator.langFiles(new File("locales"));
for (String filename : lngFiles) {
Map<String, Map<String, String>> lngmaster = ctm.joinMasterTranslationLists(xlfmaster, new File("locales", filename)); // create individual language translation files from master
File xlftmp = new File(outputdirectory, filename + ".xlf");
System.out.println("output new master translation file " + xlftmp.toString() + " and " + filename);
ctm.saveAsXliff(filename.substring(0, 2), xlftmp, lngmaster);
ctm.saveAsLngFile(filename.substring(0, 2), new File(outputdirectory, filename), lngmaster);
}
} catch (IOException ex) {
ConcurrentLog.logException(ex);
}
ConcurrentLog.shutdown();
}
}

@ -93,10 +93,10 @@ public class ListNonTranslatedFiles extends TranslatorUtil {
List<File> nonTranslatedFiles = new ArrayList<>();
for(File srcFile : srcFiles) {
Path relativeSrcFile = sourcePath.relativize(srcFile.toPath());
if(!translatedRelativePaths.contains(relativeSrcFile.toString())) {
nonTranslatedFiles.add(srcFile);
}
Path relativeSrcFile = sourcePath.relativize(srcFile.toPath());
if (!translatedRelativePaths.contains(relativeSrcFile.toString().replace('\\', '/'))) { // replace windows path separator for compare
nonTranslatedFiles.add(srcFile);
}
}
printResults(nonTranslatedFiles);

@ -0,0 +1,319 @@
// TranslatorXliff.java
// -------------------------------------
// part of YACY
// (C) by Michael Peter Christen; mc@yacy.net
// first published on http://www.anomic.de
// Frankfurt, Germany, 2004
//
// This file ist contributed by Burkhard Buelte
// last major change: 2016-03-28
//
// $LastChangedDate$
// $LastChangedRevision$
// $LastChangedBy$
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
package net.yacy.utils.translation;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import net.yacy.cora.util.ConcurrentLog;
import net.yacy.data.Translator;
import org.oasis.xliff.core_12.Body;
import org.oasis.xliff.core_12.Target;
import org.oasis.xliff.core_12.TransUnit;
import org.oasis.xliff.core_12.Xliff;
/**
* Wordlist based translator
*
* Translator which can read and write translation lists from a
* <a href="http://docs.oasis-open.org/xliff/v1.2/os/xliff-core.html">XLIFF
* 1.2</a> file with phrases or single words to translate a string or a file
*/
public class TranslatorXliff extends Translator {
/**
* Load translationLists for one language from a Xliff File.
*
* @param translationFile the File, which contains the Lists
* @return a HashMap, which contains for each File a HashMap with
* translations.
*/
public static Map<String, Map<String, String>> loadTranslationsListsFromXliff(final File xliffFile) {
final Map<String, Map<String, String>> lngLists = new TreeMap<String, Map<String, String>>(); //list of translationLists for different files.
/**
* read xliff xml file into a xliff object
* <xliff>
* <file original="filename">
* <body>
* <trans-unit>
* <source>text</source>
* <target>text</target>
* </trans-unit>
* <trans-unit>....
* </body>
* </file>
* <file>.....
* </xliff>
*/
Xliff xliffTranslation;
try {
FileInputStream fis = new FileInputStream(xliffFile);
JAXBContext ctx = JAXBContext.newInstance(org.oasis.xliff.core_12.Xliff.class);
Unmarshaller un = ctx.createUnmarshaller();
Object obj = un.unmarshal(fis);
if (obj instanceof org.oasis.xliff.core_12.Xliff) {
xliffTranslation = (org.oasis.xliff.core_12.Xliff) obj;
} else {
return null;
}
List<Object> xlfFileList = xliffTranslation.getAnyAndFile();
for (Object xlfobj : xlfFileList) {
org.oasis.xliff.core_12.File xlfFileNode = (org.oasis.xliff.core_12.File) xlfobj;
Map<String, String> translationList; //current Translation Table (maintaining input order)
String forFile = xlfFileNode.getOriginal();
if (lngLists.containsKey(forFile)) {
translationList = lngLists.get(forFile);
} else {
translationList = new LinkedHashMap<String, String>(); //current Translation Table (maintaining input order)
lngLists.put(forFile, translationList);
}
Body xlfBody = xlfFileNode.getBody();
List<Object> xlfTransunitList = xlfBody.getGroupOrTransUnitOrBinUnit();
for (Object xlfTransunit : xlfTransunitList) {
if (xlfTransunit instanceof TransUnit) {
String source = ((TransUnit) xlfTransunit).getSource().getContent().get(0).toString();
Target target = ((TransUnit) xlfTransunit).getTarget();
if (target != null) {
if ("translated".equals(target.getState())) {
List<Object> targetContentList = target.getContent();
String targetContent = targetContentList.get(0).toString();
translationList.put(source, targetContent);
} else {
translationList.put(source, null);
}
} else {
translationList.put(source, null);
}
}
}
}
} catch (JAXBException je) {
ConcurrentLog.warn("TRANSLATOR", je.getMessage());
} catch (FileNotFoundException ex) {
ConcurrentLog.warn("TRANSLATOR", "File not found: " + xliffFile.getAbsolutePath());
}
return lngLists;
}
/**
* Maps (overrides) Translator.loadTranslationsLists to read from xliff file
* if file extension is .xlf or .xliff (otherwise load xx.lng file)
*
* @param xliffFile
* @return translatio map
*/
public static Map<String, Map<String, String>> loadTranslationsLists(final File xliffFile) {
if (xliffFile.getName().toLowerCase().endsWith(".xlf") || xliffFile.getName().toLowerCase().endsWith(".xliff")) {
return loadTranslationsListsFromXliff(xliffFile);
} else {
return Translator.loadTranslationsLists(xliffFile);
}
}
/**
* Saves the internal translation map as XLIFF 1.2 file
*
* @param targetLanguage the target language code, if null target is omitted
* in output file and only source text stored
* @param xliffFile name of the output XLIFF file (typically with .xlf
* extension)
* @param lng the YaCy translation for one language
*
* @return true on success
*/
public boolean saveAsXliff(final String targetLanguageCode, File xliffFile, Map<String, Map<String, String>> lng) {
final String sourceLanguage = "en"; // source language is always English
OutputStreamWriter output;
try {
output = new OutputStreamWriter(new FileOutputStream(xliffFile), StandardCharsets.UTF_8.name());
output.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
output.write("<xliff version='1.2' xmlns='urn:oasis:names:tc:xliff:document:1.2'> \n");
for (String afilemap : lng.keySet()) {
output.write("<file original=\"" + afilemap + "\" " // original required in xliff 1.2
+ " source-language=\"" + sourceLanguage + "\" "); // required in xliff 1.2
if (targetLanguageCode != null && !targetLanguageCode.isEmpty()) {
output.write(" target-language=\"" + targetLanguageCode + "\" "); // required in xliff 1.2
}
output.write(" datatype=\"html\">\n"); // required in xliff 1.2
output.write(" <body>\n");
Map<String, String> txtmap = lng.get(afilemap);
for (String source : txtmap.keySet()) {
String target = txtmap.get(source);
// we use hashCode of source string to get same id in different xliff files for same translation text
output.write(" <trans-unit id=\"" + Integer.toHexString(source.hashCode()) + "\" xml:space=\"preserve\" approved=\"no\"");
if (target == null || target.isEmpty()) { // omitt target text if not available
output.write(" translate=\"yes\">\n");
output.write(" <source>" + toXmlStr(source) + "</source>\n");
} else {
output.write(">\n");
output.write(" <source>" + toXmlStr(source) + "</source>\n");
output.write(" <target" + (target.equals(source) ? "" : " state='translated'") + ">" + toXmlStr(target) + "</target>\n");
}
output.write(" </trans-unit>\n");
}
output.write(" </body>\n");
output.write("</file>\n\n");
}
output.write("</xliff>\n");
output.close();
} catch (Exception e) {
return false;
}
return true;
}
/**
* Helper to write translation entries for one file
*
* @param filename relative path file name
* @param textlist the translation list for filename
* @param output output file
* @throws IOException
*/
private void writeFileSection(final String filename, final Map<String, String> textlist, OutputStreamWriter output) throws IOException {
output.write("#File: " + filename + "\n"
+ "#---------------------------\n"); // required in 1.2
for (String source : textlist.keySet()) {
String target = textlist.get(source);
// we use hashCode of source string to get same id in different xliff files for same translation text
if (target != null && !target.isEmpty()) { // omitt target text if not available
if (source.equals(target)) {
output.write("#" + source + "==" + target + "\n"); // no translation needed (mark #)
} else {
output.write(source + "==" + target + "\n");
}
} else {
output.write("#"+source + "==" + source + "\n"); // no translation available (mark #)
}
}
output.write("#-----------------------------\n\n");
}
/**
* Saves the internal translation map as XLIFF 1.2 file
*
* @param targetLanguage the target language code, if null target is omitted
* in output file and only source text stored
* @param xliffFile name of the output XLIFF file (typically with .xlf
* extension)
* @param lng the YaCy translation for one language
*
* @return true on success
*/
public boolean saveAsLngFile(final String targetLanguageCode, File lngFile, Map<String, Map<String, String>> lng) {
OutputStreamWriter output;
try {
output = new OutputStreamWriter(new FileOutputStream(lngFile), StandardCharsets.UTF_8.name());
output.write("# " + (targetLanguageCode == null ? "master" : targetLanguageCode) + ".lng\n");
output.write("# -----------------------\n");
output.write("# This is a part of YaCy, a peer-to-peer based web search engine\n\n");
output.write("# Each translation list starts with #File: relative/path/to/file\n");
output.write("# followed by the translations OriginalText==TranslatedText (in one line)\n");
output.write("# Comment lines or not translated lines start with #\n\n");
// special handling of "ConfigLanguage_p.html" to list on top of all other
// because of some important identifier
Map<String, String> txtmap = lng.get("ConfigLanguage_p.html");
writeFileSection("ConfigLanguage_p.html", txtmap, output);
for (String afilemap : lng.keySet()) {
txtmap = lng.get(afilemap);
if (!"ConfigLanguage_p.html".equals(afilemap)) {
writeFileSection(afilemap, txtmap, output);
}
}
output.write("# EOF");
output.close();
} catch (Exception e) {
return false;
}
return true;
}
/**
* Helper to make valid xml content text as text may contain html markup
* (the reverse on read is done automatically)
* @param html input string
* @return xml string
*/
private String toXmlStr(String s) {
int control = s.indexOf("&");
while (control >= 0) {
s = s.substring(0, control) + "&amp;" + s.substring(control + 1);
if (control < s.length()) {
control++;
}
control = s.indexOf("&", control);
}
control = s.indexOf("<");
while (control >= 0) {
s = s.substring(0, control) + "&lt;" + s.substring(control + 1);
if (control < s.length()) {
control++;
}
control = s.indexOf("<", control);
}
control = s.indexOf(">");
while (control >= 0) {
s = s.substring(0, control) + "&gt;" + s.substring(control + 1);
if (control < s.length()) {
control++;
}
control = s.indexOf(">", control);
}
return s;
}
}

@ -1,214 +1,214 @@
/**
* ChartPlotter
* Copyright 2005 by Michael Christen
* First released 26.10.2005 at http://yacy.net
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program in the file lgpl21.txt
* If not, see <http://www.gnu.org/licenses/>.
*/
package net.yacy.visualization;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import net.yacy.cora.util.ConcurrentLog;
public class ChartPlotter extends RasterPlotter {
public static final int DIMENSION_RIGHT = 0;
public static final int DIMENSION_TOP = 1;
public static final int DIMENSION_LEFT = 2;
public static final int DIMENSION_BOTTOM = 3;
public static final int DIMENSION_ANOT0 = 4;
public static final int DIMENSION_ANOT1 = 5;
public static final int DIMENSION_ANOT2 = 6;
public static final int DIMENSION_ANOT3 = 7;
private final int leftborder;
private final int rightborder;
private final int topborder;
private final int bottomborder;
private final int[] scales = new int[]{0,0,0,0,0,0,0,0};
private final int[] pixels = new int[]{0,0,0,0,0,0,0,0};
private final int[] offsets = new int[]{0,0,0,0,0,0,0,0};
private final Long[] colnames = new Long[]{0xFFFFFFl,0xFFFFFFl,0xFFFFFFl,0xFFFFFFl,0xFFFFFFl,0xFFFFFFl,0xFFFFFFl,0xFFFFFFl};
private final Long[] colscale = new Long[]{null,null,null,null,null,null,null,null};
private final String[] tablenames = new String[]{"","","","","","","",""};
public ChartPlotter(final int width, final int height, final Long backgroundColor, final Long foregroundColor, final Long lightColor,
final int leftborder, final int rightborder, final int topborder, final int bottomborder,
final String name, final String subline) {
super(width, height, RasterPlotter.DrawMode.MODE_REPLACE, backgroundColor);
this.leftborder = leftborder;
this.rightborder = rightborder;
this.topborder = topborder;
this.bottomborder = bottomborder;
//this.name = name;
//this.backgroundColor = backgroundColor;
//this.foregroundColor = foregroundColor;
if (name != null) {
if (foregroundColor != null) this.setColor(foregroundColor);
PrintTool.print(this, width / 2 - name.length() * 3, 6, 0, name, -1, 100);
}
if (subline != null) {
if (lightColor != null) this.setColor(lightColor);
PrintTool.print(this, width / 2 - subline.length() * 3, 14, 0, subline, -1, 100);
}
}
/**
* assign a metric to a graph. The dimension can be left or right (the measure at the side-border of the graph)
* @param dimensionType
* @param scale is the measure (the number) to be printed on the border per pixelscale
* @param pixelperscale is the number of pixel points per scale
* @param offset is an offset on the 'scale' number
* @param colorNaming the colour of the legend for the scale
* @param colorScale the colour of the line drawing for the vertical scale
* @param name printed on the vertical bar
*/
public void declareDimension(final int dimensionType, final int scale, final int pixelperscale, final int offset, final Long colorNaming, final Long colorScale, final String name) {
this.scales[dimensionType] = Math.max(1, scale);
this.pixels[dimensionType] = pixelperscale;
this.offsets[dimensionType] = offset;
this.colnames[dimensionType] = colorNaming;
this.colscale[dimensionType] = colorScale;
this.tablenames[dimensionType] = name;
if ((dimensionType == DIMENSION_LEFT) || (dimensionType == DIMENSION_RIGHT)) {
drawVerticalScale((dimensionType == DIMENSION_LEFT), scale, pixelperscale, offset, colorNaming, colorScale, name);
}
if ((dimensionType == DIMENSION_TOP) || (dimensionType == DIMENSION_BOTTOM)) {
drawHorizontalScale((dimensionType == DIMENSION_TOP), scale, pixelperscale, offset, colorNaming, colorScale, name);
}
}
public void chartDot(final int dimension_x, final int dimension_y, final float coord_x, final int coord_y, final int dotsize, final String anot, final int anotAngle) {
final int x = (int) ((coord_x - this.offsets[dimension_x]) * this.pixels[dimension_x] / this.scales[dimension_x]);
assert this.scales[dimension_y] != 0;
final int y = (coord_y - this.offsets[dimension_y]) * this.pixels[dimension_y] / this.scales[dimension_y];
if (dotsize == 1) plot(this.leftborder + x, this.height - this.bottomborder - y, 100);
else dot(this.leftborder + x, this.height - this.bottomborder - y, dotsize, true, 100);
if (anot != null) PrintTool.print(this, this.leftborder + x + dotsize + 2 + ((anotAngle == 315) ? -9 : 0), this.height - this.bottomborder - y + ((anotAngle == 315) ? -3 : 0), anotAngle, anot, (anotAngle == 0) ? (anot.length() * 6 + x > this.width ? 1 : -1) : ((anotAngle == 315) ? 1 : 0), 100);
}
public void chartLine(final int dimension_x, final int dimension_y, final float coord_x1, final int coord_y1, final float coord_x2, final int coord_y2) {
final int x1 = (int) ((coord_x1 - this.offsets[dimension_x]) * this.pixels[dimension_x] / this.scales[dimension_x]);
final int y1 = (coord_y1 - this.offsets[dimension_y]) * this.pixels[dimension_y] / this.scales[dimension_y];
final int x2 = (int) ((coord_x2 - this.offsets[dimension_x]) * this.pixels[dimension_x] / this.scales[dimension_x]);
final int y2 = (coord_y2 - this.offsets[dimension_y]) * this.pixels[dimension_y] / this.scales[dimension_y];
line(this.leftborder + x1, this.height - this.bottomborder - y1, this.leftborder + x2, this.height - this.bottomborder - y2, 100);
}
/**
* draw a horizontal scale border
* @param top - if true, this the top-horizontal scale, otherwise it is at the bottom
* @param scale is the measure (the number) to be printed on the vertical border per pixelscale
* @param pixelperscale is the number of vertical pixel points per scale
* @param offset is an offset on the 'scale' number
* @param colorNaming the colour of the legend for the scale
* @param colorScale the colour of the line drawing for the vertical scale
* @param name printed on the vertical bar
*/
private void drawHorizontalScale(final boolean top, final int scale, final int pixelperscale, final int offset, final Long colorNaming, final Long colorScale, final String name) {
final int y = (top) ? this.topborder : this.height - this.bottomborder;
int x = this.leftborder;
int s = offset;
while (x < this.width - this.rightborder) {
if ((colorScale != null) && (x > this.leftborder) && (x < (this.width - this.rightborder))) {
setColor(colorScale);
line(x, this.topborder, x, this.height - this.bottomborder, 100);
}
setColor(colorNaming);
line(x, y - 3, x, y + 3, 100);
PrintTool.print(this, x, (top) ? y - 3 : y + 9, 0, Integer.toString(s), -1, 80);
x += pixelperscale;
s += scale;
}
setColor(colorNaming);
PrintTool.print(this, this.width - this.rightborder, (top) ? y - 9 : y + 15, 0, name, 1, 80);
line(this.leftborder - 4, y, this.width - this.rightborder + 4, y, 100);
}
/**
* draw the vertical scale of the graph
* @param left if true this is the vertical bar on the left, otherwise it is the one on the right
* @param scale is the measure (the number) to be printed on the vertical border per pixelscale
* @param pixelperscale is the number of vertical pixel points per scale
* @param offset is an offset on the 'scale' number
* @param colorNaming the colour of the legend for the scale
* @param colorScale the colour of the line drawing for the vertical scale
* @param name printed on the vertical bar
*/
private void drawVerticalScale(final boolean left, final int scale, final int pixelperscale, final int offset, final Long colorNaming, final Long colorScale, final String name) {
assert pixelperscale > 0;
assert scale > 0;
if (pixelperscale <= 0) return; // this would not meet the termination condition in the while loop
final int x = (left) ? this.leftborder : this.width - this.rightborder;
int y = this.height - this.bottomborder;
int s = offset;
String s1;
int s1max = 0;
while (y > this.topborder) {
if ((colorScale != null) && (y > this.topborder) && (y < (this.height - this.bottomborder))) {
setColor(colorScale);
line(this.leftborder, y, this.width - this.rightborder, y, 100);
}
setColor(colorNaming);
line(x - 3, y, x + 3, y, 100);
s1 = (s >= 1000000 && s % 1000000 == 0) ? Integer.toString(s / 1000000) + "M" : (s >= 1000 && s % 1000 == 0) ? Integer.toString(s / 1000) + "K" : Integer.toString(s);
if (s1.length() > s1max) s1max = s1.length();
PrintTool.print(this, (left) ? this.leftborder - 4 : this.width - this.rightborder + 4, y, 0, s1, (left) ? 1 : -1, 80);
y -= pixelperscale;
s += scale;
}
setColor(colorNaming);
PrintTool.print(this, (left) ? Math.max(6, x - s1max * 6 - 6) : x + s1max * 6 + 9, this.height - this.bottomborder, 90, name, -1, 80);
line(x, this.topborder - 4, x, this.height - this.bottomborder + 4, 100);
}
public static void main(final String[] args) {
System.setProperty("java.awt.headless", "true");
final long bg = 0xFFFFFF;
final long fg = 0x000000;
final long scale = 0xCCCCCC;
final long green = 0x008800;
final long blue = 0x0000FF;
final ChartPlotter ip = new ChartPlotter(660, 240, bg, fg, fg, 30, 30, 20, 20, "PEER PERFORMANCE GRAPH: PAGES/MINUTE and USED MEMORY", "");
ip.declareDimension(DIMENSION_BOTTOM, 60, 60, -600, fg, scale, "TIME/SECONDS");
//ip.declareDimension(DIMENSION_TOP, 10, 40, "000000", null, "count");
ip.declareDimension(DIMENSION_LEFT, 50, 40, 0, green, scale , "PPM [PAGES/MINUTE]");
ip.declareDimension(DIMENSION_RIGHT, 100, 20, 0, blue, scale, "MEMORY/MEGABYTE");
ip.setColor(green);
ip.chartDot(DIMENSION_BOTTOM, DIMENSION_LEFT, -160, 100, 5, null, 0);
ip.chartLine(DIMENSION_BOTTOM, DIMENSION_LEFT, -160, 100, -130, 200);
ip.setColor(blue);
ip.chartDot(DIMENSION_BOTTOM, DIMENSION_RIGHT, -50, 300, 2, null, 0);
ip.chartLine(DIMENSION_BOTTOM, DIMENSION_RIGHT, -80, 100, -50, 300);
//ip.print(100, 100, 0, "TEXT", true);
//ip.print(100, 100, 0, "1234", false);
//ip.print(100, 100, 90, "TEXT", true);
//ip.print(100, 100, 90, "1234", false);
final File file = new File("/Users/admin/Desktop/testimage.png");
try {
final FileOutputStream fos = new FileOutputStream(file);
fos.write(RasterPlotter.exportImage(ip.getImage(), "png").getBytes());
//ImageIO.write(ip.getImage(), "png", fos);
fos.close();
} catch (final IOException e) {}
ConcurrentLog.shutdown();
}
}
/**
* ChartPlotter
* Copyright 2005 by Michael Christen
* First released 26.10.2005 at http://yacy.net
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program in the file lgpl21.txt
* If not, see <http://www.gnu.org/licenses/>.
*/
package net.yacy.visualization;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import net.yacy.cora.util.ConcurrentLog;
public class ChartPlotter extends RasterPlotter {
public static final int DIMENSION_RIGHT = 0;
public static final int DIMENSION_TOP = 1;
public static final int DIMENSION_LEFT = 2;
public static final int DIMENSION_BOTTOM = 3;
public static final int DIMENSION_ANOT0 = 4;
public static final int DIMENSION_ANOT1 = 5;
public static final int DIMENSION_ANOT2 = 6;
public static final int DIMENSION_ANOT3 = 7;
private final int leftborder;
private final int rightborder;
private final int topborder;
private final int bottomborder;
private final int[] scales = new int[]{0,0,0,0,0,0,0,0};
private final int[] pixels = new int[]{0,0,0,0,0,0,0,0};
private final int[] offsets = new int[]{0,0,0,0,0,0,0,0};
private final Long[] colnames = new Long[]{0xFFFFFFl,0xFFFFFFl,0xFFFFFFl,0xFFFFFFl,0xFFFFFFl,0xFFFFFFl,0xFFFFFFl,0xFFFFFFl};
private final Long[] colscale = new Long[]{null,null,null,null,null,null,null,null};
private final String[] tablenames = new String[]{"","","","","","","",""};
public ChartPlotter(final int width, final int height, final Long backgroundColor, final Long foregroundColor, final Long lightColor,
final int leftborder, final int rightborder, final int topborder, final int bottomborder,
final String name, final String subline) {
super(width, height, RasterPlotter.DrawMode.MODE_REPLACE, backgroundColor);
this.leftborder = leftborder;
this.rightborder = rightborder;
this.topborder = topborder;
this.bottomborder = bottomborder;
//this.name = name;
//this.backgroundColor = backgroundColor;
//this.foregroundColor = foregroundColor;
if (name != null) {
if (foregroundColor != null) this.setColor(foregroundColor);
PrintTool.print(this, width / 2 - name.length() * 3, 6, 0, name, -1, 100);
}
if (subline != null) {
if (lightColor != null) this.setColor(lightColor);
PrintTool.print(this, width / 2 - subline.length() * 3, 14, 0, subline, -1, 100);
}
}
/**
* assign a metric to a graph. The dimension can be left or right (the measure at the side-border of the graph)
* @param dimensionType
* @param scale is the measure (the number) to be printed on the border per pixelscale
* @param pixelperscale is the number of pixel points per scale
* @param offset is an offset on the 'scale' number
* @param colorNaming the colour of the legend for the scale
* @param colorScale the colour of the line drawing for the vertical scale
* @param name printed on the vertical bar
*/
public void declareDimension(final int dimensionType, final int scale, final int pixelperscale, final int offset, final Long colorNaming, final Long colorScale, final String name) {
this.scales[dimensionType] = Math.max(1, scale);
this.pixels[dimensionType] = pixelperscale;
this.offsets[dimensionType] = offset;
this.colnames[dimensionType] = colorNaming;
this.colscale[dimensionType] = colorScale;
this.tablenames[dimensionType] = name;
if ((dimensionType == DIMENSION_LEFT) || (dimensionType == DIMENSION_RIGHT)) {
drawVerticalScale((dimensionType == DIMENSION_LEFT), scale, pixelperscale, offset, colorNaming, colorScale, name);
}
if ((dimensionType == DIMENSION_TOP) || (dimensionType == DIMENSION_BOTTOM)) {
drawHorizontalScale((dimensionType == DIMENSION_TOP), scale, pixelperscale, offset, colorNaming, colorScale, name);
}
}
public void chartDot(final int dimension_x, final int dimension_y, final float coord_x, final int coord_y, final int dotsize, final String anot, final int anotAngle) {
final int x = (int) ((coord_x - this.offsets[dimension_x]) * this.pixels[dimension_x] / this.scales[dimension_x]);
assert this.scales[dimension_y] != 0;
final int y = (coord_y - this.offsets[dimension_y]) * this.pixels[dimension_y] / this.scales[dimension_y];
if (dotsize == 1) plot(this.leftborder + x, this.height - this.bottomborder - y, 100);
else dot(this.leftborder + x, this.height - this.bottomborder - y, dotsize, true, 100);
if (anot != null) PrintTool.print(this, this.leftborder + x + dotsize + 2 + ((anotAngle == 315) ? -9 : 0), this.height - this.bottomborder - y + ((anotAngle == 315) ? -3 : 0), anotAngle, anot, (anotAngle == 0) ? (anot.length() * 6 + x > this.width ? 1 : -1) : ((anotAngle == 315) ? 1 : 0), 100);
}
public void chartLine(final int dimension_x, final int dimension_y, final float coord_x1, final int coord_y1, final float coord_x2, final int coord_y2) {
final int x1 = (int) ((coord_x1 - this.offsets[dimension_x]) * this.pixels[dimension_x] / this.scales[dimension_x]);
final int y1 = (coord_y1 - this.offsets[dimension_y]) * this.pixels[dimension_y] / this.scales[dimension_y];
final int x2 = (int) ((coord_x2 - this.offsets[dimension_x]) * this.pixels[dimension_x] / this.scales[dimension_x]);
final int y2 = (coord_y2 - this.offsets[dimension_y]) * this.pixels[dimension_y] / this.scales[dimension_y];
line(this.leftborder + x1, this.height - this.bottomborder - y1, this.leftborder + x2, this.height - this.bottomborder - y2, 100);
}
/**
* draw a horizontal scale border
* @param top - if true, this the top-horizontal scale, otherwise it is at the bottom
* @param scale is the measure (the number) to be printed on the vertical border per pixelscale
* @param pixelperscale is the number of vertical pixel points per scale
* @param offset is an offset on the 'scale' number
* @param colorNaming the colour of the legend for the scale
* @param colorScale the colour of the line drawing for the vertical scale
* @param name printed on the vertical bar
*/
private void drawHorizontalScale(final boolean top, final int scale, final int pixelperscale, final int offset, final Long colorNaming, final Long colorScale, final String name) {
final int y = (top) ? this.topborder : this.height - this.bottomborder;
int x = this.leftborder;
int s = offset;
while (x < this.width - this.rightborder) {
if ((colorScale != null) && (x > this.leftborder) && (x < (this.width - this.rightborder))) {
setColor(colorScale);
line(x, this.topborder, x, this.height - this.bottomborder, 100);
}
setColor(colorNaming);
line(x, y - 3, x, y + 3, 100);
PrintTool.print(this, x, (top) ? y - 3 : y + 9, 0, Integer.toString(s), -1, 80);
x += pixelperscale;
s += scale;
}
setColor(colorNaming);
PrintTool.print(this, this.width - this.rightborder, (top) ? y - 9 : y + 15, 0, name, 1, 80);
line(this.leftborder - 4, y, this.width - this.rightborder + 4, y, 100);
}
/**
* draw the vertical scale of the graph
* @param left if true this is the vertical bar on the left, otherwise it is the one on the right
* @param scale is the measure (the number) to be printed on the vertical border per pixelscale
* @param pixelperscale is the number of vertical pixel points per scale
* @param offset is an offset on the 'scale' number
* @param colorNaming the colour of the legend for the scale
* @param colorScale the colour of the line drawing for the vertical scale
* @param name printed on the vertical bar
*/
private void drawVerticalScale(final boolean left, final int scale, final int pixelperscale, final int offset, final Long colorNaming, final Long colorScale, final String name) {
assert pixelperscale > 0;
assert scale > 0;
if (pixelperscale <= 0) return; // this would not meet the termination condition in the while loop
final int x = (left) ? this.leftborder : this.width - this.rightborder;
int y = this.height - this.bottomborder;
int s = offset;
String s1;
int s1max = 0;
while (y > this.topborder) {
if ((colorScale != null) && (y > this.topborder) && (y < (this.height - this.bottomborder))) {
setColor(colorScale);
line(this.leftborder, y, this.width - this.rightborder, y, 100);
}
setColor(colorNaming);
line(x - 3, y, x + 3, y, 100);
s1 = (s >= 1000000 && s % 1000000 == 0) ? Integer.toString(s / 1000000) + "M" : (s >= 1000 && s % 1000 == 0) ? Integer.toString(s / 1000) + "K" : Integer.toString(s);
if (s1.length() > s1max) s1max = s1.length();
PrintTool.print(this, (left) ? this.leftborder - 4 : this.width - this.rightborder + 4, y, 0, s1, (left) ? 1 : -1, 80);
y -= pixelperscale;
s += scale;
}
setColor(colorNaming);
PrintTool.print(this, (left) ? Math.max(6, x - s1max * 6 - 6) : x + s1max * 6 + 9, this.height - this.bottomborder, 90, name, -1, 80);
line(x, this.topborder - 4, x, this.height - this.bottomborder + 4, 100);
}
public static void main(final String[] args) {
System.setProperty("java.awt.headless", "true");
final long bg = 0xFFFFFF;
final long fg = 0x000000;
final long scale = 0xCCCCCC;
final long green = 0x008800;
final long blue = 0x0000FF;
final ChartPlotter ip = new ChartPlotter(660, 240, bg, fg, fg, 30, 30, 20, 20, "PEER PERFORMANCE GRAPH: PAGES/MINUTE and USED MEMORY", "");
ip.declareDimension(DIMENSION_BOTTOM, 60, 60, -600, fg, scale, "TIME/SECONDS");
//ip.declareDimension(DIMENSION_TOP, 10, 40, "000000", null, "count");
ip.declareDimension(DIMENSION_LEFT, 50, 40, 0, green, scale , "PPM [PAGES/MINUTE]");
ip.declareDimension(DIMENSION_RIGHT, 100, 20, 0, blue, scale, "MEMORY/MEGABYTE");
ip.setColor(green);
ip.chartDot(DIMENSION_BOTTOM, DIMENSION_LEFT, -160, 100, 5, null, 0);
ip.chartLine(DIMENSION_BOTTOM, DIMENSION_LEFT, -160, 100, -130, 200);
ip.setColor(blue);
ip.chartDot(DIMENSION_BOTTOM, DIMENSION_RIGHT, -50, 300, 2, null, 0);
ip.chartLine(DIMENSION_BOTTOM, DIMENSION_RIGHT, -80, 100, -50, 300);
//ip.print(100, 100, 0, "TEXT", true);
//ip.print(100, 100, 0, "1234", false);
//ip.print(100, 100, 90, "TEXT", true);
//ip.print(100, 100, 90, "1234", false);
final File file = new File("/Users/admin/Desktop/testimage.png");
try {
final FileOutputStream fos = new FileOutputStream(file);
fos.write(RasterPlotter.exportImage(ip.getImage(), "png").getBytes());
//ImageIO.write(ip.getImage(), "png", fos);
fos.close();
} catch (final IOException e) {}
ConcurrentLog.shutdown();
}
}

@ -65,6 +65,7 @@ import net.yacy.cora.federate.yacy.CacheStrategy;
import net.yacy.cora.order.Digest;
import net.yacy.cora.protocol.ConnectionInfo;
import net.yacy.crawler.retrieval.Response;
import net.yacy.peers.Seed;
import net.yacy.server.serverSwitch;
@ -234,14 +235,25 @@ public final class yacy {
// hardcoded, forced, temporary value-migration
sb.setConfig("htTemplatePath", "htroot/env/templates");
int oldRev;
double oldVer;
try {
oldRev = Integer.parseInt(sb.getConfig("svnRevision", "0"));
String tmpversion = sb.getConfig(Seed.VERSION, "");
if (tmpversion.isEmpty()) { // before 1.83009737 only the svnRevision nr was in config (like 9737)
tmpversion = yacyBuildProperties.getVersion();
int oldRev = Integer.parseInt(sb.getConfig("svnRevision", "0"));
if (oldRev > 1) {
oldVer = Double.parseDouble(tmpversion) + oldRev / 100000000.0;
} else {
oldVer = Double.parseDouble(yacyBuildProperties.getLongVersion()); // failsafe (assume current version = no migration)
}
} else {
oldVer = Double.parseDouble(tmpversion);
}
} catch (final NumberFormatException e) {
oldRev = 0;
oldVer = 0.0d;
}
final int newRev = Integer.parseInt(yacyBuildProperties.getSVNRevision());
sb.setConfig("svnRevision", yacyBuildProperties.getSVNRevision());
final double newRev = Double.parseDouble(yacyBuildProperties.getLongVersion());
sb.setConfig(Seed.VERSION, yacyBuildProperties.getLongVersion());
sb.setConfig("applicationRoot", appHome.toString());
sb.setConfig("dataRoot", dataHome.toString());
@ -296,7 +308,7 @@ public final class yacy {
shareDumpDefaultPath = new File(shareDefaultPath, "dump");
mkdirIfNeseccary(shareDumpDefaultPath);
migration.migrate(sb, oldRev, newRev);
migration.migrate(sb, oldVer, newRev);
// delete old release files
final int deleteOldDownloadsAfterDays = (int) sb.getConfigLong("update.deleteOld", 30);
@ -338,22 +350,22 @@ public final class yacy {
final File locale_source = sb.getAppPath("locale.source", "locales");
final String lang = sb.getConfig("locale.language", "");
if (!lang.equals("") && !lang.equals("default")) { //locale is used
String currentRev = "";
String currentRev = null;
try{
final BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File(sb.getDataPath("locale.translated_html", "DATA/LOCALE/htroot"), lang+"/version" ))));
currentRev = br.readLine();
currentRev = br.readLine(); // may return null
br.close();
}catch(final IOException e){
//Error
}
if (!currentRev.equals(sb.getConfig("svnRevision", ""))) try { //is this another version?!
if (currentRev == null || !currentRev.equals(sb.getConfig(Seed.VERSION, ""))) try { //is this another version?!
final File sourceDir = new File(sb.getConfig(SwitchboardConstants.HTROOT_PATH, SwitchboardConstants.HTROOT_PATH_DEFAULT));
final File destDir = new File(sb.getDataPath("locale.translated_html", "DATA/LOCALE/htroot"), lang);
if (Translator.translateFilesRecursive(sourceDir, destDir, new File(locale_source, lang + ".lng"), "html,template,inc", "locale")){ //translate it
//write the new Versionnumber
final BufferedWriter bw = new BufferedWriter(new PrintWriter(new FileWriter(new File(destDir, "version"))));
bw.write(sb.getConfig("svnRevision", "Error getting Version"));
bw.write(sb.getConfig(Seed.VERSION, "Error getting Version"));
bw.close();
}
} catch (final IOException e) {}

@ -235,6 +235,27 @@ public class MultiProtocolURLTest {
assertEquals(testurls.get(s),result);
}
}
/**
* Test of toTokens method, of class MultiProtocolURL.
*/
@Test
public void testToTokens() {
// test string pairs which should generate equal results
String[][] testString = new String[][]{
{"abc", "abc "},
{" cde", "cde"},
{" efg", "efg "},
{"hij hij", " hij "},
{"klm mno", "klm@mno"},
{"abc/cde?fff", "abc\\cde-fff "} };
String result1, result2;
for (String[] s : testString) {
result1 = MultiProtocolURL.toTokens(s[0]);
result2 = MultiProtocolURL.toTokens(s[1]);
assertEquals("input: "+s[0]+"="+s[1],result1, result2);
}
}
}

@ -0,0 +1,68 @@
package net.yacy.utils.translation;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import net.yacy.data.Translator;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
public class TranslatorXliffTest {
@Before
public void setUp() throws Exception {
// asure data directory exists for temp test files
File testDataDir = new File("test/DATA");
if (!testDataDir.exists()) {
testDataDir.mkdir();
}
}
/**
* Test of loadTranslationsListsFromXliff method, of class TranslatorXliff.
* load all translation lists from default locales directory writes temp
* test files to test/DATA and compares translation text
*/
@Test
public void testLoadTranslationsListsFromXliff() throws IOException {
List<String> lngFiles = Translator.langFiles(new File("locales"));
for (String filename : lngFiles) {
// load translation list
System.out.println("Test translation file " + filename);
Map<String, Map<String, String>> origTrans = Translator.loadTranslationsLists(new File("locales", filename));
TranslatorXliff txlif = new TranslatorXliff();
// save as xliff file
File xlftmp = new File("test/Data", filename + ".xlf");
txlif.saveAsXliff(filename.substring(0, 2), xlftmp, origTrans);
// load created xliff file
Map<String, Map<String, String>> xliffTrans = txlif.loadTranslationsListsFromXliff(xlftmp);
// compare content
assertEquals(origTrans.size(), xliffTrans.size());
for (String s : origTrans.keySet()) { // get translation filename
assertTrue(xliffTrans.containsKey(s));
// compare translation list
Map<String, String> origList = origTrans.get(s);
Map<String, String> xliffList = xliffTrans.get(s);
assertEquals(origList.size(), xliffList.size());
for (String ss : origList.keySet()) {
assertTrue("translation key", xliffList.containsKey(ss));
String origVal = origList.get(ss);
// it is possible that intentionally empty translation is given
// in this case xliff target is missing (=null)
if (origVal != null && !origVal.isEmpty()) {
String xliffVal = xliffList.get(ss);
if (!origVal.equals(xliffVal)) {
assertEquals("translation value", origVal, xliffVal);
}
}
}
}
}
}
}
Loading…
Cancel
Save