bom a ideia de varios arquivos funciona mas do ponto de vista mais teorico é ruim, porque você precisaria manipular diversos arquivos (em média) para cada tradução. (muitos seeks, e bla bla bla, q você houve na faculdade na materia de estrutura de arquivos) Acho que seu professor não vai gosta dessa ideia, mas vms lá.... bom corrigir seus erros: (trad,"f = fopen("eu.txt","r");
bom pelo q eu entendo você quer fazer algo do tipo:
strcat(trad,texto_lido_do_arquvio);
certo?
se for isso então temos um problema porque a funcao fopen retorna um ponteiro de arquivo (o sei lá como se xama isso). Segundo, está faltando a função strcat() ali.
f = fopen("eu.txt","r");
strcat(trad,texto_lido);
Eu vi que você já utilizou a função fgets() acima, mas foi para ler uma linha de stdin (ou seja do input de dados que o usuário esta digitando). Faça a mesma coisa, mas em vez de ler de stdin, leia do seu arquivo.
fgets(char *buffer, int num, FILE *stream);