webmcp
annotate framework/env/locale/do_with.lua @ 507:ac5f7a40b8c4
Extended documentation (mostly on "Configuration, pre-fork and post-fork initializers")
author | jbe |
---|---|
date | Sun Aug 20 23:12:16 2017 +0200 (2017-08-20) |
parents | c3d539e33710 |
children |
rev | line source |
---|---|
jbe/bsw@0 | 1 --[[-- |
jbe/bsw@0 | 2 locale.do_with( |
jbe/bsw@0 | 3 locale_options, -- table with locale information (as if passed to locale.set(...)) |
jbe/bsw@0 | 4 function() |
jbe/bsw@0 | 5 ... -- code to be executed with the given locale settings |
jbe/bsw@0 | 6 end |
jbe/bsw@0 | 7 ) |
jbe/bsw@0 | 8 |
jbe/bsw@0 | 9 This function executes code with temporarily changed locale settings. See locale.set(...) for correct usage of 'locale_options'. |
jbe/bsw@0 | 10 |
jbe/bsw@0 | 11 --]]-- |
jbe/bsw@0 | 12 |
jbe/bsw@0 | 13 function locale.do_with(locale_options, block) |
jbe@262 | 14 local old_data = table.new(locale._current_data) |
jbe@262 | 15 if locale_options.reset then |
jbe@262 | 16 locale._current_data = {} |
jbe@262 | 17 end |
jbe@262 | 18 for key, value in pairs(locale_options) do |
jbe@262 | 19 if key ~= "reset" then |
jbe@262 | 20 locale._current_data[key] = value |
jbe@262 | 21 end |
jbe/bsw@0 | 22 end |
jbe/bsw@0 | 23 locale.set(locale_options) |
jbe/bsw@0 | 24 block() |
jbe@262 | 25 locale._current_data = old_data |
jbe/bsw@0 | 26 end |