Esempio n. 1
0
        private static int RunWrite(WriteOptions o)
        {
            var doc = new xlflib.XlfDocument(o.XlfFile);

            doc.SaveAsResX(o.ResXFile, o.IsSorted ? xlflib.XlfDocument.SaveMode.Sorted : xlflib.XlfDocument.SaveMode.Default);
            return(0);
        }
Esempio n. 2
0
        private static int RunUpdate(UpdateOptions o)
        {
            if (!File.Exists(o.XlfFile))
            {
                Console.Error.WriteLine("error, file not found: " + o.XlfFile);
                return(2);
            }
            var doc = new xlflib.XlfDocument(o.XlfFile);

            if (string.IsNullOrWhiteSpace(o.ResXFile))
            {
                o.ResXFile = Path.Combine(Path.GetDirectoryName(o.XlfFile), doc.Files[0].Original);
            }
            if (!File.Exists(o.ResXFile))
            {
                Console.Error.WriteLine("error, file not found: " + o.ResXFile);
                return(2);
            }
            var result = doc.UpdateFromResX(o.ResXFile);

            if (o.IsVerbose)
            {
                var msg = string.Empty;
                if (result.Item1 == 0 && result.Item2 == 0 && result.Item3 == 0)
                {
                    msg = "already up-to-date";
                }
                else
                {
                    if (result.Item1 > 0)
                    {
                        msg += string.Format("{0} item{1} updated", result.Item1, result.Item1 == 1 ? "" : "s");
                    }

                    if (result.Item2 > 0)
                    {
                        if (msg.Length > 0)
                        {
                            msg += "/";
                        }
                        msg += string.Format("{0} item{1} added", result.Item2, result.Item2 == 1 ? "" : "s");
                    }

                    if (result.Item3 > 0)
                    {
                        if (msg.Length > 0)
                        {
                            msg += "/";
                        }
                        msg += string.Format("{0} item{1} removed", result.Item3, result.Item3 == 1 ? "" : "s");
                    }
                }

                Console.WriteLine(msg);
            }

            doc.Save();
            return(0);
        }
Esempio n. 3
0
        private static int RunDefault(DefaultOptions o)
        {
            var doc = new xlflib.XlfDocument(o.XlfFile);

            Console.WriteLine("file: " + doc.FileName);
            Console.WriteLine("XLIFF version: " + doc.Version);
            Console.WriteLine("file sections: " + doc.Files.Count);
            var n = 1;

            foreach (var f in doc.Files)
            {
                Console.WriteLine(">" + n + " data type: " + f.DataType);
                Console.WriteLine(">" + n + " original: " + f.Original);
                Console.WriteLine(">" + n + " source language: " + f.SourceLang);
                Console.WriteLine(">" + n + " target language: " + f.Optional.TargetLang);
                Console.WriteLine(">" + n + " tool id: " + f.Optional.ToolId);
                Console.WriteLine(">" + n + " translation units: " + f.TransUnits.Count);
            }

            return(0);
        }