none
Tradução do Reporting Service RRS feed

  • Pergunta

  •  

    Fala rapaziada,

     

     

    Alguém pode me dizer se é possível, através de alguma configuração. traduzir tudo que está em inglês no controle ReportView para português ? (ex: o botão "view report", aquela mensagem enquanto o relatório é gerado,... )

     

    quarta-feira, 5 de março de 2008 15:04

Respostas

  • Bom dia Eleu,

     

    As strings do reportmanager / reportviewer seguem a linguagem configurada no IE. Então você mudando a configuração do IE, automaticamente as mensagens vao vir na outra linguagem. As bad news são: Não temos tradução para português-Brasil por padrão Sad

     

    Para resolver isso você pode implementar sua própria assembly de tradução. Vou colocar alguns links a respeito abaixo:

     

    International Considerations for Reporting Services (Contem uma descrição de quais as configurações de linguagem que afetam os relatórios)

    http://msdn2.microsoft.com/en-us/library/ms156493.aspx

     

    IReportViewerMessages Interface (Interface que você vai precisar implementar para traduzir as mensagens)

    http://msdn2.microsoft.com/en-us/library/microsoft.reporting.webforms.ireportviewermessages.aspx

     

    Posts com dúvidas parecidas, podem ajudar pois contem alguns exemplos:

    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1033950&SiteID=1
    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=258192&SiteID=1

     

    Abraço

    Boreki

    quarta-feira, 5 de março de 2008 18:42
  •  Junior Galvão - MVP wrote:

    Boreki,

     

    Muito legal estes links, mas é um trabalho arduo de ser realizado.

    Nem dá tanto trabalho assim... O que eu fiz foi o seguinte:

    Criei uma classe semelhante a que está nesse link: http://msdn2.microsoft.com/en-us/library/microsoft.reporting.webforms.ireportviewermessages.aspx

    E adicionei a senguinte linha no Web.config (minha classe se chama ReportMessage e ela está dentro do APP_CODE):

    Code Snippet

    <appSettings>

    <add key="ReportViewerMessages" value="ReportMessage,APP_CODE"/>

    </appSettings>

     

    ´

     

     

    Mas surgiu outra dúvida:

    Consegui traduzir todas labels do relatório, porém não consegui ainda as mensagens de erro...

    Ex: se não for preenchido um parametro obrigatório, ao gerar o relatorio dará uma mensagem em inglês... ("Please select a value for parameter ...") ...

    Andei pesquisando e percebi que tal mensagem vem do Report Server (vide esse link: http://msdn2.microsoft.com/en-us/library/ms156493.aspx )

    Mas não compreendi o que têm de ser feito para traduzir inclusive estas mensagens ...

    Alguém sabe o que tem que ser feito para traduzir inclusive estas mensagens ?

     

    Smile

    quinta-feira, 6 de março de 2008 13:39
  • Muito bom Douglas, que fique registrado aqui para servir de ajuda para desenvolvedores que se depararem com o mesmo problema

    []s

     Douglas N wrote:

    Olá senhores, boa tarde.

    Consegui fazer a tradução em 100% do Reporting Services.

    Primeiramente, segui a dica do Eleu, implementando a interface Microsoft.Reporting.WebForms.IReportViewerMessages na classe que ele sugeriu criar, está intereface permite você rescrever os metodos e colocar mensagens do jeito que você quiser para alguns botoes e links, mas ainda não é possivel traduzir as mensagens de erro.

    Depois de muito ler, descobri que uma versão mais recente da dll do ReportViewer permite a implementação de uma outra interface e essa sim permite reescrever os metodos que retornam mensagens para o usuário.

    A interface chama-se Microsoft.Reporting.WebForms.IReportViewerMessages2. Logicamente a sua classe deve conter:

    Code Snippet
    using Microsoft.Reporting.WebForms;

     

     

    Ao implementa-la você reescreve as mensagens da forma que você quiser.

     

    Code Snippet

    using Microsoft.Reporting.WebForms;

    public class ReportMessage : Microsoft.Reporting.WebForms.IReportViewerMessages, Microsoft.Reporting.WebForms.IReportViewerMessages2
    {

    public ReportMessage()
        {
            //
            // TODO: Add constructor logic here
            //
       }

     

    Restantes dos metodos das interfaces;

    }

     

     

    Bom, frizando que essas mensagens vão ser traduzidas apenas no reportviewer, ou seja, para que a tradução ocorra, a sua pagina deve usar este controle. Estou dizendo isso por que caso você exiba o relatorio direto do servidor de reports, não funciona a tradução. (Mas talvez seja possível de algum outra forma.)

     

    Lembrando:

    -Adicionar a classe que vai conter a implementação das interfaces no App_Code.

    -Adicionar linha no Web.config como indicou o Eleu.

    Code Snippet

    <appSettings>

    <add key="ReportViewerMessages" value="ReportMessage,APP_CODE"/>

    </appSettings>

     

     

    -Utilizar a versão mais atual da dll Microsoft.ReportViewer.WebForms.dll. No caso eu utilizei a 8.0.50727.762

     

    O esforço é praticamente zero. Apenas reescrever as mensagens e botões.

     

    Abraço.

    sábado, 3 de maio de 2008 02:46

Todas as Respostas

  • Bom dia Eleu,

     

    As strings do reportmanager / reportviewer seguem a linguagem configurada no IE. Então você mudando a configuração do IE, automaticamente as mensagens vao vir na outra linguagem. As bad news são: Não temos tradução para português-Brasil por padrão Sad

     

    Para resolver isso você pode implementar sua própria assembly de tradução. Vou colocar alguns links a respeito abaixo:

     

    International Considerations for Reporting Services (Contem uma descrição de quais as configurações de linguagem que afetam os relatórios)

    http://msdn2.microsoft.com/en-us/library/ms156493.aspx

     

    IReportViewerMessages Interface (Interface que você vai precisar implementar para traduzir as mensagens)

    http://msdn2.microsoft.com/en-us/library/microsoft.reporting.webforms.ireportviewermessages.aspx

     

    Posts com dúvidas parecidas, podem ajudar pois contem alguns exemplos:

    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1033950&SiteID=1
    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=258192&SiteID=1

     

    Abraço

    Boreki

    quarta-feira, 5 de março de 2008 18:42
  •  Boreki wrote:

    Bom dia Eleu,

     

    As strings do reportmanager / reportviewer seguem a linguagem configurada no IE. Então você mudando a configuração do IE, automaticamente as mensagens vao vir na outra linguagem. As bad news são: Não temos tradução para português-Brasil por padrão

     

    Para resolver isso você pode implementar sua própria assembly de tradução. Vou colocar alguns links a respeito abaixo:

     

    International Considerations for Reporting Services (Contem uma descrição de quais as configurações de linguagem que afetam os relatórios)

    http://msdn2.microsoft.com/en-us/library/ms156493.aspx

     

    IReportViewerMessages Interface (Interface que você vai precisar implementar para traduzir as mensagens)

    http://msdn2.microsoft.com/en-us/library/microsoft.reporting.webforms.ireportviewermessages.aspx

     

    Posts com dúvidas parecidas, podem ajudar pois contem alguns exemplos:

    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1033950&SiteID=1
    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=258192&SiteID=1

     

    Abraço

    Boreki



    Valeu pela dica, consegui fazer ... Smile
    Fica ai a dica o povo...

    quinta-feira, 6 de março de 2008 00:37
  • Boreki,

     

    Muito legal estes links, mas é um trabalho arduo de ser realizado.

    quinta-feira, 6 de março de 2008 13:09
  •  Junior Galvão - MVP wrote:

    Boreki,

     

    Muito legal estes links, mas é um trabalho arduo de ser realizado.

    Nem dá tanto trabalho assim... O que eu fiz foi o seguinte:

    Criei uma classe semelhante a que está nesse link: http://msdn2.microsoft.com/en-us/library/microsoft.reporting.webforms.ireportviewermessages.aspx

    E adicionei a senguinte linha no Web.config (minha classe se chama ReportMessage e ela está dentro do APP_CODE):

    Code Snippet

    <appSettings>

    <add key="ReportViewerMessages" value="ReportMessage,APP_CODE"/>

    </appSettings>

     

    ´

     

     

    Mas surgiu outra dúvida:

    Consegui traduzir todas labels do relatório, porém não consegui ainda as mensagens de erro...

    Ex: se não for preenchido um parametro obrigatório, ao gerar o relatorio dará uma mensagem em inglês... ("Please select a value for parameter ...") ...

    Andei pesquisando e percebi que tal mensagem vem do Report Server (vide esse link: http://msdn2.microsoft.com/en-us/library/ms156493.aspx )

    Mas não compreendi o que têm de ser feito para traduzir inclusive estas mensagens ...

    Alguém sabe o que tem que ser feito para traduzir inclusive estas mensagens ?

     

    Smile

    quinta-feira, 6 de março de 2008 13:39
  • Olá senhores, boa tarde.

    Consegui fazer a tradução em 100% do Reporting Services.

    Primeiramente, segui a dica do Eleu, implementando a interface Microsoft.Reporting.WebForms.IReportViewerMessages na classe que ele sugeriu criar, está intereface permite você rescrever os metodos e colocar mensagens do jeito que você quiser para alguns botoes e links, mas ainda não é possivel traduzir as mensagens de erro.

    Depois de muito ler, descobri que uma versão mais recente da dll do ReportViewer permite a implementação de uma outra interface e essa sim permite reescrever os metodos que retornam mensagens para o usuário.

    A interface chama-se Microsoft.Reporting.WebForms.IReportViewerMessages2. Logicamente a sua classe deve conter:

    Code Snippet
    using Microsoft.Reporting.WebForms;

     

     

    Ao implementa-la você reescreve as mensagens da forma que você quiser.

     

    Code Snippet

    using Microsoft.Reporting.WebForms;

    public class ReportMessage : Microsoft.Reporting.WebForms.IReportViewerMessages, Microsoft.Reporting.WebForms.IReportViewerMessages2
    {

    public ReportMessage()
        {
            //
            // TODO: Add constructor logic here
            //
       }

     

    Restantes dos metodos das interfaces;

    }

     

     

    Bom, frizando que essas mensagens vão ser traduzidas apenas no reportviewer, ou seja, para que a tradução ocorra, a sua pagina deve usar este controle. Estou dizendo isso por que caso você exiba o relatorio direto do servidor de reports, não funciona a tradução. (Mas talvez seja possível de algum outra forma.)

     

    Lembrando:

    -Adicionar a classe que vai conter a implementação das interfaces no App_Code.

    -Adicionar linha no Web.config como indicou o Eleu.

    Code Snippet

    <appSettings>

    <add key="ReportViewerMessages" value="ReportMessage,APP_CODE"/>

    </appSettings>

     

     

    -Utilizar a versão mais atual da dll Microsoft.ReportViewer.WebForms.dll. No caso eu utilizei a 8.0.50727.762

     

    O esforço é praticamente zero. Apenas reescrever as mensagens e botões.

     

    Abraço.

    sexta-feira, 2 de maio de 2008 20:19
  • Muito bom Douglas, que fique registrado aqui para servir de ajuda para desenvolvedores que se depararem com o mesmo problema

    []s

     Douglas N wrote:

    Olá senhores, boa tarde.

    Consegui fazer a tradução em 100% do Reporting Services.

    Primeiramente, segui a dica do Eleu, implementando a interface Microsoft.Reporting.WebForms.IReportViewerMessages na classe que ele sugeriu criar, está intereface permite você rescrever os metodos e colocar mensagens do jeito que você quiser para alguns botoes e links, mas ainda não é possivel traduzir as mensagens de erro.

    Depois de muito ler, descobri que uma versão mais recente da dll do ReportViewer permite a implementação de uma outra interface e essa sim permite reescrever os metodos que retornam mensagens para o usuário.

    A interface chama-se Microsoft.Reporting.WebForms.IReportViewerMessages2. Logicamente a sua classe deve conter:

    Code Snippet
    using Microsoft.Reporting.WebForms;

     

     

    Ao implementa-la você reescreve as mensagens da forma que você quiser.

     

    Code Snippet

    using Microsoft.Reporting.WebForms;

    public class ReportMessage : Microsoft.Reporting.WebForms.IReportViewerMessages, Microsoft.Reporting.WebForms.IReportViewerMessages2
    {

    public ReportMessage()
        {
            //
            // TODO: Add constructor logic here
            //
       }

     

    Restantes dos metodos das interfaces;

    }

     

     

    Bom, frizando que essas mensagens vão ser traduzidas apenas no reportviewer, ou seja, para que a tradução ocorra, a sua pagina deve usar este controle. Estou dizendo isso por que caso você exiba o relatorio direto do servidor de reports, não funciona a tradução. (Mas talvez seja possível de algum outra forma.)

     

    Lembrando:

    -Adicionar a classe que vai conter a implementação das interfaces no App_Code.

    -Adicionar linha no Web.config como indicou o Eleu.

    Code Snippet

    <appSettings>

    <add key="ReportViewerMessages" value="ReportMessage,APP_CODE"/>

    </appSettings>

     

     

    -Utilizar a versão mais atual da dll Microsoft.ReportViewer.WebForms.dll. No caso eu utilizei a 8.0.50727.762

     

    O esforço é praticamente zero. Apenas reescrever as mensagens e botões.

     

    Abraço.

    sábado, 3 de maio de 2008 02:46
  • Boa Tarde Boreki.

     

    Estou querendo mudar a interface do meu RS 2005 aqui. No site que você indicou lá só tem o exemplo da classe em C#. Você tem esse código em JScript?

     

    Até mais,

     

    segunda-feira, 12 de maio de 2008 19:11