#19694: Adding a language check in culture-lang('en') for example

Work Item: 19694
This commit is contained in:
Nicholas Mayne
2014-10-12 16:00:56 +01:00
parent f6d552b28c
commit cc6da3c7db
@@ -27,6 +27,10 @@ namespace Orchard.Localization.RuleEngine {
if (String.Equals(ruleContext.FunctionName, "culture-isrtl", StringComparison.OrdinalIgnoreCase)) {
ProcessCurrentCultureIsRtl(ruleContext);
}
if (String.Equals(ruleContext.FunctionName, "culture-lang", StringComparison.OrdinalIgnoreCase)) {
ProcessLanguageCode(ruleContext);
}
}
private void ProcessCurrentCultureIsRtl(dynamic ruleContext) {
@@ -48,6 +52,15 @@ namespace Orchard.Localization.RuleEngine {
.Any(c => c.Name == currentUserCulture.Name);
}
private void ProcessLanguageCode(dynamic ruleContext) {
var currentUserCulture = CultureInfo.GetCultureInfo(_workContext.CurrentCulture);
ruleContext.Result = ((object[])ruleContext.Arguments)
.Cast<string>()
.Select(CultureInfo.GetCultureInfo)
.Any(c => c.Name == currentUserCulture.TwoLetterISOLanguageName);
}
private void ProcessCultureId(dynamic ruleContext) {
var currentUserCulture = CultureInfo.GetCultureInfo(_workContext.CurrentCulture);