Skip to content

thiliapr/tktransl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TkTransl

一个翻译文本的程序。

版权

TkTransl 是自由软件:你可以再分发之和/或依照由自由软件基金会发布的GNU 通用公共许可证修改它,无论是版本 3 许可证,还是(按你的决定)任何以后版都可以。
你应该随程序获得一份 GNU 通用公共许可证的复本。如果没有,请看这个链接

用法

# 安装依赖
pip install -r requirements.sakurallm.txt

# 翻译
python tktransl.py \
    --input proj/input/ \
    --output proj/output/ \
    --config proj/config.json \
    --pre-dict proj/preDict.txt \
    --post-dict proj/postDict.txt \
    --gpt-dict proj/gptDict.txt \
    --builtin-pre-dict \
    --builtin-post-dict \
    --builtin-gpt-dict

参数说明

--input: 必选。要翻译的文件。
--output: 必选。翻译的输出路径。
--config: 必选。配置文件。
--pre-dict: 多选。译前(预处理)词典。
--post-dict: 多选。译后词典。
--gpt-dict: 多选。GPT词典(用于大语言模型的词典)。
--not-allowed-logging-level: 多选。不允许某个等级的日志输出。等级: [Debug, Info, Warning, Error, Fatal]。
--builtin-pre-dict: 建议。使用内置的译前词典。
--builtin-post-dict: 建议。使用内置的译后词典。
--builtin-gpt-dict: 建议。使用内置的GPT词典。

文本

输入

[
    {
        "message": "原文",
        "speaker": "说话的人,如果有的话。可以不写。",
        "additional_info": "附加信息,翻译时不会用到,输出时会带有这个。类型可以是字符串、数值、列表、字典等等都行。"
    },
    {
        "message": "另一则原文",
    }
]

输出

[
    {
        // 该文本对象在原文的索引。
        "index": 0,

        "source": "原文",
        "translation": "译文",
        "translate_by": "哪个翻译器翻译的",

        // 以下键值对都只有相应的值不为空(或假)时才会包含在输出内
        "original_speaker": "说话的人的名字原文",
        "speaker_translation": "说话的人的名字译文",
        "additional_info": "原封不动的附加信息"
    }
]

词典

译前、译后词典

译前词典: 翻译前对原文处理。
译后词典: 翻译后对译文处理。

格式如下:

原文1->译文1

// 注释
原文2->译文2

GPT词典

用于SakuraLLMChatGPT等大语言模型,以提高AI翻译的质量。

格式如下:

// 即使翻译与原文相同也要写
白上->白上 #白上フブキ的姓,少女
フブキ->吹雪 #白上フブキ的名,少女

配置

示例

配置顶层的设置是各个翻译器的通用设置,translators内的设置是个性化设置。

{
    "sakurallm": {
        // 翻译时上文、下文分别的行数。此例中上文2行,下文1行。
        "previous_lines": 2,
        "next_lines": 1,

        // 翻译风格,可以是“文艺”或者“流畅”。
        "style": "文艺",

        // 一次翻译多少行
        "number_per_request_translate": 7,

        // 支持的模型有`galtransl-v2`
        "model": "galtransl-v2"
    },
    "translators": {
        "sakurallm": [
            {
                // 通用设置。翻译器的名称。记录日志时会显示此名称。
                "name": "SakuraLLM-1",

                // 以下皆为SakuraLLM专有。
                // OpenAI格式的API、时间限制(单位:秒)。
                "api": "http://127.0.0.1:10086", 
                "timeout": 5,

                // 可选。重启服务器的API、时间限制(单位:秒)。
                "restart_api": "http://127.0.0.1:14514/10086",
                "restart_timeout": 60
            }
        ]
    }
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages