summaryrefslogtreecommitdiff
path: root/inc
diff options
context:
space:
mode:
authorlupo49 <post@lupo49.de>2011-11-12 16:22:44 +0100
committerlupo49 <post@lupo49.de>2011-11-12 16:22:44 +0100
commitfe9851b94f1bfe4014cf48043b4609def611a3ee (patch)
tree2362c48e0526f2254bb80a70db107b3032736a80 /inc
parent1614eb9180008daaf518e6271b82222219efc008 (diff)
parent2c961e6163b23ef3f1d93b1b0c23b214f3aeb358 (diff)
downloadrpg-fe9851b94f1bfe4014cf48043b4609def611a3ee.tar.gz
rpg-fe9851b94f1bfe4014cf48043b4609def611a3ee.tar.bz2
Merge remote branch 'upstream/master'
Diffstat (limited to 'inc')
-rw-r--r--inc/FeedParser.php4
-rw-r--r--inc/JpegMeta.php2
-rw-r--r--inc/PassHash.class.php17
-rw-r--r--inc/SimplePie.php570
-rw-r--r--inc/actions.php6
-rw-r--r--inc/auth/ad.class.php12
-rw-r--r--inc/changelog.php21
-rw-r--r--inc/common.php26
-rw-r--r--inc/config_cascade.php5
-rw-r--r--inc/html.php196
-rw-r--r--inc/infoutils.php8
-rw-r--r--inc/lang/ar/lang.php1
-rw-r--r--inc/lang/az/lang.php3
-rw-r--r--inc/lang/bg/lang.php53
-rw-r--r--inc/lang/ca-valencia/lang.php3
-rw-r--r--inc/lang/ca/lang.php3
-rw-r--r--inc/lang/cs/lang.php1
-rw-r--r--inc/lang/da/lang.php1
-rw-r--r--inc/lang/de-informal/lang.php52
-rw-r--r--inc/lang/de-informal/uploadmail.txt17
-rw-r--r--inc/lang/de/lang.php53
-rw-r--r--inc/lang/de/uploadmail.txt17
-rw-r--r--inc/lang/el/lang.php46
-rw-r--r--inc/lang/en/lang.php694
-rw-r--r--inc/lang/en/uploadmail.txt18
-rw-r--r--inc/lang/eo/conflict.txt2
-rw-r--r--inc/lang/eo/edit.txt2
-rw-r--r--inc/lang/eo/index.txt2
-rw-r--r--inc/lang/eo/install.html12
-rw-r--r--inc/lang/eo/lang.php106
-rw-r--r--inc/lang/eo/newpage.txt2
-rw-r--r--inc/lang/eo/norev.txt2
-rw-r--r--inc/lang/eo/password.txt4
-rw-r--r--inc/lang/eo/registermail.txt2
-rw-r--r--inc/lang/eo/stopwords.txt9
-rw-r--r--inc/lang/eo/subscr_single.txt4
-rw-r--r--inc/lang/es/lang.php48
-rw-r--r--inc/lang/et/lang.php1
-rw-r--r--inc/lang/eu/lang.php1
-rw-r--r--inc/lang/fa/lang.php3
-rw-r--r--inc/lang/fi/lang.php43
-rw-r--r--inc/lang/fr/lang.php53
-rw-r--r--inc/lang/gl/lang.php1
-rw-r--r--inc/lang/he/lang.php1
-rw-r--r--inc/lang/hr/lang.php1
-rw-r--r--inc/lang/hu/lang.php1
-rw-r--r--inc/lang/ia/lang.php1
-rw-r--r--inc/lang/is/lang.php2
-rw-r--r--inc/lang/it/lang.php1
-rw-r--r--inc/lang/ja/lang.php1
-rw-r--r--inc/lang/ko/lang.php1
-rw-r--r--inc/lang/la/lang.php1
-rw-r--r--inc/lang/lt/lang.php3
-rw-r--r--inc/lang/lv/lang.php46
-rw-r--r--inc/lang/mk/lang.php1
-rw-r--r--inc/lang/mr/lang.php3
-rw-r--r--inc/lang/ne/lang.php3
-rw-r--r--inc/lang/nl/lang.php39
-rw-r--r--inc/lang/no/adminplugins.txt2
-rw-r--r--inc/lang/no/conflict.txt2
-rw-r--r--inc/lang/no/lang.php63
-rw-r--r--inc/lang/no/newpage.txt2
-rw-r--r--inc/lang/no/norev.txt4
-rw-r--r--inc/lang/no/registermail.txt2
-rw-r--r--inc/lang/no/stopwords.txt182
-rw-r--r--inc/lang/no/subscr_digest.txt20
-rw-r--r--inc/lang/no/subscr_form.txt3
-rw-r--r--inc/lang/no/subscr_list.txt17
-rw-r--r--inc/lang/no/subscr_single.txt23
-rw-r--r--inc/lang/no/updateprofile.txt2
-rw-r--r--inc/lang/no/uploadmail.txt1
-rw-r--r--inc/lang/pl/lang.php1
-rw-r--r--inc/lang/pt-br/lang.php4
-rw-r--r--inc/lang/pt/lang.php70
-rw-r--r--inc/lang/pt/uploadmail.txt22
-rw-r--r--inc/lang/ro/lang.php50
-rw-r--r--inc/lang/ru/lang.php112
-rw-r--r--inc/lang/ru/uploadmail.txt17
-rw-r--r--inc/lang/sk/lang.php49
-rw-r--r--inc/lang/sl/lang.php1
-rw-r--r--inc/lang/sq/lang.php1
-rw-r--r--inc/lang/sr/lang.php1
-rw-r--r--inc/lang/sv/lang.php1
-rw-r--r--inc/lang/th/lang.php3
-rw-r--r--inc/lang/tr/lang.php1
-rw-r--r--inc/lang/uk/lang.php1
-rw-r--r--inc/lang/zh-tw/lang.php1
-rw-r--r--inc/lang/zh/lang.php44
-rw-r--r--inc/media.php515
-rw-r--r--inc/pageutils.php1
-rw-r--r--inc/parser/handler.php24
-rw-r--r--inc/template.php106
-rw-r--r--inc/utf8.php2
93 files changed, 2293 insertions, 1288 deletions
diff --git a/inc/FeedParser.php b/inc/FeedParser.php
index 235bed46e..e5f1fb636 100644
--- a/inc/FeedParser.php
+++ b/inc/FeedParser.php
@@ -49,13 +49,15 @@ class FeedParser_File extends SimplePie_File {
*/
function FeedParser_File($url, $timeout=10, $redirects=5,
$headers=null, $useragent=null, $force_fsockopen=false) {
- @parent::__construct();
$this->http = new DokuHTTPClient();
$this->success = $this->http->sendRequest($url);
$this->headers = $this->http->resp_headers;
$this->body = $this->http->resp_body;
$this->error = $this->http->error;
+
+ $this->method = SIMPLEPIE_FILE_SOURCE_REMOTE | SIMPLEPIE_FILE_SOURCE_FSOCKOPEN;
+
return $this->success;
}
diff --git a/inc/JpegMeta.php b/inc/JpegMeta.php
index afa70168c..5c043fb6b 100644
--- a/inc/JpegMeta.php
+++ b/inc/JpegMeta.php
@@ -1207,7 +1207,7 @@ class JpegMeta {
* @author Andreas Gohr <andi@splitbrain.org>
*/
function _parseFileInfo() {
- if (file_exists($this->_fileName)) {
+ if (file_exists($this->_fileName) && is_file($this->_fileName)) {
$this->_info['file'] = array();
$this->_info['file']['Name'] = basename($this->_fileName);
$this->_info['file']['Path'] = fullpath($this->_fileName);
diff --git a/inc/PassHash.class.php b/inc/PassHash.class.php
index 541de6752..31493c022 100644
--- a/inc/PassHash.class.php
+++ b/inc/PassHash.class.php
@@ -82,7 +82,7 @@ class PassHash {
public function gen_salt($len=32){
$salt = '';
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
- for($i=0;$i<$len,$i++;) $salt .= $chars[mt_rand(0,61)];
+ for($i=0;$i<$len;$i++) $salt .= $chars[mt_rand(0,61)];
return $salt;
}
@@ -292,17 +292,20 @@ class PassHash {
* Password hashing method 'pmd5'
*
* Uses salted MD5 hashs. Salt is 1+8 bytes long, 1st byte is the
- * iteration count.
+ * iteration count when given, for null salts $compute is used.
*
* @param string $clear - the clear text to hash
* @param string $salt - the salt to use, null for random
* @param string $magic - the hash identifier (P or H)
+ * @param int $compute - the iteration count for new passwords
* @returns string - hashed password
*/
- public function hash_pmd5($clear, $salt=null, $magic='P'){
- $this->init_salt($salt);
-
+ public function hash_pmd5($clear, $salt=null, $magic='P',$compute=8){
$itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
+ if(is_null($salt)){
+ $this->init_salt($salt);
+ $salt = $itoa64[$compute].$salt; // prefix iteration count
+ }
$iterc = $salt[0]; // pos 0 of salt is iteration count
$iter = strpos($itoa64,$iterc);
$iter = 1 << $iter;
@@ -340,8 +343,8 @@ class PassHash {
/**
* Alias for hash_pmd5
*/
- public function hash_hmd5($clear, $salt=null, $magic='H'){
- return $this->hash_pmd5($clear, $salt, $magic);
+ public function hash_hmd5($clear, $salt=null, $magic='H', $compute=8){
+ return $this->hash_pmd5($clear, $salt, $magic, $compute);
}
/**
diff --git a/inc/SimplePie.php b/inc/SimplePie.php
index d35443165..10d8141bd 100644
--- a/inc/SimplePie.php
+++ b/inc/SimplePie.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2009, Ryan Parman and Geoffrey Sneddon
+ * Copyright (c) 2004-2011, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,10 +33,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @version 1.2.1-dev
- * @copyright 2004-2009 Ryan Parman, Geoffrey Sneddon
+ * @version 1.2.1
+ * @copyright 2004-2011 Ryan Parman, Geoffrey Sneddon, Ryan McCue
* @author Ryan Parman
* @author Geoffrey Sneddon
+ * @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @link http://simplepie.org/support/ Please submit all bug reports and feature requests to the SimplePie forums
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
@@ -55,9 +56,8 @@ define('SIMPLEPIE_VERSION', '1.2.1-dev');
/**
* SimplePie Build
- * @todo Hardcode for release (there's no need to have to call SimplePie_Misc::parse_date() only every load of simplepie.inc)
*/
-define('SIMPLEPIE_BUILD', gmdate('YmdHis', SimplePie_Misc::parse_date(substr('$Date$', 7, 25)) ? SimplePie_Misc::parse_date(substr('$Date$', 7, 25)) : filemtime(__FILE__)));
+define('SIMPLEPIE_BUILD', '20111015034325');
/**
* SimplePie Website URL
@@ -3279,6 +3279,11 @@ class SimplePie_Item
{
return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
}
+ elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'description'))
+ {
+ return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML);
+ }
+
elseif (!$description_only)
{
return $this->get_content(true);
@@ -3643,7 +3648,7 @@ class SimplePie_Item
{
return $this->sanitize($this->get_date(''), SIMPLEPIE_CONSTRUCT_TEXT);
}
- elseif (($date = $this->get_date('U')) !== null)
+ elseif (($date = $this->get_date('U')) !== null && $date !== false)
{
return strftime($date_format, $date);
}
@@ -4068,16 +4073,16 @@ class SimplePie_Item
$temp = explode(':', $this->sanitize($duration_parent[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
if (sizeof($temp) > 0)
{
- (int) $seconds = array_pop($temp);
+ $seconds = (int) array_pop($temp);
}
if (sizeof($temp) > 0)
{
- (int) $minutes = array_pop($temp);
+ $minutes = (int) array_pop($temp);
$seconds += $minutes * 60;
}
if (sizeof($temp) > 0)
{
- (int) $hours = array_pop($temp);
+ $hours = (int) array_pop($temp);
$seconds += $hours * 3600;
}
unset($temp);
@@ -5056,7 +5061,7 @@ class SimplePie_Item
{
foreach ((array) $this->data['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content'] as $content)
{
- if (isset($content['attribs']['']['url']))
+ if (isset($content['attribs']['']['url']) || isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player']))
{
// Attributes
$bitrate = null;
@@ -5141,8 +5146,10 @@ class SimplePie_Item
{
$width = $this->sanitize($content['attribs']['']['width'], SIMPLEPIE_CONSTRUCT_TEXT);
}
- $url = $this->sanitize($content['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
-
+ if (isset($content['attribs']['']['url']))
+ {
+ $url = $this->sanitize($content['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+ }
// Checking the other optional media: elements. Priority: media:content, media:group, item, channel
// CAPTIONS
@@ -7731,16 +7738,17 @@ class SimplePie_File
{
$this->method = SIMPLEPIE_FILE_SOURCE_REMOTE | SIMPLEPIE_FILE_SOURCE_FSOCKOPEN;
$url_parts = parse_url($url);
+ $socket_host = $url_parts['host'];
if (isset($url_parts['scheme']) && strtolower($url_parts['scheme']) === 'https')
{
- $url_parts['host'] = "ssl://$url_parts[host]";
+ $socket_host = "ssl://$url_parts[host]";
$url_parts['port'] = 443;
}
if (!isset($url_parts['port']))
{
$url_parts['port'] = 80;
}
- $fp = @fsockopen($url_parts['host'], $url_parts['port'], $errno, $errstr, $timeout);
+ $fp = @fsockopen($socket_host, $url_parts['port'], $errno, $errstr, $timeout);
if (!$fp)
{
$this->error = 'fsockopen error: ' . $errstr;
@@ -8486,7 +8494,7 @@ class SimplePie_gzdecode
// Get the length of the extra field
$len = current(unpack('v', substr($this->compressed_data, $this->position, 2)));
- $position += 2;
+ $this->position += 2;
// Check the length of the string is still valid
$this->min_compressed_size += $len + 4;
@@ -9448,12 +9456,12 @@ class SimplePie_Misc
}
// This is first, as behaviour of this is completely predictable
- if ($input === 'Windows-1252' && $output === 'UTF-8')
+ if ($input === 'windows-1252' && $output === 'UTF-8')
{
return SimplePie_Misc::windows_1252_to_utf8($data);
}
// This is second, as behaviour of this varies only with PHP version (the middle part of this expression checks the encoding is supported).
- elseif (function_exists('mb_convert_encoding') && @mb_convert_encoding("\x80", 'UTF-16BE', $input) !== "\x00\x80" && ($return = @mb_convert_encoding($data, $output, $input)))
+ elseif (function_exists('mb_convert_encoding') && @mb_convert_encoding("\x80", 'UTF-16BE', $input) !== "\x00\x80" && in_array($input, mb_list_encodings()) && ($return = @mb_convert_encoding($data, $output, $input)))
{
return $return;
}
@@ -9469,6 +9477,17 @@ class SimplePie_Misc
}
}
+ /**
+ * Normalize an encoding name
+ *
+ * This is automatically generated by create.php
+ *
+ * To generate it, run `php create.php` on the command line, and copy the
+ * output to replace this function.
+ *
+ * @param string $charset Character set to standardise
+ * @return string Standardised name
+ */
function encoding($charset)
{
// Normalization from UTS #22
@@ -9502,7 +9521,6 @@ class SimplePie_Misc
case 'big5':
case 'csbig5':
- case 'xxbig5':
return 'Big5';
case 'big5hkscs':
@@ -9658,14 +9676,14 @@ class SimplePie_Misc
case 'isoir85':
return 'ES2';
- case 'cseucfixwidjapanese':
- case 'extendedunixcodefixedwidthforjapanese':
- return 'Extended_UNIX_Code_Fixed_Width_for_Japanese';
-
case 'cseucpkdfmtjapanese':
case 'eucjp':
case 'extendedunixcodepackedformatforjapanese':
- return 'Extended_UNIX_Code_Packed_Format_for_Japanese';
+ return 'EUC-JP';
+
+ case 'cseucfixwidjapanese':
+ case 'extendedunixcodefixedwidthforjapanese':
+ return 'Extended_UNIX_Code_Fixed_Width_for_Japanese';
case 'gb18030':
return 'GB18030';
@@ -9744,80 +9762,6 @@ class SimplePie_Misc
case 'ibmthai':
return 'IBM-Thai';
- case 'ccsid858':
- case 'cp858':
- case 'ibm858':
- case 'pcmultilingual850euro':
- return 'IBM00858';
-
- case 'ccsid924':
- case 'cp924':
- case 'ebcdiclatin9euro':
- case 'ibm924':
- return 'IBM00924';
-
- case 'ccsid1140':
- case 'cp1140':
- case 'ebcdicus37euro':
- case 'ibm1140':
- return 'IBM01140';
-
- case 'ccsid1141':
- case 'cp1141':
- case 'ebcdicde273euro':
- case 'ibm1141':
- return 'IBM01141';
-
- case 'ccsid1142':
- case 'cp1142':
- case 'ebcdicdk277euro':
- case 'ebcdicno277euro':
- case 'ibm1142':
- return 'IBM01142';
-
- case 'ccsid1143':
- case 'cp1143':
- case 'ebcdicfi278euro':
- case 'ebcdicse278euro':
- case 'ibm1143':
- return 'IBM01143';
-
- case 'ccsid1144':
- case 'cp1144':
- case 'ebcdicit280euro':
- case 'ibm1144':
- return 'IBM01144';
-
- case 'ccsid1145':
- case 'cp1145':
- case 'ebcdices284euro':
- case 'ibm1145':
- return 'IBM01145';
-
- case 'ccsid1146':
- case 'cp1146':
- case 'ebcdicgb285euro':
- case 'ibm1146':
- return 'IBM01146';
-
- case 'ccsid1147':
- case 'cp1147':
- case 'ebcdicfr297euro':
- case 'ibm1147':
- return 'IBM01147';
-
- case 'ccsid1148':
- case 'cp1148':
- case 'ebcdicinternational500euro':
- case 'ibm1148':
- return 'IBM01148';
-
- case 'ccsid1149':
- case 'cp1149':
- case 'ebcdicis871euro':
- case 'ibm1149':
- return 'IBM01149';
-
case 'cp37':
case 'csibm37':
case 'ebcdiccpca':
@@ -9965,6 +9909,12 @@ class SimplePie_Misc
case 'ibm857':
return 'IBM857';
+ case 'ccsid858':
+ case 'cp858':
+ case 'ibm858':
+ case 'pcmultilingual850euro':
+ return 'IBM00858';
+
case '860':
case 'cp860':
case 'csibm860':
@@ -10067,6 +10017,12 @@ class SimplePie_Misc
case 'ibm918':
return 'IBM918';
+ case 'ccsid924':
+ case 'cp924':
+ case 'ebcdiclatin9euro':
+ case 'ibm924':
+ return 'IBM00924';
+
case 'cp1026':
case 'csibm1026':
case 'ibm1026':
@@ -10075,6 +10031,68 @@ class SimplePie_Misc
case 'ibm1047':
return 'IBM1047';
+ case 'ccsid1140':
+ case 'cp1140':
+ case 'ebcdicus37euro':
+ case 'ibm1140':
+ return 'IBM01140';
+
+ case 'ccsid1141':
+ case 'cp1141':
+ case 'ebcdicde273euro':
+ case 'ibm1141':
+ return 'IBM01141';
+
+ case 'ccsid1142':
+ case 'cp1142':
+ case 'ebcdicdk277euro':
+ case 'ebcdicno277euro':
+ case 'ibm1142':
+ return 'IBM01142';
+
+ case 'ccsid1143':
+ case 'cp1143':
+ case 'ebcdicfi278euro':
+ case 'ebcdicse278euro':
+ case 'ibm1143':
+ return 'IBM01143';
+
+ case 'ccsid1144':
+ case 'cp1144':
+ case 'ebcdicit280euro':
+ case 'ibm1144':
+ return 'IBM01144';
+
+ case 'ccsid1145':
+ case 'cp1145':
+ case 'ebcdices284euro':
+ case 'ibm1145':
+ return 'IBM01145';
+
+ case 'ccsid1146':
+ case 'cp1146':
+ case 'ebcdicgb285euro':
+ case 'ibm1146':
+ return 'IBM01146';
+
+ case 'ccsid1147':
+ case 'cp1147':
+ case 'ebcdicfr297euro':
+ case 'ibm1147':
+ return 'IBM01147';
+
+ case 'ccsid1148':
+ case 'cp1148':
+ case 'ebcdicinternational500euro':
+ case 'ibm1148':
+ return 'IBM01148';
+
+ case 'ccsid1149':
+ case 'cp1149':
+ case 'ebcdicis871euro':
+ case 'ibm1149':
+ return 'IBM01149';
+
case 'csiso143iecp271':
case 'iecp271':
case 'isoir143':
@@ -10617,11 +10635,6 @@ class SimplePie_Misc
case 'sen850200c':
return 'SEN_850200_C';
- case 'csshiftjis':
- case 'mskanji':
- case 'shiftjis':
- return 'Shift_JIS';
-
case 'csiso102t617bit':
case 'isoir102':
case 't617bit':
@@ -10720,7 +10733,10 @@ class SimplePie_Misc
case 'viscii':
return 'VISCII';
+ case 'csshiftjis':
case 'cswindows31j':
+ case 'mskanji':
+ case 'shiftjis':
case 'windows31j':
return 'Windows-31J';
@@ -11381,6 +11397,58 @@ function embed_wmedia(width, height, link) {
}
<?php
}
+
+
+
+ /**
+ * Format debugging information
+ */
+ function debug($sp)
+ {
+ $info = 'SimplePie ' . SIMPLEPIE_VERSION . ' Build ' . SIMPLEPIE_BUILD . "\n";
+ $info .= 'PHP ' . PHP_VERSION . "\n";
+ if ($sp->error() !== null)
+ {
+ $info .= 'Error occurred: ' . $sp->error() . "\n";
+ }
+ else
+ {
+ $info .= "No error found.\n";
+ }
+ $info .= "Extensions:\n";
+ $extensions = array('pcre', 'curl', 'zlib', 'mbstring', 'iconv', 'xmlreader', 'xml');
+ foreach ($extensions as $ext)
+ {
+ if (extension_loaded($ext))
+ {
+ $info .= " $ext loaded\n";
+ switch ($ext)
+ {
+ case 'pcre':
+ $info .= ' Version ' . PCRE_VERSION . "\n";
+ break;
+ case 'curl':
+ $version = curl_version();
+ $info .= ' Version ' . $version['version'] . "\n";
+ break;
+ case 'mbstring':
+ $info .= ' Overloading: ' . mb_get_info('func_overload') . "\n";
+ break;
+ case 'iconv':
+ $info .= ' Version ' . ICONV_VERSION . "\n";
+ break;
+ case 'xml':
+ $info .= ' Version ' . LIBXML_DOTTED_VERSION . "\n";
+ break;
+ }
+ }
+ else
+ {
+ $info .= " $ext not loaded\n";
+ }
+ }
+ return $info;
+ }
}
/**
@@ -11852,14 +11920,135 @@ class SimplePie_IRI
/**
* Replace invalid character with percent encoding
*
- * @access private
* @param string $string Input string
* @param string $valid_chars Valid characters
* @param int $case Normalise case
* @return string
*/
- function replace_invalid_with_pct_encoding($string, $valid_chars, $case = SIMPLEPIE_SAME_CASE)
+ function replace_invalid_with_pct_encoding($string, $valid_chars, $case = SIMPLEPIE_SAME_CASE, $iprivate = false)
{
+ // Normalize as many pct-encoded sections as possible
+ $string = preg_replace_callback('/(?:%[A-Fa-f0-9]{2})+/', array(&$this, 'remove_iunreserved_percent_encoded'), $string);
+
+ // Replace invalid percent characters
+ $string = preg_replace('/%(?![A-Fa-f0-9]{2})/', '%25', $string);
+
+ // Add unreserved and % to $valid_chars (the latter is safe because all
+ // pct-encoded sections are now valid).
+ $valid_chars .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~%';
+
+ // Now replace any bytes that aren't allowed with their pct-encoded versions
+ $position = 0;
+ $strlen = strlen($string);
+ while (($position += strspn($string, $valid_chars, $position)) < $strlen)
+ {
+ $value = ord($string[$position]);
+
+ // Start position
+ $start = $position;
+
+ // By default we are valid
+ $valid = true;
+
+ // No one byte sequences are valid due to the while.
+ // Two byte sequence:
+ if (($value & 0xE0) === 0xC0)
+ {
+ $character = ($value & 0x1F) << 6;
+ $length = 2;
+ $remaining = 1;
+ }
+ // Three byte sequence:
+ elseif (($value & 0xF0) === 0xE0)
+ {
+ $character = ($value & 0x0F) << 12;
+ $length = 3;
+ $remaining = 2;
+ }
+ // Four byte sequence:
+ elseif (($value & 0xF8) === 0xF0)
+ {
+ $character = ($value & 0x07) << 18;
+ $length = 4;
+ $remaining = 3;
+ }
+ // Invalid byte:
+ else
+ {
+ $valid = false;
+ $length = 1;
+ $remaining = 0;
+ }
+
+ if ($remaining)
+ {
+ if ($position + $length <= $strlen)
+ {
+ for ($position++; $remaining; $position++)
+ {
+ $value = ord($string[$position]);
+
+ // Check that the byte is valid, then add it to the character:
+ if (($value & 0xC0) === 0x80)
+ {
+ $character |= ($value & 0x3F) << (--$remaining * 6);
+ }
+ // If it is invalid, count the sequence as invalid and reprocess the current byte:
+ else
+ {
+ $valid = false;
+ $position--;
+ break;
+ }
+ }
+ }
+ else
+ {
+ $position = $strlen - 1;
+ $valid = false;
+ }
+ }
+
+ // Percent encode anything invalid or not in ucschar
+ if (
+ // Invalid sequences
+ !$valid
+ // Non-shortest form sequences are invalid
+ || $length > 1 && $character <= 0x7F
+ || $length > 2 && $character <= 0x7FF
+ || $length > 3 && $character <= 0xFFFF
+ // Outside of range of ucschar codepoints
+ // Noncharacters
+ || ($character & 0xFFFE) === 0xFFFE
+ || $character >= 0xFDD0 && $character <= 0xFDEF
+ || (
+ // Everything else not in ucschar
+ $character > 0xD7FF && $character < 0xF900
+ || $character < 0xA0
+ || $character > 0xEFFFD
+ )
+ && (
+ // Everything not in iprivate, if it applies
+ !$iprivate
+ || $character < 0xE000
+ || $character > 0x10FFFD
+ )
+ )
+ {
+ // If we were a character, pretend we weren't, but rather an error.
+ if ($valid)
+ $position--;
+
+ for ($j = $start; $j <= $position; $j++)
+ {
+ $string = substr_replace($string, sprintf('%%%02X', ord($string[$j])), $j, 1);
+ $j += 2;
+ $position += 2;
+ $strlen += 2;
+ }
+ }
+ }
+
// Normalise case
if ($case & SIMPLEPIE_LOWERCASE)
{
@@ -11870,61 +12059,148 @@ class SimplePie_IRI
$string = strtoupper($string);
}
- // Store position and string length (to avoid constantly recalculating this)
- $position = 0;
- $strlen = strlen($string);
+ return $string;
+ }
- // Loop as long as we have invalid characters, advancing the position to the next invalid character
- while (($position += strspn($string, $valid_chars, $position)) < $strlen)
+ /**
+ * Callback function for preg_replace_callback.
+ *
+ * Removes sequences of percent encoded bytes that represent UTF-8
+ * encoded characters in iunreserved
+ *
+ * @access private
+ * @param array $match PCRE match
+ * @return string Replacement
+ */
+ function remove_iunreserved_percent_encoded($match)
+ {
+ // As we just have valid percent encoded sequences we can just explode
+ // and ignore the first member of the returned array (an empty string).
+ $bytes = explode('%', $match[0]);
+
+ // Initialize the new string (this is what will be returned) and that
+ // there are no bytes remaining in the current sequence (unsurprising
+ // at the first byte!).
+ $string = '';
+ $remaining = 0;
+
+ // Loop over each and every byte, and set $value to its value
+ for ($i = 1, $len = count($bytes); $i < $len; $i++)
{
- // If we have a % character
- if ($string[$position] === '%')
+ $value = hexdec($bytes[$i]);
+
+ // If we're the first byte of sequence:
+ if (!$remaining)
{
- // If we have a pct-encoded section
- if ($position + 2 < $strlen && strspn($string, '0123456789ABCDEFabcdef', $position + 1, 2) === 2)
- {
- // Get the the represented character
- $chr = chr(hexdec(substr($string, $position + 1, 2)));
+ // Start position
+ $start = $i;
- // If the character is valid, replace the pct-encoded with the actual character while normalising case
- if (strpos($valid_chars, $chr) !== false)
- {
- if ($case & SIMPLEPIE_LOWERCASE)
- {
- $chr = strtolower($chr);
- }
- elseif ($case & SIMPLEPIE_UPPERCASE)
- {
- $chr = strtoupper($chr);
- }
- $string = substr_replace($string, $chr, $position, 3);
- $strlen -= 2;
- $position++;
- }
+ // By default we are valid
+ $valid = true;
- // Otherwise just normalise the pct-encoded to uppercase
- else
+ // One byte sequence:
+ if ($value <= 0x7F)
+ {
+ $character = $value;
+ $length = 1;
+ }
+ // Two byte sequence:
+ elseif (($value & 0xE0) === 0xC0)
+ {
+ $character = ($value & 0x1F) << 6;
+ $length = 2;
+ $remaining = 1;
+ }
+ // Three byte sequence:
+ elseif (($value & 0xF0) === 0xE0)
+ {
+ $character = ($value & 0x0F) << 12;
+ $length = 3;
+ $remaining = 2;
+ }
+ // Four byte sequence:
+ elseif (($value & 0xF8) === 0xF0)
+ {
+ $character = ($value & 0x07) << 18;
+ $length = 4;
+ $remaining = 3;
+ }
+ // Invalid byte:
+ else
+ {
+ $valid = false;
+ $remaining = 0;
+ }
+ }
+ // Continuation byte:
+ else
+ {
+ // Check that the byte is valid, then add it to the character:
+ if (($value & 0xC0) === 0x80)
+ {
+ $remaining--;
+ $character |= ($value & 0x3F) << ($remaining * 6);
+ }
+ // If it is invalid, count the sequence as invalid and reprocess the current byte as the start of a sequence:
+ else
+ {
+ $valid = false;
+ $remaining = 0;
+ $i--;
+ }
+ }
+
+ // If we've reached the end of the current byte sequence, append it to Unicode::$data
+ if (!$remaining)
+ {
+ // Percent encode anything invalid or not in iunreserved
+ if (
+ // Invalid sequences
+ !$valid
+ // Non-shortest form sequences are invalid
+ || $length > 1 && $character <= 0x7F
+ || $length > 2 && $character <= 0x7FF
+ || $length > 3 && $character <= 0xFFFF
+ // Outside of range of iunreserved codepoints
+ || $character < 0x2D
+ || $character > 0xEFFFD
+ // Noncharacters
+ || ($character & 0xFFFE) === 0xFFFE
+ || $character >= 0xFDD0 && $character <= 0xFDEF
+ // Everything else not in iunreserved (this is all BMP)
+ || $character === 0x2F
+ || $character > 0x39 && $character < 0x41
+ || $character > 0x5A && $character < 0x61
+ || $character > 0x7A && $character < 0x7E
+ || $character > 0x7E && $character < 0xA0
+ || $character > 0xD7FF && $character < 0xF900
+ )
+ {
+ for ($j = $start; $j <= $i; $j++)
{
- $string = substr_replace($string, strtoupper(substr($string, $position + 1, 2)), $position + 1, 2);
- $position += 3;
+ $string .= '%' . strtoupper($bytes[$j]);
}
}
- // If we don't have a pct-encoded section, just replace the % with its own esccaped form
else
{
- $string = substr_replace($string, '%25', $position, 1);
- $strlen += 2;
- $position += 3;
+ for ($j = $start; $j <= $i; $j++)
+ {
+ $string .= chr(hexdec($bytes[$j]));
+ }
}
}
- // If we have an invalid character, change into its pct-encoded form
- else
+ }
+
+ // If we have any bytes left over they are invalid (i.e., we are
+ // mid-way through a multi-byte sequence)
+ if ($remaining)
+ {
+ for ($j = $start; $j < $len; $j++)
{
- $replacement = sprintf("%%%02X", ord($string[$position]));
- $string = str_replace($string[$position], $replacement, $string);
- $strlen = strlen($string);
+ $string .= '%' . strtoupper($bytes[$j]);
}
}
+
return $string;
}
@@ -14446,7 +14722,7 @@ class SimplePie_Parser
case constant('XMLReader::END_ELEMENT'):
if ($xml->namespaceURI !== '')
{
- $tagName = "{$xml->namespaceURI}{$this->separator}{$xml->localName}";
+ $tagName = $xml->namespaceURI . $this->separator . $xml->localName;
}
else
{
@@ -14458,7 +14734,7 @@ class SimplePie_Parser
$empty = $xml->isEmptyElement;
if ($xml->namespaceURI !== '')
{
- $tagName = "{$xml->namespaceURI}{$this->separator}{$xml->localName}";
+ $tagName = $xml->namespaceURI . $this->separator . $xml->localName;
}
else
{
@@ -14469,7 +14745,7 @@ class SimplePie_Parser
{
if ($xml->namespaceURI !== '')
{
- $attrName = "{$xml->namespaceURI}{$this->separator}{$xml->localName}";
+ $attrName = $xml->namespaceURI . $this->separator . $xml->localName;
}
else
{
diff --git a/inc/actions.php b/inc/actions.php
index 1a0ae4028..4a2e200ae 100644
--- a/inc/actions.php
+++ b/inc/actions.php
@@ -101,7 +101,7 @@ function act_dispatch(){
if(checkSecurityToken()){
$ACT = act_save($ACT);
}else{
- $ACT = 'show';
+ $ACT = 'preview';
}
}
@@ -215,7 +215,7 @@ function act_clean($act){
//disable all acl related commands if ACL is disabled
if(!$conf['useacl'] && in_array($act,array('login','logout','register','admin',
'subscribe','unsubscribe','profile','revert',
- 'resendpwd','subscribens','unsubscribens',))){
+ 'resendpwd'))){
msg('Command unavailable: '.htmlspecialchars($act),-1);
return 'show';
}
@@ -227,7 +227,7 @@ function act_clean($act){
'preview','search','show','check','index','revisions',
'diff','recent','backlink','admin','subscribe','revert',
'unsubscribe','profile','resendpwd','recover',
- 'draftdel','subscribens','unsubscribens','sitemap','media')) && substr($act,0,7) != 'export_' ) {
+ 'draftdel','sitemap','media')) && substr($act,0,7) != 'export_' ) {
msg('Command unknown: '.htmlspecialchars($act),-1);
return 'show';
}
diff --git a/inc/auth/ad.class.php b/inc/auth/ad.class.php
index 9ffd3e18b..1fddad243 100644
--- a/inc/auth/ad.class.php
+++ b/inc/auth/ad.class.php
@@ -286,11 +286,13 @@ class auth_ad extends auth_basic {
if(isset($changes['mail'])){
$adchanges['email'] = $changes['mail'];
}
- try {
- $return = $return & $this->adldap->user_modify($user,$adchanges);
- } catch (adLDAPException $e) {
- if ($this->cnf['debug']) msg('AD Auth: '.$e->getMessage(), -1);
- $return = false;
+ if(count($adchanges)){
+ try {
+ $return = $return & $this->adldap->user_modify($user,$adchanges);
+ } catch (adLDAPException $e) {
+ if ($this->cnf['debug']) msg('AD Auth: '.$e->getMessage(), -1);
+ $return = false;
+ }
}
return $return;
diff --git a/inc/changelog.php b/inc/changelog.php
index fea39f9f7..60f9b8657 100644
--- a/inc/changelog.php
+++ b/inc/changelog.php
@@ -74,7 +74,7 @@ function addLogEntry($date, $id, $type=DOKU_CHANGE_TYPE_EDIT, $summary='', $extr
'type' => str_replace($strip, '', $type),
'id' => $id,
'user' => $user,
- 'sum' => str_replace($strip, '', $summary),
+ 'sum' => utf8_substr(str_replace($strip, '', $summary),0,255),
'extra' => str_replace($strip, '', $extra)
);
@@ -131,7 +131,7 @@ function addMediaLogEntry($date, $id, $type=DOKU_CHANGE_TYPE_EDIT, $summary='',
'type' => str_replace($strip, '', $type),
'id' => $id,
'user' => $user,
- 'sum' => str_replace($strip, '', $summary),
+ 'sum' => utf8_substr(str_replace($strip, '', $summary),0,255),
'extra' => str_replace($strip, '', $extra)
);
@@ -454,8 +454,9 @@ function getRevisions($id, $first, $num, $chunk_size=8192, $media=false) {
}
$num = max($num, 0);
$chunk_size = max($chunk_size, 0);
- if ($first<0) { $first = 0; }
- else if (!$media && @file_exists(wikiFN($id)) || $media && @file_exists(mediaFN($id))) {
+ if ($first<0) {
+ $first = 0;
+ } else if (!$media && @file_exists(wikiFN($id)) || $media && @file_exists(mediaFN($id))) {
// skip current revision if the page exists
$first = max($first+1, 0);
}
@@ -476,13 +477,21 @@ function getRevisions($id, $first, $num, $chunk_size=8192, $media=false) {
$finger = max($tail-$chunk_size, 0);
while ($count<$num+$first) {
fseek($fp, $finger);
+ $nl = $finger;
if ($finger>0) {
fgets($fp); // slip the finger forward to a new line
- $finger = ftell($fp);
+ $nl = ftell($fp);
+ }
+
+ // was the chunk big enough? if not, take another bite
+ if($nl > 0 && $tail <= $nl){
+ $finger = max($finger-$chunk_size, 0);
+ continue;
+ }else{
+ $finger = $nl;
}
// read chunk
- if ($tail<=$finger) { break; }
$chunk = '';
$read_size = max($tail-$finger, 0); // found chunk size
$got = 0;
diff --git a/inc/common.php b/inc/common.php
index 56a7fb060..0c769c50d 100644
--- a/inc/common.php
+++ b/inc/common.php
@@ -56,7 +56,7 @@ function stripctl($string){
* @return string
*/
function getSecurityToken(){
- return md5(auth_cookiesalt().session_id());
+ return md5(auth_cookiesalt().session_id().$_SERVER['REMOTE_USER']);
}
/**
@@ -714,8 +714,8 @@ function checklock($id){
}
//my own lock
- $ip = io_readFile($lock);
- if( ($ip == clientIP()) || ($ip == $_SERVER['REMOTE_USER']) ){
+ list($ip,$session) = explode("\n",io_readFile($lock));
+ if($ip == $_SERVER['REMOTE_USER'] || $ip == clientIP() || $session == session_id()){
return false;
}
@@ -738,7 +738,7 @@ function lock($id){
if($_SERVER['REMOTE_USER']){
io_saveFile($lock,$_SERVER['REMOTE_USER']);
}else{
- io_saveFile($lock,clientIP());
+ io_saveFile($lock,clientIP()."\n".session_id());
}
}
@@ -751,8 +751,8 @@ function lock($id){
function unlock($id){
$lock = wikiLockFN($id);
if(@file_exists($lock)){
- $ip = io_readFile($lock);
- if( ($ip == clientIP()) || ($ip == $_SERVER['REMOTE_USER']) ){
+ list($ip,$session) = explode("\n",io_readFile($lock));
+ if($ip == $_SERVER['REMOTE_USER'] || $ip == clientIP() || $session == session_id()){
@unlink($lock);
return true;
}
@@ -980,7 +980,7 @@ function saveWikiText($id,$text,$summary,$minor=false){
$file = wikiFN($id);
$old = @filemtime($file); // from page
- $wasRemoved = empty($text);
+ $wasRemoved = (trim($text) == ''); // check for empty or whitespace only
$wasCreated = !@file_exists($file);
$wasReverted = ($REV==true);
$newRev = false;
@@ -1558,4 +1558,16 @@ function valid_input_set($param, $valid_values, $array, $exc = '') {
}
}
+function get_doku_pref($pref, $default) {
+ if (strpos($_COOKIE['DOKU_PREFS'], $pref) !== false) {
+ $parts = explode('#', $_COOKIE['DOKU_PREFS']);
+ for ($i = 0; $i < count($parts); $i+=2){
+ if ($parts[$i] == $pref) {
+ return $parts[$i+1];
+ }
+ }
+ }
+ return $default;
+}
+
//Setup VIM: ex: et ts=2 :
diff --git a/inc/config_cascade.php b/inc/config_cascade.php
index c01778e99..443114f52 100644
--- a/inc/config_cascade.php
+++ b/inc/config_cascade.php
@@ -67,7 +67,10 @@ $config_cascade = array_merge(
'plugins' => array(
'local' => array(DOKU_CONF.'plugins.local.php'),
- 'protected' => array(DOKU_CONF.'plugins.protected.php'),
+ 'protected' => array(
+ DOKU_CONF.'plugins.required.php',
+ DOKU_CONF.'plugins.protected.php',
+ ),
),
),
$config_cascade
diff --git a/inc/html.php b/inc/html.php
index 1c48d6059..1a2d7daef 100644
--- a/inc/html.php
+++ b/inc/html.php
@@ -899,45 +899,41 @@ function html_li_default($item){
*
* @author Andreas Gohr <andi@splitbrain.org>
*/
-function html_buildlist($data,$class,$func,$lifunc='html_li_default'){
+function html_buildlist($data,$class,$func,$lifunc='html_li_default',$forcewrapper=false){
if (count($data) === 0) {
return '';
}
$start_level = $data[0]['level'];
- $ret = '';
-
- if ($start_level < 2) {
- // Trigger building a wrapper ul if the first level is
- // 0 (we have a root object) or 1 (just the root content)
- --$start_level;
- }
-
$level = $start_level;
+ $ret = '';
+ $open = 0;
foreach ($data as $item){
if( $item['level'] > $level ){
//open new list
for($i=0; $i<($item['level'] - $level); $i++){
- if ($i) $ret .= "<li class=\"clear\">\n";
+ if ($i) $ret .= "<li class=\"clear\">";
$ret .= "\n<ul class=\"$class\">\n";
+ $open++;
}
+ $level = $item['level'];
+
}elseif( $item['level'] < $level ){
//close last item
$ret .= "</li>\n";
- for ($i=0; $i<($level - $item['level']); $i++){
+ while( $level > $item['level'] && $open > 0 ){
//close higher lists
$ret .= "</ul>\n</li>\n";
+ $level--;
+ $open--;
}
} elseif ($ret !== '') {
- //close last item
+ //close previous item
$ret .= "</li>\n";
}
- //remember current level
- $level = $item['level'];
-
//print item
$ret .= call_user_func($lifunc,$item);
$ret .= '<div class="li">';
@@ -947,8 +943,15 @@ function html_buildlist($data,$class,$func,$lifunc='html_li_default'){
}
//close remaining items and lists
- while(--$level >= $start_level) {
- $ret .= "</li></ul>\n";
+ $ret .= "</li>\n";
+ while($open-- > 0) {
+ $ret .= "</ul></li>\n";
+ }
+
+ if ($forcewrapper || $start_level < 2) {
+ // Trigger building a wrapper ul if the first level is
+ // 0 (we have a root object) or 1 (just the root content)
+ $ret = "\n<ul class=\"$class\">\n".$ret."</ul>\n";
}
return $ret;
@@ -982,6 +985,76 @@ function html_backlinks(){
}
}
+function html_diff_head($l_rev, $r_rev, $id = null, $media = false) {
+ global $lang;
+ if ($id === null) {
+ global $ID;
+ $id = $ID;
+ }
+ $media_or_wikiFN = $media ? 'mediaFN' : 'wikiFN';
+ $ml_or_wl = $media ? 'ml' : 'wl';
+ $l_minor = $r_minor = '';
+
+ if(!$l_rev){
+ $l_head = '&mdash;';
+ }else{
+ $l_info = getRevisionInfo($id,$l_rev,true, $media);
+ if($l_info['user']){
+ $l_user = editorinfo($l_info['user']);
+ if(auth_ismanager()) $l_user .= ' ('.$l_info['ip'].')';
+ } else {
+ $l_user = $l_info['ip'];
+ }
+ $l_user = '<span class="user">'.$l_user.'</span>';
+ $l_sum = ($l_info['sum']) ? '<span class="sum">'.hsc($l_info['sum']).'</span>' : '';
+ if ($l_info['type']===DOKU_CHANGE_TYPE_MINOR_EDIT) $l_minor = 'class="minor"';
+
+ $l_head_title = ($media) ? dformat($l_rev) : $id.' ['.dformat($l_rev).']';
+ $l_head = '<a class="wikilink1" href="'.$ml_or_wl($id,"rev=$l_rev").'">'.
+ $l_head_title.'</a>'.
+ '<br />'.$l_user.' '.$l_sum;
+ }
+
+ if($r_rev){
+ $r_info = getRevisionInfo($id,$r_rev,true, $media);
+ if($r_info['user']){
+ $r_user = editorinfo($r_info['user']);
+ if(auth_ismanager()) $r_user .= ' ('.$r_info['ip'].')';
+ } else {
+ $r_user = $r_info['ip'];
+ }
+ $r_user = '<span class="user">'.$r_user.'</span>';
+ $r_sum = ($r_info['sum']) ? '<span class="sum">'.hsc($r_info['sum']).'</span>' : '';
+ if ($r_info['type']===DOKU_CHANGE_TYPE_MINOR_EDIT) $r_minor = 'class="minor"';
+
+ $r_head_title = ($media) ? dformat($r_rev) : $id.' ['.dformat($r_rev).']';
+ $r_head = '<a class="wikilink1" href="'.$ml_or_wl($id,"rev=$r_rev").'">'.
+ $r_head_title.'</a>'.
+ '<br />'.$r_user.' '.$r_sum;
+ }elseif($_rev = @filemtime($media_or_wikiFN($id))){
+ $_info = getRevisionInfo($id,$_rev,true, $media);
+ if($_info['user']){
+ $_user = editorinfo($_info['user']);
+ if(auth_ismanager()) $_user .= ' ('.$_info['ip'].')';
+ } else {
+ $_user = $_info['ip'];
+ }
+ $_user = '<span class="user">'.$_user.'</span>';
+ $_sum = ($_info['sum']) ? '<span class="sum">'.hsc($_info['sum']).'</span>' : '';
+ if ($_info['type']===DOKU_CHANGE_TYPE_MINOR_EDIT) $r_minor = 'class="minor"';
+
+ $r_head_title = ($media) ? dformat($_rev) : $id.' ['.dformat($_rev).']';
+ $r_head = '<a class="wikilink1" href="'.$ml_or_wl($id).'">'.
+ $r_head_title.'</a> '.
+ '('.$lang['current'].')'.
+ '<br />'.$_user.' '.$_sum;
+ }else{
+ $r_head = '&mdash; ('.$lang['current'].')';
+ }
+
+ return array($l_head, $r_head, $l_minor, $r_minor);
+}
+
/**
* show diff
*
@@ -1056,59 +1129,7 @@ function html_diff($text='',$intro=true,$type=null){
}
$r_text = rawWiki($ID,$r_rev);
- if(!$l_rev){
- $l_head = '&mdash;';
- }else{
- $l_info = getRevisionInfo($ID,$l_rev,true);
- if($l_info['user']){
- $l_user = editorinfo($l_info['user']);
- if(auth_ismanager()) $l_user .= ' ('.$l_info['ip'].')';
- } else {
- $l_user = $l_info['ip'];
- }
- $l_user = '<span class="user">'.$l_user.'</span>';
- $l_sum = ($l_info['sum']) ? '<span class="sum">'.hsc($l_info['sum']).'</span>' : '';
- if ($l_info['type']===DOKU_CHANGE_TYPE_MINOR_EDIT) $l_minor = 'class="minor"';
-
- $l_head = '<a class="wikilink1" href="'.wl($ID,"rev=$l_rev").'">'.
- $ID.' ['.dformat($l_rev).']</a>'.
- '<br />'.$l_user.' '.$l_sum;
- }
-
- if($r_rev){
- $r_info = getRevisionInfo($ID,$r_rev,true);
- if($r_info['user']){
- $r_user = editorinfo($r_info['user']);
- if(auth_ismanager()) $r_user .= ' ('.$r_info['ip'].')';
- } else {
- $r_user = $r_info['ip'];
- }
- $r_user = '<span class="user">'.$r_user.'</span>';
- $r_sum = ($r_info['sum']) ? '<span class="sum">'.hsc($r_info['sum']).'</span>' : '';
- if ($r_info['type']===DOKU_CHANGE_TYPE_MINOR_EDIT) $r_minor = 'class="minor"';
-
- $r_head = '<a class="wikilink1" href="'.wl($ID,"rev=$r_rev").'">'.
- $ID.' ['.dformat($r_rev).']</a>'.
- '<br />'.$r_user.' '.$r_sum;
- }elseif($_rev = @filemtime(wikiFN($ID))){
- $_info = getRevisionInfo($ID,$_rev,true);
- if($_info['user']){
- $_user = editorinfo($_info['user']);
- if(auth_ismanager()) $_user .= ' ('.$_info['ip'].')';
- } else {
- $_user = $_info['ip'];
- }
- $_user = '<span class="user">'.$_user.'</span>';
- $_sum = ($_info['sum']) ? '<span class="sum">'.hsc($_info['sum']).'</span>' : '';
- if ($_info['type']===DOKU_CHANGE_TYPE_MINOR_EDIT) $r_minor = 'class="minor"';
-
- $r_head = '<a class="wikilink1" href="'.wl($ID).'">'.
- $ID.' ['.dformat($_rev).']</a> '.
- '('.$lang['current'].')'.
- '<br />'.$_user.' '.$_sum;
- }else{
- $r_head = '&mdash; ('.$lang['current'].')';
- }
+ list($l_head, $r_head, $l_minor, $r_minor) = html_diff_head($l_rev, $r_rev);
}
$df = new Diff(explode("\n",htmlspecialchars($l_text)),
@@ -1676,7 +1697,7 @@ function html_TOC($toc){
$out .= $lang['toc'];
$out .= '</div>'.DOKU_LF;
$out .= '<div id="toc__inside">'.DOKU_LF;
- $out .= html_buildlist($toc,'toc','html_list_toc');
+ $out .= html_buildlist($toc,'toc','html_list_toc','html_li_default',true);
$out .= '</div>'.DOKU_LF.'</div>'.DOKU_LF;
$out .= '<!-- TOC END -->'.DOKU_LF;
return $out;
@@ -1811,3 +1832,36 @@ function html_flashobject($swf,$width,$height,$params=null,$flashvars=null,$atts
return $out;
}
+function html_tabs($tabs, $current_tab = null) {
+ echo '<ul class="tabs">'.NL;
+
+ foreach($tabs as $id => $tab) {
+ html_tab($tab['href'], $tab['caption'], $id === $current_tab);
+ }
+
+ echo '</ul>'.NL;
+}
+/**
+ * Prints a single tab
+ *
+ * @author Kate Arzamastseva <pshns@ukr.net>
+ * @author Adrian Lang <mail@adrianlang.de>
+ *
+ * @param string $href - tab href
+ * @param string $caption - tab caption
+ * @param boolean $selected - is tab selected
+ */
+
+function html_tab($href, $caption, $selected=false) {
+ $tab = '<li>';
+ if ($selected) {
+ $tab .= '<strong>';
+ } else {
+ $tab .= '<a href="' . hsc($href) . '">';
+ }
+ $tab .= hsc($caption)
+ . '</' . ($selected ? 'strong' : 'a') . '>'
+ . '</li>'.NL;
+ echo $tab;
+}
+
diff --git a/inc/infoutils.php b/inc/infoutils.php
index f1deec66b..2b8486906 100644
--- a/inc/infoutils.php
+++ b/inc/infoutils.php
@@ -24,7 +24,7 @@ function checkUpdateMessages(){
$lm = @filemtime($cf);
// check if new messages needs to be fetched
- if($lm < time()-(60*60*24) || $lm < @filemtime(DOKU_INC.'doku.php')){
+ if($lm < time()-(60*60*24) || $lm < @filemtime(DOKU_INC.DOKU_SCRIPT)){
$http = new DokuHTTPClient();
$http->timeout = 8;
$data = $http->get(DOKU_MESSAGEURL.$updateVersion);
@@ -175,6 +175,12 @@ function check(){
msg('Lockdir is not writable',-1);
}
+ if(is_writable(DOKU_CONF)){
+ msg('conf directory is writable',1);
+ }else{
+ msg('conf directory is not writable',-1);
+ }
+
if($conf['authtype'] == 'plain'){
global $config_cascade;
if(is_writable($config_cascade['plainauth.users']['default'])){
diff --git a/inc/lang/ar/lang.php b/inc/lang/ar/lang.php
index ee330099b..02a62fe94 100644
--- a/inc/lang/ar/lang.php
+++ b/inc/lang/ar/lang.php
@@ -123,7 +123,6 @@ $lang['js']['nosmblinks'] = 'الروابط لمجلدات مشاركة و
$lang['js']['linkwiz'] = 'مرشد الروابط';
$lang['js']['linkto'] = 'الرابط إلى :';
$lang['js']['del_confirm'] = 'هل حقاً تريد حذف البنود المختارة؟';
-$lang['js']['mu_btn'] = 'رفع عدة ملفات في وقت واحد';
$lang['rssfailed'] = 'خطأ ما حدث أثناء جلب ملف التغذية:';
$lang['nothingfound'] = 'لا يوجد شيء';
$lang['mediaselect'] = 'ملفات الوسائط';
diff --git a/inc/lang/az/lang.php b/inc/lang/az/lang.php
index 302f24c16..13ba7b3c3 100644
--- a/inc/lang/az/lang.php
+++ b/inc/lang/az/lang.php
@@ -38,8 +38,6 @@ $lang['btn_backlink'] = 'Bura olan link-lər';
$lang['btn_backtomedia'] = 'media-fayl seçiminə qayıt';
$lang['btn_subscribe'] = 'Abunə ol (bütün dəyişiklər)';
$lang['btn_unsubscribe'] = 'Abunəlikdən çıx (bütün dəyişiklər)';
-$lang['btn_subscribens'] = 'Abunə ol (bu bölümün dəyişikləri)';
-$lang['btn_unsubscribens'] = 'Abunəlikdən çıx (bu bölümün dəyişikləri)';
$lang['btn_profile'] = 'Profil';
$lang['btn_reset'] = 'Boşalt';
$lang['btn_resendpwd'] = 'Yeni şifrəni göndər';
@@ -118,7 +116,6 @@ $lang['js']['nosmblinks'] = 'Windows-un şəbəkə qovluqlarına link ancaq
$lang['js']['linkwiz'] = 'Linklər köməkçisi';
$lang['js']['linkto'] = 'Link göstərir:';
$lang['js']['del_confirm'] = 'Siz əminsiz ki, seçilmişləri silmək istəyirsiniz?';
-$lang['js']['mu_btn'] = 'Bir neçə faylı birdən yükləmək';
$lang['mediausage'] = 'Bu fayla link yaratmaq üçün aşağıdakı sintaksisdən istifadə edin:';
$lang['mediaview'] = 'Bu faylın ilkinə bax';
$lang['mediaroot'] = 'kök';
diff --git a/inc/lang/bg/lang.php b/inc/lang/bg/lang.php
index 580f6d963..8985e20e5 100644
--- a/inc/lang/bg/lang.php
+++ b/inc/lang/bg/lang.php
@@ -37,7 +37,7 @@ $lang['btn_update'] = 'Актуализиране';
$lang['btn_delete'] = 'Изтриване';
$lang['btn_back'] = 'Назад';
$lang['btn_backlink'] = 'Обратни препратки';
-$lang['btn_backtomedia'] = 'Назад към избора на медиен файл';
+$lang['btn_backtomedia'] = 'Назад към избора на файл';
$lang['btn_subscribe'] = 'Абонаменти';
$lang['btn_profile'] = 'Профил';
$lang['btn_reset'] = 'Изчистване';
@@ -47,6 +47,8 @@ $lang['btn_recover'] = 'Възстановяване на чернов
$lang['btn_draftdel'] = 'Изтриване на чернова';
$lang['btn_revert'] = 'Възстановяване';
$lang['btn_register'] = 'Регистриране';
+$lang['btn_apply'] = 'Прилагане';
+$lang['btn_media'] = 'Диспечер на файлове';
$lang['loggedinas'] = 'Вписани сте като';
$lang['user'] = 'Потребител';
$lang['pass'] = 'Парола';
@@ -91,7 +93,7 @@ $lang['txt_filename'] = 'Качи като (незадължителн
$lang['txt_overwrt'] = 'Презапиши съществуващите файлове';
$lang['lockedby'] = 'В момента е заключена от';
$lang['lockexpire'] = 'Ще бъде отключена на';
-$lang['js']['willexpire'] = 'Страницата ще бъде отключена за редактиране след минута.\nЗа предотвратяване на конфликти, ползвайте бутона "Преглед", за рестартиране на брояча за заключване.';
+$lang['js']['willexpire'] = 'Страницата ще бъде отключена за редактиране след минута.\nЗа предотвратяване на конфликти, ползвайте бутона "Преглед", за рестартиране на брояча за заключване.';
$lang['js']['notsavedyet'] = 'Незаписаните промени ще бъдат загубени. Желаете ли да продължите?';
$lang['js']['searchmedia'] = 'Търсене на файлове';
$lang['js']['keepopen'] = 'Без затваряне на прозореца след избор';
@@ -122,11 +124,21 @@ $lang['js']['nosmblinks'] = 'Връзките към Windows shares раб
$lang['js']['linkwiz'] = 'Помощник за препратки';
$lang['js']['linkto'] = 'Препратка към: ';
$lang['js']['del_confirm'] = 'Да бъдат ли изтрити избраните елементи?';
-$lang['js']['mu_btn'] = 'Качване на няколко файла наведнъж';
+$lang['js']['restore_confirm'] = 'Наистина ли желаете да бъде възстановена тази версия?';
+$lang['js']['media_diff'] = 'Преглед на разликите:';
+$lang['js']['media_diff_both'] = 'Един до друг';
+$lang['js']['media_diff_opacity'] = 'Наслагване (и прозиране)';
+$lang['js']['media_diff_portions'] = 'По половинка';
+$lang['js']['media_select'] = 'Изберете файлове...';
+$lang['js']['media_upload_btn'] = 'Качване';
+$lang['js']['media_done_btn'] = 'Готово';
+$lang['js']['media_drop'] = 'Влачете и пуснете файливе тук, за да бъдат качени';
+$lang['js']['media_cancel'] = 'премахване';
+$lang['js']['media_overwrt'] = 'Презапиши съществуващите файлове';
$lang['rssfailed'] = 'Възникна грешка при получаването на емисията: ';
$lang['nothingfound'] = 'Нищо не е открито.';
-$lang['mediaselect'] = 'Медийни файлове';
-$lang['fileupload'] = 'Качване на медийни файлове';
+$lang['mediaselect'] = 'Файлове';
+$lang['fileupload'] = 'Качване на файлове';
$lang['uploadsucc'] = 'Качването е успешно';
$lang['uploadfail'] = 'Качването се провали. Може би поради грешни права?';
$lang['uploadwrong'] = 'Качването е отказано. Файлово разширение е забранено!';
@@ -177,6 +189,10 @@ $lang['mail_changed'] = 'променена страница: ';
$lang['mail_subscribe_list'] = 'променени страници в именно пространство: ';
$lang['mail_new_user'] = 'нов потребител: ';
$lang['mail_upload'] = 'качен файл: ';
+$lang['changes_type'] = 'Преглед на променените';
+$lang['pages_changes'] = 'Страници';
+$lang['media_changes'] = 'Файлове';
+$lang['both_changes'] = 'Страници и файлове';
$lang['qb_bold'] = 'Удебелен текст';
$lang['qb_italic'] = 'Курсив текст';
$lang['qb_underl'] = 'Подчертан текст';
@@ -217,6 +233,9 @@ $lang['img_copyr'] = 'Авторско право';
$lang['img_format'] = 'Формат';
$lang['img_camera'] = 'Фотоапарат';
$lang['img_keywords'] = 'Ключови думи';
+$lang['img_width'] = 'Ширина';
+$lang['img_height'] = 'Височина';
+$lang['img_manager'] = 'Преглед в диспечера на файлове';
$lang['subscr_subscribe_success'] = '%s е добавен към списъка с абониралите се за %s';
$lang['subscr_subscribe_error'] = 'Грешка при добавянето на %s към списъка с абониралите се за %s';
$lang['subscr_subscribe_noaddress'] = 'Добавянето ви към списъка с абонати не е възможно поради липсата на свързан адрес (на ел. поща) с профила ви.';
@@ -282,3 +301,27 @@ $lang['hours'] = 'преди %d часа';
$lang['minutes'] = 'преди %d минути';
$lang['seconds'] = 'преди %d секунди';
$lang['wordblock'] = 'Направените от вас промени не са съхранени, защото съдържат забранен текст (SPAM).';
+$lang['media_uploadtab'] = 'Качване';
+$lang['media_searchtab'] = 'Търсене';
+$lang['media_file'] = 'Файл';
+$lang['media_viewtab'] = 'Преглед';
+$lang['media_edittab'] = 'Редактиране';
+$lang['media_historytab'] = 'История';
+$lang['media_list_thumbs'] = 'Миниатюри';
+$lang['media_list_rows'] = 'Редове';
+$lang['media_sort_name'] = 'Име';
+$lang['media_sort_date'] = 'Дата';
+$lang['media_namespaces'] = 'Изберете именно пространство';
+$lang['media_files'] = 'Файлове в %s';
+$lang['media_upload'] = 'Качване в %s';
+$lang['media_search'] = 'Търсене в %s';
+$lang['media_view'] = '%s';
+$lang['media_viewold'] = '%s в %s';
+$lang['media_edit'] = 'Редактиране на %s';
+$lang['media_history'] = 'История на %s';
+$lang['media_meta_edited'] = 'редактиране на метаданните';
+$lang['media_perm_read'] = 'За съжаление нямате достатъчно права, за да можете да прочетете файла.';
+$lang['media_perm_upload'] = 'За съжаление нямате достатъчно права, за да можете да качите файла.';
+$lang['media_update'] = 'Качване на нова версия';
+$lang['media_restore'] = 'Възстановяване на тази версия';
+$lang['plugin_install_err'] = 'Неправилно инсталирана приставка. Моля, преименувайте директорията \'%s\' на \'%s\'.';
diff --git a/inc/lang/ca-valencia/lang.php b/inc/lang/ca-valencia/lang.php
index c9c15b12d..eac9fc8d1 100644
--- a/inc/lang/ca-valencia/lang.php
+++ b/inc/lang/ca-valencia/lang.php
@@ -39,8 +39,6 @@ $lang['btn_backlink'] = 'Vínculs remitents';
$lang['btn_backtomedia'] = 'Tornar a la selecció d\'archius de mijos';
$lang['btn_subscribe'] = 'Subscriure\'s a la pàgina';
$lang['btn_unsubscribe'] = 'Desubscriure\'s de la pàgina';
-$lang['btn_subscribens'] = 'Subscriure\'s a l\'espai de noms';
-$lang['btn_unsubscribens'] = 'Desubscriure\'s de l\'espai de noms';
$lang['btn_profile'] = 'Actualisar perfil';
$lang['btn_reset'] = 'Reiniciar';
$lang['btn_resendpwd'] = 'Enviar contrasenya nova';
@@ -119,7 +117,6 @@ $lang['js']['nosmblinks'] = 'Els vínculs a recursos compartits de Windows
$lang['js']['linkwiz'] = 'Assistent de vínculs';
$lang['js']['linkto'] = 'Vincular a:';
$lang['js']['del_confirm'] = '¿Realment vol borrar el(s) ítem(s) seleccionat(s)?';
-$lang['js']['mu_btn'] = 'Enviar diversos archius d\'una';
$lang['mediausage'] = 'Utilise la següent sintaxis per a referenciar est archiu:';
$lang['mediaview'] = 'Vore l\'archiu original';
$lang['mediaroot'] = 'base';
diff --git a/inc/lang/ca/lang.php b/inc/lang/ca/lang.php
index fbd1cb18a..7094df5b4 100644
--- a/inc/lang/ca/lang.php
+++ b/inc/lang/ca/lang.php
@@ -39,8 +39,6 @@ $lang['btn_backlink'] = 'Què hi enllaça';
$lang['btn_backtomedia'] = 'Torna a la selecció de fitxers';
$lang['btn_subscribe'] = 'Subscripció a canvis d\'aquesta pàgina';
$lang['btn_unsubscribe'] = 'Cancel·la subscripció a pàgina';
-$lang['btn_subscribens'] = 'Subscripció a canvis d\'aquest espai';
-$lang['btn_unsubscribens'] = 'Cancel·la subscripció a espai';
$lang['btn_profile'] = 'Actualització del perfil';
$lang['btn_reset'] = 'Reinicia';
$lang['btn_resendpwd'] = 'Envia nova contrasenya';
@@ -120,7 +118,6 @@ Si voleu podeu copiar i enganxar l\'enllaç.';
$lang['js']['linkwiz'] = 'Auxiliar d\'enllaços';
$lang['js']['linkto'] = 'Enllaça a:';
$lang['js']['del_confirm'] = 'Suprimiu aquesta entrada?';
-$lang['js']['mu_btn'] = 'Penja múltiples fitxers';
$lang['mediausage'] = 'Utilitzeu la sintaxi següent per referir-vos a aquest enllaç:';
$lang['mediaview'] = 'Mostra el fitxer original';
$lang['mediaroot'] = 'arrel';
diff --git a/inc/lang/cs/lang.php b/inc/lang/cs/lang.php
index eaefaadb5..292c2c42e 100644
--- a/inc/lang/cs/lang.php
+++ b/inc/lang/cs/lang.php
@@ -127,7 +127,6 @@ Přesto tento odkaz můžete zkopírovat a vložit jinde.';
$lang['js']['linkwiz'] = 'Průvodce odkazy';
$lang['js']['linkto'] = 'Odkaz na:';
$lang['js']['del_confirm'] = 'Vymazat tuto položku?';
-$lang['js']['mu_btn'] = 'Načíst více souborů najednou';
$lang['rssfailed'] = 'Nastala chyba při vytváření tohoto RSS: ';
$lang['nothingfound'] = 'Nic nenalezeno.';
$lang['mediaselect'] = 'Výběr dokumentu';
diff --git a/inc/lang/da/lang.php b/inc/lang/da/lang.php
index 614f2bdf2..0b6961921 100644
--- a/inc/lang/da/lang.php
+++ b/inc/lang/da/lang.php
@@ -130,7 +130,6 @@ Du kan stadig kopiere og indsætte linket.';
$lang['js']['linkwiz'] = 'guiden til henvisninger';
$lang['js']['linkto'] = 'Henvise til:';
$lang['js']['del_confirm'] = 'Slet valgte post(er)?';
-$lang['js']['mu_btn'] = 'Overføre flere filer på en gang';
$lang['rssfailed'] = 'Der opstod en fejl ved indhentning af: ';
$lang['nothingfound'] = 'Søgningen gav intet resultat.';
$lang['mediaselect'] = 'Vælg mediefil';
diff --git a/inc/lang/de-informal/lang.php b/inc/lang/de-informal/lang.php
index 16686bc4c..ec5e308ce 100644
--- a/inc/lang/de-informal/lang.php
+++ b/inc/lang/de-informal/lang.php
@@ -16,8 +16,9 @@
* @author Alexander Fischer <tbanus@os-forge.net>
* @author Juergen Schwarzer <jschwarzer@freenet.de>
* @author Marcel Metz <marcel_metz@gmx.de>
- * @author Matthias Schulte <post@lupo49.de>
+ * @author Matthias Schulte <mailinglist@lupo49.de>
* @author Christian Wichmann <nospam@zone0.de>
+ * @author Pierre Corell <info@joomla-praxis.de>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@@ -59,6 +60,8 @@ $lang['btn_recover'] = 'Entwurf wiederherstellen';
$lang['btn_draftdel'] = 'Entwurf löschen';
$lang['btn_revert'] = 'Wiederherstellen';
$lang['btn_register'] = 'Registrieren';
+$lang['btn_apply'] = 'Übernehmen';
+$lang['btn_media'] = 'Medien-Manager';
$lang['loggedinas'] = 'Angemeldet als';
$lang['user'] = 'Benutzername';
$lang['pass'] = 'Passwort';
@@ -70,7 +73,7 @@ $lang['fullname'] = 'Voller Name';
$lang['email'] = 'E-Mail';
$lang['profile'] = 'Benutzerprofil';
$lang['badlogin'] = 'Nutzername oder Passwort sind falsch.';
-$lang['minoredit'] = 'kleine Änderung';
+$lang['minoredit'] = 'Kleine Änderung';
$lang['draftdate'] = 'Entwurf gespeichert am';
$lang['nosecedit'] = 'Diese Seite wurde in der Zwischenzeit geändert, da das Sektionsinfo veraltet ist. Die ganze Seite wird stattdessen geladen.';
$lang['regmissing'] = 'Alle Felder müssen ausgefüllt werden';
@@ -103,7 +106,7 @@ $lang['txt_filename'] = 'Hochladen als (optional)';
$lang['txt_overwrt'] = 'Bestehende Datei überschreiben';
$lang['lockedby'] = 'Momentan gesperrt von';
$lang['lockexpire'] = 'Sperre läuft ab am';
-$lang['js']['willexpire'] = 'Die Sperre zur Bearbeitung dieser Seite läuft in einer Minute ab.\nUm Bearbeitungskonflikte zu vermeiden, solltest du sie durch einen Klick auf den Vorschau-Knopf verlängern.';
+$lang['js']['willexpire'] = 'Die Sperre zur Bearbeitung dieser Seite läuft in einer Minute ab.\nUm Bearbeitungskonflikte zu vermeiden, solltest du sie durch einen Klick auf den Vorschau-Knopf verlängern.';
$lang['js']['notsavedyet'] = 'Nicht gespeicherte Änderungen gehen verloren!';
$lang['js']['searchmedia'] = 'Suche nach Dateien';
$lang['js']['keepopen'] = 'Fenster nach Auswahl nicht schließen';
@@ -133,7 +136,17 @@ $lang['js']['nosmblinks'] = 'Das Verlinken von Windows-Freigaben funktionie
$lang['js']['linkwiz'] = 'Link-Assistent';
$lang['js']['linkto'] = 'Link zu:';
$lang['js']['del_confirm'] = 'Die ausgewählten Dateien wirklich löschen?';
-$lang['js']['mu_btn'] = 'Mehrere Dateien gleichzeitig hochladen';
+$lang['js']['restore_confirm'] = 'Wirkliich diese Version wieder herstellen?';
+$lang['js']['media_diff'] = 'Unterschiede anzeigen:';
+$lang['js']['media_diff_both'] = 'Seite für Seite';
+$lang['js']['media_diff_opacity'] = 'Überblenden';
+$lang['js']['media_diff_portions'] = 'Übergang';
+$lang['js']['media_select'] = 'Dateien auswählen…';
+$lang['js']['media_upload_btn'] = 'Hochladen';
+$lang['js']['media_done_btn'] = 'Fertig';
+$lang['js']['media_drop'] = 'Dateien hier draufziehen um sie hochzuladen';
+$lang['js']['media_cancel'] = 'Entfernen';
+$lang['js']['media_overwrt'] = 'Existierende Dateien überschreiben';
$lang['rssfailed'] = 'Es ist ein Fehler beim Laden des Feeds aufgetreten: ';
$lang['nothingfound'] = 'Nichts gefunden.';
$lang['mediaselect'] = 'Dateiauswahl';
@@ -188,6 +201,10 @@ $lang['mail_changed'] = 'Seite geändert:';
$lang['mail_subscribe_list'] = 'Seite hat sich im Namespace geändert:';
$lang['mail_new_user'] = 'Neuer Benutzer:';
$lang['mail_upload'] = 'Datei hochgeladen:';
+$lang['changes_type'] = 'Änderungen anzeigen von';
+$lang['pages_changes'] = 'Seiten';
+$lang['media_changes'] = 'Mediendateien';
+$lang['both_changes'] = 'Beides, Seiten- und Mediendateien';
$lang['qb_bold'] = 'Fetter Text';
$lang['qb_italic'] = 'Kursiver Text';
$lang['qb_underl'] = 'Unterstrichener Text';
@@ -228,6 +245,9 @@ $lang['img_copyr'] = 'Copyright';
$lang['img_format'] = 'Format';
$lang['img_camera'] = 'Kamera';
$lang['img_keywords'] = 'Schlagwörter';
+$lang['img_width'] = 'Breite';
+$lang['img_height'] = 'Höhe';
+$lang['img_manager'] = 'Im Medien-Manager anzeigen';
$lang['subscr_subscribe_success'] = 'Die Seite %s wurde zur Abonnementenliste von %s hinzugefügt';
$lang['subscr_subscribe_error'] = 'Fehler beim Hinzufügen von %s zur Abonnementenliste von %s';
$lang['subscr_subscribe_noaddress'] = 'In deinem Account ist keine E-Mail-Adresse hinterlegt. Dadurch kann die Seite nicht abonniert werden';
@@ -292,3 +312,27 @@ $lang['hours'] = 'vor %d Stunden';
$lang['minutes'] = 'vor %d Minuten';
$lang['seconds'] = 'vor %d Sekunden';
$lang['wordblock'] = 'Deine Bearbeitung wurde nicht gespeichert, da sie gesperrten Text enthielt (Spam).';
+$lang['media_uploadtab'] = 'Hochladen';
+$lang['media_searchtab'] = 'Suchen';
+$lang['media_file'] = 'Datei';
+$lang['media_viewtab'] = 'Anzeigen';
+$lang['media_edittab'] = 'Bearbeiten';
+$lang['media_historytab'] = 'Verlauf';
+$lang['media_list_thumbs'] = 'Medien anzeigen als Miniaturansicht';
+$lang['media_list_rows'] = 'Medien anzeigen als Listenansicht';
+$lang['media_sort_name'] = 'Sortieren nach Name';
+$lang['media_sort_date'] = 'Sortieren nach Datum';
+$lang['media_namespaces'] = 'Namensraum wählen';
+$lang['media_files'] = 'Medien im Namensraum <strong>%s</strong>.';
+$lang['media_upload'] = 'In den <strong>%s</strong> Namensraum hochladen.';
+$lang['media_search'] = 'Im Namensraum <strong>%s</strong> suchen.';
+$lang['media_view'] = '%s';
+$lang['media_viewold'] = '%s in %s';
+$lang['media_edit'] = '%s bearbeiten';
+$lang['media_history'] = 'Versionen von %s';
+$lang['media_meta_edited'] = 'Meta-Informationen bearbeitet';
+$lang['media_perm_read'] = 'Du besitzt nicht die notwendigen Berechtigungen um die Datei anzuzeigen.';
+$lang['media_perm_upload'] = 'Du besitzt nicht die notwendigen Berechtigungen um Dateien hochzuladen.';
+$lang['media_update'] = 'Neue Version hochladen';
+$lang['media_restore'] = 'Diese Version wiederherstellen';
+$lang['plugin_install_err'] = 'Plugin nicht korrekt installiert. Plugin-Verzeichnis von \'%s\' nach \'%s\' umbenennen.';
diff --git a/inc/lang/de-informal/uploadmail.txt b/inc/lang/de-informal/uploadmail.txt
index 7239cc10c..69f11400f 100644
--- a/inc/lang/de-informal/uploadmail.txt
+++ b/inc/lang/de-informal/uploadmail.txt
@@ -1,13 +1,14 @@
Eine Datei wurde in deinem Wiki hochgeladen. Hier sind die Details:
-Datei : @MEDIA@
-Datum : @DATE@
-Browser : @BROWSER@
-IP-Adresse : @IPADDRESS@
-Hostname : @HOSTNAME@
-Größe : @SIZE@
-MIME-Typ : @MIME@
-Benutzer : @USER@
+Datei : @MEDIA@
+Alte Version: @OLD@
+Datum : @DATE@
+Browser : @BROWSER@
+IP-Adresse : @IPADDRESS@
+Hostname : @HOSTNAME@
+Größe : @SIZE@
+MIME-Typ : @MIME@
+Benutzer : @USER@
--
Diese Mail wurde vom DokuWiki auf
diff --git a/inc/lang/de/lang.php b/inc/lang/de/lang.php
index 3ae06dc71..eef2f6632 100644
--- a/inc/lang/de/lang.php
+++ b/inc/lang/de/lang.php
@@ -18,6 +18,9 @@
* @author Robert Bogenschneider <robog@gmx.de>
* @author Niels Lange <niels@boldencursief.nl>
* @author Christian Wichmann <nospam@zone0.de>
+ * @author Matthias Schulte <mailinglist@lupo49.de>
+ * @author Paul Lachewsky <kaeptn.haddock@gmail.com>
+ * @author Pierre Corell <info@joomla-praxis.de>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@@ -59,6 +62,8 @@ $lang['btn_recover'] = 'Entwurf wiederherstellen';
$lang['btn_draftdel'] = 'Entwurf löschen';
$lang['btn_revert'] = 'Wiederherstellen';
$lang['btn_register'] = 'Registrieren';
+$lang['btn_apply'] = 'Übernehmen';
+$lang['btn_media'] = 'Medien-Manager';
$lang['loggedinas'] = 'Angemeldet als';
$lang['user'] = 'Benutzername';
$lang['pass'] = 'Passwort';
@@ -103,7 +108,7 @@ $lang['txt_filename'] = 'Hochladen als (optional)';
$lang['txt_overwrt'] = 'Bestehende Datei überschreiben';
$lang['lockedby'] = 'Momentan gesperrt von';
$lang['lockexpire'] = 'Sperre läuft ab am';
-$lang['js']['willexpire'] = 'Die Sperre zur Bearbeitung dieser Seite läuft in einer Minute ab.\nUm Bearbeitungskonflikte zu vermeiden, sollten Sie sie durch einen Klick auf den Vorschau-Knopf verlängern.';
+$lang['js']['willexpire'] = 'Die Sperre zur Bearbeitung dieser Seite läuft in einer Minute ab.\nUm Bearbeitungskonflikte zu vermeiden, sollten Sie sie durch einen Klick auf den Vorschau-Knopf verlängern.';
$lang['js']['notsavedyet'] = 'Nicht gespeicherte Änderungen gehen verloren!';
$lang['js']['searchmedia'] = 'Suche Dateien';
$lang['js']['keepopen'] = 'Fenster nach Auswahl nicht schließen';
@@ -129,12 +134,21 @@ $lang['js']['medialeft'] = 'Das Bild links anordnen.';
$lang['js']['mediaright'] = 'Das Bild rechts anordnen.';
$lang['js']['mediacenter'] = 'Das Bild in der Mitte anordnen.';
$lang['js']['medianoalign'] = 'Keine Anordnung benutzen.';
-$lang['js']['nosmblinks'] = 'Das Verlinken von Windows-Freigaben funktioniert nur im Microsoft Internet Explorer.
-Der Link kann jedoch durch Kopieren und Einfügen verwendet werden.';
+$lang['js']['nosmblinks'] = 'Das Verlinken von Windows-Freigaben funktioniert nur im Microsoft Internet Explorer.\nDer Link kann jedoch durch Kopieren und Einfügen verwendet werden.';
$lang['js']['linkwiz'] = 'Link-Assistent';
$lang['js']['linkto'] = 'Link nach:';
$lang['js']['del_confirm'] = 'Eintrag wirklich löschen?';
-$lang['js']['mu_btn'] = 'Mehrere Dateien gleichzeitig hochladen';
+$lang['js']['restore_confirm'] = 'Really restore this version?';
+$lang['js']['media_diff'] = 'Unterschiede anzeigen:';
+$lang['js']['media_diff_both'] = 'Side by Side';
+$lang['js']['media_diff_opacity'] = 'Überblenden';
+$lang['js']['media_diff_portions'] = 'Übergang';
+$lang['js']['media_select'] = 'Dateien auswählen…';
+$lang['js']['media_upload_btn'] = 'Hochladen';
+$lang['js']['media_done_btn'] = 'Fertig';
+$lang['js']['media_drop'] = 'Dateien hier draufziehen um sie hochzuladen';
+$lang['js']['media_cancel'] = 'Entfernen';
+$lang['js']['media_overwrt'] = 'Existierende Dateien überschreiben';
$lang['rssfailed'] = 'Es ist ein Fehler beim Laden des Feeds aufgetreten: ';
$lang['nothingfound'] = 'Nichts gefunden.';
$lang['mediaselect'] = 'Dateiauswahl';
@@ -189,6 +203,10 @@ $lang['mail_changed'] = 'Seite geändert:';
$lang['mail_subscribe_list'] = 'Geänderte Seiten im Namensraum:';
$lang['mail_new_user'] = 'Neuer Benutzer:';
$lang['mail_upload'] = 'Datei hochgeladen:';
+$lang['changes_type'] = 'Änderungen anzeigen von';
+$lang['pages_changes'] = 'Seiten';
+$lang['media_changes'] = 'Mediendateien';
+$lang['both_changes'] = 'Beides, Seiten- und Mediendateien';
$lang['qb_bold'] = 'Fetter Text';
$lang['qb_italic'] = 'Kursiver Text';
$lang['qb_underl'] = 'Unterstrichener Text';
@@ -229,6 +247,9 @@ $lang['img_copyr'] = 'Copyright';
$lang['img_format'] = 'Format';
$lang['img_camera'] = 'Kamera';
$lang['img_keywords'] = 'Schlagwörter';
+$lang['img_width'] = 'Breite';
+$lang['img_height'] = 'Höhe';
+$lang['img_manager'] = 'Im Medien-Manager anzeigen';
$lang['subscr_subscribe_success'] = '%s hat nun Änderungen der Seite %s abonniert';
$lang['subscr_subscribe_error'] = '%s kann die Änderungen der Seite %s nicht abonnieren';
$lang['subscr_subscribe_noaddress'] = 'Weil Ihre E-Mail-Adresse fehlt, können Sie das Thema nicht abonnieren';
@@ -293,3 +314,27 @@ $lang['hours'] = 'vor %d Stunden';
$lang['minutes'] = 'vor %d Minuten';
$lang['seconds'] = 'vor %d Sekunden';
$lang['wordblock'] = 'Ihre Bearbeitung wurde nicht gespeichert, da sie gesperrten Text enthielt (Spam).';
+$lang['media_uploadtab'] = 'Hochladen';
+$lang['media_searchtab'] = 'Suchen';
+$lang['media_file'] = 'Datei';
+$lang['media_viewtab'] = 'Anzeigen';
+$lang['media_edittab'] = 'Bearbeiten';
+$lang['media_historytab'] = 'Verlauf';
+$lang['media_list_thumbs'] = 'Vorschaubilder';
+$lang['media_list_rows'] = 'Reihen';
+$lang['media_sort_name'] = 'nach Name';
+$lang['media_sort_date'] = 'nach Datum';
+$lang['media_namespaces'] = 'Namensraum wählen';
+$lang['media_files'] = 'Dateien in %s';
+$lang['media_upload'] = 'In den <strong>%s</strong> Namespace hochladen.';
+$lang['media_search'] = 'Im Namespace <strong>%s</strong> suchen.';
+$lang['media_view'] = '%s';
+$lang['media_viewold'] = '%s in %s';
+$lang['media_edit'] = 'Bearbeiten';
+$lang['media_history'] = 'Versionsverlauf der Datei.';
+$lang['media_meta_edited'] = 'Meta-Informationen bearbeitet';
+$lang['media_perm_read'] = 'Sie besitzen nicht die notwendigen Berechtigungen um die Datei anzuzeigen.';
+$lang['media_perm_upload'] = 'Sie besitzen nicht die notwendigen Berechtigungen um Dateien hochzuladen.';
+$lang['media_update'] = 'Neue Version hochladen';
+$lang['media_restore'] = 'Diese Version wiederherstellen';
+$lang['plugin_install_err'] = 'Plugin nicht korrekt installiert. Plugin-Verzeichnis von \'%s\' nach \'%s\' umbenennen.';
diff --git a/inc/lang/de/uploadmail.txt b/inc/lang/de/uploadmail.txt
index 757729804..977e7561c 100644
--- a/inc/lang/de/uploadmail.txt
+++ b/inc/lang/de/uploadmail.txt
@@ -1,13 +1,14 @@
Eine Datei wurde in Ihrem Wiki hochgeladen. Hier sind die Details:
-Datei : @MEDIA@
-Datum : @DATE@
-Browser : @BROWSER@
-IP-Adresse : @IPADDRESS@
-Hostname : @HOSTNAME@
-Größe : @SIZE@
-MIME-Typ : @MIME@
-Benutzer : @USER@
+Datei : @MEDIA@
+Alte Version: @OLD@
+Datum : @DATE@
+Browser : @BROWSER@
+IP-Adresse : @IPADDRESS@
+Hostname : @HOSTNAME@
+Größe : @SIZE@
+MIME-Typ : @MIME@
+Benutzer : @USER@
--
Diese Mail kommt vom DokuWiki auf
diff --git a/inc/lang/el/lang.php b/inc/lang/el/lang.php
index 373dc5463..4c334c1de 100644
--- a/inc/lang/el/lang.php
+++ b/inc/lang/el/lang.php
@@ -7,6 +7,7 @@
* @author Αθανάσιος Νταής <homunculus@wana.gr>
* @author Konstantinos Koryllos <koryllos@gmail.com>
* @author George Petsagourakis <petsagouris@gmail.com>
+ * @author Petros Vidalis <pvidalis@gmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@@ -48,6 +49,8 @@ $lang['btn_recover'] = 'Επαναφορά αυτόματα αποθη
$lang['btn_draftdel'] = 'Διαγραφή αυτόματα αποθηκευμένης σελίδας';
$lang['btn_revert'] = 'Αποκατάσταση';
$lang['btn_register'] = 'Εγγραφή';
+$lang['btn_apply'] = 'Εφαρμογή';
+$lang['btn_media'] = 'Διαχειριστής πολυμέσων';
$lang['loggedinas'] = 'Συνδεδεμένος ως';
$lang['user'] = 'Όνομα χρήστη';
$lang['pass'] = 'Κωδικός';
@@ -92,7 +95,7 @@ $lang['txt_filename'] = 'Επιλέξτε νέο όνομα αρχεί
$lang['txt_overwrt'] = 'Αντικατάσταση υπάρχοντος αρχείου';
$lang['lockedby'] = 'Προσωρινά κλειδωμένο από';
$lang['lockexpire'] = 'Το κλείδωμα λήγει στις';
-$lang['js']['willexpire'] = 'Το κλείδωμά σας για την επεξεργασία αυτής της σελίδας θα λήξει σε ένα λεπτό.\n Για να το ανανεώσετε χρησιμοποιήστε την Προεπισκόπηση.';
+$lang['js']['willexpire'] = 'Το κλείδωμά σας για την επεξεργασία αυτής της σελίδας θα λήξει σε ένα λεπτό.\n Για να το ανανεώσετε χρησιμοποιήστε την Προεπισκόπηση.';
$lang['js']['notsavedyet'] = 'Οι μη αποθηκευμένες αλλαγές θα χαθούν.
Θέλετε να συνεχίσετε;';
$lang['js']['searchmedia'] = 'Αναζήτηση για αρχεία';
@@ -124,7 +127,17 @@ $lang['js']['nosmblinks'] = 'Οι σύνδεσμοι προς Windows share
$lang['js']['linkwiz'] = 'Αυτόματος Οδηγός Συνδέσμων';
$lang['js']['linkto'] = 'Σύνδεση σε:';
$lang['js']['del_confirm'] = 'Να διαγραφεί;';
-$lang['js']['mu_btn'] = 'Ταυτόχρονη φόρτωση πολλαπλών φακέλων';
+$lang['js']['restore_confirm'] = 'Θέλετε την επαναφορά σε αυτή την έκδοση;';
+$lang['js']['media_diff'] = 'Εμφάνιση διαφορών:';
+$lang['js']['media_diff_both'] = 'Δίπλα δίπλα';
+$lang['js']['media_diff_opacity'] = 'Επικάλυψη';
+$lang['js']['media_diff_portions'] = 'Κύλιση';
+$lang['js']['media_select'] = 'Επιλογή αρχείων...';
+$lang['js']['media_upload_btn'] = 'Φόρτωση';
+$lang['js']['media_done_btn'] = 'Ολοκλήρωση';
+$lang['js']['media_drop'] = 'Ρίξτε αρχεία εδώ για να τα φορτώσετε';
+$lang['js']['media_cancel'] = 'αφαίρεση';
+$lang['js']['media_overwrt'] = 'Αντικατάσταση υπάρχοντων αρχείων';
$lang['rssfailed'] = 'Παρουσιάστηκε κάποιο σφάλμα κατά την ανάγνωση αυτού του feed: ';
$lang['nothingfound'] = 'Δεν βρέθηκαν σχετικά αποτελέσματα.';
$lang['mediaselect'] = 'Επιλογή Αρχείων';
@@ -179,6 +192,10 @@ $lang['mail_changed'] = 'σελίδα τροποποιήθηκε:';
$lang['mail_subscribe_list'] = 'σελίδες που άλλαξαν στον φάκελο:';
$lang['mail_new_user'] = 'νέος χρήστης:';
$lang['mail_upload'] = 'αρχείο φορτώθηκε:';
+$lang['changes_type'] = 'Εμφάνιση αλλαγών του';
+$lang['pages_changes'] = 'Σελίδες';
+$lang['media_changes'] = 'Αρχεία πολυμέσων';
+$lang['both_changes'] = 'Σελίδες και αρχεία πολυμέσων';
$lang['qb_bold'] = 'Έντονο Κείμενο';
$lang['qb_italic'] = 'Πλάγιο Κείμενο';
$lang['qb_underl'] = 'Υπογραμμισμένο Κείμενο';
@@ -219,6 +236,9 @@ $lang['img_copyr'] = 'Copyright';
$lang['img_format'] = 'Format';
$lang['img_camera'] = 'Camera';
$lang['img_keywords'] = 'Λέξεις-κλειδιά';
+$lang['img_width'] = 'Πλάτος';
+$lang['img_height'] = 'Ύψος';
+$lang['img_manager'] = 'Εμφάνιση στον διαχειριστή πολυμέσων';
$lang['subscr_subscribe_success'] = 'Ο/η %s προστέθηκε στην λίστα ειδοποιήσεων για το %s';
$lang['subscr_subscribe_error'] = 'Σφάλμα κατά την προσθήκη του/της %s στην λίστα ειδοποιήσεων για το %s';
$lang['subscr_subscribe_noaddress'] = 'Δεν υπάρχει διεύθυνση ταχυδρομείου συσχετισμένη με το όνομα χρήστη σας. Κατά συνέπεια δεν μπορείτε να προστεθείτε στην λίστα ειδοποιήσεων';
@@ -283,4 +303,24 @@ $lang['days'] = 'πριν %d ημέρες';
$lang['hours'] = 'πριν %d ώρες';
$lang['minutes'] = 'πριν %d λεπτά';
$lang['seconds'] = 'πριν %d δευτερόλεπτα';
-$lang['wordblock'] = 'Η αλλαγή σας δεν αποθηκεύτηκε γιατί περιείχε spam.'; \ No newline at end of file
+$lang['wordblock'] = 'Η αλλαγή σας δεν αποθηκεύτηκε γιατί περιείχε spam.';
+$lang['media_uploadtab'] = 'Φόρτωση';
+$lang['media_searchtab'] = 'Αναζήτηση';
+$lang['media_viewtab'] = 'Εμφάνιση';
+$lang['media_edittab'] = 'Επεξεργασία';
+$lang['media_historytab'] = 'Ιστορικό';
+$lang['media_thumbsview'] = 'Προεπισκόπιση';
+$lang['media_listview'] = 'Λίστα';
+$lang['media_sort'] = 'Ταξινόμιση';
+$lang['media_sort_name'] = 'ανά όνομα';
+$lang['media_sort_date'] = 'ανά ημερομηνία';
+$lang['media_upload'] = 'Φόρτωση στο <strong>%s</strong> φάκελο.';
+$lang['media_search'] = 'Αναζήτηση στο <strong>%s</strong> φάκελο.';
+$lang['media_edit'] = 'Επεξεργασία';
+$lang['media_history'] = 'Αυτές είναι οι παλαιότερες αναθεωρήσεις του αρχείου.';
+$lang['media_meta_edited'] = 'τα μεταδεδομένα επεξεργάστηκαν';
+$lang['media_perm_read'] = 'Συγνώμη, δεν έχετε επαρκή διακαιώματα για να διαβάσετε αυτά τα αρχεία.';
+$lang['media_perm_upload'] = 'Συγνώμη, δεν έχετε επαρκή διακαιώματα για να φορτώσετε αυτά τα αρχεία.';
+$lang['media_update'] = 'Φόρτωση νέας έκδοσης';
+$lang['media_restore'] = 'Επαναφορά αυτή της έκδοσης';
+$lang['plugin_install_err'] = 'Η επέκταση δεν εγκαταστήθηκε σωστά. Μετονομασία φακέλου επεκτάσεων από \'%s\' σε \'%s\'.';
diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php
index ab6a88497..89a7c4d40 100644
--- a/inc/lang/en/lang.php
+++ b/inc/lang/en/lang.php
@@ -6,361 +6,355 @@
* @author Andreas Gohr <andi@splitbrain.org>
* @author Anika Henke <anika@selfthinker.org>
* @author Matthias Grimm <matthiasgrimm@users.sourceforge.net>
+ * @author Matthias Schulte <mailinglist@lupo49.de>
*/
-$lang['encoding'] = 'utf-8';
-$lang['direction'] = 'ltr';
-$lang['doublequoteopening'] = '“';//&ldquo;
-$lang['doublequoteclosing'] = '”';//&rdquo;
-$lang['singlequoteopening'] = '‘';//&lsquo;
-$lang['singlequoteclosing'] = '’';//&rsquo;
-$lang['apostrophe'] = '’';//&rsquo;
-
-$lang['btn_edit'] = 'Edit this page';
-$lang['btn_source'] = 'Show pagesource';
-$lang['btn_show'] = 'Show page';
-$lang['btn_create'] = 'Create this page';
-$lang['btn_search'] = 'Search';
-$lang['btn_save'] = 'Save';
-$lang['btn_preview']= 'Preview';
-$lang['btn_top'] = 'Back to top';
-$lang['btn_newer'] = '<< more recent';
-$lang['btn_older'] = 'less recent >>';
-$lang['btn_revs'] = 'Old revisions';
-$lang['btn_recent'] = 'Recent changes';
-$lang['btn_upload'] = 'Upload';
-$lang['btn_cancel'] = 'Cancel';
-$lang['btn_index'] = 'Sitemap';
-$lang['btn_secedit']= 'Edit';
-$lang['btn_login'] = 'Login';
-$lang['btn_logout'] = 'Logout';
-$lang['btn_admin'] = 'Admin';
-$lang['btn_update'] = 'Update';
-$lang['btn_delete'] = 'Delete';
-$lang['btn_back'] = 'Back';
-$lang['btn_backlink'] = "Backlinks";
-$lang['btn_backtomedia'] = 'Back to Mediafile Selection';
-$lang['btn_subscribe'] = 'Manage Subscriptions';
-$lang['btn_profile'] = 'Update Profile';
-$lang['btn_reset'] = 'Reset';
-$lang['btn_resendpwd'] = 'Send new password';
-$lang['btn_draft'] = 'Edit draft';
-$lang['btn_recover'] = 'Recover draft';
-$lang['btn_draftdel'] = 'Delete draft';
-$lang['btn_revert'] = 'Restore';
-$lang['btn_register'] = 'Register';
-$lang['btn_apply'] = 'Apply';
-$lang['btn_media'] = 'Media Manager';
-
-$lang['loggedinas'] = 'Logged in as';
-$lang['user'] = 'Username';
-$lang['pass'] = 'Password';
-$lang['newpass'] = 'New password';
-$lang['oldpass'] = 'Confirm current password';
-$lang['passchk'] = 'once again';
-$lang['remember'] = 'Remember me';
-$lang['fullname'] = 'Real name';
-$lang['email'] = 'E-Mail';
-$lang['profile'] = 'User Profile';
-$lang['badlogin'] = 'Sorry, username or password was wrong.';
-$lang['minoredit'] = 'Minor Changes';
-$lang['draftdate'] = 'Draft autosaved on'; // full dformat date will be added
-$lang['nosecedit'] = 'The page was changed in the meantime, section info was out of date loaded full page instead.';
-
-$lang['regmissing'] = 'Sorry, you must fill in all fields.';
-$lang['reguexists'] = 'Sorry, a user with this login already exists.';
-$lang['regsuccess'] = 'The user has been created and the password was sent by email.';
-$lang['regsuccess2']= 'The user has been created.';
-$lang['regmailfail']= 'Looks like there was an error on sending the password mail. Please contact the admin!';
-$lang['regbadmail'] = 'The given email address looks invalid - if you think this is an error, contact the admin';
-$lang['regbadpass'] = 'The two given passwords are not identical, please try again.';
-$lang['regpwmail'] = 'Your DokuWiki password';
-$lang['reghere'] = 'You don\'t have an account yet? Just get one';
-
-$lang['profna'] = 'This wiki does not support profile modification';
-$lang['profnochange'] = 'No changes, nothing to do.';
-$lang['profnoempty'] = 'An empty name or email address is not allowed.';
-$lang['profchanged'] = 'User profile successfully updated.';
-
-$lang['pwdforget'] = 'Forgotten your password? Get a new one';
-$lang['resendna'] = 'This wiki does not support password resending.';
-$lang['resendpwd'] = 'Send new password for';
-$lang['resendpwdmissing'] = 'Sorry, you must fill in all fields.';
-$lang['resendpwdnouser'] = 'Sorry, we can\'t find this user in our database.';
-$lang['resendpwdbadauth'] = 'Sorry, this auth code is not valid. Make sure you used the complete confirmation link.';
-$lang['resendpwdconfirm'] = 'A confirmation link has been sent by email.';
-$lang['resendpwdsuccess'] = 'Your new password has been sent by email.';
-
-$lang['license'] = 'Except where otherwise noted, content on this wiki is licensed under the following license:';
-$lang['licenseok'] = 'Note: By editing this page you agree to license your content under the following license:';
-
-$lang['searchmedia'] = 'Search file name:';
-$lang['searchmedia_in'] = 'Search in %s';
-$lang['txt_upload'] = 'Select file to upload';
-$lang['txt_filename'] = 'Upload as (optional)';
-$lang['txt_overwrt'] = 'Overwrite existing file';
-$lang['lockedby'] = 'Currently locked by';
-$lang['lockexpire'] = 'Lock expires at';
-$lang['js']['willexpire'] = 'Your lock for editing this page is about to expire in a minute.\nTo avoid conflicts use the preview button to reset the locktimer.';
-
-$lang['js']['notsavedyet'] = "Unsaved changes will be lost.";
-$lang['rssfailed'] = 'An error occurred while fetching this feed: ';
-$lang['nothingfound']= 'Nothing was found.';
-
-$lang['mediaselect'] = 'Media Files';
-$lang['fileupload'] = 'Media File Upload';
-$lang['uploadsucc'] = 'Upload successful';
-$lang['uploadfail'] = 'Upload failed. Maybe wrong permissions?';
-$lang['uploadwrong'] = 'Upload denied. This file extension is forbidden!';
-$lang['uploadexist'] = 'File already exists. Nothing done.';
-$lang['uploadbadcontent'] = 'The uploaded content did not match the %s file extension.';
-$lang['uploadspam'] = 'The upload was blocked by the spam blacklist.';
-$lang['uploadxss'] = 'The upload was blocked for possibly malicious content.';
-$lang['uploadsize'] = 'The uploaded file was too big. (max. %s)';
-$lang['deletesucc'] = 'The file "%s" has been deleted.';
-$lang['deletefail'] = '"%s" couldn\'t be deleted - check permissions.';
-$lang['mediainuse'] = 'The file "%s" hasn\'t been deleted - it is still in use.';
-$lang['namespaces'] = 'Namespaces';
-$lang['mediafiles'] = 'Available files in';
-$lang['accessdenied'] = 'You are not allowed to view this page.';
-
-$lang['js']['searchmedia'] = 'Search for files';
-$lang['js']['keepopen'] = 'Keep window open on selection';
-$lang['js']['hidedetails'] = 'Hide Details';
-$lang['mediausage'] = 'Use the following syntax to reference this file:';
-$lang['mediaview'] = 'View original file';
-$lang['mediaroot'] = 'root';
-$lang['mediaupload'] = 'Upload a file to the current namespace here. To create subnamespaces, prepend them to your "Upload as" filename separated by colons. Files also can be selected by drag and drop.';
-$lang['mediaextchange'] = 'Filextension changed from .%s to .%s!';
-
-$lang['js']['mediatitle'] = 'Link settings';
-$lang['js']['mediadisplay'] = 'Link type';
-$lang['js']['mediaalign'] = 'Alignment';
-$lang['js']['mediasize'] = 'Image size';
-$lang['js']['mediatarget'] = 'Link target';
-$lang['js']['mediaclose'] = 'Close';
-$lang['js']['mediainsert'] = 'Insert';
-$lang['js']['mediadisplayimg'] = 'Show the image.';
-$lang['js']['mediadisplaylnk'] = 'Show only the link.';
-$lang['js']['mediasmall'] = 'Small version';
-$lang['js']['mediamedium'] = 'Medium version';
-$lang['js']['medialarge'] = 'Large version';
-$lang['js']['mediaoriginal'] = 'Original version';
-$lang['js']['medialnk'] = 'Link to detail page';
-$lang['js']['mediadirect'] = 'Direct link to original';
-$lang['js']['medianolnk'] = 'No link';
-$lang['js']['medianolink'] = 'Do not link the image';
-$lang['js']['medialeft'] = 'Align the image on the left.';
-$lang['js']['mediaright'] = 'Align the image on the right.';
-$lang['js']['mediacenter'] = 'Align the image in the middle.';
-$lang['js']['medianoalign'] = 'Use no align.';
-
-$lang['reference'] = 'References for';
-$lang['ref_inuse'] = 'The file can\'t be deleted, because it\'s still used by the following pages:';
-$lang['ref_hidden'] = 'Some references are on pages you don\'t have permission to read';
-
-$lang['hits'] = 'Hits';
-$lang['quickhits'] = 'Matching pagenames';
-$lang['toc'] = 'Table of Contents';
-$lang['current'] = 'current';
-$lang['yours'] = 'Your Version';
-$lang['diff'] = 'Show differences to current revisions';
-$lang['diff2'] = 'Show differences between selected revisions';
-$lang['difflink'] = 'Link to this comparison view';
-$lang['diff_type'] = 'View differences:';
-$lang['diff_inline']= 'Inline';
-$lang['diff_side'] = 'Side by Side';
-$lang['line'] = 'Line';
-$lang['breadcrumb'] = 'Trace';
-$lang['youarehere'] = 'You are here';
-$lang['lastmod'] = 'Last modified';
-$lang['by'] = 'by';
-$lang['deleted'] = 'removed';
-$lang['created'] = 'created';
-$lang['restored'] = 'old revision restored';
-$lang['external_edit'] = 'external edit';
-$lang['summary'] = 'Edit summary';
-$lang['noflash'] = 'The <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> is needed to display this content.';
-$lang['download'] = 'Download Snippet';
-
-$lang['changes_type'] = 'View changes of';
-$lang['pages_changes'] = 'Pages';
-$lang['media_changes'] = 'Media files';
-$lang['both_changes'] = 'Both pages and media files';
-
-$lang['mail_newpage'] = 'page added:';
-$lang['mail_changed'] = 'page changed:';
-$lang['mail_subscribe_list'] = 'pages changed in namespace:';
-$lang['mail_new_user'] = 'new user:';
-$lang['mail_upload'] = 'file uploaded:';
-
-$lang['js']['nosmblinks'] = "Linking to Windows shares only works in Microsoft Internet Explorer.\nYou still can copy and paste the link.";
-
-$lang['qb_bold'] = 'Bold Text';
-$lang['qb_italic'] = 'Italic Text';
-$lang['qb_underl'] = 'Underlined Text';
-$lang['qb_code'] = 'Code Text';
-$lang['qb_strike'] = 'Strike-through Text';
-$lang['qb_h1'] = 'Level 1 Headline';
-$lang['qb_h2'] = 'Level 2 Headline';
-$lang['qb_h3'] = 'Level 3 Headline';
-$lang['qb_h4'] = 'Level 4 Headline';
-$lang['qb_h5'] = 'Level 5 Headline';
-
-$lang['qb_h'] = 'Headline';
-$lang['qb_hs'] = 'Select Headline';
-$lang['qb_hplus'] = 'Higher Headline';
-$lang['qb_hminus'] = 'Lower Headline';
-$lang['qb_hequal'] = 'Same Level Headline';
-
-$lang['qb_link'] = 'Internal Link';
-$lang['qb_extlink'] = 'External Link';
-$lang['qb_hr'] = 'Horizontal Rule';
-$lang['qb_ol'] = 'Ordered List Item';
-$lang['qb_ul'] = 'Unordered List Item';
-$lang['qb_media'] = 'Add Images and other files';
-$lang['qb_sig'] = 'Insert Signature';
-$lang['qb_smileys'] = 'Smileys';
-$lang['qb_chars'] = 'Special Chars';
-
-$lang['upperns'] = 'jump to parent namespace';
-$lang['js']['linkwiz'] = 'Link Wizard';
-$lang['js']['linkto'] = 'Link to:';
-
-$lang['js']['del_confirm']= 'Really delete selected item(s)?';
-$lang['js']['restore_confirm']= 'Really restore this version?';
-$lang['admin_register']= 'Add new user';
-
-$lang['metaedit'] = 'Edit Metadata';
-$lang['metasaveerr'] = 'Writing metadata failed';
-$lang['metasaveok'] = 'Metadata saved';
-$lang['img_backto'] = 'Back to';
-$lang['img_title'] = 'Title';
-$lang['img_caption'] = 'Caption';
-$lang['img_date'] = 'Date';
-$lang['img_fname'] = 'Filename';
-$lang['img_fsize'] = 'Size';
-$lang['img_artist'] = 'Photographer';
-$lang['img_copyr'] = 'Copyright';
-$lang['img_format'] = 'Format';
-$lang['img_camera'] = 'Camera';
-$lang['img_keywords']= 'Keywords';
-$lang['img_width'] = 'Width';
-$lang['img_height'] = 'Height';
-$lang['img_manager'] = 'View in media manager';
-
-$lang['subscr_subscribe_success'] = 'Added %s to subscription list for %s';
-$lang['subscr_subscribe_error'] = 'Error adding %s to subscription list for %s';
-$lang['subscr_subscribe_noaddress']= 'There is no address associated with your login, you cannot be added to the subscription list';
-$lang['subscr_unsubscribe_success']= 'Removed %s from subscription list for %s';
-$lang['subscr_unsubscribe_error'] = 'Error removing %s from subscription list for %s';
-$lang['subscr_already_subscribed'] = '%s is already subscribed to %s';
-$lang['subscr_not_subscribed'] = '%s is not subscribed to %s';
+$lang['encoding'] = 'utf-8';
+$lang['direction'] = 'ltr';
+$lang['doublequoteopening'] = '“'; //&ldquo;
+$lang['doublequoteclosing'] = '”'; //&rdquo;
+$lang['singlequoteopening'] = '‘'; //&lsquo;
+$lang['singlequoteclosing'] = '’'; //&rsquo;
+$lang['apostrophe'] = '’'; //&rsquo;
+
+$lang['btn_edit'] = 'Edit this page';
+$lang['btn_source'] = 'Show pagesource';
+$lang['btn_show'] = 'Show page';
+$lang['btn_create'] = 'Create this page';
+$lang['btn_search'] = 'Search';
+$lang['btn_save'] = 'Save';
+$lang['btn_preview'] = 'Preview';
+$lang['btn_top'] = 'Back to top';
+$lang['btn_newer'] = '<< more recent';
+$lang['btn_older'] = 'less recent >>';
+$lang['btn_revs'] = 'Old revisions';
+$lang['btn_recent'] = 'Recent changes';
+$lang['btn_upload'] = 'Upload';
+$lang['btn_cancel'] = 'Cancel';
+$lang['btn_index'] = 'Sitemap';
+$lang['btn_secedit'] = 'Edit';
+$lang['btn_login'] = 'Login';
+$lang['btn_logout'] = 'Logout';
+$lang['btn_admin'] = 'Admin';
+$lang['btn_update'] = 'Update';
+$lang['btn_delete'] = 'Delete';
+$lang['btn_back'] = 'Back';
+$lang['btn_backlink'] = "Backlinks";
+$lang['btn_backtomedia'] = 'Back to Mediafile Selection';
+$lang['btn_subscribe'] = 'Manage Subscriptions';
+$lang['btn_profile'] = 'Update Profile';
+$lang['btn_reset'] = 'Reset';
+$lang['btn_resendpwd'] = 'Send new password';
+$lang['btn_draft'] = 'Edit draft';
+$lang['btn_recover'] = 'Recover draft';
+$lang['btn_draftdel'] = 'Delete draft';
+$lang['btn_revert'] = 'Restore';
+$lang['btn_register'] = 'Register';
+$lang['btn_apply'] = 'Apply';
+$lang['btn_media'] = 'Media Manager';
+
+$lang['loggedinas'] = 'Logged in as';
+$lang['user'] = 'Username';
+$lang['pass'] = 'Password';
+$lang['newpass'] = 'New password';
+$lang['oldpass'] = 'Confirm current password';
+$lang['passchk'] = 'once again';
+$lang['remember'] = 'Remember me';
+$lang['fullname'] = 'Real name';
+$lang['email'] = 'E-Mail';
+$lang['profile'] = 'User Profile';
+$lang['badlogin'] = 'Sorry, username or password was wrong.';
+$lang['minoredit'] = 'Minor Changes';
+$lang['draftdate'] = 'Draft autosaved on'; // full dformat date will be added
+$lang['nosecedit'] = 'The page was changed in the meantime, section info was out of date loaded full page instead.';
+
+$lang['regmissing'] = 'Sorry, you must fill in all fields.';
+$lang['reguexists'] = 'Sorry, a user with this login already exists.';
+$lang['regsuccess'] = 'The user has been created and the password was sent by email.';
+$lang['regsuccess2'] = 'The user has been created.';
+$lang['regmailfail'] = 'Looks like there was an error on sending the password mail. Please contact the admin!';
+$lang['regbadmail'] = 'The given email address looks invalid - if you think this is an error, contact the admin';
+$lang['regbadpass'] = 'The two given passwords are not identical, please try again.';
+$lang['regpwmail'] = 'Your DokuWiki password';
+$lang['reghere'] = 'You don\'t have an account yet? Just get one';
+
+$lang['profna'] = 'This wiki does not support profile modification';
+$lang['profnochange'] = 'No changes, nothing to do.';
+$lang['profnoempty'] = 'An empty name or email address is not allowed.';
+$lang['profchanged'] = 'User profile successfully updated.';
+
+$lang['pwdforget'] = 'Forgotten your password? Get a new one';
+$lang['resendna'] = 'This wiki does not support password resending.';
+$lang['resendpwd'] = 'Send new password for';
+$lang['resendpwdmissing'] = 'Sorry, you must fill in all fields.';
+$lang['resendpwdnouser'] = 'Sorry, we can\'t find this user in our database.';
+$lang['resendpwdbadauth'] = 'Sorry, this auth code is not valid. Make sure you used the complete confirmation link.';
+$lang['resendpwdconfirm'] = 'A confirmation link has been sent by email.';
+$lang['resendpwdsuccess'] = 'Your new password has been sent by email.';
+
+$lang['license'] = 'Except where otherwise noted, content on this wiki is licensed under the following license:';
+$lang['licenseok'] = 'Note: By editing this page you agree to license your content under the following license:';
+
+$lang['searchmedia'] = 'Search file name:';
+$lang['searchmedia_in'] = 'Search in %s';
+$lang['txt_upload'] = 'Select file to upload';
+$lang['txt_filename'] = 'Upload as (optional)';
+$lang['txt_overwrt'] = 'Overwrite existing file';
+$lang['lockedby'] = 'Currently locked by';
+$lang['lockexpire'] = 'Lock expires at';
+
+$lang['js']['willexpire'] = 'Your lock for editing this page is about to expire in a minute.\nTo avoid conflicts use the preview button to reset the locktimer.';
+$lang['js']['notsavedyet'] = 'Unsaved changes will be lost.';
+$lang['js']['searchmedia'] = 'Search for files';
+$lang['js']['keepopen'] = 'Keep window open on selection';
+$lang['js']['hidedetails'] = 'Hide Details';
+$lang['js']['mediatitle'] = 'Link settings';
+$lang['js']['mediadisplay'] = 'Link type';
+$lang['js']['mediaalign'] = 'Alignment';
+$lang['js']['mediasize'] = 'Image size';
+$lang['js']['mediatarget'] = 'Link target';
+$lang['js']['mediaclose'] = 'Close';
+$lang['js']['mediainsert'] = 'Insert';
+$lang['js']['mediadisplayimg'] = 'Show the image.';
+$lang['js']['mediadisplaylnk'] = 'Show only the link.';
+$lang['js']['mediasmall'] = 'Small version';
+$lang['js']['mediamedium'] = 'Medium version';
+$lang['js']['medialarge'] = 'Large version';
+$lang['js']['mediaoriginal'] = 'Original version';
+$lang['js']['medialnk'] = 'Link to detail page';
+$lang['js']['mediadirect'] = 'Direct link to original';
+$lang['js']['medianolnk'] = 'No link';
+$lang['js']['medianolink'] = 'Do not link the image';
+$lang['js']['medialeft'] = 'Align the image on the left.';
+$lang['js']['mediaright'] = 'Align the image on the right.';
+$lang['js']['mediacenter'] = 'Align the image in the middle.';
+$lang['js']['medianoalign'] = 'Use no align.';
+$lang['js']['nosmblinks'] = 'Linking to Windows shares only works in Microsoft Internet Explorer.\nYou still can copy and paste the link.';
+$lang['js']['linkwiz'] = 'Link Wizard';
+$lang['js']['linkto'] = 'Link to:';
+$lang['js']['del_confirm'] = 'Really delete selected item(s)?';
+$lang['js']['restore_confirm'] = 'Really restore this version?';
+$lang['js']['media_diff'] = 'View differences:';
+$lang['js']['media_diff_both'] = 'Side by Side';
+$lang['js']['media_diff_opacity'] = 'Shine-through';
+$lang['js']['media_diff_portions'] = 'Swipe';
+$lang['js']['media_select'] = 'Select files…';
+$lang['js']['media_upload_btn'] = 'Upload';
+$lang['js']['media_done_btn'] = 'Done';
+$lang['js']['media_drop'] = 'Drop files here to upload';
+$lang['js']['media_cancel'] = 'remove';
+$lang['js']['media_overwrt'] = 'Overwrite existing files';
+
+$lang['rssfailed'] = 'An error occurred while fetching this feed: ';
+$lang['nothingfound'] = 'Nothing was found.';
+
+$lang['mediaselect'] = 'Media Files';
+$lang['fileupload'] = 'Media File Upload';
+$lang['uploadsucc'] = 'Upload successful';
+$lang['uploadfail'] = 'Upload failed. Maybe wrong permissions?';
+$lang['uploadwrong'] = 'Upload denied. This file extension is forbidden!';
+$lang['uploadexist'] = 'File already exists. Nothing done.';
+$lang['uploadbadcontent'] = 'The uploaded content did not match the %s file extension.';
+$lang['uploadspam'] = 'The upload was blocked by the spam blacklist.';
+$lang['uploadxss'] = 'The upload was blocked for possibly malicious content.';
+$lang['uploadsize'] = 'The uploaded file was too big. (max. %s)';
+$lang['deletesucc'] = 'The file "%s" has been deleted.';
+$lang['deletefail'] = '"%s" couldn\'t be deleted - check permissions.';
+$lang['mediainuse'] = 'The file "%s" hasn\'t been deleted - it is still in use.';
+$lang['namespaces'] = 'Namespaces';
+$lang['mediafiles'] = 'Available files in';
+$lang['accessdenied'] = 'You are not allowed to view this page.';
+$lang['mediausage'] = 'Use the following syntax to reference this file:';
+$lang['mediaview'] = 'View original file';
+$lang['mediaroot'] = 'root';
+$lang['mediaupload'] = 'Upload a file to the current namespace here. To create subnamespaces, prepend them to your "Upload as" filename separated by colons. Files also can be selected by drag and drop.';
+$lang['mediaextchange'] = 'Filextension changed from .%s to .%s!';
+$lang['reference'] = 'References for';
+$lang['ref_inuse'] = 'The file can\'t be deleted, because it\'s still used by the following pages:';
+$lang['ref_hidden'] = 'Some references are on pages you don\'t have permission to read';
+
+$lang['hits'] = 'Hits';
+$lang['quickhits'] = 'Matching pagenames';
+$lang['toc'] = 'Table of Contents';
+$lang['current'] = 'current';
+$lang['yours'] = 'Your Version';
+$lang['diff'] = 'Show differences to current revisions';
+$lang['diff2'] = 'Show differences between selected revisions';
+$lang['difflink'] = 'Link to this comparison view';
+$lang['diff_type'] = 'View differences:';
+$lang['diff_inline'] = 'Inline';
+$lang['diff_side'] = 'Side by Side';
+$lang['line'] = 'Line';
+$lang['breadcrumb'] = 'Trace';
+$lang['youarehere'] = 'You are here';
+$lang['lastmod'] = 'Last modified';
+$lang['by'] = 'by';
+$lang['deleted'] = 'removed';
+$lang['created'] = 'created';
+$lang['restored'] = 'old revision restored';
+$lang['external_edit'] = 'external edit';
+$lang['summary'] = 'Edit summary';
+$lang['noflash'] = 'The <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> is needed to display this content.';
+$lang['download'] = 'Download Snippet';
+
+$lang['mail_newpage'] = 'page added:';
+$lang['mail_changed'] = 'page changed:';
+$lang['mail_subscribe_list'] = 'pages changed in namespace:';
+$lang['mail_new_user'] = 'new user:';
+$lang['mail_upload'] = 'file uploaded:';
+
+$lang['changes_type'] = 'View changes of';
+$lang['pages_changes'] = 'Pages';
+$lang['media_changes'] = 'Media files';
+$lang['both_changes'] = 'Both pages and media files';
+
+$lang['qb_bold'] = 'Bold Text';
+$lang['qb_italic'] = 'Italic Text';
+$lang['qb_underl'] = 'Underlined Text';
+$lang['qb_code'] = 'Code Text';
+$lang['qb_strike'] = 'Strike-through Text';
+$lang['qb_h1'] = 'Level 1 Headline';
+$lang['qb_h2'] = 'Level 2 Headline';
+$lang['qb_h3'] = 'Level 3 Headline';
+$lang['qb_h4'] = 'Level 4 Headline';
+$lang['qb_h5'] = 'Level 5 Headline';
+$lang['qb_h'] = 'Headline';
+$lang['qb_hs'] = 'Select Headline';
+$lang['qb_hplus'] = 'Higher Headline';
+$lang['qb_hminus'] = 'Lower Headline';
+$lang['qb_hequal'] = 'Same Level Headline';
+$lang['qb_link'] = 'Internal Link';
+$lang['qb_extlink'] = 'External Link';
+$lang['qb_hr'] = 'Horizontal Rule';
+$lang['qb_ol'] = 'Ordered List Item';
+$lang['qb_ul'] = 'Unordered List Item';
+$lang['qb_media'] = 'Add Images and other files';
+$lang['qb_sig'] = 'Insert Signature';
+$lang['qb_smileys'] = 'Smileys';
+$lang['qb_chars'] = 'Special Chars';
+
+$lang['upperns'] = 'jump to parent namespace';
+
+$lang['admin_register'] = 'Add new user';
+
+$lang['metaedit'] = 'Edit Metadata';
+$lang['metasaveerr'] = 'Writing metadata failed';
+$lang['metasaveok'] = 'Metadata saved';
+$lang['img_backto'] = 'Back to';
+$lang['img_title'] = 'Title';
+$lang['img_caption'] = 'Caption';
+$lang['img_date'] = 'Date';
+$lang['img_fname'] = 'Filename';
+$lang['img_fsize'] = 'Size';
+$lang['img_artist'] = 'Photographer';
+$lang['img_copyr'] = 'Copyright';
+$lang['img_format'] = 'Format';
+$lang['img_camera'] = 'Camera';
+$lang['img_keywords'] = 'Keywords';
+$lang['img_width'] = 'Width';
+$lang['img_height'] = 'Height';
+$lang['img_manager'] = 'View in media manager';
+
+$lang['subscr_subscribe_success'] = 'Added %s to subscription list for %s';
+$lang['subscr_subscribe_error'] = 'Error adding %s to subscription list for %s';
+$lang['subscr_subscribe_noaddress'] = 'There is no address associated with your login, you cannot be added to the subscription list';
+$lang['subscr_unsubscribe_success'] = 'Removed %s from subscription list for %s';
+$lang['subscr_unsubscribe_error'] = 'Error removing %s from subscription list for %s';
+$lang['subscr_already_subscribed'] = '%s is already subscribed to %s';
+$lang['subscr_not_subscribed'] = '%s is not subscribed to %s';
// Manage page for subscriptions
-$lang['subscr_m_not_subscribed'] = 'You are currently not subscribed to the current page or namespace.';
-$lang['subscr_m_new_header'] = 'Add subscription';
-$lang['subscr_m_current_header'] = 'Current subscriptions';
-$lang['subscr_m_unsubscribe'] = 'Unsubscribe';
-$lang['subscr_m_subscribe'] = 'Subscribe';
-$lang['subscr_m_receive'] = 'Receive';
-$lang['subscr_style_every'] = 'email on every change';
-$lang['subscr_style_digest'] = 'digest email of changes for each page (every %.2f days)';
-$lang['subscr_style_list'] = 'list of changed pages since last email (every %.2f days)';
-
+$lang['subscr_m_not_subscribed'] = 'You are currently not subscribed to the current page or namespace.';
+$lang['subscr_m_new_header'] = 'Add subscription';
+$lang['subscr_m_current_header'] = 'Current subscriptions';
+$lang['subscr_m_unsubscribe'] = 'Unsubscribe';
+$lang['subscr_m_subscribe'] = 'Subscribe';
+$lang['subscr_m_receive'] = 'Receive';
+$lang['subscr_style_every'] = 'email on every change';
+$lang['subscr_style_digest'] = 'digest email of changes for each page (every %.2f days)';
+$lang['subscr_style_list'] = 'list of changed pages since last email (every %.2f days)';
/* auth.class language support */
-$lang['authmodfailed'] = 'Bad user authentication configuration. Please inform your Wiki Admin.';
-$lang['authtempfail'] = 'User authentication is temporarily unavailable. If this situation persists, please inform your Wiki Admin.';
+$lang['authmodfailed'] = 'Bad user authentication configuration. Please inform your Wiki Admin.';
+$lang['authtempfail'] = 'User authentication is temporarily unavailable. If this situation persists, please inform your Wiki Admin.';
/* installer strings */
-$lang['i_chooselang'] = 'Choose your language';
-$lang['i_installer'] = 'DokuWiki Installer';
-$lang['i_wikiname'] = 'Wiki Name';
-$lang['i_enableacl'] = 'Enable ACL (recommended)';
-$lang['i_superuser'] = 'Superuser';
-$lang['i_problems'] = 'The installer found some problems, indicated below. You can not continue until you have fixed them.';
-$lang['i_modified'] = 'For security reasons this script will only work with a new and unmodified Dokuwiki installation.
- You should either re-extract the files from the downloaded package or consult the complete
- <a href="http://dokuwiki.org/install">Dokuwiki installation instructions</a>';
-$lang['i_funcna'] = 'PHP function <code>%s</code> is not available. Maybe your hosting provider disabled it for some reason?';
-$lang['i_phpver'] = 'Your PHP version <code>%s</code> is lower than the needed <code>%s</code>. You need to upgrade your PHP install.';
-$lang['i_permfail'] = '<code>%s</code> is not writable by DokuWiki. You need to fix the permission settings of this directory!';
-$lang['i_confexists'] = '<code>%s</code> already exists';
-$lang['i_writeerr'] = 'Unable to create <code>%s</code>. You will need to check directory/file permissions and create the file manually.';
-$lang['i_badhash'] = 'unrecognised or modified dokuwiki.php (hash=<code>%s</code>)';
-$lang['i_badval'] = '<code>%s</code> - illegal or empty value';
-$lang['i_success'] = 'The configuration was finished successfully. You may delete the install.php file now. Continue to
- <a href="doku.php">your new DokuWiki</a>.';
-$lang['i_failure'] = 'Some errors occurred while writing the configuration files. You may need to fix them manually before
- you can use <a href="doku.php">your new DokuWiki</a>.';
-$lang['i_policy'] = 'Initial ACL policy';
-$lang['i_pol0'] = 'Open Wiki (read, write, upload for everyone)';
-$lang['i_pol1'] = 'Public Wiki (read for everyone, write and upload for registered users)';
-$lang['i_pol2'] = 'Closed Wiki (read, write, upload for registered users only)';
-
-$lang['i_retry'] = 'Retry';
-$lang['i_license'] = 'Please choose the license you want to put your content under:';
-
-$lang['mu_intro'] = 'Here you can upload multiple files at once. Click the browse button to add them to the queue. Press upload when done.';
-$lang['js']['mu_btn'] = 'Upload multiple files at once';
-$lang['mu_gridname'] = 'Filename';
-$lang['mu_gridsize'] = 'Size';
-$lang['mu_gridstat'] = 'Status';
-$lang['mu_namespace'] = 'Namespace';
-$lang['mu_browse'] = 'Browse';
-$lang['mu_toobig'] = 'too big';
-$lang['mu_ready'] = 'ready for upload';
-$lang['mu_done'] = 'complete';
-$lang['mu_fail'] = 'failed';
-$lang['mu_authfail'] = 'session expired';
-$lang['mu_progress'] = '@PCT@% uploaded';
-$lang['mu_filetypes'] = 'Allowed Filetypes';
-$lang['mu_info'] = 'files uploaded.';
-$lang['mu_lasterr'] = 'Last error:';
-
-$lang['recent_global'] = 'You\'re currently watching the changes inside the <b>%s</b> namespace. You can also <a href="%s">view the recent changes of the whole wiki</a>.';
-
-$lang['years'] = '%d years ago';
-$lang['months'] = '%d months ago';
-$lang['weeks'] = '%d weeks ago';
-$lang['days'] = '%d days ago';
-$lang['hours'] = '%d hours ago';
-$lang['minutes'] = '%d minutes ago';
-$lang['seconds'] = '%d seconds ago';
-
-$lang['wordblock'] = 'Your change was not saved because it contains blocked text (spam).';
-
-$lang['media_uploadtab'] = 'Upload';
-$lang['media_searchtab'] = 'Search';
-$lang['media_viewtab'] = 'View';
-$lang['media_edittab'] = 'Edit';
-$lang['media_historytab'] = 'History';
-$lang['media_thumbsview'] = 'Thumbnails';
-$lang['media_listview'] = 'List';
-$lang['media_sort'] = 'Sort';
-$lang['media_sort_name'] = 'by name';
-$lang['media_sort_date'] = 'by date';
-$lang['media_upload'] = 'Upload to the <strong>%s</strong> namespace.';
-$lang['media_search'] = 'Search in the <strong>%s</strong> namespace.';
-$lang['media_edit'] = 'Edit';
-$lang['media_history'] = 'These are the older revisions of the file.';
-$lang['media_meta_edited']= 'metadata edited';
-$lang['media_perm_read'] = 'Sorry, you don\'t have enough rights to read files.';
-$lang['media_perm_upload']= 'Sorry, you don\'t have enough rights to upload files.';
-$lang['media_update'] = 'Upload new version';
-$lang['media_restore'] = 'Restore this version';
-
-$lang['js']['media_diff'] = 'View differences:';
-$lang['js']['media_diff_both'] = 'Side by Side';
-$lang['js']['media_diff_opacity'] = 'Overlay';
-$lang['js']['media_diff_portions'] = 'Slider';
-
-$lang['js']['media_select'] = 'Select files…';
-$lang['js']['media_upload_btn'] = 'Upload';
-$lang['js']['media_done_btn'] = 'Done';
-$lang['js']['media_drop'] = 'Drop files here to upload';
-$lang['js']['media_cancel'] = 'remove';
-$lang['js']['media_overwrt'] = 'Overwrite existing files';
-
-$lang['plugin_install_err'] = "Plugin installed incorrectly. Rename plugin directory '%s' to '%s'.";
+$lang['i_chooselang'] = 'Choose your language';
+$lang['i_installer'] = 'DokuWiki Installer';
+$lang['i_wikiname'] = 'Wiki Name';
+$lang['i_enableacl'] = 'Enable ACL (recommended)';
+$lang['i_superuser'] = 'Superuser';
+$lang['i_problems'] = 'The installer found some problems, indicated below. You can not continue until you have fixed them.';
+$lang['i_modified'] = 'For security reasons this script will only work with a new and unmodified Dokuwiki installation.
+ You should either re-extract the files from the downloaded package or consult the complete
+ <a href="http://dokuwiki.org/install">Dokuwiki installation instructions</a>';
+$lang['i_funcna'] = 'PHP function <code>%s</code> is not available. Maybe your hosting provider disabled it for some reason?';
+$lang['i_phpver'] = 'Your PHP version <code>%s</code> is lower than the needed <code>%s</code>. You need to upgrade your PHP install.';
+$lang['i_permfail'] = '<code>%s</code> is not writable by DokuWiki. You need to fix the permission settings of this directory!';
+$lang['i_confexists'] = '<code>%s</code> already exists';
+$lang['i_writeerr'] = 'Unable to create <code>%s</code>. You will need to check directory/file permissions and create the file manually.';
+$lang['i_badhash'] = 'unrecognised or modified dokuwiki.php (hash=<code>%s</code>)';
+$lang['i_badval'] = '<code>%s</code> - illegal or empty value';
+$lang['i_success'] = 'The configuration was finished successfully. You may delete the install.php file now. Continue to
+ <a href="doku.php">your new DokuWiki</a>.';
+$lang['i_failure'] = 'Some errors occurred while writing the configuration files. You may need to fix them manually before
+ you can use <a href="doku.php">your new DokuWiki</a>.';
+$lang['i_policy'] = 'Initial ACL policy';
+$lang['i_pol0'] = 'Open Wiki (read, write, upload for everyone)';
+$lang['i_pol1'] = 'Public Wiki (read for everyone, write and upload for registered users)';
+$lang['i_pol2'] = 'Closed Wiki (read, write, upload for registered users only)';
+$lang['i_retry'] = 'Retry';
+$lang['i_license'] = 'Please choose the license you want to put your content under:';
+
+$lang['mu_intro'] = 'Here you can upload multiple files at once. Click the browse button to add them to the queue. Press upload when done.';
+$lang['mu_gridname'] = 'Filename';
+$lang['mu_gridsize'] = 'Size';
+$lang['mu_gridstat'] = 'Status';
+$lang['mu_namespace'] = 'Namespace';
+$lang['mu_browse'] = 'Browse';
+$lang['mu_toobig'] = 'too big';
+$lang['mu_ready'] = 'ready for upload';
+$lang['mu_done'] = 'complete';
+$lang['mu_fail'] = 'failed';
+$lang['mu_authfail'] = 'session expired';
+$lang['mu_progress'] = '@PCT@% uploaded';
+$lang['mu_filetypes'] = 'Allowed Filetypes';
+$lang['mu_info'] = 'files uploaded.';
+$lang['mu_lasterr'] = 'Last error:';
+
+$lang['recent_global'] = 'You\'re currently watching the changes inside the <b>%s</b> namespace. You can also <a href="%s">view the recent changes of the whole wiki</a>.';
+$lang['years'] = '%d years ago';
+$lang['months'] = '%d months ago';
+$lang['weeks'] = '%d weeks ago';
+$lang['days'] = '%d days ago';
+$lang['hours'] = '%d hours ago';
+$lang['minutes'] = '%d minutes ago';
+$lang['seconds'] = '%d seconds ago';
+
+$lang['wordblock'] = 'Your change was not saved because it contains blocked text (spam).';
+
+$lang['media_uploadtab'] = 'Upload';
+$lang['media_searchtab'] = 'Search';
+$lang['media_file'] = 'File';
+$lang['media_viewtab'] = 'View';
+$lang['media_edittab'] = 'Edit';
+$lang['media_historytab'] = 'History';
+$lang['media_list_thumbs'] = 'Thumbnails';
+$lang['media_list_rows'] = 'Rows';
+$lang['media_sort_name'] = 'Name';
+$lang['media_sort_date'] = 'Date';
+$lang['media_namespaces'] = 'Choose namespace';
+$lang['media_files'] = 'Files in %s';
+$lang['media_upload'] = 'Upload to %s';
+$lang['media_search'] = 'Search in %s';
+$lang['media_view'] = '%s';
+$lang['media_viewold'] = '%s at %s';
+$lang['media_edit'] = 'Edit %s';
+$lang['media_history'] = 'History of %s';
+$lang['media_meta_edited'] = 'metadata edited';
+$lang['media_perm_read'] = 'Sorry, you don\'t have enough rights to read files.';
+$lang['media_perm_upload'] = 'Sorry, you don\'t have enough rights to upload files.';
+$lang['media_update'] = 'Upload new version';
+$lang['media_restore'] = 'Restore this version';
+
+$lang['plugin_install_err'] = "Plugin installed incorrectly. Rename plugin directory '%s' to '%s'.";
//Setup VIM: ex: et ts=2 :
diff --git a/inc/lang/en/uploadmail.txt b/inc/lang/en/uploadmail.txt
index 932a1b704..16bb6989c 100644
--- a/inc/lang/en/uploadmail.txt
+++ b/inc/lang/en/uploadmail.txt
@@ -1,14 +1,14 @@
A file was uploaded to your DokuWiki. Here are the details:
-File : @MEDIA@
-Old revision : @OLD@
-Date : @DATE@
-Browser : @BROWSER@
-IP-Address : @IPADDRESS@
-Hostname : @HOSTNAME@
-Size : @SIZE@
-MIME Type : @MIME@
-User : @USER@
+File : @MEDIA@
+Old revision: @OLD@
+Date : @DATE@
+Browser : @BROWSER@
+IP-Address : @IPADDRESS@
+Hostname : @HOSTNAME@
+Size : @SIZE@
+MIME Type : @MIME@
+User : @USER@
--
This mail was generated by DokuWiki at
diff --git a/inc/lang/eo/conflict.txt b/inc/lang/eo/conflict.txt
index 0d7ede0b0..603af39e1 100644
--- a/inc/lang/eo/conflict.txt
+++ b/inc/lang/eo/conflict.txt
@@ -2,4 +2,4 @@
Ekzistas pli nova versio de la dokumento. Tio okazas kiam iu alia uzanto ŝanĝigis enhavon de la dokumento dum vi redaktis ĝin.
-Atente esploru distingojn kaj decidu kiun version vi tenigos. Se vi premos ''Konservi'', do via versio estos konservita. Presonte butonon ''Rezigni'' vi tenos la kurantan version.
+Atente esploru distingojn kaj decidu kiun version vi tenigos. Se vi premos '&quot;Konservi'&quot;, do via versio estos konservita. Presonte butonon '&quot;Rezigni&quot; vi tenos la kurantan version.
diff --git a/inc/lang/eo/edit.txt b/inc/lang/eo/edit.txt
index c1ca31e1d..9239c7fe6 100644
--- a/inc/lang/eo/edit.txt
+++ b/inc/lang/eo/edit.txt
@@ -1 +1 @@
-Redaktu paĝon kaj poste premu butonon titolitan ''Konservi''. Bonvolu tralegi la [[vikio:sintakso|vikian sintakson]] por kompreni kiel vi povas krei paĝojn. Bonvolu redakti nur se vi planas **plibonigi** la enhavon de la paĝo. Se vi volas nur testi ion, do bonvolu uzi specialan paĝon: [[vikio:ludejo|ludejo]].
+Redaktu paĝon kaj poste premu butonon titolitan '&quot;Konservi'&quot;. Bonvolu tralegi la [[vikio:sintakso|vikian sintakson]] por kompreni kiel vi povas krei paĝojn. Bonvolu redakti nur se vi planas **plibonigi** la enhavon de la paĝo. Se vi volas nur testi ion, do bonvolu uzi specialan paĝon: [[vikio:ludejo|ludejo]].
diff --git a/inc/lang/eo/index.txt b/inc/lang/eo/index.txt
index 08bf3c894..4ef720cb2 100644
--- a/inc/lang/eo/index.txt
+++ b/inc/lang/eo/index.txt
@@ -1,3 +1,3 @@
====== Enhavo ======
-Tio ĉi estas indekso pri ĉiuj disponeblaj paĝoj ordigitaj laŭ [[doku>namespaces|nomspacoj]]. \ No newline at end of file
+Tio ĉi estas indekso pri ĉiuj disponeblaj paĝoj ordigitaj laŭ [[doku&gt;namespaces|nomspacoj]]. \ No newline at end of file
diff --git a/inc/lang/eo/install.html b/inc/lang/eo/install.html
index 74bbe15e2..9f43ae82e 100644
--- a/inc/lang/eo/install.html
+++ b/inc/lang/eo/install.html
@@ -1,9 +1,9 @@
-<p>Tiu ĉi paĝo helpas en la unua instalo kaj agordado de <a href="http://dokuwiki.org">DokuWiki</a>. Pli da informo pri tiu instalilo estas disponebla en ĝia propra <a href="http://dokuwiki.org/installer">dokumentada paĝo</a>.</p>
+&lt;p&gt;Tiu ĉi paĝo helpas en la unua instalo kaj agordado de &lt;a href=&quot;http://dokuwiki.org&quot;&gt;DokuWiki&lt;/a&gt;. Pli da informo pri tiu instalilo estas disponebla en ĝia propra &lt;a href=&quot;http://dokuwiki.org/installer&quot;&gt;dokumentada paĝo&lt;/a&gt;.&lt;/p&gt;
-<p>DokuWiki uzas ordinarajn dosierojn por konservi vikiajn paĝojn kaj aliajn informojn asociitaj al tiuj paĝoj (ekz. bildoj, serĉindeksoj, malnovaj revizioj, ktp). Por bone funkcii, DokuWiki <strong>devas</strong> havi registran rajton sur la subdosierujoj, kiuj entenas tiujn dosierojn. Tiu ĉi instalilo ne kapablas difini permes-atributojn de dosierujoj. Ordinare, tio devas esti senpere farita de iu komando en konzolo aŭ, se vi abonas retprovizanton, per FTP aŭ kontrola panelo de tiu retprovizanto (ekz. cPanel).</p>
+&lt;p&gt;DokuWiki uzas ordinarajn dosierojn por konservi vikiajn paĝojn kaj aliajn informojn asociitaj al tiuj paĝoj (ekz. bildoj, serĉindeksoj, malnovaj revizioj, ktp). Por bone funkcii, DokuWiki &lt;strong&gt;devas&lt;/strong&gt; havi registran rajton sur la subdosierujoj, kiuj entenas tiujn dosierojn. Tiu ĉi instalilo ne kapablas difini permes-atributojn de dosierujoj. Ordinare, tio devas esti senpere farita de iu komando en konzolo aŭ, se vi abonas retprovizanton, per FTP aŭ kontrola panelo de tiu retprovidanto (ekz. cPanel).</p>
-<p>Tiu ĉi instalilo difinos vian DokuWiki-an agordadon por <acronym title="alir-kontrola listo">ACL</acronym>, kiu ebligas al administranto identiĝi kaj aliri taŭgan interfacon por instali kromaĵojn, administri uzantojn kaj alireblon al vikipaĝoj, kaj difini agordojn ĝeneralajn.
-Ĝi ne estas nepra por ke DokuWiki funkciu, tamen ĝi multe faciligos administradon.</p>
+&lt;p&gt;Tiu ĉi instalilo difinos vian DokuWiki-an agordadon por &lt;acronym title=&quot;alir-kontrola listo&quot;&gt;ACL&lt;/acronym&gt;, kiu ebligas al administranto identiĝi kaj aliri taŭgan interfacon por instali kromaĵojn, administri uzantojn kaj alireblon al vikipaĝoj, kaj difini agordojn ĝeneralajn.
+Ĝi ne estas nepra por ke DokuWiki funkciu, tamen ĝi multe faciligos administradon.&lt;/p&gt;
-<p>Spertuloj aŭ uzantoj kiuj bezonas specialajn agordrimedojn devus uzi tiujn ligilojn por havi pli detalojn pri <a href="http://dokuwiki.org/install">instaladaj instrukcioj</a>
-kaj <a href="http://dokuwiki.org/config">agordadaj difinoj</a>.</p> \ No newline at end of file
+&lt;p&gt;Spertuloj aŭ uzantoj kiuj bezonas specialajn agordrimedojn devus uzi tiujn ligilojn por havi pli detalojn pri &lt;a href=&quot;http://dokuwiki.org/install&quot;&gt;instaladaj instrukcioj&lt;/a&gt;
+kaj &lt;a href=&quot;http://dokuwiki.org/config&quot;&gt;agordadaj difinoj&lt;/a&gt;.&lt;/p&gt; \ No newline at end of file
diff --git a/inc/lang/eo/lang.php b/inc/lang/eo/lang.php
index 14bc56405..abb6bf7d7 100644
--- a/inc/lang/eo/lang.php
+++ b/inc/lang/eo/lang.php
@@ -9,6 +9,7 @@
* @author Felipe Castro <fefcas@gmail.com>
* @author Robert Bogenschneider <robog@gmx.de>
* @author Erik Pedersen <erik.pedersen@shaw.ca>
+ * @author Robert BOGENSCHNEIDER <bogi@UEA.org>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@@ -25,8 +26,8 @@ $lang['btn_search'] = 'Serĉi';
$lang['btn_save'] = 'Konservi';
$lang['btn_preview'] = 'Antaŭrigardi';
$lang['btn_top'] = 'Supren';
-$lang['btn_newer'] = '<< pli freŝe';
-$lang['btn_older'] = 'malpli freŝe >>';
+$lang['btn_newer'] = '&lt;&lt; pli freŝe';
+$lang['btn_older'] = 'malpli freŝe &gt;&gt;';
$lang['btn_revs'] = 'Malnovaj revizioj';
$lang['btn_recent'] = 'Freŝaj ŝanĝoj';
$lang['btn_upload'] = 'Alŝuti';
@@ -50,7 +51,9 @@ $lang['btn_recover'] = 'Restarigi skizon';
$lang['btn_draftdel'] = 'Forigi skizon';
$lang['btn_revert'] = 'Restarigi';
$lang['btn_register'] = 'Registriĝi';
-$lang['loggedinas'] = 'Ensalutita kiel';
+$lang['btn_apply'] = 'Apliki';
+$lang['btn_media'] = 'Medio-administrilo';
+$lang['loggedinas'] = 'Ensalutinta kiel';
$lang['user'] = 'Uzant-nomo';
$lang['pass'] = 'Pasvorto';
$lang['newpass'] = 'Nova pasvorto';
@@ -63,16 +66,16 @@ $lang['profile'] = 'Uzanto-profilo';
$lang['badlogin'] = 'Pardonu, uzant-nomo aŭ pasvorto estis erara.';
$lang['minoredit'] = 'Etaj modifoj';
$lang['draftdate'] = 'Lasta konservo de la skizo:';
-$lang['nosecedit'] = 'La paĝo ŝanĝiĝis intertempe, sekcio-informo estis malĝisdata, ni ŝargas la tutan paĝon anstataŭe.';
+$lang['nosecedit'] = 'La paĝo ŝanĝiĝis intertempe, sekcio-informo estis malĝisdata, tial la tuta paĝo estas reŝargita.';
$lang['regmissing'] = 'Pardonu, vi devas plenigi ĉiujn kampojn.';
-$lang['reguexists'] = 'Pardonu, ĉi tiu uzanto-nomo jam estas okupita.';
+$lang['reguexists'] = 'Pardonu, ĉi tiu uzanto-nomo jam ekzistas.';
$lang['regsuccess'] = 'La uzanto estas kreita kaj la pasvorto estis elsendita per retpoŝto.';
$lang['regsuccess2'] = 'La uzanto estas kreita.';
$lang['regmailfail'] = 'Ŝajne okazis eraro dum elsendo de la pasvorto. Bonvolu informi administranton pri tio!';
$lang['regbadmail'] = 'Entajpita retpoŝta adreso ne ŝajnas valida. Se vi pensas, ke tio estas eraro, kontaktu la administranton.';
$lang['regbadpass'] = 'La du pasvortoj ne samas, bonvolu provi refoje.';
$lang['regpwmail'] = 'Via DokuWiki-pasvorto';
-$lang['reghere'] = 'Se vi ne havas konton, do vi povas akiri ĝin';
+$lang['reghere'] = 'Se vi ne havas konton, vi povas akiri ĝin';
$lang['profna'] = 'Tiu ĉi vikio ne ebligas modifon en la profiloj.';
$lang['profnochange'] = 'Neniu ŝanĝo, nenio farinda.';
$lang['profnoempty'] = 'Malplena nomo aŭ retadreso ne estas permesataj.';
@@ -94,7 +97,7 @@ $lang['txt_filename'] = 'Alŝuti kiel (laŭvole)';
$lang['txt_overwrt'] = 'Anstataŭigi ekzistantan dosieron';
$lang['lockedby'] = 'Nune ŝlosita de';
$lang['lockexpire'] = 'Ŝlosado ĉesos en';
-$lang['js']['willexpire'] = 'Vi povos redakti ĉi tiun paĝon post unu minuto.\nSe vi volas nuligi tempkontrolon de la ŝlosado, do premu butonon "Antaŭrigardi".';
+$lang['js']['willexpire'] = 'Vi povos redakti ĉi tiun paĝon post unu minuto.\nSe vi volas nuligi tempkontrolon de la ŝlosado, do premu butonon "Antaŭrigardi".';
$lang['js']['notsavedyet'] = 'Ne konservitaj modifoj perdiĝos.
Ĉu vi certe volas daŭrigi la procezon?';
$lang['js']['searchmedia'] = 'Serĉi dosierojn';
@@ -121,12 +124,22 @@ $lang['js']['medialeft'] = 'Meti la bildon maldekstren.';
$lang['js']['mediaright'] = 'Meti la bildon dekstren.';
$lang['js']['mediacenter'] = 'Meti la bildon mezen.';
$lang['js']['medianoalign'] = 'Ne uzi poziciigon.';
-$lang['js']['nosmblinks'] = 'Tio ĉi nur funkcias en la Vindozaĉa "Microsoft Internet Explorer".
+$lang['js']['nosmblinks'] = 'Tio ĉi nur funkcias en la Vindozaĉa &quot;Microsoft Internet Explorer&quot;.
Vi ankoraŭ povas kopii kaj almeti la ligilon.';
$lang['js']['linkwiz'] = 'Ligil-Asistanto';
$lang['js']['linkto'] = 'Ligilo al:';
$lang['js']['del_confirm'] = 'Ĉu vere forigi elektitajn ero(j)n?';
-$lang['js']['mu_btn'] = 'Alŝuti plurajn dosierojn multope.';
+$lang['js']['restore_confirm'] = 'Ĉu vere restarigi ĉi tiun version?';
+$lang['js']['media_diff'] = 'Rigardu la diferencojn:';
+$lang['js']['media_diff_both'] = 'Flankon apud flanko';
+$lang['js']['media_diff_opacity'] = 'Unu super la alia';
+$lang['js']['media_diff_portions'] = 'Ŝovilo';
+$lang['js']['media_select'] = 'Elektu dosierojn...';
+$lang['js']['media_upload_btn'] = 'Alŝuto';
+$lang['js']['media_done_btn'] = 'Finita';
+$lang['js']['media_drop'] = 'Demetu ĉi-tien por alŝuti';
+$lang['js']['media_cancel'] = 'forigi';
+$lang['js']['media_overwrt'] = 'Anstataûi ekzistantajn dosierojn';
$lang['rssfailed'] = 'Okazis eraro dum ricevado de la novaĵ-fluo: ';
$lang['nothingfound'] = 'Ankoraŭ nenio troviĝas tie ĉi.';
$lang['mediaselect'] = 'Elekto de aŭdvidaĵa dosiero';
@@ -139,25 +152,25 @@ $lang['uploadbadcontent'] = 'La alŝutita enhavo ne kongruas al la sufikso
$lang['uploadspam'] = 'La alŝutaĵo estis blokita de kontraŭspama vortlisto.';
$lang['uploadxss'] = 'La alŝutajo estis blokita pro ebla malica enhavo.';
$lang['uploadsize'] = 'La alŝutita dosiero estis tro granda. (maks. %s)';
-$lang['deletesucc'] = 'La dosiero "%s" estas forigita.';
-$lang['deletefail'] = '"%s" ne povis esti forigita - kontrolu permes-atributojn.';
-$lang['mediainuse'] = 'La dosiero "%s" ne estis forigita - ĝi ankoraŭ estas uzata.';
+$lang['deletesucc'] = 'La dosiero &quot;%s%quot; estas forigita.';
+$lang['deletefail'] = '&quot;%s&quot; ne povis esti forigita - kontrolu permes-atributojn.';
+$lang['mediainuse'] = 'La dosiero &quot;%s&quot; ne estis forigita - ĝi ankoraŭ estas uzata.';
$lang['namespaces'] = 'Nomspacoj';
$lang['mediafiles'] = 'Disponeblaj dosieroj';
$lang['accessdenied'] = 'Vi ne rajtas vidi tiun paĝon.';
$lang['mediausage'] = 'Uzu la jenan sintakson por referenci tiun ĉi dosieron:';
$lang['mediaview'] = 'Rigardi originalan dosieron';
$lang['mediaroot'] = 'ĉefo (root)';
-$lang['mediaupload'] = 'Alŝutu dosieron al la kuranta nomspaco tien ĉi. Por krei subnomspacojn, antaŭmetu ilin al via "Alŝuti kiel" dosiernomo, apartigante per dupunktoj (:).';
+$lang['mediaupload'] = 'Alŝutu dosieron al la kuranta nomspaco tien ĉi. Por krei subnomspacojn, antaŭmetu ilin al via &quot;Alŝuti kiel&quot; dosiernomo, apartigante per dupunktoj (:).';
$lang['mediaextchange'] = 'La dosiersufikso ŝanĝis de .%s al .%s!';
$lang['reference'] = 'Referencoj por';
$lang['ref_inuse'] = 'La dosiero ne povas esti forigita, ĉar ĝi ankoraŭ estas uzata de la jenaj paĝoj:';
$lang['ref_hidden'] = 'Kelkaj referencoj estas en paĝoj, kiujn vi ne rajtas legi';
-$lang['hits'] = 'Kongruoj';
-$lang['quickhits'] = 'Kongruoj trovitaj en paĝnomoj';
+$lang['hits'] = 'Trafoj';
+$lang['quickhits'] = 'Trafoj trovitaj en paĝnomoj';
$lang['toc'] = 'Enhavtabelo';
$lang['current'] = 'aktuala';
-$lang['yours'] = 'Via Versio';
+$lang['yours'] = 'Via versio';
$lang['diff'] = 'Montri diferencojn el la aktuala versio';
$lang['diff2'] = 'Montri diferencojn inter la elektitaj revizioj';
$lang['difflink'] = 'Ligilo al kompara rigardo';
@@ -174,13 +187,17 @@ $lang['created'] = 'kreita';
$lang['restored'] = 'malnova revizio restarigita';
$lang['external_edit'] = 'ekstera redakto';
$lang['summary'] = 'Bulteno de ŝanĝoj';
-$lang['noflash'] = 'La <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> estas bezonata por montrigi tiun ĉi enhavon.';
+$lang['noflash'] = 'La &lt;a href=&quot;http://www.adobe.com/products/flashplayer/&quot;&gt;Adobe Flash Plugin&lt;/a&gt; estas bezonata por montrigi tiun ĉi enhavon.';
$lang['download'] = 'Elŝuti eltiraĵon';
$lang['mail_newpage'] = 'paĝo aldonita:';
$lang['mail_changed'] = 'paĝo modifita:';
$lang['mail_subscribe_list'] = 'ŝanĝitaj paĝoj en nomspaco:';
$lang['mail_new_user'] = 'Nova uzanto:';
$lang['mail_upload'] = 'dosiero alŝutita:';
+$lang['changes_type'] = 'Rigardi ŝanĝojn de';
+$lang['pages_changes'] = 'Paĝoj';
+$lang['media_changes'] = 'Mediaj dosieroj';
+$lang['both_changes'] = 'Ambaû - paĝojn kaj mediajn dosierojn';
$lang['qb_bold'] = 'Dika teksto';
$lang['qb_italic'] = 'Dekliva teksto';
$lang['qb_underl'] = 'Substrekita teksto';
@@ -221,6 +238,9 @@ $lang['img_copyr'] = 'Kopirajtoj';
$lang['img_format'] = 'Formato';
$lang['img_camera'] = 'Kamerao';
$lang['img_keywords'] = 'Ŝlosilvortoj';
+$lang['img_width'] = 'Larĝeco';
+$lang['img_height'] = 'Alteco';
+$lang['img_manager'] = 'Rigardi en media-administrilo';
$lang['subscr_subscribe_success'] = 'Aldonis %s al la abonlisto por %s';
$lang['subscr_subscribe_error'] = 'Eraro dum aldono de %s al la abonlisto por %s';
$lang['subscr_subscribe_noaddress'] = 'Ne estas adreso ligita al via ensaluto, ne eblas aldoni vin al la abonlisto';
@@ -242,21 +262,21 @@ $lang['authtempfail'] = 'La identigo de via uzantonomo estas intertempe
$lang['i_chooselang'] = 'Elektu vian lingvon';
$lang['i_installer'] = 'Instalilo de DokuWiki';
$lang['i_wikiname'] = 'Nomo de la vikio';
-$lang['i_enableacl'] = 'Ebligi "ACL" (alirkontrolo, rekomendinde)';
+$lang['i_enableacl'] = 'Ebligi &quot;ACL&quot; (alirkontrolo, rekomendinde)';
$lang['i_superuser'] = 'Superuzanto';
$lang['i_problems'] = 'La instalilo trovis kelkajn problemojn, indikitaj sube. Vi ne povas pluiri ĝis ili estos iel korektitaj.';
-$lang['i_modified'] = 'Pro sekureco tiu ĉi instalilo nur funkcias por nova kaj nemodifita Dokuwiki-pakaĵo.
+$lang['i_modified'] = 'Pro sekureco tiu ĉi instalilo nur funkcias por nova kaj nemodifita DokuWiki-pakaĵo.
Vi devas aŭ redemeti la dosierojn el la elŝutita pakaĵo aŭ plibone informiĝi pri la instalada procezo.';
-$lang['i_funcna'] = 'La PHP-a funkcio <code>%s</code> ne estas uzebla. Eble via retprovizanto ial malpermesis tion?';
-$lang['i_phpver'] = 'La versio de la PHP <code>%s</code> estas pli malnova ol la bezonata <code>%s</code>. Vi bezonas ĝisdatigi la PHP-an instalon.';
-$lang['i_permfail'] = '<code>%s</code> ne estas skribebla por DokuWiki. Vi devas redifini la permes-atributojn de tiu ĉi dosierujo!';
-$lang['i_confexists'] = '<code>%s</code> jam ekzistas';
-$lang['i_writeerr'] = 'Ne eblas krei "<code>%s</code>"-on. Vi bezonas kontroli la permesojn de la dosier(uj)oj kaj mem krej la dosieron.';
-$lang['i_badhash'] = 'dokuwiki.php ne estas rekonebla aŭ ĝi estas modifita (hash=<code>%s</code>)';
-$lang['i_badval'] = '<code>%s</code> - malvalida aŭ malplena valoro';
-$lang['i_success'] = 'La agordado estas sukcese kompletita. Vi povas forigi la dosieron nun. Pluiru al <a href="doku.php">via nova DokuWiki</a>.';
-$lang['i_failure'] = 'Kelkaj eraroj okazis dum la konservo de la agordaj dosieroj. Vi devas senpere korekti ilin antaŭ ol vi povos uzi <a href="doku.php">vian novan DokuWiki-on</a>. ';
-$lang['i_policy'] = 'Apriora ACL-a agordo';
+$lang['i_funcna'] = 'La PHP-a funkcio &lt;code&gt;%s&lt;/code&gt; ne estas uzebla. Eble via retprovizanto ial malpermesis tion?';
+$lang['i_phpver'] = 'La versio de la PHP &lt;code&gt;%s&lt;/code&gt; estas pli malnova ol la bezonata &lt;code&gt;%s&lt;/code&gt;. Vi bezonas ĝisdatigi la PHP-an instalon.';
+$lang['i_permfail'] = '&lt;code&gt;%s&lt;/code&gt; ne estas skribebla por DokuWiki. Vi devas redifini la permes-atributojn de tiu ĉi dosierujo!';
+$lang['i_confexists'] = '&lt;code&gt;%s&lt;/code&gt; jam ekzistas';
+$lang['i_writeerr'] = 'Ne eblas krei &quot;&lt;code&gt;%s&lt;/code&gt;&quot;. Vi bezonas kontroli la permesojn de la dosier(uj)oj kaj mem krej la dosieron.';
+$lang['i_badhash'] = 'dokuwiki.php ne estas rekonebla aŭ ĝi estas modifita (hash=&lt;code&gt;%s&lt;/code&gt;)';
+$lang['i_badval'] = '&lt;code&gt;%s&lt;/code&gt; - malvalida aŭ malplena valoro';
+$lang['i_success'] = 'La agordado estas sukcese kompletita. Vi povas forigi la dosieron nun. Pluiru al &lt;a href=&quot;doku.php&quot;&gt;via nova DokuWiki&lt;/a&gt;.';
+$lang['i_failure'] = 'Kelkaj eraroj okazis dum la konservo de la agordaj dosieroj. Vi devas senpere korekti ilin antaŭ ol vi povos uzi &lt;a href=&quot;doku.php&quot;&gt;vian novan DokuWiki-on&lt;/a&gt;. ';
+$lang['i_policy'] = 'Komenca ACL-a agordo';
$lang['i_pol0'] = 'Malferma Vikio (legi, skribi, alŝuti povas ĉiuj)';
$lang['i_pol1'] = 'Publika Vikio (legi povas ĉiuj, skribi kaj alŝuti povas registritaj uzantoj)';
$lang['i_pol2'] = 'Ferma Vikio (legi, skribi, alŝuti nur povas registritaj uzantoj)';
@@ -273,11 +293,11 @@ $lang['mu_ready'] = 'preta por alŝuti';
$lang['mu_done'] = 'plenumite';
$lang['mu_fail'] = 'malsukcesinte';
$lang['mu_authfail'] = 'sekcio tro longdaŭris';
-$lang['mu_progress'] = '@PCT@% alŝutite';
+$lang['mu_progress'] = '@PCT@&#37; alŝutite';
$lang['mu_filetypes'] = 'Permesitaj dosiertipoj';
$lang['mu_info'] = 'alŝutitaj dosieroj.';
$lang['mu_lasterr'] = 'Lasta eraro:';
-$lang['recent_global'] = 'Vi nun rigardas la ŝanĝojn ene de la nomspaco <b>%s</b>. Vi povas ankaŭ <a href="%s">vidi la freŝajn ŝanĝojn de la tuta vikio</a>.';
+$lang['recent_global'] = 'Vi nun rigardas la ŝanĝojn ene de la nomspaco &lt;b&gt;%s&lt;/b&gt;. Vi povas ankaŭ &lt;a href=&quot;%s&quot;&gt;vidi la freŝajn ŝanĝojn de la tuta vikio&lt;/a&gt;.';
$lang['years'] = 'antaŭ %d jaroj';
$lang['months'] = 'antaŭ %d monatoj';
$lang['weeks'] = 'antaŭ %d semajnoj';
@@ -286,3 +306,27 @@ $lang['hours'] = 'antaŭ %d horoj';
$lang['minutes'] = 'antaŭ %d minutoj';
$lang['seconds'] = 'antaŭ %d sekundoj';
$lang['wordblock'] = 'Via ŝanĝo ne estis savita, ĉar ĝi enhavas blokitan tekston (spamon).';
+$lang['media_uploadtab'] = 'Alŝuto';
+$lang['media_searchtab'] = 'Serĉo';
+$lang['media_file'] = 'Dosiero';
+$lang['media_viewtab'] = 'Rigardi';
+$lang['media_edittab'] = 'Modifi';
+$lang['media_historytab'] = 'Historio';
+$lang['media_list_thumbs'] = 'Bildeto';
+$lang['media_list_rows'] = 'Kolumnoj';
+$lang['media_sort_name'] = 'per nomo';
+$lang['media_sort_date'] = 'per dato';
+$lang['media_namespaces'] = 'Elektu nomspacon';
+$lang['media_files'] = 'Dosieroj en %s';
+$lang['media_upload'] = 'Alŝuti al la nomspaco &lt;strong&gt;%s&lt;/strong&gt;.';
+$lang['media_search'] = 'Serĉi en la nomspaco &lt;strong&gt;%s&lt;/strong&gt;.';
+$lang['media_view'] = '%s';
+$lang['media_viewold'] = '%s ĉe %s';
+$lang['media_edit'] = 'Modifi';
+$lang['media_history'] = 'Tiuj estas la pli malnovaj revizioj de la dosiero.';
+$lang['media_meta_edited'] = 'metadatumoj ŝanĝitaj';
+$lang['media_perm_read'] = 'Bedaûrinde viaj rajtoj ne sufiĉas por legi dosierojn.';
+$lang['media_perm_upload'] = 'Bedaûrinde viaj rajtoj ne sufiĉas por alŝuti dosierojn.';
+$lang['media_update'] = 'Alŝuti novan version';
+$lang['media_restore'] = 'Restarigi ĉi tiun version';
+$lang['plugin_install_err'] = 'Kromaĵo instalita malĝuste. Renomu la kromaĵan dosierujon \'%s\' al \'%s\'.';
diff --git a/inc/lang/eo/newpage.txt b/inc/lang/eo/newpage.txt
index 4ddcd33be..486f61f5a 100644
--- a/inc/lang/eo/newpage.txt
+++ b/inc/lang/eo/newpage.txt
@@ -1,4 +1,4 @@
====== Ĉi tiu paĝo ankoraŭ ne ekzistas ======
-Vi sekvis ligilon, kiu kondukas al artikolo ankoraŭ ne ekzistanta. Se vi rajtas, tiel vi povas krei tiun ĉi paĝon ekpremante la butonon ''Krei paĝon''.
+Vi sekvis ligilon, kiu kondukas al artikolo ankoraŭ ne ekzistanta. Se vi rajtas, tiel vi povas krei tiun ĉi paĝon ekpremante la butonon &quot;Krei paĝon&quot;.
diff --git a/inc/lang/eo/norev.txt b/inc/lang/eo/norev.txt
index f17d8df7c..dc44d194b 100644
--- a/inc/lang/eo/norev.txt
+++ b/inc/lang/eo/norev.txt
@@ -1,3 +1,3 @@
====== Tiu revizio ne ekzistas ======
-La elektita revizio ne ekzistas. Premu butonon ''Malnovaj revizioj'', por vidi liston de malnovaj revizioj de la dokumento. \ No newline at end of file
+La elektita revizio ne ekzistas. Premu butonon &quot;Malnovaj revizioj&quot; por vidi liston de malnovaj revizioj de la dokumento. \ No newline at end of file
diff --git a/inc/lang/eo/password.txt b/inc/lang/eo/password.txt
index bb854a926..ef744059e 100644
--- a/inc/lang/eo/password.txt
+++ b/inc/lang/eo/password.txt
@@ -2,8 +2,8 @@ Saluton @FULLNAME@!
Jen via uzantodatenoj por @TITLE@ ĉe @DOKUWIKIURL@
-Ensalutnomo : @LOGIN@
-Pasvorto : @PASSWORD@
+Ensalutnomo: @LOGIN@
+Pasvorto: @PASSWORD@
--
Tiu ĉi mesaĝo estis kreita de DokuWiki ĉe
diff --git a/inc/lang/eo/registermail.txt b/inc/lang/eo/registermail.txt
index e5b1da902..8b9ea8501 100644
--- a/inc/lang/eo/registermail.txt
+++ b/inc/lang/eo/registermail.txt
@@ -1,4 +1,4 @@
-Nova uzulo estis registrata. Jen la detaloj:
+Nova uzanto estis registrata. Jen la detaloj:
Uzantonomo: @NEWUSER@
Kompleta nomo: @NEWNAME@
diff --git a/inc/lang/eo/stopwords.txt b/inc/lang/eo/stopwords.txt
index 2c18cb319..38757ae04 100644
--- a/inc/lang/eo/stopwords.txt
+++ b/inc/lang/eo/stopwords.txt
@@ -1,13 +1,10 @@
-# This is a list of words the indexer ignores, one word per line
-# When you edit this file be sure to use UNIX line endings (single newline)
-# No need to include words shorter than 3 chars - these are ignored anyway
-la
+# Jen listo de vortoj, kiujn la indeksilo ignoras, unu vorton po linio
+# Kiam vi modifas la dosieron, estu certa ke vi uzas UNIX-stilajn linifinaĵojn (unuopa novlinio)
+# Ne enmetu vortojn malpli longajn ol 3 literoj - tiuj ĉiukaze estas ignorataj
pri
estas
kaj
-mi
mia
-vi
via
ili
ilia
diff --git a/inc/lang/eo/subscr_single.txt b/inc/lang/eo/subscr_single.txt
index a1f483570..d51c5ca15 100644
--- a/inc/lang/eo/subscr_single.txt
+++ b/inc/lang/eo/subscr_single.txt
@@ -7,8 +7,8 @@ Jen sekvas la ŝanĝoj:
@DIFF@
--------------------------------------------------------
-Dato : @DATE@
-Uzanto : @USER@
+Dato: @DATE@
+Uzanto: @USER@
Modifa resumo: @SUMMARY@
Malnova versio: @OLDPAGE@
Nova versio: @NEWPAGE@
diff --git a/inc/lang/es/lang.php b/inc/lang/es/lang.php
index 4c83f5d96..5164c3243 100644
--- a/inc/lang/es/lang.php
+++ b/inc/lang/es/lang.php
@@ -25,6 +25,7 @@
* @author Mauro Javier Giamberardino <mgiamberardino@gmail.com>
* @author emezeta <emezeta@infoprimo.com>
* @author Oscar Ciudad <oscar@jacho.net>
+ * @author Ruben Figols <ruben.figols@gmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@@ -66,6 +67,8 @@ $lang['btn_recover'] = 'Recuperar borrador';
$lang['btn_draftdel'] = 'Eliminar borrador';
$lang['btn_revert'] = 'Restaurar';
$lang['btn_register'] = 'Registrarse';
+$lang['btn_apply'] = 'Aplicar';
+$lang['btn_media'] = 'Gestor de ficheros';
$lang['loggedinas'] = 'Conectado como ';
$lang['user'] = 'Usuario';
$lang['pass'] = 'Contraseña';
@@ -110,7 +113,7 @@ $lang['txt_filename'] = 'Subir como (opcional)';
$lang['txt_overwrt'] = 'Sobreescribir archivo existente';
$lang['lockedby'] = 'Actualmente bloqueado por';
$lang['lockexpire'] = 'El bloqueo expira en';
-$lang['willexpire'] = 'Tu bloqueo para editar esta página expira en un minuto.\nPara evitar conflictos usa el botón previsualizar para reiniciar el contador de tiempo.';
+$lang['js']['willexpire'] = 'El bloqueo para la edición de esta página expira en un minuto.\nPAra prevenir conflictos uso el botón Previsualizar para restaurar el contador de bloqueo.';
$lang['js']['notsavedyet'] = 'Los cambios que no se han guardado se perderán.
¿Realmente quieres continuar?';
$lang['js']['searchmedia'] = 'Buscar archivos';
@@ -142,7 +145,17 @@ Lo que sí puedes hacer es copiar y pegar el enlace.';
$lang['js']['linkwiz'] = 'Asistente de enlaces';
$lang['js']['linkto'] = 'Enlazar a:';
$lang['js']['del_confirm'] = '¿Quieres realmente borrar lo seleccionado?';
-$lang['js']['mu_btn'] = 'Subir varios archivos a la vez';
+$lang['js']['restore_confirm'] = '¿Estás seguro de querer restaurar esta versión?';
+$lang['js']['media_diff'] = 'Ver diferencias:';
+$lang['js']['media_diff_both'] = 'Lado por lado';
+$lang['js']['media_diff_opacity'] = 'A través de Shine';
+$lang['js']['media_diff_portions'] = 'Pasar';
+$lang['js']['media_select'] = 'Seleccionar ficheros';
+$lang['js']['media_upload_btn'] = 'Cargar';
+$lang['js']['media_done_btn'] = 'Hecho';
+$lang['js']['media_drop'] = 'Arrastra los ficheros aquí para cargar';
+$lang['js']['media_cancel'] = 'Eliminar';
+$lang['js']['media_overwrt'] = 'Sobreescribir ficheros exitentes';
$lang['rssfailed'] = 'Se ha producido un error mientras se leían los datos de este feed: ';
$lang['nothingfound'] = 'No se ha encontrado nada.';
$lang['mediaselect'] = 'Archivos Multimedia';
@@ -197,6 +210,10 @@ $lang['mail_changed'] = 'página cambiada:';
$lang['mail_subscribe_list'] = 'páginas cambiadas en el espacio de nombre:';
$lang['mail_new_user'] = 'nuevo usuario:';
$lang['mail_upload'] = 'archivo subido:';
+$lang['changes_type'] = 'Ver cambios de';
+$lang['pages_changes'] = 'Páginas';
+$lang['media_changes'] = 'Archivos multimedia';
+$lang['both_changes'] = 'Ambas páginas y archivos multimedia';
$lang['qb_bold'] = 'Negrita';
$lang['qb_italic'] = 'Itálica';
$lang['qb_underl'] = 'Subrayado';
@@ -237,6 +254,9 @@ $lang['img_copyr'] = 'Copyright';
$lang['img_format'] = 'Formato';
$lang['img_camera'] = 'Cámara';
$lang['img_keywords'] = 'Palabras claves';
+$lang['img_width'] = 'Ancho';
+$lang['img_height'] = 'Alto';
+$lang['img_manager'] = 'Ver en el Administrador de medios';
$lang['subscr_subscribe_success'] = 'Se agregó %s a las listas de suscripción para %s';
$lang['subscr_subscribe_error'] = 'Error al agregar %s a las listas de suscripción para %s';
$lang['subscr_subscribe_noaddress'] = 'No hay dirección asociada con tu registro, no se puede agregarte a la lista de suscripción';
@@ -301,3 +321,27 @@ $lang['hours'] = '%d horas atrás';
$lang['minutes'] = '%d minutos atrás';
$lang['seconds'] = '%d segundos atrás';
$lang['wordblock'] = 'Sus cambios no se han guardado porque contienen textos bloqueados (spam).';
+$lang['media_uploadtab'] = 'Cargar';
+$lang['media_searchtab'] = 'Buscar';
+$lang['media_file'] = 'Fichero';
+$lang['media_viewtab'] = 'Ver';
+$lang['media_edittab'] = 'Editar';
+$lang['media_historytab'] = 'Historial';
+$lang['media_list_thumbs'] = 'Miniaturas';
+$lang['media_list_rows'] = 'Celdas';
+$lang['media_sort_name'] = 'Nombre';
+$lang['media_sort_date'] = 'Fecha';
+$lang['media_namespaces'] = 'Escoge "espacio de nombre"';
+$lang['media_files'] = 'Ficheros en %s';
+$lang['media_upload'] = 'Cargar a %s';
+$lang['media_search'] = 'Buscar en %s';
+$lang['media_view'] = '%s';
+$lang['media_viewold'] = '%s en %s';
+$lang['media_edit'] = 'Editar %s';
+$lang['media_history'] = 'Historial de %s';
+$lang['media_meta_edited'] = 'Metadatos editados';
+$lang['media_perm_read'] = 'Disculpa, no tienes los permisos necesarios para leer ficheros.';
+$lang['media_perm_upload'] = 'Disculpa, no tienes los permisos necesarios para cargar ficheros.';
+$lang['media_update'] = 'Actualizar nueva versión';
+$lang['media_restore'] = 'Restaurar esta versión';
+$lang['plugin_install_err'] = 'Plugin instalado incorrectamente. Renombra el directorio de plugins \'%s\' to \'%s\'.';
diff --git a/inc/lang/et/lang.php b/inc/lang/et/lang.php
index 66fab3f9a..6cd2f437d 100644
--- a/inc/lang/et/lang.php
+++ b/inc/lang/et/lang.php
@@ -124,7 +124,6 @@ Siiski võid kopeerida ja asetada lingi.';
$lang['js']['linkwiz'] = 'Lingi nõustaja';
$lang['js']['linkto'] = 'Lingi:';
$lang['js']['del_confirm'] = 'Kas kustutame selle kirje?';
-$lang['js']['mu_btn'] = 'Laadi üles mittu faili';
$lang['rssfailed'] = 'Sinu soovitud info ammutamisel tekkis viga: ';
$lang['nothingfound'] = 'Oops, aga mitte muhvigi ei leitud.';
$lang['mediaselect'] = 'Hunnik faile';
diff --git a/inc/lang/eu/lang.php b/inc/lang/eu/lang.php
index 30dfe9e5b..d02f281c3 100644
--- a/inc/lang/eu/lang.php
+++ b/inc/lang/eu/lang.php
@@ -122,7 +122,6 @@ Esteka kopiatu eta itsatsi dezakezu dena den.';
$lang['js']['linkwiz'] = 'Estekatze Laguntzailea';
$lang['js']['linkto'] = 'Estekatu hona:';
$lang['js']['del_confirm'] = 'Benetan ezabatu aukeratutako fitxategia(k)?';
-$lang['js']['mu_btn'] = 'Igo hainbat fitxategi aldi berean';
$lang['rssfailed'] = 'Errorea gertatu da feed hau irakurtzean:';
$lang['nothingfound'] = 'Ez da ezer aurkitu.';
$lang['mediaselect'] = 'Aukeratu Multimedia fitxategia';
diff --git a/inc/lang/fa/lang.php b/inc/lang/fa/lang.php
index 1a7467431..ac14ce07a 100644
--- a/inc/lang/fa/lang.php
+++ b/inc/lang/fa/lang.php
@@ -98,7 +98,7 @@ $lang['txt_overwrt'] = 'بر روی فایل موجود بنویس';
$lang['lockedby'] = 'در حال حاضر قفل شده است';
$lang['lockexpire'] = 'قفل منقضی شده است';
$lang['js']['willexpire'] = 'حالت قفل شما مدتی است منقضی شده است \n برای جلوگیری از تداخل دکمه‌ی پیش‌نمایش را برای صفر شدن ساعت قفل بزنید.';
-$lang['js']['notsavedyet'] = 'تغییرات ذخیره شده از بین خواهد رفت.
+$lang['js']['notsavedyet'] = 'تغییرات ذخیره شده از بین خواهد رفت.
می‌خواهید ادامه دهید؟';
$lang['js']['searchmedia'] = 'جستجو برای فایل';
$lang['js']['keepopen'] = 'پنجره را ر زمان انتخاب باز نگه‌دار';
@@ -129,7 +129,6 @@ $lang['js']['nosmblinks'] = 'پیوند به Windows share فقط در ای
$lang['js']['linkwiz'] = 'ویزارد پیوند';
$lang['js']['linkto'] = 'پیوند به:';
$lang['js']['del_confirm'] = 'واقعن تصمیم به حذف این موارد دارید؟';
-$lang['js']['mu_btn'] = 'ارسال هم‌زمان چندین فایل ';
$lang['rssfailed'] = 'بروز خطا در هنگام واکشی';
$lang['nothingfound'] = 'چیزی پیدا نشد';
$lang['mediaselect'] = 'فایل‌ها';
diff --git a/inc/lang/fi/lang.php b/inc/lang/fi/lang.php
index a2f2e2027..8d671a4cb 100644
--- a/inc/lang/fi/lang.php
+++ b/inc/lang/fi/lang.php
@@ -49,6 +49,8 @@ $lang['btn_recover'] = 'Palauta luonnos';
$lang['btn_draftdel'] = 'Poista luonnos';
$lang['btn_revert'] = 'palauta';
$lang['btn_register'] = 'Rekisteröidy';
+$lang['btn_apply'] = 'Toteuta';
+$lang['btn_media'] = 'Media manager';
$lang['loggedinas'] = 'Kirjautunut nimellä';
$lang['user'] = 'Käyttäjänimi';
$lang['pass'] = 'Salasana';
@@ -93,7 +95,7 @@ $lang['txt_filename'] = 'Lähetä nimellä (valinnainen)';
$lang['txt_overwrt'] = 'Ylikirjoita olemassa oleva';
$lang['lockedby'] = 'Tällä hetkellä tiedoston on lukinnut';
$lang['lockexpire'] = 'Lukitus päättyy';
-$lang['js']['willexpire'] = 'Lukituksesi tämän sivun muokkaukseen päättyy minuutin kuluttua.\nRistiriitojen välttämiseksi paina esikatselu-nappia nollataksesi lukitusajan.';
+$lang['js']['willexpire'] = 'Lukituksesi tämän sivun muokkaukseen päättyy minuutin kuluttua.\nRistiriitojen välttämiseksi paina esikatselu-nappia nollataksesi lukitusajan.';
$lang['js']['notsavedyet'] = 'Dokumentissa on tallentamattomia muutoksia, jotka häviävät.
Haluatko varmasti jatkaa?';
$lang['js']['searchmedia'] = 'Etsi tiedostoja';
@@ -125,7 +127,17 @@ Voit silti kopioida ja liittää linkin.';
$lang['js']['linkwiz'] = 'Linkkivelho';
$lang['js']['linkto'] = 'Linkki kohteeseen:';
$lang['js']['del_confirm'] = 'Haluatko todella poistaa valitut kohteet?';
-$lang['js']['mu_btn'] = 'Lähetä useampia tiedostoja kerralla';
+$lang['js']['restore_confirm'] = 'Haluatko varmasti palauttaa tämän version?';
+$lang['js']['media_diff'] = 'Näytä erot:';
+$lang['js']['media_diff_both'] = 'Vierekkäin';
+$lang['js']['media_diff_opacity'] = 'Päällä';
+$lang['js']['media_diff_portions'] = 'Liukusäädin';
+$lang['js']['media_select'] = 'Valitse tiedostot...';
+$lang['js']['media_upload_btn'] = 'Lähetä';
+$lang['js']['media_done_btn'] = 'Valmis';
+$lang['js']['media_drop'] = 'Pudota lähetettävät tiedostot tähän';
+$lang['js']['media_cancel'] = 'Poista';
+$lang['js']['media_overwrt'] = 'Ylikirjoita olemassa olevat tiedostot';
$lang['rssfailed'] = 'Virhe tapahtui noudettaessa tätä syötettä: ';
$lang['nothingfound'] = 'Mitään ei löytynyt.';
$lang['mediaselect'] = 'Mediatiedoston valinta';
@@ -180,6 +192,10 @@ $lang['mail_changed'] = 'sivu muutettu:';
$lang['mail_subscribe_list'] = 'muuttuneet sivut nimiavaruudessa:';
$lang['mail_new_user'] = 'uusi käyttäjä:';
$lang['mail_upload'] = 'tiedosto lähetetty:';
+$lang['changes_type'] = 'Näytä muutokset:';
+$lang['pages_changes'] = 'Sivut';
+$lang['media_changes'] = 'Mediatiedostot';
+$lang['both_changes'] = 'Sivut ja mediatiedostot';
$lang['qb_bold'] = 'Lihavoitu teksti';
$lang['qb_italic'] = 'Kursivoitu teksti';
$lang['qb_underl'] = 'Alleviivattu teksti';
@@ -220,6 +236,9 @@ $lang['img_copyr'] = 'Tekijänoikeus';
$lang['img_format'] = 'Formaatti';
$lang['img_camera'] = 'Kamera';
$lang['img_keywords'] = 'Avainsanat';
+$lang['img_width'] = 'Leveys';
+$lang['img_height'] = 'Korkeus';
+$lang['img_manager'] = 'Näytä mediamanagerissa';
$lang['subscr_subscribe_success'] = '%s lisätty %s tilauslistalle';
$lang['subscr_subscribe_error'] = 'Virhe lisättäessä %s tilauslistalle %s';
$lang['subscr_subscribe_noaddress'] = 'Login tiedoissasi ei ole sähköpostiosoitetta. Sinua ei voi lisätä tilaukseen';
@@ -284,3 +303,23 @@ $lang['hours'] = '%d tuntia sitten';
$lang['minutes'] = '%d minuuttia sitten';
$lang['seconds'] = '% sekuntia sitten';
$lang['wordblock'] = 'Muutostasi ei talletettu, koska se sisältää estettyä tekstiä (spam).';
+$lang['media_uploadtab'] = 'Lähetä';
+$lang['media_searchtab'] = 'Etsi';
+$lang['media_viewtab'] = 'Näytä';
+$lang['media_edittab'] = 'Muokkaa';
+$lang['media_historytab'] = 'Historia';
+$lang['media_thumbsview'] = 'Pikkukuvat';
+$lang['media_listview'] = 'Lista';
+$lang['media_sort'] = 'Järjestä';
+$lang['media_sort_name'] = 'nimen mukaan';
+$lang['media_sort_date'] = 'päivämäärän mukaan';
+$lang['media_upload'] = 'Lähetä <strong>%s</strong> nimiavaruuteen';
+$lang['media_search'] = 'Etsi <strong>%s</strong> nimiavaruudesta';
+$lang['media_edit'] = 'Muokkaa';
+$lang['media_history'] = 'Nämä ovat vanhat versiot tiedostosta.';
+$lang['media_meta_edited'] = 'Metadataa muokattu';
+$lang['media_perm_read'] = 'Anteeksi. Sinulla ei ole riittävästi oikeuksia lukeaksesi tiedostoja.';
+$lang['media_perm_upload'] = 'Anteeksi. Sinulla ei ole riittävästi oikeuksia lähettääksesi tiedostoja.';
+$lang['media_update'] = 'Lähetä uusi versio';
+$lang['media_restore'] = 'Palauta tämä versio';
+$lang['plugin_install_err'] = 'Liitännäinen asentui virheellisesti. Nimeä liitännäisen hakemisto \'%s\' -> \'%s\'';
diff --git a/inc/lang/fr/lang.php b/inc/lang/fr/lang.php
index ae082e9e7..60b86b346 100644
--- a/inc/lang/fr/lang.php
+++ b/inc/lang/fr/lang.php
@@ -7,7 +7,7 @@
* @author Antoine Fixary <antoine.fixary@freesbee.fr>
* @author cumulus <pta-n56@myamail.com>
* @author Gwenn Gueguen <contact@demisel.net>
- * @author Guy Brand <gb@isis.u-strasbg.fr>
+ * @author Guy Brand <gb@unistra.fr>
* @author Fabien Chabreuil <fabien@integralpersonality.com>
* @author Stéphane Chamberland <stephane.chamberland@ec.gc.ca>
* @author Delassaux Julien <julien@delassaux.fr>
@@ -63,6 +63,8 @@ $lang['btn_recover'] = 'Récupérer le brouillon';
$lang['btn_draftdel'] = 'Effacer le brouillon';
$lang['btn_revert'] = 'Restaurer';
$lang['btn_register'] = 'S\'enregistrer';
+$lang['btn_apply'] = 'Appliquer';
+$lang['btn_media'] = 'Gestionnaire de médias';
$lang['loggedinas'] = 'Connecté en tant que ';
$lang['user'] = 'Utilisateur';
$lang['pass'] = 'Mot de passe';
@@ -107,9 +109,8 @@ $lang['txt_filename'] = 'Donnez un « wikiname » (optionnel) ';
$lang['txt_overwrt'] = 'Écraser le fichier cible';
$lang['lockedby'] = 'Actuellement bloqué par';
$lang['lockexpire'] = 'Le blocage expire à';
-$lang['js']['willexpire'] = 'Votre blocage pour modifier cette page expire dans une minute.\nPour éviter les conflits, utiliser le bouton « Aperçu » pour réinitialiser le minuteur.';
-$lang['js']['notsavedyet'] = 'Les modifications non enregistrées seront perdues.
-Voulez-vous vraiment continuer ?';
+$lang['js']['willexpire'] = 'Votre verrouillage pour la modification de cette page expire dans une minute.\nPour éviter les conflits, utilisez le bouton « Aperçu » pour réinitialiser le minuteur.';
+$lang['js']['notsavedyet'] = 'Les modifications non enregistrées seront perdues. Voulez-vous vraiment continuer ?';
$lang['js']['searchmedia'] = 'Chercher des fichiers';
$lang['js']['keepopen'] = 'Gardez la fenêtre ouverte pendant la sélection';
$lang['js']['hidedetails'] = 'Masquer détails';
@@ -135,11 +136,22 @@ $lang['js']['mediaright'] = 'Aligner l\'image sur la droite.';
$lang['js']['mediacenter'] = 'Centrer l\'image';
$lang['js']['medianoalign'] = 'Ne pas aligner.';
$lang['js']['nosmblinks'] = 'Les liens vers les partages Windows ne fonctionnent qu\'avec Microsoft Internet Explorer.
-Vous pouvez toujours copier puis coller le lien.';
+ Vous pouvez toujours copier puis coller le lien.';
$lang['js']['linkwiz'] = 'Assistant Lien';
$lang['js']['linkto'] = 'Lien vers :';
$lang['js']['del_confirm'] = 'Effacer cette entrée ?';
$lang['js']['mu_btn'] = 'Envoyer plusieurs fichiers en même temps';
+$lang['js']['restore_confirm'] = 'Voulez vous vraiment restaurer cette version ?';
+$lang['js']['media_diff'] = 'Voir les différences:';
+$lang['js']['media_diff_both'] = 'Côte à côte';
+$lang['js']['media_diff_opacity'] = 'Calque';
+$lang['js']['media_diff_portions'] = 'Curseur';
+$lang['js']['media_select'] = 'Sélection de fichiers…';
+$lang['js']['media_upload_btn'] = 'Télécharger';
+$lang['js']['media_done_btn'] = 'Terminé';
+$lang['js']['media_drop'] = 'Déposez des fichiers ici pour les télécharger';
+$lang['js']['media_cancel'] = 'supprimer';
+$lang['js']['media_overwrt'] = 'Écraser les fichiers existants';
$lang['rssfailed'] = 'Une erreur s\'est produite en récupérant ce flux : ';
$lang['nothingfound'] = 'Pas de réponse.';
$lang['mediaselect'] = 'Sélection de fichier';
@@ -194,6 +206,10 @@ $lang['mail_changed'] = 'page modifiée :';
$lang['mail_subscribe_list'] = 'pages modifiées dans la catégorie :';
$lang['mail_new_user'] = 'nouvel utilisateur :';
$lang['mail_upload'] = 'fichier envoyé :';
+$lang['changes_type'] = 'Voir les changements';
+$lang['pages_changes'] = 'Pages';
+$lang['media_changes'] = 'Fichier multimédias';
+$lang['both_changes'] = 'Pages et fichiers multimédias';
$lang['qb_bold'] = 'Emphase forte (gras)';
$lang['qb_italic'] = 'Emphase (italique)';
$lang['qb_underl'] = 'Souligné';
@@ -234,6 +250,9 @@ $lang['img_copyr'] = 'Copyright';
$lang['img_format'] = 'Format';
$lang['img_camera'] = 'Appareil photo';
$lang['img_keywords'] = 'Mots-clés';
+$lang['img_width'] = 'Largeur';
+$lang['img_height'] = 'Hauteur';
+$lang['img_manager'] = 'Voir dans le gestionnaire de médias';
$lang['subscr_subscribe_success'] = '%s a été ajouté à la liste de souscription de %s';
$lang['subscr_subscribe_error'] = 'Erreur en ajoutant %s à la liste de souscription de %s';
$lang['subscr_subscribe_noaddress'] = 'Il n\'y a pas d\'adresse associée à votre identifiant, vous ne pouvez pas être ajouté à la liste de souscription';
@@ -298,3 +317,27 @@ $lang['hours'] = 'il y a %d heures';
$lang['minutes'] = 'il y a %d minutes';
$lang['seconds'] = 'il y a %d secondes';
$lang['wordblock'] = 'Vos modifications n\'ont pas été sauvegardées parce qu\'elles contiennent des textes non autorisé (spam).';
+$lang['media_uploadtab'] = 'Télécharger';
+$lang['media_searchtab'] = 'Rechercher';
+$lang['media_file'] = 'Fichier';
+$lang['media_viewtab'] = 'Voir';
+$lang['media_edittab'] = 'Éditer';
+$lang['media_historytab'] = 'Historique';
+$lang['media_list_thumbs'] = 'Aperçus';
+$lang['media_list_rows'] = 'Lignes';
+$lang['media_sort_name'] = 'Tri par nom';
+$lang['media_sort_date'] = 'Tri par date';
+$lang['media_namespaces'] = 'Choisissez un espace de nom';
+$lang['media_files'] = 'Fichiers présents dans';
+$lang['media_upload'] = 'Télécharger dans la catégorie <strong>%s</strong>.';
+$lang['media_search'] = 'Chercher dans la catégorie <strong>%s</strong>.';
+$lang['media_view'] = '%s';
+$lang['media_viewold'] = '%s dans %s';
+$lang['media_edit'] = 'Éditer %s';
+$lang['media_history'] = 'Historique du %s';
+$lang['media_meta_edited'] = 'métadonnées éditées';
+$lang['media_perm_read'] = 'Désolé, vous n\'avez pas les droits pour lire les fichiers.';
+$lang['media_perm_upload'] = 'Désolé, vous n\'avez pas les droits pour télécharger des fichiers.';
+$lang['media_update'] = 'Télécharger une nouvelle version';
+$lang['media_restore'] = 'Restaurer cette version';
+$lang['plugin_install_err'] = 'Extension mal installée. Renommez le dossier de l\'extension \'%s\' en \'%s\'.';
diff --git a/inc/lang/gl/lang.php b/inc/lang/gl/lang.php
index a3caeff6d..01938b3a0 100644
--- a/inc/lang/gl/lang.php
+++ b/inc/lang/gl/lang.php
@@ -137,7 +137,6 @@ Sempre podes copiar e colar a ligazón.';
$lang['js']['linkwiz'] = 'Asistente de ligazóns';
$lang['js']['linkto'] = 'Ligazón para:';
$lang['js']['del_confirm'] = 'Estás certo de quereres eliminar os elementos seleccionados?';
-$lang['js']['mu_btn'] = 'Subir varios arquivos de vez';
$lang['mediausage'] = 'Emprega a seguinte sintaxe para inserires unha referencia a este arquivo:';
$lang['mediaview'] = 'Ver arquivo orixinal';
$lang['mediaroot'] = 'raigaña';
diff --git a/inc/lang/he/lang.php b/inc/lang/he/lang.php
index 589088320..f295e44a9 100644
--- a/inc/lang/he/lang.php
+++ b/inc/lang/he/lang.php
@@ -126,7 +126,6 @@ $lang['js']['nosmblinks'] = 'קישור לכונני שיתוף של Window
$lang['js']['linkwiz'] = 'אשף הקישורים';
$lang['js']['linkto'] = 'קישור אל:';
$lang['js']['del_confirm'] = 'באמת למחוק?';
-$lang['js']['mu_btn'] = 'העלאת מספר קבצים יחד';
$lang['rssfailed'] = 'אירע כשל בעת קבלת הזנה זו:';
$lang['nothingfound'] = 'לא נמצאו תוצאות.';
$lang['mediaselect'] = 'קובצי מדיה';
diff --git a/inc/lang/hr/lang.php b/inc/lang/hr/lang.php
index a85214cf7..ef10d7720 100644
--- a/inc/lang/hr/lang.php
+++ b/inc/lang/hr/lang.php
@@ -123,7 +123,6 @@ $lang['js']['nosmblinks'] = 'Linkovi na dijeljene Windows mape rade samo s
$lang['js']['linkwiz'] = 'Čarobnjak za poveznice';
$lang['js']['linkto'] = 'Poveznica na:';
$lang['js']['del_confirm'] = 'Zbilja želite obrisati odabrane stavke?';
-$lang['js']['mu_btn'] = 'Postavi više datoteka odjednom';
$lang['rssfailed'] = 'Došlo je do greške prilikom preuzimanja feed-a: ';
$lang['nothingfound'] = 'Traženi dokumetni nisu pronađeni.';
$lang['mediaselect'] = 'Mediafile datoteke';
diff --git a/inc/lang/hu/lang.php b/inc/lang/hu/lang.php
index 89ad77948..23419a2bd 100644
--- a/inc/lang/hu/lang.php
+++ b/inc/lang/hu/lang.php
@@ -127,7 +127,6 @@ A hivatkozást másolni és beszúrni ettől fügetlenül mndig tudod.';
$lang['js']['linkwiz'] = 'Hivatkozás varázsló';
$lang['js']['linkto'] = 'Hivatkozás erre:';
$lang['js']['del_confirm'] = 'Valóban törölni akarod a kiválasztott elem(ek)et?';
-$lang['js']['mu_btn'] = 'Több fájl feltöltése egyszerre';
$lang['rssfailed'] = 'Hiba történt ennek a betöltésekor: ';
$lang['nothingfound'] = 'Semmit sem találtam.';
$lang['mediaselect'] = 'Médiafájl kiválasztása';
diff --git a/inc/lang/ia/lang.php b/inc/lang/ia/lang.php
index abf1e6786..8398f29f0 100644
--- a/inc/lang/ia/lang.php
+++ b/inc/lang/ia/lang.php
@@ -143,7 +143,6 @@ Tu pote nonobstante copiar e collar le ligamine.';
$lang['js']['linkwiz'] = 'Assistente pro ligamines';
$lang['js']['linkto'] = 'Ligar verso:';
$lang['js']['del_confirm'] = 'Realmente deler le entrata(s) seligite?';
-$lang['js']['mu_btn'] = 'Incargar plure files simultaneemente';
$lang['mediausage'] = 'Usa le syntaxe sequente pro referer a iste file:';
$lang['mediaview'] = 'Vider file original';
$lang['mediaroot'] = 'radice';
diff --git a/inc/lang/is/lang.php b/inc/lang/is/lang.php
index 7388e6908..0e281e58d 100644
--- a/inc/lang/is/lang.php
+++ b/inc/lang/is/lang.php
@@ -45,8 +45,6 @@ $lang['btn_backlink'] = 'Hvað tengist hingað';
$lang['btn_backtomedia'] = 'Aftur til miðlaskrá';
$lang['btn_subscribe'] = 'Vakta';
$lang['btn_unsubscribe'] = 'Afvakta';
-$lang['btn_subscribens'] = 'Vakta breytingar á nafnrými';
-$lang['btn_unsubscribens'] = 'Afvakta breytingar á nafnrými';
$lang['btn_profile'] = 'Uppfæra notanda';
$lang['btn_reset'] = 'Endurstilla';
$lang['btn_resendpwd'] = 'Senda nýtt aðgangsorð með tölvupósti';
diff --git a/inc/lang/it/lang.php b/inc/lang/it/lang.php
index 8812b148d..9f4d42004 100644
--- a/inc/lang/it/lang.php
+++ b/inc/lang/it/lang.php
@@ -129,7 +129,6 @@ $lang['js']['nosmblinks'] = 'I collegamenti con le risorse condivise di Win
$lang['js']['linkwiz'] = 'Collegamento guidato';
$lang['js']['linkto'] = 'Collega a:';
$lang['js']['del_confirm'] = 'Eliminare veramente questa voce?';
-$lang['js']['mu_btn'] = 'Carica più di un file alla volta';
$lang['rssfailed'] = 'Si è verificato un errore cercando questo feed: ';
$lang['nothingfound'] = 'Nessun risultato trovato.';
$lang['mediaselect'] = 'Selezione dei file';
diff --git a/inc/lang/ja/lang.php b/inc/lang/ja/lang.php
index b0b93450e..1eeb6bb73 100644
--- a/inc/lang/ja/lang.php
+++ b/inc/lang/ja/lang.php
@@ -123,7 +123,6 @@ $lang['js']['nosmblinks'] = 'ウィンドウズの共有フォルダへリ
$lang['js']['linkwiz'] = 'リンクウィザード';
$lang['js']['linkto'] = 'リンク先:';
$lang['js']['del_confirm'] = '選択した項目を本当に削除しますか?';
-$lang['js']['mu_btn'] = '複数のファイルを一度にアップロード';
$lang['rssfailed'] = 'RSSの取得に失敗しました:';
$lang['nothingfound'] = '該当文書はありませんでした。';
$lang['mediaselect'] = 'メディアファイルを選択';
diff --git a/inc/lang/ko/lang.php b/inc/lang/ko/lang.php
index 7b55ebe71..91825c797 100644
--- a/inc/lang/ko/lang.php
+++ b/inc/lang/ko/lang.php
@@ -125,7 +125,6 @@ $lang['js']['nosmblinks'] = '윈도우 공유 파일과의 연결은 MS 인
$lang['js']['linkwiz'] = '링크 마법사';
$lang['js']['linkto'] = '다음으로 연결:';
$lang['js']['del_confirm'] = '정말로 선택된 항목(들)을 삭제하시겠습니까?';
-$lang['js']['mu_btn'] = '여러 파일들을 한번에 업로드합니다.';
$lang['rssfailed'] = 'feed 가져오기 실패: ';
$lang['nothingfound'] = '아무 것도 없습니다.';
$lang['mediaselect'] = '미디어 파일 선택';
diff --git a/inc/lang/la/lang.php b/inc/lang/la/lang.php
index 00312f7a1..fd34a4ef8 100644
--- a/inc/lang/la/lang.php
+++ b/inc/lang/la/lang.php
@@ -125,7 +125,6 @@ Adhuc transcribere nexum potes.';
$lang['js']['linkwiz'] = 'Connectendi ductor';
$lang['js']['linkto'] = 'Nexum ad:';
$lang['js']['del_confirm'] = 'Delere electas res uin?';
-$lang['js']['mu_btn'] = 'Plura documenta uno tempore onerare';
$lang['rssfailed'] = 'Error in restituendo ';
$lang['nothingfound'] = 'Nihil inuentum est.';
$lang['mediaselect'] = 'Documenta uisiua:';
diff --git a/inc/lang/lt/lang.php b/inc/lang/lt/lang.php
index 121e25308..d14a0695a 100644
--- a/inc/lang/lt/lang.php
+++ b/inc/lang/lt/lang.php
@@ -41,8 +41,6 @@ $lang['btn_backlink'] = 'Atgalinės nuorodos';
$lang['btn_backtomedia'] = 'Atgal į Mediabylos išsirinkimą';
$lang['btn_subscribe'] = 'Užsisakyti keitimų prenumeratą';
$lang['btn_unsubscribe'] = 'Atsisakyti keitimų prenumeratos';
-$lang['btn_subscribens'] = 'Užsakyti vardų srities prenumeratą';
-$lang['btn_unsubscribens'] = 'Atsisakyti vardų srities prenumeratos';
$lang['btn_profile'] = 'Atnaujinti profilį';
$lang['btn_reset'] = 'Atstata';
$lang['btn_resendpwd'] = 'Išsiųsti naują slaptažodį';
@@ -115,7 +113,6 @@ $lang['js']['keepopen'] = 'Pažymėjus palikti langą atvertą';
$lang['js']['hidedetails'] = 'Paslėpti Detales';
$lang['js']['nosmblinks'] = 'Nurodos į "Windows shares" veikia tik su Microsoft Internet Explorer naršykle.
Vis dėlto, jūs galite nukopijuoti šią nuorodą.';
-$lang['js']['mu_btn'] = 'Pateikite kelis failus vienu ypu';
$lang['mediausage'] = 'Failo nuorodai užrašyti naudokite tokią sintaksę:';
$lang['mediaview'] = 'Žiūrėti pirminį failą';
$lang['mediaroot'] = 'pradžia (root)';
diff --git a/inc/lang/lv/lang.php b/inc/lang/lv/lang.php
index 64e22c56a..205d2e56d 100644
--- a/inc/lang/lv/lang.php
+++ b/inc/lang/lv/lang.php
@@ -45,6 +45,8 @@ $lang['btn_recover'] = 'Atjaunot melnrakstu';
$lang['btn_draftdel'] = 'Dzēst melnrakstu';
$lang['btn_revert'] = 'Atjaunot';
$lang['btn_register'] = 'Reģistrēties';
+$lang['btn_apply'] = 'Labi';
+$lang['btn_media'] = 'Mēdiju pārvaldnieks';
$lang['loggedinas'] = 'Pieteicies kā';
$lang['user'] = 'Lietotājvārds';
$lang['pass'] = 'Parole';
@@ -89,7 +91,7 @@ $lang['txt_filename'] = 'Ievadi vikivārdu (nav obligāts)';
$lang['txt_overwrt'] = 'Aizstāt esošo failu';
$lang['lockedby'] = 'Patlaban bloķējis ';
$lang['lockexpire'] = 'Bloķējums beigsies ';
-$lang['js']['willexpire'] = 'Tavs bloķējums uz šo lapu pēc minūtes beigsies.\nLai izvairītos no konflikta, nospied Iepriekšapskata pogu\n un bloķējuma laiku sāks skaitīt no jauna.';
+$lang['js']['willexpire'] = 'Tavs bloķējums uz šo lapu pēc minūtes beigsies.\nLai izvairītos no konflikta, nospied Iepriekšapskata pogu\n un bloķējuma laiku sāks skaitīt no jauna.';
$lang['js']['notsavedyet'] = 'Veiktas bet nav saglabātas izmaiņas.
Vai tiešām tās nevajag?';
$lang['js']['searchmedia'] = 'Meklēt failus';
@@ -122,6 +124,15 @@ $lang['js']['linkwiz'] = 'Saišu vednis';
$lang['js']['linkto'] = 'Saite uz: ';
$lang['js']['del_confirm'] = 'Dzēst šo šķirkli?';
$lang['js']['mu_btn'] = 'Augšuplādēt uzreiz vairākus failus.';
+$lang['js']['restore_confirm'] = 'Tiešām atjaunot šo versiju';
+$lang['js']['media_diff'] = 'Skatīt atšķirību';
+$lang['js']['media_diff_both'] = 'Blakus';
+$lang['js']['media_diff_opacity'] = 'Pārklāti';
+$lang['js']['media_select'] = 'Norādīt failus...';
+$lang['js']['media_upload_btn'] = 'Augšuplādēt';
+$lang['js']['media_done_btn'] = 'Gatavs';
+$lang['js']['media_drop'] = 'Nomet te augšuplādējamos failus';
+$lang['js']['media_overwrt'] = 'Rakstīt pāri esošajiem failiem';
$lang['rssfailed'] = 'Kļūda saņemot saturu no ';
$lang['nothingfound'] = 'Nekas nav atrasts.';
$lang['mediaselect'] = 'Mēdiju faila izvēle';
@@ -160,7 +171,7 @@ $lang['diff_type'] = 'Skatīt atšķirības:';
$lang['diff_inline'] = 'Iekļauti';
$lang['diff_side'] = 'Blakus';
$lang['line'] = 'Rinda';
-$lang['breadcrumb'] = 'Ceļš';
+$lang['breadcrumb'] = 'Apmeklēts';
$lang['youarehere'] = 'Tu atrodies šeit';
$lang['lastmod'] = 'Labota';
$lang['by'] = ', labojis';
@@ -176,6 +187,10 @@ $lang['mail_changed'] = 'lapa mainīta:';
$lang['mail_subscribe_list'] = 'Nodaļā mainītās lapas:';
$lang['mail_new_user'] = 'Jauns lietotājs:';
$lang['mail_upload'] = 'augšupielādētais fails:';
+$lang['changes_type'] = 'Skatīt izmaiņas';
+$lang['pages_changes'] = 'Lapās';
+$lang['media_changes'] = 'Mēdiju failos';
+$lang['both_changes'] = 'Gan lapās, gan mēdiju failos';
$lang['qb_bold'] = 'Trekninājums';
$lang['qb_italic'] = 'Kursīvs';
$lang['qb_underl'] = 'Pasvītrojums';
@@ -216,6 +231,9 @@ $lang['img_copyr'] = 'Autortiesības';
$lang['img_format'] = 'Formāts';
$lang['img_camera'] = 'Fotoaparāts';
$lang['img_keywords'] = 'Atslēgvārdi';
+$lang['img_width'] = 'Platums';
+$lang['img_height'] = 'Augstums';
+$lang['img_manager'] = 'Skatīt mēdiju pārvaldniekā';
$lang['subscr_subscribe_success'] = '%s pievienots %s abonēšanas sarakstam';
$lang['subscr_subscribe_error'] = 'Kļūme pievienojot %s %s abonēšanas sarakstam.';
$lang['subscr_subscribe_noaddress'] = 'Nav zināma jūsu e-pasta adrese, tāpēc nevarat abonēt.';
@@ -281,3 +299,27 @@ $lang['hours'] = 'pirms %d stundām';
$lang['minutes'] = 'pirms %d minūtēm';
$lang['seconds'] = 'pirms %d sekundēm';
$lang['wordblock'] = 'Grozījumus nevarēju saglabāt, jo tie satur aizliegto vārdu (spamu).';
+$lang['media_uploadtab'] = 'Augšuplādēt';
+$lang['media_searchtab'] = 'Meklēt';
+$lang['media_file'] = 'Fails';
+$lang['media_viewtab'] = 'Skatīt';
+$lang['media_edittab'] = 'Labot';
+$lang['media_historytab'] = 'Vēsture';
+$lang['media_list_thumbs'] = 'Sīktēli';
+$lang['media_list_rows'] = 'Rindas';
+$lang['media_sort_name'] = 'Nosaukums';
+$lang['media_sort_date'] = 'Datums';
+$lang['media_namespaces'] = 'Norādīt nodaļu';
+$lang['media_files'] = 'Faili nodaļā s%';
+$lang['media_upload'] = 'Augšuplādēt nodaļā s%';
+$lang['media_search'] = 'Meklēt nodaļā s%';
+$lang['media_view'] = 's%';
+$lang['media_viewold'] = 's% nodaļā s%';
+$lang['media_edit'] = 'Labot %s';
+$lang['media_history'] = 's% vēsture';
+$lang['media_meta_edited'] = 'metadati laboti';
+$lang['media_perm_read'] = 'Atvainojiet, jums nav tiesību skatīt failus. ';
+$lang['media_perm_upload'] = 'Atvainojiet, jums nav tiesību augšupielādēt. ';
+$lang['media_update'] = 'Augšupielādēt jaunu versiju';
+$lang['media_restore'] = 'Atjaunot šo versiju';
+$lang['plugin_install_err'] = 'Modulis aplami instalēts. Pārdēvē moduļa direktoriju s% par s%.';
diff --git a/inc/lang/mk/lang.php b/inc/lang/mk/lang.php
index b7d433092..ca4a746cd 100644
--- a/inc/lang/mk/lang.php
+++ b/inc/lang/mk/lang.php
@@ -117,7 +117,6 @@ $lang['js']['nosmblinks'] = 'Поврзувањето со Windows Shares
$lang['js']['linkwiz'] = 'Волшебник за врски';
$lang['js']['linkto'] = 'Врска до:';
$lang['js']['del_confirm'] = 'Дали навистина да ги избришам избраните датотеки?';
-$lang['js']['mu_btn'] = 'Качете повеќе датотеки наеднаш';
$lang['mediausage'] = 'Користете ја следнава синтакса за референцирање кон оваа датотека:';
$lang['mediaview'] = 'Види ја оригиналната датотека';
$lang['mediaroot'] = 'root';
diff --git a/inc/lang/mr/lang.php b/inc/lang/mr/lang.php
index ae9d05bfd..63fda3e5a 100644
--- a/inc/lang/mr/lang.php
+++ b/inc/lang/mr/lang.php
@@ -45,8 +45,6 @@ $lang['btn_backlink'] = 'येथे काय जोडले आह
$lang['btn_backtomedia'] = 'परत माध्यम फाइल निवडीकड़े';
$lang['btn_subscribe'] = 'पृष्ठाच्या बदलांची पुरवणी (फीड) लावा ';
$lang['btn_unsubscribe'] = 'पृष्ठाच्या बदलांची पुरवणी (फीड) बंद करा';
-$lang['btn_subscribens'] = 'नामसमुहाच्या (नेमस्पेस) बदलांची पुरवणी (फीड) लावा';
-$lang['btn_unsubscribens'] = 'नामसमुहाच्या (नेमस्पेस) बदलांची पुरवणी (फीड) बंद करा';
$lang['btn_profile'] = 'प्रोफाइल अद्ययावत करा';
$lang['btn_reset'] = 'रिसेट';
$lang['btn_resendpwd'] = 'कृपया परवलीचा नवीन शब्द माझ्या इमेल पत्त्यावर पाठविणे.';
@@ -118,7 +116,6 @@ $lang['mediafiles'] = 'मध्ये उपलब्ध असल
$lang['js']['keepopen'] = 'निवड केल्यावर विण्डो उघडी ठेवा';
$lang['js']['hidedetails'] = 'सविस्तर मजकूर लपवा';
$lang['js']['nosmblinks'] = 'विन्डोज़ शेअर ला लिंक केल्यास ते फक्त मायक्रोसॉफ़्ट इन्टरनेट एक्स्प्लोरर वरच चालते. तरी तुम्ही लिंक कॉपी करू शकता.';
-$lang['js']['mu_btn'] = 'एक वेळेस अनेक फाइल वापरा';
$lang['mediausage'] = 'ह्या फाइलचा संदर्भ देण्यासाठी खालील सिन्टॅक्स वापरा :';
$lang['mediaview'] = 'मूळ फाइल बघू ';
$lang['mediaroot'] = 'रूट';
diff --git a/inc/lang/ne/lang.php b/inc/lang/ne/lang.php
index 53c701b23..97e2dde5c 100644
--- a/inc/lang/ne/lang.php
+++ b/inc/lang/ne/lang.php
@@ -38,8 +38,6 @@ $lang['btn_backlink'] = 'पछाडिका लिङ्कहरु
$lang['btn_backtomedia'] = 'मिडिया छनौटमा फर्कनुहोस्';
$lang['btn_subscribe'] = 'पृष्ठ परिवर्तन ग्राह्य गर्नुहोस्';
$lang['btn_unsubscribe'] = 'पृष्ठ परिवर्तन अग्राह्य गर्नुहोस्';
-$lang['btn_subscribens'] = 'नेमस्पेस परिवर्तन ग्राह्य गर्नुहोस् ';
-$lang['btn_unsubscribens'] = 'नेमस्पेस परिवर्तन अग्राह्य गर्नुहोस् ';
$lang['btn_profile'] = 'प्रोफाइल अध्यावधिक गर्नुहोस् ';
$lang['btn_reset'] = 'पूर्वरुपमा फर्काउनुहोस';
$lang['btn_resendpwd'] = 'नयाँ प्रवेश शव्द(पासवर्ड) पठाउनुहोस् ';
@@ -110,7 +108,6 @@ $lang['mediafiles'] = ' उपलब्ध फाइलहरु ';
$lang['js']['keepopen'] = 'छनौटमा विन्डो खुला राख्नुहोस् ';
$lang['js']['hidedetails'] = 'जानकारी लुकाउनु होस् ';
$lang['js']['nosmblinks'] = 'विन्डोहरु लिङ्क गर्दा माइक्रो सफ्ट एक्सप्लोररमामात्र काम साझा हुन्छ । तर कपि गर्न र टास्न मिल्छ। ';
-$lang['js']['mu_btn'] = 'धेरै वटा फाइलहरु एकैपटक अपलोड गर्नुहोस् ।';
$lang['mediausage'] = 'फाइललाई रेफरेन्स गर्न निम्न सुत्र प्रयोग गर्नुहोस् :';
$lang['mediaview'] = 'सक्कली फाइल हेर्नुहोस् ';
$lang['mediaroot'] = 'रुट(मूख्य प्रयोगकर्ता)';
diff --git a/inc/lang/nl/lang.php b/inc/lang/nl/lang.php
index 6090babd9..62d23b0d2 100644
--- a/inc/lang/nl/lang.php
+++ b/inc/lang/nl/lang.php
@@ -14,6 +14,7 @@
* @author Matthias Carchon <webmaster@c-mattic.be>
* @author Marijn Hofstra <hofstra.m@gmail.com>
* @author Timon Van Overveldt <timonvo@gmail.com>
+ * @author Jeroen
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@@ -55,6 +56,8 @@ $lang['btn_recover'] = 'Herstel concept';
$lang['btn_draftdel'] = 'Verwijder concept';
$lang['btn_revert'] = 'Herstellen';
$lang['btn_register'] = 'Registreren';
+$lang['btn_apply'] = 'Toepassen';
+$lang['btn_media'] = 'Media beheerder';
$lang['loggedinas'] = 'Ingelogd als';
$lang['user'] = 'Gebruikersnaam';
$lang['pass'] = 'Wachtwoord';
@@ -99,7 +102,7 @@ $lang['txt_filename'] = 'Vul nieuwe naam in (optioneel)';
$lang['txt_overwrt'] = 'Overschrijf bestaand bestand';
$lang['lockedby'] = 'Momenteel in gebruik door';
$lang['lockexpire'] = 'Exclusief gebruiksrecht vervalt op';
-$lang['js']['willexpire'] = 'Je exclusieve gebruiksrecht voor het aanpassen van deze pagina verloopt over een minuut.\nKlik op de Voorbeeld-knop om het exclusieve gebruiksrecht te verlengen.';
+$lang['js']['willexpire'] = 'Je exclusieve gebruiksrecht voor het aanpassen van deze pagina verloopt over een minuut.\nKlik op de Voorbeeld-knop om het exclusieve gebruiksrecht te verlengen.';
$lang['js']['notsavedyet'] = 'Nog niet bewaarde wijzigingen zullen verloren gaan.
Weet je zeker dat je wilt doorgaan?';
$lang['js']['searchmedia'] = 'Zoek naar bestanden';
@@ -131,7 +134,14 @@ Je kan de link wel kopiëren en plakken.';
$lang['js']['linkwiz'] = 'Linkwizard';
$lang['js']['linkto'] = 'Link naar:';
$lang['js']['del_confirm'] = 'Item(s) verwijderen?';
-$lang['js']['mu_btn'] = 'Meerdere files tegelijk uploaden';
+$lang['js']['restore_confirm'] = 'Werkelijk deze versie terugzetten?';
+$lang['js']['media_diff'] = 'Verschillen bekijken:';
+$lang['js']['media_diff_both'] = 'Naast elkaar';
+$lang['js']['media_diff_opacity'] = 'Doorschijnend';
+$lang['js']['media_select'] = 'Selecteer bestanden';
+$lang['js']['media_done_btn'] = 'Klaar';
+$lang['js']['media_cancel'] = 'Verwijderen';
+$lang['js']['media_overwrt'] = 'Bestaande bestanden overschrijven';
$lang['rssfailed'] = 'Er is een fout opgetreden bij het ophalen van de feed: ';
$lang['nothingfound'] = 'Er werd niets gevonden.';
$lang['mediaselect'] = 'Bestandsselectie';
@@ -186,6 +196,9 @@ $lang['mail_changed'] = 'pagina aangepast:';
$lang['mail_subscribe_list'] = 'Pagina\'s veranderd in namespace:';
$lang['mail_new_user'] = 'nieuwe gebruiker:';
$lang['mail_upload'] = 'bestand geüpload:';
+$lang['pages_changes'] = 'Pagina\'s';
+$lang['media_changes'] = 'Media bestanden';
+$lang['both_changes'] = 'Zowel pagina\'s als media bestanden';
$lang['qb_bold'] = 'Vette tekst';
$lang['qb_italic'] = 'Cursieve tekst';
$lang['qb_underl'] = 'Onderstreepte tekst';
@@ -226,6 +239,9 @@ $lang['img_copyr'] = 'Copyright';
$lang['img_format'] = 'Formaat';
$lang['img_camera'] = 'Camera';
$lang['img_keywords'] = 'Trefwoorden';
+$lang['img_width'] = 'Breedte';
+$lang['img_height'] = 'Hoogte';
+$lang['img_manager'] = 'In media beheerder bekijken';
$lang['subscr_subscribe_success'] = '%s is ingeschreven voor %s';
$lang['subscr_subscribe_error'] = 'Fout bij inschrijven van %s voor %s';
$lang['subscr_subscribe_noaddress'] = 'Er is geen emailadres geassocieerd met uw account, u kunt daardoor niet worden ingeschreven.';
@@ -290,3 +306,22 @@ $lang['hours'] = '%d uren geleden';
$lang['minutes'] = '%d minuten geleden';
$lang['seconds'] = '%d seconden geleden';
$lang['wordblock'] = 'Uw wijziging is niet opgeslagen omdat deze niet-toegestane tekst bevat (spam).';
+$lang['media_searchtab'] = 'Zoeken';
+$lang['media_file'] = 'Bestand';
+$lang['media_viewtab'] = 'Beeld';
+$lang['media_edittab'] = 'Bewerken';
+$lang['media_historytab'] = 'Geschiedenis';
+$lang['media_list_rows'] = 'Regels';
+$lang['media_sort_name'] = 'Naam';
+$lang['media_sort_date'] = 'Datum';
+$lang['media_namespaces'] = 'Kies naamruimte';
+$lang['media_files'] = 'Bestanden in %s';
+$lang['media_search'] = 'Zoeken in %s';
+$lang['media_view'] = '%s';
+$lang['media_edit'] = '%s bewerken';
+$lang['media_history'] = 'Geschiedenis van %s';
+$lang['media_meta_edited'] = 'Metagegevens bewerkt';
+$lang['media_perm_read'] = 'Sorry, u heeft niet voldoende rechten om bestanden te lezen.';
+$lang['media_perm_upload'] = 'Sorry, u heeft niet voldoende rechten om bestanden te uploaden.';
+$lang['media_restore'] = 'Deze versie terugzetten';
+$lang['plugin_install_err'] = 'Plugin is juist geinstalleerd. Hernoem plugin map \'%s\' naar \'%s\'.';
diff --git a/inc/lang/no/adminplugins.txt b/inc/lang/no/adminplugins.txt
index 32499a2e4..091ae4d7e 100644
--- a/inc/lang/no/adminplugins.txt
+++ b/inc/lang/no/adminplugins.txt
@@ -1 +1 @@
-====== Ekstra tilleggene ====== \ No newline at end of file
+====== Ekstra tillegg ====== \ No newline at end of file
diff --git a/inc/lang/no/conflict.txt b/inc/lang/no/conflict.txt
index 89479af4f..855034685 100644
--- a/inc/lang/no/conflict.txt
+++ b/inc/lang/no/conflict.txt
@@ -1,4 +1,4 @@
-====== Det fins en nyere versjon ======
+====== Det finnes en nyere versjon ======
Det fins en nyere versjon av dokumentet du har redigert. Dette kan skje når en annen bruker redigerer dokumentet samtidig med deg.
diff --git a/inc/lang/no/lang.php b/inc/lang/no/lang.php
index fa946ca02..88d21b536 100644
--- a/inc/lang/no/lang.php
+++ b/inc/lang/no/lang.php
@@ -16,11 +16,12 @@
* @author Lisa Ditlefsen <lisa@vervesearch.com>
* @author Erik Pedersen <erik.pedersen@shaw.ca>
* @author Rune Rasmussen syntaxerror.no@gmail.com
+ * @author Jon Bøe <jonmagneboe@hotmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
-$lang['doublequoteopening'] = '“';
-$lang['doublequoteclosing'] = '”';
+$lang['doublequoteopening'] = '«';
+$lang['doublequoteclosing'] = '»';
$lang['singlequoteopening'] = '‘';
$lang['singlequoteclosing'] = '’';
$lang['apostrophe'] = '\'';
@@ -57,6 +58,8 @@ $lang['btn_recover'] = 'Gjennvinn kladd';
$lang['btn_draftdel'] = 'Slett kladd';
$lang['btn_revert'] = 'Gjenopprette';
$lang['btn_register'] = 'Registrer deg';
+$lang['btn_apply'] = 'Bruk';
+$lang['btn_media'] = 'Mediefiler';
$lang['loggedinas'] = 'Innlogget som';
$lang['user'] = 'Brukernavn';
$lang['pass'] = 'Passord';
@@ -101,7 +104,7 @@ $lang['txt_filename'] = 'Skriv inn wikinavn (alternativt)';
$lang['txt_overwrt'] = 'Overskriv eksisterende fil';
$lang['lockedby'] = 'Stengt av';
$lang['lockexpire'] = 'Avstengningen opphører';
-$lang['js']['willexpire'] = 'Din redigeringslås for dette dokumentet kommer snart til å opphøre.\nFor å unngå versjonskonflikter bør du forhåndsvise dokumentet ditt for å forlenge redigeringslåsen.';
+$lang['js']['willexpire'] = 'Din redigeringslås for dette dokumentet kommer snart til å opphøre.\nFor å unngå versjonskonflikter bør du forhåndsvise dokumentet ditt for å forlenge redigeringslåsen.';
$lang['js']['notsavedyet'] = 'Ulagrede endringer vil gå tapt.
Vil du fortsette?';
$lang['js']['searchmedia'] = 'Søk for filer';
@@ -133,7 +136,17 @@ Du kan fortsatt kopiere og lime inn lenken.';
$lang['js']['linkwiz'] = 'guide til lenker';
$lang['js']['linkto'] = 'Lenke til:';
$lang['js']['del_confirm'] = 'Slett denne oppføringen?';
-$lang['js']['mu_btn'] = 'Last opp flere filer samtidig';
+$lang['js']['restore_confirm'] = 'Er du sikker på at du vil gjenopprette denne versjonen?';
+$lang['js']['media_diff'] = 'Vis forskjeller:';
+$lang['js']['media_diff_both'] = 'Side ved side';
+$lang['js']['media_diff_opacity'] = 'Gjennomskinnelighet';
+$lang['js']['media_diff_portions'] = 'Glidebryter';
+$lang['js']['media_select'] = 'Velg filer…';
+$lang['js']['media_upload_btn'] = 'Last opp';
+$lang['js']['media_done_btn'] = 'Ferdig';
+$lang['js']['media_drop'] = 'Dra filer hit for å laste dem opp';
+$lang['js']['media_cancel'] = 'fjern';
+$lang['js']['media_overwrt'] = 'Erstatt eksisterende filer';
$lang['rssfailed'] = 'En feil oppstod da denne kilden skulle hentes:';
$lang['nothingfound'] = 'Ingen data funnet.';
$lang['mediaselect'] = 'Valg av mediafil';
@@ -169,6 +182,7 @@ $lang['diff'] = 'Vis forskjeller mot nåværende versjon';
$lang['diff2'] = 'Vis forskjeller mellom valgte versjoner';
$lang['difflink'] = 'Lenk til denne sammenligningen';
$lang['diff_type'] = 'Vis forskjeller:';
+$lang['diff_inline'] = 'I teksten';
$lang['diff_side'] = 'Side ved side';
$lang['line'] = 'Linje';
$lang['breadcrumb'] = 'Spor';
@@ -187,6 +201,10 @@ $lang['mail_changed'] = 'side endret:';
$lang['mail_subscribe_list'] = 'side endret i \'namespace\':';
$lang['mail_new_user'] = 'ny bruker:';
$lang['mail_upload'] = 'fil opplastet:';
+$lang['changes_type'] = 'Vis endringer av';
+$lang['pages_changes'] = 'Sider';
+$lang['media_changes'] = 'Mediefiler';
+$lang['both_changes'] = 'Både sider og mediefiler';
$lang['qb_bold'] = 'Fet tekst';
$lang['qb_italic'] = 'Kursiv tekst';
$lang['qb_underl'] = 'Understreket tekst';
@@ -227,12 +245,25 @@ $lang['img_copyr'] = 'Opphavsrett';
$lang['img_format'] = 'Format';
$lang['img_camera'] = 'Kamera';
$lang['img_keywords'] = 'Nøkkelord';
+$lang['img_width'] = 'Bredde';
+$lang['img_height'] = 'Høyde';
+$lang['img_manager'] = 'Vis i mediefilbehandler';
+$lang['subscr_subscribe_success'] = 'La til %s som abonnent på %s';
+$lang['subscr_subscribe_error'] = 'Klarte ikke å legge til %s som abonnent på %s';
+$lang['subscr_subscribe_noaddress'] = 'Brukeren din er ikke registrert med noen adresse. Du kan derfor ikke legges til som abonnent.';
+$lang['subscr_unsubscribe_success'] = 'Avsluttet %s sitt abonnement på %s';
+$lang['subscr_unsubscribe_error'] = 'Klarte ikke å avslutte %s sitt abonnement på %s';
+$lang['subscr_already_subscribed'] = '%s abonnerer allerede på %s';
+$lang['subscr_not_subscribed'] = '%s abonnerer ikke på %s';
+$lang['subscr_m_not_subscribed'] = 'Du abonnerer ikke på denne sida eller dette navnerommet';
$lang['subscr_m_new_header'] = 'Legg til abonnement';
$lang['subscr_m_current_header'] = 'Gjeldende abonnementer';
$lang['subscr_m_unsubscribe'] = 'Avmeld';
$lang['subscr_m_subscribe'] = 'Påmeld';
$lang['subscr_m_receive'] = 'Motta';
$lang['subscr_style_every'] = 'e-post for alle endringer';
+$lang['subscr_style_digest'] = 'e-post med sammendrag av endringer for hver side (%.2f dager mellom hver)';
+$lang['subscr_style_list'] = 'liste med sider som er endra siden forrige e-post (%.2f dager mellom hver)';
$lang['authmodfailed'] = 'Feilkonfigurert brukerautorisasjon. Vennligst innformer Wiki-admin.';
$lang['authtempfail'] = 'Brukerautorisasjon er midlertidig utilgjengelig. Om dette vedvarer, vennligst informer Wiki-admin.';
$lang['i_chooselang'] = 'Velg ditt språk';
@@ -285,3 +316,27 @@ $lang['hours'] = '%d timer siden';
$lang['minutes'] = '%d minutter siden';
$lang['seconds'] = '%d sekunder siden';
$lang['wordblock'] = 'Din endring ble ikke lagret ettersom den inneholder blokkert tekst (søppel).';
+$lang['media_uploadtab'] = 'Last opp';
+$lang['media_searchtab'] = 'Søk';
+$lang['media_file'] = 'Fil';
+$lang['media_viewtab'] = 'Vis';
+$lang['media_edittab'] = 'Rediger';
+$lang['media_historytab'] = 'Historikk';
+$lang['media_list_thumbs'] = 'Miniatyrbilder';
+$lang['media_list_rows'] = 'Rader';
+$lang['media_sort_name'] = 'etter navn';
+$lang['media_sort_date'] = 'etter dato';
+$lang['media_namespaces'] = 'Velg navnerom';
+$lang['media_files'] = 'Filer i %s';
+$lang['media_upload'] = 'Last opp til navnerommet <strong>%s</strong>.';
+$lang['media_search'] = 'Søk i navnerommet <strong>%s</strong>.';
+$lang['media_view'] = '%s';
+$lang['media_viewold'] = '%s på %s';
+$lang['media_edit'] = 'Rediger';
+$lang['media_history'] = 'Dette er de tidligere versjonene av fila.';
+$lang['media_meta_edited'] = 'metadata er endra';
+$lang['media_perm_read'] = 'Beklager, du har ikke tilgang til å lese filer.';
+$lang['media_perm_upload'] = 'Beklager, du har ikke tilgang til å laste opp filer.';
+$lang['media_update'] = 'Last opp ny versjon';
+$lang['media_restore'] = 'Gjenopprett denne versjonen';
+$lang['plugin_install_err'] = 'Tillegget ble feil installert. Skift navn på mappa \'%s\' til \'%s\'.';
diff --git a/inc/lang/no/newpage.txt b/inc/lang/no/newpage.txt
index 8f4b8da79..f712998d2 100644
--- a/inc/lang/no/newpage.txt
+++ b/inc/lang/no/newpage.txt
@@ -1,3 +1,3 @@
-====== Det fins ikke noe innhold ======
+====== Dette emnet har ikke noe innhold ======
Du har klikket på en lenke til et emne som ikke finnes ennå. Du kan skape det gjennom å klikke på ''**Lag denne siden**''.
diff --git a/inc/lang/no/norev.txt b/inc/lang/no/norev.txt
index dfd71db0f..cc58c99e3 100644
--- a/inc/lang/no/norev.txt
+++ b/inc/lang/no/norev.txt
@@ -1,4 +1,4 @@
-====== Det fins ingen slik versjon ======
+====== Versjonen finnes ikke ======
-Den angitte versjonen fins ikke. Bruk ''**Historikk**'' for en oversikt over de versjoner som fins av dette dokumentet.
+Den angitte versjonen finnes ikke. Bruk ''**Historikk**'' for en oversikt over de versjoner som finnes av dette dokumentet.
diff --git a/inc/lang/no/registermail.txt b/inc/lang/no/registermail.txt
index e1fae2b90..35ed253ab 100644
--- a/inc/lang/no/registermail.txt
+++ b/inc/lang/no/registermail.txt
@@ -1,4 +1,4 @@
-En ny bruker har registret seg, her er detaljene:
+En ny bruker har registrert seg, her er detaljene:
Brukernavn : @NEWUSER@
Fult navn : @NEWNAME@
diff --git a/inc/lang/no/stopwords.txt b/inc/lang/no/stopwords.txt
index 2b2ab11e2..9a4c302d9 100644
--- a/inc/lang/no/stopwords.txt
+++ b/inc/lang/no/stopwords.txt
@@ -1,130 +1,68 @@
-# This is a list of words the indexer ignores, one word per line
-# When you edit this file be sure to use UNIX line endings (single newline)
-# No need to include words shorter than 3 chars - these are ignored anyway
-# This list is based upon the ones found at http://www.ranks.nl/stopwords/
-alle
-andre
-arbeid
-begge
-bort
-bra
-bruke
-denne
-der
-deres
+# Dette er en liste med ord som indeksereren ignorerer, ett ord per linje.
+# Når du redigerer siden, pass på å bruke UNIX linjeslutt (enkel ny linje).
+# Ord kortere enn 3 bokstaver er automatisk ignorert.
+# Listen er basert på http://helmer.aksis.uib.no/nta/ord10000.txt
+i
+og
det
-din
-disse
-eller
-ene
-eneste
-enhver
-enn
-folk
+er
+på
+til
+som
+en
for
-fordi
-forsÛke
-fra
-fÅ
-fÛr
-fÛrst
-gjorde
-gjÛre
-god
-gÅ
-hadde
-han
-hans
-hennes
-her
-hva
-hvem
-hver
-hvilken
-hvis
-hvor
-hvordan
-hvorfor
-ikke
-inn
-innen
-kan
-kunne
-lage
-lang
-lik
-like
-makt
-mange
+av
+at
+har
med
-meg
-meget
-men
-mens
-mer
-mest
-min
-mye
-mÅ
-mÅte
-navn
-nei
-nÅ
-nÅr
-ogsÅ
-opp
-oss
-over
-part
-punkt
-pÅ
-rett
-riktig
-samme
-sant
-siden
-sist
-skulle
-slik
-slutt
-som
-start
-stille
-sÅ
-tid
-til
-tilbake
-tilstand
-under
-uten
-var
-ved
-verdi
-vil
-ville
-vite
-vÅr
-vÖre
-vÖrt
-om
-er
-og
-du
-dine
de
-deres
-com
-for
+ikke
+den
+han
+om
+et
fra
-inni
-hvordan
-det
-dette
+men
+vi
var
-hva
-når
-hvor
-hvem
+jeg
+seg
+sier
vil
-med
+kan
+ble
+skal
+etter
+også
+så
+ut
+år
+nå
+da
+dette
+blir
+ved
+mot
+hadde
+to
+hun
+over
+være
+ha
+må
+går
+opp
+få
+andre
+eller
+bare
+sin
+mer
+inn
+før
+bli
+vært
+enn
+alle
www \ No newline at end of file
diff --git a/inc/lang/no/subscr_digest.txt b/inc/lang/no/subscr_digest.txt
new file mode 100644
index 000000000..6afd0cc5c
--- /dev/null
+++ b/inc/lang/no/subscr_digest.txt
@@ -0,0 +1,20 @@
+Hei!
+
+Siden @PAGE@ på wikien @TITLE@ har blitt endret.
+Her er endringene:
+
+--------------------------------------------------------
+@DIFF@
+--------------------------------------------------------
+
+Gammel versjon : @OLDPAGE@
+Ny versjon: @NEWPAGE@
+
+For å avslutte varslingen, logg inn på
+@DOKUWIKIURL@ og gå til
+@NEWPAGE@
+og avslutt abonnementet på endringer av siden eller i navnerommet.
+
+--
+Denne e-posten ble generert av DokuWiki på
+@DOKUWIKIURL@ \ No newline at end of file
diff --git a/inc/lang/no/subscr_form.txt b/inc/lang/no/subscr_form.txt
new file mode 100644
index 000000000..c3df69e02
--- /dev/null
+++ b/inc/lang/no/subscr_form.txt
@@ -0,0 +1,3 @@
+====== Administrere abonnement ======
+
+Denne sida lar deg administrere abonnementene dine for denne sida og dette navnerommet. \ No newline at end of file
diff --git a/inc/lang/no/subscr_list.txt b/inc/lang/no/subscr_list.txt
new file mode 100644
index 000000000..72cd307cb
--- /dev/null
+++ b/inc/lang/no/subscr_list.txt
@@ -0,0 +1,17 @@
+Hei!
+
+Sider i navnerommet @PAGE@ på wikien @TITLE@ har blitt endra.
+Her er endringene:
+
+--------------------------------------------------------
+@DIFF@
+--------------------------------------------------------
+
+For å avslutte varslinga, logg inn på
+@DOKUWIKIURL@ og gå til
+@NEWPAGE@
+og avslutt abonnementet på endringer av sida eller i navnerommet.
+
+--
+Denne e-posten ble generert av DokuWiki på
+@DOKUWIKIURL@ \ No newline at end of file
diff --git a/inc/lang/no/subscr_single.txt b/inc/lang/no/subscr_single.txt
new file mode 100644
index 000000000..25296da58
--- /dev/null
+++ b/inc/lang/no/subscr_single.txt
@@ -0,0 +1,23 @@
+Hei!
+
+Siden @PAGE@ på wikien @TITLE@ har blitt endret.
+Her er endringene:
+
+--------------------------------------------------------
+@DIFF@
+--------------------------------------------------------
+
+Dato : @DATE@
+Bruker : @USER@
+Sammendrag: @SUMMARY@
+Gammel versjon : @OLDPAGE@
+Ny versjon: @NEWPAGE@
+
+For å avslutte varslingen, logg inn på
+@DOKUWIKIURL@, gå til
+@NEWPAGE@
+og avslutt abonnementet på endringer av siden eller i navnerommet.
+
+--
+Denne e-posten ble generert av DokuWiki på
+@DOKUWIKIURL@ \ No newline at end of file
diff --git a/inc/lang/no/updateprofile.txt b/inc/lang/no/updateprofile.txt
index 5565e528f..b2e37e76d 100644
--- a/inc/lang/no/updateprofile.txt
+++ b/inc/lang/no/updateprofile.txt
@@ -1,5 +1,5 @@
====== Oppdater din brukerprofil ======
-Du behøver bare fylle ut de felter du ønsker å endre. Du kan ikke endre ditt brukernavn.
+Du behøver bare fylle ut de felter du ønsker å endre. Du kan ikke endre brukernavnet ditt.
diff --git a/inc/lang/no/uploadmail.txt b/inc/lang/no/uploadmail.txt
index b01905009..2890d962d 100644
--- a/inc/lang/no/uploadmail.txt
+++ b/inc/lang/no/uploadmail.txt
@@ -1,6 +1,7 @@
En fil ble lastet opp på din DokuWiki. Her er detaljene:
Fil : @MEDIA@
+Gammel versjon: @OLD@
Dato : @DATE@
Nettleser : @BROWSER@
IP-adresse : @IPADDRESS@
diff --git a/inc/lang/pl/lang.php b/inc/lang/pl/lang.php
index f9bf57852..a6fc3d52e 100644
--- a/inc/lang/pl/lang.php
+++ b/inc/lang/pl/lang.php
@@ -129,7 +129,6 @@ Możesz skopiować odnośnik.';
$lang['js']['linkwiz'] = 'Tworzenie odnośników';
$lang['js']['linkto'] = 'Link do';
$lang['js']['del_confirm'] = 'Czy na pewno usunąć?';
-$lang['js']['mu_btn'] = 'Wyślij wiele plików na raz';
$lang['rssfailed'] = 'Wystąpił błąd przy pobieraniu tych danych: ';
$lang['nothingfound'] = 'Nic nie znaleziono.';
$lang['mediaselect'] = 'Wysyłanie pliku';
diff --git a/inc/lang/pt-br/lang.php b/inc/lang/pt-br/lang.php
index 0abe8a6b6..066b3acaa 100644
--- a/inc/lang/pt-br/lang.php
+++ b/inc/lang/pt-br/lang.php
@@ -18,6 +18,7 @@
* @author Sergio Motta <sergio@cisne.com.br>
* @author Isaias Masiero Filho <masiero@masiero.org>
* @author Frederico Guimarães <frederico@teia.bio.br>
+ * @author Balaco Baco <balacobaco@imap.cc>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@@ -103,7 +104,7 @@ $lang['txt_filename'] = 'Enviar como (opcional)';
$lang['txt_overwrt'] = 'Substituir o arquivo existente';
$lang['lockedby'] = 'Atualmente bloqueada por';
$lang['lockexpire'] = 'O bloqueio expira em';
-$lang['js']['willexpire'] = 'O seu bloqueio de edição deste página irá expirar em um minuto.\nPara evitar conflitos de edição, clique no botão de visualização para reiniciar o temporizador de bloqueio.';
+$lang['js']['willexpire'] = 'O seu bloqueio de edição deste página irá expirar em um minuto.\nPara evitar conflitos de edição, clique no botão de visualização para reiniciar o temporizador de bloqueio.';
$lang['js']['notsavedyet'] = 'As alterações não salvas serão perdidas.
Deseja realmente continuar?';
$lang['js']['searchmedia'] = 'Buscar por arquivos';
@@ -135,7 +136,6 @@ Entretanto, você ainda pode copiar e colar o atalho.';
$lang['js']['linkwiz'] = 'Link Wizard';
$lang['js']['linkto'] = 'Link para:';
$lang['js']['del_confirm'] = 'Deseja realmente excluir o(s) item(ns) selecionado(s)?';
-$lang['js']['mu_btn'] = 'Enviar vários arquivos de uma vez';
$lang['rssfailed'] = 'Ocorreu um erro durante a atualização dessa fonte: ';
$lang['nothingfound'] = 'Não foi encontrado nada.';
$lang['mediaselect'] = 'Arquivos de mídia';
diff --git a/inc/lang/pt/lang.php b/inc/lang/pt/lang.php
index dba379df5..3c3a8d9da 100644
--- a/inc/lang/pt/lang.php
+++ b/inc/lang/pt/lang.php
@@ -12,11 +12,12 @@
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
-$lang['doublequoteopening'] = '“';
-$lang['doublequoteclosing'] = '”';
-$lang['singlequoteopening'] = '‘';
-$lang['singlequoteclosing'] = '’';
-$lang['apostrophe'] = '´';
+$lang['doublequoteopening'] = '“';//&ldquo;
+$lang['doublequoteclosing'] = '”';//&rdquo;
+$lang['singlequoteopening'] = '‘';//&lsquo;
+$lang['singlequoteclosing'] = '’';//&rsquo;
+$lang['apostrophe'] = '’';//&rsquo;
+
$lang['btn_edit'] = 'Editar página';
$lang['btn_source'] = 'Ver fonte';
$lang['btn_show'] = 'Ver página';
@@ -50,6 +51,9 @@ $lang['btn_recover'] = 'Recuperar rascunho';
$lang['btn_draftdel'] = 'Apagar rascunho';
$lang['btn_revert'] = 'Restaurar';
$lang['btn_register'] = 'Registar';
+$lang['btn_apply'] = 'Aplicar';
+$lang['btn_media'] = 'Gestor de Media';
+
$lang['loggedinas'] = 'Está em sessão como';
$lang['user'] = 'Utilizador';
$lang['pass'] = 'Senha';
@@ -64,6 +68,7 @@ $lang['badlogin'] = 'O utilizador inválido ou senha inválida.';
$lang['minoredit'] = 'Alterações Menores';
$lang['draftdate'] = 'Rascunho automaticamente gravado em';
$lang['nosecedit'] = 'A página foi modificada entretanto. Como a informação da secção estava desactualizada, foi carregada a página inteira.';
+
$lang['regmissing'] = 'Por favor, preencha todos os campos.';
$lang['reguexists'] = 'Este utilizador já está inscrito. Por favor escolha outro nome de utilizador.';
$lang['regsuccess'] = 'O utilizador foi criado e a senha foi enviada para o endereço de correio electrónico usado na inscrição.';
@@ -73,10 +78,12 @@ $lang['regbadmail'] = 'O endereço de correio electrónico é inváli
$lang['regbadpass'] = 'As duas senhas não são idênticas, por favor tente de novo.';
$lang['regpwmail'] = 'A sua senha DokuWiki';
$lang['reghere'] = 'Para se registar, clique em';
+
$lang['profna'] = 'Este Wiki não suporta modificações aos perfis.';
$lang['profnochange'] = 'Nada alteração, nada a fazer.';
$lang['profnoempty'] = 'Não são permitidos nomes ou endereços em branco.';
$lang['profchanged'] = 'Perfil do utilizador actualizado com sucesso.';
+
$lang['pwdforget'] = 'Esqueceu a sua senha? Pedir nova senha';
$lang['resendna'] = 'Este wiki não suporta reenvio de senhas.';
$lang['resendpwd'] = 'Enviar nova senha para';
@@ -85,8 +92,10 @@ $lang['resendpwdnouser'] = 'Não foi possível encontrar este utilizador.'
$lang['resendpwdbadauth'] = 'O código de autenticação não é válido. Por favor, assegure-se de que o link de confirmação está completo.';
$lang['resendpwdconfirm'] = 'O link de confirmação foi enviado por e-mail.';
$lang['resendpwdsuccess'] = 'A nova senha foi enviada por e-mail.';
+
$lang['license'] = 'Excepto menção em contrário, o conteúdo neste wiki está sob a seguinte licença:';
$lang['licenseok'] = 'Nota: Ao editar esta página você aceita disponibilizar o seu conteúdo sob a seguinte licença:';
+
$lang['searchmedia'] = 'Procurar nome de ficheiro:';
$lang['searchmedia_in'] = 'Procurar em %s';
$lang['txt_upload'] = 'Escolha ficheiro para carregar';
@@ -94,9 +103,10 @@ $lang['txt_filename'] = 'Carregar como (opcional)';
$lang['txt_overwrt'] = 'Escrever por cima do ficheiro já existente';
$lang['lockedby'] = 'Bloqueado por';
$lang['lockexpire'] = 'Expira em';
-$lang['js']['willexpire'] = 'O bloqueio de edição para este documento irá expirar num minuto.\nPara evitar conflitos de edição, clique no botão <Prever> para re-iniciar o temporizador de bloqueio.';
-$lang['js']['notsavedyet'] = 'Existem alterações não gravadas, que serão perdidas se continuar.
-Deseja realmente continuar?';
+$lang['js']['willexpire'] = 'O bloqueio de edição para este documento irá expirar num minuto.\nPara evitar conflitos use o botão Prever para re-iniciar o temporizador de bloqueio.';
+
+$lang['js']['notsavedyet'] = 'Alterações não gravadas serão perdidas.';
+
$lang['js']['searchmedia'] = 'Procurar por ficheiros';
$lang['js']['keepopen'] = 'Mantenha a janela aberta durante a selecção';
$lang['js']['hidedetails'] = 'Esconder Detalhes';
@@ -125,8 +135,8 @@ $lang['js']['nosmblinks'] = 'Ligação a pastas Windows partilhadas apenas
Pode no entanto copiar e colar o link.';
$lang['js']['linkwiz'] = 'Assistente de Criação de Ligação';
$lang['js']['linkto'] = 'Ligação para:';
-$lang['js']['del_confirm'] = 'Remover esta entrada?';
-$lang['js']['mu_btn'] = 'Enviar múltiplos ficheiros de uma vez';
+$lang['js']['del_confirm'] = 'Remover o(s) item(s) selecionados?';
+$lang['js']['restore_confirm'] = 'Restaurar esta versão?';
$lang['rssfailed'] = 'Ocorreu um erro neste canal RSS: ';
$lang['nothingfound'] = 'Nada foi encontrado.';
$lang['mediaselect'] = 'Selecção de ficheiros';
@@ -176,6 +186,10 @@ $lang['external_edit'] = 'Edição externa';
$lang['summary'] = 'Sumário da Edição';
$lang['noflash'] = 'O <a href="http://www.adobe.com/products/flashplayer/">Plugin Adobe Flash</a> é necessário para exibir este conteúdo.';
$lang['download'] = 'Descarregar Snippet';
+$lang['changes_type'] = 'Ver alterações de';
+$lang['pages_changes'] = 'Páginas';
+$lang['media_changes'] = 'Ficheiros Media';
+$lang['both_changes'] = 'Tanto páginas como ficheiros media';
$lang['mail_newpage'] = 'documento adicionado:';
$lang['mail_changed'] = 'documento modificado:';
$lang['mail_subscribe_list'] = 'páginas alteradas no espaço de nome:';
@@ -221,6 +235,9 @@ $lang['img_copyr'] = 'Copyright';
$lang['img_format'] = 'Formato';
$lang['img_camera'] = 'Câmara';
$lang['img_keywords'] = 'Palavras-Chave';
+$lang['img_width'] = 'Largura';
+$lang['img_height'] = 'Altura';
+$lang['img_manager'] = 'Ver em gestor de media';
$lang['subscr_subscribe_success'] = 'Adicionado %s à lista de subscrição para %s';
$lang['subscr_subscribe_error'] = 'Erro ao adicionar %s à lista de subscrição para %s';
$lang['subscr_subscribe_noaddress'] = 'Não existe endereço algum associado com o seu nome de utilizador, não pode ser adicionado à lista de subscrição';
@@ -285,3 +302,36 @@ $lang['hours'] = '%d horas atrás';
$lang['minutes'] = '%d minutos atrás';
$lang['seconds'] = '%d segundos atrás';
$lang['wordblock'] = 'A sua alteração não foi guardada porque contém texto bloqueado (spam).';
+
+$lang['media_uploadtab'] = 'Enviar';
+$lang['media_searchtab'] = 'Procurar';
+$lang['media_viewtab'] = 'Ver';
+$lang['media_edittab'] = 'Editar';
+$lang['media_historytab'] = 'Histórico';
+$lang['media_sort'] = 'Ordenar';
+$lang['media_sort_name'] = 'Ordenar por nome';
+$lang['media_sort_date'] = 'Ordenar por data';
+$lang['media_upload'] = 'Enviar para o grupo <strong>%s</strong>.';
+$lang['media_search'] = 'Procurar no grupo <strong>%s</strong>.';
+$lang['media_view'] = '%s';
+$lang['media_edit'] = 'Editar %s';
+$lang['media_history'] = 'Histórico do %s';
+$lang['media_meta_edited']= 'metadata editada';
+$lang['media_perm_read'] = 'Perdão, não tem permissão para ler ficheiros.';
+$lang['media_perm_upload']= 'Perdão, não tem permissão para enviar ficheiros.';
+$lang['media_update'] = 'enviar nova versão';
+$lang['media_restore'] = 'Restaurar esta versão';
+
+$lang['js']['media_diff'] = 'Ver diferenças:';
+$lang['js']['media_diff_both'] = 'Lado a Lado';
+$lang['js']['media_diff_opacity'] = 'Sobreposição';
+$lang['js']['media_diff_portions'] = 'Slider'; // Needs translation. 'Deslizador' ?
+
+$lang['js']['media_select'] = 'Selecione ficheiros…';
+$lang['js']['media_upload_btn'] = 'Enviar';
+$lang['js']['media_done_btn'] = 'Feito';
+$lang['js']['media_drop'] = 'Largue ficheiros aqui para enviar';
+$lang['js']['media_cancel'] = 'remover';
+$lang['js']['media_overwrt'] = 'Escrever por cima de ficheiros existentes';
+
+$lang['plugin_install_err'] = "Plugin instalado incorrectamente. Renomeie a pasta do plugin de '%s' para '%s'.";
diff --git a/inc/lang/pt/uploadmail.txt b/inc/lang/pt/uploadmail.txt
index 597ba4a01..bb571ffae 100644
--- a/inc/lang/pt/uploadmail.txt
+++ b/inc/lang/pt/uploadmail.txt
@@ -1,15 +1,15 @@
Um ficheiro foi carregado. Aqui estão os detalhes:
-Ficheiro : @MEDIA@
-Data : @DATE@
-Browser : @BROWSER@
-Endereço IP : @IPADDRESS@
-Hostname : @HOSTNAME@
-Tamanho : @SIZE@
-MIME Type : @MIME@
-Utilizador : @USER@
-
-----
+Ficheiro : @MEDIA@
+Revisão antiga : @OLD@
+Data : @DATE@
+Navegador : @BROWSER@
+Endereço IP : @IPADDRESS@
+Hostname : @HOSTNAME@
+Tamanho : @SIZE@
+MIME Type : @MIME@
+Utilizador : @USER@
+--
Esta mensagem foi gerada pelo DokuWiki em
-@DOKUWIKIURL@ \ No newline at end of file
+@DOKUWIKIURL@
diff --git a/inc/lang/ro/lang.php b/inc/lang/ro/lang.php
index b8d7520e6..91f8ebb97 100644
--- a/inc/lang/ro/lang.php
+++ b/inc/lang/ro/lang.php
@@ -7,6 +7,7 @@
* @author Sergiu Baltariu <s_baltariu@yahoo.com>
* @author Emanuel-Emeric Andrași <n30@mandrivausers.ro>
* @author Emanuel-Emeric Andraşi <em.andrasi@mandrivausers.ro>
+ * @author Marius OLAR <olarmariusalex@gmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@@ -48,6 +49,8 @@ $lang['btn_recover'] = 'Recuperează schiţă';
$lang['btn_draftdel'] = 'Şterge schiţă';
$lang['btn_revert'] = 'Revenire';
$lang['btn_register'] = 'Înregistrează';
+$lang['btn_apply'] = 'Aplică';
+$lang['btn_media'] = 'Administrare media';
$lang['loggedinas'] = 'Logat ca şi';
$lang['user'] = 'Utilizator';
$lang['pass'] = 'Parola';
@@ -92,7 +95,7 @@ $lang['txt_filename'] = 'Încarcă fişierul ca (opţional)';
$lang['txt_overwrt'] = 'Suprascrie fişierul existent';
$lang['lockedby'] = 'Momentan blocat de';
$lang['lockexpire'] = 'Blocarea expiră la';
-$lang['js']['willexpire'] = 'Blocarea pentru editarea paginii expiră intr-un minut.\nPentru a preveni conflictele foloseşte butonul de previzualizare pentru resetarea blocării.';
+$lang['js']['willexpire'] = 'Blocarea pentru editarea paginii expiră intr-un minut.\nPentru a preveni conflictele foloseşte butonul de previzualizare pentru resetarea blocării.';
$lang['js']['notsavedyet'] = 'Există modificări nesalvate, care se vor pierde.
Doreşti să continui?';
$lang['js']['searchmedia'] = 'Caută fişiere';
@@ -124,7 +127,17 @@ Puteţi însă copia şi insera legătura.';
$lang['js']['linkwiz'] = 'Asistent legătură';
$lang['js']['linkto'] = 'Legătură la:';
$lang['js']['del_confirm'] = 'Doriţi într-adevăr ştergerea elementelor selectate?';
-$lang['js']['mu_btn'] = 'Încarcă mai multe fişiere simultan';
+$lang['js']['restore_confirm'] = 'Sunteți sigur că doriți restaurarea acestei versiuni?';
+$lang['js']['media_diff'] = 'Arată diferențele:';
+$lang['js']['media_diff_both'] = 'Unul lângă altul';
+$lang['js']['media_diff_opacity'] = 'Străveziu';
+$lang['js']['media_diff_portions'] = 'Lovește cu putere';
+$lang['js']['media_select'] = 'Selectează fișierele...';
+$lang['js']['media_upload_btn'] = 'Încarcă';
+$lang['js']['media_done_btn'] = 'Gata';
+$lang['js']['media_drop'] = 'Lasă fișierele aici pentru încărcarea lor';
+$lang['js']['media_cancel'] = 'înlătură';
+$lang['js']['media_overwrt'] = 'Suprascrie fișierele deja existente';
$lang['rssfailed'] = 'A apărut o eroare in timpul descărcării acestui cîmp: ';
$lang['nothingfound'] = 'Nu am găsit nimic.';
$lang['mediaselect'] = 'Selectare fişiere media';
@@ -179,6 +192,10 @@ $lang['mail_changed'] = 'page schimbată:';
$lang['mail_subscribe_list'] = 'pagini modificate în spaţiul de nume:';
$lang['mail_new_user'] = 'utilizator nou';
$lang['mail_upload'] = 'fişier încărcat:';
+$lang['changes_type'] = 'Vizualizare modificări';
+$lang['pages_changes'] = 'Pagini';
+$lang['media_changes'] = 'Fișiere media';
+$lang['both_changes'] = 'Ambele pagini şi fişiere media';
$lang['qb_bold'] = 'Text Îngroşat';
$lang['qb_italic'] = 'Text Italic';
$lang['qb_underl'] = 'Text Subliniat';
@@ -219,6 +236,9 @@ $lang['img_copyr'] = 'Copyright';
$lang['img_format'] = 'Format';
$lang['img_camera'] = 'Camera';
$lang['img_keywords'] = 'Cuvinte cheie';
+$lang['img_width'] = 'Lățime';
+$lang['img_height'] = 'Înălțime';
+$lang['img_manager'] = 'Vizualizează în administratorul media';
$lang['subscr_subscribe_success'] = 'Adăugat %s la lista de abonare pentru %s';
$lang['subscr_subscribe_error'] = 'Eroare la adăugarea %s la lista de abonare pentru %s';
$lang['subscr_subscribe_noaddress'] = 'Nu există adresa asociată cu logarea dvs., nu puteţi fi adăugat la lista de abonare';
@@ -271,7 +291,7 @@ $lang['mu_ready'] = 'pregătit pentru încărcare';
$lang['mu_done'] = 'complet';
$lang['mu_fail'] = 'eşuat';
$lang['mu_authfail'] = 'sesiunea a expirat';
-$lang['mu_progress'] = '@PCT@% incărcat';
+$lang['mu_progress'] = '@PCT@% încărcat';
$lang['mu_filetypes'] = 'Tipuri de fişiere permise';
$lang['mu_info'] = 'fişiere încărcate';
$lang['mu_lasterr'] = 'Ultima eroare:';
@@ -284,3 +304,27 @@ $lang['hours'] = 'acum %d ore';
$lang['minutes'] = 'acum %d minute';
$lang['seconds'] = 'acum %d secunde';
$lang['wordblock'] = 'Modificarea dvs. nu au fost salvate deoarece conţine text blocat (spam).';
+$lang['media_uploadtab'] = 'Încarcă';
+$lang['media_searchtab'] = 'Căutare';
+$lang['media_file'] = 'Fișier';
+$lang['media_viewtab'] = 'Vizualizare';
+$lang['media_edittab'] = 'Editare';
+$lang['media_historytab'] = 'Istoric';
+$lang['media_list_thumbs'] = 'Miniaturi';
+$lang['media_list_rows'] = 'Linii';
+$lang['media_sort_name'] = 'Nume';
+$lang['media_sort_date'] = 'Data';
+$lang['media_namespaces'] = 'Alegeți numele se spațiu';
+$lang['media_files'] = 'Fișiere în %s';
+$lang['media_upload'] = 'Încarcă în %s';
+$lang['media_search'] = 'Caută în %s';
+$lang['media_view'] = '%s';
+$lang['media_viewold'] = '%s în %s';
+$lang['media_edit'] = 'Editare %s';
+$lang['media_history'] = 'Istoricul pentru %s';
+$lang['media_meta_edited'] = 'metadate editate';
+$lang['media_perm_read'] = 'Ne pare rău, dar nu aveți suficiente drepturi pentru a putea citi fișiere.';
+$lang['media_perm_upload'] = 'Ne pare rău, dar nu aveți suficiente drepturi pentru a putea încărca fișiere.';
+$lang['media_update'] = 'Încarcă noua versiune';
+$lang['media_restore'] = 'Restaurează această versiune';
+$lang['plugin_install_err'] = 'Modul instalat greșit. Redenumește directorul modulului \'%s\' în \'%s\'.';
diff --git a/inc/lang/ru/lang.php b/inc/lang/ru/lang.php
index ce9e54819..eda838451 100644
--- a/inc/lang/ru/lang.php
+++ b/inc/lang/ru/lang.php
@@ -22,11 +22,12 @@
*/
$lang['encoding'] = ' utf-8';
$lang['direction'] = 'ltr';
-$lang['doublequoteopening'] = '«';
-$lang['doublequoteclosing'] = '»';
-$lang['singlequoteopening'] = '„';
-$lang['singlequoteclosing'] = '“';
-$lang['apostrophe'] = '’';
+$lang['doublequoteopening'] = '«'; //&ldquo;
+$lang['doublequoteclosing'] = '»'; //&rdquo;
+$lang['singlequoteopening'] = '„'; //&lsquo;
+$lang['singlequoteclosing'] = '“'; //&rsquo;
+$lang['apostrophe'] = '’'; //&rsquo;
+
$lang['btn_edit'] = 'Править страницу';
$lang['btn_source'] = 'Показать исходный текст';
$lang['btn_show'] = 'Показать страницу';
@@ -60,6 +61,9 @@ $lang['btn_recover'] = 'Восстановить черновик';
$lang['btn_draftdel'] = 'Удалить черновик';
$lang['btn_revert'] = 'Восстановить';
$lang['btn_register'] = 'Зарегистрироваться';
+$lang['btn_apply'] = 'Применить';
+$lang['btn_media'] = 'Media Manager';
+
$lang['loggedinas'] = 'Зашли как';
$lang['user'] = 'Логин';
$lang['pass'] = 'Пароль';
@@ -74,6 +78,7 @@ $lang['badlogin'] = 'Извините, неверное имя по
$lang['minoredit'] = 'Небольшие изменения';
$lang['draftdate'] = 'Черновик сохранён';
$lang['nosecedit'] = 'За это время страница была изменена и информация о секции устарела. Загружена полная версия страницы.';
+
$lang['regmissing'] = 'Извините, вам следует заполнить все поля.';
$lang['reguexists'] = 'Извините, пользователь с таким логином уже существует.';
$lang['regsuccess'] = 'Пользователь создан, пароль выслан на адрес электронной почты.';
@@ -83,10 +88,12 @@ $lang['regbadmail'] = 'Данный вами адрес электр
$lang['regbadpass'] = 'Два введённых пароля не идентичны. Пожалуйста, попробуйте ещё раз.';
$lang['regpwmail'] = 'Ваш пароль для системы «ДокуВики»';
$lang['reghere'] = 'У вас ещё нет аккаунта? Зарегистрируйтесь';
+
$lang['profna'] = 'Данная вики не поддерживает изменение профиля';
$lang['profnochange'] = 'Изменений не было внесено, профиль не обновлён.';
$lang['profnoempty'] = 'Логин и адрес электронной почты не могут быть пустыми.';
$lang['profchanged'] = 'Профиль пользователя успешно обновлён.';
+
$lang['pwdforget'] = 'Забыли пароль? Получите новый';
$lang['resendna'] = 'Данная вики не поддерживает повторную отправку пароля.';
$lang['resendpwd'] = 'Выслать пароль для';
@@ -95,8 +102,10 @@ $lang['resendpwdnouser'] = 'Пользователь с таким лог
$lang['resendpwdbadauth'] = 'Извините, неверный код авторизации. Убедитесь, что вы полностью скопировали ссылку. ';
$lang['resendpwdconfirm'] = 'Ссылка для подтверждения пароля была выслана по электронной почте. ';
$lang['resendpwdsuccess'] = 'Ваш новый пароль был выслан по электронной почте.';
+
$lang['license'] = 'За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:';
$lang['licenseok'] = 'Примечание: редактируя эту страницу, вы соглашаетесь на использование своего вклада на условиях следующей лицензии:';
+
$lang['searchmedia'] = 'Поиск по имени файла:';
$lang['searchmedia_in'] = 'Поиск в %s';
$lang['txt_upload'] = 'Выберите файл для загрузки';
@@ -104,7 +113,7 @@ $lang['txt_filename'] = 'Введите имя файла в вики (
$lang['txt_overwrt'] = 'Перезаписать существующий файл';
$lang['lockedby'] = 'В данный момент заблокирован';
$lang['lockexpire'] = 'Блокировка истекает в';
-$lang['js']['willexpire'] = 'Ваша блокировка редактирования этой страницы истекает в течение минуты.\nЧтобы избежать конфликтов и сбросить таймер блокировки, нажмите кнопку просмотра.';
+$lang['js']['willexpire'] = 'Ваша блокировка редактирования этой страницы истекает в течение минуты.\nЧтобы избежать конфликтов и сбросить таймер блокировки, нажмите кнопку просмотра.';
$lang['js']['notsavedyet'] = 'Несохранённые изменения будут потеряны. Вы действительно хотите продолжить?';
$lang['js']['searchmedia'] = 'Поиск файлов';
$lang['js']['keepopen'] = 'Не закрывать окно после выбора';
@@ -134,9 +143,22 @@ $lang['js']['nosmblinks'] = 'Ссылка на сетевые катало
$lang['js']['linkwiz'] = 'Мастер ссылок';
$lang['js']['linkto'] = 'Ссылка на:';
$lang['js']['del_confirm'] = 'Вы на самом деле желаете удалить выбранное?';
-$lang['js']['mu_btn'] = 'Загрузить несколько файлов одновременно';
+$lang['js']['willexpire'] = 'Ваша блокировка этой страницы на редактирование истекает в течении минуты.\nЧтобы предотвратить конфликты используйте кнопку "Просмотр" для сброса таймера блокировки.';
+$lang['js']['restore_confirm'] = 'Действительно восстановить эту версию?';
+$lang['js']['media_diff'] = 'Просмотр отличий:';
+$lang['js']['media_diff_both'] = 'Рядом';
+$lang['js']['media_diff_opacity'] = 'Наложением';
+$lang['js']['media_diff_portions'] = 'Частями';
+$lang['js']['media_select'] = 'Выбрать файлы…';
+$lang['js']['media_upload_btn'] = 'Загрузить';
+$lang['js']['media_done_btn'] = 'Готово';
+$lang['js']['media_drop'] = 'Переместите файлы сюда для загрузки';
+$lang['js']['media_cancel'] = 'отменить';
+$lang['js']['media_overwrt'] = 'Перезаписать существующие файлы';
+
$lang['rssfailed'] = 'Произошла ошибка при получении следующей новостной ленты: ';
$lang['nothingfound'] = 'Ничего не найдено.';
+
$lang['mediaselect'] = 'Выбор медиафайла';
$lang['fileupload'] = 'Загрузка медиафайла';
$lang['uploadsucc'] = 'Загрузка произведена успешно';
@@ -161,6 +183,7 @@ $lang['mediaextchange'] = 'Расширение изменилось: с
$lang['reference'] = 'Ссылки для';
$lang['ref_inuse'] = 'Этот файл не может быть удалён, так как он используется на следующих страницах:';
$lang['ref_hidden'] = 'Некоторые ссылки находятся на страницах, на чтение которых у вас нет прав доступа';
+
$lang['hits'] = 'соответствий';
$lang['quickhits'] = 'Соответствия в названиях страниц';
$lang['toc'] = 'Содержание';
@@ -184,11 +207,18 @@ $lang['external_edit'] = 'внешнее изменение';
$lang['summary'] = 'Сводка изменений';
$lang['noflash'] = 'Для просмотра этого содержимого требуется <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a>.';
$lang['download'] = 'Скачать код';
+
$lang['mail_newpage'] = 'страница добавлена:';
$lang['mail_changed'] = 'страница изменена:';
$lang['mail_subscribe_list'] = 'изменились страницы в пространстве имён:';
$lang['mail_new_user'] = 'новый пользователь:';
$lang['mail_upload'] = 'файл закачан:';
+
+$lang['changes_type'] = 'Посмотреть изменения';
+$lang['pages_changes'] = 'Страниц';
+$lang['media_changes'] = 'Медиа файлов';
+$lang['both_changes'] = 'И страниц и медиа файлов';
+
$lang['qb_bold'] = 'Полужирный';
$lang['qb_italic'] = 'Курсив';
$lang['qb_underl'] = 'Подчёркнутый';
@@ -213,8 +243,11 @@ $lang['qb_media'] = 'Добавить изображения или
$lang['qb_sig'] = 'Вставить подпись';
$lang['qb_smileys'] = 'Смайлики';
$lang['qb_chars'] = 'Специальные символы';
+
$lang['upperns'] = 'Перейти в родительское пространство имён';
+
$lang['admin_register'] = 'Добавить пользователя';
+
$lang['metaedit'] = 'Править метаданные';
$lang['metasaveerr'] = 'Ошибка записи метаданных';
$lang['metasaveok'] = 'Метаданные сохранены';
@@ -229,24 +262,33 @@ $lang['img_copyr'] = 'Авторские права';
$lang['img_format'] = 'Формат';
$lang['img_camera'] = 'Модель';
$lang['img_keywords'] = 'Ключевые слова';
-$lang['subscr_subscribe_success'] = 'Добавлен %s в подписку на %s';
-$lang['subscr_subscribe_error'] = 'Невозможно добавить %s в подписку на %s';
+$lang['img_width'] = 'Ширина';
+$lang['img_height'] = 'Высота';
+$lang['img_manager'] = 'Просмотр в media manager';
+
+$lang['subscr_subscribe_success'] = 'Добавлен %s в подписку на %s';
+$lang['subscr_subscribe_error'] = 'Невозможно добавить %s в подписку на %s';
$lang['subscr_subscribe_noaddress'] = 'Нет адреса электронной почты, сопоставленного с вашей учётной записью. Вы не можете подписаться на рассылку';
$lang['subscr_unsubscribe_success'] = 'Удалён %s из подписки на %s';
-$lang['subscr_unsubscribe_error'] = 'Ошибка удаления %s из подписки на %s';
-$lang['subscr_already_subscribed'] = '%s уже подписан на %s';
-$lang['subscr_not_subscribed'] = '%s не подписан на %s';
-$lang['subscr_m_not_subscribed'] = 'Вы не подписаны на текущую страницу или пространство имён.';
-$lang['subscr_m_new_header'] = 'Добавить подписку';
-$lang['subscr_m_current_header'] = 'Текущие подписки';
-$lang['subscr_m_unsubscribe'] = 'Отменить подписку';
-$lang['subscr_m_subscribe'] = 'Подписаться';
-$lang['subscr_m_receive'] = 'Получить';
-$lang['subscr_style_every'] = 'уведомлять о каждом изменении';
-$lang['subscr_style_digest'] = 'сводка изменений по каждой странице';
-$lang['subscr_style_list'] = 'перечислять изменившиеся страницы с прошлого уведомления';
+$lang['subscr_unsubscribe_error'] = 'Ошибка удаления %s из подписки на %s';
+$lang['subscr_already_subscribed'] = '%s уже подписан на %s';
+$lang['subscr_not_subscribed'] = '%s не подписан на %s';
+// Manage page for subscriptions
+$lang['subscr_m_not_subscribed'] = 'Вы не подписаны на текущую страницу или пространство имён.';
+$lang['subscr_m_new_header'] = 'Добавить подписку';
+$lang['subscr_m_current_header'] = 'Текущие подписки';
+$lang['subscr_m_unsubscribe'] = 'Отменить подписку';
+$lang['subscr_m_subscribe'] = 'Подписаться';
+$lang['subscr_m_receive'] = 'Получить';
+$lang['subscr_style_every'] = 'уведомлять о каждом изменении';
+$lang['subscr_style_digest'] = 'сводка изменений по каждой странице';
+$lang['subscr_style_list'] = 'перечислять изменившиеся страницы с прошлого уведомления';
+
+/* auth.class language support */
$lang['authmodfailed'] = 'Неправильная конфигурация аутентификации пользователя. Пожалуйста, сообщите об этом своему администратору вики.';
$lang['authtempfail'] = 'Аутентификация пользователей временно недоступна. Если проблема продолжается какое-то время, пожалуйста, сообщите об этом своему администратору вики.';
+
+/* installer strings */
$lang['i_chooselang'] = 'Выберите свой язык/Choose your language';
$lang['i_installer'] = 'Установка «ДокуВики»';
$lang['i_wikiname'] = 'Название вики';
@@ -254,8 +296,8 @@ $lang['i_enableacl'] = 'Разрешить ограничение пр
$lang['i_superuser'] = 'Суперпользователь';
$lang['i_problems'] = 'Программа установки столкнулась с проблемами, перечисленными ниже. Чтобы продолжить, вам необходимо их устранить. ';
$lang['i_modified'] = 'Из соображений безопасности эта программа запускается только на новой, неизменённой установке «ДокуВики».
-Вам нужно либо заново распаковать скачанный пакет установки, либо обратиться к полной
-<a href="http://www.dokuwiki.org/install">инструкции по установке «ДокуВики»</a>';
+ Вам нужно либо заново распаковать скачанный пакет установки, либо обратиться к полной
+ <a href="http://www.dokuwiki.org/install">инструкции по установке «ДокуВики»</a>';
$lang['i_funcna'] = 'Функция PHP <code>%s</code> недоступна. Может быть, она по какой-то причине заблокирована вашим хостером?';
$lang['i_phpver'] = 'Ваша версия PHP (<code>%s</code>) ниже требуемой (<code>%s</code>). Вам необходимо обновить установленную версию PHP.';
$lang['i_permfail'] = '<code>%s</code> недоступна для записи «ДокуВики». Вам необходимо исправить системные права доступа для этой директории!';
@@ -264,7 +306,7 @@ $lang['i_writeerr'] = 'Не удалось создать <code>%s</c
$lang['i_badhash'] = 'dokuwiki.php не распознан или изменён (хэш=<code>%s</code>)';
$lang['i_badval'] = '<code>%s</code> — недопустимое или пустое значение';
$lang['i_success'] = 'Конфигурация прошла успешно. Теперь вы можете удалить файл install.php. Переходите к
- <a href="doku.php">своей новой «ДокуВики»</a>.';
+ <a href="doku.php">своей новой «ДокуВики»</a>.';
$lang['i_failure'] = 'При записи в файлы конфигурации были обнаружены ошибки. Возможно, вам придётся исправить их вручную, прежде чем вы сможете использовать <a href="doku.php">свою новую «ДокуВики»</a>.';
$lang['i_policy'] = 'Исходная политика прав доступа';
$lang['i_pol0'] = 'Открытая вики (чтение, запись, закачка файлов для всех)';
@@ -272,6 +314,7 @@ $lang['i_pol1'] = 'Общедоступная вики (чтен
$lang['i_pol2'] = 'Закрытая вики (чтение, запись и загрузка файлов только для зарегистрированных пользователей)';
$lang['i_retry'] = 'Повторить попытку';
$lang['i_license'] = 'Пожалуйста, выберите тип лицензии для своей вики:';
+
$lang['mu_intro'] = 'Здесь вы можете загрузить несколько файлов сразу. Кликните на «обзор», чтобы добавить их в список. Нажмите «загрузить», когда будете готовы.';
$lang['mu_gridname'] = 'Имя файла';
$lang['mu_gridsize'] = 'Размер';
@@ -287,6 +330,7 @@ $lang['mu_progress'] = '@PCT@% загружено';
$lang['mu_filetypes'] = 'Допустимые типы файлов';
$lang['mu_info'] = 'файлов загружено.';
$lang['mu_lasterr'] = 'Последняя ошибка:';
+
$lang['recent_global'] = 'Вы просматриваете изменения в пространстве имён <b>%s</b>. Вы можете также <a href="%s">просмотреть недавние изменения во всей вики</a>.';
$lang['years'] = '%d лет назад';
$lang['months'] = '%d месяц(ев) назад';
@@ -295,4 +339,24 @@ $lang['days'] = '%d дней назад';
$lang['hours'] = '%d час(ов) назад';
$lang['minutes'] = '%d минут назад';
$lang['seconds'] = '%d секунд назад';
+
$lang['wordblock'] = 'Ваши изменения не сохранены, поскольку они содержат блокируемые слова (спам).';
+
+$lang['media_uploadtab'] = 'Загрузка';
+$lang['media_searchtab'] = 'Поиск';
+$lang['media_viewtab'] = 'Просмотр';
+$lang['media_edittab'] = 'Правка';
+$lang['media_historytab'] = 'История';
+$lang['media_sort_name'] = 'Сортировка по имени';
+$lang['media_sort_date'] = 'Сортировка по дате';
+$lang['media_upload'] = 'Загрузка в пространство имён <strong>%s</strong>.';
+$lang['media_search'] = 'Поиск в пространстве имён <strong>%s</strong>.';
+$lang['media_view'] = '%s';
+$lang['media_edit'] = 'Правка %s';
+$lang['media_meta_edited'] = 'метаданные изменены';
+$lang['media_perm_read'] = 'Извините, у Вас недостаточно прав для чтения файлов.';
+$lang['media_perm_upload'] = 'Извините, у Вас недостаточно прав для загрузки файлов.';
+$lang['media_update'] = 'Загрузить новую версию';
+$lang['media_restore'] = 'Восстановить эту версию';
+
+$lang['plugin_install_err'] = "Плагин установлен некорректно. Переименуйте папку плагина из '%s' в '%s'.";
diff --git a/inc/lang/ru/uploadmail.txt b/inc/lang/ru/uploadmail.txt
index fd7c4a7f8..77f79231e 100644
--- a/inc/lang/ru/uploadmail.txt
+++ b/inc/lang/ru/uploadmail.txt
@@ -1,13 +1,14 @@
В вашу вики был закачан файл. Подробная информация:
-Файл : @MEDIA@
-Дата : @DATE@
-Браузер : @BROWSER@
-Адрес IP : @IPADDRESS@
-Хост : @HOSTNAME@
-Размер : @SIZE@
-Тип MIME : @MIME@
-Пользователь: @USER@
+Файл : @MEDIA@
+Старая версия: @OLD@
+Дата : @DATE@
+Браузер : @BROWSER@
+Адрес IP : @IPADDRESS@
+Хост : @HOSTNAME@
+Размер : @SIZE@
+Тип MIME : @MIME@
+Пользователь : @USER@
--
Это письмо было сгенерировано «ДокуВики» по адресу
diff --git a/inc/lang/sk/lang.php b/inc/lang/sk/lang.php
index 4dab977b9..c0d45da58 100644
--- a/inc/lang/sk/lang.php
+++ b/inc/lang/sk/lang.php
@@ -48,6 +48,8 @@ $lang['btn_recover'] = 'Obnoviť koncept';
$lang['btn_draftdel'] = 'Zmazať koncept';
$lang['btn_revert'] = 'Obnoviť';
$lang['btn_register'] = 'Registrovať';
+$lang['btn_apply'] = 'Použiť';
+$lang['btn_media'] = 'Správa médií';
$lang['loggedinas'] = 'Prihlásený(á) ako';
$lang['user'] = 'Užívateľské meno';
$lang['pass'] = 'Heslo';
@@ -92,7 +94,7 @@ $lang['txt_filename'] = 'Uložiť ako (voliteľné)';
$lang['txt_overwrt'] = 'Prepísať existujúci súbor';
$lang['lockedby'] = 'Práve zamknuté:';
$lang['lockexpire'] = 'Zámok stratí platnosť:';
-$lang['js']['willexpire'] = 'Váš zámok pre editáciu za chvíľu stratí platnosť.\nAby ste predišli konfliktom, stlačte tlačítko Náhľad a zámok sa predĺži.';
+$lang['js']['willexpire'] = 'Váš zámok pre editáciu za chvíľu stratí platnosť.\nAby ste predišli konfliktom, stlačte tlačítko Náhľad a zámok sa predĺži.';
$lang['js']['notsavedyet'] = 'Neuložené zmeny budú stratené.
Chcete naozaj pokračovať?';
$lang['js']['searchmedia'] = 'Hľadať súbory';
@@ -101,7 +103,7 @@ $lang['js']['hidedetails'] = 'Skryť detaily';
$lang['js']['mediatitle'] = 'Nastavenia odkazu';
$lang['js']['mediadisplay'] = 'Typ odkazu';
$lang['js']['mediaalign'] = 'Zarovnanie';
-$lang['js']['mediasize'] = 'Veľkosť obrázku';
+$lang['js']['mediasize'] = 'Veľkosť obrázka';
$lang['js']['mediatarget'] = 'Cieľ odkazu';
$lang['js']['mediaclose'] = 'Zatvoriť';
$lang['js']['mediainsert'] = 'Vložiť';
@@ -124,7 +126,17 @@ Aj napriek tomu tento odkaz môžete skopírovať a vložiť inde.';
$lang['js']['linkwiz'] = 'Sprievodca odkazmi';
$lang['js']['linkto'] = 'Odkaz na:';
$lang['js']['del_confirm'] = 'Zmazať túto položku?';
-$lang['js']['mu_btn'] = 'Nahrať viac súborov súčasne';
+$lang['js']['restore_confirm'] = 'Skutočne obnoviť túto verziu?';
+$lang['js']['media_diff'] = 'Zobraziť rozdiely:';
+$lang['js']['media_diff_both'] = 'Vedľa seba';
+$lang['js']['media_diff_opacity'] = 'Presvitaním';
+$lang['js']['media_diff_portions'] = 'Potiahnutím';
+$lang['js']['media_select'] = 'Vybrať súbory...';
+$lang['js']['media_upload_btn'] = 'Nahrať';
+$lang['js']['media_done_btn'] = 'Hotovo';
+$lang['js']['media_drop'] = 'Pridajte súbory potiahnutím myšou';
+$lang['js']['media_cancel'] = 'odstrániť';
+$lang['js']['media_overwrt'] = 'Prepísať existujúce súbory';
$lang['rssfailed'] = 'Nastala chyba pri vytváraní tohto RSS: ';
$lang['nothingfound'] = 'Nič nenájdené.';
$lang['mediaselect'] = 'Výber dokumentu';
@@ -179,6 +191,10 @@ $lang['mail_changed'] = 'stránka zmenená:';
$lang['mail_subscribe_list'] = 'stránky zmenené v mennom priestore:';
$lang['mail_new_user'] = 'nový užívateľ:';
$lang['mail_upload'] = 'nahraný súbor:';
+$lang['changes_type'] = 'Prehľad zmien';
+$lang['pages_changes'] = 'Stránok';
+$lang['media_changes'] = 'Média súborov';
+$lang['both_changes'] = 'Stránok spolu s média súbormi';
$lang['qb_bold'] = 'Tučné';
$lang['qb_italic'] = 'Kurzíva';
$lang['qb_underl'] = 'Podčiarknutie';
@@ -219,6 +235,9 @@ $lang['img_copyr'] = 'Kopírovacie práva';
$lang['img_format'] = 'Formát';
$lang['img_camera'] = 'Fotoaparát';
$lang['img_keywords'] = 'Kľúčové slová';
+$lang['img_width'] = 'Šírka';
+$lang['img_height'] = 'Výška';
+$lang['img_manager'] = 'Prezrieť v správcovi médií';
$lang['subscr_subscribe_success'] = 'Používateľ %s bol pridaný do zoznamu hlásení o zmenách %s';
$lang['subscr_subscribe_error'] = 'Chyba pri pridaní používateľa %s do zoznamu hlásení o zmenách %s';
$lang['subscr_subscribe_noaddress'] = 'Vaše prihlasovacie meno nemá priradenú žiadnu email adresu, nemôžete byť pridaný do zoznamu hlásení o zmenách';
@@ -283,3 +302,27 @@ $lang['hours'] = 'pred %d hodinami';
$lang['minutes'] = 'pred %d minútami';
$lang['seconds'] = 'pred %d sekundami';
$lang['wordblock'] = 'Vaše zmeny neboli uložené, pretože obsahovali nepovolený text (spam).';
+$lang['media_uploadtab'] = 'Nahrať';
+$lang['media_searchtab'] = 'Hľadať';
+$lang['media_file'] = 'Súbor';
+$lang['media_viewtab'] = 'Náhľad';
+$lang['media_edittab'] = 'Upraviť';
+$lang['media_historytab'] = 'História';
+$lang['media_list_thumbs'] = 'Miniatúry';
+$lang['media_list_rows'] = 'Zoznam';
+$lang['media_sort_name'] = 'Meno';
+$lang['media_sort_date'] = 'Dátum';
+$lang['media_namespaces'] = 'Vybrať priestor';
+$lang['media_files'] = 'Súbory v %s';
+$lang['media_upload'] = 'Nahrať do %s';
+$lang['media_search'] = 'Hľadať v %s';
+$lang['media_view'] = '%s';
+$lang['media_viewold'] = '%s v %s';
+$lang['media_edit'] = 'Upraviť %s';
+$lang['media_history'] = 'História %s';
+$lang['media_meta_edited'] = 'metadáta upravené';
+$lang['media_perm_read'] = 'Prepáčte, ale nemáte dostatočné oprávnenie na čítanie súborov.';
+$lang['media_perm_upload'] = 'Prepáčte, ale nemáte dostatočné oprávnenie na nahrávanie súborov.';
+$lang['media_update'] = 'Nahrať novú verziu';
+$lang['media_restore'] = 'Obnoviť túto verziu';
+$lang['plugin_install_err'] = 'Plugin nebol nainštalovaný úspešne. Premenujte adresár s pluginom \'%s\' na \'%s\'.';
diff --git a/inc/lang/sl/lang.php b/inc/lang/sl/lang.php
index 55c895b2d..9acf13504 100644
--- a/inc/lang/sl/lang.php
+++ b/inc/lang/sl/lang.php
@@ -123,7 +123,6 @@ $lang['js']['nosmblinks'] = 'Povezovanje do souporabnih datotek sistema Win
$lang['js']['linkwiz'] = 'Čarovnik za povezave';
$lang['js']['linkto'] = 'Poveži na:';
$lang['js']['del_confirm'] = 'Ali naj se res izbrišejo izbrani predmeti?';
-$lang['js']['mu_btn'] = 'Pošiljanje več dokumentov hkrati.';
$lang['rssfailed'] = 'Prišlo je do napake med pridobivanjem vira: ';
$lang['nothingfound'] = 'Ni najdenih predmetov.';
$lang['mediaselect'] = 'Predstavne datoteke';
diff --git a/inc/lang/sq/lang.php b/inc/lang/sq/lang.php
index ea2f018b3..87d0f30b5 100644
--- a/inc/lang/sq/lang.php
+++ b/inc/lang/sq/lang.php
@@ -120,7 +120,6 @@ $lang['js']['nosmblinks'] = 'Lidhja te Windows shares funksionon vetëm në
$lang['js']['linkwiz'] = 'Magjistari i Link';
$lang['js']['linkto'] = 'Lidh tek:';
$lang['js']['del_confirm'] = 'Fshiji vërtetë objektet e përzgjedhura?';
-$lang['js']['mu_btn'] = 'Ngarko shumë skedarë njëkohësisht';
$lang['mediausage'] = 'Përdor sintaksën e mëposhtme për të referuar këtë skedar:';
$lang['mediaview'] = 'Shiko skedarin origjinal';
$lang['mediaroot'] = 'rrënja';
diff --git a/inc/lang/sr/lang.php b/inc/lang/sr/lang.php
index a868f1d81..22bcf4e33 100644
--- a/inc/lang/sr/lang.php
+++ b/inc/lang/sr/lang.php
@@ -123,7 +123,6 @@ $lang['js']['nosmblinks'] = 'Повезивање са Windows дељени
$lang['js']['linkwiz'] = 'Чаробњак за стварање везе';
$lang['js']['linkto'] = 'Повежи ка:';
$lang['js']['del_confirm'] = 'Обриши овај унос?';
-$lang['js']['mu_btn'] = 'Слање више датотека одједном';
$lang['rssfailed'] = 'Дошло је до грешке приликом преузимања овог довода: ';
$lang['nothingfound'] = 'Ништа није нађено.';
$lang['mediaselect'] = 'Избор медијске датотеке';
diff --git a/inc/lang/sv/lang.php b/inc/lang/sv/lang.php
index d6f90a5f4..943509fed 100644
--- a/inc/lang/sv/lang.php
+++ b/inc/lang/sv/lang.php
@@ -131,7 +131,6 @@ Du kan fortfarande klippa och klistra in länken om du använder en annan webbl
$lang['js']['linkwiz'] = 'Snabbguide Länkar';
$lang['js']['linkto'] = 'Länk till:';
$lang['js']['del_confirm'] = 'Vill du verkligen radera?';
-$lang['js']['mu_btn'] = 'Ladda upp flera filer samtidigt';
$lang['rssfailed'] = 'Ett fel uppstod när detta RSS-flöde skulle hämtas: ';
$lang['nothingfound'] = 'Inga filer hittades.';
$lang['mediaselect'] = 'Mediafiler';
diff --git a/inc/lang/th/lang.php b/inc/lang/th/lang.php
index e9dffa2c1..0d0613961 100644
--- a/inc/lang/th/lang.php
+++ b/inc/lang/th/lang.php
@@ -46,8 +46,6 @@ $lang['btn_backlink'] = 'หน้าที่ลิงก์มา';
$lang['btn_backtomedia'] = 'กลับไปยังหน้าเลือกไฟล์สื่อ';
$lang['btn_subscribe'] = 'เฝ้าดู';
$lang['btn_unsubscribe'] = 'เลิกเฝ้าดู';
-$lang['btn_subscribens'] = 'สมัครเพื่อตามการเปลี่ยนแปลงเนมสเปซ';
-$lang['btn_unsubscribens'] = 'ยกเลิกสมัครเพื่อตามการเปลี่ยนแปลงเนมสเปซ';
$lang['btn_profile'] = 'แก้ข้อมูลผู้ใช้';
$lang['btn_reset'] = 'เริ่มใหม่';
$lang['btn_resendpwd'] = 'ลืมรหัส ส่งให้ใหม่ทางอีเมล';
@@ -126,7 +124,6 @@ $lang['js']['nosmblinks'] = 'เชื่อมไปยังหน้า
$lang['js']['linkwiz'] = 'ลิงค์วิเศษ';
$lang['js']['linkto'] = 'ลิงค์ไป:';
$lang['js']['del_confirm'] = 'ต้องการลบรายการที่เลือกจริงๆหรือ?';
-$lang['js']['mu_btn'] = 'อัพโหลดหลายๆไฟล์ในครั้งเดียว';
$lang['mediausage'] = 'ให้ใช้ไวยกรณ์ต่อไปนี้เพื่ออ้างอิงไฟล์นี้';
$lang['mediaview'] = 'ดูไฟล์ต้นฉบับ';
$lang['mediaroot'] = 'ราก(รูท)';
diff --git a/inc/lang/tr/lang.php b/inc/lang/tr/lang.php
index 0b76a6e81..94b1c951a 100644
--- a/inc/lang/tr/lang.php
+++ b/inc/lang/tr/lang.php
@@ -124,7 +124,6 @@ $lang['js']['nosmblinks'] = 'Windows paylaşımı sadece Microsoft Internet
$lang['js']['linkwiz'] = 'Bağlantı sihirbazı';
$lang['js']['linkto'] = 'Bağlantı:';
$lang['js']['del_confirm'] = 'Bu girişi sil?';
-$lang['js']['mu_btn'] = 'Birden fazla dosyayı bir seferde gönder';
$lang['rssfailed'] = 'Bu beslemeyi çekerken hata oluştu: ';
$lang['nothingfound'] = 'Hiçbir şey yok.';
$lang['mediaselect'] = 'Çokluortam dosyası seçimi';
diff --git a/inc/lang/uk/lang.php b/inc/lang/uk/lang.php
index 6b80bc75c..22d61c9bf 100644
--- a/inc/lang/uk/lang.php
+++ b/inc/lang/uk/lang.php
@@ -126,7 +126,6 @@ $lang['js']['nosmblinks'] = 'Посилання на мережеві па
$lang['js']['linkwiz'] = 'Чарівник посилань';
$lang['js']['linkto'] = 'Посилання на:';
$lang['js']['del_confirm'] = 'Дійсно знищити обрані елементи?';
-$lang['js']['mu_btn'] = 'Завантажити одночасно кілька файлів';
$lang['rssfailed'] = 'Виникла помилка під час отримання RSS-стрічки: ';
$lang['nothingfound'] = 'Нічого не знайдено.';
$lang['mediaselect'] = 'Вибір медіа-файлу';
diff --git a/inc/lang/zh-tw/lang.php b/inc/lang/zh-tw/lang.php
index 2222125f5..a46869d6c 100644
--- a/inc/lang/zh-tw/lang.php
+++ b/inc/lang/zh-tw/lang.php
@@ -126,7 +126,6 @@ $lang['js']['nosmblinks'] = '只有在 Microsoft IE 下才能執行「連
$lang['js']['linkwiz'] = '建立連結精靈';
$lang['js']['linkto'] = '連結至:';
$lang['js']['del_confirm'] = '確定刪除選取的項目?';
-$lang['js']['mu_btn'] = '上傳多個檔案';
$lang['rssfailed'] = '擷取 RSS 饋送檔時發生錯誤:';
$lang['nothingfound'] = '沒找到任何結果。';
$lang['mediaselect'] = '媒體檔案';
diff --git a/inc/lang/zh/lang.php b/inc/lang/zh/lang.php
index 31e6dc238..6e6dff6f4 100644
--- a/inc/lang/zh/lang.php
+++ b/inc/lang/zh/lang.php
@@ -13,6 +13,7 @@
* @author caii <zhoucaiqi@gmail.com>
* @author Hiphen Lee <jacob.b.leung@gmail.com>
* @author caii, patent agent in China <zhoucaiqi@gmail.com>
+ * @author lainme993@gmail.com
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@@ -54,6 +55,8 @@ $lang['btn_recover'] = '恢复草稿';
$lang['btn_draftdel'] = '删除草稿';
$lang['btn_revert'] = '恢复';
$lang['btn_register'] = '注册';
+$lang['btn_apply'] = '应用';
+$lang['btn_media'] = '媒体管理器';
$lang['loggedinas'] = '登录为';
$lang['user'] = '用户名';
$lang['pass'] = '密码';
@@ -98,7 +101,7 @@ $lang['txt_filename'] = '上传并重命名为(可选)';
$lang['txt_overwrt'] = '覆盖已存在的同名文件';
$lang['lockedby'] = '目前已被下列人员锁定';
$lang['lockexpire'] = '预计锁定解除于';
-$lang['js']['willexpire'] = '您对本页的独有编辑权将于一分钟之后解除。\n为了防止与其他人的编辑冲突,请使用预览按钮重设计时器。';
+$lang['js']['willexpire'] = '您对本页的独有编辑权将于一分钟之后解除。\n为了防止与其他人的编辑冲突,请使用预览按钮重设计时器。';
$lang['js']['notsavedyet'] = '未保存的更改将丢失。
真的要继续?';
$lang['js']['searchmedia'] = '查找文件';
@@ -130,7 +133,17 @@ $lang['js']['nosmblinks'] = '连接到 Windows 共享功能只有在 IE 浏
$lang['js']['linkwiz'] = '链接向导';
$lang['js']['linkto'] = '链接到:';
$lang['js']['del_confirm'] = '真的要删除选中的项目吗?';
-$lang['js']['mu_btn'] = '一次上传了多个文件';
+$lang['js']['restore_confirm'] = '确实要恢复这个版本么?';
+$lang['js']['media_diff'] = '查看差异:';
+$lang['js']['media_diff_both'] = '肩并肩';
+$lang['js']['media_diff_opacity'] = '叠加';
+$lang['js']['media_diff_portions'] = '滑块';
+$lang['js']['media_select'] = '选择文件……';
+$lang['js']['media_upload_btn'] = '上传';
+$lang['js']['media_done_btn'] = '完成';
+$lang['js']['media_drop'] = '拖拽文件到此处来上传';
+$lang['js']['media_cancel'] = '删除';
+$lang['js']['media_overwrt'] = '覆盖已存在的文件';
$lang['rssfailed'] = '获取该 RSS 信息时产生错误:';
$lang['nothingfound'] = '什么都没有找到。';
$lang['mediaselect'] = '媒体文件';
@@ -185,6 +198,10 @@ $lang['mail_changed'] = '更改页面:';
$lang['mail_subscribe_list'] = '命名空间中改变的页面:';
$lang['mail_new_user'] = '新用户:';
$lang['mail_upload'] = '已上传的文件:';
+$lang['changes_type'] = '查看何种更改';
+$lang['pages_changes'] = '页面';
+$lang['media_changes'] = '媒体文件';
+$lang['both_changes'] = '页面和媒体文件';
$lang['qb_bold'] = '粗体';
$lang['qb_italic'] = '斜体';
$lang['qb_underl'] = '下划线';
@@ -225,6 +242,9 @@ $lang['img_copyr'] = '版权';
$lang['img_format'] = '格式';
$lang['img_camera'] = '相机';
$lang['img_keywords'] = '关键字';
+$lang['img_width'] = '宽度';
+$lang['img_height'] = '高度';
+$lang['img_manager'] = '在媒体管理器中查看';
$lang['subscr_subscribe_success'] = '添加 %s 到 %s 的订阅列表';
$lang['subscr_subscribe_error'] = '添加 %s 到 %s 的订阅列表中出现错误';
$lang['subscr_subscribe_noaddress'] = '没有与您登录信息相关联的地址,您无法被添加到订阅列表';
@@ -293,3 +313,23 @@ $lang['hours'] = '%d小时前';
$lang['minutes'] = '%d分钟前';
$lang['seconds'] = '%d秒前';
$lang['wordblock'] = '您的更改没有被保存,因为它包含被屏蔽的文字(垃圾信息)。';
+$lang['media_uploadtab'] = '上传';
+$lang['media_searchtab'] = '搜索';
+$lang['media_viewtab'] = '查看';
+$lang['media_edittab'] = '编辑';
+$lang['media_historytab'] = '历史';
+$lang['media_thumbsview'] = '缩略图';
+$lang['media_listview'] = '列表';
+$lang['media_sort'] = '排序';
+$lang['media_sort_name'] = '按名称';
+$lang['media_sort_date'] = '按日期';
+$lang['media_upload'] = '上传到 <strong>%s</strong> 命名空间。';
+$lang['media_search'] = '在 <strong>%s</strong> 命名空间中搜索。';
+$lang['media_edit'] = '编辑';
+$lang['media_history'] = '这些是文件的旧版本。';
+$lang['media_meta_edited'] = '元数据已编辑';
+$lang['media_perm_read'] = '抱歉,您没有足够权限读取这些文件。';
+$lang['media_perm_upload'] = '抱歉,您没有足够权限来上传文件。';
+$lang['media_update'] = '上传新版本';
+$lang['media_restore'] = '恢复这个版本';
+$lang['plugin_install_err'] = '插件安装不正确。重命名插件目录“%s”为“%s”。';
diff --git a/inc/media.php b/inc/media.php
index 451a205db..9d3e90a54 100644
--- a/inc/media.php
+++ b/inc/media.php
@@ -108,10 +108,10 @@ function media_metaform($id,$auth){
$src = mediaFN($id);
// output
- $action = media_managerURL(array('tab_details' => 'view'));
- echo '<form action="'.$action.'" id="mediamanager__save_meta" accept-charset="utf-8" method="post" class="meta">'.NL;
-
- formSecurityToken();
+ $form = new Doku_Form(array('action' => media_managerURL(array('tab_details' => 'view')),
+ 'class' => 'meta'));
+ $form->addHidden('img', $id);
+ $form->addHidden('mediado', 'save');
foreach($fields as $key => $field){
// get current value
if (empty($field[0])) continue;
@@ -125,34 +125,22 @@ function media_metaform($id,$auth){
$p['class'] = 'edit';
$p['id'] = 'meta__'.$key;
$p['name'] = 'meta['.$field[0].']';
+ $p_attrs = array('class' => 'edit');
- // put label
- echo '<div class="metafield">';
- echo '<label for="meta__'.$key.'">';
- echo ($lang[$field[1]]) ? $lang[$field[1]] : $field[1];
- echo ':</label>';
-
- // put input field
+ $form->addElement('<div class="row">');
if($field[2] == 'text'){
- $p['value'] = $value;
- $p['type'] = 'text';
- $att = buildAttributes($p);
- echo "<input $att/>".NL;
+ $form->addElement(form_makeField('text', $p['name'], $value, ($lang[$field[1]]) ? $lang[$field[1]] : $field[1] . ':', $p['id'], $p['class'], $p_attrs));
}else{
$att = buildAttributes($p);
- echo "<textarea $att rows=\"6\" cols=\"50\">".formText($value).'</textarea>'.NL;
+ $form->addElement('<label for="meta__'.$key.'">'.$lang[$field[1]].'</label>');
+ $form->addElement("<textarea $att rows=\"6\" cols=\"50\">".formText($value).'</textarea>');
}
- echo '</div>'.NL;
+ $form->addElement('</div>'.NL);
}
- echo '<div class="buttons">'.NL;
- echo '<input type="hidden" name="img" value="'.hsc($id).'" />'.NL;
- echo '<input type="hidden" name="mediado" value="save" />';
-
- $do = 'mediado';
- echo '<input name="'.$do.'[save]" type="submit" value="'.$lang['btn_save'].
- '" title="'.$lang['btn_save'].' [S]" accesskey="s" class="button" />'.NL;
- echo '</div>'.NL;
- echo '</form>'.NL;
+ $form->addElement('<div class="buttons">');
+ $form->addElement(form_makeButton('submit', '', $lang['btn_save'], array('accesskey' => 's', 'name' => 'mediado[save]')));
+ $form->addElement('</div>'.NL);
+ $form->printForm();
}
/**
@@ -588,12 +576,7 @@ function media_filelist($ns,$auth=null,$jump='',$fullscreenview=false,$sort=fals
echo '<div class="nothing">'.$lang['nothingfound'].'</div>'.NL;
}else {
if ($fullscreenview) {
- $view = $_REQUEST['view'];
- if ($view == 'list') {
- echo '<ul class="mediamanager-list" id="mediamanager__file_list">';
- } else {
- echo '<ul class="mediamanager-thumbs" id="mediamanager__file_list">';
- }
+ echo '<ul class="' . _media_get_list_type() . '">';
}
foreach($data as $item){
if (!$fullscreenview) {
@@ -602,47 +585,32 @@ function media_filelist($ns,$auth=null,$jump='',$fullscreenview=false,$sort=fals
media_printfile_thumbs($item,$auth,$jump);
}
}
- if ($fullscreenview) echo '</ul>';
+ if ($fullscreenview) echo '</ul>'.NL;
}
}
if (!$fullscreenview) media_searchform($ns);
}
/**
- * Prints mediamanager tab
- *
- * @author Kate Arzamastseva <pshns@ukr.net>
- * @param string $link - tab href
- * @param string $class - tab css class
- * @param string $name - tab caption
- * @param boolean $selected - is tab selected
- */
-function media_tab($link, $class, $name, $selected=false) {
- if ($selected) $class .= ' selected';
- $tab = '<a href="'.$link.'" class="'.$class.'" >'.$name.'</a>';
- echo $tab;
-}
-
-/**
* Prints tabs for files list actions
*
* @author Kate Arzamastseva <pshns@ukr.net>
+ * @author Adrian Lang <mail@adrianlang.de>
+ *
* @param string $selected_tab - opened tab
*/
+
function media_tabs_files($selected_tab = ''){
global $lang;
+ $tabs = array();
+ foreach(array('files' => 'mediaselect',
+ 'upload' => 'media_uploadtab',
+ 'search' => 'media_searchtab') as $tab => $caption) {
+ $tabs[$tab] = array('href' => media_managerURL(array('tab_files' => $tab), '&'),
+ 'caption' => $lang[$caption]);
+ }
- echo '<div class="mediamanager-tabs" id="mediamanager__tabs_files">';
-
- media_tab(media_managerURL(array('tab_files' => 'files')),
- 'files', $lang['mediaselect'], ($selected_tab == 'files'));
- media_tab(media_managerURL(array('tab_files' => 'upload')),
- 'upload', $lang['media_uploadtab'], ($selected_tab == 'upload'));
- media_tab(media_managerURL(array('tab_files' => 'search')),
- 'search', $lang['media_searchtab'], ($selected_tab == 'search'));
-
- echo '<div class="clearer"></div>';
- echo '</div>';
+ html_tabs($tabs, $selected_tab);
}
/**
@@ -654,23 +622,21 @@ function media_tabs_files($selected_tab = ''){
function media_tabs_details($image, $selected_tab = ''){
global $lang, $conf;
- echo '<div class="mediamanager-tabs" id="mediamanager__tabs_details">';
-
- media_tab(media_managerURL(array('tab_details' => 'view')),
- 'view', $lang['media_viewtab'], ($selected_tab == 'view'));
+ $tabs = array();
+ $tabs['view'] = array('href' => media_managerURL(array('tab_details' => 'view'), '&'),
+ 'caption' => $lang['media_viewtab']);
list($ext, $mime) = mimetype($image);
if ($mime == 'image/jpeg' && @file_exists(mediaFN($image))) {
- media_tab(media_managerURL(array('tab_details' => 'edit')),
- 'edit', $lang['media_edittab'], ($selected_tab == 'edit'));
+ $tabs['edit'] = array('href' => media_managerURL(array('tab_details' => 'edit'), '&'),
+ 'caption' => $lang['media_edittab']);
}
if ($conf['mediarevisions']) {
- media_tab(media_managerURL(array('tab_details' => 'history')),
- 'history', $lang['media_historytab'], ($selected_tab == 'history'));
+ $tabs['history'] = array('href' => media_managerURL(array('tab_details' => 'history'), '&'),
+ 'caption' => $lang['media_historytab']);
}
- echo '<div class="clearer"></div>';
- echo '</div>';
+ html_tabs($tabs, $selected_tab);
}
/**
@@ -678,42 +644,43 @@ function media_tabs_details($image, $selected_tab = ''){
*
* @author Kate Arzamastseva <pshns@ukr.net>
*/
-function media_tab_files_options($ns, $sort){
- global $lang;
-
- echo '<div class="background-container">';
-
- echo '<strong class="namespace">';
- echo $ns ? $ns : '['.$lang['mediaroot'].']';
- echo '</strong>';
-
- echo '<div id="mediamanager__tabs_list">';
-
- echo '<a href="'.media_managerURL(array('view' => 'thumbs')).'" id="mediamanager__link_thumbs" >';
- echo $lang['media_thumbsview'];
- echo '</a>';
-
- echo '<a href="'.media_managerURL(array('view' => 'list')).'" id="mediamanager__link_list" >';
- echo $lang['media_listview'];
- echo '</a>';
-
- echo '</div>';
-
- echo '<div id="mediamanager__sort">';
- $form = new Doku_Form(array('action'=>media_managerURL(array(), '&'), 'id' => 'mediamanager__form_sort'));
- $form->addElement(form_makeListboxField(
- 'sort',
- array(
- 'name' => $lang['media_sort_name'],
- 'date' => $lang['media_sort_date']),
- $sort,
- $lang['media_sort']));
+function media_tab_files_options(){
+ global $lang, $NS;
+ $form = new Doku_Form(array('class' => 'options', 'method' => 'get',
+ 'action' => wl($ID)));
+ $media_manager_params = media_managerURL(array(), '', false, true);
+ foreach($media_manager_params as $pKey => $pVal){
+ $form->addHidden($pKey, $pVal);
+ }
+ $form->addHidden('sectok', null);
+ if (isset($_REQUEST['q'])) {
+ $form->addHidden('q', $_REQUEST['q']);
+ }
+ $form->addElement('<ul>'.NL);
+ foreach(array('list' => array('listType', array('thumbs', 'rows')),
+ 'sort' => array('sortBy', array('name', 'date')))
+ as $group => $content) {
+ $checked = "_media_get_${group}_type";
+ $checked = $checked();
+
+ $form->addElement('<li class="' . $content[0] . '">');
+ foreach($content[1] as $option) {
+ $attrs = array();
+ if ($checked == $option) {
+ $attrs['checked'] = 'checked';
+ }
+ $form->addElement(form_makeRadioField($group, $option,
+ $lang['media_' . $group . '_' . $option],
+ $content[0] . '__' . $option,
+ $option, $attrs));
+ }
+ $form->addElement('</li>'.NL);
+ }
+ $form->addElement('<li>');
$form->addElement(form_makeButton('submit', '', $lang['btn_apply']));
+ $form->addElement('</li>'.NL);
+ $form->addElement('</ul>'.NL);
$form->printForm();
- echo '</div>';
-
- echo '<div class="clearer"></div>';
- echo '</div>';
}
/**
@@ -723,14 +690,24 @@ function media_tab_files_options($ns, $sort){
* @return string - sort type
*/
function _media_get_sort_type() {
- $sort = $_REQUEST['sort'];
- if (!$sort && (strpos($_COOKIE['DOKU_PREFS'], 'sort') >= 0)) {
- $parts = explode('#', $_COOKIE['DOKU_PREFS']);
- for ($i = 0; $i < count($parts); $i+=2){
- if ($parts[$i] == 'sort') $sort = $parts[$i+1];
- }
+ return _media_get_display_param('sort', array('default' => 'name', 'date'));
+}
+
+function _media_get_list_type() {
+ return _media_get_display_param('list', array('default' => 'thumbs', 'rows'));
+}
+
+function _media_get_display_param($param, $values) {
+ if (isset($_REQUEST[$param]) && in_array($_REQUEST[$param], $values)) {
+ // FIXME: Set cookie
+ return $_REQUEST[$param];
+ } else {
+ $val = get_doku_pref($param, $values['default']);
+ if (!in_array($val, $values)) {
+ $val = $values['default'];
+ }
+ return $val;
}
- return $sort;
}
/**
@@ -742,16 +719,11 @@ function media_tab_files($ns,$auth=null,$jump='') {
global $lang;
if(is_null($auth)) $auth = auth_quickaclcheck("$ns:*");
- $sort = _media_get_sort_type();
- media_tab_files_options($ns, $sort);
-
- echo '<div class="scroll-container" >';
if($auth < AUTH_READ){
echo '<div class="nothing">'.$lang['media_perm_read'].'</div>'.NL;
}else{
- media_filelist($ns,$auth,$jump,true,$sort);
+ media_filelist($ns,$auth,$jump,true,_media_get_sort_type());
}
- echo '</div>';
}
/**
@@ -763,14 +735,12 @@ function media_tab_upload($ns,$auth=null,$jump='') {
global $lang;
if(is_null($auth)) $auth = auth_quickaclcheck("$ns:*");
- echo '<div class="background-container">';
- echo sprintf($lang['media_upload'], $ns ? $ns : '['.$lang['mediaroot'].']');
- echo '</div>';
-
- echo '<div class="scroll-container">';
- if ($auth >= AUTH_UPLOAD) echo '<div class="upload">' . $lang['mediaupload'] . '</div>';
+ echo '<div class="upload">'.NL;
+ if ($auth >= AUTH_UPLOAD) {
+ echo '<p>' . $lang['mediaupload'] . '</p>';
+ }
media_uploadform($ns, $auth, true);
- echo '</div>';
+ echo '</div>'.NL;
}
/**
@@ -784,14 +754,13 @@ function media_tab_search($ns,$auth=null) {
$do = $_REQUEST['mediado'];
$query = $_REQUEST['q'];
if (!$query) $query = '';
+ echo '<div class="search">'.NL;
- $sort = _media_get_sort_type();
- media_tab_files_options($ns, $sort);
-
- echo '<div class="scroll-container">';
media_searchform($ns, $query, true);
- if ($do == 'searchlist') media_searchlist($query,$ns,$auth,true,$sort);
- echo '</div>';
+ if ($do == 'searchlist') {
+ media_searchlist($query,$ns,$auth,true,_media_get_sort_type());
+ }
+ echo '</div>'.NL;
}
/**
@@ -803,14 +772,6 @@ function media_tab_view($image, $ns, $auth=null, $rev=false) {
global $lang, $conf;
if(is_null($auth)) $auth = auth_quickaclcheck("$ns:*");
- echo '<div class="background-container">';
- list($ext,$mime,$dl) = mimetype($image,false);
- $class = preg_replace('/[^_\-a-z0-9]+/i','_',$ext);
- $class = 'select mediafile mf_'.$class;
- echo '<span class="'.$class.'" >'.$image.'</span>';
- echo '</div>';
-
- echo '<div class="scroll-container">';
if ($image && $auth >= AUTH_READ) {
$meta = new JpegMeta(mediaFN($image, $rev));
media_preview($image, $auth, $rev, $meta);
@@ -818,9 +779,8 @@ function media_tab_view($image, $ns, $auth=null, $rev=false) {
media_details($image, $auth, $rev, $meta);
} else {
- echo '<div class="nothing">'.$lang['media_perm_read'].'</div>';
+ echo '<div class="nothing">'.$lang['media_perm_read'].'</div>'.NL;
}
- echo '</div>';
}
/**
@@ -832,16 +792,10 @@ function media_tab_edit($image, $ns, $auth=null) {
global $lang;
if(is_null($auth)) $auth = auth_quickaclcheck("$ns:*");
- echo '<div class="background-container">';
- echo $lang['media_edit'];
- echo '</div>';
-
- echo '<div class="scroll-container">';
if ($image) {
list($ext, $mime) = mimetype($image);
if ($mime == 'image/jpeg') media_metaform($image,$auth);
}
- echo '</div>';
}
/**
@@ -854,11 +808,6 @@ function media_tab_history($image, $ns, $auth=null) {
if(is_null($auth)) $auth = auth_quickaclcheck("$ns:*");
$do = $_REQUEST['mediado'];
- echo '<div class="background-container">';
- echo $lang['media_history'];
- echo '</div>';
-
- echo '<div class="scroll-container">';
if ($auth >= AUTH_READ && $image) {
if ($do == 'diff'){
media_diff($image, $ns, $auth);
@@ -869,7 +818,6 @@ function media_tab_history($image, $ns, $auth=null) {
} else {
echo '<div class="nothing">'.$lang['media_perm_read'].'</div>'.NL;
}
- echo '</div>';
}
/**
@@ -878,13 +826,12 @@ function media_tab_history($image, $ns, $auth=null) {
* @author Kate Arzamastseva <pshns@ukr.net>
*/
function media_preview($image, $auth, $rev=false, $meta=false) {
- global $lang;
-
- echo '<div class="mediamanager__preview">';
$size = media_image_preview_size($image, $rev, $meta);
if ($size) {
+ echo '<div class="image">';
+
$more = array();
if ($rev) {
$more['rev'] = $rev;
@@ -896,10 +843,10 @@ function media_preview($image, $auth, $rev=false, $meta=false) {
$more['w'] = $size[0];
$more['h'] = $size[1];
$src = ml($image, $more);
- echo '<img src="'.$src.'" alt="'.$image.'" style="max-width: '.$size[0].'px;" />';
- }
+ echo '<img src="'.$src.'" alt="" style="max-width: '.$size[0].'px;" />';
- echo '</div>';
+ echo '</div>'.NL;
+ }
}
/**
@@ -910,24 +857,7 @@ function media_preview($image, $auth, $rev=false, $meta=false) {
function media_preview_buttons($image, $auth, $rev=false) {
global $lang, $conf;
- echo '<div class="mediamanager__preview_buttons">';
-
- $more = '';
- if ($rev) {
- $more = "rev=$rev";
- } else {
- $t = @filemtime(mediaFN($image));
- $more = "t=$t";
- }
- $link = ml($image,$more,true,'&');
-
- if (@file_exists(mediaFN($image, $rev))) {
-
- // view original file button
- $form = new Doku_Form(array('action'=>$link, 'target'=>'_blank'));
- $form->addElement(form_makeButton('submit','',$lang['mediaview']));
- $form->printForm();
- }
+ echo '<ul class="actions">'.NL;
if($auth >= AUTH_DELETE && !$rev && @file_exists(mediaFN($image))){
@@ -935,8 +865,9 @@ function media_preview_buttons($image, $auth, $rev=false) {
$form = new Doku_Form(array('id' => 'mediamanager__btn_delete',
'action'=>media_managerURL(array('delete' => $image), '&')));
$form->addElement(form_makeButton('submit','',$lang['btn_delete']));
+ echo '<li>';
$form->printForm();
-
+ echo '</li>'.NL;
}
$auth_ow = (($conf['mediarevisions']) ? AUTH_UPLOAD : AUTH_DELETE);
@@ -946,7 +877,9 @@ function media_preview_buttons($image, $auth, $rev=false) {
$form = new Doku_Form(array('id' => 'mediamanager__btn_update',
'action'=>media_managerURL(array('image' => $image, 'mediado' => 'update'), '&')));
$form->addElement(form_makeButton('submit','',$lang['media_update']));
+ echo '<li>';
$form->printForm();
+ echo '</li>'.NL;
}
if($auth >= AUTH_UPLOAD && $rev && $conf['mediarevisions'] && @file_exists(mediaFN($image, $rev))){
@@ -957,10 +890,12 @@ function media_preview_buttons($image, $auth, $rev=false) {
$form->addHidden('mediado','restore');
$form->addHidden('rev',$rev);
$form->addElement(form_makeButton('submit','',$lang['media_restore']));
+ echo '<li>';
$form->printForm();
+ echo '</li>'.NL;
}
- echo '</div>';
+ echo '</ul>'.NL;
}
/**
@@ -1046,17 +981,17 @@ function media_details($image, $auth, $rev=false, $meta=false) {
if (!$meta) $meta = new JpegMeta(mediaFN($image, $rev));
$tags = media_file_tags($meta);
- echo '<dl class="img_tags">';
+ echo '<dl>'.NL;
foreach($tags as $tag){
if ($tag['value']) {
$value = cleanText($tag['value']);
echo '<dt>'.$lang[$tag['tag'][1]].':</dt><dd>';
if ($tag['tag'][2] == 'date') echo dformat($value);
else echo hsc($value);
- echo '</dd>';
+ echo '</dd>'.NL;
}
}
- echo '</dl>';
+ echo '</dl>'.NL;
}
/**
@@ -1150,14 +1085,19 @@ function media_file_diff($image, $l_rev, $r_rev, $ns, $auth, $fromajax){
$difftype = $_REQUEST['difftype'];
if (!$fromajax) {
- $form = new Doku_Form(array('action'=>media_managerURL(array(), '&'),
- 'id' => 'mediamanager__form_diffview'));
+ $form = new Doku_Form(array(
+ 'action' => media_managerURL(array(), '&'),
+ 'method' => 'get',
+ 'id' => 'mediamanager__form_diffview',
+ 'class' => 'diffView'
+ ));
+ $form->addHidden('sectok', null);
$form->addElement('<input type="hidden" name="rev2[]" value="'.$l_rev.'" ></input>');
$form->addElement('<input type="hidden" name="rev2[]" value="'.$r_rev.'" ></input>');
$form->addHidden('mediado', 'diff');
$form->printForm();
- echo '<div id="mediamanager__diff" >';
+ echo NL.'<div id="mediamanager__diff" >'.NL;
}
if ($difftype == 'opacity' || $difftype == 'portions') {
@@ -1167,57 +1107,76 @@ function media_file_diff($image, $l_rev, $r_rev, $ns, $auth, $fromajax){
}
}
- echo '<div class="mediamanager-preview">';
- echo '<ul id="mediamanager__diff_table">';
+ list($l_head, $r_head) = html_diff_head($l_rev, $r_rev, $image, true);
+
+ ?>
+ <table>
+ <tr>
+ <th><?php echo $l_head; ?></th>
+ <th><?php echo $r_head; ?></th>
+ </tr>
+ <?php
- echo '<li>';
+ echo '<tr class="image">';
+ echo '<td>';
media_preview($image, $auth, $l_rev, $l_meta);
- echo '</li>';
+ echo '</td>';
- echo '<li>';
+ echo '<td>';
media_preview($image, $auth, $r_rev, $r_meta);
- echo '</li>';
+ echo '</td>';
+ echo '</tr>'.NL;
- echo '<li>';
+ echo '<tr class="actions">';
+ echo '<td>';
media_preview_buttons($image, $auth, $l_rev);
- echo '</li>';
+ echo '</td>';
- echo '<li>';
+ echo '<td>';
media_preview_buttons($image, $auth, $r_rev);
- echo '</li>';
+ echo '</td>';
+ echo '</tr>'.NL;
$l_tags = media_file_tags($l_meta);
$r_tags = media_file_tags($r_meta);
+ // FIXME r_tags-only stuff
foreach ($l_tags as $key => $l_tag) {
if ($l_tag['value'] != $r_tags[$key]['value']) {
- $r_tags[$key]['class'] = 'highlighted';
- $l_tags[$key]['class'] = 'highlighted';
+ $r_tags[$key]['highlighted'] = true;
+ $l_tags[$key]['highlighted'] = true;
} else if (!$l_tag['value'] || !$r_tags[$key]['value']) {
unset($r_tags[$key]);
unset($l_tags[$key]);
}
}
+ echo '<tr>';
foreach(array($l_tags,$r_tags) as $tags){
- echo '<li><div>';
+ echo '<td>'.NL;
echo '<dl class="img_tags">';
foreach($tags as $tag){
$value = cleanText($tag['value']);
if (!$value) $value = '-';
echo '<dt>'.$lang[$tag['tag'][1]].':</dt>';
- echo '<dd class="'.$tag['class'].'" >';
+ echo '<dd>';
+ if ($tag['highlighted']) {
+ echo '<strong>';
+ }
if ($tag['tag'][2] == 'date') echo dformat($value);
else echo hsc($value);
+ if ($tag['highlighted']) {
+ echo '</strong>';
+ }
echo '</dd>';
}
- echo '</dl>';
+ echo '</dl>'.NL;
- echo '</div></li>';
+ echo '</td>';
}
+ echo '</tr>'.NL;
- echo '</ul>';
- echo '</div>';
+ echo '</table>'.NL;
if ($is_img && !$fromajax) echo '</div>';
}
@@ -1241,8 +1200,6 @@ function media_image_diff($image, $l_rev, $r_rev, $l_size, $r_size, $type) {
}
}
- echo '<div class="mediamanager-preview">';
-
$l_more = array('rev' => $l_rev, 'h' => $l_size[1], 'w' => $l_size[0]);
$r_more = array('rev' => $r_rev, 'h' => $l_size[1], 'w' => $l_size[0]);
@@ -1250,19 +1207,17 @@ function media_image_diff($image, $l_rev, $r_rev, $l_size, $r_size, $type) {
$r_src = ml($image, $r_more);
// slider
- echo '<div id="mediamanager__'.$type.'_slider" style="max-width: '.($l_size[0]-20).'px;" ></div>';
+ echo '<div class="slider" style="max-width: '.($l_size[0]-20).'px;" ></div>'.NL;
- // two image's in div's
- echo '<div id="mediamanager__diff_layout">';
- echo '<div id="mediamanager__diff_'.$type.'_image1" style="max-width: '.$l_size[0].'px;">';
+ // two images in divs
+ echo '<div class="imageDiff ' . $type . '">'.NL;
+ echo '<div class="image1" style="max-width: '.$l_size[0].'px;">';
echo '<img src="'.$l_src.'" alt="" />';
- echo '</div>';
- echo '<div id="mediamanager__diff_'.$type.'_image2" style="max-width: '.$l_size[0].'px;">';
+ echo '</div>'.NL;
+ echo '<div class="image2" style="max-width: '.$l_size[0].'px;">';
echo '<img src="'.$r_src.'" alt="" />';
- echo '</div>';
- echo '</div>';
-
- echo '</div>';
+ echo '</div>'.NL;
+ echo '</div>'.NL;
}
/**
@@ -1344,18 +1299,13 @@ function media_searchlist($query,$ns,$auth=null,$fullscreen=false,$sort=''){
echo '<div class="nothing">'.$lang['nothingfound'].'</div>'.NL;
}else {
if ($fullscreen) {
- $view = $_REQUEST['view'];
- if ($view == 'list') {
- echo '<ul class="mediamanager-list" id="mediamanager__file_list">';
- } else {
- echo '<ul class="mediamanager-thumbs" id="mediamanager__file_list">';
- }
+ echo '<ul class="' . _media_get_list_type() . '">';
}
foreach($evdata['data'] as $item){
if (!$fullscreen) media_printfile($item,$item['perm'],'',true);
else media_printfile_thumbs($item,$item['perm'],false,true);
}
- if ($fullscreen) echo '</ul>';
+ if ($fullscreen) echo '</ul>'.NL;
}
}
@@ -1413,6 +1363,20 @@ function media_printfile($item,$auth,$jump,$display_namespace=false){
echo ' <a href="'.$link.'" target="_blank"><img src="'.DOKU_BASE.'lib/images/magnifier.png" '.
'alt="'.$lang['mediaview'].'" title="'.$lang['mediaview'].'" class="btn" /></a>';
+ // mediamanager button
+ $link = wl('',array('do'=>'media','image'=>$item['id']));
+ echo ' <a href="'.$link.'" target="_blank"><img src="'.DOKU_BASE.'lib/images/mediamanager.png" '.
+ 'alt="'.$lang['btn_media'].'" title="'.$lang['btn_media'].'" class="btn" /></a>';
+
+ // delete button
+ if($item['writable'] && $auth >= AUTH_DELETE){
+ $link = DOKU_BASE.'lib/exe/mediamanager.php?delete='.rawurlencode($item['id']).
+ '&amp;sectok='.getSecurityToken();
+ echo ' <a href="'.$link.'" class="btn_media_delete" title="'.$item['id'].'">'.
+ '<img src="'.DOKU_BASE.'lib/images/trash.png" alt="'.$lang['btn_delete'].'" '.
+ 'title="'.$lang['btn_delete'].'" class="btn" /></a>';
+ }
+
echo '<div class="example" id="ex_'.str_replace(':','_',$item['id']).'">';
echo $lang['mediausage'].' <code>{{:'.$item['id'].'}}</code>';
echo '</div>';
@@ -1447,42 +1411,42 @@ function media_printfile_thumbs($item,$auth,$jump=false,$display_namespace=false
$file = utf8_decodeFN($item['file']);
// output
- echo '<li><div>';
+ echo '<li><dl>'.NL;
+ echo '<dt>';
if($item['isimg']) {
media_printimgdetail($item, true);
} else {
echo '<a name="d_:'.$item['id'].'" class="image" title="'.$item['id'].'" href="'.
media_managerURL(array('image' => hsc($item['id']), 'ns' => getNS($item['id']),
- 'tab_details' => 'view')).'"><span>';
+ 'tab_details' => 'view')).'">';
echo media_printicon($item['id']);
- echo '</span></a>';
+ echo '</a>';
}
- //echo '<input type=checkbox />';
+ echo '</dt>'.NL;
if (!$display_namespace) {
$name = hsc($file);
} else {
$name = hsc($item['id']);
}
- echo '<a href="'.media_managerURL(array('image' => hsc($item['id']), 'ns' => getNS($item['id']),
- 'tab_details' => 'view')).'" name="h_:'.$item['id'].'" class="name">'.$name.'</a>';
+ echo '<dd class="name"><a href="'.media_managerURL(array('image' => hsc($item['id']), 'ns' => getNS($item['id']),
+ 'tab_details' => 'view')).'" name="h_:'.$item['id'].'">'.$name.'</a></dd>'.NL;
if($item['isimg']){
$size = '';
$size .= (int) $item['meta']->getField('File.Width');
$size .= '&#215;';
$size .= (int) $item['meta']->getField('File.Height');
- echo '<span class="size">'.$size.'</span>';
+ echo '<dd class="size">'.$size.'</dd>'.NL;
} else {
- echo '<span class="size">&nbsp;</span>';
+ echo '<dd class="size">&nbsp;</dd>'.NL;
}
$date = dformat($item['mtime']);
- echo '<span class="date">'.$date.'</span>';
+ echo '<dd class="date">'.$date.'</dd>'.NL;
$filesize = filesize_h($item['size']);
- echo '<span class="filesize">'.$filesize.'</span>';
- echo '<div class="clearer"></div>';
- echo '</div></li>'.NL;
+ echo '<dd class="filesize">'.$filesize.'</dd>'.NL;
+ echo '</dl></li>'.NL;
}
/**
@@ -1490,43 +1454,38 @@ function media_printfile_thumbs($item,$auth,$jump=false,$display_namespace=false
*/
function media_printimgdetail($item, $fullscreen=false){
// prepare thumbnail
- if (!$fullscreen) {
- $size_array[] = 120;
- } else {
- $size_array = array(90, 40);
- }
- foreach ($size_array as $index => $size) {
- $w = (int) $item['meta']->getField('File.Width');
- $h = (int) $item['meta']->getField('File.Height');
- if($w>$size || $h>$size){
- if (!$fullscreen) {
- $ratio = $item['meta']->getResizeRatio($size);
- } else {
- $ratio = $item['meta']->getResizeRatio($size,$size);
- }
- $w = floor($w * $ratio);
- $h = floor($h * $ratio);
- }
- $src = ml($item['id'],array('w'=>$w,'h'=>$h,'t'=>$item['mtime']));
- $p = array();
+ $size = $fullscreen ? 90 : 120;
+
+ $w = (int) $item['meta']->getField('File.Width');
+ $h = (int) $item['meta']->getField('File.Height');
+ if($w>$size || $h>$size){
if (!$fullscreen) {
- $p['width'] = $w;
- $p['height'] = $h;
+ $ratio = $item['meta']->getResizeRatio($size);
+ } else {
+ $ratio = $item['meta']->getResizeRatio($size,$size);
}
- $p['alt'] = $item['id'];
- $p['class'] = 'thumb';
- $att = buildAttributes($p);
+ $w = floor($w * $ratio);
+ $h = floor($h * $ratio);
+ }
+ $src = ml($item['id'],array('w'=>$w,'h'=>$h,'t'=>$item['mtime']));
+ $p = array();
+ if (!$fullscreen) {
+ // In fullscreen mediamanager view, image resizing is done via CSS.
+ $p['width'] = $w;
+ $p['height'] = $h;
+ }
+ $p['alt'] = $item['id'];
+ $att = buildAttributes($p);
- // output
- if ($fullscreen) {
- echo '<a name="'.($index ? 'd' : 'l').'_:'.$item['id'].'" class="image'.$index.'" title="'.$item['id'].'" href="'.
- media_managerURL(array('image' => hsc($item['id']), 'ns' => getNS($item['id']), 'tab_details' => 'view')).'">';
- echo '<span><img src="'.$src.'" '.$att.' /></span>';
- echo '</a>';
- }
+ // output
+ if ($fullscreen) {
+ echo '<a name="l_:'.$item['id'].'" class="image thumb" href="'.
+ media_managerURL(array('image' => hsc($item['id']), 'ns' => getNS($item['id']), 'tab_details' => 'view')).'">';
+ echo '<img src="'.$src.'" '.$att.' />';
+ echo '</a>';
}
- if ($fullscreen) return '';
+ if ($fullscreen) return;
echo '<div class="detail">';
echo '<div class="thumb">';
@@ -1568,18 +1527,16 @@ function media_managerURL($params=false, $amp='&amp;', $abs=false, $params_array
global $ID;
$gets = array('do' => 'media');
- $media_manager_params = array('tab_files', 'tab_details', 'image', 'ns', 'view');
+ $media_manager_params = array('tab_files', 'tab_details', 'image', 'ns', 'list', 'sort');
foreach ($media_manager_params as $x) {
if (isset($_REQUEST[$x])) $gets[$x] = $_REQUEST[$x];
}
if ($params) {
- foreach ($params as $k => $v) {
- $gets[$k] = $v;
- }
+ $gets = $params + $gets;
}
unset($gets['id']);
- if ($gets['delete']) {
+ if (isset($gets['delete'])) {
unset($gets['image']);
unset($gets['tab_details']);
}
@@ -1641,9 +1598,9 @@ function media_uploadform($ns, $auth, $fullscreen = false){
$form->addElement(form_makeCloseTag('p'));
}
- echo '<div id="mediamanager__uploader">';
+ echo NL.'<div id="mediamanager__uploader">'.NL;
html_form('upload', $form);
- echo '</div>';
+ echo '</div>'.NL;
}
/**
@@ -1657,16 +1614,18 @@ function media_searchform($ns,$query='',$fullscreen=false){
// The default HTML search form
$params = array('id' => 'dw__mediasearch');
- if (!$fullscreen) $params['action'] = DOKU_BASE.'lib/exe/mediamanager.php';
- else $params['action'] = media_managerURL(array(), '&');
+ if (!$fullscreen) {
+ $params['action'] = DOKU_BASE.'lib/exe/mediamanager.php';
+ } else {
+ $params['action'] = media_managerURL(array(), '&');
+ }
$form = new Doku_Form($params);
- if (!$fullscreen) $form->addElement('<div class="upload">' . $lang['mediasearch'] . '</div>');
- $form->addElement(formSecurityToken());
$form->addHidden('ns', $ns);
- if (!$fullscreen) $form->addHidden('do', 'searchlist');
- else $form->addHidden('mediado', 'searchlist');
+ $form->addHidden($fullscreen ? 'mediado' : 'do', 'searchlist');
+
+ if (!$fullscreen) $form->addElement('<div class="upload">' . $lang['mediasearch'] . '</div>'.NL);
$form->addElement(form_makeOpenTag('p'));
- $form->addElement(form_makeTextField('q', $query,$lang['searchmedia'],'mediamanager__sort_textfield','',array('title'=>sprintf($lang['searchmedia_in'],hsc($ns).':*'))));
+ $form->addElement(form_makeTextField('q', $query,$lang['searchmedia'],'','',array('title'=>sprintf($lang['searchmedia_in'],hsc($ns).':*'))));
$form->addElement(form_makeButton('submit', '', $lang['btn_search']));
$form->addElement(form_makeCloseTag('p'));
html_form('searchmedia', $form);
diff --git a/inc/pageutils.php b/inc/pageutils.php
index 81dcb66e7..31b5f9ff9 100644
--- a/inc/pageutils.php
+++ b/inc/pageutils.php
@@ -134,6 +134,7 @@ function cleanID($raw_id,$ascii=false,$media=false){
$id = preg_replace('#:+#',':',$id);
$id = ($media ? trim($id,':.-') : trim($id,':._-'));
$id = preg_replace('#:[:\._\-]+#',':',$id);
+ $id = preg_replace('#[:\._\-]+:#',':',$id);
$cache[(string)$raw_id] = $id;
return($id);
diff --git a/inc/parser/handler.php b/inc/parser/handler.php
index 22a50d1b7..55b715ad9 100644
--- a/inc/parser/handler.php
+++ b/inc/parser/handler.php
@@ -1489,10 +1489,10 @@ class Doku_Handler_Block {
}
}
- function openParagraph($pos){
+ function openParagraph($pos){
if ($this->inParagraph) return;
$this->calls[] = array('p_open',array(), $pos);
- $this->inParagraph = true;
+ $this->inParagraph = true;
$this->skipEol = true;
}
@@ -1503,11 +1503,12 @@ class Doku_Handler_Block {
*
* @author Andreas Gohr <andi@splitbrain.org>
*/
- function closeParagraph($pos){
+ function closeParagraph($pos){
if (!$this->inParagraph) return;
// look back if there was any content - we don't want empty paragraphs
$content = '';
- for($i=count($this->calls)-1; $i>=0; $i--){
+ $ccount = count($this->calls);
+ for($i=$ccount-1; $i>=0; $i--){
if($this->calls[$i][0] == 'p_open'){
break;
}elseif($this->calls[$i][0] == 'cdata'){
@@ -1520,18 +1521,19 @@ class Doku_Handler_Block {
if(trim($content)==''){
//remove the whole paragraph
- array_splice($this->calls,$i);
- }else{
- // remove ending linebreaks in the paragraph
- $i=count($this->calls)-1;
+ //array_splice($this->calls,$i); // <- this is much slower than the loop below
+ for($x=$ccount; $x>$i; $x--) array_pop($this->calls);
+ }else{
+ // remove ending linebreaks in the paragraph
+ $i=count($this->calls)-1;
if ($this->calls[$i][0] == 'cdata') $this->calls[$i][1][0] = rtrim($this->calls[$i][1][0],DOKU_PARSER_EOL);
$this->calls[] = array('p_close',array(), $pos);
}
- $this->inParagraph = false;
+ $this->inParagraph = false;
$this->skipEol = true;
}
-
+
function addCall($call) {
$key = count($this->calls);
if ($key and ($call[0] == 'cdata') and ($this->calls[$key-1][0] == 'cdata')) {
@@ -1553,7 +1555,7 @@ class Doku_Handler_Block {
* @author Andreas Gohr <andi@splitbrain.org>
*/
function process($calls) {
- // open first paragraph
+ // open first paragraph
$this->openParagraph(0);
foreach ( $calls as $key => $call ) {
$cname = $call[0];
diff --git a/inc/template.php b/inc/template.php
index 96e0668c2..c70e407d6 100644
--- a/inc/template.php
+++ b/inc/template.php
@@ -480,10 +480,15 @@ function tpl_actionlink($type,$pre='',$suf='',$inner='',$return=false){
$linktarget = wl($id, $params);
}
$caption = $lang['btn_' . $type];
+ $akey = $addTitle = '';
+ if($accesskey){
+ $akey = 'accesskey="'.$accesskey.'" ';
+ $addTitle = ' ['.strtoupper($accesskey).']';
+ }
$out = tpl_link($linktarget, $pre.(($inner)?$inner:$caption).$suf,
'class="action ' . $type . '" ' .
- 'accesskey="' . $accesskey . '" rel="nofollow" ' .
- 'title="' . hsc($caption) . '"', 1);
+ $akey . 'rel="nofollow" ' .
+ 'title="' . hsc($caption).$addTitle . '"', 1);
}
if ($return) return $out;
echo $out;
@@ -626,10 +631,6 @@ function tpl_get_action($type) {
return false;
}
break;
- case 'subscribens':
- // Superseded by subscribe/subscription
- return '';
- break;
case 'media':
break;
default:
@@ -1136,29 +1137,35 @@ function tpl_mediaFileList(){
global $AUTH;
global $NS;
global $JUMPTO;
+ global $lang;
$opened_tab = $_REQUEST['tab_files'];
if (!$opened_tab || !in_array($opened_tab, array('files', 'upload', 'search'))) $opened_tab = 'files';
if ($_REQUEST['mediado'] == 'update') $opened_tab = 'upload';
+ echo '<h2 class="a11y">' . $lang['mediaselect'] . '</h2>'.NL;
+
media_tabs_files($opened_tab);
+ echo '<div class="panelHeader">'.NL;
+ echo '<h3>';
+ $tabTitle = ($NS) ? $NS : '['.$lang['mediaroot'].']';
+ printf($lang['media_' . $opened_tab], '<strong>'.$tabTitle.'</strong>');
+ echo '</h3>'.NL;
+ if ($opened_tab === 'search' || $opened_tab === 'files') {
+ media_tab_files_options();
+ }
+ echo '</div>'.NL;
+
+ echo '<div class="panelContent">'.NL;
if ($opened_tab == 'files') {
- echo '<div id="mediamanager__files">';
media_tab_files($NS,$AUTH,$JUMPTO);
- echo '</div>';
-
} elseif ($opened_tab == 'upload') {
- echo '<div id="mediamanager__files">';
media_tab_upload($NS,$AUTH,$JUMPTO);
- echo '</div>';
-
} elseif ($opened_tab == 'search') {
- echo '<div id="mediamanager__files">';
media_tab_search($NS,$AUTH);
- echo '</div>';
}
-
+ echo '</div>'.NL;
}
/**
@@ -1170,7 +1177,7 @@ function tpl_mediaFileList(){
* @author Kate Arzamastseva <pshns@ukr.net>
*/
function tpl_mediaFileDetails($image, $rev){
- global $AUTH, $NS, $conf, $DEL;
+ global $AUTH, $NS, $conf, $DEL, $lang;
$removed = (!file_exists(mediaFN($image)) && file_exists(mediaMetaFN($image, '.changes')) && $conf['mediarevisions']);
if (!$image || (!file_exists(mediaFN($image)) && !$removed) || $DEL) return '';
@@ -1195,21 +1202,31 @@ function tpl_mediaFileDetails($image, $rev){
media_tabs_details($image, $opened_tab);
+ echo '<div class="panelHeader"><h3>';
+ list($ext,$mime,$dl) = mimetype($image,false);
+ $class = preg_replace('/[^_\-a-z0-9]+/i','_',$ext);
+ $class = 'select mediafile mf_'.$class;
+ $tabTitle = '<strong class="'.$class.'">'.$image.'</strong>';
+ if ($opened_tab === 'view' && $rev) {
+ printf($lang['media_viewold'], $tabTitle, dformat($rev));
+ } else {
+ printf($lang['media_' . $opened_tab], $tabTitle);
+ }
+ echo '</h3></div>'.NL;
+
+ echo '<div class="panelContent">'.NL;
+
if ($opened_tab == 'view') {
- echo '<div id="mediamanager__details">';
media_tab_view($image, $NS, $AUTH, $rev);
- echo '</div>';
} elseif ($opened_tab == 'edit' && !$removed) {
- echo '<div id="mediamanager__details">';
media_tab_edit($image, $NS, $AUTH);
- echo '</div>';
} elseif ($opened_tab == 'history' && $conf['mediarevisions']) {
- echo '<div id="mediamanager__details">';
media_tab_history($image,$NS,$AUTH);
- echo '</div>';
}
+
+ echo '</div>'.NL;
}
/**
@@ -1482,45 +1499,40 @@ function tpl_favicon($types=array('favicon')) {
* @author Kate Arzamastseva <pshns@ukr.net>
*/
function tpl_media() {
- //
global $DEL, $NS, $IMG, $AUTH, $JUMPTO, $REV, $lang, $fullscreen, $conf;
$fullscreen = true;
- require_once(DOKU_INC.'lib/exe/mediamanager.php');
+ require_once DOKU_INC.'lib/exe/mediamanager.php';
if ($_REQUEST['image']) $image = cleanID($_REQUEST['image']);
if (isset($IMG)) $image = $IMG;
if (isset($JUMPTO)) $image = $JUMPTO;
if (isset($REV) && !$JUMPTO) $rev = $REV;
- echo '<div id="mediamanager__page">';
- echo '<h1>'.$lang['btn_media'].'</h1>';
- echo '<div id="mediamanager__layout">';
-
- echo '<div id="mediamanager__layout_namespaces" class="layout-resizable" >';
+ echo '<div id="mediamanager__page">'.NL;
+ echo '<h1>'.$lang['btn_media'].'</h1>'.NL;
html_msgarea();
- echo '<div class="mediamanager-tabs">';
- echo '<a href="#" class="selected">'.hsc($lang['namespaces']).'</a>';
- echo '<div class="clearer"></div>';
- echo '</div>';
- echo '<div class="background-container">';
- echo hsc($lang['namespaces']);
- echo '</div>';
- echo '<div class="scroll-container">';
- tpl_mediaTree();
- echo '</div>';
- echo '</div>';
- echo '<div id="mediamanager__layout_list" class="layout-resizable" >';
+ echo '<div class="panel namespaces">'.NL;
+ echo '<h2>'.$lang['namespaces'].'</h2>'.NL;
+ echo '<div class="panelHeader">';
+ echo $lang['media_namespaces'];
+ echo '</div>'.NL;
+
+ echo '<div class="panelContent" id="media__tree">'.NL;
+ media_nstree($NS);
+ echo '</div>'.NL;
+ echo '</div>'.NL;
+
+ echo '<div class="panel filelist">'.NL;
tpl_mediaFileList();
- echo '</div>';
+ echo '</div>'.NL;
- echo '<div id="mediamanager__layout_detail" class="layout" >';
+ echo '<div class="panel file">'.NL;
+ echo '<h2 class="a11y">'.$lang['media_file'].'</h2>'.NL;
tpl_mediaFileDetails($image, $rev);
- echo '</div>';
+ echo '</div>'.NL;
- echo '<div class="clearer"></div>';
- echo '</div>';
- echo '</div>';
+ echo '</div>'.NL;
}
//Setup VIM: ex: et ts=4 :
diff --git a/inc/utf8.php b/inc/utf8.php
index 303987e4f..9d0d17f78 100644
--- a/inc/utf8.php
+++ b/inc/utf8.php
@@ -1219,7 +1219,7 @@ if(empty($UTF8_SPECIAL_CHARS)) $UTF8_SPECIAL_CHARS = array(
global $UTF8_SPECIAL_CHARS2;
if(empty($UTF8_SPECIAL_CHARS2)) $UTF8_SPECIAL_CHARS2 =
"\x1A".' !"#$%&\'()+,/;<=>?@[\]^`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•�'.
- '�—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½�'.
+ '�—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½�'.
'�¿×÷ˇ˘˙˚˛˜˝̣̀́̃̉΄΅·ϖְֱֲֳִֵֶַָֹֻּֽ־ֿ�'.
'�ׁׂ׃׳״،؛؟ـًٌٍَُِّْ٪฿‌‍‎‏–—―‗‘’‚“”�'.
'��†‡•…‰′″‹›⁄₧₪₫€№℘™Ωℵ←↑→↓↔↕↵'.