German date format support for the calendar extension

Hi all! If you are using the preview version and want German date format support for the calendar (like 24. Mai 2026) and want new entries to show up directly at the root, I made a fork of the Calendar extension:

Look in src/kalender.bkext.

Build it with ./node_modules/.bin/bike-ext build kalender --install

René Coignard

1 Like

Thanks for sharing and glad to see you were able to get something going with extension system so quickly.

Were you getting no localization? It should be that this code in the calendar extension provides some localization:

function formatWith(date: Date, key: string): string {
  const format = bike.defaults.get(key)
  if (typeof format === 'string') {
    return bike.formatDate(date, format)
  }
  if (typeof format === 'object' && !Array.isArray(format)) {
    return new Intl.DateTimeFormat(bike.systemLocale, format as Intl.DateTimeFormatOptions).format(date)
  }
  return date.toLocaleDateString(bike.systemLocale)
}

Edit There are also some ways to customize the localization through Bike > Settings > Extensions. But I thought the default would have provided some German localization.

Edit 2 And last! I do think for your case of wanting different layout means it still makes sense to create a separate extension, I’m just wondering about the localization and if there is a bug on my side.

Hi again! Actually my system language is German and all my apps are in German. So it looks like bike.systemLocale might be returning “en” instead of “de-DE” because Bike’s UI is English-only. Possibly a bug where it returns the app language rather than the actual system locale?

René Coignard

Yes that was it. The API I used filters the system choice through the actual localisations the app offers. I’ve fixed so in next release calendar extension should generate properly localised date strings.

1 Like

It would be nice to have a way to customize the row layout too (e.g. flat instead of Calendar / Year / Month / Day), that would let me drop my fork entirely. Happy to implement it and open a PR if that’s helpful.

René Coignard

Yeah, I’d like to take a look if you are willing to do that.

1 Like

That was pretty easy, please take a look:

The only thing I am not sure about is what the Nested/Flat selection button looks like. Maybe there is a better UX/UI solution.

René Coignard

1 Like

Thanks! I’m busy with some other tasks today, but will dig into this as soon as I can.

1 Like