Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from flask import Flask, render_template, request, session, redirect
- from flask_wtf import Form
- from wtforms import StringField
- from translator import translator, tr, tr_lazy
- from languages import en, es, pirate
- app = Flask(__name__)
- app.config['SECRET_KEY'] = 'super-secure'
- # Initialize translator and add languages. Languages can dictionaries or
- # anyhting that responds to .get(key, **options) and returns a string.
- # You could, for example, call a function that returns a dictionary from
- # a database table.
- translator.init_app(app)
- translator.add_language('en', en)
- translator.add_language('es', es)
- translator.add_language('pi', pirate('en'))
- @translator.language_selector
- def get_language():
- """Get language from the session or return English by default."""
- lang = session.get('lang', 'en')
- if lang not in translator.languages:
- lang = 'en'
- return lang
- class MyForm(Form):
- name = StringField(tr_lazy('form.name'))
- @app.route('/')
- def index():
- form = MyForm()
- greeting = tr('hello')
- return render_template('index.html', greeting=greeting, form=form)
- @app.route('/language/<lang>')
- def language(lang):
- session['lang'] = lang
- return redirect('/')
- if __name__ == '__main__':
- app.run(debug=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement