Merge branch 'develop' into feature/cf2

This commit is contained in:
jliddev
2022-02-18 08:24:50 -06:00
5 changed files with 625 additions and 26 deletions

View File

@@ -45,7 +45,7 @@
"e2e": "npm run build:prod && cross-env TS_NODE_PROJECT='e2e/tsconfig.e2e.json' mocha --timeout 300000 --require ts-node/register e2e/**/*.e2e.ts",
"version": "conventional-changelog -i CHANGELOG.md -s -r 0 && git add CHANGELOG.md",
"lint": "ng lint",
"i18n": "sync-i18n --files ./src/assets/i18n/*.json --primary en --space 2 --finalnewline --lineendings CRLF --languages cs de es fr it nb pt ru zh zh-TW ko",
"i18n": "sync-i18n --files ./src/assets/i18n/*.json --primary en --space 2 --finalnewline --lineendings CRLF --languages cs de es fr it nb pt ru zh zh-TW ko pl",
"check-i18n": "npm run i18n -- --check",
"pretty": "npx prettier --write . && ng lint --fix",
"find-broken-test": "node ./test-fixer.js --find-break",
@@ -54,14 +54,14 @@
"package:local": "npx gulp packageLocal"
},
"devDependencies": {
"@angular-builders/custom-webpack": "13.0.0",
"@angular-devkit/build-angular": "13.1.3",
"@angular-builders/custom-webpack": "13.1.0",
"@angular-devkit/build-angular": "13.2.1",
"@angular-eslint/builder": "13.0.1",
"@angular-eslint/eslint-plugin": "13.0.1",
"@angular-eslint/eslint-plugin-template": "13.0.1",
"@angular-eslint/schematics": "13.0.1",
"@angular-eslint/template-parser": "13.0.1",
"@angular/cli": "13.1.3",
"@angular/cli": "13.2.1",
"@ngx-translate/core": "14.0.0",
"@ngx-translate/http-loader": "7.0.0",
"@types/adm-zip": "0.4.34",
@@ -86,8 +86,8 @@
"core-js": "3.17.2",
"cross-env": "7.0.3",
"del": "6.0.0",
"dotenv": "14.1.0",
"electron": "16.0.7",
"dotenv": "15.0.0",
"electron": "17.0.0",
"electron-builder": "22.14.5",
"electron-notarize": "1.1.1",
"electron-reload": "2.0.0-alpha.1",
@@ -103,14 +103,14 @@
"ignore": "5.1.9",
"jasmine-core": "3.9.0",
"jasmine-spec-reporter": "7.0.0",
"karma": "6.3.11",
"karma": "6.3.14",
"karma-coverage-istanbul-reporter": "3.0.3",
"karma-electron": "7.1.0",
"karma-jasmine": "4.0.1",
"karma-jasmine-html-reporter": "1.7.0",
"log4js": "6.4.0",
"mocha": "9.1.1",
"node-addon-api": "4.2.0",
"node-addon-api": "4.3.0",
"node-fetch": "3.2.0",
"node-gyp": "8.4.1",
"npm-run-all": "4.1.5",
@@ -125,17 +125,17 @@
"node": ">=14.0.0"
},
"dependencies": {
"@angular/animations": "13.1.2",
"@angular/cdk": "13.1.2",
"@angular/common": "13.1.2",
"@angular/compiler": "13.1.2",
"@angular/compiler-cli": "13.1.2",
"@angular/core": "13.1.2",
"@angular/forms": "13.1.2",
"@angular/material": "13.1.2",
"@angular/platform-browser": "13.1.2",
"@angular/platform-browser-dynamic": "13.1.2",
"@angular/router": "13.1.2",
"@angular/animations": "13.2.1",
"@angular/cdk": "13.2.1",
"@angular/common": "13.2.1",
"@angular/compiler": "13.2.1",
"@angular/compiler-cli": "13.2.1",
"@angular/core": "13.2.1",
"@angular/forms": "13.2.1",
"@angular/material": "13.2.1",
"@angular/platform-browser": "13.2.1",
"@angular/platform-browser-dynamic": "13.2.1",
"@angular/router": "13.2.1",
"@bbob/core": "2.8.0",
"@bbob/html": "2.8.0",
"@bbob/preset-html5": "2.8.0",
@@ -144,7 +144,7 @@
"@fortawesome/free-brands-svg-icons": "5.15.4",
"@fortawesome/free-regular-svg-icons": "5.15.4",
"@fortawesome/free-solid-svg-icons": "5.15.4",
"@microsoft/applicationinsights-web": "2.7.2",
"@microsoft/applicationinsights-web": "2.7.3",
"adm-zip": "0.5.9",
"ag-grid-angular": "26.2.0",
"ag-grid-community": "26.2.1",

View File

@@ -448,11 +448,7 @@ export class WagoAddonProvider extends AddonProvider {
private async sendMatchesRequest(installation: WowInstallation, request: WagoFingerprintRequest) {
const url = new URL(`${WAGO_BASE_URL}/addons/_match`);
return await this._cachingService.transaction(
`${installation.id}|${url.toString()}`,
() => this._circuitBreaker.postJson<WagoScanResponse>(url, request, this.getRequestHeaders()),
WAGO_DETAILS_CACHE_TIME_SEC
);
return await this._circuitBreaker.postJson<WagoScanResponse>(url, request, this.getRequestHeaders());
}
private toSearchResultFromScan(item: WagoScanAddon): AddonSearchResult {

View File

@@ -59,6 +59,7 @@ export class OptionsAppSectionComponent implements OnInit {
{ localeId: "es", label: "Español" },
{ localeId: "fr", label: "Français" },
{ localeId: "it", label: "Italiano" },
{ localeId: "pl", label: "Polski" },
{ localeId: "ko", label: "한국어" },
{ localeId: "nb", label: "Norsk Bokmål" },
{ localeId: "pt", label: "Português" },

View File

@@ -0,0 +1,602 @@
{
"ADDON_IMPORT": {
"ACTIVE_ADDON_COUNT": "Aktywne addony: {count}",
"ADDED_BADGE_TOOLTIP": "Podejmiemy próbę zainstalowania addonu",
"CONFLICT_BADGE_TOOLTIP": "Niezgodne addony nie będą modyfikowane",
"COPY_BUTTON": "Kopiuj",
"DIALOG_TITLE": "Import/Eksport Addonów: {clientType}",
"EXPORT_STRING_COPIED": "Tekst z eksportu skopiowany do schowka",
"EXPORT_STRING_PASTED": "Zawartość schowka wstawiona",
"EXPORT_TAB_LABEL": "Eksport",
"EXPORT_TEXT_LABEL": "Dane Addonu z Eksportu",
"GENERIC_IMPORT_ERROR": "Wystąpił błąd podczas importu",
"IGNORED_ADDON_COUNT": "Zignorowane addony: {count}",
"IMPORT_ADDED_COUNT": "{count} dodane",
"IMPORT_BADGE_ADDED": "Nowy",
"IMPORT_BADGE_CONFLICT": "Niezgodność",
"IMPORT_BADGE_NO_CHANGE": "Brak zmian",
"IMPORT_BUTTON": "Import",
"IMPORT_CONFLICT_COUNT": "{count} niezgodnych",
"IMPORT_NO_CHANGE_COUNT": "{count} niezmienionych",
"IMPORT_STRING_INVALID": "Zawartość importu była niepoprawna",
"IMPORT_TAB_LABEL": "Import",
"IMPORT_TEXT_INSTRUCTIONS": "Wklej zawartość danych addonu WowUp do okienka poniżej aby zacząć",
"IMPORT_TEXT_LABEL": "Import danych",
"IMPORT_TOTAL_COUNT": "Importowanie {count} {count, plural, =1{addon} other{addons}}",
"INSTALL_BUTTON": "Zainstaluj",
"INVALID_CLIENT_TYPE": "Zawartość importu nie jest zgodna z klientem",
"NO_CHANGE_BADGE_TOOLTIP": "Masz już zainstalowany ten addon",
"PASTE_BUTTON": "Wklej",
"PROVIDER_MISMATCH": "Ten addon jest już zainstalowany, ale dostawca nie zgadza się",
"RESET_BUTTON": "Reset",
"VERSION_MISMATCH": "Ten addon jest już zainstalowany, ale wersja nie zgadza się"
},
"ADS": {
"AD_EXPLAINER_BUTTON": "Czemu widzę tę reklamę?",
"AD_EXPLAINER_DIALOG": {
"MESSAGE": "Aby używać <a appExternalLink href=\"https://addons.wago.io/\">wago.io</a> jako dostawcę addonu i pomagać autorom za ich ciężką pracę nad twoimi ulubionimi addonami, jesteśmy zmuszeni pokazywać tę reklamę.\n\nJeśli nie chcesz widzieć tej reklamy, zawsze możesz zablokować Wago jako dostawcę w zakładce opcje.",
"TITLE": "Czemu widzę tę reklamę?"
}
},
"APP": {
"APP_MENU": {
"EDIT": {
"COPY": "Kopiuj",
"CUT": "Wytnij",
"LABEL": "Edytuj",
"PASTE": "Wklej",
"REDO": "Powtórz",
"SELECT_ALL": "Zaznacz wszystko",
"UNDO": "Cofnij"
},
"QUIT": "Wyjdź",
"VIEW": {
"FORCE_RELOAD": "Wymuś odświeżanie",
"LABEL": "Widok",
"RELOAD": "Odśwież",
"TOGGLE_DEV_TOOLS": "Przełącz narzędzia Devów",
"TOGGLE_FULL_SCREEN": "Przełącz pełny ekran",
"ZOOM_IN": "Przybliż",
"ZOOM_OUT": "Oddal",
"ZOOM_RESET": "Reset lupy"
},
"WINDOW": {
"CLOSE": "Zamknij",
"LABEL": "Okno"
}
},
"AUTO_UPDATE_FEW_NOTIFICATION_BODY": "Automatycznie zaktaulizowane\r\n{addonNames}",
"AUTO_UPDATE_NOTIFICATION_BODY": "Automatycznie zaktaulizowane {count} {count, plural, =1{addon} other{addons}}.",
"AUTO_UPDATE_NOTIFICATION_TITLE": "Automatyczna aktualizacja",
"CLOSE_FULLSCREEN_BUTTON_TOOLTIP": "Opuść pełny ekran",
"FULLSCREEN_SNACKBAR": {
"MAC": "Wciśnij ^⌘F aby wyjść z pełnego ekranu",
"WINDOWS": "Wciśnij F11 aby wyjść z pełnego ekranu"
},
"LINK_NAVIGATION": {
"MESSAGE": "{url}\n\nJesteś pewnien że chcesz otworzyć zewnętrzną stronę w twojej domyślnej przeglądarce?",
"TITLE": "Zamierzasz wyjść z WowUp"
},
"PROVIDERS": {
"UNKNOWN": "Nieznany"
},
"STATUS_TEXT": {
"ADDON_SCAN_COMPLETED": "Skanowanie addonów zakończone...",
"ADDON_SCAN_STARTED": "Skanowanie addonów zaczęte...",
"ADDON_SCAN_UPDATE": "Skanowanie {count} folderów..."
},
"SYSTEM_TRAY": {
"CHECK_UPDATE": "Sprawdź aktualizacje...",
"QUIT_ACTION": "Wyjdź",
"SHOW_ACTION": "Pokaż"
},
"THEME": {
"ALLIANCE": "Przymierze",
"DEFAULT": "WowUp",
"GROUP_DARK": "Ciemny",
"GROUP_LIGHT": "Jasny",
"HORDE": "Horda"
},
"WINDOW_TITLE": "WowUp.io",
"WINDOW_TITLE_FULLSCREEN": "WowUp.io - Pełny ekran",
"WOWUP_UPDATE": {
"CHECKING_FOR_UPDATE": "Sprawdzanie aktualizacji",
"DOWNLOADED_TOOLTIP": "Zainstaluj aktualizacje WowUp",
"DOWNLOADING_UPDATE": "Pobieranie aktualizacji",
"INSTALL_MESSAGE": "Chcesz zrestartować WowUp i zainstalować aktualizacje?",
"INSTALL_TITLE": "Aktualizacja WowUp gotowa",
"NOT_AVAILABLE": "Najnowsza wersja WowUp jest już zainstalowana",
"PORTABLE_DOWNLOAD_MESSAGE": "Chcesz ręcznie zainstalować najnowszą przenośną wersje?\n\nPotrzebujesz ręcznie zamknąć aplikacje i skopiować na nową wersje.",
"PORTABLE_DOWNLOAD_TITLE": "Wymagane ręczne pobieranie",
"SNACKBAR_ACTION": "Aktualizacja & Resetowanie",
"SNACKBAR_TEXT": "Najnowsza wersja WowUp jest dostępna",
"TOOLTIP": "Aktualizacja WowUp jest dostępna",
"UPDATE_AVAILABLE": "Rozpoczynanie pobierania",
"UPDATE_ERROR": "Nie udało się zaktualizować WowUp"
}
},
"COMMON": {
"ADDON_CATEGORIES": {
"ACHIEVEMENTS": "Osiągnięcia",
"ACTION_BARS": "Paski umięjętnośći",
"ALL_ADDONS": "Wszystkie addony",
"AUCTION_ECONOMY": "Aukcja & Ekonomia",
"BAGS_INVENTORY": "Plecak & Ekwipunek",
"BOSS_ENCOUNTERS": "Spotkania z bossami",
"BUFFS_DEBUFFS": "Buffy & Debuffy",
"BUNDLES": "Pakiety",
"CHAT_COMMUNICATION": "Czat & Komunikacja",
"CLASS": "Klasa",
"COMBAT": "Walka",
"COMPANIONS": "Towarzysze",
"DATA_EXPORT": "Eksport danych",
"DEVELOPMENT_TOOLS": "Narzędzia programistyczne",
"GUILD": "Gildia",
"LIBRARIES": "Bibliotetki",
"MAIL": "Poczta",
"MAP_MINIMAP": "Mapa & Minimapa",
"MISCELLANEOUS": "Pozostałe",
"MISSIONS": "Misje",
"PLUGINS": "Wtyczki",
"PROFESSIONS": "Profesje",
"PVP": "PVP",
"QUESTS_LEVELING": "Zadania & Leveling",
"ROLEPLAY": "Roleplay",
"TOOLTIPS": "Podpowiedzi",
"UNIT_FRAMES": "Unit Framesy"
},
"ADDON_STATE": {
"IGNORED": "Zignorowany",
"INSTALL": "Zainstaluj",
"PENDING": "W toku",
"UNINSTALL": "Odinstaluj",
"UNKNOWN": "",
"UPDATE": "Aktualizacja",
"UPTODATE": "Aktualny",
"WARNING": "Ostrzeżenie"
},
"ADDON_STATUS": {
"BACKINGUP": "Tworzenie kopii zapasowej",
"COMPLETE": "Zainstalowany",
"DOWNLOADING": "Pobieranie",
"ERROR": "Błąd",
"INSTALLING": "Instalowanie",
"PENDING": "W toku",
"UNINSTALLING": "Odinstalowanie",
"UPDATING": "Aktualizowanie..."
},
"ADDON_WARNING": {
"GENERIC_DESCRIPTION": "Wykryto problem z tym addonem. Nie możemy zaktualizować tego addonu czy zapewnić szczegółów.",
"GENERIC_TOOLTIP": "Wykryto problem z tym addonem",
"MISSING_ON_PROVIDER_DESCRIPTION": "{providerName} nie zwróciliśmy addonu gdy o to prosiliśmy.<br>Nie możemy zaktualizować tego addonu czy zapewnić szczegółów dopóki {providerName} nie naprawi go.",
"MISSING_ON_PROVIDER_TOOLTIP": "{providerName} nie zwraca tego dodatku zgodnie z oczekiwaniami",
"NO_PROVIDER_FILES_DESCRIPTION": "{providerName} prawidłowo zwrócił ten addon, lecz nie ma żadnych pasujących plików do tej wersji.<br>Kiedy będzie aktualizacja wspierająca tę wersje, komunikat powienien zniknąć.",
"NO_PROVIDER_FILES_TOOLTIP": "{providerName} nie ma żadnych pasujących plików dla tej wersji gry"
},
"CLIENT_TYPES": {
"BETA": "Beta",
"CLASSIC": "Classic",
"CLASSICBETA": "Classic Beta",
"CLASSICERA": "Classic Era",
"CLASSICERAPTR": "Classic Era PTR",
"CLASSICPTR": "Classic PTR",
"RETAIL": "Retail",
"RETAILPTR": "Retail PTR"
},
"DATES": {
"DATETIME_SHORT": "{d, date, short} {d, time, short}",
"DAYS_AGO": "{count} {count, plural, =1{day} other{days}} ago",
"HOURS_AGO": "{count} {count, plural, =1{hour} other{hours}} ago",
"JUST_NOW": "Przed chwilą",
"MONTHS_AGO": "{count} {count, plural, =1{month} other{months}} ago",
"YEARS_AGO": "{count} {count, plural, =1{year} other{years}} ago",
"YESTERDAY": "Wczoraj"
},
"DEPENDENCY": {
"TOOLTIP": "{dependencyCount} potrzebuje {dependencyCount, plural, =1{dependency} other{dependencies}}"
},
"DOWNLOAD_COUNT": {
"e+0": "kilka",
"e+1": "{count}",
"e+2": "{count}",
"e+3": "{count} tysiąc",
"e+4": "{count} tysiąc",
"e+5": "{count} tysiąc",
"e+6": "{count} milion",
"e+7": "{count} milion",
"e+8": "{count} milion",
"e+9": "{count} bilion"
},
"ENUM": {
"ADDON_CHANNEL_TYPE": {
"ALPHA": "Alfa",
"BETA": "Beta",
"STABLE": "Stabilne"
}
},
"ERRORS": {
"ACCOUNT_PUSH_TOGGLE_FAILED_ERROR": "Nie można włączyć natychmiastowych aktualizacji dla twojego konta. Proszę spróbować póżniej lub dołąćzyć na naszego Discorda.",
"ADDON_INSTALL_ERROR": "Nie można zainstalować addona, {addonName}. Proszę spróbować póżniej.",
"ADDON_SCAN_ERROR": "Wystąpił błąd pasującego folderu addonu z {providerName}, proszę spróbować póżniej.",
"ADDON_SYNC_ERROR": "Wystąpił bląd w sprawdzaniu aktualizacji z {providerName}, proszę spróbować póżniej.",
"ADDON_SYNC_FULL_ERROR": "[{installationName}]: Wystąpił bląd w sprawdzaniu aktualizacji dla {addonName} z {providerName}, proszę spróbować póżniej.",
"CHANGE_PROVIDER_ERROR": "Nie udało się zmienić dostawcy addonu {addonName} na {providerName}",
"GITHUB_LIMIT_ERROR": "Osiągnąłeś swój GitHub API limit z {max} prób.\nPoczekaj dopóki {reset} i spróbuj ponownie.",
"GITHUB_REPOSITORY_FETCH_ERROR": "Nie można sprawdzić aktualizacji dla {addonName}.\nProszę sprawdzić czy repozytorium jest poprawne lub zingnoruj ten addon."
},
"PROGRESS_SPINNER": {
"LOADING": "Ładowanie..."
},
"PROVIDER_ERROR": "Błąd, kontakt z {providerName}",
"SEARCH": {
"NO_ADDONS": "Nie znaleziono addonów"
},
"WOW_EXE_SELECTION_NAME": "Ścieżka do pliku WoW"
},
"DIALOGS": {
"ADDON_DETAILS": {
"ADDON_ID_PREFIX": "Addon ID:",
"BY_AUTHOR": "Przez {authorName}",
"CHANGELOG_TAB": "Lista zmian",
"COPY_ADDON_ID_SNACKBAR": "Addon ID skopiowany do schowka",
"COPY_ADDON_ID_TOOLTIP": "Skopiuj ID addonu do schowka",
"DEPENDENCY_TEXT": "Ten addon ma {dependencyCount} potrzebowanych {dependencyCount, plural, =1{dependency} other{dependencies}}",
"DESCRIPTION_NOT_FOUND": "Nie znaleziono opisu",
"DESCRIPTION_TAB": "Opis",
"FUNDING_LINK_TITLE": "Wspieraj tego autora",
"IMAGES_TAB": "Podglądy",
"MISSING_DEPENDENCIES": "Brakujące zależnośći",
"NO_CHANGELOG_TEXT": "Brak listy zmian",
"VIEW_IN_BROWSER_BUTTON": "Otwórz w przeglądarce",
"VIEW_ON_PROVIDER_PREFIX": "Otwórz w"
},
"ALERT": {
"ERROR_TITLE": "Błąd",
"POSITIVE_BUTTON": "Okej"
},
"CONFIRM": {
"NEGATIVE_BUTTON": "Nie",
"POSITIVE_BUTTON": "Tak"
},
"INSTALL_FROM_PROTOCOL": {
"ADDON_INSTALLED": "Addon zainstalowany!",
"ADDON_INSTALLING": "Instalowanie addonu",
"CANCEL_BUTTON": "Zamknij",
"ERRORS": {
"ADDON_NOT_FOUND": "Żaden addon nie został znaleziony dla protokołu: {protocol}",
"GENERIC": "Błąd pobierania danych dla protokołu: {protocol}",
"NO_VALID_WOW_INSTALLATIONS": "Brak zainstalowanych klientów WoW dla protokołu: {protocol}"
},
"INSTALL_BUTTON": "Zainstaluj",
"TITLE": "Zainstaluj addon z {providerName}"
},
"INSTALL_FROM_URL": {
"ADDON_URL_INPUT_LABEL": "Addon URL",
"ADDON_URL_INPUT_PLACEHOLDER": "Ex. GitHub lub WowInterface URL",
"CLOSE_BUTTON": "Zamknij",
"DESCRIPTION": "Jeżeli chcesz zainstalować addon bezpośrednio z linka, wklej go poniżej aby zacząć.",
"DOWNLOAD_COUNT": "{textCount} {count, plural, =1{download} other{downloads}} on {provider}",
"ERROR": {
"ASSET_NOT_FOUND": "Nie znaleziono zasobów aby pobrać {message}.\n\nA Potrzebny jest prawidłowy plik zip w wydaniu aby pobrać go dla WowUp.",
"BURNING_CRUSADE_ASSET_NOT_FOUND": "Nie znaleziono zasobów aby pobrać z {message}.\n\nA prawidłowy plik zip z konćówką '-bc' jest potrzebny aby pobrać go dla WowUp.",
"CLASSIC_ASSET_NOT_FOUND": "Nie znaleziono zasobów aby pobrać z {message}.\n\nA prawidłowy plik zip z konćówką '-classic' jest potrzebny aby pobrać go dla WowUp.",
"FAILED_TO_CONNECT": "Nie można połączyć się z API, proszę poczekać i spróbować ponownie.",
"INSTALL_FAILED": "Coś poszło nie tak z instalacją addona, proszę spróbować ponownie.\n\nJeżeli wiadomość nadal pojawia się, możesz otrzymać pomoc na Discordzie na kanale #wowup-support channel.",
"INVALID_URL": "Podana wartość nie jest poprawna dla adresu URL. Przykłady poprawnych adresów URL dla addonów są tutaj:\n\t- https://github.com/WowUp/WowUp.Addon\n\t- https://www.wowinterface.com/downloads/info25610-8.3-014.html\n\t- https://www.curseforge.com/wow/addons/altoholic",
"NO_ADDON_FOUND": "Nie znaleziono addonu, upewnij się że twój adres URL wskazuje na właściwą stronę.\n\nKiedy instalujesz z githuba, upewnij się że repozytorium ma znacznik wydania z archiwum zip zawierające addon.",
"NO_RELEASE_FOUND": "Nie znaleziono żadnych wydań dla {message}.\n\nPoprawnie wydanie z plikiem zasobów zip są potrzebne aby pobrać je dla WoWUP.",
"NO_SEARCH_RESULTS": "Nie znaleziono żadnych wyników wyszukiwania.",
"TITLE": "Instalacja addonu nie powiodła się"
},
"IMPORT_ASSET_WARNING": "Nie mogliśmy zwerifikować czy najnowsza wersja tego addonu jest kompatybilna z twoim zaznaczonym klientem.\n\nAle znaleźliśmy plik zip \"{zipName}\".\n\nInstalacja na własną odpowiedzialność.",
"IMPORT_BUTTON": "Importuj",
"IMPORT_WARNING_TITLE": "Ostrzeżenie importu addonu",
"INSTALL_BUTTON": "Instaluj",
"INSTALL_SUCCESS_LABEL": "Zainstalowany!",
"SUPPORTED_SOURCES": "Wspieraj WowInterface oraz GitHub",
"TITLE": "Zainstaluj addon z URL"
},
"NEW_VERSION_POPUP": {
"TITLE": "Opis łatki {versionNumber}"
},
"PERMISSIONS": {
"MESSAGE": "Przed rozpoczęciem potrzebujemy ustawić klika uprawień dla aplikacji.",
"POSITIVE_BUTTON": "Potwierdź",
"TELEMETRY": {
"DESCRIPTION": "Pomóż ulepszyć WowUp poprzez wysyłanie anonimowych danych o instalacji aplikacji lub o ich błędach.",
"TOGGLE_LABEL": "Zezwalaj na telemetrię"
},
"TITLE": "WowUp Konfiguracja uprawnień",
"WAGO": {
"DESCRIPTION": "Włącz dostawcę addonu Wago.io aby pomóc twórcom twojego ulubionego addonu! Spowoduje to wyświetlenie panelu promocyjnego wymaganego do korzystania z ich usług.\nDecydując się na udział w programie wyrażasz zgodę na ich <a appExternalLink href=\"{termsUrl}\" >Warunki świadczenia usług/a> oraz <a appExternalLink href=\"{dataUrl}\" >Zgodę na przetwarzanie danych</a>.",
"TOGGLE_LABEL": "Włącz dostawcę Wago.io"
}
},
"SELECT_INSTALLATION": {
"INVALID_INSTALLATION_PATH": "Nie wygląda to na poprawną aplikację World of Warcraft:\n{selectedPath}"
},
"TELEMETRY": {
"DESCRIPTION": "Pomóż ulepszać WowUp poprzez wysyłanie anonimowych danych o instalacji aplikacji lub o ich błędach.",
"NEGATIVE_BUTTON": "Nie dzięki",
"POSITIVE_BUTTON": "Pewnie!",
"TITLE": "WowUp Telemetria"
},
"TRUST_DOMAIN_CHECKBOX": "Zaufaj tej domenie i nie pytaj mnie w przyszłości"
},
"PAGES": {
"ABOUT": {
"ATTRIBUTIONS_TITLE": "Wkłady",
"CHANGE_LOG_SECTION_LABEL": "Lista zmian",
"TITLE": "WowUp.io",
"WEBSITE_LINK_LABEL": "Sprawdź stronę!"
},
"ACCOUNT": {
"BETA": "Beta",
"LOGIN_BUTTON": "Zaloguj się teraz!",
"LOGOUT_BUTTON": "Wyloguj się",
"LOGOUT_CONFIRMATION_MESSAGE": "Jesteś pewny że chcesz się wylogować? Wszystkie twoje lokalne dane konta zostaną usunięte, dopóki nie zalogujesz się ponownie.",
"LOGOUT_CONFIRMATION_TITLE": "Wyloguj?",
"MANAGE_ACCOUNT_BUTTON": "Zarządzaj kontem",
"TITLE": "Konto"
},
"GET_ADDONS": {
"ADDON_CATEGORIES_BUTTON": "Kategorie",
"ADDON_CATEGORIES_MENU_TITLE": "Kategorie addonu",
"ADDON_CATEGORIES_SELECTED_TITLE": "Kategoria: {category}",
"ADDON_CATEGORIES_TOOLTIP": "Przeglądaj różne kategorie",
"CLIENT_TYPE_SELECT_LABEL": "World of Warcraft",
"INSTALL_FROM_URL_BUTTON": "Zainstaluj z adresu URL",
"INSTALL_FROM_URL_TOOLTIP": "Zainstaluj addon z adresu URL",
"REFRESH_BUTTON": "Odśwież",
"REFRESH_TOOLTIP": "Odśwież wyniki addonów",
"RESET_CATEGORY_TOOLTIP": "Reset kategorii",
"SEARCH_LABEL": "Szukaj",
"TABLE": {
"ADDON_COLUMN_HEADER": "Addon",
"AUTHOR_COLUMN_HEADER": "Autor(rzy)",
"DOWNLOAD_COUNT_COLUMN_HEADER": "Pobieranie",
"PROVIDER_COLUMN_HEADER": "Dostawca",
"RELEASED_AT_COLUMN_HEADER": "Wydano w",
"STATUS_COLUMN_HEADER": "Status"
}
},
"HOME": {
"ABOUT_TAB_TITLE": "Informacje",
"ACCOUNT_TAB_TITLE": "Konto",
"COLLAPSE_BUTTON_TITLE": "Zwiń",
"DISCORD_TAB_TITLE": "Discord",
"EXPAND_BUTTON_TITLE": "Rozwiń",
"GET_ADDONS_TAB_TITLE": "Pobierz addony",
"GUIDE_TAB_TITLE": "Przewodnik",
"MIGRATING_ADDONS": "Migrowanie addonów...",
"MY_ADDONS_TAB_TITLE": "Moje addony",
"NEWS_TAB_TITLE": "Aktualności",
"OPTIONS_TAB_TITLE": "Opcje"
},
"MY_ADDONS": {
"ADDON_CONTEXT_MENU": {
"ADDONS_SELECTED": "{count} {count, plural, =1{addon} other{addons}} selected",
"ALPHA_ADDON_CHANNEL": "Alfa",
"AUTO_UPDATE_ADDON_BUTTON": "Automatyczna aktualizacja",
"AUTO_UPDATE_ADDON_NOTIFICATIONS_ENABLED_BUTTON": "Powiadomienia włączone",
"BETA_ADDON_CHANNEL": "Beta",
"CHANNEL_SUBMENU_TITLE": "Kanał",
"IGNORE_ADDON_BUTTON": "Ignoruj",
"PROVIDER_SUBMENU_TITLE": "Dostawcy",
"REINSTALL_ADDON_BUTTON": "Zainstaluj ponownie",
"REMOVE_ADDON_BUTTON": "Usuń",
"SHOW_FOLDER": "Pokaż folder",
"STABLE_ADDON_CHANNEL": "Stabilna"
},
"ADDON_IS_CODE_REPOSITORY": "Addon wydaje się być repozytorium kodu",
"ADDON_REMOVED_SNACKBAR": "Pomyślnie usunięto: {addonName} ",
"CHANGE_ADDON_PROVIDER_CONFIRMATION": {
"MESSAGE": "Chcesz zmienić dostawcę addonu dla {addonName} na {providerName}? Ta operacja spowoduje odinstalowanie istniejącego addonu i zastąpi go kopią od nowego dostawcy.",
"TITLE": "Zmienić dostawcę addonu?"
},
"CHECK_UPDATES_BUTTON": "Sprawdź aktualizacje",
"CHECK_UPDATES_BUTTON_TOOLTIP": "Sprawdź najnowsze aktualizacje addonów",
"CLIENT_TYPE_SELECT_BADGE": "{count} {count, plural, =1{update} other{updates}} ",
"CLIENT_TYPE_SELECT_LABEL": "World of Warcraft",
"COLUMNS_CONTEXT_MENU": {
"TITLE": "Pokaż kolumny"
},
"ERROR_SNACKBAR": "Wystąpił błąd",
"FILTER_LABEL": "Filtr",
"FUNDING_TOOLTIP": {
"CUSTOM": "Wesprzyj tego autora",
"GENERIC": "Wesprzyj tego autora na {platform}",
"GITHUB": "Wesprzyj tego autora na GitHub",
"PATREON": "Wesprzyj tego autora na Patreon",
"PAYPAL": "Wesprzyj tego autora na PayPal"
},
"IMPORT_EXPORT_ADDONS_BUTTON": "Import/Eksport addonów",
"MULTIPLE_PROVIDERS_TOOLTIP": "Ten addon ma wielu dostawców",
"PAGE_CONTEXT_FOOTER": {
"ADDONS_INSTALLED": "{count} {count, plural, =1{addon} other{addons}}",
"JOIN_DISCORD": "Porozmawiaj z nami na Discordzie",
"PATREON_SUPPORT": "Wspieraj WowUp na Patreonie",
"SEARCH_RESULTS": "{count} {count, plural, =1{result} other{results}}",
"VIEW_GITHUB": "Sprawdź kod na GitHubie",
"VIEW_GUIDE": "Sprawdź nasz przewodnik, aby zobaczyć, co potrafi WowUp."
},
"REQUIRED_DEPENDENCY_MISSING_TOOLTIP": "Brak wymaganej zależności",
"RESCAN_FOLDERS_BUTTON": "Ponowne skanowanie folderów",
"RESCAN_FOLDERS_BUTTON_TOOLTIP": "Przeskanuj folder klienta pod kątem zainstalowanych dodatków",
"RESCAN_FOLDERS_CONFIRMATION_DESCRIPTION": "Ponowne skanowanie będzie skutkowało próbą odgadnięcia jakie addony są aktualnie zainstalowane, skutkując wymazanie informacji o addonie. Użyj tej funkcji, jeśli niektóre addony nie są rozpoznawane lub wersje addonów nie są wyświetlane poprawnie. To skanowanie nigdy nie usunie zainstalowanych addonów, które zna WowUp.\n\nSkanowanie może potrwać kilka chwil.",
"RESCAN_FOLDERS_CONFIRMATION_TITLE": "Rozpocząć ponowne skanowanie?",
"SPINNER": {
"GATHERING_ADDONS": "Zbieranie addonów...",
"UPDATING": "Aktualizowanie {updateCount}/{addonCount}",
"UPDATING_WITH_ADDON_NAME": "Aktualizowanie {updateCount}/{addonCount}\n{clientType}: {addonName}"
},
"TABLE": {
"ADDON_COLUMN_HEADER": "Addon",
"ADDON_INSTALL_BUTTON": "Instaluj",
"ADDON_UPDATE_BUTTON": "Aktualizuj",
"AUTHOR_COLUMN_HEADER": "Autor(rzy)",
"AUTO_UPDATE_ICON_TOOLTIP": "Automatyczna aktualizacja włączona",
"GAME_VERSION_COLUMN_HEADER": "Wersja gry",
"LATEST_VERSION_COLUMN_HEADER": "Ostatnia wersja",
"PROVIDER_COLUMN_HEADER": "Dostawca",
"PROVIDER_RELEASE_CHANNEL": "Kanał dostawcy",
"RELEASED_AT_COLUMN_HEADER": "Wydane w",
"STATUS_COLUMN_HEADER": "Status",
"UPDATED_AT_COLUMN_HEADER": "Zaktualizowany w"
},
"UNINSTALL_POPUP": {
"CONFIRMATION_ACTION_EXPLANATION": "Usunięcie addonu przez WowUp usunie zaznaczony addon z twojego folderu interfejs/addony. Ustawienia postaci dla tego addonu nie zostaną usunięte.",
"CONFIRMATION_LESS_THAN_THREE": "Czy na pewno chcesz usunąć {count} addonów?",
"CONFIRMATION_MORE_THAN_THREE": "Czy na pewno chcesz usunąć wybrane {count} addony?",
"CONFIRMATION_ONE": "Czy na pewno chcesz usunąć {addonName}?",
"DEPENDENCY_MESSAGE": "{addonName} ma {dependencyCount} {dependencyCount, plural, =1{dependency} other{dependencies}}. Czy chcesz je również usunąć?",
"DEPENDENCY_TITLE": "Usunąć zależności addonów?",
"TITLE": "Odinstaluj {count, plural, =1{Addon} other{Addons}}?"
},
"UNKNOWN_ADDON_INFO_TOOLTIP": "Zainstalowany addon nie pasuje do żadnego z skonfigurowanych dostawców",
"UPDATE_ALL_BUTTON": "Aktualizuj wszystko",
"UPDATE_ALL_BUTTON_TOOLTIP": "Zaktualizuj wszystkie addony dla tego klienta",
"UPDATE_ALL_CONTEXT_MENU": {
"UPDATE_ALL_CLIENTS_BUTTON": "Aktualizuj wszystkie klienty",
"UPDATE_RETAIL_CLASSIC_BUTTON": "Aktualizuj Retail/Classic"
},
"WTF_BACKUP_BUTTON": "Ustawienia kopii zapasowej interfejsu"
},
"NEWS": {
"PAGE_CONTEXT_FOOTER": "{count} nowośći",
"REFRESH_TOOLTIP": "Odśwież kanał wiadomości"
},
"OPTIONS": {
"ADDON": {
"AD_REQUIRED_HINT": "Reklama wymagana",
"ENABLED_PROVIDERS": {
"DESCRIPTION": "Wybierz, którzy dostawcy mogą być używani do wyszukiwania i instalowania nowych addonów",
"FIELD_LABEL": "Włączone addony dostawców",
"INPUT_LABEL": "Dostawcy"
},
"TITLE": "Addony"
},
"APPLICATION": {
"APP_RELEASE_CHANNEL_CONFIRMATION_DESCRIPTION_BETA": "Przełączenie na kanał Beta pozwoli Ci otrzymywać eksperymentalne wersje, które zawierają poprawki błędów, jak również nowe i nadchodzące funkcje. Możesz powrócić do aktualnej stabilnej wersji tylko poprzez odinstalowanie istniejącej aplikacji i ponowną instalację z wowup.io.\n\nChociaż kanał Beta jest funkcjonalny, korzystasz z niego na własne ryzyko.",
"APP_RELEASE_CHANNEL_CONFIRMATION_DESCRIPTION_STABLE": "Przełączenie się na kanał Stabilny uniemożliwi Ci otrzymywanie kolejnych wersji Beta, następna aktualizacja będzie następną wersją Stabilną.",
"APP_RELEASE_CHANNEL_CONFIRMATION_LABEL": "Ustawianie kanału wydania aplikacji",
"APP_RELEASE_CHANNEL_CONFIRMATION_POSITIVE_BUTTON": "Tak, rozumiem.",
"APP_RELEASE_CHANNEL_DESCRIPTION": "Przełączanie pomiędzy wersjami Beta i Stabilną aplikacji",
"APP_RELEASE_CHANNEL_DROPDOWN_LABEL": "Kanał",
"APP_RELEASE_CHANNEL_LABEL": "Kanał udostępniania aplikacji",
"CURRENT_LANGUAGE_LABEL": "Aktualny język",
"CURSE_PROTOCOL_DESCRIPTION": "Podczas pobierania dodatków ze strony CurseForge, WowUp zajmie się instalacją",
"CURSE_PROTOCOL_LABEL": "Obsługa pobranych linków CurseForge",
"ENABLE_APP_BADGE_DESCRIPTION": "Pokaż plakietkę na ikonie aplikacji z liczbą dodatków z dostępnymi aktualizacjami.",
"ENABLE_APP_BADGE_LABEL": "Włącz powiadamianie o odznakach aplikacji",
"ENABLE_SYSTEM_NOTIFICATIONS_DESCRIPTION": "Włącz różne wyskakujące okienka powiadomień, np. o automatycznie aktualizowanych addonach.",
"ENABLE_SYSTEM_NOTIFICATIONS_LABEL": "Włącz powiadomienia systemowe",
"MINIMIZE_ON_CLOSE_DESCRIPTION_MAC": "Zamykając okno WowUp, zminimalizuj je do paska menu.",
"MINIMIZE_ON_CLOSE_DESCRIPTION_WINDOWS": "Podczas zamykania okna WowUp zminimalizuj je do obszaru powiadomień paska zadań.",
"MINIMIZE_ON_CLOSE_LABEL": "Zminimalizuj przy zamykaniu",
"PROTOCOL_DESCRIPTION": "WowUp zarejestruje niestandardowy protokół URI w Twoim systemie i będzie obsługiwał przychodzące zapytania.",
"PROTOCOL_LABEL": "Włącz protokół wowup:// URI",
"SCALE_DESCRIPTION": "Zmiana współczynnika powiększenia dla całej aplikacji.",
"SCALE_LABEL": "Skalowanie",
"SET_LANGUAGE_CONFIRMATION_DESCRIPTION": "Zmiana domyślnego języka wymaga ponownego uruchomienia aplikacji.",
"SET_LANGUAGE_CONFIRMATION_LABEL": "Ustawianie nowego języka domyślnego",
"SET_LANGUAGE_DESCRIPTION": "Wybierz język, na który chcesz zmienić",
"SET_LANGUAGE_LABEL": "Ustaw język",
"START_MINIMIZED_DESCRIPTION": "WowUp zostanie zminimalizowany i nie pojawi się.",
"START_MINIMIZED_LABEL": "Uruchom WowUp zminimalizowany",
"START_WITH_SYSTEM_DESCRIPTION": "WowUp zostanie uruchomiony automatycznie przy starcie systemu.",
"START_WITH_SYSTEM_LABEL": "Uruchom WowUp z systemem",
"TELEMETRY_DESCRIPTION": "Pomóż ulepszyć WowUp, wysyłając anonimowe dane dotyczące instalacji lub błędów.",
"TELEMETRY_LABEL": "Telemetria",
"THEME_DESCRIPTION": "Zmień motyw kolorystyczny na taki, jaki Ci się podoba",
"THEME_LABEL": "Kolor motywu",
"TITLE": "Aplikacja",
"USE_CURSE_PROTOCOL_CONFIRMATION_DESCRIPTION": "WowUp może ustawić się jako domyślna obsługa pobierania linków do CurseForge. Może to spowodować problemy, jeśli spróbujesz użyć aplikacji CurseForge, czy na pewno chcesz kontynuować?",
"USE_CURSE_PROTOCOL_CONFIRMATION_LABEL": "Obsługiwać pobieranie z CurseForge?",
"USE_HARDWARE_ACCELERATION_CONFIRMATION_LABEL": "Czy chcesz ponownie uruchomić?",
"USE_HARDWARE_ACCELERATION_DESCRIPTION": "Disabling hardware acceleration might solve FPS issues and fix other rendering issues in this app.<br>Changing this setting requires a restart.",
"USE_HARDWARE_ACCELERATION_DISABLE_CONFIRMATION_DESCRIPTION": "Wyłączenie akceleracji sprzętowej wymaga ponownego uruchomienia aplikacji.",
"USE_HARDWARE_ACCELERATION_ENABLE_CONFIRMATION_DESCRIPTION": "Włączenie akceleracji sprzętowej wymaga ponownego uruchomienia aplikacji.",
"USE_HARDWARE_ACCELERATION_LABEL": "Włącz akcelerację sprzętową",
"USE_SYMLINK_SUPPORT": "Włącz obsługę Symlink",
"USE_SYMLINK_SUPPORT_CONFIRMATION_DESCRIPTION": "Włączenie obsługi symlink pozwoli WowUp na rozpoznawanie symlinków podczas ponownego skanowania. Ostrzeżenie: Jeśli nie wiesz, co to jest symlink, nie potrzebujesz tego. Podczas aktualizacji symlink będzie obecnie zastępowany rzeczywistym folderem, a link zostanie utracony.",
"USE_SYMLINK_SUPPORT_CONFIRMATION_LABEL": "Włączyć obsługę symlink?",
"USE_SYMLINK_SUPPORT_DESCRIPTION": "Pozwól WowUp na skanowanie folderów z symlinkami w folderze addonów. Ostrzeżenie: zostaną one zastąpione podczas aktualizacji/instalacji."
},
"DEBUG": {
"DEBUG_DATA_BUTTON": "Zrzut danych debugowania",
"DEBUG_DATA_DESCRIPTION": "Rejestruj dane debugowania, aby pomóc w diagnozowaniu potencjalnych problemów. Można je znaleźć w najnowszym pliku dziennika dla ciekawskich.",
"DEBUG_DATA_LABEL": "Dane debugowania",
"LOG_FILES_BUTTON": "Pokaż pliki dziennika",
"LOG_FILES_DESCRIPTION": "Otwórz folder, w którym znajduje się kilka ostatnich plików dziennika.",
"LOG_FILES_LABEL": "Pliki dziennika",
"TITLE": "Debugowanie"
},
"TABS": {
"ABOUT": "Informacje",
"ADDONS": "Addony",
"APPLICATION": "Aplikacja",
"CLIENTS": "Klienty",
"DEBUG": "Debugowanie"
},
"WOW": {
"ADD_CLIENT_BUTTON": "Dodaj nowy",
"AUTO_UPDATE_DESCRIPTION": "Wszystkie istniejące i nowo zainstalowane addony będą domyślnie ustawione na automatyczną aktualizację.",
"AUTO_UPDATE_LABEL": "Automatyczna aktualizacja",
"CANCEL_WOW_DIRECTORY_SELECT_BUTTON": "Anuluj",
"CLEAR_INSTALL_LOCATION_DIALOG": {
"MESSAGE": "Czy na pewno chcesz usunąć instalację w \"{location}\"? Spowoduje to usunięcie wszystkich zapisanych informacji o addonach dla tego klienta.\n\nTwoje foldery addonów nie zostaną usunięte.",
"TITLE": "Usunąć instalację World of Warcraft?"
},
"CLIENT_TYPE_INPUT_HINT": "Zaznacz aplikacje {clientTypeName} \"{clientFolderName}\"",
"CLIENT_TYPE_PATH_LABEL": "{clientTypeName} ścieżka",
"DEFAULT_ADDON_CHANNEL_LABEL": "Domyślny kanał addonu",
"DEFAULT_ADDON_CHANNEL_SELECT_LABEL": "Kanał addonu",
"EDIT_WOW_DIRECTORY_SELECT_BUTTON": "Edytuj",
"MOVE_DOWN_BUTTON": "Przesuń w dół",
"MOVE_UP_BUTTON": "Przesuń w górę",
"NO_CLIENTS_FOUND_TEXT": "Nie znaleziono instalacji World of Warcraft, proszę upewnić się, że klient Battle.net jest aktualny lub dodać klienta ręcznie",
"OPEN_FOLDER_BUTTON": "Otwórz folder",
"OPEN_WOW_DIRECTORY_SELECT_BUTTON": "Wybierz",
"REMOVE_WOW_DIRECTORY_SELECT_BUTTON": "Usuń",
"RESCAN_CLIENTS_BUTTON": "Ponowne skanowanie",
"RESCAN_CLIENTS_LABEL": "Ponowne skanowanie zainstalowanych klientów World of Warcraft",
"SAVE_WOW_DIRECTORY_SELECT_BUTTON": "Zapisz",
"TITLE": "World of Warcraft"
}
}
},
"WTF_BACKUP": {
"APPLY_CONFIRMATION": {
"MESSAGE": "Czy na pewno chcesz zastosować tę kopię zapasową do ustawień interfejsu?\n\nPrzed utworzeniem kopii zapasowej upewnij się, że gra World of Warcraft nie jest uruchomiona.\n\nTej operacji nie można cofnąć.",
"TITLE": "Zastosować kopię zapasową WTF?"
},
"BACKUP_APPLY_SUCCESS": "Pomyślne zastosowanie kopii zapasowej: {name}",
"BACKUP_COUNT_TEXT": "Znaleziono {count} {count, plural, =1{backup} other{backups}}",
"BUSY_TEXT": {
"APPLYING_BACKUP": "Stosowanie kopii zapasowej...",
"CREATING_BACKUP": "Tworzenie kopii zapasowej z {count} plików...",
"LOADING_BACKUPS": "Ładowanie kopii zapasowych...",
"REMOVING_BACKUP": "Usuwanie kopii zapasowej..."
},
"CREATE_BACKUP_BUTTON": "Utwórz kopię zapasową",
"DELETE_CONFIRMATION": {
"MESSAGE": "Czy na pewno chcesz usunąć kopię zapasową {name}?\nNie można tego cofnąć.",
"TITLE": "Usunąć kopię zapasową WTF?"
},
"DIALOG_TITLE": "Kopia zapasowa ustawień WTF: {clientType}",
"ERROR": {
"BACKUP_APPLY_FAILED": "Nie udało się zastosować kopii zapasowej: {name}",
"FAILED_TO_DELETE": "Nie udało się usunąć kopii zapasowej: {name}",
"GENERIC_ERROR": "Wystąpił problem z przetwarzaniem tej kopii zapasowej",
"INVALID_CONTENTS": "Wystąpił problem z przetwarzaniem tej kopii zapasowej",
"INVALID_CREATED_AT": "Wystąpił problem z przetwarzaniem tej kopii zapasowej",
"INVALID_CREATED_BY": "Wystąpił problem z przetwarzaniem tej kopii zapasowej"
},
"SHOW_FOLDER_BUTTON": "Pokaż folder",
"TOOL_TIP": {
"APPLY_BUTTON": "Zastosuj tę kopię zapasową",
"DELETE_BUTTON": "Usuń tę kopię zapasową"
}
}
}

View File

@@ -174,7 +174,7 @@ export const MIN_VISIBLE_ON_SCREEN = 32;
export const WOWUP_LOGO_FILENAME = "wowup_logo_purple.png";
export const WOWUP_LOGO_MAC_SYSTEM_TRAY = "wowupBlackLgNopadTemplate.png";
export const DEFAULT_FILE_MODE = 0o655;
export const DEFAULT_TRUSTED_DOMAINS = ["wowup.io", "dev.wowup.io", "discord.gg", "www.patreon.com", "github.com"];
export const DEFAULT_TRUSTED_DOMAINS = ["wowup.io", "dev.wowup.io", "discord.gg", "www.patreon.com", "github.com", "wago.io", "addons.wago.io"];
export const WOW_CLASSIC_FOLDER = "_classic_";
export const WOW_CLASSIC_ERA_FOLDER = "_classic_era_";
export const WOW_RETAIL_FOLDER = "_retail_";