LINUX.ORG.RU

Сообщения peregrine

 

Eclipse и фильтрация

Форум — Development

Внимание - вопрос, это баг эклипса или фича и я чего-то не понимаю. Есть простейшее консольное приложение, задача которого пробежаться по fb2 файлам (включая те что лежат внутри архивов) и проверить являются ли они корректными xml и корректными fb2 + попробовать собрать информацию о том каким софтом были сделаны некорректные fb2 файлы на Java (да то ещё извращение, но что поделать, мне так удобнее, чем с шарпом в линуксе). Проект собирается при помощи maven. Заодно захотел поиграться с локализацией на Java. Структура проекта пока такая:

.
├── pom.xml
├── src
│   ├── main
│   │   ├── java
│   │   │   └── fb2dataminer
│   │   │       ├── ApplicationInfoProvider.java
│   │   │       └── Application.java
│   │   └── resources
│   │       └── localization
│   │           ├── MessagesBundle.properties
│   │           └── MessagesBundle_ru_RU.properties
│   └── test
│       ├── java
│       └── resources
└── target
    ├── classes
    │   ├── fb2dataminer
    │   │   ├── Application.class
    │   │   └── ApplicationInfoProvider.class
    │   ├── localization
    │   │   ├── MessagesBundle.properties
    │   │   └── MessagesBundle_ru_RU.properties
    │   ├── MessagesBundle.properties
    │   ├── MessagesBundle_ru_RU.properties
    │   └── META-INF
    │       ├── MANIFEST.MF
    │       └── maven
    │           └── ru.example.fb2-data-miner
    │               └── fb2-data-miner
    │                   ├── pom.properties
    │                   └── pom.xml
    └── test-classes
Класс ApplicationInfoProvider должен отдавать разную информацию о приложении: справка, версия, авторы, библиотеки и их версии и т.д.. Вся эта информация лежит в pom.xml, всё шло хорошо, пока я не захотел пробросить информацию из pom.xml в MessagesBundle.properties и MessagesBundle_ru_RU.properties, например, так:
help=Показывает справку\n\
и что-то ещё
version=${project.version}
В pom.xml у меня
<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>ru.example.fb2-data-miner</groupId>
	<artifactId>fb2-data-miner</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>fb2-data-miner</name>
	<description>Console application for collection statistics and data from fb2
		files</description>
	<properties>
		<java.version>25</java.version>
		<commons-cli.version>1.11.0</commons-cli.version>
		<maven-resources-plugin.version>3.4.0</maven-resources-plugin.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>
	<dependencies>
		<!-- https://mvnrepository.com/artifact/commons-cli/commons-cli -->
		<dependency>
			<groupId>commons-cli</groupId>
			<artifactId>commons-cli</artifactId>
			<version>${commons-cli.version}</version>
		</dependency>
	</dependencies>
	<build>
		<resources>
			<resource>
				<directory>src/main/resources/localization</directory>
				<filtering>true</filtering>
			</resource>
		</resources>
		<!-- проблемный плагин -->
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>${maven-resources-plugin.version}</version>
				<configuration>
                			<encoding>${project.build.sourceEncoding}</encoding>
                			<propertiesEncoding>UTF-8</propertiesEncoding>
                		</configuration>
			</plugin>
		</plugins>
	</build>

</project>
А теперь внимание - вопрос: при сборке в target->classes создаются файлы MessagesBundle.properties и MessagesBundle_ru_RU.properties где правильно подставляются все значения. Но в target->classes->localization копируются файлы как есть, без всяких изменений. Разумеется после запуска из эклипса вместо версии 0.0.1-SNAPSHOT я вижу строку ${project.version}. Собственно я что-то не так настроил или это всё старые проблемы m2e плагина в Eclipse который ранее в 2014 году уже был замечен за подобным, т.к. его правила сборки и правила сборки maven немного разные, но вроде как было пофикшено с тех пор.

Обновление

По сути всё сводится к 2 проблемам - либо при отключении в Build Path /src/main/resources/localization (по идее надо отключать чтоб не бездумно копировалось как есть), то мы не можем подгрузить MessagesBundle_ru_RU.properties который появляется почему-то в target->classes а не в target->classes/localization (куда файл бездумно копируется если не исключить /src/main/resources/localization из Build Path)

 , , , maven-resources-plugin

peregrine
()

xrandr но для wayland и x11

Форум — Desktop

А есть ли у нас какой-то консольный универсальный способ менять разрешение экрана и масштабирование? Хочу скрипт (кнопку) на рабочий стол, которая будет переключать мне мониторы (есть 4к монитор на котором я пишу код, играю в игры, читаю ЛОР) и есть FULL HD телевизор на котором я смотрю кино лёжа на диване. Физически всё подключено к одной видеокарте, а я хочу скрипт выполняющий следующие действия:

  1. Определить включен ли телевизор, если да то пункт 2, если нет то пункт 6
  2. выключить телевизор
  3. сменить разрешение монитора на 3840x2160
  4. поставить масштабирование на 200%
  5. конец
  6. установить разрешение монитора на 1920x1080
  7. поставить масштабирование на 100%
  8. включить телевизор в режиме дублирования картинки
  9. конец

Сейчас я всё это делаю прокликиванием настроек экрана, но мне дико лениво это делать. Конечно можно и на сишке выдрать код из gnome-control-center, но это надо разбираться и вообще как резервный вариант, если ничего готового нет. Да, я знаю как это сделать отдельно для иксов и вялого, но меня смущает, например то, что масштабирование в gnome-control-center в сессии x11 через xrandr не определяется, т.е. оно меняется где-то в другом месте.

 , , , ,

peregrine
()

Датасеты для нейросетей

Форум — Development

Собственно разыскивается САБЖ, хочется именно под нейросети (не регрессия, не рэндом форесты и так далее, нейронкам нужно больше данных для обучения, на маленьких наборах рулят более простые алгоритмы). Желательно не про картинки (в картинках жестко рулит CNN и его модификации). Хочется чего-то качественного но не слишком сложного для сети (в то же время чтоб объём данных для обучения был достаточно большой), чтоб протестировать разные архитектуры сетей и проверить пару гипотез, но в то же время не упереться в объёмы видеопамяти. В идеале хотелось бы чего-то простенького, что может уложиться в 5-6 гигов видеопамяти в плане модели сети на раннем этапе (нет мне не надо достигать 99% точности, мне важнее узнать что способом a я достиг 75% точности затратив n часов обучения, а способом b я достиг 80% точности, затратив m часов обучения при одинаковых или похожих объёмах видеопамяти), если будет понятно, что гипотезы будут подтверждены, то там уже можно и машинку арендовать и делать что-то интересное и практическое. В общем, ищется аналог Lena.jpg но под нейронки, чем универсальней, тем лучше. На kaggle смотрел, но там слишком много датасетов, а хочется чего-то эталонного, так что хочу послушать предложения ЛОР-овцев.

PS

Интересные датасеты с интересными задачами тоже рассматриваются, но в приоритете эталонные датасеты.

PPS

Лучше чтоб мне не было нужды чистить и преобразовывать данные, это отдельная задача, которая на данный момент мне не требуется.

 , датасеты,

peregrine
()

Энциклонгов тред

Форум — Web-development

Сабж. Приглашаются всякого рода энциклонги и просто люди, которым доводилось парсить википедию и её подпроекты. Хочется очень вытянуть список из категории отсюда (просто текста достаточно без ссылок и прочего хлама) https://ru.wikinews.org/wiki/Категория:Хоккеисты_по_алфавиту да все 1004 записей и ещё из нескольких категорий в самой жирной из которых 100k записей. Собственно викиданные через запрос тут https://query.wikidata.org/ не могут выдать большие категории (таймаут). Слышал ещё про другие api википедии, но боюсь, что там тоже ограничение раньше чем 100 000 записей будет. Кто как решал подобное? Поднять всю копию вики из дампа конечно можно, но это деньги (один день аренды машинки на которой будет полноценно ворочаться википедия стоит 3-5 килорублей и я не уверен что за день я её полноценно настрою и какое-то говно не вылезет, которое ещё неделю буду ковырять в конфигах каких-то лимиты, например которые будут нужны не дефолтные или ещё много чего может быть, а чисто чтоб поиграться с питоном и не заработать на этом и рубля, а только проверить одну гипотезу для себя, как по мне дороговатое удовольствие). Бан по айпишнику к википедии тоже схлопотать не хочу. Так что пишите кто как такое делал если делал. Какие инструменты использовал. В принципе могу использовать много чего, но предпочёл бы ограничиться Python, на худой конец C# или Java. Да, регулярно тягать оттуда данные мне нет нужды, раз в год а то и реже вполне норм.

 , , wikidata, wikinews,

peregrine
()

Проверка каталога, вложенных каталогов и файлов на идентичность

Форум — Admin

В связи с замечательным башем cp не копирует скрытые файлы с аргументом ! хочется спросить у Ъ как они сверяют каталог с подкаталогами на тему всё ли скопировалось и не попортились ли в процессе данные. Спрашиваю так как переношу данные с кучи маленьких флешек, некоторые из которых уже приказали долго жить (работает только чтение но не запись) или находятся на конце своей жизни (15+ годиков мелочи пузатой по 1 гб, например, на флешки большие (128 гб). А из маленьких буду делать загрузочные флешки с линуксами на борту, прежде чем проводить их в последний путь они ещё послужат мне на установку убунт. Один фиг 8 гигов флешки, которых у меня большинство, сейчас особого смысла не имеют. Стоит ли мне изобретать велосипед на баше для сверки хешсумм или есть что-то готовое? Может так запросто быть, что копирование с очень старых носителей уже ненадёжно и там мусор.

 ,

peregrine
()

Размеры корня

Форум — Admin

Собственно имеется ubuntu 22.04 (надо бы обновить но пока всё работает и новая версия меня шибко не радует). Система разбита на 3 диска (/ /home /mnt/data) В /home лежат конфиги, какие-то временные файлы, всякая несортированная помойка, в /mnt/data лежит музыка, видео, фото и всё что хочется хранить долго годами, физически это отдельный диск. На / выделено 50 гигов и их как-то стало мало. С другой стороны /var/log 4.2 гигабайта, из которых 4.1 это /var/log/journal

В связи с этим вопрос - не текут ли у меня логи (4.2 гига как по мне многовато, хотя это основная домашняя машинка на которой я годами живу) и сколько лучше сейчас под / отрезать.

 ,

peregrine
()

Eclipse vs РКН

Форум — Development

А у кого плагины в Eclipse не качаются, т.к. РКН блочит хостера откуда плагины едут/протоколы.

 ,

peregrine
()

Почему лор не микросервисный

Форум — Talks

САБЖ. Понятно что его давно делали, но с тех пор можно было переписать не раз. Или микросервисный и я что-то проглядел (глядел очень быстро)

 , ,

peregrine
()

xml в html

Форум — Development

Сабж. Понятно что сразу на ум приходит технология с названием XSLT. Есть задача конвертировать xml в html, попутно обмазываясь js, css и всякими свистелками которых в самом xml нет. 90% проекта именно работа с xml. Что есть из языков и фреймворков от которых не хочется блевать и которые не требуют 100500 человек и 10 лет обучения для десятка веб страничек (понятно что вкусовщина и можно сделать на чём угодно, хоть на сишке, если упороться). Но хочется максимальной портируемости и отсутствия геморроя с запуском (тут вроде java/scala норм).

Если конечно серьёзно делать то наверное, java+spring+что там ещё потребуется по ходу (умеет ли сам spring в XSLT или надо тянуть ещё какие-то пакеты). C# как бы умеет в XSLT, но оговорка, что умеет он это безболезненно только в Windows именно в Net Framework, а в Net core и в .NET базовой поддержки XSLT нет или она обрублена судя по документации (может это конечно лишнее и не нужно, вроде как у этого такой плашки нет и возможно всё нормально и я зря подозреваю мелкомягких в засаде, ну и конечно это можно сделать через какие-то сторонние библиотеки и ясно дело через обёртки). Python вроде как умеет, но делать лёгкое портируемое приложение на питоне ну совсем так себе идея, если честно. Хочется послушать тех кто работал с XSLT (желательно в разных стеках) и узнать что им больше понравилось.

Если раздел не тот, то переносите в толксы, но хочется и анона послушать.

Сразу оговорюсь, с XSLT я не работал серьёзно никогда, так что, возможно, одного XSLT мне может и не хватит и какую-то предварительную обработку или пост обработку мне придётся делать (у меня в xml в формате base64 воткнуты бинарные данные (картинки, звук) и вот может их извлекать и обрабатывать имеет смысл до XSLT).

В идеале как я это вижу, простая софтинка которую можно запустить с условной флешки/внешнего hdd на любом компе, которая локально на локалхосте будет иметь GUI в браузере, ничего невероятно сложного. Плюсом будет если один и тот же бинарь (понятно что не нативный, а байткод какой-то)/скрипт будет работать в разных ОС.

Теперь к минусам, проект мой и ковырять мне его в одно рыло - python и c# я использовал и использую, java и scala я только в универе тыкал палочкой и на курсах (что-то вроде хеллоуворлда продвинутого, где-то там ещё и php лежит на котором в дремучие времена я делал простенький сайт чуть сложнее визитки - несколько страничек и капля интерактивности, реально в СУБД было десяток таблиц, т.е. ничего сложного). Ах да, ещё патчить доводилось код на Java, но это мелочи. С другой стороны потыкать что-то новое себе в удовольствие, я бы и не сильно против. Сразу предупрежу - rust, C и C++ идут лесом, они не для такой задачи, как и ассемблер.

 , , , ,

peregrine
()

Генерация видосиков нейронкой

Форум — Talks

Там это, https://deepmind.google/models/veo/ нейронки видосики и аудио научили делать и более-менее сносно клеить. Понятно что пока Голливудский блокбастер с описания текстом в абзац не получится, но мне кажется что уже скоро это исправят, как и количество пальцев на руках, с которым иногда до сих пор бывают проблемы. ИМХО геймдев и кинематограф ждёт закат в ближайшие 10 лет. Противники и сторонники AI приглашаются в наш уютный срачик.

 veo, ,

peregrine
()

А в чём профит Java

Форум — Talks

САБЖ, никогда не писал на жабке, был уверен что оно везде более-менее одинаковое и не прибито к платформе, имеем честно взятый отсюда код https://stackoverflow.com/questions/21406401/java-7-watchservice-entry-modify...

import static com.sun.nio.file.ExtendedWatchEventModifier.FILE_TREE;
import static java.nio.file.StandardWatchEventKinds.ENTRY_CREATE;
import static java.nio.file.StandardWatchEventKinds.ENTRY_DELETE;
import static java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY;

import java.nio.file.FileSystem;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.WatchEvent;
import java.nio.file.WatchKey;
import java.nio.file.WatchService;

public class Main
{
    public static void main(String[] args) throws Exception
    {
        FileSystem fs = FileSystems.getDefault();
        WatchService ws = fs.newWatchService();
        Path pTemp = Paths.get("/home/user/Документы/tmptest");
        pTemp.register(ws, new WatchEvent.Kind[] {ENTRY_MODIFY, ENTRY_CREATE, ENTRY_DELETE}, FILE_TREE);
        while(true)
        {
            WatchKey k = ws.take();
            for (WatchEvent<?> e : k.pollEvents())
            {
                Object c = e.context();
                System.out.printf("%s %d %s\n", e.kind(), e.count(), c);
            }
            k.reset();
        }
    }
}
в онтопике крашится в рантайме с невнятным сообщением о том что Modifier not supported как я понимаю это ему от FILE_TREE так плохо. А какой тогда смысл в Java, когда надо под каждую ОС свою прослойку делать ручками поверх inotify/fsevents/FindFirstChangeNotification/FindNextChangeNotification/ReadDirectoryChangesW

Понятно что можно и рекурсивный обход поддиректорий ручками прикрутить (тут не стал прикручивать, чисто найти виновника)

import static com.sun.nio.file.ExtendedWatchEventModifier.FILE_TREE;
import static java.nio.file.StandardWatchEventKinds.ENTRY_CREATE;
import static java.nio.file.StandardWatchEventKinds.ENTRY_DELETE;
import static java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY;

import java.nio.file.FileSystem;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.WatchEvent;
import java.nio.file.WatchKey;
import java.nio.file.WatchService;

public class Main
{
    public static void main(String[] args) throws Exception
    {
        FileSystem fs = FileSystems.getDefault();
        WatchService ws = fs.newWatchService();
        Path pTemp = Paths.get("/home/user/Документы/tmptest");
        pTemp.register(ws, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY);
        while(true)
        {
            WatchKey k = ws.take();
            for (WatchEvent<?> e : k.pollEvents())
            {
                Object c = e.context();
                System.out.printf("%s %d %s\n", e.kind(), e.count(), c);
            }
            k.reset();
        }
    }
}

Или это между версиями её так ломают или челики на ней писать не умеют совсем?

ЗЫ

Вообще может кто-то подскажет как изменения файлов на максимальном числе платформ удобнее всего мониторить? Может что-то готовое есть? Хочется Windows, OSX, Android, Linux, BSD. Ну и всё остальное экзотическое если есть возможность. Конечно можно на C#, но там в Android с производительностью не очень хорошо и жором батарейки как следствие.

 

peregrine
()

NAS

Форум — Linux-hardware

Собственно кто-что посоветует чтоб было дешево и linux нормально работал? Готовые железяки или ручками собирать самому? Хочется домашнюю файлопомойку без облаков, RAID 1. Хранить планируется около 8 терабайт (сейчас реально 4-5 терабайт, но 3 в запас под всё что может потребоваться). Хорошо если получится использовать не только как бекап систему, но и как своё облако (удалённая сетевая папка, samba, файлокачалка/торрентокачалка, домашний медиасервер (DLNA?), TFTP для локалки, возможно ownCloud, git-репа, пара своих веб-приложений, может легенький сайтик поднять на который не ожидается большая нагрузка, может ещё что-то что я не вспомнил сразу).

 ,

peregrine
()

А что за зверь такой rain?

Форум — General

Собственно глянул сейчас в qbittorrent где у меня старые образы убунты раздаются и вижу что одни китайцы качают (вот прям сейчас 1 с США, 1 с Германии 1 с Сингапура и наверное 200 китайцев, ладно rain вроде как качает с нескольких портов потому если айпишники посчитать то там всего 50 китайцев). Но почему он такой модный у них сейчас? В чём его фичи? На гитхабе нашел https://github.com/cenkalti/rain так и не понял чем оно прямо хорошее или его в какой-то китайский госдистрибутив воткнули из коробки? Может кто пользовался или в курсе что там за дичь творится?

Перемещено CrX из desktop

 , rain

peregrine
()

Проекции карт

Форум — Science & Engineering

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

 

peregrine
()

О клиент-серверных приложениях

Форум — Development

Привет всем. А как в случае клиент-серверного приложения наиболее грамотно понять что пользователь работает с ним локально (понятно что можно многими способами)? Желательно кроссплатформенно. Имеется ввиду тот случай когда и клиент и сервер работают на одной машине? В качестве клиента веб браузер (в нем страничка которую отдаёт серверное приложение). Когда юзер работает удалённо, то скажем, наша веб-страничка должна уметь всё через веб делать. Но когда юзер работает локально с гуем, то мы можем и внешний гуёвый софт запускать со стороны сервера, например. Да знаю что звучит странно, но потому и спрашиваю. Лекцию о том что в 99% случаев на сервере нет и не должно быть GUI можете мне не читать, тут скорее аналог mpd с веб-мордой или трансмиссии. Типо да, можно через веб всё что необходимо делать, но в случае когда приложение на десктопе крутится то можно ещё чуть-чуть. Например открыть в файловом менеджере папку с файлами, а не скачивать их через загрузки как в случае когда клиент и сервер на разных машинах. Вообще меня asp.net core интересует, но в целом, интересны любые варианты. Знаю про

HttpContext.Current.Request.IsLocal
но насколько оно надёжно? Технически оно проверяет что адрес с которого прилетел запрос соответствует этому условию
"127.0.0.1" || remoteAddress == "::1"
Понятно что 127.0.0.1 это лупбек на локалхост, но линуксоиды - знатные извращенцы, а потому в теории кто-то может выставить любой адрес в интервале от 127.0.0.1 до 127.255.255.254 что поломает всю логику или я не прав? Или может даже какой-то дистрибутив от сумасшедших так делает из коробки ради «безопасности»?

 , , , ,

peregrine
()

Про вялого расскажите

Форум — Desktop

Привет всем. Думаю пора накатывать что-то вместо Ubuntu 22.04 на все мои машинки, возможно придётся вместо иксов вялого брать. Но вот беда - на kde и gnome у меня аллергия и горение пукана. Мне не нравится ни одно решение в плане дизайна от их разработчиков. Что-то по типу конструктора под вялого есть? Вод под иксами у меня сейчас такая связка в автозапуск openbox-а просунута (nitrogen остался только на самой старой машинке, т.к. по историческим причинам я первым его ставил, на остальных feh стоит)

dbus-launch &
xrdb -merge ~/.Xresources &
tint2 -c ~/.config/tint2/panel1.config &
compton --opengl --vsync opengl --paint-on-overlay &
nitrogen --restore &
/opt/deadbeef/bin/deadbeef &
/home/user/.config/conky/start_conky.sh &
xset s off &
xset -dpms &
sleep 1; xxkb &
synapse -s &
qbittorrent&
В коде есть костылики, а именно sleep 1 и 2 раза xset. Костылики правильные, просьба не пугаться, без них как надо не работает, потому как xxkb видимо надо чтоб какой-то компонент иксов успел прогрузиться, как и synapse с qbittorrent, иначе они просто упадут. xset тоже с одного запуска как надо не работал, потому 2 раза используется. ХЗ практика показала что так работает. В start_conky.sh много интересного, но вообще надо переписывать, потому скриптом не поделюсь, т.к. с тех пор как конфиг перевели на lua там кое-что сломалось из-за чего размер окна коньков не такой как задумывалось, может как раз и перепишу всё при переносе. А теперь внимание, вопрос а что у нас есть из конструкторов под вялого? По типу тут панельку отодрали, тут индикатор, тут запускалку программ и так далее.

 ,

peregrine
()

Про локализацию

Форум — Talks

Собственно немного флуда о наболевшем. Про то что у нас есть в разных ЯП и ОС в плане локализации и почему у меня до сих пор от неё подгорает.

В linux-е и таких языках как c, c++ вовсю используется gettext. Штука хорошая мне нравится. Вроде как удобно, т.к. в коде пишешь на английском как дефолтном языке, а если есть перевод то подтягивается русский. Т.е. в самом коде всё написано нормально. Стал делать локализацию в оффтопике на c# там свой огород с .resx файлами и тем, что в коде одно, в локализации совсем другое, короче мне сильно не нравится, всё как всегда у мелгкомягких через одно место. Ещё и если сильно не извращаться то библиотека с переводом на каждый язык (там это технически дотнетовская dll-ка с данными внутри) ну и куча всякого говна паровозиком за твоим экзешником таскается (вопрос зачем, я бы предпочёл в один бинарь всё собирать, вроде как можно сверху помазать некоторыми полуофициальными средствами которые это в один бинарь собирают чтоб маленькая программка портативной была, но дотнет туповат и не может так ну или память старается экономить чтоб лишние переводы не подгружать заранее, хотя это ИМХО экономия на спичках при текущих объёмах оперативки). Что у джавистов и на андроде с маком хочу от знатоков послушать - честно не знаю, но стало очень интересно.

И ещё вопрос в догонку, а почему не прижилось в библиотеках делать переводы? Имеется ввиду не те dll что в дотнете чисто под ресурсы создаются, а к примеру, есть у нас формат mp3, в нём есть ID3 теги, ну например https://github.com/JeevanJames/Id3 вот пример библиотеки которая с ними работает как раз с примером кода. В результате имеем (в теории, понятно что это просто одна из рандомных либ на гитхабе) эту библиотеку в разных программах ну скажем возьмём более известную, например https://github.com/quodlibet/mutagen просто mutagen посерьёзнее и примеры там будут чуть менее простыми и каждый автор программы использующей эту библиотеку должен переводить в теории на все языки мира (в реальности конечно проектов с полной локализацией нет, и мало у кого больше 10 языков поддерживается) слова Artist, Album и так далее, которые в 99% случаев переводятся однозначно на все основные языки мира при этом перевод у всех будет под копирку почти, сколько плееров видел никто меня даже падежами не удивил, везде +- одно и то же, иногда синонимы разные используются, вводя смуту.

В теории могли бы в самой библиотеке опционально строчку зафигачить которая возвращала бы эти названия в переданной ей локале, а кому надо необычно перевести могли бы как сейчас делать. Например вместо

Console.WriteLine("Title: {0}", tag.Title);
Console.WriteLine($"{tag.TitleName}: {tag.Title}");
Глядишь сократило бы работу переводчиков и перевод был бы более однородным. Особенно наверное у всяких офисов которые аналоги экселя делают это актуально, т.к. там функции переводятся на язык при том однозначно, т.е. всякие SUMIF которые перевели на кучу языков, например на русском это СУМЕСЛИ, на испанском SUMAR.SI и таких функций там воз и маленькая тележка, т.е. счёт реально на сотни идёт. Ну и я в своей жизни сталкивался не раз с таким кодом, когда тупо от сотни до пары тысяч каких-то параметров с однозначным переводом имеется. Вплоть до того что я скриптом такое обрабатывал чтоб руками не терять ничего, потому как когда у тебя список из трёх-четырёх сотен таких строк на перевод, то расставлять ручками знаки для gettext-а или вытягивать их в resx файлы в случае C# руками я не готов.

 , ,

peregrine
()

Состоялся релиз OpenTTD 14.0

Новости — Игры
Группа Игры

Спустя 20 лет разработки состоялся релиз OpenTTD 14.0.

( читать дальше... )

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

 , ,

peregrine
()

Как синхронизировать браузеры

Форум — Desktop

САБЖ, нет никакого желания делать это через сервера тормозилы. Слышал что локально (на своём публичном айпишнике например) можно поднять сервер для фаерфокса и в конфиге его вписать. А если я хочу историю, закладки и пароли между разными браузерами синхронизировать (хром и фаерфокс)? Есть что-то подобное?

 ,

peregrine
()

а как вы относитесь к приложениям с веб-интерфейсом?

Форум — Talks

Например, к таким приложениям, которыми я пользуюсь, или пользовался относятся Transmission, pgAdmin4, Jupyter Notebook, OpenRefine. У них либо вообще нет десктопного интерфейса (Jupyter Notebook, OpenRefine), либо он является опциональным (Transmission, pgAdmin4). Я не говорю про электрон, который «косит» под настоящее десткопное приложение, а про приложения, которые не стесняются полноценно запускаться в браузере. Потому как электрон в отличии от таких приложений разве что может свою иконку на панельке рисовать и в трей возможно умеет без лишних телодвижений со стороны разработчика (хотя тут я не смотрел какие варианты есть).

 ,

peregrine
()

RSS подписка на новые темы