Compartilhar via


Globalização e localização de soluções do Office

A maioria dos aspectos de globalização e localização de soluções do Microsoft Office são as mesmas que você encontrar quando você criar outros tipos de soluções usando o Visual Studio.Para Geral informações, consulte Globalizando e Localizando Aplicativos.Globalização e localização informações podem também ser encontradas no de páginas da MSDN problemas de localização e globalização para soluções criados com o Microsoft Visual Studio Tools para o Microsoft Office Sistema.

Localizando texto do documento

O documento, modelo ou pasta de trabalho no seu projeto provavelmente incluir texto estático, que deve ser localizados separadamente do conjunto de módulos (assembly) e outros recursos gerenciados.Uma maneira simples para fazer isso é fazer uma Copiar do documento e converter o texto usando o Microsoft Office Word ou Microsoft Office Excel.Esse processo funciona mesmo se você não fazer nenhuma alteração no código, porque qualquer número de documentos pode ser vinculado para o mesmo Assembly.

Você ainda deve fazer se qualquer parte do código que interage com o texto do documento continua a coincidir com o idioma do texto e que indicadores, intervalos, nomeados e outros campos de Exibir acomodar qualquer reformatar o documento do Office que era necessário ajustar o comprimento de gramática e de texto diferente.Para modelos de documento que contêm relativamente pouco texto, você talvez queira armazenar o texto em arquivos de recurso e, em seguida, Carregando o texto em tempo de execução.

Direção do texto

No Excel, você pode definir uma propriedade da planilha para processar textDireito para esquerda.Controles de host ou qualquer controle que possui uma propriedade de RightToLeft, que são colocados no designer automaticamente concordar com essas configurações em tempo de execução.O Word não tem uma configuração de documento de texto bidirecional (você apenas alterar o alinhamento do texto), portanto, os controles não podem ser mapeados para essa configuração.Em vez disso, você deve definir o alinhamento de texto para cada Controlarar.É possível Gravar código para percorrer Tudo controles e forçá-los para processar texto de Direito para a esquerda.

Alterar a cultura

O código de personalização geralmente compartilha o thread da interface do usuário principal do Word ou Excel, para qualquer alterações criar para a cultura de thread afeta tudo isto é Executando em que thread; a Alterar não está restrita para sua personalização.

Controles Windows Forms são inicializadas antes que Ferramentas do Visual Studio para o Office Adicionar-ins é iniciados pelo aplicativo host.Nessas situações, a cultura deve ser alterada antes Configuração os controles de interface do usuário.

Instalando os pacotes de idioma

Se você tiver configurações que não sejam o inglês para o Windows, você pode instalar o Ferramentas do Visual Studio para o Office pacotes de idioma para ver Ferramentas do Visual Studio para o Office Tempo de execução mensagens mesmo idioma como o Windows.Se os usuários finais executar suas soluções com configurações que não sejam o inglês do Windows, eles devem ter o pack idioma correto para ver mensagens de tempo de execução no mesmo idioma como o Windows. Os pacotes de idioma Ferramentas do Visual Studio para o Office estão disponíveis no do Centralizar de Baixar da Microsoft.

Além disso, os pacotes de idiomas redistribuível .NET Framework são necessários para mensagens de ClickOnce.Os pacotes de idioma do .NET Framework estão disponíveis no do Centralizar de Baixar da Microsoft.

Configurações regionais e de chamadas de COM do Excel

Sempre que um cliente gerenciado chama um método em um objeto COM e necessárias para passar informações específicas de cultura, ele faz isso usando o CurrentCulture (localidade) que corresponda ao local de thread atual.O Localidade de thread atual é herdado das configurações regionais do usuário por padrão.No entanto, quando você faz uma chamada para o modelo de objeto do Excel, Ferramentas do Visual Studio para o Office passa em um identificador de localidade invariável de cultura (LCID) automaticamente.Você deve formatar Tudo dados que possui formatação de detecção de localidade, como datas e Unidade Monetária, usando o formato de dados de inglês (Estados Unidos) (LCID 1033) antes de passá-lo para o Microsoft Office Excel ou ler os dados do seu código do projeto Ferramentas do Visual Studio para o Office.For more information, see Formatação de dados no Excel com várias configurações regionais.

Esse comportamento é controlado pelo atributo ExcelLocale1033Attribute.Você pode alterar o comportamento para que os dados são passados usando o LCID do thread atual configuração ExcelLocale1033Attribute como false.Você pode então Gravar seu próprio código para manipular a interação entre o Excel e código gerenciado.For more information, see Como: Verifique literais de Cadeia de Caracteres seguro de região no Excel usando Reflexo.

Considerações para armazenar dados

Para garantir que seus dados é corretamente interpretados e exibidos, você também deve considerar que problemas podem ocorrer quando um aplicativo está armazenando dados, incluindo fórmulas de planilha do Excel, em literais de Cadeia de Caracteres (embutidos) em vez de em objetos de tipo mais acentuado.Você deve usar dados que estão formatados supondo que um estilo de invariável de cultura ou inglês (Estados Unidos) (o LCID valor en-US).

Aplicativos que usam literais de Cadeia de Caracteres

Valores possíveis que podem estar embutidas Incluir data literais que são gravados no Formatarar de inglês (Estados Unidos) e as fórmulas de planilha que contêm nomes de função localizado do Excel.Outra possibilidade pode ser uma Cadeia de Caracteres embutida que contém um número, como "1.000"; em algumas culturas, isso é interpretado como um mil, mas em Outro culturas, ele representa um ponto zero.Cálculos e comparações executadas no Formatarar errado podem resultar em dados incorretos.

O Excel interpreta qualquer seqüências de acordo com o LCID que é passado com a seqüência de caracteres.Isso pode ser um problema se o Formatarar da Cadeia de Caracteres não corresponder ao LCID que é passado.Ferramentas do Visual Studio para o Office usa o 1033 LCID (en-US) quando passar Tudo dados.O Excel exibe os dados acordo com às configurações regionais e o Excel idioma da interface do usuário.Visual Basic for Applications (VBA) funciona dessa maneira; seqüências de caracteres são formatadas como en-US e VBA quase sempre passa 0 (idioma neutro) como o LCID.Por exemplo, o código VBA a seguir exibe um valor formatado corretamente de, 12 de maio de 2004, de acordo com a configuração de localidade do usuário atual:

'VBA
Application.ActiveCell.Value2 = "05/12/04"

O mesmo código, quando usado em uma solução Ferramentas do Visual Studio para o Office e passadas para o Excel interoperabilidade COM, produz os mesmos resultados quando a data é formatada em estilo en-US.

Por exemplo:

Me.Range("A1").Value2 = "05/12/04"
this.Range["A1", missing].Value2 = "05/12/04";

Você deve trabalhar com tipo mais acentuado dados em vez de literais de Cadeia de Caracteres sempre que possível.Por exemplo, em vez de armazenar uma data em uma Cadeia de Caracteres literal, armazená-lo como um Doublee Converterê-lo em um objeto de DateTime para manipulação.

A seguir utiliza exemplo código uma data que um usuário insere na célula A5, armazena-lo como um Double, em seguida, converte-lo para um DateTime objeto Exibir na célula A7.Célula A7 deve ser formatado para exibir uma data.

Private Sub ConvertDate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles ConvertDate.Click

    Try
        Dim dbl As Double = Me.Range("A5").Value2
        Dim dt As System.DateTime = System.DateTime.FromOADate(dbl)
        Me.Range("A7").Value2 = dt

    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try
End Sub
private void ConvertDate_Click(object sender, EventArgs e)
{
    try
    {
        double dbl = (double)(this.Range["A5", missing].Value2);
        System.DateTime dt = System.DateTime.FromOADate(dbl);
        this.Range["A7", missing].Value2 = dt;
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

Funções de planilha do Excel

Nomes de função de planilha são traduzidas internamente para a maioria das versões de idioma do Excel.No entanto, devido ao idioma possível e problemas de interoperabilidade COM é altamente recomendável que você usar nomes de função apenas em inglês em seu código.

Aplicativos que utilizam dados externos

Qualquer código que abre ou caso contrário, usa dados externos, como arquivos que Incluir valores separados por vírgulas (CSV arquivos) exportadas de um sistema herdado, também poderá ser afetado se esses arquivos são exportados usando qualquer Formatarar Além en-US.Acessar ao banco de dados não pode ser afetado porque Tudo valores devem estar em Formatarar binário, a menos que o banco de dados armazena datas como seqüências de caracteres ou executa operações que não usam o Formatarar binário.Além disso, se você criar consultas SQL usando dados do Excel, talvez seja necessário garantir que eles estejam no Formatarar en-US, dependendo da função que você usar.

Consulte também

Tarefas

Como: Destino a interface do usuário multilíngüe do Office

Conceitos

Formatação de dados no Excel com várias configurações regionais

Implantando soluções do Office (Sistema de 2003)

Criar soluções do Office no Visual Studio

Noções básicas sobre parâmetros opcionais in Office Solutions