我正在使用ASP.NET和MVC 5構建多語言網站。在名爲Resources的單獨項目中,我有一個Resources.resx,其中保存了所有字符串。從單獨的項目訪問本地化資源
根據我曾工作過的項目的經驗,我認爲只需在Resources.resx
中添加諸如「en」,「es」,「fr」等語言後綴就行。所以最後,我會有幾個資源文件,稱爲Resources.en.resx
,Resources.es.resx
等等。
到目前爲止,我一直只使用一種Resources.resx
文件在一種語言,我沒有問題。但是現在是時候開始添加不同語言的字符串,並且當我用語言後綴重命名文件(並且除此之外別無其他),我無法從單獨的項目訪問資源。我注意到的一件事是,在爲名稱添加後綴後,Resources.Designer.cs是完全空白的,我認爲這可能是我的問題的根源。
對this question的回答沒有幫助,因爲我已經將資源的訪問修飾符設置爲Public
。
我錯過了什麼?
正如您所說,您確實需要爲每種語言使用不同的文件,以便在查看文化信息時知道要使用哪個文件。這正是我的問題,我**不能**將語言後綴添加到我的資源文件而不打破它。 – Antrim
什麼會打破?你現在的資源文件的名稱是什麼?如果英文的當前名稱是Resources.resx,則使用Resources.es.resx添加另一個名稱。對不起,如果我在這裏不理解 – Shetty
也許我沒有足夠好地解釋自己。我在一個單獨的項目中有一個名爲'Resources.resx'的文件,我一直在使用我的項目,沒有任何問題。當我將名稱更改爲'Resources.en.resx'時,整個代碼中的所有引用都被標記爲紅色,並且說'由於其保護級別'''資源'無法訪問「。 – Antrim