BonMot icon indicating copy to clipboard operation
BonMot copied to clipboard

Localization Arabic

Open sam961 opened this issue 3 years ago • 4 comments

I cannot make locaization from english to arabic example let text = "List of <nameStyle>%@</nameStyle>'s devices".localizedWithParameters(name)

In the localized string i have the following : "List of <nameStyle>%@</nameStyle>'s devices"="الأجهزة <nameStyle>%@</nameStyle>'الخاصة";

Please help

sam961 avatar Dec 25 '20 12:12 sam961

Where is localizedWithParameters coming from? I don't think that's part of BonMot. I wonder if the order of the %@ in the Arabic string is messing up the positional format? Maybe try swapping the order?

ZevEisenberg avatar Dec 26 '20 02:12 ZevEisenberg

i created a protocol it is the same as : let text = String(format: NSLocalizedString("List of <nameStyle>%@</nameStyle>'s devices", comment: ""), "My Name")

but the text is not translated

"List of <nameStyle>%@</nameStyle>'s devices"="TEST <nameStyle>%@</nameStyle>TEST";

sam961 avatar Dec 26 '20 21:12 sam961

@sam961 oh, I missed something in your original post. You had <tags> without backticks, so GitHub didn't render them because it thought they were HTML tags. I've edited your original post to make this more clear, and I'll keep investigating the issue.

ZevEisenberg avatar Dec 31 '20 16:12 ZevEisenberg

@sam961 I was not able to reproduce the issue. I set up my localized strings file like this:

"List of <nameStyle>%@</nameStyle>'s devices"="الأجهزة <nameStyle>%@</nameStyle>'الخاصة";

In my app code, here's how I set up the styling. I used an existing app, so the code has more than you should need to get it working, but here's the gist:

        label.attributedText = String(format: NSLocalizedString("List of <nameStyle>%@</nameStyle>'s devices", comment: "foo"), "Zev").styled(with: StringStyle([
            .adapt(.control),
            .font(UIFont.systemFont(ofSize: 30, weight: .medium)),
            .color(.tutorialText),
            .alignment(.center),
            .xmlRules([
                .style("nameStyle", StringStyle(.color(.red))),
            ]),
        ]))

Result:

ZevEisenberg avatar Dec 31 '20 16:12 ZevEisenberg