nodejs 音译(中日韩等多国语言转罗马字符)模块,自带slugify生成slug,全面支持node.js、浏览器和命令行,全面采用最新技术(更新最新版本)
发布于 10 年前 作者 andyhu 5962 次浏览 最后一次编辑是 8 年前 来自 分享

全面采用 babel + ES6, eslint + airbnb, mocha + nyc (istanbul) + coveralls + travis-ci, yargs, gulp + browserify + babelify,整个模块可生成单文件在node.js、浏览器和命令行运行(mac, windows linux)。尽量采用最优最新的工具实现,测试覆盖率100%,欢迎 star 和提交 pull request! 更详细使用请参见 https://github.com/andyhu/node-transliteration Demo: http://rawgit.com/andyhu/node-transliteration/master/demo/example.html

npm install transliteration --save
var transliteration = require('transliteration');
var slug = tr.slugify;
var tr = transliteration.transliterate
//import { transliterate as tr, slugify as slug } from 'transliteration'; /* For ES6 syntax */

tr('你好, world!'); // Ni Hao , world!
slugify('你好, world!'); // ni-hao-world
# Install bower if not already installed
# npm install bower -g
bower install transliteration
<html>
<head>
  <script src="bower_components/transliteration/transliteration.min.js"></script>
</head>
<body>
  <script>
    transl('你好, world!'); // Ni Hao , world!
    slugify('你好, world!'); // ni-hao-world
  </script>
</body>
</html>
npm install transliteration -g

transliterate 你好 # Ni Hao
slugify 你好 # ni-hao
7 回复

其实,这种我一般都是调用一些翻译网站的api做的

原理是怎么作的啊?

@thesadboy http://nodejs.org/api/punycode.html punycode是node.js 0.6.2+版本内置的,不用加到依赖包,本来打算引入下lodash的,后来觉得没必要,直接都改成原生无需任何依赖的了,简洁点

@youqingkui 其实这类工具都差不多,是把unicode字符拆分出来,然后逐一对照数据库中的相应值做出来的,具体可以看源码

代码已更新,支持在浏览器中访问

:-O 好神奇!

已更新至1.0.x版本。欢迎star!

回到顶部