From: "Сыпченко Георгий" <superzhook@gmail.com> To: kde-russian@lists.kde.ru Subject: Re: [kde-russian] Krita: krita.po, часть 3 Date: Fri, 04 Apr 2014 20:19:01 +0400 Message-ID: <533EDB75.9060205@gmail.com> (raw) In-Reply-To: <4134688.1cvYQ1MYPt@meth> 03.04.2014 05:12, Alexander Potashev пишет: > Привет! > > Комментирую обновление перевода в файле krita.po, предложенное в > письмеhttp://lists.kde.ru/pipermail/kde-russian/2014-March/018341.html > > === krita.po, часть 3 === > >> #. ediff: state {-fuzzy-} >> #. i18n: ectx: property (toolTip), widget (QCheckBox, aspectRatioCkb) >> #: plugins/extensions/imagesize/wdg_canvassize.ui:142 >> #: plugins/extensions/imagesize/wdg_imagesize.ui:370 >> #: plugins/extensions/imagesize/wdg_layersize.ui:167 >> msgid "{-&-}Constrain {-proportions-}{+aspect ratio+}" >> msgstr "{-&Сохранить пропорции-}{+Сохранять соотношение сторон+}" >> >> #. ediff: state {-fuzzy-} >> #. i18n: ectx: property (text), widget (QCheckBox, aspectRatioCkb) >> #: plugins/extensions/imagesize/wdg_canvassize.ui:145 >> #: plugins/extensions/imagesize/wdg_imagesize.ui:373 >> #: plugins/extensions/imagesize/wdg_layersize.ui:170 >> msgid "{-&-}Constrain proportions" >> msgstr "{-&Сохранить-}{+Сохранять+} пропорции" > Лучше оставить глагол в совершенном виде ("сохранить"), потому что это > дейтсвие выполняется однократно. Это параметр при изменении размера слоя или изображения. В фш так и в гимпе так. Так что тут привычный вид термина. >> #. ediff: state {-fuzzy-} >> #. i18n: ectx: property (text), widget (QLabel, lblXOff) >> #: plugins/extensions/imagesize/wdg_canvassize.ui:199 >> msgid "X Offset{+:+}" >> msgstr "Смещение по X{+:+}" >> >> #. ediff: state {-fuzzy-} >> #. i18n: ectx: property (text), widget (QLabel, lblYOff) >> #: plugins/extensions/imagesize/wdg_canvassize.ui:261 >> msgid "Y Offset{+:+}" >> msgstr "Смещение по Y{+:+}" > Можно "... по горизонтали" и "... по вертикали". Или это слишком длинно? Не знаю. Проверю. Надо его ещё найти... >> #. i18n: ectx: property (text), widget (QCheckBox, >> adjustPrintSizeSeparatelyCkb) #: >> plugins/extensions/imagesize/wdg_imagesize.ui:383 >> msgid "Adjust print size separately" >> msgstr "{+Настраивать размер для печати отдельно+}" > Опять же, дейтсвие однократное, поэтому "настроить". И можно переставить > слова: "Отдельно указать размер для печати". Ок. >> #. ediff: state {-fuzzy-} >> #: plugins/extensions/layergroupswitcher/layergroupswitcher.cpp:44 >> msgid "Move{- layer-} into {+previous +}group" >> msgstr "Переместить{- слой-} в {+предыдущую +}группу" >> >> #. ediff: state {-fuzzy-} >> #: plugins/extensions/layergroupswitcher/layergroupswitcher.cpp:48 >> msgid "Move{- layer-} into {+next +}group" >> msgstr "Переместить{- слой-} в {+следующую +}группу" > В переводе все хорошо, а в английской версии такая проблема: если открыть окно > выбора комбинации клавиш для действий, то там будет просто "Move into next > (previous) group", и непонятно, что именно перемещается в следующую группу. А если это перемещается не слой а маска? ;) Именно потому и убрано, что перемещается. >> #: plugins/extensions/metadataeditor/kis_meta_data_model.cpp:82 >> msgid "Language array" >> msgstr "{+Языковой массив+}" > Не очень понятнен смысл -- ни из перевода, ни из оригинала. >> #. ediff: state {-fuzzy-} >> #: plugins/extensions/metadataeditor/kis_meta_data_model.cpp:86 >> msgid "{-Rotating-}{+Rational+}" >> msgstr "{-Вращение-}{+Рациональный+}" > "Рациональное число"? > Ок. Выясню и, если что, поправлю. >> #. ediff: state {-fuzzy-} >> #. i18n: ectx: property (text), widget (QLabel, lblWidth) >> #: plugins/extensions/modify_selection/wdg_border_selection.ui:110 >> msgid "{-Grid-}{+Border+} width{+:+}" >> msgstr "Ширина {-сетки-}{+края:+}" > А в другом месте такое перевод: > 4306 #: plugins/extensions/modify_selection/modify_selection.cc:60 > 4307 msgid "Border Selection..." > 4308 msgstr "Граница выделения..." > > Определитесь, какой термин будете использовать -- "край [выделения]" или > "граница [выделения]". Край. >> #. ediff: state {-fuzzy-} >> #. i18n: ectx: property (text), widget (QLabel, textLabel1) >> #: plugins/extensions/modify_selection/wdg_feather_selection.ui:17 >> msgid "Feather radius:" >> msgstr "Радиус:" > Не надо дополнить до "Радиус растешёвки"? Не надо. Это параметр в окне растушёвка. Сейчас по длине ок и по смыслу нет ни излишка, ни недостатка. >> #. ediff: state {-fuzzy-} >> #: plugins/extensions/offsetimage/offsetimage.cpp:48 >> msgid "&{-Shear-}{+Offset+} Image..." >> msgstr "&{-Сдвиг-}{+Смещение+} изображения..." > Пункт меню, поэтому "Сместить [...]". Нет. Не путать сдвиг и смещение. Это два разных термина. >> #. ediff: state {-fuzzy-} >> #: plugins/extensions/rotateimage/rotateimage.cc:62 >> #: plugins/extensions/rotateimage/rotateimage.cc:143 >> msgid "Mirror{+ Image+} Horizontally" >> msgstr "{-Зеркально отразить-}{+Отразить изображение+} по горизонтали" >> >> #. ediff: state {-fuzzy-} >> #: plugins/extensions/rotateimage/rotateimage.cc:66 >> #: plugins/extensions/rotateimage/rotateimage.cc:136 >> msgid "Mirror{+ Image+} Vertically" >> msgstr "{-Зеркально отразить-}{+Отразить изображение+} по вертикали" > Опять слипшиеся строки. В одном случае это пункт меню, и "Отразить [...]" > подходит, в другом случае строка попадает в "Отменить ..." и в журнал > действий, а там должно быть "отражение" и можно использовать magic split. Исправил на "Отражение...", magic split не получится - оно появляется прямо в меню (попробовал). >> #. ediff: state {-fuzzy-} >> #. i18n: ectx: property (text), widget (QLabel, label_10) >> #: plugins/filters/colorsfilters/wdg_color_balance.ui:251 >> msgid "{+ +}Cyan" >> msgstr "{-Бирюзовый-}{+ Голубой+}" > Здесь необходимы пробелы, или это ошибка разработчиков? Не вижу причин, зачем > они тут. Выравнивание текста все равно по правому краю, так что эти пробелы не > влияют. Убрал. >> #. ediff: state {-fuzzy-} >> #. i18n: ectx: property (text), widget (QPushButton, pushResetHighlights) >> #: plugins/filters/colorsfilters/wdg_color_balance.ui:261 >> msgid "{+Reset +}Highlights" >> msgstr "{-Блики-}{+Сбросить света+}" > Не знаю такого слова, надо придумать другой перевод. Термин. >> #. ediff: state {-fuzzy-} >> #. i18n: ectx: property (title), widget (QGroupBox, groupType) >> #: plugins/filters/colorsfilters/wdg_desaturate.ui:17 >> msgid "{-Saturation-}{+Desaturation method:+}" >> msgstr "{-Насыщенная-}{+Метод ненасыщенности:+}" > "Ненасыщенность" -- это состояние, а нам нужно слово, обозначающее действие. > "Метод обесцвечивания", "Метод побледнения", "Метод противонасыщения" (в > словаре нет такого слова, сейчас придумал), "Метод уменьшения насыщенности"? > Метод обесцвечивания. Исправил. >> #. i18n: ectx: property (text), widget (QRadioButton, radioMin) >> #: plugins/filters/colorsfilters/wdg_desaturate.ui:23 >> msgid "&Min" >> msgstr "{+&Мин+}" > Минимальный? Да. Исправил. >> #. i18n: ectx: property (text), widget (QRadioButton, radioMax) >> #: plugins/filters/colorsfilters/wdg_desaturate.ui:30 >> msgid "&Max" >> msgstr "{+&Максимальный+}" > Акселераторы надо ставить по возможности на разные буквы. Говорят, в некоторых > дистрибутивах GNU/Linux они работают ;) Ставлю, как в оригинале... :) >> #. ediff: state {-fuzzy-} >> #. i18n: ectx: property (text), widget (QRadioButton, radioLightness) >> #: plugins/filters/colorsfilters/wdg_desaturate.ui:57 >> msgid "{+&+}Lightness" >> msgstr "{+&+}Освещённость" > Осветление? > >> #. i18n: ectx: property (text), widget (QRadioButton, radioLuminosityBT709) >> #: plugins/filters/colorsfilters/wdg_desaturate.ui:67 >> msgid "Luminosity (ITU-R BT.&709)" >> msgstr "{+Яркость (ITU-R BT.&709)+}" >> >> #. i18n: ectx: property (text), widget (QRadioButton, radioLuminosityBT601) >> #: plugins/filters/colorsfilters/wdg_desaturate.ui:74 >> msgid "Luminosity (ITU-R BT.&601)" >> msgstr "{+Яркость (ITU-R BT.&601)+}" > Ок. Сделал как в GIMP. "Освещённость" и "Светимость". >> #. ediff: state {-fuzzy-} >> #. i18n: ectx: property (text), item, widget (QComboBox, cmbType) >> #: plugins/filters/colorsfilters/wdg_hsv_adjustment.ui:158 >> msgid "{+Hue/+}Saturation{+/Value+}" >> msgstr "{-Насыщенная-}{+Тон/Насыщенность/Значение+}" > В русском языке с заглавной буквы пишется только первое слово в предложении, > поэтому "Н" и "З" должны быть строчными. Хм... В других редакторах именно так. >> #. ediff: state {-fuzzy-} >> #. i18n: ectx: property (text), item, widget (QComboBox, cmbType) >> #: plugins/filters/colorsfilters/wdg_hsv_adjustment.ui:163 >> msgid "{+Hue/+}Saturation{- Weights-}{+/Lightness+}" >> msgstr "{-Факторы насыщенности-}{+Тон/Насыщенность/Освещённость+}" > Lightness -- светлота Ок. Хотя в том же гимп везде "Освещённость", но тут спорить не буду. >> # {+Не знаю, где это находится...+}~ >> # {++}~ >> #. ediff: state {-fuzzy-} >> #. i18n: ectx: property (text), widget (QCheckBox, chkColorize) >> #: plugins/filters/colorsfilters/wdg_hsv_adjustment.ui:171 >> msgid "{+&+}Colorize" >> msgstr "{-Яркость-}{+&Цветной+}" > Если строка берется из файла .ui, то можно посмотреть этот диалог, открыв его > в Qt Designer: > $ designer plugins/filters/colorsfilters/wdg_hsv_adjustment.ui > > Диалог открывается через меню так: Фильтры -> Настройка -> Коррекция HSV... > > Можно перевести как "Окрасить", "Перекрасить". &Тонирование >> #: plugins/filters/dodgeburn/DodgeBurnPlugin.cpp:31 >> msgid "Dodge" >> msgstr "{-Затемнение-}{+Осветление+} штрихов" >> >> #: plugins/filters/dodgeburn/DodgeBurnPlugin.cpp:32 >> msgid "Burn" >> msgstr "{-Осветление-}{+Затемнение+} штрихов" > Не буду лезть в то, чего не знаю. Прошлый переводчик их местами перепутал... Я как-то открыл "осветление", а оно всё затемняет :) >> #. ediff: state {-fuzzy-} >> #. i18n: ectx: property (title), widget (QGroupBox, >> materialParametersGroupBox) #: >> plugins/filters/phongbumpmap/wdgphongbumpmap.ui:60 >> msgid "Material {-parameters-}{+properties+}" >> msgstr "Параметры материала" > properties = свойства > >> #. ediff: state {-fuzzy-} >> #. i18n: ectx: property (title), widget (QGroupBox, >> specularReflectivityGroup) #: >> plugins/filters/phongbumpmap/wdgphongbumpmap.ui:69 >> msgid "{-Regular-}{+Specular+}" >> msgstr "{-Обычный-}{+Зеркальный+}" > См. ниже. > >> #. ediff: state {-fuzzy-} >> #. i18n: ectx: property (text), widget (QLabel, lblSpecularReflectivity) >> #. i18n: ectx: property (text), widget (QLabel, lblDiffuseReflectivity) >> #. i18n: ectx: property (text), widget (QLabel, lblAmbientReflectivity) >> #: plugins/filters/phongbumpmap/wdgphongbumpmap.ui:81 >> #: plugins/filters/phongbumpmap/wdgphongbumpmap.ui:160 >> #: plugins/filters/phongbumpmap/wdgphongbumpmap.ui:207 >> msgid "{-Ambient -}Reflectivity{+:+}" >> msgstr "{-Фоновое освещение-}{+Отражение+}:" > "Коэффициент отражения" лучше, потому что сразу становится ясно, что это > численная величина. > >> #. ediff: state {-fuzzy-} >> #. i18n: ectx: property (text), widget (QLabel, lblSpecularShinyExp) >> #: plugins/filters/phongbumpmap/wdgphongbumpmap.ui:91 >> msgid "Shinyness exponent{+:+}" >> msgstr "Коэффициент {-блеска-}{+свечения:+}" >> >> #. ediff: state {-fuzzy-} >> #. i18n: ectx: property (title), widget (QGroupBox, >> diffuseReflectivityGroup) >> #: plugins/filters/phongbumpmap/wdgphongbumpmap.ui:148 >> msgid "{-Diff-}{+Diffuse+}" >> msgstr "{-Различие-}{+Диффузия+}" > Это такой же check box, как и "Specular". > >> #. ediff: state {-fuzzy-} >> #. i18n: ectx: property (title), widget (QGroupBox, AmbientGroup) >> #: plugins/filters/phongbumpmap/wdgphongbumpmap.ui:195 >> msgid "{-&-}Ambient{- light:-}" >> msgstr "{-&Рассеянный свет:-}{+Обтекание+}" > Это такой же check box, как и "Specular". > > Нагуглил вот что [1,2]. Кстати, название фильтра "phongbumpmap" очень в тему. Ого! Поправил. > >> #. i18n: ectx: property (text), widget (QLabel, lblHeightmapChannel) >> #: plugins/filters/phongbumpmap/wdgphongbumpmap.ui:245 >> msgid "Heightmap channel:" >> msgstr "{+Карта канала:+}" > Ок. Исправил. > >> #. ediff: state {-fuzzy-} >> #. i18n: ectx: property (text), widget (QLabel, inclinationLabel1) >> #. i18n: ectx: property (text), widget (QLabel, inclinationLabel2) >> #. i18n: ectx: property (text), widget (QLabel, inclinationLabel4) >> #. i18n: ectx: property (text), widget (QLabel, inclinationLabel3) >> #: plugins/filters/phongbumpmap/wdgphongbumpmap.ui:392 >> #: plugins/filters/phongbumpmap/wdgphongbumpmap.ui:582 >> #: plugins/filters/phongbumpmap/wdgphongbumpmap.ui:762 >> #: plugins/filters/phongbumpmap/wdgphongbumpmap.ui:939 >> msgid "Inclination{+:+}" >> msgstr "{-Наклон-}{+Угол наклона:+}" > Может быть, просто "наклонение"? Уже есть похожий термин "наклонение [орбиты]" > [3]. Это угол наклона источника света. >> #. i18n: ectx: property (toolTip), widget (QSlider, qualityLevel) >> #: plugins/formats/jp2/kis_wdg_options_jp2.ui:26 >> #: plugins/formats/jpeg/kis_wdg_options_jpeg.ui:36 >> msgid "" >> "<html><head/><body><p>These settings determine how much information is lost >> " "during compression. Low: small files, bad quality. High: big files, good >> " "quality.</p></body></html>" >> msgstr "" >> "{+<html><head/><body><p>Эти настройки определяют, сколько информации будет >> " >> "потеряно ради сжатия. Низкое: маленькие файлы, низкое качество. Высокое:" >> "Большие файлы, высокое качество.</p></body></html>+}" > Снова "настройки". Слово "большие" не надо писать с заглавной буквы: это не > первое слово в предложении. Поправил. >> #. i18n: ectx: property (text), widget (QLabel, label_4) >> #: plugins/formats/jpeg/kis_wdg_options_jpeg.ui:91 >> #: plugins/formats/png/kis_wdg_options_png.ui:178 >> msgid "Transparent pixel fill color:" >> msgstr "{+Прозрачные точки залить:+}" > "Покрасить прозрачные точки в [цвет]:"? Цвет прозрачных точек: >> #. i18n: ectx: property (toolTip), widget (KColorButton, >> bnTransparencyFillColor) #: >> plugins/formats/jpeg/kis_wdg_options_jpeg.ui:101 >> #: plugins/formats/png/kis_wdg_options_png.ui:188 >> msgid "" >> "<html><head/><body><p>Background color to replace transparent pixels >> with.</" "p></body></html>" >> msgstr "" >> "{+<html><head/><body><p>Залить прозрачные точки цветом фона.</p></body></" >> "html>+}" > Смысл в английской строке был не такой. Дословно, "Цвет фона, которым заменить > прозрачные пикселы". С Вашим переводом можно неправильно подумать, что > прозрачные точки будут заменены на текущий цвет фона, который выбирается не в > этом диалоге, а в основном интерфейсе программы. > > Конечно, надо чуть-чуть по-другому перевести, чем я написал, -- менее > дословно. Цвет для замещения прозрачных точек. >> #. ediff: state {-fuzzy-} >> #. i18n: ectx: property (text), widget (QCheckBox, baseLineJPEG) >> #: plugins/formats/jpeg/kis_wdg_options_jpeg.ui:170 >> msgid "Force baseline JPEG" >> msgstr "Принудительно скомпоновать JPEG" > Baseline JPEG -- базовый JPEG [4]. Ок. Исправил. >> #. ediff: state {-fuzzy-} >> #: plugins/formats/ora/ora_export.cc:101 >> msgid "Warning{-!-}" >> msgstr "Внимание!" > Восклицательный знак надо убрать. > > И "warning" переводится как "предупреждение". Кстати, это заголовок окна > предупреждения. > Поправил. >> #. ediff: state {-fuzzy-} >> #. i18n: ectx: property (suffix), widget (QSpinBox, intHorizontal) >> #. i18n: ectx: property (suffix), widget (QSpinBox, intVertical) >> #: plugins/formats/pdf/pdfimportwidgetbase.ui:155 >> #: plugins/formats/pdf/pdfimportwidgetbase.ui:178 >> msgid "{- -}dpi" >> msgstr "{- -}dpi{- (точек на дюйм)-}" > Если уже написано "точек на дюйм", то "dpi" избыточно. точек на дюйм - уже убрано. Осталось же только dpi. >> #. ediff: state {-fuzzy-} >> #: plugins/formats/png/kis_png_export.cc:112 >> msgid "" >> "Cannot export images in {-%1.\n" >> "-}{+this colorspace or channel depth to PNG+}" >> msgstr "" >> "{-Не удалось-}{+Невозможно+} экспортировать изображения {+с такой цветовой >> " >> "средой или глубиной +}в {-%1.\n" >> "-}{+PNG+}" > Правильно ли я понимаю, что здесь именно "невозможно" в том смысле, что Krita > не умеет делать указанное преобразование? > > Не "цветовая среда", а "цветовое пространство" [5]. Исправил. >> #: plugins/formats/png/kis_png_export.cc:112 >> msgid "Krita PNG Export" >> msgstr "{+Экспорт Krita PNG+}" > Заголовок окна сообщения об ошибке. Про Krita можно вообще не говорить -- > "Экспорт в PNG", либо добавить "Krita" только для того, чтобы пользователь > легко определил принадлежность этого окна к Krita -- "Экспорт в PNG — Krita". > В большинстве программ заголовки главных окон пишутся аналогично, -- например, > я сейчас редактирую текст этого письма в окне с заголовком "krita-my-mail.txt > [измѣнёнъ] — Kate". > >> #. i18n: ectx: property (toolTip), widget (QCheckBox, chkSRGB) >> #: plugins/formats/png/kis_wdg_options_png.ui:213 >> msgid "" >> "<html><head/><body><p><span style=\" font-weight:600;\">PNG</span> files" >> "have <span style=\" font-style:italic;\">two</span> options to save <span" >> "style=\" font-weight:600;\">sRGB</span> information: as a tag or as an" >> "explicit profile. For use with in websites, <span style=\" >> font-style:italic;" "\">disable</span> this option. For interchange with >> other applications, " "<span style=\" font-style:italic;\">enable</span> >> this option.</p></body></" "html>" >> msgstr "" >> "{+<html><head/><body><p>Файлы <span style=\" font-weight:600;\">PNG</span> >> " >> "имеют<span style=\" font-style:italic;\">два</span> варианта сохранения" >> "информации <span style=\" font-weight:600;\">sRGB</span>: как тег и" >> "какпрофиль. Для использования в веб, <span style=\" font-style:italic;" >> "\">отключите</span> эту опцию. Для обмена с другими программами, <span" >> "style=\" font-style:italic;\">включите</span> эту >> опцию.</p></body></html>+}" > Нужен пробел в "какпрофиль". > > "в веб" -> "на веб-страницах" > > Есть желание пообсуждать слово "опция", но нет времени :( Исправил, в т.ч. и опцию :) >> #. i18n: ectx: property (text), widget (QCheckBox, chkSRGB) >> #: plugins/formats/png/kis_wdg_options_png.ui:216 >> msgid "save sRGB profile" >> msgstr "{+сохранить профиль sRGB+}" > Странно, что здесь подпись к check box не начинается с заглавной буквы, обычно > это так. > >> #: plugins/formats/psd/psd_export.cc:69 >> msgid "" >> "Unable to save to the Photoshop format.\n" >> "The Photoshop format only supports images that are smaller than 30000x3000 >> " >> "pixels." >> msgstr "" >> "{+Невозможно сохранить в формат Photoshop.\n" >> "Формат Photoshop поддерживает изображение не больше 30000x3000 пикселов.+}" > "Невозможно" -> "Не удалось", потому что существует принципиальная возможность > сохранять изображения в формат Photoshop (другие, меньшие по размеру > изображения). Исправлено. Сейчас посмотрю часть 4 и обновлю файл в дропбокс.
next prev parent reply other threads:[~2014-04-04 16:19 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-04-03 1:12 Alexander Potashev 2014-04-03 7:59 ` Alexander Potashev 2014-04-03 8:39 ` Alexander Potashev 2014-04-04 16:19 ` Сыпченко Георгий [this message] 2014-04-06 17:12 ` Alexander Potashev 2014-04-08 19:58 ` Alexander Potashev 2014-04-09 8:19 ` Alexander Potashev 2014-04-09 17:48 ` Сыпченко Георгий 2014-04-09 23:59 ` Alexander Potashev 2014-04-14 2:53 ` Сыпченко Георгий 2014-04-14 4:54 ` Alexander Potashev
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=533EDB75.9060205@gmail.com \ --to=superzhook@gmail.com \ --cc=kde-russian@lists.kde.ru \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
рассылка русскоязычной группы пользователей и разработчиков KDE This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/kde-russian/0 kde-russian/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 kde-russian kde-russian/ http://lore.altlinux.org/kde-russian \ kde-russian@lists.kde.ru public-inbox-index kde-russian Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.kde-russian AGPL code for this site: git clone https://public-inbox.org/public-inbox.git