pytho****@googl*****
pytho****@googl*****
2012年 11月 11日 (日) 20:08:59 JST
2 new revisions: Revision: 441f8ce36b40 Branch: default Author: "INADA Naoki <songo****@gmail*****> Date: Sun Nov 11 02:50:42 2012 Log: remove *.po from hgignore http://code.google.com/p/python-doc-ja/source/detail?r=441f8ce36b40&repo=py33 Revision: 6b8b575b3868 Branch: default Author: "INADA Naoki <songo****@gmail*****> Date: Sun Nov 11 03:08:44 2012 Log: poのダウンロードのスクリプト化 http://code.google.com/p/python-doc-ja/source/detail?r=6b8b575b3868&repo=py33 ============================================================================== Revision: 441f8ce36b40 Branch: default Author: "INADA Naoki <songo****@gmail*****> Date: Sun Nov 11 02:50:42 2012 Log: remove *.po from hgignore http://code.google.com/p/python-doc-ja/source/detail?r=441f8ce36b40&repo=py33 Modified: /.hgignore ======================================= --- /.hgignore Sun Nov 11 02:17:35 2012 +++ /.hgignore Sun Nov 11 02:50:42 2012 @@ -1,6 +1,5 @@ syntax: glob *.pyc *.pot -*.po *.mo build ============================================================================== Revision: 6b8b575b3868 Branch: default Author: "INADA Naoki <songo****@gmail*****> Date: Sun Nov 11 03:08:44 2012 Log: poのダウンロードのスクリプト化 http://code.google.com/p/python-doc-ja/source/detail?r=6b8b575b3868&repo=py33 Added: /locale/README.md Modified: /locale/pavement.py ======================================= --- /dev/null +++ /locale/README.md Sun Nov 11 03:08:44 2012 @@ -0,0 +1,43 @@ +################# +i18n について +################# + +## 最初に + +sphinx, paver, transifex-client をインストールしておいてください。 + +## pot を作る + +プロジェクトのルートディレクトリで、 + +``` +$ make gettext +``` + +とすると、 ``locale/pot`` 配下に pot ファイルが生成されます。 + +## Transifex にアップロードする + +Transifex と連携する作業は ``locale`` ディレクトリ内で行います。 + +``` +$ paver update_pot +``` + +### pot ファイルをアップロード + +``` +$ tx push -s -len +``` + +## Transifex からダウンロードする + +``` +$ paver download +``` + +## po をコンパイルする + +``` +$ paver compile +``` ======================================= --- /locale/pavement.py Sun Nov 11 01:48:50 2012 +++ /locale/pavement.py Sun Nov 11 03:08:44 2012 @@ -4,19 +4,33 @@ from txclib.project import Project @task -def update_source(): +def update_pot(): proj = Project() conf = proj.config base = path('pot') for pot in base.walkfiles('*.pot'): # 'pot/whatsnew/3.3.pot' => 'whatsnew-3_3' - name = base.relpathto(pot).rsplit('.', 1)[0].replace('/', '-').replace('.', '_') + relpath = base.relpathto(pot) + name = relpath.stripext().replace('/', '-').replace('.', '_') + resource = "python-doc-ja.33-" + name print("Updating ", name) if not conf.has_section(resource): conf.add_section(resource) conf.set(resource, 'source_lang', 'en') conf.set(resource, 'source_file', pot) + conf.set(resource, 'file_filter', '<lang>/LC_MESSAGES/' + relpath.stripext() + '.po') proj.save() + sh("tx push -s -len") + + @ task +def download(): + sh("tx pull -lja") + + @ task +def compile(): + base = path('ja') + for po in base.walkfiles('*.po'): + sh("msgfmt " + po + " -o " + po.stripext() + '.mo')