Pergunta

Eu tenho alguns recursos de cordas, por exemplo, uma string user-vindo. Por padrão, ele deve ser "Olá", mas para o cliente X deve ser "Saudações".

Eu gostaria de usar do .NET implementação recursos , e ter as cordas sentar-se em constantes ou em arquivos ou onde quer que eu gosto, mais o modelo de hierarquia se adapta às minhas necessidades:. recursos de clientes da X substituir a string user boas-vindas

O único problema -. Parece que os recursos do .NET são voltadas para i18n, e eles escolher entre a hierarquia com base na cultura atual

Por enquanto eu vou estar mantendo recursos planas por cliente e mapear a hierarquia mim, mas há uma solução melhor?

Foi útil?

Solução

Não há realmente nada que impeça você de ter múltiplos ResourceManagers, mas como você diz que foi projetado para l18n. Pessoalmente, eu tive muitos problemas com o material resx especialmente quando se tratava de conjuntos de satélite o GAC e implantação. A outra questão que eu tenho é a rigidez deste sistema, se você precisar de uma nova seqüência que você precisa recompilar a dll e muck ao redor com xml, seus clientes não têm flexibilidade em torno fixação coisas para cima, algo que não comer no tempo de suporte.

A hierarquia baseada solução o material resx tem meios ele vai cair para trás de "en-US" para "en" e, finalmente, a invariante, você não tem mais fallbacks que isso e você não pode definir dois diferentes "en- EUA" em um arquivo de recurso para a mesma cadeia. Você poderia cortar esta solução para usar "en-US" para o cliente X e "en-AU" para o cliente Y e, em seguida, enviar como um recurso, mas isso é confuso como o inferno.

Você poderia compilar um satélite diferente de montagem para cada cliente e chegar a este trabalho de alguma forma.

Pessoalmente, eu prefiro muito mais uma solução de banco de dados suportado para localização usando sqlite ou mssql, e garantir I executar alguns cache após pesquisas de cordas iniciais.

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