diff options
Diffstat (limited to 'src/Main')
-rw-r--r-- | src/Main/LanguageStrings.cpp | 2 | ||||
-rw-r--r-- | src/Main/StringFormatter.cpp | 13 |
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) { |