Is there a way bold some words inside the Localizable file like so?
"Pending network connection" = "<b>Pending</b> network connection";
I have this string inside and i want to emphasis only certen words:
"camSave" = "To complete onboarding:\n1. Tap Save and disconnect to disconnect from the camera.\n2. Connect to the internet.\n3. Log in to Cloud.";
Btw i want to use it inside alert
Usage: let label = UILabel() label. attributedText = NSMutableAttributedString() . bold("Address: ") .
A localized string can have different values depending on the language in which the project is being build. There are two categories of localized strings: the strings included in the installation package's UI, common to every MSI file.
string file, select it and on the File Inspector (right menu) select “Localize”. Select your the new language you added and click on “Finish”. If you select the file again you should see something similar to the first image below (be sure to select both the supported languages).
You can actually use HTML tags with NSAttributedString
. This is what I used:
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)
}
So I convert an input string to raw data using UTF8 format. Then I use a constructor of attributed string with data using appropriate flags NSAttributedString.DocumentReadingOptionKey.documentType : NSAttributedString.DocumentType.html
.
You can achieve this like following:
NSAttributedString
.So in your case, in the Localizable.string
file will look like following
"%@ network connection" = "%@ network connection";
"Pending" = "Pending";
Now form the complete string which is localized
let complete = String(format: NSLocalizedString("%@ network connection", ""), NSLocalizedString("Pending", ""))
Then find the Range
of the parameterized string within the complete string.
let range = complete.range(of: NSLocalizedString("Pending", ""))
Now apply whatever attributes you need to apply in this range by forming NSAttributedString
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With