Восточное Полушарие
Китайский форум => Китайский язык: письменность, изучение, диалекты, вэньянь => Китайский Язык: компьютеры, программы, шрифты => Тема начата: Сат Абхава от 23 Февраля 2005 15:57:36
-
Уважаемые господа!
Обращаюсь к вам в надежде найти доброго человека, готового помочь всем энтузиастам, изучающим иностранный язык самостоятельно. На форуме МИР ЯЗЫКА (http://yazyk.net/forum/viewtopic.php?t=36) в рамках некоммерческого форум-проекта "Вэньянь" я написал java-script для заучивания участниками проекта новых иероглифов. Также написан подобный скрипт для заучивания новых слов и выражений. Скрипты написаны с учетом их универсальности, т.е. они могут быть использованы при работе с любым иностранным языком (при возможностях юникода). Однако перевести эти скрипты в вид, позволяющий работать с ними на покетах, у меня не получилось - слишком слабы возможности покетного IE. Другими словами, необходимо написать программу (вернее, две программки-оболочки, которые могли бы работать с текстовыми файлами "баз" новых слов в юникоде по примеру функциональных возможностей уже написанных скриптов). Хотя программки эти представляются весьма элементарными, но сам я под покеты писать пока не умею. Бог знает, когда научусь, а время не ждет. Если есть добрые люди, готовые оказать помощь, то, пожалуйста, отзовитесь!
Спасибо за внимание!
-
А поподробнее бы ... Ну то есть что надо, как оно должно работать и т.д. :)
Ага ... скачал скрипт на яве ... то есть надо аналогичное? Это несложно, могу сделать ... Разве что надо бы договориться о формате исходных данных, ну то есть там в исходном варианте было что-то типа
—-
d[О]=['丙','bing3','название 3-го знака 10-ричного цикла']
—-
... просто для явы это вполне нормально, но скажем для чего-то вроде с/с++ несколько неудобен такой формат данных ... хотя впрочем можно и такой использовать
-
А поподробнее бы ... Ну то есть что надо, как оно должно работать и т.д. :)
Ага ... скачал скрипт на яве ... то есть надо аналогичное? Это несложно, могу сделать ... Разве что надо бы договориться о формате исходных данных, ну то есть там в исходном варианте было что-то типа
—-
d[О]=['丙','bing3','название 3-го знака 10-ричного цикла']
—-
... просто для явы это вполне нормально, но скажем для чего-то вроде с/с++ несколько неудобен такой формат данных ... хотя впрочем можно и такой использовать
Спасибо огромное за то, что Вы откликнулись. Действительно, ничего сложного в этой программе нет, нужно только знать, как к ней приложить руки. :)
Итак, давайте обсуждать, что нам нужно...
Интерфейс программы предельно прост. Если "спрятать" в опцию настроек все чек-боксы и текстовые поля с цифровыми данными, т.е. чтобы оптимально использовать имеющееся место, то мы фактически имеем три текстовых поля (1 - китайский, 2 - пиньинь, 3 - русский) и три кнопки: "start" (ее тоже можно вынести в опции, чтобы нажимать после того, как режим работы полностью установлен), "next", "answer", кнопку же режима работы через "поиск" тоже можно "спрятать" в настройки.
В идеале хотелось бы, чтобы в программу можно было подгружать текстовый файл "базы" (в юникоде), а также имелась возможность менять эти файлы (поскольку формат "текст-транскрипция-перевод" есть основной словарный формат для любого иностранного языка, т.е. хотелось бы сделать программу универсальной и для других языков). Формат текстовой базы можно избрать следующий:
китайский[знак табуляции]пиньинь[знак табуляции]русский[перевод строки]
китайский[знак табуляции]пиньинь[знак табуляции]русский[перевод строки]
китайский[знак табуляции]пиньинь[знак табуляции]русский[перевод строки]
и т.д.
Теперь по порядку работу.
Открываем программу. Загружаем в нее "базу" для работы. В настойках выставляем режим:
1) желательно, чтобы в настройках сразу после загрузки отображался весь предел "количества базы" (как это сделано в скрипте), например, от 1 до 50, теперь мы можем выставить тот предел, с которым мы хотим работать, например, с 20 по 30.
2) устанавливаем или нет опцию "random" - не все же нам работать с одним и тем же порядком данных;
3) определяем режим: "тест" или "поиск" (режим "тест" можно сделать по умолчанию)
4) выставляем опции, какую информацию отображать сразу, если все три поля - то автоматически работам в режиме "заучивания".
5) если какое-то поле (или два) оставляем чистым, то информация в них будет отображаться лишь после нажатия кнопки "ответ" - для самоконтроля. Кстати, с учетом возможности работы с другими языками (например, европейскими), можно также учесть режим "проверять ответ пользователя" (я его не реализовывал в скрипте), т.е. пользователь может сам вводить ответ в поле задания, а программа сверяет его с данными (например, при нажатии на дополнительную кнопку "check"). Но при работе с китайским языком этот механизм показал себя непродуктивным, т.к. при ответе на иероглифы проще (и полезнее!!!) просто писать их на листе бумаги, чем ковыряться стилусом по экрану покета, или, уж тем более, вводить по набору пиньиня. А потому основной механизм для китайского языка несколько специфический, что-то вроде "проверь сам себя": появляется задание, пишем на бумаге ответ (или произносим его), а потом нажатием кнопки проверяем его правильность.
6) в режиме "поиска" можно задавать условия, чтобы задания выбирались лишь в соответствии с ними (это реализовано в скрипте), например, выбрать все задания, в графе русского языка которых есть слог "ма", а в пиньине есть слог с первым тоном "1", и т.д. После выбора этих заданий дальше работа продолжается в режиме нормального теста.
Еще важно предусмотреть удобство работы по "одной кнопке" (энтэр), это тоже реализовано в скрипте. Очень неудобно тыкаться стилусом. Поэтому в зависимости от выбранного режима работы (количества сразу отображаемой информации) реализован механизм активации кнопок: только "некст" (если работа идет в режиме заучивания), или попеременного "некст"-"ансэр" (если работа идет в режиме "самоконтроля"). С добавлением режима "проверить" и кнопки "чек" последовательность можно сделать "некст"-"чек"-ансэр" (если будет желание, то можно еще в этом режиме ввести учет правильных и неправильных ответов в числовом выражении).
Вот, собственно, и все премудрости.
Во второй оболочке (под иероглифы) желательно реализовать возможность установки размера шрифта на каждое из полей (это и первой программе не помешало бы), т.к. на начальном этапе учащимся достаточно сложно различать мелкий шрифт иероглифов. К тому же, для второй программы потребуется еще одно текстовое поле - "индекс иероглифов" (в этом поле будет появляться информация об иероглифе, например, в формате: фонетик — ключ — добав. кол-во черт — общее кол-во черт (или что-то в этом роде). Эта информация крайне важна при работе в режиме задействования поиска, т.к. позволит составлять схемы повторения иероглифов с различными условиями: то всех иероглифов с общим ключом, то всех иероглифов одного фонетического семейства и т.д.). Формат данных может быть прежний, лишь с добавкой еще одной колонки:
китайский[знак табуляции]индекс[знак табуляции]пиньинь[знак табуляции]русский[перевод строки]
китайский[знак табуляции]индекс[знак табуляции]пиньинь[знак табуляции]русский[перевод строки]
китайский[знак табуляции]индекс[знак табуляции]пиньинь[знак табуляции]русский[перевод строки]
и т.д.
Чтобы было понятнее, я готов написать скрипт и под этот вариант. :)
Также сразу хочется попросить весь интерфейс делать на английском, а поля можно вообще никак не называть (всё и так понятно), чтобы не сбивать тех, кто будет работать с другими языками...
Остальное - на Ваше творческое авторское усмотрение... Я и без того боюсь, что от Вас слишком многого хочу...
Еще раз огромное Вам спасибо!
-
Во! Еще забыл...
Чисто для удобства восприятия. В скрипте реализована разбивка данных по абзацам (если, скажем, есть несколько чтений и несколько значений), например:
китайский[знак табуляции][пробел]I.[пробел]пиньинь1[пробел]II.[пробел]пиньинь2[знак табуляции][пробел]I.[пробел]1.[пробел]русское значение1[пробел]2.[пробел]русское значение2[пробел]II.[пробел]1.[пробел]русское значение1[пробел]2.[пробел]русское значение2[пробел]3.[пробел]русское значение3
При обработке с учетом требуемого формата римских цифр на пиньинь и римских и арабских цифр - на русские значения, в идеале хотелось бы получить отображение в поле пиньиня в виде:
I. пиньинь1
II. пиньинь2
А в поле русского перевода под ним данные в виде:
I.
1. русское значение1
2. русское значение2
II.
1. русское значение1
2. русское значение2
3. русское значение3
Так с первого же взгляда сразу видно, какие значения к какому чтению относить...
-
Я, в свою очередь, все же с горем пополам "добился" от покетного Эксплорера какого-то результата, правда, это всё еще "на грани фола". Набросал тут скрипт на отработку сочетаний, сделал "базу" наспех из того, что было под рукой. У меня после долгих мучений отладки заработало. Попробуйте на своих покетах.
Скрипт сочетаний можно скачать здесь: chin_phrases_PPC.rar (http://yazyk.net/sat/scripts/chin_phrases_PPC.rar)
Можете взять его в качестве образца для программы.
Вообще, измотал меня этот покетный Эксплорэр в конец. :) Мало того, что "кастрированный" в квадрате, так еще такой "нежный" и "непредсказуемый", что даже поведением в задокументированных возможностях - бабушка на двое гадала: "здесь играем, здесь - не играем, здесь - жирное пятно, это мы рыбу вчера заворачивали" (с)... ;D К счастью, удалось настроить в реестре опцию сообщения об ошибке. Кое-что по "подсказкам" получилось отловить (но, к сожаоению, не всё). Сам процесс расширения "базы" очень хлопотный. Заключается в несколько этапов:
1. Сначала пишется "база" по тому формату, что я Вам написал выше.
2. Потом я загоняю ее в специально написанный для форматирования скрипт, чтобы получить отформатированный текст массива.
3. Затем открываю ворд-файл с собственно "скриптом сочетаний" и добавляю в него базу в специально отведенное место в конец файла.
4. Сохраняю этот файл как "кодированный текст" (UTF-8) с расширением .htm
5. Копирую полученный htm-файл на покет.
Пробовал подключать к скрипту "базу" в виде внешней библиотеки (файлом .js), но покетный ИЕ при считавании ее почему-то глючит, работать отказывается. Закономерность в этих глюках мне найти не удалось. А если "базу" вписывать в тело самого скрипта, то заработал (во всяком случае, с количеством в 112 данных). Сколько он сможет одолеть, пока не знаю. Я тут не так давно скритик наладил по переводу с трад--упр. (туда-сюда) под покетный вариант. Так этот скрипт без проблем выдержал массив в 2514 данных (правда, данные предельно короткие: упр.--трад. по одному иерогу. Вроде, глюков пока не наблюдал. Сдюжит ли и этот на подобный объем, сказать сложно...
И при всем при этом нет никакой гарантии, что с расширением "базы" не произойдет какой-то сбой. Вот и сидишь потом, вылавливаешь дебаггером все покетные капризы (а на десктопе всё и так работает). :) Одним словом, муторно это всё (и явно не для новичков). А если Ваша программа заработает сразу с текстовым файлом "базы", то пополнять ее они смогут прямо "на лету", на покетах, любым текстовым редактором с поддержкой юникода.
-
Хм... Вроде понятно стало... кажется... ;D Раза три прочитал ;D
в общем дело несложное, только время надо ... Если получится - на неделе сделаю первую программку ...
Насчет базы для слов - я пока попробую такую - текстовый файл - в ucs-2 (более удобно для использования чем utf-8, хотя размер конечно растет), на одно слово - одна строка в файле, вида:
слово [транскрипция] /перевод 1/перевод 2/ ... /перевод n/
ну то есть для примера:
丙 [bing3] /название 3-го знака 10-ричного цикла/
Почему в таком виде - просто потому что есть кое-какой софт для покета, который я делал, уже использующий такой вот формат.
-
Хм... Вроде понятно стало... кажется... ;D Раза три прочитал ;D в общем дело несложное, только время надо ... Если получится - на неделе сделаю первую программку ...
Спасибо! Лучше, наверное, сначала сделать программу для слов и сочетаний (образец я уже выложил). А по программе для иероглифики у меня родилась еще одна мысль. Я все свои мысли "заскриптую" и выложу в качестве образца, а Вы уже решайте, что возможно, а что нет.
Насчет базы для слов - я пока попробую такую - текстовый файл - в ucs-2 (более удобно для использования чем utf-8, хотя размер конечно растет), на одно слово - одна строка в файле, вида:
слово [транскрипция] /перевод 1/перевод 2/ ... /перевод n/
ну то есть для примера:
丙 [bing3] /название 3-го знака 10-ричного цикла/
Почему в таком виде - просто потому что есть кое-какой софт для покета, который я делал, уже использующий такой вот формат.
Кодировка ucs-2, конечно, удобнее. Это я вынужденно к utf-8 обращаюсь, т.к., как я понял, покетный Эксплорер другого выбора для юникода не оставляет.
А вот по поводу предложенного Вами формата у меня есть другая точка зрения. Он мне не кажется удобным, т.к. испозовать программу можно ведь не только для данных "китайский--пиньинь--русский", но и как угодно наоборот, и даже сразу для связки с тремя языками, например, "китайский--английский--русский". Если бы формат привязки данных к текстовым полям был более "независимым" (например, столбцы, разделенные знаком табуляции), то и ориентироваться в составлении базы под что угодно было бы проще. А иначе придется постоянно держать в памяти, что помещать между "[]", что от чего отделять знаком "/", и т.п. Это не очень удобно, и, наверное, снизит степень универсальности программы. Но раз так удобнее Вам, то вопрос снимаем. Как-нибудь подстроимся под Ваши задачи (может, скрипт какой напишу, чтобы он форматировал в предложенный Вами вид то, что пользователь сначала будет набирать с табуляциями). Как говорят, "дареному коню зубы не смотрят"... :)
Кстати, если не секрет, что еще за программы Вы уже писали под покет, да еще с такими "словарными задачами"?
-
Кстати, если не секрет, что еще за программы Вы уже писали под покет, да еще с такими "словарными задачами"?
Извините, что влезаю. Вот, за chamine отвечу:
http://chamine.ru/sha/soft/ppc.php
Просто хочу обратить Ваше внимание на то, что подобная программка на C++ с открытыми и "хорошо откомментированными" (по словам автора) исходниками уже давно имеется. Правда, программа это разработана для японского.
http://www.physics.ucla.edu/~grosenth/jfc.html
Стоит взглянуть. Формат - UTF-8, текстовые поля могут быть разделены либо пробелом, либо знаком табуляции, многие функции, о которых говорит Sat Abhava, поддерживаются. Неоднократно использовал данную программку в переполненных токийских электричках, держа покет одной рукой, и манипулируя листами большим пальцем той же руки. Вот здесь два простеньких скриншота (сейчас уже вышла новая версия, и интерфейс немного изменился):
http://polusharie.com/index.php/topic,2619.msg95994.html#msg95994
И тут уже мой своекорыстный вопрос к chamine, как к знатоку покет-программирования и, вообще, кода. Хотя программа и работает с юникодом, она отображает русские буквы так, как они выглядят в японских кодировках (видно на скриншоте), и никакие подстановки шрифтов не помогают. Поскольку исходники открыты, возможно ли это дело подправить в исходном коде и откомпилировать программу заново? Я лично и многие изучающие японский были бы ужасно благодарны за такой фикс. Сам автор программы, к сожалению, на данном этапе не заинтересован в подобных изменениях. :(
-
И тут уже мой своекорыстный вопрос к chamine, как к знатоку покет-программирования и, вообще, кода. Хотя программа и работает с юникодом, она отображает русские буквы так, как они выглядят в японских кодировках (видно на скриншоте), и никакие подстановки шрифтов не помогают. Поскольку исходники открыты, возможно ли это дело подправить в исходном коде и откомпилировать программу заново? Я лично и многие изучающие японский были бы ужасно благодарны за такой фикс. Сам автор программы, к сожалению, на данном этапе не заинтересован в подобных изменениях. :(
Снимаю вопрос. Договорился с автором. На полном ходу идет отладка и тестирование временного фикса. В дальнейшем запланирована переделка программки в тру-юникод! :)
-
Вообще это кстати странно - у меня в программах русские буквы получались только нормального размера ... Насколько я знаю в Windows Mobile все элементы, кнопки, меню, поля ввода и т.д. юникодные изначально и других там просто быть не может ...
-
Вообще это кстати странно - у меня в программах русские буквы получались только нормального размера ... Насколько я знаю в Windows Mobile все элементы, кнопки, меню, поля ввода и т.д. юникодные изначально и других там просто быть не может ...
Вот, объяснение автора программы:
JWPce/JFC internally use EUC encoding, which is tied directly to the Japanese JIS encoding system.. At the time these programs were first created UNICODE was not even conceived of yet. EUC code space does not normally provide for any other language other than English and Japanese. There are in the JIS character set, fixed-width ASCII, fixed-width Cyrillic, and fixed-width Greek character sets. When UNICODE was added to both programs, it was added by converting text between an extended EUC code and the UNICODE format. Normally this provides for only one nationality, not may an UNICODE would normally permit. In any case when Cyrillic or Greek characters were encounter, JWPce/JFC were converting them to fixed width JIS characters. This made sense on an English, Spanish, French, etc. machine but not on a Greek or Russian system. This must cause problems using JWPce on a Cyrillic (or Greek) machine. In these cases typing text should work correctly, but pasting text from a UNICODE program would cause the text to turn into fixed width characters.
После теста нескольких промежуточных вариантов он выслал мне окончательно профиксенные программки (JWPce и JFC), где, для того чтобы русский текст отображался нормально, достаточно выставить в опциях самой программы Кириллическую кодовую страницу для ASCII текста (закладка "Advanced").
Программа, скорее всего, не сразу появится на его сайте. Вот, если интересно, прикладываю саму программку (для Arm и выше). Загрузив, нужно поменять расширение с .mpg на .zip (т.к. форум не принимает архивов и экзешек).
-
Сорри Сат, написание софта сильно тормозиться внешними факторами ;D
Но кое-что вышло ... пока черновой недоделанный вариант, только для WM 2002/2003, ARM/XScale
http://chamine.ru/shared/wmcoach.zip
1. Скачать, распаковать куда-либо в каталог на КПК.
2. Там будет 3 файла: wmcoach.exe - сам исполняемый файл, config.cfg - файл конфигурации, mydict.ced - файл словарной базы.
3. База - текст в UCS-2. Формат строк: "слово [транскрипция] перевод". ПОСЛЕДНЯЯ СТРОКА НЕ ДОЛЖНА БЫТЬ ПУСТОЙ!
4. Запустив программу выскочит (я надеюсь) следующее окно (см. картинку 1). (Предварительно может последовать предупреждение что нету индексного файла - это нормально, она попытается его создать. Для каждой базы слов должен быть индексный файл для облегчения и ускорения навигации по строкам файла. Программа должна создать такой файл при его отсутствии, либо при ручном изменении файла словарной базы).
5. Кнопка "поиск" (первая слева вверху) - там работают пока только первые две опции, то есть выбор всех слов, либо выбор интервала. (см. картинку 2).
6. Кнопки "вперед" и "назад" - соответственно показывает следующую карточку, либо откатывается на первую из выбранных. (Можно вместо тыкания стилом - нажимать кнопки клавиатуры "вперед"/"назад")
7. Кнопка "книжка" - редактирование словарной базы - пока не работает
8. Кнопка "свойства" - разнообразные свойства: random - будем перемещаться случайно по выбранному диапазону, show word/transcription/translation - соответственно будет показывать либо прятать слово/транскрипцию/перевод - если тут выбраны все пункты - тогда при нажатии "вперед" будет показано след. слово, а если какого-то пункта не хватает - тогда на первом нажатии будут показаны все поля, а только на след. нажатии будет показано след. слово, пункт fonts - выбор шрифтов и размеров для показа слова, транскр. и перевода.
9. Внизу есть тоже кнопка (на картинке на ней написано mydict.ced - показывает название текущего словаря, а также на нее можно нажать чтобы выбрать другой словарь (файлы должны быть в вышеописанном формате, с расширением .ced и лежать в каталоге программы).
...
Софт может глючить ... говорите короче что не так и чего бы хотелось ...
Да ... и еще ... поскольку мой КПК изначально китайский и содержит шрифты, ввод и т.д. - то даже и не знаю как софт будет работать с "некитайскими" КПК, ну то есть с теми у кого установлено нечто вроде Monster Chinese или CE-Star ... кто запустит этот софт - скажите пжл на каких моделях КПК он заработал
-
На моем японском покете (Toshiba Genio e550D, японская WM 2003, проц. PXA255) все прекрасно работает! Никаких специальных китайских шрифтов и систем ввода не стоит, однако иероги в приложенном словарике показывает правильно. С японскими словарями тоже никаких проблем (см. картинку).
Подобные программки можно совершенствовать до бесконечности. Хотелось бы, чтобы была возможность отправить карточку, которую не удалось вспомнить/запомнить, в конец списка, или чтобы она снова показалась через несколько ходов. С нетерпением жду возможности редактирования словарной статьи, как и задумано.
А так, весь необходимый минимум уже имеется – красивая, простая и функциональная программа.
Уж, извините, что я опять вперед Сат Абхава влезаю, пока он борется на форумных баррикадах за независимость Тайваня и традиционные иероглифы. :)
Но эта прога действительно хороша не только для китайского.
-
Ага, нашел одно слабое место.
Сейчас в режиме Random некоторые карточки вылезают помногу раз (причем, часто 2 раза подряд), а некоторых ждешь недождешься. Хорошо бы задать для Random такой алгоритм, чтобы раз показавшись, карточка не показывалась больше, пока не будет пройден весь сет. Ну, и предыдущая просьба о возможности отправить незапоминающуюся карточку в конец списка или вперед на несколько ходов остается в силе.
-
угумс ... ясно ... а так сам интерфейс-то работает? ну там например кнопки в диалоговых окнах за границы не вылазят?
-
С интерфейсом все отлично!
На мой непривиредливый вкус и разумение. :)
-
Сорри Сат, написание софта сильно тормозиться внешними факторами ;D
Классно! Работает - СУПЕР!
Random подправить, чтобы дубликатов не выдавал (этот алгоритм без дубликатов реализован в скрипте, если возникнут вопросы, как я его сделал, то расскажу), - ВООБЩЕ БУДЕТ ЗАМЕЧАТЕЛЬНО.
А еще вопрос. Можно ли и "поиск" и по первой строке данных (т.е. иероглиф) сделать?
-
Random подправить, чтобы дупликатов не выдавал
А еще вопрос. Можно ли и "поиск" и по первой строке данных (т.е. иероглиф) сделать?
Пробуйте новую версию ... Кое-что подправил ... Random вроде теперь нормально работает ... кажись ::)
Еще работает добавление слов в словарную базу (и изменение старых тоже)
Появилась кнопка "обновить" - ничего особенного, просто обновляет экран
—-
Что НЕ работает (ну и что хочется сделать):
Одна фишка - после редактирования файла базы программой - он может потерять первые два байта 0xFEFF - признак юникодного текстового файла (хотя сам остается таковым)
Удаление слов из словарной базы
Выбор записей по слову/значению/переводу
Отмечание плохозапоминаемых слов чтобы после окончания прохода по выбранным - затем показывать опять их
Сохранение настроек поиска
... в общем это позже сделаю
-
Пробуйте новую версию ...
Откуда качать новую версию?
-
Sat Abhava, качать оттуда же, откуда и старую, т.е по той же ссылке. :)
Спасибо большое, chamine!
Я уже влюбился в эту софтину. Немного поковырялся с новым файлом, и вот что нашел:
1) С Random, видимо, еще поработать придется. Вот, например, что получается с сетом в 19 карточек за 19 проходов:
0-1-17-18-19-0-14-0-13-5-9-10-6-7-11-18-12-8-4. Подряд одни и те же карточки уже не идут, однако, как видно, «0» встретился 3 раза, а какие-то числа не показались вовсе. Не понятно, когда закончился весь сет – можно крутить до бесконечности. По идее, Random должен показать все 19 карточек за 19 проходов без повторов и вернуться опять к первой (нулевой) на 20-м проходе.
2) В третьем пункте remarks написано «You can use 'right' and 'left' hardware buttons to roll forward or back». На самом же деле мы перемещаемся не вперед-назад, а вперед и в начало сета.
3) Что выгодно отличает данную программку от других подобных, это то, что все надписи показываются на одном «белом листе» без всяких узких рамочек и полей. Я, например, часто использую такие программы для запоминания не только отдельных слов, но и целых фраз и предложений. В твоей программе это очень хорошо получается, если оставить поле в квадратных скобках пустым и записать в .ced файле только фразу и перевод (впрочем, можно дать и транскрипцию для каких-то слов во фразе). Иногда встречаются довольно длинные предложения. Так, вот, думаю, что программка смотрелась бы еще замечательнее, если бы была возможность переключиться в Full screen mode.
4) Обнаружил интересную фичу. У меня к одному предложению было 2 варианта перевода, разделенных «|». Так предложение идущее после «|» оказалось с нового абзаца и более светлого (серого, что ли) цвета. Это какая-то фича, или неожиданно так получилось? Если знаком «|» можно разбивать текст на абзацы, то так можно отделять, например, разные переводы одного слова.
5) Сейчас русские слова при переносе строки разделяются где попало. Хорошо бы где-нибудь в будущем иметь ward rap для русских слов.
Слишком много всего написал, но мне действительно эта прога ужасно понравилась. :)
-
Еще одна мелочь. На моем скрине для предыдущей версии видно «Index: 3 of 20», а сейчас для той же карточки будет «Index: 3 of 19». На самом же деле в сете так и осталось 20 карточек. Видимо, счет ведется не с «1», а с «0». Можно ли сделать, чтобы счет начинался с «1»? То же и при задаче интервала: не 0-20, а 1-20.
Я понимаю, что счет в большинстве языков программирования ведется с «0», но это не совсем удобно при подсчете таких «физических» единиц, как карточки. :)
-
Еще 2 мелочи. :)
Вроде бы в предыдущей версии можно было перемещаться кнопками «Up» и «Down» по тексту карточки, полностью не умещающемуся в окне. Даже если я ошибаюсь на счет предыдущей версии, хорошо бы было иметь такую возможность.
После того, как я один раз отредактировал (добавил) статью в один словарик, при переключении между словарными базами программа стала часто выдавать сообщение: «Can't open dictionary file» и виснуть. Удалил все файлы, кроме самой программы и добавил словарные базы вновь (на этот раз без «редакции», т.е. с первыми 2-мя байтами), но феномен не исчез...
Все, хватит. Здесь остановлюсь и буду ждать следующей версии. :)
-
Еще раз обновил ...
+ разнообразных глюков стало меньше
+ можно удалять слова
+ теперь самая первая строка в файле словаря - информационная, она не будет использоваться для показа
+ random перенесен в "поиск"
+ появилась кнопка "назад" для перехода на предыдущее слово
ссылка для скачивания прежняя, также можно посматривать сюда http://chamine.ru/sha/soft/ppc.php
зы: насчет "серого цвета" после знака | - это такая "фича" ... (поскольку я кусок кода взял с пред. программы - там это использовалось как показ "примеров") ... а также - символы [_br_] (без знаков подчеркивания) и \n будут заменены на переводы строк при показе.
-
Прекрасно! Слов нет!
зы: насчет "серого цвета" после знака | - это такая "фича" ... (поскольку я кусок кода взял с пред. программы - там это использовалось как показ "примеров") ... а также - символы [_br_] (без знаков подчеркивания) и \n будут заменены на переводы строк при показе.
Надеюсь, все это будет поддерживаться и в последующих версиях программы. Можно даже добавить информацию в хелп, который в About. :)
+ теперь самая первая строка в файле словаря - информационная, она не будет использоваться для показа
Очень хотелось бы иметь также возможность вставлять комментарии (строки, начинающиеся с чего-нибудь вроде того же "#") в любом месте файла, что будет весьма удобно для пересмотра и редактирования больших баз на PC.
И вопрос. Что это за звездочка в квадратных скобках после номера карточки в индексе появилась?
Еще раз большое спасибо! :D
-
хм ... вообще конечно хочется переделать там кое-что ... а то такое подозрение что программа криво работает с функциями редактирования файла ... надо будет выбросить использование индексных файлов ...
-
Очередное обновление ...
+ Выброшено использование индексных файлов, теперь больше не нужны .idx
+ Поиск работает по всем пунктам
+ Файл словаря может содержать пустые строки и строки с комментариями (начинаются со значка #) в произвольных местах
зы: вверху где надпись Index: 4 [ * ] of 15 - значит текущее слово за номером 4, всего слов 15, * - сейчас выбраны все слова, может быть например Index: 4 [1-10] of 15 - значит выбраны с первого по десятое, или Index: 4 [3 text] of 15 значит выбрано 3 слова поиском по тексту.
-
Ну, все! Дальше уже не знаю чего и попросить. :)
Разве что:
а) Возможность в Query окна редактирования просто ввести номер карточки, чтобы получить ее содержимое, и кнопки «back» и «forword» в том же окне, чтобы можно было легко перемещаться от карточки к карточке при редактировании.
б) Возможность копировать содержимое статьи (часть статьи, слово) в буфер обмена.
в) Либо word wrap для русских слов, либо перенос, как в HaaliReader'е (исходники открыты).
По-моему, эту программу можно уже где-нибудь заявить, как прекрасное пособие для изучающих иностранные языки (не только древнекитайский)! :)
-
Ну, все! Дальше уже не знаю чего и попросить. :)
Разве что:
а) Возможность в Query окна редактирования просто ввести номер карточки, чтобы получить ее содержимое, и кнопки «back» и «forword» в том же окне, чтобы можно было легко перемещаться от карточки к карточке при редактировании.
б) Возможность копировать содержимое статьи (часть статьи, слово) в буфер обмена.
в) Либо word wrap для русских слов, либо перенос, как в HaaliReader'е (исходники открыты).
По-моему, эту программу можно уже где-нибудь заявить, как прекрасное пособие для изучающих иностранные языки (не только древнекитайский)! :)
Да, с возможностью копировать из тела карточки в буфер было бы очень неплохо.
И еще у меня есть одно маленькое предложение. Когда ведется работа "от предела и до предела" (например, от 1 до 20), хотелось бы, чтобы, прогнав карточки предела полностью (т.е. показав 20 карточек подряд или в случайном порядке), программа сообщала, что работа с выбранным пределом закончена - это можено сделать введением "алерта", при нажатии на который программа заново "перетасовывает" установленный предел и опять начинает с первой карточки в колоде (как, например, сделано в скрипте). Эту функцию хочется иметь потому, что тогда проще контролировать себя - знаешь, что этот отрезок материала уже проработал, можно повторить еще раз, или перейти на другой. А сейчас программа об этом не сообщает, работает по замкнутому кругу, вот и не знаешь, когда весь объем намеченных работ уже прогнал.
А в остальном - просто СУПЕР! Очень удобно, всегда под рукой, легко создавать свои базы. Кстати, я под Ваш формат базы уже скриптик отладил - переводит формат с табуляциями в формат с [].
-
в) Либо word wrap для русских слов, либо перенос, как в HaaliReader'е (исходники открыты)
Это будет (для меня) очень непросто, в программе (для облегчения моей лени) используется кусок IE для отображения... и его поведение только майкрософту известно...
Остальное сделать можно.
чтобы, прогнав карточки предела полностью (т.е. показав 20 карточек подряд или в случайном порядке), программа сообщала, что работа с выбранным пределом закончена
Это тоже несложно.
зы: очень рад что кому-то мой софт чем-то помог :)
-
Ух-ты, один прокол заметил – интервал на единицу съезжает. Задаешь, например, интервал 10-20, а программа показывает с 11-й по 21-ю карточку. И в скобках после Use interval верхняя граница на одну карточку меньше общего количества карточек в сете.
А в остальном согласен с Sat Abhava – и в том, что "алерт" нужен, и в том, что программа - СУПЕР! :)
зы: очень рад что кому-то мой софт чем-то помог :)
А остальные просто еще не в курсе, что тут такая программа ценная получилась. Нужно нести это ЧУДО скорее в массы. :D
-
+ Несоответствие номеров индексов исправил
+ Добавлено копирование в буфер того что есть на экране
+ Добавлена опция "End of selection warning" - при ее установке программа будет предупреждать об окончании прохода по выбранным словам и при наличии случайной сортировки предлагать пересортировать слова.
Путь для скачивания прежний.
-
Если позволите, то я к вам с очередной новостью из своей "копилки ламера"... ;D
Подогнал еще один скриптик под новые задачи. Задачи несколько специфические - теперь в скрипте задействуется графика для отображения древних иероглифических форм. Скачать скрипт (с базой цзягувэнь-форм, составленной по книге Крюкова "Язык иньских надписей" активным участником нашей виртуальной языковой тусовки, уважаемым Яном) можно здесь: JiaGuWenCoach (http://yazyk.net/sat/scripts/jgwc.rar) (RAR-архив, 872 Кб).
Принцип работы скрипта остается тем же. Выглядит все это так:
(http://yazyk.net/sat/scripts/jgwc_shot1.jpg)
И вот подумалось мне (уж простите за такую наглость :)), что если у меня перестройка прежнего скрипта на новый лад заняла всего с полчаса, то вдруг и нашему уважаемому chamine-у не составит большого труда на базе уже имеющейся программы для покета сделать еще одну, аналогичную данному скрипту (т.е. под описанные задачи). Под такую программу уже можно будет и учебную базу графических форм различных периодов составлять. Извините, если я со своими навязчивыми предложениями уже всем надоел... :-[
-
еще одну, аналогичную данному скрипту (т.е. под описанные задачи). Под такую программу уже можно будет и учебную базу графических форм различных периодов составлять. Извините, если я со своими навязчивыми предложениями уже всем надоел... :-[
Сат, какие еще извинения :) Труда добавить просмотр картинок не составит. Но тогда придется хранить вместе с базой сами картинки (gif, jpg, bmp, png) ... ну и в тексте словарной базы их можно будет оформлять какими-нибудь значками ... скажем так:
—-
鮐 [tai2] рыба какая-то {tai2_1.jpg}
—-
... пойдет?
-
Сат, какие еще извинения :) Труда добавить просмотр картинок не составит. Но тогда придется хранить вместе с базой сами картинки (gif, jpg, bmp, png) ... ну и в тексте словарной базы их можно будет оформлять какими-нибудь значками ... скажем так:
—-
鮐 [tai2] рыба какая-то {tai2_1.jpg}
—-
... пойдет?
Конечно, пойдет! ДАЖЕ ЧУДНЕНЬКО ПОЙДЕТ!!! :D :D Только у меня сразу просьбочка, чтобы эти картиночки прога могла из отдельной папочки доставать (например, не {tai2_1.jpg}, а {img1/tai2_1.jpg}, т.е. чтобы не получалось, что все в одной куче, ну и в остальном хотелось бы, чтобы уже наработанные фичи предыдущей проги поддерживались... :)
-
Сделано. Должно показывать текст вида {path\image.ext} как картинку.
-
Сделано. Должно показывать текст вида {path\image.ext} как картинку.
Скачал... Очень классно... Но есть несколько "но":
1. картинка возможна лишь в последней графе - "перевод" - где она, вообще-то, не очень-то и нужна... :) Т.е. работает только вариант:
八 [ba1] восемь {img/ba.jpg}
А другие варианты не работают, как то:
八 {img/ba.jpg} [ba1] восемь
八 [{img/ba.jpg}] восемь
{img/bai1.jpg} [{img/ba.jpg}] восемь
и т.п.
Нельзя ли распространить функцию отображения картинок и на другие графы - "слово" и "транскрипция"? Это значительно расширило бы функциональность программы...
2. Давно хочу спросить у Вас, нельзя ли сделать допустимым перенос строк и выделение цветом не только в графе "перевод", но и в графах "слово" и "транскрипция"?
-
Присоединяюсь к двум последним просьбам Sat Abhava, равные возможности форматирования во всех трех полях значительно повысят ценность прграммы.
И попробую попросить еще один раз. Я понимаю, что делать перенос для русских слов весьма хлопотно, но неужели простой вордрап, когда фраза разрывается только по пробелам, так сложно сделать? Ведь в IE это тоже каким-то образом поддерживается.
Программа замечательная, но хотелось бы еще немного усовершенствовать. :)
-
Сорри, давно меня тут не было...
...
в общем картинки и выделение цветом теперь распространяются на все три поля.
По поводу переноса - тяжело :-\
-
Спасибо Большое! Тестим......
-
Сорри, давно меня тут не было...
...
в общем картинки и выделение цветом теперь распространяются на все три поля.
По поводу переноса - тяжело :-\
Вроде, всё работает! :) СПАСИБО ОГРОМНОЕ!!!
-
Нашел маленький баг... В колонке "транскрипция" по знаку "\n" не осуществляется переход на новую строку.
-
:-\ Ага ... было дело ... исправил :)
-
Уважаемый chamine!
В процессе применения Вашей программы в обучении языку, у меня возникла еще одна "шальная мысль" по усовершенствованию и расширению ее возможностей. :) Казалось бы, что уже и желать большего нечего, но вот очень не хватает одной фичи - возможности работать со звуком (в формате mp3). То есть идея остается та же, что и с текстами и графикой: нарезаются из звукового файла в маленькие файлики отрывки по отдельным словам (выражениям или предложениям - для наработки диктантов), по ним создается база диктантов в виде:
<001.mp3> [китайский текст 001] русский перевод 001
<002.mp3> [китайский текст 002] русский перевод 002
и т.д.
Это позволило бы отрабатывать не только зрительную память, но и слуховую.
Возможно ли добавление такой "звуковой" фичи в Вашу программу?
-
да ... можно вроде добавить и звук ... ну например также как и картинки только вместо jpg написать mp3 скажем или wav ну и на этом месте появится скажем иконка ткнув на которую программа этот файл воспроизведет ...
так пойдет?
единственная проблема (для меня) будет найти где-нибудь библиотеку для работы с mp3, а wav вроде сделать будет несложно ... щас пороюсь в интернете ... хм ...
-
да ... можно вроде добавить и звук ... ну например также как и картинки только вместо jpg написать mp3 скажем или wav ну и на этом месте появится скажем иконка ткнув на которую программа этот файл воспроизведет ...
так пойдет?
А сделать так, чтобы появлялась не просто иконка, а компактная панель самого проигрывателя (то есть ползунок и три кнопки - "стоп", "воспроизведение", "пауза"), нельзя? Ведь если всякий раз при проигрывании потребуется вызывать внешнее приложение, то это будет не очень удобно, да и время будет занимать на загрузку приложения.
единственная проблема (для меня) будет найти где-нибудь библиотеку для работы с mp3, а wav вроде сделать будет несложно ... щас пороюсь в интернете ... хм ...
Конечно, хотелось бы иметь дело не с wav, а с mp3. Сами понимаете, на покетах каждый байт на вес золота. Но если ничего не получится, то хотя бы с wav смастерить.
-
А сделать так, чтобы появлялась не просто иконка, а компактная панель самого проигрывателя (то есть ползунок и три кнопки - "стоп", "воспроизведение", "пауза"), нельзя? Ведь если всякий раз при проигрывании потребуется вызывать внешнее приложение, то это будет не очень удобно, да и время будет занимать на загрузку приложения.
Так ... в общем первые результаты обнадежили, играет и wav и mp3 встроенными в программу средствами, панель проигрывателя появляться не будет - чего-то не вышло "встроить" media player внутрь моего окна. На каждый термин можно повесить только один звук.
Теперь вот думаю что бы такое сделать в плане дизайна - ну скажем вверху добавить кнопки "старт" и "стоп", ну и если в данном термине будет обнаружена ссылка на звуковой файл - он проиграется и кнопки станут "активными" позволяя проиграть его еще раз или остановить ... вот ...
-
Положил (ссылка старая) пробную версию со звуком.
Звуковые файлы вставляются также как и картинки - скажем {zai.mp3} - если вставить несколько звуковых файлов на одну карточку - будет использован последний из них.
При отображении карточки - звук играет сразу. Вверху 2 кнопки - "пуск" и "стоп" - соответственно еще раз проигрывает или останавливает звук ...
что не работает: Опция "sounds" в меню свойств пока не работает (временно), кнопки управления звуком не становятся "серыми" когда собственно звука нету ...
-
Положил (ссылка старая) пробную версию со звуком.
Звуковые файлы вставляются также как и картинки - скажем {zai.mp3} - если вставить несколько звуковых файлов на одну карточку - будет использован последний из них.
При отображении карточки - звук играет сразу. Вверху 2 кнопки - "пуск" и "стоп" - соответственно еще раз проигрывает или останавливает звук ...
что не работает: Опция "sounds" в меню свойств пока не работает (временно), кнопки управления звуком не становятся "серыми" когда собственно звука нету ...
А возможно ли сделать так, чтобы звук проигрывался не автоматически, а лишь после нажатия кнопки? И еще можно ли добавить кнопку "пауза"?
-
Исправил, звук сейчас проигрывается только при нажатии на кнопку.
+ кнопки управления звуком становятся "серыми" если звуков нету (напомню еще раз - только .wav и .mp3)
+ они также становятся серыми если галочка "sounds" выключена в меню "настройки" - то есть программы игнорирует звуки напрочь в этом случае
+ если галочка "sounds" стала "серой" и не нажимается - невозможно инициализировать звуковые драйвера или что-то там еще - в общем облом тогда :( поскольку звуковые утилиты не мои - не знаю даже чем помочь.
! хм ... сорри - но изменился файл конфигурации - поэтому при запуске новой версии программы - "слетят" размеры и названия шрифтов и надо будет снова их установить в меню
-
Вопрос у уважаемым форумчанам. Сохранились ли у кого-нибудь мои скрипты, о которых я писал в этой теме и которые были выложены на форуме "Мир Языка"?
-
Вопрос у уважаемым форумчанам. Сохранились ли у кого-нибудь мои скрипты, о которых я писал в этой теме и которые были выложены на форуме "Мир Языка"?
Вопрос отменяю, нашел в своих бэк-апах. :)