繁簡中文轉換 OpenCC

最近在做繁簡中文的科技翻譯,我本身用的是繁體中文,市面上雖然有不少繁簡轉換的工具,例如「同文堂」,但它僅能用於網頁,Word也有繁簡轉換的功能,可是它是逐字翻譯,實際使用起來,功能上仍有不足。

我們都知道,繁簡中文轉換最困難的是術語的轉換,例如 Document,台灣叫「文件」,大陸叫「文檔」;File,台灣叫「檔案」,大陸叫「文件」;Column,台灣叫「欄位」,大陸叫「字段」。關於術語的轉換,前輩侯捷大師有先見之明,早在二十多年前就整理了一份繁簡術語對照表

今天,在 GitHub 上則出現了一個「開放中文轉換」的開源專案,這個專案能轉換大陸、台灣、香港三地的習慣用詞,非常強大。

可以使用這個網站做線上中文轉換 http://opencc.byvoid.com/

因為開源的關係,也產生不少相關的應用,如果你有使用 Sublime Text 編輯器,可以安裝 ChineseOpenConvert 這個套件,就能在 Sublime 直接做繁簡中文的轉換。


分類:

WordPress 搬移方法

如果將 WordPress 放置在免費的 VPS 空間,可能時常會遇到因為環境不穩定,而需要搬遷到其他 VPS 的狀況。以下就來說明  WordPress 搬遷的步驟:

資料匯出

多數 VPS 無法直接備份資料庫,要匯出資料,只能透過 phpMyAdmin 介面。先登入到舊站的 phpMyAdmin,選擇「匯出」功能

(phpMyAdmin 的介面,可能會因爲 VPS 提供的版本而有差異)

 選擇「儲存為檔案」

為了簡化程序,這裡只勾選資料,我們只需要將資料匯出後,再匯入到新站的資料庫

指定資料新增前先清除舊資料,以避免資料重複,最後按下「執行」,下載 SQL 檔


檔案匯出

使用 FTP 工具,或 VPS cPanel 提供的線上檔案工具,將 wp-content 資料夾匯出。如果 VPS 有提供線上壓縮功能,可以先將該資料夾壓縮,再下載壓縮檔,以節省檔案下載的時間


新建環境

在新站建立全新的 WordPress 環境,某些 VPS 會提供一鍵安裝的功能來安裝 WordPress,或者可直接從 WordPress 官網下載安裝檔來安裝

資料匯入

登入新站的 phpMyAdmin,使用「匯入」功能,將剛才從舊站匯出的 SQL 資料檔上傳,選擇不要自動遞增,然後按下「執行」開始匯入


檔案匯入

使用 FTP,或 VPS cPanel 提供的線上檔案工具,將舊站的 wp-content 資料夾上傳到新站,並覆蓋原先的檔案

設定網址

如果要搬遷的 WordPress 有自訂網址,請將網址指向新站
如果沒有自訂網址,則要從 phpMyAdmin 將 wp_options table 的 siteURL 和 home 修改成新站 VPS 提供的網址。





分類:

[iOS] 使用 AVSpeechSynthesizer 實現文字轉語音 (TTS) 功能

iOS 7 開始提供 TTS(Text to Speech) API,可以實現文字轉語音的功能。

範例程式畫面如下,由 Text Field 和 Button 組成的簡單畫面。
首先要在專案中加入 AVFoundation.framework 這個函式庫
然後開始撰寫程式,要先匯入 AVFoundation 函式庫
import AVFoundation
Button 的程式碼如下:
let synth = AVSpeechSynthesizer()
    var myUtterance = AVSpeechUtterance(string: "")
 
    @IBAction func textToSpeechButton(_ sender: UIButton) {

        myUtterance = AVSpeechUtterance(string: txtFieldText.text!)
        myUtterance.rate = 0.4
        myUtterance.pitchMultiplier = 1.2
        myUtterance.postUtteranceDelay = 0.1
        myUtterance.volume = 1
        myUtterance.voice = AVSpeechSynthesisVoice(language: "zh-TW")
        synth.speak(myUtterance)
        
    }
utterance 可用的屬性如下,上面的數值已經是經過調整後,聽起來較正常的聲音:
  • rate:發音速度,數值越大讀的越快
  • pitchMultiplier:音高
  • postUtteranceDelay:讀完一段話後的停頓時間
  • preUtteranceDelay:讀一段話之前的停頓時間
  • volume:音量
  • voice:使用的聲音(可以指定不同語系的語言)
完成以上的程式,模擬器已經可以正常運作,可是實體機仍沒有聲音,要讓實體機有聲音,請在 viewDidLoad 加入以下程式碼
do{
            try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)         
            do{
                try AVAudioSession.sharedInstance().setActive(true)
            }catch{
                
            }
        }catch{
            
        }

完整程式碼如下

分類:

Copyright © Andy Cheng

Distributed By My Blogger Themes | Blogger Theme By NewBloggerThemes Up ↑