From b662071eb6ed45034eed0a45aef63d0596e7735e Mon Sep 17 00:00:00 2001 From: asonix Date: Tue, 20 Dec 2022 14:11:59 -0600 Subject: [PATCH] Properly import custom locale date --- .../mastodon/locales/locale-data/en-DOG.js | 113 +----------------- .../mastodon/locales/locale-data/en-LEO.js | 113 +----------------- .../mastodon/locales/locale-data/en-SQK.js | 113 +----------------- config/webpack/generateLocalePacks.js | 4 +- 4 files changed, 15 insertions(+), 328 deletions(-) diff --git a/app/javascript/mastodon/locales/locale-data/en-DOG.js b/app/javascript/mastodon/locales/locale-data/en-DOG.js index 9d8fba78ec..cdc62dc38f 100644 --- a/app/javascript/mastodon/locales/locale-data/en-DOG.js +++ b/app/javascript/mastodon/locales/locale-data/en-DOG.js @@ -2,114 +2,9 @@ /*eslint no-nested-ternary: "off"*/ /*eslint quotes: "off"*/ +import en from "react-intl/locale-data/en.js"; + export default [ - { - locale: "en-DOG", - pluralRuleFunction: function(e, a) { - var n = String(e).split("."), - l = !n[1], - o = Number(n[0]) == e, - t = o && n[0].slice(-1), - r = o && n[0].slice(-2); - return a ? 1 == t && 11 != r ? "one" : 2 == t && 12 != r ? "two" : 3 == t && 13 != r ? "few" : "other" : 1 == e && l ? "one" : "other" - }, - fields: { - year: { - displayName: "year", - relative: { - 0: "this year", - 1: "next year", - "-1": "last year" - }, - relativeTime: { - future: { - one: "in {0} year", - other: "in {0} years" - }, - past: { - one: "{0} year ago", - other: "{0} years ago" - } - } - }, - month: { - displayName: "month", - relative: { - 0: "this month", - 1: "next month", - "-1": "last month" - }, - relativeTime: { - future: { - one: "in {0} month", - other: "in {0} months" - }, - past: { - one: "{0} month ago", - other: "{0} months ago" - } - } - }, - day: { - displayName: "day", - relative: { - 0: "today", - 1: "tomorrow", - "-1": "yesterday" - }, - relativeTime: { - future: { - one: "in {0} day", - other: "in {0} days" - }, - past: { - one: "{0} day ago", - other: "{0} days ago" - } - } - }, - hour: { - displayName: "hour", - relativeTime: { - future: { - one: "in {0} hour", - other: "in {0} hours" - }, - past: { - one: "{0} hour ago", - other: "{0} hours ago" - } - } - }, - minute: { - displayName: "minute", - relativeTime: { - future: { - one: "in {0} minute", - other: "in {0} minutes" - }, - past: { - one: "{0} minute ago", - other: "{0} minutes ago" - } - } - }, - second: { - displayName: "second", - relative: { - 0: "now" - }, - relativeTime: { - future: { - one: "in {0} second", - other: "in {0} seconds" - }, - past: { - one: "{0} second ago", - other: "{0} seconds ago" - } - } - } - } - } + ...en, + { locale: "en-DOG", parentLocale: "en" } ]; diff --git a/app/javascript/mastodon/locales/locale-data/en-LEO.js b/app/javascript/mastodon/locales/locale-data/en-LEO.js index 3160a61d50..53581d540e 100644 --- a/app/javascript/mastodon/locales/locale-data/en-LEO.js +++ b/app/javascript/mastodon/locales/locale-data/en-LEO.js @@ -2,114 +2,9 @@ /*eslint no-nested-ternary: "off"*/ /*eslint quotes: "off"*/ +import en from "react-intl/locale-data/en.js"; + export default [ - { - locale: "en-LEO", - pluralRuleFunction: function(e, a) { - var n = String(e).split("."), - l = !n[1], - o = Number(n[0]) == e, - t = o && n[0].slice(-1), - r = o && n[0].slice(-2); - return a ? 1 == t && 11 != r ? "one" : 2 == t && 12 != r ? "two" : 3 == t && 13 != r ? "few" : "other" : 1 == e && l ? "one" : "other" - }, - fields: { - year: { - displayName: "year", - relative: { - 0: "this year", - 1: "next year", - "-1": "last year" - }, - relativeTime: { - future: { - one: "in {0} year", - other: "in {0} years" - }, - past: { - one: "{0} year ago", - other: "{0} years ago" - } - } - }, - month: { - displayName: "month", - relative: { - 0: "this month", - 1: "next month", - "-1": "last month" - }, - relativeTime: { - future: { - one: "in {0} month", - other: "in {0} months" - }, - past: { - one: "{0} month ago", - other: "{0} months ago" - } - } - }, - day: { - displayName: "day", - relative: { - 0: "today", - 1: "tomorrow", - "-1": "yesterday" - }, - relativeTime: { - future: { - one: "in {0} day", - other: "in {0} days" - }, - past: { - one: "{0} day ago", - other: "{0} days ago" - } - } - }, - hour: { - displayName: "hour", - relativeTime: { - future: { - one: "in {0} hour", - other: "in {0} hours" - }, - past: { - one: "{0} hour ago", - other: "{0} hours ago" - } - } - }, - minute: { - displayName: "minute", - relativeTime: { - future: { - one: "in {0} minute", - other: "in {0} minutes" - }, - past: { - one: "{0} minute ago", - other: "{0} minutes ago" - } - } - }, - second: { - displayName: "second", - relative: { - 0: "now" - }, - relativeTime: { - future: { - one: "in {0} second", - other: "in {0} seconds" - }, - past: { - one: "{0} second ago", - other: "{0} seconds ago" - } - } - } - } - } + ...en, + { locale: "en-LEO", parentLocale: "en" } ]; diff --git a/app/javascript/mastodon/locales/locale-data/en-SQK.js b/app/javascript/mastodon/locales/locale-data/en-SQK.js index 3708a5f384..b85f13ee87 100644 --- a/app/javascript/mastodon/locales/locale-data/en-SQK.js +++ b/app/javascript/mastodon/locales/locale-data/en-SQK.js @@ -2,114 +2,9 @@ /*eslint no-nested-ternary: "off"*/ /*eslint quotes: "off"*/ +import en from "react-intl/locale-data/en.js"; + export default [ - { - locale: "en-SQK", - pluralRuleFunction: function(e, a) { - var n = String(e).split("."), - l = !n[1], - o = Number(n[0]) == e, - t = o && n[0].slice(-1), - r = o && n[0].slice(-2); - return a ? 1 == t && 11 != r ? "one" : 2 == t && 12 != r ? "two" : 3 == t && 13 != r ? "few" : "other" : 1 == e && l ? "one" : "other" - }, - fields: { - year: { - displayName: "year", - relative: { - 0: "this year", - 1: "next year", - "-1": "last year" - }, - relativeTime: { - future: { - one: "in {0} year", - other: "in {0} years" - }, - past: { - one: "{0} year ago", - other: "{0} years ago" - } - } - }, - month: { - displayName: "month", - relative: { - 0: "this month", - 1: "next month", - "-1": "last month" - }, - relativeTime: { - future: { - one: "in {0} month", - other: "in {0} months" - }, - past: { - one: "{0} month ago", - other: "{0} months ago" - } - } - }, - day: { - displayName: "day", - relative: { - 0: "today", - 1: "tomorrow", - "-1": "yesterday" - }, - relativeTime: { - future: { - one: "in {0} day", - other: "in {0} days" - }, - past: { - one: "{0} day ago", - other: "{0} days ago" - } - } - }, - hour: { - displayName: "hour", - relativeTime: { - future: { - one: "in {0} hour", - other: "in {0} hours" - }, - past: { - one: "{0} hour ago", - other: "{0} hours ago" - } - } - }, - minute: { - displayName: "minute", - relativeTime: { - future: { - one: "in {0} minute", - other: "in {0} minutes" - }, - past: { - one: "{0} minute ago", - other: "{0} minutes ago" - } - } - }, - second: { - displayName: "second", - relative: { - 0: "now" - }, - relativeTime: { - future: { - one: "in {0} second", - other: "in {0} seconds" - }, - past: { - one: "{0} second ago", - other: "{0} seconds ago" - } - } - } - } - } + ...en, + { locale: "en-SQK", parentLocale: "en" } ]; diff --git a/config/webpack/generateLocalePacks.js b/config/webpack/generateLocalePacks.js index b71cf2ade3..d4cd4dac95 100644 --- a/config/webpack/generateLocalePacks.js +++ b/config/webpack/generateLocalePacks.js @@ -25,7 +25,9 @@ locales.forEach(locale => { const localePath = path.join(outPath, `locale_${locale}.js`); const baseLocale = locale.split('-')[0]; // e.g. 'zh-TW' -> 'zh' const localeDataPath = [ - // first try react-intl + // first try full locale in locales/locale-data + `../../app/javascript/mastodon/locales/locale-data/${locale}.js`, + // then try react-intl `../../node_modules/react-intl/locale-data/${baseLocale}.js`, // then check locales/locale-data `../../app/javascript/mastodon/locales/locale-data/${baseLocale}.js`,