bs-community / yggdrasil-api

Please refer to https://github.com/bs-community/blessing-skin-plugins .
MIT License
60 stars 7 forks source link

BS 的多语言系统导致 Yggdrasil API 插件无法获得正确的站点名称 #26

Closed tnqzh123 closed 4 years ago

tnqzh123 commented 4 years ago

我们知道,因为 BS 的多语言系统,在 options 表中,站点名称的是这样存储的: image

然而,在 Yggdrasil API 插件中,是这样获取站点名称的: https://github.com/bs-community/yggdrasil-api/blob/933cabc1ec3af922a341d49284222e6c9d3eb701/src/Controllers/ConfigController.php#L97

这导致了插件无法获得正确的站点名称。

tnqzh123 commented 4 years ago

我不知道如何获取站点名称比较好...

这种情况下如果仅指定一种语言的话,对其他语言的用户来说其实是不怎么合理的。

Asnxthaony commented 4 years ago
'serverName' => option_localized('site_name'),
tnqzh123 commented 4 years ago

@Asnxthaony

'serverName' => option_localized('site_name'),

API 这边能用 option_localized() 吗…?没法获取到用户选择的语言(或者说用户根本就没有指定语言)吧?

g-plane commented 4 years ago

这要看看客户端(应该是?)发送的 HTTP 请求里包含了哪些头部信息。

g-plane commented 4 years ago

然而我的猜测是,客户端所发的 HTTP 的头部中有可能头部没有跟语言相关的。如果是这样,即使用了 option_localized,也只能使用 fallback 值。