News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

Codificacion correcta para archivo Modifications.spanish_latin-utf8.php

Started by KENT10000, February 10, 2017, 02:15:26 PM

Previous topic - Next topic

KENT10000

Hola,

En esta ruta  Themes/default/languages/ se encuentra el archivo "Modifications.spanish_latin-utf8.php"

De forma predetrminada ese archivo esta con codificacion  ANSI

Como lo habia comentado en otro tema, si las traducciones estan con los parametros ACUTE y TILDE. NO se presenta ningun problema.

PERO si las traducciones NO llevan esos parametros, la salida de las vocales con tilde, y las letras Ñ es incorrecta (Con simblos extraños)
En este ultimo caso, si el archivo se guarda con codificacion UTF-8 el problema se soluciona. PERO se genera un nuevo problema
Con el CAPTCHA predeterminado del foro. Cuando los usuarios se van a registrar, el CAPTCHA NO les aparece. Y la unica forma
para que vuelva a aparecer, es dejando ese archivo  "Modifications.spanish_latin-utf8.php" Con su codificacion predeterminada (ANSI)

Cual es la razon para que suceda esto con el captcha ?

Cual debe ser la codificacion apropiada para el archivo  "Modifications.spanish_latin-utf8.php"  ?

Las traducciones se deben hacer con los parametros ACUTE y TILDE ?





Gluz

Ese archivo debe estar en UTF8, el mismo nombre del archivo lo dice, así que otro problema tienes con algún otro archivo de idioma o con otro archivo que interfiere en el captcha. Puede ser que al guardarlo como UTF8 se guarde con BOM y eso es lo que afecta al captcha, ya que los archivos UTF8 no deberían llevar BOM.

Puedes revisar con la herramienta File_check.php que sirve para revisar que todos los archivos de SMF cumplan con reglas básicas de iniciar con <?php (nada antes de eso), que terminen con ?> (sin nuevas líneas ni espacios después, hay algunos que ni lo ponen por lo que recomiendo editar esos archivos para ponerlo), y que los que son UTF8 estén sin BOM. Para los de idioma, si el idioma es UTF8, primero recomiendo revisarlos para que estén correctamente codificados en UTF8, luego correr la herramienta para revisar los archivos y corregir los errores marcados.

Con respecto a la última pregunta, se puede hacer, pero si se usa la codificación correcta deberías poder escribir normalmente todos los caracteres en el archivo de lenguaje y en el foro deben aparecer correctamente, esa es la finalidad de los archivos de idioma al final de cuenta.

KENT10000

Muchas gracias Gluz.

Me ha sido de gran utilidad la informacion.

No conocia esa herramienta.

Ahora el UTF-8 me funciona correctamente.

El problema lo tenia al guardar el archivo con codificacion UTF-8  sin BOM. NO lo guardaba correctamente.
Y era porque primero tenia que codificarlo a UTF-8 sin BOM, y luego si guardarlo.


Pero al estar ese archivo codificado en ANSI. Y pasar esa herramienta; NO me da ningun error. ¿ Cual es la razon ?

Al utilizar esa herramineta me salen varias lineas con esto: "Strict Standards: Only variables should be passed by reference in RUTA/file_check.php on line 70"

Que significa eso ?





Gluz

La razón es que esa herramienta solo revisa que los archivos UTF8 no tengan BOM y el inicio y final del archivo, no revisa internamente la codificación del archivo y su contenido, por eso te mencionaba de primero pasar correctamente a UTF8 los archivos de idioma que terminan en UTF8, para que la herramienta haga el trabajo que debe.

Ese error nunca me ha salido, no sabría muy bien a que se refiere, pero una búsqueda rápida dice que por la configuración de PHP de tu host, una de las rutinas del archivo da ese error.

Si solo da ese error y no te da resultados, entonces debes cambiar lo de la línea 70 del archivo file_check.php así:
        $extension = array_pop(explode('.', $filename));
Reemplazar por esto:
$ff_var = '';
$ff_var = explode('.',$filename);
$extension = array_pop($ff_var);


Viendo que un MOD tiene exactamente una parte así y así resolvieron lo del error.

KENT10000

Con ese reemplazo, ya no aparecen esas lineas.

Esta herramienta evita el tener que hacer ese trabajo de forma manual.
Gracias por la informacion.

Y nuevamente muchas gracias por tu gran colaboracion.

Un saludo.

Advertisement: