http://aksharamukha.appspot.com
Aksharamukha旨在提供印度文化圈内各种文字之间的音译即文字转换。除了简单的字符映射外,Aksharamukha还尝试实现各种文字/语言特定的拼写规则(已知的情况下),如元音长度、双写辅音和鼻音化。它还提供了多种自定义选项,以便微调并获得所需的拼写。
这是对原先基于PHP版本的完全重写,原版本可在此处和此处获取。
Aksharamukha目前支持120种文字和21种罗马化方法。支持的文字包括:
阿霍姆文、阿拉伯文、阿里亚卡文、阿萨姆文、阿维斯陀文、巴厘文、巴塔克卡罗文、巴塔克曼代林文、巴塔克帕克帕克文、巴塔克锡马伦贡文、巴塔克托巴文、孟加拉文(孟加拉语)、拜克舒基文、婆罗米文、布吉文(隆塔拉文)、布希德文、缅甸文、查克玛文、占文、西里尔文(俄语)、天城文、多格拉文、埃利迈文、埃塞俄比亚文(辅音文字)、贡德文(贡贾拉)、贡德文(马萨拉姆)、古兰塔文、古兰塔文(潘迪亚)、古吉拉特文、哈努诺文、哈特兰文、希伯来文、希伯来文(犹太-阿拉伯文)、帝国亚拉姆文、碑铭巴列维文、碑铭帕提亚文、日文(平假名)、日文(片假名)、爪哇文、凯提文、卡纳达文、克维文、坎提山文、佉卢文、高棉文(柬埔寨文)、霍吉基文、孔泰文、库达瓦迪文、老挝文、老挝文(巴利语)、雷布查文、林布文、马哈贾尼文、望加锡文、马拉雅拉姆文、摩尼教文、玛钦文、曼尼普尔文(米泰马耶克文)、莫迪文、孟文、蒙古文(阿里嘎里文)、姆罗文、木尔塔尼文、纳巴泰文、南迪那加里文、尼瓦尔文(尼泊尔巴萨文)、古北阿拉伯文、古波斯文、古粟特文、古南阿拉伯文、奥里亚文(奥迪亚文)、帕拉瓦文、帕尔米拉文、波斯文、八思巴文、腓尼基文、诗篇巴列维文、旁遮普文(古木基文)、兰札文(梵文)、热让文、罗兴亚文(哈尼菲文)、罗马文(国际音标印度语)、撒马利亚文、桑塔利文(奥尔奇基文)、索拉什特拉文、夏穆基文、掸文、夏拉达文、悉昙文、僧伽罗文、粟特文、索拉桑朋文、索永布文、巽他文、锡尔赫特那加里文、叙利亚文(东方)、叙利亚文(爱斯特兰盖拉)、叙利亚文(西方)、塔加洛文、塔格班瓦文、傣良文、塔克里文、泰米尔文、泰米尔文(扩展)、泰米尔婆罗米文、泰卢固文、塔纳文(迪维希语)、泰文、兰纳文、老挝兰纳文、傣昆文、傣仂文、藏文、提尔胡塔文(迈蒂利文)、乌加里特文、乌尔都文、瓦特卢图文、万朝文、瓦兰奇蒂文、札那巴札尔方形文
支持的印度语罗马化格式有:哈佛-京都、ITRANS、Velthuis、IAST、IAST(巴利语)、ISO、ISO(巴利语)、Titus、SLP1、WX、罗马文(可读)、罗马文(口语)。支持的闪语系罗马化格式有:闪语系(Aksharamukha)、可输入闪语系(Aksharamukha)、ISO 259希伯来文、SBL希伯来文、ISO 233阿拉伯文、DMG波斯文
Docker
您可以使用docker-compose.yaml文件来编排容器。它将启动前端/后端所需的容器,并将Web应用绑定到localhost:12345。这是在本地运行应用程序的最简单方法。它还拉取第三个容器,在本地提供字体服务。没有这个,您需要互联网连接来加载Web字体。
- 安装Docker Desktop
- 要构建并启动所有Docker容器,请在此项目的根文件夹中运行
docker compose up
。这将使用docker-compose.yaml
中给出的配置 - 要加载前端,请在浏览器中访问Docker桌面显示的端口。(
http://localhost:12345
)
前端
前端使用Quasar和Vue编写。使用 npm install 安装所有依赖项,然后使用 quasar dev 启动前端。另外,请在mixins/ScriptMixin.js中将api指向localhost。
- 安装Quasar支持的node.js版本。截至2021年5月,我们推荐当前的LTS v14。例如,在OSX上,你可以使用homebrew并运行
brew install node@14
- 安装Quasar-cli,例如通过
npm install -g @quasar/cli
- 在
quasar.conf.js
中注释掉第9行,以禁用导入会导致构建失败的分析插件 - 在
src/pages/index.vue
中注释掉import keys from '../keys.js'
。在该行下方添加:
// 为Google的OCR API设置空API密钥,以在不使用该服务的情况下构建项目
var keys = {}
keys['api_key'] = ''
- 运行
quasar dev
,并在浏览器中访问quasar dev
命令输出中指定的地址。
后端
后端使用Python 3和Flask编写。安装所有必要的库后,使用 python3 main.py 初始化后端服务器。
Python包
Aksharamukha也可作为Python包使用。它有一个单独的仓库https://github.com/virtualvinodh/aksharamukha-python。
REST API
有一个供合理公共使用的REST API。你可以在这里了解相关信息。
Chrome扩展
Aksharamukha Chrome扩展的源代码可以在这里找到。
Web插件
Web插件的源代码可以在这里找到。请不要使用这里链接的文件。它们是为了保留旧版本,以确保加载旧插件的网站不会出现问题。
JSON资源
常用的脚本资源已作为JSON文件提供,位于aksharamukha-back/resources目录下。
你可以在这里找到整体映射的JSON文件。那些与通用印度文字方案有近似映射的字符用'ʽ'(U+02BD)标记。例如,塔纳文(迪维希语)没有/kha/,因此近似为/kaʽ/。你可能需要在后处理中删除该字符。同样,对于八思巴文,额外添加了/Ṿ/以区分元音、元音符号和送气标记。在完成映射后,你也需要删除该字符。
脚本矩阵数据可在这里获取。文件后缀表示指导性的罗马化方案以及字符如何被分成块。例如,<< script_matrix_IAST5.json >> 表示指导性脚本是IAST,字符被分成5个一组的块。
每种脚本的音节表可以在这里找到。该文件包括每种脚本的元音列表、辅音列表和完整的辅音-元音组合。 所有可能的梵文(和巴利文)连音字母组合列表可以在这里和这里找到。这些连音字母组合是根据其中辅音的数量进行分类的。(由于Google App Engine的限制,不得不将文件夹分开)。后缀表示附加的元音。例如,<< conjuncts_Gujarati_o.json >>表示所有可能出现的带有/o/元音的古吉拉特语连音字母组合。
该项目采用GNU AGPL 3.0许可证发布。