Boa tarde Pessoal,
Seguinte, estou com alguns probleminhas aqui. Tenho um arquivo em CSV de tradução e estou criando a integração com a api Google Tradutor(haha, infelizmente tem que pagar essa meleca, mais fazer o que!!) para traduzir determinados termos deste CSV. Eu preciso ler ele e fazer algumas alterações.
Basicamente, cada linha tem uma palavra ou frase em inglês seguido de uma virgula e o mesmo termo em inglês, como abaixo.
Active,Active
O que tenho que fazer é pegar a segunda palavra, jogar numa variável para que eu possar chamar um método, que tenho quase pronto aqui, que ira receber uma string e passar para o Google traduzir, e ele deverá retornar a string traduzida e atualizar o csv.
O grande problema é:
- Como ler cada linha do CSV
- Como pegar a segunda palavra ou frase, inserir numa variável(para que assim eu possa chamar o meu método traduzir)
- E como pegar o retorno do método(isso eu sei fazer) e atualizar(isso não consegui bolar a logica para isso) a linha com o termo traduzido(A linha deverá ficar, no exemplo acima, desta maneira: Active, Ativo)
Outros problemas a se considerar são que há duas variações de linhas, como no exemplo abaixo:
-
Possuem aspas duplas nos termos, mais continuam sendo separados por virgula como no exemplo acima
“Add Banner”,“Add Banner” -
Frases que tem virgula, neste caso, sempre se usa aspas duplas em cada termo
“Hello, Welcome”,“Hello, Welcome”
Pela minha ideia, a logica seria mais ou menos assim(meu teste de mesa - é meio doido mesmo :shock: ):
START_LOOP
SE (LINHA NAO COMECAR POR ASPAS DUPLAS)
{
PERCORRER LINHA ATE ENCONTRAR UM VIRGULA E SEPARAR O QUE ELE ENCONTROU ANTES E DEPOIS EM DUAS VARIAVEIS TEMPORARIAS(var1 E var2)
CRIAR VARIAVEL TEMPORARIA (var3)
ARMAZENAR O RETORNO DO METODO TRADUZIR NA var3 [OBS: metodo traduzir passa como paramento a var2]
APAGAR TODO O CONTEUDO DA LINHA EM QUESTAO
PREENCHER A LINHA COM var1 + “,” + var3
}
SENAO SE(LINHA COMECAR POR ASPAS DUPLAS)
{
PERCORRER LINHA ATE ENCONTRAR “,” (ASPAS VIRGULA ASPAS) E SEPARAR O QUE ELE ENCONTROU ANTES E DEPOIS EM DUAS VARIAVEIS TEMPORARIAS(var1 E var2)
CRIAR VARIAVEL TEMPORARIA (var3)
RETIRAR A ASPA QUE FICOU NO INICIO DA var1 COM REPLACE
RETIRAR A ASPA QUE FICOU NO FINAL DA var2 COM REPLACE
ARMAZENAR O RETORNO DO METODO TRADUZIR NA var3 [OBS: metodo traduzir passa como paramento a var2]
APAGAR TODO O CONTEUDO DA LINHA
PREENCHER A LINHA COM " " " + var1 + " " , " " + var3 + " " "
}
END_LOOP
Agora como implementar, principalmente a parte de cortar a linha de acordo com o paramentro ou como apagar uma determinada linha e preencher ela de novo no csv, de forma a atualizar ele, é que não sei.
Qualquer dúvida, estou a disposição.