Partilhar via


Winres.exe (Editor de Localização de Recursos do Windows)

O Editor de Localização de Recursos do Windows, Winres.exe, é uma ferramenta de esquema visual que ajuda os especialistas em localização a localizar Windows Forms recursos de interface de utilizador (IU) utilizados por formulários. Pode criar os ficheiros .resx ou .resources que são utilizados como entrada para Winres.exe através de um ambiente de design visual, como o Microsoft Visual Studio. Para obter informações sobre como implementar recursos em aplicações .NET Framework, veja Recursos em aplicações .NET.

Winres.exe está instalado com o Visual Studio. Para executar a ferramenta, utilize a Linha de Comandos para Programadores do Visual Studio ou o PowerShell para Programadores do Visual Studio.

Aviso

Não abra ficheiros não fidedignos com esta ferramenta. Se o ficheiro for um ficheiro binário, será desserializado com a desserialização binária, o que não é seguro. Para obter mais informações, veja Riscos de deserialização na utilização de BinaryFormatter e tipos relacionados.

Sintaxe

winres resourceFile
winres /?

Argumentos

Argumento Description
resourceFile O ficheiro de recursos a localizar. Este ficheiro tem de ser um ficheiro .resx ou .resources de formulário Windows Forms gerado pelo estruturador do Visual Studio. Winres.exe não consegue abrir ficheiros .resx ou .resources genéricos.
Opção Descrição
/? Apresenta a sintaxe do comando e as opções da ferramenta.

Observações

O estado dos elementos de IU de um formulário num projeto de Windows Forms é normalmente armazenado em ficheiros de recursos, que são ficheiros baseados em XML com a extensão .resx ou as versões binárias compiladas correspondentes com a extensão .resources. Winres.exe é uma ferramenta que permite a edição limitada de qualquer tipo de ficheiro fora do ambiente de design do Visual Studio. Especificamente, permite os seguintes tipos de operações de edição:

  • Um ficheiro de recurso de cultura neutro ou específico pode ser editado para alterar as propriedades da IU do formulário ou dos respetivos controlos, como o texto, tamanho ou posição.
  • Os ficheiros de recursos de cultura neutros ou específicos podem ser gerados a partir do ficheiro de recursos predefinido.
  • Um ficheiro de recursos de cultura pode ser guardado como outro ficheiro de recursos de cultura. Por exemplo, um ficheiro de recurso em inglês (E.U.A.) poderia ser guardado como um ficheiro de recursos polaco. Normalmente, o novo ficheiro seria posteriormente editado para ser compatível com a nova cultura.

Veja também Organização Hierárquica de Recursos para Localização ou Organização Hierárquica de Recursos para Localização.

Winres.exe não é possível converter um ficheiro .resx no ficheiro .resources correspondente; em vez disso, utilize a ferramenta Resgen.exe. Para obter mais informações sobre Resgen.exe, veja Resgen.exe (Gerador de Ficheiros de Recursos).

Winres.exe é uma aplicação gráfica que recria uma versão de tempo de estrutura de um formulário Windows Forms apenas a partir do ficheiro de recurso, sem ter acesso ao código fonte. Winres.exe aloja a janela Windows Forms Form Designer and Properties do Visual Studio. Estas funcionalidades permitem a edição visual de um ficheiro .resources ou .resx que contém um formulário Windows Forms. Normalmente, os localizadores utilizam Winres.exe para editar etiquetas de controlo e ajustar a localização e o tamanho dos controlos para acomodar as etiquetas para a cultura de destino.

Se Winres.exe não conseguir resolver o tipo de controlo, cria um controlo de marcador de posição no ficheiro .resx ou .resources localizado. O controlo de marcador de posição aparece no formulário Windows Forms como uma janela eclodida. O tamanho e a posição da janela eclodida correspondem ao do controlo real. Todas as propriedades localizáveis disponíveis para o controlo de marcador de posição aparecem na janela Propriedades . Todas as alterações efetuadas ao controlo do marcador de posição são guardadas para o controlo real.

Winres.exe versus Visual Studio

Em geral, antes de começar a localizar os formulários de Windows Forms de uma aplicação, deve decidir se pretende utilizar o Visual Studio ou Winres.exe como a ferramenta de localização. A compatibilidade de versões, conforme descrito mais tarde, pode impedir que mude de uma ferramenta para outra.

A vantagem do Visual Studio é que pode utilizá-la para desenvolver e localizar uma aplicação. Para localizar um formulário, após a conclusão do LocalizableAttribute desenvolvimento, defina o formulário (a propriedade Localizável no editor Propriedades ) para e altere a true respetiva propriedade Idioma para a cultura de destino pretendida. Em seguida, edite cadeias e ajuste a localização e o tamanho dos controlos para acomodar as cadeias para a cultura de destino. Quando guarda o ficheiro .resx localizado, o Visual Studio escreve apenas as propriedades localizáveis (propriedades que mudaram na cultura de destino) para o ficheiro. O Visual Studio cria automaticamente uma assemblagem por satélite para o ficheiro .resx localizado na localização correta do diretório.

Embora o Visual Studio forneça um ambiente integrado de desenvolvimento e localização, Winres.exe é a ferramenta recomendada para utilizar se a localização for efetuada por localizadores de terceiros. Uma vez que Winres.exe é apenas uma ferramenta de localização, permite uma separação mais limpa do código de uma aplicação dos formulários, o que é mais prático para gerir grandes projetos.

Utilizar Winres.exe

Para localizar com Winres.exe, primeiro tem de desenvolver uma aplicação com um estruturador visual como o Estruturador de Windows Forms no Visual Studio. Quando o desenvolvimento estiver concluído, defina o formulário LocalizableAttribute (a propriedade Localizável no editor Propriedades ) como truee, em seguida, entregue o ficheiro .resx para a cultura predefinida para um localizador de terceiros. Este ficheiro .resx contém informações adicionais que Winres.exe utiliza para recriar uma versão de tempo de estrutura do formulário original.

Nota

Winres.exe não pode ser utilizado para editar o ficheiro de recurso predefinido. Winres.exe interpreta todas as propriedades alteradas como propriedades localizadas e guarda-as no ficheiro de recursos de cultura de destino.

As versões finais dos ficheiros de recursos de cultura podem finalmente ser utilizadas para criar versões localizadas da aplicação. Para obter mais informações, veja Recursos em aplicações .NET.

Winres.exe tem as seguintes funcionalidades e capacidades:

  • O Winres pode operar no Modo de Ficheiro Único (SFM) ou no Modo de Ficheiro do Visual Studio (VSFM). O SFM é o modo legado onde as informações completas sobre o formulário e os respetivos conteúdos são armazenadas no ficheiro de recursos. O VSFM armazena apenas as alterações culturais no ficheiro de recursos.

  • Uma janela de relatório de erros, ancorada no canto inferior esquerdo da janela principal.

  • Pode verificar se existem duplicados nas teclas de atalho: no menu Formatar , clique no comando Verificar HotKeys .

Compatibilidade de versões

Deve utilizar a versão do Winres.exe que foi lançada com o .NET Framework que está a utilizar. A tabela seguinte lista as versões compatíveis:

Visual Studio .NET Framework Winres.exe
Visual Studio .NET 2002 1.0 1.0
Visual Studio .NET 2003 1.1 1.1
Visual Studio 2005 2.0 2.0
Visual Studio 2008 3.0 e 3.5 3.0 e 3.5
Visual Studio 2010 4.0 4.0
Visual Studio 2017 4,6 4,6

Nota

Embora o VSFM tenha a vantagem de ser compatível com o Visual Studio, uma vez que armazena apenas valores alterados no ficheiro de recursos, Winres.exe requer que os encarregados de educação do ficheiro de recursos atual estejam localizados no mesmo diretório. Por exemplo, editar TestApp.de-DE.resources, um ficheiro de recurso alemão na Alemanha, requer a presença do ficheiro de recursos predefinido, e, possivelmente, TestApp.resxo ficheiro de recurso neutro em cultura, TestApp.de.resources.

Exemplos

Para localizar um ficheiro .resx ou .resources associado a um formulário

  1. Para executar Winres.exe, introduza winres na linha de comandos do programador.

  2. Para abrir os recursos predefinidos de um formulário para localizar, selecione Abrir Ficheiro > e navegue até ao ficheiro para o abrir.

    -ou-

    Especifique o ficheiro a abrir na linha de comandos quando iniciar Winres.exe. O comando seguinte inicia Winres.exe e carrega o formulário associado TestApp.resx ao no Estruturador de Formulários.

    winres TestApp.resx
    

    O comando seguinte inicia Winres.exe e carrega o formulário associado TestApp.resources ao no Estruturador de Formulários.

    winres TestApp.resources
    

    Nota

    Se o formulário cujos recursos está a editar for um formulário herdado, tanto a assemblagem continha o formulário herdado como a assemblagem que contém o formulário herdado (derivado) tem de estar registada na Cache de Assemblagem Global (GAC) ou tem de residir no mesmo diretório que WinRes.exe. Para obter mais informações sobre como instalar .NET Framework componentes no GAC, veja Global Assembly Cache (Cache de Assemblagem Global).

  3. Selecione controlos no formulário e altere as respetivas Text propriedades e outras para refletir a cultura localizada e o respetivo idioma. Mova ou redimensione controlos conforme necessário para acomodar o texto localizado.

  4. Para guardar a versão localizada do ficheiro .resx ou .resources, clique no ícone Guardar ou selecione Guardar Ficheiro>. A ferramenta apresenta a janela Selecionar Cultura .

  5. Selecione a cultura e o modo de ficheiro adequados e, em seguida, clique em OK.

    A ferramenta guarda o ficheiro com a convenção de nomenclatura que o runtime espera para ficheiros de recursos localizados. Por exemplo, se localizar TestApp.resources o alemão na Alemanha, a ferramenta guarda o ficheiro como TestApp.de-DE.resources. Se localizar TestApp.resx para alemão na Alemanha, a ferramenta guarda o ficheiro como TestApp.de-DE.resx. Para obter mais informações sobre convenções de nomenclatura de recursos, veja Empacotar e Implementar recursos. Para obter uma lista dos nomes de cultura predefinidos utilizados pelo runtime, veja a CultureInfo classe.

Ver também