:: Русский Help
Re: Вопрос однообразия
Timo

Сообщений: 210
Откуда: г Волгоград
Дата регистрации: 27.05.2005
Привет, 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
Откуда: г Волгоград
Дата регистрации: 27.05.2005
Пардон. Только отправил, как заметил ляп. Поправился.
Ratings: 0 negative/0 positive
Re: Вопрос однообразия
Timo

Сообщений: 210
Откуда: г Волгоград
Дата регистрации: 27.05.2005
Предпоследняя версия.
Ratings: 0 negative/0 positive
Re: Вопрос однообразия
GM

Сообщений: 145
Дата регистрации: 01.08.2005
Пожалуй предобработка, которую ты предлагаешь невозможна, уже много переведено. Если мы откажемся от использования 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
Откуда: г Волгоград
Дата регистрации: 27.05.2005
>>Так как количество тэгов, до перевода и после, не меняется, то каждому номеру mline сырца соответствует тот же номер mline перевода

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



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


------------------
Ratings: 0 negative/0 positive
Re: Вопрос однообразия
Лариса

Сообщений: 398
Откуда: Calgary
Дата регистрации: 18.10.2001
2GM

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




------------------
Listen and forget. Read and remember. Do and understand.
Ratings: 0 negative/0 positive
Re: Вопрос однообразия
GM

Сообщений: 145
Дата регистрации: 01.08.2005
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
Откуда: г Волгоград
Дата регистрации: 27.05.2005
Добрый вечер, Лариса. Привет, GM.
О. Бендер>>Дисcкуссия продолжается?
Лариса, мету перьями своей шляпы пол перед вашими ногами. Вру, конечно. Нет у меня ни перьв, ни шляпы. Но, всё равно, я очень рад, что почтили Вы нас Вашим вниманием.
GM>>c помощью которого, я перевёл всё, что уже перевёл
GM, похоже, ты скушал много собак по технологиям перевода. Поделись.



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


------------------
Ratings: 0 negative/0 positive
Re: Вопрос однообразия
Лариса

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

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

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

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

Сообщений: 12264
Откуда: Эстония
Дата регистрации: 04.09.2000
Тимо!
Все гораздо проще, если работать с файлами как 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
Откуда: г Волгоград
Дата регистрации: 27.05.2005
JS, спасибо за совет и внимание.
Ratings: 0 negative/0 positive
Re: Вопрос однообразия
Лариса

Сообщений: 398
Откуда: Calgary
Дата регистрации: 18.10.2001
Hi All,

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


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

On-line: 1 (Гостей: 1)

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