Commit iniziale di eminuxCRM: CRM Rails con pipeline, campagne email e Docker.
CI / scan_ruby (push) Failing after 11m20s
CI / scan_js (push) Successful in 10m35s
CI / lint (push) Has been cancelled

Include autenticazione, progetti isolati, mail marketing HTML con SMTP, test A/B e editor WYSIWYG.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-17 23:01:48 +02:00
co-authored by Cursor
commit c4e5f289cf
258 changed files with 11293 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
# Files in the config/locales directory are used for internationalization and
# are automatically loaded by Rails. If you want to use locales other than
# English, add the necessary files in this directory.
#
# To use the locales, use `I18n.t`:
#
# I18n.t "hello"
#
# In views, this is aliased to just `t`:
#
# <%= t("hello") %>
#
# To use a different locale, set it with `I18n.locale`:
#
# I18n.locale = :es
#
# This would use the information in config/locales/es.yml.
#
# To learn more about the API, please read the Rails Internationalization guide
# at https://guides.rubyonrails.org/i18n.html.
#
# Be aware that YAML interprets the following case-insensitive strings as
# booleans: `true`, `false`, `on`, `off`, `yes`, `no`. Therefore, these strings
# must be quoted to be interpreted as strings. For example:
#
# en:
# "yes": yup
# enabled: "ON"
en:
hello: "Hello world"
+143
View File
@@ -0,0 +1,143 @@
it:
date:
formats:
default: "%d/%m/%Y"
long: "%d %B %Y"
short: "%d/%m/%Y"
day_names: [domenica, lunedì, martedì, mercoledì, giovedì, venerdì, sabato]
abbr_day_names: [dom, lun, mar, mer, gio, ven, sab]
month_names: [~, gennaio, febbraio, marzo, aprile, maggio, giugno, luglio, agosto, settembre, ottobre, novembre, dicembre]
abbr_month_names: [~, gen, feb, mar, apr, mag, giu, lug, ago, set, ott, nov, dic]
time:
formats:
default: "%d/%m/%Y %H:%M"
short: "%d/%m/%Y %H:%M"
long: "%d %B %Y %H:%M"
am: "am"
pm: "pm"
number:
currency:
format:
unit: "€"
separator: ","
delimiter: "."
format: "%n %u"
activerecord:
models:
organization: Organizzazione
contact: Contatto
opportunity: Opportunità
task: Task
activity: Attività
user: Utente
sales_goal: Obiettivo
mail_identity: Account email
mail_template: Template email
mailing: Invio email
mailing_recipient: Destinatario
attributes:
organization:
name: Nome
legal_name: Ragione sociale
organization_type: Tipologia
sport: Sport
country: Paese
region: Regione
province: Provincia
city: Città
address: Indirizzo
website: Sito / profilo
phone: Telefono
email: Email verificata
vat_number: P. IVA
notes: Note follow-up
status: Stato
lead_source: Fonte
assigned_user_id: Owner
list_position: N.
team_gender: M/F
streaming_status: Streaming rilevato
commercial_fit: Evidenza / fit commerciale
source_url: Fonte contatto / ricerca
verified_at: Data verifica
contact:
first_name: Nome
last_name: Cognome
role: Ruolo
email: Email
phone: Telefono
mobile: Cellulare
preferred_contact_method: Contatto preferito
primary_contact: Contatto principale
notes: Note
opportunity:
name: Nome
pipeline_stage: Stage
estimated_value: Valore stimato
probability: Probabilità
expected_close_date: Chiusura prevista
product: Piano
lost_reason: Motivo perdita
notes: Note
ab_variant: Test A/B
send_status: Stato invio
sent_on: Data invio
outcome: Esito
demo_trial: Demo / Trial
converted: Conversione
task:
title: Titolo
description: Descrizione
due_at: Scadenza
priority: Priorità
task_type: Tipo
status: Stato
user:
email: Email
first_name: Nome
last_name: Cognome
password: Password
password_confirmation: Conferma password
role: Ruolo
mail_identity:
name: Nome account
from_name: Nome mittente
from_email: Email mittente
reply_to: Reply-To
smtp_host: Host SMTP
smtp_port: Porta
smtp_username: Utente SMTP
smtp_password: Password SMTP
smtp_authentication: Autenticazione
encryption: Crittografia
verify_ssl: Verifica certificato SSL
active: Attivo
mail_template:
name: Nome
subject: Oggetto
body_html: Corpo HTML
mailing:
name: Nome invio
subject: Oggetto variante A
body_html: Corpo HTML variante A
subject_b: Oggetto variante B
body_html_b: Corpo HTML variante B
audience: Destinatari
ab_test: Test A/B
ab_assignment: Come assegnare A e B
interval_seconds: Pausa tra un invio e l'altro (secondi)
mail_identity: Account mittente
mail_template: Template A
mail_template_b: Template B
errors:
format: "%{attribute} %{message}"
messages:
blank: non può essere vuoto
taken: è già in uso
invalid: non è valido
confirmation: non coincide
too_short: è troppo corto (minimo %{count} caratteri)
helpers:
submit:
create: Crea
update: Salva