I have two language shop (Polish and English) and I allow to pay in three different currencies. Problem is in display currency symbol. It's depend on language, not currency
Example:
(I choose currency Euro in English store view)
Display: Euro 1
Should display: 1 Euro
(In Polish shop currency= $, language = PL)
Display: 100 $
Should: $ 100
Where can I change it, to display symbol not as language "say" but as currency should look like?
P.S. I found something like that:
Currency Symbol in magento
but this changed global pattern of currency, not specific one.
See this link
1. Go from your root folder to /lib/Zend/Locale/Data
2. Find the lenguage file. In my case es.xml
3. Look for <currencyFormat>
Before
<currencyformatlength>
<currencyformat>
<pattern>¤ #,##0.00</pattern>
</currencyformat>
</currencyformatlength>
After
<currencyformatlength>
<currencyformat>
<pattern>#,##0.00 ¤</pattern>
</currencyformat>
</currencyformatlength>
Related
I'm parsing some nasty files - you know, mix comma, space and tab delimiters in a single line, and then run it through a text editor that word wraps at column 65 with CRLF. Ugh.
As part of my efforts to parse this in Cocoa, I use Apple's whitespaceAndNewlineCharacterSet. But what, exactly is in that set? The documentation says "Unicode General Category Z*, U000A ~ U000D, and U0085". I was able to find the last three (85 is interesting, but what does the ~ mean, and what is General Category Z*?
Any Unicode gurus out there?
The ~ means "thru"; thus, U000A, B, C, and D.
The phrase "General Category Z*" is shorthand for "any character whose General Category property is one of the three categories that start with Z." Thus, various forms of space (0020, 00A0, 1680, 2000 thru 200A, 202F, 205F, 3000), plus the line separator (2028) and the paragraph separator (2029).
NSCharacterSet is an opaque class that does not expose its content easily. You have to see it more as a "membership" rule service than a list of characters.
This may be a somewhat brutal approach, but you can get the list of members in an NSCharacterSet by going through all 16 bit scalar values and checking for membership in the set:
let charSet = NSCharacterSet.whitespaceAndNewlineCharacterSet()
for i in 0..<65536
{
let u:UInt16 = UInt16(i)
if charSet.characterIsMember(u)
{ print("\(u): \(Character(UnicodeScalar(u)))") }
}
This gives surprising results for non-displayable character sets but it can probably answer your question.
I need to display store currency in pound.
but for payment gateway authorize.net, I need to do online transaction in dollar.
So We decided to set display currency pound and base currency dollar.
I have done like following,
Tab : General / Currency setup
Base Currency : US Dollar
Default Display Currency : British Pound Sterling
Allowed Currencies : US Dollar, British Pound Sterling
but in frontend dollar is displayed.
I have only one store. So what could be the issue?
you can use English language in magento.
Open lib/Zend/Locale/Data/en.xml
find
< currency type="USD" >
Add code
:
< symbol >£< /symbol >
before close < /currency>
Weird but I can't find where is € symbol set in Magento 1.3.2.3. My locale is German, so I checked /lib/Zend/Locale/Data/de.xml, but for Euro it only have the following code:
<currency type="EUR">
<displayName>Euro</displayName>
<displayName count="other">Euro</displayName>
</currency>
However at the front-end the € symbol is displayed. Please help.
Take a look into lib/Zend/Locale/Data/characters.xml
There you'll find wich characters are used to replace the definitions.
For example:
<currency type="EUR">
Type EUR will be replaced for the € symbol.
take a look at the Currency.php class under app/code/Core/Mage/Directory/Model, you will find that Magento uses the Zend_Currency class which in turn uses the Zend_Locale_Data to retrieve currency symbol.
Hope it helps.
Regards, Alessandro
What is the globally accepted way of displaying international currencies?
For example: US$20, $20, $20 (US), €20, 20€, etc?
If there are many ways to show each currency, what is a good general way of showing currency?
I didn't find any single way. That said:
Show the amount (obviously)
Show the ISO currency code
Optionally show a user-friendly symbol
Don't rely on $ or £ -- several currencies use these symbols. ISO currency codes make it unambiguous. I usually do:
[user-friendly-symbol][amount] [iso code]
For example, $100 USD or €2,000,000 EUR
For the thousand separator, I usually take the local user's preference, rather than trying to figure out if that currency is generally formatted with , or .
See ISO 4217
ISO Currency Codes are the standard, although you might want to special-case certain common currencies (eg, USD, GBP, JPY, EUR etc) and display their symbols too.
ISO 4217
This has been a popular issue around here. See if any of these help you out:
Best Practice - Format Multiple Currencies
Proper currency format when not displaying the native currency of a culture
Currency formatting
I think it's generally accepted this is the best way to do it:
USD$30
AUS$40
And these currencies are displayed like this by default:
£20
€20
The ISO 4217 currency code plus the value. So USD20, EUR20.
I do not work in this field but I believe it should be displayed with a 3 letter code after the sum like :
20 EUR
105 GBP
86.4 USD
There are so many countries using dollars, francs (except France, using euros now) and so on
There is still the problem of the separators:
1,000,000.00 USD but
1 000 000,00 EUR here in France
Can the Card Name (i.e. the cardholder name, not the card type) contain non-ASCII characters?
Example: "JOSÉ GONZÁLEZ".
The character set that is used does not allow for diacritics. In brief, it only allows uppercase ASCII characters.
The restriction ultimately comes from the historical way in which banking cards encode data onto the magnetic stripe (as defined in ISO 7811). The data is encoded in a 7 bits per character format known as ITU-T.50
The cardholder name is encoded with up to 26 characters, each within the range from hex 20-5F. You can see the table for this here: http://www.zytrax.com/tech/ia5.html
Magnetic stripe can store even punctuation symbols like ! " * # % & ( ) ^ : ; < > = ? [ / ] _
But in practice cardholders names uses only:
Range of English uppercase letters
Apostrophe (') for names like "Gareth O'Hare"
Minus (-) for double names like "Alexandru-Cristian"
Dot (.) for honorific prefixes like "MR.", "MRS.", "MISS.", "MS.", "DR.", "THE."
Dot (.) for initials like "Jimmy L. Morgan", "J.P. Teron"
Indeed, only ASCII characters are allowed. But other manipulation is allowed. One can print the name on the first or the second line. One can choose with or without dots and so on.
So, you can't make the customer happy with diacrits (thinks Norwegian and German names). But you can the customer let choose between full firstname of only one character (e.g. JOSE GONZALES or J. GONZALES). It helps to make the customer happy.
Chip cards (aka smart Cards, EMV cards) contain and can return a plethora of different values including "Cardholder Name" (tag 5F20) and "Cardholder Name Extended" (tag 9F0B). EMV Co. says that both of these tags should follow ISO 7813 but I've already seen one card (an "NH Card" from Korea Air) in which tag 5F20 contained lowercase characters. Pandora's box has been opened!
The credit card processors I've used in the past only allowed ASCII in the cardholder name, but you should check with your credit card processor to see what their requirements/restrictions are.