mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
chore: merge main
This commit is contained in:
commit
d1ce1686a4
122
.github/workflows/ci.yaml
vendored
122
.github/workflows/ci.yaml
vendored
@ -1,79 +1,83 @@
|
|||||||
name: CI
|
name: CI
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [main]
|
branches:
|
||||||
|
- 'main'
|
||||||
|
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [main]
|
branches:
|
||||||
|
- 'main'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-macos:
|
build:
|
||||||
runs-on: macOS-latest
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest, macos-latest]
|
||||||
|
include:
|
||||||
|
- os: ubuntu-latest
|
||||||
|
flutter_profile: development-linux-x86
|
||||||
|
- os: macos-latest
|
||||||
|
flutter_profile: development-mac
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- uses: actions/checkout@v2
|
||||||
uses: actions/checkout@v2
|
|
||||||
- uses: actions-rs/toolchain@v1
|
- id: rust_toolchain
|
||||||
|
uses: actions-rs/toolchain@v1
|
||||||
with:
|
with:
|
||||||
toolchain: stable
|
toolchain: stable
|
||||||
- name: Checkout Flutter
|
|
||||||
uses: actions/checkout@v2
|
- id: flutter
|
||||||
|
uses: subosito/flutter-action@v2
|
||||||
with:
|
with:
|
||||||
repository: flutter/flutter
|
channel: 'stable'
|
||||||
path: flutter
|
cache: true
|
||||||
- name: Flutter
|
|
||||||
working-directory: flutter
|
- name: Cache Cargo
|
||||||
run: |
|
uses: actions/cache@v2
|
||||||
echo "$(pwd)/bin" >> $GITHUB_PATH
|
with:
|
||||||
export PATH="$PATH:$(pwd)/bin"
|
path: |
|
||||||
flutter channel stable
|
~/.cargo
|
||||||
flutter config --enable-macos-desktop
|
key: ${{ runner.os }}-cargo-${{ steps.rust_toolchain.outputs.rustc_hash }}-${{ hashFiles('./frontend/rust-lib/Cargo.toml') }}
|
||||||
flutter doctor
|
|
||||||
- name: Deps
|
- name: Cache Rust
|
||||||
working-directory: frontend
|
uses: actions/cache@v2
|
||||||
run: |
|
with:
|
||||||
cargo install --force cargo-make
|
path: |
|
||||||
cargo install --force duckscript_cli
|
frontend/rust-lib/target
|
||||||
cargo make flowy_dev
|
key: ${{ runner.os }}-rust-${{ steps.rust_toolchain.outputs.rustc_hash }}-${{ hashFiles('./frontend/rust-lib/Cargo.toml') }}
|
||||||
echo PATH="$PATH":"$HOME/.pub-cache/bin" >> $GITHUB_PATH
|
|
||||||
- name: Build
|
- name: Setup Environment
|
||||||
working-directory: frontend
|
|
||||||
run: cargo make --profile production-mac-x86 appflowy
|
|
||||||
build-ubuntu:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
- name: Packages
|
|
||||||
run: |
|
run: |
|
||||||
|
if [ "$RUNNER_OS" == "Linux" ]; then
|
||||||
sudo wget -qO /etc/apt/trusted.gpg.d/dart_linux_signing_key.asc https://dl-ssl.google.com/linux/linux_signing_key.pub
|
sudo wget -qO /etc/apt/trusted.gpg.d/dart_linux_signing_key.asc https://dl-ssl.google.com/linux/linux_signing_key.pub
|
||||||
sudo wget -qO /etc/apt/sources.list.d/dart_stable.list https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list
|
sudo wget -qO /etc/apt/sources.list.d/dart_stable.list https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y dart curl build-essential libsqlite3-dev libssl-dev clang cmake ninja-build pkg-config libgtk-3-dev
|
sudo apt-get install -y dart curl build-essential libsqlite3-dev libssl-dev clang cmake ninja-build pkg-config libgtk-3-dev
|
||||||
- name: Rust
|
elif [ "$RUNNER_OS" == "macOS" ]; then
|
||||||
run: |
|
echo 'do nothing'
|
||||||
curl \
|
fi
|
||||||
--proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
shell: bash
|
||||||
source $HOME/.cargo/env
|
|
||||||
rustup toolchain install stable
|
|
||||||
rustup default stable
|
|
||||||
- name: Checkout Flutter
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
repository: flutter/flutter
|
|
||||||
path: flutter
|
|
||||||
- name: Flutter
|
|
||||||
working-directory: flutter
|
|
||||||
run: |
|
|
||||||
echo "$(pwd)/bin" >> $GITHUB_PATH
|
|
||||||
export PATH="$PATH:$(pwd)/bin"
|
|
||||||
flutter channel stable
|
|
||||||
flutter config --enable-linux-desktop
|
|
||||||
flutter doctor
|
|
||||||
- name: Deps
|
- name: Deps
|
||||||
working-directory: frontend
|
working-directory: frontend
|
||||||
run: |
|
run: |
|
||||||
cargo install --force cargo-make
|
cargo install cargo-make
|
||||||
cargo install --force duckscript_cli
|
cargo install duckscript_cli
|
||||||
cargo make flowy_dev
|
cargo make flowy_dev
|
||||||
echo PATH="$PATH":"$HOME/.pub-cache/bin" >> $GITHUB_PATH
|
|
||||||
|
- name: Config Flutter
|
||||||
|
run: |
|
||||||
|
if [ "$RUNNER_OS" == "Linux" ]; then
|
||||||
|
flutter config --enable-linux-desktop
|
||||||
|
elif [ "$RUNNER_OS" == "macOS" ]; then
|
||||||
|
flutter config --enable-macos-desktop
|
||||||
|
fi
|
||||||
|
shell: bash
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
working-directory: frontend
|
working-directory: frontend
|
||||||
run: cargo make --profile production-linux-x86 appflowy
|
run: |
|
||||||
|
cargo make --profile ${{ matrix.flutter_profile }} appflowy-dev
|
7
.github/workflows/dart_test.yml
vendored
7
.github/workflows/dart_test.yml
vendored
@ -22,7 +22,9 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
toolchain: stable
|
toolchain: stable
|
||||||
- name: Deps Flutter
|
- name: Deps Flutter
|
||||||
run: flutter packages pub get
|
run: |
|
||||||
|
flutter config --enable-linux-desktop
|
||||||
|
flutter doctor
|
||||||
working-directory: frontend/app_flowy
|
working-directory: frontend/app_flowy
|
||||||
- name: Deps Rust
|
- name: Deps Rust
|
||||||
working-directory: frontend
|
working-directory: frontend
|
||||||
@ -34,15 +36,16 @@ jobs:
|
|||||||
- name: Code Generation
|
- name: Code Generation
|
||||||
working-directory: frontend/app_flowy
|
working-directory: frontend/app_flowy
|
||||||
run: |
|
run: |
|
||||||
|
flutter packages pub get
|
||||||
flutter packages pub run easy_localization:generate -S ./assets/translations -f keys -O lib/generated -o locale_keys.g.dart
|
flutter packages pub run easy_localization:generate -S ./assets/translations -f keys -O lib/generated -o locale_keys.g.dart
|
||||||
flutter packages pub run build_runner build --delete-conflicting-outputs
|
flutter packages pub run build_runner build --delete-conflicting-outputs
|
||||||
- name: Build FlowySDK
|
- name: Build FlowySDK
|
||||||
working-directory: frontend
|
working-directory: frontend
|
||||||
run: |
|
run: |
|
||||||
flutter config --enable-linux-desktop
|
|
||||||
cargo make --profile development-linux-x86 flowy-sdk-dev
|
cargo make --profile development-linux-x86 flowy-sdk-dev
|
||||||
- name: Run bloc tests
|
- name: Run bloc tests
|
||||||
working-directory: frontend/app_flowy
|
working-directory: frontend/app_flowy
|
||||||
run: |
|
run: |
|
||||||
|
flutter pub get
|
||||||
flutter test
|
flutter test
|
||||||
|
|
||||||
|
13
README.md
13
README.md
@ -29,19 +29,6 @@ You are in charge of your data and customizations.
|
|||||||
|
|
||||||
Please view the [documentation](https://appflowy.gitbook.io/docs/essential-documentation/install-appflowy/installation-methods) for OS specific installation instructions.
|
Please view the [documentation](https://appflowy.gitbook.io/docs/essential-documentation/install-appflowy/installation-methods) for OS specific installation instructions.
|
||||||
|
|
||||||
You can also try AppFlowy using the docker image:
|
|
||||||
|
|
||||||
```
|
|
||||||
docker run --rm \
|
|
||||||
-v $HOME/.Xauthority:/root/.Xauthority:rw \
|
|
||||||
-v /tmp/.X11-unix:/tmp/.X11-unix \
|
|
||||||
-v /dev/dri:/dev/dri \
|
|
||||||
-v /var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket \
|
|
||||||
-v appflowy-data:/home/appflowy \
|
|
||||||
-e DISPLAY=${DISPLAY} \
|
|
||||||
appflowyio/appflowy_client:latest
|
|
||||||
```
|
|
||||||
|
|
||||||
## Built With
|
## Built With
|
||||||
|
|
||||||
* [Flutter](https://flutter.dev/)
|
* [Flutter](https://flutter.dev/)
|
||||||
|
@ -1,20 +1,24 @@
|
|||||||
// module.exports = {extends: ['@commitlint/config-conventional']}
|
// module.exports = {extends: ['@commitlint/config-conventional']}
|
||||||
module.exports = {
|
module.exports = {
|
||||||
rules: {
|
rules: {
|
||||||
'type-enum': [2, 'always', ['chore', 'ci', 'docs', 'feat', 'fix', 'refactor', 'style', 'test']],
|
|
||||||
'body-leading-blank': [1, 'always'],
|
|
||||||
'body-max-line-length': [2, 'always', 100],
|
|
||||||
'footer-leading-blank': [1, 'always'],
|
|
||||||
'footer-max-line-length': [2, 'always', 100],
|
|
||||||
'header-max-length': [2, 'always', 100],
|
'header-max-length': [2, 'always', 100],
|
||||||
|
|
||||||
|
'type-enum': [2, 'always', ['build', 'chore', 'ci', 'docs', 'feat', 'feature', 'fix', 'refactor', 'style', 'test']],
|
||||||
|
'type-empty': [2, 'never'],
|
||||||
|
'type-case': [2, 'always', 'lower-case'],
|
||||||
|
|
||||||
|
'subject-empty': [2, 'never'],
|
||||||
'subject-case': [
|
'subject-case': [
|
||||||
2,
|
0,
|
||||||
'never',
|
'never',
|
||||||
['sentence-case', 'start-case', 'pascal-case', 'upper-case'],
|
['sentence-case', 'start-case', 'pascal-case', 'upper-case'],
|
||||||
],
|
],
|
||||||
'subject-empty': [2, 'never'],
|
|
||||||
'type-empty': [2, 'never'],
|
'body-leading-blank': [2, 'always'],
|
||||||
'type-case': [2, 'always', 'lower-case'],
|
'body-max-line-length': [2, 'always', 200],
|
||||||
'body-case': [2, 'never', []]
|
'body-case': [0, 'never', []],
|
||||||
|
|
||||||
|
'footer-leading-blank': [1, 'always'],
|
||||||
|
'footer-max-line-length': [2, 'always', 100]
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
145
frontend/app_flowy/assets/translations/ca-ES.json
Normal file
145
frontend/app_flowy/assets/translations/ca-ES.json
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
{
|
||||||
|
"appName": "AppFlowy",
|
||||||
|
"defaultUsername": "Jo",
|
||||||
|
"welcomeText": "Benvingut a @:appName",
|
||||||
|
"githubStarText": "Preferit a Github",
|
||||||
|
"subscribeNewsletterText": "Subscriu-me al butlletí",
|
||||||
|
"letsGoButtonText": "Endavant",
|
||||||
|
"title": "Títol",
|
||||||
|
"signUp": {
|
||||||
|
"buttonText": "Registra't",
|
||||||
|
"title": "Registra't a @:appName",
|
||||||
|
"getStartedText": "Comencem",
|
||||||
|
"emptyPasswordError": "La contrasenya no pot ser buida",
|
||||||
|
"repeatPasswordEmptyError": "La contrasenya repetida no pot ser buida",
|
||||||
|
"unmatchedPasswordError": "Les contrasenyes no concorden",
|
||||||
|
"alreadyHaveAnAccount": "Ja tens un compte?",
|
||||||
|
"emailHint": "Correu electrònic",
|
||||||
|
"passwordHint": "Contrasenya",
|
||||||
|
"repeatPasswordHint": "Repeteix la contrasenya"
|
||||||
|
},
|
||||||
|
"signIn": {
|
||||||
|
"loginTitle": "Inicia sessió a @:appName",
|
||||||
|
"loginButtonText": "Inicia sessió",
|
||||||
|
"buttonText": "Inicia sessió",
|
||||||
|
"forgotPassword": "Has oblidat la contrasenya?",
|
||||||
|
"emailHint": "Correu electrònic",
|
||||||
|
"passwordHint": "Contrasenya",
|
||||||
|
"dontHaveAnAccount": "No tens un compte?",
|
||||||
|
"repeatPasswordEmptyError": "La contrasenya repetida no pot ser buida",
|
||||||
|
"unmatchedPasswordError": "Les contrasenyes no concorden"
|
||||||
|
},
|
||||||
|
"workspace": {
|
||||||
|
"create": "Crear un espai de treball",
|
||||||
|
"hint": "espai de treball",
|
||||||
|
"notFoundError": "No s'ha trobat l'espai de treball"
|
||||||
|
},
|
||||||
|
"shareAction": {
|
||||||
|
"buttonText": "Compartir",
|
||||||
|
"workInProgress": "Pròximament",
|
||||||
|
"markdown": "Markdown",
|
||||||
|
"copyLink": "Copiar l'enllaç"
|
||||||
|
},
|
||||||
|
"disclosureAction": {
|
||||||
|
"rename": "Canviar el nom",
|
||||||
|
"delete": "Eliminar",
|
||||||
|
"duplicate": "Duplicar"
|
||||||
|
},
|
||||||
|
"blankPageTitle": "Pàgina en blanc",
|
||||||
|
"newPageText": "Nova pàgina",
|
||||||
|
"trash": {
|
||||||
|
"text": "Paperera",
|
||||||
|
"restoreAll": "Recuperar-ho tot",
|
||||||
|
"deleteAll": "Eliminar-ho tot",
|
||||||
|
"pageHeader": {
|
||||||
|
"fileName": "Nom del fitxer",
|
||||||
|
"lastModified": "Última modificació",
|
||||||
|
"created": "Creat"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"deletePagePrompt": {
|
||||||
|
"text": "Aquest pàgina es troba a la paperera",
|
||||||
|
"restore": "Recuperar-la",
|
||||||
|
"deletePermanent": "Elimina-la"
|
||||||
|
},
|
||||||
|
"dialogCreatePageNameHint": "Nom de la pàgina",
|
||||||
|
"questionBubble": {
|
||||||
|
"whatsNew": "Què hi ha de nou?",
|
||||||
|
"help": "Ajuda i Suport",
|
||||||
|
"debug": {
|
||||||
|
"name": "Informació de depuració",
|
||||||
|
"success": "S'ha copiat la informació de depuració!",
|
||||||
|
"fail": "No es pot copiar la informació de depuració"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"menuAppHeader": {
|
||||||
|
"addPageTooltip": "Afegeix ràpidament una pàgina dins",
|
||||||
|
"defaultNewPageName": "Sense títol",
|
||||||
|
"renameDialog": "Canviar el nom"
|
||||||
|
},
|
||||||
|
"toolbar": {
|
||||||
|
"undo": "Desfer",
|
||||||
|
"redo": "Refer",
|
||||||
|
"bold": "Negreta",
|
||||||
|
"italic": "Cursiva",
|
||||||
|
"underline": "Text subratllar",
|
||||||
|
"strike": "Ratllat",
|
||||||
|
"numList": "Llista numerada",
|
||||||
|
"bulletList": "Llista de punts",
|
||||||
|
"checkList": "Llista de comprovació",
|
||||||
|
"inlineCode": "Inserir codi",
|
||||||
|
"quote": "Bloc citat",
|
||||||
|
"header": "Capçalera",
|
||||||
|
"highlight": "Subratllar"
|
||||||
|
},
|
||||||
|
"tooltip": {
|
||||||
|
"lightMode": "Canviar a mode clar",
|
||||||
|
"darkMode": "Canviar a mode fosc"
|
||||||
|
},
|
||||||
|
"contactsPage": {
|
||||||
|
"title": "Contactes",
|
||||||
|
"whatsHappening": "Que passa aquesta setmana?",
|
||||||
|
"addContact": "Afegir un contacte",
|
||||||
|
"editContact": "Editar un contacte"
|
||||||
|
},
|
||||||
|
"button": {
|
||||||
|
"OK": "OK",
|
||||||
|
"Cancel": "Cancel·lar",
|
||||||
|
"signIn": "Iniciar sessió",
|
||||||
|
"signOut": "Tancar sessió",
|
||||||
|
"complete": "Completar",
|
||||||
|
"save": "Guardar"
|
||||||
|
},
|
||||||
|
"label": {
|
||||||
|
"welcome": "Benvingut!",
|
||||||
|
"firstName": "Nom",
|
||||||
|
"middleName": "Segon Nom",
|
||||||
|
"lastName": "Cognom",
|
||||||
|
"stepX": "Pas {X}"
|
||||||
|
},
|
||||||
|
"oAuth": {
|
||||||
|
"err": {
|
||||||
|
"failedTitle": "No s'ha pogut connectar al teu compte.",
|
||||||
|
"failedMsg": "Assegureu-vos que heu completat el procés d'inici de sessió al vostre navegador."
|
||||||
|
},
|
||||||
|
"google": {
|
||||||
|
"title": "Iniciar sessió amb Google",
|
||||||
|
"instruction1": "Per importar els vostres contactes de Google, haureu d'autoritzar aquesta aplicació mitjançant el vostre navegador web.",
|
||||||
|
"instruction2": "Copia aquest codi clicant la icona o seleccionant el text:",
|
||||||
|
"instruction3": "Navega al següent enllaç amb el teu navegador i insereix el codi anterior:",
|
||||||
|
"instruction4": "Pressiona el botó d'avall una vegada hagis completat el registre:"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"title": "Configuració",
|
||||||
|
"menu": {
|
||||||
|
"appearance": "Aparença",
|
||||||
|
"language": "Idioma",
|
||||||
|
"open": "Obrir la configuració"
|
||||||
|
},
|
||||||
|
"appearance": {
|
||||||
|
"lightLabel": "Mode Clar",
|
||||||
|
"darkLabel": "Mode Fosc"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
146
frontend/app_flowy/assets/translations/de-DE.json
Normal file
146
frontend/app_flowy/assets/translations/de-DE.json
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
{
|
||||||
|
"appName": "AppFlowy",
|
||||||
|
"defaultUsername": "Ich",
|
||||||
|
"welcomeText": "Willkommen bei @:appName",
|
||||||
|
"githubStarText": "GitHub Star vergeben",
|
||||||
|
"subscribeNewsletterText": "Abonniere den Newsletter",
|
||||||
|
"letsGoButtonText": "Los geht's",
|
||||||
|
"title": "Titel",
|
||||||
|
"signUp": {
|
||||||
|
"buttonText": "Registrieren",
|
||||||
|
"title": "Registriere dich bei @:appName",
|
||||||
|
"getStartedText": "Erste Schritte",
|
||||||
|
"emptyPasswordError": "Passwort darf nicht leer sein",
|
||||||
|
"repeatPasswordEmptyError": "Passwortwiederholung darf nicht leer sein",
|
||||||
|
"unmatchedPasswordError": "Passwörter stimmen nicht überein",
|
||||||
|
"alreadyHaveAnAccount": "Bereits registriert?",
|
||||||
|
"emailHint": "E-Mail",
|
||||||
|
"passwordHint": "Passwort",
|
||||||
|
"repeatPasswordHint": "Wiederhole Passwort"
|
||||||
|
},
|
||||||
|
"signIn": {
|
||||||
|
"loginTitle": "Bei @:appName einloggen",
|
||||||
|
"loginButtonText": "Anmelden",
|
||||||
|
"buttonText": "Anmelden",
|
||||||
|
"forgotPassword": "Passwort vergessen?",
|
||||||
|
"emailHint": "E-Mail",
|
||||||
|
"passwordHint": "Passwort",
|
||||||
|
"dontHaveAnAccount": "Du besitzt noch kein Konto?",
|
||||||
|
"repeatPasswordEmptyError": "Passwortwiederholung darf nicht leer sein",
|
||||||
|
"unmatchedPasswordError": "Passwörter stimmen nicht überein"
|
||||||
|
},
|
||||||
|
"workspace": {
|
||||||
|
"create": "Arbeitsbereich erstellen",
|
||||||
|
"hint": "Arbeitsbereich",
|
||||||
|
"notFoundError": "Arbeitsbereich nicht gefunden"
|
||||||
|
},
|
||||||
|
"shareAction": {
|
||||||
|
"buttonText": "Teilen",
|
||||||
|
"workInProgress": "Demnächst verfügbar",
|
||||||
|
"markdown": "Markdown",
|
||||||
|
"copyLink": "Link kopieren"
|
||||||
|
},
|
||||||
|
"disclosureAction": {
|
||||||
|
"rename": "Umbenennen",
|
||||||
|
"delete": "Löschen",
|
||||||
|
"duplicate": "Duplizieren"
|
||||||
|
},
|
||||||
|
"blankPageTitle": "Leere Seite",
|
||||||
|
"newPageText": "Neue Seite",
|
||||||
|
"trash": {
|
||||||
|
"text": "Papierkorb",
|
||||||
|
"restoreAll": "Alles wiederherstellen",
|
||||||
|
"deleteAll": "Alles löschen",
|
||||||
|
"pageHeader": {
|
||||||
|
"fileName": "Dateiname",
|
||||||
|
"lastModified": "Letzte Änderung",
|
||||||
|
"created": "Erstellt"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"deletePagePrompt": {
|
||||||
|
"text": "Diese Seite ist im Papierkorb",
|
||||||
|
"restore": "Seite wiederherstellen",
|
||||||
|
"deletePermanent": "Dauerhaft löschen"
|
||||||
|
},
|
||||||
|
"dialogCreatePageNameHint": "Seitenname",
|
||||||
|
"questionBubble": {
|
||||||
|
"whatsNew": "Was gibt es Neues?",
|
||||||
|
"help": "Hilfe & Support",
|
||||||
|
"debug": {
|
||||||
|
"name": "Debug-Informationen",
|
||||||
|
"success": "Debug-Informationen in die Zwischenablage kopiert!",
|
||||||
|
"fail": "Debug-Informationen können nicht in die Zwischenablage kopiert werden"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"menuAppHeader": {
|
||||||
|
"addPageTooltip": "Schnell eine Seite innerhalb hinzufügen",
|
||||||
|
"defaultNewPageName": "Unbenannt",
|
||||||
|
"renameDialog": "Umbenennen"
|
||||||
|
},
|
||||||
|
"toolbar": {
|
||||||
|
"undo": "Rückgängig",
|
||||||
|
"redo": "Wiederherstellen",
|
||||||
|
"bold": "Fett",
|
||||||
|
"italic": "Kursiv",
|
||||||
|
"underline": "Unterstreichen",
|
||||||
|
"strike": "Durchstreichen",
|
||||||
|
"numList": "Nummerierte Liste",
|
||||||
|
"bulletList": "Aufzählung",
|
||||||
|
"checkList": "Checkliste",
|
||||||
|
"inlineCode": "Inline-Code",
|
||||||
|
"quote": "Zitat",
|
||||||
|
"header": "Überschrift",
|
||||||
|
"highlight": "Hervorhebung"
|
||||||
|
},
|
||||||
|
"tooltip": {
|
||||||
|
"lightMode": "In den hellen Modus wechseln",
|
||||||
|
"darkMode": "In den dunklen Modus wechseln"
|
||||||
|
},
|
||||||
|
"contactsPage": {
|
||||||
|
"title": "Kontakte",
|
||||||
|
"whatsHappening": "Was geschieht diese Woche?",
|
||||||
|
"addContact": "Kontakt hinzufügen",
|
||||||
|
"editContact": "Kontakt bearbeiten"
|
||||||
|
},
|
||||||
|
"button": {
|
||||||
|
"OK": "OK",
|
||||||
|
"Cancel": "Abbrechen",
|
||||||
|
"signIn": "Anmelden",
|
||||||
|
"signOut": "Abmelden",
|
||||||
|
"complete": "Fertig",
|
||||||
|
"save": "Speichern"
|
||||||
|
},
|
||||||
|
"label": {
|
||||||
|
"welcome": "Willkommen!",
|
||||||
|
"firstName": "Vorname",
|
||||||
|
"middleName": "Zweiter Vorname",
|
||||||
|
"lastName": "Nachname",
|
||||||
|
"stepX": "Schritt {X}"
|
||||||
|
},
|
||||||
|
"oAuth": {
|
||||||
|
"err": {
|
||||||
|
"failedTitle": "Keine Verbindung zu Ihrem Konto möglich.",
|
||||||
|
"failedMsg": "Bitte vergewissern Sie sich, dass Sie den Anmeldevorgang in Ihrem Browser abgeschlossen haben."
|
||||||
|
},
|
||||||
|
"google": {
|
||||||
|
"title": "GOOGLE ANMELDUNG",
|
||||||
|
"instruction1": "Um Ihre Google-Kontakte zu importieren, müssen Sie diese Anwendung über Ihren Webbrowser autorisieren.",
|
||||||
|
"instruction2": "Kopieren Sie diesen Code in Ihre Zwischenablage, indem Sie auf das Symbol klicken oder den Text auswählen:",
|
||||||
|
"instruction3": "Rufen Sie den folgenden Link in Ihrem Webbrowser auf, und geben Sie den obigen Code ein:",
|
||||||
|
"instruction4": "Klicken Sie unten auf die Schaltfläche, wenn Sie die Anmeldung abgeschlossen haben:"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"title": "Einstellungen",
|
||||||
|
"menu": {
|
||||||
|
"appearance": "Aussehen",
|
||||||
|
"language": "Sprache",
|
||||||
|
"open": "Einstellungen öffnen"
|
||||||
|
},
|
||||||
|
"appearance": {
|
||||||
|
"lightLabel": "Heller Modus",
|
||||||
|
"darkLabel": "Dunkler Modus"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,75 +1,75 @@
|
|||||||
{
|
{
|
||||||
"appName": "AppFlowy",
|
"appName": "AppFlowy",
|
||||||
"defaultUsername": "Moi",
|
"defaultUsername": "Moi",
|
||||||
"welcomeText": "Bienvenu à @:appName",
|
"welcomeText": "Bienvenue sur @:appName",
|
||||||
"githubStarText": "Favorier sur GitHub",
|
"githubStarText": "Favoriser sur GitHub",
|
||||||
"subscribeNewsletterText": "Abonnez-vous à notre courriel",
|
"subscribeNewsletterText": "Abonnez-vous à notre courriel",
|
||||||
"letsGoButtonText": "Allons-y",
|
"letsGoButtonText": "Allons-y",
|
||||||
"title": "Titre",
|
"title": "Titre",
|
||||||
"signUp": {
|
"signUp": {
|
||||||
"buttonText": "S'abonner",
|
"buttonText": "S'inscrire",
|
||||||
"title": "S'abonner à @:appName",
|
"title": "S'inscrire à @:appName",
|
||||||
"getStartedText": "Commencer",
|
"getStartedText": "Commencer",
|
||||||
"emptyPasswordError": "Mot de passe ne doit pas être vide",
|
"emptyPasswordError": "Vous n'avez pas saisi votre mot de passe",
|
||||||
"repeatPasswordEmptyError": "Mot de passe ne doit pas être vide",
|
"repeatPasswordEmptyError": "Mot de passe ne doit pas être vide",
|
||||||
"unmatchedPasswordError": "Les mots de pass ne concordent pas",
|
"unmatchedPasswordError": "Les deux mots de passe ne sont pas identiques",
|
||||||
"alreadyHaveAnAccount": "Avez-vous déjà un compte?",
|
"alreadyHaveAnAccount": "Avez-vous déjà un compte?",
|
||||||
"emailHint": "courriel",
|
"emailHint": "courriel",
|
||||||
"passwordHint": "Mot de passe",
|
"passwordHint": "Mot de passe",
|
||||||
"repeatPasswordHint": "Resaisir le mot de passe"
|
"repeatPasswordHint": "Ressaisir votre mot de passe"
|
||||||
},
|
},
|
||||||
"signIn": {
|
"signIn": {
|
||||||
"loginTitle": "Se connecter à @:appName",
|
"loginTitle": "Connexion à @:appName",
|
||||||
"loginButtonText": "Connexion",
|
"loginButtonText": "Connexion",
|
||||||
"buttonText": "Connexion",
|
"buttonText": "Se connecter",
|
||||||
"forgotPassword": "Mot de passe oublié?",
|
"forgotPassword": "Mot de passe oublié?",
|
||||||
"emailHint": "courriel",
|
"emailHint": "courriel",
|
||||||
"passwordHint": "Mot de passe",
|
"passwordHint": "Mot de passe",
|
||||||
"dontHaveAnAccount": "Vous n'avez pas de compte?",
|
"dontHaveAnAccount": "Vous n'avez pas de compte?",
|
||||||
"repeatPasswordEmptyError": "Mot de passe ne doit pas être vide",
|
"repeatPasswordEmptyError": "Mot de passe ne doit pas être vide",
|
||||||
"unmatchedPasswordError": "Les mots de passe ne concordent pas"
|
"unmatchedPasswordError": "Les deux mots de passe ne sont pas identiques"
|
||||||
},
|
},
|
||||||
"workspace": {
|
"workspace": {
|
||||||
"create": "Créer une espace de travail",
|
"create": "Créer un espace de travail",
|
||||||
"hint": "espace de travail",
|
"hint": "Espace de travail",
|
||||||
"notFoundError": "Espace de travail non trouvé"
|
"notFoundError": "Espace de travail introuvable"
|
||||||
},
|
},
|
||||||
"shareAction": {
|
"shareAction": {
|
||||||
"buttonText": "Partager",
|
"buttonText": "Partager",
|
||||||
"workInProgress": "Bientôt disponible",
|
"workInProgress": "Bientôt disponible",
|
||||||
"markdown": "Markdown",
|
"markdown": "Markdown",
|
||||||
"copyLink": "Copier le liens"
|
"copyLink": "Copier le lien"
|
||||||
},
|
},
|
||||||
"disclosureAction": {
|
"disclosureAction": {
|
||||||
"rename": "Renommer",
|
"rename": "Renommer",
|
||||||
"delete": "Supprimer",
|
"delete": "Supprimer",
|
||||||
"duplicate": "Dupliquer"
|
"duplicate": "Dupliquer"
|
||||||
},
|
},
|
||||||
"blankPageTitle": "Page vide",
|
"blankPageTitle": "Page vierge",
|
||||||
"newPageText": "Nouvelle page",
|
"newPageText": "Nouvelle page",
|
||||||
"trash": {
|
"trash": {
|
||||||
"text": "Poubelle",
|
"text": "Corbeille",
|
||||||
"restoreAll": "Tout récupérer",
|
"restoreAll": "Tout récupérer",
|
||||||
"deleteAll": "Tout supprimer",
|
"deleteAll": "Tout supprimer",
|
||||||
"pageHeader": {
|
"pageHeader": {
|
||||||
"fileName": "Nom de fichier",
|
"fileName": "Nom de fichier",
|
||||||
"lastModified": "Dernière modification",
|
"lastModified": "Dernière modification",
|
||||||
"created": "Crée"
|
"created": "Créé"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"deletePagePrompt": {
|
"deletePagePrompt": {
|
||||||
"text": "Cette page est dans la poubelle",
|
"text": "Cette page est dans la corbeille",
|
||||||
"restore": "Récupérer la page",
|
"restore": "Récupérer la page",
|
||||||
"deletePermanent": "Supprimer en permanence"
|
"deletePermanent": "Supprimer définitivement"
|
||||||
},
|
},
|
||||||
"dialogCreatePageNameHint": "Nom de la page",
|
"dialogCreatePageNameHint": "Nom de la page",
|
||||||
"questionBubble": {
|
"questionBubble": {
|
||||||
"whatsNew": "Quoi de neuf?",
|
"whatsNew": "Nouveautés",
|
||||||
"help": "Aide & Support Technique",
|
"help": "Aide et Support Technique",
|
||||||
"debug": {
|
"debug": {
|
||||||
"name": "Info du système",
|
"name": "Infos du système",
|
||||||
"success": "Info copié!",
|
"success": "Info copié!",
|
||||||
"fail": "Incapable de copié l'info"
|
"fail": "Impossible de copier l'info"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"menuAppHeader": {
|
"menuAppHeader": {
|
||||||
@ -79,67 +79,67 @@
|
|||||||
},
|
},
|
||||||
"toolbar": {
|
"toolbar": {
|
||||||
"undo": "Annuler",
|
"undo": "Annuler",
|
||||||
"redo": "Refaire",
|
"redo": "Rétablir",
|
||||||
"bold": "Gras",
|
"bold": "Gras",
|
||||||
"italic": "Italique",
|
"italic": "Italique",
|
||||||
"underline": "Souligné",
|
"underline": "Souligner",
|
||||||
"strike": "Barré",
|
"strike": "Barré",
|
||||||
"numList": "Liste numérotée",
|
"numList": "Liste numérotée",
|
||||||
"bulletList": "Liste à puces",
|
"bulletList": "Liste à puces",
|
||||||
"checkList": "Liste de contrôle",
|
"checkList": "Liste de contrôle",
|
||||||
"inlineCode": "Code en ligne",
|
"inlineCode": "Code en ligne",
|
||||||
"quote": "Citation",
|
"quote": "Citation",
|
||||||
"header": "en-tête",
|
"header": "En-tête",
|
||||||
"highlight": "Surligner"
|
"highlight": "Surligner"
|
||||||
},
|
},
|
||||||
"tooltip": {
|
"tooltip": {
|
||||||
"lightMode": "Aller en mode claire",
|
"lightMode": "Passer en mode clair",
|
||||||
"darkMode": "Aller en mode foncé"
|
"darkMode": "Passer en mode sombre"
|
||||||
},
|
},
|
||||||
"contactsPage": {
|
"contactsPage": {
|
||||||
"title": "Contacts",
|
"title": "Contacts",
|
||||||
"whatsHappening": "Quoi de neuf?",
|
"whatsHappening": "Quoi de neuf?",
|
||||||
"addContact": "Ajouter Contact",
|
"addContact": "Ajouter un contact",
|
||||||
"editContact": "Éditer Contact"
|
"editContact": "Modifier le contact"
|
||||||
},
|
},
|
||||||
"button": {
|
"button": {
|
||||||
"OK": "OK",
|
"OK": "OK",
|
||||||
"Cancel": "Annuler",
|
"Cancel": "Annuler",
|
||||||
"signIn": "Connecter",
|
"signIn": "Se connecter",
|
||||||
"signOut": "Déconnecter",
|
"signOut": "Se déconnecter",
|
||||||
"complete": "Complêt",
|
"complete": "Achevé",
|
||||||
"save": "Sauvegarder"
|
"save": "Sauvegarder"
|
||||||
},
|
},
|
||||||
"label": {
|
"label": {
|
||||||
"welcome": "Bienvenu!",
|
"welcome": "Bienvenue!",
|
||||||
"firstName": "Prénom",
|
"firstName": "Prénom",
|
||||||
"middleName": "Nom",
|
"middleName": "Deuxième nom",
|
||||||
"lastName": "Nom de famille",
|
"lastName": "Nom de famille",
|
||||||
"stepX": "Étape {X}"
|
"stepX": "Étape {X}"
|
||||||
},
|
},
|
||||||
"oAuth": {
|
"oAuth": {
|
||||||
"err": {
|
"err": {
|
||||||
"failedTitle": "Incapable de connecter à votre compte.",
|
"failedTitle": "Incapable de se connecter à votre compte.",
|
||||||
"failedMsg": "SVP vous assurrez d'avoir complèté le processus d'enregistrement dans votre fureteur."
|
"failedMsg": "SVP vous assurrez d'avoir complèté le processus d'enregistrement dans votre fureteur."
|
||||||
},
|
},
|
||||||
"google": {
|
"google": {
|
||||||
"title": "S'identifier avec Google",
|
"title": "S'identifier avec Google",
|
||||||
"instruction1": "Pour importer vos contacts Google, vous devez autoriser cette application à l'aide de votre navigateur Web.",
|
"instruction1": "Pour importer vos contacts Google, vous devez autoriser cette application à l'aide de votre navigateur Web.",
|
||||||
"instruction2": "Copiez ce code dans votre presse-papiers en cliquant sur l'icône ou en sélectionnant le texte :",
|
"instruction2": "Copiez ce code dans votre presse-papiers en cliquant sur l'icône ou en sélectionnant le texte:",
|
||||||
"instruction3": "Accédez au lien suivant dans votre navigateur Web et saisissez le code ci-dessus :",
|
"instruction3": "Accédez au lien suivant dans votre navigateur Web et saisissez le code ci-dessus:",
|
||||||
"instruction4": "Appuyez sur le bouton ci-dessous lorsque vous avez terminé votre inscription :"
|
"instruction4": "Appuyez sur le bouton ci-dessous lorsque vous avez terminé votre inscription:"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "Réglages",
|
"title": "Paramètres",
|
||||||
"menu": {
|
"menu": {
|
||||||
"appearance": "Apparence",
|
"appearance": "Apparence",
|
||||||
"language": "Langue",
|
"language": "Langue",
|
||||||
"open": "ouvrir les paramètres"
|
"open": "Ouvrir les paramètres"
|
||||||
},
|
},
|
||||||
"appearance": {
|
"appearance": {
|
||||||
"lightLabel": "Mode claire",
|
"lightLabel": "Mode clair",
|
||||||
"darkLabel": "Mode foncé"
|
"darkLabel": "Mode sombre"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,44 +1,44 @@
|
|||||||
{
|
{
|
||||||
"appName": "AppFlowy",
|
"appName": "AppFlowy",
|
||||||
"defaultUsername": "Moi",
|
"defaultUsername": "Moi",
|
||||||
"welcomeText": "Bienvenue à @:appName",
|
"welcomeText": "Bienvenue sur @:appName",
|
||||||
"githubStarText": "Favorier sur GitHub",
|
"githubStarText": "Favoriser sur GitHub",
|
||||||
"subscribeNewsletterText": "S'inscrire à la Bulletin",
|
"subscribeNewsletterText": "S'inscrire à la Newsletter",
|
||||||
"letsGoButtonText": "Allons-y",
|
"letsGoButtonText": "Allons-y",
|
||||||
"title": "Titre",
|
"title": "Titre",
|
||||||
"signUp": {
|
"signUp": {
|
||||||
"buttonText": "S'inscrire",
|
"buttonText": "S'inscrire",
|
||||||
"title": "Inscrivez-vous pour @:appName",
|
"title": "Inscrivez-vous sur @:appName",
|
||||||
"getStartedText": "Commencer",
|
"getStartedText": "Commencer",
|
||||||
"emptyPasswordError": "Mot de passe ne peut pas être vide",
|
"emptyPasswordError": "Vous n'avez pas saisi votre mot de passe",
|
||||||
"repeatPasswordEmptyError": "Le mot de passe de répétition ne peut pas être vide",
|
"repeatPasswordEmptyError": "Vous n'avez pas ressaisi votre mot de passe",
|
||||||
"unmatchedPasswordError": "Le mot de passe de répétition n'est pas le même que le mot de passe",
|
"unmatchedPasswordError": "Les deux mots de passe ne sont pas identiques",
|
||||||
"alreadyHaveAnAccount": "Vous avez déjà un compte?",
|
"alreadyHaveAnAccount": "Avez-vous déjà un compte ?",
|
||||||
"emailHint": "Email",
|
"emailHint": "Email",
|
||||||
"passwordHint": "Mot de passe",
|
"passwordHint": "Mot de passe",
|
||||||
"repeatPasswordHint": "Répéter le mot de passe"
|
"repeatPasswordHint": "Ressaisir votre mot de passe"
|
||||||
},
|
},
|
||||||
"signIn": {
|
"signIn": {
|
||||||
"loginTitle": "Connexion à @:appName",
|
"loginTitle": "Connexion à @:appName",
|
||||||
"loginButtonText": "Connexion",
|
"loginButtonText": "Connexion",
|
||||||
"buttonText": "Se connecter",
|
"buttonText": "Se connecter",
|
||||||
"forgotPassword": "Mot de passe oublié?",
|
"forgotPassword": "Mot de passe oublié ?",
|
||||||
"emailHint": "Email",
|
"emailHint": "Email",
|
||||||
"passwordHint": "Mot de passe",
|
"passwordHint": "Mot de passe",
|
||||||
"dontHaveAnAccount": "Don't have an account?",
|
"dontHaveAnAccount": "Vous n'avez pas encore créé votre compte ?",
|
||||||
"repeatPasswordEmptyError": "Le mot de passe de répétition ne peut pas être vide",
|
"repeatPasswordEmptyError": "Vous n'avez pas ressaisi votre mot de passe",
|
||||||
"unmatchedPasswordError": "Le mot de passe de répétition n'est pas le même que le mot de passe"
|
"unmatchedPasswordError": "Les deux mots de passe ne sont pas identiques"
|
||||||
},
|
},
|
||||||
"workspace": {
|
"workspace": {
|
||||||
"create": "Créer un espace de travail",
|
"create": "Créer un espace de travail",
|
||||||
"hint": "espace de travail",
|
"hint": "Espace de travail",
|
||||||
"notFoundError": "L'espace de travail pas trouvé"
|
"notFoundError": "Espace de travail introuvable"
|
||||||
},
|
},
|
||||||
"shareAction": {
|
"shareAction": {
|
||||||
"buttonText": "Partager",
|
"buttonText": "Partager",
|
||||||
"workInProgress": "Bientôt disponible",
|
"workInProgress": "Bientôt disponible",
|
||||||
"markdown": "Markdown",
|
"markdown": "Markdown",
|
||||||
"copyLink": "Copier Lien"
|
"copyLink": "Copier le lien"
|
||||||
},
|
},
|
||||||
"disclosureAction": {
|
"disclosureAction": {
|
||||||
"rename": "Renommer",
|
"rename": "Renommer",
|
||||||
@ -49,16 +49,16 @@
|
|||||||
"newPageText": "Nouvelle page",
|
"newPageText": "Nouvelle page",
|
||||||
"trash": {
|
"trash": {
|
||||||
"text": "Corbeille",
|
"text": "Corbeille",
|
||||||
"restoreAll": "Restaurer Tout",
|
"restoreAll": "Restaurer tout",
|
||||||
"deleteAll": "Supprimer Tout",
|
"deleteAll": "Supprimer tout",
|
||||||
"pageHeader": {
|
"pageHeader": {
|
||||||
"fileName": "Nom de fichier",
|
"fileName": "Nom de fichier",
|
||||||
"lastModified": "Dernière Modification",
|
"lastModified": "Dernière modification",
|
||||||
"created": "Créé"
|
"created": "Créé"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"deletePagePrompt": {
|
"deletePagePrompt": {
|
||||||
"text": "Cette page est dans la corbeille",
|
"text": "Cette page a été supprimée, vous pouvez la retrouver dans la corbeille",
|
||||||
"restore": "Restaurer la page",
|
"restore": "Restaurer la page",
|
||||||
"deletePermanent": "Supprimer définitivement"
|
"deletePermanent": "Supprimer définitivement"
|
||||||
},
|
},
|
||||||
@ -68,8 +68,8 @@
|
|||||||
"help": "Aide et Support",
|
"help": "Aide et Support",
|
||||||
"debug": {
|
"debug": {
|
||||||
"name": "Informations de Débogage",
|
"name": "Informations de Débogage",
|
||||||
"success": "Informations de débogage copiées dans le presse-papiers!",
|
"success": "Informations de Débogage copiées dans le presse-papiers!",
|
||||||
"fail": "Impossible de copier informations de débogage dans le presse-papiers"
|
"fail": "Impossible de copier les informations de Débogage dans le presse-papiers"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"menuAppHeader": {
|
"menuAppHeader": {
|
||||||
@ -84,34 +84,34 @@
|
|||||||
"italic": "Italique",
|
"italic": "Italique",
|
||||||
"underline": "Souligner",
|
"underline": "Souligner",
|
||||||
"strike": "Barré",
|
"strike": "Barré",
|
||||||
"numList": "Liste Numérotée",
|
"numList": "Liste numérotée",
|
||||||
"bulletList": "Liste à Puces",
|
"bulletList": "Liste à puces",
|
||||||
"checkList": "Liste de Contrôle",
|
"checkList": "To-Do List",
|
||||||
"inlineCode": "Code en Ligne",
|
"inlineCode": "Code",
|
||||||
"quote": "Bloc Citation",
|
"quote": "Bloc de citation",
|
||||||
"header": "En-tête",
|
"header": "En-tête",
|
||||||
"highlight": "Surligner"
|
"highlight": "Surligner"
|
||||||
},
|
},
|
||||||
"tooltip": {
|
"tooltip": {
|
||||||
"lightMode": "Passer en Mode Clair",
|
"lightMode": "Passer en mode clair",
|
||||||
"darkMode": "Passer en Mode Sombre"
|
"darkMode": "Passer en mode sombre"
|
||||||
},
|
},
|
||||||
"contactsPage": {
|
"contactsPage": {
|
||||||
"title": "Contacts",
|
"title": "Contacts",
|
||||||
"whatsHappening": "Que se passe-t-il cette semaine?",
|
"whatsHappening": "Que se passe-t-il cette semaine ?",
|
||||||
"addContact": "Ajouter un contact",
|
"addContact": "Ajouter un contact",
|
||||||
"editContact": "Modifier le contact"
|
"editContact": "Modifier le contact"
|
||||||
},
|
},
|
||||||
"button": {
|
"button": {
|
||||||
"OK": "OK",
|
"OK": "OK",
|
||||||
"Cancel": "Annuler",
|
"Cancel": "Annuler",
|
||||||
"signIn": "Se Connecter",
|
"signIn": "Se connecter",
|
||||||
"signOut": "Se Déconnecter",
|
"signOut": "Se déconnecter",
|
||||||
"complete": "Complêt",
|
"complete": "Achevé",
|
||||||
"save": "Enregistrer"
|
"save": "Enregistrer"
|
||||||
},
|
},
|
||||||
"label": {
|
"label": {
|
||||||
"welcome": "Bienvenue!",
|
"welcome": "Bienvenue !",
|
||||||
"firstName": "Prénom",
|
"firstName": "Prénom",
|
||||||
"middleName": "Deuxième prénom",
|
"middleName": "Deuxième prénom",
|
||||||
"lastName": "Nom",
|
"lastName": "Nom",
|
||||||
@ -135,11 +135,11 @@
|
|||||||
"menu": {
|
"menu": {
|
||||||
"appearance": "Apparence",
|
"appearance": "Apparence",
|
||||||
"language": "Langue",
|
"language": "Langue",
|
||||||
"open": "Ouvrir les Paramètres"
|
"open": "Ouvrir les paramètres"
|
||||||
},
|
},
|
||||||
"appearance": {
|
"appearance": {
|
||||||
"lightLabel": "Mode Clair",
|
"lightLabel": "Mode clair",
|
||||||
"darkLabel": "Mode Sombre"
|
"darkLabel": "Mode sombre"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
145
frontend/app_flowy/assets/translations/hu-HU.json
Normal file
145
frontend/app_flowy/assets/translations/hu-HU.json
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
{
|
||||||
|
"appName": "AppFlowy",
|
||||||
|
"defaultUsername": "Én",
|
||||||
|
"welcomeText": "Üdvözöl az @:appName",
|
||||||
|
"githubStarText": "GitHub csillagozás",
|
||||||
|
"subscribeNewsletterText": "Iratkozz fel a hírlevelünkre",
|
||||||
|
"letsGoButtonText": "Vágjunk bele",
|
||||||
|
"title": "Cím",
|
||||||
|
"signUp": {
|
||||||
|
"buttonText": "Regisztráció",
|
||||||
|
"title": "Regisztrálj az @:appName -ra",
|
||||||
|
"getStartedText": "Kezdés",
|
||||||
|
"emptyPasswordError": "A jelszó nem lehet üres",
|
||||||
|
"repeatPasswordEmptyError": "A jelszó megerősítése nem lehet üres",
|
||||||
|
"unmatchedPasswordError": "A jelszavak nem egyeznek",
|
||||||
|
"alreadyHaveAnAccount": "Rendelkezel már fiókkal?",
|
||||||
|
"emailHint": "Email",
|
||||||
|
"passwordHint": "Jelszó",
|
||||||
|
"repeatPasswordHint": "Jelszó megerősítése"
|
||||||
|
},
|
||||||
|
"signIn": {
|
||||||
|
"loginTitle": "Bejelentkezés az @:appName -ba",
|
||||||
|
"loginButtonText": "Belépés",
|
||||||
|
"buttonText": "Bejelentkezés",
|
||||||
|
"forgotPassword": "Elfelejtett jelszó?",
|
||||||
|
"emailHint": "Email",
|
||||||
|
"passwordHint": "Jelszó",
|
||||||
|
"dontHaveAnAccount": "Még nincs fiókod?",
|
||||||
|
"repeatPasswordEmptyError": "A jelszó megerősítése nem lehet üres",
|
||||||
|
"unmatchedPasswordError": "A jelszavak nem egyeznek"
|
||||||
|
},
|
||||||
|
"workspace": {
|
||||||
|
"create": "Új munkaterület létrehozása",
|
||||||
|
"hint": "munkaterület",
|
||||||
|
"notFoundError": "munkaterület nem található"
|
||||||
|
},
|
||||||
|
"shareAction": {
|
||||||
|
"buttonText": "Megosztás",
|
||||||
|
"workInProgress": "Hamarosan érkezik...",
|
||||||
|
"markdown": "Markdown",
|
||||||
|
"copyLink": "Link másolása"
|
||||||
|
},
|
||||||
|
"disclosureAction": {
|
||||||
|
"rename": "Átnevezés",
|
||||||
|
"delete": "Törlés",
|
||||||
|
"duplicate": "Duplikálás"
|
||||||
|
},
|
||||||
|
"blankPageTitle": "Üres oldal",
|
||||||
|
"newPageText": "Új oldal",
|
||||||
|
"trash": {
|
||||||
|
"text": "Kuka",
|
||||||
|
"restoreAll": "Összes visszaállítása",
|
||||||
|
"deleteAll": "Összes törlése",
|
||||||
|
"pageHeader": {
|
||||||
|
"fileName": "Fájlnév",
|
||||||
|
"lastModified": "Utoljára módosítva",
|
||||||
|
"created": "Létrehozva"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"deletePagePrompt": {
|
||||||
|
"text": "Ez az oldal a kukában van",
|
||||||
|
"restore": "Oldal visszaállítása",
|
||||||
|
"deletePermanent": "Végleges törlés"
|
||||||
|
},
|
||||||
|
"dialogCreatePageNameHint": "Oldalnév",
|
||||||
|
"questionBubble": {
|
||||||
|
"whatsNew": "Újdonságok",
|
||||||
|
"help": "Segítség & Támogatás",
|
||||||
|
"debug": {
|
||||||
|
"name": "Debug Információ",
|
||||||
|
"success": "Debug információ a vágólapra másolva",
|
||||||
|
"fail": "A Debug információ nem másolható a vágólapra"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"menuAppHeader": {
|
||||||
|
"addPageTooltip": "Belső oldal hozzáadása",
|
||||||
|
"defaultNewPageName": "Névtelen",
|
||||||
|
"renameDialog": "Átnevezés"
|
||||||
|
},
|
||||||
|
"toolbar": {
|
||||||
|
"undo": "Vissza",
|
||||||
|
"redo": "Előre",
|
||||||
|
"bold": "Félkövér",
|
||||||
|
"italic": "Dőlt",
|
||||||
|
"underline": "Aláhúzott",
|
||||||
|
"strike": "Áthúzott",
|
||||||
|
"numList": "Számozott lista",
|
||||||
|
"bulletList": "Felsorolás",
|
||||||
|
"checkList": "Ellenőrző lista",
|
||||||
|
"inlineCode": "Inline kód",
|
||||||
|
"quote": "Idézet",
|
||||||
|
"header": "Címsor",
|
||||||
|
"highlight": "Kiemelés"
|
||||||
|
},
|
||||||
|
"tooltip": {
|
||||||
|
"lightMode": "Világos mód",
|
||||||
|
"darkMode": "Éjjeli mód"
|
||||||
|
},
|
||||||
|
"contactsPage": {
|
||||||
|
"title": "Kontaktok",
|
||||||
|
"whatsHappening": "Heti újdonságok",
|
||||||
|
"addContact": "Új Kontakt",
|
||||||
|
"editContact": "Kontakt Szerkesztése"
|
||||||
|
},
|
||||||
|
"button": {
|
||||||
|
"OK": "OK",
|
||||||
|
"Cancel": "Mégse",
|
||||||
|
"signIn": "Bejelentkezés",
|
||||||
|
"signOut": "Kijelentkezés",
|
||||||
|
"complete": "Kész",
|
||||||
|
"save": "Mentés"
|
||||||
|
},
|
||||||
|
"label": {
|
||||||
|
"welcome": "Üdvözlünk!",
|
||||||
|
"firstName": "Keresztnév",
|
||||||
|
"middleName": "Középső név",
|
||||||
|
"lastName": "Vezetéknév",
|
||||||
|
"stepX": "{X}. lépés"
|
||||||
|
},
|
||||||
|
"oAuth": {
|
||||||
|
"err": {
|
||||||
|
"failedTitle": "Sikertelen bejelentkezés.",
|
||||||
|
"failedMsg": "Kérjük győződj meg róla, hogy elvégezted a bejelentkezési folyamatot a böngésződben"
|
||||||
|
},
|
||||||
|
"google": {
|
||||||
|
"title": "Bejelentkezés Google-al",
|
||||||
|
"instruction1": "Ahhoz, hogy hozzáférj a Google Kontaktjaidhoz, kérjük hatalmazd fel ezt az alkalmazást a böngésződben.",
|
||||||
|
"instruction2": "Másold ezt a kódot a vágólapra az ikonra kattintással vagy a szöveg kijelölésével:",
|
||||||
|
"instruction3": "Nyisd meg ezt a linket a böngésződben, és írjd be a fenti kódot:",
|
||||||
|
"instruction4": "Nyomd meg az alábbi gombot, ha elvégezted a registrációt:"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"title": "Beállítások",
|
||||||
|
"menu": {
|
||||||
|
"appearance": "Megjelenés",
|
||||||
|
"language": "Nyelv",
|
||||||
|
"open": "Beállítások megnyitása"
|
||||||
|
},
|
||||||
|
"appearance": {
|
||||||
|
"lightLabel": "Világos mód",
|
||||||
|
"darkLabel": "Éjjeli mód"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
146
frontend/app_flowy/assets/translations/pt-BR.json
Normal file
146
frontend/app_flowy/assets/translations/pt-BR.json
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
{
|
||||||
|
"appName": "AppFlowy",
|
||||||
|
"defaultUsername": "Me",
|
||||||
|
"welcomeText": "Bem vindo @:appName",
|
||||||
|
"githubStarText": "Star on GitHub",
|
||||||
|
"subscribeNewsletterText": "Se inscreva na Newsletter",
|
||||||
|
"letsGoButtonText": "Vamos lá",
|
||||||
|
"title": "Título",
|
||||||
|
"signUp": {
|
||||||
|
"buttonText": "Inscreve-se",
|
||||||
|
"title": "Inscrever-se @:appName",
|
||||||
|
"getStartedText": "Começar",
|
||||||
|
"emptyPasswordError": "Senha não pode ser em branco.",
|
||||||
|
"repeatPasswordEmptyError": "Confirmar a senha não pode ser em branco.",
|
||||||
|
"unmatchedPasswordError": "As senhas não conferem.",
|
||||||
|
"alreadyHaveAnAccount": "Já possui uma conta?",
|
||||||
|
"emailHint": "Email",
|
||||||
|
"passwordHint": "Senha",
|
||||||
|
"repeatPasswordHint": "Confirme a senha"
|
||||||
|
},
|
||||||
|
"signIn": {
|
||||||
|
"loginTitle": "Login to @:appName",
|
||||||
|
"loginButtonText": "Login",
|
||||||
|
"buttonText": "Entre",
|
||||||
|
"forgotPassword": "Esqueceu a senha?",
|
||||||
|
"emailHint": "Email",
|
||||||
|
"passwordHint": "Senha",
|
||||||
|
"dontHaveAnAccount": "Não possui uma conta?",
|
||||||
|
"repeatPasswordEmptyError": "Confirmar a senha não pode ser em branco.",
|
||||||
|
"unmatchedPasswordError": "As senhas não conferem."
|
||||||
|
},
|
||||||
|
"workspace": {
|
||||||
|
"create": "Crie uma área de trabalho",
|
||||||
|
"hint": "área de trabalho",
|
||||||
|
"notFoundError": "Área de trabalho não encontrada"
|
||||||
|
},
|
||||||
|
"shareAction": {
|
||||||
|
"buttonText": "Compartilhar",
|
||||||
|
"workInProgress": "Em breve",
|
||||||
|
"markdown": "Markdown",
|
||||||
|
"copyLink": "Copiar o link"
|
||||||
|
},
|
||||||
|
"disclosureAction": {
|
||||||
|
"rename": "Renomear",
|
||||||
|
"delete": "Deletar",
|
||||||
|
"duplicate": "Duplicar"
|
||||||
|
},
|
||||||
|
"blankPageTitle": "Página em branco",
|
||||||
|
"newPageText": "Nova página",
|
||||||
|
"trash": {
|
||||||
|
"text": "Lixeira",
|
||||||
|
"restoreAll": "Restaurar todos",
|
||||||
|
"deleteAll": "Deletar todos",
|
||||||
|
"pageHeader": {
|
||||||
|
"fileName": "Nome do arquivo",
|
||||||
|
"lastModified": "Última modificação",
|
||||||
|
"created": "Criado"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"deletePagePrompt": {
|
||||||
|
"text": "Está página está na lixeira",
|
||||||
|
"restore": "Restaurar a oágina",
|
||||||
|
"deletePermanent": "Deletar permanentemente"
|
||||||
|
},
|
||||||
|
"dialogCreatePageNameHint": "Nome da página",
|
||||||
|
"questionBubble": {
|
||||||
|
"whatsNew": "O que há de novo?",
|
||||||
|
"help": "Ajuda & Suporte",
|
||||||
|
"debug": {
|
||||||
|
"name": "Informação de debug",
|
||||||
|
"success": "Copiar informação de debug para o clipboard!",
|
||||||
|
"fail": "Falha em copiar a informação de debug para o clipboard"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"menuAppHeader": {
|
||||||
|
"addPageTooltip": "Adicione uma nova página.",
|
||||||
|
"defaultNewPageName": "Sem título",
|
||||||
|
"renameDialog": "Renomear"
|
||||||
|
},
|
||||||
|
"toolbar": {
|
||||||
|
"undo": "Desfazer",
|
||||||
|
"redo": "Refazer",
|
||||||
|
"bold": "Negrito",
|
||||||
|
"italic": "Itálico",
|
||||||
|
"underline": "Sublinhado",
|
||||||
|
"strike": "Tachado",
|
||||||
|
"numList": "Lista numerada",
|
||||||
|
"bulletList": "Lista com marcadores",
|
||||||
|
"checkList": "Check List",
|
||||||
|
"inlineCode": "Embutir código",
|
||||||
|
"quote": "Citação em bloco",
|
||||||
|
"header": "Cabeçalho",
|
||||||
|
"highlight": "Realçar"
|
||||||
|
},
|
||||||
|
"tooltip": {
|
||||||
|
"lightMode": "Mudar para o modo Claro.",
|
||||||
|
"darkMode": "Mudar para o modo Escuro."
|
||||||
|
},
|
||||||
|
"contactsPage": {
|
||||||
|
"title": "Contatos",
|
||||||
|
"whatsHappening": "O que está acontecendo essa semana?",
|
||||||
|
"addContact": "Adicionar um contato",
|
||||||
|
"editContact": "Editar um contato"
|
||||||
|
},
|
||||||
|
"button": {
|
||||||
|
"OK": "OK",
|
||||||
|
"Cancel": "Canelar",
|
||||||
|
"signIn": "Entrar",
|
||||||
|
"signOut": "Sair",
|
||||||
|
"complete": "Completar",
|
||||||
|
"save": "Salvar"
|
||||||
|
},
|
||||||
|
"label": {
|
||||||
|
"welcome": "Bem vindo!",
|
||||||
|
"firstName": "Primeiro Nome",
|
||||||
|
"middleName": "Nome do Meio",
|
||||||
|
"lastName": "Último Nome",
|
||||||
|
"stepX": "Passo {X}"
|
||||||
|
},
|
||||||
|
"oAuth": {
|
||||||
|
"err": {
|
||||||
|
"failedTitle": "Erro ao conectar a sua conta.",
|
||||||
|
"failedMsg": "Verifique se você concluiu o processo de login em seu navegador."
|
||||||
|
},
|
||||||
|
"google": {
|
||||||
|
"title": "GOOGLE SIGN-IN",
|
||||||
|
"instruction1": "Para importar seus Contatos do Google, você precisará autorizar este aplicativo usando seu navegador web.",
|
||||||
|
"instruction2": "Copie este código para sua área de transferência clicando no ícone ou selecionando o texto:",
|
||||||
|
"instruction3": "Navegue até o link a seguir em seu navegador e digite o código acima:",
|
||||||
|
"instruction4": "Pressione o botão abaixo ao concluir a inscrição:"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"title": "Configurações",
|
||||||
|
"menu": {
|
||||||
|
"appearance": "Aparência",
|
||||||
|
"language": "Idioma",
|
||||||
|
"open": "Abrir as Configurações"
|
||||||
|
},
|
||||||
|
"appearance": {
|
||||||
|
"lightLabel": "Modo Claro",
|
||||||
|
"darkLabel": "Modo Escuro"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -29,11 +29,15 @@ class InitAppWidgetTask extends LaunchTask {
|
|||||||
EasyLocalization(
|
EasyLocalization(
|
||||||
supportedLocales: const [
|
supportedLocales: const [
|
||||||
// In alphabetical order
|
// In alphabetical order
|
||||||
|
Locale('ca', 'ES'),
|
||||||
|
Locale('de', 'DE'),
|
||||||
Locale('en'),
|
Locale('en'),
|
||||||
Locale('es', 'VE'),
|
Locale('es', 'VE'),
|
||||||
Locale('fr'),
|
Locale('fr', 'FR'),
|
||||||
Locale('fr', 'CA'),
|
Locale('fr', 'CA'),
|
||||||
|
Locale('hu', 'HU'),
|
||||||
Locale('it', 'IT'),
|
Locale('it', 'IT'),
|
||||||
|
Locale('pt', 'BR'),
|
||||||
Locale('ru', 'RU'),
|
Locale('ru', 'RU'),
|
||||||
Locale('zh', 'CN'),
|
Locale('zh', 'CN'),
|
||||||
],
|
],
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,890 +0,0 @@
|
|||||||
// coverage:ignore-file
|
|
||||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
|
||||||
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target
|
|
||||||
|
|
||||||
part of 'welcome_bloc.dart';
|
|
||||||
|
|
||||||
// **************************************************************************
|
|
||||||
// FreezedGenerator
|
|
||||||
// **************************************************************************
|
|
||||||
|
|
||||||
T _$identity<T>(T value) => value;
|
|
||||||
|
|
||||||
final _privateConstructorUsedError = UnsupportedError(
|
|
||||||
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more informations: https://github.com/rrousselGit/freezed#custom-getters-and-methods');
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
class _$WelcomeEventTearOff {
|
|
||||||
const _$WelcomeEventTearOff();
|
|
||||||
|
|
||||||
Initial initial() {
|
|
||||||
return const Initial();
|
|
||||||
}
|
|
||||||
|
|
||||||
CreateWorkspace createWorkspace(String name, String desc) {
|
|
||||||
return CreateWorkspace(
|
|
||||||
name,
|
|
||||||
desc,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
OpenWorkspace openWorkspace(Workspace workspace) {
|
|
||||||
return OpenWorkspace(
|
|
||||||
workspace,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
WorkspacesReceived workspacesReveived(
|
|
||||||
Either<List<Workspace>, FlowyError> workspacesOrFail) {
|
|
||||||
return WorkspacesReceived(
|
|
||||||
workspacesOrFail,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
const $WelcomeEvent = _$WelcomeEventTearOff();
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
mixin _$WelcomeEvent {
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult when<TResult extends Object?>({
|
|
||||||
required TResult Function() initial,
|
|
||||||
required TResult Function(String name, String desc) createWorkspace,
|
|
||||||
required TResult Function(Workspace workspace) openWorkspace,
|
|
||||||
required TResult Function(
|
|
||||||
Either<List<Workspace>, FlowyError> workspacesOrFail)
|
|
||||||
workspacesReveived,
|
|
||||||
}) =>
|
|
||||||
throw _privateConstructorUsedError;
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult? whenOrNull<TResult extends Object?>({
|
|
||||||
TResult Function()? initial,
|
|
||||||
TResult Function(String name, String desc)? createWorkspace,
|
|
||||||
TResult Function(Workspace workspace)? openWorkspace,
|
|
||||||
TResult Function(Either<List<Workspace>, FlowyError> workspacesOrFail)?
|
|
||||||
workspacesReveived,
|
|
||||||
}) =>
|
|
||||||
throw _privateConstructorUsedError;
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult maybeWhen<TResult extends Object?>({
|
|
||||||
TResult Function()? initial,
|
|
||||||
TResult Function(String name, String desc)? createWorkspace,
|
|
||||||
TResult Function(Workspace workspace)? openWorkspace,
|
|
||||||
TResult Function(Either<List<Workspace>, FlowyError> workspacesOrFail)?
|
|
||||||
workspacesReveived,
|
|
||||||
required TResult orElse(),
|
|
||||||
}) =>
|
|
||||||
throw _privateConstructorUsedError;
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult map<TResult extends Object?>({
|
|
||||||
required TResult Function(Initial value) initial,
|
|
||||||
required TResult Function(CreateWorkspace value) createWorkspace,
|
|
||||||
required TResult Function(OpenWorkspace value) openWorkspace,
|
|
||||||
required TResult Function(WorkspacesReceived value) workspacesReveived,
|
|
||||||
}) =>
|
|
||||||
throw _privateConstructorUsedError;
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult? mapOrNull<TResult extends Object?>({
|
|
||||||
TResult Function(Initial value)? initial,
|
|
||||||
TResult Function(CreateWorkspace value)? createWorkspace,
|
|
||||||
TResult Function(OpenWorkspace value)? openWorkspace,
|
|
||||||
TResult Function(WorkspacesReceived value)? workspacesReveived,
|
|
||||||
}) =>
|
|
||||||
throw _privateConstructorUsedError;
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult maybeMap<TResult extends Object?>({
|
|
||||||
TResult Function(Initial value)? initial,
|
|
||||||
TResult Function(CreateWorkspace value)? createWorkspace,
|
|
||||||
TResult Function(OpenWorkspace value)? openWorkspace,
|
|
||||||
TResult Function(WorkspacesReceived value)? workspacesReveived,
|
|
||||||
required TResult orElse(),
|
|
||||||
}) =>
|
|
||||||
throw _privateConstructorUsedError;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
abstract class $WelcomeEventCopyWith<$Res> {
|
|
||||||
factory $WelcomeEventCopyWith(
|
|
||||||
WelcomeEvent value, $Res Function(WelcomeEvent) then) =
|
|
||||||
_$WelcomeEventCopyWithImpl<$Res>;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
class _$WelcomeEventCopyWithImpl<$Res> implements $WelcomeEventCopyWith<$Res> {
|
|
||||||
_$WelcomeEventCopyWithImpl(this._value, this._then);
|
|
||||||
|
|
||||||
final WelcomeEvent _value;
|
|
||||||
// ignore: unused_field
|
|
||||||
final $Res Function(WelcomeEvent) _then;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
abstract class $InitialCopyWith<$Res> {
|
|
||||||
factory $InitialCopyWith(Initial value, $Res Function(Initial) then) =
|
|
||||||
_$InitialCopyWithImpl<$Res>;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
class _$InitialCopyWithImpl<$Res> extends _$WelcomeEventCopyWithImpl<$Res>
|
|
||||||
implements $InitialCopyWith<$Res> {
|
|
||||||
_$InitialCopyWithImpl(Initial _value, $Res Function(Initial) _then)
|
|
||||||
: super(_value, (v) => _then(v as Initial));
|
|
||||||
|
|
||||||
@override
|
|
||||||
Initial get _value => super._value as Initial;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
|
|
||||||
class _$Initial implements Initial {
|
|
||||||
const _$Initial();
|
|
||||||
|
|
||||||
@override
|
|
||||||
String toString() {
|
|
||||||
return 'WelcomeEvent.initial()';
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
bool operator ==(dynamic other) {
|
|
||||||
return identical(this, other) || (other is Initial);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
int get hashCode => runtimeType.hashCode;
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult when<TResult extends Object?>({
|
|
||||||
required TResult Function() initial,
|
|
||||||
required TResult Function(String name, String desc) createWorkspace,
|
|
||||||
required TResult Function(Workspace workspace) openWorkspace,
|
|
||||||
required TResult Function(
|
|
||||||
Either<List<Workspace>, FlowyError> workspacesOrFail)
|
|
||||||
workspacesReveived,
|
|
||||||
}) {
|
|
||||||
return initial();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult? whenOrNull<TResult extends Object?>({
|
|
||||||
TResult Function()? initial,
|
|
||||||
TResult Function(String name, String desc)? createWorkspace,
|
|
||||||
TResult Function(Workspace workspace)? openWorkspace,
|
|
||||||
TResult Function(Either<List<Workspace>, FlowyError> workspacesOrFail)?
|
|
||||||
workspacesReveived,
|
|
||||||
}) {
|
|
||||||
return initial?.call();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult maybeWhen<TResult extends Object?>({
|
|
||||||
TResult Function()? initial,
|
|
||||||
TResult Function(String name, String desc)? createWorkspace,
|
|
||||||
TResult Function(Workspace workspace)? openWorkspace,
|
|
||||||
TResult Function(Either<List<Workspace>, FlowyError> workspacesOrFail)?
|
|
||||||
workspacesReveived,
|
|
||||||
required TResult orElse(),
|
|
||||||
}) {
|
|
||||||
if (initial != null) {
|
|
||||||
return initial();
|
|
||||||
}
|
|
||||||
return orElse();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult map<TResult extends Object?>({
|
|
||||||
required TResult Function(Initial value) initial,
|
|
||||||
required TResult Function(CreateWorkspace value) createWorkspace,
|
|
||||||
required TResult Function(OpenWorkspace value) openWorkspace,
|
|
||||||
required TResult Function(WorkspacesReceived value) workspacesReveived,
|
|
||||||
}) {
|
|
||||||
return initial(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult? mapOrNull<TResult extends Object?>({
|
|
||||||
TResult Function(Initial value)? initial,
|
|
||||||
TResult Function(CreateWorkspace value)? createWorkspace,
|
|
||||||
TResult Function(OpenWorkspace value)? openWorkspace,
|
|
||||||
TResult Function(WorkspacesReceived value)? workspacesReveived,
|
|
||||||
}) {
|
|
||||||
return initial?.call(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult maybeMap<TResult extends Object?>({
|
|
||||||
TResult Function(Initial value)? initial,
|
|
||||||
TResult Function(CreateWorkspace value)? createWorkspace,
|
|
||||||
TResult Function(OpenWorkspace value)? openWorkspace,
|
|
||||||
TResult Function(WorkspacesReceived value)? workspacesReveived,
|
|
||||||
required TResult orElse(),
|
|
||||||
}) {
|
|
||||||
if (initial != null) {
|
|
||||||
return initial(this);
|
|
||||||
}
|
|
||||||
return orElse();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
abstract class Initial implements WelcomeEvent {
|
|
||||||
const factory Initial() = _$Initial;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
abstract class $CreateWorkspaceCopyWith<$Res> {
|
|
||||||
factory $CreateWorkspaceCopyWith(
|
|
||||||
CreateWorkspace value, $Res Function(CreateWorkspace) then) =
|
|
||||||
_$CreateWorkspaceCopyWithImpl<$Res>;
|
|
||||||
$Res call({String name, String desc});
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
class _$CreateWorkspaceCopyWithImpl<$Res>
|
|
||||||
extends _$WelcomeEventCopyWithImpl<$Res>
|
|
||||||
implements $CreateWorkspaceCopyWith<$Res> {
|
|
||||||
_$CreateWorkspaceCopyWithImpl(
|
|
||||||
CreateWorkspace _value, $Res Function(CreateWorkspace) _then)
|
|
||||||
: super(_value, (v) => _then(v as CreateWorkspace));
|
|
||||||
|
|
||||||
@override
|
|
||||||
CreateWorkspace get _value => super._value as CreateWorkspace;
|
|
||||||
|
|
||||||
@override
|
|
||||||
$Res call({
|
|
||||||
Object? name = freezed,
|
|
||||||
Object? desc = freezed,
|
|
||||||
}) {
|
|
||||||
return _then(CreateWorkspace(
|
|
||||||
name == freezed
|
|
||||||
? _value.name
|
|
||||||
: name // ignore: cast_nullable_to_non_nullable
|
|
||||||
as String,
|
|
||||||
desc == freezed
|
|
||||||
? _value.desc
|
|
||||||
: desc // ignore: cast_nullable_to_non_nullable
|
|
||||||
as String,
|
|
||||||
));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
|
|
||||||
class _$CreateWorkspace implements CreateWorkspace {
|
|
||||||
const _$CreateWorkspace(this.name, this.desc);
|
|
||||||
|
|
||||||
@override
|
|
||||||
final String name;
|
|
||||||
@override
|
|
||||||
final String desc;
|
|
||||||
|
|
||||||
@override
|
|
||||||
String toString() {
|
|
||||||
return 'WelcomeEvent.createWorkspace(name: $name, desc: $desc)';
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
bool operator ==(dynamic other) {
|
|
||||||
return identical(this, other) ||
|
|
||||||
(other is CreateWorkspace &&
|
|
||||||
(identical(other.name, name) ||
|
|
||||||
const DeepCollectionEquality().equals(other.name, name)) &&
|
|
||||||
(identical(other.desc, desc) ||
|
|
||||||
const DeepCollectionEquality().equals(other.desc, desc)));
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
int get hashCode =>
|
|
||||||
runtimeType.hashCode ^
|
|
||||||
const DeepCollectionEquality().hash(name) ^
|
|
||||||
const DeepCollectionEquality().hash(desc);
|
|
||||||
|
|
||||||
@JsonKey(ignore: true)
|
|
||||||
@override
|
|
||||||
$CreateWorkspaceCopyWith<CreateWorkspace> get copyWith =>
|
|
||||||
_$CreateWorkspaceCopyWithImpl<CreateWorkspace>(this, _$identity);
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult when<TResult extends Object?>({
|
|
||||||
required TResult Function() initial,
|
|
||||||
required TResult Function(String name, String desc) createWorkspace,
|
|
||||||
required TResult Function(Workspace workspace) openWorkspace,
|
|
||||||
required TResult Function(
|
|
||||||
Either<List<Workspace>, FlowyError> workspacesOrFail)
|
|
||||||
workspacesReveived,
|
|
||||||
}) {
|
|
||||||
return createWorkspace(name, desc);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult? whenOrNull<TResult extends Object?>({
|
|
||||||
TResult Function()? initial,
|
|
||||||
TResult Function(String name, String desc)? createWorkspace,
|
|
||||||
TResult Function(Workspace workspace)? openWorkspace,
|
|
||||||
TResult Function(Either<List<Workspace>, FlowyError> workspacesOrFail)?
|
|
||||||
workspacesReveived,
|
|
||||||
}) {
|
|
||||||
return createWorkspace?.call(name, desc);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult maybeWhen<TResult extends Object?>({
|
|
||||||
TResult Function()? initial,
|
|
||||||
TResult Function(String name, String desc)? createWorkspace,
|
|
||||||
TResult Function(Workspace workspace)? openWorkspace,
|
|
||||||
TResult Function(Either<List<Workspace>, FlowyError> workspacesOrFail)?
|
|
||||||
workspacesReveived,
|
|
||||||
required TResult orElse(),
|
|
||||||
}) {
|
|
||||||
if (createWorkspace != null) {
|
|
||||||
return createWorkspace(name, desc);
|
|
||||||
}
|
|
||||||
return orElse();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult map<TResult extends Object?>({
|
|
||||||
required TResult Function(Initial value) initial,
|
|
||||||
required TResult Function(CreateWorkspace value) createWorkspace,
|
|
||||||
required TResult Function(OpenWorkspace value) openWorkspace,
|
|
||||||
required TResult Function(WorkspacesReceived value) workspacesReveived,
|
|
||||||
}) {
|
|
||||||
return createWorkspace(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult? mapOrNull<TResult extends Object?>({
|
|
||||||
TResult Function(Initial value)? initial,
|
|
||||||
TResult Function(CreateWorkspace value)? createWorkspace,
|
|
||||||
TResult Function(OpenWorkspace value)? openWorkspace,
|
|
||||||
TResult Function(WorkspacesReceived value)? workspacesReveived,
|
|
||||||
}) {
|
|
||||||
return createWorkspace?.call(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult maybeMap<TResult extends Object?>({
|
|
||||||
TResult Function(Initial value)? initial,
|
|
||||||
TResult Function(CreateWorkspace value)? createWorkspace,
|
|
||||||
TResult Function(OpenWorkspace value)? openWorkspace,
|
|
||||||
TResult Function(WorkspacesReceived value)? workspacesReveived,
|
|
||||||
required TResult orElse(),
|
|
||||||
}) {
|
|
||||||
if (createWorkspace != null) {
|
|
||||||
return createWorkspace(this);
|
|
||||||
}
|
|
||||||
return orElse();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
abstract class CreateWorkspace implements WelcomeEvent {
|
|
||||||
const factory CreateWorkspace(String name, String desc) = _$CreateWorkspace;
|
|
||||||
|
|
||||||
String get name => throw _privateConstructorUsedError;
|
|
||||||
String get desc => throw _privateConstructorUsedError;
|
|
||||||
@JsonKey(ignore: true)
|
|
||||||
$CreateWorkspaceCopyWith<CreateWorkspace> get copyWith =>
|
|
||||||
throw _privateConstructorUsedError;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
abstract class $OpenWorkspaceCopyWith<$Res> {
|
|
||||||
factory $OpenWorkspaceCopyWith(
|
|
||||||
OpenWorkspace value, $Res Function(OpenWorkspace) then) =
|
|
||||||
_$OpenWorkspaceCopyWithImpl<$Res>;
|
|
||||||
$Res call({Workspace workspace});
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
class _$OpenWorkspaceCopyWithImpl<$Res> extends _$WelcomeEventCopyWithImpl<$Res>
|
|
||||||
implements $OpenWorkspaceCopyWith<$Res> {
|
|
||||||
_$OpenWorkspaceCopyWithImpl(
|
|
||||||
OpenWorkspace _value, $Res Function(OpenWorkspace) _then)
|
|
||||||
: super(_value, (v) => _then(v as OpenWorkspace));
|
|
||||||
|
|
||||||
@override
|
|
||||||
OpenWorkspace get _value => super._value as OpenWorkspace;
|
|
||||||
|
|
||||||
@override
|
|
||||||
$Res call({
|
|
||||||
Object? workspace = freezed,
|
|
||||||
}) {
|
|
||||||
return _then(OpenWorkspace(
|
|
||||||
workspace == freezed
|
|
||||||
? _value.workspace
|
|
||||||
: workspace // ignore: cast_nullable_to_non_nullable
|
|
||||||
as Workspace,
|
|
||||||
));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
|
|
||||||
class _$OpenWorkspace implements OpenWorkspace {
|
|
||||||
const _$OpenWorkspace(this.workspace);
|
|
||||||
|
|
||||||
@override
|
|
||||||
final Workspace workspace;
|
|
||||||
|
|
||||||
@override
|
|
||||||
String toString() {
|
|
||||||
return 'WelcomeEvent.openWorkspace(workspace: $workspace)';
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
bool operator ==(dynamic other) {
|
|
||||||
return identical(this, other) ||
|
|
||||||
(other is OpenWorkspace &&
|
|
||||||
(identical(other.workspace, workspace) ||
|
|
||||||
const DeepCollectionEquality()
|
|
||||||
.equals(other.workspace, workspace)));
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
int get hashCode =>
|
|
||||||
runtimeType.hashCode ^ const DeepCollectionEquality().hash(workspace);
|
|
||||||
|
|
||||||
@JsonKey(ignore: true)
|
|
||||||
@override
|
|
||||||
$OpenWorkspaceCopyWith<OpenWorkspace> get copyWith =>
|
|
||||||
_$OpenWorkspaceCopyWithImpl<OpenWorkspace>(this, _$identity);
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult when<TResult extends Object?>({
|
|
||||||
required TResult Function() initial,
|
|
||||||
required TResult Function(String name, String desc) createWorkspace,
|
|
||||||
required TResult Function(Workspace workspace) openWorkspace,
|
|
||||||
required TResult Function(
|
|
||||||
Either<List<Workspace>, FlowyError> workspacesOrFail)
|
|
||||||
workspacesReveived,
|
|
||||||
}) {
|
|
||||||
return openWorkspace(workspace);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult? whenOrNull<TResult extends Object?>({
|
|
||||||
TResult Function()? initial,
|
|
||||||
TResult Function(String name, String desc)? createWorkspace,
|
|
||||||
TResult Function(Workspace workspace)? openWorkspace,
|
|
||||||
TResult Function(Either<List<Workspace>, FlowyError> workspacesOrFail)?
|
|
||||||
workspacesReveived,
|
|
||||||
}) {
|
|
||||||
return openWorkspace?.call(workspace);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult maybeWhen<TResult extends Object?>({
|
|
||||||
TResult Function()? initial,
|
|
||||||
TResult Function(String name, String desc)? createWorkspace,
|
|
||||||
TResult Function(Workspace workspace)? openWorkspace,
|
|
||||||
TResult Function(Either<List<Workspace>, FlowyError> workspacesOrFail)?
|
|
||||||
workspacesReveived,
|
|
||||||
required TResult orElse(),
|
|
||||||
}) {
|
|
||||||
if (openWorkspace != null) {
|
|
||||||
return openWorkspace(workspace);
|
|
||||||
}
|
|
||||||
return orElse();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult map<TResult extends Object?>({
|
|
||||||
required TResult Function(Initial value) initial,
|
|
||||||
required TResult Function(CreateWorkspace value) createWorkspace,
|
|
||||||
required TResult Function(OpenWorkspace value) openWorkspace,
|
|
||||||
required TResult Function(WorkspacesReceived value) workspacesReveived,
|
|
||||||
}) {
|
|
||||||
return openWorkspace(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult? mapOrNull<TResult extends Object?>({
|
|
||||||
TResult Function(Initial value)? initial,
|
|
||||||
TResult Function(CreateWorkspace value)? createWorkspace,
|
|
||||||
TResult Function(OpenWorkspace value)? openWorkspace,
|
|
||||||
TResult Function(WorkspacesReceived value)? workspacesReveived,
|
|
||||||
}) {
|
|
||||||
return openWorkspace?.call(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult maybeMap<TResult extends Object?>({
|
|
||||||
TResult Function(Initial value)? initial,
|
|
||||||
TResult Function(CreateWorkspace value)? createWorkspace,
|
|
||||||
TResult Function(OpenWorkspace value)? openWorkspace,
|
|
||||||
TResult Function(WorkspacesReceived value)? workspacesReveived,
|
|
||||||
required TResult orElse(),
|
|
||||||
}) {
|
|
||||||
if (openWorkspace != null) {
|
|
||||||
return openWorkspace(this);
|
|
||||||
}
|
|
||||||
return orElse();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
abstract class OpenWorkspace implements WelcomeEvent {
|
|
||||||
const factory OpenWorkspace(Workspace workspace) = _$OpenWorkspace;
|
|
||||||
|
|
||||||
Workspace get workspace => throw _privateConstructorUsedError;
|
|
||||||
@JsonKey(ignore: true)
|
|
||||||
$OpenWorkspaceCopyWith<OpenWorkspace> get copyWith =>
|
|
||||||
throw _privateConstructorUsedError;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
abstract class $WorkspacesReceivedCopyWith<$Res> {
|
|
||||||
factory $WorkspacesReceivedCopyWith(
|
|
||||||
WorkspacesReceived value, $Res Function(WorkspacesReceived) then) =
|
|
||||||
_$WorkspacesReceivedCopyWithImpl<$Res>;
|
|
||||||
$Res call({Either<List<Workspace>, FlowyError> workspacesOrFail});
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
class _$WorkspacesReceivedCopyWithImpl<$Res>
|
|
||||||
extends _$WelcomeEventCopyWithImpl<$Res>
|
|
||||||
implements $WorkspacesReceivedCopyWith<$Res> {
|
|
||||||
_$WorkspacesReceivedCopyWithImpl(
|
|
||||||
WorkspacesReceived _value, $Res Function(WorkspacesReceived) _then)
|
|
||||||
: super(_value, (v) => _then(v as WorkspacesReceived));
|
|
||||||
|
|
||||||
@override
|
|
||||||
WorkspacesReceived get _value => super._value as WorkspacesReceived;
|
|
||||||
|
|
||||||
@override
|
|
||||||
$Res call({
|
|
||||||
Object? workspacesOrFail = freezed,
|
|
||||||
}) {
|
|
||||||
return _then(WorkspacesReceived(
|
|
||||||
workspacesOrFail == freezed
|
|
||||||
? _value.workspacesOrFail
|
|
||||||
: workspacesOrFail // ignore: cast_nullable_to_non_nullable
|
|
||||||
as Either<List<Workspace>, FlowyError>,
|
|
||||||
));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
|
|
||||||
class _$WorkspacesReceived implements WorkspacesReceived {
|
|
||||||
const _$WorkspacesReceived(this.workspacesOrFail);
|
|
||||||
|
|
||||||
@override
|
|
||||||
final Either<List<Workspace>, FlowyError> workspacesOrFail;
|
|
||||||
|
|
||||||
@override
|
|
||||||
String toString() {
|
|
||||||
return 'WelcomeEvent.workspacesReveived(workspacesOrFail: $workspacesOrFail)';
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
bool operator ==(dynamic other) {
|
|
||||||
return identical(this, other) ||
|
|
||||||
(other is WorkspacesReceived &&
|
|
||||||
(identical(other.workspacesOrFail, workspacesOrFail) ||
|
|
||||||
const DeepCollectionEquality()
|
|
||||||
.equals(other.workspacesOrFail, workspacesOrFail)));
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
int get hashCode =>
|
|
||||||
runtimeType.hashCode ^
|
|
||||||
const DeepCollectionEquality().hash(workspacesOrFail);
|
|
||||||
|
|
||||||
@JsonKey(ignore: true)
|
|
||||||
@override
|
|
||||||
$WorkspacesReceivedCopyWith<WorkspacesReceived> get copyWith =>
|
|
||||||
_$WorkspacesReceivedCopyWithImpl<WorkspacesReceived>(this, _$identity);
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult when<TResult extends Object?>({
|
|
||||||
required TResult Function() initial,
|
|
||||||
required TResult Function(String name, String desc) createWorkspace,
|
|
||||||
required TResult Function(Workspace workspace) openWorkspace,
|
|
||||||
required TResult Function(
|
|
||||||
Either<List<Workspace>, FlowyError> workspacesOrFail)
|
|
||||||
workspacesReveived,
|
|
||||||
}) {
|
|
||||||
return workspacesReveived(workspacesOrFail);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult? whenOrNull<TResult extends Object?>({
|
|
||||||
TResult Function()? initial,
|
|
||||||
TResult Function(String name, String desc)? createWorkspace,
|
|
||||||
TResult Function(Workspace workspace)? openWorkspace,
|
|
||||||
TResult Function(Either<List<Workspace>, FlowyError> workspacesOrFail)?
|
|
||||||
workspacesReveived,
|
|
||||||
}) {
|
|
||||||
return workspacesReveived?.call(workspacesOrFail);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult maybeWhen<TResult extends Object?>({
|
|
||||||
TResult Function()? initial,
|
|
||||||
TResult Function(String name, String desc)? createWorkspace,
|
|
||||||
TResult Function(Workspace workspace)? openWorkspace,
|
|
||||||
TResult Function(Either<List<Workspace>, FlowyError> workspacesOrFail)?
|
|
||||||
workspacesReveived,
|
|
||||||
required TResult orElse(),
|
|
||||||
}) {
|
|
||||||
if (workspacesReveived != null) {
|
|
||||||
return workspacesReveived(workspacesOrFail);
|
|
||||||
}
|
|
||||||
return orElse();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult map<TResult extends Object?>({
|
|
||||||
required TResult Function(Initial value) initial,
|
|
||||||
required TResult Function(CreateWorkspace value) createWorkspace,
|
|
||||||
required TResult Function(OpenWorkspace value) openWorkspace,
|
|
||||||
required TResult Function(WorkspacesReceived value) workspacesReveived,
|
|
||||||
}) {
|
|
||||||
return workspacesReveived(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult? mapOrNull<TResult extends Object?>({
|
|
||||||
TResult Function(Initial value)? initial,
|
|
||||||
TResult Function(CreateWorkspace value)? createWorkspace,
|
|
||||||
TResult Function(OpenWorkspace value)? openWorkspace,
|
|
||||||
TResult Function(WorkspacesReceived value)? workspacesReveived,
|
|
||||||
}) {
|
|
||||||
return workspacesReveived?.call(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
@optionalTypeArgs
|
|
||||||
TResult maybeMap<TResult extends Object?>({
|
|
||||||
TResult Function(Initial value)? initial,
|
|
||||||
TResult Function(CreateWorkspace value)? createWorkspace,
|
|
||||||
TResult Function(OpenWorkspace value)? openWorkspace,
|
|
||||||
TResult Function(WorkspacesReceived value)? workspacesReveived,
|
|
||||||
required TResult orElse(),
|
|
||||||
}) {
|
|
||||||
if (workspacesReveived != null) {
|
|
||||||
return workspacesReveived(this);
|
|
||||||
}
|
|
||||||
return orElse();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
abstract class WorkspacesReceived implements WelcomeEvent {
|
|
||||||
const factory WorkspacesReceived(
|
|
||||||
Either<List<Workspace>, FlowyError> workspacesOrFail) =
|
|
||||||
_$WorkspacesReceived;
|
|
||||||
|
|
||||||
Either<List<Workspace>, FlowyError> get workspacesOrFail =>
|
|
||||||
throw _privateConstructorUsedError;
|
|
||||||
@JsonKey(ignore: true)
|
|
||||||
$WorkspacesReceivedCopyWith<WorkspacesReceived> get copyWith =>
|
|
||||||
throw _privateConstructorUsedError;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
class _$WelcomeStateTearOff {
|
|
||||||
const _$WelcomeStateTearOff();
|
|
||||||
|
|
||||||
_WelcomeState call(
|
|
||||||
{required bool isLoading,
|
|
||||||
required List<Workspace> workspaces,
|
|
||||||
required Either<Unit, FlowyError> successOrFailure}) {
|
|
||||||
return _WelcomeState(
|
|
||||||
isLoading: isLoading,
|
|
||||||
workspaces: workspaces,
|
|
||||||
successOrFailure: successOrFailure,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
const $WelcomeState = _$WelcomeStateTearOff();
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
mixin _$WelcomeState {
|
|
||||||
bool get isLoading => throw _privateConstructorUsedError;
|
|
||||||
List<Workspace> get workspaces => throw _privateConstructorUsedError;
|
|
||||||
Either<Unit, FlowyError> get successOrFailure =>
|
|
||||||
throw _privateConstructorUsedError;
|
|
||||||
|
|
||||||
@JsonKey(ignore: true)
|
|
||||||
$WelcomeStateCopyWith<WelcomeState> get copyWith =>
|
|
||||||
throw _privateConstructorUsedError;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
abstract class $WelcomeStateCopyWith<$Res> {
|
|
||||||
factory $WelcomeStateCopyWith(
|
|
||||||
WelcomeState value, $Res Function(WelcomeState) then) =
|
|
||||||
_$WelcomeStateCopyWithImpl<$Res>;
|
|
||||||
$Res call(
|
|
||||||
{bool isLoading,
|
|
||||||
List<Workspace> workspaces,
|
|
||||||
Either<Unit, FlowyError> successOrFailure});
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
class _$WelcomeStateCopyWithImpl<$Res> implements $WelcomeStateCopyWith<$Res> {
|
|
||||||
_$WelcomeStateCopyWithImpl(this._value, this._then);
|
|
||||||
|
|
||||||
final WelcomeState _value;
|
|
||||||
// ignore: unused_field
|
|
||||||
final $Res Function(WelcomeState) _then;
|
|
||||||
|
|
||||||
@override
|
|
||||||
$Res call({
|
|
||||||
Object? isLoading = freezed,
|
|
||||||
Object? workspaces = freezed,
|
|
||||||
Object? successOrFailure = freezed,
|
|
||||||
}) {
|
|
||||||
return _then(_value.copyWith(
|
|
||||||
isLoading: isLoading == freezed
|
|
||||||
? _value.isLoading
|
|
||||||
: isLoading // ignore: cast_nullable_to_non_nullable
|
|
||||||
as bool,
|
|
||||||
workspaces: workspaces == freezed
|
|
||||||
? _value.workspaces
|
|
||||||
: workspaces // ignore: cast_nullable_to_non_nullable
|
|
||||||
as List<Workspace>,
|
|
||||||
successOrFailure: successOrFailure == freezed
|
|
||||||
? _value.successOrFailure
|
|
||||||
: successOrFailure // ignore: cast_nullable_to_non_nullable
|
|
||||||
as Either<Unit, FlowyError>,
|
|
||||||
));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
abstract class _$WelcomeStateCopyWith<$Res>
|
|
||||||
implements $WelcomeStateCopyWith<$Res> {
|
|
||||||
factory _$WelcomeStateCopyWith(
|
|
||||||
_WelcomeState value, $Res Function(_WelcomeState) then) =
|
|
||||||
__$WelcomeStateCopyWithImpl<$Res>;
|
|
||||||
@override
|
|
||||||
$Res call(
|
|
||||||
{bool isLoading,
|
|
||||||
List<Workspace> workspaces,
|
|
||||||
Either<Unit, FlowyError> successOrFailure});
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
class __$WelcomeStateCopyWithImpl<$Res> extends _$WelcomeStateCopyWithImpl<$Res>
|
|
||||||
implements _$WelcomeStateCopyWith<$Res> {
|
|
||||||
__$WelcomeStateCopyWithImpl(
|
|
||||||
_WelcomeState _value, $Res Function(_WelcomeState) _then)
|
|
||||||
: super(_value, (v) => _then(v as _WelcomeState));
|
|
||||||
|
|
||||||
@override
|
|
||||||
_WelcomeState get _value => super._value as _WelcomeState;
|
|
||||||
|
|
||||||
@override
|
|
||||||
$Res call({
|
|
||||||
Object? isLoading = freezed,
|
|
||||||
Object? workspaces = freezed,
|
|
||||||
Object? successOrFailure = freezed,
|
|
||||||
}) {
|
|
||||||
return _then(_WelcomeState(
|
|
||||||
isLoading: isLoading == freezed
|
|
||||||
? _value.isLoading
|
|
||||||
: isLoading // ignore: cast_nullable_to_non_nullable
|
|
||||||
as bool,
|
|
||||||
workspaces: workspaces == freezed
|
|
||||||
? _value.workspaces
|
|
||||||
: workspaces // ignore: cast_nullable_to_non_nullable
|
|
||||||
as List<Workspace>,
|
|
||||||
successOrFailure: successOrFailure == freezed
|
|
||||||
? _value.successOrFailure
|
|
||||||
: successOrFailure // ignore: cast_nullable_to_non_nullable
|
|
||||||
as Either<Unit, FlowyError>,
|
|
||||||
));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @nodoc
|
|
||||||
|
|
||||||
class _$_WelcomeState implements _WelcomeState {
|
|
||||||
const _$_WelcomeState(
|
|
||||||
{required this.isLoading,
|
|
||||||
required this.workspaces,
|
|
||||||
required this.successOrFailure});
|
|
||||||
|
|
||||||
@override
|
|
||||||
final bool isLoading;
|
|
||||||
@override
|
|
||||||
final List<Workspace> workspaces;
|
|
||||||
@override
|
|
||||||
final Either<Unit, FlowyError> successOrFailure;
|
|
||||||
|
|
||||||
@override
|
|
||||||
String toString() {
|
|
||||||
return 'WelcomeState(isLoading: $isLoading, workspaces: $workspaces, successOrFailure: $successOrFailure)';
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
bool operator ==(dynamic other) {
|
|
||||||
return identical(this, other) ||
|
|
||||||
(other is _WelcomeState &&
|
|
||||||
(identical(other.isLoading, isLoading) ||
|
|
||||||
const DeepCollectionEquality()
|
|
||||||
.equals(other.isLoading, isLoading)) &&
|
|
||||||
(identical(other.workspaces, workspaces) ||
|
|
||||||
const DeepCollectionEquality()
|
|
||||||
.equals(other.workspaces, workspaces)) &&
|
|
||||||
(identical(other.successOrFailure, successOrFailure) ||
|
|
||||||
const DeepCollectionEquality()
|
|
||||||
.equals(other.successOrFailure, successOrFailure)));
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
int get hashCode =>
|
|
||||||
runtimeType.hashCode ^
|
|
||||||
const DeepCollectionEquality().hash(isLoading) ^
|
|
||||||
const DeepCollectionEquality().hash(workspaces) ^
|
|
||||||
const DeepCollectionEquality().hash(successOrFailure);
|
|
||||||
|
|
||||||
@JsonKey(ignore: true)
|
|
||||||
@override
|
|
||||||
_$WelcomeStateCopyWith<_WelcomeState> get copyWith =>
|
|
||||||
__$WelcomeStateCopyWithImpl<_WelcomeState>(this, _$identity);
|
|
||||||
}
|
|
||||||
|
|
||||||
abstract class _WelcomeState implements WelcomeState {
|
|
||||||
const factory _WelcomeState(
|
|
||||||
{required bool isLoading,
|
|
||||||
required List<Workspace> workspaces,
|
|
||||||
required Either<Unit, FlowyError> successOrFailure}) = _$_WelcomeState;
|
|
||||||
|
|
||||||
@override
|
|
||||||
bool get isLoading => throw _privateConstructorUsedError;
|
|
||||||
@override
|
|
||||||
List<Workspace> get workspaces => throw _privateConstructorUsedError;
|
|
||||||
@override
|
|
||||||
Either<Unit, FlowyError> get successOrFailure =>
|
|
||||||
throw _privateConstructorUsedError;
|
|
||||||
@override
|
|
||||||
@JsonKey(ignore: true)
|
|
||||||
_$WelcomeStateCopyWith<_WelcomeState> get copyWith =>
|
|
||||||
throw _privateConstructorUsedError;
|
|
||||||
}
|
|
@ -114,7 +114,7 @@ class _DeltaVisitor implements ast.NodeVisitor {
|
|||||||
// TODO(kolja): Determine which behavior we really want here.
|
// TODO(kolja): Determine which behavior we really want here.
|
||||||
// We can either insert an additional newline or just have the
|
// We can either insert an additional newline or just have the
|
||||||
// paragraphs as single lines. Zefyr will by default render two lines
|
// paragraphs as single lines. Zefyr will by default render two lines
|
||||||
// are different paragraphs so for now we will not add an additonal
|
// are different paragraphs so for now we will not add an additional
|
||||||
// newline here.
|
// newline here.
|
||||||
//
|
//
|
||||||
// if (previousToplevelElement != null &&
|
// if (previousToplevelElement != null &&
|
||||||
|
@ -154,7 +154,7 @@ abstract class InlineSyntax {
|
|||||||
|
|
||||||
/// Tries to match at the parser's current position.
|
/// Tries to match at the parser's current position.
|
||||||
///
|
///
|
||||||
/// The parser's position can be overriden with [startMatchPos].
|
/// The parser's position can be overridden with [startMatchPos].
|
||||||
/// Returns whether or not the pattern successfully matched.
|
/// Returns whether or not the pattern successfully matched.
|
||||||
bool tryMatch(InlineParser parser, [int? startMatchPos]) {
|
bool tryMatch(InlineParser parser, [int? startMatchPos]) {
|
||||||
startMatchPos ??= parser.pos;
|
startMatchPos ??= parser.pos;
|
||||||
@ -609,7 +609,7 @@ class LinkSyntax extends TagSyntax {
|
|||||||
//
|
//
|
||||||
// Once we have parsed `Text [`, there is one (pending) link in the state
|
// Once we have parsed `Text [`, there is one (pending) link in the state
|
||||||
// stack. It is, by default, active. Once we parse the next possible link,
|
// stack. It is, by default, active. Once we parse the next possible link,
|
||||||
// `[more](links)`, as a real link, we must deactive the pending links (just
|
// `[more](links)`, as a real link, we must deactivate the pending links (just
|
||||||
// the one, in this case).
|
// the one, in this case).
|
||||||
var _pendingStatesAreActive = true;
|
var _pendingStatesAreActive = true;
|
||||||
|
|
||||||
@ -933,7 +933,7 @@ class LinkSyntax extends TagSyntax {
|
|||||||
// followed by mystery characters; no longer a link.
|
// followed by mystery characters; no longer a link.
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
// [_parseTitle] made sure the title was follwed by a closing `)`
|
// [_parseTitle] made sure the title was followed by a closing `)`
|
||||||
// (but it's up to the code here to examine the balance of
|
// (but it's up to the code here to examine the balance of
|
||||||
// parentheses).
|
// parentheses).
|
||||||
parenCount--;
|
parenCount--;
|
||||||
|
@ -75,7 +75,7 @@ class HomeMenu extends StatelessWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Widget _renderBody(BuildContext context) {
|
Widget _renderBody(BuildContext context) {
|
||||||
// nested cloumn: https://siddharthmolleti.com/flutter-box-constraints-nested-column-s-row-s-3dfacada7361
|
// nested column: https://siddharthmolleti.com/flutter-box-constraints-nested-column-s-row-s-3dfacada7361
|
||||||
final theme = context.watch<AppTheme>();
|
final theme = context.watch<AppTheme>();
|
||||||
return Container(
|
return Container(
|
||||||
color: theme.bg1,
|
color: theme.bg1,
|
||||||
|
@ -35,7 +35,7 @@ class Config {
|
|||||||
/// Can be smaller due to screen size and amount of columns
|
/// Can be smaller due to screen size and amount of columns
|
||||||
final double emojiSizeMax;
|
final double emojiSizeMax;
|
||||||
|
|
||||||
/// Verical spacing between emojis
|
/// Vertical spacing between emojis
|
||||||
final double verticalSpacing;
|
final double verticalSpacing;
|
||||||
|
|
||||||
/// Horizontal spacing between emojis
|
/// Horizontal spacing between emojis
|
||||||
@ -57,7 +57,7 @@ class Config {
|
|||||||
/// The color of the category icon when selected
|
/// The color of the category icon when selected
|
||||||
final Color iconColorSelected;
|
final Color iconColorSelected;
|
||||||
|
|
||||||
/// The color of the loading indicator during initalization
|
/// The color of the loading indicator during initialization
|
||||||
final Color progressIndicatorColor;
|
final Color progressIndicatorColor;
|
||||||
|
|
||||||
/// The color of the backspace icon button
|
/// The color of the backspace icon button
|
||||||
|
@ -40,7 +40,7 @@ enum Category {
|
|||||||
/// Travel emojis
|
/// Travel emojis
|
||||||
TRAVEL,
|
TRAVEL,
|
||||||
|
|
||||||
/// Ojects emojis
|
/// Objects emojis
|
||||||
OBJECTS,
|
OBJECTS,
|
||||||
|
|
||||||
/// Sumbol emojis
|
/// Sumbol emojis
|
||||||
@ -179,7 +179,7 @@ class _EmojiPickerState extends State<EmojiPicker> {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// Initalize emoji data
|
// Initialize emoji data
|
||||||
Future<void> _updateEmojis() async {
|
Future<void> _updateEmojis() async {
|
||||||
categoryEmoji.clear();
|
categoryEmoji.clear();
|
||||||
if (widget.config.showRecentsTab) {
|
if (widget.config.showRecentsTab) {
|
||||||
|
@ -4,7 +4,7 @@ import 'config.dart';
|
|||||||
import 'emoji_view_state.dart';
|
import 'emoji_view_state.dart';
|
||||||
|
|
||||||
/// Template class for custom implementation
|
/// Template class for custom implementation
|
||||||
/// Inhert this class to create your own EmojiPicker
|
/// Inherit this class to create your own EmojiPicker
|
||||||
abstract class EmojiPickerBuilder extends StatefulWidget {
|
abstract class EmojiPickerBuilder extends StatefulWidget {
|
||||||
/// Constructor
|
/// Constructor
|
||||||
const EmojiPickerBuilder(this.config, this.state, {Key? key}) : super(key: key);
|
const EmojiPickerBuilder(this.config, this.state, {Key? key}) : super(key: key);
|
||||||
|
@ -9,14 +9,27 @@ String languageFromLocale(Locale locale) {
|
|||||||
return "简体中文";
|
return "简体中文";
|
||||||
|
|
||||||
// Then in alphabetical order
|
// Then in alphabetical order
|
||||||
|
case "ca":
|
||||||
|
return "Català";
|
||||||
case "de":
|
case "de":
|
||||||
return "Deutsch";
|
return "Deutsch";
|
||||||
case "es":
|
case "es":
|
||||||
return "Español";
|
return "Español";
|
||||||
case "fr":
|
case "fr":
|
||||||
return "Français";
|
switch (locale.countryCode) {
|
||||||
|
case "CA":
|
||||||
|
return "Français (CA)";
|
||||||
|
case "FR":
|
||||||
|
return "Français (FR)";
|
||||||
|
default:
|
||||||
|
return locale.languageCode;
|
||||||
|
}
|
||||||
|
case "hu":
|
||||||
|
return "Magyar";
|
||||||
case "it":
|
case "it":
|
||||||
return "Italiano";
|
return "Italiano";
|
||||||
|
case "pt":
|
||||||
|
return "Português";
|
||||||
case "ru":
|
case "ru":
|
||||||
return "русский";
|
return "русский";
|
||||||
|
|
||||||
|
@ -18,10 +18,10 @@ abstract class FlowyInfraUIPlatform extends PlatformInterface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Stream<bool> get onKeyboardVisibilityChange {
|
Stream<bool> get onKeyboardVisibilityChange {
|
||||||
throw UnimplementedError('`onKeyboardChange` should be overrided by subclass.');
|
throw UnimplementedError('`onKeyboardChange` should be overridden by subclass.');
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<String?> getPlatformVersion() {
|
Future<String?> getPlatformVersion() {
|
||||||
throw UnimplementedError('`getPlatformVersion` should be overrided by subclass.');
|
throw UnimplementedError('`getPlatformVersion` should be overridden by subclass.');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ enum OverlapBehaviour {
|
|||||||
/// Maintain overlay size, which may cover the anchor widget.
|
/// Maintain overlay size, which may cover the anchor widget.
|
||||||
none,
|
none,
|
||||||
|
|
||||||
/// Resize overlay to avoid overlaping the anchor widget.
|
/// Resize overlay to avoid overlapping the anchor widget.
|
||||||
stretch,
|
stretch,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
// If service worker doesn't succeed in a reasonable amount of time,
|
// If service worker doesn't succeed in a reasonable amount of time,
|
||||||
// fallback to plaint <script> tag.
|
// fallback to plain <script> tag.
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
if (!scriptLoaded) {
|
if (!scriptLoaded) {
|
||||||
console.warn(
|
console.warn(
|
||||||
|
@ -4,11 +4,11 @@
|
|||||||
mod errors;
|
mod errors;
|
||||||
pub use errors::*;
|
pub use errors::*;
|
||||||
|
|
||||||
|
mod user_setting;
|
||||||
|
pub use user_setting::*;
|
||||||
|
|
||||||
mod user_profile;
|
mod user_profile;
|
||||||
pub use user_profile::*;
|
pub use user_profile::*;
|
||||||
|
|
||||||
mod auth;
|
mod auth;
|
||||||
pub use auth::*;
|
pub use auth::*;
|
||||||
|
|
||||||
mod user_setting;
|
|
||||||
pub use user_setting::*;
|
|
||||||
|
Loading…
Reference in New Issue
Block a user