Как преобразовать .xlsx (excelsheet) в файл .resx (файл ресурсов)? - PullRequest
0 голосов
/ 27 июня 2019

Я имею дело с глобальным приложением. У нас есть 5-6 языковых переводов и создано множество файлов ресурсов. Я хочу, чтобы какой-нибудь хак или техника конвертировали файл Excel в файл ресурсов.

Мы вручную добавили перевод, используя копирование + вставку, но это неосуществимое решение

<code><pre>
English     Spanish         German          Czech
Add Color   Añadir Color    Neue Farbe      Nová barva
Add Defect  Añadir Defecto  Neuer Defekt    Nová chyba

Существует более * 200 слов (200 * 6 язык = 1200 Копировать + вставить) * Есть ли способ конвертировать Excel в файл Resx?

1 Ответ

0 голосов
/ 27 июня 2019

Вы можете читать или записывать в файл ресурсов, используя следующий код:

using (var reader = new ResXResourceReader(AppDomain.CurrentDomain.BaseDirectory
                    + @"Properties\Resources.resx"))
                {
                    Entries = reader.Cast<DictionaryEntry>().ToList();
                    var existingResource = Entries.Where(r => r.Key.ToString().ToLower()
                    == Key.ToLower()).FirstOrDefault();
                    if (existingResource.Key == null && existingResource.Value == null)
                    {
                        Entries.Add(new DictionaryEntry() { Key = Key, Value = Value });
                    }
                    else
                    {
                        var modifiedResx = new DictionaryEntry()
                        { Key = existingResource.Key, Value = Value };
                        Entries.Remove(existingResource);
                        Entries.Add(modifiedResx);
                    }
                }
                using (var writer = new ResXResourceWriter(AppDomain.CurrentDomain.BaseDirectory
                    + @"Properties\Resources.resx"))
                {
                    Entries.ForEach(r =>
                    {
                        writer.AddResource(r.Key.ToString(), r.Value.ToString());
                    });
                    writer.Generate();
                }

Считайте свое превосходство в список, выполните цикл и используйте приведенный выше код для чтения / записи в него.Надеюсь, это поможет вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...