i18n: translate all Chinese comments, docstrings, and logger messages to English

Comprehensive translation of Chinese text to English across the entire codebase:

- api/: FastAPI server documentation and logger messages
- cache/: Cache abstraction layer comments and docstrings
- database/: Database models and MongoDB store documentation
- media_platform/: All platform crawlers (Bilibili, Douyin, Kuaishou, Tieba, Weibo, Xiaohongshu, Zhihu)
- model/: Data model documentation
- proxy/: Proxy pool and provider documentation
- store/: Data storage layer comments
- tools/: Utility functions and browser automation
- test/: Test file documentation

Preserved: Chinese disclaimer header (lines 10-18) for legal compliance

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
程序员阿江(Relakkes)
2025-12-26 23:27:19 +08:00
parent 1544d13dd5
commit 157ddfb21b
93 changed files with 1971 additions and 1955 deletions

View File

@@ -50,13 +50,13 @@ class DouyinStoreFactory:
def _extract_note_image_list(aweme_detail: Dict) -> List[str]:
"""
提取笔记图片列表
Extract note image list
Args:
aweme_detail (Dict): 抖音内容详情
aweme_detail (Dict): Douyin content details
Returns:
List[str]: 笔记图片列表
List[str]: Note image list
"""
images_res: List[str] = []
images: List[Dict] = aweme_detail.get("images", [])
@@ -65,7 +65,7 @@ def _extract_note_image_list(aweme_detail: Dict) -> List[str]:
return []
for image in images:
image_url_list = image.get("url_list", []) # download_url_list 为带水印的图片url_list 为无水印的图片
image_url_list = image.get("url_list", []) # download_url_list has watermarked images, url_list has non-watermarked images
if image_url_list:
images_res.append(image_url_list[-1])
@@ -74,13 +74,13 @@ def _extract_note_image_list(aweme_detail: Dict) -> List[str]:
def _extract_comment_image_list(comment_item: Dict) -> List[str]:
"""
提取评论图片列表
Extract comment image list
Args:
comment_item (Dict): 抖音评论
comment_item (Dict): Douyin comment
Returns:
List[str]: 评论图片列表
List[str]: Comment image list
"""
images_res: List[str] = []
image_list: List[Dict] = comment_item.get("image_list", [])
@@ -98,13 +98,13 @@ def _extract_comment_image_list(comment_item: Dict) -> List[str]:
def _extract_content_cover_url(aweme_detail: Dict) -> str:
"""
提取视频封面地址
Extract video cover URL
Args:
aweme_detail (Dict): 抖音内容详情
aweme_detail (Dict): Douyin content details
Returns:
str: 视频封面地址
str: Video cover URL
"""
res_cover_url = ""
@@ -118,13 +118,13 @@ def _extract_content_cover_url(aweme_detail: Dict) -> str:
def _extract_video_download_url(aweme_detail: Dict) -> str:
"""
提取视频下载地址
Extract video download URL
Args:
aweme_detail (Dict): 抖音视频
aweme_detail (Dict): Douyin video
Returns:
str: 视频下载地址
str: Video download URL
"""
video_item = aweme_detail.get("video", {})
url_h264_list = video_item.get("play_addr_h264", {}).get("url_list", [])
@@ -138,13 +138,13 @@ def _extract_video_download_url(aweme_detail: Dict) -> str:
def _extract_music_download_url(aweme_detail: Dict) -> str:
"""
提取音乐下载地址
Extract music download URL
Args:
aweme_detail (Dict): 抖音视频
aweme_detail (Dict): Douyin video
Returns:
str: 音乐下载地址
str: Music download URL
"""
music_item = aweme_detail.get("music", {})
play_url = music_item.get("play_url", {})
@@ -228,12 +228,12 @@ async def update_dy_aweme_comment(aweme_id: str, comment_item: Dict):
async def save_creator(user_id: str, creator: Dict):
user_info = creator.get("user", {})
gender_map = {0: "未知", 1: "", 2: ""}
gender_map = {0: "Unknown", 1: "Male", 2: "Female"}
avatar_uri = user_info.get("avatar_300x300", {}).get("uri")
local_db_item = {
"user_id": user_id,
"nickname": user_info.get("nickname"),
"gender": gender_map.get(user_info.get("gender"), "未知"),
"gender": gender_map.get(user_info.get("gender"), "Unknown"),
"avatar": f"https://p3-pc.douyinpic.com/img/{avatar_uri}" + r"~c5_300x300.jpeg?from=2956013662",
"desc": user_info.get("signature"),
"ip_location": user_info.get("ip_location"),
@@ -249,7 +249,7 @@ async def save_creator(user_id: str, creator: Dict):
async def update_dy_aweme_image(aweme_id, pic_content, extension_file_name):
"""
更新抖音笔记图片
Update Douyin note image
Args:
aweme_id:
pic_content:
@@ -264,7 +264,7 @@ async def update_dy_aweme_image(aweme_id, pic_content, extension_file_name):
async def update_dy_aweme_video(aweme_id, video_content, extension_file_name):
"""
更新抖音短视频
Update Douyin short video
Args:
aweme_id:
video_content:

View File

@@ -21,7 +21,7 @@
# -*- coding: utf-8 -*-
# @Author : persist1@126.com
# @Time : 2025/9/5 19:34
# @Desc : 抖音存储实现类
# @Desc : Douyin storage implementation class
import asyncio
import json
import os
@@ -209,16 +209,16 @@ class DouyinSqliteStoreImplement(DouyinDbStoreImplement):
class DouyinMongoStoreImplement(AbstractStore):
"""抖音MongoDB存储实现"""
"""Douyin MongoDB storage implementation"""
def __init__(self):
self.mongo_store = MongoDBStoreBase(collection_prefix="douyin")
async def store_content(self, content_item: Dict):
"""
存储视频内容到MongoDB
Store video content to MongoDB
Args:
content_item: 视频内容数据
content_item: Video content data
"""
aweme_id = content_item.get("aweme_id")
if not aweme_id:
@@ -233,9 +233,9 @@ class DouyinMongoStoreImplement(AbstractStore):
async def store_comment(self, comment_item: Dict):
"""
存储评论到MongoDB
Store comment to MongoDB
Args:
comment_item: 评论数据
comment_item: Comment data
"""
comment_id = comment_item.get("comment_id")
if not comment_id:
@@ -250,9 +250,9 @@ class DouyinMongoStoreImplement(AbstractStore):
async def store_creator(self, creator_item: Dict):
"""
存储创作者信息到MongoDB
Store creator information to MongoDB
Args:
creator_item: 创作者数据
creator_item: Creator data
"""
user_id = creator_item.get("user_id")
if not user_id:
@@ -267,7 +267,7 @@ class DouyinMongoStoreImplement(AbstractStore):
class DouyinExcelStoreImplement:
"""抖音Excel存储实现 - 全局单例"""
"""Douyin Excel storage implementation - Global singleton"""
def __new__(cls, *args, **kwargs):
from store.excel_store_base import ExcelStoreBase