發表文章

目前顯示的是 十二月, 2016的文章

繁簡中文轉換 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(AV…