python / python/python-docs-es
`pospell` fails with code entries
還沒有人認領這個 Issue。
- 主要語言
- Python
- 星號
- 371
- 分支
- 413
- PR 合併指標
- 30 天內沒有已合併 PR
描述
For 3.13, there was a change in the documentation that now snippets were marked as translatable.
This means that there is a large number of "new entries" that are snippets from the documentation page.
Even though I believe this is a great thing, the tooling around might need to be adapted.
Recently I discovered that in some cases, pospell fails to parse and handle such entries.
For example:
#: ../Doc/library/typing.rst:3167
msgid ""
"@type_check_only\n"
"class Response: # private or not available at runtime\n"
" code: int\n"
" def get_header(self, name: str) -> str: ...\n"
"\n"
"def fetch_response() -> Response: ..."
msgstr ""
"@type_check_only\n"
"class Response: # privada o no disponible en runtime\n"
" code: int\n"
" def get_header(self, name: str) -> str: ...\n"
"\n"
"def fetch_response() -> Response: ..."
Produces a
<rst-doc>:3: (ERROR/3) Unexpected indentation. while parsing: @type_check_only
class Response: # privada o no disponible en runtime
code: int
def get_header(self, name: str) -> str: ...
def fetch_response() -> Response: ...
Marking those entries as fuzzy or adding three back-ticks "```" doesn't work, so I'm trying to brainstorm a bit how we could solve this.
A couple of ideas would be to:
- Just try to fix at the docutils level (which is the source of the parsing error)
- Introduce a new identifier like
python-formatin order to take the content for granted and avoid parsing it.
Ideas?
CC: @JulienPalard
貢獻指南
這個儲存庫沒有索引到貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
研究方向
使用 Doc/library/typing.rst 中引用的多行 PO 項目重現此故障,然後檢查 pospell 如何將程式碼項目傳遞給 docutils。確定所需的變更應位於 pospell 中,還是應在 docutils 層級進行;完成的標準應是這些項目能在不出現所回報的剖析錯誤的情況下獲得處理。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- python
- 領域
- documentation, tooling
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 停滯
- 描述清晰度
- 需要釐清
- 新手友好度
- 25/100