diff options
129 files changed, 753 insertions, 11292 deletions
@@ -8,3 +8,12 @@ When changing YaCy web pages or API endpoints, update all matching user-facing a - For `htroot/**/*.html` changes, update the corresponding Markdown help file under `help/`. - For API or servlet behavior changes under `source/net/yacy/htroot/**`, update the related `help/**/*.md` file with changed endpoints, access requirements, parameters, side effects, response fields, and automation guidance. - Treat `locales` and `help` updates as required checklist items for HTML, servlet, and API changes. Do not leave them for a follow-up unless the change is explicitly internal and has no user-visible page, request parameter, response, or behavior impact. + +## Tests During Code Reviews + +Do not treat the repository-wide test backlog as a separate mass-rewrite project unless explicitly requested. Improve tests incrementally in the context of individual code reviews. + +- During each code review, identify the behavior affected by the reviewed code and add, update, or repair focused tests where they provide useful regression coverage. +- Keep test work scoped to the reviewed area and the changes needed to verify it. +- Report unrelated existing test failures, but do not expand the review into a repository-wide test cleanup solely because those failures exist. +- Over time, use successive reviews to bring the test suite up to date alongside the production code. diff --git a/defaults/yacy.init b/defaults/yacy.init index a086c5326..545a51780 100644 --- a/defaults/yacy.init +++ b/defaults/yacy.init @@ -368,7 +368,7 @@ indexArchivePath=DATA/ARCHIVE # the path to the LISTS files. Most lists are used to filter web content
listsPath=DATA/LISTS
-# path to additional databases, like messages, blog data and bookmarks
+# path to additional databases, such as messages and bookmarks workPath=DATA/WORK
# the path to the SKINS files.
@@ -446,10 +446,6 @@ YaCyHop=true # search services.
serverClient=*
-# use_proxyAccounts: set to true to restrict proxy-access to some identified users.
-#use User_p.html to create some Users.
-use_proxyAccounts=true
-
# adminAccountBase64MD5: a encoded user:password - pair
# For the administration of settings through the web interface.
# Should be set to a secret.
@@ -963,22 +959,22 @@ search.result.show.vocabulary.omit = # when true, display the raw ranking score value
search.result.show.ranking = false
-# Maximum numbers of accesses within a given time period to the search interface for unauthenticated users and authenticated users with no extended search right
+# Maximum numbers of accesses within a given time period to the search interface for unauthenticated users search.public.max.access.3s = 60
search.public.max.access.1mn = 600
search.public.max.access.10mn = 3000
-# Maximum numbers of accesses within a given time period to the search interface in P2P mode for unauthenticated users and authenticated users with no extended search right
+# Maximum numbers of accesses within a given time period to the search interface in P2P mode for unauthenticated users search.public.max.p2p.access.3s = 1
search.public.max.p2p.access.1mn = 6
search.public.max.p2p.access.10mn = 60
-# Maximum numbers of accesses within a given time period to the search interface in P2P mode with browser-side JavaScript remote results resorting for unauthenticated users and authenticated users with no extended search right
+# Maximum numbers of accesses within a given time period to the search interface in P2P mode with browser-side JavaScript remote results resorting for unauthenticated users search.public.max.p2p.jsresort.access.3s = 1
search.public.max.p2p.jsresort.access.1mn = 1
search.public.max.p2p.jsresort.access.10mn = 10
-# Maximum number of accesses within a given time period to the search interface to support fetching remote results snippets for unauthenticated users and authenticated users with no extended search right
+# Maximum number of accesses within a given time period to the search interface to support fetching remote results snippets for unauthenticated users search.public.max.remoteSnippet.access.3s = 1
search.public.max.remoteSnippet.access.1mn = 4
search.public.max.remoteSnippet.access.10mn = 20
@@ -1170,14 +1166,6 @@ publicTopmenu = true # set to true to include a login link/status in the search page public top navigation bar
search.publicTopNavBar.login = true
-# Wiki access rights
-# the built-in wiki system allows by default only that the administrator is allowed to make changes
-# this can be changed. There are three options:
-# admin - only the admin has write right
-# all - everybody has write right
-# user - the admin and every user registered in the user db has write right
-WikiAccess = admin
-
# Search Profiles
# we will support different search profiles
# If this profile setting is empty, a hard-coded profile is used to initialise the values
@@ -1226,7 +1214,6 @@ thumbnailProgram = # settings for the peer's local robots.txt
# the following restrictions are possible (comma-separated):
# - all : entire domain is disallowed
-# - blog : the blog-pages
# - bookmarks : the bookmark-page
# - dirs : all directories in htroot (standard setting, as there is no usable information in)
# - fileshare : all files in the peer's file share (DATA/HTDOCS/share)
@@ -1236,15 +1223,11 @@ thumbnailProgram = # - network : the network-pages
# - status : peer's status page
# - surftips : the surftips-page
-# - wiki : the wiki-page
httpd.robots.txt = locked,dirs,bookmarks,network,news,status,profile
# maximum number of robots.txt loading threads
robots.txt.MaxActiveThreads = 40
-# class to use for parsing wikicode
-wikiParser.class = de.anomic.data.wikiCode
-
# settings for automatic deletion of old entries in passive and potential seed-db
# time means max time (in days) a peer may not have been seen before it is deleted
routing.deleteOldSeeds.permission = true
diff --git a/help/Blog.md b/help/Blog.md deleted file mode 100644 index 406a01d9a..000000000 --- a/help/Blog.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -page: htroot/Blog.html -help: help/Blog.md -title: Blog -package: content-apps -access: public -kind: ui-page -backend_java: source/net/yacy/htroot/Blog.java ---- - -# Blog - -## Purpose - -Blog provides a local publication area inside YaCy. - -Use it for peer-local announcements or notes when that feature is enabled. - -## What You Can Do Here - -- Blog provides a local publication area inside YaCy. -- Edit or inspect the specific content object shown on the page. -- Check whether the result is local-only, user-visible, or peer-visible before publishing. - -## Page Architecture - -Content application pages store and render peer-local objects such as bookmarks, messages, wiki text, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. - -| Control | Meaning | Values or examples | -| --- | --- | --- | -| `author` | Author. | Text value; use the page label and surrounding context to choose the exact content. | -| `subject` | Subject. | Text value; use the page label and surrounding context to choose the exact content. | -| `content` | Text. | Text value; use the page label and surrounding context to choose the exact content. | -| `commentMode` | Comments. Options: `0` = deactivated, `1` = activated, `2` = moderated. | `0` = deactivated, `1` = activated, `2` = moderated | -| `submit` | Submits the form. | `Submit` | -| `preview` | Author. | `Preview` | -| `discard` | Author. | `Discard` | -| `xmlfile` | Author. | Text value; use the page label and surrounding context to choose the exact content. | -| `importxml` | Author. | `Import` | - -## Correct Use - -Edit content deliberately and check the rendered page after saving. For shared or peer-visible features, assume written content may be read by someone else unless the page clearly says otherwise. - -## Access And Safety - -The page is normally public or read-only, unless the peer is configured to require authentication for all pages. - -Backend checks: user authentication. - -## Automation And API - -Page backend: `source/net/yacy/htroot/Blog.java`. - -| Endpoint | Method | Access | Backend | -| --- | --- | --- | --- | -| `/Blog.html` | `POST` | public or page-dependent | `source/net/yacy/htroot/Blog.java` | - -### Parameter Guide - -The table explains values that an agent or script must set deliberately. Parameters not relevant to a task should be omitted or left at the page default. - -| Parameter | Meaning and valid values | Care | -| --- | --- | --- | -| `author` | Author. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `subject` | Subject. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `content` | Text. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `commentMode` | Comments. Options: `0` = deactivated, `1` = activated, `2` = moderated. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `submit` | Submit action for the form. Its meaning depends on the surrounding fields. | Changes stored data, configuration, or a running job. Use the authenticated action flow where required and verify the result. | -| `preview` | Author. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `discard` | Author. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `xmlfile` | Author. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `importxml` | Author. | Changes stored data, configuration, or a running job. Use the authenticated action flow where required and verify the result. | -| `delete` | Deletes the selected URL, path, or index scope. Confirm the scope first. | Can remove data, stop work, expose access, or make a broad operational change. Use only with explicit confirmation and an exact target. | -| `page` | Author. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | - -Example request shape: - -```http -POST /Blog.html -Content-Type: application/x-www-form-urlencoded - -author=...&subject=...&content=...&commentMode=...&submit=... -``` - -## What To Expect - -Expect stored or rendered content: a message, page, table row, bookmark, profile, translation, or file view. After changes, reload or revisit the object to confirm what was actually saved. - -## Related Pages - -- `BlogComments.html` -- `WikiHelp.html` diff --git a/help/BlogComments.md b/help/BlogComments.md deleted file mode 100644 index 474b03327..000000000 --- a/help/BlogComments.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -page: htroot/BlogComments.html -help: help/BlogComments.md -title: Blog -package: content-apps -access: public -kind: ui-page -backend_java: source/net/yacy/htroot/BlogComments.java ---- - -# Blog - -## Purpose - -Blog Comments stores discussion around local blog posts. - -Use it to review or moderate comments attached to peer-local posts. - -## What You Can Do Here - -- Blog Comments stores discussion around local blog posts. -- Edit or inspect the specific content object shown on the page. -- Check whether the result is local-only, user-visible, or peer-visible before publishing. - -## Page Architecture - -Content application pages store and render peer-local objects such as bookmarks, messages, wiki text, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. - -| Control | Meaning | Values or examples | -| --- | --- | --- | -| `author` | Author. | Text value; use the page label and surrounding context to choose the exact content. | -| `subject` | Subject. | Text value; use the page label and surrounding context to choose the exact content. | -| `content` | Text. | Text value; use the page label and surrounding context to choose the exact content. | -| `submit` | Submits the form. | `Submit` | -| `preview` | Author. | `Preview` | -| `view` | Author. | `Discard` | - -## Correct Use - -Edit content deliberately and check the rendered page after saving. For shared or peer-visible features, assume written content may be read by someone else unless the page clearly says otherwise. - -## Access And Safety - -The page is normally public or read-only, unless the peer is configured to require authentication for all pages. - -Backend checks: user authentication. - -## Automation And API - -Page backend: `source/net/yacy/htroot/BlogComments.java`. - -| Endpoint | Method | Access | Backend | -| --- | --- | --- | --- | -| `/BlogComments.html` | `POST` | public or page-dependent | `source/net/yacy/htroot/BlogComments.java` | - -### Parameter Guide - -The table explains values that an agent or script must set deliberately. Parameters not relevant to a task should be omitted or left at the page default. - -| Parameter | Meaning and valid values | Care | -| --- | --- | --- | -| `author` | Author. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `subject` | Subject. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `content` | Text. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `submit` | Submit action for the form. Its meaning depends on the surrounding fields. | Changes stored data, configuration, or a running job. Use the authenticated action flow where required and verify the result. | -| `preview` | Author. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `view` | Author. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `allow` | Enables the named feature. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `delete` | Deletes the selected URL, path, or index scope. Confirm the scope first. | Can remove data, stop work, expose access, or make a broad operational change. Use only with explicit confirmation and an exact target. | -| `page` | Author. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | - -Example request shape: - -```http -POST /BlogComments.html -Content-Type: application/x-www-form-urlencoded - -author=...&subject=...&content=...&submit=...&preview=... -``` - -## What To Expect - -Expect stored or rendered content: a message, page, table row, bookmark, profile, translation, or file view. After changes, reload or revisit the object to confirm what was actually saved. - -## Related Pages - -- `Blog.html` -- `WikiHelp.html` diff --git a/help/Bookmarks.md b/help/Bookmarks.md index d79f6ead6..25ab2818e 100644 --- a/help/Bookmarks.md +++ b/help/Bookmarks.md @@ -12,19 +12,19 @@ backend_java: source/net/yacy/htroot/Bookmarks.java ## Purpose -Bookmarks stores useful URLs known to the peer or user. +Bookmarks stores useful URLs known to the peer. Use it to save, organize, and later re-use important search or crawl targets. ## What You Can Do Here -- Bookmarks stores useful URLs known to the peer or user. +- Bookmarks stores useful URLs known to the peer. - Edit or inspect the specific content object shown on the page. - Check whether the result is local-only, user-visible, or peer-visible before publishing. ## Page Architecture -Content application pages store and render peer-local objects such as bookmarks, messages, wiki text, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. +Content application pages store and render peer-local objects such as bookmarks, messages, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. | Control | Meaning | Values or examples | | --- | --- | --- | @@ -52,7 +52,7 @@ Edit content deliberately and check the rendered page after saving. For shared o The page is normally public or read-only, unless the peer is configured to require authentication for all pages. -Backend checks: user authentication. +Public bookmarks can be read without authentication. Private bookmarks, imports, edits, and other write actions require built-in administrator authority: HTTP BASIC/DIGEST, or the configured localhost-without-account access. ## Automation And API @@ -85,7 +85,6 @@ The table explains values that an agent or script must set deliberately. Paramet | `startautosearch` | URL. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | | `agentName` | Crawler user-agent profile used for outgoing HTTP requests. Choose a profile that matches the desired identity and politeness behavior. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | | `delete` | Deletes the selected URL, path, or index scope. Confirm the scope first. | Can remove data, stop work, expose access, or make a broad operational change. Use only with explicit confirmation and an exact target. | -| `user` | User or account value. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | Example request shape: diff --git a/help/ConfigAccountList_p.md b/help/ConfigAccountList_p.md deleted file mode 100644 index 42e309842..000000000 --- a/help/ConfigAccountList_p.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -page: htroot/ConfigAccountList_p.html -help: help/ConfigAccountList_p.md -title: User Accounts -package: configuration-administration -access: admin -kind: admin-page -backend_java: source/net/yacy/htroot/ConfigAccountList_p.java ---- - -# User Accounts - -## Purpose - -User Accounts lists configured accounts and their role-related state. - -Use it to audit who can sign in before changing permissions or exposing the peer. - -## What You Can Do Here - -- User Accounts lists configured accounts and their role-related state. -- Read the current value before changing it. -- Verify the effect on the public page, status page, or related administration page. - -## Page Architecture - -Configuration pages usually contain persistent settings. A visible form writes values into YaCy configuration, while the backend may reload subsystems such as language files, network listeners, cache handling, or search presentation. - -## Correct Use - -Read the current value before changing it. Configuration changes often persist beyond the current request and may affect later crawling, search, network contact, authentication, or resource use. Change one operational idea at a time and verify the result. - -## Access And Safety - -Administrator access is required. YaCy protects `_p` pages as administration pages. - -## Automation And API - -Page backend: `source/net/yacy/htroot/ConfigAccountList_p.java`. - -No request parameters are needed for normal use of this page. - -## What To Expect - -A successful change is visible as a saved value, a confirmation, or changed behavior on a related page. Some settings take effect immediately; others require reconnecting, reloading translations, restarting services, or watching the status page. - -## Related Pages - -- `ConfigUser_p.html` diff --git a/help/ConfigAccounts_p.md b/help/ConfigAccounts_p.md index 8ed1897bc..296af2854 100644 --- a/help/ConfigAccounts_p.md +++ b/help/ConfigAccounts_p.md @@ -1,62 +1,60 @@ --- page: htroot/ConfigAccounts_p.html help: help/ConfigAccounts_p.md -title: User Accounts +title: Admin Account package: configuration-administration access: admin kind: admin-page backend_java: source/net/yacy/htroot/ConfigAccounts_p.java --- -# User Accounts +# Admin Account ## Purpose -User Accounts defines administrator and user credentials. +This page configures YaCy's single built-in administrator account and page-protection policy. Use it early, especially before the peer is reachable from another machine. ## What You Can Do Here -- User Accounts defines administrator and user credentials. +- Configure the built-in administrator username and password used by HTTP BASIC or DIGEST authentication. +- Choose whether trusted localhost requests are granted administrator access without credentials. +- Choose whether authentication protects only `_p` pages or all applicable pages. - Read the current value before changing it. - Verify the effect on the public page, status page, or related administration page. ## Page Architecture -Configuration pages usually contain persistent settings. A visible form writes values into YaCy configuration, while the backend may reload subsystems such as language files, network listeners, cache handling, or search presentation. +The page separates administrator credentials from access rules. The two access-rule switches share one form and are saved automatically whenever either switch changes. Each switch selects its own existing backend action, so changing one rule does not rewrite the other. | Control | Meaning | Values or examples | | --- | --- | --- | -| `access` | Access from localhost without account / Access only with qualified account. Options: `localhost` = Access from localhost without account, `account` = Access only with qualified account. | `localhost` = Access from localhost without account, `account` = Access only with qualified account | -| `adminuser` | Peer User. | Text value; use the page label and surrounding context to choose the exact content. | -| `adminpw1` | New Peer Password. | Text value; use the page label and surrounding context to choose the exact content. | -| `adminpw2` | Repeat Peer Password. | Text value; use the page label and surrounding context to choose the exact content. | -| `setAdmin` | Peer User. | `Define Administrator` | -| `adminAccountAllPages` | Access from localhost without account. | Access from localhost without account | -| `setAccess` | Access from localhost without account. | `Set Access Rules` | -| `user` | Select user. | `newuser` = New user | -| `change_user` | Select user. | `Edit User` | -| `delete_user` | Select user. | `Delete User` | -| `username` | Username. | Checkbox/boolean; present usually means enabled. | -| `password` | Password. | Text value; use the page label and surrounding context to choose the exact content. | -| `password2` | Repeat password. | Text value; use the page label and surrounding context to choose the exact content. | -| `firstname` | First name. | Text value; use the page label and surrounding context to choose the exact content. | -| `lastname` | Last name. | Text value; use the page label and surrounding context to choose the exact content. | -| `address` | Address. | Text value; use the page label and surrounding context to choose the exact content. | -| `#[name]#` | right. | right | -| `timelimit` | Timelimit. | Text value; use the page label and surrounding context to choose the exact content. | -| `timeused` | Time used. | Text value; use the page label and surrounding context to choose the exact content. | -| `change` | Username. | `Save User` | +| `adminuser` | Username of the built-in administrator. | Non-empty text, up to 32 characters. | +| `adminpw1` | New administrator password. | Non-empty password. | +| `adminpw2` | Confirmation of the new administrator password. | Must equal `adminpw1`. | +| `setAdmin` | Saves only the administrator username and password. | Submit action. | +| `adminAccountForLocalhost` | Grants administrator authority to eligible localhost requests without authentication. | Checkbox: present = on, absent = off. Default: on. | +| `setLocalhostAccess` | Saves only the localhost-access policy. | Submitted automatically when `adminAccountForLocalhost` changes. | +| `adminAccountAllPages` | Extends administrator authorization from `_p` administration pages to all applicable pages. | Checkbox: present = on, absent = off. Default: off. | +| `setAccess` | Saves only the page-protection policy. | Submitted automatically when `adminAccountAllPages` changes. | ## Correct Use -Read the current value before changing it. Configuration changes often persist beyond the current request and may affect later crawling, search, network contact, authentication, or resource use. Change one operational idea at a time and verify the result. +Replace the default `admin` / `yacy` credentials even when localhost access remains enabled. The warning is displayed directly above the credential form while the default password hash is active. + +If the administrator password must be reset from the console, run `bin/passwd.sh` from the YaCy installation directory. With no password argument, the script prompts for the new password without echoing it. It supports both a running peer, through the account configuration endpoint, and a stopped peer, through the local configuration file. + +Turning off localhost access means that local browser requests also need the configured administrator credentials. Turning on protection for all pages broadens the authentication requirement. Changing either switch automatically reloads the page after saving that rule; it does not change the other rule or the administrator credentials. ## Access And Safety Administrator access is required. YaCy protects `_p` pages as administration pages. +There are no secondary YaCy users or per-feature roles. Privileged actions use the built-in administrator authority only. When localhost access without an account is enabled, eligible local requests receive that same authority without credentials. + +Legacy `DATA/SETTINGS/user.heap` files are no longer loaded or modified. Keep or remove such a file according to your own backup policy. + Protected related endpoint(s): `/ConfigAccounts_p.html`. Backend checks: transaction token for protected POST, transaction token issued for forms. @@ -75,41 +73,38 @@ The table explains values that an agent or script must set deliberately. Paramet | Parameter | Meaning and valid values | Care | | --- | --- | --- | -| `access` | Access from localhost without account / Access only with qualified account. Options: `localhost` = Access from localhost without account, `account` = Access only with qualified account. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `adminuser` | Peer User. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `adminpw1` | New Peer Password. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `adminpw2` | Repeat Peer Password. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `setAdmin` | Peer User. | Changes stored data, configuration, or a running job. Use the authenticated action flow where required and verify the result. | -| `adminAccountAllPages` | Access from localhost without account. | Controls the scope or format of the result. Prefer the narrowest value that answers the request. | -| `setAccess` | Access from localhost without account. | Changes stored data, configuration, or a running job. Use the authenticated action flow where required and verify the result. | -| `user` | Select user. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `change_user` | Select user. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `delete_user` | Select user. | Can remove data, stop work, expose access, or make a broad operational change. Use only with explicit confirmation and an exact target. | -| `username` | Username. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `password` | Password. | Can remove data, stop work, expose access, or make a broad operational change. Use only with explicit confirmation and an exact target. | -| `password2` | Repeat password. | Can remove data, stop work, expose access, or make a broad operational change. Use only with explicit confirmation and an exact target. | -| `firstname` | First name. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `lastname` | Last name. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `address` | Address. | Changes stored data, configuration, or a running job. Use the authenticated action flow where required and verify the result. | -| `#[name]#` | right. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `timelimit` | Timelimit. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `timeused` | Time used. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `change` | Username. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `current_user` | Username. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | - -Example request shape: +| `adminuser` | Non-empty built-in administrator username. | Send only with `setAdmin`. Changing it invalidates the previous username. | +| `adminpw1` | Non-empty new administrator password. | Send only with `setAdmin`; YaCy stores its DIGEST-compatible hash, not the clear text. | +| `adminpw2` | Repetition of `adminpw1`. | Must match exactly. | +| `setAdmin` | Selects the credential-change action. | Does not change either access-policy switch. | +| `adminAccountForLocalhost` | Enables unauthenticated administrator access for eligible localhost requests when present. | Omit the checkbox to disable it; send only with `setLocalhostAccess`. | +| `setLocalhostAccess` | Selects the localhost-policy action. | Does not change credentials or page-protection scope. | +| `adminAccountAllPages` | Enables protection of all applicable pages when present. | Omit the checkbox to disable it; send only with `setAccess`. `_p` administration pages remain protected in both states. | +| `setAccess` | Selects the page-protection action. | Does not change credentials or localhost policy. | + +Example request shapes (each also requires a valid `transactionToken`): ```http POST /ConfigAccounts_p.html Content-Type: application/x-www-form-urlencoded -access=...&adminuser=...&adminpw1=...&adminpw2=...&setAdmin=... +transactionToken=...&adminuser=admin&adminpw1=new-secret&adminpw2=new-secret&setAdmin= + +POST /ConfigAccounts_p.html +Content-Type: application/x-www-form-urlencoded + +transactionToken=...&adminAccountForLocalhost=on&setLocalhostAccess=1 + +POST /ConfigAccounts_p.html +Content-Type: application/x-www-form-urlencoded + +transactionToken=...&adminAccountAllPages=on&setAccess=1 ``` ## What To Expect -A successful change is visible as a saved value, a confirmation, or changed behavior on a related page. Some settings take effect immediately; others require reconnecting, reloading translations, restarting services, or watching the status page. +Access-rule changes take effect immediately when a switch is changed. After changing the username or password, the HTTP server's cached administrator identity is reset. A browser may continue sending cached BASIC credentials until its authentication cache is cleared or the browser session is closed. ## Related Pages -- `ConfigAccountList_p.html` +- `Status.html` diff --git a/help/ConfigLanguage_p.md b/help/ConfigLanguage_p.md index 21d065e33..89081ad87 100644 --- a/help/ConfigLanguage_p.md +++ b/help/ConfigLanguage_p.md @@ -73,7 +73,3 @@ GET /ConfigLanguage_p.html?language=...&url=...&use_button=...&delete=...&use_la ## What To Expect A successful change is visible as a saved value, a confirmation, or changed behavior on a related page. Some settings take effect immediately; others require reconnecting, reloading translations, restarting services, or watching the status page. - -## Related Pages - -- `Translator_p.html` diff --git a/help/ConfigProfile_p.md b/help/ConfigProfile_p.md index 5a06e1d00..300f7399f 100644 --- a/help/ConfigProfile_p.md +++ b/help/ConfigProfile_p.md @@ -90,4 +90,4 @@ A successful change is visible as a saved value, a confirmation, or changed beha - `ViewProfile.html` - `Supporter.html` -- `WikiHelp.html` +- `WikiCodeHelp.html` diff --git a/help/ConfigRobotsTxt_p.md b/help/ConfigRobotsTxt_p.md index d976fea55..04678f39b 100644 --- a/help/ConfigRobotsTxt_p.md +++ b/help/ConfigRobotsTxt_p.md @@ -33,8 +33,6 @@ Configuration pages usually contain persistent settings. A visible form writes v | `network` | Network pages. | Network pages | | `surftips` | Surftips. | Surftips | | `news` | News pages. | News pages | -| `blog` | Blog. | Blog | -| `wiki` | Wiki. | Wiki | | `bookmarks` | Public bookmarks. | Public bookmarks | | `homepage` | Home Page. | Home Page | | `fileshare` | File Share. | File Share | @@ -70,8 +68,6 @@ The table explains values that an agent or script must set deliberately. Paramet | `network` | Network pages. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | | `surftips` | Surftips. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | | `news` | News pages. | Changes stored data, configuration, or a running job. Use the authenticated action flow where required and verify the result. | -| `blog` | Blog. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `wiki` | Wiki. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | | `bookmarks` | Public bookmarks. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | | `homepage` | Home Page. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | | `fileshare` | File Share. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | diff --git a/help/ConfigUser_p.md b/help/ConfigUser_p.md deleted file mode 100644 index 877c63d7c..000000000 --- a/help/ConfigUser_p.md +++ /dev/null @@ -1,97 +0,0 @@ ---- -page: htroot/ConfigUser_p.html -help: help/ConfigUser_p.md -title: User Editor -package: configuration-administration -access: admin -kind: admin-page -backend_java: source/net/yacy/htroot/ConfigUser_p.java ---- - -# User Editor - -## Purpose - -User Editor changes one account. - -Use it to create or repair a named user without changing unrelated access settings. - -## What You Can Do Here - -- User Editor changes one account. -- Read the current value before changing it. -- Verify the effect on the public page, status page, or related administration page. - -## Page Architecture - -Configuration pages usually contain persistent settings. A visible form writes values into YaCy configuration, while the backend may reload subsystems such as language files, network listeners, cache handling, or search presentation. - -| Control | Meaning | Values or examples | -| --- | --- | --- | -| `username` | Username. | Checkbox/boolean; present usually means enabled. | -| `password` | Password. | Text value; use the page label and surrounding context to choose the exact content. | -| `password2` | Repeat password. | Text value; use the page label and surrounding context to choose the exact content. | -| `firstname` | First name. | Text value; use the page label and surrounding context to choose the exact content. | -| `lastname` | Last name. | Text value; use the page label and surrounding context to choose the exact content. | -| `address` | Address. | Text value; use the page label and surrounding context to choose the exact content. | -| `#[name]#` | right. | right | -| `timelimit` | Timelimit. | Text value; use the page label and surrounding context to choose the exact content. | -| `timeused` | Time used. | Text value; use the page label and surrounding context to choose the exact content. | -| `change` | Username. | `Save User` | -| `delete` | Deletes the selected object or scope. Use only with explicit confirmation. | `Delete User` | -| `cancel` | Username. | `ConfigAccountList_p.html` | - -## Correct Use - -Read the current value before changing it. Configuration changes often persist beyond the current request and may affect later crawling, search, network contact, authentication, or resource use. Change one operational idea at a time and verify the result. - -## Access And Safety - -Administrator access is required. YaCy protects `_p` pages as administration pages. - -Protected related endpoint(s): `/ConfigUser_p.html`. - -## Automation And API - -Page backend: `source/net/yacy/htroot/ConfigUser_p.java`. - -| Endpoint | Method | Access | Backend | -| --- | --- | --- | --- | -| `/ConfigUser_p.html` | `POST` | admin | `source/net/yacy/htroot/ConfigUser_p.java` | - -### Parameter Guide - -The table explains values that an agent or script must set deliberately. Parameters not relevant to a task should be omitted or left at the page default. - -| Parameter | Meaning and valid values | Care | -| --- | --- | --- | -| `username` | Username. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `password` | Password. | Can remove data, stop work, expose access, or make a broad operational change. Use only with explicit confirmation and an exact target. | -| `password2` | Repeat password. | Can remove data, stop work, expose access, or make a broad operational change. Use only with explicit confirmation and an exact target. | -| `firstname` | First name. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `lastname` | Last name. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `address` | Address. | Changes stored data, configuration, or a running job. Use the authenticated action flow where required and verify the result. | -| `#[name]#` | right. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `timelimit` | Timelimit. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `timeused` | Time used. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `change` | Username. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `delete` | Deletes the selected URL, path, or index scope. Confirm the scope first. | Can remove data, stop work, expose access, or make a broad operational change. Use only with explicit confirmation and an exact target. | -| `cancel` | Username. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `user` | User or account value. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | - -Example request shape: - -```http -POST /ConfigUser_p.html -Content-Type: application/x-www-form-urlencoded - -username=...&password=...&password2=...&firstname=...&lastname=... -``` - -## What To Expect - -A successful change is visible as a saved value, a confirmation, or changed behavior on a related page. Some settings take effect immediately; others require reconnecting, reloading translations, restarting services, or watching the status page. - -## Related Pages - -- Related configuration work is usually reached from `ConfigBasic.html`, `Settings_p.html`, or the adjacent configuration page in the administration menu. diff --git a/help/DictionaryLoader_p.md b/help/DictionaryLoader_p.md index c2b6a6a81..a9551dd4d 100644 --- a/help/DictionaryLoader_p.md +++ b/help/DictionaryLoader_p.md @@ -24,7 +24,7 @@ Use it when vocabulary data should support search, classification, or local know ## Page Architecture -Content application pages store and render peer-local objects such as bookmarks, messages, wiki text, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. +Content application pages store and render peer-local objects such as bookmarks, messages, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. | Control | Meaning | Values or examples | | --- | --- | --- | diff --git a/help/MessageSend_p.md b/help/MessageSend_p.md index fd15ab6e0..adb3e790f 100644 --- a/help/MessageSend_p.md +++ b/help/MessageSend_p.md @@ -24,7 +24,7 @@ Use it to contact another peer or user when messaging is enabled. ## Page Architecture -Content application pages store and render peer-local objects such as bookmarks, messages, wiki text, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. +Content application pages store and render peer-local objects such as bookmarks, messages, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. | Control | Meaning | Values or examples | | --- | --- | --- | @@ -80,5 +80,5 @@ Expect stored or rendered content: a message, page, table row, bookmark, profile ## Related Pages -- `WikiHelp.html` +- `WikiCodeHelp.html` - `Network.html` diff --git a/help/Messages_p.md b/help/Messages_p.md index 4f59603d8..f8447137d 100644 --- a/help/Messages_p.md +++ b/help/Messages_p.md @@ -24,7 +24,7 @@ Use it to read, manage, or inspect peer communication. ## Page Architecture -Content application pages store and render peer-local objects such as bookmarks, messages, wiki text, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. +Content application pages store and render peer-local objects such as bookmarks, messages, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. | Control | Meaning | Values or examples | | --- | --- | --- | diff --git a/help/Network.md b/help/Network.md index 9d70e2498..b52e2c7e1 100644 --- a/help/Network.md +++ b/help/Network.md @@ -14,6 +14,8 @@ backend_java: source/net/yacy/htroot/Network.java YaCy Search Network shows known peers and network state. +Peer rows no longer expose links to the retired peer-local Blog or Wiki applications, and their former update announcements are not displayed. + Use it to understand whether this peer is isolated, connected, senior, junior, or participating normally. ## What You Can Do Here diff --git a/help/News.md b/help/News.md index 9153ae8e3..9d8e63a7d 100644 --- a/help/News.md +++ b/help/News.md @@ -14,17 +14,19 @@ backend_java: source/net/yacy/htroot/News.java News Monitor shows YaCy network news and peer events. +Blog and Wiki categories are retired and no longer rendered as linked news entries. + Use it to understand what other peers announced or what the local peer received. ## What You Can Do Here - News Monitor shows YaCy network news and peer events. -- Edit or inspect the specific content object shown on the page. -- Check whether the result is local-only, user-visible, or peer-visible before publishing. +- Inspect incoming, processed, outgoing, and published news queues. +- Process received records, delete archived records, or stop selected outgoing publications. ## Page Architecture -Content application pages store and render peer-local objects such as bookmarks, messages, wiki text, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. +The page renders records from the four peer-news queues. Each record includes its originator, category, timestamps, distribution count, and attributes. | Control | Meaning | Values or examples | | --- | --- | --- | @@ -33,7 +35,7 @@ Content application pages store and render peer-local objects such as bookmarks, ## Correct Use -Edit content deliberately and check the rendered page after saving. For shared or peer-visible features, assume written content may be read by someone else unless the page clearly says otherwise. +Select only the records intended for processing or deletion. Stopping an outgoing publication prevents further distribution but does not retract copies already received by other peers. ## Access And Safety @@ -71,8 +73,4 @@ deletespecific=...&deleteall=...&del_#[id]#=...&page=... ## What To Expect -Expect stored or rendered content: a message, page, table row, bookmark, profile, translation, or file view. After changes, reload or revisit the object to confirm what was actually saved. - -## Related Pages - -- `Translator_p.html` +After an action, reload the selected queue and confirm that the intended records moved, disappeared, or stopped publishing. diff --git a/help/SettingsAck_p.md b/help/SettingsAck_p.md index 3b5134447..20d9224fa 100644 --- a/help/SettingsAck_p.md +++ b/help/SettingsAck_p.md @@ -58,7 +58,7 @@ The table explains values that an agent or script must set deliberately. Paramet | `fileHost` | Host or domain scope. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | | `msgForwardingEnabled` | Enables the named feature. | Changes stored data, configuration, or a running job. Use the authenticated action flow where required and verify the result. | | `port` | HTTP port where YaCy listens. Values below 1024 are ignored by this form; changing the port triggers reconnect/redirect behavior. | Changes stored data, configuration, or a running job. Use the authenticated action flow where required and verify the result. | -| `proxyaccount` | User or account value. | Controls the scope or format of the result. Prefer the narrowest value that answers the request. | +| `proxyaccess` | Saves the proxy client IP-number filter. | Changes proxy access scope; verify the filter before submitting. | | `proxyfilter` | Filter expression. It decides which records are included, excluded, displayed, exported, or processed on this page. | Controls the scope or format of the result. Prefer the narrowest value that answers the request. | | `remoteProxyHost` | Host or domain scope. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | | `remoteProxyUser` | User or account value. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | @@ -68,7 +68,6 @@ The table explains values that an agent or script must set deliberately. Paramet | `urlproxydomains` | Host or domain scope. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | | `urlproxyenabled` | Enables the named feature. | Changes stored data, configuration, or a running job. Use the authenticated action flow where required and verify the result. | | `urlproxyfilter` | Filter expression. It decides which records are included, excluded, displayed, exported, or processed on this page. | Controls the scope or format of the result. Prefer the narrowest value that answers the request. | -| `use_proxyaccounts` | User or account value. | Controls the scope or format of the result. Prefer the narrowest value that answers the request. | Example request shape: diff --git a/help/Surftips.md b/help/Surftips.md index 98e5da4c0..5e7d2cb3d 100644 --- a/help/Surftips.md +++ b/help/Surftips.md @@ -14,6 +14,8 @@ backend_java: source/net/yacy/htroot/Surftips.java Surftips displays shared or suggested links. +Retired Blog and Wiki peer announcements are no longer converted into surftips. + Use it to browse peer-provided recommendations when the feature is enabled. ## What You Can Do Here diff --git a/help/Tables_p.md b/help/Tables_p.md index e3eac4977..8227b4073 100644 --- a/help/Tables_p.md +++ b/help/Tables_p.md @@ -24,7 +24,7 @@ Use it to inspect structured records saved by YaCy features or APIs. ## Page Architecture -Content application pages store and render peer-local objects such as bookmarks, messages, wiki text, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. +Content application pages store and render peer-local objects such as bookmarks, messages, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. | Control | Meaning | Values or examples | | --- | --- | --- | @@ -76,4 +76,4 @@ Expect stored or rendered content: a message, page, table row, bookmark, profile ## Related Pages -- Related content work usually continues on the matching wiki, blog, bookmark, message, table, translation, vocabulary, or file page. +- Related content work usually continues on the matching bookmark, message, table, translation, vocabulary, or file page. diff --git a/help/TransNews_p.md b/help/TransNews_p.md deleted file mode 100644 index d300415a1..000000000 --- a/help/TransNews_p.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -page: htroot/TransNews_p.html -help: help/TransNews_p.md -title: Translation News -package: content-apps -access: admin -kind: admin-page -backend_java: source/net/yacy/htroot/TransNews_p.java ---- - -# Translation News - -## Purpose - -Translation News shows translation-related changes and notices. - -Use it when maintaining or reviewing interface translations. - -## What You Can Do Here - -- Translation News shows translation-related changes and notices. -- Edit or inspect the specific content object shown on the page. -- Check whether the result is local-only, user-visible, or peer-visible before publishing. - -## Page Architecture - -Content application pages store and render peer-local objects such as bookmarks, messages, wiki text, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. - -| Control | Meaning | Values or examples | -| --- | --- | --- | - -## Correct Use - -Edit content deliberately and check the rendered page after saving. For shared or peer-visible features, assume written content may be read by someone else unless the page clearly says otherwise. - -## Access And Safety - -Administrator access is required. YaCy protects `_p` pages as administration pages. - -Protected related endpoint(s): `/TransNews_p.html`. - -## Automation And API - -Page backend: `source/net/yacy/htroot/TransNews_p.java`. - -| Endpoint | Method | Access | Backend | -| --- | --- | --- | --- | -| `/TransNews_p.html` | `POST` | admin | `source/net/yacy/htroot/TransNews_p.java` | - -### Parameter Guide - -The table explains values that an agent or script must set deliberately. Parameters not relevant to a task should be omitted or left at the page default. Low-level generated parameters are omitted when they are only meaningful inside the rendered YaCy form. - -| Parameter | Meaning and valid values | Care | -| --- | --- | --- | - -Example request shape: - -```http -POST /TransNews_p.html -Content-Type: application/x-www-form-urlencoded - -publishtranslation=...&filename=...&source=...&target=...&voteNegative=... -``` - -## What To Expect - -Expect stored or rendered content: a message, page, table row, bookmark, profile, translation, or file view. After changes, reload or revisit the object to confirm what was actually saved. - -## Related Pages - -- `News.html` -- `Translator_p.html` -- `ConfigBasic.html` diff --git a/help/Translator_p.md b/help/Translator_p.md deleted file mode 100644 index b1ca2aa89..000000000 --- a/help/Translator_p.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -page: htroot/Translator_p.html -help: help/Translator_p.md -title: Translation Editor -package: content-apps -access: admin -kind: admin-page -backend_java: source/net/yacy/htroot/Translator_p.java ---- - -# Translation Editor - -## Purpose - -Translation Editor edits YaCy interface translations. - -Use it to improve localized text that users see in the web interface. - -## What You Can Do Here - -- Translation Editor edits YaCy interface translations. -- Edit or inspect the specific content object shown on the page. -- Check whether the result is local-only, user-visible, or peer-visible before publishing. - -## Page Architecture - -Content application pages store and render peer-local objects such as bookmarks, messages, wiki text, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. - -| Control | Meaning | Values or examples | -| --- | --- | --- | -| `sourcefile` | UI Translation. | Text value; use the page label and surrounding context to choose the exact content. | -| `filteruntranslated` | filter untranslated. | `true` = filter untranslated | -| `editapproved` | UI Translation. | Text value; use the page label and surrounding context to choose the exact content. | -| `approve` | UI Translation. | Text value; use the page label and surrounding context to choose the exact content. | -| `savetranslationlist` | UI Translation. | `Save translation` | - -## Correct Use - -Edit content deliberately and check the rendered page after saving. For shared or peer-visible features, assume written content may be read by someone else unless the page clearly says otherwise. - -## Access And Safety - -Administrator access is required. YaCy protects `_p` pages as administration pages. - -Protected related endpoint(s): `/Translator_p.html`. - -Backend checks: transaction token for protected POST, transaction token issued for forms. - -## Automation And API - -Page backend: `source/net/yacy/htroot/Translator_p.java`. - -| Endpoint | Method | Access | Backend | -| --- | --- | --- | --- | -| `/Translator_p.html` | `POST` | admin | `source/net/yacy/htroot/Translator_p.java` | - -### Parameter Guide - -The table explains values that an agent or script must set deliberately. Parameters not relevant to a task should be omitted or left at the page default. Low-level generated parameters are omitted when they are only meaningful inside the rendered YaCy form. - -| Parameter | Meaning and valid values | Care | -| --- | --- | --- | -| `sourcefile` | UI Translation. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `filteruntranslated` | filter untranslated. | Controls the scope or format of the result. Prefer the narrowest value that answers the request. | -| `editapproved` | UI Translation. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `approve` | UI Translation. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `savetranslationlist` | UI Translation. | Changes stored data, configuration, or a running job. Use the authenticated action flow where required and verify the result. | - -Example request shape: - -```http -POST /Translator_p.html -Content-Type: application/x-www-form-urlencoded - -sourcefile=...&filteruntranslated=...&targettxt#[tokenid]#=...&editapproved=...&approve=... -``` - -## What To Expect - -Expect stored or rendered content: a message, page, table row, bookmark, profile, translation, or file view. After changes, reload or revisit the object to confirm what was actually saved. - -## Related Pages - -- `ConfigBasic.html` -- `TransNews_p.html` diff --git a/help/User.md b/help/User.md deleted file mode 100644 index d6148d18b..000000000 --- a/help/User.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -page: htroot/User.html -help: help/User.md -title: User Page -package: configuration-administration -access: public -kind: ui-page -backend_java: source/net/yacy/htroot/User.java ---- - -# User Page - -## Purpose - -User Page is the signed-in user's own view of account-related state. - -Use it to inspect the current session and user-facing account information. - -## What You Can Do Here - -- User Page is the signed-in user's own view of account-related state. -- Read the current value before changing it. -- Verify the effect on the public page, status page, or related administration page. - -## Page Architecture - -Configuration pages usually contain persistent settings. A visible form writes values into YaCy configuration, while the backend may reload subsystems such as language files, network listeners, cache handling, or search presentation. - -| Control | Meaning | Values or examples | -| --- | --- | --- | -| `username` | old Password. | Checkbox/boolean; present usually means enabled. | -| `password` | old Password. | Text value; use the page label and surrounding context to choose the exact content. | -| `logout` | old Password. | `logout` | -| `oldpass` | old Password. | Text value; use the page label and surrounding context to choose the exact content. | -| `newpass` | new Password. | Text value; use the page label and surrounding context to choose the exact content. | -| `newpass2` | new Password(repetition). | Text value; use the page label and surrounding context to choose the exact content. | -| `changepass` | old Password. | `Change` | - -## Correct Use - -Read the current value before changing it. Configuration changes often persist beyond the current request and may affect later crawling, search, network contact, authentication, or resource use. Change one operational idea at a time and verify the result. - -## Access And Safety - -The page is normally public or read-only, unless the peer is configured to require authentication for all pages. - -Backend checks: user authentication. - -## Automation And API - -Page backend: `source/net/yacy/htroot/User.java`. - -| Endpoint | Method | Access | Backend | -| --- | --- | --- | --- | -| `/User.html` | `POST` | public or page-dependent | `source/net/yacy/htroot/User.java` | - -### Parameter Guide - -The table explains values that an agent or script must set deliberately. Parameters not relevant to a task should be omitted or left at the page default. - -| Parameter | Meaning and valid values | Care | -| --- | --- | --- | -| `username` | old Password. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `password` | old Password. | Can remove data, stop work, expose access, or make a broad operational change. Use only with explicit confirmation and an exact target. | -| `logout` | old Password. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `oldpass` | old Password. | Can remove data, stop work, expose access, or make a broad operational change. Use only with explicit confirmation and an exact target. | -| `newpass` | new Password. | Can remove data, stop work, expose access, or make a broad operational change. Use only with explicit confirmation and an exact target. | -| `newpass2` | new Password(repetition). | Can remove data, stop work, expose access, or make a broad operational change. Use only with explicit confirmation and an exact target. | -| `changepass` | old Password. | Can remove data, stop work, expose access, or make a broad operational change. Use only with explicit confirmation and an exact target. | -| `returnto` | old Password. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | - -Example request shape: - -```http -POST /User.html -Content-Type: application/x-www-form-urlencoded - -username=...&password=...&logout=...&oldpass=...&newpass=... -``` - -## What To Expect - -A successful change is visible as a saved value, a confirmation, or changed behavior on a related page. Some settings take effect immediately; others require reconnecting, reloading translations, restarting services, or watching the status page. - -## Related Pages - -- Related configuration work is usually reached from `ConfigBasic.html`, `Settings_p.html`, or the adjacent configuration page in the administration menu. diff --git a/help/VFS.md b/help/VFS.md index cfab89840..3470018c3 100644 --- a/help/VFS.md +++ b/help/VFS.md @@ -24,7 +24,7 @@ Use it to inspect or manage stored file-like content. ## Page Architecture -Content application pages store and render peer-local objects such as bookmarks, messages, wiki text, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. +Content application pages store and render peer-local objects such as bookmarks, messages, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. ## Correct Use @@ -46,4 +46,4 @@ Expect stored or rendered content: a message, page, table row, bookmark, profile ## Related Pages -- Related content work usually continues on the matching wiki, blog, bookmark, message, table, translation, vocabulary, or file page. +- Related content work usually continues on the matching bookmark, message, table, translation, vocabulary, or file page. diff --git a/help/ViewProfile.md b/help/ViewProfile.md index de20e0097..2d30489e8 100644 --- a/help/ViewProfile.md +++ b/help/ViewProfile.md @@ -24,7 +24,7 @@ Use it to understand who operates a peer and what information it publishes. ## Page Architecture -Content application pages store and render peer-local objects such as bookmarks, messages, wiki text, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. +Content application pages store and render peer-local objects such as bookmarks, messages, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. ## Correct Use diff --git a/help/Vocabulary_p.md b/help/Vocabulary_p.md index 795253ada..801360856 100644 --- a/help/Vocabulary_p.md +++ b/help/Vocabulary_p.md @@ -24,7 +24,7 @@ Use it to keep controlled terms that can support structured indexing or search. ## Page Architecture -Content application pages store and render peer-local objects such as bookmarks, messages, wiki text, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. +Content application pages store and render peer-local objects such as bookmarks, messages, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. | Control | Meaning | Values or examples | | --- | --- | --- | @@ -124,4 +124,4 @@ Expect stored or rendered content: a message, page, table row, bookmark, profile ## Related Pages -- Related content work usually continues on the matching wiki, blog, bookmark, message, table, translation, vocabulary, or file page. +- Related content work usually continues on the matching bookmark, message, table, translation, vocabulary, or file page. diff --git a/help/Wiki.md b/help/Wiki.md deleted file mode 100644 index 16468bdce..000000000 --- a/help/Wiki.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -page: htroot/Wiki.html -help: help/Wiki.md -title: Wiki -package: content-apps -access: public -kind: ui-page -backend_java: source/net/yacy/htroot/Wiki.java ---- - -# Wiki - -## Purpose - -Wiki provides editable local documentation pages. - -Use it for notes and knowledge that should live inside the YaCy peer. - -## What You Can Do Here - -- Wiki provides editable local documentation pages. -- Edit or inspect the specific content object shown on the page. -- Check whether the result is local-only, user-visible, or peer-visible before publishing. - -## Page Architecture - -Content application pages store and render peer-local objects such as bookmarks, messages, wiki text, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. - -| Control | Meaning | Values or examples | -| --- | --- | --- | -| `access` | Grant Write Access to. | `all`, `admin` | -| `author` | Author. | Text value; use the page label and surrounding context to choose the exact content. | -| `content` | Text. | Text value; use the page label and surrounding context to choose the exact content. | -| `submit` | Submits the form. | `Submit` | -| `preview` | Author. | `Preview` | -| `view` | Author. | `Discard` | -| `old` | Compare version from. | Text value; use the page label and surrounding context to choose the exact content. | -| `viewold` | Compare version from. | `Show` | -| `new` | with version from. | Text value; use the page label and surrounding context to choose the exact content. | -| `compare` | Compare version from. | `Compare` | - -## Correct Use - -Edit content deliberately and check the rendered page after saving. For shared or peer-visible features, assume written content may be read by someone else unless the page clearly says otherwise. - -## Access And Safety - -The page is normally public or read-only, unless the peer is configured to require authentication for all pages. - -Backend checks: user authentication. - -## Automation And API - -Page backend: `source/net/yacy/htroot/Wiki.java`. - -| Endpoint | Method | Access | Backend | -| --- | --- | --- | --- | -| `/Wiki.html` | `POST` | public or page-dependent | `source/net/yacy/htroot/Wiki.java` | - -### Parameter Guide - -The table explains values that an agent or script must set deliberately. Parameters not relevant to a task should be omitted or left at the page default. - -| Parameter | Meaning and valid values | Care | -| --- | --- | --- | -| `access` | Grant Write Access to. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `author` | Author. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `content` | Text. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `submit` | Submit action for the form. Its meaning depends on the surrounding fields. | Changes stored data, configuration, or a running job. Use the authenticated action flow where required and verify the result. | -| `preview` | Author. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `view` | Author. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `old` | Compare version from. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `viewold` | Compare version from. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `new` | with version from. | Changes stored data, configuration, or a running job. Use the authenticated action flow where required and verify the result. | -| `compare` | Compare version from. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `diff` | Compare version from. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | -| `reason` | Author. | Set only when this option is part of the intended request; otherwise omit it and let YaCy use the page default. | - -Example request shape: - -```http -POST /Wiki.html -Content-Type: application/x-www-form-urlencoded - -access=...&author=...&content=...&submit=...&preview=... -``` - -## What To Expect - -Expect stored or rendered content: a message, page, table row, bookmark, profile, translation, or file view. After changes, reload or revisit the object to confirm what was actually saved. - -## Related Pages - -- `WikiHelp.html` diff --git a/help/WikiCodeHelp.md b/help/WikiCodeHelp.md new file mode 100644 index 000000000..c0d3484a5 --- /dev/null +++ b/help/WikiCodeHelp.md @@ -0,0 +1,51 @@ +--- +page: htroot/WikiCodeHelp.html +help: help/WikiCodeHelp.md +title: WikiCode Help +package: content-apps +access: public +kind: ui-page +backend_java: source/net/yacy/htroot/WikiCodeHelp.java +--- + +# WikiCode Help + +## Purpose + +WikiCode Help documents the formatting still used by messages, profiles, and MediaWiki dump imports. + +Use it when composing content in one of those remaining WikiCode-enabled fields. + +## What You Can Do Here + +- WikiCode Help explains the remaining reusable formatting syntax. +- Compare markup examples with their rendered output. +- Return to the message or profile form where the formatted content is edited. + +## Page Architecture + +This is a read-only syntax reference. The local Wiki application and its page store have been retired. + +## Correct Use + +Use this page as a syntax reference. Editing and saving happen in the calling message or profile page, not in this help page. + +## Access And Safety + +The page is normally public or read-only, unless the peer is configured to require authentication for all pages. + +## Automation And API + +Page backend: `source/net/yacy/htroot/WikiCodeHelp.java`. + +No request parameters are needed for normal use of this page. + +## What To Expect + +Expect a static table of supported WikiCode constructs and their rendered forms. No content is stored by this page. + +## Related Pages + +- `MessageSend_p.html` +- `ConfigProfile_p.html` +- `mediawiki_p.html` diff --git a/help/WikiHelp.md b/help/WikiHelp.md deleted file mode 100644 index 46fef7305..000000000 --- a/help/WikiHelp.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -page: htroot/WikiHelp.html -help: help/WikiHelp.md -title: Wiki Help -package: content-apps -access: public -kind: ui-page -backend_java: source/net/yacy/htroot/WikiHelp.java ---- - -# Wiki Help - -## Purpose - -Wiki Help explains the local wiki feature. - -Use it before editing wiki content or explaining wiki syntax to users. - -## What You Can Do Here - -- Wiki Help explains the local wiki feature. -- Edit or inspect the specific content object shown on the page. -- Check whether the result is local-only, user-visible, or peer-visible before publishing. - -## Page Architecture - -Content application pages store and render peer-local objects such as bookmarks, messages, wiki text, tables, profiles, or translations. They combine form editing with a rendered view of the stored object. - -## Correct Use - -Edit content deliberately and check the rendered page after saving. For shared or peer-visible features, assume written content may be read by someone else unless the page clearly says otherwise. - -## Access And Safety - -The page is normally public or read-only, unless the peer is configured to require authentication for all pages. - -## Automation And API - -Page backend: `source/net/yacy/htroot/WikiHelp.java`. - -No request parameters are needed for normal use of this page. - -## What To Expect - -Expect stored or rendered content: a message, page, table row, bookmark, profile, translation, or file view. After changes, reload or revisit the object to confirm what was actually saved. - -## Related Pages - -- Related content work usually continues on the matching wiki, blog, bookmark, message, table, translation, vocabulary, or file page. diff --git a/help/index.md b/help/index.md index 0c9494ace..c56117b8f 100644 --- a/help/index.md +++ b/help/index.md @@ -48,7 +48,7 @@ The page may be visible, but the backend performs authentication checks for prot Protected related endpoint(s): `/yacysearch.html`, `/index.html`. -Backend checks: administrator authentication, user authentication. +Backend checks: built-in administrator authentication for protected search features. ## Automation And API diff --git a/help/yacysearch.md b/help/yacysearch.md index 36181f950..e3cfbf480 100644 --- a/help/yacysearch.md +++ b/help/yacysearch.md @@ -44,7 +44,7 @@ The page may be visible, but the backend performs authentication checks for prot Protected related endpoint(s): `/yacysearch.html`. -Backend checks: administrator authentication, user authentication. +Backend checks: built-in administrator authentication for protected search features and all state-changing result actions. ## Automation And API diff --git a/help/yacysearchitem.md b/help/yacysearchitem.md index ef699641e..3cd4762dd 100644 --- a/help/yacysearchitem.md +++ b/help/yacysearchitem.md @@ -36,7 +36,7 @@ The page may be visible, but the backend performs authentication checks for prot Protected related endpoint(s): `/yacysearchitem.html`. -Backend checks: administrator authentication, user authentication, viewing rights. +Backend checks: built-in administrator authentication for protected actions and full media viewing rights. ## Automation And API diff --git a/help/yacysearchtrailer.md b/help/yacysearchtrailer.md index 0d915e57e..881c1ebe3 100644 --- a/help/yacysearchtrailer.md +++ b/help/yacysearchtrailer.md @@ -42,7 +42,7 @@ The page may be visible, but the backend performs authentication checks for prot Protected related endpoint(s): `/yacysearch.html`, `/yacysearchtrailer.html`. -Backend checks: administrator authentication, user authentication. +Backend checks: built-in administrator authentication for authentication-aware search links. ## Automation And API diff --git a/htroot/Blog.html b/htroot/Blog.html deleted file mode 100644 index baae0ff90..000000000 --- a/htroot/Blog.html +++ /dev/null @@ -1,166 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>YaCy '#[clientname]#': Blog</title>
- #%env/templates/metas.template%#
- <link rel="alternate" type="application/rss+xml" title="RSS" href="Blog.rss" />
- </head>
- <body id="Blog">
- #(display)#
- #%env/templates/simpleheader.template%#
- #%env/templates/submenuPublication.template%#
- ::
- #%env/templates/header.template%#
- #%env/templates/submenuPublication.template%#
- ::
- #%env/templates/embeddedheader.template%#
- #(/display)#
- #(mode)#
- <!-- 0: viewing -->
- #{entries}#
- <div class="Post">
- <h2 class="PostSubject"><a href="BlogComments.html?page=#[pageid]#">#[subject]#</a></h2>
- <div class="PostBody">#[page]#</div>
- <p class="PostInfo">
- #[date]# | by #[author]# #(commentsactive)#::| <a href="BlogComments.html?page=#[pageid]#">#[comments]# Comments</a>#(/commentsactive)#
- #(admin)#::| <a href="Blog.html?page=#[pageid]#&edit=true">edit</a>
- - <a href="Blog.html?page=#[pageid]#&delete=try">delete</a>#(/admin)#
- </p>
- </div>
- #{/entries}#
- <div class="BlogCommentPrevNext">
- <p>
- #(preventries)#
- << previous entries
- ::
- <a href="Blog.html?start=#[start]#&num=#[num]#"><< previous entries</a>
- #(/preventries)#
-
- #(moreentries)#
- next entries >>
- ::
- <a href="Blog.html?start=#[start]#&num=#[num]#">next entries >></a>
- #(/moreentries)#
- </p>
- </div>
- <p class="Navigation">
- #(admin)#<a href="Blog.html?login=true">Login</a> - ::<a href="Blog.html?edit=true">new entry</a> - <a href="Blog.html?import=xml">import XML-File</a> - <a href="Blog.xml?xml=1">export as XML</a> - #(/admin)#<a href="Blog.html">Blog-Home</a>
- </p>
- ::
- <!-- 1: edit -->
- <h2>Edit</h2>
- <form action="Blog.html" method="post" enctype="multipart/form-data" accept-charset="UTF-8">
- <fieldset>
- <dl>
- <dt><label for="author">Author:</label></dt>
- <dd>
- <input name="author" id="author" type="text" size="20" maxlength="80" value="#[author]#" />
- </dd>
- <dt><label for="subject">Subject:</label></dt>
- <dd>
- <input name="subject" id="subject" type="text" size="80" maxlength="80" value="#[subject]#" />
- </dd>
- <dt><label for="content">Text:</label></dt>
- <dd>
- <textarea name="content" id="content" cols="80" rows="24">#[page-code]#</textarea>
- <p class="help">
- You can use <a href="WikiHelp.html" onclick="window.open('WikiHelp.html','WikiHelp','toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=640,height=480');return false;">Yacy-Wiki Code</a> here.
- </p>
- </dd>
- <dt><label for="commentMode">Comments:</label></dt>
- <dd>
- <select name="commentMode" id="commentMode">
- <option value="0" #(commentMode)#selected="selected"::#(/commentMode)#>deactivated</option>
- <option value="1" #(commentMode)#::selected="selected"#(/commentMode)#>activated</option>
- <option value="2" #(commentMode)#::::selected="selected"#(/commentMode)#>moderated</option>
- </select>
- </dd>
- </dl>
- <input type="hidden" name="page" value="#[pageid]#" />
- <input type="submit" name="submit" class="btn btn-primary" value="Submit" />
- <input type="submit" name="preview" class="btn btn-default" value="Preview" />
- <input type="submit" name="discard" class="btn btn-danger" value="Discard" />
- </fieldset>
- </form>
- ::
- <!-- 2: preview -->
- <h2>Preview</h2>
- <p>No changes have been submitted so far!</p>
- <div class="Post">
- <h2 class="PostSubject">#[subject]#</h2>
- <div class="PostBody">#[page]#</div>
- <p class="PostInfo">#[date]# | by #[author]#</p>
- </div>
- <form action="Blog.html" method="post" enctype="multipart/form-data" accept-charset="UTF-8">
- <fieldset>
- <dl>
- <dt><label for="author">Author:</label></dt>
- <dd>
- <input name="author" id="author" type="text" size="20" maxlength="80" value="#[author]#" />
- </dd>
- <dt><label for="subject">Subject:</label></dt>
- <dd>
- <input name="subject" id="subject" type="text" size="20" maxlength="80" value="#[subject]#" />
- </dd>
- <dt>
- <label for="content">Text:</label>
- </dt>
- <dd>
- <textarea name="content" id="content" cols="80" rows="24">#[page-code]#</textarea>
- <p class="help">
- You can use <a href="WikiHelp.html" onclick="window.open('WikiHelp.html','WikiHelp','toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=640,height=480');return false;">Yacy-Wiki Code</a> here.
- </p>
- </dd>
- <dt><label for="commentMode">Comments:</label></dt>
- <dd>
- <select name="commentMode" id="commentMode">
- <option value="0" #(commentMode)#selected="selected"::#(/commentMode)#>deactivated</option>
- <option value="1" #(commentMode)#::selected="selected"#(/commentMode)#>activated</option>
- <option value="2" #(commentMode)#::::selected="selected"#(/commentMode)#>moderated</option>
- </select>
- </dd>
- </dl>
- <input type="hidden" name="page" value="#[pageid]#" />
- <input type="submit" name="submit" class="btn btn-primary" value="Submit" />
- <input type="submit" name="preview" class="btn btn-default" value="Preview" />
- <input type="submit" name="discard" class="btn btn-danger" value="Discard" />
- </fieldset>
- </form>
- ::
- <!-- 3: Access Denied (no rights) -->
- <h3>Access denied</h3>
- <p>To edit or create blog-entries you need to be logged in as Admin or User who has Blog rights.</p>
- ::
- <!-- 4: Delete Confirmation -->
- <h3>Are you sure...</h3>
- <p>... that you want to delete <strong>#[subject]#</strong> by <span class="tt">#[author]#</span>?</p>
- <fieldset><legend>Confirm deletion</legend>
- <form action="Blog.html" method="post" enctype="multipart/form-data" accept-charset="UTF-8">
- <input type="hidden" name="delete" value="sure" />
- <input type="hidden" name="page" value="#[pageid]#" />
- <input type="submit" class="btn btn-danger" value="Yes, delete it." />
- </form>
- <form action="Blog.html" method="post" enctype="multipart/form-data" accept-charset="UTF-8">
- <input type="submit" class="btn btn-primary" value="No, leave it." />
- </form>
- </fieldset>
- ::
- <!-- 5: XML-Import -->
- <h3>XML-Import</h3>
- #(state)#
- ::
- <p>Import was successful!</p>
- ::
- <p>Import failed, maybe the supplied file was no valid blog-backup?</p>
- #(/state)#
- <p>Please select the XML-file you want to import:</p>
- <form action="Blog.html" method="post" enctype="multipart/form-data" accept-charset="UTF-8">
- <fieldset>
- <input type="file" size="50" name="xmlfile" />
- <input type="submit" name="importxml" class="btn btn-primary" value="Import" />
- </fieldset>
- </form>
- #(/mode)#
- #%env/templates/footer.template%#
- </body>
-</html>
diff --git a/htroot/Blog.rss b/htroot/Blog.rss deleted file mode 100644 index bec8fbc64..000000000 --- a/htroot/Blog.rss +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<rss version="2.0">
-<channel>
- <title><![CDATA[YaCy '#[clientname]#': Blog]]></title>
- <link>#[context]#/Blog.html</link>
- <image>
- <url>#[context]#/env/grafics/YaCyLogo_60ppi.png</url>
- <title>YaCy</title>
- <link>#[context]#/</link>
- </image>
-
- #(mode)# #{entries}#<item>
- <author><![CDATA[#[author]#]]></author>
- <title><![CDATA[#[subject]#]]></title>
- <link>#[context]#/Blog.html?page=#[pageid]#</link>
- <pubDate>#[rfc822date]#</pubDate>
- <guid>#[pageid]#</guid>
- <description><![CDATA[
-#[page]#]]></description>
- #(commentsactive)#::<comments>#[context]#/BlogComments.html?page=#[pageid]#</comments>#(/commentsactive)#
- </item>#{/entries}# #(/mode)#
-</channel>
-</rss>
\ No newline at end of file diff --git a/htroot/Blog.xml b/htroot/Blog.xml deleted file mode 100644 index 56d758918..000000000 --- a/htroot/Blog.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<blog>
- #(mode)#
- #{entries}#
- <item>
- <id>#[pageid]#</id>
- <timestamp>#[timestamp]#</timestamp>
- <ip>#[ip]#</ip>
- <author><![CDATA[#[author]#]]></author>
- <subject><![CDATA[#[subject]#]]></subject>
- <content><![CDATA[#[page]#]]></content>
- </item>
- #{/entries}#
- #(/mode)#
-</blog>
\ No newline at end of file diff --git a/htroot/BlogComments.html b/htroot/BlogComments.html deleted file mode 100644 index 42b8d1e4d..000000000 --- a/htroot/BlogComments.html +++ /dev/null @@ -1,122 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>YaCy '#[clientname]#': Blog</title>
- #%env/templates/metas.template%#
- </head>
- <body id="Blog">
- #%env/templates/header.template%#
- #(mode)#
- <!-- 0: viewing -->
- <div class="Post">
- <h2 class="PostSubject"><a href="BlogComments.html?page=#[pageid]#">#[subject]#</a></h2>
- <div class="PostBody">#[page]#</div>
- <p class="PostInfo">
- #[date]# | by #[author]# | <a href="BlogComments.html?page=#[pageid]#">#[comments]# Comments</a>
- </p>
- </div>
- <p class="Navigation">
- #(admin)#<a href="Blog.html?login=true">Login</a> - ::#(/admin)#<a href="Blog.html">Blog-Home</a>
- </p>
- <h3>Comments:</h3>
- #{entries}#
- <div class="BlogCommentPost">
- <h2 class="PostSubject">#[subject]#</h2>
- <div class="PostBody">#[page]#</div>
- <p class="PostInfo">
- #[date]# | by #[author]#
- #(admin)#::| <a href="BlogComments.html?page=#[pageid]#&comment=#[commentid]#&delete=try">delete</a> #(moderate)#::| <a href="BlogComments.html?page=#[pageid]#&comment=#[commentid]#&allow=try">allow</a>#(/moderate)##(/admin)#
- </p>
- </div>
- #{/entries}#
- <div class="BlogCommentPrevNext">
- <p>
- #(preventries)#
- << previous entries
- ::
- <a href="BlogComments.html?page=#[pageid]#&start=#[start]#&num=#[num]#"><< previous entries</a>
- #(/preventries)#
-
- #(moreentries)#
- next entries >>
- ::
- <a href="BlogComments.html?page=#[pageid]#&start=#[start]#&num=#[num]#">next entries >></a>
- #(/moreentries)#
- </p>
- </div>
- #(allow)#
- <fieldset>
- <p>Comments are not allowed for this posting!</p>
- </fieldset>
- ::
- <h2>Comment on this Blog</h2>
- <form action="BlogComments.html" method="post" enctype="multipart/form-data" accept-charset="UTF-8">
- <fieldset>
- <dl>
- <dt><label for="author">Author:</label></dt>
- <dd>
- <input name="author" id="author" type="text" size="80" maxlength="80" value="#[author]#" />
- </dd>
- <dt><label for="subject">Subject:</label></dt>
- <dd>
- <input name="subject" id="subject" type="text" size="80" maxlength="80" value="" />
- </dd>
- <dt><label for="content">Text:</label></dt>
- <dd>
- <textarea name="content" id="content" cols="80" rows="12"></textarea>
- <p class="help">
- You can use <a href="WikiHelp.html" onclick="window.open('WikiHelp.html','WikiHelp','toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=640,height=480');return false;">Yacy-Wiki Code</a> here.
- </p>
- </dd>
- </dl>
- <input type="hidden" name="page" value="#[pageid]#" />
- <input type="submit" name="submit" class="btn btn-primary" value="Submit" />
- <input type="submit" name="preview" class="btn btn-default" value="Preview" />
- <input type="submit" name="view" class="btn btn-danger" value="Discard" />
- </fieldset>
- </form>
- #(/allow)#
- ::
- <!-- 1: preview -->
- <div class="Post">
- <h2 class="PostSubject"><a href="Blog.html?page=#[pageid]#">#[subject]#</a></h2>
- <div class="PostBody">#[page]#</div>
- <p class="PostInfo">
- #[date]# | by #[author]#
- </p>
- </div>
- <p class="Navigation">
- #(admin)#<a href="Blog.html?login=true">Login</a> - ::<a href="Blog.html?edit=true">new entry</a> - <a href="Blog.html?import=xml">import XML-File</a> - <a href="Blog.xml?xml=1">export as XML</a> - #(/admin)#<a href="Blog.html">Blog-Home</a>
- </p>
- <form action="BlogComments.html" method="post" enctype="multipart/form-data" accept-charset="UTF-8">
- <fieldset>
- <dl>
- <dt><label for="author">Author:</label></dt>
- <dd>
- <input name="author" id="author" type="text" size="80" maxlength="80" value="#[author]#" />
- </dd>
- <dt><label for="subject">Subject:</label></dt>
- <dd>
- <input name="subject" id="subject" type="text" size="80" maxlength="80" value="#[subject]#" />
- </dd>
- <dt><label for="content">Text:</label></dt>
- <dd>
- <textarea name="content" id="content" cols="80" rows="12">#[page-code]#</textarea>
- <p class="help">
- You can use <a href="WikiHelp.html" onclick="window.open('WikiHelp.html','WikiHelp','toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=640,height=480');return false;">Yacy-Wiki Code</a> here.
- </p>
- </dd>
- </dl>
- <input type="hidden" name="page" value="#[pageid]#" />
- <!-- <input type="text" name="page" value="#[pageid]#" /> -->
- <input type="submit" name="submit" class="btn btn-primary" value="Submit" />
- <input type="submit" name="preview" class="btn btn-default" value="Preview" />
- <input type="submit" name="view" class="btn btn-danger" value="Discard" />
- </fieldset>
- </form>
-
- #(/mode)#
-
- #%env/templates/footer.template%#
- </body>
-</html>
diff --git a/htroot/ConfigAccountList_p.html b/htroot/ConfigAccountList_p.html deleted file mode 100644 index 036a56502..000000000 --- a/htroot/ConfigAccountList_p.html +++ /dev/null @@ -1,29 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <title>YaCy '#[clientname]#': User Accounts</title> - #%env/templates/metas.template%# - <script type="text/javascript" src="js/sorttable.js"></script> - </head> -<body> - #%env/templates/header.template%# - #%env/templates/submenuUseCaseAccount.template%# - <h2>User List</h2> - - <fieldset><legend>User Accounts</legend> - <table class="sortable"> - <tr class="TableHeader"> - <th>User</th><th>First name</th><th>Last name</th><th>Address</th><th>Last Access</th><th>Rights</th><th>Time</th><th>Traffic</th> - </tr> - #{userlist}# - <tr> - <td><a href="ConfigUser_p.html?user=#[username]#">#[username]#</a></td><td>#[firstname]#</td><td>#[lastname]#</td><td>#[address]#</td><td>#[lastaccess]#</td><td>#[rights]#</td><td>#[time]#</td><td>#[traffic]#</td> - </tr> - #{/userlist}# - </table> - - </fieldset> - -#%env/templates/footer.template%# -</body> -</html> diff --git a/htroot/ConfigAccounts_p.html b/htroot/ConfigAccounts_p.html index c16e5db50..8b70837f0 100644 --- a/htroot/ConfigAccounts_p.html +++ b/htroot/ConfigAccounts_p.html @@ -1,142 +1,83 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> - <title>YaCy '#[clientname]#': User Accounts</title> + <title>YaCy '#[clientname]#': Admin Account</title> #%env/templates/metas.template%# </head> <body> #%env/templates/header.template%# #%env/templates/submenuUseCaseAccount.template%# - <h2>User Administration</h2> + <h2>Admin Account</h2> - <!-- Page 1: Results --> - #(text)# - :: - <p>User created: #[username]#</p> - :: - <p>User changed: #[username]#</p> - #(/text)# #(error)# :: - <p class="error">Generic error.</p> + <p class="error">Invalid administrator settings.</p> :: <p class="error">Passwords do not match.</p> :: - <p class="error">Username too short. Username must be >= 4 Characters.</p> + <p class="error">Administrator username is required.</p> :: - <p class="error">Username already used (not allowed).</p> + <p class="error">Administrator password is required.</p> #(/error)# - #(changedfltpw)#:: - <div class="alert alert-danger" role="alert"> - <b>WARNING</b> This YaCy instance can be administered with the account "admin" and the default password "yacy". - Change the password as soon as possible! - </div> - #(/changedfltpw)# <fieldset><legend>Admin Account</legend> + #(changedfltpw)#:: + <div class="alert alert-danger" role="alert"> + <b>Default administrator password is active.</b> + This YaCy instance can still be administered with the username "admin" and the default password "yacy". Replace these credentials using the form directly below. + </div> + #(/changedfltpw)# + <p> + These credentials are used for remote administration and whenever administrative access from localhost without authentication is disabled. + </p> <form action="ConfigAccounts_p.html" method="post" accept-charset="UTF-8"> - <input type="hidden" name="transactionToken" value="#[transactionToken]#"/> - <fieldset> - <legend> - <input type="radio" name="access" id="access_localhost" value="localhost"#(localhost.checked)#:: checked="checked"#(/localhost.checked)# /> - <label for="access_localhost">Access from localhost without account</label> - </legend> - Access to your peer from your own computer (localhost access) is granted with administrator rights. No need to configure an administration account. - <div class="alert alert-warning" role="alert"> - This setting is convenient but less secure than using a qualified admin account. - Please use with care, notably when you browse untrusted and potentially malicious websites while running your YaCy peer on the same computer. - </div> - </fieldset> - - <fieldset> - <legend> - <input type="radio" name="access" id="access_account" value="account"#(account.checked)#:: checked="checked"#(/account.checked)# /> - <label for="access_account">Access only with qualified account</label> - </legend> - This is required if you want a remote access to your peer, but it also hardens access controls on administration operations of your peer. - <dl class="userConfig"> - <dt><label for="adminuser">Peer User:</label></dt> - <dd><input type="text" name="adminuser" id="adminuser" value="#[defaultUser]#" size="16" maxlength="32" onFocus="document.getElementById('access_account').checked = true;"/></dd> - <dt><label for="adminpw1">New Peer Password:</label></dt> - <dd><input type="password" name="adminpw1" id="adminpw1" value="" size="16" maxlength="1024" onFocus="document.getElementById('access_account').checked = true;"/></dd> - <dt><label for="adminpw2">Repeat Peer Password:</label></dt> - <dd><input type="password" name="adminpw2" id="adminpw2" value="" size="16" maxlength="1024" onFocus="document.getElementById('access_account').checked = true;"/></dd> - <dt></dt> - <dd><input type="submit" name="setAdmin" value="Define Administrator" class="btn btn-primary"/></dd> - </dl> - </fieldset> + <input type="hidden" name="transactionToken" value="#[transactionToken]#"/> + <dl class="userConfig"> + <dt><label for="adminuser">Administrator Username:</label></dt> + <dd><input type="text" name="adminuser" id="adminuser" value="#[defaultUser]#" size="16" maxlength="32"/></dd> + <dt><label for="adminpw1">New Administrator Password:</label></dt> + <dd><input type="password" name="adminpw1" id="adminpw1" value="" size="16" maxlength="1024"/></dd> + <dt><label for="adminpw2">Repeat Administrator Password:</label></dt> + <dd><input type="password" name="adminpw2" id="adminpw2" value="" size="16" maxlength="1024"/></dd> + <dt></dt> + <dd><input type="submit" name="setAdmin" value="Change Administrator Credentials" class="btn btn-primary"/></dd> + <dt></dt> + <dd> + <p class="alert alert-info" role="note"> + If you need to reset the administrator password from the console, run bin/passwd.sh from the YaCy installation directory. + </p> + </dd> + </dl> </form> </fieldset> <fieldset><legend>Access Rules</legend> <form action="ConfigAccounts_p.html" method="post" accept-charset="UTF-8"> - <input type="hidden" name="transactionToken" value="#[transactionToken]#"/> - <dl class="userConfig"> - <dt>Protection of all pages: if set to on, access to all pages need authorization; if off, only pages with "_p" extension are protected.</dt> - <dd><input type="checkbox" name="adminAccountAllPages" data-size="small"#(adminAccountAllPages.checked)#:: checked="checked"#(/adminAccountAllPages.checked)#></dd> - <script>$("[name='adminAccountAllPages']").bootstrapSwitch(); - $("[name='adminAccountAllPages']").bootstrapSwitch('onText', 'ON'); - $("[name='adminAccountAllPages']").bootstrapSwitch('offText', 'OFF');</script> - <dt></dt> - <dd><input type="submit" name="setAccess" value="Set Access Rules" class="btn btn-primary"/></dd> - </dl> + <input type="hidden" name="transactionToken" value="#[transactionToken]#"/> + <input type="hidden" id="accessRuleAction" value="1"/> + <dl class="userConfig"> + <dt><label for="adminAccountForLocalhost">Allow administrative access from localhost without authentication</label></dt> + <dd><input type="checkbox" name="adminAccountForLocalhost" id="adminAccountForLocalhost" data-size="small"#(adminAccountForLocalhost.checked)#:: checked="checked"#(/adminAccountForLocalhost.checked)# /></dd> + <dt></dt> + <dd>When enabled, eligible requests from the same computer receive administrator rights without sending credentials.</dd> + <dt><label for="adminAccountAllPages">Require administrator authorization for all applicable pages</label></dt> + <dd><input type="checkbox" name="adminAccountAllPages" id="adminAccountAllPages" data-size="small"#(adminAccountAllPages.checked)#:: checked="checked"#(/adminAccountAllPages.checked)# /></dd> + <dt></dt> + <dd>When disabled, administration pages whose names contain "_p" remain protected. When enabled, all applicable pages require administrator authorization.</dd> + </dl> + <script type="text/javascript"> + var accessRuleSwitches = $("[name='adminAccountForLocalhost'], [name='adminAccountAllPages']"); + accessRuleSwitches.bootstrapSwitch(); + accessRuleSwitches.bootstrapSwitch('onText', 'ON'); + accessRuleSwitches.bootstrapSwitch('offText', 'OFF'); + accessRuleSwitches.on('switchChange.bootstrapSwitch', function() { + document.getElementById('accessRuleAction').name = this.name === 'adminAccountForLocalhost' ? 'setLocalhostAccess' : 'setAccess'; + this.form.submit(); + }); + </script> </form> </fieldset> - <fieldset><legend>User Accounts</legend> - <form action="ConfigAccounts_p.html" method="post" accept-charset="UTF-8"> - <input type="hidden" name="transactionToken" value="#[transactionToken]#"/> - <fieldset><legend>Select user</legend> - <dl> - <dt><label for="user">Select user</label>:</dt> - <dd> - <select name="user" id="user"> - <option value="newuser">New user</option>#{users}# - <option>#[user]#</option>#{/users}# - </select> or goto user <a href="ConfigAccountList_p.html">account list</a> - </dd> - <dt> </dt> - <dd> - <input type="submit" name="change_user" value="Edit User" class="btn btn-primary"/> - <input type="submit" name="delete_user" value="Delete User" class="btn btn-danger"/> - </dd> - </dl> - </fieldset> - </form> - - <form action="ConfigAccounts_p.html" method="post" accept-charset="UTF-8"> - <input type="hidden" name="transactionToken" value="#[transactionToken]#"/> - <fieldset><legend>Edit current user: #[username]#</legend> - <!-- Hidden(text for debugging): <input type="text" name="current_user" value="#[current_user]#" readonly> --> - <input type="hidden" name="current_user" value="#[current_user]#" /> - <dl> - <dt><label for="username">Username</label>:</dt> - <dd><input type="text" id="username" name="username" value="#[username]#" /></dd> - <dt><label for="password">Password</label>:</dt> - <dd><input type="password" id="password" name="password" /></dd> - <dt><label for="password2">Repeat password</label>:</dt> - <dd><input type="password" id="password2" name="password2" /></dd> - <dt><label for="firstname">First name</label>:</dt> - <dd><input type="text" id="firstname" name="firstname" value="#[firstname]#" /></dd> - <dt><label for="lastname">Last name</label>:</dt> - <dd><input type="text" id="lastname" name="lastname" value="#[lastname]#" /></dd> - <dt><label for="address">Address</label>:</dt> - <dd><input type="text" id="address" name="address" value="#[address]#" /></dd> - <dt>Rights:</dt> - <dd>#{rights}# - <input type="checkbox" id="#[name]#" name="#[name]#"#(set)#:: checked="checked"#(/set)# /><label for="#[name]#">#[friendlyName]# right</label><br /> - #{/rights}#</dd> - <dt><label for="tlimit">Timelimit</label>:</dt> - <dd><input type="text" id="tlimit" name="timelimit" value="#[timelimit]#" /></dd> - <dt><label for="tused">Time used</label>:</dt> - <dd><input type="text" id="tused" name="timeused" value="#[timeused]#" /></dd> - <dt> </dt> - <dd><input type="submit" name="change" value="Save User" class="btn btn-primary"/></dd> - </dl> - </fieldset> - </form> - </fieldset> - #%env/templates/footer.template%# </body> </html> diff --git a/htroot/ConfigLanguage_p.html b/htroot/ConfigLanguage_p.html index d0cca65c6..cee5fa2ec 100644 --- a/htroot/ConfigLanguage_p.html +++ b/htroot/ConfigLanguage_p.html @@ -57,8 +57,7 @@ <p>Make sure that you only download data from trustworthy sources. The new language file
might overwrite existing data if a file of the same name exists already.</p>
</fieldset>
- <p><a href="Translator_p.html">Simple Editor</a> to add untranslated text</p>
- </form>
+ </form> #(status)#
::<p><strong>Unable to get URL: #[url]#</strong></p>
::<p><strong>Error saving the language file.</strong></p>
diff --git a/htroot/ConfigProfile_p.html b/htroot/ConfigProfile_p.html index c08bb85f0..416a9edca 100644 --- a/htroot/ConfigProfile_p.html +++ b/htroot/ConfigProfile_p.html @@ -58,7 +58,7 @@ <dt><label for="comment">Comment</label></dt>
<dd>
<textarea name="comment" id="comment" cols="40" rows="10">#[comment]#</textarea>
- <p class="help">You can use <a href="WikiHelp.html" onclick="window.open('WikiHelp.html','WikiHelp','toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=640,height=480');return false;">Wiki Code</a> here.</p>
+ <p class="help">You can use <a href="WikiCodeHelp.html" onclick="window.open('WikiCodeHelp.html','WikiCodeHelp','toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=640,height=480');return false;">WikiCode formatting</a> here.</p> </dd>
</dl>
<dl>
diff --git a/htroot/ConfigRobotsTxt_p.html b/htroot/ConfigRobotsTxt_p.html index 74b5e7775..06dd0d03c 100644 --- a/htroot/ConfigRobotsTxt_p.html +++ b/htroot/ConfigRobotsTxt_p.html @@ -31,10 +31,6 @@ <dd><input type="checkbox" id="surftips" name="surftips"#(surftips.checked)#:: checked="checked"#(/surftips.checked)# /></dd> <dt><label for="news">News pages</label></dt> <dd><input type="checkbox" id="news" name="news"#(news.checked)#:: checked="checked"#(/news.checked)# /></dd> - <dt><label for="blog">Blog</label></dt> - <dd><input type="checkbox" id="blog" name="blog"#(blog.checked)#:: checked="checked"#(/blog.checked)# /></dd> - <dt><label for="wiki">Wiki</label></dt> - <dd><input type="checkbox" id="wiki" name="wiki"#(wiki.checked)#:: checked="checked"#(/wiki.checked)# /></dd> <dt><label for="bookmarks">Public bookmarks</label></dt> <dd><input type="checkbox" id="bookmarks" name="bookmarks"#(bookmarks.checked)#:: checked="checked"#(/bookmarks.checked)# /></dd> <dt><label for="homepage">Home Page</label></dt> diff --git a/htroot/ConfigUser_p.html b/htroot/ConfigUser_p.html deleted file mode 100644 index e284f984f..000000000 --- a/htroot/ConfigUser_p.html +++ /dev/null @@ -1,67 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <title>YaCy '#[clientname]#': User Editor</title> - #%env/templates/metas.template%# - </head> -<body> - #%env/templates/header.template%# - #%env/templates/submenuUseCaseAccount.template%# - <h2>User Account Editor</h2> - - <!-- Page 1: Results --> - #(text)# - :: - <p>User created: #[username]#</p> - :: - <p>User changed: #[username]#</p> - #(/text)# - #(error)# - :: - <p class="error">Generic error.</p> - :: - <p class="error">Passwords do not match.</p> - :: - <p class="error">Username too short. Username must be >= 4 Characters.</p> - :: - <p class="error">Username already used (not allowed).</p> - #(/error)# - - <form action="ConfigUser_p.html" method="post" accept-charset="UTF-8"> - <fieldset><legend>Edit current user: #[username]#</legend> - <!-- Hidden(text for debugging): <input type="text" name="current_user" value="#[current_user]#" readonly> --> - <input type="hidden" name="current_user" value="#[current_user]#" /> - <dl> - <dt><label for="username">Username</label>:</dt> - <dd><input type="text" id="username" name="username" value="#[username]#" /></dd> - <dt><label for="password">Password</label>:</dt> - <dd><input type="password" id="password" name="password" /></dd> - <dt><label for="password2">Repeat password</label>:</dt> - <dd><input type="password" id="password2" name="password2" /></dd> - <dt><label for="firstname">First name</label>:</dt> - <dd><input type="text" id="firstname" name="firstname" value="#[firstname]#" /></dd> - <dt><label for="lastname">Last name</label>:</dt> - <dd><input type="text" id="lastname" name="lastname" value="#[lastname]#" /></dd> - <dt><label for="address">Address</label>:</dt> - <dd><input type="text" id="address" name="address" value="#[address]#" /></dd> - <dt>Rights:</dt> - <dd> - #{rights}# - <input type="checkbox" id="#[name]#" name="#[name]#"#(set)#:: checked="checked"#(/set)# /><label for="#[name]#">#[friendlyName]# right</label><br /> - #{/rights}# - </dd> - <dt><label for="tlimit">Timelimit</label>:</dt> - <dd><input type="text" id="tlimit" name="timelimit" value="#[timelimit]#" /></dd> - <dt><label for="tused">Time used</label>:</dt> - <dd><input type="text" id="tused" name="timeused" value="#[timeused]#" /></dd> - <dt> </dt> - <dd><input type="submit" name="change" value="Save User" class="btn btn-primary"/> - <input type="submit" name="delete" value="Delete User" class="btn btn-danger"/> - <button name="cancel" class="btn btn-default btn-link" value="ConfigAccountList_p.html">back to user list</button></dd> - </dl> - </fieldset> - </form> - -#%env/templates/footer.template%# -</body> -</html> diff --git a/htroot/MessageSend_p.html b/htroot/MessageSend_p.html index 7334f7ab8..6a8496ff5 100644 --- a/htroot/MessageSend_p.html +++ b/htroot/MessageSend_p.html @@ -38,7 +38,7 @@ <dd>
<textarea name="message" id="message" cols="80" rows="8">#[message]#</textarea>
<p class="help">
- You can use <a href="WikiHelp.html" onclick="window.open('WikiHelp.html','WikiHelp','toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=640,height=480');return false;">Wiki Code</a> here.
+ You can use <a href="WikiCodeHelp.html" onclick="window.open('WikiCodeHelp.html','WikiCodeHelp','toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=640,height=480');return false;">WikiCode formatting</a> here. </p>
</dd>
<dt></dt>
@@ -108,7 +108,7 @@ <dd>
<textarea name="message" id="message" cols="80" rows="8">#[message]#</textarea>
<p class="help">
- You can use <a href="WikiHelp.html" onclick="window.open('WikiHelp.html','WikiHelp','toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=640,height=480');return false;">Wiki Code</a> here.
+ You can use <a href="WikiCodeHelp.html" onclick="window.open('WikiCodeHelp.html','WikiCodeHelp','toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=640,height=480');return false;">WikiCode formatting</a> here. </p>
</dd>
<dt></dt>
diff --git a/htroot/Network.html b/htroot/Network.html index 1523129cb..f6dff525b 100644 --- a/htroot/Network.html +++ b/htroot/Network.html @@ -157,11 +157,7 @@ document.getElementById("apilink").setAttribute("href", "Network.xml?" + window. <td><nobr>
<a href="MessageSend_p.html?hash=#[hash]#" title="Send message to peer #[fullname]#">m</a>
<a href="ViewProfile.html?hash=#[hash]#&display=1" title="View profile of peer #[fullname]#">p</a>
- <a href="goto_p.html?hash=#[hash]#&path=/Wiki.html" title="Read and edit wiki on peer #[fullname]#">w</a>
- <a href="goto_p.html?hash=#[hash]#&path=/Blog.html" title="Browse blog of peer #[fullname]#">b</a>
#(updatedProfile)#::<a href="ViewProfile.html?hash=#[hash]#&display=1"><img src="env/grafics/profile.gif" width="54" height="11" alt="Profile updated" /></a>#(/updatedProfile)#
- #(updatedWiki)#::<a href="http://#[address]#/Wiki.html?page=#[page]#" title="#[page]#"><img src="env/grafics/wiki.gif" width="54" height="11" alt="Wiki updated" /></a>#(/updatedWiki)#
- #(updatedBlog)#::<a href="http://#[address]#/Blog.html?page=#[page]#" title="#[subject]#"><img src="env/grafics/blog.gif" width="54" height="11" alt="Blog updated" /></a>#(/updatedBlog)#
#(isCrawling)#::<a href="#[page]#"><img src="env/grafics/crawl.gif" width="54" height="11" alt="Crawl" /></a>#(/isCrawling)#
</nobr></td>
</tr>
diff --git a/htroot/News.html b/htroot/News.html index d1373e0cf..3f81e278f 100644 --- a/htroot/News.html +++ b/htroot/News.html @@ -43,10 +43,6 @@ 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.
</li>
- <li>
- Publishing of added or modified translation for the user interface. Other peers may include it in their local translation list.
- To publish a translation, use the integrated <a href="Translator_p.html">translation editor</a> to add a translation and publish it afterwards.
- </li>
</ul>
<p>
More news services will follow.
diff --git a/htroot/SearchAccessRate_p.html b/htroot/SearchAccessRate_p.html index d2dff52cc..5186a6505 100644 --- a/htroot/SearchAccessRate_p.html +++ b/htroot/SearchAccessRate_p.html @@ -9,8 +9,7 @@ #%env/templates/submenuAccessTracker.template%#
<h2>Local Search access rate limitations</h2>
<p>
- You can configure here limitations on access rate to this peer search interface by unauthenticated users and users without extended search right
- (see the <a href="ConfigAccounts_p.html">Accounts</a> configuration page for details on users' rights).
+ You can configure here limitations on access rate to this peer search interface by unauthenticated users. </p>
<form action="SearchAccessRate_p.html" method="post"
@@ -22,7 +21,7 @@ <p>
Access rate limitations to this peer search interface.
- When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search is blocked.
+ When an unauthenticated user exceeds a limit, the search is blocked. </p>
<div class="form-group">
@@ -59,7 +58,7 @@ <p>
Access rate limitations to the peer-to-peer search mode.
- When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search scope falls back to only this local peer index.
+ When an unauthenticated user exceeds a limit, the search scope falls back to only this local peer index. </p>
<div class="form-group">
@@ -100,7 +99,7 @@ <p>
Access rate limitations to the peer-to-peer search mode with browser-side JavaScript results resorting enabled
(check the 'Remote results resorting' section in the <a href="ConfigPortal_p.html">Search Portal</a> configuration page).
- When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, results resorting becomes only applicable on demand, server-side.
+ When an unauthenticated user exceeds a limit, results resorting becomes only applicable on demand, server-side. </p>
<div class="form-group">
@@ -140,7 +139,7 @@ <p>
Limitations on snippet loading from remote websites.
- When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the snippets fetch strategy falls back to 'CACHEONLY'
+ When an unauthenticated user exceeds a limit, the snippets fetch strategy falls back to 'CACHEONLY'. (check the default Snippet Fetch Strategy on the <a href="ConfigPortal_p.html">Search Portal</a> configuration page).
</p>
@@ -195,4 +194,4 @@ #%env/templates/footer.template%#
</body>
-</html>
\ No newline at end of file +</html> diff --git a/htroot/Settings_ProxyAccess.inc b/htroot/Settings_ProxyAccess.inc index 90a630a5a..1b41cd5f9 100644 --- a/htroot/Settings_ProxyAccess.inc +++ b/htroot/Settings_ProxyAccess.inc @@ -61,18 +61,15 @@ <p>
<strong>Server Access Restrictions</strong><br />
<br />
- You can restrict the access to this proxy/server using a two-stage security barrier:
+ You can restrict access to this proxy/server with an IP-number filter: </p>
<ul>
<li>define an <em>access domain</em> with a list of granted client IP-numbers or with wildcards</li>
- <li>define an <em>user account</em> with an user:password - pair</li>
</ul>
<p>
- This is the account that restricts access to the proxy function.
- 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.
- The default setting should be right in most cases. If you want, you can also set a proxy account
- so that every proxy user must authenticate first, but this is rather unusual.
+ 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. + The default setting should be right in most cases. </p>
<table border="0" cellspacing="5">
<tr valign="top">
@@ -82,14 +79,7 @@ </td>
</tr>
<tr valign="top">
- <td><label for="accounts">Accounts</label>:</td>
- <td>
- <input name="use_proxyaccounts" id="accounts" type="checkbox" size="16" maxlength="16" value="on"#(use_proxyAccounts)#:: checked="checked"#(/use_proxyAccounts)# />
- Use <a href="ConfigAccounts_p.html">Proxy Accounts</a>
- </td>
- </tr>
- <tr valign="top">
- <td colspan="2"><input class="btn btn-primary btn-sm" type="submit" name="proxyaccount" value="Submit" /></td>
+ <td colspan="2"><input class="btn btn-primary btn-sm" type="submit" name="proxyaccess" value="Submit" /></td> </tr>
</table>
</fieldset>
diff --git a/htroot/TransNews_p.html b/htroot/TransNews_p.html deleted file mode 100644 index 33531238d..000000000 --- a/htroot/TransNews_p.html +++ /dev/null @@ -1,63 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <title>YaCy '#[clientname]#': Translation News</title> - #%env/templates/metas.template%# - </head> - <body> - #%env/templates/header.template%# - #%env/templates/submenuConfig.template%# - <h2 class="yacy">Translation News for Language #[currentlang]#</h2> - - <form method="post" enctype="multipart/form-data"> - <p> - You can share your local addition to translations and distribute it to other peers. - The remote peer can vote on your translation and add it to its own local translation.<br> - (#[transsize]# entries available) <input type="submit" class="btn btn-default" name="publishtranslation" value="Publish"> - <small>You can check your outgoing messages <a href="News.html?page=3">here</a>.</small> - To edit or add local translations you can use <a href="Translator_p.html">Translator_p.html</a>. - </p> - </form> - #(errmsg)#::<p class="error">Please activate a different language <a href='ConfigBasic.html'>here</a></p>#(/errmsg)# - #{results}# - <!-- link begin --> - - <fieldset> - <table> - <tr> - <th>File:</th><th><a href="#[url]#" target="transnewsfile">#[filename]#</a></th><th>Originator</th> - </tr> - <tr> - <td>English:</td><td>#[source]#</td><td></td> - </tr> - #(existing)#:: - <tr> - <td>existing</td><td class="warning">#[target]#</td><td></td> - </tr> - #(/existing)# - <tr> - <td>Translation:</td><td>#[target]#</td><td>#[peername]#</td> - </tr> - - <tr><td><small>score #[score]#</small></td> - <td> - <a href="TransNews_p.html?voteNegative=#[refid]#" title="negative vote"> - <span class="warning glyphicon glyphicon-thumbs-down"></span></a> - - <a href="TransNews_p.html?votePositive=#[refid]#&filename=#[filename]#&source=#[source]#&target=#[target]#" title="positive vote" > - <span class="success glyphicon glyphicon-thumbs-up"></span></a> - <small>Vote on this translation. If you vote positive the translation is added to your local translation list.</small> - </td><td></td> - </tr> - </table> - </fieldset> - - <!-- link end --> - #{/results}# - <p> - <br> - </p> - - #%env/templates/footer.template%# - </body> -</html> diff --git a/htroot/Translator_p.html b/htroot/Translator_p.html deleted file mode 100644 index b8551ba97..000000000 --- a/htroot/Translator_p.html +++ /dev/null @@ -1,53 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" > - <head> - <title>YaCy '#[clientname]#': Translation Editor</title> - #%env/templates/metas.template%# - - </head> - <body id="Translator"> - - #%env/templates/header.template%# - #%env/templates/submenuConfig.template%# - <h2>Translation Editor</h2> - - <p>Translate untranslated text of the user interface (current language). The modified translation file is stored in DATA/LOCALE directory.</p> - <form id="Translation" method="post" action="Translator_p.html" enctype="multipart/form-data" accept-charset="UTF-8"> - <input type="hidden" name="transactionToken" value="#[transactionToken]#"/> - <fieldset> - <legend> - <label>UI Translation</label> - </legend> - <p>Target Language: <b>#[targetlang]#</b></p> #(errmsg)#::<p class="error">activate a different language <a href='ConfigBasic.html'>here</a></p>#(/errmsg)# - <label for="sourcefile">Source File</label> - <select name="sourcefile" onchange="submit();"> - #{filelist}# - <option value="#[filename]#" #(selected)#::selected="selected"#(/selected)#>#[filename]#</option> - #{/filelist}# - </select> <a href="#[sourcefile]#" target="sourcefilewindow" >view it</a> - <label for="filteruntranslated">filter untranslated</label> - <input type="checkbox" name="filteruntranslated" id="filteruntranslated" value="true" onclick="submit();" #(filter.checked)#::checked="checked"#(/filter.checked)# /> - <table> - <tr><th style="border-bottom: solid gray; border-bottom-width: 1px;">Source Text</th> - <th style="border-bottom: solid gray; border-bottom-width: 1px;">Translated Text ( #[targetlang]# )</th></tr> - #{textlist}# - <tr> - <td style="border-bottom: solid gray; border-bottom-width: 1px;" valign="top"> - <!--<input type="text" name="sourcetxt" id="sourcetxt#[tokenid]#" size="80" disabled="true" value="#[sourcetxt]#"/>--> - <label for="targettxt#[tokenid]#" >#[sourcetxt]#</label> - </td> - <td style="border-bottom: solid gray; border-bottom-width: 1px;" valign="top" nowrap> - <input type="text" name="targettxt#[tokenid]#" id="targettxt#[tokenid]#" size="80" value="#[targettxt]#" title="#[targettxt]#" #(filteruntranslated)#disabled::#(/filteruntranslated)#/>#(filteruntranslated)#<button name="editapproved" type="submit" value="#[tokenid]#" class="btn btn-sm"><span class="glyphicon glyphicon-pencil"/></button>::<button name="approve" type="submit" value="#[tokenid]#" class="btn btn-sm"><span class="glyphicon glyphicon-ok-sign" style="color: green"/></button>#(/filteruntranslated)# - </td> - </tr> - #{/textlist}# - </table> - - <input type="submit" name="savetranslationlist" value="Save translation" class="btn btn-primary"/> - - </fieldset> - </form> - <p>Check for remote translation proposals and/or share your own added translations <a href="TransNews_p.html">Translation News</a></p> - #%env/templates/footer.template%# - </body> -</html> diff --git a/htroot/User.html b/htroot/User.html deleted file mode 100644 index d2a5f689e..000000000 --- a/htroot/User.html +++ /dev/null @@ -1,73 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>YaCy '#[clientname]#': User Page</title>
- #%env/templates/metas.template%#
- </head>
-<body>
- #%env/templates/header.template%#
- <h2>User Page</h2>
- #(logged-in)#
- <p>
- You are not logged in.<br />
- <form action="User.html" method="post" accept-charset="UTF-8">
- <input type="hidden" name="returnto" value="#[returnto]#" />
- Username: <input type="text" name="username" value="#[username]#" /><br />
- Password: <input type="password" name="password" /><br />
- <input type="submit" class="btn btn-primary" value="login" />
- </form>
- </p>
- ::
- <p>
- You are currently logged in as #[username]#.<br />
- (Identified by #(identified-by)#IP::Username/Password::Cookie#(/identified-by)#)<br />
- <form action="User.html" accept-charset="UTF-8">
- <input type="submit" name="logout" class="btn btn-danger" value="logout">
- </form>
- #(limit)#::
- #{percent}#<img src="env/grafics/red-block.png" alt="red bar" />#{/percent}##{percent2}#<img src="env/grafics/green-block.png" alt="green bar" />#{/percent2}#
- <br />
- You have used <strong>#[timeused]#</strong> minutes of your onlinetime limit of <strong>#[timelimit]#</strong> minutes per day.<br />
- #(/limit)#
- </p>
- <form action="User.html" method="post" accept-charset="UTF-8">
- <table border="1">
- <tr>
- <td><label for="oldpass">old Password</label></td>
- <td><input type="password" name="oldpass" id="oldpass" /></td>
- </tr>
- <tr>
- <td><label for="newpass">new Password</label></td>
- <td><input type="password" name="newpass" id="newpass" /></td>
- </tr>
- <tr>
- <td><label for="newpass2">new Password(repetition)</label></td>
- <td><input type="password" name="newpass2" id="newpass2" /></td>
- </tr>
- <tr>
- <td colspan="2"><input type="submit" name="changepass" class="btn btn-primary" value="Change" /></td>
- </tr>
- </table>
- </form>
- ::
- You are currently logged in as admin.<br />
- <form action="User.html" accept-charset="UTF-8">
- <input type="submit" name="logout" class="btn btn-danger" value="logout">
- </form>
- <br />
- <p>(after logout you will be prompted for your password again. simply click "cancel")</p>
- #(/logged-in)#
- <b>
- #(status)#
- ::
- #(password)#
- Password was changed.::
- Old Password is wrong.::
- New Password and its repetition do not match.::
- New Password is empty.
- #(/password)#
- #(/status)#
- </b>
- #%env/templates/footer.template%#
- </body>
-</html>
diff --git a/htroot/Wiki.html b/htroot/Wiki.html deleted file mode 100644 index 36d22099b..000000000 --- a/htroot/Wiki.html +++ /dev/null @@ -1,207 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>YaCy '#[clientname]#': Wiki</title>
- #%env/templates/metas.template%#
- </head>
- <body id="Wiki">
- #(topmenu)#
- #%env/templates/embeddedheader.template%#
- ::
- #%env/templates/simpleheader.template%#
- #(/topmenu)#
-
- #(mode)#
- <!-- 0: viewing -->
- <div class="Post">
- <h2 class="PostSubject">YaCyWiki page: #[pagename]#</h2>
- <div class="PostBody">
- #[page]#
- </div>
- <p class="PostInfo">
- last edited by #[author]# | change date #[date]# | <a href="Wiki.html?page=#[pagename]#&edit=Edit">Edit</a> #(access)#(only granted to admin)::#(/access)#
- </p>
- </div>
- <p class="Navigation">
- <a href="Wiki.html">Start Page</a> -
- <a href="Wiki.html?index=Index">Index</a> -
- <a href="Wiki.html?page=#[pagename]#&diff=">Versions</a> -
- </p>
- <form method="post" action="Wiki.html"><div>
- <label for="access">Grant Write Access to</label>
- #(access)#<input type="submit" id="access" name="access" value="all" />::<input type="submit" id="access" name="access" value="admin" />#(/access)#
- </div></form>
- ::
- <!-- 1: edit -->
- <h2>Edit</h2>
- <form action="Wiki.html" method="post" enctype="multipart/form-data" accept-charset="UTF-8">
- <fieldset>
- <dl>
- <dt><label for="author">Author:</label></dt>
- <dd>
- <input name="author" id="author" type="text" size="80" maxlength="80" value="#[author]#" />
- </dd>
- <dt><label for="content">Text:</label></dt>
- <dd>
- <textarea name="content" id="content" cols="80" rows="24">#[page-code]#</textarea>
- </dd>
- </dl>
- <p class="help">
- You can use <a href="WikiHelp.html" onclick="window.open('WikiHelp.html','WikiHelp','toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=640,height=480');return false;">Wiki Code</a> here.
- </p>
- <input type="hidden" name="page" value="#[pagename]#" />
- <input type="hidden" name="reason" value="edit" />
- <input type="submit" name="submit" value="Submit" />
- <input type="submit" name="preview" value="Preview" />
- <input type="submit" name="view" value="Discard" />
- </fieldset>
- </form>
- ::
- <!-- 2: preview -->
- <h2>Preview</h2>
- <p>No changes have been submitted so far!</p>
- <div class="Post">
- <h2 class="PostSubject">YaCyWiki page: #[pagename]#</h2>
- <div class="PostBody">
- #[page]#
- </div>
- <p class="PostInfo">
- last edited by #[author]# | change date #[date]#
- </p>
- </div>
- <form action="Wiki.html" method="post" enctype="multipart/form-data" accept-charset="UTF-8">
- <fieldset>
- <input type="submit" name="submit" value="Submit" />
- <input type="submit" name="view" value="Discard" />
- </fieldset>
-
- <h2>Edit</h2>
-
- <fieldset>
- <dl>
- <dt><label for="author">Author:</label></dt>
- <dd>
- <input name="author" id="author" type="text" size="80" maxlength="80" value="#[author]#" />
- </dd>
- <dt><label for="content">Text:</label></dt>
- <dd>
- <textarea name="content" id="content" cols="80" rows="24">#[page-code]#</textarea>
- </dd>
- </dl>
- <p class="help">
- You can use <a href="WikiHelp.html" onclick="window.open('WikiHelp.html','WikiHelp','toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=640,height=480');return false;">Wiki Code</a> here.
- </p>
- <input type="hidden" name="page" value="#[pagename]#" />
- <input type="hidden" name="reason" value="edit" />
- <input type="submit" name="submit" value="Submit" />
- <input type="submit" name="preview" value="Preview" />
- <input type="submit" name="view" value="Discard" />
- </fieldset>
- </form>
- ::
- <!-- 3: Index -->
- <h2>Index</h2>
- <table border="0" cellpadding="5" cellspacing="0">
- <tr class="TableHeader">
- <td>Subject</td>
- <td>Change Date</td>
- <td>Last Author</td>
- </tr>
- #{pages}#
- <tr class="TableCellLight">
- <td><a href="Wiki.html?page=#[name]#">#[subject]#</a></td>
- <td>#[date]#</td>
- <td>#[author]#</td>
- </tr>
- #{/pages}#
- </table>
- #(error)#::<p class="error">IO Error reading wiki database: #[message]#</p>#(/error)#
- <p class="Navigation">
- <a href="Wiki.html">Start Page</a>
- </p>
- ::
- <!-- 4: Diff -->
- <h2>Versions</h2>
- #(error)#<!-- no error -->
- <form method="get" action="Wiki.html">
- <fieldset><legend>Select versions of page '#[page]#'</legend>
- <input type="hidden" name="page" value="#[page]#" />
- <input type="hidden" name="diff" value="" />
- <dl>
- <dt><label for="old">Compare version from</label>:</dt>
- <dd>
- <select id="old" name="old">#{versions}#
- <option value="#[date]#"#(oldselected)#:: selected="selected"#(/oldselected)#>#[fdate]#</option>#{/versions}#
- </select>
- <input type="submit" name="viewold" value="Show" />
- </dd>
- <dt><label for="new">with version from</label>:</dt>
- <dd>
- <select id="new" name="new">
- <optgroup label="current"><option value="#[curdate]#"#(curselected)#:: selected="selected"#(/curselected)#>#[curfdate]#</option></optgroup>#{versions}#
- <option value="#[date]#"#(newselected)#:: selected="selected"#(/newselected)#>#[fdate]#</option>#{/versions}#
- </select>
- </dd>
- <dt><input type="submit" name="compare" value="Compare" /></dt>
- </dl>
- </fieldset>
- </form>
- ::<!-- IO error -->
- <h2>Error</h2>
- <p class="error">IO Error reading wiki database: #[message]#</p>
- ::<!-- no entries available for #[name]# -->
- #(/error)#
- #(versioning)#
- ::<!-- 1: View diff -->
- #[diff]#
- ::<!-- 2: View selected version -->
- <h2>Preview</h2>
- <p>No changes have been submitted so far!</p>
- <div class="Post">
- <h2 class="PostSubject">YaCyWiki page: #[pagename]#</h2>
- <div class="PostBody">
- #[page]#
- </div>
- <p class="PostInfo">
- last edited by #[author]# | change date #[date]#
- </p>
- </div>
- <form action="Wiki.html" method="post" enctype="multipart/form-data" accept-charset="UTF-8">
- <fieldset>
- <input type="submit" name="submit" value="Submit" />
- <input type="submit" name="view" value="Discard" />
- </fieldset>
- <h2>Edit</h2>
- <fieldset>
- <dl>
- <dt><label for="author">Author:</label></dt>
- <dd>
- <input name="author" id="author" type="text" size="80" maxlength="80" value="#[author]#" />
- </dd>
- <dt><label for="content">Text:</label></dt>
- <dd>
- <textarea name="content" id="content" cols="80" rows="24">#[page-code]#</textarea>
- </dd>
- </dl>
- <p class="help">
- You can use
- <a href="WikiHelp.html" onclick="window.open('WikiHelp.html','WikiHelp','toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=640,height=480');return false;">Wiki Code</a> here.
- </p>
- <input type="hidden" name="page" value="#[pagename]#" />
- <input type="hidden" name="reason" value="edit" />
- <input type="submit" name="submit" value="Submit" />
- <input type="submit" name="preview" value="Preview" />
- <input type="submit" name="view" value="Discard" />
- </fieldset>
- </form>
- #(/versioning)#
- <p class="Navigation">
- <a href="Wiki.html">Start Page</a> -
- <a href="Wiki.html?page=#[page]#">Return to #[page]#</a>
- </p>
- #(/mode)#
-
- <p>Changes will be published as announcement on YaCyNews</p>
- #%env/templates/footer.template%#
- </body>
-</html>
\ No newline at end of file diff --git a/htroot/WikiHelp.html b/htroot/WikiCodeHelp.html index 809024487..900491d44 100644 --- a/htroot/WikiHelp.html +++ b/htroot/WikiCodeHelp.html @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> - <title>YaCy '#[clientname]#': Wiki Help</title> + <title>YaCy '#[clientname]#': WikiCode Help</title> #%env/templates/metas.template%# </head> <body> @@ -9,9 +9,8 @@ <h2>Wiki-Code</h2> <table width="100%" border="1" cellspacing="0" cellpadding="4"> <caption> - This table contains a short description of the tags that can be used in the Wiki and several other servlets - of YaCy. For a more detailed description visit the - <a href="https://wiki.yacy.net/index.php/Hauptseite" target="_blank">YaCy Wiki</a>. + This table describes the WikiCode formatting supported in YaCy messages, + profiles, and MediaWiki dump imports. </caption> <tr valign="top"> <th> @@ -117,7 +116,8 @@ <span class="tt" style="white-space: nowrap;">[[pagename|description]]</span> </td> <td> - This tag creates links to other pages of the wiki. + Internal-link markup retains its visible label but no longer creates a link, + because the local Wiki application has been retired. </td> </tr> @@ -190,4 +190,4 @@ </table> </div> </body> -</html>
\ No newline at end of file +</html> diff --git a/htroot/env/base.css b/htroot/env/base.css index b618d9ab2..77c1a1814 100644 --- a/htroot/env/base.css +++ b/htroot/env/base.css @@ -939,24 +939,11 @@ body#QuickCrawlLink p, body#QuickCrawlLink h4 { padding:0 5%; } -body#Wiki form fieldset p.help{ - clear:both; -} /* Crawler_p.html */ body#watchCrawler table.watchCrawler {float:left; margin: 0px 5px 5px 0px;} body#watchCrawler p.watchCrawler {clear:both;} body#watchCrawler p#crawlingQueues{clear:both; margin: 20px 0px 0px 0px;} -/* BlogComments.html */ -div.BlogCommentPost { -margin: 0px 30px 0px 30px; -background-color:#eeeeee; -} - -div.BlogCommentPrevNext { -text-align: center; -} - /* other ------------------------------------*/ ul#menu { padding:0; diff --git a/htroot/env/grafics/blog.gif b/htroot/env/grafics/blog.gif Binary files differdeleted file mode 100644 index 618347ec9..000000000 --- a/htroot/env/grafics/blog.gif +++ /dev/null diff --git a/htroot/env/grafics/wiki.gif b/htroot/env/grafics/wiki.gif Binary files differdeleted file mode 100644 index dd1f1add4..000000000 --- a/htroot/env/grafics/wiki.gif +++ /dev/null diff --git a/htroot/env/templates/submenuComputation.template b/htroot/env/templates/submenuComputation.template index 99d1a75de..c0c6b7bd5 100644 --- a/htroot/env/templates/submenuComputation.template +++ b/htroot/env/templates/submenuComputation.template @@ -33,7 +33,6 @@ <h3>Community Data</h3> <ul class="SubMenu"> <li><a href="Surftips.html" class="MenuItemLink">Surftips</a></li> - <li><a href="Wiki.html?display=1" class="MenuItemLink">Local Peer Wiki</a></li> <li><a href="Bookmarks.html" class="MenuItemLink #(authorized)#lock::unlock#(/authorized)#">Bookmarks</a></li> </ul> </div> diff --git a/htroot/env/templates/submenuConfig.template b/htroot/env/templates/submenuConfig.template index ad5451fc5..c02079f24 100644 --- a/htroot/env/templates/submenuConfig.template +++ b/htroot/env/templates/submenuConfig.template @@ -5,6 +5,5 @@ <li><a href="PerformanceQueues_p.html" class="MenuItemLink #(authorized)#lock::unlock#(/authorized)#">Performance Settings of Busy Queues</a></li> <li><a href="Tables_p.html" class="MenuItemLink #(authorized)#lock::unlock#(/authorized)#">Viewer and administration for database tables</a></li> <li><a href="ConfigProperties_p.html" class="MenuItemLink #(authorized)#lock::unlock#(/authorized)#">Advanced Properties</a></li> - <li><a href="TransNews_p.html" class="MenuItemLink #(authorized)#lock::unlock#(/authorized)#">UI Translations</a></li> </ul> -</div>
\ No newline at end of file +</div> diff --git a/htroot/env/templates/submenuPublication.template b/htroot/env/templates/submenuPublication.template deleted file mode 100644 index 41a7d5661..000000000 --- a/htroot/env/templates/submenuPublication.template +++ /dev/null @@ -1,7 +0,0 @@ -<div class="SubMenu"> - <h3>Publication</h3> - <ul class="SubMenu"> - <li><a href="Wiki.html?display=1" class="MenuItemLink #(authorized)#lock::unlock#(/authorized)#">Wiki</a></li> - <li><a href="Blog.html?display=1" class="MenuItemLink #(authorized)#lock::unlock#(/authorized)#">Blog</a></li> - </ul> -</div> diff --git a/htroot/mediawiki_p.html b/htroot/mediawiki_p.html index 9b323922b..4b642eac6 100644 --- a/htroot/mediawiki_p.html +++ b/htroot/mediawiki_p.html @@ -3,7 +3,7 @@ <head> <title>#[title]#</title> </head> - <body id="Wiki"> + <body id="MediaWiki"> #[page]# </body> -</html>
\ No newline at end of file +</html> diff --git a/htroot/proxymsg/authfail.inc b/htroot/proxymsg/authfail.inc deleted file mode 100644 index cdf8dca0c..000000000 --- a/htroot/proxymsg/authfail.inc +++ /dev/null @@ -1,12 +0,0 @@ - <form action="/User.html" method="POST"> - <fieldset><legend><span class="error">Your Username/Password is wrong.</span></legend> - <dl> - <dt><label for="username">Username</label>:</dt> - <dd><input type="text" id="username" name="username" /></dd> - <dt><label for="password">Password</label>:</dt> - <dd><input type="password" id="password" name="password" /></dd> - <dt><input type="submit" value="login" /></dt> - </dl> - <input type="hidden" name="returnto" value="#[returnto]#" /> - </fieldset> - </form> diff --git a/htroot/robots.txt b/htroot/robots.txt index 709996e48..f75cbc0a7 100644 --- a/htroot/robots.txt +++ b/htroot/robots.txt @@ -23,16 +23,6 @@ Disallow: /#[page]# # bookmarks Disallow: /Bookmarks.html#(/bookmarks)# -#(wiki)#:: -# wiki -Disallow: /Wiki.html#(/wiki)# - -#(blog)#:: -# blog -Disallow: /Blog.html -Disallow: /Blog.rss -Disallow: /Blog.xml#(/blog)# - #(news)#:: # news Disallow: /News.html#(/news)# @@ -68,4 +58,4 @@ Disallow: /ViewProfile.xml#(/profile)# :: # all Disallow: / -#(/all)#
\ No newline at end of file +#(/all)# diff --git a/locales/de.lng b/locales/de.lng index cb0461e54..715e2e876 100644 --- a/locales/de.lng +++ b/locales/de.lng @@ -218,54 +218,6 @@ Crawling==Crawling DHT==DHT News==News Proxy==Proxy -#File: Blog.html -#--------------------------- -Blog-Home==Blog-Startseite -Author:==Autor: -Subject:==Titel: -Comments:==Kommentare: -deactivated==deaktiviert -moderated==moderiert -"Submit"=="Absenden" -"Preview"=="Vorschau" -"Discard"=="Verwerfen" -No changes have been submitted so far!==Es wurden noch keine Änderungen übertragen! -Access denied==Zugriff verweigert -To edit or create blog-entries you need to be logged in as Admin or User who has Blog rights.==Um Blogeinträge zu verändern oder zu erstellen müssen Sie als Admin oder User mit Blog-Rechten eingeloggt sein. -Confirm deletion==Bestätige Löschung -Import was successful!==Import war erfolgreich! -Import failed, maybe the supplied file was no valid blog-backup?==Import fehlgeschlagen, unter Umständen war die angegebene Datei keine gültige Blog-Sicherung? -Please select the XML-file you want to import:==Bitte wählen Sie die XML-Datei die Sie importieren wollen: -Edit==Bearbeiten -Preview==Vorschau -"RSS"=="RSS" -"No, leave it."=="Nein, behalten." -"Yes, delete it."=="Ja, löschen." -<< previous entries==<< vorherige Einträge -Are you sure...==Sind Sie sicher... -XML-Import==XML-Import -activated==aktiviert -next entries >>==nächste Einträge >> -#----------------------------- - -Text:==Text: -"Import"=="Importieren" -#File: BlogComments.html -#--------------------------- -Blog-Home==Blog-Startseite -Author:==Autor: -Subject:==Titel: -"Submit"=="Absenden" -"Preview"=="Vorschau" -"Discard"=="Verwerfen" -Comments:==Kommentare: -<< previous entries==<< vorherige Einträge -next entries >>==nächste Einträge >> -Comment on this Blog==Kommentar zu diesem Blog -Comments are not allowed for this posting!==Kommentare sind für diesen Beitrag nicht erlaubt! -#----------------------------- - -Text:==Text: #File: Bookmarks.html #--------------------------- @@ -347,44 +299,26 @@ loading....==lade.... #File: ConfigAccounts_p.html #--------------------------- -User Accounts==Benutzerkonten -User Administration==Benutzerverwaltung -Generic error.==Genereller Fehler. +"Change Administrator Credentials"=="Administrator-Zugangsdaten ändern" +Admin Account==Administratorkonto +Invalid administrator settings.==Ungültige Administratoreinstellungen. Passwords do not match.==Passwörter stimmen nicht überein. -Username too short. Username must be >= 4 Characters.==Benutzername zu kurz. Benutzername muss länger als vier Zeichen sein. -Admin Account==Admin Konto -Access from localhost without account==Zugriff von localhost ohne Konto -Access to your peer from your own computer (localhost access) is granted with administrator rights. No need to configure an administration account.==Der Zugriff von Ihrem Computer (localhost Zugang) ist garantiert mit Administratorrechten gewährt. Sie brauchen kein Administratorkonto erstellen. -Access only with qualified account==Zugriff nur mit berechtigtem Konto -This is required if you want a remote access to your peer, but it also hardens access controls on administration operations of your peer.==Das ist erforderlich, wenn Sie Fernzugriff auf Ihren Peer haben wollen, aber es härtet auch aus die Zugriffskontrolle auf Ihre Peer-Administrations-Operationen. -Peer User:==Peer Benutzer: -New Peer Password:==Neues Peer Passwort: -Repeat Peer Password:==Wiederhole Peer Passwort: -"Define Administrator"=="Administrator festlegen" -Select user==Benutzer wählen -New user==Neuer Benutzer -Repeat password==Passwort wiederholen -First name==Vorname -Last name==Nachname -Address==Adresse -Timelimit==Zeitlimit -Time used==Verbrauchte Zeit -<b>WARNING</b> This YaCy instance can be administered with the account "admin" and the default password "yacy".==<b>WARNUNG</b> Diese YaCy-Instanz kann mit dem Konto "admin" und dem Standardpasswort "yacy" administriert werden. -Password==Passwort -Rights:==Rechte: -Username==Benutzername -"Delete User"=="Benutzer löschen" -"Edit User"=="Benutzer bearbeiten" -"Save User"=="Benutzer speichern" -"Set Access Rules"=="Zugriffsregeln setzen" +Administrator username is required.==Der Administrator-Benutzername ist erforderlich. +Administrator password is required.==Das Administrator-Passwort ist erforderlich. +Default administrator password is active.==Das Standardpasswort des Administrators ist aktiv. +This YaCy instance can still be administered with the username "admin" and the default password "yacy". Replace these credentials using the form directly below.==Diese YaCy-Instanz kann weiterhin mit dem Benutzernamen "admin" und dem Standardpasswort "yacy" administriert werden. Ersetzen Sie diese Zugangsdaten mit dem direkt darunter stehenden Formular. +These credentials are used for remote administration and whenever administrative access from localhost without authentication is disabled.==Diese Zugangsdaten werden für die Fernadministration und immer dann verwendet, wenn der administrative Zugriff von localhost ohne Authentifizierung deaktiviert ist. +If you need to reset the administrator password from the console, run bin/passwd.sh from the YaCy installation directory.==Wenn Sie das Administrator-Passwort über die Konsole zurücksetzen müssen, führen Sie bin/passwd.sh im YaCy-Installationsverzeichnis aus. +Administrator Username:==Administrator-Benutzername: +New Administrator Password:==Neues Administrator-Passwort: +Repeat Administrator Password:==Administrator-Passwort wiederholen: Access Rules==Zugriffsregeln -Change the password as soon as possible!==Ändern Sie das Passwort so bald wie möglich! +Allow administrative access from localhost without authentication==Administrativen Zugriff von localhost ohne Authentifizierung erlauben +When enabled, eligible requests from the same computer receive administrator rights without sending credentials.==Wenn diese Option aktiviert ist, erhalten berechtigte Anfragen vom selben Computer Administratorrechte, ohne Zugangsdaten zu senden. +Require administrator authorization for all applicable pages==Administrator-Autorisierung für alle anwendbaren Seiten verlangen +When disabled, administration pages whose names contain "_p" remain protected. When enabled, all applicable pages require administrator authorization.==Wenn diese Option deaktiviert ist, bleiben Administrationsseiten geschützt, deren Namen "_p" enthalten. Wenn sie aktiviert ist, erfordern alle anwendbaren Seiten eine Administrator-Autorisierung. #----------------------------- -Please use with care, notably when you browse untrusted and potentially malicious websites while running your YaCy peer on the same computer.==Bitte mit Vorsicht verwenden, besonders wenn Sie nicht vertrauenswürdige und potenziell bösartige Webseiten besuchen, während Ihr YaCy-Peer auf demselben Computer läuft. -Protection of all pages: if set to on, access to all pages need authorization; if off, only pages with "_p" extension are protected.==Schutz aller Seiten: Wenn eingeschaltet, erfordert der Zugriff auf alle Seiten eine Autorisierung; wenn ausgeschaltet, sind nur Seiten mit der Erweiterung "_p" geschützt. -This setting is convenient but less secure than using a qualified admin account.==Diese Einstellung ist bequem, aber weniger sicher als die Verwendung eines qualifizierten Administratorkontos. -Username already used (not allowed).==Benutzername bereits verwendet (nicht erlaubt). #File: ConfigAppearance_p.html #--------------------------- Appearance and Integration==Erscheinungsbild und Integration @@ -757,8 +691,6 @@ Status page==der Statusseite Network pages==der Netzwerkseiten Surftips==der Surftipps News pages==der News-Seiten -Blog==des Blogs -Wiki==des Wikis Public bookmarks==der öffentlichen Lesezeichen Home Page==der Home-Page File Share==des File-Shares @@ -2086,7 +2018,6 @@ The information that is presented on this page can also be retrieved as XML.==Di Click the API icon to see the XML.==Klicken Sie auf das API Symbol, um das XML anzeigen zu lassen. Network Overview==Netzwerkübersicht Manually contacting Peer==Kontaktiere Peer manuell -send <strong>M</strong>essage/<br/>show <strong>P</strong>rofile/<br/>edit <strong>W</strong>iki/<br/>browse <strong>B</strong>log==Sende Nachricht (<strong>m</strong>)/<br/>Zeige Profil (<strong>p</strong>)/<br/>Ändere Wiki (<strong>w</strong>)/<br/>Durchsuche Blog (<strong>b</strong>) Search for a peername (RegExp allowed)==Suche nach Peernamen (RegExp erlaubt) "Search"=="Suche" Name==Name @@ -2147,10 +2078,8 @@ green lines==grüne Linien Network History==Netzwerk Historie #----------------------------- -"Blog updated"=="Blog aktualisiert" "Profile updated"=="Profil aktualisiert" "Type: Virgin"=="Typ: Virgin" -"Wiki updated"=="Wiki aktualisiert" "add Peer"=="Peer hinzufügen" <b>Count of Connected Senior Peers</b> in the last two days, scale = 1h==<b>Anzahl verbundener Senior-Peers</b> in den letzten zwei Tagen, Skalierung = 1h <b>Count of all Active Peers Per Day</b> in the last week, scale = 1d==<b>Anzahl aller aktiven Peers pro Tag</b> in der letzten Woche, Skalierung = 1d @@ -2244,7 +2173,6 @@ Attributes==Attribute "Outgoing News"=="Ausgehende Nachrichten" "Processed News"=="Verarbeitete Nachrichten" "Published News"=="Veröffentlichte Nachrichten" -Publishing of added or modified translation for the user interface. Other peers may include it in their local translation list.==Veröffentlichung einer hinzugefügten oder geänderten Übersetzung der Benutzeroberfläche. Andere Peers können sie in ihre lokale Übersetzungsliste aufnehmen. #----------------------------- #File: Performance_p.html @@ -2713,14 +2641,9 @@ 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 through one single port, for both proxy and server.==Alle Verbindungen werden durch einen einzigen Port hergestellt, für beides (Proxy und Server). 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==Sie wollen den Proxy vermutlich nicht im Internet zur Verfügung stellen, deshalb sollten Sie IP-Number Access Domain to a pattern that corresponds to you local intranet.==den IP-Adressraum so einstellen, dass er auf Ihr lokales Intranet zutrifft. -The default setting should be right in most cases. If you want, you can also set a proxy account==Die Standardwerte sollten in den meisten Fällen richtig sein. Wenn Sie wollen können Sie auch Proxyaccounts erstellen -so that every proxy user must authenticate first, but this is rather unusual.==, sodass sich jeder Proxynutzer zuerst anmelden muss, aber das ist eher unüblich. IP-Number filter==IP-Adressen Filter #----------------------------- @@ -3237,44 +3160,6 @@ YaCy Debugging: Thread Dump==YaCy Debug: Thread Dump Threaddump==Threaddump #----------------------------- -#File: Translator_p.html -#--------------------------- -Translation Editor==Übersetzungseditor -UI Translation==Übersetzung Benutzeroberfläche -Source File==Quelldatei -view it==Datei anzeigen -filter untranslated==filter unübersetztes -Source Text==Quelltext -"Save translation"=="Übersetzung speichern" -Translate untranslated text of the user interface (current language). The modified translation file is stored in DATA/LOCALE directory.==Unübersetzten Text der Benutzeroberfläche übersetzen (aktuelle Sprache). Die geänderte Übersetzungsdatei wird im Verzeichnis DATA/LOCALE gespeichert. -#----------------------------- - -#File: User.html -#--------------------------- -User Page==Benutzer Seite -Username:==Benutzername: -"login"=="anmelden" -old Password==altes Passwort -new Password(repetition)==neues Passwort (Wiederholung) -"Change"=="Ändern" -You are currently logged in as admin.==Sie sind derzeit als Administrator angemeldet. -(after logout you will be prompted for your password again. simply click "cancel")==(nach dem Abmelden werden Sie erneut nach dem Passwort gefragt. Klicken Sie einfach auf abbrechen) -Password was changed.==Das Passwort wurde gewechselt. -Old Password is wrong.==Das alte Passwort ist falsch. -New Password and its repetition do not match.==Das neue Passwort und die Wiederholung stimmen nicht überein. -New Password is empty.==Das neue Passwort ist leer. -Cookie==Cookie -"green bar"=="grüner Balken" -"logout"=="Abmelden" -"red bar"=="roter Balken" -(Identified by==(Identifiziert durch -IP==IP -Password:==Passwort: -Username/Password==Benutzername/Passwort -You are not logged in.==Sie sind nicht angemeldet. -new Password==neues Passwort -#----------------------------- - #File: ViewFile.html #--------------------------- View URL Content==Zeige URL Inhalte @@ -3463,41 +3348,9 @@ size==Größe time==Zeit #----------------------------- -#File: Wiki.html -#--------------------------- -Grant Write Access to==Erlaube es folgenden Benutzern das Wiki zu bearbeiten -# !!! Do not translate the input buttons because that breaks the function to switch rights !!! -"all"=="Allen" -"admin"=="Administrator" -Start Page==Startseite -Versions==Versionen -Author:==Autor: -You can use==Sie können hier -"Submit"=="Absenden" -"Preview"=="Vorschau" -"Discard"=="Verwerfen" -No changes have been submitted so far!==Es wurden noch keine Änderungen übertragen! -Subject==Titel -Change Date==Änderungsdatum -Last Author==Letzter Autor -Compare version from==Vergleiche Version vom -"Show"=="Anzeigen" -with version from==mit Version vom -"Compare"=="Vergleichen" -Changes will be published as announcement on YaCyNews==Änderungen werden über den YaCy News Service bekannt gegeben. -Edit==Bearbeiten -Preview==Vorschau -(only granted to admin)==(nur für Admin erlaubt) -Error==Fehler -Index -==Index - -#----------------------------- - -Index==Index -Text:==Text: -#File: WikiHelp.html +#File: WikiCodeHelp.html #--------------------------- Wiki-Code==Wiki-Befehle -This table contains a short description of the tags that can be used in the Wiki and several other servlets==Diese Tabelle enthält eine kurze Beschreibung der Tags, die in diesem Wiki und an anderen Stellen of YaCy. For a more detailed description visit the==in YaCy benutzt werden können. Für eine detailliertere Beschreibung besuchen Sie bitte das Description==Beschreibung These tags create stressed texts. The first pair emphasizes the text (most browsers will display it in italics),==Diese Tags erzeugen hervorgehobenen Text. Das erste Paar betont den Text (die meisten Browser zeigen die Texte kursiv), @@ -3507,7 +3360,6 @@ These tags create a numbered list.==Diese Tags erstellen eine nummerierte Liste. These tags create an unnumbered list.==Diese Tags erstellen eine unnummerierte Liste. These tags create a definition list.==Diese Tags erstellen eine definierte Liste. This tag creates a horizontal line.==Dieser Tag erzeugt eine horizontale Linie. -This tag creates links to other pages of the wiki.==Dieser Tag erzeugt einen Link zu einer anderen Seite im Wiki. This tag displays an image, it can be aligned left, right or center.==Dieser Tag fügt ein Bild ein, es kann links (left), rechts (right) oder mittig (center) ausgerichtet werden. This tag displays a Youtube or Vimeo video with the id specified and fixed width 425 pixels and height 350 pixels.==Dieser Tag fügt ein Youtube oder Vimeo Video mit der angegeben id und einer fixen Höhe von 425 Pixeln und einer fixen Breite von 350 Pixeln ein. These tags create a table, whereas the first marks the beginning of the table, the second starts==Diese Tags erstellen eine Tabelle, wobei der erste den Anfang der Tabelle markiert, der zweite beginnt @@ -3826,7 +3678,6 @@ Processed News==Verarbeitete Nachrichten Outgoing News==Ausgehende Nachrichten Published News==Veröffentlichte Nachrichten Community Data==Community-Daten -Local Peer Wiki==Lokales Peer-Wiki Processes==Prozesse Messages==Nachrichten Overview==Übersicht @@ -3844,7 +3695,6 @@ Surftips==Surftipps System Administration==System Administration Advanced Settings==Erweiterte Einstellungen Advanced Properties==Erweiterte Konfiguration -UI Translations==UI-Übersetzungen #----------------------------- Performance Settings of Busy Queues==Performance-Einstellungen beschäftigter Queues @@ -3916,13 +3766,6 @@ Crawler/Spider==Crawler/Spider Network Harvesting==Network Harvesting #----------------------------- -#File: env/templates/submenuPublication.template -#--------------------------- -Publication==Veröffentlichung -#----------------------------- - -Blog==Blog -Wiki==Wiki #File: env/templates/submenuRanking.template #--------------------------- Ranking and Heuristics==Ranking und Heuristiken @@ -3963,14 +3806,6 @@ Image Collage==Bilder Collage #----------------------------- Index Browser==Index-Browser -#File: proxymsg/authfail.inc -#--------------------------- -Your Username/Password is wrong.==Benutzername/Passwort waren falsch. -"login"=="Anmelden" -Password==Passwort -Username==Benutzername -#----------------------------- - #File: proxymsg/error.html #--------------------------- YaCy: Error Message==YaCy: Fehlermeldung @@ -4539,42 +4374,6 @@ Thread:==Thread: "Stop"=="Stopp" #----------------------------- -#File: ConfigAccountList_p.html -#--------------------------- -User Accounts==Benutzerkonten -User List==Benutzerliste -#----------------------------- - -Address==Adresse -First name==Vorname -Last Access==Letzter Zugriff -Last name==Nachname -Rights==Rechte -Time==Zeit -Traffic==Traffic -User==Benutzer -#File: ConfigUser_p.html -#--------------------------- -Username too short. Username must be >= 4 Characters.==Benutzername zu kurz. Benutzername muss >= 4 Zeichen lang sein. -Username already used (not allowed).==Benutzername bereits vergeben (nicht erlaubt). -Passwords do not match.==Passwörter stimmen nicht überein. -User Account Editor==Benutzerkonten-Editor -back to user list==zurück zur Benutzerliste -Generic error.==Allgemeiner Fehler. -Rights:==Rechte: -"Delete User"=="Benutzer löschen" -"Save User"=="Benutzer speichern" -"ConfigAccountList_p.html"=="ConfigAccountList_p.html" -#----------------------------- - -Address==Adresse -First name==Vorname -Last name==Nachname -Password==Passwort -Repeat password==Passwort wiederholen -Time used==Verbrauchte Zeit -Timelimit==Zeitlimit -Username==Benutzername #File: ContentAnalysis_p.html #--------------------------- The quantRate is a measurement for the number of words that take part in a signature computation. The higher the number, the less==Die quantRate ist ein Maß für die Anzahl der Wörter, die an einer Signaturberechnung teilnehmen. Je höher die Zahl, desto weniger @@ -4608,11 +4407,6 @@ Start Time==Startzeit Start URL==Start-URL #File: SearchAccessRate_p.html #--------------------------- -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, results resorting becomes only applicable on demand, server-side.==Wenn ein Benutzer mit eingeschränkten Rechten (nicht authentifiziert oder ohne erweitertes Suchrecht) ein Limit überschreitet, ist die Ergebnis-Neusortierung nur noch auf Anfrage, serverseitig verfügbar. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search scope falls back to only this local peer index.==Wenn ein Benutzer mit eingeschränkten Rechten (nicht authentifiziert oder ohne erweitertes Suchrecht) ein Limit überschreitet, wird der Suchbereich auf nur diesen lokalen Peer-Index zurückgesetzt. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the snippets fetch strategy falls back to 'CACHEONLY'==Wenn ein Benutzer mit eingeschränkten Rechten (nicht authentifiziert oder ohne erweitertes Suchrecht) ein Limit überschreitet, wird die Snippet-Abrufstrategie auf 'CACHEONLY' zurückgesetzt -You can configure here limitations on access rate to this peer search interface by unauthenticated users and users without extended search right==Hier können Sie Beschränkungen der Zugriffsrate auf die Suchschnittstelle dieses Peers für nicht authentifizierte Benutzer und Benutzer ohne erweitertes Suchrecht konfigurieren -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search is blocked.==Wenn ein Benutzer mit eingeschränkten Rechten (nicht authentifiziert oder ohne erweitertes Suchrecht) ein Limit überschreitet, wird die Suche blockiert. Access rate limitations to the peer-to-peer search mode with browser-side JavaScript results resorting enabled==Zugriffsraten-Beschränkungen für den Peer-to-Peer-Suchmodus mit aktivierter browserseitiger JavaScript-Ergebnis-Neusortierung <em id="changeInfo">Changes will take effect immediately.</em>==<em id="changeInfo">Änderungen werden sofort wirksam.</em> Access rate limitations to the peer-to-peer search mode.==Zugriffsraten-Beschränkungen für den Peer-to-Peer-Suchmodus. @@ -4639,18 +4433,6 @@ YaCy search==YaCy-Suche CyTag Trails==CyTag-Spuren #----------------------------- -#File: TransNews_p.html -#--------------------------- -You can share your local addition to translations and distribute it to other peers.==Sie können Ihre lokale Ergänzung zu Übersetzungen teilen und an andere Peers verteilen. -Translation:==Übersetzung: -English:==Englisch: -existing==vorhanden -"negative vote"=="Negative Bewertung" -"positive vote"=="Positive Bewertung" -Originator==Initiator -Vote on this translation. If you vote positive the translation is added to your local translation list.==Über diese Übersetzung abstimmen. Wenn Sie positiv abstimmen, wird die Übersetzung zu Ihrer lokalen Übersetzungsliste hinzugefügt. -#----------------------------- - File:==Datei: The remote peer can vote on your translation and add it to its own local translation.==Der Remote-Peer kann über Ihre Übersetzung abstimmen und sie zu seiner eigenen lokalen Übersetzung hinzufügen. "Publish"=="Veröffentlichen" diff --git a/locales/el.lng b/locales/el.lng index 080073df6..036c13b76 100644 --- a/locales/el.lng +++ b/locales/el.lng @@ -337,54 +337,6 @@ An error occurred while editing the following entries. Please check syntax.==Î Î Activate this list for ...==ΕνεÏγοποιήστε αυτήν τη λίστα για... #----------------------------- -#File: Blog.html -#--------------------------- -"RSS"=="RSS" -"Submit"=="Υποτάσσομαι" -"Preview"=="Î ÏεμιÎÏα" -"Discard"=="ΑποÏÏίπτω" -"Yes, delete it."=="Îαι, διαγÏάψτε το." -"No, leave it."=="Όχι, αφήστε το." -"Import"=="Εισαγωγή" -<< previous entries==<< Ï€ÏοηγοÏμενες εγγÏαφÎÏ‚ -next entries >>==επόμενες καταχωÏήσεις >> -Blog-Home==Blog-Home -Edit==ΤÏοποποίηση -Author:==ΣυγγÏαφÎας: -Subject:==ΘÎμα: -Text:==Κείμενο: -Comments:==Σχόλια: -deactivated==απενεÏγοποιημÎνο -activated==ενεÏγοποιήθηκε -moderated==μετÏιάζεται -Preview==Î ÏεμιÎÏα -No changes have been submitted so far!==Δεν Îχουν υποβληθεί αλλαγÎÏ‚ μÎχÏι στιγμής! -Access denied==Δεν επιτÏÎπεται η Ï€Ïόσβαση -To edit or create blog-entries you need to be logged in as Admin or User who has Blog rights.==Για να επεξεÏγαστείτε ή να δημιουÏγήσετε καταχωÏήσεις ιστολογίου, Ï€ÏÎπει να είστε συνδεδεμÎνοι ως ΔιαχειÏιστής ή ΧÏήστης που Îχει δικαιώματα ιστολογίου. -Are you sure...==Είσαι σίγουÏος... -Confirm deletion==Επιβεβαιώστε τη διαγÏαφή -XML-Import==XML-Εισαγωγή -Import was successful!==Η εισαγωγή ήταν επιτυχής! -Import failed, maybe the supplied file was no valid blog-backup?==Η εισαγωγή απÎτυχε, ίσως το παÏεχόμενο αÏχείο δεν ήταν ÎγκυÏο αντίγÏαφο ασφαλείας ιστολογίου; -Please select the XML-file you want to import:==ΕπιλÎξτε το XML-αÏχείο που θÎλετε να εισαγάγετε: -#----------------------------- - -#File: BlogComments.html -#--------------------------- -"Submit"=="Υποτάσσομαι" -"Preview"=="Î ÏεμιÎÏα" -"Discard"=="ΑποÏÏίπτω" -Blog-Home==Blog-Home -Comments:==Σχόλια: -<< previous entries==<< Ï€ÏοηγοÏμενες εγγÏαφÎÏ‚ -next entries >>==επόμενες καταχωÏήσεις >> -Comments are not allowed for this posting!==Δεν επιτÏÎπονται σχόλια για αυτήν την ανάÏτηση! -Comment on this Blog==Σχολιάστε αυτό το ιστολόγιο -Author:==ΣυγγÏαφÎας: -Subject:==ΘÎμα: -Text:==Κείμενο: -#----------------------------- - #File: Bookmarks.html #--------------------------- "RSS"=="RSS" @@ -452,58 +404,10 @@ Private Queue==Ιδιωτική ουÏά Public Queue==Δημόσια ουÏά #----------------------------- -#File: ConfigAccountList_p.html -#--------------------------- -User List==Λίστα χÏηστών -User Accounts==ΛογαÏιασμοί χÏηστών -User==ΜεταχειÏιζόμενος -First name==Ονομα -Last name==Επώνυμο -Address==ΔιεÏθυνση -Last Access==Τελευταία Î Ïόσβαση -Rights==Δικαιώματα -Time==ΦοÏά -Traffic==ΚυκλοφοÏία -#----------------------------- - #File: ConfigAccounts_p.html #--------------------------- -"Define Administrator"=="ΟÏισμός ΔιαχειÏιστή" -"Set Access Rules"=="ΟÏισμός κανόνων Ï€Ïόσβασης" -"Edit User"=="ΕπεξεÏγασία χÏήστη" -"Delete User"=="ΔιαγÏαφή χÏήστη" -"Save User"=="Αποθήκευση χÏήστη" -User Administration==ΔιαχείÏιση χÏήστη -Generic error.==Γενικό σφάλμα. Passwords do not match.==Οι κωδικοί Ï€Ïόσβασης δεν ταιÏιάζουν. -Username too short. Username must be >= 4 Characters.==Το όνομα χÏήστη είναι Ï€Î¿Î»Ï Î¼Î¹ÎºÏÏŒ. Το όνομα χÏήστη Ï€ÏÎπει να είναι >= 4 χαÏακτήÏες. -Username already used (not allowed).==Όνομα χÏήστη που χÏησιμοποιείται ήδη (δεν επιτÏÎπεται). -<b>WARNING</b> This YaCy instance can be administered with the account "admin" and the default password "yacy".==<b>WARNING</b> Αυτή η πεÏίπτωση YaCy μποÏεί να διαχειÏίζεται με τον λογαÏιασμό "admin" και τον Ï€ÏοεπιλεγμÎνο κωδικό Ï€Ïόσβασης "yacy". -Change the password as soon as possible!==Αλλάξτε τον κωδικό Ï€Ïόσβασης το συντομότεÏο δυνατό! Admin Account==ΛογαÏιασμός διαχειÏιστή -Access from localhost without account==Î Ïόσβαση από localhost χωÏίς λογαÏιασμό -Access to your peer from your own computer (localhost access) is granted with administrator rights. No need to configure an administration account.==Η Ï€Ïόσβαση στο peer σας από τον δικό σας υπολογιστή (Ï€Ïόσβαση Ï„Î¿Ï€Î¹ÎºÎ¿Ï ÎºÎµÎ½Ï„ÏÎ¹ÎºÎ¿Ï Ï…Ï€Î¿Î»Î¿Î³Î¹ÏƒÏ„Î®) παÏÎχεται με δικαιώματα διαχειÏιστή. Δεν χÏειάζεται να διαμοÏφώσετε Îναν λογαÏιασμό διαχείÏισης. -This setting is convenient but less secure than using a qualified admin account.==Αυτή η ÏÏθμιση είναι βολική, αλλά λιγότεÏο ασφαλής από τη χÏήση ενός αναγνωÏισμÎνου λογαÏÎ¹Î±ÏƒÎ¼Î¿Ï Î´Î¹Î±Ï‡ÎµÎ¹Ïιστή. -Please use with care, notably when you browse untrusted and potentially malicious websites while running your YaCy peer on the same computer.==ΧÏησιμοποιήστε το με Ï€Ïοσοχή, ιδίως όταν πεÏιηγείστε σε μη αξιόπιστους και δυνητικά κακόβουλους ιστότοπους ενώ εκτελείτε το YaCy ομότιμο σας στον ίδιο υπολογιστή. -Access only with qualified account==Î Ïόσβαση μόνο με πιστοποιημÎνο λογαÏιασμό -This is required if you want a remote access to your peer, but it also hardens access controls on administration operations of your peer.==Αυτό απαιτείται εάν θÎλετε απομακÏυσμÎνη Ï€Ïόσβαση στον ομότιμο σας, αλλά επίσης σκληÏαίνει τα στοιχεία ελÎγχου Ï€Ïόσβασης στις λειτουÏγίες διαχείÏισης του ομοτίμου σας. -Peer User:==Ομότιμος χÏήστης: -New Peer Password:==ÎÎος κωδικός Ï€Ïόσβασης ομοτίμων: -Repeat Peer Password:==Επαναλάβετε τον κωδικό Ï€Ïόσβασης ομοτίμων: -Access Rules==Κανόνες Ï€Ïόσβασης -Protection of all pages: if set to on, access to all pages need authorization; if off, only pages with "_p" extension are protected.==Î Ïοστασία όλων των σελίδων: εάν είναι ενεÏγοποιημÎνη, η Ï€Ïόσβαση σε όλες τις σελίδες χÏειάζεται εξουσιοδότηση. Εάν είναι απενεÏγοποιημÎνη, Ï€ÏοστατεÏονται μόνο οι σελίδες με επÎκταση "_p". -User Accounts==ΛογαÏιασμοί χÏηστών -Select user==ΕπιλÎξτε χÏήστη -New user==ÎÎος χÏήστης -Username==Όνομα χÏήστη -Password==ΣÏνθημα -Repeat password==Επαναλάβετε τον κωδικό Ï€Ïόσβασης -First name==Ονομα -Last name==Επώνυμο -Address==ΔιεÏθυνση -Rights:==Δικαιώματα: -Timelimit==ΧÏονικό ÏŒÏιο -Time used==ΧÏόνος που χÏησιμοποιείται #----------------------------- #File: ConfigAppearance_p.html @@ -881,8 +785,6 @@ Status page==Σελίδα κατάστασης Network pages==Σελίδες δικτÏου Surftips==Surftips News pages==Σελίδες ειδήσεων -Blog==Ιστολόγιο -Wiki==Wiki Public bookmarks==Δημόσιοι σελιδοδείκτες Home Page==ΑÏχική Σελίδα File Share==Κοινή χÏήση αÏχείου @@ -1042,28 +944,6 @@ manual update:<br/>apt-get update && apt-get install yacy==μη αυτό automatic update: add the following line to /etc/crontab<br/>0 6 * * * root apt-get update && apt-get -y --force-yes install yacy==αυτόματη ενημÎÏωση: Ï€ÏοσθÎστε την ακόλουθη γÏαμμή στο /etc/crontab<br/>0 6 * * * root apt-get update && apt-get -y --force-yes install yacy #----------------------------- -#File: ConfigUser_p.html -#--------------------------- -"Save User"=="Αποθήκευση χÏήστη" -"Delete User"=="ΔιαγÏαφή χÏήστη" -"ConfigAccountList_p.html"=="ConfigAccountList_p.html" -User Account Editor==ΕπεξεÏγαστής λογαÏÎ¹Î±ÏƒÎ¼Î¿Ï Ï‡Ïήστη -Generic error.==Γενικό σφάλμα. -Passwords do not match.==Οι κωδικοί Ï€Ïόσβασης δεν ταιÏιάζουν. -Username too short. Username must be >= 4 Characters.==Το όνομα χÏήστη είναι Ï€Î¿Î»Ï Î¼Î¹ÎºÏÏŒ. Το όνομα χÏήστη Ï€ÏÎπει να είναι >= 4 χαÏακτήÏες. -Username already used (not allowed).==Όνομα χÏήστη που χÏησιμοποιείται ήδη (δεν επιτÏÎπεται). -Username==Όνομα χÏήστη -Password==ΣÏνθημα -Repeat password==Επαναλάβετε τον κωδικό Ï€Ïόσβασης -First name==Ονομα -Last name==Επώνυμο -Address==ΔιεÏθυνση -Rights:==Δικαιώματα: -Timelimit==ΧÏονικό ÏŒÏιο -Time used==ΧÏόνος που χÏησιμοποιείται -back to user list==επιστÏοφή στη λίστα χÏηστών -#----------------------------- - #File: Connections_p.html #--------------------------- Server Connection Tracking==ΠαÏακολοÏθηση σÏνδεσης διακομιστή @@ -2470,8 +2350,6 @@ inbox==inbox "DHT Receive: yes"=="DHT Λήψη: ναι" "DHT receive enabled"=="Η λήψη DHT ενεÏγοποιήθηκε" "Profile updated"=="Το Ï€Ïοφίλ ενημεÏώθηκε" -"Wiki updated"=="Το Wiki ενημεÏώθηκε" -"Blog updated"=="Το ιστολόγιο ενημεÏώθηκε" "Crawl"=="ΑÏγή ποÏεία" "The YaCy Network"=="Το Δίκτυο YaCy" "Type: Virgin"=="ΤÏπος: ΠαÏθÎνος" @@ -2517,7 +2395,6 @@ Received DHT<br/>Word Chunks==Λήφθηκαν DHT<br/>Word Chunks Received<br/>URLs==Λήφθηκαν<br/>URL Location==Τοποθεσία user agent<br/>==Ï€ÏάκτοÏας χÏήστη<br/> -send <strong>M</strong>essage/<br/>show <strong>P</strong>rofile/<br/>edit <strong>W</strong>iki/<br/>browse <strong>B</strong>log==αποστολή <strong>μ</strong>ηνÏματος/<br/>εμφάνιση <strong>Ï€</strong>Ïοφίλ/<br/>επεξεÏγασία <strong>W</strong>iki/<br/>πεÏιήγηση <strong>ι</strong>στολογίου Network==Δίκτυο Online Peers==Online Peers Number of<br/>Documents==ΑÏιθμός<br/>ΕγγÏάφων @@ -2588,7 +2465,6 @@ 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' (Ï€Ïοφίλ). -Publishing of added or modified translation for the user interface. Other peers may include it in their local translation list.==Δημοσίευση Ï€ÏοστιθÎμενης ή Ï„ÏοποποιημÎνης μετάφÏασης για τη διεπαφή χÏήστη. Άλλοι συνομήλικοι μποÏεί να το συμπεÏιλάβουν στην τοπική λίστα μεταφÏάσεων τους. More news services will follow.==Θα ακολουθήσουν πεÏισσότεÏες υπηÏεσίες ειδήσεων. Above you can see four menus:==ΠαÏαπάνω μποÏείτε να δείτε Ï„ÎσσεÏα μενοÏ: Only these news will be used to display specific news services as explained above.==Μόνο αυτÎÏ‚ οι ειδήσεις θα χÏησιμοποιηθοÏν για την εμφάνιση συγκεκÏιμÎνων υπηÏεσιών ειδήσεων όπως εξηγείται παÏαπάνω. @@ -2994,23 +2870,18 @@ Age==Ηλικία "Reset to defaults settings"=="ΕπαναφοÏά στις Ï€ÏοεπιλεγμÎνες Ïυθμίσεις" limitations==πεÏιοÏισμοÏÏ‚ Local Search access rate limitations==ΠεÏιοÏισμοί Ï€Î¿ÏƒÎ¿ÏƒÏ„Î¿Ï Ï€Ïόσβασης τοπικής αναζήτησης -You can configure here limitations on access rate to this peer search interface by unauthenticated users and users without extended search right==ΜποÏείτε να διαμοÏφώσετε εδώ πεÏιοÏισμοÏÏ‚ στο ποσοστό Ï€Ïόσβασης σε αυτήν τη διεπαφή ομότιμης αναζήτησης από μη πιστοποιημÎνους χÏήστες και χÏήστες χωÏίς δικαίωμα εκτεταμÎνης αναζήτησης YaCy search==YaCy αναζήτηση Access rate limitations to this peer search interface.==ΠεÏιοÏισμοί ÏÏ…Î¸Î¼Î¿Ï Ï€Ïόσβασης σε αυτήν τη διεπαφή ομότιμης αναζήτησης. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search is blocked.==Όταν Îνας χÏήστης με πεÏιοÏισμÎνα δικαιώματα (χωÏίς Îλεγχο ταυτότητας ή χωÏίς εκτεταμÎνο δικαίωμα αναζήτησης) υπεÏβαίνει Îνα ÏŒÏιο, η αναζήτηση αποκλείεται. Max searches in 3s==ΜÎγιστη αναζήτηση σε 3 δευτεÏόλεπτα Max searches in 1mn==ΜÎγιστη αναζήτηση σε 1 λεπτό Max searches in 10mn==ΜÎγιστες αναζητήσεις σε 10 λεπτά Peer-to-peer search==Ομότιμη αναζήτηση Access rate limitations to the peer-to-peer search mode.==Î Ïόσβαση στους πεÏιοÏισμοÏÏ‚ Ï€Î¿ÏƒÎ¿ÏƒÏ„Î¿Ï ÏƒÏ„Î· λειτουÏγία αναζήτησης peer-to-peer. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search scope falls back to only this local peer index.==Όταν Îνας χÏήστης με πεÏιοÏισμÎνα δικαιώματα (χωÏίς Îλεγχο ταυτότητας ή χωÏίς εκτεταμÎνο δικαίωμα αναζήτησης) υπεÏβαίνει Îνα ÏŒÏιο, το εÏÏος αναζήτησης επανÎÏχεται μόνο σε αυτό το τοπικό ευÏετήÏιο ομότιμων. Max searches in 10mn==ΜÎγιστες αναζητήσεις σε 10 λεπτά Peer-to-peer search with JavaScript results resorting==Ομότιμη αναζήτηση με JavaScript καταφυγή αποτελεσμάτων Access rate limitations to the peer-to-peer search mode with browser-side JavaScript results resorting enabled==ΠεÏιοÏισμοί Ï€Î¿ÏƒÎ¿ÏƒÏ„Î¿Ï Ï€Ïόσβασης στη λειτουÏγία αναζήτησης peer-to-peer με ενεÏγοποιημÎνη την καταφυγή αποτελεσμάτων JavaScript από την πλευÏά του Ï€ÏογÏάμματος πεÏιήγησης -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, results resorting becomes only applicable on demand, server-side.==Όταν Îνας χÏήστης με πεÏιοÏισμÎνα δικαιώματα (χωÏίς Îλεγχο ταυτότητας ή εκτεταμÎνο δικαίωμα αναζήτησης) υπεÏβαίνει Îνα ÏŒÏιο, η καταφυγή αποτελεσμάτων εφαÏμόζεται μόνο κατ' απαίτηση, από την πλευÏά του διακομιστή. Remote snippet load==ΑπομακÏυσμÎνη φόÏτωση αποσπάσματος Limitations on snippet loading from remote websites.==ΠεÏιοÏισμοί στη φόÏτωση αποσπασμάτων από απομακÏυσμÎνους ιστότοπους. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the snippets fetch strategy falls back to 'CACHEONLY'==Όταν Îνας χÏήστης με πεÏιοÏισμÎνα δικαιώματα (χωÏίς Îλεγχο ταυτότητας ή εκτεταμÎνο δικαίωμα αναζήτησης) υπεÏβαίνει Îνα ÏŒÏιο, η στÏατηγική ανάκτησης αποσπασμάτων επιστÏÎφει στο "CACHEONLY" Max searches in 3s==ΜÎγιστη αναζήτηση σε 3 δευτεÏόλεπτα <em id="changeInfo">Changes will take effect immediately.</em>==<em id="changeInfo">Οι αλλαγÎÏ‚ θα τεθοÏν σε Î¹ÏƒÏ‡Ï Î±Î¼Îσως.</em> #----------------------------- @@ -3235,14 +3106,9 @@ These settings configure the access method to your own http proxy and server.==Î All traffic is routed through one single port, for both proxy and server.==Όλη η κίνηση δÏομολογείται μÎσω μιας ενιαίας θÏÏας, τόσο για διακομιστή μεσολάβησης όσο και για διακομιστή. HTTPS Server Port:==HTTPS ΘÏÏα διακομιστή: Server Access Restrictions==ΠεÏιοÏισμοί Ï€Ïόσβασης διακομιστή -You can restrict the access to this proxy/server using a two-stage security barrier:==ΜποÏείτε να πεÏιοÏίσετε την Ï€Ïόσβαση σε αυτόν τον διακομιστή μεσολάβησης/server χÏησιμοποιώντας Îνα φÏάγμα ασφαλείας δÏο σταδίων: define an <em>access domain</em> with a list of granted client IP-numbers or with wildcards==οÏίστε Îναν τομÎα <em>Ï€Ïόσβασης</em> με μια λίστα παÏαχωÏημÎνων IP-αÏιθμών πελάτη ή με χαÏακτήÏες μπαλαντÎÏ -define an <em>user account</em> with an user:password - pair==οÏίστε Îναν <em>λογαÏιασμό χÏήστη</em> με user:password - pair -This is the account that restricts access to the proxy function.==Αυτός είναι ο λογαÏιασμός που πεÏιοÏίζει την Ï€Ïόσβαση στη λειτουÏγία διακομιστή μεσολάβησης. 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.==IP-ΑÏιθμήστε τον τομÎα Ï€Ïόσβασης σε Îνα μοτίβο που αντιστοιχεί στο τοπικό σας intranet. -The default setting should be right in most cases. If you want, you can also set a proxy account==Η Ï€ÏοεπιλεγμÎνη ÏÏθμιση θα Ï€ÏÎπει να είναι σωστή στις πεÏισσότεÏες πεÏιπτώσεις. Εάν θÎλετε, μποÏείτε επίσης να οÏίσετε Îναν λογαÏιασμό διακομιστή μεσολάβησης -so that every proxy user must authenticate first, but this is rather unusual.==Îτσι ώστε κάθε χÏήστης μεσολάβησης Ï€ÏÎπει Ï€Ïώτα να κάνει Îλεγχο ταυτότητας, αλλά αυτό είναι μάλλον ασυνήθιστο. IP-Number filter==IP-ΦίλτÏο αÏιθμών Accounts==ΛογαÏιασμοί #----------------------------- @@ -3633,59 +3499,6 @@ Save Tools Configuration==Αποθήκευση διαμόÏφωσης εÏγαλ CyTag Trails==ΔιαδÏομÎÏ‚ CyTag #----------------------------- -#File: TransNews_p.html -#--------------------------- -"Publish"=="ΔημοσιεÏω" -"negative vote"=="αÏνητική ψήφο" -"positive vote"=="θετική ψήφο" -You can share your local addition to translations and distribute it to other peers.==ΜποÏείτε να μοιÏαστείτε την τοπική σας Ï€Ïοσθήκη σε μεταφÏάσεις και να τη διανείμετε σε άλλους συνομηλίκους. -The remote peer can vote on your translation and add it to its own local translation.==Ο απομακÏυσμÎνος ομότιμος μποÏεί να ψηφίσει για τη μετάφÏασή σας και να την Ï€ÏοσθÎσει στη δική του τοπική μετάφÏαση. -File:==ΑÏχείο: -Originator==ΔημιουÏγός -English:==Αγγλικός: -existing==υπάÏχον -Translation:==ΜετάφÏαση: -Vote on this translation. If you vote positive the translation is added to your local translation list.==Ψηφίστε για αυτήν τη μετάφÏαση. Εάν ψηφίσετε θετικά, η μετάφÏαση Ï€Ïοστίθεται στην τοπική σας λίστα μεταφÏάσεων. -#----------------------------- - -#File: Translator_p.html -#--------------------------- -"Save translation"=="Αποθήκευση μετάφÏασης" -Translation Editor==Επιμελητής μετάφÏασης -Translate untranslated text of the user interface (current language). The modified translation file is stored in DATA/LOCALE directory.==ΜετάφÏαση μη μεταφÏασμÎνου κειμÎνου της διεπαφής χÏήστη (Ï„ÏÎχουσα γλώσσα). Το Ï„ÏοποποιημÎνο αÏχείο μετάφÏασης αποθηκεÏεται στον κατάλογο DATA/LOCALE. -UI Translation==ΜετάφÏαση διεπαφής χÏήστη -Source File==ΑÏχείο πηγής -view it==δείτε το -filter untranslated==φίλτÏο αμετάφÏαστο -Source Text==Πηγαίο Κείμενο -#----------------------------- - -#File: User.html -#--------------------------- -"login"=="σÏνδεση" -"logout"=="αποσÏνδεση" -"red bar"=="κόκκινη μπάÏα" -"green bar"=="Ï€Ïάσινο μπαÏ" -"Change"=="Αλλαγή" -User Page==Σελίδα χÏήστη -You are not logged in.==Δεν είστε συνδεδεμÎνοι. -Username:==Όνομα χÏήστη: -Password:==ΣÏνθημα: -(Identified by==(Î ÏοσδιοÏίστηκε από -IP==IP -Username/Password==Όνομα χÏήστη/Password -Cookie==ΚουλουÏάκι -old Password==παλιός κωδικός Ï€Ïόσβασης -new Password==νÎος κωδικός Ï€Ïόσβασης -new Password(repetition)==νÎος κωδικός Ï€Ïόσβασης (επανάληψη) -You are currently logged in as admin.==Αυτήν τη στιγμή είστε συνδεδεμÎνος ως διαχειÏιστής. -(after logout you will be prompted for your password again. simply click "cancel")==(μετά την αποσÏνδεση θα σας ζητηθεί ξανά ο κωδικός Ï€Ïόσβασής σας. απλά κάντε κλικ στο "ακÏÏωση") -Password was changed.==Ο κωδικός Ï€Ïόσβασης άλλαξε. -Old Password is wrong.==Ο παλιός κωδικός είναι λάθος. -New Password and its repetition do not match.==Ο νÎος κωδικός Ï€Ïόσβασης και η επανάληψή του δεν ταιÏιάζουν. -New Password is empty.==Ο νÎος κωδικός Ï€Ïόσβασης είναι κενός. -#----------------------------- - #File: VFS.html #--------------------------- "File system browser"=="Î ÏόγÏαμμα πεÏιήγησης συστήματος αÏχείων" @@ -3889,40 +3702,9 @@ Other Dot==Άλλο Dot Dot-end==Τελική άκÏη #----------------------------- -#File: Wiki.html -#--------------------------- -"all"=="όλοι" -"admin"=="διαχειÏιστής" -"Submit"=="Υποτάσσομαι" -"Preview"=="Î ÏεμιÎÏα" -"Discard"=="ΑποÏÏίπτω" -"Show"=="Επίδειξη" -"Compare"=="ΣυγκÏίνω" -(only granted to admin)==(χοÏηγείται μόνο σε διαχειÏιστή) -Index -==ΕυÏετήÏιο - -Grant Write Access to==ΠαÏαχωÏήστε Ï€Ïόσβαση εγγÏαφής σε -Edit==ΤÏοποποίηση -Author:==ΣυγγÏαφÎας: -Text:==Κείμενο: -Preview==Î ÏεμιÎÏα -No changes have been submitted so far!==Δεν Îχουν υποβληθεί αλλαγÎÏ‚ μÎχÏι στιγμής! -Index==Δείκτης -Subject==ΘÎμα -Change Date==Αλλαγή ημεÏομηνίας -Last Author==Τελευταίος συγγÏαφÎας -Start Page==ΑÏχική Σελίδα -Versions==εκδόσεις -Compare version from==ΣυγκÏίνετε την Îκδοση από -with version from==με Îκδοση από -Error==Σφάλμα -You can use==ΜποÏείτε να χÏησιμοποιήσετε -Changes will be published as announcement on YaCyNews==Οι αλλαγÎÏ‚ θα δημοσιευτοÏν ως ανακοίνωση στο YaCyNews -#----------------------------- - -#File: WikiHelp.html +#File: WikiCodeHelp.html #--------------------------- Wiki-Code==Wiki-Code -This table contains a short description of the tags that can be used in the Wiki and several other servlets==Αυτός ο πίνακας πεÏιÎχει μια σÏντομη πεÏιγÏαφή των ετικετών που μποÏοÏν να χÏησιμοποιηθοÏν στο Wiki και σε πολλοÏÏ‚ άλλους servlets of YaCy. For a more detailed description visit the==από YaCy. Για πιο λεπτομεÏή πεÏιγÏαφή επισκεφθείτε το Code==Κώδικας Description==ΠεÏιγÏαφή @@ -3947,7 +3729,6 @@ These tags create a definition list.==ΑυτÎÏ‚ οι ετικÎτες δημιΠThis tag creates a horizontal line.==Αυτή η ετικÎτα δημιουÏγεί μια οÏιζόντια γÏαμμή. [[pagename]]==[[όνομα σελίδας]] [[pagename|description]]==[[όνομα σελίδας|πεÏιγÏαφή]] -This tag creates links to other pages of the wiki.==Αυτή η ετικÎτα δημιουÏγεί συνδÎσμους Ï€Ïος άλλες σελίδες του wiki. [url]==[url] [url description]==[πεÏιγÏαφή url] This tag creates links to external websites.==Αυτή η ετικÎτα δημιουÏγεί συνδÎσμους Ï€Ïος εξωτεÏικοÏÏ‚ ιστότοπους. @@ -4272,7 +4053,6 @@ Outgoing News==ΕξεÏχόμενες Ειδήσεις Published News==ΔημοσιεÏτηκαν Ειδήσεις Community Data==ΔεδομÎνα Κοινότητας Surftips==Surftips -Local Peer Wiki==Τοπικό ομότιμο Wiki Bookmarks==Σελιδοδείκτες #----------------------------- @@ -4283,7 +4063,6 @@ Advanced Settings==Î ÏοηγμÎνες Ïυθμίσεις Performance Settings of Busy Queues==Ρυθμίσεις απόδοσης των κατειλημμÎνων ουÏών Viewer and administration for database tables==Î Ïοβολή και διαχείÏιση πινάκων βάσεων δεδομÎνων Advanced Properties==Î ÏοηγμÎνες ιδιότητες -UI Translations==ΜεταφÏάσεις διεπαφής χÏήστη #----------------------------- #File: env/templates/submenuCrawlMonitor.template @@ -4391,13 +4170,6 @@ User Profile==Î Ïοφίλ χÏήστη Local robots.txt==Τοπικά robots.txt #----------------------------- -#File: env/templates/submenuPublication.template -#--------------------------- -Publication==Δημοσίευση -Wiki==Wiki -Blog==Ιστολόγιο -#----------------------------- - #File: env/templates/submenuRanking.template #--------------------------- Ranking and Heuristics==Κατάταξη και ΕυÏετική @@ -4544,14 +4316,6 @@ Get the latest Java Plug-in here.==Αποκτήστε την πιο Ï€Ïόσφα Built with Processing==Κατασκευάστηκε με ΕπεξεÏγασία #----------------------------- -#File: proxymsg/authfail.inc -#--------------------------- -"login"=="σÏνδεση" -Your Username/Password is wrong.==Το όνομα χÏήστη σας/Password είναι λάθος. -Username==Όνομα χÏήστη -Password==ΣÏνθημα -#----------------------------- - #File: proxymsg/error.html #--------------------------- YaCy: Error Message==YaCy: Μήνυμα σφάλματος diff --git a/locales/es.lng b/locales/es.lng index 7ac4b3c8b..2f686db25 100644 --- a/locales/es.lng +++ b/locales/es.lng @@ -220,54 +220,6 @@ News==Noticias Proxy==Proxy #----------------------------- -#File: Blog.html -#--------------------------- -Blog-Home==Blog-Home -Author:==Autor: -Subject:==TÃtulo: -Comments:==Observaciones: -deactivated==desactivado -moderated==moderado -"Submit"=="Enviar" -"Preview"=="Previsualizar" -"Discard"=="Descartar" -No changes have been submitted so far!==¡Hasta ahora no se han presentado cambios! -Access denied==Acceso denegado -To edit or create blog-entries you need to be logged in as Admin or User who has Blog rights.==Para editar o crear entradas de blog es necesario iniciar sesión como administrador o usuario que tiene derechos de Blog. -Confirm deletion==Confirmar la eliminación -Import was successful!==¡La importación tuvo éxito! -Import failed, maybe the supplied file was no valid blog-backup?==Importar falló, tal vez el archivo suministrado no era una copia de seguridad válida del blog? -Please select the XML-file you want to import:==Seleccione el archivo XML que desea importar: -Edit==Editar -Preview==Vista previa -"RSS"=="RSS" -"No, leave it."=="No, conservarlo." -"Yes, delete it."=="SÃ, eliminarlo." -<< previous entries==<< entradas anteriores -Are you sure...==¿Estás seguro...? -XML-Import==XML-Import -activated==activado -next entries >>==entradas siguientes>> -Text:==Texto: -"Import"=="Importar" -#----------------------------- - -#File: BlogComments.html -#--------------------------- -Blog-Home==Blog-Home -Author:==Autor: -Subject:==TÃtulo: -"Submit"=="Enviar" -"Preview"=="Previsualizar" -"Discard"=="Descartar" -Comments:==Observaciones: -<< previous entries==<< entradas anteriores -next entries >>==entradas siguientes>> -Comment on this Blog==Comentar sobre este Blog -Comments are not allowed for this posting!==Los comentarios no están permitidos para esta publicación! -Text:==Texto: -#----------------------------- - #File: Bookmarks.html #--------------------------- The bookmarks list can also be retrieved as RSS feed. This can also be done when you select a specific tag.==La lista de marcadores también se puede recuperar como fuenteRSS. Esto también se puede hacer cuando se selecciona una etiqueta especÃfica. @@ -347,42 +299,8 @@ loading....==cargando... #File: ConfigAccounts_p.html #--------------------------- -User Accounts==Cuenta de usuario -User Administration==Administración de Usuario -Generic error.==Error generico. Passwords do not match.==Las contraseñas no coinciden. -Username too short. Username must be >= 4 Characters.==Nombre de usuario demasiado corto. El nombre de usuario debe ser>=4Caracteres. Admin Account==Cuenta de administrador -Access from localhost without account==Acceder desde el localhost sin cuenta -Access to your peer from your own computer (localhost access) is granted with administrator rights. No need to configure an administration account.==El acceso a su nodo desde su propia computadora (acceso localhost) se otorga con derechos de administrador. No es necesario configurar una cuenta de administración. -Access only with qualified account==Acceso solo con cuenta calificada -This is required if you want a remote access to your peer, but it also hardens access controls on administration operations of your peer.==Esto es necesario si desea un acceso remoto a su nodo, pero también fortalece los controles de acceso en las operaciones de administración de su nodo. -Peer User:==Usuario del Nodo -New Peer Password:==Nueva contraseña del Nodo: -Repeat Peer Password:==Repita la contraseña del Nodo: -"Define Administrator"=="Definir Administrador" -Select user==Seleccionar usuario -New user==Nuevo usuario -Repeat password==Repite la contraseña -First name==Nombre -Last name==Apellido -Address==Dirección -Timelimit==Plazo -Time used==Tiempo utilizado -<b>WARNING</b> This YaCy instance can be administered with the account "admin" and the default password "yacy".==<b>ADVERTENCIA</b>Esta instancia YaCy e puede administrar con la cuenta "admin" y la contraseña predeterminada "yacy". -Password==Contraseña -Rights:==Derechos: -Username==Nombre de Usuario -"Delete User"=="Borrar usuario" -"Edit User"=="Editar usuario" -"Save User"=="Guardar usuario" -"Set Access Rules"=="Establecer reglas de acceso" -Access Rules==Reglas de acceso -Change the password as soon as possible!==¡Cambie la contraseña tan pronto como sea posible! -Please use with care, notably when you browse untrusted and potentially malicious websites while running your YaCy peer on the same computer.==Úselo con cuidado, especialmente cuando navega por sitios web no confiables y potencialmente maliciosos mientras ejecuta su nodo YaCy en la misma computadora. -Protection of all pages: if set to on, access to all pages need authorization; if off, only pages with "_p" extension are protected.==Protección de todas las páginas: si está activada, el acceso a todas las páginas necesita autorización; Si está desactivado, solo las páginas con extensión "_p" están protegidas. -This setting is convenient but less secure than using a qualified admin account.==Esta configuración es conveniente pero menos segura que usar una cuenta de administrador calificada. -Username already used (not allowed).==Nombre de usuario ya utilizado (no permitido). #----------------------------- #File: ConfigAppearance_p.html @@ -732,8 +650,6 @@ Status page==Situación de la página Network pages==Páginas de red Surftips==Surftips News pages==Páginas de noticias -Blog==Blog -Wiki==Wiki Public bookmarks==Marcadores públicos Home Page==Homepage File Share==Compartir archivo @@ -2031,7 +1947,6 @@ The information that is presented on this page can also be retrieved as XML.==La Click the API icon to see the XML.==Haga clic en el icono APIpara ver el XML. Network Overview==Resumen de la Red Manually contacting Peer==Contacto manual con Peer -send <strong>M</strong>essage/<br/>show <strong>P</strong>rofile/<br/>edit <strong>W</strong>iki/<br/>browse <strong>B</strong>log==enviar <strong>M</strong>essage/<br/>show <strong>P</strong>rofile/<br/>edit <strong>W</strong>iki/<br/>navegar <strong>B</strong>log Search for a peername (RegExp allowed)==Buscar un nombre de usuario (RegExp permitido) "Search"=="Buscar" Name==Nombre @@ -2087,10 +2002,8 @@ strong query activity==actividad de consulta fuerte red lines==lÃneas rojas green lines==lÃneas verdes Network History==Historial de Red -"Blog updated"=="Blog actualizado" "Profile updated"=="Perfil actualizado" "Type: Virgin"=="Type: Virgin" -"Wiki updated"=="Wiki actualizado" "add Peer"=="agregar a Peer" <b>Count of Connected Senior Peers</b> in the last two days, scale = 1h==Conteo<b>de pares mayores conectados</b>en los últimos dos dÃas, escala = 1h <b>Count of all Active Peers Per Day</b> in the last week, scale = 1d==Conteo<b>de todos los pares activos por dÃa</b>en la última semana, escala = 1d @@ -2185,7 +2098,6 @@ Attributes==Atributos "Outgoing News"=="Noticias salientes" "Processed News"=="Noticias procesadas" "Published News"=="Noticias publicadas" -Publishing of added or modified translation for the user interface. Other peers may include it in their local translation list.==Publicación de la traducción añadida o modificada para la interfaz de usuario. Otros pares pueden incluirla en su lista de traducciones locales. #----------------------------- #File: Performance_p.html @@ -2626,14 +2538,9 @@ Proxy Access Settings==Configuración de acceso proxy These settings configure the access method to your own http proxy and server.==Estos ajustes configuran el método de acceso a su propio proxy y servidor http. All traffic is routed through one single port, for both proxy and server.==Todo el tráfico se enruta a través de un solo puerto, tanto para proxy como para servidor. Server Access Restrictions==Restricciones de acceso al servidor -You can restrict the access to this proxy/server using a two-stage security barrier:==Puede restringir el acceso a este proxy/serverusando una barrera de seguridad de dos etapas: define an <em>access domain</em> with a list of granted client IP-numbers or with wildcards==definir un dominio de acceso<em></em>con una lista de números IP de cliente concedidos o con comodines -define an <em>user account</em> with an user:password - pair==define an <em>user account</em> with an user:password - pair -This is the account that restricts access to the proxy function.==Esta es la cuenta que restringe el acceso a la función proxy. You probably don't want to share the proxy to the internet, so you should set the==Usted probablemente no desea compartir el proxy a Internet, asà que usted debe establecer el IP-Number Access Domain to a pattern that corresponds to you local intranet.==Dominio de acceso IP-Number a un patrón que corresponda a su intranet local. -The default setting should be right in most cases. If you want, you can also set a proxy account==La configuración predeterminada deberÃa ser correcta en la mayorÃa de los casos. Si lo desea, también puede establecer una cuenta proxy -so that every proxy user must authenticate first, but this is rather unusual.==para que cada usuario proxy debe autenticarse primero, pero esto es bastante inusual. IP-Number filter==IP-Number filter Always Fresh==Siempre fresco If unchecked, the proxy will act using Cache Fresh / Cache Stale rules. If checked, the cache is always fresh which means==Si no está marcado, el proxy actuará usando las reglas Cache Fresh / Cache State. Si está marcado, el caché siempre está fresco, lo que significa @@ -3161,44 +3068,6 @@ YaCy Debugging: Thread Dump==YaCy Debugging: Thread Dump Threaddump==Threaddump #----------------------------- -#File: Translator_p.html -#--------------------------- -Translation Editor==Editor de Traducción -UI Translation==Traducción UI -Source File==Archivo Fuente -view it==ver -filter untranslated==filtrar sin traducir -Source Text==Texto Original -"Save translation"=="Guardar traducción" -Translate untranslated text of the user interface (current language). The modified translation file is stored in DATA/LOCALE directory.==Traducir texto no traducido de la interfaz de usuario (idioma actual). El archivo de traducción modificado se almacena en el directorioDATA/LOCALE. -#----------------------------- - -#File: User.html -#--------------------------- -User Page==Página de Usuario -Username:==Nombre de Usuario: -"login"=="Iniciar sesión" -old Password==contraseña anterior -new Password(repetition)==nueva contraseña (confirmar) -"Change"=="Modificar" -You are currently logged in as admin.==Actualmente está conectado como administrador. -(after logout you will be prompted for your password again. simply click "cancel")==(después de la salida se le pedirá para su contraseña de nuevo. simplemente haga clic en "cancelar") -Password was changed.==Se cambió la contraseña. -Old Password is wrong.==La vieja contraseña está mal. -New Password and its repetition do not match.==Nueva contraseña y su repetición no coinciden. -New Password is empty.==La nueva contraseña está vacÃa. -Cookie==Cookie -"green bar"=="Bar verde" -"logout"=="Logout" -"red bar"=="Bar rojo" -(Identified by==(Identificado por -IP==IP -Password:==Contraseña: -Username/Password==Username/Password -You are not logged in.==No has iniciado sesión. -new Password==nueva contraseña -#----------------------------- - #File: ViewFile.html #--------------------------- View URL Content==View URL Content @@ -3387,40 +3256,9 @@ size==Tamaño time==hora #----------------------------- -#File: Wiki.html -#--------------------------- -Grant Write Access to==Subvención de acceso escrito a -"all"=="todo" -"admin"=="admin" -Start Page==Página de inicio -Versions==Versiones -Author:==Autor: -You can use==Puede utilizar -"Submit"=="Enviar" -"Preview"=="Previsualizar" -"Discard"=="Descartar" -No changes have been submitted so far!==¡Hasta ahora no se han presentado cambios! -Subject==Asunto -Change Date==Cambiar fecha -Last Author==Último Autor -Compare version from==Comparar la versión de -"Show"=="Mostrar" -with version from==con la versión de -"Compare"=="Comparar" -Changes will be published as announcement on YaCyNews==Los cambios se publicarán como anuncio en YaCyNews -Edit==Editar -Preview==Vista previa -(only granted to admin)==(solo concedido al administrador) -Error==Error -Index -==Ãndice -Index==Indice -Text:==Texto: -#----------------------------- - -#File: WikiHelp.html +#File: WikiCodeHelp.html #--------------------------- Wiki-Code==Wiki-Code -This table contains a short description of the tags that can be used in the Wiki and several other servlets==Esta tabla contiene una breve descripción de las etiquetas que se pueden utilizar en el Wiki y varios otros servlets of YaCy. For a more detailed description visit the==de YaCy. Para una descripción más detallada visite el Description==Descripción These tags create stressed texts. The first pair emphasizes the text (most browsers will display it in italics),==Estas etiquetas crean textos estresados. El primer par enfatiza el texto (la mayorÃa de los navegadores lo mostrarán en cursiva), @@ -3430,7 +3268,6 @@ These tags create a numbered list.==Estas etiquetas crean una lista numerada. These tags create an unnumbered list.==Estas etiquetas crean una lista no numerada. These tags create a definition list.==Estas etiquetas crean una lista de definición. This tag creates a horizontal line.==Esta etiqueta crea una lÃnea horizontal. -This tag creates links to other pages of the wiki.==Esta etiqueta crea enlaces a otras páginas del wiki. This tag displays an image, it can be aligned left, right or center.==Esta etiqueta muestra una imagen, se puede alinear a la izquierda, derecha o centro. This tag displays a Youtube or Vimeo video with the id specified and fixed width 425 pixels and height 350 pixels.==Esta etiqueta muestra un vÃdeo de Youtube o Vimeo con el id especificado y el ancho fijo425pÃxeles y la altura350pÃxeles. These tags create a table, whereas the first marks the beginning of the table, the second starts==Estas etiquetas crean una tabla, mientras que la primera marca el comienzo de la tabla, la segunda comienza @@ -3743,7 +3580,6 @@ Processed News==Noticias de procesadas Outgoing News==Noticias salientes de Published News==Noticias de publicadas Community Data==Datos comunitarios -Local Peer Wiki==Wiki de pares locales Processes==Procesos Messages==Mensajes Overview==Resumen @@ -3758,7 +3594,6 @@ Surftips==Surftips System Administration==Administración del Sistema Advanced Settings==Configuración Avanzada Advanced Properties==Propiedades Avanzadas -UI Translations==UI Translations Performance Settings of Busy Queues==Ajustes de rendimiento de colas ocupadas Viewer and administration for database tables==Visor y administración para tablas de base de datos #----------------------------- @@ -3830,13 +3665,6 @@ Crawler/Spider==Crawler/Spider Network Harvesting==Cosecha de redes #----------------------------- -#File: env/templates/submenuPublication.template -#--------------------------- -Publication==Publicación -Blog==Blog -Wiki==Wiki -#----------------------------- - #File: env/templates/submenuRanking.template #--------------------------- Ranking and Heuristics==Ranking y HeurÃsticas @@ -3876,14 +3704,6 @@ Image Collage==Collage de imágenes Index Browser==Navegador de Ãndices #----------------------------- -#File: proxymsg/authfail.inc -#--------------------------- -Your Username/Password is wrong.==Your Username/Password is wrong. -"login"=="Iniciar sesión" -Password==Contraseña -Username==Nombre de Usuario -#----------------------------- - #File: proxymsg/error.html #--------------------------- YaCy: Error Message==YaCy: Mensaje de Error @@ -4452,42 +4272,6 @@ Thread:==Thread: "Stop"=="Alto" #----------------------------- -#File: ConfigAccountList_p.html -#--------------------------- -User Accounts==Cuenta de usuario -User List==Lista de usuarios -Address==Dirección -First name==Nombre -Last Access==Último acceso -Last name==Apellido -Rights==Derechos -Time==Hora -Traffic==Tráfico -User==Usuario -#----------------------------- - -#File: ConfigUser_p.html -#--------------------------- -Username too short. Username must be >= 4 Characters.==Nombre de usuario demasiado corto. El nombre de usuario debe ser>=4Caracteres. -Username already used (not allowed).==Nombre de usuario ya utilizado (no permitido). -Passwords do not match.==Las contraseñas no coinciden. -User Account Editor==Editor de cuentas de usuario -back to user list==volver a la lista de usuarios -Generic error.==Error generico. -Rights:==Derechos: -"Delete User"=="Borrar usuario" -"Save User"=="Guardar usuario" -"ConfigAccountList_p.html"=="ConfigAccountList_p.html" -Address==Dirección -First name==Nombre -Last name==Apellido -Password==Contraseña -Repeat password==Repite la contraseña -Time used==Tiempo utilizado -Timelimit==Plazo -Username==Nombre de Usuario -#----------------------------- - #File: ContentAnalysis_p.html #--------------------------- The quantRate is a measurement for the number of words that take part in a signature computation. The higher the number, the less==El quantRate es una medida para el número de palabras que participan en un cálculo de la firma. Cuanto mayor sea el número, menos @@ -4521,11 +4305,6 @@ Start URL==Start URL #File: SearchAccessRate_p.html #--------------------------- -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, results resorting becomes only applicable on demand, server-side.==Cuando un usuario con derechos limitados (inautenticado o sin derecho de búsqueda extendido) excede un lÃmite, el recurso a los resultados sólo se aplica a petición del servidor. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search scope falls back to only this local peer index.==Cuando un usuario con derechos limitados (inautenticado o sin derecho de búsqueda extendido) excede un lÃmite, el alcance de búsqueda se reduce únicamente a este Ãndice de pares local. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the snippets fetch strategy falls back to 'CACHEONLY'==Cuando un usuario con derechos limitados (inautenticado o sin derecho de búsqueda extendido) excede un lÃmite, la estrategia de extracción de fragmentos cae de nuevo a 'CACHEONLY' -You can configure here limitations on access rate to this peer search interface by unauthenticated users and users without extended search right==Puede configurar aquà las limitaciones de la tasa de acceso a esta interfaz de búsqueda de pares por usuarios y usuarios no autenticados sin la derecha de búsqueda extendida -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search is blocked.==Cuando un usuario con derechos limitados (inautenticado o sin derecho de búsqueda extendido) excede un lÃmite, la búsqueda está bloqueada. Access rate limitations to the peer-to-peer search mode with browser-side JavaScript results resorting enabled==Limitaciones de la tasa de acceso al modo de búsqueda par-to-par con JavaScript del lado del navegador <em id="changeInfo">Changes will take effect immediately.</em>==<em id="changeInfo">Los cambios tendrán efecto inmediatamente.</em> Access rate limitations to the peer-to-peer search mode.==Limitaciones de la tasa de acceso al modo de búsqueda entre pares. @@ -4552,21 +4331,6 @@ YaCy search==Búsqueda de YaCy CyTag Trails==Senderos de CyTag #----------------------------- -#File: TransNews_p.html -#--------------------------- -You can share your local addition to translations and distribute it to other peers.==Puede compartir su adición local a las traducciones y distribuirla a otros pares. -Translation:==Traducción: -English:==Inglés: -existing==existente -"negative vote"=="voto negativo" -"positive vote"=="voto positivo" -Originator==Creador -Vote on this translation. If you vote positive the translation is added to your local translation list.==Vote esta traducción. Si vota positivo, la traducción se añadirá a su lista local de traducciones. -File:==Archivo: -The remote peer can vote on your translation and add it to its own local translation.==El par remoto puede votar su traducción y añadirla a su propia traducción local. -"Publish"=="Publicar" -#----------------------------- - #File: VFS.html #--------------------------- User storage in the browser cache with file-system-like navigation.==Almacenamiento del usuario en la cache del navegador con navegación similar a un sistema de archivos. diff --git a/locales/fr.lng b/locales/fr.lng index 9fad61f14..3643addf9 100644 --- a/locales/fr.lng +++ b/locales/fr.lng @@ -158,54 +158,6 @@ Autocrawler automatically selects and adds tasks to the local crawl queue. This Deep crawl every Nth document:==Crawl approfondi tous les N documents : #----------------------------- -#File: Blog.html -Edit==éditer -#--------------------------- -Comments:==Commentaires : -deactivated==désactivés -moderated==modérés -Confirm deletion==Confirmation -Blog-Home==Accueil du blog -Author:==Auteur: -Subject:==Titre: -Text:==Texte: -"Submit"=="Envoyer" -"Preview"=="Aperçu" -"Discard"=="Annuler" -No changes have been submitted so far!==Aucun changement n'a été soumis ! -Access denied==Accès refusé -To edit or create blog-entries you need to be logged in as Admin or User who has Blog rights.==Pour éditer ou créer des entrées dans ce blog, vous devez être enregistré en tant qu'administrateur ou en tant qu'utilisateur avec des droits d'accès au blog. -Import was successful!==L'importation a réussi ! -Import failed, maybe the supplied file was no valid blog-backup?==L'importation a échoué, peut-être que le fichier importé n'était pas une archive de blog valide? -Please select the XML-file you want to import:==Sélectionnez le fichier XML que vous souhaitez importer : -"Import"=="Importer" -"No, leave it."=="Non, laisse tomber." -"RSS"=="RSS" -"Yes, delete it."=="Oui, effacez-le." -<< previous entries==< < entrées précédentes -Are you sure...==Tu es sûr... -Preview==Aperçu -XML-Import==XML-Import -activated==activé -next entries >>==nouvelles entrées > > -#----------------------------- - -#File: BlogComments.html -Comments:==Commentaires : -Text:==Texte: -#--------------------------- -Blog-Home==Accueil du Blog -Author:==Auteur: -Subject:==Sujet: -"Submit"=="Valider" -"Preview"=="Aperçu" -"Discard"=='Annuler' -<< previous entries==< < entrées précédentes -Comment on this Blog==Commentaire sur ce Blog -Comments are not allowed for this posting!==Les commentaires ne sont pas autorisés pour cette publication! -next entries >>==nouvelles entrées > > -#----------------------------- - #File: BlacklistCleaner_p.html #--------------------------- Blacklist Cleaner==Nettoyage de Liste Noire @@ -307,42 +259,8 @@ start autosearch of new bookmarks==démarrer la recherche automatique de nouveau #File: ConfigAccounts_p.html #--------------------------- -User Accounts==Comptes utilisateurs -User Administration==Gestion des utilisateurs -Generic error.==Erreur générique. Passwords do not match.==Les mots de passe ne correspondent pas. -Username too short. Username must be >= 4 Characters.==Nom d'utilisateur trop court. Un nom d'utilisateur doit comporter plus de 4 caractères. Admin Account==Compte admin -Access from localhost without account==Accès sans compte à partir d'un navigateur local -Access to your peer from your own computer (localhost access) is granted with administrator rights. No need to configure an administration account.==L'accès à votre nÅ“ud depuis votre propre ordinateur (accès local) vous est donné avec des droits d'aministrateur. La création d'un compte administrateur n'est pas nécessaire. -This setting is convenient but less secure than using a qualified admin account.==Ce réglage est pratique mais moins sécurisé qu'un accès limité aux comptes autorisés. -Please use with care, notably when you browse untrusted and potentially malicious websites while running your YaCy peer on the same computer.==Utilisez-le avec précaution, notamment lorsque vous consultez des sites web non fiables et potentiellement malveillants tout en faisant tourner votre nÅ“ud YaCy sur le même ordinateur. -Access only with qualified account==Accès avec un compte autorisé uniquement -This is required if you want a remote access to your peer, but it also hardens access controls on administration operations of your peer.==Nécessaire si vous désirez disposer d'un accès à distance à votre noeud, mais renforce également les contrôles d'accès aux fonctions d'administration de votre nÅ“ud. -Peer User:==Utilisateur du noeud: -New Peer Password:==Nouveau mot de passe du nÅ“ud: -Repeat Peer Password:==Entrer à nouveau le mot de passe du nÅ“ud: -"Define Administrator"=="Définir l'administrateur" -Select user==Choisir un utilisateur -New user==Nouvel utilisateur -Repeat password==Entrer à nouveau le mot de passe -First name==Prénom -Last name==Nom -Address==Adresse -Timelimit==Limite de temps -Time used==Temps utilisé -Protection of all pages: if set to on, access to all pages need authorization; if off, only pages with "_p" extension are protected.==Protection de toutes les pages: lorsqu'activé, l'accès à n'importe quelle page nécessite une authentification; lorsque désactivé, seules les pages avec l'extension "_p" sont protégées. -"Delete User"=="Supprimer l' utilisateur" -"Edit User"=="Modifier l' utilisateur" -"Save User"=="Enregistrer l' utilisateur" -"Set Access Rules"=="Définir les règles d'accès" -<b>WARNING</b> This YaCy instance can be administered with the account "admin" and the default password "yacy".==<b>AVERTISSEMENT</b> Cette instance YaCy peut être administrée avec le compte "admin" et le mot de passe par défaut "yacy". -Access Rules==Règles d'accès -Change the password as soon as possible!==Changez le mot de passe dès que possible ! -Password==Mot de passe -Rights:==Droits : -Username==Nom d'utilisateur -Username already used (not allowed).==Nom d'utilisateur déjà utilisé (non autorisé). #----------------------------- #File: ConfigAppearance_p.html @@ -1177,8 +1095,6 @@ Received<br/>URLs==URLs<br/>reçues "Profile updated"=="Profil mis à jour" -"Wiki updated"=="Wiki mis à jour" -"Blog updated"=="Blog mis à jour" "Accept Crawl: no"=="Accepter le crawl : non" "Accept Crawl: yes"=="Accepter le crawl : oui" "DHT Receive: no"=="Réception de la DHT: non" @@ -1293,7 +1209,6 @@ YaCy Network==Réseau YaCy Your Peer:==Votre pair: con/h<br/>==pour /h<br/> ip:port==ip:port -send <strong>M</strong>essage/<br/>show <strong>P</strong>rofile/<br/>edit <strong>W</strong>iki/<br/>browse <strong>B</strong>log==envoyer <strong>M</strong>essage/<br/>afficher <strong>P</strong>rofil/<br/>modifier <strong>W</strong>iki/<br/>parcourir <strong>B</strong>log user agent<br/>==agent utilisateur<br/> #----------------------------- @@ -1326,7 +1241,6 @@ Attributes==Attributs "Processed News"=="Nouvelles traitées" "Published News"=="Nouvelles publiées" Overview==Vue d'ensemble -Publishing of added or modified translation for the user interface. Other peers may include it in their local translation list.==Publication de traduction ajoutée ou modifiée pour l'interface utilisateur. D'autres pairs peuvent l'inclure dans leur liste de traduction locale. #----------------------------- #File: Performance_p.html @@ -1888,43 +1802,12 @@ pending:==pending: the request.==la demande. #----------------------------- -#File: Wiki.html -Edit==éditer -Text:==Texte: -#--------------------------- -Start Page==Page de départ -Author:==Auteur: -You can use==Vous pouvez utiliser le -"Submit"=="Soumettre" -"Preview"=="Prévisualiser" -"Discard"=="Rejeter" -No changes have been submitted so far!==Aucun changement n'a plus été soumis! -Subject==Titre -Change Date==Date de modification -Last Author==Dernier auteur -Changes will be published as announcement on YaCyNews==Les modifications seront publiés sur YaCyNews. -"Compare"=="Compare" -"Show"=="Afficher" -"admin"=="admin" -"all"=="all" -(only granted to admin)==(uniquement accordé à l'administrateur) -Compare version from==Comparer la version à partir de -Error==Erreur -Grant Write Access to==Accès à l'écriture de la subvention -Index==Index -Index -==Table des matières -Preview==Aperçu -Versions==Versions -with version from==avec version à partir de -#----------------------------- - -#File: WikiHelp.html +#File: WikiCodeHelp.html #--------------------------- Code==Code Description==Description text==Texte This tag creates a horizontal line.==Ces tags créent une ligne horizontale. -This tag creates links to other pages of the wiki.==Ce tag tire un lien vers une autre page Wiki. This tag creates links to external websites.==Ce tag crée un lien vers une page internet externe. This tag displays an image, it can be aligned left, right or center.==Ce tag affiche une image, elle peut être alignée à gauche, au centre ou à droite. If a line starts with a space, it will be displayed in a non-proportional font.==Si une ligne commence avec un espace, elle apparaîtra avec une fonte non proportionnelle. @@ -1946,7 +1829,6 @@ These tags create a table, whereas the first marks the beginning of the table, t These tags create an unnumbered list.==Ces balises créent une liste non numérotée. These tags create headlines. If a page has three or more headlines, a table of content will be created automatically. Headlines of level 1 will be ignored in the table of content.==Ces balises créent des titres. Si une page a trois titres ou plus, une table de contenu sera créée automatiquement. Les titres du niveau 1 seront ignorés dans la table de contenu. These tags create stressed texts. The first pair emphasizes the text (most browsers will display it in italics),==Ces balises créent des textes stressés. La première paire met l'accent sur le texte (la plupart des navigateurs l'afficheront en italique), -This table contains a short description of the tags that can be used in the Wiki and several other servlets==Ce tableau contient une brève description des balises qui peuvent être utilisées dans le Wiki et plusieurs autres servlets This tag displays a Youtube or Vimeo video with the id specified and fixed width 425 pixels and height 350 pixels.==Cette balise affiche une vidéo Youtube ou Vimeo avec l'id spécifié et la largeur fixe 425 pixels et la hauteur 350 pixels. Wiki-Code==Wiki-Code [[Image:url]]==[[Image:url]] @@ -2190,7 +2072,6 @@ Processed News==Nouvelles traitées Outgoing News==Nouvelles sortantes Published News==Nouvelles publiées Community Data==Données communes -Local Peer Wiki==Wiki du noeud local Bookmarks==Signets Log Reports==Rapports de journaux Messages==Messages @@ -2206,7 +2087,6 @@ System Administration==Administration du système Advanced Settings==Paramètres avancés Advanced Properties==Configuration avancée Performance Settings of Busy Queues==Paramètres de performance des files d'attente occupées -UI Translations==Traductions de l'assurance-chômage Viewer and administration for database tables==Affichage et administration pour les tables de base de données #----------------------------- @@ -2346,20 +2226,6 @@ run regular==exécuter régulièrement to a scheduler for a periodic execution.==à un échéancier pour une exécution périodique. #----------------------------- -#File: ConfigAccountList_p.html -#--------------------------- -Address==Adresse -First name==Prénom -Last name==Nom -User Accounts==Comptes utilisateurs -Last Access==Dernier accès -Rights==Droits -Time==Temps -Traffic==Trafic -User==Utilisateur -User List==Liste des utilisateurs -#----------------------------- - #File: ConfigNetwork_p.html #--------------------------- Network Configuration==Configuration réseau @@ -2522,7 +2388,6 @@ or extended to pages including such medias (provide generally more results, but #--------------------------- Surftips==Recommendations "Save restrictions"=="Enregistrer les restrictions" -Blog==Blog Deletion of==Suppression Deny access to==Refuser l'accès à Entire Peer==Tout à fait pair @@ -2537,7 +2402,6 @@ News pages==Pages d'actualité Public bookmarks==Signaux publics Status page==Page d'état Unable to access the local file:==Impossible d'accéder au fichier local: -Wiki==Wiki failed==échec htroot/robots.txt==htroot/robots.txt is a voluntary agreement most search-engines (including YaCy) follow.==est un accord volontaire la plupart des moteurs de recherche (y compris YaCy) suivent. @@ -2559,28 +2423,6 @@ You would need to change the following items:==Vous devez modifier les élément calls the normal YaCy search window.==appelle la fenêtre de recherche normale YaCy. #----------------------------- -#File: ConfigUser_p.html -#--------------------------- -Address==Adresse -First name==Prénom -Generic error.==Erreur générique. -Last name==Nom -Passwords do not match.==Les mots de passe ne correspondent pas. -Repeat password==Entrer à nouveau le mot de passe -Time used==Temps utilisé -Timelimit==Limite de temps -Username too short. Username must be >= 4 Characters.==Nom d'utilisateur trop court. Un nom d'utilisateur doit comporter plus de 4 caractères. -"ConfigAccountList_p.html"=="ConfigAccountList_p.html" -"Delete User"=="Supprimer l' utilisateur" -"Save User"=="Enregistrer l' utilisateur" -Password==Mot de passe -Rights:==Droits : -User Account Editor==Éditeur de compte utilisateur -Username==Nom d'utilisateur -Username already used (not allowed).==Nom d'utilisateur déjà utilisé (non autorisé). -back to user list==retour à la liste des utilisateurs -#----------------------------- - #File: ContentAnalysis_p.html #--------------------------- "Set"=="Appliquer" @@ -3337,21 +3179,6 @@ search rows for==les lignes de recherche pour show max.==Afficher max. #----------------------------- -#File: TransNews_p.html -#--------------------------- -File:==Fichier: -Originator==Initiateur -"Publish"=="Publier" -"negative vote"=="vote négatif" -"positive vote"=="vote positif" -English:==Anglais : -The remote peer can vote on your translation and add it to its own local translation.==Le pair distant peut voter sur votre traduction et l'ajouter à sa propre traduction locale. -Translation:==Traduction : -Vote on this translation. If you vote positive the translation is added to your local translation list.==Votez sur cette traduction. Si vous votez positif, la traduction est ajoutée à votre liste de traduction locale. -You can share your local addition to translations and distribute it to other peers.==Vous pouvez partager votre ajout local aux traductions et le distribuer à d'autres pairs. -existing==existant -#----------------------------- - #File: Vocabulary_p.html #--------------------------- Delete==Supprimer @@ -4178,12 +4005,7 @@ Max searches in 3s==Max recherche dans 3s Peer-to-peer search==Recherche de pair à pair Peer-to-peer search with JavaScript results resorting==Recherche Peer-to-peer avec les résultats JavaScript resorting Remote snippet load==Charge à distance de l'extrait de code -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the snippets fetch strategy falls back to 'CACHEONLY'==Lorsqu'un utilisateur avec des droits limités (non authentifiés ou sans droit de recherche étendu) dépasse une limite, la stratégie d'extraction des extraits revient à « CACHEONLY » -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, results resorting becomes only applicable on demand, server-side.==Lorsqu'un utilisateur ayant des droits limités (non authentifiés ou sans droit de recherche étendu) dépasse une limite, le recours aux résultats ne devient applicable qu'à la demande, côté serveur. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search is blocked.==Lorsqu'un utilisateur ayant des droits limités (non authentifiés ou sans droit de recherche étendu) dépasse une limite, la recherche est bloquée. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search scope falls back to only this local peer index.==Lorsqu'un utilisateur ayant des droits limités (non authentifiés ou sans droit de recherche étendu) dépasse une limite, la portée de la recherche ne revient qu'à cet index local des pairs. YaCy search==Recherche YaCy -You can configure here limitations on access rate to this peer search interface by unauthenticated users and users without extended search right==Vous pouvez configurer ici les limitations du taux d'accès à cette interface de recherche par des utilisateurs non authentifiés et des utilisateurs sans droit de recherche étendu limitations==limitations #----------------------------- @@ -4351,17 +4173,12 @@ Send "Via" Header==Envoyer l'en-tête "Via" Send "X-Forwarded-For" Header==Envoyer l'en-tête "X-Forwarded-For" Server Access Restrictions==Restrictions d'accès aux serveurs Specifies if the proxy should send the X-Forwarded-For http header.==Spécifie si le proxy doit envoyer l'en-tête X-Forwarded-For http. -The default setting should be right in most cases. If you want, you can also set a proxy account==Le paramètre par défaut devrait être correct dans la plupart des cas. Si vous le souhaitez, vous pouvez également définir un compte proxy These settings configure the access method to your own http proxy and server.==Ces paramètres configurent la méthode d'accès à votre propre proxy et serveur http. -This is the account that restricts access to the proxy function.==C'est le compte qui limite l'accès à la fonction proxy. Transparent Proxy==Proxy transparent With this you can specify if YaCy can be used as transparent proxy.==Avec cela, vous pouvez spécifier si YaCy peut être utilisé comme proxy transparent. -You can restrict the access to this proxy/server using a two-stage security barrier:==Vous pouvez restreindre l'accès à ce proxy/serveur au moyen d'une barrière de sécurité en deux étapes : You probably don't want to share the proxy to the internet, so you should set the==Vous ne voulez probablement pas partager le proxy à l'Internet, donc vous devriez définir le define an <em>access domain</em> with a list of granted client IP-numbers or with wildcards==définir un domaine d'accès<em></em>avec une liste de numéros IP clients accordés ou avec wildcards -define an <em>user account</em> with an user:password - pair==définir un compte utilisateur<em></em>avec une paire user:password - http header according to RFC 2616 Sect 14.45.==En-tête http selon RFC 2616 Article 14.45. -so that every proxy user must authenticate first, but this is rather unusual.==afin que chaque utilisateur du proxy doive d'abord s'authentifier, mais c'est plutôt inhabituel. 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.==qu'une page n'est plus jamais chargée si elle a déjà été stockée dans le cache. Cependant, si la page n'existe pas dans le cache, elle sera en tout cas chargée. #----------------------------- @@ -4447,44 +4264,6 @@ maxCallsPerTurn==maxCallsPerTurn CyTag Trails==Sentiers CyTag #----------------------------- -#File: Translator_p.html -#--------------------------- -"Save translation"=="Enregistrer la traduction" -Source File==Fichier source -Source Text==Texte source -Translate untranslated text of the user interface (current language). The modified translation file is stored in DATA/LOCALE directory.==Traduire le texte non traduit de l'interface utilisateur (langue courante). Le fichier de traduction modifié est stocké dans le répertoire DATA/LOCALE. -Translation Editor==Éditeur de traduction -UI Translation==Traduction de l'interface utilisateur -filter untranslated==filtre non traduit -view it==Regardez-la. -#----------------------------- - -#File: User.html -#--------------------------- -"Change"=="Changer" -"green bar"=="barre verte" -"login"=="connexion" -"logout"=="déconnexion" -"red bar"=="barre rouge" -(Identified by==(Identifié par -(after logout you will be prompted for your password again. simply click "cancel")==(après la déconnexion, votre mot de passe vous sera demandé à nouveau. cliquez simplement sur "annuler") -Cookie==Cookie -IP==IP -New Password and its repetition do not match.==Le nouveau mot de passe et sa répétition ne correspondent pas. -New Password is empty.==Le nouveau mot de passe est vide. -Old Password is wrong.==L'ancien mot de passe est faux. -Password was changed.==Le mot de passe a été modifié. -Password:==Mot de passe : -User Page==Page utilisateur -Username/Password==Username/Password -Username:==Nom d'utilisateur : -You are currently logged in as admin.==Vous êtes actuellement connecté en tant qu'administrateur. -You are not logged in.==Vous n'êtes pas connecté. -new Password==nouveau mot de passe -new Password(repetition)==nouveau mot de passe(répétition) -old Password==ancien mot de passe -#----------------------------- - #File: VFS.html #--------------------------- "File system browser"=="Navigateur du système de fichiers" @@ -4682,13 +4461,6 @@ Search Box Anywhere==Boîte de recherche n'importe où User Profile==Profil de l'utilisateur #----------------------------- -#File: env/templates/submenuPublication.template -#--------------------------- -Blog==Blog -Publication==Publication -Wiki==Wiki -#----------------------------- - #File: goto_p.html #--------------------------- forward to remote peer==transmettre à un pair distant @@ -4720,14 +4492,6 @@ This browser does not have a Java Plug-in.==Ce navigateur n'a pas de plug-in Jav domaingraph : Built with Processing==domaine: Construit avec traitement #----------------------------- -#File: proxymsg/authfail.inc -#--------------------------- -"login"=="connexion" -Password==Mot de passe -Username==Nom d'utilisateur -Your Username/Password is wrong.==Votre nom d'utilisateur ou mot de passe est incorrect. -#----------------------------- - #File: proxymsg/error.html #--------------------------- Could not load resource. The file is not available.==Impossible de charger la ressource. Le fichier n'est pas disponible. diff --git a/locales/hi.lng b/locales/hi.lng index afc0c1be1..25edb51f7 100644 --- a/locales/hi.lng +++ b/locales/hi.lng @@ -327,54 +327,6 @@ An error occurred while editing the following entries. Please check syntax.==न Activate this list for ...==इस सूची को सकà¥à¤°à¤¿à¤¯ करें... #----------------------------- -#File: Blog.html -#--------------------------- -"RSS"=="RSS" -"Submit"=="सबमिट " -"Preview"=="पà¥à¤°à¥€à¤µà¥à¤¯à¥‚ " -"Discard"=="दिसà¥à¤•ारà¥à¤¦ " -"Yes, delete it."=="हाà¤, इसे हटा दें." -"No, leave it."=="नहीं, छोड़ो." -"Import"=="आयात" -<< previous entries==<< पिछली पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿà¤¿à¤¯à¤¾à¤ -next entries >>==अगली पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿà¤¿à¤¯à¤¾à¤ >> -Blog-Home==बà¥à¤²à¥‰à¤— घर -Edit==à¤à¤¡à¤¿à¤Ÿ -Author:==लेखक: -Subject:==विषय: -Text:==मूलपाठ: -Comments:==टिपà¥à¤ªà¤£à¥€: -deactivated==निषà¥à¤•à¥à¤°à¤¿à¤¯ -activated==सकà¥à¤°à¤¿à¤¯ -moderated==मॉडरेटेड -Preview==पूरà¥à¤µ दरà¥à¤¶à¤¨ -No changes have been submitted so far!==अà¤à¥€ तक कोई चनगेस सबमिट नहीं हà¥à¤† ! -Access denied==à¤à¤•à¥à¤¸à¥‡à¤¸ डिनाइड -To edit or create blog-entries you need to be logged in as Admin or User who has Blog rights.==यदि आप नया बà¥à¤²à¥‰à¤— या à¤à¤¡à¤¿à¤Ÿ करना चाहते है तो आपको à¤à¤¡à¤®à¤¿à¤¨ से लॉग इन होना होगा या यूजर जिसके पास बà¥à¤²à¥‰à¤— राईट हो -Are you sure...==कà¥à¤¯à¤¾ आपको यकीन है... -Confirm deletion==हटाने की पà¥à¤·à¥à¤Ÿà¤¿ -XML-Import==XML-आयात -Import was successful!==इमà¥à¤ªà¥‹à¤°à¥à¤Ÿ सफल रहा ! -Import failed, maybe the supplied file was no valid blog-backup?==इमà¥à¤ªà¥‹à¤°à¥à¤Ÿ असफल रहा ! शायद यह फाइल सही नहीं है ? -Please select the XML-file you want to import:==कà¥à¤¸à¥à¤®à¥à¤² फाइल सेलेकà¥à¤Ÿ करे जो आपको इमà¥à¤ªà¥‹à¤°à¥à¤Ÿ करनी है : -#----------------------------- - -#File: BlogComments.html -#--------------------------- -"Submit"=="सबमिट" -"Preview"=="पà¥à¤°à¥€à¤µà¥à¤¯à¥‚" -"Discard"=="दिसà¥à¤•ारà¥à¤¦" -Blog-Home==बà¥à¤²à¥‰à¤— घर -Comments:==टिपà¥à¤ªà¤£à¥€: -<< previous entries==<< पिछली पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿà¤¿à¤¯à¤¾à¤ -next entries >>==अगली पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿà¤¿à¤¯à¤¾à¤ >> -Comments are not allowed for this posting!==इस पोसà¥à¤Ÿà¤¿à¤‚ग के लिठटिपà¥à¤ªà¤£à¤¿à¤¯à¥‹à¤‚ की अनà¥à¤®à¤¤à¤¿ नहीं है! -Comment on this Blog==इस बà¥à¤²à¥‰à¤— पर टिपà¥à¤ªà¤£à¥€ करें -Author:==लेखक: -Subject:==विषय: -Text:==मूलपाठ: -#----------------------------- - #File: Bookmarks.html #--------------------------- "RSS"=="RSS" @@ -442,58 +394,10 @@ Private Queue==निजी कतार Public Queue==सारà¥à¤µà¤œà¤¨à¤¿à¤• कतार #----------------------------- -#File: ConfigAccountList_p.html -#--------------------------- -User List==उपयोगकरà¥à¤¤à¤¾ सूची -User Accounts==उपयोगकरà¥à¤¤à¤¾ खातों -User==उपयोगकरà¥à¤¤à¤¾ -First name==पहला नाम -Last name==पिछला नाम -Address==पता -Last Access==अंतिम पहà¥à¤‚च -Rights==अधिकार -Time==समय -Traffic==टà¥à¤°à¥ˆà¤«à¤¼à¤¿à¤• -#----------------------------- - #File: ConfigAccounts_p.html #--------------------------- -"Define Administrator"=="à¤à¤¡à¤®à¤¿à¤¨à¤¿à¤¸à¥à¤Ÿà¥à¤°à¥‡à¤¶à¤¨ को परिà¤à¤¾à¤·à¤¿à¤¤ करे" -"Set Access Rules"=="पà¥à¤°à¤µà¥‡à¤¶ नियम निरà¥à¤§à¤¾à¤°à¤¿à¤¤ करें" -"Edit User"=="यूजर को संपादित करो" -"Delete User"=="उपयोगकरà¥à¤¤à¤¾ हटाà¤à¤" -"Save User"=="उपयोगकरà¥à¤¤à¤¾ सहेजें" -User Administration==उपयोगकरà¥à¤¤à¤¾ à¤à¤¡à¤®à¤¿à¤¨à¤¿à¤¸à¥à¤Ÿà¥à¤°à¥‡à¤¶à¤¨ -Generic error.==सामानà¥à¤¯ à¤à¤°à¤° . Passwords do not match.==पासवरà¥à¤¡ मेल नहीं खाते. -Username too short. Username must be >= 4 Characters.==उपयोकà¥à¤¤à¤¾à¤¨à¤¾à¤® बहà¥à¤¤ छोटा है. उपयोगकरà¥à¤¤à¤¾ नाम >= 4 अकà¥à¤·à¤° होना चाहिà¤à¥¤ -Username already used (not allowed).==उपयोगकरà¥à¤¤à¤¾ नाम पहले ही उपयोग किया जा चà¥à¤•ा है (अनà¥à¤®à¤¤à¤¿ नहीं है)। -<b>WARNING</b> This YaCy instance can be administered with the account "admin" and the default password "yacy".==<b>WARNING</b> इस YaCy उदाहरण को खाता "à¤à¤¡à¤®à¤¿à¤¨" और डिफ़ॉलà¥à¤Ÿ पासवरà¥à¤¡ "yacy" के साथ पà¥à¤°à¤¶à¤¾à¤¸à¤¿à¤¤ किया जा सकता है। -Change the password as soon as possible!==जितनी जलà¥à¤¦à¥€ हो सके पासवरà¥à¤¡ बदलें! Admin Account==à¤à¤¡à¤®à¤¿à¤¨à¤¿à¤¸à¥à¤Ÿà¥à¤°à¥‡à¤¶à¤¨ खाता -Access from localhost without account==खाते के बिना लोकलहोसà¥à¤Ÿ से à¤à¤•à¥à¤¸à¥‡à¤¸ करे. -Access to your peer from your own computer (localhost access) is granted with administrator rights. No need to configure an administration account.==आपके अपने कंपà¥à¤¯à¥‚टर से आपके सहकरà¥à¤®à¥€ तक पहà¥à¤‚च (लोकलहोसà¥à¤Ÿ à¤à¤•à¥à¤¸à¥‡à¤¸) पà¥à¤°à¤¶à¤¾à¤¸à¤•ीय अधिकारों के साथ पà¥à¤°à¤¦à¤¾à¤¨ की जाती है। पà¥à¤°à¤¶à¤¾à¤¸à¤¨ खाते को कॉनà¥à¤«à¤¼à¤¿à¤—र करने की कोई आवशà¥à¤¯à¤•ता नहीं है. -This setting is convenient but less secure than using a qualified admin account.==यह सेटिंग सà¥à¤µà¤¿à¤§à¤¾à¤œà¤¨à¤• है लेकिन किसी योगà¥à¤¯ वà¥à¤¯à¤µà¤¸à¥à¤¥à¤¾à¤ªà¤• खाते का उपयोग करने की तà¥à¤²à¤¨à¤¾ में कम सà¥à¤°à¤•à¥à¤·à¤¿à¤¤ है। -Please use with care, notably when you browse untrusted and potentially malicious websites while running your YaCy peer on the same computer.==कृपया सावधानी से उपयोग करें, विशेष रूप से जब आप उसी कंपà¥à¤¯à¥‚टर पर अपना YaCy सहकरà¥à¤®à¥€ चलाते समय अविशà¥à¤µà¤¸à¤¨à¥€à¤¯ और संà¤à¤¾à¤µà¤¿à¤¤ रूप से दà¥à¤°à¥à¤à¤¾à¤µà¤¨à¤¾à¤ªà¥‚रà¥à¤£ वेबसाइट बà¥à¤°à¤¾à¤‰à¤œà¤¼ करते हैं। -Access only with qualified account==योगà¥à¤¯ खाते के साथ ही पà¥à¤°à¤µà¥‡à¤¶ है . -This is required if you want a remote access to your peer, but it also hardens access controls on administration operations of your peer.==यदि आप अपने सहकरà¥à¤®à¥€ तक दूरसà¥à¤¥ पहà¥à¤‚च चाहते हैं तो यह आवशà¥à¤¯à¤• है, लेकिन यह आपके सहकरà¥à¤®à¥€ के पà¥à¤°à¤¶à¤¾à¤¸à¤¨ संचालन पर पहà¥à¤‚च नियंतà¥à¤°à¤£ को à¤à¥€ सखà¥à¤¤ कर देता है। -Peer User:==पीयर यूज़र: -New Peer Password:==नया पीयर पासवरà¥à¤¡ : -Repeat Peer Password:==पीयर पासवरà¥à¤¡ दोहराà¤à¤ : -Access Rules==पà¥à¤°à¤µà¥‡à¤¶ नियम -Protection of all pages: if set to on, access to all pages need authorization; if off, only pages with "_p" extension are protected.==सà¤à¥€ पृषà¥à¤ ों की सà¥à¤°à¤•à¥à¤·à¤¾: यदि चालू पर सेट है, तो सà¤à¥€ पृषà¥à¤ ों तक पहà¥à¤‚च के लिठपà¥à¤°à¤¾à¤§à¤¿à¤•रण की आवशà¥à¤¯à¤•ता होती है; यदि बंद है, तो केवल "_p" à¤à¤•à¥à¤¸à¤Ÿà¥‡à¤‚शन वाले पृषà¥à¤ सà¥à¤°à¤•à¥à¤·à¤¿à¤¤ हैं। -User Accounts==उपयोगकरà¥à¤¤à¤¾ खातों -Select user==उपयोगकरà¥à¤¤à¤¾ का चयन करें -New user==नया उपयोगकरà¥à¤¤à¤¾ -Username==उपयोगकरà¥à¤¤à¤¾ नाम -Password==पासवरà¥à¤¡ -Repeat password==पासवरà¥à¤¡ दोहराà¤à¤ -First name==पहला नाम -Last name==पिछला नाम -Address==पता -Rights:==अधिकार: -Timelimit==समय सीमा -Time used==समय का इसà¥à¤¤à¥‡à¤®à¤¾à¤² #----------------------------- #File: ConfigAppearance_p.html @@ -871,8 +775,6 @@ Status page==सà¥à¤¥à¤¿à¤¤à¤¿ पेज Network pages==नेटवरà¥à¤• पृषà¥à¤ ों Surftips==der Surftipps News pages==समाचार पृषà¥à¤ ों -Blog==बà¥à¤²à¥‰à¤— -Wiki==विकि Public bookmarks==ीलोक बà¥à¤•मारà¥à¤•à¥à¤¸ Home Page==मà¥à¤– पृषà¥à¤ File Share==फ़ाइल शेयर @@ -1032,28 +934,6 @@ manual update:<br/>apt-get update && apt-get install yacy==मैनà¥à automatic update: add the following line to /etc/crontab<br/>0 6 * * * root apt-get update && apt-get -y --force-yes install yacy==सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ अदà¥à¤¯à¤¤à¤¨: निमà¥à¤¨ पंकà¥à¤¤à¤¿ को /etc/crontab<br/>0 6 * * * रूट apt-get update && apt-get -y --force-yes install yacy में जोड़ें #----------------------------- -#File: ConfigUser_p.html -#--------------------------- -"Save User"=="उपयोगकरà¥à¤¤à¤¾ सहेजें" -"Delete User"=="उपयोगकरà¥à¤¤à¤¾ हटाà¤à¤" -"ConfigAccountList_p.html"=="ConfigAccountList_p.html" -User Account Editor==उपयोगकरà¥à¤¤à¤¾ खाता संपादक -Generic error.==सामानà¥à¤¯ à¤à¤°à¤° . -Passwords do not match.==पासवरà¥à¤¡ मेल नहीं खाते. -Username too short. Username must be >= 4 Characters.==उपयोकà¥à¤¤à¤¾à¤¨à¤¾à¤® बहà¥à¤¤ छोटा है. उपयोगकरà¥à¤¤à¤¾ नाम >= 4 अकà¥à¤·à¤° होना चाहिà¤à¥¤ -Username already used (not allowed).==उपयोगकरà¥à¤¤à¤¾ नाम पहले ही उपयोग किया जा चà¥à¤•ा है (अनà¥à¤®à¤¤à¤¿ नहीं है)। -Username==उपयोगकरà¥à¤¤à¤¾ नाम -Password==पासवरà¥à¤¡ -Repeat password==पासवरà¥à¤¡ दोहराà¤à¤ -First name==पहला नाम -Last name==पिछला नाम -Address==पता -Rights:==अधिकार: -Timelimit==समय सीमा -Time used==समय का इसà¥à¤¤à¥‡à¤®à¤¾à¤² -back to user list==उपयोगकरà¥à¤¤à¤¾ सूची पर वापस जाà¤à¤ -#----------------------------- - #File: Connections_p.html #--------------------------- Server Connection Tracking==सरà¥à¤µà¤° कनेकà¥à¤¶à¤¨ टà¥à¤°à¥ˆà¤•िंग @@ -2460,8 +2340,6 @@ inbox==इनबॉकà¥à¤¸ "DHT Receive: yes"=="DHT पà¥à¤°à¤¾à¤ªà¥à¤¤ करें: हाà¤" "DHT receive enabled"=="DHT सकà¥à¤·à¤® पà¥à¤°à¤¾à¤ªà¥à¤¤ करें" "Profile updated"=="पà¥à¤°à¥‹à¤«à¤¾à¤‡à¤² अदà¥à¤¯à¤¤à¤¨ किया गया" -"Wiki updated"=="विकी अदà¥à¤¯à¤¤à¤¨ किया गया" -"Blog updated"=="बà¥à¤²à¥‰à¤— अपडेट किया गया" "Crawl"=="घà¥à¤Ÿà¤¨à¥‹à¤‚ के बल चलना" "The YaCy Network"=="YaCy नेटवरà¥à¤•" "Type: Virgin"=="पà¥à¤°à¤•ार: वरà¥à¤œà¤¿à¤¨" @@ -2507,7 +2385,6 @@ Received DHT<br/>Word Chunks==DHT<br/>शबà¥à¤¦ खंड पà¥à¤°à¤¾à¤ªà¥à Received<br/>URLs==पà¥à¤°à¤¾à¤ªà¥à¤¤<br/>URL Location==जगह user agent<br/>==उपयोगकरà¥à¤¤à¤¾ à¤à¤œà¥‡à¤‚ट<br/> -send <strong>M</strong>essage/<br/>show <strong>P</strong>rofile/<br/>edit <strong>W</strong>iki/<br/>browse <strong>B</strong>log==à¤à¥‡à¤œà¥‡à¤‚ <strong>M</strong>essage/<br/>show <strong>P</strong>rofile/<br/>संपादित करें <strong>W</strong>iki/<br/>बà¥à¤°à¤¾à¤‰à¤œà¤¼ करें <strong>B</strong>लॉग Network==नेटवरà¥à¤• Online Peers==ऑनलाइन सहकरà¥à¤®à¥€ Number of<br/>Documents==<br/>दसà¥à¤¤à¤¾à¤µà¥‡à¤œà¤¼à¥‹à¤‚ की संखà¥à¤¯à¤¾ @@ -2578,7 +2455,6 @@ 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.==नेटवरà¥à¤• पेज पर पà¥à¤°à¥‹à¤«à¤¼à¤¾à¤‡à¤² पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿà¤¿à¤¯à¤¾à¤, जहाठउस पà¥à¤°à¥‹à¤«à¤¼à¤¾à¤‡à¤² परिवरà¥à¤¤à¤¨ को 'पी' (पà¥à¤°à¥‹à¤«à¤¼à¤¾à¤‡à¤²) - चयनकरà¥à¤¤à¤¾ के बगल में '*' के साथ देखा जाता है। -Publishing of added or modified translation for the user interface. Other peers may include it in their local translation list.==उपयोगकरà¥à¤¤à¤¾ इंटरफ़ेस के लिठजोड़े गठया संशोधित अनà¥à¤µà¤¾à¤¦ का पà¥à¤°à¤•ाशन। अनà¥à¤¯ साथी इसे अपनी सà¥à¤¥à¤¾à¤¨à¥€à¤¯ अनà¥à¤µà¤¾à¤¦ सूची में शामिल कर सकते हैं। More news services will follow.==अधिक समाचार सेवाà¤à¤ अनà¥à¤¸à¤°à¤£ करेंगी। Above you can see four menus:==ऊपर आप चार मेनू देख सकते हैं: Only these news will be used to display specific news services as explained above.==जैसा कि ऊपर बताया गया है, केवल इन समाचारों का उपयोग विशिषà¥à¤Ÿ समाचार सेवाओं को पà¥à¤°à¤¦à¤°à¥à¤¶à¤¿à¤¤ करने के लिठकिया जाà¤à¤—ा। @@ -2984,23 +2860,18 @@ Age==आयॠ"Reset to defaults settings"=="डिफ़ॉलà¥à¤Ÿ सेटिंगà¥à¤¸ पर रीसेट करें" limitations==सीमाà¤à¤ Local Search access rate limitations==सà¥à¤¥à¤¾à¤¨à¥€à¤¯ खोज पहà¥à¤‚च दर सीमाà¤à¤ -You can configure here limitations on access rate to this peer search interface by unauthenticated users and users without extended search right==आप यहां अपà¥à¤°à¤®à¤¾à¤£à¤¿à¤¤ उपयोगकरà¥à¤¤à¤¾à¤“ं और विसà¥à¤¤à¤¾à¤°à¤¿à¤¤ खोज अधिकार के बिना उपयोगकरà¥à¤¤à¤¾à¤“ं दà¥à¤µà¤¾à¤°à¤¾ इस सहकरà¥à¤®à¥€ खोज इंटरफ़ेस तक पहà¥à¤‚च दर पर सीमाà¤à¤‚ कॉनà¥à¤«à¤¼à¤¿à¤—र कर सकते हैं YaCy search==YaCy खोजें Access rate limitations to this peer search interface.==इस सहकरà¥à¤®à¥€ खोज इंटरफ़ेस तक पहà¥à¤‚च दर की सीमाà¤à¤‚। -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search is blocked.==जब सीमित अधिकारों (अपà¥à¤°à¤®à¤¾à¤£à¤¿à¤¤ या विसà¥à¤¤à¤¾à¤°à¤¿à¤¤ खोज अधिकार के बिना) वाला उपयोगकरà¥à¤¤à¤¾ à¤à¤• सीमा से अधिक हो जाता है, तो खोज अवरà¥à¤¦à¥à¤§ हो जाती है। Max searches in 3s==अधिकतम 3s में खोज करता है Max searches in 1mn==अधिकतम 1 मिलियन में खोजें Max searches in 10mn==अधिकतम 10 मिलियन में खोज Peer-to-peer search==सहकरà¥à¤®à¥€ से सहकरà¥à¤®à¥€ खोज Access rate limitations to the peer-to-peer search mode.==पीयर-टू-पीयर खोज मोड तक पहà¥à¤‚च दर सीमाà¤à¤‚। -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search scope falls back to only this local peer index.==जब सीमित अधिकारों (अपà¥à¤°à¤®à¤¾à¤£à¤¿à¤¤ या विसà¥à¤¤à¤¾à¤°à¤¿à¤¤ खोज अधिकार के बिना) वाला कोई उपयोगकरà¥à¤¤à¤¾ à¤à¤• सीमा से अधिक हो जाता है, तो खोज का दायरा केवल इस सà¥à¤¥à¤¾à¤¨à¥€à¤¯ सहकरà¥à¤®à¥€ सूचकांक पर वापस आ जाता है। Max searches in 10mn==अधिकतम 10 मिलियन में खोज Peer-to-peer search with JavaScript results resorting==JavaScript परिणामों के साथ पीयर-टू-पीयर खोज का सहारा लेना Access rate limitations to the peer-to-peer search mode with browser-side JavaScript results resorting enabled==बà¥à¤°à¤¾à¤‰à¤œà¤¼à¤°-साइड JavaScript परिणामों के सकà¥à¤·à¤® होने के साथ पीयर-टू-पीयर खोज मोड तक पहà¥à¤‚च दर सीमाà¤à¤‚ -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, results resorting becomes only applicable on demand, server-side.==जब सीमित अधिकारों (अपà¥à¤°à¤®à¤¾à¤£à¤¿à¤¤ या विसà¥à¤¤à¤¾à¤°à¤¿à¤¤ खोज अधिकार के बिना) वाला कोई उपयोगकरà¥à¤¤à¤¾ à¤à¤• सीमा से अधिक हो जाता है, तो सहारा लेने वाले परिणाम केवल मांग, सरà¥à¤µà¤°-साइड पर लागू होते हैं। Remote snippet load==रिमोट सà¥à¤¨à¤¿à¤ªà¥‡à¤Ÿ लोड Limitations on snippet loading from remote websites.==दूरसà¥à¤¥ वेबसाइटों से सà¥à¤¨à¤¿à¤ªà¥‡à¤Ÿ लोड करने की सीमाà¤à¤à¥¤ -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the snippets fetch strategy falls back to 'CACHEONLY'==जब सीमित अधिकारों (अपà¥à¤°à¤®à¤¾à¤£à¤¿à¤¤ या विसà¥à¤¤à¤¾à¤°à¤¿à¤¤ खोज अधिकार के बिना) वाला कोई उपयोगकरà¥à¤¤à¤¾ à¤à¤• सीमा से अधिक हो जाता है, तो सà¥à¤¨à¤¿à¤ªà¥‡à¤Ÿ लाने की रणनीति 'CACHEONLY' पर वापस आ जाती है। Max searches in 3s==अधिकतम 3s में खोज करता है <em id="changeInfo">Changes will take effect immediately.</em>==<em id="changeInfo">परिवरà¥à¤¤à¤¨ तà¥à¤°à¤‚त पà¥à¤°à¤à¤¾à¤µà¥€ होंगे।</em> #----------------------------- @@ -3225,14 +3096,9 @@ These settings configure the access method to your own http proxy and server.==à All traffic is routed through one single port, for both proxy and server.==पà¥à¤°à¥‰à¤•à¥à¤¸à¥€ और सरà¥à¤µà¤° दोनों के लिठसà¤à¥€ टà¥à¤°à¥ˆà¤«à¤¼à¤¿à¤• को à¤à¤• ही पोरà¥à¤Ÿ के माधà¥à¤¯à¤® से रूट किया जाता है। HTTPS Server Port:==HTTPS सरà¥à¤µà¤° पोरà¥à¤Ÿ: Server Access Restrictions==सरà¥à¤µà¤° पहà¥à¤‚च पà¥à¤°à¤¤à¤¿à¤¬à¤‚ध -You can restrict the access to this proxy/server using a two-stage security barrier:==आप दो-चरणीय सà¥à¤°à¤•à¥à¤·à¤¾ अवरोध का उपयोग करके इस पà¥à¤°à¥‰à¤•à¥à¤¸à¥€/server तक पहà¥à¤‚च को पà¥à¤°à¤¤à¤¿à¤¬à¤‚धित कर सकते हैं: define an <em>access domain</em> with a list of granted client IP-numbers or with wildcards==<em>à¤à¤•à¥à¤¸à¥‡à¤¸ डोमेन</em> को सà¥à¤µà¥€à¤•ृत कà¥à¤²à¤¾à¤‡à¤‚ट IP-नंबरों की सूची या वाइलà¥à¤¡à¤•ारà¥à¤¡ के साथ परिà¤à¤¾à¤·à¤¿à¤¤ करें -define an <em>user account</em> with an user:password - pair==à¤à¤• उपयोगकरà¥à¤¤à¤¾ के साथ à¤à¤• <em>उपयोगकरà¥à¤¤à¤¾ खाता</em> परिà¤à¤¾à¤·à¤¿à¤¤ करें: पासवरà¥à¤¡ - जोड़ी -This is the account that restricts access to the proxy function.==यह वह खाता है जो पà¥à¤°à¥‰à¤•à¥à¤¸à¥€ फ़ंकà¥à¤¶à¤¨ तक पहà¥à¤‚च को पà¥à¤°à¤¤à¤¿à¤¬à¤‚धित करता है। 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.==IP-नंबर à¤à¤•à¥à¤¸à¥‡à¤¸ डोमेन à¤à¤• पैटरà¥à¤¨ पर जो आपके सà¥à¤¥à¤¾à¤¨à¥€à¤¯ इंटà¥à¤°à¤¾à¤¨à¥‡à¤Ÿ से मेल खाता है। -The default setting should be right in most cases. If you want, you can also set a proxy account==अधिकांश मामलों में डिफ़ॉलà¥à¤Ÿ सेटिंग सही होनी चाहिà¤. आप चाहें तो पà¥à¤°à¥‰à¤•à¥à¤¸à¥€ अकाउंट à¤à¥€ सेट कर सकते हैं -so that every proxy user must authenticate first, but this is rather unusual.==ताकि पà¥à¤°à¤¤à¥à¤¯à¥‡à¤• पà¥à¤°à¥‰à¤•à¥à¤¸à¥€ उपयोगकरà¥à¤¤à¤¾ को पहले पà¥à¤°à¤®à¤¾à¤£à¤¿à¤¤ करना पड़े, लेकिन यह असामानà¥à¤¯ है। IP-Number filter==IP-संखà¥à¤¯à¤¾ फ़िलà¥à¤Ÿà¤° Accounts==हिसाब किताब #----------------------------- @@ -3623,59 +3489,6 @@ Save Tools Configuration==उपकरण कॉनà¥à¤«à¤¼à¤¿à¤—रेशन à CyTag Trails==साइटैग टà¥à¤°à¥‡à¤²à¥à¤¸ #----------------------------- -#File: TransNews_p.html -#--------------------------- -"Publish"=="पà¥à¤°à¤•ाशित करना" -"negative vote"=="नकारातà¥à¤®à¤• वोट" -"positive vote"=="सकारातà¥à¤®à¤• वोट" -You can share your local addition to translations and distribute it to other peers.==आप अनà¥à¤µà¤¾à¤¦à¥‹à¤‚ में अपना सà¥à¤¥à¤¾à¤¨à¥€à¤¯ जोड़ साà¤à¤¾ कर सकते हैं और इसे अनà¥à¤¯ साथियों को वितरित कर सकते हैं। -The remote peer can vote on your translation and add it to its own local translation.==दूरसà¥à¤¥ सहकरà¥à¤®à¥€ आपके अनà¥à¤µà¤¾à¤¦ पर वोट कर सकता है और इसे अपने सà¥à¤¥à¤¾à¤¨à¥€à¤¯ अनà¥à¤µà¤¾à¤¦ में जोड़ सकता है। -File:==फाइल : -Originator==लेखक -English:==अंगà¥à¤°à¥‡à¤œà¤¼à¥€: -existing==मौजूदा -Translation:==अनà¥à¤µà¤¾à¤¦: -Vote on this translation. If you vote positive the translation is added to your local translation list.==इस अनà¥à¤µà¤¾à¤¦ पर वोट करें. यदि आप सकारातà¥à¤®à¤• वोट करते हैं तो अनà¥à¤µà¤¾à¤¦ आपकी सà¥à¤¥à¤¾à¤¨à¥€à¤¯ अनà¥à¤µà¤¾à¤¦ सूची में जोड़ दिया जाता है। -#----------------------------- - -#File: Translator_p.html -#--------------------------- -"Save translation"=="अनà¥à¤µà¤¾à¤¦ सहेजें" -Translation Editor==अनà¥à¤µà¤¾à¤¦ संपादक -Translate untranslated text of the user interface (current language). The modified translation file is stored in DATA/LOCALE directory.==उपयोगकरà¥à¤¤à¤¾ इंटरफ़ेस (वरà¥à¤¤à¤®à¤¾à¤¨ à¤à¤¾à¤·à¤¾) के अअनà¥à¤µà¤¾à¤¦à¤¿à¤¤ पाठका अनà¥à¤µà¤¾à¤¦ करें। संशोधित अनà¥à¤µà¤¾à¤¦ फ़ाइल DATA/LOCALE निरà¥à¤¦à¥‡à¤¶à¤¿à¤•ा में संगà¥à¤°à¤¹à¥€à¤¤ है। -UI Translation==यूआई अनà¥à¤µà¤¾à¤¦ -Source File==सà¥à¤°à¥‹à¤¤ दसà¥à¤¤à¤¾à¤µà¥‡à¤œ -view it==उसे देखें -filter untranslated==अनअनà¥à¤µà¤¾à¤¦à¤¿à¤¤ फ़िलà¥à¤Ÿà¤° करें -Source Text==सà¥à¤°à¥‹à¤¤ इबारत -#----------------------------- - -#File: User.html -#--------------------------- -"login"=="लॉग इन करें" -"logout"=="लॉग आउट" -"red bar"=="लाल पटà¥à¤Ÿà¥€" -"green bar"=="हरी पटà¥à¤Ÿà¥€" -"Change"=="परिवरà¥à¤¤à¤¨" -User Page==उपयोगकरà¥à¤¤à¤¾ पृषà¥à¤ -You are not logged in.==आपने लॉग - इन नहीं किया। -Username:==उपयोगकरà¥à¤¤à¤¾ नाम: -Password:==पासवरà¥à¤¡: -(Identified by==(दà¥à¤µà¤¾à¤°à¤¾ पहचाना गया -IP==IP -Username/Password==उपयोगकरà¥à¤¤à¤¾ नाम/Password -Cookie==कà¥à¤•ी -old Password==पà¥à¤°à¤¾à¤¨à¤¾ पासवरà¥à¤¡ -new Password==नया पासवरà¥à¤¡ -new Password(repetition)==नया पासवरà¥à¤¡ (पà¥à¤¨à¤°à¤¾à¤µà¥ƒà¤¤à¥à¤¤à¤¿) -You are currently logged in as admin.==आप वरà¥à¤¤à¤®à¤¾à¤¨ में वà¥à¤¯à¤µà¤¸à¥à¤¥à¤¾à¤ªà¤• के रूप में लॉग इन हैं। -(after logout you will be prompted for your password again. simply click "cancel")==(लॉगआउट के बाद आपसे दोबारा पासवरà¥à¤¡ मांगा जाà¤à¤—ा। बस "रदà¥à¤¦ करें" पर कà¥à¤²à¤¿à¤• करें) -Password was changed.==पासवरà¥à¤¡ बदल दिया गया था. -Old Password is wrong.==पà¥à¤°à¤¾à¤¨à¤¾ पासवरà¥à¤¡ ग़लत है. -New Password and its repetition do not match.==नया पासवरà¥à¤¡ और उसकी पà¥à¤¨à¤°à¤¾à¤µà¥ƒà¤¤à¥à¤¤à¤¿ मेल नहीं खाती. -New Password is empty.==नया पासवरà¥à¤¡ खाली है. -#----------------------------- - #File: VFS.html #--------------------------- "File system browser"=="फ़ाइल सिसà¥à¤Ÿà¤® बà¥à¤°à¤¾à¤‰à¤œà¤¼à¤°" @@ -3879,40 +3692,9 @@ Other Dot==अनà¥à¤¯ बिंदॠDot-end==बिंदà¥-अंत #----------------------------- -#File: Wiki.html -#--------------------------- -"all"=="सà¤à¥€" -"admin"=="वà¥à¤¯à¤µà¤¸à¥à¤¥à¤¾à¤ªà¤•" -"Submit"=="सबमिट " -"Preview"=="पà¥à¤°à¥€à¤µà¥à¤¯à¥‚ " -"Discard"=="दिसà¥à¤•ारà¥à¤¦ " -"Show"=="दिखाओ" -"Compare"=="तà¥à¤²à¤¨à¤¾ करें" -(only granted to admin)==(केवल वà¥à¤¯à¤µà¤¸à¥à¤¥à¤¾à¤ªà¤• को दिया गया) -Index -==अनà¥à¤•à¥à¤°à¤®à¤£à¤¿à¤•ा - -Grant Write Access to==लिखने तक पहà¥à¤‚च पà¥à¤°à¤¦à¤¾à¤¨ करें -Edit==à¤à¤¡à¤¿à¤Ÿ -Author:==लेखक: -Text:==मूलपाठ: -Preview==पूरà¥à¤µ दरà¥à¤¶à¤¨ -No changes have been submitted so far!==अà¤à¥€ तक कोई चनगेस सबमिट नहीं हà¥à¤† ! -Index==अनà¥à¤•à¥à¤°à¤®à¤£à¤¿à¤•ा -Subject==विषय -Change Date==बदलाव दिनांक -Last Author==अंतिम लेखक -Start Page==पृषà¥à¤ आरंठकरें -Versions==संसà¥à¤•रणों -Compare version from==से संसà¥à¤•रण की तà¥à¤²à¤¨à¤¾ करें -with version from==से संसà¥à¤•रण के साथ -Error==गलती -You can use==आप उपयोग कर सकते हैं -Changes will be published as announcement on YaCyNews==परिवरà¥à¤¤à¤¨ YaCyNews पर घोषणा के रूप में पà¥à¤°à¤•ाशित किठजाà¤à¤‚गे -#----------------------------- - -#File: WikiHelp.html +#File: WikiCodeHelp.html #--------------------------- Wiki-Code==विकी-कोड -This table contains a short description of the tags that can be used in the Wiki and several other servlets==इस तालिका में उन टैगों का संकà¥à¤·à¤¿à¤ªà¥à¤¤ विवरण है जिनका उपयोग विकी और कई अनà¥à¤¯ सरà¥à¤µà¤²à¥‡à¤Ÿà¥à¤¸ में किया जा सकता है of YaCy. For a more detailed description visit the==YaCy का. अधिक विसà¥à¤¤à¥ƒà¤¤ विवरण के लिठयहां जाà¤à¤‚ Code==कोड Description==विवरण @@ -3937,7 +3719,6 @@ These tags create a definition list.==ये टैग à¤à¤• परिà¤à¤¾à¤· This tag creates a horizontal line.==यह टैग à¤à¤• कà¥à¤·à¥ˆà¤¤à¤¿à¤œ रेखा बनाता है. [[pagename]]==[[पेजनाम]] [[pagename|description]]==[[पेजनाम|विवरण]] -This tag creates links to other pages of the wiki.==यह टैग विकी के अनà¥à¤¯ पेजों के लिठलिंक बनाता है। [url]==[यूआरà¤à¤²] [url description]==[यूआरà¤à¤² विवरण] This tag creates links to external websites.==यह टैग बाहरी वेबसाइटों के लिठलिंक बनाता है। @@ -4262,7 +4043,6 @@ Outgoing News==निवरà¥à¤¤à¤®à¤¾à¤¨ समाचार Published News==पà¥à¤°à¤•ाशित समाचार Community Data==सामà¥à¤¦à¤¾à¤¯à¤¿à¤• डेटा Surftips==सरà¥à¤« टिपà¥à¤¸ -Local Peer Wiki==सà¥à¤¥à¤¾à¤¨à¥€à¤¯ सहकरà¥à¤®à¥€ विकी Bookmarks==बà¥à¤•मारà¥à¤• #----------------------------- @@ -4273,7 +4053,6 @@ Advanced Settings==à¤à¤¡à¤µà¤¾à¤‚स सेटिंग Performance Settings of Busy Queues==वà¥à¤¯à¤¸à¥à¤¤ कतारों की पà¥à¤°à¤¦à¤°à¥à¤¶à¤¨ सेटिंगà¥à¤¸ Viewer and administration for database tables==डेटाबेस तालिकाओं के लिठदरà¥à¤¶à¤• और पà¥à¤°à¤¶à¤¾à¤¸à¤¨ Advanced Properties==उनà¥à¤¨à¤¤ गà¥à¤£ -UI Translations==यूआई अनà¥à¤µà¤¾à¤¦ #----------------------------- #File: env/templates/submenuCrawlMonitor.template @@ -4381,13 +4160,6 @@ User Profile==उपयोगकरà¥à¤¤à¤¾ रूपरेखा Local robots.txt==सà¥à¤¥à¤¾à¤¨à¥€à¤¯ robots.txt #----------------------------- -#File: env/templates/submenuPublication.template -#--------------------------- -Publication==पà¥à¤°à¤•ाशन -Wiki==विकि -Blog==बà¥à¤²à¥‰à¤— -#----------------------------- - #File: env/templates/submenuRanking.template #--------------------------- Ranking and Heuristics==रैंकिंग और अनà¥à¤®à¤¾à¤¨ @@ -4534,14 +4306,6 @@ Get the latest Java Plug-in here.==नवीनतम Java पà¥à¤²à¤—-इन à Built with Processing==पà¥à¤°à¤¸à¤‚सà¥à¤•रण के साथ निरà¥à¤®à¤¿à¤¤ #----------------------------- -#File: proxymsg/authfail.inc -#--------------------------- -"login"=="लॉग इन करें" -Your Username/Password is wrong.==आपका उपयोकà¥à¤¤à¤¾à¤¨à¤¾à¤®/Password ग़लत है. -Username==उपयोगकरà¥à¤¤à¤¾ नाम -Password==पासवरà¥à¤¡ -#----------------------------- - #File: proxymsg/error.html #--------------------------- YaCy: Error Message==YaCy: तà¥à¤°à¥à¤Ÿà¤¿ संदेश diff --git a/locales/it.lng b/locales/it.lng index a3b39da34..43f79b2a0 100644 --- a/locales/it.lng +++ b/locales/it.lng @@ -226,54 +226,6 @@ News==Notizie Proxy==Proxy #----------------------------- -#File: Blog.html -#--------------------------- -Blog-Home==Blog-Home -Author:==Autore: -Subject:==Argomento: -Comments:==Osservazioni: -deactivated==disattivato -moderated==moderata -"Submit"=="Invia" -"Preview"=="Anteprima" -"Discard"=="Scarta" -No changes have been submitted so far!==Finora non sono state presentate modifiche! -Access denied==Accesso negato -To edit or create blog-entries you need to be logged in as Admin or User who has Blog rights.==Per modificare o creare blog-enties è necessario essere loggati come amministratore o utente che ha diritti di Blog. -Confirm deletion==Conferma cancellazione -Import was successful!==L'importazione ha avuto successo! -Import failed, maybe the supplied file was no valid blog-backup?==Importazione non riuscita, forse il file fornito non era valido blog-backup? -Please select the XML-file you want to import:==Please select the XML-file you want to import: -Edit==Modifica -Preview==Anteprima -"RSS"=="RSS" -"No, leave it."=="No, lascia stare." -"Yes, delete it."=="Sì, cancellalo." -<< previous entries==<< voci precedenti -Are you sure...==Sei sicuro... -XML-Import==XML-Import -activated==attivato -next entries >>==voci successive>> -Text:==Testo: -"Import"=="Importa" -#----------------------------- - -#File: BlogComments.html -#--------------------------- -Blog-Home==Blog-Home -Author:==Autore: -Subject:==Argomento: -"Submit"=="Invia" -"Preview"=="Anteprima" -"Discard"=="Scarta" -Comments:==Osservazioni: -<< previous entries==<< voci precedenti -next entries >>==voci successive>> -Comment on this Blog==Commenta questo Blog -Comments are not allowed for this posting!==I commenti non sono ammessi per questo invio! -Text:==Testo: -#----------------------------- - #File: Bookmarks.html #--------------------------- The bookmarks list can also be retrieved as RSS feed. This can also be done when you select a specific tag.==L'elenco dei segnalibri puo essere recuperato anche come feed RSS. Questo e possibile anche quando selezioni un tag specifico. @@ -353,42 +305,8 @@ loading....==caricamento... #File: ConfigAccounts_p.html #--------------------------- -User Accounts==Account utenti -User Administration==Amministrazione utenti -Generic error.==Errore generico. Passwords do not match.==Le password non corrispondono. -Username too short. Username must be >= 4 Characters.==Username too short. Username must be >= 4 Characters. Admin Account==Account admin -Access from localhost without account==Accesso da localhost senza account -Access to your peer from your own computer (localhost access) is granted with administrator rights. No need to configure an administration account.==L'accesso al tuo peer dal tuo computer (localhost access) è concesso con diritti di amministratore. Non è necessario configurare un account di amministrazione. -Access only with qualified account==Accesso solo con account qualificato -This is required if you want a remote access to your peer, but it also hardens access controls on administration operations of your peer.==Questo è necessario se si desidera un accesso remoto al vostro peer, ma indurisce anche i controlli di accesso sulle operazioni di amministrazione del vostro peer. -Peer User:==Utente peer: -New Peer Password:==Nuova password Peer: -Repeat Peer Password:==Ripeti la password di Peer: -"Define Administrator"=="Imposta amministratore" -Select user==Selezione utente -New user==Nuovo utente -Repeat password==Ripetere la password -First name==Nome di battesimo -Last name==Cognome -Address==Indirizzo -Timelimit==Termine -Time used==Tempo utilizzato -<b>WARNING</b> This YaCy instance can be administered with the account "admin" and the default password "yacy".==<b>ATTENZIONE</b> Questa istanza YaCy può essere amministrata con l'account "admin" e la password predefinita "yacy." -Password==Password -Rights:==Diritti: -Username==Nome utente -"Delete User"=="Elimina utente" -"Edit User"=="Modifica utente" -"Save User"=="Salva utente" -"Set Access Rules"=="Imposta regole di accesso" -Access Rules==Regole di accesso -Change the password as soon as possible!==Cambia la password il prima possibile! -Please use with care, notably when you browse untrusted and potentially malicious websites while running your YaCy peer on the same computer.==Si prega di utilizzare con cura, in particolare quando si naviga siti Web non fidati e potenzialmente dannosi durante l'esecuzione di YaCy peer sullo stesso computer. -Protection of all pages: if set to on, access to all pages need authorization; if off, only pages with "_p" extension are protected.==Protezione di tutte le pagine: se impostato su, l'accesso a tutte le pagine necessita di autorizzazione; se spento, sono protette solo le pagine con estensione "_p." -This setting is convenient but less secure than using a qualified admin account.==Questa impostazione è comoda ma meno sicura rispetto all'utilizzo di un account amministratore qualificato. -Username already used (not allowed).==Nome utente già utilizzato (non consentito). #----------------------------- #File: ConfigAppearance_p.html @@ -738,8 +656,6 @@ Status page==Pagina di stato Network pages==Pagine di rete Surftips==SurftipsCity name (optional, probably does not need a translation) News pages==Pagine di notizie -Blog==Blog -Wiki==Wiki Public bookmarks==Segnalibri pubblici Home Page==Homepage File Share==Condividi file @@ -2037,7 +1953,6 @@ The information that is presented on this page can also be retrieved as XML.==Le Click the API icon to see the XML.==Click the API icon to see the XML. Network Overview==Panoramica rete Manually contacting Peer==Contattare manualmente Peer -send <strong>M</strong>essage/<br/>show <strong>P</strong>rofile/<br/>edit <strong>W</strong>iki/<br/>browse <strong>B</strong>log==send <strong> M</strong> essage/<br/>show <strong> P</strong> rofile/<br/>edit <strong> W</strong> iki/<br/>browse <strong> B</strong> log Search for a peername (RegExp allowed)==Cerca un nome peer (Permesso RegExp) "Search"=="Cerca" Name==Nome @@ -2093,10 +2008,8 @@ strong query activity==forte attività di query red lines==linee rosse green lines==linee verdi Network History==Storia rete -"Blog updated"=="Blog aggiornato" "Profile updated"=="Profilo aggiornato" "Type: Virgin"=="Type: Virgin" -"Wiki updated"=="Wiki aggiornato" "add Peer"=="add Peer" <b>Count of Connected Senior Peers</b> in the last two days, scale = 1h==<b>Count of Connected Senior Peers</b> in the last two days, scale = 1h <b>Count of all Active Peers Per Day</b> in the last week, scale = 1d==<b>Count of all Active Peers Per Day</b> in the last week, scale = 1d @@ -2191,7 +2104,6 @@ Attributes==Attributi "Outgoing News"=="Notizie in uscita" "Processed News"=="News Processed" "Published News"=="Notizie pubblicate" -Publishing of added or modified translation for the user interface. Other peers may include it in their local translation list.==Publishing of added or modified translation for the user interface. Other peers may include it in their local translation list. #----------------------------- #File: Performance_p.html @@ -2632,14 +2544,9 @@ Proxy Access Settings==Impostazioni di accesso proxy These settings configure the access method to your own http proxy and server.==Queste impostazioni configurano il metodo di accesso al proprio proxy e server http. All traffic is routed through one single port, for both proxy and server.==Tutto il traffico è instradato attraverso una sola porta, sia per proxy che per server. Server Access Restrictions==Restrizioni di accesso al server -You can restrict the access to this proxy/server using a two-stage security barrier:==Puoi limitare l'accesso a questo proxy/server usando una barriera di sicurezza a due livelli: define an <em>access domain</em> with a list of granted client IP-numbers or with wildcards==define an <em> access domain</em> with a list of granted client IP-numbers or with wildcards -define an <em>user account</em> with an user:password - pair==define an <em> user account</em> with an user: password - pair -This is the account that restricts access to the proxy function.==Questo è l'account che limita l'accesso alla funzione proxy. You probably don't want to share the proxy to the internet, so you should set the==Probabilmente non si desidera condividere il proxy a Internet, quindi si dovrebbe impostare il IP-Number Access Domain to a pattern that corresponds to you local intranet.==IP-Number Access Domain to a pattern that corresponds to you local intranet. -The default setting should be right in most cases. If you want, you can also set a proxy account==The default setting should be right in most cases. If you want, you can also set a proxy account -so that every proxy user must authenticate first, but this is rather unusual.==in modo che ogni utente proxy deve prima autenticarsi, ma questo è piuttosto insolito. IP-Number filter==IP-Number filter Always Fresh==Sempre fresco If unchecked, the proxy will act using Cache Fresh / Cache Stale rules. If checked, the cache is always fresh which means==If unchecked, the proxy will act using Cache Fresh / Cache Stale rules. If checked, the cache is always fresh which means @@ -3167,44 +3074,6 @@ YaCy Debugging: Thread Dump==YaCy Debugging: Thread Dump Threaddump==Dump dei thread #----------------------------- -#File: Translator_p.html -#--------------------------- -Translation Editor==Editor di traduzione -UI Translation==Traduzione UI -Source File==File sorgente -view it==view it -filter untranslated==filtra stringhe non tradotte -Source Text==Testo originale -"Save translation"=="Salva traduzione" -Translate untranslated text of the user interface (current language). The modified translation file is stored in DATA/LOCALE directory.==Tradurre il testo non tradotto dell'interfaccia utente (lingua corrente). Il file di traduzione modificato è memorizzato nella directoryDATA/LOCALE. -#----------------------------- - -#File: User.html -#--------------------------- -User Page==Pagina utente -Username:==Nome utente: -"login"=="autenticati" -old Password==vecchia password -new Password(repetition)==nuova password (conferma) -"Change"=="Modifica" -You are currently logged in as admin.==Siete attualmente connessi come amministratore. -(after logout you will be prompted for your password again. simply click "cancel")==(dopo il logout ti verrà richiesta nuovamente la tua password. fai semplicemente clic su "cancella") -Password was changed.==La password e' stata cambiata. -Old Password is wrong.==La vecchia password e' sbagliata. -New Password and its repetition do not match.==La nuova password e la sua ripetizione non corrispondono. -New Password is empty.==La nuova password è vuota. -Cookie==Cookie -"green bar"=="bar verde" -"logout"=="Logout" -"red bar"=="barra rossa" -(Identified by==(Identificato da -IP==IP -Password:==Password: -Username/Password==Username/Password -You are not logged in.==Non hai effettuato l'accesso. -new Password==nuova password -#----------------------------- - #File: ViewFile.html #--------------------------- View URL Content==View URL Content @@ -3393,40 +3262,9 @@ size==dimensione time==tempo #----------------------------- -#File: Wiki.html -#--------------------------- -Grant Write Access to==Scrivi accesso a -"all"=="tutti" -"admin"=="admin" -Start Page==Pagina iniziale -Versions==Versioni -Author:==Autore: -You can use==Puoi usare -"Submit"=="Invia" -"Preview"=="Anteprima" -"Discard"=="Scarta" -No changes have been submitted so far!==Finora non sono state presentate modifiche! -Subject==Argomento -Change Date==Cambia data -Last Author==Ultimo autore -Compare version from==Confronta la versione da -"Show"=="Mostra" -with version from==con versione da -"Compare"=="Confronta" -Changes will be published as announcement on YaCyNews==Le modifiche saranno pubblicate come annuncio su YaCy News -Edit==Modifica -Preview==Anteprima -(only granted to admin)==(concesso solo all'amministratore) -Error==Errore -Index -==Indice - -Index==Indice -Text:==Testo: -#----------------------------- - -#File: WikiHelp.html +#File: WikiCodeHelp.html #--------------------------- Wiki-Code==Codice Wiki -This table contains a short description of the tags that can be used in the Wiki and several other servlets==Questa tabella contiene una breve descrizione dei tag che possono essere utilizzati in Wiki e diversi altri servlet of YaCy. For a more detailed description visit the==of YaCy. For a more detailed description visit the Description==Descrizione These tags create stressed texts. The first pair emphasizes the text (most browsers will display it in italics),==Questi tag creano testi stressati. La prima coppia enfatizza il testo (la maggior parte dei browser lo mostrerà in corsivo), @@ -3436,7 +3274,6 @@ These tags create a numbered list.==Queste etichette creano un elenco numerato. These tags create an unnumbered list.==Questi tag creano un elenco non numerato. These tags create a definition list.==Questi tag creano un elenco di definizioni. This tag creates a horizontal line.==Questo tag crea una linea orizzontale. -This tag creates links to other pages of the wiki.==Questo tag crea collegamenti ad altre pagine della wiki. This tag displays an image, it can be aligned left, right or center.==Questo tag mostra un'immagine, può essere allineata a sinistra, a destra o al centro. This tag displays a Youtube or Vimeo video with the id specified and fixed width 425 pixels and height 350 pixels.==Questo tag visualizza un video YouTube o Vimeo con l'ID indicato e dimensioni fisse di 425 pixel di larghezza e 350 pixel di altezza. These tags create a table, whereas the first marks the beginning of the table, the second starts==Questi tag creano una tabella, mentre il primo segna l'inizio della tabella, il secondo inizia @@ -3749,7 +3586,6 @@ Processed News==Notizie processate Outgoing News==Notizie in uscita Published News==Pubblicato News Community Data==Dati comunitari -Local Peer Wiki==Wiki peer locale Processes==Processi Messages==Messaggi Overview==Panoramica @@ -3764,7 +3600,6 @@ Surftips==SurftipsCity name (optional, probably does not need a translation) System Administration==Amministrazione sistema Advanced Settings==Impostazioni avanzate Advanced Properties==Proprietà avanzate -UI Translations==UI Translations Performance Settings of Busy Queues==Impostazioni prestazioni delle code occupate Viewer and administration for database tables==Visualizzatore e amministrazione per tabelle di database #----------------------------- @@ -3836,13 +3671,6 @@ Crawler/Spider==Crawler/Spider Network Harvesting==Raccolta di reti #----------------------------- -#File: env/templates/submenuPublication.template -#--------------------------- -Publication==Pubblicazione -Blog==Blog -Wiki==Wiki -#----------------------------- - #File: env/templates/submenuRanking.template #--------------------------- Ranking and Heuristics==Ranking ed euristiche @@ -3882,14 +3710,6 @@ Image Collage==Collage immagine Index Browser==Browser indice #----------------------------- -#File: proxymsg/authfail.inc -#--------------------------- -Your Username/Password is wrong.==Your Username/Password is wrong. -"login"=="login" -Password==Password -Username==Nome utente -#----------------------------- - #File: proxymsg/error.html #--------------------------- YaCy: Error Message==YaCy: Messaggio d'errore @@ -4458,42 +4278,6 @@ Thread:==Thread: "Stop"=="Fermati" #----------------------------- -#File: ConfigAccountList_p.html -#--------------------------- -User Accounts==Account utenti -User List==Elenco utenti -Address==Indirizzo -First name==Nome di battesimo -Last Access==Ultimo accesso -Last name==Cognome -Rights==Diritti -Time==Ora -Traffic==Traffico -User==Utente -#----------------------------- - -#File: ConfigUser_p.html -#--------------------------- -Username too short. Username must be >= 4 Characters.==Username too short. Username must be >= 4 Characters. -Username already used (not allowed).==Nome utente già utilizzato (non consentito). -Passwords do not match.==Le password non corrispondono. -User Account Editor==Editor account utente -back to user list==torna all'elenco utenti -Generic error.==Errore generico. -Rights:==Diritti: -"Delete User"=="Elimina utente" -"Save User"=="Salva utente" -"ConfigAccountList_p.html"=="ConfigAccountList_p.html" -Address==Indirizzo -First name==Nome di battesimo -Last name==Cognome -Password==Password -Repeat password==Ripetere la password -Time used==Tempo utilizzato -Timelimit==Termine -Username==Nome utente -#----------------------------- - #File: ContentAnalysis_p.html #--------------------------- The quantRate is a measurement for the number of words that take part in a signature computation. The higher the number, the less==quantRate e una misura del numero di parole che partecipano al calcolo della firma. Piu alto e il numero, meno @@ -4527,11 +4311,6 @@ Start URL==Start URL #File: SearchAccessRate_p.html #--------------------------- -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, results resorting becomes only applicable on demand, server-side.==Quando un utente con diritti limitati (non autenticato o senza diritto di ricerca esteso) supera un limite, il ricorso ai risultati diventa applicabile solo su richiesta, lato server. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search scope falls back to only this local peer index.==Quando un utente con diritti limitati (non autenticato o senza diritto di ricerca esteso) supera un limite, l'ambito di ricerca rientra solo in questo indice peer locale. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the snippets fetch strategy falls back to 'CACHEONLY'==Quando un utente con diritti limitati (non autenticato o senza diritto di ricerca esteso) supera un limite, la strategia di recupero snippet rientra in "CACHEONLY" -You can configure here limitations on access rate to this peer search interface by unauthenticated users and users without extended search right==È possibile configurare qui le limitazioni sulla velocità di accesso a questa interfaccia di ricerca peer da parte di utenti e utenti non autenticati senza il diritto di ricerca estesa -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search is blocked.==Quando un utente con diritti limitati (non autenticato o senza diritto di ricerca esteso) supera un limite, la ricerca viene bloccata. Access rate limitations to the peer-to-peer search mode with browser-side JavaScript results resorting enabled==Limitazioni del tasso di accesso alla modalità di ricerca peer-to-peer con il browser-side JavaScript risultati ricorso abilitato <em id="changeInfo">Changes will take effect immediately.</em>==<em id="changeInfo"> Le modifiche avranno effetto immediatamente.</em> Access rate limitations to the peer-to-peer search mode.==Limitazioni del tasso di accesso alla modalità di ricerca peer-to-peer. @@ -4558,21 +4337,6 @@ YaCy search==Ricerca YaCy CyTag Trails==Sentieri CyTag #----------------------------- -#File: TransNews_p.html -#--------------------------- -You can share your local addition to translations and distribute it to other peers.==Puoi condividere la tua aggiunta locale alle traduzioni e distribuirla ad altri peer. -Translation:==Traduzione: -English:==Inglese: -existing==esistente -"negative vote"=="voto negativo" -"positive vote"=="voto positivo" -Originator==Originario -Vote on this translation. If you vote positive the translation is added to your local translation list.==Vote on this translation. If you vote positive the translation is added to your local translation list. -File:==File: -The remote peer can vote on your translation and add it to its own local translation.==Il remoto peer può votare sulla vostra traduzione e aggiungerla alla propria traduzione locale. -"Publish"=="Pubblica" -#----------------------------- - #File: VFS.html #--------------------------- User storage in the browser cache with file-system-like navigation.==Memorizzazione utente nella cache del browser con navigazione tipo file system. diff --git a/locales/ja.lng b/locales/ja.lng index 018541998..56c076b47 100644 --- a/locales/ja.lng +++ b/locales/ja.lng @@ -332,54 +332,6 @@ An error occurred while editing the following entries. Please check syntax.==次 Activate this list for ...==ã“ã®ãƒªã‚¹ãƒˆã‚’アクティブ化ã™ã‚‹ã¨... #----------------------------- -#File: Blog.html -#--------------------------- -"RSS"=="RSS" -"Submit"=="確定ã™ã‚‹" -"Preview"=="プレヴュー" -"Discard"=="廃棄ã™ã‚‹" -"Yes, delete it."=="ã¯ã„ã€å‰Šé™¤ã—ã¾ã™ã€‚" -"No, leave it."=="ã„ã‚„ã€æ”¾ã£ã¦ãŠã„ã¦ãã ã•ã„。" -"Import"=="輸入" -<< previous entries==<< å‰ã®ã‚¨ãƒ³ãƒˆãƒª -next entries >>==次ã®ã‚¨ãƒ³ãƒˆãƒª >> -Blog-Home==ブãƒã‚°-ホーム-Edit==編集 -Author:==著者: -Subject:==題å: -Text:==æ–‡ç« ï¼š -Comments:==コメント: -deactivated==無効化ã•れãŸã‚‚ã® -activated==アクティブ化ã•れ㟠-moderated==変更ã•れãŸã‚‚ã® -Preview==プレビュー -No changes have been submitted so far!==ã¾ã 変更ãŒç¢ºå®šã•れã¦ã„ã¾ã›ã‚“! -Access denied==ã‚¢ã‚¯ã‚»ã‚¹ãŒæ‹’å¦ã•れã¾ã—㟠-To edit or create blog-entries you need to be logged in as Admin or User who has Blog rights.==ブãƒã‚°-エントリーを編集ã¾ãŸã¯ä½œæˆã™ã‚‹ç‚ºã«ã‚ãªãŸã¯ãƒ–ãƒã‚°ã®æ¨©åˆ©ã‚’æŒã¤ç®¡ç†è€…ã¾ãŸã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¨ã—ã¦ãƒã‚°ã‚¤ãƒ³ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™. -Are you sure...==本気ã§ã™ã‹... -Confirm deletion==削除を確èªã™ã‚‹ -XML-Import==XML-インãƒãƒ¼ãƒˆ -Import was successful!==å–り込ã¿ã¯æˆåŠŸã—ã¾ã—ãŸ! -Import failed, maybe the supplied file was no valid blog-backup?==å–り込ã¿ã¯å¤±æ•—ã—ã¾ã—ãŸã€‚ãŠãらã供給ã•れãŸãƒ•ã‚¡ã‚¤ãƒ«ã¯æœ‰åйãªãƒ–ãƒã‚°-ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã§ã¯ãªã‹ã£ãŸã®ã§ã¯ãªã„ã§ã—ょã†ã‹? -Please select the XML-file you want to import:==ã‚ãªãŸãŒå–り込ã¿ãŸã„XML-ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é¸æŠžã—ã¦ä¸‹ã•ã„: -#----------------------------- - -#File: BlogComments.html -#--------------------------- -"Submit"=="確定ã™ã‚‹" -"Preview"=="プレヴュー" -"Discard"=="廃棄ã™ã‚‹" -Blog-Home==ブãƒã‚°-ホーム-Comments:==コメント: -<< previous entries==<< å‰ã®ã‚¨ãƒ³ãƒˆãƒª -next entries >>==次ã®ã‚¨ãƒ³ãƒˆãƒª >> -Comments are not allowed for this posting!==ã“ã®æŠ•ç¨¿ã¸ã®ã‚³ãƒ¡ãƒ³ãƒˆã¯ç¦æ¢ã•れã¦ã„ã¾ã™ã€‚ -Comment on this Blog==ã“ã®ãƒ–ãƒã‚°ã«ã‚³ãƒ¡ãƒ³ãƒˆã™ã‚‹ -Author:==著者: -Subject:==題å: -Text:==æ–‡ç« ï¼š -#----------------------------- - #File: Bookmarks.html #--------------------------- "RSS"=="RSS" @@ -447,58 +399,10 @@ Private Queue==プライヴェート ã‚ュー Public Queue==パブリック ã‚ュー #----------------------------- -#File: ConfigAccountList_p.html -#--------------------------- -User List==ユーザーリスト -User Accounts==ユーザーã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆ -User==ユーザー -First name==å -Last name==å§“ -Address==使‰€ -Last Access==最終アクセス -Rights==権利 -Time==時間 -Traffic==渋滞 -#----------------------------- - #File: ConfigAccounts_p.html #--------------------------- -"Define Administrator"=="管ç†è€…を定義ã™ã‚‹" -"Set Access Rules"=="アクセスルールをè¨å®šã™ã‚‹" -"Edit User"=="ユーザーã®ç·¨é›†" -"Delete User"=="ユーザーã®å‰Šé™¤" -"Save User"=="ユーザーã®ä¿å˜" -User Administration==ユーザーã®ç®¡ç† -Generic error.==一般的ãªã‚¨ãƒ©ãƒ¼. Passwords do not match.==パスワードãŒä¸€è‡´ã—ã¾ã›ã‚“. -Username too short. Username must be >= 4 Characters.==ユーザーåãŒçŸéŽãŽã¾ã™. ユーザーå >= 4æ–‡å— ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“. -Username already used (not allowed).==ユーザーåã¯ã™ã§ã«ä½¿ç”¨ã•れã¦ã„ã¾ã™ (許å¯ã•れã¦ã„ã¾ã›ã‚“)。 -<b>WARNING</b> This YaCy instance can be administered with the account "admin" and the default password "yacy".==<b>WARNING</b> ã“ã® YaCy インスタンスã¯ã€ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã€Œadminã€ã¨ãƒ‡ãƒ•ォルトã®ãƒ‘スワード「yacyã€ã‚’使用ã—ã¦ç®¡ç†ã§ãã¾ã™ã€‚ -Change the password as soon as possible!==ã§ãã‚‹ã ã‘æ—©ãパスワードを変更ã—ã¦ãã ã•ã„。 Admin Account==Admin Konto -Access from localhost without account==アカウント無ã—ã§ã®ãƒãƒ¼ã‚«ãƒ«ãƒ›ã‚¹ãƒˆã‹ã‚‰ã®ã‚¢ã‚¯ã‚»ã‚¹ -Access to your peer from your own computer (localhost access) is granted with administrator rights. No need to configure an administration account.==ã‚ãªãŸã®è‡ªåˆ†ã®ã‚³ãƒ³ãƒ”ュータ(ãƒãƒ¼ã‚«ãƒ«ãƒ›ã‚¹ãƒˆã‚¢ã‚¯ã‚»ã‚¹ï¼‰ã‹ã‚‰ãƒ”ã‚¢ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã¯ç®¡ç†è€…権é™ã‚’付与ã•れã¦ã„ã¾ã™. 管ç†ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’æ§‹æˆã™ã‚‹å¿…è¦ã¯ã‚りã¾ã›ã‚“. -This setting is convenient but less secure than using a qualified admin account.==ã“ã®è¨å®šã¯ä¾¿åˆ©ã§ã™ãŒã€è³‡æ ¼ã®ã‚る管ç†è€…アカウントを使用ã™ã‚‹å ´åˆã‚ˆã‚Šã‚‚安全性ãŒä½Žããªã‚Šã¾ã™ã€‚ -Please use with care, notably when you browse untrusted and potentially malicious websites while running your YaCy peer on the same computer.==特ã«ã€åŒã˜ã‚³ãƒ³ãƒ”ュータ上㧠YaCy ピアを実行ã—ã¦ã„ã‚‹ã¨ãã«ã€ä¿¡é ¼ã§ããªã„ã€æ‚ªæ„ã®ã‚ã‚‹å¯èƒ½æ€§ã®ã‚ã‚‹ Web サイトを閲覧ã™ã‚‹å ´åˆã¯ã€æ³¨æ„ã—ã¦ä½¿ç”¨ã—ã¦ãã ã•ã„。 -Access only with qualified account==è³‡æ ¼ã®ã‚るアカウントã§ã®ã¿ã®ã‚¢ã‚¯ã‚»ã‚¹ -This is required if you want a remote access to your peer, but it also hardens access controls on administration operations of your peer.==ã“れã¯ãƒ”ã‚¢ã¸ã®ãƒªãƒ¢ãƒ¼ãƒˆ アクセスãŒå¿…è¦ãªå ´åˆã«å¿…è¦ã§ã™ãŒã€ãƒ”ã‚¢ã®ç®¡ç†æ“作ã«å¯¾ã™ã‚‹ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã‚‚強化ã•れã¾ã™ã€‚ -Peer User:==ピア ユーザー: -New Peer Password:==æ–°è¦ã®ãƒ”ã‚¢ã®ãƒ‘スワード: -Repeat Peer Password:==ピアã®ãƒ‘スワードを繰り返ã—ã¦ä¸‹ã•ã„: -Access Rules==アクセスルール -Protection of all pages: if set to on, access to all pages need authorization; if off, only pages with "_p" extension are protected.==ã™ã¹ã¦ã®ãƒšãƒ¼ã‚¸ã®ä¿è·: オンã«è¨å®šã™ã‚‹ã¨ã€ã™ã¹ã¦ã®ãƒšãƒ¼ã‚¸ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã«ã¯èªè¨¼ãŒå¿…è¦ã«ãªã‚Šã¾ã™ã€‚オフã®å ´åˆã€æ‹¡å¼µå「_pã€ã‚’æŒã¤ãƒšãƒ¼ã‚¸ã®ã¿ãŒä¿è·ã•れã¾ã™ã€‚ -User Accounts==ユーザーã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆ -Select user==ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’é¸æŠžã™ã‚‹ -New user==æ–°è¦ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ -Username==ユーザーå -Password==パスワード -Repeat password==パスワードを繰り返ã—ã¦ä¸‹ã•ã„ -First name==å -Last name==å§“ -Address==使‰€ -Rights:==権利: -Timelimit==æœŸé™ -Time used==使ã‚ã‚ŒãŸæ™‚é–“ #----------------------------- #File: ConfigAppearance_p.html @@ -876,8 +780,6 @@ Status page==状態ã®ãƒšãƒ¼ã‚¸ Network pages==ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ ページ Surftips==サーフティップス News pages==ニューズ ページ -Blog==ブãƒã‚° -Wiki==ウィ゠Public bookmarks==公開ブックマーク Home Page==ホームページ File Share==ファイル共有 @@ -1037,28 +939,6 @@ manual update:<br/>apt-get update && apt-get install yacy==手動アッã automatic update: add the following line to /etc/crontab<br/>0 6 * * * root apt-get update && apt-get -y --force-yes install yacy==自動更新: 次ã®è¡Œã‚’ /etc/crontab<br/>0 ã«è¿½åŠ ã—ã¾ã™ 6 * * * root apt-get update && apt-get -y --force-yes install yacy #----------------------------- -#File: ConfigUser_p.html -#--------------------------- -"Save User"=="ユーザーã®ä¿å˜" -"Delete User"=="ユーザーã®å‰Šé™¤" -"ConfigAccountList_p.html"=="ConfigAccountList_p.html" -User Account Editor==ユーザーアカウント編集者 -Generic error.==一般的ãªã‚¨ãƒ©ãƒ¼. -Passwords do not match.==パスワードãŒä¸€è‡´ã—ã¾ã›ã‚“. -Username too short. Username must be >= 4 Characters.==ユーザーåãŒçŸéŽãŽã¾ã™. ユーザーå >= 4æ–‡å— ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“. -Username already used (not allowed).==ユーザーåã¯ã™ã§ã«ä½¿ç”¨ã•れã¦ã„ã¾ã™ (許å¯ã•れã¦ã„ã¾ã›ã‚“)。 -Username==ユーザーå -Password==パスワード -Repeat password==パスワードを繰り返ã—ã¦ä¸‹ã•ã„ -First name==å -Last name==å§“ -Address==使‰€ -Rights:==権利: -Timelimit==æœŸé™ -Time used==使ã‚ã‚ŒãŸæ™‚é–“ -back to user list==ãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒªã‚¹ãƒˆã«æˆ»ã‚‹ -#----------------------------- - #File: Connections_p.html #--------------------------- Server Connection Tracking==サーãƒãƒ¼æŽ¥ç¶šã®è¿½è·¡ @@ -2465,8 +2345,6 @@ inbox==å—ä¿¡ç®± "DHT Receive: yes"=="DHT å—ä¿¡: ã¯ã„" "DHT receive enabled"=="DHT å—ä¿¡ãŒæœ‰åйã«ãªã‚Šã¾ã—ãŸ" "Profile updated"=="プãƒãƒ•ィールを更新ã—ã¾ã—ãŸ" -"Wiki updated"=="ウィã‚ãŒæ›´æ–°ã•れã¾ã—ãŸ" -"Blog updated"=="ブãƒã‚°ã‚’æ›´æ–°ã—ã¾ã—ãŸ" "Crawl"=="クãƒãƒ¼ãƒ«" "The YaCy Network"=="YaCy ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯" "Type: Virgin"=="タイプ: 処女" @@ -2512,7 +2390,6 @@ Received DHT<br/>Word Chunks==DHT<br/>ワード ãƒãƒ£ãƒ³ã‚¯ã‚’å—ä¿¡ã—ã¾ã—ã Received<br/>URLs==å—ä¿¡ã—ãŸ<br/>URL Location==ä½ç½® user agent<br/>==ユーザーエージェント<br/> -send <strong>M</strong>essage/<br/>show <strong>P</strong>rofile/<br/>edit <strong>W</strong>iki/<br/>browse <strong>B</strong>log==send <strong>M</strong>メッセージ/<br/>show <strong>P</strong>rofile/<br/>編集 <strong>W</strong>iki/<br/>閲覧 <strong>B</strong>ãƒã‚° Network==ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ Online Peers==オンラインピア Number of<br/>Documents==<br/>ドã‚ãƒ¥ãƒ¡ãƒ³ãƒˆã®æ•° @@ -2583,7 +2460,6 @@ 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〠(プãƒãƒ•ァイル) - ã‚»ãƒ¬ã‚¯ã‚¿ãƒ¼ã®æ¨ªã«ã‚る「*ã€ã§è¦–覚化ã•れã¾ã™ã€‚ -Publishing of added or modified translation for the user interface. Other peers may include it in their local translation list.==ユーザー インターフェイスã®è¿½åŠ ã¾ãŸã¯å¤‰æ›´ã•れãŸç¿»è¨³ã®å…¬é–‹ã€‚ä»–ã®ãƒ”ã‚¢ã¯ã€ãƒãƒ¼ã‚«ãƒ«å¤‰æ›ãƒªã‚¹ãƒˆã«ãれをå«ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ More news services will follow.==ã•らã«å¤šãã®ãƒ‹ãƒ¥ãƒ¼ã‚¹ã‚µãƒ¼ãƒ“スãŒç¶šãã¾ã™ã€‚ Above you can see four menus:==上ã«ã¯ 4 ã¤ã®ãƒ¡ãƒ‹ãƒ¥ãƒ¼ãŒè¡¨ç¤ºã•れã¾ã™ã€‚ Only these news will be used to display specific news services as explained above.==上ã§èª¬æ˜Žã—ãŸã‚ˆã†ã«ã€ã“れらã®ãƒ‹ãƒ¥ãƒ¼ã‚¹ã®ã¿ãŒç‰¹å®šã®ãƒ‹ãƒ¥ãƒ¼ã‚¹ サービスã®è¡¨ç¤ºã«ä½¿ç”¨ã•れã¾ã™ã€‚ @@ -2989,23 +2865,18 @@ Age==å¹´ "Reset to defaults settings"=="デフォルトè¨å®šã«ãƒªã‚»ãƒƒãƒˆã™ã‚‹" limitations==制é™äº‹é … Local Search access rate limitations==ãƒãƒ¼ã‚«ãƒ«æ¤œç´¢ã®ã‚¢ã‚¯ã‚»ã‚¹é€Ÿåº¦ã®åˆ¶é™ -You can configure here limitations on access rate to this peer search interface by unauthenticated users and users without extended search right==ã“ã“ã§ã€èªè¨¼ã•れã¦ã„ãªã„ユーザーãŠã‚ˆã³æ‹¡å¼µæ¤œç´¢æ¨©é™ã®ãªã„ユーザーã«ã‚ˆã‚‹ã“ã®ãƒ”ア検索インターフェイスã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ レートã®åˆ¶é™ã‚’æ§‹æˆã§ãã¾ã™ã€‚ YaCy search==YaCy 検索 Access rate limitations to this peer search interface.==ã“ã®ãƒ”ア検索インターフェイスã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ レート制é™ã€‚ -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search is blocked.==制é™ã•ã‚ŒãŸæ¨©é™ã‚’æŒã¤ãƒ¦ãƒ¼ã‚¶ãƒ¼ (èªè¨¼ã•れã¦ã„ãªã„ã€ã¾ãŸã¯æ‹¡å¼µæ¤œç´¢æ¨©é™ãŒãªã„) ãŒåˆ¶é™ã‚’è¶…ãˆã‚‹ã¨ã€æ¤œç´¢ã¯ãƒ–ãƒãƒƒã‚¯ã•れã¾ã™ã€‚ Max searches in 3s==最大検索数㯠3 秒以内 Max searches in 1mn==100 ä¸‡å›žã®æœ€å¤§æ¤œç´¢æ•° Max searches in 10mn==10 åˆ†é–“ã®æœ€å¤§æ¤œç´¢æ•° Peer-to-peer search==ピアツーピア検索 Access rate limitations to the peer-to-peer search mode.==ピアツーピア検索モードã¸ã®ã‚¢ã‚¯ã‚»ã‚¹é€Ÿåº¦åˆ¶é™ã€‚ -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search scope falls back to only this local peer index.==制é™ã•ã‚ŒãŸæ¨©é™ã‚’æŒã¤ãƒ¦ãƒ¼ã‚¶ãƒ¼ (èªè¨¼ã•れã¦ã„ãªã„ã€ã¾ãŸã¯æ‹¡å¼µæ¤œç´¢æ¨©é™ãŒãªã„) ãŒåˆ¶é™ã‚’è¶…ãˆã‚‹ã¨ã€æ¤œç´¢ç¯„囲ã¯ã“ã®ãƒãƒ¼ã‚«ãƒ« ピア インデックスã®ã¿ã«æˆ»ã‚Šã¾ã™ã€‚ Max searches in 10mn==10 åˆ†é–“ã®æœ€å¤§æ¤œç´¢æ•° Peer-to-peer search with JavaScript results resorting==JavaScript ã®çµæžœã‚’ä¸¦ã¹æ›¿ãˆã‚‹ãƒ”アツーピア検索 Access rate limitations to the peer-to-peer search mode with browser-side JavaScript results resorting enabled==ブラウザå´ã® JavaScript çµæžœã®å†ã‚½ãƒ¼ãƒˆãŒæœ‰åйã«ãªã£ã¦ã„ã‚‹å ´åˆã®ãƒ”アツーピア検索モードã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ ãƒ¬ãƒ¼ãƒˆåˆ¶é™ -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, results resorting becomes only applicable on demand, server-side.==制é™ã•ã‚ŒãŸæ¨©é™ã‚’æŒã¤ãƒ¦ãƒ¼ã‚¶ãƒ¼ (èªè¨¼ã•れã¦ã„ãªã„ã€ã¾ãŸã¯æ‹¡å¼µæ¤œç´¢æ¨©é™ãŒãªã„) ãŒåˆ¶é™ã‚’è¶…ãˆã‚‹ã¨ã€çµæžœã®å†åˆ†é¡žã¯ã‚µãƒ¼ãƒãƒ¼å´ã§ã‚ªãƒ³ãƒ‡ãƒžãƒ³ãƒ‰ã§ã®ã¿é©ç”¨ã•れã¾ã™ã€‚ Remote snippet load==リモート スニペットã®ãƒãƒ¼ãƒ‰ Limitations on snippet loading from remote websites.==リモート Web サイトã‹ã‚‰ã®ã‚¹ãƒ‹ãƒšãƒƒãƒˆã®èªã¿è¾¼ã¿ã«é–¢ã™ã‚‹åˆ¶é™ã€‚ -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the snippets fetch strategy falls back to 'CACHEONLY'==制é™ã•ã‚ŒãŸæ¨©é™ã‚’æŒã¤ãƒ¦ãƒ¼ã‚¶ãƒ¼ (èªè¨¼ã•れã¦ã„ãªã„ã€ã¾ãŸã¯æ‹¡å¼µæ¤œç´¢æ¨©é™ãŒãªã„) ãŒåˆ¶é™ã‚’è¶…ãˆã‚‹ã¨ã€ã‚¹ãƒ‹ãƒšãƒƒãƒˆã®ãƒ•ã‚§ãƒƒãƒæˆ¦ç•¥ã¯ã€ŒCACHEONLYã€ã«æˆ»ã‚Šã¾ã™ã€‚ Max searches in 3s==最大検索数㯠3 秒以内 <em id="changeInfo">Changes will take effect immediately.</em>==<em id="changeInfo">変更ã¯ã™ãã«æœ‰åйã«ãªã‚Šã¾ã™ã€‚</em> #----------------------------- @@ -3230,14 +3101,9 @@ These settings configure the access method to your own http proxy and server.==ã All traffic is routed through one single port, for both proxy and server.==ã™ã¹ã¦ã®ãƒˆãƒ©ãƒ•ィックã¯ã€ãƒ—ãƒã‚ã‚·ã¨ã‚µãƒ¼ãƒãƒ¼ã®ä¸¡æ–¹ã«å¯¾ã—㦠1 ã¤ã®ãƒãƒ¼ãƒˆã‚’介ã—ã¦ãƒ«ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã•れã¾ã™ã€‚ HTTPS Server Port:==HTTPS サーãƒãƒ¼ãƒãƒ¼ãƒˆ: Server Access Restrictions==サーãƒãƒ¼ã‚¢ã‚¯ã‚»ã‚¹åˆ¶é™ -You can restrict the access to this proxy/server using a two-stage security barrier:==2 段階ã®ã‚»ã‚ュリティ ãƒãƒªã‚¢ã‚’使用ã—ã¦ã€ã“ã®ãƒ—ãƒã‚ã‚·/server ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’制é™ã§ãã¾ã™ã€‚ define an <em>access domain</em> with a list of granted client IP-numbers or with wildcards==許å¯ã•れãŸã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆ IP 番å·ã®ãƒªã‚¹ãƒˆã¾ãŸã¯ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ã‚’使用ã—ã¦ã€<em>アクセス ドメイン</em> を定義ã—ã¾ã™ -define an <em>user account</em> with an user:password - pair==ユーザー:パスワードã®ãƒšã‚¢ã§ <em>ユーザー アカウント</em> を定義ã—ã¾ã™ -This is the account that restricts access to the proxy function.==プãƒã‚シ機能ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’制é™ã™ã‚‹ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã§ã™ã€‚ 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.==IP - ãƒãƒ¼ã‚«ãƒ« イントラãƒãƒƒãƒˆã«å¯¾å¿œã™ã‚‹ãƒ‘ターンã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ ドメインã®ç•ªå·ã€‚ -The default setting should be right in most cases. If you want, you can also set a proxy account==ã»ã¨ã‚“ã©ã®å ´åˆã€ãƒ‡ãƒ•ォルトè¨å®šãŒæ£ã—ã„ã¯ãšã§ã™ã€‚å¿…è¦ã«å¿œã˜ã¦ã€ãƒ—ãƒã‚ã‚· アカウントをè¨å®šã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ -so that every proxy user must authenticate first, but this is rather unusual.==ã—ãŸãŒã£ã¦ã€ã™ã¹ã¦ã®ãƒ—ãƒã‚ã‚· ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒæœ€åˆã«èªè¨¼ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ãŒã€ã“れã¯ã‹ãªã‚Šçã—ã„ã“ã¨ã§ã™ã€‚ IP-Number filter==IP - 数値フィルター Accounts==アカウント #----------------------------- @@ -3628,59 +3494,6 @@ Save Tools Configuration==ツールè¨å®šã®ä¿å˜ CyTag Trails==CyTag トレイル #----------------------------- -#File: TransNews_p.html -#--------------------------- -"Publish"=="公開" -"negative vote"=="ãƒã‚¬ãƒ†ã‚£ãƒ´ãªç¥¨" -"positive vote"=="ãƒã‚¸ãƒ†ã‚£ãƒ´ãªç¥¨" -You can share your local addition to translations and distribute it to other peers.==ãƒãƒ¼ã‚«ãƒ«ã§è¿½åŠ ã—ãŸç¿»è¨³ã‚’共有ã—ã€ä»–ã®ãƒ”ã‚¢ã«é…布ã§ãã¾ã™ã€‚ -The remote peer can vote on your translation and add it to its own local translation.==リモート ピアã¯ã€ç¿»è¨³ã«æŠ•票ã—ã¦ã€ãれを独自ã®ãƒãƒ¼ã‚«ãƒ«ç¿»è¨³ã«è¿½åŠ ã§ãã¾ã™ã€‚ -File:==ファイル: -Originator==発信者 -English:==英語: -existing==æ—¢å˜ -Translation:==翻訳: -Vote on this translation. If you vote positive the translation is added to your local translation list.==ã“ã®ç¿»è¨³ã«æŠ•票ã—ã¦ãã ã•ã„ã€‚è‚¯å®šçš„ã«æŠ•ç¥¨ã™ã‚‹ã¨ã€ãã®ç¿»è¨³ãŒãƒãƒ¼ã‚«ãƒ«ã®ç¿»è¨³ãƒªã‚¹ãƒˆã«è¿½åŠ ã•れã¾ã™ã€‚ -#----------------------------- - -#File: Translator_p.html -#--------------------------- -"Save translation"=="翻訳をä¿å˜ã™ã‚‹" -Translation Editor==翻訳エディター -Translate untranslated text of the user interface (current language). The modified translation file is stored in DATA/LOCALE directory.==ユーザー インターフェイス (ç¾åœ¨ã®è¨€èªž) ã®æœªç¿»è¨³ã®ãƒ†ã‚ストを翻訳ã—ã¾ã™ã€‚変更ã•れãŸç¿»è¨³ãƒ•ァイル㯠DATA/LOCALE ディレクトリã«ä¿å˜ã•れã¾ã™ã€‚ -UI Translation==UIã®ç¿»è¨³ -Source File==ソースファイル -view it==ãれを見る -filter untranslated==未翻訳をフィルタリングã™ã‚‹ -Source Text==ソーステã‚スト -#----------------------------- - -#File: User.html -#--------------------------- -"login"=="ãƒã‚°ã‚¤ãƒ³" -"logout"=="ãƒã‚°ã‚¢ã‚¦ãƒˆ" -"red bar"=="赤ã„ãƒãƒ¼" -"green bar"=="緑色ã®ãƒãƒ¼" -"Change"=="変化" -User Page==ユーザー ページ -You are not logged in.==ãƒã‚°ã‚¤ãƒ³ã—ã¦ã„ã¾ã›ã‚“。 -Username:==ユーザーå: -Password:==パスワード: -(Identified by==(特定者 -IP==IP -Username/Password==ユーザーå/Password -Cookie==クッã‚ー -old Password==以å‰ã®ãƒ‘スワード -new Password==æ–°ã—ã„パスワード -new Password(repetition)==æ–°ã—ã„パスワード(繰り返ã—) -You are currently logged in as admin.==ç¾åœ¨ã€ç®¡ç†è€…ã¨ã—ã¦ãƒã‚°ã‚¤ãƒ³ã—ã¦ã„ã¾ã™ã€‚ -(after logout you will be prompted for your password again. simply click "cancel")==(ãƒã‚°ã‚¢ã‚¦ãƒˆå¾Œã€å†åº¦ãƒ‘スワードã®å…¥åŠ›ã‚’æ±‚ã‚られã¾ã™ã€‚å˜ã«ã€Œã‚ャンセルã€ã‚’クリックã—ã¦ãã ã•ã„) -Password was changed.==パスワードãŒå¤‰æ›´ã•れã¾ã—ãŸã€‚ -Old Password is wrong.==å¤ã„パスワードãŒé–“é•ã£ã¦ã„ã¾ã™ã€‚ -New Password and its repetition do not match.==æ–°ã—ã„パスワードã¨ãã®ç¹°ã‚Šè¿”ã—ãŒä¸€è‡´ã—ã¾ã›ã‚“。 -New Password is empty.==æ–°ã—ã„パスワードãŒç©ºã§ã™ã€‚ -#----------------------------- - #File: VFS.html #--------------------------- "File system browser"=="ファイルシステムブラウザ" @@ -3884,40 +3697,9 @@ Other Dot==ãã®ä»–ã®ãƒ‰ãƒƒãƒˆ Dot-end==ドットエンド #----------------------------- -#File: Wiki.html -#--------------------------- -"all"=="å…¨ã¦" -"admin"=="管ç†è€…" -"Submit"=="確定ã™ã‚‹" -"Preview"=="プレヴュー" -"Discard"=="廃棄ã™ã‚‹" -"Show"=="見ã›ã‚‹" -"Compare"=="比較" -(only granted to admin)==(管ç†è€…ã«ã®ã¿è¨±å¯ã•れã¦ã„ã¾ã™) -Index -==索引 - -Grant Write Access to==ã¸ã®æ›¸ãè¾¼ã¿ã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã™ã‚‹ -Edit==編集 -Author:==著者: -Text:==æ–‡ç« ï¼š -Preview==プレビュー -No changes have been submitted so far!==ã¾ã 変更ãŒç¢ºå®šã•れã¦ã„ã¾ã›ã‚“! -Index==索引 -Subject==主題 -Change Date==変更日 -Last Author==最終著者 -Start Page==スタートページ -Versions==ãƒãƒ¼ã‚¸ãƒ§ãƒ³ -Compare version from==ã‹ã‚‰ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’比較 -with version from==ã‹ã‚‰ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ -Error==エラー -You can use==使用ã§ãã¾ã™ -Changes will be published as announcement on YaCyNews==変更ã¯YaCyNewsã§ã®ãŠçŸ¥ã‚‰ã›ã¨ã—ã¦å…¬é–‹ã•れã¾ã™ -#----------------------------- - -#File: WikiHelp.html +#File: WikiCodeHelp.html #--------------------------- Wiki-Code==Wiki-コード -This table contains a short description of the tags that can be used in the Wiki and several other servlets==ã“ã®è¡¨ã«ã¯ã€Wiki ãŠã‚ˆã³ä»–ã®ã„ãã¤ã‹ã®ã‚µãƒ¼ãƒ–レットã§ä½¿ç”¨ã§ãã‚‹ã‚¿ã‚°ã®ç°¡å˜ãªèª¬æ˜ŽãŒå«ã¾ã‚Œã¦ã„ã¾ã™ of YaCy. For a more detailed description visit the==YaCy ã®ã€‚より詳細ãªèª¬æ˜Žã«ã¤ã„ã¦ã¯ã€æ¬¡ã®ã‚µã‚¤ãƒˆã‚’å‚ç…§ã—ã¦ãã ã•ã„。 Code==コード Description==説明 @@ -3942,7 +3724,6 @@ These tags create a definition list.==ã“れらã®ã‚¿ã‚°ã¯å®šç¾©ãƒªã‚¹ãƒˆã‚’作 This tag creates a horizontal line.==ã“ã®ã‚¿ã‚°ã¯æ°´å¹³ç·šã‚’作æˆã—ã¾ã™ã€‚ [[pagename]]==[[ページå]] [[pagename|description]]==[[ページå|説明]] -This tag creates links to other pages of the wiki.==ã“ã®ã‚¿ã‚°ã¯ã€Wiki ã®ä»–ã®ãƒšãƒ¼ã‚¸ã¸ã®ãƒªãƒ³ã‚¯ã‚’作æˆã—ã¾ã™ã€‚ [url]==[URL] [url description]==ã€URL説明】 This tag creates links to external websites.==ã“ã®ã‚¿ã‚°ã¯å¤–部 Web サイトã¸ã®ãƒªãƒ³ã‚¯ã‚’作æˆã—ã¾ã™ã€‚ @@ -4267,7 +4048,6 @@ Outgoing News==発信 ニュース Published News==公開 ニュース Community Data==コミュニティデータ Surftips==サーフティップス -Local Peer Wiki==ãƒãƒ¼ã‚«ãƒ«ãƒ”ã‚¢Wiki Bookmarks==ブックマーク #----------------------------- @@ -4278,7 +4058,6 @@ Advanced Settings==高度ãªè¨å®š Performance Settings of Busy Queues==ビジーã‚ューã®ãƒ‘フォーマンスè¨å®š Viewer and administration for database tables==データベーステーブルã®ãƒ“ューアã¨ç®¡ç† Advanced Properties==高度ãªå±žæ€§ -UI Translations==UIã®ç¿»è¨³ #----------------------------- #File: env/templates/submenuCrawlMonitor.template @@ -4386,13 +4165,6 @@ User Profile==ユーザープãƒãƒ•ィール Local robots.txt==ãƒãƒ¼ã‚«ãƒ«ãƒãƒœãƒƒãƒˆ.txt #----------------------------- -#File: env/templates/submenuPublication.template -#--------------------------- -Publication==公開 -Wiki==ウィ゠-Blog==ブãƒã‚° -#----------------------------- - #File: env/templates/submenuRanking.template #--------------------------- Ranking and Heuristics==é †ä½ä»˜ã‘ã¨ãƒ’ューリスティクス @@ -4539,14 +4311,6 @@ Get the latest Java Plug-in here.==ã“ã“ã§æœ€æ–°ã®Javaã®ãƒ—ラグ-インをå Built with Processing==処ç†ã‚’使用ã—ã¦æ§‹ç¯‰ #----------------------------- -#File: proxymsg/authfail.inc -#--------------------------- -"login"=="ãƒã‚°ã‚¤ãƒ³" -Your Username/Password is wrong.==ã‚ãªãŸã® ユーザーå/パスワード ã¯é–“é•ã£ã¦ã„ã¾ã™. -Username==ユーザーå -Password==パスワード -#----------------------------- - #File: proxymsg/error.html #--------------------------- YaCy: Error Message==YaCy: エラー メッセージ diff --git a/locales/ko.lng b/locales/ko.lng index 6eae3e8d8..b95b71cac 100644 --- a/locales/ko.lng +++ b/locales/ko.lng @@ -327,54 +327,6 @@ An error occurred while editing the following entries. Please check syntax.==다 Activate this list for ...==ì´ ëª©ë¡ì„ 활성화하세요... #----------------------------- -#File: Blog.html -#--------------------------- -"RSS"=="RSS" -"Submit"=="ì œì¶œí•˜ë‹¤" -"Preview"=="시사" -"Discard"=="버리다" -"Yes, delete it."=="예, ì‚ì œí•˜ì„¸ìš”." -"No, leave it."=="아니, 놔둬." -"Import"=="수입" -<< previous entries==<< ì´ì „ í•목 -next entries >>==ë‹¤ìŒ í•목 >> -Blog-Home==블로그 홈 -Edit==편집하다 -Author:==작가: -Subject:==ì£¼ì œ: -Text:==í…스트: -Comments:==댓글: -deactivated==ë¹„í™œì„±í™”ë¨ -activated==í™œì„±í™”ë¨ -moderated==ì¤‘ìž¬ëœ -Preview==시사 -No changes have been submitted so far!==지금까지 ì œì¶œëœ ë³€ê²½ì‚¬í•ì´ ì—†ìŠµë‹ˆë‹¤. -Access denied==ì ‘ê·¼ 불가 -To edit or create blog-entries you need to be logged in as Admin or User who has Blog rights.==블로그 í•ëª©ì„ íŽ¸ì§‘í•˜ê±°ë‚˜ ìƒì„±í•˜ë ¤ë©´ 블로그 ê¶Œí•œì´ ìžˆëŠ” ê´€ë¦¬ìž ë˜ëŠ” 사용ìžë¡œ 로그ì¸í•´ì•¼ 합니다. -Are you sure...==확실합니까? -Confirm deletion==ì‚ì œ í™•ì¸ -XML-Import==XML-ê°€ì ¸ì˜¤ê¸° -Import was successful!==ê°€ì ¸ì˜¤ê¸°ì— ì„±ê³µí–ˆìŠµë‹ˆë‹¤! -Import failed, maybe the supplied file was no valid blog-backup?==ê°€ì ¸ì˜¤ê¸°ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤. ì œê³µëœ íŒŒì¼ì´ ìœ íš¨í•œ 블로그 ë°±ì—…ì´ ì•„ë‹ˆì—ˆì„까요? -Please select the XML-file you want to import:==ê°€ì ¸ì˜¤ë ¤ëŠ” XML 파ì¼ì„ ì„ íƒí•˜ì‹ì‹œì˜¤: -#----------------------------- - -#File: BlogComments.html -#--------------------------- -"Submit"=="ì œì¶œí•˜ë‹¤" -"Preview"=="시사" -"Discard"=="버리다" -Blog-Home==블로그 홈 -Comments:==댓글: -<< previous entries==<< ì´ì „ í•목 -next entries >>==ë‹¤ìŒ í•목 >> -Comments are not allowed for this posting!==ì´ ê²Œì‹œë¬¼ì—는 ëŒ“ê¸€ì„ ë‹¬ 수 없습니다! -Comment on this Blog==ì´ ë¸”ë¡œê·¸ì— ëŒ“ê¸€ 달기 -Author:==작가: -Subject:==ì£¼ì œ: -Text:==í…스트: -#----------------------------- - #File: Bookmarks.html #--------------------------- "RSS"=="RSS" @@ -442,58 +394,10 @@ Private Queue==ê°œì¸ ëŒ€ê¸°ì—´ Public Queue==공개 대기열 #----------------------------- -#File: ConfigAccountList_p.html -#--------------------------- -User List==ì‚¬ìš©ìž ëª©ë¡ -User Accounts==ì‚¬ìš©ìž ê³„ì • -User==ì‚¬ìš©ìž -First name==ì´ë¦„ -Last name==성 -Address==주소 -Last Access==마지막 액세스 -Rights==ì§„ìƒ -Time==시간 -Traffic==êµí†µ -#----------------------------- - #File: ConfigAccounts_p.html #--------------------------- -"Define Administrator"=="ê´€ë¦¬ìž ì •ì˜" -"Set Access Rules"=="액세스 규칙 ì„¤ì •" -"Edit User"=="ì‚¬ìš©ìž íŽ¸ì§‘" -"Delete User"=="ì‚¬ìš©ìž ì‚ì œ" -"Save User"=="ì‚¬ìš©ìž ì €ìž¥" -User Administration==ì‚¬ìš©ìž ê´€ë¦¬ -Generic error.==ì¼ë°˜ 오류입니다. Passwords do not match.==비밀번호가 ì¼ì¹˜í•˜ì§€ 않습니다. -Username too short. Username must be >= 4 Characters.==ì‚¬ìš©ìž ì´ë¦„ì´ ë„ˆë¬´ 짧습니다. ì‚¬ìš©ìž ì´ë¦„ì€ >= 4ìžì—¬ì•¼ 합니다. -Username already used (not allowed).==ì‚¬ìš©ìž ì´ë¦„ì´ ì´ë¯¸ 사용ë˜ì—ˆìŠµë‹ˆë‹¤(허용ë˜ì§€ 않ìŒ). -<b>WARNING</b> This YaCy instance can be administered with the account "admin" and the default password "yacy".==<b>WARNING</b> ì´ YaCy ì¸ìŠ¤í„´ìŠ¤ëŠ” "admin" ê³„ì •ê³¼ 기본 비밀번호 "yacy"로 ê´€ë¦¬í• ìˆ˜ 있습니다. -Change the password as soon as possible!==최대한 빨리 비밀번호를 변경하세요! Admin Account==ê´€ë¦¬ìž ê³„ì • -Access from localhost without account==ê³„ì • ì—†ì´ localhostì—서 액세스 -Access to your peer from your own computer (localhost access) is granted with administrator rights. No need to configure an administration account.==ìžì‹ ì˜ ì»´í“¨í„°ì—서 í”¼ì–´ì— ëŒ€í•œ 액세스(localhost 액세스)는 ê´€ë¦¬ìž ê¶Œí•œìœ¼ë¡œ 부여ë©ë‹ˆë‹¤. 관리 ê³„ì •ì„ êµ¬ì„±í• í•„ìš”ê°€ 없습니다. -This setting is convenient but less secure than using a qualified admin account.==ì´ ì„¤ì •ì€ íŽ¸ë¦¬í•˜ì§€ë§Œ ìžê²©ì„ 갖춘 ê´€ë¦¬ìž ê³„ì •ì„ ì‚¬ìš©í•˜ëŠ” 것보다 보안 ìˆ˜ì¤€ì´ ë‚®ìŠµë‹ˆë‹¤. -Please use with care, notably when you browse untrusted and potentially malicious websites while running your YaCy peer on the same computer.==특히 ë™ì¼í•œ 컴퓨터ì—서 YaCy 피어를 실행하는 ë™ì•ˆ ì‹ ë¢°í• ìˆ˜ ì—†ê³ ìž ìž¬ì 으로 ì•…ì˜ì ì¸ ì›¹ 사ì´íŠ¸ë¥¼ íƒìƒ‰í• 때는 주ì˜í•´ì„œ 사용하ì‹ì‹œì˜¤. -Access only with qualified account==ìžê²©ì„ 갖춘 ê³„ì •ìœ¼ë¡œë§Œ 액세스 -This is required if you want a remote access to your peer, but it also hardens access controls on administration operations of your peer.==ì´ëŠ” í”¼ì–´ì— ëŒ€í•œ ì›ê²© 액세스를 ì›í•˜ëŠ” ê²½ìš°ì— í•„ìš”í•˜ì§€ë§Œ í”¼ì–´ì˜ ê´€ë¦¬ ìž‘ì—…ì— ëŒ€í•œ 액세스 ì œì–´ë„ ê°•í™”ë©ë‹ˆë‹¤. -Peer User:==피어 사용ìž: -New Peer Password:==새 피어 비밀번호: -Repeat Peer Password:==피어 비밀번호 반복: -Access Rules==액세스 규칙 -Protection of all pages: if set to on, access to all pages need authorization; if off, only pages with "_p" extension are protected.==ëª¨ë“ íŽ˜ì´ì§€ 보호: ì¼œì ¸ 있는 경우 ëª¨ë“ íŽ˜ì´ì§€ì— ì•¡ì„¸ìŠ¤í•˜ë ¤ë©´ 승ì¸ì´ 필요합니다. ë„ë©´ 확장ìžê°€ "_p"ì¸ íŽ˜ì´ì§€ë§Œ 보호ë©ë‹ˆë‹¤. -User Accounts==ì‚¬ìš©ìž ê³„ì • -Select user==ì‚¬ìš©ìž ì„ íƒ -New user==ì‹ ê·œ ì‚¬ìš©ìž -Username==ì‚¬ìš©ìž ì´ë¦„ -Password==비밀번호 -Repeat password==비밀번호를 반복하세요 -First name==ì´ë¦„ -Last name==성 -Address==주소 -Rights:==ì§„ìƒ: -Timelimit==시간 ì œí•œ -Time used==사용시간 #----------------------------- #File: ConfigAppearance_p.html @@ -871,8 +775,6 @@ Status page==ìƒíƒœ 페ì´ì§€ Network pages==ë„¤íŠ¸ì›Œí¬ íŽ˜ì´ì§€ Surftips==서핑 íŒ News pages==뉴스 페ì´ì§€ -Blog==블로그 -Wiki==위키 Public bookmarks==공개 ë¶ë§ˆí¬ Home Page==홈 페ì´ì§€ File Share==íŒŒì¼ ê³µìœ @@ -1032,28 +934,6 @@ manual update:<br/>apt-get update && apt-get install yacy==ìˆ˜ë™ ì—…ë° automatic update: add the following line to /etc/crontab<br/>0 6 * * * root apt-get update && apt-get -y --force-yes install yacy==ìžë™ ì—…ë°ì´íЏ: /etc/crontab<br/>0 6 * * * root apt-get update && apt-get -y --force-yes install yacyì— ë‹¤ìŒ ì¤„ì„ ì¶”ê°€í•©ë‹ˆë‹¤. #----------------------------- -#File: ConfigUser_p.html -#--------------------------- -"Save User"=="ì‚¬ìš©ìž ì €ìž¥" -"Delete User"=="ì‚¬ìš©ìž ì‚ì œ" -"ConfigAccountList_p.html"=="ConfigAccountList_p.html" -User Account Editor==ì‚¬ìš©ìž ê³„ì • íŽ¸ì§‘ìž -Generic error.==ì¼ë°˜ 오류입니다. -Passwords do not match.==비밀번호가 ì¼ì¹˜í•˜ì§€ 않습니다. -Username too short. Username must be >= 4 Characters.==ì‚¬ìš©ìž ì´ë¦„ì´ ë„ˆë¬´ 짧습니다. ì‚¬ìš©ìž ì´ë¦„ì€ >= 4ìžì—¬ì•¼ 합니다. -Username already used (not allowed).==ì‚¬ìš©ìž ì´ë¦„ì´ ì´ë¯¸ 사용ë˜ì—ˆìŠµë‹ˆë‹¤(허용ë˜ì§€ 않ìŒ). -Username==ì‚¬ìš©ìž ì´ë¦„ -Password==비밀번호 -Repeat password==비밀번호를 반복하세요 -First name==ì´ë¦„ -Last name==성 -Address==주소 -Rights:==ì§„ìƒ: -Timelimit==시간 ì œí•œ -Time used==사용시간 -back to user list==ì‚¬ìš©ìž ëª©ë¡ìœ¼ë¡œ ëŒì•„가기 -#----------------------------- - #File: Connections_p.html #--------------------------- Server Connection Tracking==서버 ì—°ê²° ì¶”ì @@ -2460,8 +2340,6 @@ inbox==ë°›ì€íŽ¸ì§€í•¨ "DHT Receive: yes"=="DHT ìˆ˜ì‹ : 예" "DHT receive enabled"=="DHT ìˆ˜ì‹ í™œì„±í™”ë¨" "Profile updated"=="í”„ë¡œí•„ì´ ì—…ë°ì´íЏë˜ì—ˆìŠµë‹ˆë‹¤." -"Wiki updated"=="위키가 ì—…ë°ì´íЏë˜ì—ˆìŠµë‹ˆë‹¤." -"Blog updated"=="블로그가 ì—…ë°ì´íЏë˜ì—ˆìŠµë‹ˆë‹¤." "Crawl"=="í¬ë¡¤ë§" "The YaCy Network"=="YaCy 네트워í¬" "Type: Virgin"=="ìœ í˜•: 초기" @@ -2507,7 +2385,6 @@ Received DHT<br/>Word Chunks==DHT<br/>단어 ë©ì–´ë¦¬ë¥¼ 받았습니다. Received<br/>URLs==<br/>URL ìˆ˜ì‹ ë¨ Location==위치 user agent<br/>==ì‚¬ìš©ìž ì—ì´ì „트<br/> -send <strong>M</strong>essage/<br/>show <strong>P</strong>rofile/<br/>edit <strong>W</strong>iki/<br/>browse <strong>B</strong>log==send <strong>M</strong>essage/<br/>show <strong>P</strong>rofile/<br/>edit <strong>W</strong>iki/<br/>browse <strong>B</strong>log Network==íšŒë¡œë§ Online Peers==온ë¼ì¸ ë™ë£Œ Number of<br/>Documents==<br/>문서 수 @@ -2578,7 +2455,6 @@ 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'(프로필) - ì„ íƒê¸° ì˜†ì— '*'로 시ê°í™”ë©ë‹ˆë‹¤. -Publishing of added or modified translation for the user interface. Other peers may include it in their local translation list.==ì‚¬ìš©ìž ì¸í„°íŽ˜ì´ìŠ¤ì— ëŒ€í•œ 추가 ë˜ëŠ” ìˆ˜ì •ëœ ë²ˆì—ì„ ê²Œì‹œí•©ë‹ˆë‹¤. 다른 ë™ë£ŒëŠ” ì´ë¥¼ 로컬 ë²ˆì— ëª©ë¡ì— í¬í•¨í• 수 있습니다. More news services will follow.==ë” ë§Žì€ ë‰´ìŠ¤ 서비스가 ì´ì–´ì§ˆ 것입니다. Above you can see four menus:==위ì—서는 4가지 메뉴를 ë³¼ 수 있습니다. Only these news will be used to display specific news services as explained above.==위ì—서 설명한 대로 íŠ¹ì • 뉴스 서비스를 표시하는 ë° ì´ëŸ¬í•œ 뉴스만 사용ë©ë‹ˆë‹¤. @@ -2984,23 +2860,18 @@ Age==ë‚˜ì´ "Reset to defaults settings"=="기본 ì„¤ì •ìœ¼ë¡œ ìž¬ì„¤ì •" limitations==한계 Local Search access rate limitations==ì§€ì— ê²€ìƒ‰ 액세스 ì†ë„ ì œí•œ -You can configure here limitations on access rate to this peer search interface by unauthenticated users and users without extended search right==ì¸ì¦ë˜ì§€ ì•Šì€ ì‚¬ìš©ìžì™€ 확장 검색 ê¶Œí•œì´ ì—†ëŠ” 사용ìžì˜ ì´ í”¼ì–´ 검색 ì¸í„°íŽ˜ì´ìŠ¤ì— ëŒ€í•œ 액세스 ì†ë„ ì œí•œì„ ì—¬ê¸°ì—서 êµ¬ì„±í• ìˆ˜ 있습니다. YaCy search==YaCy 검색 Access rate limitations to this peer search interface.==ì´ í”¼ì–´ 검색 ì¸í„°íŽ˜ì´ìŠ¤ì— ëŒ€í•œ 액세스 ì†ë„ ì œí•œìž…ë‹ˆë‹¤. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search is blocked.==ì œí•œëœ ê¶Œí•œì„ ê°€ì§„ 사용ìž(ì¸ì¦ë˜ì§€ 않았거나 확장 검색 ê¶Œí•œì´ ì—†ëŠ” 사용ìž)ê°€ 한ë„를 초과하면 ê²€ìƒ‰ì´ ì°¨ë‹¨ë©ë‹ˆë‹¤. Max searches in 3s==3ì´ˆ ë§Œì— ìµœëŒ€ 검색 Max searches in 1mn==최대 100ë§Œ 검색 Max searches in 10mn==1,000ë¶„ ë§Œì— ìµœëŒ€ 검색 Peer-to-peer search==P2P 검색 Access rate limitations to the peer-to-peer search mode.==P2P 검색 ëª¨ë“œì— ëŒ€í•œ 액세스 ì†ë„ ì œí•œ. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search scope falls back to only this local peer index.==ì œí•œëœ ê¶Œí•œ(ì¸ì¦ë˜ì§€ 않았거나 확장 검색 ê¶Œí•œì´ ì—†ìŒ)ì„ ê°€ì§„ 사용ìžê°€ ì œí•œì„ ì´ˆê³¼í•˜ë©´ 검색 범위는 ì´ ë¡œì»¬ 피어 ì¸ë±ìŠ¤ë¡œë§Œ 대체ë©ë‹ˆë‹¤. Max searches in 10mn==1,000ë¶„ ë§Œì— ìµœëŒ€ 검색 Peer-to-peer search with JavaScript results resorting==JavaScript 결과를 바탕으로 한 P2P 검색 Access rate limitations to the peer-to-peer search mode with browser-side JavaScript results resorting enabled==브ë¼ìš°ì € 측 JavaScript ê²°ê³¼ ìž¬ì •ë ¬ì´ í™œì„±í™”ëœ P2P 검색 ëª¨ë“œì— ëŒ€í•œ 액세스 ì†ë„ ì œí•œ -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, results resorting becomes only applicable on demand, server-side.==ì œí•œëœ ê¶Œí•œ(ì¸ì¦ë˜ì§€ 않았거나 í™•ìž¥ëœ ê²€ìƒ‰ ê¶Œí•œì´ ì—†ìŒ)ì„ ê°€ì§„ 사용ìžê°€ 한ë„를 초과하면 ê²°ê³¼ ì •ë ¬ì€ ì„œë²„ 측 ìš”ì² ì‹œì—ë§Œ ì ìš©ë©ë‹ˆë‹¤. Remote snippet load==ì›ê²© 스니펫 로드 Limitations on snippet loading from remote websites.==ì›ê²© 웹사ì´íЏì—서 스니펫 ë¡œë”©ì— ëŒ€í•œ ì œí•œ 사í•. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the snippets fetch strategy falls back to 'CACHEONLY'==ì œí•œëœ ê¶Œí•œ(ì¸ì¦ë˜ì§€ 않았거나 확장 검색 ê¶Œí•œì´ ì—†ìŒ)ì„ ê°€ì§„ 사용ìžê°€ 한ë„를 초과하면 스니펫 ê°€ì ¸ì˜¤ê¸° ì „ëžµì´ 'CACHEONLY'로 대체ë©ë‹ˆë‹¤. Max searches in 3s==3ì´ˆ ë§Œì— ìµœëŒ€ 검색 <em id="changeInfo">Changes will take effect immediately.</em>==<em id="changeInfo">변경사í•ì€ ì¦‰ì‹œ ì ìš©ë©ë‹ˆë‹¤.</em> #----------------------------- @@ -3225,14 +3096,9 @@ These settings configure the access method to your own http proxy and server.==ì All traffic is routed through one single port, for both proxy and server.==ëª¨ë“ íŠ¸ëž˜í”½ì€ í”„ë¡ì‹œì™€ 서버 ëª¨ë‘ í•˜ë‚˜ì˜ ë‹¨ì¼ í¬íŠ¸ë¥¼ 통해 ë¼ìš°íŒ…ë©ë‹ˆë‹¤. HTTPS Server Port:==HTTPS 서버 í¬íЏ: Server Access Restrictions==서버 액세스 ì œí•œ -You can restrict the access to this proxy/server using a two-stage security barrier:==2단계 보안 ìž¥ë²½ì„ ì‚¬ìš©í•˜ì—¬ ì´ í”„ë¡ì‹œ/serverì— ëŒ€í•œ 액세스를 ì œí•œí• ìˆ˜ 있습니다. define an <em>access domain</em> with a list of granted client IP-numbers or with wildcards==ë¶€ì—¬ëœ í´ë¼ì´ì–¸íЏ IP 번호 ëª©ë¡ ë˜ëŠ” 와ì¼ë“œì¹´ë“œë¥¼ 사용하여 <em>액세스 ë„ë©”ì¸</em>ì„ ì •ì˜í•©ë‹ˆë‹¤. -define an <em>user account</em> with an user:password - pair==사용ìž:비밀번호 - ìŒìœ¼ë¡œ <em>ì‚¬ìš©ìž ê³„ì •</em>ì„ ì •ì˜í•©ë‹ˆë‹¤. -This is the account that restricts access to the proxy function.==프ë¡ì‹œ ê¸°ëŠ¥ì— ëŒ€í•œ ì ‘ê·¼ì„ ì œí•œí•˜ëŠ” ê³„ì •ìž…ë‹ˆë‹¤. 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.==IP-액세스 ë„ë©”ì¸ ë²ˆí˜¸ë¥¼ 로컬 ì¸íЏë¼ë„·ì— 해당하는 패턴으로 ì§€ì •í•©ë‹ˆë‹¤. -The default setting should be right in most cases. If you want, you can also set a proxy account==ëŒ€ë¶€ë¶„ì˜ ê²½ìš° 기본 ì„¤ì •ì´ ì •í™•í•´ì•¼ 합니다. ì›í•˜ëŠ” 경우 프ë¡ì‹œ ê³„ì •ì„ ì„¤ì •í• ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤. -so that every proxy user must authenticate first, but this is rather unusual.==ëª¨ë“ í”„ë¡ì‹œ 사용ìžê°€ ë¨¼ì € ì¸ì¦í•´ì•¼ 하지만 ì´ëŠ” 다소 드문 ì¼ìž…니다. IP-Number filter==IP-ìˆ«ìž í•„í„° Accounts==ê³„ì • #----------------------------- @@ -3623,59 +3489,6 @@ Save Tools Configuration==ë„구 구성 ì €ìž¥ CyTag Trails==CyTag íŠ¸ë ˆì¼ #----------------------------- -#File: TransNews_p.html -#--------------------------- -"Publish"=="게시" -"negative vote"=="반대 투표" -"positive vote"=="ê¸ì •ì ì¸ íˆ¬í‘œ" -You can share your local addition to translations and distribute it to other peers.==번ì—ì— ëŒ€í•œ 로컬 추가 ë‚´ìš©ì„ ê³µìœ í•˜ê³ ë‹¤ë¥¸ ë™ë£Œì—게 ë°°í¬í• 수 있습니다. -The remote peer can vote on your translation and add it to its own local translation.==ì›ê²© 피어는 ê·€í•˜ì˜ ë²ˆì—ì— íˆ¬í‘œí•˜ê³ ì´ë¥¼ ìžì²´ 로컬 번ì—ì— ì¶”ê°€í• ìˆ˜ 있습니다. -File:==파ì¼: -Originator==ì°½ìž‘ìž -English:==ì˜ì–´: -existing==ê¸°ì¡´ì˜ -Translation:==번ì—: -Vote on this translation. If you vote positive the translation is added to your local translation list.==ì´ ë²ˆì—ì— íˆ¬í‘œí•˜ì„¸ìš”. ê¸ì •ì 으로 투표하시면 해당 번ì—ì´ ë¡œì»¬ ë²ˆì— ëª©ë¡ì— 추가ë©ë‹ˆë‹¤. -#----------------------------- - -#File: Translator_p.html -#--------------------------- -"Save translation"=="ë²ˆì— ì €ìž¥" -Translation Editor==ë²ˆì— íŽ¸ì§‘ìž -Translate untranslated text of the user interface (current language). The modified translation file is stored in DATA/LOCALE directory.==ì‚¬ìš©ìž ì¸í„°íŽ˜ì´ìФ(현재 언어)ì˜ ë²ˆì—ë˜ì§€ ì•Šì€ í…스트를 번ì—합니다. ìˆ˜ì •ëœ ë²ˆì— íŒŒì¼ì€ DATA/LOCALE ë””ë ‰í„°ë¦¬ì— ì €ìž¥ë©ë‹ˆë‹¤. -UI Translation==UI ë²ˆì— -Source File==소스 íŒŒì¼ -view it==보기 -filter untranslated==번ì—ë˜ì§€ ì•Šì€ í•„í„° -Source Text==소스 í…스트 -#----------------------------- - -#File: User.html -#--------------------------- -"login"=="로그ì¸" -"logout"=="로그아웃" -"red bar"=="빨간색 막대" -"green bar"=="녹색 ë°”" -"Change"=="변화" -User Page==ì‚¬ìš©ìž íŽ˜ì´ì§€ -You are not logged in.==로그ì¸ë˜ì–´ 있지 않습니다. -Username:==ì‚¬ìš©ìž ì´ë¦„: -Password:==비밀번호: -(Identified by==(ì‹ë³„ìž: -IP==IP -Username/Password==ì‚¬ìš©ìž ì´ë¦„/Password -Cookie==ë§¤ë ¥ì ì¸ ì—¬ìž -old Password==ì´ì „ 비밀번호 -new Password==새 비밀번호 -new Password(repetition)==새 비밀번호(반복) -You are currently logged in as admin.==현재 관리ìžë¡œ 로그ì¸ë˜ì–´ 있습니다. -(after logout you will be prompted for your password again. simply click "cancel")==(로그아웃하면 비밀번호를 다시 ìž…ë ¥í•˜ë¼ëŠ” 메시지가 표시ë©ë‹ˆë‹¤. 간단히 "취소"를 í´ë¦í•˜ì„¸ìš”) -Password was changed.==비밀번호가 변경ë˜ì—ˆìŠµë‹ˆë‹¤. -Old Password is wrong.==ì´ì „ 비밀번호가 잘못ë˜ì—ˆìŠµë‹ˆë‹¤. -New Password and its repetition do not match.==새 비밀번호와 ë°˜ë³µëœ ë¹„ë°€ë²ˆí˜¸ê°€ ì¼ì¹˜í•˜ì§€ 않습니다. -New Password is empty.==새 비밀번호가 비어 있습니다. -#----------------------------- - #File: VFS.html #--------------------------- "File system browser"=="íŒŒì¼ ì‹œìŠ¤í…œ 브ë¼ìš°ì €" @@ -3879,40 +3692,9 @@ Other Dot==기타 ë„트 Dot-end==ë„트엔드 #----------------------------- -#File: Wiki.html -#--------------------------- -"all"=="모ë‘" -"admin"=="관리ìž" -"Submit"=="ì œì¶œí•˜ë‹¤" -"Preview"=="시사" -"Discard"=="버리다" -"Show"=="보여주다" -"Compare"=="비êµí•˜ë‹¤" -(only granted to admin)==(관리ìžì—게만 부여ë¨) -Index -==ìƒ‰ì¸ - -Grant Write Access to==다ìŒì— 대한 쓰기 액세스 권한 부여 -Edit==편집하다 -Author:==작가: -Text:==í…스트: -Preview==시사 -No changes have been submitted so far!==지금까지 ì œì¶œëœ ë³€ê²½ì‚¬í•ì´ ì—†ìŠµë‹ˆë‹¤. -Index==ìƒ‰ì¸ -Subject==ì£¼ì œ -Change Date==ë‚ ì§œ 변경 -Last Author==마지막 ì €ìž -Start Page==시작 페ì´ì§€ -Versions==ë²„ì „ -Compare version from==ë²„ì „ ë¹„êµ -with version from==ë²„ì „: -Error==오류 -You can use==ë‹¹ì‹ ì€ ì‚¬ìš©í• ìˆ˜ 있습니다 -Changes will be published as announcement on YaCyNews==변경 사í•ì€ YaCyNewsì— ê³µì§€ë¡œ 게시ë©ë‹ˆë‹¤. -#----------------------------- - -#File: WikiHelp.html +#File: WikiCodeHelp.html #--------------------------- Wiki-Code==위키 코드 -This table contains a short description of the tags that can be used in the Wiki and several other servlets==ì´ í‘œì—는 Wiki ë° ê¸°íƒ€ 여러 서블릿ì—서 ì‚¬ìš©í• ìˆ˜ 있는 íƒœê·¸ì— ëŒ€í•œ 간단한 ì„¤ëª…ì´ í¬í•¨ë˜ì–´ 있습니다. of YaCy. For a more detailed description visit the==YaCy 중. ë” ìžì„¸í•œ ì„¤ëª…ì„ ë³´ë ¤ë©´ 다ìŒì„ 방문하세요. Code==암호 Description==설명 @@ -3937,7 +3719,6 @@ These tags create a definition list.==ì´ëŸ¬í•œ 태그는 ì •ì˜ ëª©ë¡ì„ ìƒì„ This tag creates a horizontal line.==ì´ íƒœê·¸ëŠ” 수í‰ì„ ì„ ìƒì„±í•©ë‹ˆë‹¤. [[pagename]]==[[페ì´ì§€ ì´ë¦„]] [[pagename|description]]==[[페ì´ì§€ ì´ë¦„|설명]] -This tag creates links to other pages of the wiki.==ì´ íƒœê·¸ëŠ” ìœ„í‚¤ì˜ ë‹¤ë¥¸ 페ì´ì§€ì— 대한 ë§í¬ë¥¼ ìƒì„±í•©ë‹ˆë‹¤. [url]==[URL] [url description]==[URL 설명] This tag creates links to external websites.==ì´ íƒœê·¸ëŠ” 외부 웹사ì´íŠ¸ì— ëŒ€í•œ ë§í¬ë¥¼ ìƒì„±í•©ë‹ˆë‹¤. @@ -4262,7 +4043,6 @@ Outgoing News==ë°œì‹ ë‰´ìŠ¤ Published News==ê²Œì‹œë¨ ë‰´ìŠ¤ Community Data==커뮤니티 ë°ì´í„° Surftips==서핑 íŒ -Local Peer Wiki==로컬 피어 위키 Bookmarks==ë¶ë§ˆí¬ #----------------------------- @@ -4273,7 +4053,6 @@ Advanced Settings==ê³ ê¸‰ ì„¤ì • Performance Settings of Busy Queues==사용 ì¤‘ì¸ ëŒ€ê¸°ì—´ì˜ ì„±ëŠ¥ ì„¤ì • Viewer and administration for database tables==ë°ì´í„°ë² ì´ìФ í…Œì´ë¸” ë·°ì–´ ë° ê´€ë¦¬ Advanced Properties==ê³ ê¸‰ ì†ì„± -UI Translations==UI ë²ˆì— #----------------------------- #File: env/templates/submenuCrawlMonitor.template @@ -4381,13 +4160,6 @@ User Profile==ì‚¬ìš©ìž í”„ë¡œí•„ Local robots.txt==로컬 robots.txt #----------------------------- -#File: env/templates/submenuPublication.template -#--------------------------- -Publication==ì¶œíŒ -Wiki==위키 -Blog==블로그 -#----------------------------- - #File: env/templates/submenuRanking.template #--------------------------- Ranking and Heuristics==순위 ë° íœ´ë¦¬ìŠ¤í‹± @@ -4534,14 +4306,6 @@ Get the latest Java Plug-in here.==여기ì—서 ìµœì‹ Java 플러그ì¸ì„ 다ì Built with Processing==프로세싱으로 구축 #----------------------------- -#File: proxymsg/authfail.inc -#--------------------------- -"login"=="로그ì¸" -Your Username/Password is wrong.==ê·€í•˜ì˜ ì‚¬ìš©ìž ì´ë¦„/Passwordì´(ê°€) 잘못ë˜ì—ˆìŠµë‹ˆë‹¤. -Username==ì‚¬ìš©ìž ì´ë¦„ -Password==비밀번호 -#----------------------------- - #File: proxymsg/error.html #--------------------------- YaCy: Error Message==YaCy: 오류 메시지 diff --git a/locales/master.lng.xlf b/locales/master.lng.xlf index 740cd0b31..f7454aa92 100644 --- a/locales/master.lng.xlf +++ b/locales/master.lng.xlf @@ -902,136 +902,6 @@ </body> </file> -<file original="Blog.html" source-language="en" datatype="html"> - <body> - <trans-unit id="205a752" xml:space="preserve" approved="no" translate="yes"> - <source>"RSS"</source> - </trans-unit> - <trans-unit id="bfcc5088" xml:space="preserve" approved="no" translate="yes"> - <source>"Submit"</source> - </trans-unit> - <trans-unit id="6904b79c" xml:space="preserve" approved="no" translate="yes"> - <source>"Preview"</source> - </trans-unit> - <trans-unit id="c5332d86" xml:space="preserve" approved="no" translate="yes"> - <source>"Discard"</source> - </trans-unit> - <trans-unit id="bad7983b" xml:space="preserve" approved="no" translate="yes"> - <source>"Yes, delete it."</source> - </trans-unit> - <trans-unit id="1560d15f" xml:space="preserve" approved="no" translate="yes"> - <source>"No, leave it."</source> - </trans-unit> - <trans-unit id="a1ed8e9b" xml:space="preserve" approved="no" translate="yes"> - <source>"Import"</source> - </trans-unit> - <trans-unit id="f3226ad" xml:space="preserve" approved="no" translate="yes"> - <source>&lt;&lt; previous entries</source> - </trans-unit> - <trans-unit id="2e69812d" xml:space="preserve" approved="no" translate="yes"> - <source>next entries &gt;&gt;</source> - </trans-unit> - <trans-unit id="aed6f02a" xml:space="preserve" approved="no" translate="yes"> - <source>Blog-Home</source> - </trans-unit> - <trans-unit id="20e22a" xml:space="preserve" approved="no" translate="yes"> - <source>Edit</source> - </trans-unit> - <trans-unit id="3cafa7ef" xml:space="preserve" approved="no" translate="yes"> - <source>Author:</source> - </trans-unit> - <trans-unit id="887ab4ae" xml:space="preserve" approved="no" translate="yes"> - <source>Subject:</source> - </trans-unit> - <trans-unit id="4cf708d" xml:space="preserve" approved="no" translate="yes"> - <source>Text:</source> - </trans-unit> - <trans-unit id="1e5600a6" xml:space="preserve" approved="no" translate="yes"> - <source>Comments:</source> - </trans-unit> - <trans-unit id="967e3e70" xml:space="preserve" approved="no" translate="yes"> - <source>deactivated</source> - </trans-unit> - <trans-unit id="c2ec9d1" xml:space="preserve" approved="no" translate="yes"> - <source>activated</source> - </trans-unit> - <trans-unit id="8882a3c1" xml:space="preserve" approved="no" translate="yes"> - <source>moderated</source> - </trans-unit> - <trans-unit id="50417ba8" xml:space="preserve" approved="no" translate="yes"> - <source>Preview</source> - </trans-unit> - <trans-unit id="baf17931" xml:space="preserve" approved="no" translate="yes"> - <source>No changes have been submitted so far!</source> - </trans-unit> - <trans-unit id="107645b7" xml:space="preserve" approved="no" translate="yes"> - <source>Access denied</source> - </trans-unit> - <trans-unit id="eb8895dd" xml:space="preserve" approved="no" translate="yes"> - <source>To edit or create blog-entries you need to be logged in as Admin or User who has Blog rights.</source> - </trans-unit> - <trans-unit id="1245934c" xml:space="preserve" approved="no" translate="yes"> - <source>Are you sure...</source> - </trans-unit> - <trans-unit id="4734b94e" xml:space="preserve" approved="no" translate="yes"> - <source>Confirm deletion</source> - </trans-unit> - <trans-unit id="37ec625b" xml:space="preserve" approved="no" translate="yes"> - <source>XML-Import</source> - </trans-unit> - <trans-unit id="aea3fbb5" xml:space="preserve" approved="no" translate="yes"> - <source>Import was successful!</source> - </trans-unit> - <trans-unit id="30d099a9" xml:space="preserve" approved="no" translate="yes"> - <source>Import failed, maybe the supplied file was no valid blog-backup?</source> - </trans-unit> - <trans-unit id="824e78ee" xml:space="preserve" approved="no" translate="yes"> - <source>Please select the XML-file you want to import:</source> - </trans-unit> - </body> -</file> - -<file original="BlogComments.html" source-language="en" datatype="html"> - <body> - <trans-unit id="bfcc5088" xml:space="preserve" approved="no" translate="yes"> - <source>"Submit"</source> - </trans-unit> - <trans-unit id="6904b79c" xml:space="preserve" approved="no" translate="yes"> - <source>"Preview"</source> - </trans-unit> - <trans-unit id="c5332d86" xml:space="preserve" approved="no" translate="yes"> - <source>"Discard"</source> - </trans-unit> - <trans-unit id="aed6f02a" xml:space="preserve" approved="no" translate="yes"> - <source>Blog-Home</source> - </trans-unit> - <trans-unit id="1e5600a6" xml:space="preserve" approved="no" translate="yes"> - <source>Comments:</source> - </trans-unit> - <trans-unit id="f3226ad" xml:space="preserve" approved="no" translate="yes"> - <source>&lt;&lt; previous entries</source> - </trans-unit> - <trans-unit id="2e69812d" xml:space="preserve" approved="no" translate="yes"> - <source>next entries &gt;&gt;</source> - </trans-unit> - <trans-unit id="1250e9ed" xml:space="preserve" approved="no" translate="yes"> - <source>Comments are not allowed for this posting!</source> - </trans-unit> - <trans-unit id="4ee50744" xml:space="preserve" approved="no" translate="yes"> - <source>Comment on this Blog</source> - </trans-unit> - <trans-unit id="3cafa7ef" xml:space="preserve" approved="no" translate="yes"> - <source>Author:</source> - </trans-unit> - <trans-unit id="887ab4ae" xml:space="preserve" approved="no" translate="yes"> - <source>Subject:</source> - </trans-unit> - <trans-unit id="4cf708d" xml:space="preserve" approved="no" translate="yes"> - <source>Text:</source> - </trans-unit> - </body> -</file> - <file original="Bookmarks.html" source-language="en" datatype="html"> <body> <trans-unit id="205a752" xml:space="preserve" approved="no" translate="yes"> @@ -1219,150 +1089,61 @@ </body> </file> -<file original="ConfigAccountList_p.html" source-language="en" datatype="html"> - <body> - <trans-unit id="8824efd3" xml:space="preserve" approved="no" translate="yes"> - <source>User List</source> - </trans-unit> - <trans-unit id="3a43589b" xml:space="preserve" approved="no" translate="yes"> - <source>User Accounts</source> - </trans-unit> - <trans-unit id="285feb" xml:space="preserve" approved="no" translate="yes"> - <source>User</source> - </trans-unit> - <trans-unit id="69c1a21b" xml:space="preserve" approved="no" translate="yes"> - <source>First name</source> - </trans-unit> - <trans-unit id="ebf825b5" xml:space="preserve" approved="no" translate="yes"> - <source>Last name</source> - </trans-unit> - <trans-unit id="1ed033d4" xml:space="preserve" approved="no" translate="yes"> - <source>Address</source> - </trans-unit> - <trans-unit id="81d32a2e" xml:space="preserve" approved="no" translate="yes"> - <source>Last Access</source> - </trans-unit> - <trans-unit id="91e56df7" xml:space="preserve" approved="no" translate="yes"> - <source>Rights</source> - </trans-unit> - <trans-unit id="27c6ed" xml:space="preserve" approved="no" translate="yes"> - <source>Time</source> - </trans-unit> - <trans-unit id="239ab9dd" xml:space="preserve" approved="no" translate="yes"> - <source>Traffic</source> - </trans-unit> - </body> -</file> - <file original="ConfigAccounts_p.html" source-language="en" datatype="html"> <body> - <trans-unit id="1d0cdd18" xml:space="preserve" approved="no" translate="yes"> - <source>"Define Administrator"</source> + <trans-unit id="3affb1c7" xml:space="preserve" approved="no" translate="yes"> + <source>"Change Administrator Credentials"</source> </trans-unit> - <trans-unit id="26c47107" xml:space="preserve" approved="no" translate="yes"> - <source>"Set Access Rules"</source> - </trans-unit> - <trans-unit id="581389c3" xml:space="preserve" approved="no" translate="yes"> - <source>"Edit User"</source> - </trans-unit> - <trans-unit id="31293c24" xml:space="preserve" approved="no" translate="yes"> - <source>"Delete User"</source> - </trans-unit> - <trans-unit id="243c3af6" xml:space="preserve" approved="no" translate="yes"> - <source>"Save User"</source> - </trans-unit> - <trans-unit id="27a10153" xml:space="preserve" approved="no" translate="yes"> - <source>User Administration</source> + <trans-unit id="f6c2321c" xml:space="preserve" approved="no" translate="yes"> + <source>Admin Account</source> </trans-unit> - <trans-unit id="df3b29af" xml:space="preserve" approved="no" translate="yes"> - <source>Generic error.</source> + <trans-unit id="4afb638f" xml:space="preserve" approved="no" translate="yes"> + <source>Invalid administrator settings.</source> </trans-unit> <trans-unit id="235692a3" xml:space="preserve" approved="no" translate="yes"> <source>Passwords do not match.</source> </trans-unit> - <trans-unit id="6ad966f5" xml:space="preserve" approved="no" translate="yes"> - <source>Username too short. Username must be &gt;= 4 Characters.</source> - </trans-unit> - <trans-unit id="1bf77769" xml:space="preserve" approved="no" translate="yes"> - <source>Username already used (not allowed).</source> - </trans-unit> - <trans-unit id="c16576fb" xml:space="preserve" approved="no" translate="yes"> - <source><b>WARNING</b> This YaCy instance can be administered with the account "admin" and the default password "yacy".</source> - </trans-unit> - <trans-unit id="9f01155f" xml:space="preserve" approved="no" translate="yes"> - <source>Change the password as soon as possible!</source> - </trans-unit> - <trans-unit id="f6c2321c" xml:space="preserve" approved="no" translate="yes"> - <source>Admin Account</source> - </trans-unit> - <trans-unit id="eccb4d6e" xml:space="preserve" approved="no" translate="yes"> - <source>Access from localhost without account</source> + <trans-unit id="280fb6d0" xml:space="preserve" approved="no" translate="yes"> + <source>Administrator username is required.</source> </trans-unit> - <trans-unit id="70e6ab33" xml:space="preserve" approved="no" translate="yes"> - <source>Access to your peer from your own computer (localhost access) is granted with administrator rights. No need to configure an administration account.</source> + <trans-unit id="aef34d2b" xml:space="preserve" approved="no" translate="yes"> + <source>Administrator password is required.</source> </trans-unit> - <trans-unit id="b26b9832" xml:space="preserve" approved="no" translate="yes"> - <source>This setting is convenient but less secure than using a qualified admin account.</source> + <trans-unit id="fe30f85" xml:space="preserve" approved="no" translate="yes"> + <source>Default administrator password is active.</source> </trans-unit> - <trans-unit id="8db59370" xml:space="preserve" approved="no" translate="yes"> - <source>Please use with care, notably when you browse untrusted and potentially malicious websites while running your YaCy peer on the same computer.</source> + <trans-unit id="a4facca" xml:space="preserve" approved="no" translate="yes"> + <source>This YaCy instance can still be administered with the username "admin" and the default password "yacy". Replace these credentials using the form directly below.</source> </trans-unit> - <trans-unit id="a5765027" xml:space="preserve" approved="no" translate="yes"> - <source>Access only with qualified account</source> + <trans-unit id="30f8253d" xml:space="preserve" approved="no" translate="yes"> + <source>These credentials are used for remote administration and whenever administrative access from localhost without authentication is disabled.</source> </trans-unit> - <trans-unit id="28934bf" xml:space="preserve" approved="no" translate="yes"> - <source>This is required if you want a remote access to your peer, but it also hardens access controls on administration operations of your peer.</source> + <trans-unit id="986d1451" xml:space="preserve" approved="no" translate="yes"> + <source>Administrator Username:</source> </trans-unit> - <trans-unit id="9bceed91" xml:space="preserve" approved="no" translate="yes"> - <source>Peer User:</source> + <trans-unit id="7029a88c" xml:space="preserve" approved="no" translate="yes"> + <source>New Administrator Password:</source> </trans-unit> - <trans-unit id="9cef2e61" xml:space="preserve" approved="no" translate="yes"> - <source>New Peer Password:</source> + <trans-unit id="e1c34fc7" xml:space="preserve" approved="no" translate="yes"> + <source>Repeat Administrator Password:</source> </trans-unit> - <trans-unit id="c51068c6" xml:space="preserve" approved="no" translate="yes"> - <source>Repeat Peer Password:</source> + <trans-unit id="35da07f9" xml:space="preserve" approved="no" translate="yes"> + <source>If you need to reset the administrator password from the console, run bin/passwd.sh from the YaCy installation directory.</source> </trans-unit> <trans-unit id="28dbdb3b" xml:space="preserve" approved="no" translate="yes"> <source>Access Rules</source> </trans-unit> - <trans-unit id="b878f3c" xml:space="preserve" approved="no" translate="yes"> - <source>Protection of all pages: if set to on, access to all pages need authorization; if off, only pages with "_p" extension are protected.</source> - </trans-unit> - <trans-unit id="3a43589b" xml:space="preserve" approved="no" translate="yes"> - <source>User Accounts</source> - </trans-unit> - <trans-unit id="6cca0c4f" xml:space="preserve" approved="no" translate="yes"> - <source>Select user</source> - </trans-unit> - <trans-unit id="527b9a6b" xml:space="preserve" approved="no" translate="yes"> - <source>New user</source> - </trans-unit> - <trans-unit id="f403ecf6" xml:space="preserve" approved="no" translate="yes"> - <source>Username</source> - </trans-unit> - <trans-unit id="4c641ebb" xml:space="preserve" approved="no" translate="yes"> - <source>Password</source> + <trans-unit id="13218532" xml:space="preserve" approved="no" translate="yes"> + <source>Allow administrative access from localhost without authentication</source> </trans-unit> - <trans-unit id="34384360" xml:space="preserve" approved="no" translate="yes"> - <source>Repeat password</source> + <trans-unit id="b0e1923b" xml:space="preserve" approved="no" translate="yes"> + <source>When enabled, eligible requests from the same computer receive administrator rights without sending credentials.</source> </trans-unit> - <trans-unit id="69c1a21b" xml:space="preserve" approved="no" translate="yes"> - <source>First name</source> + <trans-unit id="ef91160e" xml:space="preserve" approved="no" translate="yes"> + <source>Require administrator authorization for all applicable pages</source> </trans-unit> - <trans-unit id="ebf825b5" xml:space="preserve" approved="no" translate="yes"> - <source>Last name</source> - </trans-unit> - <trans-unit id="1ed033d4" xml:space="preserve" approved="no" translate="yes"> - <source>Address</source> - </trans-unit> - <trans-unit id="aac85123" xml:space="preserve" approved="no" translate="yes"> - <source>Rights:</source> - </trans-unit> - <trans-unit id="7a53d0ee" xml:space="preserve" approved="no" translate="yes"> - <source>Timelimit</source> - </trans-unit> - <trans-unit id="762a6110" xml:space="preserve" approved="no" translate="yes"> - <source>Time used</source> + <trans-unit id="af6f4d91" xml:space="preserve" approved="no" translate="yes"> + <source>When disabled, administration pages whose names contain "_p" remain protected. When enabled, all applicable pages require administrator authorization.</source> </trans-unit> </body> </file> @@ -1557,18 +1338,18 @@ <trans-unit id="ab37c405" xml:space="preserve" approved="no" translate="yes"> <source>Community-based web search</source> </trans-unit> - <trans-unit id="487e8d44" xml:space="preserve" approved="no" translate="yes"> - <source>Search portal for your own web pages</source> - </trans-unit> - <trans-unit id="e9e70a51" xml:space="preserve" approved="no" translate="yes"> - <source>Intranet Indexing</source> - </trans-unit> <trans-unit id="b03f1f55" xml:space="preserve" approved="no" translate="yes"> <source>Join and support the global network 'freeworld', search the web with an uncensored user-owned search network</source> </trans-unit> + <trans-unit id="487e8d44" xml:space="preserve" approved="no" translate="yes"> + <source>Search portal for your own web pages</source> + </trans-unit> <trans-unit id="94d59866" xml:space="preserve" approved="no" translate="yes"> <source>Your YaCy installation behaves independently from other peers and you define your own web index by starting your own web crawl. This can be used to search your own web pages or to define a topic-oriented search portal.</source> </trans-unit> + <trans-unit id="e9e70a51" xml:space="preserve" approved="no" translate="yes"> + <source>Intranet Indexing</source> + </trans-unit> <trans-unit id="a3caa3ae" xml:space="preserve" approved="no" translate="yes"> <source>Create a search portal for your intranet or web pages or your (shared) file system. URLs may be used with http/https/ftp and a local domain name or IP, or with an URL of the form file:///&lt;path&gt; or smb://&lt;server&gt;/&lt;path&gt;</source> </trans-unit> @@ -2418,12 +2199,6 @@ <trans-unit id="376bc057" xml:space="preserve" approved="no" translate="yes"> <source>News pages</source> </trans-unit> - <trans-unit id="1fa3c2" xml:space="preserve" approved="no" translate="yes"> - <source>Blog</source> - </trans-unit> - <trans-unit id="2923d0" xml:space="preserve" approved="no" translate="yes"> - <source>Wiki</source> - </trans-unit> <trans-unit id="63f3ed26" xml:space="preserve" approved="no" translate="yes"> <source>Public bookmarks</source> </trans-unit> @@ -2877,65 +2652,6 @@ </body> </file> -<file original="ConfigUser_p.html" source-language="en" datatype="html"> - <body> - <trans-unit id="243c3af6" xml:space="preserve" approved="no" translate="yes"> - <source>"Save User"</source> - </trans-unit> - <trans-unit id="31293c24" xml:space="preserve" approved="no" translate="yes"> - <source>"Delete User"</source> - </trans-unit> - <trans-unit id="ae73b661" xml:space="preserve" approved="no" translate="yes"> - <source>"ConfigAccountList_p.html"</source> - </trans-unit> - <trans-unit id="bc930fd5" xml:space="preserve" approved="no" translate="yes"> - <source>User Account Editor</source> - </trans-unit> - <trans-unit id="df3b29af" xml:space="preserve" approved="no" translate="yes"> - <source>Generic error.</source> - </trans-unit> - <trans-unit id="235692a3" xml:space="preserve" approved="no" translate="yes"> - <source>Passwords do not match.</source> - </trans-unit> - <trans-unit id="6ad966f5" xml:space="preserve" approved="no" translate="yes"> - <source>Username too short. Username must be &gt;= 4 Characters.</source> - </trans-unit> - <trans-unit id="1bf77769" xml:space="preserve" approved="no" translate="yes"> - <source>Username already used (not allowed).</source> - </trans-unit> - <trans-unit id="f403ecf6" xml:space="preserve" approved="no" translate="yes"> - <source>Username</source> - </trans-unit> - <trans-unit id="4c641ebb" xml:space="preserve" approved="no" translate="yes"> - <source>Password</source> - </trans-unit> - <trans-unit id="34384360" xml:space="preserve" approved="no" translate="yes"> - <source>Repeat password</source> - </trans-unit> - <trans-unit id="69c1a21b" xml:space="preserve" approved="no" translate="yes"> - <source>First name</source> - </trans-unit> - <trans-unit id="ebf825b5" xml:space="preserve" approved="no" translate="yes"> - <source>Last name</source> - </trans-unit> - <trans-unit id="1ed033d4" xml:space="preserve" approved="no" translate="yes"> - <source>Address</source> - </trans-unit> - <trans-unit id="aac85123" xml:space="preserve" approved="no" translate="yes"> - <source>Rights:</source> - </trans-unit> - <trans-unit id="7a53d0ee" xml:space="preserve" approved="no" translate="yes"> - <source>Timelimit</source> - </trans-unit> - <trans-unit id="762a6110" xml:space="preserve" approved="no" translate="yes"> - <source>Time used</source> - </trans-unit> - <trans-unit id="f6d22b07" xml:space="preserve" approved="no" translate="yes"> - <source>back to user list</source> - </trans-unit> - </body> -</file> - <file original="Connections_p.html" source-language="en" datatype="html"> <body> <trans-unit id="da1cdd7c" xml:space="preserve" approved="no" translate="yes"> @@ -6842,12 +6558,6 @@ <trans-unit id="5fee1ba0" xml:space="preserve" approved="no" translate="yes"> <source>"Profile updated"</source> </trans-unit> - <trans-unit id="7af20435" xml:space="preserve" approved="no" translate="yes"> - <source>"Wiki updated"</source> - </trans-unit> - <trans-unit id="6c475483" xml:space="preserve" approved="no" translate="yes"> - <source>"Blog updated"</source> - </trans-unit> <trans-unit id="7f5ceb9d" xml:space="preserve" approved="no" translate="yes"> <source>"Crawl"</source> </trans-unit> @@ -7189,9 +6899,6 @@ <trans-unit id="49006831" xml:space="preserve" approved="no" translate="yes"> <source>profile entries on the Network page, where that profile change is visualized with a '*' beside the 'P' (profile) - selector.</source> </trans-unit> - <trans-unit id="7dda44d" xml:space="preserve" approved="no" translate="yes"> - <source>Publishing of added or modified translation for the user interface. Other peers may include it in their local translation list.</source> - </trans-unit> <trans-unit id="c03a72cf" xml:space="preserve" approved="no" translate="yes"> <source>More news services will follow.</source> </trans-unit> @@ -8316,8 +8023,8 @@ <trans-unit id="28ba64b2" xml:space="preserve" approved="no" translate="yes"> <source>Local Search access rate limitations</source> </trans-unit> - <trans-unit id="8ac0ff35" xml:space="preserve" approved="no" translate="yes"> - <source>You can configure here limitations on access rate to this peer search interface by unauthenticated users and users without extended search right</source> + <trans-unit id="978cbe02" xml:space="preserve" approved="no" translate="yes"> + <source>You can configure here limitations on access rate to this peer search interface by unauthenticated users.</source> </trans-unit> <trans-unit id="a16f124a" xml:space="preserve" approved="no" translate="yes"> <source>YaCy search</source> @@ -8325,8 +8032,8 @@ <trans-unit id="167ae1f7" xml:space="preserve" approved="no" translate="yes"> <source>Access rate limitations to this peer search interface.</source> </trans-unit> - <trans-unit id="b4df43e1" xml:space="preserve" approved="no" translate="yes"> - <source>When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search is blocked.</source> + <trans-unit id="a4ecad00" xml:space="preserve" approved="no" translate="yes"> + <source>When an unauthenticated user exceeds a limit, the search is blocked.</source> </trans-unit> <trans-unit id="2092318d" xml:space="preserve" approved="no" translate="yes"> <source>Max searches in 3s</source> @@ -8343,8 +8050,8 @@ <trans-unit id="c1c99ea1" xml:space="preserve" approved="no" translate="yes"> <source>Access rate limitations to the peer-to-peer search mode.</source> </trans-unit> - <trans-unit id="36647360" xml:space="preserve" approved="no" translate="yes"> - <source>When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search scope falls back to only this local peer index.</source> + <trans-unit id="b9582d7f" xml:space="preserve" approved="no" translate="yes"> + <source>When an unauthenticated user exceeds a limit, the search scope falls back to only this local peer index.</source> </trans-unit> <trans-unit id="43860f16" xml:space="preserve" approved="no" translate="yes"> <source>Max searches in 10mn</source> @@ -8355,8 +8062,8 @@ <trans-unit id="f75569f2" xml:space="preserve" approved="no" translate="yes"> <source>Access rate limitations to the peer-to-peer search mode with browser-side JavaScript results resorting enabled</source> </trans-unit> - <trans-unit id="575d60f8" xml:space="preserve" approved="no" translate="yes"> - <source>When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, results resorting becomes only applicable on demand, server-side.</source> + <trans-unit id="1fc8bc2" xml:space="preserve" approved="no" translate="yes"> + <source>When an unauthenticated user exceeds a limit, results resorting becomes only applicable on demand, server-side.</source> </trans-unit> <trans-unit id="d164af83" xml:space="preserve" approved="no" translate="yes"> <source>Remote snippet load</source> @@ -8364,8 +8071,8 @@ <trans-unit id="3cf015f1" xml:space="preserve" approved="no" translate="yes"> <source>Limitations on snippet loading from remote websites.</source> </trans-unit> - <trans-unit id="4784ce85" xml:space="preserve" approved="no" translate="yes"> - <source>When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the snippets fetch strategy falls back to 'CACHEONLY'</source> + <trans-unit id="82c04b3f" xml:space="preserve" approved="no" translate="yes"> + <source>When an unauthenticated user exceeds a limit, the snippets fetch strategy falls back to 'CACHEONLY'.</source> </trans-unit> <trans-unit id="ddba5b6" xml:space="preserve" approved="no" translate="yes"> <source>Max searches in 3s</source> @@ -8983,36 +8690,24 @@ <trans-unit id="a604d726" xml:space="preserve" approved="no" translate="yes"> <source>Server Access Restrictions</source> </trans-unit> - <trans-unit id="50ee1b00" xml:space="preserve" approved="no" translate="yes"> - <source>You can restrict the access to this proxy/server using a two-stage security barrier:</source> + <trans-unit id="30ced5a2" xml:space="preserve" approved="no" translate="yes"> + <source>You can restrict access to this proxy/server with an IP-number filter:</source> </trans-unit> <trans-unit id="5a42a805" xml:space="preserve" approved="no" translate="yes"> <source>define an <em>access domain</em> with a list of granted client IP-numbers or with wildcards</source> </trans-unit> - <trans-unit id="b42a1e39" xml:space="preserve" approved="no" translate="yes"> - <source>define an <em>user account</em> with an user:password - pair</source> - </trans-unit> - <trans-unit id="ab080820" xml:space="preserve" approved="no" translate="yes"> - <source>This is the account that restricts access to the proxy function.</source> - </trans-unit> <trans-unit id="19f92ae5" xml:space="preserve" approved="no" translate="yes"> <source>You probably don't want to share the proxy to the internet, so you should set the</source> </trans-unit> <trans-unit id="2753ee06" xml:space="preserve" approved="no" translate="yes"> <source>IP-Number Access Domain to a pattern that corresponds to you local intranet.</source> </trans-unit> - <trans-unit id="2cee783d" xml:space="preserve" approved="no" translate="yes"> - <source>The default setting should be right in most cases. If you want, you can also set a proxy account</source> - </trans-unit> - <trans-unit id="457ee6bb" xml:space="preserve" approved="no" translate="yes"> - <source>so that every proxy user must authenticate first, but this is rather unusual.</source> + <trans-unit id="80f1b1f" xml:space="preserve" approved="no" translate="yes"> + <source>The default setting should be right in most cases.</source> </trans-unit> <trans-unit id="46d5dde9" xml:space="preserve" approved="no" translate="yes"> <source>IP-Number filter</source> </trans-unit> - <trans-unit id="84782006" xml:space="preserve" approved="no" translate="yes"> - <source>Accounts</source> - </trans-unit> </body> </file> @@ -10048,144 +9743,6 @@ </body> </file> -<file original="TransNews_p.html" source-language="en" datatype="html"> - <body> - <trans-unit id="20c2735" xml:space="preserve" approved="no" translate="yes"> - <source>"Publish"</source> - </trans-unit> - <trans-unit id="188a8b6f" xml:space="preserve" approved="no" translate="yes"> - <source>"negative vote"</source> - </trans-unit> - <trans-unit id="30ddb633" xml:space="preserve" approved="no" translate="yes"> - <source>"positive vote"</source> - </trans-unit> - <trans-unit id="a8b87046" xml:space="preserve" approved="no" translate="yes"> - <source>You can share your local addition to translations and distribute it to other peers.</source> - </trans-unit> - <trans-unit id="b26286aa" xml:space="preserve" approved="no" translate="yes"> - <source>The remote peer can vote on your translation and add it to its own local translation.</source> - </trans-unit> - <trans-unit id="40bca1e" xml:space="preserve" approved="no" translate="yes"> - <source>File:</source> - </trans-unit> - <trans-unit id="689619c" xml:space="preserve" approved="no" translate="yes"> - <source>Originator</source> - </trans-unit> - <trans-unit id="708517ea" xml:space="preserve" approved="no" translate="yes"> - <source>English:</source> - </trans-unit> - <trans-unit id="817a358b" xml:space="preserve" approved="no" translate="yes"> - <source>existing</source> - </trans-unit> - <trans-unit id="c0bfb7c9" xml:space="preserve" approved="no" translate="yes"> - <source>Translation:</source> - </trans-unit> - <trans-unit id="2deca215" xml:space="preserve" approved="no" translate="yes"> - <source>Vote on this translation. If you vote positive the translation is added to your local translation list.</source> - </trans-unit> - </body> -</file> - -<file original="Translator_p.html" source-language="en" datatype="html"> - <body> - <trans-unit id="c9b0cd52" xml:space="preserve" approved="no" translate="yes"> - <source>"Save translation"</source> - </trans-unit> - <trans-unit id="2eae05fc" xml:space="preserve" approved="no" translate="yes"> - <source>Translation Editor</source> - </trans-unit> - <trans-unit id="9f3e9d5d" xml:space="preserve" approved="no" translate="yes"> - <source>Translate untranslated text of the user interface (current language). The modified translation file is stored in DATA/LOCALE directory.</source> - </trans-unit> - <trans-unit id="ede91305" xml:space="preserve" approved="no" translate="yes"> - <source>UI Translation</source> - </trans-unit> - <trans-unit id="5ad17261" xml:space="preserve" approved="no" translate="yes"> - <source>Source File</source> - </trans-unit> - <trans-unit id="1b120c86" xml:space="preserve" approved="no" translate="yes"> - <source>view it</source> - </trans-unit> - <trans-unit id="c00303d7" xml:space="preserve" approved="no" translate="yes"> - <source>filter untranslated</source> - </trans-unit> - <trans-unit id="5ad7c212" xml:space="preserve" approved="no" translate="yes"> - <source>Source Text</source> - </trans-unit> - </body> -</file> - -<file original="User.html" source-language="en" datatype="html"> - <body> - <trans-unit id="c52bdc7b" xml:space="preserve" approved="no" translate="yes"> - <source>"login"</source> - </trans-unit> - <trans-unit id="e0529176" xml:space="preserve" approved="no" translate="yes"> - <source>"logout"</source> - </trans-unit> - <trans-unit id="7ec7aec0" xml:space="preserve" approved="no" translate="yes"> - <source>"red bar"</source> - </trans-unit> - <trans-unit id="aeb7cf0e" xml:space="preserve" approved="no" translate="yes"> - <source>"green bar"</source> - </trans-unit> - <trans-unit id="5b2beff0" xml:space="preserve" approved="no" translate="yes"> - <source>"Change"</source> - </trans-unit> - <trans-unit id="8826a1c4" xml:space="preserve" approved="no" translate="yes"> - <source>User Page</source> - </trans-unit> - <trans-unit id="1df82485" xml:space="preserve" approved="no" translate="yes"> - <source>You are not logged in.</source> - </trans-unit> - <trans-unit id="8c79b204" xml:space="preserve" approved="no" translate="yes"> - <source>Username:</source> - </trans-unit> - <trans-unit id="401fb8df" xml:space="preserve" approved="no" translate="yes"> - <source>Password:</source> - </trans-unit> - <trans-unit id="9c357eb4" xml:space="preserve" approved="no" translate="yes"> - <source>(Identified by</source> - </trans-unit> - <trans-unit id="927" xml:space="preserve" approved="no" translate="yes"> - <source>IP</source> - </trans-unit> - <trans-unit id="d72cc7b4" xml:space="preserve" approved="no" translate="yes"> - <source>Username/Password</source> - </trans-unit> - <trans-unit id="78a4f684" xml:space="preserve" approved="no" translate="yes"> - <source>Cookie</source> - </trans-unit> - <trans-unit id="68244c94" xml:space="preserve" approved="no" translate="yes"> - <source>old Password</source> - </trans-unit> - <trans-unit id="6fa5293b" xml:space="preserve" approved="no" translate="yes"> - <source>new Password</source> - </trans-unit> - <trans-unit id="82d0416b" xml:space="preserve" approved="no" translate="yes"> - <source>new Password(repetition)</source> - </trans-unit> - <trans-unit id="240a6c09" xml:space="preserve" approved="no" translate="yes"> - <source>You are currently logged in as admin.</source> - </trans-unit> - <trans-unit id="f2c13611" xml:space="preserve" approved="no" translate="yes"> - <source>(after logout you will be prompted for your password again. simply click "cancel")</source> - </trans-unit> - <trans-unit id="5a47f896" xml:space="preserve" approved="no" translate="yes"> - <source>Password was changed.</source> - </trans-unit> - <trans-unit id="256ed36b" xml:space="preserve" approved="no" translate="yes"> - <source>Old Password is wrong.</source> - </trans-unit> - <trans-unit id="c6339e82" xml:space="preserve" approved="no" translate="yes"> - <source>New Password and its repetition do not match.</source> - </trans-unit> - <trans-unit id="58c027b2" xml:space="preserve" approved="no" translate="yes"> - <source>New Password is empty.</source> - </trans-unit> - </body> -</file> - <file original="VFS.html" source-language="en" datatype="html"> <body> <trans-unit id="71f2b569" xml:space="preserve" approved="no" translate="yes"> @@ -10753,99 +10310,16 @@ </body> </file> -<file original="Wiki.html" source-language="en" datatype="html"> - <body> - <trans-unit id="20cd9c3" xml:space="preserve" approved="no" translate="yes"> - <source>"all"</source> - </trans-unit> - <trans-unit id="b1ce4555" xml:space="preserve" approved="no" translate="yes"> - <source>"admin"</source> - </trans-unit> - <trans-unit id="bfcc5088" xml:space="preserve" approved="no" translate="yes"> - <source>"Submit"</source> - </trans-unit> - <trans-unit id="6904b79c" xml:space="preserve" approved="no" translate="yes"> - <source>"Preview"</source> - </trans-unit> - <trans-unit id="c5332d86" xml:space="preserve" approved="no" translate="yes"> - <source>"Discard"</source> - </trans-unit> - <trans-unit id="3ec759c3" xml:space="preserve" approved="no" translate="yes"> - <source>"Show"</source> - </trans-unit> - <trans-unit id="9131821f" xml:space="preserve" approved="no" translate="yes"> - <source>"Compare"</source> - </trans-unit> - <trans-unit id="26dcff8e" xml:space="preserve" approved="no" translate="yes"> - <source>(only granted to admin)</source> - </trans-unit> - <trans-unit id="d70cd83f" xml:space="preserve" approved="no" translate="yes"> - <source>Index -</source> - </trans-unit> - <trans-unit id="774a8452" xml:space="preserve" approved="no" translate="yes"> - <source>Grant Write Access to</source> - </trans-unit> - <trans-unit id="20e22a" xml:space="preserve" approved="no" translate="yes"> - <source>Edit</source> - </trans-unit> - <trans-unit id="3cafa7ef" xml:space="preserve" approved="no" translate="yes"> - <source>Author:</source> - </trans-unit> - <trans-unit id="4cf708d" xml:space="preserve" approved="no" translate="yes"> - <source>Text:</source> - </trans-unit> - <trans-unit id="50417ba8" xml:space="preserve" approved="no" translate="yes"> - <source>Preview</source> - </trans-unit> - <trans-unit id="baf17931" xml:space="preserve" approved="no" translate="yes"> - <source>No changes have been submitted so far!</source> - </trans-unit> - <trans-unit id="43838b2" xml:space="preserve" approved="no" translate="yes"> - <source>Index</source> - </trans-unit> - <trans-unit id="f3e2ed0c" xml:space="preserve" approved="no" translate="yes"> - <source>Subject</source> - </trans-unit> - <trans-unit id="fd3eb61e" xml:space="preserve" approved="no" translate="yes"> - <source>Change Date</source> - </trans-unit> - <trans-unit id="82d89655" xml:space="preserve" approved="no" translate="yes"> - <source>Last Author</source> - </trans-unit> - <trans-unit id="15854bcd" xml:space="preserve" approved="no" translate="yes"> - <source>Start Page</source> - </trans-unit> - <trans-unit id="8d88e2bb" xml:space="preserve" approved="no" translate="yes"> - <source>Versions</source> - </trans-unit> - <trans-unit id="27ebd56d" xml:space="preserve" approved="no" translate="yes"> - <source>Compare version from</source> - </trans-unit> - <trans-unit id="4417430c" xml:space="preserve" approved="no" translate="yes"> - <source>with version from</source> - </trans-unit> - <trans-unit id="401e1e8" xml:space="preserve" approved="no" translate="yes"> - <source>Error</source> - </trans-unit> - <trans-unit id="8f73f216" xml:space="preserve" approved="no" translate="yes"> - <source>You can use</source> - </trans-unit> - <trans-unit id="624eee29" xml:space="preserve" approved="no" translate="yes"> - <source>Changes will be published as announcement on YaCyNews</source> - </trans-unit> - </body> -</file> - -<file original="WikiHelp.html" source-language="en" datatype="html"> +<file original="WikiCodeHelp.html" source-language="en" datatype="html"> <body> <trans-unit id="d09f01ea" xml:space="preserve" approved="no" translate="yes"> <source>Wiki-Code</source> </trans-unit> - <trans-unit id="6e34c0bd" xml:space="preserve" approved="no" translate="yes"> - <source>This table contains a short description of the tags that can be used in the Wiki and several other servlets</source> + <trans-unit id="6f20d754" xml:space="preserve" approved="no" translate="yes"> + <source>This table describes the WikiCode formatting supported in YaCy messages,</source> </trans-unit> - <trans-unit id="494c6704" xml:space="preserve" approved="no" translate="yes"> - <source>of YaCy. For a more detailed description visit the</source> + <trans-unit id="ae0a0eb9" xml:space="preserve" approved="no" translate="yes"> + <source>profiles, and MediaWiki dump imports.</source> </trans-unit> <trans-unit id="20220d" xml:space="preserve" approved="no" translate="yes"> <source>Code</source> @@ -10916,8 +10390,11 @@ <trans-unit id="fa06951a" xml:space="preserve" approved="no" translate="yes"> <source>[[pagename|description]]</source> </trans-unit> - <trans-unit id="18d4f13f" xml:space="preserve" approved="no" translate="yes"> - <source>This tag creates links to other pages of the wiki.</source> + <trans-unit id="119bccd" xml:space="preserve" approved="no" translate="yes"> + <source>Internal-link markup retains its visible label but no longer creates a link,</source> + </trans-unit> + <trans-unit id="7b083471" xml:space="preserve" approved="no" translate="yes"> + <source>because the local Wiki application has been retired.</source> </trans-unit> <trans-unit id="53943a9" xml:space="preserve" approved="no" translate="yes"> <source>[url]</source> @@ -11786,9 +11263,6 @@ <trans-unit id="a396c86e" xml:space="preserve" approved="no" translate="yes"> <source>Surftips</source> </trans-unit> - <trans-unit id="11760119" xml:space="preserve" approved="no" translate="yes"> - <source>Local Peer Wiki</source> - </trans-unit> <trans-unit id="f0df21dd" xml:space="preserve" approved="no" translate="yes"> <source>Bookmarks</source> </trans-unit> @@ -11812,9 +11286,6 @@ <trans-unit id="942917f1" xml:space="preserve" approved="no" translate="yes"> <source>Advanced Properties</source> </trans-unit> - <trans-unit id="cf394e0e" xml:space="preserve" approved="no" translate="yes"> - <source>UI Translations</source> - </trans-unit> </body> </file> @@ -12077,20 +11548,6 @@ </body> </file> -<file original="env/templates/submenuPublication.template" source-language="en" datatype="html"> - <body> - <trans-unit id="23254a0c" xml:space="preserve" approved="no" translate="yes"> - <source>Publication</source> - </trans-unit> - <trans-unit id="2923d0" xml:space="preserve" approved="no" translate="yes"> - <source>Wiki</source> - </trans-unit> - <trans-unit id="1fa3c2" xml:space="preserve" approved="no" translate="yes"> - <source>Blog</source> - </trans-unit> - </body> -</file> - <file original="env/templates/submenuRanking.template" source-language="en" datatype="html"> <body> <trans-unit id="459cd1fc" xml:space="preserve" approved="no" translate="yes"> @@ -12459,23 +11916,6 @@ </body> </file> -<file original="proxymsg/authfail.inc" source-language="en" datatype="html"> - <body> - <trans-unit id="c52bdc7b" xml:space="preserve" approved="no" translate="yes"> - <source>"login"</source> - </trans-unit> - <trans-unit id="f1fb601e" xml:space="preserve" approved="no" translate="yes"> - <source>Your Username/Password is wrong.</source> - </trans-unit> - <trans-unit id="f403ecf6" xml:space="preserve" approved="no" translate="yes"> - <source>Username</source> - </trans-unit> - <trans-unit id="4c641ebb" xml:space="preserve" approved="no" translate="yes"> - <source>Password</source> - </trans-unit> - </body> -</file> - <file original="proxymsg/error.html" source-language="en" datatype="html"> <body> <trans-unit id="dc3796cb" xml:space="preserve" approved="no" translate="yes"> diff --git a/locales/pl.lng b/locales/pl.lng index 167db3c48..28a289a35 100644 --- a/locales/pl.lng +++ b/locales/pl.lng @@ -342,54 +342,6 @@ An error occurred while editing the following entries. Please check syntax.==Pod Activate this list for ...==Aktywuj tÄ™ listÄ™ dla ... #----------------------------- -#File: Blog.html -#--------------------------- -"RSS"=="RSS" -"Submit"=="WyÅ›lij" -"Preview"=="PodglÄ…d" -"Discard"=="Odrzuć" -"Yes, delete it."=="Tak, usuÅ„." -"No, leave it."=="Nie, zostaw." -"Import"=="Importuj" -<< previous entries==<< poprzednie wpisy -next entries >>==nastÄ™pne wpisy >> -Blog-Home==Strona główna bloga -Edit==Edytuj -Author:==Autor: -Subject:==Temat: -Text:==Tekst: -Comments:==Komentarze: -deactivated==wyłączone -activated==aktywne -moderated==moderowane -Preview==PodglÄ…d -No changes have been submitted so far!==Nie przesÅ‚ano jeszcze żadnych zmian! -Access denied==Odmowa dostÄ™pu -To edit or create blog-entries you need to be logged in as Admin or User who has Blog rights.==Aby edytować lub tworzyć wpisy na blogu, musisz być zalogowany jako administrator lub użytkownik z uprawnieniami do bloga. -Are you sure...==Czy na pewno... -Confirm deletion==Potwierdź usuniÄ™cie -XML-Import==Import XML -Import was successful!==Import zakoÅ„czyÅ‚ siÄ™ powodzeniem! -Import failed, maybe the supplied file was no valid blog-backup?==Import nie powiódÅ‚ siÄ™, być może podany plik nie byÅ‚ prawidÅ‚owÄ… kopiÄ… zapasowÄ… bloga? -Please select the XML-file you want to import:==Wybierz plik XML, który chcesz zaimportować: -#----------------------------- - -#File: BlogComments.html -#--------------------------- -"Submit"=="WyÅ›lij" -"Preview"=="PodglÄ…d" -"Discard"=="Odrzuć" -Blog-Home==Strona główna bloga -Comments:==Komentarze: -<< previous entries==<< poprzednie wpisy -next entries >>==nastÄ™pne wpisy >> -Comments are not allowed for this posting!==Komentarze do tego wpisu sÄ… niedozwolone! -Comment on this Blog==Skomentuj ten blog -Author:==Autor: -Subject:==Temat: -Text:==Tekst: -#----------------------------- - #File: Bookmarks.html #--------------------------- "RSS"=="RSS" @@ -457,58 +409,10 @@ Private Queue==Kolejka prywatna Public Queue==Kolejka publiczna #----------------------------- -#File: ConfigAccountList_p.html -#--------------------------- -User List==Lista użytkowników -User Accounts==Konta użytkowników -User==Użytkownik -First name==ImiÄ™ -Last name==Nazwisko -Address==Adres -Last Access==Ostatni dostÄ™p -Rights==Uprawnienia -Time==Czas -Traffic==Ruch -#----------------------------- - #File: ConfigAccounts_p.html #--------------------------- -"Define Administrator"=="Zdefiniuj administratora" -"Set Access Rules"=="Ustaw reguÅ‚y dostÄ™pu" -"Edit User"=="Edytuj użytkownika" -"Delete User"=="UsuÅ„ użytkownika" -"Save User"=="Zapisz użytkownika" -User Administration==ZarzÄ…dzanie użytkownikami -Generic error.==Błąd ogólny. Passwords do not match.==HasÅ‚a nie sÄ… zgodne. -Username too short. Username must be >= 4 Characters.==Nazwa użytkownika jest zbyt krótka. Nazwa użytkownika musi mieć >= 4 znaki. -Username already used (not allowed).==Nazwa użytkownika jest już używana (niedozwolone). -<b>WARNING</b> This YaCy instance can be administered with the account "admin" and the default password "yacy".==<b>OSTRZEÅ»ENIE</b> TÄ… instancjÄ… YaCy można administrować za pomocÄ… konta "admin" i domyÅ›lnego hasÅ‚a "yacy". -Change the password as soon as possible!==ZmieÅ„ hasÅ‚o jak najszybciej! Admin Account==Konto administratora -Access from localhost without account==DostÄ™p z localhost bez konta -Access to your peer from your own computer (localhost access) is granted with administrator rights. No need to configure an administration account.==DostÄ™p do Twojego peera z wÅ‚asnego komputera (dostÄ™p localhost) jest przyznawany z uprawnieniami administratora. Nie ma potrzeby konfigurowania konta administracyjnego. -This setting is convenient but less secure than using a qualified admin account.==To ustawienie jest wygodne, ale mniej bezpieczne niż użycie uprawnionego konta administratora. -Please use with care, notably when you browse untrusted and potentially malicious websites while running your YaCy peer on the same computer.==Używaj ostrożnie, zwÅ‚aszcza gdy przeglÄ…dasz niezaufane i potencjalnie zÅ‚oÅ›liwe strony, podczas gdy Twój peer YaCy dziaÅ‚a na tym samym komputerze. -Access only with qualified account==DostÄ™p tylko z uprawnionym kontem -This is required if you want a remote access to your peer, but it also hardens access controls on administration operations of your peer.==Jest to wymagane, jeÅ›li chcesz mieć zdalny dostÄ™p do swojego peera, ale zwiÄ™ksza też bezpieczeÅ„stwo kontroli dostÄ™pu do operacji administracyjnych peera. -Peer User:==Użytkownik peera: -New Peer Password:==Nowe hasÅ‚o peera: -Repeat Peer Password:==Powtórz hasÅ‚o peera: -Access Rules==ReguÅ‚y dostÄ™pu -Protection of all pages: if set to on, access to all pages need authorization; if off, only pages with "_p" extension are protected.==Ochrona wszystkich stron: jeÅ›li włączona, dostÄ™p do wszystkich stron wymaga autoryzacji; jeÅ›li wyłączona, chronione sÄ… tylko strony z rozszerzeniem "_p". -User Accounts==Konta użytkowników -Select user==Wybierz użytkownika -New user==Nowy użytkownik -Username==Nazwa użytkownika -Password==HasÅ‚o -Repeat password==Powtórz hasÅ‚o -First name==ImiÄ™ -Last name==Nazwisko -Address==Adres -Rights:==Uprawnienia: -Timelimit==Limit czasu -Time used==Zużyty czas #----------------------------- #File: ConfigAppearance_p.html @@ -886,8 +790,6 @@ Status page==strony statusu Network pages==stron sieci Surftips==porad surfowania News pages==stron aktualnoÅ›ci -Blog==bloga -Wiki==wiki Public bookmarks==publicznych zakÅ‚adek Home Page==strony głównej File Share==udziaÅ‚u plików @@ -1047,28 +949,6 @@ manual update:<br/>apt-get update && apt-get install yacy==rÄ™czna aktua automatic update: add the following line to /etc/crontab<br/>0 6 * * * root apt-get update && apt-get -y --force-yes install yacy==automatyczna aktualizacja: dodaj nastÄ™pujÄ…cy wiersz do /etc/crontab<br/>0 6 * * * root apt-get update && apt-get -y --force-yes install yacy #----------------------------- -#File: ConfigUser_p.html -#--------------------------- -"Save User"=="Zapisz użytkownika" -"Delete User"=="UsuÅ„ użytkownika" -"ConfigAccountList_p.html"=="ConfigAccountList_p.html" -User Account Editor==Edytor konta użytkownika -Generic error.==Błąd ogólny. -Passwords do not match.==HasÅ‚a nie sÄ… zgodne. -Username too short. Username must be >= 4 Characters.==Nazwa użytkownika jest zbyt krótka. Nazwa użytkownika musi mieć >= 4 znaki. -Username already used (not allowed).==Nazwa użytkownika jest już używana (niedozwolone). -Username==Nazwa użytkownika -Password==HasÅ‚o -Repeat password==Powtórz hasÅ‚o -First name==ImiÄ™ -Last name==Nazwisko -Address==Adres -Rights:==Uprawnienia: -Timelimit==Limit czasu -Time used==Zużyty czas -back to user list==powrót do listy użytkowników -#----------------------------- - #File: Connections_p.html #--------------------------- Server Connection Tracking==Åšledzenie połączeÅ„ serwera @@ -2475,8 +2355,6 @@ inbox==skrzynka odbiorcza "DHT Receive: yes"=="Odbiór DHT: tak" "DHT receive enabled"=="Odbiór DHT włączony" "Profile updated"=="Profil zaktualizowany" -"Wiki updated"=="Wiki zaktualizowane" -"Blog updated"=="Blog zaktualizowany" "Crawl"=="Crawl" "The YaCy Network"=="Sieć YaCy" "Type: Virgin"=="Typ: Virgin" @@ -2522,7 +2400,6 @@ Received DHT<br/>Word Chunks==Odebrane fragmenty<br/>słów DHT Received<br/>URLs==Odebrane<br/>adresy URL Location==Lokalizacja user agent<br/>==User-Agent<br/> -send <strong>M</strong>essage/<br/>show <strong>P</strong>rofile/<br/>edit <strong>W</strong>iki/<br/>browse <strong>B</strong>log==wyÅ›lij wiadomość (<strong>M</strong>)/<br/>pokaż profil (<strong>P</strong>)/<br/>edytuj wiki (<strong>W</strong>)/<br/>przeglÄ…daj blog (<strong>B</strong>) Network==Sieć Online Peers==Peery online Number of<br/>Documents==Liczba<br/>dokumentów @@ -2593,7 +2470,6 @@ 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==Tabela z niedawno uruchomionymi crawlami jest wyÅ›wietlana na stronie Tworzenie indeksu A change in the personal profile will create a news entry. You can see recently made changes of==Zmiana w profilu osobistym utworzy wpis aktualnoÅ›ci. Możesz zobaczyć niedawno wprowadzone zmiany profile entries on the Network page, where that profile change is visualized with a '*' beside the 'P' (profile) - selector.==wpisów profilu na stronie Sieć, gdzie ta zmiana profilu jest oznaczona '*' obok selektora 'P' (profil). -Publishing of added or modified translation for the user interface. Other peers may include it in their local translation list.==Publikowanie dodanego lub zmodyfikowanego tÅ‚umaczenia interfejsu użytkownika. Inne peery mogÄ… uwzglÄ™dnić je na swojej lokalnej liÅ›cie tÅ‚umaczeÅ„. More news services will follow.==WiÄ™cej usÅ‚ug aktualnoÅ›ci pojawi siÄ™ wkrótce. Above you can see four menus:==Powyżej widzisz cztery menu: Only these news will be used to display specific news services as explained above.==Tylko te aktualnoÅ›ci bÄ™dÄ… używane do wyÅ›wietlania okreÅ›lonych usÅ‚ug aktualnoÅ›ci, jak wyjaÅ›niono powyżej. @@ -2999,23 +2875,18 @@ Age==Wiek "Reset to defaults settings"=="Przywróć ustawienia domyÅ›lne" limitations==ograniczenia Local Search access rate limitations==Ograniczenia czÄ™stotliwoÅ›ci dostÄ™pu do wyszukiwania lokalnego -You can configure here limitations on access rate to this peer search interface by unauthenticated users and users without extended search right==Tutaj możesz skonfigurować ograniczenia czÄ™stotliwoÅ›ci dostÄ™pu do interfejsu wyszukiwania tego peera dla nieuwierzytelnionych użytkowników oraz użytkowników bez rozszerzonego prawa wyszukiwania YaCy search==Wyszukiwanie YaCy Access rate limitations to this peer search interface.==Ograniczenia czÄ™stotliwoÅ›ci dostÄ™pu do interfejsu wyszukiwania tego peera. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search is blocked.==Gdy użytkownik z ograniczonymi uprawnieniami (nieuwierzytelniony lub bez rozszerzonego prawa wyszukiwania) przekroczy limit, wyszukiwanie zostaje zablokowane. Max searches in 3s==Maks. wyszukiwaÅ„ w 3 s Max searches in 1mn==Maks. wyszukiwaÅ„ w 1 min Max searches in 10mn==Maks. wyszukiwaÅ„ w 10 min Peer-to-peer search==Wyszukiwanie peer-to-peer Access rate limitations to the peer-to-peer search mode.==Ograniczenia czÄ™stotliwoÅ›ci dostÄ™pu do trybu wyszukiwania peer-to-peer. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search scope falls back to only this local peer index.==Gdy użytkownik z ograniczonymi uprawnieniami (nieuwierzytelniony lub bez rozszerzonego prawa wyszukiwania) przekroczy limit, zakres wyszukiwania zostaje ograniczony tylko do indeksu tego lokalnego peera. Max searches in 10mn==Maks. wyszukiwaÅ„ w 10 min Peer-to-peer search with JavaScript results resorting==Wyszukiwanie peer-to-peer z ponownym sortowaniem wyników przez JavaScript Access rate limitations to the peer-to-peer search mode with browser-side JavaScript results resorting enabled==Ograniczenia czÄ™stotliwoÅ›ci dostÄ™pu do trybu wyszukiwania peer-to-peer z włączonym ponownym sortowaniem wyników przez JavaScript po stronie przeglÄ…darki -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, results resorting becomes only applicable on demand, server-side.==Gdy użytkownik z ograniczonymi uprawnieniami (nieuwierzytelniony lub bez rozszerzonego prawa wyszukiwania) przekroczy limit, ponowne sortowanie wyników staje siÄ™ dostÄ™pne tylko na żądanie, po stronie serwera. Remote snippet load==Åadowanie zdalnego podglÄ…du Limitations on snippet loading from remote websites.==Ograniczenia Å‚adowania podglÄ…dów ze zdalnych stron internetowych. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the snippets fetch strategy falls back to 'CACHEONLY'==Gdy użytkownik z ograniczonymi uprawnieniami (nieuwierzytelniony lub bez rozszerzonego prawa wyszukiwania) przekroczy limit, strategia pobierania podglÄ…dów zostaje zmieniona na 'CACHEONLY' Max searches in 3s==Maks. wyszukiwaÅ„ w 3 s <em id="changeInfo">Changes will take effect immediately.</em>==<em id="changeInfo">Zmiany zostanÄ… zastosowane natychmiast.</em> #----------------------------- @@ -3240,14 +3111,9 @@ These settings configure the access method to your own http proxy and server.==T All traffic is routed through one single port, for both proxy and server.==CaÅ‚y ruch jest kierowany przez jeden pojedynczy port, zarówno dla proxy, jak i serwera. HTTPS Server Port:==Port serwera HTTPS: Server Access Restrictions==Ograniczenia dostÄ™pu do serwera -You can restrict the access to this proxy/server using a two-stage security barrier:==Możesz ograniczyć dostÄ™p do tego proxy/serwera za pomocÄ… dwuetapowej bariery bezpieczeÅ„stwa: define an <em>access domain</em> with a list of granted client IP-numbers or with wildcards==zdefiniuj <em>domenÄ™ dostÄ™pu</em> z listÄ… dozwolonych adresów IP klientów lub z symbolami wieloznacznymi -define an <em>user account</em> with an user:password - pair==zdefiniuj <em>konto użytkownika</em> za pomocÄ… pary użytkownik:hasÅ‚o -This is the account that restricts access to the proxy function.==To jest konto, które ogranicza dostÄ™p do funkcji proxy. You probably don't want to share the proxy to the internet, so you should set the==Prawdopodobnie nie chcesz udostÄ™pniać proxy w internecie, wiÄ™c powinieneÅ› ustawić IP-Number Access Domain to a pattern that corresponds to you local intranet.==domenÄ™ dostÄ™pu adresów IP na wzorzec odpowiadajÄ…cy Twojemu lokalnemu intranetowi. -The default setting should be right in most cases. If you want, you can also set a proxy account==Ustawienie domyÅ›lne powinno być odpowiednie w wiÄ™kszoÅ›ci przypadków. JeÅ›li chcesz, możesz również ustawić konto proxy -so that every proxy user must authenticate first, but this is rather unusual.==tak, aby każdy użytkownik proxy musiaÅ‚ najpierw siÄ™ uwierzytelnić, ale jest to raczej niespotykane. IP-Number filter==Filtr adresów IP Accounts==Konta #----------------------------- @@ -3638,59 +3504,6 @@ Save Tools Configuration==Zapisz konfiguracjÄ™ narzÄ™dzi CyTag Trails==Åšlady CyTag #----------------------------- -#File: TransNews_p.html -#--------------------------- -"Publish"=="Opublikuj" -"negative vote"=="Negatywna ocena" -"positive vote"=="Pozytywna ocena" -You can share your local addition to translations and distribute it to other peers.==Możesz udostÄ™pnić swoje lokalne uzupeÅ‚nienie tÅ‚umaczeÅ„ i rozdystrybuować je do innych peerów. -The remote peer can vote on your translation and add it to its own local translation.==Zdalny peer może zagÅ‚osować na Twoje tÅ‚umaczenie i dodać je do swojego wÅ‚asnego lokalnego tÅ‚umaczenia. -File:==Plik: -Originator==Inicjator -English:==Angielski: -existing==istniejÄ…ce -Translation:==TÅ‚umaczenie: -Vote on this translation. If you vote positive the translation is added to your local translation list.==ZagÅ‚osuj na to tÅ‚umaczenie. JeÅ›li zagÅ‚osujesz pozytywnie, tÅ‚umaczenie zostanie dodane do Twojej lokalnej listy tÅ‚umaczeÅ„. -#----------------------------- - -#File: Translator_p.html -#--------------------------- -"Save translation"=="Zapisz tÅ‚umaczenie" -Translation Editor==Edytor tÅ‚umaczeÅ„ -Translate untranslated text of the user interface (current language). The modified translation file is stored in DATA/LOCALE directory.==PrzetÅ‚umacz nieprzetÅ‚umaczony tekst interfejsu użytkownika (bieżący jÄ™zyk). Zmodyfikowany plik tÅ‚umaczenia jest przechowywany w katalogu DATA/LOCALE. -UI Translation==TÅ‚umaczenie interfejsu użytkownika -Source File==Plik źródÅ‚owy -view it==wyÅ›wietl plik -filter untranslated==filtruj nieprzetÅ‚umaczone -Source Text==Tekst źródÅ‚owy -#----------------------------- - -#File: User.html -#--------------------------- -"login"=="zaloguj" -"logout"=="Wyloguj" -"red bar"=="czerwony pasek" -"green bar"=="zielony pasek" -"Change"=="ZmieÅ„" -User Page==Strona użytkownika -You are not logged in.==Nie jesteÅ› zalogowany. -Username:==Nazwa użytkownika: -Password:==HasÅ‚o: -(Identified by==(Zidentyfikowany przez -IP==IP -Username/Password==Nazwa użytkownika/hasÅ‚o -Cookie==Cookie -old Password==stare hasÅ‚o -new Password==nowe hasÅ‚o -new Password(repetition)==nowe hasÅ‚o (powtórzenie) -You are currently logged in as admin.==JesteÅ› obecnie zalogowany jako administrator. -(after logout you will be prompted for your password again. simply click "cancel")==(po wylogowaniu zostaniesz ponownie poproszony o hasÅ‚o. Po prostu kliknij "anuluj") -Password was changed.==HasÅ‚o zostaÅ‚o zmienione. -Old Password is wrong.==Stare hasÅ‚o jest nieprawidÅ‚owe. -New Password and its repetition do not match.==Nowe hasÅ‚o i jego powtórzenie nie sÄ… zgodne. -New Password is empty.==Nowe hasÅ‚o jest puste. -#----------------------------- - #File: VFS.html #--------------------------- "File system browser"=="PrzeglÄ…darka systemu plików" @@ -3894,40 +3707,9 @@ Other Dot==Inny punkt Dot-end==Koniec punktu #----------------------------- -#File: Wiki.html -#--------------------------- -"all"=="Wszystkim" -"admin"=="Administrator" -"Submit"=="WyÅ›lij" -"Preview"=="PodglÄ…d" -"Discard"=="Odrzuć" -"Show"=="Pokaż" -"Compare"=="Porównaj" -(only granted to admin)==(dozwolone tylko dla administratora) -Index -==Indeks - -Grant Write Access to==Przyznaj dostÄ™p do zapisu -Edit==Edytuj -Author:==Autor: -Text:==Tekst: -Preview==PodglÄ…d -No changes have been submitted so far!==Nie przesÅ‚ano jeszcze żadnych zmian! -Index==Indeks -Subject==Temat -Change Date==Data zmiany -Last Author==Ostatni autor -Start Page==Strona startowa -Versions==Wersje -Compare version from==Porównaj wersjÄ™ z -with version from==z wersjÄ… z -Error==Błąd -You can use==Możesz tutaj użyć -Changes will be published as announcement on YaCyNews==Zmiany zostanÄ… opublikowane jako ogÅ‚oszenie w YaCyNews -#----------------------------- - -#File: WikiHelp.html +#File: WikiCodeHelp.html #--------------------------- Wiki-Code==Kod wiki -This table contains a short description of the tags that can be used in the Wiki and several other servlets==Ta tabela zawiera krótki opis tagów, których można używać w wiki oraz w kilku innych serwletach of YaCy. For a more detailed description visit the==YaCy. Aby uzyskać bardziej szczegółowy opis, odwiedź Code==Kod Description==Opis @@ -3952,7 +3734,6 @@ These tags create a definition list.==Te tagi tworzÄ… listÄ™ definicji. This tag creates a horizontal line.==Ten tag tworzy poziomÄ… liniÄ™. [[pagename]]==[[nazwastrony]] [[pagename|description]]==[[nazwastrony|opis]] -This tag creates links to other pages of the wiki.==Ten tag tworzy linki do innych stron wiki. [url]==[URL] [url description]==[URL opis] This tag creates links to external websites.==Ten tag tworzy linki do zewnÄ™trznych stron internetowych. @@ -4277,7 +4058,6 @@ Outgoing News==WychodzÄ…ce aktualnoÅ›ci Published News==Opublikowane aktualnoÅ›ci Community Data==Dane spoÅ‚ecznoÅ›ci Surftips==Porady surfowania -Local Peer Wiki==Lokalne wiki peera Bookmarks==ZakÅ‚adki #----------------------------- @@ -4288,7 +4068,6 @@ Advanced Settings==Ustawienia zaawansowane Performance Settings of Busy Queues==Ustawienia wydajnoÅ›ci zajÄ™tych kolejek Viewer and administration for database tables==PrzeglÄ…darka i administracja tabelami bazy danych Advanced Properties==Zaawansowana konfiguracja -UI Translations==TÅ‚umaczenia interfejsu #----------------------------- #File: env/templates/submenuCrawlMonitor.template @@ -4396,13 +4175,6 @@ User Profile==Profil użytkownika Local robots.txt==Lokalny robots.txt #----------------------------- -#File: env/templates/submenuPublication.template -#--------------------------- -Publication==Publikacja -Wiki==Wiki -Blog==Blog -#----------------------------- - #File: env/templates/submenuRanking.template #--------------------------- Ranking and Heuristics==Ranking i heurystyki @@ -4549,14 +4321,6 @@ Get the latest Java Plug-in here.==Pobierz najnowszÄ… wtyczkÄ™ Java tutaj. Built with Processing==Zbudowany z przetwarzaniem #----------------------------- -#File: proxymsg/authfail.inc -#--------------------------- -"login"=="Zaloguj" -Your Username/Password is wrong.==Twoja nazwa użytkownika/hasÅ‚o sÄ… nieprawidÅ‚owe. -Username==Nazwa użytkownika -Password==HasÅ‚o -#----------------------------- - #File: proxymsg/error.html #--------------------------- YaCy: Error Message==YaCy: Komunikat o błędzie diff --git a/locales/ru.lng b/locales/ru.lng index 632d999a1..26590f48f 100644 --- a/locales/ru.lng +++ b/locales/ru.lng @@ -186,54 +186,6 @@ DHT==DHT News==ÐовоÑти Proxy==ПрокÑи The tested URL was not valid.==ПротеÑтированный URL недейÑтвителен. -#File: Blog.html -Edit==Изменить -Text:==ТекÑÑ‚: -#--------------------------- -Blog-Home==ДомашнÑÑ Ñтраница блога -Author:==Ðвтор: -Subject:==Тема: -Comments:==Комментарии: -deactivated==отключить -moderated==проверено -"Submit"=="Отправить" -"Preview"=="Предварительный проÑмотр" -"Discard"=="Отменить" -No changes have been submitted so far!==Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ðµ были произведены! -Access denied==ДоÑтуп запрещен -To edit or create blog-entries you need to be logged in as Admin or User who has Blog rights.==Чтобы изменить или Ñоздать блог, вы должны быть зарегиÑтрированы в качеÑтве админиÑтратора или пользователÑ, который имеет необходимые права. -Confirm deletion==Подтвердить удаление -Import was successful!==Импорт завершен уÑпешно! -Import failed, maybe the supplied file was no valid blog-backup?==Ðе удалоÑÑŒ импортировать, может быть, поÑтавлÑемый файл не был резервной копией? -Please select the XML-file you want to import:==ПожалуйÑта, выберите XML-фаил, который вы импортируете: -#----------------------------- - -"RSS"=="RSS" -"Yes, delete it."=="Да, удалите." -"No, leave it."=="Ðет, оÑтавить." -"Import"=="Импорт" -<< previous entries==<< предыдущие запиÑи -next entries >>==Ñледующие запиÑи >> -activated==активирован -Preview==Предварительный проÑмотр -Are you sure...==Ð’Ñ‹ уверены... -XML-Import==XML-Импорт -#File: BlogComments.html -Comments:==Комментарии: -Text:==ТекÑÑ‚: -#--------------------------- -Blog-Home==ДомашнÑÑ Ñтраница блога -Author:==Ðвтор: -Subject:==Тема: -"Submit"=="Отправить" -"Preview"=="Предварительный проÑмотр" -"Discard"=="Отменить" -#----------------------------- - -<< previous entries==<< предыдущие запиÑи -next entries >>==Ñледующие запиÑи >> -Comments are not allowed for this posting!==Комментарии к Ñтой публикации запрещены! -Comment on this Blog==Комментировать Ñтот блог #File: Bookmarks.html "Save"=="Сохранить" URL:==по ÑÑылке: @@ -314,45 +266,11 @@ Search Result==Результат поиÑка loading....==загрузка.... #File: ConfigAccounts_p.html -Username==Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ #--------------------------- -User Accounts==Учётные запиÑи пользователей -User Administration==Учётные запиÑи -Generic error.==ÐžÐ±Ñ‰Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°. Passwords do not match.==Пароли не Ñовпадают. -Username too short. Username must be >= 4 Characters.==Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ñлишком короткое. Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð¾Ð»Ð¶Ð½Ð¾ быть не меньше 4 Ñимволов. Admin Account==Ð£Ñ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ админиÑтратора -Access from localhost without account==ДоÑтуп Ñо Ñвоего компьютера возможен без учётной запиÑи. -Access only with qualified account==ДоÑтуп только Ñ ÐºÐ²Ð°Ð»Ð¸Ñ„Ð¸Ñ†Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð¾Ð¹ учётной запиÑи -Peer User:==Пользователь узла: -New Peer Password:==Ðовый пароль узла: -Repeat Peer Password:==Повторите пароль узла: -"Define Administrator"=="Ðазначить админиÑтратором" -Protection of all pages: if set to on, access to all pages need authorization; if off, only pages with "_p" extension are protected.==Защита вÑех Ñтраниц: еÑли включено, то Ð´Ð»Ñ Ð´Ð¾Ñтупа ко вÑем Ñтраницам требуетÑÑ Ð°Ð²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ; еÑли выключено, то защищены только Ñтраницы Ñ Ð¿Ñ€ÐµÑ„Ð¸ÐºÑом "_p". -Select user==Выбрать Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ -New user==Ðовый пользователь -Repeat password==Повторите пароль -First name==Ð˜Ð¼Ñ -Last name==Ð¤Ð°Ð¼Ð¸Ð»Ð¸Ñ -Address==ÐÐ´Ñ€ÐµÑ -Timelimit==Лимит времени -Time used==Ð’Ñ€ÐµÐ¼Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ #----------------------------- -"Set Access Rules"=="УÑтановить правила доÑтупа" -"Edit User"=="Изменить пользователÑ" -"Delete User"=="Удалить пользователÑ" -"Save User"=="Сохранить пользователÑ" -Username already used (not allowed).==Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ ÑƒÐ¶Ðµ иÑпользовано (не разрешено). -<b>WARNING</b> This YaCy instance can be administered with the account "admin" and the default password "yacy".==<b>WARNING</b> Ðтот ÑкземплÑÑ€ YaCy можно админиÑтрировать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ учетной запиÑи «admin» и Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¿Ð¾ умолчанию «yacy». -Change the password as soon as possible!==Смените пароль как можно Ñкорее! -Access to your peer from your own computer (localhost access) is granted with administrator rights. No need to configure an administration account.==ДоÑтуп к вашему узлу Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ ÑобÑтвенного компьютера (доÑтуп локального хоÑта) предоÑтавлÑетÑÑ Ñ Ð¿Ñ€Ð°Ð²Ð°Ð¼Ð¸ админиÑтратора. Ðет необходимоÑти наÑтраивать учетную запиÑÑŒ админиÑтратора. -This setting is convenient but less secure than using a qualified admin account.==Ðтот параметр удобен, но менее безопаÑен, чем иÑпользование квалифицированной учетной запиÑи админиÑтратора. -Please use with care, notably when you browse untrusted and potentially malicious websites while running your YaCy peer on the same computer.==ИÑпользуйте его Ñ Ð¾ÑторожноÑтью, оÑобенно при проÑмотре ненадежных и потенциально вредоноÑных веб-Ñайтов при запуÑке узла YaCy на том же компьютере. -This is required if you want a remote access to your peer, but it also hardens access controls on administration operations of your peer.==Ðто необходимо, еÑли вам нужен удаленный доÑтуп к вашему узлу, но Ñто также ужеÑточает контроль доÑтупа к админиÑтративным операциÑм вашего узла. -Access Rules==Правила доÑтупа -Password==Пароль -Rights:==Права: #File: ConfigAppearance_p.html Text==ТекÑÑ‚ #--------------------------- @@ -798,7 +716,6 @@ Status page==СоÑтоÑнию Ñтраницы Network pages==Страницам Ñети Surftips==ПодÑказкам News pages==Страницам новоÑтей -Blog==Блогу Public bookmarks==Публичным закладкам Home Page==Домашней Ñтранице File Share==Общим файлам @@ -812,7 +729,6 @@ Unable to access the local file:==Ðевозможно получить доÑÑ‚ Deletion of==Удаление htroot/robots.txt==htroot/robots.txt failed==неуÑпешный -Wiki==Вики #File: ConfigSearchBox.html #--------------------------- Integration of a Search Box==Ð˜Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ð¸Ñка @@ -2042,7 +1958,6 @@ Network History==ИÑÑ‚Ð¾Ñ€Ð¸Ñ Ñети <b>Count of all Active Peers Per Week</b> in the last 30d, scale = 7d==<b>ЧиÑло вÑех активных узлов в неделю</b> за поÑледние 30 дней, маÑштаб = 7 дней <b>Count of all Active Peers Per Month</b> in the last 365d, scale = 30d==<b>ЧиÑло вÑех активных узлов в меÑÑц</b> за поÑледний год, маÑштаб = 30 дней Manually contacting Peer==Ручное подключение узла -send <strong>M</strong>essage/<br/>show <strong>P</strong>rofile/<br/>edit <strong>W</strong>iki/<br/>browse <strong>B</strong>log==Отправить Ñообщение (<strong>m</strong>)/<br/>Смотреть профиль (<strong>p</strong>)/<br/>Читать Wiki (<strong>w</strong>)/<br/>Блог (<strong>b</strong>) Search for a peername (RegExp allowed)==ПоиÑк узла по имени (разрешены регулÑрные выражениÑ) "Search"=="ПоиÑк" Name==Ð˜Ð¼Ñ @@ -2097,8 +2012,6 @@ this peer==Ваш узел "Type: Principal | Contact: offline | Seed download: ?"=="Тип: Директор | Контакт: оффлайн | Загрузка ÑемÑн: ?" "Principal offline"=="Директор оффлайн" "Profile updated"=="Профиль обновлен" -"Wiki updated"=="Вики обновлена" -"Blog updated"=="Блог обновлен" "Crawl"=="Сканировать" "Type: Virgin"=="Тип: ДевÑтвенница" "Virgin"=="ДевÑтвенник" @@ -2191,7 +2104,6 @@ Attributes==Ðттрибуты "Processed News"=="Обработанные новоÑти" "Outgoing News"=="ИÑходÑщие новоÑти" "Published News"=="Опубликованные новоÑти" -Publishing of added or modified translation for the user interface. Other peers may include it in their local translation list.==ÐŸÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð½Ð¾Ð³Ð¾ или измененного перевода пользовательÑкого интерфейÑа. Другие узлы могут включить его в Ñвой локальный ÑпиÑок переводов. More news services will follow.==За Ñтим поÑледуют и другие новоÑтные Ñлужбы. #File: Performance_p.html "Save"=="Сохранить" @@ -2659,14 +2571,9 @@ Proxy Access Settings==ÐаÑтройки доÑтупа к прокÑи These settings configure the access method to your own http proxy and server.==ЗдеÑÑŒ вы можете наÑтроить доÑтуп к вашему http-прокÑи и Ñерверу. All traffic is routed through one single port, for both proxy and server.==ВеÑÑŒ трафик направлÑетÑÑ Ð½Ð° один порт Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐºÑи и Ñервера. Server Access Restrictions==ÐžÐ³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ñтупа к Ñерверу -You can restrict the access to this proxy/server using a two-stage security barrier:==Ð’Ñ‹ можете ограничить доÑтуп к Ñвоему прокÑи/Ñерверу иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð´Ð²ÑƒÑ…ÑƒÑ€Ð¾Ð²Ð½ÐµÐ²Ñ‹Ð¹ барьер: define an <em>access domain</em> with a list of granted client IP-numbers or with wildcards==уÑтановить <em>доÑтуп к домену</em> ÑпиÑком предоÑтавленных клиенту IP-адреÑа или Ñимволов -define an <em>user account</em> with an user:password - pair==уÑтановить <em>учётную запиÑÑŒ пользователÑ</em> Ñ Ð»Ð¾Ð³Ð¸Ð½Ð¾Ð¼ и паролем -This is the account that restricts access to the proxy function.==Ð¢Ð°ÐºÐ°Ñ ÑƒÑ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ будет иметь ограниченный доÑтуп к функциÑм прокÑи. 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.==IP-Ð°Ð´Ñ€ÐµÑ Ð²Ð°ÑˆÐµÐ¹ локальной Ñети в фильтре ниже. -The default setting should be right in most cases. If you want, you can also set a proxy account==ÐаÑтройки по-умолчанию подходÑÑ‚ в большинÑтве Ñлучаев. Ð’Ñ‹ также можете уÑтановить учётную запиÑÑŒ прокÑи -so that every proxy user must authenticate first, but this is rather unusual.==, чтобы Ñначала авторизовывалÑÑ ÐºÐ°Ð¶Ð´Ñ‹Ð¹ пользователь прокÑи. Обычно Ñто не практикуетÑÑ. IP-Number filter==Фильтр IP-адреÑов #----------------------------- @@ -3181,32 +3088,6 @@ YaCy Debugging: Thread Dump==Oтладка YaCy: Дамп потока #----------------------------- Threaddump==Треддамп -#File: User.html -#--------------------------- -User Page==Страница Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ -Username:==Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ: -"login"=="логин" -old Password==Ñтарый пароль -new Password(repetition)==новый пароль повторно -"Change"=="Изменить" -You are currently logged in as admin.==Ð’Ñ‹ зашли как админиÑтратор. -(after logout you will be prompted for your password again. simply click "cancel")==(поÑле выхода необходимо ввеÑти пароль повторно.) -Password was changed.==Пароль был изменен. -Old Password is wrong.==Старый пароль неправильный. -New Password and its repetition do not match.==Ðовый пароль не Ñовпадает Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð¾Ð¼. -New Password is empty.==Ðовый пароль пуÑтой. -#----------------------------- - -"logout"=="выход из ÑиÑтемы" -"red bar"=="краÑÐ½Ð°Ñ Ð¿Ð¾Ð»Ð¾Ñа" -"green bar"=="Ð·ÐµÐ»ÐµÐ½Ð°Ñ Ð¿Ð¾Ð»Ð¾Ñа" -You are not logged in.==Ð’Ñ‹ не вошли в ÑиÑтему. -Password:==Пароль: -(Identified by==(Идентифицировано -IP==IP -Username/Password==Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ/Password -Cookie==печенье -new Password==Ðовый пароль #File: ViewFile.html Description:==ОпиÑание: URL:==по ÑÑылке: @@ -3454,41 +3335,9 @@ Line==Ð›Ð¸Ð½Ð¸Ñ Pivot Dot==ÐŸÐ¾Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð°Ñ Ñ‚Ð¾Ñ‡ÐºÐ° Other Dot==Ð”Ñ€ÑƒÐ³Ð°Ñ Ñ‚Ð¾Ñ‡ÐºÐ° Dot-end==точка-конец -#File: Wiki.html -Edit==Изменить -Text:==ТекÑÑ‚: -#--------------------------- -Grant Write Access to==Разрешено веÑти запиÑÑŒ -# !!! Do not translate the input buttons because that breaks the function to switch rights !!! -Start Page==Ð¡Ñ‚Ð°Ñ€Ñ‚Ð¾Ð²Ð°Ñ Ñтраница -Index==Ð˜Ð½Ð´ÐµÐºÑ -Versions==ВерÑии -Author:==Ðвтор: -You can use==Ð’Ñ‹ можете иÑпользовать -"Submit"=="Сохранить" -"Preview"=="ПредпроÑмотр" -"Discard"=="Отменить" -No changes have been submitted so far!==Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ðµ были произведены! -Subject==Тема -Change Date==Дата Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ -Last Author==ПоÑледний автор -Compare version from==Сравнить верÑию из -"Show"=="Показать" -with version from==Ñ Ð²ÐµÑ€Ñией из -"Compare"=="Сравнить" -Changes will be published as announcement on YaCyNews==Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ опубликованы в виде Ñообщений YaCy. -#----------------------------- - -"all"=="вÑе" -"admin"=="админиÑтратор" -(only granted to admin)==(предоÑтавлено только админиÑтратору) -Index -==Ð˜Ð½Ð´ÐµÐºÑ - -Preview==Предварительный проÑмотр -Error==Ошибка -#File: WikiHelp.html +#File: WikiCodeHelp.html #--------------------------- Wiki-Code==Wiki-код -This table contains a short description of the tags that can be used in the Wiki and several other servlets==Ðта таблица Ñодержит короткое опиÑание Ñ‚Ñгов, которые могут быть иÑпользованы в wiki и в некоторых других Ñервлетах of YaCy. For a more detailed description visit the==в YaCy. ЕÑли вам необходимо более детальное опиÑание Ñ‚Ñгов, то поÑетите Code==Код Description==ОпиÑание @@ -3499,7 +3348,6 @@ These tags create a numbered list.==Ðти Ñ‚Ñги Ñоздают пронумРThese tags create an unnumbered list.==Ðти Ñ‚Ñги Ñоздают ненумерованный ÑпиÑок. These tags create a definition list.==Ðти Ñ‚Ñги Ñоздают ÑпиÑок определений. This tag creates a horizontal line.==Ðтот Ñ‚Ñг Ñоздаёт горизонтальную линию. -This tag creates links to other pages of the wiki.==Ðтот Ñ‚Ñг Ñоздаёт ÑÑылки на другие Ñтраницы Wiki. This tag displays an image, it can be aligned left, right or center.==Ðтот Ñ‚Ñг Ñлужит Ð´Ð»Ñ Ð¿Ð¾ÐºÐ°Ð·Ð° изображениÑ, которое может быть выровнено по правую Ñторону, по левую или по центру. This tag displays a Youtube or Vimeo video with the id specified and fixed width 425 pixels and height 350 pixels.==Ðтот Ñ‚Ñг Ñлужит Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾ Ñ Youtube или Vimeo Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¼ идентификатором и заданной шириной 425 пикÑелей и выÑотой 350 пикÑелей. These tags create a table, whereas the first marks the beginning of the table, the second starts==Ðти Ñ‚Ñги Ñоздают таблицу, где первые знаки начинают таблицу, вторые начинают @@ -3788,7 +3636,6 @@ Search Sequence==ПоÑледовательноÑть поиÑка Messages==Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Community Data==Данные ÑообщеÑтва Surftips==Советы -Local Peer Wiki==Локальный пир вики Bookmarks==Закладки #File: env/templates/submenuCrawler.template #----------------------------- @@ -3807,7 +3654,6 @@ Viewer and administration for database tables==ПроÑмотр и управлРPerformance Settings of Busy Queues==ÐаÑтройки производительноÑти #----------------------------- -UI Translations==Переводы пользовательÑкого интерфейÑа #File: env/templates/submenuDesign.template #--------------------------- Search Page Layout==Макет Ñтраницы поиÑка @@ -3915,13 +3761,6 @@ Mass Crawl Check==МаÑÑÐ¾Ð²Ð°Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ° индекÑÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Regex Test==ТеÑÑ‚ регулÑрного Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ #----------------------------- -#File: env/templates/submenuPublication.template -Blog==Блогу -#--------------------------- -Publication==Публикации -#----------------------------- - -Wiki==Вики #File: env/templates/submenuWebStructure.template #--------------------------- Web Visualization==ПроÑмотр индекÑа @@ -3930,14 +3769,6 @@ Image Collage==Коллаж изображений Index Browser==ПроÑмотр хоÑтов #----------------------------- -#File: proxymsg/authfail.inc -Username==Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ -#--------------------------- -Your Username/Password is wrong.==Логин и/или пароль неверный. -"login"=="логин" -#----------------------------- - -Password==Пароль #File: proxymsg/error.html #--------------------------- YaCy: Error Message==YaCy: Сообщение об ошибке @@ -3993,42 +3824,6 @@ Shallow crawl depth (0 to 2):==ÐœÐ°Ð»Ð°Ñ Ð³Ð»ÑƒÐ±Ð¸Ð½Ð° ÑÐºÐ°Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Deep crawl depth (1 to 5):==Глубина глубокого ÑÐºÐ°Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ (от 1 до 5): Index text:==ИндекÑный текÑÑ‚: Index media:==ИндекÑные СМИ: -#File: ConfigAccountList_p.html -#--------------------------- -Address==ÐÐ´Ñ€ÐµÑ -First name==Ð˜Ð¼Ñ -Last name==Ð¤Ð°Ð¼Ð¸Ð»Ð¸Ñ -Time==Дата и Ð²Ñ€ÐµÐ¼Ñ -User Accounts==Учётные запиÑи пользователей -#----------------------------- - -User List==СпиÑок пользователей -User==Пользователь -Last Access==ПоÑледний доÑтуп -Rights==Права -Traffic==Трафик -#File: ConfigUser_p.html -#--------------------------- -Address==ÐÐ´Ñ€ÐµÑ -First name==Ð˜Ð¼Ñ -Generic error.==ÐžÐ±Ñ‰Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°. -Last name==Ð¤Ð°Ð¼Ð¸Ð»Ð¸Ñ -Passwords do not match.==Пароли не Ñовпадают. -Repeat password==Повторите пароль -Time used==Ð’Ñ€ÐµÐ¼Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ -Timelimit==Лимит времени -Username==Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ -Username too short. Username must be >= 4 Characters.==Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ñлишком короткое. Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð¾Ð»Ð¶Ð½Ð¾ быть не меньше 4 Ñимволов. -#----------------------------- - -"Save User"=="Сохранить пользователÑ" -"Delete User"=="Удалить пользователÑ" -"ConfigAccountList_p.html"=="ConfigAccountList_p.html" -User Account Editor==Редактор учетных запиÑей пользователей -Username already used (not allowed).==Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ ÑƒÐ¶Ðµ иÑпользовано (не разрешено). -Password==Пароль -Rights:==Права: -back to user list==вернутьÑÑ Ðº ÑпиÑку пользователей #File: CrawlMonitorRemoteStart.html #--------------------------- Depth==Глубина @@ -4127,14 +3922,6 @@ Date:==Дата: Message:==Сообщение: Action:==ДейÑтвие: inbox==входÑщие -#File: TransNews_p.html -#--------------------------- -"negative vote"=="Ðе понравилоÑÑŒ" -"positive vote"=="ПонравилоÑÑŒ" -File:==Файл: -Originator==Инициатор -#----------------------------- - "Publish"=="Публиковать" You can share your local addition to translations and distribute it to other peers.==Ð’Ñ‹ можете поделитьÑÑ Ñвоим локальным дополнением к переводам и раÑпроÑтранить его Ñреди других коллег. The remote peer can vote on your translation and add it to its own local translation.==Удаленный узел может проголоÑовать за ваш перевод и добавить его к Ñвоему локальному переводу. @@ -4530,23 +4317,18 @@ Save RAG Settings==Сохраните наÑтройки RAG "Reset to defaults settings"=="Ð¡Ð±Ñ€Ð¾Ñ Ðº наÑтройкам по умолчанию" limitations==Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Local Search access rate limitations==ÐžÐ³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ ÑкороÑти доÑтупа к локальному поиÑку -You can configure here limitations on access rate to this peer search interface by unauthenticated users and users without extended search right==ЗдеÑÑŒ вы можете наÑтроить Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð½Ð° ÑкороÑть доÑтупа к Ñтому интерфейÑу однорангового поиÑка Ð´Ð»Ñ Ð½ÐµÐ°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸Ñ†Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… пользователей и пользователей без права раÑширенного поиÑка. YaCy search==YaCy поиÑк Access rate limitations to this peer search interface.==ÐžÐ³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ ÑкороÑти доÑтупа к Ñтому интерфейÑу поиÑка одноранговых узлов. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search is blocked.==Когда пользователь Ñ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð½Ñ‹Ð¼Ð¸ правами (не прошедший аутентификацию или не имеющий права раÑширенного поиÑка) превышает лимит, поиÑк блокируетÑÑ. Max searches in 3s==МакÑ. поиÑк за 3 Ñ. Max searches in 1mn==МакÑимальное количеÑтво поиÑков за 1 минуту Max searches in 10mn==МакÑ. поиÑк за 10 минут Peer-to-peer search==Одноранговый поиÑк Access rate limitations to the peer-to-peer search mode.==ÐžÐ³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ ÑкороÑти доÑтупа в режиме однорангового поиÑка. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search scope falls back to only this local peer index.==Когда пользователь Ñ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð½Ñ‹Ð¼Ð¸ правами (не прошедший проверку подлинноÑти или без права раÑширенного поиÑка) превышает ограничение, облаÑть поиÑка возвращаетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ к Ñтому локальному индекÑу узла. Max searches in 10mn==МакÑ. поиÑк за 10 минут Peer-to-peer search with JavaScript results resorting==Одноранговый поиÑк Ñ Ñортировкой результатов JavaScript Access rate limitations to the peer-to-peer search mode with browser-side JavaScript results resorting enabled==ÐžÐ³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ ÑкороÑти доÑтупа в режиме однорангового поиÑка Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ð¾Ð¹ Ñортировкой результатов JavaScript на Ñтороне браузера -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, results resorting becomes only applicable on demand, server-side.==Когда пользователь Ñ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð½Ñ‹Ð¼Ð¸ правами (не прошедший аутентификацию или не имеющий права раÑширенного поиÑка) превышает лимит, Ñортировка результатов ÑтановитÑÑ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ð¼Ð¾Ð¹ только по запроÑу на Ñтороне Ñервера. Remote snippet load==Ð£Ð´Ð°Ð»ÐµÐ½Ð½Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° фрагмента Limitations on snippet loading from remote websites.==ÐžÐ³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð½Ð° загрузку фрагментов Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð½Ñ‹Ñ… Ñайтов. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the snippets fetch strategy falls back to 'CACHEONLY'==Когда пользователь Ñ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð½Ñ‹Ð¼Ð¸ правами (не прошедший проверку подлинноÑти или без права раÑширенного поиÑка) превышает лимит, ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ Ð²Ñ‹Ð±Ð¾Ñ€ÐºÐ¸ фрагментов возвращаетÑÑ Ðº «CACHEONLY». Max searches in 3s==МакÑ. поиÑк за 3 Ñ. <em id="changeInfo">Changes will take effect immediately.</em>==<em id="changeInfo">Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²ÑтупÑÑ‚ в Ñилу немедленно.</em> #----------------------------- @@ -4671,18 +4453,6 @@ Save Tools Configuration==Сохранить конфигурацию инÑтр CyTag Trails==CyTag Тропы #----------------------------- -#File: Translator_p.html -#--------------------------- -"Save translation"=="Сохранить перевод" -Translation Editor==Редактор перевода -Translate untranslated text of the user interface (current language). The modified translation file is stored in DATA/LOCALE directory.==ПеревеÑти непереведенный текÑÑ‚ пользовательÑкого интерфейÑа (текущий Ñзык). Модифицированный файл перевода хранитÑÑ Ð² каталоге DATA/LOCALE. -UI Translation==Перевод пользовательÑкого интерфейÑа -Source File==ИÑходный файл -view it==проÑмотреть Ñто -filter untranslated==фильтровать непереведенные -Source Text==ИÑходный текÑÑ‚ -#----------------------------- - #File: VFS.html #--------------------------- "File system browser"=="Браузер файловой ÑиÑтемы" diff --git a/locales/sk.lng b/locales/sk.lng index 12d13c2e2..175668648 100644 --- a/locales/sk.lng +++ b/locales/sk.lng @@ -336,54 +336,6 @@ An error occurred while editing the following entries. Please check syntax.==Pri Activate this list for ...==Aktivujte tento zoznam pre... #----------------------------- -#File: Blog.html -#--------------------------- -"RSS"=="RSS" -"Submit"=="OdoslaÅ¥" -"Preview"=="Ukážka" -"Discard"=="ZahodiÅ¥" -"Yes, delete it."=="Ãno, vymazaÅ¥." -"No, leave it."=="Nie, nechaj tak." -"Import"=="ImportovaÅ¥" -<< previous entries==<< predchádzajúce položky -next entries >>==ÄalÅ¡ie záznamy >> -Blog-Home==Blog-Domovska stranka -Edit==Edituj -Author:==Autor: -Subject:==Titul: -Text:==Text: -Comments:==Komentáre: -deactivated==deaktivovaný -activated==aktivovaný -moderated==moderované -Preview==Ukážka -No changes have been submitted so far!==Ziadne zmeny este neboli vytvorene! -Access denied==Pristup zakazany -To edit or create blog-entries you need to be logged in as Admin or User who has Blog rights.==Na editaciu alebo vytvorenie blogu musite byt prihlaseny ako Admin alebo ako User s blog-pravami. -Are you sure...==Si si istý... -Confirm deletion==PotvrÄte vymazanie -XML-Import==XML-Import -Import was successful!==Import bol úspeÅ¡ný! -Import failed, maybe the supplied file was no valid blog-backup?==Import zlyhal. Skutocne je importovany subor block-backup subor? -Please select the XML-file you want to import:==Prosim zvolte XML subor ktory chcete importovat: -#----------------------------- - -#File: BlogComments.html -#--------------------------- -"Submit"=="OdoslaÅ¥" -"Preview"=="Ukážka" -"Discard"=="ZahodiÅ¥" -Blog-Home==Blog-Domovska stranka -Comments:==Komentáre: -<< previous entries==<< predchádzajúce položky -next entries >>==ÄalÅ¡ie záznamy >> -Comments are not allowed for this posting!==K tomuto prÃspevku nie sú povolené komentáre! -Comment on this Blog==Komentujte tento blog -Author:==Autor: -Subject:==Titul: -Text:==Text: -#----------------------------- - #File: Bookmarks.html #--------------------------- "RSS"=="RSS" @@ -451,58 +403,10 @@ Private Queue==Súkromný rad Public Queue==Verejná fronta #----------------------------- -#File: ConfigAccountList_p.html -#--------------------------- -User List==Zoznam použÃvateľov -User Accounts==PoužÃvateľské úÄty -User==PoužÃvateľ -First name==Krstné meno -Last name==Priezvisko -Address==Adresa -Last Access==Posledný prÃstup -Rights==práva -Time==ÄŒas -Traffic==Doprava -#----------------------------- - #File: ConfigAccounts_p.html #--------------------------- -"Define Administrator"=="Definujte správcu" -"Set Access Rules"=="Nastavte pravidlá prÃstupu" -"Edit User"=="UpraviÅ¥ použÃvateľa" -"Delete User"=="OdstrániÅ¥ použÃvateľa" -"Save User"=="UložiÅ¥ použÃvateľa" -User Administration==Správa použÃvateľov -Generic error.==VÅ¡eobecná chyba. Passwords do not match.==Heslá sa nezhodujú. -Username too short. Username must be >= 4 Characters.==PoužÃvateľské meno je prÃliÅ¡ krátke. PoužÃvateľské meno musà maÅ¥ >= 4 znaky. -Username already used (not allowed).==PoužÃvateľské meno sa už použÃva (nie je povolené). -<b>WARNING</b> This YaCy instance can be administered with the account "admin" and the default password "yacy".==<b>WARNING</b> Túto inÅ¡tanciu YaCy možno spravovaÅ¥ pomocou úÄtu „admin“ a predvoleného hesla „yacy“. -Change the password as soon as possible!==Zmeňte heslo Äo najskôr! Admin Account==ÚÄet správcu -Access from localhost without account==PrÃstup z localhost bez úÄtu -Access to your peer from your own computer (localhost access) is granted with administrator rights. No need to configure an administration account.==PrÃstup k vášmu partnerovi z vášho vlastného poÄÃtaÄa (lokálny prÃstup) je udelený s právami správcu. Nie je potrebné konfigurovaÅ¥ správcovský úÄet. -This setting is convenient but less secure than using a qualified admin account.==Toto nastavenie je pohodlné, ale menej bezpeÄné ako použÃvanie úÄtu kvalifikovaného správcu. -Please use with care, notably when you browse untrusted and potentially malicious websites while running your YaCy peer on the same computer.==PoužÃvajte ho opatrne, najmä keÄ prehliadate nedôveryhodné a potenciálne Å¡kodlivé webové stránky a zároveň použÃvate YaCy partnera na rovnakom poÄÃtaÄi. -Access only with qualified account==PrÃstup len s kvalifikovaným úÄtom -This is required if you want a remote access to your peer, but it also hardens access controls on administration operations of your peer.==Vyžaduje sa to, ak chcete vzdialený prÃstup k svojmu partnerovi, ale zároveň to sprÃsňuje riadenie prÃstupu k operáciám správy vášho partnera. -Peer User:==Peer užÃvateľ: -New Peer Password:==Nové heslo partnera: -Repeat Peer Password:==OpakovaÅ¥ heslo partnera: -Access Rules==Pravidlá prÃstupu -Protection of all pages: if set to on, access to all pages need authorization; if off, only pages with "_p" extension are protected.==Ochrana vÅ¡etkých stránok: ak je zapnutá, prÃstup na vÅ¡etky stránky vyžaduje autorizáciu; ak je vypnuté, chránené sú iba stránky s prÃponou „_p“. -User Accounts==PoužÃvateľské úÄty -Select user==Vyberte použÃvateľa -New user==Nový použÃvateľ -Username==PoužÃvateľské meno -Password==heslo -Repeat password==Zopakujte heslo -First name==Krstné meno -Last name==Priezvisko -Address==Adresa -Rights:==práva: -Timelimit==ÄŒasový limit -Time used==Využitý Äas #----------------------------- #File: ConfigAppearance_p.html @@ -880,8 +784,6 @@ Status page==Stavová stránka Network pages==SieÅ¥ové stránky Surftips==Tipy na surfovanie News pages==Spravodajské stránky -Blog==Blog -Wiki==Wiki Public bookmarks==Verejné záložky Home Page==Domovská stránka File Share==Zdieľanie súborov @@ -1041,28 +943,6 @@ manual update:<br/>apt-get update && apt-get install yacy==manuálna akt automatic update: add the following line to /etc/crontab<br/>0 6 * * * root apt-get update && apt-get -y --force-yes install yacy==automatická aktualizácia: pridajte nasledujúci riadok do /etc/crontab<br/>0 6 * * * aktualizácia root apt-get && apt-get -y --force-yes install yacy #----------------------------- -#File: ConfigUser_p.html -#--------------------------- -"Save User"=="UložiÅ¥ použÃvateľa" -"Delete User"=="OdstrániÅ¥ použÃvateľa" -"ConfigAccountList_p.html"=="ConfigAccountList_p.html" -User Account Editor==Editor použÃvateľských úÄtov -Generic error.==VÅ¡eobecná chyba. -Passwords do not match.==Heslá sa nezhodujú. -Username too short. Username must be >= 4 Characters.==PoužÃvateľské meno je prÃliÅ¡ krátke. PoužÃvateľské meno musà maÅ¥ >= 4 znaky. -Username already used (not allowed).==PoužÃvateľské meno sa už použÃva (nie je povolené). -Username==PoužÃvateľské meno -Password==heslo -Repeat password==Zopakujte heslo -First name==Krstné meno -Last name==Priezvisko -Address==Adresa -Rights:==práva: -Timelimit==ÄŒasový limit -Time used==Využitý Äas -back to user list==späť na zoznam použÃvateľov -#----------------------------- - #File: Connections_p.html #--------------------------- Server Connection Tracking==Sledovanie pripojenia k serveru @@ -2469,8 +2349,6 @@ inbox==doruÄenej poÅ¡ty "DHT Receive: yes"=="DHT PrÃjem: áno" "DHT receive enabled"=="PrÃjem DHT je povolený" "Profile updated"=="Profil bol aktualizovaný" -"Wiki updated"=="Wiki bola aktualizovaná" -"Blog updated"=="Blog bol aktualizovaný" "Crawl"=="PrehľadávaÅ¥" "The YaCy Network"=="SieÅ¥ YaCy" "Type: Virgin"=="Typ: panenský" @@ -2516,7 +2394,6 @@ Received DHT<br/>Word Chunks==Prijaté Äasti DHT<br/>Word Received<br/>URLs==Prijaté <br/>URL adresy Location==Miesto user agent<br/>==použÃvateľský agent<br/> -send <strong>M</strong>essage/<br/>show <strong>P</strong>rofile/<br/>edit <strong>W</strong>iki/<br/>browse <strong>B</strong>log==odoslaÅ¥ <strong>s</strong>právu/<br/>zobraziÅ¥ <strong>p</strong>rofil/<br/>upraviÅ¥ <strong>W</strong>iki/<br/>prehliadaÅ¥ <strong>b</strong>log Network==sieÅ¥ Online Peers==Online rovesnÃci Number of<br/>Documents==PoÄet <br/>dokumentov @@ -2587,7 +2464,6 @@ 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==Tabulka s prave odstartovanymi procesmi preliezania (crawls) je zobrazena na stranke "Vytvor index". A change in the personal profile will create a news entry. You can see recently made changes of==Zmena v profile sposobi vytvorenie zaznamu v spravach. Posledne vykonane zmeny profile entries on the Network page, where that profile change is visualized with a '*' beside the 'P' (profile) - selector.==v profiloch mozete vidiet na stranke "Siet" kde su tieto profily oznacene hviezdickou '*' vedla 'P' (profil). -Publishing of added or modified translation for the user interface. Other peers may include it in their local translation list.==Publikovanie pridaného alebo upraveného prekladu pre použÃvateľské rozhranie. Ostatnà partneri ho môžu zahrnúť do svojho zoznamu miestnych prekladov. More news services will follow.==Dalsie sluzby pre spravy budu nasledovat. Above you can see four menus:==V menu mozete vidiet tieto styri zaznami: Only these news will be used to display specific news services as explained above.==Ako bolo vysvetlene vyzsie na zobrazenie specifickych sluzieb sprav budu pouzite len tieto spravy. @@ -2993,23 +2869,18 @@ Age==Vek "Reset to defaults settings"=="ObnoviÅ¥ predvolené nastavenia" limitations==obmedzenia Local Search access rate limitations==Obmedzenia rýchlosti prÃstupu miestneho vyhľadávania -You can configure here limitations on access rate to this peer search interface by unauthenticated users and users without extended search right==Tu môžete nakonfigurovaÅ¥ obmedzenia rýchlosti prÃstupu k tomuto rozhraniu partnerského vyhľadávania pre neoverených použÃvateľov a použÃvateľov bez rozÅ¡Ãreného práva na vyhľadávanie YaCy search==YaCy vyhľadávanie Access rate limitations to this peer search interface.==Obmedzenia rýchlosti prÃstupu k tomuto rozhraniu partnerského vyhľadávania. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search is blocked.==KeÄ použÃvateľ s obmedzenými právami (neoverený alebo bez práva na rozÅ¡Ãrené vyhľadávanie) prekroÄà limit, vyhľadávanie sa zablokuje. Max searches in 3s==Maximálny poÄet vyhľadávanà za 3 sekundy Max searches in 1mn==Maximálny poÄet vyhľadávanà za 1 min Max searches in 10mn==Maximálny poÄet vyhľadávanà za 10 minút Peer-to-peer search==Peer-to-peer vyhľadávanie Access rate limitations to the peer-to-peer search mode.==Obmedzenia rýchlosti prÃstupu do režimu vyhľadávania peer-to-peer. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search scope falls back to only this local peer index.==KeÄ použÃvateľ s obmedzenými právami (neautentizovaný alebo bez práva na rozÅ¡Ãrené vyhľadávanie) prekroÄà limit, rozsah vyhľadávania sa vráti len na tento lokálny partnerský index. Max searches in 10mn==Maximálny poÄet vyhľadávanà za 10 minút Peer-to-peer search with JavaScript results resorting==Vyhľadávanie typu peer-to-peer s JavaScript výsledkami Access rate limitations to the peer-to-peer search mode with browser-side JavaScript results resorting enabled==Obmedzenia rýchlosti prÃstupu k režimu vyhľadávania peer-to-peer s povoleným uchyľovanÃm výsledkov JavaScript na strane prehliadaÄa -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, results resorting becomes only applicable on demand, server-side.==KeÄ použÃvateľ s obmedzenými právami (neoverený alebo bez práva na rozÅ¡Ãrené vyhľadávanie) prekroÄà limit, uchyľovanie výsledkov sa stáva použiteľným iba na požiadanie na strane servera. Remote snippet load==Vzdialené naÄÃtanie úryvku Limitations on snippet loading from remote websites.==Obmedzenia naÄÃtania úryvkov zo vzdialených webových stránok. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the snippets fetch strategy falls back to 'CACHEONLY'==KeÄ použÃvateľ s obmedzenými právami (neoverený alebo bez práva na rozÅ¡Ãrené vyhľadávanie) prekroÄà limit, stratégia naÄÃtania úryvkov sa vráti späť na „CACHEONLY“ Max searches in 3s==Maximálny poÄet vyhľadávanà za 3 sekundy <em id="changeInfo">Changes will take effect immediately.</em>==<em id="changeInfo">Zmeny sa prejavia okamžite.</em> #----------------------------- @@ -3234,14 +3105,9 @@ These settings configure the access method to your own http proxy and server.==T All traffic is routed through one single port, for both proxy and server.==VÅ¡etka prevádzka je smerovaná cez jeden jediný port pre proxy aj server. HTTPS Server Port:==HTTPS Port servera: Server Access Restrictions==Obmedzenia pristupu k serveru -You can restrict the access to this proxy/server using a two-stage security barrier:==Pristup k tomuto proxy resp. HTTP serveru mozete obmedzit pouzitym 2-stupnovej bezpecnostnej bariery: define an <em>access domain</em> with a list of granted client IP-numbers or with wildcards==definujte <em>prÃstupovú doménu</em> pomocou zoznamu pridelených klientskych IP-ÄÃsel alebo pomocou zástupných znakov -define an <em>user account</em> with an user:password - pair==definovaÅ¥ <em>použÃvateľský úÄet</em> pomocou user:password - pair -This is the account that restricts access to the proxy function.==Toto je úÄet, ktorý obmedzuje prÃstup k funkcii proxy. You probably don't want to share the proxy to the internet, so you should set the==Pravdepodobne nechcete zdieľaÅ¥ proxy na internet, takže by ste mali nastaviÅ¥ IP-Number Access Domain to a pattern that corresponds to you local intranet.==IP-ÄŒÃslo prÃstupovej domény k vzoru, ktorý zodpovedá vášmu lokálnemu intranetu. -The default setting should be right in most cases. If you want, you can also set a proxy account==Predvolené nastavenie by malo byÅ¥ vo väÄÅ¡ine prÃpadov správne. Ak chcete, môžete si nastaviÅ¥ aj proxy úÄet -so that every proxy user must authenticate first, but this is rather unusual.==takže každý použÃvateľ proxy sa musà najprv overiÅ¥, ale je to dosÅ¥ nezvyÄajné. IP-Number filter==IP-Filter ÄÃsel Accounts==úÄty #----------------------------- @@ -3632,59 +3498,6 @@ Save Tools Configuration==UložiÅ¥ konfiguráciu nástrojov CyTag Trails==CyTag Trails #----------------------------- -#File: TransNews_p.html -#--------------------------- -"Publish"=="PublikovaÅ¥" -"negative vote"=="negatÃvny hlas" -"positive vote"=="kladné hlasovanie" -You can share your local addition to translations and distribute it to other peers.==Svoj miestny doplnok môžete zdieľaÅ¥ s prekladmi a distribuovaÅ¥ ho ÄalÅ¡Ãm kolegom. -The remote peer can vote on your translation and add it to its own local translation.==Vzdialený partner môže hlasovaÅ¥ o vaÅ¡om preklade a pridaÅ¥ ho do svojho vlastného lokálneho prekladu. -File:==Súbor: -Originator==Autor -English:==angliÄtina: -existing==existujúce -Translation:==preklad: -Vote on this translation. If you vote positive the translation is added to your local translation list.==Hlasujte za tento preklad. Ak zahlasujete kladne, preklad sa pridá do vášho miestneho zoznamu prekladov. -#----------------------------- - -#File: Translator_p.html -#--------------------------- -"Save translation"=="UložiÅ¥ preklad" -Translation Editor==Editor prekladov -Translate untranslated text of the user interface (current language). The modified translation file is stored in DATA/LOCALE directory.==PreložiÅ¥ nepreložený text použÃvateľského rozhrania (aktuálny jazyk). Upravený prekladový súbor je uložený v adresári DATA/LOCALE. -UI Translation==Preklad použÃvateľského rozhrania -Source File==Zdrojový súbor -view it==pozri si to -filter untranslated==filter nepreložený -Source Text==Zdrojový text -#----------------------------- - -#File: User.html -#--------------------------- -"login"=="prihlásenie" -"logout"=="odhlásenie" -"red bar"=="Äervený pruh" -"green bar"=="zelený pruh" -"Change"=="ZmeniÅ¥" -User Page==PoužÃvateľská stránka -You are not logged in.==Nie ste prihlásený. -Username:==PoužÃvateľské meno: -Password:==heslo: -(Identified by==(Identifikované podľa -IP==IP -Username/Password==PoužÃvateľské meno/Password -Cookie==Cookie -old Password==staré heslo -new Password==nové heslo -new Password(repetition)==nové heslo (opakovanie) -You are currently logged in as admin.==Momentálne ste prihlásený ako admin. -(after logout you will be prompted for your password again. simply click "cancel")==(po odhlásenà budete opäť vyzvanà na zadanie hesla. jednoducho kliknite na "zruÅ¡iÅ¥") -Password was changed.==Heslo bolo zmenené. -Old Password is wrong.==Staré heslo je nesprávne. -New Password and its repetition do not match.==Nové heslo a jeho opakovanie sa nezhodujú. -New Password is empty.==Nové heslo je prázdne. -#----------------------------- - #File: VFS.html #--------------------------- "File system browser"=="PrehliadaÄ súborového systému" @@ -3888,40 +3701,9 @@ Other Dot==Iná bodka Dot-end==Dot-end #----------------------------- -#File: Wiki.html -#--------------------------- -"all"=="vÅ¡etky" -"admin"=="admin" -"Submit"=="OdoslaÅ¥" -"Preview"=="Ukážka" -"Discard"=="ZahodiÅ¥" -"Show"=="ZobraziÅ¥" -"Compare"=="Porovnaj" -(only granted to admin)==(udelené iba správcovi) -Index -==Index - -Grant Write Access to==UdeliÅ¥ prÃstup na zápis pre -Edit==Edituj -Author:==Autor: -Text:==Text: -Preview==Ukážka -No changes have been submitted so far!==Ziadne zmeny este neboli vytvorene! -Index==Index -Subject==Predmet -Change Date==ZmeniÅ¥ dátum -Last Author==Posledný autor -Start Page==Úvodná stránka -Versions==Verzie -Compare version from==PorovnaÅ¥ verziu z -with version from==s verziou od -Error==Chyba -You can use==Môžete použiÅ¥ -Changes will be published as announcement on YaCyNews==Zmeny budu zverejnene pomocou oznamov na YaCyNews-och -#----------------------------- - -#File: WikiHelp.html +#File: WikiCodeHelp.html #--------------------------- Wiki-Code==Wiki-kód -This table contains a short description of the tags that can be used in the Wiki and several other servlets==Táto tabuľka obsahuje krátky popis znaÄiek, ktoré možno použiÅ¥ vo Wiki a niekoľkých ÄalÅ¡Ãch servletoch of YaCy. For a more detailed description visit the==z YaCy. Pre podrobnejšà popis navÅ¡tÃvte Code==kód Description==Popis @@ -3946,7 +3728,6 @@ These tags create a definition list.==Tieto znaÄky vytvárajú zoznam definÃci This tag creates a horizontal line.==Táto znaÄka vytvára vodorovnú Äiaru. [[pagename]]==[[názov stránky]] [[pagename|description]]==[[názov stránky|popis]] -This tag creates links to other pages of the wiki.==Táto znaÄka vytvára odkazy na iné stránky wiki. [url]==[url] [url description]==[popis adresy URL] This tag creates links to external websites.==Táto znaÄka vytvára odkazy na externé webové stránky. @@ -4271,7 +4052,6 @@ Outgoing News==Odchadzajuce spravy Published News==Zverejnene spravy Community Data==údaje komunity Surftips==Tipy na surfovanie -Local Peer Wiki==Miestna rovesnÃcka Wiki Bookmarks==Záložky #----------------------------- @@ -4282,7 +4062,6 @@ Advanced Settings==Pokrocilé nastavenia Performance Settings of Busy Queues==Nastavenia výkonu zaneprázdnených frontov Viewer and administration for database tables==PrehliadaÄ a správa databázových tabuliek Advanced Properties==RozÅ¡Ãrené vlastnosti -UI Translations==Preklady použÃvateľského rozhrania #----------------------------- #File: env/templates/submenuCrawlMonitor.template @@ -4390,13 +4169,6 @@ User Profile==PoužÃvateľský profil Local robots.txt==Miestny súbor robots.txt #----------------------------- -#File: env/templates/submenuPublication.template -#--------------------------- -Publication==Publikácia -Wiki==Wiki -Blog==Blog -#----------------------------- - #File: env/templates/submenuRanking.template #--------------------------- Ranking and Heuristics==Hodnotenie a heuristika @@ -4543,14 +4315,6 @@ Get the latest Java Plug-in here.==ZÃskajte najnovšà doplnok Java tu. Built with Processing==Postavené so spracovanÃm #----------------------------- -#File: proxymsg/authfail.inc -#--------------------------- -"login"=="prihlásenie" -Your Username/Password is wrong.==VaÅ¡e použÃvateľské meno/Password je nesprávne. -Username==PoužÃvateľské meno -Password==heslo -#----------------------------- - #File: proxymsg/error.html #--------------------------- YaCy: Error Message==YaCy: Chybové hlásenie diff --git a/locales/source-master.lng.xlf b/locales/source-master.lng.xlf index 039b4045c..f7454aa92 100644 --- a/locales/source-master.lng.xlf +++ b/locales/source-master.lng.xlf @@ -902,136 +902,6 @@ </body> </file> -<file original="Blog.html" source-language="en" datatype="html"> - <body> - <trans-unit id="205a752" xml:space="preserve" approved="no" translate="yes"> - <source>"RSS"</source> - </trans-unit> - <trans-unit id="bfcc5088" xml:space="preserve" approved="no" translate="yes"> - <source>"Submit"</source> - </trans-unit> - <trans-unit id="6904b79c" xml:space="preserve" approved="no" translate="yes"> - <source>"Preview"</source> - </trans-unit> - <trans-unit id="c5332d86" xml:space="preserve" approved="no" translate="yes"> - <source>"Discard"</source> - </trans-unit> - <trans-unit id="bad7983b" xml:space="preserve" approved="no" translate="yes"> - <source>"Yes, delete it."</source> - </trans-unit> - <trans-unit id="1560d15f" xml:space="preserve" approved="no" translate="yes"> - <source>"No, leave it."</source> - </trans-unit> - <trans-unit id="a1ed8e9b" xml:space="preserve" approved="no" translate="yes"> - <source>"Import"</source> - </trans-unit> - <trans-unit id="f3226ad" xml:space="preserve" approved="no" translate="yes"> - <source>&lt;&lt; previous entries</source> - </trans-unit> - <trans-unit id="2e69812d" xml:space="preserve" approved="no" translate="yes"> - <source>next entries &gt;&gt;</source> - </trans-unit> - <trans-unit id="aed6f02a" xml:space="preserve" approved="no" translate="yes"> - <source>Blog-Home</source> - </trans-unit> - <trans-unit id="20e22a" xml:space="preserve" approved="no" translate="yes"> - <source>Edit</source> - </trans-unit> - <trans-unit id="3cafa7ef" xml:space="preserve" approved="no" translate="yes"> - <source>Author:</source> - </trans-unit> - <trans-unit id="887ab4ae" xml:space="preserve" approved="no" translate="yes"> - <source>Subject:</source> - </trans-unit> - <trans-unit id="4cf708d" xml:space="preserve" approved="no" translate="yes"> - <source>Text:</source> - </trans-unit> - <trans-unit id="1e5600a6" xml:space="preserve" approved="no" translate="yes"> - <source>Comments:</source> - </trans-unit> - <trans-unit id="967e3e70" xml:space="preserve" approved="no" translate="yes"> - <source>deactivated</source> - </trans-unit> - <trans-unit id="c2ec9d1" xml:space="preserve" approved="no" translate="yes"> - <source>activated</source> - </trans-unit> - <trans-unit id="8882a3c1" xml:space="preserve" approved="no" translate="yes"> - <source>moderated</source> - </trans-unit> - <trans-unit id="50417ba8" xml:space="preserve" approved="no" translate="yes"> - <source>Preview</source> - </trans-unit> - <trans-unit id="baf17931" xml:space="preserve" approved="no" translate="yes"> - <source>No changes have been submitted so far!</source> - </trans-unit> - <trans-unit id="107645b7" xml:space="preserve" approved="no" translate="yes"> - <source>Access denied</source> - </trans-unit> - <trans-unit id="eb8895dd" xml:space="preserve" approved="no" translate="yes"> - <source>To edit or create blog-entries you need to be logged in as Admin or User who has Blog rights.</source> - </trans-unit> - <trans-unit id="1245934c" xml:space="preserve" approved="no" translate="yes"> - <source>Are you sure...</source> - </trans-unit> - <trans-unit id="4734b94e" xml:space="preserve" approved="no" translate="yes"> - <source>Confirm deletion</source> - </trans-unit> - <trans-unit id="37ec625b" xml:space="preserve" approved="no" translate="yes"> - <source>XML-Import</source> - </trans-unit> - <trans-unit id="aea3fbb5" xml:space="preserve" approved="no" translate="yes"> - <source>Import was successful!</source> - </trans-unit> - <trans-unit id="30d099a9" xml:space="preserve" approved="no" translate="yes"> - <source>Import failed, maybe the supplied file was no valid blog-backup?</source> - </trans-unit> - <trans-unit id="824e78ee" xml:space="preserve" approved="no" translate="yes"> - <source>Please select the XML-file you want to import:</source> - </trans-unit> - </body> -</file> - -<file original="BlogComments.html" source-language="en" datatype="html"> - <body> - <trans-unit id="bfcc5088" xml:space="preserve" approved="no" translate="yes"> - <source>"Submit"</source> - </trans-unit> - <trans-unit id="6904b79c" xml:space="preserve" approved="no" translate="yes"> - <source>"Preview"</source> - </trans-unit> - <trans-unit id="c5332d86" xml:space="preserve" approved="no" translate="yes"> - <source>"Discard"</source> - </trans-unit> - <trans-unit id="aed6f02a" xml:space="preserve" approved="no" translate="yes"> - <source>Blog-Home</source> - </trans-unit> - <trans-unit id="1e5600a6" xml:space="preserve" approved="no" translate="yes"> - <source>Comments:</source> - </trans-unit> - <trans-unit id="f3226ad" xml:space="preserve" approved="no" translate="yes"> - <source>&lt;&lt; previous entries</source> - </trans-unit> - <trans-unit id="2e69812d" xml:space="preserve" approved="no" translate="yes"> - <source>next entries &gt;&gt;</source> - </trans-unit> - <trans-unit id="1250e9ed" xml:space="preserve" approved="no" translate="yes"> - <source>Comments are not allowed for this posting!</source> - </trans-unit> - <trans-unit id="4ee50744" xml:space="preserve" approved="no" translate="yes"> - <source>Comment on this Blog</source> - </trans-unit> - <trans-unit id="3cafa7ef" xml:space="preserve" approved="no" translate="yes"> - <source>Author:</source> - </trans-unit> - <trans-unit id="887ab4ae" xml:space="preserve" approved="no" translate="yes"> - <source>Subject:</source> - </trans-unit> - <trans-unit id="4cf708d" xml:space="preserve" approved="no" translate="yes"> - <source>Text:</source> - </trans-unit> - </body> -</file> - <file original="Bookmarks.html" source-language="en" datatype="html"> <body> <trans-unit id="205a752" xml:space="preserve" approved="no" translate="yes"> @@ -1219,150 +1089,61 @@ </body> </file> -<file original="ConfigAccountList_p.html" source-language="en" datatype="html"> - <body> - <trans-unit id="8824efd3" xml:space="preserve" approved="no" translate="yes"> - <source>User List</source> - </trans-unit> - <trans-unit id="3a43589b" xml:space="preserve" approved="no" translate="yes"> - <source>User Accounts</source> - </trans-unit> - <trans-unit id="285feb" xml:space="preserve" approved="no" translate="yes"> - <source>User</source> - </trans-unit> - <trans-unit id="69c1a21b" xml:space="preserve" approved="no" translate="yes"> - <source>First name</source> - </trans-unit> - <trans-unit id="ebf825b5" xml:space="preserve" approved="no" translate="yes"> - <source>Last name</source> - </trans-unit> - <trans-unit id="1ed033d4" xml:space="preserve" approved="no" translate="yes"> - <source>Address</source> - </trans-unit> - <trans-unit id="81d32a2e" xml:space="preserve" approved="no" translate="yes"> - <source>Last Access</source> - </trans-unit> - <trans-unit id="91e56df7" xml:space="preserve" approved="no" translate="yes"> - <source>Rights</source> - </trans-unit> - <trans-unit id="27c6ed" xml:space="preserve" approved="no" translate="yes"> - <source>Time</source> - </trans-unit> - <trans-unit id="239ab9dd" xml:space="preserve" approved="no" translate="yes"> - <source>Traffic</source> - </trans-unit> - </body> -</file> - <file original="ConfigAccounts_p.html" source-language="en" datatype="html"> <body> - <trans-unit id="1d0cdd18" xml:space="preserve" approved="no" translate="yes"> - <source>"Define Administrator"</source> - </trans-unit> - <trans-unit id="26c47107" xml:space="preserve" approved="no" translate="yes"> - <source>"Set Access Rules"</source> + <trans-unit id="3affb1c7" xml:space="preserve" approved="no" translate="yes"> + <source>"Change Administrator Credentials"</source> </trans-unit> - <trans-unit id="581389c3" xml:space="preserve" approved="no" translate="yes"> - <source>"Edit User"</source> - </trans-unit> - <trans-unit id="31293c24" xml:space="preserve" approved="no" translate="yes"> - <source>"Delete User"</source> - </trans-unit> - <trans-unit id="243c3af6" xml:space="preserve" approved="no" translate="yes"> - <source>"Save User"</source> - </trans-unit> - <trans-unit id="27a10153" xml:space="preserve" approved="no" translate="yes"> - <source>User Administration</source> + <trans-unit id="f6c2321c" xml:space="preserve" approved="no" translate="yes"> + <source>Admin Account</source> </trans-unit> - <trans-unit id="df3b29af" xml:space="preserve" approved="no" translate="yes"> - <source>Generic error.</source> + <trans-unit id="4afb638f" xml:space="preserve" approved="no" translate="yes"> + <source>Invalid administrator settings.</source> </trans-unit> <trans-unit id="235692a3" xml:space="preserve" approved="no" translate="yes"> <source>Passwords do not match.</source> </trans-unit> - <trans-unit id="6ad966f5" xml:space="preserve" approved="no" translate="yes"> - <source>Username too short. Username must be &gt;= 4 Characters.</source> + <trans-unit id="280fb6d0" xml:space="preserve" approved="no" translate="yes"> + <source>Administrator username is required.</source> </trans-unit> - <trans-unit id="1bf77769" xml:space="preserve" approved="no" translate="yes"> - <source>Username already used (not allowed).</source> + <trans-unit id="aef34d2b" xml:space="preserve" approved="no" translate="yes"> + <source>Administrator password is required.</source> </trans-unit> - <trans-unit id="c16576fb" xml:space="preserve" approved="no" translate="yes"> - <source><b>WARNING</b> This YaCy instance can be administered with the account "admin" and the default password "yacy".</source> - </trans-unit> - <trans-unit id="9f01155f" xml:space="preserve" approved="no" translate="yes"> - <source>Change the password as soon as possible!</source> - </trans-unit> - <trans-unit id="f6c2321c" xml:space="preserve" approved="no" translate="yes"> - <source>Admin Account</source> - </trans-unit> - <trans-unit id="eccb4d6e" xml:space="preserve" approved="no" translate="yes"> - <source>Access from localhost without account</source> - </trans-unit> - <trans-unit id="70e6ab33" xml:space="preserve" approved="no" translate="yes"> - <source>Access to your peer from your own computer (localhost access) is granted with administrator rights. No need to configure an administration account.</source> + <trans-unit id="fe30f85" xml:space="preserve" approved="no" translate="yes"> + <source>Default administrator password is active.</source> </trans-unit> - <trans-unit id="b26b9832" xml:space="preserve" approved="no" translate="yes"> - <source>This setting is convenient but less secure than using a qualified admin account.</source> + <trans-unit id="a4facca" xml:space="preserve" approved="no" translate="yes"> + <source>This YaCy instance can still be administered with the username "admin" and the default password "yacy". Replace these credentials using the form directly below.</source> </trans-unit> - <trans-unit id="8db59370" xml:space="preserve" approved="no" translate="yes"> - <source>Please use with care, notably when you browse untrusted and potentially malicious websites while running your YaCy peer on the same computer.</source> + <trans-unit id="30f8253d" xml:space="preserve" approved="no" translate="yes"> + <source>These credentials are used for remote administration and whenever administrative access from localhost without authentication is disabled.</source> </trans-unit> - <trans-unit id="a5765027" xml:space="preserve" approved="no" translate="yes"> - <source>Access only with qualified account</source> + <trans-unit id="986d1451" xml:space="preserve" approved="no" translate="yes"> + <source>Administrator Username:</source> </trans-unit> - <trans-unit id="28934bf" xml:space="preserve" approved="no" translate="yes"> - <source>This is required if you want a remote access to your peer, but it also hardens access controls on administration operations of your peer.</source> + <trans-unit id="7029a88c" xml:space="preserve" approved="no" translate="yes"> + <source>New Administrator Password:</source> </trans-unit> - <trans-unit id="9bceed91" xml:space="preserve" approved="no" translate="yes"> - <source>Peer User:</source> + <trans-unit id="e1c34fc7" xml:space="preserve" approved="no" translate="yes"> + <source>Repeat Administrator Password:</source> </trans-unit> - <trans-unit id="9cef2e61" xml:space="preserve" approved="no" translate="yes"> - <source>New Peer Password:</source> - </trans-unit> - <trans-unit id="c51068c6" xml:space="preserve" approved="no" translate="yes"> - <source>Repeat Peer Password:</source> + <trans-unit id="35da07f9" xml:space="preserve" approved="no" translate="yes"> + <source>If you need to reset the administrator password from the console, run bin/passwd.sh from the YaCy installation directory.</source> </trans-unit> <trans-unit id="28dbdb3b" xml:space="preserve" approved="no" translate="yes"> <source>Access Rules</source> </trans-unit> - <trans-unit id="b878f3c" xml:space="preserve" approved="no" translate="yes"> - <source>Protection of all pages: if set to on, access to all pages need authorization; if off, only pages with "_p" extension are protected.</source> + <trans-unit id="13218532" xml:space="preserve" approved="no" translate="yes"> + <source>Allow administrative access from localhost without authentication</source> </trans-unit> - <trans-unit id="3a43589b" xml:space="preserve" approved="no" translate="yes"> - <source>User Accounts</source> + <trans-unit id="b0e1923b" xml:space="preserve" approved="no" translate="yes"> + <source>When enabled, eligible requests from the same computer receive administrator rights without sending credentials.</source> </trans-unit> - <trans-unit id="6cca0c4f" xml:space="preserve" approved="no" translate="yes"> - <source>Select user</source> + <trans-unit id="ef91160e" xml:space="preserve" approved="no" translate="yes"> + <source>Require administrator authorization for all applicable pages</source> </trans-unit> - <trans-unit id="527b9a6b" xml:space="preserve" approved="no" translate="yes"> - <source>New user</source> - </trans-unit> - <trans-unit id="f403ecf6" xml:space="preserve" approved="no" translate="yes"> - <source>Username</source> - </trans-unit> - <trans-unit id="4c641ebb" xml:space="preserve" approved="no" translate="yes"> - <source>Password</source> - </trans-unit> - <trans-unit id="34384360" xml:space="preserve" approved="no" translate="yes"> - <source>Repeat password</source> - </trans-unit> - <trans-unit id="69c1a21b" xml:space="preserve" approved="no" translate="yes"> - <source>First name</source> - </trans-unit> - <trans-unit id="ebf825b5" xml:space="preserve" approved="no" translate="yes"> - <source>Last name</source> - </trans-unit> - <trans-unit id="1ed033d4" xml:space="preserve" approved="no" translate="yes"> - <source>Address</source> - </trans-unit> - <trans-unit id="aac85123" xml:space="preserve" approved="no" translate="yes"> - <source>Rights:</source> - </trans-unit> - <trans-unit id="7a53d0ee" xml:space="preserve" approved="no" translate="yes"> - <source>Timelimit</source> - </trans-unit> - <trans-unit id="762a6110" xml:space="preserve" approved="no" translate="yes"> - <source>Time used</source> + <trans-unit id="af6f4d91" xml:space="preserve" approved="no" translate="yes"> + <source>When disabled, administration pages whose names contain "_p" remain protected. When enabled, all applicable pages require administrator authorization.</source> </trans-unit> </body> </file> @@ -1527,8 +1308,8 @@ <trans-unit id="1c8e797f" xml:space="preserve" approved="no" translate="yes"> <source>Fran&ccedil;ais</source> </trans-unit> - <trans-unit id="41ddee0" xml:space="preserve" approved="no" translate="yes"> - <source>Greek</source> + <trans-unit id="8ed2b7c4" xml:space="preserve" approved="no" translate="yes"> + <source>Polski</source> </trans-unit> <trans-unit id="4331d88f" xml:space="preserve" approved="no" translate="yes"> <source>Italiano</source> @@ -1536,6 +1317,12 @@ <trans-unit id="ca53eef" xml:space="preserve" approved="no" translate="yes"> <source>Español</source> </trans-unit> + <trans-unit id="f0896e6f" xml:space="preserve" approved="no" translate="yes"> + <source>T&uuml;rk&ccedil;e</source> + </trans-unit> + <trans-unit id="27e35b0" xml:space="preserve" approved="no" translate="yes"> + <source>Sloven&#269;ina</source> + </trans-unit> <trans-unit id="9a6fa219" xml:space="preserve" approved="no" translate="yes"> <source>Use Case: what do you want to do with YaCy:</source> </trans-unit> @@ -1551,18 +1338,18 @@ <trans-unit id="ab37c405" xml:space="preserve" approved="no" translate="yes"> <source>Community-based web search</source> </trans-unit> - <trans-unit id="487e8d44" xml:space="preserve" approved="no" translate="yes"> - <source>Search portal for your own web pages</source> - </trans-unit> - <trans-unit id="e9e70a51" xml:space="preserve" approved="no" translate="yes"> - <source>Intranet Indexing</source> - </trans-unit> <trans-unit id="b03f1f55" xml:space="preserve" approved="no" translate="yes"> <source>Join and support the global network 'freeworld', search the web with an uncensored user-owned search network</source> </trans-unit> + <trans-unit id="487e8d44" xml:space="preserve" approved="no" translate="yes"> + <source>Search portal for your own web pages</source> + </trans-unit> <trans-unit id="94d59866" xml:space="preserve" approved="no" translate="yes"> <source>Your YaCy installation behaves independently from other peers and you define your own web index by starting your own web crawl. This can be used to search your own web pages or to define a topic-oriented search portal.</source> </trans-unit> + <trans-unit id="e9e70a51" xml:space="preserve" approved="no" translate="yes"> + <source>Intranet Indexing</source> + </trans-unit> <trans-unit id="a3caa3ae" xml:space="preserve" approved="no" translate="yes"> <source>Create a search portal for your intranet or web pages or your (shared) file system. URLs may be used with http/https/ftp and a local domain name or IP, or with an URL of the form file:///&lt;path&gt; or smb://&lt;server&gt;/&lt;path&gt;</source> </trans-unit> @@ -2412,12 +2199,6 @@ <trans-unit id="376bc057" xml:space="preserve" approved="no" translate="yes"> <source>News pages</source> </trans-unit> - <trans-unit id="1fa3c2" xml:space="preserve" approved="no" translate="yes"> - <source>Blog</source> - </trans-unit> - <trans-unit id="2923d0" xml:space="preserve" approved="no" translate="yes"> - <source>Wiki</source> - </trans-unit> <trans-unit id="63f3ed26" xml:space="preserve" approved="no" translate="yes"> <source>Public bookmarks</source> </trans-unit> @@ -2871,65 +2652,6 @@ </body> </file> -<file original="ConfigUser_p.html" source-language="en" datatype="html"> - <body> - <trans-unit id="243c3af6" xml:space="preserve" approved="no" translate="yes"> - <source>"Save User"</source> - </trans-unit> - <trans-unit id="31293c24" xml:space="preserve" approved="no" translate="yes"> - <source>"Delete User"</source> - </trans-unit> - <trans-unit id="ae73b661" xml:space="preserve" approved="no" translate="yes"> - <source>"ConfigAccountList_p.html"</source> - </trans-unit> - <trans-unit id="bc930fd5" xml:space="preserve" approved="no" translate="yes"> - <source>User Account Editor</source> - </trans-unit> - <trans-unit id="df3b29af" xml:space="preserve" approved="no" translate="yes"> - <source>Generic error.</source> - </trans-unit> - <trans-unit id="235692a3" xml:space="preserve" approved="no" translate="yes"> - <source>Passwords do not match.</source> - </trans-unit> - <trans-unit id="6ad966f5" xml:space="preserve" approved="no" translate="yes"> - <source>Username too short. Username must be &gt;= 4 Characters.</source> - </trans-unit> - <trans-unit id="1bf77769" xml:space="preserve" approved="no" translate="yes"> - <source>Username already used (not allowed).</source> - </trans-unit> - <trans-unit id="f403ecf6" xml:space="preserve" approved="no" translate="yes"> - <source>Username</source> - </trans-unit> - <trans-unit id="4c641ebb" xml:space="preserve" approved="no" translate="yes"> - <source>Password</source> - </trans-unit> - <trans-unit id="34384360" xml:space="preserve" approved="no" translate="yes"> - <source>Repeat password</source> - </trans-unit> - <trans-unit id="69c1a21b" xml:space="preserve" approved="no" translate="yes"> - <source>First name</source> - </trans-unit> - <trans-unit id="ebf825b5" xml:space="preserve" approved="no" translate="yes"> - <source>Last name</source> - </trans-unit> - <trans-unit id="1ed033d4" xml:space="preserve" approved="no" translate="yes"> - <source>Address</source> - </trans-unit> - <trans-unit id="aac85123" xml:space="preserve" approved="no" translate="yes"> - <source>Rights:</source> - </trans-unit> - <trans-unit id="7a53d0ee" xml:space="preserve" approved="no" translate="yes"> - <source>Timelimit</source> - </trans-unit> - <trans-unit id="762a6110" xml:space="preserve" approved="no" translate="yes"> - <source>Time used</source> - </trans-unit> - <trans-unit id="f6d22b07" xml:space="preserve" approved="no" translate="yes"> - <source>back to user list</source> - </trans-unit> - </body> -</file> - <file original="Connections_p.html" source-language="en" datatype="html"> <body> <trans-unit id="da1cdd7c" xml:space="preserve" approved="no" translate="yes"> @@ -6836,12 +6558,6 @@ <trans-unit id="5fee1ba0" xml:space="preserve" approved="no" translate="yes"> <source>"Profile updated"</source> </trans-unit> - <trans-unit id="7af20435" xml:space="preserve" approved="no" translate="yes"> - <source>"Wiki updated"</source> - </trans-unit> - <trans-unit id="6c475483" xml:space="preserve" approved="no" translate="yes"> - <source>"Blog updated"</source> - </trans-unit> <trans-unit id="7f5ceb9d" xml:space="preserve" approved="no" translate="yes"> <source>"Crawl"</source> </trans-unit> @@ -7183,9 +6899,6 @@ <trans-unit id="49006831" xml:space="preserve" approved="no" translate="yes"> <source>profile entries on the Network page, where that profile change is visualized with a '*' beside the 'P' (profile) - selector.</source> </trans-unit> - <trans-unit id="7dda44d" xml:space="preserve" approved="no" translate="yes"> - <source>Publishing of added or modified translation for the user interface. Other peers may include it in their local translation list.</source> - </trans-unit> <trans-unit id="c03a72cf" xml:space="preserve" approved="no" translate="yes"> <source>More news services will follow.</source> </trans-unit> @@ -8310,8 +8023,8 @@ <trans-unit id="28ba64b2" xml:space="preserve" approved="no" translate="yes"> <source>Local Search access rate limitations</source> </trans-unit> - <trans-unit id="8ac0ff35" xml:space="preserve" approved="no" translate="yes"> - <source>You can configure here limitations on access rate to this peer search interface by unauthenticated users and users without extended search right</source> + <trans-unit id="978cbe02" xml:space="preserve" approved="no" translate="yes"> + <source>You can configure here limitations on access rate to this peer search interface by unauthenticated users.</source> </trans-unit> <trans-unit id="a16f124a" xml:space="preserve" approved="no" translate="yes"> <source>YaCy search</source> @@ -8319,8 +8032,8 @@ <trans-unit id="167ae1f7" xml:space="preserve" approved="no" translate="yes"> <source>Access rate limitations to this peer search interface.</source> </trans-unit> - <trans-unit id="b4df43e1" xml:space="preserve" approved="no" translate="yes"> - <source>When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search is blocked.</source> + <trans-unit id="a4ecad00" xml:space="preserve" approved="no" translate="yes"> + <source>When an unauthenticated user exceeds a limit, the search is blocked.</source> </trans-unit> <trans-unit id="2092318d" xml:space="preserve" approved="no" translate="yes"> <source>Max searches in 3s</source> @@ -8337,8 +8050,8 @@ <trans-unit id="c1c99ea1" xml:space="preserve" approved="no" translate="yes"> <source>Access rate limitations to the peer-to-peer search mode.</source> </trans-unit> - <trans-unit id="36647360" xml:space="preserve" approved="no" translate="yes"> - <source>When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search scope falls back to only this local peer index.</source> + <trans-unit id="b9582d7f" xml:space="preserve" approved="no" translate="yes"> + <source>When an unauthenticated user exceeds a limit, the search scope falls back to only this local peer index.</source> </trans-unit> <trans-unit id="43860f16" xml:space="preserve" approved="no" translate="yes"> <source>Max searches in 10mn</source> @@ -8349,8 +8062,8 @@ <trans-unit id="f75569f2" xml:space="preserve" approved="no" translate="yes"> <source>Access rate limitations to the peer-to-peer search mode with browser-side JavaScript results resorting enabled</source> </trans-unit> - <trans-unit id="575d60f8" xml:space="preserve" approved="no" translate="yes"> - <source>When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, results resorting becomes only applicable on demand, server-side.</source> + <trans-unit id="1fc8bc2" xml:space="preserve" approved="no" translate="yes"> + <source>When an unauthenticated user exceeds a limit, results resorting becomes only applicable on demand, server-side.</source> </trans-unit> <trans-unit id="d164af83" xml:space="preserve" approved="no" translate="yes"> <source>Remote snippet load</source> @@ -8358,8 +8071,8 @@ <trans-unit id="3cf015f1" xml:space="preserve" approved="no" translate="yes"> <source>Limitations on snippet loading from remote websites.</source> </trans-unit> - <trans-unit id="4784ce85" xml:space="preserve" approved="no" translate="yes"> - <source>When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the snippets fetch strategy falls back to 'CACHEONLY'</source> + <trans-unit id="82c04b3f" xml:space="preserve" approved="no" translate="yes"> + <source>When an unauthenticated user exceeds a limit, the snippets fetch strategy falls back to 'CACHEONLY'.</source> </trans-unit> <trans-unit id="ddba5b6" xml:space="preserve" approved="no" translate="yes"> <source>Max searches in 3s</source> @@ -8977,36 +8690,24 @@ <trans-unit id="a604d726" xml:space="preserve" approved="no" translate="yes"> <source>Server Access Restrictions</source> </trans-unit> - <trans-unit id="50ee1b00" xml:space="preserve" approved="no" translate="yes"> - <source>You can restrict the access to this proxy/server using a two-stage security barrier:</source> + <trans-unit id="30ced5a2" xml:space="preserve" approved="no" translate="yes"> + <source>You can restrict access to this proxy/server with an IP-number filter:</source> </trans-unit> <trans-unit id="5a42a805" xml:space="preserve" approved="no" translate="yes"> <source>define an <em>access domain</em> with a list of granted client IP-numbers or with wildcards</source> </trans-unit> - <trans-unit id="b42a1e39" xml:space="preserve" approved="no" translate="yes"> - <source>define an <em>user account</em> with an user:password - pair</source> - </trans-unit> - <trans-unit id="ab080820" xml:space="preserve" approved="no" translate="yes"> - <source>This is the account that restricts access to the proxy function.</source> - </trans-unit> <trans-unit id="19f92ae5" xml:space="preserve" approved="no" translate="yes"> <source>You probably don't want to share the proxy to the internet, so you should set the</source> </trans-unit> <trans-unit id="2753ee06" xml:space="preserve" approved="no" translate="yes"> <source>IP-Number Access Domain to a pattern that corresponds to you local intranet.</source> </trans-unit> - <trans-unit id="2cee783d" xml:space="preserve" approved="no" translate="yes"> - <source>The default setting should be right in most cases. If you want, you can also set a proxy account</source> - </trans-unit> - <trans-unit id="457ee6bb" xml:space="preserve" approved="no" translate="yes"> - <source>so that every proxy user must authenticate first, but this is rather unusual.</source> + <trans-unit id="80f1b1f" xml:space="preserve" approved="no" translate="yes"> + <source>The default setting should be right in most cases.</source> </trans-unit> <trans-unit id="46d5dde9" xml:space="preserve" approved="no" translate="yes"> <source>IP-Number filter</source> </trans-unit> - <trans-unit id="84782006" xml:space="preserve" approved="no" translate="yes"> - <source>Accounts</source> - </trans-unit> </body> </file> @@ -10042,144 +9743,6 @@ </body> </file> -<file original="TransNews_p.html" source-language="en" datatype="html"> - <body> - <trans-unit id="20c2735" xml:space="preserve" approved="no" translate="yes"> - <source>"Publish"</source> - </trans-unit> - <trans-unit id="188a8b6f" xml:space="preserve" approved="no" translate="yes"> - <source>"negative vote"</source> - </trans-unit> - <trans-unit id="30ddb633" xml:space="preserve" approved="no" translate="yes"> - <source>"positive vote"</source> - </trans-unit> - <trans-unit id="a8b87046" xml:space="preserve" approved="no" translate="yes"> - <source>You can share your local addition to translations and distribute it to other peers.</source> - </trans-unit> - <trans-unit id="b26286aa" xml:space="preserve" approved="no" translate="yes"> - <source>The remote peer can vote on your translation and add it to its own local translation.</source> - </trans-unit> - <trans-unit id="40bca1e" xml:space="preserve" approved="no" translate="yes"> - <source>File:</source> - </trans-unit> - <trans-unit id="689619c" xml:space="preserve" approved="no" translate="yes"> - <source>Originator</source> - </trans-unit> - <trans-unit id="708517ea" xml:space="preserve" approved="no" translate="yes"> - <source>English:</source> - </trans-unit> - <trans-unit id="817a358b" xml:space="preserve" approved="no" translate="yes"> - <source>existing</source> - </trans-unit> - <trans-unit id="c0bfb7c9" xml:space="preserve" approved="no" translate="yes"> - <source>Translation:</source> - </trans-unit> - <trans-unit id="2deca215" xml:space="preserve" approved="no" translate="yes"> - <source>Vote on this translation. If you vote positive the translation is added to your local translation list.</source> - </trans-unit> - </body> -</file> - -<file original="Translator_p.html" source-language="en" datatype="html"> - <body> - <trans-unit id="c9b0cd52" xml:space="preserve" approved="no" translate="yes"> - <source>"Save translation"</source> - </trans-unit> - <trans-unit id="2eae05fc" xml:space="preserve" approved="no" translate="yes"> - <source>Translation Editor</source> - </trans-unit> - <trans-unit id="9f3e9d5d" xml:space="preserve" approved="no" translate="yes"> - <source>Translate untranslated text of the user interface (current language). The modified translation file is stored in DATA/LOCALE directory.</source> - </trans-unit> - <trans-unit id="ede91305" xml:space="preserve" approved="no" translate="yes"> - <source>UI Translation</source> - </trans-unit> - <trans-unit id="5ad17261" xml:space="preserve" approved="no" translate="yes"> - <source>Source File</source> - </trans-unit> - <trans-unit id="1b120c86" xml:space="preserve" approved="no" translate="yes"> - <source>view it</source> - </trans-unit> - <trans-unit id="c00303d7" xml:space="preserve" approved="no" translate="yes"> - <source>filter untranslated</source> - </trans-unit> - <trans-unit id="5ad7c212" xml:space="preserve" approved="no" translate="yes"> - <source>Source Text</source> - </trans-unit> - </body> -</file> - -<file original="User.html" source-language="en" datatype="html"> - <body> - <trans-unit id="c52bdc7b" xml:space="preserve" approved="no" translate="yes"> - <source>"login"</source> - </trans-unit> - <trans-unit id="e0529176" xml:space="preserve" approved="no" translate="yes"> - <source>"logout"</source> - </trans-unit> - <trans-unit id="7ec7aec0" xml:space="preserve" approved="no" translate="yes"> - <source>"red bar"</source> - </trans-unit> - <trans-unit id="aeb7cf0e" xml:space="preserve" approved="no" translate="yes"> - <source>"green bar"</source> - </trans-unit> - <trans-unit id="5b2beff0" xml:space="preserve" approved="no" translate="yes"> - <source>"Change"</source> - </trans-unit> - <trans-unit id="8826a1c4" xml:space="preserve" approved="no" translate="yes"> - <source>User Page</source> - </trans-unit> - <trans-unit id="1df82485" xml:space="preserve" approved="no" translate="yes"> - <source>You are not logged in.</source> - </trans-unit> - <trans-unit id="8c79b204" xml:space="preserve" approved="no" translate="yes"> - <source>Username:</source> - </trans-unit> - <trans-unit id="401fb8df" xml:space="preserve" approved="no" translate="yes"> - <source>Password:</source> - </trans-unit> - <trans-unit id="9c357eb4" xml:space="preserve" approved="no" translate="yes"> - <source>(Identified by</source> - </trans-unit> - <trans-unit id="927" xml:space="preserve" approved="no" translate="yes"> - <source>IP</source> - </trans-unit> - <trans-unit id="d72cc7b4" xml:space="preserve" approved="no" translate="yes"> - <source>Username/Password</source> - </trans-unit> - <trans-unit id="78a4f684" xml:space="preserve" approved="no" translate="yes"> - <source>Cookie</source> - </trans-unit> - <trans-unit id="68244c94" xml:space="preserve" approved="no" translate="yes"> - <source>old Password</source> - </trans-unit> - <trans-unit id="6fa5293b" xml:space="preserve" approved="no" translate="yes"> - <source>new Password</source> - </trans-unit> - <trans-unit id="82d0416b" xml:space="preserve" approved="no" translate="yes"> - <source>new Password(repetition)</source> - </trans-unit> - <trans-unit id="240a6c09" xml:space="preserve" approved="no" translate="yes"> - <source>You are currently logged in as admin.</source> - </trans-unit> - <trans-unit id="f2c13611" xml:space="preserve" approved="no" translate="yes"> - <source>(after logout you will be prompted for your password again. simply click "cancel")</source> - </trans-unit> - <trans-unit id="5a47f896" xml:space="preserve" approved="no" translate="yes"> - <source>Password was changed.</source> - </trans-unit> - <trans-unit id="256ed36b" xml:space="preserve" approved="no" translate="yes"> - <source>Old Password is wrong.</source> - </trans-unit> - <trans-unit id="c6339e82" xml:space="preserve" approved="no" translate="yes"> - <source>New Password and its repetition do not match.</source> - </trans-unit> - <trans-unit id="58c027b2" xml:space="preserve" approved="no" translate="yes"> - <source>New Password is empty.</source> - </trans-unit> - </body> -</file> - <file original="VFS.html" source-language="en" datatype="html"> <body> <trans-unit id="71f2b569" xml:space="preserve" approved="no" translate="yes"> @@ -10747,99 +10310,16 @@ </body> </file> -<file original="Wiki.html" source-language="en" datatype="html"> - <body> - <trans-unit id="20cd9c3" xml:space="preserve" approved="no" translate="yes"> - <source>"all"</source> - </trans-unit> - <trans-unit id="b1ce4555" xml:space="preserve" approved="no" translate="yes"> - <source>"admin"</source> - </trans-unit> - <trans-unit id="bfcc5088" xml:space="preserve" approved="no" translate="yes"> - <source>"Submit"</source> - </trans-unit> - <trans-unit id="6904b79c" xml:space="preserve" approved="no" translate="yes"> - <source>"Preview"</source> - </trans-unit> - <trans-unit id="c5332d86" xml:space="preserve" approved="no" translate="yes"> - <source>"Discard"</source> - </trans-unit> - <trans-unit id="3ec759c3" xml:space="preserve" approved="no" translate="yes"> - <source>"Show"</source> - </trans-unit> - <trans-unit id="9131821f" xml:space="preserve" approved="no" translate="yes"> - <source>"Compare"</source> - </trans-unit> - <trans-unit id="26dcff8e" xml:space="preserve" approved="no" translate="yes"> - <source>(only granted to admin)</source> - </trans-unit> - <trans-unit id="d70cd83f" xml:space="preserve" approved="no" translate="yes"> - <source>Index -</source> - </trans-unit> - <trans-unit id="774a8452" xml:space="preserve" approved="no" translate="yes"> - <source>Grant Write Access to</source> - </trans-unit> - <trans-unit id="20e22a" xml:space="preserve" approved="no" translate="yes"> - <source>Edit</source> - </trans-unit> - <trans-unit id="3cafa7ef" xml:space="preserve" approved="no" translate="yes"> - <source>Author:</source> - </trans-unit> - <trans-unit id="4cf708d" xml:space="preserve" approved="no" translate="yes"> - <source>Text:</source> - </trans-unit> - <trans-unit id="50417ba8" xml:space="preserve" approved="no" translate="yes"> - <source>Preview</source> - </trans-unit> - <trans-unit id="baf17931" xml:space="preserve" approved="no" translate="yes"> - <source>No changes have been submitted so far!</source> - </trans-unit> - <trans-unit id="43838b2" xml:space="preserve" approved="no" translate="yes"> - <source>Index</source> - </trans-unit> - <trans-unit id="f3e2ed0c" xml:space="preserve" approved="no" translate="yes"> - <source>Subject</source> - </trans-unit> - <trans-unit id="fd3eb61e" xml:space="preserve" approved="no" translate="yes"> - <source>Change Date</source> - </trans-unit> - <trans-unit id="82d89655" xml:space="preserve" approved="no" translate="yes"> - <source>Last Author</source> - </trans-unit> - <trans-unit id="15854bcd" xml:space="preserve" approved="no" translate="yes"> - <source>Start Page</source> - </trans-unit> - <trans-unit id="8d88e2bb" xml:space="preserve" approved="no" translate="yes"> - <source>Versions</source> - </trans-unit> - <trans-unit id="27ebd56d" xml:space="preserve" approved="no" translate="yes"> - <source>Compare version from</source> - </trans-unit> - <trans-unit id="4417430c" xml:space="preserve" approved="no" translate="yes"> - <source>with version from</source> - </trans-unit> - <trans-unit id="401e1e8" xml:space="preserve" approved="no" translate="yes"> - <source>Error</source> - </trans-unit> - <trans-unit id="8f73f216" xml:space="preserve" approved="no" translate="yes"> - <source>You can use</source> - </trans-unit> - <trans-unit id="624eee29" xml:space="preserve" approved="no" translate="yes"> - <source>Changes will be published as announcement on YaCyNews</source> - </trans-unit> - </body> -</file> - -<file original="WikiHelp.html" source-language="en" datatype="html"> +<file original="WikiCodeHelp.html" source-language="en" datatype="html"> <body> <trans-unit id="d09f01ea" xml:space="preserve" approved="no" translate="yes"> <source>Wiki-Code</source> </trans-unit> - <trans-unit id="6e34c0bd" xml:space="preserve" approved="no" translate="yes"> - <source>This table contains a short description of the tags that can be used in the Wiki and several other servlets</source> + <trans-unit id="6f20d754" xml:space="preserve" approved="no" translate="yes"> + <source>This table describes the WikiCode formatting supported in YaCy messages,</source> </trans-unit> - <trans-unit id="494c6704" xml:space="preserve" approved="no" translate="yes"> - <source>of YaCy. For a more detailed description visit the</source> + <trans-unit id="ae0a0eb9" xml:space="preserve" approved="no" translate="yes"> + <source>profiles, and MediaWiki dump imports.</source> </trans-unit> <trans-unit id="20220d" xml:space="preserve" approved="no" translate="yes"> <source>Code</source> @@ -10910,8 +10390,11 @@ <trans-unit id="fa06951a" xml:space="preserve" approved="no" translate="yes"> <source>[[pagename|description]]</source> </trans-unit> - <trans-unit id="18d4f13f" xml:space="preserve" approved="no" translate="yes"> - <source>This tag creates links to other pages of the wiki.</source> + <trans-unit id="119bccd" xml:space="preserve" approved="no" translate="yes"> + <source>Internal-link markup retains its visible label but no longer creates a link,</source> + </trans-unit> + <trans-unit id="7b083471" xml:space="preserve" approved="no" translate="yes"> + <source>because the local Wiki application has been retired.</source> </trans-unit> <trans-unit id="53943a9" xml:space="preserve" approved="no" translate="yes"> <source>[url]</source> @@ -11780,9 +11263,6 @@ <trans-unit id="a396c86e" xml:space="preserve" approved="no" translate="yes"> <source>Surftips</source> </trans-unit> - <trans-unit id="11760119" xml:space="preserve" approved="no" translate="yes"> - <source>Local Peer Wiki</source> - </trans-unit> <trans-unit id="f0df21dd" xml:space="preserve" approved="no" translate="yes"> <source>Bookmarks</source> </trans-unit> @@ -11806,9 +11286,6 @@ <trans-unit id="942917f1" xml:space="preserve" approved="no" translate="yes"> <source>Advanced Properties</source> </trans-unit> - <trans-unit id="cf394e0e" xml:space="preserve" approved="no" translate="yes"> - <source>UI Translations</source> - </trans-unit> </body> </file> @@ -12071,20 +11548,6 @@ </body> </file> -<file original="env/templates/submenuPublication.template" source-language="en" datatype="html"> - <body> - <trans-unit id="23254a0c" xml:space="preserve" approved="no" translate="yes"> - <source>Publication</source> - </trans-unit> - <trans-unit id="2923d0" xml:space="preserve" approved="no" translate="yes"> - <source>Wiki</source> - </trans-unit> - <trans-unit id="1fa3c2" xml:space="preserve" approved="no" translate="yes"> - <source>Blog</source> - </trans-unit> - </body> -</file> - <file original="env/templates/submenuRanking.template" source-language="en" datatype="html"> <body> <trans-unit id="459cd1fc" xml:space="preserve" approved="no" translate="yes"> @@ -12453,23 +11916,6 @@ </body> </file> -<file original="proxymsg/authfail.inc" source-language="en" datatype="html"> - <body> - <trans-unit id="c52bdc7b" xml:space="preserve" approved="no" translate="yes"> - <source>"login"</source> - </trans-unit> - <trans-unit id="f1fb601e" xml:space="preserve" approved="no" translate="yes"> - <source>Your Username/Password is wrong.</source> - </trans-unit> - <trans-unit id="f403ecf6" xml:space="preserve" approved="no" translate="yes"> - <source>Username</source> - </trans-unit> - <trans-unit id="4c641ebb" xml:space="preserve" approved="no" translate="yes"> - <source>Password</source> - </trans-unit> - </body> -</file> - <file original="proxymsg/error.html" source-language="en" datatype="html"> <body> <trans-unit id="dc3796cb" xml:space="preserve" approved="no" translate="yes"> diff --git a/locales/tr.lng b/locales/tr.lng index 325be245a..28ff24c7b 100644 --- a/locales/tr.lng +++ b/locales/tr.lng @@ -344,54 +344,6 @@ An error occurred while editing the following entries. Please check syntax.==AÅŸ Activate this list for ...==Bu listeyi ÅŸunun için etkinleÅŸtirin: #----------------------------- -#File: Blog.html -#--------------------------- -"RSS"=="RSS" -"Submit"=="Gönder" -"Preview"=="Önizleme" -"Discard"=="Reddet" -"Yes, delete it."=="Evet, silin." -"No, leave it."=="Hayır, bırak gitsin." -"Import"=="İçe aktarmak" -<< previous entries==<< önceki giriÅŸler -next entries >>==sonraki giriÅŸler >> -Blog-Home==Blog Ana Sayfası -Edit==Düzenle -Author:==Yazar: -Subject:==BaÅŸlık: -Text:==Metin: -Comments:==Yorumlar: -deactivated==devre dışı -activated==etkinleÅŸtirildi -moderated==modere edilmiÅŸ -Preview==Önizleme -No changes have been submitted so far!==Åžimdiye kadar hiçbir deÄŸiÅŸiklik gönderilmedi! -Access denied==EriÅŸim reddedildi -To edit or create blog-entries you need to be logged in as Admin or User who has Blog rights.==Blog giriÅŸlerini düzenlemek veya oluÅŸturmak için Admin veya Blog haklarına sahip bir kullanıcı olarak giriÅŸ yapmalısınız. -Are you sure...==Emin misin... -Confirm deletion==Silme iÅŸlemini onayla -XML-Import==XML-İçe Aktarma -Import was successful!==İçe aktarma baÅŸarılı! -Import failed, maybe the supplied file was no valid blog-backup?==İçe aktarma baÅŸarısız, belki saÄŸlanan dosya geçerli bir blog yedekleme dosyası deÄŸil? -Please select the XML-file you want to import:==Lütfen içe aktarmak istediÄŸiniz XML dosyasını seçin: -#----------------------------- - -#File: BlogComments.html -#--------------------------- -"Submit"=="Gönder" -"Preview"=="Önizleme" -"Discard"=="Reddet" -Blog-Home==Blog Ana Sayfası -Comments:==Yorumlar: -<< previous entries==<< önceki giriÅŸler -next entries >>==sonraki giriÅŸler >> -Comments are not allowed for this posting!==Bu gönderiye yorum yapılmasına izin verilmiyor! -Comment on this Blog==Bu Bloga yorum yapın -Author:==Yazar: -Subject:==BaÅŸlık: -Text:==Metin: -#----------------------------- - #File: Bookmarks.html #--------------------------- "RSS"=="RSS" @@ -459,58 +411,10 @@ Private Queue==Özel Sıra Public Queue==Genel Sıra #----------------------------- -#File: ConfigAccountList_p.html -#--------------------------- -User List==Kullanıcı Listesi -User Accounts==Kullanıcı Hesapları -User==Kullanıcı -First name==Ad -Last name==Soyad -Address==Adres -Last Access==Son EriÅŸim -Rights==Haklar -Time==Zaman -Traffic==Trafik -#----------------------------- - #File: ConfigAccounts_p.html #--------------------------- -"Define Administrator"=="Yönetici Belirle" -"Set Access Rules"=="EriÅŸim Kurallarını Ayarlayın" -"Edit User"=="Kullanıcıyı Düzenle" -"Delete User"=="Kullanıcıyı Sil" -"Save User"=="Kullanıcıyı Kaydet" -User Administration==Kullanıcı Yönetimi -Generic error.==Genel hata. Passwords do not match.==Parolalar uyuÅŸmuyor. -Username too short. Username must be >= 4 Characters.==Kullanıcı adı çok kısa. Kullanıcı adı 4 veya daha fazla karakter olmalı. -Username already used (not allowed).==Kullanıcı adı zaten kullanılıyor (izin verilmiyor). -<b>WARNING</b> This YaCy instance can be administered with the account "admin" and the default password "yacy".==<b>WARNING</b> Bu YaCy örneÄŸi "admin" hesabı ve varsayılan ÅŸifre "yacy" ile yönetilebilir. -Change the password as soon as possible!==Åžifreyi mümkün olan en kısa sürede deÄŸiÅŸtirin! Admin Account==Yönetici Hesabı -Access from localhost without account==Hesapsız localhost eriÅŸimi -Access to your peer from your own computer (localhost access) is granted with administrator rights. No need to configure an administration account.==Kendi bilgisayarınızdan eÅŸinize eriÅŸim (localhost eriÅŸimi), yönetici hakları ile verilmiÅŸtir. Bir yönetici hesabı yapılandırmaya gerek yok. -This setting is convenient but less secure than using a qualified admin account.==Bu ayar kullanışlıdır ancak nitelikli bir yönetici hesabı kullanmaktan daha az güvenlidir. -Please use with care, notably when you browse untrusted and potentially malicious websites while running your YaCy peer on the same computer.==Lütfen, özellikle güvenilmeyen ve potansiyel olarak kötü amaçlı web sitelerine göz atarken ve aynı bilgisayarda YaCy eÅŸinizi çalıştırırken dikkatli kullanın. -Access only with qualified account==Sadece yetkili hesap ile eriÅŸim -This is required if you want a remote access to your peer, but it also hardens access controls on administration operations of your peer.==EÅŸinize uzaktan eriÅŸim istiyorsanız bu gereklidir, ancak aynı zamanda eÅŸinizin yönetim iÅŸlemlerine iliÅŸkin eriÅŸim kontrollerini de güçlendirir. -Peer User:==EÅŸ Kullanıcısı: -New Peer Password:==Yeni EÅŸ Parolası: -Repeat Peer Password:==EÅŸ Parolasını Tekrarla: -Access Rules==EriÅŸim Kuralları -Protection of all pages: if set to on, access to all pages need authorization; if off, only pages with "_p" extension are protected.==Tüm sayfaların korunması: Açık olarak ayarlanırsa tüm sayfalara eriÅŸim için yetkilendirme gerekir; kapalıysa yalnızca "_p" uzantılı sayfalar korunur. -User Accounts==Kullanıcı Hesapları -Select user==Kullanıcı seç -New user==Yeni kullanıcı -Username==Kullanıcı Adı -Password==Åžifre -Repeat password==Parolayı tekrarla -First name==Ad -Last name==Soyad -Address==Adres -Rights:==Haklar: -Timelimit==Zaman sınırı -Time used==Kullanılan zaman #----------------------------- #File: ConfigAppearance_p.html @@ -888,8 +792,6 @@ Status page==Durum sayfası Network pages==AÄŸ sayfaları Surftips==Surf İpuçları News pages==Haber sayfaları -Blog==Blog -Wiki==Viki Public bookmarks==Genel yer imleri Home Page==Ana Sayfa File Share==Dosya Paylaşımı @@ -1049,28 +951,6 @@ manual update:<br/>apt-get update && apt-get install yacy==manuel günce automatic update: add the following line to /etc/crontab<br/>0 6 * * * root apt-get update && apt-get -y --force-yes install yacy==otomatik güncelleme: /etc/crontab<br/>0'a aÅŸağıdaki satırı ekleyin 6 * * * root apt-get update && apt-get -y --force-yes install yacy #----------------------------- -#File: ConfigUser_p.html -#--------------------------- -"Save User"=="Kullanıcıyı Kaydet" -"Delete User"=="Kullanıcıyı Sil" -"ConfigAccountList_p.html"=="ConfigAccountList_p.html" -User Account Editor==Kullanıcı Hesabı Düzenleyicisi -Generic error.==Genel hata. -Passwords do not match.==Parolalar uyuÅŸmuyor. -Username too short. Username must be >= 4 Characters.==Kullanıcı adı çok kısa. Kullanıcı adı 4 veya daha fazla karakter olmalı. -Username already used (not allowed).==Kullanıcı adı zaten kullanılıyor (izin verilmiyor). -Username==Kullanıcı Adı -Password==Åžifre -Repeat password==Parolayı tekrarla -First name==Ad -Last name==Soyad -Address==Adres -Rights:==Haklar: -Timelimit==Zaman sınırı -Time used==Kullanılan zaman -back to user list==kullanıcı listesine geri dön -#----------------------------- - #File: Connections_p.html #--------------------------- Server Connection Tracking==Sunucu BaÄŸlantı Takibi @@ -2477,8 +2357,6 @@ inbox==Gelen Kutusu "DHT Receive: yes"=="DHT Alımı: evet" "DHT receive enabled"=="DHT alımı etkin" "Profile updated"=="Profil güncellendi" -"Wiki updated"=="Wiki güncellendi" -"Blog updated"=="Blog güncellendi" "Crawl"=="Sürünmek" "The YaCy Network"=="YaCy Ağı" "Type: Virgin"=="Tür: Bakire" @@ -2524,7 +2402,6 @@ Received DHT<br/>Word Chunks==DHT<br/>Kelime Parçaları alındı Received<br/>URLs==Alınan<br/>URL'ler Location==Konum user agent<br/>==kullanıcı aracısı<br/> -send <strong>M</strong>essage/<br/>show <strong>P</strong>rofile/<br/>edit <strong>W</strong>iki/<br/>browse <strong>B</strong>log==Mesaj gönder (<strong>m</strong>)/<br/>Profil göster (<strong>p</strong>)/<br/>Wiki düzenle (<strong>w</strong>)/<br/>Blogu gözat (<strong>b</strong>) Network==AÄŸ Online Peers==Çevrimiçi Akranlar Number of<br/>Documents==<br/>Belge sayısı @@ -2595,7 +2472,6 @@ 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==Yeni baÅŸlatılan taramaların bir tablosu Index Create sayfasında sunulmaktadır. A change in the personal profile will create a news entry. You can see recently made changes of==KiÅŸisel profilde bir deÄŸiÅŸiklik bir haber giriÅŸi oluÅŸturacaktır. Son zamanlarda yapılan deÄŸiÅŸiklikleri görebilirsiniz. profile entries on the Network page, where that profile change is visualized with a '*' beside the 'P' (profile) - selector.==Profil deÄŸiÅŸikliÄŸi 'P' (profil) - seçici yanındaki '*' ile görselleÅŸtirilen AÄŸ sayfasındaki profil giriÅŸlerinde görselleÅŸtirilir. -Publishing of added or modified translation for the user interface. Other peers may include it in their local translation list.==Kullanıcı arayüzü için eklenen veya deÄŸiÅŸtirilen çevirinin yayınlanması. DiÄŸer meslektaÅŸları bunu kendi yerel çeviri listelerine ekleyebilirler. More news services will follow.==Daha fazla haber servisi izleyecek. Above you can see four menus:==Yukarıda dört menüyü görebilirsiniz: Only these news will be used to display specific news services as explained above.==Yalnızca bu haberler, yukarıda açıklandığı gibi belirli haber servislerini görüntülemek için kullanılacaktır. @@ -3001,23 +2877,18 @@ Age==YaÅŸ "Reset to defaults settings"=="Varsayılan ayarlara sıfırla" limitations==sınırlamalar Local Search access rate limitations==Yerel Arama eriÅŸim oranı sınırlamaları -You can configure here limitations on access rate to this peer search interface by unauthenticated users and users without extended search right==KimliÄŸi doÄŸrulanmamış kullanıcılar ve geniÅŸletilmiÅŸ arama hakkı olmayan kullanıcılar tarafından bu eÅŸ arama arayüzüne eriÅŸim hızına iliÅŸkin sınırlamaları burada yapılandırabilirsiniz. YaCy search==YaCy arama Access rate limitations to this peer search interface.==Bu eÅŸ arama arayüzüne eriÅŸim hızı sınırlamaları. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search is blocked.==Sınırlı haklara sahip bir kullanıcı (kimliÄŸi doÄŸrulanmamış veya geniÅŸletilmiÅŸ arama hakkı olmayan) bir sınırı aÅŸtığında arama engellenir. Max searches in 3s==3 saniyede maksimum arama Max searches in 1mn==1 dakikada maksimum arama Max searches in 10mn==10 dakika içinde maksimum arama sayısı Peer-to-peer search==EÅŸler arası arama Access rate limitations to the peer-to-peer search mode.==EÅŸler arası arama moduna eriÅŸim hızı sınırlamaları. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search scope falls back to only this local peer index.==Sınırlı haklara sahip bir kullanıcı (kimliÄŸi doÄŸrulanmamış veya geniÅŸletilmiÅŸ arama hakkı olmayan) bir sınırı aÅŸtığında, arama kapsamı yalnızca bu yerel eÅŸ dizinine düşer. Max searches in 10mn==10 dakikada maksimum arama Peer-to-peer search with JavaScript results resorting==JavaScript sonuçlarının kullanıldığı eÅŸler arası arama Access rate limitations to the peer-to-peer search mode with browser-side JavaScript results resorting enabled==Tarayıcı tarafı JavaScript sonuçlarına baÅŸvurmanın etkin olduÄŸu eÅŸler arası arama moduna eriÅŸim hızı sınırlamaları -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, results resorting becomes only applicable on demand, server-side.==Sınırlı haklara sahip bir kullanıcı (kimliÄŸi doÄŸrulanmamış veya geniÅŸletilmiÅŸ arama hakkı olmayan) bir sınırı aÅŸtığında, sonuçlara baÅŸvurulması yalnızca talep üzerine, sunucu tarafında uygulanabilir hale gelir. Remote snippet load==Uzaktan snippet yükleme Limitations on snippet loading from remote websites.==Uzak web sitelerinden snippet yüklemeye iliÅŸkin sınırlamalar. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the snippets fetch strategy falls back to 'CACHEONLY'==Sınırlı haklara sahip (kimliÄŸi doÄŸrulanmamış veya geniÅŸletilmiÅŸ arama hakkı olmayan) bir kullanıcı bir sınırı aÅŸtığında, snippet'leri getirme stratejisi 'YALNIZCA ÖNBELLEK' durumuna geri döner Max searches in 3s==3 saniyede maksimum arama <em id="changeInfo">Changes will take effect immediately.</em>==<em id="changeInfo">DeÄŸiÅŸiklikler hemen geçerli olacaktır.</em> #----------------------------- @@ -3242,14 +3113,9 @@ These settings configure the access method to your own http proxy and server.==B All traffic is routed through one single port, for both proxy and server.==Tüm trafiÄŸin, hem proxy hem de sunucu için tek bir port üzerinden yönlendirildiÄŸi. HTTPS Server Port:==HTTPS Sunucu BaÄŸlantı Noktası: Server Access Restrictions==Sunucu EriÅŸim Kısıtlamaları -You can restrict the access to this proxy/server using a two-stage security barrier:==Bu proxy/sunucuya eriÅŸimi, iki aÅŸamalı bir güvenlik bariyeri kullanarak sınırlayabilirsiniz: define an <em>access domain</em> with a list of granted client IP-numbers or with wildcards==bir <em>eriÅŸim alanı</em> tanımlayın ve onaylanmış istemci IP numaraları listesi veya joker karakterlerle belirtin -define an <em>user account</em> with an user:password - pair==bir <em>kullanıcı hesabı</em> belirtin ve bir kullanıcı:ÅŸifre çifti ile eÅŸleÅŸtirin -This is the account that restricts access to the proxy function.==Bu, proxy fonksiyonuna eriÅŸimi sınırlayan hesaptır. You probably don't want to share the proxy to the internet, so you should set the==Proxy'yi muhtemelen internetle paylaÅŸmak istemezsiniz, bu yüzden IP-Number Access Domain to a pattern that corresponds to you local intranet.==IP Numarası EriÅŸim Alanınızı yerel intranetinize uygun bir desene ayarlamanız gerekir. -The default setting should be right in most cases. If you want, you can also set a proxy account==Varsayılan ayar çoÄŸu durumda doÄŸru olmalıdır. İsterseniz bir proxy hesabı da ayarlayabilirsiniz -so that every proxy user must authenticate first, but this is rather unusual.==böylece her proxy kullanıcısının önce kimlik doÄŸrulaması yapması gerekir, ancak bu pek alışılmış bir durum deÄŸildir. IP-Number filter==IP-Numarası Filtresi Accounts==Hesaplar #----------------------------- @@ -3640,59 +3506,6 @@ Save Tools Configuration==Araç Yapılandırmasını Kaydet CyTag Trails==CyTag Parkurları #----------------------------- -#File: TransNews_p.html -#--------------------------- -"Publish"=="Yayınla" -"negative vote"=="Negatif oy" -"positive vote"=="Pozitif oy" -You can share your local addition to translations and distribute it to other peers.==Yerel eklerinizi çevirilere paylaÅŸabilir ve diÄŸer meslektaÅŸlarınıza dağıtabilirsiniz. -The remote peer can vote on your translation and add it to its own local translation.==Uzaktaki eÅŸ, çevirinize oy verebilir ve onu kendi yerel çevirisine ekleyebilir. -File:==Dosya: -Originator==BaÅŸlatan -English:==İngilizce: -existing==mevcut -Translation:==Çeviri: -Vote on this translation. If you vote positive the translation is added to your local translation list.==Bu çeviriye oy verin. Olumlu oy verirseniz çeviri yerel çeviri listenize eklenir. -#----------------------------- - -#File: Translator_p.html -#--------------------------- -"Save translation"=="Çeviriyi kaydet" -Translation Editor==Çeviri Düzenleyici -Translate untranslated text of the user interface (current language). The modified translation file is stored in DATA/LOCALE directory.==Kullanıcı arayüzünün çevrilmemiÅŸ metnini çevirin (geçerli dil). DeÄŸiÅŸtirilen çeviri dosyası DATA/LOCALE dizininde saklanır. -UI Translation==UI Çevirisi -Source File==Kaynak Dosya -view it==onu görüntüle -filter untranslated==çevrilmemiÅŸ olanı filtrele -Source Text==Kaynak Metin -#----------------------------- - -#File: User.html -#--------------------------- -"login"=="giriÅŸ" -"logout"=="oturumu kapat" -"red bar"=="kırmızı çubuk" -"green bar"=="yeÅŸil çubuk" -"Change"=="DeÄŸiÅŸtir" -User Page==Kullanıcı Sayfası -You are not logged in.==Oturum açmadınız. -Username:==Kullanıcı Adı: -Password:==Åžifre: -(Identified by==(Tanımlayan -IP==IP -Username/Password==Kullanıcı adı/Password -Cookie==Çerez -old Password==eski Åžifre -new Password==Yeni Åžifre -new Password(repetition)==yeni Åžifre (tekrar) -You are currently logged in as admin.==Åžu anda admin olarak giriÅŸ yaptınız. -(after logout you will be prompted for your password again. simply click "cancel")==(çıkış yaptıktan sonra ÅŸifreniz tekrar istenecek. sadece "iptal"e tıklayın) -Password was changed.==Åžifre deÄŸiÅŸtirildi. -Old Password is wrong.==Eski Åžifre yanlış. -New Password and its repetition do not match.==Yeni Åžifre ve tekrarı uyuÅŸmuyor. -New Password is empty.==Yeni Åžifre boÅŸ. -#----------------------------- - #File: VFS.html #--------------------------- "File system browser"=="Dosya sistemi tarayıcısı" @@ -3896,40 +3709,9 @@ Other Dot==DiÄŸer Nokta Dot-end==Nokta sonu #----------------------------- -#File: Wiki.html -#--------------------------- -"all"=="Tümü" -"admin"=="yönetici" -"Submit"=="Gönder" -"Preview"=="Önizleme" -"Discard"=="Reddet" -"Show"=="Göster" -"Compare"=="KarşılaÅŸtır" -(only granted to admin)==(yalnızca yöneticiye verilir) -Index -==Dizin - -Grant Write Access to==Wiki'yi düzenleme izni ver: -Edit==Düzenle -Author:==Yazar: -Text:==Metin: -Preview==Önizleme -No changes have been submitted so far!==Åžu ana kadar hiçbir deÄŸiÅŸiklik gönderilmedi! -Index==Dizin -Subject==Konu -Change Date==DeÄŸiÅŸtirme Tarihi -Last Author==Son Yazar -Start Page==BaÅŸlangıç Sayfası -Versions==Sürümler -Compare version from==Åžu sürümüyle karşılaÅŸtır -with version from==ÅŸu sürümle -Error==Hata -You can use==Åžunları kullanabilirsiniz -Changes will be published as announcement on YaCyNews==DeÄŸiÅŸiklikler, YaCyNews'te bir duyuru olarak yayınlanacaktır. -#----------------------------- - -#File: WikiHelp.html +#File: WikiCodeHelp.html #--------------------------- Wiki-Code==Wiki Kodu -This table contains a short description of the tags that can be used in the Wiki and several other servlets==Bu tablo Wiki'de ve diÄŸer bazı sunucu uygulamalarında kullanılabilecek etiketlerin kısa bir açıklamasını içerir. of YaCy. For a more detailed description visit the==YaCy. Daha ayrıntılı bir açıklama için ÅŸu adresi ziyaret edin: Code==Kod Description==Açıklama @@ -3954,7 +3736,6 @@ These tags create a definition list.==Bu etiketler bir tanım listesi oluÅŸturur This tag creates a horizontal line.==Bu etiket yatay bir çizgi oluÅŸturur. [[pagename]]==[[sayfa adı]] [[pagename|description]]==[[sayfa adı|açıklama]] -This tag creates links to other pages of the wiki.==Bu etiket, wikinin diÄŸer sayfalarına baÄŸlantılar oluÅŸturur. [url]==[URL'si] [url description]==[url açıklaması] This tag creates links to external websites.==Bu etiket, harici web sitelerine baÄŸlantılar oluÅŸturur. @@ -4279,7 +4060,6 @@ Outgoing News==Giden Haberler Published News==Yayınlanan Haberler Community Data==Topluluk Verileri Surftips==Surf İpuçları -Local Peer Wiki==Yerel Akran Wiki Bookmarks==Yer imleri #----------------------------- @@ -4290,7 +4070,6 @@ Advanced Settings==GeliÅŸmiÅŸ Ayarlar Performance Settings of Busy Queues==MeÅŸgul Kuyrukların Performans Ayarları Viewer and administration for database tables==Veritabanı tabloları için görüntüleyici ve yönetim Advanced Properties==GeliÅŸmiÅŸ Özellikler -UI Translations==Kullanıcı Arayüzü Çevirileri #----------------------------- #File: env/templates/submenuCrawlMonitor.template @@ -4398,13 +4177,6 @@ User Profile==Kullanıcı Profili Local robots.txt==Yerel robots.txt #----------------------------- -#File: env/templates/submenuPublication.template -#--------------------------- -Publication==Yayın -Wiki==Viki -Blog==Blog -#----------------------------- - #File: env/templates/submenuRanking.template #--------------------------- Ranking and Heuristics==Sıralama ve BuluÅŸsal Yöntem @@ -4551,14 +4323,6 @@ Get the latest Java Plug-in here.==En son Java Eklentisini buradan alın. Built with Processing==İşlemeyle OluÅŸturuldu #----------------------------- -#File: proxymsg/authfail.inc -#--------------------------- -"login"=="giriÅŸ" -Your Username/Password is wrong.==Kullanıcı Adınız/Password yanlış. -Username==Kullanıcı Adı -Password==Åžifre -#----------------------------- - #File: proxymsg/error.html #--------------------------- YaCy: Error Message==YaCy: Hata Mesajı diff --git a/locales/uk.lng b/locales/uk.lng index 462ed9afa..3d958609d 100644 --- a/locales/uk.lng +++ b/locales/uk.lng @@ -143,55 +143,6 @@ DHT==DHT News==Ðовини Proxy==ПрокÑÑ– The tested URL was not valid.==Перевірений URL недійÑний. -#File: Blog.html -Edit==Редагувати -#--------------------------- -Blog-Home==Початкова Ñторінка блогу -Author:==Ðвтор: -Subject:==Заголовок: -Text:==ТекÑÑ‚: -Comments:==Коментарі: -deactivated==вимкнені -moderated==модеровані -"Submit"=="Відправити" -"Preview"=="Попередній переглÑд" -"Discard"=="СкаÑувати" -No changes have been submitted so far!==Ще не було передано жодних змін! -Access denied==Ð’ доÑтупі відмовлено -To edit or create blog-entries you need to be logged in as Admin or User who has Blog rights.==Ð”Ð»Ñ Ð·Ð¼Ñ–Ð½Ð¸ або ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñів блогу ви повинні ввійти Ñк Admin чи уповноважений кориÑтувач. -Confirm deletion==Підтвердити Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ -Import was successful!==УÑпішно імпортовано! -Import failed, maybe the supplied file was no valid blog-backup?==Імпорт не вдавÑÑ. Можливо, наданий файл не був правильною резервною копією блогу? -Ð†Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°ÐºÑ–Ð½Ñ‡Ð¸Ð»Ð¾ÑÑ Ð½ÐµÐ²Ð´Ð°Ñ‡ÐµÑŽ, можливо поначений файл не був дійÑною резервною копією блогу? -Please select the XML-file you want to import:==Будь-лаÑка, виберіть XML-файл, Ñкий потрібно імпортувати: -"Import"=="Імпорт" -#----------------------------- - -"RSS"=="RSS" -"Yes, delete it."=="Так, видалити." -"No, leave it."=="ÐÑ–, залиште." -<< previous entries==<< попередніх запиÑів -next entries >>==наÑтупні запиÑи >> -activated==активовано -Preview==Попередній переглÑд -Are you sure...==Ви впевнені... -XML-Import==XML-Імпорт -#File: BlogComments.html -Comments:==Коментарі: -#--------------------------- -Blog-Home==Початкова Ñторінка блогу -Author:==Ðвтор: -Subject:==Заголовок: -Text:==ТекÑÑ‚: -"Submit"=="Відправити" -"Preview"=="Попередній переглÑд" -"Discard"=="СкаÑувати" -#----------------------------- - -<< previous entries==<< попередніх запиÑів -next entries >>==наÑтупні запиÑи >> -Comments are not allowed for this posting!==Коментарі до цієї публікації заборонені! -Comment on this Blog==Прокоментуйте цей блог #File: Bookmarks.html "Save"=="Зберегти" #--------------------------- @@ -274,46 +225,11 @@ Search Result==Результати пошуку loading....==завантаженнÑ.... #File: ConfigAccounts_p.html -Username==КориÑтувач #--------------------------- -User Accounts==Облікові запиÑи кориÑтувачів -User Administration==ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувачами -Generic error.==Загальна помилка. Passwords do not match.==Паролі не збігаютьÑÑ. Admin Account==Обліковий Ð·Ð°Ð¿Ð¸Ñ Ð°Ð´Ð¼Ñ–Ð½Ñ–Ñтратора -Access from localhost without account==ДоÑтуп з міÑцевого хоÑту без облікового запиÑу -Access only with qualified account==ДоÑтуп тільки з відповідного облікового запиÑу -Peer User:==КориÑтувач вузла: -New Peer Password:==Ðовий пароль: -Repeat Peer Password:==Повтор паролю: -"Define Administrator"=="Визначити адмініÑтратора" -Select user==Вибрати кориÑтувача -New user==Ðовий кориÑтувач -Repeat password==Повтор Ð¿Ð°Ñ€Ð¾Ð»Ñ -First name==Ð†Ð¼â€™Ñ -Last name==Прізвище -Address==ÐдреÑа -Timelimit==ЧаÑове Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ -Time used==ЧаÑу викориÑтано - #----------------------------- -"Set Access Rules"=="Ð’Ñтановити правила доÑтупу" -"Edit User"=="Редагувати кориÑтувача" -"Delete User"=="Видалити кориÑтувача" -"Save User"=="Зберегти кориÑтувача" -Username too short. Username must be >= 4 Characters.==Ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача занадто коротке. Ð†Ð¼â€™Ñ ÐºÐ¾Ñ€Ð¸Ñтувача має міÑтити >= 4 Ñимволи. -Username already used (not allowed).==Ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача вже викориÑтано (не дозволено). -<b>WARNING</b> This YaCy instance can be administered with the account "admin" and the default password "yacy".==<b>WARNING</b> Цим екземплÑром YaCy можна керувати за допомогою облікового запиÑу «admin» Ñ– Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð·Ð° умовчаннÑм «yacy». -Change the password as soon as possible!==Змініть пароль Ñкнайшвидше! -Access to your peer from your own computer (localhost access) is granted with administrator rights. No need to configure an administration account.==ДоÑтуп до вашого вузла з вашого влаÑного комп’ютера (доÑтуп до локального хоÑту) надаєтьÑÑ Ð· правами адмініÑтратора. Ðе потрібно налаштовувати обліковий Ð·Ð°Ð¿Ð¸Ñ Ð°Ð´Ð¼Ñ–Ð½Ñ–Ñтратора. -This setting is convenient but less secure than using a qualified admin account.==Цей параметр зручний, але менш безпечний, ніж викориÑÑ‚Ð°Ð½Ð½Ñ ÐºÐ²Ð°Ð»Ñ–Ñ„Ñ–ÐºÐ¾Ð²Ð°Ð½Ð¾Ð³Ð¾ облікового запиÑу адмініÑтратора. -Please use with care, notably when you browse untrusted and potentially malicious websites while running your YaCy peer on the same computer.==Будь лаÑка, викориÑтовуйте обережно, оÑобливо коли ви переглÑдаєте ненадійні та потенційно зловмиÑні веб-Ñайти під Ñ‡Ð°Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ вашого однорангового YaCy на тому Ñамому комп’ютері. -This is required if you want a remote access to your peer, but it also hardens access controls on administration operations of your peer.==Це потрібно, Ñкщо вам потрібен віддалений доÑтуп до вашого однорангового вузла, але це також поÑилює контроль доÑтупу до операцій адмініÑÑ‚Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð°ÑˆÐ¾Ð³Ð¾ однорангового вузла. -Access Rules==Правила доÑтупу -Protection of all pages: if set to on, access to all pages need authorization; if off, only pages with "_p" extension are protected.==ЗахиÑÑ‚ уÑÑ–Ñ… Ñторінок: Ñкщо ввімкнено, Ð´Ð»Ñ Ð´Ð¾Ñтупу до вÑÑ–Ñ… Ñторінок потрібна авторизаціÑ; Ñкщо вимкнено, захищені лише Ñторінки з розширеннÑм "_p". -Password==Пароль -Rights:==права: #File: ConfigAppearance_p.html Text==ТекÑÑ‚ #--------------------------- @@ -691,7 +607,6 @@ Status page==Сторінки Ñтану Network pages==Сторінки мережі Surftips==Порад по Ñерфінгу News pages==Сторінки новин -Blog==Блогу Public bookmarks==Публічних закладок Home Page==Домашньої Ñторінки File Share==Обміну файлами @@ -706,7 +621,6 @@ Unable to access the local file:==Ðеможливо отримати доÑту Deletion of==Ð’Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ htroot/robots.txt==htroot/robots.txt failed==не вдалоÑÑ -Wiki==Wiki #File: ConfigSearchBox.html #--------------------------- Integration of a Search Box==Ð†Ð½Ñ‚ÐµÐ³Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€Ñдка пошуку @@ -1689,7 +1603,6 @@ The information that is presented on this page can also be retrieved as XML.==І Click the API icon to see the XML.==ÐатиÑніть значок API Ð´Ð»Ñ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ XML. Network Overview==ОглÑд мережі Manually contacting Peer==Ручний зв’Ñзок -send <strong>M</strong>essage/<br/>show <strong>P</strong>rofile/<br/>edit <strong>W</strong>iki/<br/>browse <strong>B</strong>log==надіÑлати <strong>п</strong>овідомленнÑ/<br/>показати <strong>п</strong>рофіль/<br/>редагувати <strong>W</strong>iki/<br/>переглÑнути <strong>б</strong>лог Search for a peername (RegExp allowed)==Пошук імені вузла (RegExp) "Search"=="Пошук" Last<br/>Seen==ВоÑтаннє<br/>відомий @@ -1742,8 +1655,6 @@ this peer==ваш вузол "Type: Principal | Contact: offline | Seed download: ?"=="Тип: Головний | Контакт: офлайн | Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ð³Ð¾ матеріалу: ?" "Principal offline"=="Директор офлайн" "Profile updated"=="Профіль оновлено" -"Wiki updated"=="Wiki оновлено" -"Blog updated"=="Блог оновлено" "Crawl"=="Сканувати" "Type: Virgin"=="Тип: Діва" "Virgin"=="БогородицÑ" @@ -1849,7 +1760,6 @@ Attributes==ВлаÑтивоÑті "Processed News"=="Оброблені новини" "Outgoing News"=="Вихідні новини" "Published News"=="Опубліковані новини" -Publishing of added or modified translation for the user interface. Other peers may include it in their local translation list.==ÐŸÑƒÐ±Ð»Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð´Ð¾Ð´Ð°Ð½Ð¾Ð³Ð¾ або зміненого перекладу Ð´Ð»Ñ Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñу кориÑтувача. Інші однолітки можуть включити його до Ñвого локального ÑпиÑку перекладів. #File: Performance_p.html "Save"=="Зберегти" #--------------------------- @@ -2205,14 +2115,9 @@ Proxy Access Settings==ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¾Ñтупу до прокÑÑ– These settings configure the access method to your own http proxy and server.==Ці Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°ÑŽÑ‚ÑŒ ÑпоÑіб доÑтупу до вашого влаÑного HTTP-прокÑÑ– та Ñервера. All traffic is routed through one single port, for both proxy and server.==УвеÑÑŒ трафік прокÑÑ– й Ñервера проходить через один порт. Server Access Restrictions==ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð´Ð¾Ñтупу до Ñервера -You can restrict the access to this proxy/server using a two-stage security barrier:==Ви можете обмежити доÑтуп до цього прокÑÑ–/Ñервера за допомогою двоÑтупеневого захиÑту: define an <em>access domain</em> with a list of granted client IP-numbers or with wildcards==визначити <em>домен доÑтупу</em> зі ÑпиÑком дозволених IP-Ð°Ð´Ñ€ÐµÑ ÐºÐ»Ñ–Ñ”Ð½Ñ‚Ñ–Ð² або шаблонів -define an <em>user account</em> with an user:password - pair==визначити <em>обліковий Ð·Ð°Ð¿Ð¸Ñ ÐºÐ¾Ñ€Ð¸Ñтувача</em> з парою user:password -This is the account that restricts access to the proxy function.==Цей обліковий Ð·Ð°Ð¿Ð¸Ñ Ð¾Ð±Ð¼ÐµÐ¶ÑƒÑ” доÑтуп до функції прокÑÑ–. 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.==домен доÑтупу IP-номерів на шаблон, що відповідає вашій локальній інтрамережі. -The default setting should be right in most cases. If you want, you can also set a proxy account==Типове Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ–Ð´Ñ…Ð¾Ð´Ð¸Ñ‚ÑŒ у більшоÑті випадків. За потреби можна також задати обліковий Ð·Ð°Ð¿Ð¸Ñ Ð¿Ñ€Ð¾ÐºÑÑ–, -so that every proxy user must authenticate first, but this is rather unusual.==щоб кожен кориÑтувач прокÑÑ– Ñпочатку проходив автентифікацію, але це доÑить незвично. IP-Number filter==Фільтр IP-номерів #--------------------------- Transparent Proxy==Прозорий прокÑÑ– @@ -2756,32 +2661,6 @@ YaCy Debugging: Thread Dump==Ð’Ñ–Ð´Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ YaCy: Dump потоку #----------------------------- Threaddump==Дамп потоку -#File: User.html -#--------------------------- -User Page==Сторінка кориÑтувача -Username:==Ð†Ð¼â€™Ñ ÐºÐ¾Ñ€Ð¸Ñтувача: -"login"=="ввійти" -old Password==Ñтарий пароль -new Password(repetition)==новий пароль (повтор) -"Change"=="Змінити" -You are currently logged in as admin.==Ð’ даний момент ви увійшли в ÑиÑтему Ñк адмініÑтратор. -(after logout you will be prompted for your password again. simply click "cancel")==(піÑÐ»Ñ Ð²Ð¸Ñ…Ð¾Ð´Ñƒ вам буде запропоновано ввеÑти пароль ще раз. ПроÑто натиÑніть на "ÑкаÑувати") -Password was changed.==Пароль було змінено. -Old Password is wrong.==Старий пароль неправильний. -New Password and its repetition do not match.==Ðовий пароль Ñ– його Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ðµ збігаютьÑÑ. -New Password is empty.==Ðовий пароль порожній. -#----------------------------- - -"logout"=="вийти з ÑиÑтеми" -"red bar"=="червона Ñмуга" -"green bar"=="зелена Ñмуга" -You are not logged in.==Ви не ввійшли в ÑиÑтему. -Password:==Пароль: -(Identified by==(Ідентифіковано -IP==IP -Username/Password==Ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача/Password -Cookie==Печиво -new Password==новий пароль #File: ViewFile.html Description:==ОпиÑ: no==ні @@ -2967,41 +2846,9 @@ Line==Ð»Ñ–Ð½Ñ–Ñ Pivot Dot==Опорна точка Other Dot==Інша точка Dot-end==Крапка -#File: Wiki.html -Edit==Редагувати -#--------------------------- -Grant Write Access to==Дозволити наÑтупним кориÑтувачам змінювати Wiki -# !!! Do not translate the input buttons because that breaks the function to switch rights !!! -Start Page==Початкова Ñторінка -Index==Ð†Ð½Ð´ÐµÐºÑ -Versions==ВерÑÑ–Ñ— -Author:==Ðвтор: -Text:==ТекÑÑ‚: -You can use==Ви можете тут викориÑтовувати -"Submit"=="ÐадіÑлати" -"Preview"=="Попередній переглÑд" -"Discard"=="Відкинути" -No changes have been submitted so far!==Поки-що не надіÑлано жодних змін! -Subject==Ðазва -Change Date==Дата зміни -Last Author==ОÑтанній автор -Compare version from==ПорівнÑÐ½Ð½Ñ Ð²ÐµÑ€ÑÑ–Ñ— -"Show"=="Показати" -with version from==з верÑією -"Compare"=="ПорівнÑти" -Changes will be published as announcement on YaCyNews==Зміни будуть опубліковані у Ñлужбі новин YaCy. -#----------------------------- - -"all"=="вÑе" -"admin"=="адмін" -(only granted to admin)==(надаєтьÑÑ Ð»Ð¸ÑˆÐµ адмініÑтратору) -Index -==Ð†Ð½Ð´ÐµÐºÑ - -Preview==Попередній переглÑд -Error==Помилка -#File: WikiHelp.html +#File: WikiCodeHelp.html #--------------------------- Wiki-Code==Команди Wiki -This table contains a short description of the tags that can be used in the Wiki and several other servlets==Ð¦Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¼Ñ–Ñтить короткий Ð¾Ð¿Ð¸Ñ ÐºÐ¾Ð´Ñ–Ð², що можуть бути викориÑтані у YaCy-Wiki та інших міÑцÑÑ…. of YaCy. For a more detailed description visit the==Детальний Ð¾Ð¿Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð° знайти на Description==ÐžÐ¿Ð¸Ñ text==текÑÑ‚ @@ -3012,7 +2859,6 @@ These tags create a numbered list.==Ці коданди Ñтворюють ноРThese tags create an unnumbered list.==Ці коданди Ñтворюють неномерований ÑпиÑок. These tags create a definition list.==Ці команди Ñтворюють ÑпиÑок визначень. This tag creates a horizontal line.==Цей код Ñтворює горизонтальну лінію. -This tag creates links to other pages of the wiki.==Цей код Ñтворює поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° іншу Ñторінку у Wiki. This tag displays an image, it can be aligned left, right or center.==Це код вÑтавки зображеннÑ, Ñке може бути залишено (left), вирівнÑно по правому краю (right) або виÑтавлено поÑередині (center). These tags create a table, whereas the first marks the beginning of the table, the second starts==Це команди ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ–, з Ñких перша визначає початок таблиці, другий починає a new line, the third and fourth each create a new cell in the line. The last displayed tag==новий Ñ€Ñдок, а Ñ‚Ñ€ÐµÑ‚Ñ Ñ‚Ð° четверта Ñтворюють нову клітинку в Ñ€Ñдку. ОÑтанній код @@ -3215,7 +3061,6 @@ Advanced Properties==Розширені влаÑтивоÑті System Administration==СиÑтемне адмініÑÑ‚Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Performance Settings of Busy Queues==Параметри продуктивноÑті зайнÑтих черг Viewer and administration for database tables==ПереглÑд Ñ– адмініÑÑ‚Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŒ бази даних -UI Translations==Переклади інтерфейÑу кориÑтувача #File: env/templates/submenuCrawlMonitor.template #--------------------------- Web Crawler==Сканер мережі @@ -3254,13 +3099,6 @@ Solr Schema Editor==Solr Редактор Ñхем Field Re-Indexing==ПереіндекÑÐ°Ñ†Ñ–Ñ Ð¿Ð¾Ð»Ñ–Ð² Reverse Word Index==Зворотний покажчик Ñлів Content Analysis==Ðналіз вміÑту -#File: env/templates/submenuPublication.template -#--------------------------- -Publication==ÐŸÑƒÐ±Ð»Ñ–ÐºÐ°Ñ†Ñ–Ñ -Blog==Блог -#----------------------------- - -Wiki==Wiki #File: env/templates/submenuUseCaseAccount.template #--------------------------- Basic Configuration==Початкове Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ @@ -3277,14 +3115,6 @@ Web Structure==Структура інтернету Image Collage==Змішана картина #----------------------------- -#File: proxymsg/authfail.inc -Username==КориÑтувач -#--------------------------- -Your Username/Password is wrong.==Ð†Ð¼â€™Ñ ÐºÐ¾Ñ€Ð¸Ñтувача/пароль неправильні. -"login"=="ввійти" -#----------------------------- - -Password==Пароль #File: proxymsg/error.html #--------------------------- YaCy: Error Message==YaCy: ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку @@ -3356,7 +3186,6 @@ Log Reports==Журнал звітів Thread Dump==Дамп потоку Community Data==Дані Ñпільноти Surftips==Поради Ð´Ð»Ñ Ñерфінгу -Local Peer Wiki==Local Peer Wiki Bookmarks==Закладки #File: IndexFederated_p.html "Set"=="ВиÑтавити" @@ -3423,20 +3252,6 @@ Shallow crawl depth (0 to 2):==Мала глибина ÑÐºÐ°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ (Ð²Ñ Deep crawl depth (1 to 5):==Глибоке ÑÐºÐ°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ (від 1 до 5): Index text:==ІндекÑний текÑÑ‚: Index media:==Ð†Ð½Ð´ÐµÐºÑ Ð¼ÐµÐ´Ñ–Ð°: -#File: ConfigAccountList_p.html -#--------------------------- -Address==ÐдреÑа -First name==Ð†Ð¼â€™Ñ -Last name==Прізвище -User Accounts==Облікові запиÑи кориÑтувачів -#----------------------------- - -User List==СпиÑок кориÑтувачів -User==КориÑтувач -Last Access==ОÑтанній доÑтуп -Rights==права -Time==Ñ‡Ð°Ñ -Traffic==трафік #File: ConfigSearchPage_p.html #--------------------------- Applications==Додатки @@ -3525,28 +3340,6 @@ Menu: System Administration > Advanced Settings > Debug/Analysis Settings==МеРAdd Navigators==Додати навігатори append==додавати max. items==макÑ. елементи -#File: ConfigUser_p.html -#--------------------------- -Address==ÐдреÑа -First name==Ð†Ð¼â€™Ñ -Generic error.==Загальна помилка. -Last name==Прізвище -Passwords do not match.==Паролі не збігаютьÑÑ. -Repeat password==Повтор Ð¿Ð°Ñ€Ð¾Ð»Ñ -Time used==ЧаÑу викориÑтано -Timelimit==ЧаÑове Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ -Username==КориÑтувач -#----------------------------- - -"Save User"=="Зберегти кориÑтувача" -"Delete User"=="Видалити кориÑтувача" -"ConfigAccountList_p.html"=="ConfigAccountList_p.html" -User Account Editor==Редактор облікових запиÑів кориÑтувачів -Username too short. Username must be >= 4 Characters.==Ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача занадто коротке. Ð†Ð¼â€™Ñ ÐºÐ¾Ñ€Ð¸Ñтувача має міÑтити >= 4 Ñимволи. -Username already used (not allowed).==Ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача вже викориÑтано (не дозволено). -Password==Пароль -Rights:==права: -back to user list==повернутиÑÑ Ð´Ð¾ ÑпиÑку кориÑтувачів #File: ContentAnalysis_p.html #--------------------------- "Set"=="ВиÑтавити" @@ -3821,14 +3614,6 @@ Link:==ПоÑиланнÑ: Status:==СтатуÑ: URL successfully added to Crawler Queue==URL уÑпішно додано до черги Ñканера Malformed URL==Ðеправильний URL -#File: TransNews_p.html -#--------------------------- -"negative vote"=="негативний відгук" -"positive vote"=="позитивний відгук" -File:==Файл: -Originator==Творець -#----------------------------- - "Publish"=="Опублікувати" You can share your local addition to translations and distribute it to other peers.==Ви можете поділитиÑÑ Ñвоїм локальним доповненнÑм до перекладів Ñ– розповÑюдити його іншим колегам. The remote peer can vote on your translation and add it to its own local translation.==Віддалений партнер може проголоÑувати за ваш переклад Ñ– додати його до Ñвого локального перекладу. @@ -4389,23 +4174,18 @@ match==матч "Reset to defaults settings"=="Відновити Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° замовчуваннÑм" limitations==Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Local Search access rate limitations==ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ ÑˆÐ²Ð¸Ð´ÐºÐ¾Ñті доÑтупу до локального пошуку -You can configure here limitations on access rate to this peer search interface by unauthenticated users and users without extended search right==Тут можна налаштувати Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° швидкіÑть доÑтупу до цього інтерфейÑу однорангового пошуку Ð´Ð»Ñ Ð½ÐµÐ°Ð²Ñ‚ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ¾Ð²Ð°Ð½Ð¸Ñ… кориÑтувачів Ñ– кориÑтувачів без прав розширеного пошуку YaCy search==YaCy пошук Access rate limitations to this peer search interface.==ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ ÑˆÐ²Ð¸Ð´ÐºÐ¾Ñті доÑтупу до цього інтерфейÑу однорангового пошуку. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search is blocked.==Коли кориÑтувач з обмеженими правами (неавтентифікований або без розширеного права пошуку) перевищує обмеженнÑ, пошук блокуєтьÑÑ. Max searches in 3s==МакÑ. пошук за 3 Ñ Max searches in 1mn==МакÑ. пошук за 1 хв Max searches in 10mn==ÐœÐ°ÐºÑ ÑˆÑƒÐºÐ°Ñ” за 10 хв Peer-to-peer search==Одноранговий пошук Access rate limitations to the peer-to-peer search mode.==ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ ÑˆÐ²Ð¸Ð´ÐºÐ¾Ñті доÑтупу до режиму однорангового пошуку. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search scope falls back to only this local peer index.==Коли кориÑтувач з обмеженими правами (неавтентифікований або без прав розширеного пошуку) перевищує ліміт, облаÑть пошуку повертаєтьÑÑ Ð»Ð¸ÑˆÐµ до цього локального однорангового індекÑу. Max searches in 10mn==ÐœÐ°ÐºÑ ÑˆÑƒÐºÐ°Ñ” за 10 хв Peer-to-peer search with JavaScript results resorting==Рівноправний пошук із JavaScript результатами пошуку Access rate limitations to the peer-to-peer search mode with browser-side JavaScript results resorting enabled==ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ ÑˆÐ²Ð¸Ð´ÐºÐ¾Ñті доÑтупу до режиму однорангового пошуку з увімкненим переглÑдом результатів JavaScript на Ñтороні браузера -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, results resorting becomes only applicable on demand, server-side.==Коли кориÑтувач з обмеженими правами (неавтентифікований або без розширеного права пошуку) перевищує обмеженнÑ, ÑÐ¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ñ–Ð² Ñтає заÑтоÑовним лише на вимогу на Ñтороні Ñервера. Remote snippet load==Віддалене Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ„Ñ€Ð°Ð³Ð¼ÐµÐ½Ñ‚Ð° Limitations on snippet loading from remote websites.==ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ„Ñ€Ð°Ð³Ð¼ÐµÐ½Ñ‚Ñ–Ð² із віддалених веб-Ñайтів. -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the snippets fetch strategy falls back to 'CACHEONLY'==Коли кориÑтувач з обмеженими правами (неавтентифікований або без прав розширеного пошуку) перевищує ліміт, ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ñ–Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñ„Ñ€Ð°Ð³Ð¼ÐµÐ½Ñ‚Ñ–Ð² повертаєтьÑÑ Ð´Ð¾ «CACHEONLY» Max searches in 3s==МакÑ. пошук за 3 Ñ <em id="changeInfo">Changes will take effect immediately.</em>==<em id="changeInfo">Зміни набудуть чинноÑті негайно.</em> #----------------------------- @@ -4550,18 +4330,6 @@ Save Tools Configuration==Зберегти конфігурацію інÑтру CyTag Trails==Стежки CyTag #----------------------------- -#File: Translator_p.html -#--------------------------- -"Save translation"=="Зберегти переклад" -Translation Editor==Редактор перекладу -Translate untranslated text of the user interface (current language). The modified translation file is stored in DATA/LOCALE directory.==ПереклаÑти неперекладений текÑÑ‚ інтерфейÑу кориÑтувача (поточна мова). Змінений файл перекладу зберігаєтьÑÑ Ð² каталозі DATA/LOCALE. -UI Translation==Переклад інтерфейÑу кориÑтувача -Source File==Вихідний файл -view it==переглÑнути його -filter untranslated==фільтр неперекладений -Source Text==Вихідний текÑÑ‚ -#----------------------------- - #File: VFS.html #--------------------------- "File system browser"=="Браузер файлової ÑиÑтеми" diff --git a/locales/zh.lng b/locales/zh.lng index e80cb2e9d..79c78778b 100644 --- a/locales/zh.lng +++ b/locales/zh.lng @@ -337,54 +337,6 @@ An error occurred while editing the following entries. Please check syntax.==ç¼– Activate this list for ...==激活æ¤åˆ—表... #----------------------------- -#File: Blog.html -#--------------------------- -"RSS"=="RSS" -"Submit"=="æäº¤" -"Preview"=="预览" -"Discard"=="å–æ¶ˆ" -"Yes, delete it."=="æ˜¯çš„ï¼Œåˆ é™¤å®ƒã€‚" -"No, leave it."=="ä¸ï¼Œç•™ä¸‹å§ã€‚" -"Import"=="è¿›å£" -<< previous entries==<< 之å‰çš„æ¡ç›® -next entries >>==下一个æ¡ç›® >> -Blog-Home==åšå®¢ä¸»é¡µ -Edit==编辑 -Author:==作者: -Subject:==æ ‡é¢˜: -Text:==文本: -Comments:==评论: -deactivated==æ— æ•ˆ -activated==活性 -moderated==æ”¹å˜ -Preview==预览 -No changes have been submitted so far!==未æäº¤ä»»ä½•改å˜! -Access denied==æ‹’ç»è®¿é—® -To edit or create blog-entries you need to be logged in as Admin or User who has Blog rights.==如果编辑或者创建åšå®¢å†…å®¹ï¼Œä½ éœ€è¦ç™»å½•. -Are you sure...==ä½ ç¡®å®šå—... -Confirm deletion==ç¡®å®šåˆ é™¤ -XML-Import==XML-导入 -Import was successful!==导入æˆåŠŸ! -Import failed, maybe the supplied file was no valid blog-backup?==导入失败, å¯èƒ½æä¾›çš„æ–‡ä»¶ä¸æ˜¯æœ‰æ•ˆçš„åšå®¢å¤‡ä»½? -Please select the XML-file you want to import:==è¯·é€‰æ‹©ä½ æƒ³å¯¼å…¥çš„XML文件: -#----------------------------- - -#File: BlogComments.html -#--------------------------- -"Submit"=="æäº¤" -"Preview"=="预览" -"Discard"=="å–æ¶ˆ" -Blog-Home==åšå®¢ä¸»é¡µ -Comments:==评论: -<< previous entries==<< 之å‰çš„æ¡ç›® -next entries >>==下一个æ¡ç›® >> -Comments are not allowed for this posting!==æ¤å¸–åä¸å…许å‘è¡¨è¯„è®ºï¼ -Comment on this Blog==对æ¤åšå®¢å‘表评论 -Author:==作者: -Subject:==æ ‡é¢˜: -Text:==文本: -#----------------------------- - #File: Bookmarks.html #--------------------------- "RSS"=="RSS" @@ -452,58 +404,10 @@ Private Queue==ç§æœ‰ Public Queue==公共 #----------------------------- -#File: ConfigAccountList_p.html -#--------------------------- -User List==用户列表 -User Accounts==用户账户 -User==用户 -First name==åå— -Last name==å§“æ° -Address==åœ°å€ -Last Access==最近访问 -Rights==æƒé™ -Time==æ—¶é—´ -Traffic==æµé‡ -#----------------------------- - #File: ConfigAccounts_p.html #--------------------------- -"Define Administrator"=="设置管ç†å‘˜è´¦æˆ·" -"Set Access Rules"=="设置访问规则" -"Edit User"=="编辑用户" -"Delete User"=="åˆ é™¤ç”¨æˆ·" -"Save User"=="ä¿å˜ç”¨æˆ·" -User Administration==ç”¨æˆ·ç®¡ç† -Generic error.==一般性错误。 Passwords do not match.==密ç ä¸åŒ¹é…。 -Username too short. Username must be >= 4 Characters.==用户å太çŸã€‚ 用户åå¿…é¡»>= 4 个å—符. -Username already used (not allowed).==用户å已被使用(ä¸å…许). -<b>WARNING</b> This YaCy instance can be administered with the account "admin" and the default password "yacy".==<b>è¦å‘Š</b> æ¤ YaCy 实例å¯ä»¥ä½¿ç”¨å¸æˆ·â€œadminâ€å’Œé»˜è®¤å¯†ç “yacyâ€è¿›è¡Œç®¡ç†ã€‚ -Change the password as soon as possible!==尽快更改密ç ï¼ Admin Account==管ç†å‘˜ -Access from localhost without account==本地匿å访问 -Access to your peer from your own computer (localhost access) is granted with administrator rights. No need to configure an administration account.==通过管ç†å‘˜æƒé™æŽˆäºˆä»Žä½ è‡ªå·±çš„è®¡ç®—æœºè®¿é—®ä½ çš„èŠ‚ç‚¹ï¼ˆlocalhost访问æƒé™ï¼‰.æ— éœ€é…置管ç†å¸æˆ·. -This setting is convenient but less secure than using a qualified admin account.==æ¤è®¾ç½®å¾ˆæ–¹ä¾¿ï¼Œä½†æ¯”ä½¿ç”¨åˆæ ¼çš„管ç†å‘˜å¸æˆ·å®‰å…¨æ€§ä½Ž. -Please use with care, notably when you browse untrusted and potentially malicious websites while running your YaCy peer on the same computer.==请谨慎使用,尤其是在计算机上è¿è¡ŒYaCy节点并æµè§ˆä¸å—信任和å¯èƒ½æœ‰æ¶æ„的网站时. -Access only with qualified account==åªå…许授æƒç”¨æˆ·è®¿é—® -This is required if you want a remote access to your peer, but it also hardens access controls on administration operations of your peer.==å¦‚æžœä½ å¸Œæœ›è¿œç«¯è®¿é—®ä½ çš„èŠ‚ç‚¹,则这是必需的,ä½†å®ƒä¹Ÿä¼šåŠ å¼ºèŠ‚ç‚¹ç®¡ç†æ“作的访问控制. -Peer User:==节点用户: -New Peer Password:==新节点密ç : -Repeat Peer Password:==é‡å¤èŠ‚ç‚¹å¯†ç : -Access Rules==访问规则 -Protection of all pages: if set to on, access to all pages need authorization; if off, only pages with "_p" extension are protected.==所有页é¢ä¿æŠ¤ï¼šå¦‚果设置为开å¯ï¼Œåˆ™è®¿é—®æ‰€æœ‰é¡µé¢éƒ½éœ€è¦æŽˆæƒï¼›å¦‚果关é—ï¼Œåˆ™ä»…ä¿æŠ¤å¸¦æœ‰â€œ_pâ€æ‰©å±•å的页é¢ã€‚ -User Accounts==用户账户 -Select user==选择用户 -New user==新用户 -Username==用户å -Password==密ç -Repeat password==é‡å¤å¯†ç -First name==å -Last name==å§“ -Address==åœ°å€ -Rights:==æƒé™: -Timelimit==æ—¶é™ -Time used==已用时 #----------------------------- #File: ConfigAppearance_p.html @@ -881,8 +785,6 @@ Status page==状æ€é¡µé¢ Network pages==ç½‘ç»œé¡µé¢ Surftips==上网技巧 News pages==æ–°é¡µé¢ -Blog==åšå®¢ -Wiki==维基 Public bookmarks==å…¬å…±ä¹¦ç¾ Home Page==首页 File Share==文件共享 @@ -1042,28 +944,6 @@ manual update:<br/>apt-get update && apt-get install yacy==手动更新ï automatic update: add the following line to /etc/crontab<br/>0 6 * * * root apt-get update && apt-get -y --force-yes install yacy==è‡ªåŠ¨æ›´æ–°ï¼šå°†ä»¥ä¸‹è¡Œæ·»åŠ åˆ° /etc/crontab<br/>0 6 * * * root apt-get update && apt-get -y --force-yes install yacy #----------------------------- -#File: ConfigUser_p.html -#--------------------------- -"Save User"=="ä¿å˜ç”¨æˆ·" -"Delete User"=="åˆ é™¤ç”¨æˆ·" -"ConfigAccountList_p.html"=="ConfigAccountList_p.html" -User Account Editor==用户账户编辑器 -Generic error.==一般性错误。 -Passwords do not match.==密ç ä¸åŒ¹é…。 -Username too short. Username must be >= 4 Characters.==用户å太çŸã€‚用户å至少 >= 4 å—符。 -Username already used (not allowed).==用户åå·²å˜åœ¨ï¼ˆä¸å…许)。 -Username==用户å -Password==密ç -Repeat password==é‡å¤å¯†ç -First name==åå— -Last name==å§“æ° -Address==åœ°å€ -Rights:==æƒé™: -Timelimit==æ—¶é—´é™åˆ¶ -Time used==已用时间 -back to user list==返回用户列表 -#----------------------------- - #File: Connections_p.html #--------------------------- Server Connection Tracking==æœåŠ¡å™¨è¿žæŽ¥è·Ÿè¸ª @@ -2470,8 +2350,6 @@ inbox==æ”¶ä»¶ç®± "DHT Receive: yes"=="接收DHT: 是" "DHT receive enabled"=="打开DHT接收" "Profile updated"=="个人资料已更新" -"Wiki updated"=="维基更新" -"Blog updated"=="åšå®¢å·²æ›´æ–°" "Crawl"=="爬行" "The YaCy Network"=="YaCy网络" "Type: Virgin"=="类型:处女" @@ -2517,7 +2395,6 @@ Received DHT<br/>Word Chunks==已收到 DHT<br/>Word å— Received<br/>URLs==已接收<br/>ç½‘å€ Location==ä½ç½® user agent<br/>==用户代ç†<br/> -send <strong>M</strong>essage/<br/>show <strong>P</strong>rofile/<br/>edit <strong>W</strong>iki/<br/>browse <strong>B</strong>log==å‘逿¶ˆæ¯(<strong>m</strong>)/<br/>显示资料(<strong>p</strong>)/<br/>编辑百科(<strong>w</strong>)/<br/>æµè§ˆåšå®¢(<strong>b</strong>) Network==网络 Online Peers==在线节点 Number of<br/>Documents==<br/>æ–‡ä»¶æ•°é‡ @@ -2588,7 +2465,6 @@ 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' (资料)æ ‡è®°å‡º. -Publishing of added or modified translation for the user interface. Other peers may include it in their local translation list.==å‘å¸ƒç”¨æˆ·ç•Œé¢æ·»åŠ æˆ–ä¿®æ”¹çš„ç¿»è¯‘ã€‚å…¶ä»–åŒè¡Œå¯èƒ½ä¼šå°†å…¶åŒ…å«åœ¨å…¶æœ¬åœ°ç¿»è¯‘列表ä¸ã€‚ More news services will follow.==接下æ¥ä¼šæœ‰æ›´å¤šçš„æ–°é—»æœåŠ¡. Above you can see four menus:==上é¢å››ä¸ªèœå•选项分别为: Only these news will be used to display specific news services as explained above.==这些消æ¯å«æœ‰ä¸Šè¿°çš„特定新闻æœåŠ¡. @@ -2994,23 +2870,18 @@ Age==年龄 "Reset to defaults settings"=="é‡ç½®ä¸ºé»˜è®¤è®¾ç½®" limitations==局陿€§ Local Search access rate limitations==本地æœç´¢è®¿é—®çއé™åˆ¶ -You can configure here limitations on access rate to this peer search interface by unauthenticated users and users without extended search right==ä½ å¯ä»¥åœ¨æ¤å¤„é…置未ç»éªŒè¯çš„用户和没有扩展æœç´¢æƒé™çš„用户对该节点æœç´¢ç•Œé¢çš„访问速率é™åˆ¶ YaCy search==YaCyæœç´¢ Access rate limitations to this peer search interface.==本节点æœç´¢ç•Œé¢è®¿é—®çއé™åˆ¶ã€‚ -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search is blocked.==å½“å…·æœ‰æœ‰é™æƒé™çš„用户(未ç»éªŒè¯æˆ–没有扩展æœç´¢æƒé™ï¼‰è¶…过é™åˆ¶æ—¶ï¼Œæœç´¢é˜»å¡žã€‚ Max searches in 3s==3秒内最大æœç´¢æ¬¡æ•° Max searches in 1mn==1分钟内最大æœç´¢æ¬¡æ•° Max searches in 10mn==10分钟内最大æœç´¢æ¬¡æ•° Peer-to-peer search==点对点æœç´¢ Access rate limitations to the peer-to-peer search mode.==P2Pæœç´¢æ¨¡å¼ä¸‹è®¿é—®çއé™åˆ¶ã€‚ -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the search scope falls back to only this local peer index.==å½“å…·æœ‰æœ‰é™æƒé™çš„用户(未ç»éªŒè¯æˆ–没有扩展æœç´¢æƒé™ï¼‰è¶…过é™åˆ¶æ—¶ï¼Œæœç´¢èŒƒå›´ç¼©å°ä¸ºæœ¬åœ°ç´¢å¼•。 Max searches in 10mn==10分钟内最大æœç´¢æ¬¡æ•° Peer-to-peer search with JavaScript results resorting==带有结果排åºçš„P2Pæœç´¢ Access rate limitations to the peer-to-peer search mode with browser-side JavaScript results resorting enabled==对å¯ç”¨äº†æµè§ˆå™¨ç«¯JavaScriptç»“æžœé‡æ–°æŽ’åºçš„P2Pæœç´¢æ¨¡å¼çš„访问率é™åˆ¶ -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, results resorting becomes only applicable on demand, server-side.==å½“å…·æœ‰æœ‰é™æƒé™çš„用户(未ç»éªŒè¯æˆ–没有扩展æœç´¢æƒé™ï¼‰è¶…过é™åˆ¶æ—¶ï¼Œæœç´¢ç»“æžœé‡æŽ’ä»…å¯ç”¨äºŽæœåС噍侧æœç´¢ã€‚ Remote snippet load==è¿œç«¯æ‘˜å½•åŠ è½½ Limitations on snippet loading from remote websites.==å¯¹ä»Žè¿œç¨‹ç½‘ç«™åŠ è½½æ‘˜å½•çš„é™åˆ¶ã€‚ -When a user with limited rights (unauthenticated or without extended search right) exceeds a limit, the snippets fetch strategy falls back to 'CACHEONLY'==å½“å…·æœ‰æœ‰é™æƒé™çš„用户(未ç»éªŒè¯æˆ–没有扩展æœç´¢æƒé™ï¼‰è¶…过é™åˆ¶æ—¶ï¼Œæ‘˜å½•获å–ç–略缩å°ä¸º'CACHEONLY'。 Max searches in 3s==3秒内最大æœç´¢æ¬¡æ•° <em id="changeInfo">Changes will take effect immediately.</em>==<em id="changeInfo">更改将立å³ç”Ÿæ•ˆã€‚</em> #----------------------------- @@ -3235,14 +3106,9 @@ These settings configure the access method to your own http proxy and server.==è All traffic is routed through one single port, for both proxy and server.==代ç†å’ŒæœåС噍æµé‡å‡ä»ŽåŒä¸€ç«¯å£æµè¿‡. HTTPS Server Port:==HTTPS æœåŠ¡å™¨ç«¯å£ï¼š Server Access Restrictions==æœåŠ¡å™¨è®¿é—®é™åˆ¶ -You can restrict the access to this proxy/server using a two-stage security barrier:==使用两层安全å±éšœé™åˆ¶åˆ°æ¤ä»£ç†/æœåŠ¡å™¨çš„è®¿é—®: define an <em>access domain</em> with a list of granted client IP-numbers or with wildcards==定义一个带有授æƒIPå啿ˆ–者通é…符的<em>访问域</em> -define an <em>user account</em> with an user:password - pair==创建一个需è¦å¯†ç çš„<em>用户账户</em> -This is the account that restricts access to the proxy function.==这是一个é™åˆ¶ä»£ç†è®¿é—®åŠŸèƒ½çš„è´¦æˆ·. 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.==请定义一个对应本地局域网的IP访问域表达å¼. -The default setting should be right in most cases. If you want, you can also set a proxy account==默认设置适用于大多数情况. 如果需è¦å…±äº«ä»£ç†, -so that every proxy user must authenticate first, but this is rather unusual.==è¯·å…ˆè®¾ç½®éœ€è¦æŽˆæƒçš„代ç†è´¦æˆ·. IP-Number filter==IP地å€è¿‡æ»¤ Accounts==账户 #----------------------------- @@ -3633,59 +3499,6 @@ Save Tools Configuration==ä¿å˜å·¥å…·é…ç½® CyTag Trails==CyTag 轨迹 #----------------------------- -#File: TransNews_p.html -#--------------------------- -"Publish"=="å‘布" -"negative vote"=="差评" -"positive vote"=="好评" -You can share your local addition to translations and distribute it to other peers.==ä½ å¯ä»¥åˆ†äº«ä½ 的本地翻译,并分å‘给其他节点。 -The remote peer can vote on your translation and add it to its own local translation.==远端节点å¯ä»¥å¯¹ä½ çš„ç¿»è¯‘è¿›è¡ŒæŠ•ç¥¨å¹¶å°†å…¶æ·»åŠ åˆ°ä»–ä»¬çš„æœ¬åœ°ç¿»è¯‘ä¸ã€‚ -File:==文件: -Originator==拥有者 -English:==英è¯ï¼š -existing==现å˜çš„ -Translation:==翻译: -Vote on this translation. If you vote positive the translation is added to your local translation list.==对æ¤ç¿»è¯‘进行投票。如果您投票赞æˆï¼Œç¿»è¯‘å°†æ·»åŠ åˆ°æ‚¨çš„æœ¬åœ°ç¿»è¯‘åˆ—è¡¨ä¸ã€‚ -#----------------------------- - -#File: Translator_p.html -#--------------------------- -"Save translation"=="ä¿å˜ç¿»è¯‘" -Translation Editor==翻译编辑器 -Translate untranslated text of the user interface (current language). The modified translation file is stored in DATA/LOCALE directory.==翻译用户界é¢çš„æœªç¿»è¯‘文本(当å‰è¯è¨€ï¼‰ã€‚修改åŽçš„翻译文件å˜å‚¨åœ¨ DATA/LOCALE 目录ä¸ã€‚ -UI Translation==界é¢ç¿»è¯‘ -Source File==æºæ–‡ä»¶ -view it==查看 -filter untranslated==列出未翻译项 -Source Text==æºæ–‡ -#----------------------------- - -#File: User.html -#--------------------------- -"login"=="登录" -"logout"=="注销" -"red bar"=="红æ¡" -"green bar"=="绿æ¡" -"Change"=="改å˜" -User Page==ç”¨æˆ·é¡µé¢ -You are not logged in.==您尚未登录。 -Username:==用户å: -Password:==密ç : -(Identified by==(识别为 -IP==IP -Username/Password==用户å/Password -Cookie==曲奇饼 -old Password==旧密ç -new Password==新密ç -new Password(repetition)==新密ç (é‡å¤) -You are currently logged in as admin.==当å‰ä½œä¸ºç®¡ç†å‘˜ç™»å½•. -(after logout you will be prompted for your password again. simply click "cancel")==(注销åŽéœ€è¦é‡æ–°è¾“入密ç ) -Password was changed.==密ç 已改å˜. -Old Password is wrong.==密ç 输入错误. -New Password and its repetition do not match.==新密ç 两次输入ä¸åŒ¹é…. -New Password is empty.==新密ç 为空. -#----------------------------- - #File: VFS.html #--------------------------- "File system browser"=="文件系统æµè§ˆå™¨" @@ -3889,40 +3702,9 @@ Other Dot==其他点 Dot-end==点尾 #----------------------------- -#File: Wiki.html -#--------------------------- -"all"=="全部" -"admin"=="行政" -"Submit"=="æäº¤" -"Preview"=="预览" -"Discard"=="å–æ¶ˆ" -"Show"=="显示" -"Compare"=="对比" -(only granted to admin)==(仅授予管ç†å‘˜ï¼‰ -Index -==指数 - -Grant Write Access to==授予写æƒé™ -Edit==编辑 -Author:==作者: -Text:==文本: -Preview==预览 -No changes have been submitted so far!==未æäº¤ä»»ä½•改å˜! -Index==索引 -Subject==主题 -Change Date==æ”¹å˜æ—¥æœŸ -Last Author==最åŽä½œè€… -Start Page==å¼€å§‹é¡µé¢ -Versions==版本 -Compare version from==原始版本 -with version from==对比版本 -Error==错误 -You can use==ä½ å¯ä»¥åœ¨è¿™ä½¿ç”¨ -Changes will be published as announcement on YaCyNews==改å˜ä¼šè¢«å‘布在YaCyæ–°é—»ä¸. -#----------------------------- - -#File: WikiHelp.html +#File: WikiCodeHelp.html #--------------------------- Wiki-Code==Wiki代ç -This table contains a short description of the tags that can be used in the Wiki and several other servlets==æ¤è¡¨åˆ—出了用于Wikiå’Œå‡ ä¸ªæ’ä»¶ä»£ç æ ‡ç¾ç®€è¿°, of YaCy. For a more detailed description visit the==è¯¦æƒ…è¯·è§ Code==代ç Description==æè¿° @@ -3947,7 +3729,6 @@ These tags create a definition list.==用于创建定义列表. This tag creates a horizontal line.==创建水平线. [[pagename]]==[[页é¢åç§°]] [[pagename|description]]==[[页é¢åç§°|æè¿°]] -This tag creates links to other pages of the wiki.==创建到其他wiki页é¢çš„链接. [url]==[网å€] [url description]==[ç½‘å€æè¿°] This tag creates links to external websites.==æ¤æ ‡è®°åˆ›å»ºå¤–部网站链接. @@ -4272,7 +4053,6 @@ Outgoing News==ä¼ å‡º æ–°é—» Published News==å·²å‘布 æ–°é—» Community Data==ç¤¾åŒºæ•°æ® Surftips==建议 -Local Peer Wiki==本地åŒè¡Œç»´åŸº Bookmarks==ä¹¦ç¾ #----------------------------- @@ -4283,7 +4063,6 @@ Advanced Settings==高级设置 Performance Settings of Busy Queues==ç¹å¿™é˜Ÿåˆ—的性能设置 Viewer and administration for database tables==æ•°æ®åº“è¡¨çš„æŸ¥çœ‹ä¸Žç®¡ç† Advanced Properties==高级设置 -UI Translations==用户界é¢ç¿»è¯‘ #----------------------------- #File: env/templates/submenuCrawlMonitor.template @@ -4391,13 +4170,6 @@ User Profile==用户资料 Local robots.txt==本地robots.txt #----------------------------- -#File: env/templates/submenuPublication.template -#--------------------------- -Publication==å‘布 -Wiki==百科 -Blog==åšå®¢ -#----------------------------- - #File: env/templates/submenuRanking.template #--------------------------- Ranking and Heuristics==排å与å¯å‘å¼ @@ -4544,14 +4316,6 @@ Get the latest Java Plug-in here.==在æ¤èŽ·å–. Built with Processing==é€šè¿‡å¤„ç†æž„建 #----------------------------- -#File: proxymsg/authfail.inc -#--------------------------- -"login"=="登录" -Your Username/Password is wrong.==用户å/密ç 输入错误. -Username==用户å -Password==密ç -#----------------------------- - #File: proxymsg/error.html #--------------------------- YaCy: Error Message==YaCy: é”™è¯¯æ¶ˆæ¯ diff --git a/source/net/yacy/cora/protocol/RequestHeader.java b/source/net/yacy/cora/protocol/RequestHeader.java index 5a4494cdf..5c578b1c6 100644 --- a/source/net/yacy/cora/protocol/RequestHeader.java +++ b/source/net/yacy/cora/protocol/RequestHeader.java @@ -471,7 +471,6 @@ public class RequestHeader extends HeaderFramework implements HttpServletRequest } super.remove(AUTHORIZATION); - // TODO: take care of legacy login cookie (and possibly cached UserDB login status) } diff --git a/source/net/yacy/cora/protocol/ResponseHeader.java b/source/net/yacy/cora/protocol/ResponseHeader.java index c7be30fa7..cfcf34f23 100644 --- a/source/net/yacy/cora/protocol/ResponseHeader.java +++ b/source/net/yacy/cora/protocol/ResponseHeader.java @@ -20,11 +20,8 @@ package net.yacy.cora.protocol; -import java.util.ArrayList; import java.util.Date; -import java.util.List; import java.util.Map; -import javax.servlet.http.Cookie; import org.apache.http.Header; @@ -123,69 +120,4 @@ public class ResponseHeader extends HeaderFramework { return x_robots_tag.toLowerCase(); } - /* - * Patch BEGIN: (moved from HeaderFramework here (2016-11-20) - * Name: Header Property Patch - * Date: Fri. 13.01.2006 - * Description: Makes possible to send header properties such as cookies back to the client. - * Part 1 of 5 - * Questions: sergej.z@list.ru - */ - /** - * Holds header properties - */ - //Since properties such as cookies can be multiple, we cannot use HashMap here. We have to use Vector. - private List<Cookie> cookieStore; // init on first access - - /** - * Sets Cookie on the client machine. - * - * @param name Cookie name - * @param value Cookie value - * @param maxage time to live in seconds, none negative number, according to https://tools.ietf.org/html/rfc2109, 0=discard in https://tools.ietf.org/html/rfc2965 - * @param path Path the cookie belongs to. Default - "/". Can be <b>null</b>. - * @param domain Domain this cookie belongs to. Default - domain name. Can be <b>null</b>. - * @param secure If true cookie will be send only over safe connection such as https - * @see <a href="http://docs.sun.com/source/816-6408-10/cookies.htm">further documentation at docs.sun.com</a> - */ - public void setCookie(final String name, final String value, final Integer maxage, final String path, final String domain, final boolean secure) - { - /* - * TODO:Here every value can be validated for correctness if needed - * For example semicolon should be not in any of the values - * However an exception in this case would be an overhead IMHO. - */ - if (!name.isEmpty()) { - if (this.cookieStore == null) this.cookieStore = new ArrayList<Cookie>(); - Cookie c = new Cookie (name, value); - if (maxage != null && maxage >= 0) c.setMaxAge(maxage); - if (path != null) c.setPath(path); - if (domain != null) c.setDomain(domain); - if (secure) c.setSecure(secure); - this.cookieStore.add(c); - } - } - - /** - * Sets Cookie on the client machine. - * - * @param name Cookie name - * @param value Cookie value - * - * Note: this cookie will be sent over each connection independent if it is safe connection or not. This cookie never expires - * @see further documentation: <a href="http://docs.sun.com/source/816-6408-10/cookies.htm">docs.sun.com</a> - */ - public void setCookie(final String name, final String value ) - { - setCookie( name, value, null, null, null, false); - } - - public List<Cookie> getCookiesEntries() { - return this.cookieStore; - } - - /* - * Patch END: - * Name: Header Property Patch - */ } diff --git a/source/net/yacy/data/BlogBoard.java b/source/net/yacy/data/BlogBoard.java deleted file mode 100644 index bb026fea5..000000000 --- a/source/net/yacy/data/BlogBoard.java +++ /dev/null @@ -1,556 +0,0 @@ -// BlogBoard.java -// ------------------------------------- -// (C) by Michael Peter Christen; mc@yacy.net -// first published on http://www.anomic.de -// Frankfurt, Germany, 2004 -// last major change: 20.07.2004 -// -// $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 - -// This file is contributed by Jan Sandbrink -// based on the Code of wikiBoard.java - -package net.yacy.data; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.text.ParseException; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.TreeSet; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; - -import org.w3c.dom.Document; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.xml.sax.SAXException; - -import net.yacy.cora.date.GenericFormatter; -import net.yacy.cora.document.encoding.UTF8; -import net.yacy.cora.order.Base64Order; -import net.yacy.cora.order.NaturalOrder; -import net.yacy.cora.protocol.Domains; -import net.yacy.cora.util.ConcurrentLog; -import net.yacy.cora.util.SpaceExceededException; -import net.yacy.data.wiki.WikiBoard; -import net.yacy.kelondro.blob.MapHeap; -import net.yacy.kelondro.util.kelondroException; - - -public class BlogBoard { - - private static final int KEY_LENGTH = 64; - - private MapHeap database = null; - - public BlogBoard(final File actpath) throws IOException { - new File(actpath.getParent()).mkdir(); - //database = new MapView(BLOBTree.toHeap(actpath, true, true, keyLength, recordSize, '_', NaturalOrder.naturalOrder, newFile), 500, '_'); - this.database = new MapHeap(actpath, KEY_LENGTH, NaturalOrder.naturalOrder, 1024 * 64, 500, '_'); - } - - public int size() { - return this.database.size(); - } - - /** - * Tells if the database contains an element. - * @param key the ID of the element - * @return true if the database contains the element, else false - */ - public boolean contains(final String key) { - return this.database.containsKey(UTF8.getBytes(key)); - } - - public synchronized void close() { - this.database.close(); - } - - private static String normalize(final String key) { - return (key == null) ? "null" : key.trim().toLowerCase(); - } - - public static String webalize(final String key) { - return (key == null) ? "null": key.trim().toLowerCase().replaceAll(" ", "%20"); - } - - public String guessAuthor(final String ip) { - return WikiBoard.guessAuthor(ip); - } - - /** - * Create a new BlogEntry and return it - * @param key - * @param subject - * @param author - * @param ip - * @param date - * @param page the content of the Blogentry - * @param comments - * @param commentMode possible params are: 0 - no comments allowed, 1 - comments allowed, 2 - comments moderated - * @return BlogEntry - */ - public BlogEntry newEntry(final String key, final byte[] subject, final byte[] author, final String ip, final Date date, final byte[] page, final List<String> comments, final String commentMode) { - return new BlogEntry(normalize(key), subject, author, ip, date, page, comments, commentMode); - } - - /* - * writes a new page and return the key - */ - public String writeBlogEntry(final BlogEntry page) { - String ret = null; - try { - this.database.insert(UTF8.getBytes(page.key), page.record); - ret = page.key; - } catch (final IOException ex) { - ConcurrentLog.logException(ex); - } catch (final SpaceExceededException ex) { - ConcurrentLog.logException(ex); - } - return ret; - } - - public BlogEntry readBlogEntry(final String key) { - return this.readBlogEntry(key, this.database); - } - - private BlogEntry readBlogEntry(final String key, final MapHeap base) { - final String normalized = normalize(key); - Map<String, String> record; - try { - record = base.get(UTF8.getBytes(normalized.substring(0, Math.min(normalized.length(), KEY_LENGTH)))); - } catch (final IOException e) { - ConcurrentLog.logException(e); - record = null; - } catch (final SpaceExceededException e) { - ConcurrentLog.logException(e); - record = null; - } - return (record == null) ? - this.newEntry(key, new byte[0], UTF8.getBytes("anonymous"), Domains.LOCALHOST, new Date(), new byte[0], null, null) : - new BlogEntry(key, record); - } - - public boolean importXML(final String input) { - if (input != null && !input.isEmpty()) { - final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - try { - final DocumentBuilder builder = factory.newDocumentBuilder(); - return this.parseXMLimport(builder.parse(new ByteArrayInputStream(UTF8.getBytes(input)))); - } catch (final ParserConfigurationException ex) { - ConcurrentLog.logException(ex); - } catch (final SAXException ex) { - ConcurrentLog.logException(ex); - } catch (final IOException ex) { - ConcurrentLog.logException(ex); - } - } - return false; - } - - public boolean importXML(final InputStream is) { - if (is != null) { - final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - try { - final DocumentBuilder builder = factory.newDocumentBuilder(); - return this.parseXMLimport(builder.parse(is)); - } catch (final ParserConfigurationException ex) { - ConcurrentLog.logException(ex); - } catch (final SAXException ex) { - ConcurrentLog.logException(ex); - } catch (final IOException ex) { - ConcurrentLog.logException(ex); - } - } - return false; - } - - private boolean parseXMLimport(final Document doc) { - if(!"blog".equals(doc.getDocumentElement().getTagName())) { - return false; - } - - final NodeList items = doc.getDocumentElement().getElementsByTagName("item"); - if(items.getLength() == 0) { - return false; - } - - for (int i = 0, n = items.getLength(); i < n; ++i) { - String key = null, ip = null, StrSubject = null, StrAuthor = null, StrPage = null, StrDate = null; - Date date = null; - - if(!"item".equals(items.item(i).getNodeName())) continue; - - final NodeList currentNodeChildren = items.item(i).getChildNodes(); - - for (int j = 0, m = currentNodeChildren.getLength(); j < m; ++j) { - final Node currentNode = currentNodeChildren.item(j); - if ("id".equals(currentNode.getNodeName())) { - key = currentNode.getFirstChild().getNodeValue(); - } else if ("ip".equals(currentNode.getNodeName())) { - ip = currentNode.getFirstChild().getNodeValue(); - } else if ("timestamp".equals(currentNode.getNodeName())) { - StrDate = currentNode.getFirstChild().getNodeValue(); - } else if ("subject".equals(currentNode.getNodeName())) { - StrSubject = currentNode.getFirstChild().getNodeValue(); - } else if ("author".equals(currentNode.getNodeName())) { - StrAuthor = currentNode.getFirstChild().getNodeValue(); - } else if ("content".equals(currentNode.getNodeName())) { - StrPage = currentNode.getFirstChild().getNodeValue(); - } - } - - try { - date = GenericFormatter.SHORT_SECOND_FORMATTER.parse(StrDate, 0).getTime(); - } catch (final ParseException e1) { - date = new Date(); - } - - if(key == null || ip == null || StrSubject == null || StrAuthor == null || StrPage == null || date == null) { - return false; - } - - byte[] subject,author,page; - subject = UTF8.getBytes(StrSubject); - author = UTF8.getBytes(StrAuthor); - page = UTF8.getBytes(StrPage); - this.writeBlogEntry (this.newEntry(key, subject, author, ip, date, page, null, null)); - } - return true; - } - - public void deleteBlogEntry(final String key) { - try { - this.database.delete(UTF8.getBytes(normalize(key))); - } catch (final IOException e) { } - } - - public Iterator<byte[]> keys(final boolean up) throws IOException { - return this.database.keys(up, false); - } - - /** - * Comparator to sort objects of type Blog according to their timestamps - */ - public class BlogComparator implements Comparator<String> { - - private final boolean newestFirst; - - /** - * @param newestFirst newest first, or oldest first? - */ - public BlogComparator(final boolean newestFirst){ - this.newestFirst = newestFirst; - } - - @Override - public int compare(final String obj1, final String obj2) { - final BlogEntry blogEntry1 = BlogBoard.this.readBlogEntry(obj1); - final BlogEntry blogEntry2 = BlogBoard.this.readBlogEntry(obj2); - if (blogEntry1 == null || blogEntry2 == null) - return 0; - if (this.newestFirst) { - if (Long.parseLong(blogEntry2.getTimestamp()) - Long.parseLong(blogEntry1.getTimestamp()) > 0) { - return 1; - } - return -1; - } - if (Long.parseLong(blogEntry1.getTimestamp()) - Long.parseLong(blogEntry2.getTimestamp()) > 0) { - return 1; - } - return -1; - } - } - - public Iterator<String> getBlogIterator(final boolean priv){ - final Set<String> set = new TreeSet<>(new BlogComparator(true)); - final Iterator<BlogEntry> iterator = this.blogIterator(true); - BlogEntry blogEntry; - while (iterator.hasNext()) { - blogEntry = iterator.next(); - if (priv || blogEntry.isPublic()) { - set.add(blogEntry.getKey()); - } - } - return set.iterator(); - } - - public Iterator<BlogEntry> blogIterator(final boolean up){ - try { - return new BlogIterator(up); - } catch (final IOException e) { - return new HashSet<BlogEntry>().iterator(); - } - } - - /** - * Subclass of blogBoard, which provides the blogIterator object-type - */ - public class BlogIterator implements Iterator<BlogEntry> { - Iterator<byte[]> blogIter; - //blogBoard.BlogEntry nextEntry; - public BlogIterator(final boolean up) throws IOException { - this.blogIter = BlogBoard.this.database.keys(up, false); - //this.nextEntry = null; - } - - @Override - public boolean hasNext() { - try { - return this.blogIter.hasNext(); - } catch (final kelondroException e) { - //resetDatabase(); - return false; - } - } - - @Override - public BlogEntry next() { - try { - return BlogBoard.this.readBlogEntry(UTF8.String(this.blogIter.next())); - } catch (final kelondroException e) { - //resetDatabase(); - return null; - } - } - - @Override - public void remove() { -// if (this.nextEntry != null) { -// try { -// final Object blogKey = this.nextEntry.getKey(); -// if (blogKey != null) deleteBlogEntry((String) blogKey); -// } catch (final kelondroException e) { -// //resetDatabase(); -// } -// } - throw new UnsupportedOperationException("Method not implemented yet."); - } - } - - public class BlogEntry { - - String key; - Map<String, String> record; - - public BlogEntry(final String nkey, final byte[] subject, final byte[] author, final String ip, final Date date, final byte[] page, final List<String> comments, final String commentMode) { - this.record = new HashMap<>(); - this.setKey(nkey); - this.setDate(date); - this.setSubject(subject); - this.setAuthor(author); - this.setIp(ip); - this.setPage(page); - this.setComments(comments); - this.setCommentMode(commentMode); - - // TODO: implement this function - this.record.put("privacy", "public"); - - WikiBoard.setAuthor(ip, UTF8.String(author)); - } - - BlogEntry(final String key, final Map<String, String> record) { - this.key = key; - this.record = record; - if (this.record.get("comments") == null) { - this.record.put("comments", ListManager.collection2string(new ArrayList<>())); - } - if (this.record.get("commentMode") == null || this.record.get("commentMode").length() < 1) { - this.record.put("commentMode", "2"); - } - } - - private void setKey(final String key) { - this.key = key.substring(0, Math.min(key.length(), KEY_LENGTH)); - } - - public String getKey() { - return this.key; - } - - public byte[] getSubject() { - final String m = this.record.get("subject"); - if (m == null) { - return new byte[0]; - } - final byte[] b = Base64Order.enhancedCoder.decode(m); - return (b == null) ? new byte[0] : b; - } - - private void setSubject(final byte[] subject) { - if (subject == null) { - this.record.put("subject",""); - } else { - this.record.put("subject", Base64Order.enhancedCoder.encode(subject)); - } - } - - public Date getDate() { - try { - final String date = this.record.get("date"); - if (date == null) { - if (ConcurrentLog.isFinest("Blog")) { - ConcurrentLog.finest("Blog", "ERROR: date field missing in blogBoard"); - } - return new Date(); - } - return GenericFormatter.SHORT_SECOND_FORMATTER.parse(date, 0).getTime(); - } catch (final ParseException ex) { - return new Date(); - } - } - - private void setDate(final Date date) { - Date ret = date; - if (ret == null) { - ret = new Date(); - } - this.record.put("date", GenericFormatter.SHORT_SECOND_FORMATTER.format(ret)); - } - - public String getTimestamp() { - final String timestamp = this.record.get("date"); - if (timestamp == null) { - if (ConcurrentLog.isFinest("Blog")) { - ConcurrentLog.finest("Blog", "ERROR: date field missing in blogBoard"); - } - return GenericFormatter.SHORT_SECOND_FORMATTER.format(); - } - return timestamp; - } - - public byte[] getAuthor() { - final String author = this.record.get("author"); - if (author == null) { - return new byte[0]; - } - final byte[] b = Base64Order.enhancedCoder.decode(author); - return (b == null) ? new byte[0] : b; - } - - private void setAuthor(final byte[] author) { - if (author == null) - this.record.put("author",""); - else - this.record.put("author", Base64Order.enhancedCoder.encode(author)); - } - - public int getCommentsSize() { - // This ist a Bugfix for Version older than 4443. - if (this.record.get("comments").startsWith(",")) { - this.record.put("comments", this.record.get("comments").substring(1)); - BlogBoard.this.writeBlogEntry(this); - } - final List<String> commentsize = ListManager.string2arraylist(this.record.get("comments")); - return commentsize.size(); - } - - public List<String> getComments() { - return ListManager.string2arraylist(this.record.get("comments")); - } - - private void setComments(final List<String> comments) { - if (comments == null) { - this.record.put("comments", ListManager.collection2string(new ArrayList<>())); - } else { - this.record.put("comments", ListManager.collection2string(comments)); - } - } - - public String getIp() { - final String ip = this.record.get("ip"); - return (ip == null) ? Domains.LOCALHOST : ip; - } - - private void setIp(final String ip) { - String ret = ip; - if ((ret == null) || (ret.isEmpty())) - ret = ""; - this.record.put("ip", ret); - } - - public byte[] getPage() { - final String page = this.record.get("page"); - if (page == null) { - return new byte[0]; - } - final byte[] page_as_byte = Base64Order.enhancedCoder.decode(page); - return (page_as_byte == null) ? new byte[0] : page_as_byte; - } - - private void setPage(final byte[] page) { - if (page == null) { - this.record.put("page", ""); - } else { - this.record.put("page", Base64Order.enhancedCoder.encode(page)); - } - } - - public void addComment(final String commentID) { - final List<String> comments = ListManager.string2arraylist(this.record.get("comments")); - comments.add(commentID); - this.record.put("comments", ListManager.collection2string(comments)); - } - - public boolean removeComment(final String commentID) { - final List<String> comments = ListManager.string2arraylist(this.record.get("comments")); - final boolean success = comments.remove(commentID); - this.record.put("comments", ListManager.collection2string(comments)); - return success; - } - - /** - * returns the comment mode - * 0 - no comments allowed - * 1 - comments allowed - * 2 - comments moderated - * @return comment mode - */ - public int getCommentMode(){ - return Integer.parseInt(this.record.get("commentMode")); - } - - private void setCommentMode(final String mode) { - if (mode == null) { - this.record.put("commentMode", "2"); - } else { - this.record.put("commentMode", mode); - } - } - - public boolean isPublic() { - final String privacy = this.record.get("privacy"); - return (privacy == null || privacy.equalsIgnoreCase("public")) ? true : false; - } - - } -} diff --git a/source/net/yacy/data/BlogBoardComments.java b/source/net/yacy/data/BlogBoardComments.java deleted file mode 100644 index 9c1e03ba9..000000000 --- a/source/net/yacy/data/BlogBoardComments.java +++ /dev/null @@ -1,363 +0,0 @@ -// BlogBoardComments.java
-// -------------------------------------
-// (C) by Michael Peter Christen; mc@yacy.net
-// first published on http://www.anomic.de
-// Frankfurt, Germany, 2004
-// last major change: 20.07.2004
-//
-// $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
-
-// This file is contributed by Jan Sandbrink
-// based on the Code of wikiBoard.java
-
-package net.yacy.data;
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Locale;
-import java.util.Map;
-import java.util.TimeZone;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import net.yacy.cora.document.encoding.UTF8;
-import net.yacy.cora.order.Base64Order;
-import net.yacy.cora.order.NaturalOrder;
-import net.yacy.cora.protocol.Domains;
-import net.yacy.cora.util.ConcurrentLog;
-import net.yacy.cora.util.SpaceExceededException;
-import net.yacy.data.wiki.WikiBoard;
-import net.yacy.kelondro.blob.MapHeap;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-
-public class BlogBoardComments {
-
- private final static int KEY_LENGTH = 64;
- private final static String DATE_FORMAT = "yyyyMMddHHmmss";
-
- private final static SimpleDateFormat SIMPLE_DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT, Locale.US);
- static {
- SIMPLE_DATE_FORMATTER.setTimeZone(TimeZone.getTimeZone("GMT"));
- }
-
- private MapHeap database = null;
-
- public BlogBoardComments(final File actpath) throws IOException {
- new File(actpath.getParent()).mkdir();
- //database = new MapView(BLOBTree.toHeap(actpath, true, true, keyLength, recordSize, '_', NaturalOrder.naturalOrder, newFile), 500, '_');
- this.database = new MapHeap(actpath, KEY_LENGTH, NaturalOrder.naturalOrder, 1024 * 64, 500, '_');
- }
-
- public int size() {
- return this.database.size();
- }
-
- public synchronized void close() {
- this.database.close();
- }
-
- static String dateString(final Date date) {
- synchronized (SIMPLE_DATE_FORMATTER) {
- return SIMPLE_DATE_FORMATTER.format(date);
- }
- }
-
- private static String normalize(final String key) {
- return (key == null) ? "null" : key.trim().toLowerCase();
- }
- public static String webalize(final String key) {
- if (key == null) {
- return "null";
- }
- String ret = key.trim().toLowerCase();
- int p;
- while ((p = ret.indexOf(' ',0)) >= 0)
- ret = ret.substring(0, p) + "%20" + key.substring(p +1);
- return ret;
- }
-
- public String guessAuthor(final String ip) {
- return WikiBoard.guessAuthor(ip);
- }
-
- public CommentEntry newEntry(final String key, final byte[] subject, final byte[] author, final String ip, final Date date, final byte[] page) {
- return new CommentEntry(normalize(key), subject, author, ip, date, page);
- }
-
- public String write(final CommentEntry page) {
- // writes a new page and returns key
- try {
- this.database.insert(UTF8.getBytes(page.key), page.record);
- return page.key;
- } catch (final Exception e) {
- ConcurrentLog.logException(e);
- return null;
- }
- }
- public CommentEntry read(final String key) {
- //System.out.println("DEBUG: read from blogBoardComments");
- return read(key, this.database);
- }
-
- private CommentEntry read(final String key, final MapHeap base) {
- String copyOfKey = normalize(key);
- copyOfKey = copyOfKey.substring(0, Math.min(copyOfKey.length(), KEY_LENGTH));
- Map<String, String> record;
- try {
- record = base.get(UTF8.getBytes(copyOfKey));
- } catch (final IOException e) {
- ConcurrentLog.logException(e);
- record = null;
- } catch (final SpaceExceededException e) {
- ConcurrentLog.logException(e);
- record = null;
- }
- return (record == null) ?
- newEntry(copyOfKey, new byte[0], UTF8.getBytes("anonymous"), Domains.LOCALHOST, new Date(), new byte[0]) :
- new CommentEntry(copyOfKey, record);
- }
-
- public boolean importXML(final String input) {
- boolean ret = false;
- final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- try {
- final DocumentBuilder builder = factory.newDocumentBuilder();
- final Document doc = builder.parse(new ByteArrayInputStream(UTF8.getBytes(input)));
- ret = parseXMLimport(doc);
- }
- catch (final ParserConfigurationException e) {}
- catch (final SAXException e) {}
- catch (final IOException e) {}
-
- return ret;
- }
-
- private boolean parseXMLimport(final Document doc) {
- if(!"blog".equals(doc.getDocumentElement().getTagName())) {
- return false;
- }
-
- final NodeList items = doc.getDocumentElement().getElementsByTagName("item");
- if(items.getLength() == 0) {
- return false;
- }
-
- for(int i = 0, n = items.getLength(); i < n; ++i) {
- String key = null, ip = null, StrSubject = null, StrAuthor = null, StrPage = null, StrDate = null;
- Date date = null;
-
- if(!"item".equals(items.item(i).getNodeName()))
- continue;
-
- final NodeList currentNodeChildren = items.item(i).getChildNodes();
-
- for(int j=0, m = currentNodeChildren.getLength(); j < m; ++j) {
-
- final Node currentNode = currentNodeChildren.item(j);
- if ("id".equals(currentNode.getNodeName())) {
- key = currentNode.getFirstChild().getNodeValue();
- } else if("ip".equals(currentNode.getNodeName())) {
- ip = currentNode.getFirstChild().getNodeValue();
- } else if("timestamp".equals(currentNode.getNodeName())) {
- StrDate = currentNode.getFirstChild().getNodeValue();
- } else if("subject".equals(currentNode.getNodeName())) {
- StrSubject = currentNode.getFirstChild().getNodeValue();
- } else if("author".equals(currentNode.getNodeName())) {
- StrAuthor = currentNode.getFirstChild().getNodeValue();
- } else if("content".equals(currentNode.getNodeName())) {
- StrPage = currentNode.getFirstChild().getNodeValue();
- }
- }
-
- try {
- date = SIMPLE_DATE_FORMATTER.parse(StrDate);
- } catch (final ParseException ex) {
- date = new Date();
- }
-
- if (key == null || ip == null || StrSubject == null || StrAuthor == null || StrPage == null || date == null)
- return false;
-
- byte[] subject,author,page;
- subject = UTF8.getBytes(StrSubject);
- author = UTF8.getBytes(StrAuthor);
- page = UTF8.getBytes(StrPage);
- write (newEntry(key, subject, author, ip, date, page));
- }
-
- return true;
- }
-
- public void delete(final String key) {
- try {
- this.database.delete(UTF8.getBytes(normalize(key)));
- }
- catch (final IOException e) { }
- }
-
- public Iterator<byte[]> keys(final boolean up) throws IOException {
- return this.database.keys(up, false);
- }
-
- public static class CommentEntry {
-
- String key;
- Map<String, String> record;
-
- public CommentEntry(final String nkey, final byte[] subject, final byte[] author, final String ip, final Date date, final byte[] page) {
- this.record = new HashMap<String, String>();
-
- setKey(nkey);
- setDate(date);
- setSubject(subject);
- setAuthor(author);
- setIp(ip);
- setPage(page);
-
- WikiBoard.setAuthor(ip, UTF8.String(author));
- }
-
- CommentEntry(final String key, final Map<String, String> record) {
- this.key = key;
- this.record = record;
- if (this.record.get("comments") == null) {
- this.record.put("comments", ListManager.collection2string(new ArrayList<String>()));
- }
- }
-
- public String getKey() {
- return this.key;
- }
-
- private void setKey(final String var) {
- this.key = var.substring(0, Math.min(var.length(), KEY_LENGTH));
- }
-
- private void setSubject(final byte[] subject) {
- if (subject == null)
- this.record.put("subject","");
- else
- this.record.put("subject", Base64Order.enhancedCoder.encode(subject));
- }
- public byte[] getSubject() {
- final String subject = this.record.get("subject");
- if (subject == null) return new byte[0];
- final byte[] subject_bytes = Base64Order.enhancedCoder.decode(subject);
- if (subject_bytes == null) return new byte[0];
- return subject_bytes;
- }
- private void setDate(Date date) {
- if(date == null)
- date = new Date();
- this.record.put("date", dateString(date));
- }
- public Date getDate() {
- try {
- final String date = this.record.get("date");
- if (date == null) {
- if (ConcurrentLog.isFinest("Blog")) ConcurrentLog.finest("Blog", "ERROR: date field missing in blogBoard");
- return new Date();
- }
- synchronized (SIMPLE_DATE_FORMATTER) {
- return SIMPLE_DATE_FORMATTER.parse(date);
- }
- } catch (final ParseException e) {
- return new Date();
- }
- }
-
- public String getTimestamp() {
- final String timestamp = this.record.get("date");
- if (timestamp == null) {
- if (ConcurrentLog.isFinest("Blog")) ConcurrentLog.finest("Blog", "ERROR: date field missing in blogBoard");
- return dateString(new Date());
- }
- return timestamp;
- }
- private void setAuthor(final byte[] author) {
- if (author == null)
- this.record.put("author","");
- else
- this.record.put("author", Base64Order.enhancedCoder.encode(author));
- }
- public byte[] getAuthor() {
- final String author = this.record.get("author");
- if (author == null)
- return new byte[0];
- final byte[] author_byte = Base64Order.enhancedCoder.decode(author);
- if (author_byte == null)
- return new byte[0];
- return author_byte;
- }
- private void setIp(String ip) {
- if ((ip == null) || (ip.isEmpty()))
- ip = "";
- this.record.put("ip", ip);
- }
- public String getIp() {
- final String ip = this.record.get("ip");
- if (ip == null)
- return Domains.LOCALHOST;
- return ip;
- }
- private void setPage(final byte[] page) {
- if (page == null)
- this.record.put("page", "");
- else
- this.record.put("page", Base64Order.enhancedCoder.encode(page));
- }
- public byte[] getPage() {
- final String page = this.record.get("page");
- if (page == null)
- return new byte[0];
- final byte[] page_byte = Base64Order.enhancedCoder.decode(page);
- if (page_byte == null)
- return new byte[0];
- return page_byte;
- }
- /**
- * Is the comment allowed?
- * this is possible for moderated blog entry only and means
- * the administrator has explicit allowed the comment.
- * @return
- */
- public boolean isAllowed() {
- return "true".equals(this.record.get("moderated"));
- }
- public void allow() {
- this.record.put("moderated", "true");
- }
-
- }
-
-}
diff --git a/source/net/yacy/data/UserDB.java b/source/net/yacy/data/UserDB.java deleted file mode 100644 index ae0f0511c..000000000 --- a/source/net/yacy/data/UserDB.java +++ /dev/null @@ -1,656 +0,0 @@ -//UserDB.java
-//-------------------------------------
-//part of YACY
-//
-//(C) 2005, 2006 by Martin Thelian
-// Alexander Schier
-//
-//$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.data;
-
-import java.io.File;
-import java.io.IOException;
-import java.security.Principal;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Random;
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-
-import net.yacy.cora.document.encoding.UTF8;
-import net.yacy.cora.order.Base64Order;
-import net.yacy.cora.order.CloneableIterator;
-import net.yacy.cora.order.Digest;
-import net.yacy.cora.order.NaturalOrder;
-import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.cora.util.ConcurrentLog;
-import net.yacy.cora.util.SpaceExceededException;
-import net.yacy.kelondro.blob.MapHeap;
-import net.yacy.kelondro.util.FileUtils;
-import net.yacy.kelondro.util.kelondroException;
-import net.yacy.search.Switchboard;
-import net.yacy.search.SwitchboardConstants;
-
-/**
- * Holds details of users that can login to YaCy, their rights and credentials.
- * Caches succesfull login, holding cookie and/or ip information.
- *
- * In addition a systemadmin (static admin) account is available by default,
- * included in the global Switchboard configuration.
- *
- */
-public final class UserDB {
-
- private static final int USERNAME_MIN_LENGTH = 4;
-
- private MapHeap userTable;
- private final File userTableFile;
- private final Map<String, String> ipUsers = new HashMap<String, String>();
- private final Map<String, Entry> cookieUsers = new HashMap<String, Entry>(); // mapping to identify user by a login cookie "login=<token>"
-
- public UserDB(final File userTableFile) throws IOException {
- this.userTableFile = userTableFile;
- userTableFile.getParentFile().mkdirs();
- this.userTable = new MapHeap(userTableFile, 128, NaturalOrder.naturalOrder, 1024 * 64, 10, '_');
- }
-
- void resetDatabase() {
- // deletes the database and creates a new one
- if (userTable != null) {
- userTable.close();
- }
- FileUtils.deletedelete(userTableFile);
- userTableFile.getParentFile().mkdirs();
- try {
- userTable = new MapHeap(userTableFile, 128, NaturalOrder.naturalOrder, 1024 * 64, 10, '_');
- } catch (final IOException e) {
- ConcurrentLog.logException(e);
- }
- }
-
- public synchronized void close() {
- userTable.close();
- }
-
- public int size() {
- return userTable.size();
- }
-
- public void removeEntry(final String hostName) {
- try {
- userTable.delete(UTF8.getBytes(hostName));
- } catch (final IOException e) {
- ConcurrentLog.logException(e);
- }
- }
-
- public Entry getEntry(String userName) {
- if (userName.length() > 128) {
- userName = userName.substring(0, 127);
- }
- Map<String, String> record = null;
- try {
- record = userTable.get(UTF8.getBytes(userName));
- } catch (final IOException e) {
- ConcurrentLog.logException(e);
- } catch (final SpaceExceededException e) {
- ConcurrentLog.logException(e);
- }
-
- return (record != null) ? new Entry(userName, record) : null;
- }
-
- public Entry createEntry(final String userName, final Map<String, String> userProps) throws IllegalArgumentException{
- final Entry entry = new Entry(userName,userProps);
- return entry;
- }
-
- public String addEntry(final Entry entry) {
- try {
- userTable.insert(UTF8.getBytes(entry.userName), entry.mem);
- return entry.userName;
- } catch (final Exception e) {
- ConcurrentLog.logException(e);
- return null;
- }
- }
-
- /**
- * Use a ProxyAuth Value to authenticate user from HttpHeader.Authentication.
- * This supports only Basic authentication
- * @param header the current request HTTP headers including 'Authorization' header :
- * either "BASIC " followed by base64 Encoded String, which contains "username:pw" for basic authentication,
- * or "Digest" followed by valid user name, realm, nonce and other necessary parameters.
- * @return the user entry when the authentication header contains valid authentication information or null
- */
- public Entry proxyAuth(final RequestHeader header) {
- Entry entry = null;
- if(header == null) {
- return entry;
- }
- final String authHeader = header.get(RequestHeader.AUTHORIZATION, "").trim();
- if (authHeader.toUpperCase(Locale.ROOT).startsWith(HttpServletRequest.BASIC_AUTH)) {
- String auth = authHeader.substring(6); // take out prefix "BASIC"
- final String[] tmp = Base64Order.standardCoder.decodeString(auth.trim()).split(":");
- if (tmp.length == 2) {
- entry = this.passwordAuth(tmp[0], tmp[1]);
- if (entry == null) {
- entry = this.md5Auth(tmp[0], tmp[1]);
- }
- }
- } else if (authHeader.toUpperCase(Locale.ROOT).startsWith(HttpServletRequest.DIGEST_AUTH)) {
- // handle DIGEST auth by servlet container
- final Principal authenticatedUser = header.getUserPrincipal();
- if (authenticatedUser != null && authenticatedUser.getName() != null) { // user is authenticated by Servlet container
- entry = getEntry(authenticatedUser.getName());
- }
- }
- return entry;
- }
-
- /**
- * @param header the HTTP request headers
- * @return the authenticated user with valid authentication information found in the headers or null
- */
- public Entry getUser(final RequestHeader header){
- return getUser(header, header.getCookies());
- }
-
- /**
- * @param header HTTP request headers
- * @param cookies eventual client cookies
- * @return the authenticated user entry from headers or cookies or null
- */
- public Entry getUser(final RequestHeader header, final Cookie[] cookies){
- Entry entry = proxyAuth(header);
- if(entry == null && cookies != null) {
- entry=cookieAuth(cookies);
- }
- return entry;
- }
-
- /**
- * Determine if a user has admin rights from a 'Authorisation' http header field.
- * Tests both userDB and old style adminpw.
- *
- * @param header http-headerline for authorisation.
- * @param cookies
- */
- public boolean hasAdminRight(final RequestHeader header, final Cookie[] cookies) {
- final Entry entry = getUser(header, cookies);
- return (entry != null) ? entry.hasRight(AccessRight.ADMIN_RIGHT) : false;
- }
-
- /**
- * Use HTTP headers to authenticate user and save IP/username for ipAuth.
- * @param header HTTP request headers including 'Authorization' header with either base64 Encoded String, which contains "username:pw",
- * or Digest authentication information including notably user name, realm, and nonce.
- * @param ip IP address.
- */
- public Entry proxyAuth(final RequestHeader header, final String ip) {
- final Entry entry = proxyAuth(header);
- if (entry != null) {
- entry.updateLastAccess(false);
- this.ipUsers.put(ip, entry.getUserName());
- }
- return entry;
- }
-
- /**
- * Authenticate a user by ip, if he has used proxyAuth in the last 10 minutes.
- * @param ip IP address of user.
- */
- public Entry ipAuth(final String ip) {
- if(this.ipUsers.containsKey(ip)){
- final String user = this.ipUsers.get(ip);
- final Entry entry = this.getEntry(user);
- final Long entryTimestamp = entry.getLastAccess();
- if (entryTimestamp == null ||
- (System.currentTimeMillis()-entryTimestamp.longValue()) > (1000*60*10) ){ //no timestamp or older than 10 Minutes
- return null;
- }
- return entry; //All OK
- }
- return null;
- }
-
- public Entry passwordAuth(final String user, final String password) {
- final Entry entry = this.getEntry(user);
- final String md5pwd;
- if (entry != null && (md5pwd = entry.getMD5EncodedUserPwd()) != null) {
-
- boolean authok;
- if (md5pwd.startsWith("MD5:")) { // DIGEST style
- authok = md5pwd.equals("MD5:" + Digest.encodeMD5Hex(user + ":"
- + Switchboard.getSwitchboard().getConfig(SwitchboardConstants.ADMIN_REALM, "YaCy") + ":" + password));
- } else {
- authok = md5pwd.equals(Digest.encodeMD5Hex(user + ":" + password));
- }
- if (authok) {
- entry.updateLastAccess(false);
- return entry;
- }
- }
- return null;
- }
-
- public Entry passwordAuth(final String user, final String password, final String ip){
- final Entry entry = passwordAuth(user, password);
- if (entry != null) {
- entry.updateLastAccess(false);
- this.ipUsers.put(ip, entry.getUserName()); //XXX: This is insecure. TODO: use cookieauth
- }
- return entry;
- }
-
- public Entry md5Auth(final String user, final String md5) {
- final Entry entry = this.getEntry(user);
- if (entry != null && entry.getMD5EncodedUserPwd().endsWith(md5)) { // user pwd migth have prefix "MD5:"
- entry.updateLastAccess(false);
- return entry;
- }
- return null;
- }
-
- /**
- * Returns the user entry matching the cookie login token created and set
- * on login.
- *
- * @param cookies
- * @return user entry or null
- */
- public Entry cookieAuth(final Cookie[] cookies){
- final String token = getLoginToken(cookies);
- if (cookieUsers.containsKey(token)) {
- final Entry entry = cookieUsers.get(token);
- return entry;
- }
- return null;
- }
-
- public String getCookie(final Entry entry){
- final Random r = new Random();
- final String token = Long.toString(Math.abs(r.nextLong()), 36);
- cookieUsers.put(token, entry);
- return token;
- }
-
- /**
- * Extracts the token set as value in a cookie with name "login"
- * @param cookies
- * @return login token string
- */
- public static String getLoginToken(final Cookie[] cookies) {
- if (cookies != null) {
- for (final Cookie c : cookies) {
- if (c.getName().equals("login")) {
- return c.getValue().trim();
- }
- }
- }
- return "";
- }
-
- public enum AccessRight {
-
- //to create new rights, you just add them here
- UPLOAD_RIGHT("uploadRight", "Upload"),
- DOWNLOAD_RIGHT("downloadRight", "Download"),
- ADMIN_RIGHT("adminRight", "Admin"),
- PROXY_RIGHT("proxyRight", "Proxy usage"),
- BLOG_RIGHT("blogRight", "Blog"),
- WIKIADMIN_RIGHT("wikiAdminRight", "Wiki Admin"),
- BOOKMARK_RIGHT("bookmarkRight", "Bookmark"),
- EXTENDED_SEARCH_RIGHT("extendedSearchRight", "Extended Search");
-
- private String name;
- private String friendlyName;
-
- AccessRight(final String name, final String friendlyName) {
- this.friendlyName = friendlyName;
- this.name = name;
- }
-
- @Override
- public String toString() {
- return name;
- }
-
- public String getFriendlyName() {
- return friendlyName;
- }
-
- }
-
- public class Entry {
- public static final String MD5ENCODED_USERPWD_STRING = "MD5_user:pwd"; // value = "MD5:" + MD5Hex(username +":"+ realm + ":" pwd)
- // oldstyle = MD5Hex(username +":"+ pwd)
- public static final String USER_FIRSTNAME = "firstName";
- public static final String USER_LASTNAME = "lastName";
- public static final String USER_ADDRESS = "address";
- public static final String LAST_ACCESS = "lastAccess";
- public static final String TIME_USED = "timeUsed";
- public static final String TIME_LIMIT = "timeLimit";
- public static final String TRAFFIC_SIZE = "trafficSize";
- public static final String TRAFFIC_LIMIT = "trafficLimit";
-
- public static final int PROXY_ALLOK = 0; //can Surf
- public static final int PROXY_ERROR = 1; //unknown error
- public static final int PROXY_NORIGHT = 2; //no proxy right
- public static final int PROXY_TIMELIMIT_REACHED = 3;
-
- // this is a simple record structure that hold all properties of a user
- private Map<String, String> mem;
- private String userName;
- private final Calendar oldDate, newDate;
-
- public Entry(final String userName, final Map<String, String> mem) throws IllegalArgumentException {
- if ((userName == null) || (userName.isEmpty())) {
- throw new IllegalArgumentException("Username needed.");
- }
- if (userName.length()>128) {
- throw new IllegalArgumentException("Username too long!");
- }
-
- this.userName = userName.trim();
- if (this.userName.length() < USERNAME_MIN_LENGTH) {
- throw new IllegalArgumentException("Username too short. Length should be >= " + USERNAME_MIN_LENGTH);
- }
-
- this.mem = (mem == null) ? new HashMap<String, String>() : mem;
-
- this.oldDate=Calendar.getInstance();
- this.newDate=Calendar.getInstance();
- }
-
- public String getUserName() {
- return this.userName;
- }
-
- public String getFirstName() {
- return (this.mem.containsKey(USER_FIRSTNAME) ? this.mem.get(USER_FIRSTNAME) : null);
- }
-
- public String getLastName() {
- return (this.mem.containsKey(USER_LASTNAME) ? this.mem.get(USER_LASTNAME) : null);
- }
-
- public String getAddress() {
- return (this.mem.containsKey(USER_ADDRESS) ? this.mem.get(USER_ADDRESS) : null);
- }
-
- public long getTimeUsed() {
- long ret = 0L;
- String s = this.mem.get(TIME_USED);
- if (s != null && s.length() > 0) {
- try{
- ret = Long.parseLong(s);
- } catch (final NumberFormatException e){
- ConcurrentLog.logException(e);
- }
- } else {
- try {
- this.setProperty(TIME_USED,"0");
- } catch (final Exception e) {
- ConcurrentLog.logException(e);
- }
- }
- return ret;
- }
-
- public long getTimeLimit() {
- long ret = 0L;
- String s = this.mem.get(TIME_LIMIT);
- if (s != null && s.length() > 0) {
- try {
- ret = Long.parseLong(s);
- } catch (final NumberFormatException e){
- ConcurrentLog.logException(e);
- }
- } else {
- try {
- this.setProperty(TIME_LIMIT, "0");
- } catch (final Exception e) {
- ConcurrentLog.logException(e);
- }
- }
- return ret;
- }
-
- public long getTrafficSize() {
- long ret = 0L;
- String s = this.mem.get(TRAFFIC_SIZE);
- if (s != null && s.length() > 0) {
- try {
- ret = Long.parseLong(s);
- } catch (final NumberFormatException e) {
- ConcurrentLog.logException(e);
- }
- } else {
- try {
- this.setProperty(TRAFFIC_SIZE, "0");
- } catch (final Exception e) {
- ConcurrentLog.logException(e);
- }
- }
- return ret;
- }
-
- public Long getTrafficLimit() {
- return (this.mem.containsKey(TRAFFIC_LIMIT) ? Long.valueOf(this.mem.get(TRAFFIC_LIMIT)) : null);
- }
-
- public long updateTrafficSize(final long responseSize) {
- if (responseSize < 0) {
- throw new IllegalArgumentException("responseSize must be greater or equal zero.");
- }
-
- final long currentTrafficSize = getTrafficSize();
- final long newTrafficSize = currentTrafficSize + responseSize;
- try {
- this.setProperty(TRAFFIC_SIZE,Long.toString(newTrafficSize));
- } catch (final Exception e) {
- ConcurrentLog.logException(e);
- }
- return newTrafficSize;
- }
-
- public Long getLastAccess() {
- return (this.mem.containsKey(LAST_ACCESS) ? Long.valueOf(this.mem.get(LAST_ACCESS)) : null);
- }
-
- public int surfRight(){
- final long timeUsed=this.updateLastAccess(true);
- final int ret;
-
- if (!this.hasRight(AccessRight.PROXY_RIGHT)) {
- ret = PROXY_NORIGHT;
- } else if(! (this.getTimeLimit() <= 0 || (timeUsed < this.getTimeLimit())) ){ //no timelimit or timelimit not reached
- ret = PROXY_TIMELIMIT_REACHED;
- } else {
- ret = PROXY_ALLOK;
- }
- return ret;
- }
-
- public boolean canSurf(){
- return (this.surfRight() == PROXY_ALLOK);
- }
-
- public long updateLastAccess(final boolean incrementTimeUsed) {
- return updateLastAccess(System.currentTimeMillis(), incrementTimeUsed);
- }
-
- public long updateLastAccess(final long timeStamp, final boolean incrementTimeUsed) {
- if (timeStamp < 0) {
- throw new IllegalArgumentException();
- }
-
- final Long lastAccess = this.getLastAccess();
- long newTimeUsed = getTimeUsed();
-
- if (incrementTimeUsed) {
- if ((lastAccess == null) || (timeStamp - lastAccess.longValue() >= 1000*60)) {//1 minute
- newTimeUsed++;
- if (lastAccess != null) {
- this.oldDate.setTime(new Date(lastAccess.longValue()));
- this.newDate.setTime(new Date(System.currentTimeMillis()));
- if(
- this.oldDate.get(Calendar.DAY_OF_MONTH) != this.newDate.get(Calendar.DAY_OF_MONTH) ||
- this.oldDate.get(Calendar.MONTH) != this.newDate.get(Calendar.MONTH) ||
- this.oldDate.get(Calendar.YEAR) != this.newDate.get(Calendar.YEAR)
- ){ //new Day, reset time
- newTimeUsed=0;
- }
- }else{ //no access so far
- newTimeUsed=0;
- }
- this.mem.put(TIME_USED,Long.toString(newTimeUsed));
- this.mem.put(LAST_ACCESS,Long.toString(timeStamp)); //update Timestamp
- }
- } else {
- this.mem.put(LAST_ACCESS,Long.toString(timeStamp)); //update Timestamp
- }
-
- try {
- UserDB.this.userTable.insert(UTF8.getBytes(getUserName()), this.mem);
- } catch(final Exception e){
- ConcurrentLog.logException(e);
- }
- return newTimeUsed;
- }
-
- /**
- * @return encode credential = "MD5:" + MD5Hex(username +":"+ realm + ":" pwd) or null. (old style = MD5Hex(username +":"+ pwd)
- */
- public String getMD5EncodedUserPwd() {
- return (this.mem.containsKey(MD5ENCODED_USERPWD_STRING)) ? this.mem.get(MD5ENCODED_USERPWD_STRING) : null;
- }
-
- public Map<String, String> getProperties() {
- return this.mem;
- }
-
- public void setProperty(final String propName, final String newValue) throws IOException, SpaceExceededException {
- this.mem.put(propName, newValue);
- UserDB.this.userTable.insert(UTF8.getBytes(getUserName()), this.mem);
- }
-
- public String getProperty(final String propName, final String defaultValue) {
- return (this.mem.containsKey(propName) ? this.mem.get(propName) : defaultValue);
- }
-
- public boolean hasRight(final AccessRight accessRight){
- return (this.mem.containsKey(accessRight.toString())) ? this.mem.get(accessRight.toString()).equals("true") : false;
- }
-
- public void logout(final String ip, final String logintoken){
- logout(ip);
- if(cookieUsers.containsKey(logintoken)){
- cookieUsers.remove(logintoken);
- }
- }
-
- public void logout(final String ip) {
- try {
- if (ipUsers.containsKey(ip)){
- ipUsers.remove(ip);
- }
- } catch (final Exception e) {
- ConcurrentLog.logException(e);
- }
- }
-
- @Override
- public String toString() {
- final StringBuilder str = new StringBuilder();
-
- str.append((this.userName == null) ? "null" : this.userName).append(": ");
-
- if (this.mem != null) {
- str.append(this.mem.toString());
- }
-
- return str.toString();
- }
-
- }
-
- public Iterator<Entry> iterator(final boolean up) {
- // enumerates users
- try {
- return new userIterator(up);
- } catch (final IOException e) {
- return new HashSet<Entry>().iterator();
- }
- }
-
-
- public class userIterator implements Iterator<Entry> {
- // the iterator iterates all userNames
- CloneableIterator<byte[]> userIter;
- //userDB.Entry nextEntry;
-
- public userIterator(final boolean up) throws IOException {
- this.userIter = UserDB.this.userTable.keys(up, false);
- //this.nextEntry = null;
- }
-
- @Override
- public boolean hasNext() {
- try {
- return this.userIter.hasNext();
- } catch (final kelondroException e) {
- resetDatabase();
- return false;
- }
- }
-
- @Override
- public Entry next() {
- try {
- return getEntry(UTF8.String(this.userIter.next()));
- } catch (final kelondroException e) {
- resetDatabase();
- return null;
- }
- }
-
- @Override
- public void remove() {
-// if (this.nextEntry != null) {
-// try {
-// final Object userName = this.nextEntry.getUserName();
-// if (userName != null) removeEntry((String) userName);
-// } catch (final kelondroException e) {
-// resetDatabase();
-// }
-// }
- throw new UnsupportedOperationException("Method not implemented yet.");
- }
- }
-
-}
diff --git a/source/net/yacy/data/wiki/WikiBoard.java b/source/net/yacy/data/wiki/WikiBoard.java deleted file mode 100644 index ebd3f4793..000000000 --- a/source/net/yacy/data/wiki/WikiBoard.java +++ /dev/null @@ -1,445 +0,0 @@ -//wikiBoard.java
-//-------------------------------------
-//(C) by Michael Peter Christen; mc@yacy.net
-//first published on http://www.anomic.de
-//Frankfurt, Germany, 2004
-//
-// $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.data.wiki;
-
-import java.io.File;
-import java.io.IOException;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Locale;
-import java.util.Map;
-import java.util.TimeZone;
-
-import net.yacy.cora.document.encoding.ASCII;
-import net.yacy.cora.document.encoding.UTF8;
-import net.yacy.cora.order.Base64Order;
-import net.yacy.cora.order.NaturalOrder;
-import net.yacy.cora.protocol.Domains;
-import net.yacy.cora.util.CommonPattern;
-import net.yacy.cora.util.ConcurrentLog;
-import net.yacy.cora.util.SpaceExceededException;
-import net.yacy.kelondro.blob.MapHeap;
-
-/**
- *
- */
-public class WikiBoard {
-
- public static final int keyLength = 64;
- private static final String DATE_FORMAT = "yyyyMMddHHmmss";
- private static final String ANONYMOUS = "anonymous";
-
- private static final SimpleDateFormat SimpleFormatter = new SimpleDateFormat(DATE_FORMAT, Locale.US);
-
- static {
- SimpleFormatter.setTimeZone(TimeZone.getTimeZone("GMT"));
- }
-
- private MapHeap datbase = null;
- private MapHeap bkpbase = null;
- private static final Map<String, String> AUTHORS = new HashMap<String, String>();
-
- /**
- * Constructor.
- * @param actpath path of database which contains current wiki data.
- * @param bkppath path of backup database.
- * @throws IOException if error occurs during HDD access.
- */
- public WikiBoard(final File actpath, final File bkppath) throws IOException {
- new File(actpath.getParent()).mkdirs();
- if (this.datbase == null) {
- //datbase = new MapView(BLOBTree.toHeap(actpath, true, true, keyLength, recordSize, '_', NaturalOrder.naturalOrder, actpathNew), 500, '_');
- this.datbase = new MapHeap(actpath, keyLength, NaturalOrder.naturalOrder, 1024 * 64, 500, '_');
- }
- new File(bkppath.getParent()).mkdirs();
- if (this.bkpbase == null) {
- //bkpbase = new MapView(BLOBTree.toHeap(bkppath, true, true, keyLength + dateFormat.length(), recordSize, '_', NaturalOrder.naturalOrder, bkppathNew), 500, '_');
- this.bkpbase = new MapHeap(bkppath, keyLength + DATE_FORMAT.length(), NaturalOrder.naturalOrder, 1024 * 64, 500, '_');
- }
- }
-
- /**
- * Gets total number of entries of wiki DB and DB which contains backup entries.
- * @return number of entries in wiki plus number of old entries.
- */
- public int sizeOfTwo() {
- return this.datbase.size() + this.bkpbase.size();
- }
-
- /**
- * Gets number of entries of wiki DB.
- * @return number of entries in wiki.
- */
- public int size() {
- return this.datbase.size();
- }
-
- /**
- * Closes database files.
- */
- public synchronized void close() {
- this.datbase.close();
- this.bkpbase.close();
- }
-
- /**
- * Gets current date.
- * @return current date.
- */
- static String dateString() {
- return dateString(new Date());
- }
-
- /**
- * Gets String representation of a Date.
- * @param date the Date.
- * @return String representation of Date.
- */
- public static String dateString(final Date date) {
- synchronized (SimpleFormatter) {
- return SimpleFormatter.format(date);
- }
- }
-
- /**
- * Gets normalized version of a key.
- * @param key the key.
- * @return normalized version of key.
- */
- private static String normalize(final String key) {
- return (key != null) ? key.trim().toLowerCase() : "null";
- }
-
- /**
- * Normalizes key and replaces spaces by escape code.
- * @param key the key.
- * @return normalized and webalized version.
- */
- public static String webalize(final String key) {
- return (key != null) ? CommonPattern.SPACE.matcher(normalize(key)).replaceAll("%20") : "null";
- }
-
- /**
- * Tries to guess the name of the author by a given IP address.
- * @param ip the IP address.
- * @return
- */
- public static String guessAuthor(final String ip) {
- final String author = AUTHORS.get(ip);
- //yacyCore.log.logDebug("DEBUG: guessing author for ip = " + ip + " is '" + author + "', authors = " + authors.toString());
- return author;
- }
-
- /**
- * Adds an author name and a corresponding IP to internal Map.
- * @param ip IP address of the author.
- * @param author name of author.
- */
- public static void setAuthor(final String ip, final String author) {
- AUTHORS.put(ip,author);
- }
-
- /**
- * Creates new Entry.
- * @param subject subject of entry.
- * @param author author of entry.
- * @param ip IP address of author.
- * @param reason reason for new Entry (for example "edit").
- * @param page content of Entry.
- * @return new Entry.
- * @throws IOException
- */
- public Entry newEntry(final String subject, final String author, final String ip, final String reason, final byte[] page) throws IOException {
- return new Entry(normalize(subject), author, ip, reason, page);
- }
-
- /**
- * Contains information of wiki page.
- */
- public class Entry {
- private static final String ANONYMOUS = "anonymous";
-
- private final String key;
- private final Map<String, String> record;
-
- /**
- * Constructor which creates new Entry using given information.
- * @param subject subject of Entry.
- * @param author author of Entry.
- * @param ip IP address of author.
- * @param reason reason for new Entry (for example "edit").
- * @param page content of Entry.
- * @throws IOException
- */
- public Entry(final String subject, final String author, final String ip, final String reason, final byte[] page) throws IOException {
- this.record = new HashMap<String, String>();
- this.key = subject.substring(0, Math.min((subject != null) ? subject.length() : 0, keyLength));
- this.record.put("date", dateString());
- this.record.put("author", Base64Order.enhancedCoder.encodeString((author != null && author.length() > 0) ? author : ANONYMOUS));
- this.record.put("ip", (ip != null && ip.length() > 0) ? ip : "");
- this.record.put("reason", Base64Order.enhancedCoder.encodeString((reason != null && reason.length() > 0) ? reason : ""));
- this.record.put("page", (page != null) ? Base64Order.enhancedCoder.encode(page) : "");
- AUTHORS.put(ip, author);
- }
-
- /**
- * Constructor which creates Entry using key and record.
- * @param key key of Entry.
- * @param record record which contains data.
- */
- Entry(final String key, final Map<String, String> record) {
- this.key = key;
- this.record = record;
- }
-
- /**
- * Gets subject of Entry.
- * @return subject of entry.
- */
- public String subject() {
- return this.key;
- }
-
- /**
- * Gets date of Entry.
- * @return date of Entry.
- */
- public Date date() {
- Date ret;
- try {
- final String c = this.record.get("date");
- if (c == null) {
- System.out.println("DEBUG - ERROR: date field missing in wikiBoard");
- ret = new Date();
- } else {
- synchronized (SimpleFormatter) {
- ret = SimpleFormatter.parse(c);
- }
- }
- } catch (final ParseException e) {
- ret = new Date();
- }
- return ret;
- }
-
- /**
- * Gets author of Entry.
- * @return author of Entry.
- */
- public String author() {
- final String a = this.record.get("author");
- final byte[] b;
- return (a != null && (b = Base64Order.enhancedCoder.decode(a)) != null) ? UTF8.String(b) : ANONYMOUS;
- }
-
- /**
- * Gets reason for Entry.
- * @return reason for Entry.
- */
- public String reason() {
- final String ret;
- final String r = this.record.get("reason");
- if (r != null) {
- final byte[] b;
- ret = ((b = Base64Order.enhancedCoder.decode(r)) != null) ? UTF8.String(b) : "unknown";
- } else {
- ret = "";
- }
- return ret;
- }
-
- /**
- * Gets actual content of Entry.
- * @return content of Entry.
- */
- public byte[] page() {
- final String m = this.record.get("page");
- final byte[] b;
- return (m != null && (b = Base64Order.enhancedCoder.decode(m)) != null) ? b : new byte[0];
- }
-
- /**
- * Sets date of previous version of Entry.
- * @param date date of previous version of Entry.
- */
- void setAncestorDate(final Date date) {
- this.record.put("bkp", dateString(date));
- }
-
- /**
- * Gets date of previous version of Entry.
- * @return date of previous version of Entry.
- */
- private Date getAncestorDate() {
- Date ret = null;
- try {
- final String c = this.record.get("date");
- if (c != null) {
- synchronized (SimpleFormatter) {
- ret = SimpleFormatter.parse(c);
- }
- }
- } catch (final ParseException e) {
- ret = null;
- }
- return ret;
- }
-
- /**
- * Gets previous version of Entry.
- * @return previous version of Entry.
- */
- public Entry getAncestor() {
- final Date ancDate = getAncestorDate();
- return (ancDate == null) ? null : read(this.key + dateString(ancDate), WikiBoard.this.bkpbase);
- }
-
- /**
- * Adds child of current Entry.
- * @param subject subject of child of current Entry.
- */
- void setChild(final String subject) {
- this.record.put("child", Base64Order.enhancedCoder.encode(UTF8.getBytes(subject)));
- }
-
- /**
- * Gets name (= subject) of child of this Entry.
- * @return name of child of this Entry.
- */
- private String getChildName() {
- final String c = this.record.get("child");
- final byte[] subject;
- return (c != null && (subject = Base64Order.enhancedCoder.decode(c)) != null) ? ASCII.String(subject) : null;
- }
-
- /**
- * Tells if Entry has child.
- * @return true if has child, else false.
- */
- public boolean hasChild() {
- final String c = this.record.get("child");
- return (c != null && Base64Order.enhancedCoder.decode(c) != null) ? true : false;
- }
-
- /**
- * Gets child of this Entry.
- * @return child of this Entry.
- */
- public Entry getChild() {
- final String childName = getChildName();
- return (childName == null) ? null : read(childName, WikiBoard.this.datbase);
- }
- }
-
- /**
- * Writes content of Entry to database and returns key.
- * @param entry Entry to be written.
- * @return key of Entry.
- */
- public String write(final Entry entry) {
- // writes a new page and returns key
- String key = null;
- try {
- // first load the old page
- final Entry oldEntry = read(entry.key);
- // set the bkp date of the new page to the date of the old page
- final Date oldDate = oldEntry.date();
- entry.setAncestorDate(oldDate);
- oldEntry.setChild(entry.subject());
- // write the backup
- this.bkpbase.insert(UTF8.getBytes(entry.key + dateString(oldDate)), oldEntry.record);
- // write the new page
- this.datbase.insert(UTF8.getBytes(entry.key), entry.record);
- key = entry.key;
- } catch (final Exception e) {
- ConcurrentLog.logException(e);
- }
- return key;
- }
-
- /**
- * Reads content of Entry from database.
- * @param key key of Entry.
- * @return Entry which contains data.
- */
- public Entry read(final String key) {
- return read(key, this.datbase);
- }
-
- /**
- * Reads content of Entry from database.
- * @param key key of Entry.
- * @param base database containing data.
- * @return Entry which contains data.
- */
- Entry read(final String key, final MapHeap base) {
- Entry ret = null;
- try {
- String copyOfKey = normalize(key);
- if (copyOfKey.length() > keyLength) {
- copyOfKey = copyOfKey.substring(0, keyLength);
- }
- final Map<String, String> record = base.get(UTF8.getBytes(copyOfKey));
- ret = (record == null) ? newEntry(copyOfKey, ANONYMOUS, Domains.LOCALHOST, "New Page", UTF8.getBytes("")) : new Entry(copyOfKey, record);
- } catch (final IOException e) {
- ConcurrentLog.logException(e);
- } catch (final SpaceExceededException e) {
- ConcurrentLog.logException(e);
- }
- return ret;
- }
-
- /**
- * Reads old Entry from backup database.
- * @param key key of Entry.
- * @return the Entry.
- */
- public Entry readBkp(final String key) {
- return read(key, this.bkpbase);
- }
-
- /**
- * Gets Iterator of keys in database.
- * @param up
- * @return keys of Entries in database.
- * @throws IOException
- */
- public Iterator<byte[]> keys(final boolean up) throws IOException {
- return this.datbase.keys(up, false);
- }
-
- /**
- * Gets Iterator of keys in backup database.
- * @param up
- * @return keys of Entries in backup database.
- * @throws IOException
- */
- public Iterator<byte[]> keysBkp(final boolean up) throws IOException {
- return this.bkpbase.keys(up, false);
- }
-}
diff --git a/source/net/yacy/data/wiki/WikiCode.java b/source/net/yacy/data/wiki/WikiCode.java index 2851b31bc..20d87ab81 100644 --- a/source/net/yacy/data/wiki/WikiCode.java +++ b/source/net/yacy/data/wiki/WikiCode.java @@ -37,8 +37,7 @@ import java.util.regex.Pattern; import net.yacy.document.parser.html.CharacterCoding;
import net.yacy.server.serverCore;
-/** Provides methods to handle texts that have been posted in the yacyWiki or other
- * parts of YaCy which use wiki code, like the blog or the profile.
+/** Provides methods to render WikiCode used by MediaWiki import, messages and profiles. *
* @author Alexander Schier [AS], Franz Brausze [FB], Marc Nause [MN]
*/
@@ -584,7 +583,7 @@ public class WikiCode extends AbstractWikiParser implements WikiParser { /**
* Processes tags which are connected to links and images.
* @author [AS], [MN]
- * @param hostport (optional) host and port, added when not empty as the base of relative Wiki link URLs.
+ * @param hostport optional host and port used as the base of relative media URLs. * @param line line of text to be transformed from wiki code to HTML
* @return HTML fragment
*/
@@ -661,17 +660,18 @@ public class WikiCode extends AbstractWikiParser implements WikiParser { line = line.substring(0, positionOfOpeningTag) + "" + "<iframe src=\"http://player.vimeo.com/video/" + kl + "\" width=\"425\" height=\"350\" frameborder=\"0\" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>";
break;
}
- // if it's no image, it might be an internal link
- else {
+ // Internal links used to target the retired local Wiki application. Keep + // their labels as plain rendered text instead of producing dead links. + else { if ((p = kl.indexOf(PIPE_ESCAPED)) > 0) {
kv = kl.substring(p + LEN_PIPE_ESCAPED);
kl = kl.substring(0, p);
} else {
kv = kl;
- }
- line = line.substring(0, positionOfOpeningTag) + "<a class=\"known\" href=\"Wiki.html?page=" + kl + "\">" + kv + "</a>" + line.substring(positionOfClosingTag + LEN_WIKI_CLOSE_LINK); // oob exception in append() !
- fromIndex = positionOfClosingTag + LEN_WIKI_CLOSE_LINK;
- }
+ } + line = line.substring(0, positionOfOpeningTag) + kv + line.substring(positionOfClosingTag + LEN_WIKI_CLOSE_LINK); + fromIndex = positionOfOpeningTag + kv.length(); + } }
fromIndex = 0;
diff --git a/source/net/yacy/htroot/Blog.java b/source/net/yacy/htroot/Blog.java deleted file mode 100644 index d0067b298..000000000 --- a/source/net/yacy/htroot/Blog.java +++ /dev/null @@ -1,343 +0,0 @@ -// Blog.java -// ----------------------- -// part of YACY -// (C) by Michael Peter Christen; mc@yacy.net -// first published on http://www.anomic.de -// Frankfurt, Germany, 2004 -// -// This File is contributed by Jan Sandbrink -// Contains contributions from Marc Nause [MN] -// -//$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 - -// You must compile this file with -// javac -classpath .:../classes Blog.java -// if the shell's current path is HTROOT - -package net.yacy.htroot; - -import java.text.DateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Locale; -import java.util.Map; - -import net.yacy.cora.document.encoding.UTF8; -import net.yacy.cora.protocol.HeaderFramework; -import net.yacy.cora.protocol.RequestHeader; -import net.yacy.data.BlogBoard; -import net.yacy.data.UserDB; -import net.yacy.http.servlets.YaCyDefaultServlet; -import net.yacy.peers.NewsPool; -import net.yacy.peers.Seed; -import net.yacy.search.Switchboard; -import net.yacy.server.serverObjects; -import net.yacy.server.serverSwitch; - -public class Blog { - - private static final String DEFAULT_PAGE = "blog_default"; - - private static DateFormat SimpleFormatter = DateFormat.getDateTimeInstance(DateFormat.DEFAULT,DateFormat.DEFAULT, Locale.getDefault()); - - /** - * print localized date/time "yyyy/mm/dd HH:mm:ss" - * @param date - * @return - */ - public static String dateString(final Date date) { - return SimpleFormatter.format(date); - } - - public static serverObjects respond(final RequestHeader header, final serverObjects post, final serverSwitch env) { - final Switchboard sb = (Switchboard) env; - final serverObjects prop = new serverObjects(); - BlogBoard.BlogEntry page = null; - - boolean hasRights = sb.verifyAuthentication(header); - - //final int display = (hasRights || post == null) ? 1 : post.getInt("display", 0); - //prop.put("display", display); - prop.put("display", 1); // Fixed to 1 - - - final boolean xml = header.getPathInfo().endsWith(".xml"); - /* Peer URL base : used to generate absolute URLs in Blog.rss */ - final String context = YaCyDefaultServlet.getContext(header, sb); - - prop.put("mode_admin", hasRights ? "1" : "0"); - - if (post == null) { - prop.putHTML("peername", sb.peers.mySeed().getName()); - prop.put("context", context); - return putBlogDefault(prop, sb, context, 0, 10, hasRights, xml); - } - - final int start = post.getInt("start",0); //indicates from where entries should be shown - final int num = post.getInt("num",10); //indicates how many entries should be shown - - if (!hasRights) { - final UserDB.Entry userentry = sb.userDB.proxyAuth(header); - if (userentry != null && userentry.hasRight(UserDB.AccessRight.BLOG_RIGHT)) { - hasRights=true; - } else if (post.containsKey("login")) { - //opens login window if login link is clicked - prop.authenticationRequired(); - } - } - - String pagename = post.get("page", DEFAULT_PAGE); - final String ip = header.getRemoteAddr(); - - String strAuthor = post.get("author", "anonymous"); - - if ("anonymous".equals(strAuthor)) { - strAuthor = sb.blogDB.guessAuthor(ip); - - if (strAuthor == null || strAuthor.isEmpty()) { - if (sb.peers.mySeed() == null) { - strAuthor = "anonymous"; - } else { - strAuthor = sb.peers.mySeed().get(Seed.NAME, "anonymous"); - } - } - } - - byte[] author; - author = UTF8.getBytes(strAuthor); - - if (hasRights && post.containsKey("delete") && "sure".equals(post.get("delete"))) { - page = sb.blogDB.readBlogEntry(pagename); - for (final String comment : page.getComments()) { - sb.blogCommentDB.delete(comment); - } - sb.blogDB.deleteBlogEntry(pagename); - pagename = DEFAULT_PAGE; - } - - if (post.containsKey("discard")) { - pagename = DEFAULT_PAGE; - } - - if (post.containsKey("submit") && hasRights) { - // store a new/edited blog-entry - byte[] content; - content = UTF8.getBytes(post.get("content", "")); - - final Date date; - List<String> comments = null; - - //set name for new entry or date for old entry - if (DEFAULT_PAGE.equals(pagename)) { - pagename = String.valueOf(System.currentTimeMillis()); - date = null; - } else { - page = sb.blogDB.readBlogEntry(pagename); - comments = page.getComments(); - date = page.getDate(); - } - final String commentMode = post.get("commentMode", "2"); - final String StrSubject = post.get("subject", ""); - byte[] subject; - subject = UTF8.getBytes(StrSubject); - - sb.blogDB.writeBlogEntry(sb.blogDB.newEntry(pagename, subject, author, ip, date, content, comments, commentMode)); - - // create a news message - if (!sb.isRobinsonMode()) { - final Map<String, String> map = new HashMap<>(); - map.put("page", pagename); - map.put("subject", StrSubject.replace(',', ' ')); - map.put("author", strAuthor.replace(',', ' ')); - sb.peers.newsPool.publishMyNews(sb.peers.mySeed(), NewsPool.CATEGORY_BLOG_ADD, map); - } - } - - page = sb.blogDB.readBlogEntry(pagename); //maybe "if(page == null)" - - if (post.containsKey("edit")) { - //edit an entry - if(hasRights) { - prop.put("mode", "1"); //edit - prop.put("mode_commentMode", page.getCommentMode()); - prop.putHTML("mode_author", UTF8.String(page.getAuthor())); - prop.put("mode_pageid", page.getKey()); - prop.putHTML("mode_subject", UTF8.String(page.getSubject())); - prop.put("mode_page-code", UTF8.String(page.getPage())); - } - else { - prop.put("mode", "3"); //access denied (no rights) - } - } else if(post.containsKey("preview")) { - //preview the page - if(hasRights) { - prop.put("mode", "2");//preview - prop.put("mode_commentMode", post.getInt("commentMode", 2)); - prop.putHTML("mode_pageid", pagename); - prop.putHTML("mode_author", UTF8.String(author)); - prop.putHTML("mode_subject", post.get("subject","")); - prop.put("mode_date", dateString(new Date())); - prop.putWiki("mode_page", post.get("content", "")); - prop.putHTML("mode_page-code", post.get("content", "")); - } - else { - prop.put("mode", "3"); //access denied (no rights) - } - } - else if("try".equals(post.get("delete", ""))) { - if(hasRights) { - prop.put("mode", "4"); - prop.putHTML("mode_pageid", pagename); - prop.putHTML("mode_author",UTF8.String(page.getAuthor())); - prop.putHTML("mode_subject",UTF8.String(page.getSubject())); - } - else prop.put("mode", "3"); //access denied (no rights) - } - else if (post.containsKey("import")) { - prop.put("mode", "5"); - prop.put("mode_state", "0"); - } - else if (post.containsKey("xmlfile")) { - prop.put("mode", "5"); - if (sb.blogDB.importXML(post.getInputStream("xmlfile$file"))) { - prop.put("mode_state", "1"); - } - else { - prop.put("mode_state", "2"); - } - } - else { - // show blog-entry/entries - prop.put("mode", "0"); //viewing - if(DEFAULT_PAGE.equals(pagename)) { - // XXX: where are "peername" and "address" used in the template? - // XXX: "clientname" is already set to the peername, no need for a new setting - prop.putHTML("peername", sb.peers.mySeed().getName()); - prop.put("context", context); - //index all entries - putBlogDefault(prop, sb, context, start, num, hasRights, xml); - } - else { - //only show 1 entry - prop.put("mode_entries", "1"); - putBlogEntry(prop, page, context, 0, hasRights, xml); - } - } - - // return rewrite properties - return prop; - } - - private static serverObjects putBlogDefault( - final serverObjects prop, - final Switchboard switchboard, - final String context, - int start, - int num, - final boolean hasRights, - final boolean xml) - { - final Iterator<String> i = switchboard.blogDB.getBlogIterator(false); - - int count = 0; //counts how many entries are shown to the user - if (xml) { - num = 0; - } - final int nextstart = start+num; //indicates the starting offset for next results - int prevstart = start-num; //indicates the starting offset for previous results - - while (i.hasNext() && (num == 0 || num > count)) { - if(0 < start--) continue; - putBlogEntry( - prop, - switchboard.blogDB.readBlogEntry(i.next()), - context, - count++, - hasRights, - xml); - } - prop.put("mode_entries", count); - - if (i.hasNext()) { - prop.put("mode_moreentries", "1"); //more entries are availible - prop.put("mode_moreentries_start", nextstart); - prop.put("mode_moreentries_num", num); - } else { - prop.put("moreentries", "0"); - } - - if (start > 0) { - prop.put("mode_preventries", "1"); - if (prevstart < 0) { - prevstart = 0; - } - prop.put("mode_preventries_start", prevstart); - prop.put("mode_preventries_num", num); - } else prop.put("mode_preventries", "0"); - - return prop; - } - - private static serverObjects putBlogEntry( - final serverObjects prop, - final BlogBoard.BlogEntry entry, - final String context, - final int number, - final boolean hasRights, - final boolean xml) - { - prop.putHTML("mode_entries_" + number + "_subject", UTF8.String(entry.getSubject())); - - prop.putHTML("mode_entries_" + number + "_author", UTF8.String(entry.getAuthor())); - - // comments - if (entry.getCommentMode() == 0) { - prop.put("mode_entries_" + number + "_commentsactive", "0"); - } else { - prop.put("mode_entries_" + number + "_commentsactive", "1"); - prop.put("mode_entries_" + number + "_commentsactive_pageid", entry.getKey()); - prop.put("mode_entries_" + number + "_commentsactive_context", context); - prop.put("mode_entries_" + number + "_commentsactive_comments", entry.getCommentsSize()); - } - - prop.put("mode_entries_" + number + "_date", dateString(entry.getDate())); - prop.put("mode_entries_" + number + "_rfc822date", HeaderFramework.formatRFC1123(entry.getDate())); - prop.put("mode_entries_" + number + "_pageid", entry.getKey()); - prop.put("mode_entries_" + number + "_context", context); - prop.put("mode_entries_" + number + "_ip", entry.getIp()); - - if (xml) { - prop.put("mode_entries_" + number + "_page", entry.getPage()); - prop.put("mode_entries_" + number + "_timestamp", entry.getTimestamp()); - } else { - prop.putWiki("mode_entries_" + number + "_page", entry.getPage()); - } - - if (hasRights) { - prop.put("mode_entries_" + number + "_admin", "1"); - prop.put("mode_entries_" + number + "_admin_pageid",entry.getKey()); - } else { - prop.put("mode_entries_" + number + "_admin", "0"); - } - - return prop; - } -} diff --git a/source/net/yacy/htroot/BlogComments.java b/source/net/yacy/htroot/BlogComments.java deleted file mode 100644 index 8dbb43536..000000000 --- a/source/net/yacy/htroot/BlogComments.java +++ /dev/null @@ -1,331 +0,0 @@ -// BlogComments.java -// ----------------------- -// part of YACY -// (C) by Michael Peter Christen; mc@yacy.net -// first published on http://www.anomic.de -// Frankfurt, Germany, 2004 -// -// This File is contributed by Jan Sandbrink -// -//$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 - -// You must compile this file with -// javac -classpath .:../Classes Blacklist_p.java -// if the shell's current path is HTROOT - -package net.yacy.htroot; - -import java.io.File; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.Date; -import java.util.Iterator; - -import com.google.common.io.Files; - -import net.yacy.cora.document.encoding.UTF8; -import net.yacy.cora.protocol.Domains; -import net.yacy.cora.protocol.HeaderFramework; -import net.yacy.cora.protocol.RequestHeader; -import net.yacy.cora.util.CommonPattern; -import net.yacy.cora.util.ConcurrentLog; -import net.yacy.data.BlogBoard; -import net.yacy.data.BlogBoard.BlogEntry; -import net.yacy.data.BlogBoardComments; -import net.yacy.data.MessageBoard; -import net.yacy.data.UserDB; -import net.yacy.peers.Network; -import net.yacy.peers.Seed; -import net.yacy.search.Switchboard; -import net.yacy.search.SwitchboardConstants; -import net.yacy.server.serverObjects; -import net.yacy.server.serverSwitch; - - -public class BlogComments { - - private static final String DEFAULT_PAGE = "blog_default"; - - public static String dateString(final Date date) { - return Blog.dateString(date); - } - - public static serverObjects respond(final RequestHeader header, serverObjects post, final serverSwitch env) { - final Switchboard sb = (Switchboard) env; - final serverObjects prop = new serverObjects(); - boolean hasRights = sb.verifyAuthentication(header); - - prop.put("mode_admin", hasRights ? "1" : "0"); - - if (post == null) { - post = new serverObjects(); - post.put("page", "blog_default"); - } - - if (!hasRights) { - final UserDB.Entry userentry = sb.userDB.proxyAuth(header); - if (userentry != null && userentry.hasRight(UserDB.AccessRight.BLOG_RIGHT)) { - hasRights = true; - } else if (post.containsKey("login")) { - //opens login window if login link is clicked - prop.authenticationRequired(); - } - } - - final String pagename = post.get("page", DEFAULT_PAGE); - final String ip = post.get(HeaderFramework.CONNECTION_PROP_CLIENTIP, Domains.LOCALHOST); - - String strAuthor = post.get("author", "anonymous"); - - if ("anonymous".equals(strAuthor)) { - strAuthor = sb.blogDB.guessAuthor(ip); - - if (strAuthor == null || strAuthor.isEmpty()) { - if (sb.peers.mySeed() == null) { - strAuthor = "anonymous"; - } else { - strAuthor = sb.peers.mySeed().get(Seed.NAME, "anonymous"); - } - } - } - - byte[] author; - author = UTF8.getBytes(strAuthor); - - final BlogBoard.BlogEntry page = sb.blogDB.readBlogEntry(pagename); //maybe "if(page == null)" - final boolean pageExists = sb.blogDB.contains(pagename); - - // comments not allowed - prop.put("mode_allow", (page.getCommentMode() == 0) ? 0 : 1); - - if (post.containsKey("submit") && page.getCommentMode() != 0 && pageExists) { - // store a new/edited blog-entry - byte[] content; - if (!"".equals(post.get("content", ""))) { - if ("".equals(post.get("subject", ""))) { - post.putHTML("subject", "no title"); - } - content = UTF8.getBytes(post.get("content", "")); - - final Date date = null; - - //set name for new entry or date for old entry - final String StrSubject = post.get("subject", ""); - byte[] subject; - subject = UTF8.getBytes(StrSubject); - final String commentID = String.valueOf(System.currentTimeMillis()); - final BlogEntry blogEntry = sb.blogDB.readBlogEntry(pagename); - blogEntry.addComment(commentID); - sb.blogDB.writeBlogEntry(blogEntry); - sb.blogCommentDB.write(sb.blogCommentDB.newEntry(commentID, subject, author, ip, date, content)); - prop.putHTML(serverObjects.ACTION_LOCATION,"BlogComments.html?page=" + pagename); - - final MessageBoard.entry msgEntry = sb.messageDB.newEntry( - "blogComment", - strAuthor, - sb.peers.mySeed().hash, - sb.peers.mySeed().getName(), sb.peers.mySeed().hash, - "new blog comment: " + UTF8.String(blogEntry.getSubject()), content); - sb.messageDB.write(msgEntry); - - messageForwardingViaEmail(sb, msgEntry); - - // finally write notification - final File notifierSource = new File(sb.getAppPath(), sb.getConfig(SwitchboardConstants.HTROOT_PATH, SwitchboardConstants.HTROOT_PATH_DEFAULT) + "/env/grafics/message.gif"); - final File notifierDest = new File(sb.getDataPath(SwitchboardConstants.HTDOCS_PATH, SwitchboardConstants.HTDOCS_PATH_DEFAULT), "notifier.gif"); - try { - Files.copy(notifierSource, notifierDest); - } catch (final IOException e) { - ConcurrentLog.severe("MESSAGE", "NEW MESSAGE ARRIVED! (error: " + e.getMessage() + ")"); - - } - } - } - - if (hasRights && post.containsKey("delete") && post.containsKey("page") && - post.containsKey("comment") && page.removeComment(post.get("comment"))) { - sb.blogCommentDB.delete(post.get("comment")); - } - - if (hasRights && post.containsKey("allow") && post.containsKey("page") && post.containsKey("comment")) { - final BlogBoardComments.CommentEntry entry = sb.blogCommentDB.read(post.get("comment")); - entry.allow(); - sb.blogCommentDB.write(entry); - } - - if (post.containsKey("preview") && page.getCommentMode() != 0) { - //preview the page - prop.put("mode", "1");//preview - prop.putHTML("mode_pageid", pagename); - prop.putHTML("mode_allow_pageid", pagename); - prop.putHTML("mode_author", UTF8.String(author)); - prop.putHTML("mode_allow_author", UTF8.String(author)); - prop.putHTML("mode_subject", post.get("subject","")); - prop.put("mode_date", dateString(new Date())); - prop.putWiki("mode_page", post.get("content", "")); - prop.put("mode_page-code", post.get("content", "")); - } else { - // show blog-entry/entries - prop.put("mode", "0"); //viewing - if("blog_default".equals(pagename)) { - prop.put(serverObjects.ACTION_LOCATION,"Blog.html"); - } else { - //show 1 blog entry - prop.put("mode_pageid", page.getKey()); - prop.putHTML("mode_allow_pageid", pagename); - prop.putHTML("mode_subject", UTF8.String(page.getSubject())); - prop.putHTML("mode_author", UTF8.String(page.getAuthor())); - prop.putHTML("mode_allow_author", UTF8.String(author)); - prop.put("mode_comments", page.getCommentsSize()); - prop.put("mode_date", dateString(page.getDate())); - prop.putWiki("mode_page", page.getPage()); - if (hasRights) { - prop.put("mode_admin", "1"); - prop.put("mode_admin_pageid", page.getKey()); - } - final Iterator<String> i = page.getComments().iterator(); - final int commentMode = page.getCommentMode(); - String pageid; - BlogBoardComments.CommentEntry entry; - final boolean xml = post.containsKey("xml"); - int count = 0; //counts how many entries are shown to the user - int start = post.getInt("start",0); //indicates from where entries should be shown - int num = post.getInt("num",10); //indicates how many entries should be shown - - if (xml) { - num = 0; - } - if (start < 0) { - start = 0; - } - - final int nextstart = start + num; //indicates the starting offset for next results - int prevstart = start - num; //indicates the starting offset for previous results - while (i.hasNext() && count < num) { - - pageid = i.next(); - - if(start > 0) { - start--; - continue; - } - - entry = sb.blogCommentDB.read(pageid); - - if (commentMode == 2 && !hasRights && !entry.isAllowed()) { - continue; - } - - prop.put("mode", "0"); - prop.put("mode_entries_"+count+"_pageid", entry.getKey()); - if (!xml) { - prop.putHTML("mode_entries_"+count+"_subject", UTF8.String(entry.getSubject())); - prop.putHTML("mode_entries_"+count+"_author", UTF8.String(entry.getAuthor())); - prop.putWiki("mode_entries_"+count+"_page", entry.getPage()); - } else { - prop.putHTML("mode_entries_"+count+"_subject", UTF8.String(entry.getSubject())); - prop.putHTML("mode_entries_"+count+"_author", UTF8.String(entry.getAuthor())); - prop.put("mode_entries_"+count+"_page", entry.getPage()); - prop.put("mode_entries_"+count+"_timestamp", entry.getTimestamp()); - } - prop.put("mode_entries_"+count+"_date", dateString(entry.getDate())); - prop.put("mode_entries_"+count+"_ip", entry.getIp()); - if(hasRights) { - prop.put("mode_entries_"+count+"_admin", "1"); - prop.put("mode_entries_"+count+"_admin_pageid", page.getKey()); - prop.put("mode_entries_"+count+"_admin_commentid", pageid); - if(page.getCommentMode() == 2 && !entry.isAllowed()) { - prop.put("mode_entries_"+count+"_admin_moderate", "1"); - prop.put("mode_entries_"+count+"_admin_moderate_pageid", page.getKey()); - prop.put("mode_entries_"+count+"_admin_moderate_commentid", pageid); - - } - } - else prop.put("mode_entries_"+count+"_admin", 0); - ++count; - } - prop.put ("mode_entries", count); - if (i.hasNext()) { - prop.put("mode_moreentries", "1"); //more entries are availible - prop.put("mode_moreentries_start", nextstart); - prop.put("mode_moreentries_num", num); - prop.put("mode_moreentries_pageid", page.getKey()); - } - else prop.put("mode_moreentries", "0"); - if (start > 1) { - prop.put("mode_preventries", "1"); - if (prevstart < 0) prevstart = 0; - prop.put("mode_preventries_start", prevstart); - prop.put("mode_preventries_num", num); - prop.put("mode_preventries_pageid", page.getKey()); - } else prop.put("mode_preventries", "0"); - } - } - - // return rewrite properties - return prop; - } - - private static void messageForwardingViaEmail(final Switchboard sb, final MessageBoard.entry msgEntry) { - try { - if (!sb.getConfigBool("msgForwardingEnabled",false)) { - return; - } - - // get the recipient address - final String sendMailTo = sb.getConfig("msgForwardingTo","root@localhost").trim(); - - // get the sendmail configuration - final String sendMailStr = sb.getConfig("msgForwardingCmd","/usr/bin/sendmail")+" "+sendMailTo; - final String[] sendMail = CommonPattern.SPACE.split(sendMailStr.trim()); - - // build the message text - final StringBuilder emailTxt = new StringBuilder(); - emailTxt.append("To: ") - .append(sendMailTo) - .append("\nFrom: ") - .append("yacy@") - .append(sb.peers.mySeed().getName()) - .append("\nSubject: [YaCy] ") - .append(msgEntry.subject().replace('\n', ' ')) - .append("\nDate: ") - .append(msgEntry.date()) - .append("\n") - .append("\nMessage from: ") - .append(msgEntry.author()) - .append("/") - .append(msgEntry.authorHash()) - .append("\nMessage to: ") - .append(msgEntry.recipient()) - .append("/") - .append(msgEntry.recipientHash()) - .append("\nCategory: ") - .append(msgEntry.category()) - .append("\n===================================================================\n") - .append(UTF8.String(msgEntry.message())); - - final Process process=Runtime.getRuntime().exec(sendMail); - final PrintWriter email = new PrintWriter(process.getOutputStream()); - email.print(new String(emailTxt)); - email.close(); - } catch (final Exception e) { - Network.log.warn("message: message forwarding via email failed. ",e); - } - } -} diff --git a/source/net/yacy/htroot/Bookmarks.java b/source/net/yacy/htroot/Bookmarks.java index 9ac240260..28a6ea053 100644 --- a/source/net/yacy/htroot/Bookmarks.java +++ b/source/net/yacy/htroot/Bookmarks.java @@ -53,7 +53,6 @@ import net.yacy.data.BookmarksDB; import net.yacy.data.BookmarksDB.Bookmark; import net.yacy.data.BookmarksDB.Tag; import net.yacy.data.ListManager; -import net.yacy.data.UserDB; import net.yacy.document.Document; import net.yacy.document.Parser; import net.yacy.http.servlets.YaCyDefaultServlet; @@ -62,6 +61,7 @@ import net.yacy.kelondro.workflow.BusyThread; import net.yacy.peers.NewsPool; import net.yacy.search.AutoSearch; import net.yacy.search.Switchboard; +import net.yacy.search.SwitchboardConstants; import net.yacy.server.serverObjects; import net.yacy.server.serverSwitch; @@ -70,7 +70,6 @@ public class Bookmarks { private static final serverObjects prop = new serverObjects(); private static Switchboard sb = null; - private static UserDB.Entry user = null; private static boolean isAdmin = false; final static int SORT_ALPHA = 1; @@ -88,18 +87,15 @@ public class Bookmarks { int start=0; int display = 0; String tagName = ""; - String username=""; + String username=""; prop.clear(); sb = (Switchboard) env; - user = sb.userDB.getUser(header); - isAdmin = (sb.verifyAuthentication(header) || user!= null && user.hasRight(UserDB.AccessRight.BOOKMARK_RIGHT)); - - // set user name - if (user != null) { - username=user.getUserName(); - } else if(isAdmin) { - username="admin"; + isAdmin = sb.verifyAuthentication(header); + + // set user name + if(isAdmin) { + username=sb.getConfig(SwitchboardConstants.ADMIN_ACCOUNT_USER_NAME, "admin"); } prop.putHTML("user", username); @@ -164,10 +160,6 @@ public class Bookmarks { bookmark.setProperty(BookmarksDB.Bookmark.BOOKMARK_TITLE, title); bookmark.setProperty(BookmarksDB.Bookmark.BOOKMARK_DESCRIPTION, description); - if (user!=null) { - bookmark.setOwner(user.getUserName()); - } - if ("public".equals(post.get("public"))) { bookmark.setPublic(true); publishNews(url, title, description, tagsString); diff --git a/source/net/yacy/htroot/ConfigAccountList_p.java b/source/net/yacy/htroot/ConfigAccountList_p.java deleted file mode 100644 index 7a3dff960..000000000 --- a/source/net/yacy/htroot/ConfigAccountList_p.java +++ /dev/null @@ -1,106 +0,0 @@ -// ConfigAccountList_p.java
-// -------------------------
-// (c) 2017 by reger24; https://github.com/reger24
-//
-// This is a part of YaCy, a peer-to-peer based web search engine
-//
-// 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.htroot;
-
-import java.util.Iterator;
-
-import net.yacy.cora.date.GenericFormatter;
-import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.data.UserDB;
-import net.yacy.data.UserDB.AccessRight;
-import net.yacy.search.Switchboard;
-import net.yacy.server.serverObjects;
-import net.yacy.server.serverSwitch;
-
-public class ConfigAccountList_p {
-
- public static serverObjects respond(@SuppressWarnings("unused") final RequestHeader header, @SuppressWarnings("unused") final serverObjects post, final serverSwitch env) {
-
- final serverObjects prop = new serverObjects();
- final Switchboard sb = (Switchboard) env;
- UserDB.Entry entry;
-
- if (sb.userDB == null) {
- prop.put("userlist", 0);
- return prop;
- }
-
- //Generate Userlist
- final Iterator<UserDB.Entry> it = sb.userDB.iterator(true);
- int numUsers = 0;
- while (it.hasNext()) {
- entry = it.next();
- if (entry == null) {
- continue;
- }
- prop.putHTML("userlist_" + numUsers + "_username", entry.getUserName());
- prop.putHTML("userlist_" + numUsers + "_lastname", entry.getLastName());
- prop.putHTML("userlist_" + numUsers + "_firstname", entry.getFirstName());
- prop.putHTML("userlist_" + numUsers + "_address", entry.getAddress());
- if (entry.getLastAccess() != null) {
- prop.put("userlist_" + numUsers + "_lastaccess",
- GenericFormatter.formatSafely(entry.getLastAccess(), GenericFormatter.FORMAT_SIMPLE));
- } else {
- prop.put("userlist_" + numUsers + "_lastaccess", "never");
- }
-
- final AccessRight[] rights = AccessRight.values();
- String rightStr = "";
- for (final AccessRight right : rights) {
- if (entry.hasRight(right)) {
- if (rightStr.isEmpty()) {
- rightStr = right.getFriendlyName();
- } else {
- rightStr += ", " + right.getFriendlyName();
- }
- }
- }
- prop.putHTML("userlist_" + numUsers + "_rights", rightStr);
-
- long percent;
- if (entry.getTrafficLimit() != null) {
- final long limit = entry.getTrafficLimit();
- final long used = entry.getTrafficSize();
- percent = used * 100 / limit;
- prop.put("userlist_" + numUsers + "_time", percent);
- } else {
- prop.put("userlist_" + numUsers + "_time", "");
- }
-
- percent = -1;
- if (entry.getTimeLimit() > 0) {
- final long limit = entry.getTimeLimit();
- final long used = entry.getTimeUsed();
- percent = used * 100 / limit;
- prop.put("userlist_" + numUsers + "_traffic", percent);
- } else {
- prop.put("userlist_" + numUsers + "_traffic", "");
- }
-
-
- numUsers++;
- }
- prop.put("userlist", numUsers);
-
- // return rewrite properties
- return prop;
- }
-}
diff --git a/source/net/yacy/htroot/ConfigAccounts_p.java b/source/net/yacy/htroot/ConfigAccounts_p.java index c2c75b394..4ca771794 100644 --- a/source/net/yacy/htroot/ConfigAccounts_p.java +++ b/source/net/yacy/htroot/ConfigAccounts_p.java @@ -31,16 +31,8 @@ package net.yacy.htroot;
-import java.util.EnumMap;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.cora.util.ConcurrentLog;
-import net.yacy.data.TransactionManager;
-import net.yacy.data.UserDB;
-import net.yacy.data.UserDB.AccessRight;
+import net.yacy.cora.protocol.RequestHeader; +import net.yacy.data.TransactionManager; import net.yacy.http.YaCyHttpServer;
import net.yacy.search.Switchboard;
import net.yacy.search.SwitchboardConstants;
@@ -60,245 +52,53 @@ public class ConfigAccounts_p { } catch (IllegalArgumentException e) {
sb.log.fine("access by unauthorized or unknown user: no transaction token delivered");
}
- UserDB.Entry entry = null;
-
- // admin password
- boolean localhostAccess = sb.getConfigBool(SwitchboardConstants.ADMIN_ACCOUNT_FOR_LOCALHOST, false);
-
- if (post != null && post.containsKey("setAccess")) {
- TransactionManager.checkPostTransaction(header, post);
- sb.setConfig(SwitchboardConstants.ADMIN_ACCOUNT_All_PAGES, post.getBoolean(SwitchboardConstants.ADMIN_ACCOUNT_All_PAGES));
- }
-
- if (post != null && post.containsKey("setAdmin")) {
- TransactionManager.checkPostTransaction(header, post);
- localhostAccess = post.get("access", "").equals("localhost");
- final String user = post.get("adminuser", "");
- final String pw1 = post.get("adminpw1", "");
- final String pw2 = post.get("adminpw2", "");
- int inputerror=0;
- // may be overwritten if new password is given
- if (user.length() > 0 && pw1.equals(pw2)) {
- final String oldusername = env.getConfig(SwitchboardConstants.ADMIN_ACCOUNT_USER_NAME,user);
- // check passed. set account:
- // old: // env.setConfig(SwitchboardConstants.ADMIN_ACCOUNT_B64MD5, Digest.encodeMD5Hex(Base64Order.standardCoder.encodeString(user + ":" + pw1)));
- env.setConfig(SwitchboardConstants.ADMIN_ACCOUNT_B64MD5, sb.encodeDigestAuth(user, pw1));
- env.setConfig(SwitchboardConstants.ADMIN_ACCOUNT_USER_NAME,user);
- // make sure server accepts new credentials
- final YaCyHttpServer jhttpserver = sb.getHttpServer();
- if (!user.equals(oldusername)) jhttpserver.removeUser(oldusername);
- jhttpserver.resetUser(user);
- } else {
- if (!localhostAccess) {
- if (user.isEmpty()) {
- inputerror = 3;
- } else {
- inputerror = 2; // password match error
- }
- prop.put("error", inputerror);
- }
- }
-
- if (inputerror == 0) {
- if (localhostAccess) {
- sb.setConfig(SwitchboardConstants.ADMIN_ACCOUNT_FOR_LOCALHOST, true);
- } else {
- sb.setConfig(SwitchboardConstants.ADMIN_ACCOUNT_FOR_LOCALHOST, false);
- if (env.getConfig(SwitchboardConstants.ADMIN_ACCOUNT_B64MD5, "").startsWith("0000")) {
- // make shure that the user can still use the interface after a random password was set
- env.setConfig(SwitchboardConstants.ADMIN_ACCOUNT_B64MD5, "");
- }
- }
- }
- }
+ // Page protection policy + if (post != null && post.containsKey("setAccess")) { + TransactionManager.checkPostTransaction(header, post); + sb.setConfig(SwitchboardConstants.ADMIN_ACCOUNT_All_PAGES, post.getBoolean(SwitchboardConstants.ADMIN_ACCOUNT_All_PAGES)); + } + + // Unauthenticated administrator access for eligible localhost requests + if (post != null && post.containsKey("setLocalhostAccess")) { + TransactionManager.checkPostTransaction(header, post); + sb.setConfig(SwitchboardConstants.ADMIN_ACCOUNT_FOR_LOCALHOST, post.getBoolean(SwitchboardConstants.ADMIN_ACCOUNT_FOR_LOCALHOST)); + } + + // Built-in administrator credentials + if (post != null && post.containsKey("setAdmin")) { + TransactionManager.checkPostTransaction(header, post); + final String user = post.get("adminuser", ""); + final String pw1 = post.get("adminpw1", ""); + final String pw2 = post.get("adminpw2", ""); + int inputerror = 0; + if (user.isEmpty()) { + inputerror = 3; + } else if (pw1.isEmpty()) { + inputerror = 4; + } else if (!pw1.equals(pw2)) { + inputerror = 2; + } else { + final String oldusername = env.getConfig(SwitchboardConstants.ADMIN_ACCOUNT_USER_NAME, user); + env.setConfig(SwitchboardConstants.ADMIN_ACCOUNT_B64MD5, sb.encodeDigestAuth(user, pw1)); + env.setConfig(SwitchboardConstants.ADMIN_ACCOUNT_USER_NAME, user); + // make sure server accepts new credentials + final YaCyHttpServer jhttpserver = sb.getHttpServer(); + if (!user.equals(oldusername)) jhttpserver.removeUser(oldusername); + jhttpserver.resetUser(user); + } + prop.put("error", inputerror); + } // set a warning in case that the default password was not changed
- String currpw = sb.getConfig(SwitchboardConstants.ADMIN_ACCOUNT_B64MD5, "");
- String dfltpw = SwitchboardConstants.ADMIN_ACCOUNT_B64MD5_DEFAULT;
- prop.put("changedfltpw", currpw.equals(dfltpw) ? "1" : "0");
-
- prop.put(SwitchboardConstants.ADMIN_ACCOUNT_All_PAGES + ".checked", sb.getConfigBool(SwitchboardConstants.ADMIN_ACCOUNT_All_PAGES, false) ? 1 : 0);
- prop.put("localhost.checked", (localhostAccess) ? 1 : 0);
- prop.put("account.checked", (localhostAccess) ? 0 : 1);
- prop.put("statusPassword", localhostAccess ? "0" : "1");
- prop.put("defaultUser", env.getConfig(SwitchboardConstants.ADMIN_ACCOUNT_USER_NAME, "admin"));
-
- //default values
- prop.put("current_user", "newuser");
- prop.put("username", "");
- prop.put("firstname", "");
- prop.put("lastname", "");
- prop.put("address", "");
- prop.put("timelimit", "");
- prop.put("timeused", "");
-
- final AccessRight[] rights = AccessRight.values();
- int c = 0;
- for (final AccessRight right : rights) {
- prop.put("rights_" + c + "_name", right.toString());
- prop.put("rights_" + c +"_friendlyName", right.getFriendlyName());
- prop.put("rights_" + c + "_set", "0");
- c++;
- }
- prop.put("rights", c);
-
- prop.put("users", "0");
-
- if (sb.userDB == null) {
- return prop;
- }
-
- if (post == null) {
- //do nothing
-
- //user != current_user
- //user=from userlist
- //current_user = edited user
- } else if (post.containsKey("user") && !"newuser".equals(post.get("user"))) {
- TransactionManager.checkPostTransaction(header, post);
- if (post.containsKey("change_user")) {
- //defaults for newuser are set above
- entry = sb.userDB.getEntry(post.get("user"));
- // program crashes if a submit with empty username was made on previous mask and the user clicked on the
- // link: "If you want to manage more Users, return to the user page." (parameter "user" is empty)
- if (entry != null) {
- //TODO: set username read-only in html
- prop.putHTML("current_user", post.get("user"));
- prop.putHTML("username", post.get("user"));
- prop.putHTML("firstname", entry.getFirstName());
- prop.putHTML("lastname", entry.getLastName());
- prop.putHTML("address", entry.getAddress());
- prop.put("timelimit", entry.getTimeLimit());
- prop.put("timeused", entry.getTimeUsed());
- int count = 0;
- for (final AccessRight right : rights){
- prop.put("rights_" + count + "_set", entry.hasRight(right) ? "1" : "0");
- count++;
- }
- prop.put("rights", count);
- }
- } else if (post.containsKey("delete_user") && !"newuser".equals(post.get("user"))){
- sb.userDB.removeEntry(post.get("user"));
- }
- } else if (post.containsKey("change")) { //New User / edit User
- TransactionManager.checkPostTransaction(header, post);
- prop.put("text", "0");
- prop.put("error", "0");
-
- final String username = post.get("username");
- final String pw1 = post.get("password");
- final String pw2 = post.get("password2");
-
- if (pw1 == null || !pw1.equals(pw2)) {
- prop.put("error", "2"); //PW does not match
- return prop;
- }
- // do not allow same username as staticadmin
- if (username.equalsIgnoreCase(sb.getConfig(SwitchboardConstants.ADMIN_ACCOUNT_USER_NAME,"admin"))) {
- prop.put("error", "4");
- return prop;
- }
- final String firstName = post.get("firstname");
- final String lastName = post.get("lastname");
- final String address = post.get("address");
- final String timeLimit = post.get("timelimit");
- final String timeUsed = post.get("timeused");
- final Map<AccessRight, String> rightsSet = new EnumMap<AccessRight, String>(AccessRight.class);
-
- for(final AccessRight right : rights) {
- rightsSet.put(right, post.containsKey(right.toString()) && "on".equals(post.get(right.toString())) ? "true" : "false");
- }
-
- final Map<String, String> mem = new HashMap<String, String>();
- if( "newuser".equals(post.get("current_user"))){ //new user
-
- if (!"".equals(pw1)) { //change only if set
- // MD5 according to HTTP Digest RFC 2617 (3.2.2) name:realm:pwd (use seed.hash as realm)
- // with prefix of encoding method (supported MD5: )
- mem.put(UserDB.Entry.MD5ENCODED_USERPWD_STRING, sb.encodeDigestAuth(username, pw1));
- }
-
- mem.put(UserDB.Entry.USER_FIRSTNAME, firstName);
- mem.put(UserDB.Entry.USER_LASTNAME, lastName);
- mem.put(UserDB.Entry.USER_ADDRESS, address);
- mem.put(UserDB.Entry.TIME_LIMIT, timeLimit);
- mem.put(UserDB.Entry.TIME_USED, timeUsed);
-
- for (final AccessRight right : rights) {
- mem.put(right.toString(), rightsSet.get(right));
- }
-
- try {
- entry = sb.userDB.createEntry(username, mem);
- sb.userDB.addEntry(entry);
- prop.putHTML("text_username", username);
- prop.put("text", "1");
- } catch (final IllegalArgumentException e) {
- prop.put("error", "3");
- }
-
- } else { //edit user
-
- entry = sb.userDB.getEntry(username);
-
- if (entry != null) {
- try{
- // with prefix of encoding method (supported MD5: )
- entry.setProperty(UserDB.Entry.MD5ENCODED_USERPWD_STRING, sb.encodeDigestAuth(username, pw1));
- entry.setProperty(UserDB.Entry.USER_FIRSTNAME, firstName);
- entry.setProperty(UserDB.Entry.USER_LASTNAME, lastName);
- entry.setProperty(UserDB.Entry.USER_ADDRESS, address);
- entry.setProperty(UserDB.Entry.TIME_LIMIT, timeLimit);
- entry.setProperty(UserDB.Entry.TIME_USED, timeUsed);
-
- for(final AccessRight right : rights) {
- entry.setProperty(right.toString(), rightsSet.get(right));
- }
-
- } catch (final Exception e) {
- ConcurrentLog.logException(e);
- }
-
- } else {
- prop.put("error", "1");
- }
- prop.putHTML("text_username", username);
- prop.put("text", "2");
- }//edit user
-
- prop.putHTML("username", username);
- if (entry != null) {
- //TODO: set username read-only in html
- prop.putHTML("current_user", entry.getUserName());
- prop.putHTML("username", entry.getUserName());
- prop.putHTML("firstname", entry.getFirstName());
- prop.putHTML("lastname", entry.getLastName());
- prop.putHTML("address", entry.getAddress());
- prop.put("timelimit", entry.getTimeLimit());
- prop.put("timeused", entry.getTimeUsed());
- int count = 0;
- for (final AccessRight right : rights) {
- prop.put("rights_" + count + "_set", entry.hasRight(right) ? "1" : "0");
- count++;
- }
- prop.put("rights", count);
- }
- }
-
- //Generate Userlist
- final Iterator<UserDB.Entry> it = sb.userDB.iterator(true);
- int numUsers=0;
- while (it.hasNext()) {
- entry = it.next();
- if (entry == null) {
- continue;
- }
- prop.putHTML("users_"+numUsers+"_user", entry.getUserName());
- numUsers++;
- }
- prop.put("users", numUsers);
-
- // return rewrite properties
+ final String currpw = sb.getConfig(SwitchboardConstants.ADMIN_ACCOUNT_B64MD5, ""); + final String dfltpw = SwitchboardConstants.ADMIN_ACCOUNT_B64MD5_DEFAULT; + prop.put("changedfltpw", currpw.equals(dfltpw) ? "1" : "0"); + + prop.put(SwitchboardConstants.ADMIN_ACCOUNT_All_PAGES + ".checked", sb.getConfigBool(SwitchboardConstants.ADMIN_ACCOUNT_All_PAGES, false) ? 1 : 0); + prop.put(SwitchboardConstants.ADMIN_ACCOUNT_FOR_LOCALHOST + ".checked", sb.getConfigBool(SwitchboardConstants.ADMIN_ACCOUNT_FOR_LOCALHOST, false) ? 1 : 0); + prop.putHTML("defaultUser", env.getConfig(SwitchboardConstants.ADMIN_ACCOUNT_USER_NAME, "admin")); + + // return rewrite properties return prop;
}
}
diff --git a/source/net/yacy/htroot/ConfigRobotsTxt_p.java b/source/net/yacy/htroot/ConfigRobotsTxt_p.java index eb559f6fd..62c871bb5 100644 --- a/source/net/yacy/htroot/ConfigRobotsTxt_p.java +++ b/source/net/yacy/htroot/ConfigRobotsTxt_p.java @@ -52,7 +52,6 @@ public class ConfigRobotsTxt_p { if (post != null) { if (post.containsKey("save")) { rbc.setAllDisallowed(post.containsKey(RobotsTxtConfig.ALL)); - rbc.setBlogDisallowed(post.containsKey(RobotsTxtConfig.BLOG)); rbc.setBookmarksDisallowed(post.containsKey(RobotsTxtConfig.BOOKMARKS)); rbc.setDirsDisallowed(post.containsKey(RobotsTxtConfig.DIRS)); rbc.setFileshareDisallowed(post.containsKey(RobotsTxtConfig.FILESHARE)); @@ -62,14 +61,12 @@ public class ConfigRobotsTxt_p { rbc.setNewsDisallowed(post.containsKey(RobotsTxtConfig.NEWS)); rbc.setStatusDisallowed(post.containsKey(RobotsTxtConfig.STATUS)); rbc.setSurftipsDisallowed(post.containsKey(RobotsTxtConfig.SURFTIPS)); - rbc.setWikiDisallowed(post.containsKey(RobotsTxtConfig.WIKI)); rbc.setProfileDisallowed(post.containsKey(RobotsTxtConfig.PROFILE)); env.setConfig(SwitchboardConstants.ROBOTS_TXT, rbc.toString()); } } prop.put(RobotsTxtConfig.ALL + ".checked", (rbc.isAllDisallowed()) ? "1" : "0"); - prop.put(RobotsTxtConfig.BLOG + ".checked", (rbc.isBlogDisallowed()) ? "1" : "0"); prop.put(RobotsTxtConfig.BOOKMARKS + ".checked", (rbc.isBookmarksDisallowed()) ? "1" : "0"); prop.put(RobotsTxtConfig.DIRS + ".checked", (rbc.isDirsDisallowed()) ? "1" : "0"); prop.put(RobotsTxtConfig.FILESHARE + ".checked", (rbc.isFileshareDisallowed()) ? "1" : "0"); @@ -79,7 +76,6 @@ public class ConfigRobotsTxt_p { prop.put(RobotsTxtConfig.NEWS + ".checked", (rbc.isNewsDisallowed()) ? "1" : "0"); prop.put(RobotsTxtConfig.STATUS + ".checked", (rbc.isStatusDisallowed()) ? "1" : "0"); prop.put(RobotsTxtConfig.SURFTIPS + ".checked", (rbc.isSurftipsDisallowed()) ? "1" : "0"); - prop.put(RobotsTxtConfig.WIKI + ".checked", (rbc.isWikiDisallowed()) ? "1" : "0"); prop.put(RobotsTxtConfig.PROFILE + ".checked", (rbc.isProfileDisallowed()) ? "1" : "0"); return prop; } diff --git a/source/net/yacy/htroot/ConfigUser_p.java b/source/net/yacy/htroot/ConfigUser_p.java deleted file mode 100644 index 9a5360662..000000000 --- a/source/net/yacy/htroot/ConfigUser_p.java +++ /dev/null @@ -1,175 +0,0 @@ -// ConfigUser_p.java
-// -----------------------
-// (c) 2017 by reger24; https://github.com/reger24
-//
-// This is a part of YaCy, a peer-to-peer based web search engine
-//
-// 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.htroot;
-
-import java.util.EnumMap;
-import java.util.Map;
-
-import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.cora.util.ConcurrentLog;
-import net.yacy.data.UserDB;
-import net.yacy.data.UserDB.AccessRight;
-import net.yacy.http.YaCyHttpServer;
-import net.yacy.search.Switchboard;
-import net.yacy.search.SwitchboardConstants;
-import net.yacy.server.serverObjects;
-import net.yacy.server.serverSwitch;
-
-public class ConfigUser_p {
-
- public static serverObjects respond(@SuppressWarnings("unused") final RequestHeader header, final serverObjects post, final serverSwitch env) {
-
- final serverObjects prop = new serverObjects();
- final Switchboard sb = (Switchboard) env;
-
- if (post != null && post.containsKey("cancel")) {
- prop.put(serverObjects.ACTION_LOCATION, "ConfigAccountList_p.html");
- return prop;
- }
-
- //default values
- prop.put("current_user", "newuser");
- prop.put("username", "");
- prop.put("firstname", "");
- prop.put("lastname", "");
- prop.put("address", "");
- prop.put("timelimit", "");
- prop.put("timeused", "");
-
- final AccessRight[] rights = AccessRight.values();
- int c = 0;
- for (final AccessRight right : rights) {
- prop.put("rights_" + c + "_name", right.toString());
- prop.put("rights_" + c + "_friendlyName", right.getFriendlyName());
- prop.put("rights_" + c + "_set", "0");
- c++;
- }
- prop.put("rights", c);
-
- prop.put("users", "0");
-
- if (sb.userDB == null) {
- return prop;
- }
-
- if (post == null) {
- //do nothing
- } else if (post.containsKey("user") && !"newuser".equals(post.get("user"))) {
-
- final UserDB.Entry entry = sb.userDB.getEntry(post.get("user"));
- if (entry != null) {
- //TODO: set username read-only in html
- prop.putHTML("current_user", entry.getUserName());
- prop.putHTML("username", entry.getUserName());
- prop.putHTML("firstname", entry.getFirstName());
- prop.putHTML("lastname", entry.getLastName());
- prop.putHTML("address", entry.getAddress());
- prop.put("timelimit", entry.getTimeLimit());
- prop.put("timeused", entry.getTimeUsed());
- int count = 0;
- for (final AccessRight right : rights) {
- prop.put("rights_" + count + "_set", entry.hasRight(right) ? "1" : "0");
- count++;
- }
- prop.put("rights", count);
- }
- } else if (post.containsKey("change")) { // edit User
- prop.put("text", "0");
- prop.put("error", "0");
-
- final String username = post.get("username");
- final String pw1 = post.get("password");
- final String pw2 = post.get("password2");
-
- if (pw1 == null || !pw1.equals(pw2)) {
- prop.put("error", "2"); //PW does not match
- return prop;
- }
- // do not allow same username as staticadmin
- if (username.equalsIgnoreCase(sb.getConfig(SwitchboardConstants.ADMIN_ACCOUNT_USER_NAME, "admin"))) {
- prop.put("error", "4");
- return prop;
- }
- final String firstName = post.get("firstname");
- final String lastName = post.get("lastname");
- final String address = post.get("address");
- final String timeLimit = post.get("timelimit");
- final String timeUsed = post.get("timeused");
- final Map<AccessRight, String> rightsSet = new EnumMap<AccessRight, String>(AccessRight.class);
-
- for (final AccessRight right : rights) {
- rightsSet.put(right, post.containsKey(right.toString()) && "on".equals(post.get(right.toString())) ? "true" : "false");
- }
-
- final UserDB.Entry entry = sb.userDB.getEntry(username);
-
- if (entry != null) {
- try {
- // with prefix of encoding method (supported MD5: )
- entry.setProperty(UserDB.Entry.MD5ENCODED_USERPWD_STRING, sb.encodeDigestAuth(username, pw1));
- entry.setProperty(UserDB.Entry.USER_FIRSTNAME, firstName);
- entry.setProperty(UserDB.Entry.USER_LASTNAME, lastName);
- entry.setProperty(UserDB.Entry.USER_ADDRESS, address);
- entry.setProperty(UserDB.Entry.TIME_LIMIT, timeLimit);
- entry.setProperty(UserDB.Entry.TIME_USED, timeUsed);
-
- for (final AccessRight right : rights) {
- entry.setProperty(right.toString(), rightsSet.get(right));
- }
-
- //TODO: set username read-only in html
- prop.putHTML("current_user", entry.getUserName());
- prop.putHTML("username", entry.getUserName());
- prop.putHTML("firstname", entry.getFirstName());
- prop.putHTML("lastname", entry.getLastName());
- prop.putHTML("address", entry.getAddress());
- prop.put("timelimit", entry.getTimeLimit());
- prop.put("timeused", entry.getTimeUsed());
- int count = 0;
- for (final AccessRight right : rights) {
- prop.put("rights_" + count + "_set", entry.hasRight(right) ? "1" : "0");
- count++;
- }
- prop.put("rights", count);
-
- } catch (final Exception e) {
- ConcurrentLog.logException(e);
- }
- final YaCyHttpServer jhttpserver = sb.getHttpServer();
- jhttpserver.resetUser(entry.getUserName());
- } else {
- prop.put("error", "1");
- }
- prop.putHTML("text_username", username);
- prop.put("text", "2");
-
- prop.putHTML("username", username);
- } else if (post.containsKey("delete")) {
- sb.userDB.removeEntry(post.get("username"));
- final YaCyHttpServer jhttpserver = sb.getHttpServer();
- jhttpserver.removeUser(post.get("username"));
- prop.put(serverObjects.ACTION_LOCATION, "ConfigAccountList_p.html"); // jump back to user list
- }
-
- // return rewrite properties
- return prop;
- }
-}
diff --git a/source/net/yacy/htroot/Network.java b/source/net/yacy/htroot/Network.java index a2cb5af59..f98f9cf14 100644 --- a/source/net/yacy/htroot/Network.java +++ b/source/net/yacy/htroot/Network.java @@ -303,8 +303,6 @@ public class Network { // find updated Information using YaCyNews
final HashSet<String> updatedProfile = new HashSet<>();
- final HashMap<String, Map<String, String>> updatedWiki = new HashMap<>();
- final HashMap<String, Map<String, String>> updatedBlog = new HashMap<>();
final HashMap<String, String> isCrawling = new HashMap<>();
NewsDB.Record record;
final Iterator<NewsDB.Record> recordIterator = sb.peers.newsPool.recordIterator(NewsPool.INCOMING_DB);
@@ -314,11 +312,7 @@ public class Network { continue;
} else if (record.category().equals(NewsPool.CATEGORY_PROFILE_UPDATE)) {
updatedProfile.add(record.originator());
- } else if (record.category().equals(NewsPool.CATEGORY_WIKI_UPDATE)) {
- updatedWiki.put(record.originator(), record.attributes());
- } else if (record.category().equals(NewsPool.CATEGORY_BLOG_ADD)) {
- updatedBlog.put(record.originator(), record.attributes());
- } else if (record.category().equals(NewsPool.CATEGORY_CRAWL_START)) {
+ } else if (record.category().equals(NewsPool.CATEGORY_CRAWL_START)) { isCrawling.put(record.originator(), record.attributes().get("startURL"));
}
}
@@ -340,8 +334,6 @@ public class Network { default: break;
}
String startURL;
- Map<String, String> wikiMap;
- Map<String, String> blogMap;
String userAgent, location;
int PPM;
double QPM;
@@ -382,8 +374,6 @@ public class Network { continue;
}
prop.put(STR_TABLE_LIST + conCount + "_updatedProfile", 0);
- prop.put(STR_TABLE_LIST + conCount + "_updatedWikiPage", 0);
- prop.put(STR_TABLE_LIST + conCount + "_updatedBlog", 0);
prop.put(STR_TABLE_LIST + conCount + "_isCrawling", 0);
final String ip = ips.iterator().next();
if (conCount >= maxCount) { break; }
@@ -396,21 +386,6 @@ public class Network { prop.put(STR_TABLE_LIST + conCount + "_updatedProfile", 1);
prop.put(STR_TABLE_LIST + conCount + "_updatedProfile_hash", seed.hash);
}
- if ((wikiMap = updatedWiki.get(seed.hash)) == null) {
- prop.put(STR_TABLE_LIST + conCount + "_updatedWiki", 0);
- } else {
- prop.put(STR_TABLE_LIST + conCount + "_updatedWiki", 1);
- prop.putHTML(STR_TABLE_LIST + conCount + "_updatedWiki_page", wikiMap.get("page"));
- prop.put(STR_TABLE_LIST + conCount + "_updatedWiki_address", seed.getPublicAddress(ip));
- }
- if ((blogMap = updatedBlog.get(seed.hash)) == null) {
- prop.put(STR_TABLE_LIST + conCount + "_updatedBlog", 0);
- } else {
- prop.put(STR_TABLE_LIST + conCount + "_updatedBlog", 1);
- prop.putHTML(STR_TABLE_LIST + conCount + "_updatedBlog_page", blogMap.get("page"));
- prop.putHTML(STR_TABLE_LIST + conCount + "_updatedBlog_subject", blogMap.get("subject"));
- prop.put(STR_TABLE_LIST + conCount + "_updatedBlog_address", seed.getPublicAddress(ip));
- }
PPM = seed.getPPM();
QPM = seed.getQPM();
if (((startURL = isCrawling.get(seed.hash)) != null) && (PPM >= 4)) {
@@ -559,4 +534,4 @@ public class Network { return prop;
}
-}
\ No newline at end of file +} diff --git a/source/net/yacy/htroot/News.java b/source/net/yacy/htroot/News.java index 296e75cb0..90cc624b7 100644 --- a/source/net/yacy/htroot/News.java +++ b/source/net/yacy/htroot/News.java @@ -160,33 +160,7 @@ public class News { link = record.attribute("url", "");
title = record.attribute("title", "");
description = record.attribute("url", "");
- } else if (category.equals(NewsPool.CATEGORY_WIKI_UPDATE)) {
- if(seed == null) {
- link = "";
- } else {
- final Set<String> ips = seed.getIPs();
- if(!ips.isEmpty()) {
- link = "http://" + seed.getPublicAddress(ips.iterator().next()) + "/Wiki.html?page=" + record.attribute("page", "");
- } else {
- link = "";
- }
- }
- title = record.attribute("author", "Anonymous") + ": " + record.attribute("page", "");
- description = "Wiki Update: " + record.attribute("description", "");
- } else if (category.equals(NewsPool.CATEGORY_BLOG_ADD)) {
- if(seed == null) {
- link = "";
- } else {
- final Set<String> ips = seed.getIPs();
- if(!ips.isEmpty()) {
- link = "http://" + seed.getPublicAddress(ips.iterator().next()) + "/Blog.html?page=" + record.attribute("page", "");
- } else {
- link = "";
- }
- }
- title = record.attribute("author", "Anonymous") + ": " + record.attribute("page", "");
- description = "Blog Entry: " + record.attribute("subject", "");
- } else {
+ } else { link = "";
title = "";
description = "";
diff --git a/source/net/yacy/htroot/SettingsAck_p.java b/source/net/yacy/htroot/SettingsAck_p.java index 735372552..e53d833d5 100644 --- a/source/net/yacy/htroot/SettingsAck_p.java +++ b/source/net/yacy/htroot/SettingsAck_p.java @@ -100,8 +100,8 @@ public class SettingsAck_p { } - // proxy password - if (post.containsKey("proxyaccount")) { + // proxy client access filter + if (post.containsKey("proxyaccess")) { // set backlink prop.put("needsRestart_referer", "Settings_p.html?page=ProxyAccess"); @@ -112,14 +112,8 @@ public class SettingsAck_p { prop.put("info_restart", "0"); // read and process data - String filter = (post.get("proxyfilter")).trim(); - final boolean useProxyAccounts = post.containsKey("use_proxyaccounts") && post.get("use_proxyaccounts").equals("on"); + String filter = post.get("proxyfilter", "").trim(); // do checks - if (filter == null) { - prop.put("info", "1");//error with submitted information - return prop; - } - if (filter.isEmpty()) filter = "*"; else if (!filter.equals("*")){ // testing proxy filter @@ -142,17 +136,10 @@ public class SettingsAck_p { } } - // check passed. set account: + // check passed: store the allowed proxy clients env.setConfig("proxyClient", filter); - env.setConfig("use_proxyAccounts", useProxyAccounts); - if (!useProxyAccounts){ - prop.put("info", "6");//proxy account has changed(no pw) - prop.putHTML("info_filter", filter); - } else { - prop.put("info", "7");//proxy account has changed - //prop.put("info_user", user); - prop.putHTML("info_filter", filter); - } + prop.put("info", "6"); + prop.putHTML("info_filter", filter); return prop; } diff --git a/source/net/yacy/htroot/Settings_p.java b/source/net/yacy/htroot/Settings_p.java index fc08514e6..f5afd08e2 100644 --- a/source/net/yacy/htroot/Settings_p.java +++ b/source/net/yacy/htroot/Settings_p.java @@ -122,21 +122,6 @@ public final class Settings_p { // proxy access filter prop.putHTML("proxyfilter", env.getConfig("proxyClient", "*")); - // proxy password - if (!env.getConfigBool("use_proxyAccounts", false)) { - // no password has been specified - prop.put("use_proxyAccounts", "0"); //unchecked - } else { - prop.put("use_proxyAccounts", "1"); //checked - /*s = env.getConfig("proxyAccount", "proxy:void"); - pos = s.indexOf(':'); - if (pos < 0) { - prop.put("proxyuser","proxy"); - } else { - prop.put("proxyuser",s.substring(0, pos)); - }*/ - } - // Url proxy settings prop.putHTML("urlproxyfilter", env.getConfig("proxyURL.access", "127.0.0.1,0:0:0:0:0:0:0:1")); prop.putHTML("urlproxydomains", env.getConfig("proxyURL.rewriteURLs", "domainlist")); diff --git a/source/net/yacy/htroot/Surftips.java b/source/net/yacy/htroot/Surftips.java index 0f21dcd93..de31b8a3f 100644 --- a/source/net/yacy/htroot/Surftips.java +++ b/source/net/yacy/htroot/Surftips.java @@ -277,42 +277,6 @@ public class Surftips { score = 5 + timeFactor(record.created()); } - if (record.category().equals(NewsPool.CATEGORY_WIKI_UPDATE)) { - Seed seed = sb.peers.getConnected(record.originator()); - if (seed == null) seed = sb.peers.getDisconnected(record.originator()); - if (seed != null) { - final Set<String> ips = seed.getIPs(); - if(!ips.isEmpty()) { - url = seed.getPublicURL(ips.iterator().next(), false) + "/Wiki.html?page=" + record.attribute("page", ""); - entry = rowdef.newEntry(new byte[][]{ - UTF8.getBytes(url), - UTF8.getBytes(record.attribute("author", "Anonymous") + ": " + record.attribute("page", "")), - UTF8.getBytes("Wiki Update: " + record.attribute("description", "")), - UTF8.getBytes(record.id()) - }); - score = 4 + timeFactor(record.created()); - } - } - } - - if (record.category().equals(NewsPool.CATEGORY_BLOG_ADD)) { - Seed seed = sb.peers.getConnected(record.originator()); - if (seed == null) seed = sb.peers.getDisconnected(record.originator()); - if (seed != null) { - final Set<String> ips = seed.getIPs(); - if(!ips.isEmpty()) { - url = seed.getPublicURL(ips.iterator().next(), false) + "/Blog.html?page=" + record.attribute("page", ""); - entry = rowdef.newEntry(new byte[][]{ - UTF8.getBytes(url), - UTF8.getBytes(record.attribute("author", "Anonymous") + ": " + record.attribute("page", "")), - UTF8.getBytes("Blog Entry: " + record.attribute("subject", "")), - UTF8.getBytes(record.id()) - }); - score = 4 + timeFactor(record.created()); - } - } - } - // add/subtract votes and write record if (entry != null) { try { diff --git a/source/net/yacy/htroot/TransNews_p.java b/source/net/yacy/htroot/TransNews_p.java deleted file mode 100644 index 5883bec07..000000000 --- a/source/net/yacy/htroot/TransNews_p.java +++ /dev/null @@ -1,326 +0,0 @@ -// TransNews_p.java -// -// This is a part of YaCy, a peer-to-peer based web search engine -// published on http://yacy.net -// -// This file is contributed by Burkhard Buelte -// -// $LastChangedDate$ -// $LastChangedRevision$ -// $LastChangedBy$ -// -// LICENSE -// -// 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.htroot; - -import java.io.File; -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; - -import net.yacy.cora.protocol.RequestHeader; -import net.yacy.cora.sorting.ConcurrentScoreMap; -import net.yacy.cora.sorting.ScoreMap; -import net.yacy.cora.util.SpaceExceededException; -import net.yacy.peers.NewsDB; -import net.yacy.peers.NewsPool; -import net.yacy.search.Switchboard; -import net.yacy.server.serverObjects; -import net.yacy.server.serverSwitch; -import net.yacy.utils.crypt; -import net.yacy.utils.translation.TranslationManager; - -public class TransNews_p { - - public static serverObjects respond(@SuppressWarnings("unused") final RequestHeader header, final serverObjects post, final serverSwitch env) { - final Switchboard sb = (Switchboard) env; - final serverObjects prop = new serverObjects(); - - final String currentlang = sb.getConfig("locale.language", "default"); - prop.put("currentlang", currentlang); - - if ("default".equals(currentlang) || "browser".equals(currentlang)) { - prop.put("errmsg", 1); // msg: activate diff lng - prop.put("transsize", 0); - return prop; - } - prop.put("errmsg", 0); - - TranslationManager transMgr = new TranslationManager(); - final File locallangFile = transMgr.getScratchFile(new File(currentlang + ".lng")); - final Map<String, Map<String, String>> localTrans = transMgr.loadTranslationsLists(locallangFile); - // calculate size of local translations list - int size = 0; - for (final Map<String, String> lst : localTrans.values()) { - size += lst.size(); - } - prop.put("transsize", size); - - - // read voting - if ((post != null) && post.containsKey("publishtranslation")) { - final Iterator<String> filenameit = localTrans.keySet().iterator(); - int msgcounter = 0; - while (filenameit.hasNext()) { - final String file = filenameit.next(); - final Map<String, String> tmptrans = localTrans.get(file); - for (final String sourcetxt : tmptrans.keySet()) { - final String targettxt = tmptrans.get(sourcetxt); - if (targettxt != null && !targettxt.isEmpty()) { - boolean sendit = true; - // check if already published (in newsPool) - final Iterator<NewsDB.Record> it = sb.peers.newsPool.recordIterator(NewsPool.INCOMING_DB); - while (it.hasNext()) { - final NewsDB.Record rtmp = it.next(); - if (rtmp == null) { - continue; - } - if (NewsPool.CATEGORY_TRANSLATION_ADD.equals(rtmp.category())) { - final String tmplng = rtmp.attribute("language", null); - final String tmpfile = rtmp.attribute("file", null); - final String tmpsource = rtmp.attribute("source", null); - //String tmptarget = rtmp.attribute("target", null); - - // if news with file and source exist (maybe from other peer) - skip sending another msg (to avoid confusion) - if ((tmplng != null && tmplng.equals(currentlang)) && (tmpfile != null && tmpfile.equals(file)) - && (tmpsource != null && tmpsource.equals(sourcetxt))) { - sendit = false; - break; - } - - } - } - if (sendit) { - final HashMap<String, String> map = new HashMap<>(); - map.put("language", currentlang); - map.put("file", file); - map.put("source", sourcetxt); - map.put("target", targettxt); - map.put("#", Integer.toString(msgcounter++)); - sb.peers.newsPool.publishMyNews(sb.peers.mySeed(), NewsPool.CATEGORY_TRANSLATION_ADD, map); - } - } - } - } - } - String refid; - if ((post != null) && ((refid = post.get("voteNegative", "")).length() > 0)) { - - // make new news message with voting - if (!sb.isRobinsonMode()) { - final HashMap<String, String> map = new HashMap<>(); - map.put("language", currentlang); - map.put("file", crypt.simpleDecode(post.get("filename", ""))); - map.put("source", crypt.simpleDecode(post.get("source", ""))); - map.put("target", crypt.simpleDecode(post.get("target", ""))); - map.put("vote", "negative"); - map.put("refid", refid); - sb.peers.newsPool.publishMyNews(sb.peers.mySeed(), NewsPool.CATEGORY_TRANSLATION_VOTE_ADD, map); - try { - sb.peers.newsPool.moveOff(NewsPool.INCOMING_DB, refid); - } catch (IOException | SpaceExceededException ex) { - } - } - } - - if ((post != null) && ((refid = post.get("votePositive", "")).length() > 0)) { - - final String filename = post.get("filename"); - - final File lngfile = new File(sb.getAppPath("locale.source", "locales"), currentlang + ".lng"); - transMgr = new TranslationManager(lngfile); // load full language for check if entry is new (globally) - if (transMgr.addTranslation(filename, post.get("source"), post.get("target"))) { - // add to local translation extension - transMgr.addTranslation(localTrans, filename, post.get("source"), post.get("target")); - transMgr.saveAsLngFile(currentlang, locallangFile, localTrans); // save local-trans to local-file - transMgr.translateFile(filename); // ad-hoc translate file with new/added text - } // TODO: shall we post voting if translation is not new ? - - // make new news message with voting - final HashMap<String, String> map = new HashMap<>(); - map.put("language", currentlang); - map.put("file", crypt.simpleDecode(filename)); - map.put("source", crypt.simpleDecode(post.get("source", ""))); - map.put("target", crypt.simpleDecode(post.get("target", ""))); - map.put("vote", "positive"); - map.put("refid", refid); - sb.peers.newsPool.publishMyNews(sb.peers.mySeed(), NewsPool.CATEGORY_TRANSLATION_VOTE_ADD, map); - try { - sb.peers.newsPool.moveOff(NewsPool.INCOMING_DB, refid); - } catch (IOException | SpaceExceededException ex) { - } - - } - - // create Translation voting list - final HashMap<String, Integer> negativeHashes = new HashMap<>(); // a mapping from an url hash to Integer (count of votes) - final HashMap<String, Integer> positiveHashes = new HashMap<>(); // a mapping from an url hash to Integer (count of votes) - accumulateVotes(sb, negativeHashes, positiveHashes, NewsPool.INCOMING_DB); - final ScoreMap<String> ranking = new ConcurrentScoreMap<>(); // score cluster for url hashes - final HashMap<String, NewsDB.Record> translation = new HashMap<>(); // a mapping from an url hash to a kelondroRow.Entry with display properties - accumulateTranslations(sb, translation, ranking, negativeHashes, positiveHashes, NewsPool.INCOMING_DB); - - // read out translation-news array and create property entries - final Iterator<String> k = ranking.keys(false); - int i = 0; - NewsDB.Record row; - String filename; - String source; - String target; - - while (k.hasNext()) { - - refid = k.next(); - if (refid == null) { - continue; - } - - row = translation.get(refid); - if (row == null) { - continue; - } - - final String lang = row.attribute("language", null); - filename = row.attribute("file", null); - source = row.attribute("source", null); - target = row.attribute("target", null); - if ((lang == null) || (filename == null) || (source == null) || (target == null)) { - continue; - } - - if (!lang.equals(currentlang)) continue; - - String existingtarget = null; //transMgr.getTranslation(filename, source); - final Map<String, String> tmpMap = localTrans.get(filename); - if (tmpMap != null) { - existingtarget = tmpMap.get(source); - } - - final boolean altexist = existingtarget != null && !target.isEmpty() && !existingtarget.isEmpty() && !existingtarget.equals(target); - - prop.put("results_" + i + "_refid", refid); - prop.put("results_" + i + "_url", filename); // url to local file - prop.put("results_" + i + "_targetlanguage", lang); - prop.put("results_" + i + "_filename", filename); - prop.putHTML("results_" + i + "_source", source); - prop.putHTML("results_" + i + "_target", target); - prop.put("results_" + i + "_existing", altexist); - prop.putHTML("results_" + i + "_existing_target", existingtarget); - prop.put("results_" + i + "_score", ranking.get(refid)); - prop.put("results_" + i + "_peername", sb.peers.get(row.originator()).getName()); - i++; - - if (i >= 50) { - break; - } - } - prop.put("results", i); - - return prop; - } - - private static void accumulateVotes(final Switchboard sb, final HashMap<String, Integer> negativeHashes, final HashMap<String, Integer> positiveHashes, final int dbtype) { - final int maxCount = Math.min(1000, sb.peers.newsPool.size(dbtype)); - NewsDB.Record newsrecord; - final Iterator<NewsDB.Record> recordIterator = sb.peers.newsPool.recordIterator(dbtype); - int j = 0; - while ((recordIterator.hasNext()) && (j++ < maxCount)) { - newsrecord = recordIterator.next(); - if (newsrecord == null) { - continue; - } - - if (newsrecord.category().equals(NewsPool.CATEGORY_TRANSLATION_VOTE_ADD)) { - final String refid = newsrecord.attribute("refid", ""); - final String vote = newsrecord.attribute("vote", ""); - final int factor = ((dbtype == NewsPool.OUTGOING_DB) || (dbtype == NewsPool.PUBLISHED_DB)) ? 2 : 1; - if (vote.equals("negative")) { - final Integer i = negativeHashes.get(refid); - if (i == null) { - negativeHashes.put(refid, Integer.valueOf(factor)); - } else { - negativeHashes.put(refid, Integer.valueOf(i.intValue() + factor)); - } - } - if (vote.equals("positive")) { - final Integer i = positiveHashes.get(refid); - if (i == null) { - positiveHashes.put(refid, Integer.valueOf(factor)); - } else { - positiveHashes.put(refid, Integer.valueOf(i.intValue() + factor)); - } - } - } - } - } - - private static void accumulateTranslations( - final Switchboard sb, - final HashMap<String, NewsDB.Record> translationmsg, final ScoreMap<String> ranking, - final HashMap<String, Integer> negativeHashes, final HashMap<String, Integer> positiveHashes, final int dbtype) { - final int maxCount = Math.min(1000, sb.peers.newsPool.size(dbtype)); - NewsDB.Record newsrecord; - final Iterator<NewsDB.Record> recordIterator = sb.peers.newsPool.recordIterator(dbtype); - int j = 0; - String refid = ""; - String targetlanguage =""; - String filename=""; - String source=""; - String target=""; - - int score = 0; - Integer vote; - - while ((recordIterator.hasNext()) && (j++ < maxCount)) { - newsrecord = recordIterator.next(); - if (newsrecord == null) { - continue; - } - - if ((newsrecord.category().equals(NewsPool.CATEGORY_TRANSLATION_ADD)) - && ((sb.peers.get(newsrecord.originator())) != null)) { - refid = newsrecord.id(); - targetlanguage = newsrecord.attribute("language", ""); - filename = newsrecord.attribute("file", ""); - source = newsrecord.attribute("source", ""); - target = newsrecord.attribute("target", ""); - if (refid.isEmpty() || targetlanguage.isEmpty() || filename.isEmpty() || source.isEmpty() || target.isEmpty()) { - continue; - } - score = 0; - } - - // add/subtract votes and write record - - if ((vote = negativeHashes.get(refid)) != null) { - score -= vote.intValue(); - } - if ((vote = positiveHashes.get(refid)) != null) { - score += vote.intValue(); - } - // consider double-entries - if (translationmsg.containsKey(refid)) { - ranking.inc(refid, score); - } else { - ranking.set(refid, score); - translationmsg.put(refid, newsrecord); - } - - } - } -} diff --git a/source/net/yacy/htroot/Translator_p.java b/source/net/yacy/htroot/Translator_p.java deleted file mode 100644 index 872dddd15..000000000 --- a/source/net/yacy/htroot/Translator_p.java +++ /dev/null @@ -1,174 +0,0 @@ -
-/**
- * Translator_p
- * Copyright 2012 by Michael Peter Christen, mc@yacy.net, Frankfurt am Main, Germany
- * First released 14.09.2011 at https://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.htroot;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.Map;
-
-import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.cora.util.ConcurrentLog;
-import net.yacy.data.TransactionManager;
-import net.yacy.search.Switchboard;
-import net.yacy.search.SwitchboardConstants;
-import net.yacy.server.serverObjects;
-import net.yacy.server.serverSwitch;
-import net.yacy.server.servletProperties;
-import net.yacy.utils.translation.TranslationManager;
-
-public class Translator_p {
-
- public static servletProperties respond(final RequestHeader requestHeader, final serverObjects post, final serverSwitch env) {
- try {
- final servletProperties prop = new servletProperties();
- final Switchboard sb = (Switchboard) env;
-
- final String langcfg = sb.getConfig("locale.language", "default");
- prop.put("targetlang", langcfg);
- if ("default".equals(langcfg) || "browser".equals(langcfg)) {
- prop.put("errmsg", 1); // msg: activate diff lng
- return prop;
- }
- prop.put("errmsg", 0);
-
- final File localesFolder = sb.getAppPath("locale.source", "locales");
- final File lngfile = new File(localesFolder, langcfg + ".lng");
- final TranslationManager localTransMgr = new TranslationManager(/*new File ("locales","master.lng.xlf")*/);
-
- final File masterxlf = new File(localesFolder, "master.lng.xlf");
- if (!masterxlf.exists()) localTransMgr.createMasterTranslationLists(localesFolder, masterxlf);
- final Map<String, Map<String, String>> origTrans = localTransMgr.joinMasterTranslationLists(masterxlf, lngfile);
- final File locallngfile = localTransMgr.getScratchFile(lngfile);
- final Map<String, Map<String, String>> localTrans = localTransMgr.loadTranslationsLists(locallngfile); // TODO: this will read file twice
- int i = 0;
- if (origTrans.size() > 0) {
- String filename = origTrans.keySet().iterator().next();
- if (post != null && post.containsKey("sourcefile")) {
- filename = post.get("sourcefile", filename);
- }
-
- // prepare filename list for drop-down list
- final Iterator<String> filenameit = origTrans.keySet().iterator();
- final boolean filteruntranslated = post == null ? false : post.getBoolean("filteruntranslated");
- while (filenameit.hasNext()) {
- final String tmp = filenameit.next();
- if (filteruntranslated) { // filter filenames with untranslated entries
- final Map<String, String> tmptrans = origTrans.get(tmp);
- boolean hasuntrans = false;
- for (final String x : tmptrans.values()) {
- if (x == null || x.isEmpty()) {
- hasuntrans = true;
- break;
- }
- }
- if (!hasuntrans) continue;
- }
- prop.put("filelist_" + i + "_filename", tmp);
- prop.put("filelist_" + i + "_selected", tmp.equals(filename));
- i++;
- }
- prop.put("filelist", i);
-
- prop.add("sourcefile", filename);
- final Map<String, String> origTextList = origTrans.get(filename);
-
- i = 0;
- boolean editapproved = false; // to switch already approved translation in edit mode
- int textlistid = -1;
- if (post != null) {
- prop.put("filter.checked", filteruntranslated); // remember filter setting
- textlistid = post.getInt("approve", -1);
- if (post.containsKey("editapproved")) {
- textlistid = post.getInt("editapproved", -1);
- editapproved = true;
- }
- }
- boolean changed = false;
- for (final String sourcetext : origTextList.keySet()) {
- String targettxt = origTextList.get(sourcetext);
- boolean existinlocalTrans = localTrans.containsKey(filename) && localTrans.get(filename).containsKey(sourcetext);
-
- if (editapproved) existinlocalTrans |= (i == textlistid); // if edit of approved requested handle as/like existing in local to allow edit
-
- if (targettxt == null || targettxt.isEmpty() || existinlocalTrans) {
- prop.put("textlist_" + i + "_filteruntranslated", true);
- } else if (filteruntranslated) {
- continue;
- }
- // handle (modified) input text
- if (i == textlistid && post != null) {
- /* Check this is a valid transaction */
- TransactionManager.checkPostTransaction(requestHeader, post);
-
- if (editapproved) { // switch already translated in edit mode by copying to local translation
- // not saved here as not yet modified/approved
- localTransMgr.addTranslation(localTrans, filename, sourcetext, targettxt);
- } else {
- String t = post.get("targettxt" + Integer.toString(textlistid));
- // correct common partial html markup (part of text identification for words also used as html parameter)
- if (!t.isEmpty()) {
- if (sourcetext.startsWith(">") && !t.startsWith(">")) t=">"+t;
- if (sourcetext.endsWith("<") && !t.endsWith("<")) t=t+"<";
- }
- targettxt = t;
- // add changes to original (for display) and local (for save)
- origTextList.put(sourcetext, targettxt);
- changed = localTransMgr.addTranslation(localTrans, filename, sourcetext, targettxt);
- }
- }
- prop.putHTML("textlist_" + i + "_sourcetxt", sourcetext);
- prop.putHTML("textlist_" + i + "_targettxt", targettxt);
- prop.put("textlist_" + i + "_tokenid", Integer.toString(i));
- prop.put("textlist_" + i + "_filteruntranslated_tokenid", Integer.toString(i));
- i++;
- }
- if (post != null && post.containsKey("savetranslationlist")) {
- changed = true;
- }
- if (changed) {
- /* Check this is a valid transaction */
- TransactionManager.checkPostTransaction(requestHeader, post);
-
- localTransMgr.saveAsLngFile(langcfg, locallngfile, localTrans);
- // adhoc translate this file
- // 1. get/calc the path
- final String htRootPath = env.getConfig(SwitchboardConstants.HTROOT_PATH, SwitchboardConstants.HTROOT_PATH_DEFAULT);
- final File sourceDir = new File(env.getAppPath(), htRootPath);
- final File destDir = new File(env.getDataPath("locale.translated_html", "DATA/LOCALE/htroot"), locallngfile.getName().substring(0, locallngfile.getName().length() - 4));// cut .lng
- // get absolute file by adding relative filename from translationlist
- final File sourceFile = new File(sourceDir, filename);
- final File destFile = new File(destDir, filename);
- localTransMgr.translateFile(sourceFile, destFile, origTextList); // do the translation
- }
- }
-
- /* Acquire a transaction token for the next POST form submission */
- prop.put(TransactionManager.TRANSACTION_TOKEN_PARAM, TransactionManager.getTransactionToken(requestHeader));
-
- prop.put("textlist", i);
- return prop;
- } catch (final IOException ex) {
- ConcurrentLog.logException(ex);
- }
- return null;
- }
-}
diff --git a/source/net/yacy/htroot/User.java b/source/net/yacy/htroot/User.java deleted file mode 100644 index 5c8e3f130..000000000 --- a/source/net/yacy/htroot/User.java +++ /dev/null @@ -1,177 +0,0 @@ -//User.java -//----------------------- -//part of the AnomicHTTPD caching proxy -//(C) by Michael Peter Christen; mc@yacy.net -//first published on http://www.anomic.de -//Frankfurt, Germany, 2004 -// -//This File is contributed by Alexander Schier -//last major change: 12.11.2005 -// -//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 - - -//You must compile this file with -//javac -classpath .:../Classes Message.java -//if the shell's current path is HTROOT - -package net.yacy.htroot; - -import javax.servlet.ServletException; - -import net.yacy.cora.order.Base64Order; -import net.yacy.cora.order.Digest; -import net.yacy.cora.protocol.RequestHeader; -import net.yacy.cora.protocol.ResponseHeader; -import net.yacy.cora.util.ConcurrentLog; -import net.yacy.data.UserDB; -import net.yacy.search.Switchboard; -import net.yacy.search.SwitchboardConstants; -import net.yacy.server.serverObjects; -import net.yacy.server.serverSwitch; -import net.yacy.server.servletProperties; - -public class User{ - - public static servletProperties respond(final RequestHeader requestHeader, final serverObjects post, @SuppressWarnings("unused") final serverSwitch env) { - final servletProperties prop = new servletProperties(); - final Switchboard sb = Switchboard.getSwitchboard(); - UserDB.Entry entry=null; - - //default values - prop.put("logged_in", "0"); - prop.put("logged-in_limit", "0"); - prop.put("status", "0"); - prop.put("logged-in_username", ""); - prop.put("logged-in_returnto", ""); - //identified via HTTPPassword - entry=sb.userDB.proxyAuth(requestHeader); - if(entry != null){ - prop.put("logged-in_identified-by", "1"); - //try via cookie - }else{ - entry=sb.userDB.cookieAuth(requestHeader.getCookies()); - prop.put("logged-in_identified-by", "2"); - //try via ip - if(entry == null){ - final String ip = requestHeader.getRemoteAddr(); - entry = sb.userDB.ipAuth((ip != null ? ip : "xxxxxx")); - if(entry != null){ - prop.put("logged-in_identified-by", "0"); - } - } - } - - //identified via userDB - if(entry != null){ - prop.put("logged-in", "1"); - prop.put("logged-in_username", entry.getUserName()); - if(entry.getTimeLimit() > 0){ - prop.put("logged-in_limit", "1"); - final long limit=entry.getTimeLimit(); - final long used=entry.getTimeUsed(); - prop.put("logged-in_limit_timelimit", limit); - prop.put("logged-in_limit_timeused", used); - int percent=0; - if(limit!=0 && used != 0) - percent=(int)((float)used/(float)limit*100); - prop.put("logged-in_limit_percent", percent/3); - prop.put("logged-in_limit_percent2", (100-percent)/3); - } - //logged in via static Password - }else if(sb.verifyAuthentication(requestHeader)){ - prop.put("logged-in", "2"); - //identified via form-login - } else if (post != null && post.containsKey("username") && post.containsKey("password")) { - if (post.containsKey("returnto")) - prop.putHTML("logged-in_returnto", post.get("returnto")); - final String username=post.get("username"); - final String password=post.get("password"); - prop.putHTML("logged-in_username", username); - - entry = sb.userDB.passwordAuth(username, password); - boolean staticAdmin = false; - if (entry == null) { - // check for old style admin account - staticAdmin = sb.getConfig(SwitchboardConstants.ADMIN_ACCOUNT_B64MD5, "").equals( - Digest.encodeMD5Hex(Base64Order.standardCoder.encodeString(username + ":" + password))); - if (!staticAdmin) { - // check for DIGEST authentication admin account - final String realm = sb.getConfig(SwitchboardConstants.ADMIN_REALM, "YaCy"); - staticAdmin = sb.getConfig(SwitchboardConstants.ADMIN_ACCOUNT_B64MD5, "").equals( - "MD5:" + Digest.encodeMD5Hex(username + ":" + realm + ":" + password)); - } - } - - String cookie=""; - if(entry != null) { - //set a random token in a cookie - cookie=sb.userDB.getCookie(entry); - final ResponseHeader outgoingHeader=new ResponseHeader(200); - outgoingHeader.setCookie("login", cookie); - prop.setOutgoingHeader(outgoingHeader); - - prop.put("logged-in", "1"); - prop.put("logged-in_identified-by", "1"); - prop.putHTML("logged-in_username", username); - if(post.containsKey("returnto")){ - prop.put(serverObjects.ACTION_LOCATION, post.get("returnto")); - } - } - } - - if (post != null && entry != null) { - if (post.containsKey("changepass")) { - prop.put("status", "1"); //password - - if (entry.getMD5EncodedUserPwd().startsWith("MD5:") ? - entry.getMD5EncodedUserPwd().equals(sb.encodeDigestAuth(entry.getUserName(), post.get("oldpass", ""))) : - entry.getMD5EncodedUserPwd().equals(sb.encodeBasicAuth(entry.getUserName() , post.get("oldpass", "")))) { - if (post.get("newpass").equals(post.get("newpass2"))) { - if (!post.get("newpass", "").equals("")) { - try { - entry.setProperty(UserDB.Entry.MD5ENCODED_USERPWD_STRING, sb.encodeDigestAuth(entry.getUserName(), post.get("newpass", ""))); - prop.put("status_password", "0"); //changes - } catch (final Exception e) { - ConcurrentLog.logException(e); - } - } else { - prop.put("status_password", "3"); //empty - } - } else { - prop.put("status_password", "2"); //pws do not match - } - } else { - prop.put("status_password", "1"); //old pw wrong - } - } - } - if(post!=null && post.containsKey("logout")){ - prop.put("logged-in", "0"); - if(entry != null){ - final String ip = requestHeader.getRemoteAddr(); - entry.logout((ip != null ? ip : "xxxxxx"), UserDB.getLoginToken(requestHeader.getCookies())); - } - try { - requestHeader.logout(); // servlet container session logout - } catch (final ServletException ex) {} - if(post.containsKey("returnto")){ - prop.putHTML(serverObjects.ACTION_LOCATION, post.get("returnto")); - } - } - // return rewrite properties - return prop; - } -} diff --git a/source/net/yacy/htroot/Wiki.java b/source/net/yacy/htroot/Wiki.java deleted file mode 100644 index 22d01e274..000000000 --- a/source/net/yacy/htroot/Wiki.java +++ /dev/null @@ -1,283 +0,0 @@ -// Wiki.java
-// -----------------------
-// part of the AnomicHTTPD caching proxy
-// (C) by Michael Peter Christen; mc@yacy.net
-// first published on http://www.anomic.de
-// Frankfurt, Germany, 2004
-//
-//$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
-
-// Contains contributions from Alexander Schier [AS]
-// and Marc Nause [MN]
-
-// You must compile this file with
-// javac -classpath .:../classes Wiki.java
-// if the shell's current path is HTROOT
-
-package net.yacy.htroot;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import net.yacy.cora.date.GenericFormatter;
-import net.yacy.cora.document.encoding.UTF8;
-import net.yacy.cora.protocol.Domains;
-import net.yacy.cora.protocol.HeaderFramework;
-import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.data.Diff;
-import net.yacy.data.wiki.WikiBoard;
-import net.yacy.peers.NewsPool;
-import net.yacy.peers.Seed;
-import net.yacy.search.Switchboard;
-import net.yacy.server.serverObjects;
-import net.yacy.server.serverSwitch;
-
-public class Wiki {
- private static final String ANONYMOUS = "anonymous";
-
- //private static String ListLevel = "";
- //private static String numListLevel = "";
-
- public static String dateString(final Date date) {
- return GenericFormatter.SIMPLE_FORMATTER.format(date);
- }
-
-
- public static serverObjects respond(final RequestHeader header, serverObjects post, final serverSwitch env) throws IOException {
- final Switchboard sb = (Switchboard) env;
- final serverObjects prop = new serverObjects();
- if (post == null) {
- post = new serverObjects();
- post.put("page", "start");
- }
-
- prop.put("topmenu", sb.getConfigBool("publicTopmenu", true) ? 1 : 0);
-
- String access = sb.getConfig("WikiAccess", "admin");
- final String pagename = get(post, "page", "start");
- final String ip = get(post, HeaderFramework.CONNECTION_PROP_CLIENTIP, Domains.LOCALHOST);
- String author = get(post, "author", ANONYMOUS);
- if (author.equals(ANONYMOUS)) {
- author = WikiBoard.guessAuthor(ip);
- if (author == null) {
- author = (sb.peers.mySeed() == null) ? ANONYMOUS : sb.peers.mySeed().get(Seed.NAME, ANONYMOUS);
- }
- }
-
- if (post != null && post.containsKey("access")) {
- // only the administrator may change the access right
- if (!sb.verifyAuthentication(header)) {
- // check access right for admin
- prop.authenticationRequired();
- return prop;
- }
-
- access = post.get("access", "admin");
- sb.setConfig("WikiAccess", access);
- }
- if (access.equals("admin")) {
- prop.put("mode_access", "0");
- } else if (access.equals("all")) {
- prop.put("mode_access", "1");
- }
-
- WikiBoard.Entry page = sb.wikiDB.read(pagename);
-
- if (post != null && post.containsKey("submit")) {
-
- if ((access.equals("admin") && (!sb.verifyAuthentication(header)))) {
- // check access right for admin
- prop.authenticationRequired();
- return prop;
- }
-
- // store a new page
- byte[] content;
- content = UTF8.getBytes(post.get("content", ""));
- final WikiBoard.Entry newEntry = sb.wikiDB.newEntry(pagename, author, ip, post.get("reason", "edit"), content);
- sb.wikiDB.write(newEntry);
- // create a news message
- final Map<String, String> map = new HashMap<>();
- map.put("page", pagename);
- map.put("author", author.replace(',', ' '));
- if (!sb.isRobinsonMode() && post.get("content", "").trim().length() > 0 && !Arrays.equals(page.page(), content)) {
- sb.peers.newsPool.publishMyNews(sb.peers.mySeed(), NewsPool.CATEGORY_WIKI_UPDATE, map);
- }
- page = newEntry;
- prop.putHTML(serverObjects.ACTION_LOCATION, "Wiki.html?page=" + pagename);
- prop.put(serverObjects.ACTION_LOCATION, prop.get(serverObjects.ACTION_LOCATION));
- }
-
- if (post != null && post.containsKey("edit")) {
- if ((access.equals("admin") && (!sb.verifyAuthentication(header)))) {
- // check access right for admin
- prop.authenticationRequired();
- return prop;
- }
-
- prop.put("mode", "1"); //edit
- prop.putHTML("mode_author", author);
- prop.putHTML("mode_page-code", UTF8.String(page.page()));
- prop.putHTML("mode_pagename", pagename); }
-
- //contributed by [MN]
- else if (post != null && post.containsKey("preview")) {
- // preview the page
- prop.put("mode", "2");//preview
- prop.putHTML("mode_pagename", pagename);
- prop.putHTML("mode_author", author);
- prop.put("mode_date", dateString(new Date()));
- /* We do not fill hostport parameter : relative links should stay relative as it is more reliable
- * when the peer is behind any kind of reverse Proxy */
- prop.putWiki("mode_page", post.get("content", ""));
- prop.putHTML("mode_page-code", post.get("content", ""));
- }
- //end contrib of [MN]
-
- else if (post != null && post.containsKey("index")) {
- // view an index
- prop.put("mode", "3"); //Index
- try {
- final Iterator<byte[]> i = sb.wikiDB.keys(true);
- int count=0;
- while (i.hasNext()) {
- final String subject = UTF8.String(i.next());
- final WikiBoard.Entry entry = sb.wikiDB.read(subject);
- prop.putHTML("mode_pages_" + count + "_name",WikiBoard.webalize(subject));
- prop.putHTML("mode_pages_" + count + "_subject", subject);
- prop.put("mode_pages_" + count + "_date", dateString(entry.date()));
- prop.putHTML("mode_pages_" + count + "_author", entry.author());
- count++;
- }
- prop.put("mode_pages", count);
- } catch (final IOException e) {
- prop.put("mode_error", "1"); //IO Error reading Wiki
- prop.putHTML("mode_error_message", e.getMessage());
- }
- prop.putHTML("mode_pagename", pagename);
- } else if (post != null && post.containsKey("diff")) {
- // Diff
- prop.put("mode", "4");
- prop.putHTML("mode_page", pagename);
- prop.putHTML("mode_error_page", pagename);
-
- try {
- final Iterator<byte[]> it = sb.wikiDB.keysBkp(true);
- WikiBoard.Entry entry;
- WikiBoard.Entry oentry = null;
- WikiBoard.Entry nentry = null;
- int count = 0;
- boolean oldselected = false, newselected = false;
- while (it.hasNext()) {
- entry = sb.wikiDB.readBkp(UTF8.String(it.next()));
- prop.put("mode_error_versions_" + count + "_date", WikiBoard.dateString(entry.date()));
- prop.put("mode_error_versions_" + count + "_fdate", dateString(entry.date()));
- if (WikiBoard.dateString(entry.date()).equals(post.get("old", ""))) {
- prop.put("mode_error_versions_" + count + "_oldselected", "1");
- oentry = entry;
- oldselected = true;
- } else if (WikiBoard.dateString(entry.date()).equals(post.get("new", ""))) {
- prop.put("mode_error_versions_" + count + "_newselected", "1");
- nentry = entry;
- newselected = true;
- }
- count++;
- }
- count--; // don't show current version
-
- if (!oldselected) { // select latest old entry
- prop.put("mode_error_versions_" + (count - 1) + "_oldselected", "1");
- }
- if (!newselected) { // select latest new entry (== current)
- prop.put("mode_error_curselected", "1");
- }
-
- if (count == 0) {
- prop.put("mode_error", "2"); // no entries found
- } else {
- prop.put("mode_error_versions", count);
- }
-
- entry = sb.wikiDB.read(pagename);
- if (entry != null) {
- prop.put("mode_error_curdate", WikiBoard.dateString(entry.date()));
- prop.put("mode_error_curfdate", dateString(entry.date()));
- }
-
- if (nentry == null) {
- nentry = entry;
- }
- if (post.containsKey("compare") && oentry != null && nentry != null) {
- // TODO: split into paragraphs and compare them with the same diff-algo
- final Diff diff = new Diff(
- UTF8.String(oentry.page()),
- UTF8.String(nentry.page()), 3);
- prop.put("mode_versioning_diff", net.yacy.data.Diff.toHTML(new Diff[] { diff }));
- prop.put("mode_versioning", "1");
- } else if (post.containsKey("viewold") && oentry != null) {
- prop.put("mode_versioning", "2");
- prop.putHTML("mode_versioning_pagename", pagename);
- prop.putHTML("mode_versioning_author", oentry.author());
- prop.put("mode_versioning_date", dateString(oentry.date()));
- /* We do not fill hostport parameter : relative links should stay relative as it is more reliable
- * when the peer is behind any kind of reverse Proxy */
- prop.putWiki("mode_versioning_page", oentry.page());
- prop.putHTML("mode_versioning_page-code", UTF8.String(oentry.page()));
- }
- } catch (final IOException e) {
- prop.put("mode_error", "1"); //IO Error reading Wiki
- prop.putHTML("mode_error_message", e.getMessage());
- }
- }
-
- else {
- // show page
- prop.put("mode", "0"); //viewing
- prop.putHTML("mode_pagename", pagename);
- prop.putHTML("mode_author", page.author());
- prop.put("mode_date", dateString(page.date()));
- /* We do not fill hostport parameter : relative links should stay relative as it is more reliable
- * when the peer is behind any kind of reverse Proxy */
- prop.putWiki("mode_page", page.page());
-
- prop.put("controls", "0");
- prop.putHTML("controls_pagename", pagename);
- }
-
- // return rewrite properties
- return prop;
- }
-
-
- /**
- * get key from post, use dflt if (not present or post == null)
- *
- * @param post
- * @param string
- * @param string2
- * @return
- */
- private static String get(final serverObjects post, final String key, final String dflt) {
- return (post == null ? dflt : post.get(key, dflt));
- }
-}
diff --git a/source/net/yacy/htroot/WikiHelp.java b/source/net/yacy/htroot/WikiCodeHelp.java index f22e4afa0..1ff85c139 100644 --- a/source/net/yacy/htroot/WikiHelp.java +++ b/source/net/yacy/htroot/WikiCodeHelp.java @@ -1,4 +1,4 @@ -// WikiHelp.java
+// WikiCodeHelp.java // -----------------------
// part of the AnomicHTTPD caching proxy
// (C) by Michael Peter Christen; mc@yacy.net
@@ -24,7 +24,7 @@ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// You must compile this file with
-// javac -classpath .:../classes WikiHelp.java
+// javac -classpath .:../classes WikiCodeHelp.java // if the shell's current path is HTROOT
package net.yacy.htroot;
@@ -33,7 +33,7 @@ import net.yacy.cora.protocol.RequestHeader; import net.yacy.server.serverObjects;
import net.yacy.server.serverSwitch;
-public class WikiHelp {
+public class WikiCodeHelp { public static serverObjects respond(@SuppressWarnings("unused") final RequestHeader header, @SuppressWarnings("unused") final serverObjects post, @SuppressWarnings("unused") final serverSwitch env) {
//final plasmaSwitchboard sb = (plasmaSwitchboard) env;
diff --git a/source/net/yacy/htroot/api/bookmarks/get_bookmarks.java b/source/net/yacy/htroot/api/bookmarks/get_bookmarks.java index 0ee2a9799..ba2c05c8b 100644 --- a/source/net/yacy/htroot/api/bookmarks/get_bookmarks.java +++ b/source/net/yacy/htroot/api/bookmarks/get_bookmarks.java @@ -10,10 +10,10 @@ import net.yacy.cora.protocol.HeaderFramework; import net.yacy.cora.protocol.RequestHeader; import net.yacy.data.BookmarkHelper; import net.yacy.data.BookmarksDB; -import net.yacy.data.UserDB; import net.yacy.document.parser.html.CharacterCoding; import net.yacy.http.servlets.YaCyDefaultServlet; import net.yacy.search.Switchboard; +import net.yacy.search.SwitchboardConstants; import net.yacy.server.serverObjects; import net.yacy.server.serverSwitch; @@ -21,7 +21,6 @@ public class get_bookmarks { private static final serverObjects prop = new serverObjects(); private static Switchboard sb = null; - private static UserDB.Entry user = null; private static boolean isAdmin = false; private static int R = 1; // TODO: solve the recursion problem an remove global variable @@ -59,13 +58,11 @@ public class get_bookmarks { prop.clear(); sb = (Switchboard) env; - user = sb.userDB.getUser(header); - isAdmin = (sb.verifyAuthentication(header) || user != null && user.hasRight(UserDB.AccessRight.BOOKMARK_RIGHT)); + isAdmin = sb.verifyAuthentication(header); // set user name final String username; - if(user != null) username=user.getUserName(); - else if(isAdmin) username="admin"; + if(isAdmin) username=sb.getConfig(SwitchboardConstants.ADMIN_ACCOUNT_USER_NAME, "admin"); else username = "unknown"; prop.putHTML("display_user", username); @@ -290,4 +287,4 @@ public class get_bookmarks { } return count; } -}
\ No newline at end of file +} diff --git a/source/net/yacy/htroot/api/bookmarks/get_folders.java b/source/net/yacy/htroot/api/bookmarks/get_folders.java index 706a095bd..e03f9df09 100644 --- a/source/net/yacy/htroot/api/bookmarks/get_folders.java +++ b/source/net/yacy/htroot/api/bookmarks/get_folders.java @@ -8,9 +8,9 @@ import net.yacy.cora.protocol.RequestHeader; import net.yacy.cora.util.CommonPattern; import net.yacy.data.BookmarkHelper; import net.yacy.data.BookmarksDB; -import net.yacy.data.UserDB; import net.yacy.http.servlets.YaCyDefaultServlet; import net.yacy.search.Switchboard; +import net.yacy.search.SwitchboardConstants; import net.yacy.server.serverObjects; import net.yacy.server.serverSwitch; @@ -18,21 +18,18 @@ public class get_folders { private static final serverObjects prop = new serverObjects(); private static Switchboard sb = null; - private static UserDB.Entry user = null; private static boolean isAdmin = false; public static serverObjects respond(final RequestHeader header, final serverObjects post, final serverSwitch env) { prop.clear(); sb = (Switchboard) env; - user = sb.userDB.getUser(header); - isAdmin = (sb.verifyAuthentication(header) || user != null && user.hasRight(UserDB.AccessRight.BOOKMARK_RIGHT)); - - // set user name - final String username; - if(user != null) username=user.getUserName(); - else if(isAdmin) username="admin"; - else username = "unknown"; + isAdmin = sb.verifyAuthentication(header); + + // set user name + final String username; + if(isAdmin) username=sb.getConfig(SwitchboardConstants.ADMIN_ACCOUNT_USER_NAME, "admin"); + else username = "unknown"; prop.putHTML("display_user", username); // set peer address base : used in get_bookmarks.xml to render the absolute API link URL @@ -106,4 +103,4 @@ public class get_folders { // return rewrite properties return prop; } -}
\ No newline at end of file +} diff --git a/source/net/yacy/htroot/api/bookmarks/posts/add_p.java b/source/net/yacy/htroot/api/bookmarks/posts/add_p.java index 755cf4953..fed4e77b7 100644 --- a/source/net/yacy/htroot/api/bookmarks/posts/add_p.java +++ b/source/net/yacy/htroot/api/bookmarks/posts/add_p.java @@ -9,9 +9,9 @@ import net.yacy.cora.protocol.RequestHeader; import net.yacy.data.BookmarkHelper; import net.yacy.data.BookmarksDB; import net.yacy.data.ListManager; -import net.yacy.data.UserDB; import net.yacy.peers.NewsPool; import net.yacy.search.Switchboard; +import net.yacy.search.SwitchboardConstants; import net.yacy.server.serverObjects; import net.yacy.server.serverSwitch; @@ -20,19 +20,16 @@ public class add_p { private static final serverObjects prop = new serverObjects(); private static Switchboard sb = null; - private static UserDB.Entry user = null; private static boolean isAdmin = false; public static serverObjects respond(final RequestHeader header, final serverObjects post, final serverSwitch env) { sb = (Switchboard) env; isAdmin=sb.verifyAuthentication(header); - user = sb.userDB.getUser(header); // set user name - String username=""; - if(user != null) username=user.getUserName(); - else if(isAdmin) username="admin"; + final String username = isAdmin + ? sb.getConfig(SwitchboardConstants.ADMIN_ACCOUNT_USER_NAME, "admin") : ""; if (post != null) { if (!isAdmin) { @@ -53,9 +50,6 @@ public class add_p { if(bookmark != null){ bookmark.setProperty(BookmarksDB.Bookmark.BOOKMARK_TITLE, title); bookmark.setProperty(BookmarksDB.Bookmark.BOOKMARK_DESCRIPTION, description); - if(user!=null){ - bookmark.setOwner(user.getUserName()); - } if("public".equals(post.get("public"))){ bookmark.setPublic(true); publishNews(url, title, description, tagsString); @@ -88,4 +82,4 @@ public class add_p { map.put("tags", tagsString.replace(',', ' ')); sb.peers.newsPool.publishMyNews(sb.peers.mySeed(), NewsPool.CATEGORY_BOOKMARK_ADD, map); } -}
\ No newline at end of file +} diff --git a/source/net/yacy/htroot/index.java b/source/net/yacy/htroot/index.java index 61e4acd97..3b8ee35a4 100644 --- a/source/net/yacy/htroot/index.java +++ b/source/net/yacy/htroot/index.java @@ -33,7 +33,6 @@ package net.yacy.htroot; import net.yacy.cora.document.analysis.Classification;
import net.yacy.cora.document.analysis.Classification.ContentDomain;
import net.yacy.cora.protocol.RequestHeader;
-import net.yacy.data.UserDB;
import net.yacy.search.Switchboard;
import net.yacy.search.SwitchboardConstants;
import net.yacy.search.schema.CollectionSchema;
@@ -55,18 +54,10 @@ public class index { }
// access control
- String authenticatedUserName = null;
- final boolean adminAuthenticated = sb.verifyAuthentication(header);
-
- if(adminAuthenticated) {
- authenticatedUserName = sb.getConfig(SwitchboardConstants.ADMIN_ACCOUNT_USER_NAME, "admin");
- } else {
- final UserDB.Entry user = sb.userDB != null ? sb.userDB.getUser(header) : null;
- if(user != null) {
- authenticatedUserName = user.getUserName();
- }
- }
- final boolean authenticated = adminAuthenticated || authenticatedUserName != null;
+ final boolean adminAuthenticated = sb.verifyAuthentication(header); + final String authenticatedUserName = adminAuthenticated + ? sb.getConfig(SwitchboardConstants.ADMIN_ACCOUNT_USER_NAME, "admin") : null; + final boolean authenticated = adminAuthenticated; if (post != null) {
if (post.containsKey("publicPage") && !adminAuthenticated) { // Old style parameter : still in use ?
prop.authenticationRequired();
diff --git a/source/net/yacy/htroot/robots.java b/source/net/yacy/htroot/robots.java index 06b82ffd3..4b477b529 100644 --- a/source/net/yacy/htroot/robots.java +++ b/source/net/yacy/htroot/robots.java @@ -27,7 +27,6 @@ public class robots { if (rbc.isAllDisallowed()) { prop.put(RobotsTxtConfig.ALL, 1); } else { - if (rbc.isBlogDisallowed()) prop.put(RobotsTxtConfig.ALL + "_" + RobotsTxtConfig.BLOG, "1"); if (rbc.isBookmarksDisallowed()) prop.put(RobotsTxtConfig.ALL + "_" + RobotsTxtConfig.BOOKMARKS, "1"); if (rbc.isFileshareDisallowed()) prop.put(RobotsTxtConfig.ALL + "_" + RobotsTxtConfig.FILESHARE, "1"); if (rbc.isHomepageDisallowed()) prop.put(RobotsTxtConfig.ALL + "_" + RobotsTxtConfig.HOMEPAGE, "1"); @@ -35,7 +34,6 @@ public class robots { if (rbc.isNewsDisallowed()) prop.put(RobotsTxtConfig.ALL + "_" + RobotsTxtConfig.NEWS, "1"); if (rbc.isStatusDisallowed()) prop.put(RobotsTxtConfig.ALL + "_" + RobotsTxtConfig.STATUS, "1"); if (rbc.isSurftipsDisallowed()) prop.put(RobotsTxtConfig.ALL + "_" + RobotsTxtConfig.SURFTIPS, "1"); - if (rbc.isWikiDisallowed()) prop.put(RobotsTxtConfig.ALL + "_" + RobotsTxtConfig.WIKI, "1"); if (rbc.isProfileDisallowed()) prop.put(RobotsTxtConfig.ALL + "_" + RobotsTxtConfig.PROFILE, "1"); if (rbc.isLockedDisallowed() || rbc.isDirsDisallowed()) { diff --git a/source/net/yacy/htroot/yacychat.java b/source/net/yacy/htroot/yacychat.java index 74c081dac..c9e7dfce4 100644 --- a/source/net/yacy/htroot/yacychat.java +++ b/source/net/yacy/htroot/yacychat.java @@ -1,8 +1,24 @@ -package net.yacy.htroot; +/** + * yacychat + * Copyright 2025 by Michael Peter Christen + * First released 23.11.2025 at https://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/>. + */ -import org.json.JSONException; -import org.json.JSONObject; -import org.json.JSONTokener; +package net.yacy.htroot; import net.yacy.cora.protocol.RequestHeader; import net.yacy.search.Switchboard; @@ -12,53 +28,38 @@ import net.yacy.server.serverSwitch; public class yacychat { - public static serverObjects respond(@SuppressWarnings("unused") final RequestHeader header, final serverObjects post, final serverSwitch env) { - // return variable that accumulates replacements - final Switchboard sb = (Switchboard) env; - - final serverObjects prop = new serverObjects(); - String body = post == null ? "" : post.get("BODY", ""); - JSONObject bodyj = new JSONObject(); - if (body.length() > 0) { - try { - bodyj = new JSONObject(new JSONTokener(body)); - } catch (JSONException e) { - // silently catch this - } - } + public static serverObjects respond(@SuppressWarnings("unused") final RequestHeader header, final serverObjects post, final serverSwitch env) { + // return variable that accumulates replacements + final serverObjects prop = new serverObjects(); - // system prompt comes from configuration; default is empty - final String systemPrompt = sb.getConfig("ai.system-prompt", net.yacy.http.servlets.RAGProxyServlet.LLM_SYSTEM_PROMPT_DEFAULT); - // escape for safe embedding in a JS single-quoted string literal - final String systemPromptJs = systemPrompt - .replace("\\", "\\\\") - .replace("'", "\\'") - .replace("\r\n", "\\n") - .replace("\n", "\\n") - .replace("\r", "\\n"); - prop.put("system_prompt", systemPromptJs); - prop.put("topmenu", sb.getConfigBool("ai.shield.show-chat-link", false) ? (sb.getConfigBool("publicTopmenu", true) ? 1 : 0) : 2); + // system prompt comes from configuration; default is empty + final Switchboard sb = (Switchboard) env; + final String systemPrompt = sb.getConfig("ai.system-prompt", net.yacy.http.servlets.RAGProxyServlet.LLM_SYSTEM_PROMPT_DEFAULT); + // escape for safe embedding in a JS single-quoted string literal + final String systemPromptJs = systemPrompt.replace("\\", "\\\\").replace("'", "\\'").replace("\r\n", "\\n").replace("\n", "\\n").replace("\r", "\\n"); + prop.put("system_prompt", systemPromptJs); + prop.put("topmenu",sb.getConfigBool("ai.shield.show-chat-link", false) ? (sb.getConfigBool("publicTopmenu", true) ? 1 : 0) : 2); - String promoteChatPageGreeting = env.getConfig("promoteChatPageGreeting", ""); - if (env.getConfigBool(SwitchboardConstants.GREETING_NETWORK_NAME, false)) { - promoteChatPageGreeting = env.getConfig("network.unit.description", ""); - } - prop.put("promoteChatPageGreeting", promoteChatPageGreeting); - prop.put("topmenu_promoteChatPageGreeting", promoteChatPageGreeting); - prop.put(SwitchboardConstants.GREETING_HOMEPAGE, sb.getConfig(SwitchboardConstants.GREETING_HOMEPAGE, "")); - prop.put("topmenu_" + SwitchboardConstants.GREETING_HOMEPAGE, sb.getConfig(SwitchboardConstants.GREETING_HOMEPAGE, "")); - prop.put(SwitchboardConstants.GREETING_LARGE_IMAGE, sb.getConfig(SwitchboardConstants.GREETING_LARGE_IMAGE, "")); - prop.put("topmenu_" + SwitchboardConstants.GREETING_LARGE_IMAGE, sb.getConfig(SwitchboardConstants.GREETING_LARGE_IMAGE, "")); - prop.put(SwitchboardConstants.GREETING_IMAGE_ALT, sb.getConfig(SwitchboardConstants.GREETING_IMAGE_ALT, "")); - prop.put("topmenu_" + SwitchboardConstants.GREETING_IMAGE_ALT, sb.getConfig(SwitchboardConstants.GREETING_IMAGE_ALT, "")); + String promoteChatPageGreeting = env.getConfig("promoteChatPageGreeting", ""); + if (env.getConfigBool(SwitchboardConstants.GREETING_NETWORK_NAME, false)) promoteChatPageGreeting = env.getConfig("network.unit.description", ""); + + prop.put("promoteChatPageGreeting", promoteChatPageGreeting); + prop.put("topmenu_promoteChatPageGreeting", promoteChatPageGreeting); + prop.put(SwitchboardConstants.GREETING_HOMEPAGE, sb.getConfig(SwitchboardConstants.GREETING_HOMEPAGE, "")); + prop.put("topmenu_" + SwitchboardConstants.GREETING_HOMEPAGE, sb.getConfig(SwitchboardConstants.GREETING_HOMEPAGE, "")); + prop.put(SwitchboardConstants.GREETING_LARGE_IMAGE, sb.getConfig(SwitchboardConstants.GREETING_LARGE_IMAGE, "")); + prop.put("topmenu_" + SwitchboardConstants.GREETING_LARGE_IMAGE, sb.getConfig(SwitchboardConstants.GREETING_LARGE_IMAGE, "")); + prop.put(SwitchboardConstants.GREETING_IMAGE_ALT, sb.getConfig(SwitchboardConstants.GREETING_IMAGE_ALT, "")); + prop.put("topmenu_" + SwitchboardConstants.GREETING_IMAGE_ALT, sb.getConfig(SwitchboardConstants.GREETING_IMAGE_ALT, "")); - // determine if P2P mode is active (global search available) - final boolean indexReceiveGranted = sb.getConfigBool(net.yacy.search.SwitchboardConstants.INDEX_RECEIVE_ALLOW_SEARCH, true) || (sb.isRobinsonMode() && sb.getConfig(net.yacy.search.SwitchboardConstants.CLUSTER_MODE, "").equals(net.yacy.search.SwitchboardConstants.CLUSTER_MODE_PUBLIC_CLUSTER)); - final boolean p2pmode = indexReceiveGranted; - prop.put("p2p_mode", p2pmode ? 1 : 0); + // determine if P2P mode is active (global search available) + final boolean indexReceiveGranted = + sb.getConfigBool(net.yacy.search.SwitchboardConstants.INDEX_RECEIVE_ALLOW_SEARCH, true) || + (sb.isRobinsonMode() && sb.getConfig(net.yacy.search.SwitchboardConstants.CLUSTER_MODE, "").equals(net.yacy.search.SwitchboardConstants.CLUSTER_MODE_PUBLIC_CLUSTER)); + prop.put("p2p_mode", indexReceiveGranted ? 1 : 0); - // return rewrite properties - return prop; - } + // return rewrite properties + return prop; + } } diff --git a/source/net/yacy/htroot/yacysearch.java b/source/net/yacy/htroot/yacysearch.java index 05647672d..4709d4ce3 100644 --- a/source/net/yacy/htroot/yacysearch.java +++ b/source/net/yacy/htroot/yacysearch.java @@ -69,7 +69,6 @@ import net.yacy.cora.protocol.ResponseHeader; import net.yacy.cora.util.ConcurrentLog; import net.yacy.data.BookmarksDB.Bookmark; import net.yacy.data.DidYouMean; -import net.yacy.data.UserDB; import net.yacy.document.LibraryProvider; import net.yacy.document.Tokenizer; import net.yacy.http.servlets.TemplateProcessingException; @@ -111,22 +110,11 @@ public class yacysearch { final Switchboard sb = (Switchboard) env; sb.localSearchLastAccess = System.currentTimeMillis(); - String authenticatedUserName = null; final boolean adminAuthenticated = sb.verifyAuthentication(header); final boolean searchAllowed = sb.getConfigBool(SwitchboardConstants.PUBLIC_SEARCHPAGE, true) || adminAuthenticated; - - boolean extendedSearchRights = adminAuthenticated; - boolean bookmarkRights = false; - if (adminAuthenticated) { - authenticatedUserName = sb.getConfig(SwitchboardConstants.ADMIN_ACCOUNT_USER_NAME, "admin"); - } else { - final UserDB.Entry user = sb.userDB != null ? sb.userDB.getUser(header) : null; - if (user != null) { - extendedSearchRights = user.hasRight(UserDB.AccessRight.EXTENDED_SEARCH_RIGHT); - authenticatedUserName = user.getUserName(); - bookmarkRights = user.hasRight(UserDB.AccessRight.BOOKMARK_RIGHT); - } - } + final boolean extendedSearchRights = adminAuthenticated; + final String authenticatedUserName = adminAuthenticated + ? sb.getConfig(SwitchboardConstants.ADMIN_ACCOUNT_USER_NAME, "admin") : null; final boolean localhostAccess = header.accessFromLocalhost(); final String promoteSearchPageGreeting = @@ -712,14 +700,14 @@ public class yacysearch { // if a bookmarks-button was hit, create new bookmark entry if (post != null && post.containsKey("bookmarkref")) { - if (!sb.verifyAuthentication(header) && !bookmarkRights) { + if (!adminAuthenticated) { prop.authenticationRequired(); return prop; } //final String bookmarkHash = post.get("bookmarkref", ""); // urlhash final String urlstr = crypt.simpleDecode(post.get("bookmarkurl")); if (urlstr != null) { - final Bookmark bmk = sb.bookmarksDB.createorgetBookmark(urlstr, "admin"); + final Bookmark bmk = sb.bookmarksDB.createorgetBookmark(urlstr, authenticatedUserName); if (bmk != null) { bmk.setProperty(Bookmark.BOOKMARK_QUERY, querystring); bmk.addTag("/search"); // add to bookmark folder diff --git a/source/net/yacy/htroot/yacysearchitem.java b/source/net/yacy/htroot/yacysearchitem.java index a85679f0a..42cbe9ede 100644 --- a/source/net/yacy/htroot/yacysearchitem.java +++ b/source/net/yacy/htroot/yacysearchitem.java @@ -55,7 +55,6 @@ import net.yacy.cora.util.Memory; import net.yacy.crawler.data.Cache; import net.yacy.crawler.retrieval.Response; import net.yacy.data.URLLicense; -import net.yacy.data.UserDB; import net.yacy.document.parser.html.IconEntry; import net.yacy.http.servlets.TemplateMissingParameterException; import net.yacy.kelondro.data.meta.URIMetadataNode; @@ -103,16 +102,13 @@ public class yacysearchitem { final String eventID = post.get("eventID", ""); final boolean adminAuthenticated = sb.verifyAuthentication(header); - final UserDB.Entry user = sb.userDB != null ? sb.userDB.getUser(header) : null; - final boolean authenticated = adminAuthenticated || user != null; - - final boolean extendedSearchRights = adminAuthenticated || (user != null && user.hasRight(UserDB.AccessRight.EXTENDED_SEARCH_RIGHT)); - //final boolean bookmarkRights = adminAuthenticated || (user != null && user.hasRight(UserDB.AccessRight.BOOKMARK_RIGHT)); + final boolean authenticated = adminAuthenticated; + final boolean extendedSearchRights = adminAuthenticated; final int item = post.getInt("item", -1); final RequestHeader.FileType fileType = header.fileType(); - if (post.containsKey("auth") && !adminAuthenticated && user == null) { + if (post.containsKey("auth") && !adminAuthenticated) { /* * Access to authentication protected features is explicitely requested here * but no authentication is provided : ask now for authentication. @@ -188,20 +184,9 @@ public class yacysearchitem { prop.put("content", 1); // switch on specific content final String urlhash = ASCII.String(result.hash()); if (adminAuthenticated) { // only needed if authorized - addAuthorizedActions(sb, prop, theSearch, resultUrlstring, resource, origQ, urlhash, null); - } else if (authenticated && user != null) { - addAuthorizedActions(sb, prop, theSearch, resultUrlstring, resource, origQ, urlhash, user); + addAuthorizedActions(sb, prop, theSearch, resultUrlstring, resource, origQ, urlhash); } else prop.put("content_authorized", "0"); // disable for not authorized user -// for testing only -// result -// if local Admin - no admin_right -// if admin authent -> admin_right = true, bookmark_right = false - if (header.isUserInRole(UserDB.AccessRight.ADMIN_RIGHT.toString())) { - if (header.isUserInRole(UserDB.AccessRight.BOOKMARK_RIGHT.toString())) { - System.out.println("booki"); - } - } prop.putHTML("content_title", result.title()); prop.putXML("content_title-xml", result.title()); prop.putJSON("content_title-json", result.title()); @@ -677,17 +662,13 @@ public class yacysearchitem { * @param resource resource scope ("local" or "global") * @param origQ origin query terms * @param urlhash URL hash of the result item - * @param user current user or null if current user is admin */ private static void addAuthorizedActions(final Switchboard sb, final serverObjects prop, final SearchEvent theSearch, final String resultUrlstring, final String resource, final String origQ, - final String urlhash, final UserDB.Entry user) { + final String urlhash) { // check if url exists in bookmarks final boolean bookmarkexists = sb.bookmarksDB.getBookmark(urlhash) != null; - if (user == null || user.hasRight(UserDB.AccessRight.BOOKMARK_RIGHT)) { - prop.put("content_authorized_bookmark", !bookmarkexists); - } else - prop.put("content_authorized_bookmark", "0"); + prop.put("content_authorized_bookmark", !bookmarkexists); /* boolean blacklistislisted = false; try { DigestURL durl = new DigestURL(resultUrlstring); @@ -722,13 +703,8 @@ public class yacysearchitem { prop.put("content_authorized_recommend_deletelink", deleteLink); prop.put("content_authorized_recommend_recommendlink", recommendLink); - if (user == null || user.hasRight(UserDB.AccessRight.ADMIN_RIGHT)) { - prop.put("content_authorized_recommend", (sb.peers.newsPool.getSpecific(NewsPool.OUTGOING_DB, NewsPool.CATEGORY_SURFTIPP_ADD, "url", resultUrlstring) == null) ? "1" : "0"); - prop.put("content_authorized_blacklist", "1"); - } else { - prop.put("content_authorized_recommend", "0"); - prop.put("content_authorized_blacklist", "0"); - } + prop.put("content_authorized_recommend", (sb.peers.newsPool.getSpecific(NewsPool.OUTGOING_DB, NewsPool.CATEGORY_SURFTIPP_ADD, "url", resultUrlstring) == null) ? "1" : "0"); + prop.put("content_authorized_blacklist", "1"); // prop.put("content_authorized_urlhash", urlhash); // not used 2022-02-09 prop.put("content_authorized", "1"); // enable authorized icons/content } diff --git a/source/net/yacy/htroot/yacysearchlatestinfo.java b/source/net/yacy/htroot/yacysearchlatestinfo.java index c62239155..04d9ef601 100644 --- a/source/net/yacy/htroot/yacysearchlatestinfo.java +++ b/source/net/yacy/htroot/yacysearchlatestinfo.java @@ -1,7 +1,6 @@ package net.yacy.htroot; import net.yacy.cora.protocol.RequestHeader; -import net.yacy.data.UserDB; import net.yacy.http.servlets.TemplateMissingParameterException; import net.yacy.cora.util.ConcurrentLog; import net.yacy.kelondro.util.Formatter; @@ -23,10 +22,7 @@ public class yacysearchlatestinfo { final serverObjects prop = new serverObjects(); final Switchboard sb = (Switchboard) env; - final boolean adminAuthenticated = sb.verifyAuthentication(header); - final UserDB.Entry user = sb.userDB != null ? sb.userDB.getUser(header) : null; - final boolean userAuthenticated = (user != null && user.hasRight(UserDB.AccessRight.EXTENDED_SEARCH_RIGHT)); - final boolean authenticated = adminAuthenticated || userAuthenticated; + final boolean authenticated = sb.verifyAuthentication(header); // find search event final String eventID = post.get("eventID", ""); diff --git a/source/net/yacy/htroot/yacysearchtrailer.java b/source/net/yacy/htroot/yacysearchtrailer.java index c3d7e67ea..5f6fe8e30 100644 --- a/source/net/yacy/htroot/yacysearchtrailer.java +++ b/source/net/yacy/htroot/yacysearchtrailer.java @@ -38,7 +38,6 @@ import net.yacy.cora.federate.yacy.CacheStrategy; import net.yacy.cora.lod.vocabulary.Tagging; import net.yacy.cora.protocol.RequestHeader; import net.yacy.cora.sorting.ScoreMap; -import net.yacy.data.UserDB; import net.yacy.document.DateDetection; import net.yacy.document.LibraryProvider; import net.yacy.http.servlets.TemplateMissingParameterException; @@ -75,9 +74,7 @@ public class yacysearchtrailer { final String eventID = post.get("eventID", ""); final boolean adminAuthenticated = sb.verifyAuthentication(header); - - final UserDB.Entry user = sb.userDB != null ? sb.userDB.getUser(header) : null; - final boolean authenticated = adminAuthenticated || user != null; + final boolean authenticated = adminAuthenticated; if (post.containsKey("auth") && !authenticated) { /* diff --git a/source/net/yacy/http/YaCyHttpServer.java b/source/net/yacy/http/YaCyHttpServer.java index 55ac5476e..f53eb7f68 100644 --- a/source/net/yacy/http/YaCyHttpServer.java +++ b/source/net/yacy/http/YaCyHttpServer.java @@ -220,8 +220,8 @@ public class YaCyHttpServer { allrequesthandlers.addHandler(new DefaultHandler()); // if not handled by other handler final YaCyLoginService loginService = new YaCyLoginService(); - // this is very important (as it is part of the user password hash) - // changes will ivalidate all current existing user-password-hashes (from userDB) + // This is part of the built-in administrator's DIGEST password hash. + // Changing it invalidates the configured administrator password hash. loginService.setName(sb.getConfig(SwitchboardConstants.ADMIN_REALM,"YaCy")); final YaCySecurityHandler securityHandler = new YaCySecurityHandler(); @@ -375,8 +375,8 @@ public class YaCyHttpServer { } /** - * forces loginservice to reload user credentials - * (used after setting new pwd in cfg file/db) + * Forces the login service to reload the built-in administrator credentials + * after they were changed in the configuration. * @param username */ public void resetUser(final String username) { @@ -390,7 +390,7 @@ public class YaCyHttpServer { } /** - * removes user from knowuser cache of loginservice + * Removes the built-in administrator from the login service cache. * @param username */ public void removeUser(final String username) { diff --git a/source/net/yacy/http/YaCyLegacyCredential.java b/source/net/yacy/http/YaCyLegacyCredential.java index 840c10630..961e5c529 100644 --- a/source/net/yacy/http/YaCyLegacyCredential.java +++ b/source/net/yacy/http/YaCyLegacyCredential.java @@ -125,20 +125,4 @@ public class YaCyLegacyCredential extends Credential { return yc; } - /** - * create Credential object from password - * - * @param username - * @param configHash encodeMD5Hex("user:realm:pwd") as stored in UserDB - * @return - */ - public static Credential getCredentialForUserDB(String username, String configHash) { - YaCyLegacyCredential yc = new YaCyLegacyCredential(); - yc.c = Credential.getCredential(configHash); // creates a MD5 hash credential - yc.foruser = username; - yc.isBase64enc = false; - yc.hash = configHash; - return yc; - } - } diff --git a/source/net/yacy/http/YaCyLoginService.java b/source/net/yacy/http/YaCyLoginService.java index 78b1e1ee9..abc5ec2c7 100644 --- a/source/net/yacy/http/YaCyLoginService.java +++ b/source/net/yacy/http/YaCyLoginService.java @@ -24,9 +24,6 @@ package net.yacy.http; -import java.util.ArrayList; -import net.yacy.data.UserDB.AccessRight; -import net.yacy.data.UserDB.Entry; import net.yacy.search.Switchboard; import net.yacy.search.SwitchboardConstants; import org.eclipse.jetty.security.AbstractLoginService; @@ -37,8 +34,8 @@ import org.eclipse.jetty.server.UserIdentity; import org.eclipse.jetty.util.security.Credential; /** - * jetty login service, provides admin and YaCy.UserDB users with role - * assignment with DIGEST auth by default Jetty uses the name of the loginSevice + * Jetty login service for YaCy's built-in administrator account. + * With DIGEST auth Jetty uses the name of the login service * as realmname (which is part of all password hashes) */ public class YaCyLoginService extends HashLoginService implements LoginService { @@ -70,7 +67,7 @@ public class YaCyLoginService extends HashLoginService implements LoginService { } /** - * Load the user from cache (of authenticated users) or from the YaCy user db + * Load the built-in administrator from the authenticated-user cache or configuration. * @param username * @return known user or null */ @@ -83,7 +80,7 @@ public class YaCyLoginService extends HashLoginService implements LoginService { AbstractLoginService.UserPrincipal theUser = super.loadUserInfo(username); // load from cache (the internal _userStore) if (theUser == null) { final Switchboard sb = Switchboard.getSwitchboard(); - String adminuser = sb.getConfig(SwitchboardConstants.ADMIN_ACCOUNT_USER_NAME, "admin"); + final String adminuser = sb.getConfig(SwitchboardConstants.ADMIN_ACCOUNT_USER_NAME, "admin"); Credential credential = null; String[] roles = null; if (username.equals(adminuser)) { @@ -94,22 +91,7 @@ public class YaCyLoginService extends HashLoginService implements LoginService { credential = YaCyLegacyCredential.getCredentialForAdmin(username, adminAccountBase64MD5); // TODO: YaCy user:pwd hashes should longterm likely be switched to separable username + pwd-hash entries // and/or the standard admin account username should be fix = "admin" - roles = new String[]{AccessRight.ADMIN_RIGHT.toString()}; - } else { - Entry user = sb.userDB.getEntry(username); - if (user != null && user.getMD5EncodedUserPwd() != null) { - // assigning roles from userDB - ArrayList<String> roletmp = new ArrayList<String>(); - for (final AccessRight right : AccessRight.values()) { - if (user.hasRight(right)) { - roletmp.add(right.toString()); - } - } - if (roletmp.size() > 0) { - roles = roletmp.toArray(new String[roletmp.size()]); - } - credential = YaCyLegacyCredential.getCredentialForUserDB(username, user.getMD5EncodedUserPwd()); - } + roles = new String[]{SwitchboardConstants.ADMIN_ACCOUNT_ROLE}; } if (credential != null) { // if credential exist, user is known, create or get info @@ -123,8 +105,8 @@ public class YaCyLoginService extends HashLoginService implements LoginService { } /** - * Delete a user from the internal cache. If user found in cache user is - * loged out before delete. + * Delete the administrator identity from the internal cache. When present, + * the identity is logged out before removal. * @param username * @return true if user deleted, if not found in user cache false */ @@ -138,4 +120,4 @@ public class YaCyLoginService extends HashLoginService implements LoginService { return false; } -}
\ No newline at end of file +} diff --git a/source/net/yacy/http/YaCySecurityHandler.java b/source/net/yacy/http/YaCySecurityHandler.java index 68948a081..675b02b35 100644 --- a/source/net/yacy/http/YaCySecurityHandler.java +++ b/source/net/yacy/http/YaCySecurityHandler.java @@ -30,7 +30,6 @@ import net.yacy.cora.document.id.MultiProtocolURL; import net.yacy.cora.order.Base64Order; import net.yacy.cora.protocol.Domains; import net.yacy.cora.protocol.RequestHeader; -import net.yacy.data.UserDB.AccessRight; import net.yacy.search.Switchboard; import net.yacy.search.SwitchboardConstants; import net.yacy.server.serverAccessTracker; @@ -104,7 +103,7 @@ public class YaCySecurityHandler extends ConstraintSecurityHandler { } RoleInfo roleinfo = new RoleInfo(); roleinfo.setChecked(true); // RoleInfo.setChecked() : in Jetty this means - marked to have any security constraint - roleinfo.addRole(AccessRight.ADMIN_RIGHT.toString()); // use AccessRights as role + roleinfo.addRole(SwitchboardConstants.ADMIN_ACCOUNT_ROLE); return roleinfo; } return super.prepareConstraintInfo(pathInContext, request); diff --git a/source/net/yacy/http/servlets/LLMAdminProxyServlet.java b/source/net/yacy/http/servlets/LLMAdminProxyServlet.java index ff4ccd0d3..1f8ffd810 100644 --- a/source/net/yacy/http/servlets/LLMAdminProxyServlet.java +++ b/source/net/yacy/http/servlets/LLMAdminProxyServlet.java @@ -47,7 +47,6 @@ import org.json.JSONTokener; import net.yacy.cora.protocol.Domains; import net.yacy.cora.util.ConcurrentLog; import net.yacy.cora.util.LogRedaction; -import net.yacy.data.UserDB; import net.yacy.search.Switchboard; import net.yacy.search.SwitchboardConstants; @@ -227,7 +226,7 @@ public class LLMAdminProxyServlet extends HttpServlet { */ private static boolean requireAdmin(final HttpServletRequest hrequest, final HttpServletResponse hresponse) throws IOException { final Switchboard sb = Switchboard.getSwitchboard(); - final String adminRole = UserDB.AccessRight.ADMIN_RIGHT.toString(); + final String adminRole = SwitchboardConstants.ADMIN_ACCOUNT_ROLE; if (sb.getConfigBool(SwitchboardConstants.ADMIN_ACCOUNT_FOR_LOCALHOST, false) && Domains.isLocalhost(hrequest.getRemoteAddr())) return true; if (hrequest.isUserInRole(adminRole)) return true; diff --git a/source/net/yacy/http/servlets/SolrSelectServlet.java b/source/net/yacy/http/servlets/SolrSelectServlet.java index 5b29b9adc..fa4e54d65 100644 --- a/source/net/yacy/http/servlets/SolrSelectServlet.java +++ b/source/net/yacy/http/servlets/SolrSelectServlet.java @@ -49,7 +49,6 @@ import net.yacy.cora.federate.solr.responsewriter.SolrjResponseWriter; import net.yacy.cora.federate.solr.responsewriter.YJsonResponseWriter; import net.yacy.cora.protocol.RequestHeader; import net.yacy.cora.util.ConcurrentLog; -import net.yacy.data.UserDB; import net.yacy.search.Switchboard; import net.yacy.search.SwitchboardConstants; import net.yacy.search.query.AccessTracker; @@ -130,7 +129,7 @@ public class SolrSelectServlet extends HttpServlet { Switchboard sb = Switchboard.getSwitchboard(); // TODO: isUserInRole needs a login to jetty container (not done automatically on admin from localhost) - boolean authenticated = hrequest.isUserInRole(UserDB.AccessRight.ADMIN_RIGHT.toString()); + boolean authenticated = hrequest.isUserInRole(SwitchboardConstants.ADMIN_ACCOUNT_ROLE); // count remote searches if this was part of a p2p search if (mmsp.getMap().containsKey("partitions")) { diff --git a/source/net/yacy/http/servlets/YaCyDefaultServlet.java b/source/net/yacy/http/servlets/YaCyDefaultServlet.java index c52cb828c..54cb227a0 100644 --- a/source/net/yacy/http/servlets/YaCyDefaultServlet.java +++ b/source/net/yacy/http/servlets/YaCyDefaultServlet.java @@ -48,8 +48,7 @@ import javax.servlet.RequestDispatcher; import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.UnavailableException;
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; import javax.servlet.http.HttpServletResponse; @@ -1072,13 +1071,7 @@ public class YaCyDefaultServlet extends HttpServlet { }
}
}
- // handle login cookie
- if (tmpouthdr.getCookiesEntries() != null) {
- for (final Cookie c : tmpouthdr.getCookiesEntries()) {
- response.addCookie(c);
- }
- }
- }
+ } } else {
templatePatterns = new servletProperties((serverObjects) tmp);
}
diff --git a/source/net/yacy/migration.java b/source/net/yacy/migration.java index 7a6207003..fef897f33 100644 --- a/source/net/yacy/migration.java +++ b/source/net/yacy/migration.java @@ -206,35 +206,8 @@ public class migration { ConcurrentLog.warn("MIGRATION", "could not delete "+ filename); } public static void migrateWorkFiles(final Switchboard sb){ - File file=new File(sb.getDataPath(), "DATA/SETTINGS/wiki.db"); + File file; File file2; - if (file.exists()) { - ConcurrentLog.info("MIGRATION", "Migrating wiki.db to "+ sb.workPath); - sb.wikiDB.close(); - file2 = new File(sb.workPath, "wiki.db"); - try { - Files.copy(file, file2); - file.delete(); - } catch (final IOException e) { - } - - file = new File(sb.getDataPath(), "DATA/SETTINGS/wiki-bkp.db"); - if (file.exists()) { - ConcurrentLog.info("MIGRATION", "Migrating wiki-bkp.db to "+ sb.workPath); - file2 = new File(sb.workPath, "wiki-bkp.db"); - try { - Files.copy(file, file2); - file.delete(); - } catch (final IOException e) {} - } - try { - sb.initWiki(); - } catch (final IOException e) { - ConcurrentLog.logException(e); - } - } - - file=new File(sb.getDataPath(), "DATA/SETTINGS/message.db"); if(file.exists()){ ConcurrentLog.info("MIGRATION", "Migrating message.db to "+ sb.workPath); diff --git a/source/net/yacy/peers/NewsPool.java b/source/net/yacy/peers/NewsPool.java index 9fdfdb8cc..4eaa947ed 100644 --- a/source/net/yacy/peers/NewsPool.java +++ b/source/net/yacy/peers/NewsPool.java @@ -182,42 +182,6 @@ public class NewsPool { */
public static final String CATEGORY_SURFTIPP_VOTE_ADD = "stippavt";
- /* ------------------------------------------------------------------------
- * WIKI related CATEGORIES
- * ------------------------------------------------------------------------ */
- /**
- * a wiki page was updated
- */
- public static final String CATEGORY_WIKI_UPDATE = "wiki_upd";
- /**
- * a wiki page das deleted
- */
- private static final String CATEGORY_WIKI_DEL = "wiki_del";
-
- /* ------------------------------------------------------------------------
- * BLOG related CATEGORIES
- * ------------------------------------------------------------------------ */
- /**
- * a blog entry was added
- */
- public static final String CATEGORY_BLOG_ADD = "blog_add";
- /**
- * a blog page das deleted
- */
- private static final String CATEGORY_BLOG_DEL = "blog_del";
-
- /* ------------------------------------------------------------------------
- * TRANSLATION related CATEGORIES
- * ------------------------------------------------------------------------ */
- /**
- * a translation was added
- */
- public static final String CATEGORY_TRANSLATION_ADD = "transadd";
- /**
- * a vote on a translation
- */
- public static final String CATEGORY_TRANSLATION_VOTE_ADD = "transavt";
-
/* ========================================================================
* ARRAY of valid CATEGORIES
* ======================================================================== */
@@ -253,20 +217,8 @@ public class NewsPool { CATEGORY_BOOKMARK_VOTE_DEL,
// SURFTIPP related CATEGORIES
- CATEGORY_SURFTIPP_ADD,
- CATEGORY_SURFTIPP_VOTE_ADD,
-
- // WIKI related CATEGORIE
- CATEGORY_WIKI_UPDATE,
- CATEGORY_WIKI_DEL,
-
- // BLOG related CATEGORIES
- CATEGORY_BLOG_ADD,
- CATEGORY_BLOG_DEL,
-
- // TRANSLATION related CATEGORIES
- CATEGORY_TRANSLATION_ADD,
- CATEGORY_TRANSLATION_VOTE_ADD
+ CATEGORY_SURFTIPP_ADD, + CATEGORY_SURFTIPP_VOTE_ADD };
private static final Set<String> categories = new HashSet<String>();
static {
@@ -447,9 +399,7 @@ public class NewsPool { String cat = record.category();
switch (cat) {
- case CATEGORY_WIKI_UPDATE:
- case CATEGORY_BLOG_ADD:
- case CATEGORY_PROFILE_UPDATE:
+ case CATEGORY_PROFILE_UPDATE: if (duration > (3L * MILLISECONDS_PER_DAY)) {
return true;
}
@@ -465,12 +415,6 @@ public class NewsPool { }
}
break;
- case CATEGORY_TRANSLATION_ADD:
- case CATEGORY_TRANSLATION_VOTE_ADD:
- if (duration > (7L * MILLISECONDS_PER_DAY)) {
- return true;
- }
- break;
default:
if (duration > MILLISECONDS_PER_DAY) {
// remove everything else after 1 day
diff --git a/source/net/yacy/search/SearchAccessRateConstants.java b/source/net/yacy/search/SearchAccessRateConstants.java index 7b55a54dd..91e825bc6 100644 --- a/source/net/yacy/search/SearchAccessRateConstants.java +++ b/source/net/yacy/search/SearchAccessRateConstants.java @@ -31,88 +31,79 @@ public enum SearchAccessRateConstants { /** * Configuration for the maximum number of accesses within three seconds to the - * search interface for unauthenticated users and authenticated users with no - * extended search right + * search interface for unauthenticated users */ PUBLIC_MAX_ACCESS_3S("search.public.max.access.3s", 60), /** * Configuration for the maximum number of accesses within one minute to the - * search interface for unauthenticated users and authenticated users with no - * extended search right + * search interface for unauthenticated users */ PUBLIC_MAX_ACCESS_1MN("search.public.max.access.1mn", 600), /** * Configuration for the maximum number of accesses within ten minutes to the - * search interface for unauthenticated users and authenticated users with no - * extended search right + * search interface for unauthenticated users */ PUBLIC_MAX_ACCESS_10MN("search.public.max.access.10mn", 3000), /** * Configuration for the maximum number of accesses within three seconds to the - * search interface in P2P mode for unauthenticated users and authenticated - * users with no extended search right + * search interface in P2P mode for unauthenticated users */ PUBLIC_MAX_P2P_ACCESS_3S("search.public.max.p2p.access.3s", 1), /** * Configuration for the maximum number of accesses within one minute to the - * search interface in P2P mode for unauthenticated users and authenticated - * users with no extended search right + * search interface in P2P mode for unauthenticated users */ PUBLIC_MAX_P2P_ACCESS_1MN("search.public.max.p2p.access.1mn", 6), /** * Configuration for the maximum number of accesses within ten minutes to the - * search interface in P2P mode for unauthenticated users and authenticated - * users with no extended search right + * search interface in P2P mode for unauthenticated users */ PUBLIC_MAX_P2P_ACCESS_10MN("search.public.max.p2p.access.10mn", 60), /** * Configuration for the maximum number of accesses within three seconds to the * search interface in P2P mode with browser-side JavaScript results resorting - * enabled for unauthenticated users and authenticated users with no extended - * search right + * enabled for unauthenticated users */ PUBLIC_MAX_P2P_JSRESORT_ACCESS_3S("search.public.max.p2p.jsresort.access.3s", 1), /** * Configuration for the maximum number of accesses within one minute to the * search interface in P2P mode with browser-side JavaScript results resorting - * enabled for unauthenticated users and authenticated users with no extended - * search right + * enabled for unauthenticated users */ PUBLIC_MAX_P2P_JSRESORT_ACCESS_1MN("search.public.max.p2p.jsresort.access.1mn", 1), /** * Configuration for the maximum number of accesses within ten minutes to the * search interface in P2P mode with browser-side JavaScript results resorting - * enabled for unauthenticated users and authenticated users with no extended - * search right + * enabled for unauthenticated users */ PUBLIC_MAX_P2P_JSRESORT_ACCESS_10MN("search.public.max.p2p.jsresort.access.10mn", 10), /** * Configuration for the maximum number of accesses within three seconds to the * search interface to support fetching remote results snippets for - * unauthenticated users and authenticated users with no extended search right + * unauthenticated users */ PUBLIC_MAX_REMOTE_SNIPPET_ACCESS_3S("search.public.max.remoteSnippet.access.3s", 1), /** * Configuration for the maximum number of accesses within one minute to the * search interface to support fetching remote results snippets for - * unauthenticated users and authenticated users with no extended search right + * unauthenticated users */ PUBLIC_MAX_REMOTE_SNIPPET_ACCESS_1MN("search.public.max.remoteSnippet.access.1mn", 4), /** * Configuration for the maximum number of accesses within ten minutes to the * search interface to support fetching remote results snippets mode for - * unauthenticated users and authenticated users with no extended search right + * unauthenticated users */ PUBLIC_MAX_REMOTE_SNIPPET_ACCESS_10MN("search.public.max.remoteSnippet.access.10mn", 20); diff --git a/source/net/yacy/search/Switchboard.java b/source/net/yacy/search/Switchboard.java index fb19d2a99..13fee0653 100644 --- a/source/net/yacy/search/Switchboard.java +++ b/source/net/yacy/search/Switchboard.java @@ -151,16 +151,11 @@ import net.yacy.crawler.data.ResultURLs.EventOrigin; import net.yacy.crawler.retrieval.Request; import net.yacy.crawler.retrieval.Response; import net.yacy.crawler.robots.RobotsTxt; -import net.yacy.data.BlogBoard; -import net.yacy.data.BlogBoardComments; import net.yacy.data.BookmarkHelper; import net.yacy.data.BookmarksDB; import net.yacy.data.ListManager; import net.yacy.data.MessageBoard; -import net.yacy.data.UserDB; -import net.yacy.data.UserDB.AccessRight; import net.yacy.data.WorkTables; -import net.yacy.data.wiki.WikiBoard; import net.yacy.data.wiki.WikiCode; import net.yacy.data.wiki.WikiParser; import net.yacy.document.Condenser; @@ -278,15 +273,11 @@ public final class Switchboard extends serverSwitch { public CrawlQueues crawlQueues; public CrawlStacker crawlStacker; public MessageBoard messageDB; - public WikiBoard wikiDB; - public BlogBoard blogDB; - public BlogBoardComments blogCommentDB; public RobotsTxt robots; public Map<String, Object[]> outgoingCookies, incomingCookies; public volatile long proxyLastAccess, localSearchLastAccess, remoteSearchLastAccess, adminAuthenticationLastAccess, optimizeLastRun; public Network yc; public ResourceObserver observer; - public UserDB userDB; public BookmarksDB bookmarksDB; public WebStructureGraph webStructure; public ConcurrentHashMap<String, TreeSet<Long>> localSearchTracker, remoteSearchTracker; // mappings from requesting host to a TreeSet of Long(access time) @@ -830,36 +821,6 @@ public final class Switchboard extends serverSwitch { ConcurrentLog.logException(e); } - // starting wiki - try { - this.initWiki(); - } catch (final IOException e) { - ConcurrentLog.logException(e); - } - - //starting blog - try { - this.initBlog(); - } catch (final IOException e) { - ConcurrentLog.logException(e); - } - - // init User DB - this.log.config("Loading User DB"); - final File userDbFile = new File(this.getDataPath(), "DATA/SETTINGS/user.heap"); - try { - this.userDB = new UserDB(userDbFile); - this.log.config("Loaded User DB from file " - + userDbFile.getName() - + ", " - + this.userDB.size() - + " entries" - + ", " - + ppRamString(userDbFile.length() / 1024)); - } catch (final IOException e) { - ConcurrentLog.logException(e); - } - // init html parser evaluation scheme File parserPropertiesPath = new File(appPath, "defaults/"); String[] settingsList = parserPropertiesPath.list(); @@ -996,7 +957,7 @@ public final class Switchboard extends serverSwitch { TextSnippet.statistics.setEnabled(this.getConfigBool(SwitchboardConstants.DEBUG_SNIPPETS_STATISTICS_ENABLED, SwitchboardConstants.DEBUG_SNIPPETS_STATISTICS_ENABLED_DEFAULT)); - // init the wiki + // Initialize the reusable WikiCode formatter used outside the retired local Wiki application. wikiParser = new WikiCode(); // initializing the resourceObserver @@ -1724,42 +1685,6 @@ public final class Switchboard extends serverSwitch { + ppRamString(messageDbFile.length() / 1024)); } - public void initWiki() throws IOException { - this.log.config("Starting Wiki Board"); - final File wikiDbFile = new File(this.workPath, "wiki.heap"); - this.wikiDB = new WikiBoard(wikiDbFile, new File(this.workPath, "wiki-bkp.heap")); - this.log.config("Loaded Wiki Board DB from file " - + wikiDbFile.getName() - + ", " - + this.wikiDB.size() - + " entries" - + ", " - + ppRamString(wikiDbFile.length() / 1024)); - } - - public void initBlog() throws IOException { - this.log.config("Starting Blog"); - final File blogDbFile = new File(this.workPath, "blog.heap"); - this.blogDB = new BlogBoard(blogDbFile); - this.log.config("Loaded Blog DB from file " - + blogDbFile.getName() - + ", " - + this.blogDB.size() - + " entries" - + ", " - + ppRamString(blogDbFile.length() / 1024)); - - final File blogCommentDbFile = new File(this.workPath, "blogComment.heap"); - this.blogCommentDB = new BlogBoardComments(blogCommentDbFile); - this.log.config("Loaded Blog-Comment DB from file " - + blogCommentDbFile.getName() - + ", " - + this.blogCommentDB.size() - + " entries" - + ", " - + ppRamString(blogCommentDbFile.length() / 1024)); - } - public void initBookmarks() throws IOException { this.log.config("Loading Bookmarks DB"); final File bookmarksFile = new File(this.workPath, "bookmarks.heap"); @@ -2014,10 +1939,6 @@ public final class Switchboard extends serverSwitch { this.dhtDispatcher.close(); } // de.anomic.http.client.Client.closeAllConnections(); - this.wikiDB.close(); - this.blogDB.close(); - this.blogCommentDB.close(); - this.userDB.close(); if ( this.bookmarksDB != null ) { this.bookmarksDB.close(); // may null if concurrent initialization was not finished } @@ -3978,7 +3899,7 @@ public final class Switchboard extends serverSwitch { // authorization (earlier) by servlet container with username/password // as this stays true as long as authenticated browser is open (even after restart of YaCy) add a timeout check to look at credentials again // TODO: same is true for credential checks below (at least with BASIC auth -> login should expire at least on restart - if (requestHeader.isUserInRole(UserDB.AccessRight.ADMIN_RIGHT.toString())) { + if (requestHeader.isUserInRole(SwitchboardConstants.ADMIN_ACCOUNT_ROLE)) { if (this.adminAuthenticationLastAccess + 60000 > System.currentTimeMillis()) // 1 minute return 4; // hard-authenticated, quick return } @@ -4007,11 +3928,8 @@ public final class Switchboard extends serverSwitch { } else { // handle DIGEST auth by servlet container if (requestHeader.getUserPrincipal() != null) { // user is authenticated (by Servlet container) - if (requestHeader.isUserInRole(AccessRight.ADMIN_RIGHT.toString())) { + if (requestHeader.isUserInRole(SwitchboardConstants.ADMIN_ACCOUNT_ROLE)) { // we could double check admin right (but we trust embedded container) - // String username = requestHeader.getUserPrincipal().getName(); - // if ((username.equalsIgnoreCase(sb.getConfig(SwitchboardConstants.ADMIN_ACCOUNT_USER_NAME, "admin"))) - // || (sb.userDB.getEntry(username).hasRight(AccessRight.ADMIN_RIGHT))) this.adminAuthenticationLastAccess = System.currentTimeMillis(); return 4; // has admin right } @@ -4027,12 +3945,6 @@ public final class Switchboard extends serverSwitch { return 3; // soft-authenticated for localhost } - // authorization by hit in userDB (authtype username:encodedpassword - handed over by DefaultServlet) - if ( this.userDB.hasAdminRight(requestHeader, requestHeader.getCookies()) ) { - this.adminAuthenticationLastAccess = System.currentTimeMillis(); - return 4; //return, because 4=max - } - // athorization by BASIC auth (realmValue = "adminname:password") if (adminAccountBase64MD5.startsWith("MD5:")) { // handle new option adminAccountBase64MD5="MD5:xxxxxxx" = encodeMD5Hex ("adminname:peername:password") diff --git a/source/net/yacy/search/SwitchboardConstants.java b/source/net/yacy/search/SwitchboardConstants.java index c846d88ec..8692c2759 100644 --- a/source/net/yacy/search/SwitchboardConstants.java +++ b/source/net/yacy/search/SwitchboardConstants.java @@ -56,6 +56,8 @@ public final class SwitchboardConstants { public static final String ADMIN_ACCOUNT_FOR_LOCALHOST = "adminAccountForLocalhost"; public static final String ADMIN_ACCOUNT_All_PAGES = "adminAccountAllPages"; public static final String ADMIN_REALM = "adminRealm"; + /** Servlet-container role assigned exclusively to the built-in administrator account. */ + public static final String ADMIN_ACCOUNT_ROLE = "adminRight"; // server settings public static final String SERVER_PORT = "port"; // port for the http server @@ -488,7 +490,7 @@ public final class SwitchboardConstants { /** * <p><code>public static final String <strong>WORK_PATH</strong> = "wordPath"</code></p> * <p>Name of the setting specifying the folder beginning from the YaCy-installation's top-folder, where all - * DBs containing "work" of the user are saved. Such include bookmarks, messages, wiki, blog</p> + * DBs containing "work" of the user are saved. Such include bookmarks and messages.</p> * */ public static final String WORK_PATH = "workPath"; diff --git a/source/net/yacy/server/http/HTTPDemon.java b/source/net/yacy/server/http/HTTPDemon.java index 72631100a..c9d6e4738 100644 --- a/source/net/yacy/server/http/HTTPDemon.java +++ b/source/net/yacy/server/http/HTTPDemon.java @@ -34,8 +34,7 @@ import java.util.Date; import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequest; import net.yacy.cora.document.encoding.UTF8;
import net.yacy.cora.document.id.DigestURL;
import net.yacy.cora.protocol.HeaderFramework;
@@ -262,15 +261,7 @@ public final class HTTPDemon { !responseHeader.containsKey(HeaderFramework.CONTENT_LENGTH))
responseHeader.put(HeaderFramework.CONTENT_LENGTH, "0");
- //read custom headers
- if (responseHeader.getCookiesEntries() != null) {
- for (Cookie c : responseHeader.getCookiesEntries()) {
- //Append user properties to the main String
- //TODO: Should we check for user properites. What if they intersect properties that are already in header?
- header.append(HeaderFramework.SET_COOKIE+": "+c.getName()).append("=").append(c.getValue()).append(";\r\n");
- }
- }
- // write header
+ // write header final Iterator<String> i = responseHeader.keySet().iterator();
String key;
char tag;
diff --git a/source/net/yacy/server/http/RobotsTxtConfig.java b/source/net/yacy/server/http/RobotsTxtConfig.java index e2958b3f1..214ea5d0e 100644 --- a/source/net/yacy/server/http/RobotsTxtConfig.java +++ b/source/net/yacy/server/http/RobotsTxtConfig.java @@ -34,8 +34,6 @@ import net.yacy.server.serverSwitch; public final class RobotsTxtConfig { - public static final String WIKI = "wiki"; - public static final String BLOG = "blog"; public static final String BOOKMARKS = "bookmarks"; public static final String HOMEPAGE = "homepage"; public static final String FILESHARE = "fileshare"; @@ -51,8 +49,6 @@ public final class RobotsTxtConfig { private boolean allDisallowed = false; private boolean lockedDisallowed = true; private boolean dirsDisallowed = true; - private boolean wikiDisallowed = false; - private boolean blogDisallowed = false; private boolean fileshareDisallowed = false; private boolean homepageDisallowed = false; private boolean newsDisallowed = false; @@ -68,8 +64,6 @@ public final class RobotsTxtConfig { if (active == null) return; for (int i=0; i<active.length; i++) { if (active[i] == null) continue; - if (active[i].equals(BLOG)) { this.blogDisallowed = true; continue; } - if (active[i].equals(WIKI)) { this.wikiDisallowed = true; continue; } if (active[i].equals(BOOKMARKS)) { this.bookmarksDisallowed = true; continue; } if (active[i].equals(HOMEPAGE)) { this.homepageDisallowed = true; continue; } if (active[i].equals(FILESHARE)) { this.fileshareDisallowed = true; continue; } @@ -94,7 +88,6 @@ public final class RobotsTxtConfig { public String toString() { if (this.allDisallowed) return ALL; final StringBuilder sb = new StringBuilder(200); - if (this.blogDisallowed) sb.append(BLOG).append(","); if (this.bookmarksDisallowed) sb.append(BOOKMARKS).append(","); if (this.dirsDisallowed) sb.append(DIRS).append(","); if (this.fileshareDisallowed) sb.append(FILESHARE).append(","); @@ -104,7 +97,6 @@ public final class RobotsTxtConfig { if (this.newsDisallowed) sb.append(NEWS).append(","); if (this.statusDisallowed) sb.append(STATUS).append(","); if (this.surftipsDisallowed) sb.append(SURFTIPS).append(","); - if (this.wikiDisallowed) sb.append(WIKI).append(","); if (this.profileDisallowed) sb.append(PROFILE).append(","); return sb.toString(); } @@ -133,14 +125,6 @@ public final class RobotsTxtConfig { this.dirsDisallowed = dirsDisallowed; } - public boolean isBlogDisallowed() { - return blogDisallowed || this.allDisallowed; - } - - public void setBlogDisallowed(final boolean blogDisallowed) { - this.blogDisallowed = blogDisallowed; - } - public boolean isBookmarksDisallowed() { return bookmarksDisallowed || this.allDisallowed; } @@ -197,14 +181,6 @@ public final class RobotsTxtConfig { this.surftipsDisallowed = surftipsDisallowed; } - public boolean isWikiDisallowed() { - return wikiDisallowed || this.allDisallowed; - } - - public void setWikiDisallowed(final boolean wikiDisallowed) { - this.wikiDisallowed = wikiDisallowed; - } - public boolean isProfileDisallowed() { return profileDisallowed || this.allDisallowed; } diff --git a/source/net/yacy/server/serverObjects.java b/source/net/yacy/server/serverObjects.java index 5c48a82f8..26505f96a 100644 --- a/source/net/yacy/server/serverObjects.java +++ b/source/net/yacy/server/serverObjects.java @@ -362,7 +362,7 @@ public class serverObjects implements Serializable, Cloneable { /** * Add a String to the map. The content of the String is first parsed and interpreted as Wiki code. - * @param hostport (optional) peer host and port, added when not empty as the base of relative Wiki link URLs. + * @param hostport (optional) peer host and port, added when not empty as the base of relative media URLs. * @param key key name as String. * @param wikiCode wiki code content as String. */ @@ -381,7 +381,7 @@ public class serverObjects implements Serializable, Cloneable { /** * Add a byte array to the map. The content of the array is first parsed and interpreted as Wiki code. - * @param hostport (optional) peer host and port, added when not empty as the base of relative Wiki link URLs. + * @param hostport (optional) peer host and port, added when not empty as the base of relative media URLs. * @param key key name as String. * @param wikiCode wiki code content as byte array. */ diff --git a/source/net/yacy/visualization/ImageViewer.java b/source/net/yacy/visualization/ImageViewer.java index b73c26465..3c7e3cbc4 100644 --- a/source/net/yacy/visualization/ImageViewer.java +++ b/source/net/yacy/visualization/ImageViewer.java @@ -47,7 +47,6 @@ import net.yacy.cora.util.ConcurrentLog; import net.yacy.crawler.retrieval.StreamResponse; import net.yacy.data.InvalidURLLicenceException; import net.yacy.data.URLLicense; -import net.yacy.data.UserDB; import net.yacy.http.servlets.TemplateMissingParameterException; import net.yacy.peers.graphics.EncodedImage; import net.yacy.repository.Blacklist.BlacklistType; @@ -148,19 +147,8 @@ public class ImageViewer { * @return true when full image view is allowed for this request */ public static boolean hasFullViewingRights(final RequestHeader header, final Switchboard sb) { - boolean extendedSearchRights = false; - if(sb != null && header != null) { - final boolean adminAuthenticated = sb.verifyAuthentication(header); - if (adminAuthenticated) { - extendedSearchRights = true; - } else { - final UserDB.Entry user = sb.userDB != null ? sb.userDB.getUser(header) : null; - if (user != null) { - extendedSearchRights = user.hasRight(UserDB.AccessRight.EXTENDED_SEARCH_RIGHT); - } - } - } - return header != null && (extendedSearchRights || Domains.isLocalhost(header.getRemoteAddr())); + return header != null && ((sb != null && sb.verifyAuthentication(header)) + || Domains.isLocalhost(header.getRemoteAddr())); } /** diff --git a/test/java/net/yacy/data/wiki/WikiCodeTest.java b/test/java/net/yacy/data/wiki/WikiCodeTest.java index 8a1d69346..b221090f4 100644 --- a/test/java/net/yacy/data/wiki/WikiCodeTest.java +++ b/test/java/net/yacy/data/wiki/WikiCodeTest.java @@ -140,25 +140,24 @@ public class WikiCodeTest { * Test internal link markup processing
*/
@Test
- public void testInternalLink() {
- WikiCode wc = new WikiCode();
-
- /* Link to another wiki article */
- String result = wc.transform("http://wiki:8080", "[[article]]");
- assertTrue(result.contains("<a"));
- assertTrue(result.contains("href=\"Wiki.html?page=article\""));
-
- /* Renamed link */
- result = wc.transform("http://wiki:8080", "[[article|renamed article]]");
- assertTrue(result.contains("<a"));
- assertTrue(result.contains("href=\"Wiki.html?page=article\""));
- assertTrue(result.contains(">renamed article<"));
-
- /* Multiple links on the same line */
- result = wc.transform("http://wiki:8080", "[[article1]] [[article2]]");
- assertTrue(result.contains("<a"));
- assertTrue(result.contains("href=\"Wiki.html?page=article1\""));
- assertTrue(result.contains("href=\"Wiki.html?page=article2\""));
+ public void testRetiredInternalLinkRendersLabelOnly() { + WikiCode wc = new WikiCode(); + + /* Internal links no longer target the retired local Wiki application. */ + String result = wc.transform("http://wiki:8080", "[[article]]"); + assertFalse(result.contains("<a")); + assertTrue(result.contains("article")); + + /* Renamed link */ + result = wc.transform("http://wiki:8080", "[[article|renamed article]]"); + assertFalse(result.contains("<a")); + assertTrue(result.contains("renamed article")); + + /* Multiple links on the same line */ + result = wc.transform("http://wiki:8080", "[[article1]] [[article2]]"); + assertFalse(result.contains("<a")); + assertTrue(result.contains("article1")); + assertTrue(result.contains("article2")); }
/**
diff --git a/test/jetty-smoke-test.sh b/test/jetty-smoke-test.sh new file mode 100755 index 000000000..ab53a0d8c --- /dev/null +++ b/test/jetty-smoke-test.sh @@ -0,0 +1,146 @@ +#!/usr/bin/env sh + +# Black-box HTTP contract for the embedded web server. +# +# The checks intentionally use only externally visible behavior so the same +# script can be run before and after an embedded Jetty migration. +# +# Usage: +# test/jetty-smoke-test.sh [base-url] +# +# The default base URL is read from DATA/SETTINGS/yacy.conf when available, +# and otherwise falls back to http://127.0.0.1:8090. + +set -eu + +if ! command -v curl >/dev/null 2>&1; then + echo "curl is required to run the Jetty smoke test." >&2 + exit 2 +fi + +default_port=8090 +if [ -f DATA/SETTINGS/yacy.conf ]; then + configured_port=$(sed -n 's/^port=//p' DATA/SETTINGS/yacy.conf | head -n 1) + if [ -n "$configured_port" ]; then + default_port=$configured_port + fi +fi + +base_url=${1:-"http://127.0.0.1:$default_port"} +base_url=${base_url%/} +curl_timeout=${YACY_SMOKE_TIMEOUT:-30} + +work_dir=$(mktemp -d "${TMPDIR:-/tmp}/yacy-jetty-smoke.XXXXXX") +trap 'rm -rf "$work_dir"' EXIT HUP INT TERM + +response_headers=$work_dir/headers +response_body=$work_dir/body +checks=0 + +fail() { + echo "FAIL: $*" >&2 + if [ -s "$response_headers" ]; then + echo "Response headers:" >&2 + sed 's/^/ /' "$response_headers" >&2 + fi + if [ -s "$response_body" ]; then + echo "Response body (first 20 lines):" >&2 + sed -n '1,20{s/^/ /;p;}' "$response_body" >&2 + fi + exit 1 +} + +request() { + method=$1 + path=$2 + shift 2 + + : > "$response_headers" + : > "$response_body" + + status=$(curl --silent --show-error \ + --max-time "$curl_timeout" \ + --request "$method" \ + --dump-header "$response_headers" \ + --output "$response_body" \ + --write-out '%{http_code}' \ + "$@" \ + "$base_url$path") || fail "$method $path could not be requested" + + [ "$status" = "200" ] || fail "$method $path returned HTTP $status" +} + +assert_header_contains() { + header_name=$1 + expected=$2 + actual=$(tr -d '\r' < "$response_headers" | awk -F ': *' -v name="$header_name" ' + tolower($1) == tolower(name) { + value = $0 + sub(/^[^:]*:[[:space:]]*/, "", value) + print value + } + ' | tail -n 1) + + printf '%s' "$actual" | grep -F "$expected" >/dev/null 2>&1 || \ + fail "header $header_name does not contain '$expected' (actual: '$actual')" +} + +assert_body_contains() { + expected=$1 + grep -F "$expected" "$response_body" >/dev/null 2>&1 || \ + fail "response body does not contain '$expected'" +} + +pass() { + checks=$((checks + 1)) + echo "ok $checks - $1" +} + +echo "YaCy embedded-server smoke test: $base_url" + +# Wait briefly for a peer that has just been started by an external harness. +attempt=0 +while [ "$attempt" -lt 30 ]; do + if curl --silent --fail --max-time 2 "$base_url/api/version.xml" >/dev/null 2>&1; then + break + fi + attempt=$((attempt + 1)) + sleep 1 +done +[ "$attempt" -lt 30 ] || fail "YaCy did not become ready within 30 seconds" + +request GET /api/version.xml +assert_header_contains Content-Type text/xml +assert_body_contains '<version>' +assert_body_contains '<buildVersion>' +pass "reflection-backed XML endpoint" + +request GET /env/grafics/YaCyLogo2012.svg +assert_header_contains Content-Type image/svg+xml +assert_body_contains '<svg' +pass "static resource" + +request GET /index.html +assert_header_contains Content-Type text/html +assert_body_contains '<!DOCTYPE html>' +assert_body_contains '<html' +pass "rendered HTML template" + +request GET '/suggest.json?q=jetty-smoke' +assert_header_contains Content-Type application/json +assert_header_contains Access-Control-Allow-Origin '*' +assert_body_contains '["jetty-smoke",[' +pass "reflection-backed JSON endpoint and CORS header" + +request POST /api/version.xml \ + --header 'Content-Type: application/x-www-form-urlencoded' \ + --data 'smoke=post' +assert_header_contains Content-Type text/xml +assert_body_contains '<version>' +pass "URL-encoded POST dispatch" + +request OPTIONS /api/version.xml +assert_header_contains Allow 'GET,HEAD,POST,OPTIONS' +pass "OPTIONS method contract" + +echo "PASS: $checks embedded-server checks succeeded." |
