:date: 2014-6-22 19:00 :tags: Python, Sphinx ============================================================================== Sphinxメンテナ日記: 翻訳機能と、シンタックスハイライトと、 @tk0miya ============================================================================== 前置き: チケット対応した内容のメモです。Sphinxと関係ないけどdiff-highlight便利でした。 .. contents:: :local: Sphinxの国際化機能を使っても翻訳されないんだけど ================================================= sphinx-users ML: `help with internationalization`__ .. __: https://groups.google.com/d/msg/sphinx-users/8DC7eyhYzEA/P3FWSnBfK3gJ **Q.** http://sphinx-doc.org/intl.html#intl を見ながらSphinxの国際化機能を使ってみたけど、一部が翻訳されないんだけど? **A.** 翻訳されていないのはSphinxが提供している部分の文字列だね。Sphinxが提供する文字列の翻訳はSphinx自体が翻訳カタログを持っているんだけど、 `ソース`__ を見ると ``el`` 言語のカタログは無いようだね。Sphinxのシステムが提供する文字列の翻訳は `Transifexというサービス`__ で行っていて、各言語の翻訳はSphinxの利用者たちが行ってくれているんだ。もし翻訳に興味があれば、Transifexで ``el`` 言語をリクエストして翻訳を行ってみてほしい。 .. __: https://bitbucket.org/birkenfeld/sphinx/src/ba4b069e/sphinx/locale/ .. __: https://www.transifex.com/projects/p/sphinx-1/ メールの送信者が ``sphinx el`` だったので、 ``el`` 言語というのが分かったけど、推理ゲームじゃないのでメールの文面に書いて欲しいところ。 SphinxはSphinx自体が持っている文字列の翻訳カタログ(HTMLのPrev, Nextなどのメニューなど)と、利用者が書くドキュメントの翻訳カタログの2つがあるので、初めて使う人はその違いが分からないという事例。ドキュメントにもそのあたりは触れていなかった。 メールの返信を書くためにドキュメント調べて初めて気づいた。どこかに書いた方が良いんだろうなー。 code-blockで書いたSQLのハイライトが、$書いたらハイライトされなくなった ======================================================================= Issue #1494: `$-sign in code-block directive removes syntax highlighting`__ .. __: https://bitbucket.org/birkenfeld/sphinx/issue/1494/sign-in-code-block-directive-removes SQLのシンタックスハイライトをしようとしたら、SQL文内に ``$`` サインがあるとシンタックスハイライト出来なかった。という話。 pygmentizeコマンドで実験してみたら ``$`` がエラー扱いになってた(以下の出力は見やすいように整形済み): .. code-block:: html $ echo SELECT * FROM v$sql; | pygmentize -f html -g
SELECT
*
FROM
v
$
sql
;