fix TOV-855
added shape element create & doc create event tracking in blocksuite editor.
What's still missing:
the control (source) that triggered whiteboard element creation, i.e., from canvas dbclick, dnd or pasting.
### TL;DR
First, fixed an i18n issue in history panel. When the browser language is set to Chinese, and the AFFiNE application language is set to English, the language supposed to be English global. But now the language is a mixture of Chinese and English, which is obviously wrong.

Second, design a time formatter to convert timestamp into relative calendar date, such today and yesterday and so on. Long-ago edits will show the exact date like before.

### What changed?
- `new Intl.DateTimeFormat` with language option form `document.documentElement.lang`
- Added `timestampToCalendarDate` function to convert timestamp into relative calendar date
- Updated unit tests
- Updated i18n copywriting
### How to test?
1. Open view history version
2. Check edit timeline
Added most tracking events
what is missing:
- still need a way to track events in blocksuite
- some events may not 100% accurate of the one defined in the PRD
Update prompts:
When sending a message to openai, we actually send two messages.
There are two issues here:
1. the role in the first message shall be user or system
2. the content in the first message is not being interpolated at all.
```
[
{
role: "assistant",
createdAt: "2024-04-27T06:30:34.820Z",
params: {
language: "French",
},
content: "You are a translation expert, please translate the following content into French, and only perform the translation action, keeping the translated content in the same format as the original content:\n\n \"\"\"\"\n\n \n\n \"\"\"\"",
},
{
role: "user",
content: "Basic things you should know:",
attachments: undefined,
params: {
language: "French",
},
createdAt: "2024-04-29T09:42:11.466Z",
},
]
```
In this PR I removed `content` from prompts and let open ai use the second message (user) as the input.
Previously, we marked `jumpOnce: true` on `doc.meta` to open a specific doc after creating a new workspace. This pr removes `jumpOnce` and directly jumps to the specific doc URL.
This PR also fixes an error when opening the all-page page, because the all-page page scans the jumpOnce attribute of all docs, and the code in it will fail on damaged data.