[扩展推荐]简体转繁体/繁体转简体 OpenCC-PHP 扩展

opencc-php

介绍

中文简繁转换开源项目,支持词汇级别的转换、异体字转换和地区习惯用词转换(中国大陆、臺湾、香港)。
github.com/alphasnow/opencc-php

安装

  1. 第一步,在服务器安装opencc

  2. 第二步,使用Composer安装opencc-php

     composer require alphasnow/opencc-php

应用配置

Laravel应用

  1. (Laravel5.5+ 忽略)在 config/app.php 注册 ServiceProvider 和 Facade

     [
         'providers' => [
             // ...
             AlphaSnow\OpenCC\ServiceProvider::class,
         ],
         'aliases' => [
             // ...
             'OpenCC' => AlphaSnow\OpenCC\Facade::class,
         ]
     ];
  2. 发布配置文件

     php artisan vendor:publish --provider="AlphaSnow\OpenCC\ServiceProvider"
  3. 修改配置文件 config/opencc.php

     return [
         // 执行文件的路径,默认:/usr/bin/opencc
         'binary_path'=> env('OPENCC_BINARY', '/usr/bin/opencc'),
         // 预设配置文件夹的路径,默认:/usr/share/opencc
         'config_path'=> env('OPENCC_CONFIG', '/usr/share/opencc'),
     ];

    或修改环境配置 .env

    OPENCC_BINARY=/usr/bin/opencc
    OPENCC_CONFIG=/usr/share/opencc

    快速使用

    Laravel应用

    // laravel应用可用外观
    // 参数1:待转换内容, 参数2:预设配置(可省略.json)
    $simplified = \OpenCC::convert('天氣乍涼人寂寞,光陰須得酒消磨。且來花裏聽笙歌。','t2s.json');
    print_r($simplified);
    // 天气乍凉人寂寞,光阴须得酒消磨。且来花里听笙歌。
    $traditional = \OpenCC::convert('四面垂杨十里荷。问云何处最花多。画楼南畔夕阳和。', 's2t');
    print_r($traditional);
    // 四面垂楊十里荷。問云何處最花多。畫樓南畔夕陽和。

其他应用

use AlphaSnow\OpenCC\Command;
use AlphaSnow\OpenCC\OpenCC;

$command = new Command('/usr/bin/opencc','/usr/share/opencc');
$openCC = new OpenCC($command);

$result = $openCC->convert('天氣乍涼人寂寞,光陰須得酒消磨。且來花裏聽笙歌。','t2s.json');
print_r($result);
// 天气乍凉人寂寞,光阴须得酒消磨。且来花里听笙歌。

预设配置

  • s2t.json Simplified Chinese to Traditional Chinese 簡體到繁體
  • t2s.json Traditional Chinese to Simplified Chinese 繁體到簡體
  • s2tw.json Simplified Chinese to Traditional Chinese (Taiwan Standard) 簡體到臺灣正體
  • tw2s.json Traditional Chinese (Taiwan Standard) to Simplified Chinese 臺灣正體到簡體
  • s2hk.json Simplified Chinese to Traditional Chinese (Hong Kong variant) 簡體到香港繁體
  • hk2s.json Traditional Chinese (Hong Kong variant) to Simplified Chinese 香港繁體到簡體
  • s2twp.json Simplified Chinese to Traditional Chinese (Taiwan Standard) with Taiwanese idiom 簡體到繁體(臺灣正體標準)並轉換爲臺灣常用詞彙
  • tw2sp.json Traditional Chinese (Taiwan Standard) to Simplified Chinese with Mainland Chinese idiom 繁體(臺灣正體標準)到簡體並轉換爲中國大陸常用詞彙
  • t2tw.json Traditional Chinese (OpenCC Standard) to Taiwan Standard 繁體(OpenCC 標準)到臺灣正體
  • hk2t.json Traditional Chinese (Hong Kong variant) to Traditional Chinese 香港繁體到繁體(OpenCC 標準)
  • t2hk.json Traditional Chinese (OpenCC Standard) to Hong Kong variant 繁體(OpenCC 標準)到香港繁體
  • t2jp.json Traditional Chinese Characters (Kyūjitai) to New Japanese Kanji (Shinjitai) 繁體(OpenCC 標準,舊字體)到日文新字體
  • jp2t.json New Japanese Kanji (Shinjitai) to Traditional Chinese Characters (Kyūjitai) 日文新字體到繁體(OpenCC 標準,舊字體)
  • tw2t.json Traditional Chinese (Taiwan standard) to Traditional Chinese 臺灣正體到繁體(OpenCC 標準)

备注说明

  • 如需PHP原生扩展, 可使用 opencc4php.
  • Window系统opencc配置示例
      OPENCC_BINARY=D:/OpenCC/build/bin/opencc.exe
      OPENCC_BINARY=D:/OpenCC/build/share/opencc
本作品采用《CC 协议》,转载必须注明作者和本文链接
转载请告知
附言 1  ·  2年前

最低支持 laravel 5.1 版本

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 4
flyCow

Laravel 5.8 版本安装不了;
Problem 1

  • Conclusion: don't install sleep-cat/opencc-php v1.0.3
  • Conclusion: don't install sleep-cat/opencc-php v1.0.2
  • Conclusion: don't install sleep-cat/opencc-php v1.0.1
  • Conclusion: remove symfony/process v4.3.3
  • Installation request for sleep-cat/opencc-php ^1.0 -> satisfiable by sleep-cat/opencc-php[v1.0.0, v1.0.1, v1.0.2, v1.0.3].
  • Conclusion: don't install symfony/process v4.3.3
    主要是因为系统版本symfony/process v4.3.3太高,无法降级安装!
4年前 评论
悠悠山雨 (楼主) 4年前

我升级了Symfony,然后现在有个问题路径问题,
$cmd = new Command('/usr/bin/opencc', '/usr/share/opencc');
这两个路径要指向实际的文件是那些呢?我要查找一下,因为我们没有这个文件夹,我是默认安装到Ubuntu

4年前 评论
悠悠山雨 (楼主) 4年前

已经兼容 laravel 5.1 - 8.0 版本

2年前 评论

您好,我按照这个教程都安装完成,使用的laravel,通过$traditional = \OpenCC::convert('四面垂杨十里荷。问云何处最花多。画楼南畔夕阳和。', 's2t'); $traditional为空是什么问题呢,我查找/usr/share/opencc是有这个文件夹的,但是没有这个文件/usr/bin/opencc,我是通过yum install opencc安装的

2年前 评论
悠悠山雨 (楼主) 2年前
Switch_zhou (作者) 2年前
Switch_zhou (作者) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!