Pergunta

Como você mantém as línguas faladas cordas em seu programa até à data? Existe uma maneira barata? Onde você pode encontrar pessoas para fazer as conversões ao longo do tempo?

Foi útil?

Solução

Há empresas que se traduzirá arquivos de recursos nos formatos padrão para taxas; Eu acho que é como a maioria das grandes empresas fazê-lo.

Eu fiz uma pergunta semelhante recentemente aqui sobre o melhor maneira de código de estrutura de um projeto de apoio a este, com o meu desejo adicional para preservar as cordas legíveis no código. Este não é padrão, embora ... normalmente você iria colocar todos os recursos string em um arquivo separado e se referem a eles por ID no código, e ter o arquivo traduzido.

Veja .rc arquivos para Windows C ++, arquivos .resx para .NET, não sei o que existe para Linux / Mac / outro, mas eu tenho certeza que existem equivalentes.

Outras dicas

Este foi extraído em de Joel Best Software Escrita I: http : //blogs.msdn.com/ericlippert/archive/2003/10/28/53298.aspx (Quantos funcionários da Microsoft que é preciso para trocar uma lâmpada?), e em um nível elevado discute como simples mudanças têm grandes ramifcations. Se você considerar que MS tem muitas aplicações internacionalizadas, e este é o processo que eles usam para garantir que seus aplicativos manter-se atualizado com mil fatores, incluindo cordas novos / modificados não se perdidas em outras línguas.

Para as necessidades de tradução (uma área que eu tenho um pouquinho de conhecimento!), Eu recomendaria OmniLingua Worldwide.

Eu acho que isso depende de como acessível você quer as línguas a ser, o que provavelmente depende muito o que o projeto é, em primeiro lugar (profissional, passatempo, etc)

No meu trabalho passatempo tenho as cordas específicas para a localidade armazenados em um arquivo JSON externo simples (XML ou mesmo um simples INI iria funcionar tão bem, qualquer coisa que pode dar-lhe pares chave-valor). Isto tem os benefícios de ser multi-plataforma, fácil de editar e (se isso for desejado) permite que qualquer pessoa com o conhecimento ea determinação para traduzir seu aplicativo para seu idioma de escolha. Para projetos de código aberto e similares, que pode ser inestimável.

Para projetos que você não pode querer traduzido quer queira quer não, os recursos, em seguida, embutidos são provavelmente uma aposta mais segura, em que eles são razoavelmente fácil para os desenvolvedores para trocar, mas dar pelo menos um obstáculo trivial para aspirantes a tradutores. Mesmo nesse caso, porém, o método de armazenamento não precisa ser complexa. Qualquer um dos tipos de arquivo dado ou uma tabela de cadeia nativa vai fazer.

Nos projetos que tenho trabalhado, temos tomado duas abordagens diferentes para localização, dependendo do tamanho do projeto. Para projetos menores, onde cada desenvolvedor "possui" um componente, é responsabilidade do desenvolvedor para manter a lista do que precisa ser traduzido e em quais idiomas.

Para projetos maiores, temos marcado cada corda com um prefixo de idioma. Por exemplo, a cadeia alemã para "Yes" é marcado como "[de] Sim". Depois da localização, a seqüência é substituída por "Ja". Isto torna mais fácil encontrar as coisas que foram perdidas como você pode pesquisar pelo prefixo.

Quanto a fontes comerciais adicionais, tenho trabalhado em vários pontos com Net-Translators e BMT , este último mais recentemente.

Eu recomendo fortemente verificando o vento oeste db provedor de recursos .

I gerenciar uma aplicação web de gerenciamento de projetos open source ( http://sharpforge.org/p/SharpForge aspx ) e inicialmente utilizado os resx. Aqui estão os problemas que tive

  • Eu queria acessar esses recursos rigidez da camada BLL. Ele simplesmente não era possível.
  • Os resx também são muito difíceis de manter, adicionar / remover / alterar chaves de recursos pode criar todos os tipos de problemas.
  • Finalmente eu estava tendo enormes problemas não salvar os arquivos usando editores com o caractere correto mapa / codificação que tira todo o texto traduzido. O processo de obtenção dos recursos do tradutor para o repositório de código, muitas vezes resultou em munging o texto.

Eu era capaz de implementar o provedor db como parte da aplicação. Ele vem com um editor que você pode dar o acesso aos tradutores. Sua tradução vai diretamente para o aplicativo sem a manipulação de casal e está disponível assim que o aplicativo for reiniciado. Ele também tem a capacidade de criar objetos rigidez para acessar o provedor a partir de qualquer camada.

Uma vez que este foi instalado eu simplesmente criou um projecto de tradução on getafreelancer e foi capaz para obter 25 traduções feitas para a minha aplicação dentro de cerca de 2 semanas. Tudo por cerca de US $ US50-100 cada.

Entre em contacto nos fóruns sharpforge se tem alguma perguntas sobre como implementá-lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top