diff --git a/app/lib/scripts/ScriptManager.coffee b/app/lib/scripts/ScriptManager.coffee
index 937c6dbce..f4583e1e4 100644
--- a/app/lib/scripts/ScriptManager.coffee
+++ b/app/lib/scripts/ScriptManager.coffee
@@ -132,6 +132,16 @@ module.exports = ScriptManager = class ScriptManager extends CocoClass
setWorldLoading: (@worldLoading) ->
@run() unless @worldLoading
+ initializeCamera: ->
+ # Fire off the first bounds-setting script now, before we're actually running any other ones.
+ for script in @scripts
+ for note in script.noteChain or []
+ if note.surface?.focus?
+ surfaceModule = _.find note.modules or [], (module) -> module.surfaceCameraNote
+ cameraNote = surfaceModule.surfaceCameraNote true
+ @publishNote cameraNote
+ return
+
destroy: ->
@onEndAll()
clearInterval @tickInterval
diff --git a/app/locale/de-CH.coffee b/app/locale/de-CH.coffee
index b52dddeaf..bfdb4fa2b 100644
--- a/app/locale/de-CH.coffee
+++ b/app/locale/de-CH.coffee
@@ -606,7 +606,7 @@ module.exports = nativeDescription: "Dütsch (Schwiiz)", englishDescription: "Ge
more_info: "Info für Lehrer"
# intro_1: "CodeCombat is an online game that teaches programming. Students write code in real programming languages."
# intro_2: "No experience required!"
-# free_title: "How much does it cost?"
+ free_title: "Wie fill choschtets?"
# cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers."
# free_1: "There are 110+ FREE levels which cover every concept."
# free_2: "A monthly subscription provides access to video tutorials and extra practice levels."
@@ -639,7 +639,7 @@ module.exports = nativeDescription: "Dütsch (Schwiiz)", englishDescription: "Ge
# material_premium_server: "Approximately 50 hours of gameplay spread over 190+ subscriber-only levels so far."
# material_1: "Approximately 25 hours of free content and an additional 15 hours of subscriber content."
# concepts_title: "What concepts are covered?"
-# how_much_title: "How much does a monthly subscription cost?"
+ how_much_title: "Wievil choschtet es monatlichs Abo?"
# how_much_1: "A"
# how_much_2: "monthly subscription"
# how_much_3: "costs $9.99, and can be cancelled anytime."
diff --git a/app/locale/uk.coffee b/app/locale/uk.coffee
index 471a5a333..983a1803f 100644
--- a/app/locale/uk.coffee
+++ b/app/locale/uk.coffee
@@ -80,7 +80,7 @@ module.exports = nativeDescription: "Українська", englishDescription:
adjust_volume: "Підлаштувати гучність"
campaign_multiplayer: "Арени для мультиплеєра"
campaign_multiplayer_description: "... в яких Ви програмуєте віч-на-віч із іншими гравцями."
- campaign_old_multiplayer: "(Застарілий) Стара Мультіплеер Арена"
+ campaign_old_multiplayer: "(Застаріло) Стара багатокористувацька арена"
# campaign_old_multiplayer_description: "Relics of a more civilized age. No simulations are run for these older, hero-less multiplayer arenas."
share_progress_modal:
@@ -94,24 +94,24 @@ module.exports = nativeDescription: "Українська", englishDescription:
login:
sign_up: "створення акаунту"
log_in: "Увійти"
- logging_in: "Вхід в акаунт"
+ logging_in: "Триває процес входу"
log_out: "Вийти"
- forgot_password: "Забули свій пароль?"
+ forgot_password: "Дірява пам'ять?"
authenticate_gplus: "Авторизація G+"
load_profile: "Завантажити профіль G+"
finishing: "Завершення"
sign_in_with_facebook: "Увійти через Facebook"
sign_in_with_gplus: "Увійти через G+"
- signup_switch: "Хочете створити акаунт?"
+ signup_switch: "Хочете створити екаунт?"
signup:
email_announcements: "Отримувати анонси на email"
- creating: "Створення акаунта..."
+ creating: "Створення екаунту..."
sign_up: "Реєстрація"
log_in: "вхід з паролем"
social_signup: "Або Ви можете створити акаунт через Facebook чи G+:"
- required: "Вам потрібно увійти, щоби виконати цю дію."
- login_switch: "Уже маєте акаунт?"
+ required: "Ця дія потребує входу."
+ login_switch: "Уже маєте екаунт?"
recover:
recover_account_title: "Відновити акаунт"
@@ -200,12 +200,12 @@ module.exports = nativeDescription: "Українська", englishDescription:
wizard: "Чаклун"
units:
- second: "Секунда"
- seconds: "Секунд"
- minute: "Хвилина"
- minutes: "Хвилин"
- hour: "Година"
- hours: "Годин"
+ second: "секунда"
+ seconds: "секунд"
+ minute: "хвилина"
+ minutes: "хвилин"
+ hour: "година"
+ hours: "годин"
day: "день"
days: "днів"
week: "тиждень"
@@ -254,12 +254,12 @@ module.exports = nativeDescription: "Українська", englishDescription:
victory_review_placeholder: "Вам сподобався рівень?"
victory_hour_of_code_done: "Ви закінчили?"
victory_hour_of_code_done_yes: "Так, я закінчив Годину Коду!"
- victory_experience_gained: "Отриманий досвід"
- victory_gems_gained: "Отримані самоцвіти"
+ victory_experience_gained: "Отримано досвіду"
+ victory_gems_gained: "Отримано самоцвітів"
victory_new_item: "Новий предмет"
- victory_viking_code_school: "Оце так! Це був важкий рівень, але Ви справились! Якщо Ви ще не розробник програмного забезпечення, Вам слід вже бути. Ви щойно пройшли швидку процедуру прийняття у Viking Code School, де Ви матимете змогу удосконалити Ваші навички до наступного рівня та стати професійним веб-розробником за 14 тижнів."
+ victory_viking_code_school: "Хай йому грець! Цей рівень був важким, але Ви справились! Якщо Ви ще не програміст, вам слід ним стати. Ви щойно екстерном пройшли процедуру прийняття у Viking Code School, де Ви матимете змогу значно покращити свої здібності та стати професійним веб-розробником за 14 тижнів."
victory_become_a_viking: "Стати вікінгом"
- victory_bloc: "Відмінна робота! Ваші навички покращуються! Якщо ви роздумуєте, як стати розробником програмного забезпечення, це може бути ваш щасливий день. Bloc являє собою онлайн навчальний табір, який дає вам досвідченого наставника, який допоможе Вам стати професійним розробником! Перемігши Mayhem of Munchkins, ви маєте право на $ 500 зменшення ціни з кодом: CCRULES"
+ victory_bloc: "Відмінна робота! Ваші навички покращуються! Якщо ви роздумуєте, як стати розробником програмного забезпечення, це може бути ваш щасливий день. Bloc являє собою навчальний табір онлайн, який дає вам досвідченого наставника, який допоможе Вам стати професійним розробником! Перемігши Mayhem of Munchkins, ви маєте право на знижку у 500$ з кодом: CCRULES"
victory_bloc_cta: "Зустріньте свого наставника - дізнайтеся більше про Bloc"
guide_title: "Посібник"
tome_minion_spells: "Заклинання Ваших міньонів" # Only in old-style levels.
@@ -301,10 +301,10 @@ module.exports = nativeDescription: "Українська", englishDescription:
tip_tell_friends: "Сподобався CodeCombat? Розкажіть своїм друзям про нас!"
tip_beta_launch: "Бета-версія CodeCombat вийшла в жовтні 2013."
tip_think_solution: "Думай над рішенням, а не над проблемою."
- tip_theory_practice: "У теорії між теорією і практикою немає ніякої різниці. На практиці - є. - Йоґі Берра"
+ tip_theory_practice: "У теорії між теорією і практикою немає ніякої різниці. На практиці - є. Йоґі Берра"
tip_error_free: "Є два шляхи написання програм без помилок; але працює лише третій. - Алан Перліс"
tip_debugging_program: "Якщо налагодження є процесом усунення помилок, то програмування повинно бути процесом їх створення. - Едсґер В. Дейкстра"
- tip_forums: "Заходьта на форум і розкажіть нам, що Ви думаєте!"
+ tip_forums: "Заходьте на форум і розкажіть нам, що Ви думаєте!"
tip_baby_coders: "У майбутньому, навіть малюки будуть Архімагами."
tip_morale_improves: "Завантаження буде продовжуватися, поки мораль не покращиться."
tip_all_species: "Ми віримо у рівні можливості вивчення програмування для всіх."
@@ -326,9 +326,9 @@ module.exports = nativeDescription: "Українська", englishDescription:
tip_brute_force: "Якщо Ви сумніваєтеся, використовуйте перебір. - Кен Томсон"
tip_extrapolation: "Існує 2 типи людей: які можуть екстраполюватись від неповних даних..."
tip_superpower: "Написання коду - це найближче до суперсили, що у нас є."
- tip_control_destiny: "Зі справді відкритим кодом у тебе є право контролювати свою власну долю. - Лінус Торвальдс"
+ tip_control_destiny: "Зі справді відкритим кодом у тебе є право контролювати свою власну долю. – Лінус Торвальдс"
tip_no_code: "Немає коду швидшого, ніж відсутній код."
- tip_code_never_lies: "Код ніколи не бреше. Коментарі - іноді. — Ron Jeffries"
+ tip_code_never_lies: "Код ніколи не бреше. Коментарі - іноді. — Рон Джефріс"
tip_reusable_software: "Щоб програмне забезпечення можна було використовувати повторно, треба, щоб його можна було використовувати."
tip_optimization_operator: "У кожній мові є свій оператор оптимізації. У більшості мов це ‘//’"
tip_lines_of_code: "Вимірювати прогрес програмування кількістю рядків коду - це як вимірювати прогрес літакобудування вагою. — Білл Ґейтс"
@@ -364,7 +364,7 @@ module.exports = nativeDescription: "Українська", englishDescription:
leaderboard:
leaderboard: "Таблиця лідерів"
- view_other_solutions: "Подивитись розв'язки інших" # {change}
+ view_other_solutions: "Переглянути таблицю лідерів"
scores: "Рейтинг"
top_players: "Сортувати гравців за"
day: "Сьогодні"
@@ -394,7 +394,7 @@ module.exports = nativeDescription: "Українська", englishDescription:
pile_gems: "Купа самоцвітів"
chest_gems: "Скриня самоцвітів"
purchasing: "Купування.."
- declined: "Вашу карту відхилено"
+ declined: "Вашу картку відхилено"
retrying: "Помилка сервера, повторна спроба."
prompt_title: "Недостатньо самоцвітів"
prompt_body: "Хочете отримати ще?"
@@ -424,34 +424,34 @@ module.exports = nativeDescription: "Українська", englishDescription:
sorry_to_see_you_go: "Шкода, що Ви йдете! Будь ласка, дайте нам знати, що ми могли б зробити краще."
unsubscribe_feedback_placeholder: "О, що ж ми зробили?"
parent_button: "Спитати у батьків"
- parent_email_description: "Ми відправимо ім електронний лист, щоб вони могли придбати тобі підписку."
- parent_email_input_invalid: "Введено невірну електронну адресу."
+ parent_email_description: "Ми відправимо їм електронний лист, щоб придбати тобі підписку."
+ parent_email_input_invalid: "Уведено невірну електронну адресу."
parent_email_input_label: "Електронна адреса батьків"
- parent_email_input_placeholder: "Введи електронну адресу батьків"
+ parent_email_input_placeholder: "Уведи електронну адресу батьків"
parent_email_send: "Відправити лист"
parent_email_sent: "Лист відправлено!"
parent_email_title: "Яка в твоїх батьків електронна адреса?"
parents: "Батькам"
- parents_title: "Дорога мамо/батьку, ваша дитина вчиться програмувати. Чи допоможите ви їй продовжити цю спрову?" # {change}
- parents_blurb1: "Разом з CodeCombat Ваша дитина писатиме реальний код. Почне з простих команд та поступово буде розвиватись до складніших тем." # {change}
+ parents_title: "Дорога мамо/батьку, ваша дитина вчиться програмувати. Чи допоможите ви їй продовжити цю спрову?"
+ parents_blurb1: "Ваша дитина уже завершила __nLevels__ рівнів та вивчила базові речі. Допоможіть культивувати її інтерес та придбайте їй абонемент аби вона могла продовжити грати."
parents_blurb1a: "Коп'ютерне програмування є необхідними вмінням, що ваша дитина беззаперечно використовуватиме у дорослому віці. До 2020 року 77% професій потребуватимуть базових навичок у програмному забезпечені, а програмісти надзвичайно потрібні у всьому світі. Чи знали ви, що Комп'ютерні Науки - це найбільш високооплачувана університетьська спеціальність?"
parents_blurb2: "За 9.99$ на місяць, вона отримуватиме нові завдання щотижня та персональні листи підтримки від професійних програмістів." # {change}
parents_blurb3: "Жодного ризику: 100% гарантія повернення грошей, легке скасування абонементу одним кліком."
payment_methods: "Платіжні методи"
payment_methods_title: "Платіжні методи, що приймаються"
- payment_methods_blurb1: "Наразі ми приймаємо кредитні картник та Alpiay."
+ payment_methods_blurb1: "Наразі ми приймаємо кредитні картки та Alpiay."
payment_methods_blurb2: "Якщо Вам необхідно використати інший спосіб оплати, будь ласка, зв'яжіться з нами."
sale_already_subscribed: "Ви вже підписалися!"
- sale_blurb1: "Знижки 35%"
- sale_blurb2: "від звичайної ціни підписки $ 120 протягом цілого року!"
- sale_button: "Знижки!"
- sale_button_title: "Знижки 35% при покупці підписки на 1 рік"
+ sale_blurb1: "Зекономте 35%"
+ sale_blurb2: "від звичайної ціни у 120$ на рік!"
+ sale_button: "Розпродаж!"
+ sale_button_title: "Збережіть 35% при покупці абонементу на 1 рік"
sale_click_here: "Натисніть тут"
sale_ends: "Kінець"
sale_extended: "*Існуючі підписки буде продовжено на 1 рік."
sale_feature_here: "Ось те, що ви отримаєте:"
- sale_feature2: "Доступ до 9 потужних нових героїв з унікальними навичками!"
- sale_feature4: " 42000 бонусних каменівидані негайно!"
+ sale_feature2: "Доступ до 9 потужних нових героїв з унікальними вміннями!"
+ sale_feature4: "Миттєве отримання 42000 бонусних самоцвітів!"
sale_continue: "Готовий продовжити пригоди?"
sale_limited_time: "Обмежена пропозиція!"
sale_new_heroes: "Нові герої!"
@@ -493,8 +493,8 @@ module.exports = nativeDescription: "Українська", englishDescription:
choose_hero: "Оберіть героя"
programming_language: "Мова програмування"
programming_language_description: "Яку мову програмування Ви хочете використовувати?"
- default: "Типова"
- experimental: "Експериментальна"
+ default: "Типово"
+ experimental: "Експериментально"
python_blurb: "Проста, але потужна, чудово підходить як новачкам, так і експертам."
javascript_blurb: "Мова веб-сторінок. (Не плутати з Java.)"
coffeescript_blurb: "Покращений синтаксис JavaScript."
@@ -528,7 +528,7 @@ module.exports = nativeDescription: "Українська", englishDescription:
restricted_to_certain_heroes: "Тільки певні герої можуть грати в цьому рівні."
skill_docs:
- writable: "записний" # Hover over "attack" in Your Skills while playing a level to see most of this
+ writable: "дозволено запис" # Hover over "attack" in Your Skills while playing a level to see most of this
read_only: "тільки читання"
action: "Дія"
spell: "Закляття"
@@ -607,9 +607,9 @@ module.exports = nativeDescription: "Українська", englishDescription:
intro_1: "CodeCombat - це онлайн гра, що вчить програмуванню. Студенти пишуть код на реальних мовах програмування."
intro_2: "Досвід не потрібен!"
free_title: "Скільки це коштує?"
- cost_premium_server: "CodeCombat безкоштовний протягом перших п'яти рівнів, після чого він коштує $ 9,99 USD в місяць за доступ до інших наших 190+ рівням на наших ексклюзивних серверах."
+ cost_premium_server: "CodeCombat безкоштовний протягом перших п'яти рівнів, після чого він коштуватиму 9,99$ на місяць за доступ до інших наших 190+ рівнів на наших ексклюзивних серверах."
free_1: "Є 110+ БЕЗКОШТОВНИХ рівнів, які охоплюють всі поняття."
- free_2: "Місячна підписка надає доступ до відео-уроків і додаткових рівнів практики."
+ free_2: "Місячний абонемент надає доступ до відео-уроків і додаткових рівнів практики."
teacher_subs_title: "Вчителі отримують безкоштовні підписки!"
teacher_subs_0: "Ми пропонуємо безкоштовну передплату для тестування студентів."
teacher_subs_1: "Будь ласка, заповніть "
@@ -618,13 +618,13 @@ module.exports = nativeDescription: "Українська", englishDescription:
sub_includes_title: "Що входить у підписку?"
sub_includes_1: "На додаток до 110+ основних рівнів, студенти з щомісячною підпискою отримають доступ до цих додаткових функцій:"
sub_includes_2: "80+ рівнів практики"
- sub_includes_3: "Відео уроки"
- sub_includes_4: "Преміум підтримка по електронній пошті"
- sub_includes_5: "10 нових героїв з унікальними навичками для оволодіння"
+ sub_includes_3: "Відео-уроки"
+ sub_includes_4: "Преміум-підтримка електронною поштою"
+ sub_includes_5: "10 нових героїв з унікальними вміннями якими можна оволодіти"
sub_includes_6: "3500 бонусних самоцвітів кожен місяць"
sub_includes_7: "Приватні клани"
monitor_progress_title: "Як мені стежити за прогресом студентів?"
- monitor_progress_1: "Прогрес студентів може бути відстежити, створивши"
+ monitor_progress_1: "Прогрес студентів можна відстежувати, створивши"
monitor_progress_2: "для вашого класу."
monitor_progress_3: "Щоб додати студентів, надішліть їм посилання-запрошення в ваш Клан, яке можна знайти на"
monitor_progress_4: "сторінці."
@@ -633,18 +633,18 @@ module.exports = nativeDescription: "Українська", englishDescription:
private_clans_2: "Щоб створити приватний Клан, відзначте прапорець 'Зробити клан приватним', коли будете створювати"
private_clans_3: "."
who_for_title: "Для кого призначений CodeCombat?"
- who_for_1: "Ми рекомендуємо CodeCombat для учнів старше 9 років. Hіякий досвід програмування не потрібно."
+ who_for_1: "Ми рекомендуємо CodeCombat для учнів старше 9 років. Попередній досвід програмування не потрібен."
who_for_2: "Ми розробили CodeCombat так, щоб він підходив і хлопчикам і дівчаткам."
material_title: "Як багато тут матеріалу?"
material_premium_server: "Близько 50 годин ігрового процесу, розподіленого більш ніж на 190 рівнів для передплатників."
material_1: "Приблизно 25 годин безкоштовного контенту і додаткові 15 годин контенту для передплатників."
concepts_title: "Про які концепти ми розповідаємо?"
- how_much_title: "Скільки коштує місячна передплата?"
+ how_much_title: "Скільки коштує місячний абонемент?"
how_much_1: ""
- how_much_2: "Місячна передплата"
- how_much_3: "коштує $9.99, та може бути скасована будь-коли."
+ how_much_2: "Місячний абонемент"
+ how_much_3: "коштує 9.99$, та може бути скасованим будь-коли."
how_much_4: "Крім цього, ми надаємо знижки для великих груп:"
- how_much_5: "Ми надаємо знижку на разові закупівлі та річну передплату для груп, таких як клас або школа. Будь ласка, зв'яжіться з нами"
+ how_much_5: "Ми надаємо знижку на разові закупівлі та річну передплату для груп, як-от клас або школа. Будь ласка, зв'яжіться з нами"
how_much_6: "для отримання більш детальної інформації."
more_info_title: "Де я можу знайти більше інформації?"
more_info_1: "Наш"
@@ -656,36 +656,36 @@ module.exports = nativeDescription: "Українська", englishDescription:
teachers_survey:
title: "Анкета вчителя"
- must_be_logged: "Спочатку необхідно увійти в акаунт. Будь ласка, створіть акаунт або увійдіть через меню вгорі."
+ must_be_logged: "Спочатку необхідно увійти до екаунту. Будь ласка, створіть екаунт або увійдіть через меню вгорі."
retrieving: "Отримання інформації..."
being_reviewed_1: "Ваша заявка на безкоштовну пробну підписку зараз"
- being_reviewed_2: "на розгляді."
- approved_1: "Ваша заявка на безкоштовну пробну підписку була"
- approved_2: "затверджена."
+ being_reviewed_2: "розглядається."
+ approved_1: "Вашу заявку на безкоштовну пробну підписку було"
+ approved_2: "схвалено."
approved_3: "Подальші інструкції були вислані на"
- denied_1: "Ваша заявка на безкоштовну пробну підписку була"
- denied_2: "відхилена."
+ denied_1: "Вашу заявку на безкоштовну пробну підписку було"
+ denied_2: "відхилено."
contact_1: "Будь ласка, зв'яжіться з"
contact_2: ", якщо у вас залишилися питання."
description_1: "Ми пропонуємо безкоштовні підписки вчителям в цілях ознайомлення. Ви можете знайти більше інформації на нашій сторінці"
description_2: "вчителів"
description_3: "."
- description_4: "Будь ласка, заповніть цю маленьку анкету і ми надішлемо вам інструкції з установки на email."
+ description_4: "Будь ласка, заповніть цю маленьку анкету і ми надішлемо вам інструкції з настановами на email."
email: "Email-адреса"
- school: "Найменування школи"
- location: "Найменування міста"
- age_students: "Скільки років вашим студентам?"
+ school: "Назва школи"
+ location: "Назва міста"
+ age_students: "Скільки років вашим учням?"
under: "Менше"
other: "Інше:"
- amount_students: "Як багато студентів ви навчаєте?"
- hear_about: "Як ви дізналися про CodeCombat?"
+ amount_students: "Як багато учнів ви навчаєте?"
+ hear_about: "Звідки ви дізналися про CodeCombat?"
fill_fields: "Будь ласка, заповніть всі поля."
- thanks: "Дякую! Скоро ми надішлемо вам інструкцію по встановленню."
+ thanks: "Дякуємо! Незабаром ми надішлемо вам інструкцію з настановами."
versions:
save_version_title: "Зберегти нову версію"
new_major_version: "Зберегти основну версію"
- submitting_patch: "Відправка патчу..."
+ submitting_patch: "Триває надсилання патчу..."
cla_prefix: "Для збереження змін спочатку треба погодитись з нашим"
cla_url: "CLA"
cla_suffix: "."
@@ -698,12 +698,12 @@ module.exports = nativeDescription: "Українська", englishDescription:
forum_prefix: "Для будь-яких публічних обговорень, будь ласка, використовуйте "
forum_page: "наш форум"
forum_suffix: "."
- faq_prefix: "Також у вас є"
+ faq_prefix: "Також у нас є"
faq: "ЧаПи"
subscribe_prefix: "Якщо вам потрібна допомога у проходженні рівня, будь ласка"
subscribe: "купіть підписку CodeCombat"
subscribe_suffix: "і ми будемо раді допомогти вам з вашим кодом."
- subscriber_support: "Оскільки ви підписчик CodeCombat, ваші електронні листи отримають нашу пріорітетну підтримку."
+ subscriber_support: "Оскільки ви власник абонементу CodeCombat, ваші листи розглядаються у пріоритеті."
screenshot_included: "Приєднано зняток."
where_reply: "Куди ми повинні відповісти?"
send: "Надіслати відгук"
@@ -801,7 +801,7 @@ module.exports = nativeDescription: "Українська", englishDescription:
new_name: "Назва нового клану"
new_description: "Опис нового клану"
make_private: "Зробити клан приватним"
- subs_only: "лише для підписчиків"
+ subs_only: "лише для підписників"
create_clan: "Створити новий клан"
private_preview: "Прев'ю"
public_clans: "Публічні клани"
@@ -812,7 +812,7 @@ module.exports = nativeDescription: "Українська", englishDescription:
type: "Тип"
edit_clan_name: "Змінити назву клану"
edit_clan_description: "Змінити опис клану"
- edit_name: "Змінити ім'я"
+ edit_name: "Змінити назву"
edit_description: "Змінити опис"
private: "(закритий)"
summary: "Загалом"
@@ -839,19 +839,19 @@ module.exports = nativeDescription: "Українська", englishDescription:
playtime: "Тривалість гри"
last_played: "Остання гра"
leagues_explanation: "Грайте в лізі проти інших членів клану на мультіплєєрній арені."
-# track_concepts1: "Track concepts"
+ track_concepts1: "Слідкувати за поняттями"
track_concepts2a: "вивчено усіма студентами"
track_concepts2b: "вивчено усіма учасниками"
-# track_concepts3a: "Track levels completed for each student"
-# track_concepts3b: "Track levels completed for each member"
-# track_concepts4a: "See your students'"
-# track_concepts4b: "See your members'"
+ track_concepts3a: "Слідкувати за рівнями, що завершили усі учні"
+ track_concepts3b: "Слідкувати за рівнями, що завершили усі учасники"
+ track_concepts4a: "Переглянути учнів"
+ track_concepts4b: "Переглянути учасників"
track_concepts5: "рішення"
-# track_concepts6a: "Sort students by name or progress"
-# track_concepts6b: "Sort members by name or progress"
- track_concepts7: "Потребує запрошення"
-# track_concepts8: "to join"
-# private_require_sub: "Private clans require a subscription to create or join."
+ track_concepts6a: "Впорядкувати учнів за ім'ям або прогресом"
+ track_concepts6b: "Впорядкувати учасників за ім'ям або прогресом"
+ track_concepts7: "Необхідне запрошення"
+ track_concepts8: "аби приєднатись"
+ private_require_sub: "Створення або приєданння до приватного клану потребує абонемент."
courses:
course: "Курс"
@@ -887,20 +887,20 @@ module.exports = nativeDescription: "Українська", englishDescription:
invite_link_header: "Посилання для запрошення в клас"
invite_link_p_1: "Дайте це посилання студентам, яких ви б хотіли запросити в клас."
invite_link_p_2: "Або ми самі можемо написати їм листа на пошту:"
-# capacity_used: "Course slots used:"
- enter_emails: "Введіть email студентів по одному на рядку, яких ви хочете запросити"
+ capacity_used: "Використано слотів курсу:"
+ enter_emails: "Введіть email-и студентів по одному на рядок, яких ви хочете запросити"
send_invites: "Відправити запрошення"
title: "Тема"
description: "Опис"
languages_available: "Виберіть мови програмування, доступні класу:"
all_lang: "Всі мови"
show_progress: "Показувати прогрес студентів всьому класу"
- creating_class: "Створення класу ... "
- purchasing_course: "Покупка курсу ... "
+ creating_class: "Триває створення класу ... "
+ purchasing_course: "Триває придбання курсу ... "
buy_course: "Купити курс"
buy_course1: "Купити цей курс"
create_class: "Створити клас"
- select_all_courses: "Вибрати 'Всі курси' для 50% знижки!"
+ select_all_courses: "Виберіть 'Всі курси' для 50% знижки!"
all_courses: "Всі курси"
number_students: "Кількість студентів"
enter_number_students: "Введіть кількість студентів, потрібних для вашого класу."
@@ -914,12 +914,12 @@ module.exports = nativeDescription: "Українська", englishDescription:
free_trial: "Безкоштовний пробний період для вчителів!"
get_access: "щоб отримати особистий доступ до всіх курсів."
questions: "Питання?"
- faq: "FAQ по курсам"
+ faq: "ЧаПи з приводу курсів"
question: "П:" # Like in 'Question'
question1: "Яка відмінність між цими курсами і звичайною одиночною грою?"
answer: "В:" # Like in 'Answer'
- answer1: "Одиночна гра розроблена для одиночного проходження, а курси для класів."
- answer2: "У одиночній грі є предмети, самоцвіти, вибір героїв, прокачування рівнів і внутрішньо-ігрові покупки. У курсах є управління класом і ухил, щоб студенти зосереджувалися на своєму прогресі."
+ answer1: "Самітна розроблена для проходження на одинці, а курси для проходження класами."
+ answer2: "У самітній грі є предмети, самоцвіти, вибір героїв, прокачування рівнів і внутрішньо-ігрові покупки. У курсах є управління класом і ухил, щоб студенти зосереджувалися на своєму прогресі."
teachers_click: "Вчителям сюди"
students_click: "Студентам сюди"
courses_on_coco: "Курси на CodeCombat"
@@ -1043,7 +1043,7 @@ module.exports = nativeDescription: "Українська", englishDescription:
achievement_query_misc: "Ключове досягнення випадає з різного"
achievement_query_goals: "Ключове досягнення випадає з цілей рівня"
level_completion: "Рівень завершено"
- pop_i18n: "Додати I18N"
+ pop_i18n: "Додати локалізації"
tasks: "Завдання"
clear_storage: "Очистити свої локальні зміни"
add_system_title: "Додати системи на рівень"
@@ -1227,7 +1227,7 @@ module.exports = nativeDescription: "Українська", englishDescription:
recently_played: "Нещодавні ігри"
no_recent_games: "Упродовж останніх двох тижнів не зіграно жодної гри."
payments: "Платежі"
-# prepaid_codes: "Prepaid Codes"
+ prepaid_codes: "Передплачені коди"
purchased: "Придбано"
sale: "Розпродаж"
subscription: "Підписка"
@@ -1244,7 +1244,7 @@ module.exports = nativeDescription: "Українська", englishDescription:
active_until: "Активна до"
cost: "Ціна"
next_payment: "Наступний платіж"
- card: "Карта"
+ card: "Картка"
status_unsubscribed_active: "У Вас немає передплати і рахунок Вам не прийде, але Ваш акаунт і далі дійсний."
status_unsubscribed: "Отримайте доступ до новних рівнів, героїв та бонусів з абонементом CodeCombat!"
@@ -1253,13 +1253,13 @@ module.exports = nativeDescription: "Українська", englishDescription:
declined: "Вашу картку відхилено"
invalid_amount: "Будь ласка, введіть суму в доларах США."
not_logged_in: "Увійдіть або створіть акаунт, щоб мати доступ до інвойсів."
- pay: "Оплатити інвойс"
- purchasing: "Оплата..."
+ pay: "Оплатити накладну"
+ purchasing: "Триває оплата..."
retrying: "Помилка сервера, повторна спроба."
success: "Успішно оплачено. Дякуємо!"
account_prepaid:
-# purchase_code: "Purchase a Subscription Code"
+ purchase_code: "Придбати код підписки"
# purchase_code1: "Subscription Codes can be redeemed to add premium subscription time to one or more CodeCombat accounts."
# purchase_code2: "Each CodeCombat account can only redeem a particular Subscription Code once."
# purchase_code3: "Subscription Code months will be added to the end of any existing subscription on the account."
@@ -1267,15 +1267,15 @@ module.exports = nativeDescription: "Українська", englishDescription:
months: "Місяці"
purchase_total: "Загалом"
# purchase_button: "Submit Purchase"
-# your_codes: "Your Codes"
+ your_codes: "Ваші коди"
# redeem_codes: "Redeem a Subscription Code"
# prepaid_code: "Prepaid Code"
# lookup_code: "Lookup prepaid code"
apply_account: "Застосувати до свого екаунту"
-# copy_link: "You can copy the code's link and send it to someone."
+ copy_link: "Ви можете скопіювати посилання на код та надіслати будь-кому."
quantity: "Кількіть"
# redeemed: "Redeemed"
-# no_codes: "No codes yet!"
+ no_codes: "Коди відсутні!"
loading_error:
could_not_load: "Помилка завантаження з сервера"
@@ -1323,7 +1323,7 @@ module.exports = nativeDescription: "Українська", englishDescription:
top_simulators: "Топ-моделювальники"
source_document: "Вихідний документ"
document: "Документ"
- sprite_sheet: "Лист спрайтів"
+ sprite_sheet: "Електронна таблиця"
employers: "Роботодавці"
candidates: "Кандидатури"
candidate_sessions: "Сесії кандидатів"
@@ -1581,7 +1581,7 @@ module.exports = nativeDescription: "Українська", englishDescription:
filter_education_other: "Інше"
filter_role_web_developer: "веб-розробник"
filter_role_software_developer: "розробник програм"
- filter_role_mobile_developer: "мобільний розробник"
+ filter_role_mobile_developer: "розробник додатків для мобільних"
filter_experience: "Досвід"
filter_experience_senior: "Досвідчений (Senior)"
filter_experience_junior: "Початківець (Junior)"
@@ -1631,4 +1631,4 @@ module.exports = nativeDescription: "Українська", englishDescription:
u_title: "Список учасників"
# ucp_title: "User Code Problems"
lg_title: "Останні ігри"
- clas: "CLAs"
+ clas: "CLA"
diff --git a/app/views/play/SpectateView.coffee b/app/views/play/SpectateView.coffee
index ea7fe1639..cf298a72a 100644
--- a/app/views/play/SpectateView.coffee
+++ b/app/views/play/SpectateView.coffee
@@ -93,7 +93,7 @@ module.exports = class SpectateLevelView extends RootView
afterRender: ->
window.onPlayLevelViewLoaded? @ # still a hack
- @insertSubView @loadingView = new LoadingView {}
+ @insertSubView @loadingView = new LoadingView autoUnveil: true, level: @levelLoader?.level ? @level
@$el.find('#level-done-button').hide()
super()
$('body').addClass('is-playing')
@@ -151,7 +151,7 @@ module.exports = class SpectateLevelView extends RootView
onLevelStarted: (e) ->
go = =>
@loadingView?.startUnveiling()
- @loadingView?.unveil()
+ @loadingView?.unveil true
_.delay go, 1000
onLoadingViewUnveiled: (e) ->
diff --git a/app/views/play/level/LevelLoadingView.coffee b/app/views/play/level/LevelLoadingView.coffee
index fde29cd63..f96bb0caf 100644
--- a/app/views/play/level/LevelLoadingView.coffee
+++ b/app/views/play/level/LevelLoadingView.coffee
@@ -45,14 +45,14 @@ module.exports = class LevelLoadingView extends CocoView
onLevelLoaded: (e) ->
@level = e.level
- @prepareGoals()
+ @prepareGoals e
@prepareTip()
@prepareIntro()
onSessionLoaded: (e) ->
@session = e.session if e.session.get('creator') is me.id
- prepareGoals: ->
+ prepareGoals: (e) ->
goalContainer = @$el.find('.level-loading-goals')
goalList = goalContainer.find('ul')
goalCount = 0
diff --git a/app/views/play/level/PlayLevelView.coffee b/app/views/play/level/PlayLevelView.coffee
index 78828d08d..ccdac00b3 100644
--- a/app/views/play/level/PlayLevelView.coffee
+++ b/app/views/play/level/PlayLevelView.coffee
@@ -344,6 +344,8 @@ module.exports = class PlayLevelView extends RootView
if (@isEditorPreview or @observing) and not @getQueryVariable('intro')
@loadingView.startUnveiling()
@loadingView.unveil true
+ else
+ @scriptManager.initializeCamera()
onLoadingViewUnveiling: (e) ->
@selectHero()