using Playnite.SDK;

namespace Melcosoft.Localization
{
    internal static class Loc
    {
        public static string InstallGame => ResourceProvider.GetString(LocalizationKeys.InstallGame);
        public static string UninstallGame => ResourceProvider.GetString(LocalizationKeys.UninstallGame);
        public static string RepairGameFiles => ResourceProvider.GetString(LocalizationKeys.RepairGameFiles);
        public static string VerifyGameFiles => ResourceProvider.GetString(LocalizationKeys.VerifyGameFiles);

        public static string InstallingGame => ResourceProvider.GetString(LocalizationKeys.InstallingGame);
        public static string UninstallingGame => ResourceProvider.GetString(LocalizationKeys.UninstallingGame);
        public static string UpdatingGame => ResourceProvider.GetString(LocalizationKeys.UpdatingGame);
        public static string RepairingGame => ResourceProvider.GetString(LocalizationKeys.RepairingGame);
        public static string VerifyingGame => ResourceProvider.GetString(LocalizationKeys.VerifyingGame);
        public static string RefreshingGame => ResourceProvider.GetString(LocalizationKeys.RefreshingGame);
        public static string CheckingForUpdates => ResourceProvider.GetString(LocalizationKeys.CheckingForUpdates);

        public static string Installing => ResourceProvider.GetString(LocalizationKeys.Installing);
        public static string Uninstalling => ResourceProvider.GetString(LocalizationKeys.Uninstalling);
        public static string Updating => ResourceProvider.GetString(LocalizationKeys.Updating);
        public static string Repairing => ResourceProvider.GetString(LocalizationKeys.Repairing);
        public static string Verifying => ResourceProvider.GetString(LocalizationKeys.Verifying);
        public static string Refreshing => ResourceProvider.GetString(LocalizationKeys.Refreshing);
        public static string Syncing => ResourceProvider.GetString(LocalizationKeys.Syncing);
        public static string Connecting => ResourceProvider.GetString(LocalizationKeys.Connecting);
        public static string Working => ResourceProvider.GetString(LocalizationKeys.Working);
        public static string Running => ResourceProvider.GetString(LocalizationKeys.Running);
        public static string Pausing => ResourceProvider.GetString(LocalizationKeys.Pausing);
        public static string Cancelling => ResourceProvider.GetString(LocalizationKeys.Cancelling);

        public static string DownloadingFiles => ResourceProvider.GetString(LocalizationKeys.DownloadingFiles);
        public static string ExtractingFiles => ResourceProvider.GetString(LocalizationKeys.ExtractingFiles);
        public static string ValidatingFiles => ResourceProvider.GetString(LocalizationKeys.ValidatingFiles);
        public static string RepairingFiles => ResourceProvider.GetString(LocalizationKeys.RepairingFiles);

        public static string FinalizingInstallation => ResourceProvider.GetString(LocalizationKeys.FinalizingInstallation);
        public static string PreparingDownload => ResourceProvider.GetString(LocalizationKeys.PreparingDownload);

        public static string InstallGameFailed => ResourceProvider.GetString(LocalizationKeys.InstallGameFailed);
        public static string UninstallGameFailed => ResourceProvider.GetString(LocalizationKeys.UninstallGameFailed);
        public static string UpdateGameFailed => ResourceProvider.GetString(LocalizationKeys.UpdateGameFailed);
        public static string RepairGameFailed => ResourceProvider.GetString(LocalizationKeys.RepairGameFailed);
        public static string VerifyGameFailed => ResourceProvider.GetString(LocalizationKeys.VerifyGameFailed);
        public static string SyncGameFailed => ResourceProvider.GetString(LocalizationKeys.SyncGameFailed);

        public static string InstallGameCancelled => ResourceProvider.GetString(LocalizationKeys.InstallGameCancelled);
        public static string UninstallGameCancelled => ResourceProvider.GetString(LocalizationKeys.UninstallGameCancelled);
        public static string RepairGameCancelled => ResourceProvider.GetString(LocalizationKeys.RepairGameCancelled);
        public static string VerifyGameCancelled => ResourceProvider.GetString(LocalizationKeys.VerifyGameCancelled);
        public static string SyncGameCancelled => ResourceProvider.GetString(LocalizationKeys.SyncGameCancelled);
        public static string SyncInProgress => ResourceProvider.GetString(LocalizationKeys.SyncInProgress);

        public static string ErrorInstallGameInstallFolder => ResourceProvider.GetString(LocalizationKeys.ErrorInstallGameInstallFolder);
        public static string ErrorProgressBackendURL => ResourceProvider.GetString(LocalizationKeys.ErrorProgressBackendURL);

        public static string Completed => ResourceProvider.GetString(LocalizationKeys.Completed);
        public static string Cancelled => ResourceProvider.GetString(LocalizationKeys.Cancelled);
        public static string Failed => ResourceProvider.GetString(LocalizationKeys.Failed);
        public static string Queued => ResourceProvider.GetString(LocalizationKeys.Queued);
        public static string Paused => ResourceProvider.GetString(LocalizationKeys.Paused);

        public static string ContactSupport => ResourceProvider.GetString(LocalizationKeys.ContactSupport);

        public static string Play => ResourceProvider.GetString(LocalizationKeys.Play);
        public static string Cancel => ResourceProvider.GetString(LocalizationKeys.Cancel);
        public static string Close => ResourceProvider.GetString(LocalizationKeys.Close);
        public static string Apply => ResourceProvider.GetString(LocalizationKeys.Apply);
        public static string Pause => ResourceProvider.GetString(LocalizationKeys.Pause);
        public static string Resume => ResourceProvider.GetString(LocalizationKeys.Resume);

        public static string SyncingProgress => ResourceProvider.GetString(LocalizationKeys.SyncingProgress);
        public static string FinalizingSync => ResourceProvider.GetString(LocalizationKeys.FinalizingSync);
        public static string SyncFinished => ResourceProvider.GetString(LocalizationKeys.SyncFinished);
        public static string SyncCreatedGames => ResourceProvider.GetString(LocalizationKeys.SyncCreatedGames);
        public static string SyncUpdatedGames => ResourceProvider.GetString(LocalizationKeys.SyncUpdatedGames);

        public static string TopPanelSync => ResourceProvider.GetString(LocalizationKeys.TopPanelSync);
        public static string TopPanelSelectRegion => ResourceProvider.GetString(LocalizationKeys.TopPanelSelectRegion);
        public static string TopPanelReportError => ResourceProvider.GetString(LocalizationKeys.TopPanelReportError);
        public static string TopPanelWelcome => ResourceProvider.GetString(LocalizationKeys.TopPanelWelcome);

        public static string RegionSetFailed => ResourceProvider.GetString(LocalizationKeys.RegionSetFailed);
        public static string RegionWindowDescription => ResourceProvider.GetString(LocalizationKeys.RegionWindowDescription);
        public static string RegionSyncFailedTitle => ResourceProvider.GetString(LocalizationKeys.RegionSyncFailedTitle);
        public static string RegionSyncFailedMessage => ResourceProvider.GetString(LocalizationKeys.RegionSyncFailedMessage);
        public static string RegionSyncFailedContactPrompt => ResourceProvider.GetString(LocalizationKeys.RegionSyncFailedContactPrompt);
        public static string RegionSyncFailedRetryPrompt => ResourceProvider.GetString(LocalizationKeys.RegionSyncFailedRetryPrompt);
        public static string RegionSyncFailedReportButton => ResourceProvider.GetString(LocalizationKeys.RegionSyncFailedReportButton);
        public static string RegionSyncFailedTryRegionButton => ResourceProvider.GetString(LocalizationKeys.RegionSyncFailedTryRegionButton);
        public static string RegionLabel => ResourceProvider.GetString(LocalizationKeys.RegionLabel);
        public static string RegionEurope => ResourceProvider.GetString(LocalizationKeys.RegionEurope);
        public static string RegionRussia => ResourceProvider.GetString(LocalizationKeys.RegionRussia);
        public static string RegionSouthAmerica => ResourceProvider.GetString(LocalizationKeys.RegionSouthAmerica);
        public static string RegionChina => ResourceProvider.GetString(LocalizationKeys.RegionChina);

        public static string No => ResourceProvider.GetString(LocalizationKeys.No);

        public static string ErrorReportWindowTitle => ResourceProvider.GetString(LocalizationKeys.ErrorReportWindowTitle);
        public static string ErrorReportTitle => ResourceProvider.GetString(LocalizationKeys.ErrorReportTitle);
        public static string ErrorReportDescriptionPrefix => ResourceProvider.GetString(LocalizationKeys.ErrorReportDescriptionPrefix);
        public static string ErrorReportDescriptionSuffix => ResourceProvider.GetString(LocalizationKeys.ErrorReportDescriptionSuffix);
        public static string ErrorReportContactPrompt => ResourceProvider.GetString(LocalizationKeys.ErrorReportContactPrompt);
        public static string ErrorReportEmail => ResourceProvider.GetString(LocalizationKeys.ErrorReportEmail);
        public static string ErrorReportTelegram => ResourceProvider.GetString(LocalizationKeys.ErrorReportTelegram);
        public static string ErrorReportDiscord => ResourceProvider.GetString(LocalizationKeys.ErrorReportDiscord);
        public static string ErrorReportUserDescription => ResourceProvider.GetString(LocalizationKeys.ErrorReportUserDescription);
        public static string ErrorReportYes => ResourceProvider.GetString(LocalizationKeys.ErrorReportYes);
        public static string ErrorReportSending => ResourceProvider.GetString(LocalizationKeys.ErrorReportSending);
        public static string ErrorReportThankYouTitle => ResourceProvider.GetString(LocalizationKeys.ErrorReportThankYouTitle);
        public static string ErrorReportThankYouBody => ResourceProvider.GetString(LocalizationKeys.ErrorReportThankYouBody);

        public static string WelcomeTitle          => ResourceProvider.GetString(LocalizationKeys.WelcomeTitle);
        public static string WelcomeIntro          => ResourceProvider.GetString(LocalizationKeys.WelcomeIntro);
        public static string WelcomeLanguageTip    => ResourceProvider.GetString(LocalizationKeys.WelcomeLanguageTip);
        public static string WelcomeToolbarHeading => ResourceProvider.GetString(LocalizationKeys.WelcomeToolbarHeading);
        public static string WelcomeToolbarRegion  => ResourceProvider.GetString(LocalizationKeys.WelcomeToolbarRegion);
        public static string WelcomeToolbarSync    => ResourceProvider.GetString(LocalizationKeys.WelcomeToolbarSync);
        public static string WelcomeToolbarError   => ResourceProvider.GetString(LocalizationKeys.WelcomeToolbarError);
        public static string WelcomeMultiLaunchTip => ResourceProvider.GetString(LocalizationKeys.WelcomeMultiLaunchTip);
        public static string WelcomeRegionWarning  => ResourceProvider.GetString(LocalizationKeys.WelcomeRegionWarning);
        public static string WelcomeGotIt          => ResourceProvider.GetString(LocalizationKeys.WelcomeGotIt);
        public static string WelcomeDontShowAgain  => ResourceProvider.GetString(LocalizationKeys.WelcomeDontShowAgain);

        public static string LaunchAnotherInstance => ResourceProvider.GetString(LocalizationKeys.LaunchAnotherInstance);

        public static string ViewDownloads        => ResourceProvider.GetString(LocalizationKeys.ViewDownloads);
        public static string NGamesDownloading    => ResourceProvider.GetString(LocalizationKeys.NGamesDownloading);
        public static string DownloadsWindowTitle => ResourceProvider.GetString(LocalizationKeys.DownloadsWindowTitle);
    }
}
