Конвертировать resx в формат XLIFF не удалось

У меня есть форма, которая имеет TableLayoutPanels, эти панели макета таблицы производят следующие записи в файле Resources.resx,

tableLayoutPanel1.LayoutSettings    <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="txtOutput" Row="0" RowSpan="1" Column="2" ColumnSpan="4" /><Control Name="lblOutput" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="btnRetry" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="btnContinue" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="btnFail_Test" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="btnPass_Test" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="btnTimeOut" Row="1" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="btnViewLog" Row="1" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="btnAbort" Row="1" RowSpan="1" Column="5" ColumnSpan="1" /></Controls><Columns Styles="Percent,16.66667,Percent,16.66667,Percent,16.66667,Percent,16.66667,Percent,16.66667,Percent,16.66667,Absolute,20" /><Rows Styles="Percent,58.77193,Percent,41.22807,Absolute,20" /></TableLayoutSettings>

Когда я пытаюсь построить проект, я получаю следующую ошибку:

Ошибка преобразования файла C:\MyProject\ProjectName\FormName.resx в формат XLIFF. Сообщение: во время кодирования найдена неподдерживаемая инструкция обработки '? Xml'. Удалите неподдерживаемые инструкции по обработке из XML.

Я попытался переключить локализацию формы на "выкл", что позволяет мне строить, но затем я теряю поддержку иностранного языка.

ЗАМЕТКИ:

  1. Удаление tableLayoutPanel1.LayoutSettings из файла resx позволяет мне скомпилировать, но тогда мой пользовательский интерфейс полностью разрушен.

  2. Я использую Multilingual App Toolkit v4.0.1605.0

  3. Visual Studio Community 2015, обновление 2

  4. Windows 7 64bit

  5. .NET4.5

Есть ли способ для меня, чтобы исправить эту проблему и использовать tableLayoutPanels и локализацию одновременно?

2 ответа

Проблема, как вы видите, заключается в том, что набор инструментов многоязычного приложения локализует свойство LayoutSettings в файл Resx, а затем пытается преобразовать его в файл XLIFF. Это делается потому, что для локализованного графического пользовательского интерфейса важно иметь возможность адаптировать свой макет к различным языковым стандартам . TableLayoutPanel использует XML для своего TypeConverter, и, очевидно, MAT не может обработать это без ошибок.

Похоже, это ошибка. Одним из решений, как сообщил Билл , является удаление оскорбительного заголовка XML из значений в вашем файле ресурсов перед компиляцией (удаление.resxXML-заголовок не обязателен), что позволит завершить компиляцию. Если возможно, вы можете отказаться от использования TableLayoutPanel, пока Microsoft не устранит проблему.

Я просто удалил "", И мне кажется, что это работает. Объявление XML не является обязательным в большинстве XML. Самым большим недостатком, который я вижу, является то, что мы переключили нашу кодировку с utf-8 на utf-16. Я посмотрел на встроенный XML и не увидел никаких специальных символов. Поскольку это файл utf-8, я думаю, что он должен был бы быть объектом, если бы были какие-либо utf-16.

Спустя 4 года это так и не было исправлено.

Другие вопросы по тегам