internationalization (i18n) / localization (l10n) 線上翻譯協作平台

目前看到幾個平台可以用來協助處理多國語言/語系在地化的協作平台
目前用過的只有Transifex,找機會比較一下差異、看看哪套比較好用…

先列一些比較’通用’的平台…
Get Localization

Crowdin

Transifex

Google Translator Toolkit

POEditor

Zanata (目前沒https的樣子)

Weblate(雖然有https,但ssl憑證應該是自己簽的XD)

也列一些給app用的:
Localeaoo (for rails apps)

AndroGlot(for android apps,雖然有https,但ssl憑證應該是自己簽的XD,網站目前還在beta)

LOKALIGO(for android & iOS apps,目前沒https的樣子,網站目前還在beta)

更新從 GitHub 上 fork 出來的 repository (或是同步兩個不同 server 端的 repository)

從 GitHub 上面 fork 出來的 repository,整個狀態會停留在當初 fork 的時候,後面的同步要靠自己動手,當然你也可以把 fork 出來的 repository 整個砍掉重新 fork,這邊要講的是手動同步、而不用砍掉重練的方法,有兩個不同的 git server 要做同步的動作也是這樣做,有些專案會同時丟在自己的 git server 跟 GitHub 上,就會需要用到

大致講一下流程 … 操作必須是在自己 local 端做 (希望以後 GitHub 可以推出按一個鈕就幫我去同步到最新XD),做法是把 fork 出來的 repository 在本地更新後、再把 repository 給 push 出去!會需要用到 git 的 branch, remote, pull, push 觀念。

接下來的操作環境是你已經把你 fork 出來的 repository 給 clone 到自己的電腦上了, clone 好之後請切換到對應的資料夾底下,然後就可以開始使用 git 做操作了。

第一次操作時我們要加入一個遠端的 remote 當作更新來源,如果要比較是否有加入成功的話可以在操作前後先看狀態:

$ git remote -v

預設應該只會有 origin 這個 remote:

origin https://github.com/user/repo.git (fetch)
origin https://github.com/user/repo.git (push)

我們用下面這個命令來加入遠端的 repository,在這邊的情境也就是比較新的、上游的 repository upstream 是 remote name、可以自己取名,不要重複就好,但後面我都用會 upstream 做示範,而後面那串網址是 repository 位置:

$ git remote add upstream https://github.com/otheruser/repo.git

如果再看一次現有的remote端應該會發現多了兩組 upstream (fetch & push):

$ git remote -v
 origin https://github.com/user/repo.git (fetch)
 origin https://github.com/user/repo.git (push)
 upstream https://github.com/otheruser/repo.git (fetch)
 upstream https://github.com/otheruser/repo.git (push)

有了遠端的來源後我們就可以開始做更新了

假如我要做更新的的 branch 是 master 的話就先切到 master branch:

$ git checkout master

接著把 upstream 的 master 更新給拉進來

$ git pull upstream master

如果你的 master branch 有自己的 commit, 也可以用 rebase 來避免不必要的 merge 操作:

$ git pull --rebase upstream master

如果沒有發生衝突的話這樣應該就完成了本地的更新,再把更新後的 branch push 出去就行了:

$ git push origin master

這時再回去看看你的 repository 頁面,應該會發現已經同步到最新的狀態了!

Reference:
https://help.github.com/articles/syncing-a-fork

在 VIM 裡面同時對多個檔案做搜尋以及取代的動作

偶爾會用到一次…但每次都想不起來,做個筆記:

:bufdo %s/pattern/replace/ge | update

bufdo
就是要vim在所有buffer,也就是所有開啟的檔案裡面做這件事情

%s/pattern/replace/g
沒什麼好說的…

e
是忽略找不到字串時的error

update
是針對有修改(取代)的檔案做存檔的動作

詳細用法以及 Refference:
Search and replace in multiple buffers

dpkg: error: parsing file ‘/var/lib/dpkg/available’ near line N

好像是因為上一次用apt-get在安裝套件的時候意外中斷造成的

剛剛在裝irssi來掛IRC的時候就卡在這…


peterdavehello@vm-0:~$ sudo apt-get install irssi
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libperl5.14
Suggested packages:
irssi-scripts
The following NEW packages will be installed:
irssi libperl5.14
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/902 kB of archives.
After this operation, 2,446 kB of additional disk space will be used.
Do you want to continue [Y/n]?
dpkg: error: parsing file '/var/lib/dpkg/available' near line 63:
missing package name
E: Sub-process /usr/bin/dpkg returned an error code (2)

解法:
peterdavehello@vm-0:~$ sudo dpkg --clear-avail
搞定收工!