commit a077cae0eec82fb708c181bbdba9aed2509dce60
parent 5e6e5c1b1d22482d51001e372cf41eb184ca6646
Author: William Casarin <jb55@jb55.com>
Date: Tue, 22 Jul 2025 12:25:27 -0700
i18n: always have en-XA available
this is statically compiled anyways.
we might want to only have this as a feature
flag in the future to reduce binary size
Signed-off-by: William Casarin <jb55@jb55.com>
Diffstat:
2 files changed, 6 insertions(+), 24 deletions(-)
diff --git a/crates/notedeck/src/i18n/manager.rs b/crates/notedeck/src/i18n/manager.rs
@@ -47,27 +47,14 @@ pub struct Localization {
impl Default for Localization {
fn default() -> Self {
// Default to English (US)
- let default_locale = EN_US;
- let fallback_locale = default_locale.clone();
- let mut current_locale = default_locale.clone();
-
- // Check if pseudolocale is enabled via environment variable
- let enable_pseudolocale = std::env::var("NOTEDECK_PSEUDOLOCALE").is_ok();
+ let default_locale = &EN_US;
+ let fallback_locale = default_locale.to_owned();
// Build available locales list
- let mut available_locales = vec![default_locale.clone()];
-
- // Add en-XA if pseudolocale is enabled
- if enable_pseudolocale {
- available_locales.push(EN_XA.clone());
- current_locale = EN_XA.clone();
- tracing::info!(
- "Pseudolocale (en-XA) enabled via NOTEDECK_PSEUDOLOCALE environment variable"
- );
- }
+ let available_locales = vec![EN_US.clone(), EN_XA.clone()];
Self {
- current_locale,
+ current_locale: default_locale.to_owned(),
available_locales,
fallback_locale,
normalized_key_cache: HashMap::new(),
@@ -77,11 +64,6 @@ impl Default for Localization {
}
}
-pub enum StringCacheResult<'a> {
- Hit(Cow<'a, str>),
- NeedsInsert(IntlKeyBuf, String),
-}
-
impl Localization {
/// Creates a new Localization with the specified resource directory
pub fn new() -> Self {
@@ -417,8 +399,9 @@ mod tests {
// Test available locales
let available = i18n.get_available_locales();
- assert_eq!(available.len(), 1);
+ assert_eq!(available.len(), 2);
assert_eq!(available[0].to_string(), "en-US");
+ assert_eq!(available[1].to_string(), "en-XA");
}
#[test]
diff --git a/crates/notedeck/src/i18n/mod.rs b/crates/notedeck/src/i18n/mod.rs
@@ -13,7 +13,6 @@ pub use key::{IntlKey, IntlKeyBuf};
pub use manager::CacheStats;
pub use manager::Localization;
-pub use manager::StringCacheResult;
/// Re-export commonly used types for convenience
pub use fluent::FluentArgs;