View on GitHub

Stagyrite

🏡 Pagina domestica 🏡

Languages

Language proficiency

🔢 🏁 Language CEFR
1️⃣ 🇬🇧 English B2
2️⃣ 🇩🇪 German B1
3️⃣ 🇫🇷 French A2
4️⃣ 🇵🇱 Polish N

Speaking Streem

./streem languageVersions.strm
get = {
    case [], _ -> nil
    case [x, *y], 0 -> x
    case [x, *y], n -> get(y, n - 1)
}

getName = (x, language) -> {

        if (language == "en") {
                index = 0
        } else if (language == "pl") {
                index = 1
        } else if (language == "fr") {
                index = 2
        } else if (language == "de") {
                index = 3
        } else {
                ""
        }

        get(x, index)
}

makeProduct = (row) -> {
    name = getName(row, "en")
    inPolish = getName(row, "pl")
    inFrench = getName(row, "fr")
    inGerman = getName(row, "de")
    product = kvs()
    product.put("name", name)
    product.put("name_pl", inPolish)
    product.put("name_fr", inFrench)
    product.put("name_de", inGerman)
    product
}

inFrench = map { row -> "🇫🇷 "  + row.get("name_fr") }
translationsCsv = csv()
["string,string,string,string"] | translationsCsv
stream = fread("languageVersions.csv") | translationsCsv
stream | makeProduct | drop(2) | inFrench | stdout

# Output: 🇫🇷 Râteau à gazon
languageVersions.csv
name,name_pl,name_fr,name_de
lawn rake,Grabie do trawy,Râteau à gazon,Grasrechen

🔵⚪️⛵️🧿