欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 文化 > MarkDown文本(md)汉化翻译脚本

MarkDown文本(md)汉化翻译脚本

2025/5/8 2:04:22 来源:https://blog.csdn.net/qq_37279279/article/details/139767073  浏览:    关键词:MarkDown文本(md)汉化翻译脚本

MarkDown文本(md)汉化翻译脚本

#UTF-8
import os
import concurrent.futures
from deep_translator import GoogleTranslator, exceptionsdef translate_md_file(input_file, output_file, target_lang):translator = GoogleTranslator(source='auto', target=target_lang)with open(input_file, 'r', encoding='utf-8') as file:content = file.read()translated_content = ""in_code_block = Falsefor line in content.split('\n'):if line.startswith('#') or line.startswith('$$'):translated_content += line + '\n'else:if line.strip().startswith('```'):in_code_block = not in_code_blockif in_code_block or not line.strip():translated_content += line + '\n'else:try:translated_line = translator.translate(line)if translated_line is None:translated_line = line  # 如果翻译失败,则保留原文本except exceptions.TranslationNotFound:translated_line = line  # 如果翻译失败,则保留原文本translated_content += translated_line + '\n'with open(output_file, 'w', encoding='utf-8') as file:file.write(translated_content)print(f"Translation complete. Translated content saved to {output_file}")def translate_md_files_in_directory(input_directory, output_directory, target_lang):if not os.path.exists(output_directory):os.makedirs(output_directory)with concurrent.futures.ThreadPoolExecutor() as executor:futures = []for root, _, files in os.walk(input_directory):for file in files:if file.endswith('.md'):input_file = os.path.join(root, file)relative_path = os.path.relpath(root, input_directory)output_file_directory = os.path.join(output_directory, relative_path)if not os.path.exists(output_file_directory):os.makedirs(output_file_directory)output_file = os.path.join(output_file_directory, file)future = executor.submit(translate_md_file, input_file, output_file, target_lang)futures.append(future)for future in concurrent.futures.as_completed(futures):try:future.result()except Exception as e:print(f"Translation failed: {e}")# Example usage
# 文本输入目录
input_directory = './en-US'
# 文本输出目录
output_directory = './zh-CN'
#翻译语言
target_lang = 'zh-CN'  # Chinese Simplifiedtranslate_md_files_in_directory(input_directory, output_directory, target_lang)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词