通常,翻譯方法採用鍵>值映射並使用鍵將其轉換爲值。現在我認識到兩種不同的方法來爲您的翻譯密鑰命名,而在我的團隊中,我們並沒有達成共識,似乎是最好的方法。翻譯文件中鍵值的最佳做法
方法1: 使用完整的英文單詞或句子:
Name => Name
Please enter your email address => Please enter your email address
方法2: 使用關鍵詞描述的情況:
NAME => Name
ENTER_EMAIL => Please enter your email address
我個人比較喜歡的方法#1,因爲它直接顯示消息的含義。如果翻譯不存在,您可以回到關鍵位置,這不會導致任何問題。但是,由於所有文件都需要更新,因此翻譯頻繁更改時該方法非常麻煩。對於更長的文本,這些鍵變得非常大。這可以通過使用諸如ENTER_EMAIL
之類的鍵來解決,但措辭完全超出了上下文。抽象翻譯密鑰的列表將是巨大的,你需要所有密鑰的元數據來解釋它們的使用,並且碰撞可能會更容易發生。
是否有兩全其美或第三種方法?你如何在你的應用程序中使用翻譯鍵?在我們的例子中,它是一個基於php的web應用程序,但我認爲上面的問題通常足以說明i18n。
有趣的問題。我傾向於支持#1,但在情況允許時進行混合。 –
我更喜歡#2的要求,當然,總是有一個英文(或原始語言)條目。每條記錄還應包括上次更新時間的日期/時間,以指出已更改的消息以及需要更新的翻譯。另外,應該存儲記錄原始語言的記錄。 –