From 2569b69ab99e302957510eb5be63cdae47039c8c Mon Sep 17 00:00:00 2001 From: Avris Date: Fri, 18 Dec 2020 17:32:18 +0100 Subject: [PATCH] #139 [terms] dictionary of queer terms --- components/Header.vue | 2 +- components/InclusiveDictionary.vue | 11 +- components/TermsDictionary.vue | 264 +++++++++++++++++++++++++++++ components/TermsSubmitForm.vue | 108 ++++++++++++ locale/pl/config.suml | 18 +- locale/pl/nouns/NounsExtra.vue | 39 ++++- locale/pl/nouns/NounsNav.vue | 1 + locale/pl/translations.suml | 20 ++- migrations/012-terms.sql | 17 ++ routes/nouns.vue | 2 +- server/index.js | 1 + server/routes/terms.js | 108 ++++++++++++ src/classes.js | 25 +++ 13 files changed, 599 insertions(+), 17 deletions(-) create mode 100644 components/TermsDictionary.vue create mode 100644 components/TermsSubmitForm.vue create mode 100644 migrations/012-terms.sql create mode 100644 server/routes/terms.js diff --git a/components/Header.vue b/components/Header.vue index bebad204..e5ec43f2 100644 --- a/components/Header.vue +++ b/components/Header.vue @@ -77,7 +77,7 @@ if (this.config.nouns.enabled) { links.push({ link: '/' + this.config.nouns.route, - icon: 'atom-alt', + icon: 'book', text: this.$t('nouns.header'), textLong: this.$t('nouns.headerLong'), }); diff --git a/components/InclusiveDictionary.vue b/components/InclusiveDictionary.vue index 898bee29..4ed01434 100644 --- a/components/InclusiveDictionary.vue +++ b/components/InclusiveDictionary.vue @@ -178,11 +178,13 @@ + + diff --git a/components/TermsSubmitForm.vue b/components/TermsSubmitForm.vue new file mode 100644 index 00000000..da0f5f6b --- /dev/null +++ b/components/TermsSubmitForm.vue @@ -0,0 +1,108 @@ + + + diff --git a/locale/pl/config.suml b/locale/pl/config.suml index 58b630df..2a675faa 100644 --- a/locale/pl/config.suml +++ b/locale/pl/config.suml @@ -62,16 +62,19 @@ sources: nouns: enabled: true - route: 'słownik' + route: 'słowniki' collapsable: true plurals: true pluralsRequired: true declension: true submit: true templates: true + hashNamespace: 'neutratywy' inclusive: categories: ['interpłciowość', 'lgbtq+', 'niepełnosprawność', 'rasa', 'trans'] - hashNamespace: 'neutratywy' + hashNamespace: 'inkluzywny' + terms: + hashNamespace: 'terminologia' names: enabled: false @@ -477,10 +480,13 @@ census: - 'osobatywy' redirects: - - { from: '^/neutratywy', to: '/s%C5%82ownik' } - - { from: '^/rzeczowniki', to: '/s%C5%82ownik' } - - { from: '^/slownik', to: '/s%C5%82ownik' } - - { from: '^/literatura', to: '/korpus' } + - { from: '^/neutratywy$', to: '/s%C5%82owniki' } + - { from: '^/rzeczowniki$', to: '/s%C5%82owniki' } + - { from: '^/slownik$', to: '/s%C5%82owniki' } + - { from: '^/slowniki$', to: '/s%C5%82owniki' } + - { from: '^/słownik$', to: '/s%C5%82owniki' } + - { from: '^/s%C5%82ownik$', to: '/s%C5%82owniki' } + - { from: '^/literatura$', to: '/korpus' } api: examples: diff --git a/locale/pl/nouns/NounsExtra.vue b/locale/pl/nouns/NounsExtra.vue index 38747ec6..6d59df4a 100644 --- a/locale/pl/nouns/NounsExtra.vue +++ b/locale/pl/nouns/NounsExtra.vue @@ -239,7 +239,7 @@ nouns.inclusive.info -
+

@@ -251,13 +251,38 @@

--> + + diff --git a/locale/pl/nouns/NounsNav.vue b/locale/pl/nouns/NounsNav.vue index 11da22b3..693e6437 100644 --- a/locale/pl/nouns/NounsNav.vue +++ b/locale/pl/nouns/NounsNav.vue @@ -24,6 +24,7 @@ dukajNouns: 'ghost', personNouns: 'user-friends', // inclusive: 'book-heart', + // terms: 'flag', } }; }, diff --git a/locale/pl/translations.suml b/locale/pl/translations.suml index 45bc04ea..c5efa44c 100644 --- a/locale/pl/translations.suml +++ b/locale/pl/translations.suml @@ -194,9 +194,9 @@ sources: moderation: 'Propozycje będą musiały zostać zatwierdzone przed opublikowaniem.' nouns: - header: 'Słownik' - headerLong: 'Słownik: neutralne rzeczowniki' - headerLonger: 'Neutralne i niebinarne rzeczowniki' + header: 'Słowniki' + headerLong: 'Słowniki neutralnego języka' + headerLonger: 'Słowniki neutralnego i niebinarnego języka' description: 'Feminatywy feminatywami, ale prawdziwe wyzwanie to tworzenie neutratywów! Przedstawiamy tworzony przez społeczność słownik rzeczowników z wyszczególnieniem ich formy męskiej, żeńskiej i neutralnej.' intro: - > @@ -340,6 +340,20 @@ nouns: categories: 'Kategorie' sources: 'Linki źródłowe' + terms: + header: 'Terminologia' + headerLong: 'Słownik terminologii queerowej' + id: 'terminologia' + info: + - > + Większość zwrotów i wyrażeń związanych ze środowiskiem LGBTQ+ + funkcjonuje w polszczyźnie jako anglojęzyczne wstawki. + Poniżej przedstawiamy słownik tłumaczący, co dane określenia oznaczają, + i jakie proponujemy dla nich polskie tłumaczenia. + term: 'Określenie' + original: 'Pochodzenie' + definition: 'Definicja' + names: header: 'Imiona' headerLong: 'Neutralne imiona' diff --git a/migrations/012-terms.sql b/migrations/012-terms.sql new file mode 100644 index 00000000..db4bf263 --- /dev/null +++ b/migrations/012-terms.sql @@ -0,0 +1,17 @@ +-- Up + +CREATE TABLE terms ( + id TEXT NOT NULL PRIMARY KEY, + term TEXT NOT NULL, + original TEXT NULL, + definition TEXT NOT NULL, + locale TEXT NOT NULL, + approved INTEGER NOT NULL, + base_id TEXT, + author_id TEXT NULL REFERENCES users(id), + deleted INTEGER NOT NULL DEFAULT 0 +); + +-- Down + +DROP TABLE terms; diff --git a/routes/nouns.vue b/routes/nouns.vue index 55c8120b..eceb4dc5 100644 --- a/routes/nouns.vue +++ b/routes/nouns.vue @@ -1,7 +1,7 @@