Plurals and placeholders

In most cases we will properly export plurals and placeholders to the file format of your choice, however it is possible to override the default universal placeholder conversion behaviour and plural format export options. Use the table below to specify with the export parameters.

File formatCompatible plural formatsCompatible placeholder formats
android_sdkgenericprintf
ios_sdkgenericios
xmlgenericprintf
stringsgenericios
csvjson_string, icuprintf, ios, icu, net, i18n, raw
xlsxjson_string, icuprintf, ios, icu, net, i18n, raw
pogenericprintf, icu, raw
propertiesjson_string, icuprintf, icu
jsonjson_string, icu, symfony, array, i18next, i18next_v4printf, ios, icu, net, symfony, i18n, raw
xliffgeneric, json_string, icuprintf, ios, icu, raw
plistjson_string, icuprintf, ios, icu
resxjson_string, icunet
jsjson_string, icu, symfony, array, i18next, i18next_v4printf, icu, symfony, i18n, raw
react_nativejson_string, icu, arrayprintf, ios, icu, i18n, raw
symfony_xliffjson_string, icu, symfonyprintf, icu, symfony, raw
xlfjson_string, icuprintf, icu, raw
phpjson_string, icu, symfony, arrayprintf, icu, symfony, i18n, raw
inijson_string, icuprintf, icu
ruby_yamljson_string, icu, arrayprintf, icu
yamljson_string, icu, symfony, arrayprintf, icu, symfony, i18n, raw
stfjson_string, icuprintf, icu
tsgenericprintf, icu
arbicuicu

Plural format descriptions

genericGeneric plural implementation of the selected file format
json_string{"one":"One user online","other":"%s users online"}
icu{index.hero.title, plural, one {One user online} other {%s users online}}
arrayReturns an array (if applicable in the format)
i18next{"key_0": "One apple", "key_1": "Many apples"}
i18next_v4{"key_one": "1 apple", "key_many": "Many apples"}
symfonyOne apple|Many apples

Placeholder format descriptions

Example string: My name is [%s:name]. I have [%.2f] dollars.

printfPrintf-style placeholders — "My name is %s. I have %.2f dollars.".
iosiOS-style placeholders — "My name is %@. I have %.2f dollars."
icuICU Message Format placeholders — "My name is {name}. I have {0} dollars."
net.NET placeholder format — "My name is {0}. I have {0:0.00} dollars."
symfonySymfony placeholder format — "My name is %name%. I have %placeholder\_1% dollars."
i18ni18n placeholder format — "My name is {{name}}. I have {{0}}."
rawNo processing will be applied.