[nieaktualne]

Skrócony opis:
Strona ma pobierać dane z API (wywołanie to jedna linijka), informujące o postępach tłumaczeń tekstów do aplikacji mobilnej. Zwrócone dane w formacie xml lub json należy sparsować, by wyciągnąć informacje o kodzie języka i postępach jego tłumaczenia. Dla każdego tak pobranego języka z pliku konfiguracyjnego na serwerze pod kodzie języka dopasowywane są pozostałe wymagane informacje, czyli nazwa pliku z flagą języka, link do strony z tłumaczeniami oraz bieżący status tłumaczenia w aplikacji mobilnej (tłumaczenie dodane/częściowo dodane/czeka na dodanie).

Na stronie wyświetlane są logo, tytuł, opis, mini-legenda postępu tłumaczeń (pasek zielony - przetłumaczone, pasek niebieski - zaakceptowane), link do wysyłania maila (mailto:<adres>) oraz lista języków, w formie: flaga, pasek postępu tłumaczenia, procentowy postęp tłumaczenia, status tłumaczenia w aplikacji mobilnej.

Strona wyświetlą się poprawnie na PC oraz przede wszystkim na smartfonach.
Załączam szkice strony, przykładowe dane z API oraz przykładowy plik konfiguracyjny na serwerze.

Budżet to 500 zł brutto, na umowę o dzieło lub faktura.

Pełen opis:
Zlecę stworzenie pojedynczej strony wyświetlającej status tłumaczeń z portalu Crowdin, poprzez udostępniane przez nich API (v1):
https://support.crowdin.com/api/status/

Dane zawierają informacje o postępie tłumaczeń na języki określone w Crowdin. Strona powinna je automatycznie pobierać w momencie otwarcia strony oraz wyświetlać wedle poniższego szkicu:

  • na górze strony wyświetlana jest ogólna informacja tekstowa informująca jak korzystać ze strony wraz z małą ikoną/banerem
  • pod tekstem wyświetlana jest legenda opisująca działanie pasków postępu tłumaczeń (opisane niżej) - tekst plus kolor opisywanego paska postępu
  • następnie wyświetlony jest przycisk umożliwiający skontaktowanie się, jeśli danego języka nie ma na liście
  • na końcu wyświetlana jest alfabetycznie lista języków pobranych z Crowdin, gdzie dla każdej pozycji wyświetlane są:
  1. Flaga odpowiadająca językowi - ikony flag przechowywane na serwerze wraz ze stroną, odpowiednia flaga dobierana jest na podstawie nazwy/kodu języka z Crowdin (French/fr -> flaga francuska itp.)
  2. Nazwa języka, pobrana z Crowdin.
  3. Pasek postępu tłumaczenia, pokazujący postęp tłumaczeń oraz postęp zatwierdzeń.
  4. Dla w pełni wykonanego tłumaczenia na pasku wyświetlana jest jedna z informacji: "dodane do aplikacji", "oczekuje na dodanie do aplikacji", "częściowo dodane do aplikacji". Status ten pobierany jest z pliku na serwerze, który można łatwo edytować (np. przez ftp)
  5. Każda linijka języku byłaby jednocześnie linkiem prowadzącym na stronę języku w Crowdin.

Konfiguracja języków powinna odbywać się poprzez plik konfiguracyjny, np. w formie:
<kod języka>, <nazwa pliku z flagą>, <status>, <link do="do" crowdin="crowdin">

Dobrze, by opisy na stronie również były łatwe do modyfikowania (opis na górze, legenda, opisy poszczególnych statusów).

W ramach zlecenia strona byłaby umieszczona na serwerze z home.pl, który posiadam. Serwer to pakiet biznes, posiada PHP 5.6 i 7, Perl, Python.

Strona powinna być zoptymalizowana do ekranu smarftona, gdzie będzie głównie wyświetlana.

Przykładowe dane z API:

<?xml version="1.0" encoding="UTF-8"?>
<status>
   <language>
     <name>French</name>
     <code>fr</code>   <-- to jest używane
     <phrases>498</phrases>
     <translated>459</translated>
     <approved>0</approved>
     <words>5598</words>
     <words_translated>5153</words_translated>
     <words_approved>0</words_approved>
     <translated_progress>92</translated_progress> <-- to jest używane
     <approved_progress>0</approved_progress> <-- to jest używane
  </language>> 

Przykładowy plik konfiguracyjny:

# <kod języka>, <nazwa pliku z flagą>, <status>, <link do Crowdin>
pt-BR, "pt-br.png", "", "https://pl.wikipedia.org/wiki/Brazil"
fr, "fr.png", "partial", "https://en.wikipedia.org/wiki/France"

Szkice strony:
screen_strona_PC_small.png
screen_strona_mobile_small.png