jbe/bsw@0: --[[-- jbe/bsw@0: locale.do_with( jbe/bsw@0: locale_options, -- table with locale information (as if passed to locale.set(...)) jbe/bsw@0: function() jbe/bsw@0: ... -- code to be executed with the given locale settings jbe/bsw@0: end jbe/bsw@0: ) jbe/bsw@0: jbe/bsw@0: This function executes code with temporarily changed locale settings. See locale.set(...) for correct usage of 'locale_options'. jbe/bsw@0: jbe/bsw@0: --]]-- jbe/bsw@0: jbe/bsw@0: function locale.do_with(locale_options, block) jbe/bsw@0: local old_data = {} jbe/bsw@0: for key, value in pairs(locale._current_data) do jbe/bsw@0: old_data[key] = value jbe/bsw@0: end jbe/bsw@0: locale.set(locale_options) jbe/bsw@0: block() jbe/bsw@0: old_data.reset = true jbe/bsw@0: locale.set(old_data) jbe/bsw@0: end