summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorVadim Savchuk <vsavchuk@productengine.com>2010-07-14 15:05:28 +0300
committerVadim Savchuk <vsavchuk@productengine.com>2010-07-14 15:05:28 +0300
commit8b09f20d7dc6c476bcba83f5932f9d18b66ef507 (patch)
tree2f0cf6400e6b95cebcfb5c9444f36b46a8c0548e /indra/newview
parent756b010f7ca9fa31922ccbbff843dba2e1c1fed3 (diff)
EXT-8310 FIXED Incorrect currency format in the Buy L$ floater.
Changes in the Buy L$ floater: * Set system locale before formatting currency. * Made money format configurable (via strings.xml). * Placed the "L$" label to the right of the line editor in FR locale. Details: Actually, the proper way to fix this and similar number formatting bugs would be to set the system locale at startup, but: 1. That triggers assertions when parsing locale-agnostic XML files like avatar_skeleton.xml. 2. I'm wary of making such global changes so close to the 2.1 release. Therefore I just temporarily override current locale before formatting a number and restore the previous locale afterwards. Reviewed by Tofu at https://codereview.productengine.com/secondlife/r/751/ --HG-- branch : product-engine
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llcurrencyuimanager.cpp9
-rw-r--r--indra/newview/skins/default/xui/en/strings.xml3
-rw-r--r--indra/newview/skins/default/xui/fr/floater_buy_currency.xml4
-rw-r--r--indra/newview/skins/default/xui/fr/strings.xml1
4 files changed, 14 insertions, 3 deletions
diff --git a/indra/newview/llcurrencyuimanager.cpp b/indra/newview/llcurrencyuimanager.cpp
index fd3df359bd..7ebcef943e 100644
--- a/indra/newview/llcurrencyuimanager.cpp
+++ b/indra/newview/llcurrencyuimanager.cpp
@@ -35,6 +35,8 @@
#include "lluictrlfactory.h"
#include "lltextbox.h"
#include "lllineeditor.h"
+#include "llresmgr.h" // for LLLocale
+#include "lltrans.h"
#include "llviewercontrol.h"
#include "llversioninfo.h"
@@ -323,7 +325,12 @@ std::string LLCurrencyUIManager::Impl::getLocalEstimate() const
if (mUSDCurrencyEstimated)
{
// we have the old-style USD-specific value
- return "US$ " + llformat("%#.2f", mUSDCurrencyEstimatedCost / 100.0);
+ LLStringUtil::format_map_t args;
+ {
+ LLLocale locale_override(LLStringUtil::getLocale());
+ args["[AMOUNT]"] = llformat("%#.2f", mUSDCurrencyEstimatedCost / 100.0);
+ }
+ return LLTrans::getString("LocalEstimateUSD", args);
}
return "";
}
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index b91acbe27d..dfca765783 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -3222,4 +3222,7 @@ Abuse Report</string>
<string name="dateTimeDayFormat">[MDAY]</string>
<string name="dateTimeAM">AM</string>
<string name="dateTimePM">PM</string>
+
+ <!-- currency formatting -->
+ <string name="LocalEstimateUSD">US$ [AMOUNT]</string>
</strings>
diff --git a/indra/newview/skins/default/xui/fr/floater_buy_currency.xml b/indra/newview/skins/default/xui/fr/floater_buy_currency.xml
index 4eaff8535e..b3acc83078 100644
--- a/indra/newview/skins/default/xui/fr/floater_buy_currency.xml
+++ b/indra/newview/skins/default/xui/fr/floater_buy_currency.xml
@@ -22,10 +22,10 @@ le Lindex...
<text name="currency_action">
Je veux acheter
</text>
- <text name="currency_label">
+ <text name="currency_label" left="308">
L$
</text>
- <line_editor label="L$" name="currency_amt" width="65">
+ <line_editor label="L$" name="currency_amt" width="65" left_pad="-85">
1234
</line_editor>
<text name="buying_label">
diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml
index f8da908cff..e6da5f4a3d 100644
--- a/indra/newview/skins/default/xui/fr/strings.xml
+++ b/indra/newview/skins/default/xui/fr/strings.xml
@@ -3817,4 +3817,5 @@ de l&apos;infraction signalée
<string name="dateTimePM">
PM
</string>
+ <string name="LocalEstimateUSD">[AMOUNT] US$</string>
</strings>