Add basic i18n implementation (#879)

To be used as a reference point for any future i18n additions for either new languages or more translatable content.
This commit is contained in:
SpedNSFW 2020-10-27 09:35:25 +11:00 committed by GitHub
parent 47468fe122
commit cfbffb3b96
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 29 additions and 6 deletions

View file

@ -40,8 +40,8 @@ const intlFormats = {
export const App: React.FC = () => {
const config = useConfiguration();
const language = config.data?.configuration?.interface?.language ?? "en-US";
const messageLanguage = language.slice(0, 2);
const language = config.data?.configuration?.interface?.language ?? "en-GB";
const messageLanguage = language.replace(/-/, "");
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const messages = flattenMessages((locales as any)[messageLanguage]);

View file

@ -1,7 +1,7 @@
import React from "react";
import { Card } from "react-bootstrap";
import { Link } from "react-router-dom";
import { FormattedNumber, FormattedPlural } from "react-intl";
import { FormattedNumber, FormattedPlural, FormattedMessage } from "react-intl";
import * as GQL from "src/core/generated-graphql";
import { NavUtils, TextUtils } from "src/utils";
import { CountryFlag } from "src/components/Shared";
@ -22,7 +22,11 @@ export const PerformerCard: React.FC<IPerformerCardProps> = ({
if (performer.favorite === false) {
return;
}
return <div className="rating-banner rating-5">FAVORITE</div>;
return (
<div className="rating-banner rating-5">
<FormattedMessage id="favourite" defaultMessage="Favourite" />
</div>
);
}
return (

View file

@ -0,0 +1,16 @@
{
"developmentVersion": "Development Version",
"images": "Images",
"galleries": "Galleries",
"library-size": "Library size",
"markers": "Markers",
"movies": "Movies",
"new": "New",
"performers": "Performers",
"scenes": "Scenes",
"studios": "Studios",
"tags": "Tags",
"up-dir": "Up a directory",
"favourite": "FAVOURITE",
"sceneTagger": "Scene Tagger"
}

View file

@ -11,5 +11,6 @@
"studios": "Studios",
"tags": "Tags",
"up-dir": "Up a directory",
"favourite": "FAVORITE",
"sceneTagger": "Scene Tagger"
}

View file

@ -1,5 +1,7 @@
import en from "./en.json";
import enGB from "./en-GB.json";
import enUS from "./en-US.json";
export default {
en,
enGB,
enUS,
};