Visa obesvarade inlägg | Visa aktiva trådar Aktuellt datum och tid: 17 nov 2018, 12:19



Svara på tråd  [ 15 inlägg ] 
 Rensa en ts-fil 
Författare Meddelande
Användarvisningsbild

Blev medlem: 06 dec 2014, 09:44
Inlägg: 822
OS: Linux Mint
Svara med citat
Inlägg Rensa en ts-fil
Någon som har en bra metod att rensa en .ts-fil från gamla översättningar? Jag vill alltså ta bort allt som finns mellan taggarna <translation> och </translation>.

Edit:
En textredigerare med "Sök & ersätt" som stöder jokertecken hade varit bra, om någon känner till en sådan.
I Notepad++ (Windows) kunde man använda RegEx tillsammans med "Sök & ersätt". Mina RegEx-kunskaper är dock minimala.

_________________
Alltid på kanelen!


Senast redigerad av eson57 08 okt 2016, 08:26, redigerad totalt 2 gånger.



07 okt 2016, 05:54
Profil
Användarvisningsbild

Blev medlem: 06 dec 2014, 09:44
Inlägg: 822
OS: Linux Mint
Svara med citat
Inlägg Re: Rensa en ts-fil
Har kommit en bit på väg. Det går att lösa med hjälp av RegEx i t.ex. jEdit, som en av många textredigerare.
I "Search and replace" klistrar jag in, som söksträng...
Kod:
<translation>[A-Za-zÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ \t\r\n0-9-,.-?!:;%&=()]*</translation>

Som ersättningssträng kör jag...
Kod:
<translation type="unfinished"></translation>

Detta fixar de flesta strängar, men som den noob jag är på RegEx, lyckas jag inte få till det med några tecken som också behöver vara med i söksträngen. Som t.ex. [ ] och /. De strängar som innehåller dessa tecken, hittas helt enkelt inte.
Någon som är haj på RegEx och kan ge mig ett handtag?

_________________
Alltid på kanelen!


07 okt 2016, 14:17
Profil
Användarvisningsbild

Blev medlem: 06 dec 2014, 09:44
Inlägg: 822
OS: Linux Mint
Svara med citat
 Re: Rensa en ts-fil  Tråden är löst
Löst!

Jag kom på det till slut. Vissa tecken måste argumenteras ut för att söksträngen skall fungera. I det här fallet var det hakparentesen som spökade.
"Rätt" söksträng skall se ut som följer...
Kod:
<translation>[A-Za-zÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ \t\r\n0-9-,.-?!:;%&\/=+-'{}()\[\]$£@*_~]*</translation>


Tilläggas kan, att det i framtiden förmodligen kan dyka upp fler tecken som behöver vara med i denna sträng, men efter att ha rensat en ts-fil med 670 tyska översättningssträngar, är jag för tillfället nöjd.

_________________
Alltid på kanelen!


Senast redigerad av eson57 12 okt 2016, 20:57, redigerad totalt 1 gång.



07 okt 2016, 15:31
Profil
Användarvisningsbild

Blev medlem: 08 aug 2010, 12:49
Inlägg: 2500
Ort: Göteborg
OS: Ubuntu
Utgåva: 19.04 Disco Dingo
Svara med citat
Inlägg Re: Rensa en ts-fil [Löst]
Hade det inte räckt med:

<translation>[^<]*</translation>

(ej testat)


07 okt 2016, 20:08
Profil
Användarvisningsbild

Blev medlem: 06 dec 2014, 09:44
Inlägg: 822
OS: Linux Mint
Svara med citat
Inlägg Re: Rensa en ts-fil [Löst]
Jo, det verkar så. Testade på en svensk språkfil och det ser ut att funka.

Kände hela tiden att det måste finnas ett övergripande tecken, men hittade det inte, så tack!
Har vetat länge att möjligheten finns, men som sagt, aldrig riktigt försökt sätta mig in i det tidigare. Får nog ta och plugga lite. Det kan vara användbart vid fler tillfällen.

_________________
Alltid på kanelen!


07 okt 2016, 20:34
Profil
Användarvisningsbild

Blev medlem: 08 aug 2010, 12:49
Inlägg: 2500
Ort: Göteborg
OS: Ubuntu
Utgåva: 19.04 Disco Dingo
Svara med citat
Inlägg Re: Rensa en ts-fil [Löst]
[^<] betyder vilket tecken som helst utom <. Det fungerar förstås inte om < förekommer i översättningarna, men det kanske någon/något redan har tagit hand om genom att förekomsten av sådana tecken konverterats till t ex &lt;.

Använde Perl en del för några år sedan, och lärde mig en del om 'regular expressions' därigenom.


07 okt 2016, 20:59
Profil
Användarvisningsbild

Blev medlem: 06 dec 2014, 09:44
Inlägg: 822
OS: Linux Mint
Svara med citat
Inlägg Re: Rensa en ts-fil [Löst]
Taggar av diverse slag, förekommer ofta i översättningssträngar, så det har någon mycket riktigt tänkt på och ersatt <whatever> med &lt;whatever&gt;

Tack för hjälpen hur som helst! Jag kommer att ha stor nytta av detta uttryck, eftersom utvecklare ofta "glömmer" att publicera oöversatta ts-filer (templates). De få gånger jag bett om en rensad fil, har dom inte haft en aning om hur dom skall fixa det. :)
Jag är ju inte programmerare så jag gjorde nu äntligen slag i saken, tog den långa vägen och googlade mig fram. Fattar inte att jag inte hittade det korta uttrycket för alla tecken. ???

_________________
Alltid på kanelen!


08 okt 2016, 05:52
Profil
Användarvisningsbild

Blev medlem: 06 dec 2014, 09:44
Inlägg: 822
OS: Linux Mint
Svara med citat
Inlägg Re: Rensa en ts-fil
Hittade en bra sida där man kan testa sina regex. Man får bra förklaringar på vad de olika komponenterna gör och vilka som inte fungerar, samt hur det åtgärdas.

https://regex101.com/

_________________
Alltid på kanelen!


10 okt 2016, 09:02
Profil
Användarvisningsbild

Blev medlem: 08 aug 2010, 12:49
Inlägg: 2500
Ort: Göteborg
OS: Ubuntu
Utgåva: 19.04 Disco Dingo
Svara med citat
Inlägg Re: Rensa en ts-fil
eson57 skrev:
Ser ut att vara en användbar lathund.


10 okt 2016, 09:32
Profil
Användarvisningsbild

Blev medlem: 06 dec 2014, 09:44
Inlägg: 822
OS: Linux Mint
Svara med citat
Inlägg Re: Rensa en ts-fil
Jo, jag såg t.ex att ett snedstreck (/) måste argumenteras bort med ett bakåtlutat snedstreck (\). ;D

_________________
Alltid på kanelen!


10 okt 2016, 09:39
Profil
Användarvisningsbild

Blev medlem: 06 dec 2014, 09:44
Inlägg: 822
OS: Linux Mint
Svara med citat
Inlägg Re: Rensa en ts-fil
Stötte på en skum sak när jag skulle rensa en po-fil, på samma sätt som med ts-filer. Det korta uttrycket [^<]* fungerade inte. Det ville radera i princip all text i hela filen. Har ingen aning om varför, men det borde ju ha med po syntax att göra... eller?

Vad jag försökte göra, var alltså att ta bort allt mellan citationstecknen i översättningssträngen...
Kod:
msgstr "Översatt textrad"


Jag försökte då söka på...
Kod:
msgstr "[^<]*"


...och ersätta med...
Kod:
msgstr ""


Det fungerade alltså inte. Mitt långa uttryck med "alla" tecken, fungerade däremot utmärkt.

_________________
Alltid på kanelen!


24 okt 2016, 06:48
Profil
Användarvisningsbild

Blev medlem: 08 aug 2010, 12:49
Inlägg: 2500
Ort: Göteborg
OS: Ubuntu
Utgåva: 19.04 Disco Dingo
Svara med citat
Inlägg Re: Rensa en ts-fil
eson57 skrev:
Jag försökte då söka på...
Kod:
msgstr "[^<]*"
...och ersätta med...
Kod:
msgstr ""
Det fungerade alltså inte.

Nej, det gör det förstås inte eftersom strängen i en PO-fil inte avgränsas av något som börjar med '<'. Du skulle i så fall ha behövt:
Kod:
msgstr "[^"]*"
Men det funkar bara om strängen inte är uppdelad på flera rader och om den inte innehåller escapade citattecken (\").

eson57 skrev:
Mitt långa uttryck med "alla" tecken, fungerade däremot utmärkt.
Det är nog säkrare i PO-filer. Men det eventuella problemet med strängar uppdelade på flera rader kvarstår.


24 okt 2016, 12:52
Profil
Användarvisningsbild

Blev medlem: 06 dec 2014, 09:44
Inlägg: 822
OS: Linux Mint
Svara med citat
Inlägg Re: Rensa en ts-fil
Tack, då förstår jag bättre. Knepigt det här. Skall man få med flerradig översättning, så klipper den även originalspråket (msgid). Lyckades hitta en fil med flerradig översättning och prova.

Nåja, i går var nog första gången jag stötte på behovet av att rensa en po-fil, så det kanske inte är något man behöver fördjupa sig i. Filen i går, hade inga flerradiga översättningar.

_________________
Alltid på kanelen!


24 okt 2016, 13:20
Profil
Användarvisningsbild

Blev medlem: 08 aug 2010, 12:49
Inlägg: 2500
Ort: Göteborg
OS: Ubuntu
Utgåva: 19.04 Disco Dingo
Svara med citat
Inlägg Re: Rensa en ts-fil
När gettext används för översättning, finns väl normalt en mall (POT-fil) tillgänglig som man kan utgå från för att starta översättning till ett nytt språk.


24 okt 2016, 13:56
Profil
Användarvisningsbild

Blev medlem: 06 dec 2014, 09:44
Inlägg: 822
OS: Linux Mint
Svara med citat
Inlägg Re: Rensa en ts-fil
Jo, för det mesta. Vissa utvecklare slarvar med publiceringen dock. Det är ju inte alla som finns på Launchpad.
Fick för mig att ta en titt på Electrum i går och kunde inte finna någon källfil, men har i och för sig inte frågat heller. Ville först ta en titt för att bedöma svårighetsgraden.
Han verkar använda Crowdin för översättning, men svenska saknas bland tillgängliga språk.

_________________
Alltid på kanelen!


24 okt 2016, 14:05
Profil
Visa inlägg nyare än:  Sortera efter  
Svara på tråd   [ 15 inlägg ] 

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 2 gäster


Du kan inte skapa nya trådar i denna kategori
Du kan inte svara på trådar i denna kategori
Du kan inte redigera dina inlägg i denna kategori
Du kan inte ta bort dina inlägg i denna kategori
Du kan inte bifoga filer i denna kategori

Sök efter:
Hoppa till:  
Main Engineer for phpBB3: Bertie at phpBB.com © 2000 - 2002, 2005 - 2007, the Group behind the Open Source code of phpBB.
Designed by STSoftware, modified by Katt, Konservburk & Peetra. Swedish translation by Peetra & phpBB Sweden © 2006-2011