Em teoria você não poderia cobrar pela tradução, já que não modificou o código e algoritmos do tal programa. Tanto faz se o programa roda em um idioma ou outro suas funcionalidades serão as mesmas.
Já se acrescentar / remover funcionalidades que modifiquem os códigos de programação, tudo bem. Você pode patentear esta parte do código e manter o restante sob glp/mit. Neste caso, cobrar pelo software é perfeitamente legal (é o que faz a Apple com seus sistemas, que rodam sob Unix licenciado pela bsd, a Totvs e outras empresas que "personalizam" um programa já escrito)
Já cobrar pelo suporte, pela embalagem do pacote ou pela geração da mídia é perfeitamente legal.
Uma maneira de "cobrar" pela tradução seria então embuti-la no programa e criar uma embalagem para ele. Isto não impediria que outros o utilizassem e o redistribuam visto o glp.
Outra maneira seria distribuir a tradução sob outra licença (bsd por ex.) mas separada do software original, o usuário instalaria o pacote xyz, e depois instalaria o pacote xyz.language. Como um pacote separado e mantido por outra licença e / ou patente, você impede a redistribuição / modificação do xyz.language.
O pacote xyz continuaria livre e original e se o usuário desejasse pagar pela tradução instalaria o xyz.language.