1- Diller tablosu oluşturun ve her dil için ID verin
2- Dillerin çevirilerinin yer alacağı ikinci bir tablo oluşturun ve dil id + resource id + value eşleştirin. İlgili dil çağrıldığında istenen resource id ye göre value gönderir.
3- Dil ID ve resource ID'nin unique olması zorunlu. Bu gibi ayarları unutmayın.
4- Storeprocedure ile XML olarak başka dillerin otomatik import edilebileceği bir script yazın. Örnek kod bırakıyorum senin için;

CREATE PROCEDURE [LanguagePackImport]
(
    @LanguageId int,
    @XmlPackage xml,
    @UpdateExistingResources bit
)
AS
BEGIN
    IF EXISTS(SELECT * FROM [Language] WHERE [Id] = @LanguageId)
    BEGIN
        CREATE TABLE #LocaleStringResourceTmp
            (
                [LanguageId] [int] NOT NULL,
                [ResourceName] [nvarchar](200) NOT NULL,
                [ResourceValue] [nvarchar](MAX) NOT NULL
            )

        INSERT INTO #LocaleStringResourceTmp (LanguageId, ResourceName, ResourceValue)
        SELECT    @LanguageId, nref.value('@Name', 'nvarchar(200)'), nref.value('Value[1]', 'nvarchar(MAX)')
        FROM    @XmlPackage.nodes('//Language/LocaleResource') AS R(nref)

        DECLARE @ResourceName nvarchar(200)
        DECLARE @ResourceValue nvarchar(MAX)
        DECLARE cur_localeresource CURSOR FOR
        SELECT LanguageId, ResourceName, ResourceValue
        FROM #LocaleStringResourceTmp
        OPEN cur_localeresource
        FETCH NEXT FROM cur_localeresource INTO @LanguageId, @ResourceName, @ResourceValue
        WHILE @@FETCH_STATUS = 0
        BEGIN
            IF (EXISTS (SELECT 1 FROM [LocaleStringResource] WHERE LanguageId=@LanguageId AND ResourceName=@ResourceName))
            BEGIN
                IF (@UpdateExistingResources = 1)
                BEGIN
                    UPDATE [LocaleStringResource]
                    SET [ResourceValue]=@ResourceValue
                    WHERE LanguageId=@LanguageId AND ResourceName=@ResourceName
                END
            END
            ELSE
            BEGIN
                INSERT INTO [LocaleStringResource]
                (
                    [LanguageId],
                    [ResourceName],
                    [ResourceValue]
                )
                VALUES
                (
                    @LanguageId,
                    @ResourceName,
                    @ResourceValue
                )
            END
                  
            FETCH NEXT FROM cur_localeresource INTO @LanguageId, @ResourceName, @ResourceValue
            END
        CLOSE cur_localeresource
        DEALLOCATE cur_localeresource

        DROP TABLE #LocaleStringResourceTmp
    END
END
GO
5- Bir XML ile dil dosyası hazırlayın import etmek için, şunun gibi;
<LocaleResource Name="AdminEmailRequired">
<Value>Enter admin email</Value>
</LocaleResource>
<LocaleResource Name="AdminPassword">
<Value>Admin user password</Value>
</LocaleResource>
<LocaleResource Name="AdminPasswordRequired">
<Value>Enter admin password</Value>
</LocaleResource>
6- Excel ile aldığınız dil dosyasını otomatik XML e çevirdikten sonra import edin.
7- Sistemi farklı dillerde farklı değerleri çıkarabileceğiniz biçimde "localresource" ayarları ile yapılandırın. Kaynak kod içerisine tek kelime dahi olsa inline metin girmeyin.
8- Sistemi sağdan sola, soldan sağa dillere göre yapılandırın. Buna özel tasarım dosyaları da oluşturmayı ihmal etmeyin.
9- SEO için farklı dil seçimi yapıldığında URL'de yapılan dil seçimini belirtin.
10- Tanımladığınız dosyaların sistemin çalışmasını yavaşlatabileceğini unutmadan, gereksiz ek tanımlamalardan kaçının ve tekrar eden tanımlamalar için genel tanımlama yaratın. Tam teşekküllü bir e-ticaret sitesi için 5000-7000 arası resource yaratılabilir.



İlave:
ASP.NET Core Globalization & Localization: https://docs.microsoft.com/en-us/asp...aspnetcore-2.2

Ayrıca, Visual Studio'da online içerikleri yüklemeni, ilaveten MSDN'de bolca vakit geçirmeni öneririm. Biraz da video izlersen, farklı insanların yaşadığı sorunlar ve çözümleri hakkında fikir sahibi olabilirsin. Bu başlangıçta biraz vakit kaybettirebilir, ancak ilerde olabilecek sorunlara karşı önleyici olur ve performans anlamında daha güçlü olmanı sağlar.