I believe it's important that you think of this from the player character's perspective.
Does the player character understand Spanish?
- If not, there's nothing wrong with having the shopkeeper speak entirely in Spanish (while the player character has no idea what's happening). Your player character must make it clear that they don't understand, however. For example: "(What does she want from me? Espada? Is that a sword? Is she trying to sell me that sword?)"
This makes it clear that the text is supposed to be Spanish, and that the player character doesn't understand any more than the player does.
- If they do understand Spanish, you might want to use the Assassin's Creed approach: let the shopkeeper speak in the player's language (in this case English), but leave a couple of non-essential words untranslated. For example: "Hola, jefe (boss)! Would you be interested in buying this hermosa espada (sword)?"
This makes it clear that the shopkeeper is speaking in Spanish, but we understand it, because the player character understands.
Whether to sell these items under an English or a Spanish name, depends on what you intend.
If you're trying to sell some generic item, like an apple, for example, then it should be named "Apple" instead of "Manzana". That's because when the player is looking through a list of items to buy, it's the same as the player character looking at the shopkeeper's inventory to decide what to buy. In other words: the player is seeing the names of the items as the player character understands them. If they're seeing apples, the player should see apples as well.
This can also go the other way: If the player character has no idea what an "apple" is (maybe they've never seen apples in their life), then the item could be named "Manzana" (that's what the shopkeeper keeps calling them), or even "Mysterious round fruit".
And finally, there's also items whose foreign names we're already familiar with. Have you ever seen someone talk of "Katana" while meaning "Sword" or "Knife"? Most people have a very specific kind of sword in mind when they think of "Katana".
There are many different types of swords with foreign names, which nobody would ever translate with "Sword":
- Gladius (Latin for "sword")
- Claymore (Scottish Gaelic for "great sword")
- Katana (Japanese for "sword" or "knife")
- Shamshir (Persian for "sword")
- Zweihander (German for "two-hander")
These items are sufficiently unique and distinct from a generic "sword", that nobody would mind if you didn't translate them. And yes, there are plenty of RPGs where you can encounter several (or even all) of these "swords".
So if you want to sell a sword called "Espada", I see no reason why you shouldn't. However, I don't think it's a good idea to rename an "Espada" to "Sword" after
the player purchased it.