閱讀本章前請先參照Flask-Babel使用簡易教程(一)
我們也需要決定我們將要提供翻譯的語言種類。支持語言的列表被添加到配置文件中(文件hello.py):

LANGUAGES字典有可用語言代碼的鍵,以及可打印的語言名稱作為值。我們使用短的語言代碼,但是要指明語言和地域的話,也可能使用長代碼。比如,如果我們要支持美國和英國英語的話,我們的字典里面可以有‘en-US’和‘en-GB’。
注意因為Espa?ol有一個外來字符,我們必須在 Python 源代碼文件頂部中添加coding聲明,告訴 Python 解釋器我們是使用UTF-8 編碼不是 ASCII,因為 ASCII 編碼缺少?字符。
接下來的一個配置就是我們需要一個Babel用于決定使用哪種語言的函數(shù)(文件hello.py):

這個函數(shù)有一個localeselector裝飾器,它被調(diào)用在請求之前為了當產(chǎn)生響應的時候給我們機會選擇使用的語言?,F(xiàn)在為止我們做的是簡單的,我們只要讀取瀏覽器發(fā)送的 HTTP 請求中的Accept-Languages頭并且從我們支持的語言列表中選擇最匹配的語言。這個過程實際上也相當簡單,best_match方法為我們做了所有工作。
Accept-Languages頭在大多數(shù)瀏覽器上被默認配置成操作系統(tǒng)層的所選擇的語言,但是所有的瀏覽器給我們機會選擇其它的語言。用戶可以提供語言列表,每一個都有權重。作為例子,下面是復雜的Accept-Languages頭:
Accept-Language: da, en-gb;q=0.8, en;q=0.7
上面的頭信息表示最佳的語言是丹麥語(默認權重為 1),接著是英國英語(權重是 0.8)以及最后一個選項是通用英語(權重是 0.7)。