PrusaSlicer-NonPlainar/xs/src/libslic3r/I18N.hpp
bubnikv 02d4f3e14d Provide a callback to libslic3r to translate texts.
Moved the "translate" functions to namespaces to avoid clashes
between the code in libslic3r and Slic3r GUI projects.
2018-06-20 18:33:46 +02:00

18 lines
608 B
C++

#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_ */