Skip to main content

prosaic_vocab_code/
es.rs

1//! Spanish-language code-analysis templates.
2//!
3//! This module holds the concrete template strings for the `es` (Spanish)
4//! locale. It is a sibling to `en.rs` and exposes the same `register`
5//! signature, making locale-aware dispatch straightforward without touching
6//! callers.
7//!
8//! Translations use idiomatic developer Spanish. Loanwords ("commit",
9//! "pull request") are kept where they are the natural choice. Accents
10//! are correct UTF-8 throughout.
11
12use prosaic_core::{Engine, ProsaicError, Salience};
13
14/// Register the full Spanish code-analysis vocabulary into an engine.
15pub fn register(engine: &mut Engine) -> Result<(), ProsaicError> {
16    register_rename_templates(engine)?;
17    register_delete_templates(engine)?;
18    register_add_templates(engine)?;
19    register_modify_templates(engine)?;
20    register_move_templates(engine)?;
21    register_signature_templates(engine)?;
22    Ok(())
23}
24
25fn register_rename_templates(engine: &mut Engine) -> Result<(), ProsaicError> {
26    // Low: conciso, sin detalle de impacto
27    engine.register_template_at(
28        "code.renamed",
29        "{old_name|refer} fue renombrado a {new_name}",
30        Salience::Low,
31    )?;
32    engine.register_template_at(
33        "code.renamed",
34        "{old_name|refer} ahora se llama {new_name}",
35        Salience::Low,
36    )?;
37
38    // Medium: incluye cláusula de impacto
39    engine.register_template(
40        "code.renamed",
41        "{old_name|refer} fue renombrado a {new_name}{?consumer_count}, \
42         lo que afecta a {consumer_count} {consumer_count|pluralize:consumidor} \
43         directo{?consumers} {consumers|truncate:3|join}{/?}{/?}",
44    )?;
45    engine.register_template(
46        "code.renamed",
47        "{old_name|refer} ha sido renombrado a {new_name}{?consumer_count}, \
48         afectando a {consumer_count} {consumer_count|pluralize:dependiente}{?consumers} \
49         {consumers|truncate:3|join}{/?}{/?}",
50    )?;
51    engine.register_template(
52        "code.renamed",
53        "{old_name|refer} ahora se llama {new_name}{?consumer_count} \
54         ({consumer_count} {consumer_count|pluralize:consumidor} afectado{?consumers}: \
55         {consumers|truncate:3|join}{/?}){/?}",
56    )?;
57
58    // High: elaborado, enfatiza la magnitud del cambio
59    engine.register_template_at(
60        "code.renamed",
61        "{old_name|refer} ha sido renombrado a {new_name} \u{2014} un cambio significativo \
62         que repercute en {consumer_count} {consumer_count|pluralize:consumidor} directo{?consumers}, \
63         incluyendo {consumers|truncate:5|join:bracketed}{/?}",
64        Salience::High,
65    )?;
66    engine.register_template_at(
67        "code.renamed",
68        "{old_name|refer} fue renombrado a {new_name}. Este cambio afecta a un total \
69         de {consumer_count} {consumer_count|pluralize:dependiente}{?consumers} \u{2014} \
70         particularmente {consumers|truncate:5|join:bracketed}{/?}",
71        Salience::High,
72    )?;
73
74    Ok(())
75}
76
77fn register_delete_templates(engine: &mut Engine) -> Result<(), ProsaicError> {
78    // Low
79    engine.register_template_at("code.deleted", "{name|refer} fue eliminado", Salience::Low)?;
80    engine.register_template_at(
81        "code.deleted",
82        "{name|refer} ha sido eliminado",
83        Salience::Low,
84    )?;
85
86    // Medium
87    engine.register_template(
88        "code.deleted",
89        "{name|refer} fue eliminado{?consumer_count}, \
90         afectando a {consumer_count} {consumer_count|pluralize:dependiente}{?consumers} \
91         {consumers|truncate:3|join}{/?}{/?}",
92    )?;
93    engine.register_template(
94        "code.deleted",
95        "{name|refer} ha sido eliminado{?consumer_count} \
96         ({consumer_count} {consumer_count|pluralize:referencia} por actualizar{?consumers}: \
97         {consumers|truncate:3|join}{/?}){/?}",
98    )?;
99    engine.register_template(
100        "code.deleted",
101        "{name|refer} ya no existe{?consumer_count}, \
102         dejando sin dependencia a {consumer_count} {consumer_count|pluralize:consumidor}{?consumers} \
103         {consumers|truncate:3|join}{/?}{/?}",
104    )?;
105
106    // High
107    engine.register_template_at(
108        "code.deleted",
109        "{name|refer} ha sido eliminado por completo \u{2014} un cambio disruptivo que afecta a \
110         {consumer_count} {consumer_count|pluralize:consumidor}{?consumers} incluyendo \
111         {consumers|truncate:5|join:bracketed}{/?}. Todas las {consumer_count|pluralize:referencia} \
112         necesitarán migración.",
113        Salience::High,
114    )?;
115
116    Ok(())
117}
118
119fn register_add_templates(engine: &mut Engine) -> Result<(), ProsaicError> {
120    engine.register_template(
121        "code.added",
122        "Se agregó un nuevo {entity_type} {name} en {location}",
123    )?;
124    engine.register_template(
125        "code.added",
126        "El {entity_type} {name} fue introducido en {location}",
127    )?;
128    engine.register_template(
129        "code.added",
130        "{name} \u{2014} un nuevo {entity_type} \u{2014} fue creado en {location}",
131    )?;
132    Ok(())
133}
134
135fn register_modify_templates(engine: &mut Engine) -> Result<(), ProsaicError> {
136    // Low
137    engine.register_template_at(
138        "code.modified",
139        "{name|refer} fue modificado",
140        Salience::Low,
141    )?;
142    engine.register_template_at(
143        "code.modified",
144        "{name|refer} ha sido actualizado",
145        Salience::Low,
146    )?;
147
148    // Medium
149    engine.register_template(
150        "code.modified",
151        "{name|refer} fue modificado{?consumer_count}, \
152         lo que podría afectar a {consumer_count} {consumer_count|pluralize:consumidor}{?consumers} \
153         {consumers|truncate:3|join}{/?}{/?}",
154    )?;
155    engine.register_template(
156        "code.modified",
157        "{name|refer} ha sido actualizado{?consumer_count} \
158         ({consumer_count} {consumer_count|pluralize:consumidor} podría necesitar revisión{?consumers}: \
159         {consumers|truncate:3|join}{/?}){/?}",
160    )?;
161    engine.register_template(
162        "code.modified",
163        "Los cambios en {name|refer}{?consumer_count} afectan a \
164         {consumer_count} {consumer_count|pluralize:dependiente}{?consumers} \
165         {consumers|truncate:3|join}{/?}{/?}",
166    )?;
167
168    // High
169    engine.register_template_at(
170        "code.modified",
171        "{name|refer} ha sido modificado de forma significativa, con impacto descendente \
172         en {consumer_count} {consumer_count|pluralize:consumidor}{?consumers} \
173         incluyendo {consumers|truncate:5|join:bracketed}{/?}. \
174         Se recomienda una revisión exhaustiva.",
175        Salience::High,
176    )?;
177
178    Ok(())
179}
180
181fn register_move_templates(engine: &mut Engine) -> Result<(), ProsaicError> {
182    engine.register_template(
183        "code.moved",
184        "{name|refer} fue movido de {old_location} a {new_location}{?consumer_count}, \
185         lo que requiere actualizar las importaciones en {consumer_count} \
186         {consumer_count|pluralize:archivo}{?consumers} \
187         {consumers|truncate:3|join}{/?}{/?}",
188    )?;
189    engine.register_template(
190        "code.moved",
191        "{name|refer} ha sido trasladado a {new_location}{?consumer_count} \
192         ({consumer_count} {consumer_count|pluralize:importación} por actualizar{?consumers}: \
193         {consumers|truncate:3|join}{/?}){/?}",
194    )?;
195    Ok(())
196}
197
198fn register_signature_templates(engine: &mut Engine) -> Result<(), ProsaicError> {
199    engine.register_template(
200        "code.signature_changed",
201        "La firma de {name|refer} fue modificada{?consumer_count}, \
202         lo que requiere cambios en {consumer_count} {consumer_count|pluralize:invocador}{?consumers} \
203         {consumers|truncate:3|join}{/?}{/?}",
204    )?;
205    engine.register_template(
206        "code.signature_changed",
207        "{name|refer} tiene una nueva firma{?consumer_count}, \
208         afectando a {consumer_count} {consumer_count|pluralize:invocador}{?consumers} \
209         {consumers|truncate:3|join}{/?}{/?}",
210    )?;
211    Ok(())
212}