diff --git a/.prettierignore b/.prettierignore index 54884097d..be2ce0c2a 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,4 +1,9 @@ CHANGELOG.md CHANGELOG.tpl.md -pnpm-lock.yaml CDN.html +internal/template/notify_tpl/default.html + +# generated files +docs/swagger/swagger.json +docs/swagger/swagger.yaml +pnpm-lock.yaml \ No newline at end of file diff --git a/i18n/en.yml b/i18n/en.yml index 1c296db16..251659136 100644 --- a/i18n/en.yml +++ b/i18n/en.yml @@ -1,76 +1,76 @@ -"Access denied": -"Account": -"Admin access required": -"Admin": -"Cannot reply to this comment": -"Captcha required": -"Checking for updates": -"Comment count": -"Comment failed": -"Comment": -"Config file read failed": -"Confirm to continue?": -"Contains invalid URL": -"Create admin account": -"Current version is the latest": -"Downloading": -"Email": -"Enter {{name}}": -"Export complete": -"Export error": -"File": -"First comment": -"Image exceeds {{file_size}} limit": -"Image upload forbidden": -"Import complete": -"Invalid request": -"Invalid request. Please check your `trusted_domains` config.": -"Invalid {{name}}": -"Link": -"Login failed": -"Name": -"New version available": -"Nickname": -"No comment": -"Notify": -"Page fetch failed": -"Page": -"Parameter": -"Parent comment": -"Password update failed": -"Password updated": -"Password": -"Pending": -"Please review": -"Retype {{name}}": -"Save failed": -"Saving": -"Services restart complete": -"Site `{{name}}` not found. Please create it in control center.": -"Site": -"Sub-comment": -"Target Site": -"Task executing in background, please wait...": -"Task in progress, please wait a moment": -"Type": -"URL Resolver": -"Unable to get `{{name}}`": -"Unspecified": -"Unsupported formats": -"Update complete": -"Update failed": -"Upload image via {{method}} failed": -"User": -"Username": -"Verification failed": -"Working directory retrieval failed": -"Wrong captcha": -"{{count}} items imported": -"{{done}} of {{total}} done": -"{{name}} already exists": -"{{name}} cannot be empty": -"{{name}} creation failed": -"{{name}} deletion failed": -"{{name}} is required": -"{{name}} not found": -"{{name}} save failed": +'Access denied': +'Account': +'Admin access required': +'Admin': +'Cannot reply to this comment': +'Captcha required': +'Checking for updates': +'Comment count': +'Comment failed': +'Comment': +'Config file read failed': +'Confirm to continue?': +'Contains invalid URL': +'Create admin account': +'Current version is the latest': +'Downloading': +'Email': +'Enter {{name}}': +'Export complete': +'Export error': +'File': +'First comment': +'Image exceeds {{file_size}} limit': +'Image upload forbidden': +'Import complete': +'Invalid request': +'Invalid request. Please check your `trusted_domains` config.': +'Invalid {{name}}': +'Link': +'Login failed': +'Name': +'New version available': +'Nickname': +'No comment': +'Notify': +'Page fetch failed': +'Page': +'Parameter': +'Parent comment': +'Password update failed': +'Password updated': +'Password': +'Pending': +'Please review': +'Retype {{name}}': +'Save failed': +'Saving': +'Services restart complete': +'Site `{{name}}` not found. Please create it in control center.': +'Site': +'Sub-comment': +'Target Site': +'Task executing in background, please wait...': +'Task in progress, please wait a moment': +'Type': +'URL Resolver': +'Unable to get `{{name}}`': +'Unspecified': +'Unsupported formats': +'Update complete': +'Update failed': +'Upload image via {{method}} failed': +'User': +'Username': +'Verification failed': +'Working directory retrieval failed': +'Wrong captcha': +'{{count}} items imported': +'{{done}} of {{total}} done': +'{{name}} already exists': +'{{name}} cannot be empty': +'{{name}} creation failed': +'{{name}} deletion failed': +'{{name}} is required': +'{{name}} not found': +'{{name}} save failed': diff --git a/i18n/fr.yml b/i18n/fr.yml index 4af01977e..b837186c5 100644 --- a/i18n/fr.yml +++ b/i18n/fr.yml @@ -1,76 +1,76 @@ -"Access denied": Accès refusé -"Account": Compte -"Admin access required": Accès administrateur requis -"Admin": Administrateur -"Cannot reply to this comment": Impossible de répondre à ce commentaire -"Captcha required": Captcha requis -"Checking for updates": Vérification des mises à jour -"Comment count": Nombre de commentaires -"Comment failed": Le commentaire a écho -"Comment": Commentaire -"Config file read failed": Échec de la lecture du fichier de configuration -"Confirm to continue?": Confirmez pour continuer? -"Contains invalid URL": Contient une URL invalide -"Create admin account": Créer un compte administrateur -"Current version is the latest": La version actuelle est la plus récente -"Downloading": Téléchargement -"Email": Email -"Enter {{name}}": Entrez {{name}} -"Export complete": Exportation terminée -"Export error": Erreur d'exportation -"File": Fichier -"First comment": Premier commentaire -"Image exceeds {{file_size}} limit": L'image dépasse la limite de {{file_size}} -"Image upload forbidden": Téléchargement d'images interdit -"Import complete": Importation complète -"Invalid request": Requête invalide -"Invalid request. Please check your `trusted_domains` config.": Requête invalide. Veuillez vérifier votre configuration `trusted_domains`. -"Invalid {{name}}": {{name}} invalide -"Link": Lien -"Login failed": La connexion a échoué -"Name": Nom -"New version available": Nouvelle version disponible -"Nickname": Surnom -"No comment": Pas de commentaire -"Notify": Notifier -"Page fetch failed": Échec de la récupération de la page -"Page": Page -"Parameter": Paramètre -"Parent comment": Commentaire parent -"Password update failed": La mise à jour du mot de passe a échoué -"Password updated": Mot de passe mis à jour -"Password": Mot de passe -"Pending": En attente -"Please review": Veuillez réviser -"Retype {{name}}": Saisir à nouveau {{name}} -"Save failed": L'enregistrement a échoué -"Saving": Sauver -"Services restart complete": Redémarrage des services terminé -"Site `{{name}}` not found. Please create it in control center.": Le site `{{name}}` n'a pas été trouvé. Veuillez le créer dans le centre de contrôle. -"Site": Site -"Sub-comment": Sous-commentaire -"Target Site": Site cible -"Task executing in background, please wait...": Tâche exécutée en arrière-plan, veuillez patienter... -"Task in progress, please wait a moment": Tâche en cours, veuillez patienter un instant -"Type": Type -"URL Resolver": Résolveur d'URL -"Unable to get `{{name}}`": Impossible d'obtenir `{{name}}` -"Unspecified": Non spécifié -"Unsupported formats": Formats non supporté -"Update complete": Mise à jour terminée -"Update failed": Échec de la mise à jour -"Upload image via {{method}} failed": Échec de l'envoie d'une image via {{méthod}} -"User": Utilisateur -"Username": Nom d'utilisateur -"Verification failed": Échec de la vérification -"Working directory retrieval failed": Échec de la récupération du répertoire de travail -"Wrong captcha": Mauvais captcha -"{{count}} items imported": {{count}} articles importés" -"{{done}} of {{total}} done": {{done}} de {{total}} fait -"{{name}} already exists": {{name}} existe déjà -"{{name}} cannot be empty": {{name}} ne peut pas être vide -"{{name}} creation failed": La création de {{name}} a échoué -"{{name}} deletion failed": Échec de la suppression de {{name}} -"{{name}} is required": {{name}} est obligatoire -"{{name}} not found": {{name}} introuvable -"{{name}} save failed": Échec de la sauvegarde de {{name}} +'Access denied': Accès refusé +'Account': Compte +'Admin access required': Accès administrateur requis +'Admin': Administrateur +'Cannot reply to this comment': Impossible de répondre à ce commentaire +'Captcha required': Captcha requis +'Checking for updates': Vérification des mises à jour +'Comment count': Nombre de commentaires +'Comment failed': Le commentaire a écho +'Comment': Commentaire +'Config file read failed': Échec de la lecture du fichier de configuration +'Confirm to continue?': Confirmez pour continuer? +'Contains invalid URL': Contient une URL invalide +'Create admin account': Créer un compte administrateur +'Current version is the latest': La version actuelle est la plus récente +'Downloading': Téléchargement +'Email': Email +'Enter {{name}}': Entrez {{name}} +'Export complete': Exportation terminée +'Export error': Erreur d'exportation +'File': Fichier +'First comment': Premier commentaire +'Image exceeds {{file_size}} limit': L'image dépasse la limite de {{file_size}} +'Image upload forbidden': Téléchargement d'images interdit +'Import complete': Importation complète +'Invalid request': Requête invalide +'Invalid request. Please check your `trusted_domains` config.': Requête invalide. Veuillez vérifier votre configuration `trusted_domains`. +'Invalid {{name}}': '{{name}} invalide' +'Link': Lien +'Login failed': La connexion a échoué +'Name': Nom +'New version available': Nouvelle version disponible +'Nickname': Surnom +'No comment': Pas de commentaire +'Notify': Notifier +'Page fetch failed': Échec de la récupération de la page +'Page': Page +'Parameter': Paramètre +'Parent comment': Commentaire parent +'Password update failed': La mise à jour du mot de passe a échoué +'Password updated': Mot de passe mis à jour +'Password': Mot de passe +'Pending': En attente +'Please review': Veuillez réviser +'Retype {{name}}': 'Saisir à nouveau {{name}}' +'Save failed': L'enregistrement a échoué +'Saving': Sauver +'Services restart complete': Redémarrage des services terminé +'Site `{{name}}` not found. Please create it in control center.': Le site `{{name}}` n'a pas été trouvé. Veuillez le créer dans le centre de contrôle. +'Site': Site +'Sub-comment': Sous-commentaire +'Target Site': Site cible +'Task executing in background, please wait...': Tâche exécutée en arrière-plan, veuillez patienter... +'Task in progress, please wait a moment': Tâche en cours, veuillez patienter un instant +'Type': Type +'URL Resolver': Résolveur d'URL +'Unable to get `{{name}}`': "Impossible d'obtenir `{{name}}`" +'Unspecified': Non spécifié +'Unsupported formats': Formats non supporté +'Update complete': Mise à jour terminée +'Update failed': Échec de la mise à jour +'Upload image via {{method}} failed': "Échec de l'envoie d'une image via {{méthod}}" +'User': Utilisateur +'Username': Nom d'utilisateur +'Verification failed': Échec de la vérification +'Working directory retrieval failed': Échec de la récupération du répertoire de travail +'Wrong captcha': Mauvais captcha +'{{count}} items imported': '{{count}} articles importés' +'{{done}} of {{total}} done': '{{done}} de {{total}} fait' +'{{name}} already exists': '{{name}} existe déjà' +'{{name}} cannot be empty': '{{name}} ne peut pas être vide' +'{{name}} creation failed': 'La création de {{name}} a échoué' +'{{name}} deletion failed': 'Échec de la suppression de {{name}}' +'{{name}} is required': '{{name}} est obligatoire' +'{{name}} not found': '{{name}} introuvable' +'{{name}} save failed': 'Échec de la sauvegarde de {{name}}' diff --git a/i18n/zh-CN.yml b/i18n/zh-CN.yml index 1c5f2bf2b..50fa556d6 100644 --- a/i18n/zh-CN.yml +++ b/i18n/zh-CN.yml @@ -1,76 +1,76 @@ -"Access denied": 无权限 -"Account": 账户 -"Admin access required": 需要管理员权限 -"Admin": 管理员 -"Cannot reply to this comment": 无法回复此评论 -"Captcha required": 需要验证码 -"Checking for updates": 正在检查更新 -"Comment count": 评论数 -"Comment failed": 评论失败 -"Comment": 评论 -"Config file read failed": 配置文件读取失败 -"Confirm to continue?": 确认继续? -"Contains invalid URL": 包含无效的 URL -"Create admin account": 创建管理员账户 -"Current version is the latest": 当前版本已是最新的 -"Downloading": 下载中 -"Email": 邮箱 -"Enter {{name}}": 输入{{name}} -"Export complete": 导出完毕 -"Export error": 导出失败 -"File": 文件 -"First comment": 第一条评论 -"Image exceeds {{file_size}} limit": 图片超过大小限制 {{file_size}} -"Image upload forbidden": 禁止上传图片 -"Import complete": 导入完毕 -"Invalid request": 无效的请求 -"Invalid request. Please check your `trusted_domains` config.": 请求无效, 请检查 `trusted_domains` 配置项 -"Invalid {{name}}": 无效的{{name}} -"Link": 链接 -"Login failed": 登录失败 -"Name": 名称 -"New version available": 有更新可用 -"Nickname": 昵称 -"No comment": 无评论 -"Notify": 通知 -"Page fetch failed": 页面获取失败 -"Page": 页面 -"Parameter": 参数 -"Parent comment": 父评论 -"Password update failed": 密码修改失败 -"Password updated": 密码已修改 -"Password": 密码 -"Pending": 待审核 -"Please review": 请过目 -"Retype {{name}}": 重新输入{{name}} -"Save failed": 保存失败 -"Saving": 保存中 -"Services restart complete": 服务重启完毕 -"Site `{{name}}` not found. Please create it in control center.": 未找到站点:`{{name}}`,请在控制台创建站点 -"Site": 站点 -"Sub-comment": 子评论 -"Target Site": 目标站点 -"Task executing in background, please wait...": 任务已开始在后台执行,请稍后... -"Task in progress, please wait a moment": 任务执行中,请稍后 -"Type": 类型 -"URL Resolver": URL 解析器 -"Unable to get `{{name}}`": 无法获取 `{{name}}` -"Unspecified": 未指定 -"Unsupported formats": 不支持的格式 -"Update complete": 更新完毕 -"Update failed": 更新失败 -"Upload image via {{method}} failed": 通过 {{method}} 上传图片失败 -"User": 用户 -"Username": 用户名 -"Verification failed": 验证失败 -"Working directory retrieval failed": 工作目录获取失败 -"Wrong captcha": 验证码错误 -"{{count}} items imported": 已导入 {{count}} 个项目 -"{{done}} of {{total}} done": 已完成 {{done}} 共 {{total}} 个 -"{{name}} already exists": '{{name}}已存在' -"{{name}} cannot be empty": '{{name}}不能为空' -"{{name}} creation failed": '{{name}}创建失败' -"{{name}} deletion failed": '{{name}}删除失败' -"{{name}} is required": '{{name}}必须填写' -"{{name}} not found": '{{name}}未找到' -"{{name}} save failed": '{{name}}保存失败' +'Access denied': 无权限 +'Account': 账户 +'Admin access required': 需要管理员权限 +'Admin': 管理员 +'Cannot reply to this comment': 无法回复此评论 +'Captcha required': 需要验证码 +'Checking for updates': 正在检查更新 +'Comment count': 评论数 +'Comment failed': 评论失败 +'Comment': 评论 +'Config file read failed': 配置文件读取失败 +'Confirm to continue?': 确认继续? +'Contains invalid URL': 包含无效的 URL +'Create admin account': 创建管理员账户 +'Current version is the latest': 当前版本已是最新的 +'Downloading': 下载中 +'Email': 邮箱 +'Enter {{name}}': 输入{{name}} +'Export complete': 导出完毕 +'Export error': 导出失败 +'File': 文件 +'First comment': 第一条评论 +'Image exceeds {{file_size}} limit': 图片超过大小限制 {{file_size}} +'Image upload forbidden': 禁止上传图片 +'Import complete': 导入完毕 +'Invalid request': 无效的请求 +'Invalid request. Please check your `trusted_domains` config.': 请求无效, 请检查 `trusted_domains` 配置项 +'Invalid {{name}}': 无效的{{name}} +'Link': 链接 +'Login failed': 登录失败 +'Name': 名称 +'New version available': 有更新可用 +'Nickname': 昵称 +'No comment': 无评论 +'Notify': 通知 +'Page fetch failed': 页面获取失败 +'Page': 页面 +'Parameter': 参数 +'Parent comment': 父评论 +'Password update failed': 密码修改失败 +'Password updated': 密码已修改 +'Password': 密码 +'Pending': 待审核 +'Please review': 请过目 +'Retype {{name}}': 重新输入{{name}} +'Save failed': 保存失败 +'Saving': 保存中 +'Services restart complete': 服务重启完毕 +'Site `{{name}}` not found. Please create it in control center.': 未找到站点:`{{name}}`,请在控制台创建站点 +'Site': 站点 +'Sub-comment': 子评论 +'Target Site': 目标站点 +'Task executing in background, please wait...': 任务已开始在后台执行,请稍后... +'Task in progress, please wait a moment': 任务执行中,请稍后 +'Type': 类型 +'URL Resolver': URL 解析器 +'Unable to get `{{name}}`': 无法获取 `{{name}}` +'Unspecified': 未指定 +'Unsupported formats': 不支持的格式 +'Update complete': 更新完毕 +'Update failed': 更新失败 +'Upload image via {{method}} failed': 通过 {{method}} 上传图片失败 +'User': 用户 +'Username': 用户名 +'Verification failed': 验证失败 +'Working directory retrieval failed': 工作目录获取失败 +'Wrong captcha': 验证码错误 +'{{count}} items imported': 已导入 {{count}} 个项目 +'{{done}} of {{total}} done': 已完成 {{done}} 共 {{total}} 个 +'{{name}} already exists': '{{name}}已存在' +'{{name}} cannot be empty': '{{name}}不能为空' +'{{name}} creation failed': '{{name}}创建失败' +'{{name}} deletion failed': '{{name}}删除失败' +'{{name}} is required': '{{name}}必须填写' +'{{name}} not found': '{{name}}未找到' +'{{name}} save failed': '{{name}}保存失败' diff --git a/i18n/zh-TW.yml b/i18n/zh-TW.yml index 68e9215ad..268fbceaf 100644 --- a/i18n/zh-TW.yml +++ b/i18n/zh-TW.yml @@ -1,76 +1,76 @@ -"Access denied": 無權限 -"Account": 賬戶 -"Admin access required": 需要管理員權限 -"Admin": 管理員 -"Cannot reply to this comment": 無法回复此評論 -"Captcha required": 需要驗證碼 -"Checking for updates": 正在檢查更新 -"Comment count": 評論數 -"Comment failed": 評論失敗 -"Comment": 評論 -"Config file read failed": 配置文件讀取失敗 -"Confirm to continue?": 確認繼續? -"Contains invalid URL": 包含無效的 URL -"Create admin account": 創建管理員賬戶 -"Current version is the latest": 當前版本已是最新的 -"Downloading": 下載中 -"Email": 郵箱 -"Enter {{name}}": 輸入{{name}} -"Export complete": 導出完畢 -"Export error": 導出失敗 -"File": 文件 -"First comment": 第一條評論 -"Image exceeds {{file_size}} limit": 圖片超過大小限制 {{file_size}} -"Image upload forbidden": 禁止上傳圖片 -"Import complete": 導入完畢 -"Invalid request": 無效的請求 -"Invalid request. Please check your `trusted_domains` config.": 請求無效, 請檢查 `trusted_domains` 配置項 -"Invalid {{name}}": 無效的{{name}} -"Link": 鏈接 -"Login failed": 登錄失敗 -"Name": 名稱 -"New version available": 有更新可用 -"Nickname": 暱稱 -"No comment": 無評論 -"Notify": 通知 -"Page fetch failed": 頁面獲取失敗 -"Page": 頁面 -"Parameter": 參數 -"Parent comment": 父評論 -"Password update failed": 密碼修改失敗 -"Password updated": 密碼已修改 -"Password": 密碼 -"Pending": 待審核 -"Please review": 請過目 -"Retype {{name}}": 重新輸入{{name}} -"Save failed": 保存失敗 -"Saving": 保存中 -"Services restart complete": 服務重啟完畢 -"Site `{{name}}` not found. Please create it in control center.": 未找到站點:`{{name}}`,請在控制台創建站點 -"Site": 站點 -"Sub-comment": 子評論 -"Target Site": 目標站點 -"Task executing in background, please wait...": 任務已開始在後台執行,請稍後... -"Task in progress, please wait a moment": 任務執行中,請稍後 -"Type": 類型 -"URL Resolver": URL 解析器 -"Unable to get `{{name}}`": 無法獲取 `{{name}}` -"Unspecified": 未指定 -"Unsupported formats": 不支持的格式 -"Update complete": 更新完畢 -"Update failed": 更新失敗 -"Upload image via {{method}} failed": 通過 {{method}} 上傳圖片失敗 -"User": 用戶 -"Username": 用戶名 -"Verification failed": 驗證失敗 -"Working directory retrieval failed": 工作目錄獲取失敗 -"Wrong captcha": 驗證碼錯誤 -"{{count}} items imported": 已導入 {{count}} 個項目 -"{{done}} of {{total}} done": 已完成 {{done}} 共 {{total}} 個 -"{{name}} already exists": '{{name}}已存在' -"{{name}} cannot be empty": '{{name}}不能為空' -"{{name}} creation failed": '{{name}}創建失敗' -"{{name}} deletion failed": '{{name}}刪除失敗' -"{{name}} is required": '{{name}}必須填寫' -"{{name}} not found": '{{name}}未找到' -"{{name}} save failed": '{{name}}保存失敗' +'Access denied': 無權限 +'Account': 賬戶 +'Admin access required': 需要管理員權限 +'Admin': 管理員 +'Cannot reply to this comment': 無法回复此評論 +'Captcha required': 需要驗證碼 +'Checking for updates': 正在檢查更新 +'Comment count': 評論數 +'Comment failed': 評論失敗 +'Comment': 評論 +'Config file read failed': 配置文件讀取失敗 +'Confirm to continue?': 確認繼續? +'Contains invalid URL': 包含無效的 URL +'Create admin account': 創建管理員賬戶 +'Current version is the latest': 當前版本已是最新的 +'Downloading': 下載中 +'Email': 郵箱 +'Enter {{name}}': 輸入{{name}} +'Export complete': 導出完畢 +'Export error': 導出失敗 +'File': 文件 +'First comment': 第一條評論 +'Image exceeds {{file_size}} limit': 圖片超過大小限制 {{file_size}} +'Image upload forbidden': 禁止上傳圖片 +'Import complete': 導入完畢 +'Invalid request': 無效的請求 +'Invalid request. Please check your `trusted_domains` config.': 請求無效, 請檢查 `trusted_domains` 配置項 +'Invalid {{name}}': 無效的{{name}} +'Link': 鏈接 +'Login failed': 登錄失敗 +'Name': 名稱 +'New version available': 有更新可用 +'Nickname': 暱稱 +'No comment': 無評論 +'Notify': 通知 +'Page fetch failed': 頁面獲取失敗 +'Page': 頁面 +'Parameter': 參數 +'Parent comment': 父評論 +'Password update failed': 密碼修改失敗 +'Password updated': 密碼已修改 +'Password': 密碼 +'Pending': 待審核 +'Please review': 請過目 +'Retype {{name}}': 重新輸入{{name}} +'Save failed': 保存失敗 +'Saving': 保存中 +'Services restart complete': 服務重啟完畢 +'Site `{{name}}` not found. Please create it in control center.': 未找到站點:`{{name}}`,請在控制台創建站點 +'Site': 站點 +'Sub-comment': 子評論 +'Target Site': 目標站點 +'Task executing in background, please wait...': 任務已開始在後台執行,請稍後... +'Task in progress, please wait a moment': 任務執行中,請稍後 +'Type': 類型 +'URL Resolver': URL 解析器 +'Unable to get `{{name}}`': 無法獲取 `{{name}}` +'Unspecified': 未指定 +'Unsupported formats': 不支持的格式 +'Update complete': 更新完畢 +'Update failed': 更新失敗 +'Upload image via {{method}} failed': 通過 {{method}} 上傳圖片失敗 +'User': 用戶 +'Username': 用戶名 +'Verification failed': 驗證失敗 +'Working directory retrieval failed': 工作目錄獲取失敗 +'Wrong captcha': 驗證碼錯誤 +'{{count}} items imported': 已導入 {{count}} 個項目 +'{{done}} of {{total}} done': 已完成 {{done}} 共 {{total}} 個 +'{{name}} already exists': '{{name}}已存在' +'{{name}} cannot be empty': '{{name}}不能為空' +'{{name}} creation failed': '{{name}}創建失敗' +'{{name}} deletion failed': '{{name}}刪除失敗' +'{{name}} is required': '{{name}}必須填寫' +'{{name}} not found': '{{name}}未找到' +'{{name}} save failed': '{{name}}保存失敗'