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

Uyuni is now translatable

00:00

Formale Metadaten

Titel
Uyuni is now translatable
Untertitel
How we enabled it and how to contribute new languages
Serientitel
Anzahl der Teile
45
Autor
Mitwirkende
N. N.
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
Herausgeber
Erscheinungsjahr
Sprache

Inhaltliche Metadaten

Fachgebiet
Genre
Abstract
Uyuni is a software-defined infrastructure and configuration management solution. It bootstraps physical servers, creates VMs for virtualization and cloud, deploys and updates packages -even with content lifecycle management features-, builds container images, and tracks what runs on your Kubernetes clusters. All using Salt under the hood! Uyuni provides you a high-class frontend solution to interact with Salt, manage your states, formulas with forms, and much more using a web UI. Or you could use our APIs. All the major Linux distributions are supported: Red Hat Enterprise Linux, SUSE Linux Enterprise Server, Debian, Ubuntu, CentOS, openSUSE and we have reports of Oracle Linux and Fedora. Uyuni is open source, backed by SUSE and actively developed. This presentation will describe the challenges we faced when we wanted to make Uyuni translatable, and how to contribute a new translation. Hint: really easy now!
28
Vorschaubild
19:15
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
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
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
Vollständiger VerbandWechselseitige InformationTouchscreenBildschirmfensterTrennschärfe <Statistik>Computeranimation
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
in Gitter and we will commit immediately so the translation comes very very fast much faster than the software string and
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
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
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
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
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
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
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
Questions so far none. Okay, then I'm going to do the demo Stop sharing that thing
By the way, my camera was not on
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
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
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
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
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
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
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
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
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
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
Done see this super easy. It's something that you have 10 minutes. You want to translate five strings
Done super super easy Command line, yeah May I ask you a question of course
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
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
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
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
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
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
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
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
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
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
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
Yeah one more for the translation theme do you have a something
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
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
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
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
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
Yeah, very good suggestions you and me need to talk more Okay, I think I'm now out of time already
Just a small word you can extract reports of Translations on web late if you want to update your wiki with translators You can
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
taken from our
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
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