www-ru-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [www-ru-list] О кавычках


From: Dmitry Alexandrov
Subject: Re: [www-ru-list] О кавычках
Date: Tue, 07 Apr 2015 21:38:43 +0300
User-agent: Mozilla/5.0 (X11; GNU x86_64; rv:31.0) Gecko/20100101 Icedove/31.3.0

Простите, а вам пришло письмо с исправленным согласно вашим замечаниям
rms-comment-longs-article.ru.po, которое я цитировал письмом выше по
нити? Мне оно через список рассылки не вернулось и в архиве его нет, но
и отлупа от системы я не получил.

----

On 07/04/15 20:25, Ineiev wrote:
> On Tue, Apr 07, 2015 at 06:51:52PM +0300, Dmitry Alexandrov wrote:
>> Ну, собственно, вот скриптик для замены “американских” кавычек на
>> «русские елочки» в переводах, о котором я говорил [0]:
>>
>> #!/usr/bin/gawk -f
> ...
>
> Наверное, это надежнее делать через msgfilter.

Возможно, но не будучи знакомым с msgfilter, я уже сделал так — один раз
же всего нужно.

>> Вроде бы, должен работать как надо.
>
> Можно проверить, что получилось

Я, возможно, не очень понятно выразился, но я просмотрел вывод глазами,
и если я ничего не пропустил, то все разумно заменено и ошибок нет; но
хотел бы, что бы вы тоже проверили.

Была бы распределенная СКВ (git / hg / bzr), я бы просто форкнул
репозиторий и показал бы результат, а не прелагал бы вам самому скрипты
пускать, но у нас тут до сих пор аж CVS.

> прогнать через msgfmt -o/dev/null -c

$ for f in www-ru/**/*.ru.po; do msgfmt -o /dev/null -c "$f"; done
www-ru/scripts/compendium.ru.po:22: warning: header field 'Project-Id-Version' 
still has the initial default value
www-ru/scripts/compendium.ru.po:22: warning: header field 'Language' missing in 
header
www-ru/translation/philosophy/freedom-or-copyright.ru.po:13: warning: header 
field 'Language' still has the initial default value
www-ru/translation/philosophy/x.ru.po:9: warning: header field 'Language' still 
has the initial default value

Эти предупреждения, очевидно, имели бы место и до замены кавычек.

> нет ли этих символов в другом виде (вроде “)

Только в оригиналах:

$ for f in www-ru/**/*.ru.po; do egrep '“|”|\&#822[01];' "$f"; done
#~ "“Can Distros Make the Link?” (A recording is here, and my slides are "
#~ "here, hit “s” for..."
#~ "corrections (someone told me that in English “points” is used instead "
#~ "“particles”). B..."

>> $ shopt -s globstar
>
> [dti@xbl3p ram]$ shopt -s globstar
> bash: shopt: globstar: invalid shell option name

Брр... Какой же у вас версии Баш! Эта опция с самых первых альф
четвертой появилась, а актуальная уже 4.3.

Ну, можно и через find(1):

$ while read f; do ./russify-quotes "$f" | sponge "$f"; done < <(find www-ru/ 
-name '*.ru.po')

>> $ for f in www-ru/**/*.ru.po; do ./russify-quotes "$f" | sponge "$f"; done
>
> ineiev@fencepost:~$ which sponge
> ineiev@fencepost:~$ man sponge
> No manual entry for sponge
> ineiev@fencepost:~$ info sponge
> (No menu item `sponge' in node `(dir)Top'.)
> ineiev@fencepost:~$ uname -a
> Linux fencepost.gnu.org 2.6.32-51-server #1trisquel3 SMP Fri Sep 20 21:41:37 
> UTC 2013 x86_64 GNU/Linux

В Дебиане, а отсюда и в Трисквеле, как раз на такие случаи есть
замечательный пакет command-not-found — рекомендую.

А конкретно sponge(1) — она из пакета GNU Moreutils, странно что он у
вас не установлен, вроде бы один из базовых пакетов.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]