Option Strict On
Option Explicit On

Namespace Nexamas.UI.Localization

    ''' <summary>
    ''' Internal builder for the official Phase 6 Localization / RTL product-layer snapshot.
    ''' </summary>
    Friend NotInheritable Class MASLocalizationSnapshotBuilder
        Private Sub New()
        End Sub

        Friend Shared Function Build() As MASLocalizationSnapshot
            Dim cultures = MASLocalizationCultureCatalog.CreateCultures()
            Dim localizedStrings = MASLocalizationStringCatalog.CreateStrings()
            Dim formatSamples = MASLocalizationFormatPreviewBuilder.CreateSamples(cultures)
            Dim expansionSamples = MASLocalizationStringCatalog.CreateExpansionSamples()

            Return New MASLocalizationSnapshot(
                contractVersion:=MASLocalizationContractVersion.Current,
                cultures:=cultures,
                localizedStrings:=localizedStrings,
                formatSamples:=formatSamples,
                expansionSamples:=expansionSamples)
        End Function
    End Class

End Namespace
