2

私はバベルとリングアに問題があります。ポット カタログを作成するために、babel/lingua にソース フォルダーをスキャンして特定の文字列を探してもらいたいです。

これは私のsetup.pyです

...

requires = [
    ...
    'Babel',
    'lingua',
    ]

extractors = { 'dbas': [
    ('**.py', 'python', None ),
    ('**.pt', 'chameleon', None ),
    ('static/**', 'ignore', None),
    ]}

setup(name='DBAS',
    ...
    message_extractors=extractors,
    ...
    )

そして私のsetup.cfg

[compile_catalog]
directory = dbas/locale
domain = mydbas
statistics = true

[extract_messages]
copyright_holder = Acme Inc.
output_file = dbas/locale/mydbas.pot
charset = UTF-8

[init_catalog]
domain = mydbas
input_file = dbas/locale/mydbas.pot
output_dir = dbas/locale

[update_catalog]
domain = mydbas
input_file = dbas/locale/mydbas.pot
output_dir = dbas/locale
previous = true

私のinit .py には、次のようなものがあります。

config.add_translation_dirs('dbas:locale')

たとえば、私の 404 テンプレートは次のとおりです。

<!DOCTYPE html>
<html lang="${request.locale_name}"
            metal:use-macro="load: basetemplate.pt"
            xmlns="http://www.w3.org/1999/xhtml"
            xml:lang="en"
            xmlns:i18n="http://xml.zope.org/namespaces/i18n"
            i18n:domain="dbas">

<head>
    <link type="text/css" href="${request.static_url('dbas:static/css/theme_center.css')}" rel="stylesheet">
</head>

<body>

    <div class="center">
        <div class="error">
            <h1><span class="font-semi-bold" i18n:translate="404">404 Error</span></h1>
            <p class="lead font-normal">The page &quot;<span class="font-semi-bold">${page_notfound_viewname}</span>&quot; for could not be found.</p>
            <br>
            <input class="button button-block btn-lg btn btn-primary" type="submit" onClick="self.location.href='/'" value="Let's go home!" />
        </div>
    </div>

</body>
<html>

今私は実行できます:

python3 setup.py develop
setup.py extract_messages

そして、私は受け取っています:

running extract_messages
extracting messages from dbas/__init__.py
extracting messages from dbas/helper.py
extracting messages from dbas/security.py
extracting messages from dbas/tests.py
extracting messages from dbas/views.py
extracting messages from dbas/database/__init__.py
extracting messages from dbas/database/initializedb.py
extracting messages from dbas/database/model.py
extracting messages from dbas/templates/404.pt
Traceback (most recent call last):
  File "setup.py", line 60, in <module>
    """,
  File "/usr/lib/python3.4/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/lib/python3.4/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python3.4/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/usr/local/lib/python3.4/dist-packages/babel/messages/frontend.py", line 305, in run
    for filename, lineno, message, comments, context in extracted:
  File "/usr/local/lib/python3.4/dist-packages/babel/messages/extract.py", line 163, in extract_from_dir
    strip_comment_tags):
  File "/usr/local/lib/python3.4/dist-packages/babel/messages/extract.py", line 190, in extract_from_file
    strip_comment_tags))
  File "/usr/local/lib/python3.4/dist-packages/babel/messages/extract.py", line 262, in extract
    raise ValueError('Unknown extraction method %r' % method)
ValueError: Unknown extraction method 'chameleon'

誰かが知っていますか、何が悪いのですか?

4

1 に答える 1