diff --git a/app/src/processing/app/Language.java b/app/src/processing/app/Language.java
index 7306b39f2..149f163e0 100644
--- a/app/src/processing/app/Language.java
+++ b/app/src/processing/app/Language.java
@@ -99,6 +99,7 @@ public class Language {
"nl", // Dutch, Nederlands
"pt", // Portuguese
"tr", // Turkish
+ "uk", // Ukrainian
"zh" // Chinese
};
return SUPPORTED;
diff --git a/build/shared/lib/languages/PDE_uk.properties b/build/shared/lib/languages/PDE_uk.properties
new file mode 100644
index 000000000..07ce05aa5
--- /dev/null
+++ b/build/shared/lib/languages/PDE_uk.properties
@@ -0,0 +1,588 @@
+
+
+# ---------------------------------------
+# Language: Ukrainian (Українська) (uk)
+# ---------------------------------------
+
+
+# ---------------------------------------
+# Menu
+
+# | File | Edit | Sketch | Debug | Tools | Help |
+# | File |
+menu.file = Файл
+menu.file.new = Створити
+menu.file.open = Відкрити...
+menu.file.recent = Відкрити останні
+menu.file.sketchbook = Ескізник...
+menu.file.sketchbook.empty = Очистити ескізник
+menu.file.examples = Приклади...
+menu.file.close = Закрити
+menu.file.save = Зберегти
+menu.file.save_as = Зберегти як...
+menu.file.export_application = Експортувати застосунок...
+menu.file.page_setup = Параметри сторінки
+menu.file.print = Друк...
+menu.file.preferences = Налаштування...
+menu.file.quit = Вийти
+
+# | File | Edit | Sketch | Debug | Tools | Help |
+# | Edit |
+menu.edit = Редагування
+menu.edit.undo = Скасувати
+menu.edit.redo = Повторити
+menu.edit.action.addition = додавання
+menu.edit.action.deletion = видалення
+menu.edit.cut = Вирізати
+menu.edit.copy = Копіювати
+menu.edit.copy_as_html = Копіювати як HTML
+menu.edit.paste = Вставити
+menu.edit.select_all = Виділити все
+menu.edit.auto_format = Автоформатування
+menu.edit.comment_uncomment = Коментувати/Розкоментувати
+menu.edit.increase_indent = Збільшити відступ
+menu.edit.decrease_indent = Зменшити відступ
+menu.edit.find = Знайти...
+menu.edit.find_next = Знайти наступне
+menu.edit.find_previous = Знайти попереднє
+menu.edit.use_selection_for_find = Шукати виділене
+
+# | File | Edit | Sketch | Debug | Tools | Help |
+# | Sketch |
+menu.sketch.run = Запустити
+menu.sketch.present = Режим презентації
+menu.sketch.tweak = Модифікувати
+menu.sketch.stop = Зупинити
+# ---
+menu.library = Імпортувати бібліотеку...
+menu.library.add_library = Додати бібліотеку...
+menu.library.contributed = Користувацькі
+menu.library.no_core_libraries = у режиму немає основних бібліотек
+# ---
+menu.sketch = Ескіз
+menu.sketch.show_sketch_folder = Показати папку ескізу
+menu.sketch.add_file = Додати файл...
+
+# | File | Edit | Sketch | Debug | Tools | Help |
+# | Debug |
+menu.debug = Налагодження
+menu.debug.enable = Увімкнути налагоджувач
+menu.debug.disable = Вимкнути налагоджувач
+#menu.debug.show_debug_toolbar = Показати панель налагодження
+#menu.debug.debug = Почати налагодження
+#menu.debug.stop = Зупинити налагодження
+# ---
+menu.debug.toggle_breakpoint = Додати / вилучити точку зупинки
+#menu.debug.list_breakpoints = Показати список точок зупинки
+# ---
+# used for both menus and toolbars
+menu.debug.step = Крок
+menu.debug.step_into = Крок із заходом
+menu.debug.step_out = Крок із виходом
+menu.debug.continue = Продовжити
+# ---
+#menu.debug.print_stack_trace = Друкувати стек викликів
+#menu.debug.print_locals = Друкувати локальні змінні
+#menu.debug.print_fields = Друкувати поля
+#menu.debug.print_source_location = Друкувати розташування джерела
+#menu.debug.print_threads = Друкувати потоки
+# ---
+#menu.debug.variable_inspector = Інспектор змінних
+menu.debug.show_variables = Показати змінні
+menu.debug.hide_variables = Приховати змінні
+#menu.debug.show_sketch_outline = Показати начерк ескізу
+#menu.debug.show_tabs_list = Показати список вкладок
+
+# | File | Edit | Sketch | Debug | Tools | Help |
+# | Tools |
+menu.tools = Інструменти
+menu.tools.color_selector = Вибрати колір...
+menu.tools.create_font = Створити шрифт...
+menu.tools.archive_sketch = Архівувати ескіз
+menu.tools.fix_the_serial_lbrary = Виправити Serial Library
+menu.tools.install_processing_java = Встановити "processing-java"
+menu.tools.add_tool = Додати інструмент...
+
+# | File | Edit | Sketch | Debug | Tools | Help |
+# | Help |
+menu.help = Довідка
+menu.help.welcome = Ласкаво просимо до Processing 3
+menu.help.about = Про Processing
+menu.help.environment = Середовище
+menu.help.reference = Документація
+menu.help.find_in_reference = Знайти у документації
+menu.help.libraries_reference = Документація бібліотек
+menu.help.tools_reference = Документація інструментів
+menu.help.empty = (порожньо)
+menu.help.online = Онлайн
+menu.help.getting_started = Перші кроки (англ.)
+menu.help.getting_started.url = http://processing.org/learning/gettingstarted/
+menu.help.troubleshooting = Вирішення проблем (англ.)
+menu.help.troubleshooting.url = http://wiki.processing.org/w/Troubleshooting
+menu.help.faq = Часті питання (англ.)
+menu.help.faq.url = http://wiki.processing.org/w/FAQ
+menu.help.foundation = The Processing Foundation (англ.)
+menu.help.foundation.url = http://processing.org/foundation/
+menu.help.visit = Відвідати Processing.org (англ.)
+menu.help.visit.url = http://processing.org/
+
+
+# ---------------------------------------
+# Basics
+
+# Buttons
+prompt.yes = Так
+prompt.no = Ні
+prompt.cancel = Скасувати
+prompt.ok = ОК
+prompt.browse = Огляд
+prompt.export = Експортувати
+
+
+# ---------------------------------------
+# Frames
+
+# Open (Frame)
+open = Відкрити ескіз Processing...
+
+# Save (Frame)
+save = Зберегти папку ескізу як...
+save.title = Зберегти зміни до %s
перед закриттям?
+save.hint = Якщо не зберегти зміни, їх буде втрачено.
+save.btn.save = Зберегти
+save.btn.dont_save = Не зберігати
+
+# Close (Frame) also used to prompt on non-OS X machines
+close.unsaved_changes = Зберегти зміни до %s?
+
+# Preferences (Frame)
+preferences = Налаштування
+preferences.button.width = 95
+preferences.requires_restart = потрібен перезапуск Processing
+preferences.sketchbook_location = Місцезнаходження ескізника
+preferences.sketchbook_location.popup = Місцезнаходження ескізника
+preferences.language = Мова
+preferences.editor_and_console_font = Шрифт редактора і консолі
+preferences.editor_and_console_font.tip = Виберіть шрифт, що використовуватиметься у редакторі та консолі.
Можна використовувати лише моноширинні шрифти.
+preferences.editor_font_size = Розмір шрифту редактора
+preferences.console_font_size = Розмір шрифту консолі
+preferences.background_color = Колір фону в режимі презентації
+preferences.background_color.tip = Виберіть фоновий колір для режиму презентації.
Режим презентації використовується для повноекранної презентації ескізу
і доступний з меню Ескіз.
+preferences.use_smooth_text = Використовувати згладжений текст у вікні редактора
+preferences.enable_complex_text_input = Увімкнути введення складного тексту
+preferences.enable_complex_text_input_example = напр. японська
+preferences.continuously_check = Постійно перевіряти на помилки
+preferences.show_warnings = Показувати попередження
+preferences.code_completion = Доповнення коду за допомогою
+preferences.trigger_with = Запуск за допомогою
+preferences.cmd_space = Пробіл
+preferences.suggest_imports = Пропонувати інструкції import
+preferences.increase_max_memory = Збільшити максимальну доступну пам’ять до
+preferences.delete_previous_folder_on_export = Видаляти попередню папку при експортуванні
+preferences.check_for_updates_on_startup = Дозволяти перевірку на оновлення (див. ЧаПи щодо інформації, яка передається)
+preferences.run_sketches_on_display = Запускати ескізи на моніторі
+preferences.run_sketches_on_display.tip = Задає монітор, де спочатку розміщені ескізи.
Якщо вікно ескізу буде переміщено, воно відкриється у тому ж
місці, але у режимі презентації (на повний екран) завжди
використовуватиметься цей монітор.
+preferences.automatically_associate_pde_files = Автоматично асоціювати файли .pde з Processing
+preferences.launch_programs_in = Запускати програми у режимі
+
+# Intentionally left blank
+# In Ukrainian "launch programs in mode X" looks nicer than "launch programs in X mode"
+preferences.launch_programs_in.mode =
+
+preferences.file = Інші налаштування можна вручну редагувати у файлі
+preferences.file.hint = не редагувати, коли Processing запущено!
+
+# Sketchbook Location (Frame)
+sketchbook_location = Виберіть нове місцезнаходження ескізника
+
+# Sketchbook (Frame)
+sketchbook = Ескізник
+sketchbook.tree = Ескізник
+
+# Examples (Frame)
+examples.title = Приклади %s
+examples.add_examples = Додати приклади...
+examples.libraries = Користувацькі бібліотеки
+examples.core_libraries = Бібліотеки
+examples.contributed = Користувацькі приклади
+
+# Export (Frame)
+export = Налаштування експортування
+export.platforms = Платформи
+export.options = Налаштування
+export.options.present = Режим презентації
+export.options.show_stop_button = Показувати кнопку зупинки
+export.description.line1 = "Експортування застосунку" створює інтерактивні,
+export.description.line2 = незалежні застосунки для обраних платформ.
+export.unsaved_changes = Зберегти зміни перед тим, як експортувати?
+export.notice.cancel.unsaved_changes = Експортування скасовано, спершу потрібно зберегти зміни.
+export.notice.exporting = Експортую застосунок...
+export.notice.exporting.done = Експортування завершено.
+export.notice.exporting.error = Помилка експортування.
+export.notice.exporting.cancel = Експортування застосунку скасовано.
+export.tooltip.macosx = Експорт для Mac OS X доступний лише на Mac OS X
+export.full_screen = Повний екран
+export.embed_java = Вбудувати Java
+export.embed_java.for = Вбудувати Java для
+export.code_signing = Цифровий підпис
+export.messages.is_read_only = Ескіз лише для читання
+export.messages.is_read_only.description = Деякі файли позначено як "лише для читання".\nЗбережіть ескіз у іншому розташуванні та\nспробуйте знову.
+export.messages.cannot_export = Експортування неможливе
+export.messages.cannot_export.description = Не можна експортувати ескіз, який не було збережено.
+
+# Find (Frame)
+find = Знайти
+find.find = Знайти:
+find.replace_with = Замінити на:
+find.ignore_case = Не враховувати регістр
+find.all_tabs = По всіх вкладках
+find.wrap_around = По всьому документу
+find.btn.replace_all = Замінити все
+find.btn.replace = Замінити
+find.btn.replace_and_find = Замінити і знайти далі
+find.btn.previous = Назад
+find.btn.find = Знайти
+
+# Find in reference (Frame)
+find_in_reference = Знайти у документації
+
+# File (Frame)
+file = Виберіть зображення або інший файл з даними, щоб скопіювати його у ескіз
+
+# Create Font (Frame)
+create_font = Створити шрифт
+create_font.label = Цей інструмент призначений для створення растрових шрифтів для вашої програми.\nВиберіть шрифт та розмір і натисніть "ОК", щоб згенерувати шрифт.\nЙого буде додано до папки даних поточного ескізу.
+create_font.size = Розмір
+create_font.smooth = Згладжений
+create_font.characters = Символи...
+create_font.character_selector = Вибирач символів
+create_font.character_selector.label = У стандартні символи включено більшість bitmap-ів для Mac OS\nі Windows Latin. Включення усіх символів вимагає великого\nобсягу пам’яті.\nДля кращої навігації можна обрати конкретні блоки Unicode.
+create_font.default_characters = Стандартні символи
+create_font.all_characters = Усі символи
+create_font.specific_unicode = Конкретні блоки Unicode
+create_font.filename = Ім’я файлу
+
+# Color Selector (Frame)
+color_selector = Вибирач кольору
+
+# Archive Sketch (Frame)
+archive_sketch = Архівувати ескіз як...
+
+# Tweak Mode
+tweak_mode = Режим модифікування
+tweak_mode.save_before_tweak = Будь ласка, збережіть ескіз перед тим, як запускати його у режимі модифікування.
+tweak_mode.keep_changes.line1 = Зберегти змінні?
+tweak_mode.keep_changes.line2 = Ви змінили деякі параметри у вашому ескізі. Бажаєте зберегти зміни?
+
+# DebugTray
+debugger.name = Ім’я
+debugger.value = Значення
+debugger.type = Тип
+
+# ---------------------------------------
+# Toolbars
+
+# [Run/Present] [Stop] [New] [Open] [Save]
+toolbar.run = Запустити
+toolbar.present = Презентувати
+toolbar.stop = Зупинити
+toolbar.debug = Налагоджувати
+# ---
+toolbar.new = Створити
+toolbar.open = Відкрити
+toolbar.save = Зберегти
+# toolbar.export_application = Експортувати застосунок
+toolbar.add_mode = Додати режим...
+
+# [Debug] [Continue] [Step] [Stop] [Toggle Breakpoints] [Variable Inspector]
+#toolbar.debug.continue = Продовжити
+#toolbar.debug.step = Крок
+#toolbar.debug.step_into = Крок із заходом
+#toolbar.debug.stop = Зупинити
+#toolbar.debug.toggle_breakpoints = Додати / вилучити точку зупинки
+#toolbar.debug.variable_inspector = Інспектор змінних
+
+
+# ---------------------------------------
+# Editor
+
+# [Tab1] [Tab2] [v]
+editor.header.new_tab = Нова вкладка
+editor.header.rename = Перейменувати
+editor.header.delete = Видалити
+editor.header.previous_tab = Попередня вкладка
+editor.header.next_tab = Наступна вкладка
+editor.header.delete.warning.title = Хех, ні.
+editor.header.delete.warning.text = Не можна видалити головну вкладку єдиного відкритого ескізу.
+
+# PopUp menu
+editor.popup.show_usage = Показати використання...
+editor.popup.rename = Перейменувати...
+
+# Tabs
+editor.tab.new = Нове ім’я
+editor.tab.new.description = Ім’я нового файлу
+editor.tab.rename = Нове ім’я
+editor.tab.rename.description = Нове ім’я файлу
+
+# Sketch
+editor.sketch.rename.description = Ім’я нового ескізу
+
+editor.status.autoformat.no_changes = Не потрібно нічого змінювати для автоформатування.
+editor.status.autoformat.finished = Автоформатування завершено.
+editor.status.find_reference.select_word_first = Спершу виберіть слово, яке потрібно знайти у документації.
+editor.status.find_reference.not_available = Документація для "%s" недоступна.
+editor.status.drag_and_drop.files_added.0 = До ескізу не додано жодного файлу.
+editor.status.drag_and_drop.files_added.1 = До ескізу додано один файл.
+editor.status.drag_and_drop.files_added.n = До ескізу додано %d файли(-ів).
+editor.status.saving = Зберігаю...
+editor.status.saving.done = Збереження завершено.
+editor.status.saving.canceled = Збереження скасовано.
+editor.status.printing = Друкую...
+editor.status.printing.done = Друк завершено.
+editor.status.printing.error = Помилка під час друку.
+editor.status.printing.canceled = Друк скасовано.
+editor.status.copy_as_html = Код, форматований як HTML, скопійовано до буферу обміну.
+editor.status.debug.busy = Налагоджувач зайнятий...
+editor.status.debug.halt = Налагоджувач зупинено.
+editor.status.archiver.create = Архів "%s" створено.
+editor.status.archiver.cancel = Архівування ескізу скасовано.
+
+# Errors
+editor.status.warning = Попередження
+editor.status.error = Помилка
+editor.status.error_on = Помилка на "%s"
+editor.status.missing.default = Відсутні "%c"
+editor.status.missing.semicolon = Відсутня ";"
+editor.status.missing.left_sq_bracket = Відсутня "["
+editor.status.missing.right_sq_bracket = Відсутня "]"
+editor.status.missing.left_paren = Відсутня "("
+editor.status.missing.right_paren = Відсутня ")"
+editor.status.missing.left_curly_bracket = Відсутня "{"
+editor.status.missing.right_curly_bracket = Відсутня "}"
+editor.status.missing.add = Спробуйте додати "%s"
+editor.status.reserved_words = "color" і "int" - зарезервовані ідентифікатори і не можуть бути назвами змінних
+editor.status.undefined_method = Функція "%s(%s)" не існує
+editor.status.undefined_constructor = Конструктор "%s(%s)" не існує
+editor.status.empty_param = Функція "%s()" не очікує параметрів
+editor.status.wrong_param = Функція "%s()" очікує такі параметри: "%s(%s)"
+editor.status.undef_global_var = Глобальна змінна "%s" не існує
+editor.status.undef_class = Клас "%s" не існує
+editor.status.undef_var = Змінна "%s" не існує
+editor.status.undef_name = Ім’я "%s" не може бути розпізнано
+editor.status.type_mismatch = Неспівпадіння типів "%s" та "%s"
+editor.status.unused_variable = Локальна змінна "%s" ніде не використовується
+editor.status.uninitialized_variable = Локальна змінна "%s" може бути не ініціалізована
+editor.status.no_effect_assignment = Присвоєння змінної "%s" не має чинності
+
+# Footer buttons
+editor.footer.errors = Помилки
+editor.footer.errors.problem = Проблема
+editor.footer.errors.tab = Вкладка
+editor.footer.errors.line = Рядок
+editor.footer.console = Консоль
+
+# New handler
+new.messages.is_read_only = Ескіз лише для читання
+new.messages.is_read_only.description = Деякі файли позначено як "лише для читання".\nЗбережіть ескіз у іншому розташуванні та\nспробуйте знову.
+
+# Rename handler
+rename.messages.is_untitled = Ескіз безіменний
+rename.messages.is_untitled.description = Варто зберегти ескіз\nперед тим, як перейменовувати його
+rename.messages.is_modified = Будь ласка, збережіть ескіз перед перейменування.
+rename.messages.is_read_only = Ескіз лише для читання
+rename.messages.is_read_only.description = Деякі файли позначено як "лише для читання".\nЗбережіть ескіз у іншому розташуванні та\nспробуйте знову.
+
+# Naming handler
+name.messages.problem_renaming = Помилка перейменовування
+name.messages.starts_with_dot.description = Ім’я не може починатись з крапки.
+name.messages.invalid_extension.description = ".%s" не є допустимим розширенням.
+name.messages.main_java_extension.description = Перша вкладка не може бути файлом .%s.\n(А не пора тобі перейти на\n"справжнє" середовище програмування?)
+name.messages.new_sketch_exists = Перейменування неможливе
+name.messages.new_sketch_exists.description = Файл з назвою "%s" вже існує у\n"%s"
+name.messages.new_folder_exists = Перейменування неможливе
+name.messages.new_folder_exists.description = Ескіз (чи папка) з назвою "%s" вже існує.
+name.messages.error = Помилка
+name.messages.no_rename_folder.description = Не вдалось перейменувати папку ескізу.
+name.messages.no_rename_file.description = Не вдалось перейменувати "%s" на "%s"
+name.messages.no_create_file.description = Не вдалось створити файл "%s"\nу "%s"
+
+# Delete handler
+delete.messages.cannot_delete = Видалення неможливе
+delete.messages.cannot_delete.description = Не можна видалити ескіз, який не було збережено.
+delete.messages.cannot_delete.file = Не вдалось це зробити
+delete.messages.cannot_delete.file.description = Не вдалось видалити
+delete.messages.is_read_only = Ескіз лише для читання
+delete.messages.is_read_only.description = Деякі файли позначено як "лише для читання".\nЗбережіть ескіз у іншому розташуванні та\nспробуйте знову.
+
+# Save handler
+save_file.messages.is_read_only = Ескіз лише для читання
+save_file.messages.is_read_only.description = Деякі файли позначено як "лише для читання".\nЗбережіть ескіз у іншому розташуванні.
+save_file.messages.sketch_exists = Не вдалось зберегти
+save_file.messages.sketch_exists.description = Ескіз з очищеним іменем\n“%s” вже існує.
+save_file.messages.tab_exists = Не вдалось зберегти
+save_file.messages.tab_exists.description = Не можна зберегти ескіз як "%s"\nбо він вже має вкладку з таким іменем.
+save_file.messages.recursive_save = Збереження в стилі Боргеса
+save_file.messages.recursive_save.description = Не можна зберегти ескіз всередині\nсамого себе. Це викличе нескінченну рекурсію.
+
+# Add handler
+add_file.messages.is_read_only = Ескіз лише для читання
+add_file.messages.is_read_only.description = Деякі файли позначено як "лише для читання".\nЗбережіть ескіз у іншому розташуванні та\nспробуйте знову.
+add_file.messages.confirm_replace = Замінити існуюче розширення %s?
+add_file.messages.error_adding = Помилка при додаванні файлу
+add_file.messages.cannot_delete.description = Не вдалось видалити існуючий файл '%s'.
+add_file.messages.cannot_add.description = Не вдалось додати '%s' до ескізу.
+add_file.messages.same_file = Мене не надуриш
+add_file.messages.same_file.description = Цей файл уже скопійовано у\nрозташування, куди ви його копіюєте.\nЯ ніц не зроблю.
+
+# Temp folder creator
+temp_dir.messages.bad_build_folder = Погана папка збірки
+temp_dir.messages.bad_build_folder.description = Не вдалось знайти розташування для збірки ескізу.
+
+# Ensure Existance
+ensure_exist.messages.missing_sketch = Ескіз зник
+ensure_exist.messages.missing_sketch.description = Папка ескізу зникла.\nСпробую зберегти у тому ж розташуванні,\nале все, крім коду, зникне.
+ensure_exist.messages.unrecoverable = Не вдалось зберегти ескіз
+ensure_exist.messages.unrecoverable.description = Не вдалось повторно зберегти ескіз. У вас можуть бути проблеми,\nпора копіювати і вставляти код у інший текстовий редактор.
+
+# Check name
+check_name.messages.is_name_modified = Ім’я ескізу потрібно було змінити. Імена ескізів можуть містити\nтільки ASCII-символи і числа (але не можуть починатися з числа).\nКрім того, вони мають бути не довшими за 64 символи.
+
+# ---------------------------------------
+# Contributions
+
+# Contribution Panel
+contrib = Керування внесками
+contrib.manager_title.update = Керування оновленнями
+contrib.manager_title.mode = Керування режимами
+contrib.manager_title.tool = Керування інструментами
+contrib.manager_title.library = Керування бібліотеками
+contrib.manager_title.examples = Керування прикладами
+contrib.category = Категорія:
+contrib.filter_your_search = Фільтр пошуку...
+contrib.show_only_compatible.mode = Показати лише сумісні режими
+contrib.show_only_compatible.tool = Показати лише сумісні інструменти
+contrib.show_only_compatible.library = Показати лише сумісні бібліотеки
+contrib.show_only_compatible.examples = Показати лише сумісні приклади
+contrib.show_only_compatible.update = Показати лише сумісні оновлення
+contrib.restart = Перезапустити Processing
+contrib.unsaved_changes = Зміни не було збережено
+contrib.unsaved_changes.prompt = Ви впевнені, що хочете перезапустити Processing, не зберігаючи зміни?
+contrib.messages.remove_restart = Будь ласка, перезапустіть Processing, щоб завершити видалення цього внеску.
+contrib.messages.install_restart = Будь ласка, перезапустіть Processing, щоб завершити встановлення цього внеску.
+contrib.messages.update_restart = Будь ласка, перезапустіть Processing, щоб завершити оновлення цього внеску.
+contrib.errors.list_download = Не вдалось завантажити список встановлених внесків.
+contrib.errors.list_download.timeout = Тайм-аут з’єднання під час завантаження списку внесків.
+contrib.errors.download_and_install = Помилка при завантаженні чи встановленні %s.
+contrib.errors.description_unavailable = Опису немає.
+contrib.errors.malformed_url = Посилання, отримане з Processing.org, недійсне.\nЦю бібліотеку все ще можна встановити, відвідавши\nїї сайт.
+contrib.errors.needs_repackage = %s потрібно перепакувати за правилами %s.
+contrib.errors.no_contribution_found = Не вдалось знайти %s у завантаженому файлі.
+contrib.errors.overwriting_properties = Помилка при перезаписуванні файлу .properties.
+contrib.errors.install_failed = Встановлення не вдалось.
+contrib.errors.update_on_restart_failed = Помилка оновлення під час перезапуску %s.
+contrib.errors.temporary_directory = Не вдалось записати у тимчасову папку.
+contrib.errors.contrib_download.timeout = Тайм-аут з’єднання під час завантаження %s.
+contrib.errors.no_internet_connection = Здається, ви не під’єднані до мережі Інтернет.
+contrib.status.downloading_list = Завантаження списку внесків...
+contrib.status.connecting = З’єднання...
+contrib.status.done = Готово.
+contrib.all = Усе
+contrib.undo = Скасувати
+contrib.remove = Видалити
+contrib.install = Встановити
+contrib.progress.installing = Встановлюю
+contrib.progress.starting = Починаю
+contrib.progress.downloading = Завантажую
+contrib.download_error = Сталась помилка під час завантаження внеску.
+contrib.unsupported_operating_system = Здається, ваша операційна система не підтримується. Відвідайте бібліотеку %s для детальнішої інформації.
+contrib.category.3d = 3D
+contrib.category.animation = Анімація
+contrib.category.data = Дані
+contrib.category.geometry = Геометрія
+contrib.category.gui = Інтерфейс
+contrib.category.hardware = Апаратне забезпечення
+contrib.category.i_o = Введення/виведення
+contrib.category.math = Математика
+contrib.category.simulation = Симуляція
+contrib.category.sound = Звук
+contrib.category.typography = Типографія
+contrib.category.utilities = Утиліти
+contrib.category.video_vision = Відео
+contrib.category.other = Інше
+
+# Install on Startup
+contrib.startup.errors.download_install = Помилка під час завантаження чи встановлення %s
+contrib.startup.errors.temp_dir = Не вдалось записати у тимчасову папку під час завантаження чи встановлення %s
+contrib.startup.errors.new_marker = Здається, старому маркеру внеску не подобається %s. Можливо, потрібно оновити вручну...
+
+# Install on Import
+contrib.import.dialog.title = Доступні відсутні бібліотеки
+contrib.import.dialog.primary_text = Ці імпортовані бібліотеки доступні для завантаження, але не були встановлені.
+contrib.import.dialog.secondary_text = Бажаєте встановити їх зараз?
+contrib.import.progress.download = Завантаження %s...
+contrib.import.progress.install = Встановлення %s...
+contrib.import.progress.done = %s було встановлено.
+contrib.import.progress.final_list = Було встановлено такі бібліотеки:
+contrib.import.errors.link = Помилка: У бібліотеки %s недійсне посилання завантаження.
+
+# ---------------------------------------
+# Warnings
+
+warn.delete = Видалення
+warn.delete.sketch = Ви впевнені, що хочете видалити цей ескіз?
+warn.delete.file = Ви впевнені, що хочете видалити "%s"?
+
+
+# ---------------------------------------
+# Update Check
+
+update_check = Оновлення
+update_check.updates_available.core = Доступна нова версія Processing,\nбажаєте відвідати сторінку завантаження Processing?
+update_check.updates_available.contributions = Доступні оновлення для деяких встановлених внесків,\nбажаєте відкрити меню керування внесками зараз?
+
+
+# ---------------------------------------
+# Color Chooser
+
+color_chooser = Вибирач кольору
+color_chooser.select = Вибрати
+
+# ---------------------------------------
+# Movie Maker
+
+movie_maker = Генератор відео
+movie_maker.title = Генератор відео QuickTime
+movie_maker.blurb = Цей інструмент створює відео QuickTime з послідовності зображень.
Для уникнення артефактів від повторного стиснення зображень у відео
використовуйте зображення TIFF, TGA (з Processing) або PNG.
Зображення TIFF та TGA записуватимуться швидше, але вимагають більше місця на диску:
saveFrame("frames/####.tif");
saveFrame("frames/####.tga");
Зображення PNG менші, але записуватимуться повільніше:
saveFrame("frames/####.png");
Код базується на QuickTime Movie Maker 1.5.1 2011-01-17.
Copyright © 2010-2011 Werner Randelshofer. Всі права захищені.
+movie_maker.image_folder_help_label = Перетягніть папку з файлами зображень у поле внизу:
+movie_maker.choose_button = Вибрати...
+movie_maker.select_image_folder = Вибрати папку зображень...
+movie_maker.sound_file_help_label = Перетягніть звуковий файл (.au, .aiff, .wav, .mp3) у поле внизу:
+movie_maker.select_sound_file = Вибрати звуковий файл...
+
+movie_maker.create_movie_button = Створити відео...
+movie_maker.save_dialog_prompt = Зберегти відео як...
+movie_maker.width = Ширина:
+movie_maker.height = Висота:
+movie_maker.compression = Стиснення:
+movie_maker.compression.animation = Анімація
+movie_maker.compression.jpeg = JPEG
+movie_maker.compression.png = PNG
+movie_maker.framerate = Частота кадрів:
+movie_maker.orig_size_button = Розмір, як в оригіналі
+movie_maker.orig_size_tooltip = Відмітьте це, якщо папка вже містить закодовані кадри відео бажаного розміру.
+
+movie_maker.error.avoid_tiff = Спробуйте зображення TGA чи PNG замість TIFF.
+movie_maker.error.badnumbers = Ширина та висота мають бути цілими додатніми числами; частота кадрів має бути додатнім числом.
+movie_maker.error.cannot_read = Не вдалось прочитати %s.
+movie_maker.error.cannot_read_maybe_bad = Не вдалось прочитати %s; файл може бути недійсним.
+movie_maker.error.movie_failed = Не вдалось створити відео QuickTime.
+movie_maker.error.need_input = Потрібно зазначити папку з файлами зображень, звуковими файлами, або і тим, і іншим.
+movie_maker.error.no_images_found = Не знайдено файлів зображень.
+movie_maker.error.sorry = Вибачте
+movie_maker.error.unknown_tga_format = Невідомий формат файлу .tga для %s.
+
+movie_maker.progress.creating_file_name = Створюю %s.
+movie_maker.progress.creating_output_file = Створюю вихідний файл
+movie_maker.progress.initializing = Ініціалізація...
+movie_maker.progress.processing = Обробляю %s.
diff --git a/build/shared/lib/languages/languages.txt b/build/shared/lib/languages/languages.txt
index 4d82a9aac..e86d7da44 100644
--- a/build/shared/lib/languages/languages.txt
+++ b/build/shared/lib/languages/languages.txt
@@ -15,4 +15,5 @@ ko # Korean
nl # Dutch, Nederlands
pt # Portuguese
tr # Turkish
+uk # Ukrainian
zh # Chinese