GithubHelp home page GithubHelp logo

machiav3lli / derdiedas Goto Github PK

View Code? Open in Web Editor NEW

This project forked from digitapex/derdiedas

26.0 26.0 7.0 1.35 MB

Android app for learning genders of German nouns

License: MIT License

Java 3.89% Kotlin 96.11%
android german german-language

derdiedas's People

Contributors

3waffel avatar artemmolotov avatar atalanttore avatar blaisepcl avatar caralu74 avatar comradekingu avatar digitapex avatar izzysoft avatar machiav3lli avatar maciej-klupp avatar mawoka-myblock avatar mikhailhonchar avatar mvhulten avatar namhyeonjeong avatar pandermusubi avatar poussinou avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

derdiedas's Issues

Icon

Humbly suggest changing the icon for one that does not make the app look like a system app.

Android < 7 support

I only noticed now just before trying to install that the minimal required Android version is now 7 (compared to https://github.com/digitapex/DerDieDas's 4.0.3).

Given it was changed at the very start of the fork and it is a pretty large version gap, I have to ask: was this intentional?
Would you consider lowering it?

Please do not worry too much about testing:

  • I am happy to regularly test on a (non-emulated) Android 4.1 device if this can be the minimal version
  • I think owner of old devices are happy in general to have a version that might work on their particular device (it's always better than nothing), so it is more a matter of setting (low) expectatiions: minimal support, old devices' owners should submit MRs themselves to get their specific problems fixed for example

Security-wise supporting so old devices seems reasonable to me as the app itself requires no permissions.

Untranslated words

What happens if a word is not translated? Wil it not present at all? This seems to be the case based on my statistical test with Norwegian (15 % translated): the first thirty words or so have translations.

I suppose this is the best, if only because there must surely be homonyms that are only disambiguated by gender. Is that the case?

I am asking because during translation I was inclined to not translate words that are idential (except for case), like Hotel which is hotel in Dutch. It not showing up in the app means fewer letters on the screen, less distraction. WDYT?

Spaced repetition idea

First, thank you to @digitapex and @machiav3lli for this app! Super useful!! :)

In the description of the app I read that after answering 5 times correctly, a word is never shown again.

If that's true I think this is not ideal. If I spend half hour learning, I can get words right 5 times in a row, but that doesn't mean I'll remember them one day or one week later. What do you think about adding further repetitions with exponential delays? for example 1 day later, then 2 days later, 4, 8...

I don't know what's the ideal progression. I found this page talking about it: https://e-student.org/spaced-repetition/

I think adding these extra repetitions would make sure that I actually didn't have things in my short term memory.

Dutch translation not visible

I am running 2.1.0 from F-Droid.

In the app's settings the Dutch translation is not available. Other languages that have a smaller part of the words translated are available.

Could the Dutch translation made available, or is the fact I don't see it a bug?

Not possible to choose right article at "Das Rheintal"

When the word "Rheintal" appears and you choose correctly "Das", then "Das" turnes red and no "correct" altetnative blinks in green. When the next time you choose another article, then the chosen(wrong) article turnes red and "Das" blinks in green. There is no possebility to coninue at that point.

"Uhr" = "clock" or "watch", not "hour"

Hello, I just noticed a mistranslation on your otherwise great app! The translation link in the Readme did not work, so I am reporting it here.

"Die Uhr" is translated in the app as "Hour" but the correct translation should be "Clock" or "Watch". I am native German and various dictionaries seem to agree too. :)

"Die Stunde" would be the correct word for "hour".

Add German IPA Transcriptions

German IPA transcriptions could be used to improve the App. They could be optionally displayed and should be easy to implement.

The IPA transcriptions from Wiktionary are very accurate and there are more than 600,000 words with its transcriptions. All the German IPA transcriptions can be downloaded here in .txt format:

https://mega.nz/file/cVg1iAKJ#xB_qoctX9eYaD5JDfiqLnYh4PWKdpEOL_J4fkBGubFY

They were obtained from: https://github.com/bmilde/wiktionary_ipa_phoneme_lexicons


IPA Transcriptions from www.dwds.de are also available. They were scraped and published as a .txt file:

https://mega.nz/file/0UhGXazI#4TNAYAFQZ5SL_25uS9nc8SHn1RcNHcPtQnYikNJNmcw
from: https://zhuanlan.zhihu.com/p/372024872

Double tapping answers crashes app

Running Android 8.1
I think I have the 2.0.1 version of the app
To reproduce, enter practice mode.
Tap any article
While the red and green colors are displayed, before the screen proceeds to the next word, again tap any article.
The app then stops.
When the app is restarted it says I have fully learned all the words.

Crash after 2nd launch (click on 'stats')

with v2.0 from f-droid:

First launch, I use it a little bit to learn, then quit the app, then relaunch the app.
At that time, when clicking on "stats" there is a crash. (btw most time it does crash, but sometimes it doesn't...)

device: xiaomi redmi note 9s with android 10

logcat says:

07-15 15:28:38.282 21707 21807 E AndroidRuntime: FATAL EXCEPTION: Thread-2
07-15 15:28:38.282 21707 21807 E AndroidRuntime: Process: com.machiav3lli.derdiedas, PID: 21707
07-15 15:28:38.282 21707 21807 E AndroidRuntime: android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
07-15 15:28:38.282 21707 21807 E AndroidRuntime:        at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:8397)
07-15 15:28:38.282 21707 21807 E AndroidRuntime:        at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:1496)
07-15 15:28:38.282 21707 21807 E AndroidRuntime:        at android.view.View.requestLayout(View.java:24779)
07-15 15:28:38.282 21707 21807 E AndroidRuntime:        at android.view.View.requestLayout(View.java:24779)
07-15 15:28:38.282 21707 21807 E AndroidRuntime:        at android.view.View.requestLayout(View.java:24779)
07-15 15:28:38.282 21707 21807 E AndroidRuntime:        at android.view.View.requestLayout(View.java:24779)
07-15 15:28:38.282 21707 21807 E AndroidRuntime:        at android.view.View.requestLayout(View.java:24779)
07-15 15:28:38.282 21707 21807 E AndroidRuntime:        at android.view.View.requestLayout(View.java:24779)
07-15 15:28:38.282 21707 21807 E AndroidRuntime:        at androidx.constraintlayout.widget.ConstraintLayout.requestLayout(Unknown Source:3)
07-15 15:28:38.282 21707 21807 E AndroidRuntime:        at android.view.View.requestLayout(View.java:24779)
07-15 15:28:38.282 21707 21807 E AndroidRuntime:        at android.widget.TextView.checkForRelayout(TextView.java:9718)
07-15 15:28:38.282 21707 21807 E AndroidRuntime:        at android.widget.TextView.setText(TextView.java:6296)
07-15 15:28:38.282 21707 21807 E AndroidRuntime:        at android.widget.TextView.setText(TextView.java:6124)
07-15 15:28:38.282 21707 21807 E AndroidRuntime:        at android.widget.TextView.setText(TextView.java:6076)
07-15 15:28:38.282 21707 21807 E AndroidRuntime:        at com.machiav3lli.derdiedas.ui.StatsActivity.Q(Unknown Source:61)
07-15 15:28:38.282 21707 21807 E AndroidRuntime:        at com.machiav3lli.derdiedas.ui.StatsActivity.K(Unknown Source:0)
07-15 15:28:38.282 21707 21807 E AndroidRuntime:        at com.machiav3lli.derdiedas.ui.h.run(Unknown Source:4)
07-15 15:28:38.282 21707 21807 E AndroidRuntime:        at java.lang.Thread.run(Thread.java:919)

Spanish locale

Warm greetings!
Can be added a Spanish translation for the GUI?

After update to 2.0 stats shows all words fully learned

The error above occured after the update to 2.0. As long as you do not press the stats button, you can play the game. After pressing the stats button the app shows all words as fully learned and it is not possible to continue playing. After every reinstall the same issue.

Change misleading colors

Please change the answer bg color from the current red/reddish color to something like green. Using red to show the correct option is quite confusing. Users that have tried the app thought they selected the wrong answer, when in reality they chose the correct one.

Using a color that is associated with "correct" instead, like green, would solve this issue.

screenshots:
dark
light

Crash after 2nd launch (click on 'practice')

with v2.0 from f-droid:

First launch, I use it a little bit to learn, then quit the app, then relaunch the app.
At that time, when clicking on "practice" there is a crash.

device: xiaomi redmi note 9s with android 10

logcat says:

d84
07-15 15:24:26.739 21457 21457 I chatty  : uid=10356(com.machiav3lli.derdiedas) identical 15 lines
07-15 15:24:26.739 21457 21457 D ForceDarkHelper: updateByCheckExcludeList: pkg: com.machiav3lli.derdiedas activity: com.machiav3lli.derdiedas.ui.WordActivity@47cbd84
07-15 15:24:26.743 21457 21457 D AndroidRuntime: Shutting down VM
07-15 15:24:26.752 21457 21457 E AndroidRuntime: FATAL EXCEPTION: main
07-15 15:24:26.752 21457 21457 E AndroidRuntime: Process: com.machiav3lli.derdiedas, PID: 21457
07-15 15:24:26.752 21457 21457 E AndroidRuntime: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at java.util.ArrayList.get(ArrayList.java:437)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at com.machiav3lli.derdiedas.ui.WordFragment.O0(Unknown Source:21)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at androidx.fragment.app.Fragment.n1(Unknown Source:4)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at androidx.fragment.app.s.f(Unknown Source:261)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at androidx.fragment.app.s.m(Unknown Source:116)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at androidx.fragment.app.l.d0(Unknown Source:277)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at androidx.fragment.app.l.Z0(Unknown Source:84)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at androidx.fragment.app.l.a0(Unknown Source:21)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at androidx.fragment.app.l.S(Unknown Source:42)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at androidx.fragment.app.l.y(Unknown Source:11)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at androidx.fragment.app.g.c(Unknown Source:4)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at androidx.fragment.app.d.onStart(Unknown Source:15)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at androidx.appcompat.app.c.onStart(Unknown Source:0)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at com.machiav3lli.derdiedas.ui.WordActivity.onStart(Unknown Source:0)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1433)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at android.app.Activity.performStart(Activity.java:7923)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3332)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2044)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:107)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:224)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:7562)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
07-15 15:24:26.752 21457 21457 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
07-15 15:24:26.758  1664  4651 W ActivityTaskManager:   Force finishing activity com.machiav3lli.derdiedas/.ui.WordActivity
07-15 15:24:26.758  1664 21511 I DropBoxManagerService: add tag=data_app_crash isTagEnabled=true flags=0x2
07-15 15:24:26.759  1664  4651 D ActivityTrigger: ActivityTrigger activityPauseTrigger 
07-15 15:24:26.761  1664  4651 W ActivityTaskManager:   Force finishing activity com.machiav3lli.derdiedas/.ui.MainActivity
07-15 15:24:26.763 32437  2492 D Launcher: get showing item successnull
0

APK at release 1.2.1 has wrong versionName (and -Code?)

The APK attached to release 1.2.1 identifies as 1.2.0:

package: name='com.machiav3lli.derdiedas' versionCode='1200' versionName='1.2.0'

Looks like that affects versionCode as well, so it won't be considered an update by Android. Can you please replace it with a fixed one? Thanks!

Confused about flashing red

When clicking on "Die" for "Samstag", " Die" turns solid blue (according to description on F-Droid this indicates a correct answer) but at the same time, "Der" flashes red several times. This is what happens wih all words - one box lights up blue and one, or sometimes both the other buttons flash red. It's very confusing.

Weblate does not show article

When translating strings, the article (or gender) is not presented. This is because the articles are elsewhere in DerDieDas. This is a problem. Without the gender you cannot always be sure what its meaning is for some words like Der See / Die See and Der Teil / Das Teil.

As such, when one knows only one meaning of such nouns, there is a good chance that the word gets a wrong translation (wrong in the sense that DerDieDas has decided on a different gender and thus different meaning).

Suggestion: show correct article in front of the word when tapping der/die/das

I believe it could help those of us with visual memory to see the article appear in front of the word when we tap one of the three options.

Currently the noun (above) and the article (below) are separated, which is fine while we think about it.

Once I tap an article, I pronounce (and hear) the correct version, but I would also like to see the correct version in the screen to save it in my visual memory.

Case of first letter

At least in the translations of Dutch, English and Norwegian the case is wrong.

In German nouns start with capitals. In most other (European) languages this is not the case.

If nobody objects, can we investigate if this is can be (semi-automatically) repaired? For instance, starting with the Dutch translation where I would primarily like to see the change (and then see if there is anyone interested in the same trivial change).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.