Bloom.Book.Book.SetMultilingualContentLanguages C# (CSharp) Method

SetMultilingualContentLanguages() public method

public SetMultilingualContentLanguages ( string language2Code, string language3Code ) : void
language2Code string
language3Code string
return void
        public void SetMultilingualContentLanguages(string language2Code, string language3Code)
        {
            _bookData.SetMultilingualContentLanguages(language2Code, language3Code);
            InjectStringListingActiveLanguagesOfBook();
            _bookData.UpdateDomFromDataset();
        }

Usage Example

Example #1
0
        public void SetMultilingualContentLanguages_UpdatesLanguagesOfBookFieldInDOM()
        {
            SetDom(@"<div class='bloom-page'>
                         <span data-book='languagesOfBook' lang='*'></span>
                    </div>
            ");

            _collectionSettings = new CollectionSettings(new NewCollectionSettings() { PathToSettingsFile = CollectionSettings.GetPathForNewSettings(_testFolder.Path, "test"),
                Language1Iso639Code = "th", Language2Iso639Code = "fr", Language3Iso639Code = "es" });
            var book =  new Bloom.Book.Book(_metadata, _storage.Object, _templateFinder.Object,
                _collectionSettings,
                _pageSelection.Object, _pageListChangedEvent, new BookRefreshEvent());

            book.SetMultilingualContentLanguages(_collectionSettings.Language2Iso639Code, _collectionSettings.Language3Iso639Code);

            //note: our code currently only knows how to display French *in French*; the other come out in English.
            //That's not part of this test, and will have to be changed as we improve that aspect of things.
            AssertThatXmlIn.Dom(book.RawDom).HasSpecifiedNumberOfMatchesForXpath("//span[text()='Thai, français, Spanish']", 1);

            book.SetMultilingualContentLanguages(_collectionSettings.Language2Iso639Code, null);
            AssertThatXmlIn.Dom(book.RawDom).HasSpecifiedNumberOfMatchesForXpath("//span[text()='Thai, français']", 1);

            book.SetMultilingualContentLanguages("", null);
            AssertThatXmlIn.Dom(book.RawDom).HasSpecifiedNumberOfMatchesForXpath("//span[text()='Thai']", 1);
        }
Book