2017-02-21 36 views
0

Я хочу переопределить строки заголовка диалога по умолчанию с моим собственным одиночным переводом для многих языков. Я могу переопределить каждую строку в каждом локал файл, как это:Как переопределить строки по умолчанию WiX, не повторяя их в каждом файле .wxl?

<!-- File: 1041.wxl --> 
<WixLocalization Culture="ja-jp" ... > 
    <!-- My standard title for all the dialogs --> 
    <String Id="Installer_Title">[ProductDisplayName] jpjpjp</String> 

    <!-- Reuse the string above to override defaults --> 
    <String Id="BrowseDlg_Title">!(loc.Installer_Title)</String> 
    <String Id="CancelDlg_Title">!(loc.Installer_Title)</String> 
    <!-- Etcetera --> 
</WixLocalization> 

Но я не хочу, чтобы добавить этот список к каждому локал файл Я доставка. Я хотел бы включить файл всех строк, которые я хочу, чтобы переопределить так:

<!-- File: 1041.wxl --> 
<WixLocalization Culture="ja-jp" ... > 
    <!-- My standard title for all the dialogs --> 
    <String Id="Installer_Title">[ProductDisplayName] jpjpjp</String> 

    <?include AllLanguages.wxl ?> 
</WixLocalization> 

Вложенный файл:

<!-- File: AllLanguages.wxl --> 
<Include> 
    <String Id="BrowseDlg_Title">!(loc.Installer_Title)</String> 
    <String Id="CancelDlg_Title">!(loc.Installer_Title)</String> 
</Include> 

К сожалению, когда я строю это строки, определенные в AllLanguages.wxl не являются видимые в локали, а значения по умолчанию не переопределяются. Я попробовал аналогичный эксперимент, добавив уникальный идентификатор строки в диалог и во включенный файл и увидел «ошибку LGHT0102: переменная локализации! (Loc.xyzzy) неизвестна. Пожалуйста, убедитесь, что переменная определена».

Я попытался поставить строки в «анонимный» < WixLocalization/> элемент, но не имел успеха.

Предложения? Это возможно?

ответ

1

Нет, .wxl файлы не поддерживаются <?include?>. <?include?> - это концепция времени компиляции, а файлы .wxl обрабатываются во время привязки (или времени выполнения).