Commit 6c5c061d authored by Diego Garcia Cordeiro Souza's avatar Diego Garcia Cordeiro Souza
Browse files

Internacionalização do Acervo e de formulários

parent 8859e469
Showing with 257 additions and 173 deletions
+257 -173
<template>
<div class="bg-white q-pa-xl" style="min-width: 400px;">
<q-form @submit="login">
<div class="q-mt-md col-xs-10 col-sm-7">
<label for="name" class="text-bold inline-block">Nome</label>
<label for="name" class="text-bold inline-block">
{{ $t('login.formFieldLabelUsername') }}
</label>
<q-input
id="name"
v-model="name"
dense
filled
type="text"
:rules="[val => !!val || 'Este campo é necessário']"
:rules="[val => !!val || $t('login.formValidationFieldRequired')]"
/>
</div>
<div class="q-mt-sm col-xs-10 col-sm-7">
<label for="password" class="text-bold inline-block">Senha</label>
<label for="password" class="text-bold inline-block">
{{ $t('login.formFieldLabelPassword') }}
</label>
<q-input
id="password"
v-model="password"
......@@ -27,9 +33,10 @@
onpaste="return false"
oncopy="return false"
oncut="return false"
:rules="[val => !!val || 'Este campo é necessário']"
:rules="[val => !!val || $t('login.formValidationFieldRequired')]"
/>
</div>
<div class="column q-mt-sm col-xs-10 col-sm-7 q-mt-lg items-center">
<q-btn
color="primary"
......@@ -45,6 +52,7 @@
</span>
</q-btn>
</div>
</q-form>
</div>
</template>
......@@ -81,7 +89,7 @@ export default {
this.loading = false
this.$q.notify({
type: 'negative',
message: 'Não foi possível fazer login.'
message: this.$t('login.alertLoginFailed')
})
}
}
......
......@@ -107,17 +107,14 @@ export default {
localeOptions: [
{ value: 'en-us', label: 'English' },
{ value: 'pt', label: 'Português' },
{ value: 'awaete', label: 'Awaeté' }
{ value: 'awaete', label: 'Awaete' }
]
}
},
watch: {
locale: function (newLocale) {
console.log(newLocale)
console.log(this.$i18n.locale)
this.$i18n.locale = newLocale
console.log(this.$i18n.locale)
}
}
}
......
......@@ -17,7 +17,7 @@
<!-- Title/Author overlay -->
<q-card-section class="absolute-bottom text-white bottom-overlay">
<p class="text-h6">{{ card.data.titulo }}</p>
<strong>Autor:</strong> {{ card.creator.username }}
<strong>{{ $t('gallery.mediaDetailsAuthor') }}</strong> {{ card.creator.username }}
</q-card-section>
</q-card>
......
......@@ -31,7 +31,7 @@
</q-card-section>
<q-card-actions align="right" class="bg-white text-teal fixed-bottom">
<q-btn label="Fechar" v-close-popup color="dark"/>
<q-btn :label="$t('gallery.buttonLabelClose')" v-close-popup color="dark"/>
</q-card-actions>
</q-card>
</template>
......
......@@ -29,7 +29,7 @@
</q-card-section>
<q-card-actions align="right" class="bg-white text-teal fixed-bottom">
<q-btn label="Fechar" v-close-popup color="dark"/>
<q-btn :label="$t('gallery.buttonLabelClose')" v-close-popup color="dark"/>
</q-card-actions>
</q-card>
</template>
......
......@@ -33,7 +33,7 @@
</q-card-section>
<q-card-actions align="right" class="bg-white text-teal fixed-bottom">
<q-btn label="Fechar" v-close-popup color="dark"/>
<q-btn :label="$t('gallery.buttonLabelClose')" v-close-popup color="dark"/>
</q-card-actions>
</q-card>
</template>
......
......@@ -30,7 +30,7 @@
</q-card-section>
<q-card-actions align="right" class="bg-white text-teal fixed-bottom">
<q-btn label="Fechar" v-close-popup color="dark"/>
<q-btn :label="$t('gallery.buttonLabelClose')" v-close-popup color="dark"/>
</q-card-actions>
</q-card>
</template>
......
<template>
<div>
<q-form ref="newMidiaForm" class="constrain q-py-xl" @submit.prevent.stop="submit">
<q-form ref="newMidiaForm" class="constrain q-py-xl" @submit.prevent.stop="submit">
<!-- Input de arquivo / File input -->
<div class="row no-wrap q-mr-md">
<q-btn unelevated color="primary" icon="file_upload" label="Novo"
@click="pickFile()"
<q-btn unelevated color="primary" class="no-wrap"
@click="pickFile()" :label="$t('submission.buttonLabelNewFile')"
/>
<q-file dense filled
v-show="newFile"
......@@ -16,7 +16,7 @@
>
<template v-if="!newFile" v-slot:label>
<i>Selecione um arquivo</i>
<i>{{ $t('submission.formFieldLabelFilepicker') }}</i>
</template>
<template v-slot:file>
......@@ -26,17 +26,17 @@
</div>
<!-- Input do nome / Filename input -->
<label for="filename" class="inline-block q-mt-lg">Nome do arquivo:</label>
<label for="filename" class="inline-block q-mt-lg">{{ $t('submission.formFieldLabelFilename') }}</label>
<q-input id="filename" v-model="title" filled dense />
<!-- Input da descrição / Description input -->
<label for="description" class="inline-block q-mt-lg">Descrição:</label>
<label for="description" class="inline-block q-mt-lg">{{ $t('submission.formFieldLabelDescription') }}</label>
<q-input id="description" v-model="description" type="textarea" filled dense autogrow />
<!-- Input das tags / Tags input -->
<label for="tags" class="inline-block q-mt-lg">Coleções (tags):</label>
<label for="tags" class="inline-block q-mt-lg">{{ $t('submission.formFieldLabelHashtags') }}</label>
<q-input id="tags" ref="tagsForm" v-model="tagsText" filled dense
hint="Separe cada tag com uma vírgula (,). Ex: tag1, tag2, tag3"
:hint="$t('submission.formFieldHintHastags')"
@input="parseTags()"
@blur="addLastTag()"
@keydown.enter.prevent="addLastTag()"
......@@ -56,12 +56,12 @@
<!-- Checkbox de aceite de termos / Accept terms checkbox -->
<q-checkbox dense v-model="acceptTerms" class="q-mt-lg"
label="Li e aceito os termos da plataforma"
:label="$t('submission.formFieldLabelAcceptTerms')"
/>
<!-- Seção do autor / Author section -->
<div class="row no-wrap q-my-xl items-center">
<span class="text-h6">Dados do autor</span>
<span class="text-h6">{{ $t('submission.formSectionTitleAuthor') }}</span>
<div class="col-grow q-mx-md bg-black" style="height: 2px;" />
</div>
......@@ -79,7 +79,7 @@
class="q-my-md"
>
<template v-slot:label>
<span class="text-black text-weight-bold">Selecione sua aldeia</span>
<span class="text-black text-weight-bold">{{ $t('submission.formDropdownLabelAldeia') }}</span>
</template>
<template v-slot:selected>
......@@ -97,7 +97,7 @@
class="q-my-md"
>
<template v-slot:label>
<span class="text-black text-weight-bold">Selecione o autor</span>
<span class="text-black text-weight-bold">{{ $t('submission.formDropdownLabelAuthor') }}</span>
</template>
<template v-slot:selected>
......@@ -108,14 +108,22 @@
</div>
<div class="column col-grow justify-center items-center">
<span class="text-h6">Ainda não é um autor?</span>
<q-btn unelevated no-caps color="secondary" label="Criar novo autor" class="q-mt-md" />
<span class="text-h6">{{ $t('submission.formTextNotAnAuthor') }}</span>
<q-btn unelevated no-caps color="secondary" class="q-mt-md"
:label="$t('submission.buttonLabelNewAuthor')"
/>
</div>
</div>
<div class="column items-center q-my-xl">
<q-btn unelevated color="primary" label="Enviar" type="submit" />
<q-btn unelevated color="primary" type="submit"
:loading="loading" :label="$t('submission.buttonLabelSend')"
>
<span slot="loading">
<q-spinner-hourglass />
</span>
</q-btn>
</div>
</q-form>
......@@ -138,6 +146,7 @@ export default {
acceptTerms: false,
aldeiaSelected: null,
autorSelected: null,
loading: false,
aldeiasPlaceholder: [
'Gavião',
'Itaaka',
......@@ -188,104 +197,9 @@ export default {
this.$refs.tagsForm.blur()
},
// async submitMidiaDetails (midiaDetailsJSON, userToken) {
// console.log('Submitting midia details...')
// try {
// const { data } = await this.$axios({
// method: 'post',
// url: `/acervo/midia?name=${encodeURI(this.title)}`,
// data: midiaDetailsJSON,
// headers: { token: userToken, 'Content-Type': 'application/json' }
// })
// console.log('New midia data responded from server:')
// console.log(data)
// const newMidiaFilePath = data.path
// return newMidiaFilePath
// } catch (error) {
// console.error(error)
// this.$q.notify({
// type: 'negative',
// message: 'Ocorreu um erro na submissão dos detalhes da publicação. Tente novamente.'
// })
// }
// },
// async submitMidiaDeletion (midiaFilePath, userToken) {
// console.log('Submitting midia deletion...')
// try {
// await this.$axios({
// method: 'delete',
// url: `/acervo/midia/${midiaFilePath}`,
// headers: { token: userToken }
// })
// } catch (error) {
// console.error(error)
// this.$q.notify({
// type: 'negative',
// message: 'Ocorreu um erro na deleção de mídia. Informe o administrador.'
// })
// }
// },
// async submitMidiaFile (midiaFilePath, midiaFileFormData, userToken) {
// console.log('Submitting midia file...')
// try {
// const { data } = this.$axios({
// method: 'post',
// url: `/acervo/upload/${midiaFilePath}`,
// data: midiaFileFormData,
// headers: { token: userToken }
// })
// console.log('New file request responded from server:')
// console.log(data)
// this.$refs.newMidiaForm.reset()
// this.$q.notify({
// type: 'positive',
// message: 'Publicação submetida com sucesso.'
// })
// } catch (error) {
// console.error(error)
// // Attempt to delete previously submitted midia details
// this.submitMidiaDeletion(midiaFilePath, userToken)
// this.$q.notify({
// type: 'negative',
// message: 'Ocorreu um erro na submissão do arquivo. Tente novamente.'
// })
// }
// },
// async submit () {
// console.log('Submitting...')
// const midiaData = JSON.stringify({
// titulo: this.title,
// descricao: this.description,
// tipo: 'imagem',
// tags: Array.from(this.tags)
// })
// console.log(midiaData)
// const midiaFile = new FormData()
// midiaFile.append('arquivo', this.newFile)
// const token = this.$axios.defaults.headers.common.token
// console.log(token)
// if (!!token === false) {
// console.error('No user token found')
// }
// // Send initial request to 'acervo/midia' with file details
// const newMidiaFilePath = await this.submitMidiaDetails(midiaData, token)
// // Send file to newly created midia resource
// await this.submitMidiaFile(newMidiaFilePath, midiaFile, token)
// console.log('Finished.')
// },
async submit () {
console.log('Submitting through service class...')
this.loading = true
const token = this.$axios.defaults.headers.common.token
const submission = new MediaSubmission(
this.title,
......@@ -303,9 +217,16 @@ export default {
if (result === false) {
this.$q.notify({
type: 'negative',
message: 'Ocorreu um erro na submissão do arquivo. Tente novamente.'
message: this.$t('submission.alertSubmissionError')
})
} else {
this.$q.notify({
type: 'positive',
message: this.$t('submission.alertSubmissionSuccess')
})
}
this.loading = false
}
}
}
......
<template>
<q-table
grid
title="Acervo"
:title="$t('gallery.mainTableTitle')"
row-key="id"
:loading="loading"
:columns="columns"
......@@ -21,16 +21,16 @@
v-model="activeTab"
@input="$emit('filterContent', activeTab)"
>
<q-tab name="all" icon="perm_media" label="Todos" />
<q-tab name="arquivo" icon="folder" label="Arquivos" />
<q-tab name="imagem" icon="image" label="Imagens" />
<q-tab name="video" icon="theaters" label="deos" />
<q-tab name="audio" icon="volume_up" label="Áudios" />
<q-tab name="all" icon="perm_media" :label="$t('gallery.categoryLabelAll')" />
<q-tab name="arquivo" icon="folder" :label="$t('gallery.categoryLabelFiles')" />
<q-tab name="imagem" icon="image" :label="$t('gallery.categoryLabelImages')" />
<q-tab name="video" icon="theaters" :label="$t('gallery.categoryLabelVideos')" />
<q-tab name="audio" icon="volume_up" :label="$t('gallery.categoryLabelAudio')" />
</q-tabs>
<div>
<q-btn unelevated label="Enviar" icon="cloud_upload" color="primary" align="between"
@click="sendMidia()"
<q-btn unelevated icon="cloud_upload" color="primary" align="between"
@click="sendMidia()" :label="$t('gallery.buttonLabelSend')"
/>
<q-btn unelevated icon="search" color="primary" padding="6px" class="q-ml-xs"
@click="$emit('toggleFilter')"
......@@ -65,7 +65,9 @@
@click="scope.prevPage"
/>
<span>{{ firstIndexInPage }}-{{ lastIndexInPage }} de {{ midias.length }}</span>
<span>
{{ firstIndexInPage }}-{{ lastIndexInPage }} {{ $t('gallery.paginationOfPage') }} {{ midias.length }}
</span>
<q-btn
icon="chevron_right"
......@@ -193,7 +195,7 @@ export default {
} else {
this.$q.notify({
type: 'negative',
message: 'É necessário fazer login para enviar arquivos.'
message: this.$t('login.alertLoginNecessary')
})
}
}
......
<template>
<div>
<p class="text-primary text-weight-medium">Descrição:</p>
<p class="text-primary text-weight-medium">{{ $t('gallery.mediaDetailsDescription') }}</p>
<p>{{ description }}</p>
<p class="text-primary text-weight-medium">Criado em:</p>
<p class="text-primary text-weight-medium">{{ $t('gallery.mediaDetailsCreated') }}</p>
<p>{{ created }}</p>
<p class="text-primary text-weight-medium">Autor:</p>
<p class="text-primary text-weight-medium">{{ $t('gallery.mediaDetailsAuthor') }}</p>
<p v-if="username">{{ username }}</p>
<p v-if="authorName">{{ authorName }}</p>
<p v-if="authorEmail">{{ authorEmail }}</p>
......
export default {
about: {
pageTextEthnicity: 'A etnia', // Pending translation
pageTextAboutAwaeteCitationA: 'Localizados no Médio Xingu, no estado do Pará, no interior da Amazônia, os Asuriní do Xingu, ou Awaete como se autodenominam, são um povo de apenas 250 pessoas e 40 anos de contato. Artesãos, construtores, caçadores, agricultores, coletores, conhecedores da fauna e flora local, os Awaete possuíam sua autonomia baseada num sistema cultural complexo e equilibrado. Viviam parte do ano nômades, dispersos pelo território em núcleos familiares e na outra parte encontrava-se numa intensa festa celebrada na Tawywa, casa grande. Nestes encontros construíam e renovavam sua cultura e expandiam seu conhecimento sobre os territórios e seus habitantes pelas trocas entre seus clãs e muitas vezes acolhendo viajantes numa grande troca de saberes.', // Pending translation
pageTextAboutAwaeteCitationB: 'Um ponto comum da bibliografia acerca desta região é de que o termo “asuriní” ao qual Coudreau se refere provavelmente designava uma quantidade maior de povos indígenas que circulavam por essa região. Esse termo tem origem no termo juruna asóreni que designa vermelho. Embora ele seja atualmente aplicado aos Asuriní do Xingu é mais provável que esse termo designasse o grupo indígena Arawaté, pois estes últimos utilizam de forma abundante o urucum, de cor vermelha, enquanto que os Asuriní do Xingu utilizam jenipapo, de cor preta.”', // Pending translation
pageTextAboutAwaeteCitationBibliography: 'NIMUENDAJÚ, 1948, p. 255; RIBEIRO, 2009, p. 61' // Pending translation
},
footer: {
buttonLabelSubmissionTerms: 'TERMOS DE SUBMISSÃO', // Pending translation
buttonLabelAdminArea: 'ÁREA DO ADMINISTRADOR', // Pending translation
imageAltTextJanerakaLogo: 'Logo Instituto Janereka', // Pending translation
contact: 'Contato' // Pending translation
},
gallery: {
alertSubmissionSuccess: 'Seu arquivo foi submetido com sucesso.', // Pending translation
buttonLabelClose: 'Fechar', // Pending translation
buttonLabelSend: 'Enviar', // Pending translation
categoryLabelAll: 'Todos', // Pending translation
categoryLabelFiles: 'Arquivos', // Pending translation
categoryLabelImages: 'Imagens', // Pending translation
categoryLabelVideos: 'Vídeos', // Pending translation
categoryLabelAudio: 'Áudios', // Pending translation
mainTableTitle: 'Acervo', // Pending translation
mediaDetailsDescription: 'Descrição:', // Pending translation
mediaDetailsCreated: 'Criado em:', // Pending translation
mediaDetailsAuthor: 'Autor:', // Pending translation
menuSortAlphabetical: 'Ordem alfabética', // Pending translation
menuSortNewer: 'Mais recentes', // Pending translation
menuSortOlder: 'Mais antigos', // Pending translation
menuSortBy: 'Classificação', // Pending translation
menuSortHastahgs: 'Hashtags', // Pending translation
paginationOfPage: 'de', // Pending translation
searchBarPlaceholder: 'Pesquisar' // Pending translation
},
home: {
buttonLabelGalleryAccess: 'Acesse o acervo', // Pending translation
imageAltTextCoverPicture: 'Pessoa Indígena pulando no rio', // Pending translation
pageTitle: 'Janereka Ryru', // Pending translation
pageSubtitle: 'Plataforma de Salvaguarda e Acervo Multimídia do Patrimônio Awaete', // Pending translation
pageTextProjectFunding: 'Projeto desenvolvido através da Lei Federal no 14.017/20, do Edital Museus e Memoriais de Base Comunitária – Lei Aldir Blanc Pará 2020', // Pending translation
pageTextAboutTitle: 'Sobre a Plataforma', // Pending translation
pageTextAbout: 'Essa plataforma tem o objetivo de organizar, facilitar o acesso e documentar, registrar nossos saberes, estimular suas práticas, para a preservação e o fortalecimento de nossas memórias ancestrais em especial ritualística, medicinal, artesanal e construtiva a partir do diálogo com nossos jovens e anciãos.' // Pending translation
},
login: {
alertLoginFailed: 'Não foi possível fazer login', // Pending translation
alertLoginNecessary: 'É necessário fazer login para obter acesso.', // Pending translation
formFieldLabelUsername: 'Nome', // Pending translation
formFieldLabelPassword: 'Senha', // Pending translation
formValidationFieldRequired: 'Este campo é necessário' // Pending translation
},
menus: {
failed: 'Action failed',
success: 'Action was successful'
navigationHome: 'Início', // Pending translation
navigationAbout: 'Sobre', // Pending translation
navigationGallery: 'Acervo', // Pending translation
langSwitch: 'Idioma' // Pending translation
},
submission: {
alertSubmissionError: 'Ocorreu um erro na submissão do arquivo. Tente novamente.', // Pending translation
alertSubmissionSuccess: 'Arquivo submetido com sucesso.', // Pending translation
buttonLabelNewFile: 'Novo', // Pending translation
buttonLabelSend: 'Enviar', // Pending translation
buttonLabelNewAuthor: 'Criar novo autor', // Pending translation
formDropdownLabelAldeia: 'Selecione sua aldeia', // Pending translation
formDropdownLabelAuthor: 'Selecione o(a) autor(a)', // Pending translation
formFieldHintHastags: 'Separe cada tag com uma vírgula (,). Ex: tag1, tag2, tag3', // Pending translation
formFieldLabelFilename: 'Nome do arquivo:', // Pending translation
formFieldLabelFilepicker: 'Selecione um arquivo', // Pending translation
formFieldLabelDescription: 'Descrição:', // Pending translation
formFieldLabelHashtags: 'Coleções (tags):', // Pending translation
formFieldLabelAcceptTerms: 'Li e aceito os termos de submissão da plataforma', // Pending translation
formSectionTitleAuthor: 'Dados do autor', // Pending translation
formTextNotAnAuthor: 'Ainda não é um autor?' // Pending translation
}
}
export default {
menus: {
failed: 'Action failed',
success: 'Action was successful',
navigationHome: 'Home',
navigationAbout: 'About',
navigationGallery: 'Gallery',
langSwitch: 'Language'
about: {
pageTextEthnicity: 'The',
pageTextAboutAwaeteCitationA: 'Localizados no Médio Xingu, no estado do Pará, no interior da Amazônia, os Asuriní do Xingu, ou Awaete como se autodenominam, são um povo de apenas 250 pessoas e 40 anos de contato. Artesãos, construtores, caçadores, agricultores, coletores, conhecedores da fauna e flora local, os Awaete possuíam sua autonomia baseada num sistema cultural complexo e equilibrado. Viviam parte do ano nômades, dispersos pelo território em núcleos familiares e na outra parte encontrava-se numa intensa festa celebrada na Tawywa, casa grande. Nestes encontros construíam e renovavam sua cultura e expandiam seu conhecimento sobre os territórios e seus habitantes pelas trocas entre seus clãs e muitas vezes acolhendo viajantes numa grande troca de saberes.',
pageTextAboutAwaeteCitationB: 'Um ponto comum da bibliografia acerca desta região é de que o termo “asuriní” ao qual Coudreau se refere provavelmente designava uma quantidade maior de povos indígenas que circulavam por essa região. Esse termo tem origem no termo juruna asóreni que designa vermelho. Embora ele seja atualmente aplicado aos Asuriní do Xingu é mais provável que esse termo designasse o grupo indígena Arawaté, pois estes últimos utilizam de forma abundante o urucum, de cor vermelha, enquanto que os Asuriní do Xingu utilizam jenipapo, de cor preta.”',
pageTextAboutAwaeteCitationBibliography: 'NIMUENDAJÚ, 1948, p. 255; RIBEIRO, 2009, p. 61'
},
footer: {
buttonLabelSubmissionTerms: 'SUBMISSION TERMS',
......@@ -13,19 +11,64 @@ export default {
imageAltTextJanerakaLogo: 'Janeraka Institute Logo',
contact: 'Contact'
},
gallery: {
alertSubmissionSuccess: 'Your file was successfully submitted.',
buttonLabelClose: 'Close',
buttonLabelSend: 'Send',
categoryLabelAll: 'All',
categoryLabelFiles: 'Documents',
categoryLabelImages: 'Images',
categoryLabelVideos: 'Videos',
categoryLabelAudio: 'Audio',
mainTableTitle: 'Gallery',
mediaDetailsDescription: 'Description:',
mediaDetailsCreated: 'Created in:',
mediaDetailsAuthor: 'Author:',
menuSortAlphabetical: 'Alphabetical order',
menuSortNewer: 'Newer',
menuSortOlder: 'Older',
menuSortBy: 'Sort by',
menuSortHashtags: 'Hashtags',
paginationOfPage: 'of',
searchBarPlaceholder: 'Search'
},
home: {
buttonLabelGalleryAccess: 'Browse the Gallery',
imageAltTextCoverPicture: 'Indigen Person jumping in the river',
imageAltTextCoverPicture: 'Indigenous Person jumping in the river',
pageTitle: 'Janereka Ryru',
pageSubtitle: 'Safeguard Platform and Multimedia Gallery of the Awaete Heritage',
pageTextProjectFunding: 'Project developed through the Brazillian Federal Law No. 14.017/20, of the Museums and Community-Based Memorials Edict – Aldir Blanc Law, Pará State, 2020',
pageTextAboutTitle: 'About the Platform',
pageTextAbout: 'This platform aims to organize, register and facilitate access to our knowledge, thus encouraging its practice, for the preservation and strengthening of our ancestral memories, especially those ritualistic, medicinal, artisanal and constructive, starting from the dialogue with our young and old.'
},
about: {
pageTextEthnicity: 'The',
pageTextAboutAwaeteCitationA: 'Localizados no Médio Xingu, no estado do Pará, no interior da Amazônia, os Asuriní do Xingu, ou Awaete como se autodenominam, são um povo de apenas 250 pessoas e 40 anos de contato. Artesãos, construtores, caçadores, agricultores, coletores, conhecedores da fauna e flora local, os Awaete possuíam sua autonomia baseada num sistema cultural complexo e equilibrado. Viviam parte do ano nômades, dispersos pelo território em núcleos familiares e na outra parte encontrava-se numa intensa festa celebrada na Tawywa, casa grande. Nestes encontros construíam e renovavam sua cultura e expandiam seu conhecimento sobre os territórios e seus habitantes pelas trocas entre seus clãs e muitas vezes acolhendo viajantes numa grande troca de saberes.',
pageTextAboutAwaeteCitationB: 'Um ponto comum da bibliografia acerca desta região é de que o termo “asuriní” ao qual Coudreau se refere provavelmente designava uma quantidade maior de povos indígenas que circulavam por essa região. Esse termo tem origem no termo juruna asóreni que designa vermelho. Embora ele seja atualmente aplicado aos Asuriní do Xingu é mais provável que esse termo designasse o grupo indígena Arawaté, pois estes últimos utilizam de forma abundante o urucum, de cor vermelha, enquanto que os Asuriní do Xingu utilizam jenipapo, de cor preta.”',
pageTextAboutAwaeteCitationBibliography: 'NIMUENDAJÚ, 1948, p. 255; RIBEIRO, 2009, p. 61'
login: {
alertLoginFailed: 'Unable to login.',
alertLoginNecessary: 'Login necessary.',
formFieldLabelUsername: 'Name',
formFieldLabelPassword: 'Password',
formValidationFieldRequired: 'This field is required'
},
menus: {
navigationHome: 'Home',
navigationAbout: 'About',
navigationGallery: 'Gallery',
langSwitch: 'Language'
},
submission: {
alertSubmissionError: 'And error has occured during file submission. Please try again.',
alertSubmissionSuccess: 'File successfully submitted.',
buttonLabelNewFile: 'New',
buttonLabelSend: 'Send',
buttonLabelNewAuthor: 'Create new author',
formDropdownLabelAldeia: 'Select your tribe',
formDropdownLabelAuthor: 'Select the author',
formFieldHintHastags: 'Use commas (,) to separate hashtags. Eg: tag1, tag2, tag3',
formFieldLabelFilename: 'File name:',
formFieldLabelFilepicker: 'Pick a file',
formFieldLabelDescription: 'Description:',
formFieldLabelHashtags: 'Collections (tags):',
formFieldLabelAcceptTerms: 'I have read and agree with this platform\'s submission terms',
formSectionTitleAuthor: 'Author data',
formTextNotAnAuthor: 'Not yet an author?'
}
}
export default {
menus: {
failed: 'Action failed',
success: 'Action was successful',
navigationHome: 'Início',
navigationAbout: 'Sobre',
navigationGallery: 'Acervo',
langSwitch: 'Idioma'
about: {
pageTextEthnicity: 'A etnia',
pageTextAboutAwaeteCitationA: 'Localizados no Médio Xingu, no estado do Pará, no interior da Amazônia, os Asuriní do Xingu, ou Awaete como se autodenominam, são um povo de apenas 250 pessoas e 40 anos de contato. Artesãos, construtores, caçadores, agricultores, coletores, conhecedores da fauna e flora local, os Awaete possuíam sua autonomia baseada num sistema cultural complexo e equilibrado. Viviam parte do ano nômades, dispersos pelo território em núcleos familiares e na outra parte encontrava-se numa intensa festa celebrada na Tawywa, casa grande. Nestes encontros construíam e renovavam sua cultura e expandiam seu conhecimento sobre os territórios e seus habitantes pelas trocas entre seus clãs e muitas vezes acolhendo viajantes numa grande troca de saberes.',
pageTextAboutAwaeteCitationB: 'Um ponto comum da bibliografia acerca desta região é de que o termo “asuriní” ao qual Coudreau se refere provavelmente designava uma quantidade maior de povos indígenas que circulavam por essa região. Esse termo tem origem no termo juruna asóreni que designa vermelho. Embora ele seja atualmente aplicado aos Asuriní do Xingu é mais provável que esse termo designasse o grupo indígena Arawaté, pois estes últimos utilizam de forma abundante o urucum, de cor vermelha, enquanto que os Asuriní do Xingu utilizam jenipapo, de cor preta.”',
pageTextAboutAwaeteCitationBibliography: 'NIMUENDAJÚ, 1948, p. 255; RIBEIRO, 2009, p. 61'
},
footer: {
buttonLabelSubmissionTerms: 'TERMOS DE SUBMISSÃO',
......@@ -13,6 +11,27 @@ export default {
imageAltTextJanerakaLogo: 'Logo Instituto Janereka',
contact: 'Contato'
},
gallery: {
alertSubmissionSuccess: 'Seu arquivo foi submetido com sucesso.',
buttonLabelClose: 'Fechar',
buttonLabelSend: 'Enviar',
categoryLabelAll: 'Todos',
categoryLabelFiles: 'Arquivos',
categoryLabelImages: 'Imagens',
categoryLabelVideos: 'Vídeos',
categoryLabelAudio: 'Áudios',
mainTableTitle: 'Acervo',
mediaDetailsDescription: 'Descrição:',
mediaDetailsCreated: 'Criado em:',
mediaDetailsAuthor: 'Autor:',
menuSortAlphabetical: 'Ordem alfabética',
menuSortNewer: 'Mais recentes',
menuSortOlder: 'Mais antigos',
menuSortBy: 'Classificação',
menuSortHastahgs: 'Hashtags',
paginationOfPage: 'de',
searchBarPlaceholder: 'Pesquisar'
},
home: {
buttonLabelGalleryAccess: 'Acesse o acervo',
imageAltTextCoverPicture: 'Pessoa Indígena pulando no rio',
......@@ -22,10 +41,34 @@ export default {
pageTextAboutTitle: 'Sobre a Plataforma',
pageTextAbout: 'Essa plataforma tem o objetivo de organizar, facilitar o acesso e documentar, registrar nossos saberes, estimular suas práticas, para a preservação e o fortalecimento de nossas memórias ancestrais em especial ritualística, medicinal, artesanal e construtiva a partir do diálogo com nossos jovens e anciãos.'
},
about: {
pageTextEthnicity: 'A etnia',
pageTextAboutAwaeteCitationA: 'Localizados no Médio Xingu, no estado do Pará, no interior da Amazônia, os Asuriní do Xingu, ou Awaete como se autodenominam, são um povo de apenas 250 pessoas e 40 anos de contato. Artesãos, construtores, caçadores, agricultores, coletores, conhecedores da fauna e flora local, os Awaete possuíam sua autonomia baseada num sistema cultural complexo e equilibrado. Viviam parte do ano nômades, dispersos pelo território em núcleos familiares e na outra parte encontrava-se numa intensa festa celebrada na Tawywa, casa grande. Nestes encontros construíam e renovavam sua cultura e expandiam seu conhecimento sobre os territórios e seus habitantes pelas trocas entre seus clãs e muitas vezes acolhendo viajantes numa grande troca de saberes.',
pageTextAboutAwaeteCitationB: 'Um ponto comum da bibliografia acerca desta região é de que o termo “asuriní” ao qual Coudreau se refere provavelmente designava uma quantidade maior de povos indígenas que circulavam por essa região. Esse termo tem origem no termo juruna asóreni que designa vermelho. Embora ele seja atualmente aplicado aos Asuriní do Xingu é mais provável que esse termo designasse o grupo indígena Arawaté, pois estes últimos utilizam de forma abundante o urucum, de cor vermelha, enquanto que os Asuriní do Xingu utilizam jenipapo, de cor preta.”',
pageTextAboutAwaeteCitationBibliography: 'NIMUENDAJÚ, 1948, p. 255; RIBEIRO, 2009, p. 61'
login: {
alertLoginFailed: 'Não foi possível fazer login',
alertLoginNecessary: 'É necessário fazer login para obter acesso.',
formFieldLabelUsername: 'Nome',
formFieldLabelPassword: 'Senha',
formValidationFieldRequired: 'Este campo é necessário'
},
menus: {
navigationHome: 'Início',
navigationAbout: 'Sobre',
navigationGallery: 'Acervo',
langSwitch: 'Idioma'
},
submission: {
alertSubmissionError: 'Ocorreu um erro na submissão do arquivo. Tente novamente.',
alertSubmissionSuccess: 'Arquivo submetido com sucesso.',
buttonLabelNewFile: 'Novo',
buttonLabelSend: 'Enviar',
buttonLabelNewAuthor: 'Criar novo autor',
formDropdownLabelAldeia: 'Selecione sua aldeia',
formDropdownLabelAuthor: 'Selecione o(a) autor(a)',
formFieldHintHastags: 'Separe cada tag com uma vírgula (,). Ex: tag1, tag2, tag3',
formFieldLabelFilename: 'Nome do arquivo:',
formFieldLabelFilepicker: 'Selecione um arquivo',
formFieldLabelDescription: 'Descrição:',
formFieldLabelHashtags: 'Coleções (tags):',
formFieldLabelAcceptTerms: 'Li e aceito os termos de submissão da plataforma',
formSectionTitleAuthor: 'Dados do autor',
formTextNotAnAuthor: 'Ainda não é um autor?'
}
}
......@@ -22,7 +22,7 @@
style="overflow-y: scroll;"
>
<q-input filled dense debounce="300" placeholder="Pesquisar"
<q-input filled dense debounce="300" :placeholder="$t('gallery.searchBarPlaceholder')"
standout="bg-grey-2" class="q-my-lg"
>
<template v-slot:append>
......@@ -30,14 +30,14 @@
</template>
</q-input>
<strong>Classificação</strong>
<strong>{{ $t('gallery.menuSortBy') }}</strong>
<div class="column q-my-md">
<q-radio v-model="radioPlaceholder" val="alph" label="Ordem alfabética" />
<q-radio v-model="radioPlaceholder" val="new" label="Mais recentes" />
<q-radio v-model="radioPlaceholder" val="old" label="Mais antigos" />
<q-radio v-model="radioPlaceholder" val="alph" :label="$t('gallery.menuSortAlphabetical')" />
<q-radio v-model="radioPlaceholder" val="new" :label="$t('gallery.menuSortNewer')" />
<q-radio v-model="radioPlaceholder" val="old" :label="$t('gallery.menuSortOlder')" />
</div>
<strong>Hashtags</strong>
<strong>{{ $t('gallery.menuSortHashtags') }}</strong>
<div class="q-gutter-sm q-mt-xs">
<span
v-for="hashtag in hashtagPlaceholder" :key="hashtag.name"
......@@ -46,7 +46,7 @@
</span>
</div>
<q-btn label="Fechar" color="primary" class="self-start q-mt-xl"
<q-btn :label="$t('gallery.buttonLabelClose')" color="primary" class="self-start q-mt-xl"
@click="showFilter = false"
/>
......
......@@ -109,8 +109,10 @@ export default class MediaSubmission {
try {
await this.performMediaDetailsSubmission()
await this.perforMediaFileSubmission()
return this.success
} catch (error) {
console.error(error)
return this.success
}
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment