nextcloud / nextcloud/calendar
calendar date picker (in public link) should honor locale settings
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1.2k
- Forks
- 332
- Avg merge
- 16h 13m
- Merged PRs (30d)
- 137
Description
Steps to reproduce
- install calendar 3.1.0
- set preferred language in sharee's browser to non "en-US", e.g. "[de]" in Firefox
- set locale of the sharer to non "en-US", e.g. "German (Germany)" in NC's personal settings
- create appointment (public link)
- open that link in a (private) browser window and check date selection widget
Expected behavior
In private/public shared links, the calendar date picker widget should honor locale settings – ideally those of the remote user trying to make an appointment, or at least the locale settings of the NC user that shared the appointment.
Actual behaviour
unlocalized calendar (US locale, Sunday first) is used for the date picker

Calendar app version
3.1.0
CalDAV-clients used
Webinterface only
Browser
Firefox 97.0.1
Client operating system
Arch Linux
Server operating system
Arch Linux
Web server
Nginx
Database engine version
MariaDB
PHP engine version
PHP 8.0
Nextcloud version
23.0.2
Updated from an older installed version or fresh install
Updated from an older version
List of activated apps
Enabled:
- accessibility: 1.9.0
- activity: 2.15.0
- admin_audit: 1.13.0
- appointments: 1.12.0
- apporder: 0.14.0
- backup: 1.0.4
- bookmarks: 10.0.3
- calendar: 3.1.0
- circles: 23.0.1
- cloud_federation_api: 1.6.0
- contacts: 4.0.8
- dav: 1.21.0
- deck: 1.6.0
- federatedfilesharing: 1.13.0
- federation: 1.13.0
- files: 1.18.0
- files_external: 1.15.0
- files_frommail: 0.4.0
- files_mindmap: 0.0.26
- files_pdfviewer: 2.4.0
- files_rightclick: 1.2.0
- files_sharing: 1.15.0
- files_trashbin: 1.13.0
- files_versions: 1.16.0
- files_videoplayer: 1.12.0
- groupfolders: 11.1.2
- impersonate: 1.10.0
- logreader: 2.8.0
- lookup_server_connector: 1.11.0
- mail: 1.11.7
- notes: 4.3.1
- notifications: 2.11.1
- notify_push: 0.3.0
- oauth2: 1.11.0
- password_policy: 1.13.0
- polls: 3.5.4
- privacy: 1.7.0
- provisioning_api: 1.13.0
- ransomware_protection: 1.12.0
- richdocuments: 5.0.2
- serverinfo: 1.13.0
- settings: 1.5.0
- sharebymail: 1.13.0
- spreed: 13.0.3
- systemtags: 1.13.0
- tasks: 0.14.2
- text: 3.4.0
- theming: 1.14.0
- twofactor_admin: 3.2.0
- twofactor_backupcodes: 1.12.0
- twofactor_email: 2.1.1
- twofactor_gateway: 0.19.0
- twofactor_nextcloud_notification: 3.3.1
- twofactor_totp: 6.2.0
- twofactor_u2f: 6.3.0
- updatenotification: 1.13.0
- viewer: 1.7.0
- workflowengine: 2.5.0
Disabled:
- auto_groups: 1.4.0
- bruteforcesettings: 2.3.0
- comments: 1.11.0
- contactsinteraction: 1.1.0
- dashboard: 4.0.5
- encryption: 2.0.0
- firstrunwizard: 2.2.1
- group_everyone: 0.1.9
- nextcloud_announcements: 1.5.0
- photos: 1.1.0
- recommendations: 0.4.0
- support: 1.0.0
- survey_client: 0.1.5
- user_ldap
- user_status: 1.0.0
- weather_status: 1.0.0
Nextcloud configuration
{
"system": {
"instanceid": "***REMOVED SENSITIVE VALUE***",
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"cloud.datenschutz-individuell.de",
"stage.datenschutz-individuell.de",
"cloud.selbstbestimmt-digital.de",
"stage.selbstbestimmt-digital.de",
"cloud.seyfarth.de",
"test.seyfarth.de",
"cloud.owncube.com",
"efdpo.owncube.com",
"cloud.bvdnet.de"
],
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"dbtype": "mysql",
"version": "23.0.2.1",
"overwrite.cli.url": "https:\/\/cloud.datenschutz-individuell.de",
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbport": "",
"dbtableprefix": "oc_",
"mysql.utf8mb4": true,
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"installed": true,
"maintenance": false,
"memcache.local": "\\OC\\Memcache\\APCu",
"memcache.distributed": "\\OC\\Memcache\\Redis",
"memcache.locking": "\\OC\\Memcache\\Redis",
"redis": {
"host": "***REMOVED SENSITIVE VALUE***",
"port": 0,
"dbindex": 1,
"timeout": 1.5
},
"logtimezone": "Europe\/Berlin",
"trashbin_retention_obligation": "auto,30",
"versions_retention_obligation": "auto,366",
"skeletondirectory": "",
"default_language": "de_DE",
"default_locale": "de_DE",
"default_phone_region": "DE",
"updater.release.channel": "stable",
"theme": "",
"loglevel": 2,
"data-fingerprint": "adca8c722278d40310becb30b3e20c5e",
"mail_smtpmode": "smtp",
"mail_smtphost": "***REMOVED SENSITIVE VALUE***",
"mail_sendmailmode": "smtp",
"mail_smtpport": "25",
"mail_smtpsecure": "tls",
"mail_from_address": "***REMOVED SENSITIVE VALUE***",
"mail_domain": "***REMOVED SENSITIVE VALUE***",
"simpleSignUpLink.shown": false,
"twofactor_enforced": "true",
"twofactor_enforced_groups": [
"admin",
"_Mitarbeiter"
],
"twofactor_enforced_excluded_groups": [
"_Upload"
],
"trusted_proxies": "***REMOVED SENSITIVE VALUE***",
"app_install_overwrite": [
"files_frommail",
"files_mindmap",
"apporder"
],
"htaccess.IgnoreFrontController": true
}
}
Web server error log
no relevant entries
Log file
no relevant entries
Browser log
no relevant entries
Additional info
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source files or tests are identified in the issue. Reproduce the public-link date picker with German browser and Nextcloud locale settings, then trace the calendar frontend's locale initialization. Done means the picker no longer defaults to US formatting and honors the remote user's locale or the sharer's locale.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- frontend, internationalization
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100