Spanyol memiliki masalah tradisional dengan bahasa asing. Orang Spanyol yang lebih muda dari 40 seharusnya tahu bahasa Inggris dari sekolah tetapi fakta sebenarnya adalah bahwa tingkat bahasa Inggris mendekati nol hampir di mana-mana.
Jadi pada dasarnya ada dua jenis lingkungan perangkat lunak: kode yang seharusnya dibagikan dengan pihak internasional (proyek sumber terbuka, kantor perusahaan multinasional asing Spanyol, vendor yang menjual di luar negeri) dan kode yang dijual secara lokal. Yang pertama tentu saja ditulis dalam bahasa Inggris tetapi yang terakhir biasanya ditulis dalam bahasa Spanyol, baik nama variabel dan dokumentasi. Kata-kata dalam variabel kehilangan aksen dan tilde seperti yang diperlukan untuk masuk ke ASCII 7-bit ( dirección
-> direccion
) dan bit bahasa Inggris dapat digunakan ketika mereka mewakili fitur bahasa standar ( getDireccion
) atau konsep tanpa terjemahan yang diterima secara universal ( abrirSocket
).
Kebetulan kata Spanyol untuk tahun (año) menjadi kata untuk anus ketika Anda menghapus tilde. Saya tidak memiliki masalah dengan penulisan ano
tetapi kebanyakan programmer lain menghindarinya dengan biaya berapa pun dan menghasilkan segala macam alternatif lucu seperti anno
atau anyo
:)
Beberapa sampel:
/**
* 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;
}