Skip to content

Support Apple/iOS-specific (ObjectiveC and Swift) placeholders format checks #18339

@pastk

Description

@pastk

Describe the problem

Seems like placeholders like %@ and %1$@ are not supported.

There are no format checks inherited from Apple iOS .strings file format.
I went through a list of available checks and tried c-format and percent-placeholders - they don't work.

Sample formatted strings:
%@: https://translate.codeberg.org/translate/comaps/ios/ru/?q=context%3Aopens_at&sort_by=-priority%2Cposition&offset=1
%1$@: https://translate.codeberg.org/translate/comaps/ios/ru/?q=context%3Aopens_dayoftheweek_at&sort_by=-priority%2Cposition&offset=1

A manually assigned c-format seems to work for iOS plural forms in .stringsdict (but not allowing omitting format for singular form):
https://translate.codeberg.org/translate/comaps/ios-plurals/ru/?q=context%3Abookmarks_detect_message%3Avalue&sort_by=-priority%2Cposition&checksum=
But it doesn't work for plural string format which uses e.g. %#@value@:
https://translate.codeberg.org/translate/comaps/ios-plurals/ru/?q=context%3Abookmarks_detect_message&sort_by=-priority%2Cposition&checksum=

And also newer Swift inflection format i.e. You read ^[\(bookCount) book](inflect: true) this year! or ^[%d apples](inflect: true)

Solution brainstorm

Ideally necessary format checks will be auto-inherited from file format.

Both for .strings and plurals in .stringsdict

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions