def _GetRowSettingDescriptionParts( self, setting: UISettingsShared.SettingWrapper ) -> typing.List[typing.Union[localization.LocalizedString, str, int, float]]: descriptionParts = list( ) # type: typing.List[typing.Union[localization.LocalizedString, str, int, float]] settingValue = setting.Get() # type: typing.Any settingValueText = setting.GetValueText( settingValue) # type: localization.LocalizedString valueText = self._GetRowPartsSettingValueText( ) # type: localization.LocalizedString Language.AddTokens(valueText, settingValueText) descriptionParts.append(valueText) if setting.IsOverridden(): descriptionParts.append("\n") actualValue = setting.Get(ignoreOverride=True) # type: typing.Any actualValueText = setting.GetValueText( actualValue) # type: localization.LocalizedString overriddenText = self._GetRowPartsSettingOverriddenText() Language.AddTokens(overriddenText, actualValueText) descriptionParts.append(overriddenText) return descriptionParts
def _GetDescriptionValuesParts( self, setting: UISettingsShared.SettingWrapper ) -> typing.List[typing.Union[localization.LocalizedString, str, int, float]]: valuesParts = list( ) # type: typing.List[typing.Union[localization.LocalizedString, str, int, float]] defaultPart = self._GetDescriptionPartsDefaultText( ) # type: localization.LocalizedString Language.AddTokens(defaultPart, self._GetDescriptionDefaultText(setting)) valuesParts.append(defaultPart) if setting.IsOverridden(): overriddenPart = self._GetDescriptionPartsOverriddenValueText( ) # type: localization.LocalizedString overriddenPartTokens = ( self._GetDescriptionOverrideValueText(setting), self._GetDescriptionOverrideReasonText(setting)) # type: tuple Language.AddTokens(overriddenPart, *overriddenPartTokens) valuesParts.append("\n") valuesParts.append(overriddenPart) return valuesParts
def _GetTitleText(self, listPath: str) -> localization.LocalizedString: titleText = self._GetTitleTemplateText( ) # type: localization.LocalizedString titleTextStandard = self._GetTitleStandardText( ) # type: localization.LocalizedString titleTextListPath = self._GetTitleListPathText( listPath) # type: localization.LocalizedString Language.AddTokens(titleText, titleTextStandard, titleTextListPath) return titleText
def GetValueText( cls, value: typing.Union[float, int]) -> localization.LocalizedString: cls._TypeCheckValue(value) valueString = str(value) # type: str text = Language.GetLocalizationStringByIdentifier( This.Mod.Namespace + ".Settings.Types.Time.Second_Template", fallbackText="Second_Template") Language.AddTokens(text, valueString) return text
def _AddSpeciesPart( species: sim_info_types.Species, speciesNamePart: localization.LocalizedString) -> None: if len(valuesParts) != 0: valuesParts.insert(0, "\n") speciesPart = self._GetDescriptionPartsLifeSpanText( ) # type: localization.LocalizedString averageLifespan = int( ToolsLifeSpan.GetAverageLifeSpan(species)) # type: int adjustedLifespan = int(averageLifespan / settingValue) # type: int Language.AddTokens(speciesPart, speciesNamePart, str(adjustedLifespan), str(averageLifespan), str(roundedSettingValue)) valuesParts.insert(0, speciesPart)
def BuildText( parts: typing.List[typing.Union[localization.LocalizedString, str, int, float]] ) -> localization.LocalizedString: """ Create new The Sims 4 localized strings by combining any localized string, string, int, or float together. :param parts: Parts to combined together to create the new localized string. :type parts: typing.List[typing.Union[localization.LocalizedString, str, int, float]] """ if not isinstance(parts, list): raise Exceptions.IncorrectTypeException(parts, "parts", (list, )) for partIndex in range(len(parts)): # type: int part = parts[ partIndex] # type: typing.Union[localization.LocalizedString, str, int, float] if not isinstance(part, (localization.LocalizedString, str, int, float)): raise Exceptions.IncorrectTypeException( part, "parts[%s]" % partIndex, (localization.LocalizedString, str, int, float)) if isinstance(part, (int, float)): parts[partIndex] = str(part) if len(parts) == 0: return Language.CreateLocalizationString("") lastString = None # type: typing.Optional[localization.LocalizedString] for part in reversed( parts ): # type: typing.Union[localization.LocalizedString, str, int, float] partString = _GetFormattingText() # type: localization.LocalizedString partStringTokens = (part, ) if lastString is not None: partStringTokens += (lastString, ) Language.AddTokens(partString, *partStringTokens) lastString = partString return lastString
def GetValueText( cls, value: typing.Union[float, int]) -> localization.LocalizedString: cls._TypeCheckValue(value) valueString = str(value) # type: str if value >= 0: text = Language.GetLocalizationStringByIdentifier( This.Mod.Namespace + ".Settings.Types.File_Size.Megabyte_Template", fallbackText="Megabyte_Template") else: text = Language.GetLocalizationStringByIdentifier( This.Mod.Namespace + ".Settings.Types.File_Size.Disabled_Template", fallbackText="Disabled_Template") Language.AddTokens(text, valueString) return text