from modeltranslation.translator import register, TranslationOptions
from .models import AboutSection
from carousel.models import Carousel
from contactus.models import ContactMessage
from footer.models import Navbar, Footer
from pages.models import Page
from portfolio.models import PortfolioCategory, PortfolioItem, PortfolioGalleryImage
from questions.models import QuestionsOne, QuestionsTwo
from services.models import Service, ServiceDetail, PricingPlan
from stats.models import Stats
from .models import AboutSection, AboutFeature
from modeltranslation.translator import register, TranslationOptions
from services.models import Service, ServiceDetail, ServiceDetailFeature, PricingPlan

@register(AboutSection)
class AboutSectionTranslationOptions(TranslationOptions):
    fields = (
        'subtitle',
        'title',
        'description',
        'experience_years',
        'experience_text',
        'main_image',
        'small_image',
    )

@register(AboutFeature)
class AboutFeatureTranslationOptions(TranslationOptions):
    fields = ('title',)


@register(Carousel)
class CarouselTranslationOptions(TranslationOptions):
    fields = (
        # Slide 1
        'subtitle_1',
        'content_1',
        'image_1',
        'mobile_image_1',
        'button_text_1',

        # Slide 2
        'subtitle_2',
        'content_2',
        'image_2',
        'mobile_image_2',
        'button_text_2',

        # Slide 3
        'subtitle_3',
        'content_3',
        'image_3',
        'mobile_image_3',
        'button_text_3',
    )


@register(ContactMessage)
class ContactMessageTranslationOptions(TranslationOptions):
    fields = (
        'name',
        'service_type',
        'message',
    )


@register(Navbar)
class NavbarTranslationOptions(TranslationOptions):
    fields = (
        'site_name',
        'site_logo',
    )

@register(Footer)
class FooterTranslationOptions(TranslationOptions):
    fields = (
        'logo',
        'about_title',
        'about_text',

        'important_title',
        'important_link_1_name', 'important_link_1_url',
        'important_link_2_name', 'important_link_2_url',
        'important_link_3_name', 'important_link_3_url',
        'important_link_4_name', 'important_link_4_url',

        'services_title',
        'service_1_name', 'service_1_url',
        'service_2_name', 'service_2_url',
        'service_3_name', 'service_3_url',
        'service_4_name', 'service_4_url',

        'contact_title',

        'trusted_text',
        'trusted_subtext',
        'tax_text',

        'copyright_text',
    )


@register(Page)
class PageTranslationOptions(TranslationOptions):
    fields = (
        'title',
        'content',
    )


@register(PortfolioCategory)
class PortfolioCategoryTranslationOptions(TranslationOptions):
    fields = ('name',)

@register(PortfolioItem)
class PortfolioItemTranslationOptions(TranslationOptions):
    fields = (
        'title',
        'subtitle',
        'tags',
        'description',
        'client',
        'badge',
        'main_image',
        'features',
    )

# مفيش حاجة نترجمها في GalleryImage غير الصورة، لو حابب تختلف بين اللغتين
@register(PortfolioGalleryImage)
class PortfolioGalleryImageTranslationOptions(TranslationOptions):
    fields = ('image',)



@register(QuestionsOne)
class QuestionsOneTranslationOptions(TranslationOptions):
    fields = ('question_1', 'answer_1')

@register(QuestionsTwo)
class QuestionsTwoTranslationOptions(TranslationOptions):
    fields = ('question_2', 'answer_2')



@register(Service)
class ServiceTranslationOptions(TranslationOptions):
    fields = ('title', 'icon_class', 'image', 'description')

@register(ServiceDetail)
class ServiceDetailTranslationOptions(TranslationOptions):
    fields = (
        'subtitle', 'content', 'image_main', 'image_secondary',
        'experience_label', 'experience_text',
        'cta_title', 'cta_text', 'cta_icon_class', 'cta_button_text', 'cta_button_link',
    )

@register(ServiceDetailFeature)
class ServiceDetailFeatureTranslationOptions(TranslationOptions):
    fields = ('title',)

@register(PricingPlan)
class PricingPlanTranslationOptions(TranslationOptions):
    fields = ('title', 'description', 'features', 'price_monthly', 'price_yearly')




@register(Stats)
class StatsTranslationOptions(TranslationOptions):
    fields = (
        'title',
        'subtitle',
        'background_image',

        'icon_1', 'label_1', 'image_1',
        'icon_2', 'label_2', 'image_2',
        'icon_3', 'label_3', 'image_3',
        'icon_4', 'label_4', 'image_4',
    )


