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

Add Russian language (WIP) #411

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
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
6 changes: 6 additions & 0 deletions build.zig
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,12 @@ pub fn build(b: *std.Build) void {
.site_title = "Zig Programming Language",
.content_dir_path = "content/ja-JP",
},
.{
.code = "ru-RU",
.name = "Русский",
.site_title = "Язык программирования Zig",
.content_dir_path = "content/ru-RU",
}
},
});
}
Expand Down
90 changes: 90 additions & 0 deletions content/ru-RU/devlog/index.smd
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
---
.title = "Devlog",
.author = "",
.date = @date("2024-08-07T00:00:00"),
.layout = "devlog.shtml",
.alternatives = [{
.layout = "devlog.xml",
.output = "devlog/index.xml",
}],
.custom = {
"mobile_menu_title": "Devlog",
},
// Every entry is a block of markdown content that
// starts with a $section heading.
// The $section.id is the date of the new micro-post.
// It will also be used as the unique identifier for your
// new entry both in HTML (as the fragment value) and in
// the RSS feed.
// If you want to publish more than one entry in the same
// day, add hours, minutes and seconds to the id value.
// If you get a date parsing error on build, you messed up
// the date syntax.
// You can look at this page's '.date' frontmatter field for
// an example of a correct date string.
---

# [loongarch64 added to the download page]($section.id('2024-09-24'))

Author: Andrew Kelley

Thanks to contributions from [YANG Xudong](https://github.com/yxd-ym) and
[Alex Rønne Petersen](https://www.alexrp.com/), along with
[upgrading to LLVM 19](https://github.com/ziglang/zig/commit/c6ad4521c77372cb52adfb9a52b0854d830fed9c),
loongarch64 support in Zig is progressed enough that
[zig-bootstrap](https://github.com/ziglang/zig-bootstrap) works for this
target. In celebration, I have added loongarch64-linux to [the download
page](/download/).

# [2024-09-16]($section.id('2024-09-16'))

Author: Andrew Kelley

I've been porting stb_truetype.h to Zig on the side. Check out this snippet:

```c
{
float sum = 0;
for (i=0; i < result->w; ++i) {
float k;
int m;
sum += scanline2[i];
k = scanline[i] + sum;
k = (float) STBTT_fabs(k)*255 + 0.5f;
m = (int) k;
if (m > 255) m = 255;
result->pixels[j*result->stride + i] = (unsigned char) m;
}
}
```
⬇️
```zig
{
var sum: f32 = 0;
for (scanline, scanline2, result.pixels[j*result.stride..][0..result.w]) |s, s2, *p| {
sum += s2;
p.* = @min(@abs(s + sum)*255 + 0.5, 255);
}
}
```

Ahh, much better.

# [Zig tokenizer updated to use labeled switch statements]($section.id('2024-09-11'))

Author: Andrew Kelley

Now that Matthew landed [labeled switch continue syntax](https://github.com/ziglang/zig/pull/21257), it's time
to start using it.

[Eric Petersen swooped in for a first-time contribution](https://github.com/ziglang/zig/pull/21367),
updating Zig's tokenizer to use the new syntax, measuring a 13% wall time
performance increase for the `zig ast-check` command:

![](perf.png "perf benchmark screenshot")

This line of code tickles me:

```zig
state: switch (State.start) {
```
Binary file added content/ru-RU/devlog/perf.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
20 changes: 20 additions & 0 deletions content/ru-RU/download.smd
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
.title = "Download",
.author = "",
.date = @date("2024-08-07:00:00:00"),
.layout = "download.shtml",
.custom = {
"mobile_menu_title": "Download",
"OSs": ["Windows", "macOS", "Linux", "FreeBSD"],
},
---
# Releases
You can also [install Zig from a package manager](https://github.com/ziglang/zig/wiki/Install-Zig-from-a-Package-Manager).

There is a [JSON version of this page]($link.siteAsset('download/index.json')).

Files are signed with [minisign](https://jedisct1.github.io/minisign/) using this public key:

```
RWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U
```
62 changes: 62 additions & 0 deletions content/ru-RU/index.smd
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
.title = "Домашняя",
.author = "",
.date = @date("2024-08-07:00:00:00"),
.layout = "index.shtml",
.custom = {
"mobile_menu_title": "Домашняя",
},
---

[]($section.id("slogan"))
Zig - язык программирования общего назначения и набор инструментов для разработки **надёжного**, **оптимизированного** и **преиспользуемого** программного обеспечения.

[]($section.id("features"))
## ⚡ Простой язык
Займитесь отладкой вашего приложения вместо отладки ваших знаний языка программирования.

- Никакого скрытого потока управления.
- Никаких скрытых выделений памяти.
- Никакого препроцессора и макросов.

## ⚡ Comptime
Новый подход к метапрограммированию основанный на выполнении кода во время компиляции и ленивого определения.

- Вызывайте любую функцию во время компиляции.
- Манипулируйте типами как значениями не жертвуя производительностью.
- Comptime эмулирует итоговую архитектуру.

## ⚡ Сопровождайте с Zig
Постепенно улучшайте вашу кодовую базу на C/C++/Zig.

- Используйте Zig как независимый компилятор C/C++ поддерживающий кросс-компиляцию.
- Примените `zig build` для создания одинаковой среды разработки на всех платформах.
- Добавляйте Zig в C/С++ проекты, внедряя в ваш код богатую стандартную библиотеку.


# [Сообщество]($section.id("community").attrs("section-title"))

## [Сообщество Zig децентрализовано]($section.id("decentralized"))
Любой желающий может создать и поддерживать свое собственное место для сбора сообщества.
Не существует понятий «официальное» или «неофициальное», у каждого места сбора есть свои модераторы и правила.


## [Разработка]($section.id("main-development"))
Репозиторий Zig расположен на [https://github.com/ziglang/zig](https://github.com/ziglang/zig), где также находится трекер ошибок и обсуждаются предложения.
Соавторы должны соблюдать [Code of Conduct](https://github.com/ziglang/zig/blob/master/.github/CODE_OF_CONDUCT.md) Zig.


# [Фонд Zig Software Foundation]($section.id("zsf").attrs("section-title"))

## ZSF - некоммерческая компания

Zig Software Foundation - это некоммерческая компания, основанная в 2020 году Эндрю Келли, создателем Zig, с целью поддержки развития языка. В настоящее время ZSF может предложить оплачиваемую работу по конкурентоспособным ставкам небольшому числу основных авторов. Мы надеемся, что в будущем сможем распространить это предложение на большее число основных авторов.
Zig Software Foundation существует засчёт спонсоров.

# [Спонсоры]($section.id("sponsors").attrs("section-title"))

## [Компании-спонсоры]($section.id("corporate-sponsors"))
Эти компании финансово поддерживают Zig Software Foundation.

## [GitHub Sponsors]($section.id("github-sponsors"))
Спасибо и людям, которые [спонсируют Zig]($link.page('zsf')), проект всё таки принадлежит Open Source сообществу, а не компаниям. Эти ребята вообще спонсируют Zig на 200$/месяц или более:
Loading