Take the 2-minute tour ×

I'm doing a little pro bono work for an organization in Central America. I'm ok at Spanish and my contacts are perfectly fluent but are not techincal people. Even if they don't care what I call some fields in a database I still want to make as clean a schema as possible, and I'd like to know what some typical abbreviations are for field / variable names in Spanish.

I understand abbreviations and naming conventions are entirely personal. I'm not asking for the "correct" or "best" way to abbreviate database object names. I'm just looking for references to lists of typical abbreviations that would be easily recognizable to a techincally competent native Spanish speaker. I believe I am a decent googler but I've had no luck on this one.

For example, in my company (where English is the primary language) 'Date' is always shortened to 'DT', 'Code' to 'CD', 'Item' to 'IT', etc. It's easy for the crowds of IT temp workers who revolve through on various projects to figure out that 'DT' stands for 'Date', 'YR' for 'Year', or 'TN' for 'Transaction' without even having to consult the official abbreviations list.

share|improve this question
English tends to be defacto in programming so it would probably be fine to use it...plus if you have concerns about abbreviations being cryptic it is probably best not to use them. Explicitness > implicitness. –  Rig Oct 15 '12 at 17:25
These abbreviations do not add any value in english. Why would it be different if they were in spanish? Just write Date instead of DT, and in spanish write whatever the word Date is in spanish. Don't try to abbreviate everything as it becomes very unclear what the fields mean. –  marco-fiset Oct 15 '12 at 18:07
Unless there's some overriding consideration (like database constraints), don't abbreviate (of course, don't make things too long either, but don't abbreviate just-because). Also, be careful about what words you use to begin with; personally, I abhor prefixing/suffixing identifiers with type names (especially for things like 'date'), as this has the highest probability to go out of date. Rather, use names descriptive of use - like createdOn, deletedAt, etc. –  Clockwork-Muse Oct 15 '12 at 19:54
add comment

4 Answers

up vote 5 down vote accepted

It is nice of you to do this, but preferably write code in english!, otherwise it might be a headache for the next maintainer (even if he/she speaks spanish)

You should ask if it is possible for you to use english for all development since it is the default way most programmers/engineers write code. I would say it is the best practice around and it shouldn't be that much complicated even for non-english speakers.

Most resources to learn how to program are in english, so chances are most programmers are already exposed to english. Additionally, all language keywords tend to be spanish (except for PHP's "Paamayim Nekudotayim" compiler token variable, or if you use some wacky spanish compiler).

I am Mexican, and I have never ever written code in spanish, nor I would like to. English has shorter, cleaner, sweeter and more predictable words for programming than spanish.

Take for example the word for year, which is *año*, if you write it with an *n* instead of an *ñ* you would get *ano* which means *anus*.

Additionally, you most probably would have to take off all accents, which —if you have the some sense of grammar— can/will make words sound funny in your head (maybe I'm just a grammar nazi).

Finally, some people just give up trying to find the appropriate name for a variable in spanish and end up writing it in english, so surprise, you now have a bilingual codebase.

P.S.: I would seriously punch someone in the face if I found they were abbreviating variables everywhere and I had to maintain that code... then I would quit.

share|improve this answer
+1 for pointing out the significant change in meaning by removing accent characters! –  GlenH7 Oct 16 '12 at 2:24
Excellent answer. Most helpful to hear from a native Spanish speaker to stick with English for coding. I was mostly getting after naming database objects -- which can handle accented vowels (or enyays) just fine -- and which non-techinical end users will have some exposure to. And it seems the unanimous advice there is "don't abbreviate!" –  Joshua Honig Oct 16 '12 at 12:51
+1 also for the año/ano distinction. You only make this mistake with a Spanish speaker once. –  Jonathan Oct 16 '12 at 15:03
add comment

Two thoughts on this one:

1) Why not ask them for an abbreviation that would make sense?

They'll have to teach the next person what the DB is supposed to be doing anyway, so they might as well provide some input on the abbreviations.

2) Why not use English for the object names and provide them with a list of the abbreviations you use?

The next person down the line may or may not speak Spanish either. English may therefore become the common denominator for this particular project. The project owners can simply forward the next person a copy of the glossary you created.

Of the two, I would suggest the second. English (broken or not) is the common language for IT. If you avoid cryptic terms and document your changes well then the next person shouldn't have any problems picking up where you left off.

Documentation in this case is more important than creating what you think is a clean schema. The documentation will clue them into your thought processes and will make everything more self-evident.

share|improve this answer
Wouldn't it be problematic if the bussiness domain experts speak spanish, to name the data objects in english ? Should the IT people involved be translating back and forth between spanish and english during meetings? Wouldn't it induce requirement errors and bad communication.? –  user61852 Oct 15 '12 at 17:40
@user1598390 - for an extended discussion on that exact topic, I would recommend looking at this question. In this case, the OP is contributing to what is a de facto international project and the domain experts speak both English and Spanish. As such, English becomes the natural choice for all involved. It's up to the OP to document what he heard as the requirements and what he coded based upon those reqs. Since the Domain Experts speak fluent English, they can review his notes for any miscommunications. –  GlenH7 Oct 15 '12 at 18:21
what is the OP ? –  user61852 Oct 15 '12 at 18:37
OP is "Original Poster" in this case jmh_gr –  Turnkey Oct 15 '12 at 18:45
And this is exactly why abbreviations can cause problems. When new people show up, they might not be able to figure out what the abbreviation stands for. In the case of "OP" the world doesn't fall to pieces. But if you code is full of DTs and no documentation, the code can't be edited because no one knows what it does. –  unholysampler Oct 16 '12 at 0:49
add comment

This About.com page has a short list and this DropBy.Com page has more entries including business abbreviations. You will probably have trouble with two-letter abbreviations, especially with plurals which double the number of letters already. I've seen the word for date (fecha) written as fec for example.

Probably best to write them out completely anyway for better clarity, e.g. "fecha_modificacion", "fecha_creacion" for "modified date" and "create date". Put the noun before the modifier as is the convention in Spanish.

That way someone looking at it later could just do a dictionary lookup rather than relying on some special convention (not a bad idea for English DB's as well).

share|improve this answer
Yeah, I saw that page. But it seems to cover "proper" written abbreviations, like you'd see in an English language style manual, rather than conventions used by programmers. I see what you (and everyone else) is saying about NOT using abbreviations at all, though –  Joshua Honig Oct 15 '12 at 19:58
I found another one that had more including a few business ones by searching in Spanish with "Abreviaturas españolas". I updated the post to include the other one I found. –  Turnkey Oct 16 '12 at 0:35
add comment

Even though they are a Spanish speaking country, you may be doing them a better favor by using English.

What if they hire Indian consultants to maintain the project? They use English. What if they hire Russians to maintain the project. They use English. What if they hire a Turkish team? They use English. What if they hire an Egyptian team? They use English. What if... English.

For better or worse, English is the language of computing. Using it makes the project accessible to a larger pool of world developers.

share|improve this answer
add comment

Your Answer


