@@ -511,43 +511,33 @@ std::string_view ConfigDef<T, isHidden>::GetName() const
511511template <typename T, bool isHidden>
512512std::string ConfigDef<T, isHidden>::GetNameLocalised(ELanguage language) const
513513{
514- if (!Locale)
515- return Name;
516-
517- if (!Locale->count (language))
514+ if (Locale != nullptr )
518515 {
519- if (Locale->count (ELanguage::English))
520- {
521- return std::get<0 >(Locale->at (ELanguage::English));
522- }
523- else
524- {
525- return Name;
526- }
516+ auto languageFindResult = Locale->find (language);
517+ if (languageFindResult == Locale->end ())
518+ languageFindResult = Locale->find (ELanguage::English);
519+
520+ if (languageFindResult != Locale->end ())
521+ return std::get<0 >(languageFindResult->second );
527522 }
528523
529- return std::get< 0 >(Locale-> at (language)) ;
524+ return Name ;
530525}
531526
532527template <typename T, bool isHidden>
533528std::string ConfigDef<T, isHidden>::GetDescription(ELanguage language) const
534529{
535- if (!Locale)
536- return " " ;
537-
538- if (!Locale->count (language))
530+ if (Locale != nullptr )
539531 {
540- if (Locale->count (ELanguage::English))
541- {
542- return std::get<1 >(Locale->at (ELanguage::English));
543- }
544- else
545- {
546- return " " ;
547- }
532+ auto languageFindResult = Locale->find (language);
533+ if (languageFindResult == Locale->end ())
534+ languageFindResult = Locale->find (ELanguage::English);
535+
536+ if (languageFindResult != Locale->end ())
537+ return std::get<1 >(languageFindResult->second );
548538 }
549539
550- return std::get< 1 >(Locale-> at (language)) ;
540+ return " " ;
551541}
552542
553543template <typename T, bool isHidden>
@@ -578,27 +568,27 @@ std::string ConfigDef<T, isHidden>::GetValueLocalised(ELanguage language) const
578568 : Localise (" Common_Off" );
579569 }
580570
581- if (!locale)
582- return ToString (false );
583-
584- if (!locale->count (language))
571+ if (locale != nullptr )
585572 {
586- if (locale->count (ELanguage::English))
587- {
588- language = ELanguage::English;
589- }
590- else
573+ ELanguage languages[] = { language, ELanguage::English };
574+
575+ for (auto languageToFind : languages)
591576 {
592- return ToString (false );
593- }
594- }
577+ auto languageFindResult = locale->find (languageToFind);
595578
596- auto strings = locale->at (language);
579+ if (languageFindResult != locale->end ())
580+ {
581+ auto valueFindResult = languageFindResult->second .find (Value);
582+ if (valueFindResult != languageFindResult->second .end ())
583+ return std::get<0 >(valueFindResult->second );
584+ }
597585
598- if (!strings.count (Value))
599- return ToString (false );
586+ if (languageToFind == ELanguage::English)
587+ break ;
588+ }
589+ }
600590
601- return std::get< 0 >(strings. at (Value) );
591+ return ToString ( false );
602592}
603593
604594template <typename T, bool isHidden>
@@ -615,27 +605,27 @@ std::string ConfigDef<T, isHidden>::GetValueDescription(ELanguage language) cons
615605 return " " ;
616606 }
617607
618- if (!locale)
619- return " " ;
620-
621- if (!locale->count (language))
608+ if (locale != nullptr )
622609 {
623- if (locale->count (ELanguage::English))
624- {
625- language = ELanguage::English;
626- }
627- else
610+ ELanguage languages[] = { language, ELanguage::English };
611+
612+ for (auto languageToFind : languages)
628613 {
629- return " " ;
630- }
631- }
614+ auto languageFindResult = locale->find (languageToFind);
632615
633- auto strings = locale->at (language);
616+ if (languageFindResult != locale->end ())
617+ {
618+ auto valueFindResult = languageFindResult->second .find (Value);
619+ if (valueFindResult != languageFindResult->second .end ())
620+ return std::get<1 >(valueFindResult->second );
621+ }
634622
635- if (!strings.count (Value))
636- return " " ;
623+ if (languageToFind == ELanguage::English)
624+ break ;
625+ }
626+ }
637627
638- return std::get< 1 >(strings. at (Value)) ;
628+ return " " ;
639629}
640630
641631template <typename T, bool isHidden>
0 commit comments