2012-03-01 27 views
9

, main.py dosyasında, ben tanımlamıştır:Flask-Babil benim Matara uygulamasında

from flaskext.babel import gettext 
.... 
def somefun(): 
    return render_template('some.html', messages=messages) 

şablon dosyası some.html içinde, ben kullandı:

<input type='text' name='keywords' value='{{ keywords|default('') }}' placeholder='{{ gettext('Search...') }}' /> 

<input type='text' name='keywords' value='{{ keywords|default('') }}' placeholder='{{ gettext('Search...') }}' /> 
UndefinedError: 'gettext' is undefined 

Nasıl şablon kullanılmak üzere bu işlevi ithal etmek:

Bu hata veriyor?

cevap

18

Maalesef bu hiç belgelenmemiş, ancak Flask-Babel Jinja2's i18n extension numaralı telefonu kullanıyor. Bu, varsayılan olarak aşağıdaki ifadeler için aşağıdaki işlevlerin kullanılabilir olduğu anlamına gelir: gettext, ngettext ve _. herhangi içe eylemler olmadan)

+1

değil gerçek, ben kullanamıyorum oluyor "_";

{% trans %}foo{% endtrans%} {% trans num %} There is {{ num }} object. {% pluralize %} There are {{ num }} objects. {% endtrans %} 

Ve yamalar bekliyor bug report about missing docs: şablon etiketleri kullanmak olasılığı da var

. –

+0

@BrentJiang Aslında Flask-Babel uzantısını yaptınız mı? – plaes

+0

@BrentJiang Dokümanlar, bkz. ** Yapılandırma ** – plaes