Ready to get started?Download WordPress

Translate WordPress

Tagged: core Toggle Comment Threads | Keyboard Shortcuts

  • Andrew Nacin 12:06 am on May 22, 2014 Permalink | Log in to leave a Comment
    Tags: , , core   

    Internationalization goals for WordPress 4.0

    Hello all. Earlier today I published a post on make/core called Internationalization goals for WordPress 4.0. This of course affects you so I wanted to make sure you saw it and give you the opportunity to provide feedback. I am sure you will have questions as to how this will affect translation teams, which you can ask here if you’d like.

    Let me outline the goals for WordPress 4.0. I’ll then answer what I anticipate will be some frequently asked questions.

    1. The first step installing WordPress should be to choose a language. The rest of the install process would then be in that language.
    2. You should be able to choose/switch a language from the general settings screen, after which the language pack should be downloaded.
    3. You should be able to search from the dashboard for plugins and themes that are available in your language.
    4. All localized packages should be able to be automatically generated and made available immediately as part of the core release process.
    5. Localized packages should only be used for initial downloads from WordPress.org. Instead, language packs should be transparently used for updates.

    Does this mean I will no longer need to create builds and releases?
    That’s the idea. If at time of core release you are 100% translated, then I’d want everything to be packaged up automatically. Ideally, the Rosetta builder will go away entirely.

    The builder will go away? But what about alpha/beta/RC releases?
    We’ll make it possible to build these.

    What if my locale doesn’t make any modifications?
    Once this goes into effect, you won’t be able to make local modifications anymore. The whole process is being simplified. We’ll be retiring the ability to ship a {$locale}.php file or to add files to dist/. Future adjustments will need to go through WordPress core.

    What if my locale currently requires local modifications?
    We’re not going to make the experience worse for your users by preventing you from making these modifications. As I noted in the post, about 14 locales make changes that WordPress core will need to account for first, not including readmes, licenses, and the sample config file. This is going to be similar to my efforts in 3.4 to reduce the number of hacks you needed to make. Once your locale no longer requires modifications, legacy modification support will be disabled for your locale.

    So, how are we going to translate readmes, licenses, and sample config files?
    I don’t know yet. They will either continue to be done in SVN, incorporated into the Rosetta dashboard, or somehow imported into translate.wordpress.org. You won’t need to update the readme with each version, though; we’ll be sure of that.

    Does this mean SVN won’t be needed anymore?
    The idea is to simplify the entire process down to translation. You shouldn’t need to be a developer, or know how to use version control, or be awake to immediately push a build, or be responsible for issues like this.

    What if I want to use SVN still?
    I plan to drop support for building packages directly from SVN. This isn’t just simplifying the process. It will also drastically simplify the complex build system behind Rosetta (yes, the rest of it will be open-sourced) and improve maintainability. If you’re one of the three or so translation teams that make liberal use of SVN, I imagine we can work something out. (After all, GlotPress makes it easy to import PO/MO files.)

    Will this eliminate the double-upgrade annoyances?
    You bet. There will no longer be irrelevant “in English” warnings. Automatic background updates will “just work” without leaving you confused.

    Do language packs mean I can fix a typo post-release?
    Yes! Language packs for core WordPress releases will mean that updating the strings will be separated from updating the software itself. We don’t typically change strings in a point release because it slows you down in shipping a package (which is sometimes a security fix), but we might do that in the future with enough warning. And if you have a typo in a translated string, you could fix it whenever, and the language pack would simply be rebuilt and re-served to installs — no need to wait (or hope) for a point release.

    This post mentions plugins and themes, but when is all of that coming?
    Basic language pack support is live for a few select plugins (bbPress, BuddyPress, Akismet) and I expect to have a wider pilot program ready in the coming weeks. More details to follow, promise.

    Nacin, you forgot about X!
    The post and its comments mention a few things that aren’t going to happen for 4.0, like “Admin in English,” per-user languages, per-post languages. (We need to walk before we can run.) If something is missing that should probably be in 4.0, please mention it. Or if I over-simplified something in that post (as in, it doesn’t look like I accounted for how complex something is going to be to do), please enlighten me.

    Bonus: How can I help build all of this?
    Great question! I’ll be shifting tasks into tickets on both core and meta Tracs in the coming days. If there is something in particular you want to help with, please let me know.

    • Remkus de Vries 7:17 am on May 22, 2014 Permalink | Log in to Reply

      Looking good @nacin :) Looking very good. I am super excited about what’s up ahead for what’s closing in on 50% of all WordPress users.

      Basic language pack support is live for a few select plugins (bbPress, BuddyPress, Akismet)…

      I’ve seen bbPress and Akismet being updated and getting odd results. I assume this is fixed now?

      Have you thought about scenarios where a (multi)site will have more than one language active?

      • Rasheed Bydousi 7:34 am on May 22, 2014 Permalink | Log in to Reply

        Fonts in English version looks bad in the Arabic version.
        I hope that we will stay have the option to change the fonts type.

        • Gonahkar 8:04 am on May 31, 2014 Permalink | Log in to Reply

          As @Rasheed mentioned above, some languages look ugly in WP’s default font family.
          We really need to change the default font in Persian language too.

      • Andrew Nacin 4:06 pm on May 22, 2014 Permalink | Log in to Reply

        @defries As of right now, multisite only runs an update check from the main site. However, there is a filter that allows you to request multiple languages from the API. Example usage would be to request all languages used on any site. Due to the distributed nature of multisite this may be tough to do in core, but we have a lot of opportunity to think about that.

        • Remkus de Vries 8:03 am on May 23, 2014 Permalink | Log in to Reply

          There are a lot of multi-lingual sites that fit this multi-site scenario. Would your thinking be that all those sites should add such filter in order to update all them languages?

    • Nashwan Doaqan 8:37 am on May 22, 2014 Permalink | Log in to Reply

      hmm.. Looks Good!! This will make the translation process more easier!

      1- Is this mean the WordPress package will be without translation files and they will be auto downloaded and generated when the use choose the language from the Installer? if Yes! what if I want to download a local-version to use it offline?

      2- As @Rasheed Bydousi said we shall still have the ability to change the CSS at least! ..

      Thanks for your effort !! ^_^

      • Andrew Nacin 4:14 pm on May 22, 2014 Permalink | Log in to Reply

        The standard WordPress package you download from wordpress.org/download/ will be without translation files. However, the package you download from a locale site, such as ar.wordpress.org, will include those languages, and specifically recommend that language during the selection process.

        This package, of course, will not be used for updates; instead, WordPress would use the separate “language pack” that would consist of just PO and MO files. These packs would also be hypothetically available to download, though it’s just the wp-content/languages folder that you’d be able to find in the main package.

    • Xavier Borderie 9:52 am on May 22, 2014 Permalink | Log in to Reply

      “Do language packs mean I can fix a typo post-release? Yes!”


    • Andrew Nacin 4:11 pm on May 22, 2014 Permalink | Log in to Reply

      @Rasheed @alex-ye: Once your locale no longer requires modifications and we retire the legacy builder for your locale, you will no longer be able to make CSS modifications. These changes belong in core, not as part of a language pack.

      We handle these issues in one of two ways. One, we adjust the CSS generally to account for longer strings. Two, we have locale-specific rules: https://core.trac.wordpress.org/browser/trunk/src/wp-admin/css/l10n.css. You can open tickets on Trac (under the i18n component) and any CSS problems can and will be addressed in the next version. We’ve been doing this since version 3.4 and it has been working out well, which is why we are now moving to retiring the local modifications.

      Already, RTL uses Tahoma, except for Hebrew, which uses Arial instead. Some locales also make adjustments to avoid rendering italics. If Tahoma for Arabic is not good, please open a ticket.

  • Andrew Nacin 6:57 pm on May 8, 2014 Permalink | Log in to leave a Comment
    Tags: , core,   

    WordPress 3.9.1 is out. There are no string changes.

    You may have noticed the 3.9.x project in translate.wordpress.org is not yet functional, due to some ongoing GlotPress development work. (You’ll find it doesn’t work.) The “wp/dev” project is frozen to the 3.9 branch and is the proper project to use.

    With regards to SVN: there is a core 3.9.1 tag already created, so no revision number is necessary, though the proper revision to use is 28182.

    3.9.x releases will be the last set of releases with all of these hoops to jump though. It’ll be made much easier in the coming few weeks/months.

    Thanks all and happy translating.

  • Andrew Nacin 6:37 am on April 16, 2014 Permalink | Log in to leave a Comment
    Tags: , core,   

    WordPress 3.9 is being released at 1700 GMT, or about 10 hours from now.

    I’m sorry you didn’t get more lead time on a few strings. I recognize there has been some string flux over the past week, as a result of the about page, some strings that had gone untranslated accidentally, etc. Just wanted to say I know how much time you put into these and thanks for all you do.

    After 3.9 I’ll be spending a few weeks working primarily on localization and internationalization, so expect some exciting things. :-)

  • Andrew Nacin 7:25 pm on April 8, 2014 Permalink | Log in to leave a Comment
    Tags: core,   

    WordPress 3.8.2 has been released. It is a security release. There are no string changes.

    WordPress 3.7.2 was also released, but it is only being used for auto-updates. Users are not presented with this package. There is no need to package this. It also had no string changes.

    The tags exist so you don’t need the revision number, but it’s 27893.

  • Andrew Nacin 5:48 pm on March 21, 2014 Permalink | Log in to leave a Comment
    Tags: , core   

    As mentioned in @xibe‘s thread, all strings for WordPress 3.9 have now been vetted and are ready to be translated. There are about 250 new strings across the frontend, admin, and network admin. Most are short and simple, and come from one of two places: media and the TinyMCE editor.

    Additionally, Akismet has been spun off from the main WordPress POT files. This will be included in your main package download. (You’ll be able to test this in a bit.) It looks like about 89 strings are new for Akismet 3.0.

    Additionally, there will be an about page, and possibly some help updates. I’m going to see to it that those are done by April 1. We plan to release on or about April 16.

    I don’t know when/if there will be a string freeze, but I don’t think it matters too much. Other than help/about, I don’t expect for there to be too many more strings added or changed — maybe 10-20 at most. Many teams have already completed everything so far. We’ll definitely have strings frozen by the weekend before our planned release. Again, everything has been vetted, so don’t expect much more churn — it is safe to get to work now.

    As always, if you see a typo or other problem, please open a ticket. Or if you have an issue with a string, feel free to open a new thread here.

    Happy translating!

  • Andrew Nacin 12:50 pm on March 11, 2014 Permalink | Log in to leave a Comment
    Tags: , core   

    Heads up: WordPress 3.9 Beta 1 will be announced in the next hour or so. You’ll see 3.9 on translate.wordpress.org (with all strings imported) within the next 12 hours or so, so you can get started. Thanks for your patience!

    3.9 final is targeted for mid-April.

    • Mattias Tengblad 2:26 pm on March 11, 2014 Permalink | Log in to Reply

      Great time frame to test the strings in the wild… (yes, we would like to release beta/rc-specific versions to let others get a feel for the language updates, just like we used to do)

      How about getting these things fixed BEFORE beta, rc etc? This keeps going on version after version. sv_SE probably gonna leave polyglots to its poor fate and create our own setup (only using gp/rosetta to build packages), because this isn’t working at all.

    • WordPress Türkiye 1:34 pm on March 12, 2014 Permalink | Log in to Reply

      Hi Andrew,

      Is everything alright. I don’t see a project for 3.9. My locale: tr_TR

    • Xavier Borderie 10:13 pm on March 13, 2014 Permalink | Log in to Reply

      13/03 and still nothing in sight. Anything wrong with the process?

    • Andrew Nacin 10:49 pm on March 13, 2014 Permalink | Log in to Reply

      We ran into some otherwise unrelated issues that caused some major problems on the global sites. Expect to see strings soon. I’ll be finalizing it today.

      @damst: There’s nothing to “fix” here. We’ve been holding off on pushing strings during alpha for many versions now, because strings change without warning, and too much effort was wasted translating strings that change only hours or days later. In the process, I go through every new string and double-checking it for duplication, spelling, tone, context, and comments. You may end up with slightly less time to translate but your efforts (which are very appreciated) are thus not wasted.

    • Mattias Tengblad 11:12 pm on March 13, 2014 Permalink | Log in to Reply

      @nacin ever thought about asking the translation teams how they feel about this? Work with us, not for us! Most of the times these decisions are taken without even thinking about asking polyglots. If we really can’t have a say, whats the point of sticking around?

      Polyglots need more control, and now, not as a promise where absolutely nothing is happening for a year (like other things here).

    • Gwgan 5:33 pm on March 19, 2014 Permalink | Log in to Reply

      Andrew, I’d like to be able to have access to the SVN to transfer the translated Welsh language po files through Rosetta now that 3.9 is available. How do I go about this, please, Thanks.

  • Andrew Nacin 5:02 pm on December 5, 2013 Permalink | Log in to leave a Comment
    Tags: , core, dashicons   

    Does using an “i” as an icon (for “information” ) get lost in translation?

    As a visual indicator for a notice, I imagine it’s fine. In this case, it is an action. You see it when you hover over a theme on Appearance → Themes, and you click it to get more details for the theme.

    Screen Shot 2013-12-05 at 11.50.01 AM

  • Andrew Nacin 11:02 pm on October 29, 2013 Permalink | Log in to leave a Comment
    Tags: , core,   

    WordPress 3.7.1 was released. Build it off the 3.7.1 tag and you’ll be fine (and won’t need a version number — but it is 25924).

  • Andrew Nacin 9:07 am on October 18, 2013 Permalink | Log in to leave a Comment
    Tags: , core,   

    Hello everyone! Following up on my 3.7 strings post — we are now in a 100% string freeze for WordPress 3.7. I’ve just pushed the final 55 strings for the release. The bulk of these are for A) the about page and B) email notifications for background updates.

    I don’t expect for there to be any more string changes. Of course, if you catch a typo, let us know.

    We’ll be releasing 3.7 RC1 in a few hours, and if all goes to plan, we’ll be releasing WordPress 3.7 before the middle of next week.

  • Andrew Nacin 7:44 pm on October 2, 2013 Permalink | Log in to leave a Comment
    Tags: , , core   

    Strings for WordPress 3.7

    Hello, all. I want to explain what was going on with 3.7. After we rearranged our code repositories for WordPress core, our tools that generate and import strings needed to be adjusted. At the time I also knew that a 3.6.1 security release was being prepared, so we moved the “Development” project to “3.6.x” to make sure all 3.6 and 3.6.1 releases went smoothly.

    GlotPress is not yet good at “branching,” so after I move “3.6.x” back to “Development” and create an empty “3.6.x”, I have a script that handles exporting and importing all translations. Once that happens, I can then update the original strings in the “Development” branch to reflect 3.7. If I were to just create an empty “3.6.x” and let you do the export from “Development” and import into “3.6.x”, your exports will be incomplete because the originals changed, and that’s no fun, and it makes it much harder for you to release security releases.

    (Note: This isn’t a complaint about GlotPress. I’ve had conversations with @markoheijnen about how a few adjustments can make GlotPress better for us, and I’m excited.)

    I cited 3.7 repository changes as the catalyst, but we’ve actually done this shuffling previously. No one noticed until now because this release cycle is so short. But, I’ll argue that this “shuffle” is actually a good thing. Otherwise, what happens is a few strings change per week during early “alpha” development, and translators jump all over those. But in reality, those strings are still in flux, which means you’re just doing extra work because GlotPress presented you with a string that we might change in a few days. That’s no fun for anyone, and it makes me feel really bad, because your time is valuable. Waiting a few weeks before we start to populate strings into “Development” is actually ideal.

    Okay, what about string freeze?

    You may have also noticed that 3.7 was a very “low-level” release. It primarily focused on bug fixes, code improvements, and updates. There were no major user-facing features or UI changes, which also meant there were very few strings. there are only around 76 strings new in 3.7. I imported the new strings less than two hours ago, and then I went through each of them to confirm there were no typos or changes to make. The crazy thing is in two hours, two translators are already almost done! (Props @damst and @SteveAgl.) That just goes to show how easy and quick it will be to update your translations for WordPress 3.7.

    It also showed how quickly new strings are translated. As I said, I want to make sure you feel your time is valued. So: let’s consider this point to be a “string freeze” with a qualifier. The 76 strings have been double-checked and are ready to go, and you should start translating them today. The qualifier: There will be some new strings that get added over the next week. First, we’re still polishing a few things. Second, there is also the about page, which I promise you’ll have a week to translate. We’re planning to launch 3.7 the week of October 14, so expect to hear more next week.

    What about language packs?

    The general concept of “language packs” are new in 3.7. But, a lot of the processes for how WordPress.org will be handling those is still not settled (more to come here). However, If you’re looking for something to do, may I suggest you make sure your translations for the WordPress importer plugins are up to date? Upon 3.7’s launch, any 100% translations for these plugins will be delivered to WordPress sites during updates. The same goes for bbPress, BuddyPress, and default themes, too.

    While after reading this you may come to your own conclusion, I promise there was no conspiracy, negligence, or incompetence to keep you all from translating 3.7. :-)

    Finally: If you’re at WordCamp Europe this weekend, please come find me to chat! I want to hear your thoughts and ideas.

    Happy translating!

  • Andrew Nacin 8:28 am on July 23, 2013 Permalink | Log in to leave a Comment
    Tags: , core,   

    String freeze. By now you have probably noticed that WordPress 3.6 RC1 was released a little more than a week ago. This usually corresponds to a string freeze, though there’s been a bit of a drip-drip of some more strings that needed to be translated.

    At this point, please consider strings formally frozen. If there are any necessary changes, @markjaquith and I will beg for forgiveness.

    Well, we’ll actually start begging for forgiveness in advance. The about page has not been updated for 3.6, and we will be pushing all of those strings in the next 24-36 hours. Once pushed, there will be no changes to them (previously, we’ve tinkered with them a bit); it too will be frozen. The about page is a good amount of strings, but since so many of you are so far along in translating WordPress 3.6 (many of you only have two dozen short strings to go), we’re really confident in your abilities — and, of course, appreciate your hard work in making WordPress available in your language.

    Timeline: At this time, I would expect WordPress 3.6 to be released early next week.

  • Mattias Tengblad 1:27 am on July 19, 2013 Permalink | Log in to leave a Comment
    DaMsT • sv.wordpress.org editor
    Tags: core,   

    What happend to string freeze?

  • Andrew Nacin 11:18 pm on January 24, 2013 Permalink | Log in to leave a Comment
    Tags: , core,   

    WordPress 3.5.1 has been released. It’s a security release, with no string changes, so please kick your localized builds out the door! Thanks.

  • Andrew Nacin 5:20 pm on December 9, 2012 Permalink | Log in to leave a Comment
    Tags: , core,   

    We’re still aiming to release WordPress 3.5 tomorrow (target is 16:00 UTC). In the meantime, we’ve made two more string changes in the interest of clarifying some of the gallery settings. Both suggestions came from translators (and others) —

    • “Random” (with the context “gallery order”) is now “Random Order”
    • “Describe this image…” is now “Caption this image…”

    Note there are also “Describe this audio/video/file…” strings, but they can only be triggers by plugins for WordPress 3.5, so I didn’t want to needlessly give you three more strings to translate.

    That’s it, by the way. We’ve continued to make a few tweaks but at this point, if it hasn’t been proposed or reported, we’re done.

    You guys rock, talk to you tomorrow!

    • Ze Fontainhas 8:37 pm on December 9, 2012 Permalink | Log in to Reply

      Thanks for the update. Could we have a .pot harvest run as soon as possible, just to make sure everything’s in place?

      • Andrew Nacin 9:16 pm on December 9, 2012 Permalink | Log in to Reply

        Yep, I made sure it ran before I posted this. There are still some translation-set caching issues with GlotPress, but I’ve refreshed that (and added it to my list for things to look into).

  • Andrew Nacin 9:33 am on December 6, 2012 Permalink | Log in to leave a Comment
    Tags: , core   

    Final notes for WordPress 3.5:

    1. Expect a release in 10 to 36 hours from now. (The time is currently 0930 UTC. This general window I am providing you is thus is 1900 today to 2100 tomorrow). The release checklist takes up to an hour, which includes letting you know a release is pending, so you will have some lead time while we run through it. (We’ll be in IRC, #wordpress-dev.)

    2. The “% selected” string is in core. The translator’s comment: This is a would-be plural string used in the media manager. If there is not a word you can use in your language to avoid issues with the lack of plural support here, turn it into “selected: %d” then translate it. For more see #22749.

    3. Two strings, “Insert from URL” and “Set Featured Image”, were added to complete the media modal.

    4. Two strings, “Refresh” and “Description”, were moved from the admin to the frontend, which meant a POT file change. (We can probably make this seamless in the future.)

    Thanks for your patience this cycle. It has been a very enjoyable one. :-)

compose new post
next post/next comment
previous post/previous comment
show/hide comments
go to top
go to login
show/hide help
shift + esc