Es crea la pàgina amb «== Format == Els fitxers d'idiomes sempre es diuen <b>LDST_''{lang_code}''.xml</b>. On ''{lang_code}'' és el codi de 2 lletres del idioma (Ex: LDST_CA.xml Català, LDST_...». |
|||
| Línia 17: | Línia 17: | ||
<verification code={auth_code}> | <verification code={auth_code}> | ||
</lang> | </lang> | ||
</pre> | |||
Per garantir l'integritat dels fitxers s'ha afegit un codi de verificació. El codi es calcula fent la XOR dels codis de verificació individuals de totes les linies. Es fa d'aquesta manera ja que si ens permuten l'ordre de les linies dins de cada apartat el fitxer continua sent vàlid. <br/> | |||
La funció per calcular el codi d'una linia funciona de la següent manera: | |||
<pre> | |||
calc_codi_linia(string lloc_linia,string clau,string valor) | |||
int32 resultat=0 | |||
per cada caracter c en UTF16(lloc_linia) | |||
resultat=resultat xor c | |||
rotar_un_bit_esquerra(resultat) | |||
fi per | |||
resultat=resultat xor 0x55555555; | |||
per cada caracter c en UTF16(clau) | |||
resultat=resultat xor c | |||
rotar_un_bit_esquerra(resultat) | |||
fi per | |||
retorn=retorn xor 0xaaaaaaaa; | |||
per cada caracter c en UTF16(valor) | |||
resultat=resultat xor c | |||
rotar_un_bit_esquerra(resultat) | |||
fi per | |||
retornar resultat | |||
fi funció | |||
</pre> | </pre> | ||
Revisió del 15:37, 3 oct 2012
Format
Els fitxers d'idiomes sempre es diuen LDST_{lang_code}.xml. On {lang_code} és el codi de 2 lletres del idioma (Ex: LDST_CA.xml Català, LDST_ES.xml Espanyol, LDST_ZH.xml Xinès ....)
Les dades estan guardades en format XML i la codificació és UTF-8.
<?xml version="1.0" encoding="utf-8"?>
<lang id={lang_code}>
<messages>
<message name={msg_name} value={msg_text}>*
</messages>
<forms>
<form name={form_name}>
<field name={control_path} value={control_text}/>*
</form>*
</forms>
<verification code={auth_code}>
</lang>
Per garantir l'integritat dels fitxers s'ha afegit un codi de verificació. El codi es calcula fent la XOR dels codis de verificació individuals de totes les linies. Es fa d'aquesta manera ja que si ens permuten l'ordre de les linies dins de cada apartat el fitxer continua sent vàlid.
La funció per calcular el codi d'una linia funciona de la següent manera:
calc_codi_linia(string lloc_linia,string clau,string valor)
int32 resultat=0
per cada caracter c en UTF16(lloc_linia)
resultat=resultat xor c
rotar_un_bit_esquerra(resultat)
fi per
resultat=resultat xor 0x55555555;
per cada caracter c en UTF16(clau)
resultat=resultat xor c
rotar_un_bit_esquerra(resultat)
fi per
retorn=retorn xor 0xaaaaaaaa;
per cada caracter c en UTF16(valor)
resultat=resultat xor c
rotar_un_bit_esquerra(resultat)
fi per
retornar resultat
fi funció