webmcp
annotate framework/env/locale/do_with.lua @ 103:da6f69ba217c
Added tag v1.2.5 for changeset 4747ddffdeff
| author | jbe |
|---|---|
| date | Mon Oct 15 20:30:42 2012 +0200 (2012-10-15) |
| parents | 9fdfb27f8e67 |
| children | c3d539e33710 |
| 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/bsw@0 | 14 local old_data = {} |
| jbe/bsw@0 | 15 for key, value in pairs(locale._current_data) do |
| jbe/bsw@0 | 16 old_data[key] = value |
| jbe/bsw@0 | 17 end |
| jbe/bsw@0 | 18 locale.set(locale_options) |
| jbe/bsw@0 | 19 block() |
| jbe/bsw@0 | 20 old_data.reset = true |
| jbe/bsw@0 | 21 locale.set(old_data) |
| jbe/bsw@0 | 22 end |