From 95a6188a1ca72b93fcaca85741d1372e32c418d2 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Fri, 29 Jul 2022 19:33:43 -0400 Subject: [PATCH 1/2] Notices to bootstrap new languages - core react/i18n --- packages/fakeyou/src/App.tsx | 36 +++++++++++++++---- .../fakeyou/src/_i18n/locales/en/index.ts | 3 ++ .../en/notices/HelpBootstrapLanguage.json | 4 +++ .../src/_i18n/locales/en/notices/index.ts | 5 +++ .../src/v2/view/NewVocodesContainer.tsx | 5 +++ .../tts/tts_model_list/TtsModelListPage.tsx | 21 +++++++++++ .../tts_model_list/notices/GenericNotice.tsx | 33 +++++++++++++++++ 7 files changed, 100 insertions(+), 7 deletions(-) create mode 100644 packages/fakeyou/src/_i18n/locales/en/notices/HelpBootstrapLanguage.json create mode 100644 packages/fakeyou/src/_i18n/locales/en/notices/index.ts create mode 100644 packages/fakeyou/src/v2/view/tts/tts_model_list/notices/GenericNotice.tsx diff --git a/packages/fakeyou/src/App.tsx b/packages/fakeyou/src/App.tsx index 6e66b23c05..2c87fe379c 100644 --- a/packages/fakeyou/src/App.tsx +++ b/packages/fakeyou/src/App.tsx @@ -101,6 +101,9 @@ interface State { isShowingTwitchTtsNotice: boolean; isShowingPleaseFollowNotice: boolean; + // An improved notice for "new" languages asking users to help. + isShowingBootstrapLanguageNotice: boolean; + // Jobs enqueued during this browser session. ttsInferenceJobs: Array; w2lInferenceJobs: Array; @@ -149,14 +152,13 @@ class App extends React.Component { isShowingVocodesNotice: props.flashVocodesNotice, - //localeLanguageCodes: [], - //localeFullLanguageTags: [], isShowingLanguageNotice: false, displayLanguage: Language.English, primaryLanguageCode: "en", isShowingTwitchTtsNotice: showTwitchNotice, isShowingPleaseFollowNotice: showPleaseFollowNotice, + isShowingBootstrapLanguageNotice: false, ttsInferenceJobs: [], w2lInferenceJobs: [], @@ -224,21 +226,16 @@ class App extends React.Component { const hasHindi= locale.language_codes.indexOf("hi") > -1; const hasChineseSimplified = locale.language_codes.indexOf("zh") > -1; const hasKorean = locale.language_codes.indexOf("ko") > -1; - const showNotice = hasSpanish || hasPortuguese || hasTurkish; //|| hasIndonesian || hasGerman || hasJapanese; let displayLanguage = Language.English; let languageCode = "en"; - let showPleaseFollowNotice = false; - if (hasSpanish) { displayLanguage = Language.Spanish; languageCode = "es"; - showPleaseFollowNotice = true; } else if (hasPortuguese) { displayLanguage = Language.Portuguese; languageCode = "pt"; - showPleaseFollowNotice = true; } else if (hasTurkish) { displayLanguage = Language.Turkish; languageCode = "tr"; @@ -268,11 +265,28 @@ class App extends React.Component { languageCode = "zh"; } + const showNotice = hasSpanish || hasPortuguese || hasTurkish; + const showPleaseFollowNotice = hasSpanish || hasPortuguese; + + const showBootstrapLanguageNotice = ( + hasJapanese + || hasKorean + || hasFrench + || hasTurkish + || hasIndonesian + || hasGerman + || hasVietnamese + || hasHindi + || hasChineseSimplified + || true + ); + this.setState({ isShowingLanguageNotice: showNotice, displayLanguage: displayLanguage, primaryLanguageCode: languageCode, isShowingPleaseFollowNotice: showPleaseFollowNotice, + isShowingBootstrapLanguageNotice: showBootstrapLanguageNotice, }); i18n.changeLanguage(languageCode); @@ -314,6 +328,10 @@ class App extends React.Component { this.setState({ isShowingPleaseFollowNotice: false }); }; + clearBootstrapLanguageNotice = () => { + this.setState({ isShowingBootstrapLanguageNotice: false }); + }; + enqueueTtsJob = (jobToken: string) => { const newJob = new TtsInferenceJob(jobToken); let inferenceJobs = this.state.ttsInferenceJobs.concat([newJob]); @@ -599,6 +617,10 @@ class App extends React.Component { this.state.isShowingPleaseFollowNotice } clearPleaseFollowNotice={this.clearPleaseFollowNotice} + isShowingBootstrapLanguageNotice={ + this.state.isShowingBootstrapLanguageNotice + } + clearBootstrapLanguageNotice={this.clearBootstrapLanguageNotice} enqueueTtsJob={this.enqueueTtsJob} ttsInferenceJobs={this.state.ttsInferenceJobs} enqueueW2lJob={this.enqueueW2lJob} diff --git a/packages/fakeyou/src/_i18n/locales/en/index.ts b/packages/fakeyou/src/_i18n/locales/en/index.ts index 51d5d4cf2e..4f4196b5e7 100644 --- a/packages/fakeyou/src/_i18n/locales/en/index.ts +++ b/packages/fakeyou/src/_i18n/locales/en/index.ts @@ -1,8 +1,11 @@ // "en" - English // 1.1 billion speakers (worldwide #1) // Twitch #1 (1.1m concurrent viewers, 52k concurrent streamers) + +import * as notices from './notices'; import * as tts from './tts'; export { + notices, tts, } diff --git a/packages/fakeyou/src/_i18n/locales/en/notices/HelpBootstrapLanguage.json b/packages/fakeyou/src/_i18n/locales/en/notices/HelpBootstrapLanguage.json new file mode 100644 index 0000000000..f0634fe4c0 --- /dev/null +++ b/packages/fakeyou/src/_i18n/locales/en/notices/HelpBootstrapLanguage.json @@ -0,0 +1,4 @@ +{ + "title": "We'll pay you to help us build voices!", + "body": "We don't have enough voices in this language yet. Please help us build your favorite characters. Join our <1 /> and we'll teach you how. We'll pay you <3 /> per voice, too!" +} \ No newline at end of file diff --git a/packages/fakeyou/src/_i18n/locales/en/notices/index.ts b/packages/fakeyou/src/_i18n/locales/en/notices/index.ts new file mode 100644 index 0000000000..37a51fec7d --- /dev/null +++ b/packages/fakeyou/src/_i18n/locales/en/notices/index.ts @@ -0,0 +1,5 @@ +import * as HelpBootstrapLanguage from './HelpBootstrapLanguage.json'; + +export { + HelpBootstrapLanguage, +} diff --git a/packages/fakeyou/src/v2/view/NewVocodesContainer.tsx b/packages/fakeyou/src/v2/view/NewVocodesContainer.tsx index 998bf6a64a..9cab98c382 100644 --- a/packages/fakeyou/src/v2/view/NewVocodesContainer.tsx +++ b/packages/fakeyou/src/v2/view/NewVocodesContainer.tsx @@ -72,6 +72,9 @@ interface Props { isShowingPleaseFollowNotice: boolean, clearPleaseFollowNotice: () => void, + isShowingBootstrapLanguageNotice: boolean, + clearBootstrapLanguageNotice: () => void, + enqueueTtsJob: (jobToken: string) => void, ttsInferenceJobs: Array, @@ -419,6 +422,8 @@ class NewVocodesContainer extends React.Component { clearTwitchTtsNotice={this.props.clearTwitchTtsNotice} isShowingPleaseFollowNotice={this.props.isShowingPleaseFollowNotice} clearPleaseFollowNotice={this.props.clearPleaseFollowNotice} + isShowingBootstrapLanguageNotice={this.props.isShowingBootstrapLanguageNotice} + clearBootstrapLanguageNotice={this.props.clearBootstrapLanguageNotice} enqueueTtsJob={this.props.enqueueTtsJob} ttsInferenceJobs={this.props.ttsInferenceJobs} ttsModelUploadJobs={this.props.ttsModelUploadJobs} diff --git a/packages/fakeyou/src/v2/view/tts/tts_model_list/TtsModelListPage.tsx b/packages/fakeyou/src/v2/view/tts/tts_model_list/TtsModelListPage.tsx index 0e534e4f96..70775d7ff5 100644 --- a/packages/fakeyou/src/v2/view/tts/tts_model_list/TtsModelListPage.tsx +++ b/packages/fakeyou/src/v2/view/tts/tts_model_list/TtsModelListPage.tsx @@ -43,6 +43,9 @@ import { faVolumeHigh, faVolumeUp, } from "@fortawesome/free-solid-svg-icons"; +import { GenericNotice } from "./notices/GenericNotice"; +import { DiscordLink } from "@storyteller/components/src/elements/DiscordLink"; +import { DiscordLink2 } from "@storyteller/components/src/elements/DiscordLink2"; const Fade = require("react-reveal/Fade"); @@ -67,6 +70,9 @@ interface Props { isShowingPleaseFollowNotice: boolean; clearPleaseFollowNotice: () => void; + isShowingBootstrapLanguageNotice: boolean; + clearBootstrapLanguageNotice: () => void; + enqueueTtsJob: (jobToken: string) => void; ttsInferenceJobs: Array; ttsModelUploadJobs: Array; @@ -248,6 +254,19 @@ function TtsModelListPage(props: Props) { /> ) : undefined; + let dollars = "$150 USD"; + + const bootstrapLanguageNotice = props.isShowingBootstrapLanguageNotice ? ( + + We don't have enough voices in this language yet. Please help us build your favorite characters. + Join our and we'll teach you how. We'll pay {dollars} you per voice, too! + } + clearNotice={props.clearBootstrapLanguageNotice} + /> + ) : undefined; + // Show errors on TTS failure let maybeError = <>; if (!!maybeTtsError) { @@ -304,6 +323,8 @@ function TtsModelListPage(props: Props) { return (
+ {bootstrapLanguageNotice} + {pleaseFollowNotice} {languageNotice} diff --git a/packages/fakeyou/src/v2/view/tts/tts_model_list/notices/GenericNotice.tsx b/packages/fakeyou/src/v2/view/tts/tts_model_list/notices/GenericNotice.tsx new file mode 100644 index 0000000000..4425a34af0 --- /dev/null +++ b/packages/fakeyou/src/v2/view/tts/tts_model_list/notices/GenericNotice.tsx @@ -0,0 +1,33 @@ +import React from "react"; + +interface Props { + title: string; + body: string | JSX.Element; + clearNotice: () => void; +} + +function GenericNotice(props: Props) { + return ( + <> +
+
+ +

+ {props.title} +

+ {props.body} +
+
+ + ); +} + +export { GenericNotice }; From 8e8d829f4793bfcedfcca6f3d69bb8018d6f8eed Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Fri, 29 Jul 2022 19:37:03 -0400 Subject: [PATCH 2/2] German notice, french, Hindi, etc. Italian is partially complete. Must have been skipped earlier. --- packages/components/src/i18n/Language.ts | 1 + packages/fakeyou/src/App.tsx | 38 ++++++++++--------- .../fakeyou/src/_i18n/locales/de/index.ts | 3 ++ .../de/notices/HelpBootstrapLanguage.json | 4 ++ .../src/_i18n/locales/de/notices/index.ts | 5 +++ .../fakeyou/src/_i18n/locales/fr/index.ts | 3 ++ .../fr/notices/HelpBootstrapLanguage.json | 4 ++ .../src/_i18n/locales/fr/notices/index.ts | 5 +++ .../fakeyou/src/_i18n/locales/hi/index.ts | 3 ++ .../hi/notices/HelpBootstrapLanguage.json | 4 ++ .../src/_i18n/locales/hi/notices/index.ts | 5 +++ .../fakeyou/src/_i18n/locales/id/index.ts | 3 ++ .../id/notices/HelpBootstrapLanguage.json | 4 ++ .../src/_i18n/locales/id/notices/index.ts | 5 +++ .../fakeyou/src/_i18n/locales/it/index.ts | 3 ++ .../it/notices/HelpBootstrapLanguage.json | 4 ++ .../src/_i18n/locales/it/notices/index.ts | 5 +++ .../fakeyou/src/_i18n/locales/ja/index.ts | 3 ++ .../ja/notices/HelpBootstrapLanguage.json | 4 ++ .../src/_i18n/locales/ja/notices/index.ts | 5 +++ .../fakeyou/src/_i18n/locales/ko/index.ts | 3 ++ .../ko/notices/HelpBootstrapLanguage.json | 4 ++ .../src/_i18n/locales/ko/notices/index.ts | 5 +++ .../fakeyou/src/_i18n/locales/vi/index.ts | 3 ++ .../vi/notices/HelpBootstrapLanguage.json | 4 ++ .../src/_i18n/locales/vi/notices/index.ts | 5 +++ .../fakeyou/src/_i18n/locales/zh/index.ts | 3 ++ .../zh/notices/HelpBootstrapLanguage.json | 4 ++ .../src/_i18n/locales/zh/notices/index.ts | 5 +++ .../tts/tts_model_list/TtsModelListPage.tsx | 3 +- 30 files changed, 131 insertions(+), 19 deletions(-) create mode 100644 packages/fakeyou/src/_i18n/locales/de/notices/HelpBootstrapLanguage.json create mode 100644 packages/fakeyou/src/_i18n/locales/de/notices/index.ts create mode 100644 packages/fakeyou/src/_i18n/locales/fr/notices/HelpBootstrapLanguage.json create mode 100644 packages/fakeyou/src/_i18n/locales/fr/notices/index.ts create mode 100644 packages/fakeyou/src/_i18n/locales/hi/notices/HelpBootstrapLanguage.json create mode 100644 packages/fakeyou/src/_i18n/locales/hi/notices/index.ts create mode 100644 packages/fakeyou/src/_i18n/locales/id/notices/HelpBootstrapLanguage.json create mode 100644 packages/fakeyou/src/_i18n/locales/id/notices/index.ts create mode 100644 packages/fakeyou/src/_i18n/locales/it/notices/HelpBootstrapLanguage.json create mode 100644 packages/fakeyou/src/_i18n/locales/it/notices/index.ts create mode 100644 packages/fakeyou/src/_i18n/locales/ja/notices/HelpBootstrapLanguage.json create mode 100644 packages/fakeyou/src/_i18n/locales/ja/notices/index.ts create mode 100644 packages/fakeyou/src/_i18n/locales/ko/notices/HelpBootstrapLanguage.json create mode 100644 packages/fakeyou/src/_i18n/locales/ko/notices/index.ts create mode 100644 packages/fakeyou/src/_i18n/locales/vi/notices/HelpBootstrapLanguage.json create mode 100644 packages/fakeyou/src/_i18n/locales/vi/notices/index.ts create mode 100644 packages/fakeyou/src/_i18n/locales/zh/notices/HelpBootstrapLanguage.json create mode 100644 packages/fakeyou/src/_i18n/locales/zh/notices/index.ts diff --git a/packages/components/src/i18n/Language.ts b/packages/components/src/i18n/Language.ts index fa57184370..d8d04921ba 100644 --- a/packages/components/src/i18n/Language.ts +++ b/packages/components/src/i18n/Language.ts @@ -11,6 +11,7 @@ enum Language { Hindi, ChineseSimplified, Korean, + Italian, } export { Language } diff --git a/packages/fakeyou/src/App.tsx b/packages/fakeyou/src/App.tsx index 2c87fe379c..f5c47acb60 100644 --- a/packages/fakeyou/src/App.tsx +++ b/packages/fakeyou/src/App.tsx @@ -215,17 +215,18 @@ class App extends React.Component { let locale = await DetectLocale(); if (DetectLocaleIsOk(locale)) { // TODO: Does not respect preference - const hasSpanish = locale.language_codes.indexOf("es") > -1; - const hasPortuguese = locale.language_codes.indexOf("pt") > -1; - const hasTurkish = locale.language_codes.indexOf("tr") > -1; - const hasIndonesian = locale.language_codes.indexOf("id") > -1; - const hasGerman = locale.language_codes.indexOf("de") > -1; - const hasJapanese = locale.language_codes.indexOf("ja") > -1; - const hasFrench = locale.language_codes.indexOf("fr") > -1; - const hasVietnamese = locale.language_codes.indexOf("vi") > -1; - const hasHindi= locale.language_codes.indexOf("hi") > -1; const hasChineseSimplified = locale.language_codes.indexOf("zh") > -1; + const hasFrench = locale.language_codes.indexOf("fr") > -1; + const hasGerman = locale.language_codes.indexOf("de") > -1; + const hasHindi= locale.language_codes.indexOf("hi") > -1; + const hasIndonesian = locale.language_codes.indexOf("id") > -1; + const hasItalian = locale.language_codes.indexOf("it") > -1; + const hasJapanese = locale.language_codes.indexOf("ja") > -1; const hasKorean = locale.language_codes.indexOf("ko") > -1; + const hasPortuguese = locale.language_codes.indexOf("pt") > -1; + const hasSpanish = locale.language_codes.indexOf("es") > -1; + const hasTurkish = locale.language_codes.indexOf("tr") > -1; + const hasVietnamese = locale.language_codes.indexOf("vi") > -1; let displayLanguage = Language.English; let languageCode = "en"; @@ -260,6 +261,9 @@ class App extends React.Component { } else if (hasHindi) { displayLanguage = Language.Hindi; languageCode = "hi"; + } else if (hasItalian) { + displayLanguage = Language.Italian; + languageCode = "it"; } else if (hasChineseSimplified) { displayLanguage = Language.ChineseSimplified; languageCode = "zh"; @@ -270,15 +274,15 @@ class App extends React.Component { const showBootstrapLanguageNotice = ( hasJapanese - || hasKorean - || hasFrench - || hasTurkish - || hasIndonesian - || hasGerman - || hasVietnamese - || hasHindi || hasChineseSimplified - || true + || hasFrench + || hasGerman + || hasHindi + || hasIndonesian + || hasItalian + || hasKorean + || hasTurkish + || hasVietnamese ); this.setState({ diff --git a/packages/fakeyou/src/_i18n/locales/de/index.ts b/packages/fakeyou/src/_i18n/locales/de/index.ts index 70e9174e19..ad0c03de60 100644 --- a/packages/fakeyou/src/_i18n/locales/de/index.ts +++ b/packages/fakeyou/src/_i18n/locales/de/index.ts @@ -1,8 +1,11 @@ // "de" - German // 1.1 billion speakers (worldwide #1) // Twitch #4 (150k concurrent viewers, 4.5k concurrent streamers) + +import * as notices from './notices'; import * as tts from './tts'; export { + notices, tts, } diff --git a/packages/fakeyou/src/_i18n/locales/de/notices/HelpBootstrapLanguage.json b/packages/fakeyou/src/_i18n/locales/de/notices/HelpBootstrapLanguage.json new file mode 100644 index 0000000000..381f4afc2a --- /dev/null +++ b/packages/fakeyou/src/_i18n/locales/de/notices/HelpBootstrapLanguage.json @@ -0,0 +1,4 @@ +{ + "title": "Wir bezahlen Sie dafür, dass Sie uns dabei helfen, Stimmen aufzubauen!", + "body": "Wir haben noch nicht genug Stimmen in dieser Sprache. Bitte helfen Sie uns, Ihre Lieblingscharaktere zu bauen. Treten Sie unserem <1 /> bei und wir zeigen Ihnen, wie es geht. Wir zahlen Ihnen auch <3 /> pro Stimme!" +} \ No newline at end of file diff --git a/packages/fakeyou/src/_i18n/locales/de/notices/index.ts b/packages/fakeyou/src/_i18n/locales/de/notices/index.ts new file mode 100644 index 0000000000..37a51fec7d --- /dev/null +++ b/packages/fakeyou/src/_i18n/locales/de/notices/index.ts @@ -0,0 +1,5 @@ +import * as HelpBootstrapLanguage from './HelpBootstrapLanguage.json'; + +export { + HelpBootstrapLanguage, +} diff --git a/packages/fakeyou/src/_i18n/locales/fr/index.ts b/packages/fakeyou/src/_i18n/locales/fr/index.ts index 73e010c3b6..bbfe3379f8 100644 --- a/packages/fakeyou/src/_i18n/locales/fr/index.ts +++ b/packages/fakeyou/src/_i18n/locales/fr/index.ts @@ -1,8 +1,11 @@ // "fr" - French // 280 million speakers (worldwide #5) // Twitch #5 (140k concurrent viewers, 4.4k concurrent streamers) + +import * as notices from './notices'; import * as tts from './tts'; export { + notices, tts, } diff --git a/packages/fakeyou/src/_i18n/locales/fr/notices/HelpBootstrapLanguage.json b/packages/fakeyou/src/_i18n/locales/fr/notices/HelpBootstrapLanguage.json new file mode 100644 index 0000000000..6e30430494 --- /dev/null +++ b/packages/fakeyou/src/_i18n/locales/fr/notices/HelpBootstrapLanguage.json @@ -0,0 +1,4 @@ +{ + "title": "Nous vous paierons pour nous aider à construire des voix !", + "body": "Nous n'avons pas encore assez de voix dans cette langue. Aidez-nous à créer vos personnages préférés. Rejoignez notre <1 /> et nous vous apprendrons comment. Nous vous paierons également <3 /> par voix !" +} \ No newline at end of file diff --git a/packages/fakeyou/src/_i18n/locales/fr/notices/index.ts b/packages/fakeyou/src/_i18n/locales/fr/notices/index.ts new file mode 100644 index 0000000000..37a51fec7d --- /dev/null +++ b/packages/fakeyou/src/_i18n/locales/fr/notices/index.ts @@ -0,0 +1,5 @@ +import * as HelpBootstrapLanguage from './HelpBootstrapLanguage.json'; + +export { + HelpBootstrapLanguage, +} diff --git a/packages/fakeyou/src/_i18n/locales/hi/index.ts b/packages/fakeyou/src/_i18n/locales/hi/index.ts index e5c3ac3ab2..bbdec95c43 100644 --- a/packages/fakeyou/src/_i18n/locales/hi/index.ts +++ b/packages/fakeyou/src/_i18n/locales/hi/index.ts @@ -1,8 +1,11 @@ // "hi" - Hindi // 615 million speakers (worldwide #3) // Twitch negligable (<50 streamers) + +import * as notices from './notices'; import * as tts from './tts'; export { + notices, tts, } diff --git a/packages/fakeyou/src/_i18n/locales/hi/notices/HelpBootstrapLanguage.json b/packages/fakeyou/src/_i18n/locales/hi/notices/HelpBootstrapLanguage.json new file mode 100644 index 0000000000..93a78d631b --- /dev/null +++ b/packages/fakeyou/src/_i18n/locales/hi/notices/HelpBootstrapLanguage.json @@ -0,0 +1,4 @@ +{ + "title": "आवाज़ें बनाने में हमारी मदद करने के लिए हम आपको भुगतान करेंगे!", + "body": "हमारे पास अभी तक इस भाषा में पर्याप्त आवाज नहीं है। कृपया अपने पसंदीदा पात्र बनाने में हमारी मदद करें। हमारे <1 /> में शामिल हों और हम आपको सिखाएंगे कि कैसे। हम आपको प्रति आवाज <3 /> भी भुगतान करेंगे!" +} \ No newline at end of file diff --git a/packages/fakeyou/src/_i18n/locales/hi/notices/index.ts b/packages/fakeyou/src/_i18n/locales/hi/notices/index.ts new file mode 100644 index 0000000000..37a51fec7d --- /dev/null +++ b/packages/fakeyou/src/_i18n/locales/hi/notices/index.ts @@ -0,0 +1,5 @@ +import * as HelpBootstrapLanguage from './HelpBootstrapLanguage.json'; + +export { + HelpBootstrapLanguage, +} diff --git a/packages/fakeyou/src/_i18n/locales/id/index.ts b/packages/fakeyou/src/_i18n/locales/id/index.ts index 0220776994..d7d66c969c 100644 --- a/packages/fakeyou/src/_i18n/locales/id/index.ts +++ b/packages/fakeyou/src/_i18n/locales/id/index.ts @@ -1,8 +1,11 @@ // "id" - Indonesian // 200 million speakers (worldwide #10) // Twitch #23 (600 concurrent viewers, 97 concurrent streamers) + +import * as notices from './notices'; import * as tts from './tts'; export { + notices, tts, } diff --git a/packages/fakeyou/src/_i18n/locales/id/notices/HelpBootstrapLanguage.json b/packages/fakeyou/src/_i18n/locales/id/notices/HelpBootstrapLanguage.json new file mode 100644 index 0000000000..c633e358cf --- /dev/null +++ b/packages/fakeyou/src/_i18n/locales/id/notices/HelpBootstrapLanguage.json @@ -0,0 +1,4 @@ +{ + "title": "Kami akan membayar Anda untuk membantu kami membangun suara!", + "body": "Kami belum memiliki cukup suara dalam bahasa ini. Tolong bantu kami membangun karakter favorit Anda. Bergabunglah dengan <1 /> kami dan kami akan mengajari Anda caranya. Kami juga akan membayar Anda <3 /> per suara!" +} \ No newline at end of file diff --git a/packages/fakeyou/src/_i18n/locales/id/notices/index.ts b/packages/fakeyou/src/_i18n/locales/id/notices/index.ts new file mode 100644 index 0000000000..37a51fec7d --- /dev/null +++ b/packages/fakeyou/src/_i18n/locales/id/notices/index.ts @@ -0,0 +1,5 @@ +import * as HelpBootstrapLanguage from './HelpBootstrapLanguage.json'; + +export { + HelpBootstrapLanguage, +} diff --git a/packages/fakeyou/src/_i18n/locales/it/index.ts b/packages/fakeyou/src/_i18n/locales/it/index.ts index f7b9b2435f..84d40852e3 100644 --- a/packages/fakeyou/src/_i18n/locales/it/index.ts +++ b/packages/fakeyou/src/_i18n/locales/it/index.ts @@ -1,8 +1,11 @@ // "it" - Italian // 67 million speakers (worldwide #?) // Twitch #10 (41k concurrent viewers, 1.2k concurrent viewers) + +import * as notices from './notices'; import * as tts from './tts'; export { + notices, tts, } diff --git a/packages/fakeyou/src/_i18n/locales/it/notices/HelpBootstrapLanguage.json b/packages/fakeyou/src/_i18n/locales/it/notices/HelpBootstrapLanguage.json new file mode 100644 index 0000000000..efd032962d --- /dev/null +++ b/packages/fakeyou/src/_i18n/locales/it/notices/HelpBootstrapLanguage.json @@ -0,0 +1,4 @@ +{ + "title": "Ti pagheremo per aiutarci a costruire voci!", + "body": "Non abbiamo ancora abbastanza voci in questa lingua. Aiutaci a costruire i tuoi personaggi preferiti. Unisciti al nostro <1 /> e ti insegneremo come. Ti pagheremo anche <3 /> a voce!" +} \ No newline at end of file diff --git a/packages/fakeyou/src/_i18n/locales/it/notices/index.ts b/packages/fakeyou/src/_i18n/locales/it/notices/index.ts new file mode 100644 index 0000000000..37a51fec7d --- /dev/null +++ b/packages/fakeyou/src/_i18n/locales/it/notices/index.ts @@ -0,0 +1,5 @@ +import * as HelpBootstrapLanguage from './HelpBootstrapLanguage.json'; + +export { + HelpBootstrapLanguage, +} diff --git a/packages/fakeyou/src/_i18n/locales/ja/index.ts b/packages/fakeyou/src/_i18n/locales/ja/index.ts index 1670ed0389..2d0865fab8 100644 --- a/packages/fakeyou/src/_i18n/locales/ja/index.ts +++ b/packages/fakeyou/src/_i18n/locales/ja/index.ts @@ -1,8 +1,11 @@ // "ja" - Japanese // 128 million speakers (worldwide #13) // Twitch #7 (87k concurrent viewers, 2.6k concurrent streams) + +import * as notices from './notices'; import * as tts from './tts'; export { + notices, tts, } diff --git a/packages/fakeyou/src/_i18n/locales/ja/notices/HelpBootstrapLanguage.json b/packages/fakeyou/src/_i18n/locales/ja/notices/HelpBootstrapLanguage.json new file mode 100644 index 0000000000..5a3a626d31 --- /dev/null +++ b/packages/fakeyou/src/_i18n/locales/ja/notices/HelpBootstrapLanguage.json @@ -0,0 +1,4 @@ +{ + "title": "声を作るのを手伝うためにあなたにお金を払います!", + "body": "この言語の音声はまだ十分ではありません。 お気に入りのキャラクターを作るお手伝いをさせてください。 <1 /> に参加してください。方法を教えます。 ボイスごとに <3 /> もお支払いします!" +} \ No newline at end of file diff --git a/packages/fakeyou/src/_i18n/locales/ja/notices/index.ts b/packages/fakeyou/src/_i18n/locales/ja/notices/index.ts new file mode 100644 index 0000000000..37a51fec7d --- /dev/null +++ b/packages/fakeyou/src/_i18n/locales/ja/notices/index.ts @@ -0,0 +1,5 @@ +import * as HelpBootstrapLanguage from './HelpBootstrapLanguage.json'; + +export { + HelpBootstrapLanguage, +} diff --git a/packages/fakeyou/src/_i18n/locales/ko/index.ts b/packages/fakeyou/src/_i18n/locales/ko/index.ts index b497003986..9199c7607a 100644 --- a/packages/fakeyou/src/_i18n/locales/ko/index.ts +++ b/packages/fakeyou/src/_i18n/locales/ko/index.ts @@ -1,8 +1,11 @@ // "ko" - Korean // 75 million speakers (worldwide #?) // Twitch #8 (144k concurrent viewers, 2.5k concurrent streamers) + +import * as notices from './notices'; import * as tts from './tts'; export { + notices, tts, } diff --git a/packages/fakeyou/src/_i18n/locales/ko/notices/HelpBootstrapLanguage.json b/packages/fakeyou/src/_i18n/locales/ko/notices/HelpBootstrapLanguage.json new file mode 100644 index 0000000000..34f651653c --- /dev/null +++ b/packages/fakeyou/src/_i18n/locales/ko/notices/HelpBootstrapLanguage.json @@ -0,0 +1,4 @@ +{ + "title": "목소리를 낼 수 있도록 비용을 지불하겠습니다!", + "body": "아직 이 언어의 목소리가 충분하지 않습니다. 좋아하는 캐릭터를 만들 수 있도록 도와주세요. <1 />에 가입하시면 방법을 알려드리겠습니다. 음성당 <3 />도 지불하겠습니다!" +} \ No newline at end of file diff --git a/packages/fakeyou/src/_i18n/locales/ko/notices/index.ts b/packages/fakeyou/src/_i18n/locales/ko/notices/index.ts new file mode 100644 index 0000000000..37a51fec7d --- /dev/null +++ b/packages/fakeyou/src/_i18n/locales/ko/notices/index.ts @@ -0,0 +1,5 @@ +import * as HelpBootstrapLanguage from './HelpBootstrapLanguage.json'; + +export { + HelpBootstrapLanguage, +} diff --git a/packages/fakeyou/src/_i18n/locales/vi/index.ts b/packages/fakeyou/src/_i18n/locales/vi/index.ts index 267ae26089..1096c01c1a 100644 --- a/packages/fakeyou/src/_i18n/locales/vi/index.ts +++ b/packages/fakeyou/src/_i18n/locales/vi/index.ts @@ -1,8 +1,11 @@ // "vi" - Vietnamese // 87 million speakers (worldwide #21) // Twitch #30 (a paltry 170 concurrent viewers, 70 concurrent channels) + +import * as notices from './notices'; import * as tts from './tts'; export { + notices, tts, } diff --git a/packages/fakeyou/src/_i18n/locales/vi/notices/HelpBootstrapLanguage.json b/packages/fakeyou/src/_i18n/locales/vi/notices/HelpBootstrapLanguage.json new file mode 100644 index 0000000000..b72a39b559 --- /dev/null +++ b/packages/fakeyou/src/_i18n/locales/vi/notices/HelpBootstrapLanguage.json @@ -0,0 +1,4 @@ +{ + "title": "Chúng tôi sẽ trả tiền cho bạn để giúp chúng tôi xây dựng tiếng nói!", + "body": "Chúng tôi chưa có đủ tiếng nói trong ngôn ngữ này. Hãy giúp chúng tôi xây dựng các nhân vật yêu thích của bạn. Tham gia <1 /> của chúng tôi và chúng tôi sẽ hướng dẫn bạn cách làm. Chúng tôi cũng sẽ trả cho bạn <3 /> mỗi giọng nói!" +} \ No newline at end of file diff --git a/packages/fakeyou/src/_i18n/locales/vi/notices/index.ts b/packages/fakeyou/src/_i18n/locales/vi/notices/index.ts new file mode 100644 index 0000000000..37a51fec7d --- /dev/null +++ b/packages/fakeyou/src/_i18n/locales/vi/notices/index.ts @@ -0,0 +1,5 @@ +import * as HelpBootstrapLanguage from './HelpBootstrapLanguage.json'; + +export { + HelpBootstrapLanguage, +} diff --git a/packages/fakeyou/src/_i18n/locales/zh/index.ts b/packages/fakeyou/src/_i18n/locales/zh/index.ts index 1661684147..c75ff96ad4 100644 --- a/packages/fakeyou/src/_i18n/locales/zh/index.ts +++ b/packages/fakeyou/src/_i18n/locales/zh/index.ts @@ -1,8 +1,11 @@ // "zh" - Mandarin // 1.1 billion speakers (worldwide #2) // Twitch #9 + +import * as notices from './notices'; import * as tts from './tts'; export { + notices, tts, } diff --git a/packages/fakeyou/src/_i18n/locales/zh/notices/HelpBootstrapLanguage.json b/packages/fakeyou/src/_i18n/locales/zh/notices/HelpBootstrapLanguage.json new file mode 100644 index 0000000000..4d3877ded8 --- /dev/null +++ b/packages/fakeyou/src/_i18n/locales/zh/notices/HelpBootstrapLanguage.json @@ -0,0 +1,4 @@ +{ + "title": "我们会付钱给你帮助我们建立声音!", + "body": "我们还没有足够的这种语言的声音。 请帮助我们建立您最喜欢的角色。 加入我们的<1 />,我们将教您如何操作。 我们也会为每个声音支付 <3 /> 的费用!" +} \ No newline at end of file diff --git a/packages/fakeyou/src/_i18n/locales/zh/notices/index.ts b/packages/fakeyou/src/_i18n/locales/zh/notices/index.ts new file mode 100644 index 0000000000..37a51fec7d --- /dev/null +++ b/packages/fakeyou/src/_i18n/locales/zh/notices/index.ts @@ -0,0 +1,5 @@ +import * as HelpBootstrapLanguage from './HelpBootstrapLanguage.json'; + +export { + HelpBootstrapLanguage, +} diff --git a/packages/fakeyou/src/v2/view/tts/tts_model_list/TtsModelListPage.tsx b/packages/fakeyou/src/v2/view/tts/tts_model_list/TtsModelListPage.tsx index 70775d7ff5..65597951cd 100644 --- a/packages/fakeyou/src/v2/view/tts/tts_model_list/TtsModelListPage.tsx +++ b/packages/fakeyou/src/v2/view/tts/tts_model_list/TtsModelListPage.tsx @@ -44,7 +44,6 @@ import { faVolumeUp, } from "@fortawesome/free-solid-svg-icons"; import { GenericNotice } from "./notices/GenericNotice"; -import { DiscordLink } from "@storyteller/components/src/elements/DiscordLink"; import { DiscordLink2 } from "@storyteller/components/src/elements/DiscordLink2"; const Fade = require("react-reveal/Fade"); @@ -259,7 +258,7 @@ function TtsModelListPage(props: Props) { const bootstrapLanguageNotice = props.isShowingBootstrapLanguageNotice ? ( + body={ We don't have enough voices in this language yet. Please help us build your favorite characters. Join our and we'll teach you how. We'll pay {dollars} you per voice, too! }