Merge remote-tracking branch 'origin/master' into overridablelangstrings

Conflicts:
	inc/plugin.php
This commit is contained in:
Gerrit Uitslag 2014-09-28 13:46:04 +02:00
commit b79379f2e5
400 changed files with 18955 additions and 12022 deletions

8
.gitattributes vendored
View File

@ -4,3 +4,11 @@
*.gif binary
*.ico binary
*.xcf binary
.gitattributes export-ignore
.gitignore export-ignore
.editorconfig export-ignore
.travis.yml export-ignore
_test export-ignore
_cs export-ignore
lib/plugins/testing export-ignore

View File

@ -1,8 +1,13 @@
language: php
php:
- "5.6"
- "5.5"
- "5.4"
- "5.3"
# PHP 5.6 is not yet released, allow failures
matrix:
allow_failures:
- php: "5.6"
notifications:
irc:
channels:

View File

@ -18,14 +18,20 @@ class cache_use_test extends DokuWikiTest {
$conf['cachetime'] = 0; // ensure the value is not -1, which disables caching
saveWikiText($ID, 'Content', 'Created');
// set the modification time a second in the past in order to ensure that the cache is newer than the page
touch($file, time()-1);
$this->cache = new cache_renderer($ID, $file, 'xhtml');
$this->cache->storeCache('Test');
// set the modification times explicitly (overcome Issue #694)
$time = time();
touch($file, $time-1);
touch($this->cache->cache, $time);
}
function test_use() {
$this->markTestSkipped('Disabled until Ticket #694 has been fixed');
return;
$this->assertTrue($this->cache->useCache());
}

View File

@ -0,0 +1,56 @@
<?php
class cli_options extends DokuWikiTest {
function test_simpleshort() {
$options = new DokuCLI_Options();
$options->registerOption('exclude', 'exclude files', 'x', 'file');
$options->args = array('-x', 'foo', 'bang');
$options->parseOptions();
$this->assertEquals('foo', $options->getOpt('exclude'));
$this->assertEquals(array('bang'), $options->args);
$this->assertFalse($options->getOpt('nothing'));
}
function test_simplelong1() {
$options = new DokuCLI_Options();
$options->registerOption('exclude', 'exclude files', 'x', 'file');
$options->args = array('--exclude', 'foo', 'bang');
$options->parseOptions();
$this->assertEquals('foo', $options->getOpt('exclude'));
$this->assertEquals(array('bang'), $options->args);
$this->assertFalse($options->getOpt('nothing'));
}
function test_simplelong2() {
$options = new DokuCLI_Options();
$options->registerOption('exclude', 'exclude files', 'x', 'file');
$options->args = array('--exclude=foo', 'bang');
$options->parseOptions();
$this->assertEquals('foo', $options->getOpt('exclude'));
$this->assertEquals(array('bang'), $options->args);
$this->assertFalse($options->getOpt('nothing'));
}
function test_complex() {
$options = new DokuCLI_Options();
$options->registerOption('plugins', 'run on plugins only', 'p');
$options->registerCommand('status', 'display status info');
$options->registerOption('long', 'display long lines', 'l', false, 'status');
$options->args = array('-p', 'status', '--long', 'foo');
$options->parseOptions();
$this->assertEquals('status', $options->getCmd());
$this->assertTrue($options->getOpt('plugins'));
$this->assertTrue($options->getOpt('long'));
$this->assertEquals(array('foo'), $options->args);
}
}

View File

@ -0,0 +1,81 @@
<?php
class init_checkssl_test extends DokuWikiTest {
/**
* Running behind an SSL proxy, HTTP between server and proxy
* HTTPS not set
* HTTP_X_FORWARDED_PROTO
* set to https
*/
function test1() {
$_SERVER['HTTP_X_FORWARDED_PROTO'] = 'https';
$this->assertEquals(is_ssl(), true);
}
/**
* Running behind a plain HTTP proxy, HTTP between server and proxy
* HTTPS not set
* HTTP_X_FORWARDED_PROTO set to http
*/
function test2() {
$_SERVER['HTTP_X_FORWARDED_PROTO'] = 'http';
$this->assertEquals(is_ssl(), false);
}
/**
* Running behind an SSL proxy, HTTP between server and proxy
* HTTPS set to off,
* HTTP_X_FORWARDED_PROTO set to https
*/
function test3() {
$_SERVER['HTTP_X_FORWARDED_PROTO'] = 'https';
$_SERVER['HTTPS'] = 'off';
$this->assertEquals(is_ssl(), true);
}
/**
* Not running behind a proxy, HTTPS server
* HTTPS set to on,
* HTTP_X_FORWARDED_PROTO not set
*/
function test4() {
$_SERVER['HTTPS'] = 'on';
$this->assertEquals(is_ssl(), true);
}
/**
* Not running behind a proxy, plain HTTP server
* HTTPS not set
* HTTP_X_FORWARDED_PROTO not set
*/
function test5() {
$this->assertEquals(is_ssl(), false);
}
/**
* Not running behind a proxy, plain HTTP server
* HTTPS set to off
* HTTP_X_FORWARDED_PROTO not set
*/
function test6() {
$_SERVER['HTTPS'] = 'off';
$this->assertEquals(is_ssl(), false);
}
/**
* Running behind an SSL proxy, SSL between proxy and HTTP server
* HTTPS set to on,
* HTTP_X_FORWARDED_PROTO set to https
*/
function test7() {
$_SERVER['HTTP_X_FORWARDED_PROTO'] = 'https';
$_SERVER['HTTPS'] = 'on';
$this->assertEquals(is_ssl(), true);
}
}

View File

@ -14,8 +14,58 @@ class input_test extends DokuWikiTest {
'empty' => '',
'emptya' => array(),
'do' => array('save' => 'Speichern'),
);
/**
* custom filter function
*
* @param $string
* @return mixed
*/
public function myfilter($string) {
$string = str_replace('foo', 'bar', $string);
$string = str_replace('baz', '', $string);
return $string;
}
public function test_filter() {
$_GET = array(
'foo' => 'foo',
'zstring'=> "foo\0bar",
'znull' => "\0",
'zint' => '42'."\0".'42',
'zintbaz'=> "baz42",
);
$_POST = $_GET;
$_REQUEST = $_GET;
$INPUT = new Input();
$filter = array($this,'myfilter');
$this->assertNotSame('foobar', $INPUT->str('zstring'));
$this->assertSame('foobar', $INPUT->filter()->str('zstring'));
$this->assertSame('bar', $INPUT->filter($filter)->str('foo'));
$this->assertSame('bar', $INPUT->filter()->str('znull', 'bar', true));
$this->assertNotSame('foobar', $INPUT->str('zstring')); // make sure original input is unmodified
$this->assertNotSame('foobar', $INPUT->get->str('zstring'));
$this->assertSame('foobar', $INPUT->get->filter()->str('zstring'));
$this->assertSame('bar', $INPUT->get->filter($filter)->str('foo'));
$this->assertSame('bar', $INPUT->get->filter()->str('znull', 'bar', true));
$this->assertNotSame('foobar', $INPUT->get->str('zstring')); // make sure original input is unmodified
$this->assertNotSame(4242, $INPUT->int('zint'));
$this->assertSame(4242, $INPUT->filter()->int('zint'));
$this->assertSame(42, $INPUT->filter($filter)->int('zintbaz'));
$this->assertSame(42, $INPUT->filter()->str('znull', 42, true));
$this->assertSame(true, $INPUT->bool('znull'));
$this->assertSame(false, $INPUT->filter()->bool('znull'));
$this->assertSame('foobar', $INPUT->filter()->valid('zstring', array('foobar', 'bang')));
}
public function test_str() {
$_REQUEST = $this->data;
$_POST = $this->data;

View File

@ -53,6 +53,21 @@ class css_css_compress_test extends DokuWikiTest {
$this->assertEquals('#foo{background-image:url(http://foo.bar/baz.jpg);}', css_compress($text));
}
function test_slcom6(){
$text = '#foo {
background-image: url(//foo.bar/baz.jpg); // background-image: url(http://foo.bar/baz.jpg); this is all commented
}';
$this->assertEquals('#foo{background-image:url(//foo.bar/baz.jpg);}', css_compress($text));
}
function test_slcom7(){
$text = '#foo a[href ^="https://"], #foo a[href ^=\'https://\'] {
background-image: url(//foo.bar/baz.jpg); // background-image: url(http://foo.bar/baz.jpg); this is \'all\' "commented"
}';
$this->assertEquals('#foo a[href ^="https://"],#foo a[href ^=\'https://\']{background-image:url(//foo.bar/baz.jpg);}', css_compress($text));
}
function test_hack(){
$text = '/* Mac IE will not see this and continue with inline-block */
/* \\*/

View File

@ -1,378 +1,317 @@
#!/usr/bin/php
<?php
#------------------------------------------------------------------------------
if ('cli' != php_sapi_name()) die();
if(!defined('DOKU_INC')) define('DOKU_INC', realpath(dirname(__FILE__).'/../').'/');
define('NOSESSION', 1);
require_once(DOKU_INC.'inc/init.php');
ini_set('memory_limit','128M');
if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
require_once DOKU_INC.'inc/init.php';
require_once DOKU_INC.'inc/common.php';
require_once DOKU_INC.'inc/cliopts.php';
/**
* Checkout and commit pages from the command line while maintaining the history
*/
class PageCLI extends DokuCLI {
#------------------------------------------------------------------------------
function usage($action) {
switch ( $action ) {
case 'checkout':
print "Usage: dwpage.php [opts] checkout <wiki:page> [working_file]
protected $force = false;
protected $username = '';
Checks out a file from the repository, using the wiki id and obtaining
a lock for the page.
If a working_file is specified, this is where the page is copied to.
Otherwise defaults to the same as the wiki page in the current
working directory.
/**
* Register options and arguments on the given $options object
*
* @param DokuCLI_Options $options
* @return void
*/
protected function setup(DokuCLI_Options $options) {
/* global */
$options->registerOption(
'force',
'force obtaining a lock for the page (generally bad idea)',
'f'
);
$options->registerOption(
'user',
'work as this user. defaults to current CLI user',
'u'
);
$options->setHelp(
'Utility to help command line Dokuwiki page editing, allow '.
'pages to be checked out for editing then committed after changes'
);
EXAMPLE
$ ./dwpage.php checkout wiki:syntax ./new_syntax.txt
/* checkout command */
$options->registerCommand(
'checkout',
'Checks out a file from the repository, using the wiki id and obtaining '.
'a lock for the page. '."\n".
'If a working_file is specified, this is where the page is copied to. '.
'Otherwise defaults to the same as the wiki page in the current '.
'working directory.'
);
$options->registerArgument(
'wikipage',
'The wiki page to checkout',
true,
'checkout'
);
$options->registerArgument(
'workingfile',
'How to name the local checkout',
false,
'checkout'
);
OPTIONS
-h, --help=<action>: get help
-f: force obtaining a lock for the page (generally bad idea)
";
break;
case 'commit':
print "Usage: dwpage.php [opts] -m \"Msg\" commit <working_file> <wiki:page>
/* commit command */
$options->registerCommand(
'commit',
'Checks in the working_file into the repository using the specified '.
'wiki id, archiving the previous version.'
);
$options->registerArgument(
'workingfile',
'The local file to commit',
true,
'commit'
);
$options->registerArgument(
'wikipage',
'The wiki page to create or update',
true,
'commit'
);
$options->registerOption(
'message',
'Summary describing the change (required)',
'm',
'summary',
'commit'
);
$options->registerOption(
'trivial',
'minor change',
't',
false,
'commit'
);
Checks in the working_file into the repository using the specified
wiki id, archiving the previous version.
/* lock command */
$options->registerCommand(
'lock',
'Obtains or updates a lock for a wiki page'
);
$options->registerArgument(
'wikipage',
'The wiki page to lock',
true,
'lock'
);
EXAMPLE
$ ./dwpage.php -m \"Some message\" commit ./new_syntax.txt wiki:syntax
OPTIONS
-h, --help=<action>: get help
-f: force obtaining a lock for the page (generally bad idea)
-t, trivial: minor change
-m (required): Summary message describing the change
";
break;
case 'lock':
print "Usage: dwpage.php [opts] lock <wiki:page>
Obtains or updates a lock for a wiki page
EXAMPLE
$ ./dwpage.php lock wiki:syntax
OPTIONS
-h, --help=<action>: get help
-f: force obtaining a lock for the page (generally bad idea)
";
break;
case 'unlock':
print "Usage: dwpage.php [opts] unlock <wiki:page>
Removes a lock for a wiki page.
EXAMPLE
$ ./dwpage.php unlock wiki:syntax
OPTIONS
-h, --help=<action>: get help
-f: force obtaining a lock for the page (generally bad idea)
";
break;
default:
print "Usage: dwpage.php [opts] <action>
Utility to help command line Dokuwiki page editing, allow
pages to be checked out for editing then committed after changes
Normal operation would be;
ACTIONS
checkout: see $ dwpage.php --help=checkout
commit: see $ dwpage.php --help=commit
lock: see $ dwpage.php --help=lock
OPTIONS
-h, --help=<action>: get help
e.g. $ ./dwpage.php -hcommit
e.g. $ ./dwpage.php --help=commit
";
break;
/* unlock command */
$options->registerCommand(
'unlock',
'Removes a lock for a wiki page.'
);
$options->registerArgument(
'wikipage',
'The wiki page to unlock',
true,
'unlock'
);
}
}
#------------------------------------------------------------------------------
function getUser() {
$user = getenv('USER');
if (empty ($user)) {
$user = getenv('USERNAME');
} else {
/**
* Your main program
*
* Arguments and options have been parsed when this is run
*
* @param DokuCLI_Options $options
* @return void
*/
protected function main(DokuCLI_Options $options) {
$this->force = $options->getOpt('force', false);
$this->username = $options->getOpt('user', $this->getUser());
$command = $options->getCmd();
switch($command) {
case 'checkout':
$wiki_id = array_shift($options->args);
$localfile = array_shift($options->args);
$this->commandCheckout($wiki_id, $localfile);
break;
case 'commit':
$localfile = array_shift($options->args);
$wiki_id = array_shift($options->args);
$this->commandCommit(
$localfile,
$wiki_id,
$options->getOpt('message', ''),
$options->getOpt('trivial', false)
);
break;
case 'lock':
$wiki_id = array_shift($options->args);
$this->obtainLock($wiki_id);
$this->success("$wiki_id locked");
break;
case 'unlock':
$wiki_id = array_shift($options->args);
$this->clearLock($wiki_id);
$this->success("$wiki_id unlocked");
break;
default:
echo $options->help();
}
}
/**
* Check out a file
*
* @param string $wiki_id
* @param string $localfile
*/
protected function commandCheckout($wiki_id, $localfile) {
global $conf;
$wiki_id = cleanID($wiki_id);
$wiki_fn = wikiFN($wiki_id);
if(!file_exists($wiki_fn)) {
$this->fatal("$wiki_id does not yet exist");
}
if(empty($localfile)) {
$localfile = getcwd().'/'.utf8_basename($wiki_fn);
}
if(!file_exists(dirname($localfile))) {
$this->fatal("Directory ".dirname($localfile)." does not exist");
}
if(stristr(realpath(dirname($localfile)), realpath($conf['datadir'])) !== false) {
$this->fatal("Attempt to check out file into data directory - not allowed");
}
$this->obtainLock($wiki_id);
if(!copy($wiki_fn, $localfile)) {
$this->clearLock($wiki_id);
$this->fatal("Unable to copy $wiki_fn to $localfile");
}
$this->success("$wiki_id > $localfile");
}
/**
* Save a file as a new page revision
*
* @param string $localfile
* @param string $wiki_id
* @param string $message
* @param bool $minor
*/
protected function commandCommit($localfile, $wiki_id, $message, $minor) {
$wiki_id = cleanID($wiki_id);
$message = trim($message);
if(!file_exists($localfile)) {
$this->fatal("$localfile does not exist");
}
if(!is_readable($localfile)) {
$this->fatal("Cannot read from $localfile");
}
if(!$message) {
$this->fatal("Summary message required");
}
$this->obtainLock($wiki_id);
saveWikiText($wiki_id, file_get_contents($localfile), $message, $minor);
$this->clearLock($wiki_id);
$this->success("$localfile > $wiki_id");
}
/**
* Lock the given page or exit
*
* @param string $wiki_id
*/
protected function obtainLock($wiki_id) {
if($this->force) $this->deleteLock($wiki_id);
$_SERVER['REMOTE_USER'] = $this->username;
if(checklock($wiki_id)) {
$this->error("Page $wiki_id is already locked by another user");
exit(1);
}
lock($wiki_id);
$_SERVER['REMOTE_USER'] = '_'.$this->username.'_';
if(checklock($wiki_id) != $this->username) {
$this->error("Unable to obtain lock for $wiki_id ");
var_dump(checklock($wiki_id));
exit(1);
}
}
/**
* Clear the lock on the given page
*
* @param string $wiki_id
*/
protected function clearLock($wiki_id) {
if($this->force) $this->deleteLock($wiki_id);
$_SERVER['REMOTE_USER'] = $this->username;
if(checklock($wiki_id)) {
$this->error("Page $wiki_id is locked by another user");
exit(1);
}
unlock($wiki_id);
if(file_exists(wikiLockFN($wiki_id))) {
$this->error("Unable to clear lock for $wiki_id");
exit(1);
}
}
/**
* Forcefully remove a lock on the page given
*
* @param string $wiki_id
*/
protected function deleteLock($wiki_id) {
$wikiLockFN = wikiLockFN($wiki_id);
if(file_exists($wikiLockFN)) {
if(!unlink($wikiLockFN)) {
$this->error("Unable to delete $wikiLockFN");
exit(1);
}
}
}
/**
* Get the current user's username from the environment
*
* @return string
*/
protected function getUser() {
$user = getenv('USER');
if(empty ($user)) {
$user = getenv('USERNAME');
} else {
return $user;
}
if(empty ($user)) {
$user = 'admin';
}
return $user;
}
if (empty ($user)) {
$user = 'admin';
}
return $user;
}
#------------------------------------------------------------------------------
function getSuppliedArgument($OPTS, $short, $long) {
$arg = $OPTS->get($short);
if ( is_null($arg) ) {
$arg = $OPTS->get($long);
}
return $arg;
}
#------------------------------------------------------------------------------
function obtainLock($WIKI_ID) {
global $USERNAME;
if ( !file_exists(wikiFN($WIKI_ID)) ) {
fwrite( STDERR, "$WIKI_ID does not yet exist\n");
}
$_SERVER['REMOTE_USER'] = $USERNAME;
if ( checklock($WIKI_ID) ) {
fwrite( STDERR, "Page $WIKI_ID is already locked by another user\n");
exit(1);
}
lock($WIKI_ID);
$_SERVER['REMOTE_USER'] = '_'.$USERNAME.'_';
if ( checklock($WIKI_ID) != $USERNAME ) {
fwrite( STDERR, "Unable to obtain lock for $WIKI_ID\n" );
exit(1);
}
}
#------------------------------------------------------------------------------
function clearLock($WIKI_ID) {
global $USERNAME ;
if ( !file_exists(wikiFN($WIKI_ID)) ) {
fwrite( STDERR, "$WIKI_ID does not yet exist\n");
}
$_SERVER['REMOTE_USER'] = $USERNAME;
if ( checklock($WIKI_ID) ) {
fwrite( STDERR, "Page $WIKI_ID is locked by another user\n");
exit(1);
}
unlock($WIKI_ID);
if ( file_exists(wikiLockFN($WIKI_ID)) ) {
fwrite( STDERR, "Unable to clear lock for $WIKI_ID\n" );
exit(1);
}
}
#------------------------------------------------------------------------------
function deleteLock($WIKI_ID) {
$wikiLockFN = wikiLockFN($WIKI_ID);
if ( file_exists($wikiLockFN) ) {
if ( !unlink($wikiLockFN) ) {
fwrite( STDERR, "Unable to delete $wikiLockFN\n" );
exit(1);
}
}
}
#------------------------------------------------------------------------------
$USERNAME = getUser();
$CWD = getcwd();
$SYSTEM_ID = '127.0.0.1';
#------------------------------------------------------------------------------
$OPTS = Doku_Cli_Opts::getOptions(
__FILE__,
'h::fm:u:s:t',
array(
'help==',
'user=',
'system=',
'trivial',
)
);
if ( $OPTS->isError() ) {
print $OPTS->getMessage()."\n";
exit(1);
}
if ( $OPTS->has('h') or $OPTS->has('help') or !$OPTS->hasArgs() ) {
usage(getSuppliedArgument($OPTS,'h','help'));
exit(0);
}
if ( $OPTS->has('u') or $OPTS->has('user') ) {
$USERNAME = getSuppliedArgument($OPTS,'u','user');
}
if ( $OPTS->has('s') or $OPTS->has('system') ) {
$SYSTEM_ID = getSuppliedArgument($OPTS,'s','system');
}
#------------------------------------------------------------------------------
switch ( $OPTS->arg(0) ) {
#----------------------------------------------------------------------
case 'checkout':
$WIKI_ID = $OPTS->arg(1);
if ( !$WIKI_ID ) {
fwrite( STDERR, "Wiki page ID required\n");
exit(1);
}
$WIKI_FN = wikiFN($WIKI_ID);
if ( !file_exists($WIKI_FN) ) {
fwrite( STDERR, "$WIKI_ID does not yet exist\n");
exit(1);
}
$TARGET_FN = $OPTS->arg(2);
if ( empty($TARGET_FN) ) {
$TARGET_FN = getcwd().'/'.utf8_basename($WIKI_FN);
}
if ( !file_exists(dirname($TARGET_FN)) ) {
fwrite( STDERR, "Directory ".dirname($TARGET_FN)." does not exist\n");
exit(1);
}
if ( stristr( realpath(dirname($TARGET_FN)), realpath($conf['datadir']) ) !== false ) {
fwrite( STDERR, "Attempt to check out file into data directory - not allowed\n");
exit(1);
}
if ( $OPTS->has('f') ) {
deleteLock($WIKI_ID);
}
obtainLock($WIKI_ID);
# Need to lock the file first?
if ( !copy($WIKI_FN, $TARGET_FN) ) {
fwrite( STDERR, "Unable to copy $WIKI_FN to $TARGET_FN\n");
clearLock($WIKI_ID);
exit(1);
}
print "$WIKI_ID > $TARGET_FN\n";
exit(0);
break;
#----------------------------------------------------------------------
case 'commit':
$TARGET_FN = $OPTS->arg(1);
if ( !$TARGET_FN ) {
fwrite( STDERR, "Target filename required\n");
exit(1);
}
if ( !file_exists($TARGET_FN) ) {
fwrite( STDERR, "$TARGET_FN does not exist\n");
exit(1);
}
if ( !is_readable($TARGET_FN) ) {
fwrite( STDERR, "Cannot read from $TARGET_FN\n");
exit(1);
}
$WIKI_ID = $OPTS->arg(2);
if ( !$WIKI_ID ) {
fwrite( STDERR, "Wiki page ID required\n");
exit(1);
}
if ( !$OPTS->has('m') ) {
fwrite( STDERR, "Summary message required\n");
exit(1);
}
if ( $OPTS->has('f') ) {
deleteLock($WIKI_ID);
}
$_SERVER['REMOTE_USER'] = $USERNAME;
if ( checklock($WIKI_ID) ) {
fwrite( STDERR, "$WIKI_ID is locked by another user\n");
exit(1);
}
obtainLock($WIKI_ID);
saveWikiText($WIKI_ID, file_get_contents($TARGET_FN), $OPTS->get('m'), $OPTS->has('t'));
clearLock($WIKI_ID);
exit(0);
break;
#----------------------------------------------------------------------
case 'lock':
$WIKI_ID = $OPTS->arg(1);
if ( !$WIKI_ID ) {
fwrite( STDERR, "Wiki page ID required\n");
exit(1);
}
if ( $OPTS->has('f') ) {
deleteLock($WIKI_ID);
}
obtainLock($WIKI_ID);
print "Locked : $WIKI_ID\n";
exit(0);
break;
#----------------------------------------------------------------------
case 'unlock':
$WIKI_ID = $OPTS->arg(1);
if ( !$WIKI_ID ) {
fwrite( STDERR, "Wiki page ID required\n");
exit(1);
}
if ( $OPTS->has('f') ) {
deleteLock($WIKI_ID);
} else {
clearLock($WIKI_ID);
}
print "Unlocked : $WIKI_ID\n";
exit(0);
break;
#----------------------------------------------------------------------
default:
fwrite( STDERR, "Invalid action ".$OPTS->arg(0)."\n" );
exit(1);
break;
}
// Main
$cli = new PageCLI();
$cli->run();

View File

@ -1,78 +1,101 @@
#!/usr/bin/php
<?php
if('cli' != php_sapi_name()) die();
ini_set('memory_limit', '128M');
if(!defined('DOKU_INC')) define('DOKU_INC', realpath(dirname(__FILE__).'/../').'/');
define('NOSESSION', 1);
require_once(DOKU_INC.'inc/init.php');
$GitToolCLI = new GitToolCLI();
array_shift($argv);
$command = array_shift($argv);
switch($command) {
case '':
case 'help':
$GitToolCLI->cmd_help();
break;
case 'clone':
$GitToolCLI->cmd_clone($argv);
break;
case 'install':
$GitToolCLI->cmd_install($argv);
break;
case 'repo':
case 'repos':
$GitToolCLI->cmd_repos();
break;
default:
$GitToolCLI->cmd_git($command, $argv);
}
/**
* Easily manage DokuWiki git repositories
*
* @author Andreas Gohr <andi@splitbrain.org>
*/
class GitToolCLI {
private $color = true;
class GitToolCLI extends DokuCLI {
public function cmd_help() {
echo <<<EOF
Usage: gittool.php <command> [parameters]
/**
* Register options and arguments on the given $options object
*
* @param DokuCLI_Options $options
* @return void
*/
protected function setup(DokuCLI_Options $options) {
$options->setHelp(
"Manage git repositories for DokuWiki and its plugins and templates.\n\n".
"$> ./bin/gittool.php clone gallery template:ach\n".
"$> ./bin/gittool.php repos\n".
"$> ./bin/gittool.php origin -v"
);
Manage git repositories for DokuWiki and its plugins and templates.
$options->registerArgument(
'command',
'Command to execute. See below',
true
);
EXAMPLE
$options->registerCommand(
'clone',
'Tries to install a known plugin or template (prefix with template:) via git. Uses the DokuWiki.org '.
'plugin repository to find the proper git repository. Multiple extensions can be given as parameters'
);
$options->registerArgument(
'extension',
'name of the extension to install, prefix with \'template:\' for templates',
true,
'clone'
);
$> ./bin/gittool.php clone gallery template:ach
$> ./bin/gittool.php repos
$> ./bin/gittool.php origin -v
$options->registerCommand(
'install',
'The same as clone, but when no git source repository can be found, the extension is installed via '.
'download'
);
$options->registerArgument(
'extension',
'name of the extension to install, prefix with \'template:\' for templates',
true,
'install'
);
COMMANDS
$options->registerCommand(
'repos',
'Lists all git repositories found in this DokuWiki installation'
);
help
This help screen
$options->registerCommand(
'*',
'Any unknown commands are assumed to be arguments to git and will be executed in all repositories '.
'found within this DokuWiki installation'
);
}
clone <extensions>
Tries to install a known plugin or template (prefix with template:) via
git. Uses the DokuWiki.org plugin repository to find the proper git
repository. Multiple extensions can be given as parameters
/**
* Your main program
*
* Arguments and options have been parsed when this is run
*
* @param DokuCLI_Options $options
* @return void
*/
protected function main(DokuCLI_Options $options) {
$command = $options->getCmd();
if(!$command) $command = array_shift($options->args);
install <extensions>
The same as clone, but when no git source repository can be found, the
extension is installed via download
repos
Lists all git repositories found in this DokuWiki installation
<any>
Any unknown commands are assumed to be arguments to git and will be
executed in all repositories found within this DokuWiki installation
EOF;
switch($command) {
case '':
echo $options->help();
break;
case 'clone':
$this->cmd_clone($options->args);
break;
case 'install':
$this->cmd_install($options->args);
break;
case 'repo':
case 'repos':
$this->cmd_repos();
break;
default:
$this->cmd_git($command, $options->args);
}
}
/**
@ -88,7 +111,7 @@ EOF;
$repo = $this->getSourceRepo($ext);
if(!$repo) {
$this->msg_error("could not find a repository for $ext");
$this->error("could not find a repository for $ext");
$errors[] = $ext;
} else {
if($this->cloneExtension($ext, $repo)) {
@ -100,8 +123,8 @@ EOF;
}
echo "\n";
if($succeeded) $this->msg_success('successfully cloned the following extensions: '.join(', ', $succeeded));
if($errors) $this->msg_error('failed to clone the following extensions: '.join(', ', $errors));
if($succeeded) $this->success('successfully cloned the following extensions: '.join(', ', $succeeded));
if($errors) $this->error('failed to clone the following extensions: '.join(', ', $errors));
}
/**
@ -117,7 +140,7 @@ EOF;
$repo = $this->getSourceRepo($ext);
if(!$repo) {
$this->msg_info("could not find a repository for $ext");
$this->info("could not find a repository for $ext");
if($this->downloadExtension($ext)) {
$succeeded[] = $ext;
} else {
@ -133,8 +156,8 @@ EOF;
}
echo "\n";
if($succeeded) $this->msg_success('successfully installed the following extensions: '.join(', ', $succeeded));
if($errors) $this->msg_error('failed to install the following extensions: '.join(', ', $errors));
if($succeeded) $this->success('successfully installed the following extensions: '.join(', ', $succeeded));
if($errors) $this->error('failed to install the following extensions: '.join(', ', $errors));
}
/**
@ -152,19 +175,19 @@ EOF;
foreach($repos as $repo) {
if(!@chdir($repo)) {
$this->msg_error("Could not change into $repo");
$this->error("Could not change into $repo");
continue;
}
echo "\n";
$this->msg_info("executing $shell in $repo");
$this->info("executing $shell in $repo");
$ret = 0;
system($shell, $ret);
if($ret == 0) {
$this->msg_success("git succeeded in $repo");
$this->success("git succeeded in $repo");
} else {
$this->msg_error("git failed in $repo");
$this->error("git failed in $repo");
}
}
}
@ -193,23 +216,23 @@ EOF;
$url = $plugin->getDownloadURL();
if(!$url) {
$this->msg_error("no download URL for $ext");
$this->error("no download URL for $ext");
return false;
}
$ok = false;
try {
$this->msg_info("installing $ext via download from $url");
$this->info("installing $ext via download from $url");
$ok = $plugin->installFromURL($url);
} catch(Exception $e) {
$this->msg_error($e->getMessage());
$this->error($e->getMessage());
}
if($ok) {
$this->msg_success("installed $ext via download");
$this->success("installed $ext via download");
return true;
} else {
$this->msg_success("failed to install $ext via download");
$this->success("failed to install $ext via download");
return false;
}
}
@ -228,14 +251,14 @@ EOF;
$target = DOKU_PLUGIN.$ext;
}
$this->msg_info("cloning $ext from $repo to $target");
$this->info("cloning $ext from $repo to $target");
$ret = 0;
system("git clone $repo $target", $ret);
if($ret === 0) {
$this->msg_success("cloning of $ext succeeded");
$this->success("cloning of $ext succeeded");
return true;
} else {
$this->msg_error("cloning of $ext failed");
$this->error("cloning of $ext failed");
return false;
}
}
@ -248,7 +271,7 @@ EOF;
* @return array
*/
private function findRepos() {
$this->msg_info('Looking for .git directories');
$this->info('Looking for .git directories');
$data = array_merge(
glob(DOKU_INC.'.git', GLOB_ONLYDIR),
glob(DOKU_PLUGIN.'*/.git', GLOB_ONLYDIR),
@ -256,9 +279,9 @@ EOF;
);
if(!$data) {
$this->msg_error('Found no .git directories');
$this->error('Found no .git directories');
} else {
$this->msg_success('Found '.count($data).' .git directories');
$this->success('Found '.count($data).' .git directories');
}
$data = array_map('fullpath', array_map('dirname', $data));
return $data;
@ -304,37 +327,8 @@ EOF;
return false;
}
}
/**
* Print an error message
*
* @param $string
*/
private function msg_error($string) {
if($this->color) echo "\033[31m"; // red
echo "E: $string\n";
if($this->color) echo "\033[37m"; // reset
}
/**
* Print a success message
*
* @param $string
*/
private function msg_success($string) {
if($this->color) echo "\033[32m"; // green
echo "S: $string\n";
if($this->color) echo "\033[37m"; // reset
}
/**
* Print an info message
*
* @param $string
*/
private function msg_info($string) {
if($this->color) echo "\033[36m"; // cyan
echo "I: $string\n";
if($this->color) echo "\033[37m"; // reset
}
}
// Main
$cli = new GitToolCLI();
$cli->run();

View File

@ -1,98 +1,103 @@
#!/usr/bin/php
<?php
if ('cli' != php_sapi_name()) die();
ini_set('memory_limit','128M');
if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
if(!defined('DOKU_INC')) define('DOKU_INC', realpath(dirname(__FILE__).'/../').'/');
define('NOSESSION', 1);
require_once(DOKU_INC.'inc/init.php');
require_once(DOKU_INC.'inc/cliopts.php');
session_write_close();
// handle options
$short_opts = 'hcuq';
$long_opts = array('help', 'clear', 'update', 'quiet');
$OPTS = Doku_Cli_Opts::getOptions(__FILE__,$short_opts,$long_opts);
if ( $OPTS->isError() ) {
fwrite( STDERR, $OPTS->getMessage() . "\n");
_usage();
exit(1);
}
$CLEAR = false;
$QUIET = false;
$INDEXER = null;
foreach ($OPTS->options as $key => $val) {
switch ($key) {
case 'h':
case 'help':
_usage();
exit;
case 'c':
case 'clear':
$CLEAR = true;
break;
case 'q':
case 'quiet':
$QUIET = true;
break;
}
}
#------------------------------------------------------------------------------
# Action
if($CLEAR) _clearindex();
_update();
#------------------------------------------------------------------------------
function _usage() {
print "Usage: indexer.php <options>
Updates the searchindex by indexing all new or changed pages
when the -c option is given the index is cleared first.
OPTIONS
-h, --help show this help and exit
-c, --clear clear the index before updating
-q, --quiet don't produce any output
";
}
function _update(){
global $conf;
$data = array();
_quietecho("Searching pages... ");
search($data,$conf['datadir'],'search_allpages',array('skipacl' => true));
_quietecho(count($data)." pages found.\n");
foreach($data as $val){
_index($val['id']);
}
}
function _index($id){
global $CLEAR;
global $QUIET;
_quietecho("$id... ");
idx_addPage($id, !$QUIET, $CLEAR);
_quietecho("done.\n");
}
/**
* Clear all index files
* Update the Search Index from command line
*/
function _clearindex(){
_quietecho("Clearing index... ");
idx_get_indexer()->clear();
_quietecho("done.\n");
class IndexerCLI extends DokuCLI {
private $quiet = false;
private $clear = false;
/**
* Register options and arguments on the given $options object
*
* @param DokuCLI_Options $options
* @return void
*/
protected function setup(DokuCLI_Options $options) {
$options->setHelp(
'Updates the searchindex by indexing all new or changed pages. When the -c option is '.
'given the index is cleared first.'
);
$options->registerOption(
'clear',
'clear the index before updating',
'c'
);
$options->registerOption(
'quiet',
'don\'t produce any output',
'q'
);
}
/**
* Your main program
*
* Arguments and options have been parsed when this is run
*
* @param DokuCLI_Options $options
* @return void
*/
protected function main(DokuCLI_Options $options) {
$this->clear = $options->getOpt('clear');
$this->quiet = $options->getOpt('quiet');
if($this->clear) $this->clearindex();
$this->update();
}
/**
* Update the index
*/
function update() {
global $conf;
$data = array();
$this->quietecho("Searching pages... ");
search($data, $conf['datadir'], 'search_allpages', array('skipacl' => true));
$this->quietecho(count($data)." pages found.\n");
foreach($data as $val) {
$this->index($val['id']);
}
}
/**
* Index the given page
*
* @param string $id
*/
function index($id) {
$this->quietecho("$id... ");
idx_addPage($id, !$this->quiet, $this->clear);
$this->quietecho("done.\n");
}
/**
* Clear all index files
*/
function clearindex() {
$this->quietecho("Clearing index... ");
idx_get_indexer()->clear();
$this->quietecho("done.\n");
}
/**
* Print message if not supressed
*
* @param string $msg
*/
function quietecho($msg) {
if(!$this->quiet) echo $msg;
}
}
function _quietecho($msg) {
global $QUIET;
if(!$QUIET) echo $msg;
}
//Setup VIM: ex: et ts=2 :
// Main
$cli = new IndexerCLI();
$cli->run();

View File

@ -1,5 +1,10 @@
#!/usr/bin/php
<?php
if(!defined('DOKU_INC')) define('DOKU_INC', realpath(dirname(__FILE__).'/../').'/');
define('NOSESSION', 1);
require_once(DOKU_INC.'inc/init.php');
/**
* A simple commandline tool to render some DokuWiki syntax with a given
* renderer.
@ -9,59 +14,48 @@
* DokuWiki markup
*
* @license GPL2
* @author Andreas Gohr <andi@splitbrain.org>
* @author Andreas Gohr <andi@splitbrain.org>
*/
if ('cli' != php_sapi_name()) die();
class RenderCLI extends DokuCLI {
ini_set('memory_limit','128M');
if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
define('NOSESSION',1);
require_once(DOKU_INC.'inc/init.php');
require_once(DOKU_INC.'inc/common.php');
require_once(DOKU_INC.'inc/parserutils.php');
require_once(DOKU_INC.'inc/cliopts.php');
/**
* Register options and arguments on the given $options object
*
* @param DokuCLI_Options $options
* @return void
*/
protected function setup(DokuCLI_Options $options) {
$options->setHelp(
'A simple commandline tool to render some DokuWiki syntax with a given renderer.'.
"\n\n".
'This may not work for plugins that expect a certain environment to be '.
'set up before rendering, but should work for most or even all standard '.
'DokuWiki markup'
);
$options->registerOption('renderer', 'The renderer mode to use. Defaults to xhtml', 'r', 'mode');
}
// handle options
$short_opts = 'hr:';
$long_opts = array('help','renderer:');
$OPTS = Doku_Cli_Opts::getOptions(__FILE__,$short_opts,$long_opts);
if ( $OPTS->isError() ) {
fwrite( STDERR, $OPTS->getMessage() . "\n");
_usage();
exit(1);
}
$RENDERER = 'xhtml';
foreach ($OPTS->options as $key => $val) {
switch ($key) {
case 'h':
case 'help':
_usage();
exit;
case 'r':
case 'renderer':
$RENDERER = $val;
/**
* Your main program
*
* Arguments and options have been parsed when this is run
*
* @param DokuCLI_Options $options
* @throws DokuCLI_Exception
* @return void
*/
protected function main(DokuCLI_Options $options) {
$renderer = $options->getOpt('renderer', 'xhtml');
// do the action
$source = stream_get_contents(STDIN);
$info = array();
$result = p_render($renderer, p_get_instructions($source), $info);
if(is_null($result)) throw new DokuCLI_Exception("No such renderer $renderer");
echo $result;
}
}
// do the action
$source = stream_get_contents(STDIN);
$info = array();
$result = p_render($RENDERER,p_get_instructions($source),$info);
if(is_null($result)) die("No such renderer $RENDERER\n");
echo $result;
/**
* Print usage info
*/
function _usage(){
print "Usage: render.php <options>
Reads DokuWiki syntax from STDIN and renders it with the given renderer
to STDOUT
OPTIONS
-h, --help show this help and exit
-r, --renderer <renderer> the render mode (default: xhtml)
";
}
// Main
$cli = new RenderCLI();
$cli->run();

View File

@ -1,148 +1,110 @@
#!/usr/bin/php
<?php
if(!defined('DOKU_INC')) define('DOKU_INC', realpath(dirname(__FILE__).'/../').'/');
define('NOSESSION', 1);
require_once(DOKU_INC.'inc/init.php');
/**
* Strip unwanted languages from the DokuWiki install
*
* @author Martin 'E.T.' Misuth <et.github@ethome.sk>
* Remove unwanted languages from a DokuWiki install
*/
if ('cli' != php_sapi_name()) die();
class StripLangsCLI extends DokuCLI {
#------------------------------------------------------------------------------
if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
require_once DOKU_INC.'inc/cliopts.php';
/**
* Register options and arguments on the given $options object
*
* @param DokuCLI_Options $options
* @return void
*/
protected function setup(DokuCLI_Options $options) {
#------------------------------------------------------------------------------
function usage($show_examples = false) {
print "Usage: striplangs.php [-h [-x]] [-e] [-k lang1[,lang2]..[,langN]]
$options->setHelp(
'Remove all languages from the installation, besides the ones specified. English language '.
'is never removed!'
);
Removes all languages from the installation, besides the ones
after the -k option. English language is never removed!
OPTIONS
-h, --help get this help
-x, --examples get also usage examples
-k, --keep comma separated list of languages, -e is always implied
-e, --english keeps english, dummy to use without -k\n";
if ( $show_examples ) {
print "\n
EXAMPLES
Strips all languages, but keeps 'en' and 'de':
striplangs -k de
Strips all but 'en','ca-valencia','cs','de','is','sk':
striplangs --keep ca-valencia,cs,de,is,sk
Strips all but 'en':
striplangs -e
No option specified, prints usage and throws error:
striplangs\n";
$options->registerOption(
'keep',
'Comma separated list of languages to keep in addition to English.',
'k'
);
$options->registerOption(
'english-only',
'Remove all languages except English',
'e'
);
}
}
function getSuppliedArgument($OPTS, $short, $long) {
$arg = $OPTS->get($short);
if ( is_null($arg) ) {
$arg = $OPTS->get($long);
/**
* Your main program
*
* Arguments and options have been parsed when this is run
*
* @param DokuCLI_Options $options
* @return void
*/
protected function main(DokuCLI_Options $options) {
if($options->getOpt('keep')) {
$keep = explode(',', $options->getOpt('keep'));
if(!in_array('en', $keep)) $keep[] = 'en';
} elseif($options->getOpt('english-only')) {
$keep = array('en');
} else {
echo $options->help();
exit(0);
}
// Kill all language directories in /inc/lang and /lib/plugins besides those in $langs array
$this->stripDirLangs(realpath(dirname(__FILE__).'/../inc/lang'), $keep);
$this->processExtensions(realpath(dirname(__FILE__).'/../lib/plugins'), $keep);
$this->processExtensions(realpath(dirname(__FILE__).'/../lib/tpl'), $keep);
}
return $arg;
}
function processPlugins($path, $keep_langs) {
if (is_dir($path)) {
$entries = scandir($path);
/**
* Strip languages from extensions
*
* @param string $path path to plugin or template dir
* @param array $keep_langs languages to keep
*/
protected function processExtensions($path, $keep_langs) {
if(is_dir($path)) {
$entries = scandir($path);
foreach ($entries as $entry) {
if ($entry != "." && $entry != "..") {
if ( is_dir($path.'/'.$entry) ) {
foreach($entries as $entry) {
if($entry != "." && $entry != "..") {
if(is_dir($path.'/'.$entry)) {
$plugin_langs = $path.'/'.$entry.'/lang';
$plugin_langs = $path.'/'.$entry.'/lang';
if ( is_dir( $plugin_langs ) ) {
stripDirLangs($plugin_langs, $keep_langs);
if(is_dir($plugin_langs)) {
$this->stripDirLangs($plugin_langs, $keep_langs);
}
}
}
}
}
}
}
function stripDirLangs($path, $keep_langs) {
$dir = dir($path);
/**
* Strip languages from path
*
* @param string $path path to lang dir
* @param array $keep_langs languages to keep
*/
protected function stripDirLangs($path, $keep_langs) {
$dir = dir($path);
while(($cur_dir = $dir->read()) !== false) {
if( $cur_dir != '.' and $cur_dir != '..' and is_dir($path.'/'.$cur_dir)) {
while(($cur_dir = $dir->read()) !== false) {
if($cur_dir != '.' and $cur_dir != '..' and is_dir($path.'/'.$cur_dir)) {
if ( !in_array($cur_dir, $keep_langs, true ) ) {
killDir($path.'/'.$cur_dir);
}
}
}
$dir->close();
}
function killDir($dir) {
if (is_dir($dir)) {
$entries = scandir($dir);
foreach ($entries as $entry) {
if ($entry != "." && $entry != "..") {
if ( is_dir($dir.'/'.$entry) ) {
killDir($dir.'/'.$entry);
} else {
unlink($dir.'/'.$entry);
if(!in_array($cur_dir, $keep_langs, true)) {
io_rmdir($path.'/'.$cur_dir, true);
}
}
}
reset($entries);
rmdir($dir);
$dir->close();
}
}
#------------------------------------------------------------------------------
// handle options
$short_opts = 'hxk:e';
$long_opts = array('help', 'examples', 'keep=','english');
$OPTS = Doku_Cli_Opts::getOptions(__FILE__, $short_opts, $long_opts);
if ( $OPTS->isError() ) {
fwrite( STDERR, $OPTS->getMessage() . "\n");
exit(1);
}
// handle '--examples' option
$show_examples = ( $OPTS->has('x') or $OPTS->has('examples') ) ? true : false;
// handle '--help' option
if ( $OPTS->has('h') or $OPTS->has('help') ) {
usage($show_examples);
exit(0);
}
// handle both '--keep' and '--english' options
if ( $OPTS->has('k') or $OPTS->has('keep') ) {
$preserved_langs = getSuppliedArgument($OPTS,'k','keep');
$langs = explode(',', $preserved_langs);
// ! always enforce 'en' lang when using '--keep' (DW relies on it)
if ( !isset($langs['en']) ) {
$langs[]='en';
}
} elseif ( $OPTS->has('e') or $OPTS->has('english') ) {
// '--english' was specified strip everything besides 'en'
$langs = array ('en');
} else {
// no option was specified, print usage but don't do anything as
// this run might not be intented
usage();
print "\n
ERROR
No option specified, use either -h -x to get more info,
or -e to strip every language besides english.\n";
exit(1);
}
// Kill all language directories in /inc/lang and /lib/plugins besides those in $langs array
stripDirLangs(realpath(dirname(__FILE__).'/../inc/lang'), $langs);
processPlugins(realpath(dirname(__FILE__).'/../lib/plugins'), $langs);
$cli = new StripLangsCLI();
$cli->run();

View File

@ -1,134 +1,133 @@
#!/usr/bin/php
<?php
if ('cli' != php_sapi_name()) die();
if(!defined('DOKU_INC')) define('DOKU_INC', realpath(dirname(__FILE__).'/../').'/');
define('NOSESSION', 1);
require_once(DOKU_INC.'inc/init.php');
#------------------------------------------------------------------------------
ini_set('memory_limit','128M');
if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
require_once DOKU_INC.'inc/init.php';
require_once DOKU_INC.'inc/common.php';
require_once DOKU_INC.'inc/search.php';
require_once DOKU_INC.'inc/cliopts.php';
/**
* Find wanted pages
*/
class WantedPagesCLI extends DokuCLI {
#------------------------------------------------------------------------------
function usage() {
print "Usage: wantedpages.php [wiki:namespace]
const DIR_CONTINUE = 1;
const DIR_NS = 2;
const DIR_PAGE = 3;
Outputs a list of wanted pages (pages which have
internal links but do not yet exist).
If the optional [wiki:namespace] is not provided,
defaults to the root wiki namespace
OPTIONS
-h, --help get help
";
}
#------------------------------------------------------------------------------
define ('DW_DIR_CONTINUE',1);
define ('DW_DIR_NS',2);
define ('DW_DIR_PAGE',3);
#------------------------------------------------------------------------------
function dw_dir_filter($entry, $basepath) {
if ($entry == '.' || $entry == '..' ) {
return DW_DIR_CONTINUE;
}
if ( is_dir($basepath . '/' . $entry) ) {
if ( strpos($entry, '_') === 0 ) {
return DW_DIR_CONTINUE;
}
return DW_DIR_NS;
}
if ( preg_match('/\.txt$/',$entry) ) {
return DW_DIR_PAGE;
}
return DW_DIR_CONTINUE;
}
#------------------------------------------------------------------------------
function dw_get_pages($dir) {
static $trunclen = null;
if ( !$trunclen ) {
global $conf;
$trunclen = strlen($conf['datadir'].':');
/**
* Register options and arguments on the given $options object
*
* @param DokuCLI_Options $options
* @return void
*/
protected function setup(DokuCLI_Options $options) {
$options->setHelp(
'Outputs a list of wanted pages (pages which have internal links but do not yet exist).'
);
$options->registerArgument(
'namespace',
'The namespace to lookup. Defaults to root namespace',
false
);
}
if ( !is_dir($dir) ) {
fwrite( STDERR, "Unable to read directory $dir\n");
exit(1);
}
/**
* Your main program
*
* Arguments and options have been parsed when this is run
*
* @param DokuCLI_Options $options
* @return void
*/
protected function main(DokuCLI_Options $options) {
$pages = array();
$dh = opendir($dir);
while ( false !== ( $entry = readdir($dh) ) ) {
$status = dw_dir_filter($entry, $dir);
if ( $status == DW_DIR_CONTINUE ) {
continue;
} else if ( $status == DW_DIR_NS ) {
$pages = array_merge($pages, dw_get_pages($dir . '/' . $entry));
if($options->args) {
$startdir = dirname(wikiFN($options->args[0].':xxx'));
} else {
$page = array(
'id' => pathID(substr($dir.'/'.$entry,$trunclen)),
'file'=> $dir.'/'.$entry,
);
$pages[] = $page;
$startdir = dirname(wikiFN('xxx'));
}
$this->info("searching $startdir");
$wanted_pages = array();
foreach($this->get_pages($startdir) as $page) {
$wanted_pages = array_merge($wanted_pages, $this->internal_links($page));
}
$wanted_pages = array_unique($wanted_pages);
sort($wanted_pages);
foreach($wanted_pages as $page) {
print $page."\n";
}
}
closedir($dh);
return $pages;
}
#------------------------------------------------------------------------------
function dw_internal_links($page) {
global $conf;
$instructions = p_get_instructions(file_get_contents($page['file']));
$links = array();
$cns = getNS($page['id']);
$exists = false;
foreach($instructions as $ins){
if($ins[0] == 'internallink' || ($conf['camelcase'] && $ins[0] == 'camelcaselink') ){
$mid = $ins[1][0];
resolve_pageid($cns,$mid,$exists);
if ( !$exists ) {
list($mid) = explode('#',$mid); //record pages without hashs
$links[] = $mid;
protected function dir_filter($entry, $basepath) {
if($entry == '.' || $entry == '..') {
return WantedPagesCLI::DIR_CONTINUE;
}
if(is_dir($basepath.'/'.$entry)) {
if(strpos($entry, '_') === 0) {
return WantedPagesCLI::DIR_CONTINUE;
}
return WantedPagesCLI::DIR_NS;
}
if(preg_match('/\.txt$/', $entry)) {
return WantedPagesCLI::DIR_PAGE;
}
return WantedPagesCLI::DIR_CONTINUE;
}
protected function get_pages($dir) {
static $trunclen = null;
if(!$trunclen) {
global $conf;
$trunclen = strlen($conf['datadir'].':');
}
if(!is_dir($dir)) {
throw new DokuCLI_Exception("Unable to read directory $dir");
}
$pages = array();
$dh = opendir($dir);
while(false !== ($entry = readdir($dh))) {
$status = $this->dir_filter($entry, $dir);
if($status == WantedPagesCLI::DIR_CONTINUE) {
continue;
} else if($status == WantedPagesCLI::DIR_NS) {
$pages = array_merge($pages, $this->get_pages($dir.'/'.$entry));
} else {
$page = array(
'id' => pathID(substr($dir.'/'.$entry, $trunclen)),
'file' => $dir.'/'.$entry,
);
$pages[] = $page;
}
}
closedir($dh);
return $pages;
}
function internal_links($page) {
global $conf;
$instructions = p_get_instructions(file_get_contents($page['file']));
$links = array();
$cns = getNS($page['id']);
$exists = false;
foreach($instructions as $ins) {
if($ins[0] == 'internallink' || ($conf['camelcase'] && $ins[0] == 'camelcaselink')) {
$mid = $ins[1][0];
resolve_pageid($cns, $mid, $exists);
if(!$exists) {
list($mid) = explode('#', $mid); //record pages without hashs
$links[] = $mid;
}
}
}
return $links;
}
return $links;
}
#------------------------------------------------------------------------------
$OPTS = Doku_Cli_Opts::getOptions(__FILE__,'h',array('help'));
if ( $OPTS->isError() ) {
fwrite( STDERR, $OPTS->getMessage() . "\n");
exit(1);
}
if ( $OPTS->has('h') or $OPTS->has('help') ) {
usage();
exit(0);
}
$START_DIR = $conf['datadir'];
if ( $OPTS->numArgs() == 1 ) {
$START_DIR .= '/' . $OPTS->arg(0);
}
#------------------------------------------------------------------------------
$WANTED_PAGES = array();
foreach ( dw_get_pages($START_DIR) as $WIKI_PAGE ) {
$WANTED_PAGES = array_merge($WANTED_PAGES,dw_internal_links($WIKI_PAGE));
}
$WANTED_PAGES = array_unique($WANTED_PAGES);
sort($WANTED_PAGES);
foreach ( $WANTED_PAGES as $WANTED_PAGE ) {
print $WANTED_PAGE."\n";
}
exit(0);
// Main
$cli = new WantedPagesCLI();
$cli->run();

View File

@ -9,7 +9,7 @@
*/
// update message version
$updateVersion = 44;
$updateVersion = 45;
// xdebug_start_profiling();

View File

@ -127,6 +127,8 @@ function rss_parseOptions() {
'items' => array('int', 'num', $conf['recent']),
// Boolean, only used in rc mode
'show_minor' => array('bool', 'minor', false),
// String, only used in list mode
'sort' => array('str', 'sort', 'natural'),
// String, only used in search mode
'search_query' => array('str', 'q', null),
// One of: pages, media, both
@ -138,6 +140,7 @@ function rss_parseOptions() {
$opt['items'] = max(0, (int) $opt['items']);
$opt['show_minor'] = (bool) $opt['show_minor'];
$opt['sort'] = valid_input_set('sort', array('default' => 'natural', 'date'), $opt);
$opt['guardmail'] = ($conf['mailguard'] != '' && $conf['mailguard'] != 'none');
@ -405,6 +408,7 @@ function rss_buildItems(&$rss, &$data, $opt) {
if($userInfo) {
switch($conf['showuseras']) {
case 'username':
case 'username_link':
$item->author = $userInfo['name'];
break;
default:
@ -479,7 +483,7 @@ function rssListNamespace($opt) {
global $conf;
$ns = ':'.cleanID($opt['namespace']);
$ns = str_replace(':', '/', $ns);
$ns = utf8_encodeFN(str_replace(':', '/', $ns));
$data = array();
$search_opts = array(
@ -487,7 +491,7 @@ function rssListNamespace($opt) {
'pagesonly' => true,
'listfiles' => true
);
search($data, $conf['datadir'], 'search_universal', $search_opts, $ns);
search($data, $conf['datadir'], 'search_universal', $search_opts, $ns, $lvl = 1, $opt['sort']);
return $data;
}

View File

@ -35,6 +35,19 @@ class DokuHTTPClient extends HTTPClient {
$this->proxy_pass = conf_decodeString($conf['proxy']['pass']);
$this->proxy_ssl = $conf['proxy']['ssl'];
$this->proxy_except = $conf['proxy']['except'];
// allow enabling debugging via URL parameter (if debugging allowed)
if($conf['allowdebug']) {
if(
isset($_REQUEST['httpdebug']) ||
(
isset($_SERVER['HTTP_REFERER']) &&
strpos($_SERVER['HTTP_REFERER'], 'httpdebug') !== false
)
) {
$this->debug = true;
}
}
}
@ -61,6 +74,9 @@ class DokuHTTPClient extends HTTPClient {
}
/**
* Class HTTPClientException
*/
class HTTPClientException extends Exception { }
/**
@ -249,7 +265,6 @@ class HTTPClient {
if (empty($port)) $port = 8080;
}else{
$request_url = $path;
$server = $server;
if (!isset($port)) $port = ($uri['scheme'] == 'https') ? 443 : 80;
}
@ -280,7 +295,6 @@ class HTTPClient {
}
}
$headers['Content-Length'] = strlen($data);
$rmethod = 'POST';
}elseif($method == 'GET'){
$data = ''; //no data allowed on GET requests
}
@ -343,7 +357,7 @@ class HTTPClient {
try {
//set non-blocking
stream_set_blocking($socket, false);
stream_set_blocking($socket, 0);
// build request
$request = "$method $request_url HTTP/".$this->http.HTTP_NL;
@ -458,7 +472,7 @@ class HTTPClient {
if ($chunk_size > 0) {
$r_body .= $this->_readData($socket, $chunk_size, 'chunk');
$byte = $this->_readData($socket, 2, 'chunk'); // read trailing \r\n
$this->_readData($socket, 2, 'chunk'); // read trailing \r\n
}
} while ($chunk_size && !$abort);
}elseif(isset($this->resp_headers['content-length']) && !isset($this->resp_headers['transfer-encoding'])){
@ -480,7 +494,6 @@ class HTTPClient {
$r_body = $this->_readData($socket, $this->max_bodysize, 'response (content-length limited)', true);
}else{
// read entire socket
$r_size = 0;
while (!feof($socket)) {
$r_body .= $this->_readData($socket, 4096, 'response (unlimited)', true);
}
@ -509,7 +522,6 @@ class HTTPClient {
if (!$this->keep_alive ||
(isset($this->resp_headers['connection']) && $this->resp_headers['connection'] == 'Close')) {
// close socket
$status = socket_get_status($socket);
fclose($socket);
unset(self::$connections[$connectionId]);
}
@ -796,7 +808,7 @@ class HTTPClient {
function _buildHeaders($headers){
$string = '';
foreach($headers as $key => $value){
if(empty($value)) continue;
if($value === '') continue;
$string .= $key.': '.$value.HTTP_NL;
}
return $string;

View File

@ -20,6 +20,11 @@ class Input {
protected $access;
/**
* @var Callable
*/
protected $filter;
/**
* Intilizes the Input class and it subcomponents
*/
@ -30,6 +35,32 @@ class Input {
$this->server = new ServerInput();
}
/**
* Apply the set filter to the given value
*
* @param string $data
* @return string
*/
protected function applyfilter($data){
if(!$this->filter) return $data;
return call_user_func($this->filter, $data);
}
/**
* Return a filtered copy of the input object
*
* Expects a callable that accepts one string parameter and returns a filtered string
*
* @param Callable|string $filter
* @return Input
*/
public function filter($filter='stripctl'){
$this->filter = $filter;
$clone = clone $this;
$this->filter = '';
return $clone;
}
/**
* Check if a parameter was set
*
@ -77,8 +108,9 @@ class Input {
*/
public function param($name, $default = null, $nonempty = false) {
if(!isset($this->access[$name])) return $default;
if($nonempty && empty($this->access[$name])) return $default;
return $this->access[$name];
$value = $this->applyfilter($this->access[$name]);
if($nonempty && empty($value)) return $default;
return $value;
}
/**
@ -121,10 +153,11 @@ class Input {
public function int($name, $default = 0, $nonempty = false) {
if(!isset($this->access[$name])) return $default;
if(is_array($this->access[$name])) return $default;
if($this->access[$name] === '') return $default;
if($nonempty && empty($this->access[$name])) return $default;
$value = $this->applyfilter($this->access[$name]);
if($value === '') return $default;
if($nonempty && empty($value)) return $default;
return (int) $this->access[$name];
return (int) $value;
}
/**
@ -138,9 +171,10 @@ class Input {
public function str($name, $default = '', $nonempty = false) {
if(!isset($this->access[$name])) return $default;
if(is_array($this->access[$name])) return $default;
if($nonempty && empty($this->access[$name])) return $default;
$value = $this->applyfilter($this->access[$name]);
if($nonempty && empty($value)) return $default;
return (string) $this->access[$name];
return (string) $value;
}
/**
@ -158,7 +192,8 @@ class Input {
public function valid($name, $valids, $default = null) {
if(!isset($this->access[$name])) return $default;
if(is_array($this->access[$name])) return $default; // we don't allow arrays
$found = array_search($this->access[$name], $valids);
$value = $this->applyfilter($this->access[$name]);
$found = array_search($value, $valids);
if($found !== false) return $valids[$found]; // return the valid value for type safety
return $default;
}
@ -176,10 +211,11 @@ class Input {
public function bool($name, $default = false, $nonempty = false) {
if(!isset($this->access[$name])) return $default;
if(is_array($this->access[$name])) return $default;
if($this->access[$name] === '') return $default;
if($nonempty && empty($this->access[$name])) return $default;
$value = $this->applyfilter($this->access[$name]);
if($value === '') return $default;
if($nonempty && empty($value)) return $default;
return (bool) $this->access[$name];
return (bool) $value;
}
/**

View File

@ -26,6 +26,8 @@ class TarLib {
public $_result = true;
function __construct($file, $comptype = TarLib::COMPRESS_AUTO, $complevel = 9) {
dbg_deprecated('class Tar');
if(!$file) $this->error('__construct', '$file');
$this->file = $file;

View File

@ -95,9 +95,10 @@ function auth_setup() {
$INPUT->set('http_credentials', true);
}
// apply cleaning
// apply cleaning (auth specific user names, remove control chars)
if (true === $auth->success) {
$INPUT->set('u', $auth->cleanUser($INPUT->str('u')));
$INPUT->set('u', $auth->cleanUser(stripctl($INPUT->str('u'))));
$INPUT->set('p', stripctl($INPUT->str('p')));
}
if($INPUT->str('authtok')) {
@ -228,7 +229,7 @@ function auth_login($user, $pass, $sticky = false, $silent = false) {
if(!empty($user)) {
//usual login
if($auth->checkPass($user, $pass)) {
if(!empty($pass) && $auth->checkPass($user, $pass)) {
// make logininfo globally available
$INPUT->server->set('REMOTE_USER', $user);
$secret = auth_cookiesalt(!$sticky, true); //bind non-sticky to session
@ -638,6 +639,7 @@ function auth_isMember($memberlist, $user, array $groups) {
// compare cleaned values
foreach($members as $member) {
if($member == '@ALL' ) return true;
if(!$auth->isCaseSensitive()) $member = utf8_strtolower($member);
if($member[0] == '@') {
$member = $auth->cleanGroup(substr($member, 1));
@ -922,7 +924,7 @@ function auth_sendPassword($user, $password) {
if(!$auth) return false;
$user = $auth->cleanUser($user);
$userinfo = $auth->getUserData($user);
$userinfo = $auth->getUserData($user, $requireGroups = false);
if(!$userinfo['mail']) return false;
@ -1080,7 +1082,7 @@ function updateprofile() {
}
}
if($result = $auth->triggerUserMod('modify', array($INPUT->server->str('REMOTE_USER'), $changes))) {
if($result = $auth->triggerUserMod('modify', array($INPUT->server->str('REMOTE_USER'), &$changes))) {
// update cookie and session with the changed data
if($changes['pass']) {
list( /*user*/, $sticky, /*pass*/) = auth_getCookie();
@ -1184,7 +1186,7 @@ function act_resendpwd() {
}
$user = io_readfile($tfile);
$userinfo = $auth->getUserData($user);
$userinfo = $auth->getUserData($user, $requireGroups = false);
if(!$userinfo['mail']) {
msg($lang['resendpwdnouser'], -1);
return false;
@ -1236,7 +1238,7 @@ function act_resendpwd() {
$user = trim($auth->cleanUser($INPUT->post->str('login')));
}
$userinfo = $auth->getUserData($user);
$userinfo = $auth->getUserData($user, $requireGroups = false);
if(!$userinfo['mail']) {
msg($lang['resendpwdnouser'], -1);
return false;

View File

@ -178,6 +178,7 @@ class cache_parser extends cache {
public $file = ''; // source file for cache
public $mode = ''; // input mode (represents the processing the input file will undergo)
public $page = '';
var $_event = 'PARSER_CACHE_USE';

View File

@ -18,6 +18,9 @@ define('DOKU_CHANGE_TYPE_REVERT', 'R');
* parses a changelog line into it's components
*
* @author Ben Coburn <btcoburn@silicodon.net>
*
* @param string $line changelog line
* @return array|bool parsed line or false
*/
function parseChangelogLine($line) {
$tmp = explode("\t", $line);
@ -43,7 +46,7 @@ function parseChangelogLine($line) {
* @param String $summary Summary of the change
* @param mixed $extra In case of a revert the revision (timestmp) of the reverted page
* @param array $flags Additional flags in a key value array.
* Availible flags:
* Available flags:
* - ExternalEdit - mark as an external edit.
*
* @author Andreas Gohr <andi@splitbrain.org>
@ -116,6 +119,15 @@ function addLogEntry($date, $id, $type=DOKU_CHANGE_TYPE_EDIT, $summary='', $extr
* @author Andreas Gohr <andi@splitbrain.org>
* @author Esther Brunner <wikidesign@gmail.com>
* @author Ben Coburn <btcoburn@silicodon.net>
*
* @param int $date Timestamp of the change
* @param String $id Name of the affected page
* @param String $type Type of the change see DOKU_CHANGE_TYPE_*
* @param String $summary Summary of the change
* @param mixed $extra In case of a revert the revision (timestmp) of the reverted page
* @param array $flags Additional flags in a key value array.
* Available flags:
* - (none, so far)
*/
function addMediaLogEntry($date, $id, $type=DOKU_CHANGE_TYPE_EDIT, $summary='', $extra='', $flags=null){
global $conf;
@ -294,6 +306,12 @@ function getRecentsSince($from,$to=null,$ns='',$flags=0){
* @see getRecents()
* @author Andreas Gohr <andi@splitbrain.org>
* @author Ben Coburn <btcoburn@silicodon.net>
*
* @param string $line changelog line
* @param string $ns restrict to given namespace
* @param int $flags flags to control which changes are included
* @param array $seen listing of seen pages
* @return array|bool false or array with info about a change
*/
function _handleRecent($line,$ns,$flags,&$seen){
if(empty($line)) return false; //skip empty lines
@ -778,9 +796,9 @@ abstract class ChangeLog {
* Read chunk and return array with lines of given chunck.
* Has no check if $head and $tail are really at a new line
*
* @param $fp resource filepointer
* @param $head int start point chunck
* @param $tail int end point chunck
* @param resource $fp resource filepointer
* @param int $head start point chunck
* @param int $tail end point chunck
* @return array lines read from chunck
*/
protected function readChunk($fp, $head, $tail) {
@ -804,8 +822,8 @@ abstract class ChangeLog {
/**
* Set pointer to first new line after $finger and return its position
*
* @param resource $fp filepointer
* @param $finger int a pointer
* @param resource $fp filepointer
* @param int $finger a pointer
* @return int pointer
*/
protected function getNewlinepointer($fp, $finger) {
@ -886,7 +904,7 @@ abstract class ChangeLog {
*/
protected function retrieveRevisionsAround($rev, $max) {
//get lines from changelog
list($fp, $lines, $starthead, $starttail, $eof) = $this->readloglines($rev);
list($fp, $lines, $starthead, $starttail, /* $eof */) = $this->readloglines($rev);
if(empty($lines)) return false;
//parse chunk containing $rev, and read forward more chunks until $max/2 is reached
@ -1004,12 +1022,13 @@ class MediaChangelog extends ChangeLog {
* changelog files, only the chunk containing the
* requested changelog line is read.
*
* @deprecated 20-11-2013
* @deprecated 2013-11-20
*
* @author Ben Coburn <btcoburn@silicodon.net>
* @author Kate Arzamastseva <pshns@ukr.net>
*/
function getRevisionInfo($id, $rev, $chunk_size = 8192, $media = false) {
dbg_deprecated('class PageChangeLog or class MediaChangelog');
if($media) {
$changelog = new MediaChangeLog($id, $chunk_size);
} else {
@ -1024,10 +1043,6 @@ function getRevisionInfo($id, $rev, $chunk_size = 8192, $media = false) {
* only that a line with the date exists in the changelog.
* By default the current revision is skipped.
*
* id: the page of interest
* first: skip the first n changelog lines
* num: number of revisions to return
*
* The current revision is automatically skipped when the page exists.
* See $INFO['meta']['last_change'] for the current revision.
*
@ -1036,12 +1051,20 @@ function getRevisionInfo($id, $rev, $chunk_size = 8192, $media = false) {
* backwards in chunks until the requested number of changelog
* lines are recieved.
*
* @deprecated 20-11-2013
* @deprecated 2013-11-20
*
* @author Ben Coburn <btcoburn@silicodon.net>
* @author Kate Arzamastseva <pshns@ukr.net>
*
* @param string $id the page of interest
* @param int $first skip the first n changelog lines
* @param int $num number of revisions to return
* @param int $chunk_size
* @param bool $media
* @return array
*/
function getRevisions($id, $first, $num, $chunk_size = 8192, $media = false) {
dbg_deprecated('class PageChangeLog or class MediaChangelog');
if($media) {
$changelog = new MediaChangeLog($id, $chunk_size);
} else {

647
inc/cli.php Normal file
View File

@ -0,0 +1,647 @@
<?php
/**
* Class DokuCLI
*
* All DokuWiki commandline scripts should inherit from this class and implement the abstract methods.
*
* @author Andreas Gohr <andi@splitbrain.org>
*/
abstract class DokuCLI {
/** @var string the executed script itself */
protected $bin;
/** @var DokuCLI_Options the option parser */
protected $options;
/** @var DokuCLI_Colors */
public $colors;
/**
* constructor
*
* Initialize the arguments, set up helper classes and set up the CLI environment
*/
public function __construct() {
set_exception_handler(array($this, 'fatal'));
$this->options = new DokuCLI_Options();
$this->colors = new DokuCLI_Colors();
}
/**
* Register options and arguments on the given $options object
*
* @param DokuCLI_Options $options
* @return void
*/
abstract protected function setup(DokuCLI_Options $options);
/**
* Your main program
*
* Arguments and options have been parsed when this is run
*
* @param DokuCLI_Options $options
* @return void
*/
abstract protected function main(DokuCLI_Options $options);
/**
* Execute the CLI program
*
* Executes the setup() routine, adds default options, initiate the options parsing and argument checking
* and finally executes main()
*/
public function run() {
if('cli' != php_sapi_name()) throw new DokuCLI_Exception('This has to be run from the command line');
// setup
$this->setup($this->options);
$this->options->registerOption(
'no-colors',
'Do not use any colors in output. Useful when piping output to other tools or files.'
);
$this->options->registerOption(
'help',
'Display this help screen and exit immeadiately.',
'h'
);
// parse
$this->options->parseOptions();
// handle defaults
if($this->options->getOpt('no-colors')) {
$this->colors->disable();
}
if($this->options->getOpt('help')) {
echo $this->options->help();
exit(0);
}
// check arguments
$this->options->checkArguments();
// execute
$this->main($this->options);
exit(0);
}
/**
* Exits the program on a fatal error
*
* @param Exception|string $error either an exception or an error message
*/
public function fatal($error) {
$code = 0;
if(is_object($error) && is_a($error, 'Exception')) {
/** @var Exception $error */
$code = $error->getCode();
$error = $error->getMessage();
}
if(!$code) $code = DokuCLI_Exception::E_ANY;
$this->error($error);
exit($code);
}
/**
* Print an error message
*
* @param $string
*/
public function error($string) {
$this->colors->ptln("E: $string", 'red', STDERR);
}
/**
* Print a success message
*
* @param $string
*/
public function success($string) {
$this->colors->ptln("S: $string", 'green', STDERR);
}
/**
* Print an info message
*
* @param $string
*/
public function info($string) {
$this->colors->ptln("I: $string", 'cyan', STDERR);
}
}
/**
* Class DokuCLI_Colors
*
* Handles color output on (Linux) terminals
*
* @author Andreas Gohr <andi@splitbrain.org>
*/
class DokuCLI_Colors {
/** @var array known color names */
protected $colors = array(
'reset' => "\33[0m",
'black' => "\33[0;30m",
'darkgray' => "\33[1;30m",
'blue' => "\33[0;34m",
'lightblue' => "\33[1;34m",
'green' => "\33[0;32m",
'lightgreen' => "\33[1;32m",
'cyan' => "\33[0;36m",
'lightcyan' => "\33[1;36m",
'red' => "\33[0;31m",
'lightred' => "\33[1;31m",
'purple' => "\33[0;35m",
'lightpurple' => "\33[1;35m",
'brown' => "\33[0;33m",
'yellow' => "\33[1;33m",
'lightgray' => "\33[0;37m",
'white' => "\33[1;37m",
);
/** @var bool should colors be used? */
protected $enabled = true;
/**
* Constructor
*
* Tries to disable colors for non-terminals
*/
public function __construct() {
if(function_exists('posix_isatty') && !posix_isatty(STDOUT)) {
$this->enabled = false;
return;
}
if(!getenv('TERM')) {
$this->enabled = false;
return;
}
}
/**
* enable color output
*/
public function enable() {
$this->enabled = true;
}
/**
* disable color output
*/
public function disable() {
$this->enabled = false;
}
/**
* Convenience function to print a line in a given color
*
* @param $line
* @param $color
* @param resource $channel
*/
public function ptln($line, $color, $channel = STDOUT) {
$this->set($color);
fwrite($channel, rtrim($line)."\n");
$this->reset();
}
/**
* Set the given color for consecutive output
*
* @param string $color one of the supported color names
* @throws DokuCLI_Exception
*/
public function set($color) {
if(!$this->enabled) return;
if(!isset($this->colors[$color])) throw new DokuCLI_Exception("No such color $color");
echo $this->colors[$color];
}
/**
* reset the terminal color
*/
public function reset() {
$this->set('reset');
}
}
/**
* Class DokuCLI_Options
*
* Parses command line options passed to the CLI script. Allows CLI scripts to easily register all accepted options and
* commands and even generates a help text from this setup.
*
* @author Andreas Gohr <andi@splitbrain.org>
*/
class DokuCLI_Options {
/** @var array keeps the list of options to parse */
protected $setup;
/** @var array store parsed options */
protected $options = array();
/** @var string current parsed command if any */
protected $command = '';
/** @var array passed non-option arguments */
public $args = array();
/** @var string the executed script */
protected $bin;
/**
* Constructor
*/
public function __construct() {
$this->setup = array(
'' => array(
'opts' => array(),
'args' => array(),
'help' => ''
)
); // default command
$this->args = $this->readPHPArgv();
$this->bin = basename(array_shift($this->args));
$this->options = array();
}
/**
* Sets the help text for the tool itself
*
* @param string $help
*/
public function setHelp($help) {
$this->setup['']['help'] = $help;
}
/**
* Register the names of arguments for help generation and number checking
*
* This has to be called in the order arguments are expected
*
* @param string $arg argument name (just for help)
* @param string $help help text
* @param bool $required is this a required argument
* @param string $command if theses apply to a sub command only
* @throws DokuCLI_Exception
*/
public function registerArgument($arg, $help, $required = true, $command = '') {
if(!isset($this->setup[$command])) throw new DokuCLI_Exception("Command $command not registered");
$this->setup[$command]['args'][] = array(
'name' => $arg,
'help' => $help,
'required' => $required
);
}
/**
* This registers a sub command
*
* Sub commands have their own options and use their own function (not main()).
*
* @param string $command
* @param string $help
* @throws DokuCLI_Exception
*/
public function registerCommand($command, $help) {
if(isset($this->setup[$command])) throw new DokuCLI_Exception("Command $command already registered");
$this->setup[$command] = array(
'opts' => array(),
'args' => array(),
'help' => $help
);
}
/**
* Register an option for option parsing and help generation
*
* @param string $long multi character option (specified with --)
* @param string $help help text for this option
* @param string|null $short one character option (specified with -)
* @param bool|string $needsarg does this option require an argument? give it a name here
* @param string $command what command does this option apply to
* @throws DokuCLI_Exception
*/
public function registerOption($long, $help, $short = null, $needsarg = false, $command = '') {
if(!isset($this->setup[$command])) throw new DokuCLI_Exception("Command $command not registered");
$this->setup[$command]['opts'][$long] = array(
'needsarg' => $needsarg,
'help' => $help,
'short' => $short
);
if($short) {
if(strlen($short) > 1) throw new DokuCLI_Exception("Short options should be exactly one ASCII character");
$this->setup[$command]['short'][$short] = $long;
}
}
/**
* Checks the actual number of arguments against the required number
*
* Throws an exception if arguments are missing. Called from parseOptions()
*
* @throws DokuCLI_Exception
*/
public function checkArguments() {
$argc = count($this->args);
$req = 0;
foreach($this->setup[$this->command]['args'] as $arg) {
if(!$arg['required']) break; // last required arguments seen
$req++;
}
if($req > $argc) throw new DokuCLI_Exception("Not enough arguments", DokuCLI_Exception::E_OPT_ARG_REQUIRED);
}
/**
* Parses the given arguments for known options and command
*
* The given $args array should NOT contain the executed file as first item anymore! The $args
* array is stripped from any options and possible command. All found otions can be accessed via the
* getOpt() function
*
* Note that command options will overwrite any global options with the same name
*
* @throws DokuCLI_Exception
*/
public function parseOptions() {
$non_opts = array();
$argc = count($this->args);
for($i = 0; $i < $argc; $i++) {
$arg = $this->args[$i];
// The special element '--' means explicit end of options. Treat the rest of the arguments as non-options
// and end the loop.
if($arg == '--') {
$non_opts = array_merge($non_opts, array_slice($this->args, $i + 1));
break;
}
// '-' is stdin - a normal argument
if($arg == '-') {
$non_opts = array_merge($non_opts, array_slice($this->args, $i));
break;
}
// first non-option
if($arg{0} != '-') {
$non_opts = array_merge($non_opts, array_slice($this->args, $i));
break;
}
// long option
if(strlen($arg) > 1 && $arg{1} == '-') {
list($opt, $val) = explode('=', substr($arg, 2), 2);
if(!isset($this->setup[$this->command]['opts'][$opt])) {
throw new DokuCLI_Exception("No such option $arg", DokuCLI_Exception::E_UNKNOWN_OPT);
}
// argument required?
if($this->setup[$this->command]['opts'][$opt]['needsarg']) {
if(is_null($val) && $i + 1 < $argc && !preg_match('/^--?[\w]/', $this->args[$i + 1])) {
$val = $this->args[++$i];
}
if(is_null($val)) {
throw new DokuCLI_Exception("Option $arg requires an argument", DokuCLI_Exception::E_OPT_ARG_REQUIRED);
}
$this->options[$opt] = $val;
} else {
$this->options[$opt] = true;
}
continue;
}
// short option
$opt = substr($arg, 1);
if(!isset($this->setup[$this->command]['short'][$opt])) {
throw new DokuCLI_Exception("No such option $arg", DokuCLI_Exception::E_UNKNOWN_OPT);
} else {
$opt = $this->setup[$this->command]['short'][$opt]; // store it under long name
}
// argument required?
if($this->setup[$this->command]['opts'][$opt]['needsarg']) {
$val = null;
if($i + 1 < $argc && !preg_match('/^--?[\w]/', $this->args[$i + 1])) {
$val = $this->args[++$i];
}
if(is_null($val)) {
throw new DokuCLI_Exception("Option $arg requires an argument", DokuCLI_Exception::E_OPT_ARG_REQUIRED);
}
$this->options[$opt] = $val;
} else {
$this->options[$opt] = true;
}
}
// parsing is now done, update args array
$this->args = $non_opts;
// if not done yet, check if first argument is a command and reexecute argument parsing if it is
if(!$this->command && $this->args && isset($this->setup[$this->args[0]])) {
// it is a command!
$this->command = array_shift($this->args);
$this->parseOptions(); // second pass
}
}
/**
* Get the value of the given option
*
* Please note that all options are accessed by their long option names regardless of how they were
* specified on commandline.
*
* Can only be used after parseOptions() has been run
*
* @param string $option
* @param mixed $default what to return if the option was not set
* @return mixed
*/
public function getOpt($option, $default = false) {
if(isset($this->options[$option])) return $this->options[$option];
return $default;
}
/**
* Return the found command if any
*
* @return string
*/
public function getCmd() {
return $this->command;
}
/**
* Builds a help screen from the available options. You may want to call it from -h or on error
*
* @return string
*/
public function help() {
$text = '';
$hascommands = (count($this->setup) > 1);
foreach($this->setup as $command => $config) {
$hasopts = (bool) $this->setup[$command]['opts'];
$hasargs = (bool) $this->setup[$command]['args'];
if(!$command) {
$text .= 'USAGE: '.$this->bin;
} else {
$text .= "\n$command";
}
if($hasopts) $text .= ' <OPTIONS>';
foreach($this->setup[$command]['args'] as $arg) {
if($arg['required']) {
$text .= ' <'.$arg['name'].'>';
} else {
$text .= ' [<'.$arg['name'].'>]';
}
}
$text .= "\n";
if($this->setup[$command]['help']) {
$text .= "\n";
$text .= $this->tableFormat(
array(2, 72),
array('', $this->setup[$command]['help']."\n")
);
}
if($hasopts) {
$text .= "\n OPTIONS\n\n";
foreach($this->setup[$command]['opts'] as $long => $opt) {
$name = '';
if($opt['short']) {
$name .= '-'.$opt['short'];
if($opt['needsarg']) $name .= ' <'.$opt['needsarg'].'>';
$name .= ', ';
}
$name .= "--$long";
if($opt['needsarg']) $name .= ' <'.$opt['needsarg'].'>';
$text .= $this->tableFormat(
array(2, 20, 52),
array('', $name, $opt['help'])
);
$text .= "\n";
}
}
if($hasargs) {
$text .= "\n";
foreach($this->setup[$command]['args'] as $arg) {
$name = '<'.$arg['name'].'>';
$text .= $this->tableFormat(
array(2, 20, 52),
array('', $name, $arg['help'])
);
}
}
if($command == '' && $hascommands) {
$text .= "\nThis tool accepts a command as first parameter as outlined below:\n";
}
}
return $text;
}
/**
* Safely read the $argv PHP array across different PHP configurations.
* Will take care on register_globals and register_argc_argv ini directives
*
* @throws DokuCLI_Exception
* @return array the $argv PHP array or PEAR error if not registered
*/
private function readPHPArgv() {
global $argv;
if(!is_array($argv)) {
if(!@is_array($_SERVER['argv'])) {
if(!@is_array($GLOBALS['HTTP_SERVER_VARS']['argv'])) {
throw new DokuCLI_Exception(
"Could not read cmd args (register_argc_argv=Off?)",
DOKU_CLI_OPTS_ARG_READ
);
}
return $GLOBALS['HTTP_SERVER_VARS']['argv'];
}
return $_SERVER['argv'];
}
return $argv;
}
/**
* Displays text in multiple word wrapped columns
*
* @param array $widths list of column widths (in characters)
* @param array $texts list of texts for each column
* @return string
*/
private function tableFormat($widths, $texts) {
$wrapped = array();
$maxlen = 0;
foreach($widths as $col => $width) {
$wrapped[$col] = explode("\n", wordwrap($texts[$col], $width - 1, "\n", true)); // -1 char border
$len = count($wrapped[$col]);
if($len > $maxlen) $maxlen = $len;
}
$out = '';
for($i = 0; $i < $maxlen; $i++) {
foreach($widths as $col => $width) {
if(isset($wrapped[$col][$i])) {
$val = $wrapped[$col][$i];
} else {
$val = '';
}
$out .= sprintf('%-'.$width.'s', $val);
}
$out .= "\n";
}
return $out;
}
}
/**
* Class DokuCLI_Exception
*
* The code is used as exit code for the CLI tool. This should probably be extended. Many cases just fall back to the
* E_ANY code.
*
* @author Andreas Gohr <andi@splitbrain.org>
*/
class DokuCLI_Exception extends Exception {
const E_ANY = -1; // no error code specified
const E_UNKNOWN_OPT = 1; //Unrecognized option
const E_OPT_ARG_REQUIRED = 2; //Option requires argument
const E_OPT_ARG_DENIED = 3; //Option not allowed argument
const E_OPT_ABIGUOUS = 4; //Option abiguous
const E_ARG_READ = 5; //Could not read argv
public function __construct($message = "", $code = 0, Exception $previous = null) {
if(!$code) $code = DokuCLI_Exception::E_ANY;
parent::__construct($message, $code, $previous);
}
}

View File

@ -68,6 +68,7 @@ define('DOKU_CLI_OPTS_ARG_READ',5);//Could not read argv
*
* @author Andrei Zmievski <andrei@php.net>
*
* @deprecated 2014-05-16
*/
class Doku_Cli_Opts {

View File

@ -22,6 +22,9 @@ define('RECENTS_MEDIA_PAGES_MIXED', 32);
*
* @author Andreas Gohr <andi@splitbrain.org>
* @see htmlspecialchars()
*
* @param string $string the string being converted
* @return string converted string
*/
function hsc($string) {
return htmlspecialchars($string, ENT_QUOTES, 'UTF-8');
@ -33,6 +36,9 @@ function hsc($string) {
* You can give an indention as optional parameter
*
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $string line of text
* @param int $indent number of spaces indention
*/
function ptln($string, $indent = 0) {
echo str_repeat(' ', $indent)."$string\n";
@ -42,6 +48,9 @@ function ptln($string, $indent = 0) {
* strips control characters (<32) from the given string
*
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param $string string being stripped
* @return string
*/
function stripctl($string) {
return preg_replace('/[\x00-\x1F]+/s', '', $string);
@ -63,6 +72,9 @@ function getSecurityToken() {
/**
* Check the secret CSRF token
*
* @param null|string $token security token or null to read it from request variable
* @return bool success if the token matched
*/
function checkSecurityToken($token = null) {
/** @var Input $INPUT */
@ -81,6 +93,9 @@ function checkSecurityToken($token = null) {
* Print a hidden form field with a secret CSRF token
*
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param bool $print if true print the field, otherwise html of the field is returned
* @return void|string html of hidden form field
*/
function formSecurityToken($print = true) {
$ret = '<div class="no"><input type="hidden" name="sectok" value="'.getSecurityToken().'" /></div>'."\n";
@ -93,6 +108,11 @@ function formSecurityToken($print = true) {
*
* @author Andreas Gohr <andi@splitbrain.org>
* @author Chris Smith <chris@jalakai.co.uk>
*
* @param string $id pageid
* @param bool $htmlClient add info about whether is mobile browser
* @return array with info for a request of $id
*
*/
function basicinfo($id, $htmlClient=true){
global $USERINFO;
@ -139,6 +159,8 @@ function basicinfo($id, $htmlClient=true){
* array.
*
* @author Andreas Gohr <andi@splitbrain.org>
*
* @return array with info about current document
*/
function pageinfo() {
global $ID;
@ -246,6 +268,8 @@ function pageinfo() {
/**
* Return information about the current media item as an associative array.
*
* @return array with info about current media item
*/
function mediainfo(){
global $NS;
@ -261,6 +285,10 @@ function mediainfo(){
* Build an string of URL parameters
*
* @author Andreas Gohr
*
* @param array $params array with key-value pairs
* @param string $sep series of pairs are separated by this character
* @return string query string
*/
function buildURLparams($params, $sep = '&amp;') {
$url = '';
@ -281,6 +309,10 @@ function buildURLparams($params, $sep = '&amp;') {
* Skips keys starting with '_', values get HTML encoded
*
* @author Andreas Gohr
*
* @param array $params array with (attribute name-attribute value) pairs
* @param bool $skipempty skip empty string values?
* @return string
*/
function buildAttributes($params, $skipempty = false) {
$url = '';
@ -302,6 +334,8 @@ function buildAttributes($params, $skipempty = false) {
* This builds the breadcrumb trail and returns it as array
*
* @author Andreas Gohr <andi@splitbrain.org>
*
* @return array(pageid=>name, ... )
*/
function breadcrumbs() {
// we prepare the breadcrumbs early for quick session closing
@ -361,6 +395,10 @@ function breadcrumbs() {
* Urlencoding is ommitted when the second parameter is false
*
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $id pageid being filtered
* @param bool $ue apply urlencoding?
* @return string
*/
function idfilter($id, $ue = true) {
global $conf;
@ -378,6 +416,7 @@ function idfilter($id, $ue = true) {
if($ue) {
$id = rawurlencode($id);
$id = str_replace('%3A', ':', $id); //keep as colon
$id = str_replace('%3B', ';', $id); //keep as semicolon
$id = str_replace('%2F', '/', $id); //keep as slash
}
return $id;
@ -386,10 +425,15 @@ function idfilter($id, $ue = true) {
/**
* This builds a link to a wikipage
*
* It handles URL rewriting and adds additional parameter if
* given in $more
* It handles URL rewriting and adds additional parameters
*
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $id page id, defaults to start page
* @param string|array $urlParameters URL parameters, associative array recommended
* @param bool $absolute request an absolute URL instead of relative
* @param string $separator parameter separator
* @return string
*/
function wl($id = '', $urlParameters = '', $absolute = false, $separator = '&amp;') {
global $conf;
@ -431,13 +475,19 @@ function wl($id = '', $urlParameters = '', $absolute = false, $separator = '&amp
* Handles URL rewriting if enabled. Follows the style of wl().
*
* @author Ben Coburn <btcoburn@silicodon.net>
* @param string $id page id, defaults to start page
* @param string $format the export renderer to use
* @param string|array $urlParameters URL parameters, associative array recommended
* @param bool $abs request an absolute URL instead of relative
* @param string $sep parameter separator
* @return string
*/
function exportlink($id = '', $format = 'raw', $more = '', $abs = false, $sep = '&amp;') {
function exportlink($id = '', $format = 'raw', $urlParameters = '', $abs = false, $sep = '&amp;') {
global $conf;
if(is_array($more)) {
$more = buildURLparams($more, $sep);
if(is_array($urlParameters)) {
$urlParameters = buildURLparams($urlParameters, $sep);
} else {
$more = str_replace(',', $sep, $more);
$urlParameters = str_replace(',', $sep, $urlParameters);
}
$format = rawurlencode($format);
@ -450,13 +500,13 @@ function exportlink($id = '', $format = 'raw', $more = '', $abs = false, $sep =
if($conf['userewrite'] == 2) {
$xlink .= DOKU_SCRIPT.'/'.$id.'?do=export_'.$format;
if($more) $xlink .= $sep.$more;
if($urlParameters) $xlink .= $sep.$urlParameters;
} elseif($conf['userewrite'] == 1) {
$xlink .= '_export/'.$format.'/'.$id;
if($more) $xlink .= '?'.$more;
if($urlParameters) $xlink .= '?'.$urlParameters;
} else {
$xlink .= DOKU_SCRIPT.'?do=export_'.$format.$sep.'id='.$id;
if($more) $xlink .= $sep.$more;
if($urlParameters) $xlink .= $sep.$urlParameters;
}
return $xlink;
@ -563,6 +613,8 @@ function ml($id = '', $more = '', $direct = true, $sep = '&amp;', $abs = false)
* Consider using wl() instead, unless you absoutely need the doku.php endpoint
*
* @author Andreas Gohr <andi@splitbrain.org>
*
* @return string
*/
function script() {
return DOKU_BASE.DOKU_SCRIPT;
@ -589,6 +641,7 @@ function script() {
*
* @author Andreas Gohr <andi@splitbrain.org>
* @author Michael Klier <chi@chimeric.de>
*
* @param string $text - optional text to check, if not given the globals are used
* @return bool - true if a spam word was found
*/
@ -657,6 +710,7 @@ function checkwordblock($text = '') {
* headers
*
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param boolean $single If set only a single IP is returned
* @return string
*/
@ -728,6 +782,8 @@ function clientIP($single = false) {
* Adapted from the example code at url below
*
* @link http://www.brainhandles.com/2007/10/15/detecting-mobile-browsers/#code
*
* @return bool if true, client is mobile browser; otherwise false
*/
function clientismobile() {
/* @var Input $INPUT */
@ -752,6 +808,7 @@ function clientismobile() {
* If $conf['dnslookups'] is disabled it simply returns the input string
*
* @author Glen Harris <astfgl@iamnota.org>
*
* @param string $ips comma separated list of IP addresses
* @return string a comma separated list of hostnames
*/
@ -778,6 +835,9 @@ function gethostsbyaddrs($ips) {
* removes stale lockfiles
*
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $id page id
* @return bool page is locked?
*/
function checklock($id) {
global $conf;
@ -797,7 +857,7 @@ function checklock($id) {
//my own lock
@list($ip, $session) = explode("\n", io_readFile($lock));
if($ip == $INPUT->server->str('REMOTE_USER') || $ip == clientIP() || $session == session_id()) {
if($ip == $INPUT->server->str('REMOTE_USER') || $ip == clientIP() || (session_id() && $session == session_id())) {
return false;
}
@ -808,6 +868,8 @@ function checklock($id) {
* Lock a page for editing
*
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $id page id to lock
*/
function lock($id) {
global $conf;
@ -830,6 +892,7 @@ function lock($id) {
* Unlock a page if it was locked by the user
*
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $id page id to unlock
* @return bool true if a lock was removed
*/
@ -855,6 +918,9 @@ function unlock($id) {
*
* @see formText() for 2crlf conversion
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $text
* @return string
*/
function cleanText($text) {
$text = preg_replace("/(\015\012)|(\015)/", "\012", $text);
@ -874,6 +940,9 @@ function cleanText($text) {
*
* @see cleanText() for 2unix conversion
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $text
* @return string
*/
function formText($text) {
$text = str_replace("\012", "\015\012", $text);
@ -884,6 +953,10 @@ function formText($text) {
* Returns the specified local text in raw format
*
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $id page id
* @param string $ext extension of file being read, default 'txt'
* @return string
*/
function rawLocale($id, $ext = 'txt') {
return io_readFile(localeFN($id, $ext));
@ -893,6 +966,10 @@ function rawLocale($id, $ext = 'txt') {
* Returns the raw WikiText
*
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $id page id
* @param string $rev timestamp when a revision of wikitext is desired
* @return string
*/
function rawWiki($id, $rev = '') {
return io_readWikiPage(wikiFN($id, $rev), $id, $rev);
@ -903,6 +980,9 @@ function rawWiki($id, $rev = '') {
*
* @triggers COMMON_PAGETPL_LOAD
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $id the id of the page to be created
* @return string parsed pagetemplate content
*/
function pageTemplate($id) {
global $conf;
@ -954,6 +1034,9 @@ function pageTemplate($id) {
* This works on data from COMMON_PAGETPL_LOAD
*
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param array $data array with event data
* @return string
*/
function parsePageTemplate(&$data) {
/**
@ -1021,6 +1104,11 @@ function parsePageTemplate(&$data) {
* The returned order is prefix, section and suffix.
*
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $range in form "from-to"
* @param string $id page id
* @param string $rev optional, the revision timestamp
* @return array with three slices
*/
function rawWikiSlices($range, $id, $rev = '') {
$text = io_readWikiPage(wikiFN($id, $rev), $id, $rev);
@ -1045,6 +1133,12 @@ function rawWikiSlices($range, $id, $rev = '') {
* lines between sections if needed (used on saving).
*
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $pre prefix
* @param string $text text in the middle
* @param string $suf suffix
* @param bool $pretty add additional empty lines between sections
* @return string
*/
function con($pre, $text, $suf, $pretty = false) {
if($pretty) {
@ -1069,6 +1163,11 @@ function con($pre, $text, $suf, $pretty = false) {
*
* @author Andreas Gohr <andi@splitbrain.org>
* @author Ben Coburn <btcoburn@silicodon.net>
*
* @param string $id page id
* @param string $text wikitext being saved
* @param string $summary summary of text update
* @param bool $minor mark this saved version as minor update
*/
function saveWikiText($id, $text, $summary, $minor = false) {
/* Note to developers:
@ -1173,6 +1272,9 @@ function saveWikiText($id, $text, $summary, $minor = false) {
* revision date
*
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $id page id
* @return int|string revision timestamp
*/
function saveOldRevision($id) {
$oldf = wikiFN($id);
@ -1192,8 +1294,8 @@ function saveOldRevision($id) {
* @param string $summary What changed
* @param boolean $minor Is this a minor edit?
* @param array $replace Additional string substitutions, @KEY@ to be replaced by value
*
* @return bool
*
* @author Andreas Gohr <andi@splitbrain.org>
*/
function notify($id, $who, $rev = '', $summary = '', $minor = false, $replace = array()) {
@ -1209,7 +1311,7 @@ function notify($id, $who, $rev = '', $summary = '', $minor = false, $replace =
} elseif($who == 'subscribers') {
if(!actionOK('subscribe')) return false; //subscribers enabled?
if($conf['useacl'] && $INPUT->server->str('REMOTE_USER') && $minor) return false; //skip minors
$data = array('id' => $id, 'addresslist' => '', 'self' => false);
$data = array('id' => $id, 'addresslist' => '', 'self' => false, 'replacements' => $replace);
trigger_event(
'COMMON_NOTIFY_ADDRESSLIST', $data,
array(new Subscription(), 'notifyaddresses')
@ -1231,6 +1333,8 @@ function notify($id, $who, $rev = '', $summary = '', $minor = false, $replace =
*
* @author Andreas Gohr <andi@splitbrain.org>
* @author Todd Augsburger <todd@rollerorgans.com>
*
* @return array|string
*/
function getGoogleQuery() {
/* @var Input $INPUT */
@ -1272,6 +1376,7 @@ function getGoogleQuery() {
* @param int $size A file size
* @param int $dec A number of decimal places
* @return string human readable size
*
* @author Martin Benjamin <b.martin@cybernet.ch>
* @author Aidan Lister <aidan@php.net>
* @version 1.0.0
@ -1293,6 +1398,9 @@ function filesize_h($size, $dec = 1) {
* Return the given timestamp as human readable, fuzzy age
*
* @author Andreas Gohr <gohr@cosmocode.de>
*
* @param int $dt timestamp
* @return string
*/
function datetime_h($dt) {
global $lang;
@ -1327,6 +1435,10 @@ function datetime_h($dt) {
*
* @see datetime_h
* @author Andreas Gohr <gohr@cosmocode.de>
*
* @param int|null $dt timestamp when given, null will take current timestamp
* @param string $format empty default to $conf['dformat'], or provide format as recognized by strftime()
* @return string
*/
function dformat($dt = null, $format = '') {
global $conf;
@ -1344,6 +1456,7 @@ function dformat($dt = null, $format = '') {
*
* @author <ungu at terong dot com>
* @link http://www.php.net/manual/en/function.date.php#54072
*
* @param int $int_date: current date in UNIX timestamp
* @return string
*/
@ -1360,6 +1473,9 @@ function date_iso8601($int_date) {
*
* @author Harry Fuecks <hfuecks@gmail.com>
* @author Christopher Smith <chris@jalakai.co.uk>
*
* @param string $email email address
* @return string
*/
function obfuscate($email) {
global $conf;
@ -1387,6 +1503,10 @@ function obfuscate($email) {
* Removes quoting backslashes
*
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $string
* @param string $char backslashed character
* @return string
*/
function unslash($string, $char = "'") {
return str_replace('\\'.$char, $char, $string);
@ -1397,6 +1517,9 @@ function unslash($string, $char = "'") {
*
* @author <gilthans dot NO dot SPAM at gmail dot com>
* @link http://de3.php.net/manual/en/ini.core.php#79564
*
* @param string $v shorthands
* @return int|string
*/
function php_to_byte($v) {
$l = substr($v, -1);
@ -1414,6 +1537,7 @@ function php_to_byte($v) {
/** @noinspection PhpMissingBreakStatementInspection */
case 'M':
$ret *= 1024;
/** @noinspection PhpMissingBreakStatementInspection */
case 'K':
$ret *= 1024;
break;
@ -1426,6 +1550,9 @@ function php_to_byte($v) {
/**
* Wrapper around preg_quote adding the default delimiter
*
* @param string $string
* @return string
*/
function preg_quote_cb($string) {
return preg_quote($string, '/');
@ -1456,10 +1583,10 @@ function shorten($keep, $short, $max, $min = 9, $char = '…') {
}
/**
* Return the users realname or e-mail address for use
* Return the users real name or e-mail address for use
* in page footer and recent changes pages
*
* @param string|bool $username or false when currently logged-in user should be used
* @param string|null $username or null when currently logged-in user should be used
* @param bool $textonly true returns only plain text, true allows returning html
* @return string html or plain text(not escaped) of formatted user name
*
@ -1472,7 +1599,7 @@ function editorinfo($username, $textonly = false) {
/**
* Returns users realname w/o link
*
* @param string|bool $username or false when currently logged-in user should be used
* @param string|null $username or null when currently logged-in user should be used
* @param bool $textonly true returns only plain text, true allows returning html
* @return string html or plain text(not escaped) of formatted user name
*
@ -1514,22 +1641,20 @@ function userlink($username = null, $textonly = false) {
$evt = new Doku_Event('COMMON_USER_LINK', $data);
if($evt->advise_before(true)) {
if(empty($data['name'])) {
if($conf['showuseras'] == 'loginname') {
$data['name'] = $textonly ? $data['username'] : hsc($data['username']);
} else {
if($auth) $info = $auth->getUserData($username);
if(isset($info) && $info) {
switch($conf['showuseras']) {
case 'username':
case 'username_link':
$data['name'] = $textonly ? $info['name'] : hsc($info['name']);
break;
case 'email':
case 'email_link':
$data['name'] = obfuscate($info['mail']);
break;
}
if($auth) $info = $auth->getUserData($username);
if($conf['showuseras'] != 'loginname' && isset($info) && $info) {
switch($conf['showuseras']) {
case 'username':
case 'username_link':
$data['name'] = $textonly ? $info['name'] : hsc($info['name']);
break;
case 'email':
case 'email_link':
$data['name'] = obfuscate($info['mail']);
break;
}
} else {
$data['name'] = $textonly ? $data['username'] : hsc($data['username']);
}
}
@ -1595,6 +1720,7 @@ function userlink($username = null, $textonly = false) {
* When no image exists, returns an empty string
*
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $type - type of image 'badge' or 'button'
* @return string
*/
@ -1603,7 +1729,6 @@ function license_img($type) {
global $conf;
if(!$conf['license']) return '';
if(!is_array($license[$conf['license']])) return '';
$lic = $license[$conf['license']];
$try = array();
$try[] = 'lib/images/license/'.$type.'/'.$conf['license'].'.png';
$try[] = 'lib/images/license/'.$type.'/'.$conf['license'].'.gif';
@ -1625,9 +1750,8 @@ function license_img($type) {
* @author Filip Oscadal <webmaster@illusionsoftworks.cz>
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param int $mem Size of memory you want to allocate in bytes
* @param int $bytes
* @internal param int $used already allocated memory (see above)
* @param int $mem Size of memory you want to allocate in bytes
* @param int $bytes already allocated memory (see above)
* @return bool
*/
function is_mem_available($mem, $bytes = 1048576) {
@ -1658,6 +1782,8 @@ function is_mem_available($mem, $bytes = 1048576) {
*
* @link http://support.microsoft.com/kb/q176113/
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $url url being directed to
*/
function send_redirect($url) {
/* @var Input $INPUT */
@ -1729,6 +1855,10 @@ function valid_input_set($param, $valid_values, $array, $exc = '') {
/**
* Read a preference from the DokuWiki cookie
* (remembering both keys & values are urlencoded)
*
* @param string $pref preference key
* @param mixed $default value returned when preference not found
* @return string preference value
*/
function get_doku_pref($pref, $default) {
$enc_pref = urlencode($pref);
@ -1747,6 +1877,9 @@ function get_doku_pref($pref, $default) {
/**
* Add a preference to the DokuWiki cookie
* (remembering $_COOKIE['DOKU_PREFS'] is urlencoded)
*
* @param string $pref preference key
* @param string $val preference value
*/
function set_doku_pref($pref, $val) {
global $conf;

View File

@ -131,7 +131,7 @@ class Doku_Form {
* The element can be either a pseudo-tag or string.
* If string, it is printed without escaping special chars. *
*
* @param string $elem Pseudo-tag or string to add to the form.
* @param string|array $elem Pseudo-tag or string to add to the form.
* @author Tom N Harris <tnharris@whoopdedo.org>
*/
function addElement($elem) {
@ -143,8 +143,8 @@ class Doku_Form {
*
* Inserts a content element at a position.
*
* @param string $pos 0-based index where the element will be inserted.
* @param string $elem Pseudo-tag or string to add to the form.
* @param string $pos 0-based index where the element will be inserted.
* @param string|array $elem Pseudo-tag or string to add to the form.
* @author Tom N Harris <tnharris@whoopdedo.org>
*/
function insertElement($pos, $elem) {
@ -156,8 +156,8 @@ class Doku_Form {
*
* Replace with NULL to remove an element.
*
* @param int $pos 0-based index the element will be placed at.
* @param string $elem Pseudo-tag or string to add to the form.
* @param int $pos 0-based index the element will be placed at.
* @param string|array $elem Pseudo-tag or string to add to the form.
* @author Tom N Harris <tnharris@whoopdedo.org>
*/
function replaceElement($pos, $elem) {

View File

@ -215,7 +215,7 @@ function ft_pageLookup($id, $in_ns=false, $in_title=false){
function _ft_pageLookup(&$data){
// split out original parameters
$id = $data['id'];
if (preg_match('/(?:^| )@(\w+)/', $id, $matches)) {
if (preg_match('/(?:^| )(?:@|ns:)([\w:]+)/', $id, $matches)) {
$ns = cleanID($matches[1]) . ':';
$id = str_replace($matches[0], '', $id);
}

View File

@ -411,8 +411,8 @@ function html_locked(){
print p_locale_xhtml('locked');
print '<ul>';
print '<li><div class="li"><strong>'.$lang['lockedby'].':</strong> '.editorinfo($INFO['locked']).'</div></li>';
print '<li><div class="li"><strong>'.$lang['lockexpire'].':</strong> '.$expire.' ('.$min.' min)</div></li>';
print '<li><div class="li"><strong>'.$lang['lockedby'].'</strong> '.editorinfo($INFO['locked']).'</div></li>';
print '<li><div class="li"><strong>'.$lang['lockexpire'].'</strong> '.$expire.' ('.$min.' min)</div></li>';
print '</ul>';
}
@ -922,6 +922,14 @@ function html_li_default($item){
* a member of an object.
*
* @author Andreas Gohr <andi@splitbrain.org>
*
* @param array $data array with item arrays
* @param string $class class of ul wrapper
* @param callable $func callback to print an list item
* @param string $lifunc callback to the opening li tag
* @param bool $forcewrapper Trigger building a wrapper ul if the first level is
0 (we have a root object) or 1 (just the root content)
* @return string html of an unordered list
*/
function html_buildlist($data,$class,$func,$lifunc='html_li_default',$forcewrapper=false){
if (count($data) === 0) {

View File

@ -30,7 +30,12 @@ function checkUpdateMessages(){
$http = new DokuHTTPClient();
$http->timeout = 12;
$data = $http->get(DOKU_MESSAGEURL.$updateVersion);
io_saveFile($cf,$data);
if(substr(trim($data), -1) != '%') {
// this doesn't look like one of our messages, maybe some WiFi login interferred
$data = '';
}else {
io_saveFile($cf,$data);
}
}else{
dbglog("checkUpdateMessages(): messages.txt up to date");
$data = io_readFile($cf);
@ -280,6 +285,15 @@ define('MSG_USERS_ONLY', 1);
define('MSG_MANAGERS_ONLY',2);
define('MSG_ADMINS_ONLY',4);
/**
* Display a message to the user
*
* @param string $message
* @param int $lvl -1 = error, 0 = info, 1 = success, 2 = notify
* @param string $line line number
* @param string $file file number
* @param int $allow who's allowed to see the message, see MSG_* constants
*/
function msg($message,$lvl=0,$line='',$file='',$allow=MSG_PUBLIC){
global $MSG, $MSG_shown;
$errors[-1] = 'error';
@ -309,6 +323,7 @@ function msg($message,$lvl=0,$line='',$file='',$allow=MSG_PUBLIC){
* lvl => int, level of the message (see msg() function)
* allow => int, flag used to determine who is allowed to see the message
* see MSG_* constants
* @return bool
*/
function info_msg_allowed($msg){
global $INFO, $auth;
@ -383,6 +398,32 @@ function dbglog($msg,$header=''){
}
}
/**
* Log accesses to deprecated fucntions to the debug log
*
* @param string $alternative The function or method that should be used instead
*/
function dbg_deprecated($alternative = '') {
global $conf;
if(!$conf['allowdebug']) return;
$backtrace = debug_backtrace();
array_shift($backtrace);
$self = array_shift($backtrace);
$call = array_shift($backtrace);
$called = trim($self['class'].'::'.$self['function'].'()', ':');
$caller = trim($call['class'].'::'.$call['function'].'()', ':');
$msg = $called.' is deprecated. It was called from ';
$msg .= $caller.' in '.$call['file'].':'.$call['line'];
if($alternative) {
$msg .= ' '.$alternative.' should be used instead!';
}
dbglog($msg);
}
/**
* Print a reversed, prettyprinted backtrace
*

View File

@ -472,10 +472,6 @@ function getBaseURL($abs=null){
$port = '';
}
if(!$port && isset($_SERVER['SERVER_PORT'])) {
$port = $_SERVER['SERVER_PORT'];
}
if(is_null($port)){
$port = '';
}
@ -506,6 +502,14 @@ function getBaseURL($abs=null){
* @returns bool true when SSL is active
*/
function is_ssl(){
// check if we are behind a reverse proxy
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])) {
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
return true;
} else {
return false;
}
}
if (!isset($_SERVER['HTTPS']) ||
preg_match('/^(|off|false|disabled)$/i',$_SERVER['HTTPS'])){
return false;

View File

@ -1,23 +1,37 @@
/* Afrikaans initialisation for the jQuery UI date picker plugin. */
/* Written by Renier Pretorius. */
jQuery(function($){
$.datepicker.regional['af'] = {
closeText: 'Selekteer',
prevText: 'Vorige',
nextText: 'Volgende',
currentText: 'Vandag',
monthNames: ['Januarie','Februarie','Maart','April','Mei','Junie',
'Julie','Augustus','September','Oktober','November','Desember'],
monthNamesShort: ['Jan', 'Feb', 'Mrt', 'Apr', 'Mei', 'Jun',
'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Des'],
dayNames: ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrydag', 'Saterdag'],
dayNamesShort: ['Son', 'Maa', 'Din', 'Woe', 'Don', 'Vry', 'Sat'],
dayNamesMin: ['So','Ma','Di','Wo','Do','Vr','Sa'],
weekHeader: 'Wk',
dateFormat: 'dd/mm/yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['af']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['af'] = {
closeText: 'Selekteer',
prevText: 'Vorige',
nextText: 'Volgende',
currentText: 'Vandag',
monthNames: ['Januarie','Februarie','Maart','April','Mei','Junie',
'Julie','Augustus','September','Oktober','November','Desember'],
monthNamesShort: ['Jan', 'Feb', 'Mrt', 'Apr', 'Mei', 'Jun',
'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Des'],
dayNames: ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrydag', 'Saterdag'],
dayNamesShort: ['Son', 'Maa', 'Din', 'Woe', 'Don', 'Vry', 'Sat'],
dayNamesMin: ['So','Ma','Di','Wo','Do','Vr','Sa'],
weekHeader: 'Wk',
dateFormat: 'dd/mm/yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['af']);
return datepicker.regional['af'];
}));

View File

@ -25,7 +25,7 @@ $lang['btn_back'] = 'Terug';
$lang['btn_backlink'] = 'Wat skakel hierheen';
$lang['btn_subscribe'] = 'Hou bladsy dop';
$lang['btn_register'] = 'Skep gerus \'n rekening';
$lang['loggedinas'] = 'Ingeteken as';
$lang['loggedinas'] = 'Ingeteken as:';
$lang['user'] = 'Gebruikernaam';
$lang['pass'] = 'Wagwoord';
$lang['newpass'] = 'Nuive wagwoord';
@ -52,7 +52,7 @@ $lang['mediaroot'] = 'root';
$lang['toc'] = 'Inhoud';
$lang['current'] = 'huidige';
$lang['line'] = 'Streak';
$lang['youarehere'] = 'Jy is hier';
$lang['youarehere'] = 'Jy is hier:';
$lang['by'] = 'by';
$lang['restored'] = 'Het terug gegaan na vroeëre weergawe (%s)';
$lang['summary'] = 'Voorskou';
@ -64,7 +64,7 @@ $lang['qb_hr'] = 'Horisontale streep';
$lang['qb_sig'] = 'Handtekening met datum';
$lang['admin_register'] = 'Skep gerus \'n rekening';
$lang['btn_img_backto'] = 'Terug na %s';
$lang['img_date'] = 'Datem';
$lang['img_camera'] = 'Camera';
$lang['img_date'] = 'Datem:';
$lang['img_camera'] = 'Camera:';
$lang['i_wikiname'] = 'Wiki Naam';
$lang['i_funcna'] = 'PHP funksie <code>%s</code> is nie beskibaar nie. Miskien is dit af gehaal.';

View File

@ -1,23 +1,37 @@
/* Arabic Translation for jQuery UI date picker plugin. */
/* Khaled Alhourani -- me@khaledalhourani.com */
/* NOTE: monthNames are the original months names and they are the Arabic names, not the new months name فبراير - يناير and there isn't any Arabic roots for these months */
jQuery(function($){
$.datepicker.regional['ar'] = {
closeText: 'إغلاق',
prevText: '&#x3C;السابق',
nextText: 'التالي&#x3E;',
currentText: 'اليوم',
monthNames: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'مايو', 'حزيران',
'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'],
monthNamesShort: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],
dayNames: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
dayNamesShort: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
dayNamesMin: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
weekHeader: 'أسبوع',
dateFormat: 'dd/mm/yy',
firstDay: 6,
isRTL: true,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['ar']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['ar'] = {
closeText: 'إغلاق',
prevText: '&#x3C;السابق',
nextText: 'التالي&#x3E;',
currentText: 'اليوم',
monthNames: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'مايو', 'حزيران',
'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'],
monthNamesShort: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],
dayNames: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
dayNamesShort: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
dayNamesMin: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
weekHeader: 'أسبوع',
dateFormat: 'dd/mm/yy',
firstDay: 6,
isRTL: true,
showMonthAfterYear: false,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['ar']);
return datepicker.regional['ar'];
}));

View File

@ -9,6 +9,7 @@
* @author uahello@gmail.com
* @author Ahmad Abd-Elghany <tolpa1@gmail.com>
* @author alhajr <alhajr300@gmail.com>
* @author Mohamed Belhsine <b.mohamed897@gmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'rtl';
@ -53,7 +54,9 @@ $lang['btn_register'] = 'سجّل';
$lang['btn_apply'] = 'طبق';
$lang['btn_media'] = 'مدير الوسائط';
$lang['btn_deleteuser'] = 'احذف حسابي الخاص';
$lang['loggedinas'] = 'داخل باسم';
$lang['btn_img_backto'] = 'عودة إلى %s';
$lang['btn_mediaManager'] = 'اعرض في مدير الوسائط';
$lang['loggedinas'] = 'داخل باسم:';
$lang['user'] = 'اسم المستخدم';
$lang['pass'] = 'كلمة السر';
$lang['newpass'] = 'كلمة سر جديدة';
@ -86,6 +89,7 @@ $lang['profdeleteuser'] = 'احذف حساب';
$lang['profdeleted'] = 'حسابك الخاص تم حذفه من هذه الموسوعة';
$lang['profconfdelete'] = 'أنا أرغب في حذف حسابي من هذه الموسوعة.<br/>
هذا الحدث غير ممكن.';
$lang['profconfdeletemissing'] = 'لم تقم بوضع علامة في مربع التأكيد';
$lang['pwdforget'] = 'أنسيت كلمة السر؟ احصل على واحدة جديدة';
$lang['resendna'] = 'هذه الويكي لا تدعم إعادة إرسال كلمة المرور.';
$lang['resendpwd'] = 'اضبط كلمة سر جديدة لـ';
@ -98,12 +102,12 @@ $lang['license'] = 'مالم يشر لخلاف ذلك، فإن ا
$lang['licenseok'] = 'لاحظ: بتحرير هذه الصفحة أنت توافق على ترخيص محتواها تحت الرخصة التالية:';
$lang['searchmedia'] = 'ابحث في أسماء الملفات:';
$lang['searchmedia_in'] = 'ابحث في %s';
$lang['txt_upload'] = 'اختر ملفاً للرفع';
$lang['txt_filename'] = 'رفع كـ (اختياري)';
$lang['txt_upload'] = 'اختر ملفاً للرفع:';
$lang['txt_filename'] = 'رفع كـ (اختياري):';
$lang['txt_overwrt'] = 'اكتب على ملف موجود';
$lang['maxuploadsize'] = 'الحجم الاقصى %s للملف';
$lang['lockedby'] = 'مقفلة حاليا لـ';
$lang['lockexpire'] = 'ينتهي القفل في';
$lang['lockedby'] = 'مقفلة حاليا لـ:';
$lang['lockexpire'] = 'ينتهي القفل في:';
$lang['js']['willexpire'] = 'سينتهي قفل تحرير هذه الصفحه خلال دقيقة.\nلتجنب التعارض استخدم زر المعاينة لتصفير مؤقت القفل.';
$lang['js']['notsavedyet'] = 'التعديلات غير المحفوظة ستفقد.';
$lang['js']['searchmedia'] = 'ابحث عن ملفات';
@ -183,10 +187,15 @@ $lang['difflink'] = 'رابط إلى هذه المقارنة';
$lang['diff_type'] = 'أظهر الفروق:';
$lang['diff_inline'] = 'ضمنا';
$lang['diff_side'] = 'جنبا إلى جنب';
$lang['diffprevrev'] = 'المراجعة السابقة';
$lang['diffnextrev'] = 'المراجعة التالية';
$lang['difflastrev'] = 'المراجعة الأخيرة';
$lang['diffbothprevrev'] = 'جانبي المراجعة السابقة';
$lang['diffbothnextrev'] = 'جانبي المراجعة التالية';
$lang['line'] = 'سطر';
$lang['breadcrumb'] = 'أثر';
$lang['youarehere'] = 'أنت هنا';
$lang['lastmod'] = 'آخر تعديل';
$lang['breadcrumb'] = 'أثر:';
$lang['youarehere'] = 'أنت هنا:';
$lang['lastmod'] = 'آخر تعديل:';
$lang['by'] = 'بواسطة';
$lang['deleted'] = 'حذفت';
$lang['created'] = 'اُنشئت';
@ -239,20 +248,18 @@ $lang['admin_register'] = 'أضف مستخدما جديدا';
$lang['metaedit'] = 'تحرير البيانات الشمولية ';
$lang['metasaveerr'] = 'فشلت كتابة البيانات الشمولية';
$lang['metasaveok'] = 'حُفظت البيانات الشمولية';
$lang['btn_img_backto'] = 'عودة إلى %s';
$lang['img_title'] = 'العنوان';
$lang['img_caption'] = 'وصف';
$lang['img_date'] = 'التاريخ';
$lang['img_fname'] = 'اسم الملف';
$lang['img_fsize'] = 'الحجم';
$lang['img_artist'] = 'المصور';
$lang['img_copyr'] = 'حقوق النسخ';
$lang['img_format'] = 'الهيئة';
$lang['img_camera'] = 'الكمرا';
$lang['img_keywords'] = 'كلمات مفتاحية';
$lang['img_width'] = 'العرض';
$lang['img_height'] = 'الإرتفاع';
$lang['btn_mediaManager'] = 'اعرض في مدير الوسائط';
$lang['img_title'] = 'العنوان:';
$lang['img_caption'] = 'وصف:';
$lang['img_date'] = 'التاريخ:';
$lang['img_fname'] = 'اسم الملف:';
$lang['img_fsize'] = 'الحجم:';
$lang['img_artist'] = 'المصور:';
$lang['img_copyr'] = 'حقوق النسخ:';
$lang['img_format'] = 'الهيئة:';
$lang['img_camera'] = 'الكمرا:';
$lang['img_keywords'] = 'كلمات مفتاحية:';
$lang['img_width'] = 'العرض:';
$lang['img_height'] = 'الإرتفاع:';
$lang['subscr_subscribe_success'] = 'اضيف %s لقائمة اشتراك %s';
$lang['subscr_subscribe_error'] = 'خطأ في إضافة %s لقائمة اشتراك %s';
$lang['subscr_subscribe_noaddress'] = 'ليس هناك عنوان مرتبط بولوجك، لا يمكن اضافتك لقائمة الاشتراك';
@ -287,6 +294,7 @@ $lang['i_phpver'] = 'نسخة PHP التي لديك هي
وهي أقل من النسخة المطلوبة
<code>%s</code>
عليك تحديث نسخة PHP';
$lang['i_mbfuncoverload'] = 'يجب ايقاف تشغيل mbstring.func_overload في ملف php.ini لتشغيل دوكوويكي.';
$lang['i_permfail'] = 'إن <code>%s</code> غير قابل للكتابة بواسطة دوكو ويكي، عليك تعديل إعدادات الصلاحيات لهذا المجلد!';
$lang['i_confexists'] = 'إن <code>%s</code> موجود أصلاً';
$lang['i_writeerr'] = 'لا يمكن إنشاء <code>%s</code>، عليك التأكد من صلاحيات الملف أو المجلد وإنشاء الملف يدوياً.';
@ -340,4 +348,5 @@ $lang['media_update'] = 'ارفع إصدارا أحدث';
$lang['media_restore'] = 'استرجع هذه النسخة';
$lang['currentns'] = 'مساحة الاسم الحالية';
$lang['searchresult'] = 'نتيجة البحث';
$lang['plainhtml'] = 'نص HTML غير منسق';
$lang['wikimarkup'] = 'علامات الوكي';

View File

@ -1,23 +1,37 @@
/* Azerbaijani (UTF-8) initialisation for the jQuery UI date picker plugin. */
/* Written by Jamil Najafov (necefov33@gmail.com). */
jQuery(function($) {
$.datepicker.regional['az'] = {
closeText: 'Bağla',
prevText: '&#x3C;Geri',
nextText: 'İrəli&#x3E;',
currentText: 'Bugün',
monthNames: ['Yanvar','Fevral','Mart','Aprel','May','İyun',
'İyul','Avqust','Sentyabr','Oktyabr','Noyabr','Dekabr'],
monthNamesShort: ['Yan','Fev','Mar','Apr','May','İyun',
'İyul','Avq','Sen','Okt','Noy','Dek'],
dayNames: ['Bazar','Bazar ertəsi','Çərşənbə axşamı','Çərşənbə','Cümə axşamı','Cümə','Şənbə'],
dayNamesShort: ['B','Be','Ça','Ç','Ca','C','Ş'],
dayNamesMin: ['B','B','Ç','С','Ç','C','Ş'],
weekHeader: 'Hf',
dateFormat: 'dd.mm.yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['az']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['az'] = {
closeText: 'Bağla',
prevText: '&#x3C;Geri',
nextText: 'İrəli&#x3E;',
currentText: 'Bugün',
monthNames: ['Yanvar','Fevral','Mart','Aprel','May','İyun',
'İyul','Avqust','Sentyabr','Oktyabr','Noyabr','Dekabr'],
monthNamesShort: ['Yan','Fev','Mar','Apr','May','İyun',
'İyul','Avq','Sen','Okt','Noy','Dek'],
dayNames: ['Bazar','Bazar ertəsi','Çərşənbə axşamı','Çərşənbə','Cümə axşamı','Cümə','Şənbə'],
dayNamesShort: ['B','Be','Ça','Ç','Ca','C','Ş'],
dayNamesMin: ['B','B','Ç','С','Ç','C','Ş'],
weekHeader: 'Hf',
dateFormat: 'dd.mm.yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['az']);
return datepicker.regional['az'];
}));

View File

@ -44,7 +44,7 @@ $lang['btn_recover'] = 'Qaralamanı qaytar';
$lang['btn_draftdel'] = 'Qaralamanı sil';
$lang['btn_revert'] = 'Qaytar';
$lang['btn_register'] = 'Qeydiyyatdan keç';
$lang['loggedinas'] = 'İstifadəcinin adı';
$lang['loggedinas'] = 'İstifadəcinin adı:';
$lang['user'] = 'istifadəci adı';
$lang['pass'] = 'Şifrə';
$lang['newpass'] = 'Yeni şifrə';
@ -82,10 +82,10 @@ $lang['license'] = 'Fərqli şey göstərilmiş hallardan başqa,
$lang['licenseok'] = 'Qeyd: bu səhifəni düzəliş edərək, Siz elədiyiniz düzəlişi aşağıda göstərilmiş lisenziyanın şərtlərinə uyğun istifadəsinə razılıq verirsiniz:';
$lang['searchmedia'] = 'Faylın adına görə axtarış:';
$lang['searchmedia_in'] = '%s-ın içində axtarış';
$lang['txt_upload'] = 'Serverə yükləmək üçün fayl seçin';
$lang['txt_filename'] = 'Faylın wiki-də olan adını daxil edin (mütləq deyil)';
$lang['txt_upload'] = 'Serverə yükləmək üçün fayl seçin:';
$lang['txt_filename'] = 'Faylın wiki-də olan adını daxil edin (mütləq deyil):';
$lang['txt_overwrt'] = 'Mövcud olan faylın üstündən yaz';
$lang['lockedby'] = 'В данный момент заблокирован Bu an blokdadır';
$lang['lockedby'] = 'В данный момент заблокирован Bu an blokdadır:';
$lang['lockexpire'] = 'Blok bitir:';
$lang['js']['willexpire'] = 'Sizin bu səhifədə dəyişik etmək üçün blokunuz bir dəqiqə ərzində bitəcək.\nMünaqişələrdən yayınmaq və blokun taymerini sıfırlamaq üçün, baxış düyməsini sıxın.';
$lang['rssfailed'] = 'Aşağıda göstərilmiş xəbər lentini əldə edən zaman xəta baş verdi: ';
@ -128,9 +128,9 @@ $lang['yours'] = 'Sizin versiyanız';
$lang['diff'] = 'hazırki versiyadan fərqləri göstər';
$lang['diff2'] = 'Versiyaların arasındaki fərqləri göstər ';
$lang['line'] = 'Sətr';
$lang['breadcrumb'] = 'Siz ziyarət etdiniz';
$lang['youarehere'] = 'Siz burdasınız';
$lang['lastmod'] = 'Son dəyişiklər';
$lang['breadcrumb'] = 'Siz ziyarət etdiniz:';
$lang['youarehere'] = 'Siz burdasınız:';
$lang['lastmod'] = 'Son dəyişiklər:';
$lang['by'] = ' Kimdən';
$lang['deleted'] = 'silinib';
$lang['created'] = 'yaranıb';
@ -173,16 +173,16 @@ $lang['metaedit'] = 'Meta-məlumatlarda düzəliş et';
$lang['metasaveerr'] = 'Meta-məlumatları yazan zamanı xəta';
$lang['metasaveok'] = 'Meta-məlumatlar yadda saxlandı';
$lang['btn_img_backto'] = 'Qayıd %s';
$lang['img_title'] = 'Başlıq';
$lang['img_caption'] = 'İmza';
$lang['img_date'] = 'Tarix';
$lang['img_fname'] = 'Faylın adı';
$lang['img_fsize'] = 'Boy';
$lang['img_artist'] = 'Şkilin müəllifi';
$lang['img_copyr'] = 'Müəllif hüquqları';
$lang['img_format'] = 'Format';
$lang['img_camera'] = 'Model';
$lang['img_keywords'] = 'Açar sözlər';
$lang['img_title'] = 'Başlıq:';
$lang['img_caption'] = 'İmza:';
$lang['img_date'] = 'Tarix:';
$lang['img_fname'] = 'Faylın adı:';
$lang['img_fsize'] = 'Boy:';
$lang['img_artist'] = 'Şkilin müəllifi:';
$lang['img_copyr'] = 'Müəllif hüquqları:';
$lang['img_format'] = 'Format:';
$lang['img_camera'] = 'Model:';
$lang['img_keywords'] = 'Açar sözlər:';
$lang['authtempfail'] = 'İstifadəçilərin autentifikasiyası müvəqqəti dayandırılıb. Əgər bu problem uzun müddət davam edir sə, administrator ilə əlaqə saxlayın.';
$lang['i_chooselang'] = 'Dili seçin/Language';
$lang['i_installer'] = 'DokuWiki quraşdırılır';

View File

@ -1,24 +1,38 @@
/* Bulgarian initialisation for the jQuery UI date picker plugin. */
/* Written by Stoyan Kyosev (http://svest.org). */
jQuery(function($){
$.datepicker.regional['bg'] = {
closeText: 'затвори',
prevText: '&#x3C;назад',
nextText: 'напред&#x3E;',
nextBigText: '&#x3E;&#x3E;',
currentText: 'днес',
monthNames: ['Януари','Февруари','Март','Април','Май','Юни',
'Юли','Август','Септември','Октомври','Ноември','Декември'],
monthNamesShort: ['Яну','Фев','Мар','Апр','Май','Юни',
'Юли','Авг','Сеп','Окт','Нов','Дек'],
dayNames: ['Неделя','Понеделник','Вторник','Сряда','Четвъртък','Петък','Събота'],
dayNamesShort: ['Нед','Пон','Вто','Сря','Чет','Пет','Съб'],
dayNamesMin: ['Не','По','Вт','Ср','Че','Пе','Съ'],
weekHeader: 'Wk',
dateFormat: 'dd.mm.yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['bg']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['bg'] = {
closeText: 'затвори',
prevText: '&#x3C;назад',
nextText: 'напред&#x3E;',
nextBigText: '&#x3E;&#x3E;',
currentText: 'днес',
monthNames: ['Януари','Февруари','Март','Април','Май','Юни',
'Юли','Август','Септември','Октомври','Ноември','Декември'],
monthNamesShort: ['Яну','Фев','Мар','Апр','Май','Юни',
'Юли','Авг','Сеп','Окт','Нов','Дек'],
dayNames: ['Неделя','Понеделник','Вторник','Сряда','Четвъртък','Петък','Събота'],
dayNamesShort: ['Нед','Пон','Вто','Сря','Чет','Пет','Съб'],
dayNamesMin: ['Не','По','Вт','Ср','Че','Пе','Съ'],
weekHeader: 'Wk',
dateFormat: 'dd.mm.yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['bg']);
return datepicker.regional['bg'];
}));

View File

@ -51,7 +51,7 @@ $lang['btn_register'] = 'Регистриране';
$lang['btn_apply'] = 'Прилагане';
$lang['btn_media'] = 'Диспечер на файлове';
$lang['btn_deleteuser'] = 'Изтриване на профила';
$lang['loggedinas'] = 'Вписани сте като';
$lang['loggedinas'] = 'Вписани сте като:';
$lang['user'] = 'Потребител';
$lang['pass'] = 'Парола';
$lang['newpass'] = 'Нова парола';
@ -96,12 +96,12 @@ $lang['license'] = 'Ако не е посочено друго, с
$lang['licenseok'] = 'Бележка: Редактирайки страницата, Вие се съгласявате да лицензирате промените (които сте направили) под следния лиценз:';
$lang['searchmedia'] = 'Търсене на файл: ';
$lang['searchmedia_in'] = 'Търсене в %s';
$lang['txt_upload'] = 'Изберете файл за качване';
$lang['txt_filename'] = 'Качи като (незадължително)';
$lang['txt_upload'] = 'Изберете файл за качване:';
$lang['txt_filename'] = 'Качи като (незадължително):';
$lang['txt_overwrt'] = 'Презапиши съществуващите файлове';
$lang['maxuploadsize'] = 'Макс. размер за отделните файлове е %s.';
$lang['lockedby'] = 'В момента е заключена от';
$lang['lockexpire'] = 'Ще бъде отключена на';
$lang['lockedby'] = 'В момента е заключена от:';
$lang['lockexpire'] = 'Ще бъде отключена на:';
$lang['js']['willexpire'] = 'Страницата ще бъде отключена за редактиране след минута.\nЗа предотвратяване на конфликти, ползвайте бутона "Преглед", за рестартиране на брояча за заключване.';
$lang['js']['notsavedyet'] = 'Незаписаните промени ще бъдат загубени. Желаете ли да продължите?';
$lang['js']['searchmedia'] = 'Търсене на файлове';
@ -181,9 +181,9 @@ $lang['diff_type'] = 'Преглед на разликите:';
$lang['diff_inline'] = 'Вграден';
$lang['diff_side'] = 'Един до друг';
$lang['line'] = 'Ред';
$lang['breadcrumb'] = 'Следа';
$lang['youarehere'] = 'Намирате се в';
$lang['lastmod'] = 'Последна промяна';
$lang['breadcrumb'] = 'Следа:';
$lang['youarehere'] = 'Намирате се в:';
$lang['lastmod'] = 'Последна промяна:';
$lang['by'] = 'от';
$lang['deleted'] = 'изтрита';
$lang['created'] = 'създадена';
@ -237,18 +237,18 @@ $lang['metaedit'] = 'Редактиране на метаданни
$lang['metasaveerr'] = 'Записването на метаданните се провали';
$lang['metasaveok'] = 'Метаданните са запазени успешно';
$lang['btn_img_backto'] = 'Назад към %s';
$lang['img_title'] = 'Заглавие';
$lang['img_caption'] = 'Надпис';
$lang['img_date'] = 'Дата';
$lang['img_fname'] = 'Име на файла';
$lang['img_fsize'] = 'Размер';
$lang['img_artist'] = 'Фотограф';
$lang['img_copyr'] = 'Авторско право';
$lang['img_format'] = 'Формат';
$lang['img_camera'] = 'Фотоапарат';
$lang['img_keywords'] = 'Ключови думи';
$lang['img_width'] = 'Ширина';
$lang['img_height'] = 'Височина';
$lang['img_title'] = 'Заглавие:';
$lang['img_caption'] = 'Надпис:';
$lang['img_date'] = 'Дата:';
$lang['img_fname'] = 'Име на файла:';
$lang['img_fsize'] = 'Размер:';
$lang['img_artist'] = 'Фотограф:';
$lang['img_copyr'] = 'Авторско право:';
$lang['img_format'] = 'Формат:';
$lang['img_camera'] = 'Фотоапарат:';
$lang['img_keywords'] = 'Ключови думи:';
$lang['img_width'] = 'Ширина:';
$lang['img_height'] = 'Височина:';
$lang['btn_mediaManager'] = 'Преглед в диспечера на файлове';
$lang['subscr_subscribe_success'] = '%s е добавен към списъка с абониралите се за %s';
$lang['subscr_subscribe_error'] = 'Грешка при добавянето на %s към списъка с абониралите се за %s';

View File

@ -50,7 +50,9 @@ $lang['btn_register'] = 'খাতা';
$lang['btn_apply'] = 'প্রয়োগ করা';
$lang['btn_media'] = 'মিডিয়া ম্যানেজার';
$lang['btn_deleteuser'] = 'আমার অ্যাকাউন্ট অপসারণ করুন';
$lang['loggedinas'] = 'লগ ইন';
$lang['btn_img_backto'] = 'ফিরে যান %s';
$lang['btn_mediaManager'] = 'মিডিয়া ম্যানেজারে দেখুন';
$lang['loggedinas'] = 'লগ ইন:';
$lang['user'] = 'ইউজারনেম';
$lang['pass'] = 'পাসওয়ার্ড';
$lang['newpass'] = 'নতুন পাসওয়ার্ড';
@ -96,12 +98,12 @@ $lang['license'] = 'অন্যথায় নোট যেখ
$lang['licenseok'] = 'দ্রষ্টব্য: আপনি নিম্নলিখিত লাইসেন্সের অধীনে আপনার বিষয়বস্তু লাইসেন্স সম্মত হন এই পৃষ্ঠার সম্পাদনার দ্বারা:';
$lang['searchmedia'] = 'অনুসন্ধান ফাইলের নাম:';
$lang['searchmedia_in'] = 'অনুসন্ধান %s -এ';
$lang['txt_upload'] = 'আপলোড করার জন্য নির্বাচন করুন ফাইল';
$lang['txt_filename'] = 'হিসাবে আপলোড করুন (ঐচ্ছিক)';
$lang['txt_upload'] = 'আপলোড করার জন্য নির্বাচন করুন ফাইল:';
$lang['txt_filename'] = 'হিসাবে আপলোড করুন (ঐচ্ছিক):';
$lang['txt_overwrt'] = 'বিদ্যমান ফাইল মুছে যাবে';
$lang['maxuploadsize'] = 'সর্বোচ্চ আপলোড করুন. %s-ফাইলের প্রতি.';
$lang['lockedby'] = 'বর্তমানে দ্বারা লক';
$lang['lockexpire'] = 'তালা এ মেয়াদ শেষ';
$lang['lockedby'] = 'বর্তমানে দ্বারা লক:';
$lang['lockexpire'] = 'তালা এ মেয়াদ শেষ:';
$lang['js']['willexpire'] = 'এই পৃষ্ঠার সম্পাদনার জন্য আপনার লক এক মিনিটের মধ্যে মেয়াদ শেষ সম্পর্কে. \ দ্বন্দ্ব লক টাইমার রিসেট প্রিভিউ বাটন ব্যবহার এড়াতে.';
$lang['js']['notsavedyet'] = 'অসংরক্ষিত পরিবর্তন হারিয়ে যাবে.';
$lang['js']['searchmedia'] = 'ফাইলের জন্য অনুসন্ধান';
@ -158,3 +160,41 @@ $lang['uploadsize'] = 'আপলোডকৃত ফাইলটি
$lang['deletesucc'] = '"%s" ফাইলটি মুছে ফেলা হয়েছে।';
$lang['deletefail'] = '"%s" ডিলিট করা যায়নি - অনুমতি আছে কি না দেখুন।';
$lang['mediainuse'] = '"%s" ফাইলটি মোছা হয়নি - এটি এখনো ব্যবহৃত হচ্ছে।';
$lang['namespaces'] = 'নামস্থান';
$lang['mediafiles'] = 'ফাইল পাওয়া যাবে ';
$lang['accessdenied'] = 'আপনি এই পৃষ্ঠাটি দেখতে অনুমতি দেওয়া হয়নি';
$lang['mediausage'] = 'এই ফাইলের উল্লেখ নিম্নলিখিত সিনট্যাক্স ব্যবহার করুন:';
$lang['mediaview'] = 'মূল ফাইলটি দেখুন';
$lang['mediaroot'] = 'মূল';
$lang['mediaupload'] = 'এখানে বর্তমান নামস্থান একটি ফাইল আপলোড করুন. , Subnamespaces তৈরি আপনি ফাইল নির্বাচন পরে কোলন দ্বারা বিভাজিত আপনার ফাইলের নাম তাদের পূর্বে লিখুন করুন. কোন ফাইল এছাড়াও ড্র্যাগ এবং ড্রপ দ্বারা নির্বাচন করা সম্ভব.';
$lang['mediaextchange'] = 'ফাইল এক্সটেনশন .%s থেকে .%s\'এ পরিবর্তন হলো !';
$lang['reference'] = 'তথ্যসূত্রের জন্য ';
$lang['ref_inuse'] = 'এই ফাইল মুছে ফেলা যাবে না কারণ এটি এখনও ব্যবহৃত হচ্ছে নিম্নলিখিত পাতা দ্বারা:';
$lang['ref_hidden'] = 'এই পাতায় কিছু রেফারেন্স পড়ার আপনার আনুমতি নেই';
$lang['hits'] = 'সফল ';
$lang['quickhits'] = 'পৃষ্ঠা মেলে';
$lang['toc'] = 'সূচীপত্র';
$lang['current'] = 'বর্তমান';
$lang['yours'] = 'আপনার সংস্করণ
';
$lang['diff'] = 'বর্তমান সংস্করণের পার্থক্য দেখান ';
$lang['diff2'] = 'নির্বাচিত সংস্করণের মধ্যে পার্থক্য দেখান ';
$lang['diff_type'] = 'পার্থক্য দেখুন:';
$lang['diff_inline'] = 'ইনলাইন';
$lang['diff_side'] = 'পাশাপাশি';
$lang['diffprevrev'] = 'পূর্ববর্তী সংস্করণ';
$lang['diffnextrev'] = 'পরবর্তী সংস্করণ';
$lang['difflastrev'] = 'সর্বশেষ সংস্করণ';
$lang['diffbothprevrev'] = 'উভয় পক্ষের পূর্ববর্তী সংস্করণ';
$lang['diffbothnextrev'] = 'উভয় পক্ষের পরবর্তী সংস্করণ';
$lang['line'] = 'লাইন';
$lang['breadcrumb'] = 'ট্রেস:';
$lang['youarehere'] = 'আপনি এখানে আছেন:';
$lang['lastmod'] = 'শেষ বার পরিমার্জিত';
$lang['by'] = 'দ্বারা';
$lang['deleted'] = 'মুছে ফেলা';
$lang['created'] = 'তৈরি করা';
$lang['restored'] = 'পুরানো সংস্করণের পুনঃস্থাপন (%s)';
$lang['external_edit'] = 'বাহ্যিক সম্পাদনা';
$lang['summary'] = 'সম্পাদনা সারাংশ';
$lang['noflash'] = 'এ href="http://www.adobe.com/products/flashplayer/"> অ্যাডোবি ফ্ল্যাশ প্লাগইন </ a> এই সামগ্রী প্রদর্শন করার জন্য প্রয়োজন হয়.';

View File

@ -45,7 +45,7 @@ $lang['btn_recover'] = 'Recuperar borrador';
$lang['btn_draftdel'] = 'Borrar borrador';
$lang['btn_revert'] = 'Recuperar';
$lang['btn_register'] = 'Registrar-se';
$lang['loggedinas'] = 'Sessió de';
$lang['loggedinas'] = 'Sessió de:';
$lang['user'] = 'Nom d\'usuari';
$lang['pass'] = 'Contrasenya';
$lang['newpass'] = 'Contrasenya nova';
@ -83,11 +83,11 @@ $lang['license'] = 'Excepte quan s\'indique una atra cosa, el cont
$lang['licenseok'] = 'Nota: a l\'editar esta pàgina accepta llicenciar el seu contingut baix la següent llicència:';
$lang['searchmedia'] = 'Buscar nom d\'archiu:';
$lang['searchmedia_in'] = 'Buscar en %s';
$lang['txt_upload'] = 'Seleccione l\'archiu que vol pujar';
$lang['txt_filename'] = 'Enviar com (opcional)';
$lang['txt_upload'] = 'Seleccione l\'archiu que vol pujar:';
$lang['txt_filename'] = 'Enviar com (opcional):';
$lang['txt_overwrt'] = 'Sobreescriure archius existents';
$lang['lockedby'] = 'Actualment bloquejat per';
$lang['lockexpire'] = 'El bloqueig venç a les';
$lang['lockedby'] = 'Actualment bloquejat per:';
$lang['lockexpire'] = 'El bloqueig venç a les:';
$lang['js']['willexpire'] = 'El seu bloqueig per a editar esta pàgina vencerà en un minut.\nPer a evitar conflictes utilise el botó de vista prèvia i reiniciarà el contador.';
$lang['js']['notsavedyet'] = 'Els canvis no guardats es perdran.\n¿Segur que vol continuar?';
$lang['rssfailed'] = 'Ha ocorregut un erro al solicitar este canal: ';
@ -130,9 +130,9 @@ $lang['yours'] = 'La seua versió';
$lang['diff'] = 'Mostrar diferències en la versió actual';
$lang['diff2'] = 'Mostrar diferències entre versions';
$lang['line'] = 'Llínea';
$lang['breadcrumb'] = 'Traça';
$lang['youarehere'] = 'Vosté està ací';
$lang['lastmod'] = 'Última modificació el';
$lang['breadcrumb'] = 'Traça:';
$lang['youarehere'] = 'Vosté està ací:';
$lang['lastmod'] = 'Última modificació el:';
$lang['by'] = 'per';
$lang['deleted'] = 'borrat';
$lang['created'] = 'creat';
@ -175,16 +175,16 @@ $lang['metaedit'] = 'Editar meta-senyes';
$lang['metasaveerr'] = 'Erro escrivint meta-senyes';
$lang['metasaveok'] = 'Meta-senyes guardades';
$lang['btn_img_backto'] = 'Tornar a %s';
$lang['img_title'] = 'Títul';
$lang['img_caption'] = 'Subtítul';
$lang['img_date'] = 'Data';
$lang['img_fname'] = 'Nom de l\'archiu';
$lang['img_fsize'] = 'Tamany';
$lang['img_artist'] = 'Fotógraf';
$lang['img_copyr'] = 'Copyright';
$lang['img_format'] = 'Format';
$lang['img_camera'] = 'Càmara';
$lang['img_keywords'] = 'Paraules clau';
$lang['img_title'] = 'Títul:';
$lang['img_caption'] = 'Subtítul:';
$lang['img_date'] = 'Data:';
$lang['img_fname'] = 'Nom de l\'archiu:';
$lang['img_fsize'] = 'Tamany:';
$lang['img_artist'] = 'Fotógraf:';
$lang['img_copyr'] = 'Copyright:';
$lang['img_format'] = 'Format:';
$lang['img_camera'] = 'Càmara:';
$lang['img_keywords'] = 'Paraules clau:';
$lang['authtempfail'] = 'L\'autenticació d\'usuaris està desactivada temporalment. Si la situació persistix, per favor, informe a l\'administrador del Wiki.';
$lang['i_chooselang'] = 'Trie l\'idioma';
$lang['i_installer'] = 'Instalador de DokuWiki';

View File

@ -1,23 +1,37 @@
/* Inicialització en català per a l'extensió 'UI date picker' per jQuery. */
/* Writers: (joan.leon@gmail.com). */
jQuery(function($){
$.datepicker.regional['ca'] = {
closeText: 'Tanca',
prevText: 'Anterior',
nextText: 'Següent',
currentText: 'Avui',
monthNames: ['gener','febrer','març','abril','maig','juny',
'juliol','agost','setembre','octubre','novembre','desembre'],
monthNamesShort: ['gen','feb','març','abr','maig','juny',
'jul','ag','set','oct','nov','des'],
dayNames: ['diumenge','dilluns','dimarts','dimecres','dijous','divendres','dissabte'],
dayNamesShort: ['dg','dl','dt','dc','dj','dv','ds'],
dayNamesMin: ['dg','dl','dt','dc','dj','dv','ds'],
weekHeader: 'Set',
dateFormat: 'dd/mm/yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['ca']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['ca'] = {
closeText: 'Tanca',
prevText: 'Anterior',
nextText: 'Següent',
currentText: 'Avui',
monthNames: ['gener','febrer','març','abril','maig','juny',
'juliol','agost','setembre','octubre','novembre','desembre'],
monthNamesShort: ['gen','feb','març','abr','maig','juny',
'jul','ag','set','oct','nov','des'],
dayNames: ['diumenge','dilluns','dimarts','dimecres','dijous','divendres','dissabte'],
dayNamesShort: ['dg','dl','dt','dc','dj','dv','ds'],
dayNamesMin: ['dg','dl','dt','dc','dj','dv','ds'],
weekHeader: 'Set',
dateFormat: 'dd/mm/yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['ca']);
return datepicker.regional['ca'];
}));

View File

@ -48,7 +48,7 @@ $lang['btn_draftdel'] = 'Suprimeix esborrany';
$lang['btn_revert'] = 'Restaura';
$lang['btn_register'] = 'Registra\'m';
$lang['btn_apply'] = 'Aplica';
$lang['loggedinas'] = 'Heu entrat com';
$lang['loggedinas'] = 'Heu entrat com:';
$lang['user'] = 'Nom d\'usuari';
$lang['pass'] = 'Contrasenya';
$lang['newpass'] = 'Nova contrasenya';
@ -87,8 +87,8 @@ $lang['license'] = 'Excepte on es digui una altra cosa, el conting
$lang['licenseok'] = 'Nota. En editar aquesta pàgina esteu acceptant que el vostre contingut estigui subjecte a la llicència següent:';
$lang['searchmedia'] = 'Cerca pel nom de fitxer';
$lang['searchmedia_in'] = 'Cerca en: %s';
$lang['txt_upload'] = 'Trieu el fitxer que voleu penjar';
$lang['txt_filename'] = 'Introduïu el nom wiki (opcional)';
$lang['txt_upload'] = 'Trieu el fitxer que voleu penjar:';
$lang['txt_filename'] = 'Introduïu el nom wiki (opcional):';
$lang['txt_overwrt'] = 'Sobreescriu el fitxer actual';
$lang['maxuploadsize'] = 'Puja com a màxim %s per arxiu.';
$lang['lockedby'] = 'Actualment blocat per:';
@ -174,9 +174,9 @@ $lang['diff_type'] = 'Veieu les diferències:';
$lang['diff_inline'] = 'En línia';
$lang['diff_side'] = 'Un al costat de l\'altre';
$lang['line'] = 'Línia';
$lang['breadcrumb'] = 'Camí';
$lang['youarehere'] = 'Sou aquí';
$lang['lastmod'] = 'Darrera modificació';
$lang['breadcrumb'] = 'Camí:';
$lang['youarehere'] = 'Sou aquí:';
$lang['lastmod'] = 'Darrera modificació:';
$lang['by'] = 'per';
$lang['deleted'] = 'suprimit';
$lang['created'] = 'creat';
@ -229,18 +229,18 @@ $lang['metaedit'] = 'Edita metadades';
$lang['metasaveerr'] = 'No s\'han pogut escriure les metadades';
$lang['metasaveok'] = 'S\'han desat les metadades';
$lang['btn_img_backto'] = 'Torna a %s';
$lang['img_title'] = 'Títol';
$lang['img_caption'] = 'Peu d\'imatge';
$lang['img_date'] = 'Data';
$lang['img_fname'] = 'Nom de fitxer';
$lang['img_fsize'] = 'Mida';
$lang['img_artist'] = 'Fotògraf';
$lang['img_copyr'] = 'Copyright';
$lang['img_format'] = 'Format';
$lang['img_camera'] = 'Càmera';
$lang['img_keywords'] = 'Paraules clau';
$lang['img_width'] = 'Ample';
$lang['img_height'] = 'Alçada';
$lang['img_title'] = 'Títol:';
$lang['img_caption'] = 'Peu d\'imatge:';
$lang['img_date'] = 'Data:';
$lang['img_fname'] = 'Nom de fitxer:';
$lang['img_fsize'] = 'Mida:';
$lang['img_artist'] = 'Fotògraf:';
$lang['img_copyr'] = 'Copyright:';
$lang['img_format'] = 'Format:';
$lang['img_camera'] = 'Càmera:';
$lang['img_keywords'] = 'Paraules clau:';
$lang['img_width'] = 'Ample:';
$lang['img_height'] = 'Alçada:';
$lang['subscr_subscribe_success'] = 'S\'ha afegit %s a la llista de subscripcions per %s';
$lang['subscr_subscribe_error'] = 'Hi ha hagut un error a l\'afegir %s a la llista per %s';
$lang['subscr_subscribe_noaddress'] = 'No hi ha cap adreça associada pel vostre nom d\'usuari, no podeu ser afegit a la llista de subscripcions';

View File

@ -1,23 +1,37 @@
/* Czech initialisation for the jQuery UI date picker plugin. */
/* Written by Tomas Muller (tomas@tomas-muller.net). */
jQuery(function($){
$.datepicker.regional['cs'] = {
closeText: 'Zavřít',
prevText: '&#x3C;Dříve',
nextText: 'Později&#x3E;',
currentText: 'Nyní',
monthNames: ['leden','únor','březen','duben','květen','červen',
'červenec','srpen','září','říjen','listopad','prosinec'],
monthNamesShort: ['led','úno','bře','dub','kvě','čer',
'čvc','srp','zář','říj','lis','pro'],
dayNames: ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota'],
dayNamesShort: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'],
dayNamesMin: ['ne','po','út','st','čt','pá','so'],
weekHeader: 'Týd',
dateFormat: 'dd.mm.yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['cs']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['cs'] = {
closeText: 'Zavřít',
prevText: '&#x3C;Dříve',
nextText: 'Později&#x3E;',
currentText: 'Nyní',
monthNames: ['leden','únor','březen','duben','květen','červen',
'červenec','srpen','září','říjen','listopad','prosinec'],
monthNamesShort: ['led','úno','bře','dub','kvě','čer',
'čvc','srp','zář','říj','lis','pro'],
dayNames: ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota'],
dayNamesShort: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'],
dayNamesMin: ['ne','po','út','st','čt','pá','so'],
weekHeader: 'Týd',
dateFormat: 'dd.mm.yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['cs']);
return datepicker.regional['cs'];
}));

View File

@ -15,8 +15,10 @@
* @author Jakub A. Těšínský (j@kub.cz)
* @author mkucera66@seznam.cz
* @author Zbyněk Křivka <krivka@fit.vutbr.cz>
* @author Gerrit Uitslag <klapinklapin@gmail.com>
* @author Petr Klíma <qaxi@seznam.cz>
* @author Radovan Buroň <radovan@buron.cz>
* @author Viktor Zavadil <vzavadil@newps.cz>
* @author Jaroslav Lichtblau <jlichtblau@seznam.cz>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@ -61,7 +63,9 @@ $lang['btn_register'] = 'Registrovat';
$lang['btn_apply'] = 'Použít';
$lang['btn_media'] = 'Správa médií';
$lang['btn_deleteuser'] = 'Odstranit můj účet';
$lang['loggedinas'] = 'Přihlášen(a) jako';
$lang['btn_img_backto'] = 'Zpět na %s';
$lang['btn_mediaManager'] = 'Zobrazit ve správě médií';
$lang['loggedinas'] = 'Přihlášen(a) jako:';
$lang['user'] = 'Uživatelské jméno';
$lang['pass'] = 'Heslo';
$lang['newpass'] = 'Nové heslo';
@ -106,8 +110,8 @@ $lang['license'] = 'Kromě míst, kde je explicitně uvedeno jinak
$lang['licenseok'] = 'Poznámka: Tím, že editujete tuto stránku, souhlasíte, aby váš obsah byl licencován pod následující licencí:';
$lang['searchmedia'] = 'Hledat jméno souboru:';
$lang['searchmedia_in'] = 'Hledat v %s';
$lang['txt_upload'] = 'Vyberte soubor jako přílohu';
$lang['txt_filename'] = 'Wiki jméno (volitelné)';
$lang['txt_upload'] = 'Vyberte soubor jako přílohu:';
$lang['txt_filename'] = 'Wiki jméno (volitelné):';
$lang['txt_overwrt'] = 'Přepsat existující soubor';
$lang['maxuploadsize'] = 'Max. velikost souboru %s';
$lang['lockedby'] = 'Právě zamknuto:';
@ -192,10 +196,13 @@ $lang['difflink'] = 'Odkaz na výstup diff';
$lang['diff_type'] = 'Zobrazit rozdíly:';
$lang['diff_inline'] = 'Vložené';
$lang['diff_side'] = 'Přidané';
$lang['diffprevrev'] = 'Předchozí verze';
$lang['diffnextrev'] = 'Následující verze';
$lang['difflastrev'] = 'Poslední revize';
$lang['line'] = 'Řádek';
$lang['breadcrumb'] = 'Historie';
$lang['youarehere'] = 'Umístění';
$lang['lastmod'] = 'Poslední úprava';
$lang['breadcrumb'] = 'Historie:';
$lang['youarehere'] = 'Umístění:';
$lang['lastmod'] = 'Poslední úprava:';
$lang['by'] = 'autor:';
$lang['deleted'] = 'odstraněno';
$lang['created'] = 'vytvořeno';
@ -248,20 +255,18 @@ $lang['admin_register'] = 'Přidat nového uživatele';
$lang['metaedit'] = 'Upravit Metadata';
$lang['metasaveerr'] = 'Chyba při zápisu metadat';
$lang['metasaveok'] = 'Metadata uložena';
$lang['btn_img_backto'] = 'Zpět na %s';
$lang['img_title'] = 'Titulek';
$lang['img_caption'] = 'Popis';
$lang['img_date'] = 'Datum';
$lang['img_fname'] = 'Jméno souboru';
$lang['img_fsize'] = 'Velikost';
$lang['img_artist'] = 'Autor fotografie';
$lang['img_copyr'] = 'Copyright';
$lang['img_format'] = 'Formát';
$lang['img_camera'] = 'Typ fotoaparátu';
$lang['img_keywords'] = 'Klíčová slova';
$lang['img_width'] = 'Šířka';
$lang['img_height'] = 'Výška';
$lang['btn_mediaManager'] = 'Zobrazit ve správě médií';
$lang['img_title'] = 'Titulek:';
$lang['img_caption'] = 'Popis:';
$lang['img_date'] = 'Datum:';
$lang['img_fname'] = 'Jméno souboru:';
$lang['img_fsize'] = 'Velikost:';
$lang['img_artist'] = 'Autor fotografie:';
$lang['img_copyr'] = 'Copyright:';
$lang['img_format'] = 'Formát:';
$lang['img_camera'] = 'Typ fotoaparátu:';
$lang['img_keywords'] = 'Klíčová slova:';
$lang['img_width'] = 'Šířka:';
$lang['img_height'] = 'Výška:';
$lang['subscr_subscribe_success'] = '%s byl přihlášen do seznamu odběratelů %s';
$lang['subscr_subscribe_error'] = 'Došlo k chybě při přihlašování %s do seznamu odběratelů %s';
$lang['subscr_subscribe_noaddress'] = 'K Vašemu loginu neexistuje žádná adresa, nemohl jste být přihlášen do seznamu odběratelů.';

View File

@ -1,23 +1,37 @@
/* Danish initialisation for the jQuery UI date picker plugin. */
/* Written by Jan Christensen ( deletestuff@gmail.com). */
jQuery(function($){
$.datepicker.regional['da'] = {
closeText: 'Luk',
prevText: '&#x3C;Forrige',
nextText: 'Næste&#x3E;',
currentText: 'Idag',
monthNames: ['Januar','Februar','Marts','April','Maj','Juni',
'Juli','August','September','Oktober','November','December'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
'Jul','Aug','Sep','Okt','Nov','Dec'],
dayNames: ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'],
dayNamesShort: ['Søn','Man','Tir','Ons','Tor','Fre','Lør'],
dayNamesMin: ['Sø','Ma','Ti','On','To','Fr','Lø'],
weekHeader: 'Uge',
dateFormat: 'dd-mm-yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['da']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['da'] = {
closeText: 'Luk',
prevText: '&#x3C;Forrige',
nextText: 'Næste&#x3E;',
currentText: 'Idag',
monthNames: ['Januar','Februar','Marts','April','Maj','Juni',
'Juli','August','September','Oktober','November','December'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
'Jul','Aug','Sep','Okt','Nov','Dec'],
dayNames: ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'],
dayNamesShort: ['Søn','Man','Tir','Ons','Tor','Fre','Lør'],
dayNamesMin: ['Sø','Ma','Ti','On','To','Fr','Lø'],
weekHeader: 'Uge',
dateFormat: 'dd-mm-yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['da']);
return datepicker.regional['da'];
}));

View File

@ -61,7 +61,7 @@ $lang['btn_register'] = 'Registrér';
$lang['btn_apply'] = 'Anvend';
$lang['btn_media'] = 'Media Manager';
$lang['btn_deleteuser'] = 'Fjern Min Konto';
$lang['loggedinas'] = 'Logget ind som';
$lang['loggedinas'] = 'Logget ind som:';
$lang['user'] = 'Brugernavn';
$lang['pass'] = 'Adgangskode';
$lang['newpass'] = 'Ny adgangskode';
@ -105,12 +105,12 @@ $lang['license'] = 'Med mindre andet angivet, vil indhold på denn
$lang['licenseok'] = 'Note: ved at ændre denne side, acceptere du at dit indhold bliver frigivet under følgende licens:';
$lang['searchmedia'] = 'Søg filnavn';
$lang['searchmedia_in'] = 'Søg i %s';
$lang['txt_upload'] = 'Vælg den fil der skal overføres';
$lang['txt_filename'] = 'Indtast wikinavn (valgfrit)';
$lang['txt_upload'] = 'Vælg den fil der skal overføres:';
$lang['txt_filename'] = 'Indtast wikinavn (valgfrit):';
$lang['txt_overwrt'] = 'Overskriv eksisterende fil';
$lang['maxuploadsize'] = 'Upload max. %s pr. fil.';
$lang['lockedby'] = 'Midlertidig låst af';
$lang['lockexpire'] = 'Lås udløber kl.';
$lang['lockedby'] = 'Midlertidig låst af:';
$lang['lockexpire'] = 'Lås udløber kl:.';
$lang['js']['willexpire'] = 'Din lås på dette dokument udløber om et minut.\nTryk på Forhåndsvisning-knappen for at undgå konflikter.';
$lang['js']['notsavedyet'] = 'Ugemte ændringer vil blive mistet
Fortsæt alligevel?';
@ -191,9 +191,9 @@ $lang['diff_type'] = 'Vis forskelle:';
$lang['diff_inline'] = 'Indeni';
$lang['diff_side'] = 'Side ved Side';
$lang['line'] = 'Linje';
$lang['breadcrumb'] = 'Sti';
$lang['youarehere'] = 'Du er her';
$lang['lastmod'] = 'Sidst ændret';
$lang['breadcrumb'] = 'Sti:';
$lang['youarehere'] = 'Du er her:';
$lang['lastmod'] = 'Sidst ændret:';
$lang['by'] = 'af';
$lang['deleted'] = 'slettet';
$lang['created'] = 'oprettet';
@ -247,18 +247,18 @@ $lang['metaedit'] = 'Rediger metadata';
$lang['metasaveerr'] = 'Skrivning af metadata fejlede';
$lang['metasaveok'] = 'Metadata gemt';
$lang['btn_img_backto'] = 'Tilbage til %s';
$lang['img_title'] = 'Titel';
$lang['img_caption'] = 'Billedtekst';
$lang['img_date'] = 'Dato';
$lang['img_fname'] = 'Filnavn';
$lang['img_fsize'] = 'Størrelse';
$lang['img_artist'] = 'Fotograf';
$lang['img_copyr'] = 'Ophavsret';
$lang['img_format'] = 'Format';
$lang['img_camera'] = 'Kamera';
$lang['img_keywords'] = 'Emneord';
$lang['img_width'] = 'Bredde';
$lang['img_height'] = 'Højde';
$lang['img_title'] = 'Titel:';
$lang['img_caption'] = 'Billedtekst:';
$lang['img_date'] = 'Dato:';
$lang['img_fname'] = 'Filnavn:';
$lang['img_fsize'] = 'Størrelse:';
$lang['img_artist'] = 'Fotograf:';
$lang['img_copyr'] = 'Ophavsret:';
$lang['img_format'] = 'Format:';
$lang['img_camera'] = 'Kamera:';
$lang['img_keywords'] = 'Emneord:';
$lang['img_width'] = 'Bredde:';
$lang['img_height'] = 'Højde:';
$lang['btn_mediaManager'] = 'Vis i Media Manager';
$lang['subscr_subscribe_success'] = 'Tilføjede %s til abonnement listen for %s';
$lang['subscr_subscribe_error'] = 'Fejl ved tilføjelse af %s til abonnement listen for %s';

View File

@ -1,23 +1,37 @@
/* German initialisation for the jQuery UI date picker plugin. */
/* Written by Milian Wolff (mail@milianw.de). */
jQuery(function($){
$.datepicker.regional['de'] = {
closeText: 'Schließen',
prevText: '&#x3C;Zurück',
nextText: 'Vor&#x3E;',
currentText: 'Heute',
monthNames: ['Januar','Februar','März','April','Mai','Juni',
'Juli','August','September','Oktober','November','Dezember'],
monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
'Jul','Aug','Sep','Okt','Nov','Dez'],
dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
weekHeader: 'KW',
dateFormat: 'dd.mm.yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['de']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['de'] = {
closeText: 'Schließen',
prevText: '&#x3C;Zurück',
nextText: 'Vor&#x3E;',
currentText: 'Heute',
monthNames: ['Januar','Februar','März','April','Mai','Juni',
'Juli','August','September','Oktober','November','Dezember'],
monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
'Jul','Aug','Sep','Okt','Nov','Dez'],
dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
weekHeader: 'KW',
dateFormat: 'dd.mm.yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['de']);
return datepicker.regional['de'];
}));

View File

@ -66,7 +66,7 @@ $lang['btn_register'] = 'Registrieren';
$lang['btn_apply'] = 'Übernehmen';
$lang['btn_media'] = 'Medien-Manager';
$lang['btn_deleteuser'] = 'Benutzerprofil löschen';
$lang['loggedinas'] = 'Angemeldet als';
$lang['loggedinas'] = 'Angemeldet als:';
$lang['user'] = 'Benutzername';
$lang['pass'] = 'Passwort';
$lang['newpass'] = 'Neues Passwort';
@ -111,12 +111,12 @@ $lang['license'] = 'Falls nicht anders bezeichnet, ist der Inhalt
$lang['licenseok'] = 'Hinweis: Durch das Bearbeiten dieser Seite gibst du dein Einverständnis, dass dein Inhalt unter der folgenden Lizenz veröffentlicht wird:';
$lang['searchmedia'] = 'Suche nach Datei:';
$lang['searchmedia_in'] = 'Suche in %s';
$lang['txt_upload'] = 'Datei zum Hochladen auswählen';
$lang['txt_filename'] = 'Hochladen als (optional)';
$lang['txt_upload'] = 'Datei zum Hochladen auswählen:';
$lang['txt_filename'] = 'Hochladen als (optional):';
$lang['txt_overwrt'] = 'Bestehende Datei überschreiben';
$lang['maxuploadsize'] = 'Max. %s pro Datei-Upload.';
$lang['lockedby'] = 'Momentan gesperrt von';
$lang['lockexpire'] = 'Sperre läuft ab am';
$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']['notsavedyet'] = 'Nicht gespeicherte Änderungen gehen verloren!';
$lang['js']['searchmedia'] = 'Suche nach Dateien';
@ -196,9 +196,9 @@ $lang['diff_type'] = 'Unterschiede anzeigen:';
$lang['diff_inline'] = 'Inline';
$lang['diff_side'] = 'Side by Side';
$lang['line'] = 'Zeile';
$lang['breadcrumb'] = 'Zuletzt angesehen';
$lang['youarehere'] = 'Du befindest dich hier';
$lang['lastmod'] = 'Zuletzt geändert';
$lang['breadcrumb'] = 'Zuletzt angesehen:';
$lang['youarehere'] = 'Du befindest dich hier:';
$lang['lastmod'] = 'Zuletzt geändert:';
$lang['by'] = 'von';
$lang['deleted'] = 'gelöscht';
$lang['created'] = 'angelegt';
@ -252,18 +252,18 @@ $lang['metaedit'] = 'Metadaten bearbeiten';
$lang['metasaveerr'] = 'Die Metadaten konnten nicht gesichert werden';
$lang['metasaveok'] = 'Metadaten gesichert';
$lang['btn_img_backto'] = 'Zurück zu %s';
$lang['img_title'] = 'Titel';
$lang['img_caption'] = 'Bildunterschrift';
$lang['img_date'] = 'Datum';
$lang['img_fname'] = 'Dateiname';
$lang['img_fsize'] = 'Größe';
$lang['img_artist'] = 'Fotograf';
$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_title'] = 'Titel:';
$lang['img_caption'] = 'Bildunterschrift:';
$lang['img_date'] = 'Datum:';
$lang['img_fname'] = 'Dateiname:';
$lang['img_fsize'] = 'Größe:';
$lang['img_artist'] = 'Fotograf:';
$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['btn_mediaManager'] = 'Im Medien-Manager anzeigen';
$lang['subscr_subscribe_success'] = 'Die Seite %s wurde zur Abonnementliste von %s hinzugefügt';
$lang['subscr_subscribe_error'] = 'Fehler beim Hinzufügen von %s zur Abonnementliste von %s';

View File

@ -1,5 +1,5 @@
====== Links hierher ======
Dies ist eine Liste der Seiten, welche zurück zur momentanen Seite verlinken.
Dies ist eine Liste der Seiten, welche zurück zur momentanen Seite führen.

View File

@ -1,23 +1,37 @@
/* German initialisation for the jQuery UI date picker plugin. */
/* Written by Milian Wolff (mail@milianw.de). */
jQuery(function($){
$.datepicker.regional['de'] = {
closeText: 'Schließen',
prevText: '&#x3C;Zurück',
nextText: 'Vor&#x3E;',
currentText: 'Heute',
monthNames: ['Januar','Februar','März','April','Mai','Juni',
'Juli','August','September','Oktober','November','Dezember'],
monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
'Jul','Aug','Sep','Okt','Nov','Dez'],
dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
weekHeader: 'KW',
dateFormat: 'dd.mm.yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['de']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['de'] = {
closeText: 'Schließen',
prevText: '&#x3C;Zurück',
nextText: 'Vor&#x3E;',
currentText: 'Heute',
monthNames: ['Januar','Februar','März','April','Mai','Juni',
'Juli','August','September','Oktober','November','Dezember'],
monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
'Jul','Aug','Sep','Okt','Nov','Dez'],
dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
weekHeader: 'KW',
dateFormat: 'dd.mm.yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['de']);
return datepicker.regional['de'];
}));

View File

@ -26,6 +26,7 @@
* @author Joerg <scooter22@gmx.de>
* @author Simon <st103267@stud.uni-stuttgart.de>
* @author Hoisl <hoisl@gmx.at>
* @author Marcel Eickhoff <eickhoff.marcel@gmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@ -72,7 +73,7 @@ $lang['btn_media'] = 'Medien-Manager';
$lang['btn_deleteuser'] = 'Benutzerprofil löschen';
$lang['btn_img_backto'] = 'Zurück zu %s';
$lang['btn_mediaManager'] = 'Im Medien-Manager anzeigen';
$lang['loggedinas'] = 'Angemeldet als';
$lang['loggedinas'] = 'Angemeldet als:';
$lang['user'] = 'Benutzername';
$lang['pass'] = 'Passwort';
$lang['newpass'] = 'Neues Passwort';
@ -117,12 +118,12 @@ $lang['license'] = 'Falls nicht anders bezeichnet, ist der Inhalt
$lang['licenseok'] = 'Hinweis: Durch das Bearbeiten dieser Seite geben Sie Ihr Einverständnis, dass Ihr Inhalt unter der folgenden Lizenz veröffentlicht wird:';
$lang['searchmedia'] = 'Suche Dateinamen:';
$lang['searchmedia_in'] = 'Suche in %s';
$lang['txt_upload'] = 'Datei zum Hochladen auswählen';
$lang['txt_filename'] = 'Hochladen als (optional)';
$lang['txt_upload'] = 'Datei zum Hochladen auswählen:';
$lang['txt_filename'] = 'Hochladen als (optional):';
$lang['txt_overwrt'] = 'Bestehende Datei überschreiben';
$lang['maxuploadsize'] = 'Max. %s pro Datei-Upload.';
$lang['lockedby'] = 'Momentan gesperrt von';
$lang['lockexpire'] = 'Sperre läuft ab am';
$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']['notsavedyet'] = 'Nicht gespeicherte Änderungen gehen verloren!';
$lang['js']['searchmedia'] = 'Suche Dateien';
@ -205,9 +206,9 @@ $lang['diffprevrev'] = 'Vorhergehende Überarbeitung';
$lang['diffnextrev'] = 'Nächste Überarbeitung';
$lang['difflastrev'] = 'Letzte Überarbeitung';
$lang['line'] = 'Zeile';
$lang['breadcrumb'] = 'Zuletzt angesehen';
$lang['youarehere'] = 'Sie befinden sich hier';
$lang['lastmod'] = 'Zuletzt geändert';
$lang['breadcrumb'] = 'Zuletzt angesehen:';
$lang['youarehere'] = 'Sie befinden sich hier:';
$lang['lastmod'] = 'Zuletzt geändert:';
$lang['by'] = 'von';
$lang['deleted'] = 'gelöscht';
$lang['created'] = 'angelegt';
@ -260,18 +261,18 @@ $lang['admin_register'] = 'Neuen Benutzer anmelden';
$lang['metaedit'] = 'Metadaten bearbeiten';
$lang['metasaveerr'] = 'Die Metadaten konnten nicht gesichert werden';
$lang['metasaveok'] = 'Metadaten gesichert';
$lang['img_title'] = 'Titel';
$lang['img_caption'] = 'Bildunterschrift';
$lang['img_date'] = 'Datum';
$lang['img_fname'] = 'Dateiname';
$lang['img_fsize'] = 'Größe';
$lang['img_artist'] = 'FotografIn';
$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_title'] = 'Titel:';
$lang['img_caption'] = 'Bildunterschrift:';
$lang['img_date'] = 'Datum:';
$lang['img_fname'] = 'Dateiname:';
$lang['img_fsize'] = 'Größe:';
$lang['img_artist'] = 'FotografIn:';
$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['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';
@ -299,6 +300,7 @@ $lang['i_problems'] = 'Das Installationsprogramm hat unten aufgeführ
$lang['i_modified'] = 'Aus Sicherheitsgründen arbeitet dieses Skript nur mit einer neuen bzw. nicht modifizierten DokuWiki Installation. Sie sollten entweder alle Dateien noch einmal frisch installieren oder die <a href="http://dokuwiki.org/install">Dokuwiki-Installationsanleitung</a> konsultieren.';
$lang['i_funcna'] = 'Die PHP-Funktion <code>%s</code> ist nicht verfügbar. Unter Umständen wurde sie von Ihrem Hoster deaktiviert?';
$lang['i_phpver'] = 'Ihre PHP-Version <code>%s</code> ist niedriger als die benötigte Version <code>%s</code>. Bitte aktualisieren Sie Ihre PHP-Installation.';
$lang['i_mbfuncoverload'] = 'Um DokuWiki zu starten muss mbstring.func_overload in php.ini ausgeschaltet sein.';
$lang['i_permfail'] = '<code>%s</code> ist nicht durch DokuWiki beschreibbar. Sie müssen die Berechtigungen dieses Ordners ändern!';
$lang['i_confexists'] = '<code>%s</code> existiert bereits';
$lang['i_writeerr'] = '<code>%s</code> konnte nicht erzeugt werden. Sie sollten die Verzeichnis-/Datei-Rechte überprüfen und die Datei manuell anlegen.';

View File

@ -1,23 +1,37 @@
/* Greek (el) initialisation for the jQuery UI date picker plugin. */
/* Written by Alex Cicovic (http://www.alexcicovic.com) */
jQuery(function($){
$.datepicker.regional['el'] = {
closeText: 'Κλείσιμο',
prevText: 'Προηγούμενος',
nextText: 'Επόμενος',
currentText: 'Τρέχων Μήνας',
monthNames: ['Ιανουάριος','Φεβρουάριος','Μάρτιος','Απρίλιος','Μάιος','Ιούνιος',
'Ιούλιος','Αύγουστος','Σεπτέμβριος','Οκτώβριος','Νοέμβριος','Δεκέμβριος'],
monthNamesShort: ['Ιαν','Φεβ','Μαρ','Απρ','Μαι','Ιουν',
'Ιουλ','Αυγ','Σεπ','Οκτ','Νοε','Δεκ'],
dayNames: ['Κυριακή','Δευτέρα','Τρίτη','Τετάρτη','Πέμπτη','Παρασκευή','Σάββατο'],
dayNamesShort: ['Κυρ','Δευ','Τρι','Τετ','Πεμ','Παρ','Σαβ'],
dayNamesMin: ['Κυ','Δε','Τρ','Τε','Πε','Πα','Σα'],
weekHeader: 'Εβδ',
dateFormat: 'dd/mm/yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['el']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['el'] = {
closeText: 'Κλείσιμο',
prevText: 'Προηγούμενος',
nextText: 'Επόμενος',
currentText: 'Τρέχων Μήνας',
monthNames: ['Ιανουάριος','Φεβρουάριος','Μάρτιος','Απρίλιος','Μάιος','Ιούνιος',
'Ιούλιος','Αύγουστος','Σεπτέμβριος','Οκτώβριος','Νοέμβριος','Δεκέμβριος'],
monthNamesShort: ['Ιαν','Φεβ','Μαρ','Απρ','Μαι','Ιουν',
'Ιουλ','Αυγ','Σεπ','Οκτ','Νοε','Δεκ'],
dayNames: ['Κυριακή','Δευτέρα','Τρίτη','Τετάρτη','Πέμπτη','Παρασκευή','Σάββατο'],
dayNamesShort: ['Κυρ','Δευ','Τρι','Τετ','Πεμ','Παρ','Σαβ'],
dayNamesMin: ['Κυ','Δε','Τρ','Τε','Πε','Πα','Σα'],
weekHeader: 'Εβδ',
dateFormat: 'dd/mm/yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['el']);
return datepicker.regional['el'];
}));

View File

@ -56,7 +56,7 @@ $lang['btn_register'] = 'Εγγραφή';
$lang['btn_apply'] = 'Εφαρμογή';
$lang['btn_media'] = 'Διαχειριστής πολυμέσων';
$lang['btn_deleteuser'] = 'Αφαίρεσε τον λογαριασμό μου';
$lang['loggedinas'] = 'Συνδεδεμένος ως';
$lang['loggedinas'] = 'Συνδεδεμένος ως:';
$lang['user'] = 'Όνομα χρήστη';
$lang['pass'] = 'Κωδικός';
$lang['newpass'] = 'Νέος κωδικός';
@ -100,12 +100,12 @@ $lang['license'] = 'Εκτός εάν αναφέρεται δια
$lang['licenseok'] = 'Σημείωση: Τροποποιώντας αυτή την σελίδα αποδέχεστε την διάθεση του υλικού σας σύμφωνα με την ακόλουθη άδεια:';
$lang['searchmedia'] = 'Αναζήτηση αρχείου:';
$lang['searchmedia_in'] = 'Αναζήτηση σε %s';
$lang['txt_upload'] = 'Επιλέξτε αρχείο για φόρτωση';
$lang['txt_filename'] = 'Επιλέξτε νέο όνομα αρχείου (προαιρετικό)';
$lang['txt_upload'] = 'Επιλέξτε αρχείο για φόρτωση:';
$lang['txt_filename'] = 'Επιλέξτε νέο όνομα αρχείου (προαιρετικό):';
$lang['txt_overwrt'] = 'Αντικατάσταση υπάρχοντος αρχείου';
$lang['maxuploadsize'] = 'Μέγιστο μέγεθος αρχείου: %s.';
$lang['lockedby'] = 'Προσωρινά κλειδωμένο από';
$lang['lockexpire'] = 'Το κλείδωμα λήγει στις';
$lang['lockedby'] = 'Προσωρινά κλειδωμένο από:';
$lang['lockexpire'] = 'Το κλείδωμα λήγει στις:';
$lang['js']['willexpire'] = 'Το κλείδωμά σας για την επεξεργασία αυτής της σελίδας θα λήξει σε ένα λεπτό.\n Για να το ανανεώσετε χρησιμοποιήστε την Προεπισκόπηση.';
$lang['js']['notsavedyet'] = 'Οι μη αποθηκευμένες αλλαγές θα χαθούν.
Θέλετε να συνεχίσετε;';
@ -186,9 +186,9 @@ $lang['diff_type'] = 'Προβολή διαφορών:';
$lang['diff_inline'] = 'Σε σειρά';
$lang['diff_side'] = 'Δίπλα-δίπλα';
$lang['line'] = 'Γραμμή';
$lang['breadcrumb'] = 'Ιστορικό';
$lang['youarehere'] = 'Είστε εδώ';
$lang['lastmod'] = 'Τελευταία τροποποίηση';
$lang['breadcrumb'] = 'Ιστορικό:';
$lang['youarehere'] = 'Είστε εδώ:';
$lang['lastmod'] = 'Τελευταία τροποποίηση:';
$lang['by'] = 'από';
$lang['deleted'] = 'διαγράφηκε';
$lang['created'] = 'δημιουργήθηκε';
@ -242,18 +242,18 @@ $lang['metaedit'] = 'Τροποποίηση metadata';
$lang['metasaveerr'] = 'Η αποθήκευση των metadata απέτυχε';
$lang['metasaveok'] = 'Επιτυχής αποθήκευση metadata';
$lang['btn_img_backto'] = 'Επιστροφή σε %s';
$lang['img_title'] = 'Τίτλος';
$lang['img_caption'] = 'Λεζάντα';
$lang['img_date'] = 'Ημερομηνία';
$lang['img_fname'] = 'Όνομα αρχείου';
$lang['img_fsize'] = 'Μέγεθος';
$lang['img_artist'] = 'Καλλιτέχνης';
$lang['img_copyr'] = 'Copyright';
$lang['img_format'] = 'Format';
$lang['img_camera'] = 'Camera';
$lang['img_keywords'] = 'Λέξεις-κλειδιά';
$lang['img_width'] = 'Πλάτος';
$lang['img_height'] = 'Ύψος';
$lang['img_title'] = 'Τίτλος:';
$lang['img_caption'] = 'Λεζάντα:';
$lang['img_date'] = 'Ημερομηνία:';
$lang['img_fname'] = 'Όνομα αρχείου:';
$lang['img_fsize'] = 'Μέγεθος:';
$lang['img_artist'] = 'Καλλιτέχνης:';
$lang['img_copyr'] = 'Copyright:';
$lang['img_format'] = 'Format:';
$lang['img_camera'] = 'Camera:';
$lang['img_keywords'] = 'Λέξεις-κλειδιά:';
$lang['img_width'] = 'Πλάτος:';
$lang['img_height'] = 'Ύψος:';
$lang['btn_mediaManager'] = 'Εμφάνιση στον διαχειριστή πολυμέσων';
$lang['subscr_subscribe_success'] = 'Ο/η %s προστέθηκε στην λίστα ειδοποιήσεων για το %s';
$lang['subscr_subscribe_error'] = 'Σφάλμα κατά την προσθήκη του/της %s στην λίστα ειδοποιήσεων για το %s';

View File

@ -55,7 +55,7 @@ $lang['btn_deleteuser'] = 'Remove My Account';
$lang['btn_img_backto'] = 'Back to %s';
$lang['btn_mediaManager'] = 'View in media manager';
$lang['loggedinas'] = 'Logged in as';
$lang['loggedinas'] = 'Logged in as:';
$lang['user'] = 'Username';
$lang['pass'] = 'Password';
$lang['newpass'] = 'New password';
@ -105,12 +105,12 @@ $lang['licenseok'] = 'Note: By editing this page you agree to licens
$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_upload'] = 'Select file to upload:';
$lang['txt_filename'] = 'Upload as (optional):';
$lang['txt_overwrt'] = 'Overwrite existing file';
$lang['maxuploadsize'] = 'Upload max. %s per file.';
$lang['lockedby'] = 'Currently locked by';
$lang['lockexpire'] = 'Lock expires at';
$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.';
@ -199,9 +199,9 @@ $lang['difflastrev'] = 'Last revision';
$lang['diffbothprevrev'] = 'Both sides previous revision';
$lang['diffbothnextrev'] = 'Both sides next revision';
$lang['line'] = 'Line';
$lang['breadcrumb'] = 'Trace';
$lang['youarehere'] = 'You are here';
$lang['lastmod'] = 'Last modified';
$lang['breadcrumb'] = 'Trace:';
$lang['youarehere'] = 'You are here:';
$lang['lastmod'] = 'Last modified:';
$lang['by'] = 'by';
$lang['deleted'] = 'removed';
$lang['created'] = 'created';
@ -260,18 +260,18 @@ $lang['admin_register'] = 'Add new user';
$lang['metaedit'] = 'Edit Metadata';
$lang['metasaveerr'] = 'Writing metadata failed';
$lang['metasaveok'] = 'Metadata saved';
$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_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['subscr_subscribe_success'] = 'Added %s to subscription list for %s';
$lang['subscr_subscribe_error'] = 'Error adding %s to subscription list for %s';
@ -307,6 +307,7 @@ $lang['i_modified'] = 'For security reasons this script will only wor
<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_mbfuncoverload'] = 'mbstring.func_overload must be disabled in php.ini to run DokuWiki.';
$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.';

View File

@ -1,23 +1,37 @@
/* Esperanto initialisation for the jQuery UI date picker plugin. */
/* Written by Olivier M. (olivierweb@ifrance.com). */
jQuery(function($){
$.datepicker.regional['eo'] = {
closeText: 'Fermi',
prevText: '&#x3C;Anta',
nextText: 'Sekv&#x3E;',
currentText: 'Nuna',
monthNames: ['Januaro','Februaro','Marto','Aprilo','Majo','Junio',
'Julio','Aŭgusto','Septembro','Oktobro','Novembro','Decembro'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
'Jul','Aŭg','Sep','Okt','Nov','Dec'],
dayNames: ['Dimanĉo','Lundo','Mardo','Merkredo','Ĵaŭdo','Vendredo','Sabato'],
dayNamesShort: ['Dim','Lun','Mar','Mer','Ĵaŭ','Ven','Sab'],
dayNamesMin: ['Di','Lu','Ma','Me','Ĵa','Ve','Sa'],
weekHeader: 'Sb',
dateFormat: 'dd/mm/yy',
firstDay: 0,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['eo']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['eo'] = {
closeText: 'Fermi',
prevText: '&#x3C;Anta',
nextText: 'Sekv&#x3E;',
currentText: 'Nuna',
monthNames: ['Januaro','Februaro','Marto','Aprilo','Majo','Junio',
'Julio','Aŭgusto','Septembro','Oktobro','Novembro','Decembro'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
'Jul','Aŭg','Sep','Okt','Nov','Dec'],
dayNames: ['Dimanĉo','Lundo','Mardo','Merkredo','Ĵaŭdo','Vendredo','Sabato'],
dayNamesShort: ['Dim','Lun','Mar','Mer','Ĵaŭ','Ven','Sab'],
dayNamesMin: ['Di','Lu','Ma','Me','Ĵa','Ve','Sa'],
weekHeader: 'Sb',
dateFormat: 'dd/mm/yy',
firstDay: 0,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['eo']);
return datepicker.regional['eo'];
}));

View File

@ -56,7 +56,7 @@ $lang['btn_media'] = 'Medio-administrilo';
$lang['btn_deleteuser'] = 'Forigi mian konton';
$lang['btn_img_backto'] = 'Iri reen al %s';
$lang['btn_mediaManager'] = 'Rigardi en aŭdvidaĵ-administrilo';
$lang['loggedinas'] = 'Ensalutinta kiel';
$lang['loggedinas'] = 'Ensalutinta kiel:';
$lang['user'] = 'Uzant-nomo';
$lang['pass'] = 'Pasvorto';
$lang['newpass'] = 'Nova pasvorto';
@ -101,12 +101,12 @@ $lang['license'] = 'Krom kie rekte indikite, enhavo de tiu ĉi vik
$lang['licenseok'] = 'Rimarku: redaktante tiun ĉi paĝon vi konsentas publikigi vian enhavon laŭ la jena permesilo:';
$lang['searchmedia'] = 'Serĉi dosiernomon:';
$lang['searchmedia_in'] = 'Serĉi en %s';
$lang['txt_upload'] = 'Elektu dosieron por alŝuti';
$lang['txt_filename'] = 'Alŝuti kiel (laŭvole)';
$lang['txt_upload'] = 'Elektu dosieron por alŝuti:';
$lang['txt_filename'] = 'Alŝuti kiel (laŭvole):';
$lang['txt_overwrt'] = 'Anstataŭigi ekzistantan dosieron';
$lang['maxuploadsize'] = 'Alŝuto maks. %s po dosiero.';
$lang['lockedby'] = 'Nune ŝlosita de';
$lang['lockexpire'] = 'Ŝlosado ĉesos je';
$lang['lockedby'] = 'Nune ŝlosita de:';
$lang['lockexpire'] = 'Ŝlosado ĉesos je:';
$lang['js']['willexpire'] = 'Vi povos redakti ĉi tiun paĝon post unu minuto.\nSe vi volas nuligi tempokontrolon de la ŝlosado, premu la butonon "Antaŭrigardi".';
$lang['js']['notsavedyet'] = 'Ne konservitaj modifoj perdiĝos.
Ĉu vi certe volas daŭrigi la procezon?';
@ -192,9 +192,9 @@ $lang['difflastrev'] = 'Lasta revizio';
$lang['diffbothprevrev'] = 'Sur ambaŭ flankoj antaŭa revizio';
$lang['diffbothnextrev'] = 'Sur ambaŭ flankoj sekva revizio';
$lang['line'] = 'Linio';
$lang['breadcrumb'] = 'Paŝoj';
$lang['youarehere'] = 'Vi estas ĉi tie';
$lang['lastmod'] = 'Lastaj ŝanĝoj';
$lang['breadcrumb'] = 'Paŝoj:';
$lang['youarehere'] = 'Vi estas ĉi tie:';
$lang['lastmod'] = 'Lastaj ŝanĝoj:';
$lang['by'] = 'de';
$lang['deleted'] = 'forigita';
$lang['created'] = 'kreita';
@ -247,18 +247,18 @@ $lang['admin_register'] = 'Aldoni novan uzanton';
$lang['metaedit'] = 'Redakti metadatumaron';
$lang['metasaveerr'] = 'La konservo de metadatumaro malsukcesis';
$lang['metasaveok'] = 'La metadatumaro konserviĝis';
$lang['img_title'] = 'Titolo';
$lang['img_caption'] = 'Priskribo';
$lang['img_date'] = 'Dato';
$lang['img_fname'] = 'Dosiernomo';
$lang['img_fsize'] = 'Grandeco';
$lang['img_artist'] = 'Fotisto';
$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_title'] = 'Titolo:';
$lang['img_caption'] = 'Priskribo:';
$lang['img_date'] = 'Dato:';
$lang['img_fname'] = 'Dosiernomo:';
$lang['img_fsize'] = 'Grandeco:';
$lang['img_artist'] = 'Fotisto:';
$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['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';

View File

@ -1,2 +1,2 @@
Edita la página y pulsa ''Guardar''. Mira [[wiki:syntax]] para sintaxis Wiki. Por favor edita la página solo si puedes **mejorarla**. Si quieres testear algunas cosas aprende a dar tus primeros pasos en el [[playground:playground]].
Edita la página y pulsa ''Guardar''. Vaya a [[wiki:syntax]] para ver la sintaxis del Wiki. Por favor edite la página solo si puedes **mejorarla**. Si quieres probar algo relacionado a la sintaxis, aprende a dar tus primeros pasos en el [[playground:playground]].

View File

@ -1,23 +1,37 @@
/* Inicialización en español para la extensión 'UI date picker' para jQuery. */
/* Traducido por Vester (xvester@gmail.com). */
jQuery(function($){
$.datepicker.regional['es'] = {
closeText: 'Cerrar',
prevText: '&#x3C;Ant',
nextText: 'Sig&#x3E;',
currentText: 'Hoy',
monthNames: ['enero','febrero','marzo','abril','mayo','junio',
'julio','agosto','septiembre','octubre','noviembre','diciembre'],
monthNamesShort: ['ene','feb','mar','abr','may','jun',
'jul','ogo','sep','oct','nov','dic'],
dayNames: ['domingo','lunes','martes','miércoles','jueves','viernes','sábado'],
dayNamesShort: ['dom','lun','mar','mié','juv','vie','sáb'],
dayNamesMin: ['D','L','M','X','J','V','S'],
weekHeader: 'Sm',
dateFormat: 'dd/mm/yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['es']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['es'] = {
closeText: 'Cerrar',
prevText: '&#x3C;Ant',
nextText: 'Sig&#x3E;',
currentText: 'Hoy',
monthNames: ['enero','febrero','marzo','abril','mayo','junio',
'julio','agosto','septiembre','octubre','noviembre','diciembre'],
monthNamesShort: ['ene','feb','mar','abr','may','jun',
'jul','ago','sep','oct','nov','dic'],
dayNames: ['domingo','lunes','martes','miércoles','jueves','viernes','sábado'],
dayNamesShort: ['dom','lun','mar','mié','jue','vie','sáb'],
dayNamesMin: ['D','L','M','X','J','V','S'],
weekHeader: 'Sm',
dateFormat: 'dd/mm/yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['es']);
return datepicker.regional['es'];
}));

View File

@ -34,6 +34,9 @@
* @author Juan De La Cruz <juann.dlc@gmail.com>
* @author Fernando <fdiezala@gmail.com>
* @author Eloy <ej.perezgomez@gmail.com>
* @author Antonio Castilla <antoniocastilla@trazoide.com>
* @author Jonathan Hernández <me@jhalicea.com>
* @author pokesakura <pokesakura@gmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@ -43,13 +46,13 @@ $lang['singlequoteopening'] = '';
$lang['singlequoteclosing'] = '';
$lang['apostrophe'] = '';
$lang['btn_edit'] = 'Editar esta página';
$lang['btn_source'] = 'Ver fuente';
$lang['btn_source'] = 'Ver la fuente de esta página';
$lang['btn_show'] = 'Ver página';
$lang['btn_create'] = 'Crear esta página';
$lang['btn_search'] = 'Buscar';
$lang['btn_save'] = 'Guardar';
$lang['btn_preview'] = 'Previsualización';
$lang['btn_top'] = 'Ir hasta arriba';
$lang['btn_top'] = 'Volver arriba';
$lang['btn_newer'] = '<< más reciente';
$lang['btn_older'] = 'menos reciente >>';
$lang['btn_revs'] = 'Revisiones antiguas';
@ -76,11 +79,11 @@ $lang['btn_draftdel'] = 'Eliminar borrador';
$lang['btn_revert'] = 'Restaurar';
$lang['btn_register'] = 'Registrarse';
$lang['btn_apply'] = 'Aplicar';
$lang['btn_media'] = 'Gestor de ficheros';
$lang['btn_media'] = 'Administrador de Ficheros';
$lang['btn_deleteuser'] = 'Elimina Mi Cuenta';
$lang['btn_img_backto'] = 'Volver a %s';
$lang['btn_mediaManager'] = 'Ver en el Administrador de medios';
$lang['loggedinas'] = 'Conectado como ';
$lang['btn_mediaManager'] = 'Ver en el administrador de ficheros';
$lang['loggedinas'] = 'Conectado como:';
$lang['user'] = 'Usuario';
$lang['pass'] = 'Contraseña';
$lang['newpass'] = 'Nueva contraseña';
@ -121,16 +124,16 @@ $lang['resendpwdnouser'] = 'Lo siento, no se encuentra este usuario en nue
$lang['resendpwdbadauth'] = 'Lo siento, este código de autenticación no es válido. Asegúrate de haber usado el enlace de confirmación entero.';
$lang['resendpwdconfirm'] = 'Un enlace para confirmación ha sido enviado por correo electrónico.';
$lang['resendpwdsuccess'] = 'Tu nueva contraseña ha sido enviada por correo electrónico.';
$lang['license'] = 'Excepto donde se indique lo contrario, el contenido de esta wiki se autoriza bajo la siguiente licencia:';
$lang['license'] = 'Excepto donde se indique lo contrario, el contenido de este wiki esta bajo la siguiente licencia:';
$lang['licenseok'] = 'Nota: Al editar esta página, estás de acuerdo en autorizar su contenido bajo la siguiente licencia:';
$lang['searchmedia'] = 'Buscar archivo:';
$lang['searchmedia_in'] = 'Buscar en %s';
$lang['txt_upload'] = 'Selecciona el archivo a subir';
$lang['txt_filename'] = 'Subir como (opcional)';
$lang['txt_upload'] = 'Selecciona el archivo a subir:';
$lang['txt_filename'] = 'Subir como (opcional):';
$lang['txt_overwrt'] = 'Sobreescribir archivo existente';
$lang['maxuploadsize'] = 'Peso máximo de %s por archivo';
$lang['lockedby'] = 'Actualmente bloqueado por';
$lang['lockexpire'] = 'El bloqueo expira en';
$lang['lockedby'] = 'Actualmente bloqueado por:';
$lang['lockexpire'] = 'El bloqueo expira en:';
$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?';
@ -217,9 +220,9 @@ $lang['difflastrev'] = 'Última revisión';
$lang['diffbothprevrev'] = 'Ambos lados, revisión anterior';
$lang['diffbothnextrev'] = 'Ambos lados, revisión siguiente';
$lang['line'] = 'Línea';
$lang['breadcrumb'] = 'Traza';
$lang['youarehere'] = 'Estás aquí';
$lang['lastmod'] = 'Última modificación';
$lang['breadcrumb'] = 'Traza:';
$lang['youarehere'] = 'Estás aquí:';
$lang['lastmod'] = 'Última modificación:';
$lang['by'] = 'por';
$lang['deleted'] = 'borrado';
$lang['created'] = 'creado';
@ -272,18 +275,18 @@ $lang['admin_register'] = 'Añadir nuevo usuario';
$lang['metaedit'] = 'Editar metadatos';
$lang['metasaveerr'] = 'La escritura de los metadatos ha fallado';
$lang['metasaveok'] = 'Los metadatos han sido guardados';
$lang['img_title'] = 'Título';
$lang['img_caption'] = 'Epígrafe';
$lang['img_date'] = 'Fecha';
$lang['img_fname'] = 'Nombre de fichero';
$lang['img_fsize'] = 'Tamaño';
$lang['img_artist'] = 'Fotógrafo';
$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_title'] = 'Título:';
$lang['img_caption'] = 'Información: ';
$lang['img_date'] = 'Fecha:';
$lang['img_fname'] = 'Nombre del archivo:';
$lang['img_fsize'] = 'Tamaño:';
$lang['img_artist'] = 'Fotógrafo:';
$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['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';
@ -311,6 +314,7 @@ $lang['i_problems'] = 'El instalador encontró algunos problemas, se
$lang['i_modified'] = 'Por razones de seguridad este script sólo funcionará con una instalación nueva y no modificada de Dokuwiki. Usted debe extraer nuevamente los ficheros del paquete bajado, o bien consultar las <a href="http://dokuwiki.org/install">instrucciones de instalación de Dokuwiki</a> completas.';
$lang['i_funcna'] = 'La función de PHP <code>%s</code> no está disponible. ¿Tal vez su proveedor de hosting la ha deshabilitado por alguna razón?';
$lang['i_phpver'] = 'Su versión de PHP <code>%s</code> es menor que la necesaria <code>%s</code>. Es necesario que actualice su instalación de PHP.';
$lang['i_mbfuncoverload'] = 'mbstring.func_overload se debe deshabilitar en php.ini para que funcione DokuWiki.';
$lang['i_permfail'] = 'DokuWili no puede escribir <code>%s</code>. ¡Es necesario establecer correctamente los permisos de este directorio!';
$lang['i_confexists'] = '<code>%s</code> ya existe';
$lang['i_writeerr'] = 'Imposible crear <code>%s</code>. Se necesita que usted controle los permisos del fichero/directorio y que cree el fichero manualmente.';

View File

@ -1,6 +1,7 @@
Se ha subido un fichero a tu DokuWuki. Estos son los detalles:
Se ha subido un fichero a tu DokuWiki. Estos son los detalles:
Archivo : @MEDIA@
Ultima revisión: @OLD@
Fecha : @DATE@
Navegador : @BROWSER@
Dirección IP : @IPADDRESS@

View File

@ -1,23 +1,37 @@
/* Estonian initialisation for the jQuery UI date picker plugin. */
/* Written by Mart Sõmermaa (mrts.pydev at gmail com). */
jQuery(function($){
$.datepicker.regional['et'] = {
closeText: 'Sulge',
prevText: 'Eelnev',
nextText: 'Järgnev',
currentText: 'Täna',
monthNames: ['Jaanuar','Veebruar','Märts','Aprill','Mai','Juuni',
'Juuli','August','September','Oktoober','November','Detsember'],
monthNamesShort: ['Jaan', 'Veebr', 'Märts', 'Apr', 'Mai', 'Juuni',
'Juuli', 'Aug', 'Sept', 'Okt', 'Nov', 'Dets'],
dayNames: ['Pühapäev', 'Esmaspäev', 'Teisipäev', 'Kolmapäev', 'Neljapäev', 'Reede', 'Laupäev'],
dayNamesShort: ['Pühap', 'Esmasp', 'Teisip', 'Kolmap', 'Neljap', 'Reede', 'Laup'],
dayNamesMin: ['P','E','T','K','N','R','L'],
weekHeader: 'näd',
dateFormat: 'dd.mm.yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['et']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['et'] = {
closeText: 'Sulge',
prevText: 'Eelnev',
nextText: 'Järgnev',
currentText: 'Täna',
monthNames: ['Jaanuar','Veebruar','Märts','Aprill','Mai','Juuni',
'Juuli','August','September','Oktoober','November','Detsember'],
monthNamesShort: ['Jaan', 'Veebr', 'Märts', 'Apr', 'Mai', 'Juuni',
'Juuli', 'Aug', 'Sept', 'Okt', 'Nov', 'Dets'],
dayNames: ['Pühapäev', 'Esmaspäev', 'Teisipäev', 'Kolmapäev', 'Neljapäev', 'Reede', 'Laupäev'],
dayNamesShort: ['Pühap', 'Esmasp', 'Teisip', 'Kolmap', 'Neljap', 'Reede', 'Laup'],
dayNamesMin: ['P','E','T','K','N','R','L'],
weekHeader: 'näd',
dateFormat: 'dd.mm.yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['et']);
return datepicker.regional['et'];
}));

View File

@ -54,7 +54,7 @@ $lang['btn_register'] = 'Registreeri uus kasutaja';
$lang['btn_apply'] = 'Kinnita';
$lang['btn_media'] = 'Meedia haldur';
$lang['btn_deleteuser'] = 'Eemalda minu konto';
$lang['loggedinas'] = 'Logis sisse kui';
$lang['loggedinas'] = 'Logis sisse kui:';
$lang['user'] = 'Kasutaja';
$lang['pass'] = 'Parool';
$lang['newpass'] = 'Uus parool';
@ -101,12 +101,12 @@ $lang['license'] = 'Kus pole öeldud teisiti, kehtib selle wiki si
$lang['licenseok'] = 'Teadmiseks: Toimetades seda lehte, nõustud avaldama oma sisu järgmise lepingu alusel:';
$lang['searchmedia'] = 'Otsi failinime:';
$lang['searchmedia_in'] = 'Otsi %s';
$lang['txt_upload'] = 'Vali fail, mida üles laadida';
$lang['txt_filename'] = 'Siseta oma Wikinimi (soovituslik)';
$lang['txt_upload'] = 'Vali fail, mida üles laadida:';
$lang['txt_filename'] = 'Siseta oma Wikinimi (soovituslik):';
$lang['txt_overwrt'] = 'Kirjutan olemasoleva faili üle';
$lang['maxuploadsize'] = 'Üleslaadimiseks lubatu enim %s faili kohta.';
$lang['lockedby'] = 'Praegu on selle lukustanud';
$lang['lockexpire'] = 'Lukustus aegub';
$lang['lockedby'] = 'Praegu on selle lukustanud:';
$lang['lockexpire'] = 'Lukustus aegub:';
$lang['js']['willexpire'] = 'Teie lukustus selle lehe toimetamisele aegub umbes minuti pärast.\nIgasugu probleemide vältimiseks kasuta eelvaate nuppu, et lukustusarvesti taas tööle panna.';
$lang['js']['notsavedyet'] = 'Sul on seal salvestamata muudatusi, mis kohe kõige kaduva teed lähevad.
Kas Sa ikka tahad edasi liikuda?';
@ -188,9 +188,9 @@ $lang['diff_type'] = 'Vaata erinevusi:';
$lang['diff_inline'] = 'Jooksvalt';
$lang['diff_side'] = 'Kõrvuti';
$lang['line'] = 'Rida';
$lang['breadcrumb'] = 'Käidud rada';
$lang['youarehere'] = 'Sa oled siin';
$lang['lastmod'] = 'Viimati muutnud';
$lang['breadcrumb'] = 'Käidud rada:';
$lang['youarehere'] = 'Sa oled siin:';
$lang['lastmod'] = 'Viimati muutnud:';
$lang['by'] = 'persoon';
$lang['deleted'] = 'eemaldatud';
$lang['created'] = 'tekitatud';
@ -243,19 +243,19 @@ $lang['metaedit'] = 'Muuda lisainfot';
$lang['metasaveerr'] = 'Lisainfo salvestamine läks untsu.';
$lang['metasaveok'] = 'Lisainfo salvestatud';
$lang['btn_img_backto'] = 'Tagasi %s';
$lang['img_title'] = 'Tiitel';
$lang['img_caption'] = 'Kirjeldus';
$lang['img_date'] = 'Kuupäev';
$lang['img_fname'] = 'Faili nimi';
$lang['img_fsize'] = 'Suurus';
$lang['img_artist'] = 'Autor';
$lang['img_copyr'] = 'Autoriõigused';
$lang['img_format'] = 'Formaat';
$lang['img_camera'] = 'Kaamera';
$lang['img_keywords'] = 'Võtmesõnad';
$lang['img_width'] = 'Laius';
$lang['img_height'] = 'Kõrgus';
$lang['img_manager'] = 'Näita meediahalduris';
$lang['img_title'] = 'Tiitel:';
$lang['img_caption'] = 'Kirjeldus:';
$lang['img_date'] = 'Kuupäev:';
$lang['img_fname'] = 'Faili nimi:';
$lang['img_fsize'] = 'Suurus:';
$lang['img_artist'] = 'Autor:';
$lang['img_copyr'] = 'Autoriõigused:';
$lang['img_format'] = 'Formaat:';
$lang['img_camera'] = 'Kaamera:';
$lang['img_keywords'] = 'Võtmesõnad:';
$lang['img_width'] = 'Laius:';
$lang['img_height'] = 'Kõrgus:';
$lang['btn_mediaManager'] = 'Näita meediahalduris';
$lang['subscr_subscribe_success'] = '%s lisati %s tellijaks';
$lang['subscr_subscribe_error'] = 'Viga %s lisamisel %s tellijaks';
$lang['subscr_subscribe_noaddress'] = 'Sinu kasutajaga pole seotud ühtegi aadressi, seega ei saa sind tellijaks lisada';

View File

@ -1,23 +1,36 @@
/* Euskarako oinarria 'UI date picker' jquery-ko extentsioarentzat */
/* Karrikas-ek itzulia (karrikas@karrikas.com) */
jQuery(function($){
$.datepicker.regional['eu'] = {
closeText: 'Egina',
prevText: '&#x3C;Aur',
nextText: 'Hur&#x3E;',
currentText: 'Gaur',
monthNames: ['urtarrila','otsaila','martxoa','apirila','maiatza','ekaina',
'uztaila','abuztua','iraila','urria','azaroa','abendua'],
monthNamesShort: ['urt.','ots.','mar.','api.','mai.','eka.',
'uzt.','abu.','ira.','urr.','aza.','abe.'],
dayNames: ['igandea','astelehena','asteartea','asteazkena','osteguna','ostirala','larunbata'],
dayNamesShort: ['ig.','al.','ar.','az.','og.','ol.','lr.'],
dayNamesMin: ['ig','al','ar','az','og','ol','lr'],
weekHeader: 'As',
dateFormat: 'yy-mm-dd',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['eu']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['eu'] = {
closeText: 'Egina',
prevText: '&#x3C;Aur',
nextText: 'Hur&#x3E;',
currentText: 'Gaur',
monthNames: ['urtarrila','otsaila','martxoa','apirila','maiatza','ekaina',
'uztaila','abuztua','iraila','urria','azaroa','abendua'],
monthNamesShort: ['urt.','ots.','mar.','api.','mai.','eka.',
'uzt.','abu.','ira.','urr.','aza.','abe.'],
dayNames: ['igandea','astelehena','asteartea','asteazkena','osteguna','ostirala','larunbata'],
dayNamesShort: ['ig.','al.','ar.','az.','og.','ol.','lr.'],
dayNamesMin: ['ig','al','ar','az','og','ol','lr'],
weekHeader: 'As',
dateFormat: 'yy-mm-dd',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['eu']);
return datepicker.regional['eu'];
}));

View File

@ -49,7 +49,7 @@ $lang['btn_revert'] = 'Berrezarri';
$lang['btn_register'] = 'Erregistratu';
$lang['btn_apply'] = 'Baieztatu';
$lang['btn_media'] = 'Media Kudeatzailea';
$lang['loggedinas'] = 'Erabiltzailea';
$lang['loggedinas'] = 'Erabiltzailea:';
$lang['user'] = 'Erabiltzailea';
$lang['pass'] = 'Pasahitza';
$lang['newpass'] = 'Pasahitz berria';
@ -88,8 +88,8 @@ $lang['license'] = 'Besterik esan ezean, wiki hontako edukia ondor
$lang['licenseok'] = 'Oharra: Orri hau editatzean, zure edukia ondorengo lizentziapean argitaratzea onartzen duzu: ';
$lang['searchmedia'] = 'Bilatu fitxategi izena:';
$lang['searchmedia_in'] = 'Bilatu %s-n';
$lang['txt_upload'] = 'Ireki nahi den fitxategia aukeratu';
$lang['txt_filename'] = 'Idatzi wikiname-a (aukerazkoa)';
$lang['txt_upload'] = 'Ireki nahi den fitxategia aukeratu:';
$lang['txt_filename'] = 'Idatzi wikiname-a (aukerazkoa):';
$lang['txt_overwrt'] = 'Oraingo fitxategiaren gainean idatzi';
$lang['lockedby'] = 'Momentu honetan blokeatzen:';
$lang['lockexpire'] = 'Blokeaketa iraungitzen da:';
@ -172,9 +172,9 @@ $lang['diff_type'] = 'Ikusi diferentziak:';
$lang['diff_inline'] = 'Lerro tartean';
$lang['diff_side'] = 'Ondoz ondo';
$lang['line'] = 'Marra';
$lang['breadcrumb'] = 'Traza';
$lang['youarehere'] = 'Hemen zaude';
$lang['lastmod'] = 'Azken aldaketa';
$lang['breadcrumb'] = 'Traza:';
$lang['youarehere'] = 'Hemen zaude:';
$lang['lastmod'] = 'Azken aldaketa:';
$lang['by'] = 'egilea:';
$lang['deleted'] = 'ezabatua';
$lang['created'] = 'sortua';
@ -228,18 +228,18 @@ $lang['metaedit'] = 'Metadatua Aldatu';
$lang['metasaveerr'] = 'Metadatuaren idazketak huts egin du';
$lang['metasaveok'] = 'Metadatua gordea';
$lang['btn_img_backto'] = 'Atzera hona %s';
$lang['img_title'] = 'Izenburua';
$lang['img_caption'] = 'Epigrafea';
$lang['img_date'] = 'Data';
$lang['img_fname'] = 'Fitxategi izena';
$lang['img_fsize'] = 'Tamaina';
$lang['img_artist'] = 'Artista';
$lang['img_copyr'] = 'Copyright';
$lang['img_format'] = 'Formatua';
$lang['img_camera'] = 'Kamera';
$lang['img_keywords'] = 'Hitz-gakoak';
$lang['img_width'] = 'Zabalera';
$lang['img_height'] = 'Altuera';
$lang['img_title'] = 'Izenburua:';
$lang['img_caption'] = 'Epigrafea:';
$lang['img_date'] = 'Data:';
$lang['img_fname'] = 'Fitxategi izena:';
$lang['img_fsize'] = 'Tamaina:';
$lang['img_artist'] = 'Artista:';
$lang['img_copyr'] = 'Copyright:';
$lang['img_format'] = 'Formatua:';
$lang['img_camera'] = 'Kamera:';
$lang['img_keywords'] = 'Hitz-gakoak:';
$lang['img_width'] = 'Zabalera:';
$lang['img_height'] = 'Altuera:';
$lang['btn_mediaManager'] = 'Media kudeatzailean ikusi';
$lang['subscr_subscribe_success'] = '%s gehitua %s-ren harpidetza zerrendara';
$lang['subscr_subscribe_error'] = 'Errorea %s gehitzen %s-ren harpidetza zerrendara';

View File

@ -1,3 +1,3 @@
====== فهرست ======
====== نقشه‌ی سایت ======
این صفحه فهرست تمامی صفحات بر اساس [[doku>namespaces|فضای‌نام‌ها]] است.
این صفحه حاوی فهرست تمامی صفحات موجود به ترتیب [[doku>namespaces|فضای‌نام‌ها]] است.

View File

@ -1,59 +1,73 @@
/* Persian (Farsi) Translation for the jQuery UI date picker plugin. */
/* Javad Mowlanezhad -- jmowla@gmail.com */
/* Jalali calendar should supported soon! (Its implemented but I have to test it) */
jQuery(function($) {
$.datepicker.regional['fa'] = {
closeText: 'بستن',
prevText: '&#x3C;قبلی',
nextText: 'بعدی&#x3E;',
currentText: 'امروز',
monthNames: [
'فروردين',
'ارديبهشت',
'خرداد',
'تير',
'مرداد',
'شهريور',
'مهر',
'آبان',
'آذر',
'دی',
'بهمن',
'اسفند'
],
monthNamesShort: ['1','2','3','4','5','6','7','8','9','10','11','12'],
dayNames: [
'يکشنبه',
'دوشنبه',
'سه‌شنبه',
'چهارشنبه',
'پنجشنبه',
'جمعه',
'شنبه'
],
dayNamesShort: [
'ی',
'د',
'س',
'چ',
'پ',
'ج',
'ش'
],
dayNamesMin: [
'ی',
'د',
'س',
'چ',
'پ',
'ج',
'ش'
],
weekHeader: 'هف',
dateFormat: 'yy/mm/dd',
firstDay: 6,
isRTL: true,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['fa']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['fa'] = {
closeText: 'بستن',
prevText: '&#x3C;قبلی',
nextText: 'بعدی&#x3E;',
currentText: 'امروز',
monthNames: [
'فروردين',
'ارديبهشت',
'خرداد',
'تير',
'مرداد',
'شهريور',
'مهر',
'آبان',
'آذر',
'دی',
'بهمن',
'اسفند'
],
monthNamesShort: ['1','2','3','4','5','6','7','8','9','10','11','12'],
dayNames: [
'يکشنبه',
'دوشنبه',
'سه‌شنبه',
'چهارشنبه',
'پنجشنبه',
'جمعه',
'شنبه'
],
dayNamesShort: [
'ی',
'د',
'س',
'چ',
'پ',
'ج',
'ش'
],
dayNamesMin: [
'ی',
'د',
'س',
'چ',
'پ',
'ج',
'ش'
],
weekHeader: 'هف',
dateFormat: 'yy/mm/dd',
firstDay: 6,
isRTL: true,
showMonthAfterYear: false,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['fa']);
return datepicker.regional['fa'];
}));

View File

@ -11,6 +11,8 @@
* @author AmirH Hassaneini <mytechmix@gmail.com>
* @author mehrdad <mehrdad.jafari.bojd@gmail.com>
* @author reza_khn <reza_khn@yahoo.com>
* @author Hamid <zarrabi@sharif.edu>
* @author Mohamad Mehdi Habibi <habibi.esf@gmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'rtl';
@ -38,30 +40,32 @@ $lang['btn_secedit'] = 'ویرایش';
$lang['btn_login'] = 'ورود به سیستم';
$lang['btn_logout'] = 'خروج از سیستم';
$lang['btn_admin'] = 'مدیر';
$lang['btn_update'] = 'به روز رسانی';
$lang['btn_update'] = 'به‌روزرسانی';
$lang['btn_delete'] = 'حذف';
$lang['btn_back'] = 'عقب';
$lang['btn_backlink'] = 'پیوندهای به این صفحه';
$lang['btn_backtomedia'] = 'بازگشت به انتخاب فایل';
$lang['btn_subscribe'] = 'عضویت در تغییرات صفحه';
$lang['btn_profile'] = 'به روز رسانی پروفایل';
$lang['btn_profile'] = 'به‌روزرسانی پروفایل';
$lang['btn_reset'] = 'بازنشاندن';
$lang['btn_resendpwd'] = 'تعیین کلمه عبور جدید';
$lang['btn_resendpwd'] = 'تعیین گذرواژه‌ی جدید';
$lang['btn_draft'] = 'ویرایش پیش‌نویس';
$lang['btn_recover'] = 'بازیابی پیش‌نویس';
$lang['btn_draftdel'] = 'حذف پیش‌نویس';
$lang['btn_revert'] = 'بازیابی';
$lang['btn_register'] = 'یک حساب جدید بسازید';
$lang['btn_apply'] = 'اعمال کن';
$lang['btn_media'] = 'مدیریت محتوای چند رسانه ای';
$lang['btn_deleteuser'] = 'حذف حساب کاربری خود';
$lang['loggedinas'] = 'به عنوان کاربر روبرو وارد شده‌اید:';
$lang['user'] = 'نام کاربری:';
$lang['pass'] = 'گذرواژه‌ی شما';
$lang['btn_register'] = 'ثبت نام';
$lang['btn_apply'] = 'اعمال';
$lang['btn_media'] = 'مدیریت رسانه‌ها';
$lang['btn_deleteuser'] = 'حساب کاربری مرا حذف کن';
$lang['btn_img_backto'] = 'بازگشت به %s';
$lang['btn_mediaManager'] = 'مشاهده در مدیریت رسانه‌ها';
$lang['loggedinas'] = 'به این عنوان وارد شده‌اید:';
$lang['user'] = 'نام کاربری';
$lang['pass'] = 'گذرواژه‌';
$lang['newpass'] = 'گذروازه‌ی جدید';
$lang['oldpass'] = 'گذرواژه‌ی پیشین';
$lang['passchk'] = 'گذرواژه را دوباره وارد کنید';
$lang['remember'] = 'گذرواژه را به یاد بسپار.';
$lang['oldpass'] = 'گذرواژه‌ی فعلی را تایید کنید';
$lang['passchk'] = 'یک بار دیگر';
$lang['remember'] = 'مرا به خاطر بسپار.';
$lang['fullname'] = '*نام واقعی شما';
$lang['email'] = 'ایمیل شما*';
$lang['profile'] = 'پروفایل کاربر';
@ -86,6 +90,8 @@ $lang['profchanged'] = 'پروفایل کاربر با موفقیت ب
$lang['profnodelete'] = 'ویکی توانایی پشتیبانی از حذف کاربران را ندارد';
$lang['profdeleteuser'] = 'حذف حساب کاربری';
$lang['profdeleted'] = 'حساب کاربری شما حذف گردیده است.';
$lang['profconfdelete'] = 'می‌خواهم حساب کاربری من از این ویکی حذف شود. <br/> این عمل قابل برگشت نیست.';
$lang['profconfdeletemissing'] = 'جعبه‌ی تأیید تیک نخورده است';
$lang['pwdforget'] = 'گذرواژه‌ی خود را فراموش کرده‌اید؟ جدید دریافت کنید';
$lang['resendna'] = 'این ویکی ارسال مجدد گذرواژه را پشتیبانی نمی‌کند';
$lang['resendpwd'] = 'تعیین کلمه عبور جدید برای ';
@ -98,12 +104,12 @@ $lang['license'] = 'به جز مواردی که ذکر می‌شو
$lang['licenseok'] = 'توجه: با ویرایش این صفحه، شما مجوز زیر را تایید می‌کنید:';
$lang['searchmedia'] = 'نام فایل برای جستجو:';
$lang['searchmedia_in'] = 'جستجو در %s';
$lang['txt_upload'] = 'فایل را برای ارسال انتخاب کنید';
$lang['txt_filename'] = 'ارسال به صورت (اختیاری)';
$lang['txt_upload'] = 'فایل را برای ارسال انتخاب کنید:';
$lang['txt_filename'] = 'ارسال به صورت (اختیاری):';
$lang['txt_overwrt'] = 'بر روی فایل موجود بنویس';
$lang['maxuploadsize'] = 'حداکثر %s برای هر فایل مجاز است.';
$lang['lockedby'] = 'در حال حاضر قفل شده است';
$lang['lockexpire'] = 'قفل منقضی شده است';
$lang['lockedby'] = 'در حال حاضر قفل شده است:';
$lang['lockexpire'] = 'قفل منقضی شده است:';
$lang['js']['willexpire'] = 'حالت قفل شما مدتی است منقضی شده است \n برای جلوگیری از تداخل دکمه‌ی پیش‌نمایش را برای صفر شدن ساعت قفل بزنید.';
$lang['js']['notsavedyet'] = 'تغییرات ذخیره شده از بین خواهد رفت.
می‌خواهید ادامه دهید؟';
@ -135,9 +141,9 @@ $lang['js']['nosmblinks'] = 'پیوند به Windows share فقط در ای
شما می‌توانید پیوند‌ها رو کپی کنید.';
$lang['js']['linkwiz'] = 'ویزارد پیوند';
$lang['js']['linkto'] = 'پیوند به:';
$lang['js']['del_confirm'] = 'واقعن تصمیم به حذف این موارد دارید؟';
$lang['js']['restore_confirm'] = 'آیا مطمئن هستید که می خواهید این نسخه را بازیابی کنید؟';
$lang['js']['media_diff'] = 'تفاوت ها را ببینید : ';
$lang['js']['del_confirm'] = 'واقعا تصمیم به حذف این موارد دارید؟';
$lang['js']['restore_confirm'] = 'آیا مطمئن هستید که می خواهید این نگارش را بازیابی کنید؟';
$lang['js']['media_diff'] = 'تفاوت ها را ببینید: ';
$lang['js']['media_diff_both'] = 'پهلو به پهلو';
$lang['js']['media_diff_opacity'] = 'درخشش از';
$lang['js']['media_diff_portions'] = 'کش رفتن';
@ -184,10 +190,15 @@ $lang['difflink'] = 'پیوند به صفحه‌ی تفاوت‌ه
$lang['diff_type'] = 'مشاهده تغییرات:';
$lang['diff_inline'] = 'خطی';
$lang['diff_side'] = 'کلی';
$lang['diffprevrev'] = 'نگارش قبل';
$lang['diffnextrev'] = 'نگارش بعد';
$lang['difflastrev'] = 'آخرین نگارش';
$lang['diffbothprevrev'] = 'نگارش قبل در دو طرف';
$lang['diffbothnextrev'] = 'نگارش بعد در دو طرف';
$lang['line'] = 'خط';
$lang['breadcrumb'] = 'ردپا';
$lang['youarehere'] = 'محل شما';
$lang['lastmod'] = 'آخرین ویرایش';
$lang['breadcrumb'] = 'ردپا:';
$lang['youarehere'] = 'محل شما:';
$lang['lastmod'] = 'آخرین ویرایش:';
$lang['by'] = 'توسط';
$lang['deleted'] = 'حذف شد';
$lang['created'] = 'ایجاد شد';
@ -240,20 +251,18 @@ $lang['admin_register'] = 'یک حساب جدید بسازید';
$lang['metaedit'] = 'ویرایش داده‌های متا';
$lang['metasaveerr'] = 'نوشتن داده‌نما با مشکل مواجه شد';
$lang['metasaveok'] = 'داده‌نما ذخیره شد';
$lang['btn_img_backto'] = 'بازگشت به %s';
$lang['img_title'] = 'عنوان تصویر';
$lang['img_caption'] = 'عنوان';
$lang['img_date'] = 'تاریخ';
$lang['img_fname'] = 'نام فایل';
$lang['img_fsize'] = 'اندازه';
$lang['img_artist'] = 'عکاس/هنرمند';
$lang['img_copyr'] = 'دارنده‌ی حق تکثیر';
$lang['img_format'] = 'فرمت';
$lang['img_camera'] = 'دوربین';
$lang['img_keywords'] = 'واژه‌های کلیدی';
$lang['img_width'] = 'عرض';
$lang['img_height'] = 'ارتفاع';
$lang['btn_mediaManager'] = 'دیدن در مدیریت محتوای چند رسانه ای';
$lang['img_title'] = 'عنوان تصویر:';
$lang['img_caption'] = 'عنوان:';
$lang['img_date'] = 'تاریخ:';
$lang['img_fname'] = 'نام فایل:';
$lang['img_fsize'] = 'اندازه:';
$lang['img_artist'] = 'عکاس/هنرمند:';
$lang['img_copyr'] = 'دارنده‌ی حق تکثیر:';
$lang['img_format'] = 'فرمت:';
$lang['img_camera'] = 'دوربین:';
$lang['img_keywords'] = 'واژه‌های کلیدی:';
$lang['img_width'] = 'عرض:';
$lang['img_height'] = 'ارتفاع:';
$lang['subscr_subscribe_success'] = '%s به لیست آبونه %s افزوده شد';
$lang['subscr_subscribe_error'] = 'اشکال در افزودن %s به لیست آبونه %s';
$lang['subscr_subscribe_noaddress'] = 'هیچ آدرسی برای این عضویت اضافه نشده است، شما نمی‌توانید به لیست آبونه اضافه شوید';
@ -268,6 +277,8 @@ $lang['subscr_m_unsubscribe'] = 'لغو آبونه';
$lang['subscr_m_subscribe'] = 'آبونه شدن';
$lang['subscr_m_receive'] = 'دریافت کردن';
$lang['subscr_style_every'] = 'ارسال رای‌نامه در تمامی تغییرات';
$lang['subscr_style_digest'] = 'ایمیل خلاصه‌ی تغییرات هر روز (هر %.2f روز)';
$lang['subscr_style_list'] = 'فهرست صفحات تغییریافته از آخرین ایمیل (هر %.2f روز)';
$lang['authtempfail'] = 'معتبرسازی کابران موقتن مسدود می‌باشد. اگر این حالت پایدار بود، مدیر ویکی را باخبر سازید.';
$lang['authpwdexpire'] = 'کلمه عبور شما در %d روز منقضی خواهد شد ، شما باید آن را زود تغییر دهید';
$lang['i_chooselang'] = 'انتخاب زبان';
@ -279,6 +290,7 @@ $lang['i_problems'] = 'نصب کننده با مشکلات زیر م
$lang['i_modified'] = 'به دلایل امنیتی، این اسکریپت فقط با نصب تازه و بدون تغییر DokuWiki کار خواهد کرد.شما باید دوباره فایل فشرده را باز کنید <a href="http://dokuwiki.org/install">راهنمای نصب DokuWiki</a> را بررسی کنید.';
$lang['i_funcna'] = 'تابع <code>%s</code> در PHP موجود نیست. ممکن است شرکت خدمات وب شما آن را مسدود کرده باشد.';
$lang['i_phpver'] = 'نگارش پی‌اچ‌پی <code>%s</code> پایین‌تر از نگارش مورد نیاز، یعنی <code>%s</code> می‌باشد. خواهشمندیم به روز رسانی کنید.';
$lang['i_mbfuncoverload'] = 'برای اجرای دوکوویکی باید mbstring.func_overload را در php.ini غیرفعال کنید.';
$lang['i_permfail'] = 'شاخه‌ی <code>%s</code> قابلیت نوشتن ندارد. شما باید دسترسی‌های این شاخه را تنظیم کنید!';
$lang['i_confexists'] = '<code>%s</code> پیش‌تر موجود است';
$lang['i_writeerr'] = 'توانایی ایجاد <code>%s</code> نیست. شما باید دسترسی‌های شاخه یا فایل را بررسی کنید و فایل را به طور دستی ایجاد کنید.';
@ -290,8 +302,12 @@ $lang['i_policy'] = 'کنترل دسترسی‌های اولیه';
$lang['i_pol0'] = 'ویکی باز (همه می‌توانند بخوانند، بنویسند و فایل ارسال کنند)';
$lang['i_pol1'] = 'ویکی عمومی (همه می‌توانند بخوانند، کاربران ثبت شده می‌توانند بنویسند و فایل ارسال کنند)';
$lang['i_pol2'] = 'ویکی بسته (فقط کاربران ثبت شده می‌توانند بخوانند، بنویسند و فایل ارسال کنند)';
$lang['i_allowreg'] = 'اجازه دهید که کاربران خود را ثبت نام کنند';
$lang['i_retry'] = 'تلاش مجدد';
$lang['i_license'] = 'لطفن مجوز این محتوا را وارد کنید:';
$lang['i_license_none'] = 'هیچ اطلاعات مجوزی را نشان نده';
$lang['i_pop_field'] = 'لطفا کمک کنید تا تجربه‌ی دوکوویکی را بهبود دهیم.';
$lang['i_pop_label'] = 'ماهی یک بار، اطلاعات بدون‌نامی از نحوه‌ی استفاده به توسعه‌دهندگان دوکوویکی ارسال کن';
$lang['recent_global'] = 'شما هم‌اکنون تغییرات فضای‌نام <b>%s</b> را مشاهده می‌کنید. شما هم‌چنین می‌توانید <a href="%s">تغییرات اخیر در کل ویکی را مشاهده نمایید</a>.';
$lang['years'] = '%d سال پیش';
$lang['months'] = '%d ماه پیش';
@ -319,8 +335,12 @@ $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_meta_edited'] = 'فراداده‌ها ویرایش شدند.';
$lang['media_perm_read'] = 'متاسفانه شما حق خواندن این فایل‌ها را ندارید.';
$lang['media_perm_upload'] = 'متاسفانه شما حق آپلود این فایل‌ها را ندارید.';
$lang['media_update'] = 'آپلود نسخه‌ی جدید';
$lang['media_restore'] = 'بازیابی این نسخه';
$lang['currentns'] = 'فضای نام جاری';
$lang['searchresult'] = 'نتیجه‌ی جستجو';
$lang['plainhtml'] = 'HTML ساده';
$lang['wikimarkup'] = 'نشانه‌گذاری ویکی';

View File

@ -1,23 +1,37 @@
/* Finnish initialisation for the jQuery UI date picker plugin. */
/* Written by Harri Kilpiö (harrikilpio@gmail.com). */
jQuery(function($){
$.datepicker.regional['fi'] = {
closeText: 'Sulje',
prevText: '&#xAB;Edellinen',
nextText: 'Seuraava&#xBB;',
currentText: 'Tänään',
monthNames: ['Tammikuu','Helmikuu','Maaliskuu','Huhtikuu','Toukokuu','Kesäkuu',
'Heinäkuu','Elokuu','Syyskuu','Lokakuu','Marraskuu','Joulukuu'],
monthNamesShort: ['Tammi','Helmi','Maalis','Huhti','Touko','Kesä',
'Heinä','Elo','Syys','Loka','Marras','Joulu'],
dayNamesShort: ['Su','Ma','Ti','Ke','To','Pe','La'],
dayNames: ['Sunnuntai','Maanantai','Tiistai','Keskiviikko','Torstai','Perjantai','Lauantai'],
dayNamesMin: ['Su','Ma','Ti','Ke','To','Pe','La'],
weekHeader: 'Vk',
dateFormat: 'd.m.yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['fi']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['fi'] = {
closeText: 'Sulje',
prevText: '&#xAB;Edellinen',
nextText: 'Seuraava&#xBB;',
currentText: 'Tänään',
monthNames: ['Tammikuu','Helmikuu','Maaliskuu','Huhtikuu','Toukokuu','Kesäkuu',
'Heinäkuu','Elokuu','Syyskuu','Lokakuu','Marraskuu','Joulukuu'],
monthNamesShort: ['Tammi','Helmi','Maalis','Huhti','Touko','Kesä',
'Heinä','Elo','Syys','Loka','Marras','Joulu'],
dayNamesShort: ['Su','Ma','Ti','Ke','To','Pe','La'],
dayNames: ['Sunnuntai','Maanantai','Tiistai','Keskiviikko','Torstai','Perjantai','Lauantai'],
dayNamesMin: ['Su','Ma','Ti','Ke','To','Pe','La'],
weekHeader: 'Vk',
dateFormat: 'd.m.yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['fi']);
return datepicker.regional['fi'];
}));

View File

@ -53,7 +53,7 @@ $lang['btn_register'] = 'Rekisteröidy';
$lang['btn_apply'] = 'Toteuta';
$lang['btn_media'] = 'Media manager';
$lang['btn_deleteuser'] = 'Poista tilini';
$lang['loggedinas'] = 'Kirjautunut nimellä';
$lang['loggedinas'] = 'Kirjautunut nimellä:';
$lang['user'] = 'Käyttäjänimi';
$lang['pass'] = 'Salasana';
$lang['newpass'] = 'Uusi salasana';
@ -98,12 +98,12 @@ $lang['license'] = 'Jollei muuta ole mainittu, niin sisältö täs
$lang['licenseok'] = 'Huom: Muokkaamalla tätä sivua suostut lisensoimaan sisällön seuraavan lisenssin mukaisesti:';
$lang['searchmedia'] = 'Etsi tiedostoa nimeltä:';
$lang['searchmedia_in'] = 'Etsi kohteesta %s';
$lang['txt_upload'] = 'Valitse tiedosto lähetettäväksi';
$lang['txt_filename'] = 'Lähetä nimellä (valinnainen)';
$lang['txt_upload'] = 'Valitse tiedosto lähetettäväksi:';
$lang['txt_filename'] = 'Lähetä nimellä (valinnainen):';
$lang['txt_overwrt'] = 'Ylikirjoita olemassa oleva';
$lang['maxuploadsize'] = 'Palvelimelle siirto max. %s / tiedosto.';
$lang['lockedby'] = 'Tällä hetkellä tiedoston on lukinnut';
$lang['lockexpire'] = 'Lukitus päättyy';
$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']['notsavedyet'] = 'Dokumentissa on tallentamattomia muutoksia, jotka häviävät.
Haluatko varmasti jatkaa?';
@ -185,9 +185,9 @@ $lang['diff_type'] = 'Näytä eroavaisuudet:';
$lang['diff_inline'] = 'Sisäkkäin';
$lang['diff_side'] = 'Vierekkäin';
$lang['line'] = 'Rivi';
$lang['breadcrumb'] = 'Jäljet';
$lang['youarehere'] = 'Olet täällä';
$lang['lastmod'] = 'Viimeksi muutettu';
$lang['breadcrumb'] = 'Jäljet:';
$lang['youarehere'] = 'Olet täällä:';
$lang['lastmod'] = 'Viimeksi muutettu:';
$lang['by'] = '/';
$lang['deleted'] = 'poistettu';
$lang['created'] = 'luotu';
@ -241,18 +241,18 @@ $lang['metaedit'] = 'Muokkaa metadataa';
$lang['metasaveerr'] = 'Metadatan kirjoittaminen epäonnistui';
$lang['metasaveok'] = 'Metadata tallennettu';
$lang['btn_img_backto'] = 'Takaisin %s';
$lang['img_title'] = 'Otsikko';
$lang['img_caption'] = 'Kuvateksti';
$lang['img_date'] = 'Päivämäärä';
$lang['img_fname'] = 'Tiedoston nimi';
$lang['img_fsize'] = 'Koko';
$lang['img_artist'] = 'Kuvaaja';
$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_title'] = 'Otsikko:';
$lang['img_caption'] = 'Kuvateksti:';
$lang['img_date'] = 'Päivämäärä:';
$lang['img_fname'] = 'Tiedoston nimi:';
$lang['img_fsize'] = 'Koko:';
$lang['img_artist'] = 'Kuvaaja:';
$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['btn_mediaManager'] = 'Näytä mediamanagerissa';
$lang['subscr_subscribe_success'] = '%s lisätty %s tilauslistalle';
$lang['subscr_subscribe_error'] = 'Virhe lisättäessä %s tilauslistalle %s';

View File

@ -1,23 +1,37 @@
/* Faroese initialisation for the jQuery UI date picker plugin */
/* Written by Sverri Mohr Olsen, sverrimo@gmail.com */
jQuery(function($){
$.datepicker.regional['fo'] = {
closeText: 'Lat aftur',
prevText: '&#x3C;Fyrra',
nextText: 'Næsta&#x3E;',
currentText: 'Í dag',
monthNames: ['Januar','Februar','Mars','Apríl','Mei','Juni',
'Juli','August','September','Oktober','November','Desember'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Mei','Jun',
'Jul','Aug','Sep','Okt','Nov','Des'],
dayNames: ['Sunnudagur','Mánadagur','Týsdagur','Mikudagur','Hósdagur','Fríggjadagur','Leyardagur'],
dayNamesShort: ['Sun','Mán','Týs','Mik','Hós','Frí','Ley'],
dayNamesMin: ['Su','Má','Tý','Mi','Hó','Fr','Le'],
weekHeader: 'Vk',
dateFormat: 'dd-mm-yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['fo']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['fo'] = {
closeText: 'Lat aftur',
prevText: '&#x3C;Fyrra',
nextText: 'Næsta&#x3E;',
currentText: 'Í dag',
monthNames: ['Januar','Februar','Mars','Apríl','Mei','Juni',
'Juli','August','September','Oktober','November','Desember'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Mei','Jun',
'Jul','Aug','Sep','Okt','Nov','Des'],
dayNames: ['Sunnudagur','Mánadagur','Týsdagur','Mikudagur','Hósdagur','Fríggjadagur','Leyardagur'],
dayNamesShort: ['Sun','Mán','Týs','Mik','Hós','Frí','Ley'],
dayNamesMin: ['Su','Má','Tý','Mi','Hó','Fr','Le'],
weekHeader: 'Vk',
dateFormat: 'dd-mm-yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['fo']);
return datepicker.regional['fo'];
}));

View File

@ -45,7 +45,7 @@ $lang['btn_recover'] = 'Endurbygg kladdu';
$lang['btn_draftdel'] = 'Sletta';
$lang['btn_revert'] = 'Endurbygg';
$lang['btn_register'] = 'Melda til';
$lang['loggedinas'] = 'Ritavur inn sum';
$lang['loggedinas'] = 'Ritavur inn sum:';
$lang['user'] = 'Brúkaranavn';
$lang['pass'] = 'Loyniorð';
$lang['newpass'] = 'Nýtt loyniorð';
@ -83,11 +83,11 @@ $lang['license'] = 'Um ikki annað er tilskilað, so er tilfar á
$lang['licenseok'] = 'Legg til merkis: Við at dagføra hesa síðu samtykkir tú at loyva margfalding av tilfarinum undir fylgjandi treytum:';
$lang['searchmedia'] = 'Leita eftir fíl navn:';
$lang['searchmedia_in'] = 'Leita í %s';
$lang['txt_upload'] = 'Vel tí fílu sum skal leggjast upp';
$lang['txt_filename'] = 'Sláa inn wikinavn (valfrítt)';
$lang['txt_upload'] = 'Vel tí fílu sum skal leggjast upp:';
$lang['txt_filename'] = 'Sláa inn wikinavn (valfrítt):';
$lang['txt_overwrt'] = 'Yvurskriva verandi fílu';
$lang['lockedby'] = 'Fyribils læst av';
$lang['lockexpire'] = 'Lásið ferð úr gildi kl.';
$lang['lockedby'] = 'Fyribils læst av:';
$lang['lockexpire'] = 'Lásið ferð úr gildi kl.:';
$lang['js']['willexpire'] = 'Títt lás á hetta skjalið ferð úr gildi um ein minnutt.\nTrýst á Forskoðan-knappin fyri at sleppa undan trupulleikum.';
$lang['js']['notsavedyet'] = 'Tað eru gjørdar broytingar í skjalinum, um haldur fram vilja broytingar fara fyri skeytið.
Ynskir at halda fram?';
@ -124,9 +124,9 @@ $lang['current'] = 'núverandi';
$lang['yours'] = 'Tín útgáva';
$lang['diff'] = 'vís broytingar í mun til núverandi útgávu';
$lang['line'] = 'Linja';
$lang['breadcrumb'] = 'Leið';
$lang['youarehere'] = 'Tú ert her';
$lang['lastmod'] = 'Seinast broytt';
$lang['breadcrumb'] = 'Leið:';
$lang['youarehere'] = 'Tú ert her:';
$lang['lastmod'] = 'Seinast broytt:';
$lang['by'] = 'av';
$lang['deleted'] = 'strika';
$lang['created'] = 'stovna';
@ -158,14 +158,14 @@ $lang['metaedit'] = 'Rætta metadáta';
$lang['metasaveerr'] = 'Brek við skriving av metadáta';
$lang['metasaveok'] = 'Metadáta goymt';
$lang['btn_img_backto'] = 'Aftur til %s';
$lang['img_title'] = 'Heitið';
$lang['img_caption'] = 'Myndatekstur';
$lang['img_date'] = 'Dato';
$lang['img_fname'] = 'Fílunavn';
$lang['img_fsize'] = 'Stødd';
$lang['img_artist'] = 'Myndafólk';
$lang['img_copyr'] = 'Upphavsrættur';
$lang['img_format'] = 'Snið';
$lang['img_camera'] = 'Fototól';
$lang['img_keywords'] = 'Evnisorð';
$lang['img_title'] = 'Heitið:';
$lang['img_caption'] = 'Myndatekstur:';
$lang['img_date'] = 'Dato:';
$lang['img_fname'] = 'Fílunavn:';
$lang['img_fsize'] = 'Stødd:';
$lang['img_artist'] = 'Myndafólk:';
$lang['img_copyr'] = 'Upphavsrættur:';
$lang['img_format'] = 'Snið:';
$lang['img_camera'] = 'Fototól:';
$lang['img_keywords'] = 'Evnisorð:';
$lang['authtempfail'] = 'Validering av brúkara virkar fyribils ikki. Um hetta er varandi, fá so samband við umboðsstjóran á hesi wiki.';

View File

@ -1,4 +1,4 @@
====== Autorisation refusée ======
Désolé, vous n'avez pas suffisement d'autorisations pour poursuivre votre demande.
Désolé, vous n'avez pas suffisamment d'autorisations pour poursuivre votre demande.

View File

@ -2,24 +2,38 @@
/* Written by Keith Wood (kbwood{at}iinet.com.au),
Stéphane Nahmani (sholby@sholby.net),
Stéphane Raimbault <stephane.raimbault@gmail.com> */
jQuery(function($){
$.datepicker.regional['fr'] = {
closeText: 'Fermer',
prevText: 'Précédent',
nextText: 'Suivant',
currentText: 'Aujourd\'hui',
monthNames: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin',
'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],
monthNamesShort: ['janv.', 'févr.', 'mars', 'avril', 'mai', 'juin',
'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],
dayNames: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'],
dayNamesShort: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'],
dayNamesMin: ['D','L','M','M','J','V','S'],
weekHeader: 'Sem.',
dateFormat: 'dd/mm/yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['fr']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['fr'] = {
closeText: 'Fermer',
prevText: 'Précédent',
nextText: 'Suivant',
currentText: 'Aujourd\'hui',
monthNames: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin',
'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],
monthNamesShort: ['janv.', 'févr.', 'mars', 'avril', 'mai', 'juin',
'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],
dayNames: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'],
dayNamesShort: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'],
dayNamesMin: ['D','L','M','M','J','V','S'],
weekHeader: 'Sem.',
dateFormat: 'dd/mm/yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['fr']);
return datepicker.regional['fr'];
}));

View File

@ -32,6 +32,9 @@
* @author Wild <wild.dagger@free.fr>
* @author ggallon <gwenael.gallon@mac.com>
* @author David VANTYGHEM <david.vantyghem@free.fr>
* @author Caillot <remicaillot5@gmail.com>
* @author Schplurtz le Déboulonné <schplurtz@laposte.net>
* @author YoBoY <yoboy@ubuntu-fr.org>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@ -52,7 +55,7 @@ $lang['btn_newer'] = '<< Plus récent';
$lang['btn_older'] = 'Moins récent >>';
$lang['btn_revs'] = 'Anciennes révisions';
$lang['btn_recent'] = 'Derniers changements';
$lang['btn_upload'] = 'Envoyer';
$lang['btn_upload'] = 'Téléverser';
$lang['btn_cancel'] = 'Annuler';
$lang['btn_index'] = 'Plan du site';
$lang['btn_secedit'] = 'Modifier';
@ -62,9 +65,9 @@ $lang['btn_admin'] = 'Administrer';
$lang['btn_update'] = 'Mettre à jour';
$lang['btn_delete'] = 'Effacer';
$lang['btn_back'] = 'Retour';
$lang['btn_backlink'] = 'Liens vers cette page';
$lang['btn_backlink'] = 'Liens de retour';
$lang['btn_backtomedia'] = 'Retour à la sélection du fichier média';
$lang['btn_subscribe'] = 'S\'abonner à cette page';
$lang['btn_subscribe'] = 'Gérer souscriptions';
$lang['btn_profile'] = 'Mettre à jour le profil';
$lang['btn_reset'] = 'Réinitialiser';
$lang['btn_resendpwd'] = 'Définir un nouveau mot de passe';
@ -76,9 +79,9 @@ $lang['btn_register'] = 'Créer un compte';
$lang['btn_apply'] = 'Appliquer';
$lang['btn_media'] = 'Gestionnaire de médias';
$lang['btn_deleteuser'] = 'Supprimer mon compte';
$lang['btn_img_backto'] = 'Retour à %s';
$lang['btn_img_backto'] = 'Retour vers %s';
$lang['btn_mediaManager'] = 'Voir dans le gestionnaire de médias';
$lang['loggedinas'] = 'Connecté en tant que ';
$lang['loggedinas'] = 'Connecté en tant que :';
$lang['user'] = 'Utilisateur';
$lang['pass'] = 'Mot de passe';
$lang['newpass'] = 'Nouveau mot de passe';
@ -88,20 +91,20 @@ $lang['remember'] = 'Mémoriser';
$lang['fullname'] = 'Nom';
$lang['email'] = 'Adresse de courriel';
$lang['profile'] = 'Profil utilisateur';
$lang['badlogin'] = 'L\'utilisateur ou le mot de passe est incorrect.';
$lang['badlogin'] = 'Le nom d\'utilisateur ou le mot de passe est incorrect.';
$lang['badpassconfirm'] = 'Désolé, le mot de passe est erroné';
$lang['minoredit'] = 'Modification mineure';
$lang['draftdate'] = 'Brouillon enregistré de manière automatique le';
$lang['draftdate'] = 'Brouillon enregistré automatiquement le';
$lang['nosecedit'] = 'La page a changé entre temps, les informations de la section sont obsolètes ; la page complète a été chargée à la place.';
$lang['regmissing'] = 'Désolé, vous devez remplir tous les champs.';
$lang['reguexists'] = 'Désolé, ce nom d\'utilisateur est déjà utilisé.';
$lang['reguexists'] = 'Désolé, ce nom d\'utilisateur est déjà pris.';
$lang['regsuccess'] = 'L\'utilisateur a été créé. Le mot de passe a été expédié par courriel.';
$lang['regsuccess2'] = 'L\'utilisateur a été créé.';
$lang['regmailfail'] = 'On dirait qu\'il y a eu une erreur lors de l\'envoi du mot de passe de messagerie. Veuillez contacter l\'administrateur !';
$lang['regbadmail'] = 'L\'adresse de courriel semble incorrecte. Si vous pensez que c\'est une erreur, contactez l\'administrateur.';
$lang['regbadpass'] = 'Les deux mots de passe fournis sont différents, veuillez recommencez.';
$lang['regpwmail'] = 'Votre mot de passe DokuWiki';
$lang['reghere'] = 'Vous n\'avez pas encore de compte ? Enregistrez-vous ici ';
$lang['reghere'] = 'Vous n\'avez pas encore de compte ? Inscrivez-vous';
$lang['profna'] = 'Ce wiki ne permet pas de modifier les profils';
$lang['profnochange'] = 'Pas de modification, rien à faire.';
$lang['profnoempty'] = 'Un nom ou une adresse de courriel vide n\'est pas permis.';
@ -123,12 +126,12 @@ $lang['license'] = 'Sauf mention contraire, le contenu de ce wiki
$lang['licenseok'] = 'Note : En modifiant cette page, vous acceptez que le contenu soit placé sous les termes de la licence suivante :';
$lang['searchmedia'] = 'Chercher le nom de fichier :';
$lang['searchmedia_in'] = 'Chercher dans %s';
$lang['txt_upload'] = 'Sélectionnez un fichier à envoyer ';
$lang['txt_filename'] = 'Envoyer en tant que (optionnel) ';
$lang['txt_upload'] = 'Sélectionnez un fichier à envoyer:';
$lang['txt_filename'] = 'Envoyer en tant que (optionnel):';
$lang['txt_overwrt'] = 'Écraser le fichier cible (s\'il existe)';
$lang['maxuploadsize'] = 'Taille d\'envoi maximale : %s par fichier';
$lang['lockedby'] = 'Actuellement bloqué par';
$lang['lockexpire'] = 'Le blocage expire à';
$lang['lockedby'] = 'Actuellement bloqué par:';
$lang['lockexpire'] = 'Le blocage expire à:';
$lang['js']['willexpire'] = 'Votre blocage 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';
@ -210,10 +213,12 @@ $lang['diff_side'] = 'Côte à côte';
$lang['diffprevrev'] = 'Révision précédente';
$lang['diffnextrev'] = 'Prochaine révision';
$lang['difflastrev'] = 'Dernière révision';
$lang['diffbothprevrev'] = 'Les deux révisions précédentes';
$lang['diffbothnextrev'] = 'Les deux révisions suivantes';
$lang['line'] = 'Ligne';
$lang['breadcrumb'] = 'Piste';
$lang['youarehere'] = 'Vous êtes ici';
$lang['lastmod'] = 'Dernière modification';
$lang['breadcrumb'] = 'Piste:';
$lang['youarehere'] = 'Vous êtes ici:';
$lang['lastmod'] = 'Dernière modification:';
$lang['by'] = 'par';
$lang['deleted'] = 'supprimée';
$lang['created'] = 'créée';
@ -266,18 +271,18 @@ $lang['admin_register'] = 'Ajouter un nouvel utilisateur';
$lang['metaedit'] = 'Modifier les métadonnées';
$lang['metasaveerr'] = 'Erreur lors de l\'enregistrement des métadonnées';
$lang['metasaveok'] = 'Métadonnées enregistrées';
$lang['img_title'] = 'Titre';
$lang['img_caption'] = 'Légende';
$lang['img_date'] = 'Date';
$lang['img_fname'] = 'Nom de fichier';
$lang['img_fsize'] = 'Taille';
$lang['img_artist'] = 'Photographe';
$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_title'] = 'Titre:';
$lang['img_caption'] = 'Légende:';
$lang['img_date'] = 'Date:';
$lang['img_fname'] = 'Nom de fichier:';
$lang['img_fsize'] = 'Taille:';
$lang['img_artist'] = 'Photographe:';
$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['subscr_subscribe_success'] = '%s a été ajouté à la liste de souscription de %s';
$lang['subscr_subscribe_error'] = 'Erreur à l\'ajout de %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';
@ -305,6 +310,7 @@ $lang['i_problems'] = 'L\'installateur a détecté les problèmes ind
$lang['i_modified'] = 'Pour des raisons de sécurité, ce script ne fonctionne qu\'avec une installation neuve et non modifiée de DokuWiki. Vous devriez ré-extraire les fichiers depuis le paquet téléchargé ou consulter les <a href="http://dokuwiki.org/install">instructions d\'installation de DokuWiki</a>';
$lang['i_funcna'] = 'La fonction PHP <code>%s</code> n\'est pas disponible. Peut-être que votre hébergeur web l\'a désactivée ?';
$lang['i_phpver'] = 'Votre version de PHP (%s) est antérieure à la version requise (%s). Vous devez mettre à jour votre installation de PHP.';
$lang['i_mbfuncoverload'] = 'Il faut désactiver mbstring.func_overload dans php.ini pour DokuWiki';
$lang['i_permfail'] = '<code>%s</code> n\'est pas accessible en écriture pour DokuWiki. Vous devez corriger les autorisations de ce répertoire !';
$lang['i_confexists'] = '<code>%s</code> existe déjà';
$lang['i_writeerr'] = 'Impossible de créer <code>%s</code>. Vous devez vérifier les autorisations des répertoires/fichiers et créer le fichier manuellement.';
@ -354,7 +360,7 @@ $lang['media_perm_read'] = 'Désolé, vous n\'avez pas l\'autorisation de
$lang['media_perm_upload'] = 'Désolé, vous n\'avez pas l\'autorisation d\'envoyer des fichiers.';
$lang['media_update'] = 'Envoyer une nouvelle version';
$lang['media_restore'] = 'Restaurer cette version';
$lang['currentns'] = 'Namespace actuel';
$lang['currentns'] = 'Catégorie courante';
$lang['searchresult'] = 'Résultat de la recherche';
$lang['plainhtml'] = 'HTML brut';
$lang['wikimarkup'] = 'Wiki balise';

View File

@ -1,4 +1,4 @@
====== Cette page n'existe pas encore ======
Vous avez suivi un lien vers une page qui n'existe pas encore. Si vos autorisations sont suffisants, vous pouvez la créer en cliquant sur « Créer cette page ».
Vous avez suivi un lien vers une page qui n'existe pas encore. Si vos permissions sont suffisantes, vous pouvez la créer en cliquant sur « Créer cette page ».

View File

@ -1,3 +1,3 @@
====== Gestion de l'abonnement ======
====== Gestion des souscriptions ======
Cette page vous permet de gérer vos abonnements à la page et à la catégorie courantes.
Cette page vous permet de gérer vos souscriptions pour suivre les modifications sur la page et sur la catégorie courante.

View File

@ -1,23 +1,37 @@
/* Galician localization for 'UI date picker' jQuery extension. */
/* Translated by Jorge Barreiro <yortx.barry@gmail.com>. */
jQuery(function($){
$.datepicker.regional['gl'] = {
closeText: 'Pechar',
prevText: '&#x3C;Ant',
nextText: 'Seg&#x3E;',
currentText: 'Hoxe',
monthNames: ['Xaneiro','Febreiro','Marzo','Abril','Maio','Xuño',
'Xullo','Agosto','Setembro','Outubro','Novembro','Decembro'],
monthNamesShort: ['Xan','Feb','Mar','Abr','Mai','Xuñ',
'Xul','Ago','Set','Out','Nov','Dec'],
dayNames: ['Domingo','Luns','Martes','Mércores','Xoves','Venres','Sábado'],
dayNamesShort: ['Dom','Lun','Mar','Mér','Xov','Ven','Sáb'],
dayNamesMin: ['Do','Lu','Ma','Mé','Xo','Ve','Sá'],
weekHeader: 'Sm',
dateFormat: 'dd/mm/yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['gl']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['gl'] = {
closeText: 'Pechar',
prevText: '&#x3C;Ant',
nextText: 'Seg&#x3E;',
currentText: 'Hoxe',
monthNames: ['Xaneiro','Febreiro','Marzo','Abril','Maio','Xuño',
'Xullo','Agosto','Setembro','Outubro','Novembro','Decembro'],
monthNamesShort: ['Xan','Feb','Mar','Abr','Mai','Xuñ',
'Xul','Ago','Set','Out','Nov','Dec'],
dayNames: ['Domingo','Luns','Martes','Mércores','Xoves','Venres','Sábado'],
dayNamesShort: ['Dom','Lun','Mar','Mér','Xov','Ven','Sáb'],
dayNamesMin: ['Do','Lu','Ma','Mé','Xo','Ve','Sá'],
weekHeader: 'Sm',
dateFormat: 'dd/mm/yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['gl']);
return datepicker.regional['gl'];
}));

View File

@ -49,7 +49,7 @@ $lang['btn_revert'] = 'Restaurar';
$lang['btn_register'] = 'Rexístrate';
$lang['btn_apply'] = 'Aplicar';
$lang['btn_media'] = 'Xestor de Arquivos-Media';
$lang['loggedinas'] = 'Iniciaches sesión como';
$lang['loggedinas'] = 'Iniciaches sesión como:';
$lang['user'] = 'Nome de Usuario';
$lang['pass'] = 'Contrasinal';
$lang['newpass'] = 'Novo Contrasinal';
@ -88,12 +88,12 @@ $lang['license'] = 'O contido deste wiki, agás onde se indique o
$lang['licenseok'] = 'Nota: Ao editares esta páxina estás a aceptar o licenciamento do contido baixo da seguinte licenza:';
$lang['searchmedia'] = 'Procurar nome de arquivo:';
$lang['searchmedia_in'] = 'Procurar en %s';
$lang['txt_upload'] = 'Escolle o arquivo para subir';
$lang['txt_filename'] = 'Subir como (opcional)';
$lang['txt_upload'] = 'Escolle o arquivo para subir:';
$lang['txt_filename'] = 'Subir como (opcional):';
$lang['txt_overwrt'] = 'Sobrescribir arquivo existente';
$lang['maxuploadsize'] = 'Subida máxima %s por arquivo.';
$lang['lockedby'] = 'Bloqueado actualmente por';
$lang['lockexpire'] = 'O bloqueo remata o';
$lang['lockedby'] = 'Bloqueado actualmente por:';
$lang['lockexpire'] = 'O bloqueo remata o:';
$lang['js']['willexpire'] = 'O teu bloqueo para editares esta páxina vai caducar nun minuto.\nPara de evitar conflitos, emprega o botón de previsualización para reiniciares o contador do tempo de bloqueo.';
$lang['js']['notsavedyet'] = 'Perderanse os trocos non gardados.
Está certo de quereres continuar?';
@ -175,9 +175,9 @@ $lang['diff_type'] = 'Ver diferenzas:';
$lang['diff_inline'] = 'Por liña';
$lang['diff_side'] = 'Cara a Cara';
$lang['line'] = 'Liña';
$lang['breadcrumb'] = 'Trazado';
$lang['youarehere'] = 'Estás aquí';
$lang['lastmod'] = 'Última modificación';
$lang['breadcrumb'] = 'Trazado:';
$lang['youarehere'] = 'Estás aquí:';
$lang['lastmod'] = 'Última modificación:';
$lang['by'] = 'por';
$lang['deleted'] = 'eliminado';
$lang['created'] = 'creado';
@ -231,18 +231,18 @@ $lang['metaedit'] = 'Editar Metadatos';
$lang['metasaveerr'] = 'Non se puideron escribir os metadatos';
$lang['metasaveok'] = 'Metadatos gardados';
$lang['btn_img_backto'] = 'Volver a %s';
$lang['img_title'] = 'Título';
$lang['img_caption'] = 'Lenda';
$lang['img_date'] = 'Data';
$lang['img_fname'] = 'Nome de arquivo';
$lang['img_fsize'] = 'Tamaño';
$lang['img_artist'] = 'Fotógrafo';
$lang['img_copyr'] = 'Copyright';
$lang['img_format'] = 'Formato';
$lang['img_camera'] = 'Cámara';
$lang['img_keywords'] = 'Verbas chave';
$lang['img_width'] = 'Ancho';
$lang['img_height'] = 'Alto';
$lang['img_title'] = 'Título:';
$lang['img_caption'] = 'Lenda:';
$lang['img_date'] = 'Data:';
$lang['img_fname'] = 'Nome de arquivo:';
$lang['img_fsize'] = 'Tamaño:';
$lang['img_artist'] = 'Fotógrafo:';
$lang['img_copyr'] = 'Copyright:';
$lang['img_format'] = 'Formato:';
$lang['img_camera'] = 'Cámara:';
$lang['img_keywords'] = 'Verbas chave:';
$lang['img_width'] = 'Ancho:';
$lang['img_height'] = 'Alto:';
$lang['btn_mediaManager'] = 'Ver no xestor de arquivos-media';
$lang['subscr_subscribe_success'] = 'Engadido %s á lista de subscrición para %s';
$lang['subscr_subscribe_error'] = 'Erro ao tentar engadir %s á lista de subscrición para %s';

View File

@ -1,23 +1,37 @@
/* Hebrew initialisation for the UI Datepicker extension. */
/* Written by Amir Hardon (ahardon at gmail dot com). */
jQuery(function($){
$.datepicker.regional['he'] = {
closeText: 'סגור',
prevText: '&#x3C;הקודם',
nextText: 'הבא&#x3E;',
currentText: 'היום',
monthNames: ['ינואר','פברואר','מרץ','אפריל','מאי','יוני',
'יולי','אוגוסט','ספטמבר','אוקטובר','נובמבר','דצמבר'],
monthNamesShort: ['ינו','פבר','מרץ','אפר','מאי','יוני',
'יולי','אוג','ספט','אוק','נוב','דצמ'],
dayNames: ['ראשון','שני','שלישי','רביעי','חמישי','שישי','שבת'],
dayNamesShort: ['א\'','ב\'','ג\'','ד\'','ה\'','ו\'','שבת'],
dayNamesMin: ['א\'','ב\'','ג\'','ד\'','ה\'','ו\'','שבת'],
weekHeader: 'Wk',
dateFormat: 'dd/mm/yy',
firstDay: 0,
isRTL: true,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['he']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['he'] = {
closeText: 'סגור',
prevText: '&#x3C;הקודם',
nextText: 'הבא&#x3E;',
currentText: 'היום',
monthNames: ['ינואר','פברואר','מרץ','אפריל','מאי','יוני',
'יולי','אוגוסט','ספטמבר','אוקטובר','נובמבר','דצמבר'],
monthNamesShort: ['ינו','פבר','מרץ','אפר','מאי','יוני',
'יולי','אוג','ספט','אוק','נוב','דצמ'],
dayNames: ['ראשון','שני','שלישי','רביעי','חמישי','שישי','שבת'],
dayNamesShort: ['א\'','ב\'','ג\'','ד\'','ה\'','ו\'','שבת'],
dayNamesMin: ['א\'','ב\'','ג\'','ד\'','ה\'','ו\'','שבת'],
weekHeader: 'Wk',
dateFormat: 'dd/mm/yy',
firstDay: 0,
isRTL: true,
showMonthAfterYear: false,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['he']);
return datepicker.regional['he'];
}));

View File

@ -57,7 +57,7 @@ $lang['btn_register'] = 'הרשמה';
$lang['btn_apply'] = 'ליישם';
$lang['btn_media'] = 'מנהל המדיה';
$lang['btn_deleteuser'] = 'להסיר את החשבון שלי';
$lang['loggedinas'] = 'נכנסת בשם';
$lang['loggedinas'] = 'נכנסת בשם:';
$lang['user'] = 'שם משתמש';
$lang['pass'] = 'ססמה';
$lang['newpass'] = 'ססמה חדשה';
@ -102,12 +102,12 @@ $lang['license'] = 'למעט מקרים בהם צוין אחרת,
$lang['licenseok'] = 'נא לשים לב: עריכת דף זה מהווה הסכמה מצדך להצגת התוכן שהוספת בהתאם הרישיון הבא:';
$lang['searchmedia'] = 'חיפוש שם קובץ:';
$lang['searchmedia_in'] = 'חיפוש תחת %s';
$lang['txt_upload'] = 'בחירת קובץ להעלות';
$lang['txt_filename'] = 'העלאה בשם (נתון לבחירה)';
$lang['txt_upload'] = 'בחירת קובץ להעלות:';
$lang['txt_filename'] = 'העלאה בשם (נתון לבחירה):';
$lang['txt_overwrt'] = 'שכתוב על קובץ קיים';
$lang['maxuploadsize'] = 'העלה מקסימום. s% לכל קובץ.';
$lang['lockedby'] = 'נעול על ידי';
$lang['lockexpire'] = 'הנעילה פגה';
$lang['lockedby'] = 'נעול על ידי:';
$lang['lockexpire'] = 'הנעילה פגה:';
$lang['js']['willexpire'] = 'הנעילה תחלוף עוד זמן קצר. \nלמניעת התנגשויות יש להשתמש בכפתור הרענון מטה כדי לאפס את מד משך הנעילה.';
$lang['js']['notsavedyet'] = 'שינויים שלא נשמרו ילכו לאיבוד.';
$lang['js']['searchmedia'] = 'חיפוש אחר קבצים';
@ -188,9 +188,9 @@ $lang['diff_type'] = 'הצגת הבדלים:';
$lang['diff_inline'] = 'באותה השורה';
$lang['diff_side'] = 'זה לצד זה';
$lang['line'] = 'שורה';
$lang['breadcrumb'] = 'ביקורים אחרונים';
$lang['youarehere'] = 'זהו מיקומך';
$lang['lastmod'] = 'מועד השינוי האחרון';
$lang['breadcrumb'] = 'ביקורים אחרונים:';
$lang['youarehere'] = 'זהו מיקומך:';
$lang['lastmod'] = 'מועד השינוי האחרון:';
$lang['by'] = 'על ידי';
$lang['deleted'] = 'נמחק';
$lang['created'] = 'נוצר';
@ -244,18 +244,18 @@ $lang['metaedit'] = 'עריכת נתוני העל';
$lang['metasaveerr'] = 'אירע כשל בשמירת נתוני העל';
$lang['metasaveok'] = 'נתוני העל נשמרו';
$lang['btn_img_backto'] = 'חזרה אל %s';
$lang['img_title'] = 'שם';
$lang['img_caption'] = 'כותרת';
$lang['img_date'] = 'תאריך';
$lang['img_fname'] = 'שם הקובץ';
$lang['img_fsize'] = 'גודל';
$lang['img_artist'] = 'צלם';
$lang['img_copyr'] = 'זכויות יוצרים';
$lang['img_format'] = 'מבנה';
$lang['img_camera'] = 'מצלמה';
$lang['img_keywords'] = 'מילות מפתח';
$lang['img_width'] = 'רוחב';
$lang['img_height'] = 'גובה';
$lang['img_title'] = 'שם:';
$lang['img_caption'] = 'כותרת:';
$lang['img_date'] = 'תאריך:';
$lang['img_fname'] = 'שם הקובץ:';
$lang['img_fsize'] = 'גודל:';
$lang['img_artist'] = 'צלם:';
$lang['img_copyr'] = 'זכויות יוצרים:';
$lang['img_format'] = 'מבנה:';
$lang['img_camera'] = 'מצלמה:';
$lang['img_keywords'] = 'מילות מפתח:';
$lang['img_width'] = 'רוחב:';
$lang['img_height'] = 'גובה:';
$lang['btn_mediaManager'] = 'צפה במנהל מדיה';
$lang['subscr_subscribe_success'] = '%s נוסף לרשימת המינויים לדף %s';
$lang['subscr_subscribe_error'] = 'אירעה שגיאה בהוספת %s לרשימת המינויים לדף %s';

View File

@ -1,23 +1,37 @@
/* Hindi initialisation for the jQuery UI date picker plugin. */
/* Written by Michael Dawart. */
jQuery(function($){
$.datepicker.regional['hi'] = {
closeText: 'बंद',
prevText: 'पिछला',
nextText: 'अगला',
currentText: 'आज',
monthNames: ['जनवरी ','फरवरी','मार्च','अप्रेल','मई','जून',
'जूलाई','अगस्त ','सितम्बर','अक्टूबर','नवम्बर','दिसम्बर'],
monthNamesShort: ['जन', 'फर', 'मार्च', 'अप्रेल', 'मई', 'जून',
'जूलाई', 'अग', 'सित', 'अक्ट', 'नव', 'दि'],
dayNames: ['रविवार', 'सोमवार', 'मंगलवार', 'बुधवार', 'गुरुवार', 'शुक्रवार', 'शनिवार'],
dayNamesShort: ['रवि', 'सोम', 'मंगल', 'बुध', 'गुरु', 'शुक्र', 'शनि'],
dayNamesMin: ['रवि', 'सोम', 'मंगल', 'बुध', 'गुरु', 'शुक्र', 'शनि'],
weekHeader: 'हफ्ता',
dateFormat: 'dd/mm/yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['hi']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['hi'] = {
closeText: 'बंद',
prevText: 'पिछला',
nextText: 'अगला',
currentText: 'आज',
monthNames: ['जनवरी ','फरवरी','मार्च','अप्रेल','मई','जून',
'जूलाई','अगस्त ','सितम्बर','अक्टूबर','नवम्बर','दिसम्बर'],
monthNamesShort: ['जन', 'फर', 'मार्च', 'अप्रेल', 'मई', 'जून',
'जूलाई', 'अग', 'सित', 'अक्ट', 'नव', 'दि'],
dayNames: ['रविवार', 'सोमवार', 'मंगलवार', 'बुधवार', 'गुरुवार', 'शुक्रवार', 'शनिवार'],
dayNamesShort: ['रवि', 'सोम', 'मंगल', 'बुध', 'गुरु', 'शुक्र', 'शनि'],
dayNamesMin: ['रवि', 'सोम', 'मंगल', 'बुध', 'गुरु', 'शुक्र', 'शनि'],
weekHeader: 'हफ्ता',
dateFormat: 'dd/mm/yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['hi']);
return datepicker.regional['hi'];
}));

View File

@ -63,11 +63,11 @@ $lang['profna'] = 'यह विकी प्रोफ़ाइ
$lang['profnochange'] = 'कोई परिवर्तन नहीं, कुछ नहीं करना |';
$lang['resendpwdmissing'] = 'छमा करें, आपको सारे रिक्त स्थान भरने पड़ेंगे |';
$lang['resendpwdsuccess'] = 'आपका नवगुप्तशब्द ईमेल द्वारा सम्प्रेषित कर दिया गया है |';
$lang['txt_upload'] = 'अपलोड करने के लिए फ़ाइल चुनें';
$lang['txt_filename'] = 'के रूप में अपलोड करें (वैकल्पिक)';
$lang['txt_upload'] = 'अपलोड करने के लिए फ़ाइल चुनें:';
$lang['txt_filename'] = 'के रूप में अपलोड करें (वैकल्पिक):';
$lang['txt_overwrt'] = 'अधिलेखित उपस्थित फ़ाइल';
$lang['lockedby'] = 'इस समय तक बंद';
$lang['lockexpire'] = 'बंद समाप्त होगा';
$lang['lockedby'] = 'इस समय तक बंद:';
$lang['lockexpire'] = 'बंद समाप्त होगा:';
$lang['js']['hidedetails'] = 'विवरण छिपाएँ';
$lang['nothingfound'] = 'कुच्छ नहीं मिला |';
$lang['uploadexist'] = 'फ़ाइल पहले से उपस्थित है. कुछ भी नहीं किया |';
@ -81,8 +81,8 @@ $lang['yours'] = 'आपका संस्करणः';
$lang['diff'] = 'वर्तमान संशोधन में मतभेद दिखाइये |';
$lang['diff2'] = 'चयनित संशोधन के बीच में मतभेद दिखाइये |';
$lang['line'] = 'रेखा';
$lang['youarehere'] = 'आप यहाँ हैं |';
$lang['lastmod'] = 'अंतिम बार संशोधित';
$lang['youarehere'] = 'आप यहाँ हैं |:';
$lang['lastmod'] = 'अंतिम बार संशोधित:';
$lang['by'] = 'के द्वारा';
$lang['deleted'] = 'हटाया';
$lang['created'] = 'निर्मित';
@ -104,13 +104,13 @@ $lang['qb_hr'] = 'खड़ी रेखा';
$lang['qb_sig'] = 'हस्ताक्षर डालें';
$lang['admin_register'] = 'नया उपयोगकर्ता जोड़ें';
$lang['btn_img_backto'] = 'वापस जाना %s';
$lang['img_title'] = 'शीर्षक';
$lang['img_caption'] = 'सहशीर्षक';
$lang['img_date'] = 'तिथि';
$lang['img_fsize'] = 'आकार';
$lang['img_artist'] = 'फोटोग्राफर';
$lang['img_format'] = 'प्रारूप';
$lang['img_camera'] = 'कैमरा';
$lang['img_title'] = 'शीर्षक:';
$lang['img_caption'] = 'सहशीर्षक:';
$lang['img_date'] = 'तिथि:';
$lang['img_fsize'] = 'आकार:';
$lang['img_artist'] = 'फोटोग्राफर:';
$lang['img_format'] = 'प्रारूप:';
$lang['img_camera'] = 'कैमरा:';
$lang['i_chooselang'] = 'अपनी भाषा चुनें';
$lang['i_installer'] = 'डोकुविकी इंस्टॉलर';
$lang['i_wikiname'] = 'विकी का नाम';

View File

@ -0,0 +1 @@
===== Dodatni dodatci =====

View File

@ -1,3 +1,3 @@
====== Linkovi na stranicu ======
====== Veze na stranicu ======
Slijedi spisak svih dokumenata koji imaju link na trenutni.
Slijedi spisak svih stanica koje imaju vezu na trenutnu stranicu.

4
inc/lang/hr/draft.txt Normal file
View File

@ -0,0 +1,4 @@
====== Nađena neuspjelo uređivanje stranice ======
Vaše zadnje uređivanje ove stranice nije završilo uredno. DokuWiki je automatski snimio kopiju tijekom rada koju sada možete iskoristiti da nastavite uređivanje. Niže možete vidjeti sadržaj koji je snimljen pri vašem zadnjem uređivanju.
Molimo odlučite da li želite //vratiti// ili //obrisati// snimljeni sadržaj pri vašem zadnjem neuspjelom uređivanju, ili pak želite //odustati// od uređivanja.

View File

@ -1 +1 @@
Nakon što ste napravili sve potrebne promjene - odaberite ''Snimi'' za snimanje dokumenta.
Uredite stranicu i pritisnite "Snimi". Pogledajte [[wiki:syntax]] za Wiki sintaksu. Molimo izmijenite samo ako možete unaprijediti sadržaj. Ako trebate testirati ili naučiti kako se nešto radi, molimo koristite za to namijenjene stranice kao što je [[playground:playground|igraonica]].

View File

@ -1 +1,3 @@
====== Indeks ======
====== Mapa stranica ======
Ovo je mapa svih dostupnih stranica poredanih po [[doku>namespaces|imenskom prostoru]].

View File

@ -1,23 +1,37 @@
/* Croatian i18n for the jQuery UI date picker plugin. */
/* Written by Vjekoslav Nesek. */
jQuery(function($){
$.datepicker.regional['hr'] = {
closeText: 'Zatvori',
prevText: '&#x3C;',
nextText: '&#x3E;',
currentText: 'Danas',
monthNames: ['Siječanj','Veljača','Ožujak','Travanj','Svibanj','Lipanj',
'Srpanj','Kolovoz','Rujan','Listopad','Studeni','Prosinac'],
monthNamesShort: ['Sij','Velj','Ožu','Tra','Svi','Lip',
'Srp','Kol','Ruj','Lis','Stu','Pro'],
dayNames: ['Nedjelja','Ponedjeljak','Utorak','Srijeda','Četvrtak','Petak','Subota'],
dayNamesShort: ['Ned','Pon','Uto','Sri','Čet','Pet','Sub'],
dayNamesMin: ['Ne','Po','Ut','Sr','Če','Pe','Su'],
weekHeader: 'Tje',
dateFormat: 'dd.mm.yy.',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['hr']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['hr'] = {
closeText: 'Zatvori',
prevText: '&#x3C;',
nextText: '&#x3E;',
currentText: 'Danas',
monthNames: ['Siječanj','Veljača','Ožujak','Travanj','Svibanj','Lipanj',
'Srpanj','Kolovoz','Rujan','Listopad','Studeni','Prosinac'],
monthNamesShort: ['Sij','Velj','Ožu','Tra','Svi','Lip',
'Srp','Kol','Ruj','Lis','Stu','Pro'],
dayNames: ['Nedjelja','Ponedjeljak','Utorak','Srijeda','Četvrtak','Petak','Subota'],
dayNamesShort: ['Ned','Pon','Uto','Sri','Čet','Pet','Sub'],
dayNamesMin: ['Ne','Po','Ut','Sr','Če','Pe','Su'],
weekHeader: 'Tje',
dateFormat: 'dd.mm.yy.',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['hr']);
return datepicker.regional['hr'];
}));

View File

@ -1,12 +1,13 @@
<?php
/**
* croatian language file
*
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Tomo Krajina <aaa@puzz.info>
* @author Branko Rihtman <theney@gmail.com>
* @author Dražen Odobašić <dodobasic@gmail.com>
* @author Dejan Igrec dejan.igrec@gmail.com
* @author Davor Turkalj <turki.bsc@gmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@ -15,51 +16,58 @@ $lang['doublequoteclosing'] = '”';
$lang['singlequoteopening'] = '';
$lang['singlequoteclosing'] = '';
$lang['apostrophe'] = '\'';
$lang['btn_edit'] = 'Izmijeni dokument';
$lang['btn_source'] = 'Prikaži kod dokumenta';
$lang['btn_edit'] = 'Izmijeni stranicu';
$lang['btn_source'] = 'Prikaži kod stranice';
$lang['btn_show'] = 'Prikaži dokument';
$lang['btn_create'] = 'Novi dokument';
$lang['btn_create'] = 'Stvori ovu stranicu';
$lang['btn_search'] = 'Pretraži';
$lang['btn_save'] = 'Spremi';
$lang['btn_preview'] = 'Prikaži';
$lang['btn_top'] = 'Na vrh';
$lang['btn_newer'] = '<< noviji';
$lang['btn_older'] = 'stariji >>';
$lang['btn_revs'] = 'Stare inačice';
$lang['btn_revs'] = 'Stare promjene';
$lang['btn_recent'] = 'Nedavne izmjene';
$lang['btn_upload'] = 'Postavi';
$lang['btn_upload'] = 'Učitaj';
$lang['btn_cancel'] = 'Odustani';
$lang['btn_index'] = 'Indeks';
$lang['btn_secedit'] = 'Izmjeni';
$lang['btn_index'] = 'Mapa lokacije';
$lang['btn_secedit'] = 'Uredi';
$lang['btn_login'] = 'Prijavi se';
$lang['btn_logout'] = 'Odjavi se';
$lang['btn_admin'] = 'Administriranje';
$lang['btn_update'] = 'Ažuriraj';
$lang['btn_update'] = 'Dopuni';
$lang['btn_delete'] = 'Obriši';
$lang['btn_back'] = 'Povratak';
$lang['btn_back'] = 'Nazad';
$lang['btn_backlink'] = 'Povratni linkovi';
$lang['btn_backtomedia'] = 'Povratak na Mediafile izbornik';
$lang['btn_subscribe'] = 'Pretplati se na promjene dokumenta';
$lang['btn_profile'] = 'Ažuriraj profil';
$lang['btn_reset'] = 'Poništi promjene';
$lang['btn_backtomedia'] = 'Natrag na odabir datoteka';
$lang['btn_subscribe'] = 'Uređivanje pretplata';
$lang['btn_profile'] = 'Dopuni profil';
$lang['btn_reset'] = 'Poništi';
$lang['btn_resendpwd'] = 'Postavi novu lozinku';
$lang['btn_draft'] = 'Uredi nacrt dokumenta';
$lang['btn_recover'] = 'Vrati prijašnji nacrt dokumenta';
$lang['btn_draftdel'] = 'Obriši nacrt dokumenta';
$lang['btn_recover'] = 'Vrati nacrt stranice';
$lang['btn_draftdel'] = 'Obriši nacrt stranice';
$lang['btn_revert'] = 'Vrati';
$lang['btn_register'] = 'Registracija';
$lang['loggedinas'] = 'Prijavljen kao';
$lang['btn_apply'] = 'Primjeni';
$lang['btn_media'] = 'Upravitelj datoteka';
$lang['btn_deleteuser'] = 'Ukloni mog korisnika';
$lang['btn_img_backto'] = 'Povratak na %s';
$lang['btn_mediaManager'] = 'Pogledaj u upravitelju datoteka';
$lang['loggedinas'] = 'Prijavljen kao:';
$lang['user'] = 'Korisničko ime';
$lang['pass'] = 'Lozinka';
$lang['newpass'] = 'Nova lozinka';
$lang['oldpass'] = 'Potvrdi trenutnu lozinku';
$lang['passchk'] = 'Ponoviti';
$lang['passchk'] = 'još jednom';
$lang['remember'] = 'Zapamti me';
$lang['fullname'] = 'Ime i prezime';
$lang['email'] = 'Email';
$lang['profile'] = 'Korisnički profil';
$lang['badlogin'] = 'Ne ispravno korisničko ime ili lozinka.';
$lang['badpassconfirm'] = 'Nažalost, lozinka nije ispravna';
$lang['minoredit'] = 'Manje izmjene';
$lang['draftdate'] = 'Nacrt dokumenta je automatski spremljen u ';
$lang['draftdate'] = 'Nacrt promjena automatski spremljen u';
$lang['nosecedit'] = 'Stranica se u međuvremenu promijenila. Informacija o odjeljku je ostarila pa je učitana kompletna stranica.';
$lang['regmissing'] = 'Morate popuniti sva polja.';
$lang['reguexists'] = 'Korisnik s tim korisničkim imenom već postoji.';
@ -72,25 +80,32 @@ $lang['regpwmail'] = 'Vaša DokuWiki lozinka';
$lang['reghere'] = 'Još uvijek nemate korisnički račun? Registrirajte se.';
$lang['profna'] = 'Ovaj wiki ne dopušta izmjene korisničkog profila.';
$lang['profnochange'] = 'Nema izmjena.';
$lang['profnoempty'] = 'Prazno korisničko ime ili email nisu dopušteni.';
$lang['profnoempty'] = 'Prazno korisničko ime ili e-pošta nisu dopušteni.';
$lang['profchanged'] = 'Korisnički profil je uspješno izmijenjen.';
$lang['profnodelete'] = 'Ovaj wiki ne podržava brisanje korisnika';
$lang['profdeleteuser'] = 'Obriši korisnika';
$lang['profdeleted'] = 'Vaš korisnik je obrisan s ovog wiki-a';
$lang['profconfdelete'] = 'Želim ukloniti mojeg korisnika s ovog wiki-a. <br/> Ova akcija se ne može poništiti.';
$lang['profconfdeletemissing'] = 'Kvačica za potvrdu nije označena';
$lang['pwdforget'] = 'Izgubili ste lozinku? Zatražite novu';
$lang['resendna'] = 'Ovaj wiki ne podržava ponovno slanje lozinke emailom.';
$lang['resendna'] = 'Ovaj wiki ne podržava ponovno slanje lozinke e-poštom.';
$lang['resendpwd'] = 'Postavi novu lozinku za';
$lang['resendpwdmissing'] = 'Ispunite sva polja.';
$lang['resendpwdnouser'] = 'Nije moguće pronaći korisnika.';
$lang['resendpwdbadauth'] = 'Neispravan autorizacijski kod. Provjerite da li ste koristili potpun potvrdni link.';
$lang['resendpwdconfirm'] = 'Potvrdni link je poslan emailom.';
$lang['resendpwdsuccess'] = 'Nova lozinka je poslana emailom.';
$lang['resendpwdconfirm'] = 'Potvrdni link je poslan e-poštom.';
$lang['resendpwdsuccess'] = 'Nova lozinka je poslana e-poštom.';
$lang['license'] = 'Osim na mjestima gdje je naznačeno drugačije, sadržaj ovog wikija je licenciran sljedećom licencom:';
$lang['licenseok'] = 'Pažnja: promjenom ovog dokumenta pristajete licencirati sadržaj sljedećom licencom: ';
$lang['searchmedia'] = 'Traži naziv datoteke:';
$lang['searchmedia_in'] = 'Traži u %s';
$lang['txt_upload'] = 'Odaberite datoteku za postavljanje';
$lang['txt_filename'] = 'Postaviti kao (nije obavezno)';
$lang['txt_upload'] = 'Odaberite datoteku za postavljanje:';
$lang['txt_filename'] = 'Postaviti kao (nije obavezno):';
$lang['txt_overwrt'] = 'Prepiši postojeću datoteku';
$lang['lockedby'] = 'Zaključao';
$lang['lockexpire'] = 'Zaključano do';
$lang['js']['willexpire'] = 'Dokument kojeg mijenjate će biti zaključan još 1 minutu.\n Ukoliko želite i dalje raditi izmjene na dokumentu - kliknite na "Pregled".';
$lang['maxuploadsize'] = 'Moguće je učitati maks. %s po datoteci.';
$lang['lockedby'] = 'Trenutno zaključao:';
$lang['lockexpire'] = 'Zaključano do:';
$lang['js']['willexpire'] = 'Dokument kojeg mijenjate će biti zaključan još 1 minutu.\n Ukoliko želite i dalje raditi izmjene na dokumentu - kliknite na "Pregled".';
$lang['js']['notsavedyet'] = 'Vaše izmjene će se izgubiti.
Želite li nastaviti?';
$lang['js']['searchmedia'] = 'Traži datoteke';
@ -121,18 +136,29 @@ $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']['restore_confirm'] = 'Zaista želite vratiti ovu verziju?';
$lang['js']['media_diff'] = 'Pogledaj razlike:';
$lang['js']['media_diff_both'] = 'Usporedni prikaz';
$lang['js']['media_diff_opacity'] = 'Sjaj kroz';
$lang['js']['media_diff_portions'] = 'Pomakni';
$lang['js']['media_select'] = 'Odaberi datoteke ...';
$lang['js']['media_upload_btn'] = 'Učitavanje';
$lang['js']['media_done_btn'] = 'Gotovo';
$lang['js']['media_drop'] = 'Ovdje spusti datoteke za učitavanje';
$lang['js']['media_cancel'] = 'ukloni';
$lang['js']['media_overwrt'] = 'Prepiši preko postojeće datoteke';
$lang['rssfailed'] = 'Došlo je do greške prilikom preuzimanja feed-a: ';
$lang['nothingfound'] = 'Traženi dokumetni nisu pronađeni.';
$lang['mediaselect'] = 'Mediafile datoteke';
$lang['fileupload'] = 'Mediafile postavljanje';
$lang['uploadsucc'] = 'Postavljanje uspješno';
$lang['uploadfail'] = 'Neuspješno postavljanje. Možda dozvole na poslužitelju nisu ispravne?';
$lang['uploadwrong'] = 'Postavljanje nije dopušteno. Nastavak datoteke je zabranjen!';
$lang['mediaselect'] = 'Datoteke';
$lang['fileupload'] = 'Učitavanje datoteka';
$lang['uploadsucc'] = 'Učitavanje uspješno';
$lang['uploadfail'] = 'Neuspješno učitavanje. Možda dozvole na poslužitelju nisu ispravne?';
$lang['uploadwrong'] = 'Učitavanje nije dopušteno. Nastavak datoteke je zabranjen!';
$lang['uploadexist'] = 'Datoteka već postoji.';
$lang['uploadbadcontent'] = 'Postavljeni sadržaj ne odgovara ekstenziji %s datoteke.';
$lang['uploadspam'] = 'Postavljanje je blokirano spam crnom listom.';
$lang['uploadxss'] = 'Postavljanje je blokirano zbog mogućeg zlonamjernog sadržaja.';
$lang['uploadsize'] = 'Postavljena datoteka je prevelika (max. %s)';
$lang['uploadspam'] = 'Učitavanje je spriječeno od spam crne liste.';
$lang['uploadxss'] = 'Učitavanje je spriječeno zbog mogućeg zlonamjernog sadržaja.';
$lang['uploadsize'] = 'Učitana datoteka je prevelika (max. %s)';
$lang['deletesucc'] = 'Datoteka "%s" je obrisana.';
$lang['deletefail'] = '"%s" se ne može obrisati - provjerite dozvole na poslužitelju.';
$lang['mediainuse'] = 'Datoteka "%s" nije obrisana - još uvijek se koristi.';
@ -140,10 +166,10 @@ $lang['namespaces'] = 'Imenski prostori';
$lang['mediafiles'] = 'Datoteke u';
$lang['accessdenied'] = 'Nemate potrebne dozvole za pregled ove stranice.';
$lang['mediausage'] = 'Koristi sljedeću sintaksu za referenciranje ove datoteke:';
$lang['mediaview'] = 'Pregledaj originalnu datoteku';
$lang['mediaview'] = 'Vidi izvornu datoteku';
$lang['mediaroot'] = 'root';
$lang['mediaupload'] = 'Postavi datoteku u odabrani imenski prostor. Podimenski prostori se stvaraju dodavanjem istih kao prefiks naziva datoteke u "Postavi kao" polju, tako da se odvoje dvotočkama.';
$lang['mediaextchange'] = 'Ekstenzija datoteke promijenjena iz .%s u .%s!';
$lang['mediaextchange'] = 'Nastavak datoteke promijenjen iz .%s u .%s!';
$lang['reference'] = 'Reference za';
$lang['ref_inuse'] = 'Datoteka se ne može obrisati jer se još uvijek koristi u sljedećim dokumentima:';
$lang['ref_hidden'] = 'Neke reference se nalaze na dokumentima koje nemate dozvolu čitati';
@ -152,51 +178,66 @@ $lang['quickhits'] = 'Pronađeno po nazivima dokumenata';
$lang['toc'] = 'Sadržaj';
$lang['current'] = 'trenutno';
$lang['yours'] = 'Vaša inačica';
$lang['diff'] = 'Prikaži razlike u odnosu na trenutnu inačicu';
$lang['diff2'] = 'Pokaži razlike između odabranih inačica';
$lang['difflink'] = 'Poveznica na ovaj prikaz usporedbe';
$lang['diff_type'] = 'Razlike u prikazu:';
$lang['diff'] = 'Prikaži razlike u odnosu na zadnje stanje';
$lang['diff2'] = 'Pokaži razlike između odabranih izmjena';
$lang['difflink'] = 'Poveznica na ovu usporedbu';
$lang['diff_type'] = 'Vidi razlike:';
$lang['diff_inline'] = 'U istoj razini';
$lang['diff_side'] = 'Usporedo';
$lang['diffprevrev'] = 'Starija izmjena';
$lang['diffnextrev'] = 'Novija izmjena';
$lang['difflastrev'] = 'Zadnja izmjena';
$lang['diffbothprevrev'] = 'Starije izmjene na obje strane';
$lang['diffbothnextrev'] = 'Novije izmjene na obje strane';
$lang['line'] = 'Redak';
$lang['breadcrumb'] = 'Putanja';
$lang['youarehere'] = 'Vi ste ovdje';
$lang['lastmod'] = 'Zadnja izmjena';
$lang['breadcrumb'] = 'Putanja:';
$lang['youarehere'] = 'Vi ste ovdje:';
$lang['lastmod'] = 'Zadnja izmjena:';
$lang['by'] = 'od';
$lang['deleted'] = 'obrisano';
$lang['created'] = 'stvoreno';
$lang['restored'] = 'vraćena prijašnja inačica (%s)';
$lang['restored'] = 'vraćeno na prijašnju izmjenu (%s)';
$lang['external_edit'] = 'vanjsko uređivanje';
$lang['summary'] = 'Sažetak izmjena';
$lang['noflash'] = 'Za prikazivanje ovog sadržaja potreban je <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a>';
$lang['download'] = 'Preuzmi isječak';
$lang['tools'] = 'Alati';
$lang['user_tools'] = 'Korisnički alati';
$lang['site_tools'] = 'Site alati';
$lang['page_tools'] = 'Stranični alati';
$lang['skip_to_content'] = 'preskoči na sadržaj';
$lang['sidebar'] = 'Bočna traka';
$lang['mail_newpage'] = 'stranica dodana:';
$lang['mail_changed'] = 'stranica izmjenjena:';
$lang['mail_subscribe_list'] = 'stranice promijenjene u imenskom prostoru:';
$lang['mail_new_user'] = 'novi korisnik:';
$lang['mail_upload'] = 'datoteka postavljena:';
$lang['changes_type'] = 'Vidi promjene od';
$lang['pages_changes'] = 'Stranice';
$lang['media_changes'] = 'Datoteke';
$lang['both_changes'] = 'Zajedno stranice i datoteke';
$lang['qb_bold'] = 'Podebljani tekst';
$lang['qb_italic'] = 'Ukošeni tekst';
$lang['qb_underl'] = 'Podcrtani tekst';
$lang['qb_code'] = 'Kod';
$lang['qb_strike'] = 'Precrtani tekst';
$lang['qb_h1'] = 'Naslov - razina 1';
$lang['qb_h2'] = 'Naslov - razina 2';
$lang['qb_h3'] = 'Naslov - razina 3';
$lang['qb_h4'] = 'Naslov - razina 4';
$lang['qb_h5'] = 'Naslov - razina 5';
$lang['qb_h1'] = 'Naslov 1. razine';
$lang['qb_h2'] = 'Naslov 2. razine';
$lang['qb_h3'] = 'Naslov 3. razine';
$lang['qb_h4'] = 'Naslov 4. razine';
$lang['qb_h5'] = 'Naslov 5. razine';
$lang['qb_h'] = 'Naslov';
$lang['qb_hs'] = 'Odaberite naslov';
$lang['qb_hplus'] = 'Naslov više razine';
$lang['qb_hminus'] = 'Naslov niže razine';
$lang['qb_hequal'] = 'Naslov iste razine';
$lang['qb_link'] = 'Interni link';
$lang['qb_extlink'] = 'Vanjski link';
$lang['qb_link'] = 'Interna poveznica';
$lang['qb_extlink'] = 'Vanjska poveznica';
$lang['qb_hr'] = 'Vodoravna crta';
$lang['qb_ol'] = 'Pobrojana lista';
$lang['qb_ul'] = 'Lista';
$lang['qb_media'] = 'Dodaj slike i ostale datoteke';
$lang['qb_sig'] = 'Potpis';
$lang['qb_ol'] = 'Element brojane liste';
$lang['qb_ul'] = 'Element obične liste';
$lang['qb_media'] = 'Dodaj slike i ostale datoteke (prikaz u novom prozoru)';
$lang['qb_sig'] = 'Ubaci potpis';
$lang['qb_smileys'] = 'Smiješkići';
$lang['qb_chars'] = 'Posebni znakovi';
$lang['upperns'] = 'Skoči u nadređeni imenski prostor';
@ -204,17 +245,18 @@ $lang['admin_register'] = 'Dodaj novog korisnika';
$lang['metaedit'] = 'Uredi metapodatake';
$lang['metasaveerr'] = 'Neuspješno zapisivanje metapodataka';
$lang['metasaveok'] = 'Spremljeni metapdaci';
$lang['btn_img_backto'] = 'Povratak na %s';
$lang['img_title'] = 'Naziv';
$lang['img_caption'] = 'Naslov';
$lang['img_date'] = 'Datum';
$lang['img_fname'] = 'Ime datoteke';
$lang['img_fsize'] = 'Veličina';
$lang['img_artist'] = 'Fotograf';
$lang['img_copyr'] = 'Autorsko pravo';
$lang['img_format'] = 'Format';
$lang['img_camera'] = 'Kamera';
$lang['img_keywords'] = 'Ključne riječi';
$lang['img_title'] = 'Naziv:';
$lang['img_caption'] = 'Naslov:';
$lang['img_date'] = 'Datum:';
$lang['img_fname'] = 'Ime datoteke:';
$lang['img_fsize'] = 'Veličina:';
$lang['img_artist'] = 'Fotograf:';
$lang['img_copyr'] = 'Autorsko pravo:';
$lang['img_format'] = 'Format:';
$lang['img_camera'] = 'Kamera:';
$lang['img_keywords'] = 'Ključne riječi:';
$lang['img_width'] = 'Širina:';
$lang['img_height'] = 'Visina:';
$lang['subscr_subscribe_success'] = 'Dodan %s u listu pretplatnika za %s';
$lang['subscr_subscribe_error'] = 'Greška kod dodavanja %s u listu pretplatnika za %s';
$lang['subscr_subscribe_noaddress'] = 'Ne postoji adresa povezana sa vašim podacima za prijavu, stoga ne možete biti dodani u listu pretplatnika';
@ -227,20 +269,23 @@ $lang['subscr_m_new_header'] = 'Dodaj pretplatu';
$lang['subscr_m_current_header'] = 'Trenutne pretplate';
$lang['subscr_m_unsubscribe'] = 'Odjavi pretplatu';
$lang['subscr_m_subscribe'] = 'Pretplati se';
$lang['subscr_m_receive'] = 'Primaj';
$lang['subscr_style_every'] = 'email za svaku promjenu';
$lang['subscr_style_digest'] = 'email s kratakim prikazom promjena za svaku stranicu (svaka %.2f dana)';
$lang['subscr_style_list'] = 'listu promijenjenih stranica od zadnjeg primljenog email-a (svaka %.2f dana)';
$lang['subscr_m_receive'] = 'Primi';
$lang['subscr_style_every'] = 'e-pošta za svaku promjenu';
$lang['subscr_style_digest'] = 'e-pošta s kratakim prikazom promjena za svaku stranicu (svaka %.2f dana)';
$lang['subscr_style_list'] = 'listu promijenjenih stranica od zadnje primljene e-pošte (svaka %.2f dana)';
$lang['authtempfail'] = 'Autentifikacija korisnika je privremeno nedostupna. Molimo Vas da kontaktirate administratora.';
$lang['authpwdexpire'] = 'Vaša lozinka će isteći za %d dana, trebate ju promijeniti.';
$lang['i_chooselang'] = 'Izaberite vaš jezik';
$lang['i_installer'] = 'DokuWiki instalacija';
$lang['i_wikiname'] = 'Naziv Wikija';
$lang['i_enableacl'] = 'Omogući ACL (preporučeno)';
$lang['i_superuser'] = 'Superkorisnik';
$lang['i_problems'] = 'Instalacija je pronašla probleme koji su naznačeni ispod. Nije moguće nastaviti dok se ti problemi ne riješe.';
$lang['i_modified'] = 'Zbog sigurnosnih razlog, ova skripta ce raditi samo sa novim i nepromijenjenim instalacijama dokuWikija. Preporucujemo da ili re-ekstraktirate fajlove iz downloadovanog paketa ili konsultujete pune a href="http://dokuwiki.org/install">Instrukcije za instalaciju Dokuwikija</a>';
$lang['i_modified'] = 'Zbog sigurnosnih razlog, ova skripta raditi će samo sa novim i neizmijenjenim DokuWiki instalacijama.
Molimo ponovno prekopirajte datoteke iz preuzetoga paketa ili pogledajte detaljno <a href="http://dokuwiki.org/install">Uputstvo za postavljanje DokuWiki-a</a>';
$lang['i_funcna'] = 'PHP funkcija <code>%s</code> nije dostupna. Možda ju je vaš pružatelj hostinga onemogućio iz nekog razloga?';
$lang['i_phpver'] = 'Vaša PHP verzija <code>%s</code> je niža od potrebne <code>%s</code>. Trebate nadograditi vašu PHP instalaciju.';
$lang['i_mbfuncoverload'] = 'mbstring.func_overload mora biti onemogućena u php.ini da bi ste pokrenuli DokuWiki.';
$lang['i_permfail'] = '<code>%s</code> nema dozvolu pisanja od strane DokuWiki. Trebate podesiti dozvole pristupa tom direktoriju.';
$lang['i_confexists'] = '<code>%s</code> već postoji';
$lang['i_writeerr'] = 'Ne može se kreirati <code>%s</code>. Trebate provjeriti dozvole direktorija/datoteke i kreirati dokument ručno.';
@ -252,8 +297,12 @@ $lang['i_policy'] = 'Inicijalna ACL politika';
$lang['i_pol0'] = 'Otvoreni Wiki (čitanje, pisanje, učitavanje za sve)';
$lang['i_pol1'] = 'Javni Wiki (čitanje za sve, pisanje i učitavanje za registrirane korisnike)';
$lang['i_pol2'] = 'Zatvoreni Wiki (čitanje, pisanje, učitavanje samo za registrirane korisnike)';
$lang['i_allowreg'] = 'Dopusti da korisnici sami sebe registriraju';
$lang['i_retry'] = 'Pokušaj ponovo';
$lang['i_license'] = 'Molim odaberite licencu pod kojom želite postavljati vaš sadržaj:';
$lang['i_license_none'] = 'Ne prikazuj nikakve licenčne informacije.';
$lang['i_pop_field'] = 'Molimo, pomozite na da unaprijedimo DokuWiki:';
$lang['i_pop_label'] = 'Jednom na mjesec, pošalji anonimne podatke o korištenju DokuWiki razvojnom timu';
$lang['recent_global'] = 'Trenutno gledate promjene unutar <b>%s</b> imenskog prostora. Također možete <a href="%s">vidjeti zadnje promjene cijelog wiki-a</a>';
$lang['years'] = '%d godina prije';
$lang['months'] = '%d mjeseci prije';
@ -263,3 +312,30 @@ $lang['hours'] = '%d sati prije';
$lang['minutes'] = '%d minuta prije';
$lang['seconds'] = '%d sekundi prije';
$lang['wordblock'] = 'Vaša promjena nije spremljena jer sadrži blokirani tekst (spam).';
$lang['media_uploadtab'] = 'Učitavanje';
$lang['media_searchtab'] = 'Traženje';
$lang['media_file'] = 'Datoteka';
$lang['media_viewtab'] = 'Pogled';
$lang['media_edittab'] = 'Uredi';
$lang['media_historytab'] = 'Povijest';
$lang['media_list_thumbs'] = 'Ikone';
$lang['media_list_rows'] = 'Redovi';
$lang['media_sort_name'] = 'Naziv';
$lang['media_sort_date'] = 'Datum';
$lang['media_namespaces'] = 'Odaberi imenski prostor';
$lang['media_files'] = 'Datoteke u %s';
$lang['media_upload'] = 'Učitaj u %s';
$lang['media_search'] = 'Potraži u %s';
$lang['media_view'] = '%s';
$lang['media_viewold'] = '%s na %s';
$lang['media_edit'] = 'Uredi %s';
$lang['media_history'] = 'Povijest %s';
$lang['media_meta_edited'] = 'meta podaci uređeni';
$lang['media_perm_read'] = 'Nažalost, nemate prava za čitanje datoteka.';
$lang['media_perm_upload'] = 'Nažalost, nemate prava za učitavanje datoteka.';
$lang['media_update'] = 'Učitaj novu verziju';
$lang['media_restore'] = 'Vrati ovu verziju';
$lang['currentns'] = 'Tekući imenički prostor';
$lang['searchresult'] = 'Rezultati pretraživanja';
$lang['plainhtml'] = 'Čisti HTML';
$lang['wikimarkup'] = 'Wiki kod';

13
inc/lang/hr/pwconfirm.txt Normal file
View File

@ -0,0 +1,13 @@
Pozdrav @FULLNAME@!
Netko je zatražio novu lozinku za vašu @TITLE@ prijavu na @DOKUWIKIURL@.
Ako to niste bili Vi, molimo da samo ignorirate ovu poruku.
Da bi ste potvrdili da ste to ipak bili Vi, molimo slijedite link u nastavku:
@CONFIRM@
--
Ova poruka je generirana od strane DokuWiki dostupnog na
@DOKUWIKIURL@

View File

@ -0,0 +1,14 @@
Novi korisnik je registriran. Ovdje su detalji:
Korisničko ime : @NEWUSER@
Puno ime : @NEWNAME@
e-pošta : @NEWEMAIL@
Datum : @DATE@
Preglednik : @BROWSER@
IP-Adresa : @IPADDRESS@
Računalo : @HOSTNAME@
--
Ova poruka je generirana od strane DokuWiki dostupnog na
@DOKUWIKIURL@

3
inc/lang/hr/resetpwd.txt Normal file
View File

@ -0,0 +1,3 @@
====== Postavi novu lozinku ======
Molimo unesite novu lozinku za Vašu korisničku prijavu na ovom wiki-u.

View File

@ -1,3 +1,3 @@
====== Stare verzije ======
Slijedi spisak starih verzija za traženi dokument.
Slijedi spisak starih verzija za traženi dokument. Da bi ste se vratili na neku od njih, odaberite ju, pritisnite Uređivanje i snimite ju.

View File

@ -1 +1,5 @@
====== Rezultati pretraživanja ======
====== Pretraživanja ======
Možete naći rezultat vaše pretrage u nastavku. Ako ne možete naći što tražite, možete urediti ili stvoriti novu stranicu s odgovarajućim alatom.
====== Rezultati ======

View File

@ -1,2 +1,2 @@
**Ovo je stara verzija dokumenta!**
**Ovo je stara izmjena dokumenta!**
----

View File

@ -0,0 +1,19 @@
Pozdrav !
Stranica @PAGE@ u @TITLE@ wiki-u je promijenjena.
Ovdje su promjene:
--------------------------------------------------------
@DIFF@
--------------------------------------------------------
Stara verzija: @OLDPAGE@
Nova verzija: @NEWPAGE@
Da poništite obavijesti o izmjenama prijavite se na wiki @DOKUWIKIURL@ i zatim posjetite
@SUBSCRIBE@
i odjavite se s promjena na stranici i/ili imeničkom prostoru.
--
Ova poruka je generirana od strane DokuWiki dostupnog na
@DOKUWIKIURL@

View File

@ -0,0 +1,3 @@
====== Uređivanje pretplata ======
Ova stranica omogućuje Vam da uredite svoju pretplatu na promjene za tekuću stranicu ili imenički prostor.

View File

@ -0,0 +1,15 @@
Pozdrav !
Stranice u imeničkom prostoru @PAGE@ na @TITLE@ wiki-u su izmijenjene. Ovo su izmijenjene stranice:
--------------------------------------------------------
@DIFF@
--------------------------------------------------------
Da poništite obavijesti o izmjenama prijavite se na wiki @DOKUWIKIURL@ i zatim posjetite
@SUBSCRIBE@
i odjavite se s promjena na stranici i/ili imeničkom prostoru.
--
Ova poruka je generirana od strane DokuWiki dostupnog na
@DOKUWIKIURL@

View File

@ -0,0 +1,22 @@
Pozdrav !
Stranica @PAGE@ na @TITLE@ wiki-u je izmijenjena.
Ovo su promjene:
--------------------------------------------------------
@DIFF@
--------------------------------------------------------
Datum : @DATE@
Korisnik: @USER@
Sažetak izmjena: @SUMMARY@
Stara verzija: @OLDPAGE@
Nova verzija : @NEWPAGE@
Da poništite obavijesti o izmjenama prijavite se na wiki @DOKUWIKIURL@ i zatim posjetite
@SUBSCRIBE@
i odjavite se s promjena na stranici i/ili imeničkom prostoru.
--
Ova poruka je generirana od strane DokuWiki dostupnog na
@DOKUWIKIURL@

View File

@ -0,0 +1,15 @@
Datoteka je učitana na Vaš DokuWiki. Ovdje su detalji:
Datoteka : @MEDIA@
Stara verzija: @OLD@
Datum : @DATE@
Preglednik : @BROWSER@
IP-Adresa : @IPADDRESS@
Računalo : @HOSTNAME@
Veličina : @SIZE@
MIME Tip : @MIME@
Korisnik : @USER@
--
Ova poruka je generirana od strane DokuWiki dostupnog na
@DOKUWIKIURL@

View File

@ -1,23 +1,36 @@
/* Hungarian initialisation for the jQuery UI date picker plugin. */
/* Written by Istvan Karaszi (jquery@spam.raszi.hu). */
jQuery(function($){
$.datepicker.regional['hu'] = {
closeText: 'bezár',
prevText: 'vissza',
nextText: 'előre',
currentText: 'ma',
monthNames: ['Január', 'Február', 'Március', 'Április', 'Május', 'Június',
'Július', 'Augusztus', 'Szeptember', 'Október', 'November', 'December'],
monthNamesShort: ['Jan', 'Feb', 'Már', 'Ápr', 'Máj', 'Jún',
'Júl', 'Aug', 'Szep', 'Okt', 'Nov', 'Dec'],
dayNames: ['Vasárnap', 'Hétfő', 'Kedd', 'Szerda', 'Csütörtök', 'Péntek', 'Szombat'],
dayNamesShort: ['Vas', 'Hét', 'Ked', 'Sze', 'Csü', 'Pén', 'Szo'],
dayNamesMin: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'],
weekHeader: 'Hét',
dateFormat: 'yy.mm.dd.',
firstDay: 1,
isRTL: false,
showMonthAfterYear: true,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['hu']);
});
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define([ "../datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
}(function( datepicker ) {
datepicker.regional['hu'] = {
closeText: 'bezár',
prevText: 'vissza',
nextText: 'előre',
currentText: 'ma',
monthNames: ['Január', 'Február', 'Március', 'Április', 'Május', 'Június',
'Július', 'Augusztus', 'Szeptember', 'Október', 'November', 'December'],
monthNamesShort: ['Jan', 'Feb', 'Már', 'Ápr', 'Máj', 'Jún',
'Júl', 'Aug', 'Szep', 'Okt', 'Nov', 'Dec'],
dayNames: ['Vasárnap', 'Hétfő', 'Kedd', 'Szerda', 'Csütörtök', 'Péntek', 'Szombat'],
dayNamesShort: ['Vas', 'Hét', 'Ked', 'Sze', 'Csü', 'Pén', 'Szo'],
dayNamesMin: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'],
weekHeader: 'Hét',
dateFormat: 'yy.mm.dd.',
firstDay: 1,
isRTL: false,
showMonthAfterYear: true,
yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['hu']);
return datepicker.regional['hu'];
}));

Some files were not shown because too many files have changed in this diff Show More