SharedExpressionsProcessor

Swifternalization contains some built-in country-related shared expressions. Developer can create its own expressions in expressions.json file for base and preferred languages.

The class is responsible for proper loading the built-in shared ones and those loaded from project’s files. It handles overriding of built-in and loads those from Base and preferred language version.

It always load base expressions, then looking for language specific. If in Base are some expressions that overrides built-ins, that’s fine. The class adds developer’s custom expressions and adds only those of built-in that are not contained in the Base.

The same is for preferred languages but also here what is important is that at first preferred language file expressions are loaded, then if something different is defined in Base it will be also loaded and then the built-in expression that differs.

  • Method takes expression for both Base and preferred language localizations and also internally loads built-in expressions, combine them and returns expressions for Base and prefered language.

    Declaration

    Swift

    class func processSharedExpression(preferedLanguage: CountryCode, preferedLanguageExpressions: [SharedExpression], baseLanguageExpressions: [SharedExpression]) -> [SharedExpression]

    Parameters

    preferedLanguage

    A user device’s language.

    preferedLanguageExpressions

    Expressions from expressions.json

    baseLanguageExpressions

    Expressions from base section of expression.json.

    Return Value

    array of shared expressions for Base and preferred language.

  • Method loads built-in framework’s built-in expressions for specific language.

    Declaration

    Swift

    private class func loadBuiltInExpressions(language: CountryCode) -> [SharedExpression]

    Parameters

    language

    A preferred user’s language.

    Return Value

    Shared expressions for specific language. If there is no