優化段落式標記語言的翻譯成本 | 原創,AI翻譯

Home 2025.07.14

我的 Jekyll 部落格使用 Markdown 撰寫段落。寫完英文後,我會用 DeepSeek 或 Mistral 等 AI 工具翻譯成另外八種語言。雖然這些工具已經相當便宜,但仍有改進空間。

有時候,我只修改一個字或一個段落,整篇文章的內容就會被翻譯成另外八種語言。這種情況下,token 的使用量很高。如果我只重新翻譯一個段落,token 的使用量會較低,尤其是長篇文章。

不過,我仍然希望用 Markdown 記錄我的想法。用資料庫維護和更新文章並不方便。用 YAML 或 JSON 可能也太繁瑣。

關鍵在於識別編輯前後文本的差異。如果採用段落為基礎的方法,就代表用換行符號 “\n” 分割文本。

我需要知道編輯後哪些段落有變動,哪些沒有變動。我們需要知道編輯前後文本之間的段落一對一對應關係。

我們採用段落為基礎的方法,是因為我們希望更新 AI 模型所做的翻譯。如果使用句子,可能不會那麼準確。

對於 Markdown 來說,可能更重要的做法是使用 Markdown 解析來同步翻譯,基於 Markdown 元素。

但如果沒有程式碼區塊或特殊 Markdown 語法,我們可以採用段落為基礎的方法。

在簡單的段落為基礎的方法中,我們有兩個段落陣列,需要知道它們如何對應。

在比較這兩個陣列中的任何一個段落時,有兩種可能的結果:它們相同或不同。如果不同,有幾種情況:兩者都是新增的、左邊的是新增的,或右邊的是新增的。

我只是想省錢,所以我想減少 token 的使用量。我不需要其他功能。我只需要翻譯每個段落,快取結果,下次再次翻譯時,我會先查找每個段落的翻譯結果。如果找不到,就需要重新翻譯。

對於 Markdown 來說,情況稍微複雜一些。我不想翻譯程式碼區塊。因此,我們可以先使用 Markdown 解析庫,將程式碼區塊和普通文本區分開來處理。


Back Donate