Sorry, I don't see the problem.
< and > are considered normal characters, that's fine.
The trick of DHLocalizedString is that it does not do the string
interpolation. This is already handled by Swift.
If you call DHLocalizedString("<\(quote)> by <\(person)>"), the compiler
generates something like:
DHLocalizedString(DHLocalizedStringStore("<",
quote.description(),
"> by <",
person.description(),
">"),
tableName = nil,
bundle = nil)
DHLocalizedString concats the strings (stored in the
DHLocalizedStringStore), replacing every even position by "%@". The
resulting string is used as format argument of NSLocalizedString, using
the even positions of the array as arguments. DHLocalizedString does not
care about the contents of any of the strings parts.
All of this works because Swift always starts interpolated strings with
a string literal, "\(4)" becomes ["", "4", ""] (not sure if it adds the
empty string at the end, too). The parts that come from interpolation
are always in the even positions.
My proposal has two parts:
a) Make NSLocalizedString work like DHLocalizedString does.
b) Make `xxx` a synonym to NSLocalizedString("xxx") (and give me a way
to set the default values for tableName/bundle in this case)
On 2016-04-21 12:23, Adrian Zubarev via swift-evolution wrote:
I know that :D I mean < and > are considered as normal characters of
the string "<\(quote)> by <\(person)>“ so thats why this won’t
work that way.
--
Adrian Zubarev
Am 21. April 2016 bei 11:32:05, Daniel Höpfl via swift-evolution
([email protected]) schrieb:
Maybe using "<\(quote)> by <\(person)>"
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution