public WrappedMultiCard(int quantity, ICard card, TranslationTable translationTable)
        {
            Quantity = quantity;
            Card = card;

            // IsRestricted = RestrictedListCheck.FindRestrictedCards(new[] { this }).Any();

            LocalizedNames = translationTable.GetTranslateItemFromEn(Name);
            if (LocalizedNames == null)
            {
                LocalizedNames = new TranslationItem();
            }

            LocalizationProvider.LocaleChanged += LocalizationProvider_LocaleChanged;
        }
        private void Read(string worksheetName)
        {
            var document = EmbeddedResourceHelper.ReadEmbeddedResourceXDocument("TranslationTableAll.xml", typeof(TranslationTable).Assembly);

            var root = document.Root
                .Elements()
                .First(e => e.Name.LocalName == "Worksheet" && e.Attributes().Any(a => a.Name.LocalName == "Name" && a.Value == worksheetName))
                .Elements().First(c => c.Name.LocalName == "Table");

            var rows = root.Elements().Where(e => e.Name.LocalName == "Row").ToArray();
            foreach (var row in rows)
            {
                var cells = row.Elements().Where(e => e.Name.LocalName == "Cell").ToArray();
                if (cells.Length >= 2)
                {
                    var en = ExtractDataValue(cells[0]);
                    var de = ExtractDataValue(cells[1]);

                    var translationItem = new TranslationItem
                    {
                        NameEn = en,
                        NameDe = de,

                        NameEnUpper = en.ToUpperInvariant(),
                        NameDeUpper = de.ToUpperInvariant(),
                    };

                    var key = translationItem.NameEn.ToUpperInvariant();
                    if (!string.IsNullOrEmpty(key)
                        && !_translationsEnToDe.ContainsKey(key))
                    {
                        _translationsEnToDe.Add(key, translationItem);
                    }

                    key = translationItem.NameDe.ToUpperInvariant();
                    if (!string.IsNullOrEmpty(key)
                        && !_translationsDeToEn.ContainsKey(key))
                    {
                        _translationsDeToEn.Add(key, translationItem);
                    }
                }
            }

            // Add some hard coded items:
            ////if (!_translationsDeToEn.ContainsKey("Eataine Warroom"))
            ////{
            ////    _translationsDeToEn.Add("Eataine Warroom", "Eataine War Room");
            ////}

            ////if (!_translationsDeToEn.ContainsKey("Etaine War Room"))
            ////{
            ////    _translationsDeToEn.Add("Etaine War Room", "Eataine War Room");
            ////}
        }