1
0
mirror of https://github.com/vichan-devel/vichan.git synced 2024-11-23 23:20:57 +01:00

Merge branch 'master' of github.com:vichan-devel/Tinyboard into br-integration

This commit is contained in:
czaks 2014-04-19 00:24:52 +02:00
commit bfc4df8276
106 changed files with 36269 additions and 10914 deletions

63
.gitignore vendored
View File

@ -1,20 +1,43 @@
# static html
*.html
# instance-config
/inc/instance-config.php
# .installed
/.installed
# script file
/main.js
# templates cache
/templates/cache
# other stuff
.DS_Store
thumbs.db
Icon?
Thumbs.db
# static html and json
/*/*.html
/*/*.json
/*/res
/*/src
/*/thumb
/*/config.php
/*.html
# include some files though
!/templates/*.html
!/inc/config.php
# minify
/inc/lib/minify
# instance-config
/inc/instance-config.php
# .installed
/.installed
# script file
/main.js
# templates cache
/templates/cache
# other stuff
.DS_Store
.htaccess
thumbs.db
Icon?
Thumbs.db
*.patch
*.diff
*.rej
*.orig
*~
#vichan custom
favicon.ico
/static/spoiler.png

22
LICENSE.Tinyboard.md Normal file
View File

@ -0,0 +1,22 @@
# License
Copyright (c) 2010-2014 Tinyboard Development Group (tinyboard.org)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
All copyright notices and permission notices (including this file) shall be
included and remain unedited in all copies or substantial portions of the
Software. This explicitly includes but is not limited to the Tinyboard copyright
notices found in the footers of some template files.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -1,5 +1,33 @@
# License
Copyright (c) 2010-2013 Tinyboard Development Group (tinyboard.org)
# License of vichan
Copyright (c) 2012-2014 vichan-devel
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
All copyright notices and permission notices (including this file) shall be
included and remain unedited in all copies or substantial portions of the
Software. This explicitly includes but is not limited to the vichan copyright
notices found in the footers of some template files.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
# License of Tinyboard
This code is licensed under BOTH a vichan license and a Tinyboard license.
You must agree to both (not either) licensing terms in order to use this
software. The original Tinyboard license can be found in a LICENSE.Tinyboard.md
file, it is included below for your convenience:
Copyright (c) 2010-2014 Tinyboard Development Group (tinyboard.org)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -12,7 +40,7 @@ All copyright notices and permission notices (including this file) shall be
included and remain unedited in all copies or substantial portions of the
Software. This explicitly includes but is not limited to the Tinyboard copyright
notices found in the footers of some template files.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@ -20,3 +48,19 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
# Brief
This section is not a law code, it just describes the license in a
human-friendly way.
Both licenses are slight modifications of the MIT/X11 license. This is a
permissive license, you can do anything with code, but you just have to leave
copyright notices untouched. Beside, we give you absolutely no guarantees.
Tinyboard and vichan licenses also clarify, that the copyright notices found
in the template footers are also covered by the copyright notice preservation
clause.
# Exception
It is explicitly allowed for the Tinyboard upstream, to take vichan
changesets under a Tinyboard license.

View File

@ -1,40 +1,36 @@
Tinyboard - A lightweight PHP imageboard.
==========================================
Tinyboard + vichan-devel
------------
Tinyboard branch taking lightweightness somewhat more liberally. Running live at
https://pl.vichan.net/ (Polish) and http://vichan.net/ (International; may be outdated).
It contains many changes from original Tinyboard, mainly in frontend area.
Support and announcements: https://int.vichan.net/devel/
vichan - A lightweight and full featured PHP imageboard.
========================================================
About
------------
Tinyboard is a free light-weight, fast, highly configurable and user-friendly
vichan is a free light-weight, fast, highly configurable and user-friendly
imageboard software package. It is written in PHP and has few dependencies.
vichan is a fork of [Tinyboard](http://tinyboard.org/), a great imageboard package, actively building on it
and adding a lot of features and another improvements.
Support and announcements: https://int.vichan.net/devel/
Requirements
------------
1. PHP >= 5.3
2. MySQL server
2. MySQL/MariaDB server
3. [mbstring](http://www.php.net/manual/en/mbstring.installation.php)
4. [PHP GD](http://www.php.net/manual/en/intro.image.php)
5. [PHP PDO](http://www.php.net/manual/en/intro.pdo.php)
We try to make sure Tinyboard is compatible with all major web servers and
operating systems. Tinyboard does not include an Apache ```.htaccess``` file nor does
We try to make sure vichan is compatible with all major web servers and
operating systems. vichan does not include an Apache ```.htaccess``` file nor does
it need one.
### Recommended
1. MySQL server >= 5.5.3
1. MySQL/MariaDB server >= 5.5.3
2. ImageMagick (command-line ImageMagick or GraphicsMagick preferred).
3. [APC (Alternative PHP Cache)](http://php.net/manual/en/book.apc.php), [XCache](http://xcache.lighttpd.net/) or [Memcached](http://www.php.net/manual/en/intro.memcached.php)
Contributing
------------
You can contribute to Tinyboard by:
You can contribute to vichan by:
* Developing patches/improvements/translations and using GitHub to submit pull requests
* Providing feedback and suggestions
* Writing/editing documentation
@ -46,11 +42,11 @@ Installation
1. Download and extract Tinyboard to your web directory or get the latest
development version with:
git clone git://github.com/savetheinternet/Tinyboard.git
git clone git://github.com/vichan-devel/vichan.git
2. Navigate to ```install.php``` in your web browser and follow the
prompts.
3. Tinyboard should now be installed. Log in to ```mod.php``` with the
3. vichan should now be installed. Log in to ```mod.php``` with the
default username and password combination: **admin / password**.
Please remember to change the administrator account password.
@ -62,22 +58,41 @@ Support
Tinyboard is still beta software -- there are bound to be bugs. If you find a
bug, please report it.
If you need assistance with installing, configuring, or using Tinyboard, you may
If you need assistance with installing, configuring, or using vichan, you may
find support from a variety of sources:
* If you're unsure about how to enable or configure certain features, make
sure you have read the comments in ```inc/config.php```.
* Documentation can be found [here](http://tinyboard.org/docs/).
* Check out an [official vichan board](http://int.vichan.net/devel/).
* You can join vichan's IRC channel for support [irc.6irc.net #vichan-devel](irc://irc.6irc.net/vichan-devel)
Tinyboard support
-----------------
vichan is based on a Tinyboard, so both engines have very much in common. These
links may be helpful for you as well:
* Tinyboard documentation can be found [here](http://tinyboard.org/docs/).
* You can join Tinyboard's IRC channel for support and general queries:
[irc.datnode.net #tinyboard](irc://irc.datnode.net/tinyboard).
* You may find help at [tinyboard.org](http://tinyboard.org/#help).
Tinyboard-Tools:
CLI tools
-----------------
## Directories
* ```tools/``` -- Command-line management scripts for Tinyboard. These should not be publicly executable.
There are a few command line interface tools, based on Tinyboard-Tools. These need
to be launched from a Unix shell account (SSH, or something). They are located in a ```tools/```
directory.
You actually don't need these tools for your imageboard functioning, they are aimed
at the power users. You won't be able to run these from shared hosting accounts
(i.e. all free web servers).
Localisation
------------
Wanting to have vichan in your language? You can contribute your translations at this URL:
https://www.transifex.com/projects/p/tinyboard-vichan-devel/
License
--------
See [LICENSE.md](http://github.com/savetheinternet/Tinyboard/blob/master/LICENSE.md).
See [LICENSE.md](http://github.com/vichan-devel/vichan/blob/master/LICENSE.md).

View File

@ -3,7 +3,7 @@
checkBan();
$text = isset($_POST['text']) ? $_POST['text'] : '';
if(strlen($text)>0 && !preg_match('/a href/', $text)) {
file_put_contents("attentionbar.txt",$text);
file_put_contents("attentionbar.txt",htmlspecialchars($text));
if(strlen($_SERVER['HTTP_REFERER'])>0) { header('Location: ' . $_SERVER['HTTP_REFERER']); }
else { header('Location: /'); }
} else print(file_get_contents("attentionbar.txt"));

View File

@ -23,6 +23,7 @@
*
*/
defined('TINYBOARD') or exit;
/*
* =======================
@ -682,6 +683,7 @@
// Thumbnail to use for the non-image file uploads.
$config['file_icons']['default'] = 'file.png';
$config['file_icons']['zip'] = 'zip.png';
$config['file_icons']['webm'] = 'video.png';
// Example: Custom thumbnail for certain file extension.
// $config['file_icons']['extension'] = 'some_file.png';

View File

@ -228,6 +228,12 @@ function loadConfig() {
require_once 'inc/lib/recaptcha/recaptchalib.php';
if ($config['cache']['enabled'])
require_once 'inc/cache.php';
if (in_array('webm', $config['allowed_ext_files'])) {
require_once 'inc/lib/webm/posthandler.php';
event_handler('post', 'postHandler');
}
event('load-config');
if ($config['debug']) {
@ -1267,7 +1273,9 @@ function make_comment_hex($str) {
if (function_exists('iconv')) {
// remove diacritics and other noise
// FIXME: this removes cyrillic entirely
$str = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $str);
$oldstr = $str;
$str = @iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $str);
if (!$str) $str = $oldstr;
}
$str = strtolower($str);

View File

@ -1,27 +0,0 @@
<html>
<head>
<title>PHP-gettext examples</title>
</head>
<body>
<h1>PHP-gettext</h1>
<h2>Introduction</h2>
<p>PHP-gettext provides a simple gettext replacement that works independently from the system's gettext abilities.
It can read MO files and use them for translating strings.</p>
<p>This version has the ability to cache all strings and translations to speed up the string lookup.
While the cache is enabled by default, it can be switched off with the second parameter in the constructor (e.g. when using very large MO files
that you don't want to keep in memory)</p>
<h2>Examples</h2>
<ul>
<li><a href="pigs_dropin.php">PHP-gettext as a dropin replacement</a></li>
<li><a href="pigs_fallback.php">PHP-gettext as a fallback solution</a></li>
</ul>
<hr />
<p>Copyright (c) 2003-2006 Danilo Segan</p>
<p>Copyright (c) 2005-2006 Steven Armstrong</p>
</body>
</html>

View File

@ -1,30 +0,0 @@
# Sample translation for PHP-gettext 1.0
# Copyright (c) 2003 Danilo Segan <danilo@kvota.net>
#
msgid ""
msgstr ""
"Project-Id-Version: pigs\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2003-10-23 04:50+0200\n"
"PO-Revision-Date: 2003-11-01 23:40+0100\n"
"Last-Translator: Danilo Segan <danilo@kvota.net>\n"
"Language-Team: Serbian (sr) <danilo@kvota.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#"Plural-Forms: nplurals=2; plural=n != 1;\n"
#: pigs.php:19
msgid ""
"This is how the story goes.\n"
"\n"
msgstr ""
"Und so geht die Geschichte.\n"
"\n"
#: pigs.php:21
#, php-format
msgid "%d pig went to the market\n"
msgid_plural "%d pigs went to the market\n"
msgstr[0] "%d Schwein ging zum Markt\n"
msgstr[1] "%d Schweine gingen zum Markt\n"

View File

@ -1,30 +0,0 @@
# Sample translation for PHP-gettext 1.0
# Copyright (c) 2003,2006 Danilo Segan <danilo@kvota.net>
#
msgid ""
msgstr ""
"Project-Id-Version: pigs\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2003-10-23 04:50+0200\n"
"PO-Revision-Date: 2006-02-02 21:06+0100\n"
"Last-Translator: Danilo Segan <danilo@kvota.net>\n"
"Language-Team: Serbian (sr) <danilo@kvota.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
#: pigs.php:19
msgid ""
"This is how the story goes.\n"
"\n"
msgstr "Овако иде прича.\n\n"
#: pigs.php:21
#, php-format
msgid "%d pig went to the market\n"
msgid_plural "%d pigs went to the market\n"
msgstr[0] "%d мало прасе је отишло на пијац\n"
msgstr[1] "%d мала прасета су отишла на пијац\n"
msgstr[2] "%d малих прасића је отишло на пијац\n"

View File

@ -1,89 +0,0 @@
<?php
/*
Copyright (c) 2003,2004,2005,2009 Danilo Segan <danilo@kvota.net>.
Copyright (c) 2005,2006 Steven Armstrong <sa@c-area.ch>
This file is part of PHP-gettext.
PHP-gettext is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
PHP-gettext is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with PHP-gettext; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
error_reporting(E_ALL | E_STRICT);
// define constants
define('PROJECT_DIR', realpath('./'));
define('LOCALE_DIR', PROJECT_DIR .'/locale');
define('DEFAULT_LOCALE', 'en_US');
require_once('../gettext.inc');
$supported_locales = array('en_US', 'sr_CS', 'de_CH');
$encoding = 'UTF-8';
$locale = (isset($_GET['lang']))? $_GET['lang'] : DEFAULT_LOCALE;
// gettext setup
T_setlocale(LC_MESSAGES, $locale);
// Set the text domain as 'messages'
$domain = 'messages';
bindtextdomain($domain, LOCALE_DIR);
// bind_textdomain_codeset is supported only in PHP 4.2.0+
if (function_exists('bind_textdomain_codeset'))
bind_textdomain_codeset($domain, $encoding);
textdomain($domain);
header("Content-type: text/html; charset=$encoding");
?>
<html>
<head>
<title>PHP-gettext dropin example</title>
</head>
<body>
<h1>PHP-gettext as a dropin replacement</h1>
<p>Example showing how to use PHP-gettext as a dropin replacement for the native gettext library.</p>
<?php
print "<p>";
foreach($supported_locales as $l) {
print "[<a href=\"?lang=$l\">$l</a>] ";
}
print "</p>\n";
if (!locale_emulation()) {
print "<p>locale '$locale' is supported by your system, using native gettext implementation.</p>\n";
}
else {
print "<p>locale '$locale' is _not_ supported on your system, using the default locale '". DEFAULT_LOCALE ."'.</p>\n";
}
?>
<hr />
<?php
// using PHP-gettext
print "<pre>";
print _("This is how the story goes.\n\n");
for ($number=6; $number>=0; $number--) {
print sprintf(T_ngettext("%d pig went to the market\n",
"%d pigs went to the market\n", $number),
$number );
}
print "</pre>\n";
?>
<hr />
<p>&laquo; <a href="./">back</a></p>
</body>
</html>

View File

@ -1,88 +0,0 @@
<?php
/*
Copyright (c) 2003,2004,2005,2009 Danilo Segan <danilo@kvota.net>.
Copyright (c) 2005,2006 Steven Armstrong <sa@c-area.ch>
This file is part of PHP-gettext.
PHP-gettext is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
PHP-gettext is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with PHP-gettext; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
error_reporting(E_ALL | E_STRICT);
// define constants
define('PROJECT_DIR', realpath('./'));
define('LOCALE_DIR', PROJECT_DIR .'/locale');
define('DEFAULT_LOCALE', 'en_US');
require_once('../gettext.inc');
$supported_locales = array('en_US', 'sr_CS', 'de_CH');
$encoding = 'UTF-8';
$locale = (isset($_GET['lang']))? $_GET['lang'] : DEFAULT_LOCALE;
// gettext setup
T_setlocale(LC_MESSAGES, $locale);
// Set the text domain as 'messages'
$domain = 'messages';
T_bindtextdomain($domain, LOCALE_DIR);
T_bind_textdomain_codeset($domain, $encoding);
T_textdomain($domain);
header("Content-type: text/html; charset=$encoding");
?>
<html>
<head>
<title>PHP-gettext fallback example</title>
</head>
<body>
<h1>PHP-gettext as a fallback solution</h1>
<p>Example showing how to use PHP-gettext as a fallback solution if the native gettext library is not available or the system does not support the requested locale.</p>
<?php
print "<p>";
foreach($supported_locales as $l) {
print "[<a href=\"?lang=$l\">$l</a>] ";
}
print "</p>\n";
if (!locale_emulation()) {
print "<p>locale '$locale' is supported by your system, using native gettext implementation.</p>\n";
}
else {
print "<p>locale '$locale' is <strong>not</strong> supported on your system, using custom gettext implementation.</p>\n";
}
?>
<hr />
<?php
// using PHP-gettext
print "<pre>";
print T_("This is how the story goes.\n\n");
for ($number=6; $number>=0; $number--) {
print sprintf( T_ngettext("%d pig went to the market\n",
"%d pigs went to the market\n", $number),
$number );
}
print "</pre>\n";
?>
<hr />
<p>&laquo; <a href="./">back</a></p>
</body>
</html>

View File

@ -1,14 +0,0 @@
#!/bin/sh
TEMPLATE=pigs.pot
xgettext -kT_ngettext:1,2 -kT_ -L PHP -o $TEMPLATE pigs_dropin.php
if [ "x$1" = "x-p" ]; then
msgfmt --statistics $TEMPLATE
else
if [ -f $1.po ]; then
msgmerge -o .tmp$1.po $1.po $TEMPLATE
mv .tmp$1.po $1.po
msgfmt --statistics $1.po
else
echo "Usage: $0 [-p|<basename>]"
fi
fi

View File

@ -1,75 +0,0 @@
<?php
require_once('PHPUnit/Framework.php');
require_once('gettext.inc');
class LocaleTest extends PHPUnit_Framework_TestCase
{
public function test_setlocale()
{
putenv("LC_ALL=");
// _setlocale defaults to a locale name from environment variable LANG.
putenv("LANG=sr_RS");
$this->assertEquals('sr_RS', _setlocale(LC_MESSAGES, 0));
}
public function test_setlocale_system()
{
putenv("LC_ALL=");
// For an existing locale, it never needs emulation.
putenv("LANG=C");
_setlocale(LC_MESSAGES, "");
$this->assertEquals(0, locale_emulation());
}
public function test_setlocale_emulation()
{
putenv("LC_ALL=");
// If we set it to a non-existent locale, it still works, but uses
// emulation.
_setlocale(LC_MESSAGES, "xxx_XXX");
$this->assertEquals('xxx_XXX', _setlocale(LC_MESSAGES, 0));
$this->assertEquals(1, locale_emulation());
}
public function test_get_list_of_locales()
{
// For a locale containing country code, we prefer
// full locale name, but if that's not found, fall back
// to the language only locale name.
$this->assertEquals(array("sr_RS", "sr"),
get_list_of_locales("sr_RS"));
// If language code is used, it's the only thing returned.
$this->assertEquals(array("sr"),
get_list_of_locales("sr"));
// There is support for language and charset only.
$this->assertEquals(array("sr.UTF-8", "sr"),
get_list_of_locales("sr.UTF-8"));
// It can also split out character set from the full locale name.
$this->assertEquals(array("sr_RS.UTF-8", "sr_RS", "sr"),
get_list_of_locales("sr_RS.UTF-8"));
// There is support for @modifier in locale names as well.
$this->assertEquals(array("sr_RS.UTF-8@latin", "sr_RS@latin", "sr@latin",
"sr_RS.UTF-8", "sr_RS", "sr"),
get_list_of_locales("sr_RS.UTF-8@latin"));
// We can pass in only language and modifier.
$this->assertEquals(array("sr@latin", "sr"),
get_list_of_locales("sr@latin"));
// If locale name is not following the regular POSIX pattern,
// it's used verbatim.
$this->assertEquals(array("something"),
get_list_of_locales("something"));
// Passing in an empty string returns an empty array.
$this->assertEquals(array(),
get_list_of_locales(""));
}
}
?>

View File

@ -1,60 +0,0 @@
<?php
require_once('PHPUnit/Framework.php');
//require_once('gettext.php');
class ParsingTest extends PHPUnit_Framework_TestCase
{
public function test_extract_plural_forms_header_from_po_header()
{
$parser = new gettext_reader(NULL);
// It defaults to a "Western-style" plural header.
$this->assertEquals(
'nplurals=2; plural=n == 1 ? 0 : 1;',
$parser->extract_plural_forms_header_from_po_header(""));
// Extracting it from the middle of the header works.
$this->assertEquals(
'nplurals=1; plural=0;',
$parser->extract_plural_forms_header_from_po_header(
"Content-type: text/html; charset=UTF-8\n"
."Plural-Forms: nplurals=1; plural=0;\n"
."Last-Translator: nobody\n"
));
// It's also case-insensitive.
$this->assertEquals(
'nplurals=1; plural=0;',
$parser->extract_plural_forms_header_from_po_header(
"PLURAL-forms: nplurals=1; plural=0;\n"
));
// It falls back to default if it's not on a separate line.
$this->assertEquals(
'nplurals=2; plural=n == 1 ? 0 : 1;',
$parser->extract_plural_forms_header_from_po_header(
"Content-type: text/html; charset=UTF-8" // note the missing \n here
."Plural-Forms: nplurals=1; plural=0;\n"
."Last-Translator: nobody\n"
));
}
/**
* @dataProvider data_provider_test_npgettext
*/
public function test_npgettext($number, $expected) {
$parser = new gettext_reader(NULL);
$result = $parser->npgettext("context",
"%d pig went to the market\n",
"%d pigs went to the market\n",
$number);
$this->assertSame($expected, $result);
}
public static function data_provider_test_npgettext() {
return array(
array(1, "%d pig went to the market\n"),
array(2, "%d pigs went to the market\n"),
);
}
}
?>

26
inc/lib/webm/README.md Normal file
View File

@ -0,0 +1,26 @@
This directory contains files being the integration of containerchan with vichan-devel imageboards.
Containerchan allows posting of webm files, like they were the regular images.
An original board using this code can be found at:
http://containerchan.org/tb/demo/
The original repo containing the containerchan (possibly with no Tinyboard integration) can be found here:
https://github.com/ccd0/containerchan
Be aware that this is beta software. Please report any bugs you find.
Installation
------------
Add these lines to inc/instance-config.php:
$config['allowed_ext_files'][] = 'webm';
$config['additional_javascript'][] = 'js/webm-settings.js';
$config['additional_javascript'][] = 'js/expand-video.js';
License
-------
See [LICENSE.md](https://github.com/ccd0/containerchan/blob/master/LICENSE.md).

View File

@ -0,0 +1,224 @@
a45dfa3 container EBML root
286 uint EBMLVersion a45dfa3
2f7 uint EBMLReadVersion a45dfa3
2f2 uint EBMLMaxIDLength a45dfa3
2f3 uint EBMLMaxSizeLength a45dfa3
282 string DocType a45dfa3
287 uint DocTypeVersion a45dfa3
285 uint DocTypeReadVersion a45dfa3
6c binary Void *
3f binary CRC-32 *
b538667 container SignatureSlot *
3e8a uint SignatureAlgo b538667
3e9a uint SignatureHash b538667
3ea5 binary SignaturePublicKey b538667
3eb5 binary Signature b538667
3e5b container SignatureElements b538667
3e7b container SignatureElementList 3e5b
2532 binary SignedElement 3e7b
8538067 container Segment root
14d9b74 container SeekHead 8538067
dbb container Seek 14d9b74
13ab binary SeekID dbb
13ac uint SeekPosition dbb
549a966 container Info 8538067
33a4 binary SegmentUID 549a966
3384 string SegmentFilename 549a966
1cb923 binary PrevUID 549a966
1c83ab string PrevFilename 549a966
1eb923 binary NextUID 549a966
1e83bb string NextFilename 549a966
444 binary SegmentFamily 549a966
2924 container ChapterTranslate 549a966
29fc uint ChapterTranslateEditionUID 2924
29bf uint ChapterTranslateCodec 2924
29a5 binary ChapterTranslateID 2924
ad7b1 uint TimecodeScale 549a966
489 float Duration 549a966
461 date DateUTC 549a966
3ba9 string Title 549a966
d80 string MuxingApp 549a966
1741 string WritingApp 549a966
f43b675 container Cluster 8538067
67 uint Timecode f43b675
1854 container SilentTracks f43b675
18d7 uint SilentTrackNumber 1854
27 uint Position f43b675
2b uint PrevSize f43b675
23 binary SimpleBlock f43b675
20 container BlockGroup f43b675
21 binary Block 20
22 binary BlockVirtual 20
35a1 container BlockAdditions 20
26 container BlockMore 35a1
6e uint BlockAddID 26
25 binary BlockAdditional 26
1b uint BlockDuration 20
7a uint ReferencePriority 20
7b int ReferenceBlock 20
7d int ReferenceVirtual 20
24 binary CodecState 20
35a2 int DiscardPadding 20
e container Slices 20
68 container TimeSlice e
4c uint LaceNumber 68
4d uint FrameNumber 68
4b uint BlockAdditionID 68
4e uint Delay 68
4f uint SliceDuration 68
48 container ReferenceFrame 20
49 uint ReferenceOffset 48
4a uint ReferenceTimeCode 48
2f binary EncryptedBlock f43b675
654ae6b container Tracks 8538067
2e container TrackEntry 654ae6b
57 uint TrackNumber 2e
33c5 uint TrackUID 2e
3 uint TrackType 2e
39 uint FlagEnabled 2e
8 uint FlagDefault 2e
15aa uint FlagForced 2e
1c uint FlagLacing 2e
2de7 uint MinCache 2e
2df8 uint MaxCache 2e
3e383 uint DefaultDuration 2e
34e7a uint DefaultDecodedFieldDuration 2e
3314f float TrackTimecodeScale 2e
137f int TrackOffset 2e
15ee uint MaxBlockAdditionID 2e
136e string Name 2e
2b59c string Language 2e
6 string CodecID 2e
23a2 binary CodecPrivate 2e
58688 string CodecName 2e
3446 uint AttachmentLink 2e
1a9697 string CodecSettings 2e
1b4040 string CodecInfoURL 2e
6b240 string CodecDownloadURL 2e
2a uint CodecDecodeAll 2e
2fab uint TrackOverlay 2e
16aa uint CodecDelay 2e
16bb uint SeekPreRoll 2e
2624 container TrackTranslate 2e
26fc uint TrackTranslateEditionUID 2624
26bf uint TrackTranslateCodec 2624
26a5 binary TrackTranslateTrackID 2624
60 container Video 2e
1a uint FlagInterlaced 60
13b8 uint StereoMode 60
13c0 uint AlphaMode 60
13b9 uint OldStereoMode 60
30 uint PixelWidth 60
3a uint PixelHeight 60
14aa uint PixelCropBottom 60
14bb uint PixelCropTop 60
14cc uint PixelCropLeft 60
14dd uint PixelCropRight 60
14b0 uint DisplayWidth 60
14ba uint DisplayHeight 60
14b2 uint DisplayUnit 60
14b3 uint AspectRatioType 60
eb524 binary ColourSpace 60
fb523 float GammaValue 60
383e3 float FrameRate 60
61 container Audio 2e
35 float SamplingFrequency 61
38b5 float OutputSamplingFrequency 61
1f uint Channels 61
3d7b binary ChannelPositions 61
2264 uint BitDepth 61
62 container TrackOperation 2e
63 container TrackCombinePlanes 62
64 container TrackPlane 63
65 uint TrackPlaneUID 64
66 uint TrackPlaneType 64
69 container TrackJoinBlocks 62
6d uint TrackJoinUID 69
40 uint TrickTrackUID 2e
41 binary TrickTrackSegmentUID 2e
46 uint TrickTrackFlag 2e
47 uint TrickMasterTrackUID 2e
44 binary TrickMasterTrackSegmentUID 2e
2d80 container ContentEncodings 2e
2240 container ContentEncoding 2d80
1031 uint ContentEncodingOrder 2240
1032 uint ContentEncodingScope 2240
1033 uint ContentEncodingType 2240
1034 container ContentCompression 2240
254 uint ContentCompAlgo 1034
255 binary ContentCompSettings 1034
1035 container ContentEncryption 2240
7e1 uint ContentEncAlgo 1035
7e2 binary ContentEncKeyID 1035
7e3 binary ContentSignature 1035
7e4 binary ContentSigKeyID 1035
7e5 uint ContentSigAlgo 1035
7e6 uint ContentSigHashAlgo 1035
c53bb6b container Cues 8538067
3b container CuePoint c53bb6b
33 uint CueTime 3b
37 container CueTrackPositions 3b
77 uint CueTrack 37
71 uint CueClusterPosition 37
70 uint CueRelativePosition 37
32 uint CueDuration 37
1378 uint CueBlockNumber 37
6a uint CueCodecState 37
5b container CueReference 37
16 uint CueRefTime 5b
17 uint CueRefCluster 5b
135f uint CueRefNumber 5b
6b uint CueRefCodecState 5b
941a469 container Attachments 8538067
21a7 container AttachedFile 941a469
67e string FileDescription 21a7
66e string FileName 21a7
660 string FileMimeType 21a7
65c binary FileData 21a7
6ae uint FileUID 21a7
675 binary FileReferral 21a7
661 uint FileUsedStartTime 21a7
662 uint FileUsedEndTime 21a7
43a770 container Chapters 8538067
5b9 container EditionEntry 43a770
5bc uint EditionUID 5b9
5bd uint EditionFlagHidden 5b9
5db uint EditionFlagDefault 5b9
5dd uint EditionFlagOrdered 5b9
36 container ChapterAtom 5b9 36
33c4 uint ChapterUID 36
1654 string ChapterStringUID 36
11 uint ChapterTimeStart 36
12 uint ChapterTimeEnd 36
18 uint ChapterFlagHidden 36
598 uint ChapterFlagEnabled 36
2e67 binary ChapterSegmentUID 36
2ebc uint ChapterSegmentEditionUID 36
23c3 uint ChapterPhysicalEquiv 36
f container ChapterTrack 36
9 uint ChapterTrackNumber f
0 container ChapterDisplay 36
5 string ChapString 0
37c string ChapLanguage 0
37e string ChapCountry 0
2944 container ChapProcess 36
2955 uint ChapProcessCodecID 2944
50d binary ChapProcessPrivate 2944
2911 container ChapProcessCommand 2944
2922 uint ChapProcessTime 2911
2933 binary ChapProcessData 2911
254c367 container Tags 8538067
3373 container Tag 254c367
23c0 container Targets 3373
28ca uint TargetTypeValue 23c0
23ca string TargetType 23c0
23c5 uint TagTrackUID 23c0
23c9 uint TagEditionUID 23c0
23c4 uint TagChapterUID 23c0
23c6 uint TagAttachmentUID 23c0
27c8 container SimpleTag 3373 27c8
5a3 string TagName 27c8
47a string TagLanguage 27c8
484 uint TagDefault 27c8
487 string TagString 27c8
485 binary TagBinary 27c8

524
inc/lib/webm/matroska.php Normal file
View File

@ -0,0 +1,524 @@
<?php
/* This file is dedicated to the public domain; you may do as you wish with it. */
// Information needed to parse an element type
class EBMLElementType {
public $name;
public $datatype;
public $validParents;
}
// Information needed to parse all possible element types in a document
class EBMLElementTypeList {
private $_els;
private $_ids;
public function __construct($filename) {
$lines = file($filename);
foreach($lines as $line) {
$fields = explode(' ', trim($line));
$t = new EBMLElementType;
$id = hexdec($fields[0]);
$t->datatype = $fields[1];
$t->name = $fields[2];
$t->validParents = array();
for ($i = 0; $i + 3 < count($fields); $i++) {
if ($fields[$i+3] == '*' || $fields[$i+3] == 'root') {
$t->validParents[$i] = $fields[$i+3];
} else {
$t->validParents[$i] = hexdec($fields[$i+3]);
}
}
$this->_els[$id] = $t;
$this->_ids[strtoupper($t->name)] = $id;
}
}
public function exists($id) {
return isset($this->_els[$id]);
}
public function name($id) {
if (!isset($this->_els[$id])) return NULL;
return $this->_els[$id]->name;
}
public function id($name) {
$name = strtoupper($name);
if (!isset($this->_ids[$name])) return NULL;
return $this->_ids[$name];
}
public function datatype($id) {
if ($id == 'root') return 'container';
if (!isset($this->_els[$id])) return 'binary';
return $this->_els[$id]->datatype;
}
public function validChild($id1, $id2) {
if (!isset($this->_els[$id2])) return TRUE;
$parents = $this->_els[$id2]->validParents;
return in_array('*', $parents) || in_array($id1, $parents);
}
}
// Matroska element types
global $EBML_ELEMENTS;
$EBML_ELEMENTS = new EBMLElementTypeList(dirname(__FILE__) . '/matroska-elements.txt');
// Decode big-endian integer
function ebmlDecodeInt($data, $signed=FALSE, $carryIn=0) {
$n = $carryIn;
if (strlen($data) > 8) throw new Exception('not supported: integer too long');
for ($i = 0; $i < strlen($data); $i++) {
if ($n > (PHP_INT_MAX >> 8) || $n < ((-PHP_INT_MAX-1) >> 8)) {
$n = floatval($n);
}
$n = $n * 0x100 + ord($data[$i]);
if ($i == 0 && $signed && ($n & 0x80) != 0) {
$n -= 0x100;
}
}
return $n;
}
// Decode big-endian IEEE float
function ebmlDecodeFloat($data) {
switch (strlen($data)) {
case 0:
return 0;
case 4:
switch(pack('f', 1e9)) {
case '(knN':
$arr = unpack('f', strrev($data));
return $arr[1];
case 'Nnk(':
$arr = unpack('f', $data);
return $arr[1];
default:
error_log('cannot decode floats');
return NULL;
}
case 8:
switch(pack('d', 1e9)) {
case "\x00\x00\x00\x00\x65\xcd\xcd\x41":
$arr = unpack('d', strrev($data));
return $arr[1];
case "\x41\xcd\xcd\x65\x00\x00\x00\x00":
$arr = unpack('d', $data);
return $arr[1];
default:
error_log('cannot decode floats');
return NULL;
}
default:
error_log('unsupported float length');
return NULL;
}
}
// Decode big-endian signed offset from Jan 01, 2000 in nanoseconds
// Convert to offset from Jan 01, 1970 in seconds
function ebmlDecodeDate($data) {
return ebmlDecodeInt($data, TRUE) * 1e-9 + 946684800;
}
// Decode data of specified datatype
function ebmlDecode($data, $datatype) {
switch ($datatype) {
case 'int': return ebmlDecodeInt($data, TRUE);
case 'uint': return ebmlDecodeInt($data, FALSE);
case 'float': return ebmlDecodeFloat($data);
case 'string': return chop($data, "\0");
case 'date': return ebmlDecodeDate($data);
case 'binary': return $data;
default: throw new Exception('unknown datatype');
}
}
// Methods for reading data from section of EBML file
class EBMLReader {
private $_fileHandle;
private $_offset;
private $_size;
private $_position;
public function __construct($fileHandle, $offset=0, $size=NULL) {
$this->_fileHandle = $fileHandle;
$this->_offset = $offset;
$this->_size = $size;
$this->_position = 0;
}
// Tell position within data section
public function position() {
return $this->_position;
}
// Set position within data section
public function setPosition($position) {
$this->_position = $position;
}
// Total size of data section (NULL if unknown)
public function size() {
return $this->_size;
}
// Set end of data section
public function setSize($size) {
if ($this->_size === NULL) {
$this->_size = $size;
} else {
throw new Exception('size already set');
}
}
// Determine whether we are at end of data
public function endOfData() {
if ($this->_size === NULL) {
fseek($this->_fileHandle, $this->_offset + $this->_position);
fread($this->_fileHandle, 1);
if (feof($this->_fileHandle)) {
$this->_size = $this->_position;
return TRUE;
} else {
return FALSE;
}
} else {
return $this->_position >= $this->_size;
}
}
// Create EBMLReader containing $size bytes and advance
public function nextSlice($size) {
$slice = new EBMLReader($this->_fileHandle, $this->_offset + $this->_position, $size);
if ($size !== NULL) {
$this->_position += $size;
if ($this->_size !== NULL && $this->_position > $this->_size) {
throw new Exception('unexpected end of data');
}
}
return $slice;
}
// Read entire region
public function readAll() {
if ($this->_size == 0) return '';
if ($this->_size === NULL) throw new Exception('unknown length');
fseek($this->_fileHandle, $this->_offset);
$data = fread($this->_fileHandle, $this->_size);
if ($data === FALSE || strlen($data) != $this->_size) {
throw new Exception('error reading from file');
}
return $data;
}
// Read $size bytes
public function read($size) {
return $this->nextSlice($size)->readAll();
}
// Read variable-length integer
public function readVarInt($signed=FALSE) {
// Read size and remove flag
$n = ord($this->read(1));
$size = 0;
if ($n == 0) {
throw new Exception('not supported: variable-length integer too long');
}
$flag = 0x80;
while (($n & $flag) == 0) {
$flag = $flag >> 1;
$size++;
}
$n -= $flag;
// Read remaining data
$rawInt = $this->read($size);
// Check for all ones
if ($n == $flag - 1 && $rawInt == str_repeat("\xFF", $size)) {
return NULL;
}
// Range shift for signed integers
if ($signed) {
if ($flag == 0x01) {
$n = ord($rawInt[0]) - 0x80;
$rawInt = $rawInt.substr(1);
} else {
$n -= ($flag >> 1);
}
}
// Convert to integer
$n = ebmlDecodeInt($rawInt, FALSE, $n);
// Range shift for signed integers
if ($signed) {
if ($n == PHP_INT_MAX) {
$n = floatval($n);
}
$n++;
}
return $n;
}
}
// EBML element
class EBMLElement {
private $_id;
private $_name;
private $_datatype;
private $_content;
private $_headSize;
public function __construct($id, $content, $headSize) {
global $EBML_ELEMENTS;
$this->_id = $id;
$this->_name = $EBML_ELEMENTS->name($this->_id);
$this->_datatype = $EBML_ELEMENTS->datatype($this->_id);
$this->_content = $content;
$this->_headSize = $headSize;
}
public function id() {return $this->_id;}
public function name() {return $this->_name;}
public function datatype() {return $this->_datatype;}
public function content() {return $this->_content;}
public function headSize() {return $this->_headSize;}
// Total size of element (including ID and datasize)
public function size() {
return $this->_headSize + $this->_content->size();
}
// Read and interpret content
public function value() {
if ($this->_datatype == 'binary') {
return $this->_content;
} else {
return ebmlDecode($this->_content->readAll(), $this->_datatype);
}
}
}
// Iterate over EBML elements in data
class EBMLElementList extends EBMLElement implements Iterator {
private $_cache;
private $_position;
private static $MAX_ELEMENTS = 10000;
public function __construct($id, $content, $headSize) {
parent::__construct($id, $content, $headSize);
$this->_cache = array();
$this->_position = 0;
}
public function rewind() {
$this->_position = 0;
}
public function current() {
if ($this->valid()) {
return $this->_cache[$this->_position];
} else {
return NULL;
}
}
public function key() {
return $this->_position;
}
public function next() {
$this->_position += $this->current()->size();
if ($this->content()->size() !== NULL && $this->_position > $this->content()->size()) {
throw new Exception('unexpected end of data');
}
}
public function valid() {
global $EBML_ELEMENTS;
if (isset($this->_cache[$this->_position])) return TRUE;
$this->content()->setPosition($this->_position);
if ($this->content()->endOfData()) return FALSE;
$id = $this->content()->readVarInt();
if ($id === NULL) throw new Exception('invalid ID');
if ($this->content()->size() === NULL && !$EBML_ELEMENTS->validChild($this->id(), $id)) {
$this->content()->setSize($this->_position);
return FALSE;
}
$size = $this->content()->readVarInt();
$headSize = $this->content()->position() - $this->_position;
$content = $this->content()->nextSlice($size);
if ($EBML_ELEMENTS->datatype($id) == 'container') {
$element = new EBMLElementList($id, $content, $headSize);
} else {
if ($size === NULL) {
throw new Exception('non-container element of unknown size');
}
$element = new EBMLElement($id, $content, $headSize);
}
$this->_cache[$this->_position] = $element;
return TRUE;
}
// Total size of element (including ID and size)
public function size() {
if ($this->content()->size() === NULL) {
$iElement = 0;
foreach ($this as $element) { // iterate over elements to find end
$iElement++;
if ($iElement > self::$MAX_ELEMENTS) throw new Exception('not supported: too many elements');
}
}
return $this->headSize() + $this->content()->size();
}
// Read and interpret content
public function value() {
return $this;
}
// Get element value by name
public function get($name, $defaultValue=NULL) {
$iElement = 0;
foreach ($this as $element) {
$iElement++;
if ($iElement > self::$MAX_ELEMENTS) throw new Exception('not supported: too many elements');
if (strtoupper($element->name()) == strtoupper($name)) {
return $element->value();
}
}
return $defaultValue;
}
}
// Parse block
class MatroskaBlock {
const LACING_NONE = 0;
const LACING_XIPH = 1;
const LACING_EBML = 3;
const LACING_FIXED = 2;
public $trackNumber;
public $timecode;
public $keyframe;
public $invisible;
public $lacing;
public $discardable;
public $frames;
public function __construct($reader) {
# Header
$this->trackNumber = $reader->readVarInt();
$this->timecode = ebmlDecodeInt($reader->read(2), TRUE);
$flags = ord($reader->read(1));
if (($flags & 0x70) != 0) {
throw new Exception('reserved flags set');
}
$this->keyframe = (($flags & 0x80) != 0);
$this->invisible = (($flags & 0x08) != 0);
$this->lacing = ($flags >> 1) & 0x03;
$this->discardable = (($flags & 0x01) != 0);
# Lacing sizes
if ($this->lacing == self::LACING_NONE) {
$nsizes = 0;
} else {
$nsizes = ord($reader->read(1));
}
$sizes = array();
switch ($this->lacing) {
case self::LACING_XIPH:
for ($i = 0; $i < $nsizes; $i++) {
$size = 0;
$x = 255;
while ($x == 255) {
$x = ord($reader->read(1));
$size += $x;
if ($size > 65536) throw new Exception('not supported: laced frame too long');
}
$sizes[$i] = $size;
}
break;
case self::LACING_EBML:
$size = 0;
for ($i = 0; $i < $nsizes; $i++) {
$dsize = $reader->readVarInt($i != 0);
if ($dsize === NULL || $size + $dsize < 0) {
throw new Exception('invalid frame size');
}
$size += $dsize;
$sizes[$i] = $size;
}
break;
case self::LACING_FIXED:
$lenRemaining = $reader->size() - $reader->position();
if ($lenRemaining % ($nsizes + 1) != 0) {
throw new Exception('data size not divisible by frame count');
}
$size = (int) ($lenRemaining / ($nsizes + 1));
for ($i = 0; $i < $nsizes; $i++) {
$sizes[$i] = $size;
}
break;
}
# Frames
$this->frames = array();
for ($i = 0; $i < $nsizes; $i++) {
$this->frames[$i] = $reader->nextSlice($sizes[$i]);
}
$this->frames[$nsizes] = $reader->nextSlice($reader->size() - $reader->position());
}
}
// Create element list from $fileHandle
function readMatroska($fileHandle) {
$reader = new EBMLReader($fileHandle);
if ($reader->read(4) != "\x1a\x45\xdf\xa3") {
throw new Exception('not an EBML file');
}
$root = new EBMLElementList('root', $reader, 0);
$header = $root->get('EBML');
$ebmlVersion = $header->get('EBMLReadVersion', 1);
$docType = $header->get('DocType');
$docTypeVersion = $header->get('DocTypeReadVersion', 1);
if ($ebmlVersion != 1) {
throw new Exception('unsupported EBML version');
}
if ($docType != 'matroska' && $docType != 'webm') {
throw new Exception ('unsupported document type');
}
if ($docTypeVersion < 1 || $docTypeVersion > 4) {
throw new Exception ('unsupported document type version');
}
return $root;
}
function ebmlEncodeVarInt($n) {
$data = '';
$flag = 0x80;
while ($n >= $flag) {
if ($flag == 0) {
throw new Exception('not supported: number too large');
}
$data = chr($n & 0xFF) . $data;
$n = $n >> 8;
$flag = $flag >> 1;
}
$data = chr($n | $flag) . $data;
return $data;
}
function ebmlEncodeElementName($name) {
global $EBML_ELEMENTS;
return ebmlEncodeVarInt($EBML_ELEMENTS->id($name));
}
function ebmlEncodeElement($name, $content) {
return ebmlEncodeElementName($name) . ebmlEncodeVarInt(strlen($content)) . $content;
}

View File

@ -0,0 +1,49 @@
<?php
// Glue code for handling a Tinyboard post.
// Portions of this file are derived from Tinyboard code.
function postHandler($post) {
global $board, $config;
if ($post->has_file && $post->extension == 'webm') {
require_once dirname(__FILE__) . '/videodata.php';
$videoDetails = videoData($post->file_path);
if (!isset($videoDetails['container']) || $videoDetails['container'] != 'webm') return "not a WebM file";
// Set thumbnail
$thumbName = $board['dir'] . $config['dir']['thumb'] . $post->file_id . '.webm';
if ($config['spoiler_images'] && isset($_POST['spoiler'])) {
// Use spoiler thumbnail
$post->thumb = 'spoiler';
$size = @getimagesize($config['spoiler_image']);
$post->thumbwidth = $size[0];
$post->thumbheight = $size[1];
} elseif (isset($videoDetails['frame']) && $thumbFile = fopen($thumbName, 'wb')) {
// Use single frame from video as pseudo-thumbnail
fwrite($thumbFile, $videoDetails['frame']);
fclose($thumbFile);
$post->thumb = $post->file_id . '.webm';
} else {
// Fall back to file thumbnail
$post->thumb = 'file';
}
unset($videoDetails['frame']);
// Set width and height
if (isset($videoDetails['width']) && isset($videoDetails['height'])) {
$post->width = $videoDetails['width'];
$post->height = $videoDetails['height'];
if ($post->thumb != 'file' && $post->thumb != 'spoiler') {
$thumbMaxWidth = $post->op ? $config['thumb_op_width'] : $config['thumb_width'];
$thumbMaxHeight = $post->op ? $config['thumb_op_height'] : $config['thumb_height'];
if ($videoDetails['width'] > $thumbMaxWidth || $videoDetails['height'] > $thumbMaxHeight) {
$post->thumbwidth = min($thumbMaxWidth, intval(round($videoDetails['width'] * $thumbMaxHeight / $videoDetails['height'])));
$post->thumbheight = min($thumbMaxHeight, intval(round($videoDetails['height'] * $thumbMaxWidth / $videoDetails['width'])));
} else {
$post->thumbwidth = $videoDetails['width'];
$post->thumbheight = $videoDetails['height'];
}
}
}
}
}

173
inc/lib/webm/videodata.php Normal file
View File

@ -0,0 +1,173 @@
<?php
/* This file is dedicated to the public domain; you may do as you wish with it. */
require dirname(__FILE__) . '/matroska.php';
function matroskaSeekElement($name, $pos) {
return ebmlEncodeElement('Seek',
ebmlEncodeElement('SeekID', ebmlEncodeElementName($name))
. ebmlEncodeElement('SeekPosition', pack('N', $pos))
);
}
// Make video from single WebM keyframe
function muxWebMFrame($videoTrack, $frame) {
$lenSeekHead = 73;
$lenCues = 24;
// Determine version for EBML header
$version = 2;
$videoAttr = $videoTrack->get('Video');
if (isset($videoAttr)) {
if ($videoAttr->get('StereoMode') !== NULL) $version = 3;
if ($videoAttr->get('AlphaMode') !== NULL) $version = 3;
}
if ($videoTrack->get('CodecDelay') !== NULL) $version = 4;
if ($videoTrack->get('SeekPreRoll') !== NULL) $version = 4;
if ($frame->name() == 'BlockGroup' && $frame->get('DiscardPadding') !== NULL) $version = 4;
// EBML header
$ebml = ebmlEncodeElement('EBML',
ebmlEncodeElement('DocType', "webm")
. ebmlEncodeElement('DocTypeVersion', chr($version))
. ebmlEncodeElement('DocTypeReadVersion', "\x02")
);
// Segment
$info = ebmlEncodeElement('Info',
ebmlEncodeElement('Duration', "\x41\x20\x00\x00")
. ebmlEncodeElement('MuxingApp', 'ccframe')
. ebmlEncodeElement('WritingApp', 'ccframe')
);
$tracks = ebmlEncodeElement('Tracks',
ebmlEncodeElement('TrackEntry', $videoTrack->content()->readAll())
);
$cues = ebmlEncodeElement('Cues',
ebmlEncodeElement('CuePoint',
ebmlEncodeElement('CueTime', "\x00")
. ebmlEncodeElement('CueTrackPositions',
ebmlEncodeElement('CueTrack', pack('N', $videoTrack->get('TrackNumber')))
. ebmlEncodeElement('CueClusterPosition', pack('N', $lenSeekHead + strlen($info) + strlen($tracks) + $lenCues))
)
)
);
if (strlen($cues) != $lenCues) throw new Exception('length of Cues element wrong');
$cluster = ebmlEncodeElement('Cluster',
ebmlEncodeElement('Timecode', "\x00")
. ebmlEncodeElement($frame->name(), $frame->content()->readAll())
. ebmlEncodeElement('Void', '')
);
$seekHead = ebmlEncodeElement('SeekHead',
matroskaSeekElement('Info', $lenSeekHead)
. matroskaSeekElement('Tracks', $lenSeekHead + strlen($info))
. matroskaSeekElement('Cues', $lenSeekHead + strlen($info) + strlen($tracks))
. matroskaSeekElement('Cluster', $lenSeekHead + strlen($info) + strlen($tracks) + $lenCues)
);
if (strlen($seekHead) != $lenSeekHead) throw new Exception('length of SeekHead element wrong');
$segment = ebmlEncodeElement('Segment', $seekHead . $info . $tracks . $cues . $cluster);
return $ebml . $segment;
}
// Locate first WebM keyframe of track $trackNumber after timecode $skip
function firstWebMFrame($segment, $trackNumber, $skip=0) {
foreach($segment as $x1) {
if ($x1->name() == 'Cluster') {
$cluserTimecode = $x1->Get('Timecode');
foreach($x1 as $blockGroup) {
$blockRaw = NULL;
if ($blockGroup->name() == 'SimpleBlock') {
$blockRaw = $blockGroup->value();
} elseif ($blockGroup->name() == 'BlockGroup') {
$blockRaw = $blockGroup->get('Block');
}
if (isset($blockRaw)) {
$block = new MatroskaBlock($blockRaw);
if ($block->trackNumber == $trackNumber && $block->keyframe) {
if (!isset($cluserTimecode) || $cluserTimecode + $block->timecode >= $skip) {
return $blockGroup;
} elseif (!isset($frame1)) {
$frame1 = $blockGroup;
}
}
}
}
}
}
return isset($frame1) ? $frame1 : NULL;
}
function videoData($filename) {
$data = array();
// Open file
$fileHandle = fopen($filename, 'rb');
if (!$fileHandle) {
error_log('could not open file');
return $data;
}
try {
$root = readMatroska($fileHandle);
$data['container'] = $root->get('EBML')->get('DocType');
// Locate segment information and tracks
$segment = $root->get('Segment');
if (!isset($segment)) throw new Exception('missing Segment element');
// Get segment information
$info = $segment->get('Info');
if (isset($info)) {
$timecodeScale = $info->get('TimecodeScale');
$duration = $info->get('Duration');
if (isset($timecodeScale) && isset($duration)) {
$data['duration'] = 1e-9 * $timecodeScale * $duration;
}
}
// Locate video track
$tracks = $segment->get('Tracks');
if (!isset($tracks)) throw new Exception('missing Tracks element');
foreach($tracks as $trackEntry) {
if ($trackEntry->name() == 'TrackEntry' && $trackEntry->get('TrackType') == 1) {
$videoTrack = $trackEntry;
break;
}
}
if (!isset($videoTrack)) throw new Exception('no video track');
// Get track information
$videoAttr = $videoTrack->get('Video');
if (!isset($videoAttr)) throw new Exception('missing video parameters');
$pixelWidth = $videoAttr->get('PixelWidth');
$pixelHeight = $videoAttr->get('PixelHeight');
if (!isset($pixelWidth) || !isset($pixelHeight)) throw new Exception('no width or height');
if ($pixelWidth == 0 || $pixelHeight == 0) throw new Exception('bad PixelWidth/PixelHeight');
$displayWidth = $videoAttr->get('DisplayWidth', $pixelWidth);
$displayHeight = $videoAttr->get('DisplayHeight', $pixelHeight);
if ($displayWidth == 0 || $displayHeight == 0) throw new Exception('bad DisplayWidth/DisplayHeight');
$data['width'] = $displayWidth;
$data['height'] = $displayHeight;
// Extract frame to use as thumbnail
if ($videoAttr->get('AlphaMode') != NULL) {
if (!($pixelWidth % 2 == 0 && $pixelHeight % 2 == 0 && $displayWidth % 2 == 0 && $displayHeight % 2 == 0)) {
throw new Exception('preview frame blocked due to Chromium bug');
}
}
$trackNumber = $videoTrack->get('TrackNumber');
if (!isset($trackNumber)) throw new Exception('missing track number');
if (isset($data['duration']) && $data['duration'] >= 5) {
$skip = 1e9 / $timecodeScale;
} else {
$skip = 0;
}
$frame = firstWebMFrame($segment, $trackNumber, $skip);
if (!isset($frame)) throw new Exception('no keyframes');
$data['frame'] = muxWebMFrame($videoTrack, $frame);
} catch (Exception $e) {
error_log($e->getMessage());
}
fclose($fileHandle);
return $data;
}

13
inc/locale/.tx/config Normal file
View File

@ -0,0 +1,13 @@
[main]
host = https://www.transifex.com
[tinyboard-vichan-devel.javascriptpo]
file_filter = <lang>/LC_MESSAGES/javascript.po
source_lang = en
type = PO
[tinyboard-vichan-devel.tinyboardpo]
file_filter = <lang>/LC_MESSAGES/tinyboard.po
source_lang = en
type = PO

6
inc/locale/README.md Normal file
View File

@ -0,0 +1,6 @@
Please use this interface to submit new translations:
https://www.transifex.com/projects/p/tinyboard-vichan-devel
They will be pulled over time. By the way, copying over those directories
to a vanilla Tinyboard installation will instantly work.

View File

@ -1,176 +1,565 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: czchan 1.0\n"
"Project-Id-Version: vichan\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-08-11 11:20-0400\n"
"PO-Revision-Date: 2013-08-11 17:42+0100\n"
"Language-Team: Czech <CS@li.org>\n"
"POT-Creation-Date: 2014-04-18 19:24+0200\n"
"PO-Revision-Date: 2014-04-18 18:51+0000\n"
"Last-Translator: czaks <marcin@6irc.net>\n"
"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/tinyboard-vichan-devel/language/cs_CZ/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: cs_CZ\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#: ../../../../js/style-select.js:40
#: ../../../../js/style-select.js:40 ../../../../js/style-select.js:41
msgid "Style: "
msgstr "Styl: "
#: ../../../../js/hide-images.js:50
#: ../../../../js/quick-post-controls.js:30
#: ../../../../js/hide-images.js:50 ../../../../js/upload-selection.js:51
#: ../../../../js/quick-post-controls.js:30 ../../../../js/hide-images.js:51
#: ../../../../js/quick-post-controls.js:32
#: ../../../../js/upload-selection.js:61
msgid "File"
msgstr "Soubor"
#: ../../../../js/hide-images.js:50
#: ../../../../js/hide-images.js:50 ../../../../js/hide-images.js:51
msgid "hide"
msgstr "skrýt"
#: ../../../../js/hide-images.js:56
#: ../../../../js/hide-images.js:56 ../../../../js/hide-images.js:57
msgid "show"
msgstr "zobrazit"
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
#: ../../../../js/toggle-locked-threads.js:40
#: ../../../../js/toggle-locked-threads.js:55
#: ../../../../js/toggle-locked-threads.js:41
#: ../../../../js/toggle-locked-threads.js:56
msgid "Show locked threads"
msgstr "Zobrazit zamčená vlákna"
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
#: ../../../../js/toggle-locked-threads.js:40
#: ../../../../js/toggle-locked-threads.js:55
#: ../../../../js/toggle-locked-threads.js:41
#: ../../../../js/toggle-locked-threads.js:56
msgid "Hide locked threads"
msgstr "Skrýt zamčená vlákna"
#: ../../../../js/toggle-images.js:41
#: ../../../../js/upload-selection.js:32 ../../../../js/upload-selection.js:45
msgid "URL"
msgstr ""
#: ../../../../js/upload-selection.js:50 ../../../../js/upload-selection.js:60
msgid "Select"
msgstr ""
#: ../../../../js/upload-selection.js:53 ../../../../js/upload-selection.js:63
msgid "Remote"
msgstr ""
#: ../../../../js/upload-selection.js:56 ../../../../js/upload-selection.js:66
msgid "Embed"
msgstr ""
#: ../../../../js/upload-selection.js:59 ../../../../js/upload-selection.js:69
msgid "Oekaki"
msgstr ""
#: ../../../../js/toggle-images.js:41 ../../../../js/toggle-images.js:42
msgid "hidden"
msgstr "skryté"
#: ../../../../js/toggle-images.js:57
#: ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Show images"
msgstr "Zobrazit obrázky"
#: ../../../../js/toggle-images.js:57
#: ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Hide images"
msgstr "Skrýt obrázky"
#: ../../../../js/quick-post-controls.js:27
#: ../../../../js/quick-post-controls.js:29
msgid "Password"
msgstr "Heslo"
#: ../../../../js/quick-post-controls.js:29
#: ../../../../js/quick-post-controls.js:31
msgid "Delete file only"
msgstr "Smazat pouze soubor"
#: ../../../../js/quick-post-controls.js:31
#: ../../../../js/quick-post-controls.js:33
msgid "Delete"
msgstr "Smazat"
#: ../../../../js/quick-post-controls.js:35
#: ../../../../js/quick-post-controls.js:37
msgid "Reason"
msgstr "Důvod"
#: ../../../../js/quick-post-controls.js:37
#: ../../../../js/quick-post-controls.js:39
msgid "Report"
msgstr "Nahlásit"
#: ../../../../js/expand.js:20
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click reply to view."
msgstr "Klikni na odpověď pro zobrazení."
#: ../../../../js/expand.js:20
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click to expand"
msgstr "Klikni pro rozbalení"
#: ../../../../js/expand.js:43
#: ../../../../js/expand.js:44 ../../../../js/expand.js:46
msgid "Hide expanded replies"
msgstr "Skrýt rozbalené odpovědi"
#: ../../../../js/forced-anon.js:59
#: ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:69
#: ../../../../js/oekaki.js:10
msgid "Brush size"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Set text"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Clear"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Save"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Load"
msgstr ""
#: ../../../../js/oekaki.js:11
msgid "Toggle eraser"
msgstr ""
#: ../../../../js/oekaki.js:11
msgid "Get color"
msgstr ""
#: ../../../../js/oekaki.js:11
msgid "Fill"
msgstr ""
#: ../../../../js/oekaki.js:12
msgid "Use oekaki instead of file?"
msgstr ""
#: ../../../../js/oekaki.js:21
msgid "Edit in oekaki"
msgstr ""
#: ../../../../js/oekaki.js:152
msgid "Enter some text"
msgstr ""
#: ../../../../js/oekaki.js:153
msgid "Enter font or leave empty"
msgstr ""
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:69 ../../../../js/forced-anon.js:60
#: ../../../../js/forced-anon.js:66 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
#: ../../../../js/forced-anon.js:71
msgid "Forced anonymity"
msgstr "Vynucená anonymita"
#: ../../../../js/forced-anon.js:59
#: ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:66
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
msgid "enabled"
msgstr "zapnuto"
#: ../../../../js/forced-anon.js:59
#: ../../../../js/forced-anon.js:69
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:69
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:71
msgid "disabled"
msgstr "vypnuto"
#: ../../../../js/local-time.js:40
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sun"
msgstr "Ne"
#: ../../../../js/local-time.js:40
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Mon"
msgstr "Po"
#: ../../../../js/local-time.js:40
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Tue"
msgstr "Út"
#: ../../../../js/local-time.js:40
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Wed"
msgstr "St"
#: ../../../../js/local-time.js:40
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Thu"
msgstr "Čt"
#: ../../../../js/local-time.js:40
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Fri"
msgstr "Pá"
#: ../../../../js/local-time.js:40
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sat"
msgstr "So"
#: ../../../../js/quick-reply.js:21
#: ../../../../js/catalog-link.js:21 ../../../../js/catalog-link.js:32
#: ../../../../js/catalog-link.js:40 ../../../../js/catalog-link.js:33
#: ../../../../js/catalog-link.js:44 ../../../../js/catalog-link.js:52
msgid "Catalog"
msgstr ""
#: ../../../../js/quick-reply.js:21 ../../../../js/quick-reply-old.js:21
#: ../../../../js/quick-reply-old.js:23
msgid "Submit"
msgstr "Odeslat"
#: ../../../../js/quick-reply.js:31
#: ../../../../js/quick-reply.js:31 ../../../../js/quick-reply-old.js:31
#: ../../../../js/quick-reply-old.js:33
msgid "Quick reply"
msgstr "Rychlá odpověď"
#: ../../../../js/quick-reply.js:33
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
#, python-brace-format
msgid "Posting mode: Replying to <small>&gt;&gt;{0}</small>"
msgstr "Režim odpovědi: Odpovídáš na <small>&gt;&gt;{0}</small>"
#: ../../../../js/quick-reply.js:33
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
msgid "Return"
msgstr "Návrat"
#: ../../../../js/expand-all-images.js:20
#: ../../../../js/expand-all-images.js:21
#: ../../../../js/expand-all-images.js:22
msgid "Expand all images"
msgstr ""
#: ../../../../templates/main.js:6
msgid "Hello!"
msgstr "Nazdar!"
#: ../../../../templates/main.js:18
#, python-brace-format
msgid "{0} users"
msgstr "{0} uživatel"
#: ../../../../templates/themes/ukko/ukko.js:28
#: ../../../../templates/themes/ukko/ukko.js:39
#: ../../../../templates/themes/ukko/ukko.js:29
#: ../../../../templates/themes/ukko/ukko.js:40
msgid "(hide threads from this board)"
msgstr "(skrýt vlákna z tohoto boardu)"
#: ../../../../templates/themes/ukko/ukko.js:32
#: ../../../../templates/themes/ukko/ukko.js:44
#: ../../../../templates/themes/ukko/ukko.js:33
#: ../../../../templates/themes/ukko/ukko.js:45
msgid "(show threads from this board)"
msgstr "(zobrazit vlákna z tohoto boardu)"
#: ../../../../templates/themes/ukko/ukko.js:57
#: ../../../../templates/themes/ukko/ukko.js:58
msgid "No more threads to display"
msgstr "Nejsou žádná další vlákna k zobrazení"
#: ../../../../templates/themes/ukko/ukko.js:79
#: ../../../../templates/themes/ukko/ukko.js:80
msgid "Loading..."
msgstr "Načítám..."
#: ../../../../js/download-original.js:32
#: ../../../../js/download-original.js:33
msgid "Save as original filename"
msgstr ""
#: ../../../../js/ajax-post-controls.js:43
msgid "Reported post(s)."
msgstr ""
#: ../../../../js/ajax-post-controls.js:53
msgid "An unknown error occured!"
msgstr ""
#: ../../../../js/ajax-post-controls.js:60
msgid "Something went wrong... An unknown error occured!"
msgstr ""
#: ../../../../js/ajax-post-controls.js:68
msgid "Working..."
msgstr ""
#: ../../../../js/ajax.js:42 ../../../../js/ajax.js:45
msgid "Posting... (#%)"
msgstr ""
#: ../../../../js/ajax.js:104 ../../../../js/ajax.js:109
msgid "Posted..."
msgstr ""
#: ../../../../js/ajax.js:106 ../../../../js/ajax.js:111
msgid "An unknown error occured when posting!"
msgstr ""
#: ../../../../js/ajax.js:130 ../../../../js/ajax.js:135
msgid "Posting..."
msgstr ""
#: ../../../../js/quick-reply.js:223 ../../../../js/quick-reply.js:224
#: ../../../../js/quick-reply.js:225
msgid "Upload URL"
msgstr ""
#: ../../../../js/quick-reply.js:266 ../../../../js/quick-reply.js:267
#: ../../../../js/quick-reply.js:268
msgid "Spoiler Image"
msgstr ""
#: ../../../../js/quick-reply.js:277 ../../../../js/quick-reply.js:278
#: ../../../../js/quick-reply.js:279
msgid "Comment"
msgstr ""
#: ../../../../js/quick-reply.js:285 ../../../../js/quick-reply.js:406
#: ../../../../js/quick-reply.js:286 ../../../../js/quick-reply.js:407
#: ../../../../js/quick-reply.js:287 ../../../../js/quick-reply.js:408
msgid "Quick Reply"
msgstr ""
#: ../../../../js/watch.js:249 ../../../../js/watch.js:250
#: ../../../../js/watch.js:288 ../../../../js/watch.js:289
#: ../../../../js/watch.js:330 ../../../../js/watch.js:331
msgid "Stop watching this thread"
msgstr ""
#: ../../../../js/watch.js:249 ../../../../js/watch.js:250
#: ../../../../js/watch.js:288 ../../../../js/watch.js:289
#: ../../../../js/watch.js:330 ../../../../js/watch.js:331
msgid "Watch this thread"
msgstr ""
#: ../../../../js/watch.js:260 ../../../../js/watch.js:261
#: ../../../../js/watch.js:269 ../../../../js/watch.js:299
#: ../../../../js/watch.js:300 ../../../../js/watch.js:308
#: ../../../../js/watch.js:341 ../../../../js/watch.js:342
#: ../../../../js/watch.js:350
msgid "Unpin this board"
msgstr ""
#: ../../../../js/watch.js:260 ../../../../js/watch.js:261
#: ../../../../js/watch.js:269 ../../../../js/watch.js:299
#: ../../../../js/watch.js:300 ../../../../js/watch.js:308
#: ../../../../js/watch.js:341 ../../../../js/watch.js:342
#: ../../../../js/watch.js:350
msgid "Pin this board"
msgstr ""
#: ../../../../js/watch.js:262 ../../../../js/watch.js:267
#: ../../../../js/watch.js:268 ../../../../js/watch.js:301
#: ../../../../js/watch.js:306 ../../../../js/watch.js:307
#: ../../../../js/watch.js:343 ../../../../js/watch.js:348
#: ../../../../js/watch.js:349
msgid "Stop watching this board"
msgstr ""
#: ../../../../js/watch.js:262 ../../../../js/watch.js:267
#: ../../../../js/watch.js:268 ../../../../js/watch.js:301
#: ../../../../js/watch.js:306 ../../../../js/watch.js:307
#: ../../../../js/watch.js:343 ../../../../js/watch.js:348
#: ../../../../js/watch.js:349
msgid "Watch this board"
msgstr ""
#: ../../../../js/wpaint.js:113
msgid "Click on any image on this site to load it into oekaki applet"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Sunday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Monday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Tuesday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Wednesday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Thursday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Friday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Saturday"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "January"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "February"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "March"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "April"
msgstr ""
#: ../../../../js/local-time.js:31 ../../../../js/local-time.js:32
msgid "May"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "June"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "July"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "August"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "September"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "October"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "November"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "December"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Jan"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Feb"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Mar"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Apr"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Jun"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Jul"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Aug"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Sep"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Oct"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Nov"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Dec"
msgstr ""
#: ../../../../js/local-time.js:33
msgid "AM"
msgstr ""
#: ../../../../js/local-time.js:34
msgid "PM"
msgstr ""
#: ../../../../js/local-time.js:35
msgid "am"
msgstr ""
#: ../../../../js/local-time.js:36
msgid "pm"
msgstr ""
#: ../../../../js/expand-video.js:45 ../../../../js/expand-video.js:48
msgid "Your browser does not support HTML5 video."
msgstr ""
#: ../../../../js/expand-video.js:189 ../../../../js/expand-video.js:192
msgid "[play once]"
msgstr ""
#: ../../../../js/expand-video.js:190 ../../../../js/expand-video.js:193
msgid "[loop]"
msgstr ""
#: ../../../../js/webm-settings.js:42
msgid "WebM Settings"
msgstr ""
#: ../../../../js/webm-settings.js:44
msgid "Expand videos inline"
msgstr ""
#: ../../../../js/webm-settings.js:45
msgid "Play videos on hover"
msgstr ""
#: ../../../../js/webm-settings.js:46
msgid "Default volume"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
l10n = [];

View File

@ -0,0 +1,565 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: vichan\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-04-18 19:24+0200\n"
"PO-Revision-Date: 2014-04-18 18:51+0000\n"
"Last-Translator: czaks <marcin@6irc.net>\n"
"Language-Team: German (Germany) (http://www.transifex.com/projects/p/tinyboard-vichan-devel/language/de_DE/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: de_DE\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../../../../js/style-select.js:40 ../../../../js/style-select.js:41
msgid "Style: "
msgstr ""
#: ../../../../js/hide-images.js:50 ../../../../js/upload-selection.js:51
#: ../../../../js/quick-post-controls.js:30 ../../../../js/hide-images.js:51
#: ../../../../js/quick-post-controls.js:32
#: ../../../../js/upload-selection.js:61
msgid "File"
msgstr ""
#: ../../../../js/hide-images.js:50 ../../../../js/hide-images.js:51
msgid "hide"
msgstr ""
#: ../../../../js/hide-images.js:56 ../../../../js/hide-images.js:57
msgid "show"
msgstr ""
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
#: ../../../../js/toggle-locked-threads.js:40
#: ../../../../js/toggle-locked-threads.js:55
#: ../../../../js/toggle-locked-threads.js:41
#: ../../../../js/toggle-locked-threads.js:56
msgid "Show locked threads"
msgstr ""
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
#: ../../../../js/toggle-locked-threads.js:40
#: ../../../../js/toggle-locked-threads.js:55
#: ../../../../js/toggle-locked-threads.js:41
#: ../../../../js/toggle-locked-threads.js:56
msgid "Hide locked threads"
msgstr ""
#: ../../../../js/upload-selection.js:32 ../../../../js/upload-selection.js:45
msgid "URL"
msgstr ""
#: ../../../../js/upload-selection.js:50 ../../../../js/upload-selection.js:60
msgid "Select"
msgstr ""
#: ../../../../js/upload-selection.js:53 ../../../../js/upload-selection.js:63
msgid "Remote"
msgstr ""
#: ../../../../js/upload-selection.js:56 ../../../../js/upload-selection.js:66
msgid "Embed"
msgstr ""
#: ../../../../js/upload-selection.js:59 ../../../../js/upload-selection.js:69
msgid "Oekaki"
msgstr ""
#: ../../../../js/toggle-images.js:41 ../../../../js/toggle-images.js:42
msgid "hidden"
msgstr ""
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Show images"
msgstr ""
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Hide images"
msgstr ""
#: ../../../../js/quick-post-controls.js:27
#: ../../../../js/quick-post-controls.js:29
msgid "Password"
msgstr ""
#: ../../../../js/quick-post-controls.js:29
#: ../../../../js/quick-post-controls.js:31
msgid "Delete file only"
msgstr ""
#: ../../../../js/quick-post-controls.js:31
#: ../../../../js/quick-post-controls.js:33
msgid "Delete"
msgstr ""
#: ../../../../js/quick-post-controls.js:35
#: ../../../../js/quick-post-controls.js:37
msgid "Reason"
msgstr ""
#: ../../../../js/quick-post-controls.js:37
#: ../../../../js/quick-post-controls.js:39
msgid "Report"
msgstr ""
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click reply to view."
msgstr ""
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click to expand"
msgstr ""
#: ../../../../js/expand.js:44 ../../../../js/expand.js:46
msgid "Hide expanded replies"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Brush size"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Set text"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Clear"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Save"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Load"
msgstr ""
#: ../../../../js/oekaki.js:11
msgid "Toggle eraser"
msgstr ""
#: ../../../../js/oekaki.js:11
msgid "Get color"
msgstr ""
#: ../../../../js/oekaki.js:11
msgid "Fill"
msgstr ""
#: ../../../../js/oekaki.js:12
msgid "Use oekaki instead of file?"
msgstr ""
#: ../../../../js/oekaki.js:21
msgid "Edit in oekaki"
msgstr ""
#: ../../../../js/oekaki.js:152
msgid "Enter some text"
msgstr ""
#: ../../../../js/oekaki.js:153
msgid "Enter font or leave empty"
msgstr ""
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:69 ../../../../js/forced-anon.js:60
#: ../../../../js/forced-anon.js:66 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
#: ../../../../js/forced-anon.js:71
msgid "Forced anonymity"
msgstr ""
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:66
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
msgid "enabled"
msgstr ""
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:69
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:71
msgid "disabled"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sun"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Mon"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Tue"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Wed"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Thu"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Fri"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sat"
msgstr ""
#: ../../../../js/catalog-link.js:21 ../../../../js/catalog-link.js:32
#: ../../../../js/catalog-link.js:40 ../../../../js/catalog-link.js:33
#: ../../../../js/catalog-link.js:44 ../../../../js/catalog-link.js:52
msgid "Catalog"
msgstr ""
#: ../../../../js/quick-reply.js:21 ../../../../js/quick-reply-old.js:21
#: ../../../../js/quick-reply-old.js:23
msgid "Submit"
msgstr ""
#: ../../../../js/quick-reply.js:31 ../../../../js/quick-reply-old.js:31
#: ../../../../js/quick-reply-old.js:33
msgid "Quick reply"
msgstr ""
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
#, python-brace-format
msgid "Posting mode: Replying to <small>&gt;&gt;{0}</small>"
msgstr ""
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
msgid "Return"
msgstr ""
#: ../../../../js/expand-all-images.js:20
#: ../../../../js/expand-all-images.js:21
#: ../../../../js/expand-all-images.js:22
msgid "Expand all images"
msgstr ""
#: ../../../../templates/main.js:6
msgid "Hello!"
msgstr ""
#: ../../../../templates/main.js:18
#, python-brace-format
msgid "{0} users"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:28
#: ../../../../templates/themes/ukko/ukko.js:39
#: ../../../../templates/themes/ukko/ukko.js:29
#: ../../../../templates/themes/ukko/ukko.js:40
msgid "(hide threads from this board)"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:32
#: ../../../../templates/themes/ukko/ukko.js:44
#: ../../../../templates/themes/ukko/ukko.js:33
#: ../../../../templates/themes/ukko/ukko.js:45
msgid "(show threads from this board)"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:57
#: ../../../../templates/themes/ukko/ukko.js:58
msgid "No more threads to display"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:79
#: ../../../../templates/themes/ukko/ukko.js:80
msgid "Loading..."
msgstr ""
#: ../../../../js/download-original.js:32
#: ../../../../js/download-original.js:33
msgid "Save as original filename"
msgstr ""
#: ../../../../js/ajax-post-controls.js:43
msgid "Reported post(s)."
msgstr ""
#: ../../../../js/ajax-post-controls.js:53
msgid "An unknown error occured!"
msgstr ""
#: ../../../../js/ajax-post-controls.js:60
msgid "Something went wrong... An unknown error occured!"
msgstr ""
#: ../../../../js/ajax-post-controls.js:68
msgid "Working..."
msgstr ""
#: ../../../../js/ajax.js:42 ../../../../js/ajax.js:45
msgid "Posting... (#%)"
msgstr ""
#: ../../../../js/ajax.js:104 ../../../../js/ajax.js:109
msgid "Posted..."
msgstr ""
#: ../../../../js/ajax.js:106 ../../../../js/ajax.js:111
msgid "An unknown error occured when posting!"
msgstr ""
#: ../../../../js/ajax.js:130 ../../../../js/ajax.js:135
msgid "Posting..."
msgstr ""
#: ../../../../js/quick-reply.js:223 ../../../../js/quick-reply.js:224
#: ../../../../js/quick-reply.js:225
msgid "Upload URL"
msgstr ""
#: ../../../../js/quick-reply.js:266 ../../../../js/quick-reply.js:267
#: ../../../../js/quick-reply.js:268
msgid "Spoiler Image"
msgstr ""
#: ../../../../js/quick-reply.js:277 ../../../../js/quick-reply.js:278
#: ../../../../js/quick-reply.js:279
msgid "Comment"
msgstr ""
#: ../../../../js/quick-reply.js:285 ../../../../js/quick-reply.js:406
#: ../../../../js/quick-reply.js:286 ../../../../js/quick-reply.js:407
#: ../../../../js/quick-reply.js:287 ../../../../js/quick-reply.js:408
msgid "Quick Reply"
msgstr ""
#: ../../../../js/watch.js:249 ../../../../js/watch.js:250
#: ../../../../js/watch.js:288 ../../../../js/watch.js:289
#: ../../../../js/watch.js:330 ../../../../js/watch.js:331
msgid "Stop watching this thread"
msgstr ""
#: ../../../../js/watch.js:249 ../../../../js/watch.js:250
#: ../../../../js/watch.js:288 ../../../../js/watch.js:289
#: ../../../../js/watch.js:330 ../../../../js/watch.js:331
msgid "Watch this thread"
msgstr ""
#: ../../../../js/watch.js:260 ../../../../js/watch.js:261
#: ../../../../js/watch.js:269 ../../../../js/watch.js:299
#: ../../../../js/watch.js:300 ../../../../js/watch.js:308
#: ../../../../js/watch.js:341 ../../../../js/watch.js:342
#: ../../../../js/watch.js:350
msgid "Unpin this board"
msgstr ""
#: ../../../../js/watch.js:260 ../../../../js/watch.js:261
#: ../../../../js/watch.js:269 ../../../../js/watch.js:299
#: ../../../../js/watch.js:300 ../../../../js/watch.js:308
#: ../../../../js/watch.js:341 ../../../../js/watch.js:342
#: ../../../../js/watch.js:350
msgid "Pin this board"
msgstr ""
#: ../../../../js/watch.js:262 ../../../../js/watch.js:267
#: ../../../../js/watch.js:268 ../../../../js/watch.js:301
#: ../../../../js/watch.js:306 ../../../../js/watch.js:307
#: ../../../../js/watch.js:343 ../../../../js/watch.js:348
#: ../../../../js/watch.js:349
msgid "Stop watching this board"
msgstr ""
#: ../../../../js/watch.js:262 ../../../../js/watch.js:267
#: ../../../../js/watch.js:268 ../../../../js/watch.js:301
#: ../../../../js/watch.js:306 ../../../../js/watch.js:307
#: ../../../../js/watch.js:343 ../../../../js/watch.js:348
#: ../../../../js/watch.js:349
msgid "Watch this board"
msgstr ""
#: ../../../../js/wpaint.js:113
msgid "Click on any image on this site to load it into oekaki applet"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Sunday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Monday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Tuesday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Wednesday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Thursday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Friday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Saturday"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "January"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "February"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "March"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "April"
msgstr ""
#: ../../../../js/local-time.js:31 ../../../../js/local-time.js:32
msgid "May"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "June"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "July"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "August"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "September"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "October"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "November"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "December"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Jan"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Feb"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Mar"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Apr"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Jun"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Jul"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Aug"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Sep"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Oct"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Nov"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Dec"
msgstr ""
#: ../../../../js/local-time.js:33
msgid "AM"
msgstr ""
#: ../../../../js/local-time.js:34
msgid "PM"
msgstr ""
#: ../../../../js/local-time.js:35
msgid "am"
msgstr ""
#: ../../../../js/local-time.js:36
msgid "pm"
msgstr ""
#: ../../../../js/expand-video.js:45 ../../../../js/expand-video.js:48
msgid "Your browser does not support HTML5 video."
msgstr ""
#: ../../../../js/expand-video.js:189 ../../../../js/expand-video.js:192
msgid "[play once]"
msgstr ""
#: ../../../../js/expand-video.js:190 ../../../../js/expand-video.js:193
msgid "[loop]"
msgstr ""
#: ../../../../js/webm-settings.js:42
msgid "WebM Settings"
msgstr ""
#: ../../../../js/webm-settings.js:44
msgid "Expand videos inline"
msgstr ""
#: ../../../../js/webm-settings.js:45
msgid "Play videos on hover"
msgstr ""
#: ../../../../js/webm-settings.js:46
msgid "Default volume"
msgstr ""

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,565 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-04-18 19:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../../../js/style-select.js:40 ../../../../js/style-select.js:41
msgid "Style: "
msgstr ""
#: ../../../../js/hide-images.js:50 ../../../../js/upload-selection.js:51
#: ../../../../js/quick-post-controls.js:30 ../../../../js/hide-images.js:51
#: ../../../../js/quick-post-controls.js:32
#: ../../../../js/upload-selection.js:61
msgid "File"
msgstr ""
#: ../../../../js/hide-images.js:50 ../../../../js/hide-images.js:51
msgid "hide"
msgstr ""
#: ../../../../js/hide-images.js:56 ../../../../js/hide-images.js:57
msgid "show"
msgstr ""
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
#: ../../../../js/toggle-locked-threads.js:40
#: ../../../../js/toggle-locked-threads.js:55
#: ../../../../js/toggle-locked-threads.js:41
#: ../../../../js/toggle-locked-threads.js:56
msgid "Show locked threads"
msgstr ""
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
#: ../../../../js/toggle-locked-threads.js:40
#: ../../../../js/toggle-locked-threads.js:55
#: ../../../../js/toggle-locked-threads.js:41
#: ../../../../js/toggle-locked-threads.js:56
msgid "Hide locked threads"
msgstr ""
#: ../../../../js/upload-selection.js:32 ../../../../js/upload-selection.js:45
msgid "URL"
msgstr ""
#: ../../../../js/upload-selection.js:50 ../../../../js/upload-selection.js:60
msgid "Select"
msgstr ""
#: ../../../../js/upload-selection.js:53 ../../../../js/upload-selection.js:63
msgid "Remote"
msgstr ""
#: ../../../../js/upload-selection.js:56 ../../../../js/upload-selection.js:66
msgid "Embed"
msgstr ""
#: ../../../../js/upload-selection.js:59 ../../../../js/upload-selection.js:69
msgid "Oekaki"
msgstr ""
#: ../../../../js/toggle-images.js:41 ../../../../js/toggle-images.js:42
msgid "hidden"
msgstr ""
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Show images"
msgstr ""
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Hide images"
msgstr ""
#: ../../../../js/quick-post-controls.js:27
#: ../../../../js/quick-post-controls.js:29
msgid "Password"
msgstr ""
#: ../../../../js/quick-post-controls.js:29
#: ../../../../js/quick-post-controls.js:31
msgid "Delete file only"
msgstr ""
#: ../../../../js/quick-post-controls.js:31
#: ../../../../js/quick-post-controls.js:33
msgid "Delete"
msgstr ""
#: ../../../../js/quick-post-controls.js:35
#: ../../../../js/quick-post-controls.js:37
msgid "Reason"
msgstr ""
#: ../../../../js/quick-post-controls.js:37
#: ../../../../js/quick-post-controls.js:39
msgid "Report"
msgstr ""
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click reply to view."
msgstr ""
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click to expand"
msgstr ""
#: ../../../../js/expand.js:44 ../../../../js/expand.js:46
msgid "Hide expanded replies"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Brush size"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Set text"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Clear"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Save"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Load"
msgstr ""
#: ../../../../js/oekaki.js:11
msgid "Toggle eraser"
msgstr ""
#: ../../../../js/oekaki.js:11
msgid "Get color"
msgstr ""
#: ../../../../js/oekaki.js:11
msgid "Fill"
msgstr ""
#: ../../../../js/oekaki.js:12
msgid "Use oekaki instead of file?"
msgstr ""
#: ../../../../js/oekaki.js:21
msgid "Edit in oekaki"
msgstr ""
#: ../../../../js/oekaki.js:152
msgid "Enter some text"
msgstr ""
#: ../../../../js/oekaki.js:153
msgid "Enter font or leave empty"
msgstr ""
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:69 ../../../../js/forced-anon.js:60
#: ../../../../js/forced-anon.js:66 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
#: ../../../../js/forced-anon.js:71
msgid "Forced anonymity"
msgstr ""
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:66
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
msgid "enabled"
msgstr ""
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:69
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:71
msgid "disabled"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sun"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Mon"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Tue"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Wed"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Thu"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Fri"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sat"
msgstr ""
#: ../../../../js/catalog-link.js:21 ../../../../js/catalog-link.js:32
#: ../../../../js/catalog-link.js:40 ../../../../js/catalog-link.js:33
#: ../../../../js/catalog-link.js:44 ../../../../js/catalog-link.js:52
msgid "Catalog"
msgstr ""
#: ../../../../js/quick-reply.js:21 ../../../../js/quick-reply-old.js:21
#: ../../../../js/quick-reply-old.js:23
msgid "Submit"
msgstr ""
#: ../../../../js/quick-reply.js:31 ../../../../js/quick-reply-old.js:31
#: ../../../../js/quick-reply-old.js:33
msgid "Quick reply"
msgstr ""
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
#, python-brace-format
msgid "Posting mode: Replying to <small>&gt;&gt;{0}</small>"
msgstr ""
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
msgid "Return"
msgstr ""
#: ../../../../js/expand-all-images.js:20
#: ../../../../js/expand-all-images.js:21
#: ../../../../js/expand-all-images.js:22
msgid "Expand all images"
msgstr ""
#: ../../../../templates/main.js:6
msgid "Hello!"
msgstr ""
#: ../../../../templates/main.js:18
#, python-brace-format
msgid "{0} users"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:28
#: ../../../../templates/themes/ukko/ukko.js:39
#: ../../../../templates/themes/ukko/ukko.js:29
#: ../../../../templates/themes/ukko/ukko.js:40
msgid "(hide threads from this board)"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:32
#: ../../../../templates/themes/ukko/ukko.js:44
#: ../../../../templates/themes/ukko/ukko.js:33
#: ../../../../templates/themes/ukko/ukko.js:45
msgid "(show threads from this board)"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:57
#: ../../../../templates/themes/ukko/ukko.js:58
msgid "No more threads to display"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:79
#: ../../../../templates/themes/ukko/ukko.js:80
msgid "Loading..."
msgstr ""
#: ../../../../js/download-original.js:32
#: ../../../../js/download-original.js:33
msgid "Save as original filename"
msgstr ""
#: ../../../../js/ajax-post-controls.js:43
msgid "Reported post(s)."
msgstr ""
#: ../../../../js/ajax-post-controls.js:53
msgid "An unknown error occured!"
msgstr ""
#: ../../../../js/ajax-post-controls.js:60
msgid "Something went wrong... An unknown error occured!"
msgstr ""
#: ../../../../js/ajax-post-controls.js:68
msgid "Working..."
msgstr ""
#: ../../../../js/ajax.js:42 ../../../../js/ajax.js:45
msgid "Posting... (#%)"
msgstr ""
#: ../../../../js/ajax.js:104 ../../../../js/ajax.js:109
msgid "Posted..."
msgstr ""
#: ../../../../js/ajax.js:106 ../../../../js/ajax.js:111
msgid "An unknown error occured when posting!"
msgstr ""
#: ../../../../js/ajax.js:130 ../../../../js/ajax.js:135
msgid "Posting..."
msgstr ""
#: ../../../../js/quick-reply.js:223 ../../../../js/quick-reply.js:224
#: ../../../../js/quick-reply.js:225
msgid "Upload URL"
msgstr ""
#: ../../../../js/quick-reply.js:266 ../../../../js/quick-reply.js:267
#: ../../../../js/quick-reply.js:268
msgid "Spoiler Image"
msgstr ""
#: ../../../../js/quick-reply.js:277 ../../../../js/quick-reply.js:278
#: ../../../../js/quick-reply.js:279
msgid "Comment"
msgstr ""
#: ../../../../js/quick-reply.js:285 ../../../../js/quick-reply.js:406
#: ../../../../js/quick-reply.js:286 ../../../../js/quick-reply.js:407
#: ../../../../js/quick-reply.js:287 ../../../../js/quick-reply.js:408
msgid "Quick Reply"
msgstr ""
#: ../../../../js/watch.js:249 ../../../../js/watch.js:250
#: ../../../../js/watch.js:288 ../../../../js/watch.js:289
#: ../../../../js/watch.js:330 ../../../../js/watch.js:331
msgid "Stop watching this thread"
msgstr ""
#: ../../../../js/watch.js:249 ../../../../js/watch.js:250
#: ../../../../js/watch.js:288 ../../../../js/watch.js:289
#: ../../../../js/watch.js:330 ../../../../js/watch.js:331
msgid "Watch this thread"
msgstr ""
#: ../../../../js/watch.js:260 ../../../../js/watch.js:261
#: ../../../../js/watch.js:269 ../../../../js/watch.js:299
#: ../../../../js/watch.js:300 ../../../../js/watch.js:308
#: ../../../../js/watch.js:341 ../../../../js/watch.js:342
#: ../../../../js/watch.js:350
msgid "Unpin this board"
msgstr ""
#: ../../../../js/watch.js:260 ../../../../js/watch.js:261
#: ../../../../js/watch.js:269 ../../../../js/watch.js:299
#: ../../../../js/watch.js:300 ../../../../js/watch.js:308
#: ../../../../js/watch.js:341 ../../../../js/watch.js:342
#: ../../../../js/watch.js:350
msgid "Pin this board"
msgstr ""
#: ../../../../js/watch.js:262 ../../../../js/watch.js:267
#: ../../../../js/watch.js:268 ../../../../js/watch.js:301
#: ../../../../js/watch.js:306 ../../../../js/watch.js:307
#: ../../../../js/watch.js:343 ../../../../js/watch.js:348
#: ../../../../js/watch.js:349
msgid "Stop watching this board"
msgstr ""
#: ../../../../js/watch.js:262 ../../../../js/watch.js:267
#: ../../../../js/watch.js:268 ../../../../js/watch.js:301
#: ../../../../js/watch.js:306 ../../../../js/watch.js:307
#: ../../../../js/watch.js:343 ../../../../js/watch.js:348
#: ../../../../js/watch.js:349
msgid "Watch this board"
msgstr ""
#: ../../../../js/wpaint.js:113
msgid "Click on any image on this site to load it into oekaki applet"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Sunday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Monday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Tuesday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Wednesday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Thursday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Friday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Saturday"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "January"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "February"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "March"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "April"
msgstr ""
#: ../../../../js/local-time.js:31 ../../../../js/local-time.js:32
msgid "May"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "June"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "July"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "August"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "September"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "October"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "November"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "December"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Jan"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Feb"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Mar"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Apr"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Jun"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Jul"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Aug"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Sep"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Oct"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Nov"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Dec"
msgstr ""
#: ../../../../js/local-time.js:33
msgid "AM"
msgstr ""
#: ../../../../js/local-time.js:34
msgid "PM"
msgstr ""
#: ../../../../js/local-time.js:35
msgid "am"
msgstr ""
#: ../../../../js/local-time.js:36
msgid "pm"
msgstr ""
#: ../../../../js/expand-video.js:45 ../../../../js/expand-video.js:48
msgid "Your browser does not support HTML5 video."
msgstr ""
#: ../../../../js/expand-video.js:189 ../../../../js/expand-video.js:192
msgid "[play once]"
msgstr ""
#: ../../../../js/expand-video.js:190 ../../../../js/expand-video.js:193
msgid "[loop]"
msgstr ""
#: ../../../../js/webm-settings.js:42
msgid "WebM Settings"
msgstr ""
#: ../../../../js/webm-settings.js:44
msgid "Expand videos inline"
msgstr ""
#: ../../../../js/webm-settings.js:45
msgid "Play videos on hover"
msgstr ""
#: ../../../../js/webm-settings.js:46
msgid "Default volume"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
l10n = [];

View File

@ -0,0 +1,565 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: vichan\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-04-18 19:24+0200\n"
"PO-Revision-Date: 2014-04-18 18:51+0000\n"
"Last-Translator: czaks <marcin@6irc.net>\n"
"Language-Team: English (Australia) (http://www.transifex.com/projects/p/tinyboard-vichan-devel/language/en_AU/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: en_AU\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../../../../js/style-select.js:40 ../../../../js/style-select.js:41
msgid "Style: "
msgstr ""
#: ../../../../js/hide-images.js:50 ../../../../js/upload-selection.js:51
#: ../../../../js/quick-post-controls.js:30 ../../../../js/hide-images.js:51
#: ../../../../js/quick-post-controls.js:32
#: ../../../../js/upload-selection.js:61
msgid "File"
msgstr ""
#: ../../../../js/hide-images.js:50 ../../../../js/hide-images.js:51
msgid "hide"
msgstr ""
#: ../../../../js/hide-images.js:56 ../../../../js/hide-images.js:57
msgid "show"
msgstr ""
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
#: ../../../../js/toggle-locked-threads.js:40
#: ../../../../js/toggle-locked-threads.js:55
#: ../../../../js/toggle-locked-threads.js:41
#: ../../../../js/toggle-locked-threads.js:56
msgid "Show locked threads"
msgstr ""
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
#: ../../../../js/toggle-locked-threads.js:40
#: ../../../../js/toggle-locked-threads.js:55
#: ../../../../js/toggle-locked-threads.js:41
#: ../../../../js/toggle-locked-threads.js:56
msgid "Hide locked threads"
msgstr ""
#: ../../../../js/upload-selection.js:32 ../../../../js/upload-selection.js:45
msgid "URL"
msgstr ""
#: ../../../../js/upload-selection.js:50 ../../../../js/upload-selection.js:60
msgid "Select"
msgstr ""
#: ../../../../js/upload-selection.js:53 ../../../../js/upload-selection.js:63
msgid "Remote"
msgstr ""
#: ../../../../js/upload-selection.js:56 ../../../../js/upload-selection.js:66
msgid "Embed"
msgstr ""
#: ../../../../js/upload-selection.js:59 ../../../../js/upload-selection.js:69
msgid "Oekaki"
msgstr ""
#: ../../../../js/toggle-images.js:41 ../../../../js/toggle-images.js:42
msgid "hidden"
msgstr ""
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Show images"
msgstr ""
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Hide images"
msgstr ""
#: ../../../../js/quick-post-controls.js:27
#: ../../../../js/quick-post-controls.js:29
msgid "Password"
msgstr ""
#: ../../../../js/quick-post-controls.js:29
#: ../../../../js/quick-post-controls.js:31
msgid "Delete file only"
msgstr ""
#: ../../../../js/quick-post-controls.js:31
#: ../../../../js/quick-post-controls.js:33
msgid "Delete"
msgstr ""
#: ../../../../js/quick-post-controls.js:35
#: ../../../../js/quick-post-controls.js:37
msgid "Reason"
msgstr ""
#: ../../../../js/quick-post-controls.js:37
#: ../../../../js/quick-post-controls.js:39
msgid "Report"
msgstr ""
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click reply to view."
msgstr ""
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click to expand"
msgstr ""
#: ../../../../js/expand.js:44 ../../../../js/expand.js:46
msgid "Hide expanded replies"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Brush size"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Set text"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Clear"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Save"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Load"
msgstr ""
#: ../../../../js/oekaki.js:11
msgid "Toggle eraser"
msgstr ""
#: ../../../../js/oekaki.js:11
msgid "Get color"
msgstr ""
#: ../../../../js/oekaki.js:11
msgid "Fill"
msgstr ""
#: ../../../../js/oekaki.js:12
msgid "Use oekaki instead of file?"
msgstr ""
#: ../../../../js/oekaki.js:21
msgid "Edit in oekaki"
msgstr ""
#: ../../../../js/oekaki.js:152
msgid "Enter some text"
msgstr ""
#: ../../../../js/oekaki.js:153
msgid "Enter font or leave empty"
msgstr ""
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:69 ../../../../js/forced-anon.js:60
#: ../../../../js/forced-anon.js:66 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
#: ../../../../js/forced-anon.js:71
msgid "Forced anonymity"
msgstr ""
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:66
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
msgid "enabled"
msgstr ""
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:69
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:71
msgid "disabled"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sun"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Mon"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Tue"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Wed"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Thu"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Fri"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sat"
msgstr ""
#: ../../../../js/catalog-link.js:21 ../../../../js/catalog-link.js:32
#: ../../../../js/catalog-link.js:40 ../../../../js/catalog-link.js:33
#: ../../../../js/catalog-link.js:44 ../../../../js/catalog-link.js:52
msgid "Catalog"
msgstr ""
#: ../../../../js/quick-reply.js:21 ../../../../js/quick-reply-old.js:21
#: ../../../../js/quick-reply-old.js:23
msgid "Submit"
msgstr ""
#: ../../../../js/quick-reply.js:31 ../../../../js/quick-reply-old.js:31
#: ../../../../js/quick-reply-old.js:33
msgid "Quick reply"
msgstr ""
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
#, python-brace-format
msgid "Posting mode: Replying to <small>&gt;&gt;{0}</small>"
msgstr ""
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
msgid "Return"
msgstr ""
#: ../../../../js/expand-all-images.js:20
#: ../../../../js/expand-all-images.js:21
#: ../../../../js/expand-all-images.js:22
msgid "Expand all images"
msgstr ""
#: ../../../../templates/main.js:6
msgid "Hello!"
msgstr ""
#: ../../../../templates/main.js:18
#, python-brace-format
msgid "{0} users"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:28
#: ../../../../templates/themes/ukko/ukko.js:39
#: ../../../../templates/themes/ukko/ukko.js:29
#: ../../../../templates/themes/ukko/ukko.js:40
msgid "(hide threads from this board)"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:32
#: ../../../../templates/themes/ukko/ukko.js:44
#: ../../../../templates/themes/ukko/ukko.js:33
#: ../../../../templates/themes/ukko/ukko.js:45
msgid "(show threads from this board)"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:57
#: ../../../../templates/themes/ukko/ukko.js:58
msgid "No more threads to display"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:79
#: ../../../../templates/themes/ukko/ukko.js:80
msgid "Loading..."
msgstr ""
#: ../../../../js/download-original.js:32
#: ../../../../js/download-original.js:33
msgid "Save as original filename"
msgstr ""
#: ../../../../js/ajax-post-controls.js:43
msgid "Reported post(s)."
msgstr ""
#: ../../../../js/ajax-post-controls.js:53
msgid "An unknown error occured!"
msgstr ""
#: ../../../../js/ajax-post-controls.js:60
msgid "Something went wrong... An unknown error occured!"
msgstr ""
#: ../../../../js/ajax-post-controls.js:68
msgid "Working..."
msgstr ""
#: ../../../../js/ajax.js:42 ../../../../js/ajax.js:45
msgid "Posting... (#%)"
msgstr ""
#: ../../../../js/ajax.js:104 ../../../../js/ajax.js:109
msgid "Posted..."
msgstr ""
#: ../../../../js/ajax.js:106 ../../../../js/ajax.js:111
msgid "An unknown error occured when posting!"
msgstr ""
#: ../../../../js/ajax.js:130 ../../../../js/ajax.js:135
msgid "Posting..."
msgstr ""
#: ../../../../js/quick-reply.js:223 ../../../../js/quick-reply.js:224
#: ../../../../js/quick-reply.js:225
msgid "Upload URL"
msgstr ""
#: ../../../../js/quick-reply.js:266 ../../../../js/quick-reply.js:267
#: ../../../../js/quick-reply.js:268
msgid "Spoiler Image"
msgstr ""
#: ../../../../js/quick-reply.js:277 ../../../../js/quick-reply.js:278
#: ../../../../js/quick-reply.js:279
msgid "Comment"
msgstr ""
#: ../../../../js/quick-reply.js:285 ../../../../js/quick-reply.js:406
#: ../../../../js/quick-reply.js:286 ../../../../js/quick-reply.js:407
#: ../../../../js/quick-reply.js:287 ../../../../js/quick-reply.js:408
msgid "Quick Reply"
msgstr ""
#: ../../../../js/watch.js:249 ../../../../js/watch.js:250
#: ../../../../js/watch.js:288 ../../../../js/watch.js:289
#: ../../../../js/watch.js:330 ../../../../js/watch.js:331
msgid "Stop watching this thread"
msgstr ""
#: ../../../../js/watch.js:249 ../../../../js/watch.js:250
#: ../../../../js/watch.js:288 ../../../../js/watch.js:289
#: ../../../../js/watch.js:330 ../../../../js/watch.js:331
msgid "Watch this thread"
msgstr ""
#: ../../../../js/watch.js:260 ../../../../js/watch.js:261
#: ../../../../js/watch.js:269 ../../../../js/watch.js:299
#: ../../../../js/watch.js:300 ../../../../js/watch.js:308
#: ../../../../js/watch.js:341 ../../../../js/watch.js:342
#: ../../../../js/watch.js:350
msgid "Unpin this board"
msgstr ""
#: ../../../../js/watch.js:260 ../../../../js/watch.js:261
#: ../../../../js/watch.js:269 ../../../../js/watch.js:299
#: ../../../../js/watch.js:300 ../../../../js/watch.js:308
#: ../../../../js/watch.js:341 ../../../../js/watch.js:342
#: ../../../../js/watch.js:350
msgid "Pin this board"
msgstr ""
#: ../../../../js/watch.js:262 ../../../../js/watch.js:267
#: ../../../../js/watch.js:268 ../../../../js/watch.js:301
#: ../../../../js/watch.js:306 ../../../../js/watch.js:307
#: ../../../../js/watch.js:343 ../../../../js/watch.js:348
#: ../../../../js/watch.js:349
msgid "Stop watching this board"
msgstr ""
#: ../../../../js/watch.js:262 ../../../../js/watch.js:267
#: ../../../../js/watch.js:268 ../../../../js/watch.js:301
#: ../../../../js/watch.js:306 ../../../../js/watch.js:307
#: ../../../../js/watch.js:343 ../../../../js/watch.js:348
#: ../../../../js/watch.js:349
msgid "Watch this board"
msgstr ""
#: ../../../../js/wpaint.js:113
msgid "Click on any image on this site to load it into oekaki applet"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Sunday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Monday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Tuesday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Wednesday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Thursday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Friday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Saturday"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "January"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "February"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "March"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "April"
msgstr ""
#: ../../../../js/local-time.js:31 ../../../../js/local-time.js:32
msgid "May"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "June"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "July"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "August"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "September"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "October"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "November"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "December"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Jan"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Feb"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Mar"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Apr"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Jun"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Jul"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Aug"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Sep"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Oct"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Nov"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Dec"
msgstr ""
#: ../../../../js/local-time.js:33
msgid "AM"
msgstr ""
#: ../../../../js/local-time.js:34
msgid "PM"
msgstr ""
#: ../../../../js/local-time.js:35
msgid "am"
msgstr ""
#: ../../../../js/local-time.js:36
msgid "pm"
msgstr ""
#: ../../../../js/expand-video.js:45 ../../../../js/expand-video.js:48
msgid "Your browser does not support HTML5 video."
msgstr ""
#: ../../../../js/expand-video.js:189 ../../../../js/expand-video.js:192
msgid "[play once]"
msgstr ""
#: ../../../../js/expand-video.js:190 ../../../../js/expand-video.js:193
msgid "[loop]"
msgstr ""
#: ../../../../js/webm-settings.js:42
msgid "WebM Settings"
msgstr ""
#: ../../../../js/webm-settings.js:44
msgid "Expand videos inline"
msgstr ""
#: ../../../../js/webm-settings.js:45
msgid "Play videos on hover"
msgstr ""
#: ../../../../js/webm-settings.js:46
msgid "Default volume"
msgstr ""

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -1,21 +1,21 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Project-Id-Version: vichan\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-02-23 19:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"POT-Creation-Date: 2014-04-18 19:24+0200\n"
"PO-Revision-Date: 2014-04-18 18:51+0000\n"
"Last-Translator: czaks <marcin@6irc.net>\n"
"Language-Team: Spanish (Spain) (http://www.transifex.com/projects/p/tinyboard-vichan-devel/language/es_ES/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es_ES\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../../../../js/style-select.js:40 ../../../../js/style-select.js:41
msgid "Style: "
@ -332,19 +332,23 @@ msgid "Posting..."
msgstr "Posteando..."
#: ../../../../js/quick-reply.js:223 ../../../../js/quick-reply.js:224
#: ../../../../js/quick-reply.js:225
msgid "Upload URL"
msgstr "Subir URL"
#: ../../../../js/quick-reply.js:266 ../../../../js/quick-reply.js:267
#: ../../../../js/quick-reply.js:268
msgid "Spoiler Image"
msgstr "Imagen Spoiler"
#: ../../../../js/quick-reply.js:277 ../../../../js/quick-reply.js:278
#: ../../../../js/quick-reply.js:279
msgid "Comment"
msgstr "Comentario"
#: ../../../../js/quick-reply.js:285 ../../../../js/quick-reply.js:406
#: ../../../../js/quick-reply.js:286 ../../../../js/quick-reply.js:407
#: ../../../../js/quick-reply.js:287 ../../../../js/quick-reply.js:408
msgid "Quick Reply"
msgstr "Respuesta rápida"
@ -531,3 +535,31 @@ msgstr "am"
#: ../../../../js/local-time.js:36
msgid "pm"
msgstr "pm"
#: ../../../../js/expand-video.js:45 ../../../../js/expand-video.js:48
msgid "Your browser does not support HTML5 video."
msgstr ""
#: ../../../../js/expand-video.js:189 ../../../../js/expand-video.js:192
msgid "[play once]"
msgstr ""
#: ../../../../js/expand-video.js:190 ../../../../js/expand-video.js:193
msgid "[loop]"
msgstr ""
#: ../../../../js/webm-settings.js:42
msgid "WebM Settings"
msgstr ""
#: ../../../../js/webm-settings.js:44
msgid "Expand videos inline"
msgstr ""
#: ../../../../js/webm-settings.js:45
msgid "Play videos on hover"
msgstr ""
#: ../../../../js/webm-settings.js:46
msgid "Default volume"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
l10n = [];

View File

@ -0,0 +1,565 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: vichan\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-04-18 19:24+0200\n"
"PO-Revision-Date: 2014-04-18 18:51+0000\n"
"Last-Translator: czaks <marcin@6irc.net>\n"
"Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/tinyboard-vichan-devel/language/fi_FI/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fi_FI\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../../../../js/style-select.js:40 ../../../../js/style-select.js:41
msgid "Style: "
msgstr ""
#: ../../../../js/hide-images.js:50 ../../../../js/upload-selection.js:51
#: ../../../../js/quick-post-controls.js:30 ../../../../js/hide-images.js:51
#: ../../../../js/quick-post-controls.js:32
#: ../../../../js/upload-selection.js:61
msgid "File"
msgstr ""
#: ../../../../js/hide-images.js:50 ../../../../js/hide-images.js:51
msgid "hide"
msgstr ""
#: ../../../../js/hide-images.js:56 ../../../../js/hide-images.js:57
msgid "show"
msgstr ""
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
#: ../../../../js/toggle-locked-threads.js:40
#: ../../../../js/toggle-locked-threads.js:55
#: ../../../../js/toggle-locked-threads.js:41
#: ../../../../js/toggle-locked-threads.js:56
msgid "Show locked threads"
msgstr ""
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
#: ../../../../js/toggle-locked-threads.js:40
#: ../../../../js/toggle-locked-threads.js:55
#: ../../../../js/toggle-locked-threads.js:41
#: ../../../../js/toggle-locked-threads.js:56
msgid "Hide locked threads"
msgstr ""
#: ../../../../js/upload-selection.js:32 ../../../../js/upload-selection.js:45
msgid "URL"
msgstr ""
#: ../../../../js/upload-selection.js:50 ../../../../js/upload-selection.js:60
msgid "Select"
msgstr ""
#: ../../../../js/upload-selection.js:53 ../../../../js/upload-selection.js:63
msgid "Remote"
msgstr ""
#: ../../../../js/upload-selection.js:56 ../../../../js/upload-selection.js:66
msgid "Embed"
msgstr ""
#: ../../../../js/upload-selection.js:59 ../../../../js/upload-selection.js:69
msgid "Oekaki"
msgstr ""
#: ../../../../js/toggle-images.js:41 ../../../../js/toggle-images.js:42
msgid "hidden"
msgstr ""
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Show images"
msgstr ""
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Hide images"
msgstr ""
#: ../../../../js/quick-post-controls.js:27
#: ../../../../js/quick-post-controls.js:29
msgid "Password"
msgstr ""
#: ../../../../js/quick-post-controls.js:29
#: ../../../../js/quick-post-controls.js:31
msgid "Delete file only"
msgstr ""
#: ../../../../js/quick-post-controls.js:31
#: ../../../../js/quick-post-controls.js:33
msgid "Delete"
msgstr ""
#: ../../../../js/quick-post-controls.js:35
#: ../../../../js/quick-post-controls.js:37
msgid "Reason"
msgstr ""
#: ../../../../js/quick-post-controls.js:37
#: ../../../../js/quick-post-controls.js:39
msgid "Report"
msgstr ""
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click reply to view."
msgstr ""
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click to expand"
msgstr ""
#: ../../../../js/expand.js:44 ../../../../js/expand.js:46
msgid "Hide expanded replies"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Brush size"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Set text"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Clear"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Save"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Load"
msgstr ""
#: ../../../../js/oekaki.js:11
msgid "Toggle eraser"
msgstr ""
#: ../../../../js/oekaki.js:11
msgid "Get color"
msgstr ""
#: ../../../../js/oekaki.js:11
msgid "Fill"
msgstr ""
#: ../../../../js/oekaki.js:12
msgid "Use oekaki instead of file?"
msgstr ""
#: ../../../../js/oekaki.js:21
msgid "Edit in oekaki"
msgstr ""
#: ../../../../js/oekaki.js:152
msgid "Enter some text"
msgstr ""
#: ../../../../js/oekaki.js:153
msgid "Enter font or leave empty"
msgstr ""
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:69 ../../../../js/forced-anon.js:60
#: ../../../../js/forced-anon.js:66 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
#: ../../../../js/forced-anon.js:71
msgid "Forced anonymity"
msgstr ""
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:66
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
msgid "enabled"
msgstr ""
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:69
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:71
msgid "disabled"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sun"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Mon"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Tue"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Wed"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Thu"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Fri"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sat"
msgstr ""
#: ../../../../js/catalog-link.js:21 ../../../../js/catalog-link.js:32
#: ../../../../js/catalog-link.js:40 ../../../../js/catalog-link.js:33
#: ../../../../js/catalog-link.js:44 ../../../../js/catalog-link.js:52
msgid "Catalog"
msgstr ""
#: ../../../../js/quick-reply.js:21 ../../../../js/quick-reply-old.js:21
#: ../../../../js/quick-reply-old.js:23
msgid "Submit"
msgstr ""
#: ../../../../js/quick-reply.js:31 ../../../../js/quick-reply-old.js:31
#: ../../../../js/quick-reply-old.js:33
msgid "Quick reply"
msgstr ""
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
#, python-brace-format
msgid "Posting mode: Replying to <small>&gt;&gt;{0}</small>"
msgstr ""
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
msgid "Return"
msgstr ""
#: ../../../../js/expand-all-images.js:20
#: ../../../../js/expand-all-images.js:21
#: ../../../../js/expand-all-images.js:22
msgid "Expand all images"
msgstr ""
#: ../../../../templates/main.js:6
msgid "Hello!"
msgstr ""
#: ../../../../templates/main.js:18
#, python-brace-format
msgid "{0} users"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:28
#: ../../../../templates/themes/ukko/ukko.js:39
#: ../../../../templates/themes/ukko/ukko.js:29
#: ../../../../templates/themes/ukko/ukko.js:40
msgid "(hide threads from this board)"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:32
#: ../../../../templates/themes/ukko/ukko.js:44
#: ../../../../templates/themes/ukko/ukko.js:33
#: ../../../../templates/themes/ukko/ukko.js:45
msgid "(show threads from this board)"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:57
#: ../../../../templates/themes/ukko/ukko.js:58
msgid "No more threads to display"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:79
#: ../../../../templates/themes/ukko/ukko.js:80
msgid "Loading..."
msgstr ""
#: ../../../../js/download-original.js:32
#: ../../../../js/download-original.js:33
msgid "Save as original filename"
msgstr ""
#: ../../../../js/ajax-post-controls.js:43
msgid "Reported post(s)."
msgstr ""
#: ../../../../js/ajax-post-controls.js:53
msgid "An unknown error occured!"
msgstr ""
#: ../../../../js/ajax-post-controls.js:60
msgid "Something went wrong... An unknown error occured!"
msgstr ""
#: ../../../../js/ajax-post-controls.js:68
msgid "Working..."
msgstr ""
#: ../../../../js/ajax.js:42 ../../../../js/ajax.js:45
msgid "Posting... (#%)"
msgstr ""
#: ../../../../js/ajax.js:104 ../../../../js/ajax.js:109
msgid "Posted..."
msgstr ""
#: ../../../../js/ajax.js:106 ../../../../js/ajax.js:111
msgid "An unknown error occured when posting!"
msgstr ""
#: ../../../../js/ajax.js:130 ../../../../js/ajax.js:135
msgid "Posting..."
msgstr ""
#: ../../../../js/quick-reply.js:223 ../../../../js/quick-reply.js:224
#: ../../../../js/quick-reply.js:225
msgid "Upload URL"
msgstr ""
#: ../../../../js/quick-reply.js:266 ../../../../js/quick-reply.js:267
#: ../../../../js/quick-reply.js:268
msgid "Spoiler Image"
msgstr ""
#: ../../../../js/quick-reply.js:277 ../../../../js/quick-reply.js:278
#: ../../../../js/quick-reply.js:279
msgid "Comment"
msgstr ""
#: ../../../../js/quick-reply.js:285 ../../../../js/quick-reply.js:406
#: ../../../../js/quick-reply.js:286 ../../../../js/quick-reply.js:407
#: ../../../../js/quick-reply.js:287 ../../../../js/quick-reply.js:408
msgid "Quick Reply"
msgstr ""
#: ../../../../js/watch.js:249 ../../../../js/watch.js:250
#: ../../../../js/watch.js:288 ../../../../js/watch.js:289
#: ../../../../js/watch.js:330 ../../../../js/watch.js:331
msgid "Stop watching this thread"
msgstr ""
#: ../../../../js/watch.js:249 ../../../../js/watch.js:250
#: ../../../../js/watch.js:288 ../../../../js/watch.js:289
#: ../../../../js/watch.js:330 ../../../../js/watch.js:331
msgid "Watch this thread"
msgstr ""
#: ../../../../js/watch.js:260 ../../../../js/watch.js:261
#: ../../../../js/watch.js:269 ../../../../js/watch.js:299
#: ../../../../js/watch.js:300 ../../../../js/watch.js:308
#: ../../../../js/watch.js:341 ../../../../js/watch.js:342
#: ../../../../js/watch.js:350
msgid "Unpin this board"
msgstr ""
#: ../../../../js/watch.js:260 ../../../../js/watch.js:261
#: ../../../../js/watch.js:269 ../../../../js/watch.js:299
#: ../../../../js/watch.js:300 ../../../../js/watch.js:308
#: ../../../../js/watch.js:341 ../../../../js/watch.js:342
#: ../../../../js/watch.js:350
msgid "Pin this board"
msgstr ""
#: ../../../../js/watch.js:262 ../../../../js/watch.js:267
#: ../../../../js/watch.js:268 ../../../../js/watch.js:301
#: ../../../../js/watch.js:306 ../../../../js/watch.js:307
#: ../../../../js/watch.js:343 ../../../../js/watch.js:348
#: ../../../../js/watch.js:349
msgid "Stop watching this board"
msgstr ""
#: ../../../../js/watch.js:262 ../../../../js/watch.js:267
#: ../../../../js/watch.js:268 ../../../../js/watch.js:301
#: ../../../../js/watch.js:306 ../../../../js/watch.js:307
#: ../../../../js/watch.js:343 ../../../../js/watch.js:348
#: ../../../../js/watch.js:349
msgid "Watch this board"
msgstr ""
#: ../../../../js/wpaint.js:113
msgid "Click on any image on this site to load it into oekaki applet"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Sunday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Monday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Tuesday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Wednesday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Thursday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Friday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Saturday"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "January"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "February"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "March"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "April"
msgstr ""
#: ../../../../js/local-time.js:31 ../../../../js/local-time.js:32
msgid "May"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "June"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "July"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "August"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "September"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "October"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "November"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "December"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Jan"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Feb"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Mar"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Apr"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Jun"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Jul"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Aug"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Sep"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Oct"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Nov"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Dec"
msgstr ""
#: ../../../../js/local-time.js:33
msgid "AM"
msgstr ""
#: ../../../../js/local-time.js:34
msgid "PM"
msgstr ""
#: ../../../../js/local-time.js:35
msgid "am"
msgstr ""
#: ../../../../js/local-time.js:36
msgid "pm"
msgstr ""
#: ../../../../js/expand-video.js:45 ../../../../js/expand-video.js:48
msgid "Your browser does not support HTML5 video."
msgstr ""
#: ../../../../js/expand-video.js:189 ../../../../js/expand-video.js:192
msgid "[play once]"
msgstr ""
#: ../../../../js/expand-video.js:190 ../../../../js/expand-video.js:193
msgid "[loop]"
msgstr ""
#: ../../../../js/webm-settings.js:42
msgid "WebM Settings"
msgstr ""
#: ../../../../js/webm-settings.js:44
msgid "Expand videos inline"
msgstr ""
#: ../../../../js/webm-settings.js:45
msgid "Play videos on hover"
msgstr ""
#: ../../../../js/webm-settings.js:46
msgid "Default volume"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
l10n = {"Style: ":"Style:","File":"Fichier","hide":"masquer","show":"montrer","Show locked threads":"Montrer les fils v\u00e9rouill\u00e9s","Hide locked threads":"Masquer les fils v\u00e9rouill\u00e9s","URL":"URL","Select":"Choisissez","hidden":"cach\u00e9","Show images":"Montrer les images","Hide images":"Masquer les Images","Password":"Mot de passe","Delete file only":"Supprimer le fichier uniquement","Delete":"Supprimer","Reason":"Raison","Report":"Signaler","Click reply to view.":"Cliquer sur r\u00e9pondre pour voir les r\u00e9ponses.","Brush size":"Taille du pinceau","Set text":"Saisir le texte","Clear":"Effacer","Save":"Sauvegarder","Load":"Charger","Toggle eraser":"S\u00e9lectionner la gomme","Fill":"Remplir","Enter some text":"Entrer du texte","Enter font or leave empty":"Entrer une police ou laissez vide","Forced anonymity":"Anonymat forc\u00e9.","enabled":"activ\u00e9","disabled":"d\u00e9sactiv\u00e9","Sun":"Dim","Mon":"Lun","Tue":"Mar","Wed":"Mer","Thu":"Jeu","Fri":"Ven","Sat":"Sam","Catalog":"Catalogue","Submit":"Envoyer","Quick reply":"R\u00e9ponse rapide","Posting mode: Replying to <small>&gt;&gt;{0}<\/small>":"Mode de messagerie: R\u00e9ponse \u00e0 <small>&gt;&gt;{0}<\/small>","Return":"Retour","Hello!":"Bonjour!","{0} users":"{0} utilisateurs","(hide threads from this board)":"(masquer les fis de cette planche)","(show threads from this board)":"(montrer les fils de cette planche)","No more threads to display":"Plus aucun fil \u00e0 afficher","Loading...":"Chargement\u2026","Save as original filename":"Sauvegarder avec le nom de fichier d'origine","Reported post(s).":"Message(s) signal\u00e9(s).","An unknown error occured!":"Une erreur inconnu s'est produite\u00a0!","Something went wrong... An unknown error occured!":"Quelque chose s'est mal pass\u00e9\u2026 Une erreur inconnu s'est produite\u00a0!","An unknown error occured when posting!":"Une erreur s'est produite lors de l'envoi du message!","Upload URL":"URL d'upload","Comment":"Commentaire","Quick Reply":"R\u00e9ponse Rapide","Stop watching this thread":"Arr\u00eater de surveiller le fil","Watch this thread":"Surveiller ce fil","Unpin this board":"D\u00e9s\u00e9pingler cette planche","Pin this board":"\u00c9pingler cette planche","Stop watching this board":"Arr\u00eater de surveiller cette planche","Watch this board":"Surveiller cette planche","Sunday":"Dimanche","Monday":"Lundi","Tuesday":"Mardi","Wednesday":"Mercredi","Thursday":"Jeudi","Friday":"Vendredi","Saturday":"Samedi","January":"Janvier","February":"F\u00e9vrier","March":"Mars","April":"Avril","May":"Mai","June":"Juin","July":"Juillet","August":"Aout","September":"Septembre","October":"Otobre","November":"Novembre","December":"D\u00e9cembre","Jan":"Jan","Feb":"Fev","Mar":"Mar","Apr":"Avr","Jun":"Jun","Jul":"Jul","Aug":"Aou","Sep":"Sep","Oct":"Oct","Nov":"Nov","Dec":"Dec","Your browser does not support HTML5 video.":"Votre navigateur ne supporte pas les vid\u00e9os HTML5.","[play once]":"[jouer une fois]","[loop]":"[boucler]","WebM Settings":"Param\u00e8tres Webm","Default volume":"Volume par d\u00e9faut"};

View File

@ -0,0 +1,566 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# kaf <admin@cable6.net>, 2014
msgid ""
msgstr ""
"Project-Id-Version: vichan\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-04-18 19:24+0200\n"
"PO-Revision-Date: 2014-04-18 18:51+0000\n"
"Last-Translator: czaks <marcin@6irc.net>\n"
"Language-Team: French (France) (http://www.transifex.com/projects/p/tinyboard-vichan-devel/language/fr_FR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fr_FR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: ../../../../js/style-select.js:40 ../../../../js/style-select.js:41
msgid "Style: "
msgstr "Style:"
#: ../../../../js/hide-images.js:50 ../../../../js/upload-selection.js:51
#: ../../../../js/quick-post-controls.js:30 ../../../../js/hide-images.js:51
#: ../../../../js/quick-post-controls.js:32
#: ../../../../js/upload-selection.js:61
msgid "File"
msgstr "Fichier"
#: ../../../../js/hide-images.js:50 ../../../../js/hide-images.js:51
msgid "hide"
msgstr "masquer"
#: ../../../../js/hide-images.js:56 ../../../../js/hide-images.js:57
msgid "show"
msgstr "montrer"
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
#: ../../../../js/toggle-locked-threads.js:40
#: ../../../../js/toggle-locked-threads.js:55
#: ../../../../js/toggle-locked-threads.js:41
#: ../../../../js/toggle-locked-threads.js:56
msgid "Show locked threads"
msgstr "Montrer les fils vérouillés"
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
#: ../../../../js/toggle-locked-threads.js:40
#: ../../../../js/toggle-locked-threads.js:55
#: ../../../../js/toggle-locked-threads.js:41
#: ../../../../js/toggle-locked-threads.js:56
msgid "Hide locked threads"
msgstr "Masquer les fils vérouillés"
#: ../../../../js/upload-selection.js:32 ../../../../js/upload-selection.js:45
msgid "URL"
msgstr "URL"
#: ../../../../js/upload-selection.js:50 ../../../../js/upload-selection.js:60
msgid "Select"
msgstr "Choisissez"
#: ../../../../js/upload-selection.js:53 ../../../../js/upload-selection.js:63
msgid "Remote"
msgstr ""
#: ../../../../js/upload-selection.js:56 ../../../../js/upload-selection.js:66
msgid "Embed"
msgstr ""
#: ../../../../js/upload-selection.js:59 ../../../../js/upload-selection.js:69
msgid "Oekaki"
msgstr ""
#: ../../../../js/toggle-images.js:41 ../../../../js/toggle-images.js:42
msgid "hidden"
msgstr "caché"
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Show images"
msgstr "Montrer les images"
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Hide images"
msgstr "Masquer les Images"
#: ../../../../js/quick-post-controls.js:27
#: ../../../../js/quick-post-controls.js:29
msgid "Password"
msgstr "Mot de passe"
#: ../../../../js/quick-post-controls.js:29
#: ../../../../js/quick-post-controls.js:31
msgid "Delete file only"
msgstr "Supprimer le fichier uniquement"
#: ../../../../js/quick-post-controls.js:31
#: ../../../../js/quick-post-controls.js:33
msgid "Delete"
msgstr "Supprimer"
#: ../../../../js/quick-post-controls.js:35
#: ../../../../js/quick-post-controls.js:37
msgid "Reason"
msgstr "Raison"
#: ../../../../js/quick-post-controls.js:37
#: ../../../../js/quick-post-controls.js:39
msgid "Report"
msgstr "Signaler"
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click reply to view."
msgstr "Cliquer sur répondre pour voir les réponses."
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click to expand"
msgstr ""
#: ../../../../js/expand.js:44 ../../../../js/expand.js:46
msgid "Hide expanded replies"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Brush size"
msgstr "Taille du pinceau"
#: ../../../../js/oekaki.js:10
msgid "Set text"
msgstr "Saisir le texte"
#: ../../../../js/oekaki.js:10
msgid "Clear"
msgstr "Effacer"
#: ../../../../js/oekaki.js:10
msgid "Save"
msgstr "Sauvegarder"
#: ../../../../js/oekaki.js:10
msgid "Load"
msgstr "Charger"
#: ../../../../js/oekaki.js:11
msgid "Toggle eraser"
msgstr "Sélectionner la gomme"
#: ../../../../js/oekaki.js:11
msgid "Get color"
msgstr ""
#: ../../../../js/oekaki.js:11
msgid "Fill"
msgstr "Remplir"
#: ../../../../js/oekaki.js:12
msgid "Use oekaki instead of file?"
msgstr ""
#: ../../../../js/oekaki.js:21
msgid "Edit in oekaki"
msgstr ""
#: ../../../../js/oekaki.js:152
msgid "Enter some text"
msgstr "Entrer du texte"
#: ../../../../js/oekaki.js:153
msgid "Enter font or leave empty"
msgstr "Entrer une police ou laissez vide"
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:69 ../../../../js/forced-anon.js:60
#: ../../../../js/forced-anon.js:66 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
#: ../../../../js/forced-anon.js:71
msgid "Forced anonymity"
msgstr "Anonymat forcé."
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:66
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
msgid "enabled"
msgstr "activé"
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:69
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:71
msgid "disabled"
msgstr "désactivé"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sun"
msgstr "Dim"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Mon"
msgstr "Lun"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Tue"
msgstr "Mar"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Wed"
msgstr "Mer"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Thu"
msgstr "Jeu"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Fri"
msgstr "Ven"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sat"
msgstr "Sam"
#: ../../../../js/catalog-link.js:21 ../../../../js/catalog-link.js:32
#: ../../../../js/catalog-link.js:40 ../../../../js/catalog-link.js:33
#: ../../../../js/catalog-link.js:44 ../../../../js/catalog-link.js:52
msgid "Catalog"
msgstr "Catalogue"
#: ../../../../js/quick-reply.js:21 ../../../../js/quick-reply-old.js:21
#: ../../../../js/quick-reply-old.js:23
msgid "Submit"
msgstr "Envoyer"
#: ../../../../js/quick-reply.js:31 ../../../../js/quick-reply-old.js:31
#: ../../../../js/quick-reply-old.js:33
msgid "Quick reply"
msgstr "Réponse rapide"
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
#, python-brace-format
msgid "Posting mode: Replying to <small>&gt;&gt;{0}</small>"
msgstr "Mode de messagerie: Réponse à <small>&gt;&gt;{0}</small>"
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
msgid "Return"
msgstr "Retour"
#: ../../../../js/expand-all-images.js:20
#: ../../../../js/expand-all-images.js:21
#: ../../../../js/expand-all-images.js:22
msgid "Expand all images"
msgstr ""
#: ../../../../templates/main.js:6
msgid "Hello!"
msgstr "Bonjour!"
#: ../../../../templates/main.js:18
#, python-brace-format
msgid "{0} users"
msgstr "{0} utilisateurs"
#: ../../../../templates/themes/ukko/ukko.js:28
#: ../../../../templates/themes/ukko/ukko.js:39
#: ../../../../templates/themes/ukko/ukko.js:29
#: ../../../../templates/themes/ukko/ukko.js:40
msgid "(hide threads from this board)"
msgstr "(masquer les fis de cette planche)"
#: ../../../../templates/themes/ukko/ukko.js:32
#: ../../../../templates/themes/ukko/ukko.js:44
#: ../../../../templates/themes/ukko/ukko.js:33
#: ../../../../templates/themes/ukko/ukko.js:45
msgid "(show threads from this board)"
msgstr "(montrer les fils de cette planche)"
#: ../../../../templates/themes/ukko/ukko.js:57
#: ../../../../templates/themes/ukko/ukko.js:58
msgid "No more threads to display"
msgstr "Plus aucun fil à afficher"
#: ../../../../templates/themes/ukko/ukko.js:79
#: ../../../../templates/themes/ukko/ukko.js:80
msgid "Loading..."
msgstr "Chargement…"
#: ../../../../js/download-original.js:32
#: ../../../../js/download-original.js:33
msgid "Save as original filename"
msgstr "Sauvegarder avec le nom de fichier d'origine"
#: ../../../../js/ajax-post-controls.js:43
msgid "Reported post(s)."
msgstr "Message(s) signalé(s)."
#: ../../../../js/ajax-post-controls.js:53
msgid "An unknown error occured!"
msgstr "Une erreur inconnu s'est produite !"
#: ../../../../js/ajax-post-controls.js:60
msgid "Something went wrong... An unknown error occured!"
msgstr "Quelque chose s'est mal passé… Une erreur inconnu s'est produite !"
#: ../../../../js/ajax-post-controls.js:68
msgid "Working..."
msgstr ""
#: ../../../../js/ajax.js:42 ../../../../js/ajax.js:45
msgid "Posting... (#%)"
msgstr ""
#: ../../../../js/ajax.js:104 ../../../../js/ajax.js:109
msgid "Posted..."
msgstr ""
#: ../../../../js/ajax.js:106 ../../../../js/ajax.js:111
msgid "An unknown error occured when posting!"
msgstr "Une erreur s'est produite lors de l'envoi du message!"
#: ../../../../js/ajax.js:130 ../../../../js/ajax.js:135
msgid "Posting..."
msgstr ""
#: ../../../../js/quick-reply.js:223 ../../../../js/quick-reply.js:224
#: ../../../../js/quick-reply.js:225
msgid "Upload URL"
msgstr "URL d'upload"
#: ../../../../js/quick-reply.js:266 ../../../../js/quick-reply.js:267
#: ../../../../js/quick-reply.js:268
msgid "Spoiler Image"
msgstr ""
#: ../../../../js/quick-reply.js:277 ../../../../js/quick-reply.js:278
#: ../../../../js/quick-reply.js:279
msgid "Comment"
msgstr "Commentaire"
#: ../../../../js/quick-reply.js:285 ../../../../js/quick-reply.js:406
#: ../../../../js/quick-reply.js:286 ../../../../js/quick-reply.js:407
#: ../../../../js/quick-reply.js:287 ../../../../js/quick-reply.js:408
msgid "Quick Reply"
msgstr "Réponse Rapide"
#: ../../../../js/watch.js:249 ../../../../js/watch.js:250
#: ../../../../js/watch.js:288 ../../../../js/watch.js:289
#: ../../../../js/watch.js:330 ../../../../js/watch.js:331
msgid "Stop watching this thread"
msgstr "Arrêter de surveiller le fil"
#: ../../../../js/watch.js:249 ../../../../js/watch.js:250
#: ../../../../js/watch.js:288 ../../../../js/watch.js:289
#: ../../../../js/watch.js:330 ../../../../js/watch.js:331
msgid "Watch this thread"
msgstr "Surveiller ce fil"
#: ../../../../js/watch.js:260 ../../../../js/watch.js:261
#: ../../../../js/watch.js:269 ../../../../js/watch.js:299
#: ../../../../js/watch.js:300 ../../../../js/watch.js:308
#: ../../../../js/watch.js:341 ../../../../js/watch.js:342
#: ../../../../js/watch.js:350
msgid "Unpin this board"
msgstr "Désépingler cette planche"
#: ../../../../js/watch.js:260 ../../../../js/watch.js:261
#: ../../../../js/watch.js:269 ../../../../js/watch.js:299
#: ../../../../js/watch.js:300 ../../../../js/watch.js:308
#: ../../../../js/watch.js:341 ../../../../js/watch.js:342
#: ../../../../js/watch.js:350
msgid "Pin this board"
msgstr "Épingler cette planche"
#: ../../../../js/watch.js:262 ../../../../js/watch.js:267
#: ../../../../js/watch.js:268 ../../../../js/watch.js:301
#: ../../../../js/watch.js:306 ../../../../js/watch.js:307
#: ../../../../js/watch.js:343 ../../../../js/watch.js:348
#: ../../../../js/watch.js:349
msgid "Stop watching this board"
msgstr "Arrêter de surveiller cette planche"
#: ../../../../js/watch.js:262 ../../../../js/watch.js:267
#: ../../../../js/watch.js:268 ../../../../js/watch.js:301
#: ../../../../js/watch.js:306 ../../../../js/watch.js:307
#: ../../../../js/watch.js:343 ../../../../js/watch.js:348
#: ../../../../js/watch.js:349
msgid "Watch this board"
msgstr "Surveiller cette planche"
#: ../../../../js/wpaint.js:113
msgid "Click on any image on this site to load it into oekaki applet"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Sunday"
msgstr "Dimanche"
#: ../../../../js/local-time.js:29
msgid "Monday"
msgstr "Lundi"
#: ../../../../js/local-time.js:29
msgid "Tuesday"
msgstr "Mardi"
#: ../../../../js/local-time.js:29
msgid "Wednesday"
msgstr "Mercredi"
#: ../../../../js/local-time.js:29
msgid "Thursday"
msgstr "Jeudi"
#: ../../../../js/local-time.js:29
msgid "Friday"
msgstr "Vendredi"
#: ../../../../js/local-time.js:29
msgid "Saturday"
msgstr "Samedi"
#: ../../../../js/local-time.js:31
msgid "January"
msgstr "Janvier"
#: ../../../../js/local-time.js:31
msgid "February"
msgstr "Février"
#: ../../../../js/local-time.js:31
msgid "March"
msgstr "Mars"
#: ../../../../js/local-time.js:31
msgid "April"
msgstr "Avril"
#: ../../../../js/local-time.js:31 ../../../../js/local-time.js:32
msgid "May"
msgstr "Mai"
#: ../../../../js/local-time.js:31
msgid "June"
msgstr "Juin"
#: ../../../../js/local-time.js:31
msgid "July"
msgstr "Juillet"
#: ../../../../js/local-time.js:31
msgid "August"
msgstr "Aout"
#: ../../../../js/local-time.js:31
msgid "September"
msgstr "Septembre"
#: ../../../../js/local-time.js:31
msgid "October"
msgstr "Otobre"
#: ../../../../js/local-time.js:31
msgid "November"
msgstr "Novembre"
#: ../../../../js/local-time.js:31
msgid "December"
msgstr "Décembre"
#: ../../../../js/local-time.js:32
msgid "Jan"
msgstr "Jan"
#: ../../../../js/local-time.js:32
msgid "Feb"
msgstr "Fev"
#: ../../../../js/local-time.js:32
msgid "Mar"
msgstr "Mar"
#: ../../../../js/local-time.js:32
msgid "Apr"
msgstr "Avr"
#: ../../../../js/local-time.js:32
msgid "Jun"
msgstr "Jun"
#: ../../../../js/local-time.js:32
msgid "Jul"
msgstr "Jul"
#: ../../../../js/local-time.js:32
msgid "Aug"
msgstr "Aou"
#: ../../../../js/local-time.js:32
msgid "Sep"
msgstr "Sep"
#: ../../../../js/local-time.js:32
msgid "Oct"
msgstr "Oct"
#: ../../../../js/local-time.js:32
msgid "Nov"
msgstr "Nov"
#: ../../../../js/local-time.js:32
msgid "Dec"
msgstr "Dec"
#: ../../../../js/local-time.js:33
msgid "AM"
msgstr ""
#: ../../../../js/local-time.js:34
msgid "PM"
msgstr ""
#: ../../../../js/local-time.js:35
msgid "am"
msgstr ""
#: ../../../../js/local-time.js:36
msgid "pm"
msgstr ""
#: ../../../../js/expand-video.js:45 ../../../../js/expand-video.js:48
msgid "Your browser does not support HTML5 video."
msgstr "Votre navigateur ne supporte pas les vidéos HTML5."
#: ../../../../js/expand-video.js:189 ../../../../js/expand-video.js:192
msgid "[play once]"
msgstr "[jouer une fois]"
#: ../../../../js/expand-video.js:190 ../../../../js/expand-video.js:193
msgid "[loop]"
msgstr "[boucler]"
#: ../../../../js/webm-settings.js:42
msgid "WebM Settings"
msgstr "Paramètres Webm"
#: ../../../../js/webm-settings.js:44
msgid "Expand videos inline"
msgstr ""
#: ../../../../js/webm-settings.js:45
msgid "Play videos on hover"
msgstr ""
#: ../../../../js/webm-settings.js:46
msgid "Default volume"
msgstr "Volume par défaut"

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
l10n = {"Style: ":"St\u00edlus:","File":"F\u00e1jl","hide":"elrejt","show":"mutat","Show locked threads":"Mutassa a lez\u00e1rt sz\u00e1lakat","Hide locked threads":"Rejtse el a lez\u00e1rt sz\u00e1lakat","URL":"URL","Select":"Kiv\u00e1laszt","Remote":"T\u00e1vir\u00e1ny\u00edt","Embed":"Be\u00e1gyaz","Oekaki":"Rajzod","hidden":"rejtett","Show images":"K\u00e9pek mutat\u00e1sa","Hide images":"K\u00e9pek elrejt\u00e9se","Password":"Jelsz\u00f3","Delete file only":"Csak a f\u00e1jlt t\u00f6r\u00f6lje","Delete":"T\u00f6rl\u00e9s","Reason":"Indok","Report":"Jelent","Click reply to view.":"Kattints a v\u00e1laszra a megjelen\u00edt\u00e9shez","Click to expand":"Kattints a nagyobb m\u00e9rethez","Hide expanded replies":"Rejtse el a nagy m\u00e9ret\u0171 v\u00e1laszokat","Brush size":"Ecsetm\u00e9ret","Set text":"Sz\u00f6veg megad\u00e1sa","Clear":"T\u00f6r\u00f6l","Save":"Ment\u00e9s","Load":"Bet\u00f6lt\u00e9s","Toggle eraser":"Rad\u00edr \u00e1tkapcsol\u00e1sa","Get color":"Sz\u00ednt kiv\u00e1laszt","Fill":"KIt\u00f6lt","Use oekaki instead of file?":"Szeretn\u00e9d a rajzodat haszn\u00e1lni f\u00e1jl helyett?","Edit in oekaki":"A rajzod szerkeszt\u00e9se","Enter some text":"\u00cdrj be sz\u00f6veget","Enter font or leave empty":"Adj meg bet\u0171t\u00edpust, vagy hagyd \u00fcresen","Forced anonymity":"Er\u0151ltetett anonimit\u00e1s","enabled":"enged\u00e9lyezett","disabled":"tiltott","Sun":"Va","Mon":"H\u00e9","Tue":"Ke","Wed":"Sze","Thu":"Cs\u00fc","Fri":"P\u00e9","Sat":"Szo","Catalog":"Katal\u00f3gus","Submit":"Elk\u00fcld","Quick reply":"Gyors v\u00e1lasz","Posting mode: Replying to <small>&gt;&gt;{0}<\/small>":"Hozz\u00e1sz\u00f3l\u00e1s m\u00f3dja: V\u00e1lasz a <small>&gt;&gt;{0}<\/small>","Return":"Vissza","Expand all images":"\u00d6sszes k\u00e9p nagy m\u00e9ret\u0171re","Hello!":"Szia!","{0} users":"(0) felhaszn\u00e1l\u00f3","(hide threads from this board)":"(sz\u00e1lak elrejt\u00e9se err\u0151l a t\u00e1bl\u00e1r\u00f3l)","(show threads from this board)":"(sz\u00e1lak mutat\u00e1sa err\u0151l a t\u00e1bl\u00e1r\u00f3l)","No more threads to display":"Nincs t\u00f6bb megjelen\u00edtend\u0151 sz\u00e1l","Loading...":"Bet\u00f6lt\u00e9s...","Save as original filename":"Ment\u00e9s eredeti f\u00e1jln\u00e9vvel","Reported post(s).":"Jelentett hozz\u00e1sz\u00f3l\u00e1s(ok).","An unknown error occured!":"Ismeretlen hiba t\u00f6rt\u00e9nt!","Something went wrong... An unknown error occured!":"V\u00e9g\u00e9rv\u00e9nyesen... Valami elveszett!","Working...":"Feldolgoz\u00e1s...","Posting... (#%)":"K\u00fcld\u00e9s... (#%)","Posted...":"Elk\u00fcldve...","An unknown error occured when posting!":"Ismeretlen hiba t\u00f6rt\u00e9nt k\u00fcld\u00e9s k\u00f6zben!","Posting...":"K\u00fcld\u00e9s...","Upload URL":"URL Felt\u00f6lt\u00e9se","Spoiler Image":"Spoiler K\u00e9p","Comment":"Komment","Quick Reply":"Gyors v\u00e1lasz","Stop watching this thread":"Sz\u00e1l figyel\u00e9s\u00e9nek megsz\u00fcntet\u00e9se","Watch this thread":"Figyelje ezt a sz\u00e1lat","Unpin this board":"T\u00e1bla kiemel\u00e9s\u00e9nek megsz\u00fcntet\u00e9se","Pin this board":"T\u00e1bla kiemel\u00e9se","Stop watching this board":"T\u00e1bla figyel\u00e9s\u00e9nek megsz\u00fcntet\u00e9se","Watch this board":"Figyelje ezt a t\u00e1bl\u00e1t","Click on any image on this site to load it into oekaki applet":"Kattints a k\u00edv\u00e1nt k\u00e9pre ezen az oldalon a rajzprogramba bet\u00f6lt\u00e9shez","Sunday":"Vas\u00e1rnap","Monday":"H\u00e9tf\u0151","Tuesday":"Kedd","Wednesday":"Szerda","Thursday":"Cs\u00fct\u00f6rt\u00f6k","Friday":"P\u00e9ntek","Saturday":"Szombat","January":"Janu\u00e1r","February":"Febru\u00e1r","March":"M\u00e1rcius","April":"\u00c1prilis","May":"M\u00e1jus","June":"J\u00fanius","July":"J\u00falius","August":"Augusztus","September":"Szeptember","October":"Okt\u00f3ber","November":"November","December":"December","Jan":"Jan","Feb":"Feb","Mar":"M\u00e1r","Apr":"\u00c1pr","Jun":"Jun","Jul":"Jul","Aug":"Aug","Sep":"Szep","Oct":"Okt","Nov":"Nov","Dec":"Dec","AM":"D\u00e9lel\u0151tt","PM":"D\u00e9lut\u00e1n","am":"d\u00e9lel\u0151tt","pm":"d\u00e9lut\u00e1n","Your browser does not support HTML5 video.":"A b\u00f6ng\u00e9sz\u0151d nem t\u00e1mogatja a HTML5 vide\u00f3t.","[play once]":"[lej\u00e1tsz\u00e1s egyszer]","[loop]":"[ism\u00e9tl\u00e9s]","WebM Settings":"WebM be\u00e1ll\u00edt\u00e1sok","Expand videos inline":"Vide\u00f3k kinagy\u00edt\u00e1sa bel\u00fcl","Play videos on hover":"Vide\u00f3k lebeg\u0151 lej\u00e1tsz\u00e1sa ","Default volume":"Alap hanger\u0151"};

View File

@ -0,0 +1,566 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# limbobarrage <ijynyjdl@grr.la>, 2014
msgid ""
msgstr ""
"Project-Id-Version: vichan\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-04-18 19:24+0200\n"
"PO-Revision-Date: 2014-04-18 18:51+0000\n"
"Last-Translator: czaks <marcin@6irc.net>\n"
"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/tinyboard-vichan-devel/language/hu_HU/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: hu_HU\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../../../../js/style-select.js:40 ../../../../js/style-select.js:41
msgid "Style: "
msgstr "Stílus:"
#: ../../../../js/hide-images.js:50 ../../../../js/upload-selection.js:51
#: ../../../../js/quick-post-controls.js:30 ../../../../js/hide-images.js:51
#: ../../../../js/quick-post-controls.js:32
#: ../../../../js/upload-selection.js:61
msgid "File"
msgstr "Fájl"
#: ../../../../js/hide-images.js:50 ../../../../js/hide-images.js:51
msgid "hide"
msgstr "elrejt"
#: ../../../../js/hide-images.js:56 ../../../../js/hide-images.js:57
msgid "show"
msgstr "mutat"
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
#: ../../../../js/toggle-locked-threads.js:40
#: ../../../../js/toggle-locked-threads.js:55
#: ../../../../js/toggle-locked-threads.js:41
#: ../../../../js/toggle-locked-threads.js:56
msgid "Show locked threads"
msgstr "Mutassa a lezárt szálakat"
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
#: ../../../../js/toggle-locked-threads.js:40
#: ../../../../js/toggle-locked-threads.js:55
#: ../../../../js/toggle-locked-threads.js:41
#: ../../../../js/toggle-locked-threads.js:56
msgid "Hide locked threads"
msgstr "Rejtse el a lezárt szálakat"
#: ../../../../js/upload-selection.js:32 ../../../../js/upload-selection.js:45
msgid "URL"
msgstr "URL"
#: ../../../../js/upload-selection.js:50 ../../../../js/upload-selection.js:60
msgid "Select"
msgstr "Kiválaszt"
#: ../../../../js/upload-selection.js:53 ../../../../js/upload-selection.js:63
msgid "Remote"
msgstr "Távirányít"
#: ../../../../js/upload-selection.js:56 ../../../../js/upload-selection.js:66
msgid "Embed"
msgstr "Beágyaz"
#: ../../../../js/upload-selection.js:59 ../../../../js/upload-selection.js:69
msgid "Oekaki"
msgstr "Rajzod"
#: ../../../../js/toggle-images.js:41 ../../../../js/toggle-images.js:42
msgid "hidden"
msgstr "rejtett"
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Show images"
msgstr "Képek mutatása"
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Hide images"
msgstr "Képek elrejtése"
#: ../../../../js/quick-post-controls.js:27
#: ../../../../js/quick-post-controls.js:29
msgid "Password"
msgstr "Jelszó"
#: ../../../../js/quick-post-controls.js:29
#: ../../../../js/quick-post-controls.js:31
msgid "Delete file only"
msgstr "Csak a fájlt törölje"
#: ../../../../js/quick-post-controls.js:31
#: ../../../../js/quick-post-controls.js:33
msgid "Delete"
msgstr "Törlés"
#: ../../../../js/quick-post-controls.js:35
#: ../../../../js/quick-post-controls.js:37
msgid "Reason"
msgstr "Indok"
#: ../../../../js/quick-post-controls.js:37
#: ../../../../js/quick-post-controls.js:39
msgid "Report"
msgstr "Jelent"
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click reply to view."
msgstr "Kattints a válaszra a megjelenítéshez"
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click to expand"
msgstr "Kattints a nagyobb mérethez"
#: ../../../../js/expand.js:44 ../../../../js/expand.js:46
msgid "Hide expanded replies"
msgstr "Rejtse el a nagy méretű válaszokat"
#: ../../../../js/oekaki.js:10
msgid "Brush size"
msgstr "Ecsetméret"
#: ../../../../js/oekaki.js:10
msgid "Set text"
msgstr "Szöveg megadása"
#: ../../../../js/oekaki.js:10
msgid "Clear"
msgstr "Töröl"
#: ../../../../js/oekaki.js:10
msgid "Save"
msgstr "Mentés"
#: ../../../../js/oekaki.js:10
msgid "Load"
msgstr "Betöltés"
#: ../../../../js/oekaki.js:11
msgid "Toggle eraser"
msgstr "Radír átkapcsolása"
#: ../../../../js/oekaki.js:11
msgid "Get color"
msgstr "Színt kiválaszt"
#: ../../../../js/oekaki.js:11
msgid "Fill"
msgstr "KItölt"
#: ../../../../js/oekaki.js:12
msgid "Use oekaki instead of file?"
msgstr "Szeretnéd a rajzodat használni fájl helyett?"
#: ../../../../js/oekaki.js:21
msgid "Edit in oekaki"
msgstr "A rajzod szerkesztése"
#: ../../../../js/oekaki.js:152
msgid "Enter some text"
msgstr "Írj be szöveget"
#: ../../../../js/oekaki.js:153
msgid "Enter font or leave empty"
msgstr "Adj meg betűtípust, vagy hagyd üresen"
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:69 ../../../../js/forced-anon.js:60
#: ../../../../js/forced-anon.js:66 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
#: ../../../../js/forced-anon.js:71
msgid "Forced anonymity"
msgstr "Erőltetett anonimitás"
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:66
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
msgid "enabled"
msgstr "engedélyezett"
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:69
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:71
msgid "disabled"
msgstr "tiltott"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sun"
msgstr "Va"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Mon"
msgstr "Hé"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Tue"
msgstr "Ke"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Wed"
msgstr "Sze"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Thu"
msgstr "Csü"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Fri"
msgstr "Pé"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sat"
msgstr "Szo"
#: ../../../../js/catalog-link.js:21 ../../../../js/catalog-link.js:32
#: ../../../../js/catalog-link.js:40 ../../../../js/catalog-link.js:33
#: ../../../../js/catalog-link.js:44 ../../../../js/catalog-link.js:52
msgid "Catalog"
msgstr "Katalógus"
#: ../../../../js/quick-reply.js:21 ../../../../js/quick-reply-old.js:21
#: ../../../../js/quick-reply-old.js:23
msgid "Submit"
msgstr "Elküld"
#: ../../../../js/quick-reply.js:31 ../../../../js/quick-reply-old.js:31
#: ../../../../js/quick-reply-old.js:33
msgid "Quick reply"
msgstr "Gyors válasz"
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
#, python-brace-format
msgid "Posting mode: Replying to <small>&gt;&gt;{0}</small>"
msgstr "Hozzászólás módja: Válasz a <small>&gt;&gt;{0}</small>"
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
msgid "Return"
msgstr "Vissza"
#: ../../../../js/expand-all-images.js:20
#: ../../../../js/expand-all-images.js:21
#: ../../../../js/expand-all-images.js:22
msgid "Expand all images"
msgstr "Összes kép nagy méretűre"
#: ../../../../templates/main.js:6
msgid "Hello!"
msgstr "Szia!"
#: ../../../../templates/main.js:18
#, python-brace-format
msgid "{0} users"
msgstr "(0) felhasználó"
#: ../../../../templates/themes/ukko/ukko.js:28
#: ../../../../templates/themes/ukko/ukko.js:39
#: ../../../../templates/themes/ukko/ukko.js:29
#: ../../../../templates/themes/ukko/ukko.js:40
msgid "(hide threads from this board)"
msgstr "(szálak elrejtése erről a tábláról)"
#: ../../../../templates/themes/ukko/ukko.js:32
#: ../../../../templates/themes/ukko/ukko.js:44
#: ../../../../templates/themes/ukko/ukko.js:33
#: ../../../../templates/themes/ukko/ukko.js:45
msgid "(show threads from this board)"
msgstr "(szálak mutatása erről a tábláról)"
#: ../../../../templates/themes/ukko/ukko.js:57
#: ../../../../templates/themes/ukko/ukko.js:58
msgid "No more threads to display"
msgstr "Nincs több megjelenítendő szál"
#: ../../../../templates/themes/ukko/ukko.js:79
#: ../../../../templates/themes/ukko/ukko.js:80
msgid "Loading..."
msgstr "Betöltés..."
#: ../../../../js/download-original.js:32
#: ../../../../js/download-original.js:33
msgid "Save as original filename"
msgstr "Mentés eredeti fájlnévvel"
#: ../../../../js/ajax-post-controls.js:43
msgid "Reported post(s)."
msgstr "Jelentett hozzászólás(ok)."
#: ../../../../js/ajax-post-controls.js:53
msgid "An unknown error occured!"
msgstr "Ismeretlen hiba történt!"
#: ../../../../js/ajax-post-controls.js:60
msgid "Something went wrong... An unknown error occured!"
msgstr "Végérvényesen... Valami elveszett!"
#: ../../../../js/ajax-post-controls.js:68
msgid "Working..."
msgstr "Feldolgozás..."
#: ../../../../js/ajax.js:42 ../../../../js/ajax.js:45
msgid "Posting... (#%)"
msgstr "Küldés... (#%)"
#: ../../../../js/ajax.js:104 ../../../../js/ajax.js:109
msgid "Posted..."
msgstr "Elküldve..."
#: ../../../../js/ajax.js:106 ../../../../js/ajax.js:111
msgid "An unknown error occured when posting!"
msgstr "Ismeretlen hiba történt küldés közben!"
#: ../../../../js/ajax.js:130 ../../../../js/ajax.js:135
msgid "Posting..."
msgstr "Küldés..."
#: ../../../../js/quick-reply.js:223 ../../../../js/quick-reply.js:224
#: ../../../../js/quick-reply.js:225
msgid "Upload URL"
msgstr "URL Feltöltése"
#: ../../../../js/quick-reply.js:266 ../../../../js/quick-reply.js:267
#: ../../../../js/quick-reply.js:268
msgid "Spoiler Image"
msgstr "Spoiler Kép"
#: ../../../../js/quick-reply.js:277 ../../../../js/quick-reply.js:278
#: ../../../../js/quick-reply.js:279
msgid "Comment"
msgstr "Komment"
#: ../../../../js/quick-reply.js:285 ../../../../js/quick-reply.js:406
#: ../../../../js/quick-reply.js:286 ../../../../js/quick-reply.js:407
#: ../../../../js/quick-reply.js:287 ../../../../js/quick-reply.js:408
msgid "Quick Reply"
msgstr "Gyors válasz"
#: ../../../../js/watch.js:249 ../../../../js/watch.js:250
#: ../../../../js/watch.js:288 ../../../../js/watch.js:289
#: ../../../../js/watch.js:330 ../../../../js/watch.js:331
msgid "Stop watching this thread"
msgstr "Szál figyelésének megszüntetése"
#: ../../../../js/watch.js:249 ../../../../js/watch.js:250
#: ../../../../js/watch.js:288 ../../../../js/watch.js:289
#: ../../../../js/watch.js:330 ../../../../js/watch.js:331
msgid "Watch this thread"
msgstr "Figyelje ezt a szálat"
#: ../../../../js/watch.js:260 ../../../../js/watch.js:261
#: ../../../../js/watch.js:269 ../../../../js/watch.js:299
#: ../../../../js/watch.js:300 ../../../../js/watch.js:308
#: ../../../../js/watch.js:341 ../../../../js/watch.js:342
#: ../../../../js/watch.js:350
msgid "Unpin this board"
msgstr "Tábla kiemelésének megszüntetése"
#: ../../../../js/watch.js:260 ../../../../js/watch.js:261
#: ../../../../js/watch.js:269 ../../../../js/watch.js:299
#: ../../../../js/watch.js:300 ../../../../js/watch.js:308
#: ../../../../js/watch.js:341 ../../../../js/watch.js:342
#: ../../../../js/watch.js:350
msgid "Pin this board"
msgstr "Tábla kiemelése"
#: ../../../../js/watch.js:262 ../../../../js/watch.js:267
#: ../../../../js/watch.js:268 ../../../../js/watch.js:301
#: ../../../../js/watch.js:306 ../../../../js/watch.js:307
#: ../../../../js/watch.js:343 ../../../../js/watch.js:348
#: ../../../../js/watch.js:349
msgid "Stop watching this board"
msgstr "Tábla figyelésének megszüntetése"
#: ../../../../js/watch.js:262 ../../../../js/watch.js:267
#: ../../../../js/watch.js:268 ../../../../js/watch.js:301
#: ../../../../js/watch.js:306 ../../../../js/watch.js:307
#: ../../../../js/watch.js:343 ../../../../js/watch.js:348
#: ../../../../js/watch.js:349
msgid "Watch this board"
msgstr "Figyelje ezt a táblát"
#: ../../../../js/wpaint.js:113
msgid "Click on any image on this site to load it into oekaki applet"
msgstr "Kattints a kívánt képre ezen az oldalon a rajzprogramba betöltéshez"
#: ../../../../js/local-time.js:29
msgid "Sunday"
msgstr "Vasárnap"
#: ../../../../js/local-time.js:29
msgid "Monday"
msgstr "Hétfő"
#: ../../../../js/local-time.js:29
msgid "Tuesday"
msgstr "Kedd"
#: ../../../../js/local-time.js:29
msgid "Wednesday"
msgstr "Szerda"
#: ../../../../js/local-time.js:29
msgid "Thursday"
msgstr "Csütörtök"
#: ../../../../js/local-time.js:29
msgid "Friday"
msgstr "Péntek"
#: ../../../../js/local-time.js:29
msgid "Saturday"
msgstr "Szombat"
#: ../../../../js/local-time.js:31
msgid "January"
msgstr "Január"
#: ../../../../js/local-time.js:31
msgid "February"
msgstr "Február"
#: ../../../../js/local-time.js:31
msgid "March"
msgstr "Március"
#: ../../../../js/local-time.js:31
msgid "April"
msgstr "Április"
#: ../../../../js/local-time.js:31 ../../../../js/local-time.js:32
msgid "May"
msgstr "Május"
#: ../../../../js/local-time.js:31
msgid "June"
msgstr "Június"
#: ../../../../js/local-time.js:31
msgid "July"
msgstr "Július"
#: ../../../../js/local-time.js:31
msgid "August"
msgstr "Augusztus"
#: ../../../../js/local-time.js:31
msgid "September"
msgstr "Szeptember"
#: ../../../../js/local-time.js:31
msgid "October"
msgstr "Október"
#: ../../../../js/local-time.js:31
msgid "November"
msgstr "November"
#: ../../../../js/local-time.js:31
msgid "December"
msgstr "December"
#: ../../../../js/local-time.js:32
msgid "Jan"
msgstr "Jan"
#: ../../../../js/local-time.js:32
msgid "Feb"
msgstr "Feb"
#: ../../../../js/local-time.js:32
msgid "Mar"
msgstr "Már"
#: ../../../../js/local-time.js:32
msgid "Apr"
msgstr "Ápr"
#: ../../../../js/local-time.js:32
msgid "Jun"
msgstr "Jun"
#: ../../../../js/local-time.js:32
msgid "Jul"
msgstr "Jul"
#: ../../../../js/local-time.js:32
msgid "Aug"
msgstr "Aug"
#: ../../../../js/local-time.js:32
msgid "Sep"
msgstr "Szep"
#: ../../../../js/local-time.js:32
msgid "Oct"
msgstr "Okt"
#: ../../../../js/local-time.js:32
msgid "Nov"
msgstr "Nov"
#: ../../../../js/local-time.js:32
msgid "Dec"
msgstr "Dec"
#: ../../../../js/local-time.js:33
msgid "AM"
msgstr "Délelőtt"
#: ../../../../js/local-time.js:34
msgid "PM"
msgstr "Délután"
#: ../../../../js/local-time.js:35
msgid "am"
msgstr "délelőtt"
#: ../../../../js/local-time.js:36
msgid "pm"
msgstr "délután"
#: ../../../../js/expand-video.js:45 ../../../../js/expand-video.js:48
msgid "Your browser does not support HTML5 video."
msgstr "A böngésződ nem támogatja a HTML5 videót."
#: ../../../../js/expand-video.js:189 ../../../../js/expand-video.js:192
msgid "[play once]"
msgstr "[lejátszás egyszer]"
#: ../../../../js/expand-video.js:190 ../../../../js/expand-video.js:193
msgid "[loop]"
msgstr "[ismétlés]"
#: ../../../../js/webm-settings.js:42
msgid "WebM Settings"
msgstr "WebM beállítások"
#: ../../../../js/webm-settings.js:44
msgid "Expand videos inline"
msgstr "Videók kinagyítása belül"
#: ../../../../js/webm-settings.js:45
msgid "Play videos on hover"
msgstr "Videók lebegő lejátszása "
#: ../../../../js/webm-settings.js:46
msgid "Default volume"
msgstr "Alap hangerő"

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
l10n = {"Style: ":"Stilius","File":"Failas","hide":"sl\u0117pti","show":"rodyti","Show locked threads":"Rodyti u\u017erakintas temas","Hide locked threads":"Pasl\u0117pti u\u017erakintas temas","Sunday":"Sekmadienis","Monday":"Pirmadienis","Tuesday":"Antradienis","Wednesday":"Tre\u010diadienis","Thursday":"Ketvirtadienis","Friday":"Penktadienis","Saturday":"\u0160e\u0161tadienis","January":"Sausis","February":"Vasaris","March":"Kovas","April":"Balandis","WebM Settings":"WebM nustatymai"};

View File

@ -1,50 +1,41 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
#
# Translators:
# banginis <asesuarbanesu@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Project-Id-Version: vichan\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-02-20 20:19+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"POT-Creation-Date: 2014-04-18 19:24+0200\n"
"PO-Revision-Date: 2014-04-18 18:51+0000\n"
"Last-Translator: czaks <marcin@6irc.net>\n"
"Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/tinyboard-vichan-devel/language/lt_LT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: lt_LT\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click reply to view."
msgstr ""
#: ../../../../js/style-select.js:40 ../../../../js/style-select.js:41
msgid "Style: "
msgstr "Stilius"
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click to expand"
msgstr ""
#: ../../../../js/hide-images.js:50 ../../../../js/upload-selection.js:51
#: ../../../../js/quick-post-controls.js:30 ../../../../js/hide-images.js:51
#: ../../../../js/quick-post-controls.js:32
#: ../../../../js/upload-selection.js:61
msgid "File"
msgstr "Failas"
#: ../../../../js/quick-reply.js:30 ../../../../js/quick-reply.js:31
#: ../../../../js/quick-reply-old.js:31 ../../../../js/quick-reply-old.js:33
msgid "Quick reply"
msgstr ""
#: ../../../../js/hide-images.js:50 ../../../../js/hide-images.js:51
msgid "hide"
msgstr "slėpti"
#: ../../../../js/quick-reply.js:32 ../../../../js/quick-reply.js:33
#: ../../../../js/quick-reply-old.js:33 ../../../../js/quick-reply-old.js:35
#, python-brace-format
msgid "Posting mode: Replying to <small>&gt;&gt;{0}</small>"
msgstr ""
#: ../../../../js/quick-reply.js:32 ../../../../js/quick-reply.js:33
#: ../../../../js/quick-reply-old.js:33 ../../../../js/quick-reply-old.js:35
msgid "Return"
msgstr ""
#: ../../../../js/quick-reply.js:20 ../../../../js/quick-reply.js:21
#: ../../../../js/quick-reply-old.js:21 ../../../../js/quick-reply-old.js:23
msgid "Submit"
msgstr ""
#: ../../../../js/hide-images.js:56 ../../../../js/hide-images.js:57
msgid "show"
msgstr "rodyti"
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
@ -53,7 +44,7 @@ msgstr ""
#: ../../../../js/toggle-locked-threads.js:41
#: ../../../../js/toggle-locked-threads.js:56
msgid "Show locked threads"
msgstr ""
msgstr "Rodyti užrakintas temas"
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
@ -62,151 +53,7 @@ msgstr ""
#: ../../../../js/toggle-locked-threads.js:41
#: ../../../../js/toggle-locked-threads.js:56
msgid "Hide locked threads"
msgstr ""
#: ../../../../js/quick-post-controls.js:27
#: ../../../../js/quick-post-controls.js:29
msgid "Password"
msgstr ""
#: ../../../../js/quick-post-controls.js:29
#: ../../../../js/quick-post-controls.js:31
msgid "Delete file only"
msgstr ""
#: ../../../../js/quick-post-controls.js:30 ../../../../js/hide-images.js:50
#: ../../../../js/upload-selection.js:51 ../../../../js/hide-images.js:51
#: ../../../../js/quick-post-controls.js:32
#: ../../../../js/upload-selection.js:61
msgid "File"
msgstr ""
#: ../../../../js/quick-post-controls.js:31
#: ../../../../js/quick-post-controls.js:33
msgid "Delete"
msgstr ""
#: ../../../../js/quick-post-controls.js:35
#: ../../../../js/quick-post-controls.js:37
msgid "Reason"
msgstr ""
#: ../../../../js/quick-post-controls.js:37
#: ../../../../js/quick-post-controls.js:39
msgid "Report"
msgstr ""
#: ../../../../js/expand.js:41 ../../../../js/expand.js:43
#: ../../../../js/expand.js:44 ../../../../js/expand.js:46
msgid "Hide expanded replies"
msgstr ""
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:69 ../../../../js/forced-anon.js:60
#: ../../../../js/forced-anon.js:66 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
#: ../../../../js/forced-anon.js:71
msgid "Forced anonymity"
msgstr ""
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:66
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
msgid "enabled"
msgstr ""
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:69
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:71
msgid "disabled"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
msgid "Sun"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
msgid "Mon"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
msgid "Tue"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
msgid "Wed"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
msgid "Thu"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
msgid "Fri"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
msgid "Sat"
msgstr ""
#: ../../../../js/style-select.js:40 ../../../../js/style-select.js:41
msgid "Style: "
msgstr ""
#: ../../../../js/hide-images.js:50 ../../../../js/hide-images.js:51
msgid "hide"
msgstr ""
#: ../../../../js/hide-images.js:56 ../../../../js/hide-images.js:57
msgid "show"
msgstr ""
#: ../../../../js/toggle-images.js:41 ../../../../js/toggle-images.js:42
msgid "hidden"
msgstr ""
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Show images"
msgstr ""
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Hide images"
msgstr ""
#: ../../../../templates/main.js:6
msgid "Hello!"
msgstr ""
#: ../../../../templates/main.js:18
#, python-brace-format
msgid "{0} users"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:28
#: ../../../../templates/themes/ukko/ukko.js:39
#: ../../../../templates/themes/ukko/ukko.js:29
#: ../../../../templates/themes/ukko/ukko.js:40
msgid "(hide threads from this board)"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:32
#: ../../../../templates/themes/ukko/ukko.js:44
#: ../../../../templates/themes/ukko/ukko.js:33
#: ../../../../templates/themes/ukko/ukko.js:45
msgid "(show threads from this board)"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:57
#: ../../../../templates/themes/ukko/ukko.js:58
msgid "No more threads to display"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:79
#: ../../../../templates/themes/ukko/ukko.js:80
msgid "Loading..."
msgstr ""
msgstr "Paslėpti užrakintas temas"
#: ../../../../js/upload-selection.js:32 ../../../../js/upload-selection.js:45
msgid "URL"
@ -228,6 +75,57 @@ msgstr ""
msgid "Oekaki"
msgstr ""
#: ../../../../js/toggle-images.js:41 ../../../../js/toggle-images.js:42
msgid "hidden"
msgstr ""
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Show images"
msgstr ""
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Hide images"
msgstr ""
#: ../../../../js/quick-post-controls.js:27
#: ../../../../js/quick-post-controls.js:29
msgid "Password"
msgstr ""
#: ../../../../js/quick-post-controls.js:29
#: ../../../../js/quick-post-controls.js:31
msgid "Delete file only"
msgstr ""
#: ../../../../js/quick-post-controls.js:31
#: ../../../../js/quick-post-controls.js:33
msgid "Delete"
msgstr ""
#: ../../../../js/quick-post-controls.js:35
#: ../../../../js/quick-post-controls.js:37
msgid "Reason"
msgstr ""
#: ../../../../js/quick-post-controls.js:37
#: ../../../../js/quick-post-controls.js:39
msgid "Report"
msgstr ""
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click reply to view."
msgstr ""
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click to expand"
msgstr ""
#: ../../../../js/expand.js:44 ../../../../js/expand.js:46
msgid "Hide expanded replies"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Brush size"
msgstr ""
@ -276,18 +174,127 @@ msgstr ""
msgid "Enter font or leave empty"
msgstr ""
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:69 ../../../../js/forced-anon.js:60
#: ../../../../js/forced-anon.js:66 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
#: ../../../../js/forced-anon.js:71
msgid "Forced anonymity"
msgstr ""
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:66
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
msgid "enabled"
msgstr ""
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:69
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:71
msgid "disabled"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sun"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Mon"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Tue"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Wed"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Thu"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Fri"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sat"
msgstr ""
#: ../../../../js/catalog-link.js:21 ../../../../js/catalog-link.js:32
#: ../../../../js/catalog-link.js:40 ../../../../js/catalog-link.js:33
#: ../../../../js/catalog-link.js:44 ../../../../js/catalog-link.js:52
msgid "Catalog"
msgstr ""
#: ../../../../js/quick-reply.js:21 ../../../../js/quick-reply-old.js:21
#: ../../../../js/quick-reply-old.js:23
msgid "Submit"
msgstr ""
#: ../../../../js/quick-reply.js:31 ../../../../js/quick-reply-old.js:31
#: ../../../../js/quick-reply-old.js:33
msgid "Quick reply"
msgstr ""
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
#, python-brace-format
msgid "Posting mode: Replying to <small>&gt;&gt;{0}</small>"
msgstr ""
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
msgid "Return"
msgstr ""
#: ../../../../js/expand-all-images.js:20
#: ../../../../js/expand-all-images.js:21
#: ../../../../js/expand-all-images.js:22
msgid "Expand all images"
msgstr ""
#: ../../../../templates/main.js:6
msgid "Hello!"
msgstr ""
#: ../../../../templates/main.js:18
#, python-brace-format
msgid "{0} users"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:28
#: ../../../../templates/themes/ukko/ukko.js:39
#: ../../../../templates/themes/ukko/ukko.js:29
#: ../../../../templates/themes/ukko/ukko.js:40
msgid "(hide threads from this board)"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:32
#: ../../../../templates/themes/ukko/ukko.js:44
#: ../../../../templates/themes/ukko/ukko.js:33
#: ../../../../templates/themes/ukko/ukko.js:45
msgid "(show threads from this board)"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:57
#: ../../../../templates/themes/ukko/ukko.js:58
msgid "No more threads to display"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:79
#: ../../../../templates/themes/ukko/ukko.js:80
msgid "Loading..."
msgstr ""
#: ../../../../js/download-original.js:32
#: ../../../../js/download-original.js:33
msgid "Save as original filename"
@ -326,19 +333,23 @@ msgid "Posting..."
msgstr ""
#: ../../../../js/quick-reply.js:223 ../../../../js/quick-reply.js:224
#: ../../../../js/quick-reply.js:225
msgid "Upload URL"
msgstr ""
#: ../../../../js/quick-reply.js:266 ../../../../js/quick-reply.js:267
#: ../../../../js/quick-reply.js:268
msgid "Spoiler Image"
msgstr ""
#: ../../../../js/quick-reply.js:277 ../../../../js/quick-reply.js:278
#: ../../../../js/quick-reply.js:279
msgid "Comment"
msgstr ""
#: ../../../../js/quick-reply.js:285 ../../../../js/quick-reply.js:406
#: ../../../../js/quick-reply.js:286 ../../../../js/quick-reply.js:407
#: ../../../../js/quick-reply.js:287 ../../../../js/quick-reply.js:408
msgid "Quick Reply"
msgstr ""
@ -389,3 +400,167 @@ msgstr ""
#: ../../../../js/wpaint.js:113
msgid "Click on any image on this site to load it into oekaki applet"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Sunday"
msgstr "Sekmadienis"
#: ../../../../js/local-time.js:29
msgid "Monday"
msgstr "Pirmadienis"
#: ../../../../js/local-time.js:29
msgid "Tuesday"
msgstr "Antradienis"
#: ../../../../js/local-time.js:29
msgid "Wednesday"
msgstr "Trečiadienis"
#: ../../../../js/local-time.js:29
msgid "Thursday"
msgstr "Ketvirtadienis"
#: ../../../../js/local-time.js:29
msgid "Friday"
msgstr "Penktadienis"
#: ../../../../js/local-time.js:29
msgid "Saturday"
msgstr "Šeštadienis"
#: ../../../../js/local-time.js:31
msgid "January"
msgstr "Sausis"
#: ../../../../js/local-time.js:31
msgid "February"
msgstr "Vasaris"
#: ../../../../js/local-time.js:31
msgid "March"
msgstr "Kovas"
#: ../../../../js/local-time.js:31
msgid "April"
msgstr "Balandis"
#: ../../../../js/local-time.js:31 ../../../../js/local-time.js:32
msgid "May"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "June"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "July"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "August"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "September"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "October"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "November"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "December"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Jan"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Feb"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Mar"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Apr"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Jun"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Jul"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Aug"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Sep"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Oct"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Nov"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Dec"
msgstr ""
#: ../../../../js/local-time.js:33
msgid "AM"
msgstr ""
#: ../../../../js/local-time.js:34
msgid "PM"
msgstr ""
#: ../../../../js/local-time.js:35
msgid "am"
msgstr ""
#: ../../../../js/local-time.js:36
msgid "pm"
msgstr ""
#: ../../../../js/expand-video.js:45 ../../../../js/expand-video.js:48
msgid "Your browser does not support HTML5 video."
msgstr ""
#: ../../../../js/expand-video.js:189 ../../../../js/expand-video.js:192
msgid "[play once]"
msgstr ""
#: ../../../../js/expand-video.js:190 ../../../../js/expand-video.js:193
msgid "[loop]"
msgstr ""
#: ../../../../js/webm-settings.js:42
msgid "WebM Settings"
msgstr "WebM nustatymai"
#: ../../../../js/webm-settings.js:44
msgid "Expand videos inline"
msgstr ""
#: ../../../../js/webm-settings.js:45
msgid "Play videos on hover"
msgstr ""
#: ../../../../js/webm-settings.js:46
msgid "Default volume"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -1 +1 @@
l10n = {"Submit":"Wy\u015blij","Quick reply":"Szybka odpowied\u017a","Posting mode: Replying to <small>&gt;&gt;{0}<\/small>":"Tryb postowania: Odpowied\u017a na <small>&gt;&gt;{0}<\/small>","Return":"Powr\u00f3t","Click reply to view.":"Kliknij Odpowied\u017a aby zobaczy\u0107.","Click to expand":"Kliknij aby rozwin\u0105\u0107","Hide expanded replies":"Schowaj rozwini\u0119te odpowiedzi","Mon":"pon","Tue":"wto","Wed":"\u015bro","Thu":"czw","Fri":"pi\u0105","Sat":"sob","Sun":"nie","Show locked threads":"Poka\u017c zablokowane tematy","Hide locked threads":"Schowaj zablokowane tematy","Forced anonymity":"Wymuszona anonimowo\u015b\u0107","enabled":"w\u0142\u0105czona","disabled":"wy\u0142\u0105czona","Password":"Has\u0142o","Delete file only":"Usu\u0144 tylko plik","File":"Plik","Delete":"Usu\u0144","Reason":"Pow\u00f3d","Report":"Zg\u0142oszenie","hide":"ukryj","show":"poka\u017c","hidden":"ukryte","Show images":"Poka\u017c obrazki","Hide images":"Ukryj obrazki","Style: ":"Styl: ","Hello!":"Witaj!","{0} users":"{0} u\u017cytkownik\u00f3w","(hide threads from this board)":"(schowaj w\u0105tki z tego boardu)","(show threads from this board)":"(poka\u017c w\u0105tki z tego boardu)","No more threads to display":"Nie ma wi\u0119cej w\u0105tk\u00f3w do wy\u015bwietlenia","Loading...":"\u0141adowanie...","URL":"URL","Select":"Wybierz","Remote":"Zdalny","Embed":"Osad\u017a","Oekaki":"Oekaki","Brush size":"Rozmiar p\u0119dzla","Set text":"Ustaw tekst","Clear":"Wyczy\u015b\u0107","Save":"Zapisz","Load":"Za\u0142aduj","Toggle eraser":"Prze\u0142\u0105cz gumk\u0119","Get color":"Wybierz kolor","Fill":"Wype\u0142nij","Use oekaki instead of file?":"U\u017cy\u0107 oekaki zamiast pliku?","Edit in oekaki":"Edytuj w oekaki","Enter some text":"Podaj jaki\u015b tekst","Enter font or leave empty":"Podaj czcionk\u0119, b\u0105d\u017a pozostaw puste","Catalog":"Katalog","Expand all images":"Rozwi\u0144 wszystkie obrazki","Save as original filename":"Zapisz z oryginaln\u0105 nazw\u0105 pliku","Reported post(s).":"Zaraportowano post(y).","An unknown error occured!":"Wyst\u0105pi\u0142 nieznany b\u0142\u0105d!","Something went wrong... An unknown error occured!":"Co\u015b posz\u0142o \u017ale... wyst\u0105pi\u0142 nieznany b\u0142\u0105d!","Working...":"Przetwarzanie...","Posting... (#%)":"Postowanie... (#%)","Posted...":"Zapostowano...","An unknown error occured when posting!":"Wyst\u0105pi\u0142 nieznany b\u0142\u0105d podczas postowania!","Posting...":"Postowanie...","Upload URL":"Wy\u015blij URL","Spoiler Image":"Schowaj obrazek","Comment":"Komentarz","Quick Reply":"Szybka odpowied\u017a","Stop watching this thread":"Przesta\u0144 obserwowa\u0107 ten w\u0105tek","Watch this thread":"Obserwuj ten w\u0105tek","Unpin this board":"Odepnij ten board","Pin this board":"Przypnij ten board","Stop watching this board":"Przesta\u0144 oberwowa\u0107 ten board","Watch this board":"Obserwuj ten board","Sunday":"Niedziela","Monday":"Poniedzia\u0142ek","Tuesday":"Wtorek","Wednesday":"\u015aroda","Thursday":"Czwartek","Friday":"Pi\u0105tek","Saturday":"Sobota","January":"stycznia","February":"lutego","March":"marca","April":"kwietnia","May":"maj","June":"czerwca","July":"lipca","August":"sierpnia","September":"wrze\u015bnia","October":"pa\u017adziernika","November":"listopada","December":"grudnia","Jan":"sty","Feb":"lut","Mar":"mar","Apr":"kwi","Jun":"cze","Jul":"lip","Aug":"sie","Sep":"wrz","Oct":"pa\u017a","Nov":"lis","Dec":"gru","AM":"AM","PM":"PM","am":"am","pm":"pm"};
l10n = {"Style: ":"Styl: ","File":"Plik","hide":"ukryj","show":"poka\u017c","Show locked threads":"Poka\u017c zablokowane tematy","Hide locked threads":"Schowaj zablokowane tematy","URL":"URL","Select":"Wybierz","Remote":"Zdalny","Embed":"Osad\u017a","Oekaki":"Oekaki","hidden":"ukryte","Show images":"Poka\u017c obrazki","Hide images":"Ukryj obrazki","Password":"Has\u0142o","Delete file only":"Usu\u0144 tylko plik","Delete":"Usu\u0144","Reason":"Pow\u00f3d","Report":"Zg\u0142oszenie","Click reply to view.":"Kliknij Odpowied\u017a aby zobaczy\u0107.","Click to expand":"Kliknij aby rozwin\u0105\u0107","Hide expanded replies":"Schowaj rozwini\u0119te odpowiedzi","Brush size":"Rozmiar p\u0119dzla","Set text":"Ustaw tekst","Clear":"Wyczy\u015b\u0107","Save":"Zapisz","Load":"Za\u0142aduj","Toggle eraser":"Prze\u0142\u0105cz gumk\u0119","Get color":"Wybierz kolor","Fill":"Wype\u0142nij","Use oekaki instead of file?":"U\u017cy\u0107 oekaki zamiast pliku?","Edit in oekaki":"Edytuj w oekaki","Enter some text":"Podaj jaki\u015b tekst","Enter font or leave empty":"Podaj czcionk\u0119, b\u0105d\u017a pozostaw puste","Forced anonymity":"Wymuszona anonimowo\u015b\u0107","enabled":"w\u0142\u0105czona","disabled":"wy\u0142\u0105czona","Sun":"nie","Mon":"pon","Tue":"wto","Wed":"\u015bro","Thu":"czw","Fri":"pi\u0105","Sat":"sob","Catalog":"Katalog","Submit":"Wy\u015blij","Quick reply":"Szybka odpowied\u017a","Posting mode: Replying to <small>&gt;&gt;{0}<\/small>":"Tryb postowania: Odpowied\u017a na <small>&gt;&gt;{0}<\/small>","Return":"Powr\u00f3t","Expand all images":"Rozwi\u0144 wszystkie obrazki","Hello!":"Witaj!","{0} users":"{0} u\u017cytkownik\u00f3w","(hide threads from this board)":"(schowaj w\u0105tki z tego boardu)","(show threads from this board)":"(poka\u017c w\u0105tki z tego boardu)","No more threads to display":"Nie ma wi\u0119cej w\u0105tk\u00f3w do wy\u015bwietlenia","Loading...":"\u0141adowanie...","Save as original filename":"Zapisz z oryginaln\u0105 nazw\u0105 pliku","Reported post(s).":"Zaraportowano post(y).","An unknown error occured!":"Wyst\u0105pi\u0142 nieznany b\u0142\u0105d!","Something went wrong... An unknown error occured!":"Co\u015b posz\u0142o \u017ale... wyst\u0105pi\u0142 nieznany b\u0142\u0105d!","Working...":"Przetwarzanie...","Posting... (#%)":"Postowanie... (#%)","Posted...":"Zapostowano...","An unknown error occured when posting!":"Wyst\u0105pi\u0142 nieznany b\u0142\u0105d podczas postowania!","Posting...":"Postowanie...","Upload URL":"Wy\u015blij URL","Spoiler Image":"Schowaj obrazek","Comment":"Komentarz","Quick Reply":"Szybka odpowied\u017a","Stop watching this thread":"Przesta\u0144 obserwowa\u0107 ten w\u0105tek","Watch this thread":"Obserwuj ten w\u0105tek","Unpin this board":"Odepnij ten board","Pin this board":"Przypnij ten board","Stop watching this board":"Przesta\u0144 oberwowa\u0107 ten board","Watch this board":"Obserwuj ten board","Click on any image on this site to load it into oekaki applet":"Kliknij w jakikolwiek obrazek na tej stronie aby za\u0142adowa\u0107 go do apletu oekaki","Sunday":"Niedziela","Monday":"Poniedzia\u0142ek","Tuesday":"Wtorek","Wednesday":"\u015aroda","Thursday":"Czwartek","Friday":"Pi\u0105tek","Saturday":"Sobota","January":"stycznia","February":"lutego","March":"marca","April":"kwietnia","May":"maj","June":"czerwca","July":"lipca","August":"sierpnia","September":"wrze\u015bnia","October":"pa\u017adziernika","November":"listopada","December":"grudnia","Jan":"sty","Feb":"lut","Mar":"mar","Apr":"kwi","Jun":"cze","Jul":"lip","Aug":"sie","Sep":"wrz","Oct":"pa\u017a","Nov":"lis","Dec":"gru","AM":"AM","PM":"PM","am":"am","pm":"pm","Your browser does not support HTML5 video.":"Twoja przegl\u0105darka nie obs\u0142uguje wideo HTML5.","[play once]":"[pu\u015b\u0107 raz]","[loop]":"[zap\u0119tl]","WebM Settings":"Ustawienia WebM","Expand videos inline":"Rozwi\u0144 wideo w miejscu","Play videos on hover":"Puszczaj wideo po najechaniu","Default volume":"Domy\u015blna g\u0142o\u015bno\u015b\u0107"};

View File

@ -1,91 +1,41 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
#
# Translators:
# czaks <marcin@6irc.net>, 2014
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Project-Id-Version: vichan\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-02-23 19:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"POT-Creation-Date: 2014-04-18 19:24+0200\n"
"PO-Revision-Date: 2014-04-18 18:51+0000\n"
"Last-Translator: czaks <marcin@6irc.net>\n"
"Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/tinyboard-vichan-devel/language/pl_PL/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pl_PL\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: ../../../../js/quick-reply.js:20 ../../../../js/quick-reply.js:21
#: ../../../../js/quick-reply-old.js:21 ../../../../js/quick-reply-old.js:23
msgid "Submit"
msgstr "Wyślij"
#: ../../../../js/style-select.js:40 ../../../../js/style-select.js:41
msgid "Style: "
msgstr "Styl: "
#: ../../../../js/quick-reply.js:30 ../../../../js/quick-reply.js:31
#: ../../../../js/quick-reply-old.js:31 ../../../../js/quick-reply-old.js:33
msgid "Quick reply"
msgstr "Szybka odpowiedź"
#: ../../../../js/hide-images.js:50 ../../../../js/upload-selection.js:51
#: ../../../../js/quick-post-controls.js:30 ../../../../js/hide-images.js:51
#: ../../../../js/quick-post-controls.js:32
#: ../../../../js/upload-selection.js:61
msgid "File"
msgstr "Plik"
#: ../../../../js/quick-reply.js:32 ../../../../js/quick-reply.js:33
#: ../../../../js/quick-reply-old.js:33 ../../../../js/quick-reply-old.js:35
#, python-brace-format
msgid "Posting mode: Replying to <small>&gt;&gt;{0}</small>"
msgstr "Tryb postowania: Odpowiedź na <small>&gt;&gt;{0}</small>"
#: ../../../../js/hide-images.js:50 ../../../../js/hide-images.js:51
msgid "hide"
msgstr "ukryj"
#: ../../../../js/quick-reply.js:32 ../../../../js/quick-reply.js:33
#: ../../../../js/quick-reply-old.js:33 ../../../../js/quick-reply-old.js:35
msgid "Return"
msgstr "Powrót"
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click reply to view."
msgstr "Kliknij Odpowiedź aby zobaczyć."
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click to expand"
msgstr "Kliknij aby rozwinąć"
#: ../../../../js/expand.js:41 ../../../../js/expand.js:45
#: ../../../../js/expand.js:43 ../../../../js/expand.js:44
#: ../../../../js/expand.js:46
msgid "Hide expanded replies"
msgstr "Schowaj rozwinięte odpowiedzi"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Mon"
msgstr "pon"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Tue"
msgstr "wto"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Wed"
msgstr "śro"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Thu"
msgstr "czw"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Fri"
msgstr "pią"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sat"
msgstr "sob"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sun"
msgstr "nie"
#: ../../../../js/hide-images.js:56 ../../../../js/hide-images.js:57
msgid "show"
msgstr "pokaż"
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
@ -105,117 +55,6 @@ msgstr "Pokaż zablokowane tematy"
msgid "Hide locked threads"
msgstr "Schowaj zablokowane tematy"
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:69 ../../../../js/forced-anon.js:60
#: ../../../../js/forced-anon.js:66 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
#: ../../../../js/forced-anon.js:71
msgid "Forced anonymity"
msgstr "Wymuszona anonimowość"
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:66
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
msgid "enabled"
msgstr "włączona"
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:69
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:71
msgid "disabled"
msgstr "wyłączona"
#: ../../../../js/quick-post-controls.js:27
#: ../../../../js/quick-post-controls.js:29
msgid "Password"
msgstr "Hasło"
#: ../../../../js/quick-post-controls.js:29
#: ../../../../js/quick-post-controls.js:31
msgid "Delete file only"
msgstr "Usuń tylko plik"
#: ../../../../js/quick-post-controls.js:30 ../../../../js/hide-images.js:50
#: ../../../../js/upload-selection.js:51 ../../../../js/hide-images.js:51
#: ../../../../js/quick-post-controls.js:32
#: ../../../../js/upload-selection.js:61
msgid "File"
msgstr "Plik"
#: ../../../../js/quick-post-controls.js:31
#: ../../../../js/quick-post-controls.js:33
msgid "Delete"
msgstr "Usuń"
#: ../../../../js/quick-post-controls.js:35
#: ../../../../js/quick-post-controls.js:37
msgid "Reason"
msgstr "Powód"
#: ../../../../js/quick-post-controls.js:37
#: ../../../../js/quick-post-controls.js:39
msgid "Report"
msgstr "Zgłoszenie"
#: ../../../../js/hide-images.js:50 ../../../../js/hide-images.js:51
msgid "hide"
msgstr "ukryj"
#: ../../../../js/hide-images.js:56 ../../../../js/hide-images.js:57
msgid "show"
msgstr "pokaż"
#: ../../../../js/toggle-images.js:41 ../../../../js/toggle-images.js:42
msgid "hidden"
msgstr "ukryte"
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Show images"
msgstr "Pokaż obrazki"
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Hide images"
msgstr "Ukryj obrazki"
#: ../../../../js/style-select.js:40 ../../../../js/style-select.js:41
msgid "Style: "
msgstr "Styl: "
#: ../../../../templates/main.js:6
msgid "Hello!"
msgstr "Witaj!"
#: ../../../../templates/main.js:18
#, python-brace-format
msgid "{0} users"
msgstr "{0} użytkowników"
#: ../../../../templates/themes/ukko/ukko.js:28
#: ../../../../templates/themes/ukko/ukko.js:39
#: ../../../../templates/themes/ukko/ukko.js:29
#: ../../../../templates/themes/ukko/ukko.js:40
msgid "(hide threads from this board)"
msgstr "(schowaj wątki z tego boardu)"
#: ../../../../templates/themes/ukko/ukko.js:32
#: ../../../../templates/themes/ukko/ukko.js:44
#: ../../../../templates/themes/ukko/ukko.js:33
#: ../../../../templates/themes/ukko/ukko.js:45
msgid "(show threads from this board)"
msgstr "(pokaż wątki z tego boardu)"
#: ../../../../templates/themes/ukko/ukko.js:57
#: ../../../../templates/themes/ukko/ukko.js:58
msgid "No more threads to display"
msgstr "Nie ma więcej wątków do wyświetlenia"
#: ../../../../templates/themes/ukko/ukko.js:79
#: ../../../../templates/themes/ukko/ukko.js:80
msgid "Loading..."
msgstr "Ładowanie..."
#: ../../../../js/upload-selection.js:32 ../../../../js/upload-selection.js:45
msgid "URL"
msgstr "URL"
@ -236,6 +75,57 @@ msgstr "Osadź"
msgid "Oekaki"
msgstr "Oekaki"
#: ../../../../js/toggle-images.js:41 ../../../../js/toggle-images.js:42
msgid "hidden"
msgstr "ukryte"
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Show images"
msgstr "Pokaż obrazki"
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Hide images"
msgstr "Ukryj obrazki"
#: ../../../../js/quick-post-controls.js:27
#: ../../../../js/quick-post-controls.js:29
msgid "Password"
msgstr "Hasło"
#: ../../../../js/quick-post-controls.js:29
#: ../../../../js/quick-post-controls.js:31
msgid "Delete file only"
msgstr "Usuń tylko plik"
#: ../../../../js/quick-post-controls.js:31
#: ../../../../js/quick-post-controls.js:33
msgid "Delete"
msgstr "Usuń"
#: ../../../../js/quick-post-controls.js:35
#: ../../../../js/quick-post-controls.js:37
msgid "Reason"
msgstr "Powód"
#: ../../../../js/quick-post-controls.js:37
#: ../../../../js/quick-post-controls.js:39
msgid "Report"
msgstr "Zgłoszenie"
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click reply to view."
msgstr "Kliknij Odpowiedź aby zobaczyć."
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click to expand"
msgstr "Kliknij aby rozwinąć"
#: ../../../../js/expand.js:44 ../../../../js/expand.js:46
msgid "Hide expanded replies"
msgstr "Schowaj rozwinięte odpowiedzi"
#: ../../../../js/oekaki.js:10
msgid "Brush size"
msgstr "Rozmiar pędzla"
@ -284,18 +174,127 @@ msgstr "Podaj jakiś tekst"
msgid "Enter font or leave empty"
msgstr "Podaj czcionkę, bądź pozostaw puste"
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:69 ../../../../js/forced-anon.js:60
#: ../../../../js/forced-anon.js:66 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
#: ../../../../js/forced-anon.js:71
msgid "Forced anonymity"
msgstr "Wymuszona anonimowość"
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:66
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
msgid "enabled"
msgstr "włączona"
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:69
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:71
msgid "disabled"
msgstr "wyłączona"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sun"
msgstr "nie"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Mon"
msgstr "pon"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Tue"
msgstr "wto"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Wed"
msgstr "śro"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Thu"
msgstr "czw"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Fri"
msgstr "pią"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sat"
msgstr "sob"
#: ../../../../js/catalog-link.js:21 ../../../../js/catalog-link.js:32
#: ../../../../js/catalog-link.js:40 ../../../../js/catalog-link.js:33
#: ../../../../js/catalog-link.js:44 ../../../../js/catalog-link.js:52
msgid "Catalog"
msgstr "Katalog"
#: ../../../../js/quick-reply.js:21 ../../../../js/quick-reply-old.js:21
#: ../../../../js/quick-reply-old.js:23
msgid "Submit"
msgstr "Wyślij"
#: ../../../../js/quick-reply.js:31 ../../../../js/quick-reply-old.js:31
#: ../../../../js/quick-reply-old.js:33
msgid "Quick reply"
msgstr "Szybka odpowiedź"
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
#, python-brace-format
msgid "Posting mode: Replying to <small>&gt;&gt;{0}</small>"
msgstr "Tryb postowania: Odpowiedź na <small>&gt;&gt;{0}</small>"
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
msgid "Return"
msgstr "Powrót"
#: ../../../../js/expand-all-images.js:20
#: ../../../../js/expand-all-images.js:21
#: ../../../../js/expand-all-images.js:22
msgid "Expand all images"
msgstr "Rozwiń wszystkie obrazki"
#: ../../../../templates/main.js:6
msgid "Hello!"
msgstr "Witaj!"
#: ../../../../templates/main.js:18
#, python-brace-format
msgid "{0} users"
msgstr "{0} użytkowników"
#: ../../../../templates/themes/ukko/ukko.js:28
#: ../../../../templates/themes/ukko/ukko.js:39
#: ../../../../templates/themes/ukko/ukko.js:29
#: ../../../../templates/themes/ukko/ukko.js:40
msgid "(hide threads from this board)"
msgstr "(schowaj wątki z tego boardu)"
#: ../../../../templates/themes/ukko/ukko.js:32
#: ../../../../templates/themes/ukko/ukko.js:44
#: ../../../../templates/themes/ukko/ukko.js:33
#: ../../../../templates/themes/ukko/ukko.js:45
msgid "(show threads from this board)"
msgstr "(pokaż wątki z tego boardu)"
#: ../../../../templates/themes/ukko/ukko.js:57
#: ../../../../templates/themes/ukko/ukko.js:58
msgid "No more threads to display"
msgstr "Nie ma więcej wątków do wyświetlenia"
#: ../../../../templates/themes/ukko/ukko.js:79
#: ../../../../templates/themes/ukko/ukko.js:80
msgid "Loading..."
msgstr "Ładowanie..."
#: ../../../../js/download-original.js:32
#: ../../../../js/download-original.js:33
msgid "Save as original filename"
@ -334,19 +333,23 @@ msgid "Posting..."
msgstr "Postowanie..."
#: ../../../../js/quick-reply.js:223 ../../../../js/quick-reply.js:224
#: ../../../../js/quick-reply.js:225
msgid "Upload URL"
msgstr "Wyślij URL"
#: ../../../../js/quick-reply.js:266 ../../../../js/quick-reply.js:267
#: ../../../../js/quick-reply.js:268
msgid "Spoiler Image"
msgstr "Schowaj obrazek"
#: ../../../../js/quick-reply.js:277 ../../../../js/quick-reply.js:278
#: ../../../../js/quick-reply.js:279
msgid "Comment"
msgstr "Komentarz"
#: ../../../../js/quick-reply.js:285 ../../../../js/quick-reply.js:406
#: ../../../../js/quick-reply.js:286 ../../../../js/quick-reply.js:407
#: ../../../../js/quick-reply.js:287 ../../../../js/quick-reply.js:408
msgid "Quick Reply"
msgstr "Szybka odpowiedź"
@ -396,9 +399,7 @@ msgstr "Obserwuj ten board"
#: ../../../../js/wpaint.js:113
msgid "Click on any image on this site to load it into oekaki applet"
msgstr ""
"Kliknij w jakikolwiek obrazek na tej stronie aby załadować go do apletu "
"oekaki"
msgstr "Kliknij w jakikolwiek obrazek na tej stronie aby załadować go do apletu oekaki"
#: ../../../../js/local-time.js:29
msgid "Sunday"
@ -535,3 +536,31 @@ msgstr "am"
#: ../../../../js/local-time.js:36
msgid "pm"
msgstr "pm"
#: ../../../../js/expand-video.js:45 ../../../../js/expand-video.js:48
msgid "Your browser does not support HTML5 video."
msgstr "Twoja przeglądarka nie obsługuje wideo HTML5."
#: ../../../../js/expand-video.js:189 ../../../../js/expand-video.js:192
msgid "[play once]"
msgstr "[puść raz]"
#: ../../../../js/expand-video.js:190 ../../../../js/expand-video.js:193
msgid "[loop]"
msgstr "[zapętl]"
#: ../../../../js/webm-settings.js:42
msgid "WebM Settings"
msgstr "Ustawienia WebM"
#: ../../../../js/webm-settings.js:44
msgid "Expand videos inline"
msgstr "Rozwiń wideo w miejscu"
#: ../../../../js/webm-settings.js:45
msgid "Play videos on hover"
msgstr "Puszczaj wideo po najechaniu"
#: ../../../../js/webm-settings.js:46
msgid "Default volume"
msgstr "Domyślna głośność"

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
l10n = {"Style: ":"Estilo:","File":"Arquivo","hide":"esconder","show":"mostrar","Show locked threads":"Mostrar threads fechadas","Hide locked threads":"Esconder threads fechadas","URL":"URL","Select":"Selecionar","Remote":"Remoto","Embed":"Embutir","Oekaki":"Oekaki","hidden":"escondido","Show images":"Mostrar imagens","Hide images":"Esconder imagens","Password":"Senha","Delete file only":"Deletar somente o arquivo","Delete":"Deletar","Reason":"Raz\u00e3o","Report":"Reportar","Click reply to view.":"Clique para ver a resposta.","Click to expand":"Clique para expandir","Hide expanded replies":"Ocultar respostas expandidas","Brush size":"Tamanho do pincel","Set text":"Definir texto","Clear":"Limpar","Save":"Salvar","Load":"Carregar","Toggle eraser":"Alternar apagador","Get color":"Obter cor","Fill":"Preencher","Use oekaki instead of file?":"Use oekaki em vez de arquivo?","Edit in oekaki":"Editar no oekaki","Enter some text":"Digite algum texto","Enter font or leave empty":"Digite o tipo de letra ou deixe em branco","Forced anonymity":"Anonimato for\u00e7ado","enabled":"habilitado","disabled":"desabilitado","Sun":"Domingo","Mon":"Seg","Tue":"Ter","Wed":"Qua","Thu":"Qui","Fri":"Sex","Sat":"Sab","Catalog":"Cat\u00e1logo","Submit":"Enviar","Quick reply":"Resposta r\u00e1pida","Posting mode: Replying to <small>&gt;&gt;{0}<\/small>":"Modo de mensagem: Respondendo a <small>&gt;&gt;{0}<\/small>","Return":"Voltar","Expand all images":"Expandir todas as imagens","Hello!":"Ol\u00e1!","{0} users":"{0} usu\u00e1rios","(hide threads from this board)":"(esconder threads desta board)","(show threads from this board)":"(mostrar threads desta board)","No more threads to display":"Sem mais threads para mostrar","Loading...":"Carregando...","Save as original filename":"Salvar com nome de arquivo original","Reported post(s).":"Post(s) reportado(s)","An unknown error occured!":"Ocorreu um erro desconhecido!","Something went wrong... An unknown error occured!":"Algo deu errado ... Ocorreu um erro desconhecido!","Working...":"Trabalhando...","Posting... (#%)":"Postando... (#%)","Posted...":"Postado...","An unknown error occured when posting!":"Ocorreu um erro desconhecido ao postar!","Posting...":"Postando...","Upload URL":"URL de upload","Spoiler Image":"Spoiler imagem","Comment":"Coment\u00e1rio","Quick Reply":"Resposta r\u00e1pida","Stop watching this thread":"Parar de assistir esta thread","Watch this thread":"Assistir esta thread","Unpin this board":"Desafixar esta board","Pin this board":"Fixar esta board","Stop watching this board":"Parar de assistir esta board","Watch this board":"Assistir esta board","Click on any image on this site to load it into oekaki applet":"Clique em qualquer imagem neste site para carreg\u00e1-lo no miniaplicativo oekaki","Sunday":"Domingo","Monday":"Segunda","Tuesday":"Ter\u00e7a","Wednesday":"Quarta","Thursday":"Quinta","Friday":"Sexta","Saturday":"Sabado","January":"Janeiro","February":"Fevereiro","March":"Mar\u00e7o","April":"Abril","May":"Maio","June":"Junho","July":"Julho","August":"Agosto","September":"Setembro","October":"Outubro","November":"Novembro","December":"Dezembro","Jan":"Jan","Feb":"Fev","Mar":"Mar","Apr":"Abr","Jun":"Jun","Jul":"Jul","Aug":"Ago","Sep":"Set","Oct":"Out","Nov":"Nov","Dec":"Dez","AM":"Manh\u00e3","PM":"Noite","am":"manh\u00e3","pm":"noite","Your browser does not support HTML5 video.":"Seu browser n\u00e3o suporta HTML5 video.","[play once]":"[ver uma vez]","[loop]":"[vez repetidamente]","WebM Settings":"Configura\u00e7\u00f5es WebM","Expand videos inline":"Expandir v\u00eddeos no lugar da miniatura","Play videos on hover":"Reproduz v\u00eddeos em foco","Default volume":"Volume padr\u00e3o"};

View File

@ -0,0 +1,566 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# anaodev <daniel@agenciaredpanda.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: vichan\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-04-18 19:24+0200\n"
"PO-Revision-Date: 2014-04-18 21:48+0000\n"
"Last-Translator: anaodev <daniel@agenciaredpanda.com>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/tinyboard-vichan-devel/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: ../../../../js/style-select.js:40 ../../../../js/style-select.js:41
msgid "Style: "
msgstr "Estilo:"
#: ../../../../js/hide-images.js:50 ../../../../js/upload-selection.js:51
#: ../../../../js/quick-post-controls.js:30 ../../../../js/hide-images.js:51
#: ../../../../js/quick-post-controls.js:32
#: ../../../../js/upload-selection.js:61
msgid "File"
msgstr "Arquivo"
#: ../../../../js/hide-images.js:50 ../../../../js/hide-images.js:51
msgid "hide"
msgstr "esconder"
#: ../../../../js/hide-images.js:56 ../../../../js/hide-images.js:57
msgid "show"
msgstr "mostrar"
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
#: ../../../../js/toggle-locked-threads.js:40
#: ../../../../js/toggle-locked-threads.js:55
#: ../../../../js/toggle-locked-threads.js:41
#: ../../../../js/toggle-locked-threads.js:56
msgid "Show locked threads"
msgstr "Mostrar threads fechadas"
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
#: ../../../../js/toggle-locked-threads.js:40
#: ../../../../js/toggle-locked-threads.js:55
#: ../../../../js/toggle-locked-threads.js:41
#: ../../../../js/toggle-locked-threads.js:56
msgid "Hide locked threads"
msgstr "Esconder threads fechadas"
#: ../../../../js/upload-selection.js:32 ../../../../js/upload-selection.js:45
msgid "URL"
msgstr "URL"
#: ../../../../js/upload-selection.js:50 ../../../../js/upload-selection.js:60
msgid "Select"
msgstr "Selecionar"
#: ../../../../js/upload-selection.js:53 ../../../../js/upload-selection.js:63
msgid "Remote"
msgstr "Remoto"
#: ../../../../js/upload-selection.js:56 ../../../../js/upload-selection.js:66
msgid "Embed"
msgstr "Embutir"
#: ../../../../js/upload-selection.js:59 ../../../../js/upload-selection.js:69
msgid "Oekaki"
msgstr "Oekaki"
#: ../../../../js/toggle-images.js:41 ../../../../js/toggle-images.js:42
msgid "hidden"
msgstr "escondido"
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Show images"
msgstr "Mostrar imagens"
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Hide images"
msgstr "Esconder imagens"
#: ../../../../js/quick-post-controls.js:27
#: ../../../../js/quick-post-controls.js:29
msgid "Password"
msgstr "Senha"
#: ../../../../js/quick-post-controls.js:29
#: ../../../../js/quick-post-controls.js:31
msgid "Delete file only"
msgstr "Deletar somente o arquivo"
#: ../../../../js/quick-post-controls.js:31
#: ../../../../js/quick-post-controls.js:33
msgid "Delete"
msgstr "Deletar"
#: ../../../../js/quick-post-controls.js:35
#: ../../../../js/quick-post-controls.js:37
msgid "Reason"
msgstr "Razão"
#: ../../../../js/quick-post-controls.js:37
#: ../../../../js/quick-post-controls.js:39
msgid "Report"
msgstr "Reportar"
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click reply to view."
msgstr "Clique para ver a resposta."
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click to expand"
msgstr "Clique para expandir"
#: ../../../../js/expand.js:44 ../../../../js/expand.js:46
msgid "Hide expanded replies"
msgstr "Ocultar respostas expandidas"
#: ../../../../js/oekaki.js:10
msgid "Brush size"
msgstr "Tamanho do pincel"
#: ../../../../js/oekaki.js:10
msgid "Set text"
msgstr "Definir texto"
#: ../../../../js/oekaki.js:10
msgid "Clear"
msgstr "Limpar"
#: ../../../../js/oekaki.js:10
msgid "Save"
msgstr "Salvar"
#: ../../../../js/oekaki.js:10
msgid "Load"
msgstr "Carregar"
#: ../../../../js/oekaki.js:11
msgid "Toggle eraser"
msgstr "Alternar apagador"
#: ../../../../js/oekaki.js:11
msgid "Get color"
msgstr "Obter cor"
#: ../../../../js/oekaki.js:11
msgid "Fill"
msgstr "Preencher"
#: ../../../../js/oekaki.js:12
msgid "Use oekaki instead of file?"
msgstr "Use oekaki em vez de arquivo?"
#: ../../../../js/oekaki.js:21
msgid "Edit in oekaki"
msgstr "Editar no oekaki"
#: ../../../../js/oekaki.js:152
msgid "Enter some text"
msgstr "Digite algum texto"
#: ../../../../js/oekaki.js:153
msgid "Enter font or leave empty"
msgstr "Digite o tipo de letra ou deixe em branco"
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:69 ../../../../js/forced-anon.js:60
#: ../../../../js/forced-anon.js:66 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
#: ../../../../js/forced-anon.js:71
msgid "Forced anonymity"
msgstr "Anonimato forçado"
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:66
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
msgid "enabled"
msgstr "habilitado"
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:69
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:71
msgid "disabled"
msgstr "desabilitado"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sun"
msgstr "Domingo"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Mon"
msgstr "Seg"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Tue"
msgstr "Ter"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Wed"
msgstr "Qua"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Thu"
msgstr "Qui"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Fri"
msgstr "Sex"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sat"
msgstr "Sab"
#: ../../../../js/catalog-link.js:21 ../../../../js/catalog-link.js:32
#: ../../../../js/catalog-link.js:40 ../../../../js/catalog-link.js:33
#: ../../../../js/catalog-link.js:44 ../../../../js/catalog-link.js:52
msgid "Catalog"
msgstr "Catálogo"
#: ../../../../js/quick-reply.js:21 ../../../../js/quick-reply-old.js:21
#: ../../../../js/quick-reply-old.js:23
msgid "Submit"
msgstr "Enviar"
#: ../../../../js/quick-reply.js:31 ../../../../js/quick-reply-old.js:31
#: ../../../../js/quick-reply-old.js:33
msgid "Quick reply"
msgstr "Resposta rápida"
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
#, python-brace-format
msgid "Posting mode: Replying to <small>&gt;&gt;{0}</small>"
msgstr "Modo de mensagem: Respondendo a <small>&gt;&gt;{0}</small>"
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
msgid "Return"
msgstr "Voltar"
#: ../../../../js/expand-all-images.js:20
#: ../../../../js/expand-all-images.js:21
#: ../../../../js/expand-all-images.js:22
msgid "Expand all images"
msgstr "Expandir todas as imagens"
#: ../../../../templates/main.js:6
msgid "Hello!"
msgstr "Olá!"
#: ../../../../templates/main.js:18
#, python-brace-format
msgid "{0} users"
msgstr "{0} usuários"
#: ../../../../templates/themes/ukko/ukko.js:28
#: ../../../../templates/themes/ukko/ukko.js:39
#: ../../../../templates/themes/ukko/ukko.js:29
#: ../../../../templates/themes/ukko/ukko.js:40
msgid "(hide threads from this board)"
msgstr "(esconder threads desta board)"
#: ../../../../templates/themes/ukko/ukko.js:32
#: ../../../../templates/themes/ukko/ukko.js:44
#: ../../../../templates/themes/ukko/ukko.js:33
#: ../../../../templates/themes/ukko/ukko.js:45
msgid "(show threads from this board)"
msgstr "(mostrar threads desta board)"
#: ../../../../templates/themes/ukko/ukko.js:57
#: ../../../../templates/themes/ukko/ukko.js:58
msgid "No more threads to display"
msgstr "Sem mais threads para mostrar"
#: ../../../../templates/themes/ukko/ukko.js:79
#: ../../../../templates/themes/ukko/ukko.js:80
msgid "Loading..."
msgstr "Carregando..."
#: ../../../../js/download-original.js:32
#: ../../../../js/download-original.js:33
msgid "Save as original filename"
msgstr "Salvar com nome de arquivo original"
#: ../../../../js/ajax-post-controls.js:43
msgid "Reported post(s)."
msgstr "Post(s) reportado(s)"
#: ../../../../js/ajax-post-controls.js:53
msgid "An unknown error occured!"
msgstr "Ocorreu um erro desconhecido!"
#: ../../../../js/ajax-post-controls.js:60
msgid "Something went wrong... An unknown error occured!"
msgstr "Algo deu errado ... Ocorreu um erro desconhecido!"
#: ../../../../js/ajax-post-controls.js:68
msgid "Working..."
msgstr "Trabalhando..."
#: ../../../../js/ajax.js:42 ../../../../js/ajax.js:45
msgid "Posting... (#%)"
msgstr "Postando... (#%)"
#: ../../../../js/ajax.js:104 ../../../../js/ajax.js:109
msgid "Posted..."
msgstr "Postado..."
#: ../../../../js/ajax.js:106 ../../../../js/ajax.js:111
msgid "An unknown error occured when posting!"
msgstr "Ocorreu um erro desconhecido ao postar!"
#: ../../../../js/ajax.js:130 ../../../../js/ajax.js:135
msgid "Posting..."
msgstr "Postando..."
#: ../../../../js/quick-reply.js:223 ../../../../js/quick-reply.js:224
#: ../../../../js/quick-reply.js:225
msgid "Upload URL"
msgstr "URL de upload"
#: ../../../../js/quick-reply.js:266 ../../../../js/quick-reply.js:267
#: ../../../../js/quick-reply.js:268
msgid "Spoiler Image"
msgstr "Spoiler imagem"
#: ../../../../js/quick-reply.js:277 ../../../../js/quick-reply.js:278
#: ../../../../js/quick-reply.js:279
msgid "Comment"
msgstr "Comentário"
#: ../../../../js/quick-reply.js:285 ../../../../js/quick-reply.js:406
#: ../../../../js/quick-reply.js:286 ../../../../js/quick-reply.js:407
#: ../../../../js/quick-reply.js:287 ../../../../js/quick-reply.js:408
msgid "Quick Reply"
msgstr "Resposta rápida"
#: ../../../../js/watch.js:249 ../../../../js/watch.js:250
#: ../../../../js/watch.js:288 ../../../../js/watch.js:289
#: ../../../../js/watch.js:330 ../../../../js/watch.js:331
msgid "Stop watching this thread"
msgstr "Parar de assistir esta thread"
#: ../../../../js/watch.js:249 ../../../../js/watch.js:250
#: ../../../../js/watch.js:288 ../../../../js/watch.js:289
#: ../../../../js/watch.js:330 ../../../../js/watch.js:331
msgid "Watch this thread"
msgstr "Assistir esta thread"
#: ../../../../js/watch.js:260 ../../../../js/watch.js:261
#: ../../../../js/watch.js:269 ../../../../js/watch.js:299
#: ../../../../js/watch.js:300 ../../../../js/watch.js:308
#: ../../../../js/watch.js:341 ../../../../js/watch.js:342
#: ../../../../js/watch.js:350
msgid "Unpin this board"
msgstr "Desafixar esta board"
#: ../../../../js/watch.js:260 ../../../../js/watch.js:261
#: ../../../../js/watch.js:269 ../../../../js/watch.js:299
#: ../../../../js/watch.js:300 ../../../../js/watch.js:308
#: ../../../../js/watch.js:341 ../../../../js/watch.js:342
#: ../../../../js/watch.js:350
msgid "Pin this board"
msgstr "Fixar esta board"
#: ../../../../js/watch.js:262 ../../../../js/watch.js:267
#: ../../../../js/watch.js:268 ../../../../js/watch.js:301
#: ../../../../js/watch.js:306 ../../../../js/watch.js:307
#: ../../../../js/watch.js:343 ../../../../js/watch.js:348
#: ../../../../js/watch.js:349
msgid "Stop watching this board"
msgstr "Parar de assistir esta board"
#: ../../../../js/watch.js:262 ../../../../js/watch.js:267
#: ../../../../js/watch.js:268 ../../../../js/watch.js:301
#: ../../../../js/watch.js:306 ../../../../js/watch.js:307
#: ../../../../js/watch.js:343 ../../../../js/watch.js:348
#: ../../../../js/watch.js:349
msgid "Watch this board"
msgstr "Assistir esta board"
#: ../../../../js/wpaint.js:113
msgid "Click on any image on this site to load it into oekaki applet"
msgstr "Clique em qualquer imagem neste site para carregá-lo no miniaplicativo oekaki"
#: ../../../../js/local-time.js:29
msgid "Sunday"
msgstr "Domingo"
#: ../../../../js/local-time.js:29
msgid "Monday"
msgstr "Segunda"
#: ../../../../js/local-time.js:29
msgid "Tuesday"
msgstr "Terça"
#: ../../../../js/local-time.js:29
msgid "Wednesday"
msgstr "Quarta"
#: ../../../../js/local-time.js:29
msgid "Thursday"
msgstr "Quinta"
#: ../../../../js/local-time.js:29
msgid "Friday"
msgstr "Sexta"
#: ../../../../js/local-time.js:29
msgid "Saturday"
msgstr "Sabado"
#: ../../../../js/local-time.js:31
msgid "January"
msgstr "Janeiro"
#: ../../../../js/local-time.js:31
msgid "February"
msgstr "Fevereiro"
#: ../../../../js/local-time.js:31
msgid "March"
msgstr "Março"
#: ../../../../js/local-time.js:31
msgid "April"
msgstr "Abril"
#: ../../../../js/local-time.js:31 ../../../../js/local-time.js:32
msgid "May"
msgstr "Maio"
#: ../../../../js/local-time.js:31
msgid "June"
msgstr "Junho"
#: ../../../../js/local-time.js:31
msgid "July"
msgstr "Julho"
#: ../../../../js/local-time.js:31
msgid "August"
msgstr "Agosto"
#: ../../../../js/local-time.js:31
msgid "September"
msgstr "Setembro"
#: ../../../../js/local-time.js:31
msgid "October"
msgstr "Outubro"
#: ../../../../js/local-time.js:31
msgid "November"
msgstr "Novembro"
#: ../../../../js/local-time.js:31
msgid "December"
msgstr "Dezembro"
#: ../../../../js/local-time.js:32
msgid "Jan"
msgstr "Jan"
#: ../../../../js/local-time.js:32
msgid "Feb"
msgstr "Fev"
#: ../../../../js/local-time.js:32
msgid "Mar"
msgstr "Mar"
#: ../../../../js/local-time.js:32
msgid "Apr"
msgstr "Abr"
#: ../../../../js/local-time.js:32
msgid "Jun"
msgstr "Jun"
#: ../../../../js/local-time.js:32
msgid "Jul"
msgstr "Jul"
#: ../../../../js/local-time.js:32
msgid "Aug"
msgstr "Ago"
#: ../../../../js/local-time.js:32
msgid "Sep"
msgstr "Set"
#: ../../../../js/local-time.js:32
msgid "Oct"
msgstr "Out"
#: ../../../../js/local-time.js:32
msgid "Nov"
msgstr "Nov"
#: ../../../../js/local-time.js:32
msgid "Dec"
msgstr "Dez"
#: ../../../../js/local-time.js:33
msgid "AM"
msgstr "Manhã"
#: ../../../../js/local-time.js:34
msgid "PM"
msgstr "Noite"
#: ../../../../js/local-time.js:35
msgid "am"
msgstr "manhã"
#: ../../../../js/local-time.js:36
msgid "pm"
msgstr "noite"
#: ../../../../js/expand-video.js:45 ../../../../js/expand-video.js:48
msgid "Your browser does not support HTML5 video."
msgstr "Seu browser não suporta HTML5 video."
#: ../../../../js/expand-video.js:189 ../../../../js/expand-video.js:192
msgid "[play once]"
msgstr "[ver uma vez]"
#: ../../../../js/expand-video.js:190 ../../../../js/expand-video.js:193
msgid "[loop]"
msgstr "[vez repetidamente]"
#: ../../../../js/webm-settings.js:42
msgid "WebM Settings"
msgstr "Configurações WebM"
#: ../../../../js/webm-settings.js:44
msgid "Expand videos inline"
msgstr "Expandir vídeos no lugar da miniatura"
#: ../../../../js/webm-settings.js:45
msgid "Play videos on hover"
msgstr "Reproduz vídeos em foco"
#: ../../../../js/webm-settings.js:46
msgid "Default volume"
msgstr "Volume padrão"

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
l10n = [];

View File

@ -0,0 +1,565 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: vichan\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-04-18 19:24+0200\n"
"PO-Revision-Date: 2014-04-18 18:51+0000\n"
"Last-Translator: czaks <marcin@6irc.net>\n"
"Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/tinyboard-vichan-devel/language/ru_RU/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ru_RU\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: ../../../../js/style-select.js:40 ../../../../js/style-select.js:41
msgid "Style: "
msgstr ""
#: ../../../../js/hide-images.js:50 ../../../../js/upload-selection.js:51
#: ../../../../js/quick-post-controls.js:30 ../../../../js/hide-images.js:51
#: ../../../../js/quick-post-controls.js:32
#: ../../../../js/upload-selection.js:61
msgid "File"
msgstr ""
#: ../../../../js/hide-images.js:50 ../../../../js/hide-images.js:51
msgid "hide"
msgstr ""
#: ../../../../js/hide-images.js:56 ../../../../js/hide-images.js:57
msgid "show"
msgstr ""
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
#: ../../../../js/toggle-locked-threads.js:40
#: ../../../../js/toggle-locked-threads.js:55
#: ../../../../js/toggle-locked-threads.js:41
#: ../../../../js/toggle-locked-threads.js:56
msgid "Show locked threads"
msgstr ""
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
#: ../../../../js/toggle-locked-threads.js:40
#: ../../../../js/toggle-locked-threads.js:55
#: ../../../../js/toggle-locked-threads.js:41
#: ../../../../js/toggle-locked-threads.js:56
msgid "Hide locked threads"
msgstr ""
#: ../../../../js/upload-selection.js:32 ../../../../js/upload-selection.js:45
msgid "URL"
msgstr ""
#: ../../../../js/upload-selection.js:50 ../../../../js/upload-selection.js:60
msgid "Select"
msgstr ""
#: ../../../../js/upload-selection.js:53 ../../../../js/upload-selection.js:63
msgid "Remote"
msgstr ""
#: ../../../../js/upload-selection.js:56 ../../../../js/upload-selection.js:66
msgid "Embed"
msgstr ""
#: ../../../../js/upload-selection.js:59 ../../../../js/upload-selection.js:69
msgid "Oekaki"
msgstr ""
#: ../../../../js/toggle-images.js:41 ../../../../js/toggle-images.js:42
msgid "hidden"
msgstr ""
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Show images"
msgstr ""
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Hide images"
msgstr ""
#: ../../../../js/quick-post-controls.js:27
#: ../../../../js/quick-post-controls.js:29
msgid "Password"
msgstr ""
#: ../../../../js/quick-post-controls.js:29
#: ../../../../js/quick-post-controls.js:31
msgid "Delete file only"
msgstr ""
#: ../../../../js/quick-post-controls.js:31
#: ../../../../js/quick-post-controls.js:33
msgid "Delete"
msgstr ""
#: ../../../../js/quick-post-controls.js:35
#: ../../../../js/quick-post-controls.js:37
msgid "Reason"
msgstr ""
#: ../../../../js/quick-post-controls.js:37
#: ../../../../js/quick-post-controls.js:39
msgid "Report"
msgstr ""
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click reply to view."
msgstr ""
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click to expand"
msgstr ""
#: ../../../../js/expand.js:44 ../../../../js/expand.js:46
msgid "Hide expanded replies"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Brush size"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Set text"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Clear"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Save"
msgstr ""
#: ../../../../js/oekaki.js:10
msgid "Load"
msgstr ""
#: ../../../../js/oekaki.js:11
msgid "Toggle eraser"
msgstr ""
#: ../../../../js/oekaki.js:11
msgid "Get color"
msgstr ""
#: ../../../../js/oekaki.js:11
msgid "Fill"
msgstr ""
#: ../../../../js/oekaki.js:12
msgid "Use oekaki instead of file?"
msgstr ""
#: ../../../../js/oekaki.js:21
msgid "Edit in oekaki"
msgstr ""
#: ../../../../js/oekaki.js:152
msgid "Enter some text"
msgstr ""
#: ../../../../js/oekaki.js:153
msgid "Enter font or leave empty"
msgstr ""
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:69 ../../../../js/forced-anon.js:60
#: ../../../../js/forced-anon.js:66 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
#: ../../../../js/forced-anon.js:71
msgid "Forced anonymity"
msgstr ""
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:66
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
msgid "enabled"
msgstr ""
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:69
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:71
msgid "disabled"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sun"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Mon"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Tue"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Wed"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Thu"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Fri"
msgstr ""
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sat"
msgstr ""
#: ../../../../js/catalog-link.js:21 ../../../../js/catalog-link.js:32
#: ../../../../js/catalog-link.js:40 ../../../../js/catalog-link.js:33
#: ../../../../js/catalog-link.js:44 ../../../../js/catalog-link.js:52
msgid "Catalog"
msgstr ""
#: ../../../../js/quick-reply.js:21 ../../../../js/quick-reply-old.js:21
#: ../../../../js/quick-reply-old.js:23
msgid "Submit"
msgstr ""
#: ../../../../js/quick-reply.js:31 ../../../../js/quick-reply-old.js:31
#: ../../../../js/quick-reply-old.js:33
msgid "Quick reply"
msgstr ""
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
#, python-brace-format
msgid "Posting mode: Replying to <small>&gt;&gt;{0}</small>"
msgstr ""
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
msgid "Return"
msgstr ""
#: ../../../../js/expand-all-images.js:20
#: ../../../../js/expand-all-images.js:21
#: ../../../../js/expand-all-images.js:22
msgid "Expand all images"
msgstr ""
#: ../../../../templates/main.js:6
msgid "Hello!"
msgstr ""
#: ../../../../templates/main.js:18
#, python-brace-format
msgid "{0} users"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:28
#: ../../../../templates/themes/ukko/ukko.js:39
#: ../../../../templates/themes/ukko/ukko.js:29
#: ../../../../templates/themes/ukko/ukko.js:40
msgid "(hide threads from this board)"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:32
#: ../../../../templates/themes/ukko/ukko.js:44
#: ../../../../templates/themes/ukko/ukko.js:33
#: ../../../../templates/themes/ukko/ukko.js:45
msgid "(show threads from this board)"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:57
#: ../../../../templates/themes/ukko/ukko.js:58
msgid "No more threads to display"
msgstr ""
#: ../../../../templates/themes/ukko/ukko.js:79
#: ../../../../templates/themes/ukko/ukko.js:80
msgid "Loading..."
msgstr ""
#: ../../../../js/download-original.js:32
#: ../../../../js/download-original.js:33
msgid "Save as original filename"
msgstr ""
#: ../../../../js/ajax-post-controls.js:43
msgid "Reported post(s)."
msgstr ""
#: ../../../../js/ajax-post-controls.js:53
msgid "An unknown error occured!"
msgstr ""
#: ../../../../js/ajax-post-controls.js:60
msgid "Something went wrong... An unknown error occured!"
msgstr ""
#: ../../../../js/ajax-post-controls.js:68
msgid "Working..."
msgstr ""
#: ../../../../js/ajax.js:42 ../../../../js/ajax.js:45
msgid "Posting... (#%)"
msgstr ""
#: ../../../../js/ajax.js:104 ../../../../js/ajax.js:109
msgid "Posted..."
msgstr ""
#: ../../../../js/ajax.js:106 ../../../../js/ajax.js:111
msgid "An unknown error occured when posting!"
msgstr ""
#: ../../../../js/ajax.js:130 ../../../../js/ajax.js:135
msgid "Posting..."
msgstr ""
#: ../../../../js/quick-reply.js:223 ../../../../js/quick-reply.js:224
#: ../../../../js/quick-reply.js:225
msgid "Upload URL"
msgstr ""
#: ../../../../js/quick-reply.js:266 ../../../../js/quick-reply.js:267
#: ../../../../js/quick-reply.js:268
msgid "Spoiler Image"
msgstr ""
#: ../../../../js/quick-reply.js:277 ../../../../js/quick-reply.js:278
#: ../../../../js/quick-reply.js:279
msgid "Comment"
msgstr ""
#: ../../../../js/quick-reply.js:285 ../../../../js/quick-reply.js:406
#: ../../../../js/quick-reply.js:286 ../../../../js/quick-reply.js:407
#: ../../../../js/quick-reply.js:287 ../../../../js/quick-reply.js:408
msgid "Quick Reply"
msgstr ""
#: ../../../../js/watch.js:249 ../../../../js/watch.js:250
#: ../../../../js/watch.js:288 ../../../../js/watch.js:289
#: ../../../../js/watch.js:330 ../../../../js/watch.js:331
msgid "Stop watching this thread"
msgstr ""
#: ../../../../js/watch.js:249 ../../../../js/watch.js:250
#: ../../../../js/watch.js:288 ../../../../js/watch.js:289
#: ../../../../js/watch.js:330 ../../../../js/watch.js:331
msgid "Watch this thread"
msgstr ""
#: ../../../../js/watch.js:260 ../../../../js/watch.js:261
#: ../../../../js/watch.js:269 ../../../../js/watch.js:299
#: ../../../../js/watch.js:300 ../../../../js/watch.js:308
#: ../../../../js/watch.js:341 ../../../../js/watch.js:342
#: ../../../../js/watch.js:350
msgid "Unpin this board"
msgstr ""
#: ../../../../js/watch.js:260 ../../../../js/watch.js:261
#: ../../../../js/watch.js:269 ../../../../js/watch.js:299
#: ../../../../js/watch.js:300 ../../../../js/watch.js:308
#: ../../../../js/watch.js:341 ../../../../js/watch.js:342
#: ../../../../js/watch.js:350
msgid "Pin this board"
msgstr ""
#: ../../../../js/watch.js:262 ../../../../js/watch.js:267
#: ../../../../js/watch.js:268 ../../../../js/watch.js:301
#: ../../../../js/watch.js:306 ../../../../js/watch.js:307
#: ../../../../js/watch.js:343 ../../../../js/watch.js:348
#: ../../../../js/watch.js:349
msgid "Stop watching this board"
msgstr ""
#: ../../../../js/watch.js:262 ../../../../js/watch.js:267
#: ../../../../js/watch.js:268 ../../../../js/watch.js:301
#: ../../../../js/watch.js:306 ../../../../js/watch.js:307
#: ../../../../js/watch.js:343 ../../../../js/watch.js:348
#: ../../../../js/watch.js:349
msgid "Watch this board"
msgstr ""
#: ../../../../js/wpaint.js:113
msgid "Click on any image on this site to load it into oekaki applet"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Sunday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Monday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Tuesday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Wednesday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Thursday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Friday"
msgstr ""
#: ../../../../js/local-time.js:29
msgid "Saturday"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "January"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "February"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "March"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "April"
msgstr ""
#: ../../../../js/local-time.js:31 ../../../../js/local-time.js:32
msgid "May"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "June"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "July"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "August"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "September"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "October"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "November"
msgstr ""
#: ../../../../js/local-time.js:31
msgid "December"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Jan"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Feb"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Mar"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Apr"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Jun"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Jul"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Aug"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Sep"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Oct"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Nov"
msgstr ""
#: ../../../../js/local-time.js:32
msgid "Dec"
msgstr ""
#: ../../../../js/local-time.js:33
msgid "AM"
msgstr ""
#: ../../../../js/local-time.js:34
msgid "PM"
msgstr ""
#: ../../../../js/local-time.js:35
msgid "am"
msgstr ""
#: ../../../../js/local-time.js:36
msgid "pm"
msgstr ""
#: ../../../../js/expand-video.js:45 ../../../../js/expand-video.js:48
msgid "Your browser does not support HTML5 video."
msgstr ""
#: ../../../../js/expand-video.js:189 ../../../../js/expand-video.js:192
msgid "[play once]"
msgstr ""
#: ../../../../js/expand-video.js:190 ../../../../js/expand-video.js:193
msgid "[loop]"
msgstr ""
#: ../../../../js/webm-settings.js:42
msgid "WebM Settings"
msgstr ""
#: ../../../../js/webm-settings.js:44
msgid "Expand videos inline"
msgstr ""
#: ../../../../js/webm-settings.js:45
msgid "Play videos on hover"
msgstr ""
#: ../../../../js/webm-settings.js:46
msgid "Default volume"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -1 +1 @@
l10n = {"Show locked threads":"Zobrazi\u0165 zamknut\u00e9 vl\u00e1kna","Hide locked threads":"Skry\u0165 zamknut\u00e9 vl\u00e1kna","File":"S\u00fabor","hide":"skry\u0165","show":"uk\u00e1za\u0165","Stop watching this thread":"Zastavi\u0165 sledovanie tohto vl\u00e1kna","Watch this thread":"Sledova\u0165 toto vl\u00e1kno","Unpin this board":"Odopn\u00fa\u0165 t\u00fato dosku","Pin this board":"Pripn\u00fa\u0165 t\u00fato dosku","Stop watching this board":"Zastavi\u0165 sledovanie tejto dosky","Watch this board":"Sledova\u0165 t\u00fato dosku","Upload URL":"Adresa s\u00faboru","Spoiler Image":"Skryt\u00fd obr\u00e1zok","Comment":"Koment\u00e1r","Quick Reply":"R\u00fdchla odpove\u010f","Style: ":"\u0160t\u00fdl:","Sun":"Ne","Mon":"Po","Tue":"Ut","Wed":"St","Thu":"\u0160t","Fri":"Pi","Sat":"So","Forced anonymity":"Vyn\u00faten\u00e1 anonymita","enabled":"zapnut\u00e1","disabled":"vypnut\u00e1","Submit":"Odosla\u0165","Quick reply":"R\u00fdchla odpove\u010f","Posting mode: Replying to <small>&gt;&gt;{0}<\/small>":"Re\u017eim prispievania: Odpove\u010f na <small>&gt;&gt;{0}<\/small>","Return":"N\u00e1vrat","Click reply to view.":"Klikni na Odpove\u010f pre ich zobrazenie.","Click to expand":"Klikni sem pre zobrazenie","Hide expanded replies":"Skry\u0165 zobrazen\u00e9 odpovede","Reported post(s).":"Pr\u00edspevok nahl\u00e1sen\u00fd.","An unknown error occured!":"Nastala nezn\u00e1ma chyba!","Something went wrong... An unknown error occured!":"Stalo sa nie\u010do zl\u00e9... Nastala nezn\u00e1ma chyba!","Working...":"Pracujem...","Posting... (#%)":"Odosielam... (#%)","Posted...":"Odoslan\u00e9...","An unknown error occured when posting!":"Pri odosielan\u00ed nastala nezn\u00e1ma chyba!","Posting...":"Odosielam...","Password":"Heslo","Delete file only":"Odstr\u00e1ni\u0165 iba s\u00fabor","Delete":"Odstr\u00e1ni\u0165","Reason":"D\u00f4vod","Report":"Nahl\u00e1si\u0165","Catalog":"Katal\u00f3g","URL":"Adresa","Select":"Vybra\u0165","Remote":"Vzdialen\u00fd","Embed":"Vlo\u017ei\u0165","Oekaki":"Oekaki","hidden":"skryt\u00fd","Show images":"Zobrazi\u0165 obr\u00e1zky","Hide images":"Skry\u0165 obr\u00e1zky","Expand all images":"Otvori\u0165 v\u0161etky obr\u00e1zky","Save as original filename":"Ulo\u017ei\u0165 s p\u00f4vodn\u00fdm n\u00e1zvom","(hide threads from this board)":"(skry\u0165 vl\u00e1kna z tejto dosky)","(show threads from this board)":"(zobrazi\u0165 vl\u00e1kna z tejto dosky)","No more threads to display":"\u017diadne \u010fal\u0161ie vl\u00e1kna na zobrazenie","Loading...":"Na\u010d\u00edtanie...","Hello!":"Ahoj!","{0} users":"{0} u\u017e\u00edvate\u013eov","Sunday":"Nede\u013ea","Monday":"Pondelok","Tuesday":"Utorok","Wednesday":"Streda","Thursday":"\u0160tvrtok","Friday":"Piatok","Saturday":"Sobota","January":"Janu\u00e1r","February":"Febru\u00e1r","March":"Marec","April":"Apr\u00edl","May":"M\u00e1j","June":"J\u00fan","July":"J\u00fal","August":"August","September":"September","October":"Okt\u00f3ber","November":"November","December":"December","Jan":"Jan","Feb":"Feb","Mar":"Mar","Apr":"Apr","Jun":"J\u00fan","Jul":"J\u00fal","Aug":"Aug","Sep":"Sep","Oct":"Okt","Nov":"Nov","Dec":"Dec","AM":"Doobeda","PM":"Poobede","am":"doobeda","pm":"poobede"};
l10n = {"Style: ":"\u0160t\u00fdl:","File":"S\u00fabor","hide":"skry\u0165","show":"uk\u00e1za\u0165","Show locked threads":"Zobrazi\u0165 zamknut\u00e9 vl\u00e1kna","Hide locked threads":"Skry\u0165 zamknut\u00e9 vl\u00e1kna","URL":"Adresa","Select":"Vybra\u0165","Remote":"Vzdialen\u00fd","Embed":"Vlo\u017ei\u0165","Oekaki":"Oekaki","hidden":"skryt\u00fd","Show images":"Zobrazi\u0165 obr\u00e1zky","Hide images":"Skry\u0165 obr\u00e1zky","Password":"Heslo","Delete file only":"Odstr\u00e1ni\u0165 iba s\u00fabor","Delete":"Odstr\u00e1ni\u0165","Reason":"D\u00f4vod","Report":"Nahl\u00e1si\u0165","Click reply to view.":"Klikni na Odpove\u010f pre ich zobrazenie.","Click to expand":"Klikni sem pre zobrazenie","Hide expanded replies":"Skry\u0165 zobrazen\u00e9 odpovede","Brush size":"Ve\u013ekos\u0165 \u0161tetca","Set text":"Nastavi\u0165 text","Clear":"Vy\u010disti\u0165","Save":"Ulo\u017ei\u0165","Load":"Na\u010d\u00edta\u0165","Toggle eraser":"Zmeni\u0165 gumu","Get color":"Vybra\u0165 farbu","Fill":"Vyplni\u0165","Use oekaki instead of file?":"Pou\u017ei\u0165 miesto s\u00faboru oekaki?","Edit in oekaki":"Upravi\u0165 v oekaki","Enter some text":"Nap\u00ed\u0161 nejak\u00fd text","Enter font or leave empty":"Vlo\u017e p\u00edsmo alebo nechaj pr\u00e1zdne","Forced anonymity":"Vyn\u00faten\u00e1 anonymita","enabled":"zapnut\u00e1","disabled":"vypnut\u00e1","Sun":"Ne","Mon":"Po","Tue":"Ut","Wed":"St","Thu":"\u0160t","Fri":"Pi","Sat":"So","Catalog":"Katal\u00f3g","Submit":"Odosla\u0165","Quick reply":"R\u00fdchla odpove\u010f","Posting mode: Replying to <small>&gt;&gt;{0}<\/small>":"Re\u017eim prispievania: Odpove\u010f na <small>&gt;&gt;{0}<\/small>","Return":"N\u00e1vrat","Expand all images":"Otvori\u0165 v\u0161etky obr\u00e1zky","Hello!":"Ahoj!","{0} users":"{0} u\u017e\u00edvate\u013eov","(hide threads from this board)":"(skry\u0165 vl\u00e1kna z tejto dosky)","(show threads from this board)":"(zobrazi\u0165 vl\u00e1kna z tejto dosky)","No more threads to display":"\u017diadne \u010fal\u0161ie vl\u00e1kna na zobrazenie","Loading...":"Na\u010d\u00edtanie...","Save as original filename":"Ulo\u017ei\u0165 s p\u00f4vodn\u00fdm n\u00e1zvom","Reported post(s).":"Pr\u00edspevok nahl\u00e1sen\u00fd.","An unknown error occured!":"Nastala nezn\u00e1ma chyba!","Something went wrong... An unknown error occured!":"Stalo sa nie\u010do zl\u00e9... Nastala nezn\u00e1ma chyba!","Working...":"Pracujem...","Posting... (#%)":"Odosielam... (#%)","Posted...":"Odoslan\u00e9...","An unknown error occured when posting!":"Pri odosielan\u00ed nastala nezn\u00e1ma chyba!","Posting...":"Odosielam...","Upload URL":"Adresa s\u00faboru","Spoiler Image":"Skryt\u00fd obr\u00e1zok","Comment":"Koment\u00e1r","Quick Reply":"R\u00fdchla odpove\u010f","Stop watching this thread":"Zastavi\u0165 sledovanie tohto vl\u00e1kna","Watch this thread":"Sledova\u0165 toto vl\u00e1kno","Unpin this board":"Odopn\u00fa\u0165 t\u00fato dosku","Pin this board":"Pripn\u00fa\u0165 t\u00fato dosku","Stop watching this board":"Zastavi\u0165 sledovanie tejto dosky","Watch this board":"Sledova\u0165 t\u00fato dosku","Click on any image on this site to load it into oekaki applet":"Klikni na ak\u00fdko\u013evek obr\u00e1zok na tejto str\u00e1nke pre jeho na\u010d\u00edtanie do Oekaki","Sunday":"Nede\u013ea","Monday":"Pondelok","Tuesday":"Utorok","Wednesday":"Streda","Thursday":"\u0160tvrtok","Friday":"Piatok","Saturday":"Sobota","January":"Janu\u00e1r","February":"Febru\u00e1r","March":"Marec","April":"Apr\u00edl","May":"M\u00e1j","June":"J\u00fan","July":"J\u00fal","August":"August","September":"September","October":"Okt\u00f3ber","November":"November","December":"December","Jan":"Jan","Feb":"Feb","Mar":"Mar","Apr":"Apr","Jun":"J\u00fan","Jul":"J\u00fal","Aug":"Aug","Sep":"Sep","Oct":"Okt","Nov":"Nov","Dec":"Dec","AM":"Doobeda","PM":"Poobede","am":"doobeda","pm":"poobede","Your browser does not support HTML5 video.":"Tvoj prehliada\u010d nepodporuje HTML5 vide\u00e1.","[play once]":"[hra\u0165 raz]","[loop]":"[slu\u010dka]","WebM Settings":"Nastavenia WebM","Expand videos inline":"Otvori\u0165 vide\u00e1 v riadku","Play videos on hover":"Spusti\u0165 vide\u00e1 pri uk\u00e1zan\u00ed na ne","Default volume":"P\u00f4vodn\u00e1 hlasitos\u0165"};

View File

@ -1,169 +1,304 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
#
# Translators:
# dubcheck <admin@alokal.eu>, 2014
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Project-Id-Version: vichan\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-02-23 18:52+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: dubcheck <admin@alokal.eu>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: sk_SK\n"
"POT-Creation-Date: 2014-04-18 19:24+0200\n"
"PO-Revision-Date: 2014-04-18 18:51+0000\n"
"Last-Translator: czaks <marcin@6irc.net>\n"
"Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/tinyboard-vichan-devel/language/sk_SK/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: sk_SK\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#: ../../../../js/style-select.js:40 ../../../../js/style-select.js:41
msgid "Style: "
msgstr "Štýl:"
#: ../../../../js/hide-images.js:50 ../../../../js/upload-selection.js:51
#: ../../../../js/quick-post-controls.js:30 ../../../../js/hide-images.js:51
#: ../../../../js/quick-post-controls.js:32
#: ../../../../js/upload-selection.js:61
msgid "File"
msgstr "Súbor"
#: ../../../../js/hide-images.js:50 ../../../../js/hide-images.js:51
msgid "hide"
msgstr "skryť"
#: ../../../../js/hide-images.js:56 ../../../../js/hide-images.js:57
msgid "show"
msgstr "ukázať"
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
#: ../../../../js/toggle-locked-threads.js:40
#: ../../../../js/toggle-locked-threads.js:55
#: ../../../../js/toggle-locked-threads.js:41
#: ../../../../js/toggle-locked-threads.js:56
msgid "Show locked threads"
msgstr "Zobraziť zamknuté vlákna"
#: ../../../../js/toggle-locked-threads.js:39
#: ../../../../js/toggle-locked-threads.js:54
#: ../../../../js/toggle-locked-threads.js:40
#: ../../../../js/toggle-locked-threads.js:55
#: ../../../../js/toggle-locked-threads.js:41
#: ../../../../js/toggle-locked-threads.js:56
msgid "Hide locked threads"
msgstr "Skryť zamknuté vlákna"
#: ../../../../js/hide-images.js:51 ../../../../js/quick-post-controls.js:32
#: ../../../../js/upload-selection.js:61
msgid "File"
msgstr "Súbor"
#: ../../../../js/upload-selection.js:32 ../../../../js/upload-selection.js:45
msgid "URL"
msgstr "Adresa"
#: ../../../../js/hide-images.js:51
msgid "hide"
msgstr "skryť"
#: ../../../../js/upload-selection.js:50 ../../../../js/upload-selection.js:60
msgid "Select"
msgstr "Vybrať"
#: ../../../../js/hide-images.js:57
msgid "show"
msgstr "ukázať"
#: ../../../../js/upload-selection.js:53 ../../../../js/upload-selection.js:63
msgid "Remote"
msgstr "Vzdialený"
#: ../../../../js/watch.js:330 ../../../../js/watch.js:331
msgid "Stop watching this thread"
msgstr "Zastaviť sledovanie tohto vlákna"
#: ../../../../js/upload-selection.js:56 ../../../../js/upload-selection.js:66
msgid "Embed"
msgstr "Vložiť"
#: ../../../../js/watch.js:330 ../../../../js/watch.js:331
msgid "Watch this thread"
msgstr "Sledovať toto vlákno"
#: ../../../../js/upload-selection.js:59 ../../../../js/upload-selection.js:69
msgid "Oekaki"
msgstr "Oekaki"
#: ../../../../js/watch.js:341 ../../../../js/watch.js:342
#: ../../../../js/watch.js:350
msgid "Unpin this board"
msgstr "Odopnúť túto dosku"
#: ../../../../js/toggle-images.js:41 ../../../../js/toggle-images.js:42
msgid "hidden"
msgstr "skrytý"
#: ../../../../js/watch.js:341 ../../../../js/watch.js:342
#: ../../../../js/watch.js:350
msgid "Pin this board"
msgstr "Pripnúť túto dosku"
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Show images"
msgstr "Zobraziť obrázky"
#: ../../../../js/watch.js:343 ../../../../js/watch.js:348
#: ../../../../js/watch.js:349
msgid "Stop watching this board"
msgstr "Zastaviť sledovanie tejto dosky"
#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Hide images"
msgstr "Skryť obrázky"
#: ../../../../js/watch.js:343 ../../../../js/watch.js:348
#: ../../../../js/watch.js:349
msgid "Watch this board"
msgstr "Sledovať túto dosku"
#: ../../../../js/quick-post-controls.js:27
#: ../../../../js/quick-post-controls.js:29
msgid "Password"
msgstr "Heslo"
#: ../../../../js/quick-reply.js:224
msgid "Upload URL"
msgstr "Adresa súboru"
#: ../../../../js/quick-post-controls.js:29
#: ../../../../js/quick-post-controls.js:31
msgid "Delete file only"
msgstr "Odstrániť iba súbor"
#: ../../../../js/quick-reply.js:267
msgid "Spoiler Image"
msgstr "Skrytý obrázok"
#: ../../../../js/quick-post-controls.js:31
#: ../../../../js/quick-post-controls.js:33
msgid "Delete"
msgstr "Odstrániť"
#: ../../../../js/quick-reply.js:278
msgid "Comment"
msgstr "Komentár"
#: ../../../../js/quick-post-controls.js:35
#: ../../../../js/quick-post-controls.js:37
msgid "Reason"
msgstr "Dôvod"
#: ../../../../js/quick-reply.js:286 ../../../../js/quick-reply.js:407
msgid "Quick Reply"
msgstr "Rýchla odpoveď"
#: ../../../../js/quick-post-controls.js:37
#: ../../../../js/quick-post-controls.js:39
msgid "Report"
msgstr "Nahlásiť"
#: ../../../../js/style-select.js:41
msgid "Style: "
msgstr "Štýl:"
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click reply to view."
msgstr "Klikni na Odpoveď pre ich zobrazenie."
#: ../../../../js/local-time.js:41 ../../../../js/local-time.js:30
#: ../../../../js/local-time.js:40
msgid "Sun"
msgstr "Ne"
#: ../../../../js/expand.js:20 ../../../../js/expand.js:22
msgid "Click to expand"
msgstr "Klikni sem pre zobrazenie"
#: ../../../../js/local-time.js:41 ../../../../js/local-time.js:30
#: ../../../../js/local-time.js:40
msgid "Mon"
msgstr "Po"
#: ../../../../js/expand.js:44 ../../../../js/expand.js:46
msgid "Hide expanded replies"
msgstr "Skryť zobrazené odpovede"
#: ../../../../js/local-time.js:41 ../../../../js/local-time.js:30
#: ../../../../js/local-time.js:40
msgid "Tue"
msgstr "Ut"
#: ../../../../js/oekaki.js:10
msgid "Brush size"
msgstr "Veľkosť štetca"
#: ../../../../js/local-time.js:41 ../../../../js/local-time.js:30
#: ../../../../js/local-time.js:40
msgid "Wed"
msgstr "St"
#: ../../../../js/oekaki.js:10
msgid "Set text"
msgstr "Nastaviť text"
#: ../../../../js/local-time.js:41 ../../../../js/local-time.js:30
#: ../../../../js/local-time.js:40
msgid "Thu"
msgstr "Št"
#: ../../../../js/oekaki.js:10
msgid "Clear"
msgstr "Vyčistiť"
#: ../../../../js/local-time.js:41 ../../../../js/local-time.js:30
#: ../../../../js/local-time.js:40
msgid "Fri"
msgstr "Pi"
#: ../../../../js/oekaki.js:10
msgid "Save"
msgstr "Uložiť"
#: ../../../../js/local-time.js:41 ../../../../js/local-time.js:30
#: ../../../../js/local-time.js:40
msgid "Sat"
msgstr "So"
#: ../../../../js/oekaki.js:10
msgid "Load"
msgstr "Načítať"
#: ../../../../js/oekaki.js:11
msgid "Toggle eraser"
msgstr "Zmeniť gumu"
#: ../../../../js/oekaki.js:11
msgid "Get color"
msgstr "Vybrať farbu"
#: ../../../../js/oekaki.js:11
msgid "Fill"
msgstr "Vyplniť"
#: ../../../../js/oekaki.js:12
msgid "Use oekaki instead of file?"
msgstr "Použiť miesto súboru oekaki?"
#: ../../../../js/oekaki.js:21
msgid "Edit in oekaki"
msgstr "Upraviť v oekaki"
#: ../../../../js/oekaki.js:152
msgid "Enter some text"
msgstr "Napíš nejaký text"
#: ../../../../js/oekaki.js:153
msgid "Enter font or leave empty"
msgstr "Vlož písmo alebo nechaj prázdne"
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:69 ../../../../js/forced-anon.js:60
#: ../../../../js/forced-anon.js:66 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
#: ../../../../js/forced-anon.js:71
msgid "Forced anonymity"
msgstr "Vynútená anonymita"
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:65
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:66
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:67
msgid "enabled"
msgstr "zapnutá"
#: ../../../../js/forced-anon.js:59 ../../../../js/forced-anon.js:69
#: ../../../../js/forced-anon.js:60 ../../../../js/forced-anon.js:70
#: ../../../../js/forced-anon.js:61 ../../../../js/forced-anon.js:71
msgid "disabled"
msgstr "vypnutá"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sun"
msgstr "Ne"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Mon"
msgstr "Po"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Tue"
msgstr "Ut"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Wed"
msgstr "St"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Thu"
msgstr "Št"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Fri"
msgstr "Pi"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sat"
msgstr "So"
#: ../../../../js/catalog-link.js:21 ../../../../js/catalog-link.js:32
#: ../../../../js/catalog-link.js:40 ../../../../js/catalog-link.js:33
#: ../../../../js/catalog-link.js:44 ../../../../js/catalog-link.js:52
msgid "Catalog"
msgstr "Katalóg"
#: ../../../../js/quick-reply.js:21 ../../../../js/quick-reply-old.js:21
#: ../../../../js/quick-reply-old.js:23
msgid "Submit"
msgstr "Odoslať"
#: ../../../../js/quick-reply.js:31 ../../../../js/quick-reply-old.js:31
#: ../../../../js/quick-reply-old.js:33
msgid "Quick reply"
msgstr "Rýchla odpoveď"
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
#, python-brace-format
msgid "Posting mode: Replying to <small>&gt;&gt;{0}</small>"
msgstr "Režim prispievania: Odpoveď na <small>&gt;&gt;{0}</small>"
#: ../../../../js/quick-reply.js:33 ../../../../js/quick-reply-old.js:33
#: ../../../../js/quick-reply-old.js:35
msgid "Return"
msgstr "Návrat"
#: ../../../../js/expand.js:22
msgid "Click reply to view."
msgstr "Klikni na Odpoveď pre ich zobrazenie."
#: ../../../../js/expand-all-images.js:20
#: ../../../../js/expand-all-images.js:21
#: ../../../../js/expand-all-images.js:22
msgid "Expand all images"
msgstr "Otvoriť všetky obrázky"
#: ../../../../js/expand.js:22
msgid "Click to expand"
msgstr "Klikni sem pre zobrazenie"
#: ../../../../templates/main.js:6
msgid "Hello!"
msgstr "Ahoj!"
#: ../../../../js/expand.js:46
msgid "Hide expanded replies"
msgstr "Skryť zobrazené odpovede"
#: ../../../../templates/main.js:18
#, python-brace-format
msgid "{0} users"
msgstr "{0} užívateľov"
#: ../../../../templates/themes/ukko/ukko.js:28
#: ../../../../templates/themes/ukko/ukko.js:39
#: ../../../../templates/themes/ukko/ukko.js:29
#: ../../../../templates/themes/ukko/ukko.js:40
msgid "(hide threads from this board)"
msgstr "(skryť vlákna z tejto dosky)"
#: ../../../../templates/themes/ukko/ukko.js:32
#: ../../../../templates/themes/ukko/ukko.js:44
#: ../../../../templates/themes/ukko/ukko.js:33
#: ../../../../templates/themes/ukko/ukko.js:45
msgid "(show threads from this board)"
msgstr "(zobraziť vlákna z tejto dosky)"
#: ../../../../templates/themes/ukko/ukko.js:57
#: ../../../../templates/themes/ukko/ukko.js:58
msgid "No more threads to display"
msgstr "Žiadne ďalšie vlákna na zobrazenie"
#: ../../../../templates/themes/ukko/ukko.js:79
#: ../../../../templates/themes/ukko/ukko.js:80
msgid "Loading..."
msgstr "Načítanie..."
#: ../../../../js/download-original.js:32
#: ../../../../js/download-original.js:33
msgid "Save as original filename"
msgstr "Uložiť s pôvodným názvom"
#: ../../../../js/ajax-post-controls.js:43
msgid "Reported post(s)."
@ -181,118 +316,90 @@ msgstr "Stalo sa niečo zlé... Nastala neznáma chyba!"
msgid "Working..."
msgstr "Pracujem..."
#: ../../../../js/ajax.js:45
#: ../../../../js/ajax.js:42 ../../../../js/ajax.js:45
msgid "Posting... (#%)"
msgstr "Odosielam... (#%)"
#: ../../../../js/ajax.js:109
#: ../../../../js/ajax.js:104 ../../../../js/ajax.js:109
msgid "Posted..."
msgstr "Odoslané..."
#: ../../../../js/ajax.js:111
#: ../../../../js/ajax.js:106 ../../../../js/ajax.js:111
msgid "An unknown error occured when posting!"
msgstr "Pri odosielaní nastala neznáma chyba!"
#: ../../../../js/ajax.js:135
#: ../../../../js/ajax.js:130 ../../../../js/ajax.js:135
msgid "Posting..."
msgstr "Odosielam..."
#: ../../../../js/quick-reply.js:223 ../../../../js/quick-reply.js:224
#: ../../../../js/quick-reply.js:225
msgid "Upload URL"
msgstr "Adresa súboru"
#: ../../../../js/quick-reply.js:266 ../../../../js/quick-reply.js:267
#: ../../../../js/quick-reply.js:268
msgid "Spoiler Image"
msgstr "Skrytý obrázok"
#: ../../../../js/quick-reply.js:277 ../../../../js/quick-reply.js:278
#: ../../../../js/quick-reply.js:279
msgid "Comment"
msgstr "Komentár"
#: ../../../../js/quick-reply.js:285 ../../../../js/quick-reply.js:406
#: ../../../../js/quick-reply.js:286 ../../../../js/quick-reply.js:407
#: ../../../../js/quick-reply.js:287 ../../../../js/quick-reply.js:408
msgid "Quick Reply"
msgstr "Rýchla odpoveď"
#: ../../../../js/watch.js:249 ../../../../js/watch.js:250
#: ../../../../js/watch.js:288 ../../../../js/watch.js:289
#: ../../../../js/watch.js:330 ../../../../js/watch.js:331
msgid "Stop watching this thread"
msgstr "Zastaviť sledovanie tohto vlákna"
#: ../../../../js/watch.js:249 ../../../../js/watch.js:250
#: ../../../../js/watch.js:288 ../../../../js/watch.js:289
#: ../../../../js/watch.js:330 ../../../../js/watch.js:331
msgid "Watch this thread"
msgstr "Sledovať toto vlákno"
#: ../../../../js/watch.js:260 ../../../../js/watch.js:261
#: ../../../../js/watch.js:269 ../../../../js/watch.js:299
#: ../../../../js/watch.js:300 ../../../../js/watch.js:308
#: ../../../../js/watch.js:341 ../../../../js/watch.js:342
#: ../../../../js/watch.js:350
msgid "Unpin this board"
msgstr "Odopnúť túto dosku"
#: ../../../../js/watch.js:260 ../../../../js/watch.js:261
#: ../../../../js/watch.js:269 ../../../../js/watch.js:299
#: ../../../../js/watch.js:300 ../../../../js/watch.js:308
#: ../../../../js/watch.js:341 ../../../../js/watch.js:342
#: ../../../../js/watch.js:350
msgid "Pin this board"
msgstr "Pripnúť túto dosku"
#: ../../../../js/watch.js:262 ../../../../js/watch.js:267
#: ../../../../js/watch.js:268 ../../../../js/watch.js:301
#: ../../../../js/watch.js:306 ../../../../js/watch.js:307
#: ../../../../js/watch.js:343 ../../../../js/watch.js:348
#: ../../../../js/watch.js:349
msgid "Stop watching this board"
msgstr "Zastaviť sledovanie tejto dosky"
#: ../../../../js/watch.js:262 ../../../../js/watch.js:267
#: ../../../../js/watch.js:268 ../../../../js/watch.js:301
#: ../../../../js/watch.js:306 ../../../../js/watch.js:307
#: ../../../../js/watch.js:343 ../../../../js/watch.js:348
#: ../../../../js/watch.js:349
msgid "Watch this board"
msgstr "Sledovať túto dosku"
#: ../../../../js/wpaint.js:113
msgid "Click on any image on this site to load it into oekaki applet"
msgstr ""
"Klikni na akýkoľvek obrázok na tejto stránke pre jeho načítanie do Oekaki"
#: ../../../../js/quick-post-controls.js:29
msgid "Password"
msgstr "Heslo"
#: ../../../../js/quick-post-controls.js:31
msgid "Delete file only"
msgstr "Odstrániť iba súbor"
#: ../../../../js/quick-post-controls.js:33
msgid "Delete"
msgstr "Odstrániť"
#: ../../../../js/quick-post-controls.js:37
msgid "Reason"
msgstr "Dôvod"
#: ../../../../js/quick-post-controls.js:39
msgid "Report"
msgstr "Nahlásiť"
#: ../../../../js/catalog-link.js:33 ../../../../js/catalog-link.js:44
#: ../../../../js/catalog-link.js:52
msgid "Catalog"
msgstr "Katalóg"
#: ../../../../js/upload-selection.js:45
msgid "URL"
msgstr "Adresa"
#: ../../../../js/upload-selection.js:60
msgid "Select"
msgstr "Vybrať"
#: ../../../../js/upload-selection.js:63
msgid "Remote"
msgstr "Vzdialený"
#: ../../../../js/upload-selection.js:66
msgid "Embed"
msgstr "Vložiť"
#: ../../../../js/upload-selection.js:69
msgid "Oekaki"
msgstr "Oekaki"
#: ../../../../js/toggle-images.js:42
msgid "hidden"
msgstr "skrytý"
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Show images"
msgstr "Zobraziť obrázky"
#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
msgid "Hide images"
msgstr "Skryť obrázky"
#: ../../../../js/expand-all-images.js:22
msgid "Expand all images"
msgstr "Otvoriť všetky obrázky"
#: ../../../../js/download-original.js:33
msgid "Save as original filename"
msgstr "Uložiť s pôvodným názvom"
#: ../../../../templates/themes/ukko/ukko.js:29
#: ../../../../templates/themes/ukko/ukko.js:40
msgid "(hide threads from this board)"
msgstr "(skryť vlákna z tejto dosky)"
#: ../../../../templates/themes/ukko/ukko.js:33
#: ../../../../templates/themes/ukko/ukko.js:45
msgid "(show threads from this board)"
msgstr "(zobraziť vlákna z tejto dosky)"
#: ../../../../templates/themes/ukko/ukko.js:58
msgid "No more threads to display"
msgstr "Žiadne ďalšie vlákna na zobrazenie"
#: ../../../../templates/themes/ukko/ukko.js:80
msgid "Loading..."
msgstr "Načítanie..."
#: ../../../../templates/main.js:6
msgid "Hello!"
msgstr "Ahoj!"
#: ../../../../templates/main.js:18
#, python-brace-format
msgid "{0} users"
msgstr "{0} užívateľov"
msgstr "Klikni na akýkoľvek obrázok na tejto stránke pre jeho načítanie do Oekaki"
#: ../../../../js/local-time.js:29
msgid "Sunday"
@ -429,3 +536,31 @@ msgstr "doobeda"
#: ../../../../js/local-time.js:36
msgid "pm"
msgstr "poobede"
#: ../../../../js/expand-video.js:45 ../../../../js/expand-video.js:48
msgid "Your browser does not support HTML5 video."
msgstr "Tvoj prehliadač nepodporuje HTML5 videá."
#: ../../../../js/expand-video.js:189 ../../../../js/expand-video.js:192
msgid "[play once]"
msgstr "[hrať raz]"
#: ../../../../js/expand-video.js:190 ../../../../js/expand-video.js:193
msgid "[loop]"
msgstr "[slučka]"
#: ../../../../js/webm-settings.js:42
msgid "WebM Settings"
msgstr "Nastavenia WebM"
#: ../../../../js/webm-settings.js:44
msgid "Expand videos inline"
msgstr "Otvoriť videá v riadku"
#: ../../../../js/webm-settings.js:45
msgid "Play videos on hover"
msgstr "Spustiť videá pri ukázaní na ne"
#: ../../../../js/webm-settings.js:46
msgid "Default volume"
msgstr "Pôvodná hlasitosť"

File diff suppressed because it is too large Load Diff

View File

@ -1 +1 @@
l10n = {"Style: ":"Stil: ","File":"Dosya","hide":"gizle","show":"g\u00f6ster","Show locked threads":"Kilitli konular\u0131 g\u00f6ster","Hide locked threads":"Gizli konular\u0131 kilitle","URL":"URL","Select":"Se\u00e7","Remote":"Uzak","Embed":"G\u00f6m","Oekaki":"Oekaki","hidden":"gizli","Show images":"Resimleri g\u00f6ster","Hide images":"Resimleri gizle","Password":"\u015eifre","Delete file only":"Sadece dosyay\u0131 sil","Delete":"Sil","Reason":"Sebep","Report":"\u015eikayet et","Click reply to view.":"G\u00f6rmek i\u00e7in cevaplaya bas\u0131n.","Click to expand":"Geni\u015fletmek i\u00e7in t\u0131klay\u0131n","Hide expanded replies":"Daralt","Brush size":"F\u0131r\u00e7a b\u00fcy\u00fckl\u00fc\u011f\u00fc","Set text":"Yaz\u0131y\u0131 ayarla","Clear":"Temizle","Save":"Kay\u0131t et","Load":"Y\u00fckle","Toggle eraser":"Silgi","Get color":"Rengi se\u00e7","Fill":"Doldur","Use oekaki instead of file?":"Dosya yerine oekaki kullan","Edit in oekaki":"oekaki'de d\u00fczenle","Enter some text":"Bir yaz\u0131 girin","Enter font or leave empty":"Font girin ya da bo\u015f b\u0131rak\u0131n","Forced anonymity":"Zorunlu anon","enabled":"etkin","disabled":"etkin de\u011fil","Sun":"Paz","Mon":"Pzt","Tue":"Sa","Wed":"\u00c7r\u015f","Thu":"Per","Fri":"Cu","Sat":"Cts","Catalog":"Katalog","Submit":"G\u00f6nder","Quick reply":"\u00c7abuk cevap","Posting mode: Replying to <small>&gt;&gt;{0}<\/small>":"G\u00f6nderme modu: <small>&gt;&gt;{0}<\/small> cevap veriyorsunuz","Return":"Geri d\u00f6n","Expand all images":"B\u00fct\u00fcn resimleri geni\u015flet","Hello!":"Merhaba!","{0} users":"{0} kullan\u0131c\u0131","(hide threads from this board)":"(bu tahtadan konular\u0131 gizle)","(show threads from this board)":"(bu tahtadan konular\u0131 g\u00f6ster)","No more threads to display":"G\u00f6sterecek ba\u015fka konu kalmad\u0131","Loading...":"Y\u00fckleniyor...","Save as original filename":"Dosya ad\u0131yla kaydet","Reported post(s).":"\u015eikayet edilen konu\/konular.","An unknown error occured!":"FATAL \u00d6R\u00d6R","Something went wrong... An unknown error occured!":"Bilemedi\u011fimiz \u00e7ok fena \u015feyler oldu!","Working...":"Yap\u0131yoruz...","Posting... (#%)":"G\u00f6nderiliyor... (#%)","Posted...":"G\u00f6nderildi...","An unknown error occured when posting!":"Hata... \u00e7ok... fena... ","Posting...":"G\u00f6nderiliyor...","Upload URL":"Y\u00fckleme linki","Spoiler Image":"Spoiler","Comment":"Yorum","Quick Reply":"\u00c7abuk Cevaplama","Stop watching this thread":"Bu konuyu takip etmeyi b\u0131rak","Watch this thread":"Bu konuyu takip et","Unpin this board":"Bu tahtan\u0131n i\u011fnesini kald\u0131r","Pin this board":"Bu tahtay\u0131 i\u011fnele","Stop watching this board":"Bu tahtay\u0131 izlemeyi b\u0131rak","Watch this board":"Bu tahtay\u0131 izle","Click on any image on this site to load it into oekaki applet":"Oekaki'ye atmak i\u00e7in website \u00fczerindeki herhangi bir resme t\u0131klay\u0131n"};
l10n = {"Style: ":"Stil: ","File":"Dosya","hide":"gizle","show":"g\u00f6ster","Show locked threads":"Kilitli konular\u0131 g\u00f6ster","Hide locked threads":"Gizli konular\u0131 kilitle","URL":"URL","Select":"Se\u00e7","Remote":"Uzak","Embed":"G\u00f6m","Oekaki":"Oekaki","hidden":"gizli","Show images":"Resimleri g\u00f6ster","Hide images":"Resimleri gizle","Password":"\u015eifre","Delete file only":"Sadece dosyay\u0131 sil","Delete":"Sil","Reason":"Sebep","Report":"\u015eikayet et","Click reply to view.":"G\u00f6rmek i\u00e7in cevaplaya bas\u0131n.","Click to expand":"Geni\u015fletmek i\u00e7in t\u0131klay\u0131n","Hide expanded replies":"Daralt","Brush size":"F\u0131r\u00e7a b\u00fcy\u00fckl\u00fc\u011f\u00fc","Set text":"Yaz\u0131y\u0131 ayarla","Clear":"Temizle","Save":"Kay\u0131t et","Load":"Y\u00fckle","Toggle eraser":"Silgi","Get color":"Rengi se\u00e7","Fill":"Doldur","Use oekaki instead of file?":"Dosya yerine oekaki kullan","Edit in oekaki":"oekaki'de d\u00fczenle","Enter some text":"Bir yaz\u0131 girin","Enter font or leave empty":"Font girin ya da bo\u015f b\u0131rak\u0131n","Forced anonymity":"Zorunlu anon","enabled":"etkin","disabled":"etkin de\u011fil","Sun":"Paz","Mon":"Pzt","Tue":"Sa","Wed":"\u00c7r\u015f","Thu":"Per","Fri":"Cu","Sat":"Cts","Catalog":"Katalog","Submit":"G\u00f6nder","Quick reply":"\u00c7abuk cevap","Posting mode: Replying to <small>&gt;&gt;{0}<\/small>":"G\u00f6nderme modu: <small>&gt;&gt;{0}<\/small> cevap veriyorsunuz","Return":"Geri d\u00f6n","Expand all images":"B\u00fct\u00fcn resimleri geni\u015flet","Hello!":"Merhaba!","{0} users":"{0} kullan\u0131c\u0131","(hide threads from this board)":"(bu tahtadan konular\u0131 gizle)","(show threads from this board)":"(bu tahtadan konular\u0131 g\u00f6ster)","No more threads to display":"G\u00f6sterecek ba\u015fka konu kalmad\u0131","Loading...":"Y\u00fckleniyor...","Save as original filename":"Dosya ad\u0131yla kaydet","Reported post(s).":"\u015eikayet edilen konu\/konular.","An unknown error occured!":"FATAL \u00d6R\u00d6R","Something went wrong... An unknown error occured!":"Bilemedi\u011fimiz \u00e7ok fena \u015feyler oldu!","Working...":"Yap\u0131yoruz...","Posting... (#%)":"G\u00f6nderiliyor... (#%)","Posted...":"G\u00f6nderildi...","An unknown error occured when posting!":"Hata... \u00e7ok... fena... ","Posting...":"G\u00f6nderiliyor...","Upload URL":"Y\u00fckleme linki","Spoiler Image":"Spoiler","Comment":"Yorum","Quick Reply":"\u00c7abuk Cevaplama","Stop watching this thread":"Bu konuyu takip etmeyi b\u0131rak","Watch this thread":"Bu konuyu takip et","Unpin this board":"Bu tahtan\u0131n i\u011fnesini kald\u0131r","Pin this board":"Bu tahtay\u0131 i\u011fnele","Stop watching this board":"Bu tahtay\u0131 izlemeyi b\u0131rak","Watch this board":"Bu tahtay\u0131 izle","Click on any image on this site to load it into oekaki applet":"Oekaki'ye atmak i\u00e7in website \u00fczerindeki herhangi bir resme t\u0131klay\u0131n","Sunday":"Pazar","Monday":"Pazartesi","Tuesday":"Sal","Wednesday":"\u00c7ar\u015famba","Thursday":"Per\u015fembe","Friday":"Cuma","Saturday":"Cumartesi","January":"Ocak","February":"\u015eubat","March":"Mart","April":"Nisan","May":"May\u0131s","June":"Haziran","July":"Temmuz","August":"A\u011fustos","September":"Eyl\u00fcl","October":"kim","November":"Kas\u0131m","December":"Aral\u0131k","Jan":"Oca","Feb":"\u015eub","Mar":"Mar","Apr":"Nis","Jun":"Haz","Jul":"Tem","Aug":"A\u011fu","Sep":"Eyl","Oct":"Eki","Nov":"Kas","Dec":"Ara","AM":"\u00d6\u00d6","PM":"\u00d6S","am":"\u00f6\u00f6","pm":"\u00f6s","Your browser does not support HTML5 video.":"Taray\u0131c\u0131n\u0131z HTML5 videolar\u0131 desteklemiyor","[play once]":"[bir kere oynat]","[loop]":"[devaml\u0131]","WebM Settings":"WebM Ayarlar\u0131","Expand videos inline":"Videolar\u0131 i\u00e7erde geni\u015flet","Play videos on hover":"Mouse \u00fcst\u00fcne gelince videolar oynas\u0131n","Default volume":"Ses"};

View File

@ -1,21 +1,22 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
#
# Translators:
# Tunai <tunayuyar39@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: Tinyboard JS Çevirisi"
"Project-Id-Version: vichan\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-02-20 20:19+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Tunay Uyar tunayuyar39@gmail.com"
"Language-Team: Türkçe"
"Language: TR"
"POT-Creation-Date: 2014-04-18 19:24+0200\n"
"PO-Revision-Date: 2014-04-18 18:51+0000\n"
"Last-Translator: czaks <marcin@6irc.net>\n"
"Language-Team: Turkish (Turkey) (http://www.transifex.com/projects/p/tinyboard-vichan-devel/language/tr_TR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: tr_TR\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../../../../js/style-select.js:40 ../../../../js/style-select.js:41
msgid "Style: "
@ -194,30 +195,37 @@ msgid "disabled"
msgstr "etkin değil"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sun"
msgstr "Paz"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Mon"
msgstr "Pzt"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Tue"
msgstr "Sa"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Wed"
msgstr "Çrş"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Thu"
msgstr "Per"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Fri"
msgstr "Cu"
#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
#: ../../../../js/local-time.js:30
msgid "Sat"
msgstr "Cts"
@ -325,19 +333,23 @@ msgid "Posting..."
msgstr "Gönderiliyor..."
#: ../../../../js/quick-reply.js:223 ../../../../js/quick-reply.js:224
#: ../../../../js/quick-reply.js:225
msgid "Upload URL"
msgstr "Yükleme linki"
#: ../../../../js/quick-reply.js:266 ../../../../js/quick-reply.js:267
#: ../../../../js/quick-reply.js:268
msgid "Spoiler Image"
msgstr "Spoiler"
#: ../../../../js/quick-reply.js:277 ../../../../js/quick-reply.js:278
#: ../../../../js/quick-reply.js:279
msgid "Comment"
msgstr "Yorum"
#: ../../../../js/quick-reply.js:285 ../../../../js/quick-reply.js:406
#: ../../../../js/quick-reply.js:286 ../../../../js/quick-reply.js:407
#: ../../../../js/quick-reply.js:287 ../../../../js/quick-reply.js:408
msgid "Quick Reply"
msgstr "Çabuk Cevaplama"
@ -388,3 +400,167 @@ msgstr "Bu tahtayı izle"
#: ../../../../js/wpaint.js:113
msgid "Click on any image on this site to load it into oekaki applet"
msgstr "Oekaki'ye atmak için website üzerindeki herhangi bir resme tıklayın"
#: ../../../../js/local-time.js:29
msgid "Sunday"
msgstr "Pazar"
#: ../../../../js/local-time.js:29
msgid "Monday"
msgstr "Pazartesi"
#: ../../../../js/local-time.js:29
msgid "Tuesday"
msgstr "Sal"
#: ../../../../js/local-time.js:29
msgid "Wednesday"
msgstr "Çarşamba"
#: ../../../../js/local-time.js:29
msgid "Thursday"
msgstr "Perşembe"
#: ../../../../js/local-time.js:29
msgid "Friday"
msgstr "Cuma"
#: ../../../../js/local-time.js:29
msgid "Saturday"
msgstr "Cumartesi"
#: ../../../../js/local-time.js:31
msgid "January"
msgstr "Ocak"
#: ../../../../js/local-time.js:31
msgid "February"
msgstr "Şubat"
#: ../../../../js/local-time.js:31
msgid "March"
msgstr "Mart"
#: ../../../../js/local-time.js:31
msgid "April"
msgstr "Nisan"
#: ../../../../js/local-time.js:31 ../../../../js/local-time.js:32
msgid "May"
msgstr "Mayıs"
#: ../../../../js/local-time.js:31
msgid "June"
msgstr "Haziran"
#: ../../../../js/local-time.js:31
msgid "July"
msgstr "Temmuz"
#: ../../../../js/local-time.js:31
msgid "August"
msgstr "Ağustos"
#: ../../../../js/local-time.js:31
msgid "September"
msgstr "Eylül"
#: ../../../../js/local-time.js:31
msgid "October"
msgstr "kim"
#: ../../../../js/local-time.js:31
msgid "November"
msgstr "Kasım"
#: ../../../../js/local-time.js:31
msgid "December"
msgstr "Aralık"
#: ../../../../js/local-time.js:32
msgid "Jan"
msgstr "Oca"
#: ../../../../js/local-time.js:32
msgid "Feb"
msgstr "Şub"
#: ../../../../js/local-time.js:32
msgid "Mar"
msgstr "Mar"
#: ../../../../js/local-time.js:32
msgid "Apr"
msgstr "Nis"
#: ../../../../js/local-time.js:32
msgid "Jun"
msgstr "Haz"
#: ../../../../js/local-time.js:32
msgid "Jul"
msgstr "Tem"
#: ../../../../js/local-time.js:32
msgid "Aug"
msgstr "Ağu"
#: ../../../../js/local-time.js:32
msgid "Sep"
msgstr "Eyl"
#: ../../../../js/local-time.js:32
msgid "Oct"
msgstr "Eki"
#: ../../../../js/local-time.js:32
msgid "Nov"
msgstr "Kas"
#: ../../../../js/local-time.js:32
msgid "Dec"
msgstr "Ara"
#: ../../../../js/local-time.js:33
msgid "AM"
msgstr "ÖÖ"
#: ../../../../js/local-time.js:34
msgid "PM"
msgstr "ÖS"
#: ../../../../js/local-time.js:35
msgid "am"
msgstr "öö"
#: ../../../../js/local-time.js:36
msgid "pm"
msgstr "ös"
#: ../../../../js/expand-video.js:45 ../../../../js/expand-video.js:48
msgid "Your browser does not support HTML5 video."
msgstr "Tarayıcınız HTML5 videoları desteklemiyor"
#: ../../../../js/expand-video.js:189 ../../../../js/expand-video.js:192
msgid "[play once]"
msgstr "[bir kere oynat]"
#: ../../../../js/expand-video.js:190 ../../../../js/expand-video.js:193
msgid "[loop]"
msgstr "[devamlı]"
#: ../../../../js/webm-settings.js:42
msgid "WebM Settings"
msgstr "WebM Ayarları"
#: ../../../../js/webm-settings.js:44
msgid "Expand videos inline"
msgstr "Videoları içerde genişlet"
#: ../../../../js/webm-settings.js:45
msgid "Play videos on hover"
msgstr "Mouse üstüne gelince videolar oynasın"
#: ../../../../js/webm-settings.js:46
msgid "Default volume"
msgstr "Ses"

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
<?php
// Installation/upgrade file
define('VERSION', 'v0.9.6-dev-22 + <a href="https://int.vichan.net/devel/">vichan-devel-4.4.95</a>');
define('VERSION', '4.4.98-pre');
require 'inc/functions.php';
@ -241,7 +241,6 @@ if (file_exists($config['has_installed'])) {
query("ALTER TABLE `bans` ADD `seen` BOOLEAN NOT NULL") or error(db_error());
case 'v0.9.6-dev-8':
case 'v0.9.6-dev-8 + <a href="https://github.com/vichan-devel/Tinyboard/">vichan-devel-4.0.1</a>':
query("CREATE TABLE IF NOT EXISTS `search_queries` ( `ip` varchar(39) NOT NULL, `time` int(11) NOT NULL, `query` text NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=utf8;") or error(db_error());
case 'v0.9.6-dev-8 + <a href="https://github.com/vichan-devel/Tinyboard/">vichan-devel-4.0.2</a>':
query("ALTER TABLE `mods` CHANGE `password` `password` CHAR( 64 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'SHA256'") or error(db_error());
query("ALTER TABLE `mods` ADD `salt` CHAR( 32 ) NOT NULL AFTER `password`") or error(db_error());
@ -503,7 +502,26 @@ if (file_exists($config['has_installed'])) {
case 'v0.9.6-dev-22 + <a href="https://int.vichan.net/devel/">vichan-devel-4.4.92</a>':
case 'v0.9.6-dev-22 + <a href="https://int.vichan.net/devel/">vichan-devel-4.4.93</a>':
case 'v0.9.6-dev-22 + <a href="https://int.vichan.net/devel/">vichan-devel-4.4.94</a>':
case 'v0.9.6-dev-22 + <a href="https://int.vichan.net/devel/">vichan-devel-4.4.95</a>':
case 'v0.9.6-dev-22 + <a href="https://int.vichan.net/devel/">vichan-devel-4.4.96</a>':
case 'v0.9.6-dev-22 + <a href="https://int.vichan.net/devel/">vichan-devel-4.4.97</a>':
case '4.4.97':
if (!isset($_GET['confirm'])) {
$page['title'] = 'License Change';
$page['body'] = '<p style="text-align:center">You are upgrading to a version which uses an amended license. The licenses included with vichan distributions prior to this version (4.4.98) are still valid for those versions, but no longer apply to this and newer versions.</p>' .
'<textarea style="width:700px;height:370px;margin:auto;display:block;background:white;color:black" disabled>' . htmlentities(file_get_contents('LICENSE.md')) . '</textarea>
<p style="text-align:center">
<a href="?confirm=1">I have read and understood the agreement. Proceed to upgrading.</a>
</p>';
file_write($config['has_installed'], '4.4.97');
break;
}
case false:
// TODO: enhance Tinyboard -> vichan upgrade path.
query("CREATE TABLE IF NOT EXISTS ``search_queries`` ( `ip` varchar(39) NOT NULL, `time` int(11) NOT NULL, `query` text NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=utf8;") or error(db_error());
// Update version number
file_write($config['has_installed'], VERSION);
@ -512,11 +530,11 @@ if (file_exists($config['has_installed'])) {
break;
default:
$page['title'] = 'Unknown version';
$page['body'] = '<p style="text-align:center">Tinyboard was unable to determine what version is currently installed.</p>';
$page['body'] = '<p style="text-align:center">vichan was unable to determine what version is currently installed.</p>';
break;
case VERSION:
$page['title'] = 'Already installed';
$page['body'] = '<p style="text-align:center">It appears that Tinyboard is already installed (' . $version . ') and there is nothing to upgrade! Delete <strong>' . $config['has_installed'] . '</strong> to reinstall.</p>';
$page['body'] = '<p style="text-align:center">It appears that vichan is already installed (' . $version . ') and there is nothing to upgrade! Delete <strong>' . $config['has_installed'] . '</strong> to reinstall.</p>';
break;
}
@ -567,19 +585,12 @@ if ($step == 0) {
);
$tests = array(
array(
'category' => 'PHP',
'name' => 'PHP &ge; 5.2.5',
'result' => PHP_VERSION_ID >= 50205,
'required' => true,
'message' => 'Tinyboard requires PHP 5.2.5 or better.',
),
array(
'category' => 'PHP',
'name' => 'PHP &ge; 5.3',
'result' => PHP_VERSION_ID >= 50300,
'required' => false,
'message' => 'PHP &ge; 5.3, though not required, is recommended to make the most out of Tinyboard configuration files.',
'required' => true,
'message' => 'vichan requires PHP 5.3 or better.',
),
array(
'category' => 'PHP',
@ -670,21 +681,21 @@ if ($step == 0) {
'name' => getcwd(),
'result' => is_writable('.'),
'required' => true,
'message' => 'Tinyboard does not have permission to create directories (boards) here. You will need to <code>chmod</code> (or operating system equivalent) appropriately.'
'message' => 'vichan does not have permission to create directories (boards) here. You will need to <code>chmod</code> (or operating system equivalent) appropriately.'
),
array(
'category' => 'File permissions',
'name' => getcwd() . '/templates/cache',
'result' => is_writable('templates') && (!is_dir('templates/cache') || is_writable('templates/cache')),
'required' => true,
'message' => 'You must give Tinyboard permission to create (and write to) the <code>templates/cache</code> directory or performance will be drastically reduced.'
'message' => 'You must give vichan permission to create (and write to) the <code>templates/cache</code> directory or performance will be drastically reduced.'
),
array(
'category' => 'File permissions',
'name' => getcwd() . '/inc/instance-config.php',
'result' => is_writable('inc/instance-config.php'),
'required' => false,
'message' => 'Tinyboard does not have permission to make changes to <code>inc/instance-config.php</code>. To complete the installation, you will be asked to manually copy and paste code into the file instead.'
'message' => 'vichan does not have permission to make changes to <code>inc/instance-config.php</code>. To complete the installation, you will be asked to manually copy and paste code into the file instead.'
),
array(
'category' => 'Misc',
@ -696,10 +707,10 @@ if ($step == 0) {
),
array(
'category' => 'Misc',
'name' => 'Tinyboard installed using git',
'name' => 'vichan installed using git',
'result' => is_dir('.git'),
'required' => false,
'message' => 'Tinyboard is still beta software and it\'s not going to come out of beta any time soon. As there are often many months between releases yet changes and bug fixes are very frequent, it\'s recommended to use the git repository to maintain your Tinyboard installation. Using git makes upgrading much easier.'
'message' => 'vichan is still beta software and it\'s not going to come out of beta any time soon. As there are often many months between releases yet changes and bug fixes are very frequent, it\'s recommended to use the git repository to maintain your vichan installation. Using git makes upgrading much easier.'
)
);
@ -807,10 +818,10 @@ if ($step == 0) {
}
$page['title'] = 'Installation complete';
$page['body'] = '<p style="text-align:center">Thank you for using Tinyboard. Please remember to report any bugs you discover. <a href="http://tinyboard.org/docs/?p=Config">How do I edit the config files?</a></p>';
$page['body'] = '<p style="text-align:center">Thank you for using vichan. Please remember to report any bugs you discover. <a href="http://tinyboard.org/docs/?p=Config">How do I edit the config files?</a></p>';
if (!empty($sql_errors)) {
$page['body'] .= '<div class="ban"><h2>SQL errors</h2><p>SQL errors were encountered when trying to install the database. This may be the result of using a database which is already occupied with a Tinyboard installation; if so, you can probably ignore this.</p><p>The errors encountered were:</p><ul>' . $sql_errors . '</ul><p><a href="?step=5">Ignore errors and complete installation.</a></p></div>';
$page['body'] .= '<div class="ban"><h2>SQL errors</h2><p>SQL errors were encountered when trying to install the database. This may be the result of using a database which is already occupied with a vichan installation; if so, you can probably ignore this.</p><p>The errors encountered were:</p><ul>' . $sql_errors . '</ul><p><a href="?step=5">Ignore errors and complete installation.</a></p></div>';
} else {
$boards = listBoards();
foreach ($boards as &$_board) {
@ -827,7 +838,7 @@ if ($step == 0) {
echo Element('page.html', $page);
} elseif ($step == 5) {
$page['title'] = 'Installation complete';
$page['body'] = '<p style="text-align:center">Thank you for using Tinyboard. Please remember to report any bugs you discover.</p>';
$page['body'] = '<p style="text-align:center">Thank you for using vichan. Please remember to report any bugs you discover.</p>';
$boards = listBoards();
foreach ($boards as &$_board) {

View File

@ -2,7 +2,7 @@ $(document).ready(function(){
$("#attention_bar").click(function(eO){ $("#attention_bar").css("display","none");
$("#attention_bar_form").css("display","block"); });
$.get(configRoot + "attentionbar.txt", function(data) {
$("#attention_bar").text(data);
$("#attention_bar_input").val(data);
$("#attention_bar").html(data);
$("#attention_bar_input").val($("#attention_bar").text());
});
});

242
js/expand-video.js Normal file
View File

@ -0,0 +1,242 @@
/* This file is dedicated to the public domain; you may do as you wish with it. */
/* Note: This code expects the global variable configRoot to be set. */
if (typeof _ == 'undefined') {
var _ = function(a) { return a; };
}
function setupVideo(thumb, url) {
if (thumb.videoAlreadySetUp) return;
thumb.videoAlreadySetUp = true;
var video = null;
var videoContainer, videoHide;
var expanded = false;
var hovering = false;
var loop = true;
var loopControls = [document.createElement("span"), document.createElement("span")];
var fileInfo = thumb.parentNode.querySelector(".fileinfo");
var mouseDown = false;
function unexpand() {
if (expanded) {
expanded = false;
if (video.pause) video.pause();
videoContainer.style.display = "none";
thumb.style.display = "inline";
video.style.maxWidth = "inherit";
video.style.maxHeight = "inherit";
}
}
function unhover() {
if (hovering) {
hovering = false;
if (video.pause) video.pause();
videoContainer.style.display = "none";
video.style.maxWidth = "inherit";
video.style.maxHeight = "inherit";
}
}
// Create video element if does not exist yet
function getVideo() {
if (video == null) {
video = document.createElement("video");
video.src = url;
video.loop = loop;
video.innerText = _("Your browser does not support HTML5 video.");
videoHide = document.createElement("img");
videoHide.src = configRoot + "static/collapse.gif";
videoHide.alt = "[ - ]";
videoHide.title = "Collapse video";
videoHide.style.marginLeft = "-15px";
videoHide.style.cssFloat = "left";
videoHide.addEventListener("click", unexpand, false);
videoContainer = document.createElement("div");
videoContainer.style.paddingLeft = "15px";
videoContainer.style.display = "none";
videoContainer.appendChild(videoHide);
videoContainer.appendChild(video);
thumb.parentNode.insertBefore(videoContainer, thumb.nextSibling);
// Dragging to the left collapses the video
video.addEventListener("mousedown", function(e) {
if (e.button == 0) mouseDown = true;
}, false);
video.addEventListener("mouseup", function(e) {
if (e.button == 0) mouseDown = false;
}, false);
video.addEventListener("mouseenter", function(e) {
mouseDown = false;
}, false);
video.addEventListener("mouseout", function(e) {
if (mouseDown && e.clientX - video.getBoundingClientRect().left <= 0) {
unexpand();
}
mouseDown = false;
}, false);
}
}
// Clicking on thumbnail expands video
thumb.addEventListener("click", function(e) {
if (setting("videoexpand") && !e.shiftKey && !e.ctrlKey && !e.altKey && !e.metaKey) {
getVideo();
expanded = true;
hovering = false;
video.style.position = "static";
video.style.pointerEvents = "inherit";
video.style.display = "inline";
videoHide.style.display = "inline";
videoContainer.style.display = "block";
videoContainer.style.position = "static";
thumb.style.display = "none";
video.muted = (setting("videovolume") == 0);
video.volume = setting("videovolume");
video.controls = true;
if (video.readyState == 0) {
video.addEventListener("loadedmetadata", expand2, false);
} else {
setTimeout(expand2, 0);
}
video.play();
e.preventDefault();
}
}, false);
function expand2() {
video.style.maxWidth = "100%";
video.style.maxHeight = window.innerHeight + "px";
var bottom = video.getBoundingClientRect().bottom;
if (bottom > window.innerHeight) {
window.scrollBy(0, bottom - window.innerHeight);
}
// work around Firefox volume control bug
video.volume = Math.max(setting("videovolume") - 0.001, 0);
video.volume = setting("videovolume");
}
// Hovering over thumbnail displays video
thumb.addEventListener("mouseover", function(e) {
if (setting("videohover")) {
getVideo();
expanded = false;
hovering = true;
var docRight = document.documentElement.getBoundingClientRect().right;
var thumbRight = thumb.querySelector("img, video").getBoundingClientRect().right;
var maxWidth = docRight - thumbRight - 20;
if (maxWidth < 250) maxWidth = 250;
video.style.position = "fixed";
video.style.right = "0px";
video.style.top = "0px";
var docRight = document.documentElement.getBoundingClientRect().right;
var thumbRight = thumb.querySelector("img, video").getBoundingClientRect().right;
video.style.maxWidth = maxWidth + "px";
video.style.maxHeight = "100%";
video.style.pointerEvents = "none";
video.style.display = "inline";
videoHide.style.display = "none";
videoContainer.style.display = "inline";
videoContainer.style.position = "fixed";
video.muted = (setting("videovolume") == 0);
video.volume = setting("videovolume");
video.controls = false;
video.play();
}
}, false);
thumb.addEventListener("mouseout", unhover, false);
// Scroll wheel on thumbnail adjusts default volume
thumb.addEventListener("wheel", function(e) {
if (setting("videohover")) {
var volume = setting("videovolume");
if (e.deltaY > 0) volume -= 0.1;
if (e.deltaY < 0) volume += 0.1;
if (volume < 0) volume = 0;
if (volume > 1) volume = 1;
if (video != null) {
video.muted = (volume == 0);
video.volume = volume;
}
changeSetting("videovolume", volume);
e.preventDefault();
}
}, false);
// [play once] vs [loop] controls
function setupLoopControl(i) {
loopControls[i].addEventListener("click", function(e) {
loop = (i != 0);
thumb.href = thumb.href.replace(/([\?&])loop=\d+/, "$1loop=" + i);
if (video != null) {
video.loop = loop;
if (loop && video.currentTime >= video.duration) {
video.currentTime = 0;
}
}
loopControls[i].style.fontWeight = "bold";
loopControls[1-i].style.fontWeight = "inherit";
}, false);
}
loopControls[0].textContent = _("[play once]");
loopControls[1].textContent = _("[loop]");
loopControls[1].style.fontWeight = "bold";
for (var i = 0; i < 2; i++) {
setupLoopControl(i);
loopControls[i].style.whiteSpace = "nowrap";
fileInfo.appendChild(document.createTextNode(" "));
fileInfo.appendChild(loopControls[i]);
}
}
function setupVideosIn(element) {
var thumbs = element.querySelectorAll("a.file");
for (var i = 0; i < thumbs.length; i++) {
if (/\.webm$/.test(thumbs[i].pathname)) {
setupVideo(thumbs[i], thumbs[i].href);
} else {
var m = thumbs[i].search.match(/\bv=([^&]*)/);
if (m != null) {
var url = decodeURIComponent(m[1]);
if (/\.webm$/.test(url)) setupVideo(thumbs[i], url);
}
}
}
}
onready(function(){
// Insert menu from settings.js
if (typeof settingsMenu != "undefined") document.body.insertBefore(settingsMenu, document.getElementsByTagName("hr")[0]);
// Setup Javascript events for videos in document now
setupVideosIn(document);
// Setup Javascript events for videos added by updater
if (window.MutationObserver) {
var observer = new MutationObserver(function(mutations) {
for (var i = 0; i < mutations.length; i++) {
var additions = mutations[i].addedNodes;
if (additions == null) continue;
for (var j = 0; j < additions.length; j++) {
var node = additions[j];
if (node.nodeType == 1) {
setupVideosIn(node);
}
}
}
});
observer.observe(document.body, {childList: true, subtree: true});
}
});

View File

@ -35,6 +35,8 @@ $(document).ready(function(){
}
}
}
var fields_to_hide = 'div.post,div.video-container,video,img,p.fileinfo,a.hide-thread-link,br';
var do_hide_threads = function() {
var id = $(this).children('p.intro').children('a.post_no:eq(1)').text();
@ -52,7 +54,7 @@ $(document).ready(function(){
hidden_data[board][id] = Math.round(Date.now() / 1000);
store_data();
thread_container.find('div.post,div.video-container,img,p.fileinfo,a.hide-thread-link,br').hide();
thread_container.find(fields_to_hide).hide();
var hidden_div = thread_container.find('div.post.op > p.intro').clone();
hidden_div.addClass('thread-hidden');
@ -65,7 +67,8 @@ $(document).ready(function(){
.click(function() {
delete hidden_data[board][id];
store_data();
thread_container.find('div.post,div.video-container,img,p.fileinfo,a.hide-thread-link,br').show();
thread_container.find(fields_to_hide).show();
thread_container.find(".hidden").hide();
$(this).remove();
hidden_div.remove();
});

View File

@ -36,6 +36,7 @@
display: block;\
padding: 0 0 0 0;\
width: 300px;\
z-index: 100;\
}\
#quick-reply table {\
border-collapse: collapse;\

87
js/webm-settings.js Normal file
View File

@ -0,0 +1,87 @@
/* This file is dedicated to the public domain; you may do as you wish with it. */
if (typeof _ == 'undefined') {
var _ = function(a) { return a; };
}
// Default settings
var defaultSettings = {
"videoexpand": true,
"videohover": false,
"videovolume": 1.0
};
// Non-persistent settings for when localStorage is absent/disabled
var tempSettings = {};
// Scripts obtain settings by calling this function
function setting(name) {
if (localStorage) {
if (localStorage[name] === undefined) return defaultSettings[name];
return JSON.parse(localStorage[name]);
} else {
if (tempSettings[name] === undefined) return defaultSettings[name];
return tempSettings[name];
}
}
// Settings should be changed with this function
function changeSetting(name, value) {
if (localStorage) {
localStorage[name] = JSON.stringify(value);
} else {
tempSettings[name] = value;
}
}
// Create settings menu
var settingsMenu = document.createElement("div");
settingsMenu.style.textAlign = "right";
settingsMenu.style.background = "inherit";
settingsMenu.innerHTML = '<a class="unimportant" href="javascript:void(0)"><span>'+_('WebM Settings')+'</span></a>'
+ '<div style="display: none; text-align: left; position: absolute; right: 1em; margin-left: -999em; margin-top: -1px; padding-top: 1px; background: inherit;">'
+ '<label><input type="checkbox" name="videoexpand">'+_('Expand videos inline')+'</label><br>'
+ '<label><input type="checkbox" name="videohover">'+_('Play videos on hover')+'</label><br>'
+ '<label><input type="range" name="videovolume" min="0" max="1" step="0.01" style="width: 4em; height: 1ex; vertical-align: middle; margin: 0px;">'+_('Default volume')+'</label><br>'
+ '</div>';
function refreshSettings() {
var settingsItems = settingsMenu.getElementsByTagName("input");
for (var i = 0; i < settingsItems.length; i++) {
var control = settingsItems[i];
if (control.type == "checkbox") {
control.checked = setting(control.name);
} else if (control.type == "range") {
control.value = setting(control.name);
}
}
}
function setupControl(control) {
if (control.addEventListener) control.addEventListener("change", function(e) {
if (control.type == "checkbox") {
changeSetting(control.name, control.checked);
} else if (control.type == "range") {
changeSetting(control.name, control.value);
}
}, false);
}
refreshSettings();
var settingsItems = settingsMenu.getElementsByTagName("input");
for (var i = 0; i < settingsItems.length; i++) {
setupControl(settingsItems[i]);
}
if (settingsMenu.addEventListener) {
settingsMenu.addEventListener("mouseover", function(e) {
refreshSettings();
settingsMenu.getElementsByTagName("span")[0].style.fontWeight = "bold";
settingsMenu.getElementsByTagName("div")[0].style.display = "block";
}, false);
settingsMenu.addEventListener("mouseout", function(e) {
settingsMenu.getElementsByTagName("span")[0].style.fontWeight = "normal";
settingsMenu.getElementsByTagName("div")[0].style.display = "none";
}, false);
}

28
js/webm/playersettings.js Normal file
View File

@ -0,0 +1,28 @@
/* This file is dedicated to the public domain; you may do as you wish with it. */
if (window.addEventListener) window.addEventListener("load", function(e) {
document.getElementById("playerheader").appendChild(settingsMenu);
var video = document.getElementsByTagName("video")[0];
var loopLinks = [document.getElementById("loop0"), document.getElementById("loop1")];
function setupLoopLink(i) {
loopLinks[i].addEventListener("click", function(e) {
if (!e.shiftKey && !e.ctrlKey && !e.altKey && !e.metaKey) {
video.loop = (i != 0);
if (i != 0 && video.currentTime >= video.duration) {
video.currentTime = 0;
}
loopLinks[i].style.fontWeight = "bold";
loopLinks[1-i].style.fontWeight = "inherit";
e.preventDefault();
}
}, false);
}
for (var i = 0; i < 2; i++) {
setupLoopLink(i);
}
video.muted = (setting("videovolume") == 0);
video.volume = setting("videovolume");
video.play();
}, false);

View File

@ -1,7 +1,7 @@
<?php
/*
* Copyright (c) 2010-2013 Tinyboard Development Group
* Copyright (c) 2010-2014 Tinyboard Development Group
*/
require 'inc/functions.php';

25
player.php Normal file
View File

@ -0,0 +1,25 @@
<?php
/* This file is dedicated to the public domain; you may do as you wish with it. */
$params = '?v=' . urlencode($_GET['v']) . '&amp;t=' . urlencode($_GET['t']);
$loop = ($_GET['loop'] != "0");
?><!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title><?php echo htmlspecialchars($_GET['t']); ?></title>
<link rel="stylesheet" href="stylesheets/webm/playerstyle.css">
<script src="js/webm-settings.js"></script>
<script src="js/webm/playersettings.js"></script>
</head>
<body>
<div id="playerheader">
<a id="loop0" href="<?php echo $params; ?>&amp;loop=0"<?php if (!$loop) echo ' style="font-weight: bold"'; ?>>[play once]</a>
<a id="loop1" href="<?php echo $params; ?>&amp;loop=1"<?php if ($loop) echo ' style="font-weight: bold"'; ?>>[loop]</a>
</div>
<div id="playercontent">
<video controls<?php if ($loop) echo ' loop'; ?> src="<?php echo htmlspecialchars($_GET['v']); ?>">
Your browser does not support HTML5 video. <a href="<?php echo htmlspecialchars($_GET['v']); ?>">[Download]</a>
</video>
</div>
</body>
</html>

View File

@ -1,6 +1,6 @@
<?php
/*
* Copyright (c) 2010-2013 Tinyboard Development Group
* Copyright (c) 2010-2014 Tinyboard Development Group
*/
require 'inc/functions.php';
@ -149,6 +149,12 @@ if (isset($_POST['delete'])) {
} elseif (isset($_POST['post'])) {
if (!isset($_POST['body'], $_POST['board']))
error($config['error']['bot']);
$post = array('board' => $_POST['board']);
// Check if board exists
if (!openBoard($post['board']))
error($config['error']['noboard']);
if (!isset($_POST['name']))
$_POST['name'] = $config['anonymous'];
@ -160,9 +166,7 @@ if (isset($_POST['delete'])) {
$_POST['subject'] = '';
if (!isset($_POST['password']))
$_POST['password'] = '';
$post = array('board' => $_POST['board']);
$_POST['password'] = '';
if (isset($_POST['thread'])) {
$post['op'] = false;
@ -172,7 +176,7 @@ if (isset($_POST['delete'])) {
$post['thread'] = round($_POST['quick-reply']);
} else
$post['op'] = true;
if (!(($post['op'] && $_POST['post'] == $config['button_newtopic']) ||
(!$post['op'] && $_POST['post'] == $config['button_reply'])))
error($config['error']['bot']);
@ -184,10 +188,6 @@ if (isset($_POST['delete'])) {
checkDNSBL();
// Check if board exists
if (!openBoard($post['board']))
error($config['error']['noboard']);
// Check if banned
checkBan($board['uri']);

BIN
static/collapse.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 B

BIN
static/video.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 B

View File

@ -570,3 +570,15 @@ form.ban-appeal textarea {
display: inline-block;
vertical-align: middle;
}
/* Containerchan */
video.post-image {
display: block;
float: left;
margin: 10px 20px;
border: none;
}
div.post video.post-image {
padding: 0px;
margin: 10px 25px 5px 5px;
}

View File

@ -0,0 +1,39 @@
/* This file is dedicated to the public domain; you may do as you wish with it. */
body {
background: black;
color: white;
margin: 0px;
}
#playerheader {
position: absolute;
left: 0px;
right: 0px;
top: 0px;
height: 24px;
padding: 0px 4px;
text-align: right;
font-size: 16px;
}
#playerheader a {
color: white;
text-decoration: none;
}
span.settings div {
background: black;
z-index: 1;
padding-right: 4px;
}
#playercontent {
position: absolute;
left: 0px;
right: 0px;
top: 24px;
bottom: 0px;
}
video {
display: block;
margin-left: auto;
margin-right: auto;
max-width: 100%;
max-height: 100%;
}

View File

@ -36,7 +36,10 @@
{% endfor %} {{ btn.next }}</div>
{{ boardlist.bottom }}
<footer>
<p class="unimportant" style="margin-top:20px;text-align:center;">Powered by <a href="http://tinyboard.org/">Tinyboard</a> {{ config.version }} | <a href="http://tinyboard.org/">Tinyboard</a> Copyright &copy; 2010-2013 Tinyboard Development Group</p>
<p class="unimportant" style="margin-top:20px;text-align:center;">- <a href="http://tinyboard.org/">Tinyboard</a> +
<a href='https://int.vichan.net/devel/'>vichan</a> {{ config.version }} -
<br><a href="http://tinyboard.org/">Tinyboard</a> Copyright &copy; 2010-2014 Tinyboard Development Group
<br><a href="https://int.vichan.net/devel/">vichan</a> Copyright &copy; 2012-2014 vichan-devel</p>
{% for footer in config.footer %}<p class="unimportant" style="text-align:center;">{{ footer }}</p>{% endfor %}
</footer>
<script type="text/javascript">{% raw %}

View File

@ -79,7 +79,11 @@
{{ config.ad.bottom }}
<footer>
<p class="unimportant" style="margin-top:20px;text-align:center;">Powered by <a href="http://tinyboard.org/">Tinyboard</a> {{ config.version }} | <a href="http://tinyboard.org/">Tinyboard</a> Copyright &copy; 2010-2013 Tinyboard Development Group</p>
<p class="unimportant" style="margin-top:20px;text-align:center;">- <a href="http://tinyboard.org/">Tinyboard</a> +
<a href='https://int.vichan.net/devel/'>vichan</a> {{ config.version }} -
<br><a href="http://tinyboard.org/">Tinyboard</a> Copyright &copy; 2010-2014 Tinyboard Development Group
<br><a href="https://int.vichan.net/devel/">vichan</a> Copyright &copy; 2012-2014 vichan-devel</p>
{% for footer in config.footer %}<p class="unimportant" style="text-align:center;">{{ footer }}</p>{% endfor %}
</footer>
<script type="text/javascript">{% raw %}

View File

@ -22,7 +22,10 @@
{{ body }}
<hr>
<footer>
<p class="unimportant" style="margin-top:20px;text-align:center;">Powered by <a href="http://tinyboard.org/">Tinyboard</a> {{ config.version }} | <a href="http://tinyboard.org/">Tinyboard</a> Copyright &copy; 2010-2013 Tinyboard Development Group</p>
<p class="unimportant" style="margin-top:20px;text-align:center;">- <a href="http://tinyboard.org/">Tinyboard</a> +
<a href='https://int.vichan.net/devel/'>vichan</a> {{ config.version }} -
<br><a href="http://tinyboard.org/">Tinyboard</a> Copyright &copy; 2010-2014 Tinyboard Development Group
<br><a href="https://int.vichan.net/devel/">vichan</a> Copyright &copy; 2012-2014 vichan-devel</p>
</footer>
</body>
</html>

18
templates/post/flag.html Normal file
View File

@ -0,0 +1,18 @@
{% if config.display_flags and post.modifiers.flag %}
<img
{% if config.country_flags_condensed %}
class="flag flag-{{ post.modifiers.flag }}" src="{{ config.image_blank }}"
{% else %}
class="flag" src="{{ config.uri_flags|sprintf(post.modifiers.flag) }}"
{% endif %}
style="{% if post.modifiers['flag style'] %}
{{ post.modifiers['flag style'] }}
{% else %}
{{ config.flag_style }}
{% endif %}"
{% if post.modifiers['flag alt'] %} alt="{{ post.modifiers['flag alt'] | e('html_attr') }}"
title="{{ post.modifiers['flag alt'] | e('html_attr') }}"
{% endif %}
>
{% endif %}

45
templates/post/image.html Normal file
View File

@ -0,0 +1,45 @@
<a href="
{% if post.file|extension == 'webm' %}
{{ config.root }}player.php?v={{ config.uri_img }}{{ post.file }}&amp;t={{ post.filename|e('url') }}&amp;loop=1
{% else %}
{{ config.uri_img }}{{ post.file }}
{% endif %}
"
target="_blank"
{% if post.thumb == 'file' or post.modifiers['is_file'] == '1' or post.filename|extension == 'webm' %}
class="file"
{% endif %}
>
{% if post.thumb|extension == 'webm' %}
<video autoplay class="post-image" src="{{ config.uri_thumb }}{{ post.thumb }}"
poster="
{{ config.root }}
{% if config.file_icons[post.filename|extension] %}
{{ config.file_thumb|sprintf(config.file_icons[post.filename|extension]) }}
{% else %}
{{ config.file_thumb|sprintf(config.file_icons.default) }}
{% endif %}
"
style="width:{{ post.thumbwidth }}px;height:{{ post.thumbheight }}px"
>
</video>
{% else %}
<img class="post-image"
src="
{% if post.thumb == 'file' %}
{{ config.root }}
{% if config.file_icons[post.filename|extension] %}
{{ config.file_thumb|sprintf(config.file_icons[post.filename|extension]) }}
{% else %}
{{ config.file_thumb|sprintf(config.file_icons.default) }}
{% endif %}
{% elseif post.thumb == 'spoiler' %}
{{ config.root }}{{ config.spoiler_image }}
{% else %}
{{ config.uri_thumb }}{{ post.thumb }}
{% endif %}
"
style="width:{{ post.thumbwidth }}px;height:{{ post.thumbheight }}px" alt=""
/>
{% endif %}
</a>

View File

@ -0,0 +1,10 @@
{% if post.thumb != 'file' and config.image_identification %}
,
<span class='image_id'>
<a href="http://imgops.com/{{ config.domain }}{{ config.uri_img }}{{ post.file }}">io</a>
{% if post.file|extension == 'jpg' %}
<a href="http://regex.info/exif.cgi?url={{ config.domain }}{{ config.uri_img }}{{ post.file }}">e</a>
{% endif %}
<a href="http://www.google.com/searchbyimage?image_url={{ config.domain }}{{ config.uri_img }}{{ post.file }}">g</a>
</span>
{% endif %}

3
templates/post/ip.html Normal file
View File

@ -0,0 +1,3 @@
{% if post.mod and post.mod|hasPermission(config.mod.show_ip, board.uri) %}
[<a class="ip-link" style="margin:0;" href="?/IP/{{ post.ip }}">{{ post.ip }}</a>]
{% endif %}

16
templates/post/name.html Normal file
View File

@ -0,0 +1,16 @@
{% set capcode = post.capcode|capcode %}
{% if post.email|length > 0 %}
{# start email #}
<a class="email" href="mailto:{{ post.email }}">
{% endif %}
<span {% if capcode.name %}style="{{ capcode.name }}" {% endif %}class="name">{{ post.name|bidi_cleanup }}</span>
{% if post.trip|length > 0 %}
<span {% if capcode.trip %}style="{{ capcode.trip }}" {% endif %}class="trip">{{ post.trip }}</span>
{% endif %}
{% if post.email|length > 0 %}
{# end email #}
</a>
{% endif %}
{% if capcode %}
{{ capcode.cap }}
{% endif %}

View File

@ -0,0 +1,3 @@
{% if config.poster_ids %}
ID: {{ post.ip|poster_id(post.id) }}
{% endif %}

View File

@ -0,0 +1,5 @@
{% if post.subject|length > 0 %}
{# show subject #}
<span class="subject">{{ post.subject|bidi_cleanup }}</span>
{% endif %}

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