Ethiopian Names — Consolidated (1000 names, Single File)
ኢትዮጵያዊ ስሞች — Ethiopian Names
All-in-one file with large dataset (1000 entries), search & filters, user submissions, and ads every 100 names.
➕ ስም መጨመር — Add a Name
| ስም (Amharic) |
Name (English) |
Meaning |
Gender |
Origin |
Group |
`;
}
function render(){
const rows=filtered();
let html="";
for (let i=0;i
${r.am||""} | ${r.en||""} | ${r.meaning||""} |
${r.gender||""} | ${r.origin||""} | ${r.group||""} |
`;
if ((i+1) % ADS_EVERY === 0) html += adBlockHTML();
}
tbody.innerHTML = html;
count.textContent=`${rows.length} names shown${showGen.checked ? "" : " (generated variants hidden)"} — dataset size: ${combined().length}`;
}
function trim(v){return (v||"").trim();}
function duplicateExists(am,en){
return combined().some(r=>r.am===am && r.en.toLowerCase()===en.toLowerCase());
}
addBtn.onclick=()=>{
const entry={
am: trim(am_in.value), en: trim(en_in.value), meaning: trim(meaning_in.value),
gender: gender_in.value, origin: origin_in.value, group: group_in.value
};
if(!entry.am || !entry.en || !entry.meaning){
msg.textContent="Please fill Amharic, English, and Meaning."; msg.className="warn"; return;
}
if(duplicateExists(entry.am, entry.en)){
msg.textContent="That name already exists (same Amharic + English)."; msg.className="err"; return;
}
const mine=loadUser(); mine.push(entry); saveUser(mine);
am_in.value=en_in.value=meaning_in.value=""; msg.textContent="Added!"; msg.className="ok"; render();
};
clearUserBtn.onclick=()=>{ localStorage.removeItem(LS_KEY); msg.textContent="Cleared your added names."; msg.className="ok"; render(); };
[q,gender,origin,groupSel,sortSel,showGen].forEach(el=>el.oninput=render);
render();
Comments