1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
pub mod errors;
#[cfg(feature = "translator-fluent")]
mod fluent;
#[cfg(feature = "translator-fluent")]
pub use fluent::{FluentTranslator, FLUENT_TRANSLATOR_FILE_EXT};
#[cfg(all(not(feature = "translator-fluent")))]
mod dummy;
#[cfg(all(not(feature = "translator-fluent")))]
pub use dummy::{DummyTranslator, DUMMY_TRANSLATOR_FILE_EXT};
#[cfg(feature = "translator-fluent")]
pub use FluentTranslator as Translator;
#[cfg(feature = "translator-fluent")]
pub use FLUENT_TRANSLATOR_FILE_EXT as TRANSLATOR_FILE_EXT;
#[cfg(feature = "translator-fluent")]
#[doc(hidden)]
pub use fluent::link_macro_backend;
#[cfg(feature = "translator-fluent")]
#[doc(hidden)]
pub use fluent::t_macro_backend;
#[cfg(feature = "translator-fluent")]
#[doc(hidden)]
pub use fluent::t_macro_backend_with_args;
#[cfg(feature = "translator-fluent")]
#[doc(hidden)]
pub use fluent::TranslationArgs;
#[cfg(all(not(feature = "translator-fluent")))]
#[doc(hidden)]
pub use dummy::link_macro_backend;
#[cfg(all(not(feature = "translator-fluent")))]
#[doc(hidden)]
pub use dummy::t_macro_backend;
#[cfg(all(not(feature = "translator-fluent")))]
#[doc(hidden)]
pub use dummy::t_macro_backend_with_args;
#[cfg(all(not(feature = "translator-fluent")))]
#[doc(hidden)]
pub use dummy::TranslationArgs;
#[cfg(all(not(feature = "translator-fluent")))]
pub use DummyTranslator as Translator;
#[cfg(all(not(feature = "translator-fluent")))]
pub use DUMMY_TRANSLATOR_FILE_EXT as TRANSLATOR_FILE_EXT;
#[macro_export]
macro_rules! t {
($id:expr) => {
$crate::internal::i18n::t_macro_backend($id)
};
($id:expr, {
$($key:literal: $value:expr),+
}) => {{
let mut args = $crate::internal::i18n::TranslationArgs::new();
$(
args.set($key, $value);
)+
$crate::internal::i18n::t_macro_backend_with_args($id, args)
}};
}
#[macro_export]
macro_rules! link {
($url:expr) => {
$crate::internal::i18n::link_macro_backend($url)
};
}