for flooders
:: Главная :: Решения :: Статьи :: Сайт М. Дроздова :: Файловый архив :: Книга по VFP 9 :: Русский Help Online :: OFF-LINE Форум
   Лисоводы   всех   стран,  объединяйтесь !!!  

Список Форумов  :: Русский Help
  

Re: Вопрос однообразия
Timo

Сообщений: 210
Откуда: г Волгоград
Дата: 02.11.05 09:20:57
Привет, GM и все.

О. Бендер>>Стулья расползаются, как тараканы.

GM>>Да не нужно ИМХО никаких ограничений по переводу. Смысл утилиты в том и заключается, чтобы заказчик решил
GM>>окончательнй вариант. Единственное ограничение - это тэги без идентификатора. Если не получится присвоить
GM>>идентификатор, то только в отошении такого тэга надо принимать соглашение.

Заметил прикол. Вот такая ссылка src="..\..\..\rhproject\project\local\collapse.gif
collapse.gif - картинка крестика. Врядли эта картинка найдется по такому пути. Компилятру же это по барабану
Компилятор матюгнулся на 0025f1cf-37b2-4fd9-9674-a7e53010b5c5.htm - No menu item is defined (Error 1604)
Посмотрите на него, кто понимает в юникодах.

Владимир Максимов>>Да, конечно, такое "разнообразие" несколько раздражает. Но, с другой стороны, а кто вообще читает
Владимир Максимов>>подобные служебные фразы? Стоит ли оно того?

В общем так. Но. Продукт должен быть не только функциональным, но и красивым внешне. Мы же собираемся лэйбл клуба приклеить к хелпу. Кроме того есть опасность при редактировании текстов переключателей и ссылок (это в хелпе голубое)
искажения самих ссылок. Один пример я привёл выше. При редатировании HTM сам замечал, что искажен пать к файлу ссылки. А вот это уже не мелочи.

Предлагаю всё же договориться.
1) НЕ переводить ссылки. Их МОЖНО перевести одним махом в конце работы.
2) ПЕРЕД переводом обработать файлы, взятые на перевод нижеприведённым кодом. Он подменяет стандартные фразы русскими.

  
 * Программа Before. Срублено Timo  
 * Перевод стандартных фраз'  
  CLEAR  
  SET SAFETY OFF  
  SET ALTERNATE TO Repl.tx  
  SET ALTERNATE ON  
  SET TALK OFF  
  SET CONSOLE OFF  
  =ADIR(ahtm,'*.htm')  
  tese=SECONDS()  
  NumRepl=0  
  FOR j1=1 TO ALEN(ahtm,1)  
    stf=FILETOSTR(ahtm[j1,1])  
    @ 3,3 SAY j1  
    @ 1,15 SAY SECONDS()-tese COLOR RGB(0,0,255)  
    ConvStd('See Also','Смотрите также')  
    ConvStd('Applies To:','Применяется к:')  
    ConvStd('Visual FoxPro 9.0 Language Reference','Visual FoxPro 9.0 Справочное руководство по языку')  
    ConvStd('Other Resources','Прочие ресурсы')  
    ConvStd('Return Value','Возвращаемое значение')  
    ConvStd('Remarks','Замечания')  
    ConvStd('Note','Примечание')  
    ConvStd('Tip','Совет')  
    ConvStd('Reference','Ссылки')  
    ConvStd('Parameters','Параметры')  
    ConvStd('Example','Пример')  
    ConvStd('Copy Code','Копировать код')  
    ConvStd('Send','Шлите')  
    ConvStd('comments','комментарии')  
    ConvStd('about this topic to Microsoft.  Вc Microsoft Corporation. All rights reserved.',;  
    'об этой статье в корпорацию Microsoft. c Microsoft Corporation. All rights reserved.')  
    =STRTOFILE(stf,ahtm[j1,1])  
  ENDFOR  
  SET ALTERNATE TO  
  SET ALTERNATE OFF  
  SET TALK ON  
  SET CONSOLE ON  
  MESSAGEBOX('Произведено замен '+ALLTRIM(STR(NumRepl))+CHR(13)+'Смотри Repl.tx')  
 *--------------------------------------------------  
  PROCEDURE ConvStd  
 * Замена стандартных фраз.  
 * Осуществляется только если они находятся между >.....<  
 * Т.е. не в тэгах. И толко в случае, если искомая строка не является подстрокой.  
  PARAMETERS EnPh,RuPh  
  offset=1  
  FOR j2=1 TO 10000  
    StartPh=ATC(EnPh,SUBSTR(stf,offset))+offset-1  
    IF StartPh<offset  
      EXIT  
    ENDIF  
    StartSep=RAT('>',LEFT(stf,StartPh))  
    EndSep=AT('<',SUBSTR(stf,StartPh))+StartPh  
    BetwSep=SUBSTR(stf,StartSep+1,EndSep-StartSep-2)  
    BetwSep=STRTRAN(BetwSep,CHR(13))  
    BetwSep=STRTRAN(BetwSep,CHR(10))  
    BetwSep=ALLTRIM(STRTRAN(BetwSep,CHR(9)))  
    IF BetwSep==EnPh.OR.LEFT(BetwSep,LEN(BetwSep)-1)==EnPh  
  	stf=STRTRAN(stf,EnPh,STRCONV(RuPh,9),1,1)  
  	? EnPh+' '+RuPh  
  	NumRepl=NumRepl+1  
    ENDIF  
    offset=StartPh+1  
  IF j2>1000  
  susp  
  endif  
  ENDFOR



Отредактировано (02.11.05 14:20)


------------------
Ratings: 0 negative/0 positive

Re: Вопрос однообразия
Timo

Сообщений: 210
Откуда: г Волгоград
Дата: 02.11.05 10:06:13
Пардон. Только отправил, как заметил ляп. Поправился.
Ratings: 0 negative/0 positive

Re: Вопрос однообразия
Timo

Сообщений: 210
Откуда: г Волгоград
Дата: 02.11.05 12:13:32
Предпоследняя версия.
Ratings: 0 negative/0 positive

Re: Вопрос однообразия
GM

Сообщений: 145
Дата: 02.11.05 13:36:36
Пожалуй предобработка, которую ты предлагаешь невозможна, уже много переведено. Если мы откажемся от использования ID тэгов в силу их отсутствия, то остается ещё один вариант, с помощью которого, я перевёл всё, что уже перевёл. Так как количество тэгов, до перевода и после, не меняется, то каждому номеру mline сырца соответствует тот же номер mline перевода, после того как содержимое раздето от разметки. Одна mline представляет один абзац, один абзац - это и есть фрагмент для перевода, который находится между тэгами.

Пример результата работы парсера (mline-абзацы выделены дефисом):

- Handling Errors During Report Runs
- Visual FoxPro &*9.0
- Handling Errors During Report Runs
- See Also
- Visual FoxPro &*9.0 provides significant enhancements to the process of creating output, including new opportunities to invoke application code during the native Report System's internal data-handling and output-rendering procedures. To adequately provide users with the ability to develop such programs, Visual FoxPro &*9.0 also enhances error-reporting and debugging during a report run.
- This topic covers error-handling features with special significance for reporting, and examines different strategies for handling abnormal conclusions of report runs.
- Note:

Теперь, как мне кажется, совершенно понятно, что кодируя номером абзаца оригинала русский вариант, можно в постобработке заменить то место, в котором стоит "See Also" любым вариантом. Например, русский вариант откатить опять в "See Also", то есть восстановить по маске оригинала.

Единственное ограничение - это неизменное количество абзацев. То есть, если в переводе добавлен какой-нибудь тэг в содержимое абзаца, то он разобъет такой абзац на 2-3 абзаца. Наличие комментариев мешать не будет, так как они пойдут за футером и будут отсекаться.
Ratings: 0 negative/0 positive

Re: Вопрос однообразия
Timo

Сообщений: 210
Откуда: г Волгоград
Дата: 02.11.05 15:11:25
>>Так как количество тэгов, до перевода и после, не меняется, то каждому номеру mline сырца соответствует тот же номер mline перевода

Меняется. Смотри, например, 400d1a36-63d5-496d-a54d-a57c2632f4ae.htm.



Отредактировано (02.11.05 17:12)


------------------
Ratings: 0 negative/0 positive

Re: Вопрос однообразия
Лариса
Автор

Сообщений: 398
Откуда: Calgary
Дата: 02.11.05 16:32:44
2GM

Pls Посмотрите личные сообщения




------------------
Listen and forget. Read and remember. Do and understand.
Ratings: 0 negative/0 positive

Re: Вопрос однообразия
GM

Сообщений: 145
Дата: 02.11.05 16:52:43
Hello, Timo!

??>>> Так как количество тэгов, до перевода и после, не меняется, то
??>>> каждому номеру mline сырца соответствует тот же номер mline перевода
T> Меняется. Смотри, например, 400d1a36-63d5-496d-a54d-a57c2632f4ae.htm.

Посмотрел, но ничего не понял, видимо надо сравнивать с оригиналом. Ну значит какой-нибудь тэг, типа b или i - были удалены при ручном переводе. При моей системе такое невозможно принципиально, т.к. рухнула бы вся разметка. Можно будет протестировать процент несоответствия и если доля таких файлов невелика, поправить вручную. Однако, если как ты утверждаешь, в процессе перевода удаляется тэг, то тут имхо задница полная... согласен.

Ещё может быть несоответствие, связанное с наличием широкого символа первой строкой файла. Я его удаляют, т.к. фокс не может его преобразовать и заменяет знаком вопроса.

В общем эту дискуссию надо завершать: линки не переводим, титулы и индексы заменяем по желанию заказчика, всё остальное оставляем на совести переводчиков.

With best regards, GM.




------------------
Ratings: 0 negative/0 positive

Re: Вопрос однообразия
Timo

Сообщений: 210
Откуда: г Волгоград
Дата: 02.11.05 19:28:35
Добрый вечер, Лариса. Привет, GM.
О. Бендер>>Дисcкуссия продолжается?
Лариса, мету перьями своей шляпы пол перед вашими ногами. Вру, конечно. Нет у меня ни перьв, ни шляпы. Но, всё равно, я очень рад, что почтили Вы нас Вашим вниманием.
GM>>c помощью которого, я перевёл всё, что уже перевёл
GM, похоже, ты скушал много собак по технологиям перевода. Поделись.



Отредактировано (02.11.05 21:34)


------------------
Ratings: 0 negative/0 positive

Re: Вопрос однообразия
Лариса
Автор

Сообщений: 398
Откуда: Calgary
Дата: 03.11.05 00:30:26
Timo писал(а):
Цитата:
... Но, всё равно, я очень рад, что почтили Вы нас Вашим вниманием....

Ну что Вы, что Вы!

Я посты часто читаю и беру во внимание все ваши пожеления. [sm026]

IMHO к полному единообразию мы все равно не придем, т.к. каждый человек уникален в своем роде. Даже читая исходный хелп, видно, что его писАли разные люди. А стадатные тэги можно бы вообще не переводить, т.к. они - привычные аттрибуты каждого топика.
Ratings: 0 negative/0 positive

Re: Вопрос однообразия
JS

Сообщений: 12127
Откуда: Эстония
Дата: 03.11.05 09:15:59
Тимо!
Все гораздо проще, если работать с файлами как DOM.
Просто как пример

Заготавливаем фразы.
к примеру

local lcCollapseAll, lcExpandAll
lcCollapseAll ="Свернуть все"
lcExpandAll = "Развернуть все"

Теперь надо транслировать их в Unicode c помощью STRCONV()
Надо разобраться с русскими локалями


loInetApp = Createobject('InternetExplorer.Application')  
  loInetApp.Navigate('имя файла справки')  
  loDocument=loInetApp.Document  
  loLabel=loDocument.getElementById("collapseAllLabel")  
  loLabel.innerText=lcCollapseAll  
  ....  
    
 * разбираемся со всеми остальными в той же манере  
    
  ...  
    
 * получаем html текст справки  
  lcFileHTMLText=loDocument.documentElement.outerHTML  
    
 * перегоняем его в файл  
  =STRTOFILE(lcFileHTMLText,"имя файла справки'")  
    
 * берем следующий файл  
 * и так далее  




------------------
Knowledge is better than ignorance!
Website: juri.foxhelp.eu
Ratings: 0 negative/0 positive

Re: Вопрос однообразия
Timo

Сообщений: 210
Откуда: г Волгоград
Дата: 03.11.05 14:42:28
JS, спасибо за совет и внимание.
Ratings: 0 negative/0 positive

Re: Вопрос однообразия
Лариса
Автор

Сообщений: 398
Откуда: Calgary
Дата: 03.11.05 22:10:29
Hi All,

Так что, может пока оставлять эти тэги непереведенными, а потом, когда примем окончательное решение, их программно переведем?
Ratings: 0 negative/0 positive



Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 9 of63 medstrax alex; Taran  (Гостей: 5)

23.01.2021 13:06:41 exec: 0.15
Mem: 1.294 Mb

© 2000-2021 Fox Club 
Яндекс.Метрика