Цитата(vadim007 @ 17.05.11, 15:51) необходимо зарегистрироваться для просмотра ссылки
а полное наименование - на украинском. Осталось "только" перевести полное наименование на украинский. Как это сделать как можно быстрее?
Питон - няшка.
Набросал скрипт для перевода полного наименование номенклатуры с русского на украинский с использованием google translate
Питон можно взять
необходимо зарегистрироваться для просмотра ссылки, я использовал 2.7.1
Модуль для работы с dbf
необходимо зарегистрироваться для просмотра ссылкиМетодика работы:
-делаем копию базы
-Ищем таблицу справочника ТМЦ, для бухгалтерии это SC148.DBF
-Бросаем таблицу рядом со скриптом
-В скрипте настраиваем поле с полным наименованием, для бухгалтерии это SP149
-Запускаем скрипт
- ждем
- перебрасываем модифицированную таблицу в каталог базы
-реиндексация - по вкусу.
Скрипт:
#! /usr/bin/env python
# -*- coding: utf-8 -*-
"""
This code written by pak and licensed by GPLv3 or later
"""
import sys
import re
import urllib
import urllib2
import json
from dbfpy import dbf
def gtr(t,fr,to):
url = "http://translate.google.com/translate_a/t?%s"
list_of_params = {'client' : 't',
'hl' : 'en',
'multires' : '1', }
list_of_params.update({'text' : t,
'sl' : fr ,
'tl' : to })
request = urllib2.Request(url % urllib.urlencode(list_of_params),
headers={ 'User-Agent': 'Mozilla/5.0', 'Accept-Charset': 'utf-8' })
res = urllib2.urlopen(request).read()
fixed_json = re.sub(r',{2,}', ',', res).replace(',]', ']')
data = json.loads(fixed_json)
#simple translation
#print "%s / %s / %s" % (data[0][0][0], data[0][0][1], data[0][0][2] or data[0][0][3])
result_trans = data[0][0][0]
return result_trans
def main():
print gtr('Привет isden','ru','uk')
#open file
db = dbf.Dbf("SC148.DBF")
# read
for rec in db:
name =unicode(rec["SP149"],'cp1251')
nameUtf8=name.encode('utf-8')
if rec["ISFOLDER"]== 1:
print 'is folder'
else:
translated = gtr(nameUtf8,'ru','uk')
print translated
#write
rec["SP149"] = translated.encode('cp1251')
rec.store()
if __name__ == '__main__':
main()
upd:
ссылка на скачивание исходников
необходимо зарегистрироваться для просмотра ссылки