Thank you for your interest in translating Aquarium AI to other languages! This guide will help you contribute translations to make this integration accessible to more users worldwide.
Currently supported languages:
- English (en) - Default language
- German (de) - Deutsch (Deutsche Übersetzung)
The German translation provides a fully localized experience:
Configuration Dialog:
- "Aquarium AI Setup" → "Aquarium AI Einrichtung"
- "Temperature Sensor" → "Temperatursensor"
- "pH Sensor" → "pH-Sensor"
- "Update Frequency" → "Aktualisierungsfrequenz"
Services:
- "Run AI Analysis" → "KI-Analyse ausführen"
All descriptions, help text, and error messages are also translated to provide a seamless experience for German-speaking users.
Use the standard ISO 639-1 two-letter language codes:
de- German (Deutsch)es- Spanish (Español)fr- French (Français)it- Italian (Italiano)nl- Dutch (Nederlands)pl- Polish (Polski)pt- Portuguese (Português)ru- Russian (Русский)zh- Chinese (中文)ja- Japanese (日本語)- And many more...
For a complete list, see: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
- Navigate to
custom_components/aquarium_ai/translations/ - Copy the
template.jsonfile oren.jsonfile - Rename it to
[language_code].json(e.g.,es.jsonfor Spanish)
Open your new language file and translate all the text values while keeping the structure intact:
- DO NOT change the JSON structure or key names
- DO NOT translate the keys (left side of the colon)
- ONLY translate the values (right side of the colon, inside quotes)
- Keep technical terms like "AI", "pH", "Home Assistant" as they are
- Maintain formatting like line breaks (
\n) if present - Keep placeholders exactly as they are (e.g.,
%s,{value})
English (en.json):
{
"config": {
"step": {
"user": {
"title": "Aquarium AI Setup",
"data": {
"tank_name": "Aquarium Name"
}
}
}
}
}Spanish (es.json):
{
"config": {
"step": {
"user": {
"title": "Configuración de Aquarium AI",
"data": {
"tank_name": "Nombre del Acuario"
}
}
}
}
}The translation file contains the following sections:
- title: Dialog titles
- description: Dialog descriptions
- data: Field labels
- data_description: Field help text
- Error messages shown when configuration fails
- Similar to configuration flow, but for modifying existing setups
- Service names and descriptions
After creating your translation file:
- Copy the file to your Home Assistant's
custom_components/aquarium_ai/translations/directory - Change your Home Assistant user profile language to match your translation
- Go to Settings → Devices & Services → Add Integration → Aquarium AI
- Verify that all text appears correctly in your language
Once you've completed and tested your translation:
- Fork this repository on GitHub
- Add your translation file to
custom_components/aquarium_ai/translations/ - Update this guide to list your language in the "Available Languages" section
- Create a Pull Request with a clear title like "Add Spanish translation"
- In the PR description, mention:
- The language you translated
- That you've tested the translation
- Any special considerations for your language
Some terms should remain consistent:
- AI - Usually kept as "AI" in most languages
- pH - Always "pH" (not "PH" or "ph")
- Home Assistant - Brand name, keep as is
- Sensor - Translate to your language's equivalent
- Camera - Translate to your language's equivalent
Common aquarium terms to be aware of:
- Salinity - Salt concentration in water
- Dissolved Oxygen - Amount of oxygen dissolved in water
- ORP - Oxidation-Reduction Potential (sometimes kept as ORP in translations)
- Specific Gravity (SG) - Density measurement for saltwater
- ppt/psu - Parts per thousand / Practical Salinity Unit
Consider the tone appropriate for your language:
- Home Assistant typically uses a friendly, professional tone
- Most languages use formal "you" (e.g., "Sie" in German, "usted" in Spanish)
- But some communities prefer informal tone - use your best judgment
If your language has significant regional differences:
- Use the most widely understood variant
- Avoid region-specific slang or idioms
- Consider creating separate files for major variants (e.g.,
pt-BRfor Brazilian Portuguese,ptfor European Portuguese)
Before submitting your translation, verify:
- All strings are translated (no English text remaining)
- JSON syntax is valid (use a JSON validator if needed)
- Technical terms are translated appropriately
- pH is written as "pH" (not "PH" or "ph")
- No keys or structure was changed
- Tested in Home Assistant with your language selected
- Configuration flow works correctly
- Options flow works correctly
- Error messages display properly
- Service descriptions are clear
If you have questions about translating:
- Check existing translations (like
de.json) for reference - Open an issue on GitHub asking for clarification
- Join the discussion in an existing translation Pull Request
- Look at Home Assistant's translation guidelines: https://developers.home-assistant.io/docs/internationalization/
Community translations by:
- German (de): Initial translation by the Aquarium AI community
Thank you for helping make Aquarium AI accessible to users worldwide! 🌍🐠