Open easazade opened 3 years ago
@easazade Makes sense and sounds like good addition. Feel free to send a PR!
@drager Great, do you have any suggestion on how to approach implementing feature?
I'm thinking something like this for example :
faker.languages.farsi.words(3)
Good question! I think we should first of look at other faker implementations and get ideas from them. Do for example the python/ruby package supports LTR? If they do, perhaps their way is a good starting point. If they don't, then perhaps faker.languages
can be the way forward.
@drager I checked. Python package supports Localization of Data and implemented it using different Data Providers
to provide localized data for each different Locale.
here is what they do :
from faker import Faker
fake = Faker('it_IT')
for _ in range(10):
print(fake.name())
# 'Elda Palumbo'
# 'Pacifico Giordano'
# 'Sig. Avide Guerra'
# 'Yago Amato'
# 'Eustachio Messina'
# 'Dott. Violante Lombardo'
# 'Sig. Alighieri Monti'
# 'Costanzo Costa'
# 'Nazzareno Barbieri'
# 'Max Coppola'
@drager I checked. Python package supports Localization of Data and implemented it using different
Data Providers
to provide localized data for each different Locale.here is what they do :
from faker import Faker fake = Faker('it_IT') for _ in range(10): print(fake.name()) # 'Elda Palumbo' # 'Pacifico Giordano' # 'Sig. Avide Guerra' # 'Yago Amato' # 'Eustachio Messina' # 'Dott. Violante Lombardo' # 'Sig. Alighieri Monti' # 'Costanzo Costa' # 'Nazzareno Barbieri' # 'Max Coppola'
Awesome, that seems like a good way of doing it? Or what do you think? :blush:
@drager I was thinking we should add LocaleDataProvider
for each locale (which falls to the community to do so). but also allow user to add its own CustomDataProvider
. this is really helpful for demo purposes when creating Flutter apps and creating fake data which is more relevent to the app. So I think starting with the CustomDataProvider
makes more sense
@drager thanks for the merge. I will start adding DataProvider
to the rest of the faker features that can be customized by localizations or etc.
@easazade Thank you! Sounds great!
I would like to help with portuguese br translation when available.
@rumbleh Feel free to work on it!
next time I contributed in order to finish this. I remember to add some documentation.
Is anyone working on this? I would love to give it a go if nobody is working on it.
I'm wanting to localize it for randomizing Spanish data
@nombrekeff thank you for the comment. reminded me there is unfinished work to be done here. I decided to add the rest of the data providers to other data generators like address , food job and etc. after that everyone can add their own customized DataProviders
like SpanishLoremProvider
or SpanishAddressProvider
and so force
I should also update the docs
Ohh cool 👍
Thanks for the info, I will check it out when it's ready. Let me know if I can help in any other way, adding translations, docs, etc... I have some free time at the moment and would be glad to help out!
hey @nombrekeff I added the rest of the DataProviders in here (#49) . feel free to check it
it will be great to add support for other languages as well. though I understand that there are alot of languages and comming up with a solution to this problem can be hard.
one problem is that some languages are RTL (like farsi aka persian) unlike english which is LTR. and developers who make their app
RTL first
will override the flutter app locale to show the entire app in RTL. because of this showing faker's fake text which are read from left to right (LTR) because they are in english in an app which loaded its entire widget tree in (RTL) is very confusing.