Skip to content
Merged
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
56 changes: 56 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# lczero.org Website


## Building for development

To build and serve this Hugo website locally, follow these steps:

### Prerequisites
1. Install Hugo (extended version recommended)
- [Official Hugo installation guide](https://gohugo.io/installation/)

### Running Locally
1. Clone this repository
```sh
git clone https://github.com/LeelaChessZero/lczero.org.git
cd lczero.org
```
2. Start the development server:
```sh
hugo serve
```
3. Open your browser to:
[http://localhost:1313](http://localhost:1313)

### Additional Notes
- Use `hugo serve -D` to include draft content


## Adding a New Language Translation

### 1. Configure the Language
Add the new language to `config.toml` file under the `[languages]` section.

### 2. Translate UI Strings
1. Duplicate `i18n/en.toml` to `i18n/[new-language-code].toml`
(Example: `i18n/es.toml` for Spanish)
2. Translate all strings in the new file

### 3. Translate Content Pages
For each page you want to translate:
1. Create a copy with the language code suffix:
`original.md` to `original.[lang-code].md`
(Example: `troubleshoot.md` to `troubleshoot.es.md`)
2. Translate all content in the new file

### 4. Mark Machine Translations (Optional)
If using AI/automated translation, add this to the page's front matter:
```yaml
machineTranslated: true
```

### Notes
- Language codes should follow [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) standards
- Untranslated pages will fall back to English
- Some reference inside the page will break if that reference is also not translated.
- The top level `_index.md` inside each first section (play, blog, dev, etc) must have a translated copy for all languages present in that category.
22 changes: 22 additions & 0 deletions config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,28 +11,50 @@ enableGitInfo = true
# See https://gohugo.io/content-management/summaries/
summaryLength = 30

defaultContentLanguage = 'en'
defaultContentLanguageInSubdir = false
disableDefaultLanguageRedirect = false
enableMissingTranslationPlaceholders = true
[languages]
[languages.en]
weight = 1
languageName = "English"
languageDirection = 'ltr'
[languages.es]
weight = 2
languageName = "Español"
languageDirection = 'ltr'
[languages.hi]
weight = 3
languageName = "Hindi"
languageDirection = 'ltr'

[[menu.main]]
identifier = "menu.play"
name = "Play"
url = "/play/quickstart"
weight = 20

[[menu.main]]
identifier = "menu.watch"
name = "Watch"
url = "/watch"
weight = 30

[[menu.main]]
identifier = "menu.contribute"
name = "Contribute"
url = "/contribute"
weight = 40

[[menu.main]]
identifier = "menu.development"
name = "Development"
url = "/dev"
weight = 50

[[menu.main]]
identifier = "menu.blog"
name = "Blog"
url = "/blog"
weight = 70
Expand Down
56 changes: 52 additions & 4 deletions content/contribute/hugo/translate.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,56 @@
---
title: "Translate"
title: "Translate the Website"
weight: 100
draft: true
draft: false
summary: "Step-by-step instructions for translating lczero.org to new languages"
---

It would be great to have popular pages (how to setup, bestnet etc) to be translated/written in other languages.
TODO(Add instructions how to add translation).
### 1. Configure the Language
1. Open `config.toml` in the root directory
2. Locate the `[languages]` section
3. Add your language following the existing pattern:
```toml
[languages.xx] # Replace 'xx' with language code
weight = 2 # Display order (1=English)
languageName = "Language Name"
```

> [!NOTE] Language Codes
> Always use [ISO 639-1 standards](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) for
language codes (e.g., `es` for Spanish, `fr` for French, `de` for German).

### 2. Translate UI Strings
1. Duplicate the English UI file: Copy `i18n/en.toml` and rename it using the language code for the new
language. For example, for Spanish, you'd create `i18n/es.toml`.
2. Translate all strings in the new file


### 3. Translate Content Pages
For each page you want to translate:
1. Create a copy with the language code suffix:
`original.md` to `original.[lang-code].md`
(Example: `troubleshoot.md` to `troubleshoot.es.md`)
2. Open the new, language-specific file and translate:
- All front matter values (title, summary, etc.)
- Page content (Markdown text)

### 4. Mark Machine Translations (Optional)
If using automated translation tools, add to the page's front matter:
```yaml
machineTranslated: true
```

### Important Considerations

> [!TIP] Fallback Behavior
> If a specific page is not translated into a user's selected language, the left sidebar will
redirect to the English version.

> [!CAUTION] Broken References
> Be mindful that internal links or cross-references within a translated page cannot refer to a
default language page using a `<ref "relPageLink">`. It must refer to a translated version.

> [!IMPORTANT] Translated Index Pages
> The top-level `_index.md` file within each main content section (e.g., `content/play/_index.md`,
`content/dev/_index.md`) **must** have a translated copy for every language enabled in that
category. These index files define the section's behavior and content listings for each language.
6 changes: 6 additions & 0 deletions content/play/_index.es.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: "Dónde jugar con Lc0"
date: 2019-12-07T19:57:30+01:00
draft: false
weight: 100
---
1 change: 1 addition & 0 deletions content/play/download.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: "Download Lc0"
weight: 200
summary: Get the latest stable Lc0 builds for Windows, Linux and macOS.
---

Latest stable version: **[{{< param lc0version >}}](https://github.com/LeelaChessZero/lc0/releases/tag/{{<param lc0version>}})** | [All Releases](https://github.com/LeelaChessZero/lc0/releases)
Expand Down
46 changes: 46 additions & 0 deletions content/play/faq.es.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
title: "FAQ"
weight: 2100
summary: "Preguntas frecuentes sobre Leela Chess Zero"
machineTranslated: true
---

### ¿Qué es Lc0?

Lc0 (Leela Chess Zero) es un potente motor de ajedrez de código abierto que utiliza redes neuronales profundas y búsqueda de árboles de Monte Carlo para evaluar posiciones de ajedrez. Se inspiró en AlphaZero de Google y aprende ajedrez jugando millones de partidas contra sí mismo.

### ¿Puedo ejecutar Lc0 sin una GPU?

Sí, Lc0 puede ejecutarse en CPUs, pero será significativamente más lento que en una GPU moderna. Hay compilaciones específicas solo para CPU (como BLAS o DNNL). Estas compilaciones están incluidas en las [versiones de github](https://github.com/LeelaChessZero/lc0/releases).

### ¿Es más fuerte Stockfish o Lc0?

Esto dependerá del hardware específico y de las condiciones de prueba, pero generalmente se considera que Stockfish es ligeramente más fuerte que Lc0.

### ¿Dónde puedo encontrar la versión onnx-trt de Lc0?

`onnx-trt` es un backend experimental para Lc0 y aún no está incluido en las versiones oficiales. Esta es la versión que jugó en el TCEC Cup 15. Ten en cuenta que solo es beneficioso para GPUs de muy alto rendimiento (como las series RTX 5000/6000) y solo para redes más grandes. También cabe mencionar que la versión que compilamos para el TCEC no tiene otros backends funcionales (como `cuda`).

El binario se puede obtener de [este artefacto de compilación](https://ci.appveyor.com/api/buildjobs/r0c84cm598j6tyfl/artifacts/build%2Flc0.exe).

También necesitarás descargar el `onnxruntime` desde aquí:
[Windows](https://github.com/microsoft/onnxruntime/releases/download/v1.22.0/onnxruntime-win-x64-gpu-1.22.0.zip)
o
[Linux](https://github.com/microsoft/onnxruntime/releases/download/v1.22.0/onnxruntime-linux-x64-gpu-1.22.0.tgz).

Luego, deberás descargar las DLLs de [TensorRT](https://developer.nvidia.com/tensorrt/download/10x) y [CuDNN](https://developer.nvidia.com/cudnn-downloads), y agregarlas a tu variable PATH o al directorio que contiene el binario de lc0.

<!--
Eng: Refs do not support cross language. Ignoring for now

### ¿Cuál es la mejor red de Lc0?

No hay una única red de Lc0 que sea la mejor en todas las situaciones; depende del hardware que tengas. Puedes encontrar una lista de las mejores redes [aquí]({{<ref "bestnets">}}). -->

### ¿Es BT5 mejor que BT4?

A pesar de que BT5 tiene mejoras teóricas respecto a BT4, resultó ser más lento y peor con el mismo recuento de nodos. Las pruebas han mostrado que BT5 puede ser alrededor de 50 elo más débil que BT4 en controles de tiempo cortos y alrededor de 12 elo más débil a igual número de nodos, pese a ser un 20-50% más lento.

### ¿Lc0 o AlphaZero: cuál es más fuerte?

Lc0 ha superado con creces el éxito de AlphaZero en ajedrez y actualmente es mucho más fuerte.
File renamed without changes.
44 changes: 44 additions & 0 deletions data/es/homepage.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{
"features": {
"title": "¿Por qué Leela Chess Zero?",
"subtitle": "Lc0 es una implementación de código abierto inspirada directamente en el proyecto AlphaZero de DeepMind, y ha superado su éxito en ajedrez.",
"items": [
{
"title": "Red Neuronal de Autoaprendizaje",
"description": "Lc0 utiliza una red neuronal que aprendió ajedrez mediante autoaprendizaje, resultando en un estilo único, libre de todo sesgo humano.",
"icon": "material-symbols--psychology"
},
{
"title": "Profundo Entendimiento Posicional",
"description": "Leela comprende la estrategia a largo plazo, las estructuras de peones y los movimientos sutiles.",
"icon": "material-symbols--insights"
},
{
"title": "Código Abierto",
"description": "Completamente libre y de código abierto bajo la GPLv3.0, desarrollado por una comunidad de entusiastas e investigadores.",
"icon": "material-symbols--code"
}
]
},
"community": {
"title": "Únete a Nuestra Comunidad",
"description": "LCZero está impulsado por una comunidad de entusiastas del ajedrez, programadores e investigadores.",
"links": [
{
"name": "Discord",
"link": "https://discord.gg/pKujYxD",
"icon": "qlementine-icons--discord-fill-24"
},
{
"name": "GitHub",
"link": "https://github.com/LeelaChessZero/lc0",
"icon": "qlementine-icons--github-fill-24"
},
{
"name": "X (Twitter)",
"link": "https://x.com/LeelaChessZero",
"icon": "qlementine-icons--x-24"
}
]
}
}
44 changes: 44 additions & 0 deletions data/hi/homepage.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{
"features": {
"title": "Leela Chess Zero क्यों?",
"subtitle": "Lc0 DeepMind के AlphaZero प्रोजेक्ट से प्रेरित एक ओपन-सोर्स कार्यान्वयन है, और यह शतरंज में अत्यधिक सफल रहा है।",
"items": [
{
"title": "स्व-सीखने वाला न्यूरल नेटवर्क",
"description": "Lc0 एक ऐसे न्यूरल नेटवर्क का उपयोग करता है जिसने स्व-खेल के माध्यम से शतरंज सीखी, जिससे इसका खेल एक अनूठी शैली बनती है जो मानवीय पूर्वाग्रहों से मुक्त है।",
"icon": "material-symbols--psychology"
},
{
"title": "गहन स्थिति संबंधी अंतर्दृष्टि",
"description": "Leela दीर्घकालिक रणनीति, प्यादे की संरचनाएँ और सूक्ष्म चालों को समझती है।",
"icon": "material-symbols--insights"
},
{
"title": "ओपन-सोर्स",
"description": "GPLv3.0 के अंतर्गत पूरी तरह से मुक्त और ओपन-सोर्स, जिसे उत्साही और शोधकर्ताओं की एक समुदाय द्वारा विकसित किया गया है।",
"icon": "material-symbols--code"
}
]
},
"community": {
"title": "हमारे समुदाय में शामिल हों",
"description": "LCZero शतरंज के उत्साही, प्रोग्रामर, और शोधकर्ताओं के समुदाय द्वारा संचालित है।",
"links": [
{
"name": "Discord",
"link": "https://discord.gg/pKujYxD",
"icon": "qlementine-icons--discord-fill-24"
},
{
"name": "GitHub",
"link": "https://github.com/LeelaChessZero/lc0",
"icon": "qlementine-icons--github-fill-24"
},
{
"name": "X (Twitter)",
"link": "https://x.com/LeelaChessZero",
"icon": "qlementine-icons--x-24"
}
]
}
}
18 changes: 18 additions & 0 deletions i18n/en.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
machineTranslationNotice = 'This page was translated by a machine. Some content may be inaccurate.'
# Menu i18n strings
[menu]
play = "Play"
watch = "Watch"
contribute = "Contribute"
development = "Development"
blog = "Blog"

# Alert blockquote i18n strings
[alert]
default = "Alert"
caution = "Caution"
important = "Important"
info = "Info"
note = "Note"
tip = "Tip"
warning = "Warning"
18 changes: 18 additions & 0 deletions i18n/es.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
machineTranslationNotice = 'Esta página fue traducida por máquina. Es posible que algunos contenidos no sean precisos.'
# Menu i18n strings
[menu]
play = "Jugar"
watch = "Ver"
contribute = "Contribuir"
development = "Desarrollo"
blog = "Blog"

# Alert blockquote i18n strings
[alert]
default = "Alerta"
caution = "Precaución"
important = "Importante"
info = "Información"
note = "Nota"
tip = "Consejo"
warning = "Advertencia"
18 changes: 18 additions & 0 deletions i18n/hi.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
machineTranslationNotice = 'यह पृष्ठ मशीन द्वारा अनुवादित किया गया है। कुछ सामग्री असत्य हो सकती है।'
# Menu i18n strings
[menu]
play = "खेलें"
watch = "देखें"
contribute = "योगदान करें"
development = "विकास"
blog = "ब्लॉग"

# Alert blockquote i18n strings
[alert]
default = "सूचना"
caution = "सावधानी"
important = "महत्वपूर्ण"
info = "जानकारी"
note = "नोट"
tip = "सुझाव"
warning = "चेतावनी"
Loading