Serenity Operating System
1/*
2 * Copyright (c) 2022, Tim Flynn <trflynn89@serenityos.org>
3 *
4 * SPDX-License-Identifier: BSD-2-Clause
5 */
6
7#include <LibLocale/PluralRules.h>
8
9namespace Locale {
10
11PluralForm plural_form_from_string(StringView plural_form)
12{
13 if (plural_form == "cardinal"sv)
14 return PluralForm::Cardinal;
15 if (plural_form == "ordinal"sv)
16 return PluralForm::Ordinal;
17 VERIFY_NOT_REACHED();
18}
19
20StringView plural_form_to_string(PluralForm plural_form)
21{
22 switch (plural_form) {
23 case PluralForm::Cardinal:
24 return "cardinal"sv;
25 case PluralForm::Ordinal:
26 return "ordinal"sv;
27 default:
28 VERIFY_NOT_REACHED();
29 }
30}
31
32PluralCategory __attribute__((weak)) determine_plural_category(StringView, PluralForm, PluralOperands)
33{
34 return PluralCategory::Other;
35}
36
37ReadonlySpan<PluralCategory> __attribute__((weak)) available_plural_categories(StringView, PluralForm)
38{
39 static constexpr Array<PluralCategory, 1> categories { { PluralCategory::Other } };
40 return categories.span();
41}
42
43PluralCategory __attribute__((weak)) determine_plural_range(StringView, PluralCategory, PluralCategory)
44{
45 return PluralCategory::Other;
46}
47
48}