Struct bevy_fluent::BundleAsset
source · pub struct BundleAsset { /* private fields */ }
Expand description
FluentBundle
wrapper
Collection of [FluentResource
]s for a single locale
Methods from Deref<Target = FluentBundle<Arc<FluentResource>, IntlLangMemoizer>>§
pub fn has_message(&self, id: &str) -> boolwhere
R: Borrow<FluentResource>,
pub fn has_message(&self, id: &str) -> boolwhere R: Borrow<FluentResource>,
Returns true if this bundle contains a message with the given id.
Examples
use fluent_bundle::{FluentBundle, FluentResource};
use unic_langid::langid;
let ftl_string = String::from("hello = Hi!");
let resource = FluentResource::try_new(ftl_string)
.expect("Failed to parse an FTL string.");
let langid_en = langid!("en-US");
let mut bundle = FluentBundle::new(vec![langid_en]);
bundle.add_resource(&resource)
.expect("Failed to add FTL resources to the bundle.");
assert_eq!(true, bundle.has_message("hello"));
pub fn get_message<'l>(&'l self, id: &str) -> Option<FluentMessage<'l>>where
R: Borrow<FluentResource>,
pub fn get_message<'l>(&'l self, id: &str) -> Option<FluentMessage<'l>>where R: Borrow<FluentResource>,
Retrieves a FluentMessage
from a bundle.
Examples
use fluent_bundle::{FluentBundle, FluentResource};
use unic_langid::langid;
let ftl_string = String::from("hello-world = Hello World!");
let resource = FluentResource::try_new(ftl_string)
.expect("Failed to parse an FTL string.");
let langid_en = langid!("en-US");
let mut bundle = FluentBundle::new(vec![langid_en]);
bundle.add_resource(&resource)
.expect("Failed to add FTL resources to the bundle.");
let msg = bundle.get_message("hello-world");
assert_eq!(msg.is_some(), true);
pub fn write_pattern<W, 'bundle>(
&'bundle self,
w: &mut W,
pattern: &'bundle Pattern<&str>,
args: Option<&'bundle FluentArgs<'_>>,
errors: &mut Vec<FluentError, Global>
) -> Result<(), Error>where
R: Borrow<FluentResource>,
W: Write,
M: MemoizerKind,
pub fn write_pattern<W, 'bundle>( &'bundle self, w: &mut W, pattern: &'bundle Pattern<&str>, args: Option<&'bundle FluentArgs<'_>>, errors: &mut Vec<FluentError, Global> ) -> Result<(), Error>where R: Borrow<FluentResource>, W: Write, M: MemoizerKind,
Writes a formatted pattern which comes from a FluentMessage
.
Example
use fluent_bundle::{FluentBundle, FluentResource};
use unic_langid::langid;
let ftl_string = String::from("hello-world = Hello World!");
let resource = FluentResource::try_new(ftl_string)
.expect("Failed to parse an FTL string.");
let langid_en = langid!("en-US");
let mut bundle = FluentBundle::new(vec![langid_en]);
bundle.add_resource(&resource)
.expect("Failed to add FTL resources to the bundle.");
let msg = bundle.get_message("hello-world")
.expect("Failed to retrieve a FluentMessage.");
let pattern = msg.value()
.expect("Missing Value.");
let mut errors = vec![];
let mut s = String::new();
bundle.write_pattern(&mut s, &pattern, None, &mut errors)
.expect("Failed to write.");
assert_eq!(s, "Hello World!");
pub fn format_pattern<'bundle>(
&'bundle self,
pattern: &'bundle Pattern<&str>,
args: Option<&'bundle FluentArgs<'_>>,
errors: &mut Vec<FluentError, Global>
) -> Cow<'bundle, str>where
R: Borrow<FluentResource>,
M: MemoizerKind,
pub fn format_pattern<'bundle>( &'bundle self, pattern: &'bundle Pattern<&str>, args: Option<&'bundle FluentArgs<'_>>, errors: &mut Vec<FluentError, Global> ) -> Cow<'bundle, str>where R: Borrow<FluentResource>, M: MemoizerKind,
Formats a pattern which comes from a FluentMessage
.
Example
use fluent_bundle::{FluentBundle, FluentResource};
use unic_langid::langid;
let ftl_string = String::from("hello-world = Hello World!");
let resource = FluentResource::try_new(ftl_string)
.expect("Failed to parse an FTL string.");
let langid_en = langid!("en-US");
let mut bundle = FluentBundle::new(vec![langid_en]);
bundle.add_resource(&resource)
.expect("Failed to add FTL resources to the bundle.");
let msg = bundle.get_message("hello-world")
.expect("Failed to retrieve a FluentMessage.");
let pattern = msg.value()
.expect("Missing Value.");
let mut errors = vec![];
let result = bundle.format_pattern(&pattern, None, &mut errors);
assert_eq!(result, "Hello World!");
Trait Implementations§
source§impl Clone for BundleAsset
impl Clone for BundleAsset
source§fn clone(&self) -> BundleAsset
fn clone(&self) -> BundleAsset
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Deref for BundleAsset
impl Deref for BundleAsset
source§impl TypePath for BundleAsset
impl TypePath for BundleAsset
source§fn type_path() -> &'static str
fn type_path() -> &'static str
Returns the fully qualified path of the underlying type. Read more
source§fn short_type_path() -> &'static str
fn short_type_path() -> &'static str
Returns a short, pretty-print enabled path to the type. Read more
source§fn type_ident() -> Option<&'static str>
fn type_ident() -> Option<&'static str>
source§fn crate_name() -> Option<&'static str>
fn crate_name() -> Option<&'static str>
Auto Trait Implementations§
impl !RefUnwindSafe for BundleAsset
impl Send for BundleAsset
impl Sync for BundleAsset
impl Unpin for BundleAsset
impl !UnwindSafe for BundleAsset
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DynamicTypePath for Twhere
T: TypePath,
impl<T> DynamicTypePath for Twhere T: TypePath,
§fn reflect_type_path(&self) -> &str
fn reflect_type_path(&self) -> &str
See [
TypePath::type_path
].§fn reflect_short_type_path(&self) -> &str
fn reflect_short_type_path(&self) -> &str
See [
TypePath::short_type_path
].§fn reflect_type_ident(&self) -> Option<&str>
fn reflect_type_ident(&self) -> Option<&str>
See [
TypePath::type_ident
].§fn reflect_crate_name(&self) -> Option<&str>
fn reflect_crate_name(&self) -> Option<&str>
See [
TypePath::crate_name
].§fn reflect_module_path(&self) -> Option<&str>
fn reflect_module_path(&self) -> Option<&str>
See [
TypePath::module_path
].