Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spike to work on multlingual support #13724

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 17 additions & 28 deletions config/_default/hugo.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
theme: devopsdays-theme
baseURL: https://www.devopsdays.org/
languageCode: en-us
defaultContentLanguage: en
GoogleAnalytics: UA-9713393-1
title: DevOpsDays
buildDrafts: false
Expand All @@ -19,35 +20,23 @@ languages:
disabled: false
languageCode: en-US
languageDirection: ltr
languageName: Englist
languageName: English
weight: 0

# menus:
# main:
# - name: events
# pageRef: /events
# weight: -150
# identifier: events
# - name: blog
# pageRef: /blog
# weight: -140
# identifier: blog
# - name: sponsor
# pageRef: /sponsor
# weight: -130
# identifier: sponsor
# - name: speaking
# pageRef: /speaking
# weight: -120
# identifier: speaking
# - name: organizing
# pageRef: /organizing
# weight: -110
# identifier: organizing
# - name: about
# pageRef: /about
# weight: -100
# identifier: about
params:
flag: ":us:"
pt-br:
disabled: false
languageCode: pt-BR
languageName: português (Brasil)
weight: 1
params:
flag: ":brazil:"
fr:
disabled: false
languageCode: fr
languageName: Français
params:
flag: ":fr:"

permalinks:
page: /:filename/
Expand Down
25 changes: 25 additions & 0 deletions config/_default/menus.fr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
main:
- name: events
pageRef: /events
weight: -150
identifier: events
- name: blog
pageRef: /blog
weight: -140
identifier: blog
- name: sponsor
pageRef: /sponsor
weight: -130
identifier: sponsor
- name: speaking
pageRef: /speaking
weight: -120
identifier: speaking
- name: organizing
pageRef: /organizing
weight: -110
identifier: organizing
- name: about
pageRef: /about
weight: -100
identifier: about
25 changes: 25 additions & 0 deletions config/_default/menus.pt-BR.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
main:
- name: events
pageRef: /events
weight: -150
identifier: events
- name: blog
pageRef: /blog
weight: -140
identifier: blog
- name: sponsor
pageRef: /sponsor
weight: -130
identifier: sponsor
- name: speaking
pageRef: /speaking
weight: -120
identifier: speaking
- name: organizing
pageRef: /organizing
weight: -110
identifier: organizing
- name: about
pageRef: /about
weight: -100
identifier: about
69 changes: 69 additions & 0 deletions content/events/2023-chicago/welcome.pt-br
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
+++
Title = "devopsdays Chicago 2023"
Type = "welcome"
aliases = ["/events/2023-chicago/"]
Description = "DevOpsDays Chicago is coming back in 2023! The group that brought you DevOpsDays Chicago 2014-2022 is back together and planning the 2023 event. We're encouraged by the feedback from previous year's events and are determined to bring an improved experience and continue the DevOps conversation for 2023 in Chicago."
+++
{{< youtube avEQjr4Ye1I >}}
<br><br>
or <a href = "https://www.youtube.com/watch?v=avEQjr4Ye1I">go directly to the stream on YouTube!</a>
<div class = "row" id = "main-row">
<div class = "col-md-6 push-md-6" id = "left-col">
<div class="row" id = "covid-row">
<div class="alert alert-info" role="alert" id = "covid-alert">
<h2>COVID-19</h2>
<p>While we are making every attempt to hold an in-person event in 2023, we recognize that the ongoing pandemic may affect this plan. The health and well-being of our attendees is of paramount importance, so we reserve the right to apply reasonable attendance requirements in accordance with local or federal guidance. {{< event_link page="covid-19-policy" text="You can read our 2023 COVID-19 policy here" >}}. We also reserve the right to cancel completely, or change to a virtual event, if the in-person event cannot be held safely.</p>
<!-- <p>While we are making every attempt to hold an in-person event in 2023, we recognize that the ongoing pandemic may affect this plan. The health and well-being of our attendees is of paramount importance, so we reserve the right to apply reasonable attendance requirements in accordance with local or federal guidance. {{< event_link page="covid-19-policy" text="You can read our 2022 COVID-19 policy here" >}}. We also reserve the right to cancel completely, or change to a virtual event, if the in-person event cannot be held safely.</p> -->
</div> <!-- end covid-alert -->
</div><!-- end covid-row -->

From fledgling startups to established industry, the Midwest is home to a large, vibrant technology community. Chicago, in particular, has been a flurry of activity in the past several years, drawing attention from around the globe.
<br><br>
DevOpsDays Chicago brings development, operations, QA, InfoSec, management, and leadership together to discuss the culture and tools to make better organizations and products. The 2023 event will be the ninth time we have held DevOpsDays Chicago, and it should be bigger and better than ever before!
<br><br>
The format of DevOpsDays Chicago includes a single track of 30 minute talks in the morning of each day, followed by Ignite talks (5 minute lightning talks). We spend the rest of the afternoon in Open Spaces, which are considered a key portion of the event.
<br><br>
The organizers of DevOpsDays Chicago believe that the community is stronger when all can participate, therefore we are dedicated to making the 2023 event as accessible as possible, including captioning for the morning talks. [Our venue](../location) is accessible as well. If you have any questions about any specific accommodation you may need in order to attend, please email [email protected].
<br><br>
<div class = "row">
<div class = "col-md-12">
<div class = "row">
<div class = "col-md-6">

<!-- Begin Mailchimp Signup Form -->
<link href="//cdn-images.mailchimp.com/embedcode/slim-10_7.css" rel="stylesheet" type="text/css">
<style type="text/css">
#mc_embed_signup{background:#fff; clear:left; font:14px Helvetica,Arial,sans-serif; }
/*Add your own Mailchimp form style overrides in your site stylesheet or in this style block.
We recommend moving this block and the preceding CSS link to the HEAD of your HTML file.*/
</style>
<div id="mc_embed_signup">
<form action="https://devopsdays.us17.list-manage.com/subscribe/post?u=73fa675560db334c7a7c193b4&amp;id=f0b1752604" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
<div id="mc_embed_signup_scroll">
<label for="mce-EMAIL">Get updates on DevOpsDays Chicago in your email!</label>
<input type="email" value="" name="EMAIL" class="email" id="mce-EMAIL" placeholder="email address" required>
<!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->
<div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_73fa675560db334c7a7c193b4_f0b1752604" tabindex="-1" value=""></div>
<div class="clear"><input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button"></div>
</div>
</form>

</div>

<!--End mc_embed_signup-->
</div>
</div>
</div>
</div>

</div>
<div class = "col-md-6 pull-md-6" id = "right-col">
<h2>The DevOps Yak is Back!</h2>
<img src = "/events/2022-chicago/yak.png" class = "img-fluid">

</div>

</div>

<p class="font-italic">Header image By King of Hearts (Own work) [<a href="http://creativecommons.org/licenses/by-sa/3.0">CC BY-SA 3.0</a> or <a href="http://www.gnu.org/copyleft/fdl.html">GFDL</a>], <a href="https://commons.wikimedia.org/wiki/File%3AChicago_from_North_Avenue_Beach_June_2015_panorama_2.jpg">via Wikimedia Commons</a><br><Br>
<a rel="me" href="https://hachyderm.io/@devopsdayschi">Mastodon</a></p>
36 changes: 36 additions & 0 deletions content/page/about.pt-br.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
+++
Categories = []
Description = ""
Tags = []
date = "2024-01-19T15:11:58+02:00"
title = "sobre devopsdays"
aliases = ["/contact/"]

+++

Devopsdays é uma série mundial de conferências técnicas que cobrem tópicos de desenvolvimento de software, operações de infraestrutura de TI e a interseção entre eles. Cada evento é administrado por voluntários da área local.

A maioria dos eventos devopsdays apresenta uma combinação de palestras selecionadas (veja [chamadas para propostas](/speaking/)) e conteúdo auto-organizado [espaço aberto](/open-space-format/). Os tópicos geralmente incluem automação, testes, segurança e cultura organizacional.

### History

The first devopsdays was held in Ghent, Belgium in 2009. Since then, devopsdays events have multiplied, and if there isn't one in your city, [check out the information](/organizing/) about organizing one yourself!


### About the organization
The devopsdays global core organizer team guides local organizers in hosting their own devopsdays events worldwide. Active global core organizers onboard and guide events, answer questions, and maintain the website. Advisory global core organizers are less involved day-to-day but weigh in on important matters and assist as needed. Emeritus global core organizers are no longer involved in the core team; we thank them for their past efforts.

**Global Core Organizers**

{{< list_core_active >}}

{{< list_core_advisory >}}

{{< list_core_emeritus >}}

If you have questions about hosting your own event or about potential future events you don't see listed, [email the active and advisory global core organizers](mailto:[email protected]). The global core organizers cannot answer questions about sponsorships or registration for individual cities.

### Contact a specific event

Organization is decentralized. Local events handle their own sponsorships, registration, and all other organization. For questions about a specific event you see listed on the site, contact the local organizers for that event; their email is on their contact page.

4 changes: 4 additions & 0 deletions i18n/en.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- id: languages
other: languages
- id: location
other: location
4 changes: 4 additions & 0 deletions i18n/fr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- id: languages
other: langages
- id: location
other: emplacement
4 changes: 4 additions & 0 deletions i18n/pt-BR.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- id: languages
other: línguas
- id: location
other: location
4 changes: 2 additions & 2 deletions themes/devopsdays-theme/layouts/_default/baseof.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@
</head>
<body lang="{{ .Site.Params.Lang }}">
{{- partialCached "global_navbar.html" . -}}
{{- if and (eq (index (split (.Permalink | relURL) "/") 1) "events") (ne .Type "events") -}}
{{- if and (or (eq (index (split (.Permalink | relURL) "/") 1) "events") (eq (index (split (.Permalink | relURL) "/") 2) "events")) (ne .Type "events") -}}
{{- partial "events/event_navbar.html" . -}}
{{- end -}}
<div class="container-fluid">
<div class="row">
{{- if .IsPage -}}
{{- if or (eq (index (split (.Permalink | relURL) "/") 1) "events") (eq .Type "events") -}}
{{- if or (or (eq (index (split (.Permalink | relURL) "/") 1) "events") (eq (index (split (.Permalink | relURL) "/") 2) "events")) (eq .Type "events") -}}
<div class="col-md-12">
{{- block "main" . }}
{{- end -}}
Expand Down
10 changes: 10 additions & 0 deletions themes/devopsdays-theme/layouts/_default/single.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
{{ define "main" }}
<h1>{{ .Title }}</h1>
{{ if .IsTranslated }}
<h4>{{ i18n "translations" }}</h4>
<ul>
{{ range .Translations }}
<li>
<a href="{{ .RelPermalink }}">{{ .Lang }}: {{ .LinkTitle }}{{ if .IsPage }} {{ end }}</a>
</li>
{{ end }}
</ul>
{{ end }}
{{ .Content }}
<div id="share"></div>

Expand Down
13 changes: 13 additions & 0 deletions themes/devopsdays-theme/layouts/event/single.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,19 @@
{{- partial "welcome.html" . -}}
{{- else -}}
<h1>devopsdays {{ $e.city }} - {{ .Title }}</h1>
<!--translations-->
<!-- :brazil: -->
{{ if .IsTranslated }}
<h4>{{ i18n "translations" }}</h4>
<ul class="list-group list-group-horizontal">
{{ range .Translations }}
<li class="list-group-item">
<a href="{{ .RelPermalink }}">{{ .Language.Lang }}: {{ .LinkTitle }} {{ .Language.Params.flag | emojify}}</a>
</li>
{{ end }}
</ul>
{{ end }}
<!-- end translations -->
{{ .Content }}
{{- end -}}
<br />
Expand Down
1 change: 0 additions & 1 deletion themes/devopsdays-theme/layouts/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@

{{- $upcoming := slice -}}
{{- $upcoming = partial "functions/get-upcoming-events" . -}}

<div class="row">
{{- range sort $upcoming "startdate" -}}
{{- if .startdate -}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,11 @@
{{- end -}}
{{- end -}}
<li class="nav-item active">
<a class="nav-link" href='{{$.Scratch.Get "url" }}'>{{ .name }}</a>
{{ with (i18n .name)}}
<a class="nav-link" href='{{$.Scratch.Get "url" }}'>{{ . }}</a>
{{ else }}
<a class="nav-link" href='{{$.Scratch.Get "url" }}'>{{ .name }}</a>
{{ end }}
</li>
{{- end -}}
{{- end -}}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
<!-- this function takes in the permalink of an event and returns the index for the event's data file -->
{{ $slug := (index (split ($.Page.Permalink | relURL) "/") 2) }}
{{ $slug := "" }}
{{ if eq "events" (index (split ($.Page.Permalink | relURL) "/") 1)}}
{{ $slug = (index (split ($.Page.Permalink | relURL) "/") 2) }}
{{ else }}
{{ $slug = (index (split ($.Page.Permalink | relURL) "/") 3) }}
{{ warnf "The slug is %s" $slug }}
{{ warnf "The permalink is %s" $.Page.Permalink }}
{{ end }}


{{ $year := (index (split $slug "-" ) 0) }}
{{ $city := substr $slug 5 }}
{{ $e := index $.Site.Data.events $year $city "main" }}
Expand Down
8 changes: 8 additions & 0 deletions themes/devopsdays-theme/layouts/partials/global_navbar.html
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@
{{- range .Site.Menus.main -}}
<li class="nav-item global-navigation"><a class = "nav-link" href="{{ .URL }}">{{ .Name }}</a></li>
{{- end -}}
<li class="nav-item dropdown global-navigation">
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="" role="button" aria-expanded="false">{{ i18n "languages" }}</a>
<div class="dropdown-menu">
{{ range $.Site.Home.AllTranslations }}
<a class="dropdown-item" href="{{ .RelPermalink }}">{{ .Language.LanguageName }}</a>
{{ end }}
</div>
</li>
</ul>
</div>
</nav>
Loading