@chincapie/platzom
Version:
Traductor de idioma platzom
47 lines (38 loc) • 1.48 kB
JavaScript
export default function platzom(str){
let translation = str;
// Si la palabra termina en ar se le quitan esos caracteres:
if(str.toLowerCase().endsWith('ar')){
translation = str.slice(0,-2);
}
//Si la palabra inicia con Z se le agrega "pe" al final:
if(str.toLowerCase().startsWith('z')){
translation = translation.concat('pe');
}
// Si la palabra tiene mas de 10 caracteres
// Se debe partir a la mitad y unir con un guión medio
const longiud = translation.length;
if(longiud >= 10){
const primeraMitad = translation.slice(0,Math.round(longiud/2));
const segundaMitad = translation.slice(Math.round(longiud/2));
//translation = primeraMitad.concat('_').concat(segundaMitad);
translation = `${primeraMitad}_${segundaMitad}`;
}
// Si la palabra original es un palíndromo,
// ninguna regla anterior cuenta y se devuelve
// la misma palabra intercalando mayúsculas y minúsculas
const reverse = (str) => str.split('').reverse().join('');
function minMay(str){
longitud = str.length;
let translation = '';
let strV = str.split('');
for(let i=0;i<longitud;i++){
translation += i%2 == 0 ? strV[i].toUpperCase():strV[i].toLowerCase();
}
return translation;
}
if(str == reverse(str))
{
return minMay(str);
}
return translation;
}