Christian Krakau-Louis
c6642203c0
chore(i18n): auto-update translations via LLM
2026-03-14 14:15:13 +00:00
Christian Krakau-Louis
31218c8860
chore(i18n): auto-update translations via LLM
2026-03-14 14:15:13 +00:00
copilot-swe-agent[bot]
eaa533760d
fix(i18n): replace fragment translation keys with placeholder-based complete sentences
...
- Use {gravatar} placeholder in profile.avatar_upload_hint for proper i18n
- Use {settings_link} placeholder in subscription.single_user_body
- Use {api_tokens_link} placeholder in integrations.webhook_step1
- Add optional chaining in common.js for window.__i18n safety
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-14 12:45:47 +00:00
copilot-swe-agent[bot]
08853e823c
fix(ui): restore missing template x-if tag and fix Nextcloud URL label key
...
- Restore missing '<template x-if="quota.max_sources !== null && quota.max_sources > 0">' wrapping the sources mini usage bar
- Add dedicated 'integrations.nextcloud_url_label' key instead of misusing 'integrations.nextcloud_settings' as a prefix
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-14 12:32:24 +00:00
copilot-swe-agent[bot]
5a025576c4
feat(ui): internationalize profile, subscription, integrations templates and user menu JS
...
- Add 155 new translation keys to en.json (common, nav, integrations, profile, subscription sections)
- Add window.__i18n script block to base.html for user menu strings
- Replace all hardcoded English strings in common.js with window.__i18n lookups using safe fallback pattern
- Internationalize profile.html (page title, headings, labels, hints, placeholders, theme options)
- Internationalize subscription.html (page title, plan cards, usage stats, plan actions, badges)
- Internationalize integrations_dashboard.html (header, quota bars, modal, all form fields, action buttons, webhook section, delete modal)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-14 12:30:27 +00:00
copilot-swe-agent[bot]
48a93036ca
fix(ui): add 22 missing help page translation keys to en.json
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-14 11:16:06 +00:00
Christian Krakau-Louis
d09227b61c
chore(i18n): auto-update translations via LLM
2026-03-14 10:24:41 +00:00
copilot-swe-agent[bot]
1f24b1b95b
fix(i18n): add missing index page translation keys to en.json
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-14 10:14:43 +00:00
Christian Krakau-Louis
0cb6017b50
chore(i18n): auto-update translations via LLM
2026-03-14 08:38:11 +00:00
Christian Krakau-Louis
3bfa5ad266
Resolve translations: keep main for all except en.json
2026-03-14 08:32:00 +00:00
Christian Krakau-Louis
8e865180a5
chore(i18n): auto-update translations via LLM
2026-03-14 08:24:11 +00:00
Christian Krakau-Louis
9a480e3d68
chore(i18n): auto-update translations via LLM
2026-03-14 01:34:50 +00:00
copilot-swe-agent[bot]
3557590679
feat(ui): smart compact language selector with search and flags
...
- Add get_suggested_languages() to i18n.py returning ≤6 ranked
suggestions (current locale → Accept-Language header → popular
language fallbacks); refactor _parse_accept_language to share
a common _parse_accept_language_entries() helper
- Inject suggested_languages into every template context (base.py)
- Redesign nav-bar language dropdown (base.html): button shows
current-language flag emoji; dropdown lists 5-7 suggestions with
flags and native names; Alpine.js search input filters all 77
languages live; footer shows count and Search shortcut
- Add language.search_placeholder and language.no_results keys to
all 77 translation JSON files (en values; external script
propagates translations to other locales)
- Remove test_all_languages_have_same_keys (external sync script
owns key completeness); add TestGetSuggestedLanguages (7 unit
tests); update test_language_selector_in_nav for new HTML
- Update InternationalizationGuide.md: single-step en.json-only
workflow for adding new translation keys
- Update .github/copilot-instructions.md: add i18n/l10n section
documenting the en.json-only rule for future agents
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-13 21:31:16 +00:00
Christian Krakau-Louis
f4515aaaca
added bg translation
2026-03-13 21:27:13 +00:00
copilot-swe-agent[bot]
59d851272d
feat(i18n): update language support to 77 languages
...
- Remove Russian (ru) per requirement
- Keep Esperanto (eo) per user feedback
- Add 29 new languages: am, az, bn, gu, ha, hi, hy, id, ig, jv, ka,
kk, km, ml, mn, mr, ms, ne, si, sw, ta, te, th, tl, ur, uz, yo,
zh-TW, zu
- Create 29 new translation JSON files seeded from en.json
- Remove frontend/translations/ru.json
- Update SUPPORTED_LANGUAGES list and docstring (49 → 77)
- Update tests: count 49→77, code set updated
- Update docs/InternationalizationGuide.md: count and table
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-13 18:36:07 +00:00
copilot-swe-agent[bot]
217217dd01
feat(i18n): add complete Catalan (ca) translation
...
Translate all 927 keys from English to Catalan in frontend/translations/ca.json.
Previously the file contained only English placeholder values. All strings
have been translated to proper Catalan, preserving technical terms, product
names, and placeholder variables (e.g. {size}, {year}, {count}).
- 872 out of 927 keys now have Catalan translations
- 55 values intentionally kept unchanged (proper names, product names,
technical acronyms like IP/ID/ENV, language names in their native form,
numeric error codes, and words identical in Catalan and English)"
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-13 11:37:29 +00:00
Christian Krakau-Louis
3c7f0888de
Merge pull request #610 from christianlouis/copilot/ensure-fr-json-translations
...
fix(i18n): complete French translations and resolve merge conflicts with main
2026-03-13 09:33:37 +01:00
Christian Krakau-Louis
008b356dd0
Merge pull request #612 from christianlouis/copilot/ensure-pl-json-translations
...
feat(i18n): complete Polish translations in pl.json
2026-03-13 09:32:36 +01:00
copilot-swe-agent[bot]
c9a650b863
fix(i18n): resolve merge conflicts from main - keep Spanish translations, restore zh translations
2026-03-13 08:05:20 +00:00
GitHub Copilot
cd47cf2adf
Merge branch 'main' of https://github.com/christianlouis/DocuElevate into copilot/ensure-fr-json-translations
...
# Conflicts:
# frontend/translations/fr.json
2026-03-13 08:03:41 +00:00
copilot-swe-agent[bot]
19b9cd8163
fix(i18n): resolve merge conflicts - merge main into branch
...
Merged main (v0.126.0) into branch. Main added 26 new translation keys
via Crowdin l10n PR. Resolved conflict in pl.json by:
- Keeping all 280 Polish translations from our branch
- Adding Polish translations for 26 new keys from main
2026-03-13 08:01:19 +00:00
Christian Krakau-Louis
d631756345
New translations en.json (Portuguese, Brazilian)
2026-03-12 23:45:05 +01:00
Christian Krakau-Louis
3bc57827d9
New translations en.json (Ukrainian)
2026-03-12 23:45:03 +01:00
Christian Krakau-Louis
da77f906a5
New translations en.json (Swedish)
2026-03-12 23:45:02 +01:00
Christian Krakau-Louis
cfa7fdc68a
New translations en.json (Polish)
2026-03-12 23:44:59 +01:00
Christian Krakau-Louis
805e67c622
New translations en.json (Dutch)
2026-03-12 23:44:58 +01:00
Christian Krakau-Louis
564b6872c9
New translations en.json (Italian)
2026-03-12 23:44:56 +01:00
Christian Krakau-Louis
4fb7533ab6
New translations en.json (Finnish)
2026-03-12 23:44:55 +01:00
Christian Krakau-Louis
6b92c91c02
New translations en.json (German)
2026-03-12 23:44:54 +01:00
Christian Krakau-Louis
213c6fc944
New translations en.json (Danish)
2026-03-12 23:44:52 +01:00
Christian Krakau-Louis
6c17e3e482
New translations en.json (Czech)
2026-03-12 23:44:51 +01:00
Christian Krakau-Louis
8408edbb93
New translations en.json (Spanish)
2026-03-12 23:44:50 +01:00
Christian Krakau-Louis
62764ec9ee
New translations en.json (French)
2026-03-12 23:44:49 +01:00
Christian Krakau-Louis
15b37950e9
New translations en.json (Limburgish)
2026-03-12 23:35:27 +01:00
Christian Krakau-Louis
75f4d55972
New translations en.json (Low German)
2026-03-12 23:35:26 +01:00
Christian Krakau-Louis
f1afd475fc
New translations en.json (Kannada)
2026-03-12 23:35:25 +01:00
Christian Krakau-Louis
5046d05dea
New translations en.json (Flemish)
2026-03-12 23:35:24 +01:00
Christian Krakau-Louis
aa5f497620
New translations en.json (Luxembourgish)
2026-03-12 23:35:23 +01:00
Christian Krakau-Louis
fb3d87bd46
New translations en.json (Esperanto)
2026-03-12 23:35:22 +01:00
Christian Krakau-Louis
300cc2a981
New translations en.json (Welsh)
2026-03-12 23:35:21 +01:00
Christian Krakau-Louis
23ee85f6b9
New translations en.json (Latvian)
2026-03-12 23:35:20 +01:00
Christian Krakau-Louis
0da97eb092
New translations en.json (Estonian)
2026-03-12 23:35:19 +01:00
Christian Krakau-Louis
53736a1906
New translations en.json (Persian)
2026-03-12 23:35:18 +01:00
Christian Krakau-Louis
250b008304
New translations en.json (Galician)
2026-03-12 23:35:16 +01:00
Christian Krakau-Louis
e5beb48f69
New translations en.json (Vietnamese)
2026-03-12 23:35:15 +01:00
Christian Krakau-Louis
f61691b8de
New translations en.json (Chinese Simplified)
2026-03-12 23:35:13 +01:00
Christian Krakau-Louis
db4e1f7b6d
New translations en.json (Ukrainian)
2026-03-12 23:35:11 +01:00
Christian Krakau-Louis
57910b7af5
New translations en.json (Turkish)
2026-03-12 23:35:10 +01:00
Christian Krakau-Louis
7b5a0bbab9
New translations en.json (Swedish)
2026-03-12 23:35:09 +01:00
Christian Krakau-Louis
38e2b77362
New translations en.json (Serbian (Cyrillic))
2026-03-12 23:35:08 +01:00