12.3. 建立新翻譯

建立新翻譯文件的第一步是找到或建立一個目錄來放它。FreeBSD 將翻譯文件放在子目錄,用語系和區域以 語系 (lang)_區域 (REGION) 來命名。語系 (lang) 是小寫的兩個字元碼,接著是底線和兩個字元的大寫 REGION 碼。

表格 12.1. 語系名稱
語言地區翻譯目錄名稱PO 檔名稱字元集
英文美國en_US.ISO8859-1en_US.poISO 8859-1
孟加拉文孟加拉bn_BD.UTF-8bn_BD.poUTF-8
丹麥文丹麥da_DK.ISO8859-1da_DK.poISO 8859-1
德文德國de_DE.ISO8859-1de_DE.poISO 8859-1
希臘文希臘el_GR.ISO8859-7el_GR.poISO 8859-7
西班牙文西班牙es_ES.ISO8859-1es_ES.poISO 8859-1
法文法國fr_FR.ISO8859-1fr_FR.poISO 8859-1
匈牙利文匈牙利hu_HU.ISO8859-2hu_HU.poISO 8859-2
義大利文義大利it_IT.ISO8859-15it_IT.poISO 8859-15
日文日本ja_JP.eucJPja_JP.poEUC JP
韓文韓國ko_KR.UTF-8ko_KR.poUTF-8
蒙古文蒙古mn_MN.UTF-8mn_MN.poUTF-8
荷蘭文荷蘭nl_NL.ISO8859-1nl_NL.poISO 8859-1
挪威文挪威no_NO.ISO8859-1no_NO.poISO 8859-1
波蘭文波蘭pl_PL.ISO8859-2pl_PL.poISO 8859-2
葡萄牙文巴西pt_BR.ISO8859-1pt_BR.poISO 8859-1
俄文俄羅斯ru_RU.KOI8-Rru_RU.poKOI8-R
賽爾維亞賽爾維亞文sr_YU.ISO8859-2sr_YU.poISO 8859-2
土耳其文土耳其tr_TR.ISO8859-9tr_TR.poISO 8859-9
中文中國zh_CN.UTF-8zh_CN.poUTF-8
中文台灣zh_TW.UTF-8zh_TW.poUTF-8

翻譯位於主要說明文件目錄的子目錄,這裡假設如 節 1.1, “快速上手” 所示,是 ~/doc/。例如德文位於 ~/doc/de_DE.ISO8859-1/,法文位於 ~/doc/fr_FR.ISO8859-1/

每個語系目錄包含不同文件類型的子目錄,通常是 articles/books/

將目錄名稱組合起來就是文章或書的完整路徑。例如,NanoBSD 文章的法語翻譯在 ~/doc/fr_FR.ISO8859-1/articles/nanobsd/ 。而使用手冊的蒙古文翻譯在~/doc/mn_MN.UTF-8/books/handbook/

當翻譯到一個新語系時必須建立一個新的語系目錄。如果語系目錄已經存在,那只需要有 articles/books/ 的子目錄。

FreeBSD 說明文件的編譯是由同一個目錄的 Makefile 控制。簡單的文章可以從原始的英語目錄直接複製 Makefile 過來。書籍的翻譯流程結合多個獨立的 book.xmlchapter.xml 成為一個檔案,所以書籍翻譯的 Makefile 必須複製並修改。

範例 12.1. 建立 Porter 手冊的西班牙語翻譯

建立 Porter 手冊 的西班牙文翻譯。原文是位於 ~/doc/en_US.ISO8859-1/books/porters-handbook/ 的書籍。

  1. 西班牙文 books 目錄 ~/doc/es_ES.ISO8859-1/books/ 已經存在,所以只要建立 Porter 手冊的子目錄:

    % cd ~/doc/es_ES.ISO8859-1/books/
    % svn mkdir porters-handbook
    A         porters-handbook
  2. 從原始文件的目錄複製 Makefile

    % cd ~/doc/es_ES.ISO8859-1/books/porters-handbook
    % svn cp ~/doc/en_US.ISO8859-1/books/porters-handbook/Makefile .
    A         Makefile

    修改 Makefile 內容以產生單一的 book.xml

    #
    # $FreeBSD: head/zh_TW.UTF-8/books/fdp-primer/book.xml 50507 2017-07-17 06:35:59Z rcyu $
    #
    # Build the FreeBSD Porter's Handbook.
    #
    
    MAINTAINER=doc@FreeBSD.org
    
    DOC?= book
    
    FORMATS?= html-split
    
    INSTALL_COMPRESSED?= gz
    INSTALL_ONLY_COMPRESSED?=
    
    # XML content
    SRCS=  book.xml
    
    # Images from the cross-document image library
    IMAGES_LIB+=    callouts/1.png
    IMAGES_LIB+=    callouts/2.png
    IMAGES_LIB+=    callouts/3.png
    IMAGES_LIB+=    callouts/4.png
    IMAGES_LIB+=    callouts/5.png
    IMAGES_LIB+=    callouts/6.png
    IMAGES_LIB+=    callouts/7.png
    IMAGES_LIB+=    callouts/8.png
    IMAGES_LIB+=    callouts/9.png
    IMAGES_LIB+=    callouts/10.png
    IMAGES_LIB+=    callouts/11.png
    IMAGES_LIB+=    callouts/12.png
    IMAGES_LIB+=    callouts/13.png
    IMAGES_LIB+=    callouts/14.png
    IMAGES_LIB+=    callouts/15.png
    IMAGES_LIB+=    callouts/16.png
    IMAGES_LIB+=    callouts/17.png
    IMAGES_LIB+=    callouts/18.png
    IMAGES_LIB+=    callouts/19.png
    IMAGES_LIB+=    callouts/20.png
    IMAGES_LIB+=    callouts/21.png
    
    URL_RELPREFIX?= ../../../..
    DOC_PREFIX?= ${.CURDIR}/../../..
    
    .include "${DOC_PREFIX}/share/mk/doc.project.mk"

    現在文件結構已經準備好讓翻譯者執行 make po 開始翻譯。


範例 12.2. 建立 PGP 金鑰文章的法語翻譯。

建立 PGP 金鑰文章 的法文翻譯。原文是位於 ~/doc/en_US.ISO8859-1/articles/pgpkeys/ 的文章。

  1. 法文文章目錄 ~/doc/fr_FR.ISO8859-1/articles/ 已經存在,所以只要建立 PGP 金鑰文章的子目錄:

    % cd ~/doc/fr_FR.ISO8859-1/articles/
    % svn mkdir pgpkeys
    A         pgpkeys
  2. 從原始文件的目錄複製 Makefile

    % cd ~/doc/fr_FR.ISO8859-1/articles/pgpkeys
    % svn cp ~/doc/en_US.ISO8859-1/articles/pgpkeys/Makefile .
    A         Makefile

    檢查 Makefile 的內容。因為這是簡單的文章,此例的 Makefile 不用修改。第二行的 $FreeBSD...$ 版本字串將會在檔案提交時被版本控制系統替換掉。

    #
    # $FreeBSD: head/zh_TW.UTF-8/books/fdp-primer/book.xml 50507 2017-07-17 06:35:59Z rcyu $
    #
    # Article: PGP Keys
    
    DOC?= article
    
    FORMATS?= html
    WITH_ARTICLE_TOC?= YES
    
    INSTALL_COMPRESSED?= gz
    INSTALL_ONLY_COMPRESSED?=
    
    SRCS=   article.xml
    
    # To build with just key fingerprints, set FINGERPRINTS_ONLY.
    
    URL_RELPREFIX?= ../../../..
    DOC_PREFIX?=    ${.CURDIR}/../../..
    
    .include "${DOC_PREFIX}/share/mk/doc.project.mk"

    文章結構處理好後,可以執行建立 make po 建立 PO 檔。


本文及其他文件,可由此下載: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

若有 FreeBSD 方面疑問,請先閱讀 FreeBSD 相關文件,如不能解決的話,再洽詢 <questions@FreeBSD.org>。

關於本文件的問題,請洽詢 <doc@FreeBSD.org>。