/Source/Bifrost/Globalization/Localizer.cs

# · C# · 51 lines · 24 code · 5 blank · 22 comment · 0 complexity · bac7030d6d3c693de5c1d9832c5e4a54 MD5 · raw file

  1. #region License
  2. //
  3. // Copyright (c) 2008-2012, DoLittle Studios and Komplett ASA
  4. //
  5. // Licensed under the Microsoft Permissive License (Ms-PL), Version 1.1 (the "License")
  6. // With one exception :
  7. // Commercial libraries that is based partly or fully on Bifrost and is sold commercially,
  8. // must obtain a commercial license.
  9. //
  10. // You may not use this file except in compliance with the License.
  11. // You may obtain a copy of the license at
  12. //
  13. // http://bifrost.codeplex.com/license
  14. //
  15. // Unless required by applicable law or agreed to in writing, software
  16. // distributed under the License is distributed on an "AS IS" BASIS,
  17. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  18. // See the License for the specific language governing permissions and
  19. // limitations under the License.
  20. //
  21. #endregion
  22. using System.Threading;
  23. using Bifrost.Configuration;
  24. namespace Bifrost.Globalization
  25. {
  26. /// <summary>
  27. /// Represents a <see cref="ILocalizer"/>
  28. /// </summary>
  29. public class Localizer : ILocalizer
  30. {
  31. #pragma warning disable 1591 // Xml Comments
  32. public LocalizationScope BeginScope()
  33. {
  34. var scope = LocalizationScope.FromCurrentThread();
  35. Thread.CurrentThread.CurrentCulture = Configure.Instance.Culture;
  36. Thread.CurrentThread.CurrentUICulture = Configure.Instance.UICulture;
  37. return scope;
  38. }
  39. public void EndScope(LocalizationScope scope)
  40. {
  41. Thread.CurrentThread.CurrentCulture = scope.Culture;
  42. Thread.CurrentThread.CurrentUICulture = scope.UICulture;
  43. }
  44. #pragma warning restore 1591 // Xml Comments
  45. }
  46. }