getTranslatedText function
String
getTranslatedText(
- String multilingualText,
- dynamic valueByNameMap, [
- String? languageTag_,
- String? defaultLanguageTag,
])
Implementation
String getTranslatedText(
String multilingualText,
dynamic valueByNameMap,
[String? languageTag_,
String? defaultLanguageTag]
)
{
if ( languageTag_ != null
&& valueByNameMap is String )
{
languageTag_ = valueByNameMap;
valueByNameMap = null;
}
List<String> translatedTextArray = multilingualText.split( languageSeparator );
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[ 0 ], valueByNameMap as Map<String, dynamic>? );
}