diff --git a/docs/Localization.md b/docs/Localization.md
index 0febed7bfa..ccde7b3185 100644
--- a/docs/Localization.md
+++ b/docs/Localization.md
@@ -147,4 +147,17 @@ Getting the localized text on the server side is pretty standard. So, you can re
##### Client Side
-TODO...
\ No newline at end of file
+ABP provides JavaScript services to use the same localized texts in the client side.
+
+Get a localization resource:
+
+````js
+var testResource = abp.localization.getResource('Test');
+````
+
+Localize a string:
+
+````js
+var str = testResource('HelloWorld');
+````
+
diff --git a/src/Volo.Abp.Localization/Volo/Abp/Localization/Json/JsonLocalizationDictionaryBuilder.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/Json/JsonLocalizationDictionaryBuilder.cs
index a7f11559dc..9e7e058be8 100644
--- a/src/Volo.Abp.Localization/Volo/Abp/Localization/Json/JsonLocalizationDictionaryBuilder.cs
+++ b/src/Volo.Abp.Localization/Volo/Abp/Localization/Json/JsonLocalizationDictionaryBuilder.cs
@@ -6,13 +6,7 @@ using Newtonsoft.Json.Serialization;
namespace Volo.Abp.Localization.Json
{
- ///
- /// This class is used to build a localization dictionary from json.
- ///
- ///
- /// Use static Build methods to create instance of this class.
- ///
- public class JsonLocalizationDictionaryBuilder
+ public static class JsonLocalizationDictionaryBuilder
{
///
/// Builds an from given file.
diff --git a/src/Volo.Abp.Localization/Volo/Abp/Localization/LocalizationResourceListExtensions.cs b/src/Volo.Abp.Localization/Volo/Abp/Localization/LocalizationResourceListExtensions.cs
index 656b3c59ff..d9c98d39d5 100644
--- a/src/Volo.Abp.Localization/Volo/Abp/Localization/LocalizationResourceListExtensions.cs
+++ b/src/Volo.Abp.Localization/Volo/Abp/Localization/LocalizationResourceListExtensions.cs
@@ -40,7 +40,7 @@ namespace Volo.Abp.Localization
{
Check.NotNull(resourceDictionary, nameof(resourceDictionary));
- GetResource(resourceDictionary).Extensions.Add(
+ resourceDictionary.GetResource().Extensions.Add(
new JsonEmbeddedFileLocalizationDictionaryProvider(
virtualPath
)
@@ -54,7 +54,7 @@ namespace Volo.Abp.Localization
Check.NotNull(resourceDictionary, nameof(resourceDictionary));
Check.NotNull(types, nameof(types));
- var resource = GetResource(resourceDictionary);
+ var resource = resourceDictionary.GetResource();
foreach (var type in types)
{
@@ -62,7 +62,7 @@ namespace Volo.Abp.Localization
}
}
- private static LocalizationResource GetResource(LocalizationResourceDictionary resourceDictionary)
+ public static LocalizationResource GetResource(this LocalizationResourceDictionary resourceDictionary)
{
var resourceType = typeof(TResource);