コード例 #1
0
        private static ITranslationCache SetUp(Mock <ITranslationRepository> repository)
        {
            var memoryCache = new MemoryCache(new MemoryCacheOptions());
            var cache       = new TranslationCache(repository.Object, memoryCache);

            return(cache);
        }
コード例 #2
0
 /// <summary>
 /// Creates an instance of the class
 /// </summary>
 public WebTranslationService()
 {
     if (null == LanguageModeMap)
     {
         LanguageModeMap = new Dictionary<string, string>();
         InitLanguageMap(LanguageModeMap);
     }
     Cache = new TranslationCache();
 }
コード例 #3
0
 private void LoadTranslations()
 {
     try
     {
         m_Translation = TranslationCache.GetTranslation(ConnectionString, (long)GisDbType.RftSettlement, EidssUserContext.CurrentLanguage);
     }
     catch (Exception ex)
     {
         ErrorForm.ShowError(ex);
     }
 }
コード例 #4
0
        public static void SetTranslation(String moduleName, String languagePair, String trnKey, TranslationContract contract)
        {
            if (String.IsNullOrWhiteSpace(moduleName))
            {
                throw new ArgumentNullException("moduleName");
            }

            if (String.IsNullOrWhiteSpace(trnKey))
            {
                throw new ArgumentNullException("trnKey");
            }

            if (String.IsNullOrWhiteSpace(languagePair))
            {
                throw new ArgumentNullException("languagePair");
            }

            if (contract == null)
            {
                throw new ArgumentNullException("contract");
            }

            var session = Hb8Factory.InitSession();

            var entity = (from n in session.Query <CD_Translation>()
                          where n.DateDeleted == null &&
                          n.TrnKey.ToLower() == trnKey.ToLower() &&
                          n.LanguagePair.ToLower() == languagePair.ToLower() &&
                          n.ModuleName.ToLower() == moduleName.ToLower()
                          select n).SingleOrDefault();

            if (entity == null)
            {
                entity = new CD_Translation
                {
                    ID          = Guid.NewGuid(),
                    DateCreated = DateTime.Now
                };

                entity.TrnKey         = trnKey;
                entity.ModuleName     = moduleName;
                entity.LanguagePair   = languagePair;
                entity.DefaultText    = contract.DefaultText;
                entity.TranslatedText = contract.TranslatedText;

                session.SubmitChanges(entity);
            }
            else
            {
                TranslationCache.SetTranslatedText(moduleName, languagePair, trnKey, contract.TranslatedText);
            }
        }
コード例 #5
0
        public string Translate(string key, bool allDictionaryDomains = false)
        {
#if DEBUG
            Assert.ArgumentNotNullOrEmpty(key, "key");
#endif
            var cacheKey            = GetCacheKey(Context.Language, key);
            var existingTranslation = TranslationCache.Get(cacheKey);

            if (!string.IsNullOrEmpty(existingTranslation))
            {
                return(existingTranslation);
            }

            var item   = GetTranslationItem(key, allDictionaryDomains);
            var phrase = item[FieldNames.Phrase];
            TranslationCache.Set(cacheKey, phrase);
            return(phrase);
        }
コード例 #6
0
        public static void SetTranslatedText(String moduleName, String languagePair, String trnKey, String translatedText)
        {
            if (String.IsNullOrWhiteSpace(moduleName))
            {
                throw new ArgumentNullException("moduleName");
            }

            if (String.IsNullOrWhiteSpace(trnKey))
            {
                throw new ArgumentNullException("trnKey");
            }

            if (String.IsNullOrWhiteSpace(languagePair))
            {
                throw new ArgumentNullException("languagePair");
            }

            TranslationCache.SetTranslatedText(moduleName, languagePair, trnKey, translatedText);
        }
コード例 #7
0
        public void LoadTranslations()
        {
            try
            {
                var tr1 = TranslationCache.GetTranslation(ConnectionString, (long)GisDbType.RftSettlement, EidssUserContext.CurrentLanguage);
                var tr2 = TranslationCache.GetTranslation(ConnectionString, (long)GisDbType.RftRayon, EidssUserContext.CurrentLanguage);
                var tr3 = TranslationCache.GetTranslation(ConnectionString, (long)GisDbType.RftRegion, EidssUserContext.CurrentLanguage);
                var tr4 = TranslationCache.GetTranslation(ConnectionString, (long)GisDbType.RftCountry, EidssUserContext.CurrentLanguage);

                m_Translation = tr1;
                m_Translation.Merge(tr2);
                m_Translation.Merge(tr3);
                m_Translation.Merge(tr4);
            }
            catch (Exception ex)
            {
                ErrorForm.ShowError(ex);
            }
        }
コード例 #8
0
        public static String GetTranslatedText(String moduleName, String languagePair, String trnKey, String defaultText)
        {
            if (String.IsNullOrWhiteSpace(moduleName))
            {
                throw new ArgumentNullException("moduleName");
            }

            if (String.IsNullOrWhiteSpace(trnKey))
            {
                throw new ArgumentNullException("trnKey");
            }

            if (String.IsNullOrWhiteSpace(languagePair))
            {
                throw new ArgumentNullException("languagePair");
            }

            var translatedText = TranslationCache.GetTranslatedText(moduleName, languagePair, trnKey, defaultText);

            return(translatedText);
        }
コード例 #9
0
        private void LoadTranslations()
        {
            try
            {
                switch (PivotalType)
                {
                case PivotLayerType.Districts:
                    m_Translation = TranslationCache.GetTranslation(ConnectionString, (long)GisDbType.RftRayon,
                                                                    EidssUserContext.CurrentLanguage);
                    break;

                case PivotLayerType.Regions:
                    m_Translation = TranslationCache.GetTranslation(ConnectionString, (long)GisDbType.RftRegion,
                                                                    EidssUserContext.CurrentLanguage);
                    break;
                }
            }
            catch (Exception ex)
            {
                ErrorForm.ShowError(ex);
            }
        }
コード例 #10
0
        public static List <TranslationContract> GetTranslations(String moduleName, String languagePair, List <TranslationContract> list)
        {
            var @set   = new HashSet <String>();
            var result = new List <TranslationContract>();

            foreach (var contract in list)
            {
                if (String.IsNullOrWhiteSpace(contract.TrnKey))
                {
                    continue;
                }

                if ([email protected](contract.TrnKey))
                {
                    continue;
                }

                contract.TranslatedText = TranslationCache.GetTranslatedText(moduleName, languagePair, contract.TrnKey, contract.DefaultText);
                result.Add(contract);
            }

            return(result);
        }
コード例 #11
0
 /// <summary>
 /// Creates an instance of the class
 /// </summary>
 public WebTranslationService()
 {
     Cache = new TranslationCache();
 }
 private TranslationService()
 {
     _cache = new TranslationCache();
 }
コード例 #13
0
        private void MenuCommandExecute(MenuItem menuItem)
        {
            var tag = menuItem?.Tag as string;

            if (string.IsNullOrEmpty(tag))
            {
                return;
            }

            var translationItem = menuItem.DataContext as TranslationItem;

            if (translationItem == null)
            {
                return;
            }

            var textWithOverflow = translationItem.TextWithOverflow;

            switch (tag.ToLower())
            {
            case "replace":
                if (!string.IsNullOrEmpty(textWithOverflow))
                {
                    ReplaceSnapshotSpanText(textWithOverflow);
                }
                break;

            case "copy":
                Clipboard.SetText(textWithOverflow);
                break;

            case "edit":
                Visibility = Visibility.Hidden;
                var editTranslationDialog = new EditTranslationDialog(translationItem,
                                                                      item =>
                {
                    if (item != null)
                    {
                        ReplaceSnapshotSpanText(item.Text);
                        TranslationCache.AddUserEditedItem(item.TranslationSource, item.RequestSourceLanguage,
                                                           item.DestinationLanguage, item.OriginalText, item.Text);
                    }
                }, this);
                editTranslationDialog.ShowModal();
                Visibility = Visibility.Visible;
                break;

            case "copyall":
                var s1 = spListBox.Items.Cast <object>()
                         .Aggregate("", (current, item) => current + (item + Environment.NewLine));
                Clipboard.SetText(s1);
                break;

            case "removeedit":
                var removed = TranslationCache.RemoveUserEditedItem(translationItem.TranslationSource, translationItem.RequestSourceLanguage,
                                                                    translationItem.DestinationLanguage, translationItem.OriginalText, translationItem.Text);
                if (removed)
                {
                    _resultsCollection.Remove(translationItem);
                    MoveCurrentItem(true);
                }
                break;
            }
        }
コード例 #14
0
        //It is butifule :)
        public FeatureDataSet GetAllFeatures()
        {
            if (!SystemLayerNames.IsSystemLayerName(Table))
            {
                var fds  = new FeatureDataSet();
                var bbox = GetExtents();
                bbox = bbox.Grow(bbox.Width / 1000);
                ExecuteIntersectionQuery(bbox, fds);
                return(fds);
            }
            else
            {
                var fds = new FeatureDataSet();

                //get langs codes
                long langCode = TranslationCache.GetLanguageCode(bv.model.Model.Core.ModelUserContext.CurrentLanguage,
                                                                 ConnectionString);
                long enLangCode = TranslationCache.GetLanguageCode("en", ConnectionString);

                string strSQL    = string.Empty;
                string makeValid = ValidateGeometries ? ".MakeValid()" : String.Empty;

                //construct query
                switch (Table)
                {
                case SystemLayerNames.Countries:
                case SystemLayerNames.Regions:
                    strSQL = String.Format(
                        @"SELECT g.*,
	                          g.{0}{1}.STAsBinary() AS sharpmap_tempgeometry,
                              TR_en.strTextString as 'name_en',
	                          TR.strTextString as 'name'
                              FROM {2} g
                              LEFT JOIN (SELECT * FROM gisStringNameTranslation WHERE idfsLanguage = {3}) TR_en on g.{5}=TR_en.idfsGISBaseReference
                              LEFT JOIN (SELECT * FROM gisStringNameTranslation WHERE idfsLanguage = {4}) TR on g.{5}=TR.idfsGISBaseReference",
                        GeometryColumn, makeValid, Table, enLangCode, langCode, ObjectIdColumn);
                    break;

                case SystemLayerNames.Rayons:
                    strSQL = String.Format(
                        @"SELECT g.*,
	                            g.{0}{1}.STAsBinary() AS sharpmap_tempgeometry,
	                            TR_en.strTextString as 'name_en',
	                            TR.strTextString as 'name',
	                            g_spr.idfsRegion as 'region_id',
	                            TR_par_en.strTextString as 'region_en', 
	                            TR_par.strTextString as 'region_name'
                                FROM {2} g
                                LEFT JOIN gisRayon	g_spr on g.{5}=g_spr.idfsRayon
                                LEFT JOIN (SELECT * FROM gisStringNameTranslation WHERE idfsLanguage = {3}) TR_en on g.{5}=TR_en.idfsGISBaseReference
                                LEFT JOIN (SELECT * FROM gisStringNameTranslation WHERE idfsLanguage = {4}) TR on g.{5}=TR.idfsGISBaseReference
                                LEFT JOIN (SELECT * FROM gisStringNameTranslation WHERE idfsLanguage = {3}) TR_par_en on g_spr.idfsRegion=TR_par_en.idfsGISBaseReference
                                LEFT JOIN (SELECT * FROM gisStringNameTranslation WHERE idfsLanguage = {4}) TR_par on g_spr.idfsRegion=TR_par.idfsGISBaseReference",
                        GeometryColumn, makeValid, Table, enLangCode, langCode, ObjectIdColumn);
                    break;

                case SystemLayerNames.Settlements:
                    strSQL = String.Format(
                        @"SELECT g.*,
	                            g.{0}{1}.STAsBinary() AS sharpmap_tempgeometry,
	                            TR_en.strTextString as 'name_en',
	                            TR.strTextString as 'name',
	                            g_spr.idfsRayon as 'rayon_id',
	                            TR_par_en.strTextString as 'rayon_en', 
	                            TR_par.strTextString as 'rayon_name'
                                FROM {2} g
                                LEFT JOIN gisSettlement	g_spr on g.{5}=g_spr.idfsSettlement
                                LEFT JOIN (SELECT * FROM gisStringNameTranslation WHERE idfsLanguage = {3}) TR_en on g.{5}=TR_en.idfsGISBaseReference
                                LEFT JOIN (SELECT * FROM gisStringNameTranslation WHERE idfsLanguage = {4}) TR on g.{5}=TR.idfsGISBaseReference
                                LEFT JOIN (SELECT * FROM gisStringNameTranslation WHERE idfsLanguage = {3}) TR_par_en on g_spr.idfsRayon=TR_par_en.idfsGISBaseReference
                                LEFT JOIN (SELECT * FROM gisStringNameTranslation WHERE idfsLanguage = {4}) TR_par on g_spr.idfsRayon=TR_par.idfsGISBaseReference",
                        GeometryColumn, makeValid, Table, enLangCode, langCode, ObjectIdColumn);
                    break;

                default:
                    strSQL = String.Format(@"SELECT g.*, g.{0}{1}.STAsBinary() AS sharpmap_tempgeometry FROM {2} g",
                                           GeometryColumn, makeValid, Table);
                    break;
                }



                using (var conn = new SqlConnection(ConnectionString))
                {
                    if (!String.IsNullOrEmpty(DefinitionQuery))
                    {
                        strSQL += (" AND " + DefinitionQuery);
                    }

                    using (var adapter = new SqlDataAdapter(strSQL, conn))
                    {
                        conn.Open();
                        var ds2 = new DataSet();
                        adapter.Fill(ds2);
                        conn.Close();
                        if (ds2.Tables.Count > 0)
                        {
                            var fdt = new FeatureDataTable(ds2.Tables[0]);
                            foreach (DataColumn col in ds2.Tables[0].Columns)
                            {
                                if (col.ColumnName != GeometryColumn && col.ColumnName != "sharpmap_tempgeometry")
                                {
                                    fdt.Columns.Add(col.ColumnName, col.DataType, col.Expression);
                                }
                            }

                            foreach (DataRow dr in ds2.Tables[0].Rows)
                            {
                                var fdr = fdt.NewRow();
                                foreach (DataColumn col in ds2.Tables[0].Columns)
                                {
                                    if (col.ColumnName != GeometryColumn && col.ColumnName != "sharpmap_tempgeometry")
                                    {
                                        fdr[col.ColumnName] = dr[col];
                                    }
                                }
                                fdr.Geometry =
                                    SharpMap.Converters.WellKnownBinary.GeometryFromWKB.Parse(
                                        (byte[])dr["sharpmap_tempgeometry"]);
                                fdt.AddRow(fdr);
                            }
                            fds.Tables.Add(fdt);
                        }
                    }
                }
                return(fds);
            }
        }