Open airon90 opened 5 years ago
Me too. (Polish).
Seems like you need to copy some of app/src/main/res/values
files into values-<language code>
, following two-letter ISO 639-1 language code. Files would be:
Chris can comment on whether this is correct.
When everything is defined and ready to become official, CONTRIBUTING.md must be edited
What @tupaschoal says is correct. However, not everything in arrays.xml needs to be translated. I need to mark up what that is. But you can just translate the certain fields and leave the others out of the XML file, and it should work.
@airon90 What more are you looking from from the CONTRIBUTING.md file? I haven't had a lot of interest from the OSS community, so I haven't bothered updating it.
@ccomeaux
What @tupaschoal says is correct. However, not everything in arrays.xml needs to be translated. I need to mark up what that is. But you can just translate the certain fields and leave the others out of the XML file, and it should work.
I will translate everything translateable.
@airon90 What more are you looking from from the CONTRIBUTING.md file?
I would create a section specifying how to translate the app. As soon as I can I will do a PR :)
I haven't had a lot of interest from the OSS community, so I haven't bothered updating it.
Unfortunately I am not a coder, so I help (F)OSS projects by translating them. Think about creating an account on Transifex or Crowdin. Many projects integrate them as translating platform.
I'd advise you guys to create an issue saying "translate to
@tupaschoal I've just made #122 (Translate to Polish) but I don't know how to take it up. I believe someone from the Collaborators has to assign me? Well, only if I can be assigned, not being a Collaborator.
@ccomeaux Please explain what strings like this Syncing %1$,d game: %2$s
mean, because in many languages word forms depend of what is inserted there (a number? a title?) :)
Do take a look at Formatter. These follow the pattern:
%[argument_index$][flags][width][.precision]conversion
%
- to start argument
1$
- denotes the first argument (argument_index$)
,
- is a flag to include local-specific grouping separator (flags)
'd' - means a decimal integer
So %1$,d
means that the first argument is an integer and %2$s
that the second is a string
Oh, thanks. But that's not all we need. Some strings are unintuitive, like Downloading \"%s\" collection %s
– I have no idea what's to be inserted there, which results in troubles in translation :(
I see, you can always ask and I'll do my best to help. I'm not acquainted with the whole app, so I search for its usage and try to infer. The first string is one of the values from this array:
<string-array name="pref_sync_status_entries">
<item>Own</item>
<item>Previously Owned</item>
<item>For Trade</item>
<item>Want in Trade</item>
<item>Want to Buy</item>
<item>Wishlist</item>
<item>Want to Play</item>
<item>Preordered</item>
<item>Played</item>
<item>Rated</item>
<item>Commented</item>
<item>Has Parts</item>
<item>Want Parts</item>
</string-array>
The second is one of:
BggService.THING_SUBTYPE_BOARDGAME -> R.string.games
BggService.THING_SUBTYPE_BOARDGAME_EXPANSION -> R.string.expansions
BggService.THING_SUBTYPE_BOARDGAME_ACCESSORY -> R.string.accessories
else -> R.string.items
which are converted exactly to:
Games
Expansions
Accessories
Items
What @tupaschoal says is correct. However, not everything in arrays.xml needs to be translated. I need to mark up what that is.
In arrays.xml
we should translate only:
<string-array name="collection_status_filter_entries">
<string-array name="expansion_status_filter">
<string-array name="wishlist_priority">
<string-array name="wishlist_priority_finite">
<string-array name="currency">
<item>Other</item> ← !ONLY THIS ITEM of "currency"
<string-array name="game_weight">
<string-array name="language_poll">
leaving these unchaged:
<string-array name="pref_sync_status_default">
<string-array name="collection_status_filter_values">
<string-array name="expansion_status_filter_values">
shouldn't we?
@ccomeaux Could you please tell me what exactly should be translated in each file, so that I can add info in #121?
Do the changes in 2295a1dd51c11a4f221c71d1de3156f0ef31d38d clarify this?
I think yes :) I still suggest to either add a link to this issue (or tupaschoal's comment https://github.com/ccomeaux/boardgamegeek4android/issues/119#issuecomment-534538212 and his next comments and on #122, because they explain a lot about how the files are written) or copy tupaschoal's comments there (or write yours).
@airon90 How's your translation going? :)
Hi, i'm a user from France and wwuld be willing to translate this app as well, only if it was more easily accessible.
Unfortunately I am not a coder, so I help (F)OSS projects by translating them. Think about creating an account on Transifex or Crowdin. Many projects integrate them as translating platform.
I concur with what @airon90 says, though if you so choose to use a crowdsourcing platform for translation, i'd rather guide you towards Weblate which provides free hosting for foss projects, and is itself an opensource endeavour.
If such tools are too heavy to implement, i've seen other devs use homebrewed lightweight tools ( Snappymail and Palcka Tarock ) that act as a bridge for users who are not so used to git and coding.
Hi, I would like to translate the app. How can I do that?