diff options
Diffstat (limited to 'xs/src/libslic3r/I18N.hpp')
-rw-r--r-- | xs/src/libslic3r/I18N.hpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/xs/src/libslic3r/I18N.hpp b/xs/src/libslic3r/I18N.hpp new file mode 100644 index 000000000..db4fd22df --- /dev/null +++ b/xs/src/libslic3r/I18N.hpp @@ -0,0 +1,18 @@ +#ifndef slic3r_I18N_hpp_ +#define slic3r_I18N_hpp_ + +#include <string> + +namespace Slic3r { + +namespace I18N { + typedef std::string (*translate_fn_type)(const char*); + extern translate_fn_type translate_fn; + inline void set_translate_callback(translate_fn_type fn) { translate_fn = fn; } + inline std::string translate(const std::string &s) { return (translate_fn == nullptr) ? s : (*translate_fn)(s.c_str()); } + inline std::string translate(const char *ptr) { return (translate_fn == nullptr) ? std::string(ptr) : (*translate_fn)(ptr); } +} // namespace I18N + +} // namespace Slic3r + +#endif /* slic3r_I18N_hpp_ */ |