From b35db04c01ef48b9603af4ea7a7192d488931165 Mon Sep 17 00:00:00 2001 From: Teagan Date: Fri, 18 May 2018 16:09:37 -0700 Subject: [PATCH] Release 1.12.0 (#481) * Fix map not fading out after clicking 'List View' This was a bug from my PR that refactored the map toggle. * Hide changing table icon in minimal lists For example, in a list of nearby restrooms, both the gender neutral and accessibility icons are hidden while changing table icon still shows. Fixed by this commit. * added Polish translation * fixed encoding * style * tells users that the text message service is unavailable in Poland * fixed encoding again * config/application.rb: Add Polish locale (pl) This activates the Polish translations from #476. The app should now show in Polish for browsers with "pl" in a preferred position of their Accept_Language headers. --- .../javascripts/views/restrooms/index.js | 2 +- app/assets/stylesheets/restrooms/main.scss | 2 +- config/application.rb | 2 +- config/locales/pl/about.pl.yml | 22 +++++++ config/locales/pl/business_info.pl.yml | 23 +++++++ config/locales/pl/contacts.pl.yml | 11 ++++ config/locales/pl/devise.pl.yml | 57 ++++++++++++++++++ config/locales/pl/footer.pl.yml | 15 +++++ config/locales/pl/navigation.pl.yml | 10 ++++ config/locales/pl/restroom.pl.yml | 60 +++++++++++++++++++ config/locales/pl/restrooms.pl.yml | 8 +++ config/locales/pl/search.pl.yml | 6 ++ config/locales/pl/signs.pl.yml | 8 +++ config/locales/pl/simple_form.pl.yml | 55 +++++++++++++++++ config/locales/pl/splash.pl.yml | 6 ++ config/locales/pl/text_msg.pl.yml | 5 ++ 16 files changed, 289 insertions(+), 3 deletions(-) create mode 100644 config/locales/pl/about.pl.yml create mode 100644 config/locales/pl/business_info.pl.yml create mode 100644 config/locales/pl/contacts.pl.yml create mode 100644 config/locales/pl/devise.pl.yml create mode 100644 config/locales/pl/footer.pl.yml create mode 100644 config/locales/pl/navigation.pl.yml create mode 100644 config/locales/pl/restroom.pl.yml create mode 100644 config/locales/pl/restrooms.pl.yml create mode 100644 config/locales/pl/search.pl.yml create mode 100644 config/locales/pl/signs.pl.yml create mode 100644 config/locales/pl/simple_form.pl.yml create mode 100644 config/locales/pl/splash.pl.yml create mode 100644 config/locales/pl/text_msg.pl.yml diff --git a/app/assets/javascripts/views/restrooms/index.js b/app/assets/javascripts/views/restrooms/index.js index 9a6681dd..53190bb6 100644 --- a/app/assets/javascripts/views/restrooms/index.js +++ b/app/assets/javascripts/views/restrooms/index.js @@ -11,7 +11,7 @@ $(function(){ if (mapShow) { mapToggle.html("Map View"); // animate - mapContainer.fadeIn(500, function() { list.fadeOut(500) }); + mapContainer.fadeOut(500, function() { list.fadeIn(500) }); } else{ mapToggle.html("List View"); // animate diff --git a/app/assets/stylesheets/restrooms/main.scss b/app/assets/stylesheets/restrooms/main.scss index 06f48d77..214554a1 100644 --- a/app/assets/stylesheets/restrooms/main.scss +++ b/app/assets/stylesheets/restrooms/main.scss @@ -144,7 +144,7 @@ clear: both; padding: 5px 0; border-width: 0; - .listItemImage, .itemRating, .unisexRestroom, .ADARestroom { + .listItemImage, .itemRating, .unisexRestroom, .ADARestroom, .changingTable { display: none; } .itemInfo, .itemName, .itemStreet, .itemExtraInfo, .itemDistance { diff --git a/config/application.rb b/config/application.rb index e441bfb4..fc9f8d60 100644 --- a/config/application.rb +++ b/config/application.rb @@ -23,7 +23,7 @@ class Application < Rails::Application # I18n stuff config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')] - config.i18n.available_locales = [:en, :es, :fr] + config.i18n.available_locales = [:en, :es, :fr, :pl] #config.i18n.default_locale = :fr diff --git a/config/locales/pl/about.pl.yml b/config/locales/pl/about.pl.yml new file mode 100644 index 00000000..a83ba06e --- /dev/null +++ b/config/locales/pl/about.pl.yml @@ -0,0 +1,22 @@ +pl: + about: + title: 'O REFUGE' + p1header: 'Czym jest REFUGE Restrooms?' + p1: + first: 'Refuge Restrooms to aplikacja ułatwiająca osobom transpłciowym i interpłciowym bezpieczny dostęp do łazienek publicznych. Użytkownicy mogą znaleźć łazienki znajdujące się w pobliżu konkretnego miejsca, dodać nową łazienkę do listy, a także skomentować i ocenić te dodane już wcześniej.' + second: 'Naszym celem jest nie tylko znajdowanie obecnie istniejących już łazienek bezpiecznych dla osób transpłciowych, ale także propagowanie działań mających na celu zwiększenie bezpieczeństwa osób transpłciowych i interpłciowych.' + p2header: 'Skąd pochodzą wszystkie dane?' + p2: 'Pierwsze 4500 lokalizacji pochodzi z danych nieprowadzonego już projektu Safe2Pee. Pozostałe są dodawane przez użytkowników. Jeżeli zauważysz, że łazienka w miejscu publicznym jest neutralna, dodaj ją do bazy danych.' + p3header: 'Skąd nazwa REFUGE?' + p3: 'Refuge - ang. „azyl”. Chcemy, żeby nasi użytkownicy byli godnie traktowani: bezpieczny dostęp do łazienki do podstawowe prawo człowieka. Chcemy zapewnić to bezpieczeństwo każdemu w razie potrzeby.' + p4header: "Dlaczego łazienki to taki wielki problem? Czemu służy ta aplikacja?" + p4: "Dostęp do łazienek publicznych to ważny element walki o prawa osób transpłciowych. Ciągle słyszy się wiadomości o aferach spowodowanych tym, że osoba trans skorzystała z łazienki przeznaczonej dla płci, z którą się identyfikuje. Oczywiście każda osoba transpłciowa powinna mieć prawo do korzystania z takiej łazienki, z jakiej chce. Ale mimo wielu sukcesów sądowych, nie zawsze jest to jednak bezpieczne: osoby transpłciowe nierzadko doświadczają przemocy werbalnej i fizycznej tylko dlatego, że korzystają z łazienki. Takie doświadczenie nie powinno nikogo spotykać i dlatego stworzyliśmy REFUGE." + p5header: 'Jak można pomóc?' + p5: + first: "Po pierwsze: Dodawaj łazienki. Baza danych zależy od użytkowników - a im więcej dodanych lokalizacji, tym bardziej wartościowa będzie aplikacja." + second: "Po drugie: Powiedz znajomym. Napisz tweeta, post na Facebooku, Tumblrze, swoim blogu. Podaj dalej informację o REFUGE." + third: "Po trzecie: Jeżeli programujesz, zajrzyj na naszego GitHuba i poinformuj nas o napotkanych bugach, zasugeruj poprawki albo napisz własny kod aby wspomóc projekt. REFUGE jest open source i nie mogłoby istnieć bez pomocy współtwórców." + fourth: "Po czwarte: Dokonaj wpłaty. Organizujemy zbiórki i kampanie crowdfundingowe, aby mieć za co kupować sprzęt i płacić twórcom aplikacji za ich pracę, aby nie była to już praca wolontariacka, jak początkowo. Większość twórców jest transpłciowa i obecnie zatrudniona poniżej kwalifikacji." + p6header: "Dlaczego moja placówka znajduje się w bazie danych?" + p6: "Dowiedz się więcej w Business FAQ." + contribute: 'Zajrzyj na naszego GitHuba!' \ No newline at end of file diff --git a/config/locales/pl/business_info.pl.yml b/config/locales/pl/business_info.pl.yml new file mode 100644 index 00000000..1779200d --- /dev/null +++ b/config/locales/pl/business_info.pl.yml @@ -0,0 +1,23 @@ +pl: + business_info: + title: "Refuge Restrooms Business Info" + p1header: "1) Czym jest Refuge Restrooms?" + p1: "Refuge Restrooms to aplikacja ułatwiająca osobom transpłciowym i interpłciowym bezpieczny dostęp do łazienek publicznych. Przeczytaj więcej na tej stronie." + p2header: "2) Dlaczego moja placówka znajduje się w bazie danych?" + p2: "Ktoś dodał lokalizację łazienki, aby poinformować o niej innych. Wszystkie zamieszczone lokalizacje są dodane przez użytkowników." + p3header: "3) Jak mogę pomóc?" + p3: "Miło, że pytasz. Zwykle przy okazji skorzystania z łazienki, użytkownicy REFUGE zatrzymają się w placówce i wesprą ją w jakiś sposób - zamawiając coś lub robiąc zakupy. Miła obsługa i dobre wrażenia na pewno wpłyną na pozytywne recenzje Twojej placówki w aplikacji (o tym więcej za chwilę)." + p4header: "4) Na czym polega problem łazienek publicznych?" + p4: + first: "Korzystanie z łazienek publicznych nie jest łatwe dla osób transpłciowych. Stąd wzięła się idea projektu." + second: "Zgodnie z US Trans Survey:" + list1: "59% osób transpłciowych biorących udział w badaniu unikało skorzystania z łazienki publicznej z obawy o konfrontację," + list2: "31% unikało jedzenia poza domem z obawy o konieczność skorzystania z publicznej łazienki" + list3: "24% zostało zaczepionych w łazience" + list4: "12% zostało zaatakowanych w łazience" + list5: "9% odmówiono możliwości dostępu do łazienki" + list6: "8% zaczęło chorować na nerki lub układ moczowy z powodu unikania łazienek" + p5header: "5) Co oznaczają recenzje?" + p5: "Recenzje pomagają odwiedzającym dzielić się nawzajem doświadczeniami dotyczącymi placówki. Zachęcamy użytkowników do dzielenia się jak największą liczbą informacji odnośnie placówek i lokalizacji." + p6header: "6) Jak mogę usunąć moją placówkę z bazy danych?" + p6: "Liczymy, że rozważysz pozostawienie placówki w bazie danych: może to mieć rzeczywisty wpływ na czyjeś zdrowie i bezpieczeństwo. Jeżeli jednak nie chcesz, by placówka widniała w aplikacji, skontaktuj się przez formularz kontaktowy, a nasi wolontariusze odpowiedzą Ci tak szybko, jak to możliwe (REFUGE to projekt open source i cała praca jest wykonywana przez wolontariuszy)." \ No newline at end of file diff --git a/config/locales/pl/contacts.pl.yml b/config/locales/pl/contacts.pl.yml new file mode 100644 index 00000000..d129bfcc --- /dev/null +++ b/config/locales/pl/contacts.pl.yml @@ -0,0 +1,11 @@ +pl: + contacts: + new: + request-edit-for-restroom: 'Zasugeruj zmianę w łazience %{restroom_name}' + contact-title: 'Kontakt' + leave-this-field-blank: 'Zostaw to pole puste!' + submitted: + thank-you-period: 'Dziękujemy za wiadomość.' + thank-you-exclamation: 'Dziękujemy za wiadomość!' + cannot-send: 'Nie można było wysłać wiadomości.' + we-will-get-back-to-you: "Odpowiemy wkrótce." diff --git a/config/locales/pl/devise.pl.yml b/config/locales/pl/devise.pl.yml new file mode 100644 index 00000000..edf0a4e2 --- /dev/null +++ b/config/locales/pl/devise.pl.yml @@ -0,0 +1,57 @@ +pl: + devise: + confirmations: + confirmed: "Twoja rejestracja została potwierdzona." + send_instructions: "W ciągu paru minut powinieneś otrzymać email z instrukcją, jak potwierdzić rejestrację." + send_paranoid_instructions: "Jeżeli Twój email znajduje się w naszej bazie danych, w ciągu paru minut otrzymasz wiadomość z instrukcją, jak potwierdzić rejestrację." + failure: + already_authenticated: "Jesteś już zalogowany." + inactive: "Twoje konto nie jest jeszcze aktywne." + invalid: "Niepoprawny login lub hasło." + locked: "Twoje konto jest zablokowane." + last_attempt: "Pozostała jedna próba, zanim Twoje konto zostanie zablokowane." + not_found_in_database: "Niepoprawny email lub hasło." + timeout: "Sesja wygasła. Zaloguj się ponownie." + unauthenticated: "Musisz się najpierw zalogować lub zarejestrować." + unconfirmed: "Musisz najpierw potwierdzić swoje konto." + mailer: + confirmation_instructions: + subject: "Instrukcja potwierdzenia konta" + reset_password_instructions: + subject: "Instrukcja zresetowania hasła" + unlock_instructions: + subject: "Instrukcja odblokowania konta" + omniauth_callbacks: + failure: "Nie można było potwiedzić %{kind} ponieważ \"%{reason}\"." + success: "Potwierdzono %{kind}." + passwords: + no_token: "Brak dostępu do strony: kliknij w link resetujący hasło, który znajduje się w wiadomości email." + send_instructions: "W ciągu paru minut otrzymasz email z instrukcją resetowania hasła." + send_paranoid_instructions: "Jeżeli Twój email znajduje się w naszej bazie danych, w ciągu paru minut otrzymasz wiadomość z linkiem do odzyskania hasła." + updated: "Zmieniono hasło. Jesteś zalogowany." + updated_not_active: "Zmieniono hasło." + registrations: + destroyed: "Usunięto konto. Liczymy, że zobaczymy Cię jeszcze ponownie." + signed_up: "Witaj! Zarejestrowano poprawnie." + signed_up_but_inactive: "Zarejestrowano poprawnie. Przed zalogowaniem musisz jednak jeszcze aktywować konto." + signed_up_but_locked: "Zarejestrowano poprawnie. Twoje konto jest jednak zablokowane." + signed_up_but_unconfirmed: "Wysłano wiadomość email z linkiem potwierdzającym. Kliknij w link aby aktywować konto." + update_needs_confirmation: "Uaktualniono konto. Potwierdź swój nowy adres email: kliknij w link otrzymany w wiadomości." + updated: "Uaktualniono konto." + sessions: + signed_in: "Zalogowano." + signed_out: "Wylogowano." + unlocks: + send_instructions: "W ciągu paru minut otrzymasz wiadomość z instrukcją, jak odblokować konto." + send_paranoid_instructions: "Jeżeli Twój email znajduje się w naszej bazie danych, w ciągu paru minut otrzymasz wiadomość z instrukcją, jak odblokować konto." + unlocked: "Twoje konto zostało odblokowane. Zaloguj się." + errors: + messages: + already_confirmed: "już potwierdzono, zaloguj się" + confirmation_period_expired: "należy potwierdzić w przeciągu %{period}; poproś o nowy" + expired: "wygasł, poproś o nowy" + not_found: "nie znaleziono" + not_locked: "nie zablokowano" + not_saved: + one: "Błąd w zapisaniu %{resource}:" + other: "%{count} błędy przy zapisywaniu %{resource}:" diff --git a/config/locales/pl/footer.pl.yml b/config/locales/pl/footer.pl.yml new file mode 100644 index 00000000..e0de37e8 --- /dev/null +++ b/config/locales/pl/footer.pl.yml @@ -0,0 +1,15 @@ +pl: + layouts: + footer: + aria-labels: + github: 'Refuge Restrooms na GitHubie' + twitter: 'Refuge Restrooms na Twitterze' + facebook: 'Refuge Restrooms na Facebooku' + tumblr: 'blog Refuge Restrooms na Tumblrze' + email: 'napisz email do Refuge Restrooms' + refuge-restrooms-is-open-source: 'refuge restrooms jest projektem open source.' + code-on-github: 'wesprzyj na githubie' + contribute-to-the-project: 'wesprzyj projekt' + on-patreon: 'na Patreonie' + copyleft: 'copyleft' + refuge-restrooms: 'refuge restrooms.' \ No newline at end of file diff --git a/config/locales/pl/navigation.pl.yml b/config/locales/pl/navigation.pl.yml new file mode 100644 index 00000000..a55d01d6 --- /dev/null +++ b/config/locales/pl/navigation.pl.yml @@ -0,0 +1,10 @@ +pl: + layouts: + navigation: + toggle-navigation-button-label: 'Nawigacja' + submit-a-new-restroom-hyperlink-label: 'Dodaj łazienkę' + about-hyperlink-label: 'O Refuge' + contact-hyperlink-label: 'Kontakt' + resources-dropdown-button-label: 'Materiały' + download-unisex-restroom-signs-hyperlink-label: 'Pobierz znaki łazienek unisex' + public-api-hyperlink-label: Public API diff --git a/config/locales/pl/restroom.pl.yml b/config/locales/pl/restroom.pl.yml new file mode 100644 index 00000000..8fc8dbf3 --- /dev/null +++ b/config/locales/pl/restroom.pl.yml @@ -0,0 +1,60 @@ +pl: + activerecord: + attributes: + restroom: + # only overridden attributes here, defaults work as expected + # (e.g. database field 'city' will be appear as 'City') + name: 'Nazwa placówki / miejsca' + street: 'Ulica' + state: 'Województwo' + access: 'Udogodnienia dla osób niepełnosprawnych?' + bath_type: 'Typ łazienki' + + search_bar: + enter_location: 'Wpisz adres' + + restroom: + add_new: 'Dodaj nową łazienkę do bazy danych' + preview: 'Podgląd' + required: 'Pola oznaczone * są obowiązkowe' + guess_location: 'Obecna lokalizacja urządzenia' + directions: 'Wskazówki' + directions_hint: '(np.: na trzecim piętrze, obok baru, koło przebieralni...)' + comments_hint: '(np.: musisz coś kupić, udawaj że się rozglądasz z zamiarem zakupu...)' + comments: 'Komentarze' + accessible: 'Dostęp dla osób niepełnosprawnych' + not_accessible: 'Niedostępna dla osób niepełnosprawnych' + changing_table: 'Przewijak' + no_changing_table: 'Brak przewijaka' + type: + unisex: 'Oznaczona jako unisex' + single_stall: 'Jedna toaleta niezależnie od płci' + restsubmit: 'Zapisz łazienkę' + rating: + positive: '%{percentage}% pozytywnych opinii' + unrated: 'Brak ocen' + upvote: 'Wszystko w porządku!' + downvote: 'Nieodpowiednie warunki' + confirm: + upvote: 'Czy chcesz ocenić tę łazienkę pozytywnie?' + downvote: 'Czy chcesz ocenić tę łazienkę negatywnie?' + flash: + field: 'Nie wypełniono obowiązkowego pola.' + unexpected: 'Błąd aplikacji.' + upvoteerror: 'Wystąpił problem przy ocenie łazienki.' + upvotesuccess: 'Oceniono pozytywnie! Dziękujemy za wkład.' + downvoteerror: 'Wystąpił problem przy ocenie łazienki.' + downvotesuccess: 'Oceniono negatywnie. Dziękujemy za wkład' + new: 'Dodano łazienkę %{name}.' + updated: 'Uaktualniono informacje o tej łazience.' + deleted: 'Usunięto łazienkę.' + searcherror: 'Wystąpił błąd przy szukaniu lokalizacji.' + spam: 'Wykryto spam.' + contact: + contactlisting: "Skontaktuj się z nami odnośnie tej lokalizacji!" + + restrooms: + nearby: + heading: 'Łazienki w pobliżu' + body: 'Zanim dodasz łazienkę, sprawdź, czy nie została już wcześniej dodana w pobliżu.' + none: 'Nie znaleziono łazienek w pobliżu.' diff --git a/config/locales/pl/restrooms.pl.yml b/config/locales/pl/restrooms.pl.yml new file mode 100644 index 00000000..aa27c17f --- /dev/null +++ b/config/locales/pl/restrooms.pl.yml @@ -0,0 +1,8 @@ +pl: + restrooms: + index: + map-view-button-label: 'Mapa' + + show: + thumbs-up-button-label: 'Kciuk w górę' + thumbs-down-button-label: 'Kciuk w dół' diff --git a/config/locales/pl/search.pl.yml b/config/locales/pl/search.pl.yml new file mode 100644 index 00000000..a5359136 --- /dev/null +++ b/config/locales/pl/search.pl.yml @@ -0,0 +1,6 @@ +pl: + layouts: + search: + search: 'Szukaj' + search-by-current-location: 'Szukaj, używając lokalizacji' + diff --git a/config/locales/pl/signs.pl.yml b/config/locales/pl/signs.pl.yml new file mode 100644 index 00000000..593b6b33 --- /dev/null +++ b/config/locales/pl/signs.pl.yml @@ -0,0 +1,8 @@ +pl: + pages: + signs: + title: 'Pobierz znaki do łazienek' + intro: 'Jeżeli w Twojej placówce znajduje się publiczna łazienka dostępna niezależnie od płci, możesz dodać ją do bazy danych i udostępnić któryś z poniższych znaków. W ten sposób dasz znać odwiedzającym, że cenisz ich bezpieczeństwo i komfort. Pliki są w formacie PDF, możliwe do wydrukowania w wysokiej rozdzielczości.' + head-accessible: 'Z udogodnieniami dla osób niepełnosprawnych' + head-non-accessible: 'Bez udogodnień dla osób niepełnosprawnych' + download: 'Pobierz PDF' diff --git a/config/locales/pl/simple_form.pl.yml b/config/locales/pl/simple_form.pl.yml new file mode 100644 index 00000000..d6751407 --- /dev/null +++ b/config/locales/pl/simple_form.pl.yml @@ -0,0 +1,55 @@ +# See this documentation: https://github.com/plataformatec/simple_form#i18n +# And this StackOverflow answer: https://stackoverflow.com/questions/35906089/changing-simple-form-submit-button-i18n-text + +pl: + simple_form: + "yes": 'Tak' + "no": 'Nie' + required: + text: 'wymagane' + mark: '*' + # You can uncomment the line below if you need to overwrite the whole required html. + # When using html, text and mark won't be used. + # html: '*' + error_notification: + default_message: "Sprawdź poniższe informacje:" + + labels: + defaults: + name: 'Nazwa' + street: 'Ulica' + city: 'Miasto' + state: 'Stan / województwo' + country: 'Kraj' + accessible: 'Z udogodnieniami dla osób niepełnosprawnych' + unisex: 'Unisex' + changing_table: 'Przewijak' + directions: 'Wskazówki' + comment: 'Komentarz' + email: 'Email' + message: 'Wiadomość' + contact: + name: 'Imię' + email: 'Email' + message: 'Wiadomość' + + helpers: + submit: + contact: + # This is the "Send message" button on the "Contact" page. + create: 'Wyślij wiadomość' + + # Labels and hints examples + # labels: + # defaults: + # password: 'Hasło' + # user: + # new: + # email: 'Podaj email aby się zalogować.' + # edit: + # email: 'email.' + # hints: + # defaults: + # username: 'Login' + # password: 'Bez znaków specjalnych.' + diff --git a/config/locales/pl/splash.pl.yml b/config/locales/pl/splash.pl.yml new file mode 100644 index 00000000..10c86fdb --- /dev/null +++ b/config/locales/pl/splash.pl.yml @@ -0,0 +1,6 @@ +pl: + pages: + index: + life-is-tough: 'Sometimes life is tough...' + find-refuge: 'Find Refuge' + add-restroom-button-label: 'Dodaj łazienkę' diff --git a/config/locales/pl/text_msg.pl.yml b/config/locales/pl/text_msg.pl.yml new file mode 100644 index 00000000..9a45bcf8 --- /dev/null +++ b/config/locales/pl/text_msg.pl.yml @@ -0,0 +1,5 @@ +pl: + pages: + text: + title: 'Usługa niedostęna w Polsce.' + \ No newline at end of file