But I just want to have a single class file or If not possible single wrapper class (for multiple classes pertaining to each resource file) to get the resource string. I am trying something like GetString(moduleA.ResourceFileA1.String)

I have tried something that is explained here But could not get it right. Can anyone please help?

You did not mention which version of the .NET framework you are restricted to, but assuming you are on at least .NET 2.0, you really shouldn't need to worry about manually managing your resource files. Add a new resource file through Visual Studio, and you should see an auto-generated

ResourceFileA1.resx

and

ResourceFileA1.Designer.cs

The designer file should automatically create for you a compile-time reference to any resource items you put in your file such as:

moduleA.ResourceFileA1.YourStringKey

When you add new locales (.de-DE.resx, etc), moduleA.ResourceFileA1.YourStringKey should automatically refer to the right resource file based on Thread.CurrentCulture, however if you want you can pass it in explicitly by calling GetString

The files you are showing are all local resources, designed to be accessible only by certain sections of your app. But you can also create global resources that can be used by all of your application's code. Assuming your app is an ASP.NET app these resources are in App_GlobalResources. See this MSDN page , particularly the sub-sections "Global Resource Files" and "Local Resource Files".

The files you are showing are all local resources, designed to be accessible only by certain sections of your app. But you can also create global resources that can be used by all of your application's code. Assuming your app is an ASP.NET app these resources are in App_GlobalResources. See this MSDN page , particularly the sub-sections "Global Resource Files" 和 "Local Resource Files".

it says "When you create resource files, you start by creating a base .resx file. For each language that you want to support, create a new file that has the same file name. But in the name, include the language or the language and culture (culture name). For a list of culture names, see the CultureInfo class. For example, you might create the following files:

WebResources.resx
The base resource file. This is the default (fallback) resource file.
WebResources.es.resx
A resource file for Spanish.
WebResources.es-mx.resx
A resource file for Spanish (Mexico) specifically.
WebResources.de.resx
A resource file for German."

it says "When you create resource files, you start by creating a base .resx file. For each language that you want to support, create a new file that has the same file name. But in the name, include the language or the language 和 culture (culture name). For a list of culture names, see the CultureInfo class. For example, you might create the following files:

WebResources.resx
The base resource file. This is the default (fallback) resource file.
WebResources.es.resx
A resource file for Spanish.
WebResources.es-mx.resx
A resource file for Spanish (Mexico) specifically.
WebResources.de.resx
A resource file for German."