Skip to content
This repository has been archived by the owner on Jan 22, 2021. It is now read-only.

Commit

Permalink
ro31337#526 Add Italian and Czech locales (ro31337#527)
Browse files Browse the repository at this point in the history
* Czech translation

LibreTaxi translation file
Language (UTF-8): cs_CZ

* Italian locale

* ro31337#526 Integrate Italian locale

* ro31337#526 Rename cz to cz.json

* ro31337#526 Integrate Czech language

* ro31337#526 Add translation comments
  • Loading branch information
ro31337 authored Feb 25, 2017
1 parent 2915ca6 commit c851db1
Show file tree
Hide file tree
Showing 5 changed files with 157 additions and 4 deletions.
2 changes: 2 additions & 0 deletions doc/TRANSLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

Thanks for your help translating LibreTaxi to other languages. Here is prioritized list of languages we want LibreTaxi translate to:

* Italian - bot was translated, but [we need your help here](https://github.com/ro31337/libretaxi-www/issues/31)
* Czech - bot was translated, but [we need your help here](https://github.com/ro31337/libretaxi-www/issues/32)
* ~~Spanish~~
* ~~Indonesian~~
* ~~Chinese Mandarin~~
Expand Down
74 changes: 74 additions & 0 deletions locales/cz.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
{
"select-user-type.who_you_are": "Vyberte si roli. (Lze později změnit)",
"select-user-type.driver": "Řidič",
"select-user-type.passenger": "Pasažér",
"request-phone.type_your_phone": "Pošlete nám prosím své telefonní číslo, nebudeme ho nikomu sdělovat, dokud to nepovolíte.",
"request-phone.button_text": "Odeslat číslo",
"request-phone.all_set": "👌 Vše nastaveno, můžete si objednat jízdu!",
"passenger-index.choose_taxi_type": "Jaký druh taxi si přejete objednat?",
"passenger-index.car": "🚗 Auto",
"passenger-index.motorbike": "🏍 Skůtr / Motorka",
"passenger-index.s": "🔧 Nastavení",
"passenger-index.error_only_known_type": "Neznámá volba, prosím vyberte skůtr / motorku, auto, nebo nastavení.",
"passenger-request-location.provide_location": "Prosím sdělte nám vaši polohu, abychom mohli najít řidiče v okolí.",
"passenger-request-destination.provide_destination": "Kam chcete jet? Prosím napiště přesnou adresu (aby šla zadat do GPS), nebo cíl popište.",
"order-submitted.order_submitted": "⏳ Hledám řidiče... Pokud objevíte vhodnou nabídku, zmáčkněte tlačítko níže 👇",
"order-submitted.cancel": "Ukončit hledání.",
"order-submitted.error_incorrect_input": "Neznámá volba, prosím, zkuste to znovu.",
"order-cancelled.order_cancelled": "👌 Děkujeme, hledání ukončeno.",
"driver-select-vehicle-type.select": "Vyberte typ dopravního prostředku, který se chystáte použít pro přepravu pasažérů.",
"driver-select-vehicle-type.motorbike": "🏍 Skůtr / Motorka",
"driver-select-vehicle-type.car": "🚗 Auto",
"driver-select-vehicle-type.error_only_known_type": "Neznámá volba, prosím vyberte auto, nebo skůtr / motorku.",
"driver-explain-checkins.text": "Téměř hotovo. Jen pár poznámek: Telegram nepodporuje sdílení polohy v reálném čase. Takže pokud se přemístíte, dejte o sobě vědět. Jinak o sobě dávejte vědět pravidelně alespoň každou hodinu, dokud jste připraveni přijímat objednávky. Pomůžete nám tak najít pasažéry ve vašem okolí. Stiskněte \"Pokračovat\".",
"driver-explain-checkins.next": "Pokračovat",
"driver-request-location.provide_location": "Pošlete nám prosím vaši polohu. To umožní pasažérům v okolí, aby vás našeli.",
"driver-explain-whats-next.text": "Vše nastaveno! Budeme vás informovat, když o vás projeví zájem pasažér v okolí. Nechte aplikaci běžet a dejte o sobě vědět každou hodinu nebo při změně polohy. Stiskněte \"Pokračovat\".",
"driver-explain-whats-next.next": "Pokračovat",
"driver-index.checkin": "📍 Dát o sobě vědět",
"driver-index.mute": "🔕 Nerušit",
"driver-index.unmute": "🔔 Nahlas (recommended)",
"driver-index.settings": "🔧 Nastavení",
"driver-index.unknown_choice": "Neznámá volba, prosím, zkuste to znovu.",
"driver-mute.mute_ok": "⚠️ Mějte na paměti, že NEBUDETE dostávat upozornění na pasažéry v okolí dokud nebudete mít nastaveno \"Nahlas\"!",
"driver-unmute.unmute_ok": "Oznámení ohledně pasažérů v okolí se budou opět zobrazovat. Nezapomeňte o sobě dát každou hodinu vědět.",
"driver-checkin.provide_location": "Prosím pošlete nám svoji současnou plohu, aby vás mohli najít pasažéři ve vašem okolí.",
"driver-checkin.ok": "👌 Děkujeme, teď o vás víme! Dávejte o sobě vědět každou hodinu nebo při změně polohy. Krom toho zkontrolujte polohu výše. Pokud není správní dejte o sobě vědět znovu a potom zmáčkněte ikonku sponky - poloha (místo mačkání tlačítka).",
"driver-order-new.new_order": "🔔 Nová objednávka!",
"driver-order-new.distance": "Vzdálenost pasažéra: ~%s. Pasažérova poloha (stiskněte pro přiblížení):",
"driver-order-new.from": "Pasažér se nachází zde: %s",
"driver-order-new.to": "Pasažér chce odvézt sem: %s",
"driver-order-new.price": "Pasažér je ochoten zaplatit: %s (v místní měně)",
"driver-order-new.call_to_action": "Prosím vyberte akci 👇 nebo tuto zprávu ignorujte.",
"driver-order-new.send_my_number": "Poslat mé číslo",
"driver-order-new.set_my_price": "Moje cena",
"driver-order-new.price_not_set": "Pasažér nezadal cenu. Nabídněte.",
"metric-distance.km": "%s km",
"passenger-request-price.set_price": "V této aplikaci určuje cenu pasažér 😉 Zadejte cenu v místní měně. Kolik jste ochotni zaplatit? (pokud nevíte, napište \"0\" (nula))",
"passenger-request-price.should_be_numeric": "Jejda, cena by měla být číselná hodnota (a v místní měně)! Např.: \"50\". Zkuste to znovu.",
"passenger-request-price.on_timeout": "Je nám líto, ale nepodařilo se nám najít vám řidiče. Pokud chcete, můžete to zkusit znovu.",
"passenger-contact-new-number.message": "🔔 {{driver}} souhlasí s vámi navrženou cenou! Vzdálenost řidiče ~{{distance}}. Potvrďte objednávku zavoláním:",
"driver-order-set-price.set_price": "Navrhněte vaši cenu (v místní měně). Můžete připojit vysvětlení. Např.: \"20, je tam objížďka\" nebo \"15, když nebude zácpa\"",
"passenger-contact-driver-price.message": "🔔 ⚠️ {{driver}} nabízí tuto cenu: \"{{price}}\". Vzdálenost řidiče ~{{distance}}. Pokud souhlasíte s cenou, potvrďte objednávku zavoláním:",
"passenger-verify-location.verify_location": "Prosím podívejte se na mapu výše (pro zvětšení klikněte), poloha souhlasí?",
"passenger-verify-location.try_with_paperclip": "Zkuste prosím odeslat vašei polohu přes ikonku sponky (přílohy) a polohy.",
"passenger-verify-cash.verify_cash": "Drtivá většina řidičů nepřijímá platební karty. Máte hotovost?",
"passenger-verify-cash.get_some_cash": "🙁 Je nám líto, musíte mít peníze na zaplacení jízdy. Zkuste to znovu, až si obstaráte hotovost, děkujeme.",
"driver-request-radius.request_radius": "V jakém okruhu vám máme zobrazovat poptávky od pasažérů? Vyberte ze seznamu 👇, nebo napiště číslem (max. 10 km).",
"driver-request-radius.option1": "1 km (~0.6 mil)",
"driver-request-radius.option3": "3 km (~1.8 mil), doporučeno",
"driver-request-radius.option5": "5 km (~3.1 míle)",
"driver-request-radius.should_be_valid": "Tato hodnota není přijatelná. Prosím, vyberte z možností 👇, nebo zadejte číslo od 1 do 10.",
"global.location_button_text": "Odeslat polohu",
"global.default_options_message": "Vyberte akci z nabídky níže 👇",
"global.default_inline_options_message": "Zmáčkněte tlačítko 👇, nebo tuto zprávu ignorujte",
"global.replied_to_order": "✔️ Odpověděli jste na tuto ☝️ objednávku. Očekávejte potvrzovací telefonát od pasažéra.",
"global.yes": "Ano",
"global.no": "Ne",
"global.error_try_again": "Jejda, netušíme, co to znamená. Zkuste to prosím znovu.",
"global.error_location": "Jejda, to je ale divná poloha. Prosím zmáčkněte tlačítko se sponkou (příloha) a pošlete nám vaši polohu.",
"global.driver": "Řidič",
"global.phone": "☎️ %s",
"__locale__": "cz",
"__eof__": "__eof__"
}
74 changes: 74 additions & 0 deletions locales/it.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
{
"select-user-type.who_you_are": "Seleziona un tipo, puoi sempre cambiarlo successivamente",
"select-user-type.driver": "Autista",
"select-user-type.passenger": "Passeggero",
"request-phone.type_your_phone": "Perfavore, inviaci il tuo numero di telefono. Non condividiamo questa informazione con nessuno senza la tua autorizzazione.",
"request-phone.button_text": "Invia numero",
"request-phone.all_set": "👌 Tutto a posto, sei pronto per ordinare un taxi!",
"passenger-index.choose_taxi_type": "Che tipo di taxi hai bisogno?",
"passenger-index.car": "🚗 Auto",
"passenger-index.motorbike": "🏍 Scooter / Moto",
"passenger-index.s": "🔧 Impostazioni",
"passenger-index.error_only_known_type": "Scelta non riconosciuta, perfavore scegli Scooter, Automobile oppure impostazioni.",
"passenger-request-location.provide_location": "Perfavore condividi la tua posizione per trovare degli autisti nei dintorni.",
"passenger-request-destination.provide_destination": "Dove vuoi andare? Perfavore scrivi esattamente l'indirizzo (così il GPS può capirlo) oppure descrivi il posto.",
"order-submitted.order_submitted": "⏳ Ricerca di autisti... Se ne trovi uno clicca il bottone qui sotto 👇",
"order-submitted.cancel": "Termina ricerca",
"order-submitted.error_incorrect_input": "Scelta sconosciuta, perfavore prova di nuovo.",
"order-cancelled.order_cancelled": "👌 Grazie, ricerca di autisti terminata.",
"driver-select-vehicle-type.select": "Seleziona il tipo di veicolo che utilizzerai come taxi.",
"driver-select-vehicle-type.motorbike": "🏍 Scooter / Moto",
"driver-select-vehicle-type.car": "🚗 Auto",
"driver-select-vehicle-type.error_only_known_type": "Scelta non riconosciuta, perfavore scegli auto oppure scooter / moto.",
"driver-explain-checkins.text": "Quasi terminato, alcune cose da tenere a mente: Telegram non ha il supporto per la posizione in tempo reale. Ogni volta che cambi posizione, esegui un check-in. In alternativa puoi eseguire un check-in ogni ora se sei pronto per accettare nuovi ordini. Questo ci aiuterà a trovare passeggeri nei dintorni. Clicca \"Avanti\".",
"driver-explain-checkins.next": "Avanti",
"driver-request-location.provide_location": "Perfavore, condividi la tua posizione in modo che i passeggeri nei dintorni possano trovarti.",
"driver-explain-whats-next.text": "Tutto pronto! Verrai notificato di nuovi passeggeri ed ordini nei dintorni. Tieni l'applicazione in esecuzione ed esegui il check-in ogni ora e ad ogni cambio di posizione. Clicca \"Avanti\".",
"driver-explain-whats-next.next": "Avanti",
"driver-index.checkin": "📍 Check-in",
"driver-index.mute": "🔕 Silenzia",
"driver-index.unmute": "🔔 Rimuovi silenzioso (raccomandato)",
"driver-index.settings": "🔧 Impostazioni",
"driver-index.unknown_choice": "Scelta non riconosciuta, riprova.",
"driver-mute.mute_ok": "⚠️ In questo modo NON riceverai notifiche riguardanti passeggeri nei dintorni finchée non rimuoverai il silenzioso.",
"driver-unmute.unmute_ok": "Hai rimosso il silenzioso. Riceverai informazioni riguardanti i passeggeri nella tua zoma. Non dimenticarti di eseguire un check-in ogni ora.",
"driver-checkin.provide_location": "Perfavore condividi la tua posizione, in questo modo i passeggeri saranno in grado di trovarti.",
"driver-checkin.ok": "👌 Grazie per il check-in! Esegui un check-in ogni ora oppure quando cambi posizione! Controlla anche la posizione qua sopra, se è sbagliata esegui nuovamente un check-in, successivamente clicca la posizione indicata dal pin (al posto di premere un bottone).",
"driver-order-new.new_order": "🔔 Nuovo ordine!",
"driver-order-new.distance": "Distanza dal passeggero: ~%s. Località del passeggero (clicca per zoomare):",
"driver-order-new.from": "Il passeggero si trova qui: %s",
"driver-order-new.to": "Il passeggero vuole andare qui: %s",
"driver-order-new.price": "Il passeggero è pronto a pagare: %s (nella valuta locale)",
"driver-order-new.call_to_action": "Scegli un azione 👇 oppure ignora questo messaggio",
"driver-order-new.send_my_number": "Invia il mio numero",
"driver-order-new.set_my_price": "Imposta il mio prezzo",
"driver-order-new.price_not_set": "Il prezzo per quest'ordine non è stato impostato dal passeggero. Spetta a te dare un prezzo.",
"metric-distance.km": "%s km",
"passenger-request-price.set_price": "In questa applicazione è il passeggero a scegliere il prezzo 😉 Proponi un prezzo (nella valuta locale). Quanto sei disposto a pagare? (oppure scrivi \"0\" (zero) se non lo sai)",
"passenger-request-price.should_be_numeric": "Oops, il prezzo deve essere un valore numerico (e nella valuta corrente)! Per esempio: \"50\". Prova di nuovo,!",
"passenger-request-price.on_timeout": "Sembra che stai attendendo da molto tempo. Ci dispiace. Se non hai trovato un passaggio, ti raccomandiamo di provare più tardi.",
"passenger-contact-new-number.message": "🔔 {{driver}} ha accettato il tuo prezzo! Distanza dall'autista: ~{{distance}}. Chiama l'autista per confermare l'ordine:",
"driver-order-set-price.set_price": "Imposta il tuo prezzo (nella valuta corrente). Puoi includere dei dettagli per gistificare il tuo prezzo. Ad esempio: \"20, per via della chisura del ponte\" oppure \"15, se il traffico è ok\"",
"passenger-contact-driver-price.message": "🔔 ⚠️ {{driver}} offre un altro prezzo: \"{{price}}\". Distanza dall'autista: ~{{distance}}. Se sei d'accordo con il prezzo chiama l'autista per confermare l'ordine:",
"passenger-verify-location.verify_location": "Perfavore guarda la mappa qua sopra (clicca per zoomare), la posizione è corretta?",
"passenger-verify-location.try_with_paperclip": "Prova ad inviare la località utilizzando posizionando il pin, successivamente clicca sull'icona della posizione.",
"passenger-verify-cash.verify_cash": "La maggior parte degli autisti non accetta carte di credito. Hai dei contanti?",
"passenger-verify-cash.get_some_cash": "🙁 Siamo spiacenti, devi essere in possesso di contanti per avere un passaggio. Prova a recuperare dei contanti e prova di nuovo!",
"driver-request-radius.request_radius": "A che distanza accetti gli ordini? Seleziona dalla lista 👇 o inserisci un numero (fino a 10 km).",
"driver-request-radius.option1": "1 km (~0.6 miglia)",
"driver-request-radius.option3": "3 km (~1.8 miglia), consigliato",
"driver-request-radius.option5": "5 km (~3.1 miglia)",
"driver-request-radius.should_be_valid": "Non ho capito la tua risposta. Perfavore scegli un opzione 👇 oppure inserisci un numero da 1 a 10.",
"global.location_button_text": "Invia posizione",
"global.default_options_message": "Perfavore scegli un azione dal menu in basso 👇",
"global.default_inline_options_message": "Clicca sul bottone 👇 o ignora questo messaggio",
"global.replied_to_order": "✔️ Hai risposto a questo ☝️ ordine. Aspettati una chiamata dal passeggero per conferma.",
"global.yes": "Si",
"global.no": "No",
"global.error_try_again": "Oops, non ho capito. Riprova.",
"global.error_location": "Oops, non capisco questa posizione. Perfavore clicca sul bottone oppure usa il pin per inviare le tue coordinate GPS.",
"global.driver": "Autista",
"global.phone": "☎️ %s",
"__locale__": "it",
"__eof__": "__eof__"
}
9 changes: 6 additions & 3 deletions src/validations/supported-locales.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,22 @@ localeMap.set('es', 'Español');
localeMap.set('fa', 'فارسی');
localeMap.set('zh-cn', '官话');
localeMap.set('zh-tw', '繁體中文');
localeMap.set('ru', '🇷🇺 Русский');
localeMap.set('pt-br', '🇧🇷 Português');
localeMap.set('fr', 'Français');
localeMap.set('de', 'Deutsch');
localeMap.set('pl', '🇵🇱 Język polski');
localeMap.set('it', '🇮🇹 Italiano');
localeMap.set('pt-br', '🇧🇷 Português');
localeMap.set('pl', '🇵🇱 Polski');
localeMap.set('cz', '🇨🇿 Český');
localeMap.set('tr', '🇹🇷 Türkçe');
localeMap.set('id', '🇮🇩 Bahasa Indonesia');
localeMap.set('ru', '🇷🇺 Русский');

/**
* @typedef SupportedLocales
* @desc Array set that represents the list of currently supported locales:
* - `en` - English locale
* - `ru` - Russian locale
* etc..
* @extends {Array}
* @author Roman Pushkin ([email protected])
* @date 2016-06-17
Expand Down
2 changes: 1 addition & 1 deletion test/i18n-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import walk from 'walk';
import oboe from 'oboe';
import fs from 'fs';

const NUM_OF_LOCALIZATIONS = 12;
const NUM_OF_LOCALIZATIONS = 14;

test.cb('locales should have all keys from en.json, except *_desc', t => {
t.plan(NUM_OF_LOCALIZATIONS - 1);
Expand Down

0 comments on commit c851db1

Please sign in to comment.