mirror of
https://bitbucket.org/smil3y/kde-l10n.git
synced 2025-02-23 10:32:52 +00:00
generic: remove translation scripts
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
d03eb8e743
commit
07244fe449
140 changed files with 0 additions and 283568 deletions
|
@ -17,4 +17,3 @@ endif()
|
|||
set(CURRENT_LANG ar)
|
||||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
add_subdirectory(kdelibs)
|
|
@ -1 +0,0 @@
|
|||
kde4_install_ts_files(${CURRENT_LANG} kdelibs4)
|
|
@ -1,34 +0,0 @@
|
|||
// kdelibs4.js of Arabic KDE translation.
|
||||
|
||||
// ------------------------------
|
||||
// Given a flat list of pairs of comma-separated country codes and strings,
|
||||
// pick the string corresponding to the referent country
|
||||
// (defined by Transcript config field 'dialect' or KDE locale).
|
||||
// If no given country matches referent, signals fallback.
|
||||
function select_by_country (/*COUNTRIES1, STRING1, ...*/)
|
||||
{
|
||||
if (arguments.length % 2 != 0)
|
||||
throw Error("Picker by country given odd number of arguments.");
|
||||
|
||||
// Choose referent country from Transcript or KDE config.
|
||||
ref_country = Ts.getConfString("dialect");
|
||||
if (ref_country == undefined) {
|
||||
ref_country = Ts.localeCountry();
|
||||
}
|
||||
|
||||
// Go through all countries-string pairs.
|
||||
for (var i = 0; i < arguments.length; i += 2) {
|
||||
var countries = arguments[i].split(",");
|
||||
var str = arguments[i + 1];
|
||||
for (var j = 0; j < countries.length; j += 1) {
|
||||
if (countries[j] == ref_country) {
|
||||
return str;
|
||||
}
|
||||
}
|
||||
}
|
||||
throw Ts.fallback();
|
||||
}
|
||||
Ts.setcall("by-country", select_by_country);
|
||||
// NOTE: You can replace "by-country" in the line above with any UTF-8 string,
|
||||
// e.g. one in your language so that it blends nicely inside POs.
|
||||
|
|
@ -17,4 +17,3 @@ endif()
|
|||
set(CURRENT_LANG ast)
|
||||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -17,4 +17,3 @@ endif()
|
|||
set(CURRENT_LANG be)
|
||||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -18,4 +18,3 @@ set(CURRENT_LANG ca)
|
|||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( data )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
add_subdirectory(kdelibs)
|
|
@ -1 +0,0 @@
|
|||
kde4_install_ts_files(${CURRENT_LANG} kdelibs4)
|
|
@ -1,39 +0,0 @@
|
|||
// Set properties of the phrase given by the finalized msgstr in the PO file.
|
||||
// The arguments to the call are consecutive pairs of keys and values,
|
||||
// as many as needed (i.e. total number of arguments must be even).
|
||||
//
|
||||
// The property keys are registered as PO calls taking single argument,
|
||||
// which can be used to retrive the property values for this msgstr
|
||||
// when it is later used as placeholder replacement in another message.
|
||||
//
|
||||
// Always signals fallback.
|
||||
//
|
||||
function setMsgstrProps (/*KEY1, VALUE1, ...*/)
|
||||
{
|
||||
if (arguments.length % 2 != 0)
|
||||
throw Error("Property setter given odd number of arguments.");
|
||||
|
||||
// Collect finalized msgstr.
|
||||
phrase = Ts.msgstrf()
|
||||
|
||||
// Go through all key-value pairs.
|
||||
for (var i = 0; i < arguments.length; i += 2) {
|
||||
var pkey = arguments[i];
|
||||
var pval = arguments[i + 1];
|
||||
|
||||
// Set the value of the property for this phrase.
|
||||
Ts.setProp(phrase, pkey, pval);
|
||||
|
||||
// Set the PO call for getting this property, if not already set.
|
||||
if (!Ts.hascall(pkey)) {
|
||||
Ts.setcall(pkey,
|
||||
function (phr) { return Ts.getProp(phr, this.pkey) },
|
||||
{"pkey" : pkey});
|
||||
}
|
||||
}
|
||||
|
||||
throw Ts.fallback();
|
||||
}
|
||||
Ts.setcall("propietats", setMsgstrProps);
|
||||
// NOTE: You can replace "properties" in the line above with any UTF-8 string,
|
||||
// e.g. one in your language so that it blends nicely inside POs.
|
|
@ -18,4 +18,3 @@ set(CURRENT_LANG de)
|
|||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( data )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
add_subdirectory(kdelibs)
|
|
@ -1,7 +0,0 @@
|
|||
This directory contains scripts, which are needed at runtime to provide
|
||||
a correct german translation.
|
||||
One example for a runtime-depency is the fuzzy clock applet, where some
|
||||
translations for the time-strings are beeing computed at runtime using
|
||||
these scripts.
|
||||
|
||||
DISTRIBUTORS: PLEASE DON'T FORGET TO PACKAGE AND INSTALL THESE SCRIPTS!
|
|
@ -1 +0,0 @@
|
|||
kde4_install_ts_files(${CURRENT_LANG} kdelibs4)
|
|
@ -1,40 +0,0 @@
|
|||
// Set properties of the phrase given by the finalized msgstr in the PO file.
|
||||
// The arguments to the call are consecutive pairs of keys and values,
|
||||
// as many as needed (i.e. total number of arguments must be even).
|
||||
//
|
||||
// The property keys are registered as PO calls taking single argument,
|
||||
// which can be used to retrive the property values for this msgstr
|
||||
// when it is later used as placeholder replacement in another message.
|
||||
//
|
||||
// Always signals fallback.
|
||||
//
|
||||
function setMsgstrProps (/*KEY1, VALUE1, ...*/)
|
||||
{
|
||||
if (arguments.length % 2 != 0)
|
||||
throw Error("Property setter given odd number of arguments.");
|
||||
|
||||
// Collect finalized msgstr.
|
||||
phrase = Ts.msgstrf()
|
||||
|
||||
// Go through all key-value pairs.
|
||||
for (var i = 0; i < arguments.length; i += 2) {
|
||||
var pkey = arguments[i];
|
||||
var pval = arguments[i + 1];
|
||||
|
||||
// Set the value of the property for this phrase.
|
||||
Ts.setProp(phrase, pkey, pval);
|
||||
|
||||
// Set the PO call for getting this property, if not already set.
|
||||
if (!Ts.hascall(pkey)) {
|
||||
Ts.setcall(pkey,
|
||||
function (phr) { return Ts.getProp(phr, this.pkey) },
|
||||
{"pkey" : pkey});
|
||||
}
|
||||
}
|
||||
|
||||
throw Ts.fallback();
|
||||
}
|
||||
Ts.setcall("Eigenschaft", setMsgstrProps);
|
||||
// NOTE: You can replace "properties" in the line above with any UTF-8 string,
|
||||
// e.g. one in your language so that it blends nicely inside POs.
|
||||
|
|
@ -17,4 +17,3 @@ endif()
|
|||
set(CURRENT_LANG eo)
|
||||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -17,4 +17,3 @@ endif()
|
|||
set(CURRENT_LANG fi)
|
||||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
add_subdirectory(kdelibs)
|
|
@ -1,7 +0,0 @@
|
|||
This directory contains scripts, which are needed at runtime to provide
|
||||
a correct Finnish translation.
|
||||
One example for a runtime-depency is the fuzzy clock applet, where some
|
||||
translations for the time-strings are beeing computed at runtime using
|
||||
these scripts.
|
||||
|
||||
DISTRIBUTORS: PLEASE DON'T FORGET TO PACKAGE AND INSTALL THESE SCRIPTS!
|
|
@ -1,2 +0,0 @@
|
|||
kde4_install_ts_files(${CURRENT_LANG} kgeography)
|
||||
kde4_install_ts_files(${CURRENT_LANG} step_qt)
|
|
@ -1 +0,0 @@
|
|||
Ts.loadProps("kgeography");
|
|
@ -1,30 +0,0 @@
|
|||
=:Alueet:gen=Alueiden::
|
||||
=:Alueet (oblastit):gen=Alueiden (oblastien)::
|
||||
=:Departementit:gen=Departementtien::
|
||||
=:Emiirikunnat:gen=Emiirikuntien::
|
||||
=:Federaatiopiirit:gen=Federaatiopiirien::
|
||||
=:Hallintoalueet:gen=Hallintoalueiden::
|
||||
=:Historialliset provinssit:gen=Historiallisten provinssien::
|
||||
=:Itsehallintoalueet:gen=Itsehallintoalueiden::
|
||||
=:Kantonit:gen=Kantonien::
|
||||
=:Kreivikunnat:gen=Kreivikuntien::
|
||||
=:Kunnallispiirit:gen=Kunnallispiirien::
|
||||
=:Kunnat:gen=Kuntien::
|
||||
=:Kuvernoraatit:gen=Kuvernoraattien::
|
||||
=:Läänit:gen=Läänien::
|
||||
=:Maakunnat:gen=Maakuntien::
|
||||
=:Maanosat:gen=Maanosien::
|
||||
=:Maat:gen=Maiden::
|
||||
=:Osavaltiot:gen=Osavaltioiden::
|
||||
=:Osavaltiot ja alueet:gen=Osavaltioiden ja alueiden::
|
||||
=:Osavaltiot ja territoriot:gen=Osavaltioiden ja territorioiden::
|
||||
=:Periferiat:gen=Periferioiden::
|
||||
=:Piirit:gen=Piirien::
|
||||
=:Piirikunnat:gen=Piirikuntien::
|
||||
=:Pitäjät:gen=Pitäjien::
|
||||
=:Prefektuurit:gen=Prefektuurien::
|
||||
=:Provinssit:gen=Provinssien::
|
||||
=:Provinssit ja territoriot:gen=Provinssien ja territorioiden::
|
||||
=:Subjektit:gen=Subjektien::
|
||||
=:Valtameret ja valuma-alueet:gen=Valtamerten ja valuma-alueiden::
|
||||
=:Vyöhykkeet:gen=Vyöhykkeiden::
|
|
@ -1 +0,0 @@
|
|||
Ts.loadProps("step_qt");
|
|
@ -1,15 +0,0 @@
|
|||
=:Ankkuri:gen=Ankkurin::
|
||||
=:Elastinen kappale:gen=Elastisen kappaleen::
|
||||
=:Hiukkanen:gen=Hiukkasen::
|
||||
=:Jousi:gen=Jousen::
|
||||
=:Jäljitin:gen=Jäljittimen::
|
||||
=:Kaasu:gen=Kaasun::
|
||||
=:Kiekko:gen=Kiekon::
|
||||
=:Kuvaaja:gen=Kuvaajan::
|
||||
=:Laatikko:gen=Laatikon::
|
||||
=:Mittari:gen=Mittarin::
|
||||
=:Monikulmio:gen=Monikulmion::
|
||||
=:Muistiinpano:gen=Muistiinpanon::
|
||||
=:Säädin:gen=Säätimen::
|
||||
=:Tanko:gen=Tangon::
|
||||
=:Varattu hiukkanen:gen=Varatun hiukkasen::
|
|
@ -1 +0,0 @@
|
|||
kde4_install_ts_files(${CURRENT_LANG} kdelibs4)
|
|
@ -1,500 +0,0 @@
|
|||
=/7Digital/hakumuoto=7Digitalista//
|
||||
=:Aasia:Asia:elat=Aasiasta:gen=Aasian:illat=Aasiaan:iness=Aasiassa:part=Aasiaa::
|
||||
=/Acronym Database/Lyhennetietokanta/hakumuoto=Lyhennetietokannasta//
|
||||
=:Activity Bar:Aktiviteettipalkki:elat=Aktiviteettipalkista:gen=Aktiviteettipalkin:yleisnimi=kyllä::
|
||||
=:Africa:Afrikka:elat=Afrikasta:gen=Afrikan:illat=Afrikkaan:iness=Afrikassa:part=Afrikkaa::
|
||||
=:Ajastin:Timer:elat=Ajastimesta:gen=Ajastimen:yleisnimi=kyllä::
|
||||
=:Akkujen valvontasovelma:Battery Monitor:elat=Akkujen valvontasovelmasta:gen=Akkujen valvontasovelman:yleisnimi=kyllä::
|
||||
=:Akku vähissä:Battery Low:elat=Akkujen valvontasovelmasta:gen=Akkujen valvontasovelman:yleisnimi=kyllä::
|
||||
=/Akonotes list plasmoid/Akonotes-luettelo/gen=Akonotes-luettelon//
|
||||
=/Akonotes note plasmoid/Akonotes-muistiinpano/gen=Akonotes-muistiinpanon//
|
||||
=/Akregator/elat=Akregatorista/gen=Akregatorin//
|
||||
=:Alaska:elat=Alaskasta:gen=Alaskan:illat=Alaskaan:iness=Alaskassa:part=Alaskaa::
|
||||
=:Alberta:elat=Albertasta:gen=Albertan:illat=Albertaan:iness=Albertassa:part=Albertaa::
|
||||
=:Algeria:elat=Algeriasta:gen=Algerian:illat=Algeriaan:iness=Algeriassa:part=Algeriaa::
|
||||
=/All Music Guide/hakumuoto=All Music Guidesta//
|
||||
=:Amarok:elat=Amarokista:gen=Amarokin::
|
||||
=/Amazon/hakumuoto=Amazonista//
|
||||
=/Amazon MP3/hakumuoto=Amazonin MP3-haulla//
|
||||
=/amor/elat=amorista/gen=amorin//
|
||||
=:Analog Clock:Analoginen kello:elat=Analogisesta kellosta:gen=Analogisen kellon:yleisnimi=kyllä::
|
||||
=/Application dashboard/Sovelluskojelauta/elat=Sovelluskojelaudasta/gen=Sovelluskojelaudan//
|
||||
=:Application Launcher Menu:Sovellusten käynnistysvalikko:elat=Sovellusten käynnistysvalikosta:gen=Sovellusten käynnistysvalikon:yleisnimi=kyllä::
|
||||
=:Application Launcher:Sovelluskäynnistin:elat=Sovelluskäynnistimestä:gen=Sovelluskäynnistimen:yleisnimi=kyllä::
|
||||
=:Arabia:elat=Arabiasta:gen=Arabian:illat=Arabiaan:iness=Arabiassa:part=Arabiaa::
|
||||
=/Ark/elat=Arkista/gen=Arkin//
|
||||
=:Artikulate Pronunciation Trainer:Artikulate ääntämisen harjoitteluohjelma:elat=Artikulate ääntämisen harjoitteluohjelmasta:gen=Artikulate ääntämisen harjoitteluohjelman::
|
||||
=/Ask Jeeves/hakumuoto=Ask Jeeves -haulla//
|
||||
=/Baidu/hakumuoto=Baidulla//
|
||||
=:Bangarang:elat=Bangarangista:gen=Bangarangin::
|
||||
=:Belgia:Belgium:elat=Belgiasta:gen=Belgian:illat=Belgiaan:iness=Belgiassa:part=Belgiaa::
|
||||
=:Benelux:elat=Beneluxista:gen=Beneluxin:illat=Beneluxiin:iness=Beneluxissa:part=Beneluxia::
|
||||
=/Beolingus Online Dictionary/Beolingus-verkkosanakirja/hakumuoto=Beolingus-verkkosanakirjasta//
|
||||
=:Binaarikello:Binary Clock:elat=Binaarikellosta:gen=Binaarikellon:yleisnimi=kyllä::
|
||||
=/Bing/hakumuoto=Bingillä//
|
||||
=:Black Board:Liitutaulu:elat=Liitutaulusta:gen=Liitutaulun:yleisnimi=kyllä::
|
||||
=/Blinken/elat=Blinkenistä/gen=Blinkenin//
|
||||
=/Blip.tv/hakumuoto=Blip.tv:stä//
|
||||
=:Blogilo:elat=Blogilosta:gen=Blogilon::
|
||||
=/Bomber/elat=Bomberista/gen=Bomberin//
|
||||
=/Bookmark Editor/Kirjanmerkkimuokkain/elat=Kirjanmerkkimuokkaimesta/gen=Kirjanmerkkimuokkaimen//
|
||||
=:Bookmarks:Kirjanmerkit:elat=Kirjanmerkeistä:gen=Kirjanmerkkien:yleisnimi=kyllä::
|
||||
=:Bouncy Ball:Pomppupallo:elat=Pomppupallosta:gen=Pomppupallon:yleisnimi=kyllä::
|
||||
=/Bovo/elat=Bovosta/gen=Bovon//
|
||||
=:Braindump:elat=Braindumpista:gen=Braindumpin::
|
||||
=:Brasilia:Brazil:elat=Brasiliasta:gen=Brasilian:illat=Brasiliaan:iness=Brasiliassa:part=Brasiliaa::
|
||||
=:Britannia:United Kingdom:elat=Britanniasta:gen=Britannian:illat=Britanniaan:iness=Britanniassa:part=Britanniaa::
|
||||
=:Bubblemon:Valvontakupla:elat=Valvontakuplasta:gen=Valvontakuplan:yleisnimi=kyllä::
|
||||
=:Calculator:Laskin:elat=Laskimesta:gen=Laskimen:yleisnimi=kyllä::
|
||||
=:Calendar:Kalenteri:elat=Kalenterista:gen=Kalenterin:yleisnimi=kyllä::
|
||||
=:Calligra Author:elat=Calligra Authorista:gen=Calligra Authorin::
|
||||
=:Calligra Sheets:elat=Calligra Sheetsistä:gen=Calligra Sheetsin::
|
||||
=:Calligra Words:elat=Calligra Wordsistä:gen=Calligra Wordsin::
|
||||
=:Cantor:elat=Cantorista:gen=Cantorin::
|
||||
=/Cervisia/elat=Cervisiasta/gen=Cervisian//
|
||||
=:Character Selector:Merkkivalitsin:elat=Merkkivalitsimesta:gen=Merkkivalitsimen:yleisnimi=kyllä::
|
||||
=:Chile:elat=Chilestä:gen=Chilen:illat=Chileen:iness=Chilessä:part=Chileä::
|
||||
=:China:Kiina:elat=Kiinasta:gen=Kiinan:illat=Kiinaan:iness=Kiinassa:part=Kiinaa::
|
||||
=/CHM Backend/CHM-taustaosa/elat=CHM-taustaosasta//
|
||||
=:Choqok:elat=Choqokista:gen=Choqokin::
|
||||
=/CIA World Fact Book/CIA World Factbook/hakumuoto=CIA World Factbookista//
|
||||
=/CiteSeer: Scientific Literature Digital Library/CiteSeer: tieteellisten tekstien digitaalinen kirjasto/hakumuoto=CiteSeeristä, tieteellisten tekstien digitaalisesta kirjastosta//
|
||||
=|CNRTL/TILF French dictionary|CNRTL/TILF ranskankielinen sanakirja|hakumuoto=CNRTL/TILF:sta, ranskankielinen sanakirjasta||
|
||||
=:Colombia:Kolumbia:elat=Kolumbiasta:gen=Kolumbian:illat=Kolumbiaan:iness=Kolumbiassa:part=Kolumbiaa::
|
||||
=:Color Picker:Värivalitsin:elat=Värivalitsimesta:gen=Värivalitsimen:yleisnimi=kyllä::
|
||||
=/ComicBook Backend/Taustaosa sarjakuvia varten/elat=Taustaosasta sarjakuvia varten//
|
||||
=:Comic Strip:Sarjakuvastrippi:elat=Sarjakuvastripistä:gen=Sarjakuvastripin:yleisnimi=kyllä::
|
||||
=:Community:Yhteisö:elat=Yhteisösovelmasta:gen=Yhteisösovelman:yleisnimi=kyllä::
|
||||
=:Connection editor:Yhteysmuokkain:elat=Yhteysmuokkaimesta:gen=Yhteysmuokkaimen:yleisnimi=kyllä::
|
||||
=:Contact Theme Editor:Yhteystietoteemamuokkain:elat=Yhteystietoteemamuokkaimesta:gen=Yhteystietoteemamuokkaimen::
|
||||
=/CPAN - Comprehensive Perl Archive Network/CPAN – Comprehensive Perl Archive Network/hakumuoto=CPANista (Comprehensive Perl Archive Network)//
|
||||
=/CTAN Catalog/CTAN-katalogi/hakumuoto=CPAN-katalogista//
|
||||
=/CTAN - Comprehensive TeX Archive Network/CTAN – Comprehensive TeX Archive Network/hakumuoto=CTANista (Comprehensive TeX Archive Network)//
|
||||
=/Current Application Control/Nykyinen sovellusohjain/elat=Nykyisestä sovellusohjaimesta/gen=Nykyisen sovellusohjaimen//
|
||||
=/Debian Backports Search/Debianin Backports-tietokanta/hakumuoto=Debianin Backports-tietokannasta//
|
||||
=/Debian BTS Bug Search/Debianin vikajärjestelmän haku/hakumuoto=Debianin vikajärjestelmän haulla//
|
||||
=/Debian Package Search/Debianin pakettihaku/hakumuoto=Debianin pakettihaulla//
|
||||
=:Default Desktop:Oletustyöpöytä:gen=Oletustyöpöydän:yleisnimi=kyllä::
|
||||
=:Desktop Dashboard:Kojelauta:elat=Kojelaudasta:gen=Kojelaudan::
|
||||
=:Device Notifier:Laiteilmoitin:elat=Laiteilmoittimesta:gen=Laiteilmoittimen:yleisnimi=kyllä::
|
||||
=/dict.cc Translation: English to German/dict.cc-käännös englannista saksaksi/hakumuoto=dict.cc:stä käännöstä englannista saksaksi//
|
||||
=/dict.cc Translation: German to English/dict.cc-käännös saksasta englanniksi/hakumuoto=dict.cc:stä käännöstä saksasta englanniksi//
|
||||
=/Dictionary of the Galician Academy (RAG)/Galician Akatemian sanakirja (RAG)/hakumuoto=Galician Akatemian sanakirjasta (RAG)//
|
||||
=/Dictionary of the Spanish Academy (RAE)/Espanjan Akatemian sanakirja (RAE)/hakumuoto=Espanjan Akatemian sanakirjasta (RAE)//
|
||||
=:Dictionary:Sanakirja:elat=Sanakirjasta:gen=Sanakirjan:yleisnimi=kyllä::
|
||||
=:digiKam:elat=digiKamista:gen=digiKamin::
|
||||
=:Digitaalinen kello:Digital Clock:elat=Digitaalisesta kellosta:gen=Digitaalisen kellon:yleisnimi=kyllä::
|
||||
=/Digital Object Identifier/hakumuoto=Digital Object Identifier -haulla//
|
||||
=/DjVu Backend/DjVu-taustaosa/elat=DjVu-taustaosasta//
|
||||
=/DocBook - The Definitive Guide/DocBook – The Definitive Guide/hakumuoto=DocBook – The Definitive Guide -teoksesta//
|
||||
=/Dolphin/elat=Dolphinista/gen=Dolphinin//
|
||||
=/Dragon Player/Dragon-soitin/elat=Dragon-soittimesta/gen=Dragon-soittimen//
|
||||
=/Duck Duck Go/hakumuoto=Duck Duck Golla//
|
||||
=/Duck Duck Go -tietohaku/Duck Duck Go Info/hakumuoto=Duck Duck Go -tietohaulla//
|
||||
=/Duck Duck Go -tuotehaku/Duck Duck Go Shopping/hakumuoto=Duck Duck Go -tuotehaulla//
|
||||
=/DVI Backend/DVI-taustaosa/elat=DVI-taustaosasta//
|
||||
=:Eastern US:Itä-Yhdysvallat:elat=Itä-Yhdysvalloista:gen=Itä-Yhdysvaltojen:illat=Itä-Yhdysvaltoihin:iness=Itä-Yhdysvalloissa:part=Itä-Yhdysvaltoja::
|
||||
=/Ecosia search engine/Ecosia-hakukone/hakumuoto=Ecosia-hakukoneella//
|
||||
=:Egypt:Egypti:elat=Egyptistä:gen=Egyptin:illat=Egyptiin:iness=Egyptissä:part=Egyptiä::
|
||||
=:Elämä:Life:elat=Elämästä:gen=Elämän::
|
||||
=:England:Englanti:elat=Englannista:gen=Englannin:illat=Englantiin:part=Englantia::
|
||||
=/EPub Backend/EPub-taustaosa/elat=EPub-taustaosasta//
|
||||
=:Epätarkka kello:Fuzzy Clock:elat=Epätarkasta kellosta:gen=Epätarkan kellon:yleisnimi=kyllä::
|
||||
=:Esikatselin:Previewer:elat=Esikatselimesta:gen=Esikatselimen:yleisnimi=kyllä::
|
||||
=:Etelä-Afrikka:South Africa:elat=Etelä-Afrikasta:gen=Etelä-Afrikan:illat=Etelä-Afrikkaan:iness=Etelä-Afrikassa:part=Etelä-Afrikkaa::
|
||||
=:Etelä-Amerikka:South America:elat=Etelä-Amerikasta:gen=Etelä-Amerikan:illat=Etelä-Amerikkaan:iness=Etelä-Amerikassa:part=Etelä-Amerikkaa::
|
||||
=/Ethicle/hakumuoto=Ethiclellä//
|
||||
=:Eurooppa:Europe:elat=Euroopasta:gen=Euroopan:illat=Eurooppaan:iness=Euroopassa:part=Eurooppaa::
|
||||
=:Eyes:Silmät:elat=Silmistä:gen=Silmien:yleisnimi=kyllä::
|
||||
=/Facebook/hakumuoto=Facebookista//
|
||||
=/Feedster/hakumuoto=Feedsterillä//
|
||||
=/Fiction Book -taustaosa/Fiction Book Backend/elat=Fiction Book -taustaosasta//
|
||||
=/Fifteen Puzzle/Puzzle 15/elat=Puzzle 15:stä/gen=Puzzle 15:n//
|
||||
=/Filelight/elat=Filelightista/gen=Filelightin//
|
||||
=:File Watcher:Tiedostonkatselin:elat=Tiedostonkatselimesta:gen=Tiedostonkatselimen:yleisnimi=kyllä::
|
||||
=/Flickr Creative Commons/hakumuoto=Flickr Creative Commons -haulla//
|
||||
=/Flickr/hakumuoto=Flickristä//
|
||||
=:Flow:elat=Flow’sta:gen=Flow’n::
|
||||
=:Folder:Kansio:gen=Kansion:yleisnimi=kyllä::
|
||||
=/Font Viewer/Fonttikatselin/elat=Fonttikatselimesta/gen=Fonttikatselimen//
|
||||
=:France:Ranska:elat=Ranskasta:gen=Ranskan:illat=Ranskaan:iness=Ranskassa:part=Ranskaa::
|
||||
=:Freecell:Vapaakenttä:gen=Vapaakentän::
|
||||
=/Freecode/hakumuoto=Freecodesta//
|
||||
=/FreeDB/hakumuoto=FreeDB:stä//
|
||||
=/Free On-Line Dictionary of Computing/hakumuoto=Free On-Line Dictionary of Computing -sanastosta//
|
||||
=|FSF/UNESCO Free Software Directory|FSF/UNESCO:n vapaiden ohjelmien hakemisto|hakumuoto=FSF/UNESCO:n vapaiden ohjelmien hakemistosta||
|
||||
=:Gabon:elat=Gabonista:gen=Gabonin:illat=Gaboniin:iness=Gabonissa:part=Gabonia::
|
||||
=/GitHub/hakumuoto=GitHubista//
|
||||
=/Gitorious/hakumuoto=Gitoriousista//
|
||||
=:Golf:gen=Golfin::
|
||||
=/Google Advanced Search/Googlen tarkennettu haku/hakumuoto=Googlen tarkennetulla haulla//
|
||||
=/Google Code/hakumuoto=Google Code -haulla//
|
||||
=/Google/gen=Googlen/hakumuoto=Googlella//
|
||||
=/Google Groups/Googlen keskusteluryhmät/hakumuoto=Googlen keskusteluryhmistä//
|
||||
=/Google Image Search/Googlen kuvahaku/hakumuoto=Googlen kuvahaulla//
|
||||
=/Google (I'm Feeling Lucky)/Google (kokeilen onneani)/hakumuoto=Googlen kokeilen onneani -haulla//
|
||||
=/Google Maps/Google Maps (kartat)/hakumuoto=Google Mapsista (kartoista)//
|
||||
=/Google Movies/Googlen elokuvahaku/hakumuoto=Googlen elokuvahaulla//
|
||||
=/Google News/Googlen uutiset/hakumuoto=Googlen uutisista//
|
||||
=/Google Shopping/hakumuoto=Google Shoppingilla//
|
||||
=/Granatier/elat=Granatierista/gen=Granatierin//
|
||||
=:Grandfather:Isoisä:gen=Isoisän::
|
||||
=:Grandfather's Clock:Isoisän kello:gen=Isoisän kellon::
|
||||
=/Great Dictionary of the Catalan Language (GRan Enciclopèdia Catalana)/Katalaanin suuri sanakirja (GRan Enciclopèdia Catalana)/hakumuoto=Katalaanin suuresta sanakirjasta (GRan Enciclopèdia Catalana)//
|
||||
=/Grid Desktop/Ruudukollinen työpöytä/gen=Ruudukollisen työpöydän//
|
||||
=:Groenland:Grönlanti:elat=Grönlannista:gen=Grönlannin:illat=Grönlantiin:iness=Grönlannissa:part=Grönlantia::
|
||||
=/Grouping Desktop/Ryhmitelty työpöytä/gen=Ryhmitellyn työpöydän//
|
||||
=/Grouping Panel/Ryhmitelty paneeli/gen=Ryhmitellyn paneelin//
|
||||
=/Gwenview/elat=Gwenview’stä/gen=Gwenview’n//
|
||||
=:Gypsy:Mustalainen:gen=Mustalaisen::
|
||||
=/Hakuikkuna/Search Box/elat=Hakuikkunasta/gen=Hakuikkunan//
|
||||
=:Hard Disk I/O Monitor:Kiintolevyjen käyttöilmaisin:gen=Kiintolevyjen käyttöilmaisimen:yleisnimi=kyllä::
|
||||
=:Hardware Info:Laitteistotiedot:elat=Laitteistotiedoista:gen=Laitteistotietojen:yleisnimi=kyllä::
|
||||
=:Homerun:elat=Homerunista:gen=Homerunin::
|
||||
=:Homerun Kicker:elat=Homerun Kickerista:gen=Homerun Kickerin::
|
||||
=:Homerun Launcher:Homerun-käynnistin:gen=Homerun-käynnistimen::
|
||||
=:Hylly:Shelf:elat=Hyllystä:gen=Hyllyn:yleisnimi=kyllä::
|
||||
=/HyperDictionary.com/hakumuoto=HyperDictionary.com:ista//
|
||||
=/HyperDictionary.com Thesaurus/HyperDictionary.com-synonyymisanakirja/hakumuoto=HyperDictionary.com-synonyymisanakirjasta//
|
||||
=:Hämähäkki:Spider:gen=Hämähäkin::
|
||||
=:Icon:Kuvake:elat=Kuvakkeesta:gen=Kuvakkeen:yleisnimi=kyllä::
|
||||
=:Icon-Only Task Manager:Kuvaketehtävienhallinta:gen=Kuvaketehtävienhallinnan:yleisnimi=kyllä::
|
||||
=:Icon View:Kuvakenäkymä:elat=Kuvakenäkymästä:yleisnimi=kyllä::
|
||||
=/Identi.ca Groups/Identi.ca-ryhmähaku/hakumuoto=Identi.ca-ryhmähaulla//
|
||||
=/Identi.ca Notices/Identi.ca-tekstihaku/hakumuoto=Identi.ca-tekstihaulla//
|
||||
=/Identi.ca People/Identi.ca-ihmishaku/hakumuoto=Identi.ca-ihmishaulla//
|
||||
=/IETF Requests for Comments/IETF-kommenttipyynnöt (RFC)/hakumuoto=IETF-kommenttipyynnöistä (RFC)//
|
||||
=:Ikkunaluettelo:Window List:elat=Ikkunaluettelosta:gen=Ikkunaluettelon:yleisnimi=kyllä::
|
||||
=/Ikkunasääntöjen asetusosio/Window-Specific Settings Configuration Module/elat=Ikkunasääntöjen asetusosiosta//
|
||||
=/Ikkunoiden kehysten asetukset/Window Decoration Control Module/elat=Ikkunoiden kehysten asetuksista//
|
||||
=:Ilmoitusalue:System Tray:elat=Ilmoitusalueesta:gen=Ilmoitusalueen:yleisnimi=kyllä::
|
||||
=/Image Backend/Kuvataustaosa/elat=Kuvataustaosasta//
|
||||
=:India:Intia:elat=Intiasta:gen=Intian:illat=Intiaan:iness=Intiassa:part=Intiaa::
|
||||
=:Indonesia:elat=Indonesiasta:gen=Indonesian:illat=Indonesiaan:iness=Indonesiassa:part=Indonesiaa::
|
||||
=:Input Method Panel:Syötemenetelmäpaneeli:elat=Syötemenetelmäpaneelista:gen=Syötemenetelmäpaneelin:yleisnimi=kyllä::
|
||||
=:Instant Messaging Contact List:Pikaviestinnän yhteystietoluettelo:gen=Pikaviestinnän yhteystietoluettelon:yleisnimi=kyllä::
|
||||
=:Instant Messaging Presence:Pikaviestinnän läsnäolo:gen=Pikaviestinnän läsnäolon:yleisnimi=kyllä::
|
||||
=/Internet Book List/hakumuoto=Internet Book Listista//
|
||||
=/Internet Movie Database/hakumuoto=Internet Movie Databasesta//
|
||||
=:Iran:elat=Iranista:gen=Iranin:illat=Iraniin:iness=Iranissa:part=Irania::
|
||||
=:Island:Islanti:elat=Islannista:gen=Islannin:illat=Islantiin:iness=Islannissa:part=Islantia::
|
||||
=:Italia:Italy:elat=Italiasta:gen=Italian:illat=Italiaan:iness=Italiassa:part=Italiaa::
|
||||
=/Jamendo/hakumuoto=Jamendosta//
|
||||
=:Japan:Japani:elat=Japanista:gen=Japanin:illat=Japaniin:iness=Japanissa:part=Japania::
|
||||
=:Jovie:elat=Joviesta:gen=Jovien::
|
||||
=/JuK/elat=JuKista/gen=JuKin//
|
||||
=:Järjestelmäasetukset:System Settings:elat=Järjestelmäasetuksista:gen=Järjestelmäasetusten:yleisnimi=kyllä::
|
||||
=:Järjestelmäkuorman valvonta:System Load Viewer:elat=Järjestelmäkuorman valvonnasta:gen=Järjestelmäkuorman valvonnan:yleisnimi=kyllä::
|
||||
=/Järjestelmän valvonta/System Monitor/elat=Järjestelmän valvonnasta/gen=Järjestelmän valvonnan//
|
||||
=:Jätä viesti:Leave A Note:elat=Viestinjättämissovelmasta:gen=Viestinjättämissovelman:yleisnimi=kyllä::
|
||||
=/K3b/elat=K3b:stä/gen=K3b:n//
|
||||
=/KAddressBook/elat=KAddressBookista/gen=KAddressBookin//
|
||||
=:Kaffeine:elat=Kaffeinesta:gen=Kaffeinen::
|
||||
=/Kajongg/elat=Kajonggista/gen=Kajonggin//
|
||||
=/KAlarm/elat=KAlarmista/gen=KAlarmin//
|
||||
=:KAlgebra:elat=KAlgebrasta:gen=KAlgebran::
|
||||
=/Kalzium concentration Calculator/Kalziumin konsentraatiolaskin/gen=Kalziumin konsentraatiolaskimen//
|
||||
=/Kalzium/elat=Kalziumista/gen=Kalziumin//
|
||||
=/Kalzium gas Calculator/Kalziumin kaasulaskin/gen=Kalziumin kaasulaskimen//
|
||||
=/Kanagram/elat=Kanagramista/gen=Kanagramin//
|
||||
=/Kapman/elat=Kapmanista/gen=Kapmanin//
|
||||
=/Karbon/elat=Karbonista/gen=Karbonin//
|
||||
=:Kartesio:elat=Kartesiosta:gen=Kartesion::
|
||||
=/Kate/elat=Katesta/gen=Katen//
|
||||
=/Kate Part/Kate-osa/elat=Kate-osasta//
|
||||
=/Kate Session Applet/Kate-istuntosovelma/elat=Kate-istuntosovelmasta/gen=Kate-istuntosovelman//
|
||||
=/KAtomic/elat=KAtomicista/gen=KAtomicin//
|
||||
=:Kazakstan:elat=Kazakstanista:gen=Kazakstanin:illat=Kazakstaniin:iness=Kazakstanissa:part=Kazakstania::
|
||||
=:KBibTeX:elat=KBibTeXistä:gen=KBibTeXin::
|
||||
=/KBlackBox/elat=KBlackBoxista/gen=KBlackBoxin//
|
||||
=/KBlocks/elat=KBlocksista/gen=KBlocksin//
|
||||
=/KBounce/elat=KBouncesta/gen=KBouncen//
|
||||
=/KBreakOut/elat=KBreakOutista/gen=KBreakOutin//
|
||||
=/KBruch/elat=KBruchista/gen=KBruchin//
|
||||
=/KCachegrind/elat=KCachegrindistä/gen=KCachegrindin//
|
||||
=/KCalc/elat=KCalcista/gen=KCalcin//
|
||||
=/KCharSelect/elat=KCharSelectistä/gen=KCharSelectin//
|
||||
=:KColorEdit:elat=KColorEditistä:gen=KColorEditin::
|
||||
=/KDE Accessibility Tool/KDE:n esteettömyystyökalu/elat=KDE:n esteettömyystyökalusta/gen=KDE:n esteettömyystyökalun//
|
||||
=/KDE API Documentation/KDE:n API-dokumentaatio/hakumuoto=KDE:n API-dokumentaatiosta//
|
||||
=/KDE App -haku/KDE App Search/hakumuoto=KDE App -haulla//
|
||||
=/KDE Bell Control Module/KDE:n äänimerkin asetusmoduuli/elat=KDE:n äänimerkin asetusmoduulista//
|
||||
=/KDE Bug Database Bug Number Search/KDE-vikailmoitustietokannan numerohaku/hakumuoto=KDE-vikailmoitustietokannan numerohaulla//
|
||||
=/KDE Bug Database Fulltext Search/KDE-vikailmoitustietokannan tekstihaku/hakumuoto=KDE-vikailmoitustietokannan tekstihaulla//
|
||||
=/KDE Clock Control Module/KDE:n kelloasetukset/elat=KDE:n kelloasetuksista//
|
||||
=/KDE Desktop Theme Module/KDE:n työpöytäteeman asetukset/elat=KDE:n työpöytäteeman asetuksista//
|
||||
=/KDE Forums/KDE:n foorumit/hakumuoto=KDE:n foorumeilta//
|
||||
=/KDE Hotkeys Configuration Module/KDE Hotkeys-asetusosio/elat=KDE Hotkeys-asetusosiosta//
|
||||
=/KDE Info Center/KDE:n tietokeskus/elat=KDE:n tietokeskuksesta/gen=KDE:n tietokeskuksen//
|
||||
=/KDE Joystick Control Module/Peliohjainten hallinta/elat=Peliohjainten hallinnasta//
|
||||
=/KDE Keyboard Control Module/KDE:n näppäimistöasetukset/elat=KDE:n näppäimistöasetuksista/gen=KDE:n näppäimistöasetusten//
|
||||
=/KDE Look/hakumuoto=KDE Lookista//
|
||||
=/KDE Menu Editor/KDE:n valikkomuokkain/elat=KDE:n valikkomuokkaimesta/gen=KDE:n valikkomuokkaimen//
|
||||
=/KDE:n ajankäytön seurantatyökalu/KTimeTracker/elat=KDE:n ajankäytön seurantatyökalusta/gen=KDE:n ajankäytön seurantatyökalun//
|
||||
=:Kdenlive:elat=Kdenlivestä:gen=Kdenliven::
|
||||
=:KDE Observatory:KDE-observatorio:elat=KDE-observatoriosta:gen=KDE-observatorion::
|
||||
=/KDE Projects/hakumuoto=KDE Projectsista//
|
||||
=/KDE Resources configuration module/KDE:n resurssimääritysosio/elat=KDE:n resurssimääritysosiosta//
|
||||
=/KDE Screen Ruler/KDE-viivain/elat=KDE-viivaimesta/gen=KDE-viivaimen//
|
||||
=/KDE Style Module/KDE:n tyyliosio/elat=KDE:n tyyliosiosta//
|
||||
=/KDE TechBase/KDE:n TechBase/hakumuoto=KDE:n TechBasesta//
|
||||
=:KDE Telepathy -yhteystietoluettelo:KDE Telepathy Contact List:elat=KDE Telepathy -yhteystietoluettelosta:gen=KDE Telepathy -yhteystietoluettelon::
|
||||
=/KDE UserBase/KDE:n UserBase/hakumuoto=KDE:n UserBasesta//
|
||||
=/KDevelop/elat=KDevelopista/gen=KDevelopin/part=KDevelopia//
|
||||
=/KDevelop Platform/KDevelop-alusta/elat=KDevelop-alustasta//
|
||||
=/KDE Wallet Control Module/KDE-lompakon asetusosio/elat=KDE-lompakon asetusosiosta//
|
||||
=/KDE Wallet Manager/KDE:n lompakonhallinta/elat=KDE:n lompakonhallinnasta/gen=KDE:n lompakonhallinnan//
|
||||
=/KDiamond/elat=KDiamondista/gen=KDiamondin//
|
||||
=/kdiff3/elat=kdiff3:sta/gen=kdiff3:n//
|
||||
=/KDiskFree/elat=KDiskFreestä/gen=KDiskFreen//
|
||||
=:Kexi:elat=Kexistä:gen=Kexin::
|
||||
=:Keyboard:Näppäimistö:elat=Näppäimistösovelmasta:gen=Näppäimistösovelman:yleisnimi=kyllä::
|
||||
=/KFileReplace/elat=KFileReplacesta/gen=KFileReplacen//
|
||||
=:KFind:elat=KFindista:gen=KFindin::
|
||||
=/KFloppy/elat=KFloppystä/gen=KFloppyn//
|
||||
=/KFourInLine/Neljän suora/elat=Neljän suorasta/gen=Neljän suoran//
|
||||
=/KGeography/elat=KGeographystä/gen=KGeographyn//
|
||||
=/KGet Barchart Applet/KGetin pylväskaaviosovelma/elat=KGetin pylväskaaviosovelmasta/gen=KGetin pylväskaaviosovelman//
|
||||
=/KGet/elat=KGetistä/gen=KGetin//
|
||||
=/KGet Panelbar Applet/KGetin paneelisovelma/elat=KGetin paneelisovelmasta/gen=KGetin paneelisovelman//
|
||||
=/KGet Piechart Applet/KGetin piirakkakaaviosovelma/elat=KGetin piirakkakaaviosovelmasta/gen=KGetin piirakkakaaviosovelman//
|
||||
=/KGoldrunner/elat=KGoldrunnerista/gen=KGoldrunnerin//
|
||||
=/KGpg/Kgpg/elat=KGpg:stä/gen=KGpg:n//
|
||||
=/KHangMan/elat=KHangManista/gen=KHangManin//
|
||||
=/Kig/elat=Kigistä/gen=Kigin//
|
||||
=/Kigo/elat=Kigosta/gen=Kigon//
|
||||
=/Kile/elat=Kilestä/gen=Kilen//
|
||||
=/Killbots/elat=Killbotsista/gen=Killbotsin//
|
||||
=/KImageMapEditor/elat=KImageMapEditorista/gen=KImageMapEditorin//
|
||||
=:KIMToy:elat=KIMToysta:gen=KIMToyn::
|
||||
=/Kiriki/elat=Kirikistä/gen=Kirikin//
|
||||
=/Kiten/elat=Kitenistä/gen=Kitenin//
|
||||
=:Kitenin kanjiselain:kitenkanjibrowser:elat=Kitenin kanjiselaimesta:gen=Kitenin kanjiselaimen::
|
||||
=/Kitenin radikaalivalitsin/kitenradselect/elat=Kitenin radikaalivalitsimesta/gen=Kitenin radikaalivalitsimen//
|
||||
=/KJots/elat=KJotsista/gen=KJotsin//
|
||||
=/KJumpingCube/elat=KJumpingCubesta/gen=KJumpingCuben//
|
||||
=/Kleopatra/elat=Kleopatrasta/gen=Kleopatran//
|
||||
=/KLettres/elat=KLettresistä/gen=KLettresin//
|
||||
=/Klickety/elat=Klicketystä/gen=Klicketyn//
|
||||
=/KLinkStatus/elat=KLinkStatuksesta/gen=KLinkStatuksen//
|
||||
=/Klipper/elat=Klipperistä/gen=Klipperin//
|
||||
=:Klondike:gen=Klondiken::
|
||||
=/KMagnifier/elat=KMagnifierista/gen=KMagnifierin//
|
||||
=/KMahjongg/elat=KMahjonggista/gen=KMahjonggin//
|
||||
=/KMail/elat=KMailista/gen=KMailin//
|
||||
=/KMines/elat=KMinesista/gen=KMinesin//
|
||||
=/KMix/elat=KMixistä/gen=KMixin//
|
||||
=/KMouseTool/elat=KMouseToolista/gen=KMouseToolin//
|
||||
=/KMouth/elat=KMouthista/gen=KMouthin//
|
||||
=/KmPlot/elat=KmPlotista/gen=KmPlotin//
|
||||
=/KNetWalk/elat=KNetWalkista/gen=KNetWalkin//
|
||||
=:Knights:elat=Knightsista:gen=Knightsin::
|
||||
=/KNode/elat=KNodesta/gen=KNoden//
|
||||
=/KNotes/elat=KNotesista/gen=KNotesin//
|
||||
=/Kolf/elat=Kolfista/gen=Kolfin//
|
||||
=/Kollision/elat=Kollisionista/gen=Kollisionin//
|
||||
=/Kolor Lines/elat=Kolor Linesista/gen=Kolor Linesin//
|
||||
=/KolourPaint/elat=KolourPaintista/gen=KolourPaintin//
|
||||
=/Kommander/elat=Kommanderista/gen=Kommanderin//
|
||||
=/Kompare/elat=Komparesta/gen=Komparen//
|
||||
=:Konekirjoituksen harjoitteluohjelma:Typewriting Trainer:elat=Konekirjoituksen harjoitteluohjelmasta:gen=Konekirjoituksen harjoitteluohjelman:yleisnimi=kyllä::
|
||||
=/Konqueror/elat=Konquerorista/gen=Konquerorin//
|
||||
=:Konqueror Profiles:Konqueror-profiilit:elat=Konqueror-profiilisovelmasta:gen=Konqueror-profiilisovelman::
|
||||
=/Konquest/elat=Konquestista/gen=Konquestin//
|
||||
=/Konsole/elat=Konsolesta/gen=Konsolen//
|
||||
=:Konsole Profiles:Konsole-profiilit:elat=Konsole-profiilisovelmasta:gen=Konsole-profiilisovelman::
|
||||
=/Kontact/elat=Kontactista/gen=Kontactin//
|
||||
=/Konversation/elat=Konversationista/gen=Konversationin//
|
||||
=/Kopete/elat=Kopetesta/gen=Kopeten/illat=Kopeteen//
|
||||
=/KOrganizer/elat=KOrganizerista/gen=KOrganizerin//
|
||||
=/KPatience/elat=KPatiencesta/gen=KPatiencen//
|
||||
=:KPhotoAlbum:elat=KPhotoAlbumista:gen=KPhotoAlbumin::
|
||||
=/KPPP/elat=KPPP:stä/gen=KPPP:n//
|
||||
=/KRDC/elat=KRDC:stä/gen=KRDC:n//
|
||||
=:Krecipes:elat=Krecipesista:gen=Krecipesin::
|
||||
=/KReversi/elat=KReversistä/gen=KReversin//
|
||||
=:Krita:elat=Kritasta:gen=Kritan::
|
||||
=:Kronometer:elat=Kronometeristä:gen=Kronometerin::
|
||||
=:Krusader:elat=Krusaderista:gen=Krusaderin::
|
||||
=/KsCD/gen=KsCD:stä//
|
||||
=:KsirK:elat=KsirKistä:gen=KsirKin::
|
||||
=/KSnakeDuel/elat=KSnakeDuelista/gen=KSnakeDuelin//
|
||||
=/KSnapshot/elat=KSnapshotista/gen=KSnapshotin//
|
||||
=/KSpaceDuel/elat=KSpaceDuelista/gen=KSpaceDuelin//
|
||||
=/KSquares/elat=KSquaresista/gen=KSquaresin//
|
||||
=/KStars/elat=KStarsista/gen=KStarsin//
|
||||
=/KSudoku/elat=KSudokusta/gen=KSudokun//
|
||||
=/KSystemlog/elat=KSystemlogista/gen=KSystemlogin//
|
||||
=/KTeaTime/elat=KTeaTimesta/gen=KTeaTimen//
|
||||
=/KTimer/elat=KTimerista/gen=KTimerin//
|
||||
=:KTnef:elat=KTnefistä:gen=KTnefin::
|
||||
=:KTorrent:elat=KTorrentista:gen=KTorrentin::
|
||||
=/KTuberling/elat=KTuberlingista/gen=KTuberlingin//
|
||||
=/KTurtle/elat=KTurtlesta/gen=KTurtlen//
|
||||
=/KTux/elat=KTuxista/gen=KTuxin//
|
||||
=/Kubrick/elat=Kubrickista/gen=Kubrickin//
|
||||
=/KUIViewer/elat=KUIVieweristä/gen=KUIViewerin//
|
||||
=/KUser/elat=KUserista/gen=KUserin//
|
||||
=:Kuvakehys:Picture Frame:elat=Kuvakehyksestä:gen=Kuvakehyksen:yleisnimi=kyllä::
|
||||
=/KWatchGnuPG/gen=KWatchGnuPG:stä//
|
||||
=/KWordQuiz/elat=KWordQuizistä/gen=KWordQuizin//
|
||||
=/KWrite/elat=KWritesta/gen=KWriten//
|
||||
=:Käännin:Translator:elat=Kääntimestä:gen=Kääntimen:yleisnimi=kyllä::
|
||||
=/LabPlot2/elat=LabPlot2:sta/gen=LabPlot2:n//
|
||||
=/Lancelot/elat=Lancelotista/gen=Lancelotin//
|
||||
=:Lancelot Launcher:Lancelot-käynnistin:elat=Lancelot-käynnistimestä:gen=Lancelot-käynnistimen::
|
||||
=/Latest Qt Online Documentation/Uusin Qt-dokumentaatio/hakumuoto=uusimmasta Qt-dokumentaatiosta//
|
||||
=:LCD Weather Station:LCD-sääasema:elat=LCD-sääasemasta:gen=LCD-sääaseman::
|
||||
=:LCD Weather Station (QML):LCD-sääasema (QML):elat=LCD-sääasemasta (QML):gen=LCD-sääaseman (QML)::
|
||||
=/LEO - Translate Between French and German/LEO – käännös ranskasta saksaan/hakumuoto=LEO:sta käännöstä ranskasta saksaan//
|
||||
=/LEO - Translate Between German and French/LEO – käännös saksasta ranskaan/hakumuoto=LEO:sta käännöstä saksasta ranskaan//
|
||||
=/LEO-Translate/LEO-käännös/hakumuoto=LEO-käännöshaulla//
|
||||
=/Lokalize/elat=Lokalizesta/gen=Lokalizen//
|
||||
=/LSkat/elat=LSkatista/gen=LSkatin//
|
||||
=/Luna/elat=Lunasta/gen=Lunan//
|
||||
=:Lähi-itä:Middle East:elat=Lähi-idästä:gen=Lähi-idän:illat=Lähi-itään:part=Lähi-itää::
|
||||
=:Länsi-Australia:Occidental Australia:elat=Länsi-Australiasta:gen=Länsi-Australian:illat=Länsi-Australiaan:iness=Länsi-Australiassa:part=Länsi-Australiaa::
|
||||
=:Länsi-Yhdysvallat:Western US:elat=Länsi-Yhdysvalloista:gen=Länsi-Yhdysvaltojen:illat=Länsi-Yhdysvaltoihin:iness=Länsi-Yhdysvalloissa:part=Länsi-Yhdysvaltoja::
|
||||
=/Maailmankello/World Clock/gen=Maailmankellon//
|
||||
=:Madagascar:Madagaskar:elat=Madagaskarista:gen=Madagaskarin:illat=Madagaskariin:iness=Madagaskarissa:part=Madagaskaria::
|
||||
=/Magnatune/hakumuoto=Magnatunesta//
|
||||
=:Magnifique:Suurennuslasi:elat=Suurennuslasista:gen=Suurennuslasin:yleisnimi=kyllä::
|
||||
=/Marble Virtual Globe/Marble-maapallo/elat=Marble-maapallosta/gen=Marble-maapallon//
|
||||
=/Massif Visualizer/Massif-visualisointi/elat=Massif-visualisoinnista/gen=Massif-visualisoinnin//
|
||||
=:Media Player:Mediasoitin:elat=Mediasoittimesta:gen=Mediasoittimen:yleisnimi=kyllä::
|
||||
=:Meksiko:Mexico:elat=Meksikosta:gen=Meksikon:illat=Meksikoon:iness=Meksikossa:part=Meksikoa::
|
||||
=/Meritaistelu/Naval Battle/elat=Meritaistelusta/gen=Meritaistelun//
|
||||
=/Merriam-Webster Dictionary/Merriam–Webster-sanakirja/hakumuoto=Merriam–Webster-sanakirjasta//
|
||||
=/Merriam-Webster Thesaurus/Merriam–Webster-synonyymit/hakumuoto=Merriam–Webster-synonyymihaulla//
|
||||
=:Messageviewer Header Theme Editor:Viestikatselimen otsaketeemamuokkain:elat=Viestikatselimen otsaketeemamuokkaimesta:gen=Viestikatselimen otsaketeemamuokkaimen::
|
||||
=/MetaCrawler/hakumuoto=MetaCrawlerilla//
|
||||
=:Microblogging:Mikroblogaussovelma:elat=Mikroblogaussovelmasta:gen=Mikroblogaussovelman:yleisnimi=kyllä::
|
||||
=/Microsoft Developer Network -haku/Microsoft Developer Network Search/hakumuoto=Microsoft Developer Network -haulla//
|
||||
=/Mod3/gen=Mod3:n//
|
||||
=/Molar mass calculator/Moolimassalaskin/gen=Moolimassalaskimen//
|
||||
=:Mongolia:elat=Mongoliasta:gen=Mongolian:illat=Mongoliaan:iness=Mongoliassa:part=Mongoliaa::
|
||||
=:Muistilappu:Notes:gen=Muistilapun:yleisnimi=kyllä::
|
||||
=/Multitran - Translate Between Dutch and Russian/Multitran – käännä hollannista venäjään/hakumuoto=Multitranista käännöstä hollannista venäjään//
|
||||
=/Multitran - Translate Between English and Russian/Multitran – käännä englannista venäjään/hakumuoto=Multitranista käännöstä englannista venäjään//
|
||||
=/Multitran - Translate Between French and Russian/Multitran – käännä ranskasta venäjään/hakumuoto=Multitranista käännöstä ranskasta venäjään//
|
||||
=/Multitran - Translate Between German and Russian/Multitran – käännä saksasta venäjään/hakumuoto=Multitranista käännöstä saksasta venäjään//
|
||||
=/Multitran - Translate Between Italian and Russian/Multitran – käännä italiasta venäjään/hakumuoto=Multitranista käännöstä italiasta venäjään//
|
||||
=/Multitran - Translate Between Spanish and Russian/Multitran – käännä espanjasta venäjään/hakumuoto=Multitranista käännöstä espanjasta venäjään//
|
||||
=:Muon Discover:elat=Muon Discoverista:gen=Muon Discoverin::
|
||||
=/Muon Package Manager/Muon-paketinhallinta/elat=Muon-paketinhallinnasta/gen=Muon-paketinhallinnan//
|
||||
=/Muon Software Center/Muon-sovellusvalikoima/elat=Muon-sovellusvalikoimasta/gen=Muon-sovellusvalikoiman//
|
||||
=:Muon Update Manager:Muon-päivitystenhallinta:elat=Muon-päivitystenhallinnasta:gen=Muon-päivitystenhallinnan::
|
||||
=:Nepomuk Shell:Nepomuk-kuori:elat=Nepomuk-kuoresta:gen=Nepomuk-kuoren::
|
||||
=/Netcraft/hakumuoto=Netcraftistä//
|
||||
=:Network Management:Verkonhallinta:gen=Verkonhallinnan:yleisnimi=kyllä::
|
||||
=:New South Wales:Uusi Etelä-Wales:elat=Uudesta Etelä-Walesista:gen=Uuden Etelä-Walesin:illat=Uuteen Etelä-Walesiin:iness=Uudessa Etelä-Walesissa:part=Uutta Etelä-Walesia::
|
||||
=/Newspaper Layout/Sanomalehtiasettelu/elat=Sanomalehtiasettelusta/gen=Sanomalehtiasettelun//
|
||||
=:News:Uutiset:elat=Uutissovelmasta:gen=Uutisten:yleisnimi=kyllä::
|
||||
=:New Zealand:Uusi-Seelanti:elat=Uudesta-Seelannista:gen=Uuden-Seelannin:illat=Uuteen-Seelantiin:iness=Uudessa-Seelannissa:part=Uutta-Seelantia::
|
||||
=:Niger:elat=Nigeristä:gen=Nigerin:illat=Nigeriin:iness=Nigerissä:part=Nigeriä::
|
||||
=:North America:Pohjois-Amerikka:elat=Pohjois-Amerikasta:gen=Pohjois-Amerikan:illat=Pohjois-Amerikkaan:iness=Pohjois-Amerikassa:part=Pohjois-Amerikkaa::
|
||||
=:Oikoluku:Spell Check:elat=Oikoluvusta:gen=Oikoluvun:yleisnimi=kyllä::
|
||||
=/Okteta/elat=Oktetasta/gen=Oktetan//
|
||||
=/Okular/elat=Okularista/gen=Okularin//
|
||||
=:Ontario:elat=Ontariosta:gen=Ontarion:illat=Ontarioon:iness=Ontariossa:part=Ontariota::
|
||||
=/openDesktop.org/hakumuoto=openDesktop.org-haulla//
|
||||
=/Open Directory/hakumuoto=Open Directorystä//
|
||||
=/OpenDocument Text -taustaosa/OpenDocument Text Backend/elat=OpenDocument Text -taustaosasta//
|
||||
=/OpenPGP Key Search/OpenPGP-avainhaku/hakumuoto=OpenPGP-avainhaulla//
|
||||
=:Pacific:Tyynimeri:elat=Tyynestämerestä:gen=Tyynenmeren:illat=Tyyneenmereen:iness=Tyynellämerellä:part=Tyyntämerta::
|
||||
=:Pager (QML):Sivutin (QML):elat=Sivuttimesta:gen=Sivuttimen:yleisnimi=kyllä::
|
||||
=:Pager:Sivutin:elat=Sivuttimesta:gen=Sivuttimen:yleisnimi=kyllä::
|
||||
=:Pairs Editor:Pairs-muokkain:elat=Pairs-muokkaimesta:gen=Pairs-muokkaimen::
|
||||
=:Pakistan:elat=Pakistanista:gen=Pakistanin:illat=Pakistaniin:iness=Pakistanissa:part=Pakistania::
|
||||
=/Palapeli/elat=Palapelistä/gen=Palapelin//
|
||||
=:Paneeli:Panel:gen=Paneelin:yleisnimi=kyllä::
|
||||
=:Paneelivälilevy:Panel Spacer:elat=Paneelivälilevystä:gen=Paneelivälilevyn:yleisnimi=kyllä::
|
||||
=:Papouasie:Papua:elat=Papuasta:gen=Papuan:illat=Papuaan:iness=Papuassa:part=Papuaa::
|
||||
=:Paraguay:elat=Paraguaysta:gen=Paraguayn:illat=Paraguayhin:iness=Paraguayssa:part=Paraguayta::
|
||||
=/Parley/elat=Parleystä/gen=Parleyn//
|
||||
=:Pastebin:elat=Pastebinistä:gen=Pastebinin:yleisnimi=kyllä::
|
||||
=/PDF Backend/PDF-taustaosa/elat=PDF-taustaosasta//
|
||||
=/PHP Search/PHP-haku/hakumuoto=PHP-haulla//
|
||||
=:Picmi:elat=Picmistä:gen=Picmin::
|
||||
=:Pikakäynnistin:Quicklaunch:elat=Pikakäynnistimestä:gen=Pikakäynnistimen:yleisnimi=kyllä::
|
||||
=:Plan:elat=Planista:gen=Planin::
|
||||
=:Plan WorkPackage Handler:Plan-työpakettien käsittelijä:elat=Plan-työpakettien käsittelijästä:gen=Plan-työpakettien käsittelijän::
|
||||
=:Plasma Desktop Shell:Plasma-työpöytäkuori:gen=Plasma-työpöytäkuoren::
|
||||
=/Plasma-taustakuvakatselin/Viewer for Plasma wallpapers/elat=Plasma-taustakuvakatselimesta/gen=Plasma-taustakuvakatselimen//
|
||||
=/Plucker Document Backend/Plucker-taustaosa/elat=Plucker-taustaosasta//
|
||||
=:Preussi:Prussia:elat=Preussista:gen=Preussin:illat=Preussiin:iness=Preussissa:part=Preussia::
|
||||
=/PS Backend/PS-taustaosa/elat=PS-taustaosasta//
|
||||
=/Puhelinluettelohaku/Telephonebook Search Provider/hakumuoto=puhelinluettelohaulla//
|
||||
=/Puhesyntetisaattorin hallinta/Text-to-Speech Control Module/elat=Puhesyntetisaattorin hallinnasta//
|
||||
=:Puunäkymä:Tree View:elat=Puunäkymästä:yleisnimi=kyllä::
|
||||
=/Python Reference Manual/hakumuoto=Python Reference Manualista//
|
||||
=/QRZ.com Callsign Database/QRZ.com-kutsumerkkitietokanta/hakumuoto=QRZ.com-kutsumerkkitietokannasta//
|
||||
=/Qt4 Documentation/Qt4-dokumentaatio/hakumuoto=Qt4-dokumentaatiosta//
|
||||
=:Quebec:elat=Quebecistä:gen=Quebecin:illat=Quebeciin:iness=Quebecissä:part=Quebeciä::
|
||||
=/Qwant/hakumuoto=Qwantilla//
|
||||
=/Qwant Images/Qwant-kuvahaku/hakumuoto=Qwant-kuvahaulla//
|
||||
=/Qwant News/Qwant-uutiset/hakumuoto=Qwant-uutisista//
|
||||
=/Qwant Shopping/Qwant-tuotehaku/hakumuoto=Qwant-tuotehaulla//
|
||||
=/Qwant Social/hakumuoto=Qwant Socialista//
|
||||
=/Qwant Videos/Qwant-videohaku/hakumuoto=Qwant-videohaulla//
|
||||
=/rekonq/elat=rekonqista/gen=rekonqin//
|
||||
=/Rocs/elat=Rocsista/gen=Rocsin//
|
||||
=:Roskakori:Trashcan:elat=Roskakorista:gen=Roskakorin:yleisnimi=kyllä::
|
||||
=/RPM-Find/RPM-haku/hakumuoto=RPM-haulla//
|
||||
=/Ruby Application Archive/Ruby-sovellusarkisto/hakumuoto=Ruby-sovellusarkistosta//
|
||||
=:Russia:Venäjä:elat=Venäjältä:gen=Venäjän:illat=Venäjälle:iness=Venäjällä:part=Venäjää::
|
||||
=:SameGame:elat=SameGamesta:gen=SameGamen::
|
||||
=:Scandinavia:Skandinavia:elat=Skandinaviasta:gen=Skandinavian:illat=Skandinaviaan:iness=Skandinaviassa:part=Skandinaviaa::
|
||||
=/Shisen-Sho/elat=Shisen-Shosta/gen=Shisen-Shon//
|
||||
=:Siberia:Siperia:elat=Siperasta:gen=Siperian:illat=Siperiaan:iness=Siperiassa:part=Siperiaa::
|
||||
=:Simon:elat=Simonista:gen=Simonin::
|
||||
=:Simple Simon:Yksinkertainen Simon:gen=Yksinkertaisen Simonin::
|
||||
=:Social News:Sosiaaliset uutiset:gen=Sosiaalisten uutisten:yleisnimi=kyllä::
|
||||
=/Solid Device Actions Editor/Solid-laitetoimintojen editori/elat=Solid-laitetoimintojen editorista//
|
||||
=/SourceForge/hakumuoto=SourceForgesta//
|
||||
=/Sovelmakojelauta/Widget Dashboard/elat=Sovelmakojelaudasta/gen=Sovelmakojelaudan//
|
||||
=/SSL Configuration Module/SSL-asetusosio/elat=SSL-asetusosiosta//
|
||||
=:Stage:elat=Stagesta:gen=Stagen::
|
||||
=:Step:elat=Stepistä:gen=Stepin::
|
||||
=:Storage Service Manager:Tallennuspalvelun hallinta:elat=Tallennuspalvelun hallinnasta:gen=Tallennuspalvelun hallinnan:yleisnimi=kyllä::
|
||||
=/Sweeper/elat=Sweeperistä/gen=Sweeperin//
|
||||
=:Sääennuste (QML):Weather Forecast (QML):elat=Sääennusteesta (QML):gen=Sääennusteen (QML):yleisnimi=kyllä::
|
||||
=:Sääennuste:Weather Forecast:elat=Sääennusteesta:gen=Sääennusteen:yleisnimi=kyllä::
|
||||
=:Task Manager:Tehtävienhallinta:elat=Tehtävienhallinnasta:gen=Tehtävienhallinnan:yleisnimi=kyllä::
|
||||
=/Technorati/hakumuoto=Technoratista//
|
||||
=/Technorati Tags/Technorati-tunnisteet/hakumuoto=Technorati-tunnistehaulla//
|
||||
=/Teletekst Search Provider/Teleteksti-palveluntarjoaja/hakumuoto=Teleteksti-palveluntarjoajalta//
|
||||
=/TIFF Backend/TIFF-taustaosa/elat=TIFF-taustaosasta//
|
||||
=/TV Tome/hakumuoto=TV Tome -haulla//
|
||||
=:TXT-taustaosa:Txt Backend:elat=TXT-taustaosasta::
|
||||
=/Umbrello UML Modeller/Umbrello UML-mallinnus/elat=Umbrello UML-mallinnuksesta/gen=Umbrello UML-mallinnuksen//
|
||||
=:Unit Converter:Yksikkömuunnin:elat=Yksikkömuuntimesta:gen=Yksikkömuuntimen:yleisnimi=kyllä::
|
||||
=:United States:Yhdysvallat:elat=Yhdysvalloista:gen=Yhdysvaltojen:illat=Yhdysvaltoihin:iness=Yhdysvalloissa:part=Yhdysvaltoja::
|
||||
=/Urban Dictionary/hakumuoto=Urban Dictionarysta//
|
||||
=/U.S. Patent Database/Yhdysvaltojen patenttitietokanta/hakumuoto=Yhdysvaltojen patenttitietokannasta//
|
||||
=:Verkkoselain:Web Browser:elat=Verkkoselaimesta:gen=Verkkoselaimen:yleisnimi=kyllä::
|
||||
=:Vietnam:elat=Vietnamista:gen=Vietnamin:illat=Vietnamiin:iness=Vietnamissa:part=Vietnamia::
|
||||
=/Vimeo/hakumuoto=Vimeosta//
|
||||
=/Voila/hakumuoto=Voilalla//
|
||||
=/Web Slice/Web-siivu/elat=Web-siivusta/gen=Web-siivun//
|
||||
=/Wikia/hakumuoto=Wikiasta//
|
||||
=/Wikipedia - The Free Encyclopedia/Wikipedia, vapaa tietosanakirja/hakumuoto=Wikipediasta, vapaasta tietosanakirjasta//
|
||||
=/Wikisanakirja, vapaa sanakirja/Wiktionary - The Free Dictionary/hakumuoto=Wikisanakirjasta, vapaasta sanakirjasta//
|
||||
=/Wolfram Alpha/hakumuoto=Wolfram Alphasta//
|
||||
=/WordReference.com English Dictionary/WordReference.comin englannin kielen sanasto/hakumuoto=WordReference.comin englannin kielen sanastosta//
|
||||
=/WordReference.com Translation: English to French/WordReference.com-käännös englannista ranskaksi/hakumuoto=WordReference.com-käännöstä englannista ranskaksi//
|
||||
=/WordReference.com Translation: English to Italian/WordReference.com-käännös englannista italiaksi/hakumuoto=WordReference.com-käännöstä englannista italiaksi//
|
||||
=/WordReference.com Translation: English to Spanish/WordReference.com-käännös englannista espanjaksi/hakumuoto=WordReference.com-käännöstä englannista espanjaksi//
|
||||
=/WordReference.com Translation: French to English/WordReference.com-käännös ranskasta englanniksi/hakumuoto=WordReference.com-käännöstä ranskasta englanniksi//
|
||||
=/WordReference.com Translation: Italian to English/WordReference.com-käännös italiasta englanniksi/hakumuoto=WordReference.com-käännöstä italiasta englanniksi//
|
||||
=/WordReference.com Translation: Spanish to English/WordReference.com-käännös espanjasta englanniksi/hakumuoto=WordReference.com-käännöstä espanjasta englanniksi//
|
||||
=/XPS Backend/XPS-taustaosa/elat=XPS-taustaosasta//
|
||||
=/Yahoo/hakumuoto=Yahoosta//
|
||||
=/Yahoo Images/Yahoon kuvahaku/hakumuoto=Yahoon kuvahaulla//
|
||||
=/Yahoo Local/Yahoon paikallishaku/hakumuoto=Yahoon paikallishaulla//
|
||||
=/Yahoo Shopping/Yahoon tuotehaku/hakumuoto=Yahoon tuotehaulla//
|
||||
=/Yahoo Video/Yahoon videohaku/hakumuoto=Yahoon videohaulla//
|
||||
=/YouTube/hakumuoto=YouTubesta//
|
||||
=:Yukon:gen=Yukonin::
|
||||
=:Zair:Zaire:elat=Zairesta:gen=Zairen:illat=Zaireen:iness=Zairessa:part=Zairea::
|
||||
=:Zanshin Todo:Zanshin-tehtävät:elat=Zanshin-tehtävistä:gen=Zanshin-tehtävien::
|
|
@ -1,169 +0,0 @@
|
|||
function commonNameToLowerFirst(phr) {
|
||||
var str = Ts.subs(0);
|
||||
var pval = Ts.getProp(str, "yleisnimi");
|
||||
|
||||
if (pval == "kyllä") {
|
||||
return Ts.toLowerFirst(phr);
|
||||
}
|
||||
else {
|
||||
return phr;
|
||||
}
|
||||
}
|
||||
|
||||
Ts.setcall("yleisnimi_pienellä", commonNameToLowerFirst);
|
||||
|
||||
// Converts the first character in the string to lower case
|
||||
function toLowerFirst(str)
|
||||
{
|
||||
return Ts.toLowerFirst(str);
|
||||
}
|
||||
|
||||
Ts.setcall("pieni_alkukirjain", toLowerFirst);
|
||||
|
||||
function conditionalHyphen(str1, str2)
|
||||
{
|
||||
var spaceBeforeHyphen = false;
|
||||
if (str1.indexOf(' ') != -1) {
|
||||
spaceBeforeHyphen = true;
|
||||
// Simple logic for detecting if str1 consists of only an HTML 'a' tag
|
||||
// In that case only check for user visible whitespaces inside the tag.
|
||||
// This is to prevent "foo -bar" behaviour when "foo-bar" is wanted.
|
||||
// This obviously catches only the most basic cases.
|
||||
// Also it is assumed that this kind of link string is never used as
|
||||
// the first parameter to this function if it is meant to be displayed
|
||||
// as plain text (i.e. not as a link).
|
||||
if (str1.length > 4 && str1[0] == '<' && str1[1] == 'a' && str1[2] == ' ') {
|
||||
var tagEnd = str1.indexOf('>', 3);
|
||||
if (tagEnd != -1) {
|
||||
var textStart = tagEnd + 1;
|
||||
var endTagStart = str1.indexOf('<', textStart);
|
||||
if (endTagStart != -1 && str1.length == endTagStart+4 &&
|
||||
str1[endTagStart+1] == '/' &&
|
||||
str1[endTagStart+2] == 'a' && str1[endTagStart+3] == '>')
|
||||
{
|
||||
str1Text = str1.substring(textStart, endTagStart-1);
|
||||
if (str1Text.indexOf(' ') != -1) {
|
||||
spaceBeforeHyphen = true;
|
||||
}
|
||||
else {
|
||||
spaceBeforeHyphen = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (spaceBeforeHyphen) {
|
||||
return str1 + " -" + str2;
|
||||
} else {
|
||||
return str1 + "-" + str2;
|
||||
}
|
||||
}
|
||||
|
||||
Ts.setcall("yhdysmerkki", conditionalHyphen);
|
||||
|
||||
|
||||
// Set properties of the phrase given by the finalized msgstr in the PO file.
|
||||
// The arguments to the call are consecutive pairs of keys and values,
|
||||
// as many as needed (i.e. total number of arguments must be even).
|
||||
//
|
||||
// The property keys are registered as PO calls taking single argument,
|
||||
// which can be used to retrive the property values for this msgstr
|
||||
// when it is later used as placeholder replacement in another message.
|
||||
//
|
||||
// Always signals fallback.
|
||||
//
|
||||
function setMsgstrProps (/*KEY1, VALUE1, ...*/)
|
||||
{
|
||||
if (arguments.length % 2 != 0)
|
||||
throw Error("Property setter given odd number of arguments.");
|
||||
|
||||
// Collect finalized msgstr.
|
||||
phrase = Ts.msgstrf()
|
||||
|
||||
// Go through all key-value pairs.
|
||||
for (var i = 0; i < arguments.length; i += 2) {
|
||||
var pkey = arguments[i];
|
||||
var pval = arguments[i + 1];
|
||||
|
||||
// Set the value of the property for this phrase.
|
||||
Ts.setProp(phrase, pkey, pval);
|
||||
|
||||
// Set the PO call for getting this property, if not already set.
|
||||
if (!Ts.hascall(pkey)) {
|
||||
Ts.setcall(pkey,
|
||||
function (phr) { return Ts.getProp(phr, this.pkey) },
|
||||
{"pkey" : pkey});
|
||||
}
|
||||
}
|
||||
|
||||
throw Ts.fallback();
|
||||
}
|
||||
Ts.setcall("aseta", setMsgstrProps);
|
||||
|
||||
// NOTE: You can replace "aseta" in the line above with any UTF-8 string,
|
||||
// e.g. one in your language so that it blends nicely inside POs.
|
||||
|
||||
// The following things are copied from the croation kdelibs4.js and used for
|
||||
// noun cases
|
||||
|
||||
// ------------------------------
|
||||
// Create a scripting call linked to property key in pmaps.
|
||||
// If the call name starts with lowercase letter,
|
||||
// another call with the first letter in uppercase will be defined,
|
||||
// which will upcase the first letter in the property value before
|
||||
// returning it.
|
||||
function create_pgetter (cname, pkey)
|
||||
{
|
||||
if (!Ts.hascall(cname)) {
|
||||
Ts.setcall(cname,
|
||||
function (phr) {
|
||||
if (this.pkey.constructor == Array) {
|
||||
for (var i = 0; i < this.pkey.length; ++i) {
|
||||
var pval = Ts.getProp(phr, this.pkey[i]);
|
||||
if (pval != undefined) {
|
||||
return pval;
|
||||
}
|
||||
}
|
||||
return undefined;
|
||||
} else {
|
||||
return Ts.getProp(phr, this.pkey);
|
||||
}
|
||||
},
|
||||
{"pkey" : pkey});
|
||||
|
||||
cname_uc = Ts.toUpperFirst(cname);
|
||||
if (cname_uc != cname) {
|
||||
Ts.setcall(cname_uc,
|
||||
function (phr) {
|
||||
return Ts.toUpperFirst(Ts.acall(this.cname_lc, phr));
|
||||
},
|
||||
{"cname_lc" : cname});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------
|
||||
// Predefined property getters.
|
||||
// Call names with corresponding pmap keys for predefined getters.
|
||||
// The first letter in the call name should be in lowercase;
|
||||
// see the comment to create_pgetter() function for the reason.
|
||||
var call_name_to_prop = {
|
||||
"nom" : "nom", // nominative case // is this really needed?
|
||||
"gen" : "gen", // genitive case
|
||||
"part" : "part", // partitive case
|
||||
"elat" : "elat", // elative case
|
||||
"adess" : "adess", // adessive case
|
||||
"iness": "iness", // inessive case
|
||||
"illat" : "illat", // illative case
|
||||
"hakumuoto" : "hakumuoto",
|
||||
// "lok" : ["lok", "dat"], // locative case (forwarded to dative if missing)
|
||||
// commented and left here for the purpose of example
|
||||
};
|
||||
for (cname in call_name_to_prop) {
|
||||
create_pgetter(cname, call_name_to_prop[cname]);
|
||||
}
|
||||
|
||||
// ------------------------------
|
||||
// Property maps to be available to all apps.
|
||||
Ts.loadProps("general");
|
|
@ -18,4 +18,3 @@ set(CURRENT_LANG fr)
|
|||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( data )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
kde4_install_ts_files(${CURRENT_LANG} kgeography)
|
|
@ -1,73 +0,0 @@
|
|||
_genitif_ = {}
|
||||
_genitif_['de'] = 'de '
|
||||
_genitif_['du'] = 'du '
|
||||
_genitif_['d'] = 'd\''
|
||||
_genitif_['de l'] = 'de l\''
|
||||
_genitif_['de l\''] = 'de l\''
|
||||
_genitif_['de la'] = 'de la '
|
||||
_genitif_['des'] = 'des '
|
||||
|
||||
_datif_ = {}
|
||||
_datif_['de'] = 'à '
|
||||
_datif_['du'] = 'au '
|
||||
_datif_['d'] = 'à '
|
||||
_datif_['de l'] = 'à l\''
|
||||
_datif_['de la'] = 'à la '
|
||||
_datif_['des'] = 'aux '
|
||||
|
||||
_nominatif_ = {}
|
||||
_nominatif_['de'] = ''
|
||||
_nominatif_['du'] = 'le '
|
||||
_nominatif_['d'] = ''
|
||||
_nominatif_['de l'] = 'l\''
|
||||
_nominatif_['de la'] = 'la '
|
||||
_nominatif_['des'] = 'les '
|
||||
|
||||
_directif_ = {}
|
||||
_directif_['de'] = 'à '
|
||||
_directif_['du'] = 'au '
|
||||
_directif_['d'] = 'en '
|
||||
_directif_['de l'] = 'en '
|
||||
_directif_['de la'] = 'en '
|
||||
_directif_['des'] = 'aux '
|
||||
|
||||
_forms_ = {}
|
||||
_forms_['directif'] = _directif_
|
||||
_forms_['nominatif'] = _nominatif_
|
||||
_forms_['datif'] = _datif_
|
||||
_forms_['genitif'] = _genitif_
|
||||
|
||||
_genitif_ = {};
|
||||
function addDictGenderLike (key, base) {
|
||||
_genitif_[key] = base;
|
||||
}
|
||||
|
||||
function dynamicSetGenderLike (base) {
|
||||
addDictGenderLike(Ts.msgstrf(), base);
|
||||
Ts.fallback();
|
||||
}
|
||||
Ts.setcall("pose-genre-etendu", dynamicSetGenderLike);
|
||||
|
||||
function getGenderLike (cas, key) {
|
||||
gender_like = _genitif_[key];
|
||||
if ( gender_like )
|
||||
{
|
||||
caster = _forms_[cas];
|
||||
if ( caster )
|
||||
{
|
||||
ret = caster[gender_like] + key;
|
||||
}
|
||||
else
|
||||
{
|
||||
ret = gender_like + key;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ret = key;
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
||||
Ts.setcall("get-genre-etendu", getGenderLike);
|
||||
Ts.setcall("majus-initiale", Ts.toUpperFirst);
|
|
@ -17,4 +17,3 @@ endif()
|
|||
set(CURRENT_LANG ga)
|
||||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
add_subdirectory(kdelibs)
|
|
@ -1 +0,0 @@
|
|||
kde4_install_ts_files(${CURRENT_LANG} kdelibs4)
|
|
@ -1,131 +0,0 @@
|
|||
// kdelibs4.js of Irish KDE translation
|
||||
|
||||
// ------------------------------
|
||||
// Global dictionary of property getters.
|
||||
var _propgetters_ = {};
|
||||
|
||||
// ------------------------------
|
||||
// Property getter object contains the following data attributes:
|
||||
// - callname: the name of the getter call as exposed to PO files
|
||||
// - values: dictionary of values of this property per phrase
|
||||
//
|
||||
function Propgetter (callname)
|
||||
{
|
||||
this.callname = callname;
|
||||
this.values = {};
|
||||
|
||||
this.getprop = getprop;
|
||||
|
||||
// Set the PO call.
|
||||
Ts.setcall(callname, getprop, this);
|
||||
}
|
||||
|
||||
// Property getter method attached to getter objects.
|
||||
// If the property is not found, fallback is signalled.
|
||||
//
|
||||
function getprop (phrase)
|
||||
{
|
||||
if (phrase in this.values) {
|
||||
return this.values[phrase];
|
||||
}
|
||||
throw Ts.fallback();
|
||||
}
|
||||
|
||||
// ------------------------------
|
||||
// Set properties of the phrase given by the finalized msgstr in the PO file.
|
||||
// The arguments to the call are as many keys followed by their value
|
||||
// as desired (i.e. number of arguments must be even).
|
||||
//
|
||||
// The property keys become property getters which can be used to retrive
|
||||
// the value at a later point. If the getter for a given key already exists,
|
||||
// the new value is added into its overrides.
|
||||
//
|
||||
// The call always signals fallback.
|
||||
//
|
||||
function setprops (/*...*/)
|
||||
{
|
||||
if (arguments.length % 2 != 0)
|
||||
throw Error("Property setter given odd number of arguments.");
|
||||
|
||||
for (var i = 0; i < arguments.length; i += 2) {
|
||||
var pkey = arguments[i];
|
||||
var pval = arguments[i + 1];
|
||||
|
||||
// Either create new, or select existing getter.
|
||||
var pgetr;
|
||||
if (!_propgetters_[pkey]) {
|
||||
// Create new getter for this property.
|
||||
pgetr = new Propgetter(pkey);
|
||||
}
|
||||
else {
|
||||
// Get previously defined getter.
|
||||
pgetr = _propgetters_[pkey];
|
||||
}
|
||||
|
||||
// Associate the property value to finalized msgstr.
|
||||
pgetr.values[Ts.msgstrf()] = pval;
|
||||
}
|
||||
|
||||
throw Ts.fallback();
|
||||
}
|
||||
Ts.setcall("properties", setprops);
|
||||
|
||||
// ------------------------------
|
||||
// Standard message dialogs come with cookie-cutter "Yes", "No", etc. buttons,
|
||||
// but we can't translate them properly like that.
|
||||
// Instead, attach the proper answers to the message caption/text in the PO,
|
||||
// and then retrieve them in filtering messages for message dialog buttons
|
||||
// in kdelibs4.po (those with context "@action:button filter-...").
|
||||
|
||||
// Dictionary of answers.
|
||||
var _answers_ = {};
|
||||
|
||||
// Set answers as key-value pairs, as many as needed.
|
||||
// The call always signals fallback.
|
||||
function setAnswers (/*...*/)
|
||||
{
|
||||
if (arguments.length % 2 != 0)
|
||||
throw Error("Answers setter given odd number of arguments.");
|
||||
|
||||
for (var i = 0; i < arguments.length; i += 2) {
|
||||
var akey = arguments[i];
|
||||
var answer = arguments[i + 1];
|
||||
_answers_[akey] = answer;
|
||||
}
|
||||
|
||||
throw Ts.fallback();
|
||||
}
|
||||
Ts.setcall("set-answers", setAnswers);
|
||||
// msgid "Blah, blah...?"
|
||||
// msgstr ""
|
||||
// "Eh laddy, blah, blah...?"
|
||||
// "|/|"
|
||||
// "$[set-answers no '&Nay!' yes '&Arr!']"
|
||||
|
||||
// Get an answer by key.
|
||||
// Signals fallback if the answer with the given key is not set.
|
||||
// Deletes the answer from the dictionary, so that it doesn't happen
|
||||
// that it gets retrieved in a later, unrelated question.
|
||||
function getAnswer (akey)
|
||||
{
|
||||
answer = _answers_[akey];
|
||||
if (!answer) throw Ts.fallback();
|
||||
delete _answers_[akey];
|
||||
return answer;
|
||||
}
|
||||
Ts.setcall("get-answer", getAnswer);
|
||||
// msgctxt "@action:button filter-yes"
|
||||
// msgid "%1"
|
||||
// msgstr "%1|/|$[get-answer yes]"
|
||||
|
||||
// Reset all answers, so that they don't get used for the wrong question.
|
||||
// Always signals fallback.
|
||||
function resetAnswers ()
|
||||
{
|
||||
_answers_ = {};
|
||||
}
|
||||
Ts.setcall("reset-answers", resetAnswers);
|
||||
// msgctxt "@action:button post-filter"
|
||||
// msgid "."
|
||||
// msgstr ".|/|$[reset-answers]"
|
||||
|
|
@ -17,4 +17,3 @@ endif()
|
|||
set(CURRENT_LANG hne)
|
||||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -17,4 +17,3 @@ endif()
|
|||
set(CURRENT_LANG hr)
|
||||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
add_subdirectory(kdelibs)
|
|
@ -1 +0,0 @@
|
|||
kde4_install_ts_files(${CURRENT_LANG} kdelibs4)
|
|
@ -1,30 +0,0 @@
|
|||
=/Choqok/_b=j/_r=m/aku=Choqok/dat=Choqoku/gen=Choqoka/ins=Choqokom/lok=Choqoku/nom=Choqok//
|
||||
=/Datoteka/File/_b=j/_r=ž/aku=datoteku/dat=datoteci/gen=datoteke/ins=datotekom/lok=datoteci/nom=Datoteka//
|
||||
=/Desktop/Radna površina/_b=j/_r=ž/aku=radnu površinu/dat=radnoj površini/gen=radne površine/ins=radnom površinom/nom=Radna površina//
|
||||
=/Family/Obitelj/_b=j/_r=m/aku=obitelj/dat=obitelji/gen=obitelji/ins=obitelji/lok=obitelji/nom=Obitelj//
|
||||
=/File Location/Lokacija datoteke/_b=j/_r=ž/aku=lokaciju datoteke/dat=lokaciji datoteke/gen=lokacije datoteke/ins=lokacijom datoteke/lok=lokaciji datoteke/nom=Lokacija datoteke//
|
||||
=/FontConfig Match/FontConfig podudaranje/_b=j/_r=s/aku=FontConfig podudaranje/dat=FontConfig podudaranju/gen=FontConfig podudaranja/ins=FontConfig podudaranjem/lok=FontConfig podudaranju/nom=FontConfig podudaranje//
|
||||
=/Ghostscript/_b=j/_r=m/aku=Ghostscript/dat=Ghostscriptu/gen=Ghostscripta/ins=Ghostscriptom/lok=Ghostscriptu/nom=Ghostscript//
|
||||
=/Gwenview/_b=j/_r=m/aku=Gwenview/dat=Gwenviewu/gen=Gwenviewa/ins=Gwenviewom/lok=Gwenviewu/nom=Gwenview//
|
||||
=/Icon/Ikona/_b=j/_r=ž/aku=ikonu/dat=ikoni/gen=ikone/ins=ikonom/lok=ikoni/nom=ikona//
|
||||
=/K3b/_b=j/_r=m/aku=K3b/dat=K3b-u/gen=K3b-a/ins=K3b-om/lok=K3b-u/nom=K3b//
|
||||
=/KDE Wallet Manager/KDE-ov upravitelj novčanika/_b=j/_r=m/aku=KDE-ovog upravitelja novčanika/dat=KDE-ovom upravitelju novčanika/gen=KDE-ovog upravitelja novčanika/ins=KDE-ovim upraviteljem novčanika/nom=KDE-ov upravitelj novčanika//
|
||||
=/KDiskFree/_b=j/_r=m/aku=KDiskFreea/dat=KDiskFreeu/gen=KDiskFreea/ins=KDiskFreeom/lok=KDiskFreeu/nom=KDiskFree//
|
||||
=/KGpg/_b=j/_r=m/aku=KGpg/dat=KGpg-u/gen=KGpg-a/ins=KGpg-om/lok=KGpg-u/nom=KGpg//
|
||||
=/KMail/_b=j/_r=m/aku=KMail/dat=KMailu/gen=KMaila/ins=KMailom/lok=KMailu/nom=KMail//
|
||||
=/KMix/_b=j/_r=m/aku=KMix/dat=KMixu/gen=KMixa/ins=KMixom/nom=KMix//
|
||||
=/KRuler/_b=j/_r=m/aku=KRuler/dat=KRuleru/gen=KRulera/ins=KRulerom/lok=KRuleru/nom=KRuler//
|
||||
=/KSnapshot/_b=j/_r=m/aku=KSnapshot/dat=KSnapshotu/gen=KSnapshota/ins=KSnapshotom/lok=KSnapshotu/nom=KSnapshot//
|
||||
=/KTimeTracker/_b=j/_r=m/aku=KTimeTracker/dat=KTimeTrackeru/gen=KTimeTrackera/ins=KTimeTrackerom/lok=KTimeTrackeru/nom=KTimeTracker//
|
||||
=/KTorrent/_b=j/_r=m/aku=KTorrent/dat=KTorrentu/gen=KTorrenta/ins=KTorrentom/lok=KTorrentu/nom=KTorrent//
|
||||
=/Kate/_b=j/_r=m/aku=Kate/dat=Kateu/gen=Katea/ins=Kateom/nom=Kate//
|
||||
=/Kgpg/_b=j/_r=m/aku=KGpg/dat=KGpg-u/gen=KGpg-a/ins=KGpg-om/lok=KGpg-u/nom=KGpg//
|
||||
=/Konsole/_b=j/_r=ž/aku=Konsoleu/dat=Konsolei/gen=Konsole/ins=Konsoleom/lok=Konsolei/nom=Konsole//
|
||||
=/Okular/_b=j/_r=m/aku=Okular/dat=Okularu/gen=Okulara/ins=Okularom/lok=Okularu/nom=Okular//
|
||||
=/PDF/_b=j/_r=m/aku=PDF/dat=PDF-u/gen=PDF-a/ins=PDF-om/lok=PDF-u/nom=PDF//
|
||||
=/Power Management/Upravljanje potrošnjom energije/_b=j/_r=s/aku=upravljanje potrošnjom energije/dat=upravljanju potrošnjom energije/gen=upravljanja potrošnjom energije/ins=upravljanjem potrošnjom energije/nom=Upravljanje potrošnjom energije//
|
||||
=/Stil/Style/_b=j/_r=m/aku=stil/dat=stilu/gen=stila/ins=stilom/lok=stilu/nom=Stil//
|
||||
=/SuperKaramba/_b=j/_r=ž/aku=SuperKarambu/dat=SuperKarambi/gen=SuperKarambe/ins=SuperKarambom/lok=SuperKarambi/nom=SuperKaramba//
|
||||
=/Upravitelj novčanika/Wallet Manager/_b=j/_r=m/aku=upravitelja novčanika/dat=upravitelju novčanika/gen=upravitelja novčanika/ins=upraviteljem novčanika/nom=Upravitelj novčanika//
|
||||
=/Web Browser/Web preglednik/_b=j/_r=m/aku=web preglednik/dat=web pregledniku/gen=web preglednika/ins=web preglednikom/nom=web preglednik//
|
||||
=/digiKam/_b=j/_r=m/aku=digiKam/dat=digiKamu/gen=digiKama/ins=digiKamom/lok=digiKamu/nom=digiKam//
|
|
@ -1,98 +0,0 @@
|
|||
// kdelibs4.js of Croatian KDE translation
|
||||
|
||||
// ------------------------------
|
||||
// Create a scripting call linked to property key in pmaps.
|
||||
// If the call name starts with lowercase letter,
|
||||
// another call with the first letter in uppercase will be defined,
|
||||
// which will upcase the first letter in the property value before
|
||||
// returning it.
|
||||
function create_pgetter (cname, pkey)
|
||||
{
|
||||
if (!Ts.hascall(cname)) {
|
||||
Ts.setcall(cname,
|
||||
function (phr) {
|
||||
if (this.pkey.constructor == Array) {
|
||||
for (var i = 0; i < this.pkey.length; ++i) {
|
||||
var pval = Ts.getProp(phr, this.pkey[i]);
|
||||
if (pval != undefined) {
|
||||
return pval;
|
||||
}
|
||||
}
|
||||
return undefined;
|
||||
} else {
|
||||
return Ts.getProp(phr, this.pkey);
|
||||
}
|
||||
},
|
||||
{"pkey" : pkey});
|
||||
|
||||
cname_uc = Ts.toUpperFirst(cname);
|
||||
if (cname_uc != cname) {
|
||||
Ts.setcall(cname_uc,
|
||||
function (phr) {
|
||||
return Ts.toUpperFirst(Ts.acall(this.cname_lc, phr));
|
||||
},
|
||||
{"cname_lc" : cname});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------
|
||||
// Select one of three forms according to the gender of the phrase.
|
||||
function select_by_gender (phrase, form_m, form_f, form_n)
|
||||
{
|
||||
// Select gender (throws fallback if phrase not found).
|
||||
var gender = Ts.getProp(phrase, "_r");
|
||||
|
||||
if (gender == "m") {
|
||||
return form_m;
|
||||
} else if (gender == "ž") {
|
||||
return form_f;
|
||||
} else if (gender == "s") {
|
||||
return form_n;
|
||||
} else {
|
||||
throw Ts.fallback();
|
||||
}
|
||||
}
|
||||
Ts.setcall("po-rodu", select_by_gender);
|
||||
|
||||
// ------------------------------
|
||||
// Select one of six forms according to the gender and number of the phrase.
|
||||
function select_by_number_gender (phrase,
|
||||
form_m, form_f, form_n, // singulars
|
||||
form_mp, form_fp, form_np) // plurals
|
||||
{
|
||||
number = Ts.getProp(phrase, "_b");
|
||||
if (number == "j") { // singular
|
||||
return select_by_gender(phrase, form_m, form_f, form_n);
|
||||
} else if (number == "m") { // plural
|
||||
return select_by_gender(phrase, form_mp, form_fp, form_np);
|
||||
} else {
|
||||
throw Ts.fallback();
|
||||
}
|
||||
}
|
||||
Ts.setcall("po-rodu-broju", select_by_number_gender);
|
||||
|
||||
// ------------------------------
|
||||
// Predefined property getters.
|
||||
// Call names with corresponding pmap keys for predefined getters.
|
||||
// The first letter in the call name should be in lowercase;
|
||||
// see the comment to create_pgetter() function for the reason.
|
||||
var call_name_to_prop = {
|
||||
"_r" : "_r", // gender
|
||||
"_b" : "_b", // number
|
||||
|
||||
"nom" : "nom", // nominative case
|
||||
"gen" : "gen", // genitive case
|
||||
"dat" : "dat", // dative case
|
||||
"aku" : "aku", // accusative case
|
||||
"vok" : "vok", // vocative case
|
||||
"ins" : "ins", // instrumental case
|
||||
"lok" : ["lok", "dat"], // locative case (forwarded to dative if missing)
|
||||
};
|
||||
for (cname in call_name_to_prop) {
|
||||
create_pgetter(cname, call_name_to_prop[cname]);
|
||||
}
|
||||
|
||||
// ------------------------------
|
||||
// Property maps to be available to all apps.
|
||||
Ts.loadProps("general");
|
|
@ -1,7 +0,0 @@
|
|||
# Padeži.
|
||||
/nom/.*/rti # nominativ obavezan i mora da se slaže s prevodom
|
||||
/gen|dat|aku|vok|ins|lok/.*/
|
||||
|
||||
# Gramatička svojstva.
|
||||
/_r/m|ž|s/r # rod, obavezan
|
||||
/_b/j|m/r # broj, obavezan
|
|
@ -17,4 +17,3 @@ endif()
|
|||
set(CURRENT_LANG ja)
|
||||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
add_subdirectory(kdelibs)
|
|
@ -1 +0,0 @@
|
|||
kde4_install_ts_files(${CURRENT_LANG} kgeography)
|
|
@ -1,4 +0,0 @@
|
|||
// kgeography.js of Japanese KDE translation
|
||||
|
||||
// Currently no KGeography-specific calls needed,
|
||||
// but let this empty file remain here for possible future needs.
|
|
@ -1 +0,0 @@
|
|||
kde4_install_ts_files(${CURRENT_LANG} kdelibs4)
|
|
@ -1,225 +0,0 @@
|
|||
// kdelibs4.js of Japanese KDE translation
|
||||
// Maintained by Chusslove Illich <caslav.ilic@gmx.net>
|
||||
|
||||
// +++ Global dictionary of states.
|
||||
// _states_[state], if defined, is set to some value for the state.
|
||||
var _states_ = {};
|
||||
|
||||
// *** Set global states to values.
|
||||
// : setStates(state1 value1 state2 value2 ...)
|
||||
// Returns empty string.
|
||||
function setStates (/*...*/) {
|
||||
var f = "setStates: ";
|
||||
if (arguments.length % 2 != 0) {
|
||||
throw Error(f + "must have even number of arguments");
|
||||
}
|
||||
for (var i = 0; i < arguments.length; i += 2) {
|
||||
var state = arguments[i];
|
||||
var val = arguments[i + 1];
|
||||
_states_[state] = val;
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
// *** Get global state value; empty string if not defined.
|
||||
function getState (state) {
|
||||
if (state in _states_) {
|
||||
return _states_[state];
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
// *** Set properties to the phrase given by current msgstrf.
|
||||
// : setMsgstrProperties(prop1 value1 prop2 value2...)
|
||||
// Returns empty string.
|
||||
function setMsgstrProperties (/*...*/) {
|
||||
var f = "setMsgstrProperties: ";
|
||||
if (arguments.length % 2 != 0) {
|
||||
throw Error(f + "must have even number of arguments");
|
||||
}
|
||||
|
||||
var phrase = Ts.msgstrf();
|
||||
for (var i = 0; i < arguments.length; i += 2) {
|
||||
var property = arguments[i];
|
||||
var val = arguments[i + 1];
|
||||
Ts.setProp(phrase, property, val);
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
// *** Get property value of the given phrase; empty string if not defined.
|
||||
function getProperty (phrase, property) {
|
||||
var val = Ts.getProp(phrase, property);
|
||||
if (!val) {
|
||||
return "";
|
||||
}
|
||||
return val;
|
||||
}
|
||||
|
||||
// *** Get form of the given phrase.
|
||||
// A "form" is taken to be a special type of property which defaults to the
|
||||
// phrase itself when not defined. Hence, if the requested form has not been
|
||||
// defined, phrase is returned as is.
|
||||
function getFormProperty (phrase, formm) {
|
||||
var val = Ts.getProp(phrase, formm);
|
||||
if (!val) {
|
||||
return phrase;
|
||||
}
|
||||
return val;
|
||||
}
|
||||
|
||||
// *** Select one of the strings according to the test value.
|
||||
// : selectByValue(testvalue value1 str1 value2 str2 ... defaultstr)
|
||||
// Select the string to the first value equal to the test value,
|
||||
// or returns default string if there is no match.
|
||||
function selectByValue (/*...*/) {
|
||||
var f = "selectByValue: ";
|
||||
if (arguments.length % 2 != 0) {
|
||||
throw Error(f + "must have even number of arguments.");
|
||||
}
|
||||
if (arguments.length < 2)
|
||||
throw Error(f + "must have at least two arguments.");
|
||||
|
||||
var testval = arguments[0];
|
||||
for (var i = 1; i < arguments.length - 1; i += 2) {
|
||||
var val = arguments[i];
|
||||
var str = arguments[i + 1];
|
||||
if (testval == val) {
|
||||
return str;
|
||||
}
|
||||
}
|
||||
// Return the default choice if no other returned before.
|
||||
return arguments[arguments.length - 1];
|
||||
}
|
||||
|
||||
// *** Return first non-empty string among the arguments, or empty if all empty.
|
||||
// : firstNonEmpty(str1 str2 ...)
|
||||
function firstNonEmpty (/*...*/) {
|
||||
for (var i = 0; i < arguments.length; ++i) {
|
||||
if (arguments[i].length > 0) {
|
||||
return arguments[i];
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
// *** Return the finalized ordinary msgstr.
|
||||
function theMsgstr () {
|
||||
return Ts.msgstrf();
|
||||
}
|
||||
|
||||
// *** If the first character in the phrase is non-Japanese, return
|
||||
// the phrase with space added to the start, otherwise return as is.
|
||||
function spaceOnDemandLeft (phrase) {
|
||||
if (phrase.length == 0) {
|
||||
return phrase;
|
||||
}
|
||||
var firstChar = phrase.charAt(0);
|
||||
if (firstChar != " " && firstChar < "\u2E00") {
|
||||
return " " + phrase;
|
||||
}
|
||||
return phrase;
|
||||
}
|
||||
|
||||
// *** If the last character in the phrase is non-Japanese, return
|
||||
// the phrase with space added to the end, otherwise return as is.
|
||||
function spaceOnDemandRight (phrase) {
|
||||
if (phrase.length == 0) {
|
||||
return phrase;
|
||||
}
|
||||
var lastChar = phrase.charAt(phrase.length - 1);
|
||||
if (lastChar != " " && lastChar < "\u2E00") {
|
||||
return phrase + " ";
|
||||
}
|
||||
return phrase;
|
||||
}
|
||||
|
||||
// *** Combination of spaceOnDemandLeft and spaceOnDemandRight: both first
|
||||
// and last characters are checked, and spaces added where needed.
|
||||
function spaceOnDemandBoth (phrase) {
|
||||
return spaceOnDemandLeft(spaceOnDemandRight(phrase));
|
||||
}
|
||||
|
||||
// *** Strip the accelerator marker, composed of an ASCII alphanumeric
|
||||
// within parenthesis (with or without an ampersand in front).
|
||||
stripAccRx = /\((&|&)?[a-zA-Z0-9]\)/;
|
||||
function stripAccelerator (phrase) {
|
||||
return phrase.replace(stripAccRx, "");
|
||||
}
|
||||
|
||||
// ==> Exports to PO calls
|
||||
Ts.setcall("~set", setStates);
|
||||
Ts.setcall("~get", getState);
|
||||
Ts.setcall("~setProps", setMsgstrProperties);
|
||||
Ts.setcall("~getProp", getProperty);
|
||||
Ts.setcall("~getForm", getFormProperty);
|
||||
Ts.setcall("~case", selectByValue);
|
||||
Ts.setcall("~first", firstNonEmpty);
|
||||
Ts.setcall("~this", theMsgstr);
|
||||
Ts.setcall("~spacerL", spaceOnDemandLeft);
|
||||
Ts.setcall("~spacerR", spaceOnDemandRight);
|
||||
Ts.setcall("~spacerB", spaceOnDemandBoth);
|
||||
Ts.setcall("~stripAccel", stripAccelerator);
|
||||
|
||||
|
||||
// ------------------------------
|
||||
// When verbs such as "Configure" are used as the positive answer in question
|
||||
// dialogs, "設定する", as opposed to "設定しない (Do Not Configure)", would
|
||||
// be more appropriate than "設定". However, it would sound funny if the same
|
||||
// translation is used in other contexts (e.g. @title:window), so we cannot
|
||||
// do it safely.
|
||||
// Instead, attach the proper answers to the message caption/text in the PO,
|
||||
// and then retrieve them in filtering messages for message dialog buttons
|
||||
// in kdelibs4.po (those with context "@action:button filter-...").
|
||||
|
||||
// Dictionary of answers.
|
||||
var _answers_ = {};
|
||||
|
||||
// Set answers as key-value pairs, as many as needed.
|
||||
// The call always signals fallback.
|
||||
function setAnswers (/*...*/)
|
||||
{
|
||||
if (arguments.length % 2 != 0)
|
||||
throw Error("Answers setter given odd number of arguments.");
|
||||
|
||||
for (var i = 0; i < arguments.length; i += 2) {
|
||||
var akey = arguments[i];
|
||||
var answer = arguments[i + 1];
|
||||
_answers_[akey] = answer;
|
||||
}
|
||||
|
||||
throw Ts.fallback();
|
||||
}
|
||||
Ts.setcall("set-answers", setAnswers);
|
||||
// msgid "... Would you like to configure it now?"
|
||||
// msgstr ""
|
||||
// "... 今設定しますか?"
|
||||
// "|/|"
|
||||
// "$[set-answers yes '設定する(&Y)' no '設定しない(&N)']"
|
||||
|
||||
// Get an answer by key.
|
||||
// Signals fallback if the answer with the given key is not set.
|
||||
// Deletes the answer from the dictionary, so that it doesn't happen
|
||||
// that it gets retrieved in a later, unrelated question.
|
||||
function getAnswer (akey)
|
||||
{
|
||||
answer = _answers_[akey];
|
||||
if (!answer) throw Ts.fallback();
|
||||
delete _answers_[akey];
|
||||
return answer;
|
||||
}
|
||||
Ts.setcall("get-answer", getAnswer);
|
||||
// msgctxt "@action:button filter-yes"
|
||||
// msgid "%1"
|
||||
// msgstr "%1|/|$[get-answer yes]"
|
||||
|
||||
// Reset all answers, so that they don't get used for the wrong question.
|
||||
// Always signals fallback.
|
||||
function resetAnswers ()
|
||||
{
|
||||
_answers_ = {};
|
||||
}
|
||||
Ts.setcall("reset-answers", resetAnswers);
|
||||
// msgctxt "@action:button post-filter"
|
||||
// msgid "."
|
||||
// msgstr ".|/|$[reset-answers]"
|
|
@ -17,4 +17,3 @@ endif()
|
|||
set(CURRENT_LANG ko)
|
||||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
add_subdirectory(kdelibs)
|
|
@ -1 +0,0 @@
|
|||
kde4_install_ts_files(${CURRENT_LANG} kdelibs4)
|
|
@ -1,94 +0,0 @@
|
|||
// kdelibs4.js of Korean KDE translation
|
||||
// This script is distributed under GNU General Public License, version 2 or later.
|
||||
// Copyright (C) Chusslove Ilich, 2007. (for strip accelerator part)
|
||||
// Copyright (C) Park Shinjo, 2007. (rest of all)
|
||||
//
|
||||
|
||||
stripAccRx = /\((&|&)?[a-zA-Z0-9]\)/;
|
||||
lstJosa = [["가","이","이(가)",false],
|
||||
["를","을","을(를)",false],
|
||||
["는","은","은(는)",false],
|
||||
["와","과","과(와)",false],
|
||||
["","이","(이)",false],
|
||||
["","으","(으)", true]];
|
||||
|
||||
// *** Detect the provided word is Hangeul.
|
||||
function isHangeul(code)
|
||||
{
|
||||
if (code >= 0xac00 && code <= 0xd7af) return true;
|
||||
else return false;
|
||||
}
|
||||
|
||||
// *** Strip the accelerator marker, composed of an ASCII alphanumeric
|
||||
// within parenthesis (with or without an ampersand in front).
|
||||
function stripAccelerator(phrase)
|
||||
{
|
||||
return phrase.replace(stripAccRx, "");
|
||||
}
|
||||
|
||||
// *** Detect the phrase has 종성(Final jamo). It will be used in
|
||||
// detection of 을/를, 이/가.
|
||||
function getFinalJamoType(phrase, rieul)
|
||||
{
|
||||
var code = phrase.charCodeAt(phrase.length - 1);
|
||||
if (!isHangeul(code)) return 2;
|
||||
code -= 0xac00;
|
||||
code %= 28;
|
||||
if (rieul && code == 8) return 0;
|
||||
switch (code) {
|
||||
case 0:
|
||||
return 0;
|
||||
default:
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
// Functions in below attach appropriate 조사(postposition)
|
||||
// according to the word. It only affects Hangeul, if non-Hangeul
|
||||
// word is provided, then fallback string is used.
|
||||
function attachJosa(type, phrase, marker)
|
||||
{
|
||||
var i = getFinalJamoType(phrase, lstJosa[type][3]);
|
||||
if (marker) phrase = marker + phrase + marker;
|
||||
return phrase + lstJosa[type][i];
|
||||
}
|
||||
|
||||
function attachIGa(phrase, marker)
|
||||
{
|
||||
return attachJosa(0, phrase, marker);
|
||||
}
|
||||
|
||||
function attachEulReul(phrase, marker)
|
||||
{
|
||||
return attachJosa(1, phrase, marker);
|
||||
}
|
||||
|
||||
function attachEunNeun(phrase, marker)
|
||||
{
|
||||
return attachJosa(2, phrase, marker);
|
||||
}
|
||||
|
||||
function attachWaGwa(phrase, marker)
|
||||
{
|
||||
return attachJosa(3, phrase, marker);
|
||||
}
|
||||
|
||||
function attachI(phrase, marker)
|
||||
{
|
||||
return attachJosa(4, phrase, marker);
|
||||
}
|
||||
|
||||
function attachEu(phrase, marker)
|
||||
{
|
||||
return attachJosa(5, phrase, marker);
|
||||
}
|
||||
|
||||
|
||||
// ==> Exports to PO calls
|
||||
Ts.setcall("~stripAccel", stripAccelerator);
|
||||
Ts.setcall("을를", attachEulReul);
|
||||
Ts.setcall("이가", attachIGa);
|
||||
Ts.setcall("은는", attachEunNeun);
|
||||
Ts.setcall("와과", attachWaGwa);
|
||||
Ts.setcall("이", attachI);
|
||||
Ts.setcall("으", attachEu);
|
|
@ -17,4 +17,3 @@ endif()
|
|||
set(CURRENT_LANG ku)
|
||||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -17,4 +17,3 @@ endif()
|
|||
set(CURRENT_LANG lt)
|
||||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
add_subdirectory(kdelibs)
|
||||
add_subdirectory(kdeplasma-addons)
|
|
@ -1 +0,0 @@
|
|||
kde4_install_ts_files(${CURRENT_LANG} libplasma)
|
|
@ -1,50 +0,0 @@
|
|||
function getProperty (prop, key) {
|
||||
return _dict_[key][prop];
|
||||
}
|
||||
Ts.setcall("get-case", getProperty);
|
||||
|
||||
function lowerCaseFirstLetter(string)
|
||||
{
|
||||
return string.charAt(0).toLowerCase() + string.slice(1);
|
||||
}
|
||||
|
||||
_dict_ = {};
|
||||
function addDictCases (key, kil, nau, gal, ina, vie) {
|
||||
if (!_dict_[key])
|
||||
_dict_[key] = {};
|
||||
_dict_[key]["vardininkas"] = lowerCaseFirstLetter(key);
|
||||
_dict_[key]["kilmininkas"] = lowerCaseFirstLetter(kil);
|
||||
_dict_[key]["naudininkas"] = lowerCaseFirstLetter(nau);
|
||||
_dict_[key]["galininkas"] = lowerCaseFirstLetter(gal);
|
||||
_dict_[key]["įnagininkas"] = lowerCaseFirstLetter(ina);
|
||||
_dict_[key]["vietininkas"] = lowerCaseFirstLetter(vie);
|
||||
_dict_[key]["Kilmininkas"] = kil
|
||||
_dict_[key]["Naudininkas"] = nau;
|
||||
_dict_[key]["Galininkas"] = gal;
|
||||
_dict_[key]["Įnagininkas"] = ina;
|
||||
_dict_[key]["Vietininkas"] = vie;
|
||||
}
|
||||
|
||||
function addCapitalDictCases (key, kil, nau, gal, ina, vie) {
|
||||
if (!_dict_[key])
|
||||
_dict_[key] = {};
|
||||
_dict_[key]["vardininkas"] = key;
|
||||
_dict_[key]["kilmininkas"] = kil;
|
||||
_dict_[key]["naudininkas"] = nau;
|
||||
_dict_[key]["galininkas"] = gal;
|
||||
_dict_[key]["įnagininkas"] = ina;
|
||||
_dict_[key]["vietininkas"] = vie;
|
||||
_dict_[key]["Kilmininkas"] = kil
|
||||
_dict_[key]["Naudininkas"] = nau;
|
||||
_dict_[key]["Galininkas"] = gal;
|
||||
_dict_[key]["Įnagininkas"] = ina;
|
||||
_dict_[key]["Vietininkas"] = vie;
|
||||
}
|
||||
|
||||
function dynamicSetCases (kil, nau, gal, ina, vie) {
|
||||
addDictCases(Ts.msgstrf(), kil, nau, gal, ina, vie);
|
||||
Ts.fallback();
|
||||
}
|
||||
|
||||
Ts.setcall("set-cases", dynamicSetCases);
|
||||
Ts.load("plasmoids")
|
|
@ -1,98 +0,0 @@
|
|||
// Use addCapitalDictCases where first letter is never lowercase (to avoid things like cPU or kDE).
|
||||
addDictCases("2D grafikai", "2D grafikų", "2D grafikams", "2D grafikus", "2D grafikais", "2D grafikuose");
|
||||
addDictCases("Akys", "Akių", "Akims", "Akis", "Akimis", "Akyse");
|
||||
addDictCases("Aknotes pastabos plazmoidas", "Aknotes pastabos plazmoido", "Aknotes pastabos plazmoidui", "Aknotes pastabos plazmoidą", "Aknotes pastabos plazmoidu", "Aknotes pastabos plazmoide");
|
||||
addDictCases("Aknotes sąrašo plazmoidas", "Aknotes sąrašo plazmoido", "Aknotes sąrašo plazmoidui", "Aknotes sąrašo plazmoidą", "Aknotes sąrašo plazmoidu", "Aknotes sąrašo plazmoide");
|
||||
addDictCases("Analoginis laikrodis", "Analoginio laikrodžio", "Analoginiui laikrodžiui", "Analoginį laikrodį", "Analoginiu laikrodžiu", "Analoginiame laikrodyje");
|
||||
addDictCases("Aparatinės įrangos informacija", "Aparatinės įrangos informacijos", "Aparatinės įrangos informacijai", "Aparatinės įrangos informaciją", "Aparatinės įrangos informacija", "Aparatinės įrangos informacijoje");
|
||||
addDictCases("Aplankas", "Aplanko", "Aplankui", "Aplanką", "Aplanku", "Aplanke");
|
||||
addDictCases("Atminties būsena", "Atminties būsenos", "Atminties būsenai", "Atminties būseną", "Atminties būsena", "Atminties būsenoje");
|
||||
addDictCases("Baterijos stebėtojas", "Baterijos stebėtojo", "Baterijos stebėtojui", "Baterijos stebėtoją", "Baterijos stebėtoju", "Baterijos stebėtojuje");
|
||||
addDictCases("Bendruomenė", "Bendruomenės", "Bendruomenei", "Bendruomenę", "Bendruomene", "Bendruomenėje");
|
||||
addCapitalDictCases("Chemija: ar žinojote", "Chemija: ar žinojote", "Chemija: ar žinojote", "Chemija: ar žinojote", "Chemija: ar žinojote", "Chemija: ar žinojote");
|
||||
addCapitalDictCases("CPU apkrovos stebėtojas", "CPU apkrovos stebėtojo", "CPU apkrovos stebėtojui", "CPU apkrovos stebėtoją", "CPU apkrovos stebėtoju", "CPU apkrovos stebėtojuje");
|
||||
addDictCases("Dabar grojama", "Dabar grojama", "Dabar grojama", "Dabar grojama", "Dabar grojama", "Dabar grojama");
|
||||
addDictCases("Dabartinės programos valdymas", "Dabartinės programos valdymo", "Dabartinės programos valdymui", "Dabartinės programos valdymą", "Dabartinės programos valdymu", "Dabartinės programos valdyme");
|
||||
addDictCases("Numatytas darbastalis", "Numatyto darbastalio", "Numatytam darbastaliui", "Numatytą darbastalį", "Numatyty darbastaliu", "Numatytame darbastalyje");
|
||||
addDictCases("Dvejetainis laikrodis", "Dvejetainio laikrodžio", "Dvejetainiam laikrodžiui", "Dvejetainį laikrodį", "Dvejetainiu laikrodžiu", "Dvejetainiame laikrodyje");
|
||||
addCapitalDictCases("Facebook", "Facebook", "Facebook", "Facebook", "Facebook", "Facebook");
|
||||
addDictCases("Failų stebėtojas", "Failų stebėtojo", "Failų stebėtojui", "Failų stebėtoją", "Failų stebėtoju", "Failų stebėtojuje");
|
||||
addDictCases("Gauta žinutė", "Gautos žinutės", "Gautai žinutei", "Gautą žinutę", "Gauta žinute", "Gautoje žinutėje");
|
||||
addDictCases("Gyvybė", "Gyvybės", "Gyvybei", "Gyvybę", "Gyvybe", "Gyvybėje");
|
||||
addDictCases("Greitas paleidimas", "Greito paleidimo", "Greitam paleidimui", "Greitą paleidimą", "Greitu paleidimu", "Greitame paleidime");
|
||||
addDictCases("Greitųjų žinučių kontaktas", "Greitųjų žinučių kontakto", "Greitųjų žinučių kontaktui", "Greitųjų žinučių kontaktą", "Greitųjų žinučių kontaktu", "Greitųjų žinučių kontakte");
|
||||
addDictCases("Greitųjų žinučių buvimas", "Greitųjų žinučių buvimo", "Greitųjų žinučių buvimui", "Greitųjų žinučių buvimą", "Greitųjų žinučių buvimu", "Greitųjų žinučių buvime");
|
||||
addDictCases("Įvesties metodo skydelis", "Įvesties metodo skydelio", "Įvesties metodo skydeliui", "Įvesties metodo skydelį", "Įvesties metodo skydeliu", "Įvesties metodo skydelyje");
|
||||
addDictCases("Kalendorius", "Kalendoriaus", "Kalendoriui", "Kalendorių", "Kalendoriu", "Kalendoriuje");
|
||||
addCapitalDictCases("KAlgebra", "KAlgebra", "KAlgebra", "KAlgebrą", "KAlgebra", "KAlgebra");
|
||||
addCapitalDictCases("Kate sesijų programėlė", "Kate sesijų programėlės", "Kate sesijų programėlei", "Kate sesijų programėlę", "Kate sesijų programėle", "Kate sesijų programėlėje");
|
||||
addCapitalDictCases("KDE observatorija", "KDE observatorijos", "KDE observatorijai", "KDE observatoriją", "KDE observatorija", "KDE observatorijoje");
|
||||
addCapitalDictCases("KDevelop sesijos", "KDevelop sesijų", "KDevelop sesijoms", "KDevelop sesijas", "KDevelop sesijomis", "KDevelop sesijose");
|
||||
addCapitalDictCases("KGet skritulinės diagramos programėlė", "KGet skritulinės diagramos programėlės", "KGet skritulinės diagramos programėlei", "KGet skritulinės diagramos programėlę", "KGet skritulinės diagramos programėle", "KGet skritulinės diagramos programėlėje");
|
||||
addCapitalDictCases("KGet stulpelinės diagramos programėlė", "KGet stulpelinės diagramos programėlės", "KGet stulpelinės diagramos programėlei", "KGet stulpelinės diagramos programėlę", "KGet stulpelinės diagramos programėle", "KGet stulpelinės diagramos programėlėje");
|
||||
addDictCases("Klaviatūra", "Klaviatūros", "Klaviatūrai", "Klaviatūrą", "Klaviatūra", "Klaviatūroje");
|
||||
addDictCases("Klaviatūros išdėstymas", "Klaviatūros išdėstymo", "Klaviatūros išdėstymui", "Klaviatūros išdėstymą", "Klaviatūros išdėstymu", "Klaviatūros išdėstyme");
|
||||
addCapitalDictCases("Konqueror profiliai", "Konqueror profilių", "Konqueror profiliams", "Konqueror profilius", "Konqueror profiliais", "Konqueror profiliuose");
|
||||
addDictCases("Konsole profiliai", "Konsole profilių", "Konsole profiliams", "Konsole profilius", "Konsole profiliais", "Konsole profiliuose");
|
||||
addCapitalDictCases("KTorrent", "KTorrent", "KTorrent", "KTorrent", "KTorrent", "KTorrent");
|
||||
addDictCases("Laikmatis", "Laikmačio", "Laikmačiui", "Laikmatį", "Laikmačiu", "Laikmatyje");
|
||||
addDictCases("Laikraščio išdėstymas", "Laikraščio išdėstymo", "Laikraščio išdėstymui", "Laikraščio išdėstymą", "Laikraščio išdėstymu", "Laikraščio išdėstyme");
|
||||
addCapitalDictCases("Lancelot paleidiklis", "Lancelot paleidiklio", "Lancelot paleidikliui", "Lancelot paleidiklį", "Lancelot paleidikliu", "Lancelot paleidiklyje");
|
||||
addDictCases("Langų sąrašas", "Langų sąrašo", "Langų sąrašui", "Langų sąrašą", "Langų sąrašu", "Langų sąraše");
|
||||
addCapitalDictCases("LCD orų stotelė", "LCD orų stotelės", "LCD orų stotelei", "LCD orų stotelę", "LCD orų stotele", "LCD orų stotelėje");
|
||||
addDictCases("Lenta", "Lentos", "Lentai", "Lentą", "Lenta", "Lentoje");
|
||||
addDictCases("Lentyna", "Lentynos", "Lentynai", "Lentyną", "Lentyna", "Lentynoje");
|
||||
addCapitalDictCases("Luna", "Luna", "Luna", "Luna", "Luna", "Luna");
|
||||
addCapitalDictCases("Magnifique", "Magnifique", "Magnifique", "Magnifique", "Magnifique", "Magnifique");
|
||||
addDictCases("Media leistuvė", "Media leistuvės", "Media leistuvei", "Media leistuvę", "Media leistuve", "Media leistuvėje");
|
||||
addDictCases("Mikrotinklaraštis", "Mikrotinklaraščio", "Mikrotinklaraščiui", "Mikrotinklaraštį", "Mikrotinklaraščiu", "Mikrotinklaraštyje");
|
||||
addDictCases("Naujienos", "Naujienų", "Naujienoms", "Naujienas", "Naujienomis", "Naujienose");
|
||||
addDictCases("Netikslus laikrodis", "Netikslaus laikrodžio", "Netiksliam laikrodžiui", "Netikslų laikrodį", "Netiksliu laikrodžiu", "Netiksliame laikrodyje");
|
||||
addDictCases("Orų prognozė", "Orų prognozės", "Orų prognozei", "Orų prognozę", "Orų prognoze", "Orų prognozėje");
|
||||
addCapitalDictCases("Padėti", "Padėti", "Padėti", "Padėti", "Padėti", "Padėti");
|
||||
addDictCases("Paieškos laukas", "Paieškos lauko", "Paieškos laukui", "Paieškos lauką", "Paieškos lauku", "Paieškos lauke");
|
||||
addCapitalDictCases("Palikti pranešimą", "Palikti pranešimą", "Palikti pranešimą", "Palikti pranešimą", "Palikti pranešimą", "Palikti pranešimą");
|
||||
addCapitalDictCases("Parley", "Parley", "Parley", "Parley", "Parley", "Parley");
|
||||
addDictCases("Pasaulio laikrodis", "Pasaulio laikrodžio", "Pasaulio laikrodžiui", "Pasaulio laikrodį", "Pasaulio laikrodžiu", "Pasaulio laikrodyje");
|
||||
addCapitalDictCases("Pastebin", "Pastebin", "Pastebin", "Pastebin", "Pastebin", "Pastebin");
|
||||
addDictCases("Paveikslėlių rėmelis", "Paveikslėlių rėmelio", "Paveikslėlių rėmeliui", "Paveikslėlių rėmelį", "Paveikslėlių rėmeliu", "Paveikslėlių rėmelyje");
|
||||
addDictCases("Penkiolika dalių", "Penkiolika dalių", "Penkiolika dalių", "Penkiolika dalių", "Penkiolika dalių", "Penkiolika dalių");
|
||||
addDictCases("Peržiūriklis", "Peržiūriklio", "Peržiūrikliui", "Peržiūriklį", "Peržiūrikliu", "Peržiūriklyje");
|
||||
addDictCases("Pranešimai apie įrenginius", "Pranešimų apie įrenginius", "Pranešimams apie įrenginius", "Pranešimus apie įrenginius", "Pranešimais apie įrenginius", "Pranešimuose apie įrenginius");
|
||||
addDictCases("Pranešimai", "Pranešimų", "Pranešimams", "Pranešimus", "Pranešimais", "Pranešimuose");
|
||||
addCapitalDictCases("Prisimink pieną", "Prisimink pieną", "Prisimink pieną", "Prisimink pieną", "Prisimink pieną", "Prisimink pieną");
|
||||
addDictCases("Programų paleidiklio meniu", "Programų paleidiklio meniu", "Programų paleidiklio meniu", "Programų paleidiklio meniu", "Programų paleidiklio meniu", "Programų paleidiklio meniu");
|
||||
addDictCases("Programų paleidiklis", "Programų paleidiklio", "Programų paleidikliui", "Programų paleidiklį", "Programų paleidikliu", "Programų paleidiklyje");
|
||||
addDictCases("Pulto skirtukas", "Pulto skirtuko", "Pulto skirtukui", "Pulto skirtuką", "Pulto skirtuku", "Pulto skirtuke");
|
||||
addDictCases("Puslapiuotojas", "Puslapiuotojo", "Puslapiuotojui", "Puslapiuotoją", "Puslapiuotoju", "Puslapiuotojuje");
|
||||
addCapitalDictCases("Qalculate!", "Qalculate!", "Qalculate!", "Qalculate!", "Qalculate!", "Qalculate!");
|
||||
addCapitalDictCases("Rasti ir paleisti", "Rasti ir paleisti", "Rasti ir paleisti", "Rasti ir paleisti", "Rasti ir paleisti", "Rasti ir paleisti");
|
||||
addDictCases("Rašybos tikrinimas", "Rašybos tikrinimo", "Rašybos tikrinimui", "Rašybos tikrinimą", "Rašybos tikrinimu", "Rašybos tikrinime");
|
||||
addDictCases("Rodyti darbastalį", "Rodyti darbastalį", "Rodyti darbastalį", "Rodyti darbastalį", "Rodyti darbastalį", "Rodyti darbastalį");
|
||||
addCapitalDictCases("RSSNOW", "RSSNOW", "RSSNOW", "RSSNOW", "RSSNOW", "RSSNOW");
|
||||
addDictCases("Simbolių parinkiklis", "Simbolių parinkiklio", "Simbolių parinkikliui", "Simbolių parinkiklį", "Simbolių parinkikliu", "Simbolių parinkiklyje");
|
||||
addDictCases("Sistemos apkrovos žiūriklis", "Sistemos apkrovos žiūriklio", "Sistemos apkrovos žiūrikliui", "Sistemos apkrovos žiūriklį", "Sistemos apkrovos žiūrikliu", "Sistemos apkrovos žiūriklyje");
|
||||
addDictCases("Sistemos dėklas", "Sistemos dėklo", "Sistemos dėklui", "Sistemos dėklą", "Sistemos dėklu", "Sistemos dėkle");
|
||||
addDictCases("Sistemos stebėtojas", "Sistemos stebėtojo", "Sistemos stebėtojui", "Sistemos stebėtoją", "Sistemos stebėtoju", "Sistemos stebėtojuje");
|
||||
addDictCases("Socialinės naujienos", "Socialinių naujienų", "Socialinėms naujienoms", "Socialines naujienas", "Socialinėms naujienoms", "Socialinėse naujienose");
|
||||
addDictCases("Skaičiuotuvas", "Skaičiuotuvo", "Skaičiuotuvui", "Skaičiuotuvą", "Skaičiuotuvu", "Skaičiuotuve");
|
||||
addDictCases("Skaitmeninis laikrodis", "Skaitmeninio laikrodžio", "Skaitmeniniui laikrodžiui", "Skaitmeninį laikrodį", "Skaitmeniniu laikrodžiu", "Skaitmeniniame laikrodyje");
|
||||
addDictCases("Skydelis", "Skydelio", "Skydeliui", "Skydelį", "Skydeliu", "Skydelyje");
|
||||
addDictCases("Spalvų parinkiklis", "Spalvų parinkiklio", "Spalvų parinkikliui", "Spalvų parinkiklį", "Spalvų parinkikliu", "Spalvų parinkiklyje");
|
||||
addDictCases("Šiukšliadėžė", "Šiukšliadėžės", "Šiukšliadėžei", "Šiukšliadėžę", "Šiukšliadėže", "Šiukšliadėžėje");
|
||||
addDictCases("Šokinėjantis kamuolys", "Šokinėjančio kamuolio", "Šokinėjančiam kamuoliui", "Šokinėjantį kamuolį", "Šokinėjančiu kamuoliu", "Šokinėjančiame kamuolyje");
|
||||
addDictCases("Techninės įrangos temperatūra", "Techninės įrangos temperatūros", "Techninės įrangos temperatūrai", "Techninės įrangos temperatūrą", "Techninės įrangos temperatūra", "Techninės įrangos temperatūroje");
|
||||
addDictCases("Tik ženkliukų užduočių tvarkytuvė", "Tik ženkliukų užduočių tvarkytuvės", "Tik ženkliukų užduočių tvarkytuvei", "Tik ženkliukų užduočių tvarkytuvę", "Tik ženkliukų užduočių tvarkytuve", "Tik ženkliukų užduočių tvarkytuvėje");
|
||||
addDictCases("Tinklo stebėjimo priemonė", "Tinklo stebėjimo priemonės", "Tinklo stebėjimo priemonei", "Tinklo stebėjimo priemonę", "Tinklo stebėjimo priemone", "Tinklo stebėjimo priemonėje");
|
||||
addDictCases("Tinklo valdymas", "Tinklo valdymo", "Tinklo valdymui", "Tinklo valdymą", "Tinklo valdymu", "Tinklo valdyme");
|
||||
addDictCases("Užduočių tvarkyklė", "Užduočių tvarkyklės", "Užduočių tvarkyklei", "Užduočių tvarkyklę", "Užduočių tvarkykle", "Užduočių tvarkyklėje");
|
||||
addDictCases("Užrakinti/atsijungti", "Užrakinti/atsijungti", "Užrakinti/atsijungti", "Užrakinti/atsijungti", "Užrakinti/atsijungti", "Užrakinti/atsijungti");
|
||||
addDictCases("Užrašai", "Užrašų", "Užrašams", "Užrašus", "Užrašais", "Užrašuose");
|
||||
addDictCases("Veiklos", "Veiklų", "Veikloms", "Veiklas", "Veiklomis", "Veiklose");
|
||||
addDictCases("Veiklų juosta", "Veiklų juostos", "Veiklų juostai", "Veiklų juostą", "Veiklų juosta", "Veiklų juostoje");
|
||||
addDictCases("Vienetų konvertuoklis", "Vienetų konvertuoklio", "Vienetų konvertuokliui", "Vienetų konvertuoklį", "Vienetų konvertuokliu", "Vienetų konvertuoklyje");
|
||||
addDictCases("Ženkliukas", "Ženkliuko", "Ženkliukui", "Ženkliuką", "Ženkliuku", "Ženkliuke");
|
||||
addDictCases("Žiniatinklio naršyklė", "Žiniatinklio naršyklės", "Žiniatinklio naršyklei", "Žiniatinklio naršyklę", "Žiniatinklio naršykle", "Žiniatinklio naršyklėje");
|
||||
addDictCases("Žinių bazė", "Žinių bazės", "Žinių bazei", "Žinių bazę", "Žinių baze", "Žinių bazėje");
|
||||
addDictCases("Žymelės", "Žymelių", "Žymelėms", "Žymeles", "Žymelėmis", "Žymelėse");
|
||||
addDictCases("Žodynas", "Žodyno", "Žodynui", "Žodyną", "Žodynu", "Žodyne");
|
|
@ -1 +0,0 @@
|
|||
kde4_install_ts_files(${CURRENT_LANG} plasma_applet_fuzzy_clock)
|
|
@ -1,18 +0,0 @@
|
|||
function getProperty (prop, key) {
|
||||
return _dict_[key][prop];
|
||||
}
|
||||
Ts.setcall("get-case", getProperty);
|
||||
|
||||
_dict_ = {};
|
||||
function addDictCases (key, gen, next) {
|
||||
if (!_dict_[key])
|
||||
_dict_[key] = {};
|
||||
_dict_[key]["kilmininkas"] = gen;
|
||||
_dict_[key]["kitavalanda"] = next;
|
||||
}
|
||||
|
||||
function dynamicSetCases (gen, next) {
|
||||
addDictCases(Ts.msgstrf(), gen, next);
|
||||
Ts.fallback();
|
||||
}
|
||||
Ts.setcall("set-cases", dynamicSetCases);
|
|
@ -17,4 +17,3 @@ endif()
|
|||
set(CURRENT_LANG lv)
|
||||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
add_subdirectory(kdelibs)
|
|
@ -1 +0,0 @@
|
|||
kde4_install_ts_files(${CURRENT_LANG} kdelibs4)
|
|
@ -1,38 +0,0 @@
|
|||
// kdelibs4.js of Latvian KDE translation (copied from Ukrainian)
|
||||
|
||||
// ------------------------------
|
||||
// Pick a phrase depending on a dynamic context field.
|
||||
// Input is the keyword of the context field, followed by pairs of
|
||||
// regex matcher on context value and corresponding phrase,
|
||||
// and optionally followed by default phrase in case the value does not match.
|
||||
// If the value does not match and default phrase is not given,
|
||||
// fallback is signaled.
|
||||
// If requested dynamic context field does not exist, fallback is signaled.
|
||||
function select_by_context (/* ctxt_key,
|
||||
valrx_1, phrase_1, ..., valrx_N, phrase_N
|
||||
[, default_phrase]*/)
|
||||
{
|
||||
if (arguments.length < 1)
|
||||
throw Error("Selector by context takes at least the context keyword.");
|
||||
|
||||
var ctxtkey = arguments[0];
|
||||
var ctxtval = Ts.dynctxt(ctxtkey);
|
||||
|
||||
var phrase;
|
||||
for (var i = 1; i < arguments.length; i += 2) {
|
||||
if (ctxtval.match(RegExp(arguments[i]))) {
|
||||
phrase = arguments[i + 1];
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (phrase == undefined) {
|
||||
if (arguments.length % 2 == 0) {
|
||||
phrase = arguments[arguments.length - 1];
|
||||
} else {
|
||||
throw Ts.fallback();
|
||||
}
|
||||
}
|
||||
|
||||
return phrase;
|
||||
}
|
||||
Ts.setcall("pēc-konteksta", select_by_context);
|
|
@ -17,4 +17,3 @@ endif()
|
|||
set(CURRENT_LANG mai)
|
||||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -17,4 +17,3 @@ endif()
|
|||
set(CURRENT_LANG nb)
|
||||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
add_subdirectory(kdelibs)
|
|
@ -1 +0,0 @@
|
|||
kde4_install_ts_files(${CURRENT_LANG} kdelibs4)
|
|
@ -1,39 +0,0 @@
|
|||
// Set properties of the phrase given by the finalized msgstr in the PO file.
|
||||
// The arguments to the call are consecutive pairs of keys and values,
|
||||
// as many as needed (i.e. total number of arguments must be even).
|
||||
//
|
||||
// The property keys are registered as PO calls taking single argument,
|
||||
// which can be used to retrive the property values for this msgstr
|
||||
// when it is later used as placeholder replacement in another message.
|
||||
//
|
||||
// Always signals fallback.
|
||||
//
|
||||
function setMsgstrProps (/*KEY1, VALUE1, ...*/)
|
||||
{
|
||||
if (arguments.length % 2 != 0)
|
||||
throw Error("Property setter given odd number of arguments.");
|
||||
|
||||
// Collect finalized msgstr.
|
||||
phrase = Ts.msgstrf()
|
||||
|
||||
// Go through all key-value pairs.
|
||||
for (var i = 0; i < arguments.length; i += 2) {
|
||||
var pkey = arguments[i];
|
||||
var pval = arguments[i + 1];
|
||||
|
||||
// Set the value of the property for this phrase.
|
||||
Ts.setProp(phrase, pkey, pval);
|
||||
|
||||
// Set the PO call for getting this property, if not already set.
|
||||
if (!Ts.hascall(pkey)) {
|
||||
Ts.setcall(pkey,
|
||||
function (phr) { return Ts.getProp(phr, this.pkey) },
|
||||
{"pkey" : pkey});
|
||||
}
|
||||
}
|
||||
|
||||
throw Ts.fallback();
|
||||
}
|
||||
Ts.setcall("egenskap", setMsgstrProps);
|
||||
// NOTE: You can replace "properties" in the line above with any UTF-8 string,
|
||||
// e.g. one in your language so that it blends nicely inside POs.
|
|
@ -17,4 +17,3 @@ endif()
|
|||
set(CURRENT_LANG nl)
|
||||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
add_subdirectory(kdelibs)
|
|
@ -1 +0,0 @@
|
|||
kde4_install_ts_files(${CURRENT_LANG} kdelibs4)
|
|
@ -1,39 +0,0 @@
|
|||
// Set properties of the phrase given by the finalized msgstr in the PO file.
|
||||
// The arguments to the call are consecutive pairs of keys and values,
|
||||
// as many as needed (i.e. total number of arguments must be even).
|
||||
//
|
||||
// The property keys are registered as PO calls taking single argument,
|
||||
// which can be used to retrive the property values for this msgstr
|
||||
// when it is later used as placeholder replacement in another message.
|
||||
//
|
||||
// Always signals fallback.
|
||||
//
|
||||
function setMsgstrProps (/*KEY1, VALUE1, ...*/)
|
||||
{
|
||||
if (arguments.length % 2 != 0)
|
||||
throw Error("Property setter given odd number of arguments.");
|
||||
|
||||
// Collect finalized msgstr.
|
||||
phrase = Ts.msgstrf()
|
||||
|
||||
// Go through all key-value pairs.
|
||||
for (var i = 0; i < arguments.length; i += 2) {
|
||||
var pkey = arguments[i];
|
||||
var pval = arguments[i + 1];
|
||||
|
||||
// Set the value of the property for this phrase.
|
||||
Ts.setProp(phrase, pkey, pval);
|
||||
|
||||
// Set the PO call for getting this property, if not already set.
|
||||
if (!Ts.hascall(pkey)) {
|
||||
Ts.setcall(pkey,
|
||||
function (phr) { return Ts.getProp(phr, this.pkey) },
|
||||
{"pkey" : pkey});
|
||||
}
|
||||
}
|
||||
|
||||
throw Ts.fallback();
|
||||
}
|
||||
Ts.setcall("eigenschap", setMsgstrProps);
|
||||
// NOTE: You can replace "properties" in the line above with any UTF-8 string,
|
||||
// e.g. one in your language so that it blends nicely inside POs.
|
|
@ -17,4 +17,3 @@ endif()
|
|||
set(CURRENT_LANG nn)
|
||||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
add_subdirectory(kdelibs)
|
|
@ -1 +0,0 @@
|
|||
kde4_install_ts_files(${CURRENT_LANG} step)
|
|
@ -1,95 +0,0 @@
|
|||
// Følgjande funksjonar er for å få rette artiklar og/eller norske ord på funksjonane i Step.
|
||||
function bytUt (str)
|
||||
{
|
||||
switch(str)
|
||||
{
|
||||
case "Partikkel":
|
||||
return "ein partikkel";
|
||||
case "Ladd partikkel":
|
||||
return "ein ladd partikkel";
|
||||
case "Plate":
|
||||
return "ei plate";
|
||||
case "Boks":
|
||||
return "boks";
|
||||
case "Mangekant":
|
||||
return "ein mangekant";
|
||||
case "Fjør":
|
||||
return "ei fjør";
|
||||
case "Lineær motor":
|
||||
return "ein lineær motor";
|
||||
case "Sirkulær motor":
|
||||
return "ein sirkulær motor";
|
||||
case "Gass":
|
||||
return "gass";
|
||||
case "Fleksibel lekam":
|
||||
return "ein fleksibel lekam";
|
||||
case "Vektkraft":
|
||||
return "ei vektkraft";
|
||||
case "Tyngdekraft":
|
||||
return "ei tyngdekraft";
|
||||
case "Coulombkraft":
|
||||
return "ei coulombkraft";
|
||||
case "Anker":
|
||||
return "eit anker";
|
||||
case "Plugg":
|
||||
return "ein plugg";
|
||||
case "Stav":
|
||||
return "ein stav";
|
||||
case "Merknad":
|
||||
return "ein merknad";
|
||||
case "Målar":
|
||||
return "ein målar";
|
||||
case "Spor":
|
||||
return "eit spor";
|
||||
case "Graf":
|
||||
return "ein graf";
|
||||
case "Kontrollar":
|
||||
return "ein kontrollar";
|
||||
case "Particle":
|
||||
return "ein partikkel";
|
||||
case "ChargedParticle":
|
||||
return "ein ladd partikkel";
|
||||
case "Disk":
|
||||
return "ei plate";
|
||||
case "Box":
|
||||
return "boks";
|
||||
case "Polygon":
|
||||
return "ein mangekant";
|
||||
case "Spring":
|
||||
return "ei fjør";
|
||||
case "LinearMotor":
|
||||
return "ein lineær motor";
|
||||
case "CircularMotor":
|
||||
return "ein sirkulær motor";
|
||||
case "Gas":
|
||||
return "gass";
|
||||
case "SoftBody":
|
||||
return "ein fleksibel lekam";
|
||||
case "WeightForce":
|
||||
return "ei vektkraft";
|
||||
case "GravitationForce":
|
||||
return "ei tyngdekraft";
|
||||
case "CoulombForce":
|
||||
return "ei coulombkraft";
|
||||
case "Anchor":
|
||||
return "eit anker";
|
||||
case "Pin":
|
||||
return "ein plugg";
|
||||
case "Stick":
|
||||
return "ein stav";
|
||||
case "Note":
|
||||
return "ein merknad";
|
||||
case "Meter":
|
||||
return "ein målar";
|
||||
case "Tracer":
|
||||
return "eit spor";
|
||||
case "Graph":
|
||||
return "ein graf";
|
||||
case "Controller":
|
||||
return "ein kontrollar";
|
||||
default:
|
||||
return str;
|
||||
}
|
||||
}
|
||||
|
||||
Ts.setcall("bytUt", bytUt);
|
|
@ -1 +0,0 @@
|
|||
kde4_install_ts_files(${CURRENT_LANG} kdelibs4)
|
|
@ -1,101 +0,0 @@
|
|||
// Følgjande funksjonar er for å få rette klokkeslett i den uklare klokka.
|
||||
//
|
||||
// Set properties of the phrase given by the finalized msgstr in the PO file.
|
||||
// The arguments to the call are consecutive pairs of keys and values,
|
||||
// as many as needed (i.e. total number of arguments must be even).
|
||||
//
|
||||
// The property keys are registered as PO calls taking single argument,
|
||||
// which can be used to retrive the property values for this msgstr
|
||||
// when it is later used as placeholder replacement in another message.
|
||||
//
|
||||
// Always signals fallback.
|
||||
//
|
||||
function setMsgstrProps (/*KEY1, VALUE1, ...*/)
|
||||
{
|
||||
if (arguments.length % 2 != 0)
|
||||
throw Error("Property setter given odd number of arguments.");
|
||||
|
||||
// Collect finalized msgstr.
|
||||
phrase = Ts.msgstrf()
|
||||
|
||||
// Go through all key-value pairs.
|
||||
for (var i = 0; i < arguments.length; i += 2) {
|
||||
var pkey = arguments[i];
|
||||
var pval = arguments[i + 1];
|
||||
|
||||
// Set the value of the property for this phrase.
|
||||
Ts.setProp(phrase, pkey, pval);
|
||||
|
||||
// Set the PO call for getting this property, if not already set.
|
||||
if (!Ts.hascall(pkey)) {
|
||||
Ts.setcall(pkey,
|
||||
function (phr) { return Ts.getProp(phr, this.pkey) },
|
||||
{"pkey" : pkey});
|
||||
}
|
||||
}
|
||||
|
||||
throw Ts.fallback();
|
||||
}
|
||||
Ts.setcall("eigenskap", setMsgstrProps);
|
||||
// NOTE: You can replace "properties" in the line above with any UTF-8 string,
|
||||
// e.g. one in your language so that it blends nicely inside POs.
|
||||
|
||||
|
||||
|
||||
// Nokre generelle tekstfunksjonar.
|
||||
|
||||
// Til store bokstavar
|
||||
function rop (str) {
|
||||
return str.toUpperCase();
|
||||
}
|
||||
|
||||
// Til små bokstavar
|
||||
function kviskra (str) {
|
||||
return str.toLowerCase();
|
||||
}
|
||||
|
||||
// Til liten forbokstav
|
||||
function litenfor (str) {
|
||||
return Ts.toLowerFirst(str);
|
||||
}
|
||||
|
||||
// Til stor forbokstav
|
||||
function storfor (str) {
|
||||
return Ts.toUpperFirst(str);
|
||||
}
|
||||
|
||||
// Transcript-integrering for tekstfunksjonar
|
||||
Ts.setcall("rop", rop);
|
||||
Ts.setcall("kviskra", kviskra);
|
||||
Ts.setcall("litenfor", litenfor);
|
||||
Ts.setcall("storfor", storfor);
|
||||
|
||||
|
||||
// Handtering av namn på skjermelement
|
||||
Ts.loadProps("skjermelement");
|
||||
|
||||
// Formatering av namn på skjermelement
|
||||
// Bunden form av namnet.
|
||||
function bunden(str) {
|
||||
return Ts.getProp(str,"bunden");
|
||||
}
|
||||
|
||||
// Tilhøyrande pronomen (denne, dette, desse)
|
||||
function pron(str) {
|
||||
return Ts.getProp(str,"pron");
|
||||
}
|
||||
|
||||
// Ev. dobbeltbestemming («Set opp *den* uklare klokka»),
|
||||
// men ikkje gje feil om «dobbelbest» ikkje er definert.
|
||||
function dobbelbest(str) {
|
||||
var svar = Ts.getProp(str,"dobbelbest");
|
||||
if (!svar)
|
||||
return "";
|
||||
else
|
||||
return svar+" ";
|
||||
}
|
||||
|
||||
Ts.setcall("bunden", bunden);
|
||||
Ts.setcall("pron", pron);
|
||||
Ts.setcall("dobbelbest", dobbelbest);
|
||||
|
|
@ -1,185 +0,0 @@
|
|||
# skjermelement.pmap
|
||||
=|3D Earth Model|3D-globus|pron=denne|bunden=3D-globusen||
|
||||
=|Activity Bar|Aktivitetslinje|pron=denne|bunden=aktivitetslinja||
|
||||
=|aKademy Group Photo|Gruppebilete frå aKademy|pron=dette|bunden=gruppebiletet||
|
||||
=|Albums|Album|pron=dette|bunden=albumet||
|
||||
=|Amarok Search|Amarok-søk|pron=dette|bunden=Amarok-søket||
|
||||
=|Analog Clock|Analog klokke|pron=denne|dobbelbest=den|bunden=analoge klokka||
|
||||
=|Application Launcher Menu|Programstartmeny|pron=denne|bunden=menyen||
|
||||
=|Application Launcher|Programstartar|pron=denne|bunden=programstartaren||
|
||||
=|Applications|Program|pron=dette|bunden=programmet||
|
||||
=|Battery Monitor|Batteriovervaking|pron=denne|bunden=batteriovervakinga||
|
||||
=|BbalL|BbalL|pron=denne|bunden=BbalLen||
|
||||
=|Binary Clock|Binærklokke|pron=denne|bunden=binærklokka||
|
||||
=|BlankDesktop|Tomt skrivebord|pron=dette|bunden=skrivebordet||
|
||||
=|Blue Marble|Blå kule|pron=denne|dobbelbest=den|bunden=blåe kula||
|
||||
=|Bookmarks|Bokmerke|pron=dette|bunden=bokmerket||
|
||||
=|Calculator|Kalkulator|pron=denne|bunden=kalkulatoren||
|
||||
=|Calendar|Kalender|pron=denne|bunden=kalenderen||
|
||||
=|Character Selector|Teiknveljar|pron=denne|bunden=teiknveljaren||
|
||||
=|Chemical Data|Kjemiske data|dobbelbest=dei|pron=desse|bunden=kjemiske dataa||
|
||||
=|Chemistry: Did You Know|Kjemi: Visste du at …|pron=desse|bunden=kjemitipsa||
|
||||
=|Cloud|Sky|pron=denne|bunden=skya||
|
||||
=|Cluttered Desktop|Rotete skrivebord|pron=dette|bunden=skrivebordet||
|
||||
=|Color|Farge|pron=denne|bunden=fargen||
|
||||
=|Color Picker|Fargeveljar|pron=denne|bunden=fargeveljaren||
|
||||
=|Comic Strip|Teikneserie|pron=denne|bunden=teikneserien||
|
||||
=|Command Line|Kommandolinje|pron=denne|bunden=kommandolinja||
|
||||
=|Command Watch|Kommandoovervaking|pron=denne|bunden=kommandoovervakinga||
|
||||
=|Commit Log|Innsendingslogg|pron=denne|bunden=innsendingsloggen||
|
||||
=|Contacts|Kontaktar|pron=denne|bunden=kontaktoversikta||
|
||||
=|Current Track Info|Informasjon om gjeldande spor|pron=denne|bunden=sporinformasjonen||
|
||||
=|Darkstat|Darkstat|pron=dette|bunden=Darkstat-elementet||
|
||||
=|Dashboard|Kontrollpult|pron=denne|bunden=kontrollpulten||
|
||||
=|Dashboard Widget|Kontrollpult-element|pron=dette|bunden=kontrollpult-elementet||
|
||||
=|Default Plasma Animator|Standard Plasma-animatør|pron=denne|bunden=Plasma-animatøren||
|
||||
=|Desktop Sessions|Skrivebordssøkter|pron=denne|bunden=skrivebordsøktveljaren||
|
||||
=|Desktop|Skrivebord|pron=dette|bunden=skrivebordet||
|
||||
=|Device Notifier|Einingsvarslar|pron=denne|bunden=einingsvarslaren||
|
||||
=|Dictionary|Ordbok|pron=denne|bunden=ordboka||
|
||||
=|Digital Clock|Digital klokke|pron=denne|dobbelbest=den|bunden=digitale klokka||
|
||||
=|Embedded Task Launcher|Innebygd oppgåvekøyrar|pron=denne|bunden=oppgåvekøyraren||
|
||||
=|Embedded Titlebar|Innebygd tittellinje for det aktive vindauget|pron=denne|bunden=tittellinja||
|
||||
=|Embedded Window|Innebygd vindauge|dobbelbest=det|pron=dette|bunden=innebygde vindauget||
|
||||
=|Eyes|Auge|pron=desse|bunden=auga||
|
||||
=|Facebook|Facebook|pron=dette|bunden=Facebook-elementet||
|
||||
=|Fifteen Puzzle|Spelet femten|pron=dette|bunden=spelet||
|
||||
=|File manager|Filhandsamar|pron=denne|bunden=filhandsamaren||
|
||||
=|File Watcher|Filovervaking|pron=denne|bunden=filovervakinga||
|
||||
=|Flickr|Flickr|pron=dette|bunden=Flickr-elementet||
|
||||
=|Folder View|Mappevising|pron=denne|bunden=mappevisinga||
|
||||
=|Fuzzy Clock|Uklar klokke|pron=denne|dobbelbest=den|bunden=uklare klokka||
|
||||
=|Google Gadgets|Google-tenester|pron=denne|bunden=Google-tenesta||
|
||||
=|GoogleGadgets|Google-tenester|pron=denne|bunden=Google-tenesta||
|
||||
=|Grid Cell|Rutenett-celle|pron=denne|bunden=rutenett-cella||
|
||||
=|Grid|Rutenett|pron=dette|bunden=rutenettet||
|
||||
=|Home|Heim|pron=denne|bunden=heimen||
|
||||
=|Icon|Ikon|pron=dette|bunden=ikonet||
|
||||
=|Image|Bilete|pron=dette|bunden=biletet||
|
||||
=|Incoming Message|Nye meldingar|pron=denne|bunden=meldingsvarslaren||
|
||||
=|Internal Extender Container|Intern utvidingsbehaldar|pron=denne|bunden=utvidingsbehaldaren||
|
||||
=|JavaScript Runner|JavaScript-køyrar|pron=denne|bunden=JavaScript-køyraren||
|
||||
=|JavaScript Widget|JavaScript-element|pron=dette|bunden=JavaScript-elementet||
|
||||
=|JavaApplet|Java-element|pron=dette|bunden=Java-elementet||
|
||||
=|KAlgebra|KAlgebra|pron=denne|bunden=kalkulatoren||
|
||||
=|Kate Session Applet|Kate-øktveljar|pron=denne|bunden=Kate-øktveljaren||
|
||||
=|Kate Sessions|Kate-øktveljar|pron=denne|bunden=Kate-øktveljaren||
|
||||
=|Kepas|Kepas|pron=dette|bunden=Kepas-elementet||
|
||||
=|Keyboard Leds|Tastaturlys|pron=desse|bunden=tastaturlysa||
|
||||
=|KGet barchart applet|KGet-søylediagram|pron=dette|bunden=søylediagrammet||
|
||||
=|KGet panelbar applet|KGet-panellinje|pron=denne|bunden=panellinja||
|
||||
=|KGet piechart applet|KGet-kakediagram|pron=dette|bunden=kakediagrammet||
|
||||
=|Konq Profiles Applet|Konqueror-profilar|pron=denne|bunden=Konqueror-profilveljaren||
|
||||
=|Konqueror Profiles|Konqueror-profilar|pron=denne|bunden=Konqueror-profilveljaren||
|
||||
=|Konqueror Sessions|Konqueror-øktveljar|pron=denne|bunden=Konqueror-øktveljaren||
|
||||
=|Konsolator|Konsoll|pron=denne|bunden=konsollen||
|
||||
=|Konsole Profiles Applet|Konsoll-profilar|pron=denne|bunden=Konsoll-profilveljaren||
|
||||
=|Konsole Profiles|Konsoll-profilar|pron=denne|bunden=Konsoll-profilveljaren||
|
||||
=|Konsole Sessions|Konsoll-øktveljar|pron=denne|bunden=Konsoll-øktveljaren||
|
||||
=|KTimetracker Applet|KTidtakar|pron=denne|bunden=tidtakaren||
|
||||
=|KTorrent Plasma Applet|KTorrent|pron=dette|bunden=KTorrent-elementet||
|
||||
=|Lancelot Launcher|Lancelot programstartar|pron=denne|bunden=programstartaren||
|
||||
=|Lancelot Part|Lancelot-del|pron=denne|bunden=Lancelot-delen||
|
||||
=|Last.Fm Events|Last.fm-hendingar|pron=desse|bunden=Last.fm-hendingane||
|
||||
=|LCD Weather Station|Vêrstasjon|pron=denne|bunden=vêrstasjonen||
|
||||
=|Leave A Note|Legg igjen kommentar|pron=denne|bunden=kommentartavla||
|
||||
=|Life|Livsimulator|pron=denne|bunden=livsimulatoren||
|
||||
=|Lock/Logout|Lås / logg ut|pron=dette|bunden=låse- og utloggingselementet||
|
||||
=|Luna|Månefaseindikator|pron=denne|bunden=månefaseindikatoren||
|
||||
=|Lyrics Applet|Songtekst|pron=denne|bunden=songtekstinformasjonen||
|
||||
=|MacOS Dashboard Widgets|MacOS kontrollpult-element|pron=dette|bunden=kontrollpult-elementet||
|
||||
=|Media Devices|Medieeiningar|pron=denne|bunden=medieeiningsoversikta||
|
||||
=|Media Player|Mediespelar|pron=denne|bunden=mediespelaren||
|
||||
=|Menubar|Menylinje|pron=denne|bunden=menylinja||
|
||||
=|MID Control|Mobile Internett-einingar|pron=denne|bunden=einingskontrollen||
|
||||
=|Moodbar|Stemningslinje|pron=denne|bunden=stemningslinja||
|
||||
=|Nepomuk Desktop Search Runner|Skrivebordssøk|pron=dette|bunden=skrivebordssøket||
|
||||
=|Network Monitor|Nettverksovervaking|pron=denne|bunden=nettverksovervakinga||
|
||||
=|Network Settings|Nettverksinnstillingar|pron=desse|bunden=nettverksinnstillingane||
|
||||
=|Networks|Nettverk|pron=dette|bunden=nettverket||
|
||||
=|New Device Notifier|Varsling om nye einingar|pron=denne|bunden=einingsvarslinga||
|
||||
=|News|Nyheiter|pron=denne|bunden=nyheitshentaren||
|
||||
=|Notes|Notat|pron=dette|bunden=notatet||
|
||||
=|Now Playing|Spelar no|pron=denne|bunden=musikkvisaren||
|
||||
=|Pager|Skrivebordsbyttar|pron=denne|bunden=skrivebordsbyttaren||
|
||||
=|Panel|Panel|pron=dette|bunden=panelet||
|
||||
=|Panel Spacer|Panelmellomrom|pron=dette|bunden=mellomrommet||
|
||||
=|Parley|Parley|pron=dette|bunden=ordkortet||
|
||||
=|Pastebin|Teksttavle|pron=denne|bunden=teksttavla||
|
||||
=|Paste|Tekstbitar|pron=desse|bunden=tekstbitane||
|
||||
=|Pattern|Mønster|pron=dette|bunden=mønsteret||
|
||||
=|Peachy Applet|Peachy-dokk|pron=denne|bunden=dokken||
|
||||
=|Picture Frame|Biletramme|pron=denne|bunden=biletramma||
|
||||
=|PlasmoBiff|PlasmoBiff|pron=dette|bunden=PlasmoBiff-elementet||
|
||||
=|Playlist Information|Spelelisteinformasjon|pron=denne|bunden=spelelisteinformasjonen||
|
||||
=|PowerSave|Straumsparar|pron=denne|bunden=straumspararen||
|
||||
=|Previewer|Snøggvisar|pron=denne|bunden=snøggvisaren||
|
||||
=|QEdje|QEdje|pron=dette|bunden=QEdje-elementet||
|
||||
=|Quicklaunch|Snøggstartar|pron=denne|bunden=snøggstartaren||
|
||||
=|Quiz|Spørjeleik|pron=denne|bunden=spørjeleiken||
|
||||
=|Recent Documents|Nyleg brukte dokument|pron=denne|bunden=dokumentoversikta||
|
||||
=|RSSNOW|RSSNOW|pron=denne|bunden=kjeldevisaren||
|
||||
=|Sample Rotating Applet|Eksempel på roterande element|dobbelbest=det|pron=dette|bunden=roterande elementet||
|
||||
=|Screen Management Applet|Skjermhandsamar|pron=denne|bunden=skjermhandsamaren||
|
||||
=|Script|Skript|pron=dette|bunden=skriptet||
|
||||
=|Service Info|Tenestemeny|pron=denne|bunden=tenestemenyen||
|
||||
=|Show Dashboard|Vis kontrollpult|pron=dette|bunden=kontrollpult-ikonet||
|
||||
=|Show Desktop|Vis skrivebord|pron=dette|bunden=skrivebordsikonet||
|
||||
=|Show Widget Dashboard|Vis kontrollpult|pron=dette|bunden=kontrollpult-ikonet||
|
||||
=|SlideInSlideOutExample|Gli inn og ut-eksempel|pron=dette|bunden=inn- og utglidingseksempelet||
|
||||
=|Songkick Concert Information|Songkick konsertinformasjon|pron=denne|bunden=konsertinformasjonen||
|
||||
=|Spell Checker Runner|Stavekontroll|pron=denne|bunden=stavekontrollen||
|
||||
=|StockWatch|Aksjeovervaking|pron=denne|bunden=aksjeovervakinga||
|
||||
=|System Command|Systemkommando|pron=denne|bunden=kommandokøyraren||
|
||||
=|System Monitor - CPU|Systemovervaking – prosessor|pron=denne|bunden=prosessorovervakinga||
|
||||
=|System Monitor - Hard Disk|Systemovervaking – harddisk|pron=denne|bunden=harddiskovervakinga||
|
||||
=|System Monitor - Hardware Info|Systemovervaking – maskinvareinfo|pron=denne|bunden=maskinvareovervakinga||
|
||||
=|System Monitor - Network|Systemovervaking – nettverk|pron=denne|bunden=nettverksovervakinga||
|
||||
=|System Monitor|Systemovervaking|pron=denne|bunden=systemovervakinga||
|
||||
=|System Monitor - Temperature|Systemovervaking – temperatur|pron=denne|bunden=temperaturovervakinga||
|
||||
=|System|System|pron=dette|bunden=systemet||
|
||||
=|System Tray|Systemtrau|pron=dette|bunden=systemtrauet||
|
||||
=|Task Manager|Oppgåvehandsamar|pron=denne|bunden=oppgåvehandsamaren||
|
||||
=|The Earth|Jorda|pron=denne|bunden=jordkloden||
|
||||
=|Timer|Tidsur|pron=dette|bunden=tidsuret||
|
||||
=|Train Clock|Togklokke|pron=denne|bunden=togklokka||
|
||||
=|Trashcan|Papirkorg|pron=denne|bunden=papirkorga||
|
||||
=|Microblogging|Mikroblogging|pron=denne|bunden=mikroblogginga||
|
||||
=|Unit Converter|Einingskonvertering|pron=denne|bunden=einingskonverteraren||
|
||||
=|UnitConverter|Einingskonvertering|pron=denne|bunden=einingskonverteraren||
|
||||
=|Video Player|Videospelar|pron=denne|bunden=videospelaren||
|
||||
=|Video|Video|pron=denne|bunden=videospelaren||
|
||||
=|Weather Applet|Vêrmelding|pron=denne|bunden=vêrmeldinga||
|
||||
=|Webbrowser History|Nettlesarlogg|pron=denne|bunden=nettlesarloggen||
|
||||
=|Web Browser|Nettlesar|pron=denne|bunden=nettlesaren||
|
||||
=|Web Widgets|Vevelement|pron=dette|bunden=vevelementet||
|
||||
=|Web Widget|Vevelement|pron=dette|bunden=vevelementet||
|
||||
=|WiFi Signal Strength Meter|Signalstyrke for trådlaustilkopling|pron=denne|bunden=signalstyrkemålaren||
|
||||
=|Wikipedia Applet|Wikipedia-element|pron=dette|bunden=Wikipedia-elementet||
|
||||
=|Window Manager|Vindaugshandsamar|pron=denne|bunden=vindaugshandsamaren||
|
||||
=|World Clock|Verdsklokke|pron=denne|bunden=verdsklokka||
|
||||
=|Desktop Applet|Skrivebordselement|pron=dette|bunden=skrivebordselementet||
|
||||
=|EncodeDecode|Kod og dekod|pron=dette|bunden=kodings- og dekodingselementet||
|
||||
=|Example Falcon Runner|Eksempel på Falcon-køyrar|pron=denne|bunden=Falcon-køyraren||
|
||||
=|Example Python Applet|Eksempel på Python-element|pron=dette|bunden=Python-elementet||
|
||||
=|Example Python Runner|Eksempel på Python-køyrar|pron=denne|bunden=Python-køyraren||
|
||||
=|Example Ruby Runner|Eksempel på Ruby-køyrar|pron=denne|bunden=Ruby-køyraren||
|
||||
=|File Manager|Filhandsamar|pron=denne|bunden=filhandsamaren||
|
||||
=|KMLDonkey|KMLDonkey|pron=dette|bunden=KMLDonkey-elementet||
|
||||
=|Separator|Skilje|pron=dette|bunden=skiljet||
|
||||
=|Test Applet|Testelement|pron=dette|bunden=testelementet||
|
||||
=|Toggle Desktop Effects|Skrivebordseffektar på/av|pron=denne|bunden=effektbrytaren||
|
||||
=|Web Shortcuts|Vevsnarvegar|pron=desse|bunden=vevsnarvegane||
|
||||
=|Xesam Search|Xesam-søk|pron=dette|bunden=Xesam-søket||
|
||||
=|Album cover|Plateomslag|pron=dette|bunden=plateomslaget||
|
||||
=|Black Board|Tavle|pron=denne|bunden=tavla||
|
||||
=|Bouncy Ball|Sprettball|pron=denne|bunden=sprettballen||
|
||||
=|Bubblemon|Bobleovervaking|pron=denne|bunden=bobleovervakinga||
|
||||
=|Collection|Samling|pron=denne|bunden=samlinga||
|
||||
=|Globe|Globus|pron=denne|bunden=globusen||
|
||||
=|Lyrics|Songtekst|pron=denne|bunden=songteksten||
|
||||
=|Pager|Skrivebordsbytar|pron=denne|bunden=skrivebordsbytaren||
|
||||
=|Playlist|Speleliste|pron=denne|bunden=spelelista||
|
||||
=|Desktop Activitiy|Skrivebord-aktivitet|pron=dette|bunden=skrivebordet||
|
||||
=|Newspaper Activitiy|Avis-aktivitet|pron=denne|bunden=avisa||
|
||||
=|Folder View Activitiy|Mappevising-aktivitet|pron=denne|bunden=mappevisinga||
|
|
@ -17,4 +17,3 @@ endif()
|
|||
set(CURRENT_LANG pl)
|
||||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
kde4_install_ts_files(${CURRENT_LANG} kgeography)
|
|
@ -1,23 +0,0 @@
|
|||
# general.pmap
|
||||
# Polish language, general directory entries for KGeography.
|
||||
# Contains:
|
||||
# * cases of different region types
|
||||
#
|
||||
# Usage: =:directory entry:key=value::
|
||||
# Case names are given in Polish.
|
||||
=:Kraje:mianownik=Kraje:dopelniacz=Krajów:celownik=Krajom:biernik=Kraje:narzednik=Krajami:miejscownik=Krajach::
|
||||
=:Regiony:mianownik=Regiony:dopelniacz=Regionów:celownik=Regionom:biernik=Regiony:narzednik=Regionami:miejscownik=Regionach::
|
||||
=:Prowincje:mianownik=Prowincje:dopelniacz=Prowincji:celownik=Prowncjom:biernik=Prowincje:narzednik=Prowincjami:miejscownik=Prowincjach::
|
||||
=:Okręgi:mianownik=Okręgi:dopelniacz=Okręgów:celownik=Okręgom:biernik=Okręgi:narzednik=Okręgami:miejscownik=Okręgach::
|
||||
=:Prefektury:mianownik=Prefektury:dopelniacz=Prefektur:celownik=Prefekturom:biernik=Prefektury:narzednik=Prefekturami:miejscownik=Prefekturach::
|
||||
=:Parafie:mianownik=Parafie:dopelniacz=Parafii:celownik=Parafiom:biernik=Parafie:narzednik=Parafiami:miejscownik=Parafiach::
|
||||
=:Stany:mianownik=Stany:dopelniacz=Stanów:celownik=Stanom:biernik=Stany:narzednik=Stanami:miejscownik=Stanach::
|
||||
=:Prowincje lub terytoria:mianownik=Prowincje lub terytoria:dopelniacz=Prowincji lub terytoriów:celownik=Prowincjom lub terytoriom:biernik=Prowincje lub terytoria:narzednik=Prowincjami lub terytoriami:miejscownik=Prowincjach lub terytoriach::
|
||||
=:Dystrykty:mianownik=Dystrykty:dopelniacz=Dystryktów:celownik=Dystryktom:biernik=Dystrykty:narzednik=Dystryktami:miejscownik=Dystryktach::
|
||||
=:Departamenty:mianownik=Departamenty:dopelniacz=Departamentów:celownik=Departamentom:biernik=Departamenty:narzednik=Departamentami:miejscownik=Deparamentach::
|
||||
=:Regiony autonomiczne:mianownik=Regiony autonomiczne:dopelniacz=Regionów autonomicznych:celownik=Regionom autonomicznym:biernik=Regiony autonomiczne:narzednik=Regionami autonomicznymi:miejscownik=Regionach autonomicznych::
|
||||
=:Landy:mianownik=Landy:dopelniacz=Landów:celownik=Landom:biernik=Landy:narzednik=Landami:miejscownik=Landach::
|
||||
=:Gminy:mianownik=Gminy:dopelniacz=Gmin:celownik=Gminom:biernik=Gminy:narzednik=Gminami:miejscownik=Gminach::
|
||||
=:Obwody:mianownik=Obwody:dopelniacz=Obwodów:celownik=Obwodom:biernik=Obwody:narzednik=Obwodami:miejscownik=Obwodach::
|
||||
=:Komitaty:mianownik=Komitaty:dopelniacz=Komitatów:celownik=Komitatom:biernik=Komitaty:narzednik=Komitatami:miejscownik=Komitatach::
|
||||
=:Województwa:mianownik=Województwa:dopelniacz=Województw:celownik=Województwom:biernik=Województwa:narzednik=Województwami:miejscownik=Województwach::
|
|
@ -1,19 +0,0 @@
|
|||
// Polish language functions for Kgeography
|
||||
|
||||
function getCase (prop, key) {
|
||||
return Ts.getProp(key, prop);
|
||||
}
|
||||
|
||||
function getCaseLower (prop, key) {
|
||||
str = Ts.getProp(key, prop);
|
||||
return str.toLowerCase();
|
||||
}
|
||||
|
||||
// Directory entry with first capital letter
|
||||
Ts.setcall("przypadek-wielkie", getCase);
|
||||
|
||||
// Lower case directory entry
|
||||
Ts.setcall("przypadek-male", getCaseLower);
|
||||
|
||||
// Load cases for different region types
|
||||
Ts.loadProps("general");
|
|
@ -18,4 +18,3 @@ set(CURRENT_LANG ru)
|
|||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( data )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
add_subdirectory(kdelibs)
|
|
@ -1 +0,0 @@
|
|||
kde4_install_ts_files(${CURRENT_LANG} kdelibs4)
|
|
@ -1,58 +0,0 @@
|
|||
// kdelibs4.js of Russian KDE translation
|
||||
|
||||
// Return the phrase without the given prefix if it has it,
|
||||
// or the full phrase otherwise.
|
||||
// Thanks to Chusslove Ilich from Serbian team
|
||||
function without_prefix (prefix, phrase)
|
||||
{
|
||||
if (phrase.indexOf(prefix) == 0) {
|
||||
phrase = phrase.substr(prefix.length);
|
||||
}
|
||||
return phrase;
|
||||
}
|
||||
|
||||
//// Returns the phrase with all uppercase characters
|
||||
//// replaced with lowercase ones.
|
||||
//function toLowerCase (str)
|
||||
//{
|
||||
// return str.toLowerCase();
|
||||
//}
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
// This pair of functions can be used for storing/restoring
|
||||
// any additional form. This is reasonable, because in most
|
||||
// cases only 2 forms are used.
|
||||
function setStash(text)
|
||||
{
|
||||
Ts.setProp(Ts.msgstrf(), "S", text);
|
||||
}
|
||||
|
||||
function inStash(arg)
|
||||
{
|
||||
return Ts.getProp(arg, "S")
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
function replaceMultiplePairs(/* text, pattern1, replacement1, ... */)
|
||||
{
|
||||
if (arguments.length % 2 != 1)
|
||||
throw Error("replaceMultiplePairs requires odd number of arguments.");
|
||||
|
||||
var text = arguments[0];
|
||||
for (var i = 1; i < arguments.length; i += 2)
|
||||
{
|
||||
text = text.replace(arguments[i], arguments[i + 1]);
|
||||
}
|
||||
|
||||
return text;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
Ts.setcall("wo-prefix", without_prefix);
|
||||
//Ts.setcall("tolower", toLowerCase);
|
||||
|
||||
Ts.setcall("store", setStash)
|
||||
Ts.setcall("restore", inStash)
|
||||
|
||||
Ts.setcall("replace-pairs", replaceMultiplePairs)
|
||||
|
|
@ -18,4 +18,3 @@ set(CURRENT_LANG sr)
|
|||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( data )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
# Compile and install all pmap files.
|
||||
find_package(PythonInterp)
|
||||
if(PYTHONINTERP_FOUND)
|
||||
set(_cmpscript ${CMAKE_CURRENT_SOURCE_DIR}/ts-pmap-compile.py)
|
||||
file(GLOB_RECURSE _subtsfiles RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.pmap)
|
||||
foreach(_subtsfile ${_subtsfiles})
|
||||
get_filename_component(_subtspath ${_subtsfile} PATH)
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_subtspath})
|
||||
set(_tsfile ${CMAKE_CURRENT_SOURCE_DIR}/${_subtsfile})
|
||||
set(_tscfile ${CMAKE_CURRENT_BINARY_DIR}/${_subtsfile}c)
|
||||
add_custom_command(OUTPUT ${_tscfile}
|
||||
COMMAND ${PYTHON_EXECUTABLE} -B ${_cmpscript}
|
||||
${_tsfile} ${_tscfile}
|
||||
DEPENDS ${_tsfile})
|
||||
string(REPLACE "/" ";" _subpathlst ${_subtsfile})
|
||||
list(GET _subpathlst 1 _tsmodule)
|
||||
install(FILES ${_tscfile}
|
||||
DESTINATION ${KDE4_LOCALE_INSTALL_DIR}/${CURRENT_LANG}/LC_SCRIPTS/${_tsmodule})
|
||||
set(_tscfiles ${_tscfiles} ${_tscfile})
|
||||
string(REPLACE "/" "-" _target ${_subtsfile})
|
||||
add_custom_target("pmapc-${CURRENT_LANG}_${_target}" ALL DEPENDS ${_tscfiles})
|
||||
endforeach()
|
||||
endif()
|
|
@ -1,3 +0,0 @@
|
|||
include(CMakeInclude.cmake)
|
||||
add_subdirectory(kdebase)
|
||||
add_subdirectory(kdelibs)
|
|
@ -1 +0,0 @@
|
|||
kde4_install_ts_files(${CURRENT_LANG} kfontinst)
|
|
@ -1,53 +0,0 @@
|
|||
// ------------------------------
|
||||
// The headed name is a noun followed by attributes.
|
||||
// There are two formats:
|
||||
// "head, attr1 attr2..." (basic)
|
||||
// "head (attr11 attr12 ..., attr21 attr22 ..., ...)" (compound)
|
||||
function headed_name_to_case (gcase, composed)
|
||||
{
|
||||
var p = composed.lastIndexOf("("); // in case of (...) in the head
|
||||
if (p < 0) {
|
||||
// The basic format.
|
||||
// Assume there may be no comma or attributes, so check thoroughly.
|
||||
p = composed.lastIndexOf(","); // in case of comma in the head
|
||||
if (p < 0) {
|
||||
return getprop(composed, gcase);
|
||||
}
|
||||
var head = composed.substr(0, p);
|
||||
var final = getprop(head, gcase);
|
||||
var attrs = composed.substr(p + 1).split(" ").filter(Boolean);
|
||||
if (attrs.length > 0) {
|
||||
var gender = getprop(head, "_род");
|
||||
var number = ""
|
||||
if (hasprop(head, "_број")) {
|
||||
number = getprop(head, "_број");
|
||||
}
|
||||
for (var i = 0; i < attrs.length; i += 1) {
|
||||
attrs[i] = getprop(attrs[i], gcase + "-" + gender + number);
|
||||
}
|
||||
final += ", " + attrs.join(" ");
|
||||
}
|
||||
return final;
|
||||
}
|
||||
else {
|
||||
// The compound format.
|
||||
// Assume valid, skip checks.
|
||||
var head = composed.substr(0, p);
|
||||
var pp = composed.indexOf(")", p);
|
||||
var attrs = composed.substring(p + 1, pp).split(",")
|
||||
var gender = getprop(head, "_род");
|
||||
var number = ""
|
||||
if (hasprop(head, "_број")) {
|
||||
number = getprop(head, "_број");
|
||||
}
|
||||
for (var i = 0; i < attrs.length; i += 1) {
|
||||
var subattrs = attrs[i].split(" ").filter(Boolean);
|
||||
for (var j = 0; j < subattrs.length; j += 1) {
|
||||
subattrs[j] = getprop(subattrs[j], gcase + "-" + gender + number);
|
||||
}
|
||||
attrs[i] = subattrs.join(" ");
|
||||
}
|
||||
return getprop(head, gcase) + " (" + attrs.join(", ") + ")";
|
||||
}
|
||||
}
|
||||
Ts.setcall("главорепи", headed_name_to_case);
|
|
@ -1 +0,0 @@
|
|||
kde4_install_ts_files(${CURRENT_LANG} kdelibs4)
|
|
@ -1,613 +0,0 @@
|
|||
// kdelibs4.js of Serbian KDE translation
|
||||
|
||||
// ------------------------------
|
||||
// Property getter object contains the following data attributes:
|
||||
// - callname: the name of the getter call as exposed to PO files
|
||||
// - propkey: the key of the property as used in pmap files
|
||||
// - overrides: dictionary of values of this property for certain phrases,
|
||||
// which were manually set in the PO file
|
||||
function Propgetter (callname, propkey)
|
||||
{
|
||||
this.callname = callname;
|
||||
this.propkey = propkey;
|
||||
this.overrides = {};
|
||||
|
||||
this.getbase = Propgetter_getbase;
|
||||
|
||||
this.getprop = Propgetter_getprop;
|
||||
this.getprop_uc = Propgetter_getprop_uc;
|
||||
this.getform = Propgetter_getform;
|
||||
this.getform_uc = Propgetter_getform_uc;
|
||||
}
|
||||
|
||||
// Base of property/form getter methods attached to getter objects.
|
||||
// First the property for the given phrase is looked up in overrides,
|
||||
// and then in Transcript property map (read from pmap files).
|
||||
// If the property is not found, fallback is signalled if retself is false,
|
||||
// otherwise the phrase itself is returned.
|
||||
function Propgetter_getbase (phrase, retself)
|
||||
{
|
||||
if (phrase in this.overrides) {
|
||||
return this.overrides[phrase];
|
||||
}
|
||||
else {
|
||||
var prop = Ts.getProp(phrase, this.propkey)
|
||||
if (prop != undefined)
|
||||
return prop;
|
||||
}
|
||||
if (retself) {
|
||||
return phrase;
|
||||
}
|
||||
throw Ts.fallback();
|
||||
}
|
||||
|
||||
// Property getter method attached to getter objects.
|
||||
function Propgetter_getprop (phrase)
|
||||
{
|
||||
return this.getbase(phrase, false);
|
||||
}
|
||||
|
||||
// As previous, but returns the property with the first letter upcased.
|
||||
function Propgetter_getprop_uc (phrase)
|
||||
{
|
||||
var val = this.getprop(phrase);
|
||||
|
||||
// The second argument is indicating the number of alternatives per
|
||||
// alternatives directive -- in case the first letter is within
|
||||
// an alternatives directive, all alternatives in that directive
|
||||
// should be processed.
|
||||
return Ts.toUpperFirst(val, 2);
|
||||
}
|
||||
|
||||
// Form getter method attached to getter objects.
|
||||
function Propgetter_getform (phrase)
|
||||
{
|
||||
return this.getbase(phrase, true);
|
||||
}
|
||||
|
||||
// As previous, but returns the form with the first letter upcased.
|
||||
function Propgetter_getform_uc (phrase)
|
||||
{
|
||||
var val = this.getform(phrase);
|
||||
// See the comment in Propgetter_getprop_uc().
|
||||
return Ts.toUpperFirst(val, 2);
|
||||
}
|
||||
|
||||
// ------------------------------
|
||||
// Exposing property getters to PO.
|
||||
|
||||
// Contains all global property getters.
|
||||
var _propgetters_ = {};
|
||||
|
||||
// Set PO calls for given property getter object.
|
||||
function setcalls_prop (pgetr)
|
||||
{
|
||||
// Default call.
|
||||
Ts.setcall(pgetr.callname, pgetr.getprop, pgetr);
|
||||
// "Open with $[callname %1]"
|
||||
|
||||
// Form call.
|
||||
Ts.setcall(pgetr.callname + "/ф", pgetr.getform, pgetr);
|
||||
// "Open with $[callname/ф %1]"
|
||||
|
||||
// The calls which capitalize the first letter of the value,
|
||||
// named as the default calls but with the first letter capitalized.
|
||||
// Only set if the first letter of the call name is actually lowercase.
|
||||
callname_uc = Ts.toUpperFirst(pgetr.callname);
|
||||
if (callname_uc != pgetr.callname) {
|
||||
Ts.setcall(callname_uc, pgetr.getprop_uc, pgetr);
|
||||
// "$[Callname %1] starting..."
|
||||
Ts.setcall(callname_uc + "/ф", pgetr.getform_uc, pgetr);
|
||||
// "$[Callname/ф %1] starting..."
|
||||
}
|
||||
|
||||
// Record getter objects globally.
|
||||
// Only for the original name, since the uppercase/form variants are not
|
||||
// used when properties are being set (when the global store is needed).
|
||||
_propgetters_[pgetr.callname] = pgetr;
|
||||
}
|
||||
|
||||
// Set property value of phrase.
|
||||
function setprop (phrase, pkey, pval)
|
||||
{
|
||||
// Either create new, or select existing getter.
|
||||
var pgetr;
|
||||
if (!_propgetters_[pkey]) {
|
||||
// Populate new getter if not already defined.
|
||||
pgetr = new Propgetter(pkey, pkey);
|
||||
// Expose calls to PO.
|
||||
setcalls_prop(pgetr);
|
||||
}
|
||||
else {
|
||||
// Get previously defined getter.
|
||||
pgetr = _propgetters_[pkey];
|
||||
}
|
||||
|
||||
// Add the property into overrides of selected getter.
|
||||
pgetr.overrides[phrase] = pval;
|
||||
}
|
||||
|
||||
// Get property value of phrase.
|
||||
// Signals fallback if the property/phrase combination is not defined.
|
||||
function getprop (phrase, pkey)
|
||||
{
|
||||
if (_propgetters_[pkey]) {
|
||||
return _propgetters_[pkey].getprop(phrase);
|
||||
}
|
||||
throw Ts.fallback();
|
||||
}
|
||||
|
||||
// Get form of the phrase, or phrase itself if no such form.
|
||||
function getform (phrase, fkey)
|
||||
{
|
||||
if (_propgetters_[fkey]) {
|
||||
return _propgetters_[fkey].getform(phrase);
|
||||
}
|
||||
return phrase;
|
||||
}
|
||||
|
||||
// Returns true if the phrase has the property.
|
||||
function hasprop (phrase, pkey)
|
||||
{
|
||||
pg = _propgetters_[pkey];
|
||||
if (!pg) {
|
||||
return false;
|
||||
}
|
||||
if (!pg.overrides[phrase] && !Ts.getProp(phrase, pg.propkey)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// ------------------------------
|
||||
// Predefined property getters.
|
||||
|
||||
// Call names and corresponding keys in pmap for predefined getters.
|
||||
// The first letter in a call name should be lowercase; for each call
|
||||
// another call with the first letter in uppercase will be defined,
|
||||
// which will upcase the first letter in the property value before
|
||||
// returning it.
|
||||
var call_name_to_prop = {
|
||||
// Nouns.
|
||||
"_изв" : "_izvor", // english original
|
||||
"_род" : "_rod", // gender
|
||||
"_број" : "_broj", // number
|
||||
|
||||
"ном" : "n", // nominative case
|
||||
"ген" : "g", // genitive case
|
||||
"дат" : "d", // dative case
|
||||
"аку" : "a", // accusative case
|
||||
"инс" : "i", // instrumental case
|
||||
"лок" : "l", // locative case
|
||||
|
||||
// Expressive variants.
|
||||
"наредбено" : "_narb", // command
|
||||
"списковно" : "_spis", // listed
|
||||
|
||||
// Adjectives.
|
||||
"ном-м" : "nm", // nominative, masculine
|
||||
"ген-м" : "gm", // genitive, masculine
|
||||
"дат-м" : "dm", // dative, masculine
|
||||
"аку-м" : "am", // accusative, masculine
|
||||
"инс-м" : "im", // instrumental, masculine
|
||||
"лок-м" : "lm", // locative, masculine
|
||||
"ном-ж" : "nz", // nominative, feminine
|
||||
"ген-ж" : "gz", // genitive, feminine
|
||||
"дат-ж" : "dz", // dative, feminine
|
||||
"аку-ж" : "az", // accusative, feminine
|
||||
"инс-ж" : "iz", // instrumental, feminine
|
||||
"лок-ж" : "lz", // locative, feminine
|
||||
"ном-с" : "ns", // nominative, neuter
|
||||
"ген-с" : "gs", // genitive, neuter
|
||||
"дат-с" : "ds", // dative, neuter
|
||||
"аку-с" : "as", // accusative, neuter
|
||||
"инс-с" : "is", // instrumental, neuter
|
||||
"лок-с" : "ls", // locative, neuter
|
||||
"ном-мк" : "nmk", // nominative, masculine, plural
|
||||
"ген-мк" : "gmk", // genitive, masculine, plural
|
||||
"дат-мк" : "dmk", // dative, masculine, plural
|
||||
"аку-мк" : "amk", // accusative, masculine, plural
|
||||
"инс-мк" : "imk", // instrumental, masculine, plural
|
||||
"лок-мк" : "lmk", // locative, masculine, plural
|
||||
"ном-жк" : "nzk", // nominative, feminine, plural
|
||||
"ген-жк" : "gzk", // genitive, feminine, plural
|
||||
"дат-жк" : "dzk", // dative, feminine, plural
|
||||
"аку-жк" : "azk", // accusative, feminine, plural
|
||||
"инс-жк" : "izk", // instrumental, feminine, plural
|
||||
"лок-жк" : "lzk", // locative, feminine, plural
|
||||
"ном-ск" : "nsk", // nominative, neuter, plural
|
||||
"ген-ск" : "gsk", // genitive, neuter, plural
|
||||
"дат-ск" : "dsk", // dative, neuter, plural
|
||||
"аку-ск" : "ask", // accusative, neuter, plural
|
||||
"инс-ск" : "isk", // instrumental, neuter, plural
|
||||
"лок-ск" : "lsk", // locative, neuter, plural
|
||||
};
|
||||
|
||||
// Create getter objects for predefined getters.
|
||||
for (cname in call_name_to_prop) {
|
||||
// Create getter object as defined above.
|
||||
var pgetr = new Propgetter(cname, call_name_to_prop[cname]);
|
||||
// Expose calls to PO.
|
||||
setcalls_prop(pgetr);
|
||||
}
|
||||
|
||||
// Special handling for instrumental case, when used for tool application:
|
||||
// don't pass it along as-is if same as nominative case of the phrase,
|
||||
// since the sentence can get very different, yet semantically correct meaning.
|
||||
// Instead, pass genitive case with the preposition "by the help of".
|
||||
{
|
||||
var pgetr = new Propgetter("инс-п", "i");
|
||||
|
||||
// Replace default getter method.
|
||||
pgetr.getprop = function (phrase)
|
||||
{
|
||||
var prop_ins = _propgetters_["инс"].getprop(phrase);
|
||||
var prop_nom = _propgetters_["ном"].getprop(phrase);
|
||||
if (prop_ins == prop_nom) {
|
||||
var prop_gen = _propgetters_["ген"].getprop(phrase);
|
||||
return "помоћу " + prop_gen;
|
||||
}
|
||||
else {
|
||||
return prop_ins;
|
||||
}
|
||||
}
|
||||
|
||||
setcalls_prop(pgetr);
|
||||
}
|
||||
|
||||
// ------------------------------
|
||||
// Set properties of the given phrase.
|
||||
// The arguments to the call are the phrase, and a list of as many keys
|
||||
// followed by their value as desired (i.e. number of elements must be even).
|
||||
// Keys may also be comma-separated lists instead of a single key, in order
|
||||
// not to have to repeat the same value when it corresponds to several keys.
|
||||
//
|
||||
// The property keys become property getters which can be used to retrive
|
||||
// the value at a later point. If the getter for a given key already exists,
|
||||
// the new value is added into its overrides.
|
||||
//
|
||||
// Returns undefined.
|
||||
//
|
||||
function setprops (phrase, keyvals)
|
||||
{
|
||||
if (keyvals.length % 2 != 0)
|
||||
throw Error("Property setter given odd number of key/value elements.");
|
||||
|
||||
for (var i = 0; i < keyvals.length; i += 2) {
|
||||
// Several keys may be given for a single prop, comma-separated.
|
||||
var pkeys = keyvals[i].split(",");
|
||||
var pval = keyvals[i + 1];
|
||||
|
||||
// Set the value to each property key.
|
||||
for (var j = 0; j < pkeys.length; j += 1) {
|
||||
setprop(phrase, pkeys[j], pval);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Manually set properties of the phrase given by the finalized msgstr
|
||||
// in the PO file and signal fallback.
|
||||
// For the rest of the behavior, see setprops()
|
||||
function setprops_msgstrf (/*...*/)
|
||||
{
|
||||
if (arguments.length % 2 != 0)
|
||||
throw Error("Msgstr property setter given odd number of arguments.");
|
||||
setprops(Ts.msgstrf(), arguments);
|
||||
throw Ts.fallback();
|
||||
}
|
||||
Ts.setcall("својства", setprops_msgstrf);
|
||||
// "$[callname prop1 value1 prop2 value2 ...]"
|
||||
|
||||
// Manually set properties of the phrase given by the finalized msgstr
|
||||
// in the PO file and return empty string.
|
||||
// For the rest of the behavior, see setprops()
|
||||
function setprops_msgstrf_e (/*...*/)
|
||||
{
|
||||
if (arguments.length % 2 != 0)
|
||||
throw Error("Msgstr property setter given odd number of arguments.");
|
||||
setprops(Ts.msgstrf(), arguments);
|
||||
return "";
|
||||
}
|
||||
Ts.setcall("својства/п", setprops_msgstrf_e);
|
||||
// "$[callname prop1 value1 prop2 value2 ...]"
|
||||
|
||||
// ------------------------------
|
||||
// Manual plural handling.
|
||||
// Only first three forms, as the fourth form is most likely not needed
|
||||
// when the plural needs to be scripted.
|
||||
// The first argument should be the proper value, not the substitution string
|
||||
// (i.e. do not call as $[~ %1 ...] but as $[~ ^1 ...]).
|
||||
function plural3 (n, form0, form1, form2)
|
||||
{
|
||||
if (n % 10 == 1 && n % 100 != 11)
|
||||
return form0;
|
||||
else if (n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20))
|
||||
return form1;
|
||||
else
|
||||
return form2;
|
||||
}
|
||||
Ts.setcall("множ", plural3);
|
||||
// "...and %2 $[callname ^2 file fila files]"
|
||||
|
||||
// ------------------------------
|
||||
// General choice-by-case.
|
||||
function select_by_case (/* test, case1, choice1, ..., [default_choice] */)
|
||||
{
|
||||
if (arguments.length < 1)
|
||||
throw Error("Choice by case takes at least the test value.");
|
||||
|
||||
for (var i = 1; i < arguments.length - 1; i += 2) {
|
||||
if (arguments[0] == arguments[i]) {
|
||||
return arguments[i + 1];
|
||||
}
|
||||
}
|
||||
// No case matched, see if we have a default.
|
||||
if ((arguments.length - 1) % 2 != 0) {
|
||||
return arguments[arguments.length - 1];
|
||||
} else {
|
||||
throw Ts.fallback();
|
||||
}
|
||||
}
|
||||
Ts.setcall("када", select_by_case);
|
||||
// "Do you want to %1 $[callname %1 open 'this bar' access 'thisu baru']"
|
||||
|
||||
// ------------------------------
|
||||
// Select one of three forms according to the gender of the phrase.
|
||||
function select_by_gender (phrase, form_m, form_f, form_n)
|
||||
{
|
||||
// Select gender (throws fallback if phrase not found).
|
||||
var gender = getprop(phrase, "_род");
|
||||
|
||||
if (gender == "м") {
|
||||
return form_m;
|
||||
}
|
||||
else if (gender == "ж") {
|
||||
return form_f;
|
||||
}
|
||||
else if (gender == "с") {
|
||||
return form_n;
|
||||
}
|
||||
else {
|
||||
throw Ts.fallback();
|
||||
}
|
||||
}
|
||||
Ts.setcall("по-роду", select_by_gender);
|
||||
// "Delete $[callname %1 this thisa thiso] %1?"
|
||||
|
||||
// ------------------------------
|
||||
// Select one of two forms according to the number of the phrase.
|
||||
function select_by_number (phrase, form_s, form_p)
|
||||
{
|
||||
// Select number (default to singular if not found).
|
||||
var number = "ј";
|
||||
if (hasprop(phrase, "_број")) {
|
||||
number = getprop(phrase, "_број");
|
||||
}
|
||||
|
||||
if (number == "к") { // plural
|
||||
return form_p;
|
||||
} else {
|
||||
return form_s;
|
||||
}
|
||||
}
|
||||
Ts.setcall("по-броју", select_by_number);
|
||||
// "%1 $[callname %1 waalks waalk] by the river."
|
||||
|
||||
// ------------------------------
|
||||
// Select one of six forms according to the gender and number of the phrase.
|
||||
function select_by_number_gender (phrase,
|
||||
form_ms, form_fs, form_ns, // singulars
|
||||
form_mp, form_fp, form_np) // plurals
|
||||
{
|
||||
// Select number (default to singular if not found).
|
||||
var number = "ј";
|
||||
if (hasprop(phrase, "_број")) {
|
||||
number = getprop(phrase, "_број");
|
||||
}
|
||||
|
||||
if (number == "к") { // plural
|
||||
return select_by_gender(phrase, form_mp, form_fp, form_np);
|
||||
} else {
|
||||
return select_by_gender(phrase, form_ms, form_fs, form_ns);
|
||||
}
|
||||
}
|
||||
Ts.setcall("по-роду-броју", select_by_number_gender);
|
||||
// "Delete $[callname %1 this thisa thiso thees theesa theeso] %1?"
|
||||
|
||||
// ------------------------------
|
||||
// Select one the form according to the case and gender of another argument.
|
||||
function select_by_case_gender (gcase, gphrase, phrase) // plurals
|
||||
{
|
||||
var gender = getprop(gphrase, "_род");
|
||||
return getprop(phrase, gcase + "-" + gender);
|
||||
}
|
||||
Ts.setcall("по-падежу-роду", select_by_case_gender);
|
||||
// "Delete $[callname case %2 %1] [case %2]?"
|
||||
|
||||
// ------------------------------
|
||||
// Object to query whether a character is one of expected letters.
|
||||
letter_arr = (""
|
||||
+ "абвгдђежзијклљмнњопрстћуфхцчџшАБВГДЂЕЖЗИЈКЛЉМНЊОПРСТЋУФХЦЧЏШ"
|
||||
+ "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||
).split("");
|
||||
letter = {};
|
||||
for (var i = 0; i < letter_arr.length; ++i) {
|
||||
letter[letter_arr[i]] = 1;
|
||||
}
|
||||
|
||||
// ------------------------------
|
||||
// Split phrase into words and intersections,
|
||||
// where words are taken as contiguous segments of letters.
|
||||
// The return value is a tuple of arrays of words and intersections.
|
||||
// There is always one more of intersections than words, so that
|
||||
// the original phrase can be reassembled as
|
||||
// intrs[0] + words[0] + ... + intrs[n - 2] + words[n - 2] + intrs[n - 1].
|
||||
function split_phrase (phrase)
|
||||
{
|
||||
intrs = [];
|
||||
words = [];
|
||||
|
||||
var i = 0;
|
||||
while (i < phrase.length) {
|
||||
var i1 = i;
|
||||
while (i1 < phrase.length && !letter[phrase[i1]]) {
|
||||
++i1;
|
||||
}
|
||||
intrs.push(phrase.substring(i, i1));
|
||||
var i2 = i1;
|
||||
while (i2 < phrase.length && letter[phrase[i2]]) {
|
||||
++i2;
|
||||
}
|
||||
if (i2 > i1) {
|
||||
words.push(phrase.substring(i1, i2));
|
||||
if (i2 == phrase.length) {
|
||||
intrs.push("");
|
||||
}
|
||||
}
|
||||
i = i2;
|
||||
}
|
||||
|
||||
return [words, intrs];
|
||||
}
|
||||
|
||||
// ------------------------------
|
||||
// Apply call to each word in the phrase.
|
||||
// The call must accept the word as the last argument.
|
||||
function apply_to_word (/* phrase, callname, ...args before word... */)
|
||||
{
|
||||
if (arguments.length < 2)
|
||||
throw Error("Applicator takes at least the phrase and the call name.");
|
||||
|
||||
phrase = arguments[0];
|
||||
calln = arguments[1];
|
||||
cargs = [calln];
|
||||
for (var i = 2; i < arguments.length; ++i) {
|
||||
cargs.push(arguments[i]);
|
||||
}
|
||||
|
||||
lst = split_phrase(phrase);
|
||||
words = lst[0];
|
||||
intrs = lst[1];
|
||||
|
||||
nwords = [];
|
||||
for (var i = 0; i < words.length; ++i) {
|
||||
cargs.push(words[i]);
|
||||
nwords.push(Ts.acall.apply(Ts, cargs));
|
||||
cargs.pop();
|
||||
}
|
||||
|
||||
str = ""
|
||||
for (var i = 0; i < nwords.length; ++i) {
|
||||
str += intrs[i] + nwords[i];
|
||||
}
|
||||
str += intrs[nwords.length];
|
||||
|
||||
return str;
|
||||
}
|
||||
Ts.setcall("на-реч", apply_to_word);
|
||||
// "Repeat until $[callname casecall %1], and on this date..."
|
||||
|
||||
// ------------------------------
|
||||
// Decline person's name into given case.
|
||||
// Parse name into first and last name, determine gender according to
|
||||
// first name, decline according to gender and assemble.
|
||||
// If name cannot be fully declined, returns original name if retself is true,
|
||||
// otherwise signals fallback.
|
||||
// TODO: Just delegates to ordinary getters for the time being.
|
||||
function decline_person_name_base (gcase, fullname, retself)
|
||||
{
|
||||
if (retself) {
|
||||
return getform(fullname, gcase);
|
||||
}
|
||||
else {
|
||||
return getprop(fullname, gcase);
|
||||
}
|
||||
}
|
||||
|
||||
// Decline person's name, signal fallback if not possible.
|
||||
function decline_person_name (gcase, fullname)
|
||||
{
|
||||
return decline_person_name_base(gcase, fullname, false);
|
||||
}
|
||||
Ts.setcall("именски", decline_person_name);
|
||||
// "You have invited $[callname case %1] to the party."
|
||||
|
||||
// Decline person's name, return as-is if not possible.
|
||||
function decline_person_name_nf (gcase, fullname)
|
||||
{
|
||||
return decline_person_name_base(gcase, fullname, true);
|
||||
}
|
||||
Ts.setcall("именски/ф", decline_person_name_nf);
|
||||
// "You have invited $[callname case %1] to the party."
|
||||
|
||||
// ------------------------------
|
||||
// Match style attributes to gender of the font family name,
|
||||
// for the requested grammatical case.
|
||||
// The message must have dynamic context 'family' equal to the family name,
|
||||
// so that its gender can be obtained.
|
||||
// Style string may be composed of several space-separated attributes.
|
||||
// Family name and style attributes are expected in the nominative case.
|
||||
// Returns composed style string in the proper gender/case.
|
||||
function match_style_to_font (compstyle, gcase)
|
||||
{
|
||||
var family = Ts.dynctxt("family");
|
||||
if (!family) {
|
||||
throw Ts.fallback();
|
||||
}
|
||||
var gender = getprop(family, "_род");
|
||||
var number = ""
|
||||
if (hasprop(family, "_број")) {
|
||||
number = getprop(family, "_број");
|
||||
}
|
||||
var styles = compstyle.split(" ");
|
||||
var final = "";
|
||||
for (var i = 0; i < styles.length; i += 1) {
|
||||
final += " " + getprop(styles[i], gcase + "-" + gender + number);
|
||||
}
|
||||
return final.substr(1); // to remove initial space
|
||||
}
|
||||
Ts.setcall("стил-према-фонту", match_style_to_font);
|
||||
|
||||
// ------------------------------
|
||||
// Pick a phrase depending on a dynamic context field.
|
||||
// Input is the keyword of the context field, followed by pairs of
|
||||
// regex matcher on context value and corresponding phrase,
|
||||
// and optionally followed by default phrase in case the value does not match.
|
||||
// If the value does not match and default phrase is not given,
|
||||
// fallback is signaled.
|
||||
// If requested dynamic context field does not exist, fallback is signaled.
|
||||
function select_by_context (/* ctxt_key,
|
||||
valrx_1, phrase_1, ..., valrx_N, phrase_N
|
||||
[, default_phrase]*/)
|
||||
{
|
||||
if (arguments.length < 1)
|
||||
throw Error("Selector by context takes at least the context keyword.");
|
||||
|
||||
var ctxtkey = arguments[0];
|
||||
var ctxtval = Ts.dynctxt(ctxtkey);
|
||||
|
||||
var phrase;
|
||||
for (var i = 1; i < arguments.length; i += 2) {
|
||||
if (ctxtval.match(RegExp(arguments[i]))) {
|
||||
phrase = arguments[i + 1];
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (phrase == undefined) {
|
||||
if (arguments.length % 2 == 0) {
|
||||
phrase = arguments[arguments.length - 1];
|
||||
} else {
|
||||
throw Ts.fallback();
|
||||
}
|
||||
}
|
||||
|
||||
return phrase;
|
||||
}
|
||||
Ts.setcall("по-контексту", select_by_context);
|
||||
|
||||
// ------------------------------
|
||||
// Load property maps.
|
||||
Ts.loadProps("trapnakron");
|
||||
// // Do not load fonts pmap if the user requested so.
|
||||
// if (!Ts.getConfBool("translate-fonts", true)) {
|
||||
// }
|
File diff suppressed because it is too large
Load diff
|
@ -1,296 +0,0 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: UTF-8 -*-
|
||||
|
||||
# Script that compiles Transcript property maps from text to binary format.
|
||||
# Binary format greately speeds up loading of property maps at runtime.
|
||||
# http://techbase.kde.org/Localization/Concepts/Transcript
|
||||
#
|
||||
# Usage:
|
||||
# ts-pmap-compile.py file.pmap file.pmapc
|
||||
#
|
||||
# Works with Python >= 2.6 and >= 3.0.
|
||||
|
||||
import locale
|
||||
import os
|
||||
import re
|
||||
import struct
|
||||
import sys
|
||||
|
||||
|
||||
cmdname = os.path.basename(sys.argv[0])
|
||||
lenc = locale.getpreferredencoding()
|
||||
|
||||
def error (msg, code=1):
|
||||
sys.stderr.write(("%s: error: %s\n" % (cmdname, msg)).encode(lenc))
|
||||
sys.exit(code)
|
||||
|
||||
|
||||
def count_lines (text, tolen):
|
||||
return text.count("\n", 0, tolen) + 1
|
||||
|
||||
|
||||
def norm_keystr (text):
|
||||
# Must do the same as normKeystr() in kdelibs/kdecore/ktranscript.cpp
|
||||
return re.sub("[\s&]", "", text).lower()
|
||||
|
||||
|
||||
def trim_smart (text):
|
||||
return re.sub("^\s*\n|\n\s*$", "", text)
|
||||
|
||||
|
||||
def read_pmap (fname):
|
||||
|
||||
# Adapted directly from C++ code.
|
||||
|
||||
fh = open(fname, "rb")
|
||||
s = "".join([l.decode("utf8") for l in fh.readlines()])
|
||||
fh.close()
|
||||
|
||||
s_nextEntry, s_nextKey, s_nextValue = 1, 2, 3
|
||||
|
||||
pmap = []
|
||||
|
||||
class END_PROP_PARSE (Exception): pass
|
||||
try:
|
||||
slen = len(s)
|
||||
state = s_nextEntry
|
||||
ekeys = [] # holds keys for current entry
|
||||
props = [] # holds properties for current entry
|
||||
pkey = "" # holds current property key
|
||||
i = 0
|
||||
while True:
|
||||
i_checkpoint = i
|
||||
|
||||
if state == s_nextEntry:
|
||||
while s[i].isspace():
|
||||
i += 1
|
||||
if i >= slen: raise END_PROP_PARSE
|
||||
|
||||
if i + 1 >= slen:
|
||||
error("unexpected end of file %s" % fname)
|
||||
|
||||
if s[i] != '#':
|
||||
# Separator characters for this entry.
|
||||
key_sep = s[i]
|
||||
prop_sep = s[i + 1]
|
||||
if key_sep.isalpha() or prop_sep.isalpha():
|
||||
error("separator characters must not be letters "
|
||||
"at %s:%d" % (fname, count_lines(s, i)))
|
||||
|
||||
# Reset all data for current entry.
|
||||
ekeys = []
|
||||
props = []
|
||||
pkey = ""
|
||||
|
||||
i += 2
|
||||
state = s_nextKey
|
||||
|
||||
else:
|
||||
# This is a comment, skip to EOL, don't change state.
|
||||
while s[i] != '\n':
|
||||
i += 1
|
||||
if i >= slen: raise END_PROP_PARSE
|
||||
|
||||
elif state == s_nextKey:
|
||||
ip = i
|
||||
# Proceed up to next key or property separator.
|
||||
while s[i] != key_sep and s[i] != prop_sep:
|
||||
i += 1
|
||||
if i >= slen: raise END_PROP_PARSE
|
||||
|
||||
if s[i] == key_sep:
|
||||
# This is a property key,
|
||||
# record for when the value gets parsed.
|
||||
pkey = norm_keystr(s[ip:i])
|
||||
|
||||
i += 1
|
||||
state = s_nextValue
|
||||
|
||||
else: # if (s[i] == prop_sep
|
||||
# This is an entry key, or end of entry.
|
||||
ekey = norm_keystr(s[ip:i])
|
||||
if ekey:
|
||||
# An entry key.
|
||||
ekeys.append(ekey)
|
||||
|
||||
i += 1
|
||||
state = s_nextKey
|
||||
|
||||
else:
|
||||
# End of entry.
|
||||
if len(ekeys) < 1:
|
||||
error("no entry key for entry ending "
|
||||
"at %s:%d" % (fname, count_lines(s, i)))
|
||||
|
||||
# Put collected properties into global store.
|
||||
pmap.append((ekeys, props))
|
||||
|
||||
i += 1
|
||||
state = s_nextEntry
|
||||
|
||||
elif state == s_nextValue:
|
||||
ip = i
|
||||
# Proceed up to next property separator.
|
||||
while s[i] != prop_sep:
|
||||
i += 1
|
||||
if i >= slen: raise END_PROP_PARSE
|
||||
if s[i] == key_sep:
|
||||
error("property separator inside property value "
|
||||
"at %s:%d" % (fname, count_lines(s, i)))
|
||||
|
||||
# Extract the property value and store the property.
|
||||
pval = trim_smart(s[ip:i])
|
||||
props.append((pkey, pval))
|
||||
|
||||
i += 1
|
||||
state = s_nextKey
|
||||
|
||||
else:
|
||||
error("internal error 10 "
|
||||
"at %s:%d" % (fname, count_lines(s, i)))
|
||||
|
||||
# To avoid infinite looping and stepping out.
|
||||
if i == i_checkpoint or i >= slen:
|
||||
error("internal error 20 "
|
||||
"at %s:%d" % (fname, count_lines(s, i)))
|
||||
|
||||
except END_PROP_PARSE:
|
||||
if state != s_nextEntry:
|
||||
error("unexpected end of file in %s" % fname)
|
||||
|
||||
return pmap
|
||||
|
||||
|
||||
# Convert integer to 32-bit big-endian byte sequence.
|
||||
def int_bin_32 (val):
|
||||
return struct.pack(">i", val)[-4:]
|
||||
|
||||
|
||||
# Convert integer to 64-bit big-endian byte sequence.
|
||||
def int_bin_64 (val):
|
||||
return struct.pack(">q", val)[-8:]
|
||||
|
||||
|
||||
# Convert string to UTF-8 byte sequence,
|
||||
# preceded by its length in 32-bit big-endian.
|
||||
def str_bin_32 (val):
|
||||
val_enc = val.encode("utf8")
|
||||
return int_bin_32(len(val_enc)) + val_enc
|
||||
|
||||
|
||||
# Concatenate byte sequence.
|
||||
def catb (seq):
|
||||
return bytes().join(seq)
|
||||
|
||||
|
||||
# Binary map format 00.
|
||||
def write_map_bin_00 (fh, pmap):
|
||||
|
||||
# Magic bytes.
|
||||
fh.write("TSPMAP00".encode("ascii"))
|
||||
|
||||
# Number of entries.
|
||||
fh.write(int_bin_32(len(pmap)))
|
||||
|
||||
for ekeys, props in pmap:
|
||||
# Number of phrase keys and all phrase keys.
|
||||
fh.write(int_bin_32(len(ekeys)))
|
||||
for ekey in ekeys:
|
||||
fh.write(str_bin_32(ekey))
|
||||
|
||||
# Number of properties and all properties.
|
||||
fh.write(int_bin_32(len(props)))
|
||||
for pkey, pval in props:
|
||||
fh.write(str_bin_32(pkey))
|
||||
fh.write(str_bin_32(pval))
|
||||
|
||||
|
||||
# Binary map format 01.
|
||||
def write_map_bin_01 (fh, pmap):
|
||||
|
||||
offset0 = 0
|
||||
binint32len = len(int_bin_32(0))
|
||||
binint64len = len(int_bin_64(0))
|
||||
|
||||
# Magic bytes.
|
||||
mbytestr = "TSPMAP01".encode("ascii")
|
||||
offset0 += len(mbytestr)
|
||||
|
||||
# Compute length of binary representation of all entry keys
|
||||
# additionally equipped with offsets to corresponding property blobs.
|
||||
offset0 += binint32len
|
||||
offset0 += binint64len
|
||||
binekeyslen = 0
|
||||
for ekeys, d1 in pmap:
|
||||
binekeyslen += sum([len(str_bin_32(x)) + binint64len for x in ekeys])
|
||||
offset0 += binekeyslen
|
||||
|
||||
# Construct binary representations of all unique property keys.
|
||||
offset0 += binint32len
|
||||
offset0 += binint64len
|
||||
allpkeys = set()
|
||||
for d1, props in pmap:
|
||||
allpkeys.update([x[0] for x in props])
|
||||
binpkeys = catb(map(str_bin_32, sorted(allpkeys)))
|
||||
offset0 += len(binpkeys)
|
||||
|
||||
# Construct binary representations of properties for each entry.
|
||||
# Compute byte offsets for each of these binary blobs, in the given order.
|
||||
binprops = []
|
||||
plength = 0
|
||||
poffset = offset0 + binint32len
|
||||
for d1, props in pmap:
|
||||
cbinprops = catb(sum([list(map(str_bin_32, x)) for x in props], []))
|
||||
cbinprops = catb([int_bin_32(len(props)), int_bin_32(len(cbinprops)),
|
||||
cbinprops])
|
||||
offset = poffset + plength
|
||||
binprops.append([cbinprops, offset])
|
||||
poffset = offset
|
||||
plength = len(cbinprops)
|
||||
|
||||
# Construct binary representations of all entry keys with property offsets.
|
||||
allekeys = []
|
||||
binekeys = []
|
||||
for (ekeys, d1), (d2, offset) in zip(pmap, binprops):
|
||||
binoffset = int_bin_64(offset)
|
||||
cbinekeys = catb([str_bin_32(x) + binoffset for x in ekeys])
|
||||
binekeys.append(cbinekeys)
|
||||
allekeys.extend(ekeys)
|
||||
binekeys = catb(binekeys)
|
||||
assert(binekeyslen == len(binekeys))
|
||||
|
||||
# Write everything out.
|
||||
fh.write(mbytestr)
|
||||
fh.write(int_bin_32(len(allekeys)))
|
||||
fh.write(int_bin_64(len(binekeys)))
|
||||
fh.write(binekeys)
|
||||
fh.write(int_bin_32(len(allpkeys)))
|
||||
fh.write(int_bin_64(len(binpkeys)))
|
||||
fh.write(binpkeys)
|
||||
fh.write(int_bin_32(len(pmap)))
|
||||
for cbinprops, d1 in binprops:
|
||||
fh.write(cbinprops)
|
||||
|
||||
|
||||
def main ():
|
||||
|
||||
if len(sys.argv) != 3:
|
||||
error("usage: %s INPUT_FILE OUTPUT_FILE" % cmdname)
|
||||
|
||||
try:
|
||||
import psyco
|
||||
psyco.full()
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
ifile = sys.argv[1]
|
||||
ofile = sys.argv[2]
|
||||
|
||||
pmap = read_pmap(ifile)
|
||||
ofh = open(ofile, "wb")
|
||||
write_map_bin_01(ofh, pmap)
|
||||
ofh.close()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
|
@ -17,4 +17,3 @@ endif()
|
|||
set(CURRENT_LANG sr@ijekavian)
|
||||
|
||||
macro_optional_add_subdirectory( messages )
|
||||
macro_optional_add_subdirectory( scripts )
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
# Compile and install all pmap files.
|
||||
find_package(PythonInterp)
|
||||
if(PYTHONINTERP_FOUND)
|
||||
set(_cmpscript ${CMAKE_CURRENT_SOURCE_DIR}/ts-pmap-compile.py)
|
||||
file(GLOB_RECURSE _subtsfiles RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.pmap)
|
||||
foreach(_subtsfile ${_subtsfiles})
|
||||
get_filename_component(_subtspath ${_subtsfile} PATH)
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_subtspath})
|
||||
set(_tsfile ${CMAKE_CURRENT_SOURCE_DIR}/${_subtsfile})
|
||||
set(_tscfile ${CMAKE_CURRENT_BINARY_DIR}/${_subtsfile}c)
|
||||
add_custom_command(OUTPUT ${_tscfile}
|
||||
COMMAND ${PYTHON_EXECUTABLE} -B ${_cmpscript}
|
||||
${_tsfile} ${_tscfile}
|
||||
DEPENDS ${_tsfile})
|
||||
string(REPLACE "/" ";" _subpathlst ${_subtsfile})
|
||||
list(GET _subpathlst 1 _tsmodule)
|
||||
install(FILES ${_tscfile}
|
||||
DESTINATION ${KDE4_LOCALE_INSTALL_DIR}/${CURRENT_LANG}/LC_SCRIPTS/${_tsmodule})
|
||||
set(_tscfiles ${_tscfiles} ${_tscfile})
|
||||
string(REPLACE "/" "-" _target ${_subtsfile})
|
||||
add_custom_target("pmapc-sr_ijekavian_${_target}" ALL DEPENDS ${_tscfiles})
|
||||
endforeach()
|
||||
endif()
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue