nextcloud / nextcloud/calendar

calendar date picker (in public link) should honor locale settings

Open
#4,002 0 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

0. to triage bug Feature: Appointments feature: language/translations (l10n/i18n)
Dominant language
JavaScript
Stars
1.2k
Forks
332
Avg merge
16h 13m
Merged PRs (30d)
137

Description

Steps to reproduce
  1. install calendar 3.1.0
  2. set preferred language in sharee's browser to non "en-US", e.g. "[de]" in Firefox
  3. set locale of the sharer to non "en-US", e.g. "German (Germany)" in NC's personal settings
  4. create appointment (public link)
  5. 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
grafik

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.