forked from
smokesignal.events/smokesignal
Fork i18n + search + filtering- v0.2
1// Structured error types for i18n operations
2use thiserror::Error;
3
4#[derive(Debug, Error)]
5pub enum I18nError {
6 #[error("error-smokesignal-i18n-fluent-1 Translation key not found: {key}")]
7 TranslationKeyNotFound { key: String },
8
9 #[error("error-smokesignal-i18n-locale-2 Unsupported language identifier: {locale}")]
10 UnsupportedLocale { locale: String },
11
12 #[error("error-smokesignal-i18n-locale-8 Invalid language identifier")]
13 InvalidLanguage,
14
15 #[error("error-smokesignal-i18n-template-3 Template function argument missing: {arg}")]
16 TemplateFunctionArgumentMissing { arg: String },
17
18 #[error("error-smokesignal-i18n-fluent-4 Fluent resource parsing failed")]
19 FluentParseError { errors: Vec<fluent_syntax::parser::ParserError> },
20
21 #[error("error-smokesignal-i18n-fluent-5 Bundle resource loading failed")]
22 BundleLoadError { errors: Vec<fluent::FluentError> },
23
24 #[error("error-smokesignal-i18n-gender-6 Invalid gender value: {gender}")]
25 InvalidGender { gender: String },
26
27 #[error("error-smokesignal-i18n-io-7 File system error: {path}")]
28 FileSystemError { path: String },
29
30 #[error("error-smokesignal-i18n-fluent-9 Message formatting failed for key: {key}")]
31 FormattingError { key: String, errors: Vec<String> },
32}