Jinja2 syntax highlighting + description field + preview toggle
All checks were successful
Validate / Hassfest (push) Successful in 32s
All checks were successful
Validate / Hassfest (push) Successful in 32s
- Error line highlighting in JinjaEditor (red background on error line)
- Backend returns error_line from TemplateSyntaxError
- Localized syntax error messages with line number
- Renamed {{ }} button to "Variables" (localized)
- Localized all template variable descriptions (EN/RU)
- Added t() fallback parameter for graceful degradation
- Page transition animation (fade) to prevent content stacking
- Added syntaxError/line i18n keys
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -266,8 +266,48 @@
|
||||
"telegramSettings": "Telegram",
|
||||
"videoWarning": "Предупреждение о видео",
|
||||
"preview": "Предпросмотр",
|
||||
"variables": "Переменные",
|
||||
"assetFields": "Поля файла (в {% for asset in added_assets %})",
|
||||
"confirmDelete": "Удалить эту конфигурацию шаблона?"
|
||||
},
|
||||
"templateVars": {
|
||||
"message_assets_added": { "description": "Уведомление о добавлении файлов в альбом" },
|
||||
"message_assets_removed": { "description": "Уведомление об удалении файлов из альбома" },
|
||||
"message_album_renamed": { "description": "Уведомление о переименовании альбома" },
|
||||
"message_album_deleted": { "description": "Уведомление об удалении альбома" },
|
||||
"periodic_summary_message": { "description": "Периодическая сводка альбомов со статистикой" },
|
||||
"scheduled_assets_message": { "description": "Запланированная подборка фото из альбомов" },
|
||||
"memory_mode_message": { "description": "«В этот день» — фото из прошлых лет" },
|
||||
"album_name": "Название альбома",
|
||||
"album_url": "Публичная ссылка (если есть)",
|
||||
"added_count": "Количество добавленных файлов",
|
||||
"removed_count": "Количество удалённых файлов",
|
||||
"change_type": "Тип изменения",
|
||||
"people": "Обнаруженные люди ({{ people | join(', ') }})",
|
||||
"added_assets": "Список добавленных файлов ({% for asset in added_assets %})",
|
||||
"removed_assets": "Список ID удалённых файлов",
|
||||
"shared": "Общий альбом (true/false)",
|
||||
"video_warning": "Предупреждение о размере видео",
|
||||
"old_name": "Прежнее название альбома",
|
||||
"new_name": "Новое название альбома",
|
||||
"albums": "Список альбомов ({% for album in albums %})",
|
||||
"assets": "Список файлов ({% for asset in assets %})",
|
||||
"date": "Текущая дата/время",
|
||||
"asset_filename": "Имя файла",
|
||||
"asset_type": "IMAGE или VIDEO",
|
||||
"asset_created_at": "Дата создания (ISO 8601)",
|
||||
"asset_owner": "Имя владельца",
|
||||
"asset_description": "Описание (EXIF или пользовательское)",
|
||||
"asset_url": "Ссылка для просмотра",
|
||||
"asset_download_url": "Ссылка для скачивания",
|
||||
"asset_photo_url": "URL превью (только фото)",
|
||||
"asset_playback_url": "URL видео (только видео)",
|
||||
"asset_is_favorite": "В избранном",
|
||||
"asset_rating": "Рейтинг (1-5 или null)",
|
||||
"asset_city": "Город",
|
||||
"asset_state": "Регион",
|
||||
"asset_country": "Страна"
|
||||
},
|
||||
"hints": {
|
||||
"periodicSummary": "Отправляет плановую сводку по всем отслеживаемым альбомам в указанное время. Подходит для ежедневных/еженедельных дайджестов.",
|
||||
"scheduledAssets": "Отправляет случайные или выбранные фото из альбомов по расписанию. Как ежедневная подборка фото.",
|
||||
@@ -318,6 +358,8 @@
|
||||
"newPassword": "Новый пароль",
|
||||
"passwordChanged": "Пароль успешно изменён",
|
||||
"expand": "Развернуть",
|
||||
"collapse": "Свернуть"
|
||||
"collapse": "Свернуть",
|
||||
"syntaxError": "Ошибка синтаксиса",
|
||||
"line": "строка"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user