Comunidad de diseño web y desarrollo en internet online

creando archivos de idiomas PHP

Citar            
MensajeEscrito el 09 Nov 2006 03:44 pm
Como wordpress u otros sistemas similares me gustaría saber cómo hacen para insertar los textos en una web desde un fichero externo. En mi agencia usan un fichero texts.php en el que hay definidos por arrays los textos de todo el website. En los (x)html leemos el array[valor] de cada parrafo o titulo etc.

Código :

$txt_header["titulo"]="Titulo del website";

Código :

<title><?=$txt_header["titulo"]?></title>

A mi personalmente este sistema no me gusta mucho, aunque no conozco muchos, pero creo que tener un fichero solo de textos, los cuales puedan identificarse mediante algún tipo de identificador como #2-1 o algo así sería mucho mejor.
Supongo que lo normal es escrbir en cada (x)html lo que toca, pero con un fichero externo, podríamos mandar a traducirlo y así el traductor nos daría el trabajo hecho, además de que las modificaciones en muchas cosas serían más rápidas.
Necesito ponerme al día de cuál es el mejor sistema para esto, saber que usais cada uno etc.

Un saludo!

[/code]

Por frenadoll

922 de clabLevel

6 tutoriales

Genero:Masculino  

Barcelona

firefox
Citar            
MensajeEscrito el 17 Nov 2006 11:54 am
Hola,

en Mambo por ejemplo se utiliza varios ficheros de idiomas en PHP donde se declaran un montón de constantes con las traducciones oportunas:

Código :

DEFINE('_NOT_AUTH','No estás autorizado para ver este recurso.');
DEFINE('_DO_LOGIN','Necesitas iniciar sesión.');
DEFINE('_VALID_AZ09',"Por favor, ingresa un %s válido. Sin espacios, más de %d caracteres y que contengan 0-9,a-z, or A-Z");
DEFINE('_CMN_YES','Si');
DEFINE('_CMN_NO','No');
DEFINE('_CMN_SHOW','Mostrar');
DEFINE('_CMN_HIDE','Ocultar');
...


y luego lo único que hacen es incluir el fichero de idioma que se necesite. El código de la web no se modifica porque el nombre de las constantes serán las mismas para todos los idiomas, no así su valor, que será la traducción en cada uno de esos idiomas. Por tanto, los traductores solo tendrían que modificar estos ficheros de idiomas externos.

En java se suele hacer algo parecido con los archivos .properties.

Un saludo.

Por dmvalverde

150 de clabLevel



Genero:Masculino  

Extremadura

firefox
Citar            
MensajeEscrito el 22 Nov 2006 09:02 am
Eso es exactamente lo mismo que estoy haciendo, pero en lugar de constantes son iteraciones de uno o varios arrays.

Sabes que es más rápido de parsear?

Por frenadoll

922 de clabLevel

6 tutoriales

Genero:Masculino  

Barcelona

firefox
Citar            
MensajeEscrito el 22 Nov 2006 11:24 am
:roll: Pues no tengo ni idea. Pero yo diría que son más rápidas las constantes. Lo digo por el modo de acceso en disco a estos dos tipos.

Con las constantes, se accede al disco directamente y se devuelve su valor. Sin embargo, con los arrays se accede primero a la dirección base del array y luego, dependiendo de la posición en la que se encuentre el valor que quieres coger, la cabeza lectora del disco se tendría que desplazar a esa posición. Con los ordenadores de hoy ese tiempo es insignificante pero... ahí está.

Un saludo.

PD: Estoy hablando de memoria sin consultar mis apuntes de la escuela asi que tampoco me hagas mucho caso :wink:

Por dmvalverde

150 de clabLevel



Genero:Masculino  

Extremadura

firefox
Citar            
MensajeEscrito el 22 Nov 2006 04:35 pm
OK gracias :)

Por frenadoll

922 de clabLevel

6 tutoriales

Genero:Masculino  

Barcelona

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.