void ParseText()
    {
        if (mInData)
        {
            if (IsComment(mXmlReader.Value))
            {
                return;
            }


            if (mIsInHeaderRow)
            {
                ParseHeaderRow();
                return;
            }



            if (mCellIndex == kKeyCellIndex)
            {
                if (mLangCount == 0)
                {
                    // If the language count is not yet set, test if this is the header row.

                    if (mXmlReader.Value == kHeaderRowFirstCellContent)
                    {
                        mIsInHeaderRow = true;
                        return;
                    }
                }
            }

            if (mCellIndex == kKeyCellIndex)
            {
                // create new entry
                mCurrentEntry      = new CLocaEntry(mLangCount);
                mCurrentEntry.mKey = mXmlReader.Value;
                mLocaEntries.Add(mCurrentEntry);
            }
            else if (mCellIndex == kDescriptionCellIndex)
            {
                // Handle Description
                if (mCurrentEntry != null)
                {
                    mCurrentEntry.mDescription = mXmlReader.Value;
                }
            }
            else
            {
                if (mCurrentEntry != null)
                {
                    if ((mCellIndex - kFirstLanguageCellIndex) < mLangCount)
                    {
                        mCurrentEntry.mTranslations[mCellIndex - kFirstLanguageCellIndex] = mXmlReader.Value;
                    }
                }
            }
        }
    }
 public void Clear()
 {
     mLocaEntries   = new List <CLocaEntry>();
     mRowIndex      = 0;
     mCellIndex     = 0;
     mLangCount     = 0;
     mInData        = false;
     mIsInHeaderRow = false;
     mCurrentEntry  = null;
 }