Skip to content

feat: translate howto/logging.po#1195

Open
josix wants to merge 5 commits into
python:3.14from
josix:claude/create-translation-update-q7zox
Open

feat: translate howto/logging.po#1195
josix wants to merge 5 commits into
python:3.14from
josix:claude/create-translation-update-q7zox

Conversation

@josix

@josix josix commented Jan 23, 2026

Copy link
Copy Markdown
Collaborator

Restore and fix f765f25

Add Traditional Chinese translations for the logging HOWTO documentation. This includes:

  • Header updates with new translator credit (CTHua)
  • Translation of main sections and headings
  • Translation of logging level descriptions
  • Translation of handler and formatter documentation
  • Translation of configuration examples

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds/refreshes Traditional Chinese translations for the Logging HOWTO (howto/logging.po) and updates translation metadata.

Changes:

  • Updates header metadata (copyright year range, translator credit, generator).
  • Translates additional sections/paragraphs and many table entries in the Logging HOWTO.
  • Adds translations for advanced concepts (loggers/handlers/formatters/config options).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread howto/logging.po Outdated
msgstr "進階日誌記錄教學"

#: ../../howto/logging.rst:320
#, fuzzy

Copilot AI Jan 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This entry is marked as fuzzy but already has a translated msgstr. Fuzzy entries are typically excluded from the built docs/translation stats. If the translation is final, remove the #, fuzzy flag; otherwise clear the msgstr until it’s ready.

Suggested change
#, fuzzy

Copilot uses AI. Check for mistakes.
Comment thread howto/logging.po Outdated
msgstr "如果未提供設定,會發生什麼"

#: ../../howto/logging.rst:785
#, fuzzy

Copilot AI Jan 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This entry is marked as fuzzy but already has a translated msgstr. Fuzzy entries are typically excluded from the built docs/translation stats. If the translation is final, remove the #, fuzzy flag; otherwise clear the msgstr until it’s ready.

Suggested change
#, fuzzy

Copilot uses AI. Check for mistakes.
Comment thread howto/logging.po Outdated
"the following example::"
msgstr ""
"要取得值以傳遞給 :func:`basicConfig` 的 *level* 引數,你可能會想檢查任何使用"
"者輸入的值,如下面的示例所示: ::"

Copilot AI Jan 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This msgstr uses : :: (Chinese colon plus ::). In reST, :: already renders as a single trailing : while introducing a literal block; adding a separate colon can produce doubled punctuation. Consider ending the sentence with :: directly.

Copilot uses AI. Check for mistakes.
Comment thread howto/logging.po
Comment thread howto/logging.po Outdated
"格式化器對象(Formatter objects)設置記錄訊息的最終順序、結構和內容。和基礎"
"的 :class:`logging.Handler` 類別不同,應用程式程式碼可以實例化格式化器類別,"
"不過如果應用程式需要特殊行為,則可能需要子類別繼承格式化器。構造函式"
"(condtructor)有三個可選引數 -- 訊息格式字串、日期格式字串和樣式指示器。"

Copilot AI Jan 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in the embedded English term: condtructor should be constructor.

Suggested change
"condtructor)有三個可選引數 -- 訊息格式字串、日期格式字串和樣式指示器。"
"constructor)有三個可選引數 -- 訊息格式字串、日期格式字串和樣式指示器。"

Copilot uses AI. Check for mistakes.
Comment thread howto/logging.po
Comment thread howto/logging.po
Comment thread howto/logging.po Outdated
"time, provide a *datefmt* argument to ``basicConfig``, as in this example::"
msgstr ""
"預設的時間/日期格式遵照 ISO8601 或 :rfc:`3339`。如果你想要有更多的時間/日期自"
"訂性,可以在 ``basicConfig`` 傳入 *datefmt* 的引數,如以下範例: ::"

Copilot AI Jan 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This msgstr uses : :: (Chinese colon plus ::). In reST, :: already renders as a single trailing : while introducing a literal block; adding a separate colon can produce doubled punctuation. Consider ending the sentence with :: directly.

Suggested change
"訂性,可以在 ``basicConfig`` 傳入 *datefmt* 的引數,如以下範例::"
"訂性,可以在 ``basicConfig`` 傳入 *datefmt* 的引數,如以下範例::"

Copilot uses AI. Check for mistakes.
Comment thread howto/logging.po Outdated
"being the names of the objects::"
msgstr ""
"以下Python模組建立了一個幾乎與上面列表中相同的記錄器(logger)、處理器"
"(handler),和格式化器(formatter),唯一不同之處在於對象名稱的改變: ::"

Copilot AI Jan 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This msgstr uses : :: (Chinese colon plus ::). In reST, :: already renders as a single trailing : while introducing a literal block; adding a separate colon can produce doubled punctuation. Consider ending the sentence with :: directly.

Suggested change
"(handler),和格式化器(formatter),唯一不同之處在於對象名稱的改變::"
"(handler),和格式化器(formatter),唯一不同之處在於對象名稱的改變::"

Copilot uses AI. Check for mistakes.
Comment thread howto/logging.po

@ken71301 ken71301 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some fix

Comment thread howto/logging.po
"and a logging cookbook, please see :ref:`tutorial-ref-links`."
msgstr ""
"此頁面包含教學資訊。有關參考資訊和日誌記錄手冊的鏈接,請參閱 :ref:`tutorial-"
"ref-links`。"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

linter again? seems itr should be contain more bytes in a line

Comment thread howto/logging.po Outdated
msgstr ""
"日誌(Logging)提供方便使用的一組簡單紀錄函式。這些函式包括::func:`debug`、:"
"func:`info`、:func:`warning`、:func:`error` 和 :func:`critical`。如需確定何時"
"使用紀錄,請參見以下表格,其中列出每個常見工作的最佳工具。"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

這段怪怪的耶 好像沒翻到一些字

Comment thread howto/logging.po Outdated
msgid ""
"Display console output for ordinary usage of a command line script or program"
msgstr ""
msgstr "對於命令行或程式的普通用法,結果會顯示在控制台"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
msgstr "對於命令行或程式的普通用法,結果會顯示在控制台"
msgstr "對於命令行或程式的一般用法,結果會顯示在控制台"

我覺得一般比較順

Comment thread howto/logging.po Outdated
"A logger's :meth:`~Logger.info` (or :meth:`~Logger.debug` method for very "
"detailed output for diagnostic purposes)"
msgstr ""
":func:`logging.info` (或者在需要診斷用的詳細輸出時使用 :func:`logging."

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

loggers 還是要翻?

Comment thread howto/logging.po Outdated
":func:`warnings.warn` in library code if the issue is avoidable and the "
"client application should be modified to eliminate the warning"
msgstr ""
"如果問題是可以避免的,那麼客戶端應該修改以消除警告,請在庫程式碼中使用 :func:"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"如果問題是可以避免的,那麼客戶端應該修改以消除警告,請在庫程式碼中使用 :func:"
"如果問題是可以避免的,那麼客戶端應該修改以消除警告,請在函式庫程式碼中使用 :func:"

Comment thread howto/logging.po
"debug``,而不是建立一個記錄器並在其上呼叫函式。這些函式在根記錄器上運作,但它"
"們很有用,因為它們會在尚未呼叫 :func:`~logging.basicConfig` 時(如此範例)為"
"你呼叫它。然而,在較大的程式中,你通常會希望明確控制日誌配置——因此基於這個原"
"因以及其他原因,最好建立記錄器並呼叫它們的方法。"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit

Suggested change
"因以及其他原因,最好建立記錄器並呼叫它們的方法。"
"因以及其他狀況,最好建立記錄器並呼叫它們的方法。"

Comment thread howto/logging.po
"passed, which determines how encoding errors are handled. For available "
"values and the default, see the documentation for :func:`open`."
msgstr ""
"新增了 *encoding* 引數。在早期的 Python 版本中,如果未指定,將使用 :func:"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"新增了 *encoding* 引數。在早期的 Python 版本中,如果未指定,將使用 :func:"
"新增了 *encoding* 引數。在早期的 Python 版本中,或未指定此引數,將使用 :func:"

Comment thread howto/logging.po
msgstr ""
"新增了 *encoding* 引數。在早期的 Python 版本中,如果未指定,將使用 :func:"
"`open` 的預設編碼。儘管在上面的範例中沒有顯示,現在也可以傳遞 *errors* 引數,"
"以決定如何處理編碼錯誤。可用的值與其預設值,請參閱 :func:`open` 的文件。"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"以決定如何處理編碼錯誤。可用的值與其預設值,請參閱 :func:`open` 的文件。"
"以決定如何處理編碼錯誤。有關其可用的值與預設值,請參閱 :func:`open` 的文件。"

Comment thread howto/logging.po
"argument. You may want to error check any user input value, perhaps as in "
"the following example::"
msgstr ""
"要取得值以傳遞給 :func:`basicConfig` 的 *level* 引數,你可能會想檢查任何使用"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"要取得值以傳遞給 :func:`basicConfig` 的 *level* 引數,你可能會想檢查任何使用"
"要取得以 *level* 引數傳遞給 :func:`basicConfig` 的值 ,你可能會想檢查任何使用"

Comment thread howto/logging.po Outdated
"the following example::"
msgstr ""
"要取得值以傳遞給 :func:`basicConfig` 的 *level* 引數,你可能會想檢查任何使用"
"者輸入的值,如下面的示例所示: ::"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"者輸入的值,如下面的示例所示: ::"
"者輸入的值,如以下範例所示: ::"

@josix
josix requested a review from ken71301 February 4, 2026 12:45
claude and others added 5 commits February 13, 2026 02:01
Add Traditional Chinese translations for the logging HOWTO documentation.
This includes:
- Header updates with new translator credit (CTHua)
- Translation of main sections and headings
- Translation of logging level descriptions
- Translation of handler and formatter documentation
- Translation of configuration examples

https://claude.ai/code/session_01FubLSJSpQ2mNDuK2cjMebE
Fix inconsistent term references at line 195 where :meth:`~Logger.debug`
and :meth:`~Logger.info` were incorrectly translated as :func:`debug`
and :func:`info`.

https://claude.ai/code/session_01FubLSJSpQ2mNDuK2cjMebE
@josix
josix force-pushed the claude/create-translation-update-q7zox branch from e575104 to 4751707 Compare February 12, 2026 18:02
@ken71301

Copy link
Copy Markdown
Collaborator

Thanks for the translation work on this file! Found two small reST issues while validating:

1. howto/logging.po:998 — broken role reference

"地的最低記錄等級。為什麼有兩個 :func:`setLevel` 方法呢?記錄器中設定的等級決"

The source (msgid) uses :meth:~Handler.setLevel twice, but the translation switched the second occurrence to `:func:`setLevel. This points to the wrong reST role and drops the ~Handler. target, so it won't render as a valid link to Handler.setLevel.

Suggested fix:

"地的最低記錄等級。為什麼有兩個 :meth:`~Handler.setLevel` 方法呢?記錄器中設定的等級決"

2. howto/logging.po:479 — single backtick (default role)

"正如你所看到的,將變數資料合併到事件描述訊息中使用的是舊的 `%` 樣式的字串格"

sphinx-lint flags this as default-role. Single backticks around `%` should be double backticks for an inline literal:

"正如你所看到的,將變數資料合併到事件描述訊息中使用的是舊的 ``%`` 樣式的字串格"

Everything else checked out clean — terminology, punctuation, CJK/Latin spacing, line length (≤79 chars), and make build passes for this file. Nice work overall, just those two spots to tidy up.

@ken71301 ken71301 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to rst:510

Comment thread howto/logging.po
"你可以透過 ``logger = getLogger(__name__)`` 建立一個 logger 來存取日誌記錄功"
"能,然後呼叫 logger 的 :meth:`~Logger.debug`、:meth:`~Logger.info`、:meth:"
"`~Logger.warning`、:meth:`~Logger.error` 和 :meth:`~Logger.critical` 方法。如"
"需確定何時使用日誌記錄以及該使用哪個 logger 方法,請參見下表,其中列出每個常"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

這邊的 to 比教偏向 in order to , 所以應該是為了...而不是如需要 if need?
"為了確定你何時需要使用日誌記錄以及..."

Comment thread howto/logging.po
msgid ""
"Display console output for ordinary usage of a command line script or program"
msgstr ""
msgstr "對於命令列或程式的一般用法,結果會顯示在控制台"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

script 漏翻

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

不對,這句全錯
應該是

Suggested change
msgstr "對於命令列或程式的一般用法,結果會顯示在控制台"
msgstr "將命令列腳本或程式的一般用法顯示在主控台輸出"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

console 我看過去有人翻成主控台,但我覺得控制台也無不可,供參

Comment thread howto/logging.po
"A logger's :meth:`~Logger.info` (or :meth:`~Logger.debug` method for very "
"detailed output for diagnostic purposes)"
msgstr ""
"logger 的 :meth:`~Logger.info`\\ (或者在需要診斷用的詳細輸出時使用 :meth:"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

或在需要取得判斷原因用的詳細輸出時使用 debug

Comment thread howto/logging.po
":func:`warnings.warn` in library code if the issue is avoidable and the "
"client application should be modified to eliminate the warning"
msgstr ""
"如果問題是可以避免的,那麼應該修改客戶端以消除警告,請在函式庫程式碼中使用 "

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"如果問題是可以避免的,那麼應該修改客戶端以消除警告,請在函式庫程式碼中使用 "
"如果問題是可以避免的,且客戶端應用程式應修改以消除此警告,請在函式庫程式碼中使用 "

Comment thread howto/logging.po
"Report suppression of an error without raising an exception (e.g. error "
"handler in a long-running server process)"
msgstr ""
msgstr "報告錯誤但不引發例外(如長時間執行的伺服器行程中的錯誤處理器)"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

這邊 suppresion 應該還是要翻出來...吧
要想一下要怎麼寫出有把錯誤壓掉的感覺

Comment thread howto/logging.po
"in :ref:`handler-basic`."
msgstr ""
":meth:`Logger.addHandler` 和 :meth:`Logger.removeHandler` 可以新增或移除處理"
"器物件到目前的記錄器物件(logger object)。有關處理器的詳細說明,請參閱 :ref:"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

這邊應該是移除記錄器物件中的處理器物件吧?

Comment thread howto/logging.po
"exception information."
msgstr ""
":meth:`Logger.debug`、:meth:`Logger.info`、:meth:`Logger.warning`、:meth:"
"`Logger.error` 和 :meth:`Logger.critical` 建立一個包含訊息和相應名稱的日誌紀"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

level 漏翻

Comment thread howto/logging.po
"along with it. Call this method only from an exception handler."
msgstr ""
":meth:`Logger.exception` 這個方法建立的日誌訊息與 :meth:`Logger.error` 相近。"
"差別在於 :meth:`Logger.exception` 會附上一個程式執行時的堆疊(traceback)。請只"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

原文沒有 traceback
下一句應該是指從例外處理器中呼叫?

Comment thread howto/logging.po
"loggers with names of ``foo.bar``, ``foo.bar.baz``, and ``foo.bam`` are all "
"descendants of ``foo``."
msgstr ""
":func:`getLogger` 會回傳一個指定名稱的日誌物件實例的參照,如果沒有指定名稱,"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

原文沒有 object?

Comment thread howto/logging.po
"attribute of a logger to ``False``.)"
msgstr ""
"子記錄器會將訊息在其祖先(ancestor)記錄器所關聯的處理器傳播,因此並不需要"
"為應用程式使用的所有記錄器定義和配置處理器。因此只需要為最高等級的記錄器配置"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"為應用程式使用的所有記錄器定義和配置處理器。因此只需要為最高等級的記錄器配置"
"為應用程式使用的所有記錄器定義和配置處理器。只需要為最高等級的記錄器配置"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants