Skip to content

Localization

Openfish stores market questions and metadata canonically in English. The public app and Browse API can return localized display text for live markets when a supported locale query parameter is provided.


LocaleLanguage
zhChinese
jaJapanese
koKorean
frFrench
esSpanish

If locale is omitted, the API returns canonical English text.


Use GET /browse/markets for localized app-ready market cards.

Terminal window
curl "https://api.openfish.me/browse/markets?status=LIVE&locale=ja&limit=10"

When a translation exists, localized fields are returned in the same response shape as the English response:

{
"markets": [
{
"conditionId": "0xbd31dc8a...",
"questionText": "2027年までに...",
"outcomes": [
{ "tokenId": "123", "label": "はい", "price": "0.42" },
{ "tokenId": "456", "label": "いいえ", "price": "0.58" }
]
}
],
"total": 10
}

Localization is best-effort and asynchronous.

SituationAPI behavior
Supported locale and translation existsReturns localized questionText and outcome labels
Supported locale but translation not readyFalls back to canonical English
Unsupported localeFalls back to canonical English
No locale parameterReturns canonical English

Clients should not treat English fallback as an error.


Fixed binary outcomes are mapped directly and do not require model translation.

Englishzhjakofres
YesはいOui
Noいいえ아니요NonNo

Non-fixed outcomes, such as candidate names, teams, or custom answer text, may be translated when the market translation is available.


Only live market content is prioritized for localization. Newly imported or newly live markets may appear in English first, then return localized text after the asynchronous translation process completes.

For user-facing apps:

  1. Request the user’s locale on every market list request.
  2. Render English fallback normally.
  3. Refresh market cards periodically or when the user changes locale.
  4. Do not cache missing translations permanently.