Help needed: Please translate AnkiDroid

75 views
Skip to first unread message

Nicolas Raoul

unread,
Mar 23, 2011, 7:32:53 AM3/23/11
to anki-a...@googlegroups.com
Hello all,

With release approaching, now is your last chance to contribute by
translating AnkiDroid's user interface into your language!
Even if you still use the English version, having localized version is
a way to help education in your country, and it makes AnkiDroid more
famous, thus attracting more developers :-)

How to translate:
https://code.google.com/p/ankidroid/wiki/Contribution#Translating_AnkiDroid_into_your_language

A lot of new features have been added, so here are the current
translation rates:
Catalan 97%
Chinese Simplified 14%
Chinese Traditional 67%
Czech 57%
Danish 14%
Dutch 13%
Finnish 95%
French 91%
German 100%
Greek 58%
Hebrew 6%
Hungarian 8%
Italian 57%
Japanese 28%
Korean 5%
Polish 97%
Portuguese 34%
Romanian 17%
Russian 100%
Serbian 57%
Spanish 100%
Swedish 31%
Ukrainian 1%
Vietnamese 7%

If your language is already at 100%, register to your language's
localization group, and you will receive a notification next time
translations are needed.

Thanks everyone!
Nicolas Raoul

Accord

unread,
Mar 24, 2011, 11:33:16 PM3/24/11
to AnkiDroid
Hi,

Is translating the arrays.xml file necessary? Sorry I didn't look into
the source code, I don't really know my way around program code. But
it seems to me that there are quite some strings inside (e.g. 10, 20,
100) that don't need translating?

Accord

nobnago

unread,
Mar 25, 2011, 4:28:06 AM3/25/11
to AnkiDroid
Hi Accord,

thanks for your work! In general, all strings should be translated. Of
course, "10" looks the same in english and french but not in chinese.
In this case, translating isn't really necessary, but doing it helps
others to see, if a language is completed or not.

Cheers!

Norbert

Accord

unread,
Mar 26, 2011, 5:26:38 AM3/26/11
to AnkiDroid
Thanks for your reply, I think that's reasonable.

I'd like to add an opinion though, I'm from Taiwan and in charge of
the Traditional Chinese translations. Although we do have the Chinese
equivalent of "ten", most of them time "10" is preferable, especially
in showing a statistic.

Damien Elmes

unread,
Mar 26, 2011, 5:38:19 AM3/26/11
to anki-a...@googlegroups.com
Same for Japanese. And even if you translate the interface strings,
you're still left with things like due counts which are just plain
numbers. IMHO you shouldn't need to translate the numbers, unless
they're already contained within another string and it's just more
convenient to do so.

> --
> You received this message because you are subscribed to the Google Groups "AnkiDroid" group.
> To post to this group, send an email to anki-a...@googlegroups.com.
> To unsubscribe from this group, send email to anki-android...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/anki-android?hl=en-GB.
>
>

Nicolas Raoul

unread,
Mar 26, 2011, 5:58:40 AM3/26/11
to anki-a...@googlegroups.com
So how about changing to not translate numbers then?
If speakers of a language complain, we can change back, but the
probability is low, and that will make translating faster and more
interesting.
That could be changed in time for 0.6.

Cheers!
Nicolas Raoul

iniju

unread,
Mar 26, 2011, 2:40:29 PM3/26/11
to AnkiDroid
Agreed for integers (meaning characters 0-9 only)
Floating points & percentages (do we have any) should still be
translatable in my opinion.
Not everyone writes them the same way.

Kostas

nobnago

unread,
Mar 26, 2011, 3:48:33 PM3/26/11
to AnkiDroid
>> And even if you translate the interface strings,
you're still left with things like due counts which are just plain
numbers.

that's true. Moved the strings in question to the constants...

nobnago

unread,
Mar 26, 2011, 3:55:52 PM3/26/11
to AnkiDroid
> that's true. Moved the strings in question to the constants...

haha, when I tried to do that: because I introduced sliders for all
percentage-sizes, the only numbers left are these:

<string-array name="widget_minimum_cards_due_labels">
<item>10</item>
<item>25</item>
<item>50</item>
<item>75</item>
<item>100</item>
<item>150</item>
<item>200</item>
<item>Never</item>
</string-array>

Unfortunately, "Never" should be translated, so we have to keep the
whole string-array (otherwise we would have to recode the whole
preference-part containing this array... It's maybe not that harmful
because it only affects 7 numbers...

Damien Elmes

unread,
Mar 26, 2011, 8:50:20 PM3/26/11
to anki-a...@googlegroups.com
Re floating point, in C this is handled with printf() and locales that
use the correct decimal notation. You're changing the presentation
format, but not "translating".

Interesting about percentages - how else are they represented?

Accord

unread,
Mar 27, 2011, 12:37:46 AM3/27/11
to AnkiDroid
One more question regarding the translations. I've noticed that there
are some strings inside that output to a log file, for example
sync_log_error_specific. I'm not certain whether these are meant for
the user or the developer. Whichever the case, reporting errors in
localized languages doesn't make much sense. What do you think?

Paco Rivière

unread,
Mar 27, 2011, 6:59:01 AM3/27/11
to anki-a...@googlegroups.com, Accord
There are four words in the new card screen I cannot find on either arrays/strings therefore cannot translate:

Basic
Forward
Front
Back

Hey!

Damien Elmes

unread,
Mar 27, 2011, 7:03:19 AM3/27/11
to anki-a...@googlegroups.com
They are part of your deck, not the interface.

2011/3/27 Paco Rivière <pacor...@gmail.com>:

Paco Rivière

unread,
Mar 27, 2011, 7:04:57 AM3/27/11
to anki-a...@googlegroups.com, Damien Elmes
:)

iniju

unread,
Mar 27, 2011, 9:46:27 AM3/27/11
to AnkiDroid
@Accord:

Despite the name of the strings, these sync_log_* variables appear in
the interface and are displayed to the user.
They are the messages shown during and after syncing.

Kostas

iniju

unread,
Mar 27, 2011, 9:47:59 AM3/27/11
to AnkiDroid
I think percentages in arabic have the percentage sign before the
number, although the numbers still follow LTR direction.
I might be wrong.

Kostas

Inglor Felagund

unread,
Apr 3, 2011, 6:40:38 PM4/3/11
to AnkiDroid
Almost done Greek translation.

Nicolas Raoul

unread,
Apr 4, 2011, 4:11:11 AM4/4/11
to anki-a...@googlegroups.com
Indeed, Greek has reached 91%, thanks a lot Inglor!

Cheers!
Nicolas Raoul

On Mon, Apr 4, 2011 at 7:40 AM, Inglor Felagund <arta...@gmail.com> wrote:
> Almost done Greek translation.

clexidra

unread,
Apr 6, 2011, 8:11:38 AM4/6/11
to AnkiDroid
Almost done Italian translation.

monoFish Yu

unread,
Apr 6, 2011, 4:11:54 PM4/6/11
to anki-a...@googlegroups.com
@Accord is right about number issue. Arabic numerals are universally known in most parts of world. In mainland, China, even a person who cannot read is able to recognize numbers and do lots of maths, perhaps just because they have to read the prices in food markets.

However, numbers matter in some circumstances in Chinese, or maybe Japanese, which you use plural form of words in English or any other Indo-European languages. Almost in every expression using number in Chinese, we use numeral classifiers or measure words(is that how you western fellows name it?). If there are any numbers appearing before a noun, we usually add a measure word between them, and we dont have any plural forms for nouns. But if there is no number before a noun, it is incorrect to add a measure word.

I noticed that in the list of texts to translate, there are lots of words such as year/years, month/months, and day/days, which can be expressed by a single Chinese character(年, 月, 日). So I dont know how to translate those words precisely, or whether attach a measure word before a noun(it may have a number before it to numerate) or not(it may not have a number before it). Please provide some better contexts for those words if possible. Thanks.

At last, I am a Chinese from mainland, China, and I translate simplified Chinese part of the software. I translated half of them just now, and I think I can finish the rest tomorrow. It is 4 a.m. in GMT+8 area and I must go to bed.

P.S. Anki is my favorite and the best software of flashcards and memorizing I ever seen. Cheers for you developers!!!
But the iOS version is too expensive to afford. Hope price will drop some day(maybe for just few days for promotion).

Good night everyone!


Yu

Michał Sylwester

unread,
Apr 7, 2011, 3:12:02 AM4/7/11
to anki-android
Numbers are particularly difficult. In Polish we don't usually use the measure words (it depends on what is counted), but the actual word changes depending on the number. As far as I know there is no way to provide translation for this. If someone knows a way, let me know. 

Some examples on what I mean:
0 new cards -> 0 nowych kart
1 new card -> 1 nowa karta
11 new cards -> 11 nowych kart

2 new cards -> 2 nowe karty
12 new cards -> 12 nowych kart
22 new cards -> 22 nowe karty
102 new cards -> 102 nowe karty
112 new cards -> 112 nowych kart

Generally it depends on last digit of the number, but even there there are exceptions....

Michal

nobnago

unread,
Apr 7, 2011, 3:21:08 AM4/7/11
to AnkiDroid
> I noticed that in the list of texts to translate, there are lots of words
> such as year/years, month/months, and day/days, which can be expressed by a
> single Chinese character(年, 月, 日). So I dont know how to translate those
> words precisely, or whether attach a measure word before a noun(it may have
> a number before it to numerate) or not(it may not have a number before it).
> Please provide some better contexts for those words if possible. Thanks.

Indeed, we should change this (for version 0.7 then). year/years... is
only used for the next review time in form of "3 days", so you can
translate "year" at the moment with "measure word + translation of
year". But we should change the text to "%1$d days", in order to make
it clear and to provide a means of choosing the position of the
number. I'll open an issue for that.

> At last, I am a Chinese from mainland, China, and I translate simplified
> Chinese part of the software. I translated half of them just now, and I
> think I can finish the rest tomorrow. It is 4 a.m. in GMT+8 area and I must
> go to bed.

Thank you very much! I'm sure lots of people in your country will
benefit from this!

Cheers!

Norbert

nobnago

unread,
Apr 7, 2011, 3:24:23 AM4/7/11
to AnkiDroid
> 2 new cards -> 2 nowe karty
> 12 new cards -> 12 nowych kart
> 22 new cards -> 22 nowe karty
> 102 new cards -> 102 nowe karty
> 112 new cards -> 112 nowych kart
>
> Generally it depends on last digit of the number, but even there there are
> exceptions....

I'm afraid, there is indeed no way to implement this easily. We've got
only the plurals concept which distinguishes between singular and
plural. How is this solved in polish applications?

Cheers!

Norbert

Damien Elmes

unread,
Apr 7, 2011, 3:27:23 AM4/7/11
to anki-a...@googlegroups.com
GNU gettext can handle such cases; I presume Android can too. The
language file defines the rules. For example, in the files for the
desktop Anki, the Polish translation has:

"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"

The string is defined in English as ngettext("%d card", %d cards",
number) % number

nobnago

unread,
Apr 7, 2011, 3:40:37 AM4/7/11
to AnkiDroid

Nicolas Raoul

unread,
Apr 7, 2011, 4:45:38 AM4/7/11
to anki-a...@googlegroups.com, monoFish Yu
Hello Yu,

Thanks a lot for your contributions, Simplified Chinese has reached 51%!

> numeral classifiers or measure words
Is it what is described in the Wikipedia article below?
http://en.wikipedia.org/wiki/Japanese_counter_word

I suggest you just translate year, month, day and years, months, days
by 年, 月, 日.
If it is like in Japanese, the only problem will be the space, for
instance "1 月" instead of "1月".
("1 ヶ月" instead of "1ヶ月" in Japanese)

We will fix this in the next version, please "star" this issue to
receive notifications:
http://code.google.com/p/ankidroid/issues/detail?id=556


By the way, here are the current translation rates:
Catalan 99%
Chinese Simplified 51%
Chinese Traditional 84%
Czech 55%
Danish 13%
Dutch 45%
Finnish 98%
French 100%
German 100%
Greek 91%
Hebrew 6%
Hungarian 8%
Italian 98%
Japanese 27%
Korean 5%
Polish 100%
Portuguese 33%
Romanian 16%
Russian 100%
Serbian 55%
Spanish 100%
Swedish 30%
Ukrainian 1%
Vietnamese 7%

Thanks everyone!
Nicolas Raoul

Michał Sylwester

unread,
Apr 7, 2011, 2:10:58 PM4/7/11
to anki-a...@googlegroups.com
That's it - it's all about plural resources and using
getQuantityString instead of getString. And it seems these are already
used.

The issue may be crowdin, as it does not show these strings in any
special way. It shows each English case as separate translation, but I
don't see a way to add new forms in the target language. And I'd need
to add some "few" forms...

Any idea how to solve this? Adding all the extra forms to all
languages would be overkill...

Michal

On Thu, Apr 7, 2011 at 9:40 AM, nobnago <norber...@gmail.com> wrote:
>
> here is a discussion of the problem:
>
> http://stackoverflow.com/questions/3136288/how-to-do-an-app-with-truly-multilingual-strings
>

nobnago

unread,
Apr 8, 2011, 3:16:01 AM4/8/11
to AnkiDroid
Crowdin implemented plurals just a few months ago (on request of our
community). I guess, they only allow for "one" and "other". I think, I
read somewhere, that "few" doesn't work (yet?) at all in android...

iniju

unread,
Apr 13, 2011, 8:02:24 PM4/13/11
to AnkiDroid
Greek translation finished :)


On Apr 7, 8:40 am, nobnago <norbertnag...@gmail.com> wrote:
> here is a discussion of the problem:
>
> http://stackoverflow.com/questions/3136288/how-to-do-an-app-with-trul...

Tim

unread,
Feb 1, 2013, 5:42:34 AM2/1/13
to anki-a...@googlegroups.com
There are a number of new strings that need to be translated for release 2.0.1, especially for the new upgrade wizard.
So far there are NO languages with 100% complete translations, so help is very much needed!

On Wednesday, March 23, 2011 8:32:53 PM UTC+9, Nicolas Raoul wrote:
Hello all,

With release approaching, now is your last chance to contribute by
translating AnkiDroid's user interface into your language!
Even if you still use the English version, having localized version is
a way to help education in your country, and it makes AnkiDroid more
famous, thus attracting more developers :-)

How to translate:
https://code.google.com/p/ankidroid/wiki/Contribution#Translating_AnkiDroid_into_your_language

A lot of new features have been added, so here are the current
translation rates:
Catalan 97%
Chinese Simplified 14%
Chinese Traditional 67%
Czech 57%
Danish 14%
Dutch 13%
Finnish 95%
French 91%
German 100%
Greek 58%
Hebrew 6%
Hungarian 8%
Italian 57%
Japanese 28%
Korean 5%
Polish 97%
Portuguese 34%
Romanian 17%
Russian 100%
Serbian 57%
Spanish 100%
Swedish 31%
Ukrainian 1%
Vietnamese 7%

If your language is already at 100%, register to your language's
localization group, and you will receive a notification next time
translations are needed.

Thanks everyone!
Nicolas Raoul

Tomasz Melcer

unread,
Feb 2, 2013, 10:33:57 AM2/2/13
to anki-a...@googlegroups.com
W dniu 01.02.2013 11:42, Tim pisze:
> There are a number of new strings that need to be translated for release
> 2.0.1, especially for the new upgrade wizard.
> So far there are NO languages with 100% complete translations, so help
> is very much needed!

I haven't got any response to my email in August, and it seems that what
I asked about is still in the code, so maybe this time some developer
will respond:

There is this string identified by R.string.studyoptions_congrats_undo
(“Undo %s”), which takes a parameter. As far as I see in the code, the
only strings that will be passed there are ones from
Collection.fUndoNames (e.g. “review” or “suspend card”).

In Polish “Undo” translates to “Cofnij”. This word requires an object in
accusative case, therefore I translated the strings from
Collection.fUndoNames into accusative. However, if these strings are
used in any other place, they might also need other case…

If that's possible, it would be nice try to merge those strings. Instead
of using two strings: “Undo %s” and “review”, there should be just a
single string “Undo review”. This makes it much more clear for a
translator too.

If there are other similar constructions in the code, fixing them would
make it much easier to translate the strings too—one wouldn't have to
track down usage of resources in the code to check how to translate them.

Tomasz Melcer

Flavio Lerda

unread,
Feb 2, 2013, 2:41:05 PM2/2/13
to anki-a...@googlegroups.com
Thanks Tomasz for the feedback.

I filed an issue about generally re-organize our strings to do that.

Flavio


--
You received this message because you are subscribed to the Google Groups "AnkiDroid" group.
To unsubscribe from this group and stop receiving emails from it, send an email to anki-android...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.





--
Flavio Lerda
Reply all
Reply to author
Forward
0 new messages