)>}]
شركة التطبيقات المتكاملة لتصميم وبرمجة البرمجيات الخاصة ش.ش.و.
Integrated Applications Programming Company
Skip Navigation LinksHome » Code Library » Translation

Public general use code classes and xml files that we've compiled and used over the years:

Koran Reference Network Class Library support functions: Data model

    1: using System;
    2: using System.Web;
    3: using System.Xml;
    4: using System.Xml.XPath;
    5: using System.Xml.Xsl;
    6: using System.Configuration;
    7: using System.IO;
    8: using System.Text;
    9: using System.Collections;
   10: using System.Text.RegularExpressions;
   11: using System.Linq;
   12: using System.Xml.Linq;
   13: using System.Reflection;
   14: using System.Globalization;
   15:  
   16: namespace Ia.Islamic.Cl.Model
   17: {
   18:     ////////////////////////////////////////////////////////////////////////////
   19:  
   20:     /// <summary publish="true">
   21:     /// Koran Reference Network Class Library support functions: Data model
   22:     /// </summary>
   23:     /// <value>
   24:     /// https://msdn.microsoft.com/en-us/library/z1hkazw7(v=vs.100).aspx
   25:     /// </value>
   26:     /// <remarks> 
   27:     /// Copyright © 2001-2015 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
   28:     ///
   29:     /// This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
   30:     /// the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
   31:     ///
   32:     /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
   33:     /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
   34:     /// 
   35:     /// You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses.
   36:     /// 
   37:     /// Copyright notice: This notice may not be removed or altered from any source distribution.
   38:     /// </remarks> 
   39:     ////////////////////////////////////////////////////////////////////////////
   40:  
   41:     /// <summary>
   42:     /// 
   43:     /// </summary>
   44:     /// <remarks></remarks>
   45:     public class Translation
   46:     {
   47:         private static XDocument xd;
   48:         private XElement xe;
   49:  
   50:         /// <summary/>
   51:         public string Id { get; set; }
   52:         /// <summary/>
   53:         public string MainName { get; set; }
   54:         /// <summary/>
   55:         public string MainHome { get; set; }
   56:         /// <summary/>
   57:         public string MainTitle { get; set; }
   58:         /// <summary/>
   59:         public string MainMeta { get; set; }
   60:         /// <summary/>
   61:         public string MainBismillah { get; set; }
   62:         /// <summary/>
   63:         public string IntroductionName { get; set; }
   64:  
   65:         /// <summary/>
   66:         public string SearchTitle { get; set; }
   67:         /// <summary/>
   68:         public string SearchInstruction { get; set; }
   69:         /// <summary/>
   70:         public string SearchHintName { get; set; }
   71:         /// <summary/>
   72:         public string SearchHint { get; set; }
   73:         /// <summary/>
   74:         public string SearchButton { get; set; }
   75:         /// <summary/>
   76:         public string SearchCase { get; set; }
   77:         /// <summary/>
   78:         public string SearchBackwards { get; set; }
   79:  
   80:         /// <summary/>
   81:         public string ResultEmptyField { get; set; }
   82:         /// <summary/>
   83:         public string ResultTitle { get; set; }
   84:         /// <summary/>
   85:         public string ResultSpace { get; set; }
   86:         /// <summary/>
   87:         public string ResultPeriod { get; set; }
   88:         /// <summary/>
   89:         public string ResultComma { get; set; }
   90:         /// <summary/>
   91:         public string ResultOnly { get; set; }
   92:         /// <summary/>
   93:         public string ResultSearchForWord { get; set; }
   94:         /// <summary/>
   95:         public string ResultSearchForWordEnd { get; set; }
   96:         /// <summary/>
   97:         public string ResultSearchForWords { get; set; }
   98:         /// <summary/>
   99:         public string ResultSearchForWordsEnd { get; set; }
  100:         /// <summary/>
  101:         public string ResultQuoteOn { get; set; }
  102:         /// <summary/>
  103:         public string ResultQuoteOff { get; set; }
  104:         /// <summary/>
  105:         public string ResultAnd { get; set; }
  106:         /// <summary/>
  107:         public string ResultSearchIs { get; set; }
  108:         /// <summary/>
  109:         public string ResultSensitiveForWord { get; set; }
  110:         /// <summary/>
  111:         public string ResultSensitiveForWords { get; set; }
  112:         /// <summary/>
  113:         public string ResultWildcards { get; set; }
  114:         /// <summary/>
  115:         public string ResultTheWord { get; set; }
  116:         /// <summary/>
  117:         public string ResultTheWords { get; set; }
  118:         /// <summary/>
  119:         public string ResultWasNotFound { get; set; }
  120:         /// <summary/>
  121:         public string ResultWereNotFound { get; set; }
  122:         /// <summary/>
  123:         public string ResultAppearsIn { get; set; }
  124:         /// <summary/>
  125:         public string ResultNumberOfAppearWords { get; set; }
  126:         /// <summary/>
  127:         public string ResultOneVerse { get; set; }
  128:         /// <summary/>
  129:         public string ResultManyVerses { get; set; }
  130:         /// <summary/>
  131:         public string ResultNotAllTogether { get; set; }
  132:         /// <summary/>
  133:         public string ResultAll { get; set; }
  134:         /// <summary/>
  135:         public string ResultStartingVerse { get; set; }
  136:         /// <summary/>
  137:         public string ResultStartingVerseEnd { get; set; }
  138:         /// <summary/>
  139:         public string ResultNext { get; set; }
  140:  
  141:         ////////////////////////////////////////////////////////////////////////////
  142:  
  143:         /// <summary>
  144:         /// 
  145:         /// </summary>
  146:         public Translation(string langaugeId)
  147:         {
  148:             xe = (from q in XDocument.Elements("language").Elements("lang") where q.Attribute("symbol").Value == langaugeId select q).First();
  149:  
  150:             this.MainName = xe.Element("main").Attribute("name").Value;
  151:             this.MainHome = xe.Element("main").Element("home").Value;
  152:             this.MainTitle = xe.Element("main").Element("title").Value;
  153:             this.MainMeta = xe.Element("main").Element("meta").Value;
  154:             this.MainBismillah = xe.Element("main").Element("bismillah").Value;
  155:         
  156:             this.IntroductionName = xe.Element("intro").Attribute("name").Value;
  157:  
  158:             this.SearchTitle = xe.Element("search").Element("main").Element("title").Value;
  159:             this.SearchInstruction = xe.Element("search").Element("main").Element("instruction").Value;
  160:             this.SearchHintName = xe.Element("search").Element("main").Element("hint").Attribute("name").Value;
  161:             this.SearchHint = xe.Element("search").Element("main").Element("hint").Value;
  162:             this.SearchButton = xe.Element("search").Element("main").Element("button").Value;
  163:             this.SearchCase = xe.Element("search").Element("main").Element("case").Value;
  164:             this.SearchBackwards = xe.Element("search").Element("main").Element("backwards").Value;
  165:  
  166:             this.ResultEmptyField = xe.Element("search").Element("result").Element("empty_field").Value;
  167:             this.ResultTitle = xe.Element("search").Element("result").Element("title").Value;
  168:             this.ResultSpace = xe.Element("search").Element("result").Element("space").Value;
  169:             this.ResultPeriod = xe.Element("search").Element("result").Element("period").Value;
  170:             this.ResultComma = xe.Element("search").Element("result").Element("comma").Value;
  171:  
  172:             this.ResultOnly = xe.Element("search").Element("result").Element("only").Value;
  173:             this.ResultSearchForWord = xe.Element("search").Element("result").Element("search_for_word").Value;
  174:             this.ResultSearchForWords = xe.Element("search").Element("result").Element("search_for_words").Value;
  175:             this.ResultSearchForWordEnd = xe.Element("search").Element("result").Element("search_for_word_end").Value;
  176:             this.ResultSearchForWordsEnd = xe.Element("search").Element("result").Element("search_for_words_end").Value;
  177:             this.ResultQuoteOn = xe.Element("search").Element("result").Element("quote_on").Value;
  178:             this.ResultQuoteOff = xe.Element("search").Element("result").Element("quote_off").Value;
  179:             this.ResultAnd = xe.Element("search").Element("result").Element("and").Value;
  180:             this.ResultSearchIs = xe.Element("search").Element("result").Element("search_is").Value;
  181:             this.ResultSensitiveForWord = xe.Element("search").Element("result").Element("sensitive_for_word").Value;
  182:             this.ResultSensitiveForWords = xe.Element("search").Element("result").Element("sensitive_for_words").Value;
  183:             this.ResultWildcards = xe.Element("search").Element("result").Element("wildcards").Value;
  184:             this.ResultTheWord = xe.Element("search").Element("result").Element("the_word").Value;
  185:  
  186:             this.ResultWasNotFound = xe.Element("search").Element("result").Element("was_not_found").Value;
  187:             this.ResultTheWords = xe.Element("search").Element("result").Element("the_words").Value;
  188:             this.ResultWereNotFound = xe.Element("search").Element("result").Element("were_not_found").Value;
  189:             this.ResultAppearsIn = xe.Element("search").Element("result").Element("appears_in").Value;
  190:             this.ResultNumberOfAppearWords = xe.Element("search").Element("result").Element("number_of_appear_words").Value;
  191:             this.ResultOneVerse = xe.Element("search").Element("result").Element("one_verse").Value;
  192:  
  193:             this.ResultManyVerses = xe.Element("search").Element("result").Element("many_verses").Value;
  194:             this.ResultNotAllTogether = xe.Element("search").Element("result").Element("not_all_together").Value;
  195:             this.ResultAll = xe.Element("search").Element("result").Element("all").Value;
  196:             this.ResultStartingVerse = xe.Element("search").Element("result").Element("starting_verse").Value;
  197:             this.ResultStartingVerseEnd = xe.Element("search").Element("result").Element("starting_verse_end").Value;
  198:             this.ResultNext = xe.Element("search").Element("result").Element("next").Value;
  199:         }
  200:  
  201:         ////////////////////////////////////////////////////////////////////////////
  202:  
  203:         /// <summary>
  204:         /// 
  205:         /// How to embed and access resources by using Visual C# http://support.microsoft.com/kb/319292/en-us
  206:         /// 
  207:         /// 1. Change the "Build Action" property of your XML file from "Content" to "Embedded Resource".
  208:         /// 2. Add "using System.Reflection".
  209:         /// 3. Manifest resource stream will start with the project namespace, the location of XML file.
  210:         /// 
  211:         /// </summary>
  212:          
  213:         private XDocument XDocument
  214:         {
  215:             get
  216:             {
  217:                 Assembly _assembly;
  218:                 StreamReader streamReader;
  219:  
  220:                 xd = null;
  221:                 _assembly = Assembly.GetExecutingAssembly();
  222:                 streamReader = new StreamReader(_assembly.GetManifestResourceStream("Ia.Islamic.Cl.model.translation.xml"));
  223:  
  224:                 try
  225:                 {
  226:                     if (streamReader.Peek() != -1)
  227:                     {
  228:                         xd = System.Xml.Linq.XDocument.Load(streamReader);
  229:                     }
  230:                 }
  231:                 catch (Exception)
  232:                 {
  233:                 }
  234:                 finally
  235:                 {
  236:                 }
  237:  
  238:                 return xd;
  239:             }
  240:         }
  241:  
  242:         ////////////////////////////////////////////////////////////////////////////
  243:         ////////////////////////////////////////////////////////////////////////////
  244:     }
  245: }