LINUX.ORG.RU

translate 0.3

 


1

4

Состоялся релиз программы translate, делающей парсинг словарей stardict намного удобнее.

Улучшения:

  • настраиваемое цветовое оформление;
  • постраничный вывод.

>>> Подробности



Проверено: Shaman007 ()
Последнее исправление: DeadEye (всего исправлений: 3)

Ответ на: комментарий от evilface

О чём ты говоришь? Здесь в новостях оставляют информацию о выходе новых версий, только не всегда авторы оставляют новость. Тебе так и больше никак, придётся столкнутся с существующей реальностью, что твои хелло ворлды остаются непризнаными, а мои идеи в программах уже приносят пользу.

u0atgKIRznY5
() автор топика
Ответ на: комментарий от evilface
gcc -Wall -Wextra -Wpedantic -ansi -c main.c
main.c: In function ‘print_file’:
main.c:67:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  struct winsize ws;
  ^~~~~~
main.c:69:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  char *ptr;
  ^~~~
main.c:70:2: warning: ISO C90 forbids variable length array ‘line’ [-Wvla]
  char line[ws.ws_col + 16];
  ^~~~
main.c:74:2: warning: ISO C90 forbids variable length array ‘cfile’ [-Wvla]
  char cfile[length_file + 14];
  ^~~~
main.c:74:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
main.c: In function ‘more’:
main.c:89:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  static int setparams = 0;
  ^~~~~~
main.c:108:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
   char *key = calloc(1,sizeof(char));
   ^~~~
main.c: In function ‘process’:
main.c:130:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  char *target = calloc(128 ,sizeof(char));
  ^~~~
main.c:132:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  char line[1024];
  ^~~~
main.c: In function ‘parser’:
main.c:180:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  int inc = 0;
  ^~~
main.c: In function ‘found’:
main.c:368:5: warning: ISO C90 forbids variable length array ‘name’ [-Wvla]
     char name[end - start + 1];
     ^~~~
main.c:355:7: warning: unused parameter ‘typeflag’ [-Wunused-parameter]
   int typeflag, struct FTW *ftwbuf){
       ^~~~~~~~
main.c: In function ‘main’:
main.c:392:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  char *punct = cf->dirs;
  ^~~~
main.c: In function ‘getconfig’:
main.c:434:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  struct configs *cf = calloc(1,sizeof(struct configs));
  ^~~~~~
main.c:440:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  char line[255];
  ^~~~
main.c:458:4: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
    char *end = ptr;
    ^~~~
main.c:478:4: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
    char *end = ptr;
    ^~~~
main.c:493:4: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
    if((ptr = strchr(line,'='))!=NULL)
    ^~
main.c:496:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
     ptr++;
     ^~~
main.c:498:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
     char *end = ptr;
     ^~~~
main.c:514:4: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
    if((ptr = strchr(line,'='))!=NULL)
    ^~
main.c:517:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
     ptr++;
     ^~~
main.c:519:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
     char *end = ptr;
     ^~~~
main.c:534:4: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
    if((ptr = strchr(line,'='))!=NULL)
    ^~
main.c:537:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
     ptr++;
     ^~~
main.c:539:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
     char *end = ptr;
     ^~~~
main.c:555:4: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
    if((ptr = strchr(line,'='))!=NULL)
    ^~
main.c:558:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
     ptr++;
     ^~~
main.c:560:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
     char *end = ptr;
     ^~~~
main.c:575:4: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
    if((ptr = strchr(line,'='))!=NULL)
    ^~
main.c:578:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
     ptr++;
     ^~~
main.c:580:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
     char *end = ptr;
     ^~~~
main.c:595:4: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
    if((ptr = strchr(line,'='))!=NULL)
    ^~
main.c:598:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
     ptr++;
     ^~~
main.c:600:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
     char *end = ptr;
     ^~~~
main.c:615:4: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
    if((ptr = strchr(line,'='))!=NULL)
    ^~
main.c:618:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
     ptr++;
     ^~~
main.c:620:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
     char *end = ptr;
     ^~~~
main.c:635:4: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
    if((ptr = strchr(line,'='))!=NULL)
    ^~
main.c:638:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
     ptr++;
     ^~~
main.c:640:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
     char *end = ptr;
     ^~~~
main.c: In function ‘getcpath’:
main.c:659:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  struct stat st;
  ^~~~~~
main.c:664:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  char *nmdir = calloc(len,1);
  ^~~~


Ну да. Собирается. Зато как эффектно.

evilface ★★
()
Ответ на: комментарий от u0atgKIRznY5

Мне не нужно признание хелло-ворлдов. На то они такие и есть. : )
«Твоих идей» тут никаких нет. В принципе. Присваивать себе идею парсить словари — ну как-то совсем некрасиво. Тебе показали, что есть аналоги твоей программы. Тебе показали, что твоя программа никому не нужна при таком её качестве. И качество кода является частью качества программы, да, тут всё-таки программисты собрались. Чего тебе ещё надо?

evilface ★★
()
Ответ на: комментарий от u0atgKIRznY5

А ты не уточняешь, какой у тебя стандарт. Я беру тот, которого придерживаюсь последнее время сам. И да, без -ansi вывод не опустошается.

evilface ★★
()
Ответ на: комментарий от evilface

Я сделал то, что мне нужно было. Может кому-то будет нужно тоже. Про sdvc не знал.

Да и я в код внёс свои идеи, код выполняет всё хорошо. Последние изменения можно получить на github.com.

u0atgKIRznY5
() автор топика
Ответ на: комментарий от u0atgKIRznY5

Я зашел на github.com, но не пойму, где там найти твою программу. На главной почему-то нет никакого упоминания твоей утилиты((

yekka
()
Ответ на: комментарий от u0atgKIRznY5

Ну да, если выбрать gnu99, всё позволяющий, остаются только ругательства о коде не для людей. Молодец.

evilface ★★
()
Последнее исправление: evilface (всего исправлений: 1)
Ответ на: комментарий от u0atgKIRznY5

Что-то не получается:

$ make install
cp translate /usr/local/bin
cp: невозможно создать обычный файл «/usr/local/bin/translate»: Отказано в доступе
make: *** [install] Ошибка 1

yekka
()
Ответ на: комментарий от yekka

ну значит напиши

./configure --путь=[туда, куда права разрешают]
make
make install
А можешь make install вообще не писать, чтобы программа не копировалась из каталога никуда.

u0atgKIRznY5
() автор топика
Ответ на: комментарий от u0atgKIRznY5

make install сделан для «копирования» программ туда, куда показывает $PATH, чтобы можно было запускать просто по имени команды и, возможно, от любого пользователя. По-сути, «установки» в систему. То есть, советовать стоило «sudo make install» либо указать путём $HOME/bin (обычно оттуда тоже всё исполняется, но не видел, чтобы так делали).

А от убогого configure лучше избавься в пользу чего-нибудь вроде cmake. Заодно новое изучишь.

evilface ★★
()
Ответ на: комментарий от evilface

У меня нормальный configure. Если без опций запустишь, то путь установки будет /usr/local/bin. Если нехватает прав на установку, твои проблемы. Незнаешь как добавить к PATH, путь каталога с твоей программой, задавай вопрос на соответсвующих форумах. Делая сам configure, узнаю лучше о том как настраивать.

u0atgKIRznY5
() автор топика
Ответ на: комментарий от theNamelessOne

Я думал, они за пары сообщений в техразделы даются. Понятно, спасибо.

evilface ★★
()
Ответ на: комментарий от u0atgKIRznY5

Ну ладно. Я предложил как лучше, что делать — тебе решать. Проект, конечно, твой, можешь дальше писать ужасный код, отклонять пулл-реквесты и никого не слушать, но это не самый лучший путь, имхо.

Если бы я писал о чём-то своём на ЛОР, то куда-нибудь в толксы, а не в новости. И в первую очередь ради критики кода и подходов. Твои поделия до годных продуктов пока не дотягивают/ Надеюсь, ты когда-нибудь это поймёшь.

evilface ★★
()
Ответ на: комментарий от u0atgKIRznY5

не работает твоя опция:


$ ./configure --путь=$HOME/bin
$ make
$ make install
cp translate /usr/local/bin
cp: невозможно создать обычный файл «/usr/local/bin/translate»: Отказано в доступе
make: *** [install] Ошибка 1

yekka
()
Ответ на: комментарий от evilface

А ты не уточняешь, какой у тебя стандарт. Я беру тот, которого придерживаюсь последнее время сам. И да, без -ansi вывод не опустошается.

Госпади! Сдайте же наконец стандарт ANSI в архив! Так, все изучаем стандарт 2011 года. Только C11 и ничего другого!

anonymous
()
Ответ на: комментарий от evilface

Толкс это ты здесь развёл. А я в новости добавил, потому что вышла новая версия программы.

Твои поделия до годных продуктов пока не дотягивают/ Надеюсь, ты когда-нибудь это поймёшь.

Можешь не пользоваться этим, но программа работает. Да ты долго будешь делать аналог моей программы, не хочешь писать, потому что не умеешь, ты только комментарии умеешь оставлять. Если для тебя это было бы легко, ты бы без труда на (как ты говоришь) python'е быстро напишешь? Для тебя быстро это сколько ? Несколько дней? Или несколько минут? За сколько ты напишешь такую программу? Или ты уже вчера начал писать, и будешь спорить что не хочешь, а сам пишешь. Лень писать или думать? А я как раз бы проверил бы скорость работы, раз ты так уверен что на python у тебя лучше получиться. Я потом буду работать ещё над улучшениями в скорости работы, и так моя программа будет всегда быстрее твоей. А значит мои (по твоему негодные ) программы лучше твоих.

u0atgKIRznY5
() автор топика
Ответ на: комментарий от u0atgKIRznY5

translate.google.ru + память. Мне хватает. В консоли переводчик мне нафиг не сдался, там всё и так понятно. Следственно, ни твоя программа, ни аналоги, ни самописные велосипеды мне не нужны. Не делай вид, что не понимаешь о чём я, это слишком толсто.

evilface ★★
()
Ответ на: комментарий от evilface

Ну вот, не нужна и всё. А то пишешь тут какой у меня код. А у самого вообще никакого кода своего нет. У тебя вообще есть какие нибудь разработки?

u0atgKIRznY5
() автор топика
Ответ на: комментарий от u0atgKIRznY5

Да. Просто я не спешу как только оно заработало бежать писать новость на ЛОР. Мне это не интересно, по крайней мере пока.

evilface ★★
()
Ответ на: комментарий от evilface

А как ты хотел. Написать программу. Специально чего-то ждать? Или ты типа написал такой новую версию, - хм, итак, сразу не буду выкладывать, пусть она пока у меня на компьютере немного похраниться, а потом выложу в сети. Почему не сразу?

u0atgKIRznY5
() автор топика
Ответ на: комментарий от u0atgKIRznY5

Потому что оно есть в сети. )
Я спокойно развиваю что хочу в своих уютных тихих репах на гитхабе. Хочу — пишу, хочу — удаляю. Работает ≠ готово к массам. Мне нравится далеко не весь мой код. Я уж лучше сначала доведу это до состояния, когда уже всё действительно хорошо, спрошу у знающих людей, что можно поправить. Поинтересуюсь, нужно ли вообще оно кому-то или только мне. А если кто-то сочтёт потом это достойным главной — сами напишут.

evilface ★★
()
Ответ на: комментарий от evilface

Ну как знаешь. У кого ты спросишь, что она нужна кому-то, у людей по работе с населением? Главное чтобы было известно, кому понадобится, тот скачает.

u0atgKIRznY5
() автор топика
Ответ на: комментарий от evilface

битва с дураками(с) макар

не утруждайся, спорить со вторым пришествием Попова себе дороже. Человек видимо не знает основ проектирования ПО и просто на каком-то языке пытается реализовать инструмент который скорее всего кроме него кому-то будет нужен. Самопиар, потешить эго? ну пусть)) да и нам было весело.

akuma925
()
Ответ на: битва с дураками(с) макар от akuma925

Ну а другие стесняются чего то. У меня хотя бы настройки на русском языке. А у вас у всех скорее всего на английском. Это вы типа для американцов стараетесь? Или utf8 в два байта боитесь?

u0atgKIRznY5
() автор топика
Ответ на: комментарий от u0atgKIRznY5

У меня хотя бы настройки на русском языке. А у вас у всех скорее всего на английском

это, безусловно, вин. btw, «обЪяснительный» пишется через твердый знак.

дыркой на штанах ты тоже хвастаешься?

ananas ★★★★★
()
Ответ на: комментарий от evilface

ширма для троллинга

четыре говноподелки на гитхабе - вряд ли. чересчур шикарно для банального троллинга на лор-е

ananas ★★★★★
()
Ответ на: комментарий от ananas

Надо поменьше задумываться о теориях заговора.

evilface ★★
()

Вы бы лучше писали всё по русски. И на гитхабе и везде. Американцы пишут же на своём языке. Вы знаете американцов, который написав программу начал выкладывать описание и всё остальное на русском языке? Я например никогда о таком нигде не слышал. Наверное каждый сам решает для себя. Но я незнаю, что может побудить разработчика, который живёт в России, писать программы для российского пользователя, но на английском языке. Это что, типа хвастается что английский знает? Или вы так часто читали исходный код на английском, что тоже начали всё по английски писать. Все разработки так и будут наверное утекать на английском языке, и единственный кто начинает заполнять русскими программами, с русскими настройками, так это я. Вы можете последовать моему примеру, или остаться на американской стороне.

u0atgKIRznY5
() автор топика
Ответ на: комментарий от ananas

Чтобы потроллить на волне SJW-драм прошлого года, люди в фейкогитхабах и поболее создавали.

GoodRiddance
()
Ответ на: комментарий от u0atgKIRznY5

Но мой код нормальный. Главное работает

Нормальный — это как минимум удовлетворяющий вот этим сентенциям:

  1. Пишите код, исходя из того, что все программисты, которые будут сопровождать вашу программу, — склонные к насилию психопаты, знающие, где вы живёте;
  2. Каждый дурак может написать код, понятный компьютеру. Хорошие программисты пишут код, понятный людям.

Из них же становится понятно, что у тебя не так (хотя бы отчасти). Про стабильность, скорость и прочее не заикаюсь, это уже следующий этап

XMs ★★★★★
()
Ответ на: комментарий от XMs

Бесполезно. Ему не нужны другие программисты. А написанное им на си быстрее всего на свете. Царя на него нет.

evilface ★★
()
Ответ на: комментарий от cetjs2

Где это написано, фактически, кто тебе сказал такому стандарту придерживаться? Если программ с русским языком окажется больше, то не будет уже такой уверенности в том что всё на английском. Но я почему то догадываюсь о том, что вы всё равно будете поддерживать разработки на английском языке. Это ваше личное дело. Я также знаю что российские разработчики умные люди. Если перехватить инициативу и делать всё на русском, то со временем будет известно, что описание программы, комментарии надо писать на русском. Американцам может быть самим потом придётся по русски описание программы писать. Есть столько материалов, но по английски написаны, очень много времени иногда уходит на то, чтобы понять что там написано, а это замедляет обучение, если обучающий материал на английском и не знаешь какие нибудь слова. Вы наверное не станете прислушиваться, но знайте, что когда-то, был человек, который об этом писал, и то какое нас ожидает будущее, зависит от того, какое решение вы примите.

u0atgKIRznY5
() автор топика
Ответ на: комментарий от u0atgKIRznY5

Я потом буду работать ещё над улучшениями

Тогда поработай над этим (к вопросу о качестве твоего кода): http://pastebin.com/56MbtnhY

XMs ★★★★★
()
Ответ на: комментарий от evilface

Царя на него нет

Ты на это посмотри. Царя хотя бы было интересно читать, узнать что-то новое, а тут 14 ошибок в хеллоуворлде

XMs ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.