2012-10-26 17 views
0

我設置了阿聯酋國際使用這個標誌:د.إ我怎麼可以這樣寫爲貨幣單位,但遠期د.إ

但是,當我將其插入我的EN-UAE.rb:

:currency => { 
    :format => { 
     :unit => 'د.إ', 
     :precision => 2, 
     :format => '%u%n' 
    } 
    } 

它產生:

100.00د.إ 

在哪裏,因爲我想:

(i actually can't get the symbol to appear before the number here either..) 
+0

我不知道,但是這可能來自阿拉伯文字是從右寫的事實,幹剩下。因此,您可能需要使用CSS或類似的東西手動交換阿拉伯文符號。 –

回答

2

你符號IS出現在號碼之前!

但是「之前」在LTR(從左到右)上下文中意味着「向左」,並且在RTL(從右到左)上下文中意味着「向右」。

這些數字總是顯示LTR,但它們不會改變它們之後的上下文(所以,整個數字塊可以被認爲是單個「中性」的東西)。

因此,有一行2個元素:阿拉伯字符串和「中性」數字。 這個數字是「中性的」,它會表現爲「好像」它在相同類型的相鄰元素的位置(這裏成對的嵌套有時會產生驚人的結果)。 在我們的例子中,鄰居是一個在前的RTL元素,所以該數字的行爲就好像它在RTL中的一個塊所在的位置;兩個RTL元素,第一個顯示在第二個右邊(在右邊之前)。

將「之前」顯示爲「向左」僅在LTR上下文中有效;但在使用阿拉伯字母符號時推送LTR上下文將會是錯誤的。 如果您處於LTR環境中,最好使用中性符號(如$€等等,裏面有一個單字符的unicode符號,應該是您想要的),或者使用拉丁字母(例如:「rial 「或」AER「)。

但對於阿拉伯字母的一些正確的行爲是數出現在文本的左側前的字符串(後是在RTL左)

你應該尋找「比迪煙」和學習怎麼運行的;只有這樣你才能夠正確處理這些複雜的問題。

有些網站(還有更多):

相關問題