本文整理汇总了Python中weblate.trans.views.helper.get_translation函数的典型用法代码示例。如果您正苦于以下问题:Python get_translation函数的具体用法?Python get_translation怎么用?Python get_translation使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_translation函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: zen
def zen(request, project, subproject, lang):
'''
Generic entry point for translating, suggesting and searching.
'''
translation = get_translation(request, project, subproject, lang)
search_result, unitdata = get_zen_unitdata(translation, request)
# Handle redirects
if isinstance(search_result, HttpResponse):
return search_result
return render(
request,
'zen.html',
{
'object': translation,
'project': translation.subproject.project,
'unitdata': unitdata,
'search_query': search_result['query'],
'filter_name': search_result['name'],
'filter_count': len(search_result['ids']),
'last_section': search_result['last_section'],
'search_id': search_result['search_id'],
'offset': search_result['offset'],
}
)
示例2: push_translation
def push_translation(request, project, subproject, lang):
obj = get_translation(request, project, subproject, lang)
if obj.do_push(request):
messages.success(request, _('All repositories were pushed.'))
return redirect(obj)
示例3: zen
def zen(request, project, subproject, lang):
"""Generic entry point for translating, suggesting and searching."""
translation = get_translation(request, project, subproject, lang)
search_result, unitdata = get_zen_unitdata(translation, request)
# Handle redirects
if isinstance(search_result, HttpResponse):
return search_result
return render(
request,
'zen.html',
{
'object': translation,
'project': translation.subproject.project,
'unitdata': unitdata,
'search_query': search_result['query'],
'filter_name': search_result['name'],
'filter_count': len(search_result['ids']),
'last_section': search_result['last_section'],
'search_url': search_result['url'],
'offset': search_result['offset'],
'search_form': search_result['form'].reset_offset(),
'update_lock': translation.lock_user == request.user,
}
)
示例4: update_translation
def update_translation(request, project, subproject, lang):
obj = get_translation(request, project, subproject, lang)
if obj.do_update(request, method=request.GET.get('method', None)):
messages.success(request, _('All repositories were updated.'))
return redirect(obj)
示例5: update_lock
def update_lock(request, project, subproject, lang):
obj = get_translation(request, project, subproject, lang)
if not obj.is_user_locked(request):
obj.update_lock_time()
return HttpResponse('ok')
示例6: auto_translation
def auto_translation(request, project, subproject, lang):
translation = get_translation(request, project, subproject, lang)
project = translation.subproject.project
if not can_automatic_translation(request.user, project):
raise PermissionDenied()
autoform = AutoForm(translation, request.user, request.POST)
if translation.subproject.locked or not autoform.is_valid():
messages.error(request, _('Failed to process form!'))
return redirect(translation)
updated = auto_translate(
request.user,
translation,
autoform.cleaned_data['subproject'],
autoform.cleaned_data['inconsistent'],
autoform.cleaned_data['overwrite']
)
import_message(
request, updated,
_('Automatic translation completed, no strings were updated.'),
ungettext(
'Automatic translation completed, %d string was updated.',
'Automatic translation completed, %d strings were updated.',
updated
)
)
return redirect(translation)
示例7: commit_translation
def commit_translation(request, project, subproject, lang):
obj = get_translation(request, project, subproject, lang)
obj.commit_pending(request)
messages.info(request, _("All pending translations were committed."))
return redirect(obj)
示例8: update_translation
def update_translation(request, project, subproject, lang):
obj = get_translation(request, project, subproject, lang)
if obj.do_update(request):
messages.info(request, _("All repositories were updated."))
return redirect(obj)
示例9: reset_translation
def reset_translation(request, project, component, lang):
obj = get_translation(request, project, component, lang)
if not request.user.has_perm('vcs.reset', obj):
raise PermissionDenied()
return perform_reset(request, obj)
示例10: reset_translation
def reset_translation(request, project, subproject, lang):
obj = get_translation(request, project, subproject, lang)
if obj.do_reset(request):
messages.info(request, _("All repositories have been reset."))
return redirect(obj)
示例11: reset_translation
def reset_translation(request, project, subproject, lang):
obj = get_translation(request, project, subproject, lang)
if not can_reset_translation(request.user, obj.subproject.project):
raise PermissionDenied()
return perform_reset(request, obj)
示例12: zen
def zen(request, project, subproject, lang):
"""
Generic entry point for translating, suggesting and searching.
"""
translation = get_translation(request, project, subproject, lang)
search_result, unitdata = get_zen_unitdata(translation, request)
# Handle redirects
if isinstance(search_result, HttpResponse):
return search_result
return render(
request,
"zen.html",
{
"object": translation,
"project": translation.subproject.project,
"unitdata": unitdata,
"search_query": search_result["query"],
"filter_name": search_result["name"],
"filter_count": len(search_result["ids"]),
"last_section": search_result["last_section"],
"search_id": search_result["search_id"],
"offset": search_result["offset"],
},
)
示例13: save_zen
def save_zen(request, project, subproject, lang):
'''
Save handler for zen mode.
'''
translation = get_translation(request, project, subproject, lang)
user_locked = translation.is_user_locked(request.user)
form = TranslationForm(translation, None, request.POST)
if not can_translate(request.user, translation):
messages.error(
request,
_('You don\'t have privileges to save translations!')
)
elif not form.is_valid():
messages.error(request, _('Failed to save translation!'))
elif not user_locked:
unit = form.cleaned_data['unit']
perform_translation(unit, form, request)
return render(
request,
'zen-response.html',
{},
)
示例14: auto_translation
def auto_translation(request, project, subproject, lang):
translation = get_translation(request, project, subproject, lang)
translation.commit_pending(request)
autoform = AutoForm(translation, request.POST)
change = None
if not translation.subproject.locked and autoform.is_valid():
if autoform.cleaned_data['inconsistent']:
units = translation.unit_set.filter_type(
'inconsistent', translation
)
elif autoform.cleaned_data['overwrite']:
units = translation.unit_set.all()
else:
units = translation.unit_set.filter(translated=False)
sources = Unit.objects.filter(
translation__language=translation.language,
translated=True
)
if autoform.cleaned_data['subproject'] == '':
sources = sources.filter(
translation__subproject__project=translation.subproject.project
).exclude(
translation=translation
)
else:
subprj = SubProject.objects.get(
project=translation.subproject.project,
slug=autoform.cleaned_data['subproject']
)
sources = sources.filter(translation__subproject=subprj)
for unit in units.iterator():
update = sources.filter(checksum=unit.checksum)
if update.exists():
# Get first entry
update = update[0]
# No save if translation is same
if unit.fuzzy == update.fuzzy and unit.target == update.target:
continue
# Copy translation
unit.fuzzy = update.fuzzy
unit.target = update.target
# Create signle change object for whole merge
if change is None:
change = Change.objects.create(
action=Change.ACTION_AUTO,
translation=unit.translation,
user=request.user,
author=request.user
)
# Save unit to backend
unit.save_backend(request, False, False)
messages.success(request, _('Automatic translation completed.'))
else:
messages.error(request, _('Failed to process form!'))
return redirect(translation)
示例15: upload_translation
def upload_translation(request, project, subproject, lang):
"""
Handling of translation uploads.
"""
obj = get_translation(request, project, subproject, lang)
# Check method and lock
if obj.is_locked(request.user):
messages.error(request, _("Access denied."))
return redirect(obj)
# Get correct form handler based on permissions
form = get_upload_form(request)(request.POST, request.FILES)
# Check form validity
if not form.is_valid():
messages.error(request, _("Please fix errors in the form."))
return redirect(obj)
# Create author name
author = None
if (
request.user.has_perm("trans.author_translation")
and form.cleaned_data["author_name"] != ""
and form.cleaned_data["author_email"] != ""
):
author = "%s <%s>" % (form.cleaned_data["author_name"], form.cleaned_data["author_email"])
# Check for overwriting
overwrite = False
if request.user.has_perm("trans.overwrite_translation"):
overwrite = form.cleaned_data["overwrite"]
# Do actual import
try:
ret, count = obj.merge_upload(
request,
request.FILES["file"],
overwrite,
author,
merge_header=form.cleaned_data["merge_header"],
merge_comments=form.cleaned_data["merge_comments"],
method=form.cleaned_data["method"],
fuzzy=form.cleaned_data["fuzzy"],
)
messages.info(
request,
ungettext(
"Processed %d string from the uploaded files.", "Processed %d strings from the uploaded files.", count
)
% count,
)
if not ret:
messages.warning(request, _("There were no new strings in uploaded file!"))
except Exception as error:
messages.error(request, _("File content merge failed: %s") % unicode(error))
report_error(error, sys.exc_info(), request)
return redirect(obj)