public void Save()
{
string emptyLanguage = EmptyLanguagePhp.Replace("%LANGNAME%", Name);
List<string[]> langVarRows = new List<string[]>(TranslationEntities.Count);
int langVarNameMaxLen = 0;
foreach (KeyValuePair<string, TranslationEntity> translationKeyValuePairEntity in TranslationEntities)
{
string langVarValue = translationKeyValuePairEntity.Value.Translation;
if (string.IsNullOrEmpty(langVarValue) || langVarValue.Trim().Length == 0)
{
continue;
}
string langVarName = string.Format("$language_pack['{0}']", translationKeyValuePairEntity.Key);
int langVarNameLen = langVarName.Length;
if (langVarNameMaxLen < langVarNameLen)
{
langVarNameMaxLen = langVarNameLen;
}
langVarRows.Add(new[] { langVarName, langVarValue });
}
StringBuilder sb = new StringBuilder();
foreach (string[] langVarRow in langVarRows)
{
sb.AppendLine(string.Format("{0} = \"{1}\";", langVarRow[0].PadRight(langVarNameMaxLen), langVarRow[1]));
}
emptyLanguage = emptyLanguage.Replace("%LANGPACKROWS%", sb.ToString());
using (StreamWriter sw = new StreamWriter(Filename, false, Encoding.UTF8))
{
sw.Write(emptyLanguage);
}
Edited = false;
foreach (TranslationEntity translationEntity in TranslationEntities.Values)
{
translationEntity.Edited = false;
}
}