diff --git a/js/src/i18n/en_US.json b/js/src/i18n/en_US.json index 6b7e5323a..5746d4a0a 100644 --- a/js/src/i18n/en_US.json +++ b/js/src/i18n/en_US.json @@ -19,7 +19,7 @@ "Admin settings successfully saved.": "Admin settings successfully saved.", "Admin": "Admin", "Administration": "Administration", - "All the places have already been taken": "All the places have been taken|One place is still available|{places} places are still available", + "All the places have already been taken": "All the places have already been taken", "Allow registrations": "Allow registrations", "Anonymous participant": "Anonymous participant", "Anonymous participants will be asked to confirm their participation through e-mail.": "Anonymous participants will be asked to confirm their participation through e-mail.", diff --git a/js/src/i18n/fr_FR.json b/js/src/i18n/fr_FR.json index ca59e76f1..a4fa938e7 100644 --- a/js/src/i18n/fr_FR.json +++ b/js/src/i18n/fr_FR.json @@ -60,7 +60,7 @@ "Administrator": "Administrateur·rice", "All good, let's continue!": "C'est tout bon, continuons !", "All group members and other eventual server admins will still be able to view this information.": "Tous les membres du groupes et les administrateur·rice·s d'éventuels autres serveurs seront toujours en capacité de voir cette information.", - "All the places have already been taken": "Toutes les places ont été prises|Une place est encore disponible|{places} places sont encore disponibles", + "All the places have already been taken": "Toutes les places ont déjà été prises", "Allow all comments": "Autoriser tous les commentaires", "Allow all comments from users with accounts": "Autoriser tous les commentaires d'utilisateur·rice·s avec des comptes", "Allow registrations": "Autoriser les inscriptions", diff --git a/js/src/i18n/langs.json b/js/src/i18n/langs.json index 072a8e82e..d38d4bc6e 100644 --- a/js/src/i18n/langs.json +++ b/js/src/i18n/langs.json @@ -3,7 +3,6 @@ "be": "Беларуская мова", "bn": "বাংলা", "ca": "Català", - "cs": "čeština", "de": "Deutsch", "en": "English", "eo": "Esperanto", @@ -11,6 +10,7 @@ "eu": "Euskara", "fi": "suomi", "fr": "Français", + "gd": "Gàidhlig", "gl": "Galego", "hu": "Magyar", "it": "Italiano", @@ -22,7 +22,7 @@ "pl": "Polski", "pt": "Português", "pt_BR": "Português brasileiro", - "ru": "Русский", "sl": "Slovenščina", - "sv": "Svenska" + "sv": "Svenska", + "zh_Hant": "繁體字" } diff --git a/js/src/i18n/pluralRules/gd.ts b/js/src/i18n/pluralRules/gd.ts new file mode 100644 index 000000000..5f5730073 --- /dev/null +++ b/js/src/i18n/pluralRules/gd.ts @@ -0,0 +1,11 @@ +export default function (choice: number): number { + if (choice === 1 || choice === 11) { + return 0; + } + + if (choice === 2 || choice === 12) { + return 1; + } + + return choice > 0 && choice < 20 ? 2 : 3; +} diff --git a/js/src/i18n/pluralRules/index.ts b/js/src/i18n/pluralRules/index.ts new file mode 100644 index 000000000..d5536b9b4 --- /dev/null +++ b/js/src/i18n/pluralRules/index.ts @@ -0,0 +1,5 @@ +import gd from "./gd"; + +export default { + gd, +}; diff --git a/js/src/utils/i18n.ts b/js/src/utils/i18n.ts index b4aaaf9e9..5e2231c0f 100644 --- a/js/src/utils/i18n.ts +++ b/js/src/utils/i18n.ts @@ -4,6 +4,7 @@ import { DateFnsPlugin } from "@/plugins/dateFns"; import en from "../i18n/en_US.json"; import langs from "../i18n/langs.json"; import { getLocaleData } from "./auth"; +import pluralizationRules from "../i18n/pluralRules"; const DEFAULT_LOCALE = "en_US"; @@ -31,6 +32,7 @@ export const i18n = new VueI18n({ messages: en, // set locale messages fallbackLocale: DEFAULT_LOCALE, formatFallbackMessages: true, + pluralizationRules, }); const loadedLanguages = [DEFAULT_LOCALE];