From f6159a82a04ecc0b93876452a9dc74b48f685a6a Mon Sep 17 00:00:00 2001 From: Bart Skowron Date: Mon, 20 Dec 2021 02:16:47 +0100 Subject: [PATCH] Update PL translation --- docs/pl/docs/index.md | 131 +++++++++++++++++++++--------------------- 1 file changed, 65 insertions(+), 66 deletions(-) diff --git a/docs/pl/docs/index.md b/docs/pl/docs/index.md index 7542c986fe6fa..83a3caf1915cd 100644 --- a/docs/pl/docs/index.md +++ b/docs/pl/docs/index.md @@ -2,7 +2,7 @@ FastAPI

- FastAPI to szybki, prosty i gotowy do użycia w produkcji framework + FastAPI to szybki, prosty w nauce i gotowy do użycia w produkcji framework

@@ -26,23 +26,22 @@ FastAPI to nowoczesny, wydajny framework webowy do budowania API z użyciem Pythona 3.6+ bazujący na standardowym typowaniu Pythona. -Cechami kluczowymi są: +Kluczowe cechy: -* **Wydajność**: FastApi jest bardzo wydajny, na równi z **NodeJS** oraz **Go** (podziękowania dla Starlette i Pydantic). [Jeden z najszybszych dostępnych frameworków Pythonowych ](#wydajność). +* **Wydajność**: FastAPI jest bardzo wydajny, na równi z **NodeJS** oraz **Go** (dzięki Starlette i Pydantic). [Jeden z najszybszych dostępnych frameworków Pythonowych](#wydajnosc). +* **Szybkość kodowania**: Przyśpiesza szybkość pisania nowych funkcjonalności o około 200% do 300%. * +* **Mniejsza ilość błędów**: Zmniejsza ilość ludzkich (dewelopera) błędy o około 40%. * +* **Intuicyjność**: Wspaniałe wsparcie dla edytorów kodu. Dostępne wszędzie automatyczne uzupełnianie kodu. Krótszy czas debugowania. +* **Łatwość**: Zaprojektowany by być prosty i łatwy do nauczenia. Mniej czasu spędzonego na czytanie dokumentacji. +* **Kompaktowość**: Minimalizacja powtarzającego się kodu. Wiele funkcjonalności dla każdej deklaracji parametru. Mniej błędów. +* **Solidność**: Kod gotowy dla środowiska produkcyjnego. Wraz z automatyczną interaktywną dokumentacją. +* **Bazujący na standardach**: Oparty na (i w pełni kompatybilny z) otwartych standardach API: OpenAPI (wcześniej znane jako Swagger) oraz JSON Schema. -* **Szybkość napisania**: Przyśpiesz czas pisania funkcji o około 200% do 300%. * -* **Mniejsza ilość błędów**: Zmniejsz ludzkie (dewelopera) błędy o około 40%. * -* **Intuicyjność**: Wspaniałe wsparcie przez edytory kodu. Wszędzie automatyczne uzupełnianie. Mniejszy czas debugowania. -* **Łatwość**: Zaprojektowany by być prosty i łatwy do nauczenia. Mniej czasu spędzaj na czytanie dokumentacji. -* **Krótkość**: Zmniejsz powtarzanie się kodu. Dla każdego parametru można dać wiele funkcji. Mniej błędów. -* **Solidność**: Kod gotowy do środowiska produkyjnego. Wraz z automatyczną interaktywną dokumentacją. -* **Oparte na standardach**: Oparte na (i w pełni kompatybilne z) otwartymi standardami w API: OpenAPI (wcześniej znane jako Swagger) oraz JSON Schema. - -* oszacowania bazowane na testach przez wewnętrzny zespół deweloperów, budujących aplikacie używane na środowisku produkcyjnym. +* oszacowania bazowane na testach wykonanych przez wewnętrzny zespół deweloperów, budujących aplikacie używane na środowisku produkcyjnym. ## Sponsorzy - + {% if sponsors %} {% for sponsor in sponsors.gold -%} @@ -53,13 +52,13 @@ Cechami kluczowymi są: {% endfor %} {% endif %} - + Inni sponsorzy ## Opinie -"_[...] I'm using **FastAPI** a ton these days. [...] I'm actually planning to use it for all of my team's **ML services at Microsoft**. Some of them are getting integrated into the core **Windows** product and some **Office** products._" +"_[...] I'm using **FastAPI** a ton these days. [...] I'm actually planning to use it for all of my team's **ML services at Microsoft**. Some of them are getting integrated into the core **Windows** product and some **Office** products._"

Kabir Khan - Microsoft (ref)
@@ -101,17 +100,17 @@ Cechami kluczowymi są: -Jeżeli tworzysz aplikacje CLI która ma być używana w terminalu zamiast API, sprawdź **Typer**. +Jeżeli tworzysz aplikacje CLI, która ma być używana w terminalu zamiast API, sprawdź **Typer**. -**Typer** to młodsze rodzeństwo FastAPI. I jego przeznaczenie to bycie **FastAPI aplikacji konsolowych** . ⌨️ 🚀 +**Typer** to młodsze rodzeństwo FastAPI. Jego celem jest pozostanie **FastAPI aplikacji konsolowych** . ⌨️ 🚀 ## Wymagania Python 3.6+ -FastAPI stoi na ramionach olbrzymów: +FastAPI oparty jest na: -* Starlette dla części sieciowych. +* Starlette dla części webowej. * Pydantic dla części obsługujących dane. ## Instalacja @@ -126,7 +125,7 @@ $ pip install fastapi -Do produkcji będziesz potrzebował również serwera ASGI, takich jak Uvicorn albo Hypercorn. +Na serwerze produkcyjnym będziez także potrzebował serwera ASGI, np. Uvicorn lub Hypercorn.
@@ -142,7 +141,7 @@ $ pip install uvicorn[standard] ### Stwórz -* Stwórz plik o nazwie `main.py` z: +* Utwórz plik o nazwie `main.py` z: ```Python from typing import Optional @@ -185,9 +184,9 @@ async def read_item(item_id: int, q: Optional[str] = None): return {"item_id": item_id, "q": q} ``` -**Notatka**: +**Przypis**: -Jeżeli nie wiesz, sprawdz sekcje _"In a hurry?"_ (jeszcze nie przetłumaczone) o `async` i `await` w dokumentacji. +Jeżeli nie znasz, sprawdź sekcję _"In a hurry?"_ o `async` i `await` w dokumentacji. @@ -211,7 +210,7 @@ INFO: Application startup complete.
O komendzie uvicorn main:app --reload... -Komenda `uvicorn main:app` nawiązuje do: +Komenda `uvicorn main:app` odnosi się do: * `main`: plik `main.py` ("moduł" w Pythonie). * `app`: obiekt stworzony w `main.py` w lini `app = FastAPI()`. @@ -223,7 +222,7 @@ Komenda `uvicorn main:app` nawiązuje do: Otwórz link http://127.0.0.1:8000/items/5?q=somequery w przeglądarce. -Zobaczysz taką odpowiedź JSON: +Zobaczysz następującą odpowiedź JSON: ```JSON {"item_id": 5, "q": "somequery"} @@ -231,30 +230,30 @@ Zobaczysz taką odpowiedź JSON: Właśnie stworzyłeś API które: -* Otrzymuje żądanie HTTP w _ścieżce_ `/` i `/items/{item_id}`. +* Otrzymuje żądania HTTP w _ścieżce_ `/` i `/items/{item_id}`. * Obie _ścieżki_ używają operacji `GET` (znane także jako _metody_ HTTP). * _Ścieżka_ `/items/{item_id}` ma _parametr ścieżki_ `item_id` który powinien być obiektem typu `int`. * _Ścieżka_ `/items/{item_id}` ma opcjonalny _parametr zapytania_ typu `str` o nazwie `q`. ### Interaktywna dokumentacja API -Teraz wejdź na strone http://127.0.0.1:8000/docs. +Otwórz teraz stronę http://127.0.0.1:8000/docs. -Zobaczysz automatyczną interaktywną dokumentacje API (zrobiona z pomocą Swagger UI): +Zobaczysz automatyczną interaktywną dokumentację API (dostarczoną z pomocą Swagger UI): ![Swagger UI](https://fastapi.tiangolo.com/img/index/index-01-swagger-ui-simple.png) ### Alternatywna dokumentacja API -Teraz, wejdź na http://127.0.0.1:8000/redoc. +Otwórz teraz http://127.0.0.1:8000/redoc. -Zobaczysz alternatywną, lecz wciąż automatyczną dokumentacje (zrobiona z pomocą ReDoc): +Zobaczysz alternatywną, lecz wciąż automatyczną dokumentację (wygenerowaną z pomocą ReDoc): ![ReDoc](https://fastapi.tiangolo.com/img/index/index-02-redoc-simple.png) ## Aktualizacja przykładu -Teraz zmodyfikujemy plik `main.py` aby otrzmywał treść (body, w przykładzie nazwane `Item`) żądania `PUT`. +Zmodyfikuj teraz plik `main.py`, aby otrzmywał treść (body) żądania `PUT`. Zadeklaruj treść żądania, używając standardowych typów w Pythonie dzięki Pydantic. @@ -288,27 +287,27 @@ def update_item(item_id: int, item: Item): return {"item_name": item.name, "item_id": item_id} ``` -Serwer powinien odświeżyć automatycznie (ponieważ dodałeś `--reload` do komendy `uvicorn` powyżej). +Serwer powinien przeładować się automatycznie (ponieważ dodałeś `--reload` do komendy `uvicorn` powyżej). ### Zaktualizowana interaktywna dokumentacja API -Teraz wejdź na http://127.0.0.1:8000/docs. +Wejdź teraz na http://127.0.0.1:8000/docs. -* Interaktywna dokumentacja API zaktualizuje sie automatycznie, wliczając nową treść żądania (body): +* Interaktywna dokumentacja API zaktualizuje sie automatycznie, także z nową treścią żądania (body): ![Swagger UI](https://fastapi.tiangolo.com/img/index/index-03-swagger-02.png) -* Kliknij przycisk "Try it out" (wypróbuj), pozwoli to ci wypełnić parametry i bezpośrednio użyć API: +* Kliknij przycisk "Try it out" (wypróbuj), pozwoli Ci to wypełnić parametry i bezpośrednio użyć API: ![Swagger UI interaction](https://fastapi.tiangolo.com/img/index/index-04-swagger-03.png) -* Potem kliknij przycisk "Execute", interfejs użytkownika skontaktuje się z API, wyśle parametry, otrzyma odpowiedź i wyświetli ją na ekranie: +* Kliknij potem przycisk "Execute" (wykonaj), interfejs użytkownika połączy się z API, wyśle parametry, otrzyma odpowiedź i wyświetli ją na ekranie: ![Swagger UI interaction](https://fastapi.tiangolo.com/img/index/index-05-swagger-04.png) -### Zaktualizowana interaktywna dokumentacja API +### Zaktualizowana alternatywna dokumentacja API -Teraz, przejdź na http://127.0.0.1:8000/redoc. +Otwórz teraz http://127.0.0.1:8000/redoc. * Alternatywna dokumentacja również pokaże zaktualizowane parametry i treść żądania (body): @@ -316,13 +315,13 @@ Teraz, przejdź na Konwersja danych wejściowych: przychodzących z sieci na Pythonowe typy. Pozwala na przetwarzanie danych: @@ -349,7 +348,7 @@ item: Item * Parametrów ścieżki. * Parametrów zapytania. * Dane cookies. - * Dane headers. + * Dane nagłówków (headers). * Formularze. * Pliki. * Konwersja danych wyjściowych: wychodzących z Pythona do sieci (jako JSON): @@ -366,22 +365,22 @@ item: Item Wracając do poprzedniego przykładu, **FastAPI** : -* Potwierdzi że w ścieżce jest `item_id` dla żądań `GET` i `PUT`. -* Potwierdzi że `item_id` jest typu `int` dla żądań `GET` i `PUT`. +* Potwierdzi, że w ścieżce jest `item_id` dla żądań `GET` i `PUT`. +* Potwierdzi, że `item_id` jest typu `int` dla żądań `GET` i `PUT`. * Jeżeli nie jest, odbiorca zobaczy przydatną, przejrzystą wiadomość z błędem. -* Sprawdzi czy w ścieżce jesst opcjonalny parametr zapytania `q` (np. `http://127.0.0.1:8000/items/foo?q=somequery`) dla żądania `GET`. +* Sprawdzi czy w ścieżce jest opcjonalny parametr zapytania `q` (np. `http://127.0.0.1:8000/items/foo?q=somequery`) dla żądania `GET`. * Jako że parametr `q` jest zadeklarowany jako `= None`, jest on opcjonalny. * Gdyby tego `None` nie było, parametr ten byłby wymagany (tak jak treść żądania w żądaniu `PUT`). * Dla żądania `PUT` z ścieżką `/items/{item_id}`, odczyta treść żądania jako JSON: - * Sprawdzi czy posiada wymagany atrybut `name` który powinien być typu `str`. - * Sprawdzi czy posiada wymagany atrybut `price` który musi być `float`. + * Sprawdzi czy posiada wymagany atrybut `name`, który powinien być typu `str`. + * Sprawdzi czy posiada wymagany atrybut `price`, który musi być typu `float`. * Sprawdzi czy posiada opcjonalny atrybut `is_offer`, który (jeżeli obecny) powinien być typu `bool`. - * To wszystko powinno również działać dla głęboko zagnieżdżonych obiektów JSON. -* Konwersuje z i do JSON automatycznie. -* Dokumentuje wszystko z OpenAPI, które może być używane przez: + * To wszystko będzie również działać dla głęboko zagnieżdżonych obiektów JSON. +* Automatycznie konwertuje z i do JSON. +* Dokumentuje wszystko w OpenAPI, które może być używane przez: * Interaktywne systemy dokumentacji. - * Systemy automatycznego generowania kodu klientowego, dla wielu języków. -* Dostarczy bezpośrednio 2 interaktywne dokumentacje sieciowe. + * Systemy automatycznego generowania kodu klienckiego, dla wielu języków. +* Dostarczy bezpośrednio 2 interaktywne dokumentacje webowe. --- @@ -409,15 +408,15 @@ Spróbuj zmienić linijkę: ![editor support](https://fastapi.tiangolo.com/img/vscode-completion.png) -Dla bardziej kompletnych przykładów posiadających więcej funkcji, zobacz Tutorial - User Guide (jeszcze nieprzetłumaczone). +Dla bardziej kompletnych przykładów posiadających więcej funkcjonalności, zobacz Tutorial - User Guide. -**Uwaga Spoiler**: the tutorial - user guide zawiera: +**Uwaga Spoiler**: tutorial - user guide zawiera: -* Deklaracje **parametrów** z innych miejsc takich jak: **headery**, **pliki cookies**, **formularze** i **pliki**. +* Deklaracje **parametrów** z innych miejsc takich jak: **nagłówki**, **pliki cookies**, **formularze** i **pliki**. * Jak ustawić **ograniczenia walidacyjne** takie jak `maksymalna długość` lub `regex`. * Potężny i łatwy w użyciu system **Dependency Injection**. -* Zabezpieczenia i autoryzacja, wliczając wsparcie dla **OAuth2** z **tokenami JWT** oraz autoryzacją **HTTP Basic**. -* Bardziej zaawansowane (ale równie proste) techniki deklarowania **głęboko zagnieżdżonych modeli JSON** (podziękowania dla Pydantic). +* Zabezpieczenia i autentykacja, wliczając wsparcie dla **OAuth2** z **tokenami JWT** oraz autoryzacją **HTTP Basic**. +* Bardziej zaawansowane (ale równie proste) techniki deklarowania **głęboko zagnieżdżonych modeli JSON** (dzięki Pydantic). * Wiele dodatkowych funkcji (dzięki Starlette) takie jak: * **WebSockety** * **GraphQL** @@ -428,35 +427,35 @@ Dla bardziej kompletnych przykładów posiadających więcej funkcji, zobacz jest jednym z najszybszych Pythonowych frameworków dostępnych, znajduje się tylko pod samymi Starlette i Uvicorn (używanymi wewnątrz FastAPI). (*) +Niezależne benchmarki TechEmpower pokazują, że **FastAPI** (uruchomiony na serwerze Uvicorn) jest jednym z najszybszych dostępnych Pythonowych frameworków, zaraz po Starlette i Uvicorn (używanymi wewnątrznie przez FastAPI). (*) -Aby dowiedzieć się o tym więcej, zobacz sekcje Benchmarks (jeszcze nieprzetłumaczone). +Aby dowiedzieć się o tym więcej, zobacz sekcję Benchmarks. ## Opcjonalne zależności Używane przez Pydantic: -* ujson - dla szybszego "parsowania" danych JSON. +* ujson - dla szybszego "parsowania" danych JSON. * email_validator - dla walidacji adresów email. Używane przez Starlette: * requests - Wymagane jeżeli chcesz korzystać z `TestClient`. * aiofiles - Wymagane jeżeli chcesz korzystać z `FileResponse` albo `StaticFiles`. -* jinja2 - Wymagane jeżeli chcesz używać domyślnych szablonów konfiguracji. +* jinja2 - Wymagane jeżeli chcesz używać domyślnej konfiguracji szablonów. * python-multipart - Wymagane jeżelich chcesz wsparcie "parsowania" formularzy, używając `request.form()`. * itsdangerous - Wymagany dla wsparcia `SessionMiddleware`. -* pyyaml - Wymagane dla wsparcia `SchemaGenerator` do Starlette (z FastAPI prawdopodobnie tego nie potrzebujesz). +* pyyaml - Wymagane dla wsparcia `SchemaGenerator` z Starlette (z FastAPI prawdopodobnie tego nie potrzebujesz). * graphene - Wymagane dla wsparcia `GraphQLApp`. * ujson - Wymagane jeżeli chcesz korzystać z `UJSONResponse`. Używane przez FastAPI / Starlette: -* uvicorn - dla serwera który ładuje i obsługuje twoją aplikacje. +* uvicorn - jako serwer, który ładuje i obsługuje Twoją aplikację. * orjson - Wymagane jeżeli chcesz używać `ORJSONResponse`. Możesz zainstalować wszystkie te aplikacje przy pomocy `pip install fastapi[all]`. ## Licencja -Ten projekt jest pod licencją MIT. +Ten projekt jest na licencji MIT.