¿Hay alguna forma de poner en negrita algunas palabras dentro del archivo Localizable de esa manera?
"Pending network connection" = "<b>Pending</b> network connection";Tengo esta cadena adentro y quiero enfatizar solo ciertas palabras:
"camSave" = "To complete onboarding:\n1. Tap Save and disconnect to disconnect from the camera.\n2. Connect to the internet.\n3. Log in to Cloud.";Por cierto, quiero usarlo dentro de la alerta.
De hecho, puede usar etiquetas HTML con NSAttributedString . Esto es lo que usé:
static func convertFromHTMLString(_ input: String?) -> NSAttributedString? { guard let input = input else { return nil } guard let data = input.data(using: String.Encoding.unicode, allowLossyConversion: true) else { return nil } return try? NSAttributedString(data: data, options: [NSAttributedString.DocumentReadingOptionKey.documentType : NSAttributedString.DocumentType.html], documentAttributes: nil) } Así que convierto una cadena de entrada en datos sin procesar usando el formato UTF8. Luego utilizo un constructor de cadena atribuida con datos usando los indicadores apropiados NSAttributedString.DocumentReadingOptionKey.documentType : NSAttributedString.DocumentType.html .
Puede lograr esto de la siguiente manera:
NSAttributedString . Entonces, en su caso, en el archivo Localizable.string se verá como sigue
"%@ network connection" = "%@ network connection"; "Pending" = "Pending";Ahora forme la cadena completa que está localizada
let complete = String(format: NSLocalizedString("%@ network connection", ""), NSLocalizedString("Pending", "")) Luego busque el Range de la cadena parametrizada dentro de la cadena completa.
let range = complete.range(of: NSLocalizedString("Pending", "")) Ahora aplique los atributos que necesite aplicar en este rango formando NSAttributedString .