text:
define({

    /**
     * Errors
     */

    // General file io error strings
    "GENERIC_ERROR"                     : "(błąd {0})",
    "NOT_FOUND_ERR"                     : "Nie znaleziono pliku/folderu.",
    "NOT_READABLE_ERR"                  : "Nie można odczytać pliku/folderu.",
    "EXCEEDS_MAX_FILE_SIZE"             : "Pliki większe niż {0} MB nie mogą być otwarte w {APP_NAME}.",
    "NO_MODIFICATION_ALLOWED_ERR"       : "Nie można zmodyfikować folderu docelowego.",
    "NO_MODIFICATION_ALLOWED_ERR_FILE"  : "Nie masz uprawnień by modyfikować ten plik.",
    "CONTENTS_MODIFIED_ERR"             : "Plik został zmodyfikowany poza {APP_NAME}.",
    "UNSUPPORTED_ENCODING_ERR"          : "{APP_NAME} aktualnie wspiera tylko pliki tekstowe z kodowaniem UTF-8.",
    "FILE_EXISTS_ERR"                   : "Plik lub folder już istnieje.",
    "FILE"                              : "plik",
    "FILE_TITLE"                        : "Plik",
    "DIRECTORY"                         : "folder",
    "DIRECTORY_TITLE"                   : "Folder",
    "DIRECTORY_NAMES_LEDE"              : "Nazwy folderów",
    "FILENAMES_LEDE"                    : "Nazwy plików",
    "FILENAME"                          : "Nazwa pliku",
    "DIRECTORY_NAME"                    : "Nazwa folderu",

    // Project error strings
    "ERROR_LOADING_PROJECT"             : "Błąd podczas ładowania projektu",
    "OPEN_DIALOG_ERROR"                 : "Wystąpił błąd podczas wyświetlania okna otwierania pliku. (błąd {0})",
    "REQUEST_NATIVE_FILE_SYSTEM_ERROR"  : "Wystąpił błąd przy próbie otwarcia folderu {0}. (błąd {1})",
    "READ_DIRECTORY_ENTRIES_ERROR"      : "Wystąpił błąd podczas odczytu zawartości folderu {0}. (błąd {1})",

    // File open/save error string
    "ERROR_OPENING_FILE_TITLE"          : "Błąd podczas otwarcia pliku",
    "ERROR_OPENING_FILE"                : "Wystąpił błąd podczas próby otwarcia pliku {0}. {1}",
    "ERROR_OPENING_FILES"               : "Wystąpił błąd podczas otwierania plików:",
    "ERROR_RELOADING_FILE_TITLE"        : "Błąd podczas przeładowania zmian z dysku",
    "ERROR_RELOADING_FILE"              : "Błąd podczas przeładowania pliku {0}. {1}",
    "ERROR_SAVING_FILE_TITLE"           : "Problem z zapisaniem pliku",
    "ERROR_SAVING_FILE"                 : "Błąd podczas próby zapisu pliku {0}. {1}",
    "ERROR_RENAMING_FILE_TITLE"         : "Błąd podczas zmiany nazwy pliku {0}",
    "ERROR_RENAMING_FILE"               : "Błąd podczas próby zmiany nazwy pliku {2} {0}. {1}",
    "ERROR_RENAMING_NOT_IN_PROJECT"     : "Plik lub folder nie jest częścią aktualnie otwartego projektu. Niestety, w tym momencie możesz zmienić nazwę tylko dla plików projektu.",
    "ERROR_DELETING_FILE_TITLE"         : "Błąd podczas usuwania pliku {0}",
    "ERROR_DELETING_FILE"               : "Błąd podczas próby usunięcia {2} {0}. {1}",
    "INVALID_FILENAME_TITLE"            : "Nieprawidłowa nazwa pliku {0}",
    "INVALID_FILENAME_MESSAGE"          : "{0} nie może kończyć się kropką (.), zawierać żadnych zarezerwowanych słów ani żadnych z tych znaków: {1}",
    "ENTRY_WITH_SAME_NAME_EXISTS"       : "Plik lub folder o nazwie {0} już istnieje.",
    "ERROR_CREATING_FILE_TITLE"         : "Nie można utworzyć pliku {0}",
    "ERROR_CREATING_FILE"               : "Błąd podczas próby stworzenia pliku {0} {1}. {2}",
    "ERROR_MIXED_DRAGDROP"              : "Nie można otworzyć folderu podczas otwierana innych plików.",

    // User key map error strings
    "ERROR_KEYMAP_TITLE"                : "Błąd podczas odczytywania konfiguracji klawiszy",
    "ERROR_KEYMAP_CORRUPT"              : "Twój plik z konfiguracją klawiszy nie jest poprawnie zakodowanym plikiem JSON. Zostanie on otwarty abyś mógł go poprawić.",
    "ERROR_LOADING_KEYMAP"              : "Twój plik z konfiguracją klawiszy nie jest poprawnie zakodowanym plikiem UTF-8 i nie może zostać załadowany.",
    "ERROR_RESTRICTED_COMMANDS"         : "Nie możesz nadpisać skrótów do tych komend: {0}",
    "ERROR_RESTRICTED_SHORTCUTS"        : "Nie możesz nadpisać tych skrótów: {0}",
    "ERROR_MULTIPLE_SHORTCUTS"          : "Próbujesz przypisać kilka skrótów do następujących komend: {0}",
    "ERROR_DUPLICATE_SHORTCUTS"         : "Upewnij się, że następujące skróty są unikalne (nie nadpisują się): {0}",
    "ERROR_INVALID_SHORTCUTS"           : "Podane skróty są nieprawidłowe: {0}",
    "ERROR_NONEXISTENT_COMMANDS"        : "Próbujesz przypisać skróty do niestniejących komend: {0}",

    // Application preferences corrupt error strings
    "ERROR_PREFS_CORRUPT_TITLE"         : "Błąd podczas wczytywania ustawień",
    "ERROR_PREFS_CORRUPT"               : "Twój plik ustawień nie jest poprawnie zakodowanym plikiem JSON. Zostanie on otwarty abyś mógł go poprawić. Aby zastosować zmiany, uruchom ponownie {APP_NAME}.",
    "ERROR_PROJ_PREFS_CORRUPT"          : "Twój plik ustawień projektu nie jest poprawnie zakodowanym plikiem JSON. Zostanie on otwarty abyś mógł go poprawić. Aby zastosować zmiany, musisz przeładować projekt.",

    // Application error strings
    "ERROR_IN_BROWSER_TITLE"            : "Oops! {APP_NAME} nie działa jeszcze w przeglądarkach.",
    "ERROR_IN_BROWSER"                  : "{APP_NAME} został zbudowany w HTML, jednak na razie działa jako samodzielna aplikacja. Możesz użyć jej do edycji plików na dysku. Aby uruchomić {APP_NAME} użyj aplikacji dostępnej pod adresem github.com/adobe/brackets-shell.",

    // ProjectManager max files error string
    "ERROR_MAX_FILES_TITLE"             : "Błąd podczas indeksowania plików",
    "ERROR_MAX_FILES"                   : "Ten projekt zawiera więcej niż 30.000 plików. Funkcje, które pracują na wielu plikach mogą być wyłączone lub zachowywać się tak, jakby projekt był pusty. Przeczytaj więcej nt. pracy z dużymi projektami.",

    // Live Preview error strings
    "ERROR_LAUNCHING_BROWSER_TITLE"     : "Błąd podczas uruchamiania przeglądarki",
    "ERROR_CANT_FIND_CHROME"            : "Nie znaleziono przeglądarki Google Chrome. Upewnij się, że jest zainstalowana.",
    "ERROR_LAUNCHING_BROWSER"           : "Błąd podczas uruchamiania przeglądarki. (błąd {0})",

    "LIVE_DEVELOPMENT_ERROR_TITLE"      : "Błąd podglądu na żywo",
    "LIVE_DEVELOPMENT_RELAUNCH_TITLE"   : "Łączenie z przeglądarką",
    "LIVE_DEVELOPMENT_ERROR_MESSAGE"    : "Aby podgląd na żywo mógł się połączyć, Chrome musi zostać zrestartowany z włączonym zdalnym debugowaniem.

Czy chcesz zrestartować Chrome i uaktywnić zdalne debugowanie?

",
    "LIVE_DEV_LOADING_ERROR_MESSAGE"    : "Nie można wczytać strony podglądu na żywo.",
    "LIVE_DEV_NEED_HTML_MESSAGE"        : "Aby uruchomić podgląd na żywo, otwórz plik HTML lub upewnij się, że w Twoim projekcie jest plik index.html.",
    "LIVE_DEV_NEED_BASEURL_MESSAGE"     : "Aby uruchomić podgląd na żywo na plikach serwerowych, musisz podać główny adres dla tego projektu (Base URL).",
    "LIVE_DEV_SERVER_NOT_READY_MESSAGE" : "Błąd przy próbie uruchomienia serwera HTTP dla podglądu na żywo. Spróbuj ponownie.",
    "LIVE_DEVELOPMENT_INFO_TITLE"       : "Witaj w podglądzie na żywo (Live Preview)!",
    "LIVE_DEVELOPMENT_INFO_MESSAGE"     : "Podgląd na żywo został podłączony do twojej przeglądarki. Umożliwia on podgląd twojego pliku HTML w przeglądarce oraz aktualizuje go za każdym razem, gdy edytujesz swój kod.

W aktualnej wersji {APP_NAME}, podgląd na żywo działa tylko w Google Chrome i aktualizuje w czasie rzeczywistym pliki CSS lub HTML. Zmiany w JavaScript są automatycznie odświeżane po zapisie pliku.

(Zobaczysz tę wiadomość tylko raz.)",
    "LIVE_DEVELOPMENT_TROUBLESHOOTING"  : "Więcej informacji znajdziesz na stronie Troubleshooting Live Preview connection errors.",

    "LIVE_DEV_STATUS_TIP_NOT_CONNECTED" : "Podgląd na żywo",
    "LIVE_DEV_STATUS_TIP_PROGRESS1"     : "Podgląd na żywo: łączenie\u2026",
    "LIVE_DEV_STATUS_TIP_PROGRESS2"     : "Podgląd na żywo: inicjalizacja\u2026",
    "LIVE_DEV_STATUS_TIP_CONNECTED"     : "Rozłącz podgląd na żywo",
    "LIVE_DEV_STATUS_TIP_OUT_OF_SYNC"   : "Podgląd na żywo (zapisz plik by odświeżyć)",
    "LIVE_DEV_STATUS_TIP_SYNC_ERROR"    : "Podgląd na żywo (bez odświeżania - wystąpiły błędy składniowe)",

    "LIVE_DEV_DETACHED_REPLACED_WITH_DEVTOOLS" : "Podgląd na żywo został wyłączony, ponieważ uruchomiono narzędzia dla programistów w przeglądarce",
    "LIVE_DEV_DETACHED_TARGET_CLOSED"          : "Podgląd na żywo został wyłączony, ponieważ strona została zamknięta w przeglądarce",
    "LIVE_DEV_NAVIGATED_AWAY"                  : "Podgląd na żywo został wyłączony, ponieważ została załadowana strona nie należąca do aktualnego projektu",
    "LIVE_DEV_CLOSED_UNKNOWN_REASON"           : "Podgląd na żywo został wyłączony z nieznanego powodu ({0})",

    "SAVE_CLOSE_TITLE"                  : "Zapisz zmiany",
    "SAVE_CLOSE_MESSAGE"                : "Czy chcesz zapisać zmiany w dokumencie {0}?",
    "SAVE_CLOSE_MULTI_MESSAGE"          : "Czy chcesz zapisać zmiany w następujących plikach?",
    "EXT_MODIFIED_TITLE"                : "Zmiany zewnętrzne",
    "CONFIRM_DELETE_TITLE"              : "Potwierdź usunięcie",
    "CONFIRM_FOLDER_DELETE"             : "Czy na pewno chcesz usunąć folder {0}?",
    "FILE_DELETED_TITLE"                : "Plik został usunięty",
    "EXT_MODIFIED_WARNING"              : "{0} został zmodyfikowany na dysku, poza {APP_NAME}.

Czy chcesz zapisać plik i nadpisać te zmiany?",
    "EXT_MODIFIED_MESSAGE"              : "{0} został zmodyfikowany na dysku, poza {APP_NAME}, ale zawiera też niezapisane zmiany w {APP_NAME}.

Którą wersję chcesz zachować?",
    "EXT_DELETED_MESSAGE"               : "{0} został usunięty z dysku, ale zawiera niezapisane zmiany w  {APP_NAME}.

Czy chcesz zachować te zmiany?",

    // Generic dialog/button labels
    "DONE"                              : "Gotowe",
    "OK"                                : "OK",
    "CANCEL"                            : "Anuluj",
    "DONT_SAVE"                         : "Nie zapisuj",
    "SAVE"                              : "Zapisz",
    "SAVE_AS"                           : "Zapisz jako\u2026",
    "SAVE_AND_OVERWRITE"                : "Nadpisz",
    "DELETE"                            : "Usuń",
    "BUTTON_YES"                        : "Tak",
    "BUTTON_NO"                         : "Nie",

    // Find, Replace, Find in Files
    "FIND_MATCH_INDEX"                  : "{0} z {1}",
    "FIND_NO_RESULTS"                   : "Brak wyników",
    "FIND_QUERY_PLACEHOLDER"            : "Szukaj\u2026",
    "REPLACE_PLACEHOLDER"               : "Zamień na\u2026",
    "BUTTON_REPLACE_ALL"                : "Zamień wiele\u2026",
    "BUTTON_REPLACE_ALL_IN_FILES"       : "Zamień w wielu plikach\u2026",
    "BUTTON_REPLACE"                    : "Zamień",
    "BUTTON_NEXT"                       : "\u25B6",
    "BUTTON_PREV"                       : "\u25C0",
    "BUTTON_NEXT_HINT"                  : "Następna reguła",
    "BUTTON_PREV_HINT"                  : "Poprzednia reguła",
    "BUTTON_CASESENSITIVE_HINT"         : "Weź pod uwagę wielkie i małe litery",
    "BUTTON_REGEXP_HINT"                : "Wyrażenie regularne",
    "REPLACE_WITHOUT_UNDO_WARNING_TITLE": "Zamień bez cofania",
    "REPLACE_WITHOUT_UNDO_WARNING"      : "Ponieważ więcej niż {0} plików wymaga zmiany, {APP_NAME} zmodyfikuje pliki na dysku, które nie są otwarte.
Nie będziesz możlwiości cofnięcia nadpisanych zmian w tych plikach.",
    "BUTTON_REPLACE_WITHOUT_UNDO"       : "Zamień bez cofania",

    "OPEN_FILE"                         : "Otwórz plik",
    "SAVE_FILE_AS"                      : "Zapisz plik",
    "CHOOSE_FOLDER"                     : "Wybierz folder",

    "RELEASE_NOTES"                     : "Informacje o wydaniu",
    "NO_UPDATE_TITLE"                   : "{APP_NAME} jest aktualny!",
    "NO_UPDATE_MESSAGE"                 : "Aktualnie używasz najnowszej wersji {APP_NAME}.",

    // Find and Replace
    "FIND_REPLACE_TITLE_LABEL"          : "Zamień",
    "FIND_REPLACE_TITLE_WITH"           : "z",
    "FIND_TITLE_LABEL"                  : "Znaleziono",
    "FIND_TITLE_SUMMARY"                : "— {0} {1} {2} w {3}",

    // Find in Files
    "FIND_NUM_FILES"                    : "{0} {1}",
    "FIND_IN_FILES_SCOPED"              : "w {0}",
    "FIND_IN_FILES_NO_SCOPE"            : "w projekcie",
    "FIND_IN_FILES_ZERO_FILES"          : "Filtr wyklucza wszystkie pliki {0}",
    "FIND_IN_FILES_FILE"                : "plik",
    "FIND_IN_FILES_FILES"               : "pliki",
    "FIND_IN_FILES_MATCH"               : "dopasowanie",
    "FIND_IN_FILES_MATCHES"             : "dopasowania",
    "FIND_IN_FILES_MORE_THAN"           : "Więcej niż ",
    "FIND_IN_FILES_PAGING"              : "{0}—{1}",
    "FIND_IN_FILES_FILE_PATH"           : "{0} {2} {1}", // We should use normal dashes on Windows instead of em dash eventually
    "FIND_IN_FILES_EXPAND_COLLAPSE"     : "Naciśnij Ctrl/Cmd by rozwinąć/zwinąć wszystkie",
    "FIND_IN_FILES_INDEXING"            : "Indeksowanie do natychmiastowego wyszukiwania\u2026",
    "REPLACE_IN_FILES_ERRORS_TITLE"     : "Zamień błędy",
    "REPLACE_IN_FILES_ERRORS"           : "Poniższe pliki nie zostały zmienione, ponieważ ich treść zmieniła się po zakończeniu wyszukiwania lub nie mogły być zapisane.",

    "ERROR_FETCHING_UPDATE_INFO_TITLE"  : "Błąd podczas pobierania informacji o aktualizacjach",
    "ERROR_FETCHING_UPDATE_INFO_MSG"    : "Wystąpił problem podczas pobierania informacji o najnowszej wersji aplikacji. Upewnij się, że masz połączenie z internetem i spróbuj ponownie",

    // File exclusion filters
    "NEW_FILE_FILTER"                   : "Nowy filtr\u2026",
    "CLEAR_FILE_FILTER"                 : "Nie wykluczaj plików",
    "NO_FILE_FILTER"                    : "Brak wykluczonych plików",
    "EXCLUDE_FILE_FILTER"               : "Wyklucz {0}",
    "EDIT_FILE_FILTER"                  : "Edytuj\u2026",
    "FILE_FILTER_DIALOG"                : "Edytuj wykluczenia",
    "FILE_FILTER_INSTRUCTIONS"          : "Wyklucz pliki/foldery pasujące do następujących nazw, wzorów lub masek. Każdą regułę umieść w osobnej linii.",
    "FILTER_NAME_PLACEHOLDER"           : "Nazwa wykluczenia (opcjonalnie)",
    "FILE_FILTER_CLIPPED_SUFFIX"        : "i {0} więcej",
    "FILTER_COUNTING_FILES"             : "Liczenie plików\u2026",
    "FILTER_FILE_COUNT"                 : "Przeszukane zostanie {0} z {1} plików {2}",
    "FILTER_FILE_COUNT_ALL"             : "Przeszukane zostanie wszystkie {0} plików {1}",

    // Quick Edit
    "ERROR_QUICK_EDIT_PROVIDER_NOT_FOUND"   : "Nie można użyć szybkiej edycji w tym miejscu",
    "ERROR_CSSQUICKEDIT_BETWEENCLASSES"     : "Szybka edycja CSS: zaznacz kursorem pojedynczą nazwę klasy",
    "ERROR_CSSQUICKEDIT_CLASSNOTFOUND"      : "Szybka edycja CSS: niekompletny atrybut class",
    "ERROR_CSSQUICKEDIT_IDNOTFOUND"         : "Szybka edycja CSS: niekompletny atrybut id",
    "ERROR_CSSQUICKEDIT_UNSUPPORTEDATTR"    : "Szybka edycja CSS: zaznacz kursorem tag, klasę lub id",
    "ERROR_TIMINGQUICKEDIT_INVALIDSYNTAX"   : "Szybka edycja funkcji czasowych CSS: nieprawidłowa składnia",
    "ERROR_JSQUICKEDIT_FUNCTIONNOTFOUND"    : "Szybka edycja JS: zaznacz kursorem nazwę funkcji",

    // Quick Docs
    "ERROR_QUICK_DOCS_PROVIDER_NOT_FOUND"   : "Nie znaleziono dokumentacji dla tego elementu.",

    /**
     * ProjectManager
     */
    "PROJECT_LOADING"   : "Ładowanie\u2026",
    "UNTITLED"          : "Bez tytułu",
    "WORKING_FILES"     : "Otwarte pliki",

    /**
     * MainViewManager
     */
    "TOP"               : "Panel górny",
    "BOTTOM"            : "Panel dolny",
    "LEFT"              : "Panel lewy",
    "RIGHT"             : "Panel prawy",

    "CMD_SPLITVIEW_NONE"        : "Bez podziału",
    "CMD_SPLITVIEW_VERTICAL"    : "Podziel pionowo",
    "CMD_SPLITVIEW_HORIZONTAL"  : "Podziel poziomo",
    "SPLITVIEW_MENU_TOOLTIP"    : "Podziel edytor pionowo lub poziomo",
    "GEAR_MENU_TOOLTIP"         : "Uporządkuj pliki",

    "SPLITVIEW_INFO_TITLE"              : "Plik jest już otwarty",
    "SPLITVIEW_MULTIPANE_WARNING"       : "Plik jest już otwarty w innym panelu. {APP_NAME} niedługo będzie pozwalał otwierać ten sam plik w wielu panelach. Do tego czasu plik będzie widoczny w panelu, w którym już jest otwarty.

(Tę wiadomość zobaczysz tylko raz)",

    /**
     * Keyboard modifiers and special key names
     */
    "KEYBOARD_CTRL"         : "Ctrl",
    "KEYBOARD_SHIFT"        : "Shift",
    "KEYBOARD_SPACE"        : "Space",
    "KEYBOARD_PAGE_UP"      : "Page Up",
    "KEYBOARD_PAGE_DOWN"    : "Page Down",
    "KEYBOARD_HOME"         : "Home",
    "KEYBOARD_END"          : "End",
    "KEYBOARD_INSERT"       : "Insert",
    "KEYBOARD_DELETE"       : "Delete",

    /**
     * StatusBar strings
     */
    "STATUSBAR_CURSOR_POSITION"             : "linia {0}, kolumna {1}",
    "STATUSBAR_SELECTION_CH_SINGULAR"       : " \u2014 Zaznaczono {0} kolumnę",
    "STATUSBAR_SELECTION_CH_PLURAL"         : " \u2014 Zaznaczono {0} kolumn",
    "STATUSBAR_SELECTION_LINE_SINGULAR"     : " \u2014 Zaznaczono {0} linię",
    "STATUSBAR_SELECTION_LINE_PLURAL"       : " \u2014 Zaznaczono {0} linii",
    "STATUSBAR_SELECTION_MULTIPLE"          : " \u2014 {0} zaznaczeń",
    "STATUSBAR_INDENT_TOOLTIP_SPACES"       : "Kliknij, by zamienić wcięcia na spacje",
    "STATUSBAR_INDENT_TOOLTIP_TABS"         : "Kliknij, by zamienić wcięcia na tabulacje",
    "STATUSBAR_INDENT_SIZE_TOOLTIP_SPACES"  : "Kliknij, by zmienić ilość spacji we wcięciu",
    "STATUSBAR_INDENT_SIZE_TOOLTIP_TABS"    : "Kliknij, by zmienić wielkość tabulacji",
    "STATUSBAR_SPACES"                      : "Spacje:",
    "STATUSBAR_TAB_SIZE"                    : "Tabulacje:",
    "STATUSBAR_LINE_COUNT_SINGULAR"         : "\u2014 {0} linia",
    "STATUSBAR_LINE_COUNT_PLURAL"           : "\u2014 {0} linii",
    "STATUSBAR_USER_EXTENSIONS_DISABLED"    : "Rozszerzenia wyłączone",
    "STATUSBAR_INSERT"                      : "INS",
    "STATUSBAR_OVERWRITE"                   : "OVR",
    "STATUSBAR_INSOVR_TOOLTIP"              : "Kliknij aby zmienić tryb wprowadzania: wstaw (INS) lub zastąp (OVR)",
    "STATUSBAR_LANG_TOOLTIP"                : "Kliknij aby zmienić rodzaj pliku (podświetlanie składni)",
    "STATUSBAR_CODE_INSPECTION_TOOLTIP"     : "{0}. Naciśnij aby włączyć/wyłączyć panel raportów.",
    "STATUSBAR_DEFAULT_LANG"                : "(domyślny)",
    "STATUSBAR_SET_DEFAULT_LANG"            : "Ustaw domyślny dla plików .{0}",

    // CodeInspection: errors/warnings
    "ERRORS_PANEL_TITLE_MULTIPLE"           : "{0} problemów",
    "SINGLE_ERROR"                          : "1 błąd {0}",
    "MULTIPLE_ERRORS"                       : "{1} błędów {0} ",
    "NO_ERRORS"                             : "Brak błędów {0} – dobra robota!",
    "NO_ERRORS_MULTIPLE_PROVIDER"           : "Brak błędów - dobra robota!",
    "LINT_DISABLED"                         : "Linting jest wyłączony.",
    "NO_LINT_AVAILABLE"                     : "Żaden linter nie jest dostępny dla {0}",
    "NOTHING_TO_LINT"                       : "Brak plików do sprawdzenia.",
    "LINTER_TIMED_OUT"                      : "{0} przekroczył limit czasu, czekał {1} ms",
    "LINTER_FAILED"                         : "{0} zakończył z błędem: {1}",

    /**
     * Command Name Constants
     */

    // File menu commands
    "FILE_MENU"                           : "Plik",
    "CMD_FILE_NEW_UNTITLED"               : "Nowy",
    "CMD_FILE_NEW"                        : "Nowy plik",
    "CMD_FILE_NEW_FOLDER"                 : "Nowy folder",
    "CMD_FILE_OPEN"                       : "Otwórz\u2026",
    "CMD_ADD_TO_WORKING_SET"              : "Dodaj do folderu roboczego",
    "CMD_OPEN_DROPPED_FILES"              : "Otwórz przeciągnięte pliki",
    "CMD_OPEN_FOLDER"                     : "Otwórz folder\u2026",
    "CMD_FILE_CLOSE"                      : "Zamknij",
    "CMD_FILE_CLOSE_ALL"                  : "Zamknij wszystko",
    "CMD_FILE_CLOSE_LIST"                 : "Zamknij listę",
    "CMD_FILE_CLOSE_OTHERS"               : "Zamknij inne",
    "CMD_FILE_CLOSE_ABOVE"                : "Zamknij pliki powyżej",
    "CMD_FILE_CLOSE_BELOW"                : "Zamknij pliki poniżej",
    "CMD_FILE_SAVE"                       : "Zapisz",
    "CMD_FILE_SAVE_ALL"                   : "Zapisz wszystko",
    "CMD_FILE_SAVE_AS"                    : "Zapisz jako\u2026",
    "CMD_LIVE_FILE_PREVIEW"               : "Podgląd na żywo",
    "CMD_TOGGLE_LIVE_PREVIEW_MB_MODE"     : "Podgląd na żywo (eksperymentalny)",
    "CMD_RELOAD_LIVE_PREVIEW"             : "Wymuś przeładowanie podglądu na żywo",
    "CMD_PROJECT_SETTINGS"                : "Ustawienia projektu\u2026",
    "CMD_FILE_RENAME"                     : "Zmień nazwę",
    "CMD_FILE_DELETE"                     : "Usuń",
    "CMD_INSTALL_EXTENSION"               : "Zainstaluj rozszerzenie\u2026",
    "CMD_EXTENSION_MANAGER"               : "Menedżer rozszerzeń\u2026",
    "CMD_FILE_REFRESH"                    : "Odśwież",
    "CMD_QUIT"                            : "Wyjdź",
    // Used in native File menu on Windows
    "CMD_EXIT"                            : "Wyjdź",

    // Edit menu commands
    "EDIT_MENU"                           : "Edytuj",
    "CMD_UNDO"                            : "Cofnij",
    "CMD_REDO"                            : "Ponów",
    "CMD_CUT"                             : "Wytnij",
    "CMD_COPY"                            : "Kopiuj",
    "CMD_PASTE"                           : "Wklej",
    "CMD_SELECT_ALL"                      : "Zaznacz wszystko",
    "CMD_SELECT_LINE"                     : "Zaznacz linię",
    "CMD_SPLIT_SEL_INTO_LINES"            : "Podziel zaznaczenie na linie",
    "CMD_ADD_CUR_TO_NEXT_LINE"            : "Dodaj kursor do następnej linii",
    "CMD_ADD_CUR_TO_PREV_LINE"            : "Dodaj kursor do poprzedniej linii",
    "CMD_INDENT"                          : "Dodaj wcięcie",
    "CMD_UNINDENT"                        : "Cofnij wcięcie",
    "CMD_DUPLICATE"                       : "Duplikuj",
    "CMD_DELETE_LINES"                    : "Usuń linię",
    "CMD_COMMENT"                         : "Komentarz liniowy",
    "CMD_BLOCK_COMMENT"                   : "Komentarz blokowy",
    "CMD_LINE_UP"                         : "Przenieś linię wyżej",
    "CMD_LINE_DOWN"                       : "Przenieś linię niżej",
    "CMD_OPEN_LINE_ABOVE"                 : "Otwórz linię wyżej",
    "CMD_OPEN_LINE_BELOW"                 : "Otwórz linię niżej",
    "CMD_TOGGLE_CLOSE_BRACKETS"           : "Automatycznie zamykaj nawiasy",
    "CMD_SHOW_CODE_HINTS"                 : "Pokaż podpowiedź",

    // Search menu commands
    "FIND_MENU"                           : "Szukaj",
    "CMD_FIND"                            : "Znajdź",
    "CMD_FIND_NEXT"                       : "Znajdź następny",
    "CMD_FIND_PREVIOUS"                   : "Znajdź poprzedni",
    "CMD_FIND_ALL_AND_SELECT"             : "Znajdź wszystkie i zaznacz",
    "CMD_ADD_NEXT_MATCH"                  : "Dodaj następny wynik do zaznaczenia",
    "CMD_SKIP_CURRENT_MATCH"              : "Pomiń i dodaj następny wynik",
    "CMD_FIND_IN_FILES"                   : "Szukaj w plikach",
    "CMD_FIND_IN_SUBTREE"                 : "Szukaj w\u2026",
    "CMD_REPLACE"                         : "Zamień",
    "CMD_REPLACE_IN_FILES"                : "Zamień w plikach",
    "CMD_REPLACE_IN_SUBTREE"              : "Zamień w\u2026",

    // View menu commands
    "VIEW_MENU"                           : "Widok",
    "CMD_HIDE_SIDEBAR"                    : "Ukryj pasek boczny",
    "CMD_SHOW_SIDEBAR"                    : "Pokaż pasek boczny",
    "CMD_TOGGLE_SIDEBAR"                  : "Przełącz pasek boczny",
    "CMD_TOGGLE_PANELS"                   : "Przełącz panele",
    "CMD_TOGGLE_PURE_CODE"                : "Tryb bez przeszkadzania",
    "CMD_INCREASE_FONT_SIZE"              : "Zwiększ czcionkę",
    "CMD_DECREASE_FONT_SIZE"              : "Zmniejsz czcionkę",
    "CMD_RESTORE_FONT_SIZE"               : "Przywróć domyślny rozmiar czcionki",
    "CMD_SCROLL_LINE_UP"                  : "Przewiń linię wyżej",
    "CMD_SCROLL_LINE_DOWN"                : "Przewiń linię niżej",
    "CMD_TOGGLE_LINE_NUMBERS"             : "Numery linii",
    "CMD_TOGGLE_ACTIVE_LINE"              : "Podświetl aktualną linię",
    "CMD_TOGGLE_WORD_WRAP"                : "Zawijaj wiersze",
    "CMD_LIVE_HIGHLIGHT"                  : "Podświetlaj w podglądzie na żywo",
    "CMD_VIEW_TOGGLE_INSPECTION"          : "Sprawdzaj poprawność plików przy zapisie",
    "CMD_WORKINGSET_SORT_BY_ADDED"        : "Sortuj według dodanych",
    "CMD_WORKINGSET_SORT_BY_NAME"         : "Sortuj według nazwy",
    "CMD_WORKINGSET_SORT_BY_TYPE"         : "Sortuj według typu",
    "CMD_WORKING_SORT_TOGGLE_AUTO"        : "Automatyczne sortowanie",
    "CMD_THEMES"                          : "Motywy\u2026",

    // Navigate menu commands
    "NAVIGATE_MENU"                       : "Nawigacja",
    "CMD_QUICK_OPEN"                      : "Otwórz szybko",
    "CMD_GOTO_LINE"                       : "Przejdź do linii",
    "CMD_GOTO_DEFINITION"                 : "Znajdź szybko definicję",
    "CMD_GOTO_FIRST_PROBLEM"              : "Przejdź do pierwszego błędu",
    "CMD_TOGGLE_QUICK_EDIT"               : "Szybka edycja",
    "CMD_TOGGLE_QUICK_DOCS"               : "Szybka dokumentacja",
    "CMD_QUICK_EDIT_PREV_MATCH"           : "Poprzedni wynik",
    "CMD_QUICK_EDIT_NEXT_MATCH"           : "Następny wynik",
    "CMD_CSS_QUICK_EDIT_NEW_RULE"         : "Nowa reguła",
    "CMD_NEXT_DOC"                        : "Następny dokument",
    "CMD_PREV_DOC"                        : "Poprzedni dokument",
    "CMD_NEXT_DOC_LIST_ORDER"             : "Następny dokument z listy",
    "CMD_PREV_DOC_LIST_ORDER"             : "Poprzedni dokument z listy",
    "CMD_SHOW_IN_TREE"                    : "Pokaż w drzewie katalogów",
    "CMD_SHOW_IN_EXPLORER"                : "Pokaż w eksploratorze",
    "CMD_SHOW_IN_FINDER"                  : "Pokaż w Finder",
    "CMD_SHOW_IN_OS"                      : "Pokaż w systemie plików",

    // Help menu commands
    "HELP_MENU"                           : "Pomoc",
    "CMD_CHECK_FOR_UPDATE"                : "Sprawdź aktualizacje",
    "CMD_HOW_TO_USE_BRACKETS"             : "Jak używać {APP_NAME}",
    "CMD_SUPPORT"                         : "Wsparcie {APP_NAME}",
    "CMD_SUGGEST"                         : "Zaproponuj swój pomysł",
    "CMD_RELEASE_NOTES"                   : "Informacje o wydaniu",
    "CMD_GET_INVOLVED"                    : "Daj coś od siebie",
    "CMD_SHOW_EXTENSIONS_FOLDER"          : "Otwórz folder z rozszerzeniami",
    "CMD_HEALTH_DATA_STATISTICS"          : "Raportowanie",
    "CMD_HOMEPAGE"                        : "Strona główna {APP_TITLE}",
    "CMD_TWITTER"                         : "{TWITTER_NAME} na Twitterze",
    "CMD_ABOUT"                           : "O programie",
    "CMD_OPEN_PREFERENCES"                : "Otwórz plik z ustawieniami",
    "CMD_OPEN_KEYMAP"                     : "Otwórz plik z konfiguracją klawiszy",

    // Strings for main-view.html
    "EXPERIMENTAL_BUILD"                   : "kompilacja eksperymentalna",
    "RELEASE_BUILD"                        : "kompilacja",
    "DEVELOPMENT_BUILD"                    : "kompilacja rozwojowa",
    "RELOAD_FROM_DISK"                     : "Załaduj z dysku",
    "KEEP_CHANGES_IN_EDITOR"               : "Zachowaj zmiany w edytorze",
    "CLOSE_DONT_SAVE"                      : "Zamknij (nie zapisuj)",
    "RELAUNCH_CHROME"                      : "Zrestartuj Chrome",
    "ABOUT"                                : "O programie",
    "CLOSE"                                : "Zamknij",
    "ABOUT_TEXT_LINE1"                     : "Wydanie {VERSION_MAJOR}.{VERSION_MINOR} {BUILD_TYPE} {VERSION}",
    "ABOUT_TEXT_BUILD_TIMESTAMP"           : "Czas kompilacji: ",
    "ABOUT_TEXT_LINE3"                     : "Uwagi i warunki odnoszące się do oprogramowania firm trzecich znajdują się na: {ADOBE_THIRD_PARTY} i zostały dołączone jako odnośnik.",
    "ABOUT_TEXT_LINE4"                     : "Dokumentacja i pliki źródłowe dostępne są pod adresem https://github.com/adobe/brackets/",
    "ABOUT_TEXT_LINE5"                     : "Stworzony z \u2764 oraz w JavaScript przez:",
    "ABOUT_TEXT_LINE6"                     : "Mnóstwo ludzi (mamy problemy, by załadować teraz te wszystkie dane).",
    "ABOUT_TEXT_WEB_PLATFORM_DOCS"         : "Dokumentacja Web Platform oraz logo Web Platform są objęte licencją Creative Commons Attribution, CC-BY 3.0 Unported.",
    "UPDATE_NOTIFICATION_TOOLTIP"          : "Dostępna jest nowa wersja {APP_NAME}! Kliknij tutaj i dowiedz się więcej.",
    "UPDATE_AVAILABLE_TITLE"               : "Dostępna nowa aktualizacja",
    "UPDATE_MESSAGE"                       : "Hej, dostępna jest już nowa wersja {APP_NAME}. Oto kilka nowych funkcjonalności:",
    "GET_IT_NOW"                           : "Pobierz teraz!",
    "PROJECT_SETTINGS_TITLE"               : "Ustawienia projektu dla: {0}",
    "PROJECT_SETTING_BASE_URL"             : "Adres podglądu na żywo",
    "PROJECT_SETTING_BASE_URL_HINT"        : "Aby użyć lokalnego serwera, wpisz odpowiedni adres, np. http://localhost:8000/",
    "BASEURL_ERROR_INVALID_PROTOCOL"       : "Protokół {0} nie jest wspierany przez podgląd na żywo—Użyj http lub https.",
    "BASEURL_ERROR_SEARCH_DISALLOWED"      : "Adres URL nie może zawierać parametrów wyszukiwania takich, jak \"{0}\".",
    "BASEURL_ERROR_HASH_DISALLOWED"        : "Adres URL nie może zawierać znaku hash: \"{0}\".",
    "BASEURL_ERROR_INVALID_CHAR"           : "Znaki specjalne takie, jak '{0}' muszą być zakodowane.",
    "BASEURL_ERROR_UNKNOWN_ERROR"          : "Nieznany błąd podczas parsowania adresu URL",

    // Strings for Pane.js
    "EMPTY_VIEW_HEADER"                    : "Kliknij w to okno, a następnie otwórz plik",
    "FLIPVIEW_BTN_TOOLTIP"                 : "Przenieś ten widok do: {0}",

    // Strings for themes-settings.html and themes-general.html
    "CURRENT_THEME"                        : "Aktualny motyw",
    "USE_THEME_SCROLLBARS"                 : "Użyj pasków przewijania z motywu",
    "FONT_SIZE"                            : "Rozmiar czcionki",
    "FONT_FAMILY"                          : "Rodzina czcionek",
    "THEMES_SETTINGS"                      : "Ustawienia motywów",

    // CSS Quick Edit
    "BUTTON_NEW_RULE"                      : "Nowa reguła",

    // Extension Management strings
    "INSTALL"                              : "Zainstaluj",
    "UPDATE"                               : "Aktualizuj",
    "REMOVE"                               : "Usuń",
    "DISABLE"                              : "Wyłącz",
    "ENABLE"                               : "Włącz",
    "OVERWRITE"                            : "Nadpisz",
    "CANT_REMOVE_DEV"                      : "Rozszerzenia w folderze \"dev\" muszą być usunięte ręcznie.",
    "CANT_UPDATE"                          : "Aktualizacja nie jest kompatybilna z tą wersją {APP_NAME}.",
    "CANT_UPDATE_DEV"                      : "Rozszerzenia w folderze \"dev\" nie mogą być automatycznie zaktualizowane.",
    "INSTALL_EXTENSION_TITLE"              : "Zainstaluj rozszerzenie",
    "UPDATE_EXTENSION_TITLE"               : "Aktualizuj rozszerzenie",
    "INSTALL_EXTENSION_LABEL"              : "Adres URL rozszerzenia",
    "INSTALL_EXTENSION_HINT"               : "Adres URL pliku zip z rozszerzeniem lub adres repozytorium na GitHub",
    "INSTALLING_FROM"                      : "Instaluję rozszerzenie z {0}\u2026",
    "INSTALL_SUCCEEDED"                    : "Instalacja zakończona!",
    "INSTALL_FAILED"                       : "Instalacja nie powiodła się.",
    "CANCELING_INSTALL"                    : "Anulowanie\u2026",
    "CANCELING_HUNG"                       : "Anulowanie instalacji trwa zbyt długo. Możliwe, że wystąpił błąd wewnętrzny.",
    "INSTALL_CANCELED"                     : "Instalacja anulowana.",
    "VIEW_COMPLETE_DESCRIPTION"            : "Pokaż cały opis",
    "VIEW_TRUNCATED_DESCRIPTION"           : "Pokaż skrócony opis",
    // These must match the error codes in ExtensionsDomain.Errors.* :
    "INVALID_ZIP_FILE"                     : "Pobrany plik nie jest poprawnym plikiem zip.",
    "INVALID_PACKAGE_JSON"                 : "Plik package.json nie jest poprawny (wystąpił błąd: {0}).",
    "MISSING_PACKAGE_NAME"                 : "Plik package.json nie zawiera nazwy pakietu.",
    "BAD_PACKAGE_NAME"                     : "{0} jest niepoprawną nazwą pakietu.",
    "MISSING_PACKAGE_VERSION"              : "Plik package.json nie zawiera wersji pakietu.",
    "INVALID_VERSION_NUMBER"               : "Numer wersji pakietu ({0}) jest niepoprawny.",
    "INVALID_BRACKETS_VERSION"             : "Ciąg kompatybilności z {APP_NAME} ({0}) jest nieprawidłowy.",
    "DISALLOWED_WORDS"                     : "Słowa ({1}) są niedozwolone w polu {0}.",
    "API_NOT_COMPATIBLE"                   : "Rozszerzenie nie jest kompatybilne z tą wersją {APP_NAME}. Jest zainstalowane w folderze z nieaktywnymi rozszerzeniami.",
    "MISSING_MAIN"                         : "Pakiet nie zawiera pliku main.js.",
    "EXTENSION_ALREADY_INSTALLED"          : "Zainstalowanie tego rozszerzenia nadpisze to, które zainstalowano poprzednio. Czy nadpisać starsze rozszerzenie?",
    "EXTENSION_SAME_VERSION"               : "To rozszerzenie jest w tej samej wersji, co obecnie zainstalowane. Czy nadpisać zainstalowane rozszerzenie?",
    "EXTENSION_OLDER_VERSION"              : "To rozszerzenie jest w wersji {0}, czyli jest starsze niż obecnie zainstalowane ({1}). Czy nadpisać zainstalowane rozszerzenie?",
    "DOWNLOAD_ID_IN_USE"                   : "Błąd wewnętrzny: taki plik już istnieje.",
    "NO_SERVER_RESPONSE"                   : "Nie można połączyć z serwerem.",
    "BAD_HTTP_STATUS"                      : "Nie znaleziono pliku na serwerze (HTTP {0}).",
    "CANNOT_WRITE_TEMP"                    : "Nie można zapisać pobranego pliku w folderze tymczasowym.",
    "ERROR_LOADING"                        : "Rozszerzenie napotkało błąd podczas uruchamiania.",
    "MALFORMED_URL"                        : "Niepoprawny adres URL. Sprawdź czy został wpisany prawidłowo.",
    "UNSUPPORTED_PROTOCOL"                 : "Adres URL musi zaczynać się od http lub https.",
    "UNKNOWN_ERROR"                        : "Nieznany błąd wewnętrzny.",
    // For NOT_FOUND_ERR, see generic strings above
    "EXTENSION_MANAGER_TITLE"              : "Menedżer rozszerzeń",
    "EXTENSION_MANAGER_ERROR_LOAD"         : "Nie udało się dostać do rejestru rozszerzeń. Spróbuj ponownie później.",
    "INSTALL_EXTENSION_DRAG"               : "Przenieś plik .zip lub",
    "INSTALL_EXTENSION_DROP"               : "Przenieś plik .zip aby zainstalować",
    "INSTALL_EXTENSION_DROP_ERROR"         : "Instalacja/aktualizacja przerwana z powodu błędów:",
    "INSTALL_FROM_URL"                     : "zainstaluj z adresu URL\u2026",
    "INSTALL_EXTENSION_VALIDATING"         : "Sprawdzanie\u2026",
    "EXTENSION_AUTHOR"                     : "Autor",
    "EXTENSION_DATE"                       : "Data",
    "EXTENSION_INCOMPATIBLE_NEWER"         : "To rozszerzenie wymaga nowszej wersji {APP_NAME}.",
    "EXTENSION_INCOMPATIBLE_OLDER"         : "To rozszerzenie działa tylko ze starszymi wersjami {APP_NAME}.",
    "EXTENSION_LATEST_INCOMPATIBLE_NEWER"  : "Wersja {0} tego rozszerzenia wymaga nowszej wersji {APP_NAME}, ale możesz zainstalować starszą wersję {1}.",
    "EXTENSION_LATEST_INCOMPATIBLE_OLDER"  : "Wersja {0} tego rozszerzenia wymaga starszej wersji {APP_NAME}, ale możesz zainstalować starszą wersję {1}.",
    "EXTENSION_NO_DESCRIPTION"             : "Brak opisu",
    "EXTENSION_MORE_INFO"                  : "Więcej informacji\u2026",
    "EXTENSION_ERROR"                      : "Błąd rozszerzenia",
    "EXTENSION_KEYWORDS"                   : "Słowa kluczowe",
    "EXTENSION_TRANSLATED_USER_LANG"       : "Przetłumaczono na {0} języków, w tym twój",
    "EXTENSION_TRANSLATED_GENERAL"         : "Przetłumaczono na {0} języków",
    "EXTENSION_TRANSLATED_LANGS"           : "To rozszerzenie zostało przetłumaczone na języki: {0}",
    "EXTENSION_INSTALLED"                  : "Zainstalowane",
    "EXTENSION_UPDATE_INSTALLED"           : "Aktualizacja rozszerzenia została pobrana i będzie zainstalowana po przeładowaniu {APP_NAME}.",
    "EXTENSION_SEARCH_PLACEHOLDER"         : "Szukaj",
    "EXTENSION_MORE_INFO_LINK"             : "Więcej",
    "BROWSE_EXTENSIONS"                    : "Przeglądaj rozszerzenia",
    "EXTENSION_MANAGER_REMOVE"             : "Usuń rozszerzenie",
    "EXTENSION_MANAGER_REMOVE_ERROR"       : "Nie udało się usunąć rozszerzeń: {0}. {APP_NAME} zostanie zrestartowany.",
    "EXTENSION_MANAGER_UPDATE"             : "Zaktualizuj rozszerzenie",
    "EXTENSION_MANAGER_UPDATE_ERROR"       : "Nie udało się zaktualizować rozszerzeń: {0}. {APP_NAME} zostanie zrestartowany.",
    "EXTENSION_MANAGER_DISABLE"            : "Wyłącz rozszerzenie",
    "EXTENSION_MANAGER_DISABLE_ERROR"      : "Nie udało się wyłączyć rozszerzeń: {0}. {APP_NAME} zostanie zrestartowany.",
    "MARKED_FOR_REMOVAL"                   : "Zaznaczono do usunięcia",
    "UNDO_REMOVE"                          : "Cofnij",
    "MARKED_FOR_UPDATE"                    : "Zaznaczono do aktualizacji",
    "UNDO_UPDATE"                          : "Cofnij",
    "MARKED_FOR_DISABLING"                 : "Zaznaczono do wyłączenia",
    "UNDO_DISABLE"                         : "Cofnij",
    "CHANGE_AND_RELOAD_TITLE"              : "Zmień rozszerzenia",
    "CHANGE_AND_RELOAD_MESSAGE"            : "Aby zaktualizować, usunąć lub wyłączyć zaznaczone rozszerzenia, {APP_NAME} musi zostać zrestartowany. Zostaniesz poproszony o zapisanie zmian.",
    "REMOVE_AND_RELOAD"                    : "Usuń rozszerzenia i zrestartuj",
    "CHANGE_AND_RELOAD"                    : "Zmień rozszerzenia i zrestartuj",
    "UPDATE_AND_RELOAD"                    : "Zaktualizuj rozszerzenia i zrestartuj",
    "DISABLE_AND_RELOAD"                   : "Wyłącz rozszerzenia i zrestartuj",
    "PROCESSING_EXTENSIONS"                : "Przetwarzanie\u2026",
    "EXTENSION_NOT_INSTALLED"              : "Nie można usunąć rozszerzenia {0}, ponieważ nie zostało zainstalowane.",
    "NO_EXTENSIONS"                        : "Nie masz jeszcze żadnych rozszerzeń.
Użyj zakładki Dostępne (powyżej), aby zobaczyć listę.",
    "NO_EXTENSION_MATCHES"                 : "Nie znaleziono pasujących rozszerzeń.",
    "REGISTRY_SANITY_CHECK_WARNING"        : "Uwaga: te rozszerzenia mogą pochodzić od innych autorów i mają pełne uprawnienia. Uważaj gdy instalujesz rozszerzenia z nieznanych źródeł.",
    "EXTENSIONS_INSTALLED_TITLE"           : "Zainstalowane",
    "EXTENSIONS_AVAILABLE_TITLE"           : "Dostępne",
    "EXTENSIONS_THEMES_TITLE"              : "Motywy",
    "EXTENSIONS_UPDATES_TITLE"             : "Aktualizacje",

    "INLINE_EDITOR_NO_MATCHES"             : "Brak wyników.",
    "INLINE_EDITOR_HIDDEN_MATCHES"         : "Wszystkie wyniki zostały zwinięte. Rozwiń listę plików po prawej, by pokazać wyniki.",
    "CSS_QUICK_EDIT_NO_MATCHES"            : "Brak reguł.
 Kliknij \"Nowa reguła\", aby ją utworzyć.",
    "CSS_QUICK_EDIT_NO_STYLESHEETS"        : "W twoim projekcie brakuje stylów CSS.
Stwórz je, by móc dodawać reguły CSS.",

    // Custom Viewers
    "IMAGE_VIEWER_LARGEST_ICON"            : "największy",

    /**
     * Unit names
     */
    "UNIT_PIXELS"                          : "pikseli",

    // extensions/default/DebugCommands
    "DEBUG_MENU"                                : "Debuguj",
    "ERRORS"                                    : "Błędy",
    "CMD_SHOW_DEV_TOOLS"                        : "Pokaż narzędzia deweloperskie",
    "CMD_REFRESH_WINDOW"                        : "Uruchom ponownie z rozszerzeniami",
    "CMD_RELOAD_WITHOUT_USER_EXTS"              : "Uruchom ponownie bez rozszerzeń",
    "CMD_NEW_BRACKETS_WINDOW"                   : "Nowe okno",
    "CMD_LAUNCH_SCRIPT_MAC"                     : "Zainstaluj skrót do wiersza poleceń",
    "CMD_SWITCH_LANGUAGE"                       : "Zmień język",
    "CMD_RUN_UNIT_TESTS"                        : "Uruchom testy",
    "CMD_SHOW_PERF_DATA"                        : "Pokaż informacje o wydajności",
    "CMD_ENABLE_NODE_DEBUGGER"                  : "Włącz debugger Node",
    "CMD_LOG_NODE_STATE"                        : "Zapisz stan Node w konsoli",
    "CMD_RESTART_NODE"                          : "Zrestartuj Node",
    "CMD_SHOW_ERRORS_IN_STATUS_BAR"             : "Pokazuj błędy na pasku statusu",
    "CMD_OPEN_BRACKETS_SOURCE"                  : "Otwórz kod źródłowy {APP_NAME}",

    "CREATING_LAUNCH_SCRIPT_TITLE"              : "Skrót do wiersza poleceń {APP_NAME}",
    "ERROR_CREATING_LAUNCH_SCRIPT"              : "Błąd podczas instalacji skrótu wiersza poleceń. Przeczytaj artykuł z propozycjami rozwiązania tego problemu..

Powód: {0}",
    "ERROR_CLTOOLS_RMFAILED"                    : "Nie można usunąć istniejącego dowiązania /usr/local/bin/brackets.",
    "ERROR_CLTOOLS_MKDIRFAILED"                 : "Nie można utworzyć katalogu /usr/local/bin.",
    "ERROR_CLTOOLS_LNFAILED"                    : "Nie można utworzyć dowiązania /usr/local/bin/brackets.",
    "ERROR_CLTOOLS_SERVFAILED"                  : "Błąd wewnętrzny.",
    "ERROR_CLTOOLS_NOTSUPPORTED"                : "Skrót do wiersza poleceń nie jest dostępny w tym systemie.",
    "LAUNCH_SCRIPT_CREATE_SUCCESS"              : "Udało się! Teraz możesz uruchamiać {APP_NAME} z wiersza poleceń: brackets plik.txt aby otworzyć plik lub brackets folder aby zmienić projekt.

Przeczytaj więcej na temat używania {APP_NAME} w wierszu poleceń.",

    "LANGUAGE_TITLE"                            : "Zmień język",
    "LANGUAGE_MESSAGE"                          : "Język:",
    "LANGUAGE_SUBMIT"                           : "Zrestartuj {APP_NAME}",
    "LANGUAGE_CANCEL"                           : "Anuluj",
    "LANGUAGE_SYSTEM_DEFAULT"                   : "Domyślny systemu",

    // extensions/default/HealthData
    "HEALTH_DATA_NOTIFICATION"                  : "Ustawienia raportowania",
    "HEALTH_FIRST_POPUP_TITLE"                  : "Raporty {APP_NAME}",
    "HEALTH_DATA_DO_TRACK"                      : "Wysyłaj anonimowe informacje o tym, jak używam {APP_NAME}",
    "HEALTH_DATA_NOTIFICATION_MESSAGE"          : "Aby ciągle udoskonalać {APP_NAME}, co pewien czas wysyłamy anonimowe statystyki do Adobe na temat tego, jak korzystasz z edytora. Informacje te pomagają nam tworzyć lepsze funkcjonalności, wyszukiwać problemy czy poprawiać wygodę w korzystaniu z programu.

Możesz zobaczyć co przesyłamy lub wyłączyć przesyłanie danych w menu Pomoc > Raportowanie.

Przeczytaj więcej o raportach w {APP_NAME}",
    "HEALTH_DATA_PREVIEW"                       : "Raporty {APP_NAME}",
    "HEALTH_DATA_PREVIEW_INTRO"                 : "
Aby ciągle udoskonalać {APP_NAME}, co pewien czas wysyłamy anonimowe statystyki do Adobe na temat tego, jak wykorzystujesz {APP_NAME}. Informacje te pomagają nam tworzyć lepsze funkcjonalności, znajdować problemy czy poprawiać wygodę w korzystaniu z programu. Przeczytaj więcej o raportach w {APP_NAME} oraz w jaki sposób pomaga to całej społeczności {APP_NAME}, jednocześnie dbając o twoją prywatność.

Poniżej możesz podejrzeć jakie dane zostaną przesłane w twoim następnym raporcie jeżeli jest u uaktywniony.
",

    // extensions/default/InlineTimingFunctionEditor
    "INLINE_TIMING_EDITOR_TIME"                 : "Czas",
    "INLINE_TIMING_EDITOR_PROGRESSION"          : "Postęp",
    "BEZIER_EDITOR_INFO"                        : "↑↓←→ Przenieś zaznaczony punkt
Shift Przenieś o 10 jednostek
Tab Zmień punkt",
    "STEPS_EDITOR_INFO"                         : "↑↓ Zwiększ lub zmniejsz kroki
←→ 'Start' lub 'End'",
    "INLINE_TIMING_EDITOR_INVALID"              : "Poprzednia wartość {0} jest niepoprawna, więc została zamieniona na {1}. Dokument zostanie uaktualniony podczas pierwszej edycji.",

    // extensions/default/InlineColorEditor
    "COLOR_EDITOR_CURRENT_COLOR_SWATCH_TIP"     : "Aktualny kolor",
    "COLOR_EDITOR_ORIGINAL_COLOR_SWATCH_TIP"    : "Orginalny kolor",
    "COLOR_EDITOR_RGBA_BUTTON_TIP"              : "Format RGBa",
    "COLOR_EDITOR_HEX_BUTTON_TIP"               : "Format Hex",
    "COLOR_EDITOR_HSLA_BUTTON_TIP"              : "Format HSLa",
    "COLOR_EDITOR_USED_COLOR_TIP_SINGULAR"      : "{0} (użyto {1} raz)",
    "COLOR_EDITOR_USED_COLOR_TIP_PLURAL"        : "{0} (użyto {1} razy)",

    // extensions/default/JavaScriptCodeHints
    "CMD_JUMPTO_DEFINITION"                     : "Przejdź do definicji",
    "CMD_SHOW_PARAMETER_HINT"                   : "Pokaż podpowiedź (parametr)",
    "NO_ARGUMENTS"                              : "<brak parametrów>",
    "DETECTED_EXCLUSION_TITLE"                  : "Błąd podczas sprawdzania poprawności kodu JavaScript",
    "DETECTED_EXCLUSION_INFO"                   : "{APP_NAME} napotkał problemy podczas przetwarzania pliku {0}.

Plik nie będzie już przetwarzany w celu pokazywania podpowiedzi w kodzie, wykorzystywaniu Przejdź do definicji lub do Szybkiej Edycji. Aby przywrócić dla pliku te funkcjonalności, otwórz .brackets.json w swoim projekcie i edytuj plik jscodehints.detectedExclusions.

Jest to prawdopodobnie błąd {APP_NAME}. Jeżeli chcesz dostarczyć kopię tego pliku, prosimy prześlij plik z błędem.",

    // extensions/default/JSLint
    "JSLINT_NAME"                               : "JSLint",

    // extensions/default/QuickView
    "CMD_ENABLE_QUICK_VIEW"                     : "Szybki Podgląd po najechaniu na element",

    // extensions/default/RecentProjects
    "CMD_TOGGLE_RECENT_PROJECTS"                : "Ostatnie projekty",

    // extensions/default/MDNDocs
    "DOCS_MORE_LINK"                            : "Czytaj więcej",

    // extensions/default/CodeFolding
    "COLLAPSE_ALL"                  : "Zwiń wszystko",
    "EXPAND_ALL"                    : "Rozwiń wszystko",
    "COLLAPSE_CURRENT"              : "Zwiń element",
    "EXPAND_CURRENT"                : "Rozwiń element",

    // Descriptions of core preferences
    "DESCRIPTION_CLOSE_BRACKETS"                     : "true to automatically close braces, brackets and parentheses",
    "DESCRIPTION_CLOSE_OTHERS_ABOVE"                 : "false to remove the \"Close Others Above\" from the Working Files context menu",
    "DESCRIPTION_CLOSE_OTHERS_BELOW"                 : "false to remove the \"Close Others Below\" from the Working Files context menu",
    "DESCRIPTION_CLOSE_OTHERS"                       : "false to remove the \"Close Others\" from the Working Files context menu",
    "DESCRIPTION_CLOSE_TAGS"                         : "Sets the tag closing options",
    "DESCRIPTION_CLOSE_TAGS_DONT_CLOSE_TAGS"         : "An array of tags that should not be auto-closed",
    "DESCRIPTION_CLOSE_TAGS_WHEN_OPENING"            : "Close when > of opening tag is typed",
    "DESCRIPTION_CLOSE_TAGS_WHEN_CLOSING"            : "Close when / of closing tag is typed",
    "DESCRIPTION_CLOSE_TAGS_INDENT_TAGS"             : "An array of tags that when opened has a blank line",
    "DESCRIPTION_CODE_FOLDING_ALWAY_USE_INDENT_FOLD" : "true to always generate collapsible section markers when indent level changes",
    "DESCRIPTION_CODE_FOLDING_ENABLED"               : "true to enable code folding",
    "DESCRIPTION_CODE_FOLDING_HIDE_UNTIL_MOUSEOVER"  : "true to make Section-collapsing markers visible only when you move the mouse over the gutter",
    "DESCRIPTION_CODE_FOLDING_MAX_FOLD_LEVEL"        : "Limits how many levels deep Collapse All applies",
    "DESCRIPTION_CODE_FOLDING_MIN_FOLD_SIZE"         : "Minimum lines before a collapsible section icon appears",
    "DESCRIPTION_CODE_FOLDING_SAVE_FOLD_STATES"      : "true to remember collapsed sections if you close and reopen a file or project",
    "DESCRIPTION_CODE_FOLDING_MAKE_SELECTIONS_FOLDABLE": "true to enable code folding on selected text in the editor",
    "DESCRIPTION_ATTR_HINTS"                         : "Enable/disable HTML attribute hints",
    "DESCRIPTION_CSS_PROP_HINTS"                     : "Enable/disable CSS/LESS/SCSS property hints",
    "DESCRIPTION_JS_HINTS"                           : "Enable/disable JavaScript code hints",
    "DESCRIPTION_JS_HINTS_TYPE_DETAILS"              : "Enable/disable datatype details in JavaScript code hints",
    "DESCRIPTION_PREF_HINTS"                         : "Enable/disable Preferences code hints",
    "DESCRIPTION_SPECIAL_CHAR_HINTS"                 : "Enable/disable HTML entity hints",
    "DESCRIPTION_SVG_HINTS"                          : "Enable/disable SVG code hints",
    "DESCRIPTION_HTML_TAG_HINTS"                     : "Enable/disable HTML tag hints",
    "DESCRIPTION_URL_CODE_HINTS"                     : "Enable/disable URL hints in HTML & CSS/LESS/SCSS",
    "DESCRIPTION_DRAG_DROP_TEXT"                     : "Enable/disable Drag & Drop functionality",
    "DESCRIPTION_HEALTH_DATA_TRACKING"               : "Enable the Health Data Tracking",
    "DESCRIPTION_HIGHLIGHT_MATCHES"                  : "Enables automatic highlighting of matching strings throughout the document",
    "DESCRIPTION_HIGHLIGHT_MATCHES_SHOW_TOKEN"       : "Highlight all strings that match the token the cursor is currently in (no selection needed)",
    "DESCRIPTION_HIGHLIGHT_MATCHES_WORDS_ONLY"       : "Highlight only when selection is a complete token",
    "DESCRIPTION_INSERT_HINT_ON_TAB"                 : "true to insert the currently selected code hint on tab",
    "DESCRIPTION_NO_HINTS_ON_DOT"                    : "true to not automatically show JS code hints when . is typed",
    "DESCRIPTION_JSLINT_OPTIONS"                     : "An object with the default options for JSLint",
    "DESCRIPTION_JSLINT_OPTIONS_ASS"                 : "true to allow assignment expressions",
    "DESCRIPTION_JSLINT_OPTIONS_BITWISE"             : "true to allow bitwise operators",
    "DESCRIPTION_JSLINT_OPTIONS_BROWSER"             : "true if standard browser globals should be predefined",
    "DESCRIPTION_JSLINT_OPTIONS_CLOSURE"             : "true to allow Google Closure idioms",
    "DESCRIPTION_JSLINT_OPTIONS_CONTINUE"            : "true to allow \"continue\" statement",
    "DESCRIPTION_JSLINT_OPTIONS_COUCH"               : "true if CouchDB globals should be predefined",
    "DESCRIPTION_JSLINT_OPTIONS_DEBUG"               : "true to allow debugger statements",
    "DESCRIPTION_JSLINT_OPTIONS_DEVEL"               : "true if browser globals useful in development should be predefined",
    "DESCRIPTION_JSLINT_OPTIONS_EQEQ"                : "true to allow == and !=",
    "DESCRIPTION_JSLINT_OPTIONS_ES6"                 : "true if ES6 globals should be predefined",
    "DESCRIPTION_JSLINT_OPTIONS_EVIL"                : "true to allow eval",
    "DESCRIPTION_JSLINT_OPTIONS_FORIN"               : "true to allow unfiltered \"for ... in\"",
    "DESCRIPTION_JSLINT_OPTIONS_INDENT"              : "Set a specific tab width",
    "DESCRIPTION_JSLINT_OPTIONS_MAXERR"              : "The maximum number of warnings reported",
    "DESCRIPTION_JSLINT_OPTIONS_MAXLEN"              : "The maximum number of characters in a line",
    "DESCRIPTION_JSLINT_OPTIONS_NEWCAP"              : "true to allow uncapitalized constructors",
    "DESCRIPTION_JSLINT_OPTIONS_NODE"                : "true if Node.js globals should be predefined",
    "DESCRIPTION_JSLINT_OPTIONS_NOMEN"               : "true to allow dangling underscore in identifiers",
    "DESCRIPTION_JSLINT_OPTIONS_PASSFAIL"            : "true to stop on first error",
    "DESCRIPTION_JSLINT_OPTIONS_PLUSPLUS"            : "true to allow ++ and --",
    "DESCRIPTION_JSLINT_OPTIONS_REGEXP"              : "true to allow . and [^...]. in RegExp",
    "DESCRIPTION_JSLINT_OPTIONS_RHINO"               : "true if Rhino globals should be predefined",
    "DESCRIPTION_JSLINT_OPTIONS_SLOPPY"              : "true to allow missing `use strict` pragma",
    "DESCRIPTION_JSLINT_OPTIONS_STUPID"              : "true if blocking ('...Sync') methods can be used.",
    "DESCRIPTION_JSLINT_OPTIONS_SUB"                 : "true to allow inefficient subscripting",
    "DESCRIPTION_JSLINT_OPTIONS_TODO"                : "true to allow TODO comments",
    "DESCRIPTION_JSLINT_OPTIONS_UNPARAM"             : "true to allow unused parameters",
    "DESCRIPTION_JSLINT_OPTIONS_VARS"                : "true to allow more than 1 vars in a function",
    "DESCRIPTION_JSLINT_OPTIONS_WHITE"               : "true to ignore white-space rules",
    "DESCRIPTION_LANGUAGE"                           : "Language specific settings",
    "DESCRIPTION_LANGUAGE_FILE_EXTENSIONS"           : "Additional mappings from file extension to language name",
    "DESCRIPTION_LANGUAGE_FILE_NAMES"                : "Additional mappings from file name to language name",
    "DESCRIPTION_LINTING_ENABLED"                    : "true to enable Code Inspection",
    "DESCRIPTION_ASYNC_TIMEOUT"                      : "The time in milliseconds after which asynchronous linters time out",
    "DESCRIPTION_LINTING_PREFER"                     : "Array of linters to run first",
    "DESCRIPTION_LIVE_DEV_MULTIBROWSER"              : "true to enable experimental Live Preview",
    "DESCRIPTION_USE_PREFERED_ONLY"                  : "true to run providers specified in linting.prefer only",
    "DESCRIPTION_MAX_CODE_HINTS"                     : "Maximum code hints displayed at once",
    "DESCRIPTION_PATH"                               : "Path specific settings",
    "DESCRIPTION_PROXY"                              : "The URL of the proxy server used for extension installation",
    "DESCRIPTION_SCROLL_PAST_END"                    : "true to enable scrolling beyond the end of the document",
    "DESCRIPTION_SHOW_CODE_HINTS"                    : "false to disable all code hints",
    "DESCRIPTION_SHOW_CURSOR_WHEN_SELECTING"         : "Keeps the blinking cursor visible when you have a text selection",
    "DESCRIPTION_SHOW_LINE_NUMBERS"                  : "true to show line numbers in a "gutter" to the left of the code",
    "DESCRIPTION_SMART_INDENT"                       : "Automatically indent when creating a new block",
    "DESCRIPTION_SOFT_TABS"                          : "false to turn off soft tabs behavior",
    "DESCRIPTION_SORT_DIRECTORIES_FIRST"             : "true to sort the directories first in the project tree",
    "DESCRIPTION_SPACE_UNITS"                        : "Number of spaces to use for space-based indentation",
    "DESCRIPTION_STATIC_SERVER_PORT"                 : "Port number that the built-in server should use for Live Preview",
    "DESCRIPTION_STYLE_ACTIVE_LINE"                  : "true to highlight background color of the line the cursor is on",
    "DESCRIPTION_TAB_SIZE"                           : "Number of spaces to display for tabs",
    "DESCRIPTION_USE_TAB_CHAR"                       : "true to use tabs instead of spaces",
    "DESCRIPTION_UPPERCASE_COLORS"                   : "true to generate uppercase hex colors in Inline Color Editor",
    "DESCRIPTION_WORD_WRAP"                          : "Wrap lines that exceed the viewport width",
    "DESCRIPTION_DETECTED_EXCLUSIONS"                : "A list of files that have been detected to cause Tern to run out of control",
    "DESCRIPTION_INFERENCE_TIMEOUT"                  : "The amount of time after which Tern will time out when trying to understand files",
    "DESCRIPTION_SHOW_ERRORS_IN_STATUS_BAR"          : "true to show errors in status bar",
    "DESCRIPTION_QUICK_VIEW_ENABLED"                 : "true to enable Quick View",
    "DESCRIPTION_EXTENSION_LESS_IMAGE_PREVIEW"       : "true to show image previews for URLs missing extensions",
    "DESCRIPTION_THEME"                              : "Select a {APP_NAME} theme",
    "DESCRIPTION_USE_THEME_SCROLLBARS"               : "true to allow custom scroll bars",
    "DESCRIPTION_LINTING_COLLAPSED"                  : "true to collapse linting panel",
    "DESCRIPTION_FONT_FAMILY"                        : "Change font family",
    "DESCRIPTION_FONT_SIZE"                          : "Change font size; e.g. 13px",
    "DESCRIPTION_FIND_IN_FILES_NODE"                 : "true to enable node based search",
    "DESCRIPTION_FIND_IN_FILES_INSTANT"              : "true to enable instant search",
    "DESCRIPTION_FONT_SMOOTHING"                     : "Mac-only: \"subpixel-antialiased\" to enable sub-pixel antialiasing or \"antialiased\" for gray scale antialiasing",
    "DESCRIPTION_OPEN_PREFS_IN_SPLIT_VIEW"           : "false to disable opening preferences file in split view",
    "DESCRIPTION_OPEN_USER_PREFS_IN_SECOND_PANE"     : "false to open user preferences file in left/top pane",
    "DESCRIPTION_MERGE_PANES_WHEN_LAST_FILE_CLOSED"  : "true to collapse panes after the last file from the pane is closed via pane header close button",
    "DESCRIPTION_SHOW_PANE_HEADER_BUTTONS"           : "Toggle when to show the close and flip-view buttons on the header.",
    "DEFAULT_PREFERENCES_JSON_HEADER_COMMENT"        : "/*\n * This is a read-only file with the preferences supported\n * by {APP_NAME}.\n * Use this file as a reference to modify your preferences\n * file \"brackets.json\" opened in the other pane.\n * For more information on how to use preferences inside\n * {APP_NAME}, refer to the web page at https://github.com/adobe/brackets/wiki/How-to-Use-Brackets#preferences\n */",
    "DEFAULT_PREFERENCES_JSON_DEFAULT"               : "Default",
    "DESCRIPTION_PURE_CODING_SURFACE"                : "true to enable code only mode and hide all other UI elements in {APP_NAME}",
    "DESCRIPTION_INDENT_LINE_COMMENT"                : "true to enable indenting of line comments"
});

/* Last translated for a505026d40a4eb0bffc196eda30557c0e6b021bc */


text:
class Indfault < ActiveRecord::Base
  has_one :indfault_indirectpartship
  has_one :indirectpart, :through => :indfault_indirectpartship

  has_one :fault_indfaultship
end

redpajama_set_name: RedPajamaGithub


text:
layout: post
title: Rencontre Hypnodingues
date: 2012-05-14 10:13:14.000000000 +02:00
categories:
- Évènements
tags: []
status: private
type: post
published: false
meta:
  _edit_last: '10'
author:
  first_name: Laeti
excerpt:
---

Réunion des hypnodingues

Date

03 juin 2012

Heure

13h00

Lieu

Chez Dom !!!

Logistique

Ceux qui viennent de Genève ou Lausanne peuvent prendre le même train que la dernière fois et Cat passera les chercher à la gare de Moudon. Hein oui Cat tu passeras chercher nos Dinguelets à Moudon?

Participants selon doodle: Pas de doodle cette fois-ci car on en a parlé lors de la dernière rencontre, alors Gilbert dit-nous si tu viens.

Lætitia

Dominique

Geneviève

Audrey

Cath

Nicolas

Christophe

Céline

Sonia

Programme

13 h00

Bisous, Blabla, potins et commérages

13 h30 – 15h00

Cours auto-hypnose par Laeti

15h00-16H00

Pause: Grignoti par Laeti et Sonia

16h00- 17h00

Séance "Découvrir vos archétypes" par Nicolas

17h00-18h30

Discussion sur les objectifs de la prochaine réunion. Discussion sur nos patients, nos idée, difficultés, etc. Discussion sur la prochaine date de rencontre des Hypno-Dingues et sur quand est-ce qu'on fait la fête ;-)!!!

18h30-????

Repas du soir: Chacun apporte son pique-nique.

Je me réjouis de vous revoir tous!


text:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TwaijaComposite.Modules.Common.DataInterfaces;

namespace TwaijaComposite.Modules.Common
{
    public class UpdateProfileEventArguments:EventArgs
    {
        public  object parameter { get; set; }
        public bool Successful { get; set; }
        public bool Aborted { get; set; }
    }
    public interface ITwitterAccountMethodConsole
    {
        event EventHandler<UpdateProfileEventArguments> ProfileUpdated;
        event EventHandler<UpdateProfileEventArguments> Refreshed;
        void UpdateProfile(string location, string description, string web, string name,ITwitterUser user);
        void RefreshProfile(ITwitterUser user);
    }
    public interface ITwitterUpdateAccountImageMethod
    {
        event EventHandler<UpdateProfileEventArguments> ProfileImageUpdated;
        void UpdateProfileImage(string imageLocation, ITwitterUser user);
    }
}


text:
``funcutils`` - ``functools`` fixes
===================================

.. automodule:: boltons.funcutils

Decoration
----------

`Decorators`_ are among Python's most elegant and succinct language
features, and boltons adds one special function to make them even more
powerful.

.. _Decorators: https://en.wikipedia.org/wiki/Python_syntax_and_semantics#Decorators

.. autofunction:: wraps

Function construction
---------------------

Functions are so key to programming in Python that there will even
arise times where Python functions must be constructed in
Python. Thankfully, Python is a dynamic enough to make this
possible. Boltons makes it easy.

.. autoclass:: FunctionBuilder
   :members:

Improved ``partial``
--------------------

.. autoclass:: partial
.. autoclass:: InstancePartial
.. autoclass:: CachedInstancePartial

Miscellaneous metaprogramming
-----------------------------

.. autofunction:: copy_function
.. autofunction:: dir_dict
.. autofunction:: mro_items


text:
package com.ractoc.cookbook.users.handler;

/**
 * Created by marksch on 8-3-2017.
 */
public class UserNotFoundException extends Exception {
    public UserNotFoundException(String msg) {
        super(msg);
    }
}


text:
// HyperMD, copyright (c) by laobubu
// Distributed under an MIT license: http://laobubu.net/HyperMD/LICENSE
//
// DESCRIPTION: Auto show/hide markdown tokens like `##` or `*`
//
// Only works with `hypermd` mode, require special CSS rules
//

import * as CodeMirror from 'codemirror'
import { Addon, FlipFlop, cm_internal, debounce, suggestedEditorConfig, normalVisualConfig } from '../core'

import { cm_t } from '../core/type'
import { OrderedRange, orderedRange, rangesIntersect } from '../core/cm_utils';
import { getLineSpanExtractor, Span } from '../core/line-spans';

const DEBUG = false

//#region Internal Function...

/** check if has the class and remove it */
function rmClass(el: HTMLElement, className: string): boolean {
  let c = ' ' + el.className + ' ', cnp = ' ' + className + ' '
  if (c.indexOf(cnp) === -1) return false
  el.className = c.replace(cnp, '').trim()
  return true
}

/** check if NOT has the class and add it */
function addClass(el: HTMLElement, className: string): boolean {
  let c = ' ' + el.className + ' ', cnp = ' ' + className + ' '
  if (c.indexOf(cnp) !== -1) return false
  el.className = (el.className + ' ' + className)
  return true
}

//#endregion

/********************************************************************************** */
//#region Addon Options

export interface Options extends Addon.AddonOptions {
  /** Enable HideToken features or not. */
  enabled: boolean

  /** Add `hmd-inactive-line` style to inactive lines or not */
  line: boolean

  /** @internal reserved yet */
  tokenTypes: string[]
}

export const defaultOption: Options = {
  enabled: false,
  line: true,
  tokenTypes: "em|strong|strikethrough|code|linkText|task".split("|"),
}

export const suggestedOption: Partial<Options> = {
  enabled: true,  // we recommend lazy users to enable this fantastic addon!
}

export type OptionValueType = Partial<Options> | boolean | string | string[];

declare global {
  namespace HyperMD {
    interface EditorConfiguration {
      /**
       * Options for HideToken.
       *
       * You may also provide a `false` to disable it; a `true` to enable it with defaultOption (except `enabled`);
       * or token types (as string array, or just a string with "|" as separator inside)
       */
      hmdHideToken?: OptionValueType
    }
  }
}

suggestedEditorConfig.hmdHideToken = suggestedOption
normalVisualConfig.hmdHideToken = false

CodeMirror.defineOption("hmdHideToken", defaultOption, function (cm: cm_t, newVal: OptionValueType) {

  ///// convert newVal's type to `Partial<Options>`, if it is not.

  if (!newVal || typeof newVal === "boolean") {
    newVal = { enabled: !!newVal }
  } else if (typeof newVal === "string") {
    newVal = { enabled: true, tokenTypes: newVal.split("|") }
  } else if (newVal instanceof Array) {
    newVal = { enabled: true, tokenTypes: newVal }
  }

  ///// apply config and write new values into cm

  var inst = getAddon(cm)
  for (var k in defaultOption) {
    inst[k] = (k in newVal) ? newVal[k] : defaultOption[k]
  }
})

//#endregion

/********************************************************************************** */
//#region Addon Class

const hideClassName = "hmd-hidden-token"
const lineInactiveClassName = "hmd-inactive-line"

export class HideToken implements Addon.Addon, Options {
  tokenTypes: string[];
  line: boolean;
  enabled: boolean;

  constructor(public cm: cm_t) {
    new FlipFlop(
      /* ON  */() => {
        cm.on("cursorActivity", this.cursorActivityHandler)
        cm.on("renderLine", this.renderLineHandler)
        cm.on("update", this.update)
        this.update()
        cm.refresh()
      },
      /* OFF */() => {
        cm.off("cursorActivity", this.cursorActivityHandler)
        cm.off("renderLine", this.renderLineHandler)
        cm.off("update", this.update)
        this.update.stop()
        cm.refresh()
      }
    ).bind(this, "enabled", true)
  }

  renderLineHandler = (cm: cm_t, line: CodeMirror.LineHandle, el: HTMLPreElement) => {
    // TODO: if we procLine now, we can only get the outdated lineView, lineViewMeasure and lineViewMap. Calling procLine will be wasteful!
    const changed = this.procLine(line, el)
    if (DEBUG) console.log("renderLine return " + changed)
  }

  cursorActivityHandler = (doc: CodeMirror.Doc) => {
    this.update()
  }

  update = debounce(() => this.updateImmediately(), 100)

  /**
   * hide/show s in one line, based on `this._rangesInLine`
   * @returns line changed or not
   */
  procLine(line: CodeMirror.LineHandle | number, pre?: HTMLPreElement): boolean {
    const cm = this.cm
    const lineNo = typeof line === 'number' ? line : line.lineNo()
    if (typeof line === 'number') line = cm.getLineHandle(line)

    const rangesInLine = this._rangesInLine[lineNo] || []

    const lv = cm_internal.findViewForLine(cm, lineNo)
    if (!lv || lv.hidden || !lv.measure) return false
    if (!pre) pre = lv.text
    if (!pre) return false

    if (DEBUG) if (!pre.isSameNode(lv.text)) console.warn("procLine got different node... " + lineNo)

    const mapInfo = cm_internal.mapFromLineView(lv, line, lineNo)
    const map = mapInfo.map
    const nodeCount = map.length / 3

    let changed = false

    // change line status

    if (rangesInLine.length === 0) { // inactiveLine
      if (addClass(pre, lineInactiveClassName)) changed = true
    } else { // activeLine
      if (rmClass(pre, lineInactiveClassName)) changed = true
    }

    // show or hide tokens

    /**
     * @returns if there are Span Nodes changed
     */
    function changeVisibilityForSpan(span: Span, shallHideTokens: boolean, iNodeHint?: number): boolean {
      let changed: boolean = false

      iNodeHint = iNodeHint || 0

      // iterate the map
      for (let i = iNodeHint; i < nodeCount; i++) {
        const begin = map[i * 3] as number, end = map[i * 3 + 1] as number
        const domNode = map[i * 3 + 2] as (Text | HTMLSpanElement)

        if (begin === span.head.start) {
          // find the leading token!

          if (/formatting-/.test(span.head.type) && domNode.nodeType === Node.TEXT_NODE) {
            // if (DEBUG) console.log("DOMNODE", shallHideTokens, domNode, begin, span)

            // good. this token can be changed
            const domParent = domNode.parentElement as HTMLSpanElement
            if (shallHideTokens ? addClass(domParent, hideClassName) : rmClass(domParent, hideClassName)) {
              // if (DEBUG) console.log("HEAD DOM CHANGED")
              changed = true
            }
          }

          //FIXME: if leading formatting token is separated into two, the latter will not be hidden/shown!

          // search for the tailing token
          if (span.tail && /formatting-/.test(span.tail.type)) {
            for (let j = i + 1; j < nodeCount; j++) {
              const begin = map[j * 3] as number, end = map[j * 3 + 1] as number
              const domNode = map[j * 3 + 2] as (Text | HTMLSpanElement)

              if (begin == span.tail.start) {
                // if (DEBUG) console.log("TAIL DOM CHANGED", domNode)
                if (domNode.nodeType === Node.TEXT_NODE) {
                  // good. this token can be changed
                  const domParent = domNode.parentElement as HTMLSpanElement
                  if (shallHideTokens ? addClass(domParent, hideClassName) : rmClass(domParent, hideClassName)) {
                    changed = true
                  }
                }
              }

              if (begin >= span.tail.end) break
            }
          }
        }

        // whoops, next time we can start searching since here
        // return the hint value
        if (begin >= span.begin) break
      }

      return changed
    }

    const spans = getLineSpanExtractor(cm).extract(lineNo)
    let iNodeHint = 0
    for (let iSpan = 0; iSpan < spans.length; iSpan++) {
      const span = spans[iSpan]
      if (this.tokenTypes.indexOf(span.type) === -1) continue // not-interested span type

      /* TODO: Use AST, instead of crafted Position */
      const spanRange: OrderedRange = [{ line: lineNo, ch: span.begin }, { line: lineNo, ch: span.end }]
      /* TODO: If use AST, compute `spanBeginCharInCurrentLine` in another way */
      const spanBeginCharInCurrentLine: number = span.begin

      while (iNodeHint < nodeCount && map[iNodeHint * 3 + 1] < spanBeginCharInCurrentLine) iNodeHint++

      let shallHideTokens = true

      for (let iLineRange = 0; iLineRange < rangesInLine.length; iLineRange++) {
        const userRange = rangesInLine[iLineRange]
        if (rangesIntersect(spanRange, userRange)) {
          shallHideTokens = false
          break
        }
      }

      if (changeVisibilityForSpan(span, shallHideTokens, iNodeHint)) changed = true
    }

    // finally clean the cache (if needed) and report the result

    if (changed) {
      // clean CodeMirror measure cache
      delete lv.measure.heights
      lv.measure.cache = {}
    }

    return changed
  }

  /** Current user's selections, in each line */
  private _rangesInLine: Record<number, OrderedRange[]> = {}

  updateImmediately() {
    this.update.stop()

    const cm = this.cm
    const selections = cm.listSelections()
    const caretAtLines: Record<number, boolean> = {}

    var activedLines: Record<number, OrderedRange[]> = {}
    var lastActivedLines = this._rangesInLine

    // update this._activedLines and caretAtLines
    for (const selection of selections) {
      let oRange = orderedRange(selection)
      let line0 = oRange[0].line, line1 = oRange[1].line
      caretAtLines[line0] = caretAtLines[line1] = true

      for (let line = line0; line <= line1; line++) {
        if (!activedLines[line]) activedLines[line] = [oRange]
        else activedLines[line].push(oRange)
      }
    }

    this._rangesInLine = activedLines

    if (DEBUG) console.log("======= OP START " + Object.keys(activedLines))

    cm.operation(() => {
      // adding "inactive" class
      for (const line in lastActivedLines) {
        if (activedLines[line]) continue // line is still active. do nothing
        this.procLine(~~line) // or, try adding "inactive" class to the
s
      }

      let caretLineChanged = false

      // process active lines
      for (const line in activedLines) {
        let lineChanged = this.procLine(~~line)
        if (lineChanged && caretAtLines[line]) caretLineChanged = true
      }

      // refresh cursor position if needed
      if (caretLineChanged) {
        if (DEBUG) console.log("caretLineChanged")
        cm.refresh()

        // legacy unstable way to update display and caret position:
        // updateCursorDisplay(cm, true)
        // if (cm.hmd.TableAlign && cm.hmd.TableAlign.enabled) cm.hmd.TableAlign.updateStyle()
      }
    })

    if (DEBUG) console.log("======= OP END ")
  }
}

//#endregion

/** ADDON GETTER (Singleton Pattern): a editor can have only one HideToken instance */
export const getAddon = Addon.Getter("HideToken", HideToken, defaultOption /** if has options */)
declare global { namespace HyperMD { interface HelperCollection { HideToken?: HideToken } } }


text:
use crate::wrapper::{c_int, NIF_ENV, NIF_ERROR, NIF_TERM};
use std::mem::MaybeUninit;

pub unsafe fn get_tuple<'a>(env: NIF_ENV, term: NIF_TERM) -> Result<&'a [NIF_TERM], NIF_ERROR> {
    let mut arity: c_int = 0;
    let mut array_ptr = MaybeUninit::uninit();
    let success = rustler_sys::enif_get_tuple(env, term, &mut arity, array_ptr.as_mut_ptr());
    if success != 1 {
        return Err(NIF_ERROR::BAD_ARG);
    }
    let term_array = ::std::slice::from_raw_parts(array_ptr.assume_init(), arity as usize);
    Ok(term_array)
}

pub unsafe fn make_tuple(env: NIF_ENV, terms: &[NIF_TERM]) -> NIF_TERM {
    rustler_sys::enif_make_tuple_from_array(env, terms.as_ptr(), terms.len() as u32)
}


text:
<?php

require_once '../includes/database-connect.php';
require_once '../includes/functions.php';
// Check if the mysql connection is established
if (!$mysql_connection) {
    // We did not successfully establish a connection to the database.
    $error = mysqli_error($mysql_connection);
    if ($error) {
        die("
Failed to connect to database; error below:

{$error}
");
    } else {
        die("
Failed to connect to database. MySQL did not throw an error.
");
    }
}
// Retrieve the user ID from the session
$user_id = check_login($mysql_connection, TRUE);
if ($user_id) {
    // The user is logged in as an admin! Let's retrieve the data from POST
    $students_json = $_POST['students'];
    $students = json_decode($students_json, TRUE);
    // We can now prepare the statement that will be used
    $prepared_statement = $mysql_connection->prepare("
    INSERT INTO Students (id, name)
    VALUES (?, ?)
    ON DUPLICATE KEY UPDATE name = ?");
    foreach ($students as $student) {
        $student_id = $student['student_id'];
        $student_name = $student['student_name'];
        if ($student_id) {
            $prepared_statement->bind_param("sss", $student_id, $student_name, $student_name);
            $prepared_statement->execute();
        }
    }
    $result = $prepared_statement->affected_rows;
    $prepared_statement->close();
    if ($result) {
        echo 1;
    } else {
        $error = mysqli_error($mysql_connection);
        if ($error) {
            echo "Failed to submit students to server; MySQL error below:

" . mysqli_error($mysql_connection) . "
";
        } else {
            echo "No database rows were affected.";
        }
    }
} else {
    if (isset($_SESSION['user_id'])) {
        echo "You are not an admin, you cannot add new students.";
    } else {
        echo "You're not logged in.";
    }
}


text:
namespace SuperPuttyUnitTests
{
    partial class TestAppRunner
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.groupBoxAutoStart = new System.Windows.Forms.GroupBox();
            this.comboAutoStart = new System.Windows.Forms.ComboBox();
            this.groupBoxViews = new System.Windows.Forms.GroupBox();
            this.groupBoxAutoStart.SuspendLayout();
            this.SuspendLayout();
            //
            // groupBoxAutoStart
            //
            this.groupBoxAutoStart.Controls.Add(this.comboAutoStart);
            this.groupBoxAutoStart.Dock = System.Windows.Forms.DockStyle.Bottom;
            this.groupBoxAutoStart.Location = new System.Drawing.Point(3, 597);
            this.groupBoxAutoStart.Name = "groupBoxAutoStart";
            this.groupBoxAutoStart.Size = new System.Drawing.Size(345, 42);
            this.groupBoxAutoStart.TabIndex = 0;
            this.groupBoxAutoStart.TabStop = false;
            this.groupBoxAutoStart.Text = "Auto-Start";
            //
            // comboAutoStart
            //
            this.comboAutoStart.Dock = System.Windows.Forms.DockStyle.Fill;
            this.comboAutoStart.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            this.comboAutoStart.FormattingEnabled = true;
            this.comboAutoStart.Location = new System.Drawing.Point(3, 16);
            this.comboAutoStart.Name = "comboAutoStart";
            this.comboAutoStart.Size = new System.Drawing.Size(339, 21);
            this.comboAutoStart.TabIndex = 0;
            //
            // groupBoxViews
            //
            this.groupBoxViews.Dock = System.Windows.Forms.DockStyle.Fill;
            this.groupBoxViews.Location = new System.Drawing.Point(3, 3);
            this.groupBoxViews.Name = "groupBoxViews";
            this.groupBoxViews.Size = new System.Drawing.Size(345, 594);
            this.groupBoxViews.TabIndex = 1;
            this.groupBoxViews.TabStop = false;
            this.groupBoxViews.Text = "Test Views";
            //
            // TestAppRunner
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(351, 642);
            this.Controls.Add(this.groupBoxViews);
            this.Controls.Add(this.groupBoxAutoStart);
            this.Name = "TestAppRunner";
            this.Padding = new System.Windows.Forms.Padding(3);
            this.Text = "TestAppRunner";
            this.groupBoxAutoStart.ResumeLayout(false);
            this.ResumeLayout(false);

        }

        #endregion

        private System.Windows.Forms.GroupBox groupBoxAutoStart;
        private System.Windows.Forms.ComboBox comboAutoStart;
        private System.Windows.Forms.GroupBox groupBoxViews;
    }
}


text:
examples_list = [
    'hello_world',
    'many_to_one',
    'many_to_one_options',
    'many_to_one_to_self',
    'many_to_many',
    'many_to_many_options',
    'many_to_many_to_self',
    'one_to_one',
    'multiple_many_to_one',
    'raw_sql',
    'multiple_databases',
    'table_inheritance',
    'meta_builder',
    'model_for_stackoverflow',
]

examples_dict = {
    'hello_world': 'Hello World',
    'many_to_one': 'Many-to-one relationship',
    'many_to_one_options': 'Many-to-one relationship options',
    'many_to_one_to_self': 'Many-to-one relationship with oneself',
    'many_to_many': 'Many-to-many relationship',
    'many_to_many_options': 'Many-to-many relationship options',
    'many_to_many_to_self': 'Many-to-many relationship with oneself',
    'one_to_one': 'One-to-one relationship',
    'multiple_many_to_one': 'Multiple many-to-one relationships',
    'raw_sql': 'Performing raw sql query',
    'multiple_databases': 'Multiple databases',
    'table_inheritance': 'Table inheritance',
    'meta_builder': 'MetaBuilder to avoid duplicate code',
    'model_for_stackoverflow': 'Model for stackoverflow.com',
}


text:
package MT::SelectCategories::Util;

use strict;
use warnings;

use base qw(Exporter);
our @EXPORT = qw(plugin pp);

use Data::Dumper;

sub plugin { MT->component('SelectCategories') }

sub pp { print STDERR Dumper($_) foreach @_ }

1;


text:
import { Dexie } from 'dexie';

declare namespace DexieBatch {
    interface Options {
        batchSize: number;
        limit?: number;
    }
    type Callback<T> = (item: T, index: number) => void;
}

declare class DexieBatch {
    private readonly opts: DexieBatch.Options;

    constructor(opts: DexieBatch.Options);

    isParallel(): boolean;

    each<T>(collection: Dexie.Collection<T>, callback: DexieBatch.Callback<T>): Dexie.Promise<number>;
    eachBatch<T>(collection: Dexie.Collection<T>, callback: DexieBatch.Callback<T[]>): Dexie.Promise<number>;
    eachBatchParallel<T>(collection: Dexie.Collection<T>, callback: DexieBatch.Callback<T[]>): Dexie.Promise<number>;
    eachBatchSerial<T>(collection: Dexie.Collection<T>, callback: DexieBatch.Callback<T[]>, batchIdx?: number): Dexie.Promise<number>;
}

export as namespace DexieBatch;
export = DexieBatch;


text:
package org.locationtech.geomesa.index.utils

import java.util.concurrent._

import org.locationtech.geomesa.utils.collection.CloseableIterator
import org.locationtech.geomesa.utils.concurrent.CachedThreadPool

import scala.annotation.tailrec

/**
  * Provides parallelism for scanning multiple ranges at a given time, for systems that don't
  * natively support that.
  *
  * Subclasses should generally only expose the `CloseableIterator` interface, and make sure to
  * invoke `start()` before returning to the caller.
  *
  * @param ranges ranges to scan
  * @param threads number of client threads to use for scanning
  * @param buffer max size of the buffer for storing results before they are read by the caller
  * @param sentinel singleton sentinel value used to indicate the completion of scanning threads
  * @tparam T range type
  * @tparam R scan result type
  */
abstract class AbstractBatchScan[T, R <: AnyRef](ranges: Seq[T], threads: Int, buffer: Int, sentinel: R)
    extends CloseableIterator[R] {

  import scala.collection.JavaConverters._

  require(threads > 0, "Thread count must be greater than 0")

  private val inQueue = new ConcurrentLinkedQueue(ranges.asJava)
  private val outQueue = new LinkedBlockingQueue[R](buffer)

  private val latch = new CountDownLatch(threads)
  private val terminator = new Terminator()
  private val pool = new CachedThreadPool(threads)

  private var retrieved: R = _

  /**
    * Scan a single range, putting the results in the provided queue
    *
    * @param range range to scan
    * @param out results queue
    */
  protected def scan(range: T, out: BlockingQueue[R])

  /**
    * Start the threaded scans executing
    */
  protected def start(): CloseableIterator[R] = {
    var i = 0
    while (i < threads) {
      pool.submit(new SingleThreadScan())
      i += 1
    }
    pool.submit(terminator)
    pool.shutdown()
    this
  }

  override def hasNext: Boolean = {
    if (retrieved != null) {
      true
    } else {
      retrieved = outQueue.take
      if (!retrieved.eq(sentinel)) {
        true
      } else {
        outQueue.put(sentinel) // re-queue in case hasNext is called again
        retrieved = null.asInstanceOf[R]
        false
      }
    }
  }

  override def next(): R = {
    val n = retrieved
    retrieved = null.asInstanceOf[R]
    n
  }

  override def close(): Unit = {
    terminator.terminate(true)
    pool.shutdownNow()
  }

  /**
    * Exposed for testing only
    *
    * @param timeout timeout to wait
    * @return true if all threads have terminated, otherwise false
    */
  private [utils] def waitForDone(timeout: Long): Boolean = {
    val start = System.currentTimeMillis()
    while (true) {
      if (pool.isTerminated) {
        return true
      } else if (System.currentTimeMillis() - start > timeout) {
        return false
      } else {
        Thread.sleep(10)
      }
    }
    throw new IllegalStateException() // not possible to hit this, but the compiler can't figure that out
  }

  /**
    * Exposed for testing only
    *
    * @param timeout timeout to wait
    * @return true if full, otherwise false
    */
  private [utils] def waitForFull(timeout: Long): Boolean = {
    val start = System.currentTimeMillis()
    while (true) {
      if (outQueue.remainingCapacity() == 0) {
        return true
      } else if (System.currentTimeMillis() - start > timeout) {
        return false
      } else {
        Thread.sleep(10)
      }
    }
    throw new IllegalStateException() // not possible to hit this, but the compiler can't figure that out
  }

  /**
    * Pulls ranges off the queue and executes them
    */
  private class SingleThreadScan extends Runnable {
    override def run(): Unit = {
      try {
        var range = inQueue.poll()
        while (range != null && !Thread.currentThread().isInterrupted) {
          scan(range, outQueue)
          range = inQueue.poll()
        }
      } finally {
        latch.countDown()
      }
    }
  }

  /**
    * Injects the terminal value into the output buffer, once all the scans are complete
    */
  private class Terminator extends Runnable {

    @volatile
    private var done = false

    override def run(): Unit = try { latch.await() } finally { terminate(false) }

    @tailrec
    final def terminate(drop: Boolean): Unit = {
      if (done) {
        return
      }
      // it's possible that the queue is full, in which case we can't immediately
      // add the sentinel to the queue to indicate to the client that scans are done
      if (drop) {
        // if the scan has been closed, then the client is done
        // reading and we don't mind dropping some results
        terminateWithDrops()
      } else {
        // otherwise we wait and give the client a chance to empty the queue
        val added = try { outQueue.offer(sentinel, 1000, TimeUnit.MILLISECONDS) } catch {
          case _: InterruptedException => terminateWithDrops(); true
        }
        if (added) {
          done = true
        } else {
          terminate(false)
        }
      }
    }

    private def terminateWithDrops(): Unit = {
      while (!outQueue.offer(sentinel)) { outQueue.poll() }
      done = true
    }
  }
}


text:
<?php

namespace app\models\photo;

use Yii;

/**
 * This is the model class for table "section_photogalery_img".
 *
 * @property string $id
 * @property string $categoryId
 * @property string $alias
 * @property string $status
 * @property string $title
 * @property string $description
 * @property string $keywords
 * @property string $h1
 * @property string $imgSrc
 * @property string $content
 * @property string $didWorkTime
 * @property string $createdTime
 * @property string $updatedTime
 * @property string $createdBy
 * @property string $updatedBy
 * @property string $canComment
 *
 * @property SectionPhotogaleryCategory $category
 */
class SectionPhotogaleryImg extends \yii\db\ActiveRecord
{
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'section_photogalery_img';
    }

    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['categoryId'], 'integer'],
            [['alias', 'title', 'description', 'h1', 'imgSrc', 'updatedBy'], 'required'],
            [['status', 'content', 'canComment'], 'string'],
            [['didWorkTime', 'createdTime', 'updatedTime'], 'safe'],
            [['alias', 'title', 'description', 'keywords', 'h1', 'imgSrc', 'createdBy', 'updatedBy'], 'string', 'max' => 255],
            [['alias'], 'unique'],
            [['categoryId'], 'exist', 'skipOnError' => true, 'targetClass' => SectionPhotogaleryCategory::className(), 'targetAttribute' => ['categoryId' => 'id']],
        ];
    }

    /**
     * @inheritdoc
     */
    public function attributeLabels()
    {
        return [
            'id' => Yii::t('app', 'ID'),
            'categoryId' => Yii::t('app', 'Category ID'),
            'alias' => Yii::t('app', 'Alias'),
            'status' => Yii::t('app', 'Status'),
            'title' => Yii::t('app', 'Title'),
            'description' => Yii::t('app', 'Description'),
            'keywords' => Yii::t('app', 'Keywords'),
            'h1' => Yii::t('app', 'H1'),
            'imgSrc' => Yii::t('app', 'Img Src'),
            'content' => Yii::t('app', 'Content'),
            'didWorkTime' => Yii::t('app', 'Did Work Time'),
            'createdTime' => Yii::t('app', 'Created Time'),
            'updatedTime' => Yii::t('app', 'Updated Time'),
            'createdBy' => Yii::t('app', 'Created By'),
            'updatedBy' => Yii::t('app', 'Updated By'),
            'canComment' => Yii::t('app', 'Can Comment'),
        ];
    }

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getCategory()
    {
        return $this->hasOne(SectionPhotogaleryCategory::className(), ['id' => 'categoryId']);
    }

    public static function getPageFromAlias($alias)
    {
        return self::find()->whereAlias($alias)->one();
    }

    /**
     * @inheritdoc
     * @return SectionPhotogaleryImgQuery the active query used by this AR class.
     */
    public static function find()
    {
        return new SectionPhotogaleryImgQuery(get_called_class());
    }
}


text:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Text.RegularExpressions;

using Volte.Data.Json;

namespace Volte.Data.Dapper
{
    public static class DapperExtension {
        const string ZFILE_NAME   = "DapperExtension";
        /// <summary>
        /// 插入数据
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dbs"></param>
        /// <param name="t"></param>
        /// <param name="transaction"></param>
        /// <param name="commandTimeout"></param>
        /// <returns></returns>
        public static bool AddNew<T> (this DbContext dbs, T t, int ? commandTimeout = null) where T : class, new()
        {
            var db = dbs.DbConnection;
            var _dbtransaction = dbs.DbTransaction;
            QueryBuilder sql = QueryBuilder<T>.Builder(dbs);

            ZZLogger.Debug(ZFILE_NAME, t);

            sql = sql.AppendParam<T> (t);

            var flag = db.Execute(sql.InsertSql, t, _dbtransaction, commandTimeout);

            return flag == 1;
        }

        /// <summary>
        ///  批量插入数据
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dbs"></param>
        /// <param name="lt"></param>
        /// <param name="transaction"></param>
        /// <param name="commandTimeout"></param>
        /// <returns></returns>
        public static bool AddNew<T> (this DbContext dbs, IList<T> lt, int ? commandTimeout = null) where T : class, new()
        {
            var db = dbs.DbConnection;
            var _dbtransaction = dbs.DbTransaction;
            var sql = QueryBuilder<T>.Builder(dbs);

            var flag = db.Execute(sql.InsertSql, lt, _dbtransaction, commandTimeout);

//            Console.WriteLine("AddNew "+flag);

            return flag == lt.Count;
        }

        /// <summary>
        /// 按条件删除
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dbs"></param>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static bool Delete<T> (this DbContext dbs, QueryBuilder sql = null) where T : class {
            var db = dbs.DbConnection;
            var _dbtransaction = dbs.DbTransaction;

            if (sql == null)
            {
                sql = QueryBuilder<T>.Builder(dbs);
            }

            var f = db.Execute(sql.DeleteSql, sql.Param, _dbtransaction);
//            Console.WriteLine("DELETE "+f);
            ZZLogger.Debug(ZFILE_NAME, "DELETE1");
            return f > 0;
        }

        /// <summary>
        /// 删除
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dbs"></param>
        /// <param name="t">如果sql为null,则根据t的主键进行删除</param>
        /// <param name="sql">按条件删除</param>
        /// <returns></returns>
        public static bool Delete<T> (this DbContext dbs, T t, QueryBuilder sql = null) where T : class {
            var db = dbs.DbConnection;
            var _dbtransaction = dbs.DbTransaction;

            if (sql == null)
            {
                sql = QueryBuilder<T>.Builder(dbs);
            }

            sql = sql.AppendParam<T> (t);

            var f = db.Execute(sql.DeleteSql, sql.Param, _dbtransaction);

//            Console.WriteLine(sql.DeleteSql);
//            Console.WriteLine("DELETE "+f);
            ZZLogger.Debug(ZFILE_NAME, "DELETE2");
            return f > 0;
        }

        /// <summary>
        /// 修改
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dbs"></param>
        /// <param name="t">如果sql为null,则根据t的主键进行修改</param>
        /// <param name="sql">按条件修改</param>
        /// <returns></returns>
        public static bool Update<T> (this DbContext dbs, T t, QueryBuilder sql = null) where T : class, new()
        {
            var db = dbs.DbConnection;
            var _dbtransaction = dbs.DbTransaction;

            if (sql == null) {
                sql = QueryBuilder<T>.Builder(dbs);
            }

            sql = sql.AppendParam<T> (t);
            ZZLogger.Debug(ZFILE_NAME , "UPDATE " + sql.UpdateSql);
            var f = db.Execute(sql.UpdateSql, sql.Param, _dbtransaction);

            ZZLogger.Debug(ZFILE_NAME , "UPDATE " + sql.UpdateSql);
            ZZLogger.Debug(ZFILE_NAME , "UPDATE " + f);
            ZZLogger.Debug(ZFILE_NAME , "UPDATE " + dbs.Transaction);
            return f > 0;
        }

        /// <summary>
        /// 修改
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dbs"></param>
        /// <param name="t">如果sql为null,则根据t的主键进行修改</param>
        /// <param name="sql">按条件修改</param>
        /// <returns></returns>
        public static T Query<T> (this DbContext dbs, T t, QueryBuilder sql = null) where T : class {
            var db = dbs.DbConnection;
            var _dbtransaction = dbs.DbTransaction;

            if (sql == null)
            {
                sql = QueryBuilder<T>.Builder(dbs);
            }

            sql = sql.AppendParam<T> (t);
            sql = sql.Top(1);
            var result = db.Query<T> (sql.QuerySql, sql.Param, _dbtransaction);

            return result.FirstOrDefault();
        }

        /// <summary>
        /// 获取默认一条数据,没有则为NULL
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dbs"></param>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static T SingleOrDefault<T> (this DbContext dbs, QueryBuilder sql) where T : class {
            var db = dbs.DbConnection;
            var _dbtransaction = dbs.DbTransaction;

            if (sql == null)
            {
                sql = QueryBuilder<T>.Builder(dbs);
            }

            sql = sql.Top(1);
            var result = db.Query<T>(sql.QuerySql, sql.Param, _dbtransaction);
            return result.FirstOrDefault();
        }

        /// <summary>
        /// 获取默认一条数据
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dbs"></param>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static T SingleOrDefault<T> (this DbContext dbs, QueryBuilder sql, int ZZRWN) where T : class {
            var db = dbs.DbConnection;
            var _dbtransaction = dbs.DbTransaction;

            if (sql == null)
            {
                sql = QueryBuilder<T>.Builder(dbs);
            }

            sql = sql.Top(1, ZZRWN);
            ZZLogger.Debug(ZFILE_NAME, "xxx " + ZZRWN + "  " + sql.QuerySql);
            var result = db.Query<T> (sql.QuerySql, sql.Param, _dbtransaction);
            return result.FirstOrDefault();
        }

        /// <summary>
        /// 查询
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dbs"></param>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static IList<T> Query<T> (this DbContext dbs, QueryBuilder sql = null) where T : class {
            var db = dbs.DbConnection;
            var _dbtransaction = dbs.DbTransaction;

            if (sql == null)
            {
                sql = QueryBuilder<T>.Builder(dbs);
            }

            var result = db.Query<T> (sql.QuerySql, sql.Param, _dbtransaction);
            return result.ToList();
        }

        ///// <summary>
        ///// 数据数量
        ///// </summary>
        ///// <typeparam name="T"></typeparam>
        ///// <param name="dbs"></param>
        ///// <param name="sql"></param>
        ///// <returns></returns>
        public static int Count<T> (this DbContext dbs, QueryBuilder sql = null) where T : class {
            var db = dbs.DbConnection;
            var _dbtransaction = dbs.DbTransaction;

            if (sql == null)
            {
                sql = QueryBuilder<T>.Builder(dbs);
            }

            var cr = db.Query(sql.RecordCount, sql.Param, _dbtransaction).SingleOrDefault();
            return (int) cr.RecordCount;
        }
    }
}