feat(wiki): add community image upload for wiki entities

Support uploading images for Pokemon, Items, and Habitats
Track upload history in new entity_image_uploads table
Update entity cards to display uploaded images and usage ribbons
This commit is contained in:
2026-05-03 01:08:45 +08:00
parent 36e10a06b0
commit 784cbdacd1
23 changed files with 1407 additions and 102 deletions

View File

@@ -506,6 +506,21 @@ export const systemWordingMessages = {
delete: 'Delete',
empty: 'No edit history'
},
media: {
image: 'Image',
imageAlt: '{name} image',
uploadImage: 'Upload image',
uploading: 'Uploading',
uploadedImage: 'Uploaded image',
selectedImage: 'Selected image',
imageHistory: 'Image history',
imageOptions: 'Image options',
clearImage: 'Clear image',
imageEmpty: 'No image selected',
imageHistoryEmpty: 'No uploaded images',
uploadFailed: 'Image upload failed',
selectImage: 'Select image'
},
discussion: {
title: 'Discussion',
count: '{count} comments',
@@ -575,6 +590,12 @@ export const systemWordingMessages = {
pokemonTypeDataUnavailable: 'Pokemon type data is unavailable',
pokemonDataNotFound: 'Pokemon data was not found',
pokemonImagePathInvalid: 'Pokemon image path is invalid',
imagePathInvalid: 'Image path is invalid',
imageUploadRequired: 'Please select an image',
imageUploadTypeInvalid: 'Image type is not supported',
imageUploadContentInvalid: 'Image file is invalid',
imageUploadEntityNameRequired: 'Please enter a name before uploading an image',
imageUploadFailed: 'Image upload failed',
taskRequired: 'Please enter a task',
selectTask: 'Please select a task',
taskDoesNotExist: 'Task does not exist',
@@ -1132,6 +1153,21 @@ export const systemWordingMessages = {
delete: '删除',
empty: '暂无编辑历史'
},
media: {
image: '图片',
imageAlt: '{name}图片',
uploadImage: '上传图片',
uploading: '上传中',
uploadedImage: '上传图片',
selectedImage: '已选择图片',
imageHistory: '图片历史',
imageOptions: '图片选项',
clearImage: '清除图片',
imageEmpty: '尚未选择图片',
imageHistoryEmpty: '暂无上传图片',
uploadFailed: '图片上传失败',
selectImage: '选择图片'
},
discussion: {
title: '讨论',
count: '{count} 条评论',
@@ -1201,6 +1237,12 @@ export const systemWordingMessages = {
pokemonTypeDataUnavailable: 'Pokemon 属性数据不可用',
pokemonDataNotFound: '未找到 Pokemon 数据',
pokemonImagePathInvalid: 'Pokemon 图片路径不合法',
imagePathInvalid: '图片路径不合法',
imageUploadRequired: '请选择图片',
imageUploadTypeInvalid: '不支持这种图片类型',
imageUploadContentInvalid: '图片文件不合法',
imageUploadEntityNameRequired: '请先输入名称再上传图片',
imageUploadFailed: '图片上传失败',
taskRequired: '请输入任务',
selectTask: '请选择任务',
taskDoesNotExist: '任务不存在',