From 308c5929a61a67b05c5511a456a122d9e5c250c9 Mon Sep 17 00:00:00 2001 From: TeamSpen210 Date: Mon, 22 Feb 2021 09:35:44 +1000 Subject: [PATCH 01/19] Fix #1501: Packlists not being loaded and exported --- src/packages/__init__.py | 1 + src/packages/pack_list.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/packages/__init__.py b/src/packages/__init__.py index c1baa76c0..2064fa8af 100644 --- a/src/packages/__init__.py +++ b/src/packages/__init__.py @@ -969,3 +969,4 @@ def sep_values(string: str, delimiters: Iterable[str] = ',;/') -> List[str]: from packages.music import Music from packages.quote_pack import QuotePack from packages.template_brush import BrushTemplate, TEMPLATE_FILE +from packages.pack_list import PackList diff --git a/src/packages/pack_list.py b/src/packages/pack_list.py index c625c31a2..650ea7ad7 100644 --- a/src/packages/pack_list.py +++ b/src/packages/pack_list.py @@ -18,7 +18,7 @@ def __init__(self, pak_id: str, files: List[str]) -> None: @classmethod def parse(cls, data: ParseData) -> 'PackList': """Read pack lists from packages.""" - filesystem = data.fsys # type: FileSystem + filesystem = data.fsys conf = data.info.find_key('Config', '') if 'AddIfMat' in data.info: From 989ca4dcb6f25d7dae8315c26dff6ce81b214d2e Mon Sep 17 00:00:00 2001 From: TeamSpen210 Date: Mon, 22 Feb 2021 09:36:44 +1000 Subject: [PATCH 02/19] #1502: Don't crash if subtype counts don't match --- src/app/UI.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/app/UI.py b/src/app/UI.py index eb8378d1f..73e97dc06 100644 --- a/src/app/UI.py +++ b/src/app/UI.py @@ -149,7 +149,13 @@ def get_tags(self, subtype: int) -> Iterator[str]: yield self.pak_name yield from self.data.tags yield from self.data.authors - yield gameMan.translate(self.data.editor.subtypes[subtype].name) + try: + yield gameMan.translate(self.data.editor.subtypes[subtype].name) + except IndexError: + LOGGER.warning( + 'No subtype number {} for {} in {} style!', + subtype, self.id, selected_style, + ) def get_icon(self, subKey, allow_single=False, single_num=1) -> PhotoImage: """Get an icon for the given subkey. From 9fbe49c89a38877c4cda0c46c6b0e82b6f21b5c4 Mon Sep 17 00:00:00 2001 From: TeamSpen210 Date: Mon, 22 Feb 2021 09:39:59 +1000 Subject: [PATCH 03/19] This attribute is wrong --- src/app/UI.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/UI.py b/src/app/UI.py index 73e97dc06..c1895ee68 100644 --- a/src/app/UI.py +++ b/src/app/UI.py @@ -112,7 +112,7 @@ def __init__(self, item: packages.Item) -> None: ) # If the last-selected value doesn't exist, fallback to the default. if self.selected_ver not in item.versions: - LOGGER.warning('Version ID {} is not valid for item {}', self.selected_version, item.id) + LOGGER.warning('Version ID {} is not valid for item {}', self.selected_ver, item.id) self.selected_ver = item.def_ver.id self.item = item From 325629ec89a835c79af0f2766f38d306eb4c2672 Mon Sep 17 00:00:00 2001 From: TeamSpen210 Date: Mon, 22 Feb 2021 09:40:15 +1000 Subject: [PATCH 04/19] Add some checks to ensure all items have the same subtype count --- src/packages/item.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/packages/item.py b/src/packages/item.py index 3911427ae..e7cf3e58b 100644 --- a/src/packages/item.py +++ b/src/packages/item.py @@ -475,9 +475,26 @@ def parse(cls, data: ParseData): def_version = version version.isolate = True + if def_version is None: + raise ValueError(f'Item "{data.id}" has no versions!') + # Fill out the folders dict with the actual data parsed_folders = parse_item_folder(folders_to_parse, data.fsys, data.pak_id) + # We want to ensure the number of visible subtypes doesn't change. + subtype_counts = { + tuple([ + i for i, subtype in enumerate(folder.editor.subtypes, 1) + if subtype.pal_pos or subtype.pal_name + ]) + for folder in parsed_folders.values() + } + if len(subtype_counts) > 1: + raise ValueError( + f'Item "{data.id}" has different ' + f'visible subtypes in its styles: {", ".join(map(str, subtype_counts))}' + ) + # Then copy over to the styles values for ver in versions.values(): if isinstance(ver.def_style, str): @@ -489,9 +506,6 @@ def parse(cls, data: ParseData): if isinstance(fold, str): ver.styles[sty] = parsed_folders[fold] - if not versions: - raise ValueError(f'Item "{data.id}" has no versions!') - return cls( data.id, versions=versions, From 5c6a16d95bfedf632155981c2fcff891c0a69948 Mon Sep 17 00:00:00 2001 From: RadRussianRus Date: Mon, 22 Feb 2021 04:00:19 +0300 Subject: [PATCH 05/19] Russian translation by @RadRussianRus --- i18n/ru.po | 1568 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1568 insertions(+) create mode 100644 i18n/ru.po diff --git a/i18n/ru.po b/i18n/ru.po new file mode 100644 index 000000000..09b7aef29 --- /dev/null +++ b/i18n/ru.po @@ -0,0 +1,1568 @@ +msgid "" +msgstr "" +"Project-Id-Version: BEEMOD2\n" +"Language: ru\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.4.2\n" + +#: loadScreen.py +msgid "Skipped!" +msgstr "Пропущено!" + +#: loadScreen.py +msgid "Version: " +msgstr "Версия: " + +#: app/optionWindow.py app/packageMan.py app/selector_win.py loadScreen.py +msgid "Cancel" +msgstr "Отмена" + +#: app/tagsPane.py loadScreen.py +msgid "Packages" +msgstr "Пакеты" + +#: loadScreen.py +msgid "Loading Objects" +msgstr "Загрузка объектов" + +#: loadScreen.py +msgid "Loading Images" +msgstr "Загрузка картинок" + +#: loadScreen.py +msgid "Initialising UI" +msgstr "Инициализация интерфейса" + +#: loadScreen.py +msgid "Better Extended Editor for Portal 2" +msgstr "Better Extended Editor для Portal 2" + +#: utils.py +msgid "__LANG_USE_SANS_SERIF__" +msgstr "__LANG_USE_SANS_SERIF__" + +#: app/CheckDetails.py +msgid "Toggle all checkboxes." +msgstr "Выбрать все." + +#: app/CompilerPane.py +msgid "ATLAS" +msgstr "Атлас" + +#: app/CompilerPane.py +msgid "P-Body" +msgstr "Пи-боди" + +#: app/CompilerPane.py app/voiceEditor.py +msgid "Chell" +msgstr "Челл" + +#: app/CompilerPane.py app/voiceEditor.py +msgid "Bendy" +msgstr "Бенди" + +#: app/CompilerPane.py +msgid "Brushes form the walls or other parts of the test chamber. If this is high, it may help to reduce the size of the map or remove intricate shapes." +msgstr "Кисти (brushes) формируют стены и другие части тестовой камеры. Если их слишком много, можно уменьшить размер карты или удалить сложные формы." + +#: app/CompilerPane.py +msgid "" +"Entities are the things in the map that have functionality. Removing complex moving items will help reduce this. Items have their entity count listed in the item description window.\n" +"\n" +"This isn't completely accurate, some entity types are counted here but don't affect the ingame limit, while others may generate additional entities at runtime." +msgstr "" +"Сущности (entities) — это вещи на карте, у которых есть функциональность. Удаление сложных движущихся предметов поможет уменьшить их количество. У предметов есть счётчик количества сущностей в окне описания предмета.\n" +"\n" +"Это не до конца точно, некоторые типы сущностей указаны здесь, но не влияют на внутриигровой предел, в то время как другие могут создавать дополнительные сущности во время игры." + +#: app/CompilerPane.py +msgid "Overlays are smaller images affixed to surfaces, like signs or indicator lights. Hiding complex antlines or setting them to signage will reduce this." +msgstr "Наложения (overlays) — это небольшие изображения, добавленные к поверхностям, такие как знаки или лампочки-индикаторы. Скрытие сложных полос-индикаторов или замена на знаки уменьшит их." + +#: app/CompilerPane.py +msgid "Corridor" +msgstr "Коридор" + +#: app/CompilerPane.py +msgid "Randomly choose a corridor. This is saved in the puzzle data and will not change." +msgstr "Случайно выбрать коридор. Это сохраняется в данных головоломки и не изменяется." + +#: app/CompilerPane.py app/UI.py +msgid "Random" +msgstr "Случайно" + +#: app/CompilerPane.py +msgid "Image Files" +msgstr "Изображения" + +#: app/CompilerPane.py +msgid "" +"Options on this panel can be changed \n" +"without exporting or restarting the game." +msgstr "" +"Настройки на этой панели \n" +"могут быть изменены без экспорта \n" +"или перезапуска игры." + +#: app/CompilerPane.py +msgid "Map Settings" +msgstr "Настройки карты" + +#: app/CompilerPane.py +msgid "Compile Settings" +msgstr "Настройки сборки" + +#: app/CompilerPane.py +msgid "Thumbnail" +msgstr "Превью" + +#: app/CompilerPane.py +msgid "Auto" +msgstr "Авто" + +#: app/CompilerPane.py +msgid "PeTI" +msgstr "PeTI" + +#: app/CompilerPane.py +msgid "Custom:" +msgstr "Своё:" + +#: app/CompilerPane.py +msgid "Cleanup old screenshots" +msgstr "Очищать старые скриншоты" + +#: app/CompilerPane.py +msgid "Override the map image to use a screenshot automatically taken from the beginning of a chamber. Press F5 to take a new screenshot. If the map has not been previewed recently (within the last few hours), the default PeTI screenshot will be used instead." +msgstr "Заменить изображение карты на скриншот, автоматически снятый из начала камеры. Нажимайте F5 для создания нового скриншота. Если предпросмотра на карте не было недавно (за последние несколько часов), вместо него будет использоваться стандартный скриншот PeTI." + +#: app/CompilerPane.py +msgid "Use the normal editor view for the map preview image." +msgstr "Использовать обычный вид из редактора для изображения предпросмотра карты." + +#: app/CompilerPane.py +msgid "" +"Use a custom image for the map preview image. Click the screenshot to select.\n" +"Images will be converted to JPEGs if needed." +msgstr "" +"Использовать своё изображение для предпросмотра карты. Нажмите на скриншот для выбора.\n" +"Изображения будут переконвертированы в JPEG при необходимости." + +#: app/CompilerPane.py +msgid "Automatically delete unused Automatic screenshots. Disable if you want to keep things in \"portal2/screenshots\". " +msgstr "Автоматически удалять неиспользованные автоматические скриншоты. Отключите, если вы хотите оставить файлы в \"portal2/screenshots\". " + +#: app/CompilerPane.py +msgid "Lighting:" +msgstr "Освещение:" + +#: app/CompilerPane.py +msgid "Fast" +msgstr "Быстрое" + +#: app/CompilerPane.py +msgid "Full" +msgstr "Полное" + +#: app/CompilerPane.py +msgid "" +"Compile with lower-quality, fast lighting. This speeds up compile times, but does not appear as good. Some shadows may appear wrong.\n" +"When publishing, this is ignored." +msgstr "" +"Собирать с низкокачественным быстрым освещением. Это ускорит время сборки, но может выглядеть не так хорошо. Некоторые тени могут показаны неверно.\n" +"При публикации это игнорируется." + +#: app/CompilerPane.py +msgid "" +"Compile with high-quality lighting. This looks correct, but takes longer to compute. Use if you're arranging lights.\n" +"When publishing, this is always used." +msgstr "" +"Собирать с высококачественным освещением. Оно выглядит правильно, но занимает больше времени вычисления. Используйте при расстановке света.\n" +"При публикации это всегда используется." + +#: app/CompilerPane.py +msgid "Dump packed files to:" +msgstr "Дампить упакованные файлы в:" + +#: app/CompilerPane.py +msgid "When compiling, dump all files which were packed into the map. Useful if you're intending to edit maps in Hammer." +msgstr "При сборке дампить все файлы, которые были упакованы в карту. Полезно, если вы собираетесь редактировать карты в Hammer." + +#: app/CompilerPane.py +msgid "Last Compile:" +msgstr "Последняя сборка:" + +#: app/CompilerPane.py +msgid "Entity" +msgstr "Сущность" + +#: app/CompilerPane.py +msgid "Overlay" +msgstr "Наложение" + +#: app/CompilerPane.py +msgid "Refresh the compile progress bars. Press after a compile has been performed to show the new values." +msgstr "Обновить полосы прогресса сборки. Нажмите после сборки, чтобы показать новые значения." + +#: app/CompilerPane.py +msgid "Brush" +msgstr "Кисть" + +#: app/CompilerPane.py +msgid "Voicelines:" +msgstr "Реплики:" + +#: app/CompilerPane.py +msgid "Use voiceline priorities" +msgstr "Использовать приоритет реплик" + +#: app/CompilerPane.py +msgid "Only choose the highest-priority voicelines. This means more generic lines will can only be chosen if few test elements are in the map. If disabled any applicable lines will be used." +msgstr "Выбирать только реплики с наивысшим приоритетом. Это означает, что более общие реплики будут выбраны только если на карте мало тестовых элементов. При отключении будут использоваться все подходящие реплики." + +#: app/CompilerPane.py +msgid "Spawn at:" +msgstr "Точка возрождения:" + +#: app/CompilerPane.py +msgid "Entry Door" +msgstr "Входная дверь" + +#: app/CompilerPane.py +msgid "Elevator" +msgstr "Лифт" + +#: app/CompilerPane.py +msgid "When previewing in SP, spawn inside the entry elevator. Use this to examine the entry and exit corridors." +msgstr "При предпросмотре в одиночном режиме возрождаться внутри входного лифта. Используйте для осмотра коридоров входа и выхода." + +#: app/CompilerPane.py +msgid "When previewing in SP, spawn just before the entry door." +msgstr "При предпросмотре в одиночном режиме возрождаться прямо перед входной дверью." + +#: app/CompilerPane.py +msgid "Corridor:" +msgstr "Корридор:" + +#: app/CompilerPane.py +msgid "SP Entry:" +msgstr "Вход (один игрок):" + +#: app/CompilerPane.py +msgid "SP Exit:" +msgstr "Выход (один игрок):" + +#: src/CompilerPane.py:779 +msgid "Coop:" +msgstr "Кооп:" + +#: app/CompilerPane.py +msgid "Player Model (SP):" +msgstr "Модель игрока (один игрок):" + +#: app/CompilerPane.py +msgid "Compile Options" +msgstr "Опции сборки" + +#: app/CompilerPane.py +msgid "Compiler Options - {}" +msgstr "Опции сборки - {}" + +#: app/StyleVarPane.py +msgid "Multiverse Cave" +msgstr "Кейв мультивселенной" + +#: app/StyleVarPane.py +msgid "Play the Workshop Cave Johnson lines on map start." +msgstr "Произносить реплики Кейва Джонсона из Мастерской в начале карты." + +#: app/StyleVarPane.py +msgid "Prevent Portal Bump (fizzler)" +msgstr "Анти-портальный выступ (испепеляющее поле)" + +#: app/StyleVarPane.py +msgid "Add portal bumpers to make it more difficult to portal across fizzler edges. This can prevent placing portals in tight spaces near fizzlers, or fizzle portals on activation." +msgstr "Добавить портальные выступы, чтобы сделать прохождение порталов между гранями ещё сложнее. Это может предотвратить расположение порталов узких местах рядом с испепеляющими полями, или закрывать порталы при активации." + +#: app/StyleVarPane.py +msgid "Suppress Mid-Chamber Dialogue" +msgstr "Заглушить диалог посередине камеры" + +#: app/StyleVarPane.py +msgid "Disable all voicelines other than entry and exit lines." +msgstr "Отключить все реплики, кроме реплики выхода и выхода." + +#: app/StyleVarPane.py +msgid "Unlock Default Items" +msgstr "Разблокировать стандартные предметы" + +#: app/StyleVarPane.py +msgid "Allow placing and deleting the mandatory Entry/Exit Doors and Large Observation Room. Use with caution, this can have weird results!" +msgstr "Разрешить добавление и удаление обязательных дверей входа/выхода и большого зала наблюдения. Использовать с осторожностью, могут быть странные результаты!" + +#: app/StyleVarPane.py +msgid "Allow Adding Goo Mist" +msgstr "Разрешить добавление тумана к жиже" + +#: app/StyleVarPane.py +msgid "Add mist particles above Toxic Goo in certain styles. This can increase the entity count significantly with large, complex goo pits, so disable if needed." +msgstr "Добавлять частицы тумана над смертельной жижей в некоторых стилях. Это может повысить количество сущностей при наличии больших и сложных ям с жижей, поэтому отключайте при необходимости." + +#: app/StyleVarPane.py +msgid "Light Reversible Excursion Funnels" +msgstr "Подсвечивать обратимые экскурсионные воронки" + +#: app/StyleVarPane.py +msgid "Funnels emit a small amount of light. However, if multiple funnels are near each other and can reverse polarity, this can cause lighting issues. Disable this to prevent that by disabling lights. Non-reversible Funnels do not have this issue." +msgstr "Воронки излучают малое количество света. Тем не менее, если несколько воронок находятся рядом друг с другом и могут менять полярность, то это может вызвать проблемы с освещением. Отключите для предотвращения этого выключением подсветки. Необратимые воронки не имеют такой проблемы." + +#: app/StyleVarPane.py +msgid "Enable Shape Framing" +msgstr "Включить рамки для узоров" + +#: app/StyleVarPane.py +msgid "After 10 shape-type antlines are used, the signs repeat. With this enabled, colored frames will be added to distinguish them." +msgstr "После использования 10 соединительных узоров знаки повторяются. Если это включено, то для их отличия будут добавлены цветные рамки." + +#: app/StyleVarPane.py +msgid "Default: On" +msgstr "Умолчание: Вкл" + +#: app/StyleVarPane.py +msgid "Default: Off" +msgstr "Умолчание: Выкл" + +#: app/StyleVarPane.py +msgid "Styles: Unstyled" +msgstr "Стили: без стиля" + +#: app/StyleVarPane.py +msgid "Styles: All" +msgstr "Стили: все" + +#: app/StyleVarPane.py +msgid "Style: {}" +msgid_plural "Styles: {}" +msgstr[0] "Стиль: {}" +msgstr[1] "Стили: {}" +msgstr[2] "Стили: {}" + +#: app/StyleVarPane.py +msgid "Style/Item Properties" +msgstr "Свойства стиля/предмета" + +#: app/StyleVarPane.py +msgid "Styles" +msgstr "Стили" + +#: app/StyleVarPane.py +msgid "All:" +msgstr "Все:" + +#: app/StyleVarPane.py +msgid "Selected Style:" +msgstr "Выбранный стиль:" + +#: app/StyleVarPane.py +msgid "Other Styles:" +msgstr "Другие стили:" + +#: app/StyleVarPane.py +msgid "No Options!" +msgstr "Нет опций!" + +#: app/StyleVarPane.py +msgid "None!" +msgstr "Нет!" + +#: app/StyleVarPane.py +msgid "Items" +msgstr "Предметы" + +#: app/SubPane.py +msgid "Hide/Show the \"{}\" window." +msgstr "Показать/скрыть окно \"{}\"." + +#: app/UI.py +msgid "Export..." +msgstr "Экспорт..." + +#: app/UI.py +msgid "Select Skyboxes" +msgstr "Выбор скайбоксов" + +#: app/UI.py +msgid "The skybox decides what the area outside the chamber is like. It chooses the colour of sky (seen in some items), the style of bottomless pit (if present), as well as color of \"fog\" (seen in larger chambers)." +msgstr "Скайбокс определяет местность вне тестовой камеры. Он задаёт цвет неба (заметный в некоторых предметах), стиль бездонной ямы (при наличии), а также цвет \"тумана\" (заметный в больших камерах)." + +#: app/UI.py +msgid "3D Skybox" +msgstr "3D-скайбокс" + +#: app/UI.py +msgid "Fog Color" +msgstr "Цвет тумана" + +#: app/UI.py +msgid "Select Additional Voice Lines" +msgstr "Выбрать дополнительные реплики" + +#: app/UI.py +msgid "Voice lines choose which extra voices play as the player enters or exits a chamber. They are chosen based on which items are present in the map. The additional \"Multiverse\" Cave lines are controlled separately in Style Properties." +msgstr "Репилики задают, какие дополнительные фразы будут произнесены, когда игрок заходит или выходит из камеры. Они выбираются на основании того, какие предметы присутствуют на карте. Дополнительные реплики Кейва \"мультивселенной\" настраиваются отдельно в настройках стиля." + +#: app/UI.py +msgid "Add no extra voice lines, only Multiverse Cave if enabled." +msgstr "Не добавлять дополнительных реплик, только Кейв мультивселенной при включении." + +#: app/UI.py +msgid "" +msgstr "<Только Кейв мультивселенной>" + +#: app/UI.py +msgid "Characters" +msgstr "Персонажи" + +#: app/UI.py +msgid "Turret Shoot Monitor" +msgstr "Турель стреляет в монитор" + +#: app/UI.py +msgid "Monitor Visuals" +msgstr "Картинка на мониторе" + +#: app/UI.py +msgid "Select Style" +msgstr "Выберите стиль" + +#: app/UI.py +msgid "" +"The Style controls many aspects of the map. It decides the materials used for walls, the appearance of entrances and exits, the design for most items as well as other settings.\n" +"\n" +"The style broadly defines the time period a chamber is set in." +msgstr "" +"Стиль управляет множеством аспектов карты. Он решает, какие материалы используются для стен, внешний вид входов и выходов, дизайн большинства предметов, а также другие предметы.\n" +"\n" +"Стиль в широком смысле задаёт временной период, в котором находится тестовая камера." + +#: app/UI.py +msgid "Elevator Videos" +msgstr "Видео лифта" + +#: app/UI.py +msgid "Select Elevator Video" +msgstr "Выберите видео лифта" + +#: app/UI.py +msgid "Set the video played on the video screens in modern Aperture elevator rooms. Not all styles feature these. If set to \"None\", a random video will be selected each time the map is played, like in the default PeTI." +msgstr "Укажите видео, которое играет на экранах в комнатах лифта современного Aperture. Не все стили это поддерживают. Если указано \"Нет\", то при каждом запуске карты будет выбрано случайное видео, как по умолчанию в PeTI." + +#: app/UI.py +msgid "This style does not have a elevator video screen." +msgstr "В стиле нет экранов для видео лифта." + +#: app/UI.py +msgid "Choose a random video." +msgstr "Выбирать случайное видео." + +#: app/UI.py +msgid "Multiple Orientations" +msgstr "Несколько форматов" + +#: app/UI.py +msgid "Selected Items and Style successfully exported!" +msgstr "Выбранные предметы и стиль успешно экспортированы!" + +#: app/UI.py +msgid "" +"\n" +"\n" +"Warning: VPK files were not exported, quit Portal 2 and Hammer to ensure editor wall previews are changed." +msgstr "" +"\n" +"\n" +"Внимание: VPK-файлы не были экспортированы, закройте Portal 2 и Hammer, чтобы убедиться, что превью стен в редакторе изменились." + +#: app/UI.py +msgid "Delete Palette \"{}\"" +msgstr "Удалить палитру \"{}\"" + +#: app/UI.py +msgid "BEE2 - Save Palette" +msgstr "BEE2 - Сохранить палитру" + +#: app/UI.py +msgid "Enter a name:" +msgstr "Укажите имя:" + +#: app/UI.py +msgid "This palette already exists. Overwrite?" +msgstr "Эта палитра уже существует. Перезаписать?" + +#: app/UI.py app/gameMan.py +msgid "Are you sure you want to delete \"{}\"?" +msgstr "Вы уверены, что хотите удалить \"{}\"?" + +#: app/UI.py +msgid "Clear Palette" +msgstr "Очистить палитру" + +#: app/UI.py +msgid "Delete Palette" +msgstr "Удалить палитру" + +#: app/UI.py +msgid "Save Palette..." +msgstr "Сохранить палитру..." + +#: app/UI.py +msgid "Save Palette As..." +msgstr "Сохранить палитру как..." + +#: app/UI.py +msgid "Save Settings in Palettes" +msgstr "Сохранить настройки в палитре" + +#: app/UI.py app/music_conf.py +msgid "Music: " +msgstr "Музыка: " + +#: app/UI.py +msgid "{arr} Use Suggested {arr}" +msgstr "{arr} Использовать предложенное {arr}" + +#: app/UI.py +msgid "Style: " +msgstr "Стиль: " + +#: app/UI.py +msgid "Voice: " +msgstr "Голос: " + +#: app/UI.py +msgid "Skybox: " +msgstr "Скайбокс: " + +#: app/UI.py +msgid "Elev Vid: " +msgstr "Видео лифта: " + +#: app/UI.py +msgid "Enable or disable particular voice lines, to prevent them from being added." +msgstr "Включить или отключить определённые реплики для предотвращения из добавления." + +#: app/UI.py +msgid "All Items: " +msgstr "Все предметы: " + +#: app/UI.py +msgid "Export to \"{}\"..." +msgstr "Экспорт в \"{}\"..." + +#: app/UI.py app/backup.py +msgid "File" +msgstr "Файл" + +#: app/UI.py +msgid "Export" +msgstr "Экспорт" + +#: app/UI.py app/backup.py +msgid "Add Game" +msgstr "Добавить игру" + +#: app/UI.py +msgid "Uninstall from Selected Game" +msgstr "Удалить из выбранной игры" + +#: app/UI.py +msgid "Backup/Restore Puzzles..." +msgstr "Резервирование/восстановление головоломок..." + +#: app/UI.py +msgid "Manage Packages..." +msgstr "Управление пакетами..." + +#: app/UI.py +msgid "Options" +msgstr "Опции" + +#: app/UI.py app/gameMan.py +msgid "Quit" +msgstr "Выход" + +#: app/UI.py +msgid "Palette" +msgstr "Палитра" + +#: app/UI.py +msgid "Clear" +msgstr "Очистить" + +#: app/UI.py +msgid "Fill Palette" +msgstr "Заполнить палитру" + +#: app/UI.py +msgid "Save Palette" +msgstr "Сохранить палитру" + +#: app/UI.py +msgid "View" +msgstr "Вид" + +#: app/UI.py +msgid "Palettes" +msgstr "Палитры" + +#: app/UI.py +msgid "Export Options" +msgstr "Опции экспорта" + +#: app/UI.py +msgid "Fill empty spots in the palette with random items." +msgstr "Заполнить пустые места в палитре случайными предметами." + +#: app/backup.py +msgid "Copying maps" +msgstr "Копирование карт" + +#: app/backup.py +msgid "Loading maps" +msgstr "Загрузка карт" + +#: app/backup.py +msgid "Deleting maps" +msgstr "Удаление карт" + +#: app/backup.py +msgid "Failed to parse this puzzle file. It can still be backed up." +msgstr "Не удалось прочитать файл головоломки. Её всё ещё можно собрать." + +#: app/backup.py +msgid "No description found." +msgstr "Описание не найдено." + +#: app/backup.py +msgid "Coop" +msgstr "Кооп" + +#: app/backup.py +msgid "SP" +msgstr "Один игрок" + +#: app/backup.py +msgid "This filename is already in the backup.Do you wish to overwrite it? ({})" +msgstr "Это имя файла уже есть в резервной копии. Хотите перезаписать его? ({})" + +#: app/backup.py +msgid "BEE2 Backup" +msgstr "Резервная копия BEE2" + +#: app/backup.py +msgid "No maps were chosen to backup!" +msgstr "Для резервного копирования не было выбрано карт!" + +#: app/backup.py +msgid "This map is already in the game directory.Do you wish to overwrite it? ({})" +msgstr "Эта карта уже есть в папке игры. Хотите её перезаписать? ({})" + +#: app/backup.py +msgid "Load Backup" +msgstr "Загрузить резервную копию" + +#: app/backup.py +msgid "Backup zip" +msgstr "ZIP резервной копии" + +#: app/backup.py +msgid "Unsaved Backup" +msgstr "Несохранённая резервная копия" + +#: app/backup.py +msgid "Save Backup As" +msgstr "Сохранить резервную копию как" + +#: app/backup.py +msgid "Confirm Deletion" +msgstr "Подтвердите удаление" + +#: app/backup.py +msgid "Do you wish to delete {} map?\n" +msgid_plural "Do you wish to delete {} maps?\n" +msgstr[0] "Вы уверены, что хотите удалить {} карту?\n" +msgstr[1] "Вы уверены, что хотите удалить {} карты?\n" +msgstr[2] "Вы уверены, что хотите удалить {} карт?\n" + +#: app/backup.py +msgid "Restore:" +msgstr "Восстановить:" + +#: app/backup.py +msgid "Backup:" +msgstr "Резервировать:" + +#: app/backup.py +msgid "Checked" +msgstr "Отмечено" + +#: app/backup.py +msgid "Delete Checked" +msgstr "Удалить отмеч." + +#: app/backup.py +msgid "BEEMOD {} - Backup / Restore Puzzles" +msgstr "BEEMOD {} - Резервное копирование / восстановление головоломок" + +#: app/backup.py +msgid "New Backup" +msgstr "Новая копия" + +#: app/backup.py +msgid "Open Backup" +msgstr "Открыть копию" + +#: app/backup.py +msgid "Save Backup" +msgstr "Сохранить" + +#: app/backup.py +msgid "Remove Game" +msgstr "Удалить игру" + +#: app/backup.py +msgid "Game" +msgstr "Игра" + +#: app/backup.py +msgid "Automatic Backup After Export" +msgstr "Автоматически резервировать после экспорта" + +#: app/backup.py +msgid "Keep (Per Game):" +msgstr "Оставлять (за игру):" + +#: app/backup.py +msgid "Backup/Restore Puzzles" +msgstr "Резервирование/восстановление головоломок" + +#: app/contextWin.py +msgid "This item may not be rotated." +msgstr "Этот предмет нельзя поворачивать." + +#: app/contextWin.py +msgid "This item can be pointed in 4 directions." +msgstr "Это предмет может указывать в 4 стороны." + +#: app/contextWin.py +msgid "This item can be positioned on the sides and center." +msgstr "Это предмет может быть расположен по бокам и центру." + +#: app/contextWin.py +msgid "This item can be centered in two directions, plus on the sides." +msgstr "Этот предмет может быть центрирован в двух направлениях, а также по бокам." + +#: app/contextWin.py +msgid "This item can be placed like light strips." +msgstr "Этот предмет может быть расположен как световые ленты." + +#: app/contextWin.py +msgid "This item can be rotated on the floor to face 360 degrees." +msgstr "Этот предмет может быть повёрнут на полу на 360 градусов." + +#: app/contextWin.py +msgid "This item is positioned using a catapult trajectory." +msgstr "Этот предмет располагается с использованием траектории катапульты." + +#: app/contextWin.py +msgid "This item positions the dropper to hit target locations." +msgstr "Этот предмет распологает выдавателем, направленным в целевые места." + +#: app/contextWin.py +msgid "This item does not accept any inputs." +msgstr "Этот предмет не принимает никаких вводов." + +#: app/contextWin.py +msgid "This item accepts inputs." +msgstr "Этот предмет принмимает вводы." + +#: app/contextWin.py +msgid "This item has two input types (A and B), using the Input A and B items." +msgstr "У этого предмета есть два типа вводов (А и B), использующих предметы Input A и B." + +#: app/contextWin.py +msgid "This item does not output." +msgstr "У этого предмета нет выводов." + +#: app/contextWin.py +msgid "This item has an output." +msgstr "У этого предмета есть вывод." + +#: app/contextWin.py +msgid "This item has a timed output." +msgstr "У этого предмета есть временной вывод." + +#: app/contextWin.py +msgid "This item does not take up any space inside walls." +msgstr "Этот предмет не занимает места внутри стен." + +#: app/contextWin.py +msgid "This item takes space inside the wall." +msgstr "Этот предмет занимает место внутри стены." + +#: app/contextWin.py +msgid "This item cannot be placed anywhere..." +msgstr "Этот предмет не может быть нигде расположен..." + +#: app/contextWin.py +msgid "This item can only be attached to ceilings." +msgstr "Этот предмет может быть прикреплён только к потолкам." + +#: app/contextWin.py +msgid "This item can only be placed on the floor." +msgstr "Этот предмет может быть только расположен на полу." + +#: app/contextWin.py +msgid "This item can be placed on floors and ceilings." +msgstr "Этот предмет может быть расположен на полу и потолке." + +#: app/contextWin.py +msgid "This item can be placed on walls only." +msgstr "Этот предмет может быть расположен только на стенах." + +#: app/contextWin.py +msgid "This item can be attached to walls and ceilings." +msgstr "Этот предмет может быть прикреплён к стенам и потолкам." + +#: app/contextWin.py +msgid "This item can be placed on floors and walls." +msgstr "Этот предмет может быть расположен на полу и стенах." + +#: app/contextWin.py +msgid "This item can be placed in any orientation." +msgstr "Этот предмет может быть расположен где угодно." + +#: app/contextWin.py +msgid "No Alternate Versions" +msgstr "Нет альтернатив" + +#: app/contextWin.py +msgid "Excursion Funnels accept a on/off input and a directional input." +msgstr "Экскурсионные воронки принимают ввод вкл/выкл и ввод направления." + +#: app/contextWin.py +msgid "This item can be rotated on the floor to face 360 degrees, for Reflection Cubes only." +msgstr "Этот предмет может быть повёрнут на полу на 360 градусов, только отражающие кубы." + +#: app/contextWin.py +msgid "Properties:" +msgstr "Свойства:" + +#: app/contextWin.py +msgid "The number of entities used for this item. The Source engine limits this to 2048 in total. This provides a guide to how many of these items can be placed in a map at once." +msgstr "Количество сущностей, используемое для этого предмета. Движок Source ограничивает общее количество до 2048. Это даёт понять, сколько предметов можно уместить на одной карте." + +#: app/contextWin.py +msgid "Description:" +msgstr "Описание:" + +#: app/contextWin.py +msgid "Failed to open a web browser. Do you wish for the URL to be copied to the clipboard instead?" +msgstr "Не удалось открыть веб-браузер. Хотите вместо этого скопировать URL в буфер обмена?" + +#: app/contextWin.py +msgid "More Info>>" +msgstr "Подробнее>>" + +#: app/contextWin.py +msgid "Change Defaults..." +msgstr "Изменить умолчания..." + +#: app/contextWin.py +msgid "Change the default settings for this item when placed." +msgstr "Выберите настройки по умолчанию для этого предмета при расположении." + +#: app/gameMan.py +msgid "BEE2 - Export Failed!" +msgstr "BEE2 - Экспорт не удался!" + +#: app/gameMan.py +msgid "Compiler file {file} missing. Exit Steam applications, then press OK to verify your game cache. You can then export again." +msgstr "Файл сборщика {file} отсутствует. Закройте приложения Steam, затем нажмите OK для проверки целостности игровых файлов. После этого можете экспортировать ещё раз." + +#: app/gameMan.py +msgid "Copying compiler file {file} failed. Ensure {game} is not running." +msgstr "Копирование файла сборщика {file} не удалось. Убедитесь, что {game} не запущена." + +#: app/gameMan.py +msgid "" +"Ap-Tag Coop gun instance not found!\n" +"Coop guns will not work - verify cache to fix." +msgstr "" +"Экземпляр кооп-пушки Ap-Tag не найден!\n" +"Кооп-пушки не будут работать - проверьте целостность файлов для исправления." + +#: app/gameMan.py +msgid "BEE2 - Aperture Tag Files Missing" +msgstr "BEE2 - Отсутствуют файлы Aperture Tag" + +#: app/gameMan.py +msgid "Select the folder where the game executable is located ({appname})..." +msgstr "Укажите папку, где расположен исполняемый файл игры ({appname})..." + +#: app/gameMan.py +msgid "BEE2 - Add Game" +msgstr "BEE2 - Добавить игру" + +#: app/gameMan.py +msgid "Find Game Exe" +msgstr "Найти EXE игры" + +#: app/gameMan.py +msgid "Executable" +msgstr "Исполняемый файл" + +#: app/gameMan.py +msgid "This does not appear to be a valid game folder!" +msgstr "Это не похоже на действительную папку игры!" + +#: app/gameMan.py +msgid "Portal Stories: Mel doesn't have an editor!" +msgstr "У Portal Stories: Mel нет редактора!" + +#: app/gameMan.py +msgid "Enter the name of this game:" +msgstr "Введите название этой игры:" + +#: app/gameMan.py +msgid "This name is already taken!" +msgstr "Это имя уже занято!" + +#: app/gameMan.py +msgid "Please enter a name for this game!" +msgstr "Пожалуйста, введите имя для этой игры!" + +#: app/gameMan.py +msgid "" +"\n" +" (BEE2 will quit, this is the last game set!)" +msgstr "" +"\n" +"(BEE2 будет закрыт, это последняя указанная игра!)" + +#: app/helpMenu.py +msgid "Wiki..." +msgstr "Вики..." + +#: app/helpMenu.py +msgid "Original Items..." +msgstr "Оригинальные предметы..." + +#: app/helpMenu.py +msgid "Discord Server..." +msgstr "Сервер Discord..." + +#: app/helpMenu.py +msgid "aerond's Music Changer..." +msgstr "aerond's Music Changer..." + +#: app/helpMenu.py +msgid "Application Repository..." +msgstr "Репозиторий приложения..." + +#: app/helpMenu.py +msgid "Items Repository..." +msgstr "Репозиторий предметов..." + +#: app/helpMenu.py +msgid "Submit Application Bugs..." +msgstr "Сообщить о баге в приложении..." + +#: app/helpMenu.py +msgid "Submit Item Bugs..." +msgstr "Сообщить о баге в предметах..." + +#: app/helpMenu.py app/paletteLoader.py +msgid "Portal 2" +msgstr "Portal 2" + +#: app/helpMenu.py app/paletteLoader.py +msgid "Aperture Tag" +msgstr "Aperture Tag" + +#: app/helpMenu.py +msgid "Portal Stories: Mel" +msgstr "Portal Stories: Mel" + +#: app/helpMenu.py +msgid "Thinking With Time Machine" +msgstr "Thinking With Time Machine" + +#: app/helpMenu.py app/itemPropWin.py +msgid "Close" +msgstr "Закрыть" + +#: app/helpMenu.py +msgid "Help" +msgstr "Справка" + +#: app/helpMenu.py +msgid "BEE2 Credits" +msgstr "Авторы BEE2" + +#: app/helpMenu.py +msgid "Credits..." +msgstr "Авторы..." + +#: app/itemPropWin.py +msgid "Start Position" +msgstr "Стартовая позиция" + +#: app/itemPropWin.py +msgid "End Position" +msgstr "Конечная позиция" + +#: app/itemPropWin.py +msgid "" +"Delay \n" +"(0=infinite)" +msgstr "" +"Задержка \n" +"(0=вечная)" + +#: app/itemPropWin.py +msgid "No Properties available!" +msgstr "Нет доступных свойств!" + +#: app/itemconfig.py +msgid "Choose a Color" +msgstr "Выберите цвет" + +#: app/logWindow.py +msgid "Debug messages" +msgstr "Сообщения отладки" + +#: app/logWindow.py +msgid "Default" +msgstr "По умолчанию" + +#: app/logWindow.py +msgid "Warnings Only" +msgstr "Только предупреждения" + +#: app/logWindow.py +msgid "Logs - {}" +msgstr "Логи - {}" + +#: app/logWindow.py +msgid "Copy" +msgstr "Копировать" + +#: app/logWindow.py +msgid "Show:" +msgstr "Показать:" + +#: app/music_conf.py +msgid "Select Background Music - Base" +msgstr "Выбрать фоновую музыку - Основа" + +#: app/music_conf.py +msgid "This controls the background music used for a map. Expand the dropdown to set tracks for specific test elements." +msgstr "Это задаёт фоновую музыку, используемую на карте. Откройте выпадающий список, чтоб указать треки для отдельных тестовых элементов." + +#: app/music_conf.py +msgid "Add no music to the map at all. Testing Element-specific music may still be added." +msgstr "Не добавлять музыку на карту. Музыка, специфичная для тестовых элементов, всё ещё может быть добавлена." + +#: app/music_conf.py +msgid "Propulsion Gel SFX" +msgstr "Звуки проталкивающего геля" + +#: app/music_conf.py +msgid "Repulsion Gel SFX" +msgstr "Звуки отталкивающего геля" + +#: app/music_conf.py +msgid "Excursion Funnel Music" +msgstr "Звуки экскурсионной воронки" + +#: app/music_conf.py +msgid "Synced Funnel Music" +msgstr "Синхронная музыка воронки" + +#: app/music_conf.py +msgid "Select Excursion Funnel Music" +msgstr "Выберите музыку экскурсионной воронки" + +#: app/music_conf.py +msgid "Set the music used while inside Excursion Funnels." +msgstr "Задать музыку, используемую внутри экскурсионных воронок." + +#: app/music_conf.py +msgid "Have no music playing when inside funnels." +msgstr "Не играть музыку внутри воронок." + +#: app/music_conf.py +msgid "Select Repulsion Gel Music" +msgstr "Выбрать музыку отталкивающего геля" + +#: app/music_conf.py +msgid "Select the music played when players jump on Repulsion Gel." +msgstr "Выберите музыку, воспроизводимую, когда игрок прыгает на отталкивающий гель." + +#: app/music_conf.py +msgid "Add no music when jumping on Repulsion Gel." +msgstr "Не добавлять музыку при прыжке на отталкивающем геле." + +#: app/music_conf.py +msgid "Select Propulsion Gel Music" +msgstr "Выберите музыку проталкивающего геля" + +#: app/music_conf.py +msgid "Select music played when players have large amounts of horizontal velocity." +msgstr "Выберите музыку, воспроизводимую, когда у игрока высокая горизонтальная скорость." + +#: app/music_conf.py +msgid "Add no music while running fast." +msgstr "Не добавлять музыку при быстром беге." + +#: app/music_conf.py +msgid "Base: " +msgstr "Основа: " + +#: app/music_conf.py +msgid "Funnel:" +msgstr "Воронка:" + +#: app/music_conf.py +msgid "Bounce:" +msgstr "Отскок:" + +#: app/music_conf.py +msgid "Speed:" +msgstr "Скорость:" + +#: app/optionWindow.py +msgid "" +"\n" +"Launch Game?" +msgstr "" +"\n" +"Запустить игру?" + +#: app/optionWindow.py +msgid "" +"\n" +"Minimise BEE2?" +msgstr "" +"\n" +"Свернуть BEE2?" + +#: app/optionWindow.py +msgid "" +"\n" +"Launch Game and minimise BEE2?" +msgstr "" +"\n" +"Запустить игру и свернуть BEE2?" + +#: app/optionWindow.py +msgid "" +"\n" +"Quit BEE2?" +msgstr "" +"\n" +"Выйти из BEE2?" + +#: app/optionWindow.py +msgid "" +"\n" +"Launch Game and quit BEE2?" +msgstr "" +"\n" +"Запустить игру и выйти из BEE2?" + +#: app/optionWindow.py +msgid "BEE2 Options" +msgstr "Опции BEE2" + +#: app/optionWindow.py +msgid "Package cache times have been reset. These will now be extracted during the next export." +msgstr "Время кэша пакетов было сброшено. Теперь они будут извлечены при следующем экспорте." + +#: app/optionWindow.py +msgid "\"Preserve Game Resources\" has been disabled." +msgstr "\"Сохранить ресурсы игры\" было отключено." + +#: app/optionWindow.py +msgid "Packages Reset" +msgstr "Сброс пакетов" + +#: app/optionWindow.py +msgid "General" +msgstr "Общее" + +#: app/optionWindow.py +msgid "Windows" +msgstr "Окна" + +#: app/optionWindow.py +msgid "Development" +msgstr "Разработка" + +#: app/optionWindow.py app/packageMan.py app/selector_win.py +msgid "OK" +msgstr "OK" + +#: app/optionWindow.py +msgid "After Export:" +msgstr "После экспорта:" + +#: app/optionWindow.py +msgid "Do Nothing" +msgstr "Ничего не делать" + +#: app/optionWindow.py +msgid "Minimise BEE2" +msgstr "Свернуть BEE2" + +#: app/optionWindow.py +msgid "Quit BEE2" +msgstr "Закрыть BEE2" + +#: app/optionWindow.py +msgid "After exports, do nothing and keep the BEE2 in focus." +msgstr "После экспортов ничего не делать и удерживать фокус на BEE2." + +#: app/optionWindow.py +msgid "After exports, minimise to the taskbar/dock." +msgstr "После экспорта свернуть в панель задач/док." + +#: app/optionWindow.py +msgid "After exports, quit the BEE2." +msgstr "После экспорта закрыть BEE2." + +#: app/optionWindow.py +msgid "Launch Game" +msgstr "Запустить игру" + +#: app/optionWindow.py +msgid "After exporting, launch the selected game automatically." +msgstr "После экспорта запускать выбранную игру автоматически." + +#: app/optionWindow.py +msgid "Play Sounds" +msgstr "Играть звуки" + +#: app/optionWindow.py +msgid "" +"Pyglet is either not installed or broken.\n" +"Sound effects have been disabled." +msgstr "" +"Pyglet или не установлен или сломан.\n" +"Звуковые эффекты будут отключены." + +#: app/optionWindow.py +msgid "Reset Package Caches" +msgstr "Сброс кэша пакетов" + +#: app/optionWindow.py +msgid "Force re-extracting all package resources." +msgstr "Принудительно переизвлечь все ресурсы пакетов." + +#: app/optionWindow.py +msgid "Keep windows inside screen" +msgstr "Держать окна внутри экрана" + +#: app/optionWindow.py +msgid "Prevent sub-windows from moving outside the screen borders. If you have multiple monitors, disable this." +msgstr "Не позволять под-окам выходить за пределы экрана. Отключите, если у вас несколько мониторов." + +#: app/optionWindow.py +msgid "Keep loading screens on top" +msgstr "Удерживать загрузочные экраны поверх" + +#: app/optionWindow.py +msgid "Force loading screens to be on top of other windows. Since they don't appear on the taskbar/dock, they can't be brought to the top easily again." +msgstr "Заставлять загрузочные экраны быть поверх других окон. Так как они не появляются на панели задач/доке, их непросто снова переместить наверх." + +#: app/optionWindow.py +msgid "Reset All Window Positions" +msgstr "Сбросить все расположения окон" + +#: app/optionWindow.py +msgid "Log missing entity counts" +msgstr "Логировать количество пропавших сущностей" + +#: app/optionWindow.py +msgid "When loading items, log items with missing entity counts in their properties.txt file." +msgstr "При загрузке предметов логировать предметы с количеством пропавших сущностей в их файле properties.txt." + +#: app/optionWindow.py +msgid "Log when item doesn't have a style" +msgstr "Логировать предметы без стиля" + +#: app/optionWindow.py +msgid "Log items have no applicable version for a particular style.This usually means it will look very bad." +msgstr "Логировать предметы, у которых нет версии под определённый стиль. Обычно это означает, что они будут выглядеть очень плохо." + +#: app/optionWindow.py +msgid "Log when item uses parent's style" +msgstr "Логировать, когда предмет использует стиль родительского" + +#: app/optionWindow.py +msgid "Log when an item reuses a variant from a parent style (1970s using 1950s items, for example). This is usually fine, but may need to be fixed." +msgstr "Логировать, когда предмет переиспользует вариант из родительского стиля (1970-е используют предметы 1950-х, к примеру). Обычно это нормально, но может потребоваться исправление." + +#: app/optionWindow.py +msgid "Log missing packfile resources" +msgstr "Логировать пропущенные ресурсы пакета" + +#: app/optionWindow.py +msgid "Log when the resources a \"PackList\" refers to are not present in the zip. This may be fine (in a prerequisite zip), but it often indicates an error." +msgstr "Логировать, когда ресурсы, указанные в \"PackList\", не присутствуют в ZIP-архиве. Это может быть нормально (в ZIP-архиве с зависимостями), но часто указывает на ошибку." + +#: app/optionWindow.py +msgid "Development Mode" +msgstr "Режим разработки" + +#: app/optionWindow.py +msgid "Enables displaying additional UI specific for development purposes." +msgstr "Включает отображение дополнительных элементов интерфейса для разработки." + +#: app/optionWindow.py +msgid "Preserve Game Directories" +msgstr "Сохранять игровые папки" + +#: app/optionWindow.py +msgid "" +"When exporting, do not copy resources to \n" +"\"bee2/\" and \"sdk_content/maps/bee2/\".\n" +"Only enable if you're developing new content, to ensure it is not overwritten." +msgstr "" +"При экспорте не копировать ресурсы в \n" +"\"bee2/\" и \"sdk_content/maps/bee2/\".\n" +"Включайте только при разработке нового контента, чтобы он гарантировано не был перезаписан." + +#: app/optionWindow.py +msgid "Show Log Window" +msgstr "Показать окно лога" + +#: app/optionWindow.py +msgid "Show the log file in real-time." +msgstr "Показать файл лога в реальном времени." + +#: app/optionWindow.py +msgid "Force Editor Models" +msgstr "Принудительные модели редактора" + +#: app/optionWindow.py +msgid "Make all props_map_editor models available for use. Portal 2 has a limit of 1024 models loaded in memory at once, so we need to disable unused ones to free this up." +msgstr "Сделать все модели props_map_editor доступными для использования. У Portal 2 есть ограничение в 1024 модели в памяти одновременно, поэтому нам нужно отключить неиспользуемые, чтобы его освободить." + +#: app/optionWindow.py +msgid "Dump All objects" +msgstr "Дамп всех объектов" + +#: app/optionWindow.py +msgid "Dump Items list" +msgstr "Дамп списка предметов" + +#: app/packageMan.py +msgid "BEE2 - Restart Required!" +msgstr "BEE2 - Требуется перезапуск!" + +#: app/packageMan.py +msgid "" +"Changing enabled packages requires a restart.\n" +"Continue?" +msgstr "" +"Изменение включённых пакетов требует перезапуска.\n" +"Продолжить?" + +#: app/packageMan.py +msgid "BEE2 - Manage Packages" +msgstr "BEE2 - Управление пакетами" + +#. i18n: Last exported items +#: app/paletteLoader.py +msgid "" +msgstr "<Последний экспорт>" + +#. i18n: Empty palette name +#: app/paletteLoader.py +msgid "Blank" +msgstr "Пустая" + +#. i18n: BEEmod 1 palette. +#: app/paletteLoader.py +msgid "BEEMod" +msgstr "BEEMod" + +#. i18n: Default items merged together +#: app/paletteLoader.py +msgid "Portal 2 Collapsed" +msgstr "Portal 2 (сжатая)" + +#: app/richTextBox.py +msgid "Open \"{}\" in the default browser?" +msgstr "Открыть \"{}\" в стандартном браузере?" + +#. i18n: 'None' item description +#: app/selector_win.py +msgid "Do not add anything." +msgstr "Ничего не добавлять." + +#: app/selector_win.py +msgid "" +msgstr "<Нет>" + +#: app/selector_win.py +msgid "Suggested" +msgstr "Предложенные" + +#: app/selector_win.py +msgid "Play a sample of this item." +msgstr "Воспроизвести пример этого предмета." + +#: app/selector_win.py +msgid "Reset to Default" +msgstr "Сброс к умолчаниям" + +#: app/selector_win.py +msgid "Other" +msgstr "Другие" + +#: app/selector_win.py +msgid "Author: {}" +msgid_plural "Authors: {}" +msgstr[0] "Автор: {}" +msgstr[1] "Авторы: {}" +msgstr[2] "Авторы: {}" + +#: app/selector_win.py +msgid "Color: R={r}, G={g}, B={b}" +msgstr "Цвет: R={r}, G={g}, B={b}" + +#: app/signage_ui.py +msgid "Configure Signage" +msgstr "Настроить знаки" + +#: app/signage_ui.py +msgid "Selected" +msgstr "Выбрано" + +#: app/signage_ui.py +msgid "Signage: {}" +msgstr "Знаки: {}" + +#: app/tagsPane.py +msgid "Tags" +msgstr "Теги" + +#: app/tagsPane.py +msgid "Authors" +msgstr "Авторы" + +#: app/tagsPane.py +msgid "Any" +msgstr "Любой из" + +#: app/tagsPane.py +msgid "All" +msgstr "Все" + +#: app/tagsPane.py +msgid "Available Tags (click):" +msgstr "Доступные теги (клик):" + +#: app/voiceEditor.py +msgid "Singleplayer" +msgstr "Один игрок" + +#: app/voiceEditor.py +msgid "Cooperative" +msgstr "Кооператив" + +#: app/voiceEditor.py +msgid "ATLAS (SP/Coop)" +msgstr "Атлас (один игрок/кооп)" + +#: app/voiceEditor.py +msgid "P-Body (SP/Coop)" +msgstr "Пи-боди (один игрок/кооп)" + +#: app/voiceEditor.py +msgid "Human characters (Bendy and Chell)" +msgstr "Люди (Бенди и Челл)" + +#: app/voiceEditor.py +msgid "AI characters (ATLAS, P-Body, or Coop)" +msgstr "ИИ-персонажи (Атлас, Пи-боди, или кооп)" + +#: app/voiceEditor.py +msgid "Death - Toxic Goo" +msgstr "Смерть - Едкая жижа" + +#: app/voiceEditor.py +msgid "Death - Turrets" +msgstr "Смерть - Турели" + +#: app/voiceEditor.py +msgid "Death - Crusher" +msgstr "Смерть - Пресс" + +#: app/voiceEditor.py +msgid "Death - LaserField" +msgstr "Смерть - Лазерное поле" + +#: app/voiceEditor.py +msgid "Transcript:" +msgstr "Транскрипт:" + +#: app/voiceEditor.py +msgid "Save" +msgstr "Сохранить" + +#: app/voiceEditor.py +msgid "Resp" +msgstr "Ответ" + +#: app/voiceEditor.py +msgid "BEE2 - Configure \"{}\"" +msgstr "BEE2 - Настроить \"{}\"" + +#: app/voiceEditor.py +msgid "Mid - Chamber" +msgstr "Середина камеры" + +#: app/voiceEditor.py +msgid "Lines played during the actual chamber, after specific events have occurred." +msgstr "Реплики в самой камере после определённых событий." + +#: app/voiceEditor.py +msgid "Responses" +msgstr "Ответы" + +#: app/voiceEditor.py +msgid "Lines played in response to certain events in Coop." +msgstr "Реплики, которые играют в ответ на определённые действия в коопе." + +#: app/voiceEditor.py +msgid "No Name!" +msgstr "Нет имени!" + +#: app/voiceEditor.py +msgid "No Name?" +msgstr "Нет имени?" + +#: app/CompilerPane.py +msgid "Coop Exit:" +msgstr "Выход коопа:" From 64c5462ab889d23ef3358534dffbdfaa04d9fe1f Mon Sep 17 00:00:00 2001 From: TeamSpen210 Date: Mon, 22 Feb 2021 09:45:22 +1000 Subject: [PATCH 06/19] Fix #1149: Outputs missing from items --- src/editoritems.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/editoritems.py b/src/editoritems.py index 1d8c7b8aa..f19212e70 100644 --- a/src/editoritems.py +++ b/src/editoritems.py @@ -996,8 +996,10 @@ def parse_one(cls, tok: Tokenizer) -> 'Item': # Parse the connections info, if it exists. if connections or item.conn_inputs or item.conn_outputs: - item.conn_config = conf = ConnConfig.parse(item.id, connections) + item.conn_config = ConnConfig.parse(item.id, connections) item._finalise_connections() + if 'activate' in connections or 'deactivate' in connections: + LOGGER.warning('', exc_info=tok.error('Output activate/deactivate commands need out_ prefix!')) return item # Boolean option in editor -> Item attribute. @@ -1108,9 +1110,9 @@ def _parse_export_block(self, tok: Tokenizer) -> Property: elif folded_key == 'overlay': self._parse_overlay(tok) elif folded_key == 'inputs': - self._parse_connections(tok, connection, self.conn_inputs, '') + self._parse_connections(tok, connection, self.conn_inputs) elif folded_key == 'outputs': - self._parse_connections(tok, connection, self.conn_outputs, 'out_') + self._parse_connections(tok, connection, self.conn_outputs) else: raise tok.error('Unknown export option {}!', key) return connection @@ -1165,7 +1167,6 @@ def _parse_connections( tok: Tokenizer, prop_block: Property, target: Dict[ConnTypes, Connection], - prefix: str, ) -> None: """Parse either an inputs or outputs block. @@ -1189,7 +1190,7 @@ def _parse_connections( if 'out' in value: self.force_output = True else: - prop_block.append(Property(prefix + key, value)) + prop_block.append(Property(key, value)) continue # We deal with this after the export block is done. else: raise tok.error('Unknown connection type "{}"!', conn_name) From 7b75c500b6516afcc92f62f617da2abb66e4666b Mon Sep 17 00:00:00 2001 From: TeamSpen210 Date: Mon, 22 Feb 2021 10:51:39 +1000 Subject: [PATCH 07/19] Fix this code dropping the class attributes of the original class --- src/consts.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/consts.py b/src/consts.py index 35a02ee72..1c730d882 100644 --- a/src/consts.py +++ b/src/consts.py @@ -19,6 +19,7 @@ class MaterialGroupMeta(EnumMeta): + """Metaclass for MaterialGroup, to implement some of its features.""" @classmethod def __prepare__(mcs, cls, bases): """Override Enum class-dict type. @@ -27,16 +28,17 @@ def __prepare__(mcs, cls, bases): """ # The original class is private - grab it via prepare, and make # a subclass right here. - orig_dict = type(super().__prepare__(cls, bases)) + namespace = super().__prepare__(cls, bases) - class RepDict(orig_dict): + class RepDict(type(namespace)): def __setitem__(self, key, value): if isinstance(value, str): value = value.casefold() super().__setitem__(key, value) - - return RepDict() - + + namespace.__type__ = RepDict + return namespace + def __contains__(cls, value) -> bool: """MaterialGroup can check if strings are equal to a member.""" if isinstance(value, str): From 5ac1f57437dbf3b6d86fc57efcc3e807c7fbb330 Mon Sep 17 00:00:00 2001 From: TeamSpen210 Date: Mon, 22 Feb 2021 13:29:24 +1000 Subject: [PATCH 08/19] Tidy up this code using matrix methods --- src/precomp/conditions/brushes.py | 43 ++++++++++++++++--------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/src/precomp/conditions/brushes.py b/src/precomp/conditions/brushes.py index 83a1641ce..8c8723428 100644 --- a/src/precomp/conditions/brushes.py +++ b/src/precomp/conditions/brushes.py @@ -105,8 +105,9 @@ def res_fix_rotation_axis(vmf: VMF, ent: Entity, res: Property): des_axis = res['axis', 'z'].casefold() reverse = res.bool('reversed') door_type = res['classname', 'func_door_rotating'] + orient = round(Matrix.from_angle(Angle.from_str(ent['angles'])), 6) - axis = Vec.with_axes(des_axis, 1).rotate_by_str(ent['angles', '0 0 0']) + axis = Vec.with_axes(des_axis, 1) @ orient if axis.x > 0 or axis.y > 0 or axis.z > 0: # If it points forward, we need to reverse the rotating door @@ -126,7 +127,7 @@ def res_fix_rotation_axis(vmf: VMF, ent: Entity, res: Property): # Generate a brush. name = conditions.local_name(ent, res['name', '']) - pos = res.vec('Pos').rotate_by_str(ent['angles', '0 0 0']) + pos = res.vec('Pos') @ Angle.from_str(ent['angles', '0 0 0']) pos += Vec.from_str(ent['origin', '0 0 0']) setter_loc = str(pos) @@ -901,14 +902,14 @@ def res_add_placement_helper(inst: Entity, res: Property): the helper should be added to. If `upDir` is specified, this is the direction of the top of the portal. """ - angles = Vec.from_str(inst['angles']) + orient = Matrix.from_angle(Angle.from_str(inst['angles'])) pos = conditions.resolve_offset(inst, res['offset', '0 0 0'], zoff=-64) - normal = res.vec('normal', 0, 0, 1).rotate(*angles) + normal = res.vec('normal', 0, 0, 1) @ orient up_dir: Optional[Vec] try: - up_dir = Vec.from_str(res['upDir']).rotate(*angles) + up_dir = Vec.from_str(res['upDir']) @ orient except LookupError: up_dir = None @@ -1027,7 +1028,8 @@ def res_create_panel(vmf: VMF, inst: Entity, props: Property) -> None: def edit_panel(vmf: VMF, inst: Entity, props: Property, create: bool) -> None: """Implements SetPanelOptions and CreatePanel.""" - normal = props.vec('normal', 0, 0, 1).rotate_by_str(inst['angles']) + orient = Matrix.from_angle(Angle.from_str(inst['angles'])) + normal: Vec = round(props.vec('normal', 0, 0, 1) @ orient, 6) origin = Vec.from_str(inst['origin']) uaxis, vaxis = Vec.INV_AXIS[normal.axis()] @@ -1045,7 +1047,7 @@ def edit_panel(vmf: VMF, inst: Entity, props: Property, create: bool) -> None: else: # Default to the full tile. points.update({ - (Vec(u, v, -64.0).rotate_by_str(inst['angles']) + origin).as_tuple() + (Vec(u, v, -64.0) @ orient + origin).as_tuple() for u in [-48.0, -16.0, 16.0, 48.0] for v in [-48.0, -16.0, 16.0, 48.0] }) @@ -1073,7 +1075,7 @@ def edit_panel(vmf: VMF, inst: Entity, props: Property, create: bool) -> None: if bevel_prop.has_children(): # Individually specifying offsets. for bevel_str in bevel_prop.as_array(): - bevel_point = Vec.from_str(bevel_str).rotate_by_str(inst['angles']) + origin + bevel_point = Vec.from_str(bevel_str) @ orient + origin bevel_world.add((int(bevel_point[uaxis]), int(bevel_point[vaxis]))) elif srctools.conv_bool(bevel_prop.value): # Fill the bounding box. @@ -1218,22 +1220,22 @@ def edit_panel(vmf: VMF, inst: Entity, props: Property, create: bool) -> None: def _fill_norm_rotations() -> Dict[ Tuple[Tuple[float, float, float], Tuple[float, float, float]], - Tuple[float, float, float] + Matrix, ]: """Given a norm->norm rotation, return the angles producing that.""" rotations = {} for norm_ax in 'xyz': for norm_mag in [-1, +1]: norm = Vec.with_axes(norm_ax, norm_mag) - for angle_ax in 'xyz': + for angle_ax in ('pitch', 'yaw', 'roll'): for angle_mag in (-90, 90): - angle = Vec.with_axes(angle_ax, angle_mag) - new_norm = norm.copy().rotate(*angle) + angle = Matrix.from_angle(Angle.with_axes(angle_ax, angle_mag)) + new_norm = norm @ angle if new_norm != norm: - rotations[tuple(norm), tuple(new_norm)] = angle.as_tuple() + rotations[norm.as_tuple(), new_norm.as_tuple()] = angle # Assign a null rotation as well. - rotations[tuple(norm), tuple(norm)] = (0.0, 0.0, 0.0) - rotations[tuple(norm), tuple(-norm)] = (0.0, 0.0, 0.0) + rotations[norm.as_tuple(), norm.as_tuple()] = Matrix() + rotations[norm.as_tuple(), (-norm).as_tuple()] = Matrix() return rotations @@ -1246,8 +1248,9 @@ def res_transfer_bullseye(inst: Entity, props: Property): """Transfer catapult targets and placement helpers from one tile to another.""" start_pos = conditions.resolve_offset(inst, props['start_pos', '']) end_pos = conditions.resolve_offset(inst, props['end_pos', '']) - start_norm = props.vec('start_norm', 0, 0, 1).rotate_by_str(inst['angles']) - end_norm = props.vec('end_norm', 0, 0, 1).rotate_by_str(inst['angles']) + angles = Angle.from_str(inst['angles']) + start_norm = props.vec('start_norm', 0, 0, 1) @ angles + end_norm = props.vec('end_norm', 0, 0, 1) @ angles try: start_tile = tiling.TILES[ @@ -1274,10 +1277,10 @@ def res_transfer_bullseye(inst: Entity, props: Property): # intent is. if Vec.dot(start_norm, end_norm) != -1.0: # Use the dict to compute the rotation to apply. - orient.rotate(*NORM_ROTATIONS[ + orient @= NORM_ROTATIONS[ start_norm.as_tuple(), end_norm.as_tuple() - ]) + ] end_tile.add_portal_helper(orient) elif start_tile.has_portal_helper: # Non-oriented, don't orient. @@ -1291,5 +1294,3 @@ def res_transfer_bullseye(inst: Entity, props: Property): for plate in faithplate.PLATES.values(): if getattr(plate, 'target', None) is start_tile: plate.target = end_tile - - From 27645d0e2774a4755534bde2a749bfc953ec54d0 Mon Sep 17 00:00:00 2001 From: TeamSpen210 Date: Mon, 22 Feb 2021 13:29:39 +1000 Subject: [PATCH 09/19] This should be "surface", not "voxel". --- src/editoritems.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/editoritems.py b/src/editoritems.py index f19212e70..794b0e265 100644 --- a/src/editoritems.py +++ b/src/editoritems.py @@ -1672,7 +1672,7 @@ def _export_occupied_voxels(self, f: IO[str]) -> None: # Special case - single full voxel has no surface sections. if len(voxels) != 1 or voxels[0].subpos is not None or voxels[0].normal is not None: for voxel in voxels: - f.write('\t\t\t\t"Voxel"\n') + f.write('\t\t\t\t"Surface"\n') f.write('\t\t\t\t\t{\n') if voxel.subpos is not None and voxel.normal is not None: f.write(f'\t\t\t\t\t"Pos" "{voxel.subpos}"\n') From 1ae1cb7fc572ab235eebb571eaa5ec3d235fa91c Mon Sep 17 00:00:00 2001 From: TeamSpen210 Date: Mon, 22 Feb 2021 17:16:47 +1000 Subject: [PATCH 10/19] Update translations --- i18n/BEE2.pot | 2 +- i18n/es.po | 118 ++--- i18n/fr.po | 118 ++--- i18n/ja.po | 118 ++--- i18n/pl.po | 118 ++--- i18n/ru.po | 1180 +++++++++++++++++++++++++++++-------------------- i18n/zh.po | 118 ++--- 7 files changed, 989 insertions(+), 783 deletions(-) diff --git a/i18n/BEE2.pot b/i18n/BEE2.pot index e98de6fd6..cf7b9022c 100644 --- a/i18n/BEE2.pot +++ b/i18n/BEE2.pot @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: https://github.com/BEEmod/BEE2.4/issues\n" -"POT-Creation-Date: 2021-02-21 11:21+1000\n" +"POT-Creation-Date: 2021-02-22 14:22+1000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/i18n/es.po b/i18n/es.po index 63caf0f26..c65e3ce66 100644 --- a/i18n/es.po +++ b/i18n/es.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-02-21 11:21+1000\n" +"POT-Creation-Date: 2021-02-22 14:22+1000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: es\n" @@ -121,7 +121,7 @@ msgstr "" "Seleccionar un pasillo de forma aleatoria. Esto es guardado en los datos " "del puzzle y no cambiará." -#: app/CompilerPane.py:320 app/UI.py:626 +#: app/CompilerPane.py:320 app/UI.py:632 msgid "Random" msgstr "Aleatorio" @@ -506,11 +506,11 @@ msgstr "Oculta/Muestra las \"{}\" ventanas." msgid "Export..." msgstr "Exportar..." -#: app/UI.py:560 +#: app/UI.py:566 msgid "Select Skyboxes" msgstr "Seleccionar Cielos" -#: app/UI.py:561 +#: app/UI.py:567 msgid "" "The skybox decides what the area outside the chamber is like. It chooses " "the colour of sky (seen in some items), the style of bottomless pit (if " @@ -522,19 +522,19 @@ msgstr "" "precipicios, así como el color de la \"niebla\" vistos en las cámaras " "largas." -#: app/UI.py:569 +#: app/UI.py:575 msgid "3D Skybox" msgstr "Skybox 3D" -#: app/UI.py:570 +#: app/UI.py:576 msgid "Fog Color" msgstr "Color de Niebla" -#: app/UI.py:577 +#: app/UI.py:583 msgid "Select Additional Voice Lines" msgstr "Selecciona línea de voces adicionales" -#: app/UI.py:578 +#: app/UI.py:584 msgid "" "Voice lines choose which extra voices play as the player enters or exits " "a chamber. They are chosen based on which items are present in the map. " @@ -546,31 +546,31 @@ msgstr "" "elementos presentes en el mapa. Las líneas de voz adicionales de Cave " "Johnson se controlan por separado en las propiedades del estilo." -#: app/UI.py:583 +#: app/UI.py:589 msgid "Add no extra voice lines, only Multiverse Cave if enabled." msgstr "No añadir voces de línea adicionales, sólo Cave (Workshop)." -#: app/UI.py:585 +#: app/UI.py:591 msgid "" msgstr "" -#: app/UI.py:589 +#: app/UI.py:595 msgid "Characters" msgstr "Personajes" -#: app/UI.py:590 +#: app/UI.py:596 msgid "Turret Shoot Monitor" msgstr "Monitor de Disparos de Torreta" -#: app/UI.py:591 +#: app/UI.py:597 msgid "Monitor Visuals" msgstr "Visuales de Monitor" -#: app/UI.py:598 +#: app/UI.py:604 msgid "Select Style" msgstr "Selecciona Estilo" -#: app/UI.py:599 +#: app/UI.py:605 msgid "" "The Style controls many aspects of the map. It decides the materials used" " for walls, the appearance of entrances and exits, the design for most " @@ -586,15 +586,15 @@ msgstr "" "El Estilo define ampliamente el período de tiempo en el que se establece " "una cámara de pruebas." -#: app/UI.py:610 +#: app/UI.py:616 msgid "Elevator Videos" msgstr "Videos del Elevador" -#: app/UI.py:617 +#: app/UI.py:623 msgid "Select Elevator Video" msgstr "Selecciona el video del Elevador" -#: app/UI.py:618 +#: app/UI.py:624 msgid "" "Set the video played on the video screens in modern Aperture elevator " "rooms. Not all styles feature these. If set to \"None\", a random video " @@ -605,23 +605,23 @@ msgstr "" "seleccionado \"Ninguno\", se elegirá un vídeo aleatorio cada vez que se " "juegue el mapa, como en el editor de niveles del juego predeterminado." -#: app/UI.py:622 +#: app/UI.py:628 msgid "This style does not have a elevator video screen." msgstr "Este estilo no cuenta con una pantalla en el elevador." -#: app/UI.py:627 +#: app/UI.py:633 msgid "Choose a random video." msgstr "Elegir un video aleatorio." -#: app/UI.py:631 +#: app/UI.py:637 msgid "Multiple Orientations" msgstr "Orientación Multiple" -#: app/UI.py:859 +#: app/UI.py:865 msgid "Selected Items and Style successfully exported!" msgstr "¡Estilo y elementos exportados correctamente!" -#: app/UI.py:861 +#: app/UI.py:867 msgid "" "\n" "\n" @@ -634,71 +634,71 @@ msgstr "" "Hammer para asegurarse de que las vistas previas de las paredes del " "editor han cambiado." -#: app/UI.py:1093 +#: app/UI.py:1099 msgid "Delete Palette \"{}\"" msgstr "Borrar Paleta \"{}\"" -#: app/UI.py:1176 +#: app/UI.py:1182 msgid "BEE2 - Save Palette" msgstr "BEE2 - Guardar Paleta" -#: app/UI.py:1177 +#: app/UI.py:1183 msgid "Enter a name:" msgstr "Introduzca un nombre:" -#: app/UI.py:1186 +#: app/UI.py:1192 msgid "This palette already exists. Overwrite?" msgstr "Esta paleta ya existe. ¿Desea reemplazarla?" -#: app/UI.py:1218 app/gameMan.py:1340 +#: app/UI.py:1224 app/gameMan.py:1340 msgid "Are you sure you want to delete \"{}\"?" msgstr "¿Estas seguro que deseas borrar \"{}\"?" -#: app/UI.py:1246 +#: app/UI.py:1252 msgid "Clear Palette" msgstr "Vaciar la Paleta" -#: app/UI.py:1282 app/UI.py:1716 +#: app/UI.py:1288 app/UI.py:1722 msgid "Delete Palette" msgstr "Borrar Paleta" -#: app/UI.py:1302 +#: app/UI.py:1308 msgid "Save Palette..." msgstr "Guardar Paleta..." -#: app/UI.py:1307 app/UI.py:1739 +#: app/UI.py:1313 app/UI.py:1745 msgid "Save Palette As..." msgstr "Guardar Paleta Como..." -#: app/UI.py:1318 app/UI.py:1727 +#: app/UI.py:1324 app/UI.py:1733 msgid "Save Settings in Palettes" msgstr "Guardar Ajustes en las Paletas" -#: app/UI.py:1336 app/music_conf.py:205 +#: app/UI.py:1342 app/music_conf.py:205 msgid "Music: " msgstr "Música:" -#: app/UI.py:1362 +#: app/UI.py:1368 msgid "{arr} Use Suggested {arr}" msgstr "{arr} Usar Recomendado {arr}" -#: app/UI.py:1378 +#: app/UI.py:1384 msgid "Style: " msgstr "Estilo: " -#: app/UI.py:1380 +#: app/UI.py:1386 msgid "Voice: " msgstr "Voz: " -#: app/UI.py:1381 +#: app/UI.py:1387 msgid "Skybox: " msgstr "Skybox: " -#: app/UI.py:1382 +#: app/UI.py:1388 msgid "Elev Vid: " msgstr "Vid Elev: " -#: app/UI.py:1400 +#: app/UI.py:1406 msgid "" "Enable or disable particular voice lines, to prevent them from being " "added." @@ -706,76 +706,76 @@ msgstr "" "Habilita o deshabilita ciertas lineas de voces, para prevenir que sean " "añadidas." -#: app/UI.py:1503 +#: app/UI.py:1509 msgid "All Items: " msgstr "Todos los Elementos: " -#: app/UI.py:1635 +#: app/UI.py:1641 msgid "Export to \"{}\"..." msgstr "Exportar a \"{}\"..." -#: app/UI.py:1663 app/backup.py:872 +#: app/UI.py:1669 app/backup.py:872 msgid "File" msgstr "Archivo" -#: app/UI.py:1670 +#: app/UI.py:1676 msgid "Export" msgstr "Exportar" -#: app/UI.py:1677 app/backup.py:876 +#: app/UI.py:1683 app/backup.py:876 msgid "Add Game" msgstr "Añadir Juego" -#: app/UI.py:1681 +#: app/UI.py:1687 #, fuzzy msgid "Uninstall from Selected Game" msgstr "Borrar del Juego Seleccionado" -#: app/UI.py:1685 +#: app/UI.py:1691 msgid "Backup/Restore Puzzles..." msgstr "Copias de seguridad/Restaurar mapas..." -#: app/UI.py:1689 +#: app/UI.py:1695 msgid "Manage Packages..." msgstr "Administrar Paquetes..." -#: app/UI.py:1694 +#: app/UI.py:1700 msgid "Options" msgstr "Ociones" -#: app/UI.py:1699 app/gameMan.py:1088 +#: app/UI.py:1705 app/gameMan.py:1088 msgid "Quit" msgstr "Salir" -#: app/UI.py:1709 +#: app/UI.py:1715 msgid "Palette" msgstr "Paleta" -#: app/UI.py:1711 +#: app/UI.py:1717 msgid "Clear" msgstr "Limpiar" -#: app/UI.py:1720 +#: app/UI.py:1726 msgid "Fill Palette" msgstr "Rellenar Paleta" -#: app/UI.py:1734 +#: app/UI.py:1740 msgid "Save Palette" msgstr "Guardar Paleta" -#: app/UI.py:1749 +#: app/UI.py:1755 msgid "View" msgstr "Ver" -#: app/UI.py:1863 +#: app/UI.py:1869 msgid "Palettes" msgstr "Paletas" -#: app/UI.py:1888 +#: app/UI.py:1894 msgid "Export Options" msgstr "Opciones de Exportación" -#: app/UI.py:1920 +#: app/UI.py:1926 msgid "Fill empty spots in the palette with random items." msgstr "Rellenar espacios vacíos de la paleta con elementos aleatorios." @@ -1232,7 +1232,7 @@ msgstr "" msgid "No Properties available!" msgstr "¡No hay propiedades disponibles!" -#: app/item_search.py:52 +#: app/item_search.py:59 msgid "Search:" msgstr "" diff --git a/i18n/fr.po b/i18n/fr.po index a9c4b72fa..0e75ddc17 100644 --- a/i18n/fr.po +++ b/i18n/fr.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: BEEMOD2\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-02-21 11:21+1000\n" +"POT-Creation-Date: 2021-02-22 14:22+1000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: fr\n" @@ -122,7 +122,7 @@ msgstr "" "Choisit un couloir aléatoire. Ceci est sauvegardé dans le data du puzzle " "et ne va pas changer." -#: app/CompilerPane.py:320 app/UI.py:626 +#: app/CompilerPane.py:320 app/UI.py:632 msgid "Random" msgstr "Aléatoire" @@ -495,11 +495,11 @@ msgstr "Cacher/Montrer la fenêtre \"{}\"" msgid "Export..." msgstr "Export..." -#: app/UI.py:560 +#: app/UI.py:566 msgid "Select Skyboxes" msgstr "Sélectionnez une skybox" -#: app/UI.py:561 +#: app/UI.py:567 msgid "" "The skybox decides what the area outside the chamber is like. It chooses " "the colour of sky (seen in some items), the style of bottomless pit (if " @@ -510,19 +510,19 @@ msgstr "" "sans fond (si présents) tout comme la couleur du \"brouillard\" (vu dans " "les grandes salles)." -#: app/UI.py:569 +#: app/UI.py:575 msgid "3D Skybox" msgstr "Skybox 3D" -#: app/UI.py:570 +#: app/UI.py:576 msgid "Fog Color" msgstr "Couleur du brouillard" -#: app/UI.py:577 +#: app/UI.py:583 msgid "Select Additional Voice Lines" msgstr "Sélectionnez les répliques additionnelles" -#: app/UI.py:578 +#: app/UI.py:584 msgid "" "Voice lines choose which extra voices play as the player enters or exits " "a chamber. They are chosen based on which items are present in the map. " @@ -534,31 +534,31 @@ msgstr "" "dans la salle. Les répliques additionnelles de Cave du multivers sont " "contrôlées séparément dans les propriétés de style." -#: app/UI.py:583 +#: app/UI.py:589 msgid "Add no extra voice lines, only Multiverse Cave if enabled." msgstr "N'ajoute aucune réplique supplémentaire." -#: app/UI.py:585 +#: app/UI.py:591 msgid "" msgstr "" -#: app/UI.py:589 +#: app/UI.py:595 msgid "Characters" msgstr "Personnages" -#: app/UI.py:590 +#: app/UI.py:596 msgid "Turret Shoot Monitor" msgstr "Les tourelles tirent sur les moniteurs" -#: app/UI.py:591 +#: app/UI.py:597 msgid "Monitor Visuals" msgstr "Visuels des moniteurs" -#: app/UI.py:598 +#: app/UI.py:604 msgid "Select Style" msgstr "Sélectionnez un style" -#: app/UI.py:599 +#: app/UI.py:605 msgid "" "The Style controls many aspects of the map. It decides the materials used" " for walls, the appearance of entrances and exits, the design for most " @@ -572,15 +572,15 @@ msgstr "" "\n" "Le style définit de façon large l'époque où se place la salle." -#: app/UI.py:610 +#: app/UI.py:616 msgid "Elevator Videos" msgstr "Vidéos d'ascenseur" -#: app/UI.py:617 +#: app/UI.py:623 msgid "Select Elevator Video" msgstr "Sélectionnez une vidéo d'ascenceur" -#: app/UI.py:618 +#: app/UI.py:624 msgid "" "Set the video played on the video screens in modern Aperture elevator " "rooms. Not all styles feature these. If set to \"None\", a random video " @@ -591,23 +591,23 @@ msgstr "" "est choisit, une vidéo aléatoire sera sélectionnée chaque fois que la " "carte sera jouée, comme avec le style PeTI par défaut." -#: app/UI.py:622 +#: app/UI.py:628 msgid "This style does not have a elevator video screen." msgstr "Ce style n'a aucune vidéo d'ascenseur." -#: app/UI.py:627 +#: app/UI.py:633 msgid "Choose a random video." msgstr "Choisit une vidéo aléatoire." -#: app/UI.py:631 +#: app/UI.py:637 msgid "Multiple Orientations" msgstr "Orientations multiples" -#: app/UI.py:859 +#: app/UI.py:865 msgid "Selected Items and Style successfully exported!" msgstr "Le style et les objets sélectionnés ont été exportés avec succès !" -#: app/UI.py:861 +#: app/UI.py:867 msgid "" "\n" "\n" @@ -620,71 +620,71 @@ msgstr "" "Hammer pour assurer le rafraîchissement des apparences des murs en " "prévisualisation." -#: app/UI.py:1093 +#: app/UI.py:1099 msgid "Delete Palette \"{}\"" msgstr "Supprimer la palette \"{}\"" -#: app/UI.py:1176 +#: app/UI.py:1182 msgid "BEE2 - Save Palette" msgstr "BEE2 - Enregistrer la palette" -#: app/UI.py:1177 +#: app/UI.py:1183 msgid "Enter a name:" msgstr "Entrer un nom:" -#: app/UI.py:1186 +#: app/UI.py:1192 msgid "This palette already exists. Overwrite?" msgstr "Cette palette existe déjà. Remplacer ?" -#: app/UI.py:1218 app/gameMan.py:1340 +#: app/UI.py:1224 app/gameMan.py:1340 msgid "Are you sure you want to delete \"{}\"?" msgstr "Êtes-vous sûr de vouloir supprimer cette palette ?" -#: app/UI.py:1246 +#: app/UI.py:1252 msgid "Clear Palette" msgstr "Vider la palette" -#: app/UI.py:1282 app/UI.py:1716 +#: app/UI.py:1288 app/UI.py:1722 msgid "Delete Palette" msgstr "Supprimer la palette" -#: app/UI.py:1302 +#: app/UI.py:1308 msgid "Save Palette..." msgstr "Enregistrer la palette..." -#: app/UI.py:1307 app/UI.py:1739 +#: app/UI.py:1313 app/UI.py:1745 msgid "Save Palette As..." msgstr "Enregistrer la palette sous..." -#: app/UI.py:1318 app/UI.py:1727 +#: app/UI.py:1324 app/UI.py:1733 msgid "Save Settings in Palettes" msgstr "" -#: app/UI.py:1336 app/music_conf.py:205 +#: app/UI.py:1342 app/music_conf.py:205 msgid "Music: " msgstr "Musique: " -#: app/UI.py:1362 +#: app/UI.py:1368 msgid "{arr} Use Suggested {arr}" msgstr "{arr} Utiliser les suggestions {arr}" -#: app/UI.py:1378 +#: app/UI.py:1384 msgid "Style: " msgstr "Style: " -#: app/UI.py:1380 +#: app/UI.py:1386 msgid "Voice: " msgstr "Voix: " -#: app/UI.py:1381 +#: app/UI.py:1387 msgid "Skybox: " msgstr "Skybox: " -#: app/UI.py:1382 +#: app/UI.py:1388 msgid "Elev Vid: " msgstr "Vid Asc: " -#: app/UI.py:1400 +#: app/UI.py:1406 msgid "" "Enable or disable particular voice lines, to prevent them from being " "added." @@ -692,75 +692,75 @@ msgstr "" "Activer ou désactiver certaines répliques pour les empêcher d'être " "ajoutées." -#: app/UI.py:1503 +#: app/UI.py:1509 msgid "All Items: " msgstr "Tous les objets: " -#: app/UI.py:1635 +#: app/UI.py:1641 msgid "Export to \"{}\"..." msgstr "Exporter vers \"{}\"..." -#: app/UI.py:1663 app/backup.py:872 +#: app/UI.py:1669 app/backup.py:872 msgid "File" msgstr "Fichier" -#: app/UI.py:1670 +#: app/UI.py:1676 msgid "Export" msgstr "Exporter" -#: app/UI.py:1677 app/backup.py:876 +#: app/UI.py:1683 app/backup.py:876 msgid "Add Game" msgstr "Ajouter le jeu" -#: app/UI.py:1681 +#: app/UI.py:1687 msgid "Uninstall from Selected Game" msgstr "Désinstaller du jeu sélectionné" -#: app/UI.py:1685 +#: app/UI.py:1691 msgid "Backup/Restore Puzzles..." msgstr "Sauvegarder/Restaurer les puzzles..." -#: app/UI.py:1689 +#: app/UI.py:1695 msgid "Manage Packages..." msgstr "Gérer les paquets..." -#: app/UI.py:1694 +#: app/UI.py:1700 msgid "Options" msgstr "Options" -#: app/UI.py:1699 app/gameMan.py:1088 +#: app/UI.py:1705 app/gameMan.py:1088 msgid "Quit" msgstr "Quitter" -#: app/UI.py:1709 +#: app/UI.py:1715 msgid "Palette" msgstr "Palette" -#: app/UI.py:1711 +#: app/UI.py:1717 msgid "Clear" msgstr "Vider" -#: app/UI.py:1720 +#: app/UI.py:1726 msgid "Fill Palette" msgstr "Remplir la palette" -#: app/UI.py:1734 +#: app/UI.py:1740 msgid "Save Palette" msgstr "Enregistrer la palette" -#: app/UI.py:1749 +#: app/UI.py:1755 msgid "View" msgstr "" -#: app/UI.py:1863 +#: app/UI.py:1869 msgid "Palettes" msgstr "Palettes" -#: app/UI.py:1888 +#: app/UI.py:1894 msgid "Export Options" msgstr "Options d'export" -#: app/UI.py:1920 +#: app/UI.py:1926 msgid "Fill empty spots in the palette with random items." msgstr "Remplir les emplacements vides de la palette avec des objets aléatoires." @@ -1209,7 +1209,7 @@ msgstr "" msgid "No Properties available!" msgstr "Aucune propriété disponible !" -#: app/item_search.py:52 +#: app/item_search.py:59 msgid "Search:" msgstr "" diff --git a/i18n/ja.po b/i18n/ja.po index 155b344d5..edd23f265 100644 --- a/i18n/ja.po +++ b/i18n/ja.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-02-21 11:21+1000\n" +"POT-Creation-Date: 2021-02-22 14:22+1000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: ja\n" @@ -106,7 +106,7 @@ msgid "" " change." msgstr "" -#: app/CompilerPane.py:320 app/UI.py:626 +#: app/CompilerPane.py:320 app/UI.py:632 msgid "Random" msgstr "ランダム" @@ -427,30 +427,30 @@ msgstr "" msgid "Export..." msgstr "" -#: app/UI.py:560 +#: app/UI.py:566 msgid "Select Skyboxes" msgstr "" -#: app/UI.py:561 +#: app/UI.py:567 msgid "" "The skybox decides what the area outside the chamber is like. It chooses " "the colour of sky (seen in some items), the style of bottomless pit (if " "present), as well as color of \"fog\" (seen in larger chambers)." msgstr "" -#: app/UI.py:569 +#: app/UI.py:575 msgid "3D Skybox" msgstr "" -#: app/UI.py:570 +#: app/UI.py:576 msgid "Fog Color" msgstr "" -#: app/UI.py:577 +#: app/UI.py:583 msgid "Select Additional Voice Lines" msgstr "" -#: app/UI.py:578 +#: app/UI.py:584 msgid "" "Voice lines choose which extra voices play as the player enters or exits " "a chamber. They are chosen based on which items are present in the map. " @@ -458,31 +458,31 @@ msgid "" "Style Properties." msgstr "" -#: app/UI.py:583 +#: app/UI.py:589 msgid "Add no extra voice lines, only Multiverse Cave if enabled." msgstr "" -#: app/UI.py:585 +#: app/UI.py:591 msgid "" msgstr "" -#: app/UI.py:589 +#: app/UI.py:595 msgid "Characters" msgstr "キャラクター" -#: app/UI.py:590 +#: app/UI.py:596 msgid "Turret Shoot Monitor" msgstr "" -#: app/UI.py:591 +#: app/UI.py:597 msgid "Monitor Visuals" msgstr "" -#: app/UI.py:598 +#: app/UI.py:604 msgid "Select Style" msgstr "" -#: app/UI.py:599 +#: app/UI.py:605 msgid "" "The Style controls many aspects of the map. It decides the materials used" " for walls, the appearance of entrances and exits, the design for most " @@ -491,38 +491,38 @@ msgid "" "The style broadly defines the time period a chamber is set in." msgstr "" -#: app/UI.py:610 +#: app/UI.py:616 msgid "Elevator Videos" msgstr "エレベータービデオ" -#: app/UI.py:617 +#: app/UI.py:623 msgid "Select Elevator Video" msgstr "" -#: app/UI.py:618 +#: app/UI.py:624 msgid "" "Set the video played on the video screens in modern Aperture elevator " "rooms. Not all styles feature these. If set to \"None\", a random video " "will be selected each time the map is played, like in the default PeTI." msgstr "" -#: app/UI.py:622 +#: app/UI.py:628 msgid "This style does not have a elevator video screen." msgstr "" -#: app/UI.py:627 +#: app/UI.py:633 msgid "Choose a random video." msgstr "" -#: app/UI.py:631 +#: app/UI.py:637 msgid "Multiple Orientations" msgstr "" -#: app/UI.py:859 +#: app/UI.py:865 msgid "Selected Items and Style successfully exported!" msgstr "" -#: app/UI.py:861 +#: app/UI.py:867 msgid "" "\n" "\n" @@ -530,145 +530,145 @@ msgid "" "editor wall previews are changed." msgstr "" -#: app/UI.py:1093 +#: app/UI.py:1099 msgid "Delete Palette \"{}\"" msgstr "" -#: app/UI.py:1176 +#: app/UI.py:1182 msgid "BEE2 - Save Palette" msgstr "" -#: app/UI.py:1177 +#: app/UI.py:1183 msgid "Enter a name:" msgstr "" -#: app/UI.py:1186 +#: app/UI.py:1192 msgid "This palette already exists. Overwrite?" msgstr "" -#: app/UI.py:1218 app/gameMan.py:1340 +#: app/UI.py:1224 app/gameMan.py:1340 msgid "Are you sure you want to delete \"{}\"?" msgstr "" -#: app/UI.py:1246 +#: app/UI.py:1252 msgid "Clear Palette" msgstr "" -#: app/UI.py:1282 app/UI.py:1716 +#: app/UI.py:1288 app/UI.py:1722 msgid "Delete Palette" msgstr "" -#: app/UI.py:1302 +#: app/UI.py:1308 msgid "Save Palette..." msgstr "" -#: app/UI.py:1307 app/UI.py:1739 +#: app/UI.py:1313 app/UI.py:1745 msgid "Save Palette As..." msgstr "" -#: app/UI.py:1318 app/UI.py:1727 +#: app/UI.py:1324 app/UI.py:1733 msgid "Save Settings in Palettes" msgstr "" -#: app/UI.py:1336 app/music_conf.py:205 +#: app/UI.py:1342 app/music_conf.py:205 msgid "Music: " msgstr "音楽:" -#: app/UI.py:1362 +#: app/UI.py:1368 msgid "{arr} Use Suggested {arr}" msgstr "" -#: app/UI.py:1378 +#: app/UI.py:1384 msgid "Style: " msgstr "" -#: app/UI.py:1380 +#: app/UI.py:1386 msgid "Voice: " msgstr "" -#: app/UI.py:1381 +#: app/UI.py:1387 msgid "Skybox: " msgstr "" -#: app/UI.py:1382 +#: app/UI.py:1388 msgid "Elev Vid: " msgstr "エレベータービデオ:" -#: app/UI.py:1400 +#: app/UI.py:1406 msgid "" "Enable or disable particular voice lines, to prevent them from being " "added." msgstr "" -#: app/UI.py:1503 +#: app/UI.py:1509 msgid "All Items: " msgstr "" -#: app/UI.py:1635 +#: app/UI.py:1641 msgid "Export to \"{}\"..." msgstr "" -#: app/UI.py:1663 app/backup.py:872 +#: app/UI.py:1669 app/backup.py:872 msgid "File" msgstr "ファイル" -#: app/UI.py:1670 +#: app/UI.py:1676 msgid "Export" msgstr "" -#: app/UI.py:1677 app/backup.py:876 +#: app/UI.py:1683 app/backup.py:876 msgid "Add Game" msgstr "" -#: app/UI.py:1681 +#: app/UI.py:1687 msgid "Uninstall from Selected Game" msgstr "" -#: app/UI.py:1685 +#: app/UI.py:1691 msgid "Backup/Restore Puzzles..." msgstr "" -#: app/UI.py:1689 +#: app/UI.py:1695 msgid "Manage Packages..." msgstr "" -#: app/UI.py:1694 +#: app/UI.py:1700 msgid "Options" msgstr "環境設定" -#: app/UI.py:1699 app/gameMan.py:1088 +#: app/UI.py:1705 app/gameMan.py:1088 msgid "Quit" msgstr "終了" -#: app/UI.py:1709 +#: app/UI.py:1715 msgid "Palette" msgstr "" -#: app/UI.py:1711 +#: app/UI.py:1717 msgid "Clear" msgstr "" -#: app/UI.py:1720 +#: app/UI.py:1726 msgid "Fill Palette" msgstr "" -#: app/UI.py:1734 +#: app/UI.py:1740 msgid "Save Palette" msgstr "" -#: app/UI.py:1749 +#: app/UI.py:1755 msgid "View" msgstr "" -#: app/UI.py:1863 +#: app/UI.py:1869 msgid "Palettes" msgstr "" -#: app/UI.py:1888 +#: app/UI.py:1894 msgid "Export Options" msgstr "" -#: app/UI.py:1920 +#: app/UI.py:1926 msgid "Fill empty spots in the palette with random items." msgstr "" @@ -1087,7 +1087,7 @@ msgstr "" msgid "No Properties available!" msgstr "" -#: app/item_search.py:52 +#: app/item_search.py:59 msgid "Search:" msgstr "" diff --git a/i18n/pl.po b/i18n/pl.po index 268efe6d4..1a2126e0f 100644 --- a/i18n/pl.po +++ b/i18n/pl.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: BEE2 mod translations\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-02-21 11:21+1000\n" +"POT-Creation-Date: 2021-02-22 14:22+1000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: pl\n" @@ -121,7 +121,7 @@ msgstr "" "Losowo wybiera korytarz. Raz wybrany jest zapisywany w danych mapy i się " "nie zmieni." -#: app/CompilerPane.py:320 app/UI.py:626 +#: app/CompilerPane.py:320 app/UI.py:632 msgid "Random" msgstr "Losowo" @@ -491,11 +491,11 @@ msgstr "Pokaż/ukryj okno \"{}\"" msgid "Export..." msgstr "Wyeksportuj..." -#: app/UI.py:560 +#: app/UI.py:566 msgid "Select Skyboxes" msgstr "Wybierz skybox" -#: app/UI.py:561 +#: app/UI.py:567 msgid "" "The skybox decides what the area outside the chamber is like. It chooses " "the colour of sky (seen in some items), the style of bottomless pit (if " @@ -506,19 +506,19 @@ msgstr "" "otchłani (jeśli obecna), a także kolor \"mgły\" (widocznej w większych " "komorach)." -#: app/UI.py:569 +#: app/UI.py:575 msgid "3D Skybox" msgstr "Skybox 3D" -#: app/UI.py:570 +#: app/UI.py:576 msgid "Fog Color" msgstr "Kolor mgły" -#: app/UI.py:577 +#: app/UI.py:583 msgid "Select Additional Voice Lines" msgstr "Wybierz dodatkowe ścieżki głosowe" -#: app/UI.py:578 +#: app/UI.py:584 msgid "" "Voice lines choose which extra voices play as the player enters or exits " "a chamber. They are chosen based on which items are present in the map. " @@ -530,31 +530,31 @@ msgstr "" "Dodatkowe ścieżki Cave'a Johnsona z \"Multiwersum\" są wybierane osobno " "we właściwościach stylu." -#: app/UI.py:583 +#: app/UI.py:589 msgid "Add no extra voice lines, only Multiverse Cave if enabled." msgstr "Nie dodaje żadnych ścieżek, jedynie Cave z multiwersum, jeżeli włączone." -#: app/UI.py:585 +#: app/UI.py:591 msgid "" msgstr "" -#: app/UI.py:589 +#: app/UI.py:595 msgid "Characters" msgstr "Postacie" -#: app/UI.py:590 +#: app/UI.py:596 msgid "Turret Shoot Monitor" msgstr "Wieżyczki strzelają w monitor" -#: app/UI.py:591 +#: app/UI.py:597 msgid "Monitor Visuals" msgstr "Postać na monitorze" -#: app/UI.py:598 +#: app/UI.py:604 msgid "Select Style" msgstr "Wybierz styl" -#: app/UI.py:599 +#: app/UI.py:605 msgid "" "The Style controls many aspects of the map. It decides the materials used" " for walls, the appearance of entrances and exits, the design for most " @@ -568,15 +568,15 @@ msgstr "" "\n" "Styl po prostu określa okres czasu, w którym rozgrywana jest komora." -#: app/UI.py:610 +#: app/UI.py:616 msgid "Elevator Videos" msgstr "Filmy przy windzie" -#: app/UI.py:617 +#: app/UI.py:623 msgid "Select Elevator Video" msgstr "Wybierz film" -#: app/UI.py:618 +#: app/UI.py:624 msgid "" "Set the video played on the video screens in modern Aperture elevator " "rooms. Not all styles feature these. If set to \"None\", a random video " @@ -587,23 +587,23 @@ msgstr "" "\"None\", losowy film będzie wybrany za każdym razem, gdy mapa jest " "grana, jak w domyślnym edytorze." -#: app/UI.py:622 +#: app/UI.py:628 msgid "This style does not have a elevator video screen." msgstr "Ten styl nie ma ekranu na film." -#: app/UI.py:627 +#: app/UI.py:633 msgid "Choose a random video." msgstr "Wybierz dowolny film." -#: app/UI.py:631 +#: app/UI.py:637 msgid "Multiple Orientations" msgstr "Wiele orientacji" -#: app/UI.py:859 +#: app/UI.py:865 msgid "Selected Items and Style successfully exported!" msgstr "Wyeksportowanie wybranych przedmiotów i stylu powiodło się!" -#: app/UI.py:861 +#: app/UI.py:867 msgid "" "\n" "\n" @@ -615,145 +615,145 @@ msgstr "" "Uwaga: Pliki VPK nie zostały wyeksportowane, wyjdź z Portal 2 i Hammer " "aby upewnić się, że podgląd ścian w edytorze się zmienił." -#: app/UI.py:1093 +#: app/UI.py:1099 msgid "Delete Palette \"{}\"" msgstr "Usuń paletę \"{}\"" -#: app/UI.py:1176 +#: app/UI.py:1182 msgid "BEE2 - Save Palette" msgstr "BEE2 - Zapisz paletę" -#: app/UI.py:1177 +#: app/UI.py:1183 msgid "Enter a name:" msgstr "Wpisz nazwę:" -#: app/UI.py:1186 +#: app/UI.py:1192 msgid "This palette already exists. Overwrite?" msgstr "Ta paleta już istnieje. Nadpisać?" -#: app/UI.py:1218 app/gameMan.py:1340 +#: app/UI.py:1224 app/gameMan.py:1340 msgid "Are you sure you want to delete \"{}\"?" msgstr "Na pewno chcesz usunąć \"{}\"?" -#: app/UI.py:1246 +#: app/UI.py:1252 msgid "Clear Palette" msgstr "Wyczyść paletę" -#: app/UI.py:1282 app/UI.py:1716 +#: app/UI.py:1288 app/UI.py:1722 msgid "Delete Palette" msgstr "Usuń paletę" -#: app/UI.py:1302 +#: app/UI.py:1308 msgid "Save Palette..." msgstr "Zapisz paletę..." -#: app/UI.py:1307 app/UI.py:1739 +#: app/UI.py:1313 app/UI.py:1745 msgid "Save Palette As..." msgstr "Zapisz paletę jako..." -#: app/UI.py:1318 app/UI.py:1727 +#: app/UI.py:1324 app/UI.py:1733 msgid "Save Settings in Palettes" msgstr "Zapisz ustawienia palet" -#: app/UI.py:1336 app/music_conf.py:205 +#: app/UI.py:1342 app/music_conf.py:205 msgid "Music: " msgstr "Muzyka: " -#: app/UI.py:1362 +#: app/UI.py:1368 msgid "{arr} Use Suggested {arr}" msgstr "{arr} Użyj sugerowanego {arr}" -#: app/UI.py:1378 +#: app/UI.py:1384 msgid "Style: " msgstr "Styl: " -#: app/UI.py:1380 +#: app/UI.py:1386 msgid "Voice: " msgstr "Głos: " -#: app/UI.py:1381 +#: app/UI.py:1387 msgid "Skybox: " msgstr "Skybos: " -#: app/UI.py:1382 +#: app/UI.py:1388 msgid "Elev Vid: " msgstr "Film w windzie: " -#: app/UI.py:1400 +#: app/UI.py:1406 msgid "" "Enable or disable particular voice lines, to prevent them from being " "added." msgstr "Włącz lub wyłącz poszczególne ścieżki głosowe, aby zapobiec dodaniu ich." -#: app/UI.py:1503 +#: app/UI.py:1509 msgid "All Items: " msgstr "Wszystkie przedmioty: " -#: app/UI.py:1635 +#: app/UI.py:1641 msgid "Export to \"{}\"..." msgstr "Wyeksportuj do \"{}\"..." -#: app/UI.py:1663 app/backup.py:872 +#: app/UI.py:1669 app/backup.py:872 msgid "File" msgstr "Plik" -#: app/UI.py:1670 +#: app/UI.py:1676 msgid "Export" msgstr "Wyeksportuj" -#: app/UI.py:1677 app/backup.py:876 +#: app/UI.py:1683 app/backup.py:876 msgid "Add Game" msgstr "Dodaj grę" -#: app/UI.py:1681 +#: app/UI.py:1687 msgid "Uninstall from Selected Game" msgstr "Odinstaluj z wybranej gry" -#: app/UI.py:1685 +#: app/UI.py:1691 msgid "Backup/Restore Puzzles..." msgstr "Kopia zapasowa i przywracanie map" -#: app/UI.py:1689 +#: app/UI.py:1695 msgid "Manage Packages..." msgstr "Zarządzaj paczkami..." -#: app/UI.py:1694 +#: app/UI.py:1700 msgid "Options" msgstr "Opcje" -#: app/UI.py:1699 app/gameMan.py:1088 +#: app/UI.py:1705 app/gameMan.py:1088 msgid "Quit" msgstr "Wyjdź" -#: app/UI.py:1709 +#: app/UI.py:1715 msgid "Palette" msgstr "Paleta" -#: app/UI.py:1711 +#: app/UI.py:1717 msgid "Clear" msgstr "Wyczyść" -#: app/UI.py:1720 +#: app/UI.py:1726 msgid "Fill Palette" msgstr "Wypełnij paletę" -#: app/UI.py:1734 +#: app/UI.py:1740 msgid "Save Palette" msgstr "Zapisz paletę" -#: app/UI.py:1749 +#: app/UI.py:1755 msgid "View" msgstr "Wyświetl" -#: app/UI.py:1863 +#: app/UI.py:1869 msgid "Palettes" msgstr "Palety" -#: app/UI.py:1888 +#: app/UI.py:1894 msgid "Export Options" msgstr "Opcje eksportu" -#: app/UI.py:1920 +#: app/UI.py:1926 msgid "Fill empty spots in the palette with random items." msgstr "Wypełnia puste miejsca na palecie losowymi przedmiotami." @@ -1205,7 +1205,7 @@ msgstr "" msgid "No Properties available!" msgstr "Brak dostępnych właściwości!" -#: app/item_search.py:52 +#: app/item_search.py:59 msgid "Search:" msgstr "" diff --git a/i18n/ru.po b/i18n/ru.po index 09b7aef29..adee63004 100644 --- a/i18n/ru.po +++ b/i18n/ru.po @@ -1,108 +1,135 @@ + msgid "" msgstr "" -"Project-Id-Version: BEEMOD2\n" +"Project-Id-Version: BEEMOD2\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2021-02-22 14:22+1000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: \n" "Language: ru\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language-Team: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: \n" -"Language-Team: \n" -"X-Generator: Poedit 2.4.2\n" +"Generated-By: Babel 2.9.0\n" -#: loadScreen.py +#: loadScreen.py:199 msgid "Skipped!" msgstr "Пропущено!" -#: loadScreen.py +#: loadScreen.py:200 msgid "Version: " msgstr "Версия: " -#: app/optionWindow.py app/packageMan.py app/selector_win.py loadScreen.py +#: app/optionWindow.py:260 app/packageMan.py:116 app/selector_win.py:721 +#: loadScreen.py:201 msgid "Cancel" msgstr "Отмена" -#: app/tagsPane.py loadScreen.py +#: loadScreen.py:211 msgid "Packages" msgstr "Пакеты" -#: loadScreen.py +#: loadScreen.py:212 msgid "Loading Objects" msgstr "Загрузка объектов" -#: loadScreen.py +#: loadScreen.py:213 msgid "Loading Images" msgstr "Загрузка картинок" -#: loadScreen.py +#: loadScreen.py:214 msgid "Initialising UI" msgstr "Инициализация интерфейса" -#: loadScreen.py +#: loadScreen.py:215 msgid "Better Extended Editor for Portal 2" msgstr "Better Extended Editor для Portal 2" -#: utils.py +#: utils.py:892 msgid "__LANG_USE_SANS_SERIF__" msgstr "__LANG_USE_SANS_SERIF__" -#: app/CheckDetails.py +#: app/CheckDetails.py:219 msgid "Toggle all checkboxes." msgstr "Выбрать все." -#: app/CompilerPane.py +#: app/CompilerPane.py:64 msgid "ATLAS" msgstr "Атлас" -#: app/CompilerPane.py +#: app/CompilerPane.py:65 msgid "P-Body" msgstr "Пи-боди" -#: app/CompilerPane.py app/voiceEditor.py +#: app/CompilerPane.py:66 app/voiceEditor.py:38 msgid "Chell" msgstr "Челл" -#: app/CompilerPane.py app/voiceEditor.py +#: app/CompilerPane.py:67 app/voiceEditor.py:37 msgid "Bendy" msgstr "Бенди" -#: app/CompilerPane.py -msgid "Brushes form the walls or other parts of the test chamber. If this is high, it may help to reduce the size of the map or remove intricate shapes." -msgstr "Кисти (brushes) формируют стены и другие части тестовой камеры. Если их слишком много, можно уменьшить размер карты или удалить сложные формы." +#: app/CompilerPane.py:120 +msgid "" +"Brushes form the walls or other parts of the test chamber. If this is " +"high, it may help to reduce the size of the map or remove intricate " +"shapes." +msgstr "" +"Кисти (brushes) формируют стены и другие части тестовой камеры. Если их " +"слишком много, можно уменьшить размер карты или удалить сложные формы." -#: app/CompilerPane.py +#: app/CompilerPane.py:127 msgid "" -"Entities are the things in the map that have functionality. Removing complex moving items will help reduce this. Items have their entity count listed in the item description window.\n" +"Entities are the things in the map that have functionality. Removing " +"complex moving items will help reduce this. Items have their entity count" +" listed in the item description window.\n" "\n" -"This isn't completely accurate, some entity types are counted here but don't affect the ingame limit, while others may generate additional entities at runtime." +"This isn't completely accurate, some entity types are counted here but " +"don't affect the ingame limit, while others may generate additional " +"entities at runtime." msgstr "" -"Сущности (entities) — это вещи на карте, у которых есть функциональность. Удаление сложных движущихся предметов поможет уменьшить их количество. У предметов есть счётчик количества сущностей в окне описания предмета.\n" +"Сущности (entities) — это вещи на карте, у которых есть функциональность." +" Удаление сложных движущихся предметов поможет уменьшить их количество. У" +" предметов есть счётчик количества сущностей в окне описания предмета.\n" "\n" -"Это не до конца точно, некоторые типы сущностей указаны здесь, но не влияют на внутриигровой предел, в то время как другие могут создавать дополнительные сущности во время игры." +"Это не до конца точно, некоторые типы сущностей указаны здесь, но не " +"влияют на внутриигровой предел, в то время как другие могут создавать " +"дополнительные сущности во время игры." -#: app/CompilerPane.py -msgid "Overlays are smaller images affixed to surfaces, like signs or indicator lights. Hiding complex antlines or setting them to signage will reduce this." -msgstr "Наложения (overlays) — это небольшие изображения, добавленные к поверхностям, такие как знаки или лампочки-индикаторы. Скрытие сложных полос-индикаторов или замена на знаки уменьшит их." +#: app/CompilerPane.py:137 +msgid "" +"Overlays are smaller images affixed to surfaces, like signs or indicator " +"lights. Hiding complex antlines or setting them to signage will reduce " +"this." +msgstr "" +"Наложения (overlays) — это небольшие изображения, добавленные к " +"поверхностям, такие как знаки или лампочки-индикаторы. Скрытие сложных " +"полос-индикаторов или замена на знаки уменьшит их." -#: app/CompilerPane.py +#: app/CompilerPane.py:273 msgid "Corridor" msgstr "Коридор" -#: app/CompilerPane.py -msgid "Randomly choose a corridor. This is saved in the puzzle data and will not change." -msgstr "Случайно выбрать коридор. Это сохраняется в данных головоломки и не изменяется." +#: app/CompilerPane.py:314 +msgid "" +"Randomly choose a corridor. This is saved in the puzzle data and will not" +" change." +msgstr "" +"Случайно выбрать коридор. Это сохраняется в данных головоломки и не " +"изменяется." -#: app/CompilerPane.py app/UI.py +#: app/CompilerPane.py:320 app/UI.py:632 msgid "Random" msgstr "Случайно" -#: app/CompilerPane.py +#: app/CompilerPane.py:419 msgid "Image Files" msgstr "Изображения" -#: app/CompilerPane.py +#: app/CompilerPane.py:502 msgid "" "Options on this panel can be changed \n" "without exporting or restarting the game." @@ -111,845 +138,974 @@ msgstr "" "могут быть изменены без экспорта \n" "или перезапуска игры." -#: app/CompilerPane.py +#: app/CompilerPane.py:517 msgid "Map Settings" msgstr "Настройки карты" -#: app/CompilerPane.py +#: app/CompilerPane.py:522 msgid "Compile Settings" msgstr "Настройки сборки" -#: app/CompilerPane.py +#: app/CompilerPane.py:536 msgid "Thumbnail" msgstr "Превью" -#: app/CompilerPane.py +#: app/CompilerPane.py:544 msgid "Auto" msgstr "Авто" -#: app/CompilerPane.py +#: app/CompilerPane.py:552 msgid "PeTI" msgstr "PeTI" -#: app/CompilerPane.py +#: app/CompilerPane.py:560 msgid "Custom:" msgstr "Своё:" -#: app/CompilerPane.py +#: app/CompilerPane.py:578 msgid "Cleanup old screenshots" msgstr "Очищать старые скриншоты" -#: app/CompilerPane.py -msgid "Override the map image to use a screenshot automatically taken from the beginning of a chamber. Press F5 to take a new screenshot. If the map has not been previewed recently (within the last few hours), the default PeTI screenshot will be used instead." -msgstr "Заменить изображение карты на скриншот, автоматически снятый из начала камеры. Нажимайте F5 для создания нового скриншота. Если предпросмотра на карте не было недавно (за последние несколько часов), вместо него будет использоваться стандартный скриншот PeTI." +#: app/CompilerPane.py:588 +msgid "" +"Override the map image to use a screenshot automatically taken from the " +"beginning of a chamber. Press F5 to take a new screenshot. If the map has" +" not been previewed recently (within the last few hours), the default " +"PeTI screenshot will be used instead." +msgstr "" +"Заменить изображение карты на скриншот, автоматически снятый из начала " +"камеры. Нажимайте F5 для создания нового скриншота. Если предпросмотра на" +" карте не было недавно (за последние несколько часов), вместо него будет " +"использоваться стандартный скриншот PeTI." -#: app/CompilerPane.py +#: app/CompilerPane.py:596 msgid "Use the normal editor view for the map preview image." msgstr "Использовать обычный вид из редактора для изображения предпросмотра карты." -#: app/CompilerPane.py +#: app/CompilerPane.py:598 msgid "" -"Use a custom image for the map preview image. Click the screenshot to select.\n" +"Use a custom image for the map preview image. Click the screenshot to " +"select.\n" "Images will be converted to JPEGs if needed." msgstr "" -"Использовать своё изображение для предпросмотра карты. Нажмите на скриншот для выбора.\n" +"Использовать своё изображение для предпросмотра карты. Нажмите на " +"скриншот для выбора.\n" "Изображения будут переконвертированы в JPEG при необходимости." -#: app/CompilerPane.py -msgid "Automatically delete unused Automatic screenshots. Disable if you want to keep things in \"portal2/screenshots\". " -msgstr "Автоматически удалять неиспользованные автоматические скриншоты. Отключите, если вы хотите оставить файлы в \"portal2/screenshots\". " +#: app/CompilerPane.py:615 +msgid "" +"Automatically delete unused Automatic screenshots. Disable if you want to" +" keep things in \"portal2/screenshots\". " +msgstr "" +"Автоматически удалять неиспользованные автоматические скриншоты. " +"Отключите, если вы хотите оставить файлы в \"portal2/screenshots\". " -#: app/CompilerPane.py +#: app/CompilerPane.py:626 msgid "Lighting:" msgstr "Освещение:" -#: app/CompilerPane.py +#: app/CompilerPane.py:633 msgid "Fast" msgstr "Быстрое" -#: app/CompilerPane.py +#: app/CompilerPane.py:640 msgid "Full" msgstr "Полное" -#: app/CompilerPane.py +#: app/CompilerPane.py:648 msgid "" -"Compile with lower-quality, fast lighting. This speeds up compile times, but does not appear as good. Some shadows may appear wrong.\n" +"Compile with lower-quality, fast lighting. This speeds up compile times, " +"but does not appear as good. Some shadows may appear wrong.\n" "When publishing, this is ignored." msgstr "" -"Собирать с низкокачественным быстрым освещением. Это ускорит время сборки, но может выглядеть не так хорошо. Некоторые тени могут показаны неверно.\n" +"Собирать с низкокачественным быстрым освещением. Это ускорит время " +"сборки, но может выглядеть не так хорошо. Некоторые тени могут показаны " +"неверно.\n" "При публикации это игнорируется." -#: app/CompilerPane.py +#: app/CompilerPane.py:655 msgid "" -"Compile with high-quality lighting. This looks correct, but takes longer to compute. Use if you're arranging lights.\n" +"Compile with high-quality lighting. This looks correct, but takes longer " +"to compute. Use if you're arranging lights.\n" "When publishing, this is always used." msgstr "" -"Собирать с высококачественным освещением. Оно выглядит правильно, но занимает больше времени вычисления. Используйте при расстановке света.\n" +"Собирать с высококачественным освещением. Оно выглядит правильно, но " +"занимает больше времени вычисления. Используйте при расстановке света.\n" "При публикации это всегда используется." -#: app/CompilerPane.py +#: app/CompilerPane.py:662 msgid "Dump packed files to:" msgstr "Дампить упакованные файлы в:" -#: app/CompilerPane.py -msgid "When compiling, dump all files which were packed into the map. Useful if you're intending to edit maps in Hammer." -msgstr "При сборке дампить все файлы, которые были упакованы в карту. Полезно, если вы собираетесь редактировать карты в Hammer." +#: app/CompilerPane.py:687 +msgid "" +"When compiling, dump all files which were packed into the map. Useful if " +"you're intending to edit maps in Hammer." +msgstr "" +"При сборке дампить все файлы, которые были упакованы в карту. Полезно, " +"если вы собираетесь редактировать карты в Hammer." -#: app/CompilerPane.py +#: app/CompilerPane.py:693 msgid "Last Compile:" msgstr "Последняя сборка:" -#: app/CompilerPane.py +#: app/CompilerPane.py:703 msgid "Entity" msgstr "Сущность" -#: app/CompilerPane.py +#: app/CompilerPane.py:723 msgid "Overlay" msgstr "Наложение" -#: app/CompilerPane.py -msgid "Refresh the compile progress bars. Press after a compile has been performed to show the new values." -msgstr "Обновить полосы прогресса сборки. Нажмите после сборки, чтобы показать новые значения." +#: app/CompilerPane.py:742 +msgid "" +"Refresh the compile progress bars. Press after a compile has been " +"performed to show the new values." +msgstr "" +"Обновить полосы прогресса сборки. Нажмите после сборки, чтобы показать " +"новые значения." -#: app/CompilerPane.py +#: app/CompilerPane.py:748 msgid "Brush" msgstr "Кисть" -#: app/CompilerPane.py +#: app/CompilerPane.py:776 msgid "Voicelines:" msgstr "Реплики:" -#: app/CompilerPane.py +#: app/CompilerPane.py:783 msgid "Use voiceline priorities" msgstr "Использовать приоритет реплик" -#: app/CompilerPane.py -msgid "Only choose the highest-priority voicelines. This means more generic lines will can only be chosen if few test elements are in the map. If disabled any applicable lines will be used." -msgstr "Выбирать только реплики с наивысшим приоритетом. Это означает, что более общие реплики будут выбраны только если на карте мало тестовых элементов. При отключении будут использоваться все подходящие реплики." +#: app/CompilerPane.py:789 +msgid "" +"Only choose the highest-priority voicelines. This means more generic " +"lines will can only be chosen if few test elements are in the map. If " +"disabled any applicable lines will be used." +msgstr "" +"Выбирать только реплики с наивысшим приоритетом. Это означает, что более " +"общие реплики будут выбраны только если на карте мало тестовых элементов." +" При отключении будут использоваться все подходящие реплики." -#: app/CompilerPane.py +#: app/CompilerPane.py:796 msgid "Spawn at:" msgstr "Точка возрождения:" -#: app/CompilerPane.py +#: app/CompilerPane.py:807 msgid "Entry Door" msgstr "Входная дверь" -#: app/CompilerPane.py +#: app/CompilerPane.py:814 msgid "Elevator" msgstr "Лифт" -#: app/CompilerPane.py -msgid "When previewing in SP, spawn inside the entry elevator. Use this to examine the entry and exit corridors." -msgstr "При предпросмотре в одиночном режиме возрождаться внутри входного лифта. Используйте для осмотра коридоров входа и выхода." +#: app/CompilerPane.py:824 +msgid "" +"When previewing in SP, spawn inside the entry elevator. Use this to " +"examine the entry and exit corridors." +msgstr "" +"При предпросмотре в одиночном режиме возрождаться внутри входного лифта. " +"Используйте для осмотра коридоров входа и выхода." -#: app/CompilerPane.py +#: app/CompilerPane.py:829 msgid "When previewing in SP, spawn just before the entry door." -msgstr "При предпросмотре в одиночном режиме возрождаться прямо перед входной дверью." +msgstr "" +"При предпросмотре в одиночном режиме возрождаться прямо перед входной " +"дверью." -#: app/CompilerPane.py +#: app/CompilerPane.py:835 msgid "Corridor:" msgstr "Корридор:" -#: app/CompilerPane.py +#: app/CompilerPane.py:853 msgid "SP Entry:" msgstr "Вход (один игрок):" -#: app/CompilerPane.py +#: app/CompilerPane.py:858 msgid "SP Exit:" msgstr "Выход (один игрок):" -#: src/CompilerPane.py:779 -msgid "Coop:" -msgstr "Кооп:" +#: app/CompilerPane.py:863 +msgid "Coop Exit:" +msgstr "Выход коопа:" -#: app/CompilerPane.py +#: app/CompilerPane.py:869 msgid "Player Model (SP):" msgstr "Модель игрока (один игрок):" -#: app/CompilerPane.py +#: app/CompilerPane.py:893 msgid "Compile Options" msgstr "Опции сборки" -#: app/CompilerPane.py +#: app/CompilerPane.py:911 msgid "Compiler Options - {}" msgstr "Опции сборки - {}" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:30 msgid "Multiverse Cave" msgstr "Кейв мультивселенной" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:32 msgid "Play the Workshop Cave Johnson lines on map start." msgstr "Произносить реплики Кейва Джонсона из Мастерской в начале карты." -#: app/StyleVarPane.py +#: app/StyleVarPane.py:37 msgid "Prevent Portal Bump (fizzler)" msgstr "Анти-портальный выступ (испепеляющее поле)" -#: app/StyleVarPane.py -msgid "Add portal bumpers to make it more difficult to portal across fizzler edges. This can prevent placing portals in tight spaces near fizzlers, or fizzle portals on activation." -msgstr "Добавить портальные выступы, чтобы сделать прохождение порталов между гранями ещё сложнее. Это может предотвратить расположение порталов узких местах рядом с испепеляющими полями, или закрывать порталы при активации." +#: app/StyleVarPane.py:39 +msgid "" +"Add portal bumpers to make it more difficult to portal across fizzler " +"edges. This can prevent placing portals in tight spaces near fizzlers, or" +" fizzle portals on activation." +msgstr "" +"Добавить портальные выступы, чтобы сделать прохождение порталов между " +"гранями ещё сложнее. Это может предотвратить расположение порталов узких " +"местах рядом с испепеляющими полями, или закрывать порталы при активации." -#: app/StyleVarPane.py +#: app/StyleVarPane.py:46 msgid "Suppress Mid-Chamber Dialogue" msgstr "Заглушить диалог посередине камеры" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:48 msgid "Disable all voicelines other than entry and exit lines." msgstr "Отключить все реплики, кроме реплики выхода и выхода." -#: app/StyleVarPane.py +#: app/StyleVarPane.py:53 msgid "Unlock Default Items" msgstr "Разблокировать стандартные предметы" -#: app/StyleVarPane.py -msgid "Allow placing and deleting the mandatory Entry/Exit Doors and Large Observation Room. Use with caution, this can have weird results!" -msgstr "Разрешить добавление и удаление обязательных дверей входа/выхода и большого зала наблюдения. Использовать с осторожностью, могут быть странные результаты!" +#: app/StyleVarPane.py:55 +msgid "" +"Allow placing and deleting the mandatory Entry/Exit Doors and Large " +"Observation Room. Use with caution, this can have weird results!" +msgstr "" +"Разрешить добавление и удаление обязательных дверей входа/выхода и " +"большого зала наблюдения. Использовать с осторожностью, могут быть " +"странные результаты!" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:62 msgid "Allow Adding Goo Mist" msgstr "Разрешить добавление тумана к жиже" -#: app/StyleVarPane.py -msgid "Add mist particles above Toxic Goo in certain styles. This can increase the entity count significantly with large, complex goo pits, so disable if needed." -msgstr "Добавлять частицы тумана над смертельной жижей в некоторых стилях. Это может повысить количество сущностей при наличии больших и сложных ям с жижей, поэтому отключайте при необходимости." +#: app/StyleVarPane.py:64 +msgid "" +"Add mist particles above Toxic Goo in certain styles. This can increase " +"the entity count significantly with large, complex goo pits, so disable " +"if needed." +msgstr "" +"Добавлять частицы тумана над смертельной жижей в некоторых стилях. Это " +"может повысить количество сущностей при наличии больших и сложных ям с " +"жижей, поэтому отключайте при необходимости." -#: app/StyleVarPane.py +#: app/StyleVarPane.py:71 msgid "Light Reversible Excursion Funnels" msgstr "Подсвечивать обратимые экскурсионные воронки" -#: app/StyleVarPane.py -msgid "Funnels emit a small amount of light. However, if multiple funnels are near each other and can reverse polarity, this can cause lighting issues. Disable this to prevent that by disabling lights. Non-reversible Funnels do not have this issue." -msgstr "Воронки излучают малое количество света. Тем не менее, если несколько воронок находятся рядом друг с другом и могут менять полярность, то это может вызвать проблемы с освещением. Отключите для предотвращения этого выключением подсветки. Необратимые воронки не имеют такой проблемы." +#: app/StyleVarPane.py:73 +msgid "" +"Funnels emit a small amount of light. However, if multiple funnels are " +"near each other and can reverse polarity, this can cause lighting issues." +" Disable this to prevent that by disabling lights. Non-reversible Funnels" +" do not have this issue." +msgstr "" +"Воронки излучают малое количество света. Тем не менее, если несколько " +"воронок находятся рядом друг с другом и могут менять полярность, то это " +"может вызвать проблемы с освещением. Отключите для предотвращения этого " +"выключением подсветки. Необратимые воронки не имеют такой проблемы." -#: app/StyleVarPane.py +#: app/StyleVarPane.py:81 msgid "Enable Shape Framing" msgstr "Включить рамки для узоров" -#: app/StyleVarPane.py -msgid "After 10 shape-type antlines are used, the signs repeat. With this enabled, colored frames will be added to distinguish them." -msgstr "После использования 10 соединительных узоров знаки повторяются. Если это включено, то для их отличия будут добавлены цветные рамки." +#: app/StyleVarPane.py:83 +msgid "" +"After 10 shape-type antlines are used, the signs repeat. With this " +"enabled, colored frames will be added to distinguish them." +msgstr "" +"После использования 10 соединительных узоров знаки повторяются. Если это " +"включено, то для их отличия будут добавлены цветные рамки." -#: app/StyleVarPane.py +#: app/StyleVarPane.py:152 msgid "Default: On" msgstr "Умолчание: Вкл" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:154 msgid "Default: Off" msgstr "Умолчание: Выкл" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:158 msgid "Styles: Unstyled" msgstr "Стили: без стиля" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:168 msgid "Styles: All" msgstr "Стили: все" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:176 msgid "Style: {}" msgid_plural "Styles: {}" msgstr[0] "Стиль: {}" msgstr[1] "Стили: {}" msgstr[2] "Стили: {}" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:229 msgid "Style/Item Properties" msgstr "Свойства стиля/предмета" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:248 msgid "Styles" msgstr "Стили" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:267 msgid "All:" msgstr "Все:" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:270 msgid "Selected Style:" msgstr "Выбранный стиль:" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:278 msgid "Other Styles:" msgstr "Другие стили:" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:283 msgid "No Options!" msgstr "Нет опций!" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:289 msgid "None!" msgstr "Нет!" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:358 msgid "Items" msgstr "Предметы" -#: app/SubPane.py +#: app/SubPane.py:85 msgid "Hide/Show the \"{}\" window." msgstr "Показать/скрыть окно \"{}\"." -#: app/UI.py +#: app/UI.py:72 msgid "Export..." msgstr "Экспорт..." -#: app/UI.py +#: app/UI.py:566 msgid "Select Skyboxes" msgstr "Выбор скайбоксов" -#: app/UI.py -msgid "The skybox decides what the area outside the chamber is like. It chooses the colour of sky (seen in some items), the style of bottomless pit (if present), as well as color of \"fog\" (seen in larger chambers)." -msgstr "Скайбокс определяет местность вне тестовой камеры. Он задаёт цвет неба (заметный в некоторых предметах), стиль бездонной ямы (при наличии), а также цвет \"тумана\" (заметный в больших камерах)." +#: app/UI.py:567 +msgid "" +"The skybox decides what the area outside the chamber is like. It chooses " +"the colour of sky (seen in some items), the style of bottomless pit (if " +"present), as well as color of \"fog\" (seen in larger chambers)." +msgstr "" +"Скайбокс определяет местность вне тестовой камеры. Он задаёт цвет неба " +"(заметный в некоторых предметах), стиль бездонной ямы (при наличии), а " +"также цвет \"тумана\" (заметный в больших камерах)." -#: app/UI.py +#: app/UI.py:575 msgid "3D Skybox" msgstr "3D-скайбокс" -#: app/UI.py +#: app/UI.py:576 msgid "Fog Color" msgstr "Цвет тумана" -#: app/UI.py +#: app/UI.py:583 msgid "Select Additional Voice Lines" msgstr "Выбрать дополнительные реплики" -#: app/UI.py -msgid "Voice lines choose which extra voices play as the player enters or exits a chamber. They are chosen based on which items are present in the map. The additional \"Multiverse\" Cave lines are controlled separately in Style Properties." -msgstr "Репилики задают, какие дополнительные фразы будут произнесены, когда игрок заходит или выходит из камеры. Они выбираются на основании того, какие предметы присутствуют на карте. Дополнительные реплики Кейва \"мультивселенной\" настраиваются отдельно в настройках стиля." +#: app/UI.py:584 +msgid "" +"Voice lines choose which extra voices play as the player enters or exits " +"a chamber. They are chosen based on which items are present in the map. " +"The additional \"Multiverse\" Cave lines are controlled separately in " +"Style Properties." +msgstr "" +"Репилики задают, какие дополнительные фразы будут произнесены, когда " +"игрок заходит или выходит из камеры. Они выбираются на основании того, " +"какие предметы присутствуют на карте. Дополнительные реплики Кейва " +"\"мультивселенной\" настраиваются отдельно в настройках стиля." -#: app/UI.py +#: app/UI.py:589 msgid "Add no extra voice lines, only Multiverse Cave if enabled." -msgstr "Не добавлять дополнительных реплик, только Кейв мультивселенной при включении." +msgstr "" +"Не добавлять дополнительных реплик, только Кейв мультивселенной при " +"включении." -#: app/UI.py +#: app/UI.py:591 msgid "" msgstr "<Только Кейв мультивселенной>" -#: app/UI.py +#: app/UI.py:595 msgid "Characters" msgstr "Персонажи" -#: app/UI.py +#: app/UI.py:596 msgid "Turret Shoot Monitor" msgstr "Турель стреляет в монитор" -#: app/UI.py +#: app/UI.py:597 msgid "Monitor Visuals" msgstr "Картинка на мониторе" -#: app/UI.py +#: app/UI.py:604 msgid "Select Style" msgstr "Выберите стиль" -#: app/UI.py +#: app/UI.py:605 msgid "" -"The Style controls many aspects of the map. It decides the materials used for walls, the appearance of entrances and exits, the design for most items as well as other settings.\n" +"The Style controls many aspects of the map. It decides the materials used" +" for walls, the appearance of entrances and exits, the design for most " +"items as well as other settings.\n" "\n" "The style broadly defines the time period a chamber is set in." msgstr "" -"Стиль управляет множеством аспектов карты. Он решает, какие материалы используются для стен, внешний вид входов и выходов, дизайн большинства предметов, а также другие предметы.\n" +"Стиль управляет множеством аспектов карты. Он решает, какие материалы " +"используются для стен, внешний вид входов и выходов, дизайн большинства " +"предметов, а также другие предметы.\n" "\n" -"Стиль в широком смысле задаёт временной период, в котором находится тестовая камера." +"Стиль в широком смысле задаёт временной период, в котором находится " +"тестовая камера." -#: app/UI.py +#: app/UI.py:616 msgid "Elevator Videos" msgstr "Видео лифта" -#: app/UI.py +#: app/UI.py:623 msgid "Select Elevator Video" msgstr "Выберите видео лифта" -#: app/UI.py -msgid "Set the video played on the video screens in modern Aperture elevator rooms. Not all styles feature these. If set to \"None\", a random video will be selected each time the map is played, like in the default PeTI." -msgstr "Укажите видео, которое играет на экранах в комнатах лифта современного Aperture. Не все стили это поддерживают. Если указано \"Нет\", то при каждом запуске карты будет выбрано случайное видео, как по умолчанию в PeTI." +#: app/UI.py:624 +msgid "" +"Set the video played on the video screens in modern Aperture elevator " +"rooms. Not all styles feature these. If set to \"None\", a random video " +"will be selected each time the map is played, like in the default PeTI." +msgstr "" +"Укажите видео, которое играет на экранах в комнатах лифта современного " +"Aperture. Не все стили это поддерживают. Если указано \"Нет\", то при " +"каждом запуске карты будет выбрано случайное видео, как по умолчанию в " +"PeTI." -#: app/UI.py +#: app/UI.py:628 msgid "This style does not have a elevator video screen." msgstr "В стиле нет экранов для видео лифта." -#: app/UI.py +#: app/UI.py:633 msgid "Choose a random video." msgstr "Выбирать случайное видео." -#: app/UI.py +#: app/UI.py:637 msgid "Multiple Orientations" msgstr "Несколько форматов" -#: app/UI.py +#: app/UI.py:865 msgid "Selected Items and Style successfully exported!" msgstr "Выбранные предметы и стиль успешно экспортированы!" -#: app/UI.py +#: app/UI.py:867 msgid "" "\n" "\n" -"Warning: VPK files were not exported, quit Portal 2 and Hammer to ensure editor wall previews are changed." +"Warning: VPK files were not exported, quit Portal 2 and Hammer to ensure " +"editor wall previews are changed." msgstr "" "\n" "\n" -"Внимание: VPK-файлы не были экспортированы, закройте Portal 2 и Hammer, чтобы убедиться, что превью стен в редакторе изменились." +"Внимание: VPK-файлы не были экспортированы, закройте Portal 2 и Hammer, " +"чтобы убедиться, что превью стен в редакторе изменились." -#: app/UI.py +#: app/UI.py:1099 msgid "Delete Palette \"{}\"" msgstr "Удалить палитру \"{}\"" -#: app/UI.py +#: app/UI.py:1182 msgid "BEE2 - Save Palette" msgstr "BEE2 - Сохранить палитру" -#: app/UI.py +#: app/UI.py:1183 msgid "Enter a name:" msgstr "Укажите имя:" -#: app/UI.py +#: app/UI.py:1192 msgid "This palette already exists. Overwrite?" msgstr "Эта палитра уже существует. Перезаписать?" -#: app/UI.py app/gameMan.py +#: app/UI.py:1224 app/gameMan.py:1340 msgid "Are you sure you want to delete \"{}\"?" msgstr "Вы уверены, что хотите удалить \"{}\"?" -#: app/UI.py +#: app/UI.py:1252 msgid "Clear Palette" msgstr "Очистить палитру" -#: app/UI.py +#: app/UI.py:1288 app/UI.py:1722 msgid "Delete Palette" msgstr "Удалить палитру" -#: app/UI.py +#: app/UI.py:1308 msgid "Save Palette..." msgstr "Сохранить палитру..." -#: app/UI.py +#: app/UI.py:1313 app/UI.py:1745 msgid "Save Palette As..." msgstr "Сохранить палитру как..." -#: app/UI.py +#: app/UI.py:1324 app/UI.py:1733 msgid "Save Settings in Palettes" msgstr "Сохранить настройки в палитре" -#: app/UI.py app/music_conf.py +#: app/UI.py:1342 app/music_conf.py:205 msgid "Music: " msgstr "Музыка: " -#: app/UI.py +#: app/UI.py:1368 msgid "{arr} Use Suggested {arr}" msgstr "{arr} Использовать предложенное {arr}" -#: app/UI.py +#: app/UI.py:1384 msgid "Style: " msgstr "Стиль: " -#: app/UI.py +#: app/UI.py:1386 msgid "Voice: " msgstr "Голос: " -#: app/UI.py +#: app/UI.py:1387 msgid "Skybox: " msgstr "Скайбокс: " -#: app/UI.py +#: app/UI.py:1388 msgid "Elev Vid: " msgstr "Видео лифта: " -#: app/UI.py -msgid "Enable or disable particular voice lines, to prevent them from being added." -msgstr "Включить или отключить определённые реплики для предотвращения из добавления." +#: app/UI.py:1406 +msgid "" +"Enable or disable particular voice lines, to prevent them from being " +"added." +msgstr "" +"Включить или отключить определённые реплики для предотвращения из " +"добавления." -#: app/UI.py +#: app/UI.py:1509 msgid "All Items: " msgstr "Все предметы: " -#: app/UI.py +#: app/UI.py:1641 msgid "Export to \"{}\"..." msgstr "Экспорт в \"{}\"..." -#: app/UI.py app/backup.py +#: app/UI.py:1669 app/backup.py:872 msgid "File" msgstr "Файл" -#: app/UI.py +#: app/UI.py:1676 msgid "Export" msgstr "Экспорт" -#: app/UI.py app/backup.py +#: app/UI.py:1683 app/backup.py:876 msgid "Add Game" msgstr "Добавить игру" -#: app/UI.py +#: app/UI.py:1687 msgid "Uninstall from Selected Game" msgstr "Удалить из выбранной игры" -#: app/UI.py +#: app/UI.py:1691 msgid "Backup/Restore Puzzles..." msgstr "Резервирование/восстановление головоломок..." -#: app/UI.py +#: app/UI.py:1695 msgid "Manage Packages..." msgstr "Управление пакетами..." -#: app/UI.py +#: app/UI.py:1700 msgid "Options" msgstr "Опции" -#: app/UI.py app/gameMan.py +#: app/UI.py:1705 app/gameMan.py:1088 msgid "Quit" msgstr "Выход" -#: app/UI.py +#: app/UI.py:1715 msgid "Palette" msgstr "Палитра" -#: app/UI.py +#: app/UI.py:1717 msgid "Clear" msgstr "Очистить" -#: app/UI.py +#: app/UI.py:1726 msgid "Fill Palette" msgstr "Заполнить палитру" -#: app/UI.py +#: app/UI.py:1740 msgid "Save Palette" msgstr "Сохранить палитру" -#: app/UI.py +#: app/UI.py:1755 msgid "View" msgstr "Вид" -#: app/UI.py +#: app/UI.py:1869 msgid "Palettes" msgstr "Палитры" -#: app/UI.py +#: app/UI.py:1894 msgid "Export Options" msgstr "Опции экспорта" -#: app/UI.py +#: app/UI.py:1926 msgid "Fill empty spots in the palette with random items." msgstr "Заполнить пустые места в палитре случайными предметами." -#: app/backup.py +#: app/backup.py:79 msgid "Copying maps" msgstr "Копирование карт" -#: app/backup.py +#: app/backup.py:84 msgid "Loading maps" msgstr "Загрузка карт" -#: app/backup.py +#: app/backup.py:89 msgid "Deleting maps" msgstr "Удаление карт" -#: app/backup.py +#: app/backup.py:140 msgid "Failed to parse this puzzle file. It can still be backed up." msgstr "Не удалось прочитать файл головоломки. Её всё ещё можно собрать." -#: app/backup.py +#: app/backup.py:144 msgid "No description found." msgstr "Описание не найдено." -#: app/backup.py +#: app/backup.py:175 msgid "Coop" msgstr "Кооп" -#: app/backup.py +#: app/backup.py:175 msgid "SP" msgstr "Один игрок" -#: app/backup.py +#: app/backup.py:337 msgid "This filename is already in the backup.Do you wish to overwrite it? ({})" msgstr "Это имя файла уже есть в резервной копии. Хотите перезаписать его? ({})" -#: app/backup.py +#: app/backup.py:443 msgid "BEE2 Backup" msgstr "Резервная копия BEE2" -#: app/backup.py +#: app/backup.py:444 msgid "No maps were chosen to backup!" msgstr "Для резервного копирования не было выбрано карт!" -#: app/backup.py -msgid "This map is already in the game directory.Do you wish to overwrite it? ({})" +#: app/backup.py:504 +msgid "" +"This map is already in the game directory.Do you wish to overwrite it? " +"({})" msgstr "Эта карта уже есть в папке игры. Хотите её перезаписать? ({})" -#: app/backup.py +#: app/backup.py:566 msgid "Load Backup" msgstr "Загрузить резервную копию" -#: app/backup.py +#: app/backup.py:567 app/backup.py:626 msgid "Backup zip" msgstr "ZIP резервной копии" -#: app/backup.py +#: app/backup.py:600 msgid "Unsaved Backup" msgstr "Несохранённая резервная копия" -#: app/backup.py +#: app/backup.py:625 app/backup.py:870 msgid "Save Backup As" msgstr "Сохранить резервную копию как" -#: app/backup.py +#: app/backup.py:721 msgid "Confirm Deletion" msgstr "Подтвердите удаление" -#: app/backup.py +#: app/backup.py:722 msgid "Do you wish to delete {} map?\n" msgid_plural "Do you wish to delete {} maps?\n" msgstr[0] "Вы уверены, что хотите удалить {} карту?\n" msgstr[1] "Вы уверены, что хотите удалить {} карты?\n" msgstr[2] "Вы уверены, что хотите удалить {} карт?\n" -#: app/backup.py +#: app/backup.py:759 msgid "Restore:" msgstr "Восстановить:" -#: app/backup.py +#: app/backup.py:760 msgid "Backup:" msgstr "Резервировать:" -#: app/backup.py +#: app/backup.py:797 msgid "Checked" msgstr "Отмечено" -#: app/backup.py +#: app/backup.py:805 msgid "Delete Checked" msgstr "Удалить отмеч." -#: app/backup.py +#: app/backup.py:854 msgid "BEEMOD {} - Backup / Restore Puzzles" msgstr "BEEMOD {} - Резервное копирование / восстановление головоломок" -#: app/backup.py +#: app/backup.py:867 app/backup.py:995 msgid "New Backup" msgstr "Новая копия" -#: app/backup.py +#: app/backup.py:868 app/backup.py:1002 msgid "Open Backup" msgstr "Открыть копию" -#: app/backup.py +#: app/backup.py:869 app/backup.py:1009 msgid "Save Backup" msgstr "Сохранить" -#: app/backup.py +#: app/backup.py:877 msgid "Remove Game" msgstr "Удалить игру" -#: app/backup.py +#: app/backup.py:880 msgid "Game" msgstr "Игра" -#: app/backup.py +#: app/backup.py:926 msgid "Automatic Backup After Export" msgstr "Автоматически резервировать после экспорта" -#: app/backup.py +#: app/backup.py:958 msgid "Keep (Per Game):" msgstr "Оставлять (за игру):" -#: app/backup.py +#: app/backup.py:976 msgid "Backup/Restore Puzzles" msgstr "Резервирование/восстановление головоломок" -#: app/contextWin.py +#: app/contextWin.py:78 msgid "This item may not be rotated." msgstr "Этот предмет нельзя поворачивать." -#: app/contextWin.py +#: app/contextWin.py:79 msgid "This item can be pointed in 4 directions." msgstr "Это предмет может указывать в 4 стороны." -#: app/contextWin.py +#: app/contextWin.py:80 msgid "This item can be positioned on the sides and center." msgstr "Это предмет может быть расположен по бокам и центру." -#: app/contextWin.py +#: app/contextWin.py:81 msgid "This item can be centered in two directions, plus on the sides." msgstr "Этот предмет может быть центрирован в двух направлениях, а также по бокам." -#: app/contextWin.py +#: app/contextWin.py:82 msgid "This item can be placed like light strips." msgstr "Этот предмет может быть расположен как световые ленты." -#: app/contextWin.py +#: app/contextWin.py:83 msgid "This item can be rotated on the floor to face 360 degrees." msgstr "Этот предмет может быть повёрнут на полу на 360 градусов." -#: app/contextWin.py +#: app/contextWin.py:84 msgid "This item is positioned using a catapult trajectory." msgstr "Этот предмет располагается с использованием траектории катапульты." -#: app/contextWin.py +#: app/contextWin.py:85 msgid "This item positions the dropper to hit target locations." msgstr "Этот предмет распологает выдавателем, направленным в целевые места." -#: app/contextWin.py +#: app/contextWin.py:87 msgid "This item does not accept any inputs." msgstr "Этот предмет не принимает никаких вводов." -#: app/contextWin.py +#: app/contextWin.py:88 msgid "This item accepts inputs." msgstr "Этот предмет принмимает вводы." -#: app/contextWin.py +#: app/contextWin.py:89 msgid "This item has two input types (A and B), using the Input A and B items." -msgstr "У этого предмета есть два типа вводов (А и B), использующих предметы Input A и B." +msgstr "" +"У этого предмета есть два типа вводов (А и B), использующих предметы " +"Input A и B." -#: app/contextWin.py +#: app/contextWin.py:91 msgid "This item does not output." msgstr "У этого предмета нет выводов." -#: app/contextWin.py +#: app/contextWin.py:92 msgid "This item has an output." msgstr "У этого предмета есть вывод." -#: app/contextWin.py +#: app/contextWin.py:93 msgid "This item has a timed output." msgstr "У этого предмета есть временной вывод." -#: app/contextWin.py +#: app/contextWin.py:95 msgid "This item does not take up any space inside walls." msgstr "Этот предмет не занимает места внутри стен." -#: app/contextWin.py +#: app/contextWin.py:96 msgid "This item takes space inside the wall." msgstr "Этот предмет занимает место внутри стены." -#: app/contextWin.py +#: app/contextWin.py:98 msgid "This item cannot be placed anywhere..." msgstr "Этот предмет не может быть нигде расположен..." -#: app/contextWin.py +#: app/contextWin.py:99 msgid "This item can only be attached to ceilings." msgstr "Этот предмет может быть прикреплён только к потолкам." -#: app/contextWin.py +#: app/contextWin.py:100 msgid "This item can only be placed on the floor." msgstr "Этот предмет может быть только расположен на полу." -#: app/contextWin.py +#: app/contextWin.py:101 msgid "This item can be placed on floors and ceilings." msgstr "Этот предмет может быть расположен на полу и потолке." -#: app/contextWin.py +#: app/contextWin.py:102 msgid "This item can be placed on walls only." msgstr "Этот предмет может быть расположен только на стенах." -#: app/contextWin.py +#: app/contextWin.py:103 msgid "This item can be attached to walls and ceilings." msgstr "Этот предмет может быть прикреплён к стенам и потолкам." -#: app/contextWin.py +#: app/contextWin.py:104 msgid "This item can be placed on floors and walls." msgstr "Этот предмет может быть расположен на полу и стенах." -#: app/contextWin.py +#: app/contextWin.py:105 msgid "This item can be placed in any orientation." msgstr "Этот предмет может быть расположен где угодно." -#: app/contextWin.py +#: app/contextWin.py:218 msgid "No Alternate Versions" msgstr "Нет альтернатив" -#: app/contextWin.py +#: app/contextWin.py:296 msgid "Excursion Funnels accept a on/off input and a directional input." msgstr "Экскурсионные воронки принимают ввод вкл/выкл и ввод направления." -#: app/contextWin.py -msgid "This item can be rotated on the floor to face 360 degrees, for Reflection Cubes only." -msgstr "Этот предмет может быть повёрнут на полу на 360 градусов, только отражающие кубы." +#: app/contextWin.py:347 +msgid "" +"This item can be rotated on the floor to face 360 degrees, for Reflection" +" Cubes only." +msgstr "" +"Этот предмет может быть повёрнут на полу на 360 градусов, только " +"отражающие кубы." -#: app/contextWin.py +#: app/contextWin.py:424 msgid "Properties:" msgstr "Свойства:" -#: app/contextWin.py -msgid "The number of entities used for this item. The Source engine limits this to 2048 in total. This provides a guide to how many of these items can be placed in a map at once." -msgstr "Количество сущностей, используемое для этого предмета. Движок Source ограничивает общее количество до 2048. Это даёт понять, сколько предметов можно уместить на одной карте." +#: app/contextWin.py:450 +msgid "" +"The number of entities used for this item. The Source engine limits this " +"to 2048 in total. This provides a guide to how many of these items can be" +" placed in a map at once." +msgstr "" +"Количество сущностей, используемое для этого предмета. Движок Source " +"ограничивает общее количество до 2048. Это даёт понять, сколько предметов" +" можно уместить на одной карте." -#: app/contextWin.py +#: app/contextWin.py:475 msgid "Description:" msgstr "Описание:" -#: app/contextWin.py -msgid "Failed to open a web browser. Do you wish for the URL to be copied to the clipboard instead?" -msgstr "Не удалось открыть веб-браузер. Хотите вместо этого скопировать URL в буфер обмена?" +#: app/contextWin.py:518 +msgid "" +"Failed to open a web browser. Do you wish for the URL to be copied to the" +" clipboard instead?" +msgstr "" +"Не удалось открыть веб-браузер. Хотите вместо этого скопировать URL в " +"буфер обмена?" -#: app/contextWin.py +#: app/contextWin.py:532 msgid "More Info>>" msgstr "Подробнее>>" -#: app/contextWin.py +#: app/contextWin.py:549 msgid "Change Defaults..." msgstr "Изменить умолчания..." -#: app/contextWin.py +#: app/contextWin.py:555 msgid "Change the default settings for this item when placed." msgstr "Выберите настройки по умолчанию для этого предмета при расположении." -#: app/gameMan.py +#: app/gameMan.py:757 app/gameMan.py:849 msgid "BEE2 - Export Failed!" msgstr "BEE2 - Экспорт не удался!" -#: app/gameMan.py -msgid "Compiler file {file} missing. Exit Steam applications, then press OK to verify your game cache. You can then export again." -msgstr "Файл сборщика {file} отсутствует. Закройте приложения Steam, затем нажмите OK для проверки целостности игровых файлов. После этого можете экспортировать ещё раз." +#: app/gameMan.py:758 +msgid "" +"Compiler file {file} missing. Exit Steam applications, then press OK to " +"verify your game cache. You can then export again." +msgstr "" +"Файл сборщика {file} отсутствует. Закройте приложения Steam, затем " +"нажмите OK для проверки целостности игровых файлов. После этого можете " +"экспортировать ещё раз." -#: app/gameMan.py +#: app/gameMan.py:850 msgid "Copying compiler file {file} failed. Ensure {game} is not running." -msgstr "Копирование файла сборщика {file} не удалось. Убедитесь, что {game} не запущена." +msgstr "" +"Копирование файла сборщика {file} не удалось. Убедитесь, что {game} не " +"запущена." -#: app/gameMan.py +#: app/gameMan.py:1145 msgid "" "Ap-Tag Coop gun instance not found!\n" "Coop guns will not work - verify cache to fix." msgstr "" "Экземпляр кооп-пушки Ap-Tag не найден!\n" -"Кооп-пушки не будут работать - проверьте целостность файлов для исправления." +"Кооп-пушки не будут работать - проверьте целостность файлов для " +"исправления." -#: app/gameMan.py +#: app/gameMan.py:1149 msgid "BEE2 - Aperture Tag Files Missing" msgstr "BEE2 - Отсутствуют файлы Aperture Tag" -#: app/gameMan.py +#: app/gameMan.py:1263 msgid "Select the folder where the game executable is located ({appname})..." msgstr "Укажите папку, где расположен исполняемый файл игры ({appname})..." -#: app/gameMan.py +#: app/gameMan.py:1266 app/gameMan.py:1281 app/gameMan.py:1291 +#: app/gameMan.py:1298 app/gameMan.py:1307 app/gameMan.py:1316 msgid "BEE2 - Add Game" msgstr "BEE2 - Добавить игру" -#: app/gameMan.py +#: app/gameMan.py:1269 msgid "Find Game Exe" msgstr "Найти EXE игры" -#: app/gameMan.py +#: app/gameMan.py:1270 msgid "Executable" msgstr "Исполняемый файл" -#: app/gameMan.py +#: app/gameMan.py:1278 msgid "This does not appear to be a valid game folder!" msgstr "Это не похоже на действительную папку игры!" -#: app/gameMan.py +#: app/gameMan.py:1288 msgid "Portal Stories: Mel doesn't have an editor!" msgstr "У Portal Stories: Mel нет редактора!" -#: app/gameMan.py +#: app/gameMan.py:1299 msgid "Enter the name of this game:" msgstr "Введите название этой игры:" -#: app/gameMan.py +#: app/gameMan.py:1306 msgid "This name is already taken!" msgstr "Это имя уже занято!" -#: app/gameMan.py +#: app/gameMan.py:1315 msgid "Please enter a name for this game!" msgstr "Пожалуйста, введите имя для этой игры!" -#: app/gameMan.py +#: app/gameMan.py:1334 msgid "" "\n" " (BEE2 will quit, this is the last game set!)" @@ -957,79 +1113,79 @@ msgstr "" "\n" "(BEE2 будет закрыт, это последняя указанная игра!)" -#: app/helpMenu.py +#: app/helpMenu.py:57 msgid "Wiki..." msgstr "Вики..." -#: app/helpMenu.py +#: app/helpMenu.py:59 msgid "Original Items..." msgstr "Оригинальные предметы..." -#: app/helpMenu.py +#: app/helpMenu.py:64 msgid "Discord Server..." msgstr "Сервер Discord..." -#: app/helpMenu.py +#: app/helpMenu.py:65 msgid "aerond's Music Changer..." msgstr "aerond's Music Changer..." -#: app/helpMenu.py +#: app/helpMenu.py:67 msgid "Application Repository..." msgstr "Репозиторий приложения..." -#: app/helpMenu.py +#: app/helpMenu.py:68 msgid "Items Repository..." msgstr "Репозиторий предметов..." -#: app/helpMenu.py +#: app/helpMenu.py:70 msgid "Submit Application Bugs..." msgstr "Сообщить о баге в приложении..." -#: app/helpMenu.py +#: app/helpMenu.py:71 msgid "Submit Item Bugs..." msgstr "Сообщить о баге в предметах..." -#: app/helpMenu.py app/paletteLoader.py +#: app/helpMenu.py:73 app/paletteLoader.py:35 msgid "Portal 2" msgstr "Portal 2" -#: app/helpMenu.py app/paletteLoader.py +#: app/helpMenu.py:74 app/paletteLoader.py:37 msgid "Aperture Tag" msgstr "Aperture Tag" -#: app/helpMenu.py +#: app/helpMenu.py:75 msgid "Portal Stories: Mel" msgstr "Portal Stories: Mel" -#: app/helpMenu.py +#: app/helpMenu.py:76 msgid "Thinking With Time Machine" msgstr "Thinking With Time Machine" -#: app/helpMenu.py app/itemPropWin.py +#: app/helpMenu.py:298 app/itemPropWin.py:343 msgid "Close" msgstr "Закрыть" -#: app/helpMenu.py +#: app/helpMenu.py:322 msgid "Help" msgstr "Справка" -#: app/helpMenu.py +#: app/helpMenu.py:333 msgid "BEE2 Credits" msgstr "Авторы BEE2" -#: app/helpMenu.py +#: app/helpMenu.py:350 msgid "Credits..." msgstr "Авторы..." -#: app/itemPropWin.py +#: app/itemPropWin.py:39 msgid "Start Position" msgstr "Стартовая позиция" -#: app/itemPropWin.py +#: app/itemPropWin.py:40 msgid "End Position" msgstr "Конечная позиция" -#: app/itemPropWin.py +#: app/itemPropWin.py:41 msgid "" "Delay \n" "(0=infinite)" @@ -1037,119 +1193,137 @@ msgstr "" "Задержка \n" "(0=вечная)" -#: app/itemPropWin.py +#: app/itemPropWin.py:342 msgid "No Properties available!" msgstr "Нет доступных свойств!" -#: app/itemconfig.py +#: app/item_search.py:59 +msgid "Search:" +msgstr "" + +#: app/itemconfig.py:616 msgid "Choose a Color" msgstr "Выберите цвет" -#: app/logWindow.py +#: app/logWindow.py:29 msgid "Debug messages" msgstr "Сообщения отладки" -#: app/logWindow.py +#: app/logWindow.py:30 msgid "Default" msgstr "По умолчанию" -#: app/logWindow.py +#: app/logWindow.py:31 msgid "Warnings Only" msgstr "Только предупреждения" -#: app/logWindow.py +#: app/logWindow.py:159 msgid "Logs - {}" msgstr "Логи - {}" -#: app/logWindow.py +#: app/logWindow.py:208 msgid "Copy" msgstr "Копировать" -#: app/logWindow.py +#: app/logWindow.py:220 msgid "Show:" msgstr "Показать:" -#: app/music_conf.py +#: app/music_conf.py:133 msgid "Select Background Music - Base" msgstr "Выбрать фоновую музыку - Основа" -#: app/music_conf.py -msgid "This controls the background music used for a map. Expand the dropdown to set tracks for specific test elements." -msgstr "Это задаёт фоновую музыку, используемую на карте. Откройте выпадающий список, чтоб указать треки для отдельных тестовых элементов." +#: app/music_conf.py:134 +msgid "" +"This controls the background music used for a map. Expand the dropdown to" +" set tracks for specific test elements." +msgstr "" +"Это задаёт фоновую музыку, используемую на карте. Откройте выпадающий " +"список, чтоб указать треки для отдельных тестовых элементов." -#: app/music_conf.py -msgid "Add no music to the map at all. Testing Element-specific music may still be added." -msgstr "Не добавлять музыку на карту. Музыка, специфичная для тестовых элементов, всё ещё может быть добавлена." +#: app/music_conf.py:138 +msgid "" +"Add no music to the map at all. Testing Element-specific music may still " +"be added." +msgstr "" +"Не добавлять музыку на карту. Музыка, специфичная для тестовых элементов," +" всё ещё может быть добавлена." -#: app/music_conf.py +#: app/music_conf.py:143 msgid "Propulsion Gel SFX" msgstr "Звуки проталкивающего геля" -#: app/music_conf.py +#: app/music_conf.py:144 msgid "Repulsion Gel SFX" msgstr "Звуки отталкивающего геля" -#: app/music_conf.py +#: app/music_conf.py:145 msgid "Excursion Funnel Music" msgstr "Звуки экскурсионной воронки" -#: app/music_conf.py +#: app/music_conf.py:146 app/music_conf.py:161 msgid "Synced Funnel Music" msgstr "Синхронная музыка воронки" -#: app/music_conf.py +#: app/music_conf.py:153 msgid "Select Excursion Funnel Music" msgstr "Выберите музыку экскурсионной воронки" -#: app/music_conf.py +#: app/music_conf.py:154 msgid "Set the music used while inside Excursion Funnels." msgstr "Задать музыку, используемую внутри экскурсионных воронок." -#: app/music_conf.py +#: app/music_conf.py:157 msgid "Have no music playing when inside funnels." msgstr "Не играть музыку внутри воронок." -#: app/music_conf.py +#: app/music_conf.py:168 msgid "Select Repulsion Gel Music" msgstr "Выбрать музыку отталкивающего геля" -#: app/music_conf.py +#: app/music_conf.py:169 msgid "Select the music played when players jump on Repulsion Gel." -msgstr "Выберите музыку, воспроизводимую, когда игрок прыгает на отталкивающий гель." +msgstr "" +"Выберите музыку, воспроизводимую, когда игрок прыгает на отталкивающий " +"гель." -#: app/music_conf.py +#: app/music_conf.py:172 msgid "Add no music when jumping on Repulsion Gel." msgstr "Не добавлять музыку при прыжке на отталкивающем геле." -#: app/music_conf.py +#: app/music_conf.py:180 msgid "Select Propulsion Gel Music" msgstr "Выберите музыку проталкивающего геля" -#: app/music_conf.py -msgid "Select music played when players have large amounts of horizontal velocity." -msgstr "Выберите музыку, воспроизводимую, когда у игрока высокая горизонтальная скорость." +#: app/music_conf.py:181 +msgid "" +"Select music played when players have large amounts of horizontal " +"velocity." +msgstr "" +"Выберите музыку, воспроизводимую, когда у игрока высокая горизонтальная " +"скорость." -#: app/music_conf.py +#: app/music_conf.py:184 msgid "Add no music while running fast." msgstr "Не добавлять музыку при быстром беге." -#: app/music_conf.py +#: app/music_conf.py:219 msgid "Base: " msgstr "Основа: " -#: app/music_conf.py +#: app/music_conf.py:252 msgid "Funnel:" msgstr "Воронка:" -#: app/music_conf.py +#: app/music_conf.py:253 msgid "Bounce:" msgstr "Отскок:" -#: app/music_conf.py +#: app/music_conf.py:254 msgid "Speed:" msgstr "Скорость:" -#: app/optionWindow.py +#: app/optionWindow.py:46 msgid "" "\n" "Launch Game?" @@ -1157,7 +1331,7 @@ msgstr "" "\n" "Запустить игру?" -#: app/optionWindow.py +#: app/optionWindow.py:48 msgid "" "\n" "Minimise BEE2?" @@ -1165,7 +1339,7 @@ msgstr "" "\n" "Свернуть BEE2?" -#: app/optionWindow.py +#: app/optionWindow.py:49 msgid "" "\n" "Launch Game and minimise BEE2?" @@ -1173,7 +1347,7 @@ msgstr "" "\n" "Запустить игру и свернуть BEE2?" -#: app/optionWindow.py +#: app/optionWindow.py:51 msgid "" "\n" "Quit BEE2?" @@ -1181,7 +1355,7 @@ msgstr "" "\n" "Выйти из BEE2?" -#: app/optionWindow.py +#: app/optionWindow.py:52 msgid "" "\n" "Launch Game and quit BEE2?" @@ -1189,79 +1363,83 @@ msgstr "" "\n" "Запустить игру и выйти из BEE2?" -#: app/optionWindow.py +#: app/optionWindow.py:71 msgid "BEE2 Options" msgstr "Опции BEE2" -#: app/optionWindow.py -msgid "Package cache times have been reset. These will now be extracted during the next export." -msgstr "Время кэша пакетов было сброшено. Теперь они будут извлечены при следующем экспорте." +#: app/optionWindow.py:109 +msgid "" +"Package cache times have been reset. These will now be extracted during " +"the next export." +msgstr "" +"Время кэша пакетов было сброшено. Теперь они будут извлечены при " +"следующем экспорте." -#: app/optionWindow.py +#: app/optionWindow.py:126 msgid "\"Preserve Game Resources\" has been disabled." msgstr "\"Сохранить ресурсы игры\" было отключено." -#: app/optionWindow.py +#: app/optionWindow.py:138 msgid "Packages Reset" msgstr "Сброс пакетов" -#: app/optionWindow.py +#: app/optionWindow.py:219 msgid "General" msgstr "Общее" -#: app/optionWindow.py +#: app/optionWindow.py:225 msgid "Windows" msgstr "Окна" -#: app/optionWindow.py +#: app/optionWindow.py:231 msgid "Development" msgstr "Разработка" -#: app/optionWindow.py app/packageMan.py app/selector_win.py +#: app/optionWindow.py:255 app/packageMan.py:110 app/selector_win.py:699 msgid "OK" msgstr "OK" -#: app/optionWindow.py +#: app/optionWindow.py:286 msgid "After Export:" msgstr "После экспорта:" -#: app/optionWindow.py +#: app/optionWindow.py:303 msgid "Do Nothing" msgstr "Ничего не делать" -#: app/optionWindow.py +#: app/optionWindow.py:309 msgid "Minimise BEE2" msgstr "Свернуть BEE2" -#: app/optionWindow.py +#: app/optionWindow.py:315 msgid "Quit BEE2" msgstr "Закрыть BEE2" -#: app/optionWindow.py +#: app/optionWindow.py:323 msgid "After exports, do nothing and keep the BEE2 in focus." msgstr "После экспортов ничего не делать и удерживать фокус на BEE2." -#: app/optionWindow.py +#: app/optionWindow.py:325 msgid "After exports, minimise to the taskbar/dock." msgstr "После экспорта свернуть в панель задач/док." -#: app/optionWindow.py +#: app/optionWindow.py:326 msgid "After exports, quit the BEE2." msgstr "После экспорта закрыть BEE2." -#: app/optionWindow.py +#: app/optionWindow.py:333 msgid "Launch Game" msgstr "Запустить игру" -#: app/optionWindow.py +#: app/optionWindow.py:334 msgid "After exporting, launch the selected game automatically." msgstr "После экспорта запускать выбранную игру автоматически." -#: app/optionWindow.py +#: app/optionWindow.py:342 app/optionWindow.py:348 msgid "Play Sounds" msgstr "Играть звуки" -#: app/optionWindow.py +#: app/optionWindow.py:353 msgid "" "Pyglet is either not installed or broken.\n" "Sound effects have been disabled." @@ -1269,117 +1447,153 @@ msgstr "" "Pyglet или не установлен или сломан.\n" "Звуковые эффекты будут отключены." -#: app/optionWindow.py +#: app/optionWindow.py:360 msgid "Reset Package Caches" msgstr "Сброс кэша пакетов" -#: app/optionWindow.py +#: app/optionWindow.py:366 msgid "Force re-extracting all package resources." msgstr "Принудительно переизвлечь все ресурсы пакетов." -#: app/optionWindow.py +#: app/optionWindow.py:375 msgid "Keep windows inside screen" msgstr "Держать окна внутри экрана" -#: app/optionWindow.py -msgid "Prevent sub-windows from moving outside the screen borders. If you have multiple monitors, disable this." -msgstr "Не позволять под-окам выходить за пределы экрана. Отключите, если у вас несколько мониторов." +#: app/optionWindow.py:376 +msgid "" +"Prevent sub-windows from moving outside the screen borders. If you have " +"multiple monitors, disable this." +msgstr "" +"Не позволять под-окам выходить за пределы экрана. Отключите, если у вас " +"несколько мониторов." -#: app/optionWindow.py +#: app/optionWindow.py:386 msgid "Keep loading screens on top" msgstr "Удерживать загрузочные экраны поверх" -#: app/optionWindow.py -msgid "Force loading screens to be on top of other windows. Since they don't appear on the taskbar/dock, they can't be brought to the top easily again." -msgstr "Заставлять загрузочные экраны быть поверх других окон. Так как они не появляются на панели задач/доке, их непросто снова переместить наверх." +#: app/optionWindow.py:388 +msgid "" +"Force loading screens to be on top of other windows. Since they don't " +"appear on the taskbar/dock, they can't be brought to the top easily " +"again." +msgstr "" +"Заставлять загрузочные экраны быть поверх других окон. Так как они не " +"появляются на панели задач/доке, их непросто снова переместить наверх." -#: app/optionWindow.py +#: app/optionWindow.py:397 msgid "Reset All Window Positions" msgstr "Сбросить все расположения окон" -#: app/optionWindow.py +#: app/optionWindow.py:411 msgid "Log missing entity counts" msgstr "Логировать количество пропавших сущностей" -#: app/optionWindow.py -msgid "When loading items, log items with missing entity counts in their properties.txt file." -msgstr "При загрузке предметов логировать предметы с количеством пропавших сущностей в их файле properties.txt." +#: app/optionWindow.py:412 +msgid "" +"When loading items, log items with missing entity counts in their " +"properties.txt file." +msgstr "" +"При загрузке предметов логировать предметы с количеством пропавших " +"сущностей в их файле properties.txt." -#: app/optionWindow.py +#: app/optionWindow.py:420 msgid "Log when item doesn't have a style" msgstr "Логировать предметы без стиля" -#: app/optionWindow.py -msgid "Log items have no applicable version for a particular style.This usually means it will look very bad." -msgstr "Логировать предметы, у которых нет версии под определённый стиль. Обычно это означает, что они будут выглядеть очень плохо." +#: app/optionWindow.py:421 +msgid "" +"Log items have no applicable version for a particular style.This usually " +"means it will look very bad." +msgstr "" +"Логировать предметы, у которых нет версии под определённый стиль. Обычно " +"это означает, что они будут выглядеть очень плохо." -#: app/optionWindow.py +#: app/optionWindow.py:429 msgid "Log when item uses parent's style" msgstr "Логировать, когда предмет использует стиль родительского" -#: app/optionWindow.py -msgid "Log when an item reuses a variant from a parent style (1970s using 1950s items, for example). This is usually fine, but may need to be fixed." -msgstr "Логировать, когда предмет переиспользует вариант из родительского стиля (1970-е используют предметы 1950-х, к примеру). Обычно это нормально, но может потребоваться исправление." +#: app/optionWindow.py:430 +msgid "" +"Log when an item reuses a variant from a parent style (1970s using 1950s " +"items, for example). This is usually fine, but may need to be fixed." +msgstr "" +"Логировать, когда предмет переиспользует вариант из родительского стиля " +"(1970-е используют предметы 1950-х, к примеру). Обычно это нормально, но " +"может потребоваться исправление." -#: app/optionWindow.py +#: app/optionWindow.py:439 msgid "Log missing packfile resources" msgstr "Логировать пропущенные ресурсы пакета" -#: app/optionWindow.py -msgid "Log when the resources a \"PackList\" refers to are not present in the zip. This may be fine (in a prerequisite zip), but it often indicates an error." -msgstr "Логировать, когда ресурсы, указанные в \"PackList\", не присутствуют в ZIP-архиве. Это может быть нормально (в ZIP-архиве с зависимостями), но часто указывает на ошибку." +#: app/optionWindow.py:440 +msgid "" +"Log when the resources a \"PackList\" refers to are not present in the " +"zip. This may be fine (in a prerequisite zip), but it often indicates an " +"error." +msgstr "" +"Логировать, когда ресурсы, указанные в \"PackList\", не присутствуют в " +"ZIP-архиве. Это может быть нормально (в ZIP-архиве с зависимостями), но " +"часто указывает на ошибку." -#: app/optionWindow.py +#: app/optionWindow.py:450 msgid "Development Mode" msgstr "Режим разработки" -#: app/optionWindow.py +#: app/optionWindow.py:451 msgid "Enables displaying additional UI specific for development purposes." msgstr "Включает отображение дополнительных элементов интерфейса для разработки." -#: app/optionWindow.py +#: app/optionWindow.py:459 msgid "Preserve Game Directories" msgstr "Сохранять игровые папки" -#: app/optionWindow.py +#: app/optionWindow.py:461 msgid "" "When exporting, do not copy resources to \n" "\"bee2/\" and \"sdk_content/maps/bee2/\".\n" -"Only enable if you're developing new content, to ensure it is not overwritten." +"Only enable if you're developing new content, to ensure it is not " +"overwritten." msgstr "" "При экспорте не копировать ресурсы в \n" "\"bee2/\" и \"sdk_content/maps/bee2/\".\n" -"Включайте только при разработке нового контента, чтобы он гарантировано не был перезаписан." +"Включайте только при разработке нового контента, чтобы он гарантировано " +"не был перезаписан." -#: app/optionWindow.py +#: app/optionWindow.py:472 msgid "Show Log Window" msgstr "Показать окно лога" -#: app/optionWindow.py +#: app/optionWindow.py:474 msgid "Show the log file in real-time." msgstr "Показать файл лога в реальном времени." -#: app/optionWindow.py +#: app/optionWindow.py:481 msgid "Force Editor Models" msgstr "Принудительные модели редактора" -#: app/optionWindow.py -msgid "Make all props_map_editor models available for use. Portal 2 has a limit of 1024 models loaded in memory at once, so we need to disable unused ones to free this up." -msgstr "Сделать все модели props_map_editor доступными для использования. У Portal 2 есть ограничение в 1024 модели в памяти одновременно, поэтому нам нужно отключить неиспользуемые, чтобы его освободить." +#: app/optionWindow.py:482 +msgid "" +"Make all props_map_editor models available for use. Portal 2 has a limit " +"of 1024 models loaded in memory at once, so we need to disable unused " +"ones to free this up." +msgstr "" +"Сделать все модели props_map_editor доступными для использования. У " +"Portal 2 есть ограничение в 1024 модели в памяти одновременно, поэтому " +"нам нужно отключить неиспользуемые, чтобы его освободить." -#: app/optionWindow.py +#: app/optionWindow.py:493 msgid "Dump All objects" msgstr "Дамп всех объектов" -#: app/optionWindow.py +#: app/optionWindow.py:499 msgid "Dump Items list" msgstr "Дамп списка предметов" -#: app/packageMan.py +#: app/packageMan.py:64 msgid "BEE2 - Restart Required!" msgstr "BEE2 - Требуется перезапуск!" -#: app/packageMan.py +#: app/packageMan.py:65 msgid "" "Changing enabled packages requires a restart.\n" "Continue?" @@ -1387,182 +1601,174 @@ msgstr "" "Изменение включённых пакетов требует перезапуска.\n" "Продолжить?" -#: app/packageMan.py +#: app/packageMan.py:88 msgid "BEE2 - Manage Packages" msgstr "BEE2 - Управление пакетами" -#. i18n: Last exported items -#: app/paletteLoader.py +#: app/paletteLoader.py:25 msgid "" msgstr "<Последний экспорт>" -#. i18n: Empty palette name -#: app/paletteLoader.py +#: app/paletteLoader.py:27 msgid "Blank" msgstr "Пустая" -#. i18n: BEEmod 1 palette. -#: app/paletteLoader.py +#: app/paletteLoader.py:30 msgid "BEEMod" msgstr "BEEMod" -#. i18n: Default items merged together -#: app/paletteLoader.py +#: app/paletteLoader.py:32 msgid "Portal 2 Collapsed" msgstr "Portal 2 (сжатая)" -#: app/richTextBox.py +#: app/richTextBox.py:176 msgid "Open \"{}\" in the default browser?" msgstr "Открыть \"{}\" в стандартном браузере?" -#. i18n: 'None' item description -#: app/selector_win.py +#: app/selector_win.py:401 msgid "Do not add anything." msgstr "Ничего не добавлять." -#: app/selector_win.py +#: app/selector_win.py:405 msgid "" msgstr "<Нет>" -#: app/selector_win.py +#: app/selector_win.py:583 app/selector_win.py:588 msgid "Suggested" msgstr "Предложенные" -#: app/selector_win.py +#: app/selector_win.py:636 msgid "Play a sample of this item." msgstr "Воспроизвести пример этого предмета." -#: app/selector_win.py +#: app/selector_win.py:710 msgid "Reset to Default" msgstr "Сброс к умолчаниям" -#: app/selector_win.py +#: app/selector_win.py:884 msgid "Other" msgstr "Другие" -#: app/selector_win.py +#: app/selector_win.py:1096 msgid "Author: {}" msgid_plural "Authors: {}" msgstr[0] "Автор: {}" msgstr[1] "Авторы: {}" msgstr[2] "Авторы: {}" -#: app/selector_win.py +#: app/selector_win.py:1163 msgid "Color: R={r}, G={g}, B={b}" msgstr "Цвет: R={r}, G={g}, B={b}" -#: app/signage_ui.py +#: app/signage_ui.py:135 app/signage_ui.py:259 msgid "Configure Signage" msgstr "Настроить знаки" -#: app/signage_ui.py +#: app/signage_ui.py:139 msgid "Selected" msgstr "Выбрано" -#: app/signage_ui.py +#: app/signage_ui.py:203 msgid "Signage: {}" msgstr "Знаки: {}" -#: app/tagsPane.py -msgid "Tags" -msgstr "Теги" - -#: app/tagsPane.py -msgid "Authors" -msgstr "Авторы" - -#: app/tagsPane.py -msgid "Any" -msgstr "Любой из" - -#: app/tagsPane.py -msgid "All" -msgstr "Все" - -#: app/tagsPane.py -msgid "Available Tags (click):" -msgstr "Доступные теги (клик):" - -#: app/voiceEditor.py +#: app/voiceEditor.py:33 msgid "Singleplayer" msgstr "Один игрок" -#: app/voiceEditor.py +#: app/voiceEditor.py:34 msgid "Cooperative" msgstr "Кооператив" -#: app/voiceEditor.py +#: app/voiceEditor.py:35 msgid "ATLAS (SP/Coop)" msgstr "Атлас (один игрок/кооп)" -#: app/voiceEditor.py +#: app/voiceEditor.py:36 msgid "P-Body (SP/Coop)" msgstr "Пи-боди (один игрок/кооп)" -#: app/voiceEditor.py +#: app/voiceEditor.py:39 msgid "Human characters (Bendy and Chell)" msgstr "Люди (Бенди и Челл)" -#: app/voiceEditor.py +#: app/voiceEditor.py:40 msgid "AI characters (ATLAS, P-Body, or Coop)" msgstr "ИИ-персонажи (Атлас, Пи-боди, или кооп)" -#: app/voiceEditor.py +#: app/voiceEditor.py:51 msgid "Death - Toxic Goo" msgstr "Смерть - Едкая жижа" -#: app/voiceEditor.py +#: app/voiceEditor.py:52 msgid "Death - Turrets" msgstr "Смерть - Турели" -#: app/voiceEditor.py +#: app/voiceEditor.py:53 msgid "Death - Crusher" msgstr "Смерть - Пресс" -#: app/voiceEditor.py +#: app/voiceEditor.py:54 msgid "Death - LaserField" msgstr "Смерть - Лазерное поле" -#: app/voiceEditor.py +#: app/voiceEditor.py:105 msgid "Transcript:" msgstr "Транскрипт:" -#: app/voiceEditor.py +#: app/voiceEditor.py:144 msgid "Save" msgstr "Сохранить" -#: app/voiceEditor.py +#: app/voiceEditor.py:219 msgid "Resp" msgstr "Ответ" -#: app/voiceEditor.py +#: app/voiceEditor.py:236 msgid "BEE2 - Configure \"{}\"" msgstr "BEE2 - Настроить \"{}\"" -#: app/voiceEditor.py +#: app/voiceEditor.py:313 msgid "Mid - Chamber" msgstr "Середина камеры" -#: app/voiceEditor.py -msgid "Lines played during the actual chamber, after specific events have occurred." +#: app/voiceEditor.py:315 +msgid "" +"Lines played during the actual chamber, after specific events have " +"occurred." msgstr "Реплики в самой камере после определённых событий." -#: app/voiceEditor.py +#: app/voiceEditor.py:321 msgid "Responses" msgstr "Ответы" -#: app/voiceEditor.py +#: app/voiceEditor.py:323 msgid "Lines played in response to certain events in Coop." msgstr "Реплики, которые играют в ответ на определённые действия в коопе." -#: app/voiceEditor.py +#: app/voiceEditor.py:421 msgid "No Name!" msgstr "Нет имени!" -#: app/voiceEditor.py +#: app/voiceEditor.py:456 msgid "No Name?" msgstr "Нет имени?" -#: app/CompilerPane.py -msgid "Coop Exit:" -msgstr "Выход коопа:" +#~ msgid "Coop:" +#~ msgstr "Кооп:" + +#~ msgid "Tags" +#~ msgstr "Теги" + +#~ msgid "Authors" +#~ msgstr "Авторы" + +#~ msgid "Any" +#~ msgstr "Любой из" + +#~ msgid "All" +#~ msgstr "Все" + +#~ msgid "Available Tags (click):" +#~ msgstr "Доступные теги (клик):" + diff --git a/i18n/zh.po b/i18n/zh.po index 8d97ea014..15415adf7 100644 --- a/i18n/zh.po +++ b/i18n/zh.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: https://github.com/BEEmod/BEE2.4/issues\n" -"POT-Creation-Date: 2021-02-21 11:21+1000\n" +"POT-Creation-Date: 2021-02-22 14:22+1000\n" "PO-Revision-Date: 2019-11-22 10:47+1000\n" "Last-Translator: Antecer \n" "Language: zh\n" @@ -116,7 +116,7 @@ msgid "" " change." msgstr "随机选择一个走廊,被随机选中的走廊将保存在地图编辑器中且不会再次变更。" -#: app/CompilerPane.py:320 app/UI.py:626 +#: app/CompilerPane.py:320 app/UI.py:632 msgid "Random" msgstr "随机" @@ -473,30 +473,30 @@ msgstr "隐藏/显示 \"{}\" 窗口。" msgid "Export..." msgstr "导出到..." -#: app/UI.py:560 +#: app/UI.py:566 msgid "Select Skyboxes" msgstr "选择天空布景" -#: app/UI.py:561 +#: app/UI.py:567 msgid "" "The skybox decides what the area outside the chamber is like. It chooses " "the colour of sky (seen in some items), the style of bottomless pit (if " "present), as well as color of \"fog\" (seen in larger chambers)." msgstr "天空布景决定了实验室外部空间的样子。它选择天空的颜色(在某些项目中可见),底板悬空的风格(如果存在)以及“雾”的颜色(在较大的实验室可见)。" -#: app/UI.py:569 +#: app/UI.py:575 msgid "3D Skybox" msgstr "3D天空布景" -#: app/UI.py:570 +#: app/UI.py:576 msgid "Fog Color" msgstr "迷雾颜色" -#: app/UI.py:577 +#: app/UI.py:583 msgid "Select Additional Voice Lines" msgstr "选择其它语音声线" -#: app/UI.py:578 +#: app/UI.py:584 msgid "" "Voice lines choose which extra voices play as the player enters or exits " "a chamber. They are chosen based on which items are present in the map. " @@ -507,31 +507,31 @@ msgstr "" "它们会根据地图中存在哪些物品来选择播放哪一段语音。\n" "附加的“Cave谈论平行宇宙”的语音在“风格属性”中单独控制。" -#: app/UI.py:583 +#: app/UI.py:589 msgid "Add no extra voice lines, only Multiverse Cave if enabled." msgstr "不添加额外的声线,仅使用Cave关于多元宇宙的谈话。(如果它被勾选)" -#: app/UI.py:585 +#: app/UI.py:591 msgid "" msgstr "<仅使用平行宇宙的凯文>" -#: app/UI.py:589 +#: app/UI.py:595 msgid "Characters" msgstr "角色" -#: app/UI.py:590 +#: app/UI.py:596 msgid "Turret Shoot Monitor" msgstr "炮塔会射击显示器" -#: app/UI.py:591 +#: app/UI.py:597 msgid "Monitor Visuals" msgstr "显示器视觉效果" -#: app/UI.py:598 +#: app/UI.py:604 msgid "Select Style" msgstr "选择风格" -#: app/UI.py:599 +#: app/UI.py:605 msgid "" "The Style controls many aspects of the map. It decides the materials used" " for walls, the appearance of entrances and exits, the design for most " @@ -540,15 +540,15 @@ msgid "" "The style broadly defines the time period a chamber is set in." msgstr "地图的风格决定了墙壁的材质,出入口的外观,大多数物品的外观以及其它设置。" -#: app/UI.py:610 +#: app/UI.py:616 msgid "Elevator Videos" msgstr "电梯间墙壁上播放的影像" -#: app/UI.py:617 +#: app/UI.py:623 msgid "Select Elevator Video" msgstr "选择电梯间播放的影响" -#: app/UI.py:618 +#: app/UI.py:624 msgid "" "Set the video played on the video screens in modern Aperture elevator " "rooms. Not all styles feature these. If set to \"None\", a random video " @@ -557,23 +557,23 @@ msgstr "" "设置现代光圈科技电梯间墙壁上播放的影像,并非所有风格都有这个影像。\n" "如果设置为无,将在每次载入地图时随机选择影像,就像默认编辑器里的一样。" -#: app/UI.py:622 +#: app/UI.py:628 msgid "This style does not have a elevator video screen." msgstr "这种风格的电梯间没有影像屏幕。" -#: app/UI.py:627 +#: app/UI.py:633 msgid "Choose a random video." msgstr "随机选择一个影像。" -#: app/UI.py:631 +#: app/UI.py:637 msgid "Multiple Orientations" msgstr "多种方向" -#: app/UI.py:859 +#: app/UI.py:865 msgid "Selected Items and Style successfully exported!" msgstr "所选物品和风格已成功导出!" -#: app/UI.py:861 +#: app/UI.py:867 msgid "" "\n" "\n" @@ -584,145 +584,145 @@ msgstr "" "\n" "警告:VPK文件未导出,退出 Portal 2 和 Hammer 以应用地图编辑器的物品栏更改。" -#: app/UI.py:1093 +#: app/UI.py:1099 msgid "Delete Palette \"{}\"" msgstr "删除模板 \"{}\"" -#: app/UI.py:1176 +#: app/UI.py:1182 msgid "BEE2 - Save Palette" msgstr "BEE2 - 保存模板" -#: app/UI.py:1177 +#: app/UI.py:1183 msgid "Enter a name:" msgstr "键入模板名称:" -#: app/UI.py:1186 +#: app/UI.py:1192 msgid "This palette already exists. Overwrite?" msgstr "已经存在同名模板,是否覆盖?" -#: app/UI.py:1218 app/gameMan.py:1340 +#: app/UI.py:1224 app/gameMan.py:1340 msgid "Are you sure you want to delete \"{}\"?" msgstr "你确定要删除 \"{}\" 吗?" -#: app/UI.py:1246 +#: app/UI.py:1252 msgid "Clear Palette" msgstr "清空模板内容" -#: app/UI.py:1282 app/UI.py:1716 +#: app/UI.py:1288 app/UI.py:1722 msgid "Delete Palette" msgstr "删除选中模板" -#: app/UI.py:1302 +#: app/UI.py:1308 msgid "Save Palette..." msgstr "保存模板..." -#: app/UI.py:1307 app/UI.py:1739 +#: app/UI.py:1313 app/UI.py:1745 msgid "Save Palette As..." msgstr "另存为模板..." -#: app/UI.py:1318 app/UI.py:1727 +#: app/UI.py:1324 app/UI.py:1733 msgid "Save Settings in Palettes" msgstr "在模板中保存配置" -#: app/UI.py:1336 app/music_conf.py:205 +#: app/UI.py:1342 app/music_conf.py:205 msgid "Music: " msgstr "音乐选择:" -#: app/UI.py:1362 +#: app/UI.py:1368 msgid "{arr} Use Suggested {arr}" msgstr "{arr} 使用推荐配置 {arr}" -#: app/UI.py:1378 +#: app/UI.py:1384 msgid "Style: " msgstr "物品风格" -#: app/UI.py:1380 +#: app/UI.py:1386 msgid "Voice: " msgstr "旁白语音" -#: app/UI.py:1381 +#: app/UI.py:1387 msgid "Skybox: " msgstr "天空布景" -#: app/UI.py:1382 +#: app/UI.py:1388 msgid "Elev Vid: " msgstr "电梯视频" -#: app/UI.py:1400 +#: app/UI.py:1406 msgid "" "Enable or disable particular voice lines, to prevent them from being " "added." msgstr "启用或禁用特定的台词,以防止添加它们。" -#: app/UI.py:1503 +#: app/UI.py:1509 msgid "All Items: " msgstr "所有物品:" -#: app/UI.py:1635 +#: app/UI.py:1641 msgid "Export to \"{}\"..." msgstr "导出到 \"{}\"..." -#: app/UI.py:1663 app/backup.py:872 +#: app/UI.py:1669 app/backup.py:872 msgid "File" msgstr "文件" -#: app/UI.py:1670 +#: app/UI.py:1676 msgid "Export" msgstr "导出" -#: app/UI.py:1677 app/backup.py:876 +#: app/UI.py:1683 app/backup.py:876 msgid "Add Game" msgstr "添加游戏" -#: app/UI.py:1681 +#: app/UI.py:1687 msgid "Uninstall from Selected Game" msgstr "删除选中的游戏" -#: app/UI.py:1685 +#: app/UI.py:1691 msgid "Backup/Restore Puzzles..." msgstr "备份/恢复 谜题..." -#: app/UI.py:1689 +#: app/UI.py:1695 msgid "Manage Packages..." msgstr "管理资源包..." -#: app/UI.py:1694 +#: app/UI.py:1700 msgid "Options" msgstr "设置" -#: app/UI.py:1699 app/gameMan.py:1088 +#: app/UI.py:1705 app/gameMan.py:1088 msgid "Quit" msgstr "退出" -#: app/UI.py:1709 +#: app/UI.py:1715 msgid "Palette" msgstr "模板" -#: app/UI.py:1711 +#: app/UI.py:1717 msgid "Clear" msgstr "清空模板" -#: app/UI.py:1720 +#: app/UI.py:1726 msgid "Fill Palette" msgstr "重置模板" -#: app/UI.py:1734 +#: app/UI.py:1740 msgid "Save Palette" msgstr "保存模板" -#: app/UI.py:1749 +#: app/UI.py:1755 msgid "View" msgstr "" -#: app/UI.py:1863 +#: app/UI.py:1869 msgid "Palettes" msgstr "模板列表" -#: app/UI.py:1888 +#: app/UI.py:1894 msgid "Export Options" msgstr "导出设置" -#: app/UI.py:1920 +#: app/UI.py:1926 msgid "Fill empty spots in the palette with random items." msgstr "随机选择物品填充物品栏中的空位。" @@ -1153,7 +1153,7 @@ msgstr "" msgid "No Properties available!" msgstr "没有可用的属性!" -#: app/item_search.py:52 +#: app/item_search.py:59 msgid "Search:" msgstr "" From 4c407d232d10620d38eb96c0518d1ba44d38e1dc Mon Sep 17 00:00:00 2001 From: TeamSpen210 Date: Mon, 22 Feb 2021 18:42:09 +1000 Subject: [PATCH 11/19] Tweak build to allow 32/64 bit builds --- README.md | 4 ++-- src/BEE2.spec | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ebea97ee6..2ace3994f 100644 --- a/README.md +++ b/README.md @@ -62,11 +62,11 @@ Switch to the srctools repo, and install the package: Finally, switch to the BEE2.4 repo and build the compiler, then the application: cd BEE2.4/src/ - pyinstaller --distpath ../dist/ --workpath ../build_tmp BEE2.spec + pyinstaller --distpath ../dist/64bit/ --workpath ../build_tmp BEE2.spec pyinstaller --distpath ../dist/BEE2/ --workpath ../build_tmp compiler.spec The built application is found in `BEE2.4/dist/BEE2/`. -Copy `BEE2.4/dist/compiler/` into this folder as well. +Copy `BEE2.4/dist/64/compiler/` into this folder as well. To generate the packages zips, either manually zip the contents of each folder or use the `compile_packages` script in BEE2-items. This does the same thing, but additionally removes some unnessary content diff --git a/src/BEE2.spec b/src/BEE2.spec index 7379b3e8c..36f93ec88 100644 --- a/src/BEE2.spec +++ b/src/BEE2.spec @@ -170,8 +170,9 @@ for snd in os.listdir('../sounds/'): continue data_files.append(('../sounds/' + snd, 'sounds')) -# Include the compiler. -data_files.append(('../compiler/', 'compiler')) +# Include the compiler, picking the right architecture. +bitness = 64 if sys.maxsize > (2**33) else 32 +data_files.append((f'../dist/{bitness}bit/compiler/', 'compiler')) # Finally, run the PyInstaller analysis process. From a24f47e9caf350192d9fd3301a28205daa040a24 Mon Sep 17 00:00:00 2001 From: TeamSpen210 Date: Mon, 22 Feb 2021 18:45:46 +1000 Subject: [PATCH 12/19] Make words before last in search not prefix match --- src/app/item_search.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/app/item_search.py b/src/app/item_search.py index cc9652328..a700c18bc 100644 --- a/src/app/item_search.py +++ b/src/app/item_search.py @@ -26,16 +26,23 @@ def init(frm: tk.Frame, refresh_cback: Callable[[Optional[Set[Tuple[str, int]]]] def on_type(*args): """Re-search whenever text is typed.""" - text = search_var.get() + text = search_var.get().casefold() words = text.split() if not words: refresh_cback(None) return found: Set[Tuple[str, int]] = set() + *words, last = words for word in words: - for name in database.iterkeys(word): - found |= word_to_ids[name] + try: + found |= word_to_ids[word] + except KeyError: + pass + if last: + for match in database.iterkeys(last): + found |= word_to_ids[match] + # Calling the callback deselects us, so save and restore. insert = searchbar.index('insert') refresh_cback(found) From d54edf4ed2cd7f2fd40318c0a01c9ca4f847f7c0 Mon Sep 17 00:00:00 2001 From: Thedoczek <69758777+Thedoczek@users.noreply.github.com> Date: Mon, 22 Feb 2021 21:42:28 +0100 Subject: [PATCH 13/19] Add files via upload --- i18n/pl.po | 1200 +++++++++++++++++++++------------------------------- 1 file changed, 494 insertions(+), 706 deletions(-) diff --git a/i18n/pl.po b/i18n/pl.po index 1a2126e0f..672f03d77 100644 --- a/i18n/pl.po +++ b/i18n/pl.po @@ -1,829 +1,697 @@ - msgid "" msgstr "" -"Project-Id-Version: BEE2 mod translations\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-02-22 14:22+1000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language: pl\n" -"Language-Team: pl \n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && " -"(n%100<10 || n%100>=20) ? 1 : 2)\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.0\n" +"X-Generator: Poedit 2.4.2\n" +"Project-Id-Version: BEE2 mod translations\n" +"Language: pl\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" -#: loadScreen.py:199 +#: loadScreen.py msgid "Skipped!" msgstr "Pominięto!" -#: loadScreen.py:200 +#: loadScreen.py msgid "Version: " msgstr "Wersja: " -#: app/optionWindow.py:260 app/packageMan.py:116 app/selector_win.py:721 -#: loadScreen.py:201 +#: app/optionWindow.py app/packageMan.py app/selector_win.py loadScreen.py msgid "Cancel" msgstr "Anuluj" -#: loadScreen.py:211 +#: app/tagsPane.py loadScreen.py msgid "Packages" msgstr "Paczki" -#: loadScreen.py:212 +#: loadScreen.py msgid "Loading Objects" msgstr "Ładowanie obiektów" -#: loadScreen.py:213 +#: loadScreen.py msgid "Loading Images" msgstr "Ładowanie obrazów" -#: loadScreen.py:214 +#: loadScreen.py msgid "Initialising UI" msgstr "Inicjacja interfejsu" -#: loadScreen.py:215 +#: loadScreen.py msgid "Better Extended Editor for Portal 2" msgstr "Lepiej Rozwinięty Edytor map dla Portal 2" -#: utils.py:892 +#: utils.py msgid "__LANG_USE_SANS_SERIF__" msgstr "__LANG_USE_SANS_SERIF__" -#: app/CheckDetails.py:219 +#: app/CheckDetails.py msgid "Toggle all checkboxes." msgstr "Zaznacz wszystko." -#: app/CompilerPane.py:64 +#: app/CompilerPane.py msgid "ATLAS" msgstr "ATLAS" -#: app/CompilerPane.py:65 +#: app/CompilerPane.py msgid "P-Body" msgstr "P-Body" -#: app/CompilerPane.py:66 app/voiceEditor.py:38 +#: app/CompilerPane.py app/voiceEditor.py msgid "Chell" msgstr "Chell" -#: app/CompilerPane.py:67 app/voiceEditor.py:37 +#: app/CompilerPane.py app/voiceEditor.py msgid "Bendy" msgstr "Bendy" -#: app/CompilerPane.py:120 -msgid "" -"Brushes form the walls or other parts of the test chamber. If this is " -"high, it may help to reduce the size of the map or remove intricate " -"shapes." -msgstr "" -"Pędzle tworzą ściany i inne części komory. Jeżeli ta wartość jest wysoka," -" pomóc może zmniejszenie rozmiaru mapy lub usunięcie zawiłych kształtów." +#: app/CompilerPane.py +msgid "Brushes form the walls or other parts of the test chamber. If this is high, it may help to reduce the size of the map or remove intricate shapes." +msgstr "Pędzle tworzą ściany i inne części komory. Jeżeli ta wartość jest wysoka, pomóc może zmniejszenie rozmiaru mapy lub usunięcie zawiłych kształtów." -#: app/CompilerPane.py:127 +#: app/CompilerPane.py msgid "" -"Entities are the things in the map that have functionality. Removing " -"complex moving items will help reduce this. Items have their entity count" -" listed in the item description window.\n" +"Entities are the things in the map that have functionality. Removing complex moving items will help reduce this. Items have their entity count listed in the item description window.\n" "\n" -"This isn't completely accurate, some entity types are counted here but " -"don't affect the ingame limit, while others may generate additional " -"entities at runtime." +"This isn't completely accurate, some entity types are counted here but don't affect the ingame limit, while others may generate additional entities at runtime." msgstr "" -"Jednostki to elementy mapy, które posiadają funkcję. Usunięcie dużych " -"grup ruchomych i interaktywnych elementów zmniejszy tą wartość. " -"Przedmioty mają swoją wartość jednostki w oknie opisu.\n" +"Jednostki to elementy mapy, które posiadają funkcję. Usunięcie dużych grup ruchomych i interaktywnych elementów zmniejszy tą wartość. Przedmioty mają swoją wartość jednostki w oknie opisu.\n" "\n" -"Wartość ta nie jest w pełni dokładna, niektóre typy jednostek są tu " -"wliczane, ale nie wpływają na limit w grze, a inne mogą generować " -"dodatkowe, niepokazane tu wartości." +"Wartość ta nie jest w pełni dokładna, niektóre typy jednostek są tu wliczane, ale nie wpływają na limit w grze, a inne mogą generować dodatkowe, niepokazane tu wartości." -#: app/CompilerPane.py:137 -msgid "" -"Overlays are smaller images affixed to surfaces, like signs or indicator " -"lights. Hiding complex antlines or setting them to signage will reduce " -"this." -msgstr "" -"Nakładki to mniejsze obrazki naklejone na powierchnie, jak znaki albo " -"znaczniki świetlne. Ukrycie skomplikowanych znaczników lub wymiana ich na" -" znaki zmniejszy tą wartość." +#: app/CompilerPane.py +msgid "Overlays are smaller images affixed to surfaces, like signs or indicator lights. Hiding complex antlines or setting them to signage will reduce this." +msgstr "Nakładki to mniejsze obrazki naklejone na powierchnie, jak znaki albo znaczniki świetlne. Ukrycie skomplikowanych znaczników lub wymiana ich na znaki zmniejszy tą wartość." -#: app/CompilerPane.py:273 +#: app/CompilerPane.py msgid "Corridor" msgstr "Korytarz" -#: app/CompilerPane.py:314 -msgid "" -"Randomly choose a corridor. This is saved in the puzzle data and will not" -" change." -msgstr "" -"Losowo wybiera korytarz. Raz wybrany jest zapisywany w danych mapy i się " -"nie zmieni." +#: app/CompilerPane.py +msgid "Randomly choose a corridor. This is saved in the puzzle data and will not change." +msgstr "Losowo wybiera korytarz. Raz wybrany jest zapisywany w danych mapy i się nie zmieni." -#: app/CompilerPane.py:320 app/UI.py:632 +#: app/CompilerPane.py app/UI.py msgid "Random" msgstr "Losowo" -#: app/CompilerPane.py:419 +#: app/CompilerPane.py msgid "Image Files" msgstr "Pliki obrazów" -#: app/CompilerPane.py:502 +#: app/CompilerPane.py msgid "" "Options on this panel can be changed \n" "without exporting or restarting the game." -msgstr "" -"Opcje w tym panelu mogą być zmieniane bez eksportowania lub restartowania" -" gry." +msgstr "Opcje w tym panelu mogą być zmieniane bez eksportowania lub restartowania gry." -#: app/CompilerPane.py:517 +#: app/CompilerPane.py msgid "Map Settings" msgstr "Ustawienia mapy" -#: app/CompilerPane.py:522 +#: app/CompilerPane.py msgid "Compile Settings" msgstr "Ustawienia kompilatora" -#: app/CompilerPane.py:536 +#: app/CompilerPane.py msgid "Thumbnail" msgstr "Miniaturka" -#: app/CompilerPane.py:544 +#: app/CompilerPane.py msgid "Auto" msgstr "Automatycznie" -#: app/CompilerPane.py:552 +#: app/CompilerPane.py msgid "PeTI" msgstr "Ustawiczna Inicjatywa Testowania" -#: app/CompilerPane.py:560 +#: app/CompilerPane.py msgid "Custom:" msgstr "Własny:" -#: app/CompilerPane.py:578 +#: app/CompilerPane.py msgid "Cleanup old screenshots" msgstr "Wyczyść stare zrzuty ekranu" -#: app/CompilerPane.py:588 -msgid "" -"Override the map image to use a screenshot automatically taken from the " -"beginning of a chamber. Press F5 to take a new screenshot. If the map has" -" not been previewed recently (within the last few hours), the default " -"PeTI screenshot will be used instead." -msgstr "" -"Zastępuje domyślny obrazek mapy zrzutem ekranu zrobionym automatycznie na" -" początku komory. Naciśnij F5, aby zrobić nowy zrzut. Jeśli podgląd mapy " -"nie był wykonywany w ciągu ostatnich kilku godzin, domyślny obrazek " -"zostanie użyty w zamian." +#: app/CompilerPane.py +msgid "Override the map image to use a screenshot automatically taken from the beginning of a chamber. Press F5 to take a new screenshot. If the map has not been previewed recently (within the last few hours), the default PeTI screenshot will be used instead." +msgstr "Zastępuje domyślny obrazek mapy zrzutem ekranu zrobionym automatycznie na początku komory. Naciśnij F5, aby zrobić nowy zrzut. Jeśli podgląd mapy nie był wykonywany w ciągu ostatnich kilku godzin, domyślny obrazek zostanie użyty w zamian." -#: app/CompilerPane.py:596 +#: app/CompilerPane.py msgid "Use the normal editor view for the map preview image." msgstr "Użyj normalnego widoku z edytora jako podgląd mapy" -#: app/CompilerPane.py:598 +#: app/CompilerPane.py msgid "" -"Use a custom image for the map preview image. Click the screenshot to " -"select.\n" +"Use a custom image for the map preview image. Click the screenshot to select.\n" "Images will be converted to JPEGs if needed." msgstr "" -"Użyj własnego obrazka do podglądu mapy. Kliknij na zrzut ekranu, aby " -"wybrać.\n" +"Użyj własnego obrazka do podglądu mapy. Kliknij na zrzut ekranu, aby wybrać.\n" "Obrazki będą w razie potrzeby konwertowane do formatu JPEG." -#: app/CompilerPane.py:615 -msgid "" -"Automatically delete unused Automatic screenshots. Disable if you want to" -" keep things in \"portal2/screenshots\". " -msgstr "" -"Automatycznie usuwa niepotrzebne zrzuty ekranu zrobione automatycznie. " -"Wyłącz, jeżeli chcesz je przechowywać w folderze \"portal2/screenshots\"." -" " +#: app/CompilerPane.py +msgid "Automatically delete unused Automatic screenshots. Disable if you want to keep things in \"portal2/screenshots\". " +msgstr "Automatycznie usuwa niepotrzebne zrzuty ekranu zrobione automatycznie. Wyłącz, jeżeli chcesz je przechowywać w folderze \"portal2/screenshots\". " -#: app/CompilerPane.py:626 +#: app/CompilerPane.py msgid "Lighting:" msgstr "Oświetlenie:" -#: app/CompilerPane.py:633 +#: app/CompilerPane.py msgid "Fast" msgstr "Szybkie" -#: app/CompilerPane.py:640 +#: app/CompilerPane.py msgid "Full" msgstr "Pełne" -#: app/CompilerPane.py:648 +#: app/CompilerPane.py msgid "" -"Compile with lower-quality, fast lighting. This speeds up compile times, " -"but does not appear as good. Some shadows may appear wrong.\n" +"Compile with lower-quality, fast lighting. This speeds up compile times, but does not appear as good. Some shadows may appear wrong.\n" "When publishing, this is ignored." msgstr "" -"Kompiluje z szybkim oświetleniem gorszej jakości. Przyspiesza ładowanie, " -"ale nie wygląda tak dobrze. Niektóre cienie mogą wyglądać źle.\n" +"Kompiluje z szybkim oświetleniem gorszej jakości. Przyspiesza ładowanie, ale nie wygląda tak dobrze. Niektóre cienie mogą wyglądać źle.\n" "Używanie tylko w podglądzie mapy w edytorze." -#: app/CompilerPane.py:655 +#: app/CompilerPane.py msgid "" -"Compile with high-quality lighting. This looks correct, but takes longer " -"to compute. Use if you're arranging lights.\n" +"Compile with high-quality lighting. This looks correct, but takes longer to compute. Use if you're arranging lights.\n" "When publishing, this is always used." msgstr "" -"Kompiluje z oświetleniem wysokiej jakości. Wygląda poprawnie, ale " -"obliczanie jest dłuższe. Używaj jeżeli aranżujesz oświetlenie.\n" +"Kompiluje z oświetleniem wysokiej jakości. Wygląda poprawnie, ale obliczanie jest dłuższe. Używaj jeżeli aranżujesz oświetlenie.\n" "Zawsze używane podczas publikowania mapy." -#: app/CompilerPane.py:662 +#: app/CompilerPane.py msgid "Dump packed files to:" msgstr "Zachowuj zapakowane pliki w:" -#: app/CompilerPane.py:687 -msgid "" -"When compiling, dump all files which were packed into the map. Useful if " -"you're intending to edit maps in Hammer." -msgstr "" -"Podczas kompilacji, zapisuje wszystkie zapakowane pliki do pliku mapy. " -"Użyteczne, jeżeli zamierzać modyfikować mapy w edytorze Hammer." +#: app/CompilerPane.py +msgid "When compiling, dump all files which were packed into the map. Useful if you're intending to edit maps in Hammer." +msgstr "Podczas kompilacji, zapisuje wszystkie zapakowane pliki do pliku mapy. Użyteczne, jeżeli zamierzać modyfikować mapy w edytorze Hammer." -#: app/CompilerPane.py:693 +#: app/CompilerPane.py msgid "Last Compile:" msgstr "Ostatnia kompilacja:" -#: app/CompilerPane.py:703 +#: app/CompilerPane.py msgid "Entity" msgstr "Jednostki" -#: app/CompilerPane.py:723 +#: app/CompilerPane.py msgid "Overlay" msgstr "Nakładki" -#: app/CompilerPane.py:742 -msgid "" -"Refresh the compile progress bars. Press after a compile has been " -"performed to show the new values." -msgstr "" -"Odśwież statystyki kompilacji. Naciśnij po wykonaniu nowej kompilacji, " -"aby pokazać zaktualizowane wartości." +#: app/CompilerPane.py +msgid "Refresh the compile progress bars. Press after a compile has been performed to show the new values." +msgstr "Odśwież statystyki kompilacji. Naciśnij po wykonaniu nowej kompilacji, aby pokazać zaktualizowane wartości." -#: app/CompilerPane.py:748 +#: app/CompilerPane.py msgid "Brush" msgstr "Pędzel" -#: app/CompilerPane.py:776 +#: app/CompilerPane.py msgid "Voicelines:" msgstr "Ścieżki głosowe:" -#: app/CompilerPane.py:783 +#: app/CompilerPane.py msgid "Use voiceline priorities" msgstr "Używaj priorytetowych ścieżek głosowych" -#: app/CompilerPane.py:789 -msgid "" -"Only choose the highest-priority voicelines. This means more generic " -"lines will can only be chosen if few test elements are in the map. If " -"disabled any applicable lines will be used." -msgstr "" -"Wybiera tylko najważniejsze ścieżki głosowe. Oznacza to, że bardziej " -"szczegółowe ścieżki pojawią się tylko, gdy większa liczba elementów " -"testowych pojawia się na mapie. Jeśli wyłączone, wszystkie odpowiednie " -"ścieżki będą użyte." +#: app/CompilerPane.py +msgid "Only choose the highest-priority voicelines. This means more generic lines will can only be chosen if few test elements are in the map. If disabled any applicable lines will be used." +msgstr "Wybiera tylko najważniejsze ścieżki głosowe. Oznacza to, że bardziej szczegółowe ścieżki pojawią się tylko, gdy większa liczba elementów testowych pojawia się na mapie. Jeśli wyłączone, wszystkie odpowiednie ścieżki będą użyte." -#: app/CompilerPane.py:796 +#: app/CompilerPane.py msgid "Spawn at:" msgstr "Spawn:" -#: app/CompilerPane.py:807 +#: app/CompilerPane.py msgid "Entry Door" msgstr "przy drzwiach wejściowych" -#: app/CompilerPane.py:814 +#: app/CompilerPane.py msgid "Elevator" msgstr "w windzie" -#: app/CompilerPane.py:824 -msgid "" -"When previewing in SP, spawn inside the entry elevator. Use this to " -"examine the entry and exit corridors." -msgstr "" -"Podczas podglądu w grze jednoosobowej, spawn nastąpi w wejściowej " -"windzie. Używaj, jeśli chcesz przetestować wejściowe i wyjściowe " -"korytarze." +#: app/CompilerPane.py +msgid "When previewing in SP, spawn inside the entry elevator. Use this to examine the entry and exit corridors." +msgstr "Podczas podglądu w grze jednoosobowej, spawn nastąpi w wejściowej windzie. Używaj, jeśli chcesz przetestować wejściowe i wyjściowe korytarze." -#: app/CompilerPane.py:829 +#: app/CompilerPane.py msgid "When previewing in SP, spawn just before the entry door." -msgstr "" -"Podczas podglądu w grze jednoosobowej, spawn nastąpi tuż przed drzwiami " -"wejściowymi." +msgstr "Podczas podglądu w grze jednoosobowej, spawn nastąpi tuż przed drzwiami wejściowymi." -#: app/CompilerPane.py:835 +#: app/CompilerPane.py msgid "Corridor:" msgstr "Korytarz:" -#: app/CompilerPane.py:853 +#: app/CompilerPane.py msgid "SP Entry:" msgstr "Wejście (tryb 1-os.)" -#: app/CompilerPane.py:858 +#: app/CompilerPane.py msgid "SP Exit:" msgstr "Wyjście (tryb 1-os.)" -#: app/CompilerPane.py:863 -msgid "Coop Exit:" -msgstr "" +#: src/CompilerPane.py:779 +msgid "Coop:" +msgstr "Wyjście (tryb 2-os.)" -#: app/CompilerPane.py:869 +#: app/CompilerPane.py msgid "Player Model (SP):" msgstr "Model gracza (tryb 1-os.)" -#: app/CompilerPane.py:893 +#: app/CompilerPane.py msgid "Compile Options" msgstr "Opcje kompilacji" -#: app/CompilerPane.py:911 +#: app/CompilerPane.py msgid "Compiler Options - {}" msgstr "Opcje kompilatora - {}" -#: app/StyleVarPane.py:30 +#: app/StyleVarPane.py msgid "Multiverse Cave" msgstr "Cave z multiwersum" -#: app/StyleVarPane.py:32 +#: app/StyleVarPane.py msgid "Play the Workshop Cave Johnson lines on map start." msgstr "Odtwarza ścieżki Cave'a Johnsona na starcie mapy." -#: app/StyleVarPane.py:37 +#: app/StyleVarPane.py msgid "Prevent Portal Bump (fizzler)" msgstr "Zapobiegaj kolizjom portali (siatka demat.)" -#: app/StyleVarPane.py:39 -msgid "" -"Add portal bumpers to make it more difficult to portal across fizzler " -"edges. This can prevent placing portals in tight spaces near fizzlers, or" -" fizzle portals on activation." -msgstr "" -"Dodaje ochraniacze portali, aby utrudnić położenie portali niedaleko " -"krawędzi siatek dematerializujących. Może to zapobiec kładzeniu portali w" -" szczelinach niedaleko siatek, albo dematerializowaniu portali podczas " -"aktywacji." +#: app/StyleVarPane.py +msgid "Add portal bumpers to make it more difficult to portal across fizzler edges. This can prevent placing portals in tight spaces near fizzlers, or fizzle portals on activation." +msgstr "Dodaje ochraniacze portali, aby utrudnić położenie portali niedaleko krawędzi siatek dematerializujących. Może to zapobiec kładzeniu portali w szczelinach niedaleko siatek, albo dematerializowaniu portali podczas aktywacji." -#: app/StyleVarPane.py:46 +#: app/StyleVarPane.py msgid "Suppress Mid-Chamber Dialogue" msgstr "Usuń dialog w środku komory" -#: app/StyleVarPane.py:48 +#: app/StyleVarPane.py msgid "Disable all voicelines other than entry and exit lines." msgstr "Wyłącza wszystkie ścieżki głosowe inne niż ścieżki wejścia i wyjścia." -#: app/StyleVarPane.py:53 +#: app/StyleVarPane.py msgid "Unlock Default Items" msgstr "Odblokuj domyślne przedmioty" -#: app/StyleVarPane.py:55 -msgid "" -"Allow placing and deleting the mandatory Entry/Exit Doors and Large " -"Observation Room. Use with caution, this can have weird results!" -msgstr "" -"Umożliwia umieszczanie i usuwanie niezbędnych drzwi wejściowych i " -"wyjściowych oraz dużego pokoju obserwacyjnego. Używaj z ostrożnością, " -"może to powodować dziwne rezultaty!" +#: app/StyleVarPane.py +msgid "Allow placing and deleting the mandatory Entry/Exit Doors and Large Observation Room. Use with caution, this can have weird results!" +msgstr "Umożliwia umieszczanie i usuwanie niezbędnych drzwi wejściowych i wyjściowych oraz dużego pokoju obserwacyjnego. Używaj z ostrożnością, może to powodować dziwne rezultaty!" -#: app/StyleVarPane.py:62 +#: app/StyleVarPane.py msgid "Allow Adding Goo Mist" msgstr "Pozwól na mgłę nad mazią" -#: app/StyleVarPane.py:64 -msgid "" -"Add mist particles above Toxic Goo in certain styles. This can increase " -"the entity count significantly with large, complex goo pits, so disable " -"if needed." -msgstr "" -"Dodaje cząsteczki mgły nad toksyczną mazią w niektórych stylach. Może to " -"zwiększyć znacząco ilość jednostek w mapach z dużymi, złożonymi dołami z " -"mazią, więc wyłącz, jeśli będzie to konieczne." +#: app/StyleVarPane.py +msgid "Add mist particles above Toxic Goo in certain styles. This can increase the entity count significantly with large, complex goo pits, so disable if needed." +msgstr "Dodaje cząsteczki mgły nad toksyczną mazią w niektórych stylach. Może to zwiększyć znacząco ilość jednostek w mapach z dużymi, złożonymi dołami z mazią, więc wyłącz, jeśli będzie to konieczne." -#: app/StyleVarPane.py:71 +#: app/StyleVarPane.py msgid "Light Reversible Excursion Funnels" msgstr "Światło w odwracanych tubach transportujących" -#: app/StyleVarPane.py:73 -msgid "" -"Funnels emit a small amount of light. However, if multiple funnels are " -"near each other and can reverse polarity, this can cause lighting issues." -" Disable this to prevent that by disabling lights. Non-reversible Funnels" -" do not have this issue." -msgstr "" -"Tuby emitują niewielką ilość światła. Jednak, gdy wiele tub jest blisko " -"siebie i mogą one zmieniać kierunek, może to powodować błędy w " -"oświetleniu. Odznacz, by zapobiec temu wyłączając emitowane światło. " -"Nieodwracalne tuby nie mają tego problemu." +#: app/StyleVarPane.py +msgid "Funnels emit a small amount of light. However, if multiple funnels are near each other and can reverse polarity, this can cause lighting issues. Disable this to prevent that by disabling lights. Non-reversible Funnels do not have this issue." +msgstr "Tuby emitują niewielką ilość światła. Jednak, gdy wiele tub jest blisko siebie i mogą one zmieniać kierunek, może to powodować błędy w oświetleniu. Odznacz, by zapobiec temu wyłączając emitowane światło. Nieodwracalne tuby nie mają tego problemu." -#: app/StyleVarPane.py:81 +#: app/StyleVarPane.py msgid "Enable Shape Framing" msgstr "Włącz ramki dla znaków" -#: app/StyleVarPane.py:83 -msgid "" -"After 10 shape-type antlines are used, the signs repeat. With this " -"enabled, colored frames will be added to distinguish them." -msgstr "" -"Po użyciu 10 znaczników-symboli, symbole zaczną się powtarzać. Gdy ta " -"opcja jest włączona, kolorowe ramki będą dodane, by je rozróżnić." +#: app/StyleVarPane.py +msgid "After 10 shape-type antlines are used, the signs repeat. With this enabled, colored frames will be added to distinguish them." +msgstr "Po użyciu 10 znaczników-symboli, symbole zaczną się powtarzać. Gdy ta opcja jest włączona, kolorowe ramki będą dodane, by je rozróżnić." -#: app/StyleVarPane.py:152 +#: app/StyleVarPane.py msgid "Default: On" msgstr "Domyślnie włączone" -#: app/StyleVarPane.py:154 +#: app/StyleVarPane.py msgid "Default: Off" msgstr "Domyślnie wyłączone" -#: app/StyleVarPane.py:158 +#: app/StyleVarPane.py msgid "Styles: Unstyled" msgstr "Style: Bez stylów" -#: app/StyleVarPane.py:168 +#: app/StyleVarPane.py msgid "Styles: All" msgstr "Style: Wszystkie" -#: app/StyleVarPane.py:176 +#: app/StyleVarPane.py msgid "Style: {}" msgid_plural "Styles: {}" msgstr[0] "Styl: {}" msgstr[1] "Style: {}" msgstr[2] "Style: {}" -#: app/StyleVarPane.py:229 +#: app/StyleVarPane.py msgid "Style/Item Properties" msgstr "Właściwości stylów i przedmiotów" -#: app/StyleVarPane.py:248 +#: app/StyleVarPane.py msgid "Styles" msgstr "Style" -#: app/StyleVarPane.py:267 +#: app/StyleVarPane.py msgid "All:" msgstr "Wszystkie:" -#: app/StyleVarPane.py:270 +#: app/StyleVarPane.py msgid "Selected Style:" msgstr "Wybrany styl:" -#: app/StyleVarPane.py:278 +#: app/StyleVarPane.py msgid "Other Styles:" msgstr "Pozostałe style:" -#: app/StyleVarPane.py:283 +#: app/StyleVarPane.py msgid "No Options!" msgstr "Brak opcji!" -#: app/StyleVarPane.py:289 +#: app/StyleVarPane.py msgid "None!" msgstr "Brak!" -#: app/StyleVarPane.py:358 +#: app/StyleVarPane.py msgid "Items" msgstr "Przedmioty" -#: app/SubPane.py:85 +#: app/SubPane.py msgid "Hide/Show the \"{}\" window." msgstr "Pokaż/ukryj okno \"{}\"" -#: app/UI.py:72 +#: app/UI.py msgid "Export..." msgstr "Wyeksportuj..." -#: app/UI.py:566 +#: app/UI.py msgid "Select Skyboxes" msgstr "Wybierz skybox" -#: app/UI.py:567 -msgid "" -"The skybox decides what the area outside the chamber is like. It chooses " -"the colour of sky (seen in some items), the style of bottomless pit (if " -"present), as well as color of \"fog\" (seen in larger chambers)." -msgstr "" -"Skybox decyduje jak wygląda przestrzeń poza komorą testową. Wybiera on " -"kolor nieba (widoczny na niektórych przedmiotach), styl bezdennej " -"otchłani (jeśli obecna), a także kolor \"mgły\" (widocznej w większych " -"komorach)." +#: app/UI.py +msgid "The skybox decides what the area outside the chamber is like. It chooses the colour of sky (seen in some items), the style of bottomless pit (if present), as well as color of \"fog\" (seen in larger chambers)." +msgstr "Skybox decyduje jak wygląda przestrzeń poza komorą testową. Wybiera on kolor nieba (widoczny na niektórych przedmiotach), styl bezdennej otchłani (jeśli obecna), a także kolor \"mgły\" (widocznej w większych komorach)." -#: app/UI.py:575 +#: app/UI.py msgid "3D Skybox" msgstr "Skybox 3D" -#: app/UI.py:576 +#: app/UI.py msgid "Fog Color" msgstr "Kolor mgły" -#: app/UI.py:583 +#: app/UI.py msgid "Select Additional Voice Lines" msgstr "Wybierz dodatkowe ścieżki głosowe" -#: app/UI.py:584 -msgid "" -"Voice lines choose which extra voices play as the player enters or exits " -"a chamber. They are chosen based on which items are present in the map. " -"The additional \"Multiverse\" Cave lines are controlled separately in " -"Style Properties." -msgstr "" -"Dodatkowe ścieżki głosowe grane podczas wykonywania komory testowej. " -"Wybierane są na podstawie elementów testowych obecnych na mapie. " -"Dodatkowe ścieżki Cave'a Johnsona z \"Multiwersum\" są wybierane osobno " -"we właściwościach stylu." +#: app/UI.py +msgid "Voice lines choose which extra voices play as the player enters or exits a chamber. They are chosen based on which items are present in the map. The additional \"Multiverse\" Cave lines are controlled separately in Style Properties." +msgstr "Dodatkowe ścieżki głosowe grane podczas wykonywania komory testowej. Wybierane są na podstawie elementów testowych obecnych na mapie. Dodatkowe ścieżki Cave'a Johnsona z \"Multiwersum\" są wybierane osobno we właściwościach stylu." -#: app/UI.py:589 +#: app/UI.py msgid "Add no extra voice lines, only Multiverse Cave if enabled." msgstr "Nie dodaje żadnych ścieżek, jedynie Cave z multiwersum, jeżeli włączone." -#: app/UI.py:591 +#: app/UI.py msgid "" msgstr "" -#: app/UI.py:595 +#: app/UI.py msgid "Characters" msgstr "Postacie" -#: app/UI.py:596 +#: app/UI.py msgid "Turret Shoot Monitor" msgstr "Wieżyczki strzelają w monitor" -#: app/UI.py:597 +#: app/UI.py msgid "Monitor Visuals" msgstr "Postać na monitorze" -#: app/UI.py:604 +#: app/UI.py msgid "Select Style" msgstr "Wybierz styl" -#: app/UI.py:605 +#: app/UI.py msgid "" -"The Style controls many aspects of the map. It decides the materials used" -" for walls, the appearance of entrances and exits, the design for most " -"items as well as other settings.\n" +"The Style controls many aspects of the map. It decides the materials used for walls, the appearance of entrances and exits, the design for most items as well as other settings.\n" "\n" "The style broadly defines the time period a chamber is set in." msgstr "" -"Styl kontroluje wiele aspektów mapy. Decyduje o materiałach użytych do " -"ścian, wyglądzie wejścia i wyjścia, konstrukcji większości przedmiotów, a" -" także o wielu innych rzeczach.\n" +"Styl kontroluje wiele aspektów mapy. Decyduje o materiałach użytych do ścian, wyglądzie wejścia i wyjścia, konstrukcji większości przedmiotów, a także o wielu innych rzeczach.\n" "\n" "Styl po prostu określa okres czasu, w którym rozgrywana jest komora." -#: app/UI.py:616 +#: app/UI.py msgid "Elevator Videos" msgstr "Filmy przy windzie" -#: app/UI.py:623 +#: app/UI.py msgid "Select Elevator Video" msgstr "Wybierz film" -#: app/UI.py:624 -msgid "" -"Set the video played on the video screens in modern Aperture elevator " -"rooms. Not all styles feature these. If set to \"None\", a random video " -"will be selected each time the map is played, like in the default PeTI." -msgstr "" -"Wybierz film grany na ekranach w pomieszczeniach z windą w nowoczesnym " -"Aperture. Nie wszystkie style zawierają ekrany. Jeżeli ustawony na " -"\"None\", losowy film będzie wybrany za każdym razem, gdy mapa jest " -"grana, jak w domyślnym edytorze." +#: app/UI.py +msgid "Set the video played on the video screens in modern Aperture elevator rooms. Not all styles feature these. If set to \"None\", a random video will be selected each time the map is played, like in the default PeTI." +msgstr "Wybierz film grany na ekranach w pomieszczeniach z windą w nowoczesnym Aperture. Nie wszystkie style zawierają ekrany. Jeżeli ustawony na \"None\", losowy film będzie wybrany za każdym razem, gdy mapa jest grana, jak w domyślnym edytorze." -#: app/UI.py:628 +#: app/UI.py msgid "This style does not have a elevator video screen." msgstr "Ten styl nie ma ekranu na film." -#: app/UI.py:633 +#: app/UI.py msgid "Choose a random video." msgstr "Wybierz dowolny film." -#: app/UI.py:637 +#: app/UI.py msgid "Multiple Orientations" msgstr "Wiele orientacji" -#: app/UI.py:865 +#: app/UI.py msgid "Selected Items and Style successfully exported!" msgstr "Wyeksportowanie wybranych przedmiotów i stylu powiodło się!" -#: app/UI.py:867 +#: app/UI.py msgid "" "\n" "\n" -"Warning: VPK files were not exported, quit Portal 2 and Hammer to ensure " -"editor wall previews are changed." +"Warning: VPK files were not exported, quit Portal 2 and Hammer to ensure editor wall previews are changed." msgstr "" "\n" "\n" -"Uwaga: Pliki VPK nie zostały wyeksportowane, wyjdź z Portal 2 i Hammer " -"aby upewnić się, że podgląd ścian w edytorze się zmienił." +"Uwaga: Pliki VPK nie zostały wyeksportowane, wyjdź z Portal 2 i Hammer aby upewnić się, że podgląd ścian w edytorze się zmienił." -#: app/UI.py:1099 +#: app/UI.py msgid "Delete Palette \"{}\"" msgstr "Usuń paletę \"{}\"" -#: app/UI.py:1182 +#: app/UI.py msgid "BEE2 - Save Palette" msgstr "BEE2 - Zapisz paletę" -#: app/UI.py:1183 +#: app/UI.py msgid "Enter a name:" msgstr "Wpisz nazwę:" -#: app/UI.py:1192 +#: app/UI.py msgid "This palette already exists. Overwrite?" msgstr "Ta paleta już istnieje. Nadpisać?" -#: app/UI.py:1224 app/gameMan.py:1340 +#: app/UI.py app/gameMan.py msgid "Are you sure you want to delete \"{}\"?" msgstr "Na pewno chcesz usunąć \"{}\"?" -#: app/UI.py:1252 +#: app/UI.py msgid "Clear Palette" msgstr "Wyczyść paletę" -#: app/UI.py:1288 app/UI.py:1722 +#: app/UI.py msgid "Delete Palette" msgstr "Usuń paletę" -#: app/UI.py:1308 +#: app/UI.py msgid "Save Palette..." msgstr "Zapisz paletę..." -#: app/UI.py:1313 app/UI.py:1745 +#: app/UI.py msgid "Save Palette As..." msgstr "Zapisz paletę jako..." -#: app/UI.py:1324 app/UI.py:1733 +#: app/UI.py msgid "Save Settings in Palettes" msgstr "Zapisz ustawienia palet" -#: app/UI.py:1342 app/music_conf.py:205 +#: app/UI.py app/music_conf.py msgid "Music: " msgstr "Muzyka: " -#: app/UI.py:1368 +#: app/UI.py msgid "{arr} Use Suggested {arr}" msgstr "{arr} Użyj sugerowanego {arr}" -#: app/UI.py:1384 +#: app/UI.py msgid "Style: " msgstr "Styl: " -#: app/UI.py:1386 +#: app/UI.py msgid "Voice: " msgstr "Głos: " -#: app/UI.py:1387 +#: app/UI.py msgid "Skybox: " -msgstr "Skybos: " +msgstr "Skybox: " -#: app/UI.py:1388 +#: app/UI.py msgid "Elev Vid: " -msgstr "Film w windzie: " +msgstr "Winda:" -#: app/UI.py:1406 -msgid "" -"Enable or disable particular voice lines, to prevent them from being " -"added." +#: app/UI.py +msgid "Enable or disable particular voice lines, to prevent them from being added." msgstr "Włącz lub wyłącz poszczególne ścieżki głosowe, aby zapobiec dodaniu ich." -#: app/UI.py:1509 +#: app/UI.py msgid "All Items: " msgstr "Wszystkie przedmioty: " -#: app/UI.py:1641 +#: app/UI.py msgid "Export to \"{}\"..." msgstr "Wyeksportuj do \"{}\"..." -#: app/UI.py:1669 app/backup.py:872 +#: app/UI.py app/backup.py msgid "File" msgstr "Plik" -#: app/UI.py:1676 +#: app/UI.py msgid "Export" msgstr "Wyeksportuj" -#: app/UI.py:1683 app/backup.py:876 +#: app/UI.py app/backup.py msgid "Add Game" msgstr "Dodaj grę" -#: app/UI.py:1687 +#: app/UI.py msgid "Uninstall from Selected Game" msgstr "Odinstaluj z wybranej gry" -#: app/UI.py:1691 +#: app/UI.py msgid "Backup/Restore Puzzles..." msgstr "Kopia zapasowa i przywracanie map" -#: app/UI.py:1695 +#: app/UI.py msgid "Manage Packages..." msgstr "Zarządzaj paczkami..." -#: app/UI.py:1700 +#: app/UI.py msgid "Options" msgstr "Opcje" -#: app/UI.py:1705 app/gameMan.py:1088 +#: app/UI.py app/gameMan.py msgid "Quit" msgstr "Wyjdź" -#: app/UI.py:1715 +#: app/UI.py msgid "Palette" msgstr "Paleta" -#: app/UI.py:1717 +#: app/UI.py msgid "Clear" msgstr "Wyczyść" -#: app/UI.py:1726 +#: app/UI.py msgid "Fill Palette" msgstr "Wypełnij paletę" -#: app/UI.py:1740 +#: app/UI.py msgid "Save Palette" msgstr "Zapisz paletę" -#: app/UI.py:1755 +#: app/UI.py msgid "View" -msgstr "Wyświetl" +msgstr "Widok" -#: app/UI.py:1869 +#: app/UI.py msgid "Palettes" msgstr "Palety" -#: app/UI.py:1894 +#: app/UI.py msgid "Export Options" msgstr "Opcje eksportu" -#: app/UI.py:1926 +#: app/UI.py msgid "Fill empty spots in the palette with random items." msgstr "Wypełnia puste miejsca na palecie losowymi przedmiotami." -#: app/backup.py:79 +#: app/backup.py msgid "Copying maps" msgstr "Kopiowanie map" -#: app/backup.py:84 +#: app/backup.py msgid "Loading maps" msgstr "Ładowanie map" -#: app/backup.py:89 +#: app/backup.py msgid "Deleting maps" msgstr "Usuwanie map" -#: app/backup.py:140 +#: app/backup.py msgid "Failed to parse this puzzle file. It can still be backed up." msgstr "Analiza mapy nie powiodła się. Kopia zapas. nadal może być stworzona." -#: app/backup.py:144 +#: app/backup.py msgid "No description found." msgstr "Nie znaleziono opisu." -#: app/backup.py:175 +#: app/backup.py msgid "Coop" msgstr "Tryb 2-os." -#: app/backup.py:175 +#: app/backup.py msgid "SP" msgstr "Tryb 1-os." -#: app/backup.py:337 +#: app/backup.py msgid "This filename is already in the backup.Do you wish to overwrite it? ({})" msgstr "Ten plik już jest w kopii zapasowej. Czy chcesz go nadpisać? ({})" -#: app/backup.py:443 +#: app/backup.py msgid "BEE2 Backup" msgstr "Kopia zapasowa BEE2" -#: app/backup.py:444 +#: app/backup.py msgid "No maps were chosen to backup!" msgstr "Nie wybrano map do kopii zapasowej!" -#: app/backup.py:504 -msgid "" -"This map is already in the game directory.Do you wish to overwrite it? " -"({})" +#: app/backup.py +msgid "This map is already in the game directory.Do you wish to overwrite it? ({})" msgstr "Ta mapa już jest w katalogu gry. Czy chcesz ją nadpisać?" -#: app/backup.py:566 +#: app/backup.py msgid "Load Backup" msgstr "Załaduj kopię zapasową" -#: app/backup.py:567 app/backup.py:626 +#: app/backup.py msgid "Backup zip" msgstr "Kopia zapasowa w zip" -#: app/backup.py:600 +#: app/backup.py msgid "Unsaved Backup" msgstr "Niezapisana kopia zapas." -#: app/backup.py:625 app/backup.py:870 +#: app/backup.py msgid "Save Backup As" msgstr "Zapisz kopię zapas. jako" -#: app/backup.py:721 +#: app/backup.py msgid "Confirm Deletion" msgstr "Potwierdź usunięcie" -#: app/backup.py:722 +#: app/backup.py msgid "Do you wish to delete {} map?\n" msgid_plural "Do you wish to delete {} maps?\n" msgstr[0] "" @@ -836,364 +704,335 @@ msgstr[2] "" "Czy chcesz usunąć {} mapy?\n" "\n" -#: app/backup.py:759 +#: app/backup.py msgid "Restore:" msgstr "Przywróć:" -#: app/backup.py:760 +#: app/backup.py msgid "Backup:" msgstr "Kopia zapasowa:" -#: app/backup.py:797 +#: app/backup.py msgid "Checked" msgstr "Zaznaczono" -#: app/backup.py:805 +#: app/backup.py msgid "Delete Checked" msgstr "Usuń zaznaczenie" -#: app/backup.py:854 +#: app/backup.py msgid "BEEMOD {} - Backup / Restore Puzzles" msgstr "BEEMOD {} - Kopia zapas. i przywracanie map" -#: app/backup.py:867 app/backup.py:995 +#: app/backup.py msgid "New Backup" msgstr "Nowa kopia zapas." -#: app/backup.py:868 app/backup.py:1002 +#: app/backup.py msgid "Open Backup" msgstr "Otwórz kopię zapas." -#: app/backup.py:869 app/backup.py:1009 +#: app/backup.py msgid "Save Backup" msgstr "Zapisz kopię zapas." -#: app/backup.py:877 +#: app/backup.py msgid "Remove Game" msgstr "Usuń grę" -#: app/backup.py:880 +#: app/backup.py msgid "Game" msgstr "Gra" -#: app/backup.py:926 +#: app/backup.py msgid "Automatic Backup After Export" msgstr "Automatyczna kopia zapas. po wyeksportowaniu" -#: app/backup.py:958 +#: app/backup.py msgid "Keep (Per Game):" msgstr "Zachowuj (na grę):" -#: app/backup.py:976 +#: app/backup.py msgid "Backup/Restore Puzzles" msgstr "Kopia zapasowa i przywracanie map" -#: app/contextWin.py:78 +#: app/contextWin.py msgid "This item may not be rotated." msgstr "Ten przedmiot nie może być obrócony." -#: app/contextWin.py:79 +#: app/contextWin.py msgid "This item can be pointed in 4 directions." msgstr "Ten przedmiot może być skierowany w 4 kierunki." -#: app/contextWin.py:80 +#: app/contextWin.py msgid "This item can be positioned on the sides and center." msgstr "Ten przedmiot może być umieszczany po bokach i na środku." -#: app/contextWin.py:81 +#: app/contextWin.py msgid "This item can be centered in two directions, plus on the sides." -msgstr "" -"Ten przedmiot może być położony na środku w dwóch kierunkach, a także na " -"bokach." +msgstr "Ten przedmiot może być położony na środku w dwóch kierunkach, a także na bokach." -#: app/contextWin.py:82 +#: app/contextWin.py msgid "This item can be placed like light strips." msgstr "Ten przedmiot może być położony jak pasy świetlne." -#: app/contextWin.py:83 +#: app/contextWin.py msgid "This item can be rotated on the floor to face 360 degrees." msgstr "Ten przedmiot może być obrócony na podłodze o 360 stopni." -#: app/contextWin.py:84 +#: app/contextWin.py msgid "This item is positioned using a catapult trajectory." msgstr "Ten przedmiot jest umieszczany używając trajektorii katapulty." -#: app/contextWin.py:85 +#: app/contextWin.py msgid "This item positions the dropper to hit target locations." msgstr "Ten przedmiot ustawia dozownik, by dosięgnął docelowej lokalizacji." -#: app/contextWin.py:87 +#: app/contextWin.py msgid "This item does not accept any inputs." msgstr "Ten przedmiot nie akceptuje sygnału wejściowego." -#: app/contextWin.py:88 +#: app/contextWin.py msgid "This item accepts inputs." msgstr "Ten przedmiot akceptuje sygnał wejściowy." -#: app/contextWin.py:89 +#: app/contextWin.py msgid "This item has two input types (A and B), using the Input A and B items." -msgstr "" -"Ten przedmiot ma 2 rodzaje sygnału wejścia (A i B), używa przedmiotu " -"\"Wejście A i B\"." +msgstr "Ten przedmiot ma 2 rodzaje sygnału wejścia (A i B), używa przedmiotu \"Wejście A i B\"." -#: app/contextWin.py:91 +#: app/contextWin.py msgid "This item does not output." msgstr "Ten przedmiot nie wysyła sygnału." -#: app/contextWin.py:92 +#: app/contextWin.py msgid "This item has an output." msgstr "Ten przedmiot może wysyłać sygnał." -#: app/contextWin.py:93 +#: app/contextWin.py msgid "This item has a timed output." msgstr "Ten przedmiot wysyła czasowy sygnał." -#: app/contextWin.py:95 +#: app/contextWin.py msgid "This item does not take up any space inside walls." msgstr "Ten przedmiot nie zajmuje przestrzeni za ścianami." -#: app/contextWin.py:96 +#: app/contextWin.py msgid "This item takes space inside the wall." msgstr "Ten przedmiot zajmuje przestrzeń za ścianami." -#: app/contextWin.py:98 +#: app/contextWin.py msgid "This item cannot be placed anywhere..." msgstr "Ten przedmiot nie może być położony nigdzie..." -#: app/contextWin.py:99 +#: app/contextWin.py msgid "This item can only be attached to ceilings." msgstr "Ten przedmiot może być przymocowany tylko do sufitu." -#: app/contextWin.py:100 +#: app/contextWin.py msgid "This item can only be placed on the floor." msgstr "Ten przedmiot może być położony tylko na podłodze." -#: app/contextWin.py:101 +#: app/contextWin.py msgid "This item can be placed on floors and ceilings." msgstr "Ten przedmiot może być położony na podłodze i na suficie." -#: app/contextWin.py:102 +#: app/contextWin.py msgid "This item can be placed on walls only." msgstr "Ten przedmiot może być umieszczony tylko na ścianach." -#: app/contextWin.py:103 +#: app/contextWin.py msgid "This item can be attached to walls and ceilings." msgstr "Ten przedmiot może być umieszczony na ścianach i na suficie." -#: app/contextWin.py:104 +#: app/contextWin.py msgid "This item can be placed on floors and walls." msgstr "Ten przedmiot może być umieszczony na ścianach i na podłodze." -#: app/contextWin.py:105 +#: app/contextWin.py msgid "This item can be placed in any orientation." msgstr "Ten przedmiot może być przymocowany gdziekolwiek." -#: app/contextWin.py:218 +#: app/contextWin.py msgid "No Alternate Versions" msgstr "Brak wersji alteratywnych" -#: app/contextWin.py:296 +#: app/contextWin.py msgid "Excursion Funnels accept a on/off input and a directional input." -msgstr "" -"Tuby transportowe akceptują sygnał włącz/wyłącz oraz sygnał zmiany " -"kierunku." +msgstr "Tuby transportowe akceptują sygnał włącz/wyłącz oraz sygnał zmiany kierunku." -#: app/contextWin.py:347 -msgid "" -"This item can be rotated on the floor to face 360 degrees, for Reflection" -" Cubes only." -msgstr "" -"Ten przedmiot może być obrócony na podłodze o 360 stopni (dotyczy tylko " -"kostki odbijającej)." +#: app/contextWin.py +msgid "This item can be rotated on the floor to face 360 degrees, for Reflection Cubes only." +msgstr "Ten przedmiot może być obrócony na podłodze o 360 stopni (dotyczy tylko kostki odbijającej)." -#: app/contextWin.py:424 +#: app/contextWin.py msgid "Properties:" msgstr "Właściwości" -#: app/contextWin.py:450 -msgid "" -"The number of entities used for this item. The Source engine limits this " -"to 2048 in total. This provides a guide to how many of these items can be" -" placed in a map at once." -msgstr "" -"Liczba jednostek użytych w przedmiocie. Silnik Source ogranicza to do " -"łącznej wartości 2048. To jest porada ile może być takich przedmiotów " -"łącznie położonych." +#: app/contextWin.py +msgid "The number of entities used for this item. The Source engine limits this to 2048 in total. This provides a guide to how many of these items can be placed in a map at once." +msgstr "Liczba jednostek użytych w przedmiocie. Silnik Source ogranicza to do łącznej wartości 2048. To jest porada ile może być takich przedmiotów łącznie położonych." -#: app/contextWin.py:475 +#: app/contextWin.py msgid "Description:" msgstr "Opis:" -#: app/contextWin.py:518 -msgid "" -"Failed to open a web browser. Do you wish for the URL to be copied to the" -" clipboard instead?" -msgstr "" -"Nie udało się otworzyć przeglądarki. Czy chcesz w zamian skopiować link " -"do schowka?" +#: app/contextWin.py +msgid "Failed to open a web browser. Do you wish for the URL to be copied to the clipboard instead?" +msgstr "Nie udało się otworzyć przeglądarki. Czy chcesz w zamian skopiować link do schowka?" -#: app/contextWin.py:532 +#: app/contextWin.py msgid "More Info>>" msgstr "Więcej informacji>>" -#: app/contextWin.py:549 +#: app/contextWin.py msgid "Change Defaults..." msgstr "Zmień domyślne wartości..." -#: app/contextWin.py:555 +#: app/contextWin.py msgid "Change the default settings for this item when placed." msgstr "Zmienia domyślne wartości dla tego przedmiotu w edytorze." -#: app/gameMan.py:757 app/gameMan.py:849 +#: app/gameMan.py msgid "BEE2 - Export Failed!" msgstr "BEE2 - Eksport nieudany!" -#: app/gameMan.py:758 -msgid "" -"Compiler file {file} missing. Exit Steam applications, then press OK to " -"verify your game cache. You can then export again." -msgstr "" -"Brakuje pliku kompilatora {file}. Wyjdź z aplikacji Steam, następnie " -"kliknij OK, aby zweryfikować cache gry. Wtedy możesz wyeksportować " -"ponownie." +#: app/gameMan.py +msgid "Compiler file {file} missing. Exit Steam applications, then press OK to verify your game cache. You can then export again." +msgstr "Brakuje pliku kompilatora {file}. Wyjdź z aplikacji Steam, następnie kliknij OK, aby zweryfikować cache gry. Wtedy możesz wyeksportować ponownie." -#: app/gameMan.py:850 +#: app/gameMan.py msgid "Copying compiler file {file} failed. Ensure {game} is not running." -msgstr "" -"Kopiowanie pliku kompilatora {file} nie powiodło się. Upewnij się, że gra" -" {game} nie jest uruchomiona." +msgstr "Kopiowanie pliku kompilatora {file} nie powiodło się. Upewnij się, że gra {game} nie jest uruchomiona." -#: app/gameMan.py:1145 +#: app/gameMan.py msgid "" "Ap-Tag Coop gun instance not found!\n" "Coop guns will not work - verify cache to fix." msgstr "" "Instancja Portalguna w trybie 2-osobowym Ap-tag nieznaleziona!\n" -"Portal-gun i Paint-gun nie będą tam działały - zweryfikuj cache, aby to " -"naprawić." +"Portal-gun i Paint-gun nie będą tam działały - zweryfikuj cache, aby to naprawić." -#: app/gameMan.py:1149 +#: app/gameMan.py msgid "BEE2 - Aperture Tag Files Missing" msgstr "BEE2 - Brakuje Plików Aperture Tag" -#: app/gameMan.py:1263 +#: app/gameMan.py msgid "Select the folder where the game executable is located ({appname})..." msgstr "Wybierz folder, gdzie znajduje się plik wykonywalny gry ({appname})..." -#: app/gameMan.py:1266 app/gameMan.py:1281 app/gameMan.py:1291 -#: app/gameMan.py:1298 app/gameMan.py:1307 app/gameMan.py:1316 +#: app/gameMan.py msgid "BEE2 - Add Game" msgstr "BEE2 - Dodaj grę" -#: app/gameMan.py:1269 +#: app/gameMan.py msgid "Find Game Exe" msgstr "Znajdź plik .exe gry" -#: app/gameMan.py:1270 +#: app/gameMan.py msgid "Executable" msgstr "Wykonywalny" -#: app/gameMan.py:1278 +#: app/gameMan.py msgid "This does not appear to be a valid game folder!" msgstr "To nie wygląda jak prawidłowy folder gry!" -#: app/gameMan.py:1288 +#: app/gameMan.py msgid "Portal Stories: Mel doesn't have an editor!" msgstr "Portal Stories: Mel nie ma edytora!" -#: app/gameMan.py:1299 +#: app/gameMan.py msgid "Enter the name of this game:" msgstr "Wprowadź nazwę gry:" -#: app/gameMan.py:1306 +#: app/gameMan.py msgid "This name is already taken!" msgstr "Ta nazwa jest już zajęta!" -#: app/gameMan.py:1315 +#: app/gameMan.py msgid "Please enter a name for this game!" msgstr "Wprowadź nazwę dla tej gry!" -#: app/gameMan.py:1334 +#: app/gameMan.py msgid "" "\n" " (BEE2 will quit, this is the last game set!)" msgstr "" "\n" -"(BEE2 zostanie zamknięte, to jest ostatnia gra!)" +"(BEE2 zostanie zamknięte, to jest ostatnia gra w katalogu!)" -#: app/helpMenu.py:57 +#: app/helpMenu.py msgid "Wiki..." msgstr "Wiki..." -#: app/helpMenu.py:59 +#: app/helpMenu.py msgid "Original Items..." msgstr "Oryginalne przedmioty..." -#: app/helpMenu.py:64 +#: app/helpMenu.py msgid "Discord Server..." msgstr "Serwer Discord..." -#: app/helpMenu.py:65 +#: app/helpMenu.py msgid "aerond's Music Changer..." msgstr "Własna muzyka..." -#: app/helpMenu.py:67 +#: app/helpMenu.py msgid "Application Repository..." msgstr "Magazyn aplikacji..." -#: app/helpMenu.py:68 +#: app/helpMenu.py msgid "Items Repository..." msgstr "Magazyn przedmiotów..." -#: app/helpMenu.py:70 +#: app/helpMenu.py msgid "Submit Application Bugs..." msgstr "Zgłoś błędy aplikacji..." -#: app/helpMenu.py:71 +#: app/helpMenu.py msgid "Submit Item Bugs..." msgstr "Zgłoś błędy przedmiotów..." -#: app/helpMenu.py:73 app/paletteLoader.py:35 +#: app/helpMenu.py app/paletteLoader.py msgid "Portal 2" msgstr "Portal 2" -#: app/helpMenu.py:74 app/paletteLoader.py:37 +#: app/helpMenu.py app/paletteLoader.py msgid "Aperture Tag" msgstr "Aperture Tag" -#: app/helpMenu.py:75 +#: app/helpMenu.py msgid "Portal Stories: Mel" msgstr "Portal Stories: Mel" -#: app/helpMenu.py:76 +#: app/helpMenu.py msgid "Thinking With Time Machine" msgstr "Thinking With Time Machine" -#: app/helpMenu.py:298 app/itemPropWin.py:343 +#: app/helpMenu.py app/itemPropWin.py msgid "Close" msgstr "Zamknij" -#: app/helpMenu.py:322 +#: app/helpMenu.py msgid "Help" msgstr "Pomoc" -#: app/helpMenu.py:333 +#: app/helpMenu.py msgid "BEE2 Credits" -msgstr "Autorzy BEE2" +msgstr "Licencje programów w BEE2" -#: app/helpMenu.py:350 +#: app/helpMenu.py msgid "Credits..." -msgstr "Autorzy..." +msgstr "Licencje..." -#: app/itemPropWin.py:39 +#: app/itemPropWin.py msgid "Start Position" msgstr "Pozycja startowa" -#: app/itemPropWin.py:40 +#: app/itemPropWin.py msgid "End Position" msgstr "Pozycja końcowa" -#: app/itemPropWin.py:41 +#: app/itemPropWin.py msgid "" "Delay \n" "(0=infinite)" @@ -1201,133 +1040,119 @@ msgstr "" "Opóźnienie\n" "(0=nieskończoność)" -#: app/itemPropWin.py:342 +#: app/itemPropWin.py msgid "No Properties available!" msgstr "Brak dostępnych właściwości!" -#: app/item_search.py:59 -msgid "Search:" -msgstr "" - -#: app/itemconfig.py:616 +#: app/itemconfig.py msgid "Choose a Color" msgstr "Wybierz kolor" -#: app/logWindow.py:29 +#: app/logWindow.py msgid "Debug messages" msgstr "Komunikaty debugowania" -#: app/logWindow.py:30 +#: app/logWindow.py msgid "Default" msgstr "Domyślne" -#: app/logWindow.py:31 +#: app/logWindow.py msgid "Warnings Only" msgstr "Tylko ostrzeżenia" -#: app/logWindow.py:159 +#: app/logWindow.py msgid "Logs - {}" msgstr "Logi - {}" -#: app/logWindow.py:208 +#: app/logWindow.py msgid "Copy" msgstr "Kopiuj" -#: app/logWindow.py:220 +#: app/logWindow.py msgid "Show:" msgstr "Pokaż:" -#: app/music_conf.py:133 +#: app/music_conf.py msgid "Select Background Music - Base" msgstr "Wybierz muzykę - Główna" -#: app/music_conf.py:134 -msgid "" -"This controls the background music used for a map. Expand the dropdown to" -" set tracks for specific test elements." -msgstr "" -"Ta opcja kontroluje muzykę w tle użytą do mapy. Rozwiń to menu aby " -"zobaczyć ścieżki dla konkretnych elementów testowych." +#: app/music_conf.py +msgid "This controls the background music used for a map. Expand the dropdown to set tracks for specific test elements." +msgstr "Ta opcja kontroluje muzykę w tle użytą do mapy. Rozwiń to menu aby zobaczyć ścieżki dla konkretnych elementów testowych." -#: app/music_conf.py:138 -msgid "" -"Add no music to the map at all. Testing Element-specific music may still " -"be added." -msgstr "" -"Nie dodawaj muzyki do mapy w ogóle. Muzyka poszczególnych elementów " -"testowych wciąż może być dodana." +#: app/music_conf.py +msgid "Add no music to the map at all. Testing Element-specific music may still be added." +msgstr "Nie dodawaj muzyki do mapy w ogóle. Muzyka poszczególnych elementów testowych wciąż może być dodana." -#: app/music_conf.py:143 +#: app/music_conf.py msgid "Propulsion Gel SFX" msgstr "Muzyka żelu przyspieszającego" -#: app/music_conf.py:144 +#: app/music_conf.py msgid "Repulsion Gel SFX" msgstr "Muzyka żelu repulsyjnego" -#: app/music_conf.py:145 +#: app/music_conf.py msgid "Excursion Funnel Music" msgstr "Muzyka w Tubie Transportowej" -#: app/music_conf.py:146 app/music_conf.py:161 +#: app/music_conf.py msgid "Synced Funnel Music" msgstr "Synchronizowana muzyka w Tubie" -#: app/music_conf.py:153 +#: app/music_conf.py msgid "Select Excursion Funnel Music" msgstr "Wybierz muzykę w Tubie Transportowej" -#: app/music_conf.py:154 +#: app/music_conf.py msgid "Set the music used while inside Excursion Funnels." msgstr "Wybierz muzykę graną podczas podróży Tubą Transportową." -#: app/music_conf.py:157 +#: app/music_conf.py msgid "Have no music playing when inside funnels." msgstr "Nie graj żadnej muzyki podczas podróży Tubą." -#: app/music_conf.py:168 +#: app/music_conf.py msgid "Select Repulsion Gel Music" msgstr "Wybierz muzykę żelu repulsyjnego" -#: app/music_conf.py:169 +#: app/music_conf.py msgid "Select the music played when players jump on Repulsion Gel." msgstr "Wybierz muzykę graną podczas podczas skakania na żelu repulsyjnym." -#: app/music_conf.py:172 +#: app/music_conf.py msgid "Add no music when jumping on Repulsion Gel." msgstr "Nie dodawaj żadnej muzyki podczas skakania na żelu repulsyjnym." -#: app/music_conf.py:180 +#: app/music_conf.py msgid "Select Propulsion Gel Music" msgstr "Wybierz muzykę żelu przyspieszającego" -#: app/music_conf.py:181 -msgid "" -"Select music played when players have large amounts of horizontal " -"velocity." +#: app/music_conf.py +msgid "Select music played when players have large amounts of horizontal velocity." msgstr "Wybierz muzykę graną, gdy gracz ma duże wartości prędkości poziomej." -#: app/music_conf.py:184 +#: app/music_conf.py msgid "Add no music while running fast." msgstr "Nie graj muzyki przy dużych prędkościach." -#: app/music_conf.py:219 +#: app/music_conf.py msgid "Base: " msgstr "Baza: " -#: app/music_conf.py:252 +#: app/music_conf.py msgid "Funnel:" msgstr "Tuba: " -#: app/music_conf.py:253 +#: app/music_conf.py msgid "Bounce:" msgstr "Odbicie: " -#: app/music_conf.py:254 +#: app/music_conf.py msgid "Speed:" msgstr "Prędkość: " -#: app/optionWindow.py:46 +#: app/optionWindow.py msgid "" "\n" "Launch Game?" @@ -1335,7 +1160,7 @@ msgstr "" "\n" "Uruchomić grę?" -#: app/optionWindow.py:48 +#: app/optionWindow.py msgid "" "\n" "Minimise BEE2?" @@ -1343,7 +1168,7 @@ msgstr "" "\n" "Zminimalizować BEE2?" -#: app/optionWindow.py:49 +#: app/optionWindow.py msgid "" "\n" "Launch Game and minimise BEE2?" @@ -1351,7 +1176,7 @@ msgstr "" "\n" "Uruchomić grę i zminimalizować BEE2?" -#: app/optionWindow.py:51 +#: app/optionWindow.py msgid "" "\n" "Quit BEE2?" @@ -1359,7 +1184,7 @@ msgstr "" "\n" "Wyjść z BEE2?" -#: app/optionWindow.py:52 +#: app/optionWindow.py msgid "" "\n" "Launch Game and quit BEE2?" @@ -1367,410 +1192,373 @@ msgstr "" "\n" "Uruchomić grę i wyjść z BEE2?" -#: app/optionWindow.py:71 +#: app/optionWindow.py msgid "BEE2 Options" msgstr "Opcje BEE2" -#: app/optionWindow.py:109 -msgid "" -"Package cache times have been reset. These will now be extracted during " -"the next export." -msgstr "" -"Czasy cache pakietów zostały zresetowane. Zostaną one teraz wyodrębnione " -"podczas następnego eksportu." +#: app/optionWindow.py +msgid "Package cache times have been reset. These will now be extracted during the next export." +msgstr "Czasy cache pakietów zostały zresetowane. Zostaną one teraz wyodrębnione podczas następnego eksportu." -#: app/optionWindow.py:126 +#: app/optionWindow.py msgid "\"Preserve Game Resources\" has been disabled." msgstr "\"Zachowaj zasoby gry\" zostało wyłączone." -#: app/optionWindow.py:138 +#: app/optionWindow.py msgid "Packages Reset" msgstr "Reset paczek" -#: app/optionWindow.py:219 +#: app/optionWindow.py msgid "General" msgstr "Ogólne" -#: app/optionWindow.py:225 +#: app/optionWindow.py msgid "Windows" msgstr "Okna" -#: app/optionWindow.py:231 +#: app/optionWindow.py msgid "Development" msgstr "Tworzenie" -#: app/optionWindow.py:255 app/packageMan.py:110 app/selector_win.py:699 +#: app/optionWindow.py app/packageMan.py app/selector_win.py msgid "OK" msgstr "OK" -#: app/optionWindow.py:286 +#: app/optionWindow.py msgid "After Export:" msgstr "Po eksporcie:" -#: app/optionWindow.py:303 +#: app/optionWindow.py msgid "Do Nothing" msgstr "Nic nie rób" -#: app/optionWindow.py:309 +#: app/optionWindow.py msgid "Minimise BEE2" msgstr "Minimalizuj BEE2" -#: app/optionWindow.py:315 +#: app/optionWindow.py msgid "Quit BEE2" msgstr "Wyjdź z BEE2" -#: app/optionWindow.py:323 +#: app/optionWindow.py msgid "After exports, do nothing and keep the BEE2 in focus." msgstr "Po eksporcie, nic nie rób i zachowaj BEE2 na wierzchu." -#: app/optionWindow.py:325 +#: app/optionWindow.py msgid "After exports, minimise to the taskbar/dock." msgstr "Po eksporcie, zminimalizuj do paska zadań." -#: app/optionWindow.py:326 +#: app/optionWindow.py msgid "After exports, quit the BEE2." msgstr "Po eksporcie, zamknij BEE2." -#: app/optionWindow.py:333 +#: app/optionWindow.py msgid "Launch Game" msgstr "Uruchom grę" -#: app/optionWindow.py:334 +#: app/optionWindow.py msgid "After exporting, launch the selected game automatically." msgstr "Po eksporcie, uruchom wybraną grę automatycznie." -#: app/optionWindow.py:342 app/optionWindow.py:348 +#: app/optionWindow.py msgid "Play Sounds" msgstr "Graj dźwięki" -#: app/optionWindow.py:353 +#: app/optionWindow.py msgid "" "Pyglet is either not installed or broken.\n" "Sound effects have been disabled." -msgstr "" -"Pyglet jest uszkodzony lub niezainstalowany. Efekty dźwiękowe zostały " -"wyłączone." +msgstr "Pyglet jest uszkodzony lub niezainstalowany. Efekty dźwiękowe zostały wyłączone." -#: app/optionWindow.py:360 +#: app/optionWindow.py msgid "Reset Package Caches" msgstr "Zresetuj cache paczek" -#: app/optionWindow.py:366 +#: app/optionWindow.py msgid "Force re-extracting all package resources." msgstr "Wymuś ponowne wypakowanie wszystkich źródeł z paczek." -#: app/optionWindow.py:375 +#: app/optionWindow.py msgid "Keep windows inside screen" msgstr "Trzymaj okienka na ekranie." -#: app/optionWindow.py:376 -msgid "" -"Prevent sub-windows from moving outside the screen borders. If you have " -"multiple monitors, disable this." -msgstr "" -"Zapobiegaj wysuwaniu się okienek z opcjami poza krawędź ekranu. Jeżeli " -"masz kilka monitorów, wyłącz tą opcję." +#: app/optionWindow.py +msgid "Prevent sub-windows from moving outside the screen borders. If you have multiple monitors, disable this." +msgstr "Zapobiegaj wysuwaniu się okienek z opcjami poza krawędź ekranu. Jeżeli masz kilka monitorów, wyłącz tą opcję." -#: app/optionWindow.py:386 +#: app/optionWindow.py msgid "Keep loading screens on top" msgstr "Trzymaj ekrany ładowania na wierzchu" -#: app/optionWindow.py:388 -msgid "" -"Force loading screens to be on top of other windows. Since they don't " -"appear on the taskbar/dock, they can't be brought to the top easily " -"again." -msgstr "" -"Wymuś, by ekrany ładowania zawsze znajdowały się na wierzchu. Ponieważ " -"nie wyświetlają się na pasku zadań, nie mogą łatwo zostać wysunięte na " -"wierzch z powrotem." +#: app/optionWindow.py +msgid "Force loading screens to be on top of other windows. Since they don't appear on the taskbar/dock, they can't be brought to the top easily again." +msgstr "Wymuś, by ekrany ładowania zawsze znajdowały się na wierzchu. Ponieważ nie wyświetlają się na pasku zadań, nie mogą łatwo zostać wysunięte na wierzch z powrotem." -#: app/optionWindow.py:397 +#: app/optionWindow.py msgid "Reset All Window Positions" msgstr "Resetuj pozycję wszystkich okien" -#: app/optionWindow.py:411 +#: app/optionWindow.py msgid "Log missing entity counts" msgstr "Loguj brakujące liczby jednostek" -#: app/optionWindow.py:412 -msgid "" -"When loading items, log items with missing entity counts in their " -"properties.txt file." -msgstr "" -"Podczas ładowania przedmiotów, loguj przedmioty z brakującymi liczbami " -"jednostek do ich plików właściwości (properties.txt)" +#: app/optionWindow.py +msgid "When loading items, log items with missing entity counts in their properties.txt file." +msgstr "Podczas ładowania przedmiotów, loguj przedmioty z brakującymi liczbami jednostek do ich plików właściwości (properties.txt)" -#: app/optionWindow.py:420 +#: app/optionWindow.py msgid "Log when item doesn't have a style" msgstr "Loguj, kiedy przedmiot nie ma stylu" -#: app/optionWindow.py:421 -msgid "" -"Log items have no applicable version for a particular style.This usually " -"means it will look very bad." -msgstr "" -"Loguj przedmioty, które nie mają wersji dla aktualnie wybranego stylu. To" -" najczęściej oznacza, że przedmiot będzie wyglądał bardzo źle." +#: app/optionWindow.py +msgid "Log items have no applicable version for a particular style.This usually means it will look very bad." +msgstr "Loguj przedmioty, które nie mają wersji dla aktualnie wybranego stylu. To najczęściej oznacza, że przedmiot będzie wyglądał bardzo źle." -#: app/optionWindow.py:429 +#: app/optionWindow.py msgid "Log when item uses parent's style" msgstr "Loguj, kiedy przedmiot używa stylu pobratymczego" -#: app/optionWindow.py:430 -msgid "" -"Log when an item reuses a variant from a parent style (1970s using 1950s " -"items, for example). This is usually fine, but may need to be fixed." -msgstr "" -"Loguj, kiedy przedmiot używa wariantu ze stylu pobratymczego (np. " -"używanie przedmiotu 1950s w mapie w stylu 1970s). Najczęściej wygląda " -"dobrze, ale mogą być niezbędne poprawki." +#: app/optionWindow.py +msgid "Log when an item reuses a variant from a parent style (1970s using 1950s items, for example). This is usually fine, but may need to be fixed." +msgstr "Loguj, kiedy przedmiot używa wariantu ze stylu pobratymczego (np. używanie przedmiotu 1950s w mapie w stylu 1970s). Najczęściej wygląda dobrze, ale mogą być niezbędne poprawki." -#: app/optionWindow.py:439 +#: app/optionWindow.py msgid "Log missing packfile resources" msgstr "Loguj brakujące źródła z plików paczek" -#: app/optionWindow.py:440 -msgid "" -"Log when the resources a \"PackList\" refers to are not present in the " -"zip. This may be fine (in a prerequisite zip), but it often indicates an " -"error." -msgstr "" -"Loguj, gdy zasoby, do których odnosi się \"PackList\", nie są obecne w " -"pliku zip. Może wyświetlać błąd nawet, gdy jest w porządku (w wymaganym " -"zip-ie)." +#: app/optionWindow.py +msgid "Log when the resources a \"PackList\" refers to are not present in the zip. This may be fine (in a prerequisite zip), but it often indicates an error." +msgstr "Loguj, gdy zasoby, do których odnosi się \"PackList\", nie są obecne w pliku zip. Może wyświetlać błąd nawet, gdy jest w porządku (w wymaganym zip-ie)." -#: app/optionWindow.py:450 +#: app/optionWindow.py msgid "Development Mode" msgstr "Tryb dewelopera" -#: app/optionWindow.py:451 +#: app/optionWindow.py msgid "Enables displaying additional UI specific for development purposes." msgstr "Wyświetlaj dodatkowe UI do celów deweloperskich." -#: app/optionWindow.py:459 +#: app/optionWindow.py msgid "Preserve Game Directories" msgstr "Zachowaj zasoby gry" -#: app/optionWindow.py:461 +#: app/optionWindow.py msgid "" "When exporting, do not copy resources to \n" "\"bee2/\" and \"sdk_content/maps/bee2/\".\n" -"Only enable if you're developing new content, to ensure it is not " -"overwritten." -msgstr "" -"Podczas eksportowania, nie kopiuj źródeł do \"bee2/\" i " -"\"sdk_content/maps/bee2/\". Uruchamiaj tylko, jeżeli tworzysz nową " -"zawartość, aby upewnić się, że nie została nadpisana." +"Only enable if you're developing new content, to ensure it is not overwritten." +msgstr "Podczas eksportowania, nie kopiuj źródeł do \"bee2/\" i \"sdk_content/maps/bee2/\". Uruchamiaj tylko, jeżeli tworzysz nową zawartość, aby upewnić się, że nie została nadpisana." -#: app/optionWindow.py:472 +#: app/optionWindow.py msgid "Show Log Window" msgstr "Pokazuj okienko logów" -#: app/optionWindow.py:474 +#: app/optionWindow.py msgid "Show the log file in real-time." msgstr "Pokazuj plik logów w czasie rzeczywistym." -#: app/optionWindow.py:481 +#: app/optionWindow.py msgid "Force Editor Models" msgstr "Wymuś modele edytora" -#: app/optionWindow.py:482 -msgid "" -"Make all props_map_editor models available for use. Portal 2 has a limit " -"of 1024 models loaded in memory at once, so we need to disable unused " -"ones to free this up." -msgstr "" -"Sprawia, że wszystkie modele props_map_editor są dostępne do użycia. " -"Portal 2 ma limit 1024 modelów załadowanych w pamięci naraz, dlatego " -"trzeba wyłączyć te nieużywane, aby zwolnić miejsce." +#: app/optionWindow.py +msgid "Make all props_map_editor models available for use. Portal 2 has a limit of 1024 models loaded in memory at once, so we need to disable unused ones to free this up." +msgstr "Sprawia, że wszystkie modele props_map_editor są dostępne do użycia. Portal 2 ma limit 1024 modelów załadowanych w pamięci naraz, dlatego trzeba wyłączyć te nieużywane, aby zwolnić miejsce." -#: app/optionWindow.py:493 +#: app/optionWindow.py msgid "Dump All objects" msgstr "Zachowuj wszystkie obiekty" -#: app/optionWindow.py:499 +#: app/optionWindow.py msgid "Dump Items list" msgstr "Zachowuj listę przedmiotów" -#: app/packageMan.py:64 +#: app/packageMan.py msgid "BEE2 - Restart Required!" msgstr "BEE2 - Niezbędny restart!" -#: app/packageMan.py:65 +#: app/packageMan.py msgid "" "Changing enabled packages requires a restart.\n" "Continue?" msgstr "Zmiana włączonych paczek wymaga restartu. Kontynuować?" -#: app/packageMan.py:88 +#: app/packageMan.py msgid "BEE2 - Manage Packages" msgstr "BEE2 - Ustawienia paczek" -#: app/paletteLoader.py:25 +#. i18n: Last exported items +#: app/paletteLoader.py msgid "" msgstr "" -#: app/paletteLoader.py:27 +#. i18n: Empty palette name +#: app/paletteLoader.py msgid "Blank" msgstr "Puste" -#: app/paletteLoader.py:30 +#. i18n: BEEmod 1 palette. +#: app/paletteLoader.py msgid "BEEMod" msgstr "BEEMod" -#: app/paletteLoader.py:32 +#. i18n: Default items merged together +#: app/paletteLoader.py msgid "Portal 2 Collapsed" msgstr "Portal 2 - Złożone" -#: app/richTextBox.py:176 +#: app/richTextBox.py msgid "Open \"{}\" in the default browser?" msgstr "Otworzyć \"{}\" w domyślnej przeglądarce?" -#: app/selector_win.py:401 +#. i18n: 'None' item description +#: app/selector_win.py msgid "Do not add anything." msgstr "Nie dodawaj niczego." -#: app/selector_win.py:405 +#: app/selector_win.py msgid "" msgstr "" -#: app/selector_win.py:583 app/selector_win.py:588 +#: app/selector_win.py msgid "Suggested" msgstr "Sugestowane" -#: app/selector_win.py:636 +#: app/selector_win.py msgid "Play a sample of this item." msgstr "Graj próbę tego przedmiotu." -#: app/selector_win.py:710 +#: app/selector_win.py msgid "Reset to Default" msgstr "Zresetuj do domyślnych" -#: app/selector_win.py:884 +#: app/selector_win.py msgid "Other" msgstr "Inne" -#: app/selector_win.py:1096 +#: app/selector_win.py msgid "Author: {}" msgid_plural "Authors: {}" msgstr[0] "Autor: {}" msgstr[1] "Autorzy: {}" msgstr[2] "Autorzy: {}" -#: app/selector_win.py:1163 +#: app/selector_win.py msgid "Color: R={r}, G={g}, B={b}" msgstr "Kolory: R={r}, G={g}, B={b}" -#: app/signage_ui.py:135 app/signage_ui.py:259 +#: app/signage_ui.py msgid "Configure Signage" msgstr "Konfiguruj symbole" -#: app/signage_ui.py:139 +#: app/signage_ui.py msgid "Selected" msgstr "Wybrane" -#: app/signage_ui.py:203 +#: app/signage_ui.py msgid "Signage: {}" msgstr "Symbol: {}" -#: app/voiceEditor.py:33 +#: app/tagsPane.py +msgid "Tags" +msgstr "Tagi" + +#: app/tagsPane.py +msgid "Authors" +msgstr "Autorzy" + +#: app/tagsPane.py +msgid "Any" +msgstr "Jakiekolwiek" + +#: app/tagsPane.py +msgid "All" +msgstr "Wszystkie" + +#: app/tagsPane.py +msgid "Available Tags (click):" +msgstr "Dostępne tagi (kliknij):" + +#: app/voiceEditor.py msgid "Singleplayer" msgstr "Tryb jednoosobowy" -#: app/voiceEditor.py:34 +#: app/voiceEditor.py msgid "Cooperative" msgstr "Tryb kooperacji" -#: app/voiceEditor.py:35 +#: app/voiceEditor.py msgid "ATLAS (SP/Coop)" msgstr "ATLAS (1-os. i 2-os.)" -#: app/voiceEditor.py:36 +#: app/voiceEditor.py msgid "P-Body (SP/Coop)" msgstr "P-Body (1-os. i 2-os.)" -#: app/voiceEditor.py:39 +#: app/voiceEditor.py msgid "Human characters (Bendy and Chell)" msgstr "Postacie ludzkie (Bendy i Chell)" -#: app/voiceEditor.py:40 +#: app/voiceEditor.py msgid "AI characters (ATLAS, P-Body, or Coop)" msgstr "SI (ATLAS, P-Body i tryb 2-os.)" -#: app/voiceEditor.py:51 +#: app/voiceEditor.py msgid "Death - Toxic Goo" msgstr "Śmierć - Toksyczna maź" -#: app/voiceEditor.py:52 +#: app/voiceEditor.py msgid "Death - Turrets" msgstr "Śmierć - Wieżyczki" -#: app/voiceEditor.py:53 +#: app/voiceEditor.py msgid "Death - Crusher" msgstr "Śmierć - Zgniatacz" -#: app/voiceEditor.py:54 +#: app/voiceEditor.py msgid "Death - LaserField" msgstr "Śmierć - Pole laserowe" -#: app/voiceEditor.py:105 +#: app/voiceEditor.py msgid "Transcript:" msgstr "Transkrypcja:" -#: app/voiceEditor.py:144 +#: app/voiceEditor.py msgid "Save" msgstr "Zapisz" -#: app/voiceEditor.py:219 +#: app/voiceEditor.py msgid "Resp" msgstr "Odp" -#: app/voiceEditor.py:236 +#: app/voiceEditor.py msgid "BEE2 - Configure \"{}\"" msgstr "BEE2 - Konfiguracja {}" -#: app/voiceEditor.py:313 +#: app/voiceEditor.py msgid "Mid - Chamber" msgstr "Podczas testu" -#: app/voiceEditor.py:315 -msgid "" -"Lines played during the actual chamber, after specific events have " -"occurred." +#: app/voiceEditor.py +msgid "Lines played during the actual chamber, after specific events have occurred." msgstr "Ścieżki grane podczas właściwego testu, po pewnych wydarzeniach." -#: app/voiceEditor.py:321 +#: app/voiceEditor.py msgid "Responses" msgstr "Odpowiedzi" -#: app/voiceEditor.py:323 +#: app/voiceEditor.py msgid "Lines played in response to certain events in Coop." msgstr "Ścieżki grane w odpowiedzi na odpowiednie wydarzenia w trybie 2-os." -#: app/voiceEditor.py:421 +#: app/voiceEditor.py msgid "No Name!" msgstr "Brak nazwy!" -#: app/voiceEditor.py:456 +#: app/voiceEditor.py msgid "No Name?" msgstr "Bez nazwy?" -#~ msgid "Coop:" -#~ msgstr "Wyjście (tryb 2-os.)" - -#~ msgid "Tags" -#~ msgstr "Tagi" - -#~ msgid "Authors" -#~ msgstr "Autorzy" - -#~ msgid "Any" -#~ msgstr "Jakiekolwiek" - -#~ msgid "All" -#~ msgstr "Wszystkie" - -#~ msgid "Available Tags (click):" -#~ msgstr "Dostępne tagi (kliknij):" - +#: app/CompilerPane.py +msgid "Coop Exit:" +msgstr "Wyjście (tryb 2-os.):" From 07a8a2c4cdd52b32ff48100f5a496f879e96aa7f Mon Sep 17 00:00:00 2001 From: TeamSpen210 Date: Tue, 23 Feb 2021 15:06:18 +1000 Subject: [PATCH 14/19] We only need to compute the install path once --- src/utils.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/utils.py b/src/utils.py index ab4ce2a41..4c04a6b6a 100644 --- a/src/utils.py +++ b/src/utils.py @@ -82,15 +82,18 @@ if _SETTINGS_ROOT: _SETTINGS_ROOT /= 'BEEMOD2' +if FROZEN: + # This special attribute is set by PyInstaller to our folder. + _INSTALL_ROOT = Path(sys._MEIPASS) +else: + # We're running from src/, so data is in the folder above that. + # Go up once from the file to its containing folder, then to the parent. + _INSTALL_ROOT = Path(sys.argv[0]).resolve().parent.parent + def install_path(path: str) -> Path: """Return the path to a file inside our installation folder.""" - if FROZEN: - # This special attribute is set by PyInstaller to our folder. - return Path(sys._MEIPASS) / path - else: - # We're running from src/, so data is in the folder above that. - return (Path(sys.argv[0]).parent.parent / path).resolve() + return _INSTALL_ROOT / path def conf_location(path: str) -> Path: From 8aab09e496eb907f9cfc4cbf7282ba630140bd85 Mon Sep 17 00:00:00 2001 From: TeamSpen210 Date: Tue, 23 Feb 2021 15:28:10 +1000 Subject: [PATCH 15/19] Fix #1506: Improperly converting legacy inputs to BEE method --- src/editoritems.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/editoritems.py b/src/editoritems.py index 794b0e265..e05a2d613 100644 --- a/src/editoritems.py +++ b/src/editoritems.py @@ -1220,9 +1220,9 @@ def _finalise_connections(self) -> None: if ConnTypes.NORMAL in self.conn_inputs: conn = self.conn_inputs.pop(ConnTypes.NORMAL) if conn.activate is not None: - conf.enable_cmd += ((conn.act_name, conn.activate),) + conf.enable_cmd += (Output('', '', conn.activate, inst_in=conn.act_name), ) if conn.deactivate is not None: - conf.disable_cmd += ((conn.deact_name, conn.deactivate),) + conf.disable_cmd += (Output('', '', conn.deactivate, inst_in=conn.deact_name), ) if ConnTypes.POLARITY in self.conn_inputs: if self.id.upper() != 'ITEM_TBEAM': From 2019cad494793095dcd6a5df87fbcd88cb38b33f Mon Sep 17 00:00:00 2001 From: TeamSpen210 Date: Fri, 26 Feb 2021 11:11:18 +1000 Subject: [PATCH 16/19] Correctly handle a palette containing subtypes which are no longer defined --- src/app/UI.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/app/UI.py b/src/app/UI.py index c1895ee68..a87761e56 100644 --- a/src/app/UI.py +++ b/src/app/UI.py @@ -1105,10 +1105,10 @@ def set_palette(e=None): LOGGER.warning('Unknown item "{}"! for palette', item) continue - if sub >= len(item_group.def_data.editor.subtypes): + if sub not in item_group.visual_subtypes: LOGGER.warning( - 'Palette had incorrect subtype for "{}" ({} > {})!', - item, sub, len(item_group.def_data.editor.subtypes) - 1, + 'Palette had incorrect subtype {} for "{}"! Valid subtypes: {}!', + item, sub, item_group.visual_subtypes, ) continue From 452dfe4c50a90cc7aa27cf499be9a271830e3509 Mon Sep 17 00:00:00 2001 From: Luke18033 Date: Sat, 27 Feb 2021 14:16:41 -0800 Subject: [PATCH 17/19] Fix formatting errors in Polish localization file --- i18n/pl.po | 1186 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 699 insertions(+), 487 deletions(-) diff --git a/i18n/pl.po b/i18n/pl.po index 672f03d77..a8abd8cb9 100644 --- a/i18n/pl.po +++ b/i18n/pl.po @@ -1,697 +1,829 @@ + msgid "" msgstr "" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.4.2\n" "Project-Id-Version: BEE2 mod translations\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"POT-Creation-Date: \n" -"PO-Revision-Date: \n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2021-02-27 14:14-0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: \n" +"Language: pl\n" "Language-Team: \n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && " +"(n%100<10 || n%100>=20) ? 1 : 2)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.0\n" -#: loadScreen.py +#: loadScreen.py:199 msgid "Skipped!" msgstr "Pominięto!" -#: loadScreen.py +#: loadScreen.py:200 msgid "Version: " msgstr "Wersja: " -#: app/optionWindow.py app/packageMan.py app/selector_win.py loadScreen.py +#: app/optionWindow.py:260 app/packageMan.py:116 app/selector_win.py:721 +#: loadScreen.py:201 msgid "Cancel" msgstr "Anuluj" -#: app/tagsPane.py loadScreen.py +#: loadScreen.py:211 msgid "Packages" msgstr "Paczki" -#: loadScreen.py +#: loadScreen.py:212 msgid "Loading Objects" msgstr "Ładowanie obiektów" -#: loadScreen.py +#: loadScreen.py:213 msgid "Loading Images" msgstr "Ładowanie obrazów" -#: loadScreen.py +#: loadScreen.py:214 msgid "Initialising UI" msgstr "Inicjacja interfejsu" -#: loadScreen.py +#: loadScreen.py:215 msgid "Better Extended Editor for Portal 2" msgstr "Lepiej Rozwinięty Edytor map dla Portal 2" -#: utils.py +#: utils.py:895 msgid "__LANG_USE_SANS_SERIF__" msgstr "__LANG_USE_SANS_SERIF__" -#: app/CheckDetails.py +#: app/CheckDetails.py:219 msgid "Toggle all checkboxes." msgstr "Zaznacz wszystko." -#: app/CompilerPane.py +#: app/CompilerPane.py:64 msgid "ATLAS" msgstr "ATLAS" -#: app/CompilerPane.py +#: app/CompilerPane.py:65 msgid "P-Body" msgstr "P-Body" -#: app/CompilerPane.py app/voiceEditor.py +#: app/CompilerPane.py:66 app/voiceEditor.py:38 msgid "Chell" msgstr "Chell" -#: app/CompilerPane.py app/voiceEditor.py +#: app/CompilerPane.py:67 app/voiceEditor.py:37 msgid "Bendy" msgstr "Bendy" -#: app/CompilerPane.py -msgid "Brushes form the walls or other parts of the test chamber. If this is high, it may help to reduce the size of the map or remove intricate shapes." -msgstr "Pędzle tworzą ściany i inne części komory. Jeżeli ta wartość jest wysoka, pomóc może zmniejszenie rozmiaru mapy lub usunięcie zawiłych kształtów." +#: app/CompilerPane.py:120 +msgid "" +"Brushes form the walls or other parts of the test chamber. If this is " +"high, it may help to reduce the size of the map or remove intricate " +"shapes." +msgstr "" +"Pędzle tworzą ściany i inne części komory. Jeżeli ta wartość jest wysoka," +" pomóc może zmniejszenie rozmiaru mapy lub usunięcie zawiłych kształtów." -#: app/CompilerPane.py +#: app/CompilerPane.py:127 msgid "" -"Entities are the things in the map that have functionality. Removing complex moving items will help reduce this. Items have their entity count listed in the item description window.\n" +"Entities are the things in the map that have functionality. Removing " +"complex moving items will help reduce this. Items have their entity count" +" listed in the item description window.\n" "\n" -"This isn't completely accurate, some entity types are counted here but don't affect the ingame limit, while others may generate additional entities at runtime." +"This isn't completely accurate, some entity types are counted here but " +"don't affect the ingame limit, while others may generate additional " +"entities at runtime." msgstr "" -"Jednostki to elementy mapy, które posiadają funkcję. Usunięcie dużych grup ruchomych i interaktywnych elementów zmniejszy tą wartość. Przedmioty mają swoją wartość jednostki w oknie opisu.\n" +"Jednostki to elementy mapy, które posiadają funkcję. Usunięcie dużych " +"grup ruchomych i interaktywnych elementów zmniejszy tą wartość. " +"Przedmioty mają swoją wartość jednostki w oknie opisu.\n" "\n" -"Wartość ta nie jest w pełni dokładna, niektóre typy jednostek są tu wliczane, ale nie wpływają na limit w grze, a inne mogą generować dodatkowe, niepokazane tu wartości." +"Wartość ta nie jest w pełni dokładna, niektóre typy jednostek są tu " +"wliczane, ale nie wpływają na limit w grze, a inne mogą generować " +"dodatkowe, niepokazane tu wartości." -#: app/CompilerPane.py -msgid "Overlays are smaller images affixed to surfaces, like signs or indicator lights. Hiding complex antlines or setting them to signage will reduce this." -msgstr "Nakładki to mniejsze obrazki naklejone na powierchnie, jak znaki albo znaczniki świetlne. Ukrycie skomplikowanych znaczników lub wymiana ich na znaki zmniejszy tą wartość." +#: app/CompilerPane.py:137 +msgid "" +"Overlays are smaller images affixed to surfaces, like signs or indicator " +"lights. Hiding complex antlines or setting them to signage will reduce " +"this." +msgstr "" +"Nakładki to mniejsze obrazki naklejone na powierchnie, jak znaki albo " +"znaczniki świetlne. Ukrycie skomplikowanych znaczników lub wymiana ich na" +" znaki zmniejszy tą wartość." -#: app/CompilerPane.py +#: app/CompilerPane.py:273 msgid "Corridor" msgstr "Korytarz" -#: app/CompilerPane.py -msgid "Randomly choose a corridor. This is saved in the puzzle data and will not change." -msgstr "Losowo wybiera korytarz. Raz wybrany jest zapisywany w danych mapy i się nie zmieni." +#: app/CompilerPane.py:314 +msgid "" +"Randomly choose a corridor. This is saved in the puzzle data and will not" +" change." +msgstr "" +"Losowo wybiera korytarz. Raz wybrany jest zapisywany w danych mapy i się " +"nie zmieni." -#: app/CompilerPane.py app/UI.py +#: app/CompilerPane.py:320 app/UI.py:632 msgid "Random" msgstr "Losowo" -#: app/CompilerPane.py +#: app/CompilerPane.py:419 msgid "Image Files" msgstr "Pliki obrazów" -#: app/CompilerPane.py +#: app/CompilerPane.py:502 msgid "" "Options on this panel can be changed \n" "without exporting or restarting the game." -msgstr "Opcje w tym panelu mogą być zmieniane bez eksportowania lub restartowania gry." +msgstr "" +"Opcje w tym panelu mogą być zmieniane bez eksportowania lub restartowania" +" gry." -#: app/CompilerPane.py +#: app/CompilerPane.py:517 msgid "Map Settings" msgstr "Ustawienia mapy" -#: app/CompilerPane.py +#: app/CompilerPane.py:522 msgid "Compile Settings" msgstr "Ustawienia kompilatora" -#: app/CompilerPane.py +#: app/CompilerPane.py:536 msgid "Thumbnail" msgstr "Miniaturka" -#: app/CompilerPane.py +#: app/CompilerPane.py:544 msgid "Auto" msgstr "Automatycznie" -#: app/CompilerPane.py +#: app/CompilerPane.py:552 msgid "PeTI" msgstr "Ustawiczna Inicjatywa Testowania" -#: app/CompilerPane.py +#: app/CompilerPane.py:560 msgid "Custom:" msgstr "Własny:" -#: app/CompilerPane.py +#: app/CompilerPane.py:578 msgid "Cleanup old screenshots" msgstr "Wyczyść stare zrzuty ekranu" -#: app/CompilerPane.py -msgid "Override the map image to use a screenshot automatically taken from the beginning of a chamber. Press F5 to take a new screenshot. If the map has not been previewed recently (within the last few hours), the default PeTI screenshot will be used instead." -msgstr "Zastępuje domyślny obrazek mapy zrzutem ekranu zrobionym automatycznie na początku komory. Naciśnij F5, aby zrobić nowy zrzut. Jeśli podgląd mapy nie był wykonywany w ciągu ostatnich kilku godzin, domyślny obrazek zostanie użyty w zamian." +#: app/CompilerPane.py:588 +msgid "" +"Override the map image to use a screenshot automatically taken from the " +"beginning of a chamber. Press F5 to take a new screenshot. If the map has" +" not been previewed recently (within the last few hours), the default " +"PeTI screenshot will be used instead." +msgstr "" +"Zastępuje domyślny obrazek mapy zrzutem ekranu zrobionym automatycznie na" +" początku komory. Naciśnij F5, aby zrobić nowy zrzut. Jeśli podgląd mapy " +"nie był wykonywany w ciągu ostatnich kilku godzin, domyślny obrazek " +"zostanie użyty w zamian." -#: app/CompilerPane.py +#: app/CompilerPane.py:596 msgid "Use the normal editor view for the map preview image." msgstr "Użyj normalnego widoku z edytora jako podgląd mapy" -#: app/CompilerPane.py +#: app/CompilerPane.py:598 msgid "" -"Use a custom image for the map preview image. Click the screenshot to select.\n" +"Use a custom image for the map preview image. Click the screenshot to " +"select.\n" "Images will be converted to JPEGs if needed." msgstr "" -"Użyj własnego obrazka do podglądu mapy. Kliknij na zrzut ekranu, aby wybrać.\n" +"Użyj własnego obrazka do podglądu mapy. Kliknij na zrzut ekranu, aby " +"wybrać.\n" "Obrazki będą w razie potrzeby konwertowane do formatu JPEG." -#: app/CompilerPane.py -msgid "Automatically delete unused Automatic screenshots. Disable if you want to keep things in \"portal2/screenshots\". " -msgstr "Automatycznie usuwa niepotrzebne zrzuty ekranu zrobione automatycznie. Wyłącz, jeżeli chcesz je przechowywać w folderze \"portal2/screenshots\". " +#: app/CompilerPane.py:615 +msgid "" +"Automatically delete unused Automatic screenshots. Disable if you want to" +" keep things in \"portal2/screenshots\". " +msgstr "" +"Automatycznie usuwa niepotrzebne zrzuty ekranu zrobione automatycznie. " +"Wyłącz, jeżeli chcesz je przechowywać w folderze \"portal2/screenshots\"." +" " -#: app/CompilerPane.py +#: app/CompilerPane.py:626 msgid "Lighting:" msgstr "Oświetlenie:" -#: app/CompilerPane.py +#: app/CompilerPane.py:633 msgid "Fast" msgstr "Szybkie" -#: app/CompilerPane.py +#: app/CompilerPane.py:640 msgid "Full" msgstr "Pełne" -#: app/CompilerPane.py +#: app/CompilerPane.py:648 msgid "" -"Compile with lower-quality, fast lighting. This speeds up compile times, but does not appear as good. Some shadows may appear wrong.\n" +"Compile with lower-quality, fast lighting. This speeds up compile times, " +"but does not appear as good. Some shadows may appear wrong.\n" "When publishing, this is ignored." msgstr "" -"Kompiluje z szybkim oświetleniem gorszej jakości. Przyspiesza ładowanie, ale nie wygląda tak dobrze. Niektóre cienie mogą wyglądać źle.\n" +"Kompiluje z szybkim oświetleniem gorszej jakości. Przyspiesza ładowanie, " +"ale nie wygląda tak dobrze. Niektóre cienie mogą wyglądać źle.\n" "Używanie tylko w podglądzie mapy w edytorze." -#: app/CompilerPane.py +#: app/CompilerPane.py:655 msgid "" -"Compile with high-quality lighting. This looks correct, but takes longer to compute. Use if you're arranging lights.\n" +"Compile with high-quality lighting. This looks correct, but takes longer " +"to compute. Use if you're arranging lights.\n" "When publishing, this is always used." msgstr "" -"Kompiluje z oświetleniem wysokiej jakości. Wygląda poprawnie, ale obliczanie jest dłuższe. Używaj jeżeli aranżujesz oświetlenie.\n" +"Kompiluje z oświetleniem wysokiej jakości. Wygląda poprawnie, ale " +"obliczanie jest dłuższe. Używaj jeżeli aranżujesz oświetlenie.\n" "Zawsze używane podczas publikowania mapy." -#: app/CompilerPane.py +#: app/CompilerPane.py:662 msgid "Dump packed files to:" msgstr "Zachowuj zapakowane pliki w:" -#: app/CompilerPane.py -msgid "When compiling, dump all files which were packed into the map. Useful if you're intending to edit maps in Hammer." -msgstr "Podczas kompilacji, zapisuje wszystkie zapakowane pliki do pliku mapy. Użyteczne, jeżeli zamierzać modyfikować mapy w edytorze Hammer." +#: app/CompilerPane.py:687 +msgid "" +"When compiling, dump all files which were packed into the map. Useful if " +"you're intending to edit maps in Hammer." +msgstr "" +"Podczas kompilacji, zapisuje wszystkie zapakowane pliki do pliku mapy. " +"Użyteczne, jeżeli zamierzać modyfikować mapy w edytorze Hammer." -#: app/CompilerPane.py +#: app/CompilerPane.py:693 msgid "Last Compile:" msgstr "Ostatnia kompilacja:" -#: app/CompilerPane.py +#: app/CompilerPane.py:703 msgid "Entity" msgstr "Jednostki" -#: app/CompilerPane.py +#: app/CompilerPane.py:723 msgid "Overlay" msgstr "Nakładki" -#: app/CompilerPane.py -msgid "Refresh the compile progress bars. Press after a compile has been performed to show the new values." -msgstr "Odśwież statystyki kompilacji. Naciśnij po wykonaniu nowej kompilacji, aby pokazać zaktualizowane wartości." +#: app/CompilerPane.py:742 +msgid "" +"Refresh the compile progress bars. Press after a compile has been " +"performed to show the new values." +msgstr "" +"Odśwież statystyki kompilacji. Naciśnij po wykonaniu nowej kompilacji, " +"aby pokazać zaktualizowane wartości." -#: app/CompilerPane.py +#: app/CompilerPane.py:748 msgid "Brush" msgstr "Pędzel" -#: app/CompilerPane.py +#: app/CompilerPane.py:776 msgid "Voicelines:" msgstr "Ścieżki głosowe:" -#: app/CompilerPane.py +#: app/CompilerPane.py:783 msgid "Use voiceline priorities" msgstr "Używaj priorytetowych ścieżek głosowych" -#: app/CompilerPane.py -msgid "Only choose the highest-priority voicelines. This means more generic lines will can only be chosen if few test elements are in the map. If disabled any applicable lines will be used." -msgstr "Wybiera tylko najważniejsze ścieżki głosowe. Oznacza to, że bardziej szczegółowe ścieżki pojawią się tylko, gdy większa liczba elementów testowych pojawia się na mapie. Jeśli wyłączone, wszystkie odpowiednie ścieżki będą użyte." +#: app/CompilerPane.py:789 +msgid "" +"Only choose the highest-priority voicelines. This means more generic " +"lines will can only be chosen if few test elements are in the map. If " +"disabled any applicable lines will be used." +msgstr "" +"Wybiera tylko najważniejsze ścieżki głosowe. Oznacza to, że bardziej " +"szczegółowe ścieżki pojawią się tylko, gdy większa liczba elementów " +"testowych pojawia się na mapie. Jeśli wyłączone, wszystkie odpowiednie " +"ścieżki będą użyte." -#: app/CompilerPane.py +#: app/CompilerPane.py:796 msgid "Spawn at:" msgstr "Spawn:" -#: app/CompilerPane.py +#: app/CompilerPane.py:807 msgid "Entry Door" msgstr "przy drzwiach wejściowych" -#: app/CompilerPane.py +#: app/CompilerPane.py:814 msgid "Elevator" msgstr "w windzie" -#: app/CompilerPane.py -msgid "When previewing in SP, spawn inside the entry elevator. Use this to examine the entry and exit corridors." -msgstr "Podczas podglądu w grze jednoosobowej, spawn nastąpi w wejściowej windzie. Używaj, jeśli chcesz przetestować wejściowe i wyjściowe korytarze." +#: app/CompilerPane.py:824 +msgid "" +"When previewing in SP, spawn inside the entry elevator. Use this to " +"examine the entry and exit corridors." +msgstr "" +"Podczas podglądu w grze jednoosobowej, spawn nastąpi w wejściowej " +"windzie. Używaj, jeśli chcesz przetestować wejściowe i wyjściowe " +"korytarze." -#: app/CompilerPane.py +#: app/CompilerPane.py:829 msgid "When previewing in SP, spawn just before the entry door." -msgstr "Podczas podglądu w grze jednoosobowej, spawn nastąpi tuż przed drzwiami wejściowymi." +msgstr "" +"Podczas podglądu w grze jednoosobowej, spawn nastąpi tuż przed drzwiami " +"wejściowymi." -#: app/CompilerPane.py +#: app/CompilerPane.py:835 msgid "Corridor:" msgstr "Korytarz:" -#: app/CompilerPane.py +#: app/CompilerPane.py:853 msgid "SP Entry:" msgstr "Wejście (tryb 1-os.)" -#: app/CompilerPane.py +#: app/CompilerPane.py:858 msgid "SP Exit:" msgstr "Wyjście (tryb 1-os.)" -#: src/CompilerPane.py:779 -msgid "Coop:" -msgstr "Wyjście (tryb 2-os.)" +#: app/CompilerPane.py:863 +msgid "Coop Exit:" +msgstr "Wyjście (tryb 2-os.):" -#: app/CompilerPane.py +#: app/CompilerPane.py:869 msgid "Player Model (SP):" msgstr "Model gracza (tryb 1-os.)" -#: app/CompilerPane.py +#: app/CompilerPane.py:893 msgid "Compile Options" msgstr "Opcje kompilacji" -#: app/CompilerPane.py +#: app/CompilerPane.py:911 msgid "Compiler Options - {}" msgstr "Opcje kompilatora - {}" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:30 msgid "Multiverse Cave" msgstr "Cave z multiwersum" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:32 msgid "Play the Workshop Cave Johnson lines on map start." msgstr "Odtwarza ścieżki Cave'a Johnsona na starcie mapy." -#: app/StyleVarPane.py +#: app/StyleVarPane.py:37 msgid "Prevent Portal Bump (fizzler)" msgstr "Zapobiegaj kolizjom portali (siatka demat.)" -#: app/StyleVarPane.py -msgid "Add portal bumpers to make it more difficult to portal across fizzler edges. This can prevent placing portals in tight spaces near fizzlers, or fizzle portals on activation." -msgstr "Dodaje ochraniacze portali, aby utrudnić położenie portali niedaleko krawędzi siatek dematerializujących. Może to zapobiec kładzeniu portali w szczelinach niedaleko siatek, albo dematerializowaniu portali podczas aktywacji." +#: app/StyleVarPane.py:39 +msgid "" +"Add portal bumpers to make it more difficult to portal across fizzler " +"edges. This can prevent placing portals in tight spaces near fizzlers, or" +" fizzle portals on activation." +msgstr "" +"Dodaje ochraniacze portali, aby utrudnić położenie portali niedaleko " +"krawędzi siatek dematerializujących. Może to zapobiec kładzeniu portali w" +" szczelinach niedaleko siatek, albo dematerializowaniu portali podczas " +"aktywacji." -#: app/StyleVarPane.py +#: app/StyleVarPane.py:46 msgid "Suppress Mid-Chamber Dialogue" msgstr "Usuń dialog w środku komory" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:48 msgid "Disable all voicelines other than entry and exit lines." msgstr "Wyłącza wszystkie ścieżki głosowe inne niż ścieżki wejścia i wyjścia." -#: app/StyleVarPane.py +#: app/StyleVarPane.py:53 msgid "Unlock Default Items" msgstr "Odblokuj domyślne przedmioty" -#: app/StyleVarPane.py -msgid "Allow placing and deleting the mandatory Entry/Exit Doors and Large Observation Room. Use with caution, this can have weird results!" -msgstr "Umożliwia umieszczanie i usuwanie niezbędnych drzwi wejściowych i wyjściowych oraz dużego pokoju obserwacyjnego. Używaj z ostrożnością, może to powodować dziwne rezultaty!" +#: app/StyleVarPane.py:55 +msgid "" +"Allow placing and deleting the mandatory Entry/Exit Doors and Large " +"Observation Room. Use with caution, this can have weird results!" +msgstr "" +"Umożliwia umieszczanie i usuwanie niezbędnych drzwi wejściowych i " +"wyjściowych oraz dużego pokoju obserwacyjnego. Używaj z ostrożnością, " +"może to powodować dziwne rezultaty!" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:62 msgid "Allow Adding Goo Mist" msgstr "Pozwól na mgłę nad mazią" -#: app/StyleVarPane.py -msgid "Add mist particles above Toxic Goo in certain styles. This can increase the entity count significantly with large, complex goo pits, so disable if needed." -msgstr "Dodaje cząsteczki mgły nad toksyczną mazią w niektórych stylach. Może to zwiększyć znacząco ilość jednostek w mapach z dużymi, złożonymi dołami z mazią, więc wyłącz, jeśli będzie to konieczne." +#: app/StyleVarPane.py:64 +msgid "" +"Add mist particles above Toxic Goo in certain styles. This can increase " +"the entity count significantly with large, complex goo pits, so disable " +"if needed." +msgstr "" +"Dodaje cząsteczki mgły nad toksyczną mazią w niektórych stylach. Może to " +"zwiększyć znacząco ilość jednostek w mapach z dużymi, złożonymi dołami z " +"mazią, więc wyłącz, jeśli będzie to konieczne." -#: app/StyleVarPane.py +#: app/StyleVarPane.py:71 msgid "Light Reversible Excursion Funnels" msgstr "Światło w odwracanych tubach transportujących" -#: app/StyleVarPane.py -msgid "Funnels emit a small amount of light. However, if multiple funnels are near each other and can reverse polarity, this can cause lighting issues. Disable this to prevent that by disabling lights. Non-reversible Funnels do not have this issue." -msgstr "Tuby emitują niewielką ilość światła. Jednak, gdy wiele tub jest blisko siebie i mogą one zmieniać kierunek, może to powodować błędy w oświetleniu. Odznacz, by zapobiec temu wyłączając emitowane światło. Nieodwracalne tuby nie mają tego problemu." +#: app/StyleVarPane.py:73 +msgid "" +"Funnels emit a small amount of light. However, if multiple funnels are " +"near each other and can reverse polarity, this can cause lighting issues." +" Disable this to prevent that by disabling lights. Non-reversible Funnels" +" do not have this issue." +msgstr "" +"Tuby emitują niewielką ilość światła. Jednak, gdy wiele tub jest blisko " +"siebie i mogą one zmieniać kierunek, może to powodować błędy w " +"oświetleniu. Odznacz, by zapobiec temu wyłączając emitowane światło. " +"Nieodwracalne tuby nie mają tego problemu." -#: app/StyleVarPane.py +#: app/StyleVarPane.py:81 msgid "Enable Shape Framing" msgstr "Włącz ramki dla znaków" -#: app/StyleVarPane.py -msgid "After 10 shape-type antlines are used, the signs repeat. With this enabled, colored frames will be added to distinguish them." -msgstr "Po użyciu 10 znaczników-symboli, symbole zaczną się powtarzać. Gdy ta opcja jest włączona, kolorowe ramki będą dodane, by je rozróżnić." +#: app/StyleVarPane.py:83 +msgid "" +"After 10 shape-type antlines are used, the signs repeat. With this " +"enabled, colored frames will be added to distinguish them." +msgstr "" +"Po użyciu 10 znaczników-symboli, symbole zaczną się powtarzać. Gdy ta " +"opcja jest włączona, kolorowe ramki będą dodane, by je rozróżnić." -#: app/StyleVarPane.py +#: app/StyleVarPane.py:152 msgid "Default: On" msgstr "Domyślnie włączone" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:154 msgid "Default: Off" msgstr "Domyślnie wyłączone" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:158 msgid "Styles: Unstyled" msgstr "Style: Bez stylów" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:168 msgid "Styles: All" msgstr "Style: Wszystkie" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:176 msgid "Style: {}" msgid_plural "Styles: {}" msgstr[0] "Styl: {}" msgstr[1] "Style: {}" msgstr[2] "Style: {}" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:229 msgid "Style/Item Properties" msgstr "Właściwości stylów i przedmiotów" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:248 msgid "Styles" msgstr "Style" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:267 msgid "All:" msgstr "Wszystkie:" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:270 msgid "Selected Style:" msgstr "Wybrany styl:" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:278 msgid "Other Styles:" msgstr "Pozostałe style:" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:283 msgid "No Options!" msgstr "Brak opcji!" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:289 msgid "None!" msgstr "Brak!" -#: app/StyleVarPane.py +#: app/StyleVarPane.py:358 msgid "Items" msgstr "Przedmioty" -#: app/SubPane.py +#: app/SubPane.py:85 msgid "Hide/Show the \"{}\" window." msgstr "Pokaż/ukryj okno \"{}\"" -#: app/UI.py +#: app/UI.py:72 msgid "Export..." msgstr "Wyeksportuj..." -#: app/UI.py +#: app/UI.py:566 msgid "Select Skyboxes" msgstr "Wybierz skybox" -#: app/UI.py -msgid "The skybox decides what the area outside the chamber is like. It chooses the colour of sky (seen in some items), the style of bottomless pit (if present), as well as color of \"fog\" (seen in larger chambers)." -msgstr "Skybox decyduje jak wygląda przestrzeń poza komorą testową. Wybiera on kolor nieba (widoczny na niektórych przedmiotach), styl bezdennej otchłani (jeśli obecna), a także kolor \"mgły\" (widocznej w większych komorach)." +#: app/UI.py:567 +msgid "" +"The skybox decides what the area outside the chamber is like. It chooses " +"the colour of sky (seen in some items), the style of bottomless pit (if " +"present), as well as color of \"fog\" (seen in larger chambers)." +msgstr "" +"Skybox decyduje jak wygląda przestrzeń poza komorą testową. Wybiera on " +"kolor nieba (widoczny na niektórych przedmiotach), styl bezdennej " +"otchłani (jeśli obecna), a także kolor \"mgły\" (widocznej w większych " +"komorach)." -#: app/UI.py +#: app/UI.py:575 msgid "3D Skybox" msgstr "Skybox 3D" -#: app/UI.py +#: app/UI.py:576 msgid "Fog Color" msgstr "Kolor mgły" -#: app/UI.py +#: app/UI.py:583 msgid "Select Additional Voice Lines" msgstr "Wybierz dodatkowe ścieżki głosowe" -#: app/UI.py -msgid "Voice lines choose which extra voices play as the player enters or exits a chamber. They are chosen based on which items are present in the map. The additional \"Multiverse\" Cave lines are controlled separately in Style Properties." -msgstr "Dodatkowe ścieżki głosowe grane podczas wykonywania komory testowej. Wybierane są na podstawie elementów testowych obecnych na mapie. Dodatkowe ścieżki Cave'a Johnsona z \"Multiwersum\" są wybierane osobno we właściwościach stylu." +#: app/UI.py:584 +msgid "" +"Voice lines choose which extra voices play as the player enters or exits " +"a chamber. They are chosen based on which items are present in the map. " +"The additional \"Multiverse\" Cave lines are controlled separately in " +"Style Properties." +msgstr "" +"Dodatkowe ścieżki głosowe grane podczas wykonywania komory testowej. " +"Wybierane są na podstawie elementów testowych obecnych na mapie. " +"Dodatkowe ścieżki Cave'a Johnsona z \"Multiwersum\" są wybierane osobno " +"we właściwościach stylu." -#: app/UI.py +#: app/UI.py:589 msgid "Add no extra voice lines, only Multiverse Cave if enabled." msgstr "Nie dodaje żadnych ścieżek, jedynie Cave z multiwersum, jeżeli włączone." -#: app/UI.py +#: app/UI.py:591 msgid "" msgstr "" -#: app/UI.py +#: app/UI.py:595 msgid "Characters" msgstr "Postacie" -#: app/UI.py +#: app/UI.py:596 msgid "Turret Shoot Monitor" msgstr "Wieżyczki strzelają w monitor" -#: app/UI.py +#: app/UI.py:597 msgid "Monitor Visuals" msgstr "Postać na monitorze" -#: app/UI.py +#: app/UI.py:604 msgid "Select Style" msgstr "Wybierz styl" -#: app/UI.py +#: app/UI.py:605 msgid "" -"The Style controls many aspects of the map. It decides the materials used for walls, the appearance of entrances and exits, the design for most items as well as other settings.\n" +"The Style controls many aspects of the map. It decides the materials used" +" for walls, the appearance of entrances and exits, the design for most " +"items as well as other settings.\n" "\n" "The style broadly defines the time period a chamber is set in." msgstr "" -"Styl kontroluje wiele aspektów mapy. Decyduje o materiałach użytych do ścian, wyglądzie wejścia i wyjścia, konstrukcji większości przedmiotów, a także o wielu innych rzeczach.\n" +"Styl kontroluje wiele aspektów mapy. Decyduje o materiałach użytych do " +"ścian, wyglądzie wejścia i wyjścia, konstrukcji większości przedmiotów, a" +" także o wielu innych rzeczach.\n" "\n" "Styl po prostu określa okres czasu, w którym rozgrywana jest komora." -#: app/UI.py +#: app/UI.py:616 msgid "Elevator Videos" msgstr "Filmy przy windzie" -#: app/UI.py +#: app/UI.py:623 msgid "Select Elevator Video" msgstr "Wybierz film" -#: app/UI.py -msgid "Set the video played on the video screens in modern Aperture elevator rooms. Not all styles feature these. If set to \"None\", a random video will be selected each time the map is played, like in the default PeTI." -msgstr "Wybierz film grany na ekranach w pomieszczeniach z windą w nowoczesnym Aperture. Nie wszystkie style zawierają ekrany. Jeżeli ustawony na \"None\", losowy film będzie wybrany za każdym razem, gdy mapa jest grana, jak w domyślnym edytorze." +#: app/UI.py:624 +msgid "" +"Set the video played on the video screens in modern Aperture elevator " +"rooms. Not all styles feature these. If set to \"None\", a random video " +"will be selected each time the map is played, like in the default PeTI." +msgstr "" +"Wybierz film grany na ekranach w pomieszczeniach z windą w nowoczesnym " +"Aperture. Nie wszystkie style zawierają ekrany. Jeżeli ustawony na " +"\"None\", losowy film będzie wybrany za każdym razem, gdy mapa jest " +"grana, jak w domyślnym edytorze." -#: app/UI.py +#: app/UI.py:628 msgid "This style does not have a elevator video screen." msgstr "Ten styl nie ma ekranu na film." -#: app/UI.py +#: app/UI.py:633 msgid "Choose a random video." msgstr "Wybierz dowolny film." -#: app/UI.py +#: app/UI.py:637 msgid "Multiple Orientations" msgstr "Wiele orientacji" -#: app/UI.py +#: app/UI.py:865 msgid "Selected Items and Style successfully exported!" msgstr "Wyeksportowanie wybranych przedmiotów i stylu powiodło się!" -#: app/UI.py +#: app/UI.py:867 msgid "" "\n" "\n" -"Warning: VPK files were not exported, quit Portal 2 and Hammer to ensure editor wall previews are changed." +"Warning: VPK files were not exported, quit Portal 2 and Hammer to ensure " +"editor wall previews are changed." msgstr "" "\n" "\n" -"Uwaga: Pliki VPK nie zostały wyeksportowane, wyjdź z Portal 2 i Hammer aby upewnić się, że podgląd ścian w edytorze się zmienił." +"Uwaga: Pliki VPK nie zostały wyeksportowane, wyjdź z Portal 2 i Hammer " +"aby upewnić się, że podgląd ścian w edytorze się zmienił." -#: app/UI.py +#: app/UI.py:1099 msgid "Delete Palette \"{}\"" msgstr "Usuń paletę \"{}\"" -#: app/UI.py +#: app/UI.py:1182 msgid "BEE2 - Save Palette" msgstr "BEE2 - Zapisz paletę" -#: app/UI.py +#: app/UI.py:1183 msgid "Enter a name:" msgstr "Wpisz nazwę:" -#: app/UI.py +#: app/UI.py:1192 msgid "This palette already exists. Overwrite?" msgstr "Ta paleta już istnieje. Nadpisać?" -#: app/UI.py app/gameMan.py +#: app/UI.py:1224 app/gameMan.py:1340 msgid "Are you sure you want to delete \"{}\"?" msgstr "Na pewno chcesz usunąć \"{}\"?" -#: app/UI.py +#: app/UI.py:1252 msgid "Clear Palette" msgstr "Wyczyść paletę" -#: app/UI.py +#: app/UI.py:1288 app/UI.py:1722 msgid "Delete Palette" msgstr "Usuń paletę" -#: app/UI.py +#: app/UI.py:1308 msgid "Save Palette..." msgstr "Zapisz paletę..." -#: app/UI.py +#: app/UI.py:1313 app/UI.py:1745 msgid "Save Palette As..." msgstr "Zapisz paletę jako..." -#: app/UI.py +#: app/UI.py:1324 app/UI.py:1733 msgid "Save Settings in Palettes" msgstr "Zapisz ustawienia palet" -#: app/UI.py app/music_conf.py +#: app/UI.py:1342 app/music_conf.py:205 msgid "Music: " msgstr "Muzyka: " -#: app/UI.py +#: app/UI.py:1368 msgid "{arr} Use Suggested {arr}" msgstr "{arr} Użyj sugerowanego {arr}" -#: app/UI.py +#: app/UI.py:1384 msgid "Style: " msgstr "Styl: " -#: app/UI.py +#: app/UI.py:1386 msgid "Voice: " msgstr "Głos: " -#: app/UI.py +#: app/UI.py:1387 msgid "Skybox: " msgstr "Skybox: " -#: app/UI.py +#: app/UI.py:1388 msgid "Elev Vid: " msgstr "Winda:" -#: app/UI.py -msgid "Enable or disable particular voice lines, to prevent them from being added." +#: app/UI.py:1406 +msgid "" +"Enable or disable particular voice lines, to prevent them from being " +"added." msgstr "Włącz lub wyłącz poszczególne ścieżki głosowe, aby zapobiec dodaniu ich." -#: app/UI.py +#: app/UI.py:1509 msgid "All Items: " msgstr "Wszystkie przedmioty: " -#: app/UI.py +#: app/UI.py:1641 msgid "Export to \"{}\"..." msgstr "Wyeksportuj do \"{}\"..." -#: app/UI.py app/backup.py +#: app/UI.py:1669 app/backup.py:872 msgid "File" msgstr "Plik" -#: app/UI.py +#: app/UI.py:1676 msgid "Export" msgstr "Wyeksportuj" -#: app/UI.py app/backup.py +#: app/UI.py:1683 app/backup.py:876 msgid "Add Game" msgstr "Dodaj grę" -#: app/UI.py +#: app/UI.py:1687 msgid "Uninstall from Selected Game" msgstr "Odinstaluj z wybranej gry" -#: app/UI.py +#: app/UI.py:1691 msgid "Backup/Restore Puzzles..." msgstr "Kopia zapasowa i przywracanie map" -#: app/UI.py +#: app/UI.py:1695 msgid "Manage Packages..." msgstr "Zarządzaj paczkami..." -#: app/UI.py +#: app/UI.py:1700 msgid "Options" msgstr "Opcje" -#: app/UI.py app/gameMan.py +#: app/UI.py:1705 app/gameMan.py:1088 msgid "Quit" msgstr "Wyjdź" -#: app/UI.py +#: app/UI.py:1715 msgid "Palette" msgstr "Paleta" -#: app/UI.py +#: app/UI.py:1717 msgid "Clear" msgstr "Wyczyść" -#: app/UI.py +#: app/UI.py:1726 msgid "Fill Palette" msgstr "Wypełnij paletę" -#: app/UI.py +#: app/UI.py:1740 msgid "Save Palette" msgstr "Zapisz paletę" -#: app/UI.py +#: app/UI.py:1755 msgid "View" msgstr "Widok" -#: app/UI.py +#: app/UI.py:1869 msgid "Palettes" msgstr "Palety" -#: app/UI.py +#: app/UI.py:1894 msgid "Export Options" msgstr "Opcje eksportu" -#: app/UI.py +#: app/UI.py:1926 msgid "Fill empty spots in the palette with random items." msgstr "Wypełnia puste miejsca na palecie losowymi przedmiotami." -#: app/backup.py +#: app/backup.py:79 msgid "Copying maps" msgstr "Kopiowanie map" -#: app/backup.py +#: app/backup.py:84 msgid "Loading maps" msgstr "Ładowanie map" -#: app/backup.py +#: app/backup.py:89 msgid "Deleting maps" msgstr "Usuwanie map" -#: app/backup.py +#: app/backup.py:140 msgid "Failed to parse this puzzle file. It can still be backed up." msgstr "Analiza mapy nie powiodła się. Kopia zapas. nadal może być stworzona." -#: app/backup.py +#: app/backup.py:144 msgid "No description found." msgstr "Nie znaleziono opisu." -#: app/backup.py +#: app/backup.py:175 msgid "Coop" msgstr "Tryb 2-os." -#: app/backup.py +#: app/backup.py:175 msgid "SP" msgstr "Tryb 1-os." -#: app/backup.py +#: app/backup.py:337 msgid "This filename is already in the backup.Do you wish to overwrite it? ({})" msgstr "Ten plik już jest w kopii zapasowej. Czy chcesz go nadpisać? ({})" -#: app/backup.py +#: app/backup.py:443 msgid "BEE2 Backup" msgstr "Kopia zapasowa BEE2" -#: app/backup.py +#: app/backup.py:444 msgid "No maps were chosen to backup!" msgstr "Nie wybrano map do kopii zapasowej!" -#: app/backup.py -msgid "This map is already in the game directory.Do you wish to overwrite it? ({})" +#: app/backup.py:504 +msgid "" +"This map is already in the game directory.Do you wish to overwrite it? " +"({})" msgstr "Ta mapa już jest w katalogu gry. Czy chcesz ją nadpisać?" -#: app/backup.py +#: app/backup.py:566 msgid "Load Backup" msgstr "Załaduj kopię zapasową" -#: app/backup.py +#: app/backup.py:567 app/backup.py:626 msgid "Backup zip" msgstr "Kopia zapasowa w zip" -#: app/backup.py +#: app/backup.py:600 msgid "Unsaved Backup" msgstr "Niezapisana kopia zapas." -#: app/backup.py +#: app/backup.py:625 app/backup.py:870 msgid "Save Backup As" msgstr "Zapisz kopię zapas. jako" -#: app/backup.py +#: app/backup.py:721 msgid "Confirm Deletion" msgstr "Potwierdź usunięcie" -#: app/backup.py +#: app/backup.py:722 msgid "Do you wish to delete {} map?\n" msgid_plural "Do you wish to delete {} maps?\n" msgstr[0] "" @@ -704,255 +836,284 @@ msgstr[2] "" "Czy chcesz usunąć {} mapy?\n" "\n" -#: app/backup.py +#: app/backup.py:759 msgid "Restore:" msgstr "Przywróć:" -#: app/backup.py +#: app/backup.py:760 msgid "Backup:" msgstr "Kopia zapasowa:" -#: app/backup.py +#: app/backup.py:797 msgid "Checked" msgstr "Zaznaczono" -#: app/backup.py +#: app/backup.py:805 msgid "Delete Checked" msgstr "Usuń zaznaczenie" -#: app/backup.py +#: app/backup.py:854 msgid "BEEMOD {} - Backup / Restore Puzzles" msgstr "BEEMOD {} - Kopia zapas. i przywracanie map" -#: app/backup.py +#: app/backup.py:867 app/backup.py:995 msgid "New Backup" msgstr "Nowa kopia zapas." -#: app/backup.py +#: app/backup.py:868 app/backup.py:1002 msgid "Open Backup" msgstr "Otwórz kopię zapas." -#: app/backup.py +#: app/backup.py:869 app/backup.py:1009 msgid "Save Backup" msgstr "Zapisz kopię zapas." -#: app/backup.py +#: app/backup.py:877 msgid "Remove Game" msgstr "Usuń grę" -#: app/backup.py +#: app/backup.py:880 msgid "Game" msgstr "Gra" -#: app/backup.py +#: app/backup.py:926 msgid "Automatic Backup After Export" msgstr "Automatyczna kopia zapas. po wyeksportowaniu" -#: app/backup.py +#: app/backup.py:958 msgid "Keep (Per Game):" msgstr "Zachowuj (na grę):" -#: app/backup.py +#: app/backup.py:976 msgid "Backup/Restore Puzzles" msgstr "Kopia zapasowa i przywracanie map" -#: app/contextWin.py +#: app/contextWin.py:78 msgid "This item may not be rotated." msgstr "Ten przedmiot nie może być obrócony." -#: app/contextWin.py +#: app/contextWin.py:79 msgid "This item can be pointed in 4 directions." msgstr "Ten przedmiot może być skierowany w 4 kierunki." -#: app/contextWin.py +#: app/contextWin.py:80 msgid "This item can be positioned on the sides and center." msgstr "Ten przedmiot może być umieszczany po bokach i na środku." -#: app/contextWin.py +#: app/contextWin.py:81 msgid "This item can be centered in two directions, plus on the sides." -msgstr "Ten przedmiot może być położony na środku w dwóch kierunkach, a także na bokach." +msgstr "" +"Ten przedmiot może być położony na środku w dwóch kierunkach, a także na " +"bokach." -#: app/contextWin.py +#: app/contextWin.py:82 msgid "This item can be placed like light strips." msgstr "Ten przedmiot może być położony jak pasy świetlne." -#: app/contextWin.py +#: app/contextWin.py:83 msgid "This item can be rotated on the floor to face 360 degrees." msgstr "Ten przedmiot może być obrócony na podłodze o 360 stopni." -#: app/contextWin.py +#: app/contextWin.py:84 msgid "This item is positioned using a catapult trajectory." msgstr "Ten przedmiot jest umieszczany używając trajektorii katapulty." -#: app/contextWin.py +#: app/contextWin.py:85 msgid "This item positions the dropper to hit target locations." msgstr "Ten przedmiot ustawia dozownik, by dosięgnął docelowej lokalizacji." -#: app/contextWin.py +#: app/contextWin.py:87 msgid "This item does not accept any inputs." msgstr "Ten przedmiot nie akceptuje sygnału wejściowego." -#: app/contextWin.py +#: app/contextWin.py:88 msgid "This item accepts inputs." msgstr "Ten przedmiot akceptuje sygnał wejściowy." -#: app/contextWin.py +#: app/contextWin.py:89 msgid "This item has two input types (A and B), using the Input A and B items." -msgstr "Ten przedmiot ma 2 rodzaje sygnału wejścia (A i B), używa przedmiotu \"Wejście A i B\"." +msgstr "" +"Ten przedmiot ma 2 rodzaje sygnału wejścia (A i B), używa przedmiotu " +"\"Wejście A i B\"." -#: app/contextWin.py +#: app/contextWin.py:91 msgid "This item does not output." msgstr "Ten przedmiot nie wysyła sygnału." -#: app/contextWin.py +#: app/contextWin.py:92 msgid "This item has an output." msgstr "Ten przedmiot może wysyłać sygnał." -#: app/contextWin.py +#: app/contextWin.py:93 msgid "This item has a timed output." msgstr "Ten przedmiot wysyła czasowy sygnał." -#: app/contextWin.py +#: app/contextWin.py:95 msgid "This item does not take up any space inside walls." msgstr "Ten przedmiot nie zajmuje przestrzeni za ścianami." -#: app/contextWin.py +#: app/contextWin.py:96 msgid "This item takes space inside the wall." msgstr "Ten przedmiot zajmuje przestrzeń za ścianami." -#: app/contextWin.py +#: app/contextWin.py:98 msgid "This item cannot be placed anywhere..." msgstr "Ten przedmiot nie może być położony nigdzie..." -#: app/contextWin.py +#: app/contextWin.py:99 msgid "This item can only be attached to ceilings." msgstr "Ten przedmiot może być przymocowany tylko do sufitu." -#: app/contextWin.py +#: app/contextWin.py:100 msgid "This item can only be placed on the floor." msgstr "Ten przedmiot może być położony tylko na podłodze." -#: app/contextWin.py +#: app/contextWin.py:101 msgid "This item can be placed on floors and ceilings." msgstr "Ten przedmiot może być położony na podłodze i na suficie." -#: app/contextWin.py +#: app/contextWin.py:102 msgid "This item can be placed on walls only." msgstr "Ten przedmiot może być umieszczony tylko na ścianach." -#: app/contextWin.py +#: app/contextWin.py:103 msgid "This item can be attached to walls and ceilings." msgstr "Ten przedmiot może być umieszczony na ścianach i na suficie." -#: app/contextWin.py +#: app/contextWin.py:104 msgid "This item can be placed on floors and walls." msgstr "Ten przedmiot może być umieszczony na ścianach i na podłodze." -#: app/contextWin.py +#: app/contextWin.py:105 msgid "This item can be placed in any orientation." msgstr "Ten przedmiot może być przymocowany gdziekolwiek." -#: app/contextWin.py +#: app/contextWin.py:218 msgid "No Alternate Versions" msgstr "Brak wersji alteratywnych" -#: app/contextWin.py +#: app/contextWin.py:296 msgid "Excursion Funnels accept a on/off input and a directional input." -msgstr "Tuby transportowe akceptują sygnał włącz/wyłącz oraz sygnał zmiany kierunku." +msgstr "" +"Tuby transportowe akceptują sygnał włącz/wyłącz oraz sygnał zmiany " +"kierunku." -#: app/contextWin.py -msgid "This item can be rotated on the floor to face 360 degrees, for Reflection Cubes only." -msgstr "Ten przedmiot może być obrócony na podłodze o 360 stopni (dotyczy tylko kostki odbijającej)." +#: app/contextWin.py:347 +msgid "" +"This item can be rotated on the floor to face 360 degrees, for Reflection" +" Cubes only." +msgstr "" +"Ten przedmiot może być obrócony na podłodze o 360 stopni (dotyczy tylko " +"kostki odbijającej)." -#: app/contextWin.py +#: app/contextWin.py:424 msgid "Properties:" msgstr "Właściwości" -#: app/contextWin.py -msgid "The number of entities used for this item. The Source engine limits this to 2048 in total. This provides a guide to how many of these items can be placed in a map at once." -msgstr "Liczba jednostek użytych w przedmiocie. Silnik Source ogranicza to do łącznej wartości 2048. To jest porada ile może być takich przedmiotów łącznie położonych." +#: app/contextWin.py:450 +msgid "" +"The number of entities used for this item. The Source engine limits this " +"to 2048 in total. This provides a guide to how many of these items can be" +" placed in a map at once." +msgstr "" +"Liczba jednostek użytych w przedmiocie. Silnik Source ogranicza to do " +"łącznej wartości 2048. To jest porada ile może być takich przedmiotów " +"łącznie położonych." -#: app/contextWin.py +#: app/contextWin.py:475 msgid "Description:" msgstr "Opis:" -#: app/contextWin.py -msgid "Failed to open a web browser. Do you wish for the URL to be copied to the clipboard instead?" -msgstr "Nie udało się otworzyć przeglądarki. Czy chcesz w zamian skopiować link do schowka?" +#: app/contextWin.py:518 +msgid "" +"Failed to open a web browser. Do you wish for the URL to be copied to the" +" clipboard instead?" +msgstr "" +"Nie udało się otworzyć przeglądarki. Czy chcesz w zamian skopiować link " +"do schowka?" -#: app/contextWin.py +#: app/contextWin.py:532 msgid "More Info>>" msgstr "Więcej informacji>>" -#: app/contextWin.py +#: app/contextWin.py:549 msgid "Change Defaults..." msgstr "Zmień domyślne wartości..." -#: app/contextWin.py +#: app/contextWin.py:555 msgid "Change the default settings for this item when placed." msgstr "Zmienia domyślne wartości dla tego przedmiotu w edytorze." -#: app/gameMan.py +#: app/gameMan.py:757 app/gameMan.py:849 msgid "BEE2 - Export Failed!" msgstr "BEE2 - Eksport nieudany!" -#: app/gameMan.py -msgid "Compiler file {file} missing. Exit Steam applications, then press OK to verify your game cache. You can then export again." -msgstr "Brakuje pliku kompilatora {file}. Wyjdź z aplikacji Steam, następnie kliknij OK, aby zweryfikować cache gry. Wtedy możesz wyeksportować ponownie." +#: app/gameMan.py:758 +msgid "" +"Compiler file {file} missing. Exit Steam applications, then press OK to " +"verify your game cache. You can then export again." +msgstr "" +"Brakuje pliku kompilatora {file}. Wyjdź z aplikacji Steam, następnie " +"kliknij OK, aby zweryfikować cache gry. Wtedy możesz wyeksportować " +"ponownie." -#: app/gameMan.py +#: app/gameMan.py:850 msgid "Copying compiler file {file} failed. Ensure {game} is not running." -msgstr "Kopiowanie pliku kompilatora {file} nie powiodło się. Upewnij się, że gra {game} nie jest uruchomiona." +msgstr "" +"Kopiowanie pliku kompilatora {file} nie powiodło się. Upewnij się, że gra" +" {game} nie jest uruchomiona." -#: app/gameMan.py +#: app/gameMan.py:1145 msgid "" "Ap-Tag Coop gun instance not found!\n" "Coop guns will not work - verify cache to fix." msgstr "" "Instancja Portalguna w trybie 2-osobowym Ap-tag nieznaleziona!\n" -"Portal-gun i Paint-gun nie będą tam działały - zweryfikuj cache, aby to naprawić." +"Portal-gun i Paint-gun nie będą tam działały - zweryfikuj cache, aby to " +"naprawić." -#: app/gameMan.py +#: app/gameMan.py:1149 msgid "BEE2 - Aperture Tag Files Missing" msgstr "BEE2 - Brakuje Plików Aperture Tag" -#: app/gameMan.py +#: app/gameMan.py:1263 msgid "Select the folder where the game executable is located ({appname})..." msgstr "Wybierz folder, gdzie znajduje się plik wykonywalny gry ({appname})..." -#: app/gameMan.py +#: app/gameMan.py:1266 app/gameMan.py:1281 app/gameMan.py:1291 +#: app/gameMan.py:1298 app/gameMan.py:1307 app/gameMan.py:1316 msgid "BEE2 - Add Game" msgstr "BEE2 - Dodaj grę" -#: app/gameMan.py +#: app/gameMan.py:1269 msgid "Find Game Exe" msgstr "Znajdź plik .exe gry" -#: app/gameMan.py +#: app/gameMan.py:1270 msgid "Executable" msgstr "Wykonywalny" -#: app/gameMan.py +#: app/gameMan.py:1278 msgid "This does not appear to be a valid game folder!" msgstr "To nie wygląda jak prawidłowy folder gry!" -#: app/gameMan.py +#: app/gameMan.py:1288 msgid "Portal Stories: Mel doesn't have an editor!" msgstr "Portal Stories: Mel nie ma edytora!" -#: app/gameMan.py +#: app/gameMan.py:1299 msgid "Enter the name of this game:" msgstr "Wprowadź nazwę gry:" -#: app/gameMan.py +#: app/gameMan.py:1306 msgid "This name is already taken!" msgstr "Ta nazwa jest już zajęta!" -#: app/gameMan.py +#: app/gameMan.py:1315 msgid "Please enter a name for this game!" msgstr "Wprowadź nazwę dla tej gry!" -#: app/gameMan.py +#: app/gameMan.py:1334 msgid "" "\n" " (BEE2 will quit, this is the last game set!)" @@ -960,79 +1121,79 @@ msgstr "" "\n" "(BEE2 zostanie zamknięte, to jest ostatnia gra w katalogu!)" -#: app/helpMenu.py +#: app/helpMenu.py:57 msgid "Wiki..." msgstr "Wiki..." -#: app/helpMenu.py +#: app/helpMenu.py:59 msgid "Original Items..." msgstr "Oryginalne przedmioty..." -#: app/helpMenu.py +#: app/helpMenu.py:64 msgid "Discord Server..." msgstr "Serwer Discord..." -#: app/helpMenu.py +#: app/helpMenu.py:65 msgid "aerond's Music Changer..." msgstr "Własna muzyka..." -#: app/helpMenu.py +#: app/helpMenu.py:67 msgid "Application Repository..." msgstr "Magazyn aplikacji..." -#: app/helpMenu.py +#: app/helpMenu.py:68 msgid "Items Repository..." msgstr "Magazyn przedmiotów..." -#: app/helpMenu.py +#: app/helpMenu.py:70 msgid "Submit Application Bugs..." msgstr "Zgłoś błędy aplikacji..." -#: app/helpMenu.py +#: app/helpMenu.py:71 msgid "Submit Item Bugs..." msgstr "Zgłoś błędy przedmiotów..." -#: app/helpMenu.py app/paletteLoader.py +#: app/helpMenu.py:73 app/paletteLoader.py:35 msgid "Portal 2" msgstr "Portal 2" -#: app/helpMenu.py app/paletteLoader.py +#: app/helpMenu.py:74 app/paletteLoader.py:37 msgid "Aperture Tag" msgstr "Aperture Tag" -#: app/helpMenu.py +#: app/helpMenu.py:75 msgid "Portal Stories: Mel" msgstr "Portal Stories: Mel" -#: app/helpMenu.py +#: app/helpMenu.py:76 msgid "Thinking With Time Machine" msgstr "Thinking With Time Machine" -#: app/helpMenu.py app/itemPropWin.py +#: app/helpMenu.py:298 app/itemPropWin.py:343 msgid "Close" msgstr "Zamknij" -#: app/helpMenu.py +#: app/helpMenu.py:322 msgid "Help" msgstr "Pomoc" -#: app/helpMenu.py +#: app/helpMenu.py:333 msgid "BEE2 Credits" msgstr "Licencje programów w BEE2" -#: app/helpMenu.py +#: app/helpMenu.py:350 msgid "Credits..." msgstr "Licencje..." -#: app/itemPropWin.py +#: app/itemPropWin.py:39 msgid "Start Position" msgstr "Pozycja startowa" -#: app/itemPropWin.py +#: app/itemPropWin.py:40 msgid "End Position" msgstr "Pozycja końcowa" -#: app/itemPropWin.py +#: app/itemPropWin.py:41 msgid "" "Delay \n" "(0=infinite)" @@ -1040,119 +1201,133 @@ msgstr "" "Opóźnienie\n" "(0=nieskończoność)" -#: app/itemPropWin.py +#: app/itemPropWin.py:342 msgid "No Properties available!" msgstr "Brak dostępnych właściwości!" -#: app/itemconfig.py +#: app/item_search.py:59 +msgid "Search:" +msgstr "" + +#: app/itemconfig.py:616 msgid "Choose a Color" msgstr "Wybierz kolor" -#: app/logWindow.py +#: app/logWindow.py:29 msgid "Debug messages" msgstr "Komunikaty debugowania" -#: app/logWindow.py +#: app/logWindow.py:30 msgid "Default" msgstr "Domyślne" -#: app/logWindow.py +#: app/logWindow.py:31 msgid "Warnings Only" msgstr "Tylko ostrzeżenia" -#: app/logWindow.py +#: app/logWindow.py:159 msgid "Logs - {}" msgstr "Logi - {}" -#: app/logWindow.py +#: app/logWindow.py:208 msgid "Copy" msgstr "Kopiuj" -#: app/logWindow.py +#: app/logWindow.py:220 msgid "Show:" msgstr "Pokaż:" -#: app/music_conf.py +#: app/music_conf.py:133 msgid "Select Background Music - Base" msgstr "Wybierz muzykę - Główna" -#: app/music_conf.py -msgid "This controls the background music used for a map. Expand the dropdown to set tracks for specific test elements." -msgstr "Ta opcja kontroluje muzykę w tle użytą do mapy. Rozwiń to menu aby zobaczyć ścieżki dla konkretnych elementów testowych." +#: app/music_conf.py:134 +msgid "" +"This controls the background music used for a map. Expand the dropdown to" +" set tracks for specific test elements." +msgstr "" +"Ta opcja kontroluje muzykę w tle użytą do mapy. Rozwiń to menu aby " +"zobaczyć ścieżki dla konkretnych elementów testowych." -#: app/music_conf.py -msgid "Add no music to the map at all. Testing Element-specific music may still be added." -msgstr "Nie dodawaj muzyki do mapy w ogóle. Muzyka poszczególnych elementów testowych wciąż może być dodana." +#: app/music_conf.py:138 +msgid "" +"Add no music to the map at all. Testing Element-specific music may still " +"be added." +msgstr "" +"Nie dodawaj muzyki do mapy w ogóle. Muzyka poszczególnych elementów " +"testowych wciąż może być dodana." -#: app/music_conf.py +#: app/music_conf.py:143 msgid "Propulsion Gel SFX" msgstr "Muzyka żelu przyspieszającego" -#: app/music_conf.py +#: app/music_conf.py:144 msgid "Repulsion Gel SFX" msgstr "Muzyka żelu repulsyjnego" -#: app/music_conf.py +#: app/music_conf.py:145 msgid "Excursion Funnel Music" msgstr "Muzyka w Tubie Transportowej" -#: app/music_conf.py +#: app/music_conf.py:146 app/music_conf.py:161 msgid "Synced Funnel Music" msgstr "Synchronizowana muzyka w Tubie" -#: app/music_conf.py +#: app/music_conf.py:153 msgid "Select Excursion Funnel Music" msgstr "Wybierz muzykę w Tubie Transportowej" -#: app/music_conf.py +#: app/music_conf.py:154 msgid "Set the music used while inside Excursion Funnels." msgstr "Wybierz muzykę graną podczas podróży Tubą Transportową." -#: app/music_conf.py +#: app/music_conf.py:157 msgid "Have no music playing when inside funnels." msgstr "Nie graj żadnej muzyki podczas podróży Tubą." -#: app/music_conf.py +#: app/music_conf.py:168 msgid "Select Repulsion Gel Music" msgstr "Wybierz muzykę żelu repulsyjnego" -#: app/music_conf.py +#: app/music_conf.py:169 msgid "Select the music played when players jump on Repulsion Gel." msgstr "Wybierz muzykę graną podczas podczas skakania na żelu repulsyjnym." -#: app/music_conf.py +#: app/music_conf.py:172 msgid "Add no music when jumping on Repulsion Gel." msgstr "Nie dodawaj żadnej muzyki podczas skakania na żelu repulsyjnym." -#: app/music_conf.py +#: app/music_conf.py:180 msgid "Select Propulsion Gel Music" msgstr "Wybierz muzykę żelu przyspieszającego" -#: app/music_conf.py -msgid "Select music played when players have large amounts of horizontal velocity." +#: app/music_conf.py:181 +msgid "" +"Select music played when players have large amounts of horizontal " +"velocity." msgstr "Wybierz muzykę graną, gdy gracz ma duże wartości prędkości poziomej." -#: app/music_conf.py +#: app/music_conf.py:184 msgid "Add no music while running fast." msgstr "Nie graj muzyki przy dużych prędkościach." -#: app/music_conf.py +#: app/music_conf.py:219 msgid "Base: " msgstr "Baza: " -#: app/music_conf.py +#: app/music_conf.py:252 msgid "Funnel:" msgstr "Tuba: " -#: app/music_conf.py +#: app/music_conf.py:253 msgid "Bounce:" msgstr "Odbicie: " -#: app/music_conf.py +#: app/music_conf.py:254 msgid "Speed:" msgstr "Prędkość: " -#: app/optionWindow.py +#: app/optionWindow.py:46 msgid "" "\n" "Launch Game?" @@ -1160,7 +1335,7 @@ msgstr "" "\n" "Uruchomić grę?" -#: app/optionWindow.py +#: app/optionWindow.py:48 msgid "" "\n" "Minimise BEE2?" @@ -1168,7 +1343,7 @@ msgstr "" "\n" "Zminimalizować BEE2?" -#: app/optionWindow.py +#: app/optionWindow.py:49 msgid "" "\n" "Launch Game and minimise BEE2?" @@ -1176,7 +1351,7 @@ msgstr "" "\n" "Uruchomić grę i zminimalizować BEE2?" -#: app/optionWindow.py +#: app/optionWindow.py:51 msgid "" "\n" "Quit BEE2?" @@ -1184,7 +1359,7 @@ msgstr "" "\n" "Wyjść z BEE2?" -#: app/optionWindow.py +#: app/optionWindow.py:52 msgid "" "\n" "Launch Game and quit BEE2?" @@ -1192,373 +1367,410 @@ msgstr "" "\n" "Uruchomić grę i wyjść z BEE2?" -#: app/optionWindow.py +#: app/optionWindow.py:71 msgid "BEE2 Options" msgstr "Opcje BEE2" -#: app/optionWindow.py -msgid "Package cache times have been reset. These will now be extracted during the next export." -msgstr "Czasy cache pakietów zostały zresetowane. Zostaną one teraz wyodrębnione podczas następnego eksportu." +#: app/optionWindow.py:109 +msgid "" +"Package cache times have been reset. These will now be extracted during " +"the next export." +msgstr "" +"Czasy cache pakietów zostały zresetowane. Zostaną one teraz wyodrębnione " +"podczas następnego eksportu." -#: app/optionWindow.py +#: app/optionWindow.py:126 msgid "\"Preserve Game Resources\" has been disabled." msgstr "\"Zachowaj zasoby gry\" zostało wyłączone." -#: app/optionWindow.py +#: app/optionWindow.py:138 msgid "Packages Reset" msgstr "Reset paczek" -#: app/optionWindow.py +#: app/optionWindow.py:219 msgid "General" msgstr "Ogólne" -#: app/optionWindow.py +#: app/optionWindow.py:225 msgid "Windows" msgstr "Okna" -#: app/optionWindow.py +#: app/optionWindow.py:231 msgid "Development" msgstr "Tworzenie" -#: app/optionWindow.py app/packageMan.py app/selector_win.py +#: app/optionWindow.py:255 app/packageMan.py:110 app/selector_win.py:699 msgid "OK" msgstr "OK" -#: app/optionWindow.py +#: app/optionWindow.py:286 msgid "After Export:" msgstr "Po eksporcie:" -#: app/optionWindow.py +#: app/optionWindow.py:303 msgid "Do Nothing" msgstr "Nic nie rób" -#: app/optionWindow.py +#: app/optionWindow.py:309 msgid "Minimise BEE2" msgstr "Minimalizuj BEE2" -#: app/optionWindow.py +#: app/optionWindow.py:315 msgid "Quit BEE2" msgstr "Wyjdź z BEE2" -#: app/optionWindow.py +#: app/optionWindow.py:323 msgid "After exports, do nothing and keep the BEE2 in focus." msgstr "Po eksporcie, nic nie rób i zachowaj BEE2 na wierzchu." -#: app/optionWindow.py +#: app/optionWindow.py:325 msgid "After exports, minimise to the taskbar/dock." msgstr "Po eksporcie, zminimalizuj do paska zadań." -#: app/optionWindow.py +#: app/optionWindow.py:326 msgid "After exports, quit the BEE2." msgstr "Po eksporcie, zamknij BEE2." -#: app/optionWindow.py +#: app/optionWindow.py:333 msgid "Launch Game" msgstr "Uruchom grę" -#: app/optionWindow.py +#: app/optionWindow.py:334 msgid "After exporting, launch the selected game automatically." msgstr "Po eksporcie, uruchom wybraną grę automatycznie." -#: app/optionWindow.py +#: app/optionWindow.py:342 app/optionWindow.py:348 msgid "Play Sounds" msgstr "Graj dźwięki" -#: app/optionWindow.py +#: app/optionWindow.py:353 msgid "" "Pyglet is either not installed or broken.\n" "Sound effects have been disabled." -msgstr "Pyglet jest uszkodzony lub niezainstalowany. Efekty dźwiękowe zostały wyłączone." +msgstr "" +"Pyglet jest uszkodzony lub niezainstalowany. Efekty dźwiękowe zostały " +"wyłączone." -#: app/optionWindow.py +#: app/optionWindow.py:360 msgid "Reset Package Caches" msgstr "Zresetuj cache paczek" -#: app/optionWindow.py +#: app/optionWindow.py:366 msgid "Force re-extracting all package resources." msgstr "Wymuś ponowne wypakowanie wszystkich źródeł z paczek." -#: app/optionWindow.py +#: app/optionWindow.py:375 msgid "Keep windows inside screen" msgstr "Trzymaj okienka na ekranie." -#: app/optionWindow.py -msgid "Prevent sub-windows from moving outside the screen borders. If you have multiple monitors, disable this." -msgstr "Zapobiegaj wysuwaniu się okienek z opcjami poza krawędź ekranu. Jeżeli masz kilka monitorów, wyłącz tą opcję." +#: app/optionWindow.py:376 +msgid "" +"Prevent sub-windows from moving outside the screen borders. If you have " +"multiple monitors, disable this." +msgstr "" +"Zapobiegaj wysuwaniu się okienek z opcjami poza krawędź ekranu. Jeżeli " +"masz kilka monitorów, wyłącz tą opcję." -#: app/optionWindow.py +#: app/optionWindow.py:386 msgid "Keep loading screens on top" msgstr "Trzymaj ekrany ładowania na wierzchu" -#: app/optionWindow.py -msgid "Force loading screens to be on top of other windows. Since they don't appear on the taskbar/dock, they can't be brought to the top easily again." -msgstr "Wymuś, by ekrany ładowania zawsze znajdowały się na wierzchu. Ponieważ nie wyświetlają się na pasku zadań, nie mogą łatwo zostać wysunięte na wierzch z powrotem." +#: app/optionWindow.py:388 +msgid "" +"Force loading screens to be on top of other windows. Since they don't " +"appear on the taskbar/dock, they can't be brought to the top easily " +"again." +msgstr "" +"Wymuś, by ekrany ładowania zawsze znajdowały się na wierzchu. Ponieważ " +"nie wyświetlają się na pasku zadań, nie mogą łatwo zostać wysunięte na " +"wierzch z powrotem." -#: app/optionWindow.py +#: app/optionWindow.py:397 msgid "Reset All Window Positions" msgstr "Resetuj pozycję wszystkich okien" -#: app/optionWindow.py +#: app/optionWindow.py:411 msgid "Log missing entity counts" msgstr "Loguj brakujące liczby jednostek" -#: app/optionWindow.py -msgid "When loading items, log items with missing entity counts in their properties.txt file." -msgstr "Podczas ładowania przedmiotów, loguj przedmioty z brakującymi liczbami jednostek do ich plików właściwości (properties.txt)" +#: app/optionWindow.py:412 +msgid "" +"When loading items, log items with missing entity counts in their " +"properties.txt file." +msgstr "" +"Podczas ładowania przedmiotów, loguj przedmioty z brakującymi liczbami " +"jednostek do ich plików właściwości (properties.txt)" -#: app/optionWindow.py +#: app/optionWindow.py:420 msgid "Log when item doesn't have a style" msgstr "Loguj, kiedy przedmiot nie ma stylu" -#: app/optionWindow.py -msgid "Log items have no applicable version for a particular style.This usually means it will look very bad." -msgstr "Loguj przedmioty, które nie mają wersji dla aktualnie wybranego stylu. To najczęściej oznacza, że przedmiot będzie wyglądał bardzo źle." +#: app/optionWindow.py:421 +msgid "" +"Log items have no applicable version for a particular style.This usually " +"means it will look very bad." +msgstr "" +"Loguj przedmioty, które nie mają wersji dla aktualnie wybranego stylu. To" +" najczęściej oznacza, że przedmiot będzie wyglądał bardzo źle." -#: app/optionWindow.py +#: app/optionWindow.py:429 msgid "Log when item uses parent's style" msgstr "Loguj, kiedy przedmiot używa stylu pobratymczego" -#: app/optionWindow.py -msgid "Log when an item reuses a variant from a parent style (1970s using 1950s items, for example). This is usually fine, but may need to be fixed." -msgstr "Loguj, kiedy przedmiot używa wariantu ze stylu pobratymczego (np. używanie przedmiotu 1950s w mapie w stylu 1970s). Najczęściej wygląda dobrze, ale mogą być niezbędne poprawki." +#: app/optionWindow.py:430 +msgid "" +"Log when an item reuses a variant from a parent style (1970s using 1950s " +"items, for example). This is usually fine, but may need to be fixed." +msgstr "" +"Loguj, kiedy przedmiot używa wariantu ze stylu pobratymczego (np. " +"używanie przedmiotu 1950s w mapie w stylu 1970s). Najczęściej wygląda " +"dobrze, ale mogą być niezbędne poprawki." -#: app/optionWindow.py +#: app/optionWindow.py:439 msgid "Log missing packfile resources" msgstr "Loguj brakujące źródła z plików paczek" -#: app/optionWindow.py -msgid "Log when the resources a \"PackList\" refers to are not present in the zip. This may be fine (in a prerequisite zip), but it often indicates an error." -msgstr "Loguj, gdy zasoby, do których odnosi się \"PackList\", nie są obecne w pliku zip. Może wyświetlać błąd nawet, gdy jest w porządku (w wymaganym zip-ie)." +#: app/optionWindow.py:440 +msgid "" +"Log when the resources a \"PackList\" refers to are not present in the " +"zip. This may be fine (in a prerequisite zip), but it often indicates an " +"error." +msgstr "" +"Loguj, gdy zasoby, do których odnosi się \"PackList\", nie są obecne w " +"pliku zip. Może wyświetlać błąd nawet, gdy jest w porządku (w wymaganym " +"zip-ie)." -#: app/optionWindow.py +#: app/optionWindow.py:450 msgid "Development Mode" msgstr "Tryb dewelopera" -#: app/optionWindow.py +#: app/optionWindow.py:451 msgid "Enables displaying additional UI specific for development purposes." msgstr "Wyświetlaj dodatkowe UI do celów deweloperskich." -#: app/optionWindow.py +#: app/optionWindow.py:459 msgid "Preserve Game Directories" msgstr "Zachowaj zasoby gry" -#: app/optionWindow.py +#: app/optionWindow.py:461 msgid "" "When exporting, do not copy resources to \n" "\"bee2/\" and \"sdk_content/maps/bee2/\".\n" -"Only enable if you're developing new content, to ensure it is not overwritten." -msgstr "Podczas eksportowania, nie kopiuj źródeł do \"bee2/\" i \"sdk_content/maps/bee2/\". Uruchamiaj tylko, jeżeli tworzysz nową zawartość, aby upewnić się, że nie została nadpisana." +"Only enable if you're developing new content, to ensure it is not " +"overwritten." +msgstr "" +"Podczas eksportowania, nie kopiuj źródeł do \"bee2/\" i " +"\"sdk_content/maps/bee2/\". Uruchamiaj tylko, jeżeli tworzysz nową " +"zawartość, aby upewnić się, że nie została nadpisana." -#: app/optionWindow.py +#: app/optionWindow.py:472 msgid "Show Log Window" msgstr "Pokazuj okienko logów" -#: app/optionWindow.py +#: app/optionWindow.py:474 msgid "Show the log file in real-time." msgstr "Pokazuj plik logów w czasie rzeczywistym." -#: app/optionWindow.py +#: app/optionWindow.py:481 msgid "Force Editor Models" msgstr "Wymuś modele edytora" -#: app/optionWindow.py -msgid "Make all props_map_editor models available for use. Portal 2 has a limit of 1024 models loaded in memory at once, so we need to disable unused ones to free this up." -msgstr "Sprawia, że wszystkie modele props_map_editor są dostępne do użycia. Portal 2 ma limit 1024 modelów załadowanych w pamięci naraz, dlatego trzeba wyłączyć te nieużywane, aby zwolnić miejsce." +#: app/optionWindow.py:482 +msgid "" +"Make all props_map_editor models available for use. Portal 2 has a limit " +"of 1024 models loaded in memory at once, so we need to disable unused " +"ones to free this up." +msgstr "" +"Sprawia, że wszystkie modele props_map_editor są dostępne do użycia. " +"Portal 2 ma limit 1024 modelów załadowanych w pamięci naraz, dlatego " +"trzeba wyłączyć te nieużywane, aby zwolnić miejsce." -#: app/optionWindow.py +#: app/optionWindow.py:493 msgid "Dump All objects" msgstr "Zachowuj wszystkie obiekty" -#: app/optionWindow.py +#: app/optionWindow.py:499 msgid "Dump Items list" msgstr "Zachowuj listę przedmiotów" -#: app/packageMan.py +#: app/packageMan.py:64 msgid "BEE2 - Restart Required!" msgstr "BEE2 - Niezbędny restart!" -#: app/packageMan.py +#: app/packageMan.py:65 msgid "" "Changing enabled packages requires a restart.\n" "Continue?" msgstr "Zmiana włączonych paczek wymaga restartu. Kontynuować?" -#: app/packageMan.py +#: app/packageMan.py:88 msgid "BEE2 - Manage Packages" msgstr "BEE2 - Ustawienia paczek" -#. i18n: Last exported items -#: app/paletteLoader.py +#: app/paletteLoader.py:25 msgid "" msgstr "" -#. i18n: Empty palette name -#: app/paletteLoader.py +#: app/paletteLoader.py:27 msgid "Blank" msgstr "Puste" -#. i18n: BEEmod 1 palette. -#: app/paletteLoader.py +#: app/paletteLoader.py:30 msgid "BEEMod" msgstr "BEEMod" -#. i18n: Default items merged together -#: app/paletteLoader.py +#: app/paletteLoader.py:32 msgid "Portal 2 Collapsed" msgstr "Portal 2 - Złożone" -#: app/richTextBox.py +#: app/richTextBox.py:176 msgid "Open \"{}\" in the default browser?" msgstr "Otworzyć \"{}\" w domyślnej przeglądarce?" -#. i18n: 'None' item description -#: app/selector_win.py +#: app/selector_win.py:401 msgid "Do not add anything." msgstr "Nie dodawaj niczego." -#: app/selector_win.py +#: app/selector_win.py:405 msgid "" msgstr "" -#: app/selector_win.py +#: app/selector_win.py:583 app/selector_win.py:588 msgid "Suggested" msgstr "Sugestowane" -#: app/selector_win.py +#: app/selector_win.py:636 msgid "Play a sample of this item." msgstr "Graj próbę tego przedmiotu." -#: app/selector_win.py +#: app/selector_win.py:710 msgid "Reset to Default" msgstr "Zresetuj do domyślnych" -#: app/selector_win.py +#: app/selector_win.py:884 msgid "Other" msgstr "Inne" -#: app/selector_win.py +#: app/selector_win.py:1096 msgid "Author: {}" msgid_plural "Authors: {}" msgstr[0] "Autor: {}" msgstr[1] "Autorzy: {}" msgstr[2] "Autorzy: {}" -#: app/selector_win.py +#: app/selector_win.py:1163 msgid "Color: R={r}, G={g}, B={b}" msgstr "Kolory: R={r}, G={g}, B={b}" -#: app/signage_ui.py +#: app/signage_ui.py:135 app/signage_ui.py:259 msgid "Configure Signage" msgstr "Konfiguruj symbole" -#: app/signage_ui.py +#: app/signage_ui.py:139 msgid "Selected" msgstr "Wybrane" -#: app/signage_ui.py +#: app/signage_ui.py:203 msgid "Signage: {}" msgstr "Symbol: {}" -#: app/tagsPane.py -msgid "Tags" -msgstr "Tagi" - -#: app/tagsPane.py -msgid "Authors" -msgstr "Autorzy" - -#: app/tagsPane.py -msgid "Any" -msgstr "Jakiekolwiek" - -#: app/tagsPane.py -msgid "All" -msgstr "Wszystkie" - -#: app/tagsPane.py -msgid "Available Tags (click):" -msgstr "Dostępne tagi (kliknij):" - -#: app/voiceEditor.py +#: app/voiceEditor.py:33 msgid "Singleplayer" msgstr "Tryb jednoosobowy" -#: app/voiceEditor.py +#: app/voiceEditor.py:34 msgid "Cooperative" msgstr "Tryb kooperacji" -#: app/voiceEditor.py +#: app/voiceEditor.py:35 msgid "ATLAS (SP/Coop)" msgstr "ATLAS (1-os. i 2-os.)" -#: app/voiceEditor.py +#: app/voiceEditor.py:36 msgid "P-Body (SP/Coop)" msgstr "P-Body (1-os. i 2-os.)" -#: app/voiceEditor.py +#: app/voiceEditor.py:39 msgid "Human characters (Bendy and Chell)" msgstr "Postacie ludzkie (Bendy i Chell)" -#: app/voiceEditor.py +#: app/voiceEditor.py:40 msgid "AI characters (ATLAS, P-Body, or Coop)" msgstr "SI (ATLAS, P-Body i tryb 2-os.)" -#: app/voiceEditor.py +#: app/voiceEditor.py:51 msgid "Death - Toxic Goo" msgstr "Śmierć - Toksyczna maź" -#: app/voiceEditor.py +#: app/voiceEditor.py:52 msgid "Death - Turrets" msgstr "Śmierć - Wieżyczki" -#: app/voiceEditor.py +#: app/voiceEditor.py:53 msgid "Death - Crusher" msgstr "Śmierć - Zgniatacz" -#: app/voiceEditor.py +#: app/voiceEditor.py:54 msgid "Death - LaserField" msgstr "Śmierć - Pole laserowe" -#: app/voiceEditor.py +#: app/voiceEditor.py:105 msgid "Transcript:" msgstr "Transkrypcja:" -#: app/voiceEditor.py +#: app/voiceEditor.py:144 msgid "Save" msgstr "Zapisz" -#: app/voiceEditor.py +#: app/voiceEditor.py:219 msgid "Resp" msgstr "Odp" -#: app/voiceEditor.py +#: app/voiceEditor.py:236 msgid "BEE2 - Configure \"{}\"" msgstr "BEE2 - Konfiguracja {}" -#: app/voiceEditor.py +#: app/voiceEditor.py:313 msgid "Mid - Chamber" msgstr "Podczas testu" -#: app/voiceEditor.py -msgid "Lines played during the actual chamber, after specific events have occurred." +#: app/voiceEditor.py:315 +msgid "" +"Lines played during the actual chamber, after specific events have " +"occurred." msgstr "Ścieżki grane podczas właściwego testu, po pewnych wydarzeniach." -#: app/voiceEditor.py +#: app/voiceEditor.py:321 msgid "Responses" msgstr "Odpowiedzi" -#: app/voiceEditor.py +#: app/voiceEditor.py:323 msgid "Lines played in response to certain events in Coop." msgstr "Ścieżki grane w odpowiedzi na odpowiednie wydarzenia w trybie 2-os." -#: app/voiceEditor.py +#: app/voiceEditor.py:421 msgid "No Name!" msgstr "Brak nazwy!" -#: app/voiceEditor.py +#: app/voiceEditor.py:456 msgid "No Name?" msgstr "Bez nazwy?" -#: app/CompilerPane.py -msgid "Coop Exit:" -msgstr "Wyjście (tryb 2-os.):" +#~ msgid "Coop:" +#~ msgstr "Wyjście (tryb 2-os.)" + +#~ msgid "Tags" +#~ msgstr "Tagi" + +#~ msgid "Authors" +#~ msgstr "Autorzy" + +#~ msgid "Any" +#~ msgstr "Jakiekolwiek" + +#~ msgid "All" +#~ msgstr "Wszystkie" + +#~ msgid "Available Tags (click):" +#~ msgstr "Dostępne tagi (kliknij):" + From 159cca12ac010c4ebb75b903608d99fad613d33a Mon Sep 17 00:00:00 2001 From: Luke18033 Date: Sat, 27 Feb 2021 14:19:38 -0800 Subject: [PATCH 18/19] Ignore the dist/ folder --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 2255eb4ec..66f1dff62 100644 --- a/.gitignore +++ b/.gitignore @@ -54,6 +54,7 @@ Icon # Compiled application output build_BEE2/ compiler/ +dist/ # Ignore palettes palettes/*.bee2_palette From cc83abe7182683832e959f29dc8b63589753b142 Mon Sep 17 00:00:00 2001 From: TeamSpen210 Date: Sun, 28 Feb 2021 13:10:54 +1000 Subject: [PATCH 19/19] Make antigel base material use VMT extension --- src/precomp/texturing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/precomp/texturing.py b/src/precomp/texturing.py index 89e8803c4..0f2a52d47 100644 --- a/src/precomp/texturing.py +++ b/src/precomp/texturing.py @@ -139,7 +139,7 @@ def z(self) -> float: ANTIGEL_TEMPLATE = '''\ Patch {{ - include "materials/BEE2/antigel/base.vmi" + include "materials/BEE2/antigel/base.vmt" Insert {{ $basetexture "{path}"