summaryrefslogtreecommitdiff
path: root/lang/tests/translations.cpp
blob: 1bb78a5822519ec72d6a0d3971b48672b0b7a139 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <catch2/catch_test_macros.hpp>
#include <catch2/generators/catch_generators.hpp>

#include <libintl.h>

#include <format>
#include <string>

TEST_CASE("All supported languages have translations")
{
  auto message = GENERATE(
    "Turns",
    "Add a participant",
    "No active turn-order",
    "_Quit"
  );
  
  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);
  }
}