41 lines
963 B
Plaintext
41 lines
963 B
Plaintext
@startuml
|
|
actor User
|
|
participant Browser
|
|
participant Server
|
|
|
|
User -> Browser: discours.io
|
|
activate Browser
|
|
Browser -> Server: GET\nquery { lng }\ncookies { lng }
|
|
opt lng in query
|
|
Server -> Server: lng = lng from query
|
|
else no lng in query
|
|
opt lng in cookies
|
|
Server -> Server: lng = lng from cookies
|
|
else no lng in cookies
|
|
Server -> Server: lng = 'ru'
|
|
end opt
|
|
end opt
|
|
note right
|
|
_dafault.page.server.ts render
|
|
end note
|
|
|
|
opt i18next is not initialized
|
|
Server -> Server: initialize i18next with lng
|
|
else i18next not initialized
|
|
Server -> Server: change i18next language to lng
|
|
end opt
|
|
note right
|
|
all resources loaded synchronously
|
|
end note
|
|
Server --> Browser: pageContext { lng }
|
|
Browser -> Browser: init client side i18next with http backend
|
|
activate Browser
|
|
Browser -> Server: get translations for current language
|
|
Server --> Browser: translations JSON
|
|
deactivate Browser
|
|
Browser -> Browser: render page
|
|
Browser --> User: rendered page
|
|
deactivate Browser
|
|
@enduml
|
|
|