mcI18N项目全称为我的世界模组本地化工具链项目(Minecraft Mod Localization Toolchain Project),是一个为我的世界模组本地化过程提供工具/平台支持的项目。
该项目主要服务两类群体:我的世界玩家,汉化者。
该项目服务主要包括,面向汉化者的汉化工具支持服务,和面向玩家的语言包推送服务。

项目概要

项目组成

  • 推送服务:从服务器到玩家电脑的汉化包推送服务,包括下载汉化包,放置到合适的位置,更新汉化包。该过程由模组进行完成。
  • 翻译服务:提供网站给汉化者进行翻译,提供多种汉化方式,包括在网站上汉化,在游戏中汉化,等。
  • 收集服务:收集需要汉化的文本,收集过程为从目标网站通过爬虫方式,获取热门模组,下载模组解压出语言文件,导入系统。

收集服务概况

爬虫需要每天爬取目标网站的内容。

  1. 获取目标模组的名字、作者、下载量、最后更新时间。
  2. 如果发现模组更新,获取最新的下载地址,并下载模组。
  3. 解压缩模组获取语言文件,并记录modid,资源域名。
  4. 将语言文件导入数据库,比对更新情况。更新更新内容,增加、删减、修改词条。

翻译服务概况

翻译机需要提供对于所有汉化文件的翻译服务。

  1. 提供每个词条的翻译窗口。
  2. 对于争议词条进行复审。
  3. 对于多种翻译进行投票。
  4. 对于相同句式的翻译进行提示。

推送服务概况

推送服务用于将翻译好的词条推送到用户电脑。

  1. 生成每天的翻译文件,推送到目标git上。
  2. 用户同步时,从git中更新词条。

NACBCD

  1. N (Need 需求)
    玩家在进行游戏时经常因为缺失汉化文件或者汉化不准确而影响游戏体验甚至无法进行游戏
    国外的模组作者无法找到合适的汉化者为其翻译模组
    国内汉化者缺少有利工具进行汉化
  2. A (Approach 做法)
    使用爬虫爬取需要汉化的资源
    提供诸如投票,讨论,提示的汉化帮助
    使用git的方法同步汉化文件
  3. B (Benefit 好处)
    用户可以无障碍的体验游戏。
    汉化者可以更方便的汉化模组。
  4. C (Competitors 竞争)
    cfpa team:cfpa是一个制作模组汉化的团队,目前使用weblate进行汉化。
    但是weblate不太符合需求,和中国人的使用习惯,开发一个合适的汉化网站代替它是十分必要的。
    cfpa分发汉化包使用整个汉化包进行分发的方式,一旦有一点改动就需要重新下载整个包,我们使用git方式增量更新,可以大幅度降低成本。预计可以降低90%的成本。
  5. D (Delivery 交付)
    cfpa使用的汉化模组已经有3w的下载量,而汉化人员也有将近200个,我们产品上线可以无缝替换原来的汉化模组,和汉化工具链。

[mcI18N]mcI18N项目简介的更多相关文章

  1. 【转】GitHub 排名前 100 的安卓、iOS项目简介

    GitHub Android Libraries Top 100 简介 排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果, 然后过滤了跟 Android 不 ...

  2. 2016年GitHub 排名前 100 的安卓、iOS项目简介(收藏)

    排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果, 然后过滤了跟 Android 不相关的项目, 所以排名并不具备任何官方效力, 仅供参考学习, 方便初学者 ...

  3. 64.GitHub 排名前100的android项目简介

    GitHub Android Libraries Top 100 简介 排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果, 然后过滤了跟 Android 不 ...

  4. Android小项目练习之一 项目简介

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  5. apache基金会开源项目简介

    apache基金会开源项目简介   项目名称 描述 HTTP Server 互联网上首屈一指的HTTP服务器 Abdera Apache  Abdera项目的目标是建立一个功能完备,高效能的IETF ...

  6. Faces人脸识别项目简介

    Faces人脸识别 分为两个模块,Faces文件夹下存放人脸识别算法的代码,Web文件夹下存放网站搭建的代码 详情请查看各个模块下的readme文档 项目简介 核心算法 一款基于Dlib.opencv ...

  7. 前端开发工程师 - 06.Mini项目实战 - 项目简介

    第6章--Mini项目实战 项目简介 Mini项目简介-Ego社区开发 回顾: 页面制作 页面架构 JavaScript程序设计 DOM编程艺术 产品前端架构 实践课Mini项目--Ego: 主题:漫 ...

  8. OpenStack Magnum项目简介

    1 项目简介 Magnum是OpenStack中一个提供容器集群部署的服务. Magnum是一个Pass层的OpenStack项目. Magnum使用Heat部署一个包含Docker和Kubernet ...

  9. OpenStack Smaug项目简介

    1 项目简介 Smaug是一个OpenStack中提供应用数据保护服务的项目. 2 项目使命 在OpenStack中建立应用数据保护的标准和规范. 保护OpenStack中的任何资源以及资源的依赖项. ...

  10. SpringSecurity权限管理系统实战—一、项目简介和开发环境准备

    目录 SpringSecurity权限管理系统实战-一.项目简介和开发环境准备 SpringSecurity权限管理系统实战-二.日志.接口文档等实现 SpringSecurity权限管理系统实战-三 ...

随机推荐

  1. 使用SAP Cloud Platform Leonardo机器学习提取图片的特征向量

    选中一个需要进行测试的Leonardo机器学习服务,点击Configure Environments: 因为我不想使用sandbox环境,所以我选择了eu10这个region: 维护clientid和 ...

  2. Feign报错'xx.FeignClientSpecification', defined in null, could not be registered.

    解决: 在application.yml中配置: spring: main: allow-bean-definition-overriding: true 参考:https://blog.csdn.n ...

  3. MVC-Cache-1.输出缓存(Cache:[1].输出缓存2.应用程序缓存)

    缓存前提概念: 1.使用缓存的目的就是为提供网站性能,减轻对数据库的压力,提高访问的速度. 2.如果使用缓存不当,比不使用缓存造成的影响更恶劣(缓存数据的更新不及时.缓存过多等). 3..net MV ...

  4. Android笔记(十) Android中的布局——表格布局

    TableLayout运行我们使用表格的方式来排列控件,它的本质依然是线性布局.表格布局采用行.列的形式来管理控件,TableLayout并不需要明确的声明包含多少行多少列,而是通过添加TableRo ...

  5. SpringCloud2.0 概述 基础教程(一)

    1.SpringCloud简介 Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,领导选举 ...

  6. 转: java 双向map

    package tools; import java.util.HashMap; public class DuplexMap<K,V> { class Entry{ K k; V v; ...

  7. 读取Excel数据到DataTable

    读取Excel数据到DataTable 代码 /// <summary> /// 获取指定路径.指定工作簿名称的Excel数据:取第一个sheet的数据 /// </summary& ...

  8. Spring核心概念和案例

    一.Spring概念 1.Spring框架概述 轻量级的Java EE开源框架,它是由Rod Johnson为了解决企业应用程序开发的复杂性而创建, Spring框架提供了一个开发平台,用于整合其他技 ...

  9. 【安卓高级】ViewPager视差动画效果

    在安卓开发中,是否遇见过一些很酷的视差动画效果,当ViewPager滑动下一页的时候,页面内的各种元素也能跟随滑动做位移效果,整体看起来非常有活力. 关键的PageTransformer PageTr ...

  10. 001_git: 版本控制软件

    一.基础配置 1.安装]# yum install -y git 2.配置用户信息配置用户联系方式:名字.email]# git config --global user.name "Mr. ...