26.1.10

Resources and Varations

SPWeb oSite = SPContext.Current.Web;

string currentUrl = SPContext.Current.Web.Url;

ReadOnlyCollection variationLabels = Variations.Current.UserAccessibleLabels;

foreach (VariationLabel vl in variationLabels)
{
if (currentUrl.StartsWith(vl.TopWebUrl, StringComparison.CurrentCultureIgnoreCase))
{
foreach (CultureInfo culture in CultureInfo.GetCultures(CultureTypes.AllCultures))
{
if (culture.LCID.ToString() == vl.Locale)
{
uint _language = (uint)culture.LCID;

//to customaize
label1.Text = SPUtility.GetLocalizedString("$Resources:[ResourceFileName],[ResourceKeyName];", "[ResourceFileName]", _language);
//to customaize

break;
}
}
break;
}
}

23.1.10

Variation Example

 

private string VariationExample()
        {
            ReadOnlyCollection<VariationLabel> spawnedLabels = Variations.Current.UserAccessibleLabels;
            if (spawnedLabels.Count > 0)
            {
                string sourceLabelUrl = string.Empty;
                Dictionary<string, string> cultureCodeToUrlMapping = new Dictionary<string, string>();
                Dictionary<string, string> cultureCodeStrippedToUrlMapping = new Dictionary<string, string>();
                foreach (VariationLabel label in spawnedLabels)
                {
                    if (label.IsSource)
                    {
                        sourceLabelUrl = label.TopWebUrl;
                    }
                    CultureInfo labelCultureInfo = this.GetLabelCultureInfo(label);
                    string labelCultureInfoName = labelCultureInfo.Name.ToUpperInvariant();
                    if (!cultureCodeToUrlMapping.ContainsKey(labelCultureInfoName) || label.IsSource)
                    {
                        cultureCodeToUrlMapping.Remove(labelCultureInfoName);
                        cultureCodeToUrlMapping.Add(labelCultureInfoName, label.TopWebUrl);
                        string strippedCode = labelCultureInfoName.Split('-')[0];
                        if (!cultureCodeStrippedToUrlMapping.ContainsKey(strippedCode) || label.IsSource)
                        {
                            cultureCodeStrippedToUrlMapping.Remove(strippedCode);
                            cultureCodeStrippedToUrlMapping.Add(strippedCode, label.TopWebUrl);
                        }
                    }
                }
            }
            return null;
        }
        private CultureInfo GetLabelCultureInfo(VariationLabel label)
        {
            if (PropertiesOnLabelToUse.Locale == this.propertyOnLabelToUse)
            {
                return new CultureInfo(Convert.ToInt32(label.Locale, CultureInfo.InvariantCulture));
            }
            else
            {
                return new CultureInfo(label.Language);
            }
        }

 

…\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES\VariationsRootLanding.ascx