mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-14 19:04:51 +08:00
Merge
--HG-- branch : dev
This commit is contained in:
@@ -160,7 +160,7 @@ namespace Orchard.Setup.Services {
|
|||||||
// add default culture
|
// add default culture
|
||||||
var cultureManager = environment.Resolve<ICultureManager>();
|
var cultureManager = environment.Resolve<ICultureManager>();
|
||||||
cultureManager.AddCulture("en-US");
|
cultureManager.AddCulture("en-US");
|
||||||
cultureManager.AddCulture("fr-FR");
|
cultureManager.AddCulture("fr");
|
||||||
|
|
||||||
var contentManager = environment.Resolve<IContentManager>();
|
var contentManager = environment.Resolve<IContentManager>();
|
||||||
|
|
||||||
|
49
src/Orchard/Localization/Commands/CultureCommands.cs
Normal file
49
src/Orchard/Localization/Commands/CultureCommands.cs
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
using System.Linq;
|
||||||
|
using JetBrains.Annotations;
|
||||||
|
using Orchard.Commands;
|
||||||
|
using Orchard.Localization.Services;
|
||||||
|
using Orchard.Settings;
|
||||||
|
|
||||||
|
namespace Orchard.Localization.Commands {
|
||||||
|
public class CultureCommands : DefaultOrchardCommandHandler {
|
||||||
|
private readonly ICultureManager _cultureManager;
|
||||||
|
|
||||||
|
protected virtual ISite CurrentSite { get; [UsedImplicitly] private set; }
|
||||||
|
|
||||||
|
public CultureCommands(ICultureManager cultureManager) {
|
||||||
|
_cultureManager = cultureManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
[CommandHelp("cultures list \r\n\t" + "List site cultures")]
|
||||||
|
[CommandName("cultures list")]
|
||||||
|
public void ListCultures() {
|
||||||
|
Context.Output.WriteLine(T("Listing Cultures:"));
|
||||||
|
|
||||||
|
string cultures = _cultureManager.ListCultures().Aggregate<string, string>(null, (current, culture) => current + culture + " ");
|
||||||
|
|
||||||
|
Context.Output.WriteLine(cultures);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[CommandHelp("cultures get site culture \r\n\t" + "Get culture for the site")]
|
||||||
|
[CommandName("cultures get site culture")]
|
||||||
|
public void GetSiteCulture() {
|
||||||
|
Context.Output.WriteLine(T("Site Culture is {0}", CurrentSite.SiteCulture));
|
||||||
|
}
|
||||||
|
|
||||||
|
[CommandHelp("cultures set site culture <culture-name> \r\n\t" + "Set culture for the site")]
|
||||||
|
[CommandName("cultures set site culture")]
|
||||||
|
public void SetSiteCulture(string cultureName) {
|
||||||
|
Context.Output.WriteLine(T("Setting site culture to {0}", cultureName));
|
||||||
|
|
||||||
|
if (!_cultureManager.IsValidCulture(cultureName)) {
|
||||||
|
Context.Output.WriteLine(T("Supplied culture name {0} is not valid.", cultureName));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
CurrentSite.SiteCulture = cultureName;
|
||||||
|
|
||||||
|
Context.Output.WriteLine(T("Site culture set to {0} successfully", cultureName));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@@ -71,7 +71,7 @@ namespace Orchard.Localization.Services {
|
|||||||
// "<languagecode2>" or
|
// "<languagecode2>" or
|
||||||
// "<languagecode2>-<country/regioncode2>" or
|
// "<languagecode2>-<country/regioncode2>" or
|
||||||
// "<languagecode2>-<scripttag>-<country/regioncode2>"
|
// "<languagecode2>-<scripttag>-<country/regioncode2>"
|
||||||
private static bool IsValidCulture(string cultureName) {
|
public bool IsValidCulture(string cultureName) {
|
||||||
Regex cultureRegex = new Regex(@"\w{2}(-\w{2,})*");
|
Regex cultureRegex = new Regex(@"\w{2}(-\w{2,})*");
|
||||||
if (cultureRegex.IsMatch(cultureName)) {
|
if (cultureRegex.IsMatch(cultureName)) {
|
||||||
return true;
|
return true;
|
||||||
|
@@ -10,5 +10,6 @@ namespace Orchard.Localization.Services {
|
|||||||
string GetCurrentCulture(HttpContext requestContext);
|
string GetCurrentCulture(HttpContext requestContext);
|
||||||
CultureRecord GetCultureById(int id);
|
CultureRecord GetCultureById(int id);
|
||||||
string GetSiteCulture();
|
string GetSiteCulture();
|
||||||
|
bool IsValidCulture(string cultureName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -406,6 +406,7 @@
|
|||||||
<Compile Include="Environment\Extensions\Compilers\CSharpExtensionBuildProviderShim.cs" />
|
<Compile Include="Environment\Extensions\Compilers\CSharpExtensionBuildProviderShim.cs" />
|
||||||
<Compile Include="Environment\Extensions\Compilers\ProjectFileDescriptor.cs" />
|
<Compile Include="Environment\Extensions\Compilers\ProjectFileDescriptor.cs" />
|
||||||
<Compile Include="Environment\Extensions\Compilers\IProjectFileParser.cs" />
|
<Compile Include="Environment\Extensions\Compilers\IProjectFileParser.cs" />
|
||||||
|
<Compile Include="Localization\Commands\CultureCommands.cs" />
|
||||||
<Compile Include="Utility\DependencyOrderingUtility.cs" />
|
<Compile Include="Utility\DependencyOrderingUtility.cs" />
|
||||||
<Compile Include="Environment\IOrchardHostContainer.cs" />
|
<Compile Include="Environment\IOrchardHostContainer.cs" />
|
||||||
<Compile Include="Environment\IShim.cs" />
|
<Compile Include="Environment\IShim.cs" />
|
||||||
|
Reference in New Issue
Block a user