Skip to content

Releases: nextcloud-libraries/nextcloud-l10n

v3.4.1

06 Nov 11:10
6336e99

Choose a tag to compare

3.4.1 - 2025-11-06

🐛 Fixed bugs

  • Fix array order inconsistencies for weekdays when using timezone with negative offset #958 (Sector6759)

Other changes

  • Updated development dependencies
  • chore: update Node and NPM dev versions to align with apps #960 (susnux)

v3.4.0

09 Jul 14:59
b8c9254

Choose a tag to compare

What's Changed

🚀 Enhancements

  • feat: add support for universal environment by @susnux in #933
  • feat(gettext): allow to add translations to the wrapper by @susnux in #953

Other changes

  • chore(deps-dev): Bump msw from 2.8.6 to 2.9.0 by @dependabot in #934
  • chore(deps-dev): Bump @types/node from 22.15.29 to 22.15.30 by @dependabot in #937
  • chore(deps-dev): Bump @vitest/coverage-v8 from 3.1.4 to 3.2.2 by @dependabot in #936
  • chore(deps-dev): Bump @vitest/coverage-v8 from 3.2.2 to 3.2.3 by @dependabot in #938
  • chore(deps-dev): Bump msw from 2.9.0 to 2.10.2 by @dependabot in #940
  • chore(deps-dev): Bump @vitest/coverage-v8 from 3.2.3 to 3.2.4 by @dependabot in #942
  • chore(deps-dev): Bump pbkdf2 from 3.1.2 to 3.1.3 by @dependabot in #945
  • chore(deps-dev): Bump typedoc from 0.28.5 to 0.28.6 by @dependabot in #946
  • chore(deps-dev): Bump typedoc from 0.28.6 to 0.28.7 by @dependabot in #949
  • chore(deps-dev): Bump msw from 2.10.2 to 2.10.3 by @dependabot in #952
  • chore(deps-dev): Bump @types/node from 22.15.30 to 24.0.10 by @dependabot in #950
  • chore: update support Node versions and use devEngines by @susnux in #954
  • chore: update ESLint to v9 and adjust code style by @susnux in #955
  • chore: prepare v3.4.0 by @susnux in #956

Full Changelog: v3.3.0...v3.4.0

v3.3.0

03 Jun 19:01
3adb913

Choose a tag to compare

What's Changed

nextcloud-l10n/pull/857

🚀 Enhancements

  • feat: add method to format relative time by @susnux in #921

🐛 Fixed bugs

  • fix: export types used in gettext exports by @susnux in #905
  • fix(translations): use language instead of locale + refactor the loadTranslations method by @susnux in #927
  • fix(locale): fallback to device preferences instead of 'en' by @ShGKme in #864

Other changes

  • chore(deps-dev): Bump @types/node from 20.17.16 to 22.13.1 by @dependabot in https://github.com/nextcloud-libraries/* chore(deps-dev): Bump typedoc from 0.27.6 to 0.27.7 by @dependabot in #861
  • chore(deps-dev): Bump @types/node from 22.13.1 to 22.13.4 by @dependabot in #863
  • chore(deps-dev): Bump @types/gettext-parser from 4.0.4 to 8.0.0 by @dependabot in #862
  • chore(deps-dev): Bump @vitest/coverage-v8 from 3.0.5 to 3.0.6 by @dependabot in #867
  • chore(deps-dev): Bump @nextcloud/eslint-config from 8.4.1 to 8.4.2 by @dependabot in #868
  • chore(deps-dev): Bump @types/node from 22.13.4 to 22.13.5 by @dependabot in #869
  • chore(deps-dev): Bump typedoc from 0.27.7 to 0.27.8 by @dependabot in #870
  • chore(deps-dev): Bump vite from 6.1.0 to 6.1.1 by @dependabot in #871
  • chore(deps-dev): Bump @types/node from 22.13.5 to 22.13.7 by @dependabot in #873
  • chore(deps-dev): Bump vite from 6.1.1 to 6.2.0 by @dependabot in #874
  • chore(deps-dev): Bump typedoc from 0.27.8 to 0.27.9 by @dependabot in #875
  • chore(deps-dev): Bump @vitest/coverage-v8 from 3.0.6 to 3.0.7 by @dependabot in #872
  • chore(deps-dev): Bump @types/node from 22.13.7 to 22.13.9 by @dependabot in #877
  • chore(deps-dev): Bump @vitest/coverage-v8 from 3.0.7 to 3.0.8 by @dependabot in #878
  • chore(deps-dev): Bump vite from 6.2.0 to 6.2.1 by @dependabot in #880
  • chore(deps-dev): Bump @types/node from 22.13.9 to 22.13.10 by @dependabot in #882
  • chore(deps-dev): Bump vite from 6.2.1 to 6.2.2 by @dependabot in #881
  • chore(deps-dev): Bump @nextcloud/vite-config from 2.3.1 to 2.3.2 by @dependabot in #883
  • chore(deps-dev): Bump @types/node from 22.13.10 to 22.13.11 by @dependabot in #886
  • chore(deps-dev): Bump @vitest/coverage-v8 from 3.0.8 to 3.0.9 by @dependabot in #887
  • chore(deps-dev): Bump @types/node from 22.13.11 to 22.13.14 by @dependabot in #889
  • chore(deps-dev): Bump vite from 6.2.2 to 6.2.3 by @dependabot in #890
  • chore(deps-dev): Bump vite from 6.2.3 to 6.2.4 by @dependabot in #891
  • chore(deps-dev): Bump typedoc-plugin-missing-exports from 3.1.0 to 4.0.0 by @dependabot in #885
  • chore(deps-dev): Bump vite from 6.2.4 to 6.2.5 by @dependabot in #892
  • chore(deps-dev): Bump @types/node from 22.13.14 to 22.14.0 by @dependabot in #893
  • chore(deps): Bump dompurify from 3.2.4 to 3.2.5 by @dependabot in #894
  • chore(deps-dev): Bump @vitest/coverage-v8 from 3.0.9 to 3.1.1 by @dependabot in #896
  • chore(deps-dev): Bump vite from 6.2.5 to 6.2.6 by @dependabot in #897
  • chore(deps-dev): Bump typedoc from 0.28.1 to 0.28.2 by @dependabot in #899
  • chore(deps-dev): Bump @types/node from 22.14.0 to 22.14.1 by @dependabot in #898
  • chore(deps-dev): Bump vite from 6.2.6 to 6.3.2 by @dependabot in #900
  • chore(deps-dev): Bump jsdom from 26.0.0 to 26.1.0 by @dependabot in #901
  • chore(deps): drop unnecessary @types/dompurify by @max-nextcloud in #903
  • docs(readme): update badges by @st3iny in #904
  • chore(deps-dev): Bump @vitest/coverage-v8 from 3.1.1 to 3.1.2 by @dependabot in #907
  • chore(deps-dev): Bump vite from 6.3.2 to 6.3.3 by @dependabot in #909
  • chore(deps-dev): Bump typedoc from 0.28.2 to 0.28.3 by @dependabot in #908
  • chore(deps-dev): Bump @types/node from 22.14.1 to 22.15.2 by @dependabot in #906
  • chore(deps-dev): Bump vite from 6.3.3 to 6.3.4 by @dependabot in #911
  • chore(deps): Bump esbuild and rollup-plugin-esbuild-minify by @dependabot in #912
  • chore(deps-dev): Bump @types/node from 22.15.2 to 22.15.3 by @dependabot in #913
  • chore(deps-dev): Bump @nextcloud/vite-config from 2.3.2 to 2.3.3 by @dependabot in #914
  • chore(deps-dev): Bump vite from 6.3.4 to 6.3.5 by @dependabot in #915
  • chore(deps-dev): Bump @types/node from 22.15.3 to 22.15.17 by @dependabot in #916
  • chore(deps-dev): Bump @vitest/coverage-v8 from 3.1.2 to 3.1.3 by @dependabot in #917
  • chore(deps-dev): Bump typedoc from 0.28.3 to 0.28.4 by @dependabot in #918
  • chore(deps-dev): Bump @nextcloud/vite-config from 2.3.3 to 2.3.5 by @dependabot in #919
  • chore(deps-dev): Bump @types/node from 22.15.17 to 22.15.18 by @dependabot in #922
  • chore(deps-dev): Bump @types/node from 22.15.18 to 22.15.21 by @dependabot in #923
  • chore(deps): Bump dompurify from 3.2.5 to 3.2.6 by @dependabot in #925
  • chore(deps-dev): Bump @vitest/coverage-v8 from 3.1.3 to 3.1.4 by @dependabot in #924
  • refactor: simplify loadTranslations by @susnux in #928
  • chore(deps-dev): Bump @types/node from 22.15.21 to 22.15.29 by @dependabot in #932
  • chore(deps-dev): Bump msw from 2.8.5 to 2.8.6 by @dependabot in #931
  • chore(deps-dev): Bump typedoc from 0.28.4 to 0.28.5 by @dependabot in #930
  • chore: prepare v3.3.0 by @susnux in #929

New Contributors

Full Changelog: v3.2.0...v3.3.0

v3.2.0

12 Feb 23:05
309bf57

Choose a tag to compare

3.2.0 - 2025-02-13

ℹ️ Notes

The GettextBuilder.detectLocale method is deprecated and will be removed in the next major version.
It is replaced with the detectLanguage method to make the method naming more consistent.

Added

  • feat(date): fallback to Intl #831 (ShGKme)
  • feat(gettext): Add detectLanguage method and deprecate detectLocale #850 (susnux)
  • feat: Overload translate function to either allow number or placeholder as third arg #854 (susnux)

Fixed

  • fix(types): type translation variable keys #807 (ShGKme)
  • fix(isRTL): Correctly handle Urdu and Uzbek Afghan #855 (susnux)
  • fix(registry): Prevent prototype polluting #860 (susnux)

Changed

  • refactor(gettext): Drop node-gettext dependency and use our translation logic #851 (susnux)
  • license: Add SPDX header #781 (AndyScherzinger)
  • chore: Add missing trailing comma in vite config #852 (susnux)
  • docs: Clarify readme about Nextcloud provided and custom translations #853 (susnux)
  • docs: improve return type of getFirstDay() #784 (st3iny)
  • docs: replace missing exports plugin to also document internal types #846 (susnux)
  • ci: Update from org #795 (AndyScherzinger)
  • ci: Update workflows from organization #847 (susnux)
  • chore(deps): Bump dompurify and @types/dompurify
  • chore(dev-deps): Update development dependencies

v3.1.0

06 May 17:27
e0b16b5

Choose a tag to compare

3.1.0 - 2024-05-07

Added

  • Allow setting escape option per parameter replacing.
    For more security this should be used instead of disabling paramter escaping,
    see pull request #756
    // Example
    t(
    	'my-app',
    	'{a}{userInput}{a_end}',
    	{
    		a: {
    			value: '<a>',
    			escape: false,
    		},
    		userInput: somePossiblyInsecureValue, // This will be escaped
    		a_end: {
    			value: '</a>',
    			escape: false,
    		}
    	},
    )

v3.0.1

04 May 11:49
91214fa

Choose a tag to compare

What's Changed

  • Fixed type definitions.

v3.0.0

02 May 17:37
d5e0897

Choose a tag to compare

What's Changed

  • Create node-when-unrelated.yml by @skjnldsv in #646
  • chore: Add more tests for special cases on plural forms by @susnux in #647
  • build(deps-dev): Bump @rollup/plugin-typescript from 11.1.1 to 11.1.2 by @dependabot in #649
  • build(deps-dev): Bump tslib from 2.5.3 to 2.6.0 by @dependabot in #650
  • build(deps): Bump dompurify from 3.0.3 to 3.0.4 by @dependabot in #651
  • build(deps-dev): Bump rollup from 3.25.1 to 3.26.0 by @dependabot in #652
  • build(deps-dev): Bump ts-jest from 29.1.0 to 29.1.1 by @dependabot in #653
  • bump jest from 29.5.0 to 29.6.1 by @dependabot in #654
  • chore(deps): Bump tough-cookie from 4.1.2 to 4.1.3 by @dependabot in #657
  • bump jest-environment-jsdom from 29.5.0 to 29.6.1 by @dependabot in #655
  • bump rollup from 3.26.0 to 3.26.2 by @dependabot in #656
  • chore(deps-dev): Bump @types/jest from 29.5.2 to 29.5.3 by @dependabot in #659
  • chore(deps): Bump dompurify from 3.0.4 to 3.0.5 by @dependabot in #658
  • chore(deps-dev): Bump word-wrap from 1.2.3 to 1.2.4 by @dependabot in #660
  • chore(deps-dev): Bump rollup from 3.26.2 to 3.26.3 by @dependabot in #661
  • chore(deps-dev): Bump jest-environment-jsdom from 29.6.1 to 29.6.2 by @dependabot in #662
  • chore: Fix URLs after package was transfered by @susnux in #666
  • chore(deps-dev): Bump tslib from 2.6.0 to 2.6.1 by @dependabot in #663
  • chore(deps-dev): Bump rollup from 3.26.3 to 3.27.0 by @dependabot in #665
  • chore(deps-dev): Bump jest from 29.6.1 to 29.6.2 by @dependabot in #664
  • chore(deps-dev): Bump rollup from 3.27.0 to 3.27.2 by @dependabot in #667
  • chore(deps-dev): Bump rollup from 3.27.2 to 3.28.0 by @dependabot in #668
  • chore(deps-dev): Bump tslib from 2.6.1 to 2.6.2 by @dependabot in #669
  • chore(deps-dev): Bump rollup from 3.28.0 to 3.28.1 by @dependabot in #671
  • chore(deps-dev): Bump typedoc from 0.24.8 to 0.25.0 by @dependabot in #672
  • chore(deps-dev): Bump jest-environment-jsdom from 29.6.2 to 29.6.4 by @dependabot in #674
  • chore(deps-dev): Bump @rollup/plugin-typescript from 11.1.2 to 11.1.3 by @dependabot in #675
  • chore(deps-dev): Bump rollup from 3.28.1 to 3.29.0 by @dependabot in #676
  • chore(deps-dev): Bump typedoc from 0.25.0 to 0.25.1 by @dependabot in #677
  • chore(deps-dev): Bump rollup from 3.29.0 to 3.29.2 by @dependabot in #680
  • chore(deps-dev): Bump jest-environment-jsdom from 29.6.4 to 29.7.0 by @dependabot in #679
  • chore(deps-dev): Bump jest and @types/jest by @dependabot in #678
  • chore(deps-dev): Bump @nextcloud/browserslist-config from 2.3.0 to 3.0.0 by @dependabot in #670
  • fix!: Only sanitize the result string when replacing variables by @susnux in #648
  • chore(deps-dev): Bump @rollup/plugin-typescript from 11.1.3 to 11.1.4 by @dependabot in #681
  • chore(deps): Bump dompurify from 3.0.5 to 3.0.6 by @dependabot in #684
  • chore(deps-dev): Bump rollup from 3.29.2 to 3.29.4 by @dependabot in #683
  • chore(deps-dev): Bump @nextcloud/eslint-config from 8.2.1 to 8.3.0 by @dependabot in #682
  • chore(deps-dev): Bump @types/node-gettext from 3.0.3 to 3.0.4 by @dependabot in #685
  • chore(deps-dev): Bump @rollup/plugin-typescript from 11.1.4 to 11.1.5 by @dependabot in #686
  • chore(deps): Bump postcss from 8.4.24 to 8.4.31 by @dependabot in #688
  • chore(deps-dev): Bump typedoc from 0.25.1 to 0.25.2 by @dependabot in #689
  • chore(deps-dev): Bump @babel/traverse from 7.23.0 to 7.23.2 by @dependabot in #690
  • chore(deps): Bump @nextcloud/router from 2.1.2 to 2.2.0 by @dependabot in #692
  • chore(deps-dev): Bump @types/node-gettext from 3.0.4 to 3.0.5 by @dependabot in #694
  • chore(deps-dev): Bump check-es-compat from 3.0.0 to 3.0.1 by @dependabot in #695
  • chore(deps-dev): Bump check-es-compat from 3.0.1 to 3.1.0 by @dependabot in #697
  • chore(deps-dev): Bump typedoc from 0.25.2 to 0.25.3 by @dependabot in #699
  • chore(deps-dev): Bump @types/jest from 29.5.5 to 29.5.7 by @dependabot in #698
  • chore(deps-dev): Bump @types/node-gettext from 3.0.5 to 3.0.6 by @dependabot in #700
  • chore(deps-dev): Bump @types/jest from 29.5.7 to 29.5.8 by @dependabot in #701
  • chore(deps-dev): Bump @types/jest from 29.5.8 to 29.5.10 by @dependabot in #705
  • chore(deps-dev): Bump mock-xmlhttprequest from 8.2.0 to 8.3.0 by @dependabot in #704
  • chore(deps-dev): Bump typedoc from 0.25.3 to 0.25.4 by @dependabot in #706
  • chore(deps-dev): Bump @types/jest from 29.5.10 to 29.5.11 by @dependabot in #708
  • chore(deps-dev): Bump rollup from 3.29.4 to 4.7.0 by @dependabot in #709
  • chore(deps-dev): Bump rollup from 4.7.0 to 4.9.0 by @dependabot in #710
  • chore(deps-dev): Bump rollup from 4.9.0 to 4.9.1 by @dependabot in #711
  • chore(deps-dev): Bump rollup from 4.9.1 to 4.9.3 by @dependabot in #714
  • chore(deps): Bump dompurify from 3.0.6 to 3.0.8 by @dependabot in #713
  • chore(deps-dev): Bump typedoc from 0.25.4 to 0.25.6 by @dependabot in #715
  • chore(deps-dev): Bump typedoc from 0.25.6 to 0.25.7 by @dependabot in #716
  • chore(deps-dev): Bump rollup from 4.9.3 to 4.9.5 by @dependabot in #717
  • chore(deps-dev): Bump @rollup/plugin-typescript from 11.1.5 to 11.1.6 by @dependabot in #718
  • chore(deps-dev): Bump check-es-compat from 3.1.0 to 3.2.0 by @dependabot in #719
  • chore(deps-dev): Bump rollup from 4.9.5 to 4.9.6 by @dependabot in #720
  • chore(deps): Bump @nextcloud/router from 2.2.0 to 2.2.1 by @dependabot in #722
  • chore(deps-dev): Bump ts-jest from 29.1.1 to 29.1.2 by @dependabot in #721
  • chore(deps-dev): Bump @types/jest from 29.5.11 to 29.5.12 by @dependabot in #724
  • chore(deps-dev): Bump typedoc from 0.25.7 to 0.25.8 by @dependabot in #725
  • chore: update workflows from templates by @nextcloud-command in #712
  • feat: export aliases t and n for translate and translatePlural by @ShGKme in #727
  • chore(deps-dev): Bump rollup from 4.9.6...
Read more

v2.2.0

25 Jun 13:42
68711d8

Choose a tag to compare

2.2.0 - 2023-06-26

Full Changelog

Added

  • isRTL was added to check whether a given, or the current, language is read right-to-left #639 (susnux)

Fixed

  • Add typings to the package exports to fix build for Typescript projects using node16 or nodenext module resolution #633 (susnux)
  • Update exported NextcloudWindowWithRegistry type for Nextcloud 27 #640 (susnux)
  • Harden loadTranslations by handling edge cases where invalid data is retrieved #644 (susnux)

v2.1.0

20 Feb 07:53
9d59eef

Choose a tag to compare

2.1.0 - 2023-02-25

Full Changelog

Added

  • unregister is now part of the public API #579 (susnux)

Fixed

  • Export the Translations type and add missing documentation #566 (susnux)
  • Fix singular translation in edge cases where plural strings are provided #570 (susnux)
  • Make loading translations use async XMLHttpRequest #571 (susnux)
  • Removed warning "no app translation was registered" #572 (ShGKme)

Changed

  • Added tests and increased code coverage
  • Dependency updates

v2.0.1

19 Jan 12:44
9bfc0b7

Choose a tag to compare

2.0.1 - 2023-01-19

Full Changelog

Fixed

Changed

  • Dependency updates