Comments (27)
@flodolo: Do we have dashboards set up for this project so we can track l10n status?
We do now :-)
https://l10n.mozilla-community.org/webstatus/?product=focus-android
from focus-android.
@flodolo, @Delphine: Do you or the community have any preferences here? Do we need to support any specific tools or file formats? To be honest I have been quite ignorant because with Fennec everything happens magically in the background. :)
from focus-android.
Definitely need to support Pontoon, possibly Pootle
https://pontoon.mozilla.org/
https://mozilla.locamotion.org/
That also means file format constraints.
What were you thinking about? Personally I have no experience with Android apps other than Fennec.
I have the feeling you'll need to convert from one format supported by tools to the format using by Android (XML)?)
from focus-android.
What were you thinking about? Personally I have no experience with Android apps other than Fennec.
Not sure. I have no experience with our translation processes. :)
I have the feeling you'll need to convert from one format supported by tools to the format using by Android (XML)?
Yeah, at the end of the day we need Android XML files [1].
- What file format are those tools using?
- If I take care of writing import/export scripts for "Android <-> Tools" then does this get us started or do we need more?
from focus-android.
Supported file formats in Pontoon
https://mozilla-pontoon.readthedocs.io/en/latest/
We can use the same strategy we use for Focus for iOS, which is a GitHub repository for strings that you can pull from.
As for the format, in mozilla-central we use .properties and convert them, that might be a strategy, noting that we have some pain points with the XML (need to escape straight quotes or double quotes for example).
from focus-android.
I looked around and a promising tool seems to be android2po [1]. It can convert between Android XML files and Gettext PO, which is supported by Pontoon.
Without any tweaking it generates files like this:
https://pastebin.mozilla.org/8979993
Would this be useful?
from focus-android.
I think so, yes, unless we find roadblocks along the way.
We'll need to add plenty of localization comments though.
@Delphine Definitely your call though :-)
from focus-android.
Yes this looks good, thank you! :)
from focus-android.
Okay, cool! I'll have a look how we can add localization comments that survive import/export and then I can create an actual export.
Can you create a repository where the files will live? It looks like we keep them separate? Are there any languages we want to start with or is adding languages something you do in Pontoon anyways?
from focus-android.
I can take care of creating the repository tomorrow. New locales can be added directly in Pontoon, but it would be good to figure out if you want to start with some.
Note that there are some conventions to follow in terms of structure
https://developer.mozilla.org/en-US/docs/Mozilla/Implementing_Pontoon_in_a_Mozilla_website
from focus-android.
Repository created, invite sent. Let me know if other devs need access to it
https://github.com/mozilla-l10n/focus-android-l10n/
from focus-android.
Turns out I had to rename the file to .pot (didn't realize Pontoon expects that for templates).
You can find the Italian file here if you want to try building an apk
https://github.com/mozilla-l10n/focus-android-l10n/tree/master/locales/it
from focus-android.
This is working nicely!
from focus-android.
Great.
@Delphine
The project is basically ready. You need to set up the project on Pontoon's prod (you can copy it from stage, just add a description), and communication.
Before you send anything out, I'll need to enable write access for localizers.
We also need to figure out if we want to preselect a list of languages.
At this point I'll let the rest to you ๐
from focus-android.
Will do! thanks to the both of you!
from focus-android.
Note that some of the strings might change soon or might even disappear as we polish the UI. Not sure if this kind of churn is okay for the translators?
from focus-android.
If these are minor changes and since the project is still small, I think we should be ok. Let me know if you expect major changes though. In that case, we should work on defining an l10n cycle within the general Focus release cycle.
In any case, once I reach out to localizers, I will let them know about this :)
from focus-android.
@pocmo : Do you know if anything has changed in regards to the list of "priority" languages we should start enabling right away? I know Barbara mentioned "same as Focus iOS" last week, so want to make sure this still holds true. If so, I'll start by adding these and we can make the project opt-in for other locales from there.
from focus-android.
If these are minor changes and since the project is still small, I think we should be ok. Let me know if you expect major changes though.
I was thinking about the menu that we need to update and with that some strings will change too (#52). But apart from that it should be stable. And yeah, we have not many strings so far anyways.
Do you know if anything has changed in regards to the list of "priority" languages we should start enabling right away?
I haven't heard from any changes. From my point of view we should take whatever we can get. :) We will need to make sure we support RTL correctly in our layouts (#31).
from focus-android.
@flodolo: Do we have dashboards set up for this project so we can track l10n status?
from focus-android.
Hey guys - this is live on Pontoon now \o/
https://pontoon.mozilla.org/projects/focus-for-android/
I started with the same subset of locales as for Focus on iOS, and already more are asking to join :)
I think that it remains important for us to get a deadline though for this project - and to set up some kind of l10n cycle that includes testing time.
Exactly the same goes for Play Store content and deadline. As long as this isn't urgent yet, we can discuss these during the next Focus for Android meeting I guess.
In the meantime, thanks flod and Sebastian for all your help here ๐
from focus-android.
I think that it remains important for us to get a deadline though for this project - and to set up some kind of l10n cycle that includes testing time.
We have about 6-8 weeks for developing v1. In your experience how much time should we give translators with the final set of strings? I can look through our filed issues and see which ones will require strings additions/changes. We can then try to give them a higher priority so that we finish those tasks earlier.
from focus-android.
I added the "needs strings" label to all issues that are likely to add or change strings. Note that not all of those issues are marked with "v1.0" though!
https://github.com/mozilla-mobile/focus-android/issues?q=is%3Aopen+is%3Aissue+label%3A%22needs+strings%22
from focus-android.
@pocmo: thanks that's very helpful!
I think 1-2 weeks for l10n + l10n testing should be enough since this is a small project. Same thing if Play Store content needs localization.
Side note: as I was adding languages to the project, flod realized that we probably aren't using a language switcher for Focus on Android. We're going to depend on what languages are supported by Android, correct? Issue is that we have never been able to find one single reliable source of truth telling us what are all the supported languages by Android at this point... :/ I have a few documents & devices that can guide our decision, but won't be reliable at 100% unfortunately.
from focus-android.
@Delphine That also will not help as it depends on companies, for example: Android doesn't support Azerbaijani language as OS language but latest Android phones by Asus and mostly all by Samsung has Azerbaijani option. So I don't think it will be possible to find list of all supported languages as different manufactures has different Android modifications. In my opinion having a language selection as in Firefox for Android can be better option.
from focus-android.
@mastizada Implementing our own language selection is complicated, I filed #122 for that - however I suspect that probably won't be part of focus v1.
from focus-android.
So I don't think it will be possible to find list of all supported languages as different manufactures has different Android modifications.
Yeah, that's right. This varies from device to device. It might be driven by where the device is sold.
(I'm closing this issue as we have figured out how to translate the app.)
from focus-android.
Related Issues (20)
- Remove deprecated methods from CustomTabsIntent.Builder
- Add a Focus prefix to GitHub actions
- Cookie Banner handling Focus HOT 16
- [A11y] The "No"/"Yes" options from the "Add to Home screen" prompt are read as "Cancel HOT 5
- [A11y] With talkback enabled, Focus doesn't apply the newly set search engine HOT 1
- [TELEMETRY] Send existing mobile search metric data in baseline ping
- Fix auto publish instructions for new Android Components location
- Avoid using XML entities in localized strings HOT 5
- [closed]
- On Android 13 devices preview is displayed in recent screen even with stealth enabled HOT 2
- Update Fenix New Search string HOT 1
- Focus Nightly is used in Klar on search shortcut HOT 1
- Add a Focus prefix to Dependencies and Versions
- Paused audio starts without the users action on the "Play" option HOT 2
- Enable New Onboarding Flow by default HOT 2
- [L10N] The newly added "Search in Firefox Focus Beta/Nightly/Klar" aren't translated HOT 3
- Focus crashes when search engines are restored HOT 2
- Share, copy and paste crashes DoS HOT 2
- Disable MissingTranslation and ExtraTranslation lint rules
- Protection renforcรฉe contre le pistage dans Firefox pour Android | Assistance de Firefox pour Androidhttps://support.mozilla.org/fr/kb/protection-renforcee-pistage-firefox-android#w_protection-totale-contre-les-cookies HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from focus-android.