⚠️ This issue respects the following points: ⚠️
Bug description
Calendar invitation emails show dates in English when the user language is set to Galician (gl). All other translations in the email are correct.
Root cause:
Nextcloud uses the punic/punic library for date formatting (3rdparty/punic/punic/src/data/), but Punic does not include data for the gl locale. As a result, date formatting silently falls back to English.
CLDR has full data for Galician:
https://github.com/unicode-org/cldr/blob/main/common/main/gl.xml
MomentJS also has full support for gl:
https://github.com/moment/moment/blob/2.18.1/locale/gl.js
Reported to Punic: punic/punic#424
Steps to reproduce
- Set user language to Galician (gl)
- Create a calendar event and invite an external email address
- Check the received invitation email — date is in English
Expected: martes, 28 de abril de 2026
Actual: Tuesday, April 28, 2026
Expected behavior
Expected: martes, 28 de abril de 2026
Actual: Tuesday, April 28, 2026
Nextcloud Server version
32
Operating system
Other
PHP engine version
None
Web server
None
Database engine version
None
Is this bug present after an update or on a fresh install?
None
Are you using the Nextcloud Server Encryption module?
None
What user-backends are you using?
Configuration report
{
"system": {
"one-click-instance": true,
"one-click-instance.user-limit": 100,
"memcache.local": "\\OC\\Memcache\\APCu",
"apps_paths": [
{
"path": "\/var\/www\/html\/apps",
"url": "\/apps",
"writable": false
},
{
"path": "\/var\/www\/html\/custom_apps",
"url": "\/custom_apps",
"writable": true
}
],
"check_data_directory_permissions": false,
"memcache.distributed": "\\OC\\Memcache\\Redis",
"memcache.locking": "\\OC\\Memcache\\Redis",
"redis": {
"host": "***REMOVED SENSITIVE VALUE***",
"password": "***REMOVED SENSITIVE VALUE***",
"port": 6379
},
"overwritehost": "nube.roicou.gal",
"overwriteprotocol": "https",
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"localhost",
"nube.roicou.gal"
],
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"dbtype": "pgsql",
"version": "32.0.8.2",
"overwrite.cli.url": "https:\/\/nube.roicou.gal\/",
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbtableprefix": "oc_",
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"installed": true,
"instanceid": "***REMOVED SENSITIVE VALUE***",
"maintenance": false,
"updatechecker": false,
"loglevel": 2,
"log_type": "file",
"logfile": "\/var\/www\/html\/data\/nextcloud.log",
"log_rotate_size": 10485760,
"log.condition": {
"apps": [
"admin_audit"
]
},
"preview_max_x": 2048,
"preview_max_y": 2048,
"jpeg_quality": 60,
"enabledPreviewProviders": {
"1": "OC\\Preview\\Image",
"2": "OC\\Preview\\MarkDown",
"3": "OC\\Preview\\MP3",
"4": "OC\\Preview\\TXT",
"5": "OC\\Preview\\OpenDocument",
"6": "OC\\Preview\\Movie",
"7": "OC\\Preview\\Krita",
"0": "OC\\Preview\\Imaginary",
"23": "OC\\Preview\\ImaginaryPDF"
},
"enable_previews": true,
"upgrade.disable-web": true,
"mail_smtpmode": "smtp",
"trashbin_retention_obligation": "auto, 30",
"versions_retention_obligation": "auto, 30",
"activity_expire_days": 30,
"simpleSignUpLink.shown": false,
"share_folder": "\/Shared",
"one-click-instance.link": "https:\/\/nextcloud.com\/all-in-one\/",
"upgrade.cli-upgrade-link": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/2726",
"updatedirectory": "\/nc-updater",
"maintenance_window_start": 100,
"allow_local_remote_servers": true,
"davstorage.request_timeout": 3600,
"documentation_url.server_logs": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/5425",
"htaccess.RewriteBase": "\/",
"dbpersistent": false,
"auth.bruteforce.protection.enabled": true,
"ratelimit.protection.enabled": true,
"files_external_allow_create_new_local": false,
"trusted_proxies": "***REMOVED SENSITIVE VALUE***",
"onlyoffice": {
"editors_check_interval": 0,
"jwt_secret": "***REMOVED SENSITIVE VALUE***",
"jwt_header": "AuthorizationJwt"
},
"preview_imaginary_url": "***REMOVED SENSITIVE VALUE***",
"preview_imaginary_key": "***REMOVED SENSITIVE VALUE***",
"config_preset": 2,
"mail_sendmailmode": "smtp",
"mail_from_address": "***REMOVED SENSITIVE VALUE***",
"mail_domain": "***REMOVED SENSITIVE VALUE***",
"mail_smtphost": "***REMOVED SENSITIVE VALUE***",
"mail_smtpport": "587",
"mail_smtpauth": true,
"mail_smtpname": "***REMOVED SENSITIVE VALUE***",
"mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
"default_language": "gl",
"default_locale": "gl",
"forbidden_filename_characters": [
"\\",
"\/"
],
"forbidden_filename_extensions": [
".filepart",
".part"
],
"DOMAIN": "nube.roicou.gal",
"AIO_VERSION": "v12.9.2"
}
}
List of activated Apps
Enabled:
- activity: 5.0.0
- admin_audit: 1.22.0
- bruteforcesettings: 5.0.0
- calendar: 6.2.2
- circles: 32.0.0
- cloud_federation_api: 1.16.0
- comments: 1.22.0
- contacts: 8.3.7
- contactsinteraction: 1.13.1
- dashboard: 7.12.0
- dav: 1.34.2
- deck: 1.16.3
- federatedfilesharing: 1.22.0
- federation: 1.22.0
- files: 2.4.0
- files_downloadlimit: 5.0.0
- files_fulltextsearch: 32.0.2
- files_pdfviewer: 5.0.0
- files_reminders: 1.5.0
- files_sharing: 1.24.1
- files_trashbin: 1.22.0
- files_versions: 1.25.0
- firstrunwizard: 5.0.0
- fulltextsearch: 32.0.0
- fulltextsearch_elasticsearch: 32.0.2
- guests: 4.6.0
- logreader: 5.0.0
- lookup_server_connector: 1.20.0
- nextcloud-aio: 0.8.0
- nextcloud_announcements: 4.0.0
- notes: 4.13.1
- notifications: 5.0.0
- notify_push: 1.3.1
- oauth2: 1.20.0
- password_policy: 4.0.0
- photos: 5.0.0
- privacy: 4.0.0
- profile: 1.1.0
- provisioning_api: 1.22.0
- recommendations: 5.0.0
- related_resources: 3.0.0
- richdocuments: 9.0.5
- serverinfo: 4.0.0
- settings: 1.15.1
- sharebymail: 1.22.0
- support: 4.0.0
- survey_client: 4.0.0
- systemtags: 1.22.0
- tasks: 0.17.1
- text: 6.0.1
- theming: 2.7.0
- twofactor_backupcodes: 1.21.0
- twofactor_totp: 14.0.0
- updatenotification: 1.22.0
- user_status: 1.12.0
- viewer: 5.0.0
- weather_status: 1.12.0
- webhook_listeners: 1.3.0
- workflowengine: 2.14.0
Disabled:
- app_api: 32.0.0 (installed 32.0.0)
- encryption: 2.20.0
- files_external: 1.24.1
- suspicious_login: 10.0.0
- twofactor_nextcloud_notification: 6.0.0
- user_ldap: 1.23.0
Nextcloud Signing status
Nextcloud Logs
Additional info
Installation method: Nextcloud AIO (Docker)
Host OS: Fedora Server
Bug description
Calendar invitation emails show dates in English when the user language is set to Galician (
gl). All other translations in the email are correct.Root cause:
Nextcloud uses the
punic/puniclibrary for date formatting (3rdparty/punic/punic/src/data/), but Punic does not include data for thegllocale. As a result, date formatting silently falls back to English.CLDR has full data for Galician:
https://github.com/unicode-org/cldr/blob/main/common/main/gl.xml
MomentJS also has full support for
gl:https://github.com/moment/moment/blob/2.18.1/locale/gl.js
Reported to Punic: punic/punic#424
Steps to reproduce
Expected:
martes, 28 de abril de 2026Actual:
Tuesday, April 28, 2026Expected behavior
Expected:
martes, 28 de abril de 2026Actual:
Tuesday, April 28, 2026Nextcloud Server version
32
Operating system
Other
PHP engine version
None
Web server
None
Database engine version
None
Is this bug present after an update or on a fresh install?
None
Are you using the Nextcloud Server Encryption module?
None
What user-backends are you using?
Configuration report
{ "system": { "one-click-instance": true, "one-click-instance.user-limit": 100, "memcache.local": "\\OC\\Memcache\\APCu", "apps_paths": [ { "path": "\/var\/www\/html\/apps", "url": "\/apps", "writable": false }, { "path": "\/var\/www\/html\/custom_apps", "url": "\/custom_apps", "writable": true } ], "check_data_directory_permissions": false, "memcache.distributed": "\\OC\\Memcache\\Redis", "memcache.locking": "\\OC\\Memcache\\Redis", "redis": { "host": "***REMOVED SENSITIVE VALUE***", "password": "***REMOVED SENSITIVE VALUE***", "port": 6379 }, "overwritehost": "nube.roicou.gal", "overwriteprotocol": "https", "passwordsalt": "***REMOVED SENSITIVE VALUE***", "secret": "***REMOVED SENSITIVE VALUE***", "trusted_domains": [ "localhost", "nube.roicou.gal" ], "datadirectory": "***REMOVED SENSITIVE VALUE***", "dbtype": "pgsql", "version": "32.0.8.2", "overwrite.cli.url": "https:\/\/nube.roicou.gal\/", "dbname": "***REMOVED SENSITIVE VALUE***", "dbhost": "***REMOVED SENSITIVE VALUE***", "dbtableprefix": "oc_", "dbuser": "***REMOVED SENSITIVE VALUE***", "dbpassword": "***REMOVED SENSITIVE VALUE***", "installed": true, "instanceid": "***REMOVED SENSITIVE VALUE***", "maintenance": false, "updatechecker": false, "loglevel": 2, "log_type": "file", "logfile": "\/var\/www\/html\/data\/nextcloud.log", "log_rotate_size": 10485760, "log.condition": { "apps": [ "admin_audit" ] }, "preview_max_x": 2048, "preview_max_y": 2048, "jpeg_quality": 60, "enabledPreviewProviders": { "1": "OC\\Preview\\Image", "2": "OC\\Preview\\MarkDown", "3": "OC\\Preview\\MP3", "4": "OC\\Preview\\TXT", "5": "OC\\Preview\\OpenDocument", "6": "OC\\Preview\\Movie", "7": "OC\\Preview\\Krita", "0": "OC\\Preview\\Imaginary", "23": "OC\\Preview\\ImaginaryPDF" }, "enable_previews": true, "upgrade.disable-web": true, "mail_smtpmode": "smtp", "trashbin_retention_obligation": "auto, 30", "versions_retention_obligation": "auto, 30", "activity_expire_days": 30, "simpleSignUpLink.shown": false, "share_folder": "\/Shared", "one-click-instance.link": "https:\/\/nextcloud.com\/all-in-one\/", "upgrade.cli-upgrade-link": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/2726", "updatedirectory": "\/nc-updater", "maintenance_window_start": 100, "allow_local_remote_servers": true, "davstorage.request_timeout": 3600, "documentation_url.server_logs": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/5425", "htaccess.RewriteBase": "\/", "dbpersistent": false, "auth.bruteforce.protection.enabled": true, "ratelimit.protection.enabled": true, "files_external_allow_create_new_local": false, "trusted_proxies": "***REMOVED SENSITIVE VALUE***", "onlyoffice": { "editors_check_interval": 0, "jwt_secret": "***REMOVED SENSITIVE VALUE***", "jwt_header": "AuthorizationJwt" }, "preview_imaginary_url": "***REMOVED SENSITIVE VALUE***", "preview_imaginary_key": "***REMOVED SENSITIVE VALUE***", "config_preset": 2, "mail_sendmailmode": "smtp", "mail_from_address": "***REMOVED SENSITIVE VALUE***", "mail_domain": "***REMOVED SENSITIVE VALUE***", "mail_smtphost": "***REMOVED SENSITIVE VALUE***", "mail_smtpport": "587", "mail_smtpauth": true, "mail_smtpname": "***REMOVED SENSITIVE VALUE***", "mail_smtppassword": "***REMOVED SENSITIVE VALUE***", "default_language": "gl", "default_locale": "gl", "forbidden_filename_characters": [ "\\", "\/" ], "forbidden_filename_extensions": [ ".filepart", ".part" ], "DOMAIN": "nube.roicou.gal", "AIO_VERSION": "v12.9.2" } }List of activated Apps
Nextcloud Signing status
Nextcloud Logs
Additional info
Installation method: Nextcloud AIO (Docker)
Host OS: Fedora Server