Страници: 1 [2] 3 4 ... 10
 11 
 -: Mar 13, 2026, 11:49 
Започната от remotexx - Последна публикация от Acho
А то само горивото за самальотите ли е ? Ами там дето заемат място и друг самолет не може да стои, ами всякакви режийни разходи, ами екипажите и те някъде живеят хранят се горят ток, всечки от РВД трябва да се съобразяват с техните полети, изобщо са една голяма пречка и натоварване за летището. А военната опасност е друга бира. Костя с право пита правителството, кой аджеба ще плаща тоя престой:

https://fakti.bg/bulgaria/1041189-kostadinov-pravitelstvoto-da-kaje-koi-plashta-kerosina-za-amerikanskite-samoleti-na-letishte-vasil-levski

 12 
 -: Mar 13, 2026, 09:18 
Започната от go_fire - Последна публикация от Acho
Като няма петрол, няма и санкции:

https://www.vesti.bg/sviat/sasht-svaliha-sankciite-za-kupuvaneto-na-ruski-surov-petrol-i-neftoprodukti-6254241

 13 
 -: Mar 13, 2026, 09:15 
Започната от go_fire - Последна публикация от Acho
Ама един загинал в Ирак. Какво чакате, нали се канехте да пращате войска в Украйната. Да има по кого да чешат рашъните:

https://novini.bg/article/2026031304272377345

 14 
 -: Mar 13, 2026, 09:11 
Започната от spec1a - Последна публикация от Acho
Ама то няма да си е той, ако не заплашва някого всяка сътрин:

https://novini.bg/article/2026031306355283785

 15 
 -: Mar 13, 2026, 09:09 
Започната от remotexx - Последна публикация от Acho
Да се запасиш, колко да се запасиш:

https://novini.bg/article/2026031306594644132

 16 
 -: Mar 13, 2026, 09:03 
Започната от remotexx - Последна публикация от Acho
И пак е Петък 13-ти. Внимавайте за проблеми през днешния ден.

 17 
 -: Mar 13, 2026, 08:49 
Започната от rado84 - Последна публикация от 4096bits
Снощи преди да си легна набързо сглобих това.
Превръща .dat файла в json.

Но изглежда почти половината думи са без транскрипция или аз нещо не правя, както трябва.
Защото скрипта елиминира напълно всичко между [ и ], както ние пишем транскрипцията и търси думата във външен файл и заменя транскрипцията направо.

Ако във външния файл думата не е намерена, транскрипция за нея няма да бъде записана в новия файл.

Един начин да се избегне това, ако оригиналната транскрипция е налича в .dat файла, е да се използва предишния метод - подмяна на символите, както беше направено в примера в някой от предишните постове.
За това обаче, ще трябва да се въведат в mapping абсолютно всички символи, за да е коректно всичко и съответно, това да се добави към скрипта, където трябва.

Външния файл, в който се търси за транскрипция на думата е взет от https://github.com/open-dict-data/ipa-dict/releases/tag/1.0
Името му е директно вписано в скрипта и си го търси в текушата директория на скрипта.
Нарочно го направих така, вместо да се дава като параметър, защото второто може просто да не проработи - ако се зададе друг json файл, може да е форматиран по друг начин, с други ключове и да не го прочете изобщо.
Ако се подменя с по-пълен файл, трябва да се подменят и съответните ключове във функция search_pro в началото на скрипта.

Друг вариант да се въведе транскриция за всяка дума, е да се пита в интернет в някой сайт за това.
Можех да го пробвам, но не ми се занимаваше, че исках да си лягам.
Там можеше да се сблъскам и с проблеми с блокаж на IP адреса ми, ако ги ударех с 20 000+ заявки.

Скрипта се стартира с: python dat2json.py en-bg.dat
Скриптчето не прави никакви проверки, дали файла (en-bg.dat) съществува или пък някакви други, за коректност на подадените параметри.
Той параметъра е само един - името на dat файла.

Същия скрипт може да се ползва и за bg-en.dat, като се махне/коментира напълно частта, която търси за транскрипция и съответния ключ в променливата new_record.

Код:
import json
import re
import sys
from pathlib import Path

dat_file = Path(sys.argv[1]).resolve()


def search_pron(word, data_file):
    try:
        pron = data_file["en_UK"][0][word.lower()]
        return f"[{pron.strip('/')}]"
    except KeyError:
        return ""


def to_json(dat_file):
    with open(dat_file, "rb") as dat:
        data = dat.read()

    # en_UK.json от https://github.com/open-dict-data/ipa-dict/releases/tag/1.0
    # може да се замени с ne_US.json за американско произношение
    with (
        open("en_UK.json", "r") as transcriptions,
        open(f"{dat_file.parent}/{dat_file.stem}.json", "w") as result,
        open("no_transription.txt", "w") as missing,
    ):
        records = data.split(b"\x00")  # взето от GTK3 версията на програмата
        words = len(records)
        print(f"Words in {dat_file.name}: {words}")

        transcr = json.load(transcriptions)
        new_data = {dat_file.stem: list()}

        counter = 1
        no_pron = 0
        # transcr_pn = re.compile(r"\[.*?\]") # "\[[^\]]*\]"
        transcr_pn = re.compile(r"\[[^\]]*\]")  # r'\[.*?\]'
        for record in records:
            # взето от GTK3 версията на програмата
            if not record:
                continue

            record = record.decode("cp1251", errors="ignore")

            # взето от GTK3 версията на програмата
            if "\n" not in record:
                continue

            pron = ""

            if transcr_pn.search(record):
                word, translation = record.split("\n", 1)
                translation = transcr_pn.sub("", translation).strip()
                pron = search_pron(word, transcr)
            else:
                word, translation = record.split("\n", 1)
                pron = search_pron(word, transcr)

            if not pron:
                missing.write(f"{pron}\n")
                no_pron = no_pron + 1

            new_record = {
                "word": word,
                "transcription": pron,
                "translation": translation,
            }

            new_data[dat_file.stem].append(new_record)

            print(f"\rProcessed: {counter}/{words}", end="")
            counter = counter + 1

        json.dump(new_data, result, ensure_ascii=False, indent=2)

        print("\n\nDone!")
        print(f"Words without transcription: {no_pron}")
        print("List available in no_transription.txt")


if __name__ == "__main__":
    to_json(dat_file)

 18 
 -: Mar 12, 2026, 21:51 
Започната от powerhost - Последна публикация от rado84
На мен това ми звучи като писано от някой HR, който в живота си е виждал линукс само на снимка и идея си няма какво пише, а само слага каквито думички се сети, за да изглежда по-техническо.  :P 

 19 
 -: Mar 12, 2026, 16:05 
Започната от spec1a - Последна публикация от remotexx
Е как "как"- ИИто което го е набарало му еказало и колко може да изцеди за него  [_]3

 20 
 -: Mar 12, 2026, 16:05 
Започната от go_fire - Последна публикация от Acho
Мръсници ли са тез украинци, дето всички усилено им помагат вече толкова години:

https://fakti.bg/world/1040971-orban-obvinava-ukraina-v-zagovor-sreshtu-semeistvoto-mu

Страници: 1 [2] 3 4 ... 10