Changes to translation process

256 views
Skip to first unread message

David Webster

unread,
Feb 9, 2015, 10:04:53 AM2/9/15
to alfresco-t...@googlegroups.com
Hi all,

I thought it was worth letting you all know about some changes that are happening that will impact the way translations are handled.

Background:
As some of you are aware, the Share engineers have been working on a new UI framework called Aikau. All new UI development is happening within that framework and it is therefore becoming more prominent within Share. In order to increase the pace of UI development and better support a wider range of modules, the Aikau project has been separated from the Share code base and is now its own project on Github[1]. This separation will take affect from the release of 5.0.1 and is present in the current nightly builds.

What this means for translations:
Previously all the message strings that were used within the Share UI existed within the Share codebase (our 'slingshot' project), however now there are two locations one must look at: existing UI strings a still in properties files within the slingshot project, but new and already transferred components (e.g. header and search pages) use message strings from the Aikau project. 

As a side note, this is likely to become an increasingly common situation as we're working quite hard at the moment to move away from our single monolithic codebase and towards smaller modules (e.g. as we have done with RM for some time).

Localisation tools:
To help with the localisation of our modularised code (both internally and externally), I've updated the localisation tools[2]. The ones shared on my Github page are now an exact mirror of the ones we use internally, and will hopefully make it easier to keep on top of things like the list of files that we translate (which can now be defined on a per-project basis).

Let me know if there are any questions,

David.


-- 
David Webster, Senior UI Engineer, Alfresco Software Ltd.
Twitter: @davidcognite

Matjaž Godec

unread,
Jun 4, 2015, 3:59:17 AM6/4/15
to alfresco-t...@googlegroups.com, david....@alfresco.com
Hello,

If I see correctly, Your tools adds translations to project sources.
How about external Language packs ?
Can You please explain, where in the extension structure we have to put translation files, to be picked in for example header menu.

I checked for Slovenian and all instances of Home, Shared Files, My Files, Sites, Tasks are translated but in header menu they still appear in English.
In the same header People, Repository, Admin-tools get translated strings.

Very strange and inconsistent. Or is there just some missing link, You don't share with us ?

Marcus Svensson

unread,
Jun 10, 2015, 2:18:58 AM6/10/15
to alfresco-t...@googlegroups.com, david....@alfresco.com
I'm thinking about how this can be incorporated into the crowdin project. Would it be enough to also import the aikau bundles here?

As of now as people have pointed out, the translation tools are not working for the header menu in 5.0.1 and later.

I'm not sure on how this was done with the RM sources, but perhaps it could be done in a similar way?

/Marcus

Marcus Svensson

unread,
Jun 10, 2015, 2:54:40 AM6/10/15
to alfresco-t...@googlegroups.com, david....@alfresco.com
I've done some testing and creating language packs manually for aikau is easy, maintaining them are not. The language packs created at crowdin are working for many different alfresco versions.

The way Aikau is packaged, you may have several versions of it deployed at the same time, all js & property files in the jar are put under META-INF/js/aikau/AIKAU_VERSION/alfresco/...

This means that packaging of language packs must be done for each released aikau version unless there is some general path that Aikau reads property files from? Right now it seems to be reading the property files only from within its "versioned path".

David do you have any information about how to handle this?

/Marcus

David Webster

unread,
Jun 16, 2015, 6:43:03 AM6/16/15
to Matjaž Godec, alfresco-t...@googlegroups.com
Hi Matjaž,

On Thu, Jun 4, 2015 at 8:59 AM, Matjaž Godec <matjaz...@gmail.com> wrote:
> Hello,
>
> If I see correctly, Your tools adds translations to project sources.
> How about external Language packs ?

Yes, that's correct - it's designed to work with the English and the
translation co-existing at the same path. The install and check
commands work like that, but the other commands should work against
any supplied path.

> Can You please explain, where in the extension structure we have to put
> translation files, to be picked in for example header menu.

As far as I know, the instructions contained on this page are still
current: https://wiki.alfresco.com/wiki/Language_Packs
In addition to that, translations are effectively extensions to the
properties files (with a specific locale), so can be placed in a
directory structure that matches the original, in a path that is
mapped in the extension module's XML file (e.g.
https://github.com/Alfresco/records-management/blob/master/rm-share/config/alfresco/site-data/extensions/alfresco-rm-extension.xml#L19
).

> I checked for Slovenian and all instances of Home, Shared Files, My Files,
> Sites, Tasks are translated but in header menu they still appear in English.
> In the same header People, Repository, Admin-tools get translated strings.
>
> Very strange and inconsistent.

That is very strange - the translations work for the bundled
languages. Have you tried comparing the Slovenian bundle against
another language? If that's the same, it's possible there's some bug
with loading external properties in some cases (it's not covered by
our test cases), so should be raised in JIRA (if you let me know the
JIRA number, I'll be able to take a look).

David.

David Webster

unread,
Jun 16, 2015, 7:13:55 AM6/16/15
to Marcus Svensson, alfresco-t...@googlegroups.com
Hi Marcus

On Wed, Jun 10, 2015 at 7:54 AM, Marcus Svensson <mars...@gmail.com> wrote:
[...]
> This means that packaging of language packs must be done for each released
> aikau version unless there is some general path that Aikau reads property
> files from? Right now it seems to be reading the property files only from
> within its "versioned path".
>
> David do you have any information about how to handle this?

There's no unversioned path supported in Aikau. I've had a chat with
Dave about this and we're reluctant to support that because there's no
guarantee that the bundles are in fact compatible across versions,
(strings may be added, modified, etc.). If it is causing lots of
problems though, then raise a JIRA and link it to this epic:
https://issues.alfresco.com/jira/browse/ALF-21306

David.

Marcus Svensson

unread,
Jun 16, 2015, 7:30:57 AM6/16/15
to alfresco-t...@googlegroups.com, david....@alfresco.com, mars...@gmail.com
Hi David,

I'm just get my head around how we should support this at crowdin where may translations are hosted. Until now (pre 5.0.1) language packs have been mostly compatible with both previous and future versions. Eg. a service pack for 5.0.2 or other would not require a new language pack. Even if a translation is semi-maintaned, it can usually be used in a community installation without any problems.

If I understand the process how you will handle aikau and share separately and by that between minor versions change the dependency version. Also you allow for upgrading surf independently which effectively will break any language pack attached to the installation unless you upgrade it. I might be totally wrong here but looking at the github account for Aikau you have over 20 versions released so far which means that to support all of them we would have to maintain 20 different versions of Aikau sources in a language pack.

/Marcus

Matjaz Godec

unread,
Jun 16, 2015, 4:27:13 PM6/16/15
to david....@alfresco.com, alfresco-t...@googlegroups.com
Hello,

Yes I have tried with other community Languages packs and it seems that
there is the same problem.

In header menu, few items are shown translated, but most are in English.

Lep pozdrav/Best regards
Matjaž Godec

Dne 16. 06. 2015 ob 12:42 je David Webster zapisal(a):

David Webster

unread,
Jun 19, 2015, 6:50:37 AM6/19/15
to Marcus Svensson, alfresco-t...@googlegroups.com
Hi Marcus,

I've just had a look at how the language packs are set up in Crowdin -
with one package containing all properties files for each module. I
can see how this would make it tricky to include the Aikau version in
the path. My previous thought was that you'd be able to insert the
version number during the packaging step that happens after the bundle
has been downloaded from Crowdin, but that won't work as it's
currently set up.

I'm away on holiday next week, but perhaps once I get back we could
catch up on Skype or Hangout and come up with a plan for how this
could be best managed?
David.

Marcus Svensson

unread,
Jun 22, 2015, 3:08:33 AM6/22/15
to alfresco-t...@googlegroups.com, david....@alfresco.com, mars...@gmail.com
Hi David

Sounds like a plan. I'm available 1st-3rd of July for a chat on Hangout, then I'm off on holiday for 6 weeks.

Let me know a time that suits you.

/Marcus


Richard Esplin

unread,
Jun 29, 2015, 9:08:25 PM6/29/15
to alfresco-t...@googlegroups.com, david....@alfresco.com, Marcus Svensson
I created ALF-21376 to track our research on this issue and prioritize our efforts.

https://issues.alfresco.com/jira/browse/ALF-21376

Thank you to everyone who have provided feedback on this issue, and thank you to David for researching it.

Richard

Matjaž Godec

unread,
Jul 25, 2015, 6:16:25 PM7/25/15
to Alfresco Translators, david....@alfresco.com, mars...@gmail.com, esp...@gmail.com
Hello,

I adapted Build_i18n.sh script so it makes working translation for 5.0.d.
For another aikau version one has only change/add line  ln -s all 1.0.8.1 in block:

        cd aikau
        ln -s all 1.0.8.1
        cd ..



Dne torek, 30. junij 2015 03.08.25 UTC+2 je oseba Richard Esplin napisala:
Build_i18n.sh
Reply all
Reply to author
Forward
0 new messages