diff --git a/app/locales/meta.js b/app/locales/meta.js index 2413e7f..293f8a5 100644 --- a/app/locales/meta.js +++ b/app/locales/meta.js @@ -6,4 +6,5 @@ export default { 'es': 'español', 'fr': 'français', 'it': 'italiano', + 'nb': 'norsk', }; diff --git a/config/ember-intl.js b/config/ember-intl.js index 77d49ef..8df22a4 100644 --- a/config/ember-intl.js +++ b/config/ember-intl.js @@ -27,7 +27,7 @@ module.exports = function(/* environment */) { * @type {String?} * @default "null" */ - fallbackLocale: null, + fallbackLocale: "en", /** * Path where translations are kept. This is relative to the project root. diff --git a/config/environment.js b/config/environment.js index 0717564..f310c54 100644 --- a/config/environment.js +++ b/config/environment.js @@ -36,7 +36,7 @@ module.exports = function(environment) { contentSecurityPolicyMeta: true, moment: { - includeLocales: ['ca', 'de', 'en-gb', 'es', 'fr', 'it'], + includeLocales: ['ca', 'de', 'en-gb', 'es', 'fr', 'it', 'nb'], includeTimezone: 'subset' }, }; diff --git a/tests/integration/translations-test.js b/tests/integration/translations-test.js index 939d527..a197548 100644 --- a/tests/integration/translations-test.js +++ b/tests/integration/translations-test.js @@ -2,61 +2,9 @@ import { module, test } from 'qunit'; import { setupTest } from 'ember-qunit'; import localesMeta from 'croodle/locales/meta'; -const DEFAULT_LOCALE = 'en'; - -function getTranslationsForLocale(intlService, locale) { - return intlService._adapter.lookupLocale(locale).translations; -} - module('Integration | translations', function(hooks) { setupTest(hooks); - test('all locales have same amount of translation strings as default locale', function(assert) { - const intl = this.owner.lookup('service:intl'); - const locales = intl.locales; - const translationsForDefaultLocale = getTranslationsForLocale(intl, DEFAULT_LOCALE); - - assert.expect((locales.length - 1) * 2); - - locales.map((locale) => { - if (locale === DEFAULT_LOCALE) { - return; - } - - let translations = getTranslationsForLocale(intl, locale); - assert.ok(translations, `could retrive locale ${locale}`); - assert.equal( - Object.keys(translations).length, - Object.keys(translationsForDefaultLocale).length, - `correct amount of translations for locale ${locale}` - ); - }); - }); - - test('all locales include same translation strings as default locale', function(assert) { - const intl = this.owner.lookup('service:intl'); - const locales = intl.locales; - const translationsForDefaultLocale = getTranslationsForLocale(intl, DEFAULT_LOCALE); - - assert.expect( - // count of non default locales * translation strings of default locale - (locales.length - 1) * Object.keys(translationsForDefaultLocale).length - ); - - Object.keys(translationsForDefaultLocale).map((translationString) => { - locales.map((locale) => { - if (locale === DEFAULT_LOCALE) { - return; - } - - assert.ok( - intl.exists(translationString, locale), - `translation for ${translationString} exists in locale ${locale}` - ); - }); - }); - }); - test('all locales have an entry in locales/meta', function(assert) { let intl = this.owner.lookup('service:intl'); diff --git a/translations/ca.yml b/translations/ca.yml index 0fb7617..cd2546e 100644 --- a/translations/ca.yml +++ b/translations/ca.yml @@ -60,9 +60,12 @@ create: more-inputs: 'Introduïu un altre orari' copy-first-line: 'Copieu i enganxeu els oraris del primer dia a tots els altres' error: - notEnoughTimes: 'S''ha de determinar com a mínim un orari vàlid per dia. Si només es va triar un dia, cal determinar almenys 2 dates.' - correctTimeFormat: 'Les dates s''han d''introduir com a hora i minut dividides per dos punts (p. ex. 13:00).' - fix-validation-errors-first-day: 'Heu de corregir tots els errors de validació el primer dia abans de copiar.' + notEnoughTimes: 'S''ha de determinar com a mínim un orari vàlid per dia. + Si només es va triar un dia, cal determinar almenys 2 dates.' + correctTimeFormat: 'Les dates s''han d''introduir com a hora i minut dividides + per dos punts (p. ex. 13:00).' + fix-validation-errors-first-day: 'Heu de corregir tots els errors de validació + el primer dia abans de copiar.' settings: answerType: label: 'Quines respostes haurian d''estar disponibles?' @@ -97,24 +100,40 @@ error: title: 'Va ocórrer unerror inesperat.' description: 'El sentim. Va ocórrer un error inesperat. Si us plau intenta-ho més tard.' index: - title: 'Croodle simplifica la data i la presa de decisions …
… i protegeix les teves dades' + title: 'Croodle simplifica la data i la presa de decisions …
… i protegeix + les teves dades' features: title: Funcions list: - overview: ' Troba una data o fer una enquesta amb tantes persones com vulgui.' - privacy: 'Les vostres dades es mantenen privades. Ja en el vostre navegador, serà xifrat. Només les persones que reben l''enllaç de l''enquesta saben què és la vostra enquesta.' - options: 'Podeu determinar tantes opcions de resposta com vulgueu. Podeu triar la vostra data favorita al calendari o crear qualsevol pregunta .' - answers: 'Podeu utilitzar opcions de resposta predefinides , per exemple , no, potser o permet crear respostes propias.' - evaluation: 'Podeu consultar una revisió automàtica actualitzada de les respostes preferides.' + overview: ' Troba una data o fer una enquesta + amb tantes persones com vulgui.' + privacy: 'Les vostres dades es mantenen privades. Ja en el vostre navegador, + serà xifrat. Només les persones que reben l''enllaç + de l''enquesta saben què és la vostra enquesta.' + options: 'Podeu determinar tantes opcions de resposta + com vulgueu. Podeu triar la vostra data favorita al calendari + o crear qualsevol pregunta.' + answers: 'Podeu utilitzar opcions de resposta predefinides , + per exemple , no, potser o permet crear + respostes propias.' + evaluation: 'Podeu consultar una revisió automàtica actualitzada de les + respostes preferides.' link: have-a-try: 'Prova-ho ara' hoster: title: 'Hoste el vostre Croodle:' - text: 'No has de confiar en aquest Croodle. Croodle és un programari lliure i el podeu instal·lar al vostre propi servidor. Només necessiteu un servidor amb un espai de uns quans mega bytes, PHP i xifratge SSL. El programari i consells per a la instal·lació estan aquí: {gitHubLink}.' + text: 'No has de confiar en aquest Croodle. Croodle és un programari lliure + i el podeu instal·lar al vostre propi servidor. Només necessiteu un servidor + amb un espai de uns quans mega bytes, PHP i xifratge SSL. El programari + i consells per a la instal·lació estan aquí: {gitHubLink}.' modal: save-retry: title: 'S''ha produït un error en desar.' - text: '

No s''ha pogut desar la teva assistència. Comproveu la vostra connexió a Internet i torneu-ho a provar.

Si això no funciona, és possible que es produeixi una desconexiò temporal del servidor. Espereu uns minuts abans d''entrenar-hi. Podeu deixar la pàgina oberta.

Si els problemes continuen, poseu-vos en contacte amb l''administrador d''aquest lloc.

' + text: '

No s''ha pogut desar la teva assistència. Comproveu la vostra connexió + a Internet i torneu-ho a provar.

Si això no funciona, és possible + que es produeixi una desconexiò temporal del servidor. Espereu uns minuts + abans d''entrenar-hi. Podeu deixar la pàgina oberta.

Si els problemes + continuen, poseu-vos en contacte amb l''administrador d''aquest lloc.

' button-retry: 'Torna-ho a provar' options: Opcions poll: @@ -134,19 +153,28 @@ poll: participantTable: 'Assistents i les seves respostes' bestOption: label: - findADate: '{count, plural, =1 {La data preferida és} other {Les dates preferides són}}' - makeAPoll: '{count, plural, =1 {L''opció preferida és} other {Les opcions preferides són}}' + findADate: '{count, plural, =1 {La data preferida és} other {Les dates + preferides són}}' + makeAPoll: '{count, plural, =1 {L''opció preferida és} other {Les + opcions preferides són}}' bestOptionParticipants: findADate: - yes: '{count, plural, =1 {Una persona té temps.} other {# persones tenen temps.}}' - maybe: '{count, plural, =1 {Una persona potser té temps.} other {# persones potser tinguin temps.}}' - no: '{count, plural, =1 {Una persona no té temps.} other {# persones no tenen temps.}}' + yes: '{count, plural, =1 {Una persona té temps.} other {# persones + tenen temps.}}' + maybe: '{count, plural, =1 {Una persona potser té temps.} other {# + persones potser tinguin temps.}}' + no: '{count, plural, =1 {Una persona no té temps.} other {# persones + no tenen temps.}}' makeAPoll: - yes: '{count, plural, =1 {Una persona li agrada aquesta opció.} other {# persones els agrada aquesta opció.}}' - maybe: '{count, plural, =1 {Una persona potser li agrada aquesta opció.} other { Hi pot haver # persones com aquesta opció.}}' - no: '{count, plural, =1 {Una persona no li agrada aquesta opció} other {# persones no els agrada aquesta opció.}}' + yes: '{count, plural, =1 {Una persona li agrada aquesta opció.} other + {# persones els agrada aquesta opció.}}' + maybe: '{count, plural, =1 {Una persona potser li agrada aquesta opció.} + other { Hi pot haver # persones com aquesta opció.}}' + no: '{count, plural, =1 {Una persona no li agrada aquesta opció} other + {# persones no els agrada aquesta opció.}}' lastParticipation: 'L''última persona va assistir fa {ago}.' - participants: '{count, plural, =1 {Una persona va participar a l''enquesta.} other {# persones van participar en l''enquesta. }}' + participants: '{count, plural, =1 {Una persona va participar a l''enquesta.} + other {# persones van participar en l''enquesta. }}' input: newUserName: label: Nom @@ -161,13 +189,16 @@ poll: modal: timezoneDiffers: title: 'En quines zones horàries s''han de presentar les dates?' - body: 'L''enquesta es va crear per a una zona horària diferent de la vostra hora local. En quines zones horàries s''han de presentar les dates?' + body: 'L''enquesta es va crear per a una zona horària diferent de la vostra + hora local. En quines zones horàries s''han de presentar les dates?' button: useLocalTimezone: 'La meva zona horària' usePollTimezone: 'Zona horària original' share: title: 'Comparteix l''enllaç per convidar a altres a l''enquesta.' - notice: 'Tothom amb l''enllaç pot veure la seva enquesta. Si conté dades privades, només haureu de passar-lo a través de correu xifrat o xat amb una encriptaciò d''extrem a extrem.' + notice: 'Tothom amb l''enllaç pot veure la seva enquesta. Si conté dades privades, + només haureu de passar-lo a través de correu xifrat o xat amb una encriptaciò + d''extrem a extrem.' pollTypes: findADate: label: 'Vull trobar una cita. (p. ex., Hora i data per a una cita)' @@ -207,7 +238,7 @@ errors: date: '{description} ha de ser una data valida' email: '{description} ha de ser una adreça vàlida de correu electrònic' phone: '{description} ha de ser un número de telèfon vàlid' - url: '{description} ha de ser un URL vàlid ' + url: '{description} ha de ser un URL vàlid' time: '{description} ha de ser un orari vàlid (p. ex. 10:45)' timeNotPartially: 'Temps parcials no estan suportats.' unique: '{description} ha de ser explícita' diff --git a/translations/de.yml b/translations/de.yml index a0259b8..f85e157 100644 --- a/translations/de.yml +++ b/translations/de.yml @@ -33,7 +33,7 @@ create: input: title: label: Titel - placeholder: 'Füge einen Umfragetitel hinzu.' + placeholder: 'Gib deiner Umfrage einen Titel.' description: label: Beschreibung placeholder: 'Optional: Füge der Umfrage eine Beschreibung hinzu.' @@ -60,9 +60,14 @@ create: more-inputs: 'Weitere Uhrzeiten eingeben' copy-first-line: 'Uhrzeiten des ersten Tages für alle anderen übernehmen' error: - notEnoughTimes: 'Es muss mindestens eine gültige Uhrzeit pro Tag festgelegt werden. Falls nur ein einziger Tag ausgewählt wurde, müssen mindestens 2 Uhrzeiten festgelegt werden.' - correctTimeFormat: 'Uhrzeiten müssen als Stunden und Minuten getrennt durch einen Doppelpunkt eingegeben werden (z.B. 13:00).' - fix-validation-errors-first-day: 'Alle fehlerhaften Zeiten für den ersten Tag müssen vor Übernahme behoben werden.' + notEnoughTimes: 'Es muss mindestens eine gültige Uhrzeit pro Tag festgelegt + werden. Falls nur ein einziger Tag ausgewählt wurde, müssen mindestens + 2 Uhrzeiten festgelegt werden.' + correctTimeFormat: 'Uhrzeiten müssen als Stunden und Minuten getrennt + durch einen Doppelpunkt eingegeben werden (z.B. 13:00).' + fix-validation-errors-first-day: 'Alle fehlerhaften Zeiten für den ersten + Tag müssen korrigiert werden, bevor diese für weitere Tage übernommen + werden können.' settings: answerType: label: 'Welche Antworten sollen verfügbar sein?' @@ -83,70 +88,106 @@ create: error: poll: decryptionFailed: - title: 'Decryption failed' - description: 'Decrypting poll data failed. This is most likely caused by a wrong encryption key. Please double-check the URL entered, especially the part after the question mark.' + title: 'Entschlüsselung fehlgeschlagen' + description: 'Das Entschlüsseln der Umfragedaten ist fehlgeschlagen. In + den meisten Fällen liegt dies an einer falschen Passphrase für die + Entschlüsselung. Bitte überprüfen Sie die eingegebene URL, insbesondere + den Teil nach dem Fragezeichen.' notFound: - title: 'Poll could not be found' - description: 'The poll you are looking for could not be found. This could be caused by different reasons, including:' + title: 'Umfrage nicht gefunden' + description: 'Die Umfrage, die Sie aufgerufen haben, konnte nicht gefunden + wurde. Dies kann verschiedene Ursache haben. Unter anderem:' reasons: - expired: 'The poll is expired and has been deleted.' - typo: 'There is a typo in the URL. You may want to double-check it - especially the part before the question mark.' - savingFailed: 'Die Umfrage konnte nicht gespeichert werden. Bitte versuche es in einigen Sekunden erneut.' + expired: 'Diese Umfrage wurde gelöscht, nachdem ihr Ablaufdatum überschritten + war.' + typo: 'Die URL ist fehlerhaft. Bitte prüfe, dass die URL vollständig + und korrekt ist. Achte dabei insbesondere auf den Teil vor dem + Fragezeichen.' + savingFailed: 'Die Umfrage konnte nicht gespeichert werden. Bitte versuche + es in einigen Sekunden erneut.' generic: unexpected: - title: 'An unexpected error occured' - description: 'We are sorry. An unexpected error occurred. Please try again later.' + title: 'Ein unerwarteter Fehler ist aufgetreten' + description: 'Es tut uns leid. Ein unerwarteter Fehler ist aufgetreten. + Bitte versuchen Sie es später noch einmal.' index: - title: 'Croodle vereinfacht die Termin- und Entscheidungsfindung …
… und schützt dabei deine Daten' + title: 'Croodle vereinfacht die Termin- und Entscheidungsfindung …
… und schützt + dabei deine Daten' features: title: Funktionen list: - overview: 'Finde einen Termin oder mache eine Umfrage mit so vielen Leuten, wie du möchtest.' - privacy: 'Deine Daten bleiben privat: Sie werden bereits in deinem Browser verschlüsselt. Worum es in deiner Umfrage geht, wissen nur die Personen, denen du den Umfrage-Link sendest.' - options: 'Du kannst so viele Antwortmöglichkeiten festlegen, wie du möchtest. Du kannst deinen Wunschtermin im Kalender auswählen, oder beliebige Fragen erstellen.' - answers: 'Du kannst vordefinierte Anwortmöglichkeiten nutzen, wie zum Beispiel ja, nein, vielleicht oder selbsterstellte Antworten erlauben.' - evaluation: 'Du behältst den Überblick durch eine automatisch aktualisierte Übersicht der bevorzugten Antworten.' + overview: 'Finde einen Termin oder mache eine + Umfrage mit so vielen Leuten, wie du möchtest.' + privacy: 'Deine Daten bleiben privat: Sie werden bereits in deinem Browser + verschlüsselt. Worum es in deiner Umfrage geht, wissen + nur die Personen, denen du den Umfrage-Link sendest.' + options: 'Du kannst so viele Antwortmöglichkeiten festlegen, + wie du möchtest. Du kannst deinen Wunschtermin im Kalender + auswählen, oder beliebige Fragen erstellen.' + answers: 'Du kannst vordefinierte Anwortmöglichkeiten + nutzen, wie zum Beispiel ja, nein, vielleicht + oder selbsterstellte Antworten erlauben.' + evaluation: 'Du behältst den Überblick durch eine automatisch aktualisierte + Übersicht der bevorzugten Antworten.' link: have-a-try: 'probiere es jetzt aus' hoster: title: 'Hoste dein eigenes Croodle:' - text: 'Du musst diesem Croodle nicht vertrauen. Croodle ist freie Software und du kannst sie auf deinem eigenen Server installieren. Hierzu werden lediglich einige Megabyte Speicherplatz, PHP und SSL-Verschlüsselung benötigt. Die Software und Tipps zur Installation findest du auf {gitHubLink}.' + text: 'Du musst diesem Croodle nicht vertrauen. Croodle ist freie Software + und du kannst sie auf deinem eigenen Server installieren. Hierzu werden + lediglich einige Megabyte Speicherplatz, PHP und SSL-Verschlüsselung benötigt. + Die Software und Tipps zur Installation findest du auf {gitHubLink}.' modal: save-retry: title: 'Speichern fehlgeschlagen.' - text: '

Deine Teilnahme konnte nicht gespeichert werden. Bitte prüfe deine Internetverbindung und versuche es anschließend erneut.

Sollte dies nicht helfen, kann ein kurzfristiges Ausfall des Servers schuld sein. Warte bitte einige Minuten bevor du es erneut versuchst. Du kannst die Seite so lange geöffnet lassen.

Sollten die Probleme anhalten, wende dich bitte an die Administratoren der Seite.

' + text: '

Deine Teilnahme konnte nicht gespeichert werden. Bitte prüfe deine + Internetverbindung und versuche es anschließend erneut.

Sollte dies + nicht helfen, kann ein kurzfristiges Ausfall des Servers schuld sein. + Warte bitte einige Minuten bevor du es erneut versuchst. Du kannst die + Seite so lange geöffnet lassen.

Sollten die Probleme anhalten, wende + dich bitte an die Administratoren der Seite.

' button-retry: 'erneut versuchen' options: Optionen poll: created-date: 'Erstellt am {date}.' expiration-date: 'Verfällt am {date}.' - expiration-date-warning: 'Diese Umfrage verfällt {timeToNow} und wird danach automatisch gelöscht.' + expiration-date-warning: 'Diese Umfrage verfällt {timeToNow} und wird danach automatisch + gelöscht.' tab-title: participation: Teilnehmen evaluation: Auswertung error: newUser: everyOptionIsAnswered: 'Bitte beantworte jede Option.' - newUserName: 'Du musst einen Nutzernamen angeben.' + newUserName: 'Du musst einen Benutzernamen angeben.' evaluation: label: Auswertung overview: Übersicht participantTable: 'Teilnehmende und ihre Antworten' bestOption: label: - findADate: '{count, plural, =1 {Der bevorzugte Termin ist} other {Die bevorzugten Termine sind}}' - makeAPoll: '{count, plural, =1 {Die bevorzugte Option ist} other {Die bevorzugten Optionen sind}}' + findADate: '{count, plural, =1 {Der bevorzugte Termin ist} other {Die + bevorzugten Termine sind}}' + makeAPoll: '{count, plural, =1 {Die bevorzugte Option ist} other {Die + bevorzugten Optionen sind}}' bestOptionParticipants: findADate: - yes: '{count, plural, =1 {Eine Person hat Zeit.} other {# Personen haben Zeit.}}' - maybe: '{count, plural, =1 {Eine Person hat vielleicht Zeit.} other {# Personen haben vielleicht Zeit.}}' - no: '{count, plural, =1 {Eine Person hat keine Zeit.} other {# Personen haben keine Zeit.}}' + yes: '{count, plural, =1 {Eine Person hat Zeit.} other {# Personen + haben Zeit.}}' + maybe: '{count, plural, =1 {Eine Person hat vielleicht Zeit.} other + {# Personen haben vielleicht Zeit.}}' + no: '{count, plural, =1 {Eine Person hat keine Zeit.} other {# Personen + haben keine Zeit.}}' makeAPoll: - yes: '{count, plural, =1 {Einer Person gefällt diese Option.} other {# Personen gefällt diese Option.}}' - maybe: '{count, plural, =1 {Einer Person gefällt diese Option vielleicht.} other {# Personen gefällt diese Option vielleicht.}}' - no: '{count, plural, =1 {Einer Person gefällt diese Option nicht.} other {# Personen gefällt diese Option nicht.}}' + yes: '{count, plural, =1 {Einer Person gefällt diese Option.} other + {# Personen gefällt diese Option.}}' + maybe: '{count, plural, =1 {Einer Person gefällt diese Option vielleicht.} + other {# Personen gefällt diese Option vielleicht.}}' + no: '{count, plural, =1 {Einer Person gefällt diese Option nicht.} + other {# Personen gefällt diese Option nicht.}}' lastParticipation: 'Die letzte Person hat {ago} teilgenommen.' - participants: '{count, plural, =1 {Eine Person hat sich an der Umfrage beteiligt.} other {# Personen haben sich an der Umfrage beteiligt.}}' + participants: '{count, plural, =1 {Eine Person hat sich an der Umfrage beteiligt.} + other {# Personen haben sich an der Umfrage beteiligt.}}' input: newUserName: label: Name @@ -161,16 +202,20 @@ poll: modal: timezoneDiffers: title: 'In welcher Zeitzone sollen die Daten angezeigt werden?' - body: 'Die Umfrage wurde für eine Zeitzone angelegt, die von deiner lokalen Zeit abweicht. In welcher Zeitzone sollen die Daten angezeigt werden?' + body: 'Die Umfrage wurde für eine Zeitzone angelegt, die von deiner lokalen + Zeit abweicht. In welcher Zeitzone sollen die Daten angezeigt werden?' button: useLocalTimezone: 'meine Zeitzone' usePollTimezone: Original-Zeitzone share: title: 'Teile den Link und lade Andere zu deiner Umfrage ein.' - notice: 'Jeder der den Link kennt, kann deine Umfrage ansehen. Falls diese private Daten enthält, solltest du den Link nur per verschlüsselter Mail oder Chat mit Ende-zu-Ende-Verschlüsselung weitergeben.' + notice: 'Jeder, der den Link kennt, kann deine Umfrage ansehen. Falls diese + private Daten enthält, solltest du den Link nur per verschlüsselter E-Mail + oder Chat mit Ende-zu-Ende-Verschlüsselung weitergeben.' pollTypes: findADate: - label: 'Ich möchte einen Termin finden. (z.B. Datum oder Uhrzeit für eine Verabredung)' + label: 'Ich möchte einen Termin finden. (z.B. Datum oder Uhrzeit für eine + Verabredung)' makeAPoll: label: 'Ich möchte eine Frage beantworten. (z.B. Wozu schmeckt Kaffe am Besten?)' times: Zeiten @@ -195,7 +240,7 @@ errors: wrongLength: '{description} hat die falsche Länge, es müssen {is} Zeichen sein' notANumber: '{description} ist keine Zahl' notAnInteger: '{description} muss eine ganze Zahl sein' - greaterThan: '{description} muss größer sein als {count}' + greaterThan: '{description} muss größer als {count} sein' greaterThanOrEqualTo: '{description} muss größer oder gleich {count} sein' equalTo: '{description} muss {count} sein' lessThan: '{description} muss weniger als {count} sein' diff --git a/translations/en.yml b/translations/en.yml index eb17cd5..f35e318 100644 --- a/translations/en.yml +++ b/translations/en.yml @@ -60,9 +60,12 @@ create: more-inputs: 'Enter other times' copy-first-line: 'Copy and paste times of first day to all other' error: - notEnoughTimes: 'It must be determined at least one valid time per day. If only one day is chosen, at least 2 dates must be determined.' - correctTimeFormat: 'Dates have to be entered as hour and minute divided by an colon (e.g. 13:00).' - fix-validation-errors-first-day: 'You have to fix all validation errors on the first day before copying.' + notEnoughTimes: 'It must be determined at least one valid time per day. + If only one day is chosen, at least 2 dates must be determined.' + correctTimeFormat: 'Dates have to be entered as hour and minute divided + by an colon (e.g. 13:00).' + fix-validation-errors-first-day: 'You have to fix all validation errors on + the first day before copying.' settings: answerType: label: 'Which answers should be available?' @@ -84,37 +87,58 @@ error: poll: decryptionFailed: title: 'Decryption failed' - description: 'Decrypting poll data failed. This is most likely caused by a wrong encryption key. Please double-check the URL entered, especially the part after the question mark.' + description: 'Decrypting poll data failed. This is most likely caused + by a wrong encryption key. Please double-check the URL entered, especially + the part after the question mark.' notFound: title: 'Poll could not be found' - description: 'The poll you are looking for could not be found. This could be caused by different reasons, including:' + description: 'The poll you are looking for could not be found. This could + be caused by different reasons, including:' reasons: expired: 'The poll is expired and has been deleted.' - typo: 'There is a typo in the URL. You may want to double-check it – especially the part before the question mark.' + typo: 'There is a typo in the URL. You may want to double-check it + – especially the part before the question mark.' savingFailed: 'The poll could not be saved. Please try again in a few seconds.' generic: unexpected: title: 'An unexpected error occured' - description: 'We are sorry. An unexpected error occurred. Please try again later.' + description: 'We are sorry. An unexpected error occurred. Please try again + later.' index: - title: 'Croodle simplifies date and decision-making …
… and protects your data' + title: 'Croodle simplifies date and decision-making …
… and protects your + data' features: title: Functions list: - overview: 'Find a date or make a survey with as many people as you want.' - privacy: 'Your data stays private. It will be encrypted directly in your browser. Only the people receiving the link for the poll know what your poll is about.' - options: 'You can determine as many answer options as you want. You can choose your favorite date in the calendar or create any question.' - answers: 'You can use predefined answer options,for example yes, no, maybe or allow self-created answers.' - evaluation: 'You keep an overview by an automatic actualized review of preferred answers.' + overview: 'Find a date or make a survey + with as many people as you want.' + privacy: 'Your data stays private. It will be encrypted + directly in your web-browser. Only those receiving the link for the + poll will know what it is about.' + options: 'You can determine as many answer options as + you want. You can choose your favorite date in the calendar + or create any question.' + answers: 'You can use predefined answer options, for + example yes, no, maybe or allow self-created + answers.' + evaluation: 'You keep an overview by an automatic actualized review + of preferred answers.' link: have-a-try: 'Try it now' hoster: title: 'Host your own Croodle:' - text: 'You don’t have to trust this Croodle. Croodle is a free software and you can install it on your own server. You only need some mega byte server space, PHP and SSL-encryption. The software and tips for installation are here: {gitHubLink}.' + text: 'You don’t have to trust this Croodle. Croodle is a free software and + you can install it on your own server. You only need some mega byte server + space, PHP and SSL-encryption. The software and tips for installation + are here: {gitHubLink}.' modal: save-retry: title: 'Saving failed.' - text: '

Your attendance could not be saved. Please check your internet connection and try again.

If this doesn’t work, a short-term breakdown of the server could be the reason. Please wait a couple of minutes before trying again. You can leave the page open.

Please contact the site administrator if the problem persists.

' + text: '

Your attendance could not be saved. Please check your internet connection + and try again.

If this doesn’t work, a short-term breakdown of the + server could be the reason. Please wait a couple of minutes before trying + again. You can leave the page open.

Please contact the site administrator + if the problem persists.

' button-retry: 'Try again' options: Options poll: @@ -127,26 +151,35 @@ poll: error: newUser: everyOptionIsAnswered: 'Please answer every option.' - newUserName: 'You have to enter a user name.' + newUserName: 'You have to enter a username.' evaluation: label: Evaluation overview: Review participantTable: 'Attendants and their answers' bestOption: label: - findADate: '{count, plural, =1 {The preferred date is} other {The preferred dates are}}' - makeAPoll: '{count, plural, =1 {The preferred option is} other {The preferred options are}}' + findADate: '{count, plural, =1 {The preferred date is} other {The + preferred dates are}}' + makeAPoll: '{count, plural, =1 {The preferred option is} other {The + preferred options are}}' bestOptionParticipants: findADate: - yes: '{count, plural, =1 {One person has time.} other {# people have time.}}' - maybe: '{count, plural, =1 {One person maybe has time.} other {# people maybe have time.}}' - no: '{count, plural, =1 {One person does not have time.} other {# people do not have time.}}' + yes: '{count, plural, =1 {One person has time.} other {# people have + time.}}' + maybe: '{count, plural, =1 {One person maybe has time.} other {# people + maybe have time.}}' + no: '{count, plural, =1 {One person does not have time.} other {# + people do not have time.}}' makeAPoll: - yes: '{count, plural, =1 {One person likes this option.} other {# people like this option.}}' - maybe: '{count, plural, =1 {one person maybe likes this option.} other {# people maybe like this option.}}' - no: '{count, plural, =1 {One person does not like this option} other {# people do not like this option.}}' + yes: '{count, plural, =1 {One person likes this option.} other {# + people like this option.}}' + maybe: '{count, plural, =1 {one person maybe likes this option.} other + {# people maybe like this option.}}' + no: '{count, plural, =1 {One person does not like this option} other + {# people do not like this option.}}' lastParticipation: 'The last person attended {ago}.' - participants: '{count, plural, =1 {One person participated in the poll.} other {# people participated in the poll.}}' + participants: '{count, plural, =1 {One person participated in the poll.} other + {# people participated in the poll.}}' input: newUserName: label: Name @@ -161,13 +194,16 @@ poll: modal: timezoneDiffers: title: 'In which time zones should the dates be presented?' - body: 'The poll was created for a time zone which differs from your local time. In which time zones should the dates be presented?' + body: 'The poll was created for a time zone which differs from your local + time. In which time zones should the dates be presented?' button: useLocalTimezone: 'My time zone' usePollTimezone: 'Original time zone' share: title: 'Share the link and invite others to the poll.' - notice: 'Everyone with the link can see your poll. If it contains private data, you should only pass it on through encrypted mail or chat with end-to-end encryption.' + notice: 'Everyone that has the link can see your poll. If it contains private + data, you should only pass it on in person, through encrypted e-mail or + a chat with end-to-end encryption.' pollTypes: findADate: label: 'I want to find a date. (e.g. time and date for an appointment)' @@ -190,14 +226,14 @@ errors: collection: '{description} must be a collection' singular: '{description} must not be a collection' tooLong: '{description} is too long (max {max} characters)' - tooShort: '{description} iss to short (at least {min} characters)' + tooShort: '{description} is to short (at least {min} characters)' before: '{description} must be before {date}' after: '{description} must be after {date}' wrongDateFormat: '{description} must be in {date}' wrongLength: '{description} has the wrong length, it must be {is} characters' notANumber: '{description} is not a number' notAnInteger: '{description} must be a whole number' - greaterThan: '{description} must be bigger than{count}' + greaterThan: '{description} must be bigger than {count}' greaterThanOrEqualTo: '{description} must be equal to or bigger than {count}' equalTo: '{description} must be {count}' lessThan: '{description} must be more than {count}' @@ -209,6 +245,6 @@ errors: date: '{description} must be a valid date' email: '{description} must be a valid e-mail address' phone: '{description} must be a valid phone number' - url: '{description} must be a valid URL ' + url: '{description} must be a valid URL' time: '{description} must be a valid time (e.g. 10:45)' unique: '{description} must be explicit' diff --git a/translations/es.yml b/translations/es.yml index c302ae7..2e83371 100644 --- a/translations/es.yml +++ b/translations/es.yml @@ -58,11 +58,15 @@ create: datetimes: label: Horarios more-inputs: 'Añadir más horarios' - copy-first-line: 'Utilizar el horario de la primera línea para todas las demás.' + copy-first-line: 'Utilizar el horario de la primera línea para todas las demás' error: - notEnoughTimes: 'Ha de establecerse almenos un horario correcto para cada día. Si se ha elegido únicamente un día, hay que indicar almenos dos horarios.' - correctTimeFormat: 'Las horas y minutos del horario deben estar separadas por el caracter dospuntos (p.ej. 13:00).' - fix-validation-errors-first-day: 'Tienes quee corregir todos los errores antes de copiar.' + notEnoughTimes: 'Ha de establecerse almenos un horario correcto para cada + día. Si se ha elegido únicamente un día, hay que indicar almenos dos + horarios.' + correctTimeFormat: 'Las horas y minutos del horario deben estar separadas + por el caracter dospuntos (p.ej. 13:00).' + fix-validation-errors-first-day: 'Tienes quee corregir todos los errores antes + de copiar.' settings: answerType: label: '¿Que respuesta debería estar disponible?' @@ -71,7 +75,7 @@ create: expirationDate: label: '¿Cuando debería caducar la encuesta y ser borrada?' expirationDurations: - P7D: 'dentro de una semana desde hoy ' + P7D: 'dentro de una semana desde hoy' P1M: 'dentro de un mes desde' P3M: 'dentro de tres meses desde hoy' P6M: 'dentro de seis meses desde hoy' @@ -97,24 +101,40 @@ error: title: 'Ocurrió un error inesperado' description: 'Lo sentimos. Ocurrió un error inesperado. Por favor inténtalo más tarde.' index: - title: 'Croodle simplifica las citas y la toma de decisiones …
… y al mismo tiempo protege tus datos' + title: 'Croodle simplifica las citas y la toma de decisiones …
… y al mismo + tiempo protege tus datos' features: title: Funciones list: - overview: 'Encontrar una fecha o hacer una encuesta con la cantidad de personas que quieras.' - privacy: 'Tus datos son privados: Ya desde tu navegador los datos son encriptados. ünicamente las personas a las que mandes el enlace directamente sabrán que tu encuesta existe y de que se trata.' - options: 'Puedes incluir tantas opciones de respuesta como quieras. Puedes elegir tus fechas preferidas o escribir cualquier pregunta' - answers: 'Puedes utilizar respuestas pre definidas
como si,no, quizás o permitir una respuesta libre.' - evaluation: 'Mantendrás el control mediante la revisión de las respuestas favoritas.' + overview: 'Encontrar una fecha o hacer una encuesta + con la cantidad de personas que quieras.' + privacy: 'Tus datos son privados: Ya desde tu navegador los datos son + encriptados. ünicamente las personas a las que mandes + el enlace directamente sabrán que tu encuesta existe y de que se trata.' + options: 'Puedes incluir tantas opciones de respuesta + como quieras. Puedes elegir tus fechas preferidas + o escribir cualquier pregunta.' + answers: 'Puedes utilizar respuestas pre definidas como + si,no, quizás o permitir una respuesta + libre.' + evaluation: 'Mantendrás el control mediante la revisión de las + respuestas favoritas.' link: have-a-try: 'pruebalo ahora' hoster: title: 'Instala tu propio Croodle:' - text: 'No tienes porque fiarte de este Croodle. Croodle es software libre y tu puedes instalarlo en tu propio servidor. Sólo unos pocos megas de espacio, PHP y encriptación-SSL. Puesde encontrar el software y ayuda en inglés para la instalación aquí {gitHubLink}.' + text: 'No tienes porque fiarte de este Croodle. Croodle es software libre + y tu puedes instalarlo en tu propio servidor. Sólo unos pocos megas de + espacio, PHP y encriptación-SSL. Puesde encontrar el software y ayuda + en inglés para la instalación aquí {gitHubLink}.' modal: save-retry: - title: 'Error al guardar' - text: '

Tu inscripción no pudo ser guardada. Por favor, comprueba tu conexión a internet e inténtalo de nuevo.

Si esto no ayuda, podría ser debido a un breve fallo en el servidor. Por favor, espera unos minutos e inténtalo de nuevo. Puedes esperar mientras la página se abre.

Si los problemas continúan, por favor, contacte al administrador de la página.

' + title: 'Error al guardar.' + text: '

Tu inscripción no pudo ser guardada. Por favor, comprueba tu conexión + a internet e inténtalo de nuevo.

Si esto no ayuda, podría ser debido + a un breve fallo en el servidor. Por favor, espera unos minutos e inténtalo + de nuevo. Puedes esperar mientras la página se abre.

Si los problemas + continúan, por favor, contacte al administrador de la página.

' button-retry: Reintentar options: 'Opciones' poll: @@ -134,19 +154,28 @@ poll: participantTable: 'Participantes y respuestas' bestOption: label: - findADate: '{count, plural, =1 {La fecha preferida es} other {Las fechas preferidas son}}' - makeAPoll: '{count, plural, =1 {La opción preferida es} other {Las opciones preferidas son}}' + findADate: '{count, plural, =1 {La fecha preferida es} other {Las + fechas preferidas son}}' + makeAPoll: '{count, plural, =1 {La opción preferida es} other {Las + opciones preferidas son}}' bestOptionParticipants: findADate: - yes: '{count, plural, =1 {Una persona tiene tiempo.} other {# personas tienen tiempo.}}' - maybe: '{count, plural, =1 {Una persona quizás tiene tiempo.} other {# personas quizás tienen tiempo.}}' - no: '{count, plural, =1 {Una persona no tiene tiempo.} other {# personas no tienen tiempo.}}' + yes: '{count, plural, =1 {Una persona tiene tiempo.} other {# personas + tienen tiempo.}}' + maybe: '{count, plural, =1 {Una persona quizás tiene tiempo.} other + {# personas quizás tienen tiempo.}}' + no: '{count, plural, =1 {Una persona no tiene tiempo.} other {# personas + no tienen tiempo.}}' makeAPoll: - yes: '{count, plural, =1 {A una persona le gusta esta opción.} other {# personas les gusta esta opción.}}' - maybe: '{count, plural, =1 {A una persona quizás le gusta esta opción.} other {# personas quizás les guste esta opción.}}' - no: '{count, plural, =1 {A una persona no le gustan estas opciones.} other {# personas no les gustan estas opciones.}}' + yes: '{count, plural, =1 {A una persona le gusta esta opción.} other + {# personas les gusta esta opción.}}' + maybe: '{count, plural, =1 {A una persona quizás le gusta esta opción.} + other {# personas quizás les guste esta opción.}}' + no: '{count, plural, =1 {A una persona no le gustan estas opciones.} + other {# personas no les gustan estas opciones.}}' lastParticipation: 'La última persona participó hace {ago}.' - participants: '{count, plural, =1 {Una personas participó en la encuesta.} other {# personas participaron en la encuesta.}}' + participants: '{count, plural, =1 {Una personas participó en la encuesta.} + other {# personas participaron en la encuesta.}}' input: newUserName: label: Nombre @@ -161,16 +190,19 @@ poll: modal: timezoneDiffers: title: '¿Que zona horaria deseas utilizar para mostrar los datos?' - body: 'La encuesta ha sido configurada para una zona horaria distinta de tu hora local. ¿Con qué zona horaria debería mostrarse la información?' + body: 'La encuesta ha sido configurada para una zona horaria distinta + de tu hora local. ¿Con qué zona horaria debería mostrarse la información?' button: useLocalTimezone: 'mi zona horaria' usePollTimezone: 'la zona horaria original' share: title: 'Comparte el enlace e invita a otras personas a la encuesta.' - notice: 'Cualquiera que conozca el enlace podrá ver tu encuesta. Si esta contiene información privada deberías compartir el enlace únicamente mediante un correo electrónico encriptado o mediante chat con encriptación de-punto-a-punto.' + notice: 'Cualquiera que conozca el enlace podrá ver tu encuesta. Si esta contiene + información privada deberías compartir el enlace únicamente mediante un + correo electrónico encriptado o mediante chat con encriptación de-punto-a-punto.' pollTypes: findADate: - label: 'Querría crear una fecha (p. ej. fecha para una reunión).' + label: 'Querría crear una fecha (p. ej. fecha para una reunión)' makeAPoll: label: 'Querría responder a una pregunta (p. ej. ¿con que tomas el café?).' times: Horarios @@ -184,7 +216,7 @@ errors: empty: '{description} no puede estar vacio' blank: '{description} no puede estar en blanco' present: '{description} debe estar en blanco' - answerRequired: 'Hay que escoger una respuesta.' + answerRequired: 'Hay que escoger una respuesta' collection: '{description} tiene que ser una colección' singular: '{description} no puede ser una colección' tooLong: '{description} es demasiado largo/a (el máximo son {max} caractéres)' @@ -205,7 +237,7 @@ errors: even: '{description} debe de ser par' positive: '{description} debe de ser positivo' date: '{description} debe de ser una fecha válida' - email: '{description} debe de ser una dirección de e-mail valida' + email: '{description} debe de ser una dirección de correo electrónico valida' phone: '{description} debe de ser un número de teléfono valido' url: '{description} debe de ser una URL valida' time: '{description} debe de ser un horario valido (p.ej. 10:45)' diff --git a/translations/fr.yml b/translations/fr.yml index ca06cb9..7d96dde 100644 --- a/translations/fr.yml +++ b/translations/fr.yml @@ -20,7 +20,7 @@ create: index: input: pollType: - label: 'Quel est le but de votre sondage?' + label: 'Quel est le but de votre sondage ?' formStep: type: 'Type de sondage' meta: 'Titre et description' @@ -28,7 +28,7 @@ create: days: Jours text: Options options-datetime: Heures - settings: PAramètres + settings: Paramètres meta: input: title: @@ -36,7 +36,7 @@ create: placeholder: 'Ajoutez un titre de sondage.' description: label: Description - placeholder: 'Facultatif: ajoutez une description au sondage.' + placeholder: 'Facultatif : ajoutez une description au sondage.' options: button: add: @@ -50,7 +50,7 @@ create: error: notEnoughDates: 'Au moins un jour doit être sélectionné' defineTimes: - label: 'Déterminer le temps?' + label: 'Déterminer le temps ?' input: moreOptions: label: "Ajouter d'autres options de réponse" @@ -58,18 +58,22 @@ create: datetimes: label: Heures more-inputs: "Entrez d'autres horaires" - copy-first-line: 'Copiez et collez les horaires du premier jour sur tous les autres' + copy-first-line: 'Copiez et collez les horaires du premier jour sur tous les + autres' error: - notEnoughTimes: 'Il doit être déterminé au moins une fois par jour. Si un seul jour est choisi, au moins 2 dates doivent être déterminées.' - correctTimeFormat: 'Les dates doivent être saisies en heures et minutes séparé par deux points (example. 13:00).' - fix-validation-errors-first-day: 'Vous devez corriger toutes les erreurs de validation du premier jour avant la copie.' + notEnoughTimes: 'Il doit être déterminé au moins une fois par jour. Si + un seul jour est choisi, au moins 2 dates doivent être déterminées.' + correctTimeFormat: 'Les dates doivent être saisies en heures et minutes + séparé par deux points (example. 13:00).' + fix-validation-errors-first-day: 'Vous devez corriger toutes les erreurs de + validation du premier jour avant la copie.' settings: answerType: - label: 'Quelles réponses devraient être disponibles?' + label: 'Quelles réponses devraient être disponibles ?' anonymousUser: - label: 'Autoriser les préposés anonymes au sondage?' + label: 'Autoriser les préposés anonymes au sondage ?' expirationDate: - label: 'Quand votre sondage doit-il expirer et être supprimé?' + label: 'Quand votre sondage doit-il expirer et être supprimé ?' expirationDurations: P7D: 'Dans une semaine' P1M: 'Dans un mois' @@ -78,75 +82,107 @@ create: P1Y: 'Dans un an' never: Jamais forceAnswer: - label: 'Forcer une réponse pour chaque option?' + label: 'Forcer une réponse pour chaque option ?' title: 'Créer un sondage' error: poll: decryptionFailed: title: 'Échec du déchiffrement' - description: "Échec du déchiffrement des données de sondage. Cela est probablement dû à une mauvaise clé de chiffrement. Veuillez vérifier l'URL saisie, en particulier la partie après le point d'interrogation." + description: "Échec du déchiffrement des données de sondage. Cela est\ + \ probablement dû à une mauvaise clé de chiffrement. Veuillez vérifier\ + \ l'URL saisie, en particulier la partie après le point d'interrogation." notFound: title: 'Le sondage est introuvable' - description: 'Le sondage que vous recherchez est introuvable. Cela peut être dû à différentes raisons, notamment:' + description: 'Le sondage que vous recherchez est introuvable. Ceci peut + être dû à différentes raisons, notamment :' reasons: expired: 'Le sondage a expiré et a été supprimé.' - typo: "Il y a une faute de frappe dans l'URL. Vous voudrez peut-être revérifier - en particulier la partie avant le point d'interrogation." - savingFailed: "Le sondage n'a pas pu être enregistré. Veuillez réessayer dans quelques secondes." + typo: "Il y a une faute de frappe dans l'URL. Vous voudrez peut-être\ + \ revérifier - en particulier la partie avant le point d'interrogation." + savingFailed: "Le sondage n'a pas pu être enregistré. Veuillez réessayer dans\ + \ quelques secondes." generic: unexpected: title: "Une erreur inattendue s'est produite" - description: 'Nous sommes désolés. Une erreur inattendue est apparue. Veuillez réessayer plus tard.' + description: 'Nous sommes désolés. Une erreur inattendue est apparue. + Veuillez réessayer plus tard.' index: - title: 'Croodle simplifie la date et la prise de décision …
… et protège vos données' + title: 'Croodle simplifie la date et la prise de décision …
… et protège vos + données' features: title: Fonctions list: - overview: 'Trouvez une date ou faire un sondage avec autant de personnes que vous le souhaitez.' - privacy: 'Vos données restent privées. Elles sont encrypté directement dans votre navigateur. Seules les personnes qui reçoivent le lien du sondage savent de quoi parle votre sondage.' - options: "Vous pouvez déterminer autant d'options de réponse que vous souhaitez. Vous pouvez choisir vos dates préférées dans le calendrier oo Créer un questionnaire." - answers: 'Vous pouvez utiliser des options de réponse prédéfinie,par example oui, non, peut-être ou permettre des réponses personalisées.' - evaluation: 'Vous conservez un aperçu par un compte-rendu des réponses préférées.' + overview: 'Trouvez une date ou faire un sondage + avec autant de personnes que vous le souhaitez.' + privacy: 'Vos données restent privées. Elles sont encrypté + directement dans votre navigateur. Seules les personnes qui reçoivent + le lien du sondage sauront de quoi il parle.' + options: "Vous pouvez déterminer autant d'options de réponse\ + \ que vous souhaitez. Vous pouvez choisir vos dates préférées dans\ + \ le calendrier oo Créer un questionnaire." + answers: 'Vous pouvez utiliser des options de réponse prédéfinie, + par exemple oui, non, peut-être ou permettre + des réponses personalisées.' + evaluation: 'Vous conservez un aperçu par un compte-rendu des + réponses préférées.' link: have-a-try: 'Essayez-le maintenant' hoster: - title: 'Hébergez votre propre Croodle:' - text: 'Vous n’avez pas à faire confiance à ce Croodle. Croodle est un logiciel libre et vous pouvez l’installer sur votre propre serveur. Vous n’avez besoin que d’un espace serveur, PHP et SSL-encryption. Le logiciel et les conseils d’installation sont ici: {gitHubLink}.' + title: 'Hébergez votre propre Croodle :' + text: 'Vous n’avez pas à faire confiance à ce Croodle. Croodle est un logiciel + libre et vous pouvez l’installer sur votre propre serveur. Vous n’avez + besoin que d’un espace serveur, PHP et chiffrement SSL. Le logiciel et + les conseils d’installation sont ici : {gitHubLink}.' modal: save-retry: title: 'Erreur de sauvegarde.' - text: "

Votre sondage n’a pas pu être sauvée. S'il vous plaît, vérifiez votre connexion à internet et réessayez.

Si ça ne fonctionne pas, une panne momentanée du serveur pourrait être la cause. Veuillez patienter quelques minutes avant de réessayer. Vous pouvez laisser la page ouverte.

Merci de contacter l'administrateur du site si le problème persiste.

" + text: "

Votre sondage n’a pas pu être sauvée. S'il vous plaît, vérifiez\ + \ votre connexion à internet et réessayez.

Si ça ne fonctionne pas,\ + \ une panne momentanée du serveur pourrait être la cause. Veuillez patienter\ + \ quelques minutes avant de réessayer. Vous pouvez laisser la page ouverte.

Merci\ + \ de contacter l'administrateur du site si le problème persiste.

" button-retry: 'Réessayer' options: Options poll: created-date: 'Créer le {date}.' expiration-date: 'Expire le {date}.' - expiration-date-warning: 'Ce sondage expire {timeToNow} et sera supprimé par la suite.' + expiration-date-warning: 'Ce sondage expire {timeToNow} et sera supprimé par la + suite.' tab-title: participation: Préposés - evaluation: Evaluation + evaluation: Évaluation error: newUser: everyOptionIsAnswered: 'Veuillez répondre à chaque option.' newUserName: "Vous devez saisir un nom d'utilisateur." evaluation: - label: Evaluation + label: Évaluation overview: Revue participantTable: 'Préposés et leurs réponses' bestOption: label: - findADate: '{count, plural, =1 {La date préférée est} other {Les dates préférées sont}}' - makeAPoll: "{count, plural, =1 {L'option préférée est} other {Les options préférées sont}}" + findADate: '{count, plural, =1 {La date préférée est} other {Les dates + préférées sont}}' + makeAPoll: "{count, plural, =1 {L'option préférée est} other {Les\ + \ options préférées sont}}" bestOptionParticipants: findADate: - yes: '{count, plural, =1 {une personne a le temps.} other {# personnes ont le temps.}}' - maybe: '{count, plural, =1 {une personne a peut-être le temps.} other {# personnes ont peut-être le temps.}}' - no: "{count, plural, =1 {Une personne n'a pas le temps.} other {# personnes n'ont pas le temps.}}" + yes: '{count, plural, =1 {une personne a le temps.} other {# personnes + ont le temps.}}' + maybe: '{count, plural, =1 {une personne a peut-être le temps.} other + {# personnes ont peut-être le temps.}}' + no: "{count, plural, =1 {Une personne n'a pas le temps.} other {#\ + \ personnes n'ont pas le temps.}}" makeAPoll: - yes: '{count, plural, =1 {Une personne aime cette option.} other {# personnes aiment cette option.}}' - maybe: '{count, plural, =1 {une personne aime peut-être cette option.} other {# personnes aiment peut-être cette option.}}' - no: "{count, plural, =1 {Une personne n'aime pas cette option} other {# personnes n'aiment pas cette option.}}" + yes: '{count, plural, =1 {Une personne aime cette option.} other {# + personnes aiment cette option.}}' + maybe: '{count, plural, =1 {une personne aime peut-être cette option.} + other {# personnes aiment peut-être cette option.}}' + no: "{count, plural, =1 {Une personne n'aime pas cette option} other\ + \ {# personnes n'aiment pas cette option.}}" lastParticipation: 'La dernière personne a assisté {ago}.' - participants: "{count, plural, =1 {Une personne a participé au sondage.} other {# personnes ont participé au sondage.}}" + participants: "{count, plural, =1 {Une personne a participé au sondage.} other\ + \ {# personnes ont participé au sondage.}}" input: newUserName: label: Nom @@ -160,19 +196,24 @@ poll: selected: 'Lien sélectionné. Appuyez sur Commande+C pour copier.' modal: timezoneDiffers: - title: 'Dans quels fuseaux horaires les dates doivent-elles être présentées?' - body: 'Le sondage a été créé pour un fuseau horaire différent de votre heure locale. Dans quels fuseaux horaires les dates doivent-elles être présentées?' + title: 'Dans quels fuseaux horaires les dates doivent-elles être présentées ?' + body: 'Le sondage a été créé pour un fuseau horaire différent de votre + heure locale. Dans quels fuseaux horaires les dates doivent-elles + être présentées ?' button: useLocalTimezone: 'Mon fuseau horaire' usePollTimezone: "Fuseau horaire d'origine" share: title: "Partagez le lien et invitez d'autres personnes à participer au sondage." - notice: "Tout le monde avec le lien peut accéder votre sondage. S'il contient des données privées, vous ne devez les transmettre que par courrier crypté ou par chat avec un cryptage de bout en bout." + notice: "Tout personne qui a le lien peut accéder votre sondage. S'il contient\ + \ des données privées, vous ne devez les transmettre que par courriel\ + \ chiffré ou par messagerie avec un chiffrement de bout en bout." pollTypes: findADate: label: "Je veux trouver une date. (ex. heure et date d'un rendez-vous)" makeAPoll: - label: 'Je veux répondre à une question. (ex. Où le café a-t-il le meilleur goût?)' + label: 'Je veux répondre à une question. (ex. Où le café a-t-il le meilleur + goût?)' times: Heures errors: answerRequired: 'Une réponse doit être sélectionnée' @@ -197,7 +238,7 @@ errors: wrongLength: '{description} a la mauvaise longueur, il doit avoir {is} caractères' notANumber: "{description} n'est pas un nombre" notAnInteger: '{description} doit être un nombre entier' - greaterThan: '{description} doit être plus grand que{count}' + greaterThan: '{description} doit être plus grand que {count}' greaterThanOrEqualTo: '{description} doit être égal ou supérieur à {count}' equalTo: '{description} doit être à {count}' lessThan: '{description} doit être supérieur à {count}' @@ -207,8 +248,8 @@ errors: even: '{description} doit être égal' positive: '{description} doit être positif' date: '{description} Doit être une date valide' - email: '{description} Doit être une adresse e-mail valide' + email: '{description} doit être une adresse courriel valide' phone: '{description} doit être un numéro de téléphone valide' - url: '{description} doit être une URL valide ' + url: '{description} doit être une URL valide' time: '{description} doit être une heure valide (ex. 10:45)' unique: '{description} doit être explicite' diff --git a/translations/it.yml b/translations/it.yml index 676a5aa..7ff27a4 100644 --- a/translations/it.yml +++ b/translations/it.yml @@ -97,24 +97,40 @@ error: title: 'Si è verificato un errore inaspettato.' description: 'Siamo spiacenti, ma si è verificato un errore inaspettato. Per favore, riprova più tardi.' index: - title: 'Croodle semplifica la scelta delle date e il processo decisionale …
… e protegge i tuoi dati' + title: 'Croodle semplifica la scelta delle date e il processo decisionale …
… + e protegge i tuoi dati' features: title: funzioni list: - overview: 'Stabilisci una data o fai un sondaggio con tanti partecipanti.' - privacy: 'I tuoi dati rimangono privati. Saranno cifrati
a partire dal browser. Solo le persone che ricevono il link del sondaggio potranno conoscerne i dettagli.' - options: 'Potrai determinare quante opzioni di ristposta ne vuoi. Potrai scegliere la tua data preferita nel calendario o creare qualsiasi domanda.' - answers: 'Potrai utilizare delle risposte predefinite, ad esempio si, no, può essere o creare le tue proprie risposte.' - evaluation: 'Avrai una panoramica attualizzata delle risposte preferite.' + overview: 'Stabilisci una data o fai un sondaggio + con tanti partecipanti.' + privacy: 'I tuoi dati rimangono privati. Saranno cifrati + a partire dal browser. Solo le persone che ricevono il collegamento + del sondaggio potranno conoscerne i dettagli.' + options: 'Potrai determinare quante opzioni di ristposta + ne vuoi. Potrai scegliere la tua data preferita nel calendario + o creare qualsiasi domanda.' + answers: 'Potrai utilizare delle risposte predefinite, + ad esempio si, no, può essere o creare le tue + proprie risposte.' + evaluation: 'Avrai una panoramica attualizzata delle risposte + preferite.' link: have-a-try: 'Provalo subito' hoster: title: 'Installa il tuo prorio Croodle:' - text: 'Non devi per forza fidarti di questo Croodle. Croodle è un software libero che puoi installare in locale. Ti servono solamente pochi MB di spazio su disco, PHP, e supporto per SSL. Codice sorgente e documentazione sono disponibili qui: {gitHubLink}.' + text: 'Non devi per forza fidarti di questo Croodle. Croodle è un software + libero che puoi installare in locale. Ti servono solamente pochi MB di + spazio su disco, PHP, e supporto per SSL. Codice sorgente e documentazione + sono disponibili qui: {gitHubLink}.' modal: save-retry: title: 'Salvataggio fallito.' - text: '

Impossibile salvare le tue risposte. Per favore controlla la tua connessione Internet e prova di nuovo.

Se questo non funziona, prova a riavviare il server, e attendi un minuto prima di tentare di nuovo. Puoi lasciare aperta la pagina.

Se i problemi persistono, contatta l''amministratore di questo sito.

' + text: '

Impossibile salvare le tue risposte. Per favore controlla la tua + connessione Internet e prova di nuovo.

Se questo non funziona, prova + a riavviare il server, e attendi un minuto prima di tentare di nuovo. + Puoi lasciare aperta la pagina.

Se i problemi persistono, contatta + l''amministratore di questo sito.

' button-retry: Riprova options: Opzioni poll: @@ -126,7 +142,7 @@ poll: evaluation: Risultati error: newUser: - everyOptionIsAnswered: 'Per favore, rispondi a tutte le opzioni' + everyOptionIsAnswered: 'Per favore, rispondi a tutte le opzioni.' newUserName: 'Devi inserire un nuovo nome utente.' evaluation: label: Risultati @@ -134,19 +150,28 @@ poll: participantTable: 'Partecipanti e le loro risposte' bestOption: label: - findADate: '{count, plural, =1 {La data preferita è} other {Le date preferite sono}}' - makeAPoll: '{count, plural, =1 {L''opzione preferita è} other {Le opzioni preferite sono}}' + findADate: '{count, plural, =1 {La data preferita è} other {Le date + preferite sono}}' + makeAPoll: '{count, plural, =1 {L''opzione preferita è} other {Le + opzioni preferite sono}}' bestOptionParticipants: findADate: - yes: '{count, plural, =1 {Una persona è disponibile.} other {# persone sono disponibili.}}' - maybe: '{count, plural, =1 {Una persona forse è disponibile.} other {# persone forse sono disponibili.}}' - no: '{count, plural, =1 {Una persona non è disponibile.} other {# persone non sono disponibili.}}' + yes: '{count, plural, =1 {Una persona è disponibile.} other {# persone + sono disponibili.}}' + maybe: '{count, plural, =1 {Una persona forse è disponibile.} other + {# persone forse sono disponibili.}}' + no: '{count, plural, =1 {Una persona non è disponibile.} other {# + persone non sono disponibili.}}' makeAPoll: - yes: '{count, plural, =1 {Una persona preferisce questa opzione.} other {# persone preferiscono questa opzione.}}' - maybe: '{count, plural, =1 {Una persona forse preferisce questa opzione.} other {# persone forse preferiscono questa opzione.}}' - no: '{count, plural, =1 {Ad una persona non piace questa opzione.} other {A # persone non piace questa opzione.}}' + yes: '{count, plural, =1 {Una persona preferisce questa opzione.} + other {# persone preferiscono questa opzione.}}' + maybe: '{count, plural, =1 {Una persona forse preferisce questa opzione.} + other {# persone forse preferiscono questa opzione.}}' + no: '{count, plural, =1 {Ad una persona non piace questa opzione.} + other {A # persone non piace questa opzione.}}' lastParticipation: 'L''ultima persona ha partecipato fa {ago}.' - participants: '{count, plural, =1 {Una persona ha partecipato al sondaggio.} other {# persone hanno partecipato al sondaggio.}}' + participants: '{count, plural, =1 {Una persona ha partecipato al sondaggio.} + other {# persone hanno partecipato al sondaggio.}}' input: newUserName: label: Nome @@ -161,23 +186,27 @@ poll: modal: timezoneDiffers: title: 'In quale fuso orario devono essere presentate le date?' - body: 'Il sondaggio è stato creato per un fuso orario diverso dal tuo. In quali orari devono essere presentate le date?' + body: 'Il sondaggio è stato creato per un fuso orario diverso dal tuo. + In quali orari devono essere presentate le date?' button: - useLocalTimezone: 'Il mio fuso orario.' - usePollTimezone: 'Fuso orario originale.' + useLocalTimezone: 'Il mio fuso orario' + usePollTimezone: 'Fuso orario originale' share: title: 'Condividi il link e invita altre persone al sondaggio.' - notice: 'Tutti quelli che hanno il link possono accedere al tuo sondaggio. Se il sondaggio contiene dati sensibili, inoltralo unicamente tramite una mail cifrata o chat con crittografia end-to-end.' + notice: 'Tutti quelli che hanno il collegamento possono accedere al tuo sondaggio. + Se il sondaggio contiene dati sensibili, inoltralo unicamente tramite + posta elettronica cifrata o chat cifrato dall''inizio alla fine.' pollTypes: findADate: label: 'Voglio trovare una data. (ad es. orario e data per un appuntamento)' makeAPoll: - label: 'Voglio rispondere a una domanda. (ad es. Dove si prende meglio il caffè?)' + label: 'Voglio rispondere a una domanda. (ad es. Dove si prende meglio il + caffè?)' times: Orari errors: description: 'Questo campo' inclusion: '{description} non fa parte dell''elenco' - exclusion: '{description} è riservato.' + exclusion: '{description} è riservato' invalid: '{description} non si può applicare il valore' confirmation: '{description} non corrisponde a {attribute}' accepted: '{description} deve essere accettato' @@ -206,8 +235,8 @@ errors: positive: '{description} deve essere positivo' date: '{description} deve essere una data valida' email: '{description} deve essere un indirizzo elettronico valido' - phone: '{description} deve essere un numero di telefono valido.' - url: '{description} deve essere un URL valido ' + phone: '{description} deve essere un numero di telefono valido' + url: '{description} deve essere un URL valido' time: '{description} deve essere un orario valido (ad es. 10:45)' timeNotPartially: "L'orario deve specificare sia le ore che i minuti." unique: '{description} deve essere esplicito' diff --git a/translations/nb.yml b/translations/nb.yml new file mode 100644 index 0000000..82cfab3 --- /dev/null +++ b/translations/nb.yml @@ -0,0 +1,210 @@ +poll: + error: + newUserName: Du må skrive inn et brukernavn + newUser: + everyOptionIsAnswered: Besvar alle alternativene. + share: + notice: Alle med lenken kan se avstemmingen din. Hvis den inneholder privat + data, bør du sende den per kryptert e-post eller sludring med ende-til-ende- + kryptering. + title: Del lenken og inviter andre til avstemmingen. + modal: + timezoneDiffers: + body: Avstemmingen ble opprettet for en tidssone som skiller seg fra din + lokaltid. Hvilken tidssone skal datoene presenteres i? + title: Hvilke tidssoner skal datoene vises i? + button: + usePollTimezone: Opprinnelig tidssone + useLocalTimezone: Min tidssone + evaluation: + lastParticipation: Siste person tok del {ago}. + participantTable: Deltagere og svarene deres + tab-title: + participation: Ta del + evaluation: Vurdering + expiration-date-warning: Denne avstemmingen utløper {timeToNow} og vil slettes + etterpå. + link: + selected: Lenke valgt. Trykk Command+C for å kopiere. + copy-label: Kopier lenke til utklippstavle + copied: Lenke kopiert til utklippstavle. + input: + showEvaluation: + show: Vis + hide: Skjul + newUserName: + placeholder: Ditt navn + label: Navn + expiration-date: Utløper {date}. + created-date: Opprettet {date}. +index: + title: Croodle forenkler datovalg og avgjørelser …
… og beskytter din data + hoster: + text: 'Du trenger ikke å stole på denne Croodle-en. Croodle er fri programvare + og du kan installere det på din egen tjener. Du trenger kun noen megabyte + tjenerplass, PHP og SSL-kryptering. Programvare og tips for installasjon + er å finne her: {gitHubLink}.' + title: 'Vertstjen din egen Croodle:' + features: + list: + privacy: Din data forblir privat. Den vil bli kryptert + direkte i din nettleser. Kun folk som folk mpttar lenken for avstemmingen + vil vite hva den dreier seg om. + answers: Du kan bruke forhåndsdefinerte svaralternativer, + for eksempel ja, nei, kanskje eller tillate fritekstsvar. + options: Du kan bestemme så mange svaralternativer du + ønsker. Du kan velge din favorittdato i kalenderen + eller opprette hvilket spørsmål som helst. + overview: Finn en dato eller opprett en avstemming + med så mange folk du ønsker. + title: Funksjoner + link: + have-a-try: Prøv det nå +errors: + tooShort: '{description} er for kort (minst {min} tegn)' + greaterThan: '{description} må være større enn {count}' + unique: '{description} må være eksplisitt' + time: '{description} må være en gyldig tid (f.eks. 10:45)' + url: '{description} må være en gyldig nettadresse' + phone: '{description} må være et gyldig telefonnummer' + email: '{description} må være en gyldig e-postadresse' + date: '{description} må være en gyldig dato' + positive: '{description} må være positiv' + even: '{description} må være lik' + odd: '{description} kan ikke være lik' + otherThan: '{description} kan ikke være {count}' + lessThanOrEqualTo: '{description} må være lik eller mindre enn {count}' + lessThan: '{description} må være mer enn {count}' + equalTo: '{description} må være {count}' + greaterThanOrEqualTo: '{description} må være lik eller større enn {count}' + notAnInteger: '{description} må være et heltall' + notANumber: '{description} er ikke et tall' + after: '{description} må være etter {date}' + before: '{description} må være før {date}' + confirmation: '{description} samsvarer ikke med {attribute}' + exclusion: '{description} er reservert' + uniqueName: Dette navnet er allerede i bruk + tooLong: '{description} er for lang (maks. {max} tegn)' + singular: '{description} kan ikke være en samling' + collection: '{description} må være en samling' + present: '{description} må være tom' + blank: '{description} kan ikke være tom' + empty: '{description} kan ikke være tom' + accepted: '{description} må godtas' + inclusion: '{description} er ikke en del av listen' + description: Dette feltet + answerRequired: Et svar må velges +pollTypes: + makeAPoll: + label: Jeg ønsker å besvare spørsmålet. (f.eks. «Hvor svarer kaffen best?») +modal: + save-retry: + title: Kunne ikke lagre. + button-retry: Prøv igjen +error: + poll: + notFound: + description: 'Finner ikke avstemmingen du leget etter. Dette kan ha flere + årsaker, inkludert:' + reasons: + typo: Det er en skrivefeil i nettadressen. Dobbeltsjekk den, spesielt + delen før spørsmålstegnet. + expired: Avstemmingen er utløpt, og har blitt slettet. + title: Kunne ikke finne avstemming + savingFailed: Kunne ikke lagre avstemming. Prøv igjen om noen sekunder. + decryptionFailed: + description: Dekryptering av avstemmingsdata mislyktes. Dette skjer antageligvis + fordi krypteringsnøkkelen ikke er riktig. Dobbeltsjekk nettadressen + som er skrevet inn, spesielt delen etter spørsmålstegnet. + title: Dekryptering mislyktes + generic: + unexpected: + description: Uventet feil inntraff. Prøv igjen senere. + title: Uventet feil +create: + formStep: + options: + text: Alternativer + days: Dager + settings: Innstillinger + options-datetime: Tider + meta: Tittel og beskrivelse + type: Type avstemming + title: Opprett avstemming + settings: + forceAnswer: + label: Krev svar for hvert alternativ? + expirationDurations: + never: Aldri + P1Y: Om et år + P6M: Om et halvt år + P3M: Om tre måneder + P1M: Om en måned + P7D: Om en uke + expirationDate: + label: Når skal avstemmingen din utløpe og bli slettet? + anonymousUser: + label: Tillat anonyme deltagere i avstemmingen? + answerType: + label: Hvilke svar skal være tilgjengelige? + options-datetime: + fix-validation-errors-first-day: Du må fikse alle bekreftelsesfeil på første + dag før kopiering. + error: + correctTimeFormat: Dager må skrives inn som time og minutter, inndelt + med kolon (f.eks. 13:00). + notEnoughTimes: Det må bestemmes minst én gyldig tid per dag. Hvis kun + én dag er valg, må minst to dager bestemmes. + copy-first-line: Kopier og lim inn tider for første dag til alle andre + more-inputs: Skriv inn andre tider + datetimes: + label: Tider + options: + input: + moreOptions: + label: Legg til andre svaralternativer + defineTimes: + label: Bestem tid? + error: + notEnoughDates: Minst én dag må velges + dates: + label: Dager + options: + label: Svaralternativer + button: + delete: + label: Slett dette alternativet + add: + label: Legg til et annet alternativ etter dette + meta: + input: + description: + placeholder: 'Valgfritt: Legg til en beskrivelse av avstemmingen.' + label: Beskrivelse + title: + placeholder: Legg til en avstemmingstittel. + label: Tittel + index: + input: + pollType: + label: Hva er formålet med avstemmingen? +times: Tider +options: Alternativer +answerTypes: + yesNoMaybe: + label: Ja, nei, kanskje + yesNo: + label: Ja, nei + freeText: + label: Fri tekst + maybe: + label: Kanskje + no: + label: Nei + yes: + label: Ja +action: + save: Lagre + next: Neste + back: Tilbake + abort: Avbryt