summaryrefslogtreecommitdiff
path: root/lang/tests/messages.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lang/tests/messages.cpp')
-rw-r--r--lang/tests/messages.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/lang/tests/messages.cpp b/lang/tests/messages.cpp
new file mode 100644
index 0000000..39b9bc0
--- /dev/null
+++ b/lang/tests/messages.cpp
@@ -0,0 +1,38 @@
+#include "turns/lang/messages.hpp"
+
+#include <catch2/catch_test_macros.hpp>
+#include <catch2/generators/catch_generators.hpp>
+
+#include <format>
+#include <string>
+
+#include <libintl.h>
+
+namespace turns::lang::tests
+{
+
+ TEST_CASE("Translated messages")
+ {
+ auto message = GENERATE(
+ add_participant,
+ disposition,
+ finish,
+ main_menu,
+ mark_as_defeated,
+ // name, a better solution is required to test this entry.
+ no_active_turn_order,
+ order,
+ quit,
+ turns
+ );
+
+ auto locale = GENERATE("de_CH.UTF-8", "de_DE.UTF-8", "de_AT.UTF-8");
+
+ SECTION(std::format("'{}' has a translation in '{}'", message, locale))
+ {
+ setlocale(LC_ALL, locale);
+ REQUIRE(std::string{gettext(message)} != message);
+ }
+ }
+
+} // namespace turns::lang::tests \ No newline at end of file