Aerial: Localization

Created on 10 Nov 2018  路  15Comments  路  Source: JohnCoates/Aerial

I am saddened that the Aerial is in English only.
I suggest to localize the program.
I am ready to assist in the translation into Russian.
(For example, you can use the service Crowdin or any other. As far as I know, using Crowdin for open source projects is free...)

2018-11-10 2 11 34
2018-11-10 2 11 30

enhancement help wanted

Most helpful comment

@hidehiro98 Yes go ahead about Resources/Community/ja.json, just make the pull request when you are ready and I'll merge it.

You can use the /locale trick to check your translation as you work on it, but the goal is to put it exactly there yes ! Sorry if I was unclear !

Also let me know about the length of the video names in the UI, if expanding the list in width would help.

All 15 comments

Hi @KovalevArtem

Yep, internationalization would be nice.

There are 3 main source of strings to translate:

  • The main UI for now is indeed english only, I will have a look at what we can do to fix that (will take some time).
  • The descriptions, if you check "Display in preferred language when available " in Text Tab (and maybe uncheck the Community thing below) you should get the descriptions when watching videos in Russian, those translations are provided by Apple.
  • On top of that we have "community descriptions" which for now are english only. If you feel like giving it a shot to translate them, you can have a look at this file : https://github.com/JohnCoates/Aerial/blob/master/Resources/Community/en.json

If you want to translate that file, please do and I'll happily merge it ! I may ask you a couple of questions if you do regarding what apple calls the "short" code (2 letter code for language, it's fr for French, en for English, and my guess is ru for Russian ?). I'll have a look at crowdin as soon as I get the UI ready for translation.

According to https://www.ibabbleon.com/iOS-Language-Codes-ISO-639.html
Russia's "short code" is "ru"

I鈥檓 in and will translate it to the ja Japanese!
And I also create the Readme.ja.md in Japanese

Thanks @NightRaider73 and thanks @hidehiro98 !

About community descriptions, while Aerial is playing, you probably saw that Aerial could display text information about the location. This information is coming directly from Apple in multiple languages.

But it's incomplete so on top of that, we wrote our own extra descriptions for the videos. You can see them in the London videos for example (you may have to disable the translation to Japanese in the Text panel to see them).

It's done with this file :
https://github.com/JohnCoates/Aerial/blob/master/Resources/Community/en.json

It contains the name of the video, and some extra information (called points of interests) :

         {
            "id" : "b6-3",
            "name" : "River Thames",
            "pointsOfInterest" : {
                "0" : "Passing the Gherkin in the City of London, on the right",
                "15" : "Approaching Tower Bridge on the River Thames, with City Hall behind and the Tower of London to the right",
                "40" : "Approaching HMS Belfast in the River Thames, passing the Walkie-Talkie on the right",
                "75" : "Traveling west up the River Thames, with The Shard on the left and St Paul鈥檚 Cathedral on the right",
                "95" : "Passing over Southwark Cathedral, with St Paul's Cathedral on the right",
                "130" : "Passing Shakespeare鈥檚 Globe in Southwark (right foreground)",
                "195" : "Passing Waterloo Station on the left, with the Palace of Westminster (Houses of Parliament) across the Thames behind",
                "210" : "Heading toward Westminster over the River Thames"
            }
        },

The number on the left is the time at which the message should appear, and the text on the right is the description. That's what can be translated. I'll try to get a french translation soon too so we can add that ! If you can translate to japanese that would be quite awesome too :)

@hidehiro98 I'm making some changes on beta 2 so you can see your results directly in Aerial more easily. Right now, the community descriptions (the en.json file I linked above) is bundled with Aerial directly. The goal is to have other translations bundled there too for regular users.

But for translators, unless you have Xcode it's going to be a pain, so I made a workaround.

In the Aerial Cache folder (you can open it from the Cache tab), if you create a /locale folder there, Aerial will try first to load jsons from there. So if you have translate and community checked in your case, Aerial will look for a ja.json there.

The /locale folder should make translators life easier :)

I'll put the new beta up later today and will update this with a link

@hidehiro98 a bit late but beta 2 is here :
https://github.com/JohnCoates/Aerial/releases/download/v1.4.6beta2/Aerial.saver.zip

It makes it much easier to see your changes directly reflected.

To recap:

  • create a /locale directory in the Aerial cache directory.
  • copy the en.json file in that directory and rename to ja.json (you can check the file that Aerial is looking for, based on your preferred language, in the debug logs), then start making changes to it.
  • when you launch this beta you'll see the changes loaded in the UI.

Let me know if you need assistance. I have a halfway done french translations, I did translate video names and the descriptions themselves.

There might be also some considerations to be made with localization such as the width of the video list. Most languages are less compact than english (french certainly is) and we may have to tweak the main UI to better handle translations. This applies mostly to video names. When it comes to the descriptions, Aerial handles multi line text pretty well (hopefully).

@glouel Thank you for the ping and the changing about the locale directory!
If it's okay, I want to create Resources/Community/ja.json and the pull request because
I think this way is easier for users including this translation. How do you think about this?

@hidehiro98 Yes go ahead about Resources/Community/ja.json, just make the pull request when you are ready and I'll merge it.

You can use the /locale trick to check your translation as you work on it, but the goal is to put it exactly there yes ! Sorry if I was unclear !

Also let me know about the length of the video names in the UI, if expanding the list in width would help.

@hidehiro98 one thing that isn't in the en.json is the Space videos. Here's a section with their name so you can translate them, just put that in the json:

        {
            "id" : "A837FA8C-C643-4705-AE92-074EFDD067F7",
            "name" : "Africa Night"
        },
        {
            "id" : "2F72BC1E-3D76-456C-81EB-842EBA488C27",
            "name" : "Africa Night and the Middle East"
        },
        {
            "id" : "12318CCB-3F78-43B7-A854-EFDCCE5312CD",
            "name" : "California to Vegas"
        },
        {
            "id" : "D5CFB2FF-5F8C-4637-816B-3E42FC1229B8",
            "name" : "Carribean"
        },
        {
            "id" : "4F881F8B-A7D9-4FDB-A917-17BF6AC5A589",
            "name" : "Carribean day"
        },
        {
            "id" : "7825C73A-658F-48EE-B14C-EC56673094AC",
            "name" : "China"
        },
        {
            "id" : "E5DB138A-F04E-4619-B896-DE5CB538C534",
            "name" : "Italy to Asia"
        },
        {
            "id" : "F439B0A7-D18C-4B14-9681-6520E6A74FE9",
            "name" : "Iran and Afghanistan"
        },
        {
            "id" : "7C643A39-C0B2-4BA0-8BC2-2EAA47CC580E",
            "name" : "Ireland to Asia"
        },
        {
            "id" : "009BA758-7060-4479-8EE8-FB9B40C8FB97",
            "name" : "Korean and Japan Night"
        },
        {
            "id" : "B1B5DDC5-73C8-4920-8133-BACCE38A08DE",
            "name" : "Mexico City to New York"
        },
        {
            "id" : "78911B7E-3C69-47AD-B635-9C2486F6301D",
            "name" : "New Zealand"
        },        
        {
            "id" : "D60B4DDA-69EB-4841-9690-E8BAE7BC4F80",
            "name" : "Sahara and Italy"
        },
        {
            "id" : "7719B48A-2005-4011-9280-2F64EEC6FD91",
            "name" : "South California to Baja"
        },
        {
            "id" : "63C042F0-90EF-4A95-B7CC-CC9A64BF8421",
            "name" : "Western Africa to the Alps"
        },

Let me know if you need any assistance and thanks for doing this !

@hidehiro98 if you are still working on this, please note that some id changed with the december 5th new batch of videos, you can see the changes here :

https://github.com/JohnCoates/Aerial/commit/28b16b197be33d2e3eb5597023dd9ed008ca4b10#diff-8ca591987ad761e7c867fdfb399a0aab

If you need any help let me know.

A quick ping to @KovalevArtem and @hidehiro98 to let them know that we've setup a translation process based on lokalise.co and that it's now super easy to contribute to the project by translating the video descriptions to your language.

If you're still interested you can see the process here.

@aitor I want to translate into Russian

@KovalevArtem please send me your email to hello AT aitor DOT is or a DM in Twitter to @_aitor

@glouel @aitor I can do translation for Polish. How I can do it?

@Soruk please send me your email to hello AT aitor DOT is or a DM in Twitter to @_aitor. Thanks!

Was this page helpful?
0 / 5 - 0 ratings