properly translatable plural forms
authorRobin Gareus <robin@gareus.org>
Sun, 25 Oct 2015 16:46:39 +0000 (17:46 +0100)
committerRobin Gareus <robin@gareus.org>
Sun, 25 Oct 2015 16:46:39 +0000 (17:46 +0100)
libs/ardour/i18n.h
libs/ardour/midi_patch_manager.cc

index 43ae07cac130dadd05b158a4afae3039b2134809..b04c96d4353c1c5a9584345dd441a8b46c7e5146 100644 (file)
@@ -17,4 +17,8 @@
  */
 #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__
index 0f706be3581263ccf7d1a7739d52b6a421a16843..133f4ee7f81946e8f93ba10897d2ae8c2577aa7d 100644 (file)
@@ -74,9 +74,10 @@ MidiPatchManager::add_midnam_files_from_directory(const std::string& directory_p
        vector<std::string> result;
        find_files_matching_pattern (result, directory_path, "*.midnam");
 
-       info << string_compose(_("Loading %1 MIDI patches from %2"),
-                              result.size(),
-                              directory_path) << endmsg;
+       info << string_compose(
+                       P_("Loading %1 MIDI patch from %2", "Loading %1 MIDI patches from %2", result.size()),
+                       result.size(), directory_path)
+            << endmsg;
 
        for (vector<std::string>::const_iterator i = result.begin(); i != result.end(); ++i) {
                add_midi_name_document (*i);
@@ -104,9 +105,10 @@ MidiPatchManager::remove_midnam_files_from_directory(const std::string& director
        vector<std::string> result;
        find_files_matching_pattern (result, directory_path, "*.midnam");
 
-       info << string_compose(_("Unloading %1 MIDI patches from %2"),
-                              result.size(),
-                              directory_path) << endmsg;
+       info << string_compose(
+                       P_("Unloading %1 MIDI patch from %2", "Unloading %1 MIDI patches from %2", result.size()),
+                       result.size(), directory_path)
+            << endmsg;
 
        for (vector<std::string>::const_iterator i = result.begin(); i != result.end(); ++i) {
                remove_midi_name_document (*i);