static void Main(string[] args)
        {
            var baseCulture   = "english";
            var targetCulture = "german";

            if (args.Length >= 1)
            {
                baseCulture = args[0];
            }

            if (args.Length >= 2)
            {
                targetCulture = args[1];
            }

            var basePath = ".";

            if (args.Length >= 3)
            {
                basePath = args[2];
            }

            var modRepository = new ModRepository(@basePath);

            var modsWithoutGerman = modRepository
                                    .GetAllMods()
                                    .Where(it =>
                                           it.LocalizationFiles.Count > 0 &&
                                           !it.LocalizationFiles.Any(lf =>
                                                                     lf.FileName.Contains(targetCulture, StringComparison.OrdinalIgnoreCase)));

            var zip = new ZipService();

            foreach (var mod in modsWithoutGerman)
            {
                System.Console.WriteLine("--------------");
                System.Console.WriteLine($"{mod.ID} - {mod.Name}");
                foreach (var localizationFile in mod.LocalizationFiles)
                {
                    System.Console.WriteLine($"\t{localizationFile.FileName}");
                }

                var tempFolder = Path.Combine(Path.GetDirectoryName(mod.Location), "temp");
                zip.Extract(mod.Location, tempFolder);
                new TranslationService().Multiply(tempFolder, baseCulture, new [] { targetCulture });
                zip.Compress(tempFolder, mod.Location, ZipService.CompressMode.Backup);

                Directory.Delete(tempFolder, true);
                System.Console.WriteLine("--------------");
            }
        }