C# Class Westwind.Globalization.DbResXConverter

This class can be used to export resources from the database to ASP.NET compatible resources (Resx). This class takes all the resources in the database and creates RESX files that match these resources. Please note that it will overrwrite any existing resource files if they already exist, so please use this class with care if you have existing ResX resources. Note this class is primarily ASP.NET specific in that it looks at ASP.NET specific directory structures for ResX imports and strongly typed resource creation.
显示文件 Open project: RickStrahl/Westwind.Globalization Class Usage Examples

Public Methods

Method Description
DbResXConverter ( ) : System

Creates new instance with the default Web Application base path set to the current Web application's path.

DbResXConverter ( string basePhsyicalPath ) : System

Pass in the base phyiscal path for the project. For Web Projects this will be the Web root dir for non-Web projects this will be the project base path as a string.

FormatResourceSetPath ( string resourceSet ) : string

Returns the path the resource file withouth the resx and localeId extension

FormatWebResourceSetPath ( string ResourceSet, bool LocalResources ) : string

Translates the resource set path ASP.NET WebForms Global or local resource path base (ie. without the .resx and localeId extension).

GenerateGlobalWebResourceResXFiles ( ) : bool

Genereates Local Web Resource ResX files from the DbResourceDataManager

GenerateLocalWebResourceResXFiles ( ) : bool

Genereates Local Web Resource ResX files from the DbResourceDataManager

GenerateResXFiles ( IEnumerable resourceSets = null, bool generateStronglyTypedClasses = false ) : bool

Generates Resx Files for standard non-Web Resource files based on the BasePhysicalPath

GetCompiledResourcesNormalizedForLocale ( string resourceSet, string baseNamespace, string localeId ) : object>.Dictionary

Returns resources for a given resource set in a specific locale

GetResXResourcesNormalizedForLocale ( string baseFile, string LocaleId ) : object>.Dictionary

Returns all resources for a given locale normalized down the hierarchy for a given resource file. The resource file should be specified without the .resx and locale identifier extensions.

GetResourcesNormalizedForLocale ( ResourceManager resourceManager, string localeId ) : object>.Dictionary
ImportDirectoryResources ( string path, string relativePath ) : bool

Imports all resources from a given directory. This method works for any resources. When using LocalResources, make sure to provide an app relative path as the second parameter if the resources live in non root folder. So if you have resources in off an Admin folder use "admin/" as the parameter. Otherwise for web root resources or global or assembly level assemblies pass string.Empty or null.

ImportResourceFile ( string FileName, string ResourceSetName, string LocaleId ) : bool

Imports an individual ResX Resource file into the database

ImportWebResources ( string webPath = null ) : bool

Imports ResX Web Resources of a Web application by parsing through the App_GlobalResources and App_LocalResources directories of a Web site. Note: Requires that WebPhysicalPath is set to point at the Web root directory.

ImportWinResources ( string basePhysicalPath ) : bool

Imports Resources recursively from a non-Web project

IsLocalResourceSet ( string resourceSet ) : bool

Determines if a resourceset is a local resource based on the extension of the resource set

Protected Methods

Method Description
GenerateWebResourceResXFiles ( bool localResources ) : bool

Dumps resources from the DbResourceProvider database out to Resx resources in an ASP.NET application creating the appropriate APP_LOCAL_RESOURCES/APP_GLOBAL_RESOURCES folders and resx files. IMPORTANT: will overwrite existing files

Private Methods

Method Description
GetResXResources ( string FileName ) : List

Gets a specific List of resources as a list of ResxItems. This list only retrieves items for a specific locale. No resource normalization occurs.

Method Details

DbResXConverter() public method

Creates new instance with the default Web Application base path set to the current Web application's path.
public DbResXConverter ( ) : System
return System

DbResXConverter() public method

Pass in the base phyiscal path for the project. For Web Projects this will be the Web root dir for non-Web projects this will be the project base path as a string.
public DbResXConverter ( string basePhsyicalPath ) : System
basePhsyicalPath string /// Optional - allows specifying the virtual path where the resources are loaded and saved to. /// /// If not specified HttpContext.Current.PhysicalPath is used instead. ///
return System

FormatResourceSetPath() public method

Returns the path the resource file withouth the resx and localeId extension
public FormatResourceSetPath ( string resourceSet ) : string
resourceSet string
return string

FormatWebResourceSetPath() public method

Translates the resource set path ASP.NET WebForms Global or local resource path base (ie. without the .resx and localeId extension).
public FormatWebResourceSetPath ( string ResourceSet, bool LocalResources ) : string
ResourceSet string
LocalResources bool
return string

GenerateGlobalWebResourceResXFiles() public method

Genereates Local Web Resource ResX files from the DbResourceDataManager
public GenerateGlobalWebResourceResXFiles ( ) : bool
return bool

GenerateLocalWebResourceResXFiles() public method

Genereates Local Web Resource ResX files from the DbResourceDataManager
public GenerateLocalWebResourceResXFiles ( ) : bool
return bool

GenerateResXFiles() public method

Generates Resx Files for standard non-Web Resource files based on the BasePhysicalPath
public GenerateResXFiles ( IEnumerable resourceSets = null, bool generateStronglyTypedClasses = false ) : bool
resourceSets IEnumerable
generateStronglyTypedClasses bool
return bool

GenerateWebResourceResXFiles() protected method

Dumps resources from the DbResourceProvider database out to Resx resources in an ASP.NET application creating the appropriate APP_LOCAL_RESOURCES/APP_GLOBAL_RESOURCES folders and resx files. IMPORTANT: will overwrite existing files
protected GenerateWebResourceResXFiles ( bool localResources ) : bool
localResources bool
return bool

GetCompiledResourcesNormalizedForLocale() public method

Returns resources for a given resource set in a specific locale
public GetCompiledResourcesNormalizedForLocale ( string resourceSet, string baseNamespace, string localeId ) : object>.Dictionary
resourceSet string
baseNamespace string
localeId string
return object>.Dictionary

GetResXResourcesNormalizedForLocale() public method

Returns all resources for a given locale normalized down the hierarchy for a given resource file. The resource file should be specified without the .resx and locale identifier extensions.
public GetResXResourcesNormalizedForLocale ( string baseFile, string LocaleId ) : object>.Dictionary
baseFile string The base Resource file without .resx and locale extensions
LocaleId string
return object>.Dictionary

GetResourcesNormalizedForLocale() public method

public GetResourcesNormalizedForLocale ( ResourceManager resourceManager, string localeId ) : object>.Dictionary
resourceManager System.Resources.ResourceManager
localeId string
return object>.Dictionary

ImportDirectoryResources() public method

Imports all resources from a given directory. This method works for any resources. When using LocalResources, make sure to provide an app relative path as the second parameter if the resources live in non root folder. So if you have resources in off an Admin folder use "admin/" as the parameter. Otherwise for web root resources or global or assembly level assemblies pass string.Empty or null.
public ImportDirectoryResources ( string path, string relativePath ) : bool
path string Physical Path for the Resources
relativePath string Optional - relative path prefix for Web App_LocalResources (ie. admin/)
return bool

ImportResourceFile() public method

Imports an individual ResX Resource file into the database
public ImportResourceFile ( string FileName, string ResourceSetName, string LocaleId ) : bool
FileName string Full path to the the ResX file
ResourceSetName string Name of the file or for local resources the app relative path plus filename (admin/default.aspx or default.aspx)
LocaleId string Locale Id of the file to import. Use "" for Invariant
return bool

ImportWebResources() public method

Imports ResX Web Resources of a Web application by parsing through the App_GlobalResources and App_LocalResources directories of a Web site. Note: Requires that WebPhysicalPath is set to point at the Web root directory.
public ImportWebResources ( string webPath = null ) : bool
webPath string
return bool

ImportWinResources() public method

Imports Resources recursively from a non-Web project
public ImportWinResources ( string basePhysicalPath ) : bool
basePhysicalPath string The physical path to the directory
return bool

IsLocalResourceSet() public static method

Determines if a resourceset is a local resource based on the extension of the resource set
public static IsLocalResourceSet ( string resourceSet ) : bool
resourceSet string
return bool