Uyuni is now translatable
This is a modal window.
Das Video konnte nicht geladen werden, da entweder ein Server- oder Netzwerkfehler auftrat oder das Format nicht unterstützt wird.
Formale Metadaten
Titel |
| |
Untertitel |
| |
Serientitel | ||
Anzahl der Teile | 45 | |
Autor | ||
Mitwirkende | ||
Lizenz | CC-Namensnennung 3.0 Unported: Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen. | |
Identifikatoren | 10.5446/54660 (DOI) | |
Herausgeber | ||
Erscheinungsjahr | ||
Sprache |
Inhaltliche Metadaten
Fachgebiet | ||
Genre | ||
Abstract |
|
openSUSE Conference 20205 / 45
5
9
14
16
19
26
28
34
35
40
00:00
SoftwareentwicklerE-MailProdukt <Mathematik>SystemprogrammierungInformationsmanagementProzessautomationSoftwareHardwareKonfigurationsraumArchitektur <Informatik>Open SourceFreewareSatellitensystemEinfache GenauigkeitBeanspruchungUnternehmensarchitekturSpielkonsoleSkriptspracheKonfigurationsraumHardwareClientComputerarchitekturProdukt <Mathematik>SoftwareProjektive EbeneServerInformationsmanagementInstantiierungElektronische PublikationVirenscannerProxy ServerElement <Gruppentheorie>Arithmetisches MittelKlassische PhysikTLSStrömungsrichtungOpen SourceIT infrastructure librarySystemverwaltungVirtuelle MaschineVersionsverwaltungCASE <Informatik>E-MailZehnBetrag <Mathematik>FacebookUniformer RaumVirtualisierungSatellitensystemComputeranimation
03:23
RechenwerkUniformer RaumKonvexe HülleKeller <Informatik>ClientSkalierbarkeitBenutzerfreundlichkeitStrom <Mathematik>Formale SpracheSoftwareBimodulTranslation <Mathematik>DatenbankAppletJackson-MethodeKomponente <Software>SoftwaretestZeichenketteDokumentenserverProzess <Informatik>ClientUniformer RaumKeller <Informatik>InformationsmanagementFormale SpracheBenutzerbeteiligungAppletZusammenhängender GraphTranslation <Mathematik>Coxeter-GruppeCASE <Informatik>VerschlingungGruppenoperationMailing-ListeWort <Informatik>SuSE LINUXBitWikiProgrammierumgebungOpen SourceDokumentenserverÜbersetzungsspeicherSoftwaretestSynchronisierungZeichenketteTrennschärfe <Statistik>GrenzschichtablösungDatenbankKrümmungsmaßSpieltheorieDateiformatVersionsverwaltungsinc-FunktionUnternehmensarchitekturServerDistributionenraumRechter WinkelIntegralProdukt <Mathematik>Konfiguration <Informatik>Minkowski-MetrikZehnZentrische StreckungE-MailMereologieVerkehrsinformationComputerarchitekturSoftwareentwicklerGüte der AnpassungPhysikalisches SystemLeckRechenschieberElektronische UnterschriftEreignishorizontEinsEinfache GenauigkeitOrakel <Informatik>InstantiierungWeb-SeiteProjektive EbeneSkalierbarkeitURLSoftwareJackson-MethodeRechenwerkComputeranimationProgramm/Quellcode
11:54
Komponente <Software>Translation <Mathematik>SoftwaretestMenütechnikZeichenketteDokumentenserverProzess <Informatik>Konvexe HülleExistenzsatzÜbersetzungsspeicherCodeWikiProgrammierumgebungFormale SpracheTranslation <Mathematik>Projektive EbeneUniformer RaumZeichenketteDokumentenserverSoftwaretestCoxeter-GruppeInhalt <Mathematik>WikiHyperlinkEchtzeitsystemGrenzschichtablösungMinkowski-MetrikZusammenhängender GraphInstantiierungProdukt <Mathematik>Front-End <Software>InformationWort <Informatik>ProgrammierumgebungCASE <Informatik>AuszeichnungsspracheVerschlingungFreewareFormale SpracheÄußere Algebra eines ModulsBinärcodeSampler <Musikinstrument>SchnittmengeSoftwareElektronische PublikationDateiformatMessage-PassingÜbersetzungsspeicherp-BlockDemo <Programm>Inverser LimesMereologieVerzweigendes ProgrammGebäude <Mathematik>BenutzerbeteiligungKlon <Mathematik>Kette <Mathematik>Ordnung <Mathematik>Mailing-ListeE-MailEinfacher Ringt-TestOffene MengeVerkehrsinformationIndexberechnungBestimmtheitsmaßSuite <Programmpaket>ASCIIEinsCodeTeilbarkeitBitFormation <Mathematik>Physikalisches SystemEreignishorizontComputeranimation
20:15
Vollständiger VerbandWechselseitige InformationTouchscreenBildschirmfensterTrennschärfe <Statistik>Computeranimation
20:51
GefrierenFrequenzWort <Informatik>PunktInformationsmanagementTranslation <Mathematik>MathematikFront-End <Software>BitMultiplikationsoperatorProzess <Informatik>Rechter WinkelWeb-SeiteWikiMailing-ListeFormale SpracheE-MailDifferenteZeichenketteSchreib-Lese-KopfVerkehrsinformationOpen SourceInstantiierungZahlenbereichZusammenhängender GraphInformationDemoszene <Programmierung>SoftwareServerKonditionszahlCodeUniformer RaumProdukt <Mathematik>Minkowski-MetrikRelativitätstheorieFreier ParameterWechselsprungPhysikalisches SystemEinfacher RingATMAuszeichnungsspracheBenutzerbeteiligungCASE <Informatik>TouchscreenDatenbankAutomatische HandlungsplanungFehlermeldungRahmenproblemGrundsätze ordnungsmäßiger DatenverarbeitungObjektorientierte ProgrammierspracheQuelle <Physik>VererbungshierarchieFormation <Mathematik>Inhalt <Mathematik>Case-ModdingArithmetisches MittelFehlertoleranzPascal-ZahlendreieckMereologieComputeranimation
Transkript: Englisch(automatisch erzeugt)
00:01
Yeah, looks good. Okay, then let's go for it So my name is Paul Garcia, I work for SUSE I'm the product owner. I'm project manager of SUSE Manager which in a way makes me the
00:21
benevolent dictator of Uyuni Because Uyuni is the upstream for SUSE Manager, okay so you can find me in Gitter, in Freenode, by email and
00:45
I want to first start by introducing what is Uyuni, in case some of you may not know it So Uyuni is a systems management solution so when you have a ton of, when you have tens of or hundreds of thousands of servers of Linux machines you want to manage, then you may find that
01:04
manual management or even some scripts that you design yourself are not exactly the easiest way, so things start to scale, you start mixing different Linuxes So we can manage with Uyuni every kind of workload from a single console or API or command line tool
01:24
We have automated audit and reporting capabilities that are always useful in the enterprise world It does software and hardware inventory, which is critical for compliance or even to just know what you have at your company And we can also do configuration management. You can deploy files for instance
01:44
antivirus definitions or configuration files so that all your servers are using exactly the same configuration, at least for some things. You can also do virtualization, you can do containers Uyuni is a huge beast
02:02
This is the architecture of Uyuni. It's a classical client server application There's an element in the middle called the proxy, which is optional as you can see You may have it or not have it. The proxy is just a mean to offloading the
02:22
downloading packages and files, that's essentially it. But all the smart management is here in the server We didn't start to Uyuni ourselves, right? So at SUSE I mean, it's originally an open source project by Red Hat called Spacewalk
02:42
Which is rather old, more than a decade ago It was the base for Red Hat Satellite 5, the current version of Red Hat Satellite 6 It's based on something completely different and also for SUSE Manager 3.2. In 2018 We realized that the Red Hat was not really interested in a spacewalk anymore. They were not
03:05
allowing the community to take over so we forked it and by the way, the spacewalk project is dead since a few months ago and Red Hat accumulates that Uyuni is the proper successor to the spacewalk
03:23
So why Uyuni? Because Uyuni is the world's largest salt flat Originally spacewalk had its own Client management stack. It's what we call the traditional stack
03:42
But we added, as SUSE added, salt. That company, that VMware, acquired recently So we use salt, the open source version, and add a lot to it And provide a nice UI automation and a lot of other things Although other features that salt doesn't have by itself
04:01
So yeah, you can see the game with the words. There's salt, Uyuni, largest salt flat So you can migrate from a spacewalk to Uyuni, it just works Or you can use the salt mini, which is our preferred option because all the new development goes into salt mini. Some basic systems are not even supported as traditional clients
04:27
So we focused, well we do Uyuni and SUSE Manager, by the way We focused on having a simple installation and adding advanced features such as containers and Kubernetes integration scale You can scale to tens of thousands of clients with a single server
04:44
We wanted to modernize also the UI and the tools Even we migrated from Python 2 and older versions of Java You can see that we continued spacewalk and made it better because we still believe that it was the right solution and the right architecture
05:05
Uyuni has been the upstream for SUSE Manager since version 4.0 two years ago Now, oops, there's a slide missing here, a subpage which is Translating is a way of contributing to Uyuni. So when people think of
05:24
contributing to an open source project, they usually think of coding, but that's not the only way of contributing Translating to your own language is a good way so forth In the past the spacewalk allowed or had translations
05:42
They become outdated a few years ago, I would say, so we never shipped them with Uyuni or SUSE Manager now we decided that we want to reintroduce translations and Of course English is the the language that Uyuni is developed in so when in doubt always refer to the English version of Uyuni and their English documentation, but
06:08
We have a very good Japanese Translation, it's completely Done for the software. So for the web UI and for the command-line tools, the documentation is not yet translated
06:22
but There's this this guy who has been working very hard for the past two months On his own and I'm really grateful to him There are other languages where we have active translators Slovak, Czech, Brazilian, Portuguese and Spanish. They still have a long way to go
06:44
and Then there are a lot a ton of obsolete translations and very incomplete languages like French, German, Russian, Arab Esperanto There's like 30 translations Which are in need of love. I saw someone saying that he will be interested
07:03
Or she will be interested in translating to Swedish, please so how to start translating Uyuni, so when we Decided to to re-enable translations we had to decide what to do how to do this and
07:24
OpenSUSE was offering weblade and while it was Not so easy for the documentation and I will talk about that later We got there. So the easiest way is just go to this URL, which is OpenSUSE's weblade and
07:41
Start translating. It's really easy You will find that it's a massive thing. So there's currently there's 110,000 words to translate if you want to translate Uyuni fully, the web UI, the command-line tools And the documentation, I'm not even including the API documentation there because that's not translatable
08:07
So far, I don't think it Will ever be because it's a massive book and it will be used by very few people But so it's a challenge 110,000 words to translate. There's a ton of components as you can see here and I'm going to explain a bit what these are
08:30
There's by the way a wiki page which I have included a link to it Explaining everything I'm going to explain in full detail. Okay, so In case you have any doubt you can refer to this wiki page or just ask us in our guitar
08:46
Channels or main list. There's also links to that at the end of the presentation Now we can group all the around 20 or more than 20 components that we have in weblade in three groups Essentially, there's the web UI, there's the command-line tools and there's a documentation. Yeah, so
09:06
web UI Web UI it's internally it uses an XML format called XLIF That's irrelevant to you because what you see weblade is a string to translate Okay, the several weblade components. There's Java
09:22
JSP, there's the Java database. There's you will see something called web All of those are the web UI Now translating is very easy. You just go to a plate, click on select a language, select a component and then BAM, start translating the strings. There's a translation memory and there's yeah
09:45
Really easy. It's just it's missing because it's it's around 40,000 40,000 words or even even slightly more Testing this is not so easy. Now if you want to see the outcome of your own translation and you want to
10:05
Test it immediately You need to essentially set up a development environment and rebuild the RPM packages in OBS So my advice will be just use Unimaster We sync, we synchronize the the strings from weblade to the union repository and
10:24
Regenerate the the RPM package is daily or almost daily for the synchronization So that's the synchronization from weblade to the git repository for the UI Is isn't for the web UI is not yet fully automated. We're working on it on that But yeah, it will still take a few weeks
10:43
I think to have it automated if you want to check something just ping us on Gitter or the mailing list and we will make it happen Okay, that's for the web UI which is one of the most interesting parts I will say I will recommend the starting with the web UI because something that
11:03
It's where people really expect to see translations Working then there's the command-line tools. So uni has a few command-line tools They are not so often used but there's a couple of them that are very useful For instance, there's the space wall command channels
11:21
Which is the tool that you need to use in uni to add products to mirror the Linux distribution So uni supports essentially every enterprise Linux distribution out there. We support SUSE Linux Enterprise, we support rehab, Enterprise Linux, we support Oracle Linux, CentOS, Ubuntu, Debian
11:42
Something called SUSE Linux Enterprise expanded support and there's even reports of people making managing Fedora and AWS, Amazon Linux with these Amazon leaks too. So yeah, you can see that you need to initially add those products and
12:01
Space wall command channels is the tool you need to use to that. So that's a good tool to translate. It's in the backend Component. There's another tool called Space CMD. Space CMD allows you to do everything you can do from the web UI but from the command line, okay, so for instance if you are you have a
12:21
You're visually impaired and you will prefer to use or you need a hearing aid and you would rather use a command-line tool and and some reader reader or something like that then Space CMD becomes important tool. Okay, there's a lot less strings to translate in the command-line tools. It's
12:45
All put together or combined around 10,000 words. There's several Web blade components again Space CMD, the backend It's like three or four components Translating is again very easy. The fact that this is using get text internally is irrelevant to you because you just go to web blade
13:07
Click on a component and start translating. That's it the translation memory works beautifully for this because there are shorter strings and They are you will see that when you start translating something magically
13:20
Some a little but certain increments in some other component That's because web blade is reusing your translation for in one place to another place. We've found exactly the same string Now again testing is not so easy because you need to set up a development environment Rebuild the RPM packages, but again
13:41
Yeah, you can use Unimaster Set up a VM with Unimaster and and daily you will get the new translation The alternative in this case is rather easy You can see it's get text you you can clone the git repository For uni and compile the po files to the binary get text files with message format this
14:05
Tool which is included in the get text package and that's it and just replace the file on this if you are really desperate and you want to test it in real time and Don't want to rebuild the packages Again these strings are not
14:22
Synchronized in real time, but it takes maybe one day two days because we do this manually so far it's some part of it is automated the other part the merging into the The master branch is not automated due to a limitation in GitHub
14:40
So that that's the two Let's say the software what we call the software strings the web UI and the command line tools But what about the documentation? This is where it got hairy I have to say our recommendation is written in ASCII block and ASCII log is a format that no translation tool supports
15:00
Unfortunately that we also use the Antora build system, but that's yeah Not so important. So There's some some details about it that require some work initially, but most of the work went into ASCII block So what are we doing with ASCII block? We are converting ASCII block to get text using a tool called PO4A
15:24
so it's PO4L and Then submitting that to weblate to translate Okay, we never keep the the translations the ASCII block for the translations in the git repository We don't need to that because that's generated content. I mentioned that because that's a question that comes very often
15:44
Translating is very easy Testing is very easy and in case you have some difficulties setting up our documentation tool chain We have to get a VM and a container. The container is not yet in under uni project But it should be in the coming days So if you go to the wiki page that I mentioned earlier and they will link after at the end of the presentation
16:07
You will find the information how to download this. It's of course, everything is under github.com slash uni project So either the VM the VM even includes a clone of the git repository a browser so that you just need to
16:22
spawn the PM and Start translating immediately and then you can test it yourself Oops in the case of the of the The documentation the translation memory does not really work that well
16:41
because In order for it to work you will need to match the full paragraph Which is not really something that you find too often So the translation memory really the only case where it Reuses strings is essentially on lists
17:02
That's something that we are trying to work with the upstream PO4a project But it's not going to be too easy The good thing is that translation are committed immediately so this is since synchronized even almost in real time and you can even click on commit yourself or ask us in the
17:28
in Gitter and we will commit immediately so the translation comes very very fast much faster than the software string and
17:40
That essentially it's a next thing will be just yeah, you can contribute to our community to uni community We are part associated in a way with OpenSUSE Many of us are SUSE employees also, by the way, so we have the mailing lists We have set up a mailing list for translators, by the way, it was created I think today. It's uni translation
18:03
OpenSUSE.org. We have a Gitter chat where you can find a lot of people from the community and You have the GitHub repositories If you want to continue with code, you will find here some instructions or if you want to set up your development environment to test in real time your translation and
18:22
If you want to continue with translations, this is the web link This is the wiki page where everything is explained component per component with even the Markup is explained here in the cases where some markup is used like in the documentation
18:41
Here's the link to the VM with their uni docs toolchain with ASCII doc, ASCII doctor And Torah everything's here with all the Ruby gems that we need so that it's easy peasy
19:01
By the way, we are also participating Hacktoberfest so if you want to Translate to you to language you can get a t-shirt for free. Just translate 1,000 words or strings and Claim it you will find for more information about Hacktoberfest here. It's an initiative It's not by SUSE or OpenSUSE. It's by Digital Ocean. It's very famous this year
19:25
There have been some slight problems with it, but Digital Ocean has quickly fixed them So you can get your t-shirt By translating no need for coding which is if you look at the most of the Hacktoberfest challenges or
19:46
Problems most of them are related to code now We also accept translations. I can do a little demo or I think we have still a few minutes for more questions
20:02
Questions so far none. Okay, then I'm going to do the demo Stop sharing that thing
20:24
By the way, my camera was not on
20:41
Select the window Here, can you see my screen now? Will you need yes, we're played okay then so here is as I said These are all the components you will see that all the docs components have docs
21:05
Before it I will recommend as I said earlier always start with the server strings Refer to the documentation when you have your in doubt about something but the condition changes very often. We We are improving it like every day
21:21
and there's Almost 800 pages of documentation. So if you start with the condition, you may find that your translation becomes outdated quite soon Let's say especially after In the second half of the year. It's like crazy. Okay, so let's say I want to translate
21:46
These just more do know this one it sounds like they already to Spanish Let's say I want to translate something in the back end I will go to the back end Try to find the language. I see this Albania Arabic, Chinese
22:01
Czech 100% Thank you Japanese 100% Spanish yeah half done So just click here. It says there's 384 strings to go Almost 3,000 words
22:23
Translate Yeah, this this this means that this string was marked for review so it needs editing and I can tell you that this String really needed anything because it was wrong
22:41
Your system was not found in the product name. There's a placeholder that we use database yeah, and you can see that this ring this relation came from Space to walk because it said are a 10 now I have fixed it save And that's it and then the next one is here
23:04
Yeah, this one is good Okay, this one Okay, this one is This one needs fixing actually in the original language in English. I'm going to try to find Something which is not translated yet. Yes, this is boring
23:26
Jump to 150. Let's see. This is not okay. So the important thing is you always need to Get these placeholders the spaces make sure that you don't change them
23:40
Because otherwise it might it might look Bad on the screen So what I in case when this markup what they usually do is I click on copy here It copies this ring with all the markup and everything and then every place here so This path under server mode point do not exist. Okay, and that's it
24:18
Done see this super easy. It's something that you have 10 minutes. You want to translate five strings
24:24
Done super super easy Command line, yeah May I ask you a question of course
24:40
Are you planning to integrate in the release plan? something like a string freezer or a period where the translators can Translate being sure that the strings will be that one without changes and so on
25:00
That's a good question. That's a very good question. So far The freeze that the code freeze that we have for uni is very very short And we will so The answer will be so far. We have not had this problem But yes, if that's a very good point and we need for SUSE manager
25:22
We have a solution for that because we have a slightly longer Freeze period but definitely for uni we need to find a Freeze date and a word translators We have not even thought of this yet because all the translations say for Japanese are so incomplete
25:41
That it doesn't make sense to ship any translation at this point right But yeah, that's definitely a good point that we should freeze At least I guess a few days How much time will you suggest? one week? more than one week software becomes old
26:05
Yeah in general depends how big is the translation thing if you have a one person will be a full-time job Yeah, it doesn't change too often
26:21
So the software thing that do not change that often and then for the for the documentation Even if the translation is a bit outdated it's not that bad because We are going to include this disclaimer saying the authoritative Translation of the recommendation is on the other language of the documentation is English
26:42
the translations might be a bit outdated the the bad thing is with the software string because if if you are Seeing or using uni in Italian and then you suddenly find the string in English. You will think I Don't like this
27:01
right The new language should be made available only if you have the translation something incomplete It's definitely not professional. Yes. So the thing is the software strings do not really change a lot these days
27:20
So it's when we add new features or improve some things in the second half of the year it's usually very small features that I Do not come with a lot of associated strings or even with no strings at all Because it's improvements in the back end now in the first half of the year, which is where we
27:41
were Susan mostly contributes to uni with new features with Say neatly new features features That's where new software strings may appear very quickly like every Every few or every week even that means that for in the head first half of the year
28:01
We will definitely need to agree on a on a software string and the translation Grace, yes That's a very good point and we will make a note of that. Thank you more questions
28:34
Yeah one more for the translation theme do you have a something
28:42
In the documentation that you are showing Pointing out which are the contacts of the translators already active for the different languages Sorry come in if there are any active what if you have a in the wiki if you have a
29:02
Least or a contact something of the different translation team Just for having a reference for someone you're joining Yes, no, there's no no translation teams so far we have these mailing lists that
29:21
Will was has been created today. I think we you need translation Mailing list Wrote it in the chat, but no if you want to find about a language who translated the easiest way is you go to Their language. Let's see for instance. I don't think we have anyone translating to Italian so far
29:44
Let's see. I was checking because there are translations. So I don't know if older from Yes Those are probably all yes. Yes Yeah, you can see it so Michael Carmen Pascal out two of the guys who worked on enabling this
30:01
How does this Fito? Okay. Yeah, it's a known one Yes on the liberal side Yeah, he also translates to Spanish. Yeah Okay, yeah, so now we don't have these but that's also a good idea to add this to the wiki
30:24
Yeah, very good suggestions you and me need to talk more Okay, I think I'm now out of time already
30:47
Just a small word you can extract reports of Translations on web late if you want to update your wiki with translators You can
31:03
Extract reports on translations translators number of strings and so on Okay, I Don't know where to find it. But This is in these reports in insights. Okay, I will find this
31:31
taken from our
31:41
We have this info page where you can find a wiki page also by the way Put this on the on the chat just Adapted to your web page. Yeah Slash
32:00
Okay Okay, I will I will take a look at this thank you Okay, any more questions comments suggestions if not, thank you very much and they will leave the scene to marina