12#ifndef __AUDACITY_INTERNAT__
13#define __AUDACITY_INTERNAT__
16#include <wx/longlong.h>
27#define _TS( s ) GetCustomSubstitution( s )
31#define XO(s) (TranslatableString{ wxT(s), {} })
37#define XC(s, c) (TranslatableString{ wxT(s), {} }.Context(c))
47#define XXC(s, c) XC(s, c)
59 extern "C" __declspec(dllimport)
void __stdcall DebugBreak();
60 #define _(s) ((wxTranslations::Get() || (DebugBreak(), true)), \
61 GetCustomTranslation((s)))
67 #define _(s) ((wxTranslations::Get() || raise(SIGTRAP)), \
68 GetCustomTranslation((s)))
73 #define _(s) GetCustomTranslation((s))
94#define XP(sing, plur, n) \
95 TranslatableString{ wxT(sing), {} }.Plural<(n)>( wxT(plur) )
98#define XPC(sing, plur, n, c) \
99 TranslatableString{ wxT(sing), {} }.Context(c).Plural<(n)>( wxT(plur) )
112 static wxChar GetDecimalSeparator();
113 static void SetCeeNumberFormat();
120 static bool CompatibleToDouble(
const wxString& stringToConvert,
double* result);
123 static double CompatibleToDouble(
const wxString& stringToConvert);
127 static wxString
ToString(
double numberToConvert,
128 int digitsAfterDecimalPoint = -1);
132 static wxString ToDisplayString(
double numberToConvert,
133 int digitsAfterDecimalPoint = -1);
145 static bool SanitiseFilename(wxString &
name,
const wxString &sub);
157#define UTF8CTOWX(X) wxString((X), wxConvUTF8)
158#define LAT1CTOWX(X) wxString((X), wxConvISO8859_1)
163#define HAS_I18N_CONTEXTS wxCHECK_VERSION(3, 1, 1)
STRINGS_API const wxString & GetCustomTranslation(const wxString &str1)
STRINGS_API const wxString & GetCustomSubstitution(const wxString &str1)
Internationalisation support.
static wxChar mDecimalSeparator
static const wxArrayString & GetExcludedCharacters()
static wxArrayString exclude
Holds a msgid for the translation catalog; may also bind format arguments.
Extend wxArrayString with move operations and construction and insertion fromstd::initializer_list.
auto ToString(const std::optional< TimeSignature > &ts)