Files
leim-tools/i18n.config.ts
2025-04-16 10:53:55 +02:00

656 lines
24 KiB
TypeScript

export default defineI18nConfig(() => ({
legacy: false,
availableLocales: ["fr", "en"],
fallbackLocale: "fr",
messages: {
en: {
head: {
title: "Fantasy calendars for TTRPGs",
description: "Tools for players and game masters to help them visualize fantasy worlds better.",
},
error: {
default: {
title: "An error occured",
description: "An error occured while loading the page.",
descriptionSub: "Please try again later or contact the administrator !"
},
notFound: {
title: "Page not found",
description: "The page you're looking for doesn't exist.",
descriptionSub: "Maybe it has been deleted or moved ?"
},
unknownServer: {
title: "Internal server error",
description: "An error occured while loading the page.",
descriptionSub: "Please try again later or contact the administrator !"
},
},
ui: {
action: {
back: "Back",
cancel: "Cancel",
save: "Save",
delete: "Delete",
edit: "Edit",
},
colors: {
label: "Color",
selectOne: "Select a color",
red: "Red",
orange: "Orange",
amber: "Amber",
yellow: "Yellow",
lime: "Lime",
green: "Green",
emerald: "Emerald",
teal: "Teal",
cyan: "Cyan",
sky: "Sky",
blue: "Blue",
indigo: "Indigo",
violet: "Violet",
purple: "Purple",
fuchsia: "Fuchsia",
pink: "Pink",
rose: "Rose",
black: "Black",
white: "White",
},
contentState: {
label: "Status",
selectOne: "Select a publication state",
published: "Published",
draft: "Draft",
archived: "Archived",
},
greeting: "Connected as {user}",
anonymousGreeting: "Preferences",
backToProfile: "Back to profile",
backToHome: "Back to home",
sidebarMenu: {
profile: "Profile",
appearance: "Appearance",
language: "Language",
account: "Account",
login: "Log in",
logout: "Log out",
avatarFallback: "Profile",
},
dark: "Dark",
light: "Light",
system: "System",
displayMode: "Display"
},
common: {
title: "Title",
createdAt: "Created {createdAt}",
updatedAt: "Last updated {updatedAt}",
},
entity: {
category: {
nameSingular: "Category",
namePlural: "Categories",
search: "Search categories",
notFoundAny: "No categories found.",
addPrimary: "Add a primary category",
addSecondaries: "Add secondary categories",
manageDialog: {
title: "Manage categories",
subtitle: "Add and change the categories of your calendar",
},
deleteDialog: {
title: "Delete this category ?",
subtitle: "The events attached to this category won't be deleted, but you'll lose the category for this calendar.",
},
addedToast: {
title: "The category \"{category}\" has been added to the calendar.",
titleError: "An error has occured and the category \"{category}\" wasn't added to the calendar.",
},
updatedToast: {
title: "The category \"{category}\" has been successfuly updated.",
titleError: "An error has occured and the category \"{category}\" wasn't updated.",
},
deletedToast: {
title: "The category \"{category}\" has been successfuly deleted.",
},
},
isLoading: "Loading in progress…",
addDescription: "Add a description",
deleteOne: "Delete \"{entity}\"",
advancedSearch: {
title: "Search",
subtitle: "Search through calendar and world data",
older: "Older",
newer: "Newer",
ctaPlaceholder: "Search an event, characters…"
},
world: {
nameSingular: "World",
namePlural: "Worlds",
backToMy: "Back to my universe",
backToSingle: "Back to {world}",
addSingle: "Add a world",
addSingleFirst: "Add your first world !",
editSingle: "Edit world",
notFound: "World not found",
notFoundDescription: "The link is not valid or the world has been deleted / archived.",
backToList: "Go back to worlds",
createDialog: {
title: "Create a world",
subtitle: "Worlds are the building blocks which hold all your characters, your calendars…"
},
editDialog: {
title: "Edit world",
subtitle: "Update world data",
},
deleteDialog: {
title: "Delete this world ?",
subtitle: "This world will be deleted permanently, and all of its associated data will be lost !",
},
updatedToast: {
title: "The world \"{world}\" has been successfuly updated.",
},
deletedToast: {
title: "The world \"{world}\" has been successfuly deleted.",
},
},
calendar: {
nameSingular: "Calendar",
namePlural: "Calendars",
namePublicSingular: "Public Calendar",
namePublicPlural: "Public Calendars",
addSingle: "Add a calendar",
addSingleFirst: "Add your first calendar !",
notFound: "Calendar not found",
notFoundDescription: "The link is not valid or the calendar has been deleted / archived.",
notFoundForWorld: "No calendar for this world… yet !",
backToList: "Go back to calendars",
isLoading: "Calendar is loading…",
hasXEvents: "{count} available events",
seeCategories: "Modify categories",
seeOptions: "Calendar options",
date: {
start: "Start date",
end: "End date",
afterTomorrow: "In 2 days",
tomorrow: "Tomorrow",
today: "Today",
yesterday: "Yesterday",
beforeYesterday: "2 days ago",
fromTo: "From {startDate} to {endDate}",
while: "During {duration}",
xDaysNext: "In {days} days",
xMonthsNext: "In {months} month(s)",
xYearsNext: "In {years} year(s)",
xYearsAndMonthsNext: "In {years} year(s) and {months} month(s)",
xDaysNextCompact: "{days} days",
xMonthsNextCompact: "{months} month(s)",
xYearsNextCompact: "{years} year(s)",
xYearsAndMonthsNextCompact: "{years} year(s) and {months} month(s)",
xDaysAgo: "{days} days ago",
xMonthsAgo: "{months} month(s) ago",
xYearsAgo: "{years} year(s) ago",
xYearsAndMonthsAgo: "{years} year(s) and {months} month(s) ago",
xDaysAgoCompact: "{days} days",
xMonthsAgoCompact: "{months} month(s)",
xYearsAgoCompact: "{years} year(s)",
xYearsAndMonthsAgoCompact: "{years} year(s) and {months} month(s)",
},
event: {
nameSingular: "Event",
namePlural: "Events",
addSingle: "Add an event",
newEvent: "New event",
title: "Event title",
isStart: "Start",
isEnd: "End",
isHidden: "Hidden",
isPublic: "Public",
hiddenTooltip: "This event is visible only to game masters.",
addLocation: "Add a place",
prevPage: "Previous page with events",
nextPage: "Next page with events",
outOfBoundsTitle: "No next or previous events were found",
outOfBoundsMessage: "Maybe the event is the first or last one ?",
patterns: {
title: "Between 3 and 120 caracters.",
description: "1200 caracters max.",
location: "Between 3 and 160 caracters.",
},
editDialog: {
title: "Edit event",
subtitle: "Update event data",
},
updatedToast: {
title: "Event \"{event}\" has been successfuly updated.",
},
editErrors: {
toastTitle: "Event wasn't updated.",
title_too_big: "Title should be less than 120 characters long.",
description_too_big: "Description should be less than 1200 characters long.",
location_too_big: "Location should be less than 160 characters long.",
},
deleteDialog: {
title: "Delete this event",
subtitle: "Data associated with this event will be lost and you won't be able to retrieve it !",
},
deletedToast: {
title: "The event \"{event}\" has been successfuly deleted.",
},
},
actionDialog: {
tabs: {
general: {
title: "General",
},
months: {
title: "Months",
},
today: {
title: "Today",
},
}
},
createDialog: {
title: "Create a calendar",
},
deleteDialog: {
title: "Are you sure you want to delete this calendar ?",
subtitle: "Its events won't be accessible anymore and you won't be able to retrieve the deleted data !",
},
deletedToast: {
title: "Calendar \"{calendar}\" has been successfuly deleted.",
},
millennia: {
nameSingular: "Millennia",
displayMode: "Millennial",
nextSingular: "Next millennia",
prevSingular: "Last millennia",
},
centuries: {
nameSingular: "Century",
displayMode: "Centuries",
nextSingular: "Next century",
prevSingular: "Last century",
},
decades: {
nameSingular: "Decade",
displayMode: "Decadal",
nextSingular: "Next decade",
prevSingular: "Last decade",
},
years: {
nameSingular: "Year",
displayMode: "Yearly",
nextSingular: "Next year",
prevSingular: "Last year",
},
months: {
nameSingular: "Month",
displayMode: "Monthly",
nextSingular: "Next month",
prevSingular: "Last month",
inputName: "Month's name",
daysNb: "Number of days",
daysNameSingular: "Day",
daysNamePlural: "Days",
daysMaybePlural: "day(s)",
available: "Months available",
none: "No months for now",
noneAvailable: "No months available",
chooseOne: "Choose a month",
deleteOne: "Remove {month} from this calendar"
}
},
character: {
nameSingular: "Character",
namePlural: "Characters",
}
},
pages: {
explore: {
menuLabel: "Explore",
title: "Explore worlds",
},
profile: {
title: "{user} — My universe",
metaTitle: "My universe",
}
},
breadcrumbs: {
home: "Home",
explore: "Explore",
profile: "Universe",
world: "World",
calendar: "Calendar"
}
},
fr: {
head: {
title: "Calendriers fantasies pour JDR",
description: "Outils destinés aux joueurs et maîtres de jeux pour visualiser plus facilement leurs univers.",
},
error: {
default: {
title: "Une erreur est survenue",
descriptionMain: "Une erreur est survenue lors du chargement de la page.",
descriptionSub: "Merci de rééssayer plus tard ou de contacter l'administrateur !"
},
notFound: {
title: "Page introuvable",
descriptionMain: "La page que vous cherchez n'existe pas.",
descriptionSub: "Peut-être a t-elle été supprimée ou déplacée ?"
},
unknownServer: {
title: "Une erreur du serveur est survenue",
descriptionMain: "Une erreur est survenue lors du chargement de la page.",
descriptionSub: "Merci de rééssayer plus tard ou de contacter l'administrateur !"
},
},
ui: {
action: {
back: "Retour",
cancel: "Annuler",
save: "Sauvegarder",
delete: "Supprimer",
edit: "Modifier",
},
colors: {
label: "Couleur",
selectOne: "Sélectionner une couleur",
red: "Rouge",
orange: "Orange",
amber: "Ambre",
yellow: "Jaune",
lime: "Citron",
green: "Vert",
emerald: "Émeraude",
teal: "Turquoise",
cyan: "Cyan",
sky: "Bleu clair",
blue: "Bleu",
indigo: "Indigo",
violet: "Violet",
purple: "Pourpre",
fuchsia: "Fuchsia",
pink: "Rose",
rose: "Magenta",
black: "Noir",
white: "Blanc",
},
contentState: {
label: "État de publication",
selectOne: "Modifier l'état de publication",
published: "Publié",
draft: "Brouillon",
archived: "Archivé",
},
greeting: "Connecté en tant que {user}",
anonymousGreeting: "Préférences",
backToProfile: "Retour au profil",
backToHome: "Retourner à l'accueil",
sidebarMenu: {
profile: "Profil",
appearance: "Apparence",
language: "Langue",
account: "Compte",
login: "Connexion",
logout: "Déconnexion",
avatarFallback: "Profil",
},
dark: "Sombre",
light: "Clair",
system: "Système",
displayMode: "Affichage",
},
common: {
title: "Titre",
createdAt: "Créé le {createdAt}",
updatedAt: "Dernière modification le {updatedAt}",
},
entity: {
category: {
nameSingular: "Catégorie",
namePlural: "Catégories",
search: "Rechercher les catégories",
notFoundAny: "Aucune catégorie trouvée.",
addPrimary: "Ajouter une catégorie principale",
addSecondaries: "Ajouter des catégories secondaires",
manageDialog: {
title: "Gestion des catégories",
subtitle: "Créer et modifier les catégories de votre calendrier",
},
deleteDialog: {
title: "Supprimer cette catégorie ?",
subtitle: "Les évènements l'utilisant ne seront pas supprimés.",
},
addedToast: {
title: "La catégorie \"{category}\" a été ajoutée au calendrier.",
titleError: "Une erreur s'est produite et la catégorie \"{category}\" n'a pas pu être ajoutée.",
},
updatedToast: {
title: "La catégorie \"{category}\" a été modifiée avec succès.",
titleError: "Une erreur s'est produite et la catégorie \"{category}\" n'a pas pu être modifiée.",
},
deletedToast: {
title: "La catégorie \"{category}\" a été supprimée avec succès.",
},
},
isLoading: "Chargement en cours…",
addDescription: "Ajouter une description",
deleteOne: "Supprimer \"{entity}\"",
advancedSearch: {
title: "Rechercher",
subtitle: "Rechercher les données disponibles sur le calendrier",
older: "Plus ancien",
newer: "Plus récent",
ctaPlaceholder: "Rechercher un évènement, personnage…"
},
world: {
nameSingular: "Monde",
namePlural: "Mondes",
backToMy: "Retourner à mon univers",
backToSingle: "Retourner sur {world}",
addSingle: "Ajouter un monde",
addSingleFirst: "Ajouter votre premier monde !",
editSingle: "Modifier le monde",
notFound: "Aucun monde trouvé",
notFoundDescription: "Le lien n'est pas valide ou le monde a été supprimé / archivé.",
backToList: "Retourner aux mondes",
createDialog: {
title: "Créer un monde",
subtitle: "Un monde est la brique de base qui contient vos personnages, vos calendriers…"
},
editDialog: {
title: "Modifier le monde",
subtitle: "Mettre à jour les données du monde",
},
deleteDialog: {
title: "Supprimer ce monde ?",
subtitle: "Le monde sera supprimé définitivement, vous perdrez toutes les données associées !",
},
updatedToast: {
title: "Le monde \"{world}\" a été modifié avec succès.",
},
deletedToast: {
title: "Le monde \"{world}\" a été supprimé avec succès.",
},
},
calendar: {
nameSingular: "Calendrier",
namePlural: "Calendriers",
namePublicSingular: "Calendrier Public",
namePublicPlural: "Calendriers Publics",
addSingle: "Ajouter un calendrier",
addSingleFirst: "Ajouter votre premier calendrier !",
notFound: "Aucun calendrier trouvé",
notFoundDescription: "Le lien n'est pas valide ou le calendrier a été supprimé / archivé.",
notFoundForWorld: "Aucun calendrier pour ce monde… pour l'instant !",
backToList: "Retourner aux calendriers",
isLoading: "Chargement du calendrier…",
hasXEvents: "{count} évènements disponibles",
seeCategories: "Gestion des catégories",
seeOptions: "Options du calendrier",
date: {
start: "Date de début",
end: "Date de fin",
afterTomorrow: "Après-demain",
tomorrow: "Demain",
today: "Aujourd'hui",
yesterday: "Hier",
beforeYesterday: "Avant-hier",
fromTo: "Du {startDate} au {endDate}",
while: "Pendant {duration}",
xDaysNext: "Dans {days} jours",
xMonthsNext: "Dans {months} mois",
xYearsNext: "Dans {years} an(s)",
xYearsAndMonthsNext: "Dans {years} an(s) et {months} mois",
xDaysNextCompact: "{days} jours",
xMonthsNextCompact: "{months} mois",
xYearsNextCompact: "{years} an(s)",
xYearsAndMonthsNextCompact: "{years} an(s) et {months} mois",
xDaysAgo: "Il y a {days} jours",
xMonthsAgo: "Il y a {months} mois",
xYearsAgo: "Il y a {years} an(s)",
xYearsAndMonthsAgo: "Il y a {years} an(s) et {months} mois",
xDaysAgoCompact: "{days} jours",
xMonthsAgoCompact: "{months} mois",
xYearsAgoCompact: "{years} an(s)",
xYearsAndMonthsAgoCompact: "{years} an(s) et {months} mois",
},
event: {
nameSingular: "Évènement",
namePlural: "Évènements",
addSingle: "Ajouter un évènement",
newEvent: "Nouvel évènement",
title: "Titre de l'évènement",
isStart: "Début",
isEnd: "Fin",
isHidden: "Privé",
isPublic: "Public",
hiddenTooltip: "Cet évènement est uniquement visible pour les maîtres du jeu.",
addLocation: "Ajouter un endroit",
prevPage: "Précédente page à évènements",
nextPage: "Prochaine page à évènements",
outOfBoundsTitle: "Aucun évènement suivant ou précédent trouvé",
outOfBoundsMessage: "Peut-être l'évènement se situe au début ou à la fin du calendrier ?",
patterns: {
title: "Entre 3 et 120 charactères.",
description: "Maximum 1200 charactères.",
location: "Entre 3 et 160 charactères.",
},
editDialog: {
title: "Modifier l'évènement",
subtitle: "Mettre à jour les données de l'évènement",
},
updatedToast: {
title: "L'évènement \"{event}\" a été modifié avec succès.",
},
editErrors: {
toastTitle: "L'évènement n'a pas été modifié",
title_too_big: "Le titre doit être inférieur à 120 caractères.",
description_too_big: "La description doit être inférieure à 1200 caractères.",
location_too_big: "La localisation doit être inférieure à 160 caractères.",
},
deleteDialog: {
title: "Supprimer l'évènement",
subtitle: "Les données associés à cet évènement seront supprimées et vous ne pourrez plus les récupérer !",
},
deletedToast: {
title: "L'évènement \"{event}\" a été supprimé avec succès.",
},
},
actionDialog: {
tabs: {
general: {
title: "Général",
},
months: {
title: "Mois de l'année",
},
today: {
title: "Aujourd'hui",
},
}
},
createDialog: {
title: "Créer un calendrier",
},
updateDialog: {
title: "Modifier le calendrier",
},
deleteDialog: {
title: "Êtes-vous sûr de supprimer ce calendrier ?",
subtitle: "Les évènements ne seront plus accessibles et vous ne pourrez plus récupérer les données !",
},
deletedToast: {
title: "Le calendrier \"{calendar}\" a été supprimé avec succès.",
},
millennia: {
nameSingular: "Millénaire",
displayMode: "Par millénaire",
nextSingular: "Millénaire suivant",
prevSingular: "Millénaire précédent",
},
centuries: {
nameSingular: "Siècle",
displayMode: "Par siècle",
nextSingular: "Siècle suivant",
prevSingular: "Siècle précédent",
},
decades: {
nameSingular: "Décennie",
displayMode: "Par décennie",
nextSingular: "Décennie suivante",
prevSingular: "Décennie précédente",
},
years: {
nameSingular: "Année",
displayMode: "Annuel",
nextSingular: "Année suivante",
prevSingular: "Année précédente",
},
months: {
nameSingular: "Mois",
displayMode: "Mensuel",
nextSingular: "Mois suivant",
prevSingular: "Mois précédent",
inputName: "Nom du mois",
daysNb: "Nombre de jours",
daysNameSingular: "Jour",
daysNamePlural: "Jours",
daysMaybePlural: "jour(s)",
Singular: "Année",
available: "Mois disponibles",
none: "Aucun mois pour l'instant",
noneAvailable: "Aucun mois disponible",
chooseOne: "Choisir un mois",
deleteOne: "Supprimer {month} du calendrier"
}
},
character: {
nameSingular: "Personnage",
namePlural: "Personnages",
}
},
pages: {
explore: {
menuLabel: "Explorer",
title: "Explorer les mondes",
},
profile: {
title: "{user} — Mon univers",
metaTitle: "Mon univers",
}
},
breadcrumbs: {
home: "Accueil",
explore: "Explorer",
profile: "Univers",
world: "Monde",
calendar: "Calendrier"
}
}
}
}))