cryptui: Fix a string resource so its format placeholders can be reordered.
diff --git a/dlls/cryptui/cryptui.rc b/dlls/cryptui/cryptui.rc
index bbac4f4..5f35f0c 100644
--- a/dlls/cryptui/cryptui.rc
+++ b/dlls/cryptui/cryptui.rc
@@ -55,7 +55,7 @@
     IDS_FIELD_VALID_TO "Valid to"
     IDS_FIELD_SUBJECT "Subject"
     IDS_FIELD_PUBLIC_KEY "Public key"
-    IDS_FIELD_PUBLIC_KEY_FORMAT "%s (%d bits)"
+    IDS_FIELD_PUBLIC_KEY_FORMAT "%1 (%2!d! bits)"
     IDS_PROP_HASH "SHA1 hash"
     IDS_PROP_ENHKEY_USAGE "Enhanced key usage (property)"
     IDS_PROP_FRIENDLY_NAME "Friendly name"
diff --git a/dlls/cryptui/main.c b/dlls/cryptui/main.c
index 5c8fd27..387b6c6 100644
--- a/dlls/cryptui/main.c
+++ b/dlls/cryptui/main.c
@@ -2704,6 +2704,8 @@
         if (LoadStringW(hInstance, IDS_FIELD_PUBLIC_KEY_FORMAT, fmt,
          sizeof(fmt) / sizeof(fmt[0])))
         {
+            DWORD len;
+
             /* Allocate the output buffer.  Use the number of bytes in the
              * public key as a conservative (high) estimate for the number of
              * digits in its output.
@@ -2713,14 +2715,18 @@
              * good idea, but as this isn't a sentence fragment, it shouldn't
              * be word-order dependent.
              */
-            buf = HeapAlloc(GetProcessHeap(), 0,
-             (strlenW(fmt) + strlenW(oidInfo->pwszName) +
-             cert->pCertInfo->SubjectPublicKeyInfo.PublicKey.cbData * 8)
-             * sizeof(WCHAR));
+            len = strlenW(fmt) + strlenW(oidInfo->pwszName) +
+                cert->pCertInfo->SubjectPublicKeyInfo.PublicKey.cbData * 8;
+            buf = HeapAlloc(GetProcessHeap(), 0, len * sizeof(*buf));
             if (buf)
-                sprintfW(buf, fmt, oidInfo->pwszName,
-                 CertGetPublicKeyLength(X509_ASN_ENCODING,
-                  &cert->pCertInfo->SubjectPublicKeyInfo));
+            {
+                DWORD_PTR args[2];
+                args[0] = (DWORD_PTR)oidInfo->pwszName;
+                args[1] = CertGetPublicKeyLength(X509_ASN_ENCODING,
+                              &cert->pCertInfo->SubjectPublicKeyInfo);
+                FormatMessageW(FORMAT_MESSAGE_FROM_STRING|FORMAT_MESSAGE_ARGUMENT_ARRAY,
+                               fmt, 0, 0, buf, len, (__ms_va_list*)args);
+            }
         }
     }
     return buf;
diff --git a/po/ar.po b/po/ar.po
index 20cf7dd..ea9ecca 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -1570,7 +1570,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/bg.po b/po/bg.po
index 3fda2f0..26faba9 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -1581,7 +1581,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/ca.po b/po/ca.po
index 0d5c4c3..cb4418b 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -1582,7 +1582,8 @@
 msgstr "Clau Pública"
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+#, fuzzy
+msgid "%1 (%2!d! bits)"
 msgstr "%s (%d bits)"
 
 #: cryptui.rc:59
diff --git a/po/cs.po b/po/cs.po
index 611f060..caeff0f 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -1604,7 +1604,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/da.po b/po/da.po
index 485e713..c6384dc 100644
--- a/po/da.po
+++ b/po/da.po
@@ -1611,7 +1611,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/de.po b/po/de.po
index 9111c3a..c24cab9 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1577,7 +1577,8 @@
 msgstr "Öffentlicher Schlüssel"
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+#, fuzzy
+msgid "%1 (%2!d! bits)"
 msgstr "%s (%d Bits)"
 
 #: cryptui.rc:59
diff --git a/po/el.po b/po/el.po
index 5b12d85..1bd664e 100644
--- a/po/el.po
+++ b/po/el.po
@@ -1562,7 +1562,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/en.po b/po/en.po
index 646079c..be4ee6b 100644
--- a/po/en.po
+++ b/po/en.po
@@ -1550,7 +1550,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/en_US.po b/po/en_US.po
index b1a614e..bb1ae5f 100644
--- a/po/en_US.po
+++ b/po/en_US.po
@@ -1578,8 +1578,8 @@
 msgstr "Public key"
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
-msgstr "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
+msgstr "%1 (%2!d! bits)"
 
 #: cryptui.rc:59
 msgid "SHA1 hash"
diff --git a/po/eo.po b/po/eo.po
index 8dd0e41..4d4272b 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -1592,7 +1592,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/es.po b/po/es.po
index f006ad5..887b3b4 100644
--- a/po/es.po
+++ b/po/es.po
@@ -1616,7 +1616,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/fa.po b/po/fa.po
index 42aa60a..34845b8 100644
--- a/po/fa.po
+++ b/po/fa.po
@@ -1570,7 +1570,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/fi.po b/po/fi.po
index 357d1f4..91a84fc 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -1580,7 +1580,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/fr.po b/po/fr.po
index c06fcdf..b459975 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -1584,7 +1584,8 @@
 msgstr "Clé publique"
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+#, fuzzy
+msgid "%1 (%2!d! bits)"
 msgstr "%s (%d bits)"
 
 #: cryptui.rc:59
diff --git a/po/he.po b/po/he.po
index fb9382f..cae3d03 100644
--- a/po/he.po
+++ b/po/he.po
@@ -1576,7 +1576,8 @@
 msgstr "מפתח ציבורי"
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+#, fuzzy
+msgid "%1 (%2!d! bits)"
 msgstr "%s (%d סיביות)"
 
 #: cryptui.rc:59
diff --git a/po/hi.po b/po/hi.po
index dfb06ad..33bbe8a 100644
--- a/po/hi.po
+++ b/po/hi.po
@@ -1551,7 +1551,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/hu.po b/po/hu.po
index c918c56..959e5fc 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -1632,7 +1632,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/it.po b/po/it.po
index d09a91d..d0e064f 100644
--- a/po/it.po
+++ b/po/it.po
@@ -1582,7 +1582,8 @@
 msgstr "Chiave pubblica"
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+#, fuzzy
+msgid "%1 (%2!d! bits)"
 msgstr "%s (%d bit)"
 
 #: cryptui.rc:59
diff --git a/po/ja.po b/po/ja.po
index f64509a..b0cea70 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -1579,7 +1579,8 @@
 msgstr "公開鍵"
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+#, fuzzy
+msgid "%1 (%2!d! bits)"
 msgstr "%s (%d ビット)"
 
 #: cryptui.rc:59
diff --git a/po/ko.po b/po/ko.po
index 54e296b..e8dd485 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -1578,7 +1578,8 @@
 msgstr "공용 키"
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+#, fuzzy
+msgid "%1 (%2!d! bits)"
 msgstr "%s (%d 비트)"
 
 #: cryptui.rc:59
diff --git a/po/lt.po b/po/lt.po
index 30c83c3..541225a 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -1584,7 +1584,8 @@
 msgstr "Viešasis raktas"
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+#, fuzzy
+msgid "%1 (%2!d! bits)"
 msgstr "%s (%d bitai)"
 
 #: cryptui.rc:59
diff --git a/po/ml.po b/po/ml.po
index 848345c..33688b4 100644
--- a/po/ml.po
+++ b/po/ml.po
@@ -1551,7 +1551,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/nb_NO.po b/po/nb_NO.po
index 500f376..0737da0 100644
--- a/po/nb_NO.po
+++ b/po/nb_NO.po
@@ -1678,7 +1678,8 @@
 msgstr "Offentlig nøkkel"
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+#, fuzzy
+msgid "%1 (%2!d! bits)"
 msgstr "%s (%d bits)"
 
 #: cryptui.rc:59
diff --git a/po/nl.po b/po/nl.po
index f403061..0ad0207 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -1592,7 +1592,8 @@
 msgstr "Publieke sleutel"
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+#, fuzzy
+msgid "%1 (%2!d! bits)"
 msgstr "%s (%d bits)"
 
 #: cryptui.rc:59
diff --git a/po/or.po b/po/or.po
index 0a419c3..6648a32 100644
--- a/po/or.po
+++ b/po/or.po
@@ -1551,7 +1551,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/pa.po b/po/pa.po
index 18706a4..39f6f7a 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -1551,7 +1551,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/pl.po b/po/pl.po
index 333fe66..3a1693e 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -1582,7 +1582,8 @@
 msgstr "Klucz publiczny"
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+#, fuzzy
+msgid "%1 (%2!d! bits)"
 msgstr "%s (%d bitów)"
 
 #: cryptui.rc:59
diff --git a/po/pt_BR.po b/po/pt_BR.po
index daea708..d6ee6ae 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -1673,7 +1673,8 @@
 msgstr "Chave Pública"
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+#, fuzzy
+msgid "%1 (%2!d! bits)"
 msgstr "%s (%d bits)"
 
 #: cryptui.rc:59
diff --git a/po/pt_PT.po b/po/pt_PT.po
index f4f0c14..5b446e1 100644
--- a/po/pt_PT.po
+++ b/po/pt_PT.po
@@ -1689,7 +1689,8 @@
 msgstr "Chave Pública"
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+#, fuzzy
+msgid "%1 (%2!d! bits)"
 msgstr "%s (%d bits)"
 
 #: cryptui.rc:59
diff --git a/po/rm.po b/po/rm.po
index 6ad30e9..a3b5613 100644
--- a/po/rm.po
+++ b/po/rm.po
@@ -1558,7 +1558,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/ro.po b/po/ro.po
index 11439db..135ee84 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -1737,7 +1737,8 @@
 msgstr "Cheie publică"
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+#, fuzzy
+msgid "%1 (%2!d! bits)"
 msgstr "%s (%d biți)"
 
 #: cryptui.rc:59
diff --git a/po/ru.po b/po/ru.po
index 8ce968b..f46be38 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -1575,7 +1575,8 @@
 msgstr "Открытый ключ"
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+#, fuzzy
+msgid "%1 (%2!d! bits)"
 msgstr "%s (бит: %d)"
 
 #: cryptui.rc:59
diff --git a/po/sk.po b/po/sk.po
index f6b9e9f..f6acf92 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -1560,7 +1560,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/sl.po b/po/sl.po
index 81b7d5a..7107500 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -1591,7 +1591,8 @@
 msgstr "Javni ključ"
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+#, fuzzy
+msgid "%1 (%2!d! bits)"
 msgstr "%s (%d bitov)"
 
 #: cryptui.rc:59
diff --git a/po/sr_RS@cyrillic.po b/po/sr_RS@cyrillic.po
index 44c74c2..68b0f6d 100644
--- a/po/sr_RS@cyrillic.po
+++ b/po/sr_RS@cyrillic.po
@@ -1598,7 +1598,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/sr_RS@latin.po b/po/sr_RS@latin.po
index 296b06f..c2a9cda 100644
--- a/po/sr_RS@latin.po
+++ b/po/sr_RS@latin.po
@@ -1614,7 +1614,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/sv.po b/po/sv.po
index 860ba5a..ba2c069 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -1586,7 +1586,8 @@
 msgstr "Offentlig nyckel"
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+#, fuzzy
+msgid "%1 (%2!d! bits)"
 msgstr "%s (%d bitar)"
 
 #: cryptui.rc:59
diff --git a/po/te.po b/po/te.po
index 34ee175..56fc7b9 100644
--- a/po/te.po
+++ b/po/te.po
@@ -1551,7 +1551,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/th.po b/po/th.po
index 788282f..467a36e 100644
--- a/po/th.po
+++ b/po/th.po
@@ -1563,7 +1563,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/tr.po b/po/tr.po
index 0b2a95a..dbc0d21 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -1592,7 +1592,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/uk.po b/po/uk.po
index d34a4da..ef028bf 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -1582,7 +1582,8 @@
 msgstr "Публічний ключ"
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+#, fuzzy
+msgid "%1 (%2!d! bits)"
 msgstr "%s (%d біт)"
 
 #: cryptui.rc:59
diff --git a/po/wa.po b/po/wa.po
index d627a2f..7c4ad75 100644
--- a/po/wa.po
+++ b/po/wa.po
@@ -1559,7 +1559,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/wine.pot b/po/wine.pot
index 64e3e19..4985644 100644
--- a/po/wine.pot
+++ b/po/wine.pot
@@ -1545,7 +1545,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 0778d38..dc199db 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -1589,7 +1589,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59
diff --git a/po/zh_TW.po b/po/zh_TW.po
index ed58e16..1d5aa8b 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -1594,7 +1594,7 @@
 msgstr ""
 
 #: cryptui.rc:58
-msgid "%s (%d bits)"
+msgid "%1 (%2!d! bits)"
 msgstr ""
 
 #: cryptui.rc:59