use ForGroup to flag and detect route-group based control changes
[ardour.git] / libs / ardour / i18n.h
index 7c79d2eb53ad83fc045d8a820d8f992126c62ae2..b04c96d4353c1c5a9584345dd441a8b46c7e5146 100644 (file)
@@ -1,11 +1,24 @@
 #ifndef __i18n_h__
 #define __i18n_h__
 
-#include <pbd/compose.h>
+#include "pbd/compose.h"
+#include "pbd/convert.h"
 #include "gettext.h"
 
-#define _(Text) dgettext (PACKAGE, Text)
+#include <vector>
+#include <string>
+
+#define _(Text)  dgettext (PACKAGE,Text)
 #define N_(Text) gettext_noop (Text)
-#define X_(Text) (Text)
+#define X_(Text) Text
+#define I18N(Array) PBD::internationalize (PACKAGE, Array)
+/** Use this to translate strings that have different meanings in different places.
+ *  Text should be of the form Context|Message.
+ */
+#define S_(Text) PBD::sgettext (PACKAGE, Text)
+
+/** Use this to translate strings with plural forms
+ */
+#define P_(Singular,Plural,HowMany) dngettext (PACKAGE, (Singular), (Plural), (HowMany))
 
 #endif // __i18n_h__