Skip to content

YauHsien/renpy-tl-solver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

Ren'Py 翻譯助手

翻譯 Ren'Py 遊戲腳本的小幫手。

這個年代有各式各樣的休閒娛樂。而劇本寫作,是比較不傷害什麼,並且有些創造力的一種。

Ren'Py 以 ren'ai 字眼(戀愛的日文)命名,指一種以文字鋪陳情節的電子遊戲類型,一般稱為戀愛冒險或虛擬小說。 Ren'Py 為一款遊戲引擎,藉由 Python 語言的簡便,搭配產生翻譯稿的便利,相信能滿足喜歡文本寫作的人的興趣。

為應付大量翻譯文字的順稿,我做了一款翻譯小幫手,用意是:

  • 要解決經常要點滑鼠游標的問題:用傳統翻譯手段時,為了準備輸入下一句,要不時挪移滑鼠游標到適當的位置。
  • 讀取翻譯稿的格式:辨認出 "" 符號,亦即成對的英文雙引號,是 Ren'Py 用到的引號。
  • 提供互動指令介面:能讀取翻譯稿,並停駐在稿本的最上方該翻譯的位置接受翻譯文字輸入,同時,將不需要受翻譯的文字印出並略過。
  • 指引進度:不時印出一筆小於 1.0 的數字,表示翻譯完成的比值(即(句子總數減去已翻譯句數)除以句子總數)。

Prolog 實作

為什麼:因為我會 Prolog 而且喜歡用。 Prolog 有立即可用的互動指令介面,還有簡單到不行的文字檔案調用功能,還有資料輪詢功能,還很容易搭配命令列導向。

用法

  1. 要安裝 SWI-Prolog
  2. 執行 FILE=/翻/譯/檔/的/路/徑/翻譯檔.rpy && swipl -f src/prolog/tl-solver.prolog -g "tl('${FILE}'),halt." && FILE=
    • 這樣會啟動互動式命令介面。
  3. 翻譯畫面的左側,依每一句在翻譯稿內所在位置,為簡單對照的翻譯進度標示。

在操作時,畫面會先一路印出已翻譯的句子(即不包含 "" 的每一行),直到到遇見第一句未翻譯的句子處,當「翻譯:」這樣的提示字眼出現時,上方為 Ren'Py 註解的原文句子,於是,譯者可以打一行譯句並按 Enter 見。系統程式會立即印出句子併入翻譯稿後的樣子,然後往下走。

譯文輸入方式

  • 如果空著不輸入,立即按 Enter 鍵,則系統程式立即將既已翻譯的文字儲存,並結束系統程式。
  • 譯文輸入是儘管打字,一句譯文只打一行,寫完句子之後,按 Enter 鍵讓譯文被系統程式接收並往下走。
  • 如果打錯字或寫錯譯句,請待結束系統程式之後,另以文字編輯器追溯並編修。

簡單說,

  • 空白並按 Enter 鍵:結束翻譯行程。
  • 亂按 Ctrl C 組合鍵,會被處罰,整篇翻譯都沒有存檔。
  • 打字並按 Enter 鍵:輸入,並往下走。
  • 按 Enter 鍵之後,不管寫對或寫錯,都已儲存。
  • 不支援行內移動文字游標。(欠缺單行小型文字編輯器的特點。)

綜效

  • 在讀取翻譯稿之後,結束翻譯行程之間,系統程式與翻譯稿的存檔之間沒有即時連動。
    1. 系統程式無法監控並解讀翻譯稿存檔的在其他文字編輯器的編修與儲存。
    2. 系統程式無法將線上翻譯行程即時傳遞到翻譯稿的存檔裡。

About

翻譯 Ren'Py 遊戲腳本的小幫手。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages