neodb-social / neodb

🧩 NeoDB is a self-hosted server tracking what you read/watch/listen/play, powering a global distributed community federating via ActivityPub.
https://neodb.net
GNU Affero General Public License v3.0
458 stars 33 forks source link

i18n enhancement #686

Open alphatownsman opened 3 months ago

alphatownsman commented 3 months ago

Language Support in NeoDB

Supported UI Languages

NeoDB supports these UI languages

User may specify one of them as their primary UI language, it applies to

Supported Catalog Languages

Primarily based on IETF BCP 47 language tags, NeoDB supports commonly used macro languages in ISO 639-1 (e.g. en, jp) as main list, with a small set of additional subtags based on use case.

for the following categories, users may specify title and description in those macro languages, plus a small set of region subtags in ISO 3166-1, e.g. zh-hk

for the following categories, users may specify its main written language in those macro languages, plus a small set of script subtags is defined in ISO 15924, e.g. zh-hans

for the following categories, users may specify its main spoken languagein those macro languages, plus a small set of script subtags is defined in ISO 639-3, e.g. nan, yue

the following field/category should support multiple languages, but requires much larger change, and will be planned in the future

Language support in external sites

These sites supports a wide range of languages

These sites supports title mostly in English, but may have alternative titles in multiple languages

These sites supports title in single language

These sites supports mostly Chinese, but may have alternative titles in multiple languages

Configuration

NEODB_PREFERRED_LANGUAGES can be set in .env as a comma separated list of macro languages, default will be en,zh,jp,kr, its value will be used in a few ways:

NEODB_LANGUAGE will be deprecated, and for backward compatibility, it will be used as NEODB_PREFERRED_LANGUAGES if NEODB_PREFERRED_LANGUAGES is not specified.

Note

the supported lists of languages and fields are far from extensive at the moment, we aim to stablize the implementation first, then gradually expand.

contribution for additional translations is very much welcomed.

Reference

https://en.wikipedia.org/wiki/IETF_language_tag

https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry

wiki-me commented 3 months ago

Does this include filtering reviews in other languages the user don't read? that seems like a valuable feature. or at least having the option to auto translate them.

alphatownsman commented 3 months ago

@wiki-me thanks for suggestion. I will create another issue for language of user created content. will probably start with language attribute for comments and reviews in backend and html output.