divinetribe/es-en-offline-dictionary
收藏Hugging Face2026-04-09 更新2026-04-12 收录
下载链接:
https://hf-mirror.com/datasets/divinetribe/es-en-offline-dictionary
下载链接
链接失效反馈官方服务:
资源简介:
---
license: gpl-3.0
tags:
- translation
- spanish
- english
- offline
- on-device
- dictionary
- idioms
- phrases
- rule-based
- ios
- mobile
- no-cloud
language:
- es
- en
task_categories:
- translation
size_categories:
- 100K<n<1M
---
# Spanish-English Offline Dictionary
### 268,622 translations. 6,056 idioms. 4 MB. No internet. No excuses.
---
## The problem with translating Spanish word-by-word
Try translating these literally. I dare you.
| Spanish | What it literally says | What it actually means |
|---|---|---|
| *donde el diablo perdió el poncho* | where the devil lost his poncho | **in the middle of nowhere** |
| *tener pájaros en la cabeza* | to have birds in your head | **to have bats in the belfry** |
| *buscar tres pies al gato* | to look for three legs on a cat | **to look for trouble** |
| *tener mente de pez* | to have a fish brain | **to have a memory like a sieve** |
| *un ojo de la cara* | an eye from your face | **an arm and a leg** |
| *no tener donde caerse muerto* | to not have a place to drop dead | **to not have a penny** |
| *en boca cerrada no entran moscas* | flies don't enter a closed mouth | **silence is golden** |
| *tener el mono* | to have the monkey | **to have withdrawal symptoms** |
| *coser y cantar* | to sew and sing | **piece of cake** |
| *más sabe el diablo por viejo que por diablo* | the devil knows more from being old than from being the devil | **experience is the best teacher** |
Google Translate will give you the middle column. This dictionary gives you the right one.
That's why it exists: **6,056 idiomatic phrases** where the whole is not the sum of the parts, backed by **268,622 word-level translations** for everything else. All in a 4 MB gzip that runs anywhere — phone, laptop, Raspberry Pi, airplane seat 23C with no WiFi.
---
## What's in the file
One file: `es_final_with_rules.json.gz` (4.2 MB compressed, ~25 MB decompressed)
```json
{
"version": "3.1-merged",
"dictionary": { ... }, // 268,622 word/sentence translations
"phrases": { ... }, // 6,056 idiomatic phrases
"rules": { ... } // translation guidelines + glossary
}
```
### The dictionary — 268,622 entries
Everything from single words to full contextual sentences, each with an English translation and part-of-speech tag:
```json
"abandonar": { "translation": "to abandon", "pos": "VERB" },
"abogado": { "translation": "lawyer", "pos": "NOUN" },
"sangre fría": { "translation": "cold blood", "pos": "NOUN" },
"loco de atar": { "translation": "stark raving mad", "pos": "ADJ" }
```
Many entries go beyond single words — conjugated verbs, prepositional phrases, regional variations, and full sentences with natural context:
```json
"a decir verdad, esto es un poco demasiado picante para mi.": {
"translation": "to tell you the truth, this is a little too spicy for me.",
"pos": "UNKNOWN"
}
```
**By the numbers:**
| Part of speech | Entries | Flavor |
|---|---|---|
| Sentences & expressions | 213,954 | The bulk — contextual translations, multi-word |
| Verbs | 22,299 | Including conjugations and verb phrases |
| Nouns | 21,262 | People, places, things, concepts |
| Adjectives | 9,133 | Descriptive, emotional, physical |
| Adverbs | 703 | How, when, where |
| Everything else | 1,471 | Pronouns, interjections, determiners, conjunctions |
### The idioms — 6,056 phrases that'll make you smile
This is the part Google gets wrong. A curated collection of Spanish expressions, proverbs, and slang — the stuff that makes a language a *language* and not just vocabulary with grammar.
**Animals say the darndest things:**
| Spanish | English | Literally... |
|---|---|---|
| *estar como el perro y el gato* | to fight like cats and dogs | to be like the dog and the cat |
| *gato con guantes no caza ratones* | you can't be too careful | a cat with gloves doesn't catch mice |
| *perro ladrador, poco mordedor* | his bark is worse than his bite | barking dog, little biter |
| *hablar como un loro* | to talk nonstop | to talk like a parrot |
| *trabajar como un burro* | to work like a dog | to work like a donkey |
| *tener más vidas que un gato* | to have nine lives | to have more lives than a cat |
| *hacer el mono* | to monkey around | to do the monkey |
| *tener un hambre de lobo* | to be starving | to have a wolf's hunger |
| *travieso como un mono* | mischievous as a monkey | — |
| *ser un gallina* | to be a chicken | to be a hen |
**The devil gets around:**
| Spanish | English |
|---|---|
| *ir como alma que lleva el diablo* | to go like a bat out of hell |
| *donde el diablo perdió el poncho* | in the back of beyond |
| *tener el diablo en el cuerpo* | to be full of mischief |
| *sin encomendarse a dios ni al diablo* | without thinking twice |
| *el diablo las carga* | speak of the devil |
| *más sabe el diablo por viejo que por diablo* | experience is the best teacher |
| *mandar al diablo* | to tell someone to go to hell |
**The heart knows:**
| Spanish | English |
|---|---|
| *ojos que no ven, corazón que no siente* | out of sight, out of mind |
| *corazón de oro* | heart of gold |
| *corazón de piedra* | heart of stone |
| *robar el corazón* | to steal one's heart |
| *dar un vuelco el corazón* | heart skips a beat |
| *hacer de tripas corazón* | to pluck up courage |
| *hablar con el corazón en la mano* | to speak from the heart |
| *revista del corazón* | gossip magazine |
**And the rest of living:**
| Spanish | English |
|---|---|
| *echar leña al fuego* | to add fuel to the fire |
| *ponerse como la grana* | to turn red as a beet |
| *hacerse de oro* | to strike it rich |
| *dormir como un lirón* | to sleep like a log |
| *no pegar ojo* | to not sleep a wink |
| *en un abrir y cerrar de ojos* | in the blink of an eye |
| *tener un tornillo flojo* | to have a screw loose |
| *tirar la toalla* | to throw in the towel |
| *pedir el oro y el moro* | to ask for the moon |
| *helar la sangre* | to make one's blood run cold |
| *empezar la casa por el tejado* | to put the cart before the horse |
| *matar dos pájaros de un tiro* | to kill two birds with one stone |
| *sacar las castañas del fuego* | to pull someone's chestnuts out of the fire |
---
## Where this came from
This dictionary powers the offline translation feature in [**RealTime AI Camera**](https://apps.apple.com/us/app/realtime-ai-cam/id6751230739) — a free iOS app that does 601-class object detection, live OCR, and Spanish→English translation, all on-device, no internet.
The dictionary was compiled from multiple open sources, merged, deduplicated, POS-tagged, and expanded with contextual sentences. The idiom collection was curated separately because idiomatic phrases are exactly where word-by-word translation falls apart — and that's exactly when you need a dictionary most.
The goal was specific: a dictionary that's **complete enough** for real-world camera text (signs, menus, documents, labels, handwritten notes), **small enough** to ship inside an iOS app (4 MB), and **fast enough** for real-time use (key-value lookup, not neural inference).
It's a lookup table. No GPU needed. No model. No beam search. Sub-millisecond on any device made in the last decade.
---
## Use it
### Python
```python
import gzip, json
with gzip.open("es_final_with_rules.json.gz", "rt", encoding="utf-8") as f:
data = json.load(f)
dictionary = data["dictionary"]
phrases = data["phrases"]
# Always check phrases first — they catch idioms that
# word-by-word lookup would mangle
text = "tirar la toalla"
if text in phrases:
print(phrases[text]) # "to throw in the towel"
elif text in dictionary:
print(dictionary[text]["translation"])
# Single word
print(dictionary["abogado"]["translation"]) # "lawyer"
```
### Swift (iOS / macOS)
```swift
import Foundation
guard let url = Bundle.main.url(forResource: "es_final_with_rules", withExtension: "json.gz"),
let compressed = try? Data(contentsOf: url),
let json = try? (compressed as NSData).decompressed(using: .zlib),
let root = try? JSONSerialization.jsonObject(with: json) as? [String: Any],
let dictionary = root["dictionary"] as? [String: [String: String]],
let phrases = root["phrases"] as? [String: String]
else { return }
// "to have a screw loose"
print(phrases["tener un tornillo flojo"] ?? "not found")
// "lawyer"
print(dictionary["abogado"]?["translation"] ?? "not found")
```
For the full production implementation with grammar rules and smart fallbacks, see [`SpanishTranslationEngine.swift`](https://github.com/nicedreamzapp/RealTimeAICam/blob/main/SpanishTranslationEngine.swift).
### JavaScript
```javascript
const zlib = require("zlib");
const fs = require("fs");
const data = JSON.parse(
zlib.gunzipSync(fs.readFileSync("es_final_with_rules.json.gz"))
);
const { dictionary, phrases } = data;
// "in the middle of nowhere"
console.log(phrases["donde el diablo perdió el poncho"]);
// "lawyer"
console.log(dictionary["abogado"].translation);
```
---
## License
**GPL-3.0** — same license as the parent project.
Commercial licensing available for App Store / Play Store distribution. Contact **Matt Macosko** via [nicedreamzwholesale.com](https://nicedreamzwholesale.com/github-realtime-ai-camera/).
## Links
- 📱 [RealTime AI Camera on the App Store (free)](https://apps.apple.com/us/app/realtime-ai-cam/id6751230739)
- 💻 [Source code on GitHub](https://github.com/nicedreamzapp/RealTimeAICam)
- 🤖 [YOLOv8n OIV7 CoreML model](https://huggingface.co/divinetribe/yolov8n-oiv7-coreml) — the detection model that ships alongside this dictionary
- 🌐 [NiceDreamzApps](https://nicedreamzwholesale.com/github-realtime-ai-camera/)
---
*Built by Matt Macosko / NiceDreamzApps — because "where the devil lost his poncho" should never be translated literally.*
提供机构:
divinetribe



