PS3 PKGi PS3 development

@jcorrea @Cruslan1 the translation support for PKGi is ready

I'm open to get more translations, I know you wanted to do localization so please get this template file and send me the translated version if you want it to be included in the next release:
https://github.com/bucanero/pkgi-ps3/blob/master/translate.po

Keep in mind: the file format must be ASCII as the app doesn't support multi-byte text like UTF-8. So if you open the file, and use a text editor like Notepad++, be sure to select "Encoding = ANSI / ASCII", "Character set = OEM-US / Latin-US"

If there's enough user requests I might update the code to support multi-byte languages like Japanese, but for now please use standard US-ASCII for message translation.
 
@bucanero, im newbie at Github. How i can get copy of file? I checked but i can't find any download button. Should i copy text and paste in Notepad++?

Hi, try this link to download the file:
https://github.com/bucanero/pkgi-ps3/raw/master/translate.po

The Turkish language file should be saved as "tr.po"

That link should work and download the file. If not, yes you can also copy and paste it on Notepad++.
Remember to select the correct Encoding and Character set before working.

Then if you want to try it, copy the translated file to your PS3:
Code:
/dev_hdd0/game/NP00PKGI3/USRDIR/LANG/tr.po

Assuming your PS3 language is set to Turkish, pkgi will load your tr.po file and show the screens with your translations.

You can check the Spanish file as an example:
https://github.com/bucanero/pkgi-ps3/blob/master/pkgfiles/USRDIR/LANG/es.po
 
Hello @Trollizas , thanks for sharing your German translation. There's an issue with the file, you removed the english msgid (the translation should go on the msgstr section)

For example, the correct format for the file is:

Code:
msgid "Street"
msgstr "Strasse"

msgid "Some other English message"
msgstr ".. your translation message .."

You need to keep all the english messages on msgid, and write your translation on msgstr .

Keep in mind: the file format must be ASCII as the app doesn't support multi-byte text like UTF-8. So if you open the file, and use a text editor like Notepad++, be sure to select "Encoding = ANSI / ASCII", "Character set = OEM-US / Latin-US". Set the correct encoding before you start working on the translation to avoid issues.

You can check the Spanish file as an example:
https://github.com/bucanero/pkgi-ps3/blob/master/pkgfiles/USRDIR/LANG/es.po

thanks again!
 
pkgi is still missing Italian and French translations

Hello bucanero, I translated your template in Italian, my only concern is about a few accented letters (à) which I don't know if they must be converted.

I never used pkgi (yet) so it may not be perfect, at least the file can be used as a starting point.

msgid ""

msgstr ""

"Project-Id-Version: PKGi PS3\n"

"POT-Creation-Date: 2021-10-09 19:00-0300\n"

"PO-Revision-Date: 2021-10-09 19:00-0300\n"

"Last-Translator: Venos\n"

"Language-Team: \n"

"Language: it\n"

"MIME-Version: 1.0\n"

"Content-Type: text/plain; charset=UTF-8\n"

"Content-Transfer-Encoding: 8bit\n"

"X-Generator: Poedit 3.0\n"

"X-Poedit-Basepath: ./source\n"

"Plural-Forms: nplurals=2; plural=(n != 1);\n"

"X-Poedit-Flags-xgettext: --add-comments\n"

"X-Poedit-SourceCharset: UTF-8\n"

"X-Poedit-KeywordsList: _\n"

"X-Poedit-SearchPath-0: .\n"



#: pkgi.c:82

msgid "Installing"

msgstr "Installazione in corso"



#: pkgi.c:82

msgid "Please wait..."

msgstr "Attendere prego…"



#: pkgi.c:94

msgid "Installation failed"

msgstr "Installazione fallita"



#: pkgi.c:118

msgid "Successfully downloaded"

msgstr "Download completato"



#: pkgi.c:122

msgid "Task successfully queued (reboot to start)"

msgstr "Task accodato con successo (riavvia per iniziare)"



#: pkgi.c:163

msgid "GB"

msgstr ""



#: pkgi.c:167 pkgi_download.c:249

msgid "MB"

msgstr ""



#: pkgi.c:171 pkgi.c:504 pkgi_download.c:253

msgid "KB"

msgstr ""



#: pkgi.c:175

msgid "B"

msgstr ""



#: pkgi.c:185

#, c-format

msgid "pkg requires %u %s free space, but only %u %s available"

msgstr " pkg necessita di %u %s di spazio libero, ma solo %u %s risultano disponibili"



#: pkgi.c:225 pkgi_menu.c:109 pkgi_menu.c:121

msgid "All"

msgstr "Tutti"



#: pkgi.c:226 pkgi_menu.c:122

msgid "Games"

msgstr "Giochi"



#: pkgi.c:227 pkgi_menu.c:123

msgid "DLCs"

msgstr ""



#: pkgi.c:228 pkgi_menu.c:124

msgid "Themes"

msgstr "Temi"



#: pkgi.c:229 pkgi_menu.c:125

msgid "Avatars"

msgstr "Avatar"



#: pkgi.c:230 pkgi_menu.c:126

msgid "Demos"

msgstr "Demo"



#: pkgi.c:231 pkgi_menu.c:118 pkgi_menu.c:127

msgid "Updates"

msgstr "Aggiornamenti"



#: pkgi.c:232 pkgi_menu.c:128

msgid "Emulators"

msgstr "Emulatori"



#: pkgi.c:233 pkgi_menu.c:129

msgid "Apps"

msgstr "Applicazioni"



#: pkgi.c:234 pkgi_menu.c:130

msgid "Tools"

msgstr "Strumenti"



#: pkgi.c:235

msgid "Unknown"

msgstr "Sconosciuto"



#: pkgi.c:253

msgid "Exit to XMB?"

msgstr "Ritornare alla XMB?"



#: pkgi.c:436

msgid "No items!"

msgstr "Nessun elemento!"



#: pkgi.c:462

msgid "Item already installed, download again?"

msgstr "Elemento già installato, scaricarlo di nuovo?"



#: pkgi.c:471 pkgi_download.c:372 pkgi_download.c:652

msgid "Downloading..."

msgstr "Download in corso…"



#: pkgi.c:471 pkgi.c:674

msgid "Preparing..."

msgstr "Preparazione…"



#: pkgi.c:504 pkgi.c:508

msgid "Refreshing"

msgstr "Aggiornamento"



#: pkgi.c:563 pkgi.c:567

msgid "Count"

msgstr "Quantità"



#: pkgi.c:575

msgid "Free"

msgstr "Libero"



#: pkgi.c:585

msgid "Select"

msgstr "Seleziona"



#: pkgi.c:585

msgid "Close"

msgstr "Chiudi"



#: pkgi.c:585

msgid "Cancel"

msgstr "Annulla"



#: pkgi.c:589 pkgi_download.c:136

msgid "Download"

msgstr "Scarica"



#: pkgi.c:589

msgid "Menu"

msgstr ""



#: pkgi.c:589

msgid "Details"

msgstr "Dettagli"



#: pkgi.c:589

msgid "Exit"

msgstr "Uscita"



#: pkgi.c:678

msgid "Successfully downloaded PKGi PS3 update"

msgstr "Aggiornamento di PKGi PS3 scaricato"



#: pkgi.c:1051

msgid "Search"

msgstr "Cerca"



#: pkgi_db.c:145 pkgi_db.c:153

msgid "failed to download list from"

msgstr "Download della lista fallito da"



#: pkgi_db.c:159

msgid "list is too large... check for newer pkgi version!"

msgstr "La lista è troppo larga… verifica l'esistenza di una versione più recente di pkgi!"



#: pkgi_db.c:187

msgid "list is empty... check the DB server"

msgstr "La lista è vuota… verifica il server DB"



#: pkgi_db.c:390

msgid "ERROR: pkgi.txt file(s) missing or bad config.txt file"

msgstr " ERRORE: file(s) pkgi.txt mancante o file config.txt non valido"



#: pkgi_dialog.c:80

msgid "Content"

msgstr "Contenuto"



#: pkgi_dialog.c:108

msgid "ERROR"

msgstr "ERRORE"



#: pkgi_dialog.c:169

msgid "Failed to download the update list"

msgstr "Download lista aggiornamenti fallito"



#: pkgi_dialog.c:174

msgid "update(s) loaded"

msgstr " Aggiornamento(i) caricato"



#: pkgi_dialog.c:319

#, c-format

msgid "press %s to cancel"

msgstr "Premi %s per annullare"



#: pkgi_dialog.c:333

#, c-format

msgid "press %s to close - %s to scan updates"

msgstr "Premi %s per chiudere - %s per cercare aggiornamenti"



#: pkgi_dialog.c:365

msgid "Enter"

msgstr "Conferma"



#: pkgi_dialog.c:365

msgid "Back"

msgstr "Indietro"



#: pkgi_dialog.c:367

#, c-format

msgid "press %s to close"

msgstr "Premi %s per chiudere"



#. 00000069 - Display title

#: pkgi_download.c:183

msgid "Install"

msgstr "Installa"



#: pkgi_download.c:216 pkgi_download.c:220 pkgi_download.c:226

msgid "ETA"

msgstr "Tempo rimanente stimato"



#: pkgi_download.c:310 pkgi_download.c:392

msgid "Could not send HTTP request"

msgstr "Impossibile inviare la richiesta HTTP"



#: pkgi_download.c:317 pkgi_download.c:399

msgid "HTTP request failed"

msgstr "Richiesta HTTP fallita"



#: pkgi_download.c:322 pkgi_download.c:404

msgid "HTTP response has unknown length"

msgstr "La risposta HTTP ha una lunghezza sconosciuta"



#: pkgi_download.c:331

msgid "Not enough free space on HDD"

msgstr "Spazio insufficiente sul disco"



#: pkgi_download.c:340

msgid "Could not create task directory on HDD."

msgstr "Impossibile creare la directory del task sul disco"



#: pkgi_download.c:348

msgid "Saving background task..."

msgstr "Salvataggio del task in background"



#: pkgi_download.c:354

msgid "Could not create PKG file to HDD."

msgstr "Impossibile creare il file PKG sul disco"



#: pkgi_download.c:360

msgid "Could not create task files to HDD."

msgstr "Impossibile creare i files del task sul disco"



#: pkgi_download.c:425

msgid "HTTP download error"

msgstr "Errore nel download HTTP"



#: pkgi_download.c:432

msgid "HTTP connection closed"

msgstr "Connessione HTTP terminata"



#: pkgi_download.c:445

msgid "failed to write to"

msgstr "Errore durante la scrittura di"



#: pkgi_download.c:465

msgid "cannot create folder"

msgstr "Impossibile creare la cartella"



#: pkgi_download.c:475

msgid "cannot create file"

msgstr "Impossibile creare il file"



#: pkgi_download.c:490

msgid "cannot resume file"

msgstr "Impossibile ripristinare il file"



#: pkgi_download.c:562

msgid "pkg integrity failed, try downloading again"

msgstr "Integrità del pkg non valida, provare a scaricarlo di nuovo"



#: pkgi_download.c:573

msgid "Creating RAP file"

msgstr "Creazione del file RAP in corso"



#: pkgi_download.c:581 pkgi_download.c:626

msgid "Cannot save"

msgstr "Impossibile salvare"



#: pkgi_download.c:621

msgid "Creating RIF file"

msgstr "Creazione del file RIF in corso"



#: pkgi_download.c:646

msgid "Resuming..."

msgstr "Ripristino in corso…"



#: pkgi_download.c:652

msgid "Adding background task..."

msgstr "Aggiunta del task in background…"



#: pkgi_download.c:675

msgid "Downloading icon"

msgstr "Scaricamento icona"



#: pkgi_download.c:713

msgid "Could not create install directory on HDD."

msgstr "Impossibile creare la directory di installazione sul disco"



#: pkgi_menu.c:102

msgid "Search..."

msgstr "Cerca…"



#: pkgi_menu.c:103

msgid "Sort by:"

msgstr "Ordina per:"



#: pkgi_menu.c:104

msgid "Title"

msgstr "Titolo"



#: pkgi_menu.c:105

msgid "Region"

msgstr "Regione"



#: pkgi_menu.c:106

msgid "Name"

msgstr "Nome"



#: pkgi_menu.c:107

msgid "Size"

msgstr "Dimensioni"



#: pkgi_menu.c:108

msgid "Content:"

msgstr "Contenuto:"



#: pkgi_menu.c:110

msgid "Regions:"

msgstr "Regioni:"



#: pkgi_menu.c:111

msgid "Asia"

msgstr ""



#: pkgi_menu.c:112

msgid "Europe"

msgstr "Europa"



#: pkgi_menu.c:113

msgid "Japan"

msgstr "Giappone"



#: pkgi_menu.c:114

msgid "USA"

msgstr ""



#: pkgi_menu.c:115

msgid "Options:"

msgstr "Opzioni"



#: pkgi_menu.c:116

msgid "Back. DL"

msgstr "DL in secondo piano"



#: pkgi_menu.c:117

msgid "Music"

msgstr "Musica"



#: pkgi_menu.c:119

msgid "Refresh..."

msgstr "Aggiorna…"



#: pkgi_menu.c:326

msgid "Direct DL"

msgstr "DL diretto"
 
Hello @bucanero

En effet, je peux m'en occuper, cela ne sera pas aussi parfait que si c'était mon ami "Shaolinassassin" qui en fasse la traduction mais je pense pouvoir te faire cela la semaine prochaine. De plus, la traduction Italienne peut aussi être faite par @Peppe90 s'il le veut bien, il est très bon.

Indeed, I can take care of it, it won't be as perfect as if it were my friend "Shaolinassassin" who did the translation but I think I can do that to you next week. In addition, the Italian translation can also be done by @ Peppe90 if he wants to, he is very good.

Algol "le papy".
 
Hello @bucanero

En effet, je peux m'en occuper, cela ne sera pas aussi parfait que si c'était mon ami "Shaolinassassin" qui en fasse la traduction mais je pense pouvoir te faire cela la semaine prochaine. De plus, la traduction Italienne peut aussi être faite par @Peppe90 s'il le veut bien, il est très bon.

Indeed, I can take care of it, it won't be as perfect as if it were my friend "Shaolinassassin" who did the translation but I think I can do that to you next week. In addition, the Italian translation can also be done by @ Peppe90 if he wants to, he is very good.

Algol "le papy".

Thank you. I'm not into Ps3 modding at all, but if there's need translating something I can help, no problem.

From what I see @Venos already done the job. If you're unsure of something and want a second opinion I'm here.
 
Hello bucanero, I translated your template in Italian, my only concern is about a few accented letters (à) which I don't know if they must be converted.

I never used pkgi (yet) so it may not be perfect, at least the file can be used as a starting point.

thanks @Venos for the italian translation! no worries, I'll add this version and if someone wants to improve it later then they can share updates on GitHub

Hello @bucanero

Indeed, I can take care of it, it won't be as perfect as if it were my friend "Shaolinassassin" who did the translation but I think I can do that to you next week. In addition, the Italian translation can also be done by @ Peppe90 if he wants to, he is very good.

Algol "le papy".

no worries if the translation is not perfect, I think that it can help anyways if the user doesn't know English. :)

Thank you. I'm not into Ps3 modding at all, but if there's need translating something I can help, no problem.

From what I see @Venos already done the job. If you're unsure of something and want a second opinion I'm here.

Thanks! I'll add Venos's translation, but feel free to take a look at it, in case you want to suggest any change

cheers
 
I've finished moving all the networking code to libcurl, so now PKGi can also download links from FTP, FTPS, and HTTPS servers with TLS v1.2 if required :D

I'll be running some tests in the next few days, but everything is looking good so I'll be releasing a new version pretty soon

(@Algol if you want to include the french translation just send or attach the file and I'll add it to the upcoming release)
 
I've finished moving all the networking code to libcurl, so now PKGi can also download links from FTP, FTPS, and HTTPS servers with TLS v1.2 if required :D

I'll be running some tests in the next few days, but everything is looking good so I'll be releasing a new version pretty soon

(@Algol if you want to include the french translation just send or attach the file and I'll add it to the upcoming release)

That change sounds amazing!!!

did you remove the option to download the .pkg files directly to /dev_hdd0/packages?
If I recall correctly, you made a custom build with that change. But the latest build seems to only download bubbles.

Could you make the CIRCLE button close the side menu like the TRIANGLE?
The changes made to the side menu filters are lost if the user press CIRCLE instead of TRIANGLE.
 
Last edited:
That change sounds amazing!!!

did you remove the option to download the .pkg files directly to /dev_hdd0/packages?
If I recall correctly, you made a custom build with that change. But the latest build seems to only download bubbles.

Could you make the CIRCLE button close the side menu like the TRIANGLE?
The changes made to the side menu filters are lost if the user press CIRCLE instead of TRIANGLE.

oh yes that was a custom build, and I haven't included it. (I'd need to add some setting or option somewhere; when I made the custom build I just removed the bubble thing altogether)

the circle/triangle thing, I wanted to keep the same behavior that pkgi/(j) have on the Vita, so settings are not saved unless you press triangle.
Btw, as an example, in many games if you don't confirm the settings are not saved, so at least for me it's not so weird (also I hardly change any settings on pkgi unless I'm doing tests :D )
 
Quick note about FTPS:

I missed adding a CURL flag when creating the connection, so currently "explicit FTP over TLS" is not supported. Implicit FTP over TLS should work fine (for implicit just use "ftps://myserver.com/path/to/file.pkg" as URL).

The fix is trivial, but I might wait a while before releasing another version (I assume just a few users might try to use ftps anyways)
 
@bucanero you think is possible make a graphical skin using the content of ps3db to use with pkgi to show covers, screenshots and additional info??? I think this will be awesome for the pkgi!!
 
@bucanero you think is possible make a graphical skin using the content of ps3db to use with pkgi to show covers, screenshots and additional info??? I think this will be awesome for the pkgi!!

it's possible, currently the app already tries to gather the content ICON0.PNG from an external database and shows it when you press Square. The same concept could be used to show more information.

So, on a technical level it is possible, but I'm probably not going to work on it as I'm spending my limited free time working on PS4 homebrews. The code is open-source so any other dev is free to jump and make it happen.

Time is scarce for devs, we have lives and full-time jobs; it would be a perfect world if we could just spend time on homebrew requests but user donations are almost non-existent (e.g., recently we had to struggle to get funds for aldostools replacement PS3 or the bgtoolset web-hosting, and both are at the top of most used ps3 stuff)
 
Last edited:
I think that log is missing some information, but I assume some functions or libraries are missing. (and that reminds me that I need to update the README on GitHub so that info is available)

So, let's try to do a checklist:
I'd suggest, install the missing libs by running:
Code:
make install

once all the libraries are installed on your PS3 dev environment (you can check your ps3dev/portlibs/ppu/include dir), then try to build the PKGi app again.

let me know, and if you get more errors try to get the whole compiler logs
Ik his this old but is there like a how cus im stuck just trying to get the environments right and folder layout, At home folder is there supposed to be a ps3 folder and dev inside the ps3 folder?
 
where pkgi put the downloaded file? if i want download zip file where i find it after the download?

downloaded files using direct download mode will be stored in /dev_hdd0/packages

if you use the background download mode then files will be handled by the PS3 background download, and will show up as bubbles to be installed under the Package manager.
 
Ik his this old but is there like a how cus im stuck just trying to get the environments right and folder layout, At home folder is there supposed to be a ps3 folder and dev inside the ps3 folder?

it depends on your system... on linux or macOS, the default installation for the toolchain and PSL1GHT will be:

/usr/local/ps3dev

Then the pkgi source can be in any folder, like /home/projects/pkgi-ps3 . As long as your environment has the variables and paths, you'll be able to compile it.

(For simplicity, I suggest to use one of the precompiled toolchains+psl1ght builds I have published on GitHub.)
 
Back
Top