hola justo estoy intentando lo mismo estoy haciendo algo asi
este archivo contiene la funcion que extrae del xml y genera un array
con la variable $over se obtienen los distintos textos
Código PHP:
<?php
session_start();
error_reporting();
function fetch_xml($xml){
if(is_file($xml)){
$xml_data = file_get_contents($xml);
}
else{
$xml_data = $xml;
}
$parser = xml_parser_create();
xml_parse_into_struct($parser, $xml_data, &$assoc_arr, &$idx_arr);
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
$root_tag = $assoc_arr[0]['tag'];
$base_tag = strtolower($assoc_arr[1]['tag']);
$i = 0;
foreach($assoc_arr as $key => $element){
if($element['tag'] != $root_tag){
if(!preg_match('/^\s+$/', $element['value'])){
$tag = strtolower($element['tag']);
$items[$i][$tag] = $element['value'];
if($tag == $base_tag){
$i++;
}
}
elseif(isset($element['attributes'])){
$items[$i]['id'] = $element['attributes']['ID'];
}
}
}
return $items;
}
$over = fetch_xml('lang/es_ES/default.xml');
$lang = $over[0];
function __($value){
return $over[0][$value];
}
echo $over[0]["exit"];
echo __("exit"); // NO SE POR QUE NO FUNCIONA
?>
nos eporque no funciona una pequeña funcion que haria que para obtener el texto teng aque hacer algo asi
Código PHP:
<?php
echo __("exit");
?>
lo que imprimiria "logout"
mis archivo xml son asi
Código HTML:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<xml:lang>
<traslate id="es_ES">
<home>Inicio</home>
<register>Registro</register>
<exit>Salir</exit>
</traslate>
</xml:lang>