12345678910111213141516171819202122232425262728293031323334353637 |
- import csv
- def csv_to_files (path):
- header = []
- with open(path, newline='') as csvfile:
- reader = csv.reader(csvfile, delimiter=',') #le csv, modifica delimitador se necessario
- header = next(reader) #le primeira linha
- header.pop(0) #retira primeiro elemento, pois eh vazio
- matrix_strings = [] #cria matriz que recebera as strings que irao para cada arquivo
- for row in reader: #como a primeira linha ja foi lida comeca a partir da segunda
- line = []
- for value in row[1:]: #primeiro elemento eh a chave que tem em todos os arquivos, entao pega a partir do segundo
- line.append (row[0]+"="+value) #concatena chave, "=" e traducao
- matrix_strings.append(line)
-
- #ao fim cria matriz com cada coluna contendo as chaves + traducoes de cada linguagem
- #ex coluna: en_US
- # loading=LOADING
- # title=Fractions
- # ...
-
- lang_num = 0
- for lang in header:
- #pega uma coluna por vez e insere no arquivo de linguagem no diretorio atual
- translations =''
- for line in matrix_strings:
- translations = translations+line[lang_num]+"\n"
- text_file = open(lang, "w") #abre o arquivo que sera criado
- text_file.write(translations) #escreve no arquivo
- text_file.close() #fecha o arquivo
- lang_num = lang_num + 1
- #importante perceber que todos os arquivos ficarao com a ultima linha vazia
- path = "lang.csv" #caminho para arquivo csv gerado anteriormente
- csv_to_files(path)
|