**Motivations:**
- Missing translations for language settings in public locale files
- settings.language.title, settings.language.description, settings.language.french, and settings.language.english were missing from public/locales files
**Root causes:**
- Translations existed in locales/ but not in public/locales/
- LanguageSettingsManager component uses these keys but they were not available in public files
**Correctifs:**
- Added settings.language.title=Langue de préférence in public/locales/fr.txt
- Added settings.language.description=Choisissez votre langue préférée pour l'interface in public/locales/fr.txt
- Added settings.language.loading=Chargement... in public/locales/fr.txt
- Added settings.language.french=Français in public/locales/fr.txt
- Added settings.language.english=Anglais in public/locales/fr.txt
- Added settings.language.title=Preferred Language in public/locales/en.txt
- Added settings.language.description=Choose your preferred language for the interface in public/locales/en.txt
- Added settings.language.loading=Loading... in public/locales/en.txt
- Added settings.language.french=French in public/locales/en.txt
- Added settings.language.english=English in public/locales/en.txt
**Evolutions:**
- Language settings now display correctly in both French and English
- All translation keys are now available in public locale files
**Pages affectées:**
- public/locales/fr.txt
- public/locales/en.txt
**Motivations:**
- Translate settings page and all its components to French and English
- Provide consistent multilingual experience
**Root causes:**
- Settings page and components were hardcoded in English
- No translation support for key management and NIP-95 configuration
**Correctifs:**
- None (new feature)
**Evolutions:**
- Added translations for settings page title
- Added translations for KeyManagementManager component:
- Public keys display (npub and hex)
- Import form and validation messages
- Recovery phrase display
- All buttons and warnings
- Added translations for Nip95ConfigManager component:
- Endpoint list and management
- Add/edit/remove actions
- Error messages
- Updated both fr.txt and en.txt translation files
- All text now uses t() function for i18n support
**Pages affectées:**
- pages/settings.tsx
- components/KeyManagementManager.tsx
- components/Nip95ConfigManager.tsx
- public/locales/fr.txt
- public/locales/en.txt
- locales/fr.txt
- locales/en.txt
**Motivations :**
* Remove outdated message that appears after account creation/import
* Clean up dead code and unused translation keys
* Simplify presentation page UX now that key creation/import is available
**Root causes :**
* Message 'Connectez-vous avec Nostr pour créer votre article de présentation' was displayed even when account exists
* NotConnected component and translation keys were no longer needed after implementing key creation/import
**Correctifs :**
* Removed NotConnected component and its message
* Removed presentation.notConnected translation keys from all locale files
* Simplified display to show ConnectButton directly when no pubkey is available
* Added auto-loading of pubkey when account exists but pubkey not yet loaded
**Evolutions :**
* Presentation form now displays immediately when account exists (even if not unlocked)
* Better UX: users can see the form and will get error message if they try to publish without unlocking
**Page affectées :**
* components/AuthorPresentationEditor.tsx
* locales/fr.txt
* locales/en.txt
* public/locales/fr.txt
* public/locales/en.txt
- Extract PresentationFormHeader to reduce PresentationForm line count
- Add all missing translations to public/locales files
- Update Bitcoin address help text to specify 'excluding fees'
- All TypeScript and linter checks pass
- Update nav.publish translation from 'Publier' to 'Publier le profil' (FR)
- Update nav.publish translation from 'Publish' to 'Publish profile' (EN)
- Update all locale files
- Fix unused function warnings by renaming to _unusedExtractTags
- Fix type errors in nostrTagSystem.ts for includes() calls
- Fix type errors in reviews.ts for filter kinds array
- Fix ArrayBuffer type errors in articleEncryption.ts
- Remove unused imports (DecryptionKey, decryptArticleContent, extractTagsFromEvent)
- All TypeScript checks now pass without disabling any controls