";
+ }
+
+ }
+
+ function rand_whitespace($r = 0) {
+ switch (rand($r,4)) {
+ case 0:
+ return "";
+ case 1:
+ return "\n";
+ case 2:
+ return "\t";
+ case 3:
+ return " ";
+ case 4:
+ return " ";
+ }
+ }
+
+
+
+ function shuffle_assoc(&$array) {
+ $keys = array_keys($array);
+
+ shuffle($keys);
+
+ foreach($keys as $key) {
+ $new[$key] = $array[$key];
+ }
+
+ $array = $new;
+
+ return true;
+ }
+}
+
+//$charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789卐";
+
+//(new CzaksCaptcha("hotwheels", 300, 80, $charset))->to_html();
+?>
diff --git a/inc/captcha/config.php b/inc/captcha/config.php
new file mode 100644
index 00000000..568c06c5
--- /dev/null
+++ b/inc/captcha/config.php
@@ -0,0 +1,16 @@
+ 'SET NAMES utf8'));
+
+
+// Captcha expiration:
+$expires_in = 120; // 120 seconds
+
+// Captcha dimensions:
+$width = 250;
+$height = 80;
+
+// Captcha length:
+$length = 6;
diff --git a/inc/captcha/dbschema.sql b/inc/captcha/dbschema.sql
new file mode 100644
index 00000000..504ea10c
--- /dev/null
+++ b/inc/captcha/dbschema.sql
@@ -0,0 +1,9 @@
+SET NAMES utf8;
+
+CREATE TABLE `captchas` (
+ `cookie` VARCHAR(50),
+ `extra` VARCHAR(200),
+ `text` VARCHAR(255),
+ `created_at` INT(11),
+ PRIMARY KEY (cookie, extra)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
diff --git a/inc/captcha/entrypoint.php b/inc/captcha/entrypoint.php
new file mode 100644
index 00000000..3b468a2a
--- /dev/null
+++ b/inc/captcha/entrypoint.php
@@ -0,0 +1,85 @@
+prepare("DELETE FROM `captchas` WHERE `created_at` < ?")->execute([time() - $expires_in]);
+}
+
+switch ($mode) {
+// Request: GET entrypoint.php?mode=get&extra=1234567890
+// Response: JSON: cookie => "generatedcookie", captchahtml => "captchahtml", expires_in => 120
+case "get":
+ if (!isset ($_GET['extra'])) {
+ die();
+ }
+
+ header("Content-type: application/json");
+
+ $extra = $_GET['extra'];
+
+ require_once("config.php");
+
+ $text = rand_string($length, $extra);
+
+ $captcha = new CzaksCaptcha($text, $width, $height, $extra);
+
+ $cookie = rand_string(20, "abcdefghijklmnopqrstuvwxyz");
+
+ ob_start();
+ $captcha->to_html();
+ $html = ob_get_contents();
+ ob_end_clean();
+
+ $query = $pdo->prepare("INSERT INTO `captchas` (`cookie`, `extra`, `text`, `created_at`) VALUES (?, ?, ?, ?)");
+ $query->execute( [$cookie, $extra, $text, time()]);
+
+ echo json_encode(["cookie" => $cookie, "captchahtml" => $html, "expires_in" => $expires_in]);
+
+ break;
+
+// Request: GET entrypoint.php?mode=check&cookie=generatedcookie&extra=1234567890&text=captcha
+// Response: 0 OR 1
+case "check":
+ if (!isset ($_GET['mode'])
+ || !isset ($_GET['cookie'])
+ || !isset ($_GET['extra'])
+ || !isset ($_GET['text'])) {
+ die();
+ }
+
+ require_once("config.php");
+
+ cleanup($pdo, $expires_in);
+
+ $query = $pdo->prepare("SELECT * FROM `captchas` WHERE `cookie` = ? AND `extra` = ?");
+ $query->execute([$_GET['cookie'], $_GET['extra']]);
+
+ $ary = $query->fetchAll();
+
+ if (!$ary) {
+ echo "0";
+ }
+ else {
+ $query = $pdo->prepare("DELETE FROM `captchas` WHERE `cookie` = ? AND `extra` = ?");
+ $query->execute([$_GET['cookie'], $_GET['extra']]);
+
+ if ($ary[0]['text'] !== $_GET['text']) {
+ echo "0";
+ }
+ else {
+ echo "1";
+ }
+ }
+
+ break;
+}
diff --git a/inc/captcha/readme.md b/inc/captcha/readme.md
new file mode 100644
index 00000000..8b1f538a
--- /dev/null
+++ b/inc/captcha/readme.md
@@ -0,0 +1,10 @@
+I integrated this from: https://github.com/ctrlcctrlv/infinity/commit/62a6dac022cb338f7b719d0c35a64ab3efc64658
+
+First import the captcha/dbschema.sql in your database it is no longer required.
+
+In inc/captcha/config.php change the database_name database_user database_password to your own settings.
+
+Add js/captcha.js in your instance-config.php or config.php
+
+Go to Line 305 in the /inc/config file and copy the settings in instance config, while changing the url to your website.
+Go to the line beneath it if you only want to enable it when posting a new thread.
diff --git a/inc/config.php b/inc/config.php
index c0e967af..93ce8321 100644
--- a/inc/config.php
+++ b/inc/config.php
@@ -103,7 +103,7 @@
/*
* ====================
- * Cache settings
+ * Cache, lock and queue settings
* ====================
*/
@@ -120,6 +120,7 @@
// $config['cache']['enabled'] = 'apc';
// $config['cache']['enabled'] = 'memcached';
// $config['cache']['enabled'] = 'redis';
+ // $config['cache']['enabled'] = 'fs';
// Timeout for cached objects such as posts and HTML.
$config['cache']['timeout'] = 60 * 60 * 48; // 48 hours
@@ -142,6 +143,12 @@
// (this file will be explicitly loaded during cache hit, but not during cache miss).
$config['cache_config'] = false;
+ // Define a lock driver.
+ $config['lock']['enabled'] = 'fs';
+
+ // Define a queue driver.
+ $config['queue']['enabled'] = 'fs'; // xD
+
/*
* ====================
* Cookie settings
@@ -189,7 +196,11 @@
// Prevents most Tor exit nodes from making posts. Recommended, as a lot of abuse comes from Tor because
// of the strong anonymity associated with it.
- $config['dnsbl'][] = array('tor.dnsbl.sectoor.de', 1);
+ // Example: $config['dnsbl'][] = 'another.blacklist.net'; //
+ // $config['dnsbl'][] = array('tor.dnsbl.sectoor.de', 1); //sectoor.de site is dead. the number stands for (an) ip adress(es) I guess.
+
+ // Replacement for sectoor.de
+ $config['dnsbl'][] = array('rbl.efnet.org', 4);
// http://www.sorbs.net/using.shtml
// $config['dnsbl'][] = array('dnsbl.sorbs.net', array(2, 3, 4, 5, 6, 7, 8, 9));
@@ -275,8 +286,9 @@
'lock',
'raw',
'embed',
- 'recaptcha_challenge_field',
- 'recaptcha_response_field',
+ 'g-recaptcha-response',
+ 'captcha_cookie',
+ 'captcha_text',
'spoiler',
'page',
'file_url',
@@ -292,6 +304,26 @@
// Public and private key pair from https://www.google.com/recaptcha/admin/create
$config['recaptcha_public'] = '6LcXTcUSAAAAAKBxyFWIt2SO8jwx4W7wcSMRoN3f';
$config['recaptcha_private'] = '6LcXTcUSAAAAAOGVbVdhmEM1_SyRF4xTKe8jbzf_';
+
+ // Enable Custom Captcha you need to change a couple of settings
+ //Read more at: /captcha/instructions.md
+ $config['captcha'] = array();
+
+ // Enable custom captcha provider
+ $config['captcha']['enabled'] = false;
+
+ //New thread captcha
+ //Require solving a captcha to post a thread.
+ //Default off.
+ $config['new_thread_capt'] = false;
+
+ // Custom captcha get provider path (if not working get the absolute path aka your url.)
+ $config['captcha']['provider_get'] = '../inc/captcha/entrypoint.php';
+ // Custom captcha check provider path
+ $config['captcha']['provider_check'] = '../inc/captcha/entrypoint.php';
+
+ // Custom captcha extra field (eg. charset)
+ $config['captcha']['extra'] = 'abcdefghijklmnopqrstuvwxyz';
// Ability to lock a board for normal users and still allow mods to post. Could also be useful for making an archive board
$config['board_locked'] = false;
@@ -511,6 +543,14 @@
// The timeout for the above, in seconds.
$config['upload_by_url_timeout'] = 15;
+ // Enable early 404? With default settings, a thread would 404 if it was to leave page 3, if it had less
+ // than 3 replies.
+ $config['early_404'] = false;
+
+ $config['early_404_page'] = 3;
+ $config['early_404_replies'] = 5;
+ $config['early_404_staged'] = false;
+
// A wordfilter (sometimes referred to as just a "filter" or "censor") automatically scans users’ posts
// as they are submitted and changes or censors particular words or phrases.
@@ -650,7 +690,7 @@
*/
// Maximum number of images allowed. Increasing this number enabled multi image.
// If you make it more than 1, make sure to enable the below script for the post form to change.
- // $config['additional_javascript'][] = 'js/multi_image.js';
+ // $config['additional_javascript'][] = 'js/multi-image.js';
$config['max_images'] = 1;
// Method to use for determing the max filesize.
@@ -766,7 +806,7 @@
// Location of thumbnail to use for spoiler images.
$config['spoiler_image'] = 'static/spoiler.png';
// Location of thumbnail to use for deleted images.
- // $config['image_deleted'] = 'static/deleted.png';
+ $config['image_deleted'] = 'static/deleted.png';
// When a thumbnailed image is going to be the same (in dimension), just copy the entire file and use
// that as a thumbnail instead of resizing/redrawing.
@@ -807,8 +847,17 @@
// Set this to true if you're using a BSD
$config['bsd_md5'] = false;
- // Set this to true if you're having problems with image duplicated error and bsd_md5 doesn't help.
- $config['php_md5'] = false;
+ // Set this to true if you're using Linux and you can execute `md5sum` binary.
+ $config['gnu_md5'] = false;
+
+ // Use Tesseract OCR to retrieve text from images, so you can use it as a spamfilter.
+ $config['tesseract_ocr'] = false;
+
+ // Tesseract parameters
+ $config['tesseract_params'] = '';
+
+ // Tesseract preprocess command
+ $config['tesseract_preprocess_command'] = 'convert -monochrome %s -';
// Number of posts in a "View Last X Posts" page
$config['noko50_count'] = 50;
@@ -931,8 +980,8 @@
// Show page navigation links at the top as well.
$config['page_nav_top'] = false;
- // Show "Catalog" link in page navigation. Use with the Catalog theme.
- // $config['catalog_link'] = 'catalog.html';
+ // Show "Catalog" link in page navigation. Use with the Catalog theme. Set to false to disable.
+ $config['catalog_link'] = 'catalog.html';
// Board categories. Only used in the "Categories" theme.
// $config['categories'] = array(
@@ -978,6 +1027,7 @@
*/
// Additional Javascript files to include on board index and thread pages. See js/ for available scripts.
+ $config['additional_javascript'][] = 'js/jquery.min.js';
$config['additional_javascript'][] = 'js/inline-expanding.js';
// $config['additional_javascript'][] = 'js/local-time.js';
@@ -991,6 +1041,7 @@
// $config['additional_javascript'][] = 'js/auto-reload.js';
// $config['additional_javascript'][] = 'js/post-hover.js';
// $config['additional_javascript'][] = 'js/style-select.js';
+ // $config['additional_javascript'][] = 'js/captcha.js';
// Where these script files are located on the web. Defaults to $config['root'].
// $config['additional_javascript_url'] = 'http://static.example.org/tinyboard-javascript-stuff/';
@@ -1001,6 +1052,10 @@
// Minify Javascript using http://code.google.com/p/minify/.
$config['minify_js'] = false;
+ // Dispatch thumbnail loading and image configuration with JavaScript. It will need a certain javascript
+ // code to work.
+ $config['javascript_image_dispatch'] = false;
+
/*
* ====================
* Video embedding
@@ -1076,6 +1131,7 @@
$config['error']['toomanycross'] = _('Too many cross-board links; post discarded.');
$config['error']['nodelete'] = _('You didn\'t select anything to delete.');
$config['error']['noreport'] = _('You didn\'t select anything to report.');
+ $config['error']['invalidreport'] = _('The reason was too long.');
$config['error']['toomanyreports'] = _('You can\'t report that many posts at once.');
$config['error']['invalidpassword'] = _('Wrong password…');
$config['error']['invalidimg'] = _('Invalid image.');
@@ -1196,16 +1252,74 @@
// Try not to build pages when we shouldn't have to.
$config['try_smarter'] = true;
- // EXPERIMENTAL: Defer static HTML building to a moment, when a given file is actually accessed.
- // Warning: This option won't run out of the box. You need to tell your webserver, that a file
- // for serving 403 and 404 pages is /smart_build.php. Also, you need to turn off indexes.
+/*
+ * ====================
+ * Advanced build
+ * ====================
+ */
+
+ // Strategies for file generation. Also known as an "advanced build". If you don't have performance
+ // issues, you can safely ignore that part, because it's hard to configure and won't even work on
+ // your free webhosting.
+ //
+ // A strategy is a function, that given the PHP environment and ($fun, $array) variable pair, returns
+ // an $action array or false.
+ //
+ // $fun - a controller function name, see inc/controller.php. This is named after functions, so that
+ // we can generate the files in daemon.
+ //
+ // $array - arguments to be passed
+ //
+ // $action - action to be taken. It's an array, and the first element of it is one of the following:
+ // * "immediate" - generate the page immediately
+ // * "defer" - defer page generation to a moment a worker daemon gets to build it (serving a stale
+ // page in the meantime). The remaining arguments are daemon-specific. Daemon isn't
+ // implemented yet :DDDD inb4 while(true) { generate(Queue::Get()) }; (which is probably it).
+ // * "build_on_load" - defer page generation to a moment, when the user actually accesses the page.
+ // This is a smart_build behaviour. You shouldn't use this one too much, if you
+ // use it for active boards, the server may choke due to a possible race condition.
+ // See my blog post: https://engine.vichan.net/blog/res/2.html
+ //
+ // So, let's assume we want to build a thread 1324 on board /b/, because a new post appeared there.
+ // We try the first strategy, giving it arguments: 'sb_thread', array('b', 1324). The strategy will
+ // now return a value $action, denoting an action to do. If $action is false, we try another strategy.
+ //
+ // As I said, configuration isn't easy.
+ //
+ // 1. chmod 0777 directories: tmp/locks/ and tmp/queue/.
+ // 2. serve 403 and 404 requests to go thru smart_build.php
+ // for nginx, this blog post contains config snippets: https://engine.vichan.net/blog/res/2.html
+ // 3. disable indexes in your webserver
+ // 4. launch any number of daemons (eg. twice your number of threads?) using the command:
+ // $ tools/worker.php
+ // You don't need to do that step if you are not going to use the "defer" option.
+ // 5. enable smart_build_helper (see below)
+ // 6. edit the strategies (see inc/functions.php for the builtin ones). You can use lambdas. I will test
+ // various ones and include one that works best for me.
+ $config['generation_strategies'] = array();
+ // Add a sane strategy. It forces to immediately generate a page user is about to land on. Otherwise,
+ // it has no opinion, so it needs a fallback strategy.
+ $config['generation_strategies'][] = 'strategy_sane';
+ // Add an immediate catch-all strategy. This is the default function of imageboards: generate all pages
+ // on post time.
+ $config['generation_strategies'][] = 'strategy_immediate';
+ // NOT RECOMMENDED: Instead of an all-"immediate" strategy, you can use an all-"build_on_load" one (used
+ // to be initialized using $config['smart_build']; ) for all pages instead of those to be build
+ // immediately. A rebuild done in this mode should remove all your static files
+ // $config['generation_strategies'][1] = 'strategy_smart_build';
+
+ // Deprecated. Leave it false. See above.
$config['smart_build'] = false;
- // Smart build related: when a file doesn't exist, where should we redirect?
+ // Use smart_build.php for dispatching missing requests. It may be useful without smart_build or advanced
+ // build, for example it will regenerate the missing files.
+ $config['smart_build_helper'] = true;
+
+ // smart_build.php: when a file doesn't exist, where should we redirect?
$config['page_404'] = '/404.html';
- // Smart build related: extra entrypoints.
- $config['smart_build_entrypoints'] = array();
+ // Extra controller entrypoints. Controller is used only by smart_build and advanced build.
+ $config['controller_entrypoints'] = array();
/*
* ====================
@@ -1238,6 +1352,8 @@
$config['mod']['link_bumpunlock'] = '[-Sage]';
$config['mod']['link_editpost'] = '[Edit]';
$config['mod']['link_move'] = '[Move]';
+ $config['mod']['link_cycle'] = '[Cycle]';
+ $config['mod']['link_uncycle'] = '[-Cycle]';
// Moderator capcodes.
$config['capcode'] = ' ## %s';
@@ -1381,6 +1497,9 @@
$config['mod']['deletebyip_global'] = ADMIN;
// Sticky a thread
$config['mod']['sticky'] = MOD;
+ // Cycle a thread
+ $config['mod']['cycle'] = MOD;
+ $config['cycle_limit'] = &$config['reply_limit'];
// Lock a thread
$config['mod']['lock'] = MOD;
// Post in a locked thread
@@ -1491,6 +1610,9 @@
$config['mod']['ban_appeals'] = MOD;
// View the recent posts page
$config['mod']['recent'] = MOD;
+ // Create pages
+ $config['mod']['edit_pages'] = MOD;
+ $config['pages_max'] = 10;
// Config editor permissions
$config['mod']['config'] = array();
@@ -1537,25 +1659,33 @@
/*
* ====================
- * Public post search
+ * Public pages
* ====================
*/
+
+ // Public post search settings
$config['search'] = array();
// Enable the search form
$config['search']['enable'] = false;
+ // Enable search in the board index.
+ $config['board_search'] = false;
+
// Maximal number of queries per IP address per minutes
- $config['search']['queries_per_minutes'] = Array(15, 2);
+ $config['search']['queries_per_minutes'] = Array(15, 2);
// Global maximal number of queries per minutes
- $config['search']['queries_per_minutes_all'] = Array(50, 2);
+ $config['search']['queries_per_minutes_all'] = Array(50, 2);
// Limit of search results
- $config['search']['search_limit'] = 100;
+ $config['search']['search_limit'] = 100;
// Boards for searching
- //$config['search']['boards'] = array('a', 'b', 'c', 'd', 'e');
+ //$config['search']['boards'] = array('a', 'b', 'c', 'd', 'e');
+
+ // Enable public logs? 0: NO, 1: YES, 2: YES, but drop names
+ $config['public_logs'] = 0;
/*
* ====================
@@ -1591,6 +1721,45 @@
// Example: Adding the pre-markup post body to the API as "com_nomarkup".
// $config['api']['extra_fields'] = array('body_nomarkup' => 'com_nomarkup');
+/*
+ * ==================
+ * NNTPChan settings
+ * ==================
+ */
+
+/*
+ * Please keep in mind that NNTPChan support in vichan isn't finished yet / is in an experimental
+ * state. Please join #nntpchan on Rizon in order to peer with someone.
+ */
+
+ $config['nntpchan'] = array();
+
+ // Enable NNTPChan integration
+ $config['nntpchan']['enabled'] = false;
+
+ // NNTP server
+ $config['nntpchan']['server'] = "localhost:1119";
+
+ // Global dispatch array. Add your boards to it to enable them. Please make
+ // sure that this setting is set in a global context.
+ $config['nntpchan']['dispatch'] = array(); // 'overchan.test' => 'test'
+
+ // Trusted peer - an IP address of your NNTPChan instance. This peer will have
+ // increased capabilities, eg.: will evade spamfilter.
+ $config['nntpchan']['trusted_peer'] = '127.0.0.1';
+
+ // Salt for message ID generation. Keep it long and secure.
+ $config['nntpchan']['salt'] = 'change_me+please';
+
+ // A local message ID domain. Make sure to change it.
+ $config['nntpchan']['domain'] = 'example.vichan.net';
+
+ // An NNTPChan group name.
+ // Please set this setting in your board/config.php, not globally.
+ $config['nntpchan']['group'] = false; // eg. 'overchan.test'
+
+
+
/*
* ====================
* Other/uncategorized
@@ -1687,3 +1856,9 @@
// If set to 0, it won't upgrade hashes using old password encryption schema, only create new.
// You can set it to a higher value, to further migrate to other password hashing function.
$config['password_crypt_version'] = 1;
+
+ // Use CAPTCHA for reports?
+ $config['report_captcha'] = false;
+
+ // Allowed HTML tags in ?/edit_pages.
+ $config['allowed_html'] = 'a[href|title],p,br,li,ol,ul,strong,em,u,h2,b,i,tt,div,img[src|alt|title],hr';
diff --git a/inc/controller.php b/inc/controller.php
new file mode 100644
index 00000000..02e33443
--- /dev/null
+++ b/inc/controller.php
@@ -0,0 +1,108 @@
+ $config['max_pages']) return false;
+ $config['try_smarter'] = true;
+ $build_pages = array($page);
+ buildIndex("skip");
+ return true;
+}
+
+function sb_api_board($b, $page = 0) { $page = (int)$page;
+ return sb_board($b, $page + 1);
+}
+
+function sb_thread($b, $thread, $slugcheck = false) { global $config; $thread = (int)$thread;
+ if ($thread < 1) return false;
+
+ if (!preg_match('/^'.$config['board_regex'].'$/u', $b)) return false;
+
+ if (Cache::get("thread_exists_".$b."_".$thread) == "no") return false;
+
+ $query = prepare(sprintf("SELECT MAX(`id`) AS `max` FROM ``posts_%s``", $b));
+ if (!$query->execute()) return false;
+
+ $s = $query->fetch(PDO::FETCH_ASSOC);
+ $max = $s['max'];
+
+ if ($thread > $max) return false;
+
+ $query = prepare(sprintf("SELECT `id` FROM ``posts_%s`` WHERE `id` = :id AND `thread` IS NULL", $b));
+ $query->bindValue(':id', $thread);
+
+ if (!$query->execute() || !$query->fetch(PDO::FETCH_ASSOC) ) {
+ Cache::set("thread_exists_".$b."_".$thread, "no", 3600);
+ return false;
+ }
+
+ if ($slugcheck && $config['slugify']) {
+ global $request;
+
+ $link = link_for(array("id" => $thread), $slugcheck === 50, array("uri" => $b));
+ $link = "/".$b."/".$config['dir']['res'].$link;
+
+ if ($link != $request) {
+ header("Location: $link", true, 301);
+ die();
+ }
+ }
+
+ if ($slugcheck == 50) { // Should we really generate +50 page? Maybe there are not enough posts anyway
+ global $request;
+ $r = str_replace("+50", "", $request);
+ $r = substr($r, 1); // Cut the slash
+
+ if (file_exists($r)) return false;
+ }
+
+ if (!openBoard($b)) return false;
+ buildThread($thread);
+ return true;
+}
+
+function sb_thread_slugcheck($b, $thread) {
+ return sb_thread($b, $thread, true);
+}
+function sb_thread_slugcheck50($b, $thread) {
+ return sb_thread($b, $thread, 50);
+}
+
+function sb_api($b) { global $config, $build_pages;
+ if (!openBoard($b)) return false;
+ $config['try_smarter'] = true;
+ $build_pages = array(-1);
+ buildIndex();
+ return true;
+}
+
+function sb_ukko() {
+ rebuildTheme("ukko", "post-thread");
+ return true;
+}
+
+function sb_catalog($b) {
+ if (!openBoard($b)) return false;
+
+ rebuildTheme("catalog", "post-thread", $b);
+ return true;
+}
+
+function sb_recent() {
+ rebuildTheme("recent", "post-thread");
+ return true;
+}
+
+function sb_sitemap() {
+ rebuildTheme("sitemap", "all");
+ return true;
+}
+
diff --git a/inc/display.php b/inc/display.php
index 90cf3434..58cb4805 100644
--- a/inc/display.php
+++ b/inc/display.php
@@ -94,21 +94,16 @@ function error($message, $priority = true, $debug_stuff = false) {
$debug_stuff['backtrace'] = debug_backtrace();
}
- // Return the bad request header, necessary for AJAX posts
- // czaks: is it really so? the ajax errors only work when this is commented out
- // better yet use it when ajax is disabled
- if (!isset ($_POST['json_response'])) {
- header($_SERVER['SERVER_PROTOCOL'] . ' 400 Bad Request');
- }
-
- // Is there a reason to disable this?
if (isset($_POST['json_response'])) {
header('Content-Type: text/json; charset=utf-8');
die(json_encode(array(
'error' => $message
)));
}
-
+ else {
+ header($_SERVER['SERVER_PROTOCOL'] . ' 400 Bad Request');
+ }
+
$pw = $config['db']['password'];
$debug_callback = function(&$item) use (&$debug_callback, $pw) {
if (is_array($item)) {
diff --git a/inc/functions.php b/inc/functions.php
index 515e3e55..e7e5aa14 100755
--- a/inc/functions.php
+++ b/inc/functions.php
@@ -18,6 +18,12 @@ require_once 'inc/template.php';
require_once 'inc/database.php';
require_once 'inc/events.php';
require_once 'inc/api.php';
+require_once 'inc/mod/auth.php';
+require_once 'inc/lock.php';
+require_once 'inc/queue.php';
+require_once 'inc/polyfill.php';
+@include_once 'inc/lib/parsedown/Parsedown.php'; // fail silently, this isn't a critical piece of code
+
if (!extension_loaded('gettext')) {
require_once 'inc/lib/gettext/gettext.inc';
}
@@ -89,6 +95,8 @@ function loadConfig() {
'db',
'api',
'cache',
+ 'lock',
+ 'queue',
'cookies',
'error',
'dir',
@@ -125,7 +133,7 @@ function loadConfig() {
// So, we may store the locale in a tmp/ filesystem.
if (file_exists($fn = 'tmp/cache/locale_' . $boardsuffix ) ) {
- $config['locale'] = file_get_contents($fn);
+ $config['locale'] = @file_get_contents($fn);
}
else {
$config['locale'] = 'en';
@@ -136,13 +144,13 @@ function loadConfig() {
$configstr .= file_get_contents($board['dir'] . '/config.php');
}
$matches = array();
- preg_match_all('/[^\/*#]\$config\s*\[\s*[\'"]locale[\'"]\s*\]\s*=\s*([\'"])(.*?)\1/', $configstr, $matches);
+ preg_match_all('/[^\/#*]\$config\s*\[\s*[\'"]locale[\'"]\s*\]\s*=\s*([\'"])(.*?)\1/', $configstr, $matches);
if ($matches && isset ($matches[2]) && $matches[2]) {
$matches = $matches[2];
$config['locale'] = $matches[count($matches)-1];
}
- file_put_contents($fn, $config['locale']);
+ @file_put_contents($fn, $config['locale']);
}
if ($config['locale'] != $current_locale) {
@@ -281,9 +289,6 @@ function loadConfig() {
if ($config['syslog'])
openlog('tinyboard', LOG_ODELAY, LOG_SYSLOG); // open a connection to sysem logger
- if ($config['recaptcha'])
- require_once 'inc/lib/recaptcha/recaptchalib.php';
-
if ($config['cache']['enabled'])
require_once 'inc/cache.php';
@@ -522,7 +527,8 @@ function setupBoard($array) {
$board = array(
'uri' => $array['uri'],
'title' => $array['title'],
- 'subtitle' => $array['subtitle']
+ 'subtitle' => $array['subtitle'],
+ #'indexed' => $array['indexed'],
);
// older versions
@@ -547,14 +553,19 @@ function setupBoard($array) {
}
function openBoard($uri) {
- global $config, $build_pages;
+ global $config, $build_pages, $board;
if ($config['try_smarter'])
$build_pages = array();
- $board = getBoardInfo($uri);
- if ($board) {
- setupBoard($board);
+ // And what if we don't really need to change a board we have opened?
+ if (isset ($board) && isset ($board['uri']) && $board['uri'] == $uri) {
+ return true;
+ }
+
+ $b = getBoardInfo($uri);
+ if ($b) {
+ setupBoard($b);
if (function_exists('after_open_board')) {
after_open_board();
@@ -878,7 +889,7 @@ function displayBan($ban) {
Element('page.html', array(
'title' => _('Banned!'),
'config' => $config,
- 'nojavascript' => true,
+ 'boardlist' => createBoardlist(isset($mod) ? $mod : false),
'body' => Element('banned.html', array(
'config' => $config,
'ban' => $ban,
@@ -1016,7 +1027,7 @@ function insertFloodPost(array $post) {
function post(array $post) {
global $pdo, $board;
- $query = prepare(sprintf("INSERT INTO ``posts_%s`` VALUES ( NULL, :thread, :subject, :email, :name, :trip, :capcode, :body, :body_nomarkup, :time, :time, :files, :num_files, :filehash, :password, :ip, :sticky, :locked, 0, :embed, :slug)", $board['uri']));
+ $query = prepare(sprintf("INSERT INTO ``posts_%s`` VALUES ( NULL, :thread, :subject, :email, :name, :trip, :capcode, :body, :body_nomarkup, :time, :time, :files, :num_files, :filehash, :password, :ip, :sticky, :locked, :cycle, 0, :embed, :slug)", $board['uri']));
// Basic stuff
if (!empty($post['subject'])) {
@@ -1056,6 +1067,12 @@ function post(array $post) {
$query->bindValue(':locked', false, PDO::PARAM_INT);
}
+ if ($post['op'] && $post['mod'] && isset($post['cycle']) && $post['cycle']) {
+ $query->bindValue(':cycle', true, PDO::PARAM_INT);
+ } else {
+ $query->bindValue(':cycle', false, PDO::PARAM_INT);
+ }
+
if ($post['mod'] && isset($post['capcode']) && $post['capcode']) {
$query->bindValue(':capcode', $post['capcode'], PDO::PARAM_INT);
} else {
@@ -1128,6 +1145,8 @@ function deleteFile($id, $remove_entirely_if_already=true, $file=null) {
$files = json_decode($post['files']);
$file_to_delete = $file !== false ? $files[(int)$file] : (object)array('file' => false);
+ if (!$files[0]) error(_('That post has no files.'));
+
if ($files[0]->file == 'deleted' && $post['num_files'] == 1 && !$post['thread'])
return; // Can't delete OP's image completely.
@@ -1139,8 +1158,10 @@ function deleteFile($id, $remove_entirely_if_already=true, $file=null) {
foreach ($files as $i => $f) {
if (($file !== false && $i == $file) || $file === null) {
// Delete thumbnail
- file_unlink($board['dir'] . $config['dir']['thumb'] . $f->thumb);
- unset($files[$i]->thumb);
+ if (isset ($f->thumb) && $f->thumb) {
+ file_unlink($board['dir'] . $config['dir']['thumb'] . $f->thumb);
+ unset($files[$i]->thumb);
+ }
// Delete file
file_unlink($board['dir'] . $config['dir']['img'] . $f->file);
@@ -1162,19 +1183,22 @@ function deleteFile($id, $remove_entirely_if_already=true, $file=null) {
// rebuild post (markup)
function rebuildPost($id) {
- global $board;
+ global $board, $mod;
- $query = prepare(sprintf("SELECT `body_nomarkup`, `thread` FROM ``posts_%s`` WHERE `id` = :id", $board['uri']));
+ $query = prepare(sprintf("SELECT * FROM ``posts_%s`` WHERE `id` = :id", $board['uri']));
$query->bindValue(':id', $id, PDO::PARAM_INT);
$query->execute() or error(db_error($query));
if ((!$post = $query->fetch(PDO::FETCH_ASSOC)) || !$post['body_nomarkup'])
return false;
- markup($body = &$post['body_nomarkup']);
+ markup($post['body'] = &$post['body_nomarkup']);
+ $post = (object)$post;
+ event('rebuildpost', $post);
+ $post = (array)$post;
$query = prepare(sprintf("UPDATE ``posts_%s`` SET `body` = :body WHERE `id` = :id", $board['uri']));
- $query->bindValue(':body', $body);
+ $query->bindValue(':body', $post['body']);
$query->bindValue(':id', $id, PDO::PARAM_INT);
$query->execute() or error(db_error($query));
@@ -1263,7 +1287,7 @@ function deletePost($id, $error_if_doesnt_exist=true, $rebuild_after=true) {
return true;
}
-function clean() {
+function clean($pid = false) {
global $board, $config;
$offset = round($config['max_pages']*$config['threads_per_page']);
@@ -1274,6 +1298,39 @@ function clean() {
$query->execute() or error(db_error($query));
while ($post = $query->fetch(PDO::FETCH_ASSOC)) {
deletePost($post['id'], false, false);
+ if ($pid) modLog("Automatically deleting thread #{$post['id']} due to new thread #{$pid}");
+ }
+
+ // Bump off threads with X replies earlier, spam prevention method
+ if ($config['early_404']) {
+ $offset = round($config['early_404_page']*$config['threads_per_page']);
+ $query = prepare(sprintf("SELECT `id` AS `thread_id`, (SELECT COUNT(`id`) FROM ``posts_%s`` WHERE `thread` = `thread_id`) AS `reply_count` FROM ``posts_%s`` WHERE `thread` IS NULL ORDER BY `sticky` DESC, `bump` DESC LIMIT :offset, 9001", $board['uri'], $board['uri']));
+ $query->bindValue(':offset', $offset, PDO::PARAM_INT);
+ $query->execute() or error(db_error($query));
+
+ if ($config['early_404_staged']) {
+ $page = $config['early_404_page'];
+ $iter = 0;
+ }
+ else {
+ $page = 1;
+ }
+
+ while ($post = $query->fetch(PDO::FETCH_ASSOC)) {
+ if ($post['reply_count'] < $page*$config['early_404_replies']) {
+ deletePost($post['thread_id'], false, false);
+ if ($pid) modLog("Automatically deleting thread #{$post['thread_id']} due to new thread #{$pid} (early 404 is set, #{$post['thread_id']} had {$post['reply_count']} replies)");
+ }
+
+ if ($config['early_404_staged']) {
+ $iter++;
+
+ if ($iter == $config['threads_per_page']) {
+ $page++;
+ $iter = 0;
+ }
+ }
+ }
}
}
@@ -1287,7 +1344,8 @@ function thread_find_page($thread) {
return floor(($config['threads_per_page'] + $index) / $config['threads_per_page']);
}
-function index($page, $mod=false) {
+// $brief means that we won't need to generate anything yet
+function index($page, $mod=false, $brief = false) {
global $board, $config, $debug;
$body = '';
@@ -1318,6 +1376,7 @@ function index($page, $mod=false) {
unset($cached);
}
}
+
if (!isset($cached)) {
$posts = prepare(sprintf("SELECT * FROM ``posts_%s`` WHERE `thread` = :id ORDER BY `id` DESC LIMIT :limit", $board['uri']));
$posts->bindValue(':id', $th['id']);
@@ -1357,7 +1416,10 @@ function index($page, $mod=false) {
}
$threads[] = $thread;
- $body .= $thread->build(true);
+
+ if (!$brief) {
+ $body .= $thread->build(true);
+ }
}
if ($config['file_board']) {
@@ -1578,27 +1640,28 @@ function checkMute() {
function buildIndex($global_api = "yes") {
global $board, $config, $build_pages;
- if (!$config['smart_build']) {
- $pages = getPages();
- if (!$config['try_smarter'])
- $antibot = create_antibot($board['uri']);
+ $catalog_api_action = generation_strategy('sb_api', array($board['uri']));
- if ($config['api']['enabled']) {
- $api = new Api();
- $catalog = array();
- }
+ $pages = null;
+ $antibot = null;
+
+ if ($config['api']['enabled']) {
+ $api = new Api();
+ $catalog = array();
}
for ($page = 1; $page <= $config['max_pages']; $page++) {
$filename = $board['dir'] . ($page == 1 ? $config['file_index'] : sprintf($config['file_page'], $page));
$jsonFilename = $board['dir'] . ($page - 1) . '.json'; // pages should start from 0
- if ((!$config['api']['enabled'] || $global_api == "skip" || $config['smart_build']) && $config['try_smarter']
- && isset($build_pages) && !empty($build_pages) && !in_array($page, $build_pages) )
+ $wont_build_this_page = $config['try_smarter'] && isset($build_pages) && !empty($build_pages) && !in_array($page, $build_pages);
+
+ if ((!$config['api']['enabled'] || $global_api == "skip") && $wont_build_this_page)
continue;
- if (!$config['smart_build']) {
- $content = index($page);
+ $action = generation_strategy('sb_board', array($board['uri'], $page));
+ if ($action == 'rebuild' || $catalog_api_action == 'rebuild') {
+ $content = index($page, false, $wont_build_this_page);
if (!$content)
break;
@@ -1609,17 +1672,21 @@ function buildIndex($global_api = "yes") {
file_write($jsonFilename, $json);
$catalog[$page-1] = $threads;
- }
- if ($config['api']['enabled'] && $global_api != "skip" && $config['try_smarter'] && isset($build_pages)
- && !empty($build_pages) && !in_array($page, $build_pages) )
- continue;
+ if ($wont_build_this_page) continue;
+ }
if ($config['try_smarter']) {
$antibot = create_antibot($board['uri'], 0 - $page);
$content['current_page'] = $page;
}
+ elseif (!$antibot) {
+ $antibot = create_antibot($board['uri']);
+ }
$antibot->reset();
+ if (!$pages) {
+ $pages = getPages();
+ }
$content['pages'] = $pages;
$content['pages'][$page-1]['selected'] = true;
$content['btn'] = getPageButtons($content['pages']);
@@ -1627,13 +1694,14 @@ function buildIndex($global_api = "yes") {
file_write($filename, Element('index.html', $content));
}
- else {
+ elseif ($action == 'delete' || $catalog_api_action == 'delete') {
file_unlink($filename);
file_unlink($jsonFilename);
}
}
- if (!$config['smart_build'] && $page < $config['max_pages']) {
+ // $action is an action for our last page
+ if (($catalog_api_action == 'rebuild' || $action == 'rebuild' || $action == 'delete') && $page < $config['max_pages']) {
for (;$page<=$config['max_pages'];$page++) {
$filename = $board['dir'] . ($page==1 ? $config['file_index'] : sprintf($config['file_page'], $page));
file_unlink($filename);
@@ -1647,13 +1715,13 @@ function buildIndex($global_api = "yes") {
// json api catalog
if ($config['api']['enabled'] && $global_api != "skip") {
- if ($config['smart_build']) {
+ if ($catalog_api_action == 'delete') {
$jsonFilename = $board['dir'] . 'catalog.json';
file_unlink($jsonFilename);
$jsonFilename = $board['dir'] . 'threads.json';
file_unlink($jsonFilename);
}
- else {
+ elseif ($catalog_api_action == 'rebuild') {
$json = json_encode($api->translateCatalog($catalog));
$jsonFilename = $board['dir'] . 'catalog.json';
file_write($jsonFilename, $json);
@@ -1706,13 +1774,15 @@ function buildJavascript() {
function checkDNSBL() {
global $config;
-
if (isIPv6())
return; // No IPv6 support yet.
if (!isset($_SERVER['REMOTE_ADDR']))
return; // Fix your web server configuration
+ if (preg_match("/^(::(ffff:)?)?(127\.|192\.168\.|10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.|0\.|255\.)/", $_SERVER['REMOTE_ADDR']))
+ return; // It's pointless to check for local IP addresses in dnsbls, isn't it?
+
if (in_array($_SERVER['REMOTE_ADDR'], $config['dnsbl_exceptions']))
return;
@@ -1845,7 +1915,11 @@ function extract_modifiers($body) {
return $modifiers;
}
-function markup(&$body, $track_cites = false) {
+function remove_modifiers($body) {
+ return preg_replace('@(.+?)@usm', '', $body);
+}
+
+function markup(&$body, $track_cites = false, $op = false) {
global $board, $config, $markup_urls;
$modifiers = extract_modifiers($body);
@@ -1941,7 +2015,7 @@ function markup(&$body, $track_cites = false) {
}
if (isset($cited_posts[$cite])) {
- $replacement = '' .
'>>' . $cite .
@@ -2040,7 +2114,7 @@ function markup(&$body, $track_cites = false) {
$replacement = '' .
'>>>/' . $_board . '/' . $cite .
'';
@@ -2144,16 +2218,7 @@ function strip_combining_chars($str) {
$o = 0;
$ord = ordutf8($char, $o);
- if ($ord >= 768 && $ord <= 879)
- continue;
-
- if ($ord >= 7616 && $ord <= 7679)
- continue;
-
- if ($ord >= 8400 && $ord <= 8447)
- continue;
-
- if ($ord >= 65056 && $ord <= 65071)
+ if ( ($ord >= 768 && $ord <= 879) || ($ord >= 1536 && $ord <= 1791) || ($ord >= 3655 && $ord <= 3659) || ($ord >= 7616 && $ord <= 7679) || ($ord >= 8400 && $ord <= 8447) || ($ord >= 65056 && $ord <= 65071))
continue;
$str .= $char;
@@ -2177,7 +2242,9 @@ function buildThread($id, $return = false, $mod = false) {
if ($config['try_smarter'] && !$mod)
$build_pages[] = thread_find_page($id);
- if (!$config['smart_build'] || $return || $mod) {
+ $action = generation_strategy('sb_thread', array($board['uri'], $id));
+
+ if ($action == 'rebuild' || $return || $mod) {
$query = prepare(sprintf("SELECT * FROM ``posts_%s`` WHERE (`thread` IS NULL AND `id` = :id) OR `thread` = :id ORDER BY `thread`,`id`", $board['uri']));
$query->bindValue(':id', $id, PDO::PARAM_INT);
$query->execute() or error(db_error($query));
@@ -2212,26 +2279,26 @@ function buildThread($id, $return = false, $mod = false) {
));
// json api
- if ($config['api']['enabled']) {
+ if ($config['api']['enabled'] && !$mod) {
$api = new Api();
$json = json_encode($api->translateThread($thread));
$jsonFilename = $board['dir'] . $config['dir']['res'] . $id . '.json';
file_write($jsonFilename, $json);
}
}
- else {
+ elseif($action == 'delete') {
$jsonFilename = $board['dir'] . $config['dir']['res'] . $id . '.json';
file_unlink($jsonFilename);
}
- if ($config['smart_build'] && !$return && !$mod) {
+ if ($action == 'delete' && !$return && !$mod) {
$noko50fn = $board['dir'] . $config['dir']['res'] . link_for(array('id' => $id), true);
file_unlink($noko50fn);
file_unlink($board['dir'] . $config['dir']['res'] . link_for(array('id' => $id)));
- } else if ($return) {
+ } elseif ($return) {
return $body;
- } else {
+ } elseif ($action == 'rebuild') {
$noko50fn = $board['dir'] . $config['dir']['res'] . link_for($thread, true);
if ($hasnoko50 || file_exists($noko50fn)) {
buildThread50($id, $return, $mod, $thread, $antibot);
@@ -2372,7 +2439,7 @@ function generate_tripcode($name) {
if (isset($config['custom_tripcode']["##{$trip}"]))
$trip = $config['custom_tripcode']["##{$trip}"];
else
- $trip = '!!' . substr(crypt($trip, '_..A.' . substr(base64_encode(sha1($trip . $config['secure_trip_salt'], true)), 0, 4)), -10);
+ $trip = '!!' . substr(crypt($trip, str_replace('+', '.', '_..A.' . substr(base64_encode(sha1($trip . $config['secure_trip_salt'], true)), 0, 4))), -10);
} else {
if (isset($config['custom_tripcode']["#{$trip}"]))
$trip = $config['custom_tripcode']["#{$trip}"];
@@ -2461,7 +2528,7 @@ function rDNS($ip_addr) {
if (!$config['dns_system']) {
$host = gethostbyaddr($ip_addr);
} else {
- $resp = shell_exec_error('host -W 1 ' . $ip_addr);
+ $resp = shell_exec_error('host -W 3 ' . $ip_addr);
if (preg_match('/domain name pointer ([^\s]+)$/', $resp, $m))
$host = $m[1];
else
@@ -2597,7 +2664,7 @@ function slugify($post) {
elseif (isset ($post['body_nomarkup']) && $post['body_nomarkup'])
$slug = $post['body_nomarkup'];
elseif (isset ($post['body']) && $post['body'])
- $slug = strip_html($post['body']);
+ $slug = strip_tags($post['body']);
// Fix UTF-8 first
$slug = mb_convert_encoding($slug, "UTF-8", "UTF-8");
@@ -2672,3 +2739,103 @@ function link_for($post, $page50 = false, $foreignlink = false, $thread = false)
return sprintf($tpl, $id, $slug);
}
+
+function prettify_textarea($s){
+ return str_replace("\t", ' ', str_replace("\n", '
', htmlentities($s)));
+}
+
+/*class HTMLPurifier_URIFilter_NoExternalImages extends HTMLPurifier_URIFilter {
+ public $name = 'NoExternalImages';
+ public function filter(&$uri, $c, $context) {
+ global $config;
+ $ct = $context->get('CurrentToken');
+
+ if (!$ct || $ct->name !== 'img') return true;
+
+ if (!isset($uri->host) && !isset($uri->scheme)) return true;
+
+ if (!in_array($uri->scheme . '://' . $uri->host . '/', $config['allowed_offsite_urls'])) {
+ error('No off-site links in board announcement images.');
+ }
+
+ return true;
+ }
+}*/
+
+function purify_html($s) {
+ global $config;
+
+ $c = HTMLPurifier_Config::createDefault();
+ $c->set('HTML.Allowed', $config['allowed_html']);
+ $uri = $c->getDefinition('URI');
+ $uri->addFilter(new HTMLPurifier_URIFilter_NoExternalImages(), $c);
+ $purifier = new HTMLPurifier($c);
+ $clean_html = $purifier->purify($s);
+ return $clean_html;
+}
+
+function markdown($s) {
+ $pd = new Parsedown();
+ $pd->setMarkupEscaped(true);
+ $pd->setimagesEnabled(false);
+
+ return $pd->text($s);
+}
+
+function generation_strategy($fun, $array=array()) { global $config;
+ $action = false;
+
+ foreach ($config['generation_strategies'] as $s) {
+ if ($action = $s($fun, $array)) {
+ break;
+ }
+ }
+
+ switch ($action[0]) {
+ case 'immediate':
+ return 'rebuild';
+ case 'defer':
+ // Ok, it gets interesting here :)
+ get_queue('generate')->push(serialize(array('build', $fun, $array, $action)));
+ return 'ignore';
+ case 'build_on_load':
+ return 'delete';
+ }
+}
+
+function strategy_immediate($fun, $array) {
+ return array('immediate');
+}
+
+function strategy_smart_build($fun, $array) {
+ return array('build_on_load');
+}
+
+function strategy_sane($fun, $array) { global $config;
+ if (php_sapi_name() == 'cli') return false;
+ else if (isset($_POST['mod'])) return false;
+ // Thread needs to be done instantly. Same with a board page, but only if posting a new thread.
+ else if ($fun == 'sb_thread' || ($fun == 'sb_board' && $array[1] == 1 && isset ($_POST['page']))) return array('immediate');
+ else return false;
+}
+
+// My first, test strategy.
+function strategy_first($fun, $array) {
+ switch ($fun) {
+ case 'sb_thread':
+ return array('defer');
+ case 'sb_board':
+ if ($array[1] > 8) return array('build_on_load');
+ else return array('defer');
+ case 'sb_api':
+ return array('defer');
+ case 'sb_catalog':
+ return array('defer');
+ case 'sb_recent':
+ return array('build_on_load');
+ case 'sb_sitemap':
+ return array('build_on_load');
+ case 'sb_ukko':
+ return array('defer');
+ }
+}
diff --git a/inc/lib/Twig/Extensions/Extension/Tinyboard.php b/inc/lib/Twig/Extensions/Extension/Tinyboard.php
index 028db438..3d964c71 100644
--- a/inc/lib/Twig/Extensions/Extension/Tinyboard.php
+++ b/inc/lib/Twig/Extensions/Extension/Tinyboard.php
@@ -17,6 +17,7 @@ class Twig_Extensions_Extension_Tinyboard extends Twig_Extension
new Twig_SimpleFilter('extension', 'twig_extension_filter'),
new Twig_SimpleFilter('sprintf', 'sprintf'),
new Twig_SimpleFilter('capcode', 'capcode'),
+ new Twig_SimpleFilter('remove_modifiers', 'remove_modifiers'),
new Twig_SimpleFilter('hasPermission', 'twig_hasPermission_filter'),
new Twig_SimpleFilter('date', 'twig_date_filter'),
new Twig_SimpleFilter('poster_id', 'poster_id'),
diff --git a/inc/lib/recaptcha/LICENSE b/inc/lib/recaptcha/LICENSE
deleted file mode 100644
index b612f71f..00000000
--- a/inc/lib/recaptcha/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-Copyright (c) 2007 reCAPTCHA -- http://recaptcha.net
-AUTHORS:
- Mike Crawford
- Ben Maurer
-
-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:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-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.
diff --git a/inc/lib/recaptcha/recaptchalib.php b/inc/lib/recaptcha/recaptchalib.php
deleted file mode 100644
index 32c4f4d7..00000000
--- a/inc/lib/recaptcha/recaptchalib.php
+++ /dev/null
@@ -1,277 +0,0 @@
- $value )
- $req .= $key . '=' . urlencode( stripslashes($value) ) . '&';
-
- // Cut the last '&'
- $req=substr($req,0,strlen($req)-1);
- return $req;
-}
-
-
-
-/**
- * Submits an HTTP POST to a reCAPTCHA server
- * @param string $host
- * @param string $path
- * @param array $data
- * @param int port
- * @return array response
- */
-function _recaptcha_http_post($host, $path, $data, $port = 80) {
-
- $req = _recaptcha_qsencode ($data);
-
- $http_request = "POST $path HTTP/1.0\r\n";
- $http_request .= "Host: $host\r\n";
- $http_request .= "Content-Type: application/x-www-form-urlencoded;\r\n";
- $http_request .= "Content-Length: " . strlen($req) . "\r\n";
- $http_request .= "User-Agent: reCAPTCHA/PHP\r\n";
- $http_request .= "\r\n";
- $http_request .= $req;
-
- $response = '';
- if( false == ( $fs = @fsockopen($host, $port, $errno, $errstr, 10) ) ) {
- die ('Could not open socket');
- }
-
- fwrite($fs, $http_request);
-
- while ( !feof($fs) )
- $response .= fgets($fs, 1160); // One TCP-IP packet
- fclose($fs);
- $response = explode("\r\n\r\n", $response, 2);
-
- return $response;
-}
-
-
-
-/**
- * Gets the challenge HTML (javascript and non-javascript version).
- * This is called from the browser, and the resulting reCAPTCHA HTML widget
- * is embedded within the HTML form it was called from.
- * @param string $pubkey A public key for reCAPTCHA
- * @param string $error The error given by reCAPTCHA (optional, default is null)
- * @param boolean $use_ssl Should the request be made over ssl? (optional, default is false)
-
- * @return string - The HTML to be embedded in the user's form.
- */
-function recaptcha_get_html ($pubkey, $error = null, $use_ssl = false)
-{
- if ($pubkey == null || $pubkey == '') {
- die ("To use reCAPTCHA you must get an API key from https://www.google.com/recaptcha/admin/create");
- }
-
- if ($use_ssl) {
- $server = RECAPTCHA_API_SECURE_SERVER;
- } else {
- $server = RECAPTCHA_API_SERVER;
- }
-
- $errorpart = "";
- if ($error) {
- $errorpart = "&error=" . $error;
- }
- return '
-
- ';
-}
-
-
-
-
-/**
- * A ReCaptchaResponse is returned from recaptcha_check_answer()
- */
-class ReCaptchaResponse {
- var $is_valid;
- var $error;
-}
-
-
-/**
- * Calls an HTTP POST function to verify if the user's guess was correct
- * @param string $privkey
- * @param string $remoteip
- * @param string $challenge
- * @param string $response
- * @param array $extra_params an array of extra variables to post to the server
- * @return ReCaptchaResponse
- */
-function recaptcha_check_answer ($privkey, $remoteip, $challenge, $response, $extra_params = array())
-{
- if ($privkey == null || $privkey == '') {
- die ("To use reCAPTCHA you must get an API key from https://www.google.com/recaptcha/admin/create");
- }
-
- if ($remoteip == null || $remoteip == '') {
- die ("For security reasons, you must pass the remote ip to reCAPTCHA");
- }
-
-
-
- //discard spam submissions
- if ($challenge == null || strlen($challenge) == 0 || $response == null || strlen($response) == 0) {
- $recaptcha_response = new ReCaptchaResponse();
- $recaptcha_response->is_valid = false;
- $recaptcha_response->error = 'incorrect-captcha-sol';
- return $recaptcha_response;
- }
-
- $response = _recaptcha_http_post (RECAPTCHA_VERIFY_SERVER, "/recaptcha/api/verify",
- array (
- 'privatekey' => $privkey,
- 'remoteip' => $remoteip,
- 'challenge' => $challenge,
- 'response' => $response
- ) + $extra_params
- );
-
- $answers = explode ("\n", $response [1]);
- $recaptcha_response = new ReCaptchaResponse();
-
- if (trim ($answers [0]) == 'true') {
- $recaptcha_response->is_valid = true;
- }
- else {
- $recaptcha_response->is_valid = false;
- $recaptcha_response->error = $answers [1];
- }
- return $recaptcha_response;
-
-}
-
-/**
- * gets a URL where the user can sign up for reCAPTCHA. If your application
- * has a configuration page where you enter a key, you should provide a link
- * using this function.
- * @param string $domain The domain where the page is hosted
- * @param string $appname The name of your application
- */
-function recaptcha_get_signup_url ($domain = null, $appname = null) {
- return "https://www.google.com/recaptcha/admin/create?" . _recaptcha_qsencode (array ('domains' => $domain, 'app' => $appname));
-}
-
-function _recaptcha_aes_pad($val) {
- $block_size = 16;
- $numpad = $block_size - (strlen ($val) % $block_size);
- return str_pad($val, strlen ($val) + $numpad, chr($numpad));
-}
-
-/* Mailhide related code */
-
-function _recaptcha_aes_encrypt($val,$ky) {
- if (! function_exists ("mcrypt_encrypt")) {
- die ("To use reCAPTCHA Mailhide, you need to have the mcrypt php module installed.");
- }
- $mode=MCRYPT_MODE_CBC;
- $enc=MCRYPT_RIJNDAEL_128;
- $val=_recaptcha_aes_pad($val);
- return mcrypt_encrypt($enc, $ky, $val, $mode, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0");
-}
-
-
-function _recaptcha_mailhide_urlbase64 ($x) {
- return strtr(base64_encode ($x), '+/', '-_');
-}
-
-/* gets the reCAPTCHA Mailhide url for a given email, public key and private key */
-function recaptcha_mailhide_url($pubkey, $privkey, $email) {
- if ($pubkey == '' || $pubkey == null || $privkey == "" || $privkey == null) {
- die ("To use reCAPTCHA Mailhide, you have to sign up for a public and private key, " .
- "you can do so at http://www.google.com/recaptcha/mailhide/apikey");
- }
-
-
- $ky = pack('H*', $privkey);
- $cryptmail = _recaptcha_aes_encrypt ($email, $ky);
-
- return "http://www.google.com/recaptcha/mailhide/d?k=" . $pubkey . "&c=" . _recaptcha_mailhide_urlbase64 ($cryptmail);
-}
-
-/**
- * gets the parts of the email to expose to the user.
- * eg, given johndoe@example,com return ["john", "example.com"].
- * the email is then displayed as john...@example.com
- */
-function _recaptcha_mailhide_email_parts ($email) {
- $arr = preg_split("/@/", $email );
-
- if (strlen ($arr[0]) <= 4) {
- $arr[0] = substr ($arr[0], 0, 1);
- } else if (strlen ($arr[0]) <= 6) {
- $arr[0] = substr ($arr[0], 0, 3);
- } else {
- $arr[0] = substr ($arr[0], 0, 4);
- }
- return $arr;
-}
-
-/**
- * Gets html to display an email address given a public an private key.
- * to get a key, go to:
- *
- * http://www.google.com/recaptcha/mailhide/apikey
- */
-function recaptcha_mailhide_html($pubkey, $privkey, $email) {
- $emailparts = _recaptcha_mailhide_email_parts ($email);
- $url = recaptcha_mailhide_url ($pubkey, $privkey, $email);
-
- return htmlentities($emailparts[0]) . "...@" . htmlentities ($emailparts [1]);
-
-}
-
-
-?>
diff --git a/inc/locale/uk_UA/LC_MESSAGES/javascript.po b/inc/locale/uk_UA/LC_MESSAGES/javascript.po
new file mode 100644
index 00000000..68d96ce8
--- /dev/null
+++ b/inc/locale/uk_UA/LC_MESSAGES/javascript.po
@@ -0,0 +1,867 @@
+# 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 , YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-10-18 13:47+0200\n"
+"PO-Revision-Date: 2016-06-19 17:30+0300\n"
+"Language: uk\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"
+"Last-Translator: kotobenko \n"
+"Language-Team: \n"
+"X-Generator: Poedit 1.8.8\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
+#: ../../../../js/upload-selection.js:69
+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
+#: ../../../../js/hide-images.js:63
+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
+#: ../../../../js/toggle-locked-threads.js:53
+#: ../../../../js/toggle-locked-threads.js:70
+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
+#: ../../../../js/toggle-locked-threads.js:44
+#: ../../../../js/toggle-locked-threads.js:53
+#: ../../../../js/toggle-locked-threads.js:70
+msgid "Hide locked threads"
+msgstr "Приховати закріплені нитки"
+
+#: ../../../../js/upload-selection.js:32
+#: ../../../../js/upload-selection.js:45
+#: ../../../../js/upload-selection.js:53
+msgid "URL"
+msgstr "URL"
+
+#: ../../../../js/upload-selection.js:50
+#: ../../../../js/upload-selection.js:60
+#: ../../../../js/upload-selection.js:68
+msgid "Select"
+msgstr "Вибрати"
+
+#: ../../../../js/upload-selection.js:53
+#: ../../../../js/upload-selection.js:63
+#: ../../../../js/upload-selection.js:71
+msgid "Remote"
+msgstr ""
+
+#: ../../../../js/upload-selection.js:56
+#: ../../../../js/upload-selection.js:66
+#: ../../../../js/upload-selection.js:74
+msgid "Embed"
+msgstr "Вбудувати"
+
+#: ../../../../js/upload-selection.js:59
+#: ../../../../js/upload-selection.js:69
+#: ../../../../js/upload-selection.js:77
+msgid "Oekaki"
+msgstr "Оекакі"
+
+#: ../../../../js/toggle-images.js:41 ../../../../js/toggle-images.js:42
+#: ../../../../js/toggle-images.js:45
+msgid "hidden"
+msgstr ""
+
+#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
+#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
+#: ../../../../js/toggle-images.js:86
+msgid "Show images"
+msgstr "Показати зображення"
+
+#: ../../../../js/toggle-images.js:57 ../../../../js/toggle-images.js:70
+#: ../../../../js/toggle-images.js:58 ../../../../js/toggle-images.js:71
+#: ../../../../js/toggle-images.js:63 ../../../../js/toggle-images.js:86
+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
+#: ../../../../js/mod/ban-list.js:40
+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
+#: ../../../../js/live-index.js:72 ../../../../js/live-index.js:83
+msgid "Click to expand"
+msgstr "Показати повністю"
+
+#: ../../../../js/expand.js:44 ../../../../js/expand.js:46
+#: ../../../../js/expand.js:50
+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 ../../../../js/forced-anon.js:73
+#: ../../../../js/forced-anon.js:81 ../../../../js/forced-anon.js:85
+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
+#: ../../../../js/forced-anon.js:73 ../../../../js/forced-anon.js:81
+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
+#: ../../../../js/forced-anon.js:73 ../../../../js/forced-anon.js:85
+msgid "disabled"
+msgstr "вимкнено"
+
+#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
+#: ../../../../js/local-time.js:30 ../../../../templates/main.js:63
+msgid "Sun"
+msgstr "НД"
+
+#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
+#: ../../../../js/local-time.js:30 ../../../../templates/main.js:63
+msgid "Mon"
+msgstr "ПН"
+
+#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
+#: ../../../../js/local-time.js:30 ../../../../templates/main.js:63
+msgid "Tue"
+msgstr "ВТ"
+
+#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
+#: ../../../../js/local-time.js:30 ../../../../templates/main.js:63
+msgid "Wed"
+msgstr "СР"
+
+#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
+#: ../../../../js/local-time.js:30 ../../../../templates/main.js:63
+msgid "Thu"
+msgstr "ЧТ"
+
+#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
+#: ../../../../js/local-time.js:30 ../../../../templates/main.js:63
+msgid "Fri"
+msgstr "ПТ"
+
+#: ../../../../js/local-time.js:40 ../../../../js/local-time.js:41
+#: ../../../../js/local-time.js:30 ../../../../templates/main.js:63
+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
+#: ../../../../js/catalog-link.js:28 ../../../../js/catalog-link.js:39
+#: ../../../../js/catalog-link.js:47
+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 >>{0}"
+msgstr "Режим розміщення: Відповідь >>{0}"
+
+#: ../../../../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
+#: ../../../../js/expand-all-images.js:23
+msgid "Expand all images"
+msgstr "Розгорнути всі зображення"
+
+#: ../../../../templates/main.js:6
+msgid "Hello!"
+msgstr "Привіт!"
+
+#: ../../../../templates/main.js:18
+#, python-brace-format
+msgid "{0} users"
+msgstr "{0} користувачів"
+
+#: ../../../../templates/themes/ukko/ukko.js:28
+#: ../../../../templates/themes/ukko/ukko.js:39
+#: ../../../../templates/themes/ukko/ukko.js:29
+#: ../../../../templates/themes/ukko/ukko.js:40
+#: ../../../../templates/themes/ukko/ukko.js:52
+#: ../../../../templates/themes/ukko/ukko.js:63
+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
+#: ../../../../templates/themes/ukko/ukko.js:56
+#: ../../../../templates/themes/ukko/ukko.js:68
+msgid "(show threads from this board)"
+msgstr "(показати нитки цієї дошки)"
+
+#: ../../../../templates/themes/ukko/ukko.js:57
+#: ../../../../templates/themes/ukko/ukko.js:58
+#: ../../../../templates/themes/ukko/ukko.js:81
+msgid "No more threads to display"
+msgstr "Було показано всі нитки"
+
+#: ../../../../templates/themes/ukko/ukko.js:79
+#: ../../../../templates/themes/ukko/ukko.js:80
+#: ../../../../templates/themes/ukko/ukko.js:103
+#: ../../../../js/infinite-scroll.js:48
+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 ../../../../js/quick-reply.js:281
+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
+#: ../../../../js/quick-reply.js:289 ../../../../js/quick-reply.js:410
+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
+#: ../../../../js/watch.js:361 ../../../../js/watch.js:362
+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
+#: ../../../../js/watch.js:361 ../../../../js/watch.js:362
+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 ../../../../js/watch.js:372
+#: ../../../../js/watch.js:373 ../../../../js/watch.js:381
+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 ../../../../js/watch.js:372
+#: ../../../../js/watch.js:373 ../../../../js/watch.js:381
+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 ../../../../js/watch.js:374
+#: ../../../../js/watch.js:379 ../../../../js/watch.js:380
+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 ../../../../js/watch.js:374
+#: ../../../../js/watch.js:379 ../../../../js/watch.js:380
+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 ../../../../templates/main.js:62
+msgid "Sunday"
+msgstr "Неділя"
+
+#: ../../../../js/local-time.js:29 ../../../../templates/main.js:62
+msgid "Monday"
+msgstr "Понеділок"
+
+#: ../../../../js/local-time.js:29 ../../../../templates/main.js:62
+msgid "Tuesday"
+msgstr "Вівторок"
+
+#: ../../../../js/local-time.js:29 ../../../../templates/main.js:62
+msgid "Wednesday"
+msgstr "Середа"
+
+#: ../../../../js/local-time.js:29 ../../../../templates/main.js:62
+msgid "Thursday"
+msgstr "Четвер"
+
+#: ../../../../js/local-time.js:29 ../../../../templates/main.js:62
+msgid "Friday"
+msgstr "Пʼятниця"
+
+#: ../../../../js/local-time.js:29 ../../../../templates/main.js:62
+msgid "Saturday"
+msgstr "Субота"
+
+#: ../../../../js/local-time.js:31 ../../../../templates/main.js:64
+msgid "January"
+msgstr "Січень"
+
+#: ../../../../js/local-time.js:31 ../../../../templates/main.js:64
+msgid "February"
+msgstr "Лютий"
+
+#: ../../../../js/local-time.js:31 ../../../../templates/main.js:64
+msgid "March"
+msgstr "Березень"
+
+#: ../../../../js/local-time.js:31 ../../../../templates/main.js:64
+msgid "April"
+msgstr "Квітень"
+
+#: ../../../../js/local-time.js:31 ../../../../js/local-time.js:32
+#: ../../../../templates/main.js:64 ../../../../templates/main.js:65
+msgid "May"
+msgstr "Травень"
+
+#: ../../../../js/local-time.js:31 ../../../../templates/main.js:64
+msgid "June"
+msgstr "Червень"
+
+#: ../../../../js/local-time.js:31 ../../../../templates/main.js:64
+msgid "July"
+msgstr "Липень"
+
+#: ../../../../js/local-time.js:31 ../../../../templates/main.js:64
+msgid "August"
+msgstr "Серпень"
+
+#: ../../../../js/local-time.js:31 ../../../../templates/main.js:64
+msgid "September"
+msgstr "Вересень"
+
+#: ../../../../js/local-time.js:31 ../../../../templates/main.js:64
+msgid "October"
+msgstr "Жовтень"
+
+#: ../../../../js/local-time.js:31 ../../../../templates/main.js:64
+msgid "November"
+msgstr "Листопад"
+
+#: ../../../../js/local-time.js:31 ../../../../templates/main.js:64
+msgid "December"
+msgstr "Грудень"
+
+#: ../../../../js/local-time.js:32 ../../../../templates/main.js:65
+msgid "Jan"
+msgstr "Січ"
+
+#: ../../../../js/local-time.js:32 ../../../../templates/main.js:65
+msgid "Feb"
+msgstr "Лют"
+
+#: ../../../../js/local-time.js:32 ../../../../templates/main.js:65
+msgid "Mar"
+msgstr "Бер"
+
+#: ../../../../js/local-time.js:32 ../../../../templates/main.js:65
+msgid "Apr"
+msgstr "Кві"
+
+#: ../../../../js/local-time.js:32 ../../../../templates/main.js:65
+msgid "Jun"
+msgstr "Чер"
+
+#: ../../../../js/local-time.js:32 ../../../../templates/main.js:65
+msgid "Jul"
+msgstr "Лип"
+
+#: ../../../../js/local-time.js:32 ../../../../templates/main.js:65
+msgid "Aug"
+msgstr "Сер"
+
+#: ../../../../js/local-time.js:32 ../../../../templates/main.js:65
+msgid "Sep"
+msgstr "Вер"
+
+#: ../../../../js/local-time.js:32 ../../../../templates/main.js:65
+msgid "Oct"
+msgstr "Жов"
+
+#: ../../../../js/local-time.js:32 ../../../../templates/main.js:65
+msgid "Nov"
+msgstr "Лис"
+
+#: ../../../../js/local-time.js:32 ../../../../templates/main.js:65
+msgid "Dec"
+msgstr "Гру"
+
+#: ../../../../js/local-time.js:33 ../../../../templates/main.js:66
+msgid "AM"
+msgstr "AM"
+
+#: ../../../../js/local-time.js:34 ../../../../templates/main.js:67
+msgid "PM"
+msgstr "PM"
+
+#: ../../../../js/local-time.js:35 ../../../../templates/main.js:68
+msgid "am"
+msgstr "am"
+
+#: ../../../../js/local-time.js:36 ../../../../templates/main.js:69
+msgid "pm"
+msgstr "pm"
+
+#: ../../../../js/expand-video.js:45 ../../../../js/expand-video.js:48
+msgid "Your browser does not support HTML5 video."
+msgstr "Ваш браузер не підтримує відео HTML5"
+
+#: ../../../../js/expand-video.js:189 ../../../../js/expand-video.js:192
+#: ../../../../js/expand-video.js:193
+msgid "[play once]"
+msgstr "[відтворити раз]"
+
+#: ../../../../js/expand-video.js:190 ../../../../js/expand-video.js:193
+#: ../../../../js/expand-video.js:194
+msgid "[loop]"
+msgstr "[зациклити]"
+
+#: ../../../../js/webm-settings.js:42 ../../../../js/webm-settings.js:45
+msgid "WebM Settings"
+msgstr "Налаштування WebM"
+
+#: ../../../../js/webm-settings.js:44 ../../../../js/webm-settings.js:54
+msgid "Expand videos inline"
+msgstr "Розгорнути відео на місці"
+
+#: ../../../../js/webm-settings.js:45 ../../../../js/webm-settings.js:55
+msgid "Play videos on hover"
+msgstr "Відтворити відео в пливучому віконці"
+
+#: ../../../../js/webm-settings.js:46 ../../../../js/webm-settings.js:56
+msgid "Default volume"
+msgstr "Гучність за промовчанням"
+
+#: ../../../../js/treeview.js:18
+msgid "Tree view"
+msgstr "Перегляд деревом"
+
+#: ../../../../js/expand-all-images.js:32
+#: ../../../../js/expand-all-images.js:35
+msgid "Shrink all images"
+msgstr "Позгортати всі зображення"
+
+#: ../../../../js/no-animated-gif.js:33 ../../../../js/no-animated-gif.js:37
+#: ../../../../js/no-animated-gif.js:40
+msgid "Animate GIFs"
+msgstr "Увімкнути анімацію GIF"
+
+#: ../../../../js/no-animated-gif.js:42 ../../../../js/no-animated-gif.js:48
+#: ../../../../js/no-animated-gif.js:47 ../../../../js/no-animated-gif.js:57
+#: ../../../../js/no-animated-gif.js:62 ../../../../js/no-animated-gif.js:50
+#: ../../../../js/no-animated-gif.js:60 ../../../../js/no-animated-gif.js:65
+msgid "Unanimate GIFs"
+msgstr "Вимкнути анімацію GIF"
+
+#: ../../../../js/webm-settings.js:41
+msgid "WebM"
+msgstr "WebM"
+
+#: ../../../../js/live-index.js:25 ../../../../js/live-index.js:84
+msgid "No new posts."
+msgstr "Немає нових дописів."
+
+#: ../../../../js/live-index.js:30 ../../../../js/live-index.js:73
+msgid "No new threads."
+msgstr "Немає нових ниток."
+
+#: ../../../../js/live-index.js:72
+#, python-brace-format
+msgid "There are {0} new threads."
+msgstr "{0} нових ниток."
+
+#: ../../../../js/live-index.js:83
+#, python-brace-format
+msgid "There are {0} new posts in this thread."
+msgstr "{0} нових дописів у цій нитці."
+
+#: ../../../../js/options.js:106
+msgid "Options"
+msgstr "Налаштування"
+
+#: ../../../../js/options/general.js:15
+msgid "General"
+msgstr "Основні"
+
+#: ../../../../js/options/general.js:18
+msgid "Storage: "
+msgstr "Сховище:"
+
+#: ../../../../js/options/general.js:21
+msgid "Export"
+msgstr "Експортувати"
+
+#: ../../../../js/options/general.js:27
+msgid "Import"
+msgstr "Імпортувати"
+
+#: ../../../../js/options/general.js:28
+msgid "Paste your storage data"
+msgstr "Вставити дані зі сховища"
+
+#: ../../../../js/options/general.js:40
+msgid "Erase"
+msgstr "Очистити"
+
+#: ../../../../js/options/general.js:41
+msgid ""
+"Are you sure you want to erase your storage? This involves your hidden "
+"threads, watched threads, post password and many more."
+msgstr ""
+"Ви впевнені, що хочете очистити своє сховище? Списки прихованих і "
+"переглянутих ниток, пароль дописування та багато іншого буде анульовано."
+
+#: ../../../../js/options/user-css.js:14
+msgid "User CSS"
+msgstr "Користувацький CSS"
+
+#: ../../../../js/options/user-css.js:23
+msgid "Update custom CSS"
+msgstr "Оновити користувацький CSS"
+
+#: ../../../../js/options/user-css.js:45
+msgid "Enter here your own CSS rules..."
+msgstr "Введіть власні правила CSS…"
+
+#: ../../../../js/options/user-css.js:46
+msgid ""
+"If you want to make a redistributable style, be sure to\n"
+" have a Yotsuba B theme selected."
+msgstr ""
+"Якщо хочете, щоб ваш стиль був переносним,\n"
+"впевніться, що обрано тему Yotsuba B."
+
+#: ../../../../js/options/user-css.js:47
+msgid "You can include CSS files from remote servers, for example:"
+msgstr "Ви можете включати файли CSS із віддалених серверів, наприклад:"
+
+#: ../../../../js/options/user-js.js:14
+msgid "User JS"
+msgstr "Користувацький JS"
+
+#: ../../../../js/options/user-js.js:23
+msgid "Update custom Javascript"
+msgstr "Оновити користувацький JS"
+
+#: ../../../../js/options/user-js.js:54
+msgid "Enter here your own Javascript code..."
+msgstr "Введіть власний код Javascript…"
+
+#: ../../../../js/options/user-js.js:55
+msgid ""
+"Have a backup of your storage somewhere, as messing here\n"
+" may render you this website unusable."
+msgstr ""
+"Створіть десь в іншому місці резервну копію сховища,\n"
+"бо може статись, що після змін тут ви будете не в змозі користуватися цим "
+"сайтом."
+
+#: ../../../../js/options/user-js.js:56
+msgid "You can include JS files from remote servers, for example:"
+msgstr "Ви можете включати файли CSS із віддалених серверів, наприклад:"
+
+#: ../../../../js/id_colors.js:6 ../../../../js/id_colors.js:12
+msgid "Color IDs"
+msgstr ""
+
+#: ../../../../js/auto-reload.js:33
+msgid "Update"
+msgstr "Оновлення"
+
+#: ../../../../js/mod/ban-list.js:29
+msgid "IP address"
+msgstr "IP адреса"
+
+#: ../../../../js/mod/ban-list.js:42
+msgid "Seen"
+msgstr ""
+
+#: ../../../../js/mod/ban-list.js:44
+msgid "Message for which user was banned is included"
+msgstr "Повідомлення, за яке користувача заблоковано, додається"
+
+#: ../../../../js/mod/ban-list.js:45
+msgid "Message:"
+msgstr "Повідомлення:"
+
+#: ../../../../js/mod/ban-list.js:53
+msgid "Board"
+msgstr "Дошка"
+
+#: ../../../../js/mod/ban-list.js:55
+msgid "all"
+msgstr "все"
+
+#: ../../../../js/mod/ban-list.js:57
+msgid "Set"
+msgstr "Встановити"
+
+#: ../../../../js/mod/ban-list.js:58
+msgid " ago"
+msgstr " тому"
+
+#: ../../../../js/mod/ban-list.js:61
+msgid "Expires"
+msgstr ""
+"Сплива\n"
+"є"
+
+#: ../../../../js/mod/ban-list.js:62
+msgid "never"
+msgstr "ніколи"
+
+#: ../../../../js/mod/ban-list.js:64
+msgid "in "
+msgstr "в"
+
+#: ../../../../js/mod/ban-list.js:66
+msgid "Staff"
+msgstr "Модератор"
+
+#: ../../../../js/mod/ban-list.js:73
+msgid "system"
+msgstr "система"
+
+#: ../../../../js/auto-reload.js:33
+msgid "Auto"
+msgstr "Авто"
+
+#: ../../../../js/auto-reload.js:141
+msgid "Updating..."
+msgstr "Оновлення…"
+
+#: ../../../../js/auto-reload.js:183
+#, python-brace-format
+msgid "Thread updated with {0} new post(s)"
+msgstr "Нитку оновлено, зʼявилось {0} допис(ів)"
+
+#: ../../../../js/auto-reload.js:185
+msgid "No new posts found"
+msgstr "Нових дописів немає"
+
+# Що мається на увазі під «pruned»?
+#: ../../../../js/auto-reload.js:191
+msgid "Thread deleted or pruned"
+msgstr "Нитку видалено або вилучено"
+
+#: ../../../../js/auto-reload.js:199
+msgid "Error: "
+msgstr "Помилка:"
+
+#: ../../../../js/auto-reload.js:201
+msgid "Unknown error"
+msgstr "Невідома помилка"
+
+#: ../../../../js/infinite-scroll.js:47
+msgid "Page"
+msgstr "Сторінка"
+
+#: ../../../../js/infinite-scroll.js:82
+msgid "All"
+msgstr "Всі"
+
+#: ../../../../templates/main.js:29 ../../../../templates/main.js:47
+msgid "second(s)"
+msgstr "секунд(и)"
+
+#: ../../../../templates/main.js:31 ../../../../templates/main.js:49
+msgid "minute(s)"
+msgstr "хвилин(и)"
+
+#: ../../../../templates/main.js:33 ../../../../templates/main.js:51
+msgid "hour(s)"
+msgstr "годин(и)"
+
+#: ../../../../templates/main.js:35 ../../../../templates/main.js:53
+msgid "day(s)"
+msgstr "день(дні)"
+
+#: ../../../../templates/main.js:37 ../../../../templates/main.js:55
+msgid "week(s)"
+msgstr "тиждень(тижнів)"
+
+#: ../../../../templates/main.js:39 ../../../../templates/main.js:57
+msgid "year(s)"
+msgstr "рік(років)"
diff --git a/inc/locale/uk_UA/LC_MESSAGES/tinyboard.mo b/inc/locale/uk_UA/LC_MESSAGES/tinyboard.mo
new file mode 100644
index 00000000..7454538d
Binary files /dev/null and b/inc/locale/uk_UA/LC_MESSAGES/tinyboard.mo differ
diff --git a/inc/locale/uk_UA/LC_MESSAGES/tinyboard.po b/inc/locale/uk_UA/LC_MESSAGES/tinyboard.po
new file mode 100644
index 00000000..1360f044
--- /dev/null
+++ b/inc/locale/uk_UA/LC_MESSAGES/tinyboard.po
@@ -0,0 +1,3542 @@
+# 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 , YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-10-18 13:47+0200\n"
+"PO-Revision-Date: 2016-06-19 17:31+0300\n"
+"Language: uk\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"
+"Last-Translator: kotobenko \n"
+"Language-Team: \n"
+"X-Generator: Poedit 1.8.8\n"
+
+#: ../../../../inc/functions.php:583 ../../../../inc/functions.php:600
+#: ../../../../inc/functions.php:591 ../../../../inc/functions.php:608
+#: ../../../../inc/functions.php:620 ../../../../inc/functions.php:637
+#: ../../../../inc/functions.php:623 ../../../../inc/functions.php:640
+#: ../../../../inc/functions.php:629 ../../../../inc/functions.php:646
+#: ../../../../inc/functions.php:643 ../../../../inc/functions.php:660
+#: ../../../../inc/functions.php:653 ../../../../inc/functions.php:670
+#: ../../../../inc/functions.php:655 ../../../../inc/functions.php:672
+#: ../../../../inc/functions.php:683 ../../../../inc/functions.php:700
+#: ../../../../inc/functions.php:701 ../../../../inc/functions.php:719
+msgid "second"
+msgid_plural "seconds"
+msgstr[0] "секунда"
+msgstr[1] "секунди"
+msgstr[2] "секунд"
+
+#. 60*60 = 3600
+#: ../../../../inc/functions.php:585 ../../../../inc/functions.php:602
+#: ../../../../inc/functions.php:593 ../../../../inc/functions.php:610
+#: ../../../../inc/functions.php:622 ../../../../inc/functions.php:639
+#: ../../../../inc/functions.php:625 ../../../../inc/functions.php:642
+#: ../../../../inc/functions.php:631 ../../../../inc/functions.php:648
+#: ../../../../inc/functions.php:645 ../../../../inc/functions.php:662
+#: ../../../../inc/functions.php:655 ../../../../inc/functions.php:672
+#: ../../../../inc/functions.php:657 ../../../../inc/functions.php:674
+#: ../../../../inc/functions.php:685 ../../../../inc/functions.php:702
+#: ../../../../inc/functions.php:703 ../../../../inc/functions.php:721
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] "хвилина"
+msgstr[1] "хвилини"
+msgstr[2] "хвилин"
+
+#. 60*60*24 = 86400
+#: ../../../../inc/functions.php:587 ../../../../inc/functions.php:604
+#: ../../../../inc/functions.php:595 ../../../../inc/functions.php:612
+#: ../../../../inc/functions.php:624 ../../../../inc/functions.php:641
+#: ../../../../inc/functions.php:627 ../../../../inc/functions.php:644
+#: ../../../../inc/functions.php:633 ../../../../inc/functions.php:650
+#: ../../../../inc/functions.php:647 ../../../../inc/functions.php:664
+#: ../../../../inc/functions.php:657 ../../../../inc/functions.php:674
+#: ../../../../inc/functions.php:659 ../../../../inc/functions.php:676
+#: ../../../../inc/functions.php:687 ../../../../inc/functions.php:704
+#: ../../../../inc/functions.php:705 ../../../../inc/functions.php:723
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] "година"
+msgstr[1] "години"
+msgstr[2] "годин"
+
+#. 60*60*24*7 = 604800
+#: ../../../../inc/functions.php:589 ../../../../inc/functions.php:606
+#: ../../../../inc/functions.php:597 ../../../../inc/functions.php:614
+#: ../../../../inc/functions.php:626 ../../../../inc/functions.php:643
+#: ../../../../inc/functions.php:629 ../../../../inc/functions.php:646
+#: ../../../../inc/functions.php:635 ../../../../inc/functions.php:652
+#: ../../../../inc/functions.php:649 ../../../../inc/functions.php:666
+#: ../../../../inc/functions.php:659 ../../../../inc/functions.php:676
+#: ../../../../inc/functions.php:661 ../../../../inc/functions.php:678
+#: ../../../../inc/functions.php:689 ../../../../inc/functions.php:706
+#: ../../../../inc/functions.php:707 ../../../../inc/functions.php:725
+msgid "day"
+msgid_plural "days"
+msgstr[0] "день"
+msgstr[1] "дні"
+msgstr[2] "днів"
+
+#. 60*60*24*365 = 31536000
+#: ../../../../inc/functions.php:591 ../../../../inc/functions.php:608
+#: ../../../../inc/functions.php:599 ../../../../inc/functions.php:616
+#: ../../../../inc/functions.php:628 ../../../../inc/functions.php:645
+#: ../../../../inc/functions.php:631 ../../../../inc/functions.php:648
+#: ../../../../inc/functions.php:637 ../../../../inc/functions.php:654
+#: ../../../../inc/functions.php:651 ../../../../inc/functions.php:668
+#: ../../../../inc/functions.php:661 ../../../../inc/functions.php:678
+#: ../../../../inc/functions.php:663 ../../../../inc/functions.php:680
+#: ../../../../inc/functions.php:691 ../../../../inc/functions.php:708
+#: ../../../../inc/functions.php:709 ../../../../inc/functions.php:727
+msgid "week"
+msgid_plural "weeks"
+msgstr[0] "тиждень"
+msgstr[1] "тижні"
+msgstr[2] "тижнів"
+
+#: ../../../../inc/functions.php:594 ../../../../inc/functions.php:611
+#: ../../../../inc/functions.php:602 ../../../../inc/functions.php:619
+#: ../../../../inc/functions.php:631 ../../../../inc/functions.php:648
+#: ../../../../inc/functions.php:634 ../../../../inc/functions.php:651
+#: ../../../../inc/functions.php:640 ../../../../inc/functions.php:657
+#: ../../../../inc/functions.php:654 ../../../../inc/functions.php:671
+#: ../../../../inc/functions.php:664 ../../../../inc/functions.php:681
+#: ../../../../inc/functions.php:666 ../../../../inc/functions.php:683
+#: ../../../../inc/functions.php:694 ../../../../inc/functions.php:711
+#: ../../../../inc/functions.php:729
+msgid "year"
+msgid_plural "years"
+msgstr[0] "рік"
+msgstr[1] "роки"
+msgstr[2] "років"
+
+#: ../../../../inc/functions.php:628 ../../../../inc/functions.php:670
+#: ../../../../inc/functions.php:699 ../../../../inc/functions.php:702
+#: ../../../../inc/functions.php:708 ../../../../inc/functions.php:722
+#: ../../../../inc/functions.php:732 ../../../../inc/functions.php:727
+#: ../../../../inc/functions.php:755 ../../../../inc/functions.php:774
+msgid "Banned!"
+msgstr "Заблоковано!"
+
+#. There is no previous page.
+#: ../../../../inc/functions.php:1125 ../../../../inc/functions.php:1139
+#: ../../../../inc/functions.php:1165 ../../../../inc/functions.php:1179
+#: ../../../../inc/functions.php:1168 ../../../../inc/functions.php:1182
+#: ../../../../inc/functions.php:1197 ../../../../inc/functions.php:1211
+#: ../../../../inc/functions.php:1200 ../../../../inc/functions.php:1214
+#: ../../../../inc/functions.php:1206 ../../../../inc/functions.php:1220
+#: ../../../../inc/functions.php:1234 ../../../../inc/functions.php:1230
+#: ../../../../inc/functions.php:1244 ../../../../inc/functions.php:1228
+#: ../../../../inc/functions.php:1242 ../../../../inc/functions.php:1256
+#: ../../../../inc/functions.php:1261 ../../../../inc/functions.php:1275
+msgid "Previous"
+msgstr "Попередня"
+
+#. There is no next page.
+#: ../../../../inc/functions.php:1144 ../../../../inc/functions.php:1153
+#: ../../../../inc/functions.php:1184 ../../../../inc/functions.php:1193
+#: ../../../../inc/functions.php:1187 ../../../../inc/functions.php:1196
+#: ../../../../inc/functions.php:1216 ../../../../inc/functions.php:1225
+#: ../../../../inc/functions.php:1219 ../../../../inc/functions.php:1228
+#: ../../../../inc/functions.php:1234 ../../../../inc/functions.php:1239
+#: ../../../../inc/functions.php:1248 ../../../../inc/functions.php:1249
+#: ../../../../inc/functions.php:1258 ../../../../inc/functions.php:1233
+#: ../../../../inc/functions.php:1242 ../../../../inc/functions.php:1261
+#: ../../../../inc/functions.php:1270 ../../../../inc/functions.php:1280
+#: ../../../../inc/functions.php:1289
+msgid "Next"
+msgstr "Наступна"
+
+#: ../../../../inc/display.php:93 ../../../../inc/display.php:105
+#: ../../../../inc/display.php:108 ../../../../inc/display.php:112
+#: ../../../../inc/display.php:126
+msgid "Error"
+msgstr "Помилка"
+
+#: ../../../../inc/display.php:94 ../../../../inc/display.php:106
+#: ../../../../inc/display.php:109 ../../../../inc/display.php:113
+#: ../../../../inc/display.php:127
+msgid "An error has occured."
+msgstr "Сталася помилка."
+
+#: ../../../../inc/display.php:110 ../../../../inc/mod/pages.php:62
+#: ../../../../inc/mod/pages.php:60 ../../../../inc/display.php:122
+#: ../../../../inc/display.php:125 ../../../../inc/display.php:129
+#: ../../../../inc/display.php:143
+msgid "Login"
+msgstr "Логін"
+
+#: ../../../../inc/display.php:229 ../../../../inc/display.php:241
+#: ../../../../inc/display.php:244 ../../../../inc/display.php:248
+#: ../../../../inc/display.php:262
+#, php-format
+msgid "Post too long. Click here to view the full text."
+msgstr ""
+"Допис задовгий. Натисніть тут, щоб переглянути текст "
+"повністю."
+
+#: ../../../../inc/display.php:368 ../../../../inc/display.php:473
+#: ../../../../inc/display.php:385 ../../../../inc/display.php:495
+#: ../../../../inc/display.php:388 ../../../../inc/display.php:498
+#: ../../../../inc/display.php:392 ../../../../inc/display.php:502
+#: ../../../../templates/cache/59/eb/57ea544c6cb07c523441e4872c03216560589e8425c0df3a895c17253c4c.php:60
+msgid "Ban"
+msgstr "Заблокувати"
+
+#: ../../../../inc/display.php:372 ../../../../inc/display.php:477
+#: ../../../../inc/display.php:389 ../../../../inc/display.php:499
+#: ../../../../inc/display.php:392 ../../../../inc/display.php:502
+#: ../../../../inc/display.php:396 ../../../../inc/display.php:506
+#: ../../../../templates/cache/59/eb/57ea544c6cb07c523441e4872c03216560589e8425c0df3a895c17253c4c.php:74
+msgid "Ban & Delete"
+msgstr "Заблокувати й видалити"
+
+#. line 4
+#: ../../../../inc/display.php:376 ../../../../inc/display.php:481
+#: ../../../../inc/display.php:393 ../../../../inc/display.php:503
+#: ../../../../inc/display.php:396 ../../../../inc/display.php:506
+#: ../../../../inc/display.php:400 ../../../../inc/display.php:510
+#: ../../../../templates/cache/b9/2b/ba2b45df5e1d76f6cdfb98a47468df19a1ffc1c2af2dc1792eb75eeb0791.php:29
+msgid "Delete file"
+msgstr "Видалити файл"
+
+#: ../../../../inc/display.php:376 ../../../../inc/display.php:481
+#: ../../../../inc/display.php:393 ../../../../inc/display.php:503
+#: ../../../../inc/display.php:396 ../../../../inc/display.php:506
+#: ../../../../inc/display.php:400 ../../../../inc/display.php:510
+#: ../../../../templates/cache/b9/2b/ba2b45df5e1d76f6cdfb98a47468df19a1ffc1c2af2dc1792eb75eeb0791.php:29
+msgid "Are you sure you want to delete this file?"
+msgstr "Ви впевнені, що хочете видалити цей файл?"
+
+#: ../../../../inc/display.php:380 ../../../../inc/display.php:485
+#: ../../../../inc/display.php:397 ../../../../inc/display.php:507
+#: ../../../../inc/display.php:400 ../../../../inc/display.php:510
+#: ../../../../inc/display.php:404 ../../../../inc/display.php:514
+msgid "Spoiler File"
+msgstr "Заховати файл у спойлер"
+
+#: ../../../../inc/display.php:380 ../../../../inc/display.php:485
+#: ../../../../inc/display.php:397 ../../../../inc/display.php:507
+#: ../../../../inc/display.php:400 ../../../../inc/display.php:510
+#: ../../../../inc/display.php:404 ../../../../inc/display.php:514
+#: ../../../../templates/cache/b9/2b/ba2b45df5e1d76f6cdfb98a47468df19a1ffc1c2af2dc1792eb75eeb0791.php:36
+msgid "Are you sure you want to spoiler this file?"
+msgstr "Ви впевнені, що хочете заховати цей файл у спойлер?"
+
+# ОП з усіма дописами чи тільки один допис?
+#: ../../../../inc/display.php:384 ../../../../inc/display.php:401
+#: ../../../../inc/display.php:404 ../../../../inc/display.php:408
+#: ../../../../templates/cache/59/eb/57ea544c6cb07c523441e4872c03216560589e8425c0df3a895c17253c4c.php:193
+msgid "Move reply to another board"
+msgstr "Перемістити відповідь до іншої дошки"
+
+#: ../../../../inc/display.php:388 ../../../../inc/display.php:512
+#: ../../../../inc/mod/pages.php:1425 ../../../../inc/mod/pages.php:1494
+#: ../../../../inc/display.php:405 ../../../../inc/display.php:534
+#: ../../../../inc/display.php:408 ../../../../inc/display.php:537
+#: ../../../../inc/display.php:412 ../../../../inc/display.php:541
+#: ../../../../inc/mod/pages.php:1508
+#: ../../../../templates/cache/59/eb/57ea544c6cb07c523441e4872c03216560589e8425c0df3a895c17253c4c.php:208
+#: ../../../../inc/mod/pages.php:1509 ../../../../inc/mod/pages.php:1506
+#: ../../../../inc/mod/pages.php:1511
+msgid "Edit post"
+msgstr "Редагувати допис"
+
+#. line 5
+#. line 6
+#: ../../../../inc/display.php:461
+#: ../../../../templates/cache/82/40/4c4a4b82f787181e6500ce83494d.php:33
+#: ../../../../inc/display.php:483
+#: ../../../../templates/cache/17/2f/ea79f6d94768f645ed33b3f5c1a54caee235af04d24b88e34cc8c2d48583.php:36
+#: ../../../../inc/display.php:486 ../../../../inc/display.php:490
+#: ../../../../templates/cache/17/2f/ea79f6d94768f645ed33b3f5c1a54caee235af04d24b88e34cc8c2d48583.php:38
+#: ../../../../templates/cache/59/eb/57ea544c6cb07c523441e4872c03216560589e8425c0df3a895c17253c4c.php:36
+msgid "Delete"
+msgstr "Видалити"
+
+#: ../../../../inc/display.php:461 ../../../../inc/display.php:483
+#: ../../../../inc/display.php:486 ../../../../inc/display.php:490
+#: ../../../../templates/cache/59/eb/57ea544c6cb07c523441e4872c03216560589e8425c0df3a895c17253c4c.php:36
+msgid "Are you sure you want to delete this?"
+msgstr "Ви впевнені, що хочете видалити?"
+
+#: ../../../../inc/display.php:465 ../../../../inc/display.php:487
+#: ../../../../inc/display.php:490 ../../../../inc/display.php:494
+#: ../../../../templates/cache/59/eb/57ea544c6cb07c523441e4872c03216560589e8425c0df3a895c17253c4c.php:44
+msgid "Delete all posts by IP"
+msgstr "Видалити всі дописи цього IP"
+
+#: ../../../../inc/display.php:465 ../../../../inc/display.php:487
+#: ../../../../inc/display.php:490 ../../../../inc/display.php:494
+#: ../../../../templates/cache/59/eb/57ea544c6cb07c523441e4872c03216560589e8425c0df3a895c17253c4c.php:44
+msgid "Are you sure you want to delete all posts by this IP address?"
+msgstr "Ви впевнені, що хочете видалити всі дописи цього IP?"
+
+#: ../../../../inc/display.php:469 ../../../../inc/display.php:491
+#: ../../../../inc/display.php:494 ../../../../inc/display.php:498
+#: ../../../../templates/cache/59/eb/57ea544c6cb07c523441e4872c03216560589e8425c0df3a895c17253c4c.php:52
+msgid "Delete all posts by IP across all boards"
+msgstr "Видалити всі дописи цього IP на всіх дошках"
+
+#: ../../../../inc/display.php:469 ../../../../inc/display.php:491
+#: ../../../../inc/display.php:494 ../../../../inc/display.php:498
+#: ../../../../templates/cache/59/eb/57ea544c6cb07c523441e4872c03216560589e8425c0df3a895c17253c4c.php:52
+msgid ""
+"Are you sure you want to delete all posts by this IP address, across all "
+"boards?"
+msgstr "Ви впенені, що хочете видалити всі дописи цього IP на всіх дошках?"
+
+#: ../../../../inc/display.php:490 ../../../../inc/display.php:512
+#: ../../../../inc/display.php:515 ../../../../inc/display.php:519
+#: ../../../../templates/cache/59/eb/57ea544c6cb07c523441e4872c03216560589e8425c0df3a895c17253c4c.php:96
+msgid "Make thread not sticky"
+msgstr "Відкріпити нитку"
+
+#: ../../../../inc/display.php:492 ../../../../inc/display.php:514
+#: ../../../../inc/display.php:517 ../../../../inc/display.php:521
+#: ../../../../templates/cache/59/eb/57ea544c6cb07c523441e4872c03216560589e8425c0df3a895c17253c4c.php:106
+msgid "Make thread sticky"
+msgstr "Закріпити нитку"
+
+#: ../../../../inc/display.php:496 ../../../../inc/display.php:518
+#: ../../../../inc/display.php:521 ../../../../inc/display.php:525
+#: ../../../../templates/cache/59/eb/57ea544c6cb07c523441e4872c03216560589e8425c0df3a895c17253c4c.php:122
+msgid "Allow thread to be bumped"
+msgstr "Увімкнути цій нитці підіймання"
+
+#: ../../../../inc/display.php:498 ../../../../inc/display.php:520
+#: ../../../../inc/display.php:523 ../../../../inc/display.php:527
+#: ../../../../templates/cache/59/eb/57ea544c6cb07c523441e4872c03216560589e8425c0df3a895c17253c4c.php:132
+msgid "Prevent thread from being bumped"
+msgstr "Вимкнути цій нитці підіймання"
+
+#: ../../../../inc/display.php:503 ../../../../inc/display.php:525
+#: ../../../../inc/display.php:528 ../../../../inc/display.php:532
+#: ../../../../templates/cache/59/eb/57ea544c6cb07c523441e4872c03216560589e8425c0df3a895c17253c4c.php:148
+msgid "Unlock thread"
+msgstr "Відкрити нитку"
+
+#: ../../../../inc/display.php:505 ../../../../inc/display.php:527
+#: ../../../../inc/display.php:530 ../../../../inc/display.php:534
+#: ../../../../templates/cache/59/eb/57ea544c6cb07c523441e4872c03216560589e8425c0df3a895c17253c4c.php:158
+msgid "Lock thread"
+msgstr "Закрити нитку"
+
+#: ../../../../inc/display.php:508 ../../../../inc/display.php:530
+#: ../../../../inc/display.php:533 ../../../../inc/display.php:537
+#: ../../../../templates/cache/59/eb/57ea544c6cb07c523441e4872c03216560589e8425c0df3a895c17253c4c.php:181
+msgid "Move thread to another board"
+msgstr "Перемістити нитку на іншу дошку"
+
+#. How long before Tinyboard forgets about a mute?
+#. 2 weeks
+#. If you want to alter the algorithm a bit. Default value is 2.
+#. (n^x where x is the number of previous mutes)
+#: ../../../../inc/config.php:346 ../../../../inc/config.php:473
+#: ../../../../inc/config.php:474 ../../../../inc/config.php:475
+#: ../../../../inc/config.php:476 ../../../../inc/config.php:479
+#: ../../../../inc/config.php:482
+msgid "You have been muted for unoriginal content."
+msgstr "Вас позбавлено права дописувати за неоригінальний контент."
+
+#. The names on the post buttons. (On most imageboards, these are both just
+#. "Post").
+#. The names on the post buttons. (On most imageboards, these are both just "Post").
+#: ../../../../inc/config.php:677 ../../../../inc/config.php:781
+#: ../../../../inc/config.php:772 ../../../../inc/config.php:774
+#: ../../../../inc/config.php:776 ../../../../inc/config.php:792
+#: ../../../../inc/config.php:803 ../../../../inc/config.php:829
+#: ../../../../inc/config.php:832 ../../../../inc/config.php:835
+msgid "New Topic"
+msgstr "Нова тема"
+
+#: ../../../../inc/config.php:678 ../../../../inc/config.php:782
+#: ../../../../inc/config.php:773 ../../../../inc/config.php:775
+#: ../../../../inc/config.php:777 ../../../../inc/config.php:793
+#: ../../../../inc/config.php:804 ../../../../inc/config.php:830
+#: ../../../../inc/config.php:833 ../../../../inc/config.php:836
+msgid "New Reply"
+msgstr "Нова відповідь"
+
+#. Additional lines added to the footer of all pages.
+#: ../../../../inc/config.php:689 ../../../../inc/config.php:793
+#: ../../../../inc/config.php:784 ../../../../inc/config.php:786
+#: ../../../../inc/config.php:788 ../../../../inc/config.php:804
+#: ../../../../inc/config.php:815 ../../../../inc/config.php:841
+#: ../../../../inc/config.php:844 ../../../../inc/config.php:847
+msgid ""
+"All trademarks, copyrights, comments, and images on this page are owned by "
+"and are the responsibility of their respective parties."
+msgstr ""
+
+#. * ====================
+#. * Error messages
+#. * ====================
+#. Error messages
+#: ../../../../inc/config.php:866
+msgid "Lurk some more before posting."
+msgstr ""
+"Вам не завадило б почитати Українську Драматику, перш ніж щось сюди писати."
+
+#. * ====================
+#. * Error messages
+#. * ====================
+#. Error messages
+#.
+#. * ====================
+#. * Error messages
+#. * ====================
+#.
+#. Error messages
+#: ../../../../inc/config.php:867 ../../../../inc/config.php:972
+#: ../../../../inc/config.php:963 ../../../../inc/config.php:965
+#: ../../../../inc/config.php:967 ../../../../inc/config.php:983
+#: ../../../../inc/config.php:991 ../../../../inc/config.php:1017
+#: ../../../../inc/config.php:1020 ../../../../inc/config.php:1023
+msgid "You look like a bot."
+msgstr "Ви поводитесь як бот."
+
+#: ../../../../inc/config.php:868 ../../../../inc/config.php:973
+#: ../../../../inc/config.php:964 ../../../../inc/config.php:966
+#: ../../../../inc/config.php:968 ../../../../inc/config.php:984
+#: ../../../../inc/config.php:992 ../../../../inc/config.php:1018
+#: ../../../../inc/config.php:1021 ../../../../inc/config.php:1024
+msgid "Your browser sent an invalid or no HTTP referer."
+msgstr "Ваш браузер не надіслав HTTP реферера або надіслав хибний"
+
+#: ../../../../inc/config.php:869 ../../../../inc/config.php:974
+#: ../../../../inc/config.php:965 ../../../../inc/config.php:967
+#: ../../../../inc/config.php:969 ../../../../inc/config.php:985
+#: ../../../../inc/config.php:993 ../../../../inc/config.php:1019
+#: ../../../../inc/config.php:1022 ../../../../inc/config.php:1025
+#, php-format
+msgid "The %s field was too long."
+msgstr "Поле %s занадто довге."
+
+#: ../../../../inc/config.php:870 ../../../../inc/config.php:975
+#: ../../../../inc/config.php:966 ../../../../inc/config.php:968
+#: ../../../../inc/config.php:970 ../../../../inc/config.php:986
+#: ../../../../inc/config.php:994 ../../../../inc/config.php:1020
+#: ../../../../inc/config.php:1023 ../../../../inc/config.php:1026
+msgid "The body was too long."
+msgstr "Вміст допису занадто довге."
+
+#: ../../../../inc/config.php:871 ../../../../inc/config.php:976
+#: ../../../../inc/config.php:967 ../../../../inc/config.php:969
+#: ../../../../inc/config.php:971 ../../../../inc/config.php:987
+#: ../../../../inc/config.php:995 ../../../../inc/config.php:1021
+#: ../../../../inc/config.php:1024 ../../../../inc/config.php:1027
+msgid "The body was too short or empty."
+msgstr "Вміст допису занадто короткий або пустий."
+
+#: ../../../../inc/config.php:872 ../../../../inc/config.php:977
+#: ../../../../inc/config.php:968 ../../../../inc/config.php:970
+#: ../../../../inc/config.php:972 ../../../../inc/config.php:988
+#: ../../../../inc/config.php:996 ../../../../inc/config.php:1022
+#: ../../../../inc/config.php:1025 ../../../../inc/config.php:1028
+msgid "You must upload an image."
+msgstr "Допис повинен містити зображення."
+
+#: ../../../../inc/config.php:873 ../../../../inc/config.php:978
+#: ../../../../inc/config.php:969 ../../../../inc/config.php:971
+#: ../../../../inc/config.php:973 ../../../../inc/config.php:989
+#: ../../../../inc/config.php:998 ../../../../inc/config.php:1024
+#: ../../../../inc/config.php:1027 ../../../../inc/config.php:1030
+msgid "The server failed to handle your upload."
+msgstr "Не вдалося завантажити файл на сервер."
+
+#: ../../../../inc/config.php:874 ../../../../inc/config.php:979
+#: ../../../../inc/config.php:970 ../../../../inc/config.php:972
+#: ../../../../inc/config.php:974 ../../../../inc/config.php:990
+#: ../../../../inc/config.php:999 ../../../../inc/config.php:1025
+#: ../../../../inc/config.php:1028 ../../../../inc/config.php:1031
+msgid "Unsupported image format."
+msgstr "Формат зображення не підтримується."
+
+#: ../../../../inc/config.php:875 ../../../../inc/config.php:980
+#: ../../../../inc/config.php:971 ../../../../inc/config.php:973
+#: ../../../../inc/config.php:975 ../../../../inc/config.php:991
+#: ../../../../inc/config.php:1000 ../../../../inc/config.php:1026
+#: ../../../../inc/config.php:1029 ../../../../inc/config.php:1032
+msgid "Invalid board!"
+msgstr "Неправильна дошка!"
+
+#: ../../../../inc/config.php:876 ../../../../inc/config.php:981
+#: ../../../../inc/config.php:972 ../../../../inc/config.php:974
+#: ../../../../inc/config.php:976 ../../../../inc/config.php:992
+#: ../../../../inc/config.php:1001 ../../../../inc/config.php:1027
+#: ../../../../inc/config.php:1030 ../../../../inc/config.php:1033
+msgid "Thread specified does not exist."
+msgstr "Вказана нитка не існує."
+
+#: ../../../../inc/config.php:877 ../../../../inc/config.php:982
+#: ../../../../inc/config.php:973 ../../../../inc/config.php:975
+#: ../../../../inc/config.php:977 ../../../../inc/config.php:993
+#: ../../../../inc/config.php:1002 ../../../../inc/config.php:1028
+#: ../../../../inc/config.php:1031 ../../../../inc/config.php:1034
+msgid "Thread locked. You may not reply at this time."
+msgstr "Нитку закрито. Ви більше не можете сюди дописати."
+
+#: ../../../../inc/config.php:878 ../../../../inc/config.php:983
+#: ../../../../inc/config.php:974 ../../../../inc/config.php:976
+#: ../../../../inc/config.php:978 ../../../../inc/config.php:994
+#: ../../../../inc/config.php:1003 ../../../../inc/config.php:1029
+#: ../../../../inc/config.php:1032 ../../../../inc/config.php:1035
+msgid "Thread has reached its maximum reply limit."
+msgstr "Кількість дописів у нитці досягла максимально припустимої."
+
+#: ../../../../inc/config.php:879 ../../../../inc/config.php:984
+#: ../../../../inc/config.php:975 ../../../../inc/config.php:977
+#: ../../../../inc/config.php:979 ../../../../inc/config.php:995
+#: ../../../../inc/config.php:1004 ../../../../inc/config.php:1030
+#: ../../../../inc/config.php:1033 ../../../../inc/config.php:1036
+msgid "Thread has reached its maximum image limit."
+msgstr "Кількість зображень у нитці досягла максимально припустимої."
+
+#: ../../../../inc/config.php:880 ../../../../inc/config.php:985
+#: ../../../../inc/config.php:976 ../../../../inc/config.php:978
+#: ../../../../inc/config.php:980 ../../../../inc/config.php:996
+#: ../../../../inc/config.php:1005 ../../../../inc/config.php:1031
+#: ../../../../inc/config.php:1034 ../../../../inc/config.php:1037
+msgid "You didn't make a post."
+msgstr "Ви не розмістили допис."
+
+#: ../../../../inc/config.php:881 ../../../../inc/config.php:986
+#: ../../../../inc/config.php:977 ../../../../inc/config.php:979
+#: ../../../../inc/config.php:981 ../../../../inc/config.php:997
+#: ../../../../inc/config.php:1006 ../../../../inc/config.php:1032
+#: ../../../../inc/config.php:1035 ../../../../inc/config.php:1038
+msgid "Flood detected; Post discarded."
+msgstr "Виявлено флуд — опис відхилено."
+
+#: ../../../../inc/config.php:882 ../../../../inc/config.php:987
+#: ../../../../inc/config.php:978 ../../../../inc/config.php:980
+#: ../../../../inc/config.php:982 ../../../../inc/config.php:998
+#: ../../../../inc/config.php:1007 ../../../../inc/config.php:1033
+#: ../../../../inc/config.php:1036 ../../../../inc/config.php:1039
+msgid "Your request looks automated; Post discarded."
+msgstr "Ваш запит схожий на автоматизований— допис відхилено."
+
+#: ../../../../inc/config.php:883 ../../../../inc/config.php:988
+#: ../../../../inc/config.php:979 ../../../../inc/config.php:981
+#: ../../../../inc/config.php:983 ../../../../inc/config.php:999
+#: ../../../../inc/config.php:1008 ../../../../inc/config.php:1034
+#: ../../../../inc/config.php:1037 ../../../../inc/config.php:1040
+msgid "Unoriginal content!"
+msgstr "Неоригінальний контент!"
+
+#: ../../../../inc/config.php:884 ../../../../inc/config.php:989
+#: ../../../../inc/config.php:980 ../../../../inc/config.php:982
+#: ../../../../inc/config.php:984 ../../../../inc/config.php:1000
+#: ../../../../inc/config.php:1009 ../../../../inc/config.php:1035
+#: ../../../../inc/config.php:1038 ../../../../inc/config.php:1041
+#, php-format
+msgid "Unoriginal content! You have been muted for %d seconds."
+msgstr ""
+"Неоригінальний контент! Вас позбавлено можливості дописувати на %d секунд."
+
+#: ../../../../inc/config.php:885 ../../../../inc/config.php:990
+#: ../../../../inc/config.php:981 ../../../../inc/config.php:983
+#: ../../../../inc/config.php:985 ../../../../inc/config.php:1001
+#: ../../../../inc/config.php:1010 ../../../../inc/config.php:1036
+#: ../../../../inc/config.php:1039 ../../../../inc/config.php:1042
+#, php-format
+msgid "You are muted! Expires in %d seconds."
+msgstr "Вас позбавлено можливості дописувати! Буде повернено через %d секунд."
+
+#: ../../../../inc/config.php:886 ../../../../inc/config.php:991
+#: ../../../../inc/config.php:982 ../../../../inc/config.php:984
+#: ../../../../inc/config.php:986 ../../../../inc/config.php:1002
+#: ../../../../inc/config.php:1011 ../../../../inc/config.php:1037
+#: ../../../../inc/config.php:1040 ../../../../inc/config.php:1043
+#, php-format
+msgid "Your IP address is listed in %s."
+msgstr "Вашу IP адресу знайдено в списку %s."
+
+#: ../../../../inc/config.php:887 ../../../../inc/config.php:992
+#: ../../../../inc/config.php:983 ../../../../inc/config.php:985
+#: ../../../../inc/config.php:987 ../../../../inc/config.php:1003
+#: ../../../../inc/config.php:1012 ../../../../inc/config.php:1038
+#: ../../../../inc/config.php:1041 ../../../../inc/config.php:1044
+msgid "Too many links; flood detected."
+msgstr "Забагато посилань — виявлено флуд."
+
+#: ../../../../inc/config.php:888 ../../../../inc/config.php:993
+#: ../../../../inc/config.php:984 ../../../../inc/config.php:986
+#: ../../../../inc/config.php:988 ../../../../inc/config.php:1004
+#: ../../../../inc/config.php:1013 ../../../../inc/config.php:1039
+#: ../../../../inc/config.php:1042 ../../../../inc/config.php:1045
+msgid "Too many cites; post discarded."
+msgstr "Забагато цитування — допис відхилено."
+
+#: ../../../../inc/config.php:889 ../../../../inc/config.php:994
+#: ../../../../inc/config.php:985 ../../../../inc/config.php:987
+#: ../../../../inc/config.php:989 ../../../../inc/config.php:1005
+#: ../../../../inc/config.php:1014 ../../../../inc/config.php:1040
+#: ../../../../inc/config.php:1043 ../../../../inc/config.php:1046
+msgid "Too many cross-board links; post discarded."
+msgstr "Забагато міждошкових посилань — допис відхилено."
+
+#: ../../../../inc/config.php:890 ../../../../inc/config.php:995
+#: ../../../../inc/config.php:986 ../../../../inc/config.php:988
+#: ../../../../inc/config.php:990 ../../../../inc/config.php:1006
+#: ../../../../inc/config.php:1015 ../../../../inc/config.php:1041
+#: ../../../../inc/config.php:1044 ../../../../inc/config.php:1047
+msgid "You didn't select anything to delete."
+msgstr "Ви не вибрали жодного допису, щоб видалити."
+
+#: ../../../../inc/config.php:891 ../../../../inc/config.php:996
+#: ../../../../inc/config.php:987 ../../../../inc/config.php:989
+#: ../../../../inc/config.php:991 ../../../../inc/config.php:1007
+#: ../../../../inc/config.php:1016 ../../../../inc/config.php:1042
+#: ../../../../inc/config.php:1045 ../../../../inc/config.php:1048
+msgid "You didn't select anything to report."
+msgstr "Ви не вибрали жодного допису, щоб поскаржитися."
+
+#: ../../../../inc/config.php:892 ../../../../inc/config.php:997
+#: ../../../../inc/config.php:988 ../../../../inc/config.php:990
+#: ../../../../inc/config.php:992 ../../../../inc/config.php:1008
+#: ../../../../inc/config.php:1017 ../../../../inc/config.php:1043
+#: ../../../../inc/config.php:1046 ../../../../inc/config.php:1049
+msgid "You can't report that many posts at once."
+msgstr "Ви не можете поскаржитися на таку кількість дописів відразу."
+
+#: ../../../../inc/config.php:893 ../../../../inc/config.php:998
+#: ../../../../inc/config.php:989 ../../../../inc/config.php:991
+#: ../../../../inc/config.php:993 ../../../../inc/config.php:1009
+#: ../../../../inc/config.php:1018 ../../../../inc/config.php:1044
+#: ../../../../inc/config.php:1047 ../../../../inc/config.php:1050
+msgid "Wrong password…"
+msgstr "Неправильний пароль…"
+
+#: ../../../../inc/config.php:894 ../../../../inc/config.php:999
+#: ../../../../inc/config.php:990 ../../../../inc/config.php:992
+#: ../../../../inc/config.php:994 ../../../../inc/config.php:1010
+#: ../../../../inc/config.php:1019 ../../../../inc/config.php:1045
+#: ../../../../inc/config.php:1048 ../../../../inc/config.php:1051
+msgid "Invalid image."
+msgstr "Неправильне зображення."
+
+#: ../../../../inc/config.php:895 ../../../../inc/config.php:1000
+#: ../../../../inc/config.php:991 ../../../../inc/config.php:993
+#: ../../../../inc/config.php:995 ../../../../inc/config.php:1011
+#: ../../../../inc/config.php:1020 ../../../../inc/config.php:1046
+#: ../../../../inc/config.php:1049 ../../../../inc/config.php:1052
+msgid "Unknown file extension."
+msgstr "Невідоме розширення файла."
+
+#: ../../../../inc/config.php:896 ../../../../inc/config.php:1001
+#: ../../../../inc/config.php:992 ../../../../inc/config.php:994
+#: ../../../../inc/config.php:996 ../../../../inc/config.php:1012
+#: ../../../../inc/config.php:1021 ../../../../inc/config.php:1047
+#: ../../../../inc/config.php:1050 ../../../../inc/config.php:1053
+msgid "Maximum file size: %maxsz% bytes Your file's size: %filesz% bytes"
+msgstr ""
+"Максимальний розмір файла: %maxsz% байтів Розмір вашого файла: %filesz% "
+"байтів"
+
+#: ../../../../inc/config.php:897 ../../../../inc/config.php:1002
+#: ../../../../inc/config.php:993 ../../../../inc/config.php:995
+#: ../../../../inc/config.php:997 ../../../../inc/config.php:1013
+#: ../../../../inc/config.php:1022 ../../../../inc/config.php:1048
+#: ../../../../inc/config.php:1051 ../../../../inc/config.php:1054
+msgid "The file was too big."
+msgstr "Файл завеликий."
+
+#: ../../../../inc/config.php:898 ../../../../inc/config.php:1003
+#: ../../../../inc/config.php:994 ../../../../inc/config.php:996
+#: ../../../../inc/config.php:998 ../../../../inc/config.php:1014
+#: ../../../../inc/config.php:1023 ../../../../inc/config.php:1053
+#: ../../../../inc/config.php:1057 ../../../../inc/config.php:1060
+#, php-format
+msgid "That file already exists!"
+msgstr "Файл уже існує!"
+
+#: ../../../../inc/config.php:899 ../../../../inc/config.php:1004
+#: ../../../../inc/config.php:995 ../../../../inc/config.php:997
+#: ../../../../inc/config.php:999 ../../../../inc/config.php:1015
+#: ../../../../inc/config.php:1024 ../../../../inc/config.php:1054
+#: ../../../../inc/config.php:1058 ../../../../inc/config.php:1061
+#, php-format
+msgid "That file already exists in this thread!"
+msgstr "Файл уже існує у цій нитці!"
+
+#: ../../../../inc/config.php:900 ../../../../inc/config.php:1005
+#: ../../../../inc/config.php:996 ../../../../inc/config.php:998
+#: ../../../../inc/config.php:1000 ../../../../inc/config.php:1016
+#: ../../../../inc/config.php:1025 ../../../../inc/config.php:1055
+#: ../../../../inc/config.php:1059 ../../../../inc/config.php:1062
+#, php-format
+msgid "You'll have to wait another %s before deleting that."
+msgstr "Почекайте ще %s перед видаленням."
+
+#: ../../../../inc/config.php:901 ../../../../inc/config.php:1006
+#: ../../../../inc/config.php:997 ../../../../inc/config.php:999
+#: ../../../../inc/config.php:1001 ../../../../inc/config.php:1017
+#: ../../../../inc/config.php:1026 ../../../../inc/config.php:1056
+#: ../../../../inc/config.php:1060 ../../../../inc/config.php:1063
+msgid "MIME type detection XSS exploit (IE) detected; post discarded."
+msgstr "Виявлено XSS-експлойт визначення MIME-типу — допис відхилено."
+
+#: ../../../../inc/config.php:902 ../../../../inc/config.php:1007
+#: ../../../../inc/config.php:998 ../../../../inc/config.php:1000
+#: ../../../../inc/config.php:1002 ../../../../inc/config.php:1018
+#: ../../../../inc/config.php:1027 ../../../../inc/config.php:1057
+#: ../../../../inc/config.php:1061 ../../../../inc/config.php:1064
+msgid "Couldn't make sense of the URL of the video you tried to embed."
+msgstr "Не вдалося розпізнати адресу відео, яке ви намагалися вбудувати."
+
+#: ../../../../inc/config.php:903 ../../../../inc/config.php:1008
+#: ../../../../inc/config.php:999 ../../../../inc/config.php:1001
+#: ../../../../inc/config.php:1003 ../../../../inc/config.php:1019
+#: ../../../../inc/config.php:1028 ../../../../inc/config.php:1058
+#: ../../../../inc/config.php:1062 ../../../../inc/config.php:1065
+msgid "You seem to have mistyped the verification."
+msgstr "Здається, ви не пройшли підтвердження."
+
+#. Moderator errors
+#: ../../../../inc/config.php:906 ../../../../inc/config.php:1011
+#: ../../../../inc/config.php:1002 ../../../../inc/config.php:1004
+#: ../../../../inc/config.php:1006 ../../../../inc/config.php:1022
+#: ../../../../inc/config.php:1031 ../../../../inc/config.php:1062
+#: ../../../../inc/config.php:1066 ../../../../inc/config.php:1069
+#, php-format
+msgid ""
+"You are only allowed to unban %s users at a time. You tried to unban %u "
+"users."
+msgstr ""
+"Дозволяється розблоковувати лише %s користувачів за раз. Ви намагались "
+"розблокувати %u користувачів."
+
+#: ../../../../inc/config.php:907 ../../../../inc/config.php:1012
+#: ../../../../inc/config.php:1003 ../../../../inc/config.php:1005
+#: ../../../../inc/config.php:1007 ../../../../inc/config.php:1023
+#: ../../../../inc/config.php:1032 ../../../../inc/config.php:1063
+#: ../../../../inc/config.php:1067 ../../../../inc/config.php:1070
+msgid "Invalid username and/or password."
+msgstr "Неправильне імʼя користувача і/або пароль."
+
+#: ../../../../inc/config.php:908 ../../../../inc/config.php:1013
+#: ../../../../inc/config.php:1004 ../../../../inc/config.php:1006
+#: ../../../../inc/config.php:1008 ../../../../inc/config.php:1024
+#: ../../../../inc/config.php:1033 ../../../../inc/config.php:1064
+#: ../../../../inc/config.php:1068 ../../../../inc/config.php:1071
+msgid "You are not a mod…"
+msgstr "Ви не модератор…"
+
+#: ../../../../inc/config.php:909 ../../../../inc/config.php:1014
+#: ../../../../inc/config.php:1005 ../../../../inc/config.php:1007
+#: ../../../../inc/config.php:1009 ../../../../inc/config.php:1025
+#: ../../../../inc/config.php:1034 ../../../../inc/config.php:1065
+#: ../../../../inc/config.php:1069 ../../../../inc/config.php:1072
+msgid ""
+"Invalid username and/or password. Your user may have been deleted or changed."
+msgstr ""
+"Неправильне імʼя користувача і/або пароль. Можливо, ваш обліковий запис "
+"видалено або змінено."
+
+#: ../../../../inc/config.php:910 ../../../../inc/config.php:1015
+#: ../../../../inc/config.php:1006 ../../../../inc/config.php:1008
+#: ../../../../inc/config.php:1010 ../../../../inc/config.php:1026
+#: ../../../../inc/config.php:1035 ../../../../inc/config.php:1066
+#: ../../../../inc/config.php:1070 ../../../../inc/config.php:1073
+msgid "Invalid/malformed cookies."
+msgstr "Неправильні/неправильно сформовані куки."
+
+#: ../../../../inc/config.php:911 ../../../../inc/config.php:1016
+#: ../../../../inc/config.php:1007 ../../../../inc/config.php:1009
+#: ../../../../inc/config.php:1011 ../../../../inc/config.php:1027
+#: ../../../../inc/config.php:1036 ../../../../inc/config.php:1067
+#: ../../../../inc/config.php:1071 ../../../../inc/config.php:1074
+msgid "Your browser didn't submit an input when it should have."
+msgstr "Ваш браузер не підтвердив введення тоді, коли потрібно."
+
+#: ../../../../inc/config.php:912 ../../../../inc/config.php:1017
+#: ../../../../inc/config.php:1008 ../../../../inc/config.php:1010
+#: ../../../../inc/config.php:1012 ../../../../inc/config.php:1028
+#: ../../../../inc/config.php:1037 ../../../../inc/config.php:1068
+#: ../../../../inc/config.php:1072 ../../../../inc/config.php:1075
+#, php-format
+msgid "The %s field is required."
+msgstr "Поле %s обовʼязкове."
+
+#: ../../../../inc/config.php:913 ../../../../inc/config.php:1018
+#: ../../../../inc/config.php:1009 ../../../../inc/config.php:1011
+#: ../../../../inc/config.php:1013 ../../../../inc/config.php:1029
+#: ../../../../inc/config.php:1038 ../../../../inc/config.php:1069
+#: ../../../../inc/config.php:1073 ../../../../inc/config.php:1076
+#, php-format
+msgid "The %s field was invalid."
+msgstr "Поле %s заповнено неправильно."
+
+#: ../../../../inc/config.php:914 ../../../../inc/config.php:1019
+#: ../../../../inc/config.php:1010 ../../../../inc/config.php:1012
+#: ../../../../inc/config.php:1014 ../../../../inc/config.php:1030
+#: ../../../../inc/config.php:1039 ../../../../inc/config.php:1070
+#: ../../../../inc/config.php:1074 ../../../../inc/config.php:1077
+#, php-format
+msgid "There is already a %s board."
+msgstr "Дошка %s уже існує."
+
+#: ../../../../inc/config.php:915 ../../../../inc/config.php:1020
+#: ../../../../inc/config.php:1011 ../../../../inc/config.php:1013
+#: ../../../../inc/config.php:1015 ../../../../inc/config.php:1031
+#: ../../../../inc/config.php:1040 ../../../../inc/config.php:1071
+#: ../../../../inc/config.php:1075 ../../../../inc/config.php:1078
+msgid "You don't have permission to do that."
+msgstr "У вас відсутній дозвіл на цю дію."
+
+#: ../../../../inc/config.php:916 ../../../../inc/config.php:1021
+#: ../../../../inc/config.php:1012 ../../../../inc/config.php:1014
+#: ../../../../inc/config.php:1016 ../../../../inc/config.php:1032
+#: ../../../../inc/config.php:1041 ../../../../inc/config.php:1072
+#: ../../../../inc/config.php:1076 ../../../../inc/config.php:1079
+msgid "That post doesn't exist…"
+msgstr "Цей допис не існує…"
+
+#: ../../../../inc/config.php:917 ../../../../inc/config.php:1022
+#: ../../../../inc/config.php:1013 ../../../../inc/config.php:1015
+#: ../../../../inc/config.php:1017 ../../../../inc/config.php:1033
+#: ../../../../inc/config.php:1042 ../../../../inc/config.php:1073
+#: ../../../../inc/config.php:1077 ../../../../inc/config.php:1080
+msgid "Page not found."
+msgstr "Сторінку не знайдено."
+
+#: ../../../../inc/config.php:918 ../../../../inc/config.php:1023
+#: ../../../../inc/config.php:1014 ../../../../inc/config.php:1016
+#: ../../../../inc/config.php:1018 ../../../../inc/config.php:1034
+#: ../../../../inc/config.php:1043 ../../../../inc/config.php:1074
+#: ../../../../inc/config.php:1078 ../../../../inc/config.php:1081
+#, php-format
+msgid "That mod already exists!"
+msgstr "Модератор уже існує!"
+
+#: ../../../../inc/config.php:919 ../../../../inc/config.php:1024
+#: ../../../../inc/config.php:1015 ../../../../inc/config.php:1017
+#: ../../../../inc/config.php:1019 ../../../../inc/config.php:1035
+#: ../../../../inc/config.php:1044 ../../../../inc/config.php:1075
+#: ../../../../inc/config.php:1079 ../../../../inc/config.php:1082
+msgid "That theme doesn't exist!"
+msgstr "Цієї теми не існує!"
+
+# Може, ключ?
+#: ../../../../inc/config.php:920 ../../../../inc/config.php:1025
+#: ../../../../inc/config.php:1016 ../../../../inc/config.php:1018
+#: ../../../../inc/config.php:1020 ../../../../inc/config.php:1036
+#: ../../../../inc/config.php:1045 ../../../../inc/config.php:1076
+#: ../../../../inc/config.php:1080 ../../../../inc/config.php:1083
+msgid "Invalid security token! Please go back and try again."
+msgstr "Неправильний токен безпеки! Поверніться і спробуйте ще раз."
+
+#. Default public ban message. In public ban messages, %length% is replaced
+#. with "for x days" or
+#. "permanently" (with %LENGTH% being the uppercase equivalent).
+#. Default public ban message. In public ban messages, %length% is replaced with "for x days" or
+#. "permanently" (with %LENGTH% being the uppercase equivalent).
+#: ../../../../inc/config.php:1086 ../../../../inc/config.php:1189
+#: ../../../../inc/config.php:1180 ../../../../inc/config.php:1185
+#: ../../../../inc/config.php:1187 ../../../../inc/config.php:1203
+#: ../../../../inc/config.php:1212 ../../../../inc/config.php:1243
+#: ../../../../inc/config.php:1247 ../../../../inc/config.php:1250
+msgid "USER WAS BANNED FOR THIS POST"
+msgstr "АВТОРА ЦЬОГО ДОПИСУ ЗАБЛОКОВАНО"
+
+#: ../../../../inc/mod/pages.php:66 ../../../../inc/mod/pages.php:64
+msgid "Confirm action"
+msgstr "Підтвердити дію"
+
+#: ../../../../inc/mod/pages.php:110 ../../../../inc/mod/pages.php:108
+msgid "Could not find current version! (Check .installed)"
+msgstr "Не вдалося знайти поточної версії! (перевірте .installed)"
+
+#: ../../../../inc/mod/pages.php:162
+msgid "Dashboard"
+msgstr "Панель керування"
+
+#: ../../../../inc/mod/pages.php:267 ../../../../inc/mod/pages.php:265
+msgid "There are no boards to search!"
+msgstr "Немає дошок для пошуку!"
+
+#. $results now contains the search results
+#: ../../../../inc/mod/pages.php:335 ../../../../inc/mod/pages.php:334
+msgid "Search results"
+msgstr "Результати пошуку"
+
+#: ../../../../inc/mod/pages.php:436 ../../../../inc/mod/pages.php:438
+msgid "Edit board"
+msgstr "Редагувати дошку"
+
+#: ../../../../inc/mod/pages.php:486 ../../../../inc/mod/pages.php:491
+msgid "Couldn't open board after creation."
+msgstr "Не вдалося відкрити дошку після створення."
+
+#: ../../../../inc/mod/pages.php:506 ../../../../inc/mod/pages.php:511
+msgid "New board"
+msgstr "Нова дошка"
+
+#. line 37
+#: ../../../../inc/mod/pages.php:553 ../../../../inc/mod/pages.php:562
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:121
+msgid "Noticeboard"
+msgstr "Дошка оголошень"
+
+#: ../../../../inc/mod/pages.php:614 ../../../../inc/mod/pages.php:631
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:194
+msgid "News"
+msgstr "Новини"
+
+#: ../../../../inc/mod/pages.php:654 ../../../../inc/mod/pages.php:681
+#: ../../../../inc/mod/pages.php:671 ../../../../inc/mod/pages.php:698
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:300
+#: ../../../../templates/cache/73/f8/5e3142a8a6f8d7e40422ff577e83b0dedf55a7cb9bc7082839b24f653545.php:75
+msgid "Moderation log"
+msgstr "Журнал модерації"
+
+#. line 104
+#. line 20
+#. line 18
+#. line 104
+#. line 20
+#. line 18
+#. line 104
+#. line 20
+#. line 18
+#. line 104
+#. line 20
+#. line 18
+#. line 104
+#. line 20
+#. line 18
+#. line 104
+#. line 20
+#. line 18
+#. line 104
+#. line 20
+#. line 104
+#. line 20
+#. line 18
+#. line 104
+#. line 20
+#. line 18
+#. line 104
+#. line 20
+#. line 18
+#. line 104
+#. line 20
+#. line 18
+#. line 104
+#. line 20
+#. line 18
+#: ../../../../inc/mod/pages.php:838 ../../../../inc/mod/pages.php:852
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:275
+#: ../../../../templates/cache/88/92/8e730a689121629afa3d2c0f374e1f246baa76e7cf0f3ec680f51805eccd.php:71
+#: ../../../../templates/cache/03/13/62c259daae13f7b39b689162b7cd380b2673bee7e05b90f0d34b69a01190.php:64
+#: ../../../../inc/mod/pages.php:849
+msgid "IP"
+msgstr "IP"
+
+#. line 171
+#: ../../../../inc/mod/pages.php:848 ../../../../inc/mod/pages.php:1367
+#: ../../../../inc/mod/pages.php:862 ../../../../inc/mod/pages.php:1432
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:440
+#: ../../../../inc/mod/pages.php:1446 ../../../../inc/mod/pages.php:1447
+#: ../../../../inc/mod/pages.php:859 ../../../../inc/mod/pages.php:1444
+#: ../../../../inc/mod/pages.php:1449
+msgid "New ban"
+msgstr "Нове блокування"
+
+#: ../../../../inc/mod/pages.php:931 ../../../../inc/mod/pages.php:914
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:256
+#: ../../../../inc/mod/pages.php:911 ../../../../inc/mod/pages.php:903
+#: ../../../../templates/themes/public_banlist/theme.php:42
+msgid "Ban list"
+msgstr "Список блокувань"
+
+#. line 38
+#: ../../../../inc/mod/pages.php:1105 ../../../../inc/mod/pages.php:1165
+#: ../../../../inc/mod/pages.php:1172
+#: ../../../../templates/cache/56/25/ac2c51fa6b3e26f9f9ed7dda5224acfbec96881d648c8ded10c5eef2c3e5.php:108
+#: ../../../../inc/mod/pages.php:1173 ../../../../inc/mod/pages.php:1170
+#: ../../../../inc/mod/pages.php:1175
+msgid "Move reply"
+msgstr "Перемістити відповідь"
+
+#: ../../../../inc/mod/pages.php:1131 ../../../../inc/mod/pages.php:1191
+#: ../../../../inc/mod/pages.php:1198 ../../../../inc/mod/pages.php:1199
+#: ../../../../inc/mod/pages.php:1196 ../../../../inc/mod/pages.php:1201
+msgid "Target and source board are the same."
+msgstr "Початкова дошка і дошка призначення збігаються."
+
+#: ../../../../inc/mod/pages.php:1296 ../../../../inc/mod/pages.php:1357
+#: ../../../../inc/mod/pages.php:1371 ../../../../inc/mod/pages.php:1372
+#: ../../../../inc/mod/pages.php:1369 ../../../../inc/mod/pages.php:1374
+msgid "Impossible to move thread; there is only one board."
+msgstr "Неможливо перемістити нитку: дошка тільки одна."
+
+#. line 39
+#: ../../../../inc/mod/pages.php:1300 ../../../../inc/mod/pages.php:1361
+#: ../../../../templates/cache/32/3a/d7e02cef5846ec4f1f423bb0ad2d3c307845d29f70da3f8a90a41f873e7d.php:114
+#: ../../../../inc/mod/pages.php:1375 ../../../../inc/mod/pages.php:1376
+#: ../../../../inc/mod/pages.php:1373 ../../../../inc/mod/pages.php:1378
+msgid "Move thread"
+msgstr "Перемістити нитку"
+
+#: ../../../../inc/mod/pages.php:1698 ../../../../inc/mod/pages.php:1751
+#: ../../../../inc/mod/pages.php:1775 ../../../../inc/mod/pages.php:1791
+#: ../../../../inc/mod/pages.php:1792 ../../../../inc/mod/pages.php:1796
+msgid "Edit user"
+msgstr "Редагувати користувача"
+
+#: ../../../../inc/mod/pages.php:1764 ../../../../inc/mod/pages.php:1855
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:274
+#: ../../../../inc/mod/pages.php:1871 ../../../../inc/mod/pages.php:1872
+#: ../../../../inc/mod/pages.php:1876
+msgid "Manage users"
+msgstr "Керування користувачами"
+
+#. deleted?
+#: ../../../../inc/mod/pages.php:1826 ../../../../inc/mod/pages.php:1899
+#: ../../../../inc/mod/pages.php:1945 ../../../../inc/mod/pages.php:2021
+#: ../../../../inc/mod/pages.php:1961 ../../../../inc/mod/pages.php:2037
+#: ../../../../inc/mod/pages.php:1962 ../../../../inc/mod/pages.php:2038
+#: ../../../../inc/mod/pages.php:1966 ../../../../inc/mod/pages.php:2042
+msgid "New PM for"
+msgstr "Нове приватне повідомлення до"
+
+#: ../../../../inc/mod/pages.php:1830 ../../../../inc/mod/pages.php:1952
+#: ../../../../inc/mod/pages.php:1968 ../../../../inc/mod/pages.php:1969
+#: ../../../../inc/mod/pages.php:1973
+msgid "Private message"
+msgstr "Приватне повідомлення"
+
+#. line 68
+#: ../../../../inc/mod/pages.php:1851 ../../../../inc/mod/pages.php:1973
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:200
+#: ../../../../inc/mod/pages.php:1989 ../../../../inc/mod/pages.php:1990
+#: ../../../../inc/mod/pages.php:1994
+msgid "PM inbox"
+msgstr "Скринька вхідних приватних повідомлень"
+
+#: ../../../../inc/mod/pages.php:1963 ../../../../inc/mod/pages.php:1967
+#: ../../../../inc/mod/pages.php:2090 ../../../../inc/mod/pages.php:2094
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:309
+#: ../../../../templates/cache/ae/30/5b1888bb2e8ab6981af945fea88c1ecb021b0dfa8a068ee7adeb9dd3ee7d.php:115
+#: ../../../../inc/mod/pages.php:2106 ../../../../inc/mod/pages.php:2110
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:318
+#: ../../../../inc/mod/pages.php:2107 ../../../../inc/mod/pages.php:2111
+#: ../../../../inc/mod/pages.php:2115
+msgid "Rebuild"
+msgstr "Перебудувати"
+
+#: ../../../../inc/mod/pages.php:2043 ../../../../inc/mod/pages.php:2179
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:238
+#: ../../../../inc/mod/pages.php:2195 ../../../../inc/mod/pages.php:2196
+#: ../../../../inc/mod/pages.php:2200
+msgid "Report queue"
+msgstr "Черга скарг"
+
+#: ../../../../inc/mod/pages.php:2111 ../../../../inc/mod/pages.php:2210
+#: ../../../../inc/mod/pages.php:2256 ../../../../inc/mod/pages.php:2350
+#: ../../../../inc/mod/pages.php:2334 ../../../../inc/mod/pages.php:2428
+#: ../../../../inc/mod/pages.php:2328 ../../../../inc/mod/pages.php:2422
+#: ../../../../inc/mod/pages.php:2327 ../../../../inc/mod/pages.php:2421
+#: ../../../../inc/mod/pages.php:2332 ../../../../inc/mod/pages.php:2426
+msgid "Config editor"
+msgstr "Редактор конфігурації"
+
+#: ../../../../inc/mod/pages.php:2226 ../../../../inc/mod/pages.php:2367
+#: ../../../../inc/mod/pages.php:2445 ../../../../inc/mod/pages.php:2439
+#: ../../../../inc/mod/pages.php:2438 ../../../../inc/mod/pages.php:2443
+msgid "Themes directory doesn't exist!"
+msgstr "Каталог з темами не існує!"
+
+#: ../../../../inc/mod/pages.php:2228 ../../../../inc/mod/pages.php:2369
+#: ../../../../inc/mod/pages.php:2447 ../../../../inc/mod/pages.php:2441
+#: ../../../../inc/mod/pages.php:2440 ../../../../inc/mod/pages.php:2445
+msgid "Cannot open themes directory; check permissions."
+msgstr "Не вдалося відкрити каталог з темами, перевірте дозволи."
+
+#: ../../../../inc/mod/pages.php:2242 ../../../../inc/mod/pages.php:2388
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:291
+#: ../../../../inc/mod/pages.php:2466 ../../../../inc/mod/pages.php:2460
+#: ../../../../inc/mod/pages.php:2459 ../../../../inc/mod/pages.php:2464
+msgid "Manage themes"
+msgstr "Керування темами"
+
+#: ../../../../inc/mod/pages.php:2307 ../../../../inc/mod/pages.php:2453
+#: ../../../../inc/mod/pages.php:2531 ../../../../inc/mod/pages.php:2525
+#: ../../../../inc/mod/pages.php:2524 ../../../../inc/mod/pages.php:2529
+#, php-format
+msgid "Installed theme: %s"
+msgstr "Встановлена теми: %s"
+
+#: ../../../../inc/mod/pages.php:2318 ../../../../inc/mod/pages.php:2464
+#: ../../../../inc/mod/pages.php:2542 ../../../../inc/mod/pages.php:2536
+#: ../../../../inc/mod/pages.php:2535 ../../../../inc/mod/pages.php:2540
+#, php-format
+msgid "Configuring theme: %s"
+msgstr "Конфігурується тема: %s"
+
+#: ../../../../inc/mod/pages.php:2346 ../../../../inc/mod/pages.php:2493
+#: ../../../../inc/mod/pages.php:2571 ../../../../inc/mod/pages.php:2565
+#: ../../../../inc/mod/pages.php:2564 ../../../../inc/mod/pages.php:2569
+#, php-format
+msgid "Rebuilt theme: %s"
+msgstr "Перебудовано тему: %s"
+
+#: ../../../../inc/mod/pages.php:2385 ../../../../inc/mod/pages.php:2532
+#: ../../../../inc/mod/pages.php:2610 ../../../../inc/mod/pages.php:2604
+#: ../../../../inc/mod/pages.php:2603 ../../../../inc/mod/pages.php:2608
+msgid "Debug: Anti-spam"
+msgstr "Зневадження: Антиспам"
+
+#: ../../../../inc/mod/pages.php:2409 ../../../../inc/mod/pages.php:2566
+#: ../../../../inc/mod/pages.php:2644 ../../../../inc/mod/pages.php:2638
+#: ../../../../inc/mod/pages.php:2637 ../../../../inc/mod/pages.php:2642
+msgid "Debug: Recent posts"
+msgstr "Зневадження: Останні пости"
+
+#: ../../../../inc/mod/pages.php:2433 ../../../../inc/mod/pages.php:2590
+#: ../../../../inc/mod/pages.php:2668 ../../../../inc/mod/pages.php:2662
+#: ../../../../inc/mod/pages.php:2661 ../../../../inc/mod/pages.php:2666
+msgid "Debug: SQL"
+msgstr "Зневадження: SQL"
+
+#. Print error
+#: ../../../../inc/database.php:72 ../../../../inc/database.php:94
+msgid "Database error: "
+msgstr "Помилка бази даних:"
+
+#: ../../../../banned.php:4
+msgid "Banned?"
+msgstr "Заблоковано?"
+
+#: ../../../../banned.php:5
+msgid "You are not banned."
+msgstr "Вас не заблоковано."
+
+#. line 6
+#: ../../../../templates/cache/3c/80/0ebbee302f4fad8d0d7f13e62db5.php:41
+#: ../../../../templates/cache/e1/4c/f58701138b0d44bc13ada3e46deec60da83d42ff4f39720ccd6955b641f7.php:44
+msgid "Go back"
+msgstr "Повернутися"
+
+#. line 13
+#: ../../../../templates/cache/3c/80/0ebbee302f4fad8d0d7f13e62db5.php:56
+#: ../../../../templates/cache/e1/4c/f58701138b0d44bc13ada3e46deec60da83d42ff4f39720ccd6955b641f7.php:59
+msgid "Error information"
+msgstr "Інформація про помилку"
+
+#. line 2
+#. line 3
+#: ../../../../templates/cache/82/40/4c4a4b82f787181e6500ce83494d.php:22
+#: ../../../../templates/cache/17/2f/ea79f6d94768f645ed33b3f5c1a54caee235af04d24b88e34cc8c2d48583.php:25
+#: ../../../../templates/cache/17/2f/ea79f6d94768f645ed33b3f5c1a54caee235af04d24b88e34cc8c2d48583.php:27
+msgid "Delete Post"
+msgstr "Видалити допис"
+
+#. line 3
+#. line 84
+#. line 3
+#. line 84
+#. line 3
+#. line 84
+#. line 3
+#. line 84
+#. line 3
+#. line 84
+#. line 3
+#. line 84
+#. line 3
+#. line 84
+#. line 3
+#. line 84
+#. line 3
+#. line 84
+#. line 3
+#. line 84
+#. line 3
+#. line 97
+#. line 3
+#. line 97
+#. line 3
+#. line 97
+#. line 4
+#. line 97
+#. line 4
+#. line 97
+#. line 4
+#. line 97
+#. line 4
+#. line 97
+#. line 4
+#: ../../../../templates/cache/82/40/4c4a4b82f787181e6500ce83494d.php:26
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:250
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:253
+#: ../../../../templates/cache/17/2f/ea79f6d94768f645ed33b3f5c1a54caee235af04d24b88e34cc8c2d48583.php:29
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:290
+#: ../../../../templates/cache/17/2f/ea79f6d94768f645ed33b3f5c1a54caee235af04d24b88e34cc8c2d48583.php:31
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:301
+msgid "File"
+msgstr "Файл"
+
+#. line 132
+#. line 14
+#. line 132
+#. line 14
+#. line 131
+#. line 14
+#. line 131
+#. line 14
+#. line 131
+#. line 14
+#. line 131
+#. line 21
+#. line 14
+#. line 131
+#. line 14
+#. line 144
+#. line 14
+#. line 144
+#. line 21
+#. line 14
+#. line 144
+#. line 21
+#. line 14
+#. line 144
+#. line 21
+#. line 14
+#: ../../../../templates/cache/82/40/4c4a4b82f787181e6500ce83494d.php:28
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:364
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:367
+#: ../../../../templates/cache/17/2f/ea79f6d94768f645ed33b3f5c1a54caee235af04d24b88e34cc8c2d48583.php:31
+#: ../../../../templates/cache/00/31/a027d7b6d57819b6e43e58620f3f4c76194dd75db65fc888a5053ce62803.php:48
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:363
+#: ../../../../templates/cache/37/ea/10898251a344348e062662ce7a7b7f6c8dae001e2c860ce58ea35cedd935.php:69
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:400
+#: ../../../../templates/cache/17/2f/ea79f6d94768f645ed33b3f5c1a54caee235af04d24b88e34cc8c2d48583.php:33
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:411
+msgid "Password"
+msgstr "Пароль"
+
+#. line 8
+#. line 108
+#. line 32
+#. line 9
+#. line 23
+#. line 8
+#. line 108
+#. line 32
+#. line 8
+#. line 32
+#. line 23
+#. line 8
+#. line 108
+#. line 32
+#. line 9
+#. line 23
+#. line 8
+#. line 5
+#. line 8
+#. line 108
+#. line 32
+#. line 9
+#. line 23
+#. line 5
+#. line 8
+#. line 108
+#. line 32
+#. line 9
+#. line 23
+#. line 48
+#. line 5
+#. line 8
+#. line 108
+#. line 32
+#. line 9
+#. line 23
+#. line 48
+#. line 5
+#. line 8
+#. line 108
+#. line 32
+#. line 5
+#. line 8
+#. line 108
+#. line 32
+#. line 23
+#. line 5
+#. line 8
+#. line 108
+#. line 32
+#. line 23
+#. line 5
+#. line 10
+#. line 108
+#. line 32
+#. line 9
+#. line 23
+#. line 48
+#. line 5
+#. line 10
+#. line 108
+#. line 32
+#. line 9
+#. line 23
+#. line 48
+#. line 10
+#. line 5
+#. line 10
+#. line 108
+#. line 32
+#. line 23
+#. line 48
+#: ../../../../templates/cache/82/40/4c4a4b82f787181e6500ce83494d.php:39
+#: ../../../../templates/cache/17/2f/ea79f6d94768f645ed33b3f5c1a54caee235af04d24b88e34cc8c2d48583.php:42
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:285
+#: ../../../../templates/cache/88/92/8e730a689121629afa3d2c0f374e1f246baa76e7cf0f3ec680f51805eccd.php:99
+#: ../../../../templates/cache/ba/55/2553cc018aecf7d29a62331aec4bedc71b646817c7e4c4e7d1a885263676.php:43
+#: ../../../../templates/cache/03/13/62c259daae13f7b39b689162b7cd380b2673bee7e05b90f0d34b69a01190.php:77
+#: ../../../../templates/cache/3a/62/f804928dbcf285e3d5d8d7ae31b1e3a7c78264f270efa9650d31f69c7897.php:37
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:141
+#: ../../../../templates/cache/17/2f/ea79f6d94768f645ed33b3f5c1a54caee235af04d24b88e34cc8c2d48583.php:47
+msgid "Reason"
+msgstr "Причина"
+
+#. line 10
+#. line 12
+#: ../../../../templates/cache/82/40/4c4a4b82f787181e6500ce83494d.php:44
+#: ../../../../templates/cache/17/2f/ea79f6d94768f645ed33b3f5c1a54caee235af04d24b88e34cc8c2d48583.php:47
+#: ../../../../templates/cache/17/2f/ea79f6d94768f645ed33b3f5c1a54caee235af04d24b88e34cc8c2d48583.php:52
+msgid "Report"
+msgstr "Поскаржитися"
+
+#: ../../../../templates/cache/f5/e3/343716327c6183713f70a3fb57f1.php:149
+#: ../../../../templates/cache/aa/f6/f10fd83961bcd8c947af6ddf919d.php:134
+#: ../../../../templates/cache/62/8c/21348d46377c3e1b3f8c476ba376.php:65
+#: ../../../../templates/cache/b8/d9/05d4f2709538c393e80cdee33c24efe8d6fd13e68df2f5b3493356ef42e3.php:137
+#: ../../../../templates/cache/26/b3/eb11457d26f281883c21fad69f55f2c85f7cde1e4986db8692a12aaf72a5.php:153
+#: ../../../../templates/cache/e5/67/00152f100a684a6ff580e1afded8e907bdea04b4818d725ebfeb103d70d9.php:68
+#: ../../../../templates/cache/e5/67/00152f100a684a6ff580e1afded8e907bdea04b4818d725ebfeb103d70d9.php:71
+#: ../../../../templates/cache/b8/d9/05d4f2709538c393e80cdee33c24efe8d6fd13e68df2f5b3493356ef42e3.php:120
+#: ../../../../templates/cache/26/b3/eb11457d26f281883c21fad69f55f2c85f7cde1e4986db8692a12aaf72a5.php:138
+#: ../../../../templates/cache/26/b3/eb11457d26f281883c21fad69f55f2c85f7cde1e4986db8692a12aaf72a5.php:129
+msgid "Return to dashboard"
+msgstr "Повернутися до панелі керування"
+
+#. line 39
+#. line 33
+#: ../../../../templates/cache/aa/f6/f10fd83961bcd8c947af6ddf919d.php:143
+#: ../../../../templates/cache/b8/d9/05d4f2709538c393e80cdee33c24efe8d6fd13e68df2f5b3493356ef42e3.php:146
+#: ../../../../templates/cache/b8/d9/05d4f2709538c393e80cdee33c24efe8d6fd13e68df2f5b3493356ef42e3.php:134
+msgid "Posting mode: Reply"
+msgstr "Режим дописування: відповідь"
+
+#: ../../../../templates/cache/aa/f6/f10fd83961bcd8c947af6ddf919d.php:147
+#: ../../../../templates/cache/aa/f6/f10fd83961bcd8c947af6ddf919d.php:200
+#: ../../../../templates/cache/b8/d9/05d4f2709538c393e80cdee33c24efe8d6fd13e68df2f5b3493356ef42e3.php:150
+#: ../../../../templates/cache/b8/d9/05d4f2709538c393e80cdee33c24efe8d6fd13e68df2f5b3493356ef42e3.php:203
+#: ../../../../templates/cache/b8/d9/05d4f2709538c393e80cdee33c24efe8d6fd13e68df2f5b3493356ef42e3.php:138
+#: ../../../../templates/cache/b8/d9/05d4f2709538c393e80cdee33c24efe8d6fd13e68df2f5b3493356ef42e3.php:186
+msgid "Return"
+msgstr "Повернутися"
+
+#: ../../../../templates/cache/f3/ad/68dee281a64ebad9a5c774b53279.php:61
+#: ../../../../templates/cache/d2/14/70c07e4c5f648cfa0d0663a1f18973ff6f6946363b45332b2627a0fcf273.php:64
+msgid "(No news to show.)"
+msgstr "(немає новин)"
+
+#: ../../../../templates/cache/f3/ad/68dee281a64ebad9a5c774b53279.php:85
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:146
+#: ../../../../templates/cache/39/f9/8228f77b382baf1d61c1215dc0f0236e4cdf8cc5e938259785cf3e67d1ca.php:116
+#: ../../../../templates/cache/1a/7f/6eb467b2d978da59cfea2fe64f8898a5fb769be35fbb2ec50691da9a3d52.php:144
+#: ../../../../templates/cache/d2/14/70c07e4c5f648cfa0d0663a1f18973ff6f6946363b45332b2627a0fcf273.php:88
+msgid "no subject"
+msgstr "без заголовка"
+
+#. line 44
+#. line 56
+#. line 44
+#. line 56
+#. line 44
+#: ../../../../templates/cache/f3/ad/68dee281a64ebad9a5c774b53279.php:91
+#: ../../../../templates/cache/39/f9/8228f77b382baf1d61c1215dc0f0236e4cdf8cc5e938259785cf3e67d1ca.php:125
+#: ../../../../templates/cache/1a/7f/6eb467b2d978da59cfea2fe64f8898a5fb769be35fbb2ec50691da9a3d52.php:153
+#: ../../../../templates/cache/d2/14/70c07e4c5f648cfa0d0663a1f18973ff6f6946363b45332b2627a0fcf273.php:94
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:124
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:132
+msgid "by"
+msgstr "модератором/адміністратором"
+
+#. line 50
+#: ../../../../templates/cache/f3/ad/68dee281a64ebad9a5c774b53279.php:95
+#: ../../../../templates/cache/39/f9/8228f77b382baf1d61c1215dc0f0236e4cdf8cc5e938259785cf3e67d1ca.php:146
+#: ../../../../templates/cache/1a/7f/6eb467b2d978da59cfea2fe64f8898a5fb769be35fbb2ec50691da9a3d52.php:157
+#: ../../../../templates/cache/d2/14/70c07e4c5f648cfa0d0663a1f18973ff6f6946363b45332b2627a0fcf273.php:98
+msgid "at"
+msgstr "о"
+
+#. line 28
+#. line 26
+#: ../../../../templates/cache/4b/3e/915cc5ac5fe144c331207c656528.php:99
+#: ../../../../templates/cache/41/57/9143de5f74d921965e5ff24e0f1ce44a18317fd4937f5d8d65f56337acf3.php:102
+#: ../../../../templates/cache/41/57/9143de5f74d921965e5ff24e0f1ce44a18317fd4937f5d8d65f56337acf3.php:88
+msgid "1 reply"
+msgid_plural "%count% replies"
+msgstr[0] "%count% відповідь"
+msgstr[1] "%count% відповіді"
+msgstr[2] "%count% відповідей"
+
+#: ../../../../templates/cache/d8/f2/7780eb1adcdbda7e332659e3fb4f.php:102
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:105
+msgid "File:"
+msgstr "Файл:"
+
+#: ../../../../templates/cache/d8/f2/7780eb1adcdbda7e332659e3fb4f.php:115
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:127
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:165
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:206
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:118
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:130
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:168
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:209
+#: ../../../../templates/cache/9b/6a/0d0c5add399e8dfbd5c8c097ea68815306312248498dae4682282190e561.php:128
+#: ../../../../templates/cache/f4/a7/ad2833eb0c0460ae8ae508f0d0846fd7a06aafcf8ef126ae76721e92f42a.php:82
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:141
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:179
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:220
+msgid "Spoiler Image"
+msgstr "Спойлерне зображення"
+
+#: ../../../../templates/cache/d8/f2/7780eb1adcdbda7e332659e3fb4f.php:530
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:495
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:506
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:532
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:591
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:304
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:216
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:227
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:229
+msgid "Reply"
+msgstr "Відповісти"
+
+#: ../../../../templates/cache/d8/f2/7780eb1adcdbda7e332659e3fb4f.php:544
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:509
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:520
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:546
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:605
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:318
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:230
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:241
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:243
+msgid "View All"
+msgstr "Показати все"
+
+#: ../../../../templates/cache/d8/f2/7780eb1adcdbda7e332659e3fb4f.php:561
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:526
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:537
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:563
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:622
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:335
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:247
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:258
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:260
+msgid "Last 1 Post"
+msgid_plural "Last %count% Posts"
+msgstr[0] "Останній %count% допис"
+msgstr[1] "Останні %count% дописи"
+msgstr[2] "Останні %count% дописів"
+
+#: ../../../../templates/cache/d8/f2/7780eb1adcdbda7e332659e3fb4f.php:598
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:563
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:574
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:600
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:659
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:372
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:284
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:295
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:297
+msgid "1 post"
+msgid_plural "%count% posts"
+msgstr[0] "%count% допис"
+msgstr[1] "%count% дописи"
+msgstr[2] "%count% дописів"
+
+#: ../../../../templates/cache/d8/f2/7780eb1adcdbda7e332659e3fb4f.php:604
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:569
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:580
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:116
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:606
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:665
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:378
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:290
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:301
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:303
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:141
+msgid "and"
+msgstr "і"
+
+#: ../../../../templates/cache/d8/f2/7780eb1adcdbda7e332659e3fb4f.php:616
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:581
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:592
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:618
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:677
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:390
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:302
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:313
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:315
+msgid "1 image reply"
+msgid_plural "%count% image replies"
+msgstr[0] "%count% допис із зображеннями"
+msgstr[1] "%count% дописи із зображеннями"
+msgstr[2] "%count% дописів із зображеннями"
+
+#: ../../../../templates/cache/d8/f2/7780eb1adcdbda7e332659e3fb4f.php:621
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:586
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:597
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:623
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:682
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:395
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:307
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:318
+#: ../../../../templates/cache/b5/eb/fd7d06d38210e123d492fb7f2a1891578af746ef421003f1b55da157122f.php:320
+msgid "omitted. Click reply to view."
+msgstr "пропущено. Натисніть «Відповісти», щоб побачити."
+
+#. line 7
+#. line 14
+#. line 7
+#. line 14
+#. line 8
+#. line 14
+#. line 7
+#. line 8
+#. line 14
+#. line 8
+#. line 14
+#. line 8
+#. line 14
+#. line 7
+#. line 8
+#. line 7
+#. line 14
+#. line 8
+#. line 14
+#. line 7
+#. line 8
+#. line 14
+#. line 7
+#. line 8
+#. line 14
+#. line 7
+#. line 8
+#. line 14
+#: ../../../../templates/cache/39/42/cbc36382096edfa72a8bc26e4514.php:30
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:66
+#: ../../../../templates/cache/39/f9/8228f77b382baf1d61c1215dc0f0236e4cdf8cc5e938259785cf3e67d1ca.php:38
+#: ../../../../templates/cache/1a/7f/6eb467b2d978da59cfea2fe64f8898a5fb769be35fbb2ec50691da9a3d52.php:42
+#: ../../../../templates/cache/1a/7f/6eb467b2d978da59cfea2fe64f8898a5fb769be35fbb2ec50691da9a3d52.php:48
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:69
+#: ../../../../templates/cache/d1/2d/e4ea563232b42da227befa9cf03fef935e472b1268221e2399d8d6af1cd5.php:33
+#: ../../../../templates/cache/ae/30/5b1888bb2e8ab6981af945fea88c1ecb021b0dfa8a068ee7adeb9dd3ee7d.php:40
+msgid "Name"
+msgstr "Імʼя"
+
+#. line 15
+#. line 24
+#. line 15
+#. line 24
+#. line 15
+#. line 24
+#. line 15
+#. line 24
+#. line 15
+#. line 24
+#. line 15
+#. line 24
+#. line 15
+#. line 24
+#: ../../../../templates/cache/39/42/cbc36382096edfa72a8bc26e4514.php:44
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:88
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:91
+#: ../../../../templates/cache/d1/2d/e4ea563232b42da227befa9cf03fef935e472b1268221e2399d8d6af1cd5.php:47
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:97
+msgid "Email"
+msgstr "Ел. пошта"
+
+#. line 23
+#. line 46
+#. line 23
+#. line 46
+#. line 12
+#. line 24
+#. line 46
+#. line 23
+#. line 12
+#. line 46
+#. line 12
+#. line 46
+#. line 12
+#. line 46
+#. line 23
+#. line 12
+#. line 24
+#. line 46
+#. line 12
+#. line 46
+#. line 23
+#. line 12
+#. line 46
+#. line 23
+#. line 12
+#. line 46
+#. line 23
+#. line 12
+#. line 46
+#: ../../../../templates/cache/39/42/cbc36382096edfa72a8bc26e4514.php:58
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:147
+#: ../../../../templates/cache/39/f9/8228f77b382baf1d61c1215dc0f0236e4cdf8cc5e938259785cf3e67d1ca.php:48
+#: ../../../../templates/cache/1a/7f/6eb467b2d978da59cfea2fe64f8898a5fb769be35fbb2ec50691da9a3d52.php:76
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:150
+#: ../../../../templates/cache/d1/2d/e4ea563232b42da227befa9cf03fef935e472b1268221e2399d8d6af1cd5.php:61
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:161
+msgid "Subject"
+msgstr "Тема"
+
+#. line 27
+#: ../../../../templates/cache/39/42/cbc36382096edfa72a8bc26e4514.php:68
+#: ../../../../templates/cache/d1/2d/e4ea563232b42da227befa9cf03fef935e472b1268221e2399d8d6af1cd5.php:71
+msgid "Update"
+msgstr "Оновлення"
+
+#. line 32
+#. line 57
+#. line 32
+#. line 57
+#. line 32
+#. line 57
+#. line 32
+#. line 57
+#. line 32
+#. line 57
+#. line 32
+#. line 57
+#. line 32
+#. line 57
+#: ../../../../templates/cache/39/42/cbc36382096edfa72a8bc26e4514.php:76
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:178
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:181
+#: ../../../../templates/cache/d1/2d/e4ea563232b42da227befa9cf03fef935e472b1268221e2399d8d6af1cd5.php:79
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:192
+msgid "Comment"
+msgstr "Допис"
+
+#: ../../../../templates/cache/39/42/cbc36382096edfa72a8bc26e4514.php:97
+#: ../../../../templates/cache/d1/2d/e4ea563232b42da227befa9cf03fef935e472b1268221e2399d8d6af1cd5.php:100
+msgid "Currently editing raw HTML."
+msgstr "Зараз редагується сирий HTML"
+
+#: ../../../../templates/cache/39/42/cbc36382096edfa72a8bc26e4514.php:105
+#: ../../../../templates/cache/d1/2d/e4ea563232b42da227befa9cf03fef935e472b1268221e2399d8d6af1cd5.php:108
+msgid "Edit markup instead?"
+msgstr "Редагувати натомість розмітку?"
+
+#: ../../../../templates/cache/39/42/cbc36382096edfa72a8bc26e4514.php:115
+#: ../../../../templates/cache/d1/2d/e4ea563232b42da227befa9cf03fef935e472b1268221e2399d8d6af1cd5.php:118
+msgid "Edit raw HTML instead?"
+msgstr "Редагувати натомість сирий HTML?"
+
+#. line 73
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:226
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:229
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:240
+msgid "Verification"
+msgstr "Підтвердження"
+
+#. line 90
+#. line 103
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:262
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:265
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:302
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:313
+msgid "Or URL"
+msgstr "Або URL"
+
+#. line 100
+#. line 113
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:282
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:285
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:322
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:333
+msgid "Embed"
+msgstr "Вбудувати"
+
+#. line 112
+#. line 111
+#. line 124
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:306
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:309
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:305
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:342
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:353
+msgid "Flags"
+msgstr "Позначки"
+
+#. line 116
+#. line 117
+#. line 116
+#. line 117
+#. line 116
+#. line 117
+#. line 116
+#. line 117
+#. line 115
+#. line 116
+#. line 115
+#. line 116
+#. line 115
+#. line 116
+#. line 115
+#. line 116
+#. line 115
+#. line 116
+#. line 115
+#. line 116
+#. line 115
+#. line 116
+#. line 128
+#. line 129
+#. line 128
+#. line 129
+#. line 128
+#. line 129
+#. line 128
+#. line 129
+#. line 128
+#. line 129
+#. line 128
+#. line 129
+#. line 128
+#. line 129
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:316
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:320
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:319
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:323
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:315
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:352
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:356
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:363
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:367
+msgid "Sticky"
+msgstr "Прикріплений"
+
+#. line 120
+#. line 121
+#. line 120
+#. line 121
+#. line 120
+#. line 121
+#. line 120
+#. line 121
+#. line 119
+#. line 120
+#. line 119
+#. line 120
+#. line 119
+#. line 120
+#. line 119
+#. line 120
+#. line 119
+#. line 120
+#. line 119
+#. line 120
+#. line 119
+#. line 120
+#. line 132
+#. line 133
+#. line 132
+#. line 133
+#. line 132
+#. line 133
+#. line 132
+#. line 133
+#. line 132
+#. line 133
+#. line 132
+#. line 133
+#. line 132
+#. line 133
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:330
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:334
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:333
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:337
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:329
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:366
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:370
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:377
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:381
+msgid "Lock"
+msgstr "Закритий"
+
+#. line 124
+#. line 125
+#. line 124
+#. line 125
+#. line 124
+#. line 125
+#. line 124
+#. line 125
+#. line 123
+#. line 124
+#. line 123
+#. line 124
+#. line 123
+#. line 124
+#. line 123
+#. line 124
+#. line 123
+#. line 124
+#. line 123
+#. line 124
+#. line 123
+#. line 124
+#. line 136
+#. line 137
+#. line 136
+#. line 137
+#. line 136
+#. line 137
+#. line 136
+#. line 137
+#. line 136
+#. line 137
+#. line 136
+#. line 137
+#. line 136
+#. line 137
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:344
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:348
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:347
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:351
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:343
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:380
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:384
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:391
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:395
+msgid "Raw HTML"
+msgstr "Сирий HTML"
+
+#. line 137
+#. line 136
+#. line 141
+#. line 154
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:374
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:377
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:373
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:378
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:415
+#: ../../../../templates/cache/cf/63/151e140d85df674832f4ede3f3e7811b97d4efa91cac6086ca7e8ce65d25.php:426
+msgid "(For file deletion.)"
+msgstr "(для видалення файла)"
+
+#: ../../../../search.php:5
+msgid "Post search is disabled"
+msgstr "Пошук дописів вимкнено"
+
+#: ../../../../search.php:25 ../../../../search.php:31
+#: ../../../../search.php:29 ../../../../search.php:35
+msgid "Wait a while before searching again, please."
+msgstr "Будь ласка, зачекайте трохи, перш ніж знову шукати."
+
+#: ../../../../search.php:131 ../../../../search.php:135
+msgid "Query too broad."
+msgstr "Запит надто загальний."
+
+#: ../../../../search.php:152 ../../../../search.php:156
+#, php-format
+msgid "%d result in"
+msgid_plural "%d results in"
+msgstr[0] "%d результат у"
+msgstr[1] "%d результати у"
+msgstr[2] "%d результатів у"
+
+#: ../../../../search.php:163 ../../../../search.php:167
+msgid "No results."
+msgstr "Нема результатів."
+
+#. line 115
+#. line 16
+#. line 115
+#. line 16
+#. line 115
+#. line 16
+#. line 115
+#. line 16
+#. line 2
+#. line 13
+#. line 115
+#. line 16
+#. line 2
+#. line 13
+#. line 115
+#. line 16
+#. line 2
+#. line 13
+#. line 115
+#. line 16
+#. line 2
+#. line 13
+#. line 2
+#. line 115
+#. line 16
+#. line 2
+#. line 13
+#. line 2
+#. line 115
+#. line 16
+#. line 2
+#. line 13
+#. line 115
+#. line 16
+#. line 115
+#. line 16
+#. line 2
+#. line 13
+#. line 118
+#. line 16
+#. line 2
+#. line 13
+#. line 2
+#. line 118
+#. line 16
+#. line 2
+#. line 13
+#. line 2
+#. line 13
+#. line 118
+#. line 16
+#. line 22
+#. line 2
+#. line 13
+#. line 2
+#: ../../../../search.php:168
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:334
+#: ../../../../templates/cache/73/f8/5e3142a8a6f8d7e40422ff577e83b0dedf55a7cb9bc7082839b24f653545.php:83
+#: ../../../../templates/cache/cb/8b/63013711213735996df92becb7bd43d753c51314cfe5433c562706333eb0.php:25
+#: ../../../../templates/cache/cb/8b/63013711213735996df92becb7bd43d753c51314cfe5433c562706333eb0.php:66
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:25
+#: ../../../../search.php:172
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:343
+#: ../../../../templates/cache/ba/55/2553cc018aecf7d29a62331aec4bedc71b646817c7e4c4e7d1a885263676.php:61
+msgid "Search"
+msgstr "Пошук"
+
+#: ../../../../inc/mod/pages.php:939 ../../../../inc/mod/pages.php:936
+#: ../../../../inc/mod/pages.php:941
+msgid "Ban appeal not found!"
+msgstr "Оскарження блокування не знайдено!"
+
+#: ../../../../inc/mod/pages.php:989
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:265
+#: ../../../../inc/mod/pages.php:994 ../../../../inc/mod/pages.php:995
+#: ../../../../inc/mod/pages.php:992 ../../../../inc/mod/pages.php:997
+msgid "Ban appeals"
+msgstr "Оскарження блокувань"
+
+#: ../../../../inc/mod/pages.php:1833 ../../../../inc/mod/pages.php:1849
+#: ../../../../inc/mod/pages.php:1850 ../../../../inc/mod/pages.php:1854
+msgid "New user"
+msgstr "Новий користувач"
+
+#: ../../../../inc/mod/pages.php:1888 ../../../../inc/mod/pages.php:1904
+#: ../../../../inc/mod/pages.php:1905 ../../../../inc/mod/pages.php:1909
+msgid "Impossible to promote/demote user."
+msgstr "Неможливо підвищити/понизити користувача."
+
+#: ../../../../inc/mod/pages.php:2612 ../../../../inc/mod/pages.php:2690
+#: ../../../../inc/mod/pages.php:2684 ../../../../inc/mod/pages.php:2683
+#: ../../../../inc/mod/pages.php:2688
+msgid "Debug: APC"
+msgstr "Зневадження: APC"
+
+#: ../../../../inc/config.php:1026 ../../../../inc/config.php:1017
+#: ../../../../inc/config.php:1019 ../../../../inc/config.php:1021
+#: ../../../../inc/config.php:1037 ../../../../inc/config.php:1046
+#: ../../../../inc/config.php:1077 ../../../../inc/config.php:1081
+#: ../../../../inc/config.php:1084
+msgid ""
+"Your code contained PHP syntax errors. Please go back and correct them. PHP "
+"says: "
+msgstr ""
+"Ваш код містить синтаксичні помилки PHP. Будь ласка, поверніться і виправте "
+"їх. Повідомлення PHP:"
+
+#. line 2
+#. line 6
+#. line 2
+#. line 6
+#. line 2
+#. line 46
+#. line 6
+#. line 2
+#. line 46
+#. line 6
+#. line 2
+#. line 46
+#. line 6
+#. line 2
+#. line 46
+#. line 6
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:25
+#: ../../../../templates/cache/fc/8d/2b5f6c25d93a9966c429a79ee7ebdd921957079dab214aebbc665d67b9f4.php:38
+#: ../../../../templates/cache/37/ea/10898251a344348e062662ce7a7b7f6c8dae001e2c860ce58ea35cedd935.php:139
+msgid "Boards"
+msgstr "Дошки"
+
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:79
+#: ../../../../templates/cache/fc/8d/2b5f6c25d93a9966c429a79ee7ebdd921957079dab214aebbc665d67b9f4.php:215
+msgid "edit"
+msgstr "редагування"
+
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:97
+msgid "Create new board"
+msgstr "Створити нову дошку"
+
+#. line 32
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:108
+msgid "Messages"
+msgstr "Повідомлення"
+
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:188
+msgid "View all noticeboard entries"
+msgstr "Переглянути всі записи дошки оголошень"
+
+#. line 76
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:222
+msgid "Administration"
+msgstr "Адміністрування"
+
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:282
+msgid "Change password"
+msgstr "Змінити пароль"
+
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:318
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:327
+msgid "Configuration"
+msgstr "Конфігурування"
+
+#. line 127
+#. line 130
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:357
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:366
+msgid "Other"
+msgstr "Інше"
+
+#. line 139
+#. line 142
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:391
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:400
+msgid "Debug"
+msgstr "Зневадження"
+
+#. line 141
+#. line 144
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:396
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:405
+msgid "Anti-spam"
+msgstr "Антиспам"
+
+#. line 142
+#. line 145
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:400
+#: ../../../../inc/mod/pages.php:2288
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:309
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:409
+#: ../../../../inc/mod/pages.php:2283 ../../../../inc/mod/pages.php:2282
+#: ../../../../inc/mod/pages.php:2287
+msgid "Recent posts"
+msgstr "Останні дописи"
+
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:407
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:416
+msgid "SQL"
+msgstr "SQL"
+
+#. line 164
+#. line 167
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:446
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:455
+msgid "User account"
+msgstr "Обліковий запис користувача"
+
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:454
+#: ../../../../templates/cache/72/7e/271125664718133518fd942f20fb724224e100f8a0d47cb0b52f895ac12f.php:463
+msgid "Logout"
+msgstr "Вийти"
+
+#. line 3
+#: ../../../../templates/cache/39/f9/8228f77b382baf1d61c1215dc0f0236e4cdf8cc5e938259785cf3e67d1ca.php:27
+#: ../../../../templates/cache/1a/7f/6eb467b2d978da59cfea2fe64f8898a5fb769be35fbb2ec50691da9a3d52.php:27
+msgid "New post"
+msgstr "Новий допис"
+
+#. line 16
+#. line 28
+#. line 16
+#. line 28
+#. line 16
+#: ../../../../templates/cache/39/f9/8228f77b382baf1d61c1215dc0f0236e4cdf8cc5e938259785cf3e67d1ca.php:55
+#: ../../../../templates/cache/1a/7f/6eb467b2d978da59cfea2fe64f8898a5fb769be35fbb2ec50691da9a3d52.php:83
+msgid "Body"
+msgstr "Вміст"
+
+#. line 21
+#: ../../../../templates/cache/39/f9/8228f77b382baf1d61c1215dc0f0236e4cdf8cc5e938259785cf3e67d1ca.php:63
+msgid "Post to noticeboard"
+msgstr "Дописати на дошці оголошень"
+
+#: ../../../../templates/cache/39/f9/8228f77b382baf1d61c1215dc0f0236e4cdf8cc5e938259785cf3e67d1ca.php:90
+#: ../../../../templates/cache/1a/7f/6eb467b2d978da59cfea2fe64f8898a5fb769be35fbb2ec50691da9a3d52.php:118
+msgid "delete"
+msgstr "видалити"
+
+#: ../../../../templates/cache/39/f9/8228f77b382baf1d61c1215dc0f0236e4cdf8cc5e938259785cf3e67d1ca.php:138
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:123
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:405
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:504
+#: ../../../../templates/cache/ba/55/2553cc018aecf7d29a62331aec4bedc71b646817c7e4c4e7d1a885263676.php:251
+#: ../../../../templates/cache/03/13/62c259daae13f7b39b689162b7cd380b2673bee7e05b90f0d34b69a01190.php:197
+#: ../../../../templates/cache/f8/05/d647b76d6ba28842b313895b0d435295026f1912dc49639bd64e3b42eba3.php:70
+#: ../../../../templates/cache/f9/e9/d592e3c89e2f76520cf989aa8359d3d143d8fa4996ff1d97b3be51f87a05.php:42
+#: ../../../../templates/cache/f9/e9/d592e3c89e2f76520cf989aa8359d3d143d8fa4996ff1d97b3be51f87a05.php:67
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:99
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:345
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:415
+msgid "deleted?"
+msgstr "видалено?"
+
+#. line 33
+#: ../../../../templates/cache/1a/7f/6eb467b2d978da59cfea2fe64f8898a5fb769be35fbb2ec50691da9a3d52.php:91
+msgid "Post news entry"
+msgstr "Розмістити новину"
+
+#. line 24
+#. line 63
+#. line 152
+#. line 182
+#. line 15
+#. line 67
+#. line 24
+#. line 63
+#. line 152
+#. line 182
+#. line 67
+#. line 24
+#. line 63
+#. line 152
+#. line 182
+#. line 15
+#. line 3
+#. line 67
+#. line 24
+#. line 63
+#. line 152
+#. line 182
+#. line 15
+#. line 67
+#. line 24
+#. line 63
+#. line 152
+#. line 182
+#. line 15
+#. line 3
+#. line 67
+#. line 17
+#. line 54
+#. line 133
+#. line 24
+#. line 63
+#. line 152
+#. line 182
+#. line 15
+#. line 3
+#. line 67
+#. line 17
+#. line 54
+#. line 133
+#. line 24
+#. line 63
+#. line 152
+#. line 182
+#. line 24
+#. line 63
+#. line 152
+#. line 182
+#. line 67
+#. line 24
+#. line 63
+#. line 152
+#. line 182
+#. line 67
+#. line 24
+#. line 63
+#. line 152
+#. line 182
+#. line 15
+#. line 3
+#. line 67
+#. line 17
+#. line 54
+#. line 133
+#. line 24
+#. line 63
+#. line 152
+#. line 182
+#. line 15
+#. line 3
+#. line 67
+#. line 17
+#. line 54
+#. line 133
+#. line 24
+#. line 63
+#. line 152
+#. line 182
+#. line 3
+#. line 67
+#. line 17
+#. line 54
+#. line 133
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:81
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:186
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:391
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:464
+#: ../../../../templates/cache/ba/55/2553cc018aecf7d29a62331aec4bedc71b646817c7e4c4e7d1a885263676.php:67
+#: ../../../../templates/cache/03/13/62c259daae13f7b39b689162b7cd380b2673bee7e05b90f0d34b69a01190.php:183
+#: ../../../../templates/cache/f8/05/d647b76d6ba28842b313895b0d435295026f1912dc49639bd64e3b42eba3.php:26
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:59
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:165
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:371
+msgid "Staff"
+msgstr "Модератор"
+
+#. line 25
+#. line 68
+#. line 25
+#. line 68
+#. line 25
+#. line 68
+#. line 25
+#. line 68
+#. line 25
+#. line 68
+#. line 18
+#. line 25
+#. line 68
+#. line 18
+#. line 25
+#. line 68
+#. line 25
+#. line 68
+#. line 25
+#. line 68
+#. line 25
+#. line 68
+#. line 18
+#. line 25
+#. line 68
+#. line 18
+#. line 25
+#. line 68
+#. line 18
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:85
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:197
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:63
+msgid "Note"
+msgstr "Примітка"
+
+#. line 26
+#. line 22
+#. line 26
+#. line 19
+#. line 26
+#. line 19
+#. line 26
+#. line 22
+#. line 26
+#. line 19
+#. line 22
+#. line 26
+#. line 19
+#. line 26
+#. line 19
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:89
+#: ../../../../templates/cache/f9/e9/d592e3c89e2f76520cf989aa8359d3d143d8fa4996ff1d97b3be51f87a05.php:79
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:67
+msgid "Date"
+msgstr "Дата"
+
+#. line 25
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:96
+#: ../../../../templates/cache/ae/30/5b1888bb2e8ab6981af945fea88c1ecb021b0dfa8a068ee7adeb9dd3ee7d.php:88
+msgid "Actions"
+msgstr "Дії"
+
+#. line 49
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:154
+msgid "remove"
+msgstr "прибрати"
+
+#. line 76
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:208
+msgid "New note"
+msgstr "Нова примітка"
+
+#. line 94
+#. line 7
+#. line 94
+#. line 7
+#. line 94
+#. line 7
+#. line 94
+#. line 7
+#. line 94
+#. line 7
+#. line 94
+#. line 7
+#. line 94
+#. line 7
+#. line 94
+#. line 7
+#. line 94
+#. line 7
+#. line 94
+#. line 7
+#. line 94
+#. line 7
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:251
+#: ../../../../templates/cache/03/13/62c259daae13f7b39b689162b7cd380b2673bee7e05b90f0d34b69a01190.php:36
+msgid "Status"
+msgstr "Статус"
+
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:259
+#: ../../../../templates/cache/03/13/62c259daae13f7b39b689162b7cd380b2673bee7e05b90f0d34b69a01190.php:44
+msgid "Expired"
+msgstr "Спливає"
+
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:265
+#: ../../../../templates/cache/03/13/62c259daae13f7b39b689162b7cd380b2673bee7e05b90f0d34b69a01190.php:50
+msgid "Active"
+msgstr "Активний"
+
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:299
+#: ../../../../templates/cache/03/13/62c259daae13f7b39b689162b7cd380b2673bee7e05b90f0d34b69a01190.php:91
+msgid "no reason"
+msgstr "без причини"
+
+#. line 118
+#. line 184
+#. line 65
+#. line 10
+#. line 33
+#. line 118
+#. line 184
+#. line 65
+#. line 33
+#. line 118
+#. line 184
+#. line 65
+#. line 10
+#. line 6
+#. line 33
+#. line 3
+#. line 118
+#. line 184
+#. line 65
+#. line 10
+#. line 33
+#. line 3
+#. line 118
+#. line 184
+#. line 65
+#. line 10
+#. line 6
+#. line 33
+#. line 49
+#. line 136
+#. line 3
+#. line 95
+#. line 118
+#. line 184
+#. line 65
+#. line 10
+#. line 6
+#. line 33
+#. line 49
+#. line 136
+#. line 3
+#. line 118
+#. line 184
+#. line 65
+#. line 3
+#. line 118
+#. line 184
+#. line 65
+#. line 33
+#. line 3
+#. line 118
+#. line 184
+#. line 65
+#. line 33
+#. line 3
+#. line 95
+#. line 118
+#. line 184
+#. line 65
+#. line 10
+#. line 6
+#. line 33
+#. line 49
+#. line 136
+#. line 3
+#. line 95
+#. line 118
+#. line 184
+#. line 65
+#. line 10
+#. line 6
+#. line 33
+#. line 49
+#. line 136
+#. line 3
+#. line 95
+#. line 118
+#. line 184
+#. line 65
+#. line 6
+#. line 33
+#. line 49
+#. line 136
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:309
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:472
+#: ../../../../templates/cache/88/92/8e730a689121629afa3d2c0f374e1f246baa76e7cf0f3ec680f51805eccd.php:160
+#: ../../../../templates/cache/ba/55/2553cc018aecf7d29a62331aec4bedc71b646817c7e4c4e7d1a885263676.php:47
+#: ../../../../templates/cache/03/13/62c259daae13f7b39b689162b7cd380b2673bee7e05b90f0d34b69a01190.php:101
+#: ../../../../templates/cache/f8/05/d647b76d6ba28842b313895b0d435295026f1912dc49639bd64e3b42eba3.php:38
+#: ../../../../templates/cache/3a/62/f804928dbcf285e3d5d8d7ae31b1e3a7c78264f270efa9650d31f69c7897.php:26
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:145
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:383
+#: ../../../../templates/cache/37/ea/10898251a344348e062662ce7a7b7f6c8dae001e2c860ce58ea35cedd935.php:263
+msgid "Board"
+msgstr "Дошка"
+
+#. line 71
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:323
+#: ../../../../templates/cache/88/92/8e730a689121629afa3d2c0f374e1f246baa76e7cf0f3ec680f51805eccd.php:169
+#: ../../../../templates/cache/ba/55/2553cc018aecf7d29a62331aec4bedc71b646817c7e4c4e7d1a885263676.php:133
+#: ../../../../templates/cache/03/13/62c259daae13f7b39b689162b7cd380b2673bee7e05b90f0d34b69a01190.php:115
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:73
+#: ../../../../templates/cache/fc/8d/2b5f6c25d93a9966c429a79ee7ebdd921957079dab214aebbc665d67b9f4.php:100
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:227
+msgid "all boards"
+msgstr "всі дошки"
+
+#. line 128
+#. line 11
+#. line 43
+#. line 128
+#. line 43
+#. line 128
+#. line 11
+#. line 43
+#. line 128
+#. line 11
+#. line 43
+#. line 128
+#. line 11
+#. line 43
+#. line 50
+#. line 128
+#. line 11
+#. line 43
+#. line 50
+#. line 128
+#. line 43
+#. line 128
+#. line 43
+#. line 128
+#. line 11
+#. line 43
+#. line 50
+#. line 128
+#. line 11
+#. line 43
+#. line 50
+#. line 128
+#. line 43
+#. line 50
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:333
+#: ../../../../templates/cache/ba/55/2553cc018aecf7d29a62331aec4bedc71b646817c7e4c4e7d1a885263676.php:51
+#: ../../../../templates/cache/03/13/62c259daae13f7b39b689162b7cd380b2673bee7e05b90f0d34b69a01190.php:125
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:149
+msgid "Set"
+msgstr "Встановити"
+
+#. line 132
+#. line 13
+#. line 47
+#. line 132
+#. line 47
+#. line 132
+#. line 13
+#. line 47
+#. line 132
+#. line 13
+#. line 47
+#. line 132
+#. line 13
+#. line 47
+#. line 52
+#. line 132
+#. line 13
+#. line 47
+#. line 52
+#. line 132
+#. line 47
+#. line 132
+#. line 47
+#. line 132
+#. line 13
+#. line 47
+#. line 52
+#. line 132
+#. line 13
+#. line 47
+#. line 52
+#. line 132
+#. line 47
+#. line 52
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:343
+#: ../../../../templates/cache/ba/55/2553cc018aecf7d29a62331aec4bedc71b646817c7e4c4e7d1a885263676.php:59
+#: ../../../../templates/cache/03/13/62c259daae13f7b39b689162b7cd380b2673bee7e05b90f0d34b69a01190.php:135
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:157
+msgid "Expires"
+msgstr "Спливає"
+
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:357
+#: ../../../../templates/cache/ba/55/2553cc018aecf7d29a62331aec4bedc71b646817c7e4c4e7d1a885263676.php:173
+#: ../../../../templates/cache/03/13/62c259daae13f7b39b689162b7cd380b2673bee7e05b90f0d34b69a01190.php:149
+#: ../../../../templates/cache/fc/8d/2b5f6c25d93a9966c429a79ee7ebdd921957079dab214aebbc665d67b9f4.php:155
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:267
+msgid "never"
+msgstr "ніколи"
+
+#. line 142
+#. line 14
+#. line 57
+#. line 142
+#. line 57
+#. line 142
+#. line 14
+#. line 57
+#. line 142
+#. line 14
+#. line 57
+#. line 142
+#. line 14
+#. line 57
+#. line 53
+#. line 142
+#. line 14
+#. line 57
+#. line 53
+#. line 142
+#. line 57
+#. line 142
+#. line 57
+#. line 142
+#. line 14
+#. line 57
+#. line 53
+#. line 142
+#. line 14
+#. line 57
+#. line 53
+#. line 142
+#. line 57
+#. line 53
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:367
+#: ../../../../templates/cache/ba/55/2553cc018aecf7d29a62331aec4bedc71b646817c7e4c4e7d1a885263676.php:63
+#: ../../../../templates/cache/03/13/62c259daae13f7b39b689162b7cd380b2673bee7e05b90f0d34b69a01190.php:159
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:161
+msgid "Seen"
+msgstr "Побачено"
+
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:375
+#: ../../../../templates/cache/ba/55/2553cc018aecf7d29a62331aec4bedc71b646817c7e4c4e7d1a885263676.php:201
+#: ../../../../templates/cache/03/13/62c259daae13f7b39b689162b7cd380b2673bee7e05b90f0d34b69a01190.php:167
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:295
+msgid "Yes"
+msgstr "Так"
+
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:381
+#: ../../../../templates/cache/ba/55/2553cc018aecf7d29a62331aec4bedc71b646817c7e4c4e7d1a885263676.php:207
+#: ../../../../templates/cache/03/13/62c259daae13f7b39b689162b7cd380b2673bee7e05b90f0d34b69a01190.php:173
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:301
+msgid "No"
+msgstr "Ні"
+
+#. line 163
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:419
+msgid "Remove ban"
+msgstr "Прибрати блокування"
+
+#. line 183
+#. line 5
+#. line 183
+#. line 5
+#. line 135
+#. line 94
+#. line 183
+#. line 5
+#. line 135
+#. line 183
+#. line 94
+#. line 183
+#. line 5
+#. line 135
+#. line 94
+#. line 183
+#. line 5
+#. line 135
+#. line 94
+#. line 183
+#. line 5
+#. line 135
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:468
+#: ../../../../templates/cache/f8/05/d647b76d6ba28842b313895b0d435295026f1912dc49639bd64e3b42eba3.php:34
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:379
+#: ../../../../templates/cache/37/ea/10898251a344348e062662ce7a7b7f6c8dae001e2c860ce58ea35cedd935.php:259
+msgid "Time"
+msgstr "Час"
+
+#. line 185
+#. line 89
+#. line 185
+#. line 89
+#. line 185
+#. line 7
+#. line 89
+#. line 185
+#. line 89
+#. line 185
+#. line 7
+#. line 89
+#. line 137
+#. line 96
+#. line 185
+#. line 7
+#. line 89
+#. line 137
+#. line 185
+#. line 89
+#. line 185
+#. line 89
+#. line 96
+#. line 185
+#. line 7
+#. line 89
+#. line 137
+#. line 96
+#. line 185
+#. line 7
+#. line 89
+#. line 137
+#. line 96
+#. line 185
+#. line 7
+#. line 89
+#. line 137
+#: ../../../../templates/cache/b1/4c/16a427b0d49ecf353c259d9fb606841783484eca9d790e766fdf0e3e9754.php:476
+#: ../../../../templates/cache/03/13/62c259daae13f7b39b689162b7cd380b2673bee7e05b90f0d34b69a01190.php:234
+#: ../../../../templates/cache/f8/05/d647b76d6ba28842b313895b0d435295026f1912dc49639bd64e3b42eba3.php:42
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:387
+#: ../../../../templates/cache/37/ea/10898251a344348e062662ce7a7b7f6c8dae001e2c860ce58ea35cedd935.php:267
+msgid "Action"
+msgstr "Дія"
+
+#: ../../../../templates/cache/88/92/8e730a689121629afa3d2c0f374e1f246baa76e7cf0f3ec680f51805eccd.php:73
+msgid "(or subnet)"
+msgstr "(або підмережа)"
+
+#: ../../../../templates/cache/88/92/8e730a689121629afa3d2c0f374e1f246baa76e7cf0f3ec680f51805eccd.php:88
+msgid "hidden"
+msgstr "прихований"
+
+#. line 41
+#. line 27
+#. line 41
+#. line 27
+#. line 41
+#. line 27
+#. line 41
+#: ../../../../templates/cache/88/92/8e730a689121629afa3d2c0f374e1f246baa76e7cf0f3ec680f51805eccd.php:117
+#: ../../../../templates/cache/f9/e9/d592e3c89e2f76520cf989aa8359d3d143d8fa4996ff1d97b3be51f87a05.php:92
+msgid "Message"
+msgstr "Повідомлення"
+
+#. line 46
+#: ../../../../templates/cache/88/92/8e730a689121629afa3d2c0f374e1f246baa76e7cf0f3ec680f51805eccd.php:133
+msgid "public; attached to post"
+msgstr ""
+
+#. line 58
+#: ../../../../templates/cache/88/92/8e730a689121629afa3d2c0f374e1f246baa76e7cf0f3ec680f51805eccd.php:150
+msgid "Length"
+msgstr "Довжина"
+
+#. line 88
+#: ../../../../templates/cache/88/92/8e730a689121629afa3d2c0f374e1f246baa76e7cf0f3ec680f51805eccd.php:212
+msgid "New Ban"
+msgstr "Нове блокування"
+
+#. line 2
+#. line 5
+#. line 2
+#. line 5
+#. line 2
+#. line 5
+#. line 2
+#. line 5
+#. line 2
+#. line 5
+#. line 2
+#. line 5
+#. line 2
+#. line 5
+#. line 2
+#. line 5
+#. line 2
+#. line 5
+#. line 2
+#. line 5
+#: ../../../../templates/cache/73/f8/5e3142a8a6f8d7e40422ff577e83b0dedf55a7cb9bc7082839b24f653545.php:25
+#: ../../../../templates/cache/cb/8b/63013711213735996df92becb7bd43d753c51314cfe5433c562706333eb0.php:31
+msgid "Phrase:"
+msgstr "Фраза:"
+
+#: ../../../../templates/cache/73/f8/5e3142a8a6f8d7e40422ff577e83b0dedf55a7cb9bc7082839b24f653545.php:38
+msgid "Posts"
+msgstr "Дописи"
+
+#: ../../../../templates/cache/73/f8/5e3142a8a6f8d7e40422ff577e83b0dedf55a7cb9bc7082839b24f653545.php:49
+msgid "IP address notes"
+msgstr "Примітки до IP адреси"
+
+#: ../../../../templates/cache/73/f8/5e3142a8a6f8d7e40422ff577e83b0dedf55a7cb9bc7082839b24f653545.php:62
+msgid "Bans"
+msgstr "Блокування"
+
+#. line 18
+#: ../../../../templates/cache/73/f8/5e3142a8a6f8d7e40422ff577e83b0dedf55a7cb9bc7082839b24f653545.php:88
+msgid ""
+"(Search is case-insensitive and based on keywords. To match exact phrases, "
+"use \"quotes\". Use an asterisk (*) for wildcard.)"
+msgstr ""
+"(Пошук ведеться за ключовими словами і є нечутливим до регістру. Щоб знайти "
+"конкретні фрази, використовуйте \"лапки\". Для масок використовуйте зірочку "
+"(*)."
+
+#: ../../../../templates/cache/ba/55/2553cc018aecf7d29a62331aec4bedc71b646817c7e4c4e7d1a885263676.php:25
+msgid "There are no active bans."
+msgstr "Немає чинних блокувань."
+
+#. line 8
+#. line 47
+#. line 8
+#. line 47
+#. line 8
+#. line 47
+#. line 8
+#. line 47
+#: ../../../../templates/cache/ba/55/2553cc018aecf7d29a62331aec4bedc71b646817c7e4c4e7d1a885263676.php:39
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:137
+msgid "IP address/mask"
+msgstr "IP адреса/маска"
+
+#. line 12
+#. line 51
+#. line 12
+#. line 51
+#. line 12
+#. line 51
+#. line 12
+#. line 51
+#: ../../../../templates/cache/ba/55/2553cc018aecf7d29a62331aec4bedc71b646817c7e4c4e7d1a885263676.php:55
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:153
+msgid "Duration"
+msgstr "Термін"
+
+#. line 92
+#: ../../../../templates/cache/ba/55/2553cc018aecf7d29a62331aec4bedc71b646817c7e4c4e7d1a885263676.php:269
+#: ../../../../templates/cache/ba/55/2553cc018aecf7d29a62331aec4bedc71b646817c7e4c4e7d1a885263676.php:68
+msgid "Unban selected"
+msgstr "Розблокувати вибраних"
+
+#. line 6
+#. line 4
+#. line 6
+#. line 4
+#. line 11
+#. line 6
+#. line 4
+#. line 6
+#. line 11
+#. line 6
+#. line 4
+#. line 11
+#. line 6
+#. line 4
+#. line 11
+#. line 6
+#. line 4
+#: ../../../../templates/cache/00/31/a027d7b6d57819b6e43e58620f3f4c76194dd75db65fc888a5053ce62803.php:34
+#: ../../../../templates/cache/fc/8d/2b5f6c25d93a9966c429a79ee7ebdd921957079dab214aebbc665d67b9f4.php:30
+#: ../../../../templates/cache/37/ea/10898251a344348e062662ce7a7b7f6c8dae001e2c860ce58ea35cedd935.php:45
+msgid "Username"
+msgstr "Імʼя користувача"
+
+#. line 23
+#: ../../../../templates/cache/00/31/a027d7b6d57819b6e43e58620f3f4c76194dd75db65fc888a5053ce62803.php:60
+msgid "Continue"
+msgstr "Продовжити"
+
+#. line 80
+#: ../../../../templates/cache/03/13/62c259daae13f7b39b689162b7cd380b2673bee7e05b90f0d34b69a01190.php:210
+msgid "Appeal time"
+msgstr "Час для оскарження"
+
+#. line 84
+#: ../../../../templates/cache/03/13/62c259daae13f7b39b689162b7cd380b2673bee7e05b90f0d34b69a01190.php:220
+msgid "Appeal reason"
+msgstr "Причина оскарження"
+
+#: ../../../../templates/cache/7d/63/b6fd83bf4ed7f6031a2b3373b997d2d40617bf98899fe672a0aae48520c5.php:31
+msgid "There are no reports."
+msgstr "Немає скарг."
+
+#: ../../../../post.php:802 ../../../../post.php:811 ../../../../post.php:825
+#: ../../../../post.php:894 ../../../../post.php:896
+msgid "That ban doesn't exist or is not for you."
+msgstr "Це блокування не існує або його застосовано не до вас."
+
+#: ../../../../post.php:806 ../../../../post.php:815 ../../../../post.php:829
+#: ../../../../post.php:898 ../../../../post.php:900
+msgid "You cannot appeal a ban of this length."
+msgstr "Ви не можете оскаржити блокування з таким терміном."
+
+#: ../../../../post.php:813 ../../../../post.php:822 ../../../../post.php:836
+#: ../../../../post.php:905 ../../../../post.php:907
+msgid "You cannot appeal this ban again."
+msgstr "Ви не можете оскаржити це блокування знову."
+
+#: ../../../../post.php:818 ../../../../post.php:827 ../../../../post.php:841
+#: ../../../../post.php:910 ../../../../post.php:912
+msgid "There is already a pending appeal for this ban."
+msgstr "Оскарження цього блокування вже розглядається."
+
+#: ../../../../inc/image.php:24 ../../../../inc/image.php:62
+msgid "Unsupported file format: "
+msgstr "Непідтримуваний формат файла:"
+
+#: ../../../../inc/image.php:282 ../../../../inc/image.php:288
+msgid "Failed to redraw image!"
+msgstr "Не вдалося перемалювати зображення!"
+
+#: ../../../../inc/image.php:324 ../../../../inc/image.php:343
+#: ../../../../inc/image.php:368 ../../../../inc/image.php:342
+#: ../../../../inc/image.php:366 ../../../../inc/image.php:372
+msgid "Failed to resize image!"
+msgstr "Не вдалося змінити розмір зображення!"
+
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:35
+msgid "You were banned! ;_;"
+msgstr "Вас було заблоковано! ;_;"
+
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:41
+msgid "You are banned! ;_;"
+msgstr "Вас заблоковано! ;_;"
+
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:52
+msgid "You were banned from"
+msgstr "Вас було заблоковано на"
+
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:58
+msgid "You have been banned from"
+msgstr "Вас заблоковано на"
+
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:82
+msgid "for the following reason:"
+msgstr "з такої причини:"
+
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:88
+msgid "for an unspecified reason."
+msgstr ", причину не вказано."
+
+#. line 32
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:110
+msgid "Your ban was filed on"
+msgstr ""
+
+#. line 51
+#. line 59
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:123
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:156
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:148
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:181
+msgid "has since expired. Refresh the page to continue."
+msgstr "сплив. Оновіть сторінку, аби продовжити."
+
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:129
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:154
+msgid "expires"
+msgstr "спливає"
+
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:133
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:158
+msgid "from now, which is on"
+msgstr ""
+
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:183
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:208
+msgid "will not expire"
+msgstr "не сплине"
+
+#. line 78
+#. line 86
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:192
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:217
+msgid "Your IP address is"
+msgstr "Ваша IP адреса"
+
+#. line 86
+#. line 94
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:215
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:240
+msgid "You were banned for the following post on"
+msgstr "Вас було заблоковано за цей допис"
+
+#. line 95
+#. line 103
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:239
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:240
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:265
+msgid "You submitted an appeal for this ban on"
+msgstr "Ви подали оскарження цього блокування"
+
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:245
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:246
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:271
+msgid "It is still pending"
+msgstr "Воно досі розглядається"
+
+#. line 101
+#. line 112
+#. line 101
+#. line 112
+#. line 101
+#. line 112
+#. line 101
+#. line 112
+#. line 101
+#. line 112
+#. line 101
+#. line 112
+#. line 101
+#. line 112
+#. line 101
+#. line 112
+#. line 101
+#. line 112
+#. line 109
+#. line 120
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:257
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:289
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:258
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:290
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:283
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:315
+msgid "You appealed this ban on"
+msgstr "Ви оскаржили це блокування"
+
+#. line 103
+#. line 111
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:265
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:266
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:291
+msgid "and it was denied. You may not appeal this ban again."
+msgstr ". Оскарження відхилено. Ви не можете знову оскаржувати це блокування."
+
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:272
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:273
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:298
+msgid ""
+"You have submitted the maximum number of ban appeals allowed. You may not "
+"appeal this ban again."
+msgstr ""
+"Ви подали максимальну кількість оскаржень, і більше не можете оскаржувати це "
+"блокування."
+
+#. line 114
+#. line 121
+#. line 114
+#. line 121
+#. line 114
+#. line 121
+#. line 114
+#. line 121
+#. line 114
+#. line 121
+#. line 114
+#. line 121
+#. line 114
+#. line 121
+#. line 114
+#. line 121
+#. line 114
+#. line 121
+#. line 122
+#. line 129
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:297
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:318
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:298
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:319
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:323
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:344
+msgid "and it was denied."
+msgstr ". Оскарження відхилено."
+
+#. line 116
+#. line 123
+#. line 116
+#. line 123
+#. line 116
+#. line 123
+#. line 116
+#. line 123
+#. line 116
+#. line 123
+#. line 116
+#. line 123
+#. line 116
+#. line 123
+#. line 116
+#. line 123
+#. line 116
+#. line 123
+#. line 124
+#. line 131
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:302
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:323
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:303
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:324
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:328
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:349
+msgid "You may appeal this ban again. Please enter your reasoning below."
+msgstr ""
+"Ви можете оскаржити це блокування ще раз. Будь ласка, обґрунтуйте його "
+"несправедливість тут."
+
+#. line 119
+#. line 127
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:310
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:311
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:336
+msgid "You last appealed this ban on"
+msgstr "Востаннє ви оскаржували це блокування"
+
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:332
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:333
+#: ../../../../templates/cache/b7/ae/f9663c9ca58d1e218de29e04d0fa229f6263f4e68b613ce608bc023897a2.php:358
+msgid "You may appeal this ban. Please enter your reasoning below."
+msgstr ""
+"Ви можете оскаржити це блокування. Будь ласка, обґрунтуйте його "
+"несправедливість тут."
+
+#. line 4
+#. line 16
+#. line 134
+#. line 93
+#. line 4
+#. line 16
+#. line 134
+#. line 93
+#. line 4
+#. line 16
+#. line 134
+#. line 93
+#. line 4
+#. line 16
+#. line 134
+#. line 93
+#. line 4
+#. line 16
+#. line 134
+#: ../../../../templates/cache/f8/05/d647b76d6ba28842b313895b0d435295026f1912dc49639bd64e3b42eba3.php:30
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:55
+#: ../../../../templates/cache/6a/a4/b13523024ba2660a4f8f05e0c909c55477f675db9a2620075762ac245c91.php:375
+#: ../../../../templates/cache/37/ea/10898251a344348e062662ce7a7b7f6c8dae001e2c860ce58ea35cedd935.php:255
+msgid "IP address"
+msgstr "IP адреса"
+
+#. line 3
+#: ../../../../templates/cache/fc/8d/2b5f6c25d93a9966c429a79ee7ebdd921957079dab214aebbc665d67b9f4.php:26
+msgid "ID"
+msgstr "ID"
+
+#. line 5
+#: ../../../../templates/cache/fc/8d/2b5f6c25d93a9966c429a79ee7ebdd921957079dab214aebbc665d67b9f4.php:34
+msgid "Type"
+msgstr "Тип"
+
+#: ../../../../templates/cache/fc/8d/2b5f6c25d93a9966c429a79ee7ebdd921957079dab214aebbc665d67b9f4.php:45
+msgid "Last action"
+msgstr "Остання дія"
+
+#: ../../../../templates/cache/fc/8d/2b5f6c25d93a9966c429a79ee7ebdd921957079dab214aebbc665d67b9f4.php:80
+msgid "Unknown"
+msgstr "Невідомо"
+
+#: ../../../../templates/cache/fc/8d/2b5f6c25d93a9966c429a79ee7ebdd921957079dab214aebbc665d67b9f4.php:94
+msgid "none"
+msgstr "немає"
+
+#: ../../../../templates/cache/fc/8d/2b5f6c25d93a9966c429a79ee7ebdd921957079dab214aebbc665d67b9f4.php:174
+msgid "Promote"
+msgstr "Підвищити"
+
+#: ../../../../templates/cache/fc/8d/2b5f6c25d93a9966c429a79ee7ebdd921957079dab214aebbc665d67b9f4.php:187
+msgid "Demote"
+msgstr "Понизити"
+
+#: ../../../../templates/cache/fc/8d/2b5f6c25d93a9966c429a79ee7ebdd921957079dab214aebbc665d67b9f4.php:191
+msgid "Are you sure you want to demote yourself?"
+msgstr "Ви впевнені, що хочете себе понизити"
+
+#: ../../../../templates/cache/fc/8d/2b5f6c25d93a9966c429a79ee7ebdd921957079dab214aebbc665d67b9f4.php:204
+msgid "log"
+msgstr "журнал"
+
+#: ../../../../templates/cache/fc/8d/2b5f6c25d93a9966c429a79ee7ebdd921957079dab214aebbc665d67b9f4.php:226
+msgid "PM"
+msgstr "Приватне повідомлення"
+
+#. line 6
+#: ../../../../templates/cache/32/3a/d7e02cef5846ec4f1f423bb0ad2d3c307845d29f70da3f8a90a41f873e7d.php:36
+msgid "Thread ID"
+msgstr "ID нитки"
+
+#. line 14
+#: ../../../../templates/cache/32/3a/d7e02cef5846ec4f1f423bb0ad2d3c307845d29f70da3f8a90a41f873e7d.php:51
+msgid "Leave shadow thread"
+msgstr ""
+
+#. line 18
+#: ../../../../templates/cache/32/3a/d7e02cef5846ec4f1f423bb0ad2d3c307845d29f70da3f8a90a41f873e7d.php:58
+msgid "locks thread; replies to it with a link."
+msgstr "закриває нитку, відповідає туди посиланням."
+
+#. line 22
+#. line 13
+#. line 22
+#. line 13
+#. line 22
+#. line 13
+#: ../../../../templates/cache/32/3a/d7e02cef5846ec4f1f423bb0ad2d3c307845d29f70da3f8a90a41f873e7d.php:65
+#: ../../../../templates/cache/56/25/ac2c51fa6b3e26f9f9ed7dda5224acfbec96881d648c8ded10c5eef2c3e5.php:50
+msgid "Target board"
+msgstr "Дошка призначення"
+
+#. line 8
+#: ../../../../templates/cache/cb/8b/63013711213735996df92becb7bd43d753c51314cfe5433c562706333eb0.php:40
+msgid "Select board"
+msgstr "Вибрати дошку"
+
+#. line 17
+#: ../../../../templates/cache/cb/8b/63013711213735996df92becb7bd43d753c51314cfe5433c562706333eb0.php:73
+msgid ""
+"Search is case-insensitive and based on keywords. To match exact phrases, "
+"use \"quotes\". Use an asterisk (*) for wildcard.
You may apply the following filters to your searches: "
+"id, thread, subject, and "
+"name. To apply a filter, simply add to your query, for "
+"example, name:Anonymous or subject:\"Some Thread\". "
+"Wildcards cannot be used in filters."
+msgstr ""
+"(Пошук ведеться за ключовими словами і є нечутливим до регістру. Щоб знайти "
+"конкретні фрази, використовуйте \"лапки\". Для масок використовуйте зірочку "
+"(*).