Skip to content
This repository has been archived by the owner on Feb 23, 2022. It is now read-only.

Commit

Permalink
Swahili translations (hedyorg#434)
Browse files Browse the repository at this point in the history
* UI and levels translated
  • Loading branch information
Princekrampah authored May 23, 2021
1 parent 25a4112 commit d7415e9
Show file tree
Hide file tree
Showing 7 changed files with 375 additions and 410 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ eggs/
.eggs/
lib/
lib64/
venv/
parts/
sdist/
var/
Expand Down
1 change: 1 addition & 0 deletions app.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
'pt_br': 'Português',
'de': 'Deutsch',
'it': 'Italiano',
'sw': 'Swahili',
'hu': 'Magyarok',
'el': 'Ελληνικά',
"zh": "简体中文"
Expand Down
16 changes: 16 additions & 0 deletions coursedata/course/hedy/sw.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
# This file seems rather empty but the assignments all use the defaults from 'level-defaults'
course:
- level: "1"
- level: "2"
- level: "3"
- level: "4"
- level: "5"
- level: "6"
- level: "7"
- level: "8"
- level: "9"
- level: "10"
- level: "11"
- level: "12"
- level: "13"
458 changes: 182 additions & 276 deletions coursedata/level-defaults/sw.yaml

Large diffs are not rendered by default.

257 changes: 124 additions & 133 deletions coursedata/texts/sw.yaml
Original file line number Diff line number Diff line change
@@ -1,139 +1,130 @@
ui:
level_title: "Level"
step_title: "Assignment"
code_title: "Code"
docs_title: "Explanation"
contact: "Contact"
video_title: "Videos"
run_code_button: "Run code"
save_code_button: "Save code"
untitled: "Untitled"
regress_button: "Go back to level"
advance_button: "Go to level"
advance_step_button: "Go to assignment"
try_button: "Try"
enter_text: "Enter your answer here..."
enter: "Enter"
assignment_header: "Assignment"
show_explanation: "Show explanation"
hide_explanation: "Hide explanation"
commands_title: "Commands"
level_title: "kiwango"
step_title: "Kazi Ya ziada"
code_title: "Code"
docs_title: "Maelezo"
contact: "Mawasiliano"
video_title: "Videos"
run_code_button: "Endesha programu"
save_code_button: "Hifadhi programu"
untitled: "Untitled"
regress_button: "Rudi kiwango cha"
advance_button: "Enda kiwango cha"
advance_step_button: "Enda kazi ya ziada"
try_button: "Jaribu"
enter_text: "Ingiza jibu lako hapa..."
enter: "Enter"
assignment_header: "kazi ya ziada"
show_explanation: "Onyesha maelezo"
hide_explanation: "Ficha maelezo"
commands_title: "Commands"
ClientErrorMessages:
Transpile_warning: "Warning!"
Transpile_error: "We can't run your program."
Connection_error: "We couldn't reach the server."
Other_error: "Oops! Maybe we made a little mistake."
Execute_error: "Something went wrong while running the program."
Transpile_warning: "Onyo!"
Transpile_error: "Hatuwezi kuendesha programu yako."
Connection_error: "Hatukuweza kufikia seva."
Other_error: "Oops! Labda tulifanya makosa kidogo."
Execute_error: "Matatizo fulani ilitokea wakati wa kuendesha programu."
HedyErrorMessages:
Wrong Level: "That was correct Hedy code, but not at the right level. You wrote code for level {original_level} at level {working_level}."
Incomplete: "Oops! You forgot a bit of code! On line {line_number}, you need to enter text behind {incomplete_command}."
Invalid: "{invalid_command} is not a Hedy level {level} command. Did you mean {guessed_command}?"
Invalid Space: "Oops! You started a line with a space on line {line_number}. Spaces confuse computers, can you remove it?"
Parse: "The code you entered is not valid Hedy code. There is a mistake on line {location[0]}, at position {location[1]}. You typed {character_found}, but that is not allowed."
Unquoted Text: "Be careful. If you print something the text should start and finish with a quotation mark. You forgot one somewhere."
VarUndefined: "You tried to print {name}, but you did not instantiate it."
space: "a space"
comma: "a comma"
question mark: "a question mark"
newline: "a new line"
period: "a period"
exclamation mark: "an exclamation mark"
dash: "a dash"
star: "a star"
single quotes: "a single quote"
double quotes: "double quotes"
slash: "a slash"
Wrong Level: "Ni sahihi, lakini sio jibu la kiwango hiki. Umeandika jibu la kiwango {original_level} kwenye kiwango cha {working_level}."
Incomplete: "Oops! Umesahau kitu! Kwenye mstari wa {line_number}, unatakiwa kuandika nyuma ya {incomplete_command}."
Invalid: "{invalid_command} hii sio sahihi kwa kiwango cha {level}. Ulimaanisha {guessed_command}?"
Invalid Space: "Oops! Ulianza mstari na nafasi(ujazo) katika mstari wa {line_number}. Nafasi huchanganya kompyuta, unaweza kuiondoa?"
Parse: "The code you entered is not valid Hedy code. Kuna makosa katika mstari wa {location[0]}, katika nafasi ya {location[1]}. Umechapisha {character_found}, lakini lakini hiyo hairuhusiwi."
Unquoted Text: "Kuwa makini. Ikiwa unachapisha kitu maandishi yanapaswa kuanza na kumaliza na alama ya nukuu. Umesahau alamu ya nukuu(funga semi na fungua semi) mahali."
VarUndefined: "Umejaribu kuchapisha {name}, lakini hukuiimarisha."
space: "nafasi"
comma: "koma"
question mark: "alama ya swali"
newline: "mstari mpya"
period: "a period"
exclamation mark: "alama ya mshangao"
dash: "dashi"
star: "alama ya nyuta"
single quotes: "nukuu moja"
double quotes: "nukuu mbili"
slash: "alama ya kufyeka"
Auth:
create_account: "Create account"
create_account_explanation: "Having your own account allows you to save your programs."
username: "Username"
email: "Email"
email_repeat: "Repeat email"
password: "Password"
password_repeat: "Repeat password"
birth_year: "Birth year (optional)"
gender: "Gender (optional)"
select: "Select"
female: "Female"
male: "Male"
other: "Other"
country: "Country"
subscribe_newsletter: "Subscribe to the newsletter"
already_account: "Already have an account?"
login_long: "Log in to your account"
login: "Log in"
no_account: "No account yet?"
profile: "My profile"
update_profile: "Update profile"
logout: "Log out"
destroy: "Delete account permanently"
current_password: "Current password"
new_password: "New password"
repeat_new_password: "Repeat new password"
change_password: "Change password"
are_you_sure: "Are you sure? You cannot revert this action."
please_username: "Please enter an username."
username_three: "Username must contain at least three characters."
username_special: "Username cannot contain `:` or `@`."
please_password: "Please enter a password."
password_six: "Password must contain at least six characters."
repeat_match_email: "The repeated email does not match."
repeat_match_password: "The repeated password does not match."
valid_email: "Please enter a valid email."
valid_year: "Please enter a year between 1900 and "
ajax_error: "There was an error, please try again."
please_username_email: "Please enter an username or email."
profile_updated: "Profile updated."
password_updated: "Password updated."
signup_success: "Success! Please login :)."
forgot_password: "Forgot your password?"
recover_password: "Request a password reset"
send_password_recovery: "Send me a password recovery link"
sent_password_recovery: "You should soon receive an email with instructions on how to reset your password."
reset_password: "Reset password"
password_resetted: "Your password has been successfully resetted. Please login."
invalid_username_password: "Invalid username/password."
invalid_username: "Invalid username."
invalid_password: "Invalid password."
invalid_reset_link: "Invalid reset password link."
exists_email: "That email is already in use."
exists_username: "That username is already in use."
email_hello: "Hi!"
email_goodbye: |-
Thank you!
The Hedy team
email_welcome_verify_subject: "Welcome to Hedy"
email_welcome_verify_body: |-
Your Hedy account has been created successfully. Welcome!
Please click on this link to verify your email address:
email_change_password_subject: "Your Hedy password has been changed"
email_change_password_body: |-
Your Hedy password has been changed. If you did this, all is good.
If you didn't change your password, please contact us immediately by replying to this email.
email_recover_password_subject: "Reset your Hedy password"
email_recover_password_body: "By clicking on this link, you can set a new Hedy password. If you haven't required a password reset, please ignore this email."
email_reset_password_subject: "Your Hedy password has been resetted"
email_reset_password_body: |-
Your Hedy password has been resetted to a new one. If you did this, all is good.
If you didn't change your password, please contact us immediately by replying to this email.
create_account: "Fungua Akaunti"
create_account_explanation: "Kuwa na akaunti yako mwenyewe hukuruhusu kuhifadhi programu zako."
username: "Jina la mtumiaji"
email: "Barua pepe"
email_repeat: "Rudia barua pepe"
password: "Nenosiri"
password_repeat: "Rudia nenosiri"
birth_year: "Mwaka wa kuzaliwa (optional/hiari)"
gender: "Jinsia (optional/hiari)"
select: "Chagua"
female: "Mwanamke"
male: "Mwanaume"
other: "Nyingine"
country: "Nchi"
subscribe_newsletter: "Jisajili kwa jarida"
already_account: "Tayari una akaunti?"
login_long: "Ingia kwenye akaunti yako"
login: "Login"
no_account: "Hakuna akaunti bado?"
profile: "Wasifu wangu"
update_profile: "Sasisha wasifu"
logout: "Log out"
destroy: "Futa akaunti kabisa"
current_password: "Nenosiri la sasa"
new_password: "Nenosiri mpya"
repeat_new_password: "Rudia nenosiri mpya"
change_password: "Badilisha nenosiri"
are_you_sure: "Una uhakika? Huwezi kurudisha kitendo hiki."
please_username: "Tafadhali ingiza jina la mtumiaji."
username_three: "Jina la mtumiaji lazima liwe na herufi angalau tatu."
username_special: "Jina la mtumiaji haiwezi kuwa na herufi hizi: `:` or `@`."
please_password: "Tafadhali ingiza nenosiri yako."
password_six: "Nenosiri lazima kiwe na angalau herufi sita."
repeat_match_email: "Barua pepe inayorudiwa hailingani."
repeat_match_password: "Nenosiri inayorudiwa hailingani."
valid_email: "Tafadhali ingiza barua pepe halali."
valid_year: "Tafadhali ingiza mwaka lakita 1900 na "
ajax_error: "Kulikuwa na hitilafu, tafadhali jaribu tena."
please_username_email: "Tafadhali ingiza jina la mtumiaji au barua pepe."
profile_updated: "Wasifu umesasishwa."
password_updated: "Nenosiri umesasishwa."
signup_success: "Mafanikio! Tafadhali login kwenye accounti yako :)."
forgot_password: "Umesahau nenosiri yako?"
recover_password: "Omba kuweka upya nenosiri"
send_password_recovery: "Nitumie kiungo cha kurejesha nenosiri"
sent_password_recovery: "Utapokea barua pepe chenye maelezo ya kurejesha nenosiri."
reset_password: "Badilisha nenosiri"
password_resetted: "Nenosiri lako limewekwa upya kwa mafanikio. Tafadhali login."
invalid_username_password: "Jina la mtumiaji/nenosiri ni batili."
invalid_username: "jina la mtumiaji batili."
invalid_password: "Nenosiri la mtumiaji batili."
invalid_reset_link: "Kiungo batili cha kuweka upya nenosiri."
exists_email: "Barua pepe hiyo tayari inatumika."
exists_username: "Jina hilo la mtumiaji tayari linatumika."
email_hello: "Habari!"
email_goodbye: "Asante!\nHedy team"
email_welcome_verify_subject: "Haribu Hedy"
email_welcome_verify_body: "Akaunti yako ya Hedy imeundwa. Karibu!\nTafadhali bonyeza kiungo hiki ili uthibitishe anwani yako ya barua pepe:"
email_change_password_subject: "Nenosiri yako ya Hedy kimebadilishwa"
email_change_password_body: "Nenosiri yako ya Hedy kimebadilishwa. Ikiwa umefanya hivi, yote ni mazuri.\nIkiwa haukubadilisha nenosiri yako, tafadhali wasiliana nasi mara moja kwa kujibu barua pepe hii."
email_recover_password_subject: "Weka upya nenosiri yako ya Hedy"
email_recover_password_body: "Kwa kubofya kiungo hiki, unaweza kuweka nenosiri mpya ya Hedy. Kama haujahitaji kuweka upya nenosiri, tafadhali puuza barua pepe hii."
email_reset_password_subject: "Nenosiri yako ya Hedy kimebadilishwa"
email_reset_password_body: "Nenosiri yako ya Hedy kimebadilishwa. Ikiwa umefanya hivi, yote ni mazuri.\nIkiwa haukubadilisha nenosiri yako, tafadhali wasiliana nasi mara moja kwa kujibu barua pepe hii."
# These variables are added here to make the code simpler, but conceptually they belong to the UI.
program_header: "My programs"
save_prompt: "You need to have an account to save your program. Would you like to login now?"
unsaved_changes: "You have an unsaved program. Do you want to leave without saving it?"
save_success: "Success"
save_success_detail: "Program saved succesfully"
answer_question: "You can't run the program until you answer the question first"
program_header: "Programu zangu"
save_prompt: "Unahitaji kuwa na akaunti kuokoa programu yako. Je! Ungependa login sasa?"
unsaved_changes: "Una programu ambao haujahifadhiwa. Je! Unataka kuondoka bila kuiokoa?"
save_success: "Fanikio"
save_success_detail: "Programu imehifadhiwa kwa mafanikio"
answer_question: "Huwezi kuendesha programu hadi ujibu swali kwanza"
Programs:
recent: "My recent programs"
level: "Level"
minutes: "minutes"
hours: "hours"
days: "days"
ago-1: ""
ago-2: "ago"
open: "Open"
delete: "Delete"
delete_confirm: "Are you sure you want to delete the program?"
no_programs: "You have no programs yet."
write_first: "Write your first program!"
recent: "Programu zangu za hivi karibuni"
level: "Kiwango"
minutes: "dakika"
hours: "Saa"
days: "siku"
ago-1: ""
ago-2: "iliyopita"
open: "Fungua"
delete: "Futa"
delete_confirm: "Je! Una uhakika unataka kufuta programu?"
no_programs: "Bado hauna programu"
write_first: "Andika programu yako ya kwanza."
9 changes: 8 additions & 1 deletion main/menu.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
"fr": "Page principale",
"pt_br": "Início",
"de": "Start",
"sw": "Anza",
"zh": "主页",
"el": "Αρχική"
},
Expand All @@ -19,6 +20,8 @@
"fr": "Hedy",
"pt_br": "Hedy",
"de": "Hedy",
"accent_color": "blue-200",
"sw": "Hedy",
"zh": "海迪",
"el": "Hedy",
"accent_color": "blue-200"
Expand All @@ -31,6 +34,7 @@
"fr": "Presse",
"pt_br": "Mídia",
"de": "Presse",
"sw": "Habari",
"zh": "相关新闻",
"el": "Τύπος"
},
Expand All @@ -42,6 +46,7 @@
"fr": "Contacter",
"pt_br": "Contato",
"de": "Kontakt",
"sw": "Wasiliana",
"zh": "联系我们",
"el": "Επικοινωνία"
},
Expand All @@ -52,6 +57,8 @@
"es": "Aprende más",
"fr": "Learn more",
"pt_br": "Learn more",
"de": "Learn more",
"sw": "Jifunze zaidi",
"de": "Mehr Infos",
"zh": "了解更多",
"el": "Μάθε περισσότερα"
Expand All @@ -64,4 +71,4 @@
"zh": "教学资源"
}
]
}
}
43 changes: 43 additions & 0 deletions main/start-sw.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
page_title: Welcome to Hedy!
---
<div class="-mx-16 -my-12 px-16 py-8 mb-8 bg-cover flex items-center" style="background-image: url(/images/header.jpg); height: 250px; position: relative;">
<div class="flex-1">
<h1 class="font-bold font-slab text-white text-6xl text-shadow-md tracking-wide">Hedy</h1>
<h2 class="font-sans font-light text-white text-shadow-md tracking-wide my-1">A gradual programming language</h2>
</div>
<div class="flex-none">
<a class="green-btn text-white px-8 py-4" href="/hedy?lang=en">Jaribu</a>
</div>
</div>

## What is a gradual programming language?

Learning to program can be hard. Not that programming itself *is* hard! But there are a lot of rules you need to memorize, just like when you started to learn English.
Similarly, you will need a lot of practice to learn programming.

You can read these sentences with ease. But do you remember when you were learning to read? You took some time then for each letter!
That is true for programming too, it might be hard in the beginning, but it will get easier!

The nice thing about Hedy is that Hedy is *gradual*. That means that you do not have to learn all rules at once.
The first few levels do not have that many rules, so you can get used to programming comfortably.
In every level we add new rules, increasing the number of commands that you know. Commands are instructions for a computer.

## Why is Hedy gradual?
In this video Felienne, the creator of Hedy, explains why Hedy is gradual.

<center>
<iframe width="560" height="315" src="https://www.youtube.com/embed/EdqT313rM40" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</center>

## Who is Hedy for?
Hedy is meant for all kids that want to learn programming! You do need to be able to read English with ease.

## Do I need programming experience?
No, that is not needed. However, if you have programmed with Scratch or Python, some commands will look familiar to you.

## Is Hedy free?
Yes! Leiden University allows us to share it for free. Hedy is also 'Open source', which means that everyone who can program can help us make Hedy better. You can find the code on [GitHub](https://github.com/Felienne/hedy).

## Do I need to install anything?
No. Hedy works in the browser, which is the program you are using to look at this page. Probably Chrome or Edge or FireFox. Hedy also works on your phone or tablet.

0 comments on commit d7415e9

Please sign in to comment.