JeffersonQin / YuzuMarker

🍋 [WIP] Manga Translation Tool
Other
101 stars 5 forks source link
cnn deep-learning dotnet dotnet-core gan git inpainting japanese machine-learning manga ocr opencv opencvsharp photoshop rcnn translation wpf xamarin

YuzuMarker

[WIP] 次世代漫画汉化工具。本项目主要想要实现漫画汉化过程中多人协作,让工作流程简单化、系统化。

架构

功能

预期实现功能:

🚧: WIP, 🕒: Not yet started, ⚠: Warning, ✅: Finished, ❌: Abandoned

关于 Photoshop 内的操作规范

对于图片的操作,我们主要进行两种操作:

由此可以引出我们对于图层的排布要求(全部都是自动生成的):

下面是结构:

(顶)
* CustomTextItems                        # 自定义嵌字图层组
  * TextGroup-p                          # 区域 p 的自定义嵌字图层组
    * Text                               # 区域 p 的自定义嵌字图层组的文字
    * ... (Unmanaged Custom layers)      # 区域 p 的自定义嵌字图层组的其他图层
  * TextGroup-q                          # 区域 q 的自定义嵌字图层组
    * Text                               # 区域 q 的自定义嵌字图层组的文字
    * ... (Unmanaged Custom layers)      # 区域 q 的自定义嵌字图层组的其他图层
  * ...
* AutoTextItems                          # 自动导出的嵌字图层组
  * Text-a                               # 区域 a 的自动导出的嵌字
  * Text-b                               # 区域 b 的自动导出的嵌字
  * ...
* AutoBackground                         # 自动导出的背景图层组
  * Impainting                           # 自动导出的背景修复图层组
    * Impainting-r                       # 区域 r 的自动导出的背景修复图层
    * Impainting-s                       # 区域 s 的自动导出的背景修复图层
    * ...
  * Color                                # 自动导出的纯色填充图层组
    * ColorExport                        # 自动导出的纯色填充图层
* CustomBackground                       # 自定义背景图层组
  * Background-c                         # 区域 c 的自定义背景图层组
    * ...
  * Background-d                         # 区域 d 的自定义背景图层组
    * ...
  * ...
* Background                             # 背景图层
(底)

注意:

关于文件格式的设计

<project-name>                            # 项目文件夹
├── <project-name>.yuzu                   # 项目文件
├── Images                                # 图片文件夹
|   ├── <image-file-1>                    # 图片 1
|   ├── <image-file-2>                    # 图片 2
|   ├── ...
|   └── <image-file-n>                    # 图片 n
├── PSD                                   # PS 文件夹
|   ├── <image-file-1>.psd                # 图片 1 对应的 .psd
|   ├── <image-file-2>.psd                # 图片 2 对应的 .psd
|   ├── ...
|   └── <image-file-n>.psd                # 图片 n 对应的 .psd
└── Notations                             # 简单文本标注文件夹
    ├── <image-file-1>                    # 图片 1 对应的标注文件夹
    |   ├── index.json                    # 图片 1 标注时间戳索引
    |   ├── <timestamp-1>-simple.json     # 图片 1 的 第1个普通标注
    |   ├── <timestamp-1>-<type>.json     # 图片 1 的 第1个其他种类的标注
    |   ├── ...
    |   ├── <timestamp-2>-simple.json     # 图片 1 的 第2个普通标注
    |   ├── <timestamp-2>-<type>.json     # 图片 1 的 第2个其他种类的标注
    |   ├── ...
    |   ├── <timestamp-m>-simple.json     # 图片 1 的 第m个普通标注
    |   ├── <timestamp-m>-<type>.json     # 图片 1 的 第m个其他种类的标注
    |   └── ...
    ├── <image-file-2>                    # 下同
    |   ├── index.json                    # 图片 2 标注时间戳索引
    |   ├── <timestamp-1>-simple.json
    |   ├── <timestamp-1>-<type>.json
    |   ├── ...
    |   ├── <timestamp-2>-simple.json
    |   ├── <timestamp-2>-<type>.json
    |   ├── ...
    |   ├── <timestamp-m>-simple.json
    |   ├── <timestamp-m>-<type>.json
    |   └── ...
    ├── ...
    └── <image-file-n>
        ├── index.json
        ├── <timestamp-1>-simple.json
        ├── <timestamp-1>-<type>.json
        ├── ...
        ├── <timestamp-2>-simple.json
        ├── <timestamp-2>-<type>.json
        ├── ...
        ├── <timestamp-m>-simple.json
        ├── <timestamp-m>-<type>.json
        └── ...

关于多人协同设计

使用 git 进行多人协同,考虑到汉化组的成员可能完全不了解 git 原理与思想,所以我们将 git 工作流进行简化:

关于加密格式

对于项目文件本身,不打算,也永远不打算做加密系统,徒增代码量。理由很简单,如果要加密,为什么不打个包直接加密。

然而,对于多人协同时,由于涉及到 DMCA,我们会使用加密,特别是图片文件,这种本身就是不能被 diff 的格式,加密一下在 git 工作流上也并没有什么损失。

综上,在 git 系统中,二进制文件可以选择加密,我们会将文件夹进行如下转化:

Images => Images-Encrypted
PSD    => PSD-Encrypted

此外,我们还会添加配置文件:

.yuzugitsettings  # 记录加密设置
.password         # 记录密码

并添加如下的 .gitignore:

Images/
PSD/
.password

LICENSE

对于软件本身,我们使用 MIT License 以及以下追加条款进行授权 (见 LICENSE 文件):

如果上述条款不能满足您的需求,请和我联系,讨论商业许可证的相关问题。

注意:

EULA

Disclaimer

2021.11.29 Update: JetBrains 针对本 OSS 项目已经提供了免费许可证。

感谢

特别感谢@透明声彩汉化组

透明声彩

感谢 Jetbrains 提供的教育许可证、OSS 许可证

JetBrains Logo (Main) logo.PyCharm logo.Rider logo.