Compare commits
2 Commits
049b69e0b4
...
369a79532a
Author | SHA1 | Date |
---|---|---|
Ari Gerus | 369a79532a | |
Ari Gerus | 01942de0e9 |
54
flake.lock
54
flake.lock
|
@ -8,11 +8,11 @@
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714136352,
|
"lastModified": 1715290355,
|
||||||
"narHash": "sha256-BtWQ2Th/jamO1SlD+2ASSW5Jaf7JhA/JLpQHk0Goqpg=",
|
"narHash": "sha256-2T7CHTqBXJJ3ZC6R/4TXTcKoXWHcvubKNj9SfomURnw=",
|
||||||
"owner": "ryantm",
|
"owner": "ryantm",
|
||||||
"repo": "agenix",
|
"repo": "agenix",
|
||||||
"rev": "24a7ea390564ccd5b39b7884f597cfc8d7f6f44e",
|
"rev": "8d37c5bdeade12b6479c85acd133063ab53187a0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -105,11 +105,11 @@
|
||||||
"utils": "utils"
|
"utils": "utils"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1711973905,
|
"lastModified": 1715699772,
|
||||||
"narHash": "sha256-UFKME/N1pbUtn+2Aqnk+agUt8CekbpuqwzljivfIme8=",
|
"narHash": "sha256-sKhqIgucN5sI/7UQgBwsonzR4fONjfMr9OcHK/vPits=",
|
||||||
"owner": "serokell",
|
"owner": "serokell",
|
||||||
"repo": "deploy-rs",
|
"repo": "deploy-rs",
|
||||||
"rev": "88b3059b020da69cbe16526b8d639bd5e0b51c8b",
|
"rev": "b3ea6f333f9057b77efd9091119ba67089399ced",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -337,11 +337,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715077503,
|
"lastModified": 1715486357,
|
||||||
"narHash": "sha256-AfHQshzLQfUqk/efMtdebHaQHqVntCMjhymQzVFLes0=",
|
"narHash": "sha256-4pRuzsHZOW5W4CsXI9uhKtiJeQSUoe1d2M9mWU98HC4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "6e277d9566de9976f47228dd8c580b97488734d4",
|
"rev": "44677a1c96810a8e8c4ffaeaad10c842402647c1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -373,11 +373,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714803703,
|
"lastModified": 1715845522,
|
||||||
"narHash": "sha256-4m9wG6mZR0I2d7itErhpY0JqSHomNnUdoKfkjnYp+wI=",
|
"narHash": "sha256-zKv1tlYvIrboMrXo0RD8PZsAAUHB2cKD/BpA31LsPRI=",
|
||||||
"owner": "Jovian-Experiments",
|
"owner": "Jovian-Experiments",
|
||||||
"repo": "Jovian-NixOS",
|
"repo": "Jovian-NixOS",
|
||||||
"rev": "d0799ebebfb37fd2df6409dc8da622738c5930bb",
|
"rev": "6aa9ba0cda3a3b2e3ce503d67c55d7d6eaf89e6f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -463,11 +463,11 @@
|
||||||
"spectrum": "spectrum"
|
"spectrum": "spectrum"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714764302,
|
"lastModified": 1715787097,
|
||||||
"narHash": "sha256-MmIZR67wOP3Nr9b3XpsvHSZSTDcTmd9cQn2Z8pW1/Hw=",
|
"narHash": "sha256-TPp2j0ttvBvkk4oXidvo8Y071zEab0BtcNsC3ZEkluI=",
|
||||||
"owner": "astro",
|
"owner": "astro",
|
||||||
"repo": "microvm.nix",
|
"repo": "microvm.nix",
|
||||||
"rev": "e9977efbe34b554c3e393dc9a18509905a4080e5",
|
"rev": "fa673bf8656fe6f28253b83971a36999bc9995d2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -502,11 +502,11 @@
|
||||||
"nmt": "nmt"
|
"nmt": "nmt"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1713988078,
|
"lastModified": 1715807870,
|
||||||
"narHash": "sha256-scRrzQQyJAT0iPAd8AZvolgiq7npatsfytwnduESndI=",
|
"narHash": "sha256-lutvG1LFGSpXsGA7U4TWfdfq6p71WdSlhw3vM4W/Opk=",
|
||||||
"owner": "Gerschtli",
|
"owner": "Gerschtli",
|
||||||
"repo": "nix-formatter-pack",
|
"repo": "nix-formatter-pack",
|
||||||
"rev": "08d0135dbe95992b5f8d54c351ce62be2177f0b4",
|
"rev": "ab5feb867e5d074918852de6134500a82a09dc48",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -544,11 +544,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714878592,
|
"lastModified": 1715483403,
|
||||||
"narHash": "sha256-E68C03sYRsYFsK7wiGHUIJm8IsyPRALOrFoTL0glXnI=",
|
"narHash": "sha256-WMDuQj7J5jbpXI/X/E6FZRKgBFGcaSTvYyVxPnKE6KU=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "nix-index-database",
|
"repo": "nix-index-database",
|
||||||
"rev": "a362555e9dbd4ecff3bb98969bbdb8f79fe87f10",
|
"rev": "f9027322f48b427da23746aa359a6510dfcd0228",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -559,11 +559,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715010655,
|
"lastModified": 1715148395,
|
||||||
"narHash": "sha256-FmdhvR/hgBkPDvIv/HOEIQsSMaVXh8wvTrnep8dF3Jc=",
|
"narHash": "sha256-lRxjTxY3103LGMjWdVqntKZHhlmMX12QUjeFrQMmGaE=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "d1659c9eb8af718118fb4bbe2c86797c8b8623eb",
|
"rev": "a4e2b7909fc1bdf30c30ef21d388fde0b5cdde4a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -654,11 +654,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714393653,
|
"lastModified": 1715848674,
|
||||||
"narHash": "sha256-F+Vi6FNN+cxB88u/K4ROjDJu8ToqJbegF91HAOR1Jv8=",
|
"narHash": "sha256-IPocDyAA1eMxek8uD+sxR7moO238OLc8iRsSZlAndag=",
|
||||||
"owner": "arachnist",
|
"owner": "arachnist",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "cdafb43592d54f64840b733747a02a647424f4f6",
|
"rev": "7c8de45891a2e815da83e8f312654c76fbb9b2c0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "tl-replacer";
|
pname = "tl-replacer";
|
||||||
version = "0.1";
|
version = "0.2";
|
||||||
src = ./.;
|
src = ./.;
|
||||||
|
|
||||||
buildInputs = [ ruby ];
|
buildInputs = [ ruby ];
|
||||||
|
|
|
@ -11,7 +11,6 @@ def update_translations(hash, replacements)
|
||||||
elsif value.is_a?(String)
|
elsif value.is_a?(String)
|
||||||
replacements.to_a.sort_by do |x| 0-x[0].length end.each do |from, to|
|
replacements.to_a.sort_by do |x| 0-x[0].length end.each do |from, to|
|
||||||
if value.match?(from) then
|
if value.match?(from) then
|
||||||
puts "updating #{key} from #{value} with #{to}"
|
|
||||||
value.gsub!(from, to)
|
value.gsub!(from, to)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -22,54 +21,37 @@ def update_translations(hash, replacements)
|
||||||
end
|
end
|
||||||
|
|
||||||
config["paths"].each do |dir|
|
config["paths"].each do |dir|
|
||||||
yaml = []
|
|
||||||
Dir.entries(dir).each do |fname|
|
Dir.entries(dir).each do |fname|
|
||||||
config["types"]["yaml"].each do |type_ext|
|
|
||||||
yaml += [File.join(dir, fname)] if File.extname(fname) == type_ext
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
json = []
|
|
||||||
Dir.entries(dir).each do |fname|
|
|
||||||
config["types"]["json"].each do |type_ext|
|
|
||||||
json += [File.join(dir, fname)] if File.extname(fname) == type_ext
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
config["replacements"].each do |lang, conf|
|
config["replacements"].each do |lang, conf|
|
||||||
yaml_files = []
|
|
||||||
json_files = []
|
|
||||||
|
|
||||||
yaml.each do |fname|
|
|
||||||
conf["filename-patterns"].each do |pattern|
|
conf["filename-patterns"].each do |pattern|
|
||||||
yaml_files += [fname] if File.fnmatch?(pattern, fname)
|
if File.fnmatch?(pattern, fname) then
|
||||||
end
|
config["types"]["yaml"].each do |type_ext|
|
||||||
end
|
if File.extname(fname) == type_ext then
|
||||||
|
fpath = File.join(dir, fname)
|
||||||
yaml_files.each do |fname|
|
puts " .... updating #{fpath}"
|
||||||
puts "modifying #{fname}"
|
tl = YAML.load_file(fpath)
|
||||||
tl = YAML.load_file(fname)
|
|
||||||
tl = update_translations(tl, conf["strings"])
|
tl = update_translations(tl, conf["strings"])
|
||||||
|
|
||||||
File.open(fname, 'w') do |file|
|
File.open(fpath, 'w') do |file|
|
||||||
file.write(tl.to_yaml(options = {:line_width => -1}))
|
file.write(tl.to_yaml(options = {:line_width => -1}))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
json.each do |fname|
|
|
||||||
conf["filename-patterns"].each do |pattern|
|
|
||||||
json_files += [fname] if File.fnmatch?(pattern, fname)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
json_files.each do |fname|
|
config["types"]["json"].each do |type_ext|
|
||||||
puts "modifying #{fname}"
|
if File.extname(fname) == type_ext then
|
||||||
tl = JSON.load_file(fname)
|
fpath = File.join(dir, fname)
|
||||||
|
puts " .... updating #{fpath}"
|
||||||
|
tl = JSON.load_file(fpath)
|
||||||
tl = update_translations(tl, conf["strings"])
|
tl = update_translations(tl, conf["strings"])
|
||||||
|
|
||||||
File.open(fname, 'w') do |file|
|
File.open(fpath, 'w') do |file|
|
||||||
file.write(JSON.pretty_generate(tl))
|
file.write(JSON.pretty_generate(tl))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
|
@ -12,8 +12,8 @@ types:
|
||||||
replacements:
|
replacements:
|
||||||
en:
|
en:
|
||||||
filename-patterns:
|
filename-patterns:
|
||||||
- "*/en*.*"
|
- "en*.*"
|
||||||
- "*/*.en*.*"
|
- "*.en*.*"
|
||||||
strings:
|
strings:
|
||||||
"posts": "meows"
|
"posts": "meows"
|
||||||
"post": "meow"
|
"post": "meow"
|
||||||
|
@ -21,8 +21,8 @@ replacements:
|
||||||
"Post": "Meow"
|
"Post": "Meow"
|
||||||
pl:
|
pl:
|
||||||
filename-patterns:
|
filename-patterns:
|
||||||
- "*/pl.*"
|
- "pl.*"
|
||||||
- "*/*.pl.*"
|
- "*.pl.*"
|
||||||
strings:
|
strings:
|
||||||
"Ostatni post": "Ostatnie miauknięcie"
|
"Ostatni post": "Ostatnie miauknięcie"
|
||||||
"Ten wpis nie będzie widoczny pod podanymi hasztagami, ponieważ jest oznaczony jako niepubliczny.": "To miauknięcie nie będzie widoczne pod podanymi hasztagami, ponieważ jest oznaczone jako niepubliczne."
|
"Ten wpis nie będzie widoczny pod podanymi hasztagami, ponieważ jest oznaczony jako niepubliczny.": "To miauknięcie nie będzie widoczne pod podanymi hasztagami, ponieważ jest oznaczone jako niepubliczne."
|
||||||
|
|
Loading…
Reference in New Issue