Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 17063a7

Browse filesBrowse files
committed
Update scripts to handle tranlsations
1 parent d7f0545 commit 17063a7
Copy full SHA for 17063a7

File tree

7 files changed

+226
-136
lines changed
Filter options

7 files changed

+226
-136
lines changed

‎.github/workflows/docbuild-and-upload.yml

Copy file name to clipboardExpand all lines: .github/workflows/docbuild-and-upload.yml
-3Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,6 @@ jobs:
5050
# https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html#github-actions-azure-pipelines-travis-ci-and-gitlab-ci-cd
5151
run: sudo apt-get update && sudo apt-get install -y libegl1 libopengl0
5252

53-
- name: Download and update translations
54-
run: python web/pandas_translations.py
55-
5653
- name: Test website
5754
run: python -m pytest web/
5855

‎.gitignore

Copy file name to clipboardExpand all lines: .gitignore
-1Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,6 @@ doc/source/savefig/
145145

146146
# Web & Translations #
147147
##############################
148-
web/pandas-translations.tar.gz
149148
web/translations/
150149
web/pandas/pt/
151150
web/pandas/es/

‎web/pandas/_templates/layout.html

Copy file name to clipboardExpand all lines: web/pandas/_templates/layout.html
+5-1Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<!DOCTYPE html>
2-
<html>
2+
<html lang="{{ selected_language }}">
33
<head>
44
<script defer data-domain="pandas.pydata.org" src="https://views.scientific-python.org/js/script.js"></script>
55
<title>pandas - Python Data Analysis Library</title>
@@ -15,6 +15,8 @@
1515
href="{{ base_url }}{{ stylesheet }}">
1616
{% endfor %}
1717
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
18+
<meta id="languages" data-lang="{{ languages }}">
19+
<script src="{{ base_url }}static/js/language_switcher.js"></script>
1820
</head>
1921
<body>
2022
<header>
@@ -50,6 +52,8 @@
5052
</li>
5153
{% endif %}
5254
{% endfor %}
55+
<!-- Language switcher -->
56+
<div id="language-switcher-container"></div>
5357
</ul>
5458
</div>
5559
</div>

‎web/pandas/config.yml

Copy file name to clipboardExpand all lines: web/pandas/config.yml
+6Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,3 +204,9 @@ sponsors:
204204
kind: partner
205205
roadmap:
206206
pdeps_path: pdeps
207+
translations:
208+
url: https://github.com/Scientific-Python-Translations/pandas-translations/archive/refs/heads/main.tar.gz
209+
folder: translations
210+
default_language: 'en'
211+
ignore:
212+
- docs/
+60Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
window.addEventListener("DOMContentLoaded", function() {
2+
var BASE_URL = location.protocol + "//" + location.hostname + ":" + location.port
3+
var CURRENT_LANGUAGE = document.documentElement.lang;
4+
var PATHNAME = location.pathname.replace('/' + CURRENT_LANGUAGE + '/', '')
5+
var languages = JSON.parse(document.getElementById("languages").getAttribute('data-lang').replace(/'/g, '"'));
6+
const language_names = {
7+
'en': 'English',
8+
'es': 'Español',
9+
'fr': 'Français',
10+
'pt': 'Português'
11+
}
12+
13+
// Create dropdown menu
14+
function makeDropdown(options) {
15+
var dropdown = document.createElement("li");
16+
dropdown.classList.add("nav-item");
17+
dropdown.classList.add("dropdown");
18+
19+
var link = document.createElement("a");
20+
link.classList.add("nav-link");
21+
link.classList.add("dropdown-toggle");
22+
link.setAttribute("data-bs-toggle", "dropdown");
23+
link.setAttribute("href", "#");
24+
link.setAttribute("role", "button");
25+
link.setAttribute("aria-haspopup", "true");
26+
link.setAttribute("aria-expanded", "false");
27+
link.textContent = language_names[CURRENT_LANGUAGE];
28+
29+
var dropdownMenu = document.createElement("div");
30+
dropdownMenu.classList.add("dropdown-menu");
31+
32+
options.forEach(function(i) {
33+
var dropdownItem = document.createElement("a");
34+
dropdownItem.classList.add("dropdown-item");
35+
dropdownItem.textContent = language_names[i] || i.toUpperCase();
36+
dropdownItem.setAttribute("href", "#");
37+
dropdownItem.addEventListener("click", function() {
38+
if (i == 'en') {
39+
URL_LANGUAGE = '';
40+
} else {
41+
URL_LANGUAGE = '/' + i;
42+
}
43+
var PATHNAME = location.pathname.replace('/' + CURRENT_LANGUAGE + '/', '/')
44+
var newUrl = BASE_URL + URL_LANGUAGE + PATHNAME
45+
window.location.href = newUrl;
46+
});
47+
dropdownMenu.appendChild(dropdownItem);
48+
});
49+
50+
dropdown.appendChild(link);
51+
dropdown.appendChild(dropdownMenu);
52+
return dropdown;
53+
}
54+
55+
var container = document.getElementById("language-switcher-container");
56+
if (container) {
57+
var dropdown = makeDropdown(languages);
58+
container.appendChild(dropdown);
59+
}
60+
});

‎web/pandas_translations.py

Copy file name to clipboardExpand all lines: web/pandas_translations.py
-89Lines changed: 0 additions & 89 deletions
This file was deleted.

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.