Closed VsMoroz closed 7 years ago
На первом этапе будем использовать GetNameOfClient_em для писем с профилем BASE_EN
Признак языка я решил не добавлять, пусть функция сама определяет язык по профилю клиента и транслитерирует информацию. Функция в коммите выше (там какая то проблема с русскими буквами, ну решим) функция уже в БД.
GetNameOfClient_em(tab_on,inv_num_kli)
Прошу переделать серверную часть: 1.Во всех профилях email оповещения формировать строку о услуге с помощью этой GetNameOfClient_em функции. 2.Прошу убрать все вот те обрезания первых символов (мы обрезали ОК, СК в начале строки) я их убрал в самой функции
переделал, v1.9.25
Есть в делфях какие то наработки по транлитерации с рус на eng и с укр на eng ? Мне существующая функция транслитерации не очень нравится, там есть проблема с тем что текущая настройка mysql не чувствительна к регистру и получается не очень красивая транслитерация (подробности устно сообщу)
С русским выбор широкий, а с украинским нужно будет пошаманить.
Реализовал транслитерацию укр - анг. Использовал в работе таблицу из http://zakon4.rada.gov.ua/laws/show/55-2010-%D0%BF. Файл выложил в папку miscellanea.
Мда, гугл транслитерирует по своей системе BGN/PCGN 1965 если мы будем транслитерировать по системе КМУ результат не совпадет с гугловым, но полностью совпадет с официальной. Дилема !
Работает хорошо, прошу для профиля BASE_EN проводить транслитерацию силами серверной части приложения для всей строчки которую выдает GetNameOfClient_em
Транслитерация происходит в функции, надо менять функцию.
Ничего, я отключу транслитерацию в функции
А еще моя функция выдает пользователям источник сервиса - я должен модернизировать ее что бы не выдавал :)
Саня, я подправил функцию отключил транслитерацию, жду что для профиля BASE_EN ты выполнишь транслитерацию всего что возвращает функция на уровне серверного приложения.
выполнил, v1.9.25
Нормально работает ! Пришли мне еще раз приложение которое переводило силами яндекса с рус на английский, переделай его что бы оно переводило с рус на украинский. Есть еще одна идейка
Файл выложил (почему так долго? с кодировкой боролся)
Приемлемо переводит, для адресов подойдет.
Давай сделаем так, добавим в office_kli поле street_ua в которое будем переводить текст из street автоматически с русского на украинский если поле street_ua пустое.
ALTER TABLE office_kli
ADD street_ua
VARCHAR( 200 ) NOT NULL DEFAULT '' COMMENT 'улица укр' AFTER street
Я правильно понимаю что из текущей версии сервера мы это сделать не сможем версия делфи старая?
Думаю, что ты прав, Delphi 7 unicod не понимает. Может с английским и прокатит, а вот с укр/рус кодировками будет шлакбаум. Я думаю, что сервер нужно поднять на новой версии делфи.
Сделаем утилиту для разового перевод адреса, а потом когда запустим вторую версию сервера, перенесем в нее модуль перевода.
Повторять до тех пор пока запрос не вернет null
Выложил в miscellanea файл translOfficeStreet. Интерфейс интелектуально понятный, поэкперементируй с количеством записей (при большом количестве какбы подвисает, но он работает).
Модернизируй clientDB что бы при нажатии кнопки ОК в форме редактирования Офиса клиента затиралось значение в street_ua (SET street_ua = '')
И в спутниковом интерфейсе при редактировании такое же действие при редактировании что бы происходило с street_ua
Глянь что выдает вот этот запрос:
SELECT *
FROM office_kli
WHERE street_ua
LIKE '%Translation code=%'
Подправь что бы приложение пропускало строки у которых пустое поле street, например модернизировав запрос до такого
SELECT id_kli , street FROM office_kli WHERE street_ua LIKE '' AND street NOT LIKE '' LIMIT 1
Запрос подправил, файл выложил в miscellanea
Добавил обнуление street_ua при редактировании ОК. v5.46.41.
Спасибо. Продолжи работать над версией сервера 2.x.x, а то новые ОК добавляются каждый день и перевод нужно поставить на поток. Сегодня ночью добавилось 14 ОК
Версию 2.0.0 выложил. Сделал ревизию, подправил согласно v1.9.25
перенесено во внутреннюю систему
Прошу создать GetNameOfClient_em на основе кода функции GetNameOfClient Основное ее предназначение формировать строку о услуге для email сообщений. В нее мы добавим третий параметр, язык, сейчас он будет или Bs - тоесть основной или En - английский. В функции мы будем формировать строку без приставок ОК, СК в начале строки.
Будем вместо сокращенной информации о услуге (ПД, ТЛФ, Интертер) которые берутся из tab_katal_sk_type.name будем брать полное название из tab_katal_sk_type.name_bs или если третим параметров вызова стоит английский язык то значения будем брать из tab_katal_sk_type.name_en
В функции для обьектов "Данные старого формата", мы будем просто формировать пустую строку
В функции мы будем скорость пересчитывать в кбит/с мбит/с Гбит/с и показывать подпись скорости не сокращенно как сейчас а кбит/с мбит/с Гбит/с
В функции в Bs языке мы будем брать названия городов не с русского tab_town.town а с украинского tab_town.town_uа в En языке будем выполнять транлитерацию с украинского tab_town.town_uа