seperate model in template
pass ctx into write_response
add lang provider
fix cookie not exist bug
load i18n map
include ctx in view model