欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Drupal 7 Transliteration Drupal6也有用 有大用

shiping1 的头像
我在drupal6中使用的 上传中文文件转拼音的方法
1)安装 pathauto模块 ,安装 transliteration 模块
2)到 admin/settings/file-system 进行设置一下










标签: 
Drupal 7 Transliteration
Drupal 7 Transliteration

Transliteration 模块提供单向串音译,  可以超过128个ASCII字符转换成128位的ASCll字符. 比如通常的中文,阿拉伯文, 日文等这些转换成可读的英文字母.  最常用的就是将中文转换成拼音. 系统默认有只将上传的文件名进行转换.  如果需要可以通过强大的API进行手动转换. 此模块还支持pathauto支持的url进行转换

安装与配置: 

进入到配置页面 admin/config/media/file-system

模块案例: 

中文名转换

现在创建一个文件名为"中文图片.png"的图片进行上传

可以看到上传以后的文件名自动转换成拼音了

阿拉伯文转换

现在我去创建一个阿拉伯名的文件, 我也不知道是什么意思???

PATHAUTO 支持

下载并启用pathauto 模块, 并且进入到配置页面(admin/config/search/path/settings)

node生成的别名默认就是  content/node标题

 

开发资料: 

$source_langcode是原始语言,可以使用系统默认语言:

 $source_langcode = language_default('language'); 

汉字转换函数

 if (function_exists('transliteration_get')) {
   $transliterated = transliteration_get($text, $unknown, $source_langcode);
} 

文件名转换函数

 if (function_exists('transliteration_clean_filename')) {
   $transliterated = transliteration_clean_filename($filename, $source_langcode);
} 

 

来自 http://www.drupalmodule.cn/project/transliteration/7.x


让Drupal pathauto 自动生成路径模块支持中文转拼音


以下是文档“让Drupal pathauto 自动生成路径模块支持中文转拼音”的部分内容摘录
…………
…………
…………
Pathauto 模块,一个能够基于规则自动为节点创建路径别名,而不需要手动为每一篇文件设置路径别名。非常方便的模块。但如果规则是中文(如用文章的标题作为规则),那就不好使了,网址会生成一堆奇怪的路径(其实是中文在浏览器地址栏显示的效果)如:http://www.yourdomain.com/content/%E7%8C%AA%E8%B7%91%E5%95%A6,是不是很难看呢?你可能会问,假使文章标题是中文,drupal能不能识别中文并且自动转成拼音作为路径呢?那是绝对没问题的,下面就教大家如何做。   第一步:我们得下载以下三个模块:Pathauto,Transliteration,Token, Drupal 6在Administer › Site building › Modules(yourdomain.com/admin/build/modules )开启模块 Drupal 7在 Dashboard,可以综览网站的一些统计数据。">Administration » Modules(yourdomain.com/admin/modules)开启模块。   安装完毕后,Drupal 6版本需下载i18n-ascii-full.txt文件到模块Pathauto下方,并且改名为i18n-ascii.txt   第二步:Drupal 6 在Administer › Site building › URL aliases › Automated alias settings(youdomain.com/admin/build/path/pathauto)下打开General settings,勾上Transliterate prior to creating alias(注:必须存在文件i18n-ascii.txt否则无法开启)   
以上是文档“让Drupal pathauto 自动生成路径模块支持中文转拼音”的部分内容摘录

来自 
http://www.doc70.com/it/doc3738879.html

Drupal中使用Transliteration模块实现中文转拼音

 以前在MediaWiki中见过一个扩展程序可以实现汉字转拼音,但好像是固定汉字转换,不能是变量,所以也没有用。这几天在用Drupal的时候查到资料说Transliteration

(link is external)这个模块可以用于中文转拼音,而这个模块也用于将上传包含汉字字符文件名的文件自动转拼音文件名,以前就曾经安装用过,于是打开该模块的Readme查看,原来很简单就可以调用其中的函数来实现。

  汉字转换函数:

if (function_exists('transliteration_get')) {
   $transliterated = transliteration_get($text, $unknown, $source_langcode);
}

  文件名转换函数:

if (function_exists('transliteration_clean_filename')) {
   $transliterated = transliteration_clean_filename($filename, $source_langcode);
}

  注意$source_langcode是原始语言,可以使用系统默认语言:

$output = transliteration_get($text, '?', language_default('language'));

  这个功能很方便,不过自带的数据中拼音错误不少,还缺了一些汉字的拼音,需要用这个的数据替换办法来修改、补充。办法是先查出汉字的Unicode编码(link is external),然后找到对应的文件、对应的行列,核对自带数据是否错误或者缺失,如果要纠正,就在文件下面添加:

$variant['zh-hans'] = array(
0xCF => 'Yi ',
);

  除了Transliteration模块外,Autopath(link is external)模块其实也带有汉字拼音转换功能,转换表中也有一些错误和缺失,可以参看:i18n-ascii-full.txt(link is external),或者下载保存。这些错误真是可恨,本来好好的功能给破坏了,要纠正起来还是要花不少时间去校对的,但愿以后有人来做好正确的。

  附几个例子,注意其中有多音字、错误拼音、缺失拼音的情况:

原来错误的:

汉字转换好!=>Yi Zi Zhuan Huan Hao !
汉=>Yi 
藏=>Cang 
一=>?
癌=>Yan 
肮=>Hang 
“2”=>"2"

经过修复的:

汉字转换好!=>Han Zi Zhuan Huan Hao !
汉=>Han 
藏=>Zang 
一=>Yi 
癌=>Ai 
肮=>Ang 
“2”=>"2"

自由标签:

来自 http://jamesqi.com/%E5%8D%9A%E5%AE%A2/Drupal%E4%B8%AD%E4%BD%BF%E7%94%A8Transliteration%E6%A8%A1%E5%9...
普通分类: