You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -221,6 +237,7 @@ A full `manifest.json` with most of the optional fields looks like this:
221
237
### Optional Fields
222
238
223
239
-**icon**: Path to a png icon file, either relative in the package or a https:// url.
240
+
-**icons**: Array of icon descriptors (`src`, `sizes`, optional `theme`) for light/dark or size-specific assets.
224
241
-**display_name**: Human-friendly name for UI display
225
242
-**long_description**: Detailed description for extension stores, markdown
226
243
-**repository**: Source code repository information (type and url)
@@ -238,6 +255,38 @@ A full `manifest.json` with most of the optional fields looks like this:
238
255
-**compatibility**: Compatibility requirements (client app version, platforms, and runtime versions)
239
256
-**user_config**: User-configurable options for the extension (see User Configuration section)
240
257
-**_meta**: Platform-specific client integration metadata (e.g., Windows `package_family_name`, macOS bundle identifiers) enabling tighter OS/app store integration. The keys in the `_meta` object are reverse-DNS namespaced, and the values are a dictionary of platform-specific metadata.
258
+
-**localization**: Location of translated strings for user-facing fields (`resources` path containing a `${locale}` placeholder and `default_locale`).
259
+
260
+
### Localization
261
+
262
+
Provide localized strings without bloating the manifest by pointing to external per-locale resource files. A localization entry looks like this:
263
+
264
+
```json
265
+
"localization": {
266
+
"resources": "resources/${locale}.json",
267
+
"default_locale": "en-US"
268
+
}
269
+
```
270
+
271
+
-`resources` must include a `${locale}` placeholder. Clients resolve it relative to the server install directory.
272
+
-`default_locale` must be a valid [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) identifier such as `en-US` or `zh-Hans`.
273
+
- Values for the default locale stay in the main manifest; localized files only need to contain overrides.
274
+
- When a translation is missing, clients fall back to the default locale value from the manifest.
275
+
276
+
### Icons
277
+
278
+
Use the `icons` array when you need multiple icon variants (different sizes or themes):
0 commit comments