serde = { version = "1.0.193", features = ["derive"] }
serde_json = "1.0.108"
strum = { version = "0.25.0", features = ["derive"] }
+sys-locale = "0.3.1"
unicode-width = "0.1.5"
[target.'cfg(unix)'.dependencies]
use std::cmp::max;
use std::iter::once;
use strum::IntoEnumIterator;
+use sys_locale::get_locale;
use super::client::{Client, ClientError};
use super::coloured_string::ColouredString;
pub m: PostMetadata,
}
+fn default_language() -> String {
+ get_locale().as_deref()
+ .and_then(|s| s.split('-').next())
+ .map(|s| if s.len() == 0 { "en" } else { s })
+ .unwrap_or("en")
+ .to_owned()
+}
+
impl Post {
pub fn new() -> Self {
Post {
in_reply_to_id: None,
visibility: Visibility::Public,
content_warning: None,
- language: "en".to_owned(), // FIXME: better default
+ language: default_language(),
},
}
}
in_reply_to_id: Some(id.to_owned()),
visibility: st.visibility, // match the existing vis
content_warning: None,
- language: "en".to_owned(), // FIXME: better default
+ language: default_language(),
},
})
}