getTranslatedText function

String getTranslatedText(
  1. String multilingualText, [
  2. Map<String, dynamic>? valueByNameMap,
  3. String? languageTag_,
  4. String defaultLanguageTag = 'en',
])

Implementation

String getTranslatedText(
    String multilingualText,
    [
        Map<String, dynamic>? valueByNameMap,
        String? languageTag_,
        String defaultLanguageTag = 'en'
    ]
    )
{
    List<String> translatedTextArray = multilingualText.split( 'ยจ' );

    if ( languageTag_ == null )
    {
        languageTag_ = languageTag;
    }

    if ( languageTag_ != defaultLanguageTag )
    {
        for ( int translatedTextIndex = translatedTextArray.length - 1; translatedTextIndex >= 1; --translatedTextIndex )
        {
            String translatedText = translatedTextArray[ translatedTextIndex ];
            int colonCharacterIndex = translatedText.indexOf( ':' );

            if ( colonCharacterIndex >= 0 )
            {
                if ( matchesTranslationSpecifier( translatedText.substring( 0, colonCharacterIndex ), valueByNameMap, languageTag_ ) )
                {
                    return getSubstitutedText( translatedText.substring( colonCharacterIndex + 1 ), valueByNameMap );
                }
            }
        }
    }

    return getSubstitutedText( translatedTextArray.first, valueByNameMap );
}