From c9fbd754d5b6ea2a18a01df8b47757b749bd0078 Mon Sep 17 00:00:00 2001 From: Tomasz Smolarek <59400506+dyfero@users.noreply.github.com> Date: Wed, 9 Nov 2022 10:46:28 +0100 Subject: [PATCH] library default translations (#178) Co-authored-by: Tomasz Smolarek --- .../1.0}/pl.json | 0 resources/lang/pl/H5P.Accordion/pl.json | 36 ++ .../1.1}/pl.json | 0 resources/lang/pl/H5P.AdvancedText/pl.json | 7 + .../1.5}/pl.json | 0 resources/lang/pl/H5P.Agamotto/pl.json | 74 +++ .../{H5P.Audio-1.5 => H5P.Audio/1.5}/pl.json | 0 resources/lang/pl/H5P.Audio/pl.json | 49 ++ .../1.9}/pl.json | 0 resources/lang/pl/H5P.Dialogcards/pl.json | 219 ++++++++ .../{H5P.Essay-1.5 => H5P.Essay/1.5}/pl.json | 0 resources/lang/pl/H5P.Essay/pl.json | 287 +++++++++++ .../{H5P.Image-1.1 => H5P.Image/1.1}/pl.json | 0 resources/lang/pl/H5P.Image/pl.json | 23 + .../1.8}/pl.json | 0 .../lang/pl/H5P.ImageHotspotQuestion/pl.json | 80 +++ .../1.10}/pl.json | 0 resources/lang/pl/H5P.ImageHotspots/pl.json | 94 ++++ .../1.4}/pl.json | 0 .../lang/pl/H5P.ImageJuxtaposition/pl.json | 60 +++ .../1.0}/pl.json | 0 .../H5P.ImageMultipleHotspotQuestion/pl.json | 91 ++++ .../1.24}/pl.json | 0 .../lang/pl/H5P.InteractiveVideo/pl.json | 487 ++++++++++++++++++ .../1.16}/pl.json | 0 resources/lang/pl/H5P.MultiChoice/pl.json | 258 ++++++++++ .../1.11}/pl.json | 0 resources/lang/pl/H5P.SingleChoiceSet/pl.json | 147 ++++++ .../0.11}/pl.json | 0 resources/lang/pl/H5P.SortParagraphs/pl.json | 224 ++++++++ .../1.8}/pl.json | 0 resources/lang/pl/H5P.TrueFalse/pl.json | 163 ++++++ .../{H5P.Video-1.6 => H5P.Video/1.6}/pl.json | 0 resources/lang/pl/H5P.Video/pl.json | 136 +++++ .../1.8}/pl.json | 0 .../pl/H5PEditor.ImageHotspotQuestion/pl.json | 11 + .../1.0}/pl.json | 0 .../pl.json | 9 + .../1.2}/pl.json | 0 resources/lang/pl/H5PEditor.Wizard/pl.json | 7 + src/Models/H5PLibrary.php | 5 + .../H5PLibraryLanguageRepositoryContract.php | 2 +- .../H5PEditorStorageRepository.php | 14 +- .../H5PLibraryLanguageRepository.php | 28 +- src/Repositories/H5PRepository.php | 10 +- 45 files changed, 2502 insertions(+), 19 deletions(-) rename resources/lang/pl/{H5P.Accordion-1.0 => H5P.Accordion/1.0}/pl.json (100%) create mode 100644 resources/lang/pl/H5P.Accordion/pl.json rename resources/lang/pl/{H5P.AdvancedText-1.1 => H5P.AdvancedText/1.1}/pl.json (100%) create mode 100644 resources/lang/pl/H5P.AdvancedText/pl.json rename resources/lang/pl/{H5P.Agamotto-1.5 => H5P.Agamotto/1.5}/pl.json (100%) create mode 100644 resources/lang/pl/H5P.Agamotto/pl.json rename resources/lang/pl/{H5P.Audio-1.5 => H5P.Audio/1.5}/pl.json (100%) create mode 100644 resources/lang/pl/H5P.Audio/pl.json rename resources/lang/pl/{H5P.Dialogcards-1.9 => H5P.Dialogcards/1.9}/pl.json (100%) create mode 100644 resources/lang/pl/H5P.Dialogcards/pl.json rename resources/lang/pl/{H5P.Essay-1.5 => H5P.Essay/1.5}/pl.json (100%) create mode 100644 resources/lang/pl/H5P.Essay/pl.json rename resources/lang/pl/{H5P.Image-1.1 => H5P.Image/1.1}/pl.json (100%) create mode 100644 resources/lang/pl/H5P.Image/pl.json rename resources/lang/pl/{H5P.ImageHotspotQuestion-1.8 => H5P.ImageHotspotQuestion/1.8}/pl.json (100%) create mode 100644 resources/lang/pl/H5P.ImageHotspotQuestion/pl.json rename resources/lang/pl/{H5P.ImageHotspots-1.10 => H5P.ImageHotspots/1.10}/pl.json (100%) create mode 100644 resources/lang/pl/H5P.ImageHotspots/pl.json rename resources/lang/pl/{H5P.ImageJuxtaposition-1.4 => H5P.ImageJuxtaposition/1.4}/pl.json (100%) create mode 100644 resources/lang/pl/H5P.ImageJuxtaposition/pl.json rename resources/lang/pl/{H5P.ImageMultipleHotspotQuestion-1.0 => H5P.ImageMultipleHotspotQuestion/1.0}/pl.json (100%) create mode 100644 resources/lang/pl/H5P.ImageMultipleHotspotQuestion/pl.json rename resources/lang/pl/{H5P.InteractiveVideo-1.24 => H5P.InteractiveVideo/1.24}/pl.json (100%) create mode 100644 resources/lang/pl/H5P.InteractiveVideo/pl.json rename resources/lang/pl/{H5P.MultiChoice-1.16 => H5P.MultiChoice/1.16}/pl.json (100%) create mode 100644 resources/lang/pl/H5P.MultiChoice/pl.json rename resources/lang/pl/{H5P.SingleChoiceSet-1.11 => H5P.SingleChoiceSet/1.11}/pl.json (100%) create mode 100644 resources/lang/pl/H5P.SingleChoiceSet/pl.json rename resources/lang/pl/{H5P.SortParagraphs-0.11 => H5P.SortParagraphs/0.11}/pl.json (100%) create mode 100644 resources/lang/pl/H5P.SortParagraphs/pl.json rename resources/lang/pl/{H5P.TrueFalse-1.8 => H5P.TrueFalse/1.8}/pl.json (100%) create mode 100644 resources/lang/pl/H5P.TrueFalse/pl.json rename resources/lang/pl/{H5P.Video-1.6 => H5P.Video/1.6}/pl.json (100%) create mode 100644 resources/lang/pl/H5P.Video/pl.json rename resources/lang/pl/{H5PEditor.ImageHotspotQuestion-1.8 => H5PEditor.ImageHotspotQuestion/1.8}/pl.json (100%) create mode 100644 resources/lang/pl/H5PEditor.ImageHotspotQuestion/pl.json rename resources/lang/pl/{H5PEditor.ImageMultipleHotspotQuestion-1.0 => H5PEditor.ImageMultipleHotspotQuestion/1.0}/pl.json (100%) create mode 100644 resources/lang/pl/H5PEditor.ImageMultipleHotspotQuestion/pl.json rename resources/lang/pl/{H5PEditor.Wizard-1.2 => H5PEditor.Wizard/1.2}/pl.json (100%) create mode 100644 resources/lang/pl/H5PEditor.Wizard/pl.json diff --git a/resources/lang/pl/H5P.Accordion-1.0/pl.json b/resources/lang/pl/H5P.Accordion/1.0/pl.json similarity index 100% rename from resources/lang/pl/H5P.Accordion-1.0/pl.json rename to resources/lang/pl/H5P.Accordion/1.0/pl.json diff --git a/resources/lang/pl/H5P.Accordion/pl.json b/resources/lang/pl/H5P.Accordion/pl.json new file mode 100644 index 00000000..6b350670 --- /dev/null +++ b/resources/lang/pl/H5P.Accordion/pl.json @@ -0,0 +1,36 @@ +{ + "semantics":[ + { + "label":"Panele", + "entity":"panel", + "field":{ + "label":"Treść", + "entity":"treść", + "fields":[ + { + "label":"Tytuł" + }, + { + "label":"Typ treści", + "entity":"treść" + } + ] + } + }, + { + "label":"H znaczniki dla etykiet (nie mają wpływu na rozmiar etykiety)", + "description":"Znacznik h używany w etykietach. Domyślnie H2, jeśli znacznik należy do nagłówka H2, użyj nagłówka H3. Nie wpływa na rozmiar etykiet, tag używany jest tylko do celów semantycznych.", + "options":[ + { + "label":"H2" + }, + { + "label":"H3" + }, + { + "label":"H4" + } + ] + } + ] +} diff --git a/resources/lang/pl/H5P.AdvancedText-1.1/pl.json b/resources/lang/pl/H5P.AdvancedText/1.1/pl.json similarity index 100% rename from resources/lang/pl/H5P.AdvancedText-1.1/pl.json rename to resources/lang/pl/H5P.AdvancedText/1.1/pl.json diff --git a/resources/lang/pl/H5P.AdvancedText/pl.json b/resources/lang/pl/H5P.AdvancedText/pl.json new file mode 100644 index 00000000..17897637 --- /dev/null +++ b/resources/lang/pl/H5P.AdvancedText/pl.json @@ -0,0 +1,7 @@ +{ + "semantics":[ + { + "label":"Tekst" + } + ] +} diff --git a/resources/lang/pl/H5P.Agamotto-1.5/pl.json b/resources/lang/pl/H5P.Agamotto/1.5/pl.json similarity index 100% rename from resources/lang/pl/H5P.Agamotto-1.5/pl.json rename to resources/lang/pl/H5P.Agamotto/1.5/pl.json diff --git a/resources/lang/pl/H5P.Agamotto/pl.json b/resources/lang/pl/H5P.Agamotto/pl.json new file mode 100644 index 00000000..9380551b --- /dev/null +++ b/resources/lang/pl/H5P.Agamotto/pl.json @@ -0,0 +1,74 @@ +{ + "semantics": [ + { + "label": "Nagłówek", + "placeholder": "Tutaj możesz dodać opcjonalny nagłówek.", + "description": "Nagłówek, który chcesz pokazać nad obrazem" + }, + { + "label": "Elementy", + "entity": "element", + "widgets": [ + { + "label": "Domyślny" + } + ], + "field": { + "label": "Element", + "fields": [ + { + "label": "Zdjęcie" + }, + { + "label": "Etykieta", + "description": "Opcjonalna etykieta dla znaku wyboru. Upewnij się, że nie jest zbyt długa, w przeciwnym razie zostanie ukryta." + }, + { + "label": "Opis", + "placeholder": "Opis mojego obrazu...", + "description": "Opcjonalny opis obrazu" + } + ] + } + }, + { + "label": "Ustawienia zachowania", + "description": "Te opcje pozwolą Ci kontrolować zachowanie zadania.", + "fields": [ + { + "label": "Zdjęcie początkowe", + "description": "Ustaw numer obrazu, którey ma być wyświetlany jako pierwszy." + }, + { + "label": "Suwak", + "description": "Jeśli jest włączony, suwak przeskoczy do pozycji obrazu." + }, + { + "label": "Wyświetlanie znaczników zaznaczenia", + "description": "Jeśli jest włączony, na pasku suwaka będzie wyświetlany znak zaznaczenia dla każdego obrazu." + }, + { + "label": "Wyświetlanie etykiet", + "description": "Jeśli jest włączony, suwak będzie wyświetlał etykietę zamiast znaków zaznaczeń." + }, + { + "label": "Kolor zastępujący przezroczystość", + "description": "Ustaw kolor, który zastąpi przezroczyste obszary obrazów." + } + ] + }, + { + "label": "Readspeaker", + "fields": [ + { + "label": "Zdjęcie", + "default": "Zdjęcie" + }, + { + "label": "Suwak obrazów", + "default": "Suwak obrazów" + } + ] + } + ] +} diff --git a/resources/lang/pl/H5P.Audio-1.5/pl.json b/resources/lang/pl/H5P.Audio/1.5/pl.json similarity index 100% rename from resources/lang/pl/H5P.Audio-1.5/pl.json rename to resources/lang/pl/H5P.Audio/1.5/pl.json diff --git a/resources/lang/pl/H5P.Audio/pl.json b/resources/lang/pl/H5P.Audio/pl.json new file mode 100644 index 00000000..c5e6222f --- /dev/null +++ b/resources/lang/pl/H5P.Audio/pl.json @@ -0,0 +1,49 @@ +{ + "semantics": [ + { + "label": "Pliki źródłowe" + }, + { + "label": "Tryb odtwarzacza", + "description": "Wybierz układ odtwarzacza.", + "options": [ + { + "label": "Prosty" + }, + { + "label": "Pełny" + }, + { + "label": "Przezroczysty" + } + ] + }, + { + "label": "Dopasowanie do opakowania" + }, + { + "label": "Sterowanie", + "description": "Sterowanie pozwala użytkownikowi na przykład wstrzymać dźwięk" + }, + { + "label": "Auto odtwarzanie", + "description": "Dźwięk odtwarza się po wczytaniu zadania. Pamiętaj, że ta funkcja nie jest obsługiwana przez wszystkie przeglądarki." + }, + { + "label": "Odtwórz dźwięk (Readspeaker)", + "default": "Odtwórz dźwięk" + }, + { + "label": "Wstrzymaj dźwięk (Readspeaker)", + "default": "Wstrzymaj dźwięk" + }, + { + "label": "Nazwa treści audio", + "default": "Audio" + }, + { + "label": "Wiadomość dla nieobsługiwanego pliku audio", + "default": "Twoja przeglądarka nie obsługuje tego pliku audio" + } + ] +} diff --git a/resources/lang/pl/H5P.Dialogcards-1.9/pl.json b/resources/lang/pl/H5P.Dialogcards/1.9/pl.json similarity index 100% rename from resources/lang/pl/H5P.Dialogcards-1.9/pl.json rename to resources/lang/pl/H5P.Dialogcards/1.9/pl.json diff --git a/resources/lang/pl/H5P.Dialogcards/pl.json b/resources/lang/pl/H5P.Dialogcards/pl.json new file mode 100644 index 00000000..4adc748d --- /dev/null +++ b/resources/lang/pl/H5P.Dialogcards/pl.json @@ -0,0 +1,219 @@ +{ + "semantics": [ + { + "label": "Nagłówek" + }, + { + "label": "Tryb", + "description": "Sposób prezentacji kart dialogowych", + "options": [ + { + "label": "Normalny" + }, + { + "label": "Powtórzenia" + } + ] + }, + { + "label": "Opis zadania" + }, + { + "widgets": [ + { + "label": "Domyślny" + } + ], + "label": "Dialogi", + "entity": "dialog", + "field": { + "label": "Pytanie", + "fields": [ + { + "label": "Tekst", + "description": "Wskazówka do pierwszej części dialogu" + }, + { + "label": "Odpowiedź", + "description": "Wskazówka do drugiej części dialogu" + }, + { + "label": "Zdjęcie", + "description": "Opcjonalny zdjęcie karty. (Karta może zawierać obraz i tekst)" + }, + { + "label": "Tekst alternatywny dla zdjęcia" + }, + { + "label": "Pliki audio" + }, + { + "label": "Wskazówki", + "fields": [ + { + "label": "Wskazówka do tekstu", + "description": "Wskazówka dotycząca pierwszej części dialogu" + }, + { + "label": "Wskazówka do odpowiedzi", + "description": "Wskazówka dotycząca drugiej części dialogu" + } + ] + } + ] + } + }, + { + "label": "Ustawienie zachowania", + "description": "Te opcje pozwolą Ci kontrolować zachowanie zadania.", + "fields": [ + { + "label": "Włącz przycisk \"Ponów\"" + }, + { + "label": "Wyłącz nawigację wsteczną", + "description": "Włączenie tej opcji pozwala nawigować tylko do następnych kart dialogowych" + }, + { + "label": "Skaluj tekst, aby zmieścił się na karcie", + "description": "Odznaczenie tej opcji spowoduje, że karta dostosuje swój rozmiar do rozmiaru tekstu" + }, + { + "label": "Losuj karty", + "description": "Włącz losową kolejność kart." + }, + { + "label": "Maksymalny poziom umiejętności" + }, + { + "label": "Zezwalaj na szybki postęp", + "description": "Jeśli opcja jest zaznaczona, uczniowie mogą pomijać karty" + } + ] + }, + { + "label": "Tekst dla przycisku przełącz", + "default": "Przełącz" + }, + { + "label": "Tekst dla przycisku następny", + "default": "Następny" + }, + { + "label": "Tekst dla przycisku poprzedni", + "default": "Poprzedni" + }, + { + "label": "Tekst dla przycisku ponów", + "default": "Ponów" + }, + { + "label": "Tekst dla przycisku \"poprawna odpowiedź\"", + "default": "Udało się!" + }, + { + "label": "Tekst dla przycisku \"błędna odpowiedź\"", + "default": "Błędna odpowiedź!" + }, + { + "label": "Tekst komunikatu „Runda” pod kartami i na ekranie podsumowania", + "description": "Zmienna @round zostanie zastąpiona aktualnym numerem", + "default": "Runda @round" + }, + { + "label": "Tekst wiadomości \"Pozostałe karty\"", + "description": "Zmienna @number zostanie zastąpiona liczbą pozostałych kart w tej rundzie", + "default": "Pozostało kart: @number" + }, + { + "label": "Tekst dla przycisku \"następna runda\"", + "description": "Zmienna @round zostanie zastąpiona numerem aktualnej rundy", + "default": "Przejdź do rundy @round" + }, + { + "label": "Tekst przycisku \"Zacznij od nowa\"", + "default": "Zacznij od nowa" + }, + { + "label": "Tekst przycisku \"pokaż podsumowanie\"", + "default": "Pokaż podsumowanie" + }, + { + "label": "Tekst tytułu strony podsumowania", + "default": "Podsumowanie" + }, + { + "label": "Tekst dla \"Poprawne karty:\"", + "default": "Poprawne karty:" + }, + { + "label": "Tekst dla \"Niepoprawne karty:\"", + "default": "Niepoprawne karty:" + }, + { + "label": "Tekst dla \"Niewyświetlone karty:\"", + "default": "Niewyświetlone karty:" + }, + { + "label": "Tekst dla \"Wynik\"", + "default": "Wynik" + }, + { + "label": "Tekst dla \"Ukończone karty\"", + "default": "Karty, które ukończyłeś:" + }, + { + "label": "Tekst dla \"Ukończonych rund:\"", + "default": "Ukończone rundy:" + }, + { + "label": "Komunikat, gdy wszystkie karty zostały ukończone", + "description": "@cards zostanie zastąpione przez liczbę wszystkich kart. @max zostanie zastąpiony przez uzyskaną wartość", + "default": "Dobra robota! Opanowałeś wszystkie karty @cards uzyskując @max!" + }, + { + "label": "Tekst dotyczący postępu", + "description": "Dostępne zmienne to @card i @total.", + "default": "Karta @card z @total" + }, + { + "label": "Etykieta dla przodu karty", + "description": "Wykorzystywane do zapewnienia dostępności przez technologie dla niesłyszących", + "default": "Przód karty" + }, + { + "label": "Etykieta na tył karty", + "description": "Wykorzystywane do zapewnienia dostępności przez technologie dla niesłyszących", + "default": "Tył karty" + }, + { + "label": "Etykieta dla przycisku pokazującego wskazówkę", + "default": "Pokaż wskazówkę" + }, + { + "label": "Komunikat o nieobsługiwanym dźwięku", + "default": "Twoja przeglądarka nie obsługuje tego formatu" + }, + { + "label": "Okno potwierdzające rozpoczynania od nowa", + "fields": [ + { + "label": "Tekst nagłówka", + "default": "Zacząć od nowa?" + }, + { + "label": "Tekst główny", + "default": "Wszystkie postępy zostaną utracone. Czy na pewno chcesz zacząć od nowa?" + }, + { + "label": "Etykieta przycisku \"Anuluj\"", + "default": "Anuluj" + }, + { + "label": "Etykieta przycisku \"Potwierdź\"", + "default": "Zacznij od nowa" + } + ] + } + ] +} diff --git a/resources/lang/pl/H5P.Essay-1.5/pl.json b/resources/lang/pl/H5P.Essay/1.5/pl.json similarity index 100% rename from resources/lang/pl/H5P.Essay-1.5/pl.json rename to resources/lang/pl/H5P.Essay/1.5/pl.json diff --git a/resources/lang/pl/H5P.Essay/pl.json b/resources/lang/pl/H5P.Essay/pl.json new file mode 100644 index 00000000..c7d33410 --- /dev/null +++ b/resources/lang/pl/H5P.Essay/pl.json @@ -0,0 +1,287 @@ +{ + "semantics": [ + { + "label": "Medium", + "fields": [ + { + "label": "Typ", + "description": "Medium, które jest opcjonalnie wyświetlane nad zadaniem." + }, + { + "label": "Wyłącz powiększanie obrazu" + } + ] + }, + { + "label": "Opis zadania", + "description": "Opis pojawi się nad polem wprowadzania tekstu.", + "placeholder": "Streść książkę w nie więcej niż 500 znakach ..." + }, + { + "label": "Tekst pomocniczy", + "description": "Ten tekst ma na celu wsparcie początkujących uczniów.", + "placeholder": "Ta książka jest o ..." + }, + { + "label": "Proponowane rozwiązanie", + "description": "Możesz opcjonalnie podać proponowane rozwiązanie, które będzie widoczne, gdy uczeń sprawdzi swoje rozwiązanie. Nazywa się to rozwiązaniem proponowanym, ponieważ istnieje więcej niż jedno poprawne rozwiązanie.", + "fields": [ + { + "label": "Wstęp", + "description": "Możesz opcjonalnie umieścić wyjaśnienie przed swoim proponowanym rozwiązaniem. Zostanie wyświetlone jeśli dodasz proponowane rozwiązanie.", + "placeholder": "Pamiętaj, że nie oczekiwano od Ciebie dokładnie takiego samego rozwiązania. To tylko przykład." + }, + { + "label": "Tekst proponowanego rozwiązania", + "description": "Po sprawdzeniu rozwiązania uczniowie zobaczą przycisk \"Pokaż rozwiązanie\", jeśli uzupełnisz to pole." + } + ] + }, + { + "label": "Słowa kluczowe", + "widgets": [ + { + "label": "Pole wprowadzania danych" + } + ], + "entity": "Słowo kluczowe", + "field": { + "label": "Słowo kluczowe", + "fields": [ + { + "label": "Słowo kluczowe", + "description": "Wyszukane słowo kluczowe lub fraza. Możesz użyć gwiazdki \"*\" dla jednej lub więcej liter. W wyrażeniach regularnych na początku i końcu można używać ukośników '/'." + }, + { + "label": "Warianty", + "description": "Opcjonalnie dodaj odmiany dla słów kluczowych. Przykład: \"Miasto\", \"Gmina\" itp. może również odpowiadać wartości \"Miasto\". Punkty przyznawane są również za słowa alternatywne.", + "entity": "Wariant", + "field": { + "label": "Odmiana słów kluczowych" + } + }, + { + "label": "Punkty, opcje i opinie", + "fields": [ + { + "label": "Punkty", + "description": "Punkty, które otrzymują uczniowie, gdy użyją słowa kluczowego lub jego odmiany." + }, + { + "label": "Odniesienia", + "description": "Określ ile wystąpień tego samego słowa kluczowego lub jego odmian ma mieć przypisane punkty." + }, + { + "label": "Zwróć uwagę na duże i małe litery", + "description": "Wymusza zgodność rozwiązania z jego definicją." + }, + { + "label": "Akceptuj drobne błędy ortograficzne", + "description": "Jeśli ta opcja jest zaznaczona, odpowiedź nadal jest uznawana za poprawną, jeśli są w niej drobne błędy ortograficzne. (3-9 znaków: 1 błąd, więcej niż 9 znaków: 2 błędy)." + }, + { + "label": "Informacja zwrotna, jeśli użyto słowa kluczowego", + "description": "Informacja zwrotna wyświetlana, gdy uczeń użyje słowa kluczowego lub jego odmian w tekście." + }, + { + "label": "Informacja zwrotna, jeśli słowo kluczowe nie zostało użyte", + "description": "Informacja zwrotna wyświetlana, gdy uczeń nie użyje słowa kluczowego ani jego odmian w tekście." + }, + { + "label": "Słowo w informacji zwrotnej, jeśli użyto słowa kluczowego", + "description": "Ta opcja pozwala określić, które słowo jest wyświetlane przed informacją zwrotną, gdy słowo kluczowe zostało użyte.", + "options": [ + { + "label": "Słowo kluczowe" + }, + { + "label": "Znaleziono alternatywne słowo" + }, + { + "label": "Udzielona odpowiedź" + }, + { + "label": "Puste" + } + ] + }, + { + "label": "Słowo w informacji zwrotnej, jeśli nie użyto słowa kluczowego", + "description": "Ta opcja pozwala określić, które słowo jest wyświetlane przed informacją zwrotną, gdy słowo kluczowe zostało użyte.", + "options": [ + { + "label": "Słowo kluczowe" + }, + { + "label": "Puste" + } + ] + } + ] + } + ] + } + }, + { + "label": "Ogólne uwagi", + "fields": [ + { + "widgets": [ + { + "label": "Domyślnie" + } + ], + "label": "Ustawienie informacji zwrotnej dla poszczególnych obszarów punktowych", + "description": "Kliknij przycisk \"Dodaj zakres\", aby dodać odpowiedni zakres. Przykład: 0-20% Słaba ocena, 21-91% Średnia ocena, 91-100% Świetna ocena!", + "entity": "Obszar", + "field": { + "fields": [ + { + "label": "Zakres punktów" + }, + {}, + { + "label": "Informacja zwrotna dla danego zakresu punktów", + "placeholder": "Wprowadź informacje zwrotne" + } + ] + } + } + ] + }, + { + "label": "Ustawienia zachowania", + "description": "Opcje te określają szczegółowo sposób działania zadania.", + "fields": [ + { + "label": "Minimalna liczba znaków", + "description": "Określ minimalną liczbę znaków." + }, + { + "label": "Maksymalna liczba znaków", + "description": "Określ maksymalną liczbę znaków." + }, + { + "label": "Wielkość pola", + "description": "Wielkość pola jako liczba wierszy", + "options": [ + { + "label": "1 wiersz" + }, + { + "label": "3 wiersze" + }, + { + "label": "10 wierszy" + } + ] + }, + { + "label": "Zezwól na \"Powtórz\".", + "description": "Jeśli ta opcja jest zaznaczona, uczniowie mogą powtórzyć zadanie." + }, + { + "label": "Zignoruj punktację", + "description": "Jeśli ta opcja jest zaznaczona, uczestnicy będą widzieć tylko Twoją opinię, nie punktację. Nic nie jest punktowane." + }, + { + "label": "Punkty w systemie", + "description": "Służy do przyznawania punktów w systemie wyłącznie za wykonanie zadania (nie jest wyświetlany uczniom)." + }, + { + "label": "Minimalna wartość procentowa do zaliczenia zadania", + "description": "Procent poprawności wymagany do zaliczenia" + }, + { + "label": "Procent do opanowania", + "description": "Wartość poniżej 100% odpowiednio obniża ocenę. Ma to na celu dać uczniom swobodę, zamiast akceptować rozwiązania." + }, + { + "label": "Rozróżnianie wielkości liter.", + "description": "Ta opcja określa, czy opcja \"Rozróżnianie wielkości liter\" jest włączona czy wyłączona dla wszystkich słów kluczowych.", + "options": [ + { + "label": "Aktywna" + }, + { + "label": "Nieaktywna" + } + ] + }, + { + "label": "Zaakceptuj drobne błędy ortograficzne", + "description": "Ta opcja określa, czy włączyć lub wyłączyć opcję „Akceptuj drobne błędy ortograficzne” dla wszystkich słów kluczowych.", + "options": [ + { + "label": "Aktywna" + }, + { + "label": "Nieaktywna" + } + ] + } + ] + }, + { + "label": "Etykieta przycisku \"Sprawdź\"", + "default": "Sprawdź" + }, + { + "label": "Etykieta przycisku \"Wyślij\"", + "default": "Wyślij" + }, + { + "label": "Etykieta przycisku \"Powtórz\"", + "default": "Powtórz" + }, + { + "label": "Etykieta przycisku \"Pokaż rozwiązanie\"", + "default": "Pokaż rozwiązanie" + }, + { + "label": "Nagłówek do sekcji z informacją zwrotną na temat słów kluczowych", + "default": "Wiadomość zwrotna" + }, + { + "label": "Etykieta proponowanego rozwiązania", + "default": "Proponowane rozwiązanie" + }, + { + "label": "Pozostała liczba znaków", + "default": "Pozostało znaków: @chars", + "description": "Komunikat informujący o pozostałej liczbie znaków. Zmienna @chars zostanie zastąpiona odpowiednim numerem." + }, + { + "label": "Za mało znaków", + "default": "Musisz wprowadzić co najmniej @chars znaków!", + "description": "Komunikat informujący, że w tekście jest za mało znaków. Zmienna @chars zostanie zastąpiona odpowiednim numerem." + }, + { + "label": "Zapisz rozwiązanie", + "description": "Komunikat informujący, że tekst został zapisany", + "default": "Zapisano" + }, + { + "label": "Twój wynik (nie wyświetla się)", + "description": "Wyświetlaj tekst dla niesłyszących (dostępność). Zmienna @score jest zastępowana przez zdobyte punkty. Zmienna @total jest zastępowana przez maksymalną możliwą liczbę punktów.", + "default": "Masz @score z @total punktów" + }, + { + "label": "Komunikat nawigacji (nie wyświetla się)", + "description": "Wyświetlaj tekst dla niesłyszących (dostępność)", + "default": "Przykładowe rozwiązanie zostało dodane poniżej pola wprowadzania tekstu. Przejdź." + }, + { + "label": "Opis przycisku \"Sprawdź\" (dostępność)", + "default": "Sprawdź odpowiedź." + }, + { + "label": "Opis przycisku \"Pokaż rozwiązanie\" (dostępność)", + "default": "Pokaż rozwiązanie. Wyświetli przykładowe rozwiązanie." + }, + { + "label": "Opis przycisku \"Powtórz\" (dostępność)", + "default": "Powtórz zadanie. Możesz poprawić swoją odpowiedź, jeśli zadanie to umożliwia." + } + ] +} diff --git a/resources/lang/pl/H5P.Image-1.1/pl.json b/resources/lang/pl/H5P.Image/1.1/pl.json similarity index 100% rename from resources/lang/pl/H5P.Image-1.1/pl.json rename to resources/lang/pl/H5P.Image/1.1/pl.json diff --git a/resources/lang/pl/H5P.Image/pl.json b/resources/lang/pl/H5P.Image/pl.json new file mode 100644 index 00000000..5f6b7666 --- /dev/null +++ b/resources/lang/pl/H5P.Image/pl.json @@ -0,0 +1,23 @@ +{ + "semantics": [ + { + "label": "Obraz" + }, + { + "label": "Obraz dekoracyjny", + "description": "Włącz tę opcję, jeśli obraz jest czysto dekoracyjny i nie dodaje żadnych informacji do treści na stronie. Zostanie zignorowany przez czytniki ekranu i nie otrzyma żadnego alternatywnego tekstu." + }, + { + "label": "Tekst alternatywny", + "description": "Wymagany. Ten tekst zostanie wyświetlony, jeśli przeglądarka nie zdoła załadować obrazu. Potrzebny także dla czytników ekranu." + }, + { + "label": "Tekst w dymku", + "description": "Opcjonalna. Ten tekst zostanie wyświetlony, gdy użytkownik najedzie kursorem na obraz." + }, + { + "label": "Nazwa obrazu", + "default": "Obraz" + } + ] +} diff --git a/resources/lang/pl/H5P.ImageHotspotQuestion-1.8/pl.json b/resources/lang/pl/H5P.ImageHotspotQuestion/1.8/pl.json similarity index 100% rename from resources/lang/pl/H5P.ImageHotspotQuestion-1.8/pl.json rename to resources/lang/pl/H5P.ImageHotspotQuestion/1.8/pl.json diff --git a/resources/lang/pl/H5P.ImageHotspotQuestion/pl.json b/resources/lang/pl/H5P.ImageHotspotQuestion/pl.json new file mode 100644 index 00000000..1234881c --- /dev/null +++ b/resources/lang/pl/H5P.ImageHotspotQuestion/pl.json @@ -0,0 +1,80 @@ +{ + "semantics": [ + { + "label": "Edytor Image Hotspot Question", + "fields": [ + { + "label": "Zdjęcie w tle", + "fields": [ + { + "label": "Zdjęcie w tle", + "description": "Wybierz obraz, który ma być używany jako tło dla pytania." + } + ] + }, + { + "label": "Hotspoty", + "description": "Przeciągnij i upuść ikonę z paska narzędzi, aby utworzyć nowy punkt. Kliknij dwukrotnie, aby edytować istniejący punkt. Przeciągnij hotspot, aby go przenieść. Przeciągnij ikonę zmiany rozmiaru w prawym dolnym rogu, aby zmienić rozmiar.", + "fields": [ + { + "label": "Opis zadania", + "description": "Instrukcje dla użytkownika." + }, + { + "label": "Hotspot", + "entity": "Hotspot", + "field": { + "label": "Hotspot", + "fields": [ + { + "label": "Ustawienia użytkownika", + "fields": [ + { + "label": "Odpowiedź poprawna", + "description": "Może istnieć wiele poprawnych hotspotów. Jednak użytkownik otrzymuje informację zwrotną o poprawności/niepoprawności po pierwszym kliknięciu." + }, + { + "label": "Informacja zwrotna" + } + ] + }, + { + "label": "computedSettings" + } + ] + } + }, + { + "label": "Informacja zwrotna, jeśli użytkownik wybierze pusty hotspot spot:", + "placeholder": "Nie znalazłeś żadnych hotspotów, spróbuj ponownie!" + }, + { + "label": "Pokaż opinię w dymku" + }, + { + "label": "Lokalizacja", + "fields": [ + { + "label": "Tekst przycisku \"Ponów\"", + "default": "Ponów" + }, + { + "label": "Tekst przycisku \"Zamknij\"", + "default": "Zamknij" + } + ] + } + ] + } + ] + }, + { + "label": "Tekstowa reprezentacja wyników dla technologii wspomagających niewidomych.", + "default": "Otrzymałeś :num z of :total punktów" + }, + { + "label": "Etykieta przycisku \"Ponów\" dla technologii wspomagających niewidomych.", + "default": "Ponów próbę wykonania zadania. Zresetuj wszystkie odpowiedzi i rozpocznij zadanie od nowa." + } + ] +} diff --git a/resources/lang/pl/H5P.ImageHotspots-1.10/pl.json b/resources/lang/pl/H5P.ImageHotspots/1.10/pl.json similarity index 100% rename from resources/lang/pl/H5P.ImageHotspots-1.10/pl.json rename to resources/lang/pl/H5P.ImageHotspots/1.10/pl.json diff --git a/resources/lang/pl/H5P.ImageHotspots/pl.json b/resources/lang/pl/H5P.ImageHotspots/pl.json new file mode 100644 index 00000000..86f423dc --- /dev/null +++ b/resources/lang/pl/H5P.ImageHotspots/pl.json @@ -0,0 +1,94 @@ +{ + "semantics": [ + { + "label": "Zdjęcie w tle", + "description": "Zdjęcie, które jest pokazywane w tle" + }, + { + "label": "Tekst alternatywny dla zdjęcia w tle", + "description": "Gdy przeglądarka nie będzie mogła załadować zdjęcia, ten tekst zostanie wyświetlony zamiast niego." + }, + { + "label": "Ikona znacznika", + "options": [ + { + "label": "Dostępne ikony" + }, + { + "label": "Wgrane zdjęcie" + } + ] + }, + { + "label": "Dostępne ikony", + "description": "Użyj jednej z dostępnych ikon dla znacznika.", + "options": [ + { + "label": "Plus" + }, + { + "label": "Minus" + }, + { + "label": "Czas" + }, + { + "label": "Potwierdzenie" + }, + { + "label": "Znak zapytania" + }, + { + "label": "Informacje" + }, + { + "label": "Wykrzynik" + } + ] + }, + { + "label": "Wgrane zdjęcie", + "description": "Użyj własnego obrazu jako ikony znacznika.
Zalecane jest zdjęcie w rozdzielczości 75 na 75 pikseli." + }, + { + "label": "Kolor znacznika", + "description": "Kolor, który będą mieć wszystkie znaczniki" + }, + { + "entity": "znacznik", + "label": "Znaczniki", + "field": { + "label": "Znacznik", + "fields": [ + { + "label": "Pozycja znacznika", + "description": "Kliknij na zdjęcie aby dodać znacznik" + }, + { + "label": "Pokryj całe zdjęcie w tle", + "description": "Kiedy użytkownik kliknie na znacznik, popup pokryje całe zdjęcie w tle." + }, + { + "label": "Nagłówek", + "description": "Opcjonalny nagłówek dla popupu" + }, + { + "label": "Zawartość popupu.", + "field": { + "label": "Zawartość" + } + } + ] + } + }, + { + "label": "Etykieta znacznika dla technologii wspomagających niewidomych", + "default": "Znacznik #num", + "description": "Pomoże ogłosić, do którego znacznika przeszedł użytkownik oraz, który popup został właśnie otwarty" + }, + { + "label": "Etykieta przycisku dla technologii wspomagających niewidomych", + "default": "Zamknij" + } + ] +} diff --git a/resources/lang/pl/H5P.ImageJuxtaposition-1.4/pl.json b/resources/lang/pl/H5P.ImageJuxtaposition/1.4/pl.json similarity index 100% rename from resources/lang/pl/H5P.ImageJuxtaposition-1.4/pl.json rename to resources/lang/pl/H5P.ImageJuxtaposition/1.4/pl.json diff --git a/resources/lang/pl/H5P.ImageJuxtaposition/pl.json b/resources/lang/pl/H5P.ImageJuxtaposition/pl.json new file mode 100644 index 00000000..d014a08c --- /dev/null +++ b/resources/lang/pl/H5P.ImageJuxtaposition/pl.json @@ -0,0 +1,60 @@ +{ + "semantics": [ + { + "label": "Tytuł", + "placeholder": "Tutaj możesz dodać opcjonalny nagłówek.", + "description": "Nagłówek będzie wyświetlany pod/nad obrazem" + }, + { + "label": "Pierwszy obraz", + "fields": [ + { + "label": "Pierwszy obraz", + "description": "Pierwsze zdjęcie. Upewnij się, że ma ten sam rozmiar co drugie." + }, + { + "label": "Podpis pierwszego zdjęcia", + "description": "Tekst wyświetlany nad obrazem" + } + ] + }, + { + "label": "Drugi obraz", + "fields": [ + { + "label": "Drugi obraz", + "description": "Drugie zdjęcie. Upewnij się, że ma ten sam rozmiar co pierwsze." + }, + { + "label": "Podpis drugiego zdjęcia", + "description": "Tekst wyświetlany nad pierwszym obrazem" + } + ] + }, + { + "label": "Ustawienia zachowania.", + "description": "Niektóre szczegóły można ustawić tutaj.", + "fields": [ + { + "label": "Pozycja początkowa suwaka w %", + "description": "Ustawia pozycję początkową suwaka" + }, + { + "label": "Kierunek suwaka", + "description": "Poziomo na lewo i prawo, pionowo na górę i na dół", + "options": [ + { + "label": "Poziomy" + }, + { + "label": "Pionowy" + } + ] + }, + { + "label": "Kolor suwaka" + } + ] + } + ] +} diff --git a/resources/lang/pl/H5P.ImageMultipleHotspotQuestion-1.0/pl.json b/resources/lang/pl/H5P.ImageMultipleHotspotQuestion/1.0/pl.json similarity index 100% rename from resources/lang/pl/H5P.ImageMultipleHotspotQuestion-1.0/pl.json rename to resources/lang/pl/H5P.ImageMultipleHotspotQuestion/1.0/pl.json diff --git a/resources/lang/pl/H5P.ImageMultipleHotspotQuestion/pl.json b/resources/lang/pl/H5P.ImageMultipleHotspotQuestion/pl.json new file mode 100644 index 00000000..c4ff53c1 --- /dev/null +++ b/resources/lang/pl/H5P.ImageMultipleHotspotQuestion/pl.json @@ -0,0 +1,91 @@ +{ + "semantics": [ + { + "label": "Edytor Image Multiple Hotspot Question", + "fields": [ + { + "label": "Zdjęcie w tle", + "fields": [ + { + "label": "Tytuł pytania", + "default": "Pytanie dotyczące hotspotu", + "description": "Używane w podsumowaniach, statystykach itp." + }, + { + "label": "Zdjęcie w tle", + "description": "Wybierz obraz, który ma być używany jako tło dla pytania." + } + ] + }, + { + "label": "Hotspoty", + "description": "Wybierz odpowiednią ikonę dla hotspotu, skonfiguruj ją, a następnie przeciągnij na obraz, gdzie możesz zmienić jej rozmiar lub położenie", + "fields": [ + { + "label": "Opis zadania", + "description": "Instrukcje dla użytkownika." + }, + { + "label": "Nazwa Hotspotu", + "description": "Podaj, co użytkownik próbuje znaleźć, tj. zagrożenia, obiekty, błędy (dane tę będą wyświetlane w informacji zwrotnej)." + }, + { + "label": "Liczba prawidłowych hotspotów, które należy znaleźć do zaliczenia zadania", + "description": "Jeśli pozostawisz to pole puste, zostanie domyślnie przypisana liczba utworzonych hotspotów." + }, + { + "label": "Hotspot", + "entity": "Hotspot", + "field": { + "label": "Hotspot", + "fields": [ + { + "label": "Ustawienia użytkownika", + "fields": [ + { + "label": "Odpowiedź poprawna", + "description": "Może istnieć wiele poprawnych hotspotów. Jednak użytkownik otrzymuje informację zwrotną o poprawności/niepoprawności po pierwszym kliknięciu. Informacja zwrotna będzie wyświetlana w postaci - (Tekst wprowadzona poniżej) (Liczba znalezionych hotspotów) z (Wymagane poprawne hotspoty) (Nazwa hotspotu wprowadzona powyżej)." + }, + { + "label": "Informacja zwrotna", + "placeholder": "Znalazłeś prawidłową odpowiedź" + } + ] + }, + { + "label": "computedSettings", + "fields": [ + { + "label": "x" + }, + { + "label": "y" + }, + { + "label": "szerokość" + }, + { + "label": "wysokość" + }, + { + "label": "figure" + } + ] + } + ] + } + }, + { + "label": "Informacja zwrotna, jeśli użytkownik wybierze pusty spot:", + "placeholder": "Nie znalazłeś żadnych hotspotów, spróbuj ponownie!" + }, + { + "label": "Informacja zwrotna, jeśli użytkownik wybierze już znaleziony hotspot:", + "placeholder": "Ten punkt już znalazłeś!" + } + ] + } + ] + } + ] +} diff --git a/resources/lang/pl/H5P.InteractiveVideo-1.24/pl.json b/resources/lang/pl/H5P.InteractiveVideo/1.24/pl.json similarity index 100% rename from resources/lang/pl/H5P.InteractiveVideo-1.24/pl.json rename to resources/lang/pl/H5P.InteractiveVideo/1.24/pl.json diff --git a/resources/lang/pl/H5P.InteractiveVideo/pl.json b/resources/lang/pl/H5P.InteractiveVideo/pl.json new file mode 100644 index 00000000..0b5a8489 --- /dev/null +++ b/resources/lang/pl/H5P.InteractiveVideo/pl.json @@ -0,0 +1,487 @@ +{ + "semantics": [ + { + "label": "Edytor interaktywnego wideo", + "fields": [ + { + "label": "Załaduj lub podepnij wideo", + "fields": [ + { + "label": "Dodaj wideo", + "description": "Kliknij przycisk poniżej, aby dodać wideo, które chcesz zmienić w wersję interaktywną. Możesz wkleić link lub załadować plik wideo z Twojego dysku. Możesz dodać kilka wersji tego wideo w różnej jakości i rozdzielczości. Zalecamy użycie formatów MP4 i WEBM, które są kompatybilne z większością przeglądarek." + }, + { + "label": "Ustawienia ekranu startowego (niedostępne w przypadku YouTube)", + "fields": [ + { + "label": "Tytuł interaktywnego wideo", + "default": "Interaktywne wideo", + "description": "Używany w podsumowaniu, statystykach, itd." + }, + { + "label": "Nie pokazuj tytułu na ekranie startowym" + }, + { + "label": "Krótki opis (opcjonalnie)", + "description": "Opcjonalne. Wyświetla krótki opis wideo na ekranie startowym. Nie działa w przypadku wideo z YouTube." + }, + { + "label": "Okładka", + "description": "Obraz wyświetlany przed rozpoczęciem odtwarzania wideo. Nie działa w przypadku wideo z YouTube." + } + ] + }, + { + "label": "Listy dialogowe (niedostępne w przypadku YouTube)", + "fields": [ + { + "label": "Dostępne ścieżki dialogowe", + "entity": "Ścieżka", + "field": { + "label": "Ścieżka", + "fields": [ + { + "label": "Etykieta ścieżki", + "description": "Wpisz, jeśli zamierzasz dodać więcej niż jedną ścieżkę dialogową, ponieważ widz będzie musiał ją wybrać. Na przykład, etykieta hiszpańskiej ścieżki dialogowej może brzmieć 'Hiszpańskie napisy'.", + "default": "Napisy" + }, + { + "label": "Typ ścieżki", + "options": [ + { + "label": "Tłumaczenie" + }, + { + "label": "Oryginalna lista dialogowa" + }, + { + "label": "Opisy dla niesłyszących" + } + ] + }, + { + "label": "Język – musi być określony dla tłumaczenia", + "default": "en", + "description": "Wpisz poprawny kod języka w standardzie BCP 47. Jeśli ścieżka zawiera tłumaczenie, należy określić język." + }, + { + "label": "Plik z napisami (w formacie WebVTT)" + } + ] + } + }, + { + "label": "Domyślna ścieżka tekstowa", + "description": "Jeśli wartość jest pusta lub nie pasuje do żadnej ze ścieżek, jako domyślna zostanie użyta pierwsza z ścieżek tekstowych." + } + ] + } + ] + }, + { + "label": "Dodaj interakcje", + "fields": [ + { + "field": { + "fields": [ + { + "label": "Wyświetl czas" + }, + { + "label": "Pauzuj wideo" + }, + { + "label": "Wyświetl jako", + "description": "Zaproszenie to interakcja, którą widz musi kliknąć, aby się otworzyła. Strona to interakcja, która otwiera się automatycznie na tle wideo", + "options": [ + { + "label": "Zaproszenie" + }, + { + "label": "Strona" + } + ] + }, + { + "label": "Na małych ekranach pokazuj jako zaproszenie" + }, + { + "label": "Etykieta", + "description": "Tekst wyświetlany obok ikony zaproszenia." + }, + {}, + {}, + {}, + {}, + {}, + {}, + { + "label": "Reakcje", + "fields": [ + { + "label": "Reakcja na wszystkie poprawne", + "fields": [ + { + "label": "Przeskocz do", + "description": "Wpisz kod czasowy w formacie M:SS" + }, + { + "label": "Pozwól widzowi anulować przeskok i kontynuować" + }, + { + "label": "Komentarz" + }, + { + "label": "Etykieta dla przycisku Przeskocz" + } + ] + }, + { + "label": "Reakcja na błąd", + "fields": [ + { + "label": "Przeskocz do", + "description": "Wpisz kod czasowy w formacie M:SS" + }, + { + "label": "Pozwól widzowi anulować przeskok i kontynuować" + }, + { + "label": "Komentarz" + }, + { + "label": "Etykieta dla przycisku Przeskocz" + } + ] + }, + { + "label": "Wymagaj w pełni poprawnie wykonanego zadania przed kontynuacją", + "description": "Najlepszy efekt uzyskasz używając tej opcji razem z opcją 'Zapobiegaj przeskakiwaniu do przodu'." + } + ] + }, + { + "label": "Wygląd", + "fields": [ + { + "label": "Kolor tła", + "default": "rgb(255, 255, 255)" + }, + { + "label": "Cień ramki", + "description": "Dodaje nieznaczny cień wokół okna interakcji. Wyłącz jeśli chcesz, by interakcje były całkowicie przeźroczyste." + } + ] + }, + { + "label": "Odnośnik", + "fields": [ + { + "label": "Typ", + "options": [ + { + "label": "Kod czasowy" + }, + { + "label": "Link do innej strony (URL)" + } + ] + }, + { + "label": "Przeskocz do", + "description": "Moment w wideo, do którego widz zostanie przeniesiony po kliknięciu zaproszenia. Wpisz kod czasowy w formacie M:SS." + }, + { + "label": "URL", + "fields": [ + { + "label": "Protokół", + "options": [ + { + "label": "http://" + }, + { + "label": "https://" + }, + { + "label": "(względna ścieżka na serwerze)" + }, + { + "label": "inny" + } + ] + }, + { + "label": "URL" + } + ] + }, + { + "label": "Wyeksponowanie", + "description": "Pokaż, że to interakcja, dodając do niej ikonę i ramkę." + } + ] + } + ] + } + } + ] + }, + { + "label": "Zadanie końcowe", + "fields": [ + {}, + { + "label": "Wyświetl przez", + "description": "Liczba sekund przed końcem wideo." + } + ] + } + ] + }, + { + "label": "Zachowanie", + "fields": [ + { + "label": "Czas startu", + "description": "Moment, od którego ma zacząć się odtwarzanie. Wpisz kod czasowy w formacie M:SS" + }, + { + "label": "Auto-start", + "description": "Automatycznie zacznij odtwarzanie" + }, + { + "label": "Pętla", + "description": "Odtwarzaj wideo w pętli: gdy dojdzie do końca, zacznie się znów od początku" + }, + { + "label": "Przycisk 'Pokaż rozwiązanie' (globalny)", + "description": "Wybierz, czy przycisk 'Pokaż rozwiązanie' ma być dostępny we wszystkich zadaniach, niedostępny we wszystkich zadaniach, czy dostępny lub niedostępny zależnie od ustawień każdego zadania.", + "options": [ + { + "label": "Zawsze dostępny" + }, + { + "label": "Zawsze niedostępny" + } + ] + }, + { + "label": "Przycisk 'Poprawka' (globalny)", + "description": "Wybierz, czy przycisk 'Poprawka' ma być dostępny we wszystkich zadaniach, niedostępny we wszystkich zadaniach, czy dostępny lub niedostępny zależnie od ustawień każdego zadania.", + "options": [ + { + "label": "Zawsze dostępny" + }, + { + "label": "Zawsze niedostępny" + } + ] + }, + { + "label": "Pokaż zakładki przy starcie", + "description": "Funkcja niedostępna w przypadku odtwarzania wideo z YouTube na iPadzie." + }, + { + "label": "Pokaż przycisk cofania o 10 sekund" + }, + { + "label": "Zapobiegaj przeskakiwaniu do przodu", + "description": "Włączenie tej opcji uniemożliwi widzowi używanie paska postępu do zmiany odtwarzanego fragmentu wideo." + }, + { + "label": "Wyłącz dźwięk", + "description": "Włączenie tej opcji wyłączy ścieżkę dźwiękową i uniemożliwi jej włączenie." + } + ] + }, + { + "label": "Opisy przycisków", + "fields": [ + { + "label": "Tytuł interakcji", + "default": "Interakcja" + }, + { + "label": "Przycisk odtwarzania", + "default": "Odtwórz" + }, + { + "label": "Przycisk pauzy", + "default": "Pauzuj" + }, + { + "label": "Przycisk wyciszenia", + "default": "Mute, currently unmuted" + }, + { + "label": "Przycisk odgłaśniania", + "default": "Unmute, currently muted" + }, + { + "label": "Przycisk wyboru jakości", + "default": "Jakość wideo" + }, + { + "label": "Przycisk ścieżek dialogowych", + "default": "Napisy" + }, + { + "label": "Przycisk zamykania", + "default": "Zamknij" + }, + { + "label": "Przycisk pełnego ekranu", + "default": "Pełny ekran" + }, + { + "label": "Przycisk wyjścia z pełnego ekranu", + "default": "Wróć do okna" + }, + { + "label": "Tytuł podsumowania", + "default": "Podsumowanie" + }, + { + "label": "Przycisk zakładek", + "default": "Zakładki" + }, + { + "label": "Przycisk wysyłania wyników", + "default": "Wyślij wyniki" + }, + { + "label": "Przycisk zgody na przeskok (domyślny)", + "default": "Przeskocz" + }, + { + "label": "Przycisk kontynuowania bez przeskoku", + "default": "Kontynuuj" + }, + { + "label": "Domyślna etykieta dla opcji odtwarzacza", + "default": "Więcej opcji odtwarzacza" + }, + { + "label": "Przycisk prędkości odtwarzania", + "default": "Prędkość odtwarzania" + }, + { + "label": "Przycisk cofania o 10 sekund", + "default": "Cofnij o 10 sekund" + }, + { + "label": "Komunikat o wyłączeniu paska postępu", + "default": "Funkcja jest wyłączona" + }, + { + "label": "Komunikat o wyłączeniu ścieżki dźwiękowej", + "default": "Dźwięk jest wyłączony" + }, + { + "label": "Komunikat o wymogu pełnej poprawności zadania", + "default": "Odpowiedz na wszystkie pytania, aby kontynuować." + }, + { + "label": "Przycisk wstecz", + "default": "Wstecz" + }, + { + "label": "Czas: godziny", + "default": "godzin" + }, + { + "label": "Czas: minuty", + "default": "minut" + }, + { + "label": "Czas: sekundy", + "default": "sekund" + }, + { + "label": "Bieżący czas", + "default": "Bieżący czas:" + }, + { + "label": "Łączny czas", + "default": "Łączny czas:" + }, + { + "label": "Komunikat o pojawieniu się pojedynczej interakcji", + "default": "Pojawiło się zadanie:" + }, + { + "label": "Komunikat o pojawieniu się wielu interakcji", + "default": "Pojawiły się zadania." + }, + { + "label": "Komunikat o zatrzymaniu wideo", + "default": "Odtwarzanie zatrzymane" + }, + { + "label": "Etykieta zawartości", + "default": "Zawartość" + }, + { + "label": "Komunikat o wynikach (@answered zostanie zamienione na liczbę rozwiązanych zadań)", + "default": "@answered zadań zaliczonych" + }, + { + "label": "Ekran wyników: tytuł", + "default": "@answered zadań zaliczonych", + "description": "@answered zostanie zamienione na liczbę rozwiązanych zadań." + }, + { + "label": "Prześlij informacje, gdy przycisk przesyłania jest wyłączony", + "default": "Odpowiedziałeś na pytania @answered", + "description": "@answered zostanie zamienione na liczbę rozwiązanych zadań" + }, + { + "label": "Ekran wyników: podsumowanie", + "default": "@answered zaliczonych zadań. Kliknij przycisk, aby przesłać wyniki.", + "description": "@answered zostanie zamienione na liczbę rozwiązanych zadań." + }, + { + "label": "Ekran wyników: komunikat o braku odpowiedzi", + "default": "Żadne z zadań nie zostało rozwiązane." + }, + { + "label": "Ekran wyników: wyjaśnienie komunikatu o braku odpowiedzi", + "default": "Rozwiąż przynajmniej jedno zadanie, zanim wyślesz wyniki." + }, + { + "label": "Ekran wyników: przycisk wysyłania", + "default": "Wyślij wyniki" + }, + { + "label": "Ekran wyników: potwierdzenie", + "default": "Twoje wyniki zostały wysłane!" + }, + { + "label": "Ekran wyników: tytuł wiersza tabeli – odpowiedzi", + "default": "Zaliczone zadania" + }, + { + "label": "Ekran wyników: tytuł wiersza tabeli – wynik", + "default": "Wynik" + }, + { + "label": "Ekran wyników: wynik zadania", + "default": "zaliczone" + }, + { + "label": "Prześlij podsumowanie, w tym wynik (for readspeakers)", + "default": "Otrzymałeś @score z @total punktów za @question, które pojawiło się po @minutes minutach i @seconds sekundach." + }, + { + "label": "Prześlij podsumowanie, bez wyniku (for readspeakers)", + "default": "Odpowiedziałeś na @question, które pojawiło się po @minutes minutach i @seconds sekundach." + }, + { + "label": "Pasek postępu wideo", + "default": "Postęp wideo" + } + ] + } + ] +} diff --git a/resources/lang/pl/H5P.MultiChoice-1.16/pl.json b/resources/lang/pl/H5P.MultiChoice/1.16/pl.json similarity index 100% rename from resources/lang/pl/H5P.MultiChoice-1.16/pl.json rename to resources/lang/pl/H5P.MultiChoice/1.16/pl.json diff --git a/resources/lang/pl/H5P.MultiChoice/pl.json b/resources/lang/pl/H5P.MultiChoice/pl.json new file mode 100644 index 00000000..c3b0eb80 --- /dev/null +++ b/resources/lang/pl/H5P.MultiChoice/pl.json @@ -0,0 +1,258 @@ +{ + "semantics": [ + { + "label": "Media", + "fields": [ + { + "label": "Typ", + "description": "Opcjonalne zdjęcie lub wideo ponad treścią pytania." + }, + { + "label": "Zablokuj możliwość powiększania zdjęcia" + } + ] + }, + { + "label": "Pytanie" + }, + { + "label": "Dostępne odpowiedzi", + "entity": "Odpowiedź", + "field": { + "label": "Odpowiedź", + "fields": [ + { + "label": "Tekst" + }, + { + "label": "Odpowiedź poprawna" + }, + { + "label": "Wskazówki", + "fields": [ + { + "label": "Treść wskazówki", + "description": "Wskazówki dla użytkownika. Wskazówki pojawią się przed sprawdzeniem odpowiedzi przez użytkownika." + }, + { + "label": "Komunikat wyświetlany, gdy użytkownik zaznaczy tę odpowiedź", + "description": "Komunikat pojawi się pod odpowiedzią, po wybraniu akcji \"Sprawdź\", jeżeli dana odpowiedź była zaznaczona." + }, + { + "label": "Komunikat wyświetlany, gdy użytkownik nie zaznaczy tej odpowiedzi", + "description": "Komunikat pojawi się pod odpowiedzią po wybraniu akcji \"Sprawdź\", jeżeli dana odpowiedź nie była zaznaczona." + } + ] + } + ] + } + }, + { + "label": "Podsumowanie odpowiedzi", + "fields": [ + { + "widgets": [ + { + "label": "Domyślne" + } + ], + "label": "Określ własne kryteria oceny dla wybranych zakresów poprawnych odpowiedzi", + "description": "Przykład: 0-20% Słaby wynik, 21-91% Przeciętny wynik, 91-100% Bardzo dobry wynik!", + "entity": "Zakres", + "field": { + "fields": [ + { + "label": "Zakres" + }, + {}, + { + "label": "Komunikat dla danego zakresu", + "placeholder": "Wprowadź komunikat" + } + ] + } + } + ] + }, + { + "label": "Tłumaczenie interfejsu użytkownika dla obiektu typu multichoice", + "fields": [ + { + "label": "Etykieta przycisku Sprawdź", + "default": "Sprawdź" + }, + { + "label": "Submit answer button label", + "default": "Submit" + }, + { + "label": "Etykieta przycisku Pokaż odpowiedź", + "default": "Pokaż odpowiedź" + }, + { + "label": "Etykieta przycisku Powtórz", + "default": "Powtórz" + }, + { + "label": "Podpowiedź", + "default": "Pokaż podpowiedź" + }, + { + "label": "Tekstowa reprezentacja paska wyników dla osób korzystających z technologii dla niesłyszących", + "description": "Dostępne zmienne to :num i :total", + "default": "Otrzymałeś :num z :total punktów" + }, + { + "label": "Dodatkowe wskazówki (niewyświetlane)", + "default": "Dostępne są dodatkowe wskazówki", + "description": "Tekst na potrzeby systemów czytających tekst (readspeakers)" + }, + { + "label": "Podsumowanie odpowiedzi (niewyświetlane)", + "default": "Dostępne jest podsumowanie odpowiedzi", + "description": "Tekst na potrzeby systemów czytających tekst (readspeakers)" + }, + { + "label": "Przeczytaj podsumowanie odpowiedzi (niewyświetlane)", + "default": "Przeczytaj podsumowanie odpowiedzi", + "description": "Tekst na potrzeby systemów czytających tekst (readspeakers)" + }, + { + "label": "Odpowiedź niepoprawna (niewyświetlane)", + "default": "Odpowiedź niepoprawna", + "description": "Tekst na potrzeby systemów czytających tekst (readspeakers)" + }, + { + "label": "Odpowiedź poprawna (niewyświetlane)", + "default": "Odpowiedź poprawna", + "description": "Tekst na potrzeby systemów czytających tekst (readspeakers)" + }, + { + "label": "Odpowiedź powinna być wybrana", + "default": "Odpowiedź powinna być wybrana" + }, + { + "label": "Odpowiedź nie powinna być wybrana", + "default": "Odpowiedź nie powinna być wybrana" + }, + { + "label": "Komunikat w przypadku \"Odpowiedź wymagana\"", + "default": "Podaj odpowiedź przed sprawdzeniem rozwiązania" + }, + { + "label": "Opis przycisku \"Sprawdź\" dla technologii wspomagających niewidomych", + "default": "Sprawdza odpowiedzi. Odpowiedzi będą oznaczone jako poprawne, niepoprawne lub jako puste." + }, + { + "label": "Opis przycisku \"Pokaż rozwiązanie\" dla technologii wspomagających niewidomych", + "default": "Pokaż odpowiedzi. Zadanie zostanie oznaczone jako poprawnie rozwiązane." + }, + { + "label": "Opis przycisku \"Ponów\" dla technologii wspomagających niewidomych", + "default": "Ponów zadanie. Zresetuj wszystkie odpowiedzi i rozpocznij zadanie od nowa." + } + ] + }, + { + "label": "Ustawienia zachowania", + "description": "Poniższe opcje pozwalają określić zachowanie się obiektu.", + "fields": [ + { + "label": "Pokaż przycisk \"Powtórz\"" + }, + { + "label": "Pokaż przycisk \"Pokaż rozwiązanie\"" + }, + { + "label": "Pokaż przycisk \"Sprawdź\"" + }, + { + "label": "Typ pytania", + "description": "Wybierz wygląd i sposób działania dla pytania.", + "options": [ + { + "label": "Automatyczny" + }, + { + "label": "Wielokrotnego wyboru (Checkboxes)" + }, + { + "label": "Jedna poprawna odpowiedź (Radio Buttons)" + } + ] + }, + { + "label": "Przyznaj jeden punkt za całe zadanie", + "description": "Przyznaj jeden punkt za wiele poprawnych odpowiedzi. Ta opcja nie będzie miała zostosowania w przypadku pytań typu \"Jedna poprawna odpowiedź\"." + }, + { + "label": "Losowa kolejność odpowiedzi", + "description": "Pokazuj dostępne odpowiedzi w losowej kolejności." + }, + { + "label": "Wymagaj podania odpowiedzi przed pokazaniem poprawnego rozwiązania" + }, + { + "label": "Pokazuj prośbę o potwierdzenie akcji \"Sprawdź\"" + }, + { + "label": "Pokazuj prośbę o potwierdzenie akcji \"Powtórz\"" + }, + { + "label": "Sprawdzaj odpowiedzi automatycznie", + "description": "Użycie tej opcji zakłóci działanie mechanizmów dostępności dla osób z ograniczeniami. Upewnij się, że na pewno znasz konsekwencje użycia tej opcji." + }, + { + "label": "Procent wymagany do zaliczenia", + "description": "Ta opcja bardzo często nie będzie miała żadnego efektu. Jest to minimalny procent poprawnych odpowiedzi wymagany, aby przyznać jeden punkt, w przypadku gdy dla danego pytania wybrana jest opcja Przyznaj jeden punkt za całe zadanie oraz w celu przekazania danych result.success poprzez xAPI." + }, + { + "label": "Pokaż przyznane punkty", + "description": "Pokaż punkty przyznane za każdą z odpowiedzi." + } + ] + }, + { + "label": "Tekst potwierdzenia zakończenia", + "fields": [ + { + "label": "Tekst nagłówka", + "default": "Zakończyć?" + }, + { + "label": "Tekst komunikatu", + "default": "Czy na pewno chcesz zakończyć?" + }, + { + "label": "Etykieta przycisku Anuluj", + "default": "Anuluj" + }, + { + "label": "Etykieta przycisku Zakończ", + "default": "Zakończ" + } + ] + }, + { + "label": "Tekst potwierdzenia powtórzenia", + "fields": [ + { + "label": "Tekst nagłówka", + "default": "Powtórzyć?" + }, + { + "label": "Tekst komunikatu", + "default": "Czy na pewno chcesz powtórzyć?" + }, + { + "label": "Etykieta przycisku Anuluj", + "default": "Anuluj" + }, + { + "label": "Etykieta przycisku Potwierdź", + "default": "Zatwierdź" + } + ] + } + ] +} diff --git a/resources/lang/pl/H5P.SingleChoiceSet-1.11/pl.json b/resources/lang/pl/H5P.SingleChoiceSet/1.11/pl.json similarity index 100% rename from resources/lang/pl/H5P.SingleChoiceSet-1.11/pl.json rename to resources/lang/pl/H5P.SingleChoiceSet/1.11/pl.json diff --git a/resources/lang/pl/H5P.SingleChoiceSet/pl.json b/resources/lang/pl/H5P.SingleChoiceSet/pl.json new file mode 100644 index 00000000..51457331 --- /dev/null +++ b/resources/lang/pl/H5P.SingleChoiceSet/pl.json @@ -0,0 +1,147 @@ +{ + "semantics": [ + { + "label": "Lista pytań", + "entity": "pytanie", + "widgets": [ + { + "label": "Domyślny" + }, + { + "label": "Tekstowy" + } + ], + "field": { + "label": "Pytania i odpowiedzi", + "fields": [ + { + "label": "Pytanie" + }, + { + "label": "Odpowiedzi - pierwsza odpowiedź jest prawidłowa.", + "entity": "odpowiedź", + "field": { + "label": "Odpowiedź" + } + } + ] + } + }, + { + "label": "Ogólna opinia", + "fields": [ + { + "widgets": [ + { + "label": "Domyślny" + } + ], + "label": "Ustawienie informacji zwrotnej dla poszczególnych obszarów punktowych", + "description": "Kliknij przycisk \"Dodaj zakres\", aby dodać odpowiedni zakres. Przykład: 0-20% Słaba ocena, 21-91% Średnia ocena, 91-100% Świetna ocena!", + "entity": "Obszar", + "field": { + "fields": [ + { + "label": "Zakres punktów" + }, + {}, + { + "label": "Informacja zwrotna dla danego zakresu punktów", + "placeholder": "Wprowadź informacje zwrotne" + } + ] + } + } + ] + }, + { + "label": "Ustawienia zachowania", + "fields": [ + { + "label": "Kontynuuj automatycznie", + "description": "Automatycznie przejdź do następnego pytania po wybraniu odpowiedzi" + }, + { + "label": "Limit czasu na poprawne odpowiedzi", + "description": "Wartość w milisekundach" + }, + { + "label": "Limit czasu przy błędnych odpowiedziach", + "description": "Wartość w milisekundach" + }, + { + "label": "Efekty dźwiękowe" + }, + { + "label": "Przycisk \"Ponów\"" + }, + { + "label": "Przycisk \"Pokaż rozwiązanie\"" + }, + { + "label": "Procent zaliczenia", + "description": "Procent całkowitego wyniku wymaganego do zaliczenia quizu." + } + ] + }, + { + "label": "Tłumaczenia - Single-Choice-Set", + "fields": [ + { + "label": "Etykieta dla przycisku \"Dalej\"", + "default": "Następne pytanie" + }, + { + "label": "Etykieta dla przycisku \"Pokaż odpowiedzi\"", + "default": "Pokaż odpowiedzi" + }, + { + "label": "Etykieta dla przycisku \"Ponów\"", + "default": "Ponów" + }, + { + "label": "Tytuł w widoku odpowiedzi", + "default": "Lista odpowiedzi" + }, + { + "label": "Tekst audio dla poprawnej odpowiedzi", + "default": "Brawo!" + }, + { + "label": "Tekst audio dla niepoprawnej odpowiedzi", + "default": "Niepoprawnie!" + }, + { + "label": "Etykieta dla przycisku \"wycisz\", aby wyłączyć dźwięk", + "default": "Wyciszenie dźwięku zwrotnego" + }, + { + "label": "Etykieta dla przycisku \"Zamknij\"", + "default": "Zamknij" + }, + { + "label": "Tekst numeru slajdu", + "description": "Pokazuje bieżący slajd i całkowitą liczbę slajdów, zmienne to :num i :total", + "default": "Slajd :num z :total" + }, + { + "label": "Tekstowa reprezentacja paska wyników dla osób korzystających z technologii dla niesłyszących", + "default": "Otrzymałeś :num z :total punktów" + }, + { + "label": "Etykieta numeru pytania na liście rozwiązań", + "description": "Pokazuje aktualny indeks pytania na liście, zmienne to :num", + "default": "Pytanie :num" + }, + { + "label": "Opis przycisku \"Pokaż odpowiedź\" dla technologii wspomagających niewidomych", + "default": "Pokaż odpowiedzi. Zadanie zostanie oznaczone jako poprawnie rozwiązane." + }, + { + "label": "Opis przycisku \"Ponów\" dla technologii wspomagających niewidomych", + "default": "Ponów zadanie. Zresetuj wszystkie odpowiedzi i rozpocznij zadanie od nowa." + } + ] + } + ] +} diff --git a/resources/lang/pl/H5P.SortParagraphs-0.11/pl.json b/resources/lang/pl/H5P.SortParagraphs/0.11/pl.json similarity index 100% rename from resources/lang/pl/H5P.SortParagraphs-0.11/pl.json rename to resources/lang/pl/H5P.SortParagraphs/0.11/pl.json diff --git a/resources/lang/pl/H5P.SortParagraphs/pl.json b/resources/lang/pl/H5P.SortParagraphs/pl.json new file mode 100644 index 00000000..46dc107f --- /dev/null +++ b/resources/lang/pl/H5P.SortParagraphs/pl.json @@ -0,0 +1,224 @@ +{ + "semantics": [ + { + "label": "Medium", + "fields": [ + { + "label": "Typ", + "description": "Medium, które jest opcjonalnie wyświetlane nad zadaniem." + }, + { + "label": "Wyłącz powiększanie obrazu" + } + ] + }, + { + "label": "Opis zadania", + "placeholder": "Opisz, czego oczekujesz od uczniów...", + "description": "Co twoi uczniowie powinni wiedzieć." + }, + { + "label": "Paragrafy", + "entity": "paragraf", + "field": { + "label": "Paragraf" + } + }, + { + "label": "Ogólna informacja zwrotna", + "fields": [ + { + "widgets": [ + { + "label": "Ustawienia wstępne" + } + ], + "label": "Ustawienie informacji zwrotnej dla poszczególnych obszarów punktowych", + "description": "Kliknij przycisk \"Dodaj zakres\", aby dodać odpowiedni zakres. Przykład: 0-20% Słaba ocena, 21-91% Średnia ocena, 91-100% Świetna ocena!", + "entity": "Obszar", + "field": { + "fields": [ + { + "label": "Zakres punktów" + }, + {}, + { + "label": "Informacja zwrotna dla danego zakresu punktów", + "placeholder": "Wprowadź informacje zwrotne" + } + ] + } + } + ] + }, + { + "label": "Ustawienia zachowania", + "description": "Opcje te określają szczegółowo sposób działania zadania.", + "fields": [ + { + "label": "Tryb oceny", + "description": "Wybierz, czy punkty są przyznawane za każdy umieszczony akapit, czy za każdy akapit umieszczony po akapicie, za którym powinien być umieszczony („według kolejności”)", + "options": [ + { + "label": "Kolejność" + }, + { + "label": "Prawidłowo umieszczony akapit" + } + ] + }, + { + "label": "Odliczenia punktów", + "description": "Wybierz, czy odjąć punkt za każdy akapit, który nie jest prawidłowo umieszczony." + }, + { + "label": "Pomijaj identyczne akapity", + "description": "Jeśli opcja jest zaznaczona, akapity z tym samym sformułowaniem są pomijane podczas sprawdzania odpowiedzi." + }, + { + "label": "Pokaż przyciski do nawigacji", + "description": "Na urządzeniach mobilnych przyciski do przenoszenia akapitów mogą poprawić nawigowanie. Możesz je wyłączyć tutaj." + }, + { + "label": "Pokaż przycisk \"Powtórz\"" + }, + { + "label": "Pokaż przycisk \"Pokaż rozwiązanie\"" + } + ] + }, + { + "label": "Oznaczenia i etykiety", + "fields": [ + { + "label": "Etykieta dla przycisku \"Sprawdź\"", + "default": "Sprawdź" + }, + { + "label": "Etykieta dla przycisku \"Wyślij\"", + "default": "Wyślij" + }, + { + "label": "Etykieta dla przycisku \"Powtórz\"", + "default": "Powtórz" + }, + { + "label": "Etykieta dla przycisku \"Pokaż rozwiązanie\"", + "default": "Pokaż rozwiązanie" + }, + { + "label": "Etykieta dla przycisku \"Do góry\"", + "default": "Do góry" + }, + { + "label": "Etykieta dla przycisku \"W dół\"", + "default": "W dół" + }, + { + "label": "Etykieta dla przycisku, który jest nieaktywny", + "default": "Nieaktywny" + } + ] + }, + { + "label": "Narzędzie wspomagające niewidomych", + "fields": [ + { + "label": "Opis przycisku \"Sprawdź\" dla technologii wspomagających niewidomych", + "default": "Sprawdź odpowiedzi. Odpowiedź jest oznaczona jako poprawna lub niepoprawna." + }, + { + "label": "Opis przycisku \"Pokaż rozwiązanie\" dla technologii wspomagających niewidomych", + "default": "Pokaż rozwiązanie. Wyświetlone zostanie prawidłowe rozwiązanie." + }, + { + "label": "Opis przycisku \"Powtórz\" dla technologii wspomagających niewidomych", + "default": "Powtórz zadanie. Resetuje wszystkie postępy i rozpoczyna zadanie od nowa." + }, + { + "label": "Twój wynik", + "description": "Zmienna @score jest zastępowana osiągniętymi punktami. Zmienna @total jest zastępowana przez maksymalny możliwy wynik.", + "default": "Udało Ci się osiągnąć @score z @total punktów" + }, + { + "label": "Opis listy", + "default": "Sortowana lista paragrafów." + }, + { + "label": "Opis listy (w trybie \"Sprawdź odpowiedź\")", + "default": "Lista z wynikami." + }, + { + "label": "Opis listy (w trybie \"Pokaż rozwiązanie\")", + "default": "Lista z rozwiązaniami." + }, + { + "label": "Paragraf", + "default": "paragraf" + }, + { + "label": "Poprawnie", + "default": "poprawnie" + }, + { + "label": "Niepoprawnie", + "default": "niepoprawnie" + }, + { + "description": "@score jest zastępowane przez 1 lub -1.", + "label": "Objaśnieni dotyczące punktacji", + "default": "@score pkt." + }, + { + "label": "Numeracja paragrafów", + "default": "@current z @total", + "description": "@current jest zastępowane bieżącym numerem paragrafu. @total jest zastępowany liczbą paragrafów." + }, + { + "label": "Aktualna pozycja na liście", + "default": "Aktualna pozycja na liście", + "description": "Następuje po \"numeracja paragrafów\"." + }, + { + "label": "Komunikat po wybraniu akapitu", + "default": "Wciśnij spację, aby ponownie posortować" + }, + { + "label": "Komunikat o zmianie pozycji paragrafu", + "default": "Naciśnij klawisze strzałek w górę lub w dół, aby zmienić pozycję, spację, aby upuścić, Esc, aby anulować" + }, + { + "label": "Wybrany do przeniesienia", + "default": "Wybrany do przeniesienia" + }, + { + "label": "Przeniesiony", + "default": "Przeniesiony" + }, + { + "label": "Odrzucone", + "default": "Odrzucone" + }, + { + "label": "Sortowanie przerwane", + "default": "Sortowanie przerwane" + }, + { + "description": "Następuje po \"Numeracja paragrafów\".", + "label": "Ostatni paragraf", + "default": "Ostatni paragraf" + }, + { + "label": "Następny paragraf", + "default": "Następny paragraf", + "description": "\"Prawda\" lub \"Fałsz\"" + }, + { + "label": "Poprawny paragraf", + "description": "Następuje po \"Numeracja paragrafów\".", + "default": "Prawidłowa pozycja paragrafu" + } + ] + } + ] +} diff --git a/resources/lang/pl/H5P.TrueFalse-1.8/pl.json b/resources/lang/pl/H5P.TrueFalse/1.8/pl.json similarity index 100% rename from resources/lang/pl/H5P.TrueFalse-1.8/pl.json rename to resources/lang/pl/H5P.TrueFalse/1.8/pl.json diff --git a/resources/lang/pl/H5P.TrueFalse/pl.json b/resources/lang/pl/H5P.TrueFalse/pl.json new file mode 100644 index 00000000..ae1d15ba --- /dev/null +++ b/resources/lang/pl/H5P.TrueFalse/pl.json @@ -0,0 +1,163 @@ +{ + "semantics": [ + { + "label": "Media", + "fields": [ + { + "label": "Typ", + "description": "Obraz do wyświetlenia nad pytaniem (opcjonalny)." + }, + { + "label": "Zablokuj powiększanie obrazu" + } + ] + }, + { + "label": "Pytanie" + }, + { + "label": "Poprawna odpowiedź", + "options": [ + { + "label": "Prawda" + }, + { + "label": "Fałsz" + } + ] + }, + { + "label": "Tłumaczenie interfejsu dla pytań Prawda/Fałsz", + "fields": [ + { + "label": "Etykieta przycisku Prawda", + "default": "Prawda" + }, + { + "label": "Etykieta przycisku Fałsz", + "default": "Fałsz" + }, + { + "label": "Podsumowanie odpowiedzi", + "default": "Masz @score z @total punktów", + "description": "Umieść w tekście zmienne @score i @total. Przykład: 'Udało Ci się zdobyć @score punktów spośród @total możliwych'" + }, + { + "label": "Etykieta przycisku \"Sprawdź\"", + "default": "Sprawdź" + }, + { + "label": "Etykieta przycisku \"Wyślij\"", + "default": "Wyślij" + }, + { + "label": "Etykieta przycisku \"Pokaż odpowiedź\"", + "default": "Pokaż odpowiedź" + }, + { + "label": "Etykieta przycisku Powtórz", + "default": "Powtórz" + }, + { + "label": "Błędna odpowiedź", + "default": "Błędna odpowiedź" + }, + { + "label": "Poprawna odpowiedź", + "default": "Poprawna odpowiedź" + }, + { + "label": "Tekstowy odpowiednik paska wyniku dla czytników ekranu", + "default": "Masz :num z :total punktów" + }, + { + "label": "Opis przycisku \"Sprawdź\" dla technologii wspomagających niewidomych", + "default": "Sprawdź odpowiedzi. Odpowiedzi będą oznaczone jako poprawne, niepoprawne lub bez odpowiedzi." + }, + { + "label": "Opis przycisku \"Pokaż odpowiedź\" dla technologii wspomagających niewidomych", + "default": "Pokaż odpowiedzi. Zadanie zostanie oznaczone jako poprawnie rozwiązane." + }, + { + "label": "Opis przycisku \"Ponów\" dla technologii wspomagających niewidomych", + "default": "Ponów zadanie. Zresetuj wszystkie odpowiedzi i rozpocznij zadanie od nowa." + } + ] + }, + { + "label": "Ustawienia zachowania", + "description": "Te opcje pozwalają określić, jak ma przebiegać zadanie.", + "fields": [ + { + "label": "Wyświetl przycisk \"Powtórz\"" + }, + { + "label": "Wyświetl przycisk \"Pokaż odpowiedź\"" + }, + { + "label": "Wyświetl przycisk \"Sprawdź\"" + }, + { + "label": "Żądaj potwierdzenia akcji \"Sprawdź\"" + }, + { + "label": "Żądaj potwierdzenia akcji \"Powtórz\"" + }, + { + "label": "Automatycznie sprawdzaj wynik po wpisaniu", + "description": "Uwaga: włączenie tej opcji utrudni korzystanie osobom niepełnosprawnym" + }, + { + "label": "Reakcja na poprawną odpowiedź", + "description": "Ten tekst zastąpi domyślny komunikat. Można użyć zmiennych @score i @total." + }, + { + "label": "Reakcja na błędną odpowiedź", + "description": "Ten tekst zastąpi domyślny komunikat. Można użyć zmiennych @score i @total." + } + ] + }, + { + "label": "Żądanie sprawdzenia wyniku", + "fields": [ + { + "label": "Nagłówek", + "default": "Sprawdzić?" + }, + { + "label": "Treść", + "default": "Czy na pewno sprawdzić swoje odpowiedzi i zakończyć to zadanie?" + }, + { + "label": "Etykieta przycisku anulowania", + "default": "Anuluj" + }, + { + "label": "Etykieta przycisku potwierdzenia", + "default": "Sprawdź" + } + ] + }, + { + "label": "Żądanie powtórzenia testu", + "fields": [ + { + "label": "Nagłówek", + "default": "Powtórzyć?" + }, + { + "label": "Treść", + "default": "Czy na pewno chcesz powtórzyć to zadanie?" + }, + { + "label": "Etykieta przycisku anulowania", + "default": "Anuluj" + }, + { + "label": "Etykieta przycisku potwierdzenia", + "default": "Powtórz" + } + ] + } + ] +} diff --git a/resources/lang/pl/H5P.Video-1.6/pl.json b/resources/lang/pl/H5P.Video/1.6/pl.json similarity index 100% rename from resources/lang/pl/H5P.Video-1.6/pl.json rename to resources/lang/pl/H5P.Video/1.6/pl.json diff --git a/resources/lang/pl/H5P.Video/pl.json b/resources/lang/pl/H5P.Video/pl.json new file mode 100644 index 00000000..6884b0d5 --- /dev/null +++ b/resources/lang/pl/H5P.Video/pl.json @@ -0,0 +1,136 @@ +{ + "semantics": [ + { + "label": "Źródła wideo", + "description": "Aby upewnić się, że wideo działa we wszystkich przeglądarkach, należy dodać pliki w formacie WebM lub MP4." + }, + { + "label": "Materiały ilustracyjne", + "fields": [ + { + "label": "Plakat" + }, + { + "label": "Dopasuj rozmiar odtwarzacz wideo, aby wykorzystać całą dostępną przestrzeń", + "description": "Jeśli ta opcja nie jest zaznaczona, odtwarzacz wideo będzie miał takie same proporcje jak film." + }, + { + "label": "Pokaż przyciski sterujące odtwarzaczem wideo", + "description": "Przyciski sterujące odtwarzaczem wideo. Dzięki temu użytkownicy mogą odtwarzać, pauzować itp." + } + ] + }, + { + "label": "Odtwarzanie", + "fields": [ + { + "label": "Automatyczne odtwarzanie wideo", + "description": "Automatycznie rozpocznij odtwarzanie filmu. Może nie działać na urządzeniach mobilnych." + }, + { + "label": "Film w pętli", + "description": "Automatyczne rozpoczynanie filmu od nowa po jego zakończeniu." + } + ] + }, + { + "label": "Lokalizacja filmu", + "fields": [ + { + "label": "Nazwa", + "default": "Video", + "description": "Pomaga zidentyfikować zawartość tego typu." + }, + { + "label": "Ładowanie", + "default": "Ładowanie odtwarzacza..." + }, + { + "label": "Nie znaleziono odtwarzacza", + "default": "Nie znaleziono odtwarzacza wideo obsługującego podany format wideo." + }, + { + "label": "Brak źródeł", + "default": "W materiale wideo brakuje źródeł." + }, + { + "label": "Przerwano", + "default": "Odtwarzanie zostało przerwane." + }, + { + "label": "Awaria sieci", + "default": "Awaria sieci." + }, + { + "label": "Nie można zdekodować źródła wideo", + "default": "Nie można zdekodować źródła wideo." + }, + { + "label": "Nieobsługiwany format", + "default": "Nieobsługiwany format wideo." + }, + { + "label": "Media zakodowane", + "default": "Media zakodowane." + }, + { + "label": "Nieznany błąd", + "default": "Nieznany błąd." + }, + { + "label": "Nieprawidłowy YouTube ID", + "default": "Nieprawidłowy YouTube ID." + }, + { + "label": "Nieznany YouTube ID", + "default": "Nie można znaleźć filmu o podanym YouTube ID." + }, + { + "label": "Zastrzeżony film YouTube", + "default": "Właściciel tego filmu nie pozwala na jego osadzenie." + } + ] + }, + { + "label": "Dostępność", + "fields": [ + { + "label": "Dodaj ścieżkę wideo", + "entity": "ścieżkę", + "field": { + "label": "Ścieżka", + "fields": [ + { + "label": "Ścieżka" + }, + { + "label": "Przejdź do HTML living standard", + "options": [ + { + "label": "Napisy" + }, + { + "label": "Podpisy" + }, + { + "label": "Opisy" + }, + { + "label": "Rozdziały" + } + ] + }, + { + "label": "Język – musi być określony dla tłumaczenia", + "description": "Wpisz poprawny kod języka w standardzie BCP 47. Jeśli ścieżka zawiera tłumaczenie, należy określić język" + }, + { + "label": "Plik z napisami (WebVTT)" + } + ] + } + } + ] + } + ] +} diff --git a/resources/lang/pl/H5PEditor.ImageHotspotQuestion-1.8/pl.json b/resources/lang/pl/H5PEditor.ImageHotspotQuestion/1.8/pl.json similarity index 100% rename from resources/lang/pl/H5PEditor.ImageHotspotQuestion-1.8/pl.json rename to resources/lang/pl/H5PEditor.ImageHotspotQuestion/1.8/pl.json diff --git a/resources/lang/pl/H5PEditor.ImageHotspotQuestion/pl.json b/resources/lang/pl/H5PEditor.ImageHotspotQuestion/pl.json new file mode 100644 index 00000000..62edf7d4 --- /dev/null +++ b/resources/lang/pl/H5PEditor.ImageHotspotQuestion/pl.json @@ -0,0 +1,11 @@ +{ + "libraryStrings": { + "noImage": "Aby dodać interakcję, trzeba najpierw dodać zdjęcie w tle.", + "noImageTitle": "Brak zdjęcia", + "done": "Gotowe", + "back": "Wstecz", + "remove": "Usuń hotspot", + "rectangle": "Dodaj prostokąt", + "circle": "Dodaj okrąg" + } +} diff --git a/resources/lang/pl/H5PEditor.ImageMultipleHotspotQuestion-1.0/pl.json b/resources/lang/pl/H5PEditor.ImageMultipleHotspotQuestion/1.0/pl.json similarity index 100% rename from resources/lang/pl/H5PEditor.ImageMultipleHotspotQuestion-1.0/pl.json rename to resources/lang/pl/H5PEditor.ImageMultipleHotspotQuestion/1.0/pl.json diff --git a/resources/lang/pl/H5PEditor.ImageMultipleHotspotQuestion/pl.json b/resources/lang/pl/H5PEditor.ImageMultipleHotspotQuestion/pl.json new file mode 100644 index 00000000..d21205de --- /dev/null +++ b/resources/lang/pl/H5PEditor.ImageMultipleHotspotQuestion/pl.json @@ -0,0 +1,9 @@ +{ + "libraryStrings": { + "noImage": "Aby dodać interakcję, trzeba najpierw dodać zdjęcie w tle.", + "done": "Gotowe", + "remove": "Usuń hotspot", + "rectangle": "Dodaj prostokąt", + "circle": "Dodaj okrąg" + } +} diff --git a/resources/lang/pl/H5PEditor.Wizard-1.2/pl.json b/resources/lang/pl/H5PEditor.Wizard/1.2/pl.json similarity index 100% rename from resources/lang/pl/H5PEditor.Wizard-1.2/pl.json rename to resources/lang/pl/H5PEditor.Wizard/1.2/pl.json diff --git a/resources/lang/pl/H5PEditor.Wizard/pl.json b/resources/lang/pl/H5PEditor.Wizard/pl.json new file mode 100644 index 00000000..5e4403ea --- /dev/null +++ b/resources/lang/pl/H5PEditor.Wizard/pl.json @@ -0,0 +1,7 @@ +{ + "libraryStrings": { + "previousStep": "Poprzedni krok", + "nextStep": "Następny krok", + "step": ":index krok" + } +} diff --git a/src/Models/H5PLibrary.php b/src/Models/H5PLibrary.php index 34628310..cb848bc6 100644 --- a/src/Models/H5PLibrary.php +++ b/src/Models/H5PLibrary.php @@ -224,6 +224,11 @@ public function getDirectoryNameAttribute(): string return $this->name . '-' . $this->major_version . '.' .$this->minor_version; } + public function getMainVersionAttribute(): string + { + return $this->major_version. '.' . $this->minor_version; + } + public function getVersionAttribute(): string { return $this->major_version. '.' . $this->minor_version . '.' . $this->patch_version; diff --git a/src/Repositories/Contracts/H5PLibraryLanguageRepositoryContract.php b/src/Repositories/Contracts/H5PLibraryLanguageRepositoryContract.php index 7b3f718f..90acb8a9 100644 --- a/src/Repositories/Contracts/H5PLibraryLanguageRepositoryContract.php +++ b/src/Repositories/Contracts/H5PLibraryLanguageRepositoryContract.php @@ -7,7 +7,7 @@ interface H5PLibraryLanguageRepositoryContract { - public function getTranslation(string $langCode, string $libraryName): ?string; + public function getTranslation(H5PLibrary $library, string $langCode): ?string; public function getTranslationString($translation): string; diff --git a/src/Repositories/H5PEditorStorageRepository.php b/src/Repositories/H5PEditorStorageRepository.php index 94a614a3..e7a3099f 100644 --- a/src/Repositories/H5PEditorStorageRepository.php +++ b/src/Repositories/H5PEditorStorageRepository.php @@ -18,11 +18,11 @@ class H5PEditorStorageRepository implements H5peditorStorage { - private H5PLibraryLanguageRepositoryContract $h5PLibraryLanguageService; + private H5PLibraryLanguageRepositoryContract $h5PLibraryLanguageRepository; - public function __construct(H5PLibraryLanguageRepositoryContract $h5PLibraryLanguageService) + public function __construct(H5PLibraryLanguageRepositoryContract $h5PLibraryLanguageRepository) { - $this->h5PLibraryLanguageService = $h5PLibraryLanguageService; + $this->h5PLibraryLanguageRepository = $h5PLibraryLanguageRepository; } /** @@ -54,14 +54,14 @@ public function getLanguage($machineName, $majorVersion, $minorVersion, $languag ])->first(); if ($libraryLanguage) { - $this->h5PLibraryLanguageService->update($libraryLanguage, $library, $language); - return $this->h5PLibraryLanguageService->getTranslationString($libraryLanguage->translation); + $this->h5PLibraryLanguageRepository->update($libraryLanguage, $library, $language); + return $this->h5PLibraryLanguageRepository->getTranslationString($libraryLanguage->translation); } // if is empty try to create from local translation files if (empty($libraryLanguage)) { - $libraryLanguage = $this->h5PLibraryLanguageService->create($library, $language); - return $libraryLanguage ? $this->h5PLibraryLanguageService->getTranslationString($libraryLanguage->translation) : null; + $libraryLanguage = $this->h5PLibraryLanguageRepository->create($library, $language); + return $libraryLanguage ? $this->h5PLibraryLanguageRepository->getTranslationString($libraryLanguage->translation) : null; } } diff --git a/src/Repositories/H5PLibraryLanguageRepository.php b/src/Repositories/H5PLibraryLanguageRepository.php index ba2def40..184f5a92 100644 --- a/src/Repositories/H5PLibraryLanguageRepository.php +++ b/src/Repositories/H5PLibraryLanguageRepository.php @@ -9,11 +9,13 @@ class H5PLibraryLanguageRepository implements H5PLibraryLanguageRepositoryContract { - public function getTranslation(string $langCode, string $libraryName): ?string + public function getTranslation(H5PLibrary $library, string $langCode): ?string { - $semantics = __DIR__ . '/../../resources/lang/' . $langCode . '/' . $libraryName . '/' . $langCode . '.json'; + $translation = $this->getLibraryTranslationVersion($langCode, $library->name, $library->mainVersion); - return File::exists($semantics) ? File::get($semantics) : null; + return empty($translation) ? + $this->getLibraryTranslation($langCode, $library->name) + : $translation; } public function getTranslationString($translation): string @@ -27,7 +29,7 @@ public function getTranslationString($translation): string public function update(H5PLibraryLanguage $libraryLanguage, H5PLibrary $library, string $languageCode): H5PLibraryLanguage { - $translation = $this->getTranslation($languageCode, $library->directoryName); + $translation = $this->getTranslation($library, $languageCode); if (empty($translation)) { return $libraryLanguage; @@ -45,7 +47,7 @@ public function update(H5PLibraryLanguage $libraryLanguage, H5PLibrary $library, public function create(H5PLibrary $library, string $languageCode): ?H5PLibraryLanguage { - $translation = $this->getTranslation($languageCode, $library->directoryName); + $translation = $this->getTranslation($library, $languageCode); if (empty($translation)) { return null; @@ -60,12 +62,26 @@ public function create(H5PLibrary $library, string $languageCode): ?H5PLibraryLa public function createDefaults(H5PLibrary $library, string $languageCode, string $translation): ?H5PLibraryLanguage { - $localTranslation = $this->getTranslation($languageCode, $library->directoryName); + $localTranslation = $this->getTranslation($library, $languageCode); + return H5PLibraryLanguage::firstOrCreate([ 'library_id' => $library->getKey(), 'language_code' => $languageCode, 'translation' => $localTranslation ?: $translation, ]); + } + + private function getLibraryTranslation(string $langCode, string $libraryName): ?string + { + $semantics = __DIR__ . '/../../resources/lang/' . $langCode . '/' . $libraryName . '/' . $langCode . '.json'; + return File::exists($semantics) ? File::get($semantics) : null; + } + + private function getLibraryTranslationVersion(string $langCode, string $libraryName, string $libraryVersion): ?string + { + $semantics = __DIR__ . '/../../resources/lang/' . $langCode . '/' . $libraryName . '/' . $libraryVersion . '/' . $langCode . '.json'; + + return File::exists($semantics) ? File::get($semantics) : null; } } diff --git a/src/Repositories/H5PRepository.php b/src/Repositories/H5PRepository.php index db77db44..d64aad37 100644 --- a/src/Repositories/H5PRepository.php +++ b/src/Repositories/H5PRepository.php @@ -22,7 +22,7 @@ class H5PRepository implements H5PFrameworkInterface { - private H5PLibraryLanguageRepositoryContract $h5PLibraryLanguageService; + private H5PLibraryLanguageRepositoryContract $h5PLibraryLanguageRepository; private array $downloadFiles; @@ -30,9 +30,9 @@ class H5PRepository implements H5PFrameworkInterface protected $messages = ['error' => [], 'updated' => []]; - public function __construct(H5PLibraryLanguageRepositoryContract $h5PLibraryLanguageService) + public function __construct(H5PLibraryLanguageRepositoryContract $h5PLibraryLanguageRepository) { - $this->h5PLibraryLanguageService = $h5PLibraryLanguageService; + $this->h5PLibraryLanguageRepository = $h5PLibraryLanguageRepository; } public function setMainData(array $mainData): void @@ -496,7 +496,7 @@ public function saveLibraryData(&$libraryData, $new = true) if (isset($libraryData['language'])) { foreach ($libraryData['language'] as $languageCode => $translation) { - $this->h5PLibraryLanguageService->createDefaults($libObj, $languageCode, $translation); + $this->h5PLibraryLanguageRepository->createDefaults($libObj, $languageCode, $translation); } $this->additionalTranslations($libraryData['language'], $libObj); } @@ -512,7 +512,7 @@ private function additionalTranslations(array $libraryLanguages, H5PLibrary $lib $additionalLanguageCodes = ['pl']; foreach ($additionalLanguageCodes as $languageCode) { if (isset($libraryLanguages) && !isset($libraryLanguages[$languageCode])) { - $libraryLanguage = $this->h5PLibraryLanguageService->create($library, $languageCode); + $libraryLanguage = $this->h5PLibraryLanguageRepository->create($library, $languageCode); if (isset($libraryLanguage)) { $libraryLanguages[$languageCode] = $libraryLanguage;