diff --git a/.claude/skills/skd-compile/scripts/skd-compile.ps1 b/.claude/skills/skd-compile/scripts/skd-compile.ps1
index 8e31fe34..fe7a545b 100644
--- a/.claude/skills/skd-compile/scripts/skd-compile.ps1
+++ b/.claude/skills/skd-compile/scripts/skd-compile.ps1
@@ -1,4 +1,4 @@
-# skd-compile v1.51 — Compile 1C DCS from JSON
+# skd-compile v1.52 — Compile 1C DCS from JSON
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
param(
[string]$DefinitionFile,
@@ -2226,7 +2226,12 @@ function Emit-ConditionalAppearance {
# Presentation
if ($ca.presentation) {
- X "$indent`t`t$(Esc-Xml "$($ca.presentation)")"
+ # Multilang dict {ru, en, ...} → LocalStringType; иначе — xs:string
+ if ($ca.presentation -is [hashtable] -or $ca.presentation -is [System.Collections.IDictionary] -or $ca.presentation -is [PSCustomObject]) {
+ Emit-MLText -tag "dcsset:presentation" -text $ca.presentation -indent "$indent`t`t"
+ } else {
+ X "$indent`t`t$(Esc-Xml "$($ca.presentation)")"
+ }
}
if ($ca.viewMode) {
diff --git a/.claude/skills/skd-compile/scripts/skd-compile.py b/.claude/skills/skd-compile/scripts/skd-compile.py
index d42f46cd..378f24db 100644
--- a/.claude/skills/skd-compile/scripts/skd-compile.py
+++ b/.claude/skills/skd-compile/scripts/skd-compile.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# skd-compile v1.51 — Compile 1C DCS from JSON
+# skd-compile v1.52 — Compile 1C DCS from JSON
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
import json
@@ -1863,7 +1863,11 @@ def emit_conditional_appearance(lines, items, indent, block_view_mode=None):
# Presentation
if ca.get('presentation'):
- lines.append(f'{indent}\t\t{esc_xml(str(ca["presentation"]))}')
+ # Multilang dict {ru, en, ...} → LocalStringType; иначе — xs:string
+ if isinstance(ca['presentation'], dict):
+ emit_mltext(lines, f'{indent}\t\t', 'dcsset:presentation', ca['presentation'])
+ else:
+ lines.append(f'{indent}\t\t{esc_xml(str(ca["presentation"]))}')
if ca.get('viewMode'):
lines.append(f'{indent}\t\t{esc_xml(str(ca["viewMode"]))}')