Categorias

Sistema de tradução online com o estilo do Google

Código fonte de um tradutor online com o estilo do Google Translator.
Este tradutor pode ser bastante útil na localização de sistemas web para internet e intranets.

É possível customizar o tradutor para que possa ser integrado dentro de um sistema web.

Com este código é possível realizar a tradução das seguintes linguas:

De Para
Inglês Francês
Inglês Alemão
Inglês Italiano
Inglês Português
Inglês Espanhol
Francês Inglês
Francês Alemão
Francês Italiano
Francês Português
Francês Espanhol
Alemão Inglês
Alemão Francês
Italiano Inglês
Italiano Francês
Português Inglês
Português Francês
Espanhol Inglês
Espanhol Francês
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{
    public enum meu { EnglishTOPortuguese };
   private string caminho = "~/App_Themes/Bandeiras/";
    private WsTransalte.TranslateService tradutor;
    protected void Page_Load(object sender, EventArgs e)
    {
        
    }

    private string tipoTraducao(int posicao) {
        String[] tipo = new String[]{"EnglishTOFrench",
                                    "EnglishTOGerman",
                                    "EnglishTOItalian",
                                    "EnglishTOPortuguese",
                                    "EnglishTOSpanish",
                                    "FrenchTOEnglish",
                                    "FrenchTOGerman",
                                    "FrenchTOItalian",
                                    "FrenchTOPortuguese",
                                    "FrenchTOSpanish",
                                    "GermanTOEnglish",
                                    "GermanTOFrench",
                                    "ItalianTOEnglish",
                                    "ItalianTOFrench",
                                    "PortugueseTOEnglish",
                                    "PortugueseTOFrench",
                                    "SpanishTOEnglish",
                                    "SpanishTOFrench"};
       
       if (posicao >= tipo.Length || posicao < 0) posicao = 0;

       return tipo[posicao];
    
    }

    [System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()]
    public static string GetDynamicContent(string contextKey)
    {
        return default(string);
    }

    private void AlocarBandeiras(string dividir){
      // String[] nivelar = new String[] dividir.Split('',StringSplitOptions.RemoveEmptyEntries); 
        this.imgTraduzido.ImageUrl = caminho+ dividir.Substring(dividir.IndexOf("TO")+2)+".gif";
        this.imgOriginal.ImageUrl = caminho + dividir.Substring(0, dividir.IndexOf("TO"))+".gif";
        //Response.Write(dividir.Substring(0,dividir.IndexOf("TO")));
        this.imgTraduzido.Visible = true;
        this.imgOriginal.Visible = true;
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        tradutor = new WsTransalte.TranslateService();
        int i = Int32.Parse(this.DropDownList1.SelectedValue);
        //Response.Write("&" + tipoTraducao(i));
        AlocarBandeiras(tipoTraducao(i));
        switch(i){
            case 0:
                this.tbTraduzido.Text = tradutor.Translate(WsTransalte.Language.EnglishTOFrench, this.tbOriginal.Text); break;
            case 1:
                this.tbTraduzido.Text = tradutor.Translate(WsTransalte.Language.EnglishTOGerman, this.tbOriginal.Text); break;
            case 2:
                this.tbTraduzido.Text = tradutor.Translate(WsTransalte.Language.EnglishTOItalian, this.tbOriginal.Text); break;
            case 3:
                this.tbTraduzido.Text = tradutor.Translate(WsTransalte.Language.EnglishTOPortuguese, this.tbOriginal.Text); break;
            case 4:
                this.tbTraduzido.Text = tradutor.Translate(WsTransalte.Language.EnglishTOSpanish, this.tbOriginal.Text); break;
            case 5:
                this.tbTraduzido.Text = tradutor.Translate(WsTransalte.Language.FrenchTOEnglish, this.tbOriginal.Text); break;
            case 6:
                this.tbTraduzido.Text = tradutor.Translate(WsTransalte.Language.FrenchTOGerman, this.tbOriginal.Text); break;
            case 7:
                this.tbTraduzido.Text = tradutor.Translate(WsTransalte.Language.FrenchToItalian, this.tbOriginal.Text); break;
            case 8:
                this.tbTraduzido.Text = tradutor.Translate(WsTransalte.Language.FrenchToPortuguese, this.tbOriginal.Text); break;
            case 9:
                this.tbTraduzido.Text = tradutor.Translate(WsTransalte.Language.FrenchToSpanish, this.tbOriginal.Text); break;
            case 10:
                this.tbTraduzido.Text = tradutor.Translate(WsTransalte.Language.GermanTOEnglish, this.tbOriginal.Text); break;
            case 11:
                this.tbTraduzido.Text = tradutor.Translate(WsTransalte.Language.GermanTOFrench, this.tbOriginal.Text); break;
            case 12:
                this.tbTraduzido.Text = tradutor.Translate(WsTransalte.Language.ItalianTOEnglish, this.tbOriginal.Text); break;
            case 13:
                this.tbTraduzido.Text = tradutor.Translate(WsTransalte.Language.ItalianToFrench, this.tbOriginal.Text); break;
            case 14:
                this.tbTraduzido.Text = tradutor.Translate(WsTransalte.Language.PortugueseTOEnglish, this.tbOriginal.Text); break;
            case 15:
                this.tbTraduzido.Text = tradutor.Translate(WsTransalte.Language.PortugueseToFrench, this.tbOriginal.Text); break;
            case 16:
                this.tbTraduzido.Text = tradutor.Translate(WsTransalte.Language.SpanishTOEnglish, this.tbOriginal.Text); break;
            case 17:
                this.tbTraduzido.Text = tradutor.Translate(WsTransalte.Language.SpanishToFrench, this.tbOriginal.Text); break;
     
     
     
     
     
     
     
     
     
     
     
        }
        // Response.Write(tipoTraducao(i));
    }
}

Arquivos para Download:

XTradutor.zip