#![recursion_limit = "1024"]

#[cfg(debug_assertions)]
gettext_macros::init_i18n!("hagrid", en, de, ja);

#[cfg(not(debug_assertions))]
gettext_macros::init_i18n!(
    "hagrid", en, de, fr, it, ja, nb, pl, tr, zh_Hans, ko, nl, ru, ar, sv, es, ro
);

mod anonymize_utils;
pub mod app;
mod counters;
mod dump;
mod gettext_strings;
mod i18n;
mod i18n_helpers;
mod initializers;
mod mail;
mod rate_limiter;
mod routes;
mod sealed_state;
mod template_helpers;
mod tokens;
mod web;

gettext_macros::compile_i18n!();

// The include_i18n macro must be called after compile_i18n, which must be called after i18n macros
// *in compilation order*. We use a helper function here to make this order consistent.
pub fn get_i18n() -> Vec<(&'static str, gettext::Catalog)> {
    gettext_macros::include_i18n!()
}
