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-Key: 7044646668

Url: https://administrator.de/contentid/7044646668

Printed on: April 26, 2024 at 05:04 o'clock

Member: Crusher79
Crusher79 May 06, 2023 at 15:26:01 (UTC)
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
Mitglied: 7010350221
7010350221 May 06, 2023 updated at 16:10:53 (UTC)
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
Member: Crusher79
Crusher79 May 06, 2023 at 15:35:11 (UTC)
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.
Member: Justman10000
Justman10000 May 06, 2023 at 15:51:12 (UTC)
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...
Member: Justman10000
Justman10000 May 06, 2023 at 15:52:14 (UTC)
Goto Top
Und was tut Redmine nun exakt?
Member: Crusher79
Crusher79 May 06, 2023 at 16:14:31 (UTC)
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?
Member: Justman10000
Justman10000 May 06, 2023 at 16:18:08 (UTC)
Goto Top
Dieses Forum und dessen Plugins können übersetzt werden... Um jedoch die Quell-Übersetzungsdateien zu aktualisieren, halt das Gesuch des beschrieben Programmes
Mitglied: 7010350221
7010350221 May 07, 2023 updated at 08:56:59 (UTC)
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 😎.