Hehehe, espero que alguém tenha interesse, pq tá ficando legalzinho. Só vou precisar testar no provedor depois (linux), pq no uindous tá tudo lindo rsrsrs.
A idéia é fazer uma primeira importação dos arquivos para a tabela e a partir daí priorizar os dados da tabela.
Por mais que eu mande reimportar, a rotina irá ignorar os registros que já tenham conteúdo, priorizando a tabela.
Fiz tb pensando em vários idiomas, bastando chamar as funções de importar ou exportar pra cada idioma:
function importa_idioma($arquivoIdioma, $idioma, $limpaBase)
importa_idioma(“pt_br.lang.php”, “pt_br”, false);
importa_idioma(“en_us.lang.php”, “en_us”, false);
importa_idioma(“es.lang.php”, “es”, false);
function exporta_idioma($arquivoIdioma, $idioma)
exporta_idioma(“pt_br.lang.php”, “pt_br”);
exporta_idioma(“en_us.lang.php”, “en_us”);
exporta_idioma(“es.lang.php”, “es”);
A cada exportação (geração de novos arquivos de idioma na pasta lang, a rotina fará um backup dos arquivos atuais em um diretório criado dentro de ‘lang’. O nome do diretório inclui data e hora pra separar cada exportação. Aqui é que sei que vai dar bronca no provedor (permissão, aliás, falta dela).
A tabela de idiomas tem os campos id (AutoIncremento), chave, pt_br, en_us, es e status. No meu caso tenho o sistema com 3 idiomas. Se o sistema tiver mais ou menos, basta criar a tabela de acordo, mantendo as colunas id, chave e status. O nome dos campos de idiomas seguem o mesmo padrão do 2º parâmetro usado nas funções.
Na importação, o 3º parâmetro serve pra dar um TRUNCATE na tabela de idiomas.
Vamos ver no que dá.