Best way to get asp.net resource objects by Culture

In asp.net all resources are kept in App_GlobalResources folder in .resx files. We can get resource using classkey, resourceKey and culture.

We should use read objects from resources very carefully. Here is one example to do this. Always

/// <summary>
/// Translates the specified string using the resource files.
/// </summary>
/// <param name="text">
/// The text to translate.
/// </param>
/// <returns>
/// The translate.
/// </returns>
public static string Translate(string text)
{
return Translate(text, null, null);
}
/// <summary>
/// Translates the specified string using the resource files.  If a translation
///     is not found, defaultValue will be returned.
/// </summary>
/// <param name="text">
/// The text to translate.
/// </param>
/// <param name="defaultValue">
/// The default Value.
/// </param>
/// <returns>
/// The translate.
/// </returns>
public static string Translate(string text, string defaultValue)
{
return Translate(text, defaultValue, null);
}
/// <summary>
/// Translates the specified string using the resource files and specified culture.
///     If a translation is not found, defaultValue will be returned.
/// </summary>
/// <param name="text">
/// The text to translate.
/// </param>
/// <param name="defaultValue">
/// The default Value.
/// </param>
/// <param name="culture">
/// The culture.
/// </param>
/// <returns>
/// The translate.
/// </returns>
public static string Translate(string text, string defaultValue, CultureInfo culture)
{
var resource = culture == null
? HttpContext.GetGlobalResourceObject("labels", text)
: HttpContext.GetGlobalResourceObject("labels", text, culture);
return resource != null
? resource.ToString()
: (string.IsNullOrEmpty(defaultValue)
? string.Format("Missing Resource [{0}]", text)
: defaultValue);
}