public static void LoadZipFile(ZipFile zip, string locale) { bool auto = string.IsNullOrEmpty(locale); foreach (ZipEntry entry in zip) { string path = entry.FileName; string name = Path.GetFileName(path); if (name != null && name.EndsWith(".properties", StringComparison.InvariantCultureIgnoreCase)) { name = Path.GetFileNameWithoutExtension(name); var rbStream = entry.OpenReader().ToMemoryStream(); var lines = rbStream.GetResourceBundleLines(); string loc = locale; if (auto) { string dir = Path.GetDirectoryName(path); loc = Path.GetFileName(dir); //TODO: check locale } var rb = new ResourceBundle { IsFlex = _isFlex, IsZipped = true, Name = name, Locale = loc, Content = lines, SourcePath = zip.Name, ZipEntry = path }; Register(rb); } } }
private static void Register(ResourceBundle rb) { string name = rb.Locale; var locale = GetLocale(name); if (locale == null) { locale = new Locale(); if (_isFlex && name.Equals(Const.Locales.en_US, StringComparison.InvariantCultureIgnoreCase)) { _localeEnUs = locale; } Locales.Add(name, locale); } locale.Add(rb); }
public void Add(ResourceBundle rb) { _rbcache.Add(rb.Name, rb); }