@sveltia/cms 0.81.0 → 0.82.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -10,7 +10,7 @@ The free, open source alternative/successor to Netlify/Decap CMS is now in publi
10
10
 
11
11
  ![Stock photo integration: Pexels, Pixabay, Unsplash](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/screenshot-3.webp?20250405)<br>
12
12
 
13
- ![Full-fledged Asset Library; first-class internationalization support; DeepL integration](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/screenshot-4.webp?20250405)<br>
13
+ ![Full-fledged Asset Library; first-class internationalization support; translation API integration](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/screenshot-4.webp?20250405)<br>
14
14
 
15
15
  ![Built-in image optimizer for WebP and SVG; mobile & tablet support](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/screenshot-5.webp?20250409)<br>
16
16
 
@@ -68,7 +68,7 @@ The free, open source alternative/successor to Netlify/Decap CMS is now in publi
68
68
  - [Specifying default sort field and direction](#specifying-default-sort-field-and-direction)
69
69
  - [Including Hugo’s special index file in a folder collection](#including-hugos-special-index-file-in-a-folder-collection)
70
70
  - [Using keyboard shortcuts](#using-keyboard-shortcuts)
71
- - [Using DeepL to translate entry fields](#using-deepl-to-translate-entry-fields)
71
+ - [Translating entry fields with one click](#translating-entry-fields-with-one-click)
72
72
  - [Localizing entry slugs](#localizing-entry-slugs)
73
73
  - [Disabling non-default locale content](#disabling-non-default-locale-content)
74
74
  - [Using a random ID for an entry slug](#using-a-random-id-for-an-entry-slug)
@@ -130,7 +130,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
130
130
  - Ensuring substantial [compatibility with Netlify/Decap CMS](#compatibility)
131
131
  - Providing partial [compatibility with Static CMS](#compatibility-with-static-cms)
132
132
  - Tackling as many [Netlify/Decap CMS issues](https://github.com/decaporg/decap-cms/issues) as possible
133
- - So far, 225+ issues, or 450+ if including duplicates, have been effectively solved in Sveltia CMS
133
+ - So far, 225+ issues, or 455+ if including duplicates, have been effectively solved in Sveltia CMS
134
134
  - Target:
135
135
  - 200 issues, or 400 if including duplicates, by GA — We did it! 🎉
136
136
  - 400 issues, or 800 if including duplicates, in the future 💪
@@ -224,7 +224,7 @@ Note: This lengthy section compares Sveltia CMS with both Netlify CMS and Decap
224
224
  ### Better installation
225
225
 
226
226
  - Sveltia CMS is built with [Svelte](https://svelte.dev/), and we only publish compiled vanilla JavaScript bundles, so there are no React compatibility issues that might prevent developers from upgrading a project for many months.[^177] We haven’t actually integrated React for custom widgets and other features yet, but anyway, no dependencies will be installed when you [install the app with npm](#installing-with-npm).
227
- - Sveltia CMS also won’t cause peer dependency conflicts due to legacy third-party React UI libraries.[^175] We build the app using [our own Svelte UI component library](https://github.com/sveltia/sveltia-ui) to reduce reliance on third parties.
227
+ - Sveltia CMS also won’t cause peer dependency conflicts due to legacy third-party React UI libraries or any other reason.[^175][^237] We build the app using [our own Svelte UI component library](https://github.com/sveltia/sveltia-ui) to reduce reliance on third parties.
228
228
  - Some servers and frameworks are known to remove the trailing slash from the CMS URL (`/admin`) depending on the configuration. In such cases, the config file is loaded from a root-relative URL (`/admin/config.yml`) instead of a regular relative URL (`./config.yml` = `/config.yml`) that results in a 404 Not Found error.[^107]
229
229
  - The [robots `meta` tag](https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag) is automatically added to HTML to prevent the admin page from being indexed by search engines.[^174] Developers are still encouraged to manually add `<meta name="robots" content="noindex">` to `index.html`, as not all crawlers support dynamically added tags. However, our solution should at least work with Google in case you forget to do so.
230
230
 
@@ -274,7 +274,9 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
274
274
  - Users can easily switch between locales while editing by clicking a button instead of a dropdown list when there are less than 5 locales.
275
275
  - Language labels appear in human-readable display names instead of ISO 639 language codes because it’s not easy for everyone to recognize `DE` as German, `NL` as Dutch, `ZH` as Chinese, and so on.
276
276
  - Content editing
277
- - [Integrates DeepL](#using-deepl-to-translate-entry-fields) to allow translation of text fields from another locale with one click. More translation services will be added in the future.
277
+ - [Integrates Cloud Translation API](#translating-entry-fields-with-one-click) to allow translation of text fields from another locale with one click.
278
+ - Earlier versions of Sveltia CMS included DeepL integration, but it’s disabled for now [due to API limitations](https://github.com/sveltia/sveltia-cms/issues/437).
279
+ - More translation services will be added in the future.
278
280
  - The Content Editor supports [RTL scripts](https://en.wikipedia.org/wiki/Right-to-left_script) such as Arabic, Hebrew and Persian.[^146]
279
281
  - It’s possible to [disable non-default locale content](#disabling-non-default-locale-content).[^15]
280
282
  - Boolean, DateTime, List and Number fields in the entry preview are displayed in a localized format.
@@ -482,7 +484,7 @@ Note: The Date widget has been deprecated in Netlify CMS and removed from both D
482
484
  - List and Object
483
485
  - The `summary` is displayed correctly when it refers to a Relation field[^36] or a simple List field.
484
486
  - The `summary` template tags support [transformations](https://decapcms.org/docs/summary-strings/), e.g. `{{fields.date | date('YYYY-MM-DD')}}`.
485
- - The `collapse` option accepts the value `auto` to automatically collapse the widget if any of its subfields are filled out. The same applies to the `minimize_collapsed` option of the List widget.
487
+ - The `collapsed` option accepts the value `auto` to automatically collapse the widget if any of its subfields are filled out. The same applies to the `minimize_collapsed` option for the List widget.
486
488
  - Markdown, String and Text
487
489
  - A required field containing only spaces or line breaks will result in a validation error, as if no characters were entered.
488
490
  - Relation and Select
@@ -570,7 +572,7 @@ However, 100% feature parity is not planned, and some features are still missing
570
572
  - Note: Some other camel case options, including Color widget options, are not deprecated.
571
573
  - The deprecated Date widget: It was removed from Decap CMS 3.0 and Sveltia CMS 0.10. Use the DateTime widget with the [`time_format: false` option](#changing-the-input-type-of-a-datetime-field) instead.
572
574
  - Some date/time format tokens: [Decap CMS 3.1.1](https://github.com/decaporg/decap-cms/releases/tag/decap-cms%403.1.1) replaced Moment.js with Day.js, and Sveltia CMS will follow suit soon. Since [Day.js tokens](https://day.js.org/docs/en/display/format) are not 100% compatible with [Moment.js tokens](https://momentjs.com/docs/#/displaying/format/), this could be a breaking change in certain cases.
573
- - The theme and keymap inline settings of the Code widget, along with support for some languages: We use the [Prism](https://prismjs.com/)-powered code block functionality in Lexical instead of [CodeMirror](https://codemirror.net/). Prism may be [replaced by Shiki](https://github.com/facebook/lexical/issues/6575) in the future.
575
+ - The theme and keymap inline settings for the Code widget, along with support for some languages: We use the [Prism](https://prismjs.com/)-powered code block functionality in Lexical instead of [CodeMirror](https://codemirror.net/). Prism may be [replaced by Shiki](https://github.com/facebook/lexical/issues/6575) in the future.
574
576
  - Remark plugins for the Markdown widget: Not compatible with our Lexical-based rich text editor.
575
577
  - An absolute URL in the [`public_folder`](https://decapcms.org/docs/configuration-options/#public-folder) option: Such configuration is not recommended, as stated in the Netlify/Decap CMS document.
576
578
  - Performance-related options: Sveltia CMS has [drastically improved performance](#better-performance) with GraphQL enabled by default, so these are no longer relevant:
@@ -900,12 +902,14 @@ Note that the special index file is placed right under the `folder`, regardless
900
902
 
901
903
  Standard keyboard shortcuts are also available in the Markdown editor, including `Ctrl+B`/`Command+B` for bold text, `Ctrl+I`/`Command+I` for italics, and `Tab` to indent a list item.
902
904
 
903
- ### Using DeepL to translate entry fields
905
+ ### Translating entry fields with one click
904
906
 
905
- Sveltia CMS comes with a handy DeepL integration so that you can translate any text field from another locale without leaving the Content Editor. To enable the high quality, AI-powered, quick translation feature:
907
+ Sveltia CMS comes with a handy Google Cloud Translation API integration so that you can translate any text field from another locale without leaving the Content Editor. To enable the quick translation feature:
906
908
 
907
909
  1. Update your configuration file to enable the [i18n support](https://decapcms.org/docs/i18n/) with multiple locales.
908
- 1. Sign up for [DeepL API](https://www.deepl.com/pro-api/) and copy your Authentication Key from DeepL’s Account page.
910
+ 1. Sign in or sign up for [Google Cloud](https://cloud.google.com/) and create a new project.
911
+ 1. Enable [Cloud Translation API](https://console.cloud.google.com/apis/library/translate.googleapis.com).
912
+ 1. Create a [new API key](https://console.cloud.google.com/apis/credentials) and copy it.
909
913
  1. Open an entry in Sveltia CMS.
910
914
  1. Click on the Translation button on the pane header or each field, right next to the 3-dot menu.
911
915
  1. Paste your key when prompted.
@@ -913,13 +917,6 @@ Sveltia CMS comes with a handy DeepL integration so that you can translate any t
913
917
 
914
918
  Note that the Translation button on the pane header only translates empty fields, while in-field Translation buttons override any filled text.
915
919
 
916
- If you have upgraded to DeepL API Pro, provide your new Authentication Key:
917
-
918
- 1. Click the Account button in the upper right corner, then click Settings.
919
- 1. Select the Contents tab.
920
- 1. Replace your free API key ending with `:fx` with the new paid API key in the DeepL API Authentication Key field.
921
- 1. Close the Settings dialog.
922
-
923
920
  ### Localizing entry slugs
924
921
 
925
922
  In Sveltia CMS, it’s possible to localize entry slugs (filenames) if the i18n structure is `multiple_files` or `multiple_folders`. All you need is the `localize` filter for `slug` template tags:
@@ -1287,15 +1284,10 @@ Then, add the following origins depending on your Git backend and enabled integr
1287
1284
  ```
1288
1285
  https://images.unsplash.com https://api.unsplash.com
1289
1286
  ```
1290
- - DeepL API Free:
1287
+ - Google Translate:
1291
1288
  - `connect-src`
1292
1289
  ```
1293
- https://api-free.deepl.com
1294
- ```
1295
- - DeepL API Pro:
1296
- - `connect-src`
1297
- ```
1298
- https://api.deepl.com
1290
+ https://translation.googleapis.com
1299
1291
  ```
1300
1292
  - YouTube:
1301
1293
  - `frame-src`
@@ -1871,3 +1863,5 @@ This software is provided “as is” without any express or implied warranty. W
1871
1863
  [^235]: Netlify/Decap CMS [#6905](https://github.com/decaporg/decap-cms/discussions/6905) — We use Lexical created by Facebook (Meta).
1872
1864
 
1873
1865
  [^236]: Netlify/Decap CMS [#7507](https://github.com/decaporg/decap-cms/issues/7507)
1866
+
1867
+ [^237]: Netlify/Decap CMS [#7375](https://github.com/decaporg/decap-cms/issues/7375), [#7518](https://github.com/decaporg/decap-cms/issues/7518)