justman10000
Goto Top

Programm für Extrahierungen

Hi, ich suche ein Programm, welches Internationalisierungscode aus Quellcode erkennt. Nehmen wir mal an, wir haben diesen Codesatz:

{{t! admin:thread:delete}}


Nun sollte dieses Programm alles, was in
{{t! }}
eingeschlossen ist als String erkennen, vorrausgesetzt, es folgt dem Muster im Beispiel! Dann soll es eine en.yml, de.json (oder welche Dateiendung man halt will/braucht und Sprachen unterstützen will) erstellen, in dem jegliche solcher Strings gelegt werden! Als Beispiel:

en.yml:
thread:
  create: 'Create'  
  delete: 'Delete'  
  pin: 'Pin'  

Fraglich wäre dann, was als Wert der Schlüssel verwendet werden würde 🤔... Oder die hätten keinen Wert 🙂

Content-ID: 7044646668

Url: https://administrator.de/forum/programm-fuer-extrahierungen-7044646668.html

Ausgedruckt am: 25.12.2024 um 20:12 Uhr

Crusher79
Crusher79 06.05.2023 um 17:26:01 Uhr
Goto Top
Hallo alles neu oder bestehend?

https://www.drupal.org/docs/8/api/translation-api/overview

Gibt zig andere Beispiele wie man sowas aufbauen kann....

Das einleitende t kam einen nur bekannt vor.

Wo sind wir? Website?

Mfg Crusher
7010350221
7010350221 06.05.2023 aktualisiert um 18:10:53 Uhr
Goto Top
Hi,
Mit PowerShell z.B. ziehst du die da schnell eben raus
$ht = [ordered]@{}
select-string "d:\datei.txt" -Pattern '(?<={{t!\s+)[^}\s]+(?=\s*}})' -Allmatches | %{$_.Matches.Value.split(':')} | sort -unique | %{$ht.$_ = $_}  
$json = $ht | ConvertTo-JSON
$json
https://tio.run/##RY/dasMwDIXv/RQaZDhZSR4gLHQ/d4P9wMZumi54iZgzXLuzlLWQ@t ...

Grüße
Crusher79
Crusher79 06.05.2023 um 17:35:11 Uhr
Goto Top
Die yml erinnern auch an redmine.

https://www.redmine.org/projects/redmine/repository/svn/entry/trunk/conf ...

Wie gesagt, was hast du genau vor? Gibt wie gesagt schon Lösungen die ähnlich agieren.

Dafür brauchen wir mehr input.
Justman10000
Justman10000 06.05.2023 um 17:51:12 Uhr
Goto Top
Zitat von @Crusher79:

Wie gesagt, was hast du genau vor? Gibt wie gesagt schon Lösungen die ähnlich agieren.

Dafür brauchen wir mehr input.

Es geht um eine Ruby Webanwendung, die als Forum fungiert...
Justman10000
Justman10000 06.05.2023 um 17:52:14 Uhr
Goto Top
Und was tut Redmine nun exakt?
Crusher79
Crusher79 06.05.2023 um 18:14:31 Uhr
Goto Top
Redmine basiert auf ruby....

Hab lange nichts mehr gemacht. Aber in deiner frage hast du nichts von ruby erwähnt!

https://guides.rubyonrails.org/i18n.html

Was genau hast du vor? Teils ist alles schon da und kann angewendet werden! Oder du kannst entsprechende Funktionen adaptieren oder nach bauen....


Aber zunächst für Frage: Wozu die Übersetzung? Eigene Abwendung in ruby? Irgendwas im Netz gefunden?
Justman10000
Justman10000 06.05.2023 um 18:18:08 Uhr
Goto Top
Dieses Forum und dessen Plugins können übersetzt werden... Um jedoch die Quell-Übersetzungsdateien zu aktualisieren, halt das Gesuch des beschrieben Programmes
7010350221
7010350221 07.05.2023 aktualisiert um 10:56:59 Uhr
Goto Top
Ruby habe ich zwar jetzt selbst nicht in meinem Sprachen-Repertoire, aber du kannst natürlich auch PHP dafür hernehmen wenn du das PS oben nicht magst...
https://tio.run/##bZBBasMwEEX3OoUKBttNaOjWdigU2m0PYLtGVSdRimwJa9IGjM7ujq ...

$output = [];
file_put_contents('file.txt',$content);  
$txt = file_get_contents('file.txt');  
preg_match_all('/{{t!\s+([^}\s]+)\s*}}/',$txt,$matches);  
foreach($matches[1] as $match){
    $terms = preg_split('/:/',$match);  
    foreach($terms as $term){
       $output[$term] = $term;
    }
}
echo json_encode($output);

Jede Programmiersprache ist dazu in der Lage, wie man es halt möchte und braucht, einfach selbst schreiben dann macht man sich nicht abhängig von irgendwelchen third party Anwendungen 😎.