Closed Bug 565165 Opened 10 years ago Closed 5 years ago

make required pieces of services.m.c localizable

Categories

(Cloud Services :: Web Site, defect)

defect
Not set

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: mconnor, Assigned: stas)

References

Details

Attachments

(1 file, 1 obsolete file)

Axel, this is something like six strings

https://auth.services.mozilla.com/weave-password-reset
https://auth.services.mozilla.com/weave-delete-account

I'm going to move these onto services somehow, but we'll need strings.  Even if they're just six strings in a text file, I can do some hacky stuff to use strings in PHP.
Flags: blocking-weave1.3+
Oops... didn't CC Axel here.
I'd more lean towards putting them into traditional PO and on https://localize.mozilla.org/.

CCing folks in the know there.
The goal is that they would live on services.mozilla.com in the future, and we don't necessarily want to localize all of that content, i.e. the changelogs.  Not sure of the best path there, but you guys know this space better than I do. :)
https://services.mozilla.com/reset-password/ is up, I'll get the delete account page into SVN as well.  Axel, how is best to get this UI localized?  I'm a total newb, happy to read docs.
Target Milestone: --- → 1.3
Summary: get delete account/reset password pages localized → get delete account/reset password pages to services.m.c and localized
Duplicate of this bug: 564543
Target Milestone: 1.3 → 1.4
Flags: blocking-weave1.3+
Status: NEW → ASSIGNED
Summary: get delete account/reset password pages to services.m.c and localized → get required pieces of services.m.c localized
Target Milestone: 1.4 → 1.5
(In reply to comment #4)
> https://services.mozilla.com/reset-password/ is up, I'll get the delete account
> page into SVN as well.  Axel, how is best to get this UI localized?  I'm a
> total newb, happy to read docs.

Mike, where is the code of this page located? I wanted to take a look and see what l10n approach would be the best.

For now, without any additional info, I'm with Axel on using Gettext and putting the strings up on Verbatim (localize.mozilla.org).

Also, if you don't mind, I'll assign this to myself and change the description. We'll file separate bugs to get this localized, but for now, we need to make it localizable :)
Assignee: mconnor → stas
Summary: get required pieces of services.m.c localized → make required pieces of services.m.c localizable
Hey Stas, thanks for picking this up!

The pieces that need l10n support:

/delete-account/index.php
/reset-password/index.php
/privacy-policy/index.html
/tos/index.html
/index.html

/sync is just relnotes/updated pages for the addon, I don't know if we care about localization for those.  My initial put is "not really" since the add-on is mostly going to be a leading development channel.
Attached patch Patch 1. Add gettext support (obsolete) — Splinter Review
Here's a patch which adds gettext support in the php code. It includes:

- language detection via Pascal's library (http://granary.stage.mozilla.com/libs/l10n-demos/localeDetectionDemo.php). Pascal, can you have a look to see if I use it as you intended it to be used? I added one extra method in the ChooseLocale class which redirects to the localized page without caching.

- 4 example locales in locale directory (en-US, es, fr, pl) with one string translated

- an example of how to wrap strings with the _() function to make strings localizable (see reset-password/index.php, the "Reset Password" string)

- a set of maintenance scripts in locale/, with a README

You can see it live at my staging server:
http://services.dev.stasmade.com/reset-password/ (this should detect your locale and redirect accordingly)

The following should also work:
http://services.dev.stasmade.com/en-US/reset-password/
http://services.dev.stasmade.com/es/reset-password/
http://services.dev.stasmade.com/fr/reset-password/
http://services.dev.stasmade.com/pl/reset-password/

I'm using a RewriteRule in .htaccess to parse the URL like "/es/reset-password/" into "/reset-password/?locale=es". Mike, I'm flagging you for the review. Let me know if you see any issues with this patch.

The patch only adds support for localization via gettext, but we'll still need to wrap all localizable strings with the gettext's _() function. Mike, can you do that?

Also, I think that we could convert /index.html to PHP and use gettext there as well. For TOS and Privacy Policy, I think HTML will be a more suitable format, as long as you string freeze them for good. Pascal, what do you think?

Once all the strings are wrapped in the _() function and extracted to a POT file, I'll file a bug to put all localization files up on Verbatim.
Attachment #467446 - Flags: review?
Attachment #467446 - Flags: feedback?
Attachment #467446 - Flags: review?(mconnor)
Attachment #467446 - Flags: review?
Attachment #467446 - Flags: feedback?(pascalc)
Attachment #467446 - Flags: feedback?
Comment on attachment 467446 [details] [diff] [review]
Patch 1. Add gettext support

I have installed the site locally with your patch and it works fine, a couple nitpicks though:

* your redirection will probably not bypass the caching system without a vary:* header, you can reuse this:
http://viewvc.svn.mozilla.org/vc/projects/mozilla-europe.org/trunk/includes/redirect.php?revision=66823&view=markup#l36

another nit in this method is that the Location header should in theory have a full url not a relative one.

* we should not have hardcoded en-US url strings in the footer
Attachment #467446 - Flags: feedback?(pascalc) → feedback-
Here's a patch addressing Pascal's comments (thanks Pascal!).

All localizable strings still need to be wrapped with _(). This patch does not do this.
Attachment #467446 - Attachment is obsolete: true
Attachment #467815 - Flags: review?(mconnor)
Attachment #467815 - Flags: feedback?(pascalc)
Attachment #467446 - Flags: review?(mconnor)
I changed the links in the footer point to:
* http://www.mozilla.com/$locale/about/legal.html
* http://www.mozilla.com/$locale/privacy-policy.html

but I think that they still redirect to en-US versions. I think we should link to http://mozilla-europe.org/$locale/about/privacy/ for European locales. (Or, even better, redirect http://www.mozilla.com/$locale/privacy-policy.html to http://mozilla-europe.org/$locale/about/privacy/.) Not sure about the Legal Notices page. Do we have translations for that?
We usually don't translate legal documents, the ones we have on mozilla-europe are an exception because they correspond to the European regulation on data conservation for European organizations like Mozilla Europe. In particular, Mozilla Europe does not keep data collected via web forms more than 5 months. I am not sure we should redirect people to the European privacy policy as the policy is slightly different in terms.
Comment on attachment 467815 [details] [diff] [review]
Patch 2. Addressed Pascal's comments

Looks good to me.  I can handle getting the strings hooked up after this lands.
Attachment #467815 - Flags: review?(mconnor) → review+
Blocks: 592378
So... we've replaced the general user-facing parts with Account Portal (https://account.services.mozilla.com).  There's the add-on landing page (add-on will be deprecated soon), the front-page, and the ToS/PP.

I guess the question is... do we care about what's left here?  Nothing actually links to services.m.c directly anymore, except for the PP/ToS...
No longer blocks: 592378
Attachment #467815 - Flags: feedback?(pascalc)
Closing as fixed.  This was replaced by Firefox Accounts which is localized.
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.