## Description
Currently certificate translations on production sometimes does not show
the required language.
This could not be replicated when creating certificates on staging
(Browserless.io) and local development (Chromium), which means this fix
ultimately cannot be tested unless on live.
This is an attempt to fix it by isolating the certificate generation
into it's own context, and applying a cookie to define the required
language.
This fix is based on the assumption that there is some sort of error
which pushes the certificate to be generated on the client side, which
ultimately will render in English due to constraints on nextjs.
## Changes Made
- Apply language into cookie instead purely dynamically on SSR
- Minor unrelated fixes
## Testing Performed
Tested to ensure certificates could still be generated
## Description
Currently merge conflicts arise due to the compiled JS and PO
translation files.
This PR is a rework on how we handle extracting and compiling
translations to streamline PRs and merging branches.
## Changes Made
- Remove compiled translation files from being committed
- Extract and compile translations only on build
- Extract will still occur when commits land on main to sync and pull
new translations with Crowdin
## Description
Currently the language cookie is set to session, so restarting browser
will reset it.
This sets the expiry for two years.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced language preference functionality with extended cookie
lifespan for improved user experience.
- **Bug Fixes**
- Resolved issues related to cookie expiration for language settings.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Adds the ability for the document owner to edit recipients and their
fields after the document has been sent.
A recipient can only be updated or deleted if:
- The recipient has not inserted any fields
- Has not completed the document
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Release Notes
- **New Features**
- Added new localization messages to clarify user actions regarding
document signing.
- Enhanced French translations for improved user interaction.
- **Improvements**
- Updated localization strings in German and English for clearer
feedback on signer and recipient statuses.
- Improved overall structure of localization files for better
maintainability.
- **Dependency Updates**
- Upgraded `next-axiom` and `remeda` libraries to their latest versions,
potentially enhancing performance and stability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Mythie <me@lucasjamessmith.me>
## Description
Add initial French translations
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added support for the French language, enhancing accessibility for
French-speaking users.
- Introduced localized French messages for various application
functionalities, improving user experience.
- **Bug Fixes**
- Minor formatting updates in French translation files to remove
extraneous newline characters.
- **Chores**
- Updated line references in French translation files to maintain
alignment with code changes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Lucas Smith <me@lucasjamessmith.me>
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: github-actions <github-actions@documenso.com>
## Description
Currently invalid or missing `accept-language` headers will cause issues
rendering Plural components since we do not validate them.
This adds a check to try filter out invalid locales.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced locale filtering process to ensure only valid locales are
processed.
- **Bug Fixes**
- Improved data integrity by preventing invalid locales from affecting
application functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Web changes:
- Enabled i18n for web
- Add option to change language in command menu
- Add option to change language in menu-switcher
Web and marketing changes:
- Stop setting 'en' preference into cookie if the user's language is not
supported
- Dropped middleware changes
- Rotated cookie from 'i18n' to 'language'
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a language switcher in the footer for improved language
selection.
- Added dynamic language change functionality in the command menu.
- Implemented a dropdown menu item for quick access to the language
switcher.
- **Bug Fixes**
- Resolved issues related to language change notifications and state
management.
- **Translations**
- Added new translation entries for improved language support, including
"Search languages..." in English and German.
- Updated existing translations to enhance clarity and accuracy.
- **Chores**
- Simplified internationalization handling in middleware.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: github-actions <github-actions@documenso.com>
## Description
Refactor the current date formatting system to utilize Lingui.
## Changes Made
- Remove redundant `LocaleData` component with Lingui dates
## Important notes
For the internal pages for certificates, default to en-US to format any
dates.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced internationalization support across various components by
utilizing the `i18n` object for date formatting.
- Streamlined locale management by removing cookie-based language
handling and adopting a more centralized approach.
- **Bug Fixes**
- Improved date formatting consistency by replacing the `LocaleDate`
component with direct calls to `i18n.date()` in multiple components.
- **Documentation**
- Updated localization strings in the `web.po` files to reflect recent
changes in the source code structure.
- **Chores**
- Minor formatting adjustments and code organization improvements across
various files to enhance readability and maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: github-actions <github-actions@documenso.com>