Пример #1
0
        /// <summary>
        /// Efface la page '*tladata' jusqu'a la fin du fichier
        /// </summary>
        /// <param name="MyFile"></param>
        public static void EraseTlaData(this KsFile MyFile)
        {
            var matches = Regex.Matches(MyFile.TextString, @"\*tladata");

            if (matches.Count > 0)
            {
                MyFile.TextString = MyFile.TextString.Remove(matches[matches.Count - 1].Index);
            }
        }
Пример #2
0
 /// <summary>
 /// Efface toutes les balises '[l][r]' ou '[lr]'.
 /// </summary>
 /// <param name="MyFile">Fichier à nettoyer.</param>
 public static void EraseLR(this KsFile MyFile, bool isRealtaNua)
 {
     if (isRealtaNua)
     {
         MyFile.TextString = Regex.Replace(MyFile.TextString, "[[]lr[]]", string.Empty);
     }
     else
     {
         MyFile.TextString = Regex.Replace(MyFile.TextString, "[[]l[]][[]r[]]", string.Empty);
     }
 }
Пример #3
0
        /// <summary>
        /// Compte le nombre de mot de la liste de lignes d'un Fichier.
        /// </summary>
        /// <param name="MyFile">Fichier à traiter.</param>
        /// <returns>Nombre de pages du Fichiers.</returns>
        public static Int32 CountWord(this KsFile MyFile)
        {
            Regex myRegex = new Regex(@"\w");

            int nbWords = (from line in MyFile.Lines
                           from word in line.Split(null)
                           where myRegex.IsMatch(word)
                           select word).Count();

            return(nbWords);
        }
Пример #4
0
        /// <summary>
        /// Remplace les lignes de texte d'un fichier scripté
        /// par les lignes de texte d'un fichier nettoyé.
        /// </summary>
        /// <param name="MyFile">Fichier scripté.</param>
        /// <param name="TranslatedFile">Fichier nettoyé.</param>
        public static void ReplaceText(KsFile MyFile, KsFile TranslatedFile)
        {
            //On récupère toutes les lignes de texte du fichier nettoyé (logiquement celui traduit)
            List <string> TranslatedLines = TranslatedFile.Lines.FindAll(tl => !tl.IsTechnical());

            //Tant qu'il reste des lignes du fichier scripté à lire
            //ET des lignes de traduction à recopier
            for (int line = 0, translatedLine = 0;
                 (line < MyFile.Lines.Count) && (translatedLine < TranslatedLines.Count); line++)
            {
                //Si la ligne du fichier scripté est une ligne de texte
                if (!MyFile.Lines[line].IsTechnical())
                {
                    //On la remplace par la ligne traduite
                    MyFile.Lines[line] = TranslatedLines[translatedLine];
                    //et on passe a la ligne de traduction suivante, prête à être recopier
                    translatedLine++;
                }
            }
        }
Пример #5
0
 /// <summary>
 /// Efface toutes les lignes 'pageX'.
 /// </summary>
 /// <param name="MyFile">Fichier à nettoyer.</param>
 public static void ErasePage(this KsFile MyFile)
 {
     MyFile.TextString = Regex.Replace(MyFile.TextString, @"[*].*\n", string.Empty);
 }
Пример #6
0
 /// <summary>
 /// Efface toutes les balises '[r]'.
 /// </summary>
 /// <param name="MyFile">Fichier à nettoyer.</param>
 public static void EraseSlashR(this KsFile MyFile)
 {
     MyFile.TextString = Regex.Replace(MyFile.TextString, "[\r]", string.Empty);
 }
Пример #7
0
 /// <summary>
 /// Efface une couche de balises de Wrap.
 /// </summary>
 /// <param name="MyFile">Fichier à nettoyer.</param>
 public static void EraseWrap(this KsFile MyFile)
 {
     MyFile.TextString = Regex.Replace(MyFile.TextString, "[[]wrap text=\".*?\"[]]", string.Empty);
 }
Пример #8
0
 /// <summary>
 /// Efface toutes les lignes de commentaire.
 /// </summary>
 /// <param name="MyFile">Fichier à nettoyer.</param>
 public static void EraseCommentedScript(this KsFile MyFile)
 {
     MyFile.TextString = Regex.Replace(MyFile.TextString, "^;@.*\n", string.Empty, RegexOptions.Multiline);
 }
Пример #9
0
 /// <summary>
 /// Efface toutes les lignes de doublage.
 /// </summary>
 /// <param name="MyFile">Fichier à nettoyer.</param>
 public static void EraseSay(this KsFile MyFile)
 {
     MyFile.TextString = Regex.Replace(MyFile.TextString, @"^@say.*\n", string.Empty);
 }
Пример #10
0
 /// <summary>
 /// Remplace les doubles quotes par des guillemets.
 /// </summary>
 /// <param name="MyFile">Fichier à nettoyer.</param>
 public static void ReplaceDoubleQuote(this KsFile MyFile)
 {
     MyFile.TextString = Regex.Replace(MyFile.TextString, " \"", " « ");
     MyFile.TextString = Regex.Replace(MyFile.TextString, "\"", " »");
 }
Пример #11
0
 /// <summary>
 /// Remplace les apostrophes par des simples quotes.
 /// </summary>
 /// <param name="MyFile">Fichier à nettoyer.</param>
 public static void ReplaceApostrophe(this KsFile MyFile)
 {
     MyFile.TextString = Regex.Replace(MyFile.TextString, "‘", "'");
 }
Пример #12
0
 /// <summary>
 /// Efface toutes les lignes de script.
 /// </summary>
 /// <param name="MyFile">Fichier à nettoyer.</param>
 public static void EraseScript(this KsFile MyFile)
 {
     MyFile.EraseTlaData();
     MyFile.TextString = Regex.Replace(MyFile.TextString, @"@.*\n", string.Empty);
 }
Пример #13
0
        /// <summary>
        /// Compte le nombre de page d'un Fichier.
        /// </summary>
        /// <param name="MyFile">Fichier à traiter.</param>
        /// <returns>Nombre de pages du Fichier.</returns>
        public static int CountPage(this KsFile MyFile)
        {
            MatchCollection MyMatchCollection = Regex.Matches(MyFile.TextString, "[*]page");

            return(MyMatchCollection.Count);
        }
Пример #14
0
 /// <summary>
 /// Efface les balises '[lineX]'.
 /// </summary>
 /// <param name="MyFile">Fichier à nettoyer.</param>
 public static void EraseLineX(this KsFile MyFile)
 {
     MyFile.TextString = Regex.Replace(MyFile.TextString, @"[[]line.*[]]", string.Empty);
 }