mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2026-03-24 04:46:56 +00:00
[GH-ISSUE #117] [FR] i18n support #59
Labels
No labels
2024
2025
2026
acct mgmt
AI
automation
bug
calendar
ci
CJK
cloud
code-block
collaboration
copy-paste
database
data migration
data sync
deploy
desktop
develop
develop
documentation
duplicate
editor
editor-plugin
emoji
export
files
flutter-only
follow-up
formula
good first issue for devs
good first issue for experienced devs
grid
hacktoberfest
HACKTOBERFEST-ACCEPTED
help wanted
i18n
icons
images
importer
improvements
infra
install
integrations
IR
kanban board
login
look and joy
mentorship
mobile
mobile
needs design
new feature
new feature
non-coding
notes
notifications
onboarding
organization
P0+
permission
platform-linux
platform-mac
platform-windows
plugins
program
pull-request
Q1 25
Q1 26
Q2 24
Q2 25
Q3 24
Q3 25
Q4 24
Q4 25
react
regression
rust
rust
Rust-only
Rust-only
Rust-starter
Rust-starter
self-hosted
shortcuts
side panel
slash-menu
sync v2
table
tablet
task
tauri
templates
tests
themes
translation
v0.5.6
v0.5.8
v0.5.9
v0.6.0
v0.6.1
v0.6.4
v0.6.7
v0.6.8
v0.7.1
v0.7.4
v0.7.4
v0.7.5
v0.7.6
v0.7.7
v0.7.8
v0.8.0
v0.8.4
v0.8.5
v0.8.9
web
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
AppFlowy-IO/AppFlowy#59
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @0xN0x on GitHub (Dec 3, 2021).
Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/117
Originally assigned to: @irfanbacker on GitHub.
Hi there !
As i was reading the code, i saw that the app is not at all made for i18n support. I can understand it's not the priority but by not working at least with a unique english file you will lose some time in the future to migrate every strings used by the app.
The app is still new but already watched by a lot of people. Planning a multi-language support is mandatory if you want to be a good alternative to Notion.
And with the open-source community, the translations can be very quick.
Every users can benefits from this, but mainly people don't having english as their main language. It can also ultimately facilitate (when the project has grown) the management of strings and therefore finding typos.
Also, there's tools like Weblate that can help you and the community to manage the translations files.
It's going to be something quite a long time to catch up (and the more something is delayed, the longer it will take to catch up). But at least, now there is an issue for that and it can be discussed.
@irfanbacker commented on GitHub (Dec 6, 2021):
@annieappflowy I'll take this issue up if no ones working on it
@annieappflowy commented on GitHub (Dec 7, 2021):
Awesome. I’ll tag you on this issue posted on Discord #pr-wanted
Please feel free to reach us if you need help.
@irfanbacker commented on GitHub (Dec 7, 2021):
i18n approach
assets/translations/directoryjsonfiles named in the format<lang_code>-<country_code>.jsonor just<lang_code>.json.eg:
en.json,en-UK.jsonMaterialAppwill be added to provide localizationen-US.jsonfile Other features such as named arguments, gender and plurals etc. are supported and can be implemented refering to the documentation ofeasy_localization.appNamefrom example above:LocaleKeys.appName.tr()or"appName".tr()Imports needed:
'package:easy_localization/easy_localization.dart'and'package:app_flowy/generated/locale_keys.g.dart'(Optional. Needed only ifLocaleKeysclass is used)Steps to add new language support
assets/translations/.flutter pub run easy_localization:generate -S assets/translations/to generate code from thejsonfiles.flutter pub run easy_localization:generate -f keys -o locale_keys.g.dart -S assets/translationsto generateLocaleKeysfor proper keys on dart (This is needed to useLocaleKeys.appName.tr()).Locale('en', 'IN')) insupportedLocaleslist underEasyLocalizationwrapper for flutter to support it.Steps to modify translations
flutter pub run easy_localization:generate -S assets/translations/to generate code from thejsonfiles.flutter pub run easy_localization:generate -f keys -o locale_keys.g.dart -S assets/translationsto generateLocaleKeysfor proper keys on dart (This is needed to useLocaleKeys.appName.tr()).@appflowy Please review this approach and do let me know if any changes are needed.
@appflowy commented on GitHub (Dec 8, 2021):
@irfanbacker easy_localization is really scalable and extensible. It supports all the platforms that we need. LGTM!