+
+
{{ event.title }}
-
- {{ 'from_DATE' | translate:{DATE:(event.start_date | amDateFormat:'LL')} }} {{ 'to_date' }} {{event.end_date | amDateFormat:'LL'}}
-
- {{ 'all_day' }}
-
- {{ 'from_TIME' | translate:{TIME:(event.start_date | amDateFormat:'LT')} }}
- {{ 'to_time' }}
- {{event.end_date | amDateFormat:'LT'}}
-
+
+
+
+
+
+ {{ 'on_DATE' | translate:{DATE:(event.start_date | amDateFormat:'LL')} }}
+
+ {{ 'from_TIME' | translate:{TIME:(event.start_date | amDateFormat:'LT')} }}
+ {{ 'to_time' }}
+ {{event.end_date | amDateFormat:'LT'}}
+
+
+
+
+
+ {{'from_DATE' | translate:{DATE:(event.start_date | amDateFormat:'LL')} }}
+ {{'to_date' | translate}} {{event.end_date | amDateFormat:'LL'}}
+
+
+ {{ 'from_TIME' | translate:{TIME:(event.start_date | amDateFormat:'LT')} }}
+ {{ 'to_time' }}
+ {{event.end_date | amDateFormat:'LT'}}
+
+
-
+
+
+ {{ event.nb_total_places - event.nb_free_places }} / {{ event.nb_total_places }}
+ {{ 'cancelled' }}
+ {{ 'free_entry' }}
+
+
+
\ No newline at end of file
+
diff --git a/app/assets/templates/events/_form.html.erb b/app/assets/templates/events/_form.html.erb
index b99fbf639..e2c4c7cfb 100644
--- a/app/assets/templates/events/_form.html.erb
+++ b/app/assets/templates/events/_form.html.erb
@@ -78,7 +78,10 @@
@@ -194,14 +197,14 @@
{{ 'start_time' }}
-
+
diff --git a/app/assets/templates/events/index.html.erb b/app/assets/templates/events/index.html.erb
index f440f8abc..341b53910 100644
--- a/app/assets/templates/events/index.html.erb
+++ b/app/assets/templates/events/index.html.erb
@@ -55,13 +55,22 @@
{{event.start_date | amDateFormat:'L'}}
{{event.start_date | amDateFormat:'L'}} {{ 'to_date' }} {{event.end_date | amDateFormat:'L'}}
+ {{ 'free_admission' }}
{{ 'full_price_' | translate }} {{event.amount | currency}} / {{ price.category.name }} {{price.amount | currency}}
{{event.event_themes[0].name}}
{{event.age_range.name}}
+
+
+ {{event.nb_free_places}} {{ 'still_available' | translate }}
+ {{ 'sold_out' }}
+ {{ 'cancelled' }}
+ {{ 'free_entry' }}
+
+
diff --git a/app/assets/templates/events/show.html.erb b/app/assets/templates/events/show.html.erb
index 17b611282..382fe0f85 100644
--- a/app/assets/templates/events/show.html.erb
+++ b/app/assets/templates/events/show.html.erb
@@ -98,7 +98,8 @@
{{ 'tickets_still_availables' | translate }} {{event.nb_free_places}}
-
{{ 'sold_out' }}
+
{{ 'sold_out' }}
+
{{ 'cancelled' }}
{{ 'free_entry' }}
diff --git a/app/assets/templates/home.html.erb b/app/assets/templates/home.html.erb
index 2109fd532..0f44dd80d 100644
--- a/app/assets/templates/home.html.erb
+++ b/app/assets/templates/home.html.erb
@@ -116,18 +116,26 @@
{{ 'from_time_to_time' | translate:{START:(event.start_date | amDateFormat:'LT'), END:(event.end_date | amDateFormat:'LT')} }}
-
-
-
- {{ 'free_entry' }}
- {{ 'free_admission' }}
- {{event.amount | currency}} {{ 'full_price' | translate }}
- {{ 'event_full' }}
-
-
-
-
+
+
+
+
+
+ {{ 'still_available' | translate }} {{event.nb_free_places}}
+ {{ 'free_entry' }}
+ {{ 'event_full' }}
+
+
+
+
+
+ {{ 'free_admission' }}
+ {{ 'full_price' | translate }} {{event.amount | currency}}
+
+
+
+
diff --git a/app/controllers/api/events_controller.rb b/app/controllers/api/events_controller.rb
index 2410323e9..fb690eae2 100644
--- a/app/controllers/api/events_controller.rb
+++ b/app/controllers/api/events_controller.rb
@@ -32,8 +32,10 @@ class API::EventsController < API::ApiController
def upcoming
limit = params[:limit]
@events = Event.includes(:event_image, :event_files, :availability, :category)
+ .where('events.nb_total_places != -1 OR events.nb_total_places IS NULL')
.where('availabilities.start_at >= ?', Time.now)
- .order('availabilities.start_at ASC').references(:availabilities).limit(limit)
+ .order('availabilities.start_at ASC').references(:availabilities)
+ .limit(limit)
end
def show
diff --git a/app/controllers/open_api/v1/events_controller.rb b/app/controllers/open_api/v1/events_controller.rb
index 2dcba1e78..adcc4a6ed 100644
--- a/app/controllers/open_api/v1/events_controller.rb
+++ b/app/controllers/open_api/v1/events_controller.rb
@@ -3,7 +3,18 @@ class OpenAPI::V1::EventsController < OpenAPI::V1::BaseController
expose_doc
def index
- @events = Event.order(created_at: :desc)
+
+ if upcoming
+ @events = Event.includes(:event_image, :event_files, :availability, :category)
+ .where('availabilities.end_at >= ?', Time.now)
+ .order('availabilities.start_at ASC').references(:availabilities)
+ else
+ @events = Event.includes(:event_image, :event_files, :availability, :category).order(created_at: :desc)
+ end
+
+ if params[:id].present?
+ @events = @events.where(id: params[:id])
+ end
if params[:page].present?
@events = @events.page(params[:page]).per(per_page)
@@ -15,4 +26,7 @@ class OpenAPI::V1::EventsController < OpenAPI::V1::BaseController
def per_page
params[:per_page] || 20
end
+ def upcoming
+ params[:upcoming] || false
+ end
end
diff --git a/app/doc/open_api/v1/events_doc.rb b/app/doc/open_api/v1/events_doc.rb
index 46d511838..4b8f391de 100644
--- a/app/doc/open_api/v1/events_doc.rb
+++ b/app/doc/open_api/v1/events_doc.rb
@@ -11,6 +11,8 @@ class OpenAPI::V1::EventsDoc < OpenAPI::V1::BaseDoc
doc_for :index do
api :GET, "/#{API_VERSION}/events", "Events index"
param_group :pagination
+ param :id, [Integer, Array], optional: true, desc: "Scope the request to one or various events."
+ param :upcoming, [FalseClass, TrueClass], optional: true, desc: "Scope for the upcoming events."
description "Events index. Order by *created_at* desc."
example <<-EOS
# /open_api/v1/events?page=1&per_page=2
diff --git a/app/views/open_api/v1/events/index.json.jbuilder b/app/views/open_api/v1/events/index.json.jbuilder
index 33478cd38..57f083cd4 100644
--- a/app/views/open_api/v1/events/index.json.jbuilder
+++ b/app/views/open_api/v1/events/index.json.jbuilder
@@ -1,6 +1,13 @@
json.events @events do |event|
json.partial! 'open_api/v1/events/event', event: event
json.extract! event, :nb_total_places, :nb_free_places
+ json.start_at event.availability.start_at
+ json.end_at event.availability.end_at
+ json.event_image do
+ json.large_url root_url.chomp('/') + event.event_image.attachment.large.url
+ json.medium_url root_url.chomp('/') + event.event_image.attachment.medium.url
+ json.small_url root_url.chomp('/') + event.event_image.attachment.small.url
+ end
json.prices do
json.normal do
json.name I18n.t('app.public.home.full_price')
diff --git a/config/locales/app.admin.en.yml b/config/locales/app.admin.en.yml
index 6204649d4..e433afbe6 100644
--- a/config/locales/app.admin.en.yml
+++ b/config/locales/app.admin.en.yml
@@ -111,8 +111,15 @@ en:
all_events: "All events"
passed_events: "Passed events"
events_to_come: "Events to come"
- from_DATE: "From {{DATE}}" # angular interpolation
- from_TIME: "From {{TIME}}" # angular interpolation
+ events_to_come_asc: "Events to come | chronological order"
+ on_DATE: "on {{DATE}}" # angular interpolation
+ from_DATE: "from {{DATE}}" # angular interpolation
+ from_TIME: "from {{TIME}}" # angular interpolation
+ booking: "Booking"
+ sold_out: "Sold out"
+ cancelled: "Cancelled"
+ free_entry: "Free entry"
+ free_admission: "Free admission"
view_reservations: "View reservations"
categories: "Categories"
add_a_category: "Add a category"
diff --git a/config/locales/app.admin.es.yml b/config/locales/app.admin.es.yml
index e18bc8caf..666062303 100644
--- a/config/locales/app.admin.es.yml
+++ b/config/locales/app.admin.es.yml
@@ -59,6 +59,8 @@ es:
unlocking_failed: "Ocurrió un error. El desbloqueo de la ranura ha fallado"
reservations_locked: "La reserva está bloqueada"
unlockable_because_reservations: "No se puede bloquear la reserva en esta ranura porque existen algunas reservas no canceladas."
+ delete_slot: "Delete this slot" # translation_missing
+ do_you_really_want_to_delete_this_slot: "Do you really want to delete this slot?"
project_elements:
# management of the projects' components
@@ -71,6 +73,9 @@ es:
trainings:
# track and monitor the trainings
training: "Formación"
+ add_a_new_training: "Add a new training" # translation_missing
+ associated_machines: "Associated machines" # translation_missing
+ number_of_tickets: "Number of tickets" # translation_missing
year_NUMBER: "Año {{NUMBER}}" # angular interpolation
month_of_NAME: "Mes of {{NAME}}" # angular interpolation
NUMBER_reservation: "{NUMBER} {NUMBER, plural, one{reservation} other{reservations}}" # messageFormat interpolation
@@ -87,11 +92,16 @@ es:
training_successfully_deleted: "Entrenamiento eliminado correctamente."
unable_to_delete_the_training_because_some_users_alredy_booked_it: "No se puede eliminar el entrenamiento porque algunos usuarios ya lo han reservado."
do_you_really_want_to_delete_this_training: "¿De verdad quieres eliminar este entrenamiento?"
+ status_enabled: "Enabled" # translation_missing
+ status_disabled: "Disabled" # translation_missing
+ status_all: "All" # translation_missing
trainings_new:
# create a new training
- beware_when_creating_a_training_its_reservation_prices_are_initialized_to_zero: "Tenga cuidado, al crear una formación, sus precios de reserva se inicializan en cero."
- dont_forget_to_change_them_before_creating_slots_for_this_training: "No olvides cambiarlos antes de crear espacios para esta formación."
+ trainings_new:
+ add_a_new_training: "Add a new training" # translation_missing
+ beware_when_creating_a_training_its_reservation_prices_are_initialized_to_zero: "Tenga cuidado, al crear una formación, sus precios de reserva se inicializan en cero."
+ dont_forget_to_change_them_before_creating_slots_for_this_training: "No olvides cambiarlos antes de crear espacios para esta formación."
events:
# events tracking and management
@@ -101,8 +111,15 @@ es:
all_events: "Todos los eventos"
passed_events: "Eventos pasados"
events_to_come: "Eventos por venir"
- from_DATE: "Desde {{DATE}}" # angular interpolation
- from_TIME: "Desde {{TIME}}" # angular interpolation
+ events_to_come_asc: "Events to come | chronological order"
+ on_DATE: "on {{DATE}}" # angular interpolation # translation_missing
+ from_DATE: "Desde {{DATE}}" # angular interpolation # translation_missing
+ from_TIME: "Desde {{TIME}}" # angular interpolation # translation_missing
+ booking: "Booking" # translation_missing
+ sold_out: "Sold out" # translation_missing
+ cancelled: "Cancelled" # translation_missing
+ free_entry: "Free entry" # translation_missing
+ free_admission: "Free admission" # translation_missing
view_reservations: "Ver reservas"
categories: "Categorías"
add_a_category: "Añadir una categoría"
@@ -194,6 +211,7 @@ es:
error_a_credit_linking_this_machine_with_that_subscription_already_exists: "Error: un crédito que vincula esta máquina con esa suscripción ya existe."
changes_have_been_successfully_saved: "Los cambios se han guardado correctamented."
credit_was_successfully_saved: "El crédito se ha guardado correctamente."
+ error_creating_credit: "Unable to create credit, an error occurred" # translation_missing
do_you_really_want_to_delete_this_subscription_plan: "¿Realmente desea eliminar este plan de suscripción?"
subscription_plan_was_successfully_deleted: "Plan de suscripción eliminado correctamente."
unable_to_delete_the_specified_subscription_an_error_occurred: "No se pudo eliminar la suscripción especificada, se produjo un error.."
@@ -228,6 +246,9 @@ es:
add_a_space_credit: "Añadir un crédito de espacio"
space: "Espacio"
error_a_credit_linking_this_space_with_that_subscription_already_exists: "Error: un crédito que vincula este espacio con esa suscripción ya existe."
+ status_enabled: "Enabled" # translation_missing
+ status_disabled: "Disabled" # translation_missing
+ status_all: "All" # translation_missing
coupons_new:
# ajouter un code promotionnel
@@ -359,7 +380,7 @@ es:
an_error_occurred_while_activating_the_invoicing_code: "Se ha producido un error al activar el código de facturación."
order_number_successfully_saved: "Número de pedido guardado correctamente."
an_error_occurred_while_saving_the_order_number: "Se ha producido un error al guardar el número de orden."
- VAT_rate_successfully_saved: "VAT rate successfully saved."
+ VAT_rate_successfully_saved: "VAT rate successfully saved." # translation_missing
an_error_occurred_while_saving_the_VAT_rate: "La tasa de IVA se ha guardado correctamente."
VAT_successfully_activated: "IVA activado correctamente."
VAT_successfully_disabled: "IVA desactivado correctamente."
@@ -391,14 +412,8 @@ es:
this_may_take_a_while_please_wait: "Advertencia: esto puede tomar un tiempo, por favor, tenga paciencia."
administrator_successfully_deleted: "Administrador eliminado correctamente."
unable_to_delete_the_administrator: "No se puede eliminar el administrador."
- add_a_group: "Añadir un grupo"
- group_name: "Nombre del grupo"
changes_successfully_saved: "Cambios guardados correctamente."
an_error_occurred_while_saving_changes: "Se ha producido un error al guardar los cambios."
- new_group_successfully_saved: "Nuevo grupo guardado correctamente."
- an_error_occurred_when_saving_the_new_group: "Se ha producido un error al guardar el nuevo grupo."
- group_successfully_deleted: "Grupo eliminado correctamente."
- unable_to_delete_group_because_some_users_and_or_groups_are_still_linked_to_it: "No se puede eliminar el grupo porque algunos usuarios y / o grupos todavía están vinculados a él."
add_a_tag: "Añadir una etiqueta"
tag_name: "Nombre de la etiqueta"
new_tag_successfully_saved: "Nueva etiqueta guardada correctamente."
@@ -418,6 +433,23 @@ es:
an_error_occurred_unable_to_delete_the_specified_provider: "Se ha producido un error: no se puede eliminar el proveedor especificado."
local_database: "Base de datos local"
o_auth2: "OAuth 2.0"
+ group_form:
+ add_a_group: "Añadir un grupo"
+ group_name: "Nombre del grupo"
+ disable: "Disable" # translation_missing
+ enable: "Enable" # translation_missing
+ changes_successfully_saved: "Changes successfully saved." # translation_missing
+ an_error_occurred_while_saving_changes: "An error occurred when saving changes." # translation_missing
+ new_group_successfully_saved: "Nuevo grupo guardado correctamente."
+ an_error_occurred_when_saving_the_new_group: "Se ha producido un error al guardar el nuevo grupo."
+ group_successfully_deleted: "Grupo eliminado correctamente."
+ unable_to_delete_group_because_some_users_and_or_groups_are_still_linked_to_it: "No se puede eliminar el grupo porque algunos usuarios y / o grupos todavía están vinculados a él."
+ group_successfully_enabled_disabled: "Group successfully {STATUS, select, true{disabled} other{enabled}}." # messageFormat interpolation # translation_missing
+ unable_to_enable_disable_group: "Unable to {STATUS, select, true{disable} other{enable}} group." # messageFormat interpolation # translation_missing
+ unable_to_disable_group_with_users: "Unable to disable group because it still contains {USERS} active {USERS, plural, =1{user} other{users}}." # messageFormat interpolation # translation_missing
+ status_enabled: "Enabled" # translation_missing
+ status_disabled: "Disabled" # translation_missing
+ status_all: "All" # translation_missing
members_new:
# add a member
@@ -440,8 +472,8 @@ es:
events: "Eventos"
next_events: "Próximos eventos"
no_upcoming_events: "No hay próximos eventos"
- NUMBER_full_price_tickets_reserved: "{NUMBER, plural, =0{} one{1 full price ticket reserved} other{{NUMBER} full price tickets reserved}}" # messageFormat interpolation
- NUMBER_NAME_tickets_reserved: "{NUMBER, plural, =0{} one{1 {NAME} ticket reserved} other{{NUMBER} {NAME} tickets reserved}}" # messageFormat interpolation
+ NUMBER_full_price_tickets_reserved: "{NUMBER, plural, =0{} one{1 full price ticket reserved} other{{NUMBER} full price tickets reserved}}" # messageFormat interpolation # translation_missing
+ NUMBER_NAME_tickets_reserved: "{NUMBER, plural, =0{} one{1 {NAME} ticket reserved} other{{NUMBER} {NAME} tickets reserved}}" # messageFormat interpolation # translation_missing
passed_events: "Eventos pasados"
invoices: "Facturas"
invoice_#: "Factura #"
@@ -449,7 +481,7 @@ es:
expiration_date: "Fecha de caducidad"
you_intentionally_decide_to_extend_the_user_s_subscription_by_offering_him_free_days: "Usted intencionalmente decide extender la suscripción del usuario ofreciéndole días libres."
you_intentionally_decide_to_extend_the_user_s_subscription_by_charging_him_again_for_his_current_subscription: "Usted intencionalmente decide extender la suscripción del usuario al cobrarle de nuevo por su suscripción actual."
- until_(expiration_date): "Until (expiration date):"
+ until_(expiration_date): "Until (expiration date):" # translation_missing
you_successfully_changed_the_expiration_date_of_the_user_s_subscription: "Ha cambiado correctamente la fecha de caducidad de la suscripción del usuario"
a_problem_occurred_while_saving_the_date: "Se ha producido un problema al guardar la fecha."
new_subscription: "Nueva suscripción"
@@ -546,8 +578,8 @@ es:
customize_information_messages: "Personalizar mensajes de información"
message_of_the_machine_booking_page: "Mensaje de la página de reserva de la máquina:"
type_the_message_content: "Escriba el contenido del mensaje"
- warning_message_of_the_training_booking_page: "Warning message of the training booking page:"
- information_message_of_the_training_reservation_page: "Information message of the training reservation page:"
+ warning_message_of_the_training_booking_page: "Warning message of the training booking page:" # translation_missing
+ information_message_of_the_training_reservation_page: "Information message of the training reservation page:" # translation_missing
message_of_the_subscriptions_page: "Mensaje de advertencia de la página de reserva de formación:"
message_of_the_events_page: "Mensaje de la página de eventos:"
message_of_the_spaces_page: "Mensaje de la página de espacios:"
@@ -574,7 +606,7 @@ es:
news_of_the_home_page: "Noticias de la página principal:"
type_your_news_here: "Escriba sus noticias aquí"
leave_it_empty_to_not_bring_up_any_news_on_the_home_page: "Déjelo vacío para no abrir ninguna noticia en la página principal"
- twitter_stream: "Twitter Stream:"
+ twitter_stream: "Twitter Stream:" # translation_missing
name_of_the_twitter_account: "Nombre de la cuenta de Twitter"
title_of_the_about_page: "Título de la página Acerca de"
shift_enter_to_force_carriage_return: "MAYÚS + ENTRAR para forzar el retorno de carro"
@@ -610,7 +642,7 @@ es:
main_color: "Color principal"
secondary_color: "color secundario"
home_blogpost: "Resumen de la página de inicio"
- twitter_name: "Twitter feed name"
+ twitter_name: "Twitter feed name" # translation_missing
about_title: "Título de la página \"Acerca de\""
about_body: "Contenido de la página \"Acerca de\""
about_contacts: "Página contactos\"Acerca de\""
@@ -645,12 +677,12 @@ es:
# create a new space
space_new:
add_a_new_space: "Añadir un espacio nuevo"
- watch_out_when_creating_a_new_space_its_prices_are_initialized_at_0_for_all_subscriptions: ¡Cuidado! Al crear un nuevo espacio, sus precios se inicializan en 0 para todas las suscripciones."
+ watch_out_when_creating_a_new_space_its_prices_are_initialized_at_0_for_all_subscriptions: "¡Cuidado! Al crear un nuevo espacio, sus precios se inicializan en 0 para todas las suscripciones."
consider_changing_its_prices_before_creating_any_reservation_slot: "Considere cambiar sus precios antes de crear cualquier espacio de reserva."
add_this_space: "Añadir este espacio"
space_edit:
# modify an exiting space
space_edit:
- edit_the_space_NAME: "Edit the space: {{NAME}}" # angular interpolation
+ edit_the_space_NAME: "Edit the space: {{NAME}}" # angular interpolation # translation_missing
validate_the_changes: "Validar los cambios"
diff --git a/config/locales/app.admin.fr.yml b/config/locales/app.admin.fr.yml
index d907daed9..247f49140 100644
--- a/config/locales/app.admin.fr.yml
+++ b/config/locales/app.admin.fr.yml
@@ -111,8 +111,15 @@ fr:
all_events: "Tous les évènements"
passed_events: "Les évènements déjà passés"
events_to_come: "Les évènements à venir"
- from_DATE: "Du {{DATE}}" # angular interpolation
- from_TIME: "De {{TIME}}" # angular interpolation
+ events_to_come_asc: "Les évènements à venir | ordre chronologique"
+ on_DATE: "le {{DATE}}" # angular interpolation
+ from_DATE: "du {{DATE}}" # angular interpolation
+ from_TIME: "de {{TIME}}" # angular interpolation
+ booking: "Réservations"
+ sold_out: "Complet"
+ cancelled: "Annulé"
+ free_entry: "Entrée libre"
+ free_admission: "Entrée gratuite"
view_reservations: "Consulter les réservations"
categories: "Catégories"
add_a_category: "Ajouter une catégorie"
diff --git a/config/locales/app.admin.pt.yml b/config/locales/app.admin.pt.yml
index 3a621e400..5cf0fef93 100755
--- a/config/locales/app.admin.pt.yml
+++ b/config/locales/app.admin.pt.yml
@@ -111,8 +111,15 @@ pt:
all_events: "Todos eventos"
passed_events: "Eventos anteriores"
events_to_come: "Eventos futuros"
+ events_to_come_asc: "Events to come | chronological order" #translation_missing
+ on_DATE: "on {{DATE}}" # angular interpolation #translation_missing
from_DATE: "Em {{DATE}}" # angular interpolation
from_TIME: "Ás {{TIME}}" # angular interpolation
+ booking: "Booking" #translation_missing
+ sold_out: "Sold out" #translation_missing
+ cancelled: "Cancelled" #translation_missing
+ free_entry: "Free entry" #translation_missing
+ free_admission: "Free admission" #translation_missing
view_reservations: "Ver reservas"
categories: "Categorias"
add_a_category: "Adicionar categoria"
diff --git a/config/locales/app.public.en.yml b/config/locales/app.public.en.yml
index 3b71886a5..262077f50 100644
--- a/config/locales/app.public.en.yml
+++ b/config/locales/app.public.en.yml
@@ -134,6 +134,7 @@ en:
free_admission: "Free admission"
full_price: "Full price"
event_full: "Event full"
+ still_available: "Available place(s)"
projects_list:
# projects gallery
@@ -233,6 +234,11 @@ en:
the_fablab_s_events: "The Fablab's events"
all_categories: "All categories"
for_all: "For all"
+ sold_out: "Sold Out"
+ cancelled: "Cancelled"
+ free_admission: "Free admission"
+ still_available: "available place(s)"
+ free_entry: "Free entry"
events_show:
# details and booking of an event
@@ -245,6 +251,7 @@ en:
tickets_still_availables: "Tickets still available:"
sold_out: "Sold out."
free_entry: "Free entry"
+ cancelled: "Cancelled"
ticket: "{NUMBER, plural, one{ticket} other{tickets}}" # messageFormat interpolation
make_a_gift_of_this_reservation: "Make a gift of this reservation"
you_can_find_your_reservation_s_details_on_your_: "You can find your reservation's details on your"
@@ -288,4 +295,4 @@ en:
the_space_cant_be_deleted_because_it_is_already_reserved_by_some_users: "Unable to delete this space, because it is already reserved by some users."
characteristics: "Characteristics"
files_to_download: "Files to download"
- projects_using_the_space: "Projects using the space"
\ No newline at end of file
+ projects_using_the_space: "Projects using the space"
diff --git a/config/locales/app.public.es.yml b/config/locales/app.public.es.yml
index 7a36fb505..c37409001 100644
--- a/config/locales/app.public.es.yml
+++ b/config/locales/app.public.es.yml
@@ -134,6 +134,7 @@ es:
free_admission: "Admisión gratuita"
full_price: "Precio final"
event_full: "Evento lleno"
+ still_available: "Available place(s)" #translation_missing
projects_list:
# projects gallery
@@ -175,9 +176,14 @@ es:
machines_list:
# list of machines
- the_fablab_s_machines: "Las máquinas del FabLab"
- add_a_machine: "Añadir una máquina"
- _or_the_: " o el "
+ machines_list:
+ the_fablab_s_machines: "Las máquinas del FabLab"
+ add_a_machine: "Añadir una máquina"
+ book: "Book" #translation_missing
+ _or_the_: " o el "
+ status_enabled: "Enabled" #translation_missing
+ status_disabled: "Disabled" #translation_missing
+ status_all: "All" #translation_missing
machines_show:
# details of a machine
@@ -228,6 +234,11 @@ es:
the_fablab_s_events: "Los eventos del FabLab"
all_categories: "Todas las categorías"
for_all: "Para todo"
+ sold_out: "Sold Out" #translation_missing
+ cancelled: "Cancelled" #translation_missing
+ free_admission: "Free admission" #translation_missing
+ still_available: "available place(s)" #translation_missing
+ free_entry: "Free entry" #translation_missing
events_show:
# details and booking of an event
@@ -240,6 +251,7 @@ es:
tickets_still_availables: "Entradas disponibles:"
sold_out: "Entradas vendidas."
free_entry: "Entrada gratuita"
+ cancelled: "Cancelled" #translation_missing
ticket: "{NUMBER, plural, one{ticket} other{tickets}}" # messageFormat interpolation
make_a_gift_of_this_reservation: "Regalar esta reserva"
you_can_find_your_reservation_s_details_on_your_: "Puede encontrar los detalles de su reserva en"
@@ -247,6 +259,10 @@ es:
book: "Reservar"
change_the_reservation: "Cambiar la reserva"
you_can_shift_this_reservation_on_the_following_slots: "Puede cambiar la reserva en los siguientes campos:"
+ confirmation_required: "Confirmation required" #translation_missing
+ do_you_really_want_to_delete_this_event: "Do you really want to delete this event?" #translation_missing
+ event_successfully_deleted: "Event successfully deleted" #translation_missing
+ unable_to_delete_the_event_because_some_users_alredy_booked_it: "Unable to delete this event, it may have been already reserved by some users." #translation_missing
calendar:
# public calendar
@@ -261,8 +277,13 @@ es:
spaces_list:
# list of spaces
- the_spaces: "Espacios"
- add_a_space: "Añadir espacios"
+ spaces_list:
+ the_spaces: "Espacios"
+ add_a_space: "Añadir espacios"
+ status_enabled: "Enabled" #translation_missing
+ status_disabled: "Disabled" #translation_missing
+ status_all: "All" #translation_missing
+ book: "Book" #translation_missing
space_show:
# display the details of a space
diff --git a/config/locales/app.public.fr.yml b/config/locales/app.public.fr.yml
index 073d56a60..577952267 100644
--- a/config/locales/app.public.fr.yml
+++ b/config/locales/app.public.fr.yml
@@ -127,13 +127,14 @@ fr:
# résumé des prochains évènements sur la page d'acceuil
fablab_s_next_events: "Les prochains évènements du Fab Lab"
every_events: "Tous les évènements"
- from_date_to_date: "Du {{START}} au {{END}}" # angular interpolation
- on_the_date: "Le {{DATE}}" # angular interpolation
- from_time_to_time: "De {{START}} à {{END}}" # angular interpolation
- free_entry: "Entrée libre"
+ from_date_to_date: "du {{START}} au {{END}}" # angular interpolation
+ on_the_date: "le {{DATE}}" # angular interpolation
+ from_time_to_time: "de {{START}} à {{END}}" # angular interpolation
+ free_entry: "Accès libre"
free_admission: "Entrée gratuite"
- full_price: "Plein tarif"
+ full_price: "Plein tarif : "
event_full: "Événement complet"
+ still_available: "Place(s) disponible(s) :"
projects_list:
# galerie des projets
@@ -235,6 +236,11 @@ fr:
the_fablab_s_events: "Les évènements du Fab Lab"
all_categories: "Toutes les catégories"
for_all: "Tout public"
+ sold_out: "Complet"
+ cancelled: "Annulé"
+ free_admission: "Gratuit"
+ still_available: "place(s) disponible(s)"
+ free_entry: "Accès libre"
events_show:
# détails d'un événement et réservation
@@ -245,8 +251,9 @@ fr:
ending: "Fin :"
opening_hours: "Horaires :"
tickets_still_availables: "Places encore disponibles :"
- sold_out: "Événement complet."
- free_entry: "Entrée libre"
+ sold_out: "Événement complet"
+ free_entry: "Accès libre"
+ cancelled: "Annulé"
ticket: "{NUMBER, plural, =0{place} one{place} other{places}}" # messageFormat interpolation
make_a_gift_of_this_reservation: "Offrir cette réservation"
you_can_find_your_reservation_s_details_on_your_: "Vous pouvez retrouver le détail de votre réservation sur votre"
diff --git a/config/locales/app.public.pt.yml b/config/locales/app.public.pt.yml
index 38504a653..9fe70ac48 100755
--- a/config/locales/app.public.pt.yml
+++ b/config/locales/app.public.pt.yml
@@ -127,13 +127,14 @@ pt:
# next events summary on the home page
fablab_s_next_events: "Próximos eventos do FabLab"
every_events: "Todos Eventos"
- from_date_to_date: "De {{START}} até {{END}}" # angular interpolation
- on_the_date: "Em {{DATE}}" # angular interpolation
+ from_date_to_date: "De {{START}} até {{END}}" # angular interpolation
+ on_the_date: "Em {{DATE}}" # angular interpolation
from_time_to_time: "Das {{START}} até {{END}}" # angular interpolation
free_entry: "Entrada franca"
free_admission: "Admissão grátis"
full_price: "Valor inteira"
event_full: "Evento lotado"
+ still_available: "Available place(s)" # traduction_missing
projects_list:
# projects gallery
@@ -233,6 +234,11 @@ pt:
the_fablab_s_events: "Eventos do Fablab"
all_categories: "Todas categorias"
for_all: "Para todos"
+ sold_out: "Esgotado."
+ cancelled: "Cancelled" #translation_missing
+ free_admission: "Admissão grátis"
+ still_available: "available place(s)" #translation_missing
+ free_entry: "Entrada franca"
events_show:
# details and booking of an event
@@ -245,6 +251,7 @@ pt:
tickets_still_availables: "Tickets ainda disponíveis:"
sold_out: "Esgotado."
free_entry: "Entrada franca"
+ cancelled: "Cancelled" #translation_missing
ticket: "{NUMBER, plural, one{ticket} other{tickets}}" # messageFormat interpolation
make_a_gift_of_this_reservation: "Doe esta reserva"
you_can_find_your_reservation_s_details_on_your_: "Você pode encontrar detalhes da sua reserva em seu"
@@ -288,4 +295,4 @@ pt:
the_space_cant_be_deleted_because_it_is_already_reserved_by_some_users: "Impossível remover este espaço, pois ele já foi reservado por alguns usuários."
characteristics: "Características"
files_to_download: "Arquivo para download"
- projects_using_the_space: "Projetos usando espaço"
\ No newline at end of file
+ projects_using_the_space: "Projetos usando espaço"
diff --git a/config/locales/app.shared.en.yml b/config/locales/app.shared.en.yml
index 6f2f961a3..82dd57d5d 100644
--- a/config/locales/app.shared.en.yml
+++ b/config/locales/app.shared.en.yml
@@ -458,4 +458,4 @@ en:
cancellation_failed: "Cancellation failed."
confirm_payment_of_html: "{ROLE, select, admin{Payment on site} other{Pay}}: {AMOUNT}" # messageFormat interpolation (context: confirm my payment of $20.00)
a_problem_occured_during_the_payment_process_please_try_again_later: "A problem occurred during the payment process. Please try again later."
- none: "None"
\ No newline at end of file
+ none: "None"
diff --git a/config/locales/app.shared.es.yml b/config/locales/app.shared.es.yml
index 1dab51b47..0bbf158e8 100644
--- a/config/locales/app.shared.es.yml
+++ b/config/locales/app.shared.es.yml
@@ -230,14 +230,24 @@ es:
as_part_of_a_partner_subscription_some_notifications_may_be_sent_to_this_user: "Como parte de la suscripción, algunas notificaciones podrían ser enviadas a este usuario."
new_partner: "Nuevo compañero"
email_address_is_required: "Se requiere un mail."
+ disabled: "Disable subscription" #translation_missing
+ disable_plan_will_not_unsubscribe_users: "Beware: disabling this plan won't unsubscribe users having active subscriptions with it." #translation_missing
trainings:
# training edition form
- add_a_new_training: "Añadir curso"
- validate_your_training: "Validar curso"
- associated_machines: "Máquinas asociadas"
- number_of_tickets: "Número de entradas"
- public_page: "Hacer curso público"
+ trainings_form:
+ name: "Name" #translation_missing
+ name_is_required: "Name is required." #translation_missing
+ illustration: "Illustration" #translation_missing
+ add_an_illustration: "Add an illustration" #translation_missing
+ description: "Description" #translation_missing
+ description_is_required: "Description is required." #translation_missing
+ add_a_new_training: "Añadir curso"
+ validate_your_training: "Validar curso"
+ associated_machines: "Máquinas asociadas"
+ number_of_tickets: "Número de entradas"
+ public_page: "Hacer curso público"
+ disable_training: "Disable the training" #translation_missing
user_admin:
# partial form to edit/create an user (admin view)
@@ -377,8 +387,8 @@ es:
coupon_input:
# coupon (input zone for users)
- i_have_a_coupon: "I have a coupon!"
- code_: "Code:"
+ i_have_a_coupon: "I have a coupon!" #translation_missing
+ code_: "Code:" #translation_missing
the_coupon_has_been_applied_you_get_PERCENT_discount: "Se ha aplicado el cupón {{PERCENT}}% de descuento." # angular interpolation
the_coupon_has_been_applied_you_get_AMOUNT_CURRENCY: "Se ha aplicado el cupón. Recibirá un descuento de {{AMOUNT}} {{CURRENCY}}." # angular interpolation
unable_to_apply_the_coupon_because_disabled: "No se ha podido canjear el cupón: código inhabilitado."
@@ -405,6 +415,7 @@ es:
add_an_attachment: "Añadir adjunto"
default_places: "Máximo de entradas predeterminado"
default_places_is_required: "Se requiere un máximo de entradas predeterminado."
+ disable_space: "Disable space" #translation_missing
cart:
# module de panier d'achat de réservations
diff --git a/config/locales/app.shared.fr.yml b/config/locales/app.shared.fr.yml
index ceee826ec..c7fde0f83 100644
--- a/config/locales/app.shared.fr.yml
+++ b/config/locales/app.shared.fr.yml
@@ -55,7 +55,7 @@ fr:
add_an_event: "Ajouter un évènement"
load_the_next_events: "Charger les évènements suivants ..."
no_passed_events: "Aucun évènement passé"
- dates: "Dates :"
+ dates: "Dates"
thank_you_your_payment_has_been_successfully_registered: "Merci. Votre paiement a bien été pris en compte !"
surname: "Nom"
first_name: "Prénom"
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 36f41010d..92460e907 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -360,4 +360,4 @@ en:
group:
# name of the user's group for administrators
- admins: 'Administrators'
\ No newline at end of file
+ admins: 'Administrators'
diff --git a/config/locales/mails.es.yml b/config/locales/mails.es.yml
index 8edc7568e..530e9efd4 100644
--- a/config/locales/mails.es.yml
+++ b/config/locales/mails.es.yml
@@ -248,7 +248,7 @@ es:
enabled: "A partir de ahora, todos los pagos realizados por este usuario en la recepción llevarán a la emisión de facturación. "
notify_user_wallet_is_credited:
- subject: ""
+ subject: "" #translation_missing
body:
wallet_credit_html: "Se han ingresado %{AMOUNT} por el administrador."
diff --git a/config/locales/pt.yml b/config/locales/pt.yml
index 6db56287e..badf770bb 100755
--- a/config/locales/pt.yml
+++ b/config/locales/pt.yml
@@ -360,4 +360,4 @@ pt:
group:
# name of the user's group for administrators
- admins: 'Administradores'
\ No newline at end of file
+ admins: 'Administradores'