diff options
| author | LogicalPhallacy <44458166+LogicalPhallacy@users.noreply.github.com> | 2019-01-23 00:31:35 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-01-23 00:31:35 -0800 |
| commit | 404bd04cbc17dc8c8bf4a5c9aa3ca9c5cd85aa68 (patch) | |
| tree | 3d267c6ceef9439a034c113095e10e4d619e7c70 /Emby.Server.Implementations/TextEncoding/NLangDetect/Utils/Messages.cs | |
| parent | 8ff89fdc0c30f595a171ffc550f907ef22b6212a (diff) | |
| parent | e05e002b8bb4d13eb2b80b56a0aad8903ddb701e (diff) | |
Merge pull request #8 from jellyfin/master
rebase to latest master
Diffstat (limited to 'Emby.Server.Implementations/TextEncoding/NLangDetect/Utils/Messages.cs')
| -rw-r--r-- | Emby.Server.Implementations/TextEncoding/NLangDetect/Utils/Messages.cs | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/Emby.Server.Implementations/TextEncoding/NLangDetect/Utils/Messages.cs b/Emby.Server.Implementations/TextEncoding/NLangDetect/Utils/Messages.cs deleted file mode 100644 index 1d605cc47..000000000 --- a/Emby.Server.Implementations/TextEncoding/NLangDetect/Utils/Messages.cs +++ /dev/null @@ -1,91 +0,0 @@ -using System.Collections.Generic; -using System.Globalization; -using System.IO; -using System.Reflection; -using System.Text.RegularExpressions; -using System.Linq; -using System; - -namespace NLangDetect.Core.Utils -{ - public static class Messages - { - private static readonly Dictionary<string, string> _messages; - - static Messages() - { - _messages = LoadMessages(); - } - - public static string getString(string key) - { - string value; - - return - _messages.TryGetValue(key, out value) - ? value - : string.Format("!{0}!", key); - } - - private static Dictionary<string, string> LoadMessages() - { - var manifestName = typeof(Messages).Assembly.GetManifestResourceNames().FirstOrDefault(i => i.IndexOf("messages.properties", StringComparison.Ordinal) != -1) ; - - Stream messagesStream = - typeof(Messages).Assembly - .GetManifestResourceStream(manifestName); - - if (messagesStream == null) - { - throw new InternalException(string.Format("Couldn't get embedded resource named '{0}'.", manifestName)); - } - - using (messagesStream) - using (var sr = new StreamReader(messagesStream)) - { - var messages = new Dictionary<string, string>(); - - while (!sr.EndOfStream) - { - string line = sr.ReadLine(); - - if (string.IsNullOrEmpty(line)) - { - continue; - } - - string[] keyValue = line.Split('='); - - if (keyValue.Length != 2) - { - throw new InternalException(string.Format("Invalid format of the 'Messages.properties' resource. Offending line: '{0}'.", line.Trim())); - } - - string key = keyValue[0]; - string value = UnescapeUnicodeString(keyValue[1]); - - messages.Add(key, value); - } - - return messages; - } - } - - /// <remarks> - /// Taken from: http://stackoverflow.com/questions/1615559/converting-unicode-strings-to-escaped-ascii-string/1615860#1615860 - /// </remarks> - private static string UnescapeUnicodeString(string s) - { - if (s == null) - { - return null; - } - - return - Regex.Replace( - s, - @"\\u(?<Value>[a-zA-Z0-9]{4})", - match => ((char)int.Parse(match.Groups["Value"].Value, NumberStyles.HexNumber)).ToString()); - } - } -} |
