import os

UI_DIR = os.path.join(os.path.dirname(__file__), "UIs")
DATA_DIR = os.path.join(os.path.dirname(__file__), "data")
GETTEXT_DOMAIN = "stillcenter"
LOCALE_DIR = os.environ.get("STILLCENTER_LOCALE_DIR", "/usr/share/locale")


def N_(message: str) -> str:
    return message

FEATURED_APPS_URL = "https://gitlab.com/stillhq/stillOS/saDB-repo/-/raw/main/featured.yaml"
FEATURED_APPS_LOCAL = os.path.join(os.path.dirname(__file__), "featured.yaml")


SUBCATEGORIES = {
    "Audio": [
        ("AudioPlayer", N_("Audio Players")),
        ("AudioRecorder", N_("Audio Recording")),
        ("AudioAudioVideoEditing", N_("Audio Editing")),
        ("Midi", N_("Midi")),
        ("Mixing", N_("Mixing")),
        ("Sequencer", N_("Sequencers")),
        ("Tuner", N_("Tuning")),
        ("DiscBurning", N_("Burning")),
        ("Music", N_("Music"))
    ],
    "Development": [
        ("Building", N_("Building")),
        ("Debugger", N_("Debugging")),
        ("IDE", N_("IDEs")),
        ("GUIDesigner", N_("GUI Designers")),
        ("Profiling", N_("Profiling")),
        ("RevisionControl", N_("Version Control")),
        ("WebDevelopment", N_("Web Development")),
        ("Translation", N_("Translation"))
    ],
    "Education": [
        ("Art", N_("Art")),
        ("Construction", N_("Construction")),
        ("Music", N_("Music")),
        ("Languages", N_("Languages")),
        ("ArtificialIntelligence", N_("Artificial Intelligence")),
        ("Astronomy", N_("Astronomy")),
        ("Biology", N_("Biology")),
        ("Chemistry", N_("Chemistry")),
        ("ComputerScience", N_("Computer Science")),
        ("DataVisualization", N_("Data Visualization")),
        ("Economy", N_("Economics")),
        ("Electricity", N_("Electricity")),
        ("Geography", N_("Geography")),
        ("Geology", N_("Geology")),
        ("Geoscience", N_("Geoscience")),
        ("History", N_("History")),
        ("Humanities", N_("Humanities")),
        ("ImageProcessing", N_("Image Processing")),
        ("Literature", N_("Literature")),
        ("Maps", N_("Maps")),
        ("Math", N_("Math")),
        ("NumericalAnalysis", N_("Numerical Analysis")),
        ("MedicalSoftware", N_("Medical Software")),
        ("Physics", N_("Physics")),
        ("Robotics", N_("Robotics")),
        ("Spirituality", N_("Spirituality")),
        ("Sports", N_("Sports")),
        ("ParallelComputing", N_("Parallel Computing"))
    ],
    "Game": [
        ("ActionGame", N_("Action")),
        ("AdventureGame", N_("Adventure")),
        ("ArcadeGame", N_("Arcade")),
        ("BoardGame", N_("Board")),
        ("BlocksGame", N_("Blocks")),
        ("CardGame", N_("Cards")),
        ("KidsGame", N_("Kids")),
        ("LogicGame", N_("Logic")),
        ("RolePlaying", N_("RPGs")),
        ("Shooter", N_("Shooters")),
        ("Simulation", N_("Simulation")),
        ("SportsGame", N_("Sports")),
        ("StrategyGame", N_("Strategy"))
    ],
    "Graphics": [
        ("2DGraphics", N_("2D Graphics")),
        ("VectorGraphics", N_("Vector Graphics")),
        ("RasterGraphics", N_("Raster Graphics")),
        ("3DGraphics", N_("3D Graphics")),
        ("Scanning", N_("Scanning")),
        ("OCR", N_("OCR")),
        ("Photography", N_("Photography")),
        ("Publishing", N_("Publishing")),
        ("Viewer", N_("Viewer"))
    ],
    "Network": [
        ("InstantMessaging", N_("Instant Messaging")),
        ("Chat", N_("Chatting")),
        ("IRCClient", N_("IRC Clients")),
        ("Feed", N_("Feed Readers")),
        ("FileTransfer", N_("File Transfers")),
        ("HamRadio", N_("Ham Radio")),
        ("News", N_("News")),
        ("P2P", N_("P2P")),
        ("RemoteAccess", N_("Remote Access")),
        ("Telephony", N_("Telephony")),
        ("VideoConference", N_("Video Conference")),
        ("WebBrowser", N_("Web Browser"))
    ],
    "Office": [
        ("Calendar", N_("Calendars")),
        ("ContactManagement", N_("Contact Management")),
        ("Database", N_("Databases")),
        ("Dictionary", N_("Dictionaries")),
        ("Chart", N_("Charts")),
        ("Email", N_("Email")),
        ("Finance", N_("Finance")),
        ("FlowChart", N_("Flow Chart")),
        ("PDA", N_("PDA")),
        ("ProjectManagement", N_("Project Management")),
        ("Presentation", N_("Presentations")),
        ("Spreadsheet", N_("Spreadsheets")),
        ("WordProcessor", N_("Word Processors"))
    ],
    "Utility": [
        ("TextTools", N_("Text Tools")),
        ("Calculator", N_("Calculators")),
        ("Clock", N_("Clocks")),
        ("TextEditor", N_("Text Editors")),
        ("FileTools", N_("File Tools")),
        ("Accessibility", N_("Accessibility")),
        ("ConsoleOnly", N_("Terminal Apps"))
    ],
    "Video": [
        ("VideoPlayer", N_("Video Players")),
        ("VideoRecorder", N_("Video Recording")),
        ("VideoAudioVideoEditing", N_("Video Editing")),
        ("TV", N_("TV")),
        ("DiscBurning", N_("Disc Burning"))
    ],
    "System": [
        ("DesktopSettings", N_("Desktop Settings")),
        ("HardwareSettings", N_("Hardware Settings")),
        ("Printing", N_("Printing")),
        ("PackageManager", N_("Package Managers")),
        ("FileManager", N_("File Managers")),
        ("TerminalEmulator", N_("Terminal Emulators")),
        ("Filesystem", N_("Filesystem")),
        ("Monitor", N_("Monitoring")),
        ("Security", N_("Security")),
        ("Accessibility", N_("Accessibility"))
    ]
}
