Hola!
Con respecto al tema del tamaño: es lógico que el tamaño del ejecutable cambie, a menos que uses la misma cantidad de bytes que el string original que has traducido.
Habría que ver qué estas traduciendo: normalmente los strings se colocan en la sección de recursos, los cuales podrás cambiar sin problemas y sin preocuparte por el tamaño.
Ahora, si los strings están en la sección .data, tendrás problemas si te pasa de tamaño, pues corrompes varibles globales que el programa usa.
En fin, todo esto si es que el ejecutable no tiene algún mecanismo de comprobación para evitar modificaciones...
Saludos!
PD: Al principio (hace ya varios años), también perdí tiempo traduciendo programas, hasta que aprendí inglés como debe ser y dejé de perder tiempo en hacer esas cosas y pasé a cosas más interesantes.
Lo anterior no es para ofender, sino para mostrarte que hay mejores cosas que traducir programas y que no deberías perder tiempo en hacerlo...
Pero bueno, cada cual es partícipe de su propio destino.