1

enter image description here

Is it adding/deleting a language from control panel is same as adding/deleting in content editor /sitecore/system/Languages?

4

TL/DR;

There is no difference

Long version:

This is the code that gets executed when you use the Delete Language option from the control panel:

  protected void Delete()
  {
    Job job = Context.Job;
    Assert.IsNotNull((object) job, "Job is null");
    Database database = Factory.GetDatabase(this._databaseName);
    Assert.IsNotNull((object) database, "Database");
    try
    {
      foreach (Language language in this._languages)
      {
        ID languageItemId = LanguageManager.GetLanguageItemId(language, database);
        Item obj = database.GetItem(languageItemId);
        Assert.IsNotNull((object) obj, "Item is null: /sitecore/system/languages/{0}", (object) language.Name);
        if (Settings.RecycleBinActive)
        {
          Log.Audit((object) this, "Recycle Language: {0}", new string[1]{ language.Name });
          obj.Recycle();
        }
        else
        {
          Log.Audit((object) this, "Delete Language: {0}", new string[1]{ language.Name });
          obj.Delete();
        }
      }
    }
    catch (Exception ex)
    {
      job.Status.Failed = true;
      job.Status.Messages.Add(ex.ToString());
    }
    job.Status.State = JobState.Finished;
  }
}

As you can see, ultimately it does the same thing as removing the language item would. There is some extra logging around it, and it has a nice form for you to select the language to delete first.

The code is not run within any disablers so all the same item:deleted events and item:deleting events would run in the same way.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.