add lang var

This commit is contained in:
2026-01-07 20:31:50 +05:00
parent 9c4d0e7d1e
commit 1f23c9e313
3 changed files with 62 additions and 32 deletions

View File

@@ -57,6 +57,37 @@ COMMENT_ERROR_AUTHOR = "Укажите Имя!"
COMMENT_ERROR_EMAIL = "Укажите eMail!"
COMMENT_ERROR_TEXT = "Напишите комментарий!"
COMMENT_ERROR_CAPTCHA = "Укажите защитный код!"
COMMENT_FORM_ADD_COMM = "Форма добавления комментария"
COMMENT_FIX_NAME_ANON = "Имя зафиксировано по вашему ключу доступа."
COMMENT_FIELD_OPTIONAL = "(необязательно)"
COMMENT_RATING_TITEL = "Оцените материал:"
COMMENT_DEL_VOTE_TITEL = "Убрать оценку"
COMMENT_DEL_VOTE_RESET = "Сбросить"
COMMENT_ADD_FILES = "Прикрепить файлы"
COMMENT_ADD_FILES_ALLOW = "Разрешены:"
COMMENT_ADD_FILES_MAX_SIZE = "Макс. размер:"
COMMENT_ADD_FILES_SIZE = "Кб"
COMMENT_ADD_FILES_MAX_COUNT = "Макс. количество:"
COMMENT_ADD_FILES_COUNT_PIC = "шт."
COMMENT_CAPTCHA_UPD = "Обновить код"
COMMENT_BUTTON_RES = "Сбросить"
COMMENT_MOD_DEL_CONFIRM = "Подтверждение удаления"
COMMENT_MOD_DEL_CONFIRM_A = "Вы уверены? Это действие необратимо."
COMMENT_MOD_DEL_CANCEL = "Отмена"
COMMENT_MOD_DEL_DEL = "Удалить"
COMMENT_CHECK_NAME = "Ранее этот гость использовал имена:"
COMMENT_CHECK_NAME_TRUE = "менял имя"
COMMENT_CHECK_NAME_EDIT = "ред."
COMMENT_FILE_IMAGE = "Изображение"
COMMENT_AUTOR_RATING_A = "Оценка автора:"
COMMENT_AUTOR_RATING_B = "Оценка:"
COMMENT_AUTOR_RATING_IZ = "из"
COMMENT_ICON_HIDE = "Скрыть комментарий"
COMMENT_ICON_SHOW = "Показать комментарий"
COMMENT_ANSWER_AJAX_BUTTON = "Показать еще"
COMMENT_ANSWER_AJAX_TEXT = "ответов"
[admin]
COMMENT_MODULE_NAME = "Комментарии"

View File

@@ -63,7 +63,7 @@
<form method="post" action="{$ABS_PATH}" enctype="multipart/form-data">
<fieldset>
<legend class="d-none">Форма добавления комментария</legend>
<legend class="d-none">{#COMMENT_FORM_ADD_COMM#}</legend>
{if $smarty.session.user_group != '2'}
<div class="row mb-3">
@@ -89,7 +89,7 @@
{if isset($saved_anon.exists) && $saved_anon.exists}readonly style="background-color: #f8f9fa;"{/if} />
{if isset($saved_anon.exists) && $saved_anon.exists}
<div class="form-text small text-muted">Имя зафиксировано по вашему ключу доступа.</div>
<div class="form-text small text-muted">{#COMMENT_FIX_NAME_ANON#}</div>
{/if}
</div>
<div class="col-md-6">
@@ -106,7 +106,7 @@
{if $comment_show_f1 == 1}
<div class="col-md-6 mb-3 mb-md-0">
<label for="in_author_website" class="form-label">
{$comment_name_f1|default:#COMMENT_YOUR_SITE#} {if $comment_req_f1 == 1}*{else}(необязательно){/if}
{$comment_name_f1|default:#COMMENT_YOUR_SITE#} {if $comment_req_f1 == 1}*{else}{#COMMENT_FIELD_OPTIONAL#}{/if}
</label>
<input name="comment_author_website" type="text" id="in_author_website" class="form-control" placeholder="{$comment_name_f1|default:#COMMENT_YOUR_SITE#}" value="{$smarty.request.comment_author_website|default:''|escape|stripslashes}" />
</div>
@@ -115,7 +115,7 @@
{if $comment_show_f2 == 1}
<div class="col-md-6">
<label for="in_author_city" class="form-label">
{$comment_name_f2|default:#COMMENT_YOUR_FROM#} {if $comment_req_f2 == 1}*{else}(необязательно){/if}
{$comment_name_f2|default:#COMMENT_YOUR_FROM#} {if $comment_req_f2 == 1}*{else}{#COMMENT_FIELD_OPTIONAL#}{/if}
</label>
<input name="comment_author_city" type="text" id="in_author_city" class="form-control" placeholder="{$comment_name_f2|default:#COMMENT_YOUR_FROM#}" value="{$smarty.request.comment_author_city|default:''|escape|stripslashes}" />
</div>
@@ -127,11 +127,11 @@
<textarea rows="8" name="comment_text" id="in_message" class="form-control" placeholder="{#COMMENT_YOUR_TEXT#}"></textarea>
</div>
{* --- ВНЕДРЕНИЕ: ВЫБОР РЕЙТИНГА (ДОБАВЛЕН ID rating_wrapper) --- *}
{* --- ВЫБОР РЕЙТИНГА --- *}
{if $comment_show_user_rating == 1}
{if $smarty.session.user_group != '2' || $comment_rating_anon_set == 1}
<div class="mb-3" id="rating_wrapper">
<label class="form-label d-block small fw-bold text-muted text-uppercase mb-1">Оцените материал:</label>
<label class="form-label d-block small fw-bold text-muted text-uppercase mb-1">{#COMMENT_RATING_TITEL#}</label>
<div class="d-flex align-items-center">
<div id="user_rating_stars" class="fs-4" style="color: #ffc107; display: inline-block;">
<i class="star-choice bi bi-star" data-value="1" title="Ужасно" style="cursor: pointer;"></i>
@@ -140,8 +140,8 @@
<i class="star-choice bi bi-star" data-value="4" title="Хорошо" style="cursor: pointer;"></i>
<i class="star-choice bi bi-star" data-value="5" title="Отлично" style="cursor: pointer;"></i>
</div>
<a href="javascript:void(0);" id="reset_stars" class="ms-3 text-decoration-none small text-muted" title="Убрать оценку">
<i class="bi bi-x-circle"></i> Сбросить
<a href="javascript:void(0);" id="reset_stars" class="ms-3 text-decoration-none small text-muted" title="{#COMMENT_DEL_VOTE_TITEL#}">
<i class="bi bi-x-circle"></i> {#COMMENT_DEL_VOTE_RESET#}
</a>
</div>
<input name="comment_user_rating" type="hidden" id="comment_user_rating" value="0" />
@@ -157,14 +157,14 @@
{if $smarty.session.user_group != '2' || $comment_allow_files_anon == 1}
<div class="mb-3">
<label for="comment_image" class="form-label mb-1">
<span class="text-muted small"><i class="bi bi-paperclip me-1"></i> Прикрепить файлы</span>
<span class="text-muted small"><i class="bi bi-paperclip me-1"></i> {#COMMENT_ADD_FILES#}</span>
</label>
<div class="small text-muted mb-2">
Разрешены: <span class="fw-bold">{$comment_allowed_extensions|default:'jpg, png, gif'}</span>.
Макс. размер: <span class="fw-bold">{$comment_max_file_size|default:'2048'} Кб</span>.
{* ВНЕДРЯЕМ ЛИМИТ КОЛИЧЕСТВА *}
Макс. количество: <span class="fw-bold text-primary">{$comment_max_files|default:'5'} шт.</span>
{#COMMENT_ADD_FILES_ALLOW#} <span class="fw-bold">{$comment_allowed_extensions|default:'jpg, png, gif, webp'}</span>.
{#COMMENT_ADD_FILES_MAX_SIZE#} <span class="fw-bold">{$comment_max_file_size|default:'2048'} {#COMMENT_ADD_FILES_SIZE#}</span>.
{* ЛИМИТ КОЛИЧЕСТВА *}
{#COMMENT_ADD_FILES_MAX_COUNT#} <span class="fw-bold text-primary">{$comment_max_files|default:'5'} {#COMMENT_ADD_FILES_COUNT_PIC#}</span>
</div>
<input type="file" name="comment_image[]" id="comment_image" class="form-control form-control-sm" multiple>
@@ -191,7 +191,7 @@
<span id="captcha" class="d-block mb-1">
<img src="{$ABS_PATH}inc/captcha.php" alt="{#COMMENT_FORM_CODE#}" class="img-fluid border rounded" style="cursor: pointer;" width="120" height="60" border="0" />
</span>
<a href="javascript:void(0);" id="reload_captcha" class="small text-decoration-none text-muted"><i class="bi bi-arrow-clockwise"></i> Обновить код</a>
<a href="javascript:void(0);" id="reload_captcha" class="small text-decoration-none text-muted"><i class="bi bi-arrow-clockwise"></i> {#COMMENT_CAPTCHA_UPD#}</a>
</div>
</div>
<div class="col-md-8">
@@ -206,7 +206,7 @@
<i class="bi bi-send-fill me-1"></i> {#COMMENT_BUTTON_ADD#}
</button>
<button type="reset" id="buttonReset" class="btn btn-secondary">
<i class="bi bi-x-circle me-1"></i> Сбросить
<i class="bi bi-x-circle me-1"></i> {#COMMENT_BUTTON_RES#}
</button>
</div>
@@ -234,13 +234,13 @@
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header bg-danger text-white">
<h5 class="modal-title">Подтверждение удаления</h5>
<h5 class="modal-title">{#COMMENT_MOD_DEL_CONFIRM#}</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">Вы уверены? Это действие необратимо.</div>
<div class="modal-body">{#COMMENT_MOD_DEL_CONFIRM_A#}</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Отмена</button>
<button type="button" class="btn btn-danger" id="confirmDeleteButton">Удалить</button>
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">{#COMMENT_MOD_DEL_CANCEL#}</button>
<button type="button" class="btn btn-danger" id="confirmDeleteButton">{#COMMENT_MOD_DEL_DEL#}</button>
</div>
</div>
</div>
@@ -275,7 +275,6 @@
var MAX_CHARS = '{$comment_max_chars}';
var aveabspath = '{$ABS_PATH}';
// --- ОБНОВЛЕННЫЕ ПЕРЕМЕННЫЕ ---
var SHOW_USER_RATING = '{$comment_show_user_rating|default:0}';
var SHOW_USER_RATING_REPLIES = '{$comment_show_user_rating_replies|default:0}';
var RATING_ANON_SET = '{$comment_rating_anon_set|default:0}';

View File

@@ -35,8 +35,8 @@
style="font-size: 0.65rem; cursor: help;"
data-bs-toggle="tooltip"
data-bs-html="true"
title="Ранее этот гость использовал имена:<br/>{foreach $c.past_names as $pname}{$pname|escape}<br/>{/foreach}">
<i class="bi bi-exclamation-triangle-fill"></i> менял имя
title="{#COMMENT_CHECK_NAME#}<br/>{foreach $c.past_names as $pname}{$pname|escape}<br/>{/foreach}">
<i class="bi bi-exclamation-triangle-fill"></i> {#COMMENT_CHECK_NAME_TRUE#}
</span>
{/if}
</span>
@@ -47,7 +47,7 @@
{/if}
{if isset($c.comment_changed) && $c.comment_changed && $c.comment_changed != '0'}
<span class="badge bg-light text-secondary border fw-normal" id="changed_{$c.Id}">ред. {$c.comment_changed}</span>
<span class="badge bg-light text-secondary border fw-normal" id="changed_{$c.Id}">{#COMMENT_CHECK_NAME_EDIT#} {$c.comment_changed}</span>
{/if}
</div>
@@ -83,7 +83,7 @@
<img src="{$ABS_PATH}uploads/comments/{$f_name}"
class="img-fluid rounded border shadow-sm"
style="width: 100px; height: 100px; object-fit: cover;"
alt="Изображение" />
alt="{#COMMENT_FILE_IMAGE#}" />
</a>
<div class="d-flex align-items-center">
@@ -136,8 +136,8 @@
<div class="d-flex align-items-center flex-wrap gap-2">
{* 1. Оценка автора *}
{if isset($c.user_rating) && $c.user_rating > 0}
<div class="rating-author-badge" title="Оценка автора: {$c.user_rating} из 5">
<span class="d-none d-sm-inline">Оценка:</span>
<div class="rating-author-badge" title="{#COMMENT_AUTOR_RATING_A#} {$c.user_rating} {#COMMENT_AUTOR_RATING_IZ#} 5">
<span class="d-none d-sm-inline">{#COMMENT_AUTOR_RATING_B#}</span>
<div class="rating-author-stars">
{section name=r_star start=1 loop=6}
<i class="bi {if $smarty.section.r_star.index <= $c.user_rating}bi-star-fill{else}bi-star{/if}"></i>
@@ -196,8 +196,8 @@
{* Контейнер для кнопок, которые скрываются таймером *}
<span id="controls_{$c.Id}" class="d-flex align-items-center gap-1">
{if $c.can_edit}
<a class="btn btn-sm btn-link text-warning mod_comment_edit px-2" title="Редактировать" href="javascript:void(0);" data-id="{$c.Id}"><i class="bi bi-pencil-square"></i></a>
<a class="btn btn-sm btn-link text-danger mod_comment_delete px-2" title="Удалить" href="javascript:void(0);" data-id="{$c.Id}"><i class="bi bi-trash"></i></a>
<a class="btn btn-sm btn-link text-warning mod_comment_edit px-2" title="{#COMMENT_EDIT_LINK#}" href="javascript:void(0);" data-id="{$c.Id}"><i class="bi bi-pencil-square"></i></a>
<a class="btn btn-sm btn-link text-danger mod_comment_delete px-2" title="{#COMMENT_DELETE_LINK#}" href="javascript:void(0);" data-id="{$c.Id}"><i class="bi bi-trash"></i></a>
{/if}
</span>
@@ -205,7 +205,7 @@
<a class="btn btn-sm btn-link {if $c.comment_status==1}text-success{else}text-danger{/if} mod_comment_toggle px-2"
href="javascript:void(0);"
data-id="{$c.Id}"
title="{if $c.comment_status==1}Скрыть{else}Показать{/if}">
title="{if $c.comment_status==1}{#COMMENT_ICON_HIDE#}{else}{#COMMENT_ICON_SHOW#}{/if}">
<i class="bi bi-{if $c.comment_status==1}eye{else}eye-slash{/if}"></i>
</a>
{/if}
@@ -221,18 +221,18 @@
{if isset($comments) && isset($comments[$c.Id])}
<div class="mt-2">
{* ВАЖНО: передаем parentId=$c.Id для следующего уровня вложенности *}
{* передаем parentId=$c.Id для следующего уровня вложенности *}
{include file="$subtpl" subcomments=$comments[$c.Id] sub=1 parentId=$c.Id}
</div>
{/if}
</div>
{* --- ВОТ СЮДА ВСТАВЛЯЕМ КНОПКУ --- *}
{* --- ВСТАВЛЯЕМ КНОПКУ AJAX ОТВЕТОВ --- *}
{if $smarty.foreach.sub_loop.last && isset($more_counts[$parentId])}
<div id="ajax_loader_{$parentId}" class="ms-4 mb-3">
<button class="btn btn-sm btn-outline-primary" onclick="loadMoreReplies('{$parentId}')">
<i class="bi bi-chevron-double-down"></i> Показать еще {$more_counts[$parentId]} ответов
<i class="bi bi-chevron-double-down"></i> {#COMMENT_ANSWER_AJAX_BUTTON#} {$more_counts[$parentId]} {#COMMENT_ANSWER_AJAX_TEXT#}
</button>
</div>
{/if}