Spanien hat ein traditionelles Problem mit Fremdsprachen. Spanier, die jünger als 40 Jahre sind, sollten Englisch von der Schule an beherrschen, aber die Tatsache ist, dass das Englischniveau fast überall nahe Null ist.
Es gibt also grundsätzlich zwei Arten von Software-Umgebungen: Code, der an internationale Parteien weitergegeben werden soll (Open-Source-Projekte, spanische Büros ausländischer multinationaler Unternehmen, Anbieter, die im Ausland verkaufen) und Code, der lokal verkauft wird. Ersteres ist natürlich in Englisch verfasst, letzteres ist normalerweise in Spanisch verfasst, sowohl in Variablennamen als auch in Dokumentation. Wörter in Variablen verlieren nach Bedarf Akzente und Tilden, um in 7-Bit-ASCII ( dirección
-> direccion
) zu passen, und englische Bits können verwendet werden, wenn sie ein Standardsprachmerkmal ( getDireccion
) oder ein Konzept ohne allgemein akzeptierte Übersetzung ( abrirSocket
) darstellen.
Es kommt vor, dass das spanische Wort für Jahr (año) zum Wort für Anus wird, wenn Sie die Tilde entfernen. Ich habe kein Problem mit dem Schreiben, ano
aber die meisten anderen Programmierer vermeiden es um jeden Preis und produzieren alle möglichen lustigen Alternativen wie anno
oder anyo
:)
Einige Beispiele:
/**
* Devuelve una cadena aleatoria de la longitud indicada elegidos entre la lista proporcionada;
* contempla caracteres multi-byte
*/
function mb_cadena_aleatoria($longitud=16, $caracteres='0123456789abcdefghijklmnopqrstuvwxyz'){ // v2010-06-03
$cadena = '';
$max = mb_strlen($caracteres)-1;
for($i=0; $i<$longitud; $i++){
$cadena .= mb_substr($caracteres, mt_rand(0, $max), 1);
}
return $cadena;
}
/*
* Da formato a un número para su visualización
*
* numero (Number o String) - Número que se mostrará
* decimales (Number, opcional) - Nº de decimales (por defecto, auto)
* separador_decimal (String, opcional) - Separador decimal (por defecto, coma)
* separador_miles (String, opcional) - Separador de miles (por defecto, ninguno)
*/
function formato_numero(numero, decimales, separador_decimal, separador_miles){ // v2007-08-06
numero=parseFloat(numero);
if(isNaN(numero)){
return "";
}
if(decimales!==undefined){
// Redondeamos
numero=numero.toFixed(decimales);
}
// Convertimos el punto en separador_decimal
numero=numero.toString().replace(".", separador_decimal!==undefined ? separador_decimal : ",");
if(separador_miles){
// Añadimos los separadores de miles
var miles=new RegExp("(-?[0-9]+)([0-9]{3})");
while(miles.test(numero)) {
numero=numero.replace(miles, "$1" + separador_miles + "$2");
}
}
return numero;
}