Initial baseline: LaraBlog core with plugin commerce surface.

Captures the current working tree after theme slots, ArticleAccess, and the payment / paid-content plugins so subsequent work has a reviewable git history.
This commit is contained in:
ak
2026-08-12 01:15:38 +08:00
commit 263b98b218
337 changed files with 31393 additions and 0 deletions
+384
View File
@@ -0,0 +1,384 @@
<?php
return [
'brand' => 'LaraBlog 后台',
'dashboard' => '控制台',
'groups' => [
'content' => '内容',
'system' => '系统',
'plugins' => '插件',
],
'nav' => [
'articles' => '文章',
'categories' => '分类',
'comments' => '评论',
'tags' => '标签',
'links' => '友情链接',
'attachments' => '附件',
'stylevars' => '站点片段',
'users' => '用户',
'themes' => '皮肤',
'plugins' => '插件',
'settings' => '站点设置',
'cache' => '清理缓存',
'payment' => '支付',
'orders' => '订单',
'payment_settings' => '支付说明',
'membership' => '会员',
'plugin_marketplace' => '插件商城',
'theme_marketplace' => '皮肤商城',
],
'models' => [
'article' => '文章',
'articles' => '文章',
'category' => '分类',
'categories' => '分类',
'comment' => '评论',
'comments' => '评论',
'tag' => '标签',
'tags' => '标签',
'link' => '链接',
'links' => '友情链接',
'attachment' => '附件',
'attachments' => '附件',
'stylevar' => '站点片段',
'stylevars' => '站点片段',
'user' => '用户',
'users' => '用户',
'plugin' => '插件',
'plugins' => '插件',
'order' => '订单',
'orders' => '订单',
],
'actions' => [
'save' => '保存',
'edit' => '编辑',
'delete' => '删除',
'create' => '新建',
'cancel' => '取消',
'confirm' => '确认',
'mark_paid' => '标记已支付',
],
'fields' => [
'id' => 'ID',
'title' => '标题',
'name' => '名称',
'display_name' => '显示名',
'username' => '用户名',
'email' => '邮箱',
'password' => '密码',
'url' => '网址',
'website' => '网站',
'roles' => '角色',
'category' => '分类',
'author' => '作者',
'user' => '用户',
'article' => '关联文章',
'description' => '描述',
'keywords' => '关键词',
'slug' => '别名',
'published_at' => '发布时间',
'created_at' => '创建时间',
'updated_at' => '更新时间',
'login_at' => '最近登录',
'views' => '阅读数',
'comments_count' => '评论数',
'stick' => '置顶',
'visible' => '显示',
'close_comment' => '关闭评论',
'content_format' => '正文格式',
'content' => '正文',
'content_markdown' => '正文(Markdown',
'content_html' => '正文(HTML',
'read_password' => '阅读密码',
'ai_summary' => 'AI 摘要',
'display_order' => '排序',
'articles_count' => '文章数',
'use_count' => '使用次数',
'note' => '备注',
'ip' => 'IP',
'moderation_status' => '审核状态',
'disk' => '磁盘',
'path' => '路径',
'thumb_path' => '缩略图路径',
'filename' => '文件名',
'mime' => 'MIME 类型',
'size' => '大小',
'checksum' => '校验和',
'visibility' => '可见性',
'legacy_filepath' => '兼容路径',
'synced_at' => '同步时间',
'downloads' => '下载次数',
'upload' => '上传文件',
'version' => '版本',
'enabled' => '启用',
'config' => '配置',
'value' => '内容',
'status' => '状态',
'amount' => '金额',
'currency' => '币种',
'gateway' => '网关',
'paid_at' => '支付时间',
'price' => '价格',
'paid_enabled' => '启用付费阅读',
'trial_value' => '试读字数',
],
'options' => [
'markdown' => 'Markdown',
'markdown_recommended' => 'Markdown(推荐)',
'html' => 'HTML',
'html_legacy' => 'HTML(兼容旧文)',
'comment_order_asc' => '旧 → 新',
'comment_order_desc' => '新 → 旧',
'ai_provider_stub' => 'Stub(本地验收)',
'ai_provider_openai' => 'OpenAI 兼容接口',
'moderation' => [
'pending' => '待审核',
'pending_ai' => 'AI 审核中',
'approved' => '已通过',
'rejected' => '已拒绝',
'needs_human' => '需人工复核',
],
],
'helpers' => [
'article_content' => 'Markdown 附件请用 ![alt](attach:ID) 或 [name](attach:ID)HTML 可保留 [attach=ID]。输出时再解析为附件地址,勿把对象存储直链写进正文。',
'attachment_upload' => '文件写入对象存储(或本地附件驱动),不在应用侧长期落盘。',
'attachments_prefix' => '对应 /attachments/{path} 解析;磁盘由环境变量中的附件驱动配置控制。',
'analytics_extra' => '可与插件脚本并存。',
'ads_sidebar_extra' => '后台片段与多个插件会依次拼接。',
],
'messages' => [
'settings_saved' => '设置已保存',
'ai_optimize' => 'AI 内容优化',
'ai_optimize_queued' => '已投递到内容优化队列',
'ai_optimize_queue_hint' => '请确保队列 Worker(或 Workerman)正在消费。',
'upload_required' => '请上传附件文件。',
'mime_not_allowed' => '不允许的 MIME 类型::mime',
'theme_slots_warn' => '已启用,但槽位声明::label。请在 theme.json 中声明 slots。',
'slots_missing_prefix' => '缺少:',
'mark_paid_success' => '订单已标记为已支付',
'mark_paid_failed' => '标记已支付失败',
'plugin_requires' => '无法启用 :plugin,请先启用依赖::requires',
'plugin_required_by' => '无法禁用 :plugin,仍被以下已启用插件依赖::dependents',
'plugin_docs_missing' => '未找到该插件的使用说明',
'paid_password_mutex' => '阅读密码与付费阅读不能同时启用',
],
'pages' => [
'themes_title' => '皮肤管理',
'plugins_title' => '插件管理',
'plugin_docs' => '使用说明',
'plugin_requires' => '依赖',
'settings_title' => '站点设置',
'cache_title' => '清理缓存',
'themes_publish' => '发布皮肤静态资源',
'themes_refresh' => '刷新列表',
'plugins_sync' => '同步磁盘插件',
'activate' => '启用',
'disable' => '禁用',
'enable' => '启用',
'current' => '使用中',
'enabled' => '已启用',
'disabled' => '未启用',
'preview' => '预览',
'version' => '版本',
'no_plugins' => '未发现插件,请检查 plugins/ 目录后点击「同步磁盘插件」。',
'no_themes' => '未发现皮肤,请检查 themes/ 目录。',
'cache_hint' => '清理应用缓存、视图、路由与配置缓存。不影响数据库内容与对象存储附件。',
'cache_run' => '清理缓存',
'cache_confirm' => '确认清理应用、视图、路由与配置缓存?不影响数据库与附件。',
'cache_cleared' => '缓存已清理',
'skeleton_note' => '本期仅提供配置/入口占位,不实现真实支付结算或远程商城交易。',
'status' => '状态',
'payment_settings_empty' => '未找到 larablog/payment 的 README。',
],
'settings' => [
'tabs' => [
'site' => '站点',
'reading' => '阅读与列表',
'comments' => '评论',
'seo' => 'SEO / GEO',
'storage' => '存储',
'ai' => 'AI',
'snippets' => '注入 / 广告 / 统计',
],
'paid_content' => '付费阅读',
'snippet_groups' => [
'analytics' => '统计与脚本',
'analytics_help' => '写入页面 head / body 末尾的统计与第三方脚本',
'ads' => '广告位',
'ads_help' => '页头横幅、侧栏与文章上下广告 HTML',
'misc' => '临时链接与页脚',
'misc_help' => '活动入口、临时链与页脚附加 HTML',
],
'site_name' => '站点名称',
'site_url' => '站点网址',
'site_description' => '站点简介',
'active_theme' => '当前皮肤标识',
'attachments_url_prefix' => '附件网址前缀',
'default_content_format' => '新建正文默认格式',
'import_content_format' => '导入默认格式',
'import_convert_html_to_markdown' => '导入时将 HTML 转为 Markdown',
'posts_per_page' => '每页文章数',
'date_format' => '日期格式',
'show_views' => '显示阅读数',
'show_author' => '显示作者',
'allow_comments' => '全站允许评论',
'comment_order' => '评论排序',
'close_comments_on_old_posts' => '自动关闭旧文评论',
'close_comments_days' => '多少天后关闭',
'guest_can_comment' => '允许游客评论',
'require_moderation' => '评论需人工审核(非 AI',
'rate_limit_per_minute' => '每分钟评论上限',
'enable_website_field' => '显示网站字段',
'forbidden_words' => '简易违禁词(逗号分隔)',
'meta_title_suffix' => '标题后缀',
'default_description' => '默认描述',
'default_keywords' => '默认关键词',
'json_ld_enabled' => '启用结构化数据(JSON-LD',
'robots_index' => '允许搜索引擎收录',
'twitter_site' => 'XTwitter)站点账号',
'canonical_force_https' => '规范链接强制 HTTPS',
'attachments_legacy_prefix' => '附件兼容前缀',
'ai_provider' => 'AI 服务商',
'ai_api_base_url' => 'API 基础地址',
'ai_api_key' => 'API 密钥',
'ai_model' => '模型',
'comment_moderation_enabled' => 'AI 评论审核',
'content_optimization_enabled' => 'AI 内容优化',
'analytics_head' => '统计代码(文档头部)',
'body_end' => '页尾脚本(正文结束前)',
'header_banner' => '页头横幅 / 公告 HTML',
'ads_sidebar' => '侧栏广告 HTML',
'custom_links_html' => '临时链接 / 侧栏附加 HTML',
'ads_article_top' => '文章顶广告',
'ads_article_bottom' => '文章底广告',
'footer_html' => '页脚附加 HTML',
],
'slots' => [
'hint' => ':place · :size · 槽 theme.:slot · 可多条叠加',
'custom' => 'theme.:slot(自定义槽;主题需调用 @themeslot',
'status_full' => '槽位完整',
'status_partial' => '缺标准槽 :count',
'status_mismatch' => '声明与视图不一致',
'status_undeclared' => '未声明 slots',
'head' => [
'label' => '文档头部',
'place' => '文档结束标签前;统计、额外样式与脚本',
'size' => '无版面尺寸(脚本/元数据)',
],
'body_start' => [
'label' => '正文开头',
'place' => '正文开始标签后立刻',
'size' => '无版面尺寸',
],
'body_end' => [
'label' => '正文结尾',
'place' => '正文结束标签前',
'size' => '无版面尺寸',
],
'header_after' => [
'label' => '页头横幅',
'place' => '站点头/导航下方、主栏上方',
'size' => '建议通栏,高度约 60–120px;宽随主题内容区',
],
'nav_after' => [
'label' => '导航后',
'place' => '主导航链接之后',
'size' => '文字链/小按钮;勿塞大图',
],
'content_before' => [
'label' => '主栏前',
'place' => '主内容区之前',
'size' => '主栏宽度(约 640760px,视主题)',
],
'content_after' => [
'label' => '主栏后',
'place' => '主内容区之后',
'size' => '同主栏宽度',
],
'article_top' => [
'label' => '文章顶',
'place' => '标题区上方(文章页)',
'size' => '主栏宽 × 约 90250px',
],
'article_bottom' => [
'label' => '文章底',
'place' => '正文后、评论前(文章页)',
'size' => '主栏宽 × 约 90250px',
],
'sidebar_before' => [
'label' => '侧栏前',
'place' => '侧栏第一个面板之前',
'size' => '侧栏宽约 280320px',
],
'sidebar' => [
'label' => '侧栏中',
'place' => '分类/片段之后的广告面板',
'size' => '侧栏宽约 280320px;多条会纵向叠放',
],
'sidebar_after' => [
'label' => '侧栏后',
'place' => '侧栏靠后(临时链/附加块)',
'size' => '侧栏宽;适合文字链列表',
],
'footer_before' => [
'label' => '页脚前',
'place' => '页脚之前',
'size' => '通栏或内容区宽',
],
'footer_after' => [
'label' => '页脚后',
'place' => '页脚之后、正文结束前',
'size' => '通栏;也可放脚本',
],
],
'plugins' => [
'larablog/payment' => [
'title' => '支付',
'description' => '订单、Stub 结账、权益入账与后台订单管理。',
],
'larablog/paid-content' => [
'title' => '内容付费',
'description' => '文章定价、试读与购买闸;依赖支付插件。',
],
'larablog/membership' => [
'title' => '会员',
'description' => '会员等级、权益与订阅周期占位。',
],
'larablog/plugin-marketplace' => [
'title' => '插件商城',
'description' => '远程插件目录浏览/安装占位;本期仅本地 plugins/ 同步。',
],
'larablog/theme-marketplace' => [
'title' => '皮肤商城',
'description' => '远程主题目录浏览/安装占位;本期仅本地 themes/ 切换。',
],
'larablog/ai-comment-moderation' => [
'title' => 'AI 评论审核',
'description' => '评论创建后进入 AI 审核队列(可用 stub)。',
],
],
'themes' => [
'default' => [
'title' => '默认(青石)',
'description' => 'Fraunces + 青绿强调,适合日常阅读博客。',
],
'example' => [
'title' => '示例(暖琥珀)',
'description' => 'Newsreader + 琥珀强调,演示第二套皮肤切换。',
],
],
];