22 lines
758 B
Plaintext
22 lines
758 B
Plaintext
interface i18n {
|
|
use common.{locale};
|
|
|
|
/// Retrieves a translated string from the host.
|
|
///
|
|
/// # Arguments
|
|
/// * `key`: The namespaced translation key (e.g. `pumpkin:my_key`).
|
|
/// * `locale`: The target locale.
|
|
///
|
|
/// # Returns
|
|
/// The localized string, falling back to English or the key itself.
|
|
translate: func(key: string, locale: locale) -> string;
|
|
|
|
/// Loads custom translations from a JSON string.
|
|
///
|
|
/// # Arguments
|
|
/// * `namespace`: The namespace to associate these keys with.
|
|
/// * `json`: A JSON string containing a flat map of translations.
|
|
/// * `locale`: The target locale for these translations.
|
|
load-translations: func(namespace: string, json: string, locale: locale);
|
|
}
|