1 Star 0 Fork 1

ABCDRD/dify-docs

forked from let'sdoit/dify-docs 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
translate.py 2.65 KB
一键复制 编辑 原始数据 按行查看 历史
Mark Sun 提交于 2024-06-17 19:07 +08:00 . Add jp docs (#116)
import os
from pathlib import Path
from openai import OpenAI
import requests
client = OpenAI(api_key="example-key")
DIFY_API_KEY = "example-key"
def translate_text(api_key=DIFY_API_KEY, user_id="mark-doc", inputs={'input_text': 'Hello, how are you?', 'target_language': 'es'}):
url = 'https://api.dify.ai/v1/workflows/run'
headers = {
'Authorization': f'Bearer {api_key}',
'Content-Type': 'application/json'
}
data = {
'inputs': inputs,
'response_mode': 'blocking',
'user': user_id
}
response = requests.post(url, headers=headers, json=data)
try:
# Check if the response status code indicates success (200 OK)
response.raise_for_status()
# Attempt to decode the JSON response
json_response = response.json()
return json_response['data']['outputs']
except requests.exceptions.HTTPError as http_err:
# Handle HTTP errors (e.g., 404 Not Found, 401 Unauthorized)
print(f'HTTP error occurred: {http_err}')
except requests.exceptions.RequestException as req_err:
# Handle other requests-related errors (e.g., connection errors)
print(f'Request error occurred: {req_err}')
except json.decoder.JSONDecodeError:
# Handle JSON decode errors (e.g., empty response body)
print('Failed to decode JSON response')
# Return None or an appropriate value in case of error
return None
def translate_markdown_files(input_folder, output_folder, target_language="japanese"):
input_folder = Path(input_folder)
output_folder = Path(output_folder)
for markdown_file in input_folder.rglob("*.md"):
relative_path = markdown_file.relative_to(input_folder)
output_file = output_folder / relative_path
output_file.parent.mkdir(parents=True, exist_ok=True)
with open(markdown_file, "r", encoding="utf-8") as f:
content = f.read()
print(f"Translating {markdown_file} to {target_language}")
# print(content)
translated_content = translate_text(inputs={'input_text': content, 'target_language': target_language})
# Inside the loop, after translating the content
if translated_content is not None:
translated_text = translated_content['final']
with open(output_file, "w", encoding="utf-8") as f:
f.write(translated_text)
else:
print(f"Warning: No translated content for {markdown_file}. Skipping file.")
print(f"Translation completed. Translated files are saved in {output_folder}")
# Example usage
translate_markdown_files("zh_CN/explore", "jp/explore", target_language="japanese")
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/ABCDRD/dify-docs.git
git@gitee.com:ABCDRD/dify-docs.git
ABCDRD
dify-docs
dify-docs
main

搜索帮助