diff --git a/app/models/util/period.rb b/app/models/util/period.rb index 7a9ab50e6..f18076d6e 100644 --- a/app/models/util/period.rb +++ b/app/models/util/period.rb @@ -130,19 +130,22 @@ def with(start_date = Time.zone.today, end_date = Time.zone.today, label = nil) def parse_date(date) return nil if date.blank? - if date.is_a? String - begin - date = Date.strptime(date, I18n.t('date.formats.default')) - rescue StandardError - date = Date.parse(date) - end + case date + when Time then date.to_date + when /\A\d{1,2}\.\d{1,2}\.\d{2}\z/ then parse_date_string(date, :short_year) + when String then parse_date_string(date) + else date end - date = date.to_date if date.is_a? Time - date end private + def parse_date_string(date, type = :default) + Date.strptime(date, I18n.t(type, scope: 'date.formats')) + rescue ArgumentError + Date.parse(date) + end + def day_label(date) case date when Time.zone.today then 'Heute' diff --git a/config/locales/crud.de-CH.yml b/config/locales/crud.de-CH.yml index 275eee72d..0722f2e26 100644 --- a/config/locales/crud.de-CH.yml +++ b/config/locales/crud.de-CH.yml @@ -3,17 +3,16 @@ # or later. See the COPYING file at the top-level directory or at # https://github.com/puzzle/puzzletime. - # Translations of all crud strings. # See also I18nHelper#translate_inheritable and #translate_association. --- de-CH: # global scope global: - "yes": "ja" - "no": "nein" - "true": "ja" - "false": "nein" + 'yes': 'ja' + 'no': 'nein' + 'true': 'ja' + 'false': 'nein' no_list_entries: Keine Einträge gefunden. confirm_delete: Wollen Sie diesen Eintrag wirklich löschen? @@ -40,43 +39,43 @@ de-CH: errors: header: - one: "Ein Fehler verhinderte das Speichern dieses Eintrages:" - other: "%{count} Fehler verhinderten das Speichern dieses Eintrages:" + one: 'Ein Fehler verhinderte das Speichern dieses Eintrages:' + other: '%{count} Fehler verhinderten das Speichern dieses Eintrages:' # formats date: formats: - long: "%a, %d.%m.%Y" - week: "%Y %V" - month: "%B %Y" - month_only: "%B" + long: '%a, %d.%m.%Y' + week: '%Y %V' + month: '%B %Y' + month_only: '%B' + short_year: '%d.%m.%y' time: formats: - time: "%H:%M" + time: '%H:%M' # list controller list: index: - title: "%{models}" + title: '%{models}' # crud controller crud: show: - title: "%{model}" + title: '%{model}' new: - title: "%{model} erstellen" + title: '%{model} erstellen' edit: - title: "%{model} bearbeiten" + title: '%{model} bearbeiten' create: - title: "%{model} erstellen" + title: '%{model} erstellen' flash: - success: "%{model} wurde erfolgreich erstellt." + success: '%{model} wurde erfolgreich erstellt.' update: - title: "%{model} bearbeiten" + title: '%{model} bearbeiten' flash: - success: "%{model} wurde erfolgreich aktualisiert." + success: '%{model} wurde erfolgreich aktualisiert.' destroy: flash: - success: "%{model} wurde erfolgreich gelöscht." - failure: "%{model} konnte nicht gelöscht werden." -... + success: '%{model} wurde erfolgreich gelöscht.' + failure: '%{model} konnte nicht gelöscht werden.'