Commit Graph

34 Commits

Author SHA1 Message Date
54c0c6be14 fix: open page 2024-11-05 19:36:36 +09:00
4dd95016b1 feat: i18n for emails (#1442)
## Description

Support setting a document language that will control the language used
for sending emails to recipients. Additional work has been done to
convert all emails to using our i18n implementation so we can later add
controls for sending other kinds of emails in a users target language.

## Related Issue

N/A

## Changes Made

- Added `<Trans>` and `msg` macros to emails
- Introduced a new `renderEmailWithI18N` utility in the lib package
- Updated all emails to use the `<Tailwind>` component at the top level
due to rendering constraints
- Updated the `i18n.server.tsx` file to not use a top level await

## Testing Performed

- Configured document language and verified emails were sent in the
expected language
- Created a document from a template and verified that the templates
language was transferred to the document
2024-11-05 11:52:54 +11:00
1028184cf2 feat: initial i18n marketing implementation (#1223)
## Description

This PR introduces an initial i18n implementation using
[Lingui](https://lingui.dev).

We plan to combine it with Crowdin which will provide AI translations
when PRs are merged into main.

We plan to rollout i18n to only marketing for now, and will review how
everything goes before continuing to introduce it into the main
application.

## Reasoning

Why not use i18n-next or other alternatives?

To hopefully provide the best DX we chose Lingui because it allows us to
simply wrap text that we want to translate in tags, instead of forcing
users to do things such as:

- Update the text to `t('some-text')`
- Extract it to the file
- The text becomes a bit unreadable unless done correctly

Yes, plugins such as i18n-ally and Sherlock exist to simplify these
chores, but these require the user to be correctly setup in vscode, and
it also does not seem to provide the required configurations for our
multi app and multi UI package setup.

## Super simple demo

```html
// Before
<p>Text to update</p>

// After
<p>
  <Trans>Text to update</Trans>
</p>
```

## Related Issue

Relates to #885 but is only for marketing for now.

Another branch is slowly being prepared for the changes required for the
web application while we wait to see how this goes for marketing.

## Changes Made

Our configuration does not follow the general standard since we have
translations that cross:
- Web app
- Marketing app
- Constants package
- UI package

This means we want to separate translations into:
1. Marketing - Only translations extracted from `apps/marketing`
2. Web - Only translations extracted from `apps/web`
3. Common - Translations from `packages/constants` and `packages/ui`

Then we bundle, compile and minify the translations for production as
follows:
1. Marketing = Marketing + Common
2. Web = Web + Common

This allows us to only load the required translations when running each
application.

Overall general changes: 
- Add i18n to marketing
- Add core i18n setup to web
- Add pre-commit hook and GH action to extract any new <Trans> tags into
the translation files

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit


- **New Features**
- Added Romanian localization for marketing messages to improve
accessibility for Romanian-speaking users.
- Introduced German and English translation modules and PO files to
enhance the application's internationalization capabilities.
- Integrated internationalization support in the RootLayout component
for dynamic language settings based on server-side configurations.
- Enhanced the Enterprise component with translation support to adapt to
user language preferences.
- Added a `<meta>` tag to prevent Google from translating the page
content, supporting internationalization efforts.

- **Bug Fixes**
- Resolved minor issues related to the structure and accessibility of
translation files.

- **Chores**
- Updated project dependencies to support the new localization features
and ensure stability.

<!-- 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>
2024-07-26 14:56:42 +10:00
fb8ab9719b chore: ex ea customer label on open page 2024-05-16 18:58:37 +02:00
facafe0997 feat: place card titles in the box 2024-03-21 01:44:32 +00:00
8c1686f113 feat: add total signed documents 2024-03-21 01:25:23 +00:00
a8752098f6 fix: invalid datetime on graph 2024-03-21 00:48:49 +00:00
574cd176c2 chore: update copy to have more swag 2024-03-20 12:34:03 +01:00
48858cfdd0 chore: restructure open page 2024-03-20 10:31:19 +00:00
2facc0e331 feat: add completed documents per month graph 2024-03-20 10:17:31 +00:00
f6c2b6c1c5 fix: minor updates 2024-03-12 01:52:16 +00:00
e8b209eb82 fix: fixed cta component 2024-03-08 15:46:44 +02:00
0c8a89a2ea feat: add typefully card
Signed-off-by: Adithya Krishna <adithya@documenso.com>
2024-03-01 12:53:51 +05:30
49cddfab38 chore: lint with oxc 2024-02-15 06:11:50 +00:00
9d6ee94708 chore: add title and description to individual pages (#847)
Add Title and Description to Individual Pages.
eg:- Security | Documenso, Profile | Documenso etc.
2024-01-29 17:53:44 +11:00
67f3b2de45 fix: fetch the correct number of open issues using the github search api (#495) 2023-11-15 21:56:09 +11:00
2e9180acf5 chore: include total and new user charts 2023-11-06 13:02:21 +11:00
9edf88692c feat: show monthly new users 2023-11-06 13:02:21 +11:00
34232c79e5 feat: add single player mode 2023-11-06 13:01:43 +11:00
023a91832a feat: add extra info for the early adopters 2023-11-06 13:01:14 +11:00
0a035f8b60 refactor: metrics into reusable component 2023-11-06 13:01:14 +11:00
7659c51980 feat: add early adopters graph 2023-11-06 13:01:14 +11:00
7811035384 feat: promise safety with eslint 2023-11-06 13:01:11 +11:00
989146f98e chore: reduce open page caching time to 1 hour 2023-11-06 13:01:11 +11:00
258477fd8d fix: link 2023-11-06 13:01:08 +11:00
ee595056ac fix: open page link 2023-11-06 13:01:08 +11:00
7c0c082a40 feat: pre seed announce and link on /open page 2023-11-06 13:01:08 +11:00
769b51c531 chore: add total 2023-11-06 13:01:08 +11:00
3407952a5e chore: refactor github charts into a single component 2023-11-06 13:01:08 +11:00
b3a52c4aec feat: add other charts 2023-11-06 13:01:08 +11:00
fdd3d7c6fe chore: fetch stargazers data from stargazers api 2023-11-06 13:01:08 +11:00
a78ed42f6c feat: add github stars cummulative 2023-11-06 13:01:08 +11:00
27b42814d8 Add initial cap table 2023-11-06 13:01:08 +11:00
f882be4338 feat: open page 2023-11-06 13:01:08 +11:00