2016年7月8日 星期五

用 google spreadsheets 幫你翻譯文字

最近剛好有個需求要整理專案上的多國語系的名詞,因為多人協作,所以一開始在整理時我自己是採用 google 的 excel 來處理,大致上如下:


但因為要手動翻譯其他語系,打字實在很麻煩,以我來說,大概只有英文是比較知道如何下手的,但日文跟簡體中文呢?一直去找 google translate 也挺麻煩的,還好 google spreadsheets 有現成的函式可以幫我做到,看到這個功能眼淚都要掉出來了,因為當我有上百個字詞要翻譯的時候,根本不可能這麼“人工”,就算透過翻譯出來的英文沒有很準確,但至少我可以只挑我要修改的去修正就行。


至於這個翻譯的函式就是:
GOOGLETRANSLATE(文字, 原文語言, 譯文語言)


以我現在的範例來說,首先先點選第一個想要翻譯的語系的第一欄,照理來說他本來是空值,(因為你本來就什麼都沒有填,我們就是要靠這個功能幫我們翻譯出來),接著為那一欄加上翻譯的函式,如圖:

接著點選 C2 那一欄的右下角拖曳,往 C 欄一直向下拖曳,讓這個翻譯成簡體中文的規則往下比照:

(看起來是動態去呼叫翻譯的 api,所以在翻的過程中會有 Loading 的字樣)



這樣翻譯某個語言的功能就完成了,可在往後接續執行其他的語系。

抓住大概的規則就是,找出要被翻譯的源頭,以我來說是中文,然後在其他語系的第一格,加上翻譯的函式,只要第一格套用這樣的規則,也可以讓同一欄往後的欄位也都有相同的翻譯規則。


最後完成:



更深入一點的應用
1. 英文若翻譯出小寫,也有其他函示可以做 upper 或是幫你轉字首大寫的功能。
2. 至於第二點,也就是我下面要提到的,如何找到重複的字串,當我們很多人共同編輯某一份 excel ,根本不會自己去比對重複的字串,假如公司簡介,出現了兩次呢?所以接下來我們要透過『條件式格式規則』,幫我們找出重複的字,並且在那一欄位上加上提示的警示背景色。

先點選 B 欄 (我們要驗證 zh-TW 所有欄位有相同出現的字),是最上方的那個 B 哦!

接著點按選單的『格式』 -> 『條件式格式設定』:


在右側工具列上方點選,新增規則:

填入以下規則以及應用區間,比方說 B1 到 BXXX,由你決定: (我發現一次選太多 會跑很久 XD),規則選擇『自訂公式』,為 =COUNTIF(B:B,B2)>1,只要這個規則新增之後,就會幫你比對指定區間的文字是否有重複,底色也是可以自己調,像是公司簡介出現了三次,就會一起被反底色。



這個比對重複字串的方法我找了好久,因為需求端千奇百怪,所以也有各式各樣的解答,如果有更好的方式(以我的這個 case 來說),也希望你留言讓我知道,謝謝~

當這一份整理好的資料,最後匯出成 csv,就下來就是想辦法轉 json 或是其他方式灌到 Database。

沒有留言:

張貼留言

若你看的文章,時間太久遠的問題就別問了,因為我應該也忘了... XD

Vue multiselect set autofocus and tinymce set autofocus

要在畫面一進來 focus multiselect 的方式: 參考: https://jsfiddle.net/shentao/mnphdt2g/ 主要就是在 multiselect 的 tag 加上 ref (例如: my_multiselect), 另外在 mounted...