Tustin / psn-php

A PHP wrapper for the PSN API
https://tustin.dev/psn-php/
MIT License
354 stars 73 forks source link

How to alter the language / localization of games and trophies? #242

Open yduke opened 1 year ago

yduke commented 1 year ago

Have well read the documents and didn't find how to change the local settings.

Is there any way to set what language the api return? Like es-es zh-cn zh-tw ?

Thank you.

Ragowit commented 1 year ago

Don't know if there's an easy setting for it, but you could change a line in Client.php: https://github.com/Tustin/psn-php/blob/5d9a357eed5e478e0b97112498c6cd5d6bac1749/src/Client.php#L27

Please note that it will not return language it doesn't have. If the game doesn't have any es-es languages, you can't get it. It will probably return en-US in that case. Or whatever Sony has said is the default for that title.

yduke commented 1 year ago

Thank you @Ragowit ! I've tried to modify the line you metioned above, and the tropies are localized!

But seems this is not effected the localizedName() under gameList(), for example:

foreach ($user->gameList() as $game) {
  $game->name();   //will return English name
  $game->localizedName();   //will return the same English name
  $game->concept()->shortDescription();  //will return localized short description
  $game->concept()->longDescription();  //will return localized long description
}

I am aware of some of games' name doesn't have a localized name, but I've tried alot and even successfully get the localized game name in$user->trophyTitles() foreach trophyTitle()->name() , so it means the game does have a localized name right?

Any idea on how to get localized name in gameList() ?

Ragowit commented 1 year ago

I have actually no idea, maybe @Tustin knows more.

Tustin commented 1 year ago

I'd have to check the API again. Not sure if all the endpoints abide by that language header.

However, I'll make a change to allow passing a custom Accept-Language to the Client constructor.

yduke commented 1 year ago

Thank you both Ragowit and Tustin ! Respect!

A langrage parmeter for Client would be great, won't have to modify the mian files and better for update.

Cheers!

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.