This commit is contained in:
did 2011-02-12 18:13:06 +01:00
commit af5ec86c57
29 changed files with 1097 additions and 11 deletions

0
.gitmodules vendored
View File

View File

@ -20,6 +20,7 @@ javascripts:
- public/javascripts/admin/plugins/cookie.js - public/javascripts/admin/plugins/cookie.js
- public/javascripts/admin/plugins/selectmenu.js - public/javascripts/admin/plugins/selectmenu.js
- public/javascripts/admin/locales/datepicker_fr.js - public/javascripts/admin/locales/datepicker_fr.js
- public/javascripts/admin/locales/datepicker_pt-BR.js
- public/javascripts/admin/application.js - public/javascripts/admin/application.js
custom_fields: custom_fields:
- public/javascripts/admin/plugins/fancybox.js - public/javascripts/admin/plugins/fancybox.js

View File

@ -37,7 +37,7 @@ Locomotive.configure do |config|
# If you do not mind about importing theme without DelayedJob, disable it. # If you do not mind about importing theme without DelayedJob, disable it.
config.delayed_job = false config.delayed_job = false
# default locale (for now, only en and fr are supported) # default locale (for now, only en, fr and pt-BR are supported)
config.default_locale = :en config.default_locale = :en
# Configure the e-mail address which will be shown in the DeviseMailer, NotificationMailer, ...etc # Configure the e-mail address which will be shown in the DeviseMailer, NotificationMailer, ...etc

View File

@ -159,6 +159,7 @@ en:
new_site: new site new_site: new site
en: English en: English
fr: French fr: French
pt-BR: "Brazilian Portuguese"
ask_for_name: "Please type your new name" ask_for_name: "Please type your new name"
theme_assets: theme_assets:

View File

@ -159,6 +159,7 @@ fr:
new_site: nouveau site new_site: nouveau site
en: en Anglais en: en Anglais
fr: en Français fr: en Français
pt-BR: "en Portugaise"
ask_for_name: "Veuillez entrer le nouveau nom" ask_for_name: "Veuillez entrer le nouveau nom"
theme_assets: theme_assets:

View File

@ -0,0 +1,301 @@
pt-BR:
admin:
buttons:
login: Entrar
send_password: Enviar
change_password: Mudar
new_item: "+ adicionar"
switch_to_site: Ir
messages:
confirm: Você tem certeza ?
shared:
header:
welcome: Bem-Vindo, %{name}
see: Ver websiste
logout: Sair
menu:
contents: Conteúdos
assets: Arquivos
settings: Configurações
pages: Páginas
snippets: Blocos de código
account: Minha Conta
site: Site
theme_assets: Arquivos do Tema
footer:
who_is_behind: "Desenvovido por %{development} e desenhado por <a href=\"http://www.sachagreif.com\">Sacha Greif</a>"
form_actions:
back: Voltar sem salvar
create: Criar
update: Atualizar
send: Enviar
errors:
"500":
title: Erro de aplicação
notice: "Desculpe-nos, algo não está funcionando como deveria"
link: "&rarr; Voltar a aplicação"
"404":
title: Página não encontrada
notice: "A página requisitada não existe."
link: "&rarr; Voltar a aplicação"
notifications:
new_content_instance:
subject: " Novo [%{type}] "
title: "Olá %{name}, apenas informando que uma nova instância foi criada em %{date}"
type: "Modelo: %{type}"
custom_fields:
edit:
title: Editando campo customizado
kind:
string: Texto Simples
text: Texto
category: Caixa de Seleção
boolean: Checkbox
date: Data
file: Arquivo
text_formatting:
none: Nenhum
html: HTML
edit_field:
title: Edita campo
edit_category:
title: Editar opções
help: Gerenciar a lista de opções da sua caixa de seleçõa.
collection_label: Lista de opções
custom_form:
edit_categories: Editar opções
delete_file: Excluir arquivo
sessions:
new:
title: Login
link: "Esqueci minha senha"
email: "Email"
password: "Senha"
passwords:
new:
title: Esqueci minha senha
link: "&rarr; Voltar a página de login"
email: "Seu email"
edit:
title: Atualizar minha senha
link: "&rarr; Voltar a página de login"
password: "Sua nova senha"
password_confirmation: "Confirmação da sua nova senha"
pages:
index:
title: Listando páginas
help: "As páginas são organizadas como uma árvore. Você pode reordenar as páginas como se fossem pastas"
no_items: "Não existe nenhuma página ainda. Clique <a href=\"%{url}\">aqui</a> para criar a primeira."
new: nova página
lastest_items: Últmas páginas
new:
title: Nova página
help: "Por favor, preencha o formulário a seguir para criar sua página. Atenção: Por padrão a página não é publicada."
page:
updated_at: atualizada em
edit:
show: mostrar
help: "O título da página pode ser alterado clicando nele."
ask_for_title: "Por favor preencha o novo título"
form:
delete_file: Excluir arquivo
default_block: Padrão
cache_strategy:
none: Nenhum
simple: Simples
hour: 1 hora
day: 1 dia
week: 1 semana
month: 1 mês
snippets:
index:
title: Listando Blocos de Código
help: "Blocos de código são alguns códigos HTML que pode sem encontrados em diferentes lugares do site e podem ser reutilizados ( como o rodapé )."
no_items: "Você ainda não tem blocos de código. Clique <a href=\"%{url}\">aqui</a> para criar o primeiro."
new: novo bloco
new:
title: Novo bloco
help: "Preecha o formulário a seguirar para atulizar o seu bloco de código."
edit:
title: Editing snippet
help: "Preecha o formulário a seguirar para atulizar o seu bloco de código."
snippet:
updated_at: Atualizado em
sites:
new:
title: Novo site
help: "Preencha o formulário a seguir para criar um novo site."
current_sites:
edit:
import: importar
new_membership: adicionar conta
help: "O nome do site pode ser alterado clicando nele."
ask_for_name: "Por favor, digite o novo nome do site"
memberships:
new:
title: Novo usuário
help: "Por favor, forneça o e-mail que deseja adicionar. Se ele não exister, você será redirecionado para o formulário de criação."
accounts:
new:
title: Nova conta
help: "Preencha o formulário a seguir para criar uma nova conta."
my_accounts:
edit:
help: "Seu nome pode ser atualizado clicando nele."
new_site: novo site
en: Inglês
fr: Francês
pt-BR: "Português do Brasil"
ask_for_name: "Por favor preencha o novo nome"
theme_assets:
index:
title: Listando arquivos do tema
help: "Nesta seção todos os arquivos relacionados a layout são armazenados e gerenciados. Se você precisa de uma galeria de imagens, vá a seção de Arquivos."
all: todos arquivos
new: novo arquivo
snippets: Blocos
css_and_js: CSS e Javascript
fonts: Fontes
images: Imagens
media: Mídia
no_items: "Ainda não existem arquivos. Clique <a href=\"%{url}\">aqui</a> para criar o primeiro."
asset:
updated_at: Atualizado em
new:
title: Novo arquivo
help: "Você pode escolher em enviar qualquer arquivo ou copiar/colar um arquivo de css/javascript em texto."
edit:
title: "Editando %{file}"
help: "Esse arquivo pode ser acessado pela seguinte URL: <a href='%{url}'>%{url}</a>"
form:
picker_link: Insira um arquivo no código
choose_file: Escolha um arquivo
choose_plain_text: Escolher texto plano
images:
title: Listando imagens
no_items: "Não existem imagens ainda."
asset_collections:
index:
title: Coleções de arquivos
help: "O nome da coleção pode ser alterado clicando nele. Você pode customizar os arquivos nas coleções adicionando campos."
new: nova coleção
no_items: "Não existem coleções ainda. Clique <a href=\"%{url}\">aqui</a> para criar a primeira."
new:
title: Nova Coleção
help: "Por enquanto, apenas insira o nome. Outras opções irão aparecer após o formulário ser enviado."
edit:
help: "O nome da coleção pode ser alterado clicando nele. Você pode customizar os arquivos nas coleções adicionando campos."
add_asset: adicionar arquivo
destroy: excluir coleção
no_items: "Não existem coleções ainda. Clique <a href=\"%{url}\">aqui</a> para criar a primeira."
ask_for_name: Por favor preencha o novo nome"
assets:
new:
title: Novo arquivo
help: "Preencha o formulário a seguir para criar o seu arquivo."
edit:
title: Editar arquivo
help: "Preencha o formulário a seguir para atualizar o seu arquivo."
content_types:
index:
new: novo modelo
new:
title: Novo modelo
help: "Crie o seu próprio modelo de dados (Projetos, Pessoas, ...etc). Seu modelo deve conter um campo pelo menos. Os itens criados a partir desse tipo de conteúdo terão seu primeiro campo como obrigatório."
edit:
title: Editar modelo
help: "Seu modelo deve conter um campo pelo menos. Os itens criados a partir desse tipo de conteúdo terão seu primeiro campo como obrigatório."
show_items: mostrar itens
new_item: novo item
form:
order_by:
created_at: 'Por "criado em" data'
updated_at: 'Por "atualizado em" data'
position_in_list: Manual
contents:
index:
title: 'Listando "%{type}"'
edit: editar modelo
destroy: excluir modelo
download: download dos itens
new: novo item
category_noname: "Sem nome"
lastest_items: "Últimos itens"
updated_at: "Atualizado em"
list:
no_items: "Não existem itens ainda. Clique <a href=\"%{url}\">aqui</a> para criar o primeiro."
new:
title: '%{type} &mdash; novo item'
edit:
title: '%{type} &mdash; editando item'
image_picker:
link: Insira uma imagem no código
cross_domain_sessions:
new:
title: Autenticação por mútiplos domínios.
notice: Você será redirecionado para o site em alguns segundos.
imports:
new:
title: Importar
help: "Tenha cuidado ao enviar um novo tema ao seu site que já existe, seus dados atuais podem ser atualizados ou até removidos."
show:
title: Importação em progresso
help: "Seu site está sendo atualizado pelo arquivo zip enviado. Irá demorar alguns segundos."
steps:
site: Informações do site
content_types: Tipos de Conteúdo customizados
assets: Arquivos do Tema
asset_collections: Coleções de Arquivos
snippets: Blocos
pages: Páginas
messages:
success: "Seu site foi atualizado com sucesso"
failure: "A importação não funcionou."
installation:
common:
title: Primeira instalação do Locomotive
next: Próximo
step_1:
title: Passo 1/3
explanations: "Este é o primeiro passo da instalação do Locomotive. Por favor , leia com atenção o que está escrito"
database:
label: "Nome da Base de Dados: <em>%{name}</em>"
notes: "Todas as configurações de conexão do mongodb podem ser encontradas no arquivo <b>config/mongoid.yml</b> da sua aplicação."
default_domain:
label: "Domínio padrão: <em>%{name}</em>"
notes: "Basicamente, Locomotive é uma plataforma multi-site. Cada instância de site tem uma entrada padrão, , também chamada de sub-domínio e baseada no dominio principal. Obviamente, você pode mapear outros domínios para a instância do seu site , como uma referência. <br/>O nome do domínio principal pode ser encontrado no arquivo <b>config/initializers/locomotive.rb</b>."
step_2:
title: "Passo 2/3 &mdash; Criar conta"
name: Nome da Conta
email: Email
password: Senha
password_confirmation: Confirmação da Senha
done: "Você ja adicionou uma conta com:<br/><strong>%{name}</strong>, <em>%{email}</em>"
next: Criar Conta
step_3:
title: "Passo 3/3 &mdash; Criar primeiro site"
explanations: "Este é o último passo da instalação. Você pode enviar um tema como um arquivo zip. Nós temos alguns temas de graça para download <a href=\"http://www.locomotivecms.com/support/themes\">aqui</a>."
next: Criar Site

View File

@ -0,0 +1,4 @@
pt-BR:
carrierwave:
errors:
integrity: 'não é um tipo de arquivo compatível.'

View File

@ -0,0 +1,214 @@
pt-BR:
errors:
# The default format use in full error messages.
format: "%{attribute} %{message}"
messages:
inclusion: "não está incluído na lista"
exclusion: "não está disponível"
invalid: "não é válido"
confirmation: "não está de acordo com a confirmação"
accepted: "deve ser aceito"
empty: "não pode ficar vazio"
blank: "não pode ficar em branco"
too_long: "é muito longo (máximo: %{count} caracteres)"
too_short: "é muito curto (mínimo: %{count} caracteres)"
wrong_length: "não possui o tamanho esperado (%{count} caracteres)"
not_a_number: "não é um número"
not_an_integer: "não é um número inteiro"
greater_than: "deve ser maior do que %{count}"
greater_than_or_equal_to: "deve ser maior ou igual a %{count}"
equal_to: "deve ser igual a %{count}"
less_than: "deve ser menor do que %{count}"
less_than_or_equal_to: "deve ser menor ou igual a %{count}"
odd: "deve ser ímpar"
even: "deve ser par"
domain_taken: "%{value} já está em uso."
invalid_domain: "%{value} é inválido."
needs_admin_account: "Uma conta de administrador é necessário pelo menos."
protected_page: "Você não pode remover a página inicial e a do erro 404"
extname_changed: "Novo arquivos não tem a mesma extensão que o original"
array_too_short: "é muito pequeno (mínimo de elementos é %{count})"
liquid_syntax: "Erro de sintaxe do Liquid, por favor verifique a sintaxe"
liquid_extend: "A página extende um template que não existe."
invalid_theme_file: "não pode ser vazio ou não é um arquivo zip"
date:
formats:
default: "%d/%m/%Y"
attributes:
defaults:
pages:
index:
title: "Página Inicial"
body: "Conteúdo da página inicial"
"404":
title: "Página não encontrada"
body: "Conteúdo da página de erro 404"
other:
body: "Conteúdo vai aqui"
activemodel:
attributes:
page:
title: Título
parent: Pai
slug: Slug
templatized: Template
published: Publicado
cache_strategy: Cache
content_type:
name: Nome
description: Descrição
slug: Slug
order_by: Ordenar por
highlighted_field_name: Nome do Campo em destaque
group_by_field_name: Agrupar por name do campo
api_enabled: Activation API
asset_collection:
name: Nome
slug: Slug
asset:
name: Nome
source: Arquivo
account:
email: Email
name: Nome
language: Lingugaem
new_password: "Nova senha"
new_password_confirmation: "Confirmação da nova senha"
snippet:
body: Código
slug: slug
name: Nome
theme_asset:
content_type: Tipo de conteúdo
site:
name: Nome do Site
domain_name: Domínio
subdomain: Sub-domínio
restricted_access: Restrito ?
access_login: Login
access_password: "senha"
pagination:
previous: "&laquo; Anterior"
next: "Próximo &raquo;"
date:
formats:
default: "%d/%m/%Y"
short: "%e %b"
long: "%e %B %Y"
long_ordinal: "%e %B %Y"
only_day: "%e"
day_names: [Domingo, Segunda, Terça, Quarta, Quinta, Sexta, Sábado]
abbr_day_names: [Dom, Seg, Ter, Qua, Qui, Sex, Sáb]
month_names: [~, Janeiro, Fevereiro, Março, Abril, Maio, Junho, Julho, Agosto, Setembro, Outubro, Novembro, Dezembro]
abbr_month_names: [~, Jan, Fev, Mar, Abr, Mai, Jun, Jul, Ago, Set, Out, Nov, Dez]
order: [ :day, :month, :year ]
time:
formats:
default: "%d %B %Y %H:%M"
time: "%H:%M"
short: "%d %b %H:%M"
long: "%A %d %B %Y %H:%M:%S %Z"
long_ordinal: "%A %d %B %Y %H:%M:%S %Z"
only_second: "%S"
am: 'am'
pm: 'pm'
datetime:
distance_in_words:
half_a_minute: 'meio minuto'
less_than_x_seconds:
one: 'menos de 1 segundo'
other: 'menos de %{count} segundos'
x_seconds:
one: '1 segundo'
other: '%{count} segundos'
less_than_x_minutes:
one: 'menos de um minuto'
other: 'menos de %{count} minutos'
x_minutes:
one: '1 minuto'
other: '%{count} minutos'
about_x_hours:
one: 'aproximadamente 1 hora'
other: 'aproximadamente %{count} horas'
x_days:
one: '1 dia'
other: '%{count} dias'
about_x_months:
one: 'aproximadamente 1 mês'
other: 'aproximadamente %{count} meses'
x_months:
one: '1 mês'
other: '%{count} meses'
about_x_years:
one: 'aproximadamente 1 ano'
other: 'aproximadamente %{count} anos'
over_x_years:
one: 'mais de 1 ano'
other: 'mais de %{count} anos'
almost_x_years:
one: 'quase 1 ano'
other: 'quase %{count} anos'
prompts:
year: "Ano"
month: "Mês"
day: "Dia"
hour: "Hora"
minute: "Minuto"
second: "Segundos"
number:
format:
precision: 3
separator: ','
delimiter: '. '
currency:
format:
unit: 'R$'
precision: 2
format: '%n %u'
human:
format:
precision: 2
storage_units:
format: '%n %u'
units:
byte: 'Byte'
kb: 'Kb'
mb: 'Mb'
gb: 'Gb'
tb: 'Tb'
support:
array:
sentence_connector: ' e '
skip_last_comma: true
words_connector: ", "
two_words_connector: " e "
last_word_connector: " e "

View File

@ -0,0 +1,61 @@
pt-BR:
errors:
messages:
not_found: "não encontrado"
already_confirmed: "já foi confirmado"
not_locked: "não está bloqueado"
devise:
failure:
admin:
unauthenticated: 'Você precisa se cadasstrar ou fazer o login antes de continuar.'
unconfirmed: 'Você deve confirmar sua conta antes de continuar.'
locked: 'Sua conta está bloquada.'
invalid: 'Email ou senha inválidos.'
invalid_token: 'Autenticação inválida.'
timeout: 'Sua sessão expirou. Por favor, faça o login novamente para continuar.'
inactive: 'Sua conta não foi ativada ainda.'
sessions:
admin:
signed_in: 'Login feito com sucesso.'
signed_out: 'Logout feito com sucesso.'
passwords:
admin:
send_instructions: 'Você receberá um email com as instruções sobre como alterar sua senha em poucos minutos.'
updated: 'Sua senha foi alterada com sucesso. Você está logado.'
confirmations:
admin:
send_instructions: 'Você receberá um email com as instruções sobre como confirmar sua conta em poucos minutos.'
confirmed: 'Sua conta foi confirmada com sucesso. Você está logado.'
registrations:
admin:
signed_up: 'Você logou com sucesso.'
updated: 'Atualização da conta feita com sucesso.'
destroyed: 'Sua conta foi cancelada com sucesso. Logo logo esperamos te ver por aqui. Tchau!'
unlocks:
admin:
send_instructions: 'Você receberá um email com as intruções de como desbloquear sua conta em poucos minutos.'
unlocked: 'Sua conta foi desbloqueada com sucesso. Você está logado.'
mailer:
admin:
confirmation_instructions: 'Instruções de confirmação'
reset_password_instructions: 'Instruções para resetar a senha.'
unlock_instructions: 'Instruções de desbloqueio'
admin:
mailer:
common:
hello: Olá
confirmation_instructions:
you_can_confirm_your_account_through_the_link_below: "Você pode confirmar sua conta através do link abaixo."
confirm_my_account: "Confirmar minha conta"
reset_password_instructions:
reset_password_instruction: "Alguém solicitou um link para alterar sua senha e você poderá fazer isto através do link abaixo:"
change_my_password: "Alterar minha senha"
wrong_request_instruction: "Se você não solicitou isto, por favor ignore este email."
unchange_password_message: "Sua senha não irá ser alterada até que você acesse o link acima e crie uma nova senha."
unlock_instructions:
locked_account_message: "Sua conta foi bloqueada devido a excessiva tentativa de logins sem sucesso."
unlock_account_instruction: "Clique no link abaixo para desbloquear sua conta:"
unlock_my_account: "Desbloquear minha conta"

View File

@ -0,0 +1,116 @@
pt-BR:
flash:
admin:
pages:
create:
notice: "Página criada com sucesso."
alert: "Página não foi criada."
update:
notice: "Página atualizada com sucesso."
alert: "Página não foi atualizada."
sort:
notice: "Páginas foram ordenadas com sucesso."
destroy:
notice: "Páginas foram apagadas com sucesso."
contents:
create:
notice: "Conteúdo criado com sucesso."
alert: "Conteúdo não foi criado."
update:
notice: "Conteúdo foi atualizado com sucesso."
alert: "Conteúdo não foi atualizado."
sort:
notice: "Conteúdos foram ordenados com sucesso."
destroy:
notice: "Conteúdos foram apagados com sucesso."
content_types:
create:
notice: "Modelo foi criado com sucesso."
alert: "Modelo não foi criado."
update:
notice: "Modelo foi atualizado com sucesso."
alert: "Modelo não foi atualizado."
destroy:
notice: "Modelo foi apagado com sucesso."
current_sites:
update:
notice: "Meu site foi atualizado com sucesso."
alert: "Meu site não foi atualizado."
snippets:
create:
notice: "Fragmento foi criado com sucesso."
alert: "Fragmento não foi criado."
update:
notice: "Fragmento foi atualizado com sucesso."
alert: "Fragmento não foi atualizado."
destroy:
notice: "Fragmento foi apagado com sucesso."
accounts:
create:
notice: "Conta foi criada com sucesso."
alert: "Conta não foi criada."
my_accounts:
update:
notice: "Minha conta foi atualizada com sucesso."
alert: "Minha conta não foi atualizada."
sites:
create:
notice: "Site foi criado com sucesso."
alert: "Site não foi criado com sucesso."
destroy:
notice: "Site foi apagado com sucesso."
memberships:
create:
notice: "Adesão foi criada com sucesso."
alert: "Adesão não foi criada."
already_created: "Conta já foi adicionada ao site atual."
asset_collections:
create:
notice: "Coleção criada com sucesso."
alert: "Coleção não foi criada."
update:
notice: "Coleção foi atualizada com sucesso."
alert: "Coleção não foi atualizada."
destroy:
notice: "Coleção foi apagada com sucesso."
assets:
create:
notice: "Asset foi criada com sucesso."
alert: "Asset não foi criada."
update:
notice: "Asset foi atualizada com sucesso."
alert: "Asset não foi atualizada."
theme_assets:
create:
notice: "Arquivo foi criado com sucesso."
alert: "Arquivo não foi criado."
update:
notice: "Arquivo foi atualizado com sucesso."
alert: "Arquivo não foi atualizado."
destroy:
notice: "Arquivo foi apagado com sucesso."
custom_fields:
update:
alert: "Campo não foi atualizado."
cross_domain_sessions:
create:
alert: "Você precisa fazer o login"
imports:
create:
done: "Seu site foi atualizado com sucesso."
notice: "Seu site está sento atualizado."
alert: "A importação não foi feita."

View File

@ -0,0 +1,66 @@
pt-BR:
formtastic:
titles:
information: Informação geral
meta: SEO Metadata
code: Código
raw_template: Template
credentials: Credenciais
language: Língua
sites: Sites
access_points: Pontos de acesso
memberships: Contas
membership_email: Conta de email
file: Arquivo
preview: Pré-visualizar
options: Opções avançadas
custom_fields: Compos customizáveis
other_fields: Outras informações
presentation: Apresentação
attributes: Atributos
upload: Upload
labels:
theme_asset:
plain_text_name: Nome do arquivo
content_type: Tipo do arquivo
new:
source: Arquivo
edit:
source: Substituir arquivo
custom_fields:
field:
_alias: Apelido
import:
new:
source: Arquivo
samples: Amostras de cópia
reset: Reiniciar site
content_type:
api_accounts: Contas notificadas
hints:
page:
published: "Apenas contas autenticadas podem ver páginas não publicadas."
cache_strategy: 'Faça o Cache da página para obter melhor desempenho. A escolha do "Simples" é um bom compromisso'
templatized: "Utilize a página como template para o modelo definido."
snippet:
slug: "Você precisa saber a ordem para inserir fragmentos dentro da página."
site:
meta_keywords: "Palavras chave usadas dentro da tag 'head' da página. Elas são separadas por um espaço em branco. Requerido para SEO."
meta_description: "Descrição chave usada dentro da tag 'head' da página. Requerido para SEO."
domain_name: "ex: locomotiveapp.org"
theme_asset:
slug: "Você não precisa adicionar as extensões do arquivo (.css or .js)"
edit:
source: "Você pode substituir por um arquivo com a mesma extensão."
custom_fields:
field:
_alias: "Propriedades disponíveis em templates líquidos."
hint: "Texto mostrado no formulário de modelo está abaixo do campo."
import:
source: "Um arquivo .zip contendo um database.yml com assets and templates"
samples: "Se habilitado, a importação também irá copiar conteúdos e assets."
reset: "Se habilitado, todos os dados do site serão apagados antes da importação do novo site."
content_type:
api_enabled: "Ele é utilizado para permitir que pessoas de fora criem novas instâncias (exemplo: mensagens no formulário de contato)"
api_accounts: "Um email de notificação será enviado para conta listada acima quando uma nova instância for criada."

View File

@ -35,7 +35,7 @@ Locomotive.configure do |config|
# If you do not mind about importing theme without DelayedJob, disable it. # If you do not mind about importing theme without DelayedJob, disable it.
config.delayed_job = false config.delayed_job = false
# default locale (for now, only en and fr are supported) # default locale (for now, only en, fr and pt-BR are supported)
config.default_locale = :en config.default_locale = :en
# Configure the e-mail address which will be shown in the DeviseMailer, NotificationMailer, ...etc # Configure the e-mail address which will be shown in the DeviseMailer, NotificationMailer, ...etc

View File

@ -7,7 +7,7 @@ module Locomotive
:reserved_subdomains => %w{www admin email blog webmail mail support help site sites}, :reserved_subdomains => %w{www admin email blog webmail mail support help site sites},
# :forbidden_paths => %w{layouts snippets stylesheets javascripts assets admin system api}, # :forbidden_paths => %w{layouts snippets stylesheets javascripts assets admin system api},
:reserved_slugs => %w{stylesheets javascripts assets admin images api pages edit}, :reserved_slugs => %w{stylesheets javascripts assets admin images api pages edit},
:locales => %w{en fr}, :locales => %w{en fr pt-BR},
:cookie_key => '_locomotive_session', :cookie_key => '_locomotive_session',
:enable_logs => false, :enable_logs => false,
:heroku => false, :heroku => false,

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -2,4 +2,6 @@ floatingmenu.tab.format=Mise en page
floatingmenu.tab.insert=Insertion floatingmenu.tab.insert=Insertion
yes=Oui yes=Oui
no=Non no=Non
cancel=Annuler cancel=Annuler
repository.no_item_found=Aucun élément trouvé.
repository.loading=Chargement

View File

@ -0,0 +1,7 @@
floatingmenu.tab.format=Formato
floatingmenu.tab.insert=Inserir
yes=Sim
no=Não
cancel=Cancelar
repository.no_item_found=Nenhum item encotrado.
repository.loading=Carregando

@ -1 +0,0 @@
Subproject commit c71edba41798a4be621197a7418747252884a34d

@ -1 +0,0 @@
Subproject commit 11d45d8df725f0e15501c1447975b84473b8c116

@ -1 +0,0 @@
Subproject commit a148845e30f7a1f6aa2640d12070dbfa44773370

@ -1 +0,0 @@
Subproject commit ada3208a19a31251ad0a58f136bbb09fea68fd70

@ -1 +0,0 @@
Subproject commit 7d622b36dc1501f993f39e74649fef64c403ba67

@ -1 +0,0 @@
Subproject commit e71536475f32b7ee191087f76c2d7acbadad14be

View File

@ -25,6 +25,9 @@ if (typeof GENTICS != 'undefined') {
'.editable-short-text' : [ ] '.editable-short-text' : [ ]
} }
} }
},
i18n: {
available: ['en', 'fr', 'pt-BR']
} }
}; };
@ -36,7 +39,7 @@ jQuery(document).ready(function($) {
InlineEditorToolbar.initialize(); InlineEditorToolbar.initialize();
if (InlineEditorToolbar.editingMode) { if (InlineEditorToolbar.editingMode) {
GENTICS.Aloha.settings['i18n'] = { 'current': InlineEditorToolbar.locale }; GENTICS.Aloha.settings.i18n['current'] = InlineEditorToolbar.locale;
// add 'edit' at the end of each url of the page // add 'edit' at the end of each url of the page
$('a').each(function() { $('a').each(function() {

View File

@ -165,6 +165,14 @@ var InlineEditorToolbar = {
'cancel': 'annuler', 'cancel': 'annuler',
'back': 'fin mode edition', 'back': 'fin mode edition',
'saving': 'sauvegarde en cours' 'saving': 'sauvegarde en cours'
},
'pt-BR': {
'home': 'admin',
'edit': 'editar',
'save': 'salvar',
'cancel': 'cancelar',
'back': 'terminar edição',
'saving': 'salvando'
} }
} }
}; };

View File

@ -0,0 +1,18 @@
/* Brazilian Portuguese initialisation for the jQuery UI date picker plugin. */
/* Written by Raphael Costa (raphael@experia.com.br) */
jQuery(function($){
$.datepicker.regional['pt-BR'] = {
closeText: 'Fechar',
prevText: '&#x3c;Ant',
nextText: 'Prox&#x3e;',
currentText: 'Atual',
monthNames: ['Janeiro','Fevereiro','Março','Abril','Maio','Junho',
'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun',
'Jul','Ago','Set','Out','Nov','Dez'],
dayNames: ['Domingo','Segunda','Terça','Quarta','Quinta','Sexta','Sábado'],
dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'],
dayNamesMin: ['Do','Se','Te','Qua','Qu','Se','Sa'],
dateFormat: 'dd/mm/yy', firstDay: 1,
isRTL: false};
});

View File

@ -0,0 +1,170 @@
tinyMCE.addI18n({en:{
common:{
edit_confirm:"Do you want to use the WYSIWYG mode for this textarea?",
apply:"Aplicar",
insert:"Inserir",
update:"Update",
cancel:"Cancel",
close:"Close",
browse:"Browse",
class_name:"Class",
not_set:"-- Not set --",
clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?",
clipboard_no_support:"Currently not supported by your browser, use keyboard shortcuts instead.",
popup_blocked:"Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.",
invalid_data:"Error: Invalid values entered, these are marked in red.",
more_colors:"More colors"
},
contextmenu:{
align:"Alignment",
left:"Left",
center:"Center",
right:"Right",
full:"Full"
},
insertdatetime:{
date_fmt:"%Y-%m-%d",
time_fmt:"%H:%M:%S",
insertdate_desc:"Insert date",
inserttime_desc:"Insert time",
months_long:"January,February,March,April,May,June,July,August,September,October,November,December",
months_short:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec",
day_long:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday",
day_short:"Sun,Mon,Tue,Wed,Thu,Fri,Sat,Sun"
},
print:{
print_desc:"Print"
},
preview:{
preview_desc:"Preview"
},
directionality:{
ltr_desc:"Direction left to right",
rtl_desc:"Direction right to left"
},
layer:{
insertlayer_desc:"Insert new layer",
forward_desc:"Move forward",
backward_desc:"Move backward",
absolute_desc:"Toggle absolute positioning",
content:"New layer..."
},
save:{
save_desc:"Save",
cancel_desc:"Cancel all changes"
},
nonbreaking:{
nonbreaking_desc:"Insert non-breaking space character"
},
iespell:{
iespell_desc:"Run spell checking",
download:"ieSpell not detected. Do you want to install it now?"
},
advhr:{
advhr_desc:"Horizontal rule"
},
emotions:{
emotions_desc:"Emotions"
},
searchreplace:{
search_desc:"Find",
replace_desc:"Find/Replace"
},
advimage:{
image_desc:"Insert/edit image"
},
advlink:{
link_desc:"Insert/edit link"
},
xhtmlxtras:{
cite_desc:"Citation",
abbr_desc:"Abbreviation",
acronym_desc:"Acronym",
del_desc:"Deletion",
ins_desc:"Insertion",
attribs_desc:"Insert/Edit Attributes"
},
style:{
desc:"Edit CSS Style"
},
paste:{
paste_text_desc:"Paste as Plain Text",
paste_word_desc:"Paste from Word",
selectall_desc:"Select All",
plaintext_mode_sticky:"Paste is now in plain text mode. Click again to toggle back to regular paste mode. After you paste something you will be returned to regular paste mode.",
plaintext_mode:"Paste is now in plain text mode. Click again to toggle back to regular paste mode."
},
paste_dlg:{
text_title:"Use CTRL+V on your keyboard to paste the text into the window.",
text_linebreaks:"Keep linebreaks",
word_title:"Use CTRL+V on your keyboard to paste the text into the window."
},
table:{
desc:"Inserts a new table",
row_before_desc:"Insert row before",
row_after_desc:"Insert row after",
delete_row_desc:"Delete row",
col_before_desc:"Insert column before",
col_after_desc:"Insert column after",
delete_col_desc:"Remove column",
split_cells_desc:"Split merged table cells",
merge_cells_desc:"Merge table cells",
row_desc:"Table row properties",
cell_desc:"Table cell properties",
props_desc:"Table properties",
paste_row_before_desc:"Paste table row before",
paste_row_after_desc:"Paste table row after",
cut_row_desc:"Cut table row",
copy_row_desc:"Copy table row",
del:"Delete table",
row:"Row",
col:"Column",
cell:"Cell"
},
autosave:{
unload_msg:"The changes you made will be lost if you navigate away from this page.",
restore_content:"Restore auto-saved content.",
warning_message:"If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?."
},
fullscreen:{
desc:"Toggle fullscreen mode"
},
media:{
desc:"Insert / edit embedded media",
edit:"Edit embedded media"
},
fullpage:{
desc:"Document properties"
},
template:{
desc:"Insert predefined template content"
},
visualchars:{
desc:"Visual control characters on/off."
},
spellchecker:{
desc:"Toggle spellchecker",
menu:"Spellchecker settings",
ignore_word:"Ignore word",
ignore_words:"Ignore all",
langs:"Languages",
wait:"Please wait...",
sug:"Suggestions",
no_sug:"No suggestions",
no_mpell:"No misspellings found."
},
pagebreak:{
desc:"Insert page break."
},
advlist:{
types:"Types",
def:"Default",
lower_alpha:"Lower alpha",
lower_greek:"Lower greek",
lower_roman:"Lower roman",
upper_alpha:"Upper alpha",
upper_roman:"Upper roman",
circle:"Circle",
disc:"Disc",
square:"Square"
}}});

View File

@ -0,0 +1,62 @@
tinyMCE.addI18n('en.advanced',{
style_select:"Styles",
font_size:"Font size",
fontdefault:"Font family",
block:"Format",
paragraph:"Paragraph",
div:"Div",
address:"Address",
pre:"Preformatted",
h1:"Heading 1",
h2:"Heading 2",
h3:"Heading 3",
h4:"Heading 4",
h5:"Heading 5",
h6:"Heading 6",
blockquote:"Blockquote",
code:"Code",
samp:"Code sample",
dt:"Definition term ",
dd:"Definition description",
bold_desc:"Bold (Ctrl+B)",
italic_desc:"Italic (Ctrl+I)",
underline_desc:"Underline (Ctrl+U)",
striketrough_desc:"Strikethrough",
justifyleft_desc:"Align left",
justifycenter_desc:"Align center",
justifyright_desc:"Align right",
justifyfull_desc:"Align full",
bullist_desc:"Unordered list",
numlist_desc:"Ordered list",
outdent_desc:"Outdent",
indent_desc:"Indent",
undo_desc:"Undo (Ctrl+Z)",
redo_desc:"Redo (Ctrl+Y)",
link_desc:"Insert/edit link",
unlink_desc:"Unlink",
image_desc:"Insert/edit image",
cleanup_desc:"Cleanup messy code",
code_desc:"Edit HTML Source",
sub_desc:"Subscript",
sup_desc:"Superscript",
hr_desc:"Insert horizontal ruler",
removeformat_desc:"Remove formatting",
custom1_desc:"Your custom description here",
forecolor_desc:"Select text color",
backcolor_desc:"Select background color",
charmap_desc:"Insert custom character",
visualaid_desc:"Toggle guidelines/invisible elements",
anchor_desc:"Insert/edit anchor",
cut_desc:"Cut",
copy_desc:"Copy",
paste_desc:"Paste",
image_props_desc:"Image properties",
newdocument_desc:"New document",
help_desc:"Help",
blockquote_desc:"Blockquote",
clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.\r\nDo you want more information about this issue?",
path:"Path",
newdocument:"Are you sure you want clear all contents?",
toolbar_focus:"Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X",
more_colors:"More colors"
});

View File

@ -0,0 +1,51 @@
tinyMCE.addI18n('en.advanced_dlg',{
about_title:"About TinyMCE",
about_general:"About",
about_help:"Help",
about_license:"License",
about_plugins:"Plugins",
about_plugin:"Plugin",
about_author:"Author",
about_version:"Version",
about_loaded:"Loaded plugins",
anchor_title:"Insert/edit anchor",
anchor_name:"Anchor name",
code_title:"HTML Source Editor",
code_wordwrap:"Word wrap",
colorpicker_title:"Select a color",
colorpicker_picker_tab:"Picker",
colorpicker_picker_title:"Color picker",
colorpicker_palette_tab:"Palette",
colorpicker_palette_title:"Palette colors",
colorpicker_named_tab:"Named",
colorpicker_named_title:"Named colors",
colorpicker_color:"Color:",
colorpicker_name:"Name:",
charmap_title:"Select custom character",
image_title:"Insert/edit image",
image_src:"Image URL",
image_alt:"Image description",
image_list:"Image list",
image_border:"Border",
image_dimensions:"Dimensions",
image_vspace:"Vertical space",
image_hspace:"Horizontal space",
image_align:"Alignment",
image_align_baseline:"Baseline",
image_align_top:"Top",
image_align_middle:"Middle",
image_align_bottom:"Bottom",
image_align_texttop:"Text top",
image_align_textbottom:"Text bottom",
image_align_left:"Left",
image_align_right:"Right",
link_title:"Insert/edit link",
link_url:"Link URL",
link_target:"Target",
link_target_same:"Open link in the same window",
link_target_blank:"Open link in a new window",
link_titlefield:"Title",
link_is_email:"The URL you entered seems to be an email address, do you want to add the required mailto: prefix?",
link_is_external:"The URL you entered seems to external link, do you want to add the required http:// prefix?",
link_list:"Link list"
});

View File

@ -39,6 +39,12 @@ Factory.define "frenchy user", :parent => :account do |a|
a.locale 'fr' a.locale 'fr'
end end
Factory.define "brazillian user", :parent => :account do |a|
a.name "José Carlos"
a.email "jose@carlos.com.br"
a.locale 'pt-BR'
end
## Memberships ## ## Memberships ##
Factory.define :membership do |m| Factory.define :membership do |m|