mirror of
https://gitlab.com/octtspacc/sitoctt
synced 2025-06-05 22:09:20 +02:00
Nuovi progetti, Agg. script traduzione
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env python3
|
||||
ModificationMetadataKey = "lastmod"
|
||||
KeepOriginalMetadata = ["draft", "date", "lastmod"]
|
||||
KeepOriginalMetadata = ["draft", "date", "lastmod", "slug"]
|
||||
DestinationLanguages = ["it", "en", "es", "fr"] # "de", "eo"
|
||||
IncludePaths = ["/"]
|
||||
ExcludePaths = ["/miscellanea/Devlogs.md", "/admin.md"] # "/miscellanea/PicoBlog.md"
|
||||
ExcludePaths = ["/miscellanea/Devlogs.md", "/miscellanea/Percent-Encoding.md", "/admin.md"] # "/miscellanea/PicoBlog.md"
|
||||
TranslationFixes = {
|
||||
"{{<assetsRoot>}}_/": "{{< assetsRoot>}}/",
|
||||
"{{< assetsRoot >}}_/": "{{< assetsRoot >}}/",
|
||||
@@ -108,6 +108,7 @@ def number_to_ascii(number:int) -> str:
|
||||
# TODO handle .notranslate HTML elements
|
||||
# TODO fix strange bugs, including bug of autoinserted trailing underscores '_', and HTML closing tags breaking
|
||||
def wrap_for_translation(original_text):
|
||||
external_tokens = []
|
||||
original_text = (original_text
|
||||
.replace("{{%", "{{@%").replace("%}}", "%@}}") # Hugo shortcodes
|
||||
.replace("{{<", "{{@<").replace(">}}", ">@}}")
|
||||
@@ -116,15 +117,18 @@ def wrap_for_translation(original_text):
|
||||
original_tokens = original_text.split("{{@")
|
||||
for i in range(1, len(original_tokens)):
|
||||
token_tokens = original_tokens[i].split("@}}")
|
||||
external_tokens.append("{{@" + token_tokens[0] + "@}}")
|
||||
token_tokens[0] = (f"{TranslationMagic}__" + str(ascii_to_number("{{@" + token_tokens[0] + "@}}")).replace("1", "1_").replace("9", "9_") + "__")
|
||||
original_tokens[i] = ''.join(token_tokens)
|
||||
return ''.join(original_tokens)
|
||||
return (''.join(original_tokens), external_tokens)
|
||||
|
||||
def unwrap_from_translation(translated_text):
|
||||
def unwrap_from_translation(translated_text, external_tokens):
|
||||
translated_tokens = translated_text.split(f"{TranslationMagic}__")
|
||||
for i in range(1, len(translated_tokens)):
|
||||
token_tokens = translated_tokens[i].split("__")
|
||||
token_tokens[0] = number_to_ascii(token_tokens[0].replace(' ', '').replace('_', ''))
|
||||
token_tokens[0] = external_tokens.pop(0) #number_to_ascii(token_tokens[0].replace(' ', '').replace('_', ''))
|
||||
if (token_tokens[1].startswith('_')):
|
||||
token_tokens[1] = token_tokens[1][1:] # Extra underscore insertion workaround
|
||||
translated_tokens[i] = (token_tokens[0] + "__".join(token_tokens[1:]))
|
||||
return (''.join(translated_tokens)
|
||||
.replace("{{@%", "{{%").replace("%@}}", "%}}") # Hugo shortcodes
|
||||
@@ -139,7 +143,7 @@ def translate_document(document_path, documents):
|
||||
printf(f"* {document_path} ->")
|
||||
for destination_language in documents[document_path]:
|
||||
source_language = get_source_language(document_path)
|
||||
original_text = wrap_for_translation(read_original_document(document_path))
|
||||
original_text, external_tokens = wrap_for_translation(read_original_document(document_path))
|
||||
printf('', destination_language)
|
||||
try:
|
||||
is_python_translator = True
|
||||
@@ -175,7 +179,7 @@ def translate_document(document_path, documents):
|
||||
translated_text = ''.join(translated_tokens)
|
||||
elif translated_text.strip():
|
||||
translated_text = (translated_preamble + translated_text)
|
||||
translated_text = unwrap_from_translation(translated_text)
|
||||
translated_text = unwrap_from_translation(translated_text, external_tokens)
|
||||
for replacement in TranslationFixes:
|
||||
translated_text = translated_text.replace(replacement, TranslationFixes[replacement])
|
||||
destination_path = make_destination_path(document_path, destination_language)
|
||||
@@ -198,7 +202,7 @@ def main():
|
||||
def read_from_scripts(relative_path:str):
|
||||
return open((dirname(realpath(__file__)) + "/../" + relative_path), 'r').read()
|
||||
|
||||
TranslationMagic = ("__" + str(ascii_to_number("sitoctt")))
|
||||
TranslationMagic = ("__" + str(ascii_to_number("sito.octt")))
|
||||
|
||||
if __name__ == "__main__":
|
||||
globals_text = read_from_scripts("Lib/Globals.sh")
|
||||
|
21
content/it/projektoj/BloccSpacc.md
Normal file
21
content/it/projektoj/BloccSpacc.md
Normal file
@@ -0,0 +1,21 @@
|
||||
+++
|
||||
Title = "BloccSpacc"
|
||||
Slug = "BloccSpacc"
|
||||
canonicalUrl = "https://github.com/octospacc/BloccSpacc"
|
||||
+++
|
||||
|
||||
{{< embed "https://hlb0.octt.eu.org/Misc/BloccSpacc/" app "width: 540px; height: 560px;" >}}
|
||||
|
||||
Tutte le informazioni e il codice sorgente sono disponibili su Git:
|
||||
|
||||
* https://gitlab.com/octospacc/BloccSpacc
|
||||
* https://github.com/octospacc/BloccSpacc
|
||||
* https://gitea.it/octospacc/BloccSpacc
|
||||
|
||||
## LEGGIMI originale
|
||||
|
||||
<blockquote>
|
||||
|
||||
{{< GetRemote "https://gitlab.com/octospacc/BloccSpacc/-/raw/main/README.md" markdown >}}
|
||||
|
||||
</blockquote>
|
11
content/it/projektoj/MultiSpaccSDK.md
Normal file
11
content/it/projektoj/MultiSpaccSDK.md
Normal file
@@ -0,0 +1,11 @@
|
||||
+++
|
||||
Title = "MultiSpaccSDK"
|
||||
Slug = "MultiSpaccSDK"
|
||||
canonicalUrl = "https://github.com/octospacc/MultiSpaccSDK"
|
||||
+++
|
||||
|
||||
Tutte le informazioni e il codice sorgente sono disponibili su Git:
|
||||
|
||||
* https://gitlab.com/octospacc/MultiSpaccSDK
|
||||
* https://github.com/octospacc/MultiSpaccSDK
|
||||
* https://gitea.it/octospacc/MultiSpaccSDK
|
11
content/it/projektoj/Naples-NDS.md
Normal file
11
content/it/projektoj/Naples-NDS.md
Normal file
@@ -0,0 +1,11 @@
|
||||
+++
|
||||
Title = "Naples NDS"
|
||||
Slug = "Naples-NDS"
|
||||
+++
|
||||
|
||||
{{< embed "https://gamingshitposting.github.io/naplesnds/" window >}}
|
||||
|
||||
Tutte le informazioni e il codice sorgente sono disponibili su Git:
|
||||
|
||||
* https://github.com/GamingShitposting/naplesnds
|
||||
* https://gitea.it/octospacc/naplesnds
|
@@ -7,3 +7,11 @@ canonicalUrl = "https://addons.mozilla.org/firefox/addon/offline-caching/"
|
||||
Tutte le informazioni e il codice sorgente sono disponibili su:
|
||||
|
||||
* https://addons.mozilla.org/firefox/addon/offline-caching/
|
||||
|
||||
## LEGGIMI originale
|
||||
|
||||
<blockquote>
|
||||
|
||||
{{< GetRemote "https://addons.mozilla.org/firefox/addon/offline-caching/" html split `<div class="Addon-main-content">` 1 `</div><section ` 0 >}}
|
||||
|
||||
</blockquote>
|
||||
|
11
content/it/projektoj/Sala-Museo-Games.md
Normal file
11
content/it/projektoj/Sala-Museo-Games.md
Normal file
@@ -0,0 +1,11 @@
|
||||
+++
|
||||
Title = "Sala Museo Games"
|
||||
Slug = "Sala-Museo-Games"
|
||||
+++
|
||||
|
||||
{{< embed "https://gamingshitposting.github.io/SalaMuseoGames/" window >}}
|
||||
|
||||
Tutte le informazioni e il codice sorgente sono disponibili su Git:
|
||||
|
||||
* https://github.com/GamingShitposting/SalaMuseoGames
|
||||
* https://gitea.it/octospacc/SalaMuseoGames
|
6
content/it/projektoj/Spacc-BBS.md
Normal file
6
content/it/projektoj/Spacc-BBS.md
Normal file
@@ -0,0 +1,6 @@
|
||||
+++
|
||||
Title = "Spacc BBS"
|
||||
Slug = "Spacc-BBS"
|
||||
+++
|
||||
|
||||
{{< embed "https://bbs.spacc.eu.org/" window >}}
|
6
content/it/projektoj/SpaccCraft.md
Normal file
6
content/it/projektoj/SpaccCraft.md
Normal file
@@ -0,0 +1,6 @@
|
||||
+++
|
||||
Title = "SpaccCraft"
|
||||
Slug = "SpaccCraft"
|
||||
+++
|
||||
|
||||
{{< embed "https://SpaccCraft.altervista.org/" window >}}
|
14
content/it/projektoj/Spaccogram.md
Normal file
14
content/it/projektoj/Spaccogram.md
Normal file
@@ -0,0 +1,14 @@
|
||||
+++
|
||||
Title = "Spaccogram (Web)"
|
||||
Slug = "Spaccogram"
|
||||
+++
|
||||
|
||||
{{< embed "https://1.tgweb.octt.eu.org/" window >}}
|
||||
|
||||
Tutte le informazioni sono disponibili sul canale Telegram:
|
||||
|
||||
* https://t.me/+ujaob63Vy705Mzgx
|
||||
|
||||
Il codice sorgente è disponibile su Git:
|
||||
|
||||
* https://gitea.it/octospacc/Spaccogram
|
@@ -3,4 +3,4 @@ Title = "🕷️ SpiderADB"
|
||||
Slug = "SpiderADB"
|
||||
+++
|
||||
|
||||
{{< embed "https://hub.octt.eu.org/SpiderADB/" app >}}
|
||||
{{< embed "https://hub.octt.eu.org/SpiderADB/#/about" app >}}
|
||||
|
22
content/it/projektoj/WebPinBoard-Bachecoctt.md
Normal file
22
content/it/projektoj/WebPinBoard-Bachecoctt.md
Normal file
@@ -0,0 +1,22 @@
|
||||
+++
|
||||
Title = "WebPinBoard / Bachecoctt"
|
||||
Slug = "WebPinBoard-Bachecoctt"
|
||||
canonicalUrl = "https://github.com/octospacc/WebPinBoard"
|
||||
+++
|
||||
|
||||
{{< embed "https://octtspacc.gitlab.io/bachecoctt/" window >}}
|
||||
|
||||
Tutte le informazioni e il codice sorgente sono disponibili su Git:
|
||||
|
||||
* https://gitlab.com/octospacc/WebPinBoard
|
||||
* https://github.com/octospacc/WebPinBoard
|
||||
* https://gitea.it/octospacc/WebPinBoard
|
||||
* https://codeberg.org/octt-mirror/WebPinBoard
|
||||
|
||||
## LEGGIMI originale
|
||||
|
||||
<blockquote>
|
||||
|
||||
{{< GetRemote "https://gitlab.com/octospacc/WebPinBoard/-/raw/main/README.md" markdown >}}
|
||||
|
||||
</blockquote>
|
@@ -3,4 +3,4 @@ Title = "Progetti⚒️"
|
||||
Lastmod = 2025-02-15
|
||||
+++
|
||||
|
||||
Questa sezione raccoglie (quasi) tutti i miei progetti (di cui uno è il sitoctt stesso). Per informazioni aggiuntive, leggi il post di presentazione: https://octospacc.altervista.org/2025/02/14/definitivo-progettocto-di-progettazioctt/
|
||||
Questa sezione raccoglie (quasi) tutti i miei progetti (di cui uno è il sitoctt stesso). Per informazioni aggiuntive, leggi il post di presentazione: <https://octospacc.altervista.org/2025/02/14/definitivo-progettocto-di-progettazioctt/>.
|
||||
|
@@ -6,6 +6,7 @@ title = "✨sitoctt✨"
|
||||
canonifyURLs = true
|
||||
disablePathToLower = true
|
||||
sectionPagesMenu = "main"
|
||||
summaryLength = 40
|
||||
defaultContentLanguage = "it"
|
||||
defaultContentLanguageInSubdir = true
|
||||
theme = [ "hugo-notice", "ananke" ]
|
||||
|
@@ -6,18 +6,18 @@
|
||||
{{- $type = "embed" -}}
|
||||
{{- end -}}
|
||||
{{- $iswindow := (in (slice "app" "window") $type) -}}
|
||||
<figure class="w-100" style="margin: auto;">
|
||||
<figure class="w-100" style="margin: auto; {{ $data | safeCSS }} height: auto;">
|
||||
{{- if (eq $type "embed") -}}
|
||||
{{- $link = $href -}}
|
||||
<iframe class="w-100 vh-75 {{ $data }}" src="{{ $href }}" allowfullscreen="allowfullscreen"></iframe>
|
||||
<iframe class="w-100 vh-75" src="{{ $href }}" allowfullscreen="allowfullscreen"></iframe>
|
||||
{{- else if $iswindow -}}
|
||||
<figcaption style="background: #330066; padding: 0.25em; border: 4px solid #330066;">{{ partial "anchor.html" (dict "Params" (dict
|
||||
"style" "color: rgba(255,255,255,.9); text-decoration: none;"
|
||||
"target" "_blank"
|
||||
"rel" "noopener"
|
||||
"href" $href)) }}</figcaption>
|
||||
<div class="vh-75" style="resize: vertical; overflow: hidden; border: 4px solid #330066;">
|
||||
<iframe class="w-100 h-100 bn" src="{{ $href }}" allowfullscreen="allowfullscreen"></iframe>
|
||||
<div class="vh-75" style="resize: vertical; overflow: hidden; border: 4px solid #330066; {{ $data | safeCSS }}">
|
||||
<iframe class="w-100 h-100 bn" src="{{ $href }}" allowfullscreen="allowfullscreen" onload="this.focus()"></iframe>
|
||||
</div>
|
||||
{{- else if in (slice "youtube" "yt") $type -}}
|
||||
{{- $link = (printf "https://youtu.be/%s" $href) -}}
|
||||
|
Reference in New Issue
Block a user