четверг, 29 апреля 2010 г.

SQL, который генерирует XML для отсутствующих русских литералов

В догонку к предыдущему посту хочу поделиться SQL, который генерирует XML для отсутствующих русских литералов nopCommerce, удобный для перевода и последующего импорта без лишних модификаций:
  

set nocount on

declare @x xml

set @x = (select
      eng.ResourceName as "@Name",
      eng.ResourceValue as "comment()",
      ' ' as "Value"
from
      Nop_LocaleStringResource eng
      left join Nop_LocaleStringResource rus
      on eng.ResourceName = rus.ResourceName
            and rus.LanguageId = 8
where
      eng.LanguageId = 7
      and rus.LocaleStringResourceID is null

      and eng.ResourceName not like 'admin%'
order by eng.ResourceName
for xml path('LocaleResource'), root('Language'))

select @x

Пример работы:

<Language>
 <LocaleResource Name="Account.AdminApprovalRequired">
<!--Your account will be activated after approving by administrator.-->
<Value></Value>
</LocaleResource>
<LocaleResource Name="Account.DownloadableProducts">
<!--My Downloadable Products-->
<Value> </Value>
</LocaleResource>
<LocaleResource Name="Account.DownloadableProducts.Download">
 <!--Download-->
<Value> </Value>
</LocaleResource>
</Language>

Всё что надо сделать -  вставить перевод в теги <Value> </Value>   и импортировать полученный XML по процедуре, описанной выше. Английские строки для каждого литерала генерируются в виде комментариев.

ЗЫ:  в скрипте захардкожены Id языков: 7 - English, 8 - Russian. Можно менять и использовать для других локализаций.

Комментариев нет:

Отправить комментарий