Advertisement
Guest User

Untitled

a guest
Dec 22nd, 2014
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. from flask import Flask, render_template, request, session, redirect
  2. from flask_wtf import Form
  3. from wtforms import StringField
  4.  
  5. from translator import translator, tr, tr_lazy
  6. from languages import en, es, pirate
  7.  
  8.  
  9. app = Flask(__name__)
  10. app.config['SECRET_KEY'] = 'super-secure'
  11.  
  12. # Initialize translator and add languages. Languages can dictionaries or
  13. # anyhting that responds to .get(key, **options) and returns a string.
  14. # You could, for example, call a function that returns a dictionary from
  15. # a database table.
  16. translator.init_app(app)
  17. translator.add_language('en', en)
  18. translator.add_language('es', es)
  19. translator.add_language('pi', pirate('en'))
  20.  
  21.  
  22. @translator.language_selector
  23. def get_language():
  24. """Get language from the session or return English by default."""
  25. lang = session.get('lang', 'en')
  26. if lang not in translator.languages:
  27. lang = 'en'
  28. return lang
  29.  
  30.  
  31. class MyForm(Form):
  32. name = StringField(tr_lazy('form.name'))
  33.  
  34.  
  35. @app.route('/')
  36. def index():
  37. form = MyForm()
  38. greeting = tr('hello')
  39. return render_template('index.html', greeting=greeting, form=form)
  40.  
  41.  
  42. @app.route('/language/<lang>')
  43. def language(lang):
  44. session['lang'] = lang
  45. return redirect('/')
  46.  
  47.  
  48. if __name__ == '__main__':
  49. app.run(debug=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement