VeraCrypt
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Main/LanguageStrings.cpp2
-rw-r--r--src/Main/StringFormatter.cpp13
2 files changed, 12 insertions, 3 deletions
diff --git a/src/Main/LanguageStrings.cpp b/src/Main/LanguageStrings.cpp
index 3591255b..33aaf6a9 100644
--- a/src/Main/LanguageStrings.cpp
+++ b/src/Main/LanguageStrings.cpp
@@ -51,7 +51,6 @@ namespace VeraCrypt
{
wxString text = node.InnerText;
text.Replace (L"\\n", L"\n");
- text.Replace (L"%s", L"{0}");
Map[StringConverter::ToSingle (wstring (node.Attributes[L"key"]))] = text;
}
#endif
@@ -59,7 +58,6 @@ namespace VeraCrypt
{
wxString text = node.InnerText;
text.Replace (L"\\n", L"\n");
- text.Replace (L"%s", L"{0}");
Map[StringConverter::ToSingle (wstring (node.Attributes[L"key"]))] = text;
}
}
diff --git a/src/Main/StringFormatter.cpp b/src/Main/StringFormatter.cpp
index 4f8c2cc6..e64f85c3 100644
--- a/src/Main/StringFormatter.cpp
+++ b/src/Main/StringFormatter.cpp
@@ -20,7 +20,18 @@ namespace VeraCrypt
{
bool numberExpected = false;
bool endTagExpected = false;
- foreach (wchar_t c, wstring (format))
+
+ //TODO replace this workaround for %s, %d, %c for printf
+ wxString text(format);
+ text.Replace (L"%s", L"{}",true);
+ text.Replace (L"%d", L"{}",true);
+ text.Replace (L"%c", L"{}",true);
+ int i=0;
+ while (text.find(L"{}") != (size_t) wxNOT_FOUND){
+ text.Replace(L"{}",L"{"+wxString::Format(wxT("%i"),i++)+L"}",false);
+ }
+
+ foreach (wchar_t c, wstring (text))
{
if (numberExpected)
{