Copy // Functions.
@use '../translator.dictionary.function';
// Modules.
@use '../dictionary';
// The `translator.translate-string()` or `translate.string()` function.
@function string($string, $key: null, $dictionary: (), $global: null) {
@return if(
type-of($string) == string,
dictionary.translation(
$string,
translator.dictionary($key, $dictionary, $global)
)
or $string,
$string
);
}
Copy // Use.
@use '@angular-package/sass/translator';
// Examples.
$-dictionary-example: dictionary.merge(null, (
(extra large, 'extra large', extra-large): xl,
(extra small, 'extra small', extra-small): xs,
border: b,
class: (prefix: class-prefix, separator: class-separator, suffix: class-suffix, calendars: (calendar: cal), labels: (label: lab)),
color: c,
general: (word: słowo, (wrapper, wrap): owijka, (technology, technologia): tech, color: c),
large: lg,
medium: md,
outline: o,
prefix: spectre,
small: sm,
suffix: end,
));
// Default translate.
@debug translator.translate-string(prefix); // spectre
// Translate from the sub-dictionary `class`.
@debug translator.translate-string(prefix, class); // class-prefix
// Translate string with delimiter '-'.
@debug translator.translate-string(extra-large); // xl
@debug translator.translate-string(extra-large, class); // xl
// Translate with a provided `$dictionary`.
@debug translator.translate-string(prefix, class, $-dictionary-example); // class-prefix
@debug translator.translate-string(word, general, $-dictionary-example); // słowo
@debug translator.translate-string(wrap, general, $-dictionary-example); // owijka
@debug translator.translate-string(wrapper, general, $-dictionary-example); // owijka
// Nested key.
@debug translator.translate-string(calendar, (class, calendars), $-dictionary-example); // cal
// Deactivate global dictionary.
@debug translator.translate-string(extra-large, $global: false); // extra-large