Last active
April 30, 2019 09:53
-
-
Save adnanzameer/c9529531d8c23aa25a2ddb4b04865509 to your computer and use it in GitHub Desktop.
SQL script to switch language branch or change master language branch in Episerver
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
USE [epicms] | |
GO | |
IF OBJECT_ID ( 'AZSwitchLanguageBranch', 'P' ) IS NOT NULL | |
DROP PROCEDURE AZSwitchLanguageBranch; | |
GO | |
CREATE PROCEDURE AZSwitchLanguageBranch | |
@toLanguageBranch varchar(10), | |
@fromLanguageBranch varchar(10) | |
AS | |
declare @fromLanguageBranchID int = (SELECT [pkID] FROM [dbo].[tblLanguageBranch] where [LanguageID] = @fromLanguageBranch) | |
declare @fromLanguageBranchName varchar(100) = (select [Name] from [dbo].[tblLanguageBranch] where pkid= @fromLanguageBranchID) | |
declare @fromLanguageBranchIcon varchar(100) = (select [SystemIconPath] from [dbo].[tblLanguageBranch] where pkid= @fromLanguageBranchID) | |
declare @fromLanguageBranchACL varchar(2000) = (select [ACL] from [dbo].[tblLanguageBranch] where pkid= @fromLanguageBranchID) | |
declare @fromLanguageBranchUrlSegment varchar(100) = (SELECT URLSegment FROM [dbo].[tblLanguageBranch] where pkid= @fromLanguageBranchID) | |
declare @toLanguageBranchID int = (select pkID from [dbo].[tblLanguageBranch] where [LanguageID] = @toLanguageBranch) | |
declare @toLanguageBranchName varchar(100) = (select [Name] from [dbo].[tblLanguageBranch] where pkid= @toLanguageBranchID) | |
declare @toLanguageBranchIcon varchar(100) = (select [SystemIconPath] from [dbo].[tblLanguageBranch] where pkid= @toLanguageBranchID) | |
declare @toLanguageBranchACL varchar(2000) = (select [ACL] from [dbo].[tblLanguageBranch] where pkid= @toLanguageBranchID) | |
declare @toLanguageBranchUrlSegment varchar(100) = (SELECT URLSegment FROM [dbo].[tblLanguageBranch]where pkid= @toLanguageBranchID) | |
declare @toLanguageBranchEnable bit = (select [Enabled] from [dbo].[tblLanguageBranch] where pkid= @toLanguageBranchID) | |
declare @fromLanguageBranchEnable bit = (select [Enabled] from [dbo].[tblLanguageBranch] where pkid= @fromLanguageBranchID) | |
IF(@toLanguageBranchEnable = 1) | |
BEGIN | |
IF ( @fromLanguageBranchEnable = 1) | |
BEGIN | |
IF(@toLanguageBranchID <> @fromLanguageBranchID) | |
BEGIN | |
BEGIN TRY | |
BEGIN TRANSACTION | |
UPDATE [dbo].[tblLanguageBranch] | |
SET [LanguageID] = @toLanguageBranch + 'B' | |
WHERE pkid= @toLanguageBranchID | |
UPDATE [dbo].[tblLanguageBranch] | |
SET [LanguageID] = @toLanguageBranch | |
,[Name] = @toLanguageBranchName | |
,[SystemIconPath] = @toLanguageBranchIcon | |
,[ACL] = @toLanguageBranchACL | |
,[URLSegment] = @toLanguageBranchUrlSegment | |
WHERE pkid= @fromLanguageBranchID | |
UPDATE [dbo].[tblLanguageBranch] | |
SET [LanguageID] = @fromLanguageBranch | |
,[Name] = @fromLanguageBranchName | |
,[SystemIconPath] = @fromLanguageBranchIcon | |
,[ACL] = @fromLanguageBranchACL | |
,[URLSegment] = @fromLanguageBranchUrlSegment | |
WHERE pkid= @toLanguageBranchID | |
PRINT 'Successfully switched language branch from "' + @fromLanguageBranch + '" to "' + @toLanguageBranch+ '"' | |
COMMIT | |
END TRY | |
BEGIN CATCH | |
PRINT 'Critical Error: Unable to switch language branch' | |
ROLLBACK | |
END CATCH | |
END | |
ELSE | |
BEGIN | |
PRINT 'Error: Unable to switch same language branch' | |
END | |
END | |
ELSE | |
BEGIN | |
PRINT 'Error: Please enable "' + @fromLanguageBranch + '" language branch' | |
END | |
END | |
ELSE | |
BEGIN | |
PRINT 'Error: Please enable "' + @toLanguageBranch + '" language branch' | |
END | |
GO | |
EXEC AZSwitchLanguageBranch @toLanguageBranch = 'en-US', @fromLanguageBranch = 'en' | |
GO |
Hi Jonas The script changes the Master language of the site. If you have content in en and en-GB they will get a switch. It means en-GB content will be now en content and en content will switch to en-GB.
Don't forget the change the master language in web.config
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi,
Is this for changing master language on a site with content where the existing content gets "moved" to the new language?
Brgds
Jonas