2016-06-21 65 views
0

我正在使用angular-translate來轉換給定的標識符。不區分大小寫的角度轉換

標識符列表:

{ 
    'UserName': 'Benutzername', 
    'EmailAddress': 'E-mail Adresse' 
} 

在View即時通訊使用的翻譯過濾:

<p>{{ 'UserName' | translate }}</p> 

有沒有辦法告訴翻譯過濾器來匹配情況insensetive:

<p>{{ 'username' | translate }}</p> 
<p>{{ 'UsErNaMe' | translate }}</P> 

編輯:

這是一個較大的項目,所以它不是一個選項,只是將所有標識符小寫,並通過像{{ 'UseRnAme' | lowercase | translate }}這樣的額外過濾器,因爲這意味着要調整html代碼中的每一行。 translate指令也用於某些地方<p translate>UsErNamE</p>

回答

1

簡短的回答是否定的。

長的答案是,如果您知道您的翻譯密鑰在什麼情況下,那麼如果使用的密鑰和標識符符合一些要求,則可以解決該問題。

如果您的翻譯鍵全部是大寫或全部小寫且沒有下劃線或連字符,這將是最簡單的。如果是這種情況,您可以用自己的指令來包裝翻譯服務,這將改變密鑰的大小寫。

如果翻譯鍵是PascalCase,那麼您將能夠將指令標識符標準化爲camelCase或SNAKE_CASE或kabab-case到PascalCase。您將無法將ALLUPPERCASE或alllowercase正常化爲PascalCase。

1

擴展@馬丁的回答,如果你決定讓你的翻譯文本在一個單一的情況下,您可以添加過濾器來進一步傳遞價值的翻譯directive.Like這樣的:

<p>{{ 'username'| uppercase/lowercase | translate }}</p> 
<p>{{ 'UsErNaMe'| uppercase/lowercase | translate }}</P> 
+0

您可以使用任何過濾器,但爲此,你將不得不保持標識符列表只在相同的情況下。 –