Serenity Operating System
at master 48 lines 1.2 kB view raw
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}