/// <summary> /// Main function used to translate words /// </summary> /// <param name="destinationLanguage">Which language to use fro translation</param> /// <returns>Return the translated string mathcing destination language or an error string</returns> public string Translate(Language destinationLanguage) { if (m_LocalizedStrings != null) { for (int i = 0; i < m_LocalizedStrings.Count; i++) { XmlTranslatorLocalizedElement CurrentElement = (XmlTranslatorLocalizedElement)m_LocalizedStrings.Items[i]; if (CurrentElement.LanguageUsed.Language == destinationLanguage) { return(CurrentElement.TranslatedString.String); } } } return(string.Format(CultureInfo.InvariantCulture, "NOT_FOUND_{0}_{1}", this.InternalName, destinationLanguage.ToString())); }
/// <summary> /// Add or update a word translation in a specific language /// </summary> /// <param name="destinationLanguage">Destination language</param> /// <param name="translatedText">Word translated into destination language</param> /// <param name="lastModifyingPerson">Just keep a trace of person who have modified this translation</param> /// <param name="lastModificationTime">Keep last modification time</param> /// <returns>Return true if an element have been updated, false otherwise</returns> public bool AddOrUpdate(Language destinationLanguage, string translatedText, string lastModifyingPerson, DateTime lastModificationTime) { bool TranslationUpdated = false; if (m_LocalizedStrings != null) { // Add or update for (int i = 0; i < m_LocalizedStrings.Count; i++) { XmlTranslatorLocalizedElement CurrentElement = (XmlTranslatorLocalizedElement)m_LocalizedStrings.Items[i]; if (CurrentElement.LanguageUsed.Language == destinationLanguage) { // Update element CurrentElement.TranslatedString = new XmlString(translatedText); CurrentElement.LastModifyingPerson = new XmlString(lastModifyingPerson); CurrentElement.LastModified = new XmlDateTime(lastModificationTime); TranslationUpdated = true; break; } } } else { // Create list m_LocalizedStrings = new XmlList(); } if (!TranslationUpdated) { // Add new translation XmlTranslatorLocalizedElement NewElement = new XmlTranslatorLocalizedElement(destinationLanguage, translatedText, lastModifyingPerson, lastModificationTime); m_LocalizedStrings.Add(NewElement); } return(TranslationUpdated); }
/// <summary> /// Add or update a word translation in a specific language /// </summary> /// <param name="destinationLanguage">Destination language</param> /// <param name="translatedText">Word translated into destination language</param> /// <param name="lastModifyingPerson">Just keep a trace of person who have modified this translation</param> /// <param name="lastModificationTime">Keep last modification time</param> /// <returns>Return true if an element have been updated, false otherwise</returns> public bool AddOrUpdate (Language destinationLanguage, string translatedText, string lastModifyingPerson, DateTime lastModificationTime) { bool TranslationUpdated = false; if (m_LocalizedStrings != null) { // Add or update for (int i = 0; i < m_LocalizedStrings.Count; i++) { XmlTranslatorLocalizedElement CurrentElement = (XmlTranslatorLocalizedElement)m_LocalizedStrings.Items[i]; if (CurrentElement.LanguageUsed.Language == destinationLanguage) { // Update element CurrentElement.TranslatedString = new XmlString (translatedText); CurrentElement.LastModifyingPerson = new XmlString (lastModifyingPerson); CurrentElement.LastModified = new XmlDateTime(lastModificationTime); TranslationUpdated = true; break; } } } else { // Create list m_LocalizedStrings = new XmlList (); } if (!TranslationUpdated) { // Add new translation XmlTranslatorLocalizedElement NewElement = new XmlTranslatorLocalizedElement (destinationLanguage, translatedText, lastModifyingPerson, lastModificationTime); m_LocalizedStrings.Add (NewElement); } return TranslationUpdated; }