Ejemplo n.º 1
0
        /// <summary>
        ///     Load localization texts from and embedded json file
        /// </summary>
        /// <param name="assembly"></param>
        /// <param name="resourceId"></param>
        /// <param name="caseSensitivity">Case sensitivity when searching for property names</param>
        /// <param name="jsonMaxDepth">
        ///     <see cref="JsonDocumentOptions.MaxDepth" />
        /// </param>
        public JsonLocalizationSource(Assembly assembly, string resourceId, PropertyCaseSensitivity caseSensitivity,
                                      int jsonMaxDepth = 128)
        {
            this.caseSensitivity = caseSensitivity;
            var em   = new EmbdRes(assembly);
            var json = em.ReadAsString(resourceId);

            root = ToRootElement(json, jsonMaxDepth);
        }
 private static ILocalizer GetLocalizer(PropertyCaseSensitivity caseSensitivity)
 {
     return(new Localizer(
                source: new JsonLocalizationSource(
                    assembly: Assembly.GetExecutingAssembly(),
                    resourceId: $"{typeof(EmbeddedResourceTranslationTests).Namespace}.embedded.json",
                    caseSensitivity: caseSensitivity
                    )
                ));
 }
Ejemplo n.º 3
0
        /// <summary>
        ///     Load localization texts from an <see cref="Stream" />
        /// </summary>
        /// <param name="stream"></param>
        /// <param name="caseSensitivity">Case sensitivity when searching for property names</param>
        /// <param name="jsonMaxDepth">
        ///     <see cref="JsonDocumentOptions.MaxDepth" />
        /// </param>
        public JsonLocalizationSource(Stream stream, PropertyCaseSensitivity caseSensitivity, int jsonMaxDepth = 128)
        {
            this.caseSensitivity = caseSensitivity;
            string json;

            using (var sr = new StreamReader(stream))
            {
                json = sr.ReadToEnd();
            }

            root = ToRootElement(json, jsonMaxDepth);
        }
Ejemplo n.º 4
0
 /// <summary>
 ///     Load localization texts from a json file residing on the disk
 /// </summary>
 /// <param name="file"></param>
 /// <param name="caseSensitivity">Case sensitivity when searching for property names</param>
 /// <param name="jsonMaxDepth">
 ///     <see cref="JsonDocumentOptions.MaxDepth" />
 /// </param>
 public JsonLocalizationSource(FileInfo file, PropertyCaseSensitivity caseSensitivity, int jsonMaxDepth = 128)
     : this(file.OpenRead(), caseSensitivity, jsonMaxDepth)
 {
 }
Ejemplo n.º 5
0
 /// <summary>
 /// </summary>
 /// <param name="jsonDocument">The json document. You freely can dispose json document after calling this constructor.</param>
 /// <param name="caseSensitivity">Case sensitivity when searching for property names</param>
 public JsonLocalizationSource(JsonDocument jsonDocument, PropertyCaseSensitivity caseSensitivity)
 {
     this.caseSensitivity = caseSensitivity;
     root = GetRootElement(jsonDocument);
 }