mirror of
https://github.com/4ian/GDevelop.git
synced 2025-10-15 10:19:04 +00:00
49 lines
1.2 KiB
C++
49 lines
1.2 KiB
C++
/*
|
|
* GDevelop Core
|
|
* Copyright 2008-2016 Florian Rival (Florian.Rival@gmail.com). All rights
|
|
* reserved. This project is released under the MIT License.
|
|
*/
|
|
#ifndef GDCORE_LOCALIZATION_H
|
|
#define GDCORE_LOCALIZATION_H
|
|
|
|
/** @file
|
|
* Provide a way to mark strings to be translated.
|
|
*
|
|
* Strings to be translated in GDevelop Core codebase
|
|
* are marked with the underscore macro, for example: _("Hello World").
|
|
*
|
|
* The macro is then defined to be using the translation function
|
|
* of the underlying platform (Emscripten for GDevelop 5).
|
|
*/
|
|
|
|
#if defined(EMSCRIPTEN)
|
|
// When compiling with Emscripten, use a translation function that is calling a
|
|
// JS method on the module, so that an external translation library can be used.
|
|
|
|
#include "GDCore/String.h"
|
|
#if defined(_)
|
|
#undef _
|
|
#endif
|
|
|
|
namespace gd {
|
|
gd::String GetTranslation(const gd::String& str);
|
|
|
|
gd::String GetTranslation(const char* str);
|
|
} // namespace gd
|
|
|
|
#define _(s) gd::GetTranslation(u8##s)
|
|
|
|
#else
|
|
// When compiling without Emscripten,
|
|
// just return an untranslated gd::String.
|
|
|
|
// Create a new macro to return UTF8 gd::String from a translation
|
|
#if defined(_)
|
|
#undef _
|
|
#endif
|
|
#define _(s) gd::String(u8##s)
|
|
|
|
#endif
|
|
|
|
#endif // GDCORE_LOCALIZATION_H
|