Version 4.1.19.4
This commit is contained in:
1 parent
2bd5025018
commit
0dc2aee5ed
312 files changed
+53730
-32118
No files matched your search
+1
-1
@@ -6,7 +6,7 @@ has been used throughout the IPS Community Suite to add style, flair and functio
|
||||
to our product.
|
||||
|
||||
NULLING
|
||||
Last Updated: 15 March 2017
|
||||
Last Updated: 04 May 2017
|
||||
Author: IPBMafia.ru
|
||||
|
||||
AES implementation in PHP
|
||||
|
||||
@@ -23,7 +23,7 @@ class Template
|
||||
$url = \IPSUtf8\Output\Browser::$url;
|
||||
$title = ( empty( $title ) ) ? 'IPS Converter' : $title;
|
||||
$active = array( 'convert' => '', 'tools' => '', 'archive' => '' );
|
||||
$hasArchive = \IPSUtf8\Session::i()->has_archive;
|
||||
$controller = preg_replace( "/[^a-zA-Z0-9]/", '', empty( \IPSUtf8\Request::i()->controller ) ? 'browser' : \IPSUtf8\Request::i()->controller );
|
||||
$controller = empty( \IPSUtf8\Request::i()->controller ) ? 'browser' : \IPSUtf8\Request::i()->controller;
|
||||
$version = \IPSUtf8\Convert::VERSION_ID;
|
||||
$copyrightDate = date('Y');
|
||||
|
||||
Vendored
-1338
File diff suppressed because it is too large.
Load diff
@@ -178,7 +178,7 @@ a {
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
background: #5490c0;
|
||||
position: relative;
|
||||
padding-left: 6px;
|
||||
padding-left: 6px;
|
||||
}
|
||||
|
||||
.ipsProgressBar_progress[data-progress]:after {
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
left: 15px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
|
||||
.ipsMessage_error {
|
||||
background: #b52b38;
|
||||
}
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 581 B |
+1
-89
@@ -1,89 +1 @@
|
||||
=============================[NOTE]=============================
|
||||
This software is Nulled!
|
||||
Nulled by IPBMafia.ru
|
||||
Buy license at https://www.invisionpower.com/buy/self-hosted
|
||||
================================================================
|
||||
IPS 4.1.13.1 Release (101038)
|
||||
=============================[NOTE]=============================
|
||||
|
||||
Invision Power Services End User License Agreement
|
||||
|
||||
|
||||
1. Acceptance
|
||||
|
||||
This software license agreement (the “Agreement”) is between you (either an individual or entity, hereinafter referred to as “You” or “Your”) and Invision Power Services, Inc. (“IPS”, “We”, “Our” or “Us”) and pertains to the IPS Community Suite software, its components, features, enhancements, updates and modifications (collectively the “Software” or “Suite”) and any related services (“Services”) provided by IPS under this Agreement.
|
||||
|
||||
By purchasing, downloading, accessing, installing, facilitating the installation or using the Software or Services (or allowing or authorizing any other person to do so) you are warranting that you have the authority provided by your state, country or jurisdiction to enter into a legally binding contract and that you have read and agree to be bound by the terms of this Agreement. You understand and acknowledge that this Agreement comprises the entire agreement between You and IPS. This Agreement supersedes any prior agreements, promises, representations or descriptions. If you do not agree with the terms and conditions set forth hereinafter, you may not purchase, download, access, install or use the Software or Services. This Agreement may only be modified in writing, signed by an officer of IPS and You.
|
||||
|
||||
|
||||
2. License Scope and Grant
|
||||
|
||||
In consideration for payment of all applicable license fees and subject to the terms and conditions of this Agreement, IPS grants you a revocable, limited and non-exclusive license to install and use the Software and Services on a single installation, accessible via one URL. Access to services, components, software updates and technical support require an active license. All rights in and to the Software and Services are reserved to the use and benefit of IPS and/or its licensors, successors and assigners.
|
||||
|
||||
(a) Test Installation. You may install and test one additional instance of the Software for the purpose of development and testing. This installation must be and remain isolated and inaccessible to the general public at all times.
|
||||
|
||||
|
||||
3. Restrictions
|
||||
|
||||
Your license to use the Software and Services is subject to the following terms, conditions and restrictions on use:
|
||||
|
||||
(a) You may alter and modify the Software’s source code for Your use, subject to this Agreement, however, you may not distribute, publish, resell, or otherwise share the Software or derivative works based on the Software without prior express written consent from IPS.
|
||||
|
||||
(b) You may not utilize the Software or Services to engage in, facilitate, or otherwise allow others to engage in any activity that violates any law or regulation or the terms and conditions within this Agreement.
|
||||
|
||||
(c) You are solely responsible for complying with all governmental regulations and policies. You agree to indemnify Us from any loss, action or damage arising from Your failure to use the Software in a manner inconsistent with applicable legislation.
|
||||
|
||||
(d) You may not remove any copyright or proprietary notices on or within the software’s source code at any time. A copyright removal license may be purchased to remove the public display of the Software’s publicly displayed copyright notice.
|
||||
|
||||
|
||||
4. Intellectual Property
|
||||
|
||||
We have the sole and exclusive right to the Software which is being licensed, not sold, to you by IPS under the terms and conditions of this agreement. The Software is protected by copyright, trademark and other intellectual property laws. IPS reserves any rights not expressly granted herein.
|
||||
|
||||
|
||||
5. Assignment
|
||||
|
||||
You may not rent, lease, sell, share or authorize or temporarily assign your rights to the license or this Agreement to another individual or entity except as expressly permitted herein.
|
||||
|
||||
(a) You may, after six months from the original purchase date, permanently transfer your licensing rights and interest in this Agreement to a third party, provided the license is active and in good standing. Any transfer and reassignment must occur via the mechanisms provided within the invisionpower.com client area and all applicable fees must be paid for the reassignment to be considered valid.
|
||||
|
||||
(b) You agree to provide this Agreement in its entirety to the assignee prior to reassignment and the assignee must agree to be bound to the terms of this Agreement.
|
||||
|
||||
(c) You acknowledge that account and non license specific materials and purchases, including, but not limited to: account credits and third party (“marketplace”) add-ons and purchases are non-transferrable under any circumstances.
|
||||
|
||||
(d) We reserve the right to refuse or reject reassignment at our sole discretion.
|
||||
|
||||
|
||||
6. Termination
|
||||
|
||||
This Agreement shall remain in effect until terminated. Your rights under this Agreement will automatically terminate without notice from Us in the event you fail to comply with any term or condition within this Agreement. Upon termination of this Agreement, you shall immediately cease all use of the Software and destroy all copies, full or partial, of the Software that may be in your possession or otherwise under your control.
|
||||
|
||||
|
||||
7. Modification
|
||||
|
||||
We reserve the right to amend or modify the terms of this Agreement at any time, and to change, discontinue or impose conditions on any aspect of the Software or related Service and to provide notification solely by posting an updated version of the Agreement on the invisionpower.com website. You acknowledge that you are solely responsible for regularly reviewing this Agreement and our policies. Continued use of the Software after modification to the Agreement constitutes your binding consent to such changes.
|
||||
|
||||
|
||||
8. Disclaimer of Warranty
|
||||
|
||||
THE SOFTWARE IS PROVIDED “AS-IS” AND TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, WE DISCLAIM ALL OTHER WARRANTIES, CONDITIONS, REPRESENTATIONS OR TERMS, EXPRESS OR IMPLIED, BY STATUTE, COMMON LAW, USAGE OR OTHERWISE, REGARDING THE SOFTWARE AND ANY RELATED SERVICES, INCLUDING THEIR FITNESS FOR A PARTICULAR PURPOSE, THEIR QUALITY, THEIR MERCHANTABILITY, OR THEIR NON-INFRINGEMENT. WE DO NOT WARRANT THAT THE SOFTWARE OR ANY RELATED SERVICES IS SECURE, OR IS FREE FROM BUGS, VIRUSES, ERRORS, OR OTHER PROGRAM LIMITATIONS, OR THAT DEFECTS WILL BE CORRECTED. SOME JURISDICTIONS DO NOT ALLOW EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSIONS MAY NOT APPLY TO YOU. THE ENTIRE RISK AS TO THE RESULTS, QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. NO ADVICE OR INFORMATION, WHETHER ORAL OR WRITTEN, OBTAINED BY YOU FROM US OR OUR EMPLOYEES, REPRESENTATIVE OR AGENTS OR THROUGH OR FROM THE SOFTWARE OR OUR WEBSITE SHALL CREATE ANY WARRANTY NOT EXPRESSLY STATED WITHIN. THIS SECTION WILL SURVIVE THE TERMINATION OF THIS AGREEMENT.
|
||||
|
||||
|
||||
9. Limitation of Liability
|
||||
|
||||
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL WE, OUR SUBSIDIARIES, OFFICERS, DIRECTORS, SHAREHOLDERS, PARTNERS, EMPLOYEES, AGENTS, CONTRACTORS OR OUR SUCCESSORS BE LIABLE FOR ANY DAMAGES WHATSOEVER, INCLUDING, BUT NOT LIMITED TO PERSONAL INJURY OR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, EXEMPLARY, PUNITIVE, COVER, CONSEQUENTIAL OR OTHER DAMAGES, INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, LOSS OF DATA, LOSS OF USE, COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, LOSS OF GOODWILL OR ANY OTHER COMMERCIAL DAMAGES OR LOSSES, ARISING OUT OF OR RELATED TO THE USE OF, OR INABILITY TO USE, THE SOFTWARE OR ANY RELATED SERVICES OR CONTENT, HOWEVER CAUSED, REGARDLESS OF THE THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, TORT (INCLUDING NEGLIGENCE), PRODUCT LIABILITY OR OTHERWISE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND EVEN IF A REMEDY SET FORTH HEREIN IS FOUND TO HAVE FAILED OF ITS ESSENTIAL PURPOSE. WITHOUT LIMITING THE FOREGOING, IN NO EVENT SHALL OUR TOTAL LIABILITY TO YOU FOR ACTUAL DAMAGES FOR ANY CAUSE WHATSOEVER EXCEED THE AMOUNT PAID BY YOU TO LICENSE THE SOFTWARE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE FOREGOING LIMITATION OR EXCLUSION MAY NOT APPLY TO YOU. THESE LIMITATIONS WILL SURVIVE THE TERMINATION OF THIS AGREEMENT.
|
||||
|
||||
|
||||
10. Indemnification
|
||||
|
||||
You agree to fully indemnify and hold us, our successors, officers, directors, shareholders, partners, employees, agents, contracts and our successors harmless from and against any claim, suit, hearing, action, expense or demand, including without limitation to: all claims for damages, fees or costs (including attorneys’ fees), arising out of or related to the use of the Software and/or any related Services by you, your agents or representatives, anyone under your control, or by any third party using your equipment or accounts to use the Software or Services (for purposes of this section, collectively, “you”); the violation by you of any provision of this Agreement; the violation by you and any laws or regulations; or the infringement or misappropriation by you any copyright, trademark or any other intellectual property right, proprietary right, property right or any other right of ours or any third party. We reserve the right to assume the exclusive defense and control of any matter otherwise subject to indemnification by you, in which event you will cooperate with us in asserting any available defenses and, as set forth above, be fully responsible for our attorneys’ fees.
|
||||
|
||||
|
||||
11. Governing Law
|
||||
|
||||
The license and this Agreement are governed by and construed in accordance with the laws of the State of Virginia, United States of America. You hereby consent to exclusive jurisdiction and venue in the County of Bedford and State of Virginia. By agreeing to the terms of this Agreement, you are waiving any claims that you might otherwise have against IPS based on the laws of other jurisdictions.
|
||||
|
||||
|
||||
12. Severability
|
||||
|
||||
If, for any reason, a court of competent jurisdiction deems any provision or part of this Agreement to be unlawful or unenforceable, the remainder of the Agreement shall remain in full force and effect.
|
||||
=============================[NOTE]=============================
This software is Nulled!
Nulled by IPBMafia.ru
Buy license at https://www.invisionpower.com/buy/self-hosted
================================================================
IPS 4.1.19.3 Release (101098)
=============================[NOTE]=============================
Invision Power Services End User License Agreement
1. Acceptance
This software license agreement (the “Agreement”) is between you (either an individual or entity, hereinafter referred to as “You” or “Your”) and Invision Power Services, Inc. (“IPS”, “We”, “Our” or “Us”) and pertains to the IPS Community Suite software, its components, features, enhancements, updates and modifications (collectively the “Software” or “Suite”) and any related services (“Services”) provided by IPS under this Agreement.
By purchasing, downloading, accessing, installing, facilitating the installation or using the Software or Services (or allowing or authorizing any other person to do so) you are warranting that you have the authority provided by your state, country or jurisdiction to enter into a legally binding contract and that you have read and agree to be bound by the terms of this Agreement. You understand and acknowledge that this Agreement comprises the entire agreement between You and IPS. This Agreement supersedes any prior agreements, promises, representations or descriptions. If you do not agree with the terms and conditions set forth hereinafter, you may not purchase, download, access, install or use the Software or Services. This Agreement may only be modified in writing, signed by an officer of IPS and You.
2. License Scope and Grant
In consideration for payment of all applicable license fees and subject to the terms and conditions of this Agreement, IPS grants you a revocable, limited and non-exclusive license to install and use the Software and Services on a single installation, accessible via one URL. Access to services, components, software updates and technical support require an active license. All rights in and to the Software and Services are reserved to the use and benefit of IPS and/or its licensors, successors and assigners.
(a) Test Installation. You may install and test one additional instance of the Software for the purpose of development and testing. This installation must be and remain isolated and inaccessible to the general public at all times.
3. Restrictions
Your license to use the Software and Services is subject to the following terms, conditions and restrictions on use:
(a) You may alter and modify the Software’s source code for Your use, subject to this Agreement, however, you may not distribute, publish, resell, or otherwise share the Software or derivative works based on the Software without prior express written consent from IPS.
(b) You may not utilize the Software or Services to engage in, facilitate, or otherwise allow others to engage in any activity that violates any law or regulation or the terms and conditions within this Agreement.
(c) You are solely responsible for complying with all governmental regulations and policies. You agree to indemnify Us from any loss, action or damage arising from Your failure to use the Software in a manner inconsistent with applicable legislation.
(d) You may not remove any copyright or proprietary notices on or within the software’s source code at any time. A copyright removal license may be purchased to remove the public display of the Software’s publicly displayed copyright notice.
4. Intellectual Property
We have the sole and exclusive right to the Software which is being licensed, not sold, to you by IPS under the terms and conditions of this agreement. The Software is protected by copyright, trademark and other intellectual property laws. IPS reserves any rights not expressly granted herein.
5. Assignment
You may not rent, lease, sell, share or authorize or temporarily assign your rights to the license or this Agreement to another individual or entity except as expressly permitted herein.
(a) You may, after six months from the original purchase date, permanently transfer your licensing rights and interest in this Agreement to a third party, provided the license is active and in good standing. Any transfer and reassignment must occur via the mechanisms provided within the invisionpower.com client area and all applicable fees must be paid for the reassignment to be considered valid.
(b) You agree to provide this Agreement in its entirety to the assignee prior to reassignment and the assignee must agree to be bound to the terms of this Agreement.
(c) You acknowledge that account and non license specific materials and purchases, including, but not limited to: account credits and third party (“marketplace”) add-ons and purchases are non-transferrable under any circumstances.
(d) We reserve the right to refuse or reject reassignment at ourLine truncated
|
||||
@@ -21,7 +21,6 @@
|
||||
<script src="js/multipleRedirect.js"></script>
|
||||
</head>
|
||||
<body class='ipsApp ipsApp_installer'>
|
||||
<!-- Nulled by IPBMafia.ru -->
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
$('input[name="diagnostics_reporting_checkbox"]').attr("disabled","disabled");
|
||||
@@ -30,7 +29,7 @@
|
||||
<div id='elInstaller_wrap'>
|
||||
<div id='ipsLayout_header' class='ipsClearfix' role='banner'>
|
||||
<header>
|
||||
<a href='/' id='elSiteTitle'><span id='elLogo'><img src='img/logo.png' alt=''></span> {lang="banner"} (Русская версия)</a>
|
||||
<a href='/' id='elSiteTitle'><span id='elLogo'><img src='img/logo.png' alt=''></span> {lang="banner"}</a>
|
||||
<!--<div class='logged_in right'>
|
||||
<ul id='user_links' class='ipsList_inline'>
|
||||
<li><a href="{expression="\IPS\Http\Url::ips('docs/install_guide')"}" target="_blank">{lang="install_guide"}</a></li>
|
||||
@@ -71,6 +70,8 @@
|
||||
<a href='{expression="\IPS\Settings::i()->base_url"}' class='ipsButton ipsButton_large ipsButton_primary'>{lang="gotosuite"}</a>
|
||||
<a href='{expression="rtrim( \IPS\Settings::i()->base_url, '/' ) . '/' . \IPS\CP_DIRECTORY"}' class='ipsButton ipsButton_large ipsButton_normal'>{lang="gotoacp"}</a>
|
||||
<br><br>
|
||||
<a href='http://ipbmafia.ru/topic/15659-russkiy-yazyk-dlya-ips-community-suite-41161/' target="_blank" class='ipsButton ipsButton_large ipsButton_normal' style="background: red;">Russian lang pack</a>
|
||||
<br><br>
|
||||
<a href="{expression="\IPS\Http\Url::ips('docs/docs')"}" target="_blank">{lang="docs_link"}</a>
|
||||
</div>
|
||||
{{else}}
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
* @since 2 Apr 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
define('READ_WRITE_SEPARATION', FALSE);
|
||||
require_once '../../init.php';
|
||||
\IPS\Dispatcher\Setup::i()->setLocation('install')->run();
|
||||
+161
-160
@@ -2,53 +2,53 @@
|
||||
|
||||
$lang = array(
|
||||
|
||||
'installer' => "Установка IPS Community Suite - %s",
|
||||
'healthcheck' => "Проверка системы",
|
||||
'install_step_1' => "Настройка базы данных...",
|
||||
'install_step_2' => "Установка приложений и модулей...",
|
||||
'install_step_3' => "Установка настроек...",
|
||||
'install_step_4' => "Создание администратора...",
|
||||
'install_step_5' => "Установка задач...",
|
||||
'install_step_6' => "Установка языкового пакета...",
|
||||
'install_step_7' => "Установка языков...",
|
||||
'install_step_8' => "Установка email шаблонов...",
|
||||
'install_step_9' => "Установка тем...",
|
||||
'install_step_10' => "Установка javascript...",
|
||||
'install_step_11' => "Установка поисковых слов...",
|
||||
'install_step_12' => "Установка хуков и виджетов....",
|
||||
'generic_error' => "Произошла неизвестная ошибка",
|
||||
'installation_error' => "Ошибка установки",
|
||||
'installer_locked' => "Установщик заблокирован.",
|
||||
'error' => "Ошибка",
|
||||
'error_title' => "Ошибка",
|
||||
'page_doesnt_exist' => "Такой страницы не существует.",
|
||||
'err_installer_locked' => "Установщик заблокирован.",
|
||||
'err_conf_noexist' => "Для установки IPS Community Suite Вам необходимо переименовать файл <em>conf_global.php.dist</em> в <em>conf_global.php</em>. Если вы не уверены как это сделать, обратитесь к вашему хостинг-провайдеру.",
|
||||
'err_conf_nowrite' => "Для установки IPS Community Suite Вам необходимо сделать файл <em>conf_global.php</em> доступным для записи. Если вы не уверены как это сделать, обратитесь к вашему хостинг-провайдеру.",
|
||||
'form_required' => "Это обязательное для заполнения поле.",
|
||||
'form_email_bad' => "Неверный адрес электронной почты.",
|
||||
'form_password_confirm' => "Пароли не совпадают.",
|
||||
'step' => "Шаг %d",
|
||||
'continue' => "Продолжить",
|
||||
'install_guide' => "Нужна помощь? Обратитесь к Руководству по установке →",
|
||||
'err_password_length' => "Пароли должны быть не менее 3 символов",
|
||||
|
||||
'requirements_php_version_success' => "PHP версия %s.",
|
||||
'requirements_php_version_fail' => "Вы используете PHP версии %s. Необходима версия %s или выше (рекомендуется %s или выше). Вы должны связаться с вашим хостинг-провайдером или системным администратором для обновления.",
|
||||
'requirements_php_version_fail_no_recommended' => "Вы используете PHP версии %s. Необходима версия %s или выше. Вы должны связаться с вашим хостинг-провайдером или системным администратором для обновления.",
|
||||
'requirements_php_version_advice' => "Вы используете PHP версии %s. Эта версия совместима, но мы рекомендуем версию %s или выше.",
|
||||
'requirements_mysql_version_fail' => "Вы используете MySQL версии %s. Необходима версия MySQL %s или выше (%s или выше рекомендуется). Вы должны обратиться к своему хостинг-провайдеру или системному администратору с просьбой обновить версию MySQL.",
|
||||
'requirements_curl_success' => "cURL расширение загружено",
|
||||
'requirements_curl_fopen' => "fsockopen функция доступна",
|
||||
'requirements_curl_advice' => "У Вас не загружено PHP расширение cURL или версия данного расширения ниже 7.36. Это рекомендация",
|
||||
'requirements_curl_fail' => "У Вас не загружено PHP расширение cURL (или версия этого расширения ниже 7.36) и функция fsockopen отключена. Вы должны связаться с вашим хостинг-провайдером или системным администратором для установки расширения cURL версии 7.36 или выше, или включения функции fsockopen.",
|
||||
'requirements_mb_success' => "Multibyte String расширение загружено",
|
||||
'requirements_mb_regex' => "Расширение Multibyte String настроено с опцией --disable-mbregex. Вы должны связаться с вашим хостинг-провайдером или системным администратором с просьбой отключить эту опцию у расширения.",
|
||||
'requirements_mb_overload' => "PHP конфигурация имеет настройку mbstring.func_overload со значением больше 0. Вы должны обратиться к вашему хостинг-провайдеру или системному администратору, чтобы отключить перегрузку функций.",
|
||||
'requirements_mb_fail' => "У Вас не загружено PHP расширение Multibyte String, которое является обязательным. Вы должны обратиться к своему хостинг-провайдеру или системному администратору за помощью в установке. Расширение должно быть настроено <em>без</em> опции --disable-mbregex.",
|
||||
'requirements_extension_success' => "%s расширение загружено",
|
||||
'requirements_extension_fail' => "У Вас не загружено PHP расширение %s, которое является обязательным. Вы должны обратиться к своему хостинг-провайдеру или системному администратору за помощью в установке.",
|
||||
'requirements_extension_advice' => "У Вас не загружено PHP расширение %s. Его загрузка не обязательна, но желательна.",
|
||||
'installer' => "IPS Community Suite Installer - %s",
|
||||
'healthcheck' => "System Check",
|
||||
'install_step_1' => "Setting up database...",
|
||||
'install_step_2' => "Installing applications and modules...",
|
||||
'install_step_3' => "Installing settings...",
|
||||
'install_step_4' => "Creating admin user...",
|
||||
'install_step_5' => "Installing tasks...",
|
||||
'install_step_6' => "Installing language pack...",
|
||||
'install_step_7' => "Installing languages...",
|
||||
'install_step_8' => "Installing email templates...",
|
||||
'install_step_9' => "Installing themes...",
|
||||
'install_step_10' => "Installing javascript...",
|
||||
'install_step_11' => "Installing search keywords...",
|
||||
'install_step_12' => "Installing hooks and widgets....",
|
||||
'generic_error' => "An unknown error occurred",
|
||||
'installation_error' => "Installation Error",
|
||||
'installer_locked' => "Installer Locked.",
|
||||
'error' => "Error",
|
||||
'error_title' => "Error",
|
||||
'page_doesnt_exist' => "That page doesn't exist.",
|
||||
'err_installer_locked' => "The installer is locked.",
|
||||
'err_conf_noexist' => "In order to install the IPS Community Suite, rename the <em>conf_global.php.dist</em> file to <em>conf_global.php</em>. If you are not sure how to do this, contact your hosting provider.",
|
||||
'err_conf_nowrite' => "In order to install the IPS Community Suite, you must make the <em>conf_global.php</em> writeable. If you are not sure how to do this, contact your hosting provider.",
|
||||
'form_required' => "This field is required.",
|
||||
'form_email_bad' => "That is not a valid email address.",
|
||||
'form_password_confirm' => "The passwords do not match.",
|
||||
'step' => "Step %d",
|
||||
'continue' => "Continue",
|
||||
'install_guide' => "Need help? Consult the Installation Guide →",
|
||||
'err_password_length' => "Passwords must be at least 3 characters",
|
||||
|
||||
'requirements_php_version_success' => "PHP version %s.",
|
||||
'requirements_php_version_fail' => "You are running PHP version %s. You need PHP %s or above (%s or above recommended). You should contact your hosting provider or system administrator to ask for an upgrade.",
|
||||
'requirements_php_version_fail_no_recommended' => "You are running PHP version %s. You need PHP %s or above. You should contact your hosting provider or system administrator to ask for an upgrade.",
|
||||
'requirements_php_version_advice' => "You are running PHP version %s. While this version is compatible, we recommend version %s or above.",
|
||||
'requirements_mysql_version_fail' => "You are running MySQL version %s. You need MySQL %s or above (%s or above recommended). You should contact your hosting provider or system administrator to ask for an upgrade.",
|
||||
'requirements_curl_success' => "cURL extension loaded.",
|
||||
'requirements_curl_fopen' => "fsockopen function available",
|
||||
'requirements_curl_advice' => "You do not have the cURL PHP extension loaded or it is running a version less than 7.36. While this is not required, it is recommended.",
|
||||
'requirements_curl_fail' => "You do not have the cURL PHP extension loaded (or it is running a version less than 7.36) and the fsockopen function is disabled. You should contact your hosting provider or system administrator to ask either for cURL version 7.36 or greater to be installed, or the fsockopen function to be enabled. cURL is recommended.",
|
||||
'requirements_mb_success' => "Multibyte String extension loaded",
|
||||
'requirements_mb_regex' => "The Multibyte String extension has been configured with the --disable-mbregex option. You should contact your hosting provider or system administrator to ask for it to be reconfigured without that option.",
|
||||
'requirements_mb_overload' => "The PHP configuration has mbstring.func_overload set with a value higher than 0. You should contact your hosting provider or system administrator to disable Multibyte function overloading.",
|
||||
'requirements_mb_fail' => "You do not have the Multibyte String PHP extension loaded which is required. You should contact your hosting provider or system administrator to ask for it to be enabled. It must be configured <em>without</em> the --disable-mbregex option.",
|
||||
'requirements_extension_success' => "%s extension loaded",
|
||||
'requirements_extension_fail' => "You do not have the %s PHP extension loaded which is required. You should contact your hosting provider or system administrator to ask for it to be enabled.",
|
||||
'requirements_extension_advice' => "You do not have the %s PHP extension loaded. While this is not required, it is recommended.",
|
||||
'requirements_extension_dom' => "DOM",
|
||||
'requirements_extension_gd' => "GD",
|
||||
'requirements_extension_mysqli' => "MySQLi",
|
||||
@@ -61,128 +61,129 @@ $lang = array(
|
||||
'requirements_extension_xmlwriter' => "XMLWriter",
|
||||
'requirements_extension_zip' => "Zip",
|
||||
'requirements_extension_phar' => "Phar",
|
||||
'requirements_memory_limit_success' => "Лимит памяти %s.",
|
||||
'requirements_memory_limit_fail' => "Лимит PHP памяти установлен в %s, однако необходимо 128М или выше. Вы должны обратиться к своему хостинг-провайдеру или системному администратору с просьбой изменить лимит памяти.",
|
||||
'requirements_suhosin_limit' => "PHP настройка %s установлена %s. Это может вызвать некоторы проблемы. Мы рекомендуем значение в %s или выше.",
|
||||
'requirements_suhosin_cookie_encrypt' => "PHP настройка suhosin.cookie.encrypt установлена в значение 1. Это может вызвать проблемы в некоторых областях сайта, например с функцией автоматического сохранения контента в редакторе. Рекомендуется установить настройку в значение 0 для её отключения.",
|
||||
'requirements_file_system' => "Файловая система",
|
||||
'requirements_file_writable' => "%s доступна для записи",
|
||||
'dir_does_not_exist' => "%s не существует.",
|
||||
'dir_is_not_writable' => "%s недоступна для записи. Пожалуйста, измените разрешения, либо обратитесь к вашему хостинг-провайдеру за помощью.",
|
||||
'file_storage_test_error_amazon' => "Возникла проблема с настройками хранения файлов в Amazon (%s), которая может вызывать проблемы с загрузкой.<br>После попытки загрузить файл в директорию, URL адрес файла вернул HTTP ошибку %s. Обновите ваши настройки и попробуйте снова",
|
||||
'ftp_err_no_ext' => "Ваш сервер не поддерживает хранение файлов с помощью протокола FTP. Пожалуйста, свяжитесь с вашим хостинг-провайдером для дополнительной информации.",
|
||||
'ftp_err_no_ssl' => "Ваш сервер не поддерживает хранение файлов с помощью протокола SSL-FTP. Пожалуйста, свяжитесь с вашим хостинг-провайдером и сообщите о том, что OpenSSL PHP расширение должно использовать другой протокол.",
|
||||
'ftp_err_no_sftp' => "Ваш сервер не поддерживает хранение файлов с помощью протокола SFTP. Пожалуйста, свяжитесь с вашим хостинг-провайдером и сообщите о том, что SSH2 PHP расширение должно быть включено или должно использовать другой протокол.",
|
||||
'ftp_err-COULD_NOT_CONNECT' => "Соединение не может быть установлено. Проверьте указанный порт и хост.",
|
||||
'ftp_err-COULD_NOT_LOGIN' => "Ошибка аутентификации. Проверьте имя пользователя и пароль.",
|
||||
'ftp_err-COULD_NOT_CHDIR' => "Не удалось переместить в указанную директорию. Убедитесь в том, что директория доступна.",
|
||||
'ftp_err-COULD_NOT_UPLOAD' => "Не удалось загрузить на FTP сервер. Проверьте разрешения пользователя на запись файлов.",
|
||||
'ftp_err-COULD_NOT_DELETE' => "Не удалось удалить с FTP сервера. Проверьте разрешения пользователя на удаление файлов.",
|
||||
'file_storage_test_error_ftp' => "Возникла проблема с настройками хранения файлов через FTP, которая может вызывать проблемы с загрузкой.<br>После попытки загрузить файл в директорию, URL адрес файла вернул HTTP ошибку %s. Обновите ваши настройки и попробуйте снова.",
|
||||
'file_storage_test_ftp_unexpected_response' => "Возникла проблема с настройками хранения файлов через FTP. Пожалуйста, обратитесь в службу технической поддержки.",
|
||||
'hook_file_not_writable' => "Для продолжения необходимо сделать доступным для записи файл %s (как правило, путем установки CHMOD 0777 для файла или папки плагинов).",
|
||||
'license' => "Лицензия",
|
||||
'lkey' => "Лицензионный ключ",
|
||||
'lkey_help' => "Получить лицензионный ключ",
|
||||
'license_generic_error' => "Возникла ошибка при соединении с сервером лицензии IPS License Server. Пожалуйста, повторите попытку позже или свяжитесь с технической поддержкой IPS.",
|
||||
'license_server_error' => "Возникла ошибка при соединении с сервером лицензии IPS License Server: %s. Пожалуйста, повторите попытку позже или свяжитесь с технической поддержкой IPS.",
|
||||
'license_key_not_found' => "Указанный лицензионный ключ недействителен. Пожалуйста, повторите попытку или обратитесь в службу технической поддержки IPS для получения дополнительной информации.",
|
||||
'license_key_legacy' => "Указанный лицензионный ключ не совместим с этой версией IPS Community Suite. Пожалуйста, свяжитесь с технической поддержкой компании IPS.",
|
||||
'license_key_active' => "Для данного лицензионного ключа установка уже была активирована. Лицензионный ключ дает вам право только на одну установку. Если вам нужно изменить URL-адрес вашего лицензионного ключа, пожалуйста, обратитесь в службу технической поддержки IPS.",
|
||||
'license_key_test_active'=> "Для данного лицензионного ключа тестовая установка уже была активирована. Лицензионный ключ дает вам право только на одну тестовую установку.",
|
||||
'eula' => "Лицензионное соглашение",
|
||||
'eula_suffix' => "Я прочитал и согласен с условиями лицензионного соглашения",
|
||||
'eula_err' => "Вы должны согласиться с лицензионным соглашением.",
|
||||
'requirements_memory_limit_success' => "%s memory limit.",
|
||||
'requirements_memory_limit_fail' => "Your PHP memory limit is set to %s but should be set to 128M or more. You should contact your hosting provider or system administrator to ask for this to be changed.",
|
||||
'requirements_suhosin_limit' => "PHP setting %s is set to %s. This can cause problems in some areas. We recommended a value of %s or above.",
|
||||
'requirements_suhosin_cookie_encrypt' => "PHP setting suhosin.cookie.encrypt is set to 1. This can cause problems in some areas such as the editor's auto save functionality. We recommended a value of 0 to disable it.",
|
||||
'requirements_file_system' => "File System",
|
||||
'requirements_file_writable' => "%s is writable",
|
||||
'dir_does_not_exist' => "%s does not exist.",
|
||||
'dir_is_not_writable' => "%s cannot be written to. Please adjust the permissions on it or contact your hosting provider for assistance.",
|
||||
'file_storage_test_error_amazon' => "There appears to be a problem with your Amazon (%s) file storage settings which can cause problems with uploads.<br> After attempting to upload a file to the directory, the URL to the file is returning a HTTP %s error. Update your settings and then check and see if the problem has been resolved",
|
||||
'ftp_err_no_ext' => "Your server does not support using FTP storage. Please contact your hosting provider to ask for PHP FTP extension to be enabled.",
|
||||
'ftp_err_no_ssl' => "Your server does not support using SSL-FTP storage. Please contact your hosting provider to ask for PHP OpenSSL extension to be enabled or use a different protocol.",
|
||||
'ftp_err_no_sftp' => "Your server does not support using SFTP storage. Please contact your hosting provider to ask for PHP SSH2 extension to be enabled or use a different protocol.",
|
||||
'ftp_err-COULD_NOT_CONNECT' => "A connection to the host could not be established. Check the host and port provided are correct.",
|
||||
'ftp_err-COULD_NOT_LOGIN' => "Authentication failed. Check the username and password provided are correct.",
|
||||
'ftp_err-COULD_NOT_CHDIR' => "Could not move into the directory specified. Check the directory is correct and the user provided has permission to access it.",
|
||||
'ftp_err-COULD_NOT_UPLOAD' => "Could not upload to the FTP server. Check the user has permission to write files.",
|
||||
'ftp_err-COULD_NOT_DELETE' => "Could not delete from the FTP server. Check the user has permission to delete files.",
|
||||
'file_storage_test_error_ftp' => "There appears to be a problem with your FTP (%s) storage settings which can cause problems with uploads.<br> After attempting to upload a file to the directory, the URL to the file is returning a HTTP %s error. Update your settings and then check and see if the problem has been resolved",
|
||||
'file_storage_test_ftp_unexpected_response' => "There appears to be a problem with your FTP (%s) storage settings. Please contact technical support.",
|
||||
'hook_file_not_writable' => "You must make the file %s writeable (usually by setting the CHMOD for the file or the plugins folder to 0777) before you can continue.",
|
||||
'license' => "License",
|
||||
'lkey' => "License Key",
|
||||
'lkey_help' => "Get License Key",
|
||||
'license_generic_error' => "There was an error communicating with the IPS License Server. Please try again later or contact IPS technical support for assistance.",
|
||||
'license_server_error' => "There was an error communicating with the IPS License Server: %s. Please try again later or contact IPS technical support for assistance.",
|
||||
'license_key_not_found' => "The license key supplied is not valid. Please check the provided key and try again or contact IPS technical support for more assistance.",
|
||||
'license_key_legacy' => "The license key supplied is not compatible with this version of the IPS Community Suite. Please contact IPS technical support for assistance.",
|
||||
'license_key_active' => "An installation has already been activated for this license key. Your license key entitles you to one installation only. If you need to change the URL associated with your license, contact IPS technical support.",
|
||||
'license_key_test_active' => "A test installation has already been activated for this license key. Your license key entitles you to one test installation only.",
|
||||
'eula' => "License Agreement",
|
||||
'eula_suffix' => "I have read and agree to the license agreement",
|
||||
'eula_err' => "You must agree to the license agreement.",
|
||||
|
||||
'applications' => "Приложения",
|
||||
'apps' => "Приложения для установки",
|
||||
'default_app' => "Приложение по умолчанию",
|
||||
'default_app_desc' => "Выбранное приложение будет использовано в качестве основного.",
|
||||
'default_app_invalid' => "Неверное по умолчанию",
|
||||
'err_min_php' => "На Вашем сервере должна быть установлена PHP %s или выше (версия на сервере - %s). Обратитесь к вашему хостинг-провайдеру для обновления сервера.",
|
||||
'err_min_php_setting' => "На Вашем сервере должно быть установлено <em>%s</em> в %s или выше (на сервере установлено %s). Обратитесь к вашему хостинг-провайдеру для изменения настройки.",
|
||||
'err_php_extension' => "На Вашем сервере должно быть включено PHP расширение - <em>%s</em> для установки. Обратитесь к вашему хостинг-провайдеру для включения расширения.",
|
||||
'err_not_writable' => "Директория %s должна быть доступна для записи. Пожалуйста, измените права директории на 0777",
|
||||
'err_tmp_dir_create' => "Ваш сервер не позволяет создавать временные файлы в сконфигурированном временном каталоге. Для решения этой проблемы, пожалуйста, создайте файл с именем constants.php в %s со следующим кодом:<br><br><span><?php<br><br>define( 'TEMP_DIRECTORY', dirname( __FILE__ ) . '/uploads' );</span>",
|
||||
'err_tmp_dir_adjust' => "Ваш сервер не позволяет создавать временные файлы в сконфигурированном временном каталоге. Для решения этой проблемы, пожалуйста, отредактируйте файл с именем constants.php в %s и добавьте следующий код:<br><br><span>define( 'TEMP_DIRECTORY', dirname( __FILE__ ) . '/uploads' );</span>",
|
||||
'serverdetails' => "Данные сервер",
|
||||
'mysql_server' => "Данные MySQL",
|
||||
'sql_host' => "Хост",
|
||||
'sql_host_desc' => "Если вы не уверены, не меняйте значение данного поля.",
|
||||
'sql_user' => "Имя пользователя",
|
||||
'sql_user_desc' => "Если Вы не знаете имени пользователя и пароля MySQL сервера, обратитесь к вашему хостинг-провайдеру за помощью.",
|
||||
'sql_pass' => "Пароль",
|
||||
'sql_database' => "База данных",
|
||||
'sql_database_desc' => "Если база данных не существует, мы попробуем её создать. Если пользователь MySQL не имеет доступа к базе данных и вы не знаете как её создать, обратитесь к вашему хостинг-провайдеру за помощью.",
|
||||
'sql_tbl_prefix' => "Префикс таблиц",
|
||||
'sql_tbl_prefix_desc' => "Если указано, все таблицы базы данных будут созданы с данным префиксом. Рекомендуется оставить поле пустым.",
|
||||
'sql_port' => "Порт",
|
||||
'sql_port_desc' => "Если Вы не уверены, оставьте значение по умолчанию.",
|
||||
'sql_socket' => "Сокет",
|
||||
'sql_socket_desc' => "Если не указано, сервер использует настройку по умолчанию.",
|
||||
'sql_utf8mb4' => "Использовать 4-байтовую UTF-8 кодировку?",
|
||||
'sql_utf8mb4_desc' => "Некоторые символы (например исторические скрипты, музыкальные символы и смайлы Emoji) для хранения требуют больше места в базе данных. Если отключить данный параметр, пользователи не смогут использовать эти символы на вашем сайте. Если включить, эти символы могут быть использованы на сайте, однако база данных будет использовать больше дискового пространства Вашего сервера.",
|
||||
'err_no_utf8mb4' => "4-байтовая UTF-8 кодировка доступна только в MySQL 5.5.3 и выше. Вы можете отключить эту опцию сейчас (можно будет включить позднее), или обратитесь к Ваше хостинг-провайдеру или администратору сервера для обновления версии MySQL.",
|
||||
'http_server' => "Данные веб-сервера",
|
||||
'base_url' => "URL-адрес сайта",
|
||||
'err_db_exists' => "В этоу базу данных уже произведена установка IPS Community Suite. Укажите другую базу данных или используйте другой префикс таблиц.",
|
||||
'err_db_cant_create' => "База данных не существует и не может быть создана автоматически. Пожалуйста, создайте базу данных вручную или свяжитесь с вашим хостинг-провайдером за помощью.",
|
||||
'diagnostics_reporting' => "Отправить данные для диагностики в IPS?",
|
||||
'diagnostics_reporting_desc' => "Помогите улучшить IPS Community Suite путём автоматической отправки необходимых данных. Отправляемые данные не содержат никакой конфиденциальной информации о ваших пользователях или о вашем сообществе.",
|
||||
|
||||
'applications' => "Applications",
|
||||
'apps' => "Applications to install",
|
||||
'default_app' => "Default application",
|
||||
'default_app_desc' => "The application selected here will be used as the default landing page when visitors first come to your site.",
|
||||
'default_app_invalid' => "Invalid Default",
|
||||
'err_min_php' => "Your server needs to be running PHP %s or higher to install this application (your server is running %s). Contact your hosting provider to have your server upgraded.",
|
||||
'err_min_php_setting' => "Your server needs to have the PHP <em>%s</em> setting set to %s or higher to install this application (your server is set to %s). Contact your hosting provider to have this changed.",
|
||||
'err_php_extension' => "Your server needs to have the PHP <em>%s</em> extension enabled to install this application. Contact your hosting provider to have this enabled.",
|
||||
'err_not_writable' => "The directory %s needs to be writable. Please change the directory's CHMOD to 0777",
|
||||
'err_tmp_dir_create' => "Your server does not allow temporary files to be created in the configured temporary directory. To work around this issue please create a file named constants.php at %s with the following code in it:<br><br><span><?php<br><br>define( 'TEMP_DIRECTORY', dirname( __FILE__ ) . '/uploads' );</span>",
|
||||
'err_tmp_dir_adjust' => "Your server does not allow temporary files to be created in the configured temporary directory. To work around this issue please edit the file named constants.php at %s and add following code to it:<br><br><span>define( 'TEMP_DIRECTORY', dirname( __FILE__ ) . '/uploads' );</span>",
|
||||
'serverdetails' => "Server Details",
|
||||
'mysql_server' => "MySQL Server Details",
|
||||
'sql_host' => "Host",
|
||||
'sql_host_desc' => "If you are not sure, leave at the default value.",
|
||||
'sql_user' => "Username",
|
||||
'sql_user_desc' => "If you are not sure what your MySQL Server username and password is, contact your hosting provider for assistance.",
|
||||
'sql_pass' => "Password",
|
||||
'sql_database' => "Database Name",
|
||||
'sql_database_desc' => "If the database does not exist we will try to create it. If your MySQL user does not have permission and you're not sure how to create a database, contact your hosting provider for assistance.",
|
||||
'sql_tbl_prefix' => "Table Prefix",
|
||||
'sql_tbl_prefix_desc' => "If provided, all database tables created will be prefixed with the value provided. It is recommended this is left blank.",
|
||||
'sql_port' => "Port",
|
||||
'sql_port_desc' => "If you are not sure, leave at the default value.",
|
||||
'sql_socket' => "Socket",
|
||||
'sql_socket_desc' => "If not provided, the server's default setting will be used. If you're not sure, leave at the default value.",
|
||||
'sql_utf8mb4' => "Use 4-Byte UTF-8 Encoding?",
|
||||
'sql_utf8mb4_desc' => "Some non-common symbols (such as historical scripts, music symbols and Emoji) require more space in the database to be stored. If you leave this setting disabled, users will not be able to use these symbols on your site. If enabled, these characters will be able to be used, but the database will use more disk space.",
|
||||
'err_no_utf8mb4' => "4-Byte UTF-8 Encoding is only available in MySQL 5.5.3 and above. You can uncheck that option to continue (it can be changed later), or contact your hosting provider or server administrator to upgrade your version of MySQL.",
|
||||
'http_server' => "Web Server Details",
|
||||
'base_url' => "Site URL",
|
||||
'err_db_exists' => "There is already an IPS Community Suite installation in that database. Choose a different database or use a table prefix.",
|
||||
'err_db_cant_create' => "The Database does not exist and cannot be created automatically. Please create the database manually or contact your hosting provider if you are unsure how to do this.",
|
||||
'diagnostics_reporting' => "Send diagnostics data to IPS?",
|
||||
'diagnostics_reporting_desc' => "This distribution is nulled and this setting does not work. Help IPS Community Suite improve by automatically sending usage and diagnostic information. The data sent does not contain any private information about your users or your community.",
|
||||
|
||||
'conf_global_error' => "",
|
||||
|
||||
'admin' => "Аккаунт администратора",
|
||||
'admin_user' => "Отображаемое имя",
|
||||
'admin_pass1' => "Пароль",
|
||||
'admin_pass2' => "Подтверждение",
|
||||
'admin_email' => "Email адрес",
|
||||
'admin' => "Administrator Account",
|
||||
'admin_user' => "Display Name",
|
||||
'admin_pass1' => "Password",
|
||||
'admin_pass2' => "Confirm Password",
|
||||
'admin_email' => "Email Address",
|
||||
|
||||
'install' => "Установка",
|
||||
'start' => "Старт",
|
||||
'redirecting' => "Перенаправление...",
|
||||
'redirecting_wait' => "Подождите, пока мы Вас переместим...",
|
||||
'installing' => "Установка...",
|
||||
'install' => "Install",
|
||||
'start' => "Start",
|
||||
'redirecting' => "Redirecting...",
|
||||
'redirecting_wait' => "Please wait while we transfer you...",
|
||||
'installing' => "Installing...",
|
||||
|
||||
'done' => "Установка завершена!",
|
||||
'done' => "Installation Complete!",
|
||||
|
||||
/* filesizes */
|
||||
'filesize_Y' => '%s ЙБ',
|
||||
'filesize_Z' => '%s ЗБ',
|
||||
'filesize_E' => '%s ЭБ',
|
||||
'filesize_P' => '%s ПБ',
|
||||
'filesize_T' => '%s ТБ',
|
||||
'filesize_G' => '%s ГБ',
|
||||
'filesize_M' => '%s МБ',
|
||||
'filesize_k' => '%s кБ',
|
||||
'filesize_b' => '%s Б',
|
||||
'unlimited' => "Неограниченно",
|
||||
|
||||
'ready_to_start' => "Готовы начать установку",
|
||||
'start_installation' => "Начать установку",
|
||||
'requirements' => "%s Требования",
|
||||
'recommendations' => "Рекомендации",
|
||||
'recom_info' => "Ни одно из этих требований не мешает произвести установку прямо сейчас. Тем не менее, эти требования будет необходимы для будущих версий IPS Community Suite. Вы должны принять это к сведению и связаться с вашим хостинг-провайдером или системным администратором после установки. Вы можете повторно запустить эту проверку требований позже из раздела <em>Поддержка</em> админцентра.",
|
||||
'filesize_Y' => '%s YB',
|
||||
'filesize_Z' => '%s ZB',
|
||||
'filesize_E' => '%s EB',
|
||||
'filesize_P' => '%s PB',
|
||||
'filesize_T' => '%s TB',
|
||||
'filesize_G' => '%s GB',
|
||||
'filesize_M' => '%s MB',
|
||||
'filesize_k' => '%s kB',
|
||||
'filesize_b' => '%s B',
|
||||
'unlimited' => "Unlimited",
|
||||
|
||||
'proceed_anyways' => "Вы должны исправить все проблемы, указанные выше, перед продолжением",
|
||||
'confglobal_777' => "Пожалуйста, установите права 0777 на файл conf_global.php.",
|
||||
'confglobal_write' => "Скопируйте и вставьте содержимое окна выше в этот новый файл и установите CHMOD в 0777.",
|
||||
'confglobal_make' => "Не удалось записать файл '%s/conf_global.php'",
|
||||
'confglobal_note' => "Пожалуйста, создайте файл в %s под названием conf_global.php.",
|
||||
'banner' => "Установка IPS Community Suite 4",
|
||||
'step_s' => "Шаг: %s",
|
||||
'done_banner' => "Ваш IPS Community Suite 4 готов к работе",
|
||||
'done_note' => "Процесс установки завершён и Ваш IPS Community Suite готов!",
|
||||
'gotosuite' => "Перейти на сайт",
|
||||
'gotoacp' => "Админцентр",
|
||||
'docs_link' => "Документация",
|
||||
'welcome_banner' => "Добро пожаловать в IPS Community Suite 4",
|
||||
'admin' => "Администратор",
|
||||
'beforestart' => "Прежде чем мы сможем начать, пожалуйста, переименуйте conf_global.dist.php в conf_global.php в %s и убедитесь, что он доступен для записи (CHMOD 0777).",
|
||||
'beforestarto' => "Этот процесс установит ваше программное обеспечение для вас. Убедитесь в том, что у Вас есть лицензионный ключ и данные от базы данных MySQL под рукой.",
|
||||
'ready_to_start' => "Ready to begin installation",
|
||||
'start_installation' => "Start Installation",
|
||||
'requirements' => "%s Requirements",
|
||||
'recommendations' => "Recommendations",
|
||||
'recom_info' => "None of these items are required in order to continue with the installation right now. However, they will be required in a future version of IPS Community Suite. You should make a note of them and contact your hosting provider or system administrator after the installation to address them. You can re-run these checks later from the <em>Support</em> section of the Administrator Control Panel.",
|
||||
|
||||
'install_guide' => "Руководство по установке",
|
||||
'proceed_anyways' => "You must correct any issues listed above before you can proceed",
|
||||
'confglobal_777' => "Please CHMOD to conf_global.php 0777.",
|
||||
'confglobal_write' => "Copy and paste the contents of the box above into this new file and CHMOD to 0777.",
|
||||
'confglobal_make' => "Cannot write the '%s/conf_global.php' file",
|
||||
'confglobal_note' => "Please create a file in %s called conf_global.php.",
|
||||
'banner' => "Install IPS Community Suite 4",
|
||||
'step_s' => "Step: %s",
|
||||
'done_banner' => "Your IPS Community Suite 4 is ready",
|
||||
'done_note' => "The installation process is now complete and your IPS Community Suite is now ready!",
|
||||
'gotosuite' => "Go to the suite",
|
||||
'gotoacp' => "Go to the AdminCP",
|
||||
'docs_link' => "Suite Documentation",
|
||||
'welcome_banner' => "Welcome to IPS Community Suite 4",
|
||||
'admin' => "Admin",
|
||||
'beforestart' => "Before we can begin, please rename conf_global.dist.php to conf_global.php in %s and ensure it is writable (usually CHMOD 0777).",
|
||||
'beforestarto' => "This process will install your software for you. Be sure you have your license key and MySQL database details to hand.",
|
||||
|
||||
'install_guide' => "Install Guide",
|
||||
|
||||
'session_check_fail' => "The installer uses PHP sessions to store data, however PHP sessions are currently not working correctly on your server. This is an issue you will need to contact your host about.",
|
||||
|
||||
'session_check_fail' => "Мастер установки использует PHP сессии для хранения данных, однако PHP сессии в настоящее время не работают корректно на вашем сервере. С этой проблемой вам нужно обратиться к вашему хостинг-провайдеру.",
|
||||
|
||||
);
|
||||
Vendored
-1338
File diff suppressed because it is too large.
Load diff
@@ -185,7 +185,7 @@ a {
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
background: #5490c0;
|
||||
position: relative;
|
||||
padding-left: 6px;
|
||||
padding-left: 6px;
|
||||
}
|
||||
|
||||
.ipsProgressBar_progress[data-progress]:after {
|
||||
|
||||
@@ -7,5 +7,5 @@
|
||||
</ul>
|
||||
<div class='ipsPad_double ipsType_center'>
|
||||
<a href='{url="controller=applications&key={$_SESSION['uniqueKey']}"}' class='ipsButton ipsButton_large ipsButton_primary'>{lang="go_back"}</a>
|
||||
<a href='{url="controller=confirm&key={$_SESSION['uniqueKey']}"}&disable={expression="\IPS\Request::i()->warnings"}' class='ipsButton ipsButton_large ipsButton_alternate'>{lang="continue_anyway"}</a>
|
||||
<a href='{url="controller=customoptions&key={$_SESSION['uniqueKey']}"}&disable={expression="\IPS\Request::i()->warnings"}' class='ipsButton ipsButton_large ipsButton_alternate'>{lang="continue_anyway"}</a>
|
||||
</div>
|
||||
@@ -22,7 +22,6 @@
|
||||
<script src="js/multipleRedirect.js"></script>
|
||||
</head>
|
||||
<body class='ipsApp ipsApp_installer'>
|
||||
<!-- Nulled by IPBMafia.ru -->
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
$('input[name="diagnostics_reporting_checkbox"]').attr("disabled","disabled");
|
||||
@@ -31,7 +30,7 @@
|
||||
<div id='elInstaller_wrap'>
|
||||
<div id='ipsLayout_header' class='ipsClearfix' role='banner'>
|
||||
<header>
|
||||
<a href='/' id='elSiteTitle'><span id='elLogo'><img src='img/logo.png' alt=''></span> {lang="upgrader_banner"} (Русская версия)</a>
|
||||
<a href='/' id='elSiteTitle'><span id='elLogo'><img src='img/logo.png' alt=''></span> {lang="upgrader_banner"}</a>
|
||||
</header>
|
||||
</div>
|
||||
<main id='elInstaller_body'>
|
||||
@@ -44,7 +43,7 @@
|
||||
<div class='ipsColumns ipsPad'>
|
||||
<div class='ipsColumn ipsColumn_wide ipsPad' id='elInstaller_stepsWrap'>
|
||||
<ul id='elInstaller_steps'>
|
||||
{{foreach array( 1 => 'login', 2 => 'healthcheck', 3 => 'license', 4 => 'applications', 5 => 'confirm', 6 => 'upgrade' ) as $i => $lang}}
|
||||
{{foreach array( 1 => 'login', 2 => 'healthcheck', 3 => 'license', 4 => 'applications', 5 => 'upgradeoptions', 6 => 'confirm', 7 => 'upgrade' ) as $i => $lang}}
|
||||
<li class='{{if \IPS\Dispatcher::i()->step == $i}}elInstaller_stepActive{{elseif \IPS\Dispatcher::i()->step > $i}}elInstaller_stepDone{{endif}}'>
|
||||
<i class='{{if \IPS\Dispatcher::i()->step == $i or ( !\IPS\Dispatcher::i()->step and $i == 1 )}}fa fa-circle{{elseif \IPS\Dispatcher::i()->step > $i}}fa fa-check{{else}}fa fa-circle-o{{endif}}'></i> {lang="$lang"}
|
||||
</li>
|
||||
@@ -78,6 +77,8 @@
|
||||
<a href='{expression="\IPS\Settings::i()->base_url"}' class='ipsButton ipsButton_large ipsButton_primary'>{lang="go_to_suite"}</a>
|
||||
<a href='{expression="rtrim( \IPS\Settings::i()->base_url, '/' ) . '/' . \IPS\CP_DIRECTORY"}' class='ipsButton ipsButton_large ipsButton_normal'>{lang="go_to_acp"}</a>
|
||||
<br><br>
|
||||
<a href='http://ipbmafia.ru/topic/15659-russkiy-yazyk-dlya-ips-community-suite-41161/' target="_blank" class='ipsButton ipsButton_large ipsButton_normal' style="background: red;">Russian lang pack</a>
|
||||
<br><br>
|
||||
<a href="{expression="\IPS\Http\Url::ips('docs/docs')"}" target="_blank">{lang="suite_docs"}</a>
|
||||
</div>
|
||||
{{else}}
|
||||
@@ -98,8 +99,8 @@
|
||||
<a href="{expression="\IPS\Http\Url::ips('docs/install_guide')"}" target="_blank">{lang="install_docs"}</a>
|
||||
</div>
|
||||
{{endif}}
|
||||
<p style="text-align: right; margin:10px">Nulled by IPBMafia.ru</p>
|
||||
</main>
|
||||
<p style="text-align: right; margin:10px">Nulled by IPBMafia.ru</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -15,12 +15,12 @@ require_once '../../init.php';
|
||||
|
||||
if( \IPS\IN_DEV )
|
||||
{
|
||||
die( "Вы должны отключить Режим разработчика (IN_DEV) для запуска мастера обновлений" );
|
||||
die( "You must disable developer mode (IN_DEV) in order to run the upgrader" );
|
||||
}
|
||||
|
||||
if( \IPS\NO_WRITES )
|
||||
{
|
||||
die( "Вы должны отключить режим, запрещающий запись файлов (NO_WRITES) для запуска мастера обновлений" );
|
||||
die( "You must disable no-writes mode (NO_WRITES) in order to run the upgrader" );
|
||||
}
|
||||
|
||||
if( \IPS\QUERY_LOG )
|
||||
|
||||
+265
-258
@@ -2,86 +2,85 @@
|
||||
|
||||
$lang = array(
|
||||
|
||||
'login' => "Авторизация",
|
||||
'healthcheck' => "Проверка системы",
|
||||
'unfinished_upgrade' => "Незаконченное обновление",
|
||||
'upgrading' => "Начало обновления...",
|
||||
'done' => "Обновление завершено!",
|
||||
'start' => "Старт",
|
||||
'redirecting' => "Перенаправление...",
|
||||
'redirecting_wait' => "Подождите, пока мы перенаправим вас...",
|
||||
'upgrade_step_1' => "Обновление базы данных...",
|
||||
'upgrade_step_2' => "Проверка базы данных...",
|
||||
'upgrade_step_3' => "Обновление приложений...",
|
||||
'upgrade_step_4' => "Обновление настроек, задач, виджетов и поисковых слов...",
|
||||
'upgrade_step_5' => "Обновление языков...",
|
||||
'upgrade_step_6' => "Обновление email шаблонов...",
|
||||
'upgrade_step_7' => "Обновление настроек тем...",
|
||||
'upgrade_step_8' => "Удаление устаревших шаблонов темы, css и изображений...",
|
||||
'upgrade_step_9' => "Обновление шаблонов тем, css и изображений...",
|
||||
'upgrade_step_10' => "Обновление javascript...",
|
||||
'upgrade_complete' => "Процесс обновления завершен и ваш IPS Community Suite готов к использованию!",
|
||||
'upgrade_unfinished' => "Незавершённое обновление",
|
||||
'upgrade_applications' => "Обновляемые приложения",
|
||||
'upgrade_status' => "Статус обновления",
|
||||
'generic_error' => "Произошла неизвестная ошибка",
|
||||
'license_key' => "Лицензионный ключ",
|
||||
'apps' => "Приложения для обновления",
|
||||
'confirmpage' => "Подтвердить обновление",
|
||||
'confirm' => "Подтвердить",
|
||||
'install_ready' => "Готовы начать установку",
|
||||
'install_start' => "Начать установку",
|
||||
'upgrade_error' => "Ошибка обновления",
|
||||
'no_conf_global' => "Не удалось найти файл conf_global.php.",
|
||||
'bad_conf_global' => "Файл conf_global.php недействителен",
|
||||
'create_conf_global' => "Пожалуйста, создайте директорию %s и сделайте её доступной для записи. Если вы не знаете, как это сделать, обратитесь к вашему хостинг-провайдеру.",
|
||||
'session_no_good' => "Нам не удалось запустить PHP сессию. Вам нужно связаться с вашим хостинг-провайдером, чтобы настроить конфигурацию PHP, прежде чем продолжить. Ошибка: %s",
|
||||
'upgrade_group_not_exist' => "У вас нет разрешения на запуск обновления, потому что вашей группы не существует.",
|
||||
'login' => "Login",
|
||||
'healthcheck' => "System Check",
|
||||
'unfinished_upgrade' => "Unfinished Upgrade",
|
||||
'upgrading' => "Starting upgrade...",
|
||||
'done' => "Upgrade Complete!",
|
||||
'start' => "Start",
|
||||
'redirecting' => "Redirecting...",
|
||||
'redirecting_wait' => "Please wait while we transfer you...",
|
||||
'upgrade_step_1' => "Upgrading database...",
|
||||
'upgrade_step_2' => "Checking database...",
|
||||
'upgrade_step_3' => "Upgrading applications...",
|
||||
'upgrade_step_4' => "Upgrading settings, tasks, widgets and search keywords...",
|
||||
'upgrade_step_5' => "Upgrading languages...",
|
||||
'upgrade_step_6' => "Upgrading email templates...",
|
||||
'upgrade_step_7' => "Upgrading theme settings...",
|
||||
'upgrade_step_8' => "Removing old theme templates, css and images...",
|
||||
'upgrade_step_9' => "Upgrading theme templates, css and images...",
|
||||
'upgrade_step_10' => "Upgrading javascript...",
|
||||
'upgrade_complete' => "The upgrade process is now complete and your IPS Community Suite is now ready!",
|
||||
'upgrade_unfinished' => "Unfinished Upgrade",
|
||||
'upgrade_applications' => "Upgrading Applications",
|
||||
'upgrade_status' => "Upgrade Status",
|
||||
'generic_error' => "An unknown error occurred",
|
||||
'license_key' => "License Key",
|
||||
'apps' => "Applications to upgrade",
|
||||
'confirmpage' => "Confirm Upgrade",
|
||||
'confirm' => "Confirm",
|
||||
'install_ready' => "Ready to begin installation",
|
||||
'install_start' => "Start Installation",
|
||||
'upgrade_error' => "Upgrade Error",
|
||||
'no_conf_global' => "Could not locate your conf_global.php file.",
|
||||
'bad_conf_global' => "Your conf_global.php file is invalid",
|
||||
'create_conf_global' => "Please create a %s directory and make it writeable. If you are not sure how to do this, contact your hosting provider.",
|
||||
'session_no_good' => "We were unable to start a PHP session. You will need to contact your host to adjust your PHP configuration before you can continue. The error reported was: %s",
|
||||
'upgrade_group_not_exist' => "You do not have permission to run the upgrader because your group does not exist.",
|
||||
|
||||
'sign_in_short' => "Авторизация",
|
||||
'auth' => "Отображаемое имя или Email",
|
||||
'password' => "Пароль",
|
||||
'error_title' => "Ошибка",
|
||||
'guest' => "Гость",
|
||||
'username' => "Отображаемое имя",
|
||||
'email_address' => "Email адрес",
|
||||
'username_or_email' => "Имя пользователя или Email",
|
||||
'login_err_no_account' => "Введённый Вами %s не принадлежит к какой-либо учётной записи.",
|
||||
'login_err_bad_password' => "Введенный вами пароль недействителен. Пожалуйста, попробуйте еще раз (убедитесь, что отключён Caps Lock).",
|
||||
'login_err_locked_unlock' => "Ваш аккаунт заблокирован. Повторите попытку через {# [1:минуту][2:минуты][3:минуты][4:минуты][?:минут]}.",
|
||||
'login_err_locked_nounlock' => "Ваш аккаунт заблокирован. Повторите попытку позже.",
|
||||
'login_err_no_cookies' => "Ваш браузер не принимает cookies, необходимые для авторизации на сайте.",
|
||||
'sign_in_with_these' => "Или войдите с помощью одного из этих сервисов",
|
||||
'login_err_remote_validate' => "Вы должны подтвердить Ваш аккаунт на другом сайте прежде, чем успешно авторизуетесь. Пожалуйста <a href='%s' target='_blank'>нажмите здесь</a> для подтверждения аккаунта.",
|
||||
'login_connect_generic_error' => "Возникла ошибка вашего запроса авторизации.",
|
||||
'login_upgrader_no_permission' => "У вас нет разрешения на запуск процесса обновления.",
|
||||
'invalid_login_as_user_key' => "Ключ безопасного входа не совпадает",
|
||||
'err_password_length' => "Пароль должен быть не менее 3 символов",
|
||||
'sign_in_faster' => "Авторизуйтесь более быстро",
|
||||
'sign_in_connect' => "Авторизация с помощью одного из этих сервисов.",
|
||||
'login_facebook' => "Войти с помощью Facebook",
|
||||
'login_twitter' => "Войти с помощью Twitter",
|
||||
'login_google' => "Войти с помощью Google",
|
||||
'login_linkedin' => "Войти с помощью LinkedIn",
|
||||
'login_live' => "Войти с помощью Microsoft",
|
||||
'sign_in_short' => "Sign In",
|
||||
'auth' => "Display Name or Email Address",
|
||||
'password' => "Password",
|
||||
'error_title' => "Error",
|
||||
'guest' => "Guest",
|
||||
'username' => "Display Name",
|
||||
'email_address' => "Email Address",
|
||||
'username_or_email' => "Username or Email Address",
|
||||
'login_err_no_account' => "The %s you entered does not belong to any account. Make sure that it is typed correctly.",
|
||||
'login_err_bad_password' => "The password you entered is incorrect. Please try again (make sure your caps lock is off).",
|
||||
'login_err_locked_unlock' => "Your account has been locked. Try again in {# [1:minute][?:minutes]}.",
|
||||
'login_err_locked_nounlock' => "Your account has been locked. Try again later.",
|
||||
'login_err_no_cookies' => "Your browser does not accept cookies which are required in order to log in.",
|
||||
'sign_in_with_these' => "Or sign in with one of these services",
|
||||
'login_err_remote_validate' => "You must validate your account at another site before you can log in successfully. Please <a href='%s' target='_blank'>click here</a> to validate your account.",
|
||||
'login_connect_generic_error' => "There was an error processing your login request at one of the sites in our network.",
|
||||
'login_upgrader_no_permission' => "You do not have permission to run the upgrader.",
|
||||
'invalid_login_as_user_key' => "Secure login key mismatch",
|
||||
'err_password_length' => "Passwords must be at least 3 characters",
|
||||
'sign_in_faster' => "Sign In Faster",
|
||||
'sign_in_connect' => "Sign in via one of these sites.",
|
||||
'login_facebook' => "Sign in with Facebook",
|
||||
'login_twitter' => "Sign in with Twitter",
|
||||
'login_google' => "Sign in with Google",
|
||||
'login_linkedin' => "Sign in with LinkedIn",
|
||||
'login_live' => "Sign in with Microsoft",
|
||||
|
||||
|
||||
'requirements_php_version_success' => "PHP версия %s.",
|
||||
'requirements_php_version_fail' => "Вы используете PHP версии %s. Необходима версия %s или выше (рекомендуется %s или выше). Вы должны связаться с вашим хостинг-провайдером или системным администратором для обновления.",
|
||||
'requirements_php_version_fail_no_recommended' => "Вы используете PHP версии %s. Необходима версия %s или выше. Вы должны связаться с вашим хостинг-провайдером или системным администратором для обновления.",
|
||||
'requirements_php_version_advice' => "Вы используете PHP версии %s. Эта версия совместима, но мы рекомендуем версию %s или выше.",
|
||||
'requirements_curl_success' => "cURL расширение загружено",
|
||||
'requirements_curl_fopen' => "fsockopen функция доступна",
|
||||
'requirements_curl_advice' => "У Вас не загружено PHP расширение cURL или версия данного расширения ниже 7.36. Это рекомендация",
|
||||
'requirements_curl_fail' => "У Вас не загружено PHP расширение cURL (или версия этого расширения ниже 7.36) и функция fsockopen отключена. Вы должны связаться с вашим хостинг-провайдером или системным администратором для установки расширения cURL версии 7.36 или выше, или включения функции fsockopen.",
|
||||
'requirements_mb_success' => "Multibyte String расширение загружено",
|
||||
'requirements_mb_regex' => "Расширение Multibyte String настроено с опцией --disable-mbregex. Вы должны связаться с вашим хостинг-провайдером или системным администратором с просьбой отключить эту опцию у расширения.",
|
||||
'requirements_mb_overload' => "PHP конфигурация имеет настройку mbstring.func_overload со значением больше 0. Вы должны обратиться к вашему хостинг-провайдеру или системному администратору, чтобы отключить перегрузку функций.",
|
||||
'requirements_mb_fail' => "У Вас не загружено PHP расширение Multibyte String, которое является обязательным. Вы должны обратиться к своему хостинг-провайдеру или системному администратору за помощью в установке. Расширение должно быть настроено <em>без</em> опции --disable-mbregex.",
|
||||
'requirements_extension_success' => "%s расширение загружено",
|
||||
'requirements_extension_fail' => "У Вас не загружено PHP расширение %s, которое является обязательным. Вы должны обратиться к своему хостинг-провайдеру или системному администратору за помощью в установке.",
|
||||
'requirements_extension_advice' => "У Вас не загружено PHP расширение %s. Его загрузка не обязательна, но желательна.",
|
||||
'hook_file_not_writable' => "Для продолжения необходимо сделать доступным для записи файл %s (как правило, путем установки CHMOD 0777 для файла или папки плагинов).",
|
||||
'requirements_php_version_success' => "PHP version %s.",
|
||||
'requirements_php_version_fail' => "You are running PHP version %s. You need PHP %s or above (%s or above recommended). You should contact your hosting provider or system administrator to ask for an upgrade.",
|
||||
'requirements_php_version_fail_no_recommended' => "You are running PHP version %s. You need PHP %s or above. You should contact your hosting provider or system administrator to ask for an upgrade.",
|
||||
'requirements_php_version_advice' => "You are running PHP version %s. While this version is compatible, we recommend version %s or above.",
|
||||
'requirements_curl_success' => "cURL extension loaded.",
|
||||
'requirements_curl_fopen' => "fsockopen function available",
|
||||
'requirements_curl_advice' => "You do not have the cURL PHP extension loaded or it is running a version less than 7.36. While this is not required, it is recommended.",
|
||||
'requirements_curl_fail' => "You do not have the cURL PHP extension loaded (or it is running a version less than 7.36) and the fsockopen function is disabled. You should contact your hosting provider or system administrator to ask either for cURL version 7.36 or greater to be installed, or the fsockopen function to be enabled. cURL is recommended.",
|
||||
'requirements_mb_success' => "Multibyte String extension loaded",
|
||||
'requirements_mb_regex' => "The Multibyte String extension has been configured with the --disable-mbregex option. You should contact your hosting provider or system administrator to ask for it to be reconfigured without that option.",
|
||||
'requirements_mb_overload' => "The PHP configuration has mbstring.func_overload set with a value higher than 0. You should contact your hosting provider or system administrator to disable Multibyte function overloading.",
|
||||
'requirements_mb_fail' => "You do not have the Multibyte String PHP extension loaded which is required. You should contact your hosting provider or system administrator to ask for it to be enabled. It must be configured <em>without</em> the --disable-mbregex option.",
|
||||
'requirements_extension_success' => "%s extension loaded",
|
||||
'requirements_extension_fail' => "You do not have the %s PHP extension loaded which is required. You should contact your hosting provider or system administrator to ask for it to be enabled.",
|
||||
'requirements_extension_advice' => "You do not have the %s PHP extension loaded. While this is not required, it is recommended.",
|
||||
'hook_file_not_writable' => "You must make the file %s writeable (usually by setting the CHMOD for the file or the plugins folder to 0777) before you can continue.",
|
||||
'requirements_extension_dom' => "DOM",
|
||||
'requirements_extension_gd' => "GD",
|
||||
'requirements_extension_exif' => "Exif",
|
||||
@@ -94,125 +93,128 @@ $lang = array(
|
||||
'requirements_extension_xmlwriter' => "XMLWriter",
|
||||
'requirements_extension_zip' => "Zip",
|
||||
'requirements_extension_phar' => "Phar",
|
||||
'requirements_memory_limit_success' => "Лимит памяти %s.",
|
||||
'requirements_memory_limit_fail' => "Лимит PHP памяти установлен в %s, однако необходимо 128М или выше. Вы должны обратиться к своему хостинг-провайдеру или системному администратору с просьбой изменить лимит памяти.",
|
||||
'requirements_suhosin_limit' => "PHP настройка %s установлена %s. Это может вызвать некоторы проблемы. Мы рекомендуем значение в %s или выше.",
|
||||
'requirements_suhosin_cookie_encrypt' => "PHP настройка suhosin.cookie.encrypt установлена в значение 1. Это может вызвать проблемы в некоторых областях сайта, например с функцией автоматического сохранения контента в редакторе. Рекомендуется установить настройку в значение 0 для её отключения.",
|
||||
'requirements_mysql_version_success'=> "MySQL версия %s.",
|
||||
'requirements_mysql_version_fail' => "Вы используете MySQL версии %s. Необходима версия MySQL %s или выше (рекомендуется %s или выше). Вы должны обратиться к своему хостинг-провайдеру или системному администратору для повышения версии.",
|
||||
'requirements_mysql_version_advice' => "Вы используете MySQL версии %s. Хотя эта версия совместима, мы рекомендуем %s или выше.",
|
||||
'requirements_mysql_utf8_success' => "Все таблицы базы данных в UTF8.",
|
||||
'requirements_mysql_utf8_fail' => "Некоторые или все столбцы или таблицы в базе данных не используют сравнение UTF-8 (%s). Вы должны <a href='../convertutf8'>сконвертировать вашу базу данных в UTF-8</a> для продолжения.",
|
||||
'requirements_mysql_utf8_info' => "%s %s",
|
||||
'requirements_file_system' => "Файловая система",
|
||||
'requirements_file_writable' => "%s доступна для записи",
|
||||
'dir_does_not_exist' => "%s не существует.",
|
||||
'dir_is_not_writable' => "%s недоступен для записи. Пожалуйста, настройте права доступа или обратитесь к своему хостинг-провайдеру.",
|
||||
'file_storage_test_error_amazon' => "Возникла проблема с настройками хранения файлов в Amazon (%s), которая может вызывать проблемы с загрузкой.<br>После попытки загрузить файл в директорию, URL адрес файла вернул HTTP ошибку %s. Обновите ваши настройки и попробуйте снова.",
|
||||
'ftp_err_no_ext' => "Ваш сервер не поддерживает хранение файлов с помощью протокола FTP. Пожалуйста, свяжитесь с вашим хостинг-провайдером для дополнительной информации.",
|
||||
'ftp_err_no_ssl' => "Ваш сервер не поддерживает хранение файлов с помощью протокола SSL-FTP. Пожалуйста, свяжитесь с вашим хостинг-провайдером и сообщите о том, что OpenSSL PHP расширение должно использовать другой протокол.",
|
||||
'ftp_err_no_sftp' => "Ваш сервер не поддерживает хранение файлов с помощью протокола SFTP. Пожалуйста, свяжитесь с вашим хостинг-провайдером и сообщите о том, что SSH2 PHP расширение должно быть включено или должно использовать другой протокол.",
|
||||
'ftp_err-COULD_NOT_CONNECT' => "Соединение не может быть установлено. Проверьте указанный порт и хост.",
|
||||
'ftp_err-COULD_NOT_LOGIN' => "Ошибка аутентификации. Проверьте имя пользователя и пароль.",
|
||||
'ftp_err-COULD_NOT_CHDIR' => "Не удалось переместить в указанную директорию. Убедитесь в доступности директории.",
|
||||
'ftp_err-COULD_NOT_UPLOAD' => "Не удалось загрузить на FTP сервер. Проверьте разрешения пользователя на запись файлов.",
|
||||
'ftp_err-COULD_NOT_DELETE' => "Не удалось удалить с FTP сервера. Проверьте разрешения пользователя на удаление файлов.",
|
||||
'file_storage_test_error_ftp' => "Возникла проблема с настройками хранения файлов через FTP, которая может вызывать проблемы с загрузкой.<br>После попытки загрузить файл в директорию, URL адрес файла вернул HTTP ошибку %s. Обновите ваши настройки и попробуйте снова.",
|
||||
'file_storage_test_ftp_unexpected_response' => "Возникла проблема с настройками хранения файлов через FTP. Пожалуйста, обратитесь в службу технической поддержки.",
|
||||
'requirements_memory_limit_success' => "%s memory limit.",
|
||||
'requirements_memory_limit_fail' => "Your PHP memory limit is set to %s but should be set to 128M or more. You should contact your hosting provider or system administrator to ask for this to be changed.",
|
||||
'requirements_suhosin_limit' => "PHP setting %s is set to %s. This can cause problems in some areas. We recommended a value of %s or above.",
|
||||
'requirements_suhosin_cookie_encrypt' => "PHP setting suhosin.cookie.encrypt is set to 1. This can cause problems in some areas such as the editor's auto save functionality. We recommended a value of 0 to disable it.",
|
||||
'requirements_mysql_version_success'=> "MySQL version %s.",
|
||||
'requirements_mysql_version_fail' => "You are running MySQL version %s. You need MySQL %s or above (%s or above recommended). You should contact your hosting provider or system administrator to ask for an upgrade.",
|
||||
'requirements_mysql_version_advice' => "You are running MySQL version %s. While this version is compatible, we recommend version %s or above.",
|
||||
'requirements_mysql_utf8_success' => "All database tables UTF8.",
|
||||
'requirements_mysql_utf8_fail' => "Some or all of the tables or columns in your database are not using a UTF-8 collation (%s). You must <a href='../convertutf8'>convert your database to UTF-8</a> in order to continue.",
|
||||
'requirements_mysql_utf8_info' => "%s is %s",
|
||||
'requirements_file_system' => "File System",
|
||||
'requirements_file_writable' => "%s is writable",
|
||||
'dir_does_not_exist' => "%s does not exist.",
|
||||
'dir_is_not_writable' => "%s cannot be written to. Please adjust the permissions on it or contact your hosting provider for assistance.",
|
||||
'file_storage_test_error_amazon' => "There appears to be a problem with your Amazon (%s) file storage settings which can cause problems with uploads.<br> After attempting to upload a file to the directory, the URL to the file is returning a HTTP %s error. Update your settings and then check and see if the problem has been resolved",
|
||||
'ftp_err_no_ext' => "Your server does not support using FTP storage. Please contact your hosting provider to ask for PHP FTP extension to be enabled.",
|
||||
'ftp_err_no_ssl' => "Your server does not support using SSL-FTP storage. Please contact your hosting provider to ask for PHP OpenSSL extension to be enabled or use a different protocol.",
|
||||
'ftp_err_no_sftp' => "Your server does not support using SFTP storage. Please contact your hosting provider to ask for PHP SSH2 extension to be enabled or use a different protocol.",
|
||||
'ftp_err-COULD_NOT_CONNECT' => "A connection to the host could not be established. Check the host and port provided are correct.",
|
||||
'ftp_err-COULD_NOT_LOGIN' => "Authentication failed. Check the username and password provided are correct.",
|
||||
'ftp_err-COULD_NOT_CHDIR' => "Could not move into the directory specified. Check the directory is correct and the user provided has permission to access it.",
|
||||
'ftp_err-COULD_NOT_UPLOAD' => "Could not upload to the FTP server. Check the user has permission to write files.",
|
||||
'ftp_err-COULD_NOT_DELETE' => "Could not delete from the FTP server. Check the user has permission to delete files.",
|
||||
'file_storage_test_error_ftp' => "There appears to be a problem with your FTP (%s) storage settings which can cause problems with uploads.<br> After attempting to upload a file to the directory, the URL to the file is returning a HTTP %s error. Update your settings and then check and see if the problem has been resolved",
|
||||
'file_storage_test_ftp_unexpected_response' => "There appears to be a problem with your FTP (%s) storage settings. Please contact technical support.",
|
||||
|
||||
'session_check_fail' => "Инструмент обновления использует PHP сессии для хранения данных, однако они работают не правильно на вашем сервере. Для решения этого вопроса вам необходимо связаться с вашим хостинг-провайдером.",
|
||||
|
||||
'ipb_reg_number' => "Лицензионный ключ",
|
||||
'license_key_not_found' => "Лицензионный ключ не найден",
|
||||
'license_generic_error' => "Возникла ошибка при соединении с сервером лицензии IPS License Server. Пожалуйста, повторите попытку позже или свяжитесь с технической поддержкой IPS.",
|
||||
'license_server_error' => "Возникла ошибка при соединении с сервером лицензии IPS License Server: %s. Пожалуйста, повторите попытку позже или свяжитесь с технической поддержкой IPS.",
|
||||
'license_key_legacy' => "Указанный лицензионный ключ не совместим с этой версией IPS Community Suite. Пожалуйста, свяжитесь с технической поддержкой компании IPS.",
|
||||
'license_key_active' => "Для данного лицензионного ключа уже была активирована установка. Лицензионный ключ дает вам право только на одну установку. Если Вам нужно изменить URL лицении, пожалуйста, свяжитесь с технической поддержкой компании IPS.",
|
||||
'license_key_test_active' => "Тестовая установка для данного лицензионного ключа уже была активирована. Лицензионный ключ дает вам право только на одну тестовую установку.",
|
||||
|
||||
'upgrade_confirm' => "Ваше сообщество будет обновлено до последней версии. Вы больше не сможете вернуться к прошлой версии, поэтому рекомендуется сделать резервную копию перед продолжением. Ваш хостинг-провайдер или системный администратор сможет сделать резервную копию, если у вас нет знаний в этом.",
|
||||
'upgrade_confirm_cic' => "Ваше сообщество сейчас будет обновлено до последней версии.",
|
||||
'location' => "Шаг",
|
||||
'current_version' => "Текущая версия",
|
||||
'available_version' => "Доступная версия",
|
||||
|
||||
'forums' => "Форумы",
|
||||
'core' => "Система",
|
||||
'blog' => "Блоги",
|
||||
'nexus' => "Магазин",
|
||||
'gallery' => "Галерея",
|
||||
'chat' => "Чат",
|
||||
'downloads' => "Загрузки",
|
||||
'calendar' => "Календарь",
|
||||
|
||||
'apps_will_be_disabled' => "Некоторые приложения не совместимы с ядром. Вы должны обновить все приложения на сайте, в противном случае следующие приложения будут отключены:",
|
||||
'continue_anyway' => "Продолжить всё равно",
|
||||
'go_back' => "Вернуться",
|
||||
'session_check_fail' => "The upgrader uses PHP sessions to store data, however PHP sessions are currently not working correctly on your server. This is an issue you will need to contact your host about.",
|
||||
|
||||
'installer' => "Установка IPS Community Suite - %s",
|
||||
|
||||
'error' => "Ошибка",
|
||||
'page_doesnt_exist' => "Эта страница не существует.",
|
||||
'upgrade_session_error' => "Ключ безопасности, используемый для проверки вашей сесии, отсутствует или недействителен. Это может произойти тогда, когда Вы были неактивные продолжительное время или ссылка, по которой Вы перешли к процессу обновления, недействительна. Пожалуйста, перезагрузите страницу обновления, чтобы решить эту проблему.",
|
||||
'ipb_reg_number' => "License Key",
|
||||
'license_key_not_found' => "The license key could not be found",
|
||||
'license_generic_error' => "There was an error communicating with the IPS License Server. Please try again later or contact IPS technical support for assistance.",
|
||||
'license_server_error' => "There was an error communicating with the IPS License Server: %s. Please try again later or contact IPS technical support for assistance.",
|
||||
'license_key_legacy' => "The license key supplied is not compatible with this version of the IPS Community Suite. Please contact IPS technical support for assistance.",
|
||||
'license_key_active' => "An installation has already been activated for this license key. Your license key entitles you to one installation only. If you need to change the URL associated with your license, contact IPS technical support.",
|
||||
'license_key_test_active' => "A test installation has already been activated for this license key. Your license key entitles you to one test installation only.",
|
||||
|
||||
'err_conf_noexist' => "Для установки IPS Community Suite необходимо переименовать файл <em>conf_global.php.dist</em> в <em>conf_global.php</em>. Если вы не знаете как это сделать, обратитесь к вашему хостинг-провайдеру.",
|
||||
'err_conf_nowrite' => "Для установки IPS Community Suite Вы должны сделать файл <em>conf_global.php</em> доступным для записи. Если вы не знаете как это сделать, обратитесь к вашему хостинг-провайдеру.",
|
||||
'err_tmp_dir_create' => "Ваш сервер не позволяет создавать временные файлы в сконфигурированном временном каталоге. Для решения этой проблемы, пожалуйста, создайте файл с именем constants.php в %s со следующим кодом:<br><br><span><?php<br><br>define( 'TEMP_DIRECTORY', dirname( __FILE__ ) . '/uploads' );</span>",
|
||||
'err_tmp_dir_adjust' => "Ваш сервер не позволяет создавать временные файлы в сконфигурированном временном каталоге. Для решения этой проблемы, пожалуйста, отредактируйте файл с именем constants.php в %s и добавьте следующий код:<br><br><span>define( 'TEMP_DIRECTORY', dirname( __FILE__ ) . '/uploads' );</span>",
|
||||
'err_missing_app_data' => "Данные приложения отсутствуют: %s",
|
||||
|
||||
'form_required' => "Это обязательное для заполнения поле.",
|
||||
|
||||
'step' => "Шаг %d",
|
||||
'continue' => "Продолжить",
|
||||
'install_guide' => "Нужна помощь? Обратитесь к Руководству по установке →",
|
||||
'upgrade_confirm' => "Your community will now be upgraded to the latest version. There is no way to go back to the old version and it is recommended that you backup your community before continuing. Your hosting provider or system administrator will be able to take a backup if you are not sure how to do so.",
|
||||
'upgrade_confirm_cic' => "Your community will now be upgraded to the latest version.",
|
||||
'location' => "Location",
|
||||
'current_version' => "Current Version",
|
||||
'available_version' => "Available Version",
|
||||
|
||||
|
||||
'forums' => "Forums",
|
||||
'core' => "System",
|
||||
'blog' => "Blog",
|
||||
'nexus' => "Nexus",
|
||||
'gallery' => "Gallery",
|
||||
'chat' => "Chat",
|
||||
'downloads' => "Downloads",
|
||||
'calendar' => "Calendar",
|
||||
|
||||
'license' => "Лицензия",
|
||||
'license_inactive' => 'Ваша лицензия в данный момент неактивна. Вам нужно <a href="https://www.invisionpower.com/clientarea" target="_blank">продлить</a> лицензию перед обновлением.',
|
||||
'lkey' => "Ключ лицензии",
|
||||
'lkey_help' => "Помощь",
|
||||
'lkey_err' => "Лицензионный ключ не может быть активирован. Пожалуйста, свяжитесь со службой технической поддержки за помощью.",
|
||||
'lkey_not_providen' => "Ваша лицензия не была предоставлена. Пожалуйста, укажите Ваш лицензионный ключ для продолжения.",
|
||||
'eula' => "Лицензионное соглашение",
|
||||
'eula_suffix' => "Я прочитал и согласен с условиями лицензионного соглашения",
|
||||
'eula_err' => "Вы должны согласиться с лицензионным соглашением.",
|
||||
'apps_will_be_disabled' => "Some applications are not compatible with the core. You need to upgrade all applications in the suite, otherwise the following applications will be disabled:",
|
||||
'continue_anyway' => "Continue Anyway",
|
||||
'go_back' => "Go Back",
|
||||
|
||||
'installer' => "IPS Community Suite Installer - %s",
|
||||
|
||||
'error' => "Error",
|
||||
'page_doesnt_exist' => "That page doesn't exist.",
|
||||
'upgrade_session_error' => "The security token used to validate your session is missing or invalid. This can happen if you have been inactive for a long time or followed an incorrect link to the upgrader. Please restart the upgrader to resolve this issue.",
|
||||
|
||||
'err_conf_noexist' => "In order to install the IPS Community Suite, rename the <em>conf_global.php.dist</em> file to <em>conf_global.php</em>. If you are not sure how to do this, contact your hosting provider.",
|
||||
'err_conf_nowrite' => "In order to install the IPS Community Suite, you must make the <em>conf_global.php</em> writeable. If you are not sure how to do this, contact your hosting provider.",
|
||||
'err_tmp_dir_create' => "Your server does not allow temporary files to be created in the configured temporary directory. To work around this issue please create a file named constants.php at %s with the following code in it:<br><br><span><?php<br><br>define( 'TEMP_DIRECTORY', dirname( __FILE__ ) . '/uploads' );</span>",
|
||||
'err_tmp_dir_adjust' => "Your server does not allow temporary files to be created in the configured temporary directory. To work around this issue please edit the file named constants.php at %s and add following code to it:<br><br><span>define( 'TEMP_DIRECTORY', dirname( __FILE__ ) . '/uploads' );</span>",
|
||||
'err_missing_app_data' => "An application's data file is missing: %s",
|
||||
|
||||
'form_required' => "This field is required.",
|
||||
|
||||
'step' => "Step %d",
|
||||
'continue' => "Continue",
|
||||
'install_guide' => "Need help? Consult the Installation Guide →",
|
||||
|
||||
'applications' => "Приложения",
|
||||
'application' => "Приложение",
|
||||
'license' => "License",
|
||||
'license_inactive' => 'Your license is currently inactive. You will need to <a href="https://www.invisionpower.com/clientarea" target="_blank">renew</a> before you can upgrade.',
|
||||
'lkey' => "License Key",
|
||||
'lkey_help' => "Help",
|
||||
'lkey_err' => "The license key could not be activated. Please contact technical support for further assistance.",
|
||||
'lkey_not_providen' => "Your license has not been provided. Please supply your license key in order to continue.",
|
||||
'eula' => "License Agreement",
|
||||
'eula_suffix' => "I have read and agree to the license agreement",
|
||||
'eula_err' => "You must agree to the license agreement.",
|
||||
|
||||
'err_min_php' => "На Вашем сервере должна быть установлена %s версия PHP или выше (в данный момент установлена %s). Обратитесь к вашему хостинг-провайдеру для возможности обновления.",
|
||||
'err_min_php_setting' => "На Вашем сервере должна быть включена PHP настройка <em>%s</em> до %s или выше (сейчас на сервере - %s). Обратитесь к вашему хостинг-провайдеру для возможности изменения настройки.",
|
||||
'err_php_extension' => "На Вашем сервере должно быть включено PHP расширение <em>%s</em>. Обратитесь к вашему хостинг-провайдеру для возможности включения.",
|
||||
'err_not_writable' => "Директория %s должна быть доступна для записи. Пожалуйста, измените CHMOD на 0777",
|
||||
'applications' => "Applications",
|
||||
'application' => "Application",
|
||||
|
||||
'err_min_php' => "Your server needs to be running PHP %s or higher to install this application (your server is running %s). Contact your hosting provider to have your server upgraded.",
|
||||
'err_min_php_setting' => "Your server needs to have the PHP <em>%s</em> setting set to %s or higher to install this application (your server is set to %s). Contact your hosting provider to have this changed.",
|
||||
'err_php_extension' => "Your server needs to have the PHP <em>%s</em> extension enabled to install this application. Contact your hosting provider to have this enabled.",
|
||||
'err_not_writable' => "The directory %s needs to be writable. Please change the directory's CHMOD to 0777",
|
||||
|
||||
'conf_global_error' => "",
|
||||
|
||||
'install' => "Установка",
|
||||
'upgrade' => "Обновление",
|
||||
'database_collation' => "Проверена таблица %s, проверка остальных",
|
||||
'database_collation_start' => "Проверка сравнения базы данных",
|
||||
'cannot_continue_upgrade' => "Нельзя продолжить это обновление, т.к. сохранённые данные неполны",
|
||||
|
||||
'manual_query_header' => "Требуется ваше действие",
|
||||
'manual_query_auto' => "Попробовать запустить автоматически",
|
||||
'manual_query_manual' => "Я запустил запросы вручную и подтверждаю, что они были выполнены успешно",
|
||||
'manual_query_instructions' => "В базу данных необходимо внести некоторые изменения. Так как изменение нужно внести в объёмную таблицу, автоматический способ может вызвать ошибку. Поэтому, рекомендуется сделать эти изменения вручную, запустив перечисленные ниже запросы с помощью командной строки на вашем MySQL сервере.",
|
||||
'install' => "Install",
|
||||
'upgrade' => "Upgrade",
|
||||
'database_collation' => "Last table checked %s, checking for more",
|
||||
'database_collation_start' => "Checking database collations",
|
||||
'cannot_continue_upgrade' => "Cannot continue with this upgrade as the saved data is incomplete",
|
||||
|
||||
'manual_query_header' => "Manual Action Required",
|
||||
'manual_query_auto' => "Try to run automatically",
|
||||
'manual_query_manual' => "I have run the queries manually and confirm they were run successfully",
|
||||
'manual_query_instructions' => "Some changes need to be made to your database. Because this affects a very large table, doing this automatically may time out. Therefore, it is recommended that you make these changes by manually running the queries listed below through the command line on your MySQL server.",
|
||||
|
||||
/* filesizes */
|
||||
'filesize_Y' => '%s ЙБ',
|
||||
'filesize_Z' => '%s ЗБ',
|
||||
'filesize_E' => '%s ЭБ',
|
||||
'filesize_P' => '%s ПБ',
|
||||
'filesize_T' => '%s ТБ',
|
||||
'filesize_G' => '%s ГБ',
|
||||
'filesize_M' => '%s МБ',
|
||||
'filesize_k' => '%s кБ',
|
||||
'filesize_b' => '%s Б',
|
||||
'unlimited' => "Неограниченно",
|
||||
'filesize_Y' => '%s YB',
|
||||
'filesize_Z' => '%s ZB',
|
||||
'filesize_E' => '%s EB',
|
||||
'filesize_P' => '%s PB',
|
||||
'filesize_T' => '%s TB',
|
||||
'filesize_G' => '%s GB',
|
||||
'filesize_M' => '%s MB',
|
||||
'filesize_k' => '%s kB',
|
||||
'filesize_b' => '%s B',
|
||||
'unlimited' => "Unlimited",
|
||||
|
||||
/* !Countries */
|
||||
'country-AF' => "Afghanistan",
|
||||
'country-AX' => "Г…land Islands",
|
||||
'country-AX' => "Åland Islands",
|
||||
'country-AL' => "Albania",
|
||||
'country-DZ' => "Algeria",
|
||||
'country-AS' => "American Samoa",
|
||||
@@ -265,10 +267,10 @@ $lang = array(
|
||||
'country-CD' => "Congo, The Democratic Republic Of The",
|
||||
'country-CK' => "Cook Islands",
|
||||
'country-CR' => "Costa Rica",
|
||||
'country-CI' => "Côte d’Ivoire",
|
||||
'country-CI' => "Côte d’Ivoire",
|
||||
'country-HR' => "Croatia",
|
||||
'country-CU' => "Cuba",
|
||||
'country-CW' => "CuraГ§ao",
|
||||
'country-CW' => "Curaçao",
|
||||
'country-CY' => "Cyprus",
|
||||
'country-CZ' => "Czech Republic",
|
||||
'country-DK' => "Denmark",
|
||||
@@ -391,11 +393,11 @@ $lang = array(
|
||||
'country-PT' => "Portugal",
|
||||
'country-PR' => "Puerto Rico",
|
||||
'country-QA' => "Qatar",
|
||||
'country-RE' => "RГ©union",
|
||||
'country-RE' => "Réunion",
|
||||
'country-RO' => "Romania",
|
||||
'country-RU' => "Russian Federation",
|
||||
'country-RW' => "Rwanda",
|
||||
'country-BL' => "Saint BarthГ©lemy",
|
||||
'country-BL' => "Saint Barthélemy",
|
||||
'country-SH' => "Saint Helena, Ascension and Tristan Da Cunha",
|
||||
'country-KN' => "Saint Kitts and Nevis",
|
||||
'country-LC' => "Saint Lucia",
|
||||
@@ -460,93 +462,98 @@ $lang = array(
|
||||
'country-YE' => "Yemen",
|
||||
'country-ZM' => "Zambia",
|
||||
'country-ZW' => "Zimbabwe",
|
||||
|
||||
|
||||
|
||||
/* ! 32000 Upgrade options */
|
||||
'32000_avatar_or_photo' => "Фотография профиля",
|
||||
'32000_avatar_or_photo_desc' => "Прошлые версии IP.Board позволяли пользователям указывать как не только фотографию пользователя, но и аватар аккаунта, в последних же версиях пользователи могут указывать только одно изображение своего аккаунта. Если пользователи имеют как аватар, так и фотографию, выберите то фото, которое должно быть сохранено при обновлении.",
|
||||
'avph_avatar' => "Аватар",
|
||||
'avph_photo' => "Фото",
|
||||
|
||||
'32000_avatar_or_photo' => "Profile Photo",
|
||||
'32000_avatar_or_photo_desc' => "While earlier versions of IP.Board allowed users to specify both a profile photo and an account avatar, users are only able to specify one account image in the latest releases of IP.Board. If users have both an avatar and a profile photo, select which one should be retained during the upgrade.",
|
||||
'avph_avatar' => "Avatar",
|
||||
'avph_photo' => "Photo",
|
||||
|
||||
/* ! 40000 Nexus Upgrade Options */
|
||||
'40000_nexus_staff' => "Сотрудники поддержки",
|
||||
'40000_nexus_staff_desc' => "Сотрудники поддержки не могут быть сконвертированы в процессе обновления. Пожалуйста, войдите на форум и установите сотрудников поддержки в качестве администраторов в админцентре, затем произведите обновление и настройте отделы и сотрудников поддержки.",
|
||||
'40000_nexus_modules' => "Дополнительные модули",
|
||||
'40000_nexus_modules_desc' => "Дополнительный код запускается в тех случаях, когда купленные продукты и т.д. не могут быть конвертированы при обновлении. <a href='https://remoteservices.invisionpower.com/docs/devdocs-commerce-actions' target='_blank'>Подробная информация</a>",
|
||||
|
||||
'40000_nexus_staff' => "Support Staff",
|
||||
'40000_nexus_staff_desc' => "Support staff cannot be converted during the upgrade. Please log in and set up support staff as administrators in the admin control panel after the upgrade and then review support department staff settings.",
|
||||
'40000_nexus_modules' => "Custom Modules",
|
||||
'40000_nexus_modules_desc' => "Custom code to run when packages are purchased, etc. cannot be converted during the upgrade. <a href='https://remoteservices.invisionpower.com/docs/devdocs-commerce-actions' target='_blank'>More information</a>",
|
||||
|
||||
/* ! 40000 Forum Upgrade options */
|
||||
'40000_qa_forum' => "Форумы вопрсов и ответов",
|
||||
'40000_qa_forum_desc' => "В предыдущих версиях, вы можете включить функцию 'Вопрос решён' для каждого отдельного форума. IPS 4 улучшает эту функцию, позволяя вам включать режим Вопросов и Ответов, который ползволяет пользователям задавать вопросы, отвечать на вопросы других пользователей и голосовать за ответы.",
|
||||
'40000_qa_forum_0' => "Не конвертировать в режим Вопросов и Ответов",
|
||||
'40000_qa_forum_1' => "Конвертировать форумы с активированной функцией 'Вопрос решён' в режим Вопросов и Ответов",
|
||||
'40000_qa_forum' => "Question and Answer Forums",
|
||||
'40000_qa_forum_desc' => "In previous versions, you could enable a 'Mark Solved' feature on a per-forum basis. IPS 4 enhances this so you can enable a Question and Answer mode which allows members to ask questions, answer other's and rate answers.",
|
||||
'40000_qa_forum_0' => "Don't convert to Question and Answer mode",
|
||||
'40000_qa_forum_1' => "Convert 'Mark Solved' forums to Question and Answer mode",
|
||||
|
||||
|
||||
/* ! 40000 Core Upgrade options */
|
||||
'40000_username_or_displayname' => "Отображаемое имя пользователя",
|
||||
'40000_username_or_displayname_desc' => "Прошлые версии IP.Board позволяли пользователям указывать как имя пользователя для авторизации, так и отображаемое имя для показа в сообщениях. Последняя версия позволяет выбрать только одно или другое имя пользователя. В последних версиях Вы можете авторизоваться при помощи своего Email адреса, мы рекомендуем оставить отображаемое имя, т.к. большинство пользователей привыкло их видеть.",
|
||||
'40000_name' => "Имя пользователя",
|
||||
'40000_display_name' => "Отображаемое имя",
|
||||
'40000_acp_restrictions' => "Ограничения админцентра",
|
||||
|
||||
'40000_username_or_displayname' => "User's Display Name",
|
||||
'40000_username_or_displayname_desc' => "Earlier versions of IP.Board allowed users to specify a username that can be used to log in and a separate display name to be shown on posts. The latest version only allows one or the other. In the latest versions, you can log in with an email address so we recommend keeping the display name which is what most are used to seeing.",
|
||||
'40000_name' => "Username",
|
||||
'40000_display_name' => "Display Name",
|
||||
'40000_acp_restrictions' => "ACP Restrictions",
|
||||
|
||||
/* ! 42000 Gallery Upgrade options */
|
||||
'42000_members_album' => "Выберите категорию Пользовательского Альбома",
|
||||
'42000_new_members_album' => "Или создайте новую категорию",
|
||||
'42000_members_album' => "Select the Member's Album category",
|
||||
'42000_new_members_album' => "Or create a new Member's Album category",
|
||||
|
||||
/* ! 40000 CMS options */
|
||||
'cms_database_title' => "Выберите страницу для базы данных %s",
|
||||
'cms_database_desc' => "В 4.0 база данных может быть встроена только в одну страницу. Выберите страницу, на которой будет располагаться база данных. Она будет удалена из всех остальных страницах.",
|
||||
|
||||
/* ! 100003 Convert Friend Options */
|
||||
'100003_follow_options' => "Конвертировать друзей в подписчиков?",
|
||||
'100003_no_convert' => "Не конвертировать",
|
||||
'100003_convert' => "Конвертировать",
|
||||
'100003_convert_desc' => "В новой версии IPS Community Suite, пользователи больше не могут добавлять других пользователей в качестве друзей. Однако, пользователи могут подписываться на других пользователей и получать уведомления, когда пользователи, на которых подписаны, публикуют любую информацию. Вы можете конвертировать друзей в подписчиков, таким образом, пользователи, являющиеся друзями других пользователей, будут получать нежелательные уведомления. Мы не рекомендуем конвертировать друзей в подписчики.",
|
||||
|
||||
'cms_database_title' => "Select page for database %s",
|
||||
'cms_database_desc' => "A database may only be embedded into one page in 4.0. Select which page the database should remain embedded on. It will be removed from all other pages.",
|
||||
|
||||
/* ! 100003 Convert Friend Options */
|
||||
'100003_follow_options' => "Convert friends to followers?",
|
||||
'100003_no_convert' => "Don't convert",
|
||||
'100003_convert' => "Convert",
|
||||
'100003_convert_desc' => "In this version of IPS Community Suite, members can no longer add other members as friends. However members can follow other members and receive notifications when the members they are following post. You can convert friends to followers, so any members who are friends with another member will now be following them, however this will mean they will start receiving notifications which may be undesired. It is recommended you do not convert.",
|
||||
|
||||
/* ! 101000 revert globalTemplate */
|
||||
'101000_globalTemplate_revert' => "Восстановить пользовательские темы, содержащие устаревшие шаблоны globalTemplate?",
|
||||
'101000_globalTemplate_revert_desc' => "В IPS Community Suite 4.1 был удалён шаблон 'utilitiesMenu', который используется в globalTemplate. После обновления, вы можете увидеть сообщение о том, что тема устарела, если не отмените изменения.<br><strong>Отмена изменений в шаблонах удалит все правки.</strong>",
|
||||
'101000_yes' => "Да, отменить изменения",
|
||||
'101000_no' => "Нет, я вручную внесу изменения в шаблоны после обновления",
|
||||
'101000_globalTemplate_revert' => "Revert custom themes which contain out of date globalTemplate templates?",
|
||||
'101000_globalTemplate_revert_desc' => "In IPS Community Suite 4.1, the template 'utilitiesMenu' has been removed. This is used within the globalTemplate. After upgrading, you may see a message about the theme being out of date if you do not revert.<br><strong>Reverting templates will lose any customizations</strong>",
|
||||
'101000_yes' => "Yes, revert losing customiztions",
|
||||
'101000_no' => "No, I will manually adjust the templates after upgrading",
|
||||
|
||||
/* ! CMS 101000 Options */
|
||||
'40000_cms_htmlconversion' => "HTML код",
|
||||
'40000_cms_htmlconversion_desc' => "HTML в страницах, блоках и шаблонах в приложении не может быть конвертирован при обновлении. В то время как эти страницы и блоки будут продолжать работать, вы сможете интегрировать HTML код в общий стиль IPS Community Suite после обновления.",
|
||||
'40000_cms_htmlconversion' => "Pages HTML",
|
||||
'40000_cms_htmlconversion_desc' => "HTML in pages, blocks and templates in Pages cannot be converted during the upgrade. While those pages and blocks will continue to work, you may wish to adjust the HTML following the upgrade to integrate the styling used by the Community Suite 4.0.",
|
||||
|
||||
'third_party_stuff_disabled' => "You have some third party applications or plugins installed which can potentially cause problems during or after upgrading and have been disabled.",
|
||||
'third_party_stuff_disabled_apps' => "The following third party applications were disabled:",
|
||||
'third_party_stuff_disabled_plugins'=> "The following third party plugins were disabled:",
|
||||
'third_party_stuff_disabled_end' => "After upgrading you can visit the AdminCP to individually enable the applications and plugins one at a time and verify they work correctly.",
|
||||
'101000_disable_3rdparty' => "Disabled Applications & Plugins",
|
||||
|
||||
'no_apps_upgrade' => 'There are no applications available to upgrade',
|
||||
'exit_upgrader' => "Exit upgrader",
|
||||
'retry' => "Retry?",
|
||||
'convert_charset' => "Convert character set",
|
||||
'convert_charset_info' => "Your community suite data or database configuration is saved in an encoding other than UTF-8. Before your site can be upgraded, we must convert the encoding to UTF-8.",
|
||||
'start_upgrade' => "Start Upgrade",
|
||||
'continue_upgrade' => "Continue Upgrade",
|
||||
'start_fresh_upgrade' => "Start Fresh Upgrade",
|
||||
'continue_not_set' => "Not set",
|
||||
'unfinished_upgrade_info' => "You have an unfinished upgrade from %s",
|
||||
'hc_designers_mode' => "Designers' Mode On",
|
||||
'hc_designers_enabled' => "Designers' Mode is currently enabled.",
|
||||
'hc_disable_designers' => "Disable Designers' Mode now",
|
||||
'hc_designers_dis_info' => "Disabling Designers' Mode now will <strong>not</strong> synchronize your templates.<br>If you need to save your edited files, please synchronize them via the ACP > Customization > Themes before disabling Designer's Mode.",
|
||||
'hc_requirements' => "%s Requirements",
|
||||
'hc_recommendations' => "Recommendations",
|
||||
'hc_recommendations_info' => "None of these items are required in order to continue with the upgrade right now. However, they will be required in a future version of IPS Community Suite. You should make a note of them and contact your hosting provider or system administrator after the upgrade to address them. You can re-run these checks later from the <em>Support</em> section of the Administrator Control Panel.",
|
||||
'hc_no_continue' => "You must correct any issues listed above before you can proceed",
|
||||
'upgrader_banner' => "Upgrade IPS Community Suite 4",
|
||||
'upgradeoptions' => 'Upgrade Options',
|
||||
'done_banner' => "Your IPS Community Suite 4 is ready",
|
||||
'go_to_suite' => "Go to the suite",
|
||||
'go_to_acp' => "Go to the AdminCP",
|
||||
'suite_docs' => "Suite Documentation",
|
||||
'start_banner' => "Welcome to IPS Community Suite 4",
|
||||
'start_info' => "This process will install your software for you. Be sure you have your license key and MySQL database details to hand.",
|
||||
'install_docs' => "Install Guide",
|
||||
'js_confirm_mrerror' => 'The server encountered multiple instances where it has stopped responding.\nPress \'OK\' to reload this page and re-run this installation step.',
|
||||
|
||||
|
||||
'diagnostics_reporting' => "Send diagnostics data to IPS?",
|
||||
'diagnostics_reporting_desc' => "This distribution is nulled and this setting does not work. Help IPS Community Suite improve by automatically sending usage and diagnostic information. The data sent does not contain any private information about your users or your community.",
|
||||
|
||||
'third_party_stuff_disabled' => "У вас установлены приложения или плагины сторонних разработчиков, которые потенциально могут вызвать проблемы во время или после обновления и были отключены.",
|
||||
'third_party_stuff_disabled_apps' => "Следующие сторонние приложения были отключены:",
|
||||
'third_party_stuff_disabled_plugins'=> "Следующие сторонние плагины были отключены:",
|
||||
'third_party_stuff_disabled_end' => "После обновления вы можете посетить админцентр и поочерёдно включить каждое приложение или плагин и удостовериться в их работоспособности.",
|
||||
'101000_disable_3rdparty' => "Отключённые Приложения и Плагины",
|
||||
|
||||
'no_apps_upgrade' => 'Доступных для обновления приложений нет',
|
||||
'exit_upgrader' => "Выйти из обновления",
|
||||
'retry' => "Повторить?",
|
||||
'convert_charset' => "Конвертирование набора символов",
|
||||
'convert_charset_info' => "Ваши данные сообщества или конфигурация базы данных сохраняет данные в кодировке, отличной от UTF-8. Перед обновлением Вашего сайта, мы должны конвертировать кодировку в UTF-8.",
|
||||
'start_upgrade' => "Начать обновление",
|
||||
'continue_upgrade' => "Продолжить обгновление",
|
||||
'start_fresh_upgrade' => "Начать новое обновление",
|
||||
'continue_not_set' => "Не установлено",
|
||||
'unfinished_upgrade_info' => "У вас есть незавершенный обновление с %s",
|
||||
'hc_designers_mode' => "Режим Дизайнеров включён",
|
||||
'hc_designers_enabled' => "Режим Дизайнеров в настоящее время включён",
|
||||
'hc_disable_designers' => "Отключить Режим Дизайнеров",
|
||||
'hc_designers_dis_info' => "Отключение Режима Дизайнеров <strong>НЕ</strong> синхронизирует ваши шаблоны.<br>Если вам нужно сохранить отредактированные файлы, пожалуйста, синхронизируйте их с помощью Админцентра > Кастомизация > Темы перед отключением Режима Дизайнеров.",
|
||||
'hc_requirements' => "%s Требования",
|
||||
'hc_recommendations' => "Рекомендации",
|
||||
'hc_recommendations_info' => "Ни одно из этих требований не мешает произвести установку прямо сейчас. Тем не менее, эти требования будет необходимы для будущих версий IPS Community Suite. Вы должны принять это к сведению и связаться с вашим хостинг-провайдером или системным администратором после установки. Вы можете повторно запустить эту проверку требований позже из раздела <em>Поддержка</em> админцентра.",
|
||||
'hc_no_continue' => "Вы должны исправить все проблемы, указанные выше, перед продолжением",
|
||||
'upgrader_banner' => "Обновление IPS Community Suite 4",
|
||||
'upgradeoptions' => 'Параметры обновления',
|
||||
'done_banner' => "Ваш IPS Community Suite 4 готов к работе",
|
||||
'go_to_suite' => "Перейти на сайт",
|
||||
'go_to_acp' => "Админцентр",
|
||||
'suite_docs' => "Документация",
|
||||
'start_banner' => "Добро пожаловать в IPS Community Suite 4",
|
||||
'start_info' => "Этот процесс установит ваше программное обеспечение для вас. Убедитесь в том, что у Вас есть лицензионный ключ и данные от базы данных MySQL под рукой.",
|
||||
'install_docs' => "Руководство по установке",
|
||||
'js_confirm_mrerror' => 'Сервер обнаружил несколько случаев, когда ему не удалось ответить на запросы.\Нажмите \'OK\' для перезагрузки этой страницы и повтора этого шага установки.',
|
||||
'diagnostics_reporting' => "Отправить данные для диагностики в IPS?",
|
||||
'diagnostics_reporting_desc' => "Помогите улучшить IPS Community Suite путём автоматической отправки необходимых данных. Отправляемые данные не содержат никакой конфиденциальной информации о ваших пользователях или о вашем сообществе.",
|
||||
|
||||
|
||||
);
|
||||
@@ -1,163 +1,126 @@
|
||||
{
|
||||
"app=blog&module=blogs&controller=blogs": {
|
||||
"lang_key": "menu__blog_blogs_blogs",
|
||||
"restriction": "blogs_manage",
|
||||
"keywords": [
|
||||
"blogs",
|
||||
"group blogs",
|
||||
"manage blogs",
|
||||
"блоги",
|
||||
"управление блогами",
|
||||
"групповые блоги"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=blogs&do=form": {
|
||||
"lang_key": "menu__blog_blogs_blogs",
|
||||
"restriction": "blogs_manage",
|
||||
"keywords": [
|
||||
"add blog",
|
||||
"создать блог",
|
||||
"добавить блог"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=blogs&searchResult=blog_desc_wrap": {
|
||||
"lang_key": "blog_desc",
|
||||
"restriction": "blogs_manage",
|
||||
"keywords": [
|
||||
"blog description",
|
||||
"описание блога"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=blogs&searchResult=blog_member_id": {
|
||||
"lang_key": "blog_member_id",
|
||||
"restriction": "blogs_manage",
|
||||
"keywords": [
|
||||
"blog author",
|
||||
"автор блога"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=blogs&searchResult=blog_name": {
|
||||
"lang_key": "blog_name",
|
||||
"restriction": "blogs_manage",
|
||||
"keywords": [
|
||||
"blog name",
|
||||
"название блога",
|
||||
"имя блога"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=blogs&searchResult=form_1_blog_enable_rss": {
|
||||
"lang_key": "blog_enable_rss",
|
||||
"restriction": "blogs_manage",
|
||||
"keywords": [
|
||||
"blog rss feed",
|
||||
"rss лента",
|
||||
"rss лента блога"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=blogs&searchResult=form_1_blog_type": {
|
||||
"lang_key": "blog_type",
|
||||
"restriction": "blogs_manage",
|
||||
"keywords": [
|
||||
"blog author",
|
||||
"group blog",
|
||||
"автор блога",
|
||||
"блог группы",
|
||||
"групповой блог"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=blogs&searchResult=form_new_blog_enable_rss": {
|
||||
"lang_key": "blog_enable_rss",
|
||||
"restriction": "blogs_manage",
|
||||
"keywords": [
|
||||
"blog rss feed",
|
||||
"rss feed",
|
||||
"rss лента",
|
||||
"rss лента блога"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=blogs&searchResult=form_new_blog_type": {
|
||||
"lang_key": "blog_type",
|
||||
"restriction": "blogs_manage",
|
||||
"keywords": [
|
||||
"blog type",
|
||||
"group blog",
|
||||
"тип блога",
|
||||
"блог группы",
|
||||
"групповой блог"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=settings": {
|
||||
"lang_key": "menu__blog_blogs_settings",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"blog settings",
|
||||
"настройки блога"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=settings&searchResult=form_blog_allow_rss": {
|
||||
"lang_key": "blog_allow_rss",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"blog rss export",
|
||||
"rss export",
|
||||
"rss лента",
|
||||
"rss лента блога",
|
||||
"экспорт RSS"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=settings&searchResult=form_blog_allow_rssimport": {
|
||||
"lang_key": "blog_allow_rssimport",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"blog rss import",
|
||||
"rss import",
|
||||
"импорт rss",
|
||||
"rss импорт",
|
||||
"rss импорт блога"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=settings&searchResult=form_blog_enable_rating": {
|
||||
"lang_key": "blog_enable_rating",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"blog ratings",
|
||||
"ratings",
|
||||
"рейтинги блога",
|
||||
"рейтинг",
|
||||
"рейтинги"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_g_blog_allowlocal": {
|
||||
"lang_key": "g_blog_allowlocal",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"blogs",
|
||||
"blogs permission",
|
||||
"create blogs",
|
||||
"post blogs",
|
||||
"создать блог",
|
||||
"блоги",
|
||||
"создавать блоги"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_blog_allowdelete": {
|
||||
"lang_key": "g_blog_allowdelete",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"delete blogs",
|
||||
"delete own blogs",
|
||||
"удаление блога",
|
||||
"удалять свои блоги",
|
||||
"удалить свой блог"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_blog_allowprivate": {
|
||||
"lang_key": "g_blog_allowprivate",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"private blogs",
|
||||
"приватные блоги",
|
||||
"личные блоги"
|
||||
]
|
||||
}
|
||||
{
|
||||
"app=blog&module=blogs&controller=blogs": {
|
||||
"lang_key": "menu__blog_blogs_blogs",
|
||||
"restriction": "blogs_manage",
|
||||
"keywords": [
|
||||
"blogs",
|
||||
"group blogs",
|
||||
"manage blogs"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=blogs&do=form": {
|
||||
"lang_key": "menu__blog_blogs_blogs",
|
||||
"restriction": "blogs_manage",
|
||||
"keywords": [
|
||||
"add blog"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=blogs&searchResult=blog_desc_wrap": {
|
||||
"lang_key": "blog_desc",
|
||||
"restriction": "blogs_manage",
|
||||
"keywords": [
|
||||
"blog description"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=blogs&searchResult=blog_member_id": {
|
||||
"lang_key": "blog_member_id",
|
||||
"restriction": "blogs_manage",
|
||||
"keywords": [
|
||||
"blog author"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=blogs&searchResult=blog_name": {
|
||||
"lang_key": "blog_name",
|
||||
"restriction": "blogs_manage",
|
||||
"keywords": [
|
||||
"blog name"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=blogs&searchResult=form_1_blog_enable_rss": {
|
||||
"lang_key": "blog_enable_rss",
|
||||
"restriction": "blogs_manage",
|
||||
"keywords": [
|
||||
"blog rss feed"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=blogs&searchResult=form_1_blog_type": {
|
||||
"lang_key": "blog_type",
|
||||
"restriction": "blogs_manage",
|
||||
"keywords": [
|
||||
"blog author",
|
||||
"group blog"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=blogs&searchResult=form_new_blog_enable_rss": {
|
||||
"lang_key": "blog_enable_rss",
|
||||
"restriction": "blogs_manage",
|
||||
"keywords": [
|
||||
"blog rss feed",
|
||||
"rss feed"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=blogs&searchResult=form_new_blog_type": {
|
||||
"lang_key": "blog_type",
|
||||
"restriction": "blogs_manage",
|
||||
"keywords": [
|
||||
"blog type",
|
||||
"group blog"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=settings": {
|
||||
"lang_key": "menu__blog_blogs_settings",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"blog settings"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=settings&searchResult=form_blog_allow_rss": {
|
||||
"lang_key": "blog_allow_rss",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"blog rss export",
|
||||
"rss export"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=settings&searchResult=form_blog_allow_rssimport": {
|
||||
"lang_key": "blog_allow_rssimport",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"blog rss import",
|
||||
"rss import"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=settings&searchResult=form_blog_enable_rating": {
|
||||
"lang_key": "blog_enable_rating",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"blog ratings",
|
||||
"ratings"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_g_blog_allowlocal": {
|
||||
"lang_key": "g_blog_allowlocal",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"blogs",
|
||||
"blogs permission",
|
||||
"create blogs",
|
||||
"post blogs"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_blog_allowdelete": {
|
||||
"lang_key": "g_blog_allowdelete",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"delete blogs",
|
||||
"delete own blogs"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_blog_allowprivate": {
|
||||
"lang_key": "g_blog_allowprivate",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"private blogs"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<javascript app="blog">
|
||||
<file javascript_app="blog" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.list.js" javascript_type="controller" javascript_version="101093" javascript_position="1000050">/**
|
||||
<file javascript_app="blog" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.list.js" javascript_type="controller" javascript_version="101099" javascript_position="1000050">/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2013 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="blog" version="101093">
|
||||
<app key="blog" version="101099">
|
||||
<word key="__app_blog" js="0">Blogs</word>
|
||||
<word key="frontnavigation_blogs" js="0">Blogs</word>
|
||||
<word key="__indefart_blog_entry_comment" js="0">a comment on a blog entry</word>
|
||||
|
||||
@@ -1,242 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="blog" version="101093">
|
||||
<word key_rus="Блоги" key="__app_blog" js="0">Blogs</word>
|
||||
<word key_rus="Блоги" key="frontnavigation_blogs" js="0">Blogs</word>
|
||||
<word key_rus="комментарий на запись в блоге" key="__indefart_blog_entry_comment" js="0">a comment on a blog entry</word>
|
||||
<word key_rus="блог" key="blog_entry_container" js="0">blog</word>
|
||||
<word key_rus="записи блога" key="blog_entry_pl_lc" js="0">blog entries</word>
|
||||
<word key_rus="запись в блоге" key="__indefart_blog_entry" js="0">a blog entry</word>
|
||||
<word key_rus="комментарий к записи блога" key="__defart_blog_entry_comment" js="0">comment on a blog entry</word>
|
||||
<word key_rus="запись блога" key="__defart_blog_entry" js="0">blog entry</word>
|
||||
<word key_rus="Блоги" key="module__blog_blogs" js="0">Blogs</word>
|
||||
<word key_rus="Блоги" key="menu__blog_blogs" js="0">Blogs</word>
|
||||
<word key_rus="Настройки" key="menu__blog_blogs_settings" js="0">Settings</word>
|
||||
<word key_rus="Блоги" key="menu__blog_blogs_blogs" js="0">Blogs</word>
|
||||
<word key_rus="Блоги" key="acp_search_title_blog_Blogs" js="0">Blogs</word>
|
||||
<word key_rus="Автоматически опубликованные записи блога (%s опубликовано)" key="acplog__entries_published" js="0">Automatically published blog entries (%s published)</word>
|
||||
<word key_rus="Записи блогов" key="filestorage__blog_Entries" js="0">Blog Entries</word>
|
||||
<word key_rus="Добавить блог" key="add_blog" js="0">Add Blog</word>
|
||||
<word key_rus="Обзор блога" key="block_blog_Overview" js="0">Blog Overview</word>
|
||||
<word key_rus="Блоги" key="editor__blog_Blogs" js="0">Blogs</word>
|
||||
<word key_rus="Записи блога" key="editor__blog_Entries" js="0">Blog Entries</word>
|
||||
<word key_rus="Проверка RSS/Atom лент на новые статьи и импорт в Блоги." key="task__blogrssimport" js="0">Checks RSS/Atom feeds for new articles and imports into Blogs.</word>
|
||||
<word key_rus="Обложки блогов" key="filestorage__blog_Blogs" js="0">Blog Cover Photos</word>
|
||||
<word key_rus="Блог" key="entry_blog_id" js="0">Blog</word>
|
||||
<word key_rus="Блоги" key="r__blogs" js="0">Blogs</word>
|
||||
<word key_rus="Можно редактировать настройки блога?" key="r__blog_settings_manage" js="0">Can edit blog settings?</word>
|
||||
<word key_rus="Можно управлять блогами?" key="r__blogs_manage" js="0">Can manage blogs?</word>
|
||||
<word key_rus="Пользователь был удалён" key="blog_member_deleted" js="0">Member has been deleted</word>
|
||||
<word key_rus="Перестроение изображений записей блога" key="rebuilding_blog_entry_images" js="0">Rebuilding blog entry images</word>
|
||||
<word key_rus="Обновленные настройки блога" key="acplogs__blog_settings" js="0">Updated blog settings</word>
|
||||
<word key_rus="Включить рейтинги блогов?" key="blog_enable_rating" js="0">Enable blog ratings?</word>
|
||||
<word key_rus="Настройки RSS" key="blog_settings_rss" js="0">RSS Settings</word>
|
||||
<word key_rus="Разрешить RSS импорт" key="blog_allow_rssimport" js="0">Allow RSS imports</word>
|
||||
<word key_rus="Разрешить RSS экспорт" key="blog_allow_rss" js="0">Allow RSS exports</word>
|
||||
<word key_rus="Будет отображён контент, доступный для гостей. Для получения дополнительных возможностей, создайте <a href='{internal.app=core&module=discovery&controller=rss}'>Пользовательскую RSS ленту</a>" key="blog_allow_rss_desc" js="0"><![CDATA[Only content that is available to guests will be shown. For more options, create a <a href='{internal.app=core&module=discovery&controller=rss}'>Custom RSS Feed</a>]]></word>
|
||||
<word key_rus="Блоги" key="blogs" js="0">Blogs</word>
|
||||
<word key_rus="Название блога" key="blog_word_custom" js="0">Blog Name</word>
|
||||
<word key_rus="Автор блога" key="blog_blog_member_id" js="0">Blog Author</word>
|
||||
<word key_rus="Блог" key="blogs_sg" js="0">Blog</word>
|
||||
<word key_rus="Создать блог" key="create_blog" js="0">Create a blog</word>
|
||||
<word key_rus="Создать новый блог" key="create_new_blog" js="0">Create a new blog</word>
|
||||
<word key_rus="Добавить запись в блог" key="add_entry_to" js="0">Add entry to a blog</word>
|
||||
<word key_rus="Запись блога" key="blog_entry" js="0">Blog Entry</word>
|
||||
<word key_rus="Записи блога" key="blog_entry_pl" js="0">Blog Entries</word>
|
||||
<word key_rus="Комментарии блога" key="blog_entry_comment" js="0">Blog Comment</word>
|
||||
<word key_rus="Добавить запись" key="add_blog_entry" js="0">Add Blog Entry</word>
|
||||
<word key_rus="Записи блога" key="entry_pl" js="0">Blog Entries</word>
|
||||
<word key_rus="Комментарии блога" key="blog_entry_comment_pl" js="0">Blog Comments</word>
|
||||
<word key_rus="комментарии блога" key="blog_entry_comment_pl_lc" js="0">blog comments</word>
|
||||
<word key_rus="Комментарии" key="entry_comments" js="0">Comments</word>
|
||||
<word key_rus="{!# [*1:просмотр][*2:просмотра][*3:просмотра][*4:просмотра][11:просмотров][12:просмотров][13:просмотров][14:просмотров][?:просмотров]}" key="blog_num_views" js="0">{!# [1:view][?:views]}</word>
|
||||
<word key_rus="Управление блогом" key="manage_blog" js="0">Manage Blog</word>
|
||||
<word key_rus="Выбор блога" key="select_blog" js="0">Select Blog</word>
|
||||
<word key_rus="Этот блог" key="search_contextual_item_blogs" js="0">This Blog</word>
|
||||
<word key_rus="Эта запись" key="search_contextual_item_blog_entry" js="0">This Entry</word>
|
||||
<word key_rus="Настройки блога" key="blog_settings" js="0">Blog Settings</word>
|
||||
<word key_rus="Название" key="blog_name" js="0">Name</word>
|
||||
<word key_rus="Название" key="blog_name_group" js="0">Name</word>
|
||||
<word key_rus="Описание" key="blog_desc" js="0">Description</word>
|
||||
<word key_rus="Описание" key="blog_desc_group" js="0">Description</word>
|
||||
<word key_rus="Добавить описание..." key="blog_desc_placeholder" js="0">Add a description...</word>
|
||||
<word key_rus="Тип" key="blog_type" js="0">Type</word>
|
||||
<word key_rus="Один автор" key="blog_type_normal" js="0">Single author</word>
|
||||
<word key_rus="Группа" key="blog_type_group" js="0">Group</word>
|
||||
<word key_rus="Групповые блоги управляются всеми пользователям выбранных групп." key="blog_type_group_desc" js="0">Group blogs are jointly managed by all members in selected groups.</word>
|
||||
<word key_rus="Группы" key="blog_groupblog_ids" js="0">Groups</word>
|
||||
<word key_rus="Автор" key="blog_member_id" js="0">Author</word>
|
||||
<word key_rus="Название группы" key="blog_groupblog_name" js="0">Group Name</word>
|
||||
<word key_rus="Используется вместо имени владельца при просмотре группового блога." key="blog_groupblog_name_desc" js="0">Used in place of the owner's name when viewing a Group Blog.</word>
|
||||
<word key_rus="Изменить блог" key="edit_blog" js="0">Edit Blog</word>
|
||||
<word key_rus="Удалить блог" key="delete_blog" js="0">Delete Blog</word>
|
||||
<word key_rus="Приватность" key="blog_privacy" js="0">Privacy</word>
|
||||
<word key_rus="Все пользователи могут читать этот блог" key="blog_privacy_open" js="0">Everyone can read this blog</word>
|
||||
<word key_rus="Только выбранные мной пользователи могут читать этот блог" key="blog_privacy_private" js="0">Only the members I choose can read this blog</word>
|
||||
<word key_rus="Кто может читать этот блог" key="blog_social_group" js="0">Members allowed to read this blog</word>
|
||||
<word key_rus="Автор блога не выбран" key="no_blog_author_selected" js="0">No Blog Author selected</word>
|
||||
<word key_rus="Удалён блог %s" key="modlog__action_delete_blog" js="0">Deleted Blog %s</word>
|
||||
<word key_rus="Вы уверены, что хотите удалить этот блог?" key="delete_blog_confirm" js="0">Are you sure you want to delete this blog?</word>
|
||||
<word key_rus="Создать новую запись в блоге" key="submit_entry" js="0">Submit New Blog Entry</word>
|
||||
<word key_rus="Название" key="blog_entry_title" js="0">Title</word>
|
||||
<word key_rus="Теги" key="blog_entry_tags" js="0">Tags</word>
|
||||
<word key_rus="Автоподписка" key="blog_entry_auto_follow" js="0">Auto Follow</word>
|
||||
<word key_rus="Сообщить мне при публикации комментариев" key="blog_entry_auto_follow_suffix" js="0">Notify me when other comments are posted</word>
|
||||
<word key_rus="Контент" key="blog_entry_content" js="0">Content</word>
|
||||
<word key_rus="Дата публикации" key="blog_entry_date" js="0">Publish Time</word>
|
||||
<word key_rus="Опубликовать" key="blog_entry_publish" js="0">Publish</word>
|
||||
<word key_rus="Запись блога" key="blog_entry_mainTab" js="0">Blog Entry</word>
|
||||
<word key_rus="Опрос" key="blog_entry_pollTab" js="0">Poll</word>
|
||||
<word key_rus="" key="blog_entry_poll" js="0"></word>
|
||||
<word key_rus="Добавить запись в блог" key="create_blog_entry" js="0">Create Blog Entry</word>
|
||||
<word key_rus="Добавить запись" key="entry_submit" js="0">Submit Entry</word>
|
||||
<word key_rus="Детали записи" key="entry_information" js="0">Entry Details</word>
|
||||
<word key_rus="Сохранить" key="blog_entry__save" js="0">Save</word>
|
||||
<word key_rus="IP-адрес" key="entry_ip_address" js="0">IP Address</word>
|
||||
<word key_rus="Альбом" key="entry_gallery_album" js="0">Album</word>
|
||||
<word key_rus="Вы можете связать альбом из Галереи с этой записью для отображения изображений рядом с содержимым данной записи" key="entry_gallery_album_desc" js="0">You can associate an album from the Gallery with this entry to display images alongside the entry content</word>
|
||||
<word key_rus="Лента записей блогов" key="block_entryFeed" js="0">Blog Entry Feed</word>
|
||||
<word key_rus="Создание ленты записей из блогов" key="block_entryFeed_desc" js="0">Create a feed of blog entries</word>
|
||||
<word key_rus="Блоги" key="widget_feed_container_blog_entry" js="0">Blogs</word>
|
||||
<word key_rus="Последние комментарии из ваших блогов" key="block_latestComments" js="0">Latest Comments From Your Blogs</word>
|
||||
<word key_rus="Отображение списка последних комментариев" key="block_latestComments_desc" js="0">Shows a list of latest comments from the logged in member's blogs</word>
|
||||
<word key_rus="Просмотр записи %s" key="view_this_entry" js="0">View the entry %s</word>
|
||||
<word key_rus="Статистика Блогов" key="block_blogStatistics" js="0">Blog Statistics</word>
|
||||
<word key_rus="Отображение основной статистики блогов" key="block_blogStatistics_desc" js="0">Shows general blog statistics</word>
|
||||
<word key_rus="Всего блогов" key="total_blogs" js="0">Total Blogs</word>
|
||||
<word key_rus="Всего записей" key="total_entries" js="0">Total Entries</word>
|
||||
<word key_rus="Последние записи" key="block_recentEntries" js="0">Recent Entries</word>
|
||||
<word key_rus="Отображение последних записей блогов" key="block_recentEntries_desc" js="0">Shows recent entries</word>
|
||||
<word key_rus="Предыдущая запись" key="prev_entry" js="0">Previous entry</word>
|
||||
<word key_rus="Следующая запись" key="next_entry" js="0">Next entry</word>
|
||||
<word key_rus="Добавить комментарий..." key="blog_entry__comment_placeholder" js="0">Add a comment...</word>
|
||||
<word key_rus="Добавить комментарий" key="blog_entry_submit_comment" js="0">Submit Comment</word>
|
||||
<word key_rus="Действия" key="entry_actions" js="0">Entry Actions</word>
|
||||
<word key_rus="Изменить эту запись" key="edit_title_blog" js="0">Edit this blog entry</word>
|
||||
<word key_rus="Сделать популярной эту запись" key="feature_title_blog" js="0">Feature this blog entry</word>
|
||||
<word key_rus="Сделать эту запись непопулярной" key="unfeature_title_blog" js="0">Unfeature this blog entry</word>
|
||||
<word key_rus="Закрепить эту запись" key="pin_title_blog" js="0">Pin this blog entry</word>
|
||||
<word key_rus="Открепить эту запись" key="unpin_title_blog" js="0">Unpin this blog entry</word>
|
||||
<word key_rus="Скрыть эту запись" key="hide_title_blog" js="0">Hide this blog entry</word>
|
||||
<word key_rus="Показать эту запись" key="unhide_title_blog" js="0">Unhide this blog entry</word>
|
||||
<word key_rus="Заблокировать эту запись" key="blog_lock_title" js="0">Lock this blog entry</word>
|
||||
<word key_rus="Разблокировать эту запись" key="blog_unlock_title" js="0">Unlock this blog entry</word>
|
||||
<word key_rus="Переместить эту запись" key="blog_move_title" js="0">Move this blog entry</word>
|
||||
<word key_rus="Удалить эту запись" key="blog_delete_title" js="0">Delete this blog entry</word>
|
||||
<word key_rus="Одобрить эту запись" key="approve_title_blog" js="0">Approve this blog entry</word>
|
||||
<word key_rus="Жалоба" key="report_entry" js="0">Report Entry</word>
|
||||
<word key_rus="Неопубликовано" key="unpublished" js="0">Unpublished</word>
|
||||
<word key_rus="Эта запись блога заблокирована, но вы можете добавлять новые комментарии к ней." key="blog_entry_locked_can_comment" js="0">This blog entry is locked, but your permissions allow you to add new comments.</word>
|
||||
<word key_rus="Эта запись блога заблокирована для комментирования." key="blog_entry_locked_cannot_comment" js="0">This blog entry is now closed to further comments.</word>
|
||||
<word key_rus="Запись опубликовал %s" key="entry_posted" js="0">Entry posted by %s</word>
|
||||
<word key_rus="%s опубликовует запись" key="entry_future_posted" js="0">Entry by %s publishes on</word>
|
||||
<word key_rus="Изображения" key="entry_images" js="0">Images</word>
|
||||
<word key_rus="{!#[*1:комментарий][*2:комментария][*3:комментария][*4:комментария][11:комментариев][12:комментариев][13:комментариев][14:комментариев][?:комментариев]}" key="blog_comments" js="0">{!#[1:comment][?:comments]}</word>
|
||||
<word key_rus="{!#[*1:запись][*2:записи][*3:записи][*4:записи][11:записей][12:записей][13:записей][14:записей][?:записей]}" key="blog_entries" js="0">{!#[1:entry][?:entries]}</word>
|
||||
<word key_rus="{!#[*1:просмотр][*2:просмотра][*3:просмотра][*4:просмотра][11:просмотров][12:просмотров][13:просмотров][14:просмотров][?:просмотров]}" key="blog_views" js="0">{!#[1:view][?:views]}</word>
|
||||
<word key_rus="Последние записи" key="recent_entries" js="0">Recent Entries</word>
|
||||
<word key_rus="Популярные записи" key="featured_entries" js="0">Featured Entries</word>
|
||||
<word key_rus="Блоги нашего сообщества" key="our_community_blogs" js="0">Our community blogs</word>
|
||||
<word key_rus="Мои блоги" key="my_blogs" js="0">My Blogs</word>
|
||||
<word key_rus="Блоги с записями" key="blogs_with_content" js="0">Blogs With Entries</word>
|
||||
<word key_rus="По последней записи" key="sort_last_edate" js="0">Last Entry</word>
|
||||
<word key_rus="По рейтингу" key="sort_rating_total" js="0">Rating</word>
|
||||
<word key_rus="Из блога" key="from_the_blog" js="0">From the blog</word>
|
||||
<word key_rus="Просмотреть больше записей из %s" key="see_more_entries" js="0">See more entries from %s</word>
|
||||
<word key_rus="В блоге ещё нет записей" key="no_entries_yet" js="0">No blog entries yet</word>
|
||||
<word key_rus="Подробнее о данной записи" key="read_more_entry" js="0">Read more of this entry</word>
|
||||
<word key_rus="Просмотр комментариев этой записи" key="see_comments_on_entry" js="0">See comments for this entry</word>
|
||||
<word key_rus="Добавить новую запись" key="add_entry" js="0">Add new entry</word>
|
||||
<word key_rus="Это групповой блог" key="this_is_group" js="0">This is a group blog</word>
|
||||
<word key_rus="Запись не прочитана" key="unread_blog" js="0">This entry is unread</word>
|
||||
<word key_rus="Вы прочитали эту запись" key="read_blog" js="0">You've read this entry</word>
|
||||
<word key_rus="Перейти в блог %s" key="go_to_blog" js="0">Go to the blog %s</word>
|
||||
<word key_rus="Последняя запись" key="latest_entry" js="0">Latest Entry</word>
|
||||
<word key_rus="Ни одной записи в блоге ещё не создано" key="no_entries" js="0">No blog entries have been created</word>
|
||||
<word key_rus="Закрепить" key="pin_blog" js="0">Pin</word>
|
||||
<word key_rus="Открепить" key="unpin_blog" js="0">Unpin</word>
|
||||
<word key_rus="Блог %s" key="blog_by" js="0">A blog by %s</word>
|
||||
<word key_rus="Групповой блог %s" key="group_blog_by" js="0">A group blog by %s</word>
|
||||
<word key_rus="Авторы этого блога" key="contributors_to_this" js="0">Contributors to this blog</word>
|
||||
<word key_rus="О блоге" key="about_this_blog" js="0">About this blog</word>
|
||||
<word key_rus="Записи в этом блоге" key="entries_in_this_blog" js="0">Entries in this blog</word>
|
||||
<word key_rus="RSS лента отключена" key="blog_rss_offline" js="0">RSS feed disabled</word>
|
||||
<word key_rus="Эта RSS лента отключена, т.к. настройка "Разрешить RSS экспорт" в настоящее время неактивна в админцентре или отключена в настройках блога." key="blog_rss_offline_admin" js="0">This RSS feed is disabled either because the setting "Allow RSS exports" is currently disabled in the ACP or it is disabled in the individual blog settings.</word>
|
||||
<word key_rus="Включить RSS ленту" key="blog_enable_rss" js="0">Enable RSS Feed</word>
|
||||
<word key_rus="Разрешить этому блогу присутствовать в RSS ленте" key="blog_enable_rss_desc" js="0">Allow this blog to be syndicated with others by enabling RSS</word>
|
||||
<word key_rus="Последние записи" key="blog_rss_title" js="0">Latest Entries</word>
|
||||
<word key_rus="Импорт RSS/Atom" key="blog_rss_import" js="0">Atom/RSS Import</word>
|
||||
<word key_rus="URL" key="blog_rss_import_url" js="0">URL</word>
|
||||
<word key_rus="Имя пользователя HTTP авторизации" key="blog_rss_import_auth_user" js="0">HTTP Authorization Username</word>
|
||||
<word key_rus="Большинство лент не запрашивают авторизацию и вы может оставить это поле пустым." key="blog_rss_import_auth_user_desc" js="0">Most feeds do not require authorization and you can leave this blank.</word>
|
||||
<word key_rus="Пароль HTTP авторизации" key="blog_rss_import_auth_pass" js="0">HTTP Authorization Password</word>
|
||||
<word key_rus="Большинство лент не запрашивают авторизацию и вы может оставить это поле пустым." key="blog_rss_import_auth_pass_desc" js="0">Most feeds do not require authorization and you can leave this blank.</word>
|
||||
<word key_rus="Теги" key="blog_rss_import_tags" js="0">Tags</word>
|
||||
<word key_rus="Текст ссылки" key="blog_rss_import_show_link" js="0">Text to use for link</word>
|
||||
<word key_rus="Появится в нижней части сообщения, ссылаясь на оригинал статьи." key="blog_rss_import_show_link_desc" js="0">Will appear at the bottom of the post, linking to the original article.</word>
|
||||
<word key_rus="Посмотреть полный текст статьи" key="blog_rss_import_show_link_default" js="0">View the full article</word>
|
||||
<word key_rus="Включить импорт RSS" key="blog_enable_rss_import" js="0">Enable RSS import</word>
|
||||
<word key_rus="Импорт записей из внешних источников" key="blog_enable_rss_import_desc" js="0">Import entries from an external source using RSS</word>
|
||||
<word key_rus="Запись блога" key="embed_blog_entry" js="0">Blog Entry</word>
|
||||
<word key_rus="Блог" key="embed_blog" js="0">Blog</word>
|
||||
<word key_rus="Посмотреть этот блог" key="view_this_blog" js="0">View this blog</word>
|
||||
<word key_rus="Блоги" key="user_blogs" js="0">Blogs</word>
|
||||
<word key_rus="Блоги" key="profile_blog_blog" js="0">Blogs</word>
|
||||
<word key_rus="Также содействует с:" key="also_contributes" js="0">Also contributes to:</word>
|
||||
<word key_rus="Содействует с" key="contributes_to" js="0">Contributes To</word>
|
||||
<word key_rus="Последняя запись" key="most_recent_entry" js="0">Most recent entry</word>
|
||||
<word key_rus="Блог %s" key="blog_byline_nodate" js="0">A blog by %s</word>
|
||||
<word key_rus="Последняя запись размещена %s" key="blog_last_entry_date" js="0">Last entry posted %s</word>
|
||||
<word key_rus="Блоги" key="digest_area_blog_blog" js="0">Blogs</word>
|
||||
<word key_rus="Записи" key="digest_area_blog_entry" js="0">Entries</word>
|
||||
<word key_rus="%s опубликовал запись блога в %s" key="x_created_entry_in" js="0">%s posted a blog entry in %s</word>
|
||||
<word key_rus="%s прокомментировал запись" key="x_commented_entry" js="0">%s commented on an entry</word>
|
||||
<word key_rus="Просмотр Блогов" key="loc_blog_viewing_index" js="0">Browsing Blogs</word>
|
||||
<word key_rus="Создание блога" key="loc_blog_creating" js="0">Creating a Blog</word>
|
||||
<word key_rus="Просмотр блога: %s" key="loc_blog_viewing_blog" js="0">Viewing Blog: %s</word>
|
||||
<word key_rus="Добавление записи блога в: %s" key="loc_blog_adding_entry" js="0">Adding a Blog Entry in: %s</word>
|
||||
<word key_rus="Просмотр записи: %s" key="loc_blog_viewing_entry" js="0">Viewing Entry: %s</word>
|
||||
<word key_rus="Блоги" key="modperms__core_Content_blog_Entry" js="0">Blogs</word>
|
||||
<word key_rus="Можно закреплять записи?" key="can_pin_blog_entry" js="0">Can pin entries?</word>
|
||||
<word key_rus="Можно откреплять записи?" key="can_unpin_blog_entry" js="0">Can unpin entries?</word>
|
||||
<word key_rus="Можно устанавливать записи популярными?" key="can_feature_blog_entry" js="0">Can feature entries?</word>
|
||||
<word key_rus="Можно устанавливать записи непопулярными?" key="can_unfeature_blog_entry" js="0">Can unfeature entries?</word>
|
||||
<word key_rus="Можно редактировать записи?" key="can_edit_blog_entry" js="0">Can edit entries?</word>
|
||||
<word key_rus="Можно скрывать записи?" key="can_hide_blog_entry" js="0">Can hide entries?</word>
|
||||
<word key_rus="Можно отображать записи?" key="can_unhide_blog_entry" js="0">Can unhide entries?</word>
|
||||
<word key_rus="Можно просматривать скрытые записи?" key="can_view_hidden_blog_entry" js="0">Can view hidden entries?</word>
|
||||
<word key_rus="Можно перемещать записи?" key="can_move_blog_entry" js="0">Can move entries?</word>
|
||||
<word key_rus="Можно блокировать записи?" key="can_lock_blog_entry" js="0">Can lock entries?</word>
|
||||
<word key_rus="Можно разблокировать записи?" key="can_unlock_blog_entry" js="0">Can unlock entries?</word>
|
||||
<word key_rus="Можно отвечать на заблокированные записи?" key="can_reply_to_locked_blog_entry" js="0">Can reply to locked entries?</word>
|
||||
<word key_rus="Можно удалять записи?" key="can_delete_blog_entry" js="0">Can delete entries?</word>
|
||||
<word key_rus="Можно редактировать комментарии?" key="can_edit_blog_entry_comment" js="0">Can edit comments?</word>
|
||||
<word key_rus="Можно скрывать комментарии?" key="can_hide_blog_entry_comment" js="0">Can hide comments?</word>
|
||||
<word key_rus="Можно отображать комментарии?" key="can_unhide_blog_entry_comment" js="0">Can unhide comments?</word>
|
||||
<word key_rus="Можно просматривать скрытые комментарии?" key="can_view_hidden_blog_entry_comment" js="0">Can view hidden comments?</word>
|
||||
<word key_rus="Можно удалять комментарии?" key="can_delete_blog_entry_comment" js="0">Can delete comments?</word>
|
||||
<word key_rus="Можно устанавливать дату будующих публикаций?" key="can_future_publish_blog_entry" js="0">Can set a future publishing date?</word>
|
||||
<word key_rus="Можно просматривать записи блога других пользователей, ожидающие публикации?" key="can_view_future_blog_entry" js="0">Can view pending publishing blog entries authored by other members?</word>
|
||||
<word key_rus="Блог" key="group__blog_Blog" js="0">Blog</word>
|
||||
<word key_rus="Можно создавать блоги?" key="g_blog_allowlocal" js="0">Can create blogs?</word>
|
||||
<word key_rus="Максимальное количество блогов" key="g_blog_maxblogs" js="0">Maximum number of blogs</word>
|
||||
<word key_rus="Можно создавать приватные блоги?" key="g_blog_allowprivate" js="0">Can create private blogs?</word>
|
||||
<word key_rus="Приватные блоги могут просматриваться только выбранными автором пользователями." key="g_blog_allowprivate_desc" js="0">Private blogs can only be seen by the members that the creator chooses.</word>
|
||||
<word key_rus="Можно добавлять опросы к записям блога?" key="g_blog_allowpoll" js="0">Can add polls to blog entries?</word>
|
||||
<word key_rus="Можно комментировать записи блога?" key="g_blog_allowcomment" js="0">Can comment on blog entries?</word>
|
||||
<word key_rus="Можно модерировать записи собственного блога?" key="g_blog_allowownmod" js="0">Can moderate own blog entries?</word>
|
||||
<word key_rus="Пользователь сможет: редактировать комментарии и записи, удалять комментарии и записи, и блокировать записи от комментирования." key="g_blog_allowownmod_desc" js="0">The user will be able to: edit comments and entries, delete comments and entries, and lock entries from further comments.</word>
|
||||
<word key_rus="Можно удалять свои блоги?" key="g_blog_allowdelete" js="0">Can delete own blogs?</word>
|
||||
<word key_rus="Комментарии в блогах" key="block_blogCommentFeed" js="0">Blog Comments</word>
|
||||
<word key_rus="Отображение комментариев из блогов" key="block_blogCommentFeed_desc" js="0">Display comments from blogs.</word>
|
||||
<word key_rus="Блоги" key="block_blogs" js="0">Blogs</word>
|
||||
<word key_rus="Отображение списка блогов" key="block_blogs_desc" js="0">Display a list of blogs.</word>
|
||||
<word key_rus="Последняя запись размещена" key="widget_blog_last_date" js="0">Last entry posted</word>
|
||||
<word key_rus="Дата последней записи" key="widget__blog_edate" js="0">Last entry date</word>
|
||||
<word key_rus="Количество записей" key="widget__blog_count_entries" js="0">Number of entries</word>
|
||||
<word key_rus="Количество комментариев" key="widget__blog_count_comments" js="0">Number of comments</word>
|
||||
<word key_rus="Комментарии" key="__api_blog_comments" js="0">Comments</word>
|
||||
<word key_rus="Записи" key="__api_blog_entries" js="0">Entries</word>
|
||||
<word key_rus="Блоги" key="__api_blog_blogs" js="0">Blogs</word>
|
||||
</app>
|
||||
</language>
|
||||
@@ -171,5 +171,11 @@
|
||||
"101090": "4.1.19 Beta 1",
|
||||
"101091": "4.1.19 Beta 2",
|
||||
"101092": "4.1.19 Beta 3",
|
||||
"101093": "4.1.19"
|
||||
"101093": "4.1.19",
|
||||
"101094": "4.1.19.1",
|
||||
"101095": "4.1.19.2 Beta 1",
|
||||
"101096": "4.1.19.2",
|
||||
"101097": "4.1.19.2",
|
||||
"101098": "4.1.19.3",
|
||||
"101099": "4.1.19.4"
|
||||
}
|
||||
@@ -1,288 +1,236 @@
|
||||
{
|
||||
"app=calendar&module=calendars&controller=calendars": {
|
||||
"lang_key": "menu__calendar_calendars_calendars",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"calendars",
|
||||
"календарь"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&do=form": {
|
||||
"lang_key": "menu__calendar_calendars_calendars",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"edit calendar",
|
||||
"изменить календарь"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&do=permissions": {
|
||||
"lang_key": "menu__calendar_calendars_calendars",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"calendar permissions",
|
||||
"доступы календаря",
|
||||
"разрешения календаря"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=cal_comment_moderate": {
|
||||
"lang_key": "cal_comment_moderate",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"approved",
|
||||
"comments must be approved",
|
||||
"require approval",
|
||||
"одобрено",
|
||||
"требует одобрения",
|
||||
"комментарии должны быть одобрены"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_1_cal_allow_comments": {
|
||||
"lang_key": "cal_allow_comments",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"allow comments",
|
||||
"comments",
|
||||
"разрешить комментарии",
|
||||
"комментарии"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_1_cal_allow_reviews": {
|
||||
"lang_key": "cal_allow_reviews",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"allow reviews",
|
||||
"reviews",
|
||||
"отзывы",
|
||||
"разрешить отзывы"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_1_cal_color": {
|
||||
"lang_key": "cal_color",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"calendar color",
|
||||
"цвет календаря",
|
||||
"цвет"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_1_cal_moderate": {
|
||||
"lang_key": "cal_moderate",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"approve",
|
||||
"approve event",
|
||||
"event",
|
||||
"одобрить",
|
||||
"событие",
|
||||
"одобрить событие"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_1_cal_title": {
|
||||
"lang_key": "cal_title",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"calendar name",
|
||||
"calendar title",
|
||||
"название календаря",
|
||||
"заголовок календаря"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_new_cal_allow_comments": {
|
||||
"lang_key": "cal_allow_comments",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"allow comments",
|
||||
"разрешить комментарии"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_new_cal_allow_reviews": {
|
||||
"lang_key": "cal_allow_reviews",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"allow reviews",
|
||||
"reviews",
|
||||
"отзывы",
|
||||
"разрешить отзывы"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_new_cal_color": {
|
||||
"lang_key": "cal_color",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"calendar color",
|
||||
"цвет календаря"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_new_cal_moderate": {
|
||||
"lang_key": "cal_moderate",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"approve event",
|
||||
"event approve",
|
||||
"events",
|
||||
"события",
|
||||
"одобрить событие"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_new_cal_title": {
|
||||
"lang_key": "cal_title",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"calendar title",
|
||||
"название календаря",
|
||||
"имя календаря"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical": {
|
||||
"lang_key": "menu__calendar_calendars_ical",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"calendar export",
|
||||
"feeds",
|
||||
"iCal",
|
||||
"iCalendar",
|
||||
"экспорт календаря",
|
||||
"ленты"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=add&searchResult=form_feed_allow_rsvp": {
|
||||
"lang_key": "feed_allow_rsvp",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"enable rsvp",
|
||||
"rsvp",
|
||||
"просьба ответить",
|
||||
"запрос ответа"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=add&searchResult=form_feed_calendar_id": {
|
||||
"lang_key": "feed_calendar_id",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"calendar",
|
||||
"календарь"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=add&searchResult=form_feed_member_id": {
|
||||
"lang_key": "feed_member_id",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"member",
|
||||
"пользователь"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=add&searchResult=form_feed_title": {
|
||||
"lang_key": "feed_title",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"add icalendar",
|
||||
"feed title",
|
||||
"iCalendar feed",
|
||||
"название ленты"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=add&searchResult=form_feed_url": {
|
||||
"lang_key": "feed_url",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"feed url",
|
||||
"icalendar url",
|
||||
"адрес ленты"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=upload&searchResult=form_feed_calendar_id": {
|
||||
"lang_key": "feed_calendar_id",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"calendar",
|
||||
"календарь"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=upload&searchResult=form_feed_file": {
|
||||
"lang_key": "feed_file",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"iCalendar file"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=upload&searchResult=form_feed_member_id": {
|
||||
"lang_key": "feed_member_id",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"member",
|
||||
"пользователь"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=settings": {
|
||||
"lang_key": "menu__calendar_calendars_settings",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"calendar settings",
|
||||
"настройки календаря"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=settings&searchResult=calendar_rss_feed_days": {
|
||||
"lang_key": "calendar_rss_feed_days",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"days",
|
||||
"feed days",
|
||||
"forthcoming days",
|
||||
"number of days",
|
||||
"RSS Feed",
|
||||
"rss лента",
|
||||
"дней",
|
||||
"количество дней"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=settings&searchResult=form_calendar_date_format": {
|
||||
"lang_key": "calendar_date_format",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"calendar date format",
|
||||
"формат даты",
|
||||
"дата календаря",
|
||||
"дата в календаре"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=settings&searchResult=form_calendar_default_view": {
|
||||
"lang_key": "calendar_default_view",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"calendar layout",
|
||||
"макет календаря",
|
||||
"дизайн календаря"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=settings&searchResult=form_calendar_rss_feed": {
|
||||
"lang_key": "calendar_rss_feed",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"calendar rss",
|
||||
"events rss",
|
||||
"rss событий",
|
||||
"rss календаря"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=settings&searchResult=form_ipb_calendar_mon": {
|
||||
"lang_key": "ipb_calendar_mon",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"calendar start",
|
||||
"monday",
|
||||
"sunday",
|
||||
"начало недели",
|
||||
"понедельник",
|
||||
"воскресенье"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=settings&searchResult=form_show_bday_calendar": {
|
||||
"lang_key": "show_bday_calendar",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"birthdays",
|
||||
"день рождения",
|
||||
"дни рождения"
|
||||
]
|
||||
}
|
||||
{
|
||||
"app=calendar&module=calendars&controller=calendars": {
|
||||
"lang_key": "menu__calendar_calendars_calendars",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"calendars"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&do=form": {
|
||||
"lang_key": "menu__calendar_calendars_calendars",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"edit calendar"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&do=permissions": {
|
||||
"lang_key": "menu__calendar_calendars_calendars",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"calendar permissions"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=cal_comment_moderate": {
|
||||
"lang_key": "cal_comment_moderate",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"approved",
|
||||
"comments must be approved",
|
||||
"require approval"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_1_cal_allow_comments": {
|
||||
"lang_key": "cal_allow_comments",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"allow comments",
|
||||
"comments"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_1_cal_allow_reviews": {
|
||||
"lang_key": "cal_allow_reviews",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"allow reviews",
|
||||
"reviews"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_1_cal_color": {
|
||||
"lang_key": "cal_color",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"calendar color"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_1_cal_moderate": {
|
||||
"lang_key": "cal_moderate",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"approve",
|
||||
"approve event",
|
||||
"event"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_1_cal_title": {
|
||||
"lang_key": "cal_title",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"calendar name",
|
||||
"calendar title"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_new_cal_allow_comments": {
|
||||
"lang_key": "cal_allow_comments",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"allow comments"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_new_cal_allow_reviews": {
|
||||
"lang_key": "cal_allow_reviews",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"allow reviews",
|
||||
"reviews"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_new_cal_color": {
|
||||
"lang_key": "cal_color",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"calendar color"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_new_cal_moderate": {
|
||||
"lang_key": "cal_moderate",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"approve event",
|
||||
"event approve",
|
||||
"events"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_new_cal_title": {
|
||||
"lang_key": "cal_title",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"calendar title"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical": {
|
||||
"lang_key": "menu__calendar_calendars_ical",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"calendar export",
|
||||
"feeds",
|
||||
"iCal",
|
||||
"iCalendar"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=add&searchResult=form_feed_allow_rsvp": {
|
||||
"lang_key": "feed_allow_rsvp",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"enable rsvp",
|
||||
"rsvp"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=add&searchResult=form_feed_calendar_id": {
|
||||
"lang_key": "feed_calendar_id",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"calendar"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=add&searchResult=form_feed_member_id": {
|
||||
"lang_key": "feed_member_id",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"member"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=add&searchResult=form_feed_title": {
|
||||
"lang_key": "feed_title",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"add icalendar",
|
||||
"feed title",
|
||||
"iCalendar feed"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=add&searchResult=form_feed_url": {
|
||||
"lang_key": "feed_url",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"feed url",
|
||||
"icalendar url"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=upload&searchResult=form_feed_calendar_id": {
|
||||
"lang_key": "feed_calendar_id",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"calendar"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=upload&searchResult=form_feed_file": {
|
||||
"lang_key": "feed_file",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"iCalendar file"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=upload&searchResult=form_feed_member_id": {
|
||||
"lang_key": "feed_member_id",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"member"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=settings": {
|
||||
"lang_key": "menu__calendar_calendars_settings",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"calendar settings"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=settings&searchResult=calendar_rss_feed_days": {
|
||||
"lang_key": "calendar_rss_feed_days",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"days",
|
||||
"feed days",
|
||||
"forthcoming days",
|
||||
"number of days",
|
||||
"RSS Feed"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=settings&searchResult=form_calendar_date_format": {
|
||||
"lang_key": "calendar_date_format",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"calendar date format"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=settings&searchResult=form_calendar_default_view": {
|
||||
"lang_key": "calendar_default_view",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"calendar layout"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=settings&searchResult=form_calendar_rss_feed": {
|
||||
"lang_key": "calendar_rss_feed",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"calendar rss",
|
||||
"events rss"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=settings&searchResult=form_ipb_calendar_mon": {
|
||||
"lang_key": "ipb_calendar_mon",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"calendar start",
|
||||
"monday",
|
||||
"sunday"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=settings&searchResult=form_show_bday_calendar": {
|
||||
"lang_key": "show_bday_calendar",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"birthdays"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
{
|
||||
"calendar_calendar_1": "Календарь сообщества"
|
||||
"calendar_calendar_1": "Community Calendar"
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<javascript app="calendar">
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.main.js" javascript_type="controller" javascript_version="101093" javascript_position="1000050"><![CDATA[/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.main.js" javascript_type="controller" javascript_version="101099" javascript_position="1000050"><![CDATA[/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2013 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
@@ -112,7 +112,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.monthView.js" javascript_type="controller" javascript_version="101093" javascript_position="1000050"><![CDATA[/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.monthView.js" javascript_type="controller" javascript_version="101099" javascript_position="1000050"><![CDATA[/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2013 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
@@ -254,7 +254,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.dates.js" javascript_type="controller" javascript_version="101093" javascript_position="1000100"><![CDATA[/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.dates.js" javascript_type="controller" javascript_version="101099" javascript_position="1000100"><![CDATA[/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2013 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="calendar" version="101093">
|
||||
<app key="calendar" version="101099">
|
||||
<word key="__app_calendar" js="0">Calendar</word>
|
||||
<word key="frontnavigation_calendar" js="0">Calendar</word>
|
||||
<word key="__indefart_calendar_event_comment" js="0">a comment on a calendar event</word>
|
||||
|
||||
@@ -1,422 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="calendar" version="101093">
|
||||
<word key_rus="Календарь" key="__app_calendar" js="0">Calendar</word>
|
||||
<word key_rus="Календарь" key="frontnavigation_calendar" js="0">Calendar</word>
|
||||
<word key_rus="комментарий события" key="__indefart_calendar_event_comment" js="0">a comment on a calendar event</word>
|
||||
<word key_rus="событие календаря" key="__indefart_calendar_event" js="0">a calendar event</word>
|
||||
<word key_rus="отзыв на событие" key="__indefart_calendar_event_review" js="0">a review on a calendar event</word>
|
||||
<word key_rus="комментарий к событию календаря" key="__defart_calendar_event_comment" js="0">comment on a calendar event</word>
|
||||
<word key_rus="событие календаря" key="__defart_calendar_event" js="0">calendar event</word>
|
||||
<word key_rus="отзыв к событию календаря" key="__defart_calendar_event_review" js="0">review on a calendar event</word>
|
||||
<word key_rus="календарь" key="calendar_event_container" js="0">calendar</word>
|
||||
<word key_rus="Календарь" key="menu__calendar_calendars" js="0">Calendar</word>
|
||||
<word key_rus="Календари" key="menu__calendar_calendars_calendars" js="0">Calendars</word>
|
||||
<word key_rus="Ленты iCalendar" key="menu__calendar_calendars_ical" js="0">iCalendar Feeds</word>
|
||||
<word key_rus="Настройки" key="menu__calendar_calendars_settings" js="0">Settings</word>
|
||||
<word key_rus="Календарь" key="module__calendar_calendar" js="0">Calendar</word>
|
||||
<word key_rus="Календари" key="module__calendar_calendars" js="0">Calendars</word>
|
||||
<word key_rus="События" key="module__calendar_events" js="0">Events</word>
|
||||
<word key_rus="Событие" key="event" js="0">Event</word>
|
||||
<word key_rus="События календаря" key="editor__calendar_Events" js="0">Calendar Events</word>
|
||||
<word key_rus="Календари" key="editor__calendar_Calendar" js="0">Calendars</word>
|
||||
<word key_rus="Календари" key="acp_search_title_calendar_Calendars" js="0">Calendars</word>
|
||||
<word key_rus="событие календаря" key="calendar_event_pl_lc" js="0">calendar events</word>
|
||||
<word key_rus="Этот календарь" key="search_contextual_item_calendars" js="0">This Calendar</word>
|
||||
<word key_rus="Это событие" key="search_contextual_item_calendar_event" js="0">This Event</word>
|
||||
<word key_rus="Календари" key="r__calendars" js="0">Calendars</word>
|
||||
<word key_rus="Можно управлять календарями?" key="r__calendars_manage" js="0">Can manage calendars?</word>
|
||||
<word key_rus="Можно добавлять календари?" key="r__calendars_add" js="0">Can add calendars?</word>
|
||||
<word key_rus="Можно редактировать календари?" key="r__calendars_edit" js="0">Can edit calendars?</word>
|
||||
<word key_rus="Можно упарвлять разрешениями календаря?" key="r__calendars_permissions" js="0">Can manage calendar permissions?</word>
|
||||
<word key_rus="Можно удалять календари?" key="r__calendars_delete" js="0">Can delete calendars?</word>
|
||||
<word key_rus="Ленты iCalendar" key="r__ical" js="0">iCalendar Feeds</word>
|
||||
<word key_rus="Можно управлять импортом лент iCalendar?" key="r__calendar_feeds_manage" js="0">Can manage iCalendar feed imports?</word>
|
||||
<word key_rus="Можно добавлять импорт лент iCalendar?" key="r__calendar_feeds_add" js="0">Can add iCalendar feed imports?</word>
|
||||
<word key_rus="Можно редактировать импорт лент iCalendar?" key="r__calendar_feeds_edit" js="0">Can edit iCalendar feed imports?</word>
|
||||
<word key_rus="Можно удалять импорт лент iCalendar?" key="r__calendar_feeds_delete" js="0">Can delete iCalendar feed imports?</word>
|
||||
<word key_rus="Просмотр календаря: %s" key="loc_calendar_viewing_calendar" js="0">Viewing Calendar: %s</word>
|
||||
<word key_rus="Просмотр календаря" key="loc_calendar_viewing_calendar_all" js="0">Viewing Calendar</word>
|
||||
<word key_rus="Просмотр события: %s" key="loc_calendar_viewing_event" js="0">Viewing Event: %s</word>
|
||||
<word key_rus="Показать дни рождения в календаре" key="show_bday_calendar" js="0">Show birthdays on calendar</word>
|
||||
<word key_rus="Если включено, календарь будет показывать количество дней рождения пользователей за каждый день и отобразит список празднующих пользователей при просмотре даты." key="show_bday_calendar_desc" js="0">When enabled, the calendar will show the number of member birthdays for each day and will list member birthdays when viewing a date.</word>
|
||||
<word key_rus="Начать календарь с понедельника" key="ipb_calendar_mon" js="0">Start calendar on Monday</word>
|
||||
<word key_rus="По умолчанию, календарь будет использовать воскресенье в качестве дня начала недели. Вы можете использовать этот параметр для начала календаря с понедельника." key="ipb_calendar_mon_desc" js="0">By default, the calendar will use Sunday as the start day for each week. You can use this setting to start the calendar on Monday instead.</word>
|
||||
<word key_rus="Включить RSS-ленту предстоящих событий" key="calendar_rss_feed" js="0">Enable upcoming events RSS feed</word>
|
||||
<word key_rus="Будет отображён контент, доступный для гостей. Для получения дополнительных возможностей, создайте <a href='{internal.app=core&module=discovery&controller=rss}'>Пользовательскую RSS ленту</a>" key="calendar_rss_feed_desc" js="0"><![CDATA[Only content that is available to guests will be shown. For more options, create a <a href='{internal.app=core&module=discovery&controller=rss}'>Custom RSS Feed</a>]]></word>
|
||||
<word key_rus="Количество предстоящих дней событий для включения в ленту" key="calendar_rss_feed_days" js="0">Number of forthcoming days to include in the feed</word>
|
||||
<word key_rus="Настройки календаря обновлены" key="acplogs__calendar_settings" js="0">Updated calendar settings</word>
|
||||
<word key_rus="Стандартный шаблон" key="calendar_default_view" js="0">Default layout</word>
|
||||
<word key_rus="Эта настройка позволяет вам настраивать стандартный шаблон главной страницы календаря. Пользователи могут переопределить стандартный вид, если захотят." key="calendar_default_view_desc" js="0">This setting allows you to control the default layout of the calendar homepage. Users can override the default view if they wish.</word>
|
||||
<word key_rus="Текущий месяц" key="cal_df_month" js="0">Current month</word>
|
||||
<word key_rus="Текущая неделя" key="cal_df_week" js="0">Current week</word>
|
||||
<word key_rus="Текущий день" key="cal_df_day" js="0">Current day</word>
|
||||
<word key_rus="Лента предстоящих событий" key="cal_df_stream" js="0">Stream of upcoming events</word>
|
||||
<word key_rus="Обложки событий календаря" key="filestorage__calendar_Events" js="0">Calendar Event Cover Photos</word>
|
||||
<word key_rus="Использовать стандартное форматирование даты" key="calendar_df_locale" js="0">Use default date formatting</word>
|
||||
<word key_rus="ДД МММ ГГГГ (Пример: 01 Янв 2015)" key="calendar_df_d_sm_y" js="0">DD MMM YYYY (Example: 01 Jan 2000)</word>
|
||||
<word key_rus="ДД Месяц ГГГГ (Пример: 01 Январь 2015)" key="calendar_df_d_lm_y" js="0">DD Month YYYY (Example: 01 January 2000)</word>
|
||||
<word key_rus="МММ ДД, ГГГГ (Пример: Янв 01, 2015)" key="calendar_df_sm_d_y" js="0">MMM DD, YYYY (Example: Jan 01, 2000)</word>
|
||||
<word key_rus="Месяц ДД, ГГГГ (Пример: Январь 01, 2015)" key="calendar_df_lm_d_y" js="0">Month DD, YYYY (Example: January 01, 2000)</word>
|
||||
<word key_rus="Или укажите другой формат" key="calendar_custom_df" js="0">Or specify a custom date format</word>
|
||||
<word key_rus="Формат даты для мероприятий" key="calendar_date_format" js="0">Date format for events</word>
|
||||
<word key_rus="Пользовательский формат даты" key="calendar_date_format_custom" js="0">Custom date format</word>
|
||||
<word key_rus="Вы можете использовать любой <a href='http://php.net/strftime' target='_blank'>PHP формат</a> для отображения дат в календаре" key="calendar_date_format_custom_desc" js="0"><![CDATA[You can use any <a href='http://php.net/strftime' target='_blank'>PHP strftime</a> options to specify a custom format for dates in calendar]]></word>
|
||||
<word key_rus="Вы должны выбрать предопределенный формат даты или указать пользовательский" key="calendar_no_date_format" js="0">You must either choose a predefined date format or specify a custom date format</word>
|
||||
<word key_rus="Календари" key="calendars" js="0">Calendars</word>
|
||||
<word key_rus="Календарь" key="calendars_sg" js="0">Calendar</word>
|
||||
<word key_rus="Настройки" key="calendar_settings" js="0">Settings</word>
|
||||
<word key_rus="Разрешения" key="calendar_permissions" js="0">Permissions</word>
|
||||
<word key_rus="Модерация" key="calendar_moderation" js="0">Moderation</word>
|
||||
<word key_rus="Название" key="cal_title" js="0">Name</word>
|
||||
<word key_rus="События должны быть одобрены?" key="cal_moderate" js="0">Events must be approved?</word>
|
||||
<word key_rus="Комментарии должны быть одобрены?" key="cal_comment_moderate" js="0">Comments must be approved?</word>
|
||||
<word key_rus="Разрешить комментарии?" key="cal_allow_comments" js="0">Allow comments?</word>
|
||||
<word key_rus="Разрешить отзывы?" key="cal_allow_reviews" js="0">Allow reviews?</word>
|
||||
<word key_rus="Отзывы должны быть одобрены?" key="cal_review_moderate" js="0">Reviews must be approved?</word>
|
||||
<word key_rus="" key="calperm_perm__label" js="0"></word>
|
||||
<word key_rus="Просмотр календаря" key="calperm_perm__view" js="0">See Calendar</word>
|
||||
<word key_rus="Просмотр событий" key="calperm_perm__read" js="0">View Events</word>
|
||||
<word key_rus="Добавление событий" key="calperm_perm__add" js="0">Add Events</word>
|
||||
<word key_rus="Комментирование" key="calperm_perm__reply" js="0">Comment</word>
|
||||
<word key_rus="Запрашивать RSVP" key="calperm_perm__askrsvp" js="0">Request RSVP</word>
|
||||
<word key_rus="RSVP" key="calperm_perm__rsvp" js="0">RSVP</word>
|
||||
<word key_rus="Отзыв" key="calperm_perm__review" js="0">Review</word>
|
||||
<word key_rus="Цвет" key="cal_color" js="0">Color</word>
|
||||
<word key_rus="Добавить календарь" key="add_calendar" js="0">Add Calendar</word>
|
||||
<word key_rus="Изменить календарь" key="edit_calendar" js="0">Edit Calendar</word>
|
||||
<word key_rus="Календарь" key="modperms__core_Content_calendar_Event" js="0">Calendar</word>
|
||||
<word key_rus="Календари" key="calendar_calendars" js="0">Calendars</word>
|
||||
<word key_rus="Можно закреплять события?" key="can_pin_calendar_event" js="0">Can pin events?</word>
|
||||
<word key_rus="Можно откреплять события?" key="can_unpin_calendar_event" js="0">Can unpin events?</word>
|
||||
<word key_rus="Можно устанавливать события популярными?" key="can_feature_calendar_event" js="0">Can feature events?</word>
|
||||
<word key_rus="Можно устанавливать события непопулярными?" key="can_unfeature_calendar_event" js="0">Can unfeature events?</word>
|
||||
<word key_rus="Можно перемещать события?" key="can_move_calendar_event" js="0">Can move events?</word>
|
||||
<word key_rus="Можно блокировать события?" key="can_lock_calendar_event" js="0">Can lock events?</word>
|
||||
<word key_rus="Можно разблокировать события?" key="can_unlock_calendar_event" js="0">Can unlock events?</word>
|
||||
<word key_rus="Можно комментировать закрытые события?" key="can_reply_to_locked_calendar_event" js="0">Can comment on locked events?</word>
|
||||
<word key_rus="Можно редактировать события?" key="can_edit_calendar_event" js="0">Can edit events?</word>
|
||||
<word key_rus="Можно скрывать события?" key="can_hide_calendar_event" js="0">Can hide events?</word>
|
||||
<word key_rus="Можно показывать события?" key="can_unhide_calendar_event" js="0">Can unhide events?</word>
|
||||
<word key_rus="Можно просматривать скрытые события?" key="can_view_hidden_calendar_event" js="0">Can view hidden events?</word>
|
||||
<word key_rus="Можно удалять события?" key="can_delete_calendar_event" js="0">Can delete events?</word>
|
||||
<word key_rus="Можно редактировать комментарии?" key="can_edit_calendar_event_comment" js="0">Can edit comments?</word>
|
||||
<word key_rus="Можно скрывать комментарии?" key="can_hide_calendar_event_comment" js="0">Can hide comments?</word>
|
||||
<word key_rus="Можно показывать комментарии?" key="can_unhide_calendar_event_comment" js="0">Can unhide comments?</word>
|
||||
<word key_rus="Можно просматривать скрытые комментарии?" key="can_view_hidden_calendar_event_comment" js="0">Can view hidden comments?</word>
|
||||
<word key_rus="Можно удалять комментарии?" key="can_delete_calendar_event_comment" js="0">Can delete comments?</word>
|
||||
<word key_rus="Можно редактировать отзывы?" key="can_edit_calendar_event_review" js="0">Can edit reviews?</word>
|
||||
<word key_rus="Можно скрывать отзывы?" key="can_hide_calendar_event_review" js="0">Can hide reviews?</word>
|
||||
<word key_rus="Можно показывать отзывы?" key="can_unhide_calendar_event_review" js="0">Can unhide reviews?</word>
|
||||
<word key_rus="Можно просматривать скрытые отзывы?" key="can_view_hidden_calendar_event_review" js="0">Can view hidden reviews?</word>
|
||||
<word key_rus="Можно удалять отзывы?" key="can_delete_calendar_event_review" js="0">Can delete reviews?</word>
|
||||
<word key_rus="Импорт ленты iCalendar" key="ical_title" js="0">iCalendar Feed Imports</word>
|
||||
<word key_rus="Заголовок" key="ical_feed_title" js="0">Title</word>
|
||||
<word key_rus="Добавлено" key="ical_feed_added" js="0">Added</word>
|
||||
<word key_rus="Последнее обновление" key="ical_feed_lastupdated" js="0">Last Updated</word>
|
||||
<word key_rus="Календарь" key="ical_feed_calendar_id" js="0">Calendar</word>
|
||||
<word key_rus="URL" key="ical_feed_url" js="0">URL</word>
|
||||
<word key_rus="Добавить ленту iCalendar" key="calendar_feeds_add" js="0">Add iCalendar Feed</word>
|
||||
<word key_rus="Загрузить файл iCalendar" key="calendar_feeds_upload" js="0">Upload iCalendar File</word>
|
||||
<word key_rus="Импорт новых событий" key="update_ical" js="0">Import new events</word>
|
||||
<word key_rus="Название" key="feed_title" js="0">Name</word>
|
||||
<word key_rus="URL" key="feed_url" js="0">URL</word>
|
||||
<word key_rus="URL должен начинаться с http://, https:// или webcal://" key="feed_url_desc" js="0">The URL should start with http://, https:// or webcal://</word>
|
||||
<word key_rus="Пользователь" key="feed_member_id" js="0">Member</word>
|
||||
<word key_rus="События, импортированные этой лентой, будут созданы под именем этого пользователя" key="feed_member_id_desc" js="0">Events from this feed will be created by this member</word>
|
||||
<word key_rus="Календарь" key="feed_calendar_id" js="0">Calendar</word>
|
||||
<word key_rus="Выберите календарь, в который будут сохранены события, импортированные этой лентой" key="feed_calendar_id_desc" js="0">Select the calendar that events from this feed will be saved to</word>
|
||||
<word key_rus="Включить RSVP" key="feed_allow_rsvp" js="0">Enable RSVP</word>
|
||||
<word key_rus="Если включено, RSVP будет активирован для всех событий, импортированных этой лентой" key="feed_allow_rsvp_desc" js="0">If enabled, RSVP will be enabled for all events imported from this feed</word>
|
||||
<word key_rus="Загружен файл iCalendar (%s событий импортировано и %s пропущено)" key="acplog__ical_uploaded" js="0">Uploaded an iCalendar file (%s events imported and %s events skipped)</word>
|
||||
<word key_rus="Добавлена %s лента iCalendar" key="acplog__icalfeed_created" js="0">Added %s iCalendar feed</word>
|
||||
<word key_rus="Изменена %s лента iCalendar" key="acplog__icalfeed_updated" js="0">Edited %s iCalendar feed</word>
|
||||
<word key_rus="События iCalendar импортированы" key="feed_uploaded" js="0">iCalendar Events Imported</word>
|
||||
<word key_rus="Обновлена лента iCalendar (%s событий импортировано и %s пропущено)" key="acplog__icalfeed_refreshed" js="0">Refreshed iCalendar feed (%s events imported and %s events skipped)</word>
|
||||
<word key_rus="Обновлена лента iCalendar" key="feed_refreshed" js="0">iCalendar Feed Refreshed</word>
|
||||
<word key_rus="Файл iCalendar" key="feed_file" js="0">iCalendar File</word>
|
||||
<word key_rus="Файлы iCalendar обычно имеют расширение .ics" key="feed_file_desc" js="0">iCalendar files usually have a .ics extension</word>
|
||||
<word key_rus="Мы не смогли найти эту ленту iCalendar" key="feed_not_found" js="0">We could not find that iCalendar feed</word>
|
||||
<word key_rus="Лента iCalendar %s удалена" key="acplog__icalfeed_deleted" js="0">%s iCalendar feed deleted</word>
|
||||
<word key_rus="Хранение событий" key="keep_events" js="0">Keep Events</word>
|
||||
<word key_rus="Вы можете выбрать события для удаления, которые были импортированы этой лентой" key="keep_events_desc" js="0">You can choose to remove events that were imported from this feed</word>
|
||||
<word key_rus="Лента является недопустимой, т.к. отсутствует контент для импорта" key="ical_error_NO_CONTENT" js="0">The feed appears to be invalid because no content was returned</word>
|
||||
<word key_rus="Лента является недопустимой, т.к. контент не соответствует ожидаемому формату" key="ical_error_BAD_CONTENT" js="0">The feed appears to be invalid because content not matching the expected format was returned</word>
|
||||
<word key_rus="%s %s" key="cal_month_title" js="0">%s %s</word>
|
||||
<word key_rus="Лента событий для %s %s" key="cal_month_stream_title" js="0">Event stream for %s %s</word>
|
||||
<word key_rus="%s %s %s - %s %s %s" key="cal_week_title" js="0">%s %s %s - %s %s %s</word>
|
||||
<word key_rus="w/b %s %s %s" key="cal_week_title_wb" js="0">w/b %s %s %s</word>
|
||||
<word key_rus="%s %s, %s" key="cal_month_day" js="0">%s %s, %s</word>
|
||||
<word key_rus="%s %s" key="cal_month_day_noyear" js="0">%s %s</word>
|
||||
<word key_rus="Все календари" key="all_calendars" js="0">All Calendars</word>
|
||||
<word key_rus="Создать событие" key="create_event" js="0">Create Event</word>
|
||||
<word key_rus="Выбрать календарь" key="select_calendar" js="0">Select Calendar</word>
|
||||
<word key_rus="Добавить событие" key="add_event" js="0">Add event</word>
|
||||
<word key_rus="Предыдущий месяц" key="previous_month" js="0">Prev Month</word>
|
||||
<word key_rus="Следующий месяц" key="next_month" js="0">Next Month</word>
|
||||
<word key_rus="День" key="day" js="0">Day</word>
|
||||
<word key_rus="Завтра" key="tomorrow" js="0">Tomorrow</word>
|
||||
<word key_rus="Предыдущий день" key="prev_day" js="0">Prev Day</word>
|
||||
<word key_rus="Следующий день" key="next_day" js="0">Next Day</word>
|
||||
<word key_rus="Лента событий" key="event_stream" js="0">Event Stream</word>
|
||||
<word key_rus="Лента" key="event_stream_short" js="0">Stream</word>
|
||||
<word key_rus="Предыдущая неделя" key="previous_week" js="0">Prev Week</word>
|
||||
<word key_rus="Следующая неделя" key="next_week" js="0">Next Week</word>
|
||||
<word key_rus="Событий, запланированных на этот день, нет" key="no_events_today" js="0">No events scheduled today</word>
|
||||
<word key_rus="Событий, запланированных на этот месяц, нет" key="no_events_month" js="0">No events scheduled this month</word>
|
||||
<word key_rus="Дата недействительна" key="error_bad_date" js="0">The date you requested appears to be invalid</word>
|
||||
<word key_rus="Сегодня {# [*1:день рождения][*2:дня рождения][*3:дня рождения][*4:дня рождения][11:дней рождений][12:дней рождений][13:дней рождений][14:дней рождений][?:дней рождений]}" key="birthdays_today" js="0">{# [1:birthday][?:birthdays]} today</word>
|
||||
<word key_rus="{# [*1:день рождения][*2:дня рождения][*3:дня рождения][*4:дня рождения][11:дней рождений][12:дней рождений][13:дней рождений][14:дней рождений][?:дней рождений]}" key="birthdays_count" js="0">{# [1:birthday][?:birthdays]}</word>
|
||||
<word key_rus="Посмотреть все" key="birthdays_view_all" js="0">View all</word>
|
||||
<word key_rus="Событие" key="calendar_event" js="0">Event</word>
|
||||
<word key_rus="Комментарий события" key="calendar_event_comment" js="0">Event Comment</word>
|
||||
<word key_rus="Отзыв о событии" key="calendar_event_review" js="0">Event Review</word>
|
||||
<word key_rus="События" key="calendar_event_pl" js="0">Events</word>
|
||||
<word key_rus="Комментарии события" key="calendar_event_comment_pl" js="0">Event Comments</word>
|
||||
<word key_rus="комментарии события" key="calendar_event_comment_pl_lc" js="0">event comments</word>
|
||||
<word key_rus="Отзывы о событии" key="calendar_event_review_pl" js="0">Event Reviews</word>
|
||||
<word key_rus="отзывы календаря" key="calendar_event_review_pl_lc" js="0">event reviews</word>
|
||||
<word key_rus="<span id='reviewCount'>{#}</span> {!# [*1:Отзыв][*2:Отзыва][*3:Отзыва][*4:Отзыва][11:Отзывов][12:Отзывов][13:Отзывов][14:Отзывов][?:Отзывов]}" key="event_review_count" js="0"><![CDATA[<span id='reviewCount'>{#}</span> {!# [1:Review][?:Reviews]}]]></word>
|
||||
<word key_rus="<span id='commentCount'>{#}</span> {!# [*1:Комментарий][*2:Комментария][*3:Комментария][*4:Комментария][11:Комментариев][12:Комментариев][13:Комментариев][14:Комментариев][?:Комментариев]}" key="event_comment_count" js="0"><![CDATA[<span id='commentCount'>{#}</span> {!# [1:Comment][?:Comments]}]]></word>
|
||||
<word key_rus="{# [*1:пользователь имеет][*2:пользователя имеют][*3:пользователя имеют][*4:пользователя имеют][11:пользователей имеют][12:пользователей имеют][13:пользователей имеют][14:пользователей имеют][?:пользователей имеют]} приглашения (RSVP){!#[0: ][?:, в том числе]}" key="event_rsvp_attendees_list" js="0">{# [1:user has][?:users have]} RSVPed{!#[0: ][?:, including]}</word>
|
||||
<word key_rus="Предстоящие события" key="calendar_rss_title" js="0">Upcoming Events</word>
|
||||
<word key_rus="Добавить событие" key="submit_event" js="0">Submit an event</word>
|
||||
<word key_rus="С '%s'" key="with_calendar" js="0">With '%s'</word>
|
||||
<word key_rus="Со всеми Календарями" key="with_all_calendars" js="0">With All Calendars</word>
|
||||
<word key_rus="Календарь" key="event_calendar_id" js="0">Calendar</word>
|
||||
<word key_rus="Календарь" key="event_container" js="0">Calendar</word>
|
||||
<word key_rus="Заголовок" key="event_title" js="0">Title</word>
|
||||
<word key_rus="IP-адрес" key="event_ip_address" js="0">IP Address</word>
|
||||
<word key_rus="Теги" key="event_tags" js="0">Tags</word>
|
||||
<word key_rus="Описание" key="event_content" js="0">Description</word>
|
||||
<word key_rus="Дата" key="event_dates" js="0">Date</word>
|
||||
<word key_rus="RSVP" key="rsvp" js="0">RSVP</word>
|
||||
<word key_rus="Требовать RSVP" key="event_rsvp" js="0">Request RSVP</word>
|
||||
<word key_rus="Пользователи, которым разрешено отвечать на приглашения (RSVP) на события, будет предложено сделать это и смогут увидеть список пользователей, кто уже ответил на приглашение на это событие. Для повторяющихся событий, ответы применяются ко всем вхождениям." key="event_rsvp_desc" js="0">Members who are allowed to RSVP for events will be asked to do so and will be able to see the list of members who have RSVP'd for this event. For recurring events, responses apply to all occurrences.</word>
|
||||
<word key_rus="до" key="event_to" js="0">to</word>
|
||||
<word key_rus="Это событие продлится весь день" key="event_all_day" js="0">This is an all day event</word>
|
||||
<word key_rus="Повтор" key="event_repeat" js="0">Repeat</word>
|
||||
<word key_rus="Изменить часовой пояс" key="change_timezone" js="0">Change the time zone</word>
|
||||
<word key_rus="Часовой пояс события" key="event_timezone" js="0">Event Time Zone</word>
|
||||
<word key_rus="Повторы:" key="event_rpm_repeats" js="0">Repeats:</word>
|
||||
<word key_rus="Ежедневно" key="event_rpm_repeats_daily" js="0">Daily</word>
|
||||
<word key_rus="Еженедельно" key="event_rpm_repeats_weekly" js="0">Weekly</word>
|
||||
<word key_rus="Ежемесячно" key="event_rpm_repeats_monthly" js="0">Monthly</word>
|
||||
<word key_rus="Ежегодно" key="event_rpm_repeats_yearly" js="0">Yearly</word>
|
||||
<word key_rus="Повторять каждые:" key="event_rpm_repeatevery" js="0">Repeat every:</word>
|
||||
<word key_rus="дней" key="event_rpm_repeatevery_day" js="0">days</word>
|
||||
<word key_rus="недели" key="event_rpm_repeatevery_week" js="0">weeks</word>
|
||||
<word key_rus="месяцев" key="event_rpm_repeatevery_month" js="0">months</word>
|
||||
<word key_rus="лет" key="event_rpm_repeatevery_year" js="0">years</word>
|
||||
<word key_rus="Повтор на:" key="event_rpm_repeaton" js="0">Repeat on:</word>
|
||||
<word key_rus="Событие на один день" key="event_single_day" js="0">Single day event</word>
|
||||
<word key_rus="Окончание:" key="event_rpm_ends" js="0">Ends:</word>
|
||||
<word key_rus="Никогда" key="event_rpm_ends_never" js="0">Never</word>
|
||||
<word key_rus="После" key="event_rpm_ends_afterx" js="0">After</word>
|
||||
<word key_rus="прошедших событий" key="event_rpm_ends_occurrencesx" js="0">occurrences</word>
|
||||
<word key_rus="В" key="event_rpm_ends_date" js="0">On</word>
|
||||
<word key_rus="" key="event_auto_follow" js="0"></word>
|
||||
<word key_rus="Сообщать мне при публикации комментариев" key="event_auto_follow_suffix" js="0">Notify me when other comments are posted</word>
|
||||
<word key_rus="Лимит RSVP" key="event_rsvp_limit" js="0">RSVP Limit</word>
|
||||
<word key_rus="Как только лимит достигнут, дальнейшие участники не будут допущены к RSVP этого события." key="event_rsvp_limit_desc" js="0">Once the limit is reached, no further attendees will be allowed to RSVP for this event.</word>
|
||||
<word key_rus="Обложка" key="event_cover_photo" js="0">Cover Photo</word>
|
||||
<word key_rus="Местонахождение" key="event_location" js="0">Location</word>
|
||||
<word key_rus="Альбом" key="event_album" js="0">Album</word>
|
||||
<word key_rus="Вы можете связать альбом из Галереи с этим событием, который отобразит изображения на странице события и вызовет информацию об этом событии на странице альбома." key="event_album_desc" js="0">You can link an album from the Gallery to this event which will show the images on the event page and cause information about the event to be displayed on the album page.</word>
|
||||
<word key_rus="Событие начинается" key="submit_event_start" js="0">Event Start</word>
|
||||
<word key_rus="Событие заканчивается" key="submit_event_end" js="0">Event End</word>
|
||||
<word key_rus="Суммируем" key="submit_event_summary" js="0">Summary</word>
|
||||
<word key_rus="Это событие повторяется" key="submit_event_repeats_check" js="0">This event repeats</word>
|
||||
<word key_rus="Повторы" key="submit_event_repeats" js="0">Repeats</word>
|
||||
<word key_rus="удалить" key="submit_event_remove_repeat" js="0">remove</word>
|
||||
<word key_rus="Добавить событие" key="add_cal_event_header" js="0">Add Calendar Event</word>
|
||||
<word key_rus="Перейти" key="calendar_jump" js="0">Go</word>
|
||||
<word key_rus="Сегодня" key="calendar_jump_today" js="0">Go to today</word>
|
||||
<word key_rus="Перейти к..." key="jump_to_placeholder" js="0">Jump to...</word>
|
||||
<word key_rus="Перейти к" key="jump_to" js="0">Jump to</word>
|
||||
<word key_rus="Сегодняшние события" key="events_happening_today" js="0">Events happening today</word>
|
||||
<word key_rus="ВЕСЬ<br>ДЕНЬ" key="day_view_all_day" js="0"><![CDATA[ALL<br>DAY]]></word>
|
||||
<word key_rus="Вы пойдёте" key="you_are_going" js="0">You are going</word>
|
||||
<word key_rus="Вы посетите это событие" key="you_are_going_to_this" js="0">You are going to this event</word>
|
||||
<word key_rus="Вы не собираетесь посещать это событие" key="you_are_not_going_to_this" js="0">You are not going to this event</word>
|
||||
<word key_rus="Подтвердить участие" key="confirm_attendance" js="0">Confirm attendance</word>
|
||||
<word key_rus="Популярные события" key="featured_events" js="0">Featured Events</word>
|
||||
<word key_rus="Пожалуйста, выберите дату завершения после даты начала события" key="end_date_before_start" js="0">Please select an end date after the event start date</word>
|
||||
<word key_rus="Указанная дата начала неверна" key="invalid_start_date" js="0">The provided start date is not valid</word>
|
||||
<word key_rus="Указанная дата завершения события неверна" key="invalid_end_date" js="0">The provided end date is not valid</word>
|
||||
<word key_rus="Сохранить" key="event__save" js="0">Save</word>
|
||||
<word key_rus="Удалить событие" key="calendar_delete_title" js="0">Delete this event</word>
|
||||
<word key_rus="%s %s" key="blurb_date_with_time" js="0">%s %s</word>
|
||||
<word key_rus="%s - %s в %s" key="blurb_start_and_end" js="0">%s - %s in %s</word>
|
||||
<word key_rus="%s в %s" key="blurb_start_only" js="0">%s in %s</word>
|
||||
<word key_rus="Скачать событие" key="download_ical" js="0">Download Event</word>
|
||||
<word key_rus="Скачать это событие в качестве файла iCal" key="download_ical_title" js="0">Download this event as an iCal file</word>
|
||||
<word key_rus="О событии" key="event_details" js="0">Event details</word>
|
||||
<word key_rus="Событие создал %s" key="event_created_by" js="0">Event created by %s</word>
|
||||
<word key_rus="Ваш рейтинг" key="event_rating_value" js="0">Your Rating</word>
|
||||
<word key_rus="Ваш отзыв" key="event_review_text" js="0">Your Review</word>
|
||||
<word key_rus="Добавить отзыв..." key="event__review_placeholder" js="0">Add a review...</word>
|
||||
<word key_rus="Добавить комментарий..." key="event__comment_placeholder" js="0">Add a comment...</word>
|
||||
<word key_rus="Добавить комментарий" key="event_submit_comment" js="0">Submit Comment</word>
|
||||
<word key_rus="Участники" key="event_rsvp_attendees" js="0">Attendees</word>
|
||||
<word key_rus="Пожаловаться" key="report_event" js="0">Report Event</word>
|
||||
<word key_rus="Изменить" key="calendar_edit_details" js="0">Edit Details</word>
|
||||
<word key_rus="Изменить детали этого события" key="calendar_edit_details_title" js="0">Edit this event's details</word>
|
||||
<word key_rus="Управление" key="manage_event" js="0">Manage Event</word>
|
||||
<word key_rus="Это событие ещё не одобрено и видно только для модераторов." key="event_pending_approval" js="0">This event is not yet approved and is only visible to staff.</word>
|
||||
<word key_rus="Покинуть событие" key="rsvp_leave_event" js="0">Leave event</word>
|
||||
<word key_rus="Пойду" key="rsvp_attend_event" js="0">Going</word>
|
||||
<word key_rus="Может быть" key="rsvp_maybe_event" js="0">Maybe</word>
|
||||
<word key_rus="Не пойду" key="rsvp_notgoing_event" js="0">Not going</word>
|
||||
<word key_rus="Пойду" key="rsvp_attendees" js="0">Going</word>
|
||||
<word key_rus="Может быть" key="rsvp_maybe_attendees" js="0">Maybe</word>
|
||||
<word key_rus="Отказаться" key="rsvp_notgoing_attendees" js="0">Declined</word>
|
||||
<word key_rus="Адрес события" key="event_address" js="0">Event Address</word>
|
||||
<word key_rus="Никто пока ещё не собирается." key="no_rsvps_yet" js="0">No one is attending yet.</word>
|
||||
<word key_rus="Никто еще не отказался." key="no_decline_rsvps_yet" js="0">No one has declined yet.</word>
|
||||
<word key_rus="Пока ещё никто не сообщил, что может пойти" key="no_maybe_rsvps_yet" js="0">No one has said they might go yet.</word>
|
||||
<word key_rus="Лимит RSVP достигнут" key="rsvp_limit_reached" js="0">RSVP limit reached</word>
|
||||
<word key_rus="Вы не можете отправлять приглашения (RSVP) на это событие" key="rsvp_error" js="0">You do not have permission to RSVP for this event</word>
|
||||
<word key_rus="Ваше имя было удалено из списка приглашенных на это событие" key="rsvp_not_going" js="0">Your name has been removed from the guest list for this event</word>
|
||||
<word key_rus="Ваше имя было добавлено в список приглашённых гостей" key="rsvp_selection_yes" js="0">Your name has been added to the guest list</word>
|
||||
<word key_rus="Жаль, что Вы не сможете сделать это" key="rsvp_selection_no" js="0">It's too bad you won't be able to make it to the event!</word>
|
||||
<word key_rus="Ваше имя было добавлено в" key="rsvp_selection_maybe" js="0">Your name has been added to the maybe list</word>
|
||||
<word key_rus="Скачать список гостей" key="rsvp_download" js="0">Download guest list</word>
|
||||
<word key_rus="Другие ответы" key="event_rsvp_attendees_other" js="0">Other Responses</word>
|
||||
<word key_rus="Это событие повторяется каждый год %s" key="recur_human_yearly" js="0">This event repeats every year %s</word>
|
||||
<word key_rus="Это событие повторяется {!# [*1:каждый # год][*2:каждые # года][*3:каждые # года][*4:каждые # года][11:каждые # лет][12:каждые # лет][13:каждые # лет][14:каждые # лет][?:# лет]} %s" key="recur_human_yearly_multi" js="0">This event repeats every {# [?:years]} %s</word>
|
||||
<word key_rus="Это событие повторяется каждый месяц %s" key="recur_human_monthly" js="0">This event repeats every month %s</word>
|
||||
<word key_rus="Это событие повторяется {!# [*1:каждый # месяц][*2:каждые # месяца][*3:каждые # месяца][*4:каждые # месяца][11:каждые # месяцев][12:каждые # месяцев][13:каждые # месяцев][14:каждые # месяцев][?:# месяцев]} %s" key="recur_human_monthly_multi" js="0">This event repeats every {# [?:months]} %s</word>
|
||||
<word key_rus="Это событие повторяется каждую неделю %s" key="recur_human_weekly" js="0">This event repeats every week %s</word>
|
||||
<word key_rus="Это событие повторяется {!# [*1:каждую # неделю][*2:каждые # недели][*3:каждые # недели][*4:каждые # недели][11:каждые # недель][12:каждые # недель][13:каждые # недель][14:каждые # недель][?:# недель]} %s" key="recur_human_weekly_multi" js="0">This event repeats every {# [?:weeks]} %s</word>
|
||||
<word key_rus="Это событие повторяется каждую неделю в %s %s" key="recur_human_weekly_days" js="0">This event repeats every week on %s %s</word>
|
||||
<word key_rus="Это событие повторяется {!# [*1:каждую # неделю][*2:каждые # недели][*3:каждые # недели][*4:каждые # недели][11:каждые # недель][12:каждые # недель][13:каждые # недель][14:каждые # недель][?:# недель]} в %s %s" key="recur_human_weekly_multi_days" js="0">This event repeats every {# [?:weeks]} on %s %s</word>
|
||||
<word key_rus="Это событие повторяется каждый день %s" key="recur_human_daily" js="0">This event repeats every day %s</word>
|
||||
<word key_rus="Это событие повторяется {!# [*1:каждый # день][*2:каждые # дня][*3:каждые # дня][*4:каждые # дня][11:каждые # дней][12:каждые # дней][13:каждые # дней][14:каждые # дней][?:# дней]} %s" key="recur_human_daily_multi" js="0">This event repeats every {# [?:days]} %s</word>
|
||||
<word key_rus="навсегда" key="recur_human__forever" js="0">forever</word>
|
||||
<word key_rus="на {# [*1:случай][*2:случая][*3:случая][*4:случая][11:случаев][12:случаев][13:случаев][14:случаев][?:случаев]}" key="recur_human__occurrences" js="0">for {# [1:occurrence][?:occurrences]}</word>
|
||||
<word key_rus="до %s" key="recur_human__until" js="0">until %s</word>
|
||||
<word key_rus="Эта RSS лента сейчас недоступна" key="event_rss_feed_off" js="0">This RSS feed is currently unavailable</word>
|
||||
<word key_rus="RSS лента календаря отключена в админцентре" key="event_rss_feed_off_admin" js="0">The calendar RSS feed is currently disabled in the admin control panel</word>
|
||||
<word key_rus="Участники на %s" key="event_attendees" js="0">Attendees for %s</word>
|
||||
<word key_rus="{# [*1:пользователь приглашен][*2:пользователя приглашены][*3:пользователя приглашены][*4:пользователя приглашены][11:пользователей приглашены][12:пользователей приглашены][13:пользователей приглашены][14:пользователей приглашены][?:пользователей приглашены]} на это мероприятие. Общее количество %s." key="rsvp_limit_info" js="0">{# [1:user has][?:users have]} RSVPed for this event. A total of %s can RSVP.</word>
|
||||
<word key_rus="Когда на событие закончился лимит гостей, вы можете только указать, пойдёте или нет" key="rsvp_limit_nomaybe" js="0">You may only indicate you are going or not going when an event has a limit specified</word>
|
||||
<word key_rus="У вас нет прав на написание отзыва событию" key="no_event_review" js="0">You do not have permission to review events</word>
|
||||
<word key_rus="Лента iCalendar %s неправильно отформатирована в распознаваемый формат" key="task_BAD_CONTENT" js="0">The iCalendar feed %s is not correctly formatted in a recognized iCalendar format</word>
|
||||
<word key_rus="Лента iCalendar %s не предоставила ни одного события для продолжения" key="task_NO_CONTENT" js="0">The iCalendar feed %s did not return any events to process</word>
|
||||
<word key_rus="Подписаться на ленту iCalendar" key="subscribe_webcal" js="0">Subscribe to iCalendar feed</word>
|
||||
<word key_rus="Скачать экспорт iCalendar" key="download_webcal" js="0">Download iCalendar export</word>
|
||||
<word key_rus="Календарь" key="calendar_id" js="0">Calendar</word>
|
||||
<word key_rus="Это событие закрыто, но вам разрешено добавлять новые комментарии." key="event_locked_can_comment" js="0">This event is locked, but your permissions allow you to add new comments.</word>
|
||||
<word key_rus="Это событие закрыто для комментариев." key="event_locked_cannot_comment" js="0">This event is now closed to further comments.</word>
|
||||
<word key_rus="Изображения с этого события" key="event_images" js="0">Images from this event</word>
|
||||
<word key_rus="Переместить событие" key="event_move_title" js="0">Move this event</word>
|
||||
<word key_rus="Популярное событие" key="feature_title_event" js="0">Feature this event</word>
|
||||
<word key_rus="Непопулярное событие" key="unfeature_title_event" js="0">Unfeature this event</word>
|
||||
<word key_rus="Закрепить событие" key="pin_title_event" js="0">Pin this event</word>
|
||||
<word key_rus="Открепить событие" key="unpin_title_event" js="0">Unpin this event</word>
|
||||
<word key_rus="Скрыть событие" key="hide_title_event" js="0">Hide this event</word>
|
||||
<word key_rus="Показать событие" key="unhide_title_event" js="0">Unhide this event</word>
|
||||
<word key_rus="Заблокировать событие" key="lock_title_event" js="0">Lock this event</word>
|
||||
<word key_rus="Разблокировать событие" key="unlock_title_event" js="0">Unlock this event</word>
|
||||
<word key_rus="Одобрить событие" key="approve_title_event" js="0">Approve this event</word>
|
||||
<word key_rus="Предстоящие события" key="block_upcomingEvents" js="0">Upcoming Events</word>
|
||||
<word key_rus="Показывает предстоящие события" key="block_upcomingEvents_desc" js="0">Shows upcoming calendar events</word>
|
||||
<word key_rus="Автоматически скрывать блок" key="auto_hide" js="0">Automatically hide block</word>
|
||||
<word key_rus="Скрыть этот блок, когда нет результатов для отображения" key="auto_hide_desc" js="0">Hide this block when there are no results to display</word>
|
||||
<word key_rus="Количество дней для отображения" key="days_ahead" js="0">Number of days to show</word>
|
||||
<word key_rus="Количество событий" key="maximum_count" js="0">Number of events</word>
|
||||
<word key_rus="Просмотр события %s" key="view_this_event" js="0">View the event %s</word>
|
||||
<word key_rus="Сегодняшние дни рождения" key="block_todaysBirthdays" js="0">Today's Birthdays</word>
|
||||
<word key_rus="Отображает сегодняшние дни рождения" key="block_todaysBirthdays_desc" js="0">Shows birthdays from today</word>
|
||||
<word key_rus="Празднующих сегодня пользователей нет" key="no_members_birthday_today" js="0">No users celebrating today</word>
|
||||
<word key_rus="Предстоящих событий не найдено" key="no_upcoming_events" js="0">No upcoming events found</word>
|
||||
<word key_rus="({# [*1:год][*2:года][*3:года][*4:года][11:лет][12:лет][13:лет][14:лет][?:лет]})" key="member_age" js="0">({# [1:year][?:years]} old)</word>
|
||||
<word key_rus="Последние отзывы" key="block_recentReviews" js="0">Recent Event Reviews</word>
|
||||
<word key_rus="Отображает последние отзывы" key="block_recentReviews_desc" js="0">Display the most recent reviews</word>
|
||||
<word key_rus="Отзывов не найдено" key="no_recent_reviews" js="0">No recent reviews found</word>
|
||||
<word key_rus="Календари" key="announce_calendars" js="0">Calendars</word>
|
||||
<word key_rus="Количество отзывов для отображения" key="review_count" js="0">Number of reviews to show</word>
|
||||
<word key_rus="Календарь" key="widget_calendar" js="0">Calendar</word>
|
||||
<word key_rus="Событие календаря" key="embed_calendar_event" js="0">Calendar Event</word>
|
||||
<word key_rus="{# [*1:пользователь][*2:пользователя][*3:пользователя][*4:пользователя][11:пользователей][12:пользователей][13:пользователей][14:пользователей][?:пользователей]} собирается" key="x_users_going" js="0">{# [1:user][?:users]} going</word>
|
||||
<word key_rus="GMT %s" key="timezone_offset_short" js="0">GMT %s</word>
|
||||
<word key_rus="[GMT - 12] Остров Бейкер, Аляска, США" key="timezone_offset_-12" js="0">[GMT - 12] Baker Island Time</word>
|
||||
<word key_rus="[GMT - 11] Часовой пояс САМОА (SST)" key="timezone_offset_-11" js="0">[GMT - 11] Samoa Standard Time</word>
|
||||
<word key_rus="[GMT - 10] Поясное время Гавай (HAST)" key="timezone_offset_-10" js="0">[GMT - 10] Hawaii Standard Time</word>
|
||||
<word key_rus="[GMT - 9:30] Папеэте, Французская Полинезия" key="timezone_offset_-9.5" js="0">[GMT - 9:30] Marquesas Islands Time</word>
|
||||
<word key_rus="[GMT - 9] Поясное время Аляски (AKST)" key="timezone_offset_-9" js="0">[GMT - 9] Alaska Standard Time</word>
|
||||
<word key_rus="[GMT - 8] Тихоокеанское поясное время (PST)" key="timezone_offset_-8" js="0">[GMT - 8] Pacific Standard Time</word>
|
||||
<word key_rus="[GMT - 7] Часовой пояс западной части США (MST)" key="timezone_offset_-7" js="0">[GMT - 7] Mountain Standard Time</word>
|
||||
<word key_rus="[GMT - 6] Центральное поясное время (CST)" key="timezone_offset_-6" js="0">[GMT - 6] Central Standard Time</word>
|
||||
<word key_rus="[GMT - 5] Североамериканское восточное время (EST)" key="timezone_offset_-5" js="0">[GMT - 5] Eastern Standard Time</word>
|
||||
<word key_rus="[GMT - 4:30] Поясное время Венесуэлы (VST)" key="timezone_offset_-4.5" js="0">[GMT - 4:30] Venezuelan Standard Time</word>
|
||||
<word key_rus="[GMT - 4] Атлантическое поясное время (AST)" key="timezone_offset_-4" js="0">[GMT - 4] Atlantic Standard Time</word>
|
||||
<word key_rus="[GMT - 3:30] Поясное время Ньюфаундленд(NST)" key="timezone_offset_-3.5" js="0">[GMT - 3:30] Newfoundland Standard Time</word>
|
||||
<word key_rus="[GMT - 3] время Бразилиа (BRT)" key="timezone_offset_-3" js="0">[GMT - 3] Brasília time</word>
|
||||
<word key_rus="[GMT - 2] время Fernando de Noronha - Пернамбуку, Бразилия (BRT)" key="timezone_offset_-2" js="0">[GMT - 2] Fernando de Noronha Time</word>
|
||||
<word key_rus="[GMT - 1] Стандартное время восточной Гренландии (EGT)" key="timezone_offset_-1" js="0">[GMT - 1] Eastern Greenland Time</word>
|
||||
<word key_rus="[GMT] Среднее время по Гринвичу (GMT)" key="timezone_offset_0" js="0">[GMT] Greenwich Mean Time</word>
|
||||
<word key_rus="[GMT + 1] Центральноевропейское время (CET)" key="timezone_offset_1" js="0">[GMT + 1] Central European Time</word>
|
||||
<word key_rus="[GMT + 2] Восточноевропейское время (EET)" key="timezone_offset_2" js="0">[GMT + 2] Eastern European Time</word>
|
||||
<word key_rus="[GMT + 3] Время восточной Африки (EAT)" key="timezone_offset_3" js="0">[GMT + 3] Eastern African Time</word>
|
||||
<word key_rus="[GMT + 3:30] Поясное время Ирана (IRST)" key="timezone_offset_3.5" js="0">[GMT + 3:30] Iran Standard Time</word>
|
||||
<word key_rus="[GMT + 4] Стандартное время Персидского залива (GST)" key="timezone_offset_4" js="0">[GMT + 4] Gulf Standard Time</word>
|
||||
<word key_rus="[GMT + 4:30] Время Афганистана (AFT)" key="timezone_offset_4.5" js="0">[GMT + 4:30] Afghanistan Time</word>
|
||||
<word key_rus="[GMT + 5] Поясное время Пакистана (PST)" key="timezone_offset_5" js="0">[GMT + 5] Pakistan Standard Time</word>
|
||||
<word key_rus="[GMT + 5:30] Индийское поясное время (IST)" key="timezone_offset_5.5" js="0">[GMT + 5:30] Indian Standard Time</word>
|
||||
<word key_rus="[GMT + 5:45] Поясное время Непала (NPT)" key="timezone_offset_5.75" js="0">[GMT + 5:45] Nepal Time</word>
|
||||
<word key_rus="[GMT + 6] Время Бангладеш ((BDT))" key="timezone_offset_6" js="0">[GMT + 6] Bangladesh Time</word>
|
||||
<word key_rus="[GMT + 6:30] Время Мьянма (MMT)" key="timezone_offset_6.5" js="0">[GMT + 6:30] Myanmar Time</word>
|
||||
<word key_rus="[GMT + 7] Время Индокитая (ICT)" key="timezone_offset_7" js="0">[GMT + 7] Indochina Time</word>
|
||||
<word key_rus="[GMT + 8] Поясное время Китая (CST)" key="timezone_offset_8" js="0">[GMT + 8] Chinese Standard Time</word>
|
||||
<word key_rus="[GMT + 9] Часовой пояс Японии (JST)" key="timezone_offset_9" js="0">[GMT + 9] Japan Standard Time</word>
|
||||
<word key_rus="[GMT + 9:30] Стандартное время центральной Австралии (ACST)" key="timezone_offset_9.5" js="0">[GMT + 9:30] Australian Central Standard Time</word>
|
||||
<word key_rus="[GMT + 10] Стандартное время восточной Австралии (AEST)" key="timezone_offset_10" js="0">[GMT + 10] Australian Eastern Standard Time</word>
|
||||
<word key_rus="[GMT + 10:30] Стандартное время Лорд-Хау (LHST)" key="timezone_offset_10.5" js="0">[GMT + 10:30] Lord Howe Standard Time</word>
|
||||
<word key_rus="[GMT + 11] Часовой пояс в Соломоновы о-ва (SIT)" key="timezone_offset_11" js="0">[GMT + 11] Solomon Island Time</word>
|
||||
<word key_rus="[GMT + 11:30] время Остров Норфолк (NFT)" key="timezone_offset_11.5" js="0">[GMT + 11:30] Norfolk Island Time</word>
|
||||
<word key_rus="[GMT + 12] время Новой Зеландии (NZST)" key="timezone_offset_12" js="0">[GMT + 12] New Zealand Time</word>
|
||||
<word key_rus="[GMT + 12:45] Время Чатем Айлендс, Новая Зеландия (CHAST)" key="timezone_offset_12.75" js="0">[GMT + 12:45] Chatham Islands Time</word>
|
||||
<word key_rus="[GMT + 13] Время островов Феникс (PIT)" key="timezone_offset_13" js="0">[GMT + 13] Phoenix Islands Time</word>
|
||||
<word key_rus="[GMT + 14] Время острово Лайн (LIT)" key="timezone_offset_14" js="0">[GMT + 14] Line Island Time</word>
|
||||
<word key_rus="Проверка лент iCalendar на новые события и импорты в Календарь." key="task__icalendar" js="0">Checks iCalendar feeds for new events and imports into Calendar.</word>
|
||||
<word key_rus="События" key="digest_area_calendar_calendar" js="0">Events</word>
|
||||
<word key_rus="Событие" key="digest_area_calendar_event" js="0">Event</word>
|
||||
<word key_rus="%s опубликовал событие в %s" key="x_created_event_in" js="0">%s posted an event in %s</word>
|
||||
<word key_rus="%s прокомментировал событие" key="x_commented_event" js="0">%s commented on an event</word>
|
||||
<word key_rus="Событие на" key="digest_event_on" js="0">Event on</word>
|
||||
<word key_rus="{# [*1:пользователь][*2:пользователя][*3:пользователя][*4:пользователя][11:пользователей][12:пользователей][13:пользователей][14:пользователей][?:пользователей]} собираются посетить" key="digest_users_going" js="0">{# [1:user][?:users]} going</word>
|
||||
<word key_rus="{$content->mapped('title')|raw}" key="mailsub__calendar_notification_new_content" js="0"><![CDATA[{$content->mapped("title")|raw}]]></word>
|
||||
<word key_rus="%s отправил %s, %s, для %s" key="email_new_calevent_plain" js="0">%s has posted %s, %s, for %s</word>
|
||||
<word key_rus="<a href='%s'>%s</a> отправил %s, <a href='%s'>%s</a>, для %s" key="email_new_calevent" js="0"><![CDATA[<a href='%s'>%s</a> has posted %s, <a href='%s'>%s</a>, for %s]]></word>
|
||||
<word key_rus="%s (Гость) отправил %s, <a href='%s'>%s</a>, для %s" key="email_new_calevent_guest" js="0"><![CDATA[%s (Guest) has posted %s, <a href='%s'>%s</a>, for %s]]></word>
|
||||
<word key_rus="События" key="__api_calendar_events" js="0">Events</word>
|
||||
<word key_rus="Комментарии" key="__api_calendar_comments" js="0">Comments</word>
|
||||
<word key_rus="Отзывы" key="__api_calendar_reviews" js="0">Reviews</word>
|
||||
<word key_rus="{# [*1:день][*2:дня][*3:дня][*4:дня][11:дней][12:дней][13:дней][14:дней][?:дней]}" key="x_daily" js="1">{# [1:day][?:days]}</word>
|
||||
<word key_rus="{# [*1:неделя][*2:недели][*3:недели][*4:недели][11:недель][12:недель][13:недель][14:недель][?:недель]}" key="x_weekly" js="1">{# [1:week][?:weeks]}</word>
|
||||
<word key_rus="{# [*1:месяц][*2:месяца][*3:месяца][*4:месяца][11:месяцев][12:месяцев][13:месяцев][14:месяцев][?:месяцев]}" key="x_monthly" js="1">{# [1:month][?:months]}</word>
|
||||
<word key_rus="{# [*1:год][*2:года][*3:года][*4:года][11:лет][12:лет][13:лет][14:лет][?:лет]}" key="x_yearly" js="1">{# [1:year][?:years]}</word>
|
||||
<word key_rus="Каждые {{period}}" key="every_x" js="1">Every {{period}}</word>
|
||||
<word key_rus="{# [*1:раз][*2:раза][*3:раза][*4:раза][11:раз][12:раз][13:раз][14:раз][?:раз]}" key="x_times" js="1">{# [1:time][?:times]}</word>
|
||||
<word key_rus="до {{date}}" key="until" js="1">until {{date}}</word>
|
||||
<word key_rus="Каждые {{interval}}, {{endAfter}}" key="with_end" js="1">{{interval}}, {{endAfter}}</word>
|
||||
<word key_rus="Понедельник" key="MO" js="1">Monday</word>
|
||||
<word key_rus="Вторник" key="TU" js="1">Tuesday</word>
|
||||
<word key_rus="Среда" key="WE" js="1">Wednesday</word>
|
||||
<word key_rus="Четверг" key="TH" js="1">Thursday</word>
|
||||
<word key_rus="Пятница" key="FR" js="1">Friday</word>
|
||||
<word key_rus="Суббота" key="SA" js="1">Saturday</word>
|
||||
<word key_rus="Воскресенье" key="SU" js="1">Sunday</word>
|
||||
<word key_rus="на {{first}}" key="one_day" js="1">on {{first}}</word>
|
||||
<word key_rus="на {{days}} и {{last}}" key="multiple_day" js="1">on {{days}} and {{last}}</word>
|
||||
<word key_rus="{{week}} {{days}}" key="week_string" js="1">{{week}} {{days}}</word>
|
||||
<word key_rus="Не повторять" key="doesnt_repeat" js="1">Doesn't repeat</word>
|
||||
<word key_rus="<strong>{{startDate}}</strong>, c <strong>{{startTime}}</strong> до <strong>{{endTime}}</strong>" key="single_not_allday" js="1"><![CDATA[On <strong>{{startDate}}</strong>, from <strong>{{startTime}}</strong> to <strong>{{endTime}}</strong>]]></word>
|
||||
<word key_rus="<strong>{{startDate}}</strong> (весь день)" key="single_allday" js="1"><![CDATA[<strong>{{startDate}}</strong> (all day)]]></word>
|
||||
<word key_rus="С <strong>{{startDate}}</strong> в <strong>{{startTime}}</strong> до <strong>{{endDate}}</strong> в <strong>{{endTime}}</strong>" key="not_single_not_allday" js="1"><![CDATA[From <strong>{{startDate}}</strong> at <strong>{{startTime}}</strong> until <strong>{{endDate}}</strong> at <strong>{{endTime}}</strong>]]></word>
|
||||
<word key_rus="С <strong>{{startDate}}</strong> до <strong>{{endDate}}</strong>" key="not_single_allday" js="1"><![CDATA[From <strong>{{startDate}}</strong> to <strong>{{endDate}}</strong>]]></word>
|
||||
<word key_rus="(укажите время)" key="select_time" js="1">(select time)</word>
|
||||
</app>
|
||||
</language>
|
||||
@@ -143,5 +143,11 @@
|
||||
"101090": "4.1.19 Beta 1",
|
||||
"101091": "4.1.19 Beta 2",
|
||||
"101092": "4.1.19 Beta 3",
|
||||
"101093": "4.1.19"
|
||||
"101093": "4.1.19",
|
||||
"101094": "4.1.19.1",
|
||||
"101095": "4.1.19.2 Beta 1",
|
||||
"101096": "4.1.19.2",
|
||||
"101097": "4.1.19.2",
|
||||
"101098": "4.1.19.3",
|
||||
"101099": "4.1.19.4"
|
||||
}
|
||||
@@ -28,13 +28,20 @@
|
||||
]
|
||||
},
|
||||
"5": {
|
||||
"method": "dropIndex",
|
||||
"params": [
|
||||
"cal_events",
|
||||
"approved"
|
||||
]
|
||||
},
|
||||
"6": {
|
||||
"method": "renameTable",
|
||||
"params": [
|
||||
"cal_events",
|
||||
"calendar_events"
|
||||
]
|
||||
},
|
||||
"6": {
|
||||
"7": {
|
||||
"method": "changeColumn",
|
||||
"params": [
|
||||
"calendar_events",
|
||||
@@ -55,7 +62,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"7": {
|
||||
"8": {
|
||||
"method": "update",
|
||||
"params": [
|
||||
"calendar_events",
|
||||
@@ -63,7 +70,7 @@
|
||||
"event_end_date='0000-00-00 00:00:00'"
|
||||
]
|
||||
},
|
||||
"8": {
|
||||
"9": {
|
||||
"method": "changeColumn",
|
||||
"params": [
|
||||
"calendar_events",
|
||||
@@ -84,42 +91,64 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"9": {
|
||||
"10": {
|
||||
"method": "addIndex",
|
||||
"params": [
|
||||
"calendar_events",
|
||||
{
|
||||
"type": "key",
|
||||
"name": "approved",
|
||||
"length": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"columns": [
|
||||
"event_calendar_id",
|
||||
"event_approved",
|
||||
"event_start_date",
|
||||
"event_end_date"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"11": {
|
||||
"method": "renameTable",
|
||||
"params": [
|
||||
"cal_import_feeds",
|
||||
"calendar_import_feeds"
|
||||
]
|
||||
},
|
||||
"10": {
|
||||
"12": {
|
||||
"method": "renameTable",
|
||||
"params": [
|
||||
"cal_import_map",
|
||||
"calendar_import_map"
|
||||
]
|
||||
},
|
||||
"11": {
|
||||
"13": {
|
||||
"method": "dropIndex",
|
||||
"params": [
|
||||
"calendar_events",
|
||||
"event_content"
|
||||
]
|
||||
},
|
||||
"12": {
|
||||
"14": {
|
||||
"method": "dropIndex",
|
||||
"params": [
|
||||
"calendar_events",
|
||||
"event_title"
|
||||
]
|
||||
},
|
||||
"13": {
|
||||
"15": {
|
||||
"method": "dropIndex",
|
||||
"params": [
|
||||
"calendar_event_comments",
|
||||
"comment_text"
|
||||
]
|
||||
},
|
||||
"14": {
|
||||
"16": {
|
||||
"method": "dropColumn",
|
||||
"params": [
|
||||
"calendar_calendars",
|
||||
@@ -136,14 +165,14 @@
|
||||
]
|
||||
]
|
||||
},
|
||||
"15": {
|
||||
"17": {
|
||||
"method": "dropColumn",
|
||||
"params": [
|
||||
"calendar_import_feeds",
|
||||
"feed_recache_freq"
|
||||
]
|
||||
},
|
||||
"16": {
|
||||
"18": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"calendar_calendars",
|
||||
@@ -163,14 +192,14 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"17": {
|
||||
"19": {
|
||||
"method": "update",
|
||||
"params": [
|
||||
"calendar_calendars",
|
||||
"cal_color='#000000'"
|
||||
]
|
||||
},
|
||||
"18": {
|
||||
"20": {
|
||||
"method": "changeColumn",
|
||||
"params": [
|
||||
"calendar_event_comments",
|
||||
@@ -191,7 +220,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"19": {
|
||||
"21": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"calendar_events",
|
||||
@@ -211,7 +240,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"20": {
|
||||
"22": {
|
||||
"method": "dropColumn",
|
||||
"params": [
|
||||
"calendar_events",
|
||||
@@ -223,7 +252,7 @@
|
||||
]
|
||||
]
|
||||
},
|
||||
"21": {
|
||||
"23": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"calendar_events",
|
||||
@@ -243,7 +272,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"22": {
|
||||
"24": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"calendar_events",
|
||||
@@ -263,7 +292,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"23": {
|
||||
"25": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"calendar_events",
|
||||
@@ -283,7 +312,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"24": {
|
||||
"26": {
|
||||
"method": "changeColumn",
|
||||
"params": [
|
||||
"calendar_events",
|
||||
@@ -304,7 +333,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"25": {
|
||||
"27": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"calendar_events",
|
||||
@@ -324,7 +353,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"26": {
|
||||
"28": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"calendar_events",
|
||||
@@ -344,7 +373,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"27": {
|
||||
"29": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"calendar_events",
|
||||
@@ -364,7 +393,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"28": {
|
||||
"30": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"calendar_events",
|
||||
@@ -384,14 +413,14 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"29": {
|
||||
"31": {
|
||||
"method": "dropTable",
|
||||
"params": [
|
||||
"cal_event_ratings",
|
||||
true
|
||||
]
|
||||
},
|
||||
"30": {
|
||||
"32": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"calendar_calendars",
|
||||
@@ -411,7 +440,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"31": {
|
||||
"33": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"calendar_calendars",
|
||||
@@ -431,7 +460,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"32": {
|
||||
"34": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"calendar_calendars",
|
||||
@@ -451,7 +480,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"33": {
|
||||
"35": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"calendar_events",
|
||||
@@ -471,7 +500,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"34": {
|
||||
"36": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"calendar_import_feeds",
|
||||
@@ -491,7 +520,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"35": {
|
||||
"37": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"calendar_events",
|
||||
@@ -511,7 +540,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"36": {
|
||||
"38": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"calendar_events",
|
||||
@@ -531,7 +560,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"37": {
|
||||
"39": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"calendar_event_rsvp",
|
||||
@@ -551,14 +580,14 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"38": {
|
||||
"40": {
|
||||
"method": "update",
|
||||
"params": [
|
||||
"calendar_event_rsvp",
|
||||
"rsvp_response=1"
|
||||
]
|
||||
},
|
||||
"39": {
|
||||
"41": {
|
||||
"method": "changeColumn",
|
||||
"params": [
|
||||
"calendar_events",
|
||||
@@ -579,7 +608,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"40": {
|
||||
"42": {
|
||||
"method": "changeColumn",
|
||||
"params": [
|
||||
"calendar_import_feeds",
|
||||
@@ -600,7 +629,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"41": {
|
||||
"43": {
|
||||
"method": "changeIndex",
|
||||
"params": [
|
||||
"calendar_import_feeds",
|
||||
@@ -617,7 +646,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"42": {
|
||||
"44": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"calendar_events",
|
||||
@@ -637,7 +666,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"43": {
|
||||
"45": {
|
||||
"method": "createTable",
|
||||
"params": [
|
||||
{
|
||||
@@ -899,7 +928,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"44": {
|
||||
"46": {
|
||||
"method": "addIndex",
|
||||
"params": [
|
||||
"calendar_event_comments",
|
||||
@@ -915,7 +944,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"45": {
|
||||
"47": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"calendar_events",
|
||||
|
||||
@@ -1,141 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Chat Application Class
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2014 Invision Power Services, Inc.
|
||||
* @package IPS Community Suite
|
||||
* @subpackage Chat
|
||||
* @since 03 Jan 2014
|
||||
* @version
|
||||
*/
|
||||
|
||||
namespace IPS\chat;
|
||||
|
||||
/**
|
||||
* Chat Application Class
|
||||
*/
|
||||
class _Application extends \IPS\Application
|
||||
{
|
||||
/**
|
||||
* Install 'other' items.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function installOther()
|
||||
{
|
||||
/* Set non guests to be able to access */
|
||||
foreach( \IPS\Member\Group::groups( TRUE, FALSE ) as $group )
|
||||
{
|
||||
$group->chat_access = TRUE;
|
||||
$group->save();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* [Node] Get Icon for tree
|
||||
*
|
||||
* @note Return the class for the icon (e.g. 'globe')
|
||||
* @return string|null
|
||||
*/
|
||||
protected function get__icon()
|
||||
{
|
||||
return 'comment';
|
||||
}
|
||||
|
||||
/**
|
||||
* Is chat online? Returns error message if not
|
||||
*
|
||||
* @return string|TRUE
|
||||
*/
|
||||
public function offlineMessage()
|
||||
{
|
||||
if( \IPS\Settings::i()->ipschat_online )
|
||||
{
|
||||
$times = explode( ',', \IPS\Settings::i()->ipschat_online );
|
||||
|
||||
if( count( $times ) AND $times[0] )
|
||||
{
|
||||
/* Do we need to adjust the time zone? */
|
||||
if( isset( $times[2] ) AND $times[2] AND \IPS\Member::loggedIn()->timezone AND $times[2] != \IPS\Member::loggedIn()->timezone )
|
||||
{
|
||||
$start = new \IPS\DateTime( '2015-01-01 ' . $times[0], new \DateTimeZone( $times[2] ) );
|
||||
$start->setTimezone( new \DateTimeZone( \IPS\Member::loggedIn()->timezone ) );
|
||||
$times[0] = $start->format( 'H:i' );
|
||||
|
||||
$end = new \IPS\DateTime( '2015-01-01 ' . $times[1], new \DateTimeZone( $times[2] ) );
|
||||
$end->setTimezone( new \DateTimeZone( \IPS\Member::loggedIn()->timezone ) );
|
||||
$times[1] = $end->format( 'H:i' );
|
||||
}
|
||||
|
||||
if( ( isset( $times[2] ) AND $times[2] ) OR \IPS\Member::loggedIn()->timezone )
|
||||
{
|
||||
$currentTime = new \IPS\DateTime( NULL, new \DateTimeZone( ( isset( $times[2] ) AND $times[2] ) ? $times[2] : \IPS\Member::loggedIn()->timezone ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
$currentTime = new \IPS\DateTime;
|
||||
}
|
||||
|
||||
if( \IPS\Member::loggedIn()->timezone )
|
||||
{
|
||||
$currentTime->setTimezone( new \DateTimeZone( \IPS\Member::loggedIn()->timezone ) );
|
||||
}
|
||||
|
||||
$currentTime = $currentTime->format( 'H:i' );
|
||||
|
||||
/* Convert times to floats, as that is simple to compare */
|
||||
$start = str_replace( ':', '.', $times[0] );
|
||||
$end = str_replace( ':', '.', $times[1] );
|
||||
$currentTime = str_replace( ':', '.', $currentTime );
|
||||
|
||||
if( $end > $start )
|
||||
{
|
||||
if( !( $currentTime >= $start ) OR !( $currentTime < $end ) )
|
||||
{
|
||||
return \IPS\Member::loggedIn()->language()->addToStack( 'chat_currently_offline', FALSE, array( 'sprintf' => $start ) );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if( !( $currentTime >= $start ) AND $currentTime >= $end )
|
||||
{
|
||||
return \IPS\Member::loggedIn()->language()->addToStack( 'chat_currently_offline', FALSE, array( 'sprintf' => $start ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Default front navigation
|
||||
*
|
||||
* @code
|
||||
|
||||
// Each item...
|
||||
array(
|
||||
'key' => 'Example', // The extension key
|
||||
'app' => 'core', // [Optional] The extension application. If ommitted, uses this application
|
||||
'config' => array(...), // [Optional] The configuration for the menu item
|
||||
'title' => 'SomeLangKey', // [Optional] If provided, the value of this language key will be copied to menu_item_X
|
||||
'children' => array(...), // [Optional] Array of child menu items for this item. Each has the same format.
|
||||
)
|
||||
|
||||
return array(
|
||||
'rootTabs' => array(), // These go in the top row
|
||||
'browseTabs' => array(), // These go under the Browse tab on a new install or when restoring the default configuraiton; or in the top row if installing the app later (when the Browse tab may not exist)
|
||||
'browseTabsEnd' => array(), // These go under the Browse tab after all other items on a new install or when restoring the default configuraiton; or in the top row if installing the app later (when the Browse tab may not exist)
|
||||
'activityTabs' => array(), // These go under the Activity tab on a new install or when restoring the default configuraiton; or in the top row if installing the app later (when the Activity tab may not exist)
|
||||
)
|
||||
* @endcode
|
||||
* @return array
|
||||
*/
|
||||
public function defaultFrontNavigation()
|
||||
{
|
||||
return array(
|
||||
'rootTabs' => array(),
|
||||
'browseTabs' => array( array( 'key' => 'Chat' ) ),
|
||||
'browseTabsEnd' => array(),
|
||||
'activityTabs' => array()
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"chat": {
|
||||
"settings": {
|
||||
"tab": "community",
|
||||
"controller": "settings",
|
||||
"do": "",
|
||||
"restriction": "settings_manage"
|
||||
},
|
||||
"logs": {
|
||||
"tab": "community",
|
||||
"controller": "logs",
|
||||
"do": "",
|
||||
"restriction": "logs_manage"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"chat": {
|
||||
"settings": {
|
||||
"settings_manage": "settings_manage"
|
||||
},
|
||||
"logs": {
|
||||
"logs_manage": "logs_manage"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,127 +0,0 @@
|
||||
{
|
||||
"app=chat&module=chat&controller=logs": {
|
||||
"lang_key": "menu__chat_chat_logs",
|
||||
"restriction": "logs_manage",
|
||||
"keywords": [
|
||||
"chat logs",
|
||||
"жерналы чата",
|
||||
"логи чата"
|
||||
]
|
||||
},
|
||||
"app=chat&module=chat&controller=settings": {
|
||||
"lang_key": "menu__chat_chat_settings",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"Chat",
|
||||
"Chat Settings",
|
||||
"Chatroom",
|
||||
"чат",
|
||||
"комната",
|
||||
"настройки чата",
|
||||
"комната чата"
|
||||
]
|
||||
},
|
||||
"app=chat&module=chat&controller=settings&searchResult=form_ipchat_24hour": {
|
||||
"lang_key": "ipchat_24hour",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"Time Format",
|
||||
"формат времени"
|
||||
]
|
||||
},
|
||||
"app=chat&module=chat&controller=settings&searchResult=form_ipchat_hide_usermessage": {
|
||||
"lang_key": "ipchat_hide_usermessage",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"chat messages",
|
||||
"Show room join messages",
|
||||
"сообщения чата",
|
||||
"сообщение чата"
|
||||
]
|
||||
},
|
||||
"app=chat&module=chat&controller=settings&searchResult=form_ipchat_inactive_minutes": {
|
||||
"lang_key": "ipchat_inactive_minutes",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"inactivity",
|
||||
"inactivity period",
|
||||
"бездействие",
|
||||
"время бездействия",
|
||||
"период бездействия"
|
||||
]
|
||||
},
|
||||
"app=chat&module=chat&controller=settings&searchResult=form_ipchat_new_window": {
|
||||
"lang_key": "ipchat_new_window",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"chat new window",
|
||||
"Open in a new window",
|
||||
"новое окно",
|
||||
"открыть в новом окне",
|
||||
"чат в новом окне"
|
||||
]
|
||||
},
|
||||
"app=chat&module=chat&controller=settings&searchResult=form_ipchat_no_buffer": {
|
||||
"lang_key": "ipchat_no_buffer",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"chat history",
|
||||
"история чата",
|
||||
"история"
|
||||
]
|
||||
},
|
||||
"app=chat&module=chat&controller=settings&searchResult=form_ipschat_enable_rules": {
|
||||
"lang_key": "ipschat_enable_rules",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"chat rules",
|
||||
"правила чата"
|
||||
]
|
||||
},
|
||||
"app=chat&module=chat&controller=settings&searchResult=ipschat_online": {
|
||||
"lang_key": "ipschat_online",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"chat online",
|
||||
"online times",
|
||||
"чат онлайн",
|
||||
"включить чат",
|
||||
"чат включён"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_chat_access": {
|
||||
"lang_key": "chat_access",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"access chat",
|
||||
"chat",
|
||||
"чат",
|
||||
"доступ к чату"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_chat_moderate": {
|
||||
"lang_key": "chat_moderate",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"chat",
|
||||
"chat moderation",
|
||||
"moderate",
|
||||
"moderate chat",
|
||||
"чат",
|
||||
"модерация чата",
|
||||
"модерация",
|
||||
"модерирование чата",
|
||||
"модератор чата"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=members&searchResult=form_chat_banned": {
|
||||
"lang_key": "chat_banned",
|
||||
"restriction": null,
|
||||
"keywords": [
|
||||
"Access",
|
||||
"Chat",
|
||||
"чат",
|
||||
"доступ"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
/**
|
||||
* Friendly URL Structure @todo check 3.x URLs and add alias for any that need redirecting to new 4.x equivalents. See blog entry record for example.
|
||||
*
|
||||
* For each value in the $furl array:
|
||||
* The key should be the "SEO Template" - an identifier which you'll use when displaying a URL.
|
||||
* The value should be an associative array with two or three elements: 'friendly' and 'real', and optionally 'verify':
|
||||
* 'friendly'
|
||||
* The friendly URL to use - encase variables in {curly braces} containing a symbol, followed by the name of the parameter that matches in the "real" URL
|
||||
* The symbol should be # for numbers or @ for strings
|
||||
* For example, if the "real" URL contains id=XXX, where XXX is a number, you should include {#id} somewhere in the friendly URL.
|
||||
* You can also use the tag {?} for the "SEO Title" (that is, any variables that shouldn't be part of the real URL, such as the name of the topipc being viewed).
|
||||
* If you want to support more than one SEO Title, you can give them zero-indexed keys like so: {?0} {?1} {?2}
|
||||
* 'real'
|
||||
* This should be the base of the real URL. You should not include parameters which will be parsed out from the friendly URL.
|
||||
* 'verify'
|
||||
* This should be the name of a class that contains a loadFromUrl() and an url() method. The dynamic URL (i.e. app=core&...) will be passed to loadFromUrl(), and the url()
|
||||
* method will subsequently be called to retrieve the correct URL, ideal with ActiveRecord pattern classes.
|
||||
*
|
||||
* IMPORTANT: Ensure values are listed with the most specific ones first. This is to ensure that non-FURL redirects are done correctly. For example, if you have these FURLs:
|
||||
* /index.php?app=myapp&module=mymodule&controller=mycontroller&do=myaction -> /myfolder/myaction
|
||||
* /index.php?app=myapp&module=mymodule&controller=mycontroller -> /myfolder
|
||||
* They must be provided in that order, otherwise the former will redirec to /myfolder/?do=myaction rather than /myfolder/myaction
|
||||
*/
|
||||
{
|
||||
"topLevel": "chat",
|
||||
"pages": {
|
||||
"chat": {
|
||||
"friendly": "",
|
||||
"real": "app=chat&module=chat&controller=view"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"tabCountLoad": {
|
||||
"type": "C",
|
||||
"class": "\\IPS\\Data\\Store\\Database"
|
||||
},
|
||||
"tabNewWindow": {
|
||||
"type": "C",
|
||||
"class": "\\IPS\\Dispatcher\\Front"
|
||||
},
|
||||
"tabCount": {
|
||||
"type": "C",
|
||||
"class": "\\IPS\\Dispatcher\\Front"
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,118 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="chat" version="101093">
|
||||
<word key="__app_chat" js="0">Chat</word>
|
||||
<word key="frontnavigation_chat" js="0">Chat</word>
|
||||
<word key="chat_title" js="0">Chat</word>
|
||||
<word key="module__chat_chat" js="0">Chat</word>
|
||||
<word key="menu__chat_chat" js="0">Chat</word>
|
||||
<word key="time_pm" js="0">PM</word>
|
||||
<word key="time_am" js="0">AM</word>
|
||||
<word key="chat_insert_emoticon" js="0">Insert Emoticon</word>
|
||||
<word key="no_users_chatting" js="0">0 users chatting</word>
|
||||
<word key="menu__chat_chat_settings" js="0">Settings</word>
|
||||
<word key="menu__chat_chat_logs" js="0">Logs</word>
|
||||
<word key="r__logs" js="0">Logs</word>
|
||||
<word key="r__logs_manage" js="0">Can view chat logs?</word>
|
||||
<word key="chat_banned" js="0">Can access chat?</word>
|
||||
<word key="chat_access" js="0">Can access chat?</word>
|
||||
<word key="chat_moderate" js="0">Can moderate chats?</word>
|
||||
<word key="chat_private" js="0">Can send private chats?</word>
|
||||
<word key="group__chat_ChatAccess" js="0">Chat</word>
|
||||
<word key="member__chat_ChatBanned" js="0">Chat</word>
|
||||
<word key="ipchat_24hour" js="0">Time format</word>
|
||||
<word key="chat_12hour" js="0">Show times with AM/PM</word>
|
||||
<word key="chat_24hour" js="0">Show times with 24 hour format</word>
|
||||
<word key="ipchat_hide_usermessage" js="0">Show room join messages</word>
|
||||
<word key="ipchat_hide_usermessage_desc" js="0">Shows a message in the chat window when users enter and leave the room</word>
|
||||
<word key="ipchat_inactive_minutes" js="0">Inactivity period</word>
|
||||
<word key="ipchat_inactive_minutes_desc" js="0">When the user has been inactive for this amount of time, they will be automatically kicked from the room</word>
|
||||
<word key="ipchat_max_messages" js="0">Maximum number of displayed chats</word>
|
||||
<word key="ipchat_new_window" js="0">Open in a new window</word>
|
||||
<word key="ipchat_no_buffer" js="0">Show chat history upon joining a room</word>
|
||||
<word key="ipschat_enable_rules" js="0">Show chat rules</word>
|
||||
<word key="ipschat_enable_rules_desc" js="0">The user will be prompted to agree to the rules before being allowed to join the room</word>
|
||||
<word key="ipschat_rules_text" js="0">Chat rules</word>
|
||||
<word key="chat_timeplaceholder" js="0">HH:MM</word>
|
||||
<word key="acplogs__chat_settings" js="0">Updated chat settings</word>
|
||||
<word key="ipschat_online" js="0">Online times</word>
|
||||
<word key="ipschat_online_desc" js="0">Optionally specify a time period that chat will be available</word>
|
||||
<word key="ipschat_service_closed" js="0">The chat room is not presently available</word>
|
||||
<word key="ipschat_service_closed_admin" js="0"><![CDATA[IPS Chat Service is no longer available. <a href='{external.chat_closure}' target='_blank'>More Information</a>]]></word>
|
||||
<word key="ipschat_closure_warning" js="0"><![CDATA[On %s IPS will be retiring the Chat service. <a href='{external.chat_closure}' target='_blank'>Read More →</a>]]></word>
|
||||
<word key="ipschat_closure_warning_2" js="0">This message only shows to staff.</word>
|
||||
<word key="ipschat_no_license" js="0">The chat room is not presently available</word>
|
||||
<word key="ipschat_no_license_admin" js="0">You must supply a license key in order to enable the chat room</word>
|
||||
<word key="ipschat_no_license_access" js="0">Your license does not include access to the chat room</word>
|
||||
<word key="ipschat_no_group_access" js="0">Your group does not have permission to access the chat room</word>
|
||||
<word key="ipschat_no_access" js="0">You do not have permission to access the chat room</word>
|
||||
<word key="ipschat_no_ignore" js="0">This user cannot be ignored</word>
|
||||
<word key="ipschat_no_ban" js="0">You do not have permission to ban users in chat</word>
|
||||
<word key="ipschat_log_archive" js="0">Chat Logs</word>
|
||||
<word key="acplog__chatlog_settings" js="0">Edited chat log prune settings</word>
|
||||
<word key="ipchat_log_prune" js="0">Prune chat logs</word>
|
||||
<word key="chatlog_log_time" js="0">Date</word>
|
||||
<word key="chatlog_log_user" js="0">User</word>
|
||||
<word key="chatlog_log_message" js="0">Message</word>
|
||||
<word key="chatlog__hasentered" js="0">%s entered the room</word>
|
||||
<word key="chatlog__hasleft" js="0">%s left the room</word>
|
||||
<word key="chatlog__kicked" js="0">Kicked: %s</word>
|
||||
<word key="chatlog__private" js="0">Private chat with %s: %s</word>
|
||||
<word key="chat_toggle_sound" js="0">Toggle sound notifications</word>
|
||||
<word key="chat_leave_room" js="0">Leave Chatroom</word>
|
||||
<word key="ipschat_confirm" js="0">I agree to the terms</word>
|
||||
<word key="generic_chatconnect_error" js="0">There was an error joining the chat room. Please try again or contact us.</word>
|
||||
<word key="chat_currently_offline" js="0">The chat room is currently offline but will be back at %s.</word>
|
||||
<word key="chat_offline_admin" js="0"><![CDATA[The chat room is currently offline based upon the ACP configuration available at Community -> Chat -> Settings]]></word>
|
||||
<word key="leave_chat_room" js="0">You have left the chat room</word>
|
||||
<word key="ipchat_private_chat" js="0">Start private chat</word>
|
||||
<word key="ipchat_ignore_chats" js="0">Ignore private chats</word>
|
||||
<word key="ipchat_unignore_chats" js="0">Stop ignoring private chats</word>
|
||||
<word key="ipchat_kick" js="0">Kick user from room</word>
|
||||
<word key="ipchat_ban" js="0">Ban user from room</word>
|
||||
<word key="ipchat_profile" js="0">View user profile</word>
|
||||
<word key="connect_error_1" js="0">The license key used was invalid, or is not correctly associated with a chat account.</word>
|
||||
<word key="connect_error_2" js="0">No username was supplied to connect to the chat room. Please contact technical support for assistance.</word>
|
||||
<word key="connect_error_3" js="0">No room number was supplied to connect to the chat room. Please contact technical support for assistance.</word>
|
||||
<word key="connect_error_5" js="0">The room id supplied is invalid. Please contact technical support for assistance.</word>
|
||||
<word key="connect_error_6" js="0">The license key used was invalid, or is not correctly associated with a chat account. Please contact technical support for assistance.</word>
|
||||
<word key="connect_error_7" js="0">The server the chat room was hosted on is no longer online. Please wait a few moments and try again or contact technical support for assistance.</word>
|
||||
<word key="connect_error_8" js="0">The server the chat room was hosted on is no longer online. Please wait a few moments and try again or contact technical support for assistance.</word>
|
||||
<word key="connect_error_10" js="0">The chat server is offline. Please contact technical support for assistance.</word>
|
||||
<word key="chat_room_full" js="0">The chat room limit has been reached. You will not be able to join the chat room until some users first leave.</word>
|
||||
<word key="license_no_chat" js="0">Your license does not include Chat or has expired. Please contact customer services for assistance.</word>
|
||||
<word key="connect_gw_error_0" js="0">Your server was unable to communicate with our chat servers. Please contact technical support for assistance.</word>
|
||||
<word key="connect_gw_error_1" js="0">The license key used was invalid, or is not correctly associated with a chat account. Please contact technical support for assistance.</word>
|
||||
<word key="connect_gw_error_2" js="0">No username was supplied to connect to the chat room. Please contact technical support for assistance.</word>
|
||||
<word key="connect_gw_error_4" js="0">The room ID supplied was invalid. Please wait a few moments and try again or contact technical support for assistance.</word>
|
||||
<word key="connect_gw_error_5" js="0">The chat room key has expired. Please wait a few moments and try again or contact technical support for assistance.</word>
|
||||
<word key="connect_gw_error_6" js="0">The license key did not match the key for the chat room. Please wait a few moments and try again or contact technical support for assistance.</word>
|
||||
<word key="block_chatwhoschatting" js="0">Who's Chatting</word>
|
||||
<word key="block_chatwhoschatting_desc" js="0">Show the users currently in the chat room</word>
|
||||
<word key="chatters_list_empty" js="0">There are no users currently in the chat room</word>
|
||||
<word key="accept_rules" js="0">Accept and enter chatroom</word>
|
||||
<word key="chatroom_rules" js="0">Chatroom Rules</word>
|
||||
<word key="modcp_members_chatBanned" js="0">Chat Banned</word>
|
||||
<word key="leftRoom" js="1">{{username}} left the room</word>
|
||||
<word key="enteredRoom" js="1">{{username}} entered the room</word>
|
||||
<word key="privateChatWith" js="1">Private chat with {{user}}</word>
|
||||
<word key="privateChat" js="1">Private Chat</word>
|
||||
<word key="soundEnabled" js="1">Notification sounds have been enabled</word>
|
||||
<word key="soundDisabled" js="1">Notification sounds have been disabled</word>
|
||||
<word key="usersChatting" js="1">{# [1:user][?:users]} chatting</word>
|
||||
<word key="cantChatWithSelf" js="1">You can't start a private chat with yourself!</word>
|
||||
<word key="cantIgnoreUser" js="1">{{user}} can't be ignored</word>
|
||||
<word key="closeThisTab" js="1">Close this chat</word>
|
||||
<word key="insertEmoticon" js="1">Insert Emoticon</word>
|
||||
<word key="sendChat" js="1">Send</word>
|
||||
<word key="noUsersChatting" js="1">No users chatting</word>
|
||||
<word key="chatroom" js="1">Chat</word>
|
||||
<word key="chatroomTooltip" js="1">Public Chat</word>
|
||||
<word key="system" js="1">System</word>
|
||||
<word key="kickedFromServer" js="1">You have been kicked from the chatroom.</word>
|
||||
<word key="time_am" js="1">AM</word>
|
||||
<word key="time_pm" js="1">PM</word>
|
||||
<word key="hideImage" js="1">Toggle image</word>
|
||||
<word key="imageHidden" js="1">Image hidden</word>
|
||||
</app>
|
||||
</language>
|
||||
@@ -1,118 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="chat" version="101093">
|
||||
<word key_rus="Чат" key="__app_chat" js="0">Chat</word>
|
||||
<word key_rus="Чат" key="frontnavigation_chat" js="0">Chat</word>
|
||||
<word key_rus="Чат" key="chat_title" js="0">Chat</word>
|
||||
<word key_rus="Чат" key="module__chat_chat" js="0">Chat</word>
|
||||
<word key_rus="Чат" key="menu__chat_chat" js="0">Chat</word>
|
||||
<word key_rus="PM" key="time_pm" js="0">PM</word>
|
||||
<word key_rus="AM" key="time_am" js="0">AM</word>
|
||||
<word key_rus="Вставить смайлик" key="chat_insert_emoticon" js="0">Insert Emoticon</word>
|
||||
<word key_rus="0 пользователей в чате" key="no_users_chatting" js="0">0 users chatting</word>
|
||||
<word key_rus="Настройки" key="menu__chat_chat_settings" js="0">Settings</word>
|
||||
<word key_rus="Журналы" key="menu__chat_chat_logs" js="0">Logs</word>
|
||||
<word key_rus="Журналы" key="r__logs" js="0">Logs</word>
|
||||
<word key_rus="Можно просматривать журналы чата?" key="r__logs_manage" js="0">Can view chat logs?</word>
|
||||
<word key_rus="Есть доступ к чату?" key="chat_banned" js="0">Can access chat?</word>
|
||||
<word key_rus="Есть доступ к чату?" key="chat_access" js="0">Can access chat?</word>
|
||||
<word key_rus="Можно модерировать чат?" key="chat_moderate" js="0">Can moderate chats?</word>
|
||||
<word key_rus="Можно создавать приватные чаты?" key="chat_private" js="0">Can send private chats?</word>
|
||||
<word key_rus="Чат" key="group__chat_ChatAccess" js="0">Chat</word>
|
||||
<word key_rus="Чат" key="member__chat_ChatBanned" js="0">Chat</word>
|
||||
<word key_rus="Формат времени" key="ipchat_24hour" js="0">Time format</word>
|
||||
<word key_rus="Время в 12-часовом формате" key="chat_12hour" js="0">Show times with AM/PM</word>
|
||||
<word key_rus="Время в 24-часовом формате" key="chat_24hour" js="0">Show times with 24 hour format</word>
|
||||
<word key_rus="Отображать сообщения входа/выхода" key="ipchat_hide_usermessage" js="0">Show room join messages</word>
|
||||
<word key_rus="Отображение сообщения в чате при входе или выходе пользователя из чата" key="ipchat_hide_usermessage_desc" js="0">Shows a message in the chat window when users enter and leave the room</word>
|
||||
<word key_rus="Период бездействия" key="ipchat_inactive_minutes" js="0">Inactivity period</word>
|
||||
<word key_rus="Если пользователь был неактивен указанный период времени, он автоматически покинет комнату чата" key="ipchat_inactive_minutes_desc" js="0">When the user has been inactive for this amount of time, they will be automatically kicked from the room</word>
|
||||
<word key_rus="Максимальное количество отображаемых сообщений в чате" key="ipchat_max_messages" js="0">Maximum number of displayed chats</word>
|
||||
<word key_rus="Открыть в новом окне" key="ipchat_new_window" js="0">Open in a new window</word>
|
||||
<word key_rus="Показать историю чата после входа в комнату" key="ipchat_no_buffer" js="0">Show chat history upon joining a room</word>
|
||||
<word key_rus="Показать правила чата" key="ipschat_enable_rules" js="0">Show chat rules</word>
|
||||
<word key_rus="Пользователю будет предложено согласиться с правилами, перед входом в чат" key="ipschat_enable_rules_desc" js="0">The user will be prompted to agree to the rules before being allowed to join the room</word>
|
||||
<word key_rus="Правила чата" key="ipschat_rules_text" js="0">Chat rules</word>
|
||||
<word key_rus="ЧЧ:ММ" key="chat_timeplaceholder" js="0">HH:MM</word>
|
||||
<word key_rus="Обновлены настройки чата" key="acplogs__chat_settings" js="0">Updated chat settings</word>
|
||||
<word key_rus="Время онлайн" key="ipschat_online" js="0">Online times</word>
|
||||
<word key_rus="При необходимости укажите период времени, когда чат будет доступен" key="ipschat_online_desc" js="0">Optionally specify a time period that chat will be available</word>
|
||||
<word key_rus="Комната чата в настоящее время недоступна" key="ipschat_service_closed" js="0">The chat room is not presently available</word>
|
||||
<word key_rus="Чат IPS больше недоступен. <a href='{external.chat_closure}' target='_blank'>дополнительная информация</a>" key="ipschat_service_closed_admin" js="0"><![CDATA[IPS Chat Service is no longer available. <a href='{external.chat_closure}' target='_blank'>More Information</a>]]></word>
|
||||
<word key_rus="В %s IPS Чат станет недоступен. <a href='{external.chat_closure}' target='_blank'>Подробнее →</a>" key="ipschat_closure_warning" js="0"><![CDATA[On %s IPS will be retiring the Chat service. <a href='{external.chat_closure}' target='_blank'>Read More →</a>]]></word>
|
||||
<word key_rus="Сообщение отображается только для модераторов." key="ipschat_closure_warning_2" js="0">This message only shows to staff.</word>
|
||||
<word key_rus="Чат в настоящее время недоступен" key="ipschat_no_license" js="0">The chat room is not presently available</word>
|
||||
<word key_rus="Вы должны ввести ключ лицензии для возможности пользоваться чатом" key="ipschat_no_license_admin" js="0">You must supply a license key in order to enable the chat room</word>
|
||||
<word key_rus="Ваша лицензия не включает в себя возможность доступа к чату" key="ipschat_no_license_access" js="0">Your license does not include access to the chat room</word>
|
||||
<word key_rus="Ваша группа имеет доступа к чату" key="ipschat_no_group_access" js="0">Your group does not have permission to access the chat room</word>
|
||||
<word key_rus="Вы не имеете доступа к чату" key="ipschat_no_access" js="0">You do not have permission to access the chat room</word>
|
||||
<word key_rus="Этот пользователь не может быть проигнорирован" key="ipschat_no_ignore" js="0">This user cannot be ignored</word>
|
||||
<word key_rus="У вас нет прав для блокировки пользователей в чате" key="ipschat_no_ban" js="0">You do not have permission to ban users in chat</word>
|
||||
<word key_rus="Журналы чата" key="ipschat_log_archive" js="0">Chat Logs</word>
|
||||
<word key_rus="Изменены настройки очищения журнала чата" key="acplog__chatlog_settings" js="0">Edited chat log prune settings</word>
|
||||
<word key_rus="Очистить журналы чата" key="ipchat_log_prune" js="0">Prune chat logs</word>
|
||||
<word key_rus="Дата" key="chatlog_log_time" js="0">Date</word>
|
||||
<word key_rus="Пользователь" key="chatlog_log_user" js="0">User</word>
|
||||
<word key_rus="Сообщение" key="chatlog_log_message" js="0">Message</word>
|
||||
<word key_rus="%s вошёл в комнату" key="chatlog__hasentered" js="0">%s entered the room</word>
|
||||
<word key_rus="%s вышел из комнаты" key="chatlog__hasleft" js="0">%s left the room</word>
|
||||
<word key_rus="Выгнан: %s" key="chatlog__kicked" js="0">Kicked: %s</word>
|
||||
<word key_rus="Приватный чат с %s: %s" key="chatlog__private" js="0">Private chat with %s: %s</word>
|
||||
<word key_rus="Переключить звуковые уведомления" key="chat_toggle_sound" js="0">Toggle sound notifications</word>
|
||||
<word key_rus="Выйти из чата" key="chat_leave_room" js="0">Leave Chatroom</word>
|
||||
<word key_rus="Я согласен с условиями" key="ipschat_confirm" js="0">I agree to the terms</word>
|
||||
<word key_rus="Возникла ошибка входа в комнату чата. Пожалуйста, попробуйте ещё раз или свяжитесь с нами." key="generic_chatconnect_error" js="0">There was an error joining the chat room. Please try again or contact us.</word>
|
||||
<word key_rus="В настоящее время чат не работает, но будет доступен в %s." key="chat_currently_offline" js="0">The chat room is currently offline but will be back at %s.</word>
|
||||
<word key_rus="В настоящее время чат не работает согласно настройкам Сообщество -> Чат -> Настройки" key="chat_offline_admin" js="0"><![CDATA[The chat room is currently offline based upon the ACP configuration available at Community -> Chat -> Settings]]></word>
|
||||
<word key_rus="Вы вышли из чата" key="leave_chat_room" js="0">You have left the chat room</word>
|
||||
<word key_rus="Начать приватный чат" key="ipchat_private_chat" js="0">Start private chat</word>
|
||||
<word key_rus="Игнорировать приватные чаты" key="ipchat_ignore_chats" js="0">Ignore private chats</word>
|
||||
<word key_rus="Перестать игнорировать приватные чаты" key="ipchat_unignore_chats" js="0">Stop ignoring private chats</word>
|
||||
<word key_rus="Выгнать пользователя из комнаты" key="ipchat_kick" js="0">Kick user from room</word>
|
||||
<word key_rus="Забанить пользователя в комнате" key="ipchat_ban" js="0">Ban user from room</word>
|
||||
<word key_rus="Просмотр профиля" key="ipchat_profile" js="0">View user profile</word>
|
||||
<word key_rus="Используемый лицензионный ключ недействителен, или неверно связан с аккаунтом чата." key="connect_error_1" js="0">The license key used was invalid, or is not correctly associated with a chat account.</word>
|
||||
<word key_rus="Не предоставлено имя пользователя для соединения с комнатой чата. Пожалуйста, свяжитесь со службой технической поддержки для получения помощи." key="connect_error_2" js="0">No username was supplied to connect to the chat room. Please contact technical support for assistance.</word>
|
||||
<word key_rus="Не указан номер комнаты чата для соединения. Пожалуйста, свяжитесь со службой технической поддержки для получения помощи." key="connect_error_3" js="0">No room number was supplied to connect to the chat room. Please contact technical support for assistance.</word>
|
||||
<word key_rus="Указанный id комнаты чата недействителен. Пожалуйста, свяжитесь со службой технической поддержки для получения помощи." key="connect_error_5" js="0">The room id supplied is invalid. Please contact technical support for assistance.</word>
|
||||
<word key_rus="Используемый лицензионный ключ недействителен, или неверно связан с аккаунтом чата. Пожалуйста, свяжитесь со службой технической поддержки для получения помощи." key="connect_error_6" js="0">The license key used was invalid, or is not correctly associated with a chat account. Please contact technical support for assistance.</word>
|
||||
<word key_rus="Сервер чата больше не доступен. Пожалуйста, подождите несколько минут и попробуйте снова или обратитесь в службу технической поддержки за помощью." key="connect_error_7" js="0">The server the chat room was hosted on is no longer online. Please wait a few moments and try again or contact technical support for assistance.</word>
|
||||
<word key_rus="Сервер чата больше не доступен. Пожалуйста, подождите несколько минут и попробуйте снова или обратитесь в службу технической поддержки за помощью." key="connect_error_8" js="0">The server the chat room was hosted on is no longer online. Please wait a few moments and try again or contact technical support for assistance.</word>
|
||||
<word key_rus="Сервер чата больше не доступен. Пожалуйста, свяжитесь со службой технической поддержки для получения помощи." key="connect_error_10" js="0">The chat server is offline. Please contact technical support for assistance.</word>
|
||||
<word key_rus="Был достигнут лимит чата. Вы не сможете войти в чат до тех пор, пока кто-то из пользователей из него не выйдет." key="chat_room_full" js="0">The chat room limit has been reached. You will not be able to join the chat room until some users first leave.</word>
|
||||
<word key_rus="Ваша лицензия не включает Чат, либо её срок действия истёк. Пожалуйста, свяжитесь со службой обслуживания клиентов за помощью." key="license_no_chat" js="0">Your license does not include Chat or has expired. Please contact customer services for assistance.</word>
|
||||
<word key_rus="Ваш сервер не может соединиться с нашими серверами чата. Пожалуйста, обратитесь в службу технической поддержки компании." key="connect_gw_error_0" js="0">Your server was unable to communicate with our chat servers. Please contact technical support for assistance.</word>
|
||||
<word key_rus="Используемый лицензионный ключ недействителен, или неверно связан с аккаунтом чата. Пожалуйста, свяжитесь со службой технической поддержки для получения помощи." key="connect_gw_error_1" js="0">The license key used was invalid, or is not correctly associated with a chat account. Please contact technical support for assistance.</word>
|
||||
<word key_rus="Не предоставлено имя пользователя для соединения с комнатой чата. Пожалуйста, свяжитесь со службой технической поддержки для получения помощи." key="connect_gw_error_2" js="0">No username was supplied to connect to the chat room. Please contact technical support for assistance.</word>
|
||||
<word key_rus="Указанный ID комнаты был признан недействительным. Пожалуйста, подождите несколько минут и попробуйте снова или обратитесь в службу технической поддержки за помощью." key="connect_gw_error_4" js="0">The room ID supplied was invalid. Please wait a few moments and try again or contact technical support for assistance.</word>
|
||||
<word key_rus="Срок использования ключа для комнаты чата истёк. Пожалуйста, подождите несколько минут и попробуйте снова или обратитесь в службу технической поддержки за помощью." key="connect_gw_error_5" js="0">The chat room key has expired. Please wait a few moments and try again or contact technical support for assistance.</word>
|
||||
<word key_rus="Лицензионный ключ не соответствует ключу чата. Пожалуйста, подождите несколько минут и попробуйте снова или обратитесь в службу технической поддержки за помощью." key="connect_gw_error_6" js="0">The license key did not match the key for the chat room. Please wait a few moments and try again or contact technical support for assistance.</word>
|
||||
<word key_rus="Кто в чате" key="block_chatwhoschatting" js="0">Who's Chatting</word>
|
||||
<word key_rus="Отображение пользователей, находящихся в чате" key="block_chatwhoschatting_desc" js="0">Show the users currently in the chat room</word>
|
||||
<word key_rus="В настоящее время пользователей в чате нет" key="chatters_list_empty" js="0">There are no users currently in the chat room</word>
|
||||
<word key_rus="Принять и войти в чат" key="accept_rules" js="0">Accept and enter chatroom</word>
|
||||
<word key_rus="Правила чата" key="chatroom_rules" js="0">Chatroom Rules</word>
|
||||
<word key_rus="Заблокированные в чате" key="modcp_members_chatBanned" js="0">Chat Banned</word>
|
||||
<word key_rus="{{username}} вышел из комнаты" key="leftRoom" js="1">{{username}} left the room</word>
|
||||
<word key_rus="{{username}} вошёл в комнату" key="enteredRoom" js="1">{{username}} entered the room</word>
|
||||
<word key_rus="Приватный чат с {{user}}" key="privateChatWith" js="1">Private chat with {{user}}</word>
|
||||
<word key_rus="Приватный чат" key="privateChat" js="1">Private Chat</word>
|
||||
<word key_rus="Звуковое уведомление включено" key="soundEnabled" js="1">Notification sounds have been enabled</word>
|
||||
<word key_rus="Звуковое уведомление отключено" key="soundDisabled" js="1">Notification sounds have been disabled</word>
|
||||
<word key_rus="В чате {# [*1:пользователь][*2:пользователя][*3:пользователя][*4:пользователя][11:пользователей][12:пользователей][13:пользователей][14:пользователей][?:пользователей]}" key="usersChatting" js="1">{# [1:user][?:users]} chatting</word>
|
||||
<word key_rus="Вы не можете начать приватный чат с самим собой!" key="cantChatWithSelf" js="1">You can't start a private chat with yourself!</word>
|
||||
<word key_rus="{{user}} не может быть проигнорирован" key="cantIgnoreUser" js="1">{{user}} can't be ignored</word>
|
||||
<word key_rus="Закрыть чат" key="closeThisTab" js="1">Close this chat</word>
|
||||
<word key_rus="Вставить смайлик" key="insertEmoticon" js="1">Insert Emoticon</word>
|
||||
<word key_rus="Отправить" key="sendChat" js="1">Send</word>
|
||||
<word key_rus="Пользователей в чате нет" key="noUsersChatting" js="1">No users chatting</word>
|
||||
<word key_rus="Чат" key="chatroom" js="1">Chat</word>
|
||||
<word key_rus="Публичный чат" key="chatroomTooltip" js="1">Public Chat</word>
|
||||
<word key_rus="Система" key="system" js="1">System</word>
|
||||
<word key_rus="Вас выгнали из чата." key="kickedFromServer" js="1">You have been kicked from the chatroom.</word>
|
||||
<word key_rus="AM" key="time_am" js="1">AM</word>
|
||||
<word key_rus="PM" key="time_pm" js="1">PM</word>
|
||||
<word key_rus="Переключить изображение" key="hideImage" js="1">Toggle image</word>
|
||||
<word key_rus="Изображение скрыто" key="imageHidden" js="1">Image hidden</word>
|
||||
</app>
|
||||
</language>
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"admin": {
|
||||
"chat": {
|
||||
"default_controller": "",
|
||||
"protected": false
|
||||
}
|
||||
},
|
||||
"front": {
|
||||
"chat": {
|
||||
"default_controller": "view",
|
||||
"protected": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,128 +0,0 @@
|
||||
{
|
||||
"chat_log_archive": {
|
||||
"name": "chat_log_archive",
|
||||
"columns": {
|
||||
"log_id": {
|
||||
"allow_null": false,
|
||||
"auto_increment": true,
|
||||
"binary": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": null,
|
||||
"length": 11,
|
||||
"name": "log_id",
|
||||
"type": "INT",
|
||||
"unsigned": false,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
},
|
||||
"log_room_id": {
|
||||
"allow_null": false,
|
||||
"auto_increment": false,
|
||||
"binary": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": "0",
|
||||
"length": 11,
|
||||
"name": "log_room_id",
|
||||
"type": "INT",
|
||||
"unsigned": false,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
},
|
||||
"log_time": {
|
||||
"allow_null": false,
|
||||
"auto_increment": false,
|
||||
"binary": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": "0",
|
||||
"length": 11,
|
||||
"name": "log_time",
|
||||
"type": "INT",
|
||||
"unsigned": false,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
},
|
||||
"log_code": {
|
||||
"allow_null": false,
|
||||
"auto_increment": false,
|
||||
"binary": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": "0",
|
||||
"length": 6,
|
||||
"name": "log_code",
|
||||
"type": "SMALLINT",
|
||||
"unsigned": false,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
},
|
||||
"log_user": {
|
||||
"allow_null": true,
|
||||
"auto_increment": false,
|
||||
"binary": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": null,
|
||||
"length": 255,
|
||||
"name": "log_user",
|
||||
"type": "VARCHAR",
|
||||
"unsigned": false,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
},
|
||||
"log_message": {
|
||||
"allow_null": true,
|
||||
"auto_increment": false,
|
||||
"binary": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": null,
|
||||
"length": 0,
|
||||
"name": "log_message",
|
||||
"type": "TEXT",
|
||||
"unsigned": false,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
},
|
||||
"log_extra": {
|
||||
"allow_null": true,
|
||||
"auto_increment": false,
|
||||
"binary": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": null,
|
||||
"length": 255,
|
||||
"name": "log_extra",
|
||||
"type": "VARCHAR",
|
||||
"unsigned": false,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": {
|
||||
"type": "primary",
|
||||
"name": "PRIMARY",
|
||||
"length": [
|
||||
null
|
||||
],
|
||||
"columns": [
|
||||
"log_id"
|
||||
]
|
||||
},
|
||||
"log_time": {
|
||||
"type": "key",
|
||||
"name": "log_time",
|
||||
"columns": [
|
||||
"log_time"
|
||||
],
|
||||
"length": [
|
||||
null
|
||||
]
|
||||
}
|
||||
},
|
||||
"collation": "utf8mb4_unicode_ci"
|
||||
}
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
[
|
||||
{
|
||||
"key": "ipchat_24hour",
|
||||
"default": "12"
|
||||
},
|
||||
{
|
||||
"key": "ipchat_hide_usermessage",
|
||||
"default": "0"
|
||||
},
|
||||
{
|
||||
"key": "ipchat_inactive_minutes",
|
||||
"default": "360"
|
||||
},
|
||||
{
|
||||
"key": "ipchat_log_prune",
|
||||
"default": "30"
|
||||
},
|
||||
{
|
||||
"key": "ipchat_new_window",
|
||||
"default": "0"
|
||||
},
|
||||
{
|
||||
"key": "ipchat_no_buffer",
|
||||
"default": "0"
|
||||
},
|
||||
{
|
||||
"key": "ipschat_enable_rules",
|
||||
"default": "0"
|
||||
},
|
||||
{
|
||||
"key": "ipschat_online",
|
||||
"default": ""
|
||||
},
|
||||
{
|
||||
"key": "ipschat_rules",
|
||||
"default": ""
|
||||
}
|
||||
]
|
||||
@@ -1 +0,0 @@
|
||||
{"chatlogprune":"P0Y0M1DT0H0M0S","chatlogrefresh":"P0Y0M0DT0H30M0S"}
|
||||
@@ -1,476 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<theme name="Default" author_name="Invision Power Services, Inc" author_url="http://www.invisionpower.com">
|
||||
<template template_group="global" template_name="tabCount" template_data="$count" template_location="front" template_app="chat"><![CDATA[{{if $count}}
|
||||
<script type='text/javascript'>
|
||||
$('.elNavigation_app_chat_Chat').append( $('<span/>').addClass('ipsNotificationCount').text('{$count}') );
|
||||
</script>
|
||||
{{endif}}]]></template>
|
||||
<template template_group="global" template_name="tabNewWindow" template_data="" template_location="front" template_app="chat"><![CDATA[<script type='text/javascript'>
|
||||
$('.elNavigation_app_chat_Chat').click( function( e ){
|
||||
e.preventDefault();
|
||||
|
||||
var joinWith = '?';
|
||||
|
||||
if ( $( e.currentTarget ).attr('href').indexOf('?') != -1 )
|
||||
{
|
||||
joinWith = '&';
|
||||
}
|
||||
|
||||
window.open( $( e.currentTarget ).attr('href') + joinWith + '_popup=1', '_blank', "height=480,width=1200,location=0,menubar=0,toolbar=0" );
|
||||
return false;
|
||||
});
|
||||
</script>]]></template>
|
||||
<template template_group="settings" template_name="chatOnline" template_data="$value" template_location="admin" template_app="chat"><![CDATA[<div>
|
||||
<input type='time' class='ipsField_short' placeholder='{lang="chat_timeplaceholder"}' value="{$value[0]}" name="ipschat_online[0]">
|
||||
{lang="to"}
|
||||
<input type='time' class='ipsField_short' placeholder='{lang="chat_timeplaceholder"}' value="{$value[1]}" name="ipschat_online[1]">
|
||||
</div>]]></template>
|
||||
<template template_group="view" template_name="acceptRules" template_data="$form" template_location="front" template_app="chat"><![CDATA[
|
||||
<div class='ipsAreaBackground_light ipsPad'>
|
||||
<h1 class='ipsType_pageTitle'>{lang="chatroom_rules"}</h1>
|
||||
<div class='ipsType_normal ipsType_richText ipsContained ipsType_break ipsSpacer_both'>
|
||||
{lang="ipschat_rules"}
|
||||
</div>
|
||||
{$form|raw}
|
||||
</div>]]></template>
|
||||
<template template_group="view" template_name="chat" template_data="$chatters" template_location="front" template_app="chat"><![CDATA[
|
||||
{{if !\IPS\Settings::i()->ipchat_new_window}}
|
||||
<div class="ipsPageHeader ipsClearfix ipsSpacer_bottom">
|
||||
<h1 class="ipsType_pageTitle">{lang="chat_title"}</h1>
|
||||
<p id='chatDebug'></p>
|
||||
</div>
|
||||
{{endif}}
|
||||
|
||||
<div data-controller='chat.front.chatcompat.main'>
|
||||
<div id='elChatWrapper'>
|
||||
<div class="ipsTabs ipsClearfix" id='elChatTabs'>
|
||||
<ul class='ipsPos_right ipsList_inline ipsList_noSpacing ipsResponsive_hidePhone'>
|
||||
<li>
|
||||
<a href='#' class='ipsPos_right ipsButton ipsButton_verySmall ipsButton_overlaid' data-action='toggleSound' data-ipsTooltip title='{lang="chat_toggle_sound"}'><i class='fa fa-volume-up'></i></a>
|
||||
</li>
|
||||
<li>
|
||||
{{$leave = \IPS\Request::i()->_popup ? '&_popup=' . \IPS\Request::i()->_popup : '';}}
|
||||
<a href='{url="app=chat&module=chat&controller=view&do=leave{$leave}" seoTemplate="chat" csrf="true"}' class='ipsPos_right ipsButton ipsButton_verySmall ipsButton_overlaid' data-action='leaveChat'>{lang="chat_leave_room"}</a>
|
||||
</li>
|
||||
</ul>
|
||||
<a href="#elChatTabs" data-action="expandTabs"><i class="fa fa-caret-down"></i></a>
|
||||
<ul role="tablist" class="ipsList_reset" id='elChatTabBar'>
|
||||
</ul>
|
||||
</div>
|
||||
<section id='elChatTabsContent'>
|
||||
|
||||
</section>
|
||||
</div>
|
||||
<div id='elChatIFrame'></div>
|
||||
<ul id='elInitialUserList' class='ipsHide'>
|
||||
{{foreach $chatters as $chatter}}
|
||||
{template="userRow" group="view" app="chat" params="$chatter"}
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
<div class='ipsAreaBackground_light ipsPad ipsResponsive_showPhone ipsResponsive_block ipsSpacer_top ipsType_center'>
|
||||
<ul class='ipsList_inline ipsList_noSpacing'>
|
||||
<li>
|
||||
<a href='#' class='ipsPos_right ipsButton ipsButton_verySmall ipsButton_light' data-action='toggleSound' data-ipsTooltip title='{lang="chat_toggle_sound"}'><i class='fa fa-volume-up'></i></a>
|
||||
</li>
|
||||
<li>
|
||||
{{$leave = \IPS\Request::i()->_popup ? '&_popup=' . \IPS\Request::i()->_popup : '';}}
|
||||
<a href='{url="app=chat&module=chat&controller=view&do=leave{$leave}" seoTemplate="chat" csrf="true"}' class='ipsPos_right ipsButton ipsButton_verySmall ipsButton_light' data-action='leaveChat'>{lang="chat_leave_room"}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{if member.isAdmin() or !empty( member.modPermissions() )}}
|
||||
<p class="ipsMessage ipsMessage_information">
|
||||
{lang="ipschat_closure_warning" sprintf="\IPS\DateTime::ts( 1493596800 )->format( 'j M Y' )"}<br>
|
||||
<span class="ipsType_small">{lang="ipschat_closure_warning_2"}</span>
|
||||
</p>
|
||||
{{endif}}]]></template>
|
||||
<template template_group="view" template_name="chatvars" template_data="$options, $forumIdMap, $groups, $badwords, $ignored, $emoticons" template_location="front" template_app="chat"><![CDATA[
|
||||
<script type='text/javascript'>
|
||||
// System vars
|
||||
ips.setSetting( 'roomID', {$options['roomId']} );
|
||||
ips.setSetting( 'userID', {$options['userId']} );
|
||||
ips.setSetting( 'forumUserID', {expression="intval( \IPS\Member::loggedIn()->member_id )"} );
|
||||
ips.setSetting( 'username', '{{if \IPS\Member::loggedIn()->member_id}}{expression="\IPS\Member::loggedIn()->name"}{{else}}{expression="\IPS\Member::loggedIn()->language()->get('guest')"}_{$options['userId']}{{endif}}' );
|
||||
ips.setSetting( 'accessKey', '{$options['accessKey']}' );
|
||||
ips.setSetting( 'serverHost', '{$options['serverHost']}' );
|
||||
ips.setSetting( 'serverPath', '{$options['serverPath']}' );
|
||||
ips.setSetting( 'ourURL', "{expression="urlencode(\IPS\Settings::i()->base_url)"}" );
|
||||
|
||||
ips.setSetting( 'chatEmoticons',
|
||||
{expression="json_encode( $emoticons )" raw="true"}
|
||||
);
|
||||
|
||||
ips.setSetting( 'ignoredChats',
|
||||
{expression="json_encode( $ignored )" raw="true"}
|
||||
);
|
||||
|
||||
ips.setSetting( 'forumIDMap',
|
||||
{expression="json_encode( $forumIdMap )" raw="true"}
|
||||
);
|
||||
|
||||
ips.setSetting( 'groups',
|
||||
{expression="json_encode( $groups )" raw="true"}
|
||||
);
|
||||
|
||||
ips.setSetting( 'badwords',
|
||||
{expression="json_encode( $badwords )" raw="true"}
|
||||
);
|
||||
|
||||
// Sounds in MP3 format
|
||||
ips.setSetting( 'sounds', {
|
||||
'enter': 'enter',
|
||||
'leave': 'leave',
|
||||
'message': 'message'
|
||||
});
|
||||
|
||||
// Settings
|
||||
ips.setSetting( 'condenseTime', true );
|
||||
ips.setSetting( 'maxMessages', 100 );
|
||||
ips.setSetting( 'moderator', {{if \IPS\Member::loggedIn()->group['chat_moderate']}}true{{else}}false{{endif}} );
|
||||
ips.setSetting( 'private', {{if \IPS\Member::loggedIn()->group['chat_private']}}true{{else}}false{{endif}} );
|
||||
ips.setSetting( 'hideEnterExit', '{expression="(bool) \IPS\Settings::i()->ipchat_hide_usermessage"}' );
|
||||
ips.setSetting( 'noBuffer', {{if \IPS\Settings::i()->ipchat_no_buffer}}false{{else}}true{{endif}} );
|
||||
ips.setSetting( 'inactiveKick', parseInt( {expression="\IPS\Settings::i()->ipchat_inactive_minutes"} * 60 ) );
|
||||
ips.setSetting( 'user24hour', {{if \IPS\Settings::i()->ipchat_24hour == '24'}}true{{else}}false{{endif}} );
|
||||
ips.setSetting( 'soundEnabled', ips.utils.db.get( 'chat', 'sounds' ) );
|
||||
</script>]]></template>
|
||||
<template template_group="view" template_name="userInfo" template_data="$member" template_location="front" template_app="chat"><![CDATA[{{$group = \IPS\Member\Group::load( $member->member_group_id );}}
|
||||
|
||||
<div class='ipsType_center ipsSpacer_top'>
|
||||
<h3 class='ipsType_sectionHead ipsSpacer_bottom'>
|
||||
{$group->formatName( $member->name )|raw}
|
||||
</h3>
|
||||
<br>
|
||||
|
||||
{template="userPhoto" group="global" app="core" params="$member, 'medium'"}
|
||||
</div>]]></template>
|
||||
<template template_group="view" template_name="userRow" template_data="$data" template_location="front" template_app="chat"><![CDATA[
|
||||
<li id='elChatUserRow_{$data['user_id']}'>
|
||||
{{if $data['forumUserID'] or \IPS\Member::loggedIn()->member_id !== $data['forumUserID']}}
|
||||
<a href='#' class='ipsPhotoPanel ipsPhotoPanel_tiny ipsFaded_withHover cChatUserRow ipsType_blendLinks ipsPad_half' id='elChatUser_{$data['user_id']}' data-userID='{$data['user_id']}' data-forumUserID='{$data['forumUserID']}' data-username="{$data['username']}" data-ipsMenu data-ipsMenu-activeClass='cChatUserRow_hover' data-ipsMenu-appendTo='#elChatUserRow_{$data['user_id']}' >
|
||||
<img src='{$data['photo']}' alt='' class='ipsUserPhoto ipsUserPhoto_tiny'>
|
||||
<div class='cChatUsername'>
|
||||
{$data['formattedUsername']|raw} <i class='fa fa-caret-down ipsFaded ipsFaded_more'></i>
|
||||
</div>
|
||||
</a>
|
||||
<ul id='elChatUser_{$data['user_id']}_menu' class='ipsHide ipsMenu ipsMenu_auto cChatUserMenu' data-userID='{$data['user_id']}' data-forumUserID='{$data['forumUserID']}'>
|
||||
{{if \IPS\Member::loggedIn()->member_id !== $data['forumUserID']}}
|
||||
<li class='ipsMenu_item' data-ipsMenuValue='private'>
|
||||
<a href='#'>{lang="ipchat_private_chat"}</a>
|
||||
</li>
|
||||
<li class='ipsMenu_sep' data-role='privateSep'><hr></li>
|
||||
<li class='ipsMenu_item' data-ipsMenuValue='ignore'>
|
||||
<a href='#'>{lang="ipchat_ignore_chats"}</a>
|
||||
</li>
|
||||
<li class='ipsMenu_item' data-ipsMenuValue='unignore'>
|
||||
<a href='#'>{lang="ipchat_unignore_chats"}</a>
|
||||
</li>
|
||||
{{if \IPS\Member::loggedIn()->group['chat_moderate']}} <!-- if moderator... -->
|
||||
<li class='ipsMenu_sep' data-role='modSep'><hr></li>
|
||||
<li class='ipsMenu_item' data-ipsMenuValue='kick'>
|
||||
<a href='#'>{lang="ipchat_kick"}</a>
|
||||
</li>
|
||||
<li class='ipsMenu_item' data-ipsMenuValue='ban'>
|
||||
<a href='#'>{lang="ipchat_ban"}</a>
|
||||
</li>
|
||||
{{endif}}
|
||||
{{if $data['forumUserID']}}
|
||||
<li class='ipsMenu_sep'><hr></li>
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
{{if $data['forumUserID']}}
|
||||
<li class='ipsMenu_item'>
|
||||
<a href='{$data['profileUrl']}' target='_blank'>{lang="ipchat_profile"}</a>
|
||||
</li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
{{else}}
|
||||
<span class='ipsPhotoPanel ipsPhotoPanel_tiny ipsFaded_withHover cChatUserRow ipsType_blendLinks ipsPad_half' id='elChatUser_{$data['user_id']}' data-userID='{$data['user_id']}' data-forumUserID='{$data['forumUserID']}' data-username="{$data['username']}">
|
||||
<img src='{$data['photo']}' alt='' class='ipsUserPhoto ipsUserPhoto_tiny'>
|
||||
<div class='cChatUsername'>
|
||||
{$data['formattedUsername']|raw}
|
||||
</div>
|
||||
</span>
|
||||
{{endif}}
|
||||
</li>]]></template>
|
||||
<template template_group="widgets" template_name="chatwhoschatting" template_data="$chatters, $orientation='vertical'" template_location="front" template_app="chat"><![CDATA[<h3 class='ipsType_reset ipsWidget_title'>
|
||||
{lang="block_chatwhoschatting"}
|
||||
</h3>
|
||||
<div class='ipsWidget_inner {{if $orientation == 'vertical'}}ipsPad{{else}}ipsPad_half{{endif}}'>
|
||||
{{if count( $chatters )}}
|
||||
<ul class='ipsList_inline ipsList_csv ipsList_noSpacing'>
|
||||
{{foreach $chatters as $row}}
|
||||
<li>{template="userLinkFromData" group="global" app="core" params="$row['forumUserID'], $row['username'], $row['seo_name'], $row['groupID']"}</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
{{else}}
|
||||
<p class='ipsType_reset ipsType_medium ipsType_light'>{lang="chatters_list_empty"}</p>
|
||||
{{endif}}
|
||||
</div>]]></template>
|
||||
<css css_location="front" css_app="chat" css_attributes="" css_path="." css_name="chat_responsive.css"><![CDATA[/* PHONES */
|
||||
@media screen and (max-width: 767px) {
|
||||
|
||||
.cChatContainer {
|
||||
height: 315px;
|
||||
}
|
||||
|
||||
#elChatTabBar {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
#elChatTabsContent > .ipsTabs_panel {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
#elChatTabBar .ipsTabs_item [data-action="closeTab"] {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.cEmoticonsButton, .cSendButton {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.cEmoticonsButton {
|
||||
width: 25% !important;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.cSendButton {
|
||||
width: 71% !important;
|
||||
float: left;
|
||||
margin-left: 4% !important;
|
||||
}
|
||||
|
||||
/* Row stuff */
|
||||
.cChatRow {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.cChatRow_date {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.cChatRow_responsiveDate {
|
||||
float: right;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.cChatRow_notice {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.cChatRow .cChatRow_user {
|
||||
text-align: left;
|
||||
background: #f5f5f5;
|
||||
width: 100%;
|
||||
border-bottom: 0;
|
||||
min-width: 0;
|
||||
max-width: 100%;
|
||||
font-size: 13px;
|
||||
padding: 7px 10px;
|
||||
}
|
||||
|
||||
.cChatRow_own .cChatRow_user {
|
||||
background: #d0dbe7;
|
||||
}
|
||||
|
||||
.cChatRow .cChatRow_user:empty {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.cChatRow .cChatRow_user, .cChatRow .cChatRow_content, .cChatRow .cChatRow_date {
|
||||
display: block;
|
||||
}
|
||||
}]]></css>
|
||||
<css css_location="front" css_app="chat" css_attributes="" css_path="." css_name="chat.css"><![CDATA[#elChatTabs {
|
||||
background: #262e33;
|
||||
}
|
||||
|
||||
/*#elChatTabs .ipsTabs_item {
|
||||
font-weight: normal;
|
||||
}*/
|
||||
|
||||
#elChatWrapper {
|
||||
border: 1px solid rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
#elChatTabsContent > .ipsTabs_panel {
|
||||
height: 430px;
|
||||
}
|
||||
|
||||
#elChatTabBar {
|
||||
margin-right: 190px;
|
||||
}
|
||||
|
||||
#elChatTabBar > li > a:not( .ipsTabs_activeItem ) {
|
||||
background: rgba(225,225,225,0.3);
|
||||
}
|
||||
|
||||
@media screen and (min-width: 767px) {
|
||||
#elChatTabBar > li > a:not( .ipsTabs_activeItem ) {
|
||||
color: rgba(255,255,255,0.5);
|
||||
}
|
||||
}
|
||||
|
||||
#elUserList {
|
||||
max-height: 395px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.cChatCompose {
|
||||
|
||||
}
|
||||
|
||||
.ipsApp .cMessageTextarea {
|
||||
width: 100%;
|
||||
height: 44px;
|
||||
resize: none;
|
||||
}
|
||||
|
||||
.cChatTab {
|
||||
position: relative;
|
||||
height: 430px;
|
||||
border-right: 1px solid rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
.cChatCompose {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.cChatCompose .ipsColumn_veryNarrow {
|
||||
width: 58px;
|
||||
}
|
||||
|
||||
.cChatCompose .ipsColumn_veryNarrow .ipsButton {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.cChatUserRow {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.cChatUserRow:hover, .cChatUserRow_hover {
|
||||
background: #fafafa;
|
||||
}
|
||||
|
||||
.cChatUsername {
|
||||
font-size: 14px;
|
||||
line-height: 28px;
|
||||
}
|
||||
|
||||
#elUserList .ipsUserPhoto_tiny img,
|
||||
#elUserList img.ipsUserPhoto_tiny,
|
||||
#elUserList .ipsUserPhoto_tiny:after {
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
|
||||
.cChatUserInfo {
|
||||
min-height: 150px;
|
||||
}
|
||||
|
||||
#elChatTabs [data-action='toggleSound'] {
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
/* Message styles */
|
||||
.cChatContainer {
|
||||
width: 100%;
|
||||
height: 355px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.cChatRow {
|
||||
font-size: 14px;
|
||||
overflow: auto;
|
||||
display: table-row;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.cChatRow .cChatRow_user,
|
||||
.cChatRow .cChatRow_content,
|
||||
.cChatRow .cChatRow_date {
|
||||
display: table-cell;
|
||||
padding: 10px;
|
||||
border-bottom: 1px solid #efefef;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.cChatRow .cChatRow_user {
|
||||
text-align: right;
|
||||
color: #898989;
|
||||
min-width: 130px;
|
||||
max-width: 150px;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.cChatRow_date {
|
||||
padding: 0 10px;
|
||||
font-size: 12px;
|
||||
color: #939393;
|
||||
min-width: 75px; /* Wide enough for AM/PM */
|
||||
width: 75px;
|
||||
}
|
||||
/*.cChatRow.cChatRow_date {
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
color: #222;
|
||||
}
|
||||
|
||||
.cChatRow.cChatRow_date .cChatRow_user,
|
||||
.cChatRow.cChatRow_date .cChatRow_content {
|
||||
padding: 5px 10px 0;
|
||||
border-bottom: 0px;
|
||||
}*/
|
||||
|
||||
.cChatRow.cChatRow_notice {
|
||||
color: #939393;
|
||||
}
|
||||
|
||||
.cChatRow.cChatRow_me {
|
||||
color: #898989;
|
||||
}
|
||||
|
||||
.cChatRow .cChatRow_content {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.cChatRow_system {
|
||||
background: #f9e4e1;
|
||||
}
|
||||
|
||||
.cChatRow_own {
|
||||
background: #e1eaf5;
|
||||
}
|
||||
|
||||
.cChatRow_own .cChatRow_user,
|
||||
.cChatRow_own .cChatRow_content,
|
||||
.cChatRow_own .cChatRow_date {
|
||||
border-color: #cdd8e6;
|
||||
}
|
||||
|
||||
|
||||
.cChatParsedImage img {
|
||||
max-width: 100px;
|
||||
max-height: 100px;
|
||||
}
|
||||
|
||||
.cChatParsedImage a {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.cChatParsedImage a:last-child {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.cChatParsedImage .ipsButton {
|
||||
line-height: 14px;
|
||||
padding: 0 5px;
|
||||
}]]></css>
|
||||
</theme>
|
||||
@@ -1,176 +0,0 @@
|
||||
{
|
||||
"11004": "1.1.0 Alpha 5",
|
||||
"11005": "1.1.0 Beta 1",
|
||||
"11008": "1.1.0",
|
||||
"13000": "1.3.0 Beta 1",
|
||||
"40000": "4.0.0",
|
||||
"100000": "4.0.0 Beta 0",
|
||||
"100001": "4.0.0 Beta 1",
|
||||
"100002": "4.0.0 Beta 2",
|
||||
"100003": "4.0.0 Beta 3",
|
||||
"100004": "4.0.0 Beta 3a",
|
||||
"100005": "4.0.0 Beta 4",
|
||||
"100006": "4.0.0 Beta 4a",
|
||||
"100007": "4.0.0 Beta 4b",
|
||||
"100008": "4.0.0 Beta 5",
|
||||
"100009": "4.0.0 Beta 5a",
|
||||
"100010": "4.0.0 Beta 6",
|
||||
"100011": "4.0.0 Beta 7",
|
||||
"100012": "4.0.0 Beta 7a",
|
||||
"100013": "4.0.0 Beta 8",
|
||||
"100014": "4.0.0 RC1",
|
||||
"100015": "4.0.0 RC2",
|
||||
"100016": "4.0.0 RC3",
|
||||
"100017": "4.0.0 RC4",
|
||||
"100018": "4.0.0 RC5",
|
||||
"100019": "4.0.0 RC5a",
|
||||
"100020": "4.0.0 RC6",
|
||||
"10000": "1.0.0 Alpha 1",
|
||||
"10001": "1.0.0 Alpha 2",
|
||||
"10002": "1.0.0 Alpha 3",
|
||||
"10003": "1.0.0 Alpha 4",
|
||||
"10004": "1.0.0 Alpha 5",
|
||||
"10005": "1.0.0 Alpha 6",
|
||||
"10006": "1.0.0 Alpha 7",
|
||||
"10007": "1.0.0 Alpha 8",
|
||||
"10008": "1.0.0 Beta 1",
|
||||
"10009": "1.0.0 Beta 2",
|
||||
"10010": "1.0.0 Beta 3",
|
||||
"10011": "1.0.0 Beta 4",
|
||||
"10012": "1.0.0 RC 1",
|
||||
"10013": "1.0.0 RC 2",
|
||||
"10014": "1.0.0",
|
||||
"11000": "1.1.0 Alpha 1",
|
||||
"11001": "1.1.0 Alpha 2",
|
||||
"11002": "1.1.0 Alpha 3",
|
||||
"11003": "1.1.0 Alpha 4",
|
||||
"11006": "1.1.0 Beta 2",
|
||||
"11007": "1.1.0 Beta 3",
|
||||
"11009": "1.1.1",
|
||||
"11010": "1.1.2",
|
||||
"12000": "1.2.0 Beta 1",
|
||||
"12001": "1.2.0 RC 1",
|
||||
"12002": "1.2.0",
|
||||
"13001": "1.3.0 Beta 2",
|
||||
"13002": "1.3.0",
|
||||
"13003": "1.3.1",
|
||||
"14000": "1.4.0 Beta 1",
|
||||
"14001": "1.4.0 Beta 2",
|
||||
"14002": "1.4.0",
|
||||
"14003": "1.4.1",
|
||||
"14004": "1.4.2",
|
||||
"14005": "1.4.3",
|
||||
"14006": "1.4.4",
|
||||
"100021": "4.0.0 RC7",
|
||||
"100022": "4.0.0 RC7a",
|
||||
"100023": "4.0.0",
|
||||
"100024": "4.0.1",
|
||||
"100025": "4.0.2",
|
||||
"100026": "4.0.3",
|
||||
"100027": "4.0.4",
|
||||
"100028": "4.0.5",
|
||||
"100029": "4.0.5.1",
|
||||
"100030": "4.0.6",
|
||||
"100031": "4.0.6.1",
|
||||
"100032": "4.0.7",
|
||||
"100033": "4.0.8",
|
||||
"100034": "4.0.8.1",
|
||||
"100035": "4.0.9",
|
||||
"100036": "4.0.9.1",
|
||||
"100037": "4.0.9.2",
|
||||
"100038": "4.0.10",
|
||||
"100039": "4.0.10.1",
|
||||
"100040": "4.0.10.2",
|
||||
"100041": "4.0.11",
|
||||
"100042": "4.0.12",
|
||||
"100043": "4.0.12.1",
|
||||
"100044": "4.0.13",
|
||||
"100045": "4.0.13.1",
|
||||
"101000": "4.1.0 Beta 1",
|
||||
"101001": "4.1.0 Beta 2",
|
||||
"101002": "4.1.0 Beta 3",
|
||||
"101003": "4.1.0 Beta 4",
|
||||
"101004": "4.1.0 Beta 5",
|
||||
"101005": "4.1.0 Beta 6",
|
||||
"101006": "4.1.0 Beta 7",
|
||||
"101007": "4.1.0 Beta 8",
|
||||
"101008": "4.1.0 Beta 9",
|
||||
"101009": "4.1.0 Beta 10",
|
||||
"101010": "4.1.0",
|
||||
"101011": "4.1.1",
|
||||
"101012": "4.1.2",
|
||||
"101013": "4.1.3",
|
||||
"101014": "4.1.3.1",
|
||||
"101015": "4.1.3.2",
|
||||
"101016": "4.1.4",
|
||||
"101017": "4.1.4.1",
|
||||
"101018": "4.1.5",
|
||||
"101019": "4.1.5.1",
|
||||
"101020": "4.1.5.2",
|
||||
"101021": "4.1.6",
|
||||
"101022": "4.1.6.1",
|
||||
"101023": "4.1.7",
|
||||
"101024": "4.1.8",
|
||||
"101025": "4.1.8.1",
|
||||
"101026": "4.1.9",
|
||||
"101027": "4.1.10",
|
||||
"101028": "4.1.11",
|
||||
"101029": "4.1.11.1",
|
||||
"101030": "4.1.12",
|
||||
"101031": "4.1.12.1",
|
||||
"101032": "4.1.12.2",
|
||||
"101033": "4.1.12.3",
|
||||
"101034": "4.1.13 Beta 1",
|
||||
"101035": "4.1.13 Beta 2",
|
||||
"101036": "4.1.13",
|
||||
"101037": "4.1.13",
|
||||
"101038": "4.1.13.1",
|
||||
"101040": "4.1.13.2",
|
||||
"101041": "4.1.13.2",
|
||||
"101042": "4.1.14 Beta 1",
|
||||
"101043": "4.1.14 Beta 2",
|
||||
"101044": "4.1.14 Beta 3",
|
||||
"101045": "4.1.14 Beta 4",
|
||||
"101046": "4.1.14 Beta 5",
|
||||
"101049": "4.1.14 Beta 6",
|
||||
"101050": "4.1.14 Beta 7",
|
||||
"101051": "4.1.14 RC",
|
||||
"101052": "4.1.14",
|
||||
"101053": "4.1.14.1",
|
||||
"101054": "4.1.14.2",
|
||||
"101055": "4.1.14.3",
|
||||
"101056": "4.1.15",
|
||||
"101057": "4.1.15 Beta 1",
|
||||
"101058": "4.1.15 Beta 2",
|
||||
"101059": "4.1.15 Beta 2a",
|
||||
"101060": "4.1.15 Beta 3",
|
||||
"101061": "4.1.15",
|
||||
"101062": "4.1.15",
|
||||
"101063": "4.1.15",
|
||||
"101064": "4.1.16 Beta 1",
|
||||
"101065": "4.1.16 Beta 2",
|
||||
"101066": "4.1.16 Beta 3",
|
||||
"101067": "4.1.16 Beta 4",
|
||||
"101068": "4.1.16 Beta 5",
|
||||
"101069": "4.1.16",
|
||||
"101070": "4.1.16.1",
|
||||
"101071": "4.1.17 Beta 1",
|
||||
"101072": "4.1.17 Beta 1a",
|
||||
"101073": "4.1.17 Beta 1b",
|
||||
"101074": "4.1.17 Beta 2",
|
||||
"101075": "4.1.17 Beta 3",
|
||||
"101076": "4.1.17 Beta 3",
|
||||
"101077": "4.1.17",
|
||||
"101078": "4.1.17.1",
|
||||
"101079": "4.1.18 Beta 1",
|
||||
"101082": "4.1.18 Beta 1b",
|
||||
"101083": "4.1.18 Beta 2",
|
||||
"101084": "4.1.18 Beta 3",
|
||||
"101085": "4.1.18",
|
||||
"101088": "4.1.18.1",
|
||||
"101089": "4.1.18.2",
|
||||
"101090": "4.1.19 Beta 1",
|
||||
"101091": "4.1.19 Beta 2",
|
||||
"101092": "4.1.19 Beta 3",
|
||||
"101093": "4.1.19"
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
{"chatwhoschatting":{"class":"\\IPS\\Widget\\StaticCache","restrict":["sidebar","cms"],"default_area":"","allow_reuse":false,"menu_style":"menu","embeddable":true}}
|
||||
@@ -1,76 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Front Navigation Extension: Chat
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @subpackage Chat
|
||||
* @since 8 Jan 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\chat\extensions\core\FrontNavigation;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Front Navigation Extension: Chat
|
||||
*/
|
||||
class _Chat extends \IPS\core\FrontNavigation\FrontNavigationAbstract
|
||||
{
|
||||
/**
|
||||
* Get Type Title which will display in the AdminCP Menu Manager
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function typeTitle()
|
||||
{
|
||||
return \IPS\Member::loggedIn()->language()->addToStack('frontnavigation_chat');
|
||||
}
|
||||
|
||||
/**
|
||||
* Can the currently logged in user access the content this item links to?
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function canAccessContent()
|
||||
{
|
||||
return \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'chat', 'chat' ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Title
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function title()
|
||||
{
|
||||
return \IPS\Member::loggedIn()->language()->addToStack('frontnavigation_chat');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Link
|
||||
*
|
||||
* @return \IPS\Http\Url
|
||||
*/
|
||||
public function link()
|
||||
{
|
||||
return \IPS\Http\Url::internal( "app=chat&module=chat&controller=view", 'front', 'chat' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Is Active?
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function active()
|
||||
{
|
||||
return \IPS\Dispatcher::i()->application->directory === 'chat';
|
||||
}
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Admin CP Group Form
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @subpackage Chat
|
||||
* @since 15 Mar 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\chat\extensions\core\GroupForm;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Admin CP Group Form
|
||||
*/
|
||||
class _ChatAccess
|
||||
{
|
||||
/**
|
||||
* Process Form
|
||||
*
|
||||
* @param \IPS\Helpers\Form $form The form
|
||||
* @param \IPS\Member\Group $group Existing Group
|
||||
* @return void
|
||||
*/
|
||||
public function process( &$form, $group )
|
||||
{
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'chat_access', $group->chat_access ) );
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'chat_moderate', $group->chat_moderate ) );
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'chat_private', $group->chat_private ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Save
|
||||
*
|
||||
* @param array $values Values from form
|
||||
* @param \IPS\Member\Group $group The group
|
||||
* @return void
|
||||
*/
|
||||
public function save( $values, &$group )
|
||||
{
|
||||
$group->chat_access = $values['chat_access'];
|
||||
$group->chat_moderate = $values['chat_moderate'];
|
||||
$group->chat_private = $values['chat_private'];
|
||||
}
|
||||
}
|
||||
@@ -1,50 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Admin CP Member Form
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @subpackage Chat
|
||||
* @since 15 Mar 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\chat\extensions\core\MemberForm;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Admin CP Member Form
|
||||
*/
|
||||
class _ChatBanned
|
||||
{
|
||||
/**
|
||||
* Process Form
|
||||
*
|
||||
* @param \IPS\Helpers\Form $form The form
|
||||
* @param \IPS\Member $member Existing Member
|
||||
* @return void
|
||||
*/
|
||||
public function process( &$form, $member )
|
||||
{
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'chat_banned', !$member->chat_banned ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Save
|
||||
*
|
||||
* @param array $values Values from form
|
||||
* @param \IPS\Member $member The member
|
||||
* @return void
|
||||
*/
|
||||
public function save( $values, &$member )
|
||||
{
|
||||
$member->chat_banned = !$values['chat_banned'];
|
||||
}
|
||||
}
|
||||
@@ -1,104 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Moderator Control Panel Member Management Extension: ChatBanned
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @subpackage Chat
|
||||
* @since 15 Mar 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\chat\extensions\core\ModCpMemberManagement;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Moderator Control Panel Member Management Extension: ChatBanned
|
||||
*/
|
||||
class _ChatBanned
|
||||
{
|
||||
/**
|
||||
* Returns the tab key for the navigation bar
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getTab()
|
||||
{
|
||||
return 'chatBanned';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get content to display
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function manage()
|
||||
{
|
||||
/* Create the table */
|
||||
$table = new \IPS\Helpers\Table\Db( 'core_members', \IPS\Http\Url::internal( 'app=core&module=modcp&tab=members&area=chat_banned' ), 'chat_banned=1' );
|
||||
$table->rowsTemplate = array( \IPS\Theme::i()->getTemplate( 'modcp', 'core', 'front' ), 'memberManagementRow' );
|
||||
|
||||
$table->langPrefix = 'members_';
|
||||
|
||||
/* Columns we need */
|
||||
$table->include = array( 'member_id', 'name', 'email', 'joined', 'member_group_id', 'photo' );
|
||||
$table->mainColumn = 'name';
|
||||
|
||||
/* Custom parsers */
|
||||
$table->parsers = array(
|
||||
'joined' => function( $val, $row )
|
||||
{
|
||||
return \IPS\DateTime::ts( $val )->localeDate();
|
||||
},
|
||||
'member_group_id' => function( $val, $row )
|
||||
{
|
||||
return \IPS\Member\Group::load( $val )->formattedName;
|
||||
},
|
||||
'photo' => function( $val, $row )
|
||||
{
|
||||
return \IPS\Theme::i()->getTemplate( 'global', 'core' )->userPhoto( \IPS\Member::constructFromData( $row ), 'mini' );
|
||||
},
|
||||
);
|
||||
|
||||
/* Individual member actions */
|
||||
$table->rowButtons = function( $row )
|
||||
{
|
||||
$member = \IPS\Member::constructFromData( $row );
|
||||
|
||||
$return = array();
|
||||
|
||||
$return['edit'] = array(
|
||||
'icon' => 'pencil',
|
||||
'title' => 'edit',
|
||||
'link' => \IPS\Http\Url::internal( 'app=core&module=members&controller=profile&do=edit&id=' . $member->member_id, 'front', 'edit_profile', $member->members_seo_name )
|
||||
);
|
||||
|
||||
$return['warn'] = array(
|
||||
'icon' => '',
|
||||
'title' => 'modcp_view_warnings',
|
||||
'link' => \IPS\Http\Url::internal( 'app=core&module=system&controller=warnings&id=' . $member->member_id, 'front', 'warn_list', $member->members_seo_name )
|
||||
);
|
||||
|
||||
$return['contact'] = array(
|
||||
'icon' => 'envelope',
|
||||
'title' => 'message',
|
||||
'link' => \IPS\Http\Url::internal( 'app=core&module=messaging&controller=messenger&do=compose&to=' . $member->member_id, 'front', 'messenger_compose', $member->members_seo_name )
|
||||
);
|
||||
|
||||
return $return;
|
||||
};
|
||||
|
||||
/* Default sort options */
|
||||
$table->sortBy = $table->sortBy ?: 'joined';
|
||||
$table->sortDirection = $table->sortDirection ?: 'desc';
|
||||
|
||||
return (string) $table;
|
||||
}
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
//<?php
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
class chat_hook_tabCount extends _HOOK_CLASS_
|
||||
{
|
||||
/**
|
||||
* Output the basic javascript files every page needs
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected static function baseJs()
|
||||
{
|
||||
parent::baseJs();
|
||||
|
||||
if ( !isset( \IPS\Data\Store::i()->chatters ) )
|
||||
{
|
||||
\IPS\Data\Store::i()->chatters = array();
|
||||
}
|
||||
$chatters = \IPS\Data\Store::i()->chatters;
|
||||
$seen = array();
|
||||
|
||||
$count = 0;
|
||||
|
||||
if( is_array( $chatters ) AND count( $chatters ) )
|
||||
{
|
||||
foreach( $chatters as $uid => $chatter )
|
||||
{
|
||||
/* Have we already seen this? Remove duplicates */
|
||||
if( in_array( $chatter['forumUserID'], $seen ) )
|
||||
{
|
||||
unset( $chatters[ $uid ] );
|
||||
}
|
||||
|
||||
/* If the last update was longer than 120 seconds ago, they're gone */
|
||||
if( $chatter['last_update'] < time() - 120 )
|
||||
{
|
||||
unset( $chatters[ $uid ] );
|
||||
}
|
||||
|
||||
$seen[ $chatter['forumUserID'] ] = $chatter['forumUserID'];
|
||||
}
|
||||
|
||||
$count = count( $chatters );
|
||||
}
|
||||
|
||||
if( !$count )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
\IPS\Output::i()->endBodyCode .= <<<HTML
|
||||
<script type='text/javascript'>
|
||||
$('[data-role="navBarItem"][data-navApp="chat"][data-navExt="Chat"] > a').append( $('<span/>').addClass('ipsNotificationCount').text('{$count}') );
|
||||
</script>
|
||||
HTML;
|
||||
}
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
//<?php
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
class chat_hook_tabCountLoad extends _HOOK_CLASS_
|
||||
{
|
||||
/**
|
||||
* Constructor
|
||||
* Gets stores which are always needed to save individual queries
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
if ( \IPS\CACHE_METHOD === 'None' )
|
||||
{
|
||||
$this->initLoad[] = 'chatters';
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
//<?php
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
class chat_hook_tabNewWindow extends _HOOK_CLASS_
|
||||
{
|
||||
/**
|
||||
* Output the basic javascript files every page needs
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected static function baseJs()
|
||||
{
|
||||
parent::baseJs();
|
||||
|
||||
if( !\IPS\Settings::i()->ipchat_new_window )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
\IPS\Output::i()->endBodyCode .= <<<HTML
|
||||
<script type='text/javascript'>
|
||||
$('[data-role="navBarItem"][data-navapp="chat"][data-navext="Chat"] a').click( function( e ){
|
||||
e.preventDefault();
|
||||
|
||||
var joinWith = '?';
|
||||
|
||||
if ( $( e.currentTarget ).attr('href').indexOf('?') != -1 )
|
||||
{
|
||||
joinWith = '&';
|
||||
}
|
||||
|
||||
window.open( $( e.currentTarget ).attr('href') + joinWith + '_popup=1', '_blank', "height=480,width=1200,location=0,menubar=0,toolbar=0" );
|
||||
return false;
|
||||
});
|
||||
</script>
|
||||
HTML;
|
||||
}
|
||||
|
||||
/**
|
||||
* Finish
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function finish()
|
||||
{
|
||||
/* Is this a popup? */
|
||||
if ( \IPS\Request::i()->_popup == 1 AND \IPS\Dispatcher::i()->application->directory == 'chat' )
|
||||
{
|
||||
\IPS\Output::i()->sendOutput( \IPS\Theme::i()->getTemplate( 'global', 'core' )->blankTemplate( \IPS\Output::i()->output ), 200, 'text/html', \IPS\Output::i()->httpHeaders );
|
||||
}
|
||||
|
||||
parent::finish();
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
!function(){function t(t){this.message=t}var r="undefined"!=typeof exports?exports:this,e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";t.prototype=new Error,t.prototype.name="InvalidCharacterError",r.btoa||(r.btoa=function(r){for(var o,n,a=String(r),i=0,c=e,d="";a.charAt(0|i)||(c="=",i%1);d+=c.charAt(63&o>>8-i%1*8)){if(n=a.charCodeAt(i+=.75),n>255)throw new t("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");o=o<<8|n}return d}),r.atob||(r.atob=function(r){var o=String(r).replace(/=+$/,"");if(o.length%4==1)throw new t("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,a,i=0,c=0,d="";a=o.charAt(c++);~a&&(n=i%4?64*n+a:a,i++%4)?d+=String.fromCharCode(255&n>>(-2*i&6)):0)a=e.indexOf(a);return d})}();
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,170 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief logs
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @subpackage Chat
|
||||
* @since 15 Mar 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\chat\modules\admin\chat;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* logs
|
||||
*/
|
||||
class _logs extends \IPS\Dispatcher\Controller
|
||||
{
|
||||
/**
|
||||
* Execute
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function execute()
|
||||
{
|
||||
\IPS\Dispatcher::i()->checkAcpPermission( 'logs_manage' );
|
||||
parent::execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* Show logs
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function manage()
|
||||
{
|
||||
/* Create the table */
|
||||
$table = new \IPS\Helpers\Table\Db( 'chat_log_archive', \IPS\Http\Url::internal( 'app=chat&module=chat&controller=logs' ) );
|
||||
$table->langPrefix = 'chatlog_';
|
||||
|
||||
/* Column stuff */
|
||||
$table->include = array( 'log_time', 'log_user', 'log_message' );
|
||||
$table->mainColumn = 'log_message';
|
||||
$table->widths = array( 'log_time' => '20', 'log_user' => '20', 'log_message' => '60' );
|
||||
|
||||
/* Sort stuff */
|
||||
$table->sortBy = $table->sortBy ?: 'log_time';
|
||||
$table->sortDirection = $table->sortDirection ?: 'desc';
|
||||
|
||||
/* Search */
|
||||
$table->quickSearch = 'log_message';
|
||||
$table->advancedSearch = array(
|
||||
'log_user' => \IPS\Helpers\Table\SEARCH_CONTAINS_TEXT,
|
||||
'log_time' => \IPS\Helpers\Table\SEARCH_DATE_RANGE,
|
||||
);
|
||||
|
||||
/* Formatters */
|
||||
$self = $this;
|
||||
|
||||
$table->parsers = array(
|
||||
'log_time' => function( $val, $row )
|
||||
{
|
||||
$date = \IPS\DateTime::ts( $val );
|
||||
|
||||
return $date->localeDate() . ' ' . $date->localeTime( FALSE );
|
||||
},
|
||||
'log_user' => function( $val, $row ) use ( $self )
|
||||
{
|
||||
return $self->cleanMessage( $val );
|
||||
},
|
||||
'log_message' => function( $val, $row ) use ( $self )
|
||||
{
|
||||
$val = $self->cleanMessage( $val );
|
||||
|
||||
if( $row['log_code'] == 2 )
|
||||
{
|
||||
$_extra = explode( '_', $row['log_extra'] );
|
||||
|
||||
if( $_extra[0] == 1 )
|
||||
{
|
||||
$val = \IPS\Member::loggedIn()->language()->addToStack('chatlog__hasentered', FALSE, array( 'sprintf' => $row['log_user'] ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
$val = \IPS\Member::loggedIn()->language()->addToStack('chatlog__hasleft', FALSE, array( 'sprintf' => $row['log_user'] ) );
|
||||
}
|
||||
}
|
||||
else if( $row['log_code'] == 5 )
|
||||
{
|
||||
$val = \IPS\Member::loggedIn()->language()->addToStack('chatlog__kicked', FALSE, array( 'sprintf' => $val ) );
|
||||
}
|
||||
|
||||
if( mb_strpos( $val, '/me' ) === 0 )
|
||||
{
|
||||
$val = mb_substr( $val, 4 );
|
||||
}
|
||||
|
||||
if( mb_strpos( $row['log_extra'], 'private=' ) === 0 )
|
||||
{
|
||||
$_user = mb_substr( $row['log_extra'], mb_strrpos( $row['log_extra'], '=' ) + 1 );
|
||||
$_uid = $_user;
|
||||
|
||||
$_user = \IPS\Member::load( $_user );
|
||||
|
||||
$val = \IPS\Member::loggedIn()->language()->addToStack('chatlog__private', FALSE, array( 'sprintf' => array( $_user->name, $val ) ) );
|
||||
}
|
||||
|
||||
return $val;
|
||||
}
|
||||
);
|
||||
|
||||
/* Root buttons */
|
||||
\IPS\Output::i()->sidebar['actions']['settings'] = array(
|
||||
'title' => 'prunesettings',
|
||||
'icon' => 'cog',
|
||||
'link' => \IPS\Http\Url::internal( 'app=chat&module=chat&controller=logs&do=settings' ),
|
||||
'data' => array( 'ipsDialog' => '', 'ipsDialog-title' => \IPS\Member::loggedIn()->language()->addToStack('prunesettings') )
|
||||
);
|
||||
|
||||
/* Display */
|
||||
\IPS\Output::i()->title = \IPS\Member::loggedIn()->language()->addToStack('ipschat_log_archive');
|
||||
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'global', 'core' )->block( 'title', (string) $table );
|
||||
}
|
||||
|
||||
/**
|
||||
* Clean "special" characters
|
||||
*
|
||||
* @param string String to clean
|
||||
* @return string Cleaned string
|
||||
*/
|
||||
public function cleanMessage( $string )
|
||||
{
|
||||
$string = str_replace( "__N__" , "\n", $string );
|
||||
$string = str_replace( "__C__" , ",", $string );
|
||||
$string = str_replace( "__E__" , "=", $string );
|
||||
$string = str_replace( "__PS__" , "+", $string );
|
||||
$string = str_replace( "__A__" , "&", $string );
|
||||
$string = str_replace( "__P__" , "%", $string );
|
||||
|
||||
return $string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Settings
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function settings()
|
||||
{
|
||||
$form = new \IPS\Helpers\Form;
|
||||
$form->add( new \IPS\Helpers\Form\Number( 'ipchat_log_prune', \IPS\Settings::i()->ipchat_log_prune, FALSE, array( 'unlimited' => 0, 'unlimitedLang' => 'never' ), NULL, \IPS\Member::loggedIn()->language()->addToStack('after'), \IPS\Member::loggedIn()->language()->addToStack('days') ) );
|
||||
if ( $form->values() )
|
||||
{
|
||||
$form->saveAsSettings();
|
||||
|
||||
\IPS\Session::i()->log( 'acplog__chatlog_settings' );
|
||||
\IPS\Output::i()->redirect( \IPS\Http\Url::internal( 'app=chat&module=chat&controller=logs' ), 'saved' );
|
||||
}
|
||||
|
||||
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'global', 'core' )->block( 'settings', $form, FALSE );
|
||||
}
|
||||
}
|
||||
@@ -1,107 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief settings
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @subpackage Chat
|
||||
* @since 15 Mar 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\chat\modules\admin\chat;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* settings
|
||||
*/
|
||||
class _settings extends \IPS\Dispatcher\Controller
|
||||
{
|
||||
/**
|
||||
* Execute
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function execute()
|
||||
{
|
||||
\IPS\Dispatcher::i()->checkAcpPermission( 'settings_manage' );
|
||||
parent::execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the settings form
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function manage()
|
||||
{
|
||||
$form = new \IPS\Helpers\Form;
|
||||
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'ipchat_new_window', \IPS\Settings::i()->ipchat_new_window, TRUE ) );
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'ipschat_enable_rules', \IPS\Settings::i()->ipschat_enable_rules, TRUE, array( 'togglesOn' => array( 'ipschat_rules_id' ) ) ) );
|
||||
$form->add( new \IPS\Helpers\Form\Translatable( 'ipschat_rules_text', NULL, FALSE, array( 'app' => 'core', 'key' => 'ipschat_rules', 'editor' => array( 'app' => 'core', 'key' => 'Admin', 'autoSaveKey' => 'ipschat_rules', 'attachIds' => array( NULL, NULL, 'ipschat_rules' ) ) ), NULL, NULL, NULL, 'ipschat_rules_id' ) );
|
||||
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'ipchat_hide_usermessage', !\IPS\Settings::i()->ipchat_hide_usermessage, TRUE ) );
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'ipchat_no_buffer', \IPS\Settings::i()->ipchat_no_buffer, TRUE ) );
|
||||
|
||||
$form->add( new \IPS\Helpers\Form\Number( 'ipchat_inactive_minutes', \IPS\Settings::i()->ipchat_inactive_minutes, TRUE, array(), NULL, NULL, \IPS\Member::loggedIn()->language()->addToStack('minutes') ) );
|
||||
$form->add( new \IPS\Helpers\Form\Select( 'ipchat_24hour', \IPS\Settings::i()->ipchat_24hour, TRUE, array( 'options' => array( '12' => 'chat_12hour', '24' => 'chat_24hour' ) ) ) );
|
||||
|
||||
if( \IPS\Settings::i()->ipschat_online )
|
||||
{
|
||||
$times = explode( ',', \IPS\Settings::i()->ipschat_online );
|
||||
|
||||
/* Do we need to adjust the time zone? */
|
||||
if( isset( $times[2] ) AND $times[2] AND $times[2] != \IPS\Member::loggedIn()->timezone )
|
||||
{
|
||||
$start = new \IPS\DateTime( '2015-01-01 ' . $times[0], new \DateTimeZone( $times[2] ) );
|
||||
$start->setTimezone( new \DateTimeZone( \IPS\Member::loggedIn()->timezone ) );
|
||||
$times[0] = $start->format( 'H:i' );
|
||||
|
||||
$end = new \IPS\DateTime( '2015-01-01 ' . $times[1], new \DateTimeZone( $times[2] ) );
|
||||
$end->setTimezone( new \DateTimeZone( \IPS\Member::loggedIn()->timezone ) );
|
||||
$times[1] = $end->format( 'H:i' );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$times = array( 0 => '', 1 => '' );
|
||||
}
|
||||
|
||||
$form->add( new \IPS\Helpers\Form\Custom( 'ipschat_online', $times, FALSE, array(
|
||||
'getHtml' => function( $element )
|
||||
{
|
||||
return \IPS\Theme::i()->getTemplate( 'settings' )->chatOnline( $element->value );
|
||||
},
|
||||
'formatValue' => function( $element )
|
||||
{
|
||||
$element->value[2] = \IPS\Member::loggedIn()->timezone;
|
||||
return $element->value;
|
||||
}
|
||||
), NULL, NULL, NULL, 'ipschat_online' ) );
|
||||
|
||||
if ( $values = $form->values() )
|
||||
{
|
||||
\IPS\Lang::saveCustom( 'chat', "ipschat_rules", $values['ipschat_rules_text'] );
|
||||
unset( $values['ipschat_rules_text'] );
|
||||
$values['ipchat_hide_usermessage'] = !$values['ipchat_hide_usermessage'];
|
||||
$values['ipschat_online'] = implode( ',', $values['ipschat_online'] );
|
||||
$form->saveAsSettings( $values );
|
||||
|
||||
/* Clear guest page caches */
|
||||
\IPS\Data\Cache::i()->clearAll();
|
||||
|
||||
\IPS\Session::i()->log( 'acplogs__chat_settings' );
|
||||
}
|
||||
|
||||
\IPS\Output::i()->title = \IPS\Member::loggedIn()->language()->addToStack('menu__chat_chat_settings');
|
||||
\IPS\Output::i()->output .= \IPS\Theme::i()->getTemplate( 'global', 'core' )->block( 'menu__chat_chat_settings', $form );
|
||||
}
|
||||
}
|
||||
Whitespace-only changes.
@@ -1,258 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Action Controller
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @subpackage Chat
|
||||
* @since 23 Mar 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\chat\modules\front\chat;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Action Controller
|
||||
*/
|
||||
class _action extends \IPS\Content\Controller
|
||||
{
|
||||
/**
|
||||
* Init
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function execute()
|
||||
{
|
||||
parent::execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a user to the chat room
|
||||
*
|
||||
* @return void
|
||||
* @note Forum (local) user ID is in \IPS\Request::i()->id and Chat user ID is in \IPS\Request::i()->user
|
||||
*/
|
||||
protected function addUser()
|
||||
{
|
||||
\IPS\Session::i()->csrfCheck();
|
||||
|
||||
$member = \IPS\Member::load( intval( \IPS\Request::i()->id ) );
|
||||
|
||||
$map = array(
|
||||
'user_id' => intval( \IPS\Request::i()->user ),
|
||||
'forumUserID' => intval( \IPS\Request::i()->id ),
|
||||
'prefix' => $member->group['prefix'],
|
||||
'suffix' => $member->group['suffix'],
|
||||
'photo' => $member->photo,
|
||||
'username' => $member->member_id ? $member->name : $member->loggedIn()->language()->get('guest'),
|
||||
'formattedUsername' => \IPS\Member\Group::load( $member->member_group_id )->formatName( $member->name ),
|
||||
'canBeIgnored' => !$member->canBeIgnored(),
|
||||
'canBypassBadwords' => $member->group['g_bypass_badwords'],
|
||||
'groupID' => $member->member_group_id,
|
||||
'profileUrl' => $member->url(),
|
||||
'canModerate' => $member->group['chat_moderate'],
|
||||
'seo_name' => $member->members_seo_name,
|
||||
'last_update' => time(),
|
||||
);
|
||||
|
||||
/* Update the chatters list */
|
||||
$chatters = ( isset( \IPS\Data\Store::i()->chatters ) ) ? \IPS\Data\Store::i()->chatters : array();
|
||||
$chatters[ $map['user_id'] ] = $map;
|
||||
|
||||
\IPS\Data\Store::i()->chatters = $chatters;
|
||||
|
||||
/* Output */
|
||||
\IPS\Output::i()->json( array(
|
||||
'html' => \IPS\Theme::i()->getTemplate( 'view' )->userRow( $map ),
|
||||
'user' => $map
|
||||
) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Load user info
|
||||
*
|
||||
* @return void
|
||||
* @note Forum (local) user ID is in \IPS\Request::i()->id
|
||||
*/
|
||||
protected function loadUserInfo()
|
||||
{
|
||||
\IPS\Output::i()->sendOutput( \IPS\Theme::i()->getTemplate( 'view', 'chat' )->userInfo( \IPS\Member::load( intval( \IPS\Request::i()->id ) ) ), 200, 'text/html', \IPS\Output::i()->httpHeaders );
|
||||
}
|
||||
|
||||
/**
|
||||
* Ignore and unignore chats
|
||||
*
|
||||
* @return void
|
||||
* @note Forum (local) user ID is in \IPS\Request::i()->id
|
||||
*/
|
||||
protected function blockUser()
|
||||
{
|
||||
\IPS\Session::i()->csrfCheck();
|
||||
|
||||
/* Make sure there is an ID */
|
||||
if( !\IPS\Request::i()->id )
|
||||
{
|
||||
\IPS\Output::i()->json( 'OK' );
|
||||
}
|
||||
|
||||
/* Make sure we can ignore this user */
|
||||
$user = \IPS\Member::load( \IPS\Request::i()->id );
|
||||
|
||||
if( !$user->canBeIgnored() )
|
||||
{
|
||||
\IPS\Output::i()->error( 'ipschat_no_ignore', '3H269/K', 403, '' );
|
||||
}
|
||||
|
||||
/* Update or insert the ignore */
|
||||
try
|
||||
{
|
||||
$existing = \IPS\Db::i()->select( '*', 'core_ignored_users', array( 'ignore_owner_id=? AND ignore_ignore_id=?', \IPS\Member::loggedIn()->member_id, \IPS\Request::i()->id ) )->first();
|
||||
|
||||
\IPS\Db::i()->update( 'core_ignored_users', array( 'ignore_chats' => $existing['ignore_chats'] ? 0 : 1 ), array( 'ignore_id=?', $existing['ignore_id'] ) );
|
||||
}
|
||||
catch( \UnderflowException $e )
|
||||
{
|
||||
\IPS\Db::i()->insert( 'core_ignored_users', array(
|
||||
'ignore_owner_id' => \IPS\Member::loggedIn()->member_id,
|
||||
'ignore_ignore_id' => intval( \IPS\Request::i()->id ),
|
||||
'ignore_chats' => 1
|
||||
) );
|
||||
}
|
||||
|
||||
\IPS\Output::i()->json( 'OK' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Ban user
|
||||
*
|
||||
* @return void
|
||||
* @note Forum (local) user ID is in \IPS\Request::i()->id
|
||||
*/
|
||||
protected function banUser()
|
||||
{
|
||||
\IPS\Session::i()->csrfCheck();
|
||||
|
||||
/* Make sure there is an ID */
|
||||
if( !\IPS\Request::i()->id )
|
||||
{
|
||||
\IPS\Output::i()->json( 'OK' );
|
||||
}
|
||||
|
||||
/* Make sure we can moderate */
|
||||
if( !\IPS\Member::loggedIn()->group['chat_moderate'] )
|
||||
{
|
||||
\IPS\Output::i()->error( 'ipschat_no_ban', '3H269/L', 403, '' );
|
||||
}
|
||||
|
||||
/* Ban the user */
|
||||
$user = \IPS\Member::load( \IPS\Request::i()->id );
|
||||
$user->chat_banned = 1;
|
||||
$user->save();
|
||||
|
||||
/* Remove us from chatters list */
|
||||
$chatters = ( isset( \IPS\Data\Store::i()->chatters ) ) ? \IPS\Data\Store::i()->chatters : array();
|
||||
|
||||
foreach( $chatters as $uid => $chatter )
|
||||
{
|
||||
if( $chatter['forumUserID'] == $user->member_id )
|
||||
{
|
||||
unset( $chatters[ $uid ] );
|
||||
}
|
||||
}
|
||||
|
||||
\IPS\Data\Store::i()->chatters = $chatters;
|
||||
|
||||
\IPS\Output::i()->json( 'OK' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Ping to keep us in chatters list
|
||||
*
|
||||
* @return void
|
||||
* @note Forum (local) user ID is in \IPS\Request::i()->id
|
||||
*/
|
||||
protected function ping()
|
||||
{
|
||||
/* Still online? */
|
||||
if ( $offlineMessage = \IPS\Application::load('chat')->offlineMessage() )
|
||||
{
|
||||
\IPS\Output::i()->json( array( 'message' => $offlineMessage ), 500 );
|
||||
}
|
||||
|
||||
/* Make sure there is an ID */
|
||||
if( !\IPS\Request::i()->id )
|
||||
{
|
||||
\IPS\Output::i()->json( 'OK' );
|
||||
}
|
||||
|
||||
/* If the data store doesn't exist it was wiped, so recreate it */
|
||||
if( !isset( \IPS\Data\Store::i()->chatters ) )
|
||||
{
|
||||
$chatters = array();
|
||||
$options = $_SESSION['chatOptions'];
|
||||
|
||||
$result = \IPS\Http\Url::external( "http://{$options['serverHost']}{$options['serverPath']}/list.php?room={$options['roomId']}&user={$options['userId']}&access_key={$options['accessKey']}" )->request()->get();
|
||||
|
||||
if( $result )
|
||||
{
|
||||
$results = explode( "~~||~~", $result );
|
||||
$status = array_shift( $results );
|
||||
|
||||
if( $status == 1 )
|
||||
{
|
||||
foreach( $results as $k => $v )
|
||||
{
|
||||
$_thisRecord = explode( ',', $v );
|
||||
|
||||
if( !$_thisRecord[0] )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$member = \IPS\Member::load( intval( $_thisRecord[2] ) );
|
||||
$username = str_replace( '~~#~~', ',', $_thisRecord[1] );
|
||||
|
||||
$chatters[ $_thisRecord[0] ] = array(
|
||||
'user_id' => $_thisRecord[0],
|
||||
'username' => htmlspecialchars( $username, ENT_QUOTES | \IPS\HTMLENTITIES, 'UTF-8', FALSE ),
|
||||
'forumUserID' => $member->member_id,
|
||||
'canBeIgnored' => !$member->canBeIgnored(),
|
||||
'canBypassBadwords' => $member->group['g_bypass_badwords'],
|
||||
'groupID' => $member->member_group_id,
|
||||
'prefix' => str_replace( '"', '__DBQ__', $member->group['prefix'] ),
|
||||
'suffix' => str_replace( '"', '__DBQ__', $member->group['suffix'] ),
|
||||
'photo' => $member->photo,
|
||||
'profileUrl' => $member->url(),
|
||||
'canModerate' => $member->group['chat_moderate'],
|
||||
'seo_name' => $member->members_seo_name,
|
||||
'last_update' => time(),
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$chatters = \IPS\Data\Store::i()->chatters;
|
||||
}
|
||||
|
||||
/* Update us in chatters list - session will be auto-handled */
|
||||
if( isset( $chatters[ \IPS\Request::i()->id ] ) )
|
||||
{
|
||||
$chatters[ \IPS\Request::i()->id ]['last_update'] = time();
|
||||
|
||||
\IPS\Data\Store::i()->chatters = $chatters;
|
||||
}
|
||||
|
||||
/* Return a response */
|
||||
\IPS\Output::i()->json( 'OK' );
|
||||
}
|
||||
}
|
||||
Whitespace-only changes.
@@ -1,469 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief View File Controller
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @subpackage Chat
|
||||
* @since 10 Oct 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\chat\modules\front\chat;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* View File Controller
|
||||
*/
|
||||
class _view extends \IPS\Content\Controller
|
||||
{
|
||||
/**
|
||||
* @brief Master chat server URL
|
||||
*/
|
||||
const MASTERSERVER = "http://chatservice.ipsdns.com/";
|
||||
|
||||
/**
|
||||
* Init
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function execute()
|
||||
{
|
||||
if ( time() > 1493596800 )
|
||||
{
|
||||
\IPS\Output::i()->error( 'ipschat_service_closed', '1H000/0', 503, 'ipschat_service_closed_admin' );
|
||||
}
|
||||
|
||||
/* Check that the license allows access, etc. */
|
||||
$licenseData = \IPS\IPS::licenseKey();
|
||||
|
||||
if( !$licenseData )
|
||||
{
|
||||
\IPS\Output::i()->error( 'ipschat_no_license', '4H268/1', 500, 'ipschat_no_license_admin' );
|
||||
}
|
||||
|
||||
if( !isset( $licenseData['chat_limit'] ) OR $licenseData['chat_limit'] < 1 )
|
||||
{
|
||||
\IPS\Output::i()->error( 'ipschat_no_license', '4H269/1', 500, 'ipschat_no_license_access' );
|
||||
}
|
||||
|
||||
/* Group access check */
|
||||
if( !\IPS\Member::loggedIn()->group['chat_access'] )
|
||||
{
|
||||
\IPS\Output::i()->error( 'ipschat_no_group_access', '2H269/2', 403, '' );
|
||||
}
|
||||
|
||||
/* Is this a guest that was blocked? */
|
||||
if( !\IPS\Member::loggedIn()->member_id AND isset( \IPS\Request::i()->cookie['chat_blocked'] ) AND \IPS\Request::i()->cookie['chat_blocked'] )
|
||||
{
|
||||
\IPS\Output::i()->error( 'ipschat_no_access', '2H269/3', 403, '' );
|
||||
}
|
||||
|
||||
/* Or a member? */
|
||||
if( \IPS\Member::loggedIn()->chat_banned )
|
||||
{
|
||||
\IPS\Output::i()->error( 'ipschat_no_access', '2H269/5', 403, '' );
|
||||
}
|
||||
|
||||
/* Spiders also do not have access */
|
||||
if( \IPS\Session\Front::i()->userAgent->spider )
|
||||
{
|
||||
\IPS\Output::i()->error( 'ipschat_no_access', '2H269/4', 403, '' );
|
||||
}
|
||||
|
||||
/* Figure out if chat is online due to time restrictions */
|
||||
if ( $offlineMessage = \IPS\Application::load('chat')->offlineMessage() )
|
||||
{
|
||||
\IPS\Output::i()->error( $offlineMessage, '1H269/H', 403, 'chat_offline_admin' );
|
||||
}
|
||||
|
||||
parent::execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* View Chat
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function manage()
|
||||
{
|
||||
/* Initiate output */
|
||||
\IPS\Output::i()->jsFiles = array_merge( \IPS\Output::i()->jsFiles, \IPS\Output::i()->js( 'jquery/jquery.rangyinputs.js', 'core', 'interface' ) );
|
||||
\IPS\Output::i()->jsFiles = array_merge( \IPS\Output::i()->jsFiles, \IPS\Output::i()->js( 'buzz/buzz.min.js', 'core', 'interface' ) );
|
||||
\IPS\Output::i()->jsFiles = array_merge( \IPS\Output::i()->jsFiles, \IPS\Output::i()->js( 'front_chat.js', 'chat', 'front' ) );
|
||||
\IPS\Output::i()->cssFiles = array_merge( \IPS\Output::i()->cssFiles, \IPS\Theme::i()->css( 'chat.css', 'chat', 'front' ) );
|
||||
|
||||
if ( \IPS\Theme::i()->settings['responsive'] )
|
||||
{
|
||||
\IPS\Output::i()->cssFiles = array_merge( \IPS\Output::i()->cssFiles, \IPS\Theme::i()->css( 'chat_responsive.css', 'chat', 'front' ) );
|
||||
}
|
||||
|
||||
\IPS\Output::i()->title = \IPS\Member::loggedIn()->language()->addToStack( 'chat_title' );
|
||||
|
||||
/* Check rules */
|
||||
if( \IPS\Settings::i()->ipschat_enable_rules )
|
||||
{
|
||||
$proceed = FALSE;
|
||||
|
||||
$form = new \IPS\Helpers\Form( 'chat_rules', 'accept_rules' );
|
||||
$form->class = 'ipsForm_vertical';
|
||||
$form->hiddenValues['proceed'] = TRUE;
|
||||
|
||||
if( $values = $form->values() )
|
||||
{
|
||||
if( $values['proceed'] )
|
||||
{
|
||||
$proceed = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
/* If we haven't agreed yet, show the form */
|
||||
if( !$proceed )
|
||||
{
|
||||
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'view' )->acceptRules( $form );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/* Initiate our options */
|
||||
$options = array(
|
||||
'roomId' => 0,
|
||||
'userId' => 0,
|
||||
'userName' => $this->cleanUsername( \IPS\Member::loggedIn()->member_id ? \IPS\Member::loggedIn()->name : \IPS\Member::loggedIn()->language()->get('guest') ),
|
||||
'accessKey' => '',
|
||||
'serverHost' => '',
|
||||
'serverPath' => '',
|
||||
);
|
||||
|
||||
/* Call master to retrieve info */
|
||||
try
|
||||
{
|
||||
$result = \IPS\Http\Url::external( self::MASTERSERVER . "gateway31.php?api_key=" . \IPS\Settings::i()->ipb_reg_number . "&user={$options['userName']}&level=" . \IPS\Member::loggedIn()->group['chat_moderate'] )->request()->get();
|
||||
}
|
||||
catch ( \IPS\Http\Request\Exception $e )
|
||||
{
|
||||
\IPS\Output::i()->error( 'generic_chatconnect_error', '4H268/2', 500, 'connect_gw_error_0' );
|
||||
}
|
||||
$results = explode( ',', $result );
|
||||
|
||||
|
||||
/* Error? */
|
||||
if( $results[0] == 0 )
|
||||
{
|
||||
switch( $results[1] )
|
||||
{
|
||||
// No license key
|
||||
case 1:
|
||||
\IPS\Output::i()->error( 'generic_chatconnect_error', '5H269/7', 500, 'connect_gw_error_1' );
|
||||
break;
|
||||
|
||||
// No username
|
||||
case 2:
|
||||
\IPS\Output::i()->error( 'generic_chatconnect_error', '5H269/8', 500, 'connect_gw_error_2' );
|
||||
break;
|
||||
|
||||
// MySQL error
|
||||
case 3:
|
||||
\IPS\Output::i()->error( 'generic_chatconnect_error', '5H268/3', 500, 'connect_gw_error_3' );
|
||||
break;
|
||||
|
||||
// Invalid room ID
|
||||
case 5:
|
||||
\IPS\Output::i()->error( 'generic_chatconnect_error', '5H269/A', 500, 'connect_gw_error_5' );
|
||||
break;
|
||||
|
||||
// Chat room full
|
||||
case 6:
|
||||
$key = \IPS\IPS::licenseKey();
|
||||
\IPS\Output::i()->error( 'chat_room_full', ( $key['chat_limit'] ? '1' : '4' ) . 'H269/B', 403, $key['chat_limit'] ? 'license_no_chat' : NULL );
|
||||
break;
|
||||
|
||||
// The chat room is on a server which is no longer online
|
||||
case 7:
|
||||
\IPS\Output::i()->error( 'generic_chatconnect_error', '5H269/M', 500, 'connect_gw_error_7' );
|
||||
break;
|
||||
|
||||
// The chat room has no hostname associated with the server it is on; this would be a misconfiguration issue on the chat master server
|
||||
case 8:
|
||||
\IPS\Output::i()->error( 'generic_chatconnect_error', '5H268/4', 500, 'connect_gw_error_8' );
|
||||
break;
|
||||
|
||||
// No online chat servers could be found
|
||||
case 10:
|
||||
\IPS\Output::i()->error( 'generic_chatconnect_error', '5H268/5', 500, 'connect_gw_error_10' );
|
||||
break;
|
||||
|
||||
// Other
|
||||
default:
|
||||
\IPS\Output::i()->error( 'generic_chatconnect_error', '5H269/6', 500 );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* Set the options we just got from the master chat server */
|
||||
$options['roomId'] = intval($results[3]);
|
||||
$options['serverHost'] = $results[1];
|
||||
$options['serverPath'] = $results[2];
|
||||
|
||||
/* If this is a guest, adjust the URL to send an identifier */
|
||||
$guestFlag = ( !\IPS\Member::loggedIn()->member_id and isset( \IPS\Request::i()->cookie['chat_user_id'] ) ) ? "&userid=" . intval( \IPS\Request::i()->cookie['chat_user_id'] ) : '';
|
||||
|
||||
/* Now join the actual chat room */
|
||||
try
|
||||
{
|
||||
$result = \IPS\Http\Url::external( "http://{$options['serverHost']}{$options['serverPath']}/join31.php?api_key=" . \IPS\Settings::i()->ipb_reg_number . "&user={$options['userName']}&level=" . \IPS\Member::loggedIn()->group['chat_moderate'] . "&room={$options['roomId']}&forumid=" . \IPS\Member::loggedIn()->member_id . "{$guestFlag}&forumgroup=" . \IPS\Member::loggedIn()->member_group_id )->request()->get();
|
||||
}
|
||||
catch ( \IPS\Http\Request\Exception $e )
|
||||
{
|
||||
\IPS\Output::i()->error( 'generic_chatconnect_error', '4H269/N', 500, 'connect_gw_error_0' );
|
||||
}
|
||||
$results = explode( ',', $result );
|
||||
|
||||
/* Error? */
|
||||
if( $results[0] == 0 )
|
||||
{
|
||||
switch( $results[1] )
|
||||
{
|
||||
// No license key
|
||||
case 1:
|
||||
\IPS\Output::i()->error( 'generic_chatconnect_error', '5H269/C', 500, 'connect_gw_error_1' );
|
||||
break;
|
||||
|
||||
// No username
|
||||
case 2:
|
||||
\IPS\Output::i()->error( 'generic_chatconnect_error', '5H269/D', 500, 'connect_gw_error_2' );
|
||||
break;
|
||||
|
||||
// No room ID
|
||||
case 3:
|
||||
\IPS\Output::i()->error( 'generic_chatconnect_error', '5H269/E', 500, 'connect_gw_error_3' );
|
||||
break;
|
||||
|
||||
// MySQL error
|
||||
case 4:
|
||||
\IPS\Output::i()->error( 'generic_chatconnect_error', '5H269/E', 500, 'connect_gw_error_4' );
|
||||
break;
|
||||
|
||||
// Could not create room
|
||||
case 5:
|
||||
\IPS\Output::i()->error( 'generic_chatconnect_error', '5H269/F', 500, 'connect_gw_error_5' );
|
||||
break;
|
||||
|
||||
// License key mismatch
|
||||
case 6:
|
||||
\IPS\Output::i()->error( 'generic_chatconnect_error', '5H269/G', 500, 'connect_gw_error_6' );
|
||||
break;
|
||||
|
||||
// Chat room full
|
||||
case 7:
|
||||
$key = \IPS\IPS::licenseKey();
|
||||
\IPS\Output::i()->error( 'chat_room_full', ( $key['chat_limit'] ? '1' : '4' ) . 'H269/H', 500, $key['chat_limit'] ? 'license_no_chat' : NULL );
|
||||
break;
|
||||
|
||||
// Other
|
||||
default:
|
||||
\IPS\Output::i()->error( 'generic_chatconnect_error', '5H268/6', 500, 'connect_gw_error_0' );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* Remember the important parts of this response */
|
||||
$options['userId'] = $results[1];
|
||||
$options['accessKey'] = $results[2];
|
||||
|
||||
/* If this is a guest, set the chat user ID cookie */
|
||||
if( !\IPS\Member::loggedIn()->member_id )
|
||||
{
|
||||
\IPS\Request::i()->setCookie( 'chat_user_id', $options['userId'], NULL, FALSE );
|
||||
}
|
||||
|
||||
/* Fetch the online users list and build the map */
|
||||
$chatters = array();
|
||||
|
||||
$result = \IPS\Http\Url::external( "http://{$options['serverHost']}{$options['serverPath']}/list.php?room={$options['roomId']}&user={$options['userId']}&access_key={$options['accessKey']}" )->request()->get();
|
||||
|
||||
if( $result )
|
||||
{
|
||||
$results = explode( "~~||~~", $result );
|
||||
$status = array_shift( $results );
|
||||
|
||||
if( $status == 1 )
|
||||
{
|
||||
foreach( $results as $k => $v )
|
||||
{
|
||||
$_thisRecord = explode( ',', $v );
|
||||
|
||||
if( !$_thisRecord[0] )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$member = \IPS\Member::load( intval( $_thisRecord[2] ) );
|
||||
$username = str_replace( '~~#~~', ',', $_thisRecord[1] );
|
||||
|
||||
$chatters[ $username ] = array(
|
||||
'user_id' => $_thisRecord[0],
|
||||
'username' => htmlspecialchars( $this->uncleanUsername( $username ), ENT_QUOTES | \IPS\HTMLENTITIES, 'UTF-8', FALSE ),
|
||||
'formattedUsername' => \IPS\Member\Group::load( $member->member_group_id )->formatName( $member->name ),
|
||||
'forumUserID' => $member->member_id,
|
||||
'canBeIgnored' => !$member->canBeIgnored(),
|
||||
'canBypassBadwords' => $member->group['g_bypass_badwords'],
|
||||
'groupID' => $member->member_group_id,
|
||||
'prefix' => str_replace( '"', '__DBQ__', $member->group['prefix'] ),
|
||||
'suffix' => str_replace( '"', '__DBQ__', $member->group['suffix'] ),
|
||||
'photo' => $member->photo,
|
||||
'profileUrl' => $member->url(),
|
||||
'canModerate' => $member->group['chat_moderate'],
|
||||
'seo_name' => $member->members_seo_name,
|
||||
'last_update' => time(),
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ksort($chatters);
|
||||
|
||||
$forumIdMap = array();
|
||||
|
||||
foreach( $chatters as $chatter )
|
||||
{
|
||||
$forumIdMap[ $chatter['user_id'] ] = $chatter;
|
||||
}
|
||||
|
||||
/* Update the chatters list */
|
||||
if( count( $chatters ) )
|
||||
{
|
||||
\IPS\Data\Store::i()->chatters = $forumIdMap;
|
||||
}
|
||||
|
||||
/* Get badwords list */
|
||||
$badwords = iterator_to_array( \IPS\Db::i()->select( 'm_exact, swop, type', 'core_profanity_filters' )->setKeyField( 'type' ) );
|
||||
|
||||
/* Get groups */
|
||||
$groups = array();
|
||||
|
||||
foreach( \IPS\Member\Group::groups() as $group )
|
||||
{
|
||||
$groups[ $group->g_id ] = array( 'prefix' => $group->prefix, 'suffix' => $group->suffix, 'bypassBadwords' => $group->g_bypass_badwords );
|
||||
}
|
||||
|
||||
/* Are we ignoring any chats? */
|
||||
if( \IPS\Member::loggedIn()->member_id )
|
||||
{
|
||||
$ignored = iterator_to_array( \IPS\Db::i()->select( 'ignore_ignore_id, ignore_id', 'core_ignored_users', array( 'ignore_owner_id=? and ignore_chats=1', \IPS\Member::loggedIn()->member_id ) )->setKeyField( 'ignore_ignore_id' )->setValueField( 'ignore_id' ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
$ignored = array();
|
||||
}
|
||||
|
||||
/* Emoticons */
|
||||
$emoticons = array();
|
||||
foreach ( \IPS\Db::i()->select( '*', 'core_emoticons', NULL, 'emo_set,emo_position' ) as $row )
|
||||
{
|
||||
$emoticons[ $row['typed'] ] = array( 'image' => (string) \IPS\File::get( 'core_Emoticons', $row['image'] )->url, 'width' => $row['width'], 'height' => $row['height'] );
|
||||
|
||||
if( $row['image_2x'] )
|
||||
{
|
||||
$emoticons[ $row['typed'] ]['image_2x'] = (string) \IPS\File::get( 'core_Emoticons', $row['image_2x'] )->url . ' 2x';
|
||||
}
|
||||
}
|
||||
|
||||
/* We store the chat options in our session in case we choose to leave the room */
|
||||
$_SESSION['chatOptions'] = $options;
|
||||
|
||||
/* Display */
|
||||
\IPS\Output::i()->sidebar['enabled'] = FALSE;
|
||||
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'view' )->chat( $forumIdMap );
|
||||
\IPS\Output::i()->endBodyCode .= \IPS\Theme::i()->getTemplate( 'view' )->chatvars( $options, $forumIdMap, $groups, $badwords, $ignored, $emoticons );
|
||||
}
|
||||
|
||||
/**
|
||||
* Leave Chat
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function leave()
|
||||
{
|
||||
/* Check secure key */
|
||||
\IPS\Session::i()->csrfCheck();
|
||||
|
||||
/* Call server */
|
||||
if( isset( $_SESSION['chatOptions'] ) )
|
||||
{
|
||||
$options = $_SESSION['chatOptions'];
|
||||
|
||||
\IPS\Http\Url::external( "http://{$options['serverHost']}{$options['serverPath']}/leave.php?room={$options['roomId']}&user={$options['userId']}&access_key={$options['accessKey']}" )->request()->get();
|
||||
|
||||
unset( $_SESSION['chatOptions'] );
|
||||
}
|
||||
|
||||
/* Remove us from chatters list */
|
||||
$chatters = ( isset( \IPS\Data\Store::i()->chatters ) ) ? \IPS\Data\Store::i()->chatters : array();
|
||||
|
||||
foreach( $chatters as $uid => $chatter )
|
||||
{
|
||||
if( $chatter['forumUserID'] == \IPS\Member::loggedIn()->member_id )
|
||||
{
|
||||
unset( $chatters[ $uid ] );
|
||||
}
|
||||
}
|
||||
|
||||
\IPS\Data\Store::i()->chatters = $chatters;
|
||||
|
||||
// If this is a popup, close it, otherwise send us back to the suite index
|
||||
if( \IPS\Request::i()->_popup == 1 )
|
||||
{
|
||||
\IPS\Output::i()->output = "<script type='text/javascript'>window.close();</script>";
|
||||
}
|
||||
else
|
||||
{
|
||||
\IPS\Output::i()->redirect( \IPS\Http\Url::internal( "_leaveChat=1" ), 'leave_chat_room' );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Clean username for chat
|
||||
*
|
||||
* @param string Username
|
||||
* @return string
|
||||
*/
|
||||
protected function cleanUsername( $username )
|
||||
{
|
||||
$username = str_replace( "\r", '', $username );
|
||||
$username = str_replace( "\n", '__N__', $username );
|
||||
$username = str_replace( ",", '__C__', $username );
|
||||
$username = str_replace( "=", '__E__', $username );
|
||||
$username = str_replace( "+", '__PS__', $username );
|
||||
$username = str_replace( "&", '__A__', $username );
|
||||
$username = str_replace( "%", '__P__', $username );
|
||||
$username = urlencode($username);
|
||||
|
||||
return $username;
|
||||
}
|
||||
|
||||
/**
|
||||
* Unclean username for chat
|
||||
*
|
||||
* @param string Username
|
||||
* @return string
|
||||
*/
|
||||
protected function uncleanUsername( $username )
|
||||
{
|
||||
$username = str_replace( "__PS__", "+", $username );
|
||||
$username = str_replace( "__E__", "=", $username );
|
||||
$username = str_replace( "__P__", "%", $username );
|
||||
$username = str_replace( "__A__", "&", $username );
|
||||
$username = str_replace( "__C__", ",", $username );
|
||||
$username = str_replace( "__N__", "\n", $username );
|
||||
|
||||
return $username;
|
||||
}
|
||||
}
|
||||
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
@@ -1,62 +0,0 @@
|
||||
{
|
||||
"1": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"core_groups",
|
||||
{
|
||||
"name": "chat_access",
|
||||
"type": "TINYINT",
|
||||
"length": 10,
|
||||
"null": false,
|
||||
"default": 0,
|
||||
"comment": "Can access chat?",
|
||||
"unsigned": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"2": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"core_groups",
|
||||
{
|
||||
"name": "chat_moderate",
|
||||
"type": "TINYINT",
|
||||
"length": 10,
|
||||
"null": false,
|
||||
"default": 0,
|
||||
"comment": "Can moderate chat?",
|
||||
"unsigned": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"3": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"core_groups",
|
||||
{
|
||||
"name": "chat_private",
|
||||
"type": "TINYINT",
|
||||
"length": 10,
|
||||
"null": false,
|
||||
"default": 0,
|
||||
"comment": "Can send private chats?",
|
||||
"unsigned": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"4": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"core_members",
|
||||
{
|
||||
"name": "chat_banned",
|
||||
"type": "TINYINT",
|
||||
"length": 1,
|
||||
"null": false,
|
||||
"default": 0,
|
||||
"comment": "",
|
||||
"unsigned": true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
Whitespace-only changes.
@@ -1,63 +0,0 @@
|
||||
{
|
||||
"1": {
|
||||
"method": "addIndex",
|
||||
"params": [
|
||||
"chat_log_archive",
|
||||
{
|
||||
"type": "key",
|
||||
"name": "log_time",
|
||||
"columns": [
|
||||
"log_time"
|
||||
],
|
||||
"length": [
|
||||
null
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"2": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"core_groups",
|
||||
{
|
||||
"name": "chat_access",
|
||||
"type": "TINYINT",
|
||||
"length": 10,
|
||||
"null": false,
|
||||
"default": 0,
|
||||
"comment": "Can access chat?",
|
||||
"unsigned": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"3": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"core_groups",
|
||||
{
|
||||
"name": "chat_moderate",
|
||||
"type": "TINYINT",
|
||||
"length": 10,
|
||||
"null": false,
|
||||
"default": 0,
|
||||
"comment": "Can moderate chat?",
|
||||
"unsigned": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"4": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"core_groups",
|
||||
{
|
||||
"name": "chat_private",
|
||||
"type": "TINYINT",
|
||||
"length": 10,
|
||||
"null": false,
|
||||
"default": 0,
|
||||
"comment": "Can send private chats?",
|
||||
"unsigned": true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,82 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief 4.0.0 Upgrade Code
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @subpackage Chat
|
||||
* @since 15 Mar 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\chat\setup\upg_100021;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* 4.0.0 RC 5 Upgrade Code
|
||||
*/
|
||||
class _Upgrade
|
||||
{
|
||||
/**
|
||||
* Step 1
|
||||
* Rebuild reputation received
|
||||
*
|
||||
* @return array If returns TRUE, upgrader will proceed to next step. If it returns any other value, it will set this as the value of the 'extra' GET parameter and rerun this step (useful for loops)
|
||||
*/
|
||||
public function step1()
|
||||
{
|
||||
/* Set access permission */
|
||||
if( \IPS\Settings::i()->ipschat_group_access )
|
||||
{
|
||||
\IPS\Db::i()->update( 'core_groups', array( 'chat_access' => 1 ), 'g_id IN(' . \IPS\Settings::i()->ipschat_group_access . ')' );
|
||||
}
|
||||
else
|
||||
{
|
||||
\IPS\Db::i()->update( 'core_groups', array( 'chat_access' => 1 ) );
|
||||
}
|
||||
|
||||
if( \IPS\Settings::i()->ipschat_mods )
|
||||
{
|
||||
\IPS\Db::i()->update( 'core_groups', array( 'chat_moderate' => 1 ), 'g_id IN(' . \IPS\Settings::i()->ipschat_mods . ')' );
|
||||
}
|
||||
|
||||
if( \IPS\Settings::i()->ipschat_private )
|
||||
{
|
||||
\IPS\Db::i()->update( 'core_groups', array( 'chat_private' => 1 ), 'g_id IN(' . \IPS\Settings::i()->ipschat_private . ')' );
|
||||
}
|
||||
|
||||
/* Add rules text */
|
||||
\IPS\Lang::saveCustom( 'core', "ipschat_rules", \IPS\Text\Parser::utf8mb4SafeDecode( \IPS\Settings::i()->ipschat_rules ) );
|
||||
|
||||
/* Add online/offline start value */
|
||||
\IPS\Db::i()->replace( 'core_sys_conf_settings', array(
|
||||
'conf_key' => 'ipschat_online',
|
||||
'conf_default' => '',
|
||||
'conf_value' => implode( ',', array( 0 => \IPS\Settings::i()->ipschat_online_start, 1 => \IPS\Settings::i()->ipschat_online_end ) ),
|
||||
'conf_app' => 'chat',
|
||||
) );
|
||||
|
||||
/* Remove old settings */
|
||||
\IPS\Db::i()->delete( 'core_sys_conf_settings', "conf_key IN ('ipschat_group_access', 'ipschat_mods', 'ipschat_private',
|
||||
'ipschat_account_key', 'ipchat_htc_zero', 'ipchat_max_messages', 'ipschat_offline_msg', 'ipschat_offline_groups', 'ipschat_hide_chatting',
|
||||
'ipschat_whos_chatting', 'ipchat_htc_view', 'ipschat_format_names', 'ipschat_online_start', 'ipschat_online_end', 'ipschat_rules')" );
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Custom title for this step
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function step1CustomTitle()
|
||||
{
|
||||
return "Converting and cleaning up settings";
|
||||
}
|
||||
}
|
||||
Whitespace-only changes.
@@ -1,119 +0,0 @@
|
||||
{
|
||||
"1": {
|
||||
"method": "createTable",
|
||||
"params": [
|
||||
{
|
||||
"name": "chat_log_archive",
|
||||
"columns": {
|
||||
"log_id": {
|
||||
"allow_null": false,
|
||||
"auto_increment": true,
|
||||
"binary": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": null,
|
||||
"length": 10,
|
||||
"name": "log_id",
|
||||
"type": "INT",
|
||||
"unsigned": false,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
},
|
||||
"log_room_id": {
|
||||
"allow_null": false,
|
||||
"auto_increment": false,
|
||||
"binary": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": "0",
|
||||
"length": 10,
|
||||
"name": "log_room_id",
|
||||
"type": "INT",
|
||||
"unsigned": false,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
},
|
||||
"log_time": {
|
||||
"allow_null": false,
|
||||
"auto_increment": false,
|
||||
"binary": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": "0",
|
||||
"length": 10,
|
||||
"name": "log_time",
|
||||
"type": "INT",
|
||||
"unsigned": false,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
},
|
||||
"log_code": {
|
||||
"allow_null": false,
|
||||
"auto_increment": false,
|
||||
"binary": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": "0",
|
||||
"length": 6,
|
||||
"name": "log_code",
|
||||
"type": "SMALLINT",
|
||||
"unsigned": false,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
},
|
||||
"log_user": {
|
||||
"allow_null": true,
|
||||
"auto_increment": false,
|
||||
"binary": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": null,
|
||||
"length": 255,
|
||||
"name": "log_user",
|
||||
"type": "VARCHAR",
|
||||
"unsigned": false,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
},
|
||||
"log_message": {
|
||||
"allow_null": true,
|
||||
"auto_increment": false,
|
||||
"binary": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": null,
|
||||
"length": null,
|
||||
"name": "log_message",
|
||||
"type": "TEXT",
|
||||
"unsigned": false,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
},
|
||||
"log_extra": {
|
||||
"allow_null": true,
|
||||
"auto_increment": false,
|
||||
"binary": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": null,
|
||||
"length": 255,
|
||||
"name": "log_extra",
|
||||
"type": "VARCHAR",
|
||||
"unsigned": false,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": {
|
||||
"type": "primary",
|
||||
"name": "PRIMARY",
|
||||
"columns": [
|
||||
"log_id"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
Whitespace-only changes.
Whitespace-only changes.
@@ -1,61 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief chatlogprune Task
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @subpackage Chat
|
||||
* @since 15 Mar 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\chat\tasks;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* chatlogprune Task
|
||||
*/
|
||||
class _chatlogprune extends \IPS\Task
|
||||
{
|
||||
/**
|
||||
* Execute
|
||||
*
|
||||
* If ran successfully, should return anything worth logging. Only log something
|
||||
* worth mentioning (don't log "task ran successfully"). Return NULL (actual NULL, not '' or 0) to not log (which will be most cases).
|
||||
* If an error occurs which means the task could not finish running, throw an \IPS\Task\Exception - do not log an error as a normal log.
|
||||
* Tasks should execute within the time of a normal HTTP request.
|
||||
*
|
||||
* @return mixed Message to log or NULL
|
||||
* @throws \IPS\Task\Exception
|
||||
*/
|
||||
public function execute()
|
||||
{
|
||||
if( \IPS\Settings::i()->ipchat_log_prune )
|
||||
{
|
||||
\IPS\Db::i()->delete( 'chat_log_archive', array( 'log_time < ?', \IPS\DateTime::create()->sub( new \DateInterval( 'P' . \IPS\Settings::i()->ipchat_log_prune . 'D' ) )->getTimestamp() ) );
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cleanup
|
||||
*
|
||||
* If your task takes longer than 15 minutes to run, this method
|
||||
* will be called before execute(). Use it to clean up anything which
|
||||
* may not have been done
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function cleanup()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,108 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief chatlogrefresh Task
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @subpackage Chat
|
||||
* @since 15 Mar 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\chat\tasks;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* chatlogrefresh Task
|
||||
*/
|
||||
class _chatlogrefresh extends \IPS\Task
|
||||
{
|
||||
/**
|
||||
* Execute
|
||||
*
|
||||
* If ran successfully, should return anything worth logging. Only log something
|
||||
* worth mentioning (don't log "task ran successfully"). Return NULL (actual NULL, not '' or 0) to not log (which will be most cases).
|
||||
* If an error occurs which means the task could not finish running, throw an \IPS\Task\Exception - do not log an error as a normal log.
|
||||
* Tasks should execute within the time of a normal HTTP request.
|
||||
*
|
||||
* @return mixed Message to log or NULL
|
||||
* @throws \IPS\Task\Exception
|
||||
*/
|
||||
public function execute()
|
||||
{
|
||||
if ( !\IPS\Application::appIsEnabled( 'chat' ) )
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if ( !\IPS\Settings::i()->ipb_reg_number )
|
||||
{
|
||||
throw new \IPS\Task\Exception( $this, 'ipschat_no_license_admin' );
|
||||
}
|
||||
|
||||
/* Get last log time */
|
||||
$max = \IPS\Db::i()->select( 'MAX(log_time)', 'chat_log_archive' )->first();
|
||||
|
||||
/* Fetch logs */
|
||||
try
|
||||
{
|
||||
$result = \IPS\Http\Url::external( \IPS\chat\modules\front\chat\view::MASTERSERVER . "get_logs.php?api_key=" . \IPS\Settings::i()->ipb_reg_number . "×tamp=" . $max )->request()->get();
|
||||
}
|
||||
catch( \IPS\Http\Request\Exception $e )
|
||||
{
|
||||
throw new \IPS\Task\Exception( $this, $e->getMessage() );
|
||||
}
|
||||
|
||||
$results = explode( ',', $result );
|
||||
$status = array_shift( $results );
|
||||
|
||||
if( $status == 0 )
|
||||
{
|
||||
throw new \IPS\Task\Exception( $this, 'connect_gw_error_' . $results[0] );
|
||||
}
|
||||
|
||||
foreach( $results as $k => $v )
|
||||
{
|
||||
$_thisResult = explode( "~~||~~", $v );
|
||||
|
||||
if( !isset( $_thisResult[1] ) OR !$_thisResult[1] )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$_insert = array(
|
||||
'log_room_id' => $_thisResult[1],
|
||||
'log_time' => $_thisResult[2],
|
||||
'log_code' => $_thisResult[3],
|
||||
'log_user' => $_thisResult[4],
|
||||
'log_message' => $_thisResult[5],
|
||||
'log_extra' => $_thisResult[6],
|
||||
);
|
||||
|
||||
\IPS\Db::i()->insert( "chat_log_archive", $_insert );
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cleanup
|
||||
*
|
||||
* If your task takes longer than 15 minutes to run, this method
|
||||
* will be called before execute(). Use it to clean up anything which
|
||||
* may not have been done
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function cleanup()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
Whitespace-only changes.
@@ -1,78 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief chatwhoschatting Widget
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @subpackage Chat
|
||||
* @since 15 Mar 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\chat\widgets;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* chatwhoschatting Widget
|
||||
*/
|
||||
class _chatwhoschatting extends \IPS\Widget\StaticCache
|
||||
{
|
||||
/**
|
||||
* @brief Widget Key
|
||||
*/
|
||||
public $key = 'chatwhoschatting';
|
||||
|
||||
/**
|
||||
* @brief App
|
||||
*/
|
||||
public $app = 'chat';
|
||||
|
||||
/**
|
||||
* @brief Plugin
|
||||
*/
|
||||
public $plugin = '';
|
||||
|
||||
/**
|
||||
* Render a widget
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function render()
|
||||
{
|
||||
if( !\IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'chat', 'chat' ) ) )
|
||||
{
|
||||
return '';
|
||||
}
|
||||
|
||||
$chatters = ( isset( \IPS\Data\Store::i()->chatters ) ) ? \IPS\Data\Store::i()->chatters : array();
|
||||
|
||||
/* It's possible to get duplicates from the chat server if a user rejoins the room, so weed them out */
|
||||
$seen = array();
|
||||
|
||||
foreach( $chatters as $uid => $chatter )
|
||||
{
|
||||
/* Have we already seen this? Remove duplicates */
|
||||
if( in_array( $chatter['forumUserID'], $seen ) )
|
||||
{
|
||||
unset( $chatters[ $uid ] );
|
||||
}
|
||||
|
||||
/* If the last update was longer than 120 seconds ago, they're gone */
|
||||
if( $chatter['last_update'] < time() - 120 )
|
||||
{
|
||||
unset( $chatters[ $uid ] );
|
||||
}
|
||||
|
||||
$seen[ $chatter['forumUserID'] ] = $chatter['forumUserID'];
|
||||
}
|
||||
|
||||
return $this->output( $chatters );
|
||||
}
|
||||
}
|
||||
Whitespace-only changes.
@@ -342,18 +342,18 @@ class _Application extends \IPS\Application
|
||||
) );
|
||||
|
||||
/* Needs to be added before createDatabase is called */
|
||||
\IPS\Lang::saveCustom( 'cms', "content_db_" . $database->id, "Статьи" );
|
||||
\IPS\Lang::saveCustom( 'cms', "module__cms_records" . $database->id, "Статьи" );
|
||||
\IPS\Lang::saveCustom( 'cms', "content_db_" . $database->id . '_desc', "Статьи нашего сайта" );
|
||||
\IPS\Lang::saveCustom( 'cms', "content_db_lang_sl_" . $database->id, 'статья' );
|
||||
\IPS\Lang::saveCustom( 'cms', "content_db_lang_pl_" . $database->id, 'статьи' );
|
||||
\IPS\Lang::saveCustom( 'cms', "content_db_lang_su_" . $database->id, 'Статья' );
|
||||
\IPS\Lang::saveCustom( 'cms', "content_db_lang_pu_" . $database->id, 'Статьи' );
|
||||
\IPS\Lang::saveCustom( 'cms', "content_db_lang_ia_" . $database->id, 'статья' );
|
||||
\IPS\Lang::saveCustom( 'cms', "content_db_lang_sl_" . $database->id . '_pl', 'Статьи' );
|
||||
\IPS\Lang::saveCustom( 'cms', "cms_create_menu_records_" . $database->id, 'Запись в Статьи' );
|
||||
\IPS\Lang::saveCustom( 'cms', "digest_area_records" . $database->id, "Статьи" );
|
||||
\IPS\Lang::saveCustom( 'cms', "cms_records" . $database->id . '_pl', 'Статья' );
|
||||
\IPS\Lang::saveCustom( 'cms', "content_db_" . $database->id, "Articles" );
|
||||
\IPS\Lang::saveCustom( 'cms', "module__cms_records" . $database->id, "Articles" );
|
||||
\IPS\Lang::saveCustom( 'cms', "content_db_" . $database->id . '_desc', "Our website articles" );
|
||||
\IPS\Lang::saveCustom( 'cms', "content_db_lang_sl_" . $database->id, 'article' );
|
||||
\IPS\Lang::saveCustom( 'cms', "content_db_lang_pl_" . $database->id, 'articles' );
|
||||
\IPS\Lang::saveCustom( 'cms', "content_db_lang_su_" . $database->id, 'Article' );
|
||||
\IPS\Lang::saveCustom( 'cms', "content_db_lang_pu_" . $database->id, 'Articles' );
|
||||
\IPS\Lang::saveCustom( 'cms', "content_db_lang_ia_" . $database->id, 'an article' );
|
||||
\IPS\Lang::saveCustom( 'cms', "content_db_lang_sl_" . $database->id . '_pl', 'Articles' );
|
||||
\IPS\Lang::saveCustom( 'cms', "cms_create_menu_records_" . $database->id, 'Article in Articles' );
|
||||
\IPS\Lang::saveCustom( 'cms', "digest_area_cms_records" . $database->id, "Articles" );
|
||||
\IPS\Lang::saveCustom( 'cms', "cms_records" . $database->id . '_pl', 'Article' );
|
||||
|
||||
try
|
||||
{
|
||||
@@ -389,13 +389,15 @@ class _Application extends \IPS\Application
|
||||
$link = (string) \IPS\Http\Url::ips('docs/pages_docs');
|
||||
|
||||
$content = <<<EOF
|
||||
<p>Добро пожаловать в приложение Страницы!</p>
|
||||
<p>Приложение Страницы призвано расширить ваш сайт путём гибкого управления контентом, разработанное специально для сообществ.
|
||||
Создайте совершенно новые разделы вашего сообщества, используя такие особенности, как блоки, базы данных и статьи, и внедряя дополнительную информацию из других разделов сообщества.</p>
|
||||
<p>Создавайте собственные страницы, используя наш удобный WYSIWYG редактор.
|
||||
Создавайте блоки, которые отображают все виды информации из всего вашего сообщества для создания динамических страниц, или используйте стандартные готовые блоки, присутствующие в IPS Community Suite.</p>
|
||||
<p>Welcome to Pages!</p>
|
||||
<p>Pages extends your site with custom content management designed especially for communities.
|
||||
Create brand new sections of your community using features like blocks, databases and articles,
|
||||
pulling in data from other areas of your community.</p>
|
||||
<p>Create custom pages in your community using our drag'n'drop, WYSIWYG editor.
|
||||
Build blocks that pull in all kinds of data from throughout your community to create dynamic pages,
|
||||
or use one of the ready-made widgets we include with the IPS Community Suite.</p>
|
||||
<p><br></p>
|
||||
<p><a href="{$link}">Просмотреть документацию приложения</a></p>
|
||||
<p><a href="{$link}">View our Pages documentation</a></p>
|
||||
EOF;
|
||||
|
||||
$titleField = 'field_' . $database->field_title;
|
||||
@@ -405,7 +407,7 @@ EOF;
|
||||
$member = \IPS\Member::loggedIn()->member_id ? \IPS\Member::loggedIn() : \IPS\Member::load(1);
|
||||
|
||||
$record = $item::createItem( $member, \IPS\Request::i()->ipAddress(), \IPS\DateTime::ts( time() ), $category, FALSE );
|
||||
$record->$titleField = "Добро пожаловать в Страницы";
|
||||
$record->$titleField = "Welcome to Pages";
|
||||
$record->$contentField = $content;
|
||||
$record->save();
|
||||
|
||||
@@ -416,8 +418,8 @@ EOF;
|
||||
|
||||
/* Create the page */
|
||||
$pageValues = array(
|
||||
'page_name' => "Статьи",
|
||||
'page_title' => "Статьи",
|
||||
'page_name' => "Articles",
|
||||
'page_title' => "Articles",
|
||||
'page_seo_name' => "articles.html",
|
||||
'page_folder_id' => 0,
|
||||
'page_ipb_wrapper' => 1,
|
||||
@@ -453,12 +455,12 @@ EOF;
|
||||
$buttonUrl = (string) \IPS\Http\Url::internal( 'applications/cms/interface/default/block_arrow.png', 'none' );
|
||||
$defaultContent = <<<EOF
|
||||
<p>
|
||||
<strong>Добро пожаловать в приложение Страницы!</strong>
|
||||
<strong>Welcome to Pages!</strong>
|
||||
</p>
|
||||
<p>
|
||||
Для начала, убедитесь, что вы авторизовались и нажмите на стрелку с правой стороны <img src="{$buttonUrl}"> , чтобы развернуть менеджер блоков.
|
||||
To get started, make sure you are logged in and click the arrow on the left hand side <img src="{$buttonUrl}"> to expand the block manager.
|
||||
<br>
|
||||
Вы можете перемещать, добавлять и редактировать блоки без необходимости программирования!
|
||||
You can move, add and edit blocks without the need for complex coding!
|
||||
</p>
|
||||
EOF;
|
||||
|
||||
@@ -488,7 +490,7 @@ EOF;
|
||||
/* Add block container (custom)*/
|
||||
$container = new \IPS\cms\Blocks\Container;
|
||||
$container->parent_id = 0;
|
||||
$container->name = "Дополнительно";
|
||||
$container->name = "Custom";
|
||||
$container->type = 'block';
|
||||
$container->key = 'block_custom';
|
||||
$container->save();
|
||||
@@ -496,7 +498,7 @@ EOF;
|
||||
/* Add block container (plugins) */
|
||||
$container = new \IPS\cms\Blocks\Container;
|
||||
$container->parent_id = 0;
|
||||
$container->name = "Плагины";
|
||||
$container->name = "Plugins";
|
||||
$container->type = 'block';
|
||||
$container->key = 'block_plugins';
|
||||
$container->save();
|
||||
|
||||
@@ -3,9 +3,7 @@
|
||||
"lang_key": "menu__cms_databases_categories",
|
||||
"restriction": null,
|
||||
"keywords": [
|
||||
"Articles Categories",
|
||||
"категории статей",
|
||||
"категории записей"
|
||||
"Articles Categories"
|
||||
]
|
||||
},
|
||||
"app=cms&module=databases&controller=databases": {
|
||||
@@ -13,9 +11,7 @@
|
||||
"restriction": "databases_manage",
|
||||
"keywords": [
|
||||
"database",
|
||||
"databases",
|
||||
"база данных",
|
||||
"базы данных"
|
||||
"databases"
|
||||
]
|
||||
},
|
||||
"app=cms&module=databases&controller=records&do=manage": {
|
||||
@@ -23,20 +19,14 @@
|
||||
"restriction": null,
|
||||
"keywords": [
|
||||
"article",
|
||||
"articles",
|
||||
"запись",
|
||||
"статья",
|
||||
"записи",
|
||||
"статьи"
|
||||
"articles"
|
||||
]
|
||||
},
|
||||
"app=cms&module=pages&controller=blocks": {
|
||||
"lang_key": "menu__cms_pages_blocks",
|
||||
"restriction": "block_manage",
|
||||
"keywords": [
|
||||
"blocks",
|
||||
"блоки",
|
||||
"блок"
|
||||
"blocks"
|
||||
]
|
||||
},
|
||||
"app=cms&module=pages&controller=media": {
|
||||
@@ -44,9 +34,7 @@
|
||||
"restriction": "media_manage",
|
||||
"keywords": [
|
||||
"media",
|
||||
"media manager",
|
||||
"медиа",
|
||||
"медиа менеджер"
|
||||
"media manager"
|
||||
]
|
||||
},
|
||||
"app=cms&module=pages&controller=pages": {
|
||||
@@ -55,19 +43,14 @@
|
||||
"keywords": [
|
||||
"add page",
|
||||
"articles",
|
||||
"pages",
|
||||
"статьи",
|
||||
"страницы",
|
||||
"добавить страницу"
|
||||
"pages"
|
||||
]
|
||||
},
|
||||
"app=cms&module=pages&controller=templates": {
|
||||
"lang_key": "menu__cms_pages_templates",
|
||||
"restriction": "template_manage",
|
||||
"keywords": [
|
||||
"templates",
|
||||
"шаблоны",
|
||||
"шаблон"
|
||||
"templates"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<javascript app="cms">
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/blocks" javascript_name="ips.blocks.form.js" javascript_type="controller" javascript_version="101093" javascript_position="1000050"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/blocks" javascript_name="ips.blocks.form.js" javascript_type="controller" javascript_version="101099" javascript_position="1000050"><![CDATA[/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2013 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
@@ -142,7 +142,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.download.js" javascript_type="controller" javascript_version="101093" javascript_position="1000100">/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.download.js" javascript_type="controller" javascript_version="101099" javascript_position="1000100">/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2014 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
@@ -187,7 +187,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.form.js" javascript_type="controller" javascript_version="101093" javascript_position="1000100">/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.form.js" javascript_type="controller" javascript_version="101099" javascript_position="1000100">/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2014 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
@@ -250,7 +250,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/external" javascript_name="ips.external.communication.js" javascript_type="controller" javascript_version="101093" javascript_position="1000050"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/external" javascript_name="ips.external.communication.js" javascript_type="controller" javascript_version="101099" javascript_position="1000050"><![CDATA[/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2013 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
@@ -385,7 +385,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/fields" javascript_name="ips.fields.form.js" javascript_type="controller" javascript_version="101093" javascript_position="1000150">/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/fields" javascript_name="ips.fields.form.js" javascript_type="controller" javascript_version="101099" javascript_position="1000150">/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2013 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
@@ -422,7 +422,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/media" javascript_name="ips.media.main.js" javascript_type="controller" javascript_version="101093" javascript_position="1000200"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/media" javascript_name="ips.media.main.js" javascript_type="controller" javascript_version="101099" javascript_position="1000200"><![CDATA[/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2013 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
@@ -990,7 +990,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.embed.js" javascript_type="controller" javascript_version="101093" javascript_position="1000250"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.embed.js" javascript_type="controller" javascript_version="101099" javascript_position="1000250"><![CDATA[/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2013 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
@@ -1036,7 +1036,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.form.js" javascript_type="controller" javascript_version="101093" javascript_position="1000250"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.form.js" javascript_type="controller" javascript_version="101099" javascript_position="1000250"><![CDATA[/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2014 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
@@ -1129,7 +1129,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.form.js" javascript_type="controller" javascript_version="101093" javascript_position="1000100"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.form.js" javascript_type="controller" javascript_version="101099" javascript_position="1000100"><![CDATA[/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2014 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
@@ -1241,7 +1241,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.revisions.js" javascript_type="controller" javascript_version="101093" javascript_position="1000100">/**
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.revisions.js" javascript_type="controller" javascript_version="101099" javascript_position="1000100">/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2014 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
@@ -1296,7 +1296,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.addForm.js" javascript_type="controller" javascript_version="101093" javascript_position="1000300">/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.addForm.js" javascript_type="controller" javascript_version="101099" javascript_position="1000300">/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2013 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
@@ -1346,7 +1346,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.conflict.js" javascript_type="controller" javascript_version="101093" javascript_position="1000300">/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.conflict.js" javascript_type="controller" javascript_version="101099" javascript_position="1000300">/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2013 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
@@ -1418,7 +1418,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileEditor.js" javascript_type="controller" javascript_version="101093" javascript_position="1000300"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileEditor.js" javascript_type="controller" javascript_version="101099" javascript_position="1000300"><![CDATA[/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2013 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
@@ -2281,7 +2281,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileList.js" javascript_type="controller" javascript_version="101093" javascript_position="1000300"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileList.js" javascript_type="controller" javascript_version="101099" javascript_position="1000300"><![CDATA[/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2013 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
@@ -2601,7 +2601,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.main.js" javascript_type="controller" javascript_version="101093" javascript_position="1000300">/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.main.js" javascript_type="controller" javascript_version="101099" javascript_position="1000300">/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2013 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
@@ -2642,7 +2642,7 @@
|
||||
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.variablesDialog.js" javascript_type="controller" javascript_version="101093" javascript_position="1000300">/**
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.variablesDialog.js" javascript_type="controller" javascript_version="101099" javascript_position="1000300">/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2013 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
@@ -2680,7 +2680,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));</file>
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="mixins" javascript_name="ips.cms.builder.area.js" javascript_type="mixins" javascript_version="101093" javascript_position="1000150"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="mixins" javascript_name="ips.cms.builder.area.js" javascript_type="mixins" javascript_version="101099" javascript_position="1000150"><![CDATA[/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2013 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
@@ -2749,7 +2749,7 @@
|
||||
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="mixins" javascript_name="ips.cms.builder.block.js" javascript_type="mixins" javascript_version="101093" javascript_position="1000150"><![CDATA[/**
|
||||
<file javascript_app="cms" javascript_location="front" javascript_path="mixins" javascript_name="ips.cms.builder.block.js" javascript_type="mixins" javascript_version="101099" javascript_position="1000150"><![CDATA[/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2013 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
@@ -2857,7 +2857,7 @@
|
||||
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.media.js" javascript_type="template" javascript_version="101093" javascript_position="1000300"><![CDATA[ips.templates.set( 'templates.media.grid', "\
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.media.js" javascript_type="template" javascript_version="101099" javascript_position="1000300"><![CDATA[ips.templates.set( 'templates.media.grid', "\
|
||||
<ul class='ipsGrid' data-ipsGrid data-ipsGrid-minItemSize='100' data-ipsGrid-maxItemSize='200'>\
|
||||
{{{contents}}}\
|
||||
</ul>\
|
||||
@@ -2874,7 +2874,7 @@ ips.templates.set( 'templates.media.noSearchResults', "\
|
||||
{{#lang}}mediaNoResults{{/lang}}\
|
||||
</div>\
|
||||
");]]></file>
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.templates.js" javascript_type="template" javascript_version="101093" javascript_position="1000300"><![CDATA[/* TEMPLATE EDITOR TEMPLATES */
|
||||
<file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.templates.js" javascript_type="template" javascript_version="101099" javascript_position="1000300"><![CDATA[/* TEMPLATE EDITOR TEMPLATES */
|
||||
/* TEMPLATECEPTION */
|
||||
ips.templates.set('templates.editor.newTab', " \
|
||||
<li data-fileid='{{fileid}}' data-location='{{location}}'>\
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="cms" version="101093">
|
||||
<app key="cms" version="101099">
|
||||
<word key="__app_cms" js="0">Pages</word>
|
||||
<word key="menutab__cms" js="0">Pages</word>
|
||||
<word key="menutab__cms_icon" js="0">book</word>
|
||||
|
||||
@@ -1,942 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="cms" version="101093">
|
||||
<word key_rus="Страницы" key="__app_cms" js="0">Pages</word>
|
||||
<word key_rus="Страницы" key="menutab__cms" js="0">Pages</word>
|
||||
<word key_rus="book" key="menutab__cms_icon" js="0">book</word>
|
||||
<word key_rus="%s" key="__indefart_content_db_lang_sl" js="0">a %s</word>
|
||||
<word key_rus="комментарий" key="__indefart_content_record_comments_title" js="0">a comment</word>
|
||||
<word key_rus="отзыв" key="__indefart_content_record_reviews_title" js="0">a review</word>
|
||||
<word key_rus="%s" key="__defart_content_db_lang_sl" js="0">%s</word>
|
||||
<word key_rus="комментарий" key="__defart_content_record_comments_title" js="0">comment</word>
|
||||
<word key_rus="отзыв" key="__defart_content_record_reviews_title" js="0">review</word>
|
||||
<word key_rus="Перестроение %s категорий" key="rebuilding_cms_database_categories" js="0">Rebuilding %s categories</word>
|
||||
<word key_rus="Перестроение %s карт связей (ID поля %s)" key="rebuilding_cms_database_reciprocal_map" js="0">Rebuilding %s reciprocal maps (field ID %s)</word>
|
||||
<word key_rus="Перестроение м записей" key="rebuilding_cms_database_records" js="0">Rebuilding %s records</word>
|
||||
<word key_rus="Перестроение %s синхронизированных тем" key="rebuilding_cms_database_sync_topics" js="0">Rebuilding %s synchronized topics</word>
|
||||
<word key_rus="Нет доступа" key="module_no_permission" js="0">No permission</word>
|
||||
<word key_rus="Конвертирование страниц с bb-кодом в HTML" key="converting_pages_34x" js="0">Converting bbcode pages to HTML</word>
|
||||
<word key_rus="Записи базы данных" key="sitemap_cms_Databases" js="0">Database Records</word>
|
||||
<word key_rus="Страницы" key="sitemap_cms_Pages" js="0">Pages</word>
|
||||
<word key_rus="Количество записей для включения" key="sitemap_databases_count" js="0">Number of records to include</word>
|
||||
<word key_rus="Приоритет записей" key="sitemap_databases_priority" js="0">Records priority</word>
|
||||
<word key_rus="Значение приоритета в файле карты сайта указывает поисковым системам на сколько важна страница по сравнению с другими страницами на сайте." key="sitemap_databases_priority_desc" js="0">The priority value in a sitemap file indicates to search engines how important a page is compared to other pages on the site.</word>
|
||||
<word key_rus="Количество страниц для включения" key="sitemap_pages_count" js="0">Number of pages to include</word>
|
||||
<word key_rus="Приоритет страниц" key="sitemap_pages_priority" js="0">Pages priority</word>
|
||||
<word key_rus="Значение приоритета в файле карты сайта указывает поисковым системам на сколько важна страница по сравнению с другими страницами на сайте." key="sitemap_pages_priority_desc" js="0">The priority value in a sitemap file indicates to search engines how important a page is compared to other pages on the site.</word>
|
||||
<word key_rus="Можно закреплять %s?" key="can_pin_record" js="0">Can pin %s?</word>
|
||||
<word key_rus="Можно откреплять %s?" key="can_unpin_record" js="0">Can unpin %s?</word>
|
||||
<word key_rus="Можно делать популярными %s?" key="can_feature_record" js="0">Can feature %s?</word>
|
||||
<word key_rus="Можно делать непопулярными %s?" key="can_unfeature_record" js="0">Can unfeature %s?</word>
|
||||
<word key_rus="Можно редактировать %s?" key="can_edit_record" js="0">Can edit %s?</word>
|
||||
<word key_rus="Можно скрывать %s?" key="can_hide_record" js="0">Can hide %s?</word>
|
||||
<word key_rus="Можно отображать %s?" key="can_unhide_record" js="0">Can unhide %s?</word>
|
||||
<word key_rus="Можно просматривать скрытые %s?" key="can_view_hidden_record" js="0">Can view a hidden %s?</word>
|
||||
<word key_rus="Можно перемещать %s?" key="can_move_record" js="0">Can move %s?</word>
|
||||
<word key_rus="Можно блокировать %s?" key="can_lock_record" js="0">Can lock %s?</word>
|
||||
<word key_rus="Можно разблокировать %s?" key="can_unlock_record" js="0">Can unlock %s?</word>
|
||||
<word key_rus="Можно отвечать в закрытых %s?" key="can_reply_to_locked_record" js="0">Can reply to a locked %s?</word>
|
||||
<word key_rus="Можно удалять %s?" key="can_delete_record" js="0">Can delete %s?</word>
|
||||
<word key_rus="Можно разделять и объединять %s?" key="can_split_merge_record" js="0">Can split and merge %s?</word>
|
||||
<word key_rus="Можно публиковать %s в будущем?" key="can_future_publish_record" js="0">Can future publish %s</word>
|
||||
<word key_rus="Можно просматривать будущие %s?" key="can_view_future_record" js="0">Can view a future %s</word>
|
||||
<word key_rus="Можно редактировать комментарии %s?" key="can_edit_rcomment" js="0">Can edit a %s comment?</word>
|
||||
<word key_rus="Можно скрывать комментарии %s?" key="can_hide_rcomment" js="0">Can hide a %s comment?</word>
|
||||
<word key_rus="Можно показывать комментарии %s?" key="can_unhide_rcomment" js="0">Can unhide a %s comment?</word>
|
||||
<word key_rus="Можно просматривать скрытые комментарии %s?" key="can_view_hidden_rcomment" js="0">Can view a hidden %s comment?</word>
|
||||
<word key_rus="Можно удалять комментарии %s?" key="can_delete_rcomment" js="0">Can delete a %s comment?</word>
|
||||
<word key_rus="Можно редактировать отзывы %s?" key="can_edit_rreview" js="0">Can edit a %s review?</word>
|
||||
<word key_rus="Можно скрывать отзывы %s?" key="can_hide_rreview" js="0">Can hide a %s review?</word>
|
||||
<word key_rus="Можно показывать отзывы %s?" key="can_unhide_rreview" js="0">Can unhide a %s review?</word>
|
||||
<word key_rus="Можно просматривать скрытые отзывы %s?" key="can_view_hidden_rreview" js="0">Can view a hidden %s review?</word>
|
||||
<word key_rus="Можно удалять отзывы %s?" key="can_delete_rreview" js="0">Can delete a %s review?</word>
|
||||
<word key_rus="Можно создавать страницы" key="r__page_add" js="0">Can create pages?</word>
|
||||
<word key_rus="Можно редактировать страницы" key="r__page_edit" js="0">Can edit pages?</word>
|
||||
<word key_rus="Можно удалять страницы" key="r__page_delete" js="0">Can delete pages?</word>
|
||||
<word key_rus="Страницы" key="r__pages" js="0">Pages</word>
|
||||
<word key_rus="Можно управлять разрешениями страницы?" key="r__page_permissions" js="0">Can manage page permissions?</word>
|
||||
<word key_rus="Можно просматривать блоки?" key="r__page_manage" js="0">Can view blocks?</word>
|
||||
<word key_rus="Можно создавать блоки?" key="r__block_add" js="0">Can create blocks?</word>
|
||||
<word key_rus="Можно редактировать блоки?" key="r__block_edit" js="0">Can edit blocks?</word>
|
||||
<word key_rus="Можно удалять блоки?" key="r__block_delete" js="0">Can delete blocks?</word>
|
||||
<word key_rus="Блоки" key="r__blocks" js="0">Blocks</word>
|
||||
<word key_rus="Можно просматривать блоки?" key="r__block_manage" js="0">Can view blocks?</word>
|
||||
<word key_rus="Можно управлять доступами к блокам?" key="r__block_permissions" js="0">Can manage block permissions?</word>
|
||||
<word key_rus="Можно создавать/редактировать шаблоны?" key="r__template_add_edit" js="0">Can create/edit templates?</word>
|
||||
<word key_rus="Можно удалять шаблоны" key="r__template_delete" js="0">Can delete templates?</word>
|
||||
<word key_rus="Шаблоны" key="r__templates" js="0">Templates</word>
|
||||
<word key_rus="Можно просматривать шаблоны?" key="r__template_manage" js="0">Can view templates?</word>
|
||||
<word key_rus="Можно создавать базы данных?" key="r__databases_add" js="0">Can create databases?</word>
|
||||
<word key_rus="Можно редактировать базы данных?" key="r__databases_edit" js="0">Can edit databases?</word>
|
||||
<word key_rus="Можно удалять базы данных?" key="r__databases_delete" js="0">Can delete databases?</word>
|
||||
<word key_rus="Базы данных" key="r__databases" js="0">Databases</word>
|
||||
<word key_rus="Можно просматривать базы данных?" key="r__databases_manage" js="0">Can view databases?</word>
|
||||
<word key_rus="Можно создавать записи?" key="r__records_add" js="0">Can create records?</word>
|
||||
<word key_rus="Можно редактировать записи?" key="r__records_edit" js="0">Can edit records?</word>
|
||||
<word key_rus="Можно удалять записи?" key="r__records_delete" js="0">Can delete records?</word>
|
||||
<word key_rus="Записи" key="r__records" js="0">Records</word>
|
||||
<word key_rus="Можно просматривать записи?" key="r__records_manage" js="0">Can view records?</word>
|
||||
<word key_rus="Дополнительные поля" key="r__cms_fields" js="0">Extra Fields</word>
|
||||
<word key_rus="Можно просматривать дополнительные поля?" key="r__cms_fields_manage" js="0">Can view extra fields?</word>
|
||||
<word key_rus="Можно создавать дополнительные поля?" key="r__cms_fields_add" js="0">Can create extra fields?</word>
|
||||
<word key_rus="Можно редактировать дополнительные поля?" key="r__cms_fields_edit" js="0">Can edit extra fields?</word>
|
||||
<word key_rus="Можно удалять дополнительные поля?" key="r__cms_fields_delete" js="0">Can delete extra fields?</word>
|
||||
<word key_rus="Настраиваемые блоки" key="editor__cms_BlockContent" js="0">Custom Blocks</word>
|
||||
<word key_rus="CMS Страницы" key="editor__cms_PageContent" js="0">CMS Pages</word>
|
||||
<word key_rus="CMS Виджеты" key="editor__cms_Widgets" js="0">CMS Widgets</word>
|
||||
<word key_rus="CMS Записи" key="editor__cms_Records" js="0">CMS Records</word>
|
||||
<word key_rus="CMS Записи" key="filestorage__cms_Records" js="0">CMS Records</word>
|
||||
<word key_rus="CMS Страницы" key="filestorage__cms_Pages" js="0">CMS Pages</word>
|
||||
<word key_rus="CMS Медиа" key="filestorage__cms_Media" js="0">CMS Media</word>
|
||||
<word key_rus="Базы данных" key="modperms__cms_Databases" js="0">Databases</word>
|
||||
<word key_rus="Можно управлять версиями" key="can_content_revisions_content" js="0">Can Manage Revisions</word>
|
||||
<word key_rus="Можно управлять мета тегами" key="can_content_edit_meta_tags" js="0">Can manage meta tags</word>
|
||||
<word key_rus="Разрешить пользователю добавлять/редактировать ключевые слова и описание при создании/редактировании записей?" key="can_content_edit_meta_tags_desc" js="0"><![CDATA[Allow the user to add/edit meta keywords & description when creating/editing records]]></word>
|
||||
<word key_rus="Можно управлять Slug записей" key="can_content_edit_record_slugs" js="0">Can Manage Record Slugs</word>
|
||||
<word key_rus="Slugs записей являются частью FURL. Это позволяет устанавливать свой собственный slug." key="can_content_edit_record_slugs_desc" js="0">Record slugs are part of the FURL. This allows a custom slug to be set.</word>
|
||||
<word key_rus="Можно просматривать все записи" key="can_content_view_others_records" js="0">Can See All Records</word>
|
||||
<word key_rus="Отображать все записи в категориях, настроенных на просмотр автора только собственных записей. " key="can_content_view_others_records_desc" js="0">Show all records in categories that are set to only show the authors own records</word>
|
||||
<word key_rus="Категории" key="cms" js="0">Categories</word>
|
||||
<word key_rus="Менеджер страниц" key="menu__cms_pages" js="0">Page Management</word>
|
||||
<word key_rus="Страницы" key="menu__cms_pages_pages" js="0">Pages</word>
|
||||
<word key_rus="Меню" key="menu__cms_pages_menu" js="0">Menu</word>
|
||||
<word key_rus="Блоки" key="menu__cms_pages_blocks" js="0">Blocks</word>
|
||||
<word key_rus="Шаблоны" key="menu__cms_pages_templates" js="0">Templates</word>
|
||||
<word key_rus="Контент" key="menu__cms_databases" js="0">Content</word>
|
||||
<word key_rus="Базы данных" key="menu__cms_databases_databases" js="0">Databases</word>
|
||||
<word key_rus="Записи" key="menu__cms_records" js="0">Records</word>
|
||||
<word key_rus="Категории" key="menu__cms_categories" js="0">Categories</word>
|
||||
<word key_rus="Поля" key="menu__cms_fields" js="0">Fields</word>
|
||||
<word key_rus="Страницы" key="module__cms_pages" js="0">Pages</word>
|
||||
<word key_rus="Базы данных" key="module__cms_database" js="0">Databases</word>
|
||||
<word key_rus="Создать категорию" key="content_block_cat_add" js="0">Create New Category</word>
|
||||
<word key_rus="Создать блок" key="content_block_block_add" js="0">Create New Block</word>
|
||||
<word key_rus="Изменить блок" key="content_block_block_edit" js="0">Edit Block</word>
|
||||
<word key_rus="Редактирование блока %s" key="content_block_block_editing" js="0">Editing Block %s</word>
|
||||
<word key_rus="Название" key="container_name" js="0">Name</word>
|
||||
<word key_rus="Родитель" key="container_parent_id" js="0">Parent</word>
|
||||
<word key_rus="Тип" key="content_block_add_type" js="0">Type</word>
|
||||
<word key_rus="Плагин" key="content_block_add_type_plugin" js="0">Plugin</word>
|
||||
<word key_rus="Вы можете использовать один из перечисленных плагинов для отображения информации." key="content_block_add_type_plugin_desc" js="0">You can use one of the listed plugins to create the output.</word>
|
||||
<word key_rus="Настроить" key="content_block_add_type_custom" js="0">Custom</word>
|
||||
<word key_rus="Вы можете указать свой HTML или PHP код." key="content_block_add_type_custom_desc" js="0">You can author HTML or PHP for advertisements, javascript widgets (e.g. stock tickers, gamer feeds, etc.) and notices/announcements.</word>
|
||||
<word key_rus="Редактор" key="content_block_add_custom_type_wysiwyg" js="0">Editor</word>
|
||||
<word key_rus="Ручной HTML" key="content_block_add_custom_type_html" js="0">Manual HTML</word>
|
||||
<word key_rus="Позволяет вводить HTML и логику IPS4 шаблонов" key="content_block_add_custom_type_html_desc" js="0">Allows use of HTML and IPS4 template logic that you'll enter manually</word>
|
||||
<word key_rus="Ручной PHP" key="content_block_add_custom_type_php" js="0">Manual PHP</word>
|
||||
<word key_rus="Позволяет вводить HTML и логику IPS4 шаблонов. Примечание: не используйте теги <?php ?>, IPS4 добавит их за вас." key="content_block_add_custom_type_php_desc" js="0"><![CDATA[Allows use of raw PHP that you'll enter manually. Note: don't include <?php ?> tags; IPS4 will handle this for you.]]></word>
|
||||
<word key_rus="Редактор контента" key="content_block_add_custom_type" js="0">Content Editor</word>
|
||||
<word key_rus="Детали" key="content_block_form_tab__details" js="0">Details</word>
|
||||
<word key_rus="Контент" key="content_block_form_tab__content" js="0">Content</word>
|
||||
<word key_rus="Конфигурация" key="content_block_form_tab__feed" js="0">Feed Configuration</word>
|
||||
<word key_rus="Название" key="block_name" js="0">Name</word>
|
||||
<word key_rus="Описание" key="block_description" js="0">Description</word>
|
||||
<word key_rus="Категория" key="block_category" js="0">Category</word>
|
||||
<word key_rus="Контент" key="block_content" js="0">Content</word>
|
||||
<word key_rus="Вы не можете использовать тег {block} для отображения блока в самом себе." key="block_content_recursive_error" js="0">You cannot include a {block} tag for a block inside of itself.</word>
|
||||
<word key_rus="Лента" key="content_block_type_feed" js="0">Feed</word>
|
||||
<word key_rus="Выбрать плагин" key="content_block_plugin_select" js="0">Select a plugin</word>
|
||||
<word key_rus="Вы выбрали плагин для создания нового блока. Пожалуйста, выберите плагин ниже, информацию из которого хотите использовать." key="content_block_add_select_plugin_message" js="0">You have chosen to create a new plugin block. Please select which plugin to use below.</word>
|
||||
<word key_rus="Вы выбрали ленту для создания нового блока. Пожалуйста, выберите ленту ниже для использования." key="content_block_add_select_feed_message" js="0">You have chosen to create a new feed block. Please select which feed to use below.</word>
|
||||
<word key_rus="Добавить блок ленты" key="content_block_feed_add" js="0">Add Feed Block</word>
|
||||
<word key_rus="Тип контента" key="block_content_type" js="0">Content Type</word>
|
||||
<word key_rus="Шаблон" key="block_template_id" js="0">Template</word>
|
||||
<word key_rus="Шаблон" key="block_content_type_template" js="0">Template</word>
|
||||
<word key_rus="Настраиваемый" key="block_content_type_manual" js="0">Custom</word>
|
||||
<word key_rus="Стандартный шаблон" key="content_block_template_use_default" js="0">Default template</word>
|
||||
<word key_rus="" key="block_template_use_how" js="0"></word>
|
||||
<word key_rus="Использовать этот шаблон как есть" key="block_template_use_how_use" js="0">Use this template as-is</word>
|
||||
<word key_rus="Использовать в качестве основы для своего настраиваемого шаблона" key="block_template_use_how_copy" js="0">Use as a base for a custom template</word>
|
||||
<word key_rus="Вы создаёте новый блок, используя ленту контента из %s." key="cms_block_feed_form_message" js="0">You are creating a new block using the data feed from %s.</word>
|
||||
<word key_rus="Не удалось найти ленту контента, необходимую для этого блока." key="cms_error_block_plugin_not_found" js="0">Cannot locate the data feed required for this block.</word>
|
||||
<word key_rus="Просмотр шаблона" key="cms_block_view_template" js="0">View Template</word>
|
||||
<word key_rus="Сохранить как шаблон" key="block_save_as_template" js="0">Save this as a template</word>
|
||||
<word key_rus="Вы можете использовать этот контент для блока или сохранить как шаблон, который смогут использовать другие блоки" key="block_save_as_template_desc" js="0">You can use this content for this block, or you can save it as a template so that others can use it</word>
|
||||
<word key_rus="Название" key="block_save_as_template_name" js="0">Template name</word>
|
||||
<word key_rus="Не удалось найти этот шаблон" key="cms_error_no_template_found" js="0">Could not locate that template</word>
|
||||
<word key_rus="Обновить предпросмотр" key="cms_block_preview_refresh" js="0">Refresh Preview</word>
|
||||
<word key_rus="Ленты базы данных" key="cms_db_feed_title" js="0">Database Feeds</word>
|
||||
<word key_rus="Лента из %s" key="cms_db_feed_block_with_name" js="0">Feed from %s</word>
|
||||
<word key_rus="Невозможно создать ленту для %s, т.к. эта база данных не применена ни к одной странице." key="cms_db_feed_block_with_name_disabled" js="0">Cannot create a feed for %s as this database is not assigned to a page</word>
|
||||
<word key_rus="Невозможно использовать базу данных '%s', поскольку эта база данных не применена ни к одной странице." key="cms_db_relational_with_name_disabled" js="0">Cannot use database '%s' as this database is not assigned to a page</word>
|
||||
<word key_rus="Шаблоны" key="cms_block_form_display" js="0">Templates</word>
|
||||
<word key_rus="Ключ шаблона" key="block_key" js="0">Template Key</word>
|
||||
<word key_rus="<p class='ipsMessage ipsMessage_info'>Ключ блока ('ключ_моего_блока') можно использовать в HTML шаблонах и в рукописных страницах для построения определённого блока, например: <span class='ipsType_monospace'>{block='my_block_key'}</span></p><br>Ключ должен быть уникальным для этой базы данных. Если не указать, ключ будет сгенерирован автоматически." key="block_key_desc" js="0"><![CDATA[<p class='ipsMessage ipsMessage_info'>The block key ('my_block_key') can be used in HTML templates and manual pages to fetch a specific block, for instance: <span class='ipsType_monospace'>{block="my_block_key"}</span></p><br>The key must be unique for this database. If omitted, a key will be automatically generated.]]></word>
|
||||
<word key_rus="Ключ блока не уникален" key="cms_block_key_not_unique" js="0">The block key is not unique</word>
|
||||
<word key_rus="Кешировать блок" key="block_cache" js="0">Cache this block</word>
|
||||
<word key_rus="Если в блоке содержится динамический контент, например данные пользователя, счётчики и т.д., Вы должны отключить кэширование блока." key="block_cache_desc" js="0">If your block contains dynamic elements, such as member data, database counts, etc, you will need to prevent this block from being cached.</word>
|
||||
<word key_rus="Записи" key="content_record_title_pl" js="0">Records</word>
|
||||
<word key_rus="Шаблоны блока плагина" key="content_template_type_block" js="0">Block Plugin Templates</word>
|
||||
<word key_rus="Шаблоны страниц" key="content_template_type_page" js="0">Page Templates</word>
|
||||
<word key_rus="CSS страницы" key="content_template_type_css" js="0">Page CSS</word>
|
||||
<word key_rus="JS страницы" key="content_template_type_js" js="0">Page JS</word>
|
||||
<word key_rus="Шаблоны баз данных" key="content_template_type_database" js="0">Database Templates</word>
|
||||
<word key_rus="Выберите шаблон для загрузки" key="content_template_load_file" js="0">Select a template to load</word>
|
||||
<word key_rus="Переменные" key="content_template_editor_fields_params" js="0">Variables</word>
|
||||
<word key_rus="Описание" key="content_template_editor_fields_desc" js="0">Description</word>
|
||||
<word key_rus="Название" key="content_template_editor_fields_title" js="0">Name</word>
|
||||
<word key_rus="Модифицировано" key="content_templates_modified" js="0">Modified</word>
|
||||
<word key_rus="Пользовательский" key="content_templates_custom" js="0">Custom</word>
|
||||
<word key_rus="Добавить шаблон <strong>блока</strong>" key="content_template_add_template_block" js="0"><![CDATA[Add <strong>block</strong> template]]></word>
|
||||
<word key_rus="Добавить шаблон <strong>страницы</strong>" key="content_template_add_template_page" js="0"><![CDATA[Add <strong>page</strong> template]]></word>
|
||||
<word key_rus="Добавить шаблон <strong>базы данных</strong>" key="content_template_add_template_database" js="0"><![CDATA[Add <strong>database</strong> template]]></word>
|
||||
<word key_rus="Добавить <strong>CSS</strong> файл" key="content_template_add_template_css" js="0"><![CDATA[Add <strong>CSS</strong> file]]></word>
|
||||
<word key_rus="Добавить <strong>Javascript</strong> файл" key="content_template_add_template_js" js="0"><![CDATA[Add <strong>Javascript</strong> file]]></word>
|
||||
<word key_rus="Добавить шаблон блока" key="content_template_add_template_block_title" js="0">Add block template</word>
|
||||
<word key_rus="Добавить шаблон страницы" key="content_template_add_template_page_title" js="0">Add page template</word>
|
||||
<word key_rus="Добавить шаблон базы данных" key="content_template_add_template_database_title" js="0">Add database template</word>
|
||||
<word key_rus="Добавить CSS файл" key="content_template_add_template_css_title" js="0">Add CSS file</word>
|
||||
<word key_rus="Добавить Javascript файл" key="content_template_add_template_js_title" js="0">Add Javascript file</word>
|
||||
<word key_rus="Название" key="template_title" js="0">Name</word>
|
||||
<word key_rus="Параметры" key="template_params" js="0">Parameters</word>
|
||||
<word key_rus="Описание" key="template_description" js="0">Description</word>
|
||||
<word key_rus="Категория" key="template_container" js="0">Category</word>
|
||||
<word key_rus="Категория" key="content_template_editor_fields_container" js="0">Category</word>
|
||||
<word key_rus="Тип" key="content_rel_type" js="0">Type</word>
|
||||
<word key_rus="Контент" key="template_content" js="0">Content</word>
|
||||
<word key_rus="Лента" key="template_group" js="0">Feed</word>
|
||||
<word key_rus="Плагин" key="block_template_plugin_import" js="0">Plugin</word>
|
||||
<word key_rus="Тема" key="block_template_theme_import" js="0">Theme set</word>
|
||||
<word key_rus="Тип" key="template_database_group" js="0">Type</word>
|
||||
<word key_rus="Список записей (Отображается при клике на категорию)" key="cms_new_db_template_group_listing" js="0">Record Listing (Shown when clicking a category)</word>
|
||||
<word key_rus="Популярные записи (Первая страница при просмотре базы данных с популярными записами)" key="cms_new_db_template_group_featured" js="0">Featured Records (First page when viewing a database set to show featured articles)</word>
|
||||
<word key_rus="Список категорий (Первая страница при просмотре базы данных)" key="cms_new_db_template_group_categories" js="0">Category List (First page when viewing a database)</word>
|
||||
<word key_rus="Запись (Отображение записи и комментариев к ней)" key="cms_new_db_template_group_display" js="0">Record (Displays the record and comments)</word>
|
||||
<word key_rus="Форма записи (Используется при добавлении/редактировании записи)" key="cms_new_db_template_group_form" js="0">Record Form (Used when adding/editing a record)</word>
|
||||
<word key_rus="Тип шаблона" key="database_template_type" js="0">Template Type</word>
|
||||
<word key_rus="Импорт шаблонов разработчика" key="content_import_dev_templates" js="0">Import Developer Templates</word>
|
||||
<word key_rus="" key="perm_cms_block_perm__label" js="0"></word>
|
||||
<word key_rus="Просмотр блока" key="perm_cms_block_perm__view" js="0">View Block</word>
|
||||
<word key_rus="JS" key="theme_js" js="0">JS</word>
|
||||
<word key_rus="HTML" key="theme_html" js="0">HTML</word>
|
||||
<word key_rus="Присвоить к базе данных" key="database_assign_to" js="0">Assign to database</word>
|
||||
<word key_rus="Нет" key="cms_new_db_assign_to_db_none" js="0">None</word>
|
||||
<word key_rus="Существующая группа" key="template_group_existing" js="0">Existing Group</word>
|
||||
<word key_rus="Новая группа" key="template_group_new" js="0">New Group</word>
|
||||
<word key_rus="Пожалуйста, используйте только a-z и 0-9 без каких-либо специальных символов или пробелов. Название группы должно начинаться с буквы или подчеркивания." key="template_group_new_desc" js="0">Please use only a-z and 0-9 without any special characters or spaces. The group name must start with a letter or underscore.</word>
|
||||
<word key_rus="Пожалуйста, используйте только a-z и 0-9 без каких-либо специальных символов или пробелов. Заголовок должен начинаться с буквы или подчеркивания." key="template_title_desc" js="0">Please use only a-z and 0-9 without any special characters or spaces. The title must start with a letter or underscore.</word>
|
||||
<word key_rus="Редактирование темы недоступно из админцентра, т.к. у вас включён режим дизайнера<br /><a href='%s'>Выключить режим дизайнера.</a>" key="cms_theme_designer_mode_warning" js="0"><![CDATA[Theme editing is currently unavailabe in the ACP as you have designers' mode enabled.<br /><a href='%s'>Switch off designers' mode.</a>]]></word>
|
||||
<word key_rus="Скачать шаблоны" key="cms_templates_export_title" js="0">Download Templates</word>
|
||||
<word key_rus="Выберите шаблоны для экспорта из списка ниже. Эти шаблоны будут добавлены в один XML файл, который можно импортировать в другие сообщества, работающие на IPS4." key="cms_templates_export_description" js="0">Select the templates to export from the list below. These templates will be added to a single XML file that can be imported to other IPS4 communities.</word>
|
||||
<word key_rus="Блоки" key="templates_block" js="0">Blocks</word>
|
||||
<word key_rus="База данных" key="templates_database" js="0">Database</word>
|
||||
<word key_rus="Страницы" key="templates_page" js="0">Pages</word>
|
||||
<word key_rus="Вы должны выбрать шаблоны для экспорта" key="cms_no_templates_selected" js="0">You must select templates to export</word>
|
||||
<word key_rus="Загрузить шаблоны" key="cms_templates_import_title" js="0">Upload Templates</word>
|
||||
<word key_rus="Загрузить" key="cms_templates_import" js="0">Upload</word>
|
||||
<word key_rus="Шаблоны импортированы" key="cms_templates_imported" js="0">Templates Imported</word>
|
||||
<word key_rus="Настройки групп шаблонов базы данных" key="cms_template_database_options" js="0">Database template group options</word>
|
||||
<word key_rus="Название группы" key="cms_database_group_name" js="0">Group Name</word>
|
||||
<word key_rus="Пожалуйста, используйте только a-z и 0-9 без пробелов и специальных символов. Название группы должно начинаться с буквы или подчеркивания. Вы можете использовать подчеркивание, которое будет отображаться пробелом при просмотре шаблонов." key="cms_database_group_name_desc" js="0">Please use only a-z and 0-9 without any special characters or spaces. The group name must start with a letter or underscore. You can use an underscore, which will show as a space when viewing templates.</word>
|
||||
<word key_rus="Шаблон используется: %s" key="cms_database_template_used_in" js="0">This template is used by: %s</word>
|
||||
<word key_rus="База данных: %s" key="page_database_display" js="0">Contains database: %s</word>
|
||||
<word key_rus="Изменить директорию" key="content_edit_folder" js="0">Edit Folder</word>
|
||||
<word key_rus="Добавить директорию" key="content_add_folder" js="0">Add Folder</word>
|
||||
<word key_rus="Добавить страницу" key="content_add_page" js="0">Add Page</word>
|
||||
<word key_rus="Изменить страницу" key="content_edit_page" js="0">Edit Page</word>
|
||||
<word key_rus="Редактирование страницы %s" key="content_editing_page" js="0">Editing Page %s</word>
|
||||
<word key_rus="Название директории" key="folder_name" js="0">Folder Name</word>
|
||||
<word key_rus="Родительская директория" key="folder_parent_id" js="0">Folder Parent</word>
|
||||
<word key_rus="Это название уже используется. Пожалуйста, выберите другое." key="content_folder_name_in_use" js="0">This folder name is already in use. Please choose another name.</word>
|
||||
<word key_rus="Это название страницы уже используется. Пожалуйста, выберите другое." key="content_page_file_name_in_use" js="0">This page file name is already in use. Please choose another name.</word>
|
||||
<word key_rus="" key="perm_content_page_perm__label" js="0"></word>
|
||||
<word key_rus="Просмотр страницы" key="perm_content_page_perm__view" js="0">View Page</word>
|
||||
<word key_rus="Детали" key="content_page_form_tab__details" js="0">Details</word>
|
||||
<word key_rus="Заголовок и мета-теги" key="content_page_form_tab__meta" js="0"><![CDATA[Title & Meta Tags]]></word>
|
||||
<word key_rus="Контент" key="content_page_form_tab__content" js="0">Content</word>
|
||||
<word key_rus="Название страницы" key="page_name" js="0">Page Name</word>
|
||||
<word key_rus="Заголовок страницы" key="page_title" js="0">Page Title</word>
|
||||
<word key_rus="Это значение будет использовано в теге title HTML документа. Если не указано, будет использовано название страницы." key="page_title_desc" js="0">This value will be used in the document's HTML title tag. If omitted, the page name will be used instead.</word>
|
||||
<word key_rus="Название файла страницы" key="page_seo_name" js="0">Page Filename</word>
|
||||
<word key_rus="Папка страницы" key="page_folder_id" js="0">Page Folder</word>
|
||||
<word key_rus="Ключевые слова" key="page_meta_keywords" js="0">Meta Keywords</word>
|
||||
<word key_rus="Описание" key="page_meta_description" js="0">Meta Description</word>
|
||||
<word key_rus="Показать боковой блок сайта на этой странице" key="page_show_sidebar" js="0">Show the suite sidebar on this page</word>
|
||||
<word key_rus="Редактор контента" key="page_type" js="0">Content Editor</word>
|
||||
<word key_rus="Строительство страницы" key="page_type_builder" js="0">Page Builder</word>
|
||||
<word key_rus="Создание страницы с помощью перетаскивания на неё блоков с информацией" key="page_type_builder_desc" js="0">A visual editor for drag and drop page creation</word>
|
||||
<word key_rus="Ручной HTML" key="page_type_manual" js="0">Manual HTML</word>
|
||||
<word key_rus="Редактор кода для полного управления содержимым страницы" key="page_type_manual_desc" js="0">A code level editor for complete control</word>
|
||||
<word key_rus="Использовать HTML обложку сайта" key="page_ipb_wrapper" js="0">Use suite HTML wrapper</word>
|
||||
<word key_rus="Содержимое вашей страницы с хэдером и футером сайта. Если вы выберете 'Нет', вам необходимо будет писать HTML страницу полностью (включая doctype, head, body, и другие теги)" key="page_ipb_wrapper_desc" js="0">Outputs your page within the suite header/footer wrapper. If you select 'No', you will be responsible for the full page html (including doctype, head, body, etc. tags)</word>
|
||||
<word key_rus="Не удалось загрузить страницу для редактирования" key="content_err_no_page" js="0">Could not load a page to edit</word>
|
||||
<word key_rus="Редактирование контента страницы для %s" key="content_edit_page_content_title" js="0">Editing page content for %s</word>
|
||||
<word key_rus="Контент" key="page_content" js="0">Content</word>
|
||||
<word key_rus="Установить стандартной страницей директории" key="content_default_page" js="0">Make default page for this folder</word>
|
||||
<word key_rus="Страница" key="content_database_form_options_page" js="0">Page</word>
|
||||
<word key_rus="Вы можете дополнительно создать страницу для этой базы данных. После создания, вы можете редактировать страницу в обычном режиме." key="content_database_form_options_page_msg" js="0">You may optionally create a page for this database. After creation, you may edit the page as normal.</word>
|
||||
<word key_rus="Страница базы данных" key="database_create_page" js="0">Database page</word>
|
||||
<word key_rus="Я добавлю эту базу данных на существующую страницу" key="database_create_page_existing" js="0">I will add this database into an existing page</word>
|
||||
<word key_rus="Я хочу создать новую страницу для этой базы данных" key="database_create_page_new" js="0">I want to create a new page for this database</word>
|
||||
<word key_rus="Страница не может быть сохранена: %s" key="content_err_page_save_exception" js="0">Page could not be saved: %s</word>
|
||||
<word key_rus="Эта базы данных не была добавлена на на одну страницу" key="cms_err_db_page_never_used" js="0">This database was never added to any pages</word>
|
||||
<word key_rus="Страница может быть иметь только одну базу данных" key="cms_err_db_already_on_page" js="0">A page may only have one database embedded</word>
|
||||
<word key_rus="Эта база данных не существует." key="cms_err_db_does_not_exist" js="0">That database does not exist.</word>
|
||||
<word key_rus="Добавленная база данных уже используется на другой странице." key="cms_err_db_in_use_other_page" js="0">The database added is being used by another page.</word>
|
||||
<word key_rus="Вы cможете редактировать контент этой страницы после её создания." key="content_acp_page_builder_msg_new" js="0">You can edit this page's content by visiting the page once it has been created.</word>
|
||||
<word key_rus="Вы можете редактировать содержимое этой страницы посетив <a href='%s' target='_blank'>саму страницу.</a>" key="content_acp_page_builder_msg_edit" js="0"><![CDATA[You can edit this page's content by visiting the <a href='%s' target='_blank'>page.</a>]]></word>
|
||||
<word key_rus="Открыть строитель страницы" key="content_launch_page_builder" js="0">Open page builder</word>
|
||||
<word key_rus="Просмотр страницы" key="content_launch_page_view" js="0">View page</word>
|
||||
<word key_rus="Тема" key="page_theme" js="0">Theme</word>
|
||||
<word key_rus="Выберите тему для страницы. Тема используется для стандартных виджетов и глобального шаблона." key="page_theme_desc" js="0">Select which theme to use for this page. The theme is used for default widgets and the global template.</word>
|
||||
<word key_rus="Стандартная тема" key="cms_page_theme_id_default" js="0">Default Theme</word>
|
||||
<word key_rus="Шаблон" key="page_template" js="0">Template</word>
|
||||
<word key_rus="Выберите шаблон для строителя страницы. Изменение этого для существующей страницы может утерять макеты существующих виджетов." key="page_template_desc" js="0">Select which template to use for the page builder. Changing this for an existing page may lose any existing widget layouts.</word>
|
||||
<word key_rus="Просмотр страницы" key="content_launch_page" js="0">View Page</word>
|
||||
<word key_rus="Используется на странице: %s" key="cms_db_used_on_page" js="0">Used on page: %s</word>
|
||||
<word key_rus="Это название директории не может быть использовано, т.к. может переплетаться с другим установленным приложением." key="content_folder_name_furl_collision" js="0">This folder name cannot be used as it causes a URL collision with another installed application.</word>
|
||||
<word key_rus="Это название страницы не может быть использовано, т.к. существует директория с таким же названием." key="content_folder_name_furl_collision_pages" js="0">This page name cannot be used as it causes a URL collision with a folder in the same location.</word>
|
||||
<word key_rus="Это название страницы не может быть использовано, т.к. может привести к конфликту с ЧПУ другого приложения." key="content_folder_name_furl_collision_pages_app" js="0">This page name cannot be used as it causes a URL collision with a friendly URL from another application.</word>
|
||||
<word key_rus="Это название директории не может быть использовано, т.к. может привести к конфликту URL-адреса с другой страницей." key="content_folder_name_furl_collision_folder" js="0">This folder name cannot be used as it causes a URL collision with a page in the same location.</word>
|
||||
<word key_rus="Включения в страницу" key="content_page_form_tab__includes" js="0">Page Includes</word>
|
||||
<word key_rus="Javascript" key="page_includes_js" js="0">Javascript</word>
|
||||
<word key_rus="CSS" key="page_includes_css" js="0">CSS</word>
|
||||
<word key_rus="Включения в страницу не будут работать, если в контенте или в пользовательском шаблоне нет следующих тегов:<br><span class='ipsType_monospace'>{template='includeCSS' app='core' group='global' location='global' params=''} {template='includeJS' app='core' group='global' location='global' params=''}</span>" key="cms_page_includes_message" js="0"><![CDATA[Page includes will not work unless your content or custom wrapper template contains the following tags:<br><span class='ipsType_monospace'>{template="includeCSS" app="core" group="global" location="global" params=""} {template="includeJS" app="core" group="global" location="global" params=""}</span>]]></word>
|
||||
<word key_rus="Обёртка страницы" key="page_wrapper_template" js="0">Page Wrapper</word>
|
||||
<word key_rus="Шаблон обёртки для этой страницы" key="page_wrapper_template_desc" js="0">Wrapper template for this page</word>
|
||||
<word key_rus="Нет" key="cms_page_wrapper_template_none" js="0">None</word>
|
||||
<word key_rus="Синтаксис тегов или логика HTML имеет некорректный формат." key="cms_page_error_bad_syntax" js="0">The syntax of tags or HTML logic is badly formatted.</word>
|
||||
<word key_rus="Расширенные настройки" key="cms_pages_settings" js="0">Advanced Settings</word>
|
||||
<word key_rus="Использовать шлюз для корня вашего сайта?" key="cms_use_different_gateway" js="0">Use a gateway under your suite root?</word>
|
||||
<word key_rus="Вы можете активировать настройку, если ваш IPS Community Suite установлен в поддиректорию, но хотите чтобы приложение Страницы было корнем вашего сайта. <a href='{external.devdocs-pages_different_root}' target='_blank'>Подробнее</a>" key="cms_use_different_gateway_desc" js="0"><![CDATA[You can enable this if you have your suite installed in a sub directory but want Pages to appear as your website root. <a href='{external.devdocs-pages_different_root}' target='_blank'>More information</a>]]></word>
|
||||
<word key_rus="URL до файла шлюза" key="cms_root_page_url" js="0">URL to gateway file</word>
|
||||
<word key_rus="URL не найден." key="pages_gateway_url_not_exist" js="0">The URL could not be found.</word>
|
||||
<word key_rus="Ваш IPS 4 уже установлен в корневую директорию домена." key="cms_pages_different_gateway_impossible" js="0">Your IPS 4 suite is already installed at the root of your domain.</word>
|
||||
<word key_rus="Не удалось загрузить приложение Страницы в этом местоположении. Вы загрузили файл 'index.php'?" key="pages_different_gateway_load_error" js="0">Could not load Pages in this location. Have you uploaded the 'index.php' file?</word>
|
||||
<word key_rus="Не удалось загрузить приложение Страницы в этом местоположении. Вы загрузили файл 'index.php' и установили файл '.htaccess'? <a href='{external.devdocs-pages_different_root}' target='_blank'>Подробнее</a>" key="pages_different_gateway_load_error_rewrite" js="0"><![CDATA[Could not load Pages in this location. Have you uploaded the 'index.php' file and installed the .htaccess file? <a href='{external.devdocs-pages_different_root}' target='_blank'>More information</a>]]></word>
|
||||
<word key_rus="Для поддержки этого вы должны <a href='{internal.app=cms&module=pages&controller=pages&do=htaccess}'><strong><u>скачать этот файл</u></strong></a>, переименовать его в '.htaccess' (без расширения файла) и загрузить его туда же, где расположен специальный файл 'index.php' для Страниц. Если файл .htaccess уже существует. Добавьте содержимое скачанного файла в уже существующий.<br>Если вы не знаете, как это сделать, обратитесь в службу технической поддержки за помощью." key="cms_root_page_url_rewrite_desc" js="0"><![CDATA[In order to support this you must <a href='{internal.app=cms&module=pages&controller=pages&do=htaccess}'><strong><u>download this file</u></strong></a>, rename it to '.htaccess' (with no file extension) and upload it to the same location as the special 'index.php' for Pages. If there is already a .htaccess file, add the contents of this one to the existing.<br>If you are not sure how to do this, contact technical support for assistance.]]></word>
|
||||
<word key_rus="Блоки" key="cms_tag_blocks" js="0">Blocks</word>
|
||||
<word key_rus="Базы данных" key="cms_tag_databases" js="0">Databases</word>
|
||||
<word key_rus="Страницы" key="cms_tag_pages" js="0">Pages</word>
|
||||
<word key_rus="Страница ошибки" key="cms_error_page" js="0">Error Page</word>
|
||||
<word key_rus="Собственная страница ошибки будет отображаться при возникновении ошибки в работе сообщества." key="cms_error_page_desc" js="0">A custom error page will be shown when the suite displays an error. Page builder pages are not suitable for error pages.</word>
|
||||
<word key_rus="Не использовать собственную страницу ошибки" key="cms_error_page_none" js="0">Do not use a custom error page</word>
|
||||
<word key_rus="Сообщение об ошибке" key="cms_error_page_message" js="0">Error Message</word>
|
||||
<word key_rus="Код ошибки" key="cms_error_page_code" js="0">Error Code</word>
|
||||
<word key_rus="Настройки главной страницы" key="cms_articles_homepage_form" js="0">Homepage Options</word>
|
||||
<word key_rus="Переместить страницы в корень (без папки)" key="cms_move_to_root" js="0">Move pages to root level (no folder)</word>
|
||||
<word key_rus="Переместить страницы в" key="cms_move_pages" js="0">Move pages to</word>
|
||||
<word key_rus="Страница" key="menu_content_page" js="0">Page</word>
|
||||
<word key_rus="Меню" key="content_page_form_tab__menu" js="0">Menu</word>
|
||||
<word key_rus="Добавить пункт в основное меню" key="page_add_to_menu" js="0">Add to front navigation menu</word>
|
||||
<word key_rus="Заголовок" key="menu_title_page_type" js="0">Title</word>
|
||||
<word key_rus="Использовать заголовок страницы." key="menu_title_page_inherit" js="0">Use the page name.</word>
|
||||
<word key_rus="Я введу собственный заголовок." key="menu_title_page_custom" js="0">I will enter a different title.</word>
|
||||
<word key_rus="Заголовок" key="menu_title_page" js="0">Title</word>
|
||||
<word key_rus="Вы можете оставить это поле пустым, чтобы использовать заголовок страницы." key="menu_title_page_desc" js="0">You may leave this blank to use the page's title.</word>
|
||||
<word key_rus="Родитель" key="menu_parent" js="0">Parent</word>
|
||||
<word key_rus="Заголовок" key="field_title" js="0">Title</word>
|
||||
<word key_rus="Описание" key="field_description" js="0">Description</word>
|
||||
<word key_rus="Тип" key="field_type" js="0">Type</word>
|
||||
<word key_rus="Контент" key="field_extra" js="0">Content</word>
|
||||
<word key_rus="Проверка ввода данных" key="field_validator" js="0">Custom Input Validation</word>
|
||||
<word key_rus="Уникальное поле" key="field_unique" js="0">Unique Field</word>
|
||||
<word key_rus="При включении этого параметра, поле может принимать только уникальные значения для каждой базы данных." key="field_unique_desc" js="0">This field can only accept unique values per database when this setting is enabled.</word>
|
||||
<word key_rus="Значение уже используется в %s" key="field_unique_entry_not_unique" js="0">This value is being used in another %s</word>
|
||||
<word key_rus="Нет" key="content_validator_none" js="0">None</word>
|
||||
<word key_rus="Обычное" key="content_validator_custom" js="0">Custom</word>
|
||||
<word key_rus="Email адрес" key="content_validator_email" js="0">Email Address</word>
|
||||
<word key_rus="Целое число" key="content_validator_integer" js="0">Integer</word>
|
||||
<word key_rus="URL" key="content_validator_url" js="0">URL</word>
|
||||
<word key_rus="Применить форматирование текста" key="field_format_opts_on" js="0">Apply text formatter</word>
|
||||
<word key_rus="Все буквы нижнего регистра" key="content_format_strtolower" js="0">Lower-case all letters</word>
|
||||
<word key_rus="Все буквы заглавные" key="content_format_strtoupper" js="0">Capitalize all letters</word>
|
||||
<word key_rus="Первая буква заглавная" key="content_format_ucfirst" js="0">Capitalize the first letter</word>
|
||||
<word key_rus="Первая буква заглавная у кажого слова" key="content_format_ucwords" js="0">Capitalize the first letter of each word</word>
|
||||
<word key_rus="Удалить лишние знаки пунктуации" key="content_format_punct" js="0">Remove excess punctuation</word>
|
||||
<word key_rus="Числовой формат" key="content_format_numerical" js="0">Format Numerically</word>
|
||||
<word key_rus="Регулярное выражение" key="field_validator_custom" js="0">Regex</word>
|
||||
<word key_rus="Пользовательская ошибка" key="field_validator_error" js="0">Custom Error</word>
|
||||
<word key_rus="Максимальная длина" key="field_max_length" js="0">Max. Length</word>
|
||||
<word key_rus="Параметры форматирования" key="field_format_opts" js="0">Formatting Options</word>
|
||||
<word key_rus="Показать в списке записей" key="field_display_listing" js="0">Show in listing template</word>
|
||||
<word key_rus="Шаблон списка записей используется при отображении списка записей в категории" key="field_display_listing_desc" js="0">The listing template is used when showing a list of records inside a category</word>
|
||||
<word key_rus="Показать при отображении записи" key="field_display_display" js="0">Show in display template</word>
|
||||
<word key_rus="Шаблон отображения используется при просмотре записи" key="field_display_display_desc" js="0">The display template is used when showing a record</word>
|
||||
<word key_rus="Формат темы" key="field_topic_format" js="0">Topic Format</word>
|
||||
<word key_rus="Эта настройка позволяет настроить возможность включения поля в автоматически генерируемую тему, и его форматирование. Используйте {title} для названия поля, и {value} для значения поля. Оставьте пустым, чтобы не включать в автоматически генерируемую тему." key="field_topic_format_desc" js="0">This setting controls whether the field will be included in the automatically generated topic, and how to format it. Use {title} for field title, and {value} for field value. Leave empty to not include in the automatically generated topic.</word>
|
||||
<word key_rus="Параметры отображения" key="field_displayoptions" js="0">Display options</word>
|
||||
<word key_rus="Обрезать в списке" key="field_truncate" js="0">Truncate in listing</word>
|
||||
<word key_rus="Количество строк для урезания поля в шаблоне списка записей." key="field_truncate_desc" js="0">Number of lines to truncate field content at in listing template.</word>
|
||||
<word key_rus="Обязательное поле" key="field_required" js="0">Field Required</word>
|
||||
<word key_rus="Разрешить HTML" key="field_html" js="0">Accept HTML</word>
|
||||
<word key_rus="Если эта настройка активирована, пользователи с доступом редактирования этого поля, смогут публиковать HTML код. Позволяя пользователям публиковать HTML код, вы подвергаете ваш сайт опасности. Настоятельно рекомендуется активировать эту настройку только для проверенных групп пользователей." key="field_html_warning" js="0">When enabled, users with permission to edit this field will be able to post raw HTML. Allowing users to post HTML is extremely dangerous and malicious users can use the feature to damage your site. It is strongly recommended that this feature is not enabled at all, or only for trusted staff groups</word>
|
||||
<word key_rus="Показать карту" key="field_show_map_listing" js="0">Show Map</word>
|
||||
<word key_rus="Не рекомендуется отображать карту на странице списка записей в стандартных шаблонах" key="field_show_map_listing_desc" js="0">It is not recommended that you show a map on the listing page without a custom template due to space in the default templates</word>
|
||||
<word key_rus="Показать карту" key="field_show_map_display" js="0">Show Map</word>
|
||||
<word key_rus="Размер карты" key="field_show_map_listing_dims" js="0">Map Size</word>
|
||||
<word key_rus="Размер карты" key="field_show_map_display_dims" js="0">Map Size</word>
|
||||
<word key_rus="Просмотреть контент поля" key="perm_content_field_perm__view" js="0">View Field Content</word>
|
||||
<word key_rus="Изменить контент поля" key="perm_content_field_perm__edit" js="0">Edit Field Content</word>
|
||||
<word key_rus="Добавить контент в поле" key="perm_content_field_perm__add" js="0">Add Content to Field</word>
|
||||
<word key_rus="Группы" key="perm_content_field_perm__label" js="0">Groups</word>
|
||||
<word key_rus="Значение по умолчанию" key="field_default_value" js="0">Default Value</word>
|
||||
<word key_rus="Разрешить фильтрацию" key="field_filter" js="0">Allow filtering</word>
|
||||
<word key_rus="Если включено, вы можете выбрать эту опцию для фильтрации при просмотре списка записей." key="field_filter_desc" js="0">When enabled, you may select this option to filter by when viewing a list of records.</word>
|
||||
<word key_rus="Разрешить поиск" key="field_is_searchable" js="0">Allow searching</word>
|
||||
<word key_rus="Заголовок" key="content_fields_is_title" js="0">Title</word>
|
||||
<word key_rus="Контент" key="content_fields_is_content" js="0">Content</word>
|
||||
<word key_rus="Публичные поля" key="content_fields_fixed_title" js="0">Publish Fields</word>
|
||||
<word key_rus="Дата публикации" key="content_fields_fixed_record_publish_date" js="0">Publish Date</word>
|
||||
<word key_rus="Это поле будет доступно только тем, у кого есть разрешение 'Можно устанавливать будущую дату публикации'." key="content_fields_fixed_record_publish_date_desc" js="0">This field will only be available for those with 'Can set a future publishing date' moderator permission.</word>
|
||||
<word key_rus="Дата истечения срока" key="content_fields_fixed_record_expiry_date" js="0">Expiry Date</word>
|
||||
<word key_rus="Разрешить Комментарии/Отзывы" key="content_fields_fixed_record_allow_comments" js="0">Allow Comments/Reviews</word>
|
||||
<word key_rus="Дата отключения комментариев" key="content_fields_fixed_record_comment_cutoff" js="0">Comment Cut Off Date</word>
|
||||
<word key_rus="Изображение записи" key="content_fields_fixed_record_image" js="0">Record Image</word>
|
||||
<word key_rus="Группы пользователей" key="content_perm_fixed_fields__label" js="0">Member Groups</word>
|
||||
<word key_rus="Просмотр контента поля" key="content_perm_fixed_fields__view" js="0">View Field Content</word>
|
||||
<word key_rus="Редактирование контента поля" key="content_perm_fixed_fields__edit" js="0">Edit Field Content</word>
|
||||
<word key_rus="Добавление контента поля" key="content_perm_fixed_fields__add" js="0">Add Content to Field</word>
|
||||
<word key_rus="Видимо" key="content_field_toggle_visibile" js="0">Visible</word>
|
||||
<word key_rus="Скрыто" key="content_field_toggle_invisibile" js="0">Hidden</word>
|
||||
<word key_rus="Введённое значение неверно" key="content_exception_invalid_custom_validation" js="0">The value entered is incorrect</word>
|
||||
<word key_rus="Поля формы" key="content_content_form_header__fields" js="0">Form Fields</word>
|
||||
<word key_rus="Использовать поля" key="category_fields" js="0">Use Fields</word>
|
||||
<word key_rus="Назначенные поля Заголовок и Контент будут всегда отображены при просмотре записи." key="category_fields_desc" js="0">The designated title and content fields are always shown on display and on the form.</word>
|
||||
<word key_rus="Редактирование поля %s" key="cms_edit_field" js="0">Editing field %s</word>
|
||||
<word key_rus="Добавить поле" key="cms_add_field" js="0">Add field</word>
|
||||
<word key_rus="Редактируемое при просмотре записи" key="field_display_commentform" js="0">Editable when viewing a record</word>
|
||||
<word key_rus="Это позволяет редактировать значение поля без редактирования всей записи." key="field_display_commentform_desc" js="0">This allows the field value to be changed without editing the record.</word>
|
||||
<word key_rus="<em>Не имеет значения</em>" key="field_no_value_entered" js="0"><![CDATA[<em>No value</em>]]></word>
|
||||
<word key_rus="Установить как поле заголовка записи" key="cms_set_field_as_title" js="0">Set as record title field</word>
|
||||
<word key_rus="Установить как поле контента записи" key="cms_set_field_as_content" js="0">Set as record content field</word>
|
||||
<word key_rus="Не удалось найти это дополнительное поле" key="cms_cannot_find_field" js="0">Cannot locate that custom field</word>
|
||||
<word key_rus="Лейбл" key="cms_badge_label" js="0">Label</word>
|
||||
<word key_rus="Значение" key="cms_badge_value" js="0">Value</word>
|
||||
<word key_rus="Формат отображения записи" key="field_display_display_json_badge" js="0">Display View Format</word>
|
||||
<word key_rus="Указать" key="field_display_custom" js="0">Custom</word>
|
||||
<word key_rus="Собственное форматирование" key="field_display_display_json_custom" js="0">Display Custom Format</word>
|
||||
<word key_rus="Используйте {$label} для отображения лейбла поля, {$value} для отображения значения поля и {$formValue} для значения из формы.<br />Например, Вы используете выпадающий список с ключом 'open' со значением 'Open Record'. В этом примере {$formValue} будет содержать 'open' и {$value} - 'Open Record'. Вам может понадобиться модификатор '|raw' для сохранения HTML кода, например {$value|raw}, но это может привести к проблемам с безопасностью, если не использовать это с особой осторожностью. Вы можете использовать логику шаблонов IPS4, например {{if}}.<br>При использовании поля адреса, вы можете использовать тег {map} и тег адреса - {address}.<br>При использовании поля мультизагрузки, $value представляет собой массив из загруженных файлов." key="field_display_display_json_custom_desc" js="0"><![CDATA[Use {$label} to show the field label, {$value} to show the display field value and {$formValue} to show the value from the form.<br />For example, your dropdown may use a key of 'open' with a value of 'Open Record'. In this example, {$formValue} would contain 'open' and {$value} would contain 'Open Record'. You may need to add the '|raw' modifier to preserve HTML, i.e. {$value|raw}, but this can introduce security issues if not used carefully. You may use IPS4 template logic such as {{if}}.<br>If using an Address field, you can show a map by using {map} and the address with {address}.<br>If using mulitple uploads, $value is an array of File Objects.]]></word>
|
||||
<word key_rus="Формат списка записей" key="field_display_listing_json_badge" js="0">Listing View Format</word>
|
||||
<word key_rus="Собственное форматирование " key="field_display_listing_json_custom" js="0">Listing Custom Format</word>
|
||||
<word key_rus="Используйте {$label} для отображения лейбла поля, {$value} для отображения значения поля и {$formValue} для значения из формы.<br />Например, Вы используете выпадающий список с ключом 'open' со значением 'Open Record'. В этом примере {$formValue} будет содержать 'open' и {$value} - 'Open Record'. Вам может понадобиться модификатор '|raw' для сохранения HTML кода, например {$value|raw}, но это может привести к проблемам с безопасностью, если не использовать это с особой осторожностью. Вы можете использовать логику шаблонов IPS4, например {{if}}.<br>При использовании поля адреса, вы можете использовать тег {map} и тег адреса - {address}.<br>При использовании поля мультизагрузки, $value представляет собой массив из загруженных файлов." key="field_display_listing_json_custom_desc" js="0"><![CDATA[Use {$label} to show the field label, {$value} to show the display field value and {$formValue} to show the value from the form.<br />For example, your dropdown may use a key of 'open' with a value of 'Open Record'. You may need to add the '|raw' modifier to preserve HTML, i.e. {$value|raw}, but this can introduce security issues if not used carefully. You may use IPS4 template logic such as {{if}}.<br>If using an Address field, you can show a map by using {map} and the address with {address}.<br>If using mulitple uploads, $value is an array of File Objects.]]></word>
|
||||
<word key_rus="Отображать справа в области списка" key="field_display_listing_json_badge_right" js="0">Show to the right of the listing area</word>
|
||||
<word key_rus="Неверный HTML синтаксис" key="cms_field_error_bad_syntax" js="0">The HTML syntax for the custom format is incorrect.</word>
|
||||
<word key_rus="Ключ шаблона" key="field_key" js="0">Template Key</word>
|
||||
<word key_rus="<p class='ipsMessage ipsMessage_info'>Ключ поля можно использовать в HTML шаблонах для отображения определённого поля, например: <span class='ipsType_monospace'>{$record->customFieldDisplayByKey('my_key', 'listing')|raw}</span></p><br>Ключ должен быть уникальным для этой базы данных. Если ключ не указан, он будет сгенерирован автоматически. Допустимые значения для второго параметра 'listing', 'display', 'raw', и 'processed'." key="field_key_desc" js="0"><![CDATA[<p class='ipsMessage ipsMessage_info'>The field key can be used in HTML templates to fetch a specific field, for instance: <span class='ipsType_monospace'>{$record->customFieldDisplayByKey('my_key', 'listing')|raw}</span></p><br>The key must be unique for this database. If omitted, a key will be automatically generated. Valid values for the second parameter include 'listing', 'display', 'raw', and 'processed'.]]></word>
|
||||
<word key_rus="Ключ поля не уникален" key="cms_field_key_not_unique" js="0">The field key is not unique</word>
|
||||
<word key_rus="Общие параметры" key="field_generaloptions" js="0">General Options</word>
|
||||
<word key_rus="Настройки" key="pfield_options" js="0">Settings</word>
|
||||
<word key_rus="Без форматирования" key="field_display_none" js="0">No formatting</word>
|
||||
<word key_rus="YouTube" key="pf_type_Youtube" js="0">YouTube</word>
|
||||
<word key_rus="Связь с базой данных" key="pf_type_Relational" js="0">Database Relationship</word>
|
||||
<word key_rus="В списке показать как" key="media_display_listing_method" js="0">In listing, show as</word>
|
||||
<word key_rus="В записи показать как" key="media_display_display_method" js="0">In a record, display as</word>
|
||||
<word key_rus="Встроенный плеер" key="media_display_as_player" js="0">Embedded Player</word>
|
||||
<word key_rus="Простой URL" key="media_display_as_url" js="0">Plain URL</word>
|
||||
<word key_rus="Параметры" key="media_params" js="0">Parameters</word>
|
||||
<word key_rus="Вы можете добавить здесь любые параметры к плееру. Если вы не указали высоту и ширину, будет использоваться значение по умолчанию" key="media_params_desc" js="0">You can add any specific player parameters here. If you do not supply 'width' and 'height', defaults will be used.</word>
|
||||
<word key_rus="Spotify" key="pf_type_Spotify" js="0">Spotify</word>
|
||||
<word key_rus="Soundcloud" key="pf_type_Soundcloud" js="0">Soundcloud</word>
|
||||
<word key_rus="Youtube URL" key="field_placeholder_youtube" js="0">Youtube URL</word>
|
||||
<word key_rus="Spotify URL" key="field_placeholder_spotify" js="0">Spotify URL</word>
|
||||
<word key_rus="Soundcloud URL" key="field_placeholder_soundcloud" js="0">Soundcloud URL</word>
|
||||
<word key_rus="Начните вводить название %s" key="field_placeholder_relational" js="0">Start typing the title of a %s</word>
|
||||
<word key_rus="Загрузить только изображений" key="cms_upload_field_is_image" js="0">Upload images only</word>
|
||||
<word key_rus="Загрузить любые файлы" key="cms_upload_field_is_not_image" js="0">Upload any files</word>
|
||||
<word key_rus="Максимальные размеры изображения" key="field_image_size" js="0">Max. image dimensions</word>
|
||||
<word key_rus="Все изображения, чьи размеры будут превышать указанные, будут автоматически изменены" key="field_image_size_desc" js="0">Any image larger that these dimensions will be resized automatically</word>
|
||||
<word key_rus="Тип загрузки" key="field_upload_is_image" js="0">Upload type</word>
|
||||
<word key_rus="Тип поля %s не существует, пожалуйста, выберите правильный тип поля." key="cms_field_no_type_warning" js="0">The custom field type %s does not exist, please select a valid field type.</word>
|
||||
<word key_rus="Это поле устанавливается в качестве заголовка записи. Заголовок не включён в список дополнительных полей при отображении в стандартных шаблонах. Здесь вы можете настроить параметры отображения, используя <span class='ipsType_monospace'>{$record->customFieldDisplayByKey('title_key', ['display|listing'])|raw}</span>. Использование <span class='ipsType_monospace'>$record->_title</span> позволит получить форматированный заголовок записи." key="field_display_opts_title" js="0"><![CDATA[This field is set to be the record title. The title is not included in the list of custom fields when displayed in the default templates. You can adjust the display options here for when using <span class='ipsType_monospace'>{$record->customFieldDisplayByKey('title_key', ['display|listing'])|raw}</span>. Using <span class='ipsType_monospace'>$record->_title</span> will always get the article formatted title.]]></word>
|
||||
<word key_rus="Это поле устанавливается в качестве контента записи. Поле контента не включено в список дополнительных полей при отображении в стандартных шаблонах. Здесь вы можете настроить параметры отображения, используя <span class='ipsType_monospace'>{$record->customFieldDisplayByKey('content_key', ['display|listing'])|raw}</span>. Использование <span class='ipsType_monospace'>$record->_content</span> позволит получить форматированный контент записи." key="field_display_opts_content" js="0"><![CDATA[This field is set to be the record content. The content field is not included in the list of custom fields when displayed in the default templates. You can adjust the display options here for when using <span class='ipsType_monospace'>{$record->customFieldDisplayByKey('content_key', ['display|listing'])|raw}</span>. Using <span class='ipsType_monospace'>$record->_content</span> will always get the article formatted content.]]></word>
|
||||
<word key_rus="Часовой пояс" key="field_date_time_override" js="0">Timezone</word>
|
||||
<word key_rus="Разрешить указание времени" key="field_date_time_time" js="0">Allow time input</word>
|
||||
<word key_rus="Часовой пояс" key="field_date_timezone" js="0">Timezone</word>
|
||||
<word key_rus="Обновить существующие записи" key="field_default_update_existing" js="0">Update existing records</word>
|
||||
<word key_rus="Это позволит обновить все существующие записи на стандартное значение." key="field_default_update_existing_desc" js="0">This will update existing records with the current default value to the new default value</word>
|
||||
<word key_rus="Разрешить мультизагрузку файлов" key="field_upload_is_multiple" js="0">Allow multiple uploads</word>
|
||||
<word key_rus="База данных" key="field_relational_db" js="0">Database</word>
|
||||
<word key_rus="Ссылки перекрёстных записей?" key="field_crosslink" js="0">Cross link records?</word>
|
||||
<word key_rus="Настройка позволяет включить отображение записей в базе данных, связанных с данной записью в другой базе данных" key="field_crosslink_desc" js="0">Enabling this option will show the records in this database related to a given record in the remote database</word>
|
||||
<word key_rus="Баз данных для выбора нет" key="cms_relational_field_no_dbs" js="0">There are no databases to select</word>
|
||||
<word key_rus="Вы должны выбрать базу данных" key="cms_relational_field_no_db_selected" js="0">You must select a database</word>
|
||||
<word key_rus="Отображение" key="field_display_display_json_where" js="0">Display</word>
|
||||
<word key_rus="Это может не иметь какого-либо эффекта при использовании собственных шаблонов" key="field_display_display_json_where_desc" js="0">This may not have any affect when using custom templates</word>
|
||||
<word key_rus="Выше контента" key="cms_field_display_top" js="0">Above the item content</word>
|
||||
<word key_rus="Ниже контента" key="cms_field_display_bottom" js="0">Under the item content</word>
|
||||
<word key_rus="Разрешить десятичные числа" key="field_number_decimals_on" js="0">Allow decimals</word>
|
||||
<word key_rus="Количество знаков после запятой" key="field_number_decimals" js="0">Number of decimal places</word>
|
||||
<word key_rus="UTC" key="field_date_tz_utc" js="0">UTC</word>
|
||||
<word key_rus="Вручную выбрать часовой пояс" key="field_date_tz_set" js="0">Manually select a timezone</word>
|
||||
<word key_rus="Использовать часовой пояс пользователя" key="field_date_tz_user" js="0">Use the viewing member's timezone</word>
|
||||
<word key_rus="Конфигурация" key="content_content_form_tab__config" js="0">Configuration</word>
|
||||
<word key_rus="Категории %s" key="content_cat_db_title" js="0">%s Categories</word>
|
||||
<word key_rus="FURL slug не уникален" key="content_cat_furl_not_unique" js="0">The FURL slug is not unique</word>
|
||||
<word key_rus="Вручную ввести FURL slug?" key="category_furl_name_choice" js="0">Manually enter Friendly URL slug?</word>
|
||||
<word key_rus="FURL Slug" key="category_furl_name" js="0">FURL Slug</word>
|
||||
<word key_rus="Родитель" key="category_parent_id" js="0">Parent</word>
|
||||
<word key_rus="Показать записи в категории?" key="category_show_records" js="0">Show Records in Listing?</word>
|
||||
<word key_rus="Установить пользовательские разрешения" key="category_has_perms" js="0">Set Custom Permissions</word>
|
||||
<word key_rus="Когда включено, вы можете выбрать разрешения группы пользователей независимо от родительской базы данных" key="category_has_perms_desc" js="0">When enabled, you can select member group permissions independently of the parent database</word>
|
||||
<word key_rus="Пользователи могут просматривать записи, опубликованные другими пользователями?" key="category_can_view_others" js="0">Users can see records posted by other users?</word>
|
||||
<word key_rus="Модераторы могут (если у них есть доступ) просматривать все записи. Вы можете использовать эту настройку для создания категории, в которой пользователи могут общаться с модераторами персонально.<br>Записи, опубликованные в этой категории, которая не позволяет другим пользователям просматривать записи, не будут отображены в боковом блоке, блоках футера и хедера." key="category_can_view_others_desc" js="0"><![CDATA[Moderators can (where they have permission) see all records. You can use this setting to create a category where users can communicate privately with staff.<br>Records posted in a category that doesn't allow others to view records will not show in any sidebar, header or footer blocks.]]></word>
|
||||
<word key_rus="Модераторы могут (если у них есть доступ) просматривать все записи. Вы можете использовать эту настройку для создания базы данных, в которой пользователи могут общаться с модераторами персонально.<br>Записи, опубликованные в этой базе данных, которая не позволяет другим пользователям просматривать записи, не будут отображены в боковом блоке, блоках футера и хедера." key="category_can_view_others_database_desc" js="0"><![CDATA[Moderators can (where they have permission) see all records. You can use this setting to create a database where users can communicate privately with staff.<br>Records posted in a database that doesn't allow others to view records will not show in any sidebar, header or footer blocks.]]></word>
|
||||
<word key_rus="Если вы выберите 'нет', в этой категории будут отображаться только подкатегории. Если выбрать 'да', будут отображаться подкатегории и записи в этой категории." key="category_show_records_desc" js="0">If you select 'no', only subcategories will be displayed in this category. If you select 'yes', subcategories and records will both be displayed.</word>
|
||||
<word key_rus="Мета-теги и заголовок" key="content_content_form_header__meta" js="0"><![CDATA[Meta Tags & Title]]></word>
|
||||
<word key_rus="Ключевые слова" key="category_meta_keywords" js="0">Meta Keywords</word>
|
||||
<word key_rus="Описание" key="category_meta_description" js="0">Meta Description</word>
|
||||
<word key_rus="Форум" key="content_content_form_tab__forum" js="0">Forum</word>
|
||||
<word key_rus="Переопределить параметры форума базы данных" key="category_forum_override" js="0">Override database forum options</word>
|
||||
<word key_rus="Заголовок категории" key="category_page_title" js="0">Category Title</word>
|
||||
<word key_rus="Это значение будет использовано в теге title документа. Если не указано, будет использовано название страницы." key="category_page_title_desc" js="0">This value will be used in the document's HTML title tag. If omitted, the page name will be used instead.</word>
|
||||
<word key_rus="Включить рейтинг?" key="category_allow_rating" js="0">Enable Star Ratings?</word>
|
||||
<word key_rus="Отображение" key="cms_categories_header_display" js="0">Display</word>
|
||||
<word key_rus="Использовать выбранный базой данных шаблон" key="cms_categories_use_database" js="0">Use database selected template</word>
|
||||
<word key_rus="Шаблон списка" key="category_template_listing" js="0">Listing Template</word>
|
||||
<word key_rus="Шаблон отображения" key="category_template_display" js="0">Display Template</word>
|
||||
<word key_rus="Данное название категории не может быть использовано." key="content_cat_furl_collision" js="0">This category name cannot be used as it is a reserved word.</word>
|
||||
<word key_rus="Дерево категорий" key="content_tree_title" js="0">Category Tree</word>
|
||||
<word key_rus="%s Записи" key="content_record_db_title" js="0">%s Records</word>
|
||||
<word key_rus="Заголовок" key="content_db_table_title" js="0">Title</word>
|
||||
<word key_rus="ID" key="content_db_table_primary_id_field" js="0">ID</word>
|
||||
<word key_rus="Дата" key="content_db_table_record_publish_date" js="0">Date</word>
|
||||
<word key_rus="Категория" key="content_db_table_category_id" js="0">Category</word>
|
||||
<word key_rus="Статус" key="content_db_table_record_approved" js="0">Status</word>
|
||||
<word key_rus="Неутверждено" key="content_db_table_unapproved" js="0">Unapproved</word>
|
||||
<word key_rus="Утверждено" key="content_db_table_filter_approved" js="0">Approved</word>
|
||||
<word key_rus="Неутверждено" key="content_db_table_filter_unapproved" js="0">Unapproved</word>
|
||||
<word key_rus="Скрыто" key="content_db_table_filter_hidden" js="0">Hidden</word>
|
||||
<word key_rus="Закреплено" key="content_db_table_filter_pinned" js="0">Pinned</word>
|
||||
<word key_rus="Любая категория" key="content_db_table_as_no_cat" js="0">Any Category</word>
|
||||
<word key_rus="Есть комментарии?" key="content_db_table_record_comments" js="0">Has Comments?</word>
|
||||
<word key_rus="Да или Нет" key="content_db_table_as_comments_null" js="0">Yes or No</word>
|
||||
<word key_rus="Да" key="content_db_table_as_comments_yes" js="0">Yes</word>
|
||||
<word key_rus="Нет" key="content_db_table_as_comments_no" js="0">No</word>
|
||||
<word key_rus="Контент" key="content_database_record_tab_content" js="0">Content</word>
|
||||
<word key_rus="Категория" key="content_record_form_container" js="0">Category</word>
|
||||
<word key_rus="Теги" key="content_record_form_tags" js="0">Tags</word>
|
||||
<word key_rus="Дата публикации" key="content_record_form_date" js="0">Publish</word>
|
||||
<word key_rus="Настройки публикации" key="content_database_record_tab_publish" js="0">Publish Settings</word>
|
||||
<word key_rus="Статус" key="record_status" js="0">Status</word>
|
||||
<word key_rus="Неутверждено" key="content_record_status_unapproved" js="0">Unapproved</word>
|
||||
<word key_rus="Утверждено" key="content_record_status_approved" js="0">Approved</word>
|
||||
<word key_rus="Скрыто" key="content_record_status_hidden" js="0">Hidden</word>
|
||||
<word key_rus="Дата публикации" key="record_publish_date" js="0">Publish date</word>
|
||||
<word key_rus="Дата истечения срока" key="record_expiry_date" js="0">Expiry date</word>
|
||||
<word key_rus="После наступления этой даты, запись будет отображаться только в архивах. Оставьте пустым, чтобы срок публикации записи не истекал." key="record_expiry_date_desc" js="0">After this date, the article will only display in the archives. Leave blank for no expiration.</word>
|
||||
<word key_rus="Автор" key="record_author_choice" js="0">Author</word>
|
||||
<word key_rus="Я автор" key="record_author_choice_me" js="0">I am the author</word>
|
||||
<word key_rus="Выбрать пользователя" key="record_author_choice_notme" js="0">Choose a member</word>
|
||||
<word key_rus="Гость" key="record_author_choice_guest" js="0">Guest</word>
|
||||
<word key_rus="Имя автора" key="record_member_id" js="0">Author's Name</word>
|
||||
<word key_rus="Комментарии" key="content_database_record_tab_comments" js="0">Comments</word>
|
||||
<word key_rus="Разрешить комментарии" key="record_allow_comments" js="0">Allow comments</word>
|
||||
<word key_rus="Комментарии заблокированы" key="record_comment_cutoff" js="0">Comments locked</word>
|
||||
<word key_rus="Оставьте пустым, чтобы не устанавливать дату блокировки" key="record_comment_cutoff_desc" js="0">Leave blank to not set a cutoff date</word>
|
||||
<word key_rus="Закрепить запись" key="record_pinned" js="0">Pin record</word>
|
||||
<word key_rus="Мета-теги" key="content_database_record_tab_meta" js="0">Meta Tags</word>
|
||||
<word key_rus="Ключевые слова" key="record_meta_keywords" js="0">Meta Keywords</word>
|
||||
<word key_rus="Описание" key="record_meta_description" js="0">Meta Description</word>
|
||||
<word key_rus="Не указывать дату" key="record_datetime_noval" js="0">No date specified</word>
|
||||
<word key_rus="Допустимые расширения файлов" key="field_allowed_extensions" js="0">Allowed file extensions</word>
|
||||
<word key_rus="Любые расширения" key="content_any_extensions" js="0">Any extensions</word>
|
||||
<word key_rus="Мультивыбор" key="field_is_multiple" js="0">Multiple Selection</word>
|
||||
<word key_rus="Удалено" key="record_deleted" js="0">Deleted</word>
|
||||
<word key_rus="Указать свой URL" key="record_static_furl_set" js="0">Set custom URL</word>
|
||||
<word key_rus="%spage/{page}/{category}/" key="record_static_url_prefix" js="0">%spage/{page}/{category}/</word>
|
||||
<word key_rus="По умолчанию, URL будет /record-title-r{record_id}. Вы можете установить свой собственный URL, отличающийся от заголовка записи." key="record_static_furl_set_desc" js="0">By default, the URL for this item will be /record-title-r{record_id}. You can set a custom URL that is different from the record title</word>
|
||||
<word key_rus="Указать свой URL" key="record_static_furl" js="0">Custom URL</word>
|
||||
<word key_rus="Этот URL уже используется. Пожалуйста, выберите уникальный URL." key="content_record_slug_not_unique" js="0">This custom URL is in use already. Please choose a unique URL.</word>
|
||||
<word key_rus="Изображение" key="record_image" js="0">Image</word>
|
||||
<word key_rus="Причина редактирования" key="record_edit_reason" js="0">Reason for edit</word>
|
||||
<word key_rus="Показать, что сообщение было отредактировано" key="record_edit_show" js="0">Show that the message has been edited</word>
|
||||
<word key_rus="Модераторы могут видеть это" key="record_edit_show_desc" js="0">Staff may still be able to see this</word>
|
||||
<word key_rus="(показать изменения)" key="content_edit_view_revisions" js="0">(show revisions)</word>
|
||||
<word key_rus="Сделать популярной эту %s" key="feature_title_record" js="0">Feature this %s</word>
|
||||
<word key_rus="Сделать обычной эту %s" key="unfeature_title_record" js="0">Unfeature this %s</word>
|
||||
<word key_rus="Закрепить эту %s" key="pin_title_record" js="0">Pin this %s</word>
|
||||
<word key_rus="Открепить эту %s" key="unpin_title_record" js="0">Unpin this %s</word>
|
||||
<word key_rus="Скрыть эту %s" key="hide_title_record" js="0">Hide this %s</word>
|
||||
<word key_rus="Показать эту %s" key="unhide_title_record" js="0">Unhide this %s</word>
|
||||
<word key_rus="Одобрить эту %s" key="approve_title_record" js="0">Approve this %s</word>
|
||||
<word key_rus="Закрыть эту %s" key="lock_title_record" js="0">Lock this %s</word>
|
||||
<word key_rus="Открыть эту %s" key="unlock_title_record" js="0">Unlock this %s</word>
|
||||
<word key_rus="Переместить эту %s" key="move_title_record" js="0">Move this %s</word>
|
||||
<word key_rus="Удалить эту %s" key="delete_title_record" js="0">Delete this %s</word>
|
||||
<word key_rus="Выбор категории" key="database_select_category" js="0">Select Category</word>
|
||||
<word key_rus="Название" key="content_database_name" js="0">Name</word>
|
||||
<word key_rus="Название" key="content_word_custom" js="0">Name</word>
|
||||
<word key_rus="Категории" key="content_database_category_count" js="0">Categories</word>
|
||||
<word key_rus="Записи" key="content_database_record_count" js="0">Records</word>
|
||||
<word key_rus="Управление записями" key="content_database_manage_records" js="0">Manage Records</word>
|
||||
<word key_rus="Разрешения" key="content_database_manage_permissions" js="0">Permissions</word>
|
||||
<word key_rus="Управление категориями" key="content_database_manage_categories" js="0">Manage Categories</word>
|
||||
<word key_rus="Управление полями" key="content_database_manage_fields" js="0">Manage Fields</word>
|
||||
<word key_rus="Поля %s" key="content_database_field_area" js="0">%s Fields</word>
|
||||
<word key_rus="Детали" key="content_database_form_details" js="0">Details</word>
|
||||
<word key_rus="Параметры" key="content_database_form_options" js="0">Options</word>
|
||||
<word key_rus="Язык" key="content_database_form_lang" js="0">Language</word>
|
||||
<word key_rus="Заголовок страницы" key="database_use_as_page_title" js="0">Page title</word>
|
||||
<word key_rus="Определите какой заголовок будет использоваться при использовании этой базы данных на странице" key="database_use_as_page_title_desc" js="0">Determine which to use when using this database on a page</word>
|
||||
<word key_rus="Использовать имя базы данных в качестве заголовка страницы" key="database_use_as_page_title_yes" js="0">Use database name as page title</word>
|
||||
<word key_rus="Использовать заголовок страницы" key="database_use_as_page_title_no" js="0">Use page title</word>
|
||||
<word key_rus="Название" key="database_name" js="0">Name</word>
|
||||
<word key_rus="Описание" key="database_description" js="0">Description</word>
|
||||
<word key_rus="Группа шаблонов категории" key="database_template_categories" js="0">Category Template Group</word>
|
||||
<word key_rus="Группа шаблонов списка записей" key="database_template_listing" js="0">Listing Template Group</word>
|
||||
<word key_rus="Группа шаблонов отображения записи" key="database_template_display" js="0">Display Template Group</word>
|
||||
<word key_rus="Существительное в единственном числе в нижнем регистре" key="database_lang_sl" js="0">Singular Lowercase Noun</word>
|
||||
<word key_rus="По умолчанию запись" key="database_lang_sl_desc" js="0">Default is record</word>
|
||||
<word key_rus="Существительное во множественном числе в нижнем регистре" key="database_lang_pl" js="0">Plural Lowercase Noun</word>
|
||||
<word key_rus="По умолчанию записи" key="database_lang_pl_desc" js="0">Default is records</word>
|
||||
<word key_rus="Существительное в единственном числе с большой буквы" key="database_lang_su" js="0">Singular Capitalized Noun</word>
|
||||
<word key_rus="По умолчанию Запись" key="database_lang_su_desc" js="0">Default is Record</word>
|
||||
<word key_rus="Существительное во множественном числе с большой буквы" key="database_lang_pu" js="0">Plural Capitalized Noun</word>
|
||||
<word key_rus="По умолчанию Записи" key="database_lang_pu_desc" js="0">Default is Records</word>
|
||||
<word key_rus="Неопределенный артикль" key="database_lang_ia" js="0">Indefinite Article</word>
|
||||
<word key_rus="По умолчанию 'запись'" key="database_lang_ia_desc" js="0">Default is 'a record'</word>
|
||||
<word key_rus="Редактирование в Wiki-стиле" key="database_all_editable" js="0">Wiki-style editing</word>
|
||||
<word key_rus="Включение этого параметра позволит <strong>любому пользователю редактировать</strong> любые незаблокированные элементы, в стиле wiki. Когда не включено, пользователи смогут редактировать только собственные незаблокированные элементы (с соответствующими разрешениями)." key="database_all_editable_desc" js="0"><![CDATA[Enabling this option will allow <strong>any user to edit</strong> any non-locked item, similar to a wiki. When not enabled, users can only edit their own non-locked item (with appropriate permissions).]]></word>
|
||||
<word key_rus="Редактировать собственные записи неопределенный срок" key="cms_bitoptions_indefinite_own_edit" js="0">Edit own records indefinitely</word>
|
||||
<word key_rus="Включение этой опции позволит автору записи редактировать собственные разблокированные и не скрытые записи неопределённый срок.<br />Если не включено, будут использованы разрешения редактирования контента <a href='{internal.app=core&module=members&controller=groups}'>групп пользователей</a>." key="cms_bitoptions_indefinite_own_edit_desc" js="0"><![CDATA[Enabling this option will allow the record author to edit their own unlocked and not hidden records indefinitely.<br />When not enabled, the <a href='{internal.app=core&module=members&controller=groups}'>member group</a> content editing permissions are used.]]></word>
|
||||
<word key_rus="Хранить изменения" key="database_revisions" js="0">Store revisions</word>
|
||||
<word key_rus="Когда пользователи или администраторы редактируют записи в этой базе данных, будет сохранена копия оригинала для возможности восстановления или сравнения" key="database_revisions_desc" js="0">When users or admins edit the items in this database, a copy of the original item will be stored which can be restored or compared later</word>
|
||||
<word key_rus="Разрешить поиск" key="database_search" js="0">Allow searching</word>
|
||||
<word key_rus="Обновление после последнего действия" key="database_comment_bump" js="0">Update the last action</word>
|
||||
<word key_rus="Используется для сортировки элементов." key="database_comment_bump_desc" js="0">The Last Action shows in the category view and is how items are sorted by default/can be used to sort items.</word>
|
||||
<word key_rus="При редактировании комментария или создании нового" key="database_comment_bump_edit_comment" js="0">When the item is edited or a new comment is made</word>
|
||||
<word key_rus="Только при редактировании комментария" key="database_comment_bump_edit" js="0">When the item is edited only</word>
|
||||
<word key_rus="Только при добавлении нового комментария" key="database_comment_bump_comment" js="0">When a new comment is made only</word>
|
||||
<word key_rus="Включить RSS ленту" key="database_rss_enable" js="0">Enable RSS feed</word>
|
||||
<word key_rus="Будет отображён контент, доступный для гостей. Для получения дополнительных возможностей, создайте <a href='{internal.app=core&module=discovery&controller=rss}'>Пользовательскую RSS ленту</a>" key="database_rss_enable_desc" js="0"><![CDATA[Only content that is available to guests will be shown. For more options, create a <a href='{internal.app=core&module=discovery&controller=rss}'>Custom RSS Feed</a>]]></word>
|
||||
<word key_rus="Количество записей для отображения" key="database_rss" js="0">Number of items to show</word>
|
||||
<word key_rus="Использовать теги?" key="database_tags_enabled" js="0">Can use tags?</word>
|
||||
<word key_rus="Можно устанавливать префиксы?" key="database_tags_noprefixes" js="0">Can set tag prefixes?</word>
|
||||
<word key_rus="Установленные теги" key="database_tags_predefined" js="0">Defined Tags</word>
|
||||
<word key_rus="Использовать по умолчанию" key="database_tags_predefined_unlimited" js="0">Use default</word>
|
||||
<word key_rus="Если используется закрытая система, пользователи должны будут выбрать теги из установленных. При открытой системе, введённые здесь теги будут доступны для выбора." key="database_tags_predefined_desc" js="0">If using a closed system, users will have to choose from these tags. If using an open system, tags entered here will show as suggestions.</word>
|
||||
<word key_rus="Параметры полей" key="content_database_form_options_fields" js="0">Field Options</word>
|
||||
<word key_rus="Сортировать по" key="sortby" js="0">Sort By</word>
|
||||
<word key_rus="Упорядочить по" key="sortdirection" js="0">Order By</word>
|
||||
<word key_rus="Сортировать" key="database_field_sort" js="0">Sort</word>
|
||||
<word key_rus="Упорядочить" key="database_field_direction" js="0">Order</word>
|
||||
<word key_rus="Записей на страницу" key="database_field_perpage" js="0">Records per page</word>
|
||||
<word key_rus="ID записи" key="database_field__id" js="0">Record ID</word>
|
||||
<word key_rus="ID пользователя" key="database_field__member" js="0">Member ID</word>
|
||||
<word key_rus="Дата добавления" key="database_field__saved" js="0">Submission Date</word>
|
||||
<word key_rus="Дата последнего обновления" key="database_field__updated" js="0">Last Updated Date</word>
|
||||
<word key_rus="Дата последнего изменения" key="database_field__edited" js="0">Last Edited Date</word>
|
||||
<word key_rus="Рейтинг" key="database_field__rating" js="0">Rating</word>
|
||||
<word key_rus="Просмотров" key="database_field__views" js="0">Views</word>
|
||||
<word key_rus="Одобрено" key="database_field__approved" js="0">Approved</word>
|
||||
<word key_rus="Комментарии" key="database_field__comments" js="0">Comments</word>
|
||||
<word key_rus="Заблокировано" key="database_field__locked" js="0">Locked</word>
|
||||
<word key_rus="По возрастанию (0-9)" key="database_sort_asc" js="0">Ascending (0-9)</word>
|
||||
<word key_rus="По убыванию (9-0)" key="database_sort_desc" js="0">Descending (9-0)</word>
|
||||
<word key_rus="Форумы" key="content_database_form_options_forums" js="0">Forums</word>
|
||||
<word key_rus="Публикация темы" key="database_forum_record" js="0">Post topic</word>
|
||||
<word key_rus="Публикация темы в специальный форум при каждом добавлении записи." key="database_forum_record__desc" js="0">Post a topic to the specific forum each time a new record is added.</word>
|
||||
<word key_rus="<a href='%s' data-ipsDialog data-ipsDialog-title='Перестроить контент синхронизированных тем'>Перестроить контент синхронизированных тем</a>." key="database_forum_record__rebuild" js="0"><![CDATA[<a href='%s' data-ipsDialog data-ipsDialog-title='Rebuild Synchronized Topic Content'>Rebuild synchronized topic content</a>.]]></word>
|
||||
<word key_rus="Использовать форум для комментариев" key="database_forum_comments" js="0">Use forum for comments</word>
|
||||
<word key_rus="Комментарии будут опубликованы в качестве ответов. Если вы измените путь хранения комментариев, существующие комментарии больше не будут отображаться. Комментарии не скопируются в форум или в во внутреннюю базу комментариев, если вы измените эту настройку." key="database_forum_comments_desc" js="0">Comments will be posted as replies. If you change the way comments are stored, your existing comments will no longer be displayed. Comments are not copied to the forums or to the internal comments database if you change this setting.</word>
|
||||
<word key_rus="Форум" key="database_forum_forum" js="0">Forum</word>
|
||||
<word key_rus="Прфекс темы" key="database_forum_prefix" js="0">Topic prefix</word>
|
||||
<word key_rus="Суффикс темы" key="database_forum_suffix" js="0">Topic suffix</word>
|
||||
<word key_rus="Удалить тему" key="database_forum_delete" js="0">Delete topic</word>
|
||||
<word key_rus="Тема будет автоматически удалена при удалении записи" key="database_forum_delete_desc" js="0">Topic will be deleted automatically if the record is deleted</word>
|
||||
<word key_rus="База данных не существует" key="database_does_not_exist" js="0">Database does not exist</word>
|
||||
<word key_rus="Просмотр базы данных" key="perm_content_perm__label" js="0"></word>
|
||||
<word key_rus="Просмотр базы данных" key="perm_content_perm__view" js="0">See Database</word>
|
||||
<word key_rus="Просмотр записей" key="perm_content_perm__read" js="0">View Records</word>
|
||||
<word key_rus="Добавление записей" key="perm_content_perm__add" js="0">Add Records</word>
|
||||
<word key_rus="Редактирование записей" key="perm_content_perm__edit" js="0">Edit Records</word>
|
||||
<word key_rus="Добавление комментариев" key="perm_content_perm__reply" js="0">Add Comments</word>
|
||||
<word key_rus="Оценка записей" key="perm_content_perm__rate" js="0">Rate Records</word>
|
||||
<word key_rus="" key="perm_content_category_perm__label" js="0"></word>
|
||||
<word key_rus="Просмотр категории" key="perm_content_category_perm__view" js="0">See Category</word>
|
||||
<word key_rus="Просмотр записей" key="perm_content_category_perm__read" js="0">View Records</word>
|
||||
<word key_rus="Добавление записей" key="perm_content_category_perm__add" js="0">Add Records</word>
|
||||
<word key_rus="Редактирование записей" key="perm_content_category_perm__edit" js="0">Edit Records</word>
|
||||
<word key_rus="Комментирование" key="perm_content_category_perm__reply" js="0">Add Comments</word>
|
||||
<word key_rus="Рейтинг" key="perm_content_category_perm__rate" js="0">Rate Records</word>
|
||||
<word key_rus="Отзывы" key="perm_content_category_perm__review" js="0">Review Records</word>
|
||||
<word key_rus="запись" key="content_database_noun_sl" js="0">record</word>
|
||||
<word key_rus="Запись" key="content_database_noun_su" js="0">Record</word>
|
||||
<word key_rus="записи" key="content_database_noun_pl" js="0">records</word>
|
||||
<word key_rus="Записи" key="content_database_noun_pu" js="0">Records</word>
|
||||
<word key_rus="запись" key="content_database_noun_ia" js="0">a record</word>
|
||||
<word key_rus="Создание базы данных не удалось: %s" key="content_acp_err_db_creation_fail" js="0">Database creation failed: %s</word>
|
||||
<word key_rus="Главная страница базы данных" key="database_cat_index_type" js="0">Database index</word>
|
||||
<word key_rus="<span data-lang='index_as_categories'>Показать категории</span>" key="database_display_index_as_categories" js="0"><![CDATA[<span data-lang='index_as_categories'>Show categories</span>]]></word>
|
||||
<word key_rus="Показать записи как статьи" key="database_display_index_as_articles" js="0">Show records like articles</word>
|
||||
<word key_rus="Записи будут отображены в формате статьи или блога, с отображением контента записи." key="database_display_index_as_articles_desc" js="0">This displays records in an article or blog format showing more of the record content.</word>
|
||||
<word key_rus="Шаблон статей" key="database_template_featured" js="0">Articles template</word>
|
||||
<word key_rus="Шаблон формы Добавить/Изменить" key="database_template_form" js="0">Add/Edit Form Template</word>
|
||||
<word key_rus="Записей для отображения" key="database_featured_perpage" js="0">Records to show</word>
|
||||
<word key_rus="Разрешить разбивку на страницы" key="database_featured_pagination" js="0">Allow pagination</word>
|
||||
<word key_rus="Если существует больше популярных записей, чем указано в настройке 'Записей для отображения', то будут отображены ссылки на другие страницы" key="database_featured_pagination_desc" js="0">If there are more featured records than the 'Records to show' value, then pagination links will show if enabled</word>
|
||||
<word key_rus="Сортировать" key="database_featured_sort" js="0">Sort by</word>
|
||||
<word key_rus="Упорядочить" key="database_featured_direction" js="0">Order</word>
|
||||
<word key_rus="Скачать базу данных" key="cms_download_db" js="0">Download Database</word>
|
||||
<word key_rus="Вы можете скачать файл с настройками базы данных, шаблонами, пользовательскими полями и категориями для загрузки в другое сообщество.<br>Записи <em>НЕ</em> экспортируются." key="cms_download_db_explain" js="0"><![CDATA[This will download a file with the database settings, templates, custom fields and categories which can be uploaded to another community.<br>Records are <em>not</em> included.]]></word>
|
||||
<word key_rus="Добавить базу данных" key="cms_database_add" js="0">Add Database</word>
|
||||
<word key_rus="Создать новую базу данных" key="cms_database_add_new" js="0">Create New Database</word>
|
||||
<word key_rus="Загрузить базу данных" key="cms_database_add_upload" js="0">Upload Database</word>
|
||||
<word key_rus="Создать новую пользовательскую базу данных для этого сообщества." key="cms_add_db_normal" js="0">Create a new custom database for this community.</word>
|
||||
<word key_rus=".xml файл базы данных" key="cms_database_import" js="0">Database .xml file</word>
|
||||
<word key_rus="Импорт %s" key="cms_db_import_progress" js="0">Importing %s</word>
|
||||
<word key_rus="Настройки базы данных" key="cms_manage_database" js="0">Database Settings</word>
|
||||
<word key_rus="Права доступа базы данных" key="cms_database_permissions" js="0">Database Permissions</word>
|
||||
<word key_rus="Использовать категории" key="database_use_categories" js="0">Use categories</word>
|
||||
<word key_rus="При желании вы можете не использовать категории, тогда в качестве главной страницы этой базы данных будет список записей, название категории не будет включено в URL." key="database_use_categories_desc" js="0">You can optionally not use categories which means that the default home page for this database is the record list, and the category name is not added to the URL.</word>
|
||||
<word key_rus="В базе данных найдено %s категорий. Вы должны иметь только 1 категорию для хранения записей непосредственно в базе данных." key="database_use_categories_impossible" js="0">You have %s categories in this database. You can only have 1 category to store records in the database directly.</word>
|
||||
<word key_rus="<strong>Да</strong>, позволять хранить записи в различных категориях" key="database_use_categories_yes" js="0"><![CDATA[<strong>Yes</strong>, allow records to be stored in different categories]]></word>
|
||||
<word key_rus="<strong>Нет</strong>, хранить записи непосредственно в базе данных" key="database_use_categories_no" js="0"><![CDATA[<strong>No</strong>, store records in the database directly]]></word>
|
||||
<word key_rus="<em>Категории не используются</em>" key="cms_db_cats_disabled" js="0"><![CDATA[<em>Categories not used</em>]]></word>
|
||||
<word key_rus="Показать только популярные записи" key="database_featured_featured" js="0">Show featured records only</word>
|
||||
<word key_rus="Разрешить комментарии" key="cms_bitoptions_comments" js="0">Allow comments</word>
|
||||
<word key_rus="Комментарии должны быть одобрены?" key="cms_bitoptions_comments_mod" js="0">Comments must be approved?</word>
|
||||
<word key_rus="Разрешить отзывы" key="cms_bitoptions_reviews" js="0">Allow reviews</word>
|
||||
<word key_rus="Отзывы должны быть одобрены?" key="cms_bitoptions_reviews_mod" js="0">Reviews must be approved?</word>
|
||||
<word key_rus="Комментарии и Отзывы" key="cms_comments_and_reviews" js="0">Comments and Reviews</word>
|
||||
<word key_rus="Добавление отзывов" key="perm_content_perm__review" js="0">Add Reviews</word>
|
||||
<word key_rus="Все категории" key="cms_all_categories" js="0">Any categories</word>
|
||||
<word key_rus="Категории" key="database_featured_categories" js="0">Categories</word>
|
||||
<word key_rus="Шаблоны" key="cms_database_form_display" js="0">Templates</word>
|
||||
<word key_rus="Ключ базы данных" key="database_key" js="0">Database Key</word>
|
||||
<word key_rus="<p class='ipsMessage ipsMessage_info'>Ключ базы данных можно использовать в HTML шаблонах и рукописных страницах для отображения определённой базы данных, например: <span class='ipsType_monospace'>{database='my_database_key'}</span></p><br>Ключ должен быть уникальным для этой базы данных. Если не указать, ключ будет сгенерирован автоматически." key="database_key_desc" js="0"><![CDATA[<p class='ipsMessage ipsMessage_info'>The database key can be used in HTML templates and manual pages to fetch a specific database, for instance: <span class='ipsType_monospace'>{database="my_database_key"}</span></p><br>The key must be unique for this database. If omitted, a key will be automatically generated.]]></word>
|
||||
<word key_rus="Ключ базы данных не уникален" key="cms_database_key_not_unique" js="0">The database key is not unique</word>
|
||||
<word key_rus="Изменение базы данных %s" key="cms_editing_database" js="0">Editing Database %s</word>
|
||||
<word key_rus="Добавление базы данных" key="cms_adding_database" js="0">Adding Database</word>
|
||||
<word key_rus="Настройки изображения записи" key="content_database_form_options_field_record_image_settings" js="0">Record Image Settings</word>
|
||||
<word key_rus="Макс. размер изображения" key="fixed_field_setting__record_image__image_dims" js="0">Max. image dimensions</word>
|
||||
<word key_rus="Размеры миниатюры" key="fixed_field_setting__record_image__thumb_dims" js="0">Thumbnail dimensions</word>
|
||||
<word key_rus="Поле изображения записи отключено." key="content_database_record_image_disabled" js="0">The record image field is currently disabled.</word>
|
||||
<word key_rus="База данных не существует" key="cms_database_not_exist" js="0">Database does not exist</word>
|
||||
<word key_rus="Модерировать новые записи" key="database_record_approve" js="0">Moderate new records</word>
|
||||
<word key_rus="Включить загрузку изображения к записи" key="database_record_image" js="0">Enable record image upload</word>
|
||||
<word key_rus="Эта настройка добавит поле загрузки изображения к записи. Изображение отображается в текстовой области записи по умолчанию." key="database_record_image_desc" js="0">This adds an image upload field to the record form. The image is displayed within the record text area by default.</word>
|
||||
<word key_rus="Эти настройки не будут применены, пока база данных не будет добавлена на страницу." key="cms_no_db_page_no_forum_link" js="0">These settings will have no affect until this database is added to a page.</word>
|
||||
<word key_rus="У вас активирована настройка публикации темы, но не выбран форум." key="cms_database_no_forum_selected" js="0">You have post topic enabled but have not selected a forum.</word>
|
||||
<word key_rus="Продвижение с форумов" key="cms_database_promote" js="0">Promote from Forums</word>
|
||||
<word key_rus="Активировать" key="cms_promote_enabled" js="0">Enable</word>
|
||||
<word key_rus="Добавить в категорию" key="cms_promote_cat" js="0">Add to category</word>
|
||||
<word key_rus="Доступно для" key="cms_promote_groups" js="0">Available for</word>
|
||||
<word key_rus="Этот инструмент добавит фоновую задачу для синхронизации контента, генерируемого в первом сообщении темы, созданной с помощью этой базы данных. Инструмент также создаст темы для записей, у которых тем не существует." key="database_rebuild_topics_desc" js="0">This tool will add a background task to resychronize the content generated in the first post of a topic created by this database. It will also create topics for records if a topic does not exist.</word>
|
||||
<word key_rus="Продолжить" key="database_rebuild_topics_button" js="0">Continue</word>
|
||||
<word key_rus="Задача перестроения добавлена в очередь" key="database_rebuild_added" js="0">Rebuild task added to the queue.</word>
|
||||
<word key_rus="Медиа" key="menu__cms_pages_media" js="0">Media</word>
|
||||
<word key_rus="Медиа" key="r__media" js="0">Media</word>
|
||||
<word key_rus="Просмотр Медиа" key="r__media_manage" js="0">View Media</word>
|
||||
<word key_rus="Добавить Медиа" key="r__media_add" js="0">Add Media</word>
|
||||
<word key_rus="Изменить Медиа" key="r__media_edit" js="0">Edit Media</word>
|
||||
<word key_rus="Удалить Медиа" key="r__media_delete" js="0">Delete Media</word>
|
||||
<word key_rus="Новая директория" key="cms_add_media_folder" js="0">New Folder</word>
|
||||
<word key_rus="Загрузить новый медиафайл" key="cms_add_media" js="0">Upload New Media</word>
|
||||
<word key_rus="Удалить выбранные" key="cms_delete_selected_media" js="0">Delete Selected</word>
|
||||
<word key_rus="Поиск медиафайлов..." key="cms_search_media" js="0">Search media...</word>
|
||||
<word key_rus="Директории" key="media_folders" js="0">Folders</word>
|
||||
<word key_rus="Обзор файлов" key="media_file_overview" js="0">File Overview</word>
|
||||
<word key_rus="Страницы медифайла" key="media_root_folder" js="0">Pages Media</word>
|
||||
<word key_rus="Тег медиафайла" key="media_tag_title" js="0">Media Tag</word>
|
||||
<word key_rus="Вставьте этот тег в страницы/шаблоны для добавления этого медиафайла." key="media_tag_desc" js="0">Insert this tag in your pages/templates to insert this media item.</word>
|
||||
<word key_rus="Название" key="media_folder_name" js="0">Name</word>
|
||||
<word key_rus="Родитель" key="media_folder_parent" js="0">Parent</word>
|
||||
<word key_rus="Предпросмотр" key="cms_media_preview" js="0">Preview</word>
|
||||
<word key_rus="Не удалось обнаружить этот медиафайл" key="cms_no_media" js="0">Could not locate that media item</word>
|
||||
<word key_rus="Название файла" key="media_filename" js="0">Filename</word>
|
||||
<word key_rus="Загружено" key="media_uploaded" js="0">Uploaded</word>
|
||||
<word key_rus="Размер файла" key="media_size" js="0">File Size</word>
|
||||
<word key_rus="Размеры" key="media_dims" js="0">Dimensions</word>
|
||||
<word key_rus="Родитель" key="media_parent" js="0">Parent</word>
|
||||
<word key_rus="Просмотр страницы и тег шаблона" key="cms_media_key" js="0"><![CDATA[View page & template tag]]></word>
|
||||
<word key_rus="Этот ключ может быть использован в блоках, страницах и шаблонах для построения URL адреса медиафайла. <br>Текущий URL: %s." key="cms_key_view" js="0"><![CDATA[This key can be used in blocks, pages and templates to fetch the URL of this media item.<br>The current URL for this item is: %s.]]></word>
|
||||
<word key_rus="Удалить директорию" key="cms_delete_folder_media" js="0">Delete Folder</word>
|
||||
<word key_rus="Категории" key="content_categories_title" js="0">Categories</word>
|
||||
<word key_rus="Подкатегории" key="content_subcategories_title" js="0">Subcategories</word>
|
||||
<word key_rus="%d %s" key="x_records" js="0">%d %s</word>
|
||||
<word key_rus="%d %s в этой категории" key="x_records_in_this_category" js="0">%d %s in this category</word>
|
||||
<word key_rus="%s ещё нет" key="content_categories_index_no_records" js="0">No %s here yet</word>
|
||||
<word key_rus="{!# [*1:комментарий][*2:комментария][*3:комментария][*4:комментария][11:комментариев][12:комментариев][13:комментариев][14:комментариев][?:комментариев]}" key="content_records_stat_comments" js="0">{!# [1:comment][?:comments]}</word>
|
||||
<word key_rus="{!# [*1:отзыв][*2:отзыва][*3:отзыва][*4:отзыва][11:отзывов][12:отзывов][13:отзывов][14:отзывов][?:отзывов]}" key="content_records_stat_reviews" js="0">{!# [1:review][?:reviews]}</word>
|
||||
<word key_rus="{!# [*1:просмотр][*2:просмотра][*3:просмотра][*4:просмотра][11:просмотров][12:просмотров][13:просмотров][14:просмотров][?:просмотров]}" key="content_records_stat_num_views" js="0">{!# [1:view][?:views]}</word>
|
||||
<word key_rus="Автор %s" key="content_record_started_by" js="0">By %s</word>
|
||||
<word key_rus="Действия" key="content_record_actions" js="0">Actions</word>
|
||||
<word key_rus="Пожаловаться на %s" key="content_record_report" js="0">Report %s</word>
|
||||
<word key_rus="Добавить комментарий..." key="content_record_form__comment_placeholder" js="0">Add a comment...</word>
|
||||
<word key_rus="Добавить комментарий" key="content_record_form_submit_comment" js="0">Submit Comment</word>
|
||||
<word key_rus="Прокомментировать %s" key="content_record_comment_on_this" js="0">Comment on this %s</word>
|
||||
<word key_rus="Сообщать мне об ответах" key="content_record_form_auto_follow_suffix" js="0">Notify me of replies</word>
|
||||
<word key_rus="Создать новую %s" key="content_create_new_button" js="0">Create new %s</word>
|
||||
<word key_rus="Статус" key="create_record_state" js="0">Status</word>
|
||||
<word key_rus="Заблокировано" key="create_record_locked" js="0">Locked</word>
|
||||
<word key_rus="Закреплено" key="create_record_pinned" js="0">Pinned</word>
|
||||
<word key_rus="Скрыто" key="create_record_hidden" js="0">Hidden</word>
|
||||
<word key_rus="Популярно" key="create_record_featured" js="0">Featured</word>
|
||||
<word key_rus="Сохранить" key="content_record_form_save" js="0">Save</word>
|
||||
<word key_rus="Создать новую %s" key="content_record_form_new_record" js="0">Create New %s</word>
|
||||
<word key_rus="%s Комментарий" key="content_record_comment_title" js="0">%s Comment</word>
|
||||
<word key_rus="%s Комментарии" key="content_record_comments_title" js="0">%s Comments</word>
|
||||
<word key_rus="%s комментарии" key="content_record_comments_title_lc" js="0">%s comments</word>
|
||||
<word key_rus="%s Отзыв" key="content_record_review_title" js="0">%s Review</word>
|
||||
<word key_rus="%s Отзывы" key="content_record_reviews_title" js="0">%s Reviews</word>
|
||||
<word key_rus="%s отзывы" key="content_record_reviews_title_lc" js="0">%s reviews</word>
|
||||
<word key_rus="Тип" key="record_type" js="0">Type</word>
|
||||
<word key_rus="Все" key="content_all_records" js="0">All</word>
|
||||
<word key_rus="Открытые" key="content_open_records" js="0">Open</word>
|
||||
<word key_rus="Заблокированные" key="content_locked_records" js="0">Locked</word>
|
||||
<word key_rus="Запись заблокирована" key="content_locked_record" js="0">This record is locked</word>
|
||||
<word key_rus="Дата последнего комментария" key="content_record_last_comment" js="0">Last comment date</word>
|
||||
<word key_rus="Количество комментариев" key="content_record_comments" js="0">Number of comments</word>
|
||||
<word key_rus="Количество просмотров" key="content_record_views" js="0">Number of views</word>
|
||||
<word key_rus="Заголовок" key="content_record_title" js="0">Title</word>
|
||||
<word key_rus="Дата публикации" key="content_record_publish_date" js="0">Publish Date</word>
|
||||
<word key_rus="Изменение %s" key="content_record_form_edit_record" js="0">Editing %s</word>
|
||||
<word key_rus="Версии" key="content_view_revisions" js="0">Revisions</word>
|
||||
<word key_rus="Версий нет" key="content_view_revisions_none" js="0">No revisions to show</word>
|
||||
<word key_rus="Все версии для '%s'" key="content_revision_record_title" js="0">All Revisions for '%s'</word>
|
||||
<word key_rus="Просмотреть и Восстановить" key="content_revision_button_view" js="0"><![CDATA[View & Restore]]></word>
|
||||
<word key_rus="Удалить" key="content_revision_button_delete" js="0">Delete</word>
|
||||
<word key_rus="Версия" key="content_record_revision_title_revision" js="0">Revision</word>
|
||||
<word key_rus="Текущая" key="content_record_revision_title_record" js="0">Current</word>
|
||||
<word key_rus="Версия от %s для '%s'" key="content_record_revision_title" js="0">Revision from %s for '%s'</word>
|
||||
<word key_rus="Восстановить из этой версии" key="content_conflict_use_this_revision" js="0">Restore from this revision</word>
|
||||
<word key_rus="Текущая версия" key="content_conflict_use_this_record" js="0">Keep the current version</word>
|
||||
<word key_rus="Восстановить" key="content_revision_restore" js="0">Restore</word>
|
||||
<word key_rus="Восстановлена запись '%s' с версией #%s" key="modlog__cms_revision_restored" js="0">Restored record '%s' with revision #%s</word>
|
||||
<word key_rus="Просмотр полной %s" key="content_view_record" js="0">View full %s</word>
|
||||
<word key_rus="Отметить прочитанным" key="cms_mark_read" js="0">Mark as read</word>
|
||||
<word key_rus="Добавить %s" key="cms_add_new_record_button" js="0">Add new %s</word>
|
||||
<word key_rus="Обновить %s" key="cms_front_update_fields" js="0">Update %s</word>
|
||||
<word key_rus="< Любое значение >" key="filters_any_value" js="0"><![CDATA[< Any Value >]]></word>
|
||||
<word key_rus="Отфильтровано по:" key="cms_database_filtered_by" js="0">Filtered by:</word>
|
||||
<word key_rus="Очистить фильтры" key="cms_database_filtered_clear" js="0">Clear filters</word>
|
||||
<word key_rus="Фильтры очищены" key="cms_filters_cleared" js="0">Filters cleared</word>
|
||||
<word key_rus="Категорий для отображения нет" key="cms_no_cats_to_show" js="0">There are no categories to show</word>
|
||||
<word key_rus="%s для отображения нет" key="cms_no_records_to_show" js="0">There are no %s to show</word>
|
||||
<word key_rus="Ещё не прочитано" key="cms_unread_record" js="0">This has not been read</word>
|
||||
<word key_rus="От %s, в <a href='%s'>%s</a>, " key="cms_byline" js="0"><![CDATA[By %s, in <a href='%s'>%s</a>, ]]></word>
|
||||
<word key_rus="Показать все категории" key="cms_show_categories" js="0">Show all categories</word>
|
||||
<word key_rus="Показать популярные %s" key="cms_show_featured" js="0">Show featured %s</word>
|
||||
<word key_rus="Ваш рейтинг" key="content_record_form_rating_value" js="0">Your rating</word>
|
||||
<word key_rus="Ваш отзыв" key="content_record_form_review_text" js="0">Your review</word>
|
||||
<word key_rus="Добавить отзыв..." key="content_record_form__review_placeholder" js="0">Add a review...</word>
|
||||
<word key_rus="{# [*1:Отзыв][*2:Отзыва][*3:Отзыва][*4:Отзыва][11:Отзывов][12:Отзывов][13:Отзывов][14:Отзывов][?:Отзывов]}" key="cms_review_count" js="0">{# [1:Review][?:Reviews]}</word>
|
||||
<word key_rus="{# [*1:Комментарий][*2:Комментария][*3:Комментария][*4:Комментария][11:Комментариев][12:Комментариев][13:Комментариев][14:Комментариев][?:Комментариев]}" key="cms_comment_count" js="0">{# [1:Comment][?:Comments]}</word>
|
||||
<word key_rus="Комментарии" key="cms_comment_no_count" js="0">Comments</word>
|
||||
<word key_rus="Комментарий от %s" key="cms_row_commented_by" js="0">Comment by %s</word>
|
||||
<word key_rus="Автор %s" key="cms_row_added_by" js="0">Added by %s</word>
|
||||
<word key_rus="Обновил %s" key="cms_row_updated_by" js="0">Updated by %s</word>
|
||||
<word key_rus="Перейти к %s" key="cms_back_to_category_with_title" js="0">Go to %s</word>
|
||||
<word key_rus="Перейти к %s" key="cms_back_to_category" js="0">Go to %s</word>
|
||||
<word key_rus="Перейти к следующей непрочитанной %s" key="cms_view_next_unread_title" js="0">Go to the next unread %s</word>
|
||||
<word key_rus="Следующая непрочитанная %s" key="cms_next_unread_title" js="0">Next unread %s</word>
|
||||
<word key_rus="Изменено <strong>%s</strong> на <strong>%s</strong>" key="cms_record_field_changed" js="0"><![CDATA[Changed <strong>%s</strong> to <strong>%s</strong>]]></word>
|
||||
<word key_rus="" key="content_record_form_auto_follow" js="0"></word>
|
||||
<word key_rus="%s закрыта для комментирования, но вам разрешено добавлять новые ответы." key="cms_locked_can_comment" js="0">This %s is locked, but your permissions allow you to add new replies.</word>
|
||||
<word key_rus="Выбрать категорию" key="cms_select_category" js="0">Select a category</word>
|
||||
<word key_rus="%s в %s" key="cms_create_menu_records_x" js="0">%s in %s</word>
|
||||
<word key_rus="Прокомментировать изменение" key="record_display_field_change" js="0">Add a comment recording this change.</word>
|
||||
<word key_rus="Информация о %s" key="record_information" js="0">%s Information</word>
|
||||
<word key_rus="Изменений нет" key="record_no_revision_data" js="0">No changes recorded</word>
|
||||
<word key_rus="Закрыто для дальнейших комментариев" key="record_locked_cannot_comment" js="0">This is now closed for further comments</word>
|
||||
<word key_rus="Опции модератора" key="cms_moderator_options" js="0">Moderator Options</word>
|
||||
<word key_rus="База данных '%s' уже используется на странице '%s'" key="cms_db_in_use_by_page" js="0">Database '%s' is already used by page '%s'</word>
|
||||
<word key_rus="%s связано с %s" key="records_linking_to_me" js="0">%s linking to this %s</word>
|
||||
<word key_rus="%s с %s" key="field_daterange_start_end" js="0">%s to %s</word>
|
||||
<word key_rus="От %s" key="field_daterange_start" js="0">From %s</word>
|
||||
<word key_rus="С %s" key="field_daterange_end" js="0">To %s</word>
|
||||
<word key_rus="База данных" key="cms_rf_database" js="0">Database</word>
|
||||
<word key_rus="Это изменить нельзя. Если вы хотите создать ленту из другой базы данных, пожалуйста, создайте новый блок." key="cms_rf_database_desc" js="0">This cannot be changed. If you want to create a feed from a different database, please create a new custom block.</word>
|
||||
<word key_rus="<br/>Это изменить нельзя. Если вы хотите создать ленту записей из другой базы данных, пожалуйста, создайте новый блок." key="cms_rf_database_description" js="0"><![CDATA[<br/>This cannot be changed. If you want to create a feed from a different database, please create a new custom block.]]></word>
|
||||
<word key_rus="Категории" key="cms_rf_category" js="0">Categories</word>
|
||||
<word key_rus="Все категории" key="cms_rf_all_categories" js="0">All categories</word>
|
||||
<word key_rus="Статус записи" key="cms_rf_record_status" js="0">Record status</word>
|
||||
<word key_rus="Открыта" key="cms_rf_open_status_open" js="0">Open</word>
|
||||
<word key_rus="Закрыта" key="cms_rf_open_status_closed" js="0">Closed</word>
|
||||
<word key_rus="Закреплена" key="cms_rf_open_status_pinned" js="0">Pinned</word>
|
||||
<word key_rus="Не закреплена" key="cms_rf_open_status_notpinned" js="0">Not Pinned</word>
|
||||
<word key_rus="Видима" key="cms_rf_open_status_visible" js="0">Visible</word>
|
||||
<word key_rus="Скрыта" key="cms_rf_open_status_hidden" js="0">Hidden</word>
|
||||
<word key_rus="Популярна" key="cms_rf_open_status_featured" js="0">Featured</word>
|
||||
<word key_rus="Непопулярна" key="cms_rf_open_status_notfeatured" js="0">Not Featured</word>
|
||||
<word key_rus="Автор записи" key="cms_rf_author" js="0">Record started by</word>
|
||||
<word key_rus="Минимум комментариев к записи" key="cms_rf_min_posts" js="0">Minimum record comments</word>
|
||||
<word key_rus="любое" key="cms_rf_min_posts_any" js="0">any</word>
|
||||
<word key_rus="Записей для отображения" key="cms_rf_show" js="0">Records to show</word>
|
||||
<word key_rus="Сортировать по" key="cms_rf_sort_on" js="0">Sort by</word>
|
||||
<word key_rus="Последний комментарий" key="cms_rf_record_last_comment" js="0">Last comment</word>
|
||||
<word key_rus="Заголовок" key="cms_rf_title" js="0">Title</word>
|
||||
<word key_rus="Количество комментариев" key="cms_rf_record_comments" js="0">Number of comments</word>
|
||||
<word key_rus="Дата публикации" key="cms_rf_record_publish_date" js="0">Publish date</word>
|
||||
<word key_rus="Просмотров записи" key="cms_rf_record_views" js="0">Record views</word>
|
||||
<word key_rus="Направление" key="cms_rf_sort_dir" js="0">Direction</word>
|
||||
<word key_rus="По убыванию (9-0)" key="cms_rf_sort_dir_dsc" js="0">Descending (9-0)</word>
|
||||
<word key_rus="По возрастанию (0-9)" key="cms_rf_sort_dir_asc" js="0">Ascending (0-9)</word>
|
||||
<word key_rus="Лента записи" key="block_RecordFeed" js="0">Record Feed</word>
|
||||
<word key_rus="Создать настраиваемую ленту записей базы данных" key="block_RecordFeed_desc" js="0">Create a customizable feed of database records</word>
|
||||
<word key_rus="Обычный HTML редактор" key="block_Editor" js="0">Plain HTML Editor</word>
|
||||
<word key_rus="Добавляет введённый текст как HTML" key="block_Editor_desc" js="0">Adds entered text as HTML</word>
|
||||
<word key_rus="WYSIWYG Редактор" key="block_Wysiwyg" js="0">WYSIWYG Editor</word>
|
||||
<word key_rus="Многофункциональный текстовый редактор" key="block_Wysiwyg_desc" js="0">Rich text editor</word>
|
||||
<word key_rus="База данных" key="block_Database" js="0">Database</word>
|
||||
<word key_rus="Добавляет базу данных на страницу" key="block_Database_desc" js="0">Adds a database to the page</word>
|
||||
<word key_rus="Последние записи" key="block_LatestArticles" js="0">Latest Records</word>
|
||||
<word key_rus="Отображение последних записей из базы данных" key="block_LatestArticles_desc" js="0">Show latest articles from a database</word>
|
||||
<word key_rus="Пожалуйста, выберите базу данных для этого виджета." key="block_no_database_selected" js="0">Please select a database for this widget.</word>
|
||||
<word key_rus="Последние %s" key="block_latest_records" js="0">Latest %s</word>
|
||||
<word key_rus="Фильтры базы данных" key="block_DatabaseFilters" js="0">Database Filters</word>
|
||||
<word key_rus="%s Фильтры" key="block_DatabaseFilters_title" js="0">%s Filters</word>
|
||||
<word key_rus="Показать обновляемые фильтры при просмотре категории базы данных" key="block_DatabaseFilters_desc" js="0">Show updateable filters when viewing a database category</word>
|
||||
<word key_rus="Меню категорий базы данных" key="block_Categories" js="0">Database Category Menu</word>
|
||||
<word key_rus="Отображение списка категорий для базы данных, используемой на странице" key="block_Categories_desc" js="0">Displays a list of categories for the database used on the page</word>
|
||||
<word key_rus="Доступных для добавления баз данных нет." key="cms_err_no_databases_to_use" js="0">No databases are available to be added.</word>
|
||||
<word key_rus="  Запомнить фильтры" key="cms_widget_filters_remember_text" js="0"><![CDATA[ Remember filters]]></word>
|
||||
<word key_rus="" key="cms_widget_filters_remember" js="0"></word>
|
||||
<word key_rus="Пользовательские блоки" key="block_Blocks" js="0">Custom Blocks</word>
|
||||
<word key_rus="Выберите один из созданных блоков" key="block_Blocks_desc" js="0">Select one of the custom blocks you have created</word>
|
||||
<word key_rus="Доступных для добавления блоков нет." key="cms_err_no_pugins_to_use" js="0">No custom blocks are available to be added.</word>
|
||||
<word key_rus="Пользовательский блок" key="cms_widget_custom_block" js="0">Custom Block</word>
|
||||
<word key_rus="База данных" key="database" js="0">Database</word>
|
||||
<word key_rus="Импорт RSS" key="block_Rss" js="0">RSS Import</word>
|
||||
<word key_rus="Импорт из RSS ленты" key="block_Rss_desc" js="0">Import from an RSS feed</word>
|
||||
<word key_rus="Заголовок" key="block_rss_import_title" js="0">Title</word>
|
||||
<word key_rus="URL RSS" key="block_rss_import_url" js="0">RSS URL</word>
|
||||
<word key_rus="Количество элементов для отображения" key="block_rss_import_number" js="0">Number of items to show</word>
|
||||
<word key_rus="Кэш для" key="block_rss_import_cache" js="0">Cache for</word>
|
||||
<word key_rus="минут" key="block_rss_import_cache_suffix" js="0">minutes</word>
|
||||
<word key_rus="Категории" key="widget_feed_container_cms" js="0">Categories</word>
|
||||
<word key_rus="Просмотр %s" key="loc_cms_viewing_page" js="0">Viewing %s</word>
|
||||
<word key_rus="Просмотр %s категории %s" key="loc_cms_viewing_db_cat" js="0">Viewing %s category %s</word>
|
||||
<word key_rus="Просмотр %s в категории %s: %s" key="loc_cms_viewing_db_record" js="0">Viewing %s in category %s: %s</word>
|
||||
<word key_rus="Просмотр %s в %s" key="loc_cms_viewing_db_record_no_cats" js="0">Viewing %s in %s</word>
|
||||
<word key_rus="Не удалось найти запрашиваемую страницу" key="content_err_page_404" js="0">Cannot find the page you requested</word>
|
||||
<word key_rus="У вас нет разрешения на просмотр этой страницы" key="content_err_page_403" js="0">You do not have permission to view this page</word>
|
||||
<word key_rus="Эта тема используется для комментариев на %s и не может быть удалена" key="cms_delete_linked_topic" js="0">This topic is used for %s comments and cannot be deleted</word>
|
||||
<word key_rus="%s" key="digest_area_cms_cms" js="0">%s</word>
|
||||
<word key_rus="%s опубликовал %s в %s" key="x_created_cms_in" js="0">%s posted a %s in %s</word>
|
||||
<word key_rus="%s прокомментировал %s" key="x_commented_cms" js="0">%s commented on a %s</word>
|
||||
<word key_rus="Добавлена база данных: %s" key="acplogs__cms_added_database" js="0">Added Database: %s</word>
|
||||
<word key_rus="Изменена база данных: %s" key="acplogs__cms_edited_database" js="0">Edited Database: %s</word>
|
||||
<word key_rus="Удалена база данных: %s" key="acplogs__cms_deleted_database" js="0">Deleted Database: %s</word>
|
||||
<word key_rus="Код внешней вставки" key="block_embed_options" js="0">External embed</word>
|
||||
<word key_rus="Код внешней вставки" key="block_embed_title" js="0">External Embed</word>
|
||||
<word key_rus="Эта функция позволит вам встраивать этот блок во внешние страницы, не являющиеся частью IPS Community Suite. Для страниц, созданных в рамках IPS Community Suite, использовать обычный метод встраивания блоков." key="embed_message" js="0"><![CDATA[This feature allows you to embed this block on an external page that <strong>isn't</strong> part of your IPS Community Suite. For pages created within the IPS Community Suite, use the normal embedding method instead.]]></word>
|
||||
<word key_rus="Встраивание блока" key="embed_1_title" js="0">Embedding this block</word>
|
||||
<word key_rus="Чтобы встроить этот блок, вставьте следующий код в вашу страницу, где вы хотели бы, чтобы отобразить его. При желании вы можете сделать, чтобы блок автоматически унаследовал некоторые стили (шрифт, цвет ссылок, и т.д.) со страница, на которой он отображается." key="embed_1_desc" js="0">To embed this block, paste the following code in your page where you'd like it to display. You can optionally have the block automatically inherit some styles (font family, link color, etc.) from the page it appears on.</word>
|
||||
<word key_rus="Наследовать ключевые стили с родительской страницы" key="embed_1_toggle" js="0">Inherit key styles from the parent page</word>
|
||||
<word key_rus="Вставьте загрузчик" key="embed_2_title" js="0">Insert the loader</word>
|
||||
<word key_rus="Вам также необходимо вставить загрузчик в вашу страницу. Вы должны сделать это единоразово, даже если используете несколько внешних блоков. Он должен быть вставлен в тег <code><head></code>, или перед тегом <code></body></code>." key="embed_2_desc" js="0"><![CDATA[You'll also need to insert the loader into your page. You only need to do this <strong>once per page</strong>, even if you use many external blocks. It should be inserted either in your <code><head></code> tag, or just before the <code></body></code> tag.]]></word>
|
||||
<word key_rus="Просмотр %s %s" key="view_this_cmsrecord" js="0">View the %s %s</word>
|
||||
<word key_rus="Перестроение лайков в комментарияз баз данных" key="rebuilding_comment_likes" js="0">Rebuilding Database Comment Likes</word>
|
||||
<word key_rus="Последний комментарий" key="sort_record_last_comment" js="0">Last Comment</word>
|
||||
<word key_rus="Кол-во комментариев" key="sort_record_comments" js="0">Comments</word>
|
||||
<word key_rus="Кол-во просмотров" key="sort_record_views" js="0">Views</word>
|
||||
<word key_rus="Дата публикации" key="sort_record_publish_date" js="0">Publish Date</word>
|
||||
<word key_rus="Комментарии базы данных" key="__api_cms_comments" js="0">Database Comments</word>
|
||||
<word key_rus="Записи базы данных" key="__api_cms_records" js="0">Database Records</word>
|
||||
<word key_rus="Отзывы базы данных" key="__api_cms_reviews" js="0">Database Reviews</word>
|
||||
<word key_rus="Скачать базу данных" key="cms_download_db" js="1">Download Database</word>
|
||||
<word key_rus="Вы можете скачать файл с настройками базы данных, шаблонами, дополнительными полями и категориями, который можно загрузить в другое сообщество.<br>Записи <em>НЕ</em> экспортируются." key="cms_download_db_explain" js="1"><![CDATA[This will download a file with the database settings, templates, custom fields and categories which can be uploaded to another community.<br>Records are <em>not</em> included.]]></word>
|
||||
<word key_rus="Показать категории" key="index_as_categories" js="1">Show categories</word>
|
||||
<word key_rus="Показать список записей" key="index_as_records" js="1">Show record list</word>
|
||||
<word key_rus="Выделенных медиафайлов нет" key="mediaNoneSelected" js="1">No media items selected</word>
|
||||
<word key_rus="{# [1:выделенный медиафайл][?:выделенных медиафайла]}" key="mediaMultipleSelected" js="1">{# [1:media item selected][?:media items selected]}</word>
|
||||
<word key_rus="В этой директории ещё нет файлов" key="mediaEmptyFolder" js="1">There are no items in this folder yet</word>
|
||||
<word key_rus="Вы уверены, что хотите удалить {!# [1:этот файл][?:# эти файлы]}?" key="mediaConfirmDelete" js="1">Are you sure you want to delete {!# [1:this file][?:# selected files]}?</word>
|
||||
<word key_rus="Возникла ошибка при удалении {!# [1:этого файла][?:этих файлов]}" key="mediaErrorDeleting" js="1">There was an error deleting {!# [1:this file][?:these files]}</word>
|
||||
<word key_rus="Файлы не найдены, измените запрос" key="mediaNoResults" js="1">No files match your search term</word>
|
||||
<word key_rus="{!# [*1: файл был добавлен][*2: файла было добавлено][*3: файла было добавлено][*4: файла было добавлено][11: файлов было добавлено][12: файлов было добавлено][13: файлов было добавлено][14: файлов было добавлено][?:# файлов было добавлено]} в эту директорию" key="mediaUploadedCount" js="1">{!# [1:A file was][?:# files were]} added to this folder</word>
|
||||
</app>
|
||||
</language>
|
||||
@@ -179,5 +179,11 @@
|
||||
"101090": "4.1.19 Beta 1",
|
||||
"101091": "4.1.19 Beta 2",
|
||||
"101092": "4.1.19 Beta 3",
|
||||
"101093": "4.1.19"
|
||||
"101093": "4.1.19",
|
||||
"101094": "4.1.19.1",
|
||||
"101095": "4.1.19.2 Beta 1",
|
||||
"101096": "4.1.19.2",
|
||||
"101097": "4.1.19.2",
|
||||
"101098": "4.1.19.3",
|
||||
"101099": "4.1.19.4"
|
||||
}
|
||||
@@ -1281,7 +1281,7 @@ class _Fields extends \IPS\CustomField implements \IPS\Node\Permissions
|
||||
return implode( ', ', array_map( function( $id )
|
||||
{
|
||||
return \IPS\Member::load( $id )->link();
|
||||
}, explode( ',', $value ) ) );
|
||||
}, explode( "\n", $value ) ) );
|
||||
}
|
||||
break;
|
||||
case 'Url':
|
||||
@@ -2851,7 +2851,7 @@ class _Fields extends \IPS\CustomField implements \IPS\Node\Permissions
|
||||
$value = array_map( function( $id )
|
||||
{
|
||||
return \IPS\Member::load( $id );
|
||||
}, explode( ',', $value ) );
|
||||
}, explode( "\n", $value ) );
|
||||
}
|
||||
break;
|
||||
case 'Date':
|
||||
|
||||
@@ -0,0 +1,250 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Converter Application Class
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @package IPS Community Suite
|
||||
* @subpackage Converter
|
||||
* @since 21 Jan 2015
|
||||
* @version
|
||||
*/
|
||||
|
||||
namespace IPS\convert;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converter Application Class
|
||||
*/
|
||||
class _Application extends \IPS\Application
|
||||
{
|
||||
/**
|
||||
* [Node] Get Icon for tree
|
||||
*
|
||||
* @note Return the class for the icon (e.g. 'globe')
|
||||
* @return string|null
|
||||
*/
|
||||
protected function get__icon()
|
||||
{
|
||||
return 'random';
|
||||
}
|
||||
|
||||
/**
|
||||
* Install Other
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function installOther()
|
||||
{
|
||||
static::checkConvParent();
|
||||
|
||||
try
|
||||
{
|
||||
\IPS\Db::i()->select( '*', 'core_login_handlers', array( "login_key=?", 'Convert' ) )->first();
|
||||
}
|
||||
catch( \UnderflowException $e )
|
||||
{
|
||||
$position = \IPS\Db::i()->select( 'MAX(login_order)', 'core_login_handlers' )->first();
|
||||
\IPS\Db::i()->insert( 'core_login_handlers', array(
|
||||
'login_key' => "Convert",
|
||||
'login_enabled' => 1,
|
||||
'login_settings' => json_encode( array( 'auth_types' => \IPS\Login::AUTH_TYPE_USERNAME + \IPS\Login::AUTH_TYPE_EMAIL ) ),
|
||||
'login_order' => $position + 1,
|
||||
'login_acp' => 1
|
||||
) );
|
||||
|
||||
if ( isset( \IPS\Data\Store::i()->loginHandlers ) )
|
||||
{
|
||||
unset( \IPS\Data\Store::i()->loginHandlers );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Ensure the appropriate tables have a conv_parent column for internal references
|
||||
*
|
||||
* @param string|NULL The application to check, or NULL to check all.
|
||||
* @return void
|
||||
*/
|
||||
public static function checkConvParent( $application=NULL )
|
||||
{
|
||||
$parents = array(
|
||||
'downloads' => array(
|
||||
'tables' => array(
|
||||
'downloads_categories' => array(
|
||||
'prefix' => 'c',
|
||||
'column' => 'conv_parent'
|
||||
)
|
||||
)
|
||||
),
|
||||
'forums' => array(
|
||||
'tables' => array(
|
||||
'forums_forums' => array(
|
||||
'prefix' => '',
|
||||
'column' => 'conv_parent'
|
||||
)
|
||||
)
|
||||
),
|
||||
'gallery' => array(
|
||||
'tables' => array(
|
||||
'gallery_categories' => array(
|
||||
'prefix' => 'category_',
|
||||
'column' => 'conv_parent'
|
||||
)
|
||||
)
|
||||
),
|
||||
'cms' => array(
|
||||
'tables' => array(
|
||||
'cms_containers' => array(
|
||||
'prefix' => 'container_',
|
||||
'column' => 'conv_parent'
|
||||
),
|
||||
'cms_database_categories' => array(
|
||||
'prefix' => 'category_',
|
||||
'column' => 'conv_parent'
|
||||
),
|
||||
'cms_folders' => array(
|
||||
'prefix' => 'folder_',
|
||||
'column' => 'conv_parent'
|
||||
)
|
||||
)
|
||||
),
|
||||
'nexus' => array(
|
||||
'tables' => array(
|
||||
'nexus_alternate_contacts' => array(
|
||||
'prefix' => '',
|
||||
'column' => 'conv_alt_id',
|
||||
),
|
||||
'nexus_package_groups' => array(
|
||||
'prefix' => 'pg_',
|
||||
'column' => 'conv_parent'
|
||||
),
|
||||
'nexus_packages' => array(
|
||||
'prefix' => 'p_',
|
||||
'column' => 'conv_associable'
|
||||
),
|
||||
'nexus_purchases' => array(
|
||||
'prefix' => 'ps_',
|
||||
'column' => 'conv_parent'
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
foreach( $parents AS $app => $tables )
|
||||
{
|
||||
if ( !is_null( $application ) )
|
||||
{
|
||||
if ( $application != $app )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if ( static::appisEnabled( $app ) )
|
||||
{
|
||||
foreach( $tables['tables'] AS $table => $data )
|
||||
{
|
||||
$column = $data['prefix'] . $data['column'];
|
||||
if ( \IPS\Db::i()->checkForColumn( $table, $column ) === FALSE )
|
||||
{
|
||||
\IPS\Db::i()->addColumn( $table, array(
|
||||
'name' => $column,
|
||||
'type' => 'BIGINT',
|
||||
'length' => 20,
|
||||
'default' => 0,
|
||||
) );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if we need to redirect requests coming in to index.php
|
||||
*
|
||||
* @note In an ideal world, we'd check the individual converter libraries, however that requires looping over lots of files or
|
||||
* querying the database on every single page load, so instead we will sniff and see if we think anything needs to be done based
|
||||
* on hardcoded potential patterns.
|
||||
* @return void
|
||||
*/
|
||||
public function convertLegacyParameters()
|
||||
{
|
||||
$_qs = '';
|
||||
if ( isset( $_SERVER['QUERY_STRING'] ) )
|
||||
{
|
||||
$_qs = $_SERVER['QUERY_STRING'];
|
||||
}
|
||||
elseif ( isset( $_SERVER['PATH_INFO'] ) )
|
||||
{
|
||||
$_qs = $_SERVER['PATH_INFO'];
|
||||
}
|
||||
elseif ( isset( $_SERVER['REQUEST_URI'] ) )
|
||||
{
|
||||
$_qs = $_SERVER['REQUEST_URI'];
|
||||
}
|
||||
|
||||
/* Expression Engine */
|
||||
preg_match ( '#(viewforum|viewthread|viewreply|member)\/([0-9]+)#i', $_qs, $matches );
|
||||
if( isset( $matches[1] ) AND $matches[1] )
|
||||
{
|
||||
static::checkRedirects();
|
||||
}
|
||||
|
||||
/* Vanilla */
|
||||
preg_match ( '#(discussion|profile)\/([0-9]+)\/#i', $_qs, $matches );
|
||||
|
||||
if( isset( $matches[1] ) AND $matches[1] )
|
||||
{
|
||||
static::checkRedirects();
|
||||
}
|
||||
|
||||
/* Xenforo */
|
||||
preg_match ( '#(forums|threads|members)\/(.*)\.([0-9]+)#i', $_qs, $matches );
|
||||
|
||||
if( isset( $matches[1] ) AND $matches[1] )
|
||||
{
|
||||
static::checkRedirects();
|
||||
}
|
||||
|
||||
/* SMF */
|
||||
if( \IPS\Request::i()->board OR \IPS\Request::i()->topic OR \IPS\Request::i()->action )
|
||||
{
|
||||
static::checkRedirects();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if we need to redirect
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function checkRedirects()
|
||||
{
|
||||
/* Try each of our converted applications. We will assume the most important conversions were done first */
|
||||
foreach( \IPS\convert\App::apps() as $app )
|
||||
{
|
||||
try
|
||||
{
|
||||
$redirect = $app->getSource( TRUE, FALSE )->checkRedirects();
|
||||
}
|
||||
catch( \InvalidArgumentException $e )
|
||||
{
|
||||
/* This converter app doesn't exist on disk, this is expected for sites upgraded from 3.x where there isn't a 4.x version of the converter app */
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Pass the request off to the application to see if it can redirect */
|
||||
if( $redirect !== NULL )
|
||||
{
|
||||
/* We got a valid redirect, so send the user there */
|
||||
\IPS\Output::i()->redirect( $redirect, NULL, 301 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Converters API
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @subpackage convert
|
||||
* @since 29 Nov 2016
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\convert\api;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Converters API
|
||||
*/
|
||||
class _converters extends \IPS\Api\Controller
|
||||
{
|
||||
/**
|
||||
* GET /convert/converters
|
||||
* Get list of converter applications and what can be converted from each application
|
||||
*
|
||||
* @apiparam string applications Comma-delimited list of applications to filter by
|
||||
* @return array
|
||||
*/
|
||||
public function GETindex()
|
||||
{
|
||||
$response = array();
|
||||
$applications = \IPS\Request::i()->applications ? explode( ',', \IPS\Request::i()->applications ) : array();
|
||||
|
||||
/* Loop over software directory to figure out software we can convert */
|
||||
foreach( new \DirectoryIterator( \IPS\ROOT_PATH . '/applications/convert/sources/Software/' ) as $directory )
|
||||
{
|
||||
/* Skip ../ and any non-directories */
|
||||
if( $directory->isDot() OR !$directory->isDir() )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Are we filtering by supported applications? */
|
||||
if( count( $applications ) AND !in_array( mb_convert_case( $directory->getFilename(), MB_CASE_TITLE ) ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Loop over all of the software in this directory */
|
||||
foreach( new \DirectoryIterator( $directory->getPathname() ) as $softwares )
|
||||
{
|
||||
/* Skip ../ and any non-files */
|
||||
if( $softwares->isDot() OR !$softwares->isFile() )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Initialize class info, etc. */
|
||||
$namespace = mb_substr( $softwares->getFilename(), 0, mb_strrpos( $softwares->getFilename(), '.' ) );
|
||||
$application = $directory->getFilename();
|
||||
$classname = "\\IPS\\convert\\Software\\" . $application . "\\" . $namespace;
|
||||
|
||||
/* Can we convert this application? */
|
||||
if( $classname::canConvert() === NULL )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Initialize this application's array if necessary */
|
||||
if( !isset( $response[ mb_strtolower( $namespace ) ] ) )
|
||||
{
|
||||
$response[ mb_strtolower( $namespace ) ] = array();
|
||||
}
|
||||
|
||||
/* Now figure out what we can convert in a human-readable format */
|
||||
$rawConvert = array_keys( $classname::canConvert() );
|
||||
$canConvert = array();
|
||||
|
||||
/* Get lang strings for what we can convert */
|
||||
foreach( $rawConvert as $convertType )
|
||||
{
|
||||
$canConvert[] = \IPS\Lang::load( \IPS\Lang::defaultLanguage() )->addToStack(
|
||||
preg_replace_callback( "/([A-Z])/", function( $match ){
|
||||
return "_" . mb_strtolower( $match[1] );
|
||||
}, $convertType )
|
||||
);
|
||||
}
|
||||
|
||||
/* Now store the data for this application that we need */
|
||||
$response[ mb_strtolower( $namespace ) ][ mb_strtolower( $application ) ] = array(
|
||||
'name' => $classname::softwareName(),
|
||||
'key' => $classname::softwareKey(),
|
||||
'canConvert' => $canConvert
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return new \IPS\Api\Response( 200, $response );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"manage": {
|
||||
"manage_start": {
|
||||
"tab": "core",
|
||||
"controller": "create",
|
||||
"do": "&_new=1",
|
||||
"restriction": "manage_create"
|
||||
},
|
||||
"manage": {
|
||||
"tab": "core",
|
||||
"controller": "manage",
|
||||
"do": "",
|
||||
"restriction": "manage_manage"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"start": [],
|
||||
"manage": {
|
||||
"manage": {
|
||||
"manage_manage": "manage_manage"
|
||||
},
|
||||
"convert": {
|
||||
"convert_manage": "convert_manage"
|
||||
},
|
||||
"create": {
|
||||
"create_manage": "create_manage"
|
||||
}
|
||||
}
|
||||
}
|
||||
File renamed without changes.
+2
-2
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"application_title": "Chat",
|
||||
"application_title": "Converter",
|
||||
"app_author": "Invision Power Services, Inc.",
|
||||
"app_directory": "chat",
|
||||
"app_directory": "convert",
|
||||
"app_protected": 0,
|
||||
"app_website": null,
|
||||
"app_update_check": null
|
||||
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @brief Converter Library <#CLASS#> Class
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @package IPS Community Suite
|
||||
* @subpackage Converter
|
||||
* @since 21 Jan 2015
|
||||
*/
|
||||
|
||||
namespace IPS\convert\Library;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
class _<#CLASS#> extends \IPS\convert\Library
|
||||
{
|
||||
/**
|
||||
* @brief Application
|
||||
*/
|
||||
public $app = '<#CLASS_LOWER#>';
|
||||
|
||||
/**
|
||||
* Returns an array of items that we can convert, including the amount of rows stored in the Community Suite as well as the recommend value of rows to convert per cycle
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function menuRows()
|
||||
{
|
||||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an array of tables that need to be truncated when Empty Local Data is used
|
||||
*
|
||||
* @param string The method to truncate.
|
||||
* @return array
|
||||
*/
|
||||
protected function truncate( $method )
|
||||
{
|
||||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
* This is how the insert methods will work - basically like 3.x, but we should be using the actual classes to insert the data unless there is a real world reason not too.
|
||||
* Using the actual routines to insert data will help to avoid having to resynchronize and rebuild things later on, thus resulting in less conversion time being needed overall.
|
||||
* Anything that parses content, for example, may need to simply insert directly then rebuild via a task over time, as HTML Purifier is slow when mass inserting content.
|
||||
*/
|
||||
|
||||
/**
|
||||
* A note on logging -
|
||||
* If the data is missing and it is unlikely that any source software would be able to provide this, we do not need to log anything and can use default data (for example, group_layout in convertLeaderGroups).
|
||||
* If the data is missing and it is likely that a majority of the source software can provide this, we should log a NOTICE and use default data (for example, a_casesensitive in convertAcronyms).
|
||||
* If the data is missing and it is required to convert the item, we should log a WARNING and return FALSE.
|
||||
* If the conversion absolutely cannot proceed at all (filestorage locations not writable, for example), then we should log an ERROR and throw an \IPS\convert\Exception to completely halt the process and redirect to an error screen showing the last logged error.
|
||||
*/
|
||||
}
|
||||
@@ -0,0 +1,151 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @brief Converter <#CLASS#> Class
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @package IPS Community Suite
|
||||
* @subpackage Converter
|
||||
* @since 21 Jan 2015
|
||||
*/
|
||||
|
||||
namespace IPS\convert\Software\<#APP#>;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
class _<#CLASS#> extends \IPS\convert\Software
|
||||
{
|
||||
/**
|
||||
* Software Name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function softwareName()
|
||||
{
|
||||
/* Child classes must override this method */
|
||||
return "<#CLASS#>";
|
||||
}
|
||||
|
||||
/**
|
||||
* Software Key
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function softwareKey()
|
||||
{
|
||||
/* Child classes must override this method */
|
||||
return "<#CLASS_LOWER#>";
|
||||
}
|
||||
|
||||
/**
|
||||
* Content we can convert from this software.
|
||||
*
|
||||
* @return array|NULL
|
||||
* @note NULL indicates this converter cannot be used yet, useful to move redirect scripts into the 4.x framework
|
||||
*/
|
||||
public static function canConvert()
|
||||
{
|
||||
return array(
|
||||
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Can we convert passwords from this software.
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public static function loginEnabled()
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Can we convert settings?
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public static function canConvertSettings()
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Settings Map
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function settingsMap()
|
||||
{
|
||||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
* Settings Map Listing
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function settingsMapList()
|
||||
{
|
||||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a block of text, or a language string, that explains what the admin must do to start this conversion
|
||||
*
|
||||
* @return string|NULL
|
||||
*/
|
||||
public static function getPreConversionInformation()
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* List of conversion methods that require additional information
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function checkConf()
|
||||
{
|
||||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get More Information
|
||||
*
|
||||
* @param string $method Conversion method
|
||||
* @return array
|
||||
*/
|
||||
public function getMoreInfo( $method )
|
||||
{
|
||||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
* Finish - Adds everything it needs to the queues and clears data store
|
||||
*
|
||||
* @return array Messages to display
|
||||
*/
|
||||
public function finish()
|
||||
{
|
||||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
* Fix post data
|
||||
*
|
||||
* @param string raw post data
|
||||
* @return string parsed post data
|
||||
*/
|
||||
public static function fixPostData( $post )
|
||||
{
|
||||
return $post;
|
||||
}
|
||||
|
||||
// Insert convertX methods here
|
||||
}
|
||||
File renamed without changes.
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"Db": {
|
||||
"type": "C",
|
||||
"class": "\\IPS\\Db"
|
||||
},
|
||||
"FrontDispatcher": {
|
||||
"type": "C",
|
||||
"class": "\\IPS\\Dispatcher\\Front"
|
||||
}
|
||||
}
|
||||
File renamed without changes.
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<javascript app="convert">
|
||||
<file javascript_app="convert" javascript_location="admin" javascript_path="controllers/convert" javascript_name="ips.convert.menu.js" javascript_type="controller" javascript_version="101099" javascript_position="1000050">/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2016 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
* ips.convert.menu.js -
|
||||
*
|
||||
* Author: Ryan Ashbrook
|
||||
*/
|
||||
;( function($, _, undefined){
|
||||
"use strict";
|
||||
|
||||
ips.controller.register('convert.admin.convert.menu', {
|
||||
|
||||
initialize: function () {
|
||||
this.on( 'click', "[data-action='reConvert']", this.areYouSure );
|
||||
this.on( 'click', "[data-action='remove_converted_data']", this.removeConverted );
|
||||
},
|
||||
|
||||
areYouSure: function(e) {
|
||||
var self = this;
|
||||
|
||||
e.preventDefault();
|
||||
|
||||
ips.ui.alert.show( {
|
||||
type: 'confirm',
|
||||
icon: 'warning',
|
||||
message: 'Are you sure you wish to reconvert this?',
|
||||
subText: 'Reconverting can cause data inconsistency. If you reconvert this step, you must also reconvert each step below it.',
|
||||
} );
|
||||
},
|
||||
|
||||
removeConverted: function(e) {
|
||||
var self = this;
|
||||
|
||||
e.preventDefault();
|
||||
|
||||
ips.ui.alert.show( {
|
||||
type: 'confirm',
|
||||
icon: 'warning',
|
||||
message: 'Are you sure you wish to remove all converted data for this step?',
|
||||
subText: 'Removing all converted data will remove all data that has been converted for this step. This action cannot be undone.',
|
||||
} );
|
||||
}
|
||||
} );
|
||||
}(jQuery, _));</file>
|
||||
<order app="global" path="/dev/js//framework/">templates
|
||||
common/ips.loader.js
|
||||
common/ui
|
||||
common/utils
|
||||
common
|
||||
controllers</order>
|
||||
<order app="global" path="/dev/js//library/">underscore
|
||||
jquery
|
||||
mustache
|
||||
jstz
|
||||
Debug.js
|
||||
app.js</order>
|
||||
<order app="global" path="/dev/js//library//jquery">jquery.js
|
||||
jquery.history.js
|
||||
jquery.transform.js</order>
|
||||
</javascript>
|
||||
@@ -0,0 +1,288 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="convert" version="101099">
|
||||
<word key="__app_convert" js="0">Converter</word>
|
||||
<word key="menu__convert_manage" js="0">Conversions</word>
|
||||
<word key="menu__convert_manage_manage_start" js="0">Start New Conversion</word>
|
||||
<word key="menu__convert_manage_manage" js="0">Manage Conversions</word>
|
||||
<word key="convert_sw" js="0">Suite Application</word>
|
||||
<word key="convert_app_key" js="0">Source Software</word>
|
||||
<word key="convert_name" js="0">Identifier</word>
|
||||
<word key="convert_parent" js="0">Parent Conversion</word>
|
||||
<word key="convert_no_parent" js="0"><![CDATA[<em>No Parent</em>]]></word>
|
||||
<word key="convert_start" js="0">Start New Conversion</word>
|
||||
<word key="conversion_deleted" js="0">Conversion Deleted</word>
|
||||
<word key="conversion_app_has_children" js="0">This conversion has `child` conversions assigned to it, these must be deleted first</word>
|
||||
<word key="conversion_app_already_exists" js="0">A conversion has already been configured for this software. We have taken you to that conversion now.</word>
|
||||
<word key="conversion_app_not_found" js="0">The conversion you were managing could not be found</word>
|
||||
<word key="convert_start_application" js="0">What do you want to convert?</word>
|
||||
<word key="core_node_select" js="0">Member and System Information</word>
|
||||
<word key="forums_node_select" js="0">Forum and Topic Data</word>
|
||||
<word key="blog_node_select" js="0">Blog Data</word>
|
||||
<word key="calendar_node_select" js="0">Calendar and Event Data</word>
|
||||
<word key="downloads_node_select" js="0">Downloads Data</word>
|
||||
<word key="gallery_node_select" js="0">Gallery and Images Data</word>
|
||||
<word key="cms_node_select" js="0">Pages and Record Data</word>
|
||||
<word key="nexus_node_select" js="0">Commerce, Support, and Purchase Data</word>
|
||||
<word key="convert_start_source_software" js="0">What software are you converting from?</word>
|
||||
<word key="convert_no_applicable_parent" js="0">This converter requires that a parent conversion exists first.</word>
|
||||
<word key="convert_start_database_details" js="0">Database Details</word>
|
||||
<word key="convert_start_select_parent" js="0">If this is from the same source as a previous conversion, select it here.</word>
|
||||
<word key="convert_start_parent" js="0">Parent Conversion</word>
|
||||
<word key="convert_start_or_database" js="0">If this conversion requires different database details then the parent, then enter them here - otherwise leave blank to use the parent details.</word>
|
||||
<word key="convert_start_database_host" js="0">Database Host</word>
|
||||
<word key="convert_start_database_port" js="0">Database Port</word>
|
||||
<word key="convert_start_database_name" js="0">Database Name</word>
|
||||
<word key="convert_start_database_user" js="0">Database User</word>
|
||||
<word key="convert_start_database_pass" js="0">Database Password</word>
|
||||
<word key="convert_start_database_prefix" js="0">Database Table Prefix</word>
|
||||
<word key="convert_start_database_charset" js="0">Database Character Set</word>
|
||||
<word key="select_source" js="0">Select Source Software</word>
|
||||
<word key="enter_database_details" js="0">Enter Database Details</word>
|
||||
<word key="start_conversion" js="0">Start Conversion</word>
|
||||
<word key="edit_conversion" js="0">Edit Conversion</word>
|
||||
<word key="db_host" js="0">Database Host</word>
|
||||
<word key="db_port" js="0">Database Port</word>
|
||||
<word key="db_db" js="0">Database Name</word>
|
||||
<word key="db_user" js="0">Database User</word>
|
||||
<word key="db_pass" js="0">Database Password</word>
|
||||
<word key="db_prefix" js="0">Database Table Prefix</word>
|
||||
<word key="db_charset" js="0">Database Character Set</word>
|
||||
<word key="could_not_count_rows" js="0">Failed to count rows in table '%s' - is your table prefix set correctly?</word>
|
||||
<word key="file_location" js="0">Location of files</word>
|
||||
<word key="new_software" js="0">Create New Converter</word>
|
||||
<word key="new_library" js="0">Create New Library</word>
|
||||
<word key="classname" js="0">Class Name</word>
|
||||
<word key="library" js="0">Library</word>
|
||||
<word key="new_software_not_in_dev" js="0">You can only create new converters while IN_DEV.</word>
|
||||
<word key="new_library_not_in_dev" js="0">You can only create new libraries while IN_DEV.</word>
|
||||
<word key="source_path" js="0">Path to %s installation.</word>
|
||||
<word key="path_invalid" js="0">The path entered appears to be invalid.</word>
|
||||
<word key="convert_finish_confirm" js="0">Finishing the conversion should only be done once all parts of your conversion is completed</word>
|
||||
<word key="convert_finish_confirm_title" js="0">Finish Conversion</word>
|
||||
<word key="convert_cant_connect_db" js="0">The details provided are not correct or the database is unavailable.</word>
|
||||
<word key="convert_cant_connect_db_charset" js="0">The database character set you supplied is not a valid database character set.</word>
|
||||
<word key="convert_cant_connect_db_prefix" js="0">The database table prefix you supplied appears to be incorrect.</word>
|
||||
<word key="convert_again" js="0">Convert Again</word>
|
||||
<word key="begin_conversion" js="0">Begin Conversion</word>
|
||||
<word key="confirm_reconvert" js="0">Are you sure you wish to convert again? If you reconvert this step, then you MUST also reconvert the following steps.</word>
|
||||
<word key="reconvert_button" js="0">Reconvert</word>
|
||||
<word key="conversion_info_message" js="0"><![CDATA[Once all steps have been completed, you can <a href='%s'>begin another conversion</a> or <a href='%s' data-confirm data-confirmSubMessage='Finishing the conversion should only be done once all parts of your conversion is completed'>finish</a> to rebuild data.]]></word>
|
||||
<word key="convert_cms_info_message" js="0"><![CDATA[<br><br><strong>Note:</strong> Items that contain customized HTML, such as pages and blocks, may not work properly when converted into the IPS Community Suite. It is recommended that you review these items, once the conversion has completed, and update them accordingly.]]></word>
|
||||
<word key="convert_wp_typical_path" js="0">This is typically: /path/to/wordpress/wp-content/uploads</word>
|
||||
<word key="convert_ee_sig_attach_path" js="0">This is typically: /path/to/expressionengine/images/signature_attachments/</word>
|
||||
<word key="convert_ee_avatar_path" js="0">This is typically: /path/to/expressionengine/images/avatars/</word>
|
||||
<word key="convert_ee_pm_attach_path" js="0">This is typically: /path/to/expressionengine/images/pm_attachments/</word>
|
||||
<word key="convert_ee_forum_at_path" js="0">This is typically: /path/to/expressionengine/images/forum_attachments</word>
|
||||
<word key="convert_groupicon_hint" js="0">(Optional) Location where group images or icons are stored</word>
|
||||
<word key="convert_phpbb_emoticons" js="0">This is typically: /path/to/phpbb/images/smilies</word>
|
||||
<word key="convert_phpbb_randstring" js="0">This is the string of characters that precedes the filename of all uploaded avatars - if you are not sure what this is, you can typically find it by referencing the files located at /path/to/phpbb/images/avatars/upload</word>
|
||||
<word key="convert_phpbb_avatars" js="0">This is typically: /path/to/phpbb/images/avatars/upload</word>
|
||||
<word key="convert_phpbb_avatargallery" js="0">This is typically: /path/to/phpbb/images/avatars/gallery - leave blank to skip converting avatars from the avatar gallery</word>
|
||||
<word key="convert_phpbb_ranks_path" js="0">This is typically: /path/to/phpbb/images/ranks</word>
|
||||
<word key="convert_phpbb_attach_path" js="0">This is typically: /path/to/phpbb/files</word>
|
||||
<word key="convert_vanilla_photopath" js="0">This is typically: /path/to/vanilla/uploads</word>
|
||||
<word key="convert_vb_smilie_path" js="0">This is typically: /path/to/vb/images/smilies</word>
|
||||
<word key="convert_vb5_smilie_path" js="0">This is typically: /path/to/vb5/core/images/smilies</word>
|
||||
<word key="convert_xf_attach_path" js="0">This is typically: /path/to/xenforo/internal_data/attachments</word>
|
||||
<word key="convert_xf_gal_path" js="0">This is typically: /path/to/xenforo/data/xengallery</word>
|
||||
<word key="convert_xf_avatar_path" js="0">This is typically: /path/to/xenforo/data/avatars</word>
|
||||
<word key="convert_mybb_attach_path" js="0">This is typically: /path/to/mybb/uploads</word>
|
||||
<word key="convert_smf_attach_path" js="0">This is typically: /path/to/smf/attachments</word>
|
||||
<word key="convert_ubb_attach_path" js="0">This is typically: /path/to/ubb/uploads/attachments</word>
|
||||
<word key="convert_vb_preconvert" js="0">If you are also converting from vBulletin Forums, it is highly recommended that you convert from that application first so article to topic synchronization can occur correctly.</word>
|
||||
<word key="convert_phpbb_preconvert" js="0">You can typically obtain these details from the file located at /path/to/phpbb/config.php</word>
|
||||
<word key="convert_vanilla_preconvert" js="0">You can typically obtain these details from the file located at /path/to/vanilla/conf/config.php</word>
|
||||
<word key="convert_vb4_preconvert" js="0">You can typically obtain these details from the file located at /path/to/vb4/includes/config.php</word>
|
||||
<word key="convert_vb5_preconvert" js="0">You can typically obtain these details from the file located at /path/to/vb5/core/includes/config.php</word>
|
||||
<word key="convert_wordpress_preconvert" js="0">You can typically obtain these details from the file called wp-config.php</word>
|
||||
<word key="convert_xf_preconvert" js="0">You can typically obtain these details from the file located at /path/to/xenforo/library/config.php</word>
|
||||
<word key="convert_coppermine_filehint" js="0">This is typically: /path/to/coppermine/albums</word>
|
||||
<word key="convert_photoplog_hint" js="0">This is typically: /path/to/photoplog/images</word>
|
||||
<word key="convert_mod_rewrite_urls" js="0"><![CDATA[You have not enabled the setting <a href='{internal.app=core&module=promotion&controller=seo}'>Rewrite Urls</a> in the Community Suite. If you do not enable this option, URLs from your previous software installation may not correctly redirect to the new locations in the Community Suite.]]></word>
|
||||
<word key="converter_supports_settings" js="0"><![CDATA[This converter supports translating your old settings into their IPS Community Suite equivalents. If you would like to do that, please <a href='%s'>click here</a> before beginning.]]></word>
|
||||
<word key="converting_settings" js="0">Converting Settings</word>
|
||||
<word key="converting_settings_desc" js="0">The following settings will converted to their IPS Community Suite equivalents.</word>
|
||||
<word key="convert_setting_x_to_x" js="0"><![CDATA[<em>%s</em> to <em>%s</em>: %s]]></word>
|
||||
<word key="converting_x_to_x" js="0">Converting from %s to %s</word>
|
||||
<word key="step_title" js="0">Step</word>
|
||||
<word key="ips_rows" js="0">Current Count</word>
|
||||
<word key="source_rows" js="0">Source Count</word>
|
||||
<word key="per_cycle" js="0">Amount to Process Per Cycle</word>
|
||||
<word key="empty_local_data" js="0">Empty Local Data</word>
|
||||
<word key="remove_converted_data" js="0">Remove Converted Data</word>
|
||||
<word key="step_method" js="0"></word>
|
||||
<word key="more_info_needed" js="0">More Information Needed</word>
|
||||
<word key="converting" js="0">Converting...</word>
|
||||
<word key="converted_x_of_x" js="0">Converted %s %s out of %s</word>
|
||||
<word key="removed_x_of_x" js="0">Removed %s %s out of %s</word>
|
||||
<word key="finish" js="0">Finish</word>
|
||||
<word key="reconfigure" js="0">Reconfigure</word>
|
||||
<word key="cannot_convert" js="0">Cannot Convert Yet</word>
|
||||
<word key="cannot_convert_desc" js="0">This step cannot be run until the steps before this one have been run.</word>
|
||||
<word key="no_conversion_app" js="0">The conversion you attempted to run could not be found.</word>
|
||||
<word key="convert_custom_bbcode" js="0">Custom BBCode</word>
|
||||
<word key="convert_emoticons" js="0">Emoticons</word>
|
||||
<word key="emoticon_path" js="0">Path to emoticons</word>
|
||||
<word key="keep_existing_emoticons" js="0">Keep Existing?</word>
|
||||
<word key="keep_existing_emoticons_desc" js="0">If checked, then any emoticons that are inserted that have the same typed code as an existing emoticon will be merged into the already existing one.</word>
|
||||
<word key="emoticon_missing_ids" js="0">Emoticon missing ID</word>
|
||||
<word key="emoticon_missing_code" js="0">Emoticon missing code</word>
|
||||
<word key="emoticon_no_file" js="0">No emoticon file provided</word>
|
||||
<word key="emoticon_no_filename" js="0">No emoticon filename provided</word>
|
||||
<word key="follow_failed_insert" js="0">Follow failed to insert</word>
|
||||
<word key="convert_profile_field_groups" js="0">Profile Field Groups</word>
|
||||
<word key="profile_field_group_missing_ids" js="0">Profile Field Group missing ID</word>
|
||||
<word key="profile_field_group_missing_name" js="0">Profile Field Group missing name</word>
|
||||
<word key="map_pfgroup_desc" js="0">Select the profile field group to merge this one with, or select 'None' to create new.</word>
|
||||
<word key="convert_profile_fields" js="0">Profile Fields</word>
|
||||
<word key="map_pfield_desc" js="0">Select the profile field to merge this one with, or select 'None' to create new.</word>
|
||||
<word key="convert_groups" js="0">Member Groups</word>
|
||||
<word key="map_group_desc" js="0">Select the group to merge this one with, or select 'None' to create new.</word>
|
||||
<word key="convert_members" js="0">Members</word>
|
||||
<word key="convert_members_followers" js="0">Member followers</word>
|
||||
<word key="photo_type" js="0">Photos to Retain</word>
|
||||
<word key="photo_type_desc" js="0">This software supports multiple types of images to represent an account. Only one of these can be retained, however. If a photo of the selected type does not exist for a member, than the other will attempt to be used instead.</word>
|
||||
<word key="photo_location" js="0">Location of Photos</word>
|
||||
<word key="photo_location_desc" js="0">If member photos are presently stored in the database, then select 'Database', otherwise select 'File System' and then enter the path to profile photos in the textbox provided.</word>
|
||||
<word key="photo_location_nodb_desc" js="0">The path to profile photos.</word>
|
||||
<word key="photo_hash" js="0">Avatar Hash</word>
|
||||
<word key="gallery_location" js="0">Gallery Location</word>
|
||||
<word key="pseudo_field" js="0">Field: %s</word>
|
||||
<word key="pseudo_field_desc" js="0">This field is stored directly in the database, rather than as a custom profile field. You can choose to either convert it into a new profile field, or not convert it at all. If creating a new field, then you may enter the name of the field into the textbox.</word>
|
||||
<word key="avatars" js="0">Avatars</word>
|
||||
<word key="profile_photos" js="0">Profile Photos</word>
|
||||
<word key="database" js="0">Database</word>
|
||||
<word key="file_system" js="0">File System</word>
|
||||
<word key="no_convert" js="0">Do not convert</word>
|
||||
<word key="create_field" js="0">Create New Field</word>
|
||||
<word key="member_exists" js="0">Member %s exists as %s.</word>
|
||||
<word key="member_email_invalid" js="0">Member email invalid (%s) using %s instead.</word>
|
||||
<word key="member_name_in_use" js="0">Name '%s' is currently in use, member renamed to '%s'</word>
|
||||
<word key="member_name_too_long" js="0">Name '%s' is too long, member renamed to '%s'</word>
|
||||
<word key="member_name_invalid_chars" js="0">Name '%s' contained invalid characters, member renamed to '%s'</word>
|
||||
<word key="username_or_display_name" js="0">Name to keep</word>
|
||||
<word key="user_name" js="0">User Name</word>
|
||||
<word key="display_name" js="0">Display Name</word>
|
||||
<word key="username_hint" js="0">You can only convert one name, do you want to keep usernames or display names?</word>
|
||||
<word key="convert_statuses" js="0">Status Updates / Profile Comments</word>
|
||||
<word key="convert_status_replies" js="0">Status Comments</word>
|
||||
<word key="status_update_missing_ids" js="0">Status Update Missing ID</word>
|
||||
<word key="status_update_no_member" js="0">No Member ID provided.</word>
|
||||
<word key="status_update_no_author" js="0">No Author ID provided</word>
|
||||
<word key="status_update_no_content" js="0">No comment text</word>
|
||||
<word key="convert_ignored_users" js="0">Ignored Users</word>
|
||||
<word key="ignored_user_missing_ids" js="0">Missing Ignore ID</word>
|
||||
<word key="ignored_user_missing_owner" js="0">No Member ID provided</word>
|
||||
<word key="ignored_user_missing_ignore" js="0">No Ignored Member ID provided</word>
|
||||
<word key="convert_announcements" js="0">Announcements</word>
|
||||
<word key="announcement_missing_id" js="0">Announcement Missing ID</word>
|
||||
<word key="announcement_missing_title" js="0">Announcement Missing Title</word>
|
||||
<word key="announcement_missing_content" js="0">Announcement Missing Content</word>
|
||||
<word key="announcement_missing_member_id" js="0">Announcement Missing Member ID</word>
|
||||
<word key="convert_private_messages" js="0">Private Messages</word>
|
||||
<word key="private_message_topic_ids_missing" js="0">PM missing topic ID</word>
|
||||
<word key="private_message_topic_no_posts" js="0">PM does not have any posts</word>
|
||||
<word key="private_message_topic_no_users" js="0">PM does not have any users</word>
|
||||
<word key="private_message_topic_title_missing" js="0">PM title is missing.</word>
|
||||
<word key="private_message_topic_starter_missing" js="0">PM starter missing.</word>
|
||||
<word key="private_message_post_missing_ids" js="0">PM post missing ID</word>
|
||||
<word key="private_message_post_no_content" js="0">PM post missing content</word>
|
||||
<word key="private_message_map_missing_user" js="0">PM map missing user</word>
|
||||
<word key="private_message_topic_missing_maps" js="0">No member maps inserted.</word>
|
||||
<word key="convert_private_message_replies" js="0">Private Message Replies</word>
|
||||
<word key="convert_dname_changes" js="0">Display Name Change Logs</word>
|
||||
<word key="convert_ranks" js="0">Member Ranks</word>
|
||||
<word key="rank_missing_ids" js="0">Rank ID Missing</word>
|
||||
<word key="rank_missing_title" js="0">Rank Missing Title</word>
|
||||
<word key="rank_location" js="0">Rank Image Location</word>
|
||||
<word key="core_rating_duplicate" js="0">Duplicate Rating</word>
|
||||
<word key="convert_profanity_filters" js="0">Profanity Filters</word>
|
||||
<word key="convert_banfilters" js="0">Ban Filters</word>
|
||||
<word key="convert_banfilters2" js="0">Ban Filters</word>
|
||||
<word key="convert_question_and_answers" js="0">Question and Answer Verification</word>
|
||||
<word key="convert_warn_actions" js="0">Warning Actions</word>
|
||||
<word key="convert_warn_reasons" js="0">Warning Reasons</word>
|
||||
<word key="convert_forums_forums" js="0">Forums</word>
|
||||
<word key="convert_forums_forums_followers" js="0">Forum followers</word>
|
||||
<word key="forum_password" js="0">Password for %s</word>
|
||||
<word key="forum_password_desc" js="0"><![CDATA[This forum has a password set, however we are unable to decrypt the password for conversion into IPS4. Please enter the password you wish to use for this forum. <strong>Note:</strong> Not entering a password here will result in no password being set for the forum.]]></word>
|
||||
<word key="convert_forums_topics" js="0">Topics</word>
|
||||
<word key="convert_forums_topics_followers" js="0">Topic followers</word>
|
||||
<word key="convert_forums_posts" js="0">Posts</word>
|
||||
<word key="convert_forums_archive_posts" js="0">Archived Posts</word>
|
||||
<word key="convert_attachments" js="0">Attachments</word>
|
||||
<word key="convert_forums_attachments" js="0">Post Attachments</word>
|
||||
<word key="attach_location" js="0">Path to attachments</word>
|
||||
<word key="convert_blogs" js="0">Blogs</word>
|
||||
<word key="convert_blog_entries" js="0">Blog Entries</word>
|
||||
<word key="convert_blog_comments" js="0">Entry Comments</word>
|
||||
<word key="convert_blog_attachments" js="0">Entry Attachments</word>
|
||||
<word key="convert_calendar_calendars" js="0">Calendars</word>
|
||||
<word key="convert_calendar_events" js="0">Calendar Events</word>
|
||||
<word key="convert_calendar_comments" js="0">Event Comments</word>
|
||||
<word key="convert_calendar_reviews" js="0">Event Reviews</word>
|
||||
<word key="convert_calendar_attachments" js="0">Event Attachments</word>
|
||||
<word key="convert_gallery_categories" js="0">Categories</word>
|
||||
<word key="convert_gallery_albums" js="0">Albums</word>
|
||||
<word key="convert_gallery_images" js="0">Images</word>
|
||||
<word key="convert_gallery_comments" js="0">Image Comments</word>
|
||||
<word key="convert_gallery_reviews" js="0">Image Reviews</word>
|
||||
<word key="convert_gallery_attachments" js="0">Image Attachments</word>
|
||||
<word key="members_gallery_category" js="0">Members Gallery Category</word>
|
||||
<word key="members_gallery_category_desc" js="0">IPS Community Suite 4 requires all albums belong to a category. Please select the category to place albums with no category into, or select None to create one automatically.</word>
|
||||
<word key="media_thumb_location" js="0">Media Thumbnail Location</word>
|
||||
<word key="convert_author_replies_to_comments" js="0">Convert author replies to comments?</word>
|
||||
<word key="convert_author_replies_to_comments_desc" js="0">If Yes, then replies by the author to reviews will be converted into normal comments, with the review in quotes. If No, replies will not be converted.</word>
|
||||
<word key="convert_downloads_cfields" js="0">File Custom Fields</word>
|
||||
<word key="convert_downloads_categories" js="0">File Categories</word>
|
||||
<word key="convert_downloads_files" js="0">Files</word>
|
||||
<word key="convert_downloads_reviews" js="0">File Reviews</word>
|
||||
<word key="convert_downloads_comments" js="0">File Comments</word>
|
||||
<word key="convert_cms_pages" js="0">Pages</word>
|
||||
<word key="convert_cms_databases" js="0">Databases</word>
|
||||
<word key="convert_cms_database_categories" js="0">Database Categories</word>
|
||||
<word key="convert_cms_database_records" js="0">Database Records</word>
|
||||
<word key="convert_cms_database_comments" js="0">Database Comments</word>
|
||||
<word key="convert_cms_media" js="0">Media</word>
|
||||
<word key="convert_cms_blocks" js="0">Blocks</word>
|
||||
<word key="queue_deleting_empty_topics" js="0">Deleting empty topics</word>
|
||||
<word key="queue_rebuilding_gallery_images" js="0">Rebuilding Gallery Images</word>
|
||||
<word key="queue_rebuilding_conversation_first_id" js="0">Rebuilding Personal Conversation first post ids</word>
|
||||
<word key="queue_rebuilding_tag_cache" js="0">Rebuilding %s tags</word>
|
||||
<word key="queue_recounting_question_ratings" js="0">Rebuilding Question Ratings</word>
|
||||
<word key="queue_recounting_answer_ratings" js="0">Rebuilding Answer Ratings</word>
|
||||
<word key="continue_conversion" js="0">Continue Conversion</word>
|
||||
<word key="convert_nexus_customers" js="0">Customers</word>
|
||||
<word key="convert_nexus_package_groups" js="0">Package Groups</word>
|
||||
<word key="convert_nexus_packages" js="0">Packages</word>
|
||||
<word key="convert_nexus_invoices" js="0">Invoices</word>
|
||||
<word key="convert_nexus_transactions" js="0">Transactions</word>
|
||||
<word key="convert_nexus_purchases" js="0">Purchases</word>
|
||||
<word key="f_blog_entries_rebuilding" js="0">Rebuilding blog entries</word>
|
||||
<word key="f_entry_comments_rebuilding" js="0">Rebuilding entry comments</word>
|
||||
<word key="f_blogs_recounting" js="0">Resyncing blog counts</word>
|
||||
<word key="f_entry_tags_cache" js="0">Rebuilding blog entry tags</word>
|
||||
<word key="f_gallery_images_rebuild" js="0">Rebuilding gallery images</word>
|
||||
<word key="f_gallery_cat_recount" js="0">Resyncing gallery category counts</word>
|
||||
<word key="f_gallery_album_recount" js="0">Resyncing gallery album counts</word>
|
||||
<word key="f_gallery_image_recount" js="0">Resyncing gallery image counts</word>
|
||||
<word key="f_image_tags_recount" js="0">Rebuilding gallery image tags</word>
|
||||
<word key="f_forum_last_post_data" js="0">Resyncing forum last post information</word>
|
||||
<word key="f_rebuild_posts" js="0">Rebuilding posts</word>
|
||||
<word key="f_recounting_forums" js="0">Resyncing forum counts</word>
|
||||
<word key="f_recounting_topics" js="0">Resyncing topic counts</word>
|
||||
<word key="f_topic_tags_recount" js="0">Rebuilding topic tags</word>
|
||||
<word key="f_search_index_rebuild" js="0">Rebuilding search index</word>
|
||||
<word key="f_clear_caches" js="0">Clearing caches</word>
|
||||
<word key="f_rebuild_pms" js="0">Rebuilding private messages</word>
|
||||
<word key="f_signatures_rebuild" js="0">Rebuilding signatures</word>
|
||||
<word key="f_announce_rebuild" js="0">Rebuilding announcements</word>
|
||||
<word key="f_rebuild_attachments" js="0">Rebuilding attachment thumbnails</word>
|
||||
<word key="f_recount_cms_categories" js="0">Resyncing database category counts</word>
|
||||
<word key="f_rebuild_cms_tags" js="0">Rebuilding database tags</word>
|
||||
<word key="f_rebuild_events" js="0">Rebuilding calendar events</word>
|
||||
<word key="f_recount_calendar" js="0">Resyncing calendar and event counts</word>
|
||||
<word key="__api_convert_converters" js="0">Converters</word>
|
||||
</app>
|
||||
</language>
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"admin": {
|
||||
"manage": {
|
||||
"default_controller": "manage",
|
||||
"protected": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
Loaded 100 of 312 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user