Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Add metadata in multiple languages #3366

Open
timo95 opened this issue Jan 18, 2023 · 0 comments
Open

[Feature] Add metadata in multiple languages #3366

timo95 opened this issue Jan 18, 2023 · 0 comments

Comments

@timo95
Copy link

timo95 commented Jan 18, 2023

Is your feature request related to a problem? Please describe.

  • Many scenes have titles and details available in multiple languages, but only one version can be stored in stash. In StashDB most of the time this is english, even if there is more data available in another language (many non english scenes).
  • Non english performers often have non english descriptions and different writing systems for the name (kanji).

Describe the solution you'd like

  • Some way to store metadata of Scenes, Tags, Performers, Studios, (...) in the original language and multiple translated ones.
  • Show my preferred language if available, but fall back to other languages.
  • In addition to translations, also handle official multi country releases.
  • Scrapers and filters for this data.
  • Settings for preferred languages. For example i enter A and B as languages i know so that it can show the original language if i know it (scene is A or B) and a translation if i don't (scene is C, but A or B is available).

Some fields that would need to be available in multiple languages: Title, Name (e.g. Kanji vs Romaji), Details, Tag Description, Cover Image (text on posters), Date (official releases), File (hardsubs, dubs)

A possible way to implement this

Add multiple versions of the same scene and associate them as different language versions (collections/relations #728 ). Dynamically fall back to other language versions for empty fields. This would be much easier to implement than multiple versions of each field individually and supports all cases.

Example:
Scene was initially released in language A, has an official release in B and someone also added a translation to C.
In stash are 3 versions of this scene with the new field "language" set to each language.
With #728 relations are set between these scenes:
A - official_translation -> B
A - translation -> C
B - translation -> C (optional)
Alternatively we use a collection (A, B, C) with an additional field "type":
A: original
B: official_translation
C: translation

Original and official languages are generally preferred over translations. With the settings we now detect that C is a preferred/known language, but A and B are unknown. The resulting order is: C > A > B.

Title is available in all languages. Show C.
Details is available in A and B. Show A.
Image is available in A and B. Show A.
...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant