1#![doc = include_str!("../README.md")]
5
6pub use formatx::formatx;
7pub use gettextrs::{gettext, ngettext};
8pub use i18n_format_macro::i18n_fmt;
9
10#[macro_export]
18macro_rules! i18n_fmt_impl {
19 ($template:expr) => {
20 format!("{}", $crate::gettext($template))
21 };
22 ($template:expr, $($values:tt)*) => {
23 format!("{}", $crate::formatx!($crate::gettext($template), $($values)*).unwrap_or_else(|err| err.message()))
24 };
25}
26
27#[macro_export]
35macro_rules! i18n_nfmt_impl {
36 ($templates:expr, $templatep:expr, $count:expr) => {
37 format!("{}", $crate::ngettext($templates, $templatep, $count))
38 };
39 ($templates:expr, $templatep:expr, $count:expr, $($values:tt)*) => {
40 format!("{}", $crate::formatx!($crate::ngettext($templates, $templatep, $count), $($values)*).unwrap_or_else(|err| err.message()))
41 };
42}