Пример #1
0
def translate(request, locale, slug, part):
    """Translate view."""
    # Redirect the user to the Translate.Next app if needed.
    # To be removed as part of bug 1527853.
    user = request.user
    if (waffle.switch_is_active('translate_next') and user.is_authenticated
            and user.profile.use_translate_next):
        url = reverse('pontoon.translate.next',
                      kwargs={
                          'project': slug,
                          'locale': locale,
                          'resource': part,
                      })
        query = request.GET.urlencode()
        if query:
            url += '?' + query

        return redirect(url)

    locale = get_object_or_404(Locale, code=locale)

    projects = (Project.objects.available().prefetch_related(
        'subpage_set', 'tag_set').order_by('name'))

    if slug.lower() == 'all-projects':
        project = Project(name='All Projects', slug=slug.lower())

    else:
        project = get_object_or_404(Project.objects.available(), slug=slug)
        if locale not in project.locales.all():
            raise Http404

    return render(
        request, 'translate.html', {
            'download_form':
            forms.DownloadFileForm(),
            'upload_form':
            forms.UploadFileForm(),
            'locale':
            locale,
            'locale_projects':
            locale.available_projects_list(),
            'locales':
            Locale.objects.available(),
            'part':
            part,
            'project':
            project,
            'projects':
            projects,
            'is_google_translate_supported':
            bool(settings.GOOGLE_TRANSLATE_API_KEY),
            'is_microsoft_translator_supported':
            bool(settings.MICROSOFT_TRANSLATOR_API_KEY),
        })
Пример #2
0
def translate(request, locale, slug, part):
    """Translate view."""
    locale = get_object_or_404(Locale, code__iexact=locale)
    project = get_object_or_404(Project.objects.available(), slug=slug)

    projects = (
        Project.objects.available()
        .prefetch_related('subpage_set')
        .order_by("name")
    )

    return render(request, 'translate.html', {
        'download_form': forms.DownloadFileForm(),
        'upload_form': forms.UploadFileForm(),
        'locale': locale,
        'locales': Locale.objects.available(),
        'part': part,
        'project': project,
        'projects': projects,
    })
Пример #3
0
def translate(request, locale, slug, part):
    """Translate view."""
    locale = get_object_or_404(Locale, code=locale)
    project = get_object_or_404(Project.objects.available(), slug=slug)

    if locale not in project.locales.all():
        raise Http404

    projects = (Project.objects.available().prefetch_related(
        'subpage_set').order_by('name'))

    return render(
        request, 'translate.html', {
            'download_form': forms.DownloadFileForm(),
            'upload_form': forms.UploadFileForm(),
            'locale': locale,
            'locale_projects': locale.available_projects_list(),
            'locales': Locale.objects.available(),
            'part': part,
            'project': project,
            'projects': projects,
        })
Пример #4
0
def translate(request, locale, slug, part):
    """Translate view."""
    locale = get_object_or_404(Locale, code=locale)

    projects = (Project.objects.available().prefetch_related(
        'subpage_set', 'tag_set').order_by('name'))

    if slug.lower() == 'all-projects':
        project = Project(name='All Projects', slug=slug.lower())

    else:
        project = get_object_or_404(Project.objects.available(), slug=slug)
        if locale not in project.locales.all():
            raise Http404

    return render(
        request, 'translate.html', {
            'download_form':
            forms.DownloadFileForm(),
            'upload_form':
            forms.UploadFileForm(),
            'locale':
            locale,
            'locale_projects':
            locale.available_projects_list(),
            'locales':
            Locale.objects.available(),
            'part':
            part,
            'project':
            project,
            'projects':
            projects,
            'is_google_translate_supported':
            bool(settings.GOOGLE_TRANSLATE_API_KEY),
            'is_microsoft_translator_supported':
            bool(settings.MICROSOFT_TRANSLATOR_API_KEY),
        })