We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Localize your project wirh ease: WEBLATE

00:00

Formal Metadata

Title
Localize your project wirh ease: WEBLATE
Alternative Title
Weblate: open-source continuous localization platform
How to bring your project closer to its users with localization platform that doesn’t bother anyone with manual work.
Title of Series
Number of Parts
490
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
You will learn how to localize your project easily with little effort, open-source way. No repetitive work, no manual work with translation files anymore. Weblate is unique for its tight integration to VCS. Set it up once and start engaging the community of translators. More languages translated means more happy users of your software. Be like openSUSE, Fedora, and many more, and speak your users' language now thanks to Weblate! I will show you the main perks of Weblate and the setup of the project. If you have a project with open repo and you want to start translating it, take your git:// link, and we will set it up right on the spot. FOSDEM is a great time and place to found your translating community.
33
35
Thumbnail
23:38
52
Thumbnail
30:38
53
Thumbnail
16:18
65
71
Thumbnail
14:24
72
Thumbnail
18:02
75
Thumbnail
19:35
101
Thumbnail
12:59
106
123
Thumbnail
25:58
146
Thumbnail
47:36
157
Thumbnail
51:32
166
172
Thumbnail
22:49
182
Thumbnail
25:44
186
Thumbnail
40:18
190
195
225
Thumbnail
23:41
273
281
284
Thumbnail
09:08
285
289
Thumbnail
26:03
290
297
Thumbnail
19:29
328
Thumbnail
24:11
379
Thumbnail
20:10
385
Thumbnail
28:37
393
Thumbnail
09:10
430
438
Computing platformInternationalization and localizationUsabilityWeb 2.0Projective planeAuthorizationComputer virusLocal ringComputer programmingUMLComputer animation
Internationalization and localizationSoftware frameworkSoftwareContext awarenessInterface (computing)Vapor barrierError messageInheritance (object-oriented programming)FreewareLink (knot theory)Matching (graph theory)Endliche ModelltheoriePosition operatorGoodness of fitMachine visionFigurate numberFamilyGoogolWindowLevel (video gaming)BitGroup actionUniform resource locatorMultiplication signDigital photographyMetropolitan area networkGodProcess (computing)WebsiteData conversionCausalityLocal ringArithmetic meanAdditionComplex (psychology)Image resolutionEmailBuildingBuffer overflowSheaf (mathematics)Translation (relic)Context awarenessInterface (computing)INTEGRALMereologySoftware frameworkInternationalization and localizationDifferent (Kate Ryan album)Internet service providerRevision controlWordAxiom of choiceKeyboard shortcutSoftware developerSimilarity (geometry)Degree (graph theory)Web pageMarkup languageString (computer science)Web applicationLengthSoftwareService (economics)Medical imagingSelf-organizationProgramming languageFile formatSpacetimeInstance (computer science)InformationComputer animation
Projective planeFile formatSoftware repositorySet (mathematics)Repository (publishing)Internationalization and localizationComputer fileDemo (music)Axiom of choiceDifferent (Kate Ryan album)BuildingComputer animation
Formal languageProjective planeInformationString (computer science)Revision controlSource codeWebsiteMereologyConfiguration spaceRight angleTranslation (relic)User interfaceMathematicsTerm (mathematics)Arithmetic progressionGraph coloringState of matterProgramming languageInterface (computing)1 (number)Context awarenessLattice (order)CoalitionWindowAdditionFigurate numberGoodness of fitComputer animation
Translation (relic)CuboidPrice indexRight angleSource codeUsabilityPhysical lawStudent's t-testComputer animation
Programming languageTranslation (relic)Markup languageFormal languageBitFree variables and bound variablesInterface (computing)State of matterWeb 2.0Multiplication signIntegrated development environmentMobile appMathematicsDemo (music)CodeData storage deviceAndroid (robot)Logische ProgrammierspracheService (economics)Line (geometry)Different (Kate Ryan album)Computer programmingFile formatText editorWindowBuildingLocal ringFigurate numberOnline helpRule of inferenceMachine visionComputer animation
FacebookPoint cloudOpen source
Transcript: English(auto-generated)
OK. So let's go ahead and get started on the next one. This is Michel, and he's going to talk about the web lead. I'm saying that, right? Yeah. Go ahead. Thank you. Hello. I'm Nikak Shah, and I'm author of two programs which can help you with localizing the software,
or not only software, but any kind of project that might be used for localization. Maybe let's start from the beginning. Do you know what localization and internationalization is? Yes.
There are two things of the process. One part of the process is to make software that is possible of using in different languages. That's called modern authorization, or the short one with 18 in between because it is wrong, and it has to run together.
And the other part of the process is localization, which actually does the translation itself of the software. So you need to pick a software product, and then you can use some tooling to make it possible. There are a lot of frameworks made possible
to localize, and the way it tries to be framework agnostic. So whatever you use on your platform, be it Android application, which has native software for localization, or IO strings, or web app extension, localization, or get text,
the data can use all of that. But we need people to do the localization. And working with the people is sometimes hard because they have different knowledge, different backgrounds, and you need to make it easier for them to contribute,
especially if you are focusing on languages which are not that widely used. There are minor communities, and you will not find technically skilled people to contribute to the translations. And at the same time, it's needed to provide translators context so that they
know what they are translating. There are a lot of words which can have different meanings depending on the context. The favorite example is the name of the poster style, which is a sum. If you just look at the text,
you will probably figure out this name. But if you will just slowly see these three letters, it can be as well a shortcut for a Sunday. And if you don't know where this thing is being used, you will miss it out in the translation because it's not that easy to figure out just from this thing. So that's something where tools should
make it easier to contribute to us. At WAA, we have made, in the beginning, one design choice. We will use the interface to make the localization really easy for everybody to contribute.
That means that translators don't have to care what's underneath. They don't have to care that there is some Git version control and there is pull requests being opened with the translations and whatever the developers actually would like to have. So it's done on the tooling side and WebPipe tries to hide as much as possible
from the translators. The other thing we have decided is the version control integration. That was one of the main reasons why WebPipe actually started in the beginning because there was no other localization thing
where you integrate with the version control system and there might be some options possible but in that time it was the only one and we started with simple integration that when somebody edited a single string
it made a commit and that led to thousands of commits and it wasn't working well. So over the years we have developed something which works more clever and tries to do commits only when needed and can do pull requests with GitHub and similar additions.
I've already mentioned about context. One of the things which might be useful is just describe where this thing is used. That helps in the thing like the star in Sunday I mentioned before but there might be
more useful things to learn. For example, if you look at the screenshot context then even if the people are not that technical skill they can see where this thing is used they can see other buttons on the page and can understand what is being used.
But still, people don't make mistakes and the tool should be able to figure out that they have made some mistakes that are easy to fix or easy to spot. So we have some kind of quality checks and these are focused on
things which are to some degree certainly detectable so that we don't annoy people that much it's like missing from our strings a broken HTML markup or similar topics or things which are actually enforced
from the localization from the developer side like length of the string or space in which it should be rendered. And not everybody fits the same workflow so in the end we have came up with
add-ons to customize the workflow it can help you it can make you change where the localization format is stored or you can customize how you accept the translations you can have some review process you can have broad info suggestions all these minor
the tools that make possible to work within different scenarios and how can you start without using WebRite you can start your own instance it's just Docker image which you can start with Docker Compose and get it in
quite fast you can use also our listed service which is pretty good software or if you are looking for some commercial organization you can do that as well and let's take a quick look how it looks like I hope this feature will work fine
when creating a project basically the most important thing you need to define is software repository but they don't connect to that it will present you a set of localizable files which are found
in the repository so we have some choices here there are some underutilization it's our demo project it's not probably something that anyone will see but they just don't have some more choices so it has different file formats detected where the files are stored
and when you imported a shop in the interface you can see the status of individual translations into individual languages so we can see the only complete language is source language which is English that's because we always track all source things
as well that's quite recent change if you are looking at older versions before it was not present but it was taken underneath NMR and now it's just more visible and for the older versions you can see
some colorful progress bars which indicate different states of the string the green one is translated then there are some things
needing actually or they are ones that indicate some house checks you can look into some of the term cited string or actually not term cited string you can see the quite simple user interface the most important thing is you can enter the term cited string and you can see
other information which the website has figured out about the string this is the way the project was imported from the PO files so you don't see much additional information here which translation part is there the whole way was
extracted by the text and you can see you can add screenshots add some additional context here and there is a ghost right on top which is also what you can see right now the other thing which we have is quality checks this is again, it was imported
so it's things which are built in and don't need any configuration and there are some things which can be configured as well so the most interesting thing is the fighting for marks thing it's the check that indicates that
the translation is missing from marks thing you can see it's highlighted in the source and it's missing from the check translation so that indicates some similar problem in the translation it's highlighted like this it's listed in the things to check on the right side box so that it's
real visible and you can dismiss it if you think it's false positive actually you can fix that there is also an indication that the person is missing in this thing here that's pretty much all I wanted to show
in this short demo if you want to figure out more there will be a longer talk later today at 5pm in coding for language communities I will go in more detail on that if you want to chat with us in a less formal way, you can join us
for a beer today evening and there is also a website both tomorrow and lunch where we will discuss with logic using WebLite and going into more details about how we want to develop WebLite later on
so thanks for your attention and do you have any questions?
thank you for your talk can you quickly say how are you dealing with C data and xLif
any annotations or like that is used in Android? xLif and Android are quite different beefs with Android the thing is that it doesn't the format itself isn't well defined behavior in
XML so whenever there is some markup it tries to use it as a markup but if it's not a live markup then it still does something but we try to display the markup as is for the translation so that people can do the original thing
which was intended the XML thing it will xLif support the xLif placeholders and they are imported as XML and shown as XML in the interface and C data is
is not probably a bit counted so it's not passed as data and I'm saying I don't think we will I guess we have time for one more
I would like to break the web data into our build workflow and
are there some API that can be called to state web data or from web data to our GenQ environment is this full by the side of the translations
we have web data has API so it can control most of the things it's not yet complete that it will be able to do all the things which we are able to do in the UI but most of the things can be done on the API you can also use some webhooks notifications to let the
plate know that there are some changes in your App Store we have support for most of the code and things services and for letting the other side know that's currently almost a code program things like WordPress are pushing to get repository
directly but we don't have any outside folks right now but you can always write your add-ons to integrate with just few lines of Python and you can do your customizations so there's a way when
for example an editor approves the translation or something else the translations to say to the CIA or whatever the translations are done correctly yeah, that's it it has to be integrated with all the items
okay, thank you you're welcome