translate stuff
This commit is contained in:
parent
4c56e363b7
commit
f46fd27aa0
|
@ -4,6 +4,8 @@ from django.http import HttpResponse
|
||||||
from ships import models
|
from ships import models
|
||||||
import json
|
import json
|
||||||
from django.shortcuts import render_to_response
|
from django.shortcuts import render_to_response
|
||||||
|
from django.db.models import Q
|
||||||
|
from django.template import RequestContext
|
||||||
|
|
||||||
def translate(request, model, field):
|
def translate(request, model, field):
|
||||||
start = request.GET.get("start", False)
|
start = request.GET.get("start", False)
|
||||||
|
@ -29,7 +31,37 @@ def translate(request, model, field):
|
||||||
for obj in qset:
|
for obj in qset:
|
||||||
val = obj[field]
|
val = obj[field]
|
||||||
ordArr = []
|
ordArr = []
|
||||||
|
isEnglish = True
|
||||||
for char in val:
|
for char in val:
|
||||||
|
# unichr is the opposite of ord
|
||||||
|
charOrd = ord(char)
|
||||||
|
if (charOrd > 500):
|
||||||
|
isEnglish = False
|
||||||
ordArr.append(str(ord(char)))
|
ordArr.append(str(ord(char)))
|
||||||
response += "%s|%s<br />" % (",".join(ordArr), val,)
|
if not isEnglish:
|
||||||
return render_to_response("translate.html", {'txt': response})
|
response += "%s\n\n" % (val,)
|
||||||
|
context = RequestContext(request, {
|
||||||
|
'txt': response,
|
||||||
|
'model': model,
|
||||||
|
'field': field
|
||||||
|
})
|
||||||
|
return render_to_response("translate.html", context)
|
||||||
|
|
||||||
|
def dotranslate(request, model, field):
|
||||||
|
txt = request.POST.get('txt', '')
|
||||||
|
lines = txt.split("\n\n")
|
||||||
|
trans_field = field + "_trans"
|
||||||
|
m = models.__getattribute__(model)
|
||||||
|
savedArr = []
|
||||||
|
for line in lines:
|
||||||
|
split = line.split("|")
|
||||||
|
ordArr = split[0].join(",")
|
||||||
|
val = split[1]
|
||||||
|
oldVal = [unichr(v) for v in ordArr].join("")
|
||||||
|
q = Q(**{"%s__isequal" % field: val})
|
||||||
|
matches = m.objects.filter(q)
|
||||||
|
savedArr.append("%s: %s" % (oldVal, val,))
|
||||||
|
for m in matches:
|
||||||
|
m[trans_field] = val
|
||||||
|
m.save()
|
||||||
|
return HttpResponse(savedArr.join("\n"))
|
||||||
|
|
|
@ -12,7 +12,14 @@ function googleTranslateElementInit() {
|
||||||
}, 'google_translate_element');
|
}, 'google_translate_element');
|
||||||
}
|
}
|
||||||
</script><script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
|
</script><script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
|
||||||
{{ txt|safe }}
|
{{ txt|linebreaksbr|safe }}
|
||||||
|
|
||||||
|
<br /><br /><br />
|
||||||
|
<form action="/dotranslate/{{ model }}/{{ field }}/" method="POST">
|
||||||
|
{% csrf_token %}
|
||||||
|
<textarea name="txt" id="txt"></textarea> <br />
|
||||||
|
<input type="submit" />
|
||||||
|
</form>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -13,5 +13,6 @@ urlpatterns = patterns('',
|
||||||
|
|
||||||
# Uncomment the next line to enable the admin:
|
# Uncomment the next line to enable the admin:
|
||||||
(r'translate/(?P<model>[A-Za-z].*?)/(?P<field>[A-Za-z].*?)/', 'ships.views.translate'),
|
(r'translate/(?P<model>[A-Za-z].*?)/(?P<field>[A-Za-z].*?)/', 'ships.views.translate'),
|
||||||
|
(r'dotranslate/(?P<model>[A-Za-z].*?)/(?P<field>[A-Za-z].*?)/', 'ships.views.dotranslate'),
|
||||||
(r'^admin/', include(admin.site.urls)),
|
(r'^admin/', include(admin.site.urls)),
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user