29 [[nodiscard]] ssize_t plurality(
long long n, ssize_t max)
const noexcept
33 r = plurality_func(narrow_cast<int>(
n % 1'000'000));
36 r =
static_cast<int>(
n == 1);
38 return std::clamp(narrow_cast<ssize_t>(r), ssize_t{0}, max - 1);
43 hilet lock = std::scoped_lock(_mutex);
45 hilet i = _languages.find(tag);
46 if (i != _languages.end()) {
47 return i->second.get();
55 hilet lock = std::scoped_lock(_mutex);
59 auto tmp = std::make_unique<language>(tag);
68 hilet lock = std::scoped_lock(_mutex);
74 for (
hilet &tag: variant_tags) {
75 r.push_back(&find_or_create(tag));