ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. «Εφαρμογή μετάφρασης κειμένων με τη χρήση Translator API» Text translation application using Translator APΙ.

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. «Εφαρμογή μετάφρασης κειμένων με τη χρήση Translator API» Text translation application using Translator APΙ."

Transcript

1 Τ.Ε.Ι. ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «Εφαρμογή μετάφρασης κειμένων με τη χρήση Translator API» Text translation application using Translator APΙ Λυδατάκης Ευάγγελος Παντατοσάκης Ζαχαρίας Μάρτιος 2015 ΕΠΟΠΤΗΣ ΚΑΘΗΓΗΤΗΣ Μαρδύρης Βασίλειος Εκπονηθείσα πτυχιακή εργασία απαραίτητη για την κτήση του βασικού πτυχίου

2 Περιεχόμενα Πρόλογος... 4 Εισαγωγή στην μηχανική μετάφραση... 5 Ιδέες που αφορούν στη μηχανική μετάφραση... 6 Αναφορά στα προγράμματα μετάφρασης και στην ιστορία τους Το Logos Το Meteo MT Το Systran Το Metal MT Τα προβλήματα της μηχανικής μετάφρασης Ελεγχόμενες γλώσσες Αυτόματη μετάφραση (Machine Translation) στο διαδίκτυο Google Translate Οι υποστηριζόμενες του Google Translate γλώσσες κατά σειρά χρονολογίας είναι οι παρακάτω: Μεταφραστικά λάθη και παραδοξότητες Διαμάχες Μεταφραστική Κοινότητα Bing Translate Syntax Based SMT Phrase Based SMT Word Alignment Language Modeling Υποστηριζόμενες γλώσσες από το bing Γλώσσα προγραμματισμού C# (sharp) Η C# Γιατί χρησιμοποιήσαμε την C# Απλό παράδειγμα προγράμματος σε C# Χώροι ονομάτων (Name spaces) Ψευδώνυμα (Aliases) Σχόλια (comments) Δήλωση μεταβλητών, Ανάθεση Σύγκριση τιμών & Εμφάνιση αποτελεσμάτων στην οθόνη Τελεστές (Operators) Συμβολα συνηθισμενων τελεστών Μέθοδοι εισαγωγή Κλάσεις και αντικείμενα Οι κλάσεις και τα αντικείμενα στον κόσμο Κλάσεις και αντικείμενα του υπολογιστή Κλάσεις και αντικείμενα στην C# Structs Τύποι Enums Πίνακες (Array) Μονοδιάστατος πίνακας Δισδιάστατος πίνακας Array list collection Η εφαρμογή Ανάπτυξη εφαρμογής Global Hotkeys.cs Σελίδα 2 από 89

3 4.1.2 Keyboard.cs Languages.cs NotifyTray.xaml NotifyTray.cs Preferences.xaml Preferences.cs RegUserPreferences.cs Translate.cs TranslatorUI.xaml TranslatorUI.cs User Preferences.cs Εγχειρίδιο χρήσης της εφαρμογής Ξεκινώντας την εφαρμογή Το μενού της εφαρμογής Η λειτουργία της εφαρμογής Συμπεράσματα Προοπτικές εξέλιξης Βιβλιογραφία Ιστοσελίδες Σελίδα 3 από 89

4 Πρόλογος Η εργασία αυτή υλοποιείται στα πλαίσια Πτυχιακής Εργασίας του τμήματος Διαχείρισης Πληροφοριών της Σχολής Διοίκησης και Οικονομίας του Τ.Ε.Ι. Καβάλας και έχει ως θέμα την ανάπτυξη εφαρμογής μετάφρασης κειμένων με σε API, και υλοποιήθηκε με την γλώσσα προγραμματισμού C# Στα πλαίσια της επικοινωνίας η μετάφραση θεωρείται πολύ χρήσιμο εργαλείο και διαδραματίζει έναν ουσιαστικό ρόλο. Ιδιαίτερα τα τελευταία χρόνια εξαιτίας της παγκοσμιοποίησης και της διεθνοποίησης της αγοράς η ανάγκη για τη μετάφραση κειμένων μεγαλώνει καθημερινά. Ωστόσο η διαδικασία της μετάφρασης είναι χρονοβόρα και αυτό έρχεται σε αντίθεση με την ανάγκη για αύξηση του όγκου των μεταφράσεων. Είναι αυτή η ανάγκη που ώθησε τη μεταφραστική βιομηχανία να στραφεί σε εναλλακτικούς τρόπους μετάφρασης πέραν του παραδοσιακού και πιο συγκεκριμένα στη μηχανική ή αυτόματη μετάφραση, κυρίως σε είδη κειμένων όπως τα τεχνικά, με σκοπό την εξοικονόμηση χρόνου και χρημάτων καθώς και την εξασφάλιση μεγαλύτερου όγκου μεταφράσεων. Ωστόσο, τα μεταφραστικά αποτελέσματα που προέρχονται από τη χρήση συστημάτων μηχανικής μετάφρασης, παρουσιάζουν πληθώρα προβλημάτων σε επίπεδο συντακτικό - γραμματικό και λεξιλογικό. Η δημιουργία των ελεγχόμενων γλωσσών (controlled languages) και η χρήση των κανόνων που τις χαρακτηρίζουν, σε συνδυασμό πάντα με τη μηχανική μετάφραση επιφέρουν κατά ένα μεγάλο ποσοστό τη βελτίωση του μεταφραστικού αποτελέσματος. Σελίδα 4 από 89

5 Εισαγωγή στην μηχανική μετάφραση Η Μηχανική μετάφραση είναι το υπό-πεδίο της υπολογιστικής γλωσσολογίας που μελετά την χρήση λογισμικών ώστε να μεταφράσει αυτόματα κείμενα από μία φυσική γλώσσα σε μία άλλη. Κατά τις τελευταίες δεκαετίες γλωσσολόγοι, μεταφραστές και άλλοι επιστήμονες πραγματοποίησαν έρευνες σχετικές με τις δυνατότητες της μηχανικής μετάφρασης με τον όρο μηχανική μετάφραση. Εννοείτε η μετάφραση κειμένων από μια γλώσσα (πηγή) σε μια άλλη γλώσσα (στόχο) με τη βοήθεια ηλεκτρονικού υπολογιστή και προγραμμάτων επεξεργασίας κειμένων χωρίς την παρέμβαση ανθρώπινου παράγοντα, σαφώς, η εισαγωγή του κειμένου γίνεται με τη βοήθεια του ανθρώπου αλλά η διαδικασία της μετάφρασης γίνεται αποκλειστικά και μόνο από τον υπολογιστή. Αυτή η συστηματική μελέτη οδήγησε στη δημιουργία συστημάτων μηχανικής μετάφρασης. Στο βασικό της επίπεδο, η μηχανική μετάφραση πραγματοποιεί απλές αντικαταστάσεις λέξεων από μία φυσική γλώσσα σε μία άλλη, παρόλα αυτά, αυτή η τεχνική από μόνη της αδυνατεί να παραγάγει ποιοτική μετάφραση ενός κειμένου, καθώς συνήθως χρειάζεται η αναγνώριση ολόκληρων φράσεων και των κοντινών συμφραζόμενων τους στην στοχευόμενη γλώσσα. Η αναζήτηση της επίλυσης αυτού του ζητήματος με σώματα κειμένων και στατιστικές τεχνικές αποτελεί ένα ραγδαία αναπτυσσόμενο πεδίο, το οποίο οδηγεί σε καλύτερες μεταφράσεις, χειρισμό των διαφορών στην γλωσσική τυπολογία, μετάφραση ιδιωματικών φράσεων και αποκλεισμό των πιθανών ανωμαλιών. Τα σύγχρονα λογισμικά μηχανικής μετάφρασης συχνά επιτρέπουν επιπλέον παραμετροποίηση σύμφωνα με το θεματικό πεδίο ή το επάγγελμα (όπως στις καιρικές αναφορές), βελτιώνοντας έτσι το αποτέλεσμα με την ελαχιστοποίηση των επιτρεπόμενων αντικαταστάσεων. Αυτή η τεχνική είναι ιδιαίτερα αποτελεσματική σε θεματικά πεδία όπου χρησιμοποιείται επίσημη ή απαρχαιωμένη γλώσσα. Ως κατά συνέπεια, η μηχανική μετάφραση μπορεί να δημιουργήσει πιο εύκολα χρησιμοποιήσιμες μεταφράσεις κυβερνητικών ή νομικών κειμένων σε σύγκριση με διαλόγους ή λιγότερο τυποποιημένα κείμενα. Με την ανθρώπινη παρέμβαση είναι δυνατόν να δημιουργηθεί ακόμη πιο βελτιωμένη μετάφραση: για παράδειγμα, κάποια συστήματα είναι ικανά να μεταφράσουν ακριβέστερα, εφόσον κάποιος χρήστης αναγνωρίσει ποιες λέξεις σε ένα κείμενο είναι κύρια ονόματα, άροντας έτσι τις αμφισημίες. Με την βοήθεια αυτών των τεχνικών, η μηχανική μετάφραση έχει αποδειχθεί ένα χρήσιμο εργαλείο για μεταφραστές, και σε κάποιες, μικρές περιπτώσεις, μπορεί να δημιουργήσει μεταφράσεις οι οποίες στη συνέχεια μπορούν να χρησιμοποιηθούν αυτές καθαυτές χωρίς τροποποιήσεις ή ανθρώπινο έλεγχο (π.χ. καιρικές αναφορές). Η πρόοδος και οι δυνατότητες της μηχανικής μετάφρασης υπήρξαν μεγάλο θέμα συζήτησης ανά τα χρόνια. Από την δεκαετία του 1950, ένας μεγάλος αριθμός Σελίδα 5 από 89

6 ακαδημαϊκών έχει αμφισβητήσει την δυνατότητα να επιτευχθεί κάποια στιγμή εντελώς αυτόματη μηχανική μετάφραση υψηλής ποιότητας. Κάποιοι κριτικοί ισχυρίζονται, επίσης, πως υπάρχουν θεμελιώδη εμπόδια στην αυτοματοποίηση της διαδικασίας της μετάφρασης Ωστόσο, η προσπάθεια που κατέβαλαν οι επιστήμονες σε σχέση με τα αποτελέσματα που επιτευχθήκαν με τη χρήση της μηχανικής μετάφρασης δεν είναι ανάλογα. Είναι γεγονός ότι έχει σημειωθεί πρόοδος στον τομέα αυτό αλλά δεν πραγματοποιήθηκε σε τόσο γρήγορο ρυθμό όσο αναμενόταν. Τα αποτελέσματα της μηχανικής μετάφρασης είναι φτωχά σε ποιότητα και σε επίπεδο ακριβείας και σε επίπεδο κατανόησης ως ολοκληρωμένου κειμένου. Ιδέες που αφορούν στη μηχανική μετάφραση Είναι αλήθεια πως η χρήση της μηχανικής μετάφρασης είναι παρεξηγημένη ακόμα και από άτομα τα οποία ανήκουν στο χώρο της μεταφραστικής βιομηχανίας. Πολλοί και ειδικότερα οι χρήστες του διαδικτύου αγνοούν το τι ακριβώς είναι η μηχανική μετάφραση και ποιος είναι ο ρόλος της και αυτό επιφέρει ως αποτέλεσμα τη δημιουργία λανθασμένων αντιλήψεων γύρω από τον τομέα αυτό. Η μηχανική μετάφραση δε φτιάχτηκε για να μεταφράζει Σαίξπηρ όπως αναφέρει ο Arnold (1994). Την ίδια στιγμή, η μηχανική μετάφραση προκαλεί φόβο σε μια μερίδα μεταφραστών οι οποίοι θεωρούν πως ελλοχεύει ο κίνδυνος να χάσουν τη δουλειά τους. Αναφορά στα προγράμματα μετάφρασης και στην ιστορία τους Αυτό που είναι σημαντικό, είναι να γίνει κατανοητό ότι με τον όρο μηχανική μετάφραση δεν εννοείται το πάτημα ενός κουμπιού του υπολογιστή και η παραγωγή ενός άψογα μεταφρασμένου κειμένου. Σε καμία περίπτωση όμως δε θα μπορούσε κανείς να πει ότι από τα προβληματικά αποτελέσματα που έχουμε σήμερα προκύπτει το συμπέρασμα πως ο τομέας της μηχανικής μετάφρασης είναι άχρηστος. Πολλά συστήματα όπως το METEO που χρησιμοποιείται από το (1977) από το Canadian Meteorological Center, το Linguistics Research Systems (LRS) της Siemens, όπου μετέπειτα το (1980) μετονομάστηκε σε METAL MT (Mechanical Translation and Analysis of Languages), το SYSTRAN (1968) και το LOGOS (1970), αποδεικνύουν το αντίθετο (Arnold, 1994). Σελίδα 6 από 89

7 1.2.1 Το Logos Το Open Logos είναι ένα ανοιχτού κώδικα πρόγραμμα το οποίο έχει ως «πηγή» τις γλώσσες Αγγλικά και Γερμανικά και στοχεύει στην μετάφραση Γαλλικών, Ιταλικών, Ισπανικών και Πορτογαλικών. Μπορεί να δεχθεί διάφορες μορφές εγγράφων και διατηρεί τη μορφή του πρωτοτύπου εγγράφου στη μετάφραση. Το Open Logos δεν διεκδικεί να αντικαταστήσει τους ανθρώπους μεταφραστές. Αντίθετα στοχεύει να ενισχύσει το περιβάλλον εργασίας του ανθρώπου μεταφραστή. Το πρόγραμμα Open Logos βασίζεται στο Logo Machine Translation System, ένα από τα πρώτα προγράμματα εμπορικής μηχανικής μετάφρασης. Το αρχικό πρόγραμμα αναπτύχθηκε από την Logo Corporation στις Ηνωμένες Πολιτείες, με επιπλέον ομάδες ανάπτυξης στη Γερμανία και την Ιταλία. Ιδρύθηκε από τον Bernard (Bud) Scott το 1970 ο οποίος εργάστηκε για την Logos Machine Translation Systems μέχρι την διάλυση της εταιρείας το Το project ξεκίνησε ως ένας μηχανικός μεταφραστής με γλώσσα «πηγή» τα Αγγλικά και γλώσσα στόχο τα «Βιετναμέζικα», το οποίο άρχισε να λειτουργεί το 1972 (κατά την διάρκεια του Αμερικανικού πολέμου κατά του Βιετνάμ). Αργότερα αναπτύχθηκε ως μια λύση μετάφρασης πολλαπλών γλωσσών «στόχων» με την Αγγλική και τη Γερμανική γλώσσα ως «πηγή». Οι ιστορικοί ανταγωνιστές του Logos είναι το Systran (Language Translation Technologies), το SDL International (Δωρεάν μεταφραστής), το Intergraph και το Siemens Metal MT. Πρόσφατα, το Γερμανικό Κέντρο Ερευνών ασχολήθηκε με την Τεχνητή Νοημοσύνη και βασίστηκε στο Open Logos, σε μια Linux συμβατή έκδοση του αρχικού προγράμματος Logos που απελευθερώνεται κάτω υπό την άδεια χρήσης της GNU GPL Το Meteo MT Το Meteo System είναι μια μηχανή αυτόματης μετάφρασης η οποία έχει σχεδιαστεί ειδικά για τη μετάφραση των προβλέψεων καιρού όπου εκδίδονται καθημερινά από την Επιτροπή Περιβάλλοντος του Καναδά. Το σύστημα αυτό χρησιμοποιήθηκε από το 1981 έως τις 30 Σεπτεμβρίου του 2001 και η χρήση του ήταν να μεταφράζει τις προβλέψεις που εκδίδονται στα Γαλλικά στην επαρχία του Κεμπέκ, στα Αγγλικά και εκείνων που έχουν εκδοθεί στα Αγγλικά και σε άλλες επαρχίες του Καναδά στα Γαλλικά. Μετά το 2001 ένα πρόγραμμα ανταγωνιστής έχει αντικαταστήσει το Meteo μετά από μια κυβερνητική προσφορά. Το σύστημα αναπτύχθηκε από τον John Chandioux και αναφέρεται συχνά ως μια από τις λίγες επιτυχίες στον τομέα της αυτόματης μετάφρασης. Ξεκίνησε η Σελίδα 7 από 89

8 επιχειρησιακή του χρήση στο περιβάλλον του Καναδά από το 1982 έως το Προέρχεται από ένα πρωτότυπο που αναπτύχθηκε το 1975 με 1976 από τον Όμιλο Taum, γνωστό ως Taum-Meteo. Το αρχικό κίνητρο για να αναπτύξουν αυτό το πρωτότυπο ήταν ότι ένας «τζούνιορ» μεταφραστής ζητήθηκε για να βοηθήσει στην μετάφραση δελτίων καιρού στον Καναδά. Δεδομένο ότι όλες οι επίσημες ανακοινώσεις που προέρχονται από την Καναδική κυβέρνηση θα πρέπει να είναι διαθέσιμη στα Γαλλικά και στα Αγγλικά, διότι από τις επίσημες γλώσσες πράξη του 1969, και τα δελτία καιρού αντιπροσωπεύουν ένα μεγάλο ποσό της μετάφρασης σε πραγματικό χρόνο. Οι «τζούνιορ» μεταφραστές θα έπρεπε να περάσουν αρκετούς μήνες παραγωγή του πρώτου σχεδίου μεταφράσεων οι οποίες στη συνέχεια αναθεωρήθηκε από τους προγενέστερους. Αυτή ήταν μια δύσκολη και κουραστική δουλειά, λόγω των ιδιαιτεροτήτων της Αγγλικής και γαλλικής υπό-γλώσσας που χρησιμοποιείται και δεν είναι ικανοποιητική, καθώς ο χρόνος που διαρκεί ένα ενημερωτικό δελτίο είναι μόνο 4 ώρες. Ο όμιλος Taum πρότεινε να οικοδομήσουμε ένα πρωτότυπο σύστημα μηχανικής μετάφρασης, και το Κέντρο Περιβάλλοντος του Καναδά συμφώνησε να χρηματοδοτήσει το έργο. Το πρωτότυπο ήταν έτοιμο μετά από μερικούς μήνες, με μια βασική ενσωμάτωση στη ροή εργασίας της μετάφρασης (Source and target) το οποίο ταξίδεψε πάνω σε γραμμές τέλεξ και η μετάφραση γινόταν σε ένα κεντρικό υπολογιστικό σύστημα. Η πρώτη έκδοση του συστήματος (METEO 1) τέθηκε σε λειτουργία σε ένα Data Control CDC 7600 υπέρ υπολογιστή τον Μάρτιο του Ο John Chandioux στη συνέχεια αποχώρησε από τον όμιλο Taum για την διαχείριση της λειτουργίας του και την βελτίωση του, ενώ ο όμιλος Taum ξεκίνησε ένα διαφορετικό Project, το Taum Aviation, O Benoit Thouin επέφερε Βελτιώσεις στο αρχικό πρωτότυπο κατά το επόμενο έτος, και το μετέτρεψε σε ένα λειτουργικό σύστημα. Μετά από τρία χρόνια το ΜΕΤΕΟ 1 είχε καταδείξει τη σκοπιμότητα του μικροϋπολογιστή με βάση την αυτόματη μετάφραση για την ικανοποίηση της Καναδικής κυβέρνησης στο Προεδρείο μετάφρασης Δημοσίων Έργων και Κυβερνητικών Υπηρεσιών του Καναδά. Το ΜΕΤΕΟ 1 υιοθετήθηκε επισήμως το 1981, αντικαθιστώντας τους κατώτερους μεταφραστές στη ροή εργασίας. Λόγω της ανάγκης για την υψηλή ποιότητα της μετάφρασης, το στάδιο της αναθεώρησης, η οποία έγινε από ανωτέρους μεταφραστές διατηρήθηκε. Η ποιότητα μετρούμενη ως ποσοστό των εργασιών και επεξεργασία (εισαγωγή ή αντικατάσταση λέξης μετρά ως 1, αντικαθιστώντας το 2) σχετικά με τα αποτελέσματα μηχανικής μετάφρασης, έφθασε το 85% το Μέχρι εκείνη τη στιγμή, το τμήμα μηχανικής μετάφρασης ακόμη υλοποιείται ως αλληλουχία των Q-systems. Ο φορμαλισμός των Q-systems είναι ένας κανόνας που βασίζεται σε SLLP (εξειδικευμένη γλώσσα για Linguistic προγραμματισμό) που εφευρέθηκε από τον Alain Colmerauer, 1967, καθώς ήταν ένας μεταδιδακτορικός ερευνητής στον όμιλο Taum. Αργότερα επινόησε τη γλώσσα Prolog το 1972 μετά την επιστροφή του στη Γαλλία όπου έγινε και καθηγητής στο πανεπιστήμιο της Μασσαλίας. Καθώς το εσωτερικό των Q- συστημάτων είναι εξαιρετικά μη-ντετερμινιστικό, και οι μεταχειρισμένες δομές Σελίδα 8 από 89

9 δεδομένων είναι κατά κάποιο τρόπο πολύ απλές, χωρίς τύπους, όπως νήματα ή αριθμούς, ο John Chandioux που αντιμετώπιζε περιορισμούς στις προσπάθειές του να αυξήσει την ποιότητα της μετάφρασης και να ρίξει την υπολογιστική ώρα που χρειαζόταν στο σημείο που θα μπορούσε κάτι τέτοιο να τρέξει σε μικροϋπολογιστές. Το 1981, ο John Chandioux δημιούργησε ένα νέο SLLP, ή μεταγλωσσικό για γλωσσικές εφαρμογές, που βασίζονται στις ίδιες βασικές αλγοριθμικές ιδέες όπως τα Q-systems, αλλά πιο ντετερμινιστικό, και πρόσφερε δακτυλογραφημένες ετικέτες σε tree nodes. Μετά από τις συμβουλές του Bernard Vauquois και Colmerauer, δημιούργησε το GramR, και το ανέπτυξε έτσι ώστε να τρέχει και για μικροϋπολογιστές. Το 1982, θα μπορούσε να αρχίσει να αναπτύσσει στο GramR ένα νέο σύστημα για τη μετάφραση των δελτίων καιρού σε ένα high-end Cromemco μικροϋπολογιστή. Το METEO 2 τέθηκε σε λειτουργία το Το λογισμικό στη συνέχεια έτρεξε στα 48Kb της κεντρικής μνήμης, με ένα σκληρό δίσκο στα 5Mb για την αναζήτηση. Το METEO 2 ήταν η πρώτη εφαρμογή μηχανικής μετάφρασης που μπορούσε να τρέξει σε μικροϋπολογιστή. Το 1985, στο σύστημα δεν είχε μείνει τίποτα από το αρχικό πρωτότυπο, και μετονομάστηκε επίσημα σε METEO. Μετάφραζε περίπου 20 εκατομμύρια λέξεις ανά έτος από τα Αγγλικά στα Γαλλικά, και 10 εκατομμύρια λέξεις από τα Γαλλικά στα Αγγλικά, με μια ποιότητα του 97%. Συνήθως, χρειαζόταν 4 λεπτά για να μεταφράσει ένα δελτίο στα Αγγλικά όπου επρόκειτο να αποσταλεί από το Winnipeg και να επανέλθει στα Γαλλικά, μετά τη μηχανική μετάφραση και την ανθρώπινη αναθεώρηση. Το 1996, ο John Chandioux ανέπτυξε μια ειδική έκδοση του συστήματος του (METEO 96), το οποίο χρησιμοποιείται για να μεταφράσει τις μετεωρολογικές προβλέψεις (διαφορετικά είδη δελτίων) που εκδίδονται από την αμερικανική Εθνική Μετεωρολογική Υπηρεσία κατά τη διάρκεια 1996 των θερινών Ολυμπιακών Αγώνων στην Ατλάντα. Η τελευταία γνωστή έκδοση του συστήματος, ΜΕΤΕΟ 5, χρονολογείται από το 1997 και έτρεξε σε ένα δίκτυο υπολογιστών της IBM στα Windows NT. Το ΜΕΤΕΟ 5 μετάφραζε 10 σελίδες ανά δευτερόλεπτο, αλλά ήταν σε θέση να χωρέσει σε μια δισκέτα των 1,44 Mb Το Systran To Systran, ιδρύθηκε από τον Dr. Peter Toma το Είναι μια από τις παλαιότερες εταιρείες μηχανικής μετάφρασης. Η Systran ως εταιρεία έχει κάνει εκτενές έρευνες για το Υπουργείο Άμυνας των Ηνωμένων Πολιτειών Αμερικής αλλά και της Ευρωπαϊκής Επιτροπής. Η Systran παρέχει την τεχνολογία για την Yahoo Babel Fish, μεταξύ άλλων. Υπήρξε επίσης και συνεργασία του Google Translator με το Systran, όπου η Google χρησιμοποίησε το Systran ως γλωσσικό εργαλείο μέχρι το Ακόμη, το Systran χρησιμοποιήθηκε και ως εφαρμογή ταμπλό μεταφραστή (Dashboard Translate ion Widget) σε OS X. Σελίδα 9 από 89

10 Οι εμπορικές εκδόσεις του Systran μπορούν να τρέξουν σε Microsoft Windows, Windows Mobile αλλά επίσης και σε άλλα λειτουργικά συστήματα όπως είναι το Linux και το Solaris. Ιστορικά, τα συστήματα Systran χρησιμοποίησαν τεχνολογία αυτόματης μετάφρασης βάσει κανόνων RbMT. Με την κυκλοφορία του Systran Server 7 το 2010 το Systran υλοποιεί ένα υβριδικό βασισμένο σε κανόνες και στατιστική μηχανή τεχνολογίας (SMT), το οποίο ήταν το πρώτο του είδους του στην αγορά. Από το 2008, η εταιρεία είχε 59 εργαζόμενους εκ των οποίων οι 26 είναι ειδικοί σε υπολογιστές και 15 είναι ειδικοί στην υπολογιστική γλωσσολογία. Ο αριθμός των εργαζομένων μειώθηκε από 70 το 2006 σε 65 το Εικόνα 1.1 Εικονογραφημένη λειτουργία του Systran Με την προέλευση του στο Georgetown, η μηχανή αυτόματης μετάφρασης Systran ήταν ένα από τα λίγα συστήματα αυτόματης μετάφρασης που μπόρεσε να επιβιώσει από την σημαντική μείωση της χρηματοδότησης μετά την έκθεση ALPAC από τα μέσα της δεκαετίας του Η εταιρεία ιδρύθηκε στο La Jolla στην Καλιφόρνια των Η.Π.Α για να εργαστούν σε μετάφραση από Ρωσικά σε Αγγλικά κείμενα για την πολεμική αεροπορία των Η.Π.Α. κατά την διάρκεια του ψυχρού πολέμου. Μεγάλος αριθμός των ρωσικών επιστημονικών και τεχνικών εγγράφων μεταφράστηκαν χρησιμοποιώντας το Systran υπό την αιγίδα της USAF εξωτερική Σελίδα 10 από 89

11 διεύθυνση τεχνολογιών, (αργότερα μετονομάστηκε σε Διαστημικό Εθνικό Κέντρο Πληροφοριών). Αν και η ποιότητα των μεταφράσεων ήταν κατά προσέγγιση, ήταν συνήθως επαρκής για την κατανόηση του περιεχομένου εταιρεία πωλήθηκε το 1986 στην οικογένεια Gachot, με έδρα το Παρίσι και τώρα είναι εισαγμένη και στο γαλλικό χρηματιστήριο. Η εταιρεία έχει ως έδρα το Παρίσι, ενώ η έδρα της στις Η.Π.Α. είναι ακόμη στην La Jolla της Καλιφόρνιας. Κατά την διάρκεια της έξαρσης του.com, η διεθνής βιομηχανία γλώσσας ξεκίνησε μια νέα εποχή, και η Systran συνάδει συμφωνίες με μια σειρά ολοκληρωμένων μεταφραστών. Το πιο επιτυχημένο από αυτά είναι το World Lingo. Το 2014, η εταιρεία εξαγοράστηκε από την CSLi (Κορέα). Τα περισσότερα από τα έσοδα της Systran προέρχονται από λίγους πελάτες. Το 57,1% των εσόδων, προέρχεται από τους 10 κυριότερους πελάτες και οι τρεις μεγαλύτεροι πελάτες είναι μοιρασμένοι σε ποσοστά που αντιπροσωπεύουν το 10,9%, 8,9% και 8,9% αντίστοιχα. Τα έσοδα είχαν μείωση στις αρχές της δεκαετίας του 2000 σε 10,2 εκατομμύρια ευρώ το 2004, 10,1 εκατομμύρια ευρώ το 2005, 9,3 εκατομμύρια ευρώ το 2006, 8,8 εκατομμύρια ευρώ το 2007 και 7,6 εκατομμύρια ευρώ το 2008, πριν δει την ανάκαμψη το 2009 με 8,6 εκατομμύρια ευρώ Το Metal MT Το Metal MT είναι μια μηχανή μετάφρασης, σύστημα της Siemens-Nixdorf, η οποία αναπτύχθηκε στο πανεπιστήμιο του Τέξας. Ο αρχικός τίτλος του ήταν Linguistics Research Systems (LRS) και τώρα είναι γνωστό ως Metal MT (Mechanical Translation and Analysis of Languages). Το Metal MT ξεκίνησε ως μια μηχανή αυτόματης μετάφρασης με την βοήθεια ανθρώπου (User), για Γερμανική και Αγγλική γλώσσα το οποίο χρηματοδοτήθηκε από την USAF. Κατά την περίοδο μεταξύ 1985 και 1992, μια μικτή ομάδα όπου αποτελείτο από πανεπιστημιακούς ερευνητές εργάστηκε σε 3 ζεύγη γλωσσών του συστήματος Metal τα οποία αποτελούντο από Ολλανδικά-Γαλλικά, Γαλλικά-Ολλανδικά και Γαλλικά-Αγγλικά. Οι ερευνητές της Leuven έχουν αναπτύξει εκτεταμένο υπολογισμό σε γραμματικές και λεξικά για τις γλώσσες που αναφέρονται. Έχουν επίσης, επεκτείνει τη λειτουργικότητα του λογισμικό του πυρήνα το Metal MT προσθέτοντας μια μονάδα ανεξάρτητη από γλώσσα για την ανάθεση ρόλου στο σύστημα, καθώς και μια ενότητα για τη σημείωση προτιμώμενες δομές δέντρο. Είναι αυτονόητο ότι όσοι δουλεύουν στο Project Metal MT έχουν μια πολύ καλή ευκαιρία να αποκτήσουν μια πολύ καλή πρακτική τεχνογνωσία στην κατασκευή συνθέτων προϊόντων. Την στιγμή αυτή το project βρίσκεται ακόμη στο στάδιο της επεξεργασίας στο Βέλγιο (στη Siemens-Nixdorf, Software Center στη Λιέγη, εν μέρει σε συνεργασία με τα πανεπιστήμια) και σε πολλές άλλες χώρες (Γερμανία, Ισπανία, Τέξας των Η.Π.Α και Δανία). Τα προϊόντα που προκύπτουν από τις εξελίξεις στην αγορά από την Siemens-Nixdorf (το βελγικό υποκατάστημα για ολλανδό-γαλλική και ολλανδική) και Sietec (το γερμανικό υποκατάστημα για Γαλλικά-Αγγλικά). Άλλα ζεύγη γλωσσών που διατίθενται σήμερα περιλαμβάνουν Σελίδα 11 από 89

12 Γερμανικά-Αγγλικά, Γερμανικά-Ισπανικά και Αγγλικά-Γερμανικά. Γερμανικά- Γαλλικά, Ρωσικά, Γερμανικά, Αγγλικά, Ισπανικά, και Γερμανίας και Δανίας, βρίσκονται σε προχωρημένο στάδιο ανάπτυξης. Ένα αντίγραφο του πολύγλωσσου λογισμικού κειμένου ζητήθηκε από τη Γερμανική κυβέρνηση για την Siemens της Γερμανίας και του έδωσαν το προσωνύμιο Siemens Weidner Engine και οι αρχικές γλώσσες που παρείχε ήταν Αγγλικά και Γερμανικά. Αυτή η επαναστατική πολύγλωσση μηχανή επεξεργασίας και μετάφρασης κειμένου έγινε το θεμέλιο για την ανάπτυξη του Project Metal MT σύμφωνα με τον John White της Siemens Corporation. Έπειτα από την ανάπτυξη της Metal MT από την Siemens τα δικαιώματα της εφαρμογής πωλήθηκαν στη Βέλγικη εταιρία Lernout & Hauspie. Το αντίγραφο της Siemens του Weidner Multilingual Word Processing έκτοτε αποκτήθηκε μέσω της αγοράς των στοιχείων ενεργητικού της Lernout & Hauspie από την Bowne Global Solutions Inc, η οποία εξαγοράστηκε αργότερα από την Lionbridge Technologies Inc, και αποδεικνύεται στο λογισμικό itranslator. Τα προβλήματα της μηχανικής μετάφρασης Εικόνα 1.2 Παράδοξη μετάφραση στα ρωσικά Τα προβλήματα τα οποία παρατηρούνται στα κείμενα που παράγονται από τις μεταφραστικές μηχανές είναι ποικίλα και κλιμακώνονται σε διάφορα επίπεδα. Η γραμματική αποτελεί ένα πολύ σημαντικό προβληματικό κομμάτι και πιο συγκεκριμένα όταν μιλάμε για γραμματική, παρατηρούνται προβλήματα ως προς τη μετάφραση της αναφοράς, της παθητικής φωνής, των μετοχών, της προστακτικής και του οριστικού και αορίστου άρθρου. Προβλήματα επίσης παρουσιάζονται στη σύνταξη, το λεξιλόγιο και ειδικότερα τις συντομογραφίες, τα αρκτικόλεξα, τα ομόγραφα και κυρίως τη μετάφραση της ορολογίας καθώς επίσης και στη στίξη. Αυτά θα μπορούσαμε με ασφάλεια να πούμε ότι αποδίδονται στην έλλειψη της ανθρώπινης γνώσης του υπολογιστή. Με άλλα λόγια ο υπολογιστής δε μπορεί να κατανοήσει έννοιες και εκφράσεις που για τον άνθρωπο είναι αυτονόητες (π.χ. Ο Γιώργος είναι έγκυος και περιμένει κορίτσι). Σελίδα 12 από 89

13 1.3.1 Ελεγχόμενες γλώσσες Δεδομένου ότι η μηχανική μετάφραση παρουσιάζει αρκετά προβλήματα, θεωρήθηκε ότι είναι προτιμότερο από το να αναμένουμε μια νέα αρχιτεκτονική μηχανικής μετάφρασης να ελέγξουμε τη γλώσσα του κειμένου το οποίο εισάγεται στο σύστημα. Σύμφωνα με τον ορισμό του Kittredge «Η ελεγχόμενη γλώσσα (Controlled Language) αποτελεί μια περιορισμένη εκδοχή μιας φυσικής γλώσσας η οποία έχει υποστεί επεξεργασία με σκοπό την εκπλήρωση ενός συγκεκριμένου στόχου». (Kittredge 2003: ). Οι Μαρκαντωνάτου & Μαΐστρος (2001) ορίζουν την ελεγχόμενη γλώσσα ως ένα υποσύνολο υποδιαίρεση μιας φυσικής γλώσσας που προσδιορίζει έναν αριθμό περιορισμών στη μορφολογία, το λεξιλόγιο, τη σύνταξη και το ύφος του κειμένου. Με άλλα λόγια, ελεγχόμενη γλώσσα θα χαρακτηρίζαμε τη γλώσσα που χρησιμοποιείται για τη συγγραφή ή διόρθωση ενός κειμένου που προορίζεται για μετάφραση, κατά τη συγγραφή ή διόρθωση του οποίου αποφεύγονται συγκεκριμένες συντακτικό - γραμματικές δομές και λέξεις που προκαλούν σύγχυση στον υπολογιστή. Θα πρέπει σε αυτό το σημείο να τονίσουμε πως οι ελεγχόμενες γλώσσες χρησιμοποιούνται ως επί το πλείστων σε τεχνικά κείμενα κυρίως από εταιρίες όπως μεγάλες αυτοκινητοβιομηχανίες και εταιρίες κατασκευής αεροπλάνων. Είναι σαφές ότι τα κείμενα πρέπει να δημιουργούνται από συγγράφεις τεχνικών κειμένων η από μεταφραστές με ειδίκευση και εμπειρία στις ελεγχόμενες γλώσσες κάτι το οποίο αναπτύσσεται ιδιαίτερα από τον Torrejon & Rico (2002: ). Επίσης, σύμφωνα με τον Allen (1999) υπάρχει διαφορά μεταξύ των κειμένων που «προορίζονται για μετάφραση», δηλαδή των κειμένων που έχει αποφασισθεί πριν από τη συγγραφή τους ότι θα μεταφραστούν, και των κειμένων που «επιλέχθηκαν για τη μετάφραση» μετά την ολοκλήρωση της συγγραφής τους. Ο Allen (1999) επιχειρηματολογεί λέγοντας ότι για ένα κείμενο ή εγχειρίδιο που εξαρχής παράγεται με σκοπό τη μετάφραση του, είναι ευκολότερο να διαχειριστεί κάποιος το προσωπικό, δηλαδή τη συγγραφική ομάδα που αποτελείτε από τεχνικούς συγγραφείς και μεταφραστές, έτσι ώστε να εφαρμοστούν οι αρχές που διέπουν τα τεχνικά κείμενα και στη συνέχεια να συντελέσουν στη μεταφρασιμότητα (translatability) των κειμένων. Σε αυτό το σημείο αξίζει να σημειωθεί πως η ύπαρξη των ελεγχόμενων γλωσσών χρονολογείται από το 1920 και ποικίλες ελεγχόμενες γλώσσες έχουν δημιουργηθεί και σχεδιαστεί. Σελίδα 13 από 89

14 Αυτόματη μετάφραση (Machine Translation) στο διαδίκτυο Σήμερα υπάρχουν αρκετοί κόμβοι που παρέχουν δωρεάν αυτόματη μετάφραση από το διαδίκτυο, αν όχι σε όλες, σχεδόν σε όλες τις γλώσσες του κόσμου με ποικίλη αξιοπιστία. Ένα είναι το σίγουρο, ότι δεν απειλείται η δουλειά κανενός ανθρώπου - μεταφραστή από τους κόμβους αυτούς. Οι πιο γνωστοί κόμβοι αυτόματης μετάφρασης είναι αυτός του Google, του Bing, του Altavista, του Freetranslation.com αλλά και ο κόμβος του Systran. Δοκιμάζοντας μερικά από τα παραπάνω υπάρχει στην αρχή ένας ενθουσιασμός άλλα έπειτα ο ενθουσιασμός μετριάζεται όταν μετά από μερικά τεστ καταλαβαίνεις ότι οι δυνατότητές κάποιων από τους παραπάνω μεταφραστές είναι αρκετά περιορισμένες. Για παράδειγμα, την αγγλική φράση «You have to go now, it is closing time» μεταφράζεται από το online μεταφραστή ως «Έχεις σε πηγαίνω τώρα, είναι κλείσιμο ώρα». Δοκιμάζοντας από τα Ελληνικά προς τα Αγγλικά τα πράγματα ήταν ακόμα χειρότερα καθώς δεν κατάφερνε καν ν αναγνωρίσει απλές ελληνικές λέξεις. Πρόσφατα, είδαμε και κάποιες εφαρμογές της Systran να βγαίνουν όχι μόνο στο διαδίκτυο αλλά να κυκλοφορούν και ως εμπορικές εφαρμογές αυτόματης μετάφρασης οι οποίες περιλαμβάνουν και μετάφραση από Γερμανικά προς Γαλλικά, Αγγλικά, Ελληνικά. Πράγματι, η Systran είναι η μόνη που έχει δουλέψει τόσο πολύ τα ελληνικά. Google Translate Εικόνα 2.1 Λογότυπο του google translate Το Google Translate είναι μια πολύγλωσση υπηρεσία που παρέχεται από την Google Inc, με σκοπό την μετάφραση γραπτού κειμένου από μια γλώσσα σε μια άλλη, υποστηρίζοντας τον αξιόλογο αριθμό των 90 γλωσσών. Πριν από τον Οκτώβριο του 2007, το translate της Google για γλώσσες εκτός από τα αραβικά, κινέζικα και ρωσικά, βασίστηκε στο Systran, μια μηχανή λογισμικό που εξακολουθεί να χρησιμοποιείται από πολλές άλλες OnLine υπηρεσίες μετάφρασης, όπως το Yahoo! Babel Fish, AOL και Yahoo. Από τον Οκτώβριο του 2007, το Google Translate χρησιμοποιεί ιδιόκτητη, in-house τεχνολογία που Σελίδα 14 από 89

15 βασίζεται σε στατιστική μηχανική μετάφρασης αντ 'αυτού. Στις 26 Μαΐου 2011, η Google ανακοίνωσε ότι το Google Translate API για τους προγραμματιστές λογισμικού είχε καταργηθεί και θα πάψει να λειτουργεί την 1η Δεκεμβρίου 2011, «λόγω της σημαντικής οικονομικής επιβάρυνσης που προκαλείται από την εκτεταμένη κατάχρηση». Επειδή το API χρησιμοποιείται σε πολλές ιστοσελίδες τρίτων, η απόφαση αυτή οδήγησε κάποιους προγραμματιστές να επικρίνουν την Google και να αμφισβητήσουν τη βιωσιμότητα της χρήσης API της Google στα προϊόντα τους. Σε απάντηση στην πίεση της κοινής γνώμης, η Google ανακοίνωσε στις 3 Ιουνίου 2011, η API θα εξακολουθήσει να είναι διαθέσιμη ως μια υπηρεσία επί πληρωμή. Η εταιρεία δήλωσε το 2013 ότι εξυπηρετούσε 200 εκατομμύρια ανθρώπους καθημερινά. Κάποια από τα χαρακτηριστικά που προσφέρει το Google Translate είναι ένα διαδικτυακό interface για android αλλά και για ios. Επίσης οι προγραμματιστές μπορούν να επεκτείνουν το πρόγραμμα μέσο της διαχείρισης ενός API. Για ορισμένες γλώσσες, το Google Translate μπορεί να προφέρει μεταφρασμένο κείμενο, όπου επισημαίνει αντίστοιχες λέξεις και φράσεις στην πηγή αλλά και στο κείμενου του στόχου, και να ενεργούν ως ένα απλό λεξικό για είσοδο μονολεκτικά. Αν το "Εντοπισμός γλώσσας" είναι επιλεγμένο, το κείμενο σε μια άγνωστη γλώσσα μπορεί να προσδιοριστεί. Στο περιβάλλον του διαδικτύου, οι χρήστες μπορούν να προτείνουν εναλλακτικές μεταφράσεις, για τεχνικούς όρους, ή να διορθώσουν τα λάθη. Αυτές οι προτάσεις που περιλαμβάνονται σε μελλοντικές ενημερώσεις με τη μεταφραστική διαδικασία. Εάν ένας χρήστης πληκτρολογεί ένα URL στο κείμενοπηγή, το Google Translate θα παράγει μια υπερ-σύνδεση σε μια αυτόματη μετάφραση της ιστοσελίδας. Για ορισμένες γλώσσες, το κείμενο μπορεί να εισαχθεί μέσω του πληκτρολογίου οθόνης, αναγνώριση χειρόγραφου, ή την αναγνώριση ομιλίας. Είναι δυνατόν να εισάγετε τις αναζητήσεις σε μια γλώσσα-πηγή που μεταφράστηκε για πρώτη φορά σε μια γλώσσα που επιτρέπει σε ένα προορισμό για να περιηγηθείτε και να ερμηνεύουν τα αποτελέσματα από την επιλεγμένη γλώσσα προορισμού στη γλώσσα πηγή. Το 2015 η εφαρμογή απέκτησε τη δυνατότητα να μεταφράσει το κείμενο σε πραγματικό χρόνο χρησιμοποιώντας την κάμερα της συσκευής, ως αποτέλεσμα της απόκτησης του Google για το application του Word Lens. Το Google Translate είναι διαθέσιμο σε ορισμένα προγράμματα περιήγησης ως προέκταση που μπορεί να μεταφράσει. Ένα πλήθος επεκτάσεων του Firefox υπάρχουν για τις υπηρεσίες της Google, και το ίδιο και για το Google Translate, τα οποία επιτρέπουν εύκολη πρόσβαση για στη μεταφραστική υπηρεσία. Υπάρχει επίσης και επέκταση για τον Chrome browser της Google. Τον Φεβρουάριο του 2010, το Google Translate ενσωματώθηκε στο πρότυπο πρόγραμμα περιήγησης Google Chrome για την αυτόματη μετάφραση ιστοσελίδων. Το Google Translate είναι διαθέσιμο ως δωρεάν εφαρμογή με δυνατότητα λήψης για τους χρήστες του Android OS. Η πρώτη έκδοση ξεκίνησε τον Ιανουάριο του Λειτουργεί απλά σαν την έκδοση του browser. Η μετάφραση της Google για το Android περιλαμβάνει δύο βασικές επιλογές: "μετάφραση SMS" και "Ιστορικό". Ένα από τα πρώτα application το 2011 όπου η έκδοση υποστηρίζει Σελίδα 15 από 89

16 κατάσταση συνομιλίας κατά τη μετάφραση μεταξύ αγγλικών και ισπανικών (σε Alpha test έκδοση). Αυτή η διασύνδεση στο Google Translate επιτρέπει στους χρήστες να επικοινωνούν ρευστά με ένα κοντινό πρόσωπο σε μια άλλη γλώσσα. Τον Οκτώβριο του 2011 επεκτάθηκε σε 14 γλώσσες. Η εφαρμογή υποστηρίζει 80 γλώσσες και είσοδο φωνής για 15 γλώσσες. Είναι διαθέσιμη για συσκευές που τρέχουν Android 2.1. Ήταν η πρώτη εφαρμογή που κυκλοφόρησε τον Ιανουάριο του 2010, με μια βελτιωμένη έκδοση που ήταν διαθέσιμη στις 12 Ιανουαρίου, Η λειτουργία Camera input επιτρέπει στους χρήστες να πάρουν μια φωτογραφία από ένα έγγραφο, πινακίδα, κ.λ.π. και η εφαρμογή αναγνωρίζει το κείμενο από την εικόνα χρησιμοποιώντας Optical Character Recognition τεχνολογία (OCR) και δίνει τη μετάφραση. Η είσοδος κάμερας δεν είναι διαθέσιμη για όλες τις γλώσσες. Τον Αύγουστο του 2008, η Google ξεκίνησε μια διαδικτυακή εφαρμογή Google Translate HTML5 για το ios, για το iphone και ipod Touch. Το επίσημο application ios για το Google Translate κυκλοφόρησε στις 8 Φεβρουαρίου 2011 και δέχεται είσοδο φωνής για 15 γλώσσες και επιτρέπει τη μετάφραση μιας λέξης ή φράσης σε μία από περισσότερες από 50 γλώσσες. Όπως επίσης να μιλήσει σε 23 διαφορετικές γλώσσες. To Google Translate, όπως και τα άλλα εργαλεία αυτόματης μετάφρασης, έχει τα όριά του. Η υπηρεσία περιορίζει τον αριθμό των παραγράφων και το εύρος των τεχνικών όρων που μπορεί να μεταφραστεί και ενώ μπορεί να βοηθήσει τον αναγνώστη να κατανοήσει το γενικό περιεχόμενο ενός κειμένου ξένης γλώσσας, δεν παραδίδει πάντα ακριβείς μεταφράσεις. Ένα συγκεκριμένο γραμματικό σφάλμα, στις λατινογενείς γλώσσες, είναι η αδυναμία να γίνει διάκριση μεταξύ των ατελών αλλά και τους χρόνους. Έτσι, η συνήθης και συνεχής πράξεις του παρελθόντος συχνά γίνονται μόνο ιστορικά γεγονότα. Αυτή προφανώς η σχολαστική κριτική στην πραγματικότητα οδηγεί σε αδέξια, περίεργα και εντελώς λανθασμένα αποτελέσματα (σε φυσικό ομιλητή για παράδειγμα, Γαλλικά και Ισπανικά). Η γνώση της υποτακτικής είναι σχεδόν ανύπαρκτη. Επιπλέον, η "αγένεια" σε δεύτερο πρόσωπο συχνά επιλέγεται (ανεξάρτητα από το πλαίσιο και τα συναλλακτικά ήθη). Ο λόγος για αυτό μπορεί να είναι ότι αυτές οι αποχρώσεις απαιτούν κάποια ανθρώπινη σκέψη και συναίσθημα, κάτι που δεν μπορεί να επιτευχθεί σε καμία αυτόματη μηχανή μετάφρασης ή εργαλείο. Η εναλλακτική άποψη είναι ότι υπάρχουν απλοί γραμματικοί κανόνες που θα μπορούσαν εύκολα να ενσωματωθούν στο λογισμικό για να βελτιωθούν τα πράγματα. Ο λόγος για τη φαινομενική «έλλειψη της ανθρώπινης ευαισθησίας» είναι η μεθοδολογία που επινοήθηκε και υπερασπίστηκε από τον Franz Josef Och ο οποίος ήταν ένας επιστήμονας υπολογιστών αντί ένας γλωσσολόγος. Μερικές γλώσσες παράγουν καλύτερα αποτελέσματα από ό, τι άλλες. Το Google Translate λειτουργεί καλά, ιδίως όταν τα Αμερικάνικα Αγγλικά είναι η γλώσσα στόχος και η γλώσσα-πηγή είναι μία από τις γλώσσες της Ευρωπαϊκής Ένωσης. Η ανάλυση έδειξε ότι το 2010 η γαλλική προς την αγγλική μετάφραση, είναι σχετικά ακριβής και το 2011 με 2012 οι αναλύσεις έδειξαν ότι η Ιταλική μετάφραση στα Αγγλικά είναι σχετικά ακριβής. Ωστόσο, εάν το κείμενο πηγή είναι μικρότερο, σε κανόνες οι αυτόματες μεταφράσεις αποδίδουν καλύτερα. Αυτή η Σελίδα 16 από 89

17 επίδραση είναι ιδιαίτερα εμφανής από Κινεζικά σε Αγγλικά κείμενα. Κείμενα γραμμένα στην Ελληνική, Ντεβαναγκάρι, Κυριλλικά και Αραβικά μπορούν να μεταγράφονται αυτόματα από φωνητική διαδικασία ισοδύναμα γραμμένα στο λατινικό αλφάβητο. Η έκδοση του προγράμματος περιήγησης του μεταφραστή Google παρέχει το read phonetically επιλογή για τα Ιαπωνικά στα Αγγλικά. Η ίδια επιλογή δεν είναι διαθέσιμη για την πληρωμένη έκδοση API. Πολλές από τις πιο δημοφιλείς γλώσσες έχουν το "text-to-speech", μια λειτουργία ήχου που είναι σε θέση να διαβάσει ένα κείμενο στη γλώσσα της επιλογής μας. Στην περίπτωση του pluricentric language, η έμφαση εξαρτάται από την περιοχή: για τα Αγγλικά, στην Αμερική, το μεγαλύτερο μέρος της Ασίας-Ειρηνικού και Δυτική Ασία ο ήχος χρησιμοποιεί μια θηλυκιά, γενική αμερικανική προφορά, ενώ στην Ευρώπη, το Χονγκ Κονγκ, τη Μαλαισία, τη Σιγκαπούρη, Γουιάνα και όλα τα άλλα μέρη του κόσμου, μια θηλυκιά Βρετανική Αγγλική προφορά, εκτός από την ειδική προφορά που χρησιμοποιείτε στην Ωκεανία, στην Αυστραλία, τη Νέα Ζηλανδία και το Norfolk lsland. Για την Ισπανική, στην Αμερική χρησιμοποιούνται Ισπανικά Λατινικής Αμερικής, ενώ σε άλλα μέρη του κόσμου χρησιμοποιείται το Καστίλης, μια ισπανική προφορά. Πορτογαλικά χρησιμοποιεί το Σάο Πάολο, με εξαίρεση την Πορτογαλία, όπου χρησιμοποιείται η μητρική τους προφορά. Ορισμένες γλώσσες χρησιμοποιούν το open-source espeak συνθεσάιζερ για την ομιλία τους το οποίο παράγει (για παράδειγμα στα ρουμανικά) μια τρομακτική, εξωπραγματική και ρομποτική ομιλία σχεδόν αγνώριστη ως ανθρώπινη. Εικόνα 2.2 Προφορά των Αγγλικών όπου το text to speech παρέχει ήχο για κάθε χώρα Βρετανικά Αγγλικά (Γυναικεία φωνή) Αμερικάνικα Αγγλικά (Γυναικεία φωνή) Προφορά Ωκεανίας (Γυναικεία φωνή) Καμία υπηρεσία της Google Translate Σελίδα 17 από 89

18 Το Google Translate μετά την παρουσίαση του εντυπωσιακού εργαλείου της αυτόματης μετάφρασης φωνητικών κλήσεων που έκανε πριν από λίγες ημέρες το Skype της Microsoft (αρχικά για τα Αγγλικά και τα Ισπανικά), η Google ετοιμάζει μία νέα βελτιωμένη έκδοση της εφαρμογής Google Translate για τα κινητά τηλέφωνα, εισάγοντας νέες λειτουργίες, υποστηρίζουν οι New York Times. Η εφαρμογή του Google Translate για φορητές συσκευές προσφέρει ήδη γραπτή μετάφραση σε πάνω από 90 γλώσσες, ενώ υποστηρίζει και τη φωνητική απαγγελία μεταφράσεων σε αρκετές από αυτές. Στη νέα, βελτιωμένη έκδοσή της, η εφαρμογή θα προσφέρει τη δυνατότητα αυτόματης αναγνώρισης μιας ομιλούμενης γλώσσας και τη μετατροπή της σε μεταφρασμένο κείμενο με μεγαλύτερη ακρίβεια από ποτέ και σε ελάχιστο χρόνο. Σύμφωνα με την Google, η εφαρμογή Translate έχει εγκατασταθεί πάνω από 100 εκατ. φορές σε κινητά με σύστημα Android, τα περισσότερα από τα οποία θα μπορέσουν να λάβουν την αναβάθμιση. «Κάθε μήνα, χρησιμοποιούν το Translate 500 εκατ. χρήστες», υποστηρίζει ο Macduff Hughes, engineering director του Google Translate. Με το 80%-90% του διαδικτύου να αφορά μόλις 10 γλώσσες, προσθέτει, η μετάφραση αποτελεί πλέον κρίσιμο κομμάτι της διαδικασίας μάθησης για πολλούς ανθρώπους Οι υποστηριζόμενες του Google Translate γλώσσες κατά σειρά χρονολογίας είναι οι παρακάτω: Στάδιο 1 ο o Αγγλικά σε Γερμανικά o Αγγλικά σε Ισπανικά o Γαλλικά σε Αγγλικά o Γερμανικά σε Αγγλικά o Ισπανικά σε Αγγλικά Στάδιο 2 ο o Αγγλικά σε Πορτογαλικά o Πορτογαλικά σε Αγγλικά Στάδιο 3 ο o Αγγλικά σε Ιταλικά Στάδιο 4 ο o Αγγλικά σε Κινέζικα (απλοποιημένα) o Αγγλικά σε Γιαπωνέζικα o Αγγλικά σε Κορεάτικα o Κινέζικα (απλοποιημένα) σε Αγγλικά o Γιαπωνέζικα σε Αγγλικά Σελίδα 18 από 89

19 o Κορεατικά σε Αγγλικά Στάδιο 5 ο (28 Απρίλιου 2006) o Αγγλικά σε Αραβικά και Αραβικά σε Αγγλικά Στάδιο 6 ο (16 Δεκεμβρίου 2006) o Αγγλικά σε Ρωσικά και Ρωσικά σε Αγγλικά Στάδιο 7 ο (9 Φεβρουαρίου 2007) o Αγγλικά σε Κινέζικα (Παραδοσιακά) και Κινέζικα (Παραδοσιακά) σε Αγγλικά o Κινέζικα απλοποιημένα σε παραδοσιακά και το ανάποδο Στάδιο 8 ο (22 Οκτωβρίου 2007) o Αγγλικά σε Ολλανδικά και Ολλανδικά σε Αγγλικά o Αγγλικά σε Ελληνικά και Ελληνικά σε Αγγλικά Στάδιο 9 ο o Αγγλικά σε Ινδικά και Ινδικά σε Αγγλικά Στάδιο 10 ο (8 Μαΐου 2008, από αυτό το στάδιο και μετά, η μετάφραση μπορεί να γίνει ανάμεσα σε δύο γλώσσες, τα Αγγλικά, ως ενδιάμεσο στάδιο, αν χρειαστεί.) o Βουλγάρικα o Κροατικά o Τσέχικα o Δανέζικα o Φιλανδέζικα o Νορβηγικά o Πολωνικά o Ρουμανικά o Σουηδικά Στάδιο 11 ο (25 Σεπτεμβρίου 2008) o Καταλανικά o Φιλιπινέζικα o Εβραϊκά o Ινδονησιακά o Λεττονική o Λιθουανικά o Σερβικά o Σλοβακικά o Σλοβένικα o Ουκρανικά o Βιετναμέζικα Στάδιο 12 ο (30 Ιανουαρίου 2009) o Αλβανικά o Εσθονικά o Γαλικίας o Ουγγαρέζικα o Μαλτέζικα o Ταιλενδέζικα Σελίδα 19 από 89

20 o Τουρκικά Στάδιο 13 ο (19 Ιουνίου 2009) o Περσικά Στάδιο 14 ο (24 Αύγουστου 2009) o Αφρικάνικα o Λευκορωσία o Ισλανδικά o Ιρλανδικά o Σκοπιανά o Μαλαισιανά o Σουαχίλι o Welsh o Γίντις Στάδιο 15 ο (19 Νοεμβρίου 2009) o Το beta στάδιο έχει τελειώσει. Οι χρήστες μπορούν τώρα να επιλέξουν να έχουν ομαλοποιημένο κείμενο για Κινέζικα, Ιαπωνικά, Κορεατικά, Ρωσικά, Ουκρανικά, Λευκορωσία, Βουλγαρικά, Ελληνικά, Χίντι και της Ταϊλάνδης. Για τις μεταφράσεις από τα αραβικά, περσικά και Χίντι, ο χρήστης μπορεί να εισάγει μια λατινική μεταγραφή του κειμένου και το κείμενο θα πρέπει να μεταγράφεται στην μητρικό script, για αυτές τις γλώσσες καθώς ο χρήστης πληκτρολογεί. Το κείμενο μπορεί τώρα να διαβαστεί από ένα κείμενο, σε ομιλία στα αγγλικά, ιταλικά, γαλλικά και γερμανικά. Στάδιο 16 ο (30 Ιανουαρίου 2010) o Κρεόλ Αϊτής Στάδιο 17 ο (Απρίλιος 2010) o Το πρόγραμμα ομιλίας ξεκίνησε για Ινδικά και για Ισπανικά Στάδιο 18 ο (5 Μάϊου 2010) o Το φωνητικό πρόγραμμα ξεκίνησε για Αφρικάνικα, Αλβανικά, Καταλανικά, Κινέζικα, Κροατικά, Τσέχικα, Δανέζικα, Ολλανδικά, Φινλανδικά, Ελληνικά, Ουγγρικά, Ισλανδικά, Ινδονησιακά, Λετονικά, Σερβικά, Σλοβάκικα, Σουαχίλι, Σουηδικά, Τουρκικά, Βιετναμέζικα και Ουαλίας (με έδρα το espeak). Στάδιο 19 ο (13 Μαΐου 2010) o Αρμένικα o Αζερμπαϊτζάν o Βασκικά o Γεωργιανά o Ουρντού Στάδιο 20 ο (Ιούνιο 2010) o Παρέχεται εκρωμαϊσμός στα Αραβικά Στάδιο 21 ο (Σεπτέμβριο 2010) o Γίνεται η φωνητική δακτυλογράφηση για τα Αραβικά, Ελληνικά, Ινδικά Περσικά, Ρωσικά, Σέρβικα και Ουρντού. o Λατινικά Σελίδα 20 από 89

21 Στάδιο 22 ο (Δεκέμβριο 2010) o Ο εκρωμαϊσμός αφαιρείτε από τα Αραβικά o Ορθογραφικός έλεγχος προστέθηκε o Για ορισμένες γλώσσες, η Google αντικατέστησε το κείμενο σε ομιλία από ρομπότ με φωνή espeak για τεχνολογίες φωνής. Ο φυσικός ομιλητής έκανε από SVOX (Κινέζικα, Τσέχικα, Δανέζικα, Ολλανδικά, Φινλανδικά, Ελληνικά, Ουγγρικά, Νορβηγικά, Πολωνικά, Πορτογαλικά, Ρωσικά, σουηδικά, Τουρκικά). Επίσης, οι παλιές εκδόσεις των Γαλλικών, Γερμανικών, Ιταλικών και Ισπανικών. Τα Λατινικά χρησιμοποιούν την ίδια σύνθεση με τα Ιταλικά. o Το πρόγραμμα φωνής ξεκίνησε και για Αραβικά, Γιαπωνέζικα και Κορεάτικα. Στάδιο 23 ο (Ιανουάριος 2011) o Επιλογή για διαφορετική μετάφραση μιας λέξης Στάδιο 24 ο (Ιούνιος 2011) o Πέντε νέες Ινδικές διάλεκτοι προστέθηκαν o Μπενγκάλι o Γκουτζαρατικά o Κανάντα o Ταμίλ o Τελούγκου Στάδιο 25 ο (Ιούλιος 2011) o Παρουσίαση συστήματος βαθμολόγησης του μεταφραστή Στάδιο 26 ο (Ιανουάριος 2012) o Η ολλανδική αντρική φωνή αντικαταστάθηκε από γυναικεία φωνή o Η φωνή της Σλοβακίας στο espeak αντικατέστησε η φωνή της Έλενας από την SVOX o Προστέθηκε η μεταγλώττιση του Γίντις Στάδιο 27 ο (Φεβρουάριος 2012) o Το φωνητικό πρόγραμμα ξεκίνησε για Ταιλανδέζικα o Εισήχθησαν τα Εσπεράντο Στάδιο 28 ο (Σεπτέμβριος 2012) o Εισήχθησαν τα Λάο Στάδιο 29 ο (Οκτώβριος 2012) o Ξεκίνησε η μεταγλώττιση του Λάο Στάδιο 30 ο (Οκτώβριος 2012) o Νέο πρόγραμμα φωνής ξεκίνησε στα Αγγλικά Στάδιο 31 ο (Νοέμβριος 2012) o Νέο πρόγραμμα φωνής ξεκίνησε για Γαλλικά, Ισπανικά, Ιταλικά και Γερμανικά Στάδιο 32 ο (Μάρτιος 2013) o Εισάχθηκε βιβλιοθήκη φρασεολογίας Στάδιο 33 ο (Απρίλιος 2013) o Εισάχθηκαν τα Χμερ Στάδιο 34 ο (Μάιος 2013) Σελίδα 21 από 89

22 o Βοσνιακά o Κεμπουάνο o Χμονγκ o Ιάβας o Μαράθι Στάδιο 35 ο (Μάιος 2013) o 16 επιπλέον γλώσσες μπορούν να χρησιμοποιηθούν με την κάμερα εισόδου: Βουλγαρικά, Καταλανικά, Δανέζικα, Εσθονικά, Φιλανδέζικα, Κροατικά, Ουγγαρέζικα, Ινδονησιακά, Ισλανδικά, Λιθουανίας, Λετονίας, Νορβηγικά, Ρουμανικά, Σλοβακικά, Σλοβενικά, Σουηδικά Στάδιο 36 ο (Δεκέμβριο 2013) o Χάουσα o Ίγκμπο o Μαορί o Μογγολικά o Νεπάλ o Παντζάμι o Σομαλικά o Γιορούμπα o Ζουλού Στάδιο 37 ο (Ιούνιος 2014) o Ορισμοί των λέξεων προστέθηκαν Στάδιο 38 ο (Δεκέμβριος 2014) o Τσιτσέουα o Καζακστάν o Μαδαγασκάρης o Μαλαγιάλαμ o Μιανμάρ (Βιρμανίας) o Σεσότο o Σινχάλα o Σουδανικά o Τατζικιστάν o Ουζμπεκιστάν Οι γλώσσες οι οποίες ακόμη δεν υποστηρίζονται από το Google Translate είναι οι παρακάτω: o Αμαρικά o Ασαμέζικα o Καντώνα o Τσερόκι o Κορσικάνος o Ντζόνγκχα o Φρίσιαν o Χαβανέζικα Σελίδα 22 από 89

23 o Κινιαρουάντα o Κουρδικά o Κιργιζίας o Λουξεμβούργου o Οριγικά o Πάστο o Ρωμάνικα o Σαμόα o Σόνα o Σίντι o Τατάρος o Θιβετιανά o Τουρκμενικά o Ουιγούρων o Γουόλοφ o Χώσα Το Google Translate δεν δέχεται γραμματικούς κανόνες, δεδομένου ότι οι αλγόριθμοι του λειτουργούν βάση της στατιστικής ανάλυσης και όχι της παραδοσιακής ανάλυσης που βασίζεται σε κανόνες. Αρχικός δημιουργός του συστήματος, ο Franz Josef Och, επέκρινε την αποτελεσματικότητα του κανόνα που βασίζεται σε αλγόριθμο υπέρ των στατιστικών προσεγγίσεων. Είναι βασισμένο σε μια μέθοδο που ονομάζεται στατιστική μηχανική μετάφραση, και πιο συγκεκριμένα, στην έρευνα του Och ο οποίος κέρδισε τον διαγωνισμό DARPA για την ταχύτητα της αυτόματης μετάφρασης το Ο Och ήταν ο επικεφαλής της ομάδας μετάφρασης μηχανής της Google μέχρι την αποχώρησή του τον Ιούλιο του Το Google Translate δεν μεταφράζει από τη μία γλώσσα στην άλλη (L1 L2). Αντ 'αυτού, το κείμενο συχνά μεταφράζεται πρώτα στα αγγλικά και στη συνέχεια, στη γλώσσα-στόχο (L1 EN L2). Ωστόσο, επειδή τα αγγλικά, όπως και όλες οι ανθρώπινες γλώσσες, είναι ασαφής και εξαρτάται από το πλαίσιο, αυτό μπορεί να προκαλέσει σφάλματα μετάφρασης Μεταφραστικά λάθη και παραδοξότητες Το Google Translate χρησιμοποιεί στατιστικές που ταιριάζουν για να μεταφράσει και όχι κατά μια προσέγγιση λεξικού / κανόνες γραμματικής, το μεταφρασμένο κείμενο μπορεί συχνά να περιλαμβάνει προφανώς παραλογισμούς και προφανή σφάλματα, συχνά αλλάζουν κοινοί όροι για παρόμοιους αλλά η μη ισοδύναμα με κοινούς όρους σε άλλη γλώσσα, όπως καθώς και αναστρέφοντας την έννοια της πρότασης. Επίσης, για την ομιλία του, χρησιμοποιεί μόνο Ευρωπαϊκή Γαλλική καθώς και Ισπανικά Λατινικής Αμερικής σε όλο τον κόσμο, Σελίδα 23 από 89

24 αλλά τόσο η Πορτογαλία όσο και Πορτογαλικά Βραζιλίας (Ευρωπαϊκό για translate.google.pt και της Βραζιλίας για όλες τις άλλες μεταφράσεις Διαμάχες Η Google έχει κατηγορηθεί για σεξισμό λόγω της στατιστικής εκχώρησης του φύλου κατά τη μετάφραση από ή μέσω των αγγλικών στις γλώσσες όπου τα ρήματα είναι συζευγμένα με το φύλο. Για παράδειγμα, η φράση οδηγώ χρησιμοποιείτε για να μεταφραστεί σε μια αρσενική σύζευξη, ενώ εγώ μαγειρεύω σε μια θηλυκή σύζευξη. Λόγω της δημόσιας κριτικής στο Ισραήλ, η Google έχει ορίσει χειροκίνητα κάποιες εμφανείς περιπτώσεις σεξιστικής μετάφρασης στα Εβραϊκά, χρησιμοποιώντας την αρσενική μορφή για όλα τα ρήματα Μεταφραστική Κοινότητα Η μεταφραστική κοινότητα είναι μια πλατφόρμα που έχει σκοπό να βελτιώσει την υπηρεσία του Google Translate. Οι εθελοντές μπορούν να επιλέξουν μέχρι πέντε γλώσσες για να βοηθήσουν στην καλύτερη μετάφραση. Οι χρήστες μπορούν να ελέγξουν τις μεταφράσεις και να μεταφράζουν τις φράσεις στις γλώσσες τους από και προς τα Αγγλικά Bing Translate Εικόνα 2.3 Το λογότυπο του bing translator Το Bing Translator, παλαιότερα γνωστό ως Live Search Translator αλλά και Windows Live Translator είναι μια μηχανή μετάφρασης σε interface χρήστη η οποία προέρχεται από την Microsoft. Ως μέρος του Bing οι υπηρεσίες που προσφέρει στον χρήστη είναι η μετάφραση απλού κειμένου ή ολόκληρες ιστοσελίδες σε πολλές διαφορετικές γλώσσες. Σε όλα τα ζεύγη της μετάφρασης από γλώσσα πηγή σε γλώσσα στόχο, του Bing Translator βρίσκεται από πίσω εξολοκλήρου η Microsoft. Χρησιμοποιεί μια στατιστική πλατφόρμα αυτόματης μετάφρασης και διαδικτυακών υπηρεσιών, η οποία αναπτύχθηκε από την Microsoft Research, αφού είναι ένα μεταγενέστερο λογισμικό μετάφρασης. Η πρώτη έκδοση του συστήματος αυτόματης μετάφρασης της Microsoft αναπτύχθηκε μεταξύ του 1999 και του 2000 μέσα από το Microsoft Research. Το Σελίδα 24 από 89

25 σύστημα αυτό βασίζεται σε σημασιολογικές δομές κατηγόρημα-επιχείρημα που είναι γνωστές ως λογικές μορφές (LF), και περιστράφηκε από τη λειτουργία διόρθωσης της γραμματικής που αναπτύχθηκε για το Microsoft Word. Το σύστημα αυτό χρησιμοποιήθηκε τελικά για να μεταφράσει το σύνολο της Γνωσιακής Βάσης της Microsoft στα Ισπανικά, Γαλλικά, Γερμανικά, Ιαπωνικά. Η προσέγγιση της Microsoft στην αυτόματη μετάφραση, όπως και οι περισσότεροι των σημερινών σύγχρονων συστημάτων αυτόματης μετάφρασης, είναι "τα δεδομένα με γνώμονα" και όχι στηριζόμενη στους ρητούς κανόνες για να μεταφράζει την φυσική γλώσσα, οι αλγόριθμοι δημιουργήθηκαν για να καταφέρουν στην κατανόηση και την να ερμηνεία της μετάφρασης σε παράλληλα κείμενα, που τους επιτρέπει αυτόματα να μάθουν πώς να μεταφράσουν ένα νέο κείμενο σε μορφή φυσικής γλώσσας. Η εμπειρία της Microsoft με το LF-σύστημα οδήγησε άμεσα σε ένα σύστημα μετάφρασης treelet που απλοποίησε το LF σε εξάρτηση από τα trees και τελικά σε ένα πρότυπο μοντέλο προκειμένου να οδηγήσει σε σημαντικές βελτιώσεις στην ταχύτητα και την ενσωμάτωση των νέων γλωσσών στόχου. Η ιστοσελίδα της μετάφρασης γνωστή στους χρήστες του διαδικτύου ως Bing Τranslator (παλαιότερα γνωστή ως Windows Live Translator) ξεκίνησε το 2007 και παρέχει δωρεάν μεταφράσεις κειμένου αλλά και ιστοσελίδων. Το κείμενο μεταφράζεται άμεσα εντός της ιστοσελίδας μετάφρασης του Bing, ενώ ιστοσελίδες μεταφράζονται σε συνεργασία με τα εργαλεία του bilingual viewer. Το 2011, η υπηρεσία επεκτάθηκε ώστε να συμπεριλάβει πολλά προϊόντα του μεταφραστή της Microsoft, μέσω cloud API, το οποίο υποστηρίζει τα προϊόντα που διατίθενται στους χρήστες τόσο των απλών καταναλωτών όσο και των επιχειρήσεων. Το Cloud API είναι επίσης διαθέσιμο ως υπηρεσία για τους πελάτες, το οποίο κυμαίνεται από μια ελεύθερη βαθμίδας υποστήριξης δύο εκατομμυρίων χαρακτήρων ανά μήνα, αλλά για πελάτες επί πληρωμή η βαθμίδα ανεβαίνει και οι υποστηριζόμενες λέξεις φτάνουν τα δισεκατομμύρια των χαρακτήρων ανά μήνα. Σύμφωνα με την Microsoft το Bing Translator χρησιμοποιεί τη στατιστική μηχανική μετάφραση για να δημιουργήσει στιγμιαία μεταφράσεις από μια φυσική γλώσσα πηγή στην γλώσσα στόχο. Αυτό το σύστημα βασίζεται σε τέσσερις διαφορετικούς τομείς της έρευνας εκμάθησης ηλεκτρονικών υπολογιστών οι οποίοι είναι οι παρακάτω: Syntax Based SMT o Σύνταξη με βάση τη μετάφραση η οποία βασίζεται στην ιδέα της μετάφρασης συντακτικών μονάδων, παρά μια λέξη ή σειρά των λέξεων. Η Microsoft χρησιμοποίησε Σύνταξη με βάση SMT για να μεταφράσει ένα μεγάλο μέρος σε υπολογιστή, που σχετίζονται με Σελίδα 25 από 89

26 κείμενα από τα Αγγλικά σε πολλές γλώσσες-στόχους. Συνεχίζεται η έρευνα στον τομέα αυτό και έχει παραχθεί βελτίωση σε καμπές λέξη προς λέξη μετάφραση Phrase Based SMT o Κατά το Phrase Based SMT, η μηχανή μαθαίνει αλληλογραφία μεταξύ των γλωσσών από παράλληλο κείμενο χωρίς τη βοήθεια γλωσσολογίας. Αυτό παράγει καλύτερες μεταφράσεις σε λιγότερο χρόνο από ό, τι άλλα συστήματα Word Alignment o Το SMT σύστημα βασίζεται στα υπάρχοντα μεταφρασμένα δεδομένα για να μάθει πώς να μεταφράσει αυτόματα από τη μία γλώσσα στην άλλη. Το να «εκπαιδεύσει» τα συστήματα, προσδιορίζοντας αντιστοιχίες λέξεων είναι ζωτικής σημασίας. Η Microsoft έχει αναπτύξει μια τόσο διακριτική και παραγωγική προσέγγιση για την ευθυγράμμιση λέξης, με αποτέλεσμα την ταχύτερη αλγοριθμοποίηση και υψηλότερη ποιότητα στις μεταφράσεις Language Modeling o Η μοντελοποίηση γλώσσας χρησιμοποιεί μοντέλα N-Gram για να κατασκευάσει μια κατανοητή μεταφράσεις προς τη γλώσσα-στόχο. Αυτό εξασφαλίζει ότι η μεταφραστική παραγωγή είναι άπταιστη και ευανάγνωστη. Η ποιότητα των αποτελεσμάτων μηχανικής μετάφρασης της Microsoft αξιολογείται χρησιμοποιώντας μια μέθοδο που ονομάζεται score BLEU. Το BLEU (Δίγλωσση Αξιολόγηση) είναι ένας αλγόριθμος για την αξιολόγηση της ποιότητας του κειμένου που έχει μεταφραστεί αυτόματα από μία φυσική γλώσσα στην άλλη. Ποιότητα θεωρείται ότι είναι η αντιστοιχία μεταξύ μετάφρασης του μηχανήματος προς μια φυσική γλώσσα. Το BLEU ήταν μία από τις πρώτες μετρήσεις για να επιτευχθεί μια υψηλή συσχέτιση με την ανθρώπινη κρίση και την ποιότητα, και παραμένει ένα από τις πιο δημοφιλές αυτοματοποιημένες και ανέξοδες μετρήσεις. Επειδή η αυτόματη μετάφραση βασίζεται σε στατιστικούς αλγόριθμους και όχι από την ανθρώπινη μετάφραση, οι αυτόματες μεταφράσεις που παράγει δεν είναι πάντοτε απολύτως ακριβής. Η Microsoft εισήγαγε διάφορες λειτουργίες ανατροφοδότησης στο Bing, όπως το πλαίσιο συνεργασίας με τους μεταφραστές, στα προϊόντα της να επιτρέψει στους χρήστες να προτείνουν εναλλακτικές μεταφράσεις. Αυτές οι εναλλακτικές μεταφράσεις οποίες στη συνέχεια ενσωματώνονται οι αλγόριθμοι μεταφραστής της Microsoft για να βελτιώσουμε τις μελλοντικές μεταφράσεις. Σελίδα 26 από 89

27 2.2.5 Υποστηριζόμενες γλώσσες από το bing Τον Μάρτιο του 2015 το Bing Translator έφτασε να παρέχει στον χρήστη, μεταφράσεις σε 47 διαφορετικές υποστηριζόμενες γλώσσες. Arabic Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Czech Danish Dutch English Estonian Finnish French German Greek Haitian Creole Hebrew Hindi Hmong Daw Hungarian Indonesian Italian Japanese Klingon Klingon Korean Latvian Lithuanian Malay Maltese Norwegian Persian Polish Portuguese Querétaro Otomi Romanian Russian Slovak Slovenian Spanish Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yucatec Maya Ο μεταφραστής Bing μπορεί να μεταφράσει τις φράσεις που εισάγονται από το χρήστη ή να πάρει ένα σύνδεσμο από μια ιστοσελίδα και να την μεταφράσει εξ ολοκλήρου. Κατά τη μετάφραση μιας ολόκληρης ιστοσελίδας, ή όταν ο χρήστης επιλέγει την μετάφραση συγκεκριμένου μέρους αυτής της σελίδας στο Bing ο χρήστης μπορεί να δει και να αναζητήσει και το πρωτότυπο κείμενο στο αποτελέσματα της μετάφρασης. Δηλαδή το Bing Translator επιτρέπει στους χρήστες να περιηγηθούν στο πρωτότυπο κείμενο της ιστοσελίδας και στο μεταφρασμένο παράλληλα, το οποίο είναι υποστηριζόμενο από συγχρονισμένα highlight s κατά την κύλιση και πλοήγηση. Τέσσερα δίγλωσσα σχεδιαγράμματα είναι διαθέσιμα για τον viewer: o Side by side o Top and bottom o Original with hover translation o Translation with hover original Σελίδα 27 από 89

28 Γλώσσα προγραμματισμού C# (sharp) Η C# Η C# είναι μία ολοκληρωμένη αντικειμενοστραφής γλώσσα προγραμματισμού σχεδιασμένη για τη δημιουργία λογισμικού σε.net Framework. Τα πάντα στη C# είναι αντικείμενα. Παρέχει άμεση πρόσβαση σε τεράστιες βιβλιοθήκες κλάσεων του.net Framework & ασφάλεια των τύπων της. Ο λόγος που χρησιμοποιήσαμε την C# είναι ότι η γλώσσα προγραμματισμού C# είναι μια component oriented γλώσσα όπου έχει επαναχρησιμοποιήσιμες βιβλιοθήκες και εγγενή υποστήριξη για τα Name spaces Versioning Attribute-driven ανάπτυξη Γιατί χρησιμοποιήσαμε την C# Χρησιμοποιήσαμε την γλώσσα αυτή για τους παρακάτω λόγους: Η δύναμη της C/C++ με την ευκολία της Visual Basic Ελάχιστη καμπύλη εκμάθησης για όλους Πιο σαφής από την C++ Πιο δομημένη από την Visual Basic Περισσότερες δυνατότητες από τη Java Δυνατότητες functional programming (όπως η Haskell, η Scheme κ.λ.π.) Δυνατότητες dynamic programming (version 4) Απλό παράδειγμα προγράμματος σε C# Θα δούμε παρακάτω τη σύνταξη και τη δομή ενός απλού προγράμματος (Console Application) στη C# που εμφανίζει το μήνυμα Hello World και θα αναλύσουμε γραμμή - γραμμή τα μέρη του: Σελίδα 28 από 89

29 Εικόνα 3.1 Παράδειγμα Hello Wolrd Χώροι ονομάτων (Name spaces) Σε ένα C# πρόγραμμα χρησιμοποιούμαι Namespaces για την οργάνωση του κώδικα μας. Στο παραπάνω πρόγραμμα χρησιμοποιήσαμε τον χώρο ονομάτων System (γραμμή 1 του παραδείγματος) μέσο της λέξης κλειδιού using,το οποίο περιλαμβάνει έτοιμες κλάσεις και μεθόδους του.νετ με έτοιμο επαναχρησιμοποιήσιμο κώδικα! Ένα Namespace μπορεί να περιέχει τους εξής τύπους : Namespaces Classes Delegates Enums Structs Σελίδα 29 από 89

30 Interfaces Για τη δημιουργία ενός δικού μας Namespace χρησιμοποιούμε τη δεσμευμένη λέξη-κλειδί namespace (γραμμή 2), έτσι η κλάση Hello world (γραμμή 4) εμπεριέχεται στο MyNamespace που δημιουργήσαμε. Στη συνέχεια του κώδικα μπορούμε να δούμε πως μπορούμε να εμφανίσουμε στη γραμμή εντολών το μήνυμα "Hello World". Η μέθοδος Main() (γραμμή 6) περιέχει την εντολή Console. WriteLine ("Hello World");, η οποία εμφανίζει το τελικό μήνυμα Ψευδώνυμα (Aliases) Μπορούμε να χρησιμοποιούμε ψευδώνυμα (Aliases) για να κάνουμε τον κώδικα μας ακόμα πιο σύντομο και να αποφύγουμε να γράφουμε μακροσκελείς εντολές. Για παράδειγμα: Εικόνα 3.2 Ψευδώνυμα Σχόλια (comments) Μπορούμε να χρησιμοποιούμε σχόλια στον κώδικά μας κυρίως για να εξηγούμε κάποια σημεία του, όπως τη λειτουργία μιας κλάσης/μεθόδου που δημιουργήσαμε,έτσι ώστε να γίνεται ο κώδικας εύκολος στην ανάγνωση τόσο για μας,αν Σελίδα 30 από 89

31 θελήσουμε κάποια στιγμή να τον ανατρέξουμε να δούμε τη λειτουργία του, αλλά και για κάποιο τρίτο πρόσωπο που θα χρειαστεί να τον δει. Τα σχόλια συντάσσονται χρησιμοποιώντας αυτόν τον συμβολισμό ( // ),εάν επρόκειτο για μία γραμμή σχολίου: //Αυτό είναι ένα σχόλιο ή αν το σχόλιο απαιτεί παραπάνω γραμμή με αυτόν τον τρόπο: /* Αυτό είναι ένα σχόλιο */ Με τον τρόπο αυτό ο compiler προσπερνάει οτιδήποτε βρίσκεται μετά τα εισαγωγικά και δεν επηρεάζει το τελικό αποτέλεσμα του προγράμματος. Παραδείγματα σχολίων: Console.WriteLine("Hello World"); //Output a greeting Console.WriteLine("Hello World"); /*Output a greeting*/ Δήλωση μεταβλητών, Ανάθεση Σύγκριση τιμών & Εμφάνιση αποτελεσμάτων στην οθόνη Σε ένα C# πρόγραμμα μπορούμε να δηλώσουμε μεταβλητές σε οποιοδήποτε σημείο του προγράμματος, πριν τις χρησιμοποιήσουμε για κάποια πράξη. Για να δηλώσουμε μία μεταβλητή ορίζουμε πρώτα τον τύπο της και ύστερα το όνομα της. πχ. int x; string y1; long z_2; Για να κάνουμε ανάθεση τιμής σε μεταβλητές χρησιμοποιούμε το ίσον ( = ) πχ. x = 5; Ή η ίδια εντολή ως int x = 5; άν την δηλώναμε ταυτόχρονα μαζί με την ανάθεση της τιμής. char y = 'h'; Κτλ. Για σύγκριση μεταβλητών ισχύουν : >= μεγαλύτερο ή ίσο <= μικρότερο ή ίσο == ίσο!= διάφορο Για να εμφανίσουμε το περιεχόμενο μεταβλητών στην οθόνη η C# χρησιμοποιεί τη μέθοδο WriteLine() με δύο τρόπους σύνταξης. Σελίδα 31 από 89

32 Η C# είναι Case sensitive, Για να δηλώσουμε την Main() χρησιμοποιήσαμε κεφαλαίο M! Θα ήταν λάθος να λέγαμε static void main(). ο compiler εξ ορισμού καταλαβαίνει ότι το βασικό πρόγραμμα βρίσκεται στην μέθοδο Main() και όχι στην main(). Εννοείται πως int y int Y! Keywords, Στη C# υπάρχουν δεσμευμένες λέξεις-κλειδιά. Δεν μπορούμε να δηλώσουμε πχ μια μεταβλητή με όνομα Console/int/void/class, όπως επίσης δεν μπορούμε να βάζουμε αριθμό μπροστά από μεταβλητή! Σταθερές ( Constans ), Η δήλωση των σταθερών στο C# πρόγραμμα όπως πχ. Η τιμή του π=3.14. γίνεται με αυτόν τον τρόπο : const double p = 3.14; Στη WriteLine() υπάρχουν 2 τρόποι εμφάνισης μεταβλητών. 1ος τρόπος ως συνεχόμενο string 2ος τρόπος με int μεταβλητές : πχ. int x = 1; int y = 2; int sum = x + y; //1ος τρόπος Console.WriteLine(x + "+" + y + "=" + sum); // outuput 1+2=3 //2ος τρόπος Console.WriteLine("0+1=2",x,y,sum); //output 1+2= Τελεστές (Operators) Οι τελεστές (Operators) είναι σύμβολα ή λέξεις που αναπαριστούν συγκεκριμένες διεργασίες, οι οποίες εκτελούνται πάνω σε ένα ή περισσότερα δεδομένα. Τα δεδομένα καλούνται τελεστές (operands) και μπορούν να είναι μεταβλητές, σταθερές ή ακόμη και κλήσεις συναρτήσεων. Οι τελεστές χρησιμοποιούνται για το σχηματισμό εκφράσεων. Μία έκφραση (=Μεταβλητή), εν γένει, αποτελείται από έναν ή περισσότερους τελεστές. Κάθε έκφραση έχει μία τιμή, η οποία υπολογίζεται με ορισμένους κανόνες. Σελίδα 32 από 89

33 3.1.8 Συμβολα συνηθισμενων τελεστών Εικόνα 3.3 Τελεστές 1 Μικρότερο < Μικρότερο ή ίσο <= Ίσο == ή = (ανάλογα την συνθήκη) Διάφορο!= Μεγαλύτερο > Μεγαλύτερο ή ίσο >= Πρόσθεση + Αφαίρεση - Πολλαπλασιασμός * Αληθές/ψευδές (1 true false ή 0 ) Διαίρεση / Εικόνα 3.4 Τελεστές 2 Σελίδα 33 από 89

34 3.1.9 Μέθοδοι εισαγωγή Ο OOP (Object-Oriented Programming ή Αντικειμενοστρεφής προγραμματισμός) είναι ένας τρόπος ανάπτυξης κώδικα. Πριν τον OOP χρησιμοποιούνταν ο συναρτησιακός προγραμματισμός μέχρι που ο αντικειμενοστρεφής έλυσε πολλά από τα προβλήματα του πρώτου. Στον συναρτησιακό, η ανάπτυξη του προγράμματος γραφόταν σε μερικές ενότητες (modules) κώδικα ή μπορεί και σε μία μόνο (ανάλογα με το πρόγραμμα) και αυτές οι ενότητες εξαρτιόνταν από άλλες. Αν άλλαζες μια γραμμή του κώδικα θα έπρεπε να ξαναγράψεις όλη την ενότητα ξανά και ίσως και όλο το πρόγραμμα. Στον αντικειμενοστρεφή προγραμματισμό, οι developers γράφουν ανεξάρτητα κομμάτια προγράμματος, τις λεγόμενες κλάσεις και κάθε κλάση αναπαριστά μια λειτουργία ενός κομματιού του συστήματος. Έτσι σε ενδεχόμενο πρόβλημα, το μόνο που χρειάζεται να γίνει είναι να αλλάξει αυτό το κομμάτι χωρίς να επηρεάζει τα άλλα τμήματα Κλάσεις και αντικείμενα Μπορεί να μην σας είναι εύκολο να καταλάβετε την ιστορία με τις κλάσεις και τα αντικείμενα αλλά θα κάνω το καλύτερο για να τα εξηγήσω. Πραγματικά, οι κλάσεις και τα αντικείμενα είναι στενά συνδεδεμένα μεταξύ τους και μερικοί αρχάριοι δεν νοιάζονται για να το καταλάβουν καθαρά, οπότε και περνάνε δύσκολα όταν μελετάν την c#! Η έννοια του αντικειμενοστρεφούς προγραμματισμού παίρνει το μεγαλύτερο μέρος της λειτουργικότητας της από έννοιες της πραγματικής ζωής. Θα παρουσιάσω την έννοια των κλάσεων και των αντικειμένων του κόσμου πρώτα και μετά θα καταλάβετε τις κλάσεις και τα αντικείμενα των υπολογιστών προτού γράψω τίποτα περί αυτών Οι κλάσεις και τα αντικείμενα στον κόσμο Τα πάντα στον κόσμο μας θεωρούνται αντικείμενα. Για παράδειγμα, οι άνθρωποι είναι αντικείμενα, τα ζώα επίσης, τα ορυκτά είναι αντικείμενα, τα πάντα είναι αντικείμενα. Εύκολο, σωστά; Τι γίνεται όμως με τις κλάσεις; Στον κόσμο μας πρέπει να διαφοροποιούμε τα αντικείμενα με τα οποία εμείς ζούμε. Έτσι πρέπει να καταλάβουμε πως υπάρχουν κατατάξεις (classifications, έτσι πήραν το όνομα και την έννοια της κλάσης) για όλα αυτά τα αντικείμενα. Για παράδειγμα, εγώ είμαι αντικείμενο, ο Νίκος επίσης, η Μαρία είναι άλλο αντικείμενο γι αυτό και είμαστε Σελίδα 34 από 89

35 όλοι από την κλάση (η τύπος) άνθρωπος. Έχω έναν σκύλο που ονομάζεται Ricky έτσι είναι αντικείμενο. Ο σκύλος του φίλου μου ονομάζεται Doby, επίσης αντικείμενο και τα δυο από την κλάση Σκύλος. Ένα τρίτο παράδειγμα. Έχω έναν υπολογιστή Pentium III. Αυτό είναι το αντικείμενο. Ο φίλος μου έχει επίσης ένα Pentium IV οπότε και ένα άλλο αντικείμενο από την κλάση Υπολογιστής. Τώρα νομίζω πιάσατε την έννοια της κλάσης και του αντικειμένου αλλά αφήστε με να σας το ξεκαθαρίσω λίγο παραπάνω. Στον κόσμο μας έχουμε μια κατάταξη για τα αντικείμενα και κάθε αντικείμενο πρέπει να είναι από κάποια κατάταξη. Έτσι, μια κλάση είναι ένας τρόπος για να περιγράψουμε μερικές ιδιότητες και λειτουργίες ή συμπεριφορές για μια ομάδα από αντικείμενα. Με άλλα λόγια, η κλάση θεωρείται ως πρότυπο για μερικά αντικείμενα. Έτσι μπορεί να φτιάξω μια κλάση που ονομάζεται «άτομο» έτσι ώστε να είναι ένα πρότυπο που να περιλαμβάνει τις ιδιότητες και τις λειτουργίες ενός ατόμου (πχ σαν ιδιότητες ηλικία, φύλλο κλπ) Κλάσεις και αντικείμενα του υπολογιστή Οι κλάσεις στον υπολογιστή είναι παρόμοιες με αυτές του κόσμου, με μερικές τροποποιήσεις ούτως ώστε να μπορούν να κωδικοποιηθούν σε πρόγραμμα υπολογιστή Κλάσεις και αντικείμενα στην C# Μια κλάση στην c# θεωρείται ως το πρωταρχικό στοιχείο για οικοδόμηση της γλώσσας. Αυτό που εννοώ είναι ότι κάθε φορά που δουλεύετε με την C# θα δημιουργείτε κλάσεις για να σχηματίζουν το πρόγραμμα. Χρησιμοποιούμε κλάσεις ως ένα πρότυπο για να βάλουμε μέσα τις ιδιότητες και τις λειτουργίες σε ένα δομικό στοιχείο (building block) για μερικά γκρουπ αντικειμένων και μετά τις χρησιμοποιούμε ως πρότυπα για να φτιάξουμε τα αντικείμενα που χρειαζόμαστε Structs Η struct είναι μια δομή όπου μπορεί να περιέχει constructors, σταθερές, μεταβλητές, μεθόδους, ιδιότητες, indexers, events και εμφωλευμένους τύπους. Μια τυπική δήλωση struct μπορεί να έχει την παρακάτω μορφή. Ο τύπος struct είναι κατάλληλος για να αντιπροσωπεύει ελαφρά αντικείμενα όπως Point, Rectangle και Color. Αν και είναι δυνατόν το αντικείμενο πχ Point να παρασταθεί με μια κλάση, η Struct είναι αποτελεσματικότερη σε μερικές περιπτώσεις. Για παράδειγμα, αν δηλώσεις έναν πίνακα με 1000 Point αντικείμενα, θα δεσμεύσεις επιπλέον μνήμη για να κάνεις αναφορά (reference) σε κάθε αντικείμενο. Σε αυτήν την περίπτωση, η struct είναι λιγότερο ακριβή. Σελίδα 35 από 89

36 Είναι λάθος να δηλώνει κανείς έναν constructor χωρίς ορίσματα για μια struct. Αυτός ο default constructor χρησιμοποιείται πάντοτε για να αρχικοποιήσει τις μεταβλητές με τις default τιμές τους. Είναι λάθος να αρχικοποιήσει κανείς μια μεταβλητή μέσα στην struct. Όταν κάποιος δημιουργεί ένα αντικείμενο struct χρησιμοποιώντας το new, δημιουργείται και ο κατάλληλος constructor καλείται. Σε αντίθεση με τις κλάσεις, οι structs μπορούν να αρχικοποιηθούν και να αποκτήσουν υπόσταση χωρίς το new. Αν δεν χρησιμοποιήσετε το new, τα πεδία θα παραμείνουν ανεκχώρητα (χωρίς τιμή) και το αντικείμενο δεν θα μπορεί να χρησιμοποιηθεί μέχρι όλα τα πεδία να αρχικοποιηθούν Τύποι Enums Ένας τύπος enum (συχνά και enumaration απαρίθμηση) παρέχει έναν αποτελεσματικό τρόπο για να ορίσουμε ένα σετ από ονοματισμένες σταθερές που μπορούν να ορίσουν τιμή σε μια μεταβλητή. Για παράδειγμα, υποθέστε πως πρέπει να ορίσετε σταθερές οι οποίες θα αντιπροσωπεύουν κάθε μέρα της βδομάδας. Υπάρχουν μόνο 7 τιμές με το αντίστοιχο νόημα όπου κάθε σταθερά θα πρέπει να αποθηκεύσει. Για να ορίσετε αυτές τις τιμές, μπορείτε να χρησιμοποιήσετε enum ως ακολούθως: enum Days Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday ; Ως εξ ορισμού, κάθε στοιχείο αντιπροσωπεύεται με τον τύπο int. Μπορείτε να ορίσετε έναν άλλον απαριθμητό τύπο χρησιμοποιώντας άνω και κάτω τελεία. Για παράδειγμα: enum Months : byte Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec ; Τα παρακάτω είναι πλεονεκτήματα των enums έναντι των αριθμητικών τύπων: Διευκρινίζετε σαφώς στον κώδικα ποιες τιμές είναι αποδεκτές για μια μεταβλητή Στο visual Studio, η InteliSense απαριθμεί τις ορισμένες τιμές Όταν δεν ορίζει κανείς τιμές για τα στοιχεία της λίστας στο enum, οι τιμές αυξάνουν αυτόματα κατά ένα. Στο προηγούμενο παράδειγμα, το στοιχείο Days.Sunday έχει τιμή 0, Days.Monday τιμή 1 κλπ. Στο επόμενο παράδειγμα η μεταβλητή meetingday είναι τύπου Days, οπότε μπορεί να πάρει τιμές που έχουν οριστεί μόνο στο enum Days. Και αν θέλουμε να αλλάξει αυτή η τιμή, μπορούμε να την αλλάξουμε όπως φαίνεται στο παράδειγμα: Σελίδα 36 από 89

37 Days meetingday = Days.Monday; // meetingday = Days.Friday; Μπορούμε να ορίσουμε τιμές για τα στοιχεία στο enum και να αφήσουμε τις άλλες να υπολογιστούν ή να μπουν αυτόματα enum MachineState PowerOff = 0, Running = 5, Sleeping = 10, Hibernating = Sleeping + 5 Επίσης μπορούμε να ορίσουμε μια τιμή σε σταθερά με αυτές που ακολουθούν να παίρνουν πάντα την προηγούμενη τιμή +1 enum Days Sat=1, Sun, Mon, Tue, Wed, Thu, Fri; Πίνακες (Array) Ο πίνακας είναι μια στατική δομή δεδομένων που μας επιτρέπει να αποθηκεύσουμε μέσα του δεδομένα του ίδιου τύπου. Οι πίνακες εμφανίζονται με δύο συνηθέστερες μορφές. Πίνακας μονοδιάστατος και δισδιάστατος Μονοδιάστατος πίνακας Η δήλωση ενός μονοδιάστατου πίνακα γίνετε με δύο τρόπους ως εξής: int[ ] intarray = new int[20]; int[ ] intarray = new int[ ] 1,2,3,4,5; Στο πρώτο παράδειγμα δηλώνουμε έναν κενό πίνακα ακεραίων 20 θέσεων, ενώ με το δεύτερο παράδειγμα δηλώνουμε έναν πίνακα ακεραίων με τους αριθμούς 1,2,3,4,5 τα οποία εκχωρούνται στις θέσεις 0,1,2,3,4 αντίστοιχα μιας και η αρίθμηση των θέσεων του πίνακα ξεκινάει από το μηδέν. Επίσης στο δεύτερο παράδειγμα δεν έχουμε δηλώσει το μέγεθος γιατί το μέγεθος σε αυτή την περίπτωση υπολογίζεται κατευθείαν από τον αριθμό των παραμέτρων που έχουμε δώσει. Σελίδα 37 από 89

38 Δισδιάστατος πίνακας Για να δηλώσουμε έναν δισδιάστατο πίνακα κάνουμε τα εξής: int[,] twodim = new int[3,4]; Έτσι δημιουργήσαμε έναν κενό πίνακα με 3 γραμμές και 4 στήλες. Ή μπορούμε να τον αρχικοποιήσουμε με συγκεκριμένες τιμές. Int[,] twodim = new int[,] ; 1,2,3,4 //Πρώτη γραμμή 5,6,7,8 //Δεύτερη γραμμή 9,10,11,12 //Τρίτη γραμμή Σε γραφική απεικόνιση ο πίνακάς μας θα έχει την εξής μορφή Πίνακας 1.1 Δισδιάστατος πίνακας Η αρίθμηση των θέσεων του πίνακα όπως αναφέραμε και πριν ξεκινάει από το μηδέν. Έτσι για να χρησιμοποιήσουμε ένα στοιχείο που βρίσκεται στην δεύτερη θέση του πίνακα αναφερόμαστε σε αυτό ως Πίνακας[1] κλπ. int[,] twodim = new int[,] 1,2,3,4 //Πρώτη γραμμή Σελίδα 38 από 89

39 ; 5,6,7,8 //Δεύτερη γραμμή 9,10,11,12 //Τρίτη γραμμή Με τον ίδιο τρόπο χρησιμοποιούμε την αρίθμηση για να γεμίσουμε έναν πίνακα. int[] array = new int[5]; array[0] = 1; array[1] = 2; array[2] = 3; Ο πίνακας είναι μία στατική δομή δεδομένων και έχει σταθερό μέγεθος. Αν ο πίνακας που έχετε στην διάθεσή σας έχει 5 θέσεις και εσείς προσπαθήσετε να εισάγετε ή να διαβάσετε δεδομένα με την εντολή Πίνακας[5] το πρόγραμμα θα σας ειδοποιήσει όταν το "τρέξετε" ότι αντιμετώπισε exception καθώς η αρίθμηση ξεκινάει από το μηδέν οπότε η εντολή Πίνακας[5] δείχνει στην έκτη θέση του πίνακα η οποία δεν υπάρχει. Ο πίνακας περιέχει τις ιδιότητες Length και LongLength οι οποίες μας δείχνουν το μέγεθος του πίνακα με 32 bit και 64 bit αντίστοιχα και την ιδιότητα Rank που μας λέει πόσες διαστάσεις έχει ο πίνακας. int[] array = new int[]1,2,3,4,5; int number = array[1]; int anothernumber = array[4]; Console.WriteLine(array.Length); Console.WriteLine(array.Rank); /* 5 1 */ Σελίδα 39 από 89

40 Array list collection Η ArrayList είναι μια δυναμική δομή δεδομένων που σημαίνει ότι αντίθετα με τον πίνακα δεν έχει σταθερό μέγεθος. Υπάρχει στο.net framework σαν έτοιμη κλάση και εκτός από το πλεονέκτημα του μεταβλητού μεγέθους προσφέρει και πολλές λειτουργίες όπως ταξινόμηση και αναζήτηση μεταξύ άλλων. Σελίδα 40 από 89

41 Η εφαρμογή Ανάπτυξη εφαρμογής Εφαρμογή μετάφρασης κειμένων με τη χρήση Translator API Ο κύριος στόχος που δημιουργήθηκε η εφαρμογή είναι για την διευκόλυνση μας στην μετάφραση την οποία θέλουμε να κάνουμε, σε οποιοδήποτε κείμενο, οπουδήποτε στον υπολογιστή μας με το πάτημα των shortcuts. Το κείμενο μπορεί να είναι για παράδειγμα σε ένα αρχείο των office αλλά επίσης και σε οποιοδήποτε άλλο κειμενογράφο ή browser. Τα shortcuts τα έχουμε ορίσει από την αρχή που θα ανοίξει το πρόγραμμα. Η εφαρμογή μας λειτουργεί σε ελαχιστοποιημένη (στο tray του συστήματος), όπου ανοίγοντας το μπορούμε να κάνουμε τις ρυθμίσεις στις οποίες θα αναφερθούμε στο user manual το οποίο θα ακολουθήσει. Αυτός είναι ο βασικός λόγος στον οποίο διαφέρει η εφαρμογή από οποιοδήποτε άλλο πρόγραμμα σε μεταφραστικό περιβάλλον. Πρόκειται για μια εφαρμογή η οποία διαχειρίζεται τη βάση του bing translator μέσω του διαδικτύου για να μπορέσει να μεταφράσει το κείμενο που του δώσαμε. Παρακάτω θα αναπτύξουμε την εφαρμογή στον κώδικα που χρησιμοποιήσαμε και θα αναφερθούμε στον κώδικα μας σε σχόλια Global Hotkeys.cs using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows; using System.Windows.Input; namespace Translator /// Κλάση που γίνεται η διαχείριση των HotKeys public class GlobalHotkeys : IDisposable [DllImport("user32", SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] Σελίδα 41 από 89

42 public static extern bool RegisterHotKey(IntPtr hwnd, int id, uint fsmodifiers, uint vk); [DllImport("user32", SetLastError = true)] public static extern int UnregisterHotKey(IntPtr hwnd, int id); [DllImport("kernel32", SetLastError = true)] public static extern short GlobalAddAtom(string lpstring); [DllImport("kernel32", SetLastError = true)] public static extern short GlobalDeleteAtom(short natom); public const int MOD_ALT = 0x0001; public const int MOD_CONTROL = 0x0002; public const int MOD_SHIFT = 0x0004; public GlobalHotkeys() this.handle = Process.GetCurrentProcess().Handle; Handle of the current process</summary> public IntPtr Handle; The ID for the hotkey</summary> public short HotkeyID get; private set; Register the hotkey</summary> public void RegisterGlobalHotKey(int hotkey, int modifiers, IntPtr handle) UnregisterGlobalHotKey(); this.handle = handle; RegisterGlobalHotKey(hotkey, modifiers); Register the hotkey</summary> public void RegisterGlobalHotKey(int hotkey, Boolean ctrl, Boolean alt, Boolean shift, IntPtr handle) UnregisterGlobalHotKey(); this.handle = handle; RegisterGlobalHotKey(hotkey, booleanstomodifiers(ctrl, alt, shift)); private int booleanstomodifiers(boolean ctrl, Boolean alt, Boolean shift) if (ctrl && alt && shift) Σελίδα 42 από 89

43 return MOD_CONTROL MOD_ALT MOD_SHIFT; else if (ctrl && alt &&!shift) return MOD_CONTROL MOD_ALT; else if (ctrl &&!alt && shift) return MOD_CONTROL MOD_SHIFT; else if (!ctrl && alt && shift) return MOD_ALT MOD_SHIFT; else if (ctrl &&!alt &&!shift) return MOD_CONTROL; else if (!ctrl && alt &&!shift) return MOD_ALT; else if (!ctrl &&!alt && shift) return MOD_SHIFT; else return 0; Register the hotkey</summary> public void RegisterGlobalHotKey(int hotkey, int modifiers) UnregisterGlobalHotKey(); try // use the GlobalAddAtom API to get a unique ID (as suggested by MSDN) string atomname = Thread.CurrentThread.ManagedThreadId.ToString("X8") + this.gettype().fullname; HotkeyID = GlobalAddAtom(atomName); if (HotkeyID == 0) throw new Exception("Unable to generate unique hotkey ID. Error: " + Marshal.GetLastWin32Error().ToString()); // register the hotkey, throw if any error if (!RegisterHotKey(this.Handle, HotkeyID, (uint)modifiers, (uint)hotkey)) throw new Exception("Unable to register hotkey. Error: " + Marshal.GetLastWin32Error().ToString()); catch (Exception ex) // clean up if hotkey registration failed Dispose(); Console.WriteLine(ex); Σελίδα 43 από 89

44 Unregister the hotkey</summary> public void UnregisterGlobalHotKey() if (this.hotkeyid!= 0) UnregisterHotKey(this.Handle, HotkeyID); // clean up the atom list GlobalDeleteAtom(HotkeyID); HotkeyID = 0; public void Dispose() UnregisterGlobalHotKey(); public struct COPYDATASTRUCT public IntPtr dwdata; public int cbdata; [MarshalAs(UnmanagedType.LPStr)] public string lpdata; /// συνάρτηση που με την χρήση του WIN API, /// βρίσκει το παράθυρο που είναι επιλεγμένο από τον χρήστη /// και παίρνει το κείμενο που έχει επιλέξει ο χρήστης public string GetTextFromFocusedControl(IntPtr handle) try int activewinptr = GetForegroundWindow().ToInt32(); int activethreadid = 0, processid; activethreadid = GetWindowThreadProcessId(activeWinPtr, out processid); int currentthreadid = GetCurrentThreadId(); if (activethreadid!= currentthreadid) AttachThreadInput(activeThreadId, currentthreadid, true); IntPtr activectrlid = GetFocus(); return CopyText(activeCtrlId); Σελίδα 44 από 89

45 catch (Exception exp) return exp.message; /// με την χρήση της κλάσης Keyboard και την παραπάνω συνάρτηση GetTextFromFocusedControl, /// αντιγράφεται το κείμενο που έχει επιλέξει ο χρήστης, σε οποιοδήποτε παράθυρο. /// στην ουσία η κλάση Keyboard μας βοηθάει και κάνουμε εικονική αντιγραφή /// και επιστρέφουμε το αντιγραμμένο κείμενο. private string CopyText(IntPtr handle) Keyboard.SimulateKeyStroke('c', true, false, false); Thread.Sleep(200); return Clipboard.GetText(); [StructLayout(LayoutKind.Sequential)] public class Point public int x; public int y; [DllImport("user32.dll")] public static extern bool GetCursorPos(out Point pt); [DllImport("user32.dll", EntryPoint = "WindowFromPoint", CharSet = CharSet.Auto, ExactSpelling = true)] public static extern IntPtr WindowFromPoint(Point pt); [DllImport("user32.dll", EntryPoint = "SendMessageW")] public static extern int SendMessageW([InAttribute] System.IntPtr hwnd, int Msg, int wparam, IntPtr lparam); [DllImport("user32.dll", EntryPoint = "SendMessageW")] public static extern int SendMessageW([InAttribute] System.IntPtr hwnd, int Msg, int wparam, int lparam); [DllImport("user32.dll", EntryPoint = "SendMessageW")] Σελίδα 45 από 89

46 public static extern int SendMessageW([InAttribute] System.IntPtr hwnd, int Msg, int wparam, ref COPYDATASTRUCT lparam); public const int WM_GETTEXT = 13; public const int WM_COPYDATA = 0x004A; public const int WM_COPY = 0x0301; [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)] internal static extern IntPtr GetForegroundWindow(); [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)] internal static extern IntPtr GetFocus(); [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] internal static extern int GetWindowThreadProcessId(int handle, out int processid); [DllImport("user32", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)] internal static extern int AttachThreadInput(int idattach, int idattachto, bool fattach); [DllImport("kernel32.dll")] internal static extern int GetCurrentThreadId(); [DllImport("user32", CharSet = CharSet.Auto, SetLastError = true)] internal static extern int GetWindowText(IntPtr hwnd, [Out, MarshalAs(UnmanagedType.LPTStr)] StringBuilder lpstring, int nmaxcount); Keyboard.cs using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; namespace Translator Σελίδα 46 από 89

47 /// κλάση που χρησιμοποιείται για να γίνει "εικονικό" πάτημα κουμπιών του πληκτρολογίου, για την αντιγραφή του επιλεγμένου κειμένου. class Keyboard public static string[] keys = new string[] "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12" ; /// συνάρτηση που κάνει το "εικονικό" πάτημα κουμπίών public static void SimulateKeyStroke(char key, bool ctrl, bool alt, bool shift ) List<ushort> keys = new List<ushort>(); if (ctrl) keys.add(vk_control); if (alt) keys.add(vk_menu); if (shift) keys.add(vk_shift); keys.add(char.toupper(key)); INPUT input = new INPUT(); input.type = INPUT_KEYBOARD; int inputsize = Marshal.SizeOf(input); for (int i = 0; i < keys.count; ++i) input.mkhi.ki.wvk = keys[i]; bool iskeydown = (GetAsyncKeyState(keys[i]) & 0x10000)!= 0; if (!iskeydown) SendInput(1, ref input, inputsize); input.mkhi.ki.dwflags = KEYEVENTF_KEYUP; for (int i = keys.count - 1; i >= 0; --i) input.mkhi.ki.wvk = keys[i]; Σελίδα 47 από 89

48 SendInput(1, ref input, inputsize); [DllImport("user32.dll")] static extern uint SendInput(uint ninputs, ref INPUT pinputs, int cbsize); [DllImport("user32.dll")] static extern short GetAsyncKeyState(ushort vkey); struct MOUSEINPUT public int dx; public int dy; public uint mousedata; public uint dwflags; public uint time; public IntPtr dwextrainfo; struct KEYBDINPUT public ushort wvk; public ushort wscan; public uint dwflags; public uint time; public IntPtr dwextrainfo; struct HARDWAREINPUT public int umsg; public short wparaml; public short wparamh; [StructLayout(LayoutKind.Explicit)] struct MOUSEKEYBDHARDWAREINPUT [FieldOffset(0)] public MOUSEINPUT mi; [FieldOffset(0)] public KEYBDINPUT ki; [FieldOffset(0)] Σελίδα 48 από 89

49 public HARDWAREINPUT hi; struct INPUT public int type; public MOUSEKEYBDHARDWAREINPUT mkhi; const int INPUT_KEYBOARD = 1; const uint KEYEVENTF_KEYUP = 0x0002; const ushort VK_SHIFT = 0x10; const ushort VK_CONTROL = 0x11; const ushort VK_MENU = 0x12; Languages.cs using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Translator /// βοηθητική κλάση που "κρατάει" λίστα με της υποστηριζόμενες γλώσσες για μετάφραση και για ήχο. class Languages /// οι υποστηριζόμενες γλώσσες για μετάφραση σε μορφή πίνακα private static String[] supportedlanguages = new String[] "ar - Arabic", "cs - Czech", "ar - Arabic", "cs - Czech", "da - Danish", "de - German", "en - English", "et - Estonian", "fi - Finnish", "fr - French", "nl - Dutch", "el - Greek", "he - Hebrew", "ht - Haitian", "hu - Hungarian", "id - Indonesian", "it - Italian", "ja - Japanese", "ko - Korean", "lt - Lithuanian", Σελίδα 49 από 89

50 "lv - Latvian", "no - Norwegian", "pl - Polish ", "pt - Portuguese", "ro - Romanian", "es - Spanish", "ru - Russian", "sk - Slovak", "sl - lovene", "sv - Swedish", "th - Thai", "tr - Turkish", "uk - Ukrainian", "vi - Vietnamese", "zh-chs - S Chinese", "zh-cht - T Chinese" ; /// οι υποστηριζόμενες γλώσσες για ήχο σε μορφή πίνακα private static String[] supportedvoicelanguages = new String[] "ca", "da", "de", "en", "es", "fi", "fr", "it", "ja", "ko", "nl", "no", "pl", "pt", "ru", "sv" ; /// η λίστα που εμφανίζεται στα "comboboxes" της εφαρμογή μας, /// όπως φαίνεται και στον static δημιουργό της κλάσης εμπεριέχει ότι και η λίστα supportedlanguages, /// απλά και το "auto" που είναι για την αυτόματη αναγνώριση. public static ArrayList list = new ArrayList(); /// static δημιουργός static Languages() foreach (String language in supportedlanguages) String displayname = language.substring(language.indexof("-") + 2); list.add(new Language(language, displayname)); list.add(new Language("auto","Αυτόματη αναγνώριση")); /// λίστα μόνο με το πως "ονομάζετε" η γλώσσα και όχι τον κωδικό αναφοράς. /// π.χ. για τα Ελληνικά εμφανίζεται το "Greek" και όχι το "el" internal static ArrayList getdisplaynamelist() ArrayList templist = new ArrayList(); foreach (Language language in list) templist.add(language.displayname); return templist; Σελίδα 50 από 89

51 /// λίστα με τις γλώσσες χωρίς το auto internal static ArrayList getdisplaynamelistwithoutauto() ArrayList templist = getdisplaynamelist(); templist.removeat(list.count - 1); return templist; /// επιστροφή δείκτη θέσης συγκεκριμένης γλώσσας στην λίστα internal static int getindexoflanguage(string codename) int rv=0; for (int i = 0; i < list.count; i++) if (codename.equals(((language)list[i]).codename)) rv = i; return rv; /// επιστροφή κωδικού αναφοράς γλώσσας με βάση την περιγραφή γλώσσας internal static String getcodenamefromdisplayname(string displayname) String codename = ((Language)list[0]).CodeName; foreach (Language language in list) if (language.displayname.equals(displayname)) codename = language.codename; return codename; /// επιστρέφει αν η γλώσσα υποστηρίζει ήχο internal static bool IsSpeakLanguage(string languageshort) bool rv = false; foreach (String language in supportedvoicelanguages) Σελίδα 51 από 89

52 if (language.equals(languageshort)) rv = true; return rv; /// υποκλάσση για την κάθε γλώσσα χωριστά class Language private String codename; public String CodeName get return codename; private String displayname; public String DisplayName get return displayname; public Language(String codename, String displayname) this.codename = codename; this.displayname = displayname; NotifyTray.xaml <UserControl x:class="translator.notifytray" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markupcompatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:tb="http://www.hardcodet.net/taskbar" Σελίδα 52 από 89

53 mc:ignorable="d" d:designheight="300" d:designwidth="300"> <Grid> <tb:taskbaricon x:name="mynotifyicon" IconSource="Icons/Computers.ico" PopupActivation="RightClick" > <tb:taskbaricon.traypopup> <Border Background="White" BorderBrush="Orange" BorderThickness="2" CornerRadius="4" Width="160"> <StackPanel > <Label HorizontalContentAlignment="Center" Content="TRANSLATOR" /> <Separator/> <Button Width="100" Click="Button_Click_1" Margin="10">START/STOP</Button> <Button Width="100" Click="Button_Click_1" Margin="10">SETTINGS</Button> <Button Width="100" Click="Button_Click_1" Margin="10">TRANSLATOR</Button> <Button Width="100" Click="Button_Click_1" Margin="10">EXIT</Button> </StackPanel> </Border> </tb:taskbaricon.traypopup> </tb:taskbaricon> </Grid> </UserControl> NotifyTray.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; Σελίδα 53 από 89

54 using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace Translator /// Κλάση που διαχειρίζεται την λογική του UI για το trayicon. public partial class NotifyTray : UserControl public NotifyTray() InitializeComponent(); /// συνάρτηση να προωθήσει στην μητρική κλάση το πάτημα κάποιου κουμπιού private void Button_Click_1(object sender, RoutedEventArgs e) Button b = sender as Button; Console.WriteLine(b.Content); if (OnPushed!= null) OnPushed(b.Content.ToString()); public delegate void ButtonPushedEventHandler(object sender); public event ButtonPushedEventHandler OnPushed; /// Συνάρτηση εμφάνισης "μπαλονιού" μηνύματος internal void ShowBalloonTip(string title, string message) MyNotifyIcon.ShowBalloonTip(title, message, MyNotifyIcon.Icon); Σελίδα 54 από 89

55 4.1.6 Preferences.xaml <Window x:class="translator.preferences" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:translator" Title="Preferences" Height="160" Width="600" Closing="Window_Closing_1" Loaded="Window_Loaded_1" > <StackPanel> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center"> <GroupBox Header="Languages" Margin="10"> <Grid> <Grid.RowDefinitions> <RowDefinition/> <RowDefinition/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="0.5*"/> <ColumnDefinition Width="0.3*"/> <ColumnDefinition Width="0.2*"/> </Grid.ColumnDefinitions> <Label Content="Default From Language :" Grid.Row="0" Grid.Column="0"/> <Label Content="Default To Language :" Grid.Row="1" Grid.Column="0"/> <ComboBox x:name="fromlanguagecombo" Grid.Row="0" Grid.Column="1" Width="100"/> <ComboBox x:name="tolanguagecombo" Grid.Row="1" Grid.Column="1" Width="100"/> <Button Grid.Row="0" Grid.RowSpan="2" Grid.Column="2" Click="SwapLanguages">)</Button> </Grid> </GroupBox> <GroupBox Header="Shortcut to translate" Margin="10"> <StackPanel Orientation="Horizontal"> <StackPanel> <CheckBox x:name="translatekeyctrl" Content="CTRL" IsChecked="True"/> <CheckBox x:name="translatekeyalt" Content="ALT"/> <CheckBox x:name="translatekeyshift" Content="SHIFT"/> </StackPanel> <ComboBox x:name="translatekeycombo" Margin="10,0,0,0" Height="20" Width="50" VerticalAlignment="Top"/> Σελίδα 55 από 89

56 </StackPanel> </GroupBox> <GroupBox Header="Shortcut to start/stop" Margin="10" > <StackPanel Orientation="Horizontal"> <StackPanel> <CheckBox x:name="startstopkeyctrl" Content="CTRL" IsChecked="True"/> <CheckBox x:name="startstopkeyalt" Content="ALT"/> <CheckBox x:name="startstopkeyshift" Content="SHIFT"/> </StackPanel> <StackPanel Margin="10,0,0,0"> <ComboBox x:name="startstopkeycombo" Text="F11" Height="20" Width="70" HorizontalAlignment="Left" VerticalAlignment="Top"/> <CheckBox x:name="startstopkeyenable" Content="ENABLED" IsChecked="True"/> </StackPanel> </StackPanel> </GroupBox> </StackPanel> <Button Width="120" Click="Button_Click_1" > Save Settings</Button> <local:notifytray x:name="notifytray" OnPushed="Button_OnPushed"/> </StackPanel> </Window> Preferences.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Interop; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; Σελίδα 56 από 89

57 namespace Translator /// Κλάση που διαχειρίζεται την λογική του UI των ρυθμίσεων. public partial class Preferences : Window TranslatorUI translatorui; RegUserPreferences data; GlobalHotkeys hotkeytotranslate,hotkeytostartstop; Boolean hotkeytotranslateregistered = false; /// δημιουργός της κλάσης public Preferences() InitializeComponent(); loadpreferences(); /// συνάρτηση ελέγχου κλείσιμο του παραθύρου ώστε να το κρύψει απλώς και όχι να το κλείσει. private void Window_Closing_1(object sender, System.ComponentModel.CancelEventArgs e) this.visibility = Visibility.Hidden; e.cancel = true; /// συνάρτηση ελέγχου ότι φορτώθηκε η φόρμα, /// ώστε να ξεκινήσει κάποιες ρυθμίσεις που έχουν αποθηκευτεί να ξεκινάνε στην εκκίνηση private void Window_Loaded_1(object sender, RoutedEventArgs e) HwndSource source = HwndSource.FromHwnd(new WindowInteropHelper(this).Handle); source.addhook(new HwndSourceHook(WndProc)); if (data.startstopenabled) Σελίδα 57 από 89

58 registerhotkeytostartstop(); /// συνάρτηση διαχείρισης μυνημάτων σε επίπεδο WIN API private IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wparam, IntPtr lparam, ref bool handled) //is it correct to "be" here? const int WM_HOTKEY = 0x0312; switch (msg) case WM_HOTKEY: if ((long)lparam == ) // ?? //if ((short)wparam == hotkeytostartstop.hotkeyid) startstoptranslate(); else if ((long)lparam == ) //else if ((short)wparam == hotkeytotranslate.hotkeyid) translate(); break; return IntPtr.Zero; /// συνάρτηση για το φόρτωμα των ρυθμίσεων από την registry του υπολογιστή private void loadpreferences() data = new RegUserPreferences(); FromLanguageCombo.ItemsSource = Languages.getDisplayNameList(); ToLanguageCombo.ItemsSource = Languages.getDisplayNameListWithoutAuto(); translatekeycombo.itemssource = Keyboard.keys; startstopkeycombo.itemssource = Keyboard.keys; Σελίδα 58 από 89

59 FromLanguageCombo.SelectedIndex = Languages.getIndexOfLanguage(data.FromLanguage); ToLanguageCombo.SelectedIndex = Languages.getIndexOfLanguage(data.ToLanguage); translatekeycombo.text = data.key; translatekeyctrl.ischecked = data.ctrl; translatekeyalt.ischecked = data.alt; translatekeyshift.ischecked = data.shift; startstopkeycombo.text = data.startstopkey; startstopkeyctrl.ischecked = data.startstopctrl; startstopkeyalt.ischecked = data.startstopalt; startstopkeyshift.ischecked = data.startstopshift; startstopkeyenable.ischecked = data.startstopenabled; /// συνάρτηση που χρησιμοποιείται για την μετάφραση του επιλεγμένου κειμένου private void translate() string source = hotkeytotranslate.gettextfromfocusedcontrol(new WindowInteropHelper(this).Handle); string result = Translate.translate(source); if (result.equals("translatorexception")) Translate.init(); result = Translate.translate(source); Console.WriteLine("TRANSLATE source :" + source + ", result : " + result); notifytray.showballoontip("translator", "Trying to translate message..."); if (translatorui == null) translatorui = new TranslatorUI(); translatorui.onclose += translatorui_onclose; translatorui.setsourcetext(source); translatorui.setresulttext(result); translatorui.show(); else translatorui.setsourcetext(source); Σελίδα 59 από 89

60 translatorui.setresulttext(result); if (translatorui.windowstate == WindowState.Minimized) translatorui.windowstate = WindowState.Normal; translatorui.focus(); /// βοηθητική συνάρτηση ώστε να διαγράφει από την μνήμη το παράθυρο μετάφρασης private void translatorui_onclose() translatorui = null; /// συνάρτηση που αποθηκεύει τις ρυθμίσεις στην registry του υπολογιστή private void Button_Click_1(object sender, RoutedEventArgs e) data.fromlanguage = Languages.getCodeNameFromDisplayName(FromLanguageCombo.Text); data.tolanguage = Languages.getCodeNameFromDisplayName(ToLanguageCombo.Text); data.key = translatekeycombo.text; data.ctrl = translatekeyctrl.ischecked.value; data.alt = translatekeyalt.ischecked.value; data.shift = translatekeyshift.ischecked.value; data.startstopkey = startstopkeycombo.text; data.startstopctrl = startstopkeyctrl.ischecked.value; data.startstopalt = startstopkeyalt.ischecked.value; data.startstopshift = startstopkeyshift.ischecked.value; bool oldstartstopenabled = data.startstopenabled; data.startstopenabled = startstopkeyenable.ischecked.value; notifytray.showballoontip("translator", "Settings saved!"); data.save(); if (data.startstopenabled &&!oldstartstopenabled) registerhotkeytostartstop(); else if (!data.startstopenabled && oldstartstopenabled) unregisterhotkeytostartstop(); Σελίδα 60 από 89

61 /// συνάρτηση ανταλλαγής επιλεγμένων γλωσσών. private void SwapLanguages(object sender, RoutedEventArgs e) int pos = FromLanguageCombo.SelectedIndex; FromLanguageCombo.SelectedIndex = ToLanguageCombo.SelectedIndex; ToLanguageCombo.SelectedIndex = pos; /// συνάρτηση καταχώρησης HotKey για την ενεργοποίηση / απενεργοποίηση του συστήματος /// μαζί με την διαγραφή του χρησιμοποίεται ώστε να μην είναι ενεργοποιημένο πάντα το HotKey για την μετάφραση private void registerhotkeytostartstop() System.Windows.Input.Key mykey = (System.Windows.Input.Key)Enum.Parse(typeof(System.Windows.Input.Key), data.startstopkey); //Console.WriteLine("registerHotKeyToStartStop"); //Console.WriteLine(myKey + " " + data.startstopctrl + " " + data.startstopalt + " " + data.startstopshift); hotkeytostartstop = new GlobalHotkeys(); hotkeytostartstop.registerglobalhotkey(keyinterop.virtualkeyfromkey(myke y), data.startstopctrl, data.startstopalt, data.startstopshift, new WindowInteropHelper(this).Handle); /// συνάρτηση διαγραφής της καταχώρησης HotKey για την ενεργοποίηση / απενεργοποίηση του συστήματος private void unregisterhotkeytostartstop() hotkeytostartstop.unregisterglobalhotkey(); Σελίδα 61 από 89

62 /// συνάρτηση ενεργοποίησης / απενεργοποίησης δυνατότητας μετάφρασης με την χρήση HotKey private void startstoptranslate() if (!hotkeytotranslateregistered) notifytray.showballoontip("translator", "Το Hotkey για την μετάφραση ενεργοποιήθηκε"); System.Windows.Input.Key mykey = (System.Windows.Input.Key)Enum.Parse(typeof(System.Windows.Input.Key), data.key); //Console.WriteLine(myKey.ToString()); hotkeytotranslate = new GlobalHotkeys(); hotkeytotranslate.registerglobalhotkey(keyinterop.virtualkeyfromkey(myke y), data.ctrl, data.alt, data.shift, new WindowInteropHelper(this).Handle); //Translate.init(); hotkeytotranslateregistered = true; else notifytray.showballoontip("translator", "Το Hotkey για την μετάφραση απενεργοποιήθηκε"); hotkeytotranslate.unregisterglobalhotkey(); hotkeytotranslateregistered = false; /// συνάρτηση διαχείρισης των επιλογών που έγιναν στο TrayIcon private void Button_OnPushed(object sender) String msg = sender as string; if (msg.equals("settings")) loadpreferences(); this.visibility = Visibility.Visible; else if (msg.equals("translator")) translatorui = new TranslatorUI(); translatorui.onclose += translatorui_onclose; translatorui.show(); this.visibility = Visibility.Collapsed; Σελίδα 62 από 89

63 else if (msg.equals("start/stop")) startstoptranslate(); else if (msg.equals("exit")) Application.Current.Shutdown(); RegUserPreferences.cs using Microsoft.Win32; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Translator /// Κλάση που αποθηκεύει τις ρυθμίσεις του χρήστη class RegUserPreferences : UserPreferences /// δημιουργός της κλάσης, /// σε πρώτη φάση ελέγχει αν υπάρχουν αποθηκευμένες ρυθμίσεις και τις φορτώνει, /// αλλιώς εμφανίζει κάποιες προεπιλεγμένες public RegUserPreferences() RegistryKey UserPrefs = Registry.CurrentUser.OpenSubKey("SOFTWARE\\TEIKAV\\Translator", true); if (UserPrefs!= null) _ToLanguage = UserPrefs.GetValue("ToLanguage").ToString(); _FromLanguage = UserPrefs.GetValue("FromLanguage").ToString(); _Key = UserPrefs.GetValue("Key").ToString(); Σελίδα 63 από 89

64 _CTRL = Convert.ToBoolean(UserPrefs.GetValue("CTRL").ToString()); _ALT = Convert.ToBoolean(UserPrefs.GetValue("ALT").ToString()); _SHIFT = Convert.ToBoolean(UserPrefs.GetValue("SHIFT").ToString()); _startstopkey = UserPrefs.GetValue("startstopKey").ToString(); _startstopctrl = Convert.ToBoolean(UserPrefs.GetValue("startstopCTRL").ToString()); _startstopalt = Convert.ToBoolean(UserPrefs.GetValue("startstopALT").ToString()); _startstopshift = Convert.ToBoolean(UserPrefs.GetValue("startstopSHIFT").ToString()); _startstopenabled = Convert.ToBoolean(UserPrefs.GetValue("startstopENABLED").ToString()); else // Key did not exist so use defaults _ToLanguage = "el"; _FromLanguage = "en"; _Key = "F11"; _CTRL = true; _ALT = false; _SHIFT = false; _startstopkey = "F12"; _startstopctrl = true; _startstopalt = false; _startstopshift = false; _startstopenabled = true; /// συνάρτηση αποθήκευσης των ρυθμίσεων public void Save() RegistryKey UserPrefs = Registry.CurrentUser.OpenSubKey("SOFTWARE\\TEIKAV\\Translator", true); if (UserPrefs == null) // Value does not already exist so create it Σελίδα 64 από 89

65 RegistryKey newkey = Registry.CurrentUser.CreateSubKey("SOFTWARE\\TEIKAV"); UserPrefs = newkey.createsubkey("translator"); UserPrefs.SetValue("ToLanguage", _ToLanguage); UserPrefs.SetValue("FromLanguage", _FromLanguage); UserPrefs.SetValue("Key", _Key); UserPrefs.SetValue("CTRL", _CTRL); UserPrefs.SetValue("ALT", _ALT); UserPrefs.SetValue("SHIFT", _SHIFT); UserPrefs.SetValue("startstopKey", _startstopkey); UserPrefs.SetValue("startstopCTRL", _startstopctrl); UserPrefs.SetValue("startstopALT", _startstopalt); UserPrefs.SetValue("startstopSHIFT", _startstopshift); UserPrefs.SetValue("startstopENABLED", _startstopenabled); Translate.cs using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Media; using System.Net; using System.Runtime.Serialization; using System.Runtime.Serialization.Json; using System.ServiceModel; using System.ServiceModel.Channels; using System.Text; using System.Threading.Tasks; namespace Translator /// κλάση διαχείρισης της μετάφρασης class Translate Σελίδα 65 από 89

66 static RegUserPreferences data; static AdmAccessToken admtoken; static string headervalue; static AdmAuthentication admauth; /// συνάρτηση εκκίνησης της διαδικασίας μετάφρασης public static bool init() data = new RegUserPreferences(); admauth = new AdmAuthentication("teikavtranslatorZaxVag", "c8njsbyijgdzrky9iz8vs2k8dpigxxy94ctpe/ii1zg="); try admtoken = admauth.getaccesstoken(); headervalue = "Bearer " + admtoken.access_token; catch (Exception ex) Console.WriteLine(ex.Message); return false; //GetLanguagesForSpeakMethod(); return true; /// συνάρτηση μετάφρασης /// <param name="sourcetext"> κείμενο προς μετάφραση</param> /// <returns>μεταφρασμένο κείμενο</returns> public static string translate(string sourcetext) data = new RegUserPreferences(); string fromlanguage = data.fromlanguageshort; if (data.fromlanguageshort.equals("auto")) fromlanguage = detect(sourcetext); if (fromlanguage.equals("translatorexception")) init(); fromlanguage = detect(sourcetext); try Σελίδα 66 από 89

67 TranslatorService.LanguageServiceClient client = new TranslatorService.LanguageServiceClient(); HttpRequestMessageProperty httprequestproperty = new HttpRequestMessageProperty(); httprequestproperty.headers.add("authorization", headervalue); using (OperationContextScope scope = new OperationContextScope(client.InnerChannel)) OperationContext.Current.OutgoingMessageProperties[HttpRequestMessagePro perty.name] = httprequestproperty; string translationresult; translationresult = client.translate("", sourcetext, fromlanguage, data.tolanguageshort, "text/plain", ""); return translationresult; catch (Exception ) //return (ex.message); return "TranslatorException"; /// συνάρτηση που ελέγχει σε τι γλώσσα είναι το κείμενο που δίνεται σαν παράμετρος, /// χρησιμοποιείται για την αυτόματη αναγνώριση /// <param name="sourcetext">κείμενο που γίνεται ο έλεγχος της γλώσσας προέλευσης</param> /// <returns>κωδικός γλώσσας προέλευσης</returns> public static string detect(string sourcetext) try TranslatorService.LanguageServiceClient client = new TranslatorService.LanguageServiceClient(); HttpRequestMessageProperty httprequestproperty = new HttpRequestMessageProperty(); httprequestproperty.headers.add("authorization", headervalue); Σελίδα 67 από 89

68 using (OperationContextScope scope = new OperationContextScope(client.InnerChannel)) OperationContext.Current.OutgoingMessageProperties[HttpRequestMessagePro perty.name] = httprequestproperty; string translationresult; translationresult = client.detect("", sourcetext); return translationresult; catch (Exception) //return (ex.message); return "TranslatorException"; /// συνάρτηση για λίστα με τις γλώσσες που υποστηρίζονται για ήχο public static void GetLanguagesForSpeakMethod() string uri = "http://api.microsofttranslator.com/v2/http.svc/getlanguagesforspeak"; HttpWebRequest httpwebrequest = (HttpWebRequest)WebRequest.Create(uri); httpwebrequest.headers.add("authorization", headervalue); WebResponse response = null; try response = httpwebrequest.getresponse(); using (Stream stream = response.getresponsestream()) System.Runtime.Serialization.DataContractSerializer dcs = new System.Runtime.Serialization.DataContractSerializer(typeof(List<string>)); List<string> languagesforspeak = (List<string>)dcs.ReadObject(stream); Console.WriteLine("The languages available for speak are: "); languagesforspeak.foreach(a => Console.WriteLine(a)); catch Σελίδα 68 από 89

69 throw; //400? finally if (response!= null) response.close(); response = null; /// συνάρτηση δημιουργίας ομιλίας σύμφωνα με επιλεγμένο κείμενο /// <param name="message">κείμενο να "ακουστεί"</param> public static string SpeakMethod(string message) data = new RegUserPreferences(); string uri = "http://api.microsofttranslator.com/v2/http.svc/speak?text=" + message + "&language=" + data.fromlanguageshort + "&format=audio/wav" + "&options=maxquality"; WebRequest webrequest = WebRequest.Create(uri); webrequest.headers.add("authorization", headervalue); WebResponse response = null; try response = webrequest.getresponse(); using (Stream stream = response.getresponsestream()) using (SoundPlayer player = new SoundPlayer(stream)) player.playsync(); catch return "error"; throw; finally Σελίδα 69 από 89

70 if (response!= null) response.close(); response = null; return ""; [DataContract] public class AdmAccessToken [DataMember] public string access_token get; set; [DataMember] public string token_type get; set; [DataMember] public string expires_in get; set; [DataMember] public string scope get; set; /// κλάση για την αυθεντικοποίηση με τον server public class AdmAuthentication public static readonly string DatamarketAccessUri = "https://datamarket.accesscontrol.windows.net/v2/oauth2-13"; private string clientid; private string cientsecret; private string request; public AdmAuthentication(string clientid, string clientsecret) this.clientid = clientid; this.cientsecret = clientsecret; //If clientid or client secret has special characters, encode before sending request this.request = string.format("grant_type=client_credentials&client_id=0&client_secret=1&sc ope=http://api.microsofttranslator.com", System.Uri.EscapeDataString(clientId), System.Uri.EscapeDataString(clientSecret)); Σελίδα 70 από 89

71 public AdmAccessToken GetAccessToken() return HttpPost(DatamarketAccessUri, this.request); private AdmAccessToken HttpPost(string DatamarketAccessUri, string requestdetails) //Prepare OAuth request WebRequest webrequest = WebRequest.Create(DatamarketAccessUri); webrequest.contenttype = "application/x-www-form-urlencoded"; webrequest.method = "POST"; byte[] bytes = Encoding.ASCII.GetBytes(requestDetails); webrequest.contentlength = bytes.length; using (Stream outputstream = webrequest.getrequeststream()) outputstream.write(bytes, 0, bytes.length); using (WebResponse webresponse = webrequest.getresponse()) DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(AdmAccessToken)); //Get deserialized object from JSON stream AdmAccessToken token = (AdmAccessToken)serializer.ReadObject(webResponse.GetResponseStream()); return token; TranslatorUI.xaml <Window x:class="translator.translatorui" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Translator" Height="150" Width="600" Loaded="Window_Loaded" Closing="Window_Closing" > <Window.Resources> <Style TargetType="ComboBox"> <Setter Property="Height" Value="25"/> <Setter Property="Width" Value="100"/> Σελίδα 71 από 89

72 <Setter Property="HorizontalAlignment" Value="Left"/> <Setter Property="VerticalContentAlignment" Value="Center"/> <Setter Property="Background" Value="LightGray"/> </Style> </Window.Resources> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="40"/> <RowDefinition/> </Grid.RowDefinitions> <ComboBox x:name="fromlanguagecombo" Grid.Row="0" Grid.Column="0" SelectionChanged="FromLanguageCombo_SelectionChanged" /> <!--Border Style="StaticResource BorderButton" Grid.Row="0" Grid.Column="0" HorizontalAlignment="Right"> <Label>swap</Label> </Border--> <Button Click="SwapLanguages" x:name="swapbutton" Grid.Row="0" Grid.Column="0" HorizontalAlignment="Right" Foreground="Black" Background="LightGray" BorderThickness="0" Height="30" Width="60" >SWAP</Button> <ComboBox x:name="tolanguagecombo" Margin="10,0,0,0" Grid.Row="0" Grid.Column="1" SelectionChanged="ToLanguageCombo_SelectionChanged" /> <CheckBox Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center" Content="Auto" Name="AutoTranslateCheckBox" Unchecked="AutoTranslateCheckBox_Unchecked" Checked="AutoTranslateCheckBox_Checked"/> <Button Click="TranslateText" Name="TranslateButton" Grid.Row="0" Grid.Column="1" HorizontalAlignment="Right" Margin="0,0,10,0" Foreground="White" Background="#FF2675FF" BorderThickness="0" Height="30" Width="60" >Translate</Button> <TextBox Grid.Row="1" Grid.Column="0" TextWrapping="Wrap" AcceptsReturn="True" x:name="textfrom" TextChanged="TextFrom_TextChanged"/> Σελίδα 72 από 89

73 <TextBox Margin="10,0,0,0" Grid.Row="1" Grid.Column="1" TextWrapping="Wrap" AcceptsReturn="True" Focusable="True" x:name="textto" IsReadOnly="True" Background="#FFE8E8E8"/> <Image Name="SpeakImage" HorizontalAlignment="Left" VerticalAlignment="Bottom" Height="15" Margin="5,0,0,5" Grid.Row="1" Width="15" Source="Icons/voice.png" MouseLeftButtonDown="Image_MouseLeftButtonDown"/> </Grid> </Window> TranslatorUI.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace Translator /// Κλάση που διαχειρίζεται την λογική του UI του μεταφραστή. public partial class TranslatorUI : Window /// οι ρυθμίσεις του χρήστη RegUserPreferences data; public TranslatorUI() InitializeComponent(); Σελίδα 73 από 89

74 /// συνάρτηση ελέγχου για το φόρτωμα τις φόρμας, /// ώστε να φορτώσει τις επιλογές του χρήστη στα comboboxeσ private void Window_Loaded(object sender, RoutedEventArgs e) data = new RegUserPreferences(); FromLanguageCombo.ItemsSource = Languages.getDisplayNameList(); ToLanguageCombo.ItemsSource = Languages.getDisplayNameListWithoutAuto(); FromLanguageCombo.SelectedIndex = Languages.getIndexOfLanguage(data.FromLanguage); ToLanguageCombo.SelectedIndex = Languages.getIndexOfLanguage(data.ToLanguage); this.keydown += new KeyEventHandler(MainWindow_KeyDown); /// συνάρτηση ελέγχου του πλήκτρου που πατιέται από το πληκτρολόγιο, /// ώστε να κλείνει το παράθυρο με την χρήση του κουμπιού ESC void MainWindow_KeyDown(object sender, KeyEventArgs e) if (e.key == Key.Escape) this.close(); /// συνάρτηση μετάφρασης private void TranslateText(object sender, RoutedEventArgs e) String texttotranslate = TextFrom.Text; string result = Translate.translate(textToTranslate); if (result.equals("translatorexception")) Translate.init(); result = Translate.translate(textToTranslate); TextTo.Text = result; Σελίδα 74 από 89

75 /// συνάρτηση ανταλλαγής επιλεγμένων γλώσσων private void SwapLanguages(object sender, RoutedEventArgs e) int pos = FromLanguageCombo.SelectedIndex; FromLanguageCombo.SelectedIndex = ToLanguageCombo.SelectedIndex; ToLanguageCombo.SelectedIndex = pos; /// συνάρτηση εμφάνισης κειμένου "προς μετάφραση" internal void setsourcetext(string source) TextFrom.Text = source; /// συνάρτηση εμφάνισης κειμένου "από μετάφραση" internal void setresulttext(string result) TextTo.Text = result; /// συνάρτηση ελέγχου για το combobox της γλώσσας προς μετάφραση, /// ώστε να αποθηκεύει στις ρυθμίσεις την επιλεγμένη γλώσσα, /// αλλά και να κάνει αυτόματη μετάφραση εφόσον είναι επιλεγμένη private void ToLanguageCombo_SelectionChanged(object sender, SelectionChangedEventArgs e) string combotext = (sender as ComboBox).SelectedValue as string; data.tolanguage = Languages.getCodeNameFromDisplayName(combotext); //Console.WriteLine(data.ToLanguage + " " + combotext); data.save(); if (AutoTranslateCheckBox.IsChecked.Value) TranslateText(this, null); Σελίδα 75 από 89

76 /// συνάρτηση ελέγχου για το combobox της γλώσσας από μετάφραση, /// ώστε να αποθηκεύει στις ρυθμίσεις την επιλεγμένη γλώσσα, /// αλλά και εμφανίζεται την δυνατότητα ανταλλαγής γλωσσών, /// εφόσον δεν έχει επιλεχθεί η αυτόματη αναγνώριση. /// Επίσης εμφανίζει την δυνατότητα για ηχητικό άκουσμα του κειμένου, /// εφόσον αυτό υποστηρίζεται από την συγκεκριμένη γλώσσα private void FromLanguageCombo_SelectionChanged(object sender, SelectionChangedEventArgs e) string combotext = (sender as ComboBox).SelectedValue as string; data.fromlanguage = Languages.getCodeNameFromDisplayName(combotext); Console.WriteLine(data.FromLanguage + " " + combotext); data.save(); if (data.fromlanguage.equals("auto")) disableswap(); else enableswap(); if (Languages.IsSpeakLanguage(data.FromLanguageShort)) SpeakImage.Visibility = Visibility.Visible; else SpeakImage.Visibility = Visibility.Hidden; /// ενεργοποίηση ανταλλαγής γλώσσας private void enableswap() SwapButton.IsEnabled = true; /// απενεργοποίηση ανταλλαγής γλώσσας private void disableswap() SwapButton.IsEnabled = false; Σελίδα 76 από 89

77 public delegate void ButtonPushedEventHandler(); public event ButtonPushedEventHandler OnClose; /// συνάρτηση ελέγχου για το κλείσιμο του παραθύρου private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) if (OnClose!= null) OnClose(); /// συνάρτηση ελέγχου για την ρύθμιση αυτόματης μετάφρασης, /// ώστε να κάνει την απενεργοποίηση του κουμπιού μετάφρασης private void AutoTranslateCheckBox_Checked(object sender, RoutedEventArgs e) TranslateButton.IsEnabled = false; /// συνάρτηση ελέγχου για την ρύθμιση αυτόματης μετάφρασης, /// ώστε να κάνει την ενεργοποίηση του κουμπιού μετάφρασης private void AutoTranslateCheckBox_Unchecked(object sender, RoutedEventArgs e) TranslateButton.IsEnabled = true; /// συνάρτηση για ξεκινήσει το ηχητικό άκουσμα του κειμένου /// <param name="sender"></param> /// <param name="e"></param> private void Image_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) Translate.SpeakMethod(TextFrom.Text); Σελίδα 77 από 89

78 e) /// συνάρτηση ελέγχου του κειμένου που γράφεται προς μετάφραση, /// αν πατηθεί το ENTER και είναι η ενεργοποιημένη η αυτόματη μετάφραση, /// μεταφράζει το μέχρι τώρα κείμενο. /// <param name="sender"></param> /// <param name="e"></param> private void TextFrom_TextChanged(object sender, TextChangedEventArgs string str = TextFrom.Text; char ch = str[str.length - 1]; if (ch == '\n') if (AutoTranslateCheckBox.IsChecked.Value) TranslateText(this, null); User Preferences.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Translator /// κλάση που αντιπροσοπεύει τις δυνατότητες του χρήστη για αποθήκευση στην Registry. class UserPreferences char[] separator = ' ', '-', ' ' ; internal string _FromLanguage; Σελίδα 78 από 89

79 public string FromLanguage get return _FromLanguage; set _FromLanguage = value; public string FromLanguageShort get string[] temp = _FromLanguage.Split(separator); return temp[0]; internal string _ToLanguage; public string ToLanguage get return _ToLanguage; set _ToLanguage = value; public string ToLanguageShort get string[] temp = _ToLanguage.Split(separator); return temp[0]; internal string _Key; public string Key get return _Key; set _Key = value; internal Boolean _CTRL; public Boolean CTRL get return _CTRL; set _CTRL = value; internal Boolean _ALT; Σελίδα 79 από 89

80 public Boolean ALT get return _ALT; set _ALT = value; internal Boolean _SHIFT; public Boolean SHIFT get return _SHIFT; set _SHIFT = value; internal string _startstopkey; public string StartstopKey get return _startstopkey; set _startstopkey = value; internal Boolean _startstopctrl; public Boolean StartstopCTRL get return _startstopctrl; set _startstopctrl = value; internal Boolean _startstopalt; public Boolean StartstopALT get return _startstopalt; set _startstopalt = value; internal Boolean _startstopshift; public Boolean StartstopSHIFT get return _startstopshift; set _startstopshift = value; internal Boolean _startstopenabled; public Boolean StartstopENABLED get return _startstopenabled; set _startstopenabled = value; Σελίδα 80 από 89

81 Εγχειρίδιο χρήσης της εφαρμογής Στο παρακάτω εγχειρίδιο θα μελετήσετε την λειτουργία του προγράμματος μας σε γραφικό παραθυρικό περιβάλλον. Ξεκινώντας την εφαρμογή Ανοίγοντας το Translator.exe μας ανοίγει το παράθυρο με τις ρυθμίσεις του προγράμματος στο οποίο μπορούμε να: Oρίσουμε τη συντόμευση την οποία θα χρησιμοποιούμε για να μας κάνει μετάφραση το κείμενο που θα επιλέξουμε. Προεπιλεγμένος συνδυασμός για αυτή τη συντόμευση είναι Ctrl + F11. Ορίσουμε τη συντόμευση με την οποία το πρόγραμμα μας θα κάνει σύνδεση στο server της Bing ώστε να μπορεί να κάνει μετάφραση. Προεπιλεγμένος συνδυασμός για αυτή τη συντόμευση είναι Ctrl + F12. Ορίσουμε ποια θα είναι η γλώσσα από την οποία θα γίνεται μετάφραση και τη γλώσσα στην οποία θέλουμε να μεταφράζεται το επιλεγμένο κείμενο. Προεπιλεγμένες γλώσσες είναι τα Αγγλικά και τα Ελληνικά. Το κουμπί Swap κάνει εναλλαγή ανάμεσα στις 2 επιλεγμένες γλώσσες. Σελίδα 81 από 89

82 Αφού ορίσουμε όλες τις συντομεύσεις όπως επιθυμούμε πατάμε το κουμπί Save settings και το πρόγραμμα μεταφέρεται στο Tray. Το μενού της εφαρμογής Με δεξί κλικ στο εικονίδιο της εφαρμογής στο Trays εμφανίζεται το μενού με τις επιλογές του προγράμματος. Οι οποίες είναι: START/STOP : Είναι το κουμπί που ξεκινάει ή τερματίζει τη σύνδεση με το Server της Bing Σελίδα 82 από 89

83 SETTINGS: Είναι το κουμπί που ανοίγει το παράθυρο με τις ρυθμίσεις του προγράμματος. TRANSLATOR: Είναι το κουμπί που ανοίγει ένα κενό παράθυρο του Translator για εισαγωγή κειμένου για μετάφραση. EXIT: Είναι το κουμπί που κλείνει το πρόγραμμα. Σελίδα 83 από 89

84 Η λειτουργία της εφαρμογής Όταν θέλουμε να μεταφράσουμε ένα κείμενο οπουδήποτε μέσα στον υπολογιστή, απλά το επιλέγουμε με τον κέρσορα του ποντικιού, πατάμε τη συντόμευση που έχουμε ορίσει και το επιλεγμένο κείμενο εμφανίζεται στο παράθυρο του Translator μεταφρασμένο. TRANSLATOR: Στο παράθυρο του Translator υπάρχουν 2 πλαίσια, το πηγαίο κείμενο (1) και το μεταφρασμένο (2). Πάνω από το πηγαίο κείμενο υπάρχει ένα dropdown menu (3) με τις γλώσσες από τις οποίες μπορεί να γίνει μετάφραση. Μέσα στο πλαίσιο της πηγαίας γλώσσας υπάρχει το κουμπί Voice (4) το οποίο Σελίδα 84 από 89

Η εξέλιξη στα συστήματα Μηχανικής Μετάφρασης

Η εξέλιξη στα συστήματα Μηχανικής Μετάφρασης Η εξέλιξη στα συστήματα Μηχανικής Μετάφρασης Σοφιανόπουλος Σωκράτης Ινστιτούτο Επεξεργασίας του Λόγου Δομή παρουσίασης Τι είναι η Μηχανική Μετάφραση (Machine Translation) Ιστορική αναδρομή Είδη συστημάτων

Διαβάστε περισσότερα

Ενέργεια. Εκφρασµένη µε λέξεις.

Ενέργεια. Εκφρασµένη µε λέξεις. Ενέργεια. Εκφρασµένη µε λέξεις. Η εταιρεία Η Enerlogos, από τις λέξεις «ενέργεια» και «λόγος», είναι η πρώτη εξειδικευµένη εταιρεία παροχής υπηρεσιών γλωσσικής υποστήριξης και επικοινωνίας για τους τοµείς

Διαβάστε περισσότερα

Η ανταγωνιστικότητα της ελληνικής οικονομίας

Η ανταγωνιστικότητα της ελληνικής οικονομίας Η ανταγωνιστικότητα της ελληνικής οικονομίας Στοιχεία της Επετηρίδας για την Παγκόσμια Ανταγωνιστικότητα του International Institute for Management Development - IMD World Competitiveness Yearbook 2015

Διαβάστε περισσότερα

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ΕΙΣΑΓΩΓΗ....3 ΑΝΑΛΥΤΙΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ 1. Ακαθάριστος κύκλος εργασιών....4 2. Λειτουργικό Κέρδος....7 3. Άποψη για την οικονομική κρίση... 10 4. Τα περισσότερο σημαντικά επιχειρησιακά

Διαβάστε περισσότερα

Οι Ευρωπαίοι και οι γλώσσες τους

Οι Ευρωπαίοι και οι γλώσσες τους Ειδικό ευρωβαρόμετρο 386 Οι Ευρωπαίοι και οι γλώσσες τους ΠΕΡΙΛΗΨΗ Στον πληθυσμό της Ευρωπαϊκής Ένωσης, η ευρύτερα ομιλούμενη μητρική γλώσσα είναι η γερμανική (16%), έπονται η ιταλική και η αγγλική (13%

Διαβάστε περισσότερα

ΑΦΙΞΕΙΣ ΚΑΙ ΙΑΝΥΚΤΕΡΕΥΣΕΙΣ ΣΤΑ ΚΑΤΑΛΥΜΑΤΑ ΞΕΝΟ ΟΧΕΙΑΚΟΥ ΤΥΠΟΥ ΚΑΙ ΚΑΜΠΙΝΓΚ: ΕΤΟΥΣ 2013 (προσωρινά στοιχεία)

ΑΦΙΞΕΙΣ ΚΑΙ ΙΑΝΥΚΤΕΡΕΥΣΕΙΣ ΣΤΑ ΚΑΤΑΛΥΜΑΤΑ ΞΕΝΟ ΟΧΕΙΑΚΟΥ ΤΥΠΟΥ ΚΑΙ ΚΑΜΠΙΝΓΚ: ΕΤΟΥΣ 2013 (προσωρινά στοιχεία) ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΑΡΧΗ Ε Λ Τ Ι Ο Τ Υ Π Ο Υ Πειραιάς, 30 Σεπτεµβρίου 2014 ΑΦΙΞΕΙΣ ΚΑΙ ΙΑΝΥΚΤΕΡΕΥΣΕΙΣ ΣΤΑ ΚΑΤΑΛΥΜΑΤΑ ΞΕΝΟ ΟΧΕΙΑΚΟΥ ΤΥΠΟΥ ΚΑΙ ΚΑΜΠΙΝΓΚ: ΕΤΟΥΣ (προσωρινά στοιχεία) Από

Διαβάστε περισσότερα

Ε Λ Τ Ι Ο Τ Υ Π Ο Υ ΑΦΙΞΕΙΣ ΚΑΙ ΙΑΝΥΚΤΕΡΕΥΣΕΙΣ ΣΤΑ ΚΑΤΑΛΥΜΑΤΑ ΞΕΝΟ ΟΧΕΙΑΚΟΥ ΤΥΠΟΥ ΚΑΙ ΚΑΜΠΙΝΓΚ: ΕΤΟΥΣ 2013 ( ΟΡΙΣΤΙΚΑ ΣΤΟΙΧΕΙΑ)

Ε Λ Τ Ι Ο Τ Υ Π Ο Υ ΑΦΙΞΕΙΣ ΚΑΙ ΙΑΝΥΚΤΕΡΕΥΣΕΙΣ ΣΤΑ ΚΑΤΑΛΥΜΑΤΑ ΞΕΝΟ ΟΧΕΙΑΚΟΥ ΤΥΠΟΥ ΚΑΙ ΚΑΜΠΙΝΓΚ: ΕΤΟΥΣ 2013 ( ΟΡΙΣΤΙΚΑ ΣΤΟΙΧΕΙΑ) ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΑΡΧΗ Ε Λ Τ Ι Ο Τ Υ Π Ο Υ Πειραιάς, 31 Οκτωβρίου 2014 ΑΦΙΞΕΙΣ ΚΑΙ ΙΑΝΥΚΤΕΡΕΥΣΕΙΣ ΣΤΑ ΚΑΤΑΛΥΜΑΤΑ ΞΕΝΟ ΟΧΕΙΑΚΟΥ ΤΥΠΟΥ ΚΑΙ ΚΑΜΠΙΝΓΚ: ΕΤΟΥΣ ( ΟΡΙΣΤΙΚΑ ΣΤΟΙΧΕΙΑ) Από τα

Διαβάστε περισσότερα

τουριστικής περιόδου σε σχέση µε τα αντίστοιχα στοιχεία προηγούµενων ετών.

τουριστικής περιόδου σε σχέση µε τα αντίστοιχα στοιχεία προηγούµενων ετών. ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΑΡΧΗ Ε Λ Τ Ι Ο Τ Υ Π Ο Υ τουριστικής περιόδου σε σχέση µε τα αντίστοιχα στοιχεία προηγούµενων ετών. Πειραιάς, 25 Σεπτεµβρίου 2015 ΑΦΙΞΕΙΣ ΚΑΙ ΙΑΝΥΚΤΕΡΕΥΣΕΙΣ ΣΤΑ ΚΑΤΑΛΥΜΑΤΑ

Διαβάστε περισσότερα

ΘΕΜΑ: Δείκτης Ανεργίας για το μήνα Ιανουάριο 2014 στις χώρες της Ευρωπαϊκής Ένωσης (28) και της Ευρωζώνης (18) - Στοιχεία της Eurostat

ΘΕΜΑ: Δείκτης Ανεργίας για το μήνα Ιανουάριο 2014 στις χώρες της Ευρωπαϊκής Ένωσης (28) και της Ευρωζώνης (18) - Στοιχεία της Eurostat ΠΕΤΡΑΚΗ 16 Τ.Κ. 105 63 - ΑΘΗΝΑ ΤΗΛ: 210.32.59.198 - FAX: 210.32.59.229 ΘΕΜΑ: Δείκτης Ανεργίας για το μήνα Ιανουάριο στις χώρες της Ευρωπαϊκής Ένωσης (28) και της Ευρωζώνης (18) - Στοιχεία της Eurostat

Διαβάστε περισσότερα

ΤΕΛΙΚΗ ΕΚΘΕΣΗ για Έρευνα Συλλογής στοιχείων για τον αθλητικό τουρισμό Για το Έτος 2013. Ετοιμάστηκε για ΚΥΠΡΙΑΚΟ ΟΡΓΑΝΙΣΜΟ ΤΟΥΡΙΣΜΟΥ ΣΕΠΤΕΜΒΡΙΟΣ 2014

ΤΕΛΙΚΗ ΕΚΘΕΣΗ για Έρευνα Συλλογής στοιχείων για τον αθλητικό τουρισμό Για το Έτος 2013. Ετοιμάστηκε για ΚΥΠΡΙΑΚΟ ΟΡΓΑΝΙΣΜΟ ΤΟΥΡΙΣΜΟΥ ΣΕΠΤΕΜΒΡΙΟΣ 2014 ΤΕΛΙΚΗ ΕΚΘΕΣΗ για Έρευνα Συλλογής στοιχείων για τον αθλητικό τουρισμό Για το Έτος 2013 Ετοιμάστηκε για ΚΥΠΡΙΑΚΟ ΟΡΓΑΝΙΣΜΟ ΤΟΥΡΙΣΜΟΥ ΣΕΠΤΕΜΒΡΙΟΣ 201 ΠΕΡΙΕΧΟΜΕΝΟ Σελίδα 1. Κύρια Πορίσματα 2 2. Ανάθεση και

Διαβάστε περισσότερα

1 / 15 «ΟΙ ΓΛΩΣΣΕΣ ΚΑΙ ΕΓΩ» Ερωτηµατολόγιο για τους µαθητές της 3 ης Γυµνασίου. Μάρτιος 2007

1 / 15 «ΟΙ ΓΛΩΣΣΕΣ ΚΑΙ ΕΓΩ» Ερωτηµατολόγιο για τους µαθητές της 3 ης Γυµνασίου. Μάρτιος 2007 1 / 15 ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Έρευνα υποστηριζόµενη από τη Γενική ιεύθυνση Εκπαίδευσης και Πολιτισµού της Ε.Ε., στο πλαίσιο του προγράµµατος Σωκράτης «ΟΙ ΓΛΩΣΣΕΣ ΚΑΙ ΕΓΩ» Ερωτηµατολόγιο

Διαβάστε περισσότερα

ΘΕΜΑ: Εκτίμηση του εμπορικού ισοζυγίου των χωρών της Ευρωπαϊκής Ένωσης (27), με χώρες εκτός αυτής, για τον μήνα Ιούλιο 2012 - Πηγή Eurostat -

ΘΕΜΑ: Εκτίμηση του εμπορικού ισοζυγίου των χωρών της Ευρωπαϊκής Ένωσης (27), με χώρες εκτός αυτής, για τον μήνα Ιούλιο 2012 - Πηγή Eurostat - ΙΝΣΤΙΤΟΥΤΟ ΕΜΠΟΡΙΟΥ & ΥΠΗΡΕΣΙΩΝ ΠΕΤΡΑΚΗ 16 Τ.Κ. 105 63 ΑΘΗΝΑ ΤΗΛ: 210.32.59.198 FAX: 210.32.59.229 ΘΕΜΑ: Εκτίμηση του εμπορικού ισοζυγίου των χωρών της Ευρωπαϊκής Ένωσης (27), με χώρες εκτός αυτής, για

Διαβάστε περισσότερα

Αθήνα, 3/12/2013 ΑΝΑΚΟΙΝΩΣΗ. Ο Οργανισμός Οικονομικής Συνεργασίας και Ανάπτυξης (ΟΟΣΑ) ανακοίνωσε σήμερα τα αποτελέσματα της έρευνας PISA 2012.

Αθήνα, 3/12/2013 ΑΝΑΚΟΙΝΩΣΗ. Ο Οργανισμός Οικονομικής Συνεργασίας και Ανάπτυξης (ΟΟΣΑ) ανακοίνωσε σήμερα τα αποτελέσματα της έρευνας PISA 2012. Αθήνα, 3/12/2013 ΑΝΑΚΟΙΝΩΣΗ Ο Οργανισμός Οικονομικής Συνεργασίας και Ανάπτυξης (ΟΟΣΑ) ανακοίνωσε σήμερα τα αποτελέσματα της έρευνας PISA 2012. 1 PISA 2012 ΜΕΣΗ ΒΑΘΜΟΛΟΓΙΑ ΧΩΡΩΝ/ΟΙΚΟΝΟΜΙΩΝ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ

Διαβάστε περισσότερα

ΘΕΜΑ Η ΦΟΡΟΛΟΓΙΚΗ ΤΑΥΤΟΤΗΤΑ ΤΗΣ ΕΛΛΑΔΑΣ ΜΕ ΤΩΝ ΣΥΜΒΑΛΛΟΜΕΝΩΝ ΧΩΡΩΝ ΚΕΦΑΛΑΙΟ ΠΡΩΤΟ ΟΙ Σ.Α.Δ.Φ. ΣΤΗ ΔΙΕΘΝΗ ΚΑΙ ΕΛΛΗΝΙΚΗ ΦΟΡΟΛΟΓΙΚΗ ΝΟΜΟΘΕΣΙΑ Η αναγκαιότητα για την εναρμόνιση της άμεσης φορολογίας των επιχειρήσεων

Διαβάστε περισσότερα

ΘΕΜΑ: Εκτίμηση του εμπορικού ισοζυγίου των χωρών της Ευρωπαϊκής Ένωσης (27), με χώρες εκτός αυτής, για τον μήνα Σεπτέμβριο 2012 - Πηγή Eurostat -

ΘΕΜΑ: Εκτίμηση του εμπορικού ισοζυγίου των χωρών της Ευρωπαϊκής Ένωσης (27), με χώρες εκτός αυτής, για τον μήνα Σεπτέμβριο 2012 - Πηγή Eurostat - ΙΝΣΤΙΤΟΥΤΟ ΕΜΠΟΡΙΟΥ & ΥΠΗΡΕΣΙΩΝ ΠΕΤΡΑΚΗ 16 Τ.Κ. 105 63 ΑΘΗΝΑ ΤΗΛ: 210.32.59.198 FAX: 210.32.59.229 ΘΕΜΑ: Εκτίμηση του εμπορικού ισοζυγίου των χωρών της Ευρωπαϊκής Ένωσης (27), με χώρες εκτός αυτής, για

Διαβάστε περισσότερα

Έρευνα Περιφερειακής Κατανοµής της Ετήσιας Τουριστικής απάνης

Έρευνα Περιφερειακής Κατανοµής της Ετήσιας Τουριστικής απάνης Έρευνα Περιφερειακής Κατανοµής της Ετήσιας Τουριστικής απάνης Πίνακας 1:Πλήθος αποκρινόμενων ανά περιφέρεια - Σεπτέμβριος 2013 Περιφέρεια Αποκρινόμενοι Παρατηρήσεις - Θράκη >100 - Κεντρική >100 -

Διαβάστε περισσότερα

ΘΕΜΑ: Εκτίμηση του εμπορικού ισοζυγίου των χωρών της Ευρωπαϊκής Ένωσης (27), με χώρες εκτός αυτής, για το μήνα Φεβρουάριο 2012 - Πηγή Eurostat -

ΘΕΜΑ: Εκτίμηση του εμπορικού ισοζυγίου των χωρών της Ευρωπαϊκής Ένωσης (27), με χώρες εκτός αυτής, για το μήνα Φεβρουάριο 2012 - Πηγή Eurostat - ΕΘΝΙΚΗ ΣΥΝΟΜΟΣΠΟΝΔΙΑ ΕΛΛΗΝΙΚΟΥ ΕΜΠΟΡΙΟΥ Τετάρτη, 18 Απριλίου ΙΝΣΤΙΤΟΥΤΟ ΕΜΠΟΡΙΟΥ & ΥΠΗΡΕΣΙΩΝ ΠΕΤΡΑΚΗ 16 Τ.Κ. 105 63 - ΑΘΗΝΑ ΤΗΛ: 210.32.59.198 FAX: 210.32.59.229 ΘΕΜΑ: Εκτίμηση του εμπορικού ισοζυγίου

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

Διαβάστε περισσότερα

ΑποτελέσματααπότοπρώτοΠαγκόσμιο Βαρόμετρο για την Οικονομική Κρίση Έρευνα στην Εκθεσιακή Βιομηχανία

ΑποτελέσματααπότοπρώτοΠαγκόσμιο Βαρόμετρο για την Οικονομική Κρίση Έρευνα στην Εκθεσιακή Βιομηχανία ΑποτελέσματααπότοπρώτοΠαγκόσμιο Βαρόμετρο για την Οικονομική Κρίση Έρευνα στην Εκθεσιακή Βιομηχανία Διευθυνόμενη μεταξύ των μελών της UFI* και της SISO** * ** στις ΗΠΑ Φεβρουάριος 2009 1 Πλαίσιο της Έρευνας

Διαβάστε περισσότερα

επιχειρηματικό ΠΡΟΣΦΟΡΑ για περιορισμένο χρονικό διάστημα Ταχύτητα έως 24Μbps στην τιμή των 4Mbps μόνο 25 /μήνα για 1 χρόνο!

επιχειρηματικό ΠΡΟΣΦΟΡΑ για περιορισμένο χρονικό διάστημα Ταχύτητα έως 24Μbps στην τιμή των 4Mbps μόνο 25 /μήνα για 1 χρόνο! επιχειρηματικό ΠΡΟΣΦΟΡΑ για περιορισμένο χρονικό διάστημα Ταχύτητα έως 24Μbps στην τιμή των 4Mbps μόνο /μήνα για 1 χρόνο! 2 ο κανάλι φωνής -50% για 1 χρόνο! επιχειρηματικό για ευέλικτη επικοινωνία, με

Διαβάστε περισσότερα

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr»

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr» Επεξήγηση web site με λογικό διάγραμμα «Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr» Web : www.e-base.gr E-mail : support@e-base.gr Facebook : Like Twitter : @ebasegr Πολλοί άνθρωποι

Διαβάστε περισσότερα

Πίνακας αποτελεσμάτων της Ένωσης για την Καινοτομία το 2015. Σύνοψη Γλωσσική έκδοση ΕL

Πίνακας αποτελεσμάτων της Ένωσης για την Καινοτομία το 2015. Σύνοψη Γλωσσική έκδοση ΕL Πίνακας αποτελεσμάτων της Ένωσης για την Καινοτομία το 2015. Σύνοψη Γλωσσική έκδοση ΕL Εσωτερική Αγορά, Βιομηχανία, Επιχειρηματικότη τα και ΜΜΕ ΣΥΝΟΨΗ Πίνακας επιδόσεων της Ένωσης για την Καινοτομία το

Διαβάστε περισσότερα

ΔΕΛΤΙΟ ΤΥΠΟΥ. ΑΦΙΞΕΙΣ ΜΗ ΚΑΤΟΙΚΩΝ ΑΠΟ ΤΟ ΕΞΩΤΕΡΙΚΟ: Ιανουαρίου-Δεκεμβρίου 2011

ΔΕΛΤΙΟ ΤΥΠΟΥ. ΑΦΙΞΕΙΣ ΜΗ ΚΑΤΟΙΚΩΝ ΑΠΟ ΤΟ ΕΞΩΤΕΡΙΚΟ: Ιανουαρίου-Δεκεμβρίου 2011 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΑΡΧΗ ΔΕΛΤΙΟ ΤΥΠΟΥ Πειραιάς, 23 Απριλίου 2012 ΑΦΙΞΕΙΣ ΜΗ ΚΑΤΟΙΚΩΝ ΑΠΟ ΤΟ ΕΞΩΤΕΡΙΚΟ: Ιανουαρίου-Δεκεμβρίου 2011 Από τα στοιχεία της Έρευνας Συνόρων που διενεργεί η

Διαβάστε περισσότερα

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Μάθημα 1 ο : Εισαγωγή στην γλωσσική τεχνολογία. Γεώργιος Πετάσης. Ακαδημαϊκό Έτος: 2012 2013

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Μάθημα 1 ο : Εισαγωγή στην γλωσσική τεχνολογία. Γεώργιος Πετάσης. Ακαδημαϊκό Έτος: 2012 2013 ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ Μάθημα 1 ο : Εισαγωγή στην γλωσσική τεχνολογία Γεώργιος Πετάσης Ακαδημαϊκό Έτος: 2012 2013 ΤMHMA MHXANIKΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ, Πανεπιστήμιο Πατρών, 2012 2013 Τι είναι η γλωσσική τεχνολογία;

Διαβάστε περισσότερα

ΧΩΡΙΣ ΜΕΤΑΒΟΛΕΣ /ΑΥΞΗΣΕΙΣ ΜΕΙΩΣΕΙΣ ΚΕ.ΜΕ.ΤΕ-ΟΛΜΕ ΔΕΚΕΜΒΡΙΟΣ 2012

ΧΩΡΙΣ ΜΕΤΑΒΟΛΕΣ /ΑΥΞΗΣΕΙΣ ΜΕΙΩΣΕΙΣ ΚΕ.ΜΕ.ΤΕ-ΟΛΜΕ ΔΕΚΕΜΒΡΙΟΣ 2012 ΚΕΝΤΡΟ ΜΕΛΕΤΩΝ ΚΑΙ ΤΕΚΜΗΡΙΩΣΗΣ ΤΗΣ ΟΛΜΕ - ΟΛΜΕ ΟΙ ΜΙΣΘΟΙ ΤΩΝ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΔΕΥΤΕΡΟΒΑΘΜΙΑΣ ΕΚΠΑΙΔΕΥΣΗΣ ΣΤΗΝ ΕΛΛΑΔΑ ΚΑΙ ΣΤΙΣ ΧΩΡΕΣ ΤΗΣ ΕΥΡΩΠΗΣ ΓΙΑ ΤΟ 2011-2012 ΔΕΚΕΜΒΡΙΟΣ 2012 ΟΙ ΜΙΣΘΟΙ ΤΩΝ ΕΚΠΑΙΔΕΥΤΙΚΩΝ

Διαβάστε περισσότερα

Συνεχιζόμενη εκπαίδευση και δια βίου μάθηση στην Ε.Ε: θεώρηση των θεσμών και των πρακτικών στις χώρες μέλη

Συνεχιζόμενη εκπαίδευση και δια βίου μάθηση στην Ε.Ε: θεώρηση των θεσμών και των πρακτικών στις χώρες μέλη ΑΡΙΣΤΟΤΕΛΕΙΟ ΠANEΠΙΣΤΗMIO ΘEΣΣΑΛΟNIKHΣ ΦΙΛΟΣΟΦΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΦΙΛΟΣΟΦΙΑΣ ΚΑΙ ΠΑΙΔΑΓΩΓΙΚΗΣ TOMEAΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΔΙΔΑΣΚΩΝ: Γ. Κ. Ζαρίφης (208θ, ΠκΦ, τηλ: 2310997893, e mail: gzarifis@edlit.auth.gr) Π 1810

Διαβάστε περισσότερα

Greek On The Go Μια εφαρμογή για iphone

Greek On The Go Μια εφαρμογή για iphone Greek On The Go Μια εφαρμογή για iphone Διημερίδα Κέντρου Ελληνικής Γλώσσας 10-11 Οκτωβρίου 2014, Αθήνα Δημήτρης Τολιάς, Ph.D. Διευθυντής Κέντρο Εφαρμοσμένης Γλωσσολογίας και Γλωσσικών Σπουδών Ελληνοαμερικανική

Διαβάστε περισσότερα

Η ZENTIVA ΜΕ ΜΙΑ ΜΑΤΙΑ. Στόχος μας είναι να γίνουμε ο πολύτιμος εταίρος σας στα γενόσημα φάρμακα

Η ZENTIVA ΜΕ ΜΙΑ ΜΑΤΙΑ. Στόχος μας είναι να γίνουμε ο πολύτιμος εταίρος σας στα γενόσημα φάρμακα Η ZENTIVA ΜΕ ΜΙΑ ΜΑΤΙΑ Στόχος μας είναι να γίνουμε ο πολύτιμος εταίρος σας στα γενόσημα φάρμακα Ηνωμένο Βασίλειο Γαλλία Πορτογαλία Πολωνία Δημοκρατία της Τσεχίας Γερμανία Εσθονία Λετονία Λιθουανία Σλοβακία

Διαβάστε περισσότερα

ΘΕΜΑ: Δεύτερες εκτιμήσεις για την εξέλιξη του Ακαθάριστου

ΘΕΜΑ: Δεύτερες εκτιμήσεις για την εξέλιξη του Ακαθάριστου ΙΝΣΤΙΤΟΥΤΟ ΕΜΠΟΡΙΟΥ & ΥΠΗΡΕΣΙΩΝ ΠΕΤΡΑΚΗ 16 Τ.Κ. 105 63 ΑΘΗΝΑ ΤΗΛ: 210.32.59.197 FAX: 210.32.59.229 ΘΕΜΑ: Δεύτερες εκτιμήσεις για την εξέλιξη του Ακαθάριστου Εγχώριου Προϊόντος (ΑΕΠ), κατά τη διάρκεια του

Διαβάστε περισσότερα

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤOΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΕΙΣΑΓΩΓΗ ΣΤOΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤOΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Στόχοι του μαθήματος Μετά το τέλος του μαθήματος οι μαθητές πρέπει να είναι σε θέση: Να περιγράφουν τι είναι πρόγραμμα Να εξηγούν την αναγκαιότητα για τη δημιουργία γλωσσών

Διαβάστε περισσότερα

Ε Λ Τ Ι Ο Τ Υ Π Ο Υ. ΑΦΙΞΕΙΣ ΜΗ ΚΑΤΟΙΚΩΝ ΑΠΟ ΤΟ ΕΞΩΤΕΡΙΚΟ: Ιαν. - Σεπτεµβρίου 2012 ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΑΡΧΗ

Ε Λ Τ Ι Ο Τ Υ Π Ο Υ. ΑΦΙΞΕΙΣ ΜΗ ΚΑΤΟΙΚΩΝ ΑΠΟ ΤΟ ΕΞΩΤΕΡΙΚΟ: Ιαν. - Σεπτεµβρίου 2012 ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΑΡΧΗ ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΑΡΧΗ Ε Λ Τ Ι Ο Τ Υ Π Ο Υ Πειραιάς, 23 Ιανουαρίου 2013 ΑΦΙΞΕΙΣ ΜΗ ΚΑΤΟΙΚΩΝ ΑΠΟ ΤΟ ΕΞΩΤΕΡΙΚΟ: Ιαν. - Σεπτεµβρίου 2012 Από τα στοιχεία της Έρευνας Συνόρων που διενεργεί

Διαβάστε περισσότερα

Ρωσική Αγορά καλλυντικών & προϊόντων αρωματοποιίας

Ρωσική Αγορά καλλυντικών & προϊόντων αρωματοποιίας ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Πρεσβεία της Ελλάδος στη Μόσχα Γραφείο Οικονομικών & Εμπορικών Υποθέσεων Ρωσική Αγορά καλλυντικών & προϊόντων αρωματοποιίας ΣΕΠΤΕΜΒΡΙΟΣ 2015 1 Πίνακας Περιεχομένων ΕΙΣΑΓΩΓΗ... 3 Α.

Διαβάστε περισσότερα

Ο Δείκτης Νέων Εργαζομένων της PwC αξιολογεί το κατά πόσο οι χώρες του ΟΟΣΑ συμβάλουν με επιτυχία στην εξέλιξη των νέων τους

Ο Δείκτης Νέων Εργαζομένων της PwC αξιολογεί το κατά πόσο οι χώρες του ΟΟΣΑ συμβάλουν με επιτυχία στην εξέλιξη των νέων τους Δελτίο τύπου Ημερομηνία: 10 Δεκεμβρίου 2015 Υπεύθυνη: Αλεξάνδρα Φιλιππάκη Τηλ: 2106874711 Email: alexandra.filippaki@gr.pwc.com Σελίδες: 5 Περισσότερες πληροφορίες εδώ. Follow/retweet: @pwc_press Ο Δείκτης

Διαβάστε περισσότερα

ΨΗΦΙΑΚΟΣ ΓΡΑΜΜΑΤΙΣΜΟΣ

ΨΗΦΙΑΚΟΣ ΓΡΑΜΜΑΤΙΣΜΟΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΨΗΦΙΑΚΟΣ ΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 2: Software ΠΑΝΑΓΙΩΤΗΣ ΠΑΝΑΓΙΩΤΙΔΗΣ ΤΜΗΜΑ ΓΑΛΛΙΚΗΣ ΓΛΩΣΣΑΣ ΚΑΙ ΦΙΛΟΛΟΓΙΑΣ Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Τιμοκατάλογος Προγραμμάτων WIND to ALL-25-100

Τιμοκατάλογος Προγραμμάτων WIND to ALL-25-100 Τιμοκατάλογος Προγραμμάτων WIND to ALL-25-100 ΠΡΟΓΡΑΜΜΑ WIND to ALL-25 WIND to ALL-30 WIND to ALL-40 WIND to ALL-50 Μηνιαίο Πάγιο 25 30 40 50 Ενσωματωμένη Χρήση Λεπτά ομιλίας προς όλα τα εθνικά δίκτυα

Διαβάστε περισσότερα

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Pascal- Εισαγωγή Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου

Διαβάστε περισσότερα

ΑΝΩΤΑΤΗ ΕΚΚΛΗΣΙΑΣΤΙΚΗ ΑΚΑΔΗΜΙΑ ΘΕΣΣΑΛΟΝΙΚΗΣ

ΑΝΩΤΑΤΗ ΕΚΚΛΗΣΙΑΣΤΙΚΗ ΑΚΑΔΗΜΙΑ ΘΕΣΣΑΛΟΝΙΚΗΣ Πανεπιστημιακός Χάρτης Erasmus Erasmus Charter for Higher Education 2014-2020 3 βασικές δράσεις (Key Actions) KA1 Μαθησιακή Κινητικότητα των Aτόμων ΚΑ2 Συνεργασία για Καινοτομία και Ανταλλαγή Καλών Πρακτικών

Διαβάστε περισσότερα

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΣΚΗΣΕΙΣ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΩΤΗΣΕΙΣ ΣΩΣΤΟ ΛΑΘΟΣ Σημειώστε αν είναι σωστή ή

Διαβάστε περισσότερα

ΕΛΤΙΟ ΤΥΠΟΥ. ΑΦΙΞΕΙΣ ΜΗ ΚΑΤΟΙΚΩΝ ΑΠΟ ΤΟ ΕΞΩΤΕΡΙΚΟ: Ιανουάριος - Ιούνιος 2013 ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΑΡΧΗ. Πειραιάς, 23 Οκτωβρίου 2013

ΕΛΤΙΟ ΤΥΠΟΥ. ΑΦΙΞΕΙΣ ΜΗ ΚΑΤΟΙΚΩΝ ΑΠΟ ΤΟ ΕΞΩΤΕΡΙΚΟ: Ιανουάριος - Ιούνιος 2013 ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΑΡΧΗ. Πειραιάς, 23 Οκτωβρίου 2013 ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΑΡΧΗ ΕΛΤΙΟ ΤΥΠΟΥ Πειραιάς, 23 Οκτωβρίου 2013 ΑΦΙΞΕΙΣ ΜΗ ΚΑΤΟΙΚΩΝ ΑΠΟ ΤΟ ΕΞΩΤΕΡΙΚΟ: Ιανουάριος - Ιούνιος 2013 Από τα στοιχεία της Έρευνας Συνόρων που διενεργεί η ΤτΕ

Διαβάστε περισσότερα

Σωκράτους 1, 14565 Αγ. Στέφανος, Αττική +30 210 800 4995 info@gandc.gr G & C ΠΑΡΟΥΣΙΑΣΗ ΠΡΟΪΟΝΤΟΣ ΦΥΛΛΟ ΠΡΟΔΙΑΓΡΑΦΩΝ

Σωκράτους 1, 14565 Αγ. Στέφανος, Αττική +30 210 800 4995 info@gandc.gr G & C ΠΑΡΟΥΣΙΑΣΗ ΠΡΟΪΟΝΤΟΣ ΦΥΛΛΟ ΠΡΟΔΙΑΓΡΑΦΩΝ G & C ΠΑΡΟΥΣΙΑΣΗ ΠΡΟΪΟΝΤΟΣ Σωκράτους 1, 14565 Αγ. Στέφανος, Αττική +30 210 800 4995 info@gandc.gr ΦΥΛΛΟ ΠΡΟΔΙΑΓΡΑΦΩΝ ΠΕΡΙΕΧΟΜΕΝΑ... Κύρια Χαρακτηριστικά... 3 Ελάχιστες Απαιτήσεις Συστήματος Περιβάλλον

Διαβάστε περισσότερα

ΕΛΤΙΟ ΤΥΠΟΥ. ΑΦΙΞΕΙΣ ΜΗ ΚΑΤΟΙΚΩΝ ΑΠΟ ΤΟ ΕΞΩΤΕΡΙΚΟ: Ιανουάριος - Μάρτιος 2013 ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΑΡΧΗ. Πειραιάς, 23 Ιουλίου 2013

ΕΛΤΙΟ ΤΥΠΟΥ. ΑΦΙΞΕΙΣ ΜΗ ΚΑΤΟΙΚΩΝ ΑΠΟ ΤΟ ΕΞΩΤΕΡΙΚΟ: Ιανουάριος - Μάρτιος 2013 ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΑΡΧΗ. Πειραιάς, 23 Ιουλίου 2013 ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΑΡΧΗ ΕΛΤΙΟ ΤΥΠΟΥ Πειραιάς, 23 Ιουλίου 2013 ΑΦΙΞΕΙΣ ΜΗ ΚΑΤΟΙΚΩΝ ΑΠΟ ΤΟ ΕΞΩΤΕΡΙΚΟ: Ιανουάριος - Μάρτιος 2013 Από τα στοιχεία της Έρευνας Συνόρων που διενεργεί η ΤτΕ

Διαβάστε περισσότερα

ΟΡΓΑΝΩΤΙΚΗ ΔΟΜΗ ΤΗΣ ΦΟΡΟΛΟΓΙΚΗΣ ΔΙΟΙΚΗΣΗΣ

ΟΡΓΑΝΩΤΙΚΗ ΔΟΜΗ ΤΗΣ ΦΟΡΟΛΟΓΙΚΗΣ ΔΙΟΙΚΗΣΗΣ ΠΡΟΛΟΓΟΣ Η ιδέα για τη συγγραφή αυτού του βιβλίου ξεκίνησε με τη σκέψη ότι οι οποιεσδήποτε αλλαγές στη φορολογική διοίκηση πρέπει να είναι επιθυμητές, ώριμες, αποδεκτές από τον κόσμο που τον αφορούν (τον

Διαβάστε περισσότερα

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης Σελίδα 1από ΤΕΙ ΚΑΒΑΛΑΣ Πτυχιακή εργασία Δικτυακή Εφαρμογή διαχείρισης ηλεκτρονικών εγγράφων υπηρεσίας. ΕΙΣΑΓΩΓΗ Μιλτιάδης Κακλαμάνης Σελίδα 2από Κατάλογος περιεχομένων ΕΙΣΑΓΩΓΗ...1 Σχετιζόμενα πρόσωπα...3

Διαβάστε περισσότερα

ΜΑΘΗΜΑ 3 ΛΟΓΙΣΜΙΚΟ (SOFTWARE)

ΜΑΘΗΜΑ 3 ΛΟΓΙΣΜΙΚΟ (SOFTWARE) ΜΑΘΗΜΑ 3 ΛΟΓΙΣΜΙΚΟ (SOFTWARE) ΣΤΟΧΟΙ: 1. Λογισμικό 2. Λογισμικό Λειτουργικού Συστήματος 3. Προσαρμοστικό Γραφικών Χρήστη 4. Λογισμικών Εφαρμογών 5. Διαφορά Μεταξύ Λογισμικού Λειτουργικού Συστήματος Και

Διαβάστε περισσότερα

COSMOTE BUSINESS ΑΠΕΡΙΟΡΙΣΤΑ με Internet

COSMOTE BUSINESS ΑΠΕΡΙΟΡΙΣΤΑ με Internet Ανακοινώνεται ότι από 22/04/2013 παύει η εμπορική των ακόλουθων Επαγγελματικών Οικονομικών Προγραμμάτων συμβολαίου: «Απεριόριστα με Internet 25,35,45,65,95,150», «με δωρεάν χρόνο ομιλίας 200, 500, 700,

Διαβάστε περισσότερα

Σημείωση: Το σύμβολο Χ που εμφανίζεται στο Σχήματα δηλώνει τις χώρες που συμμετείχαν στην έρευνα PISA και αποφάσισαν να μην θέσουν σε κυκλοφορία το

Σημείωση: Το σύμβολο Χ που εμφανίζεται στο Σχήματα δηλώνει τις χώρες που συμμετείχαν στην έρευνα PISA και αποφάσισαν να μην θέσουν σε κυκλοφορία το 2 Όλοι σχεδόν οι 15χρονοι νέοι έχουν ήδη χρησιμοποιήσει ηλεκτρονικό υπολογιστή. Αλλά τα αγόρια το έκαναν για μεγαλύτερο διάστημα και συχνότερα από τα κορίτσια Γενικά, όλοι, σχεδόν, οι 15χρονοι νέοι (99,31%)

Διαβάστε περισσότερα

ΠΡΕΣΒΕΙΕΣ ΚΑΙ ΠΡΟΞΕΝΕΙΑ ΧΩΡΩΝ ΣΤΗΝ ΕΛΛΑΔΑ

ΠΡΕΣΒΕΙΕΣ ΚΑΙ ΠΡΟΞΕΝΕΙΑ ΧΩΡΩΝ ΣΤΗΝ ΕΛΛΑΔΑ ΠΡΕΣΒΕΙΕΣ ΚΑΙ ΠΡΟΞΕΝΕΙΑ ΧΩΡΩΝ ΣΤΗΝ ΕΛΛΑΔΑ ΑΙΓΥΠΤΟΣ... 3 ΑΙΘΙΟΠΙΑ... 3 ΑΛΒΑΝΙΑ... 3 ΑΛΓΕΡΙΑ...3 ΑΡΓΕΝΤΙΝΗ... 4 ΑΡΜΕΝΙΑ... 4 ΑΥΣΤΡΑΛΙΑ... 4 ΑΥΣΤΡΙΑ...4 ΒΑΤΙΚΑΝΟ... 5 ΒΕΛΓΙΟ... 5 ΒΟΣΝΙΑ ΕΡΖΕΓΟΒΙΝΗ... 5 ΒΕΝΕΖΟΥΕΛΑ...

Διαβάστε περισσότερα

ΕΛΤΙΟ ΤΥΠΟΥ. ΑΦΙΞΕΙΣ ΜΗ ΚΑΤΟΙΚΩΝ ΑΠΟ ΤΟ ΕΞΩΤΕΡΙΚΟ: Ιανουάριος - Σεπτέµβριος 2014 ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΑΡΧΗ

ΕΛΤΙΟ ΤΥΠΟΥ. ΑΦΙΞΕΙΣ ΜΗ ΚΑΤΟΙΚΩΝ ΑΠΟ ΤΟ ΕΞΩΤΕΡΙΚΟ: Ιανουάριος - Σεπτέµβριος 2014 ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΑΡΧΗ ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΑΡΧΗ ΕΛΤΙΟ ΤΥΠΟΥ Πειραιάς, 9 Ιανουαρίου 2015 ΑΦΙΞΕΙΣ ΜΗ ΚΑΤΟΙΚΩΝ ΑΠΟ ΤΟ ΕΞΩΤΕΡΙΚΟ: Ιανουάριος - Σεπτέµβριος 2014 Από τα στοιχεία της Έρευνας Συνόρων που διενεργεί

Διαβάστε περισσότερα

ΔΕΛΤΙΟ ΤΥΠΟΥ. Η ΕΞΕΛΙΞΗ ΤΩΝ ΑΤΥΧΗΜΑΤΩΝ ΤΟΥ ΓΡΑΦΕΙΟΥ ΔΙΕΘΝΟΥΣ ΑΣΦΑΛΙΣΗΣ ΑΥΤΟΚΙΝΗΤΟΥ το 2013

ΔΕΛΤΙΟ ΤΥΠΟΥ. Η ΕΞΕΛΙΞΗ ΤΩΝ ΑΤΥΧΗΜΑΤΩΝ ΤΟΥ ΓΡΑΦΕΙΟΥ ΔΙΕΘΝΟΥΣ ΑΣΦΑΛΙΣΗΣ ΑΥΤΟΚΙΝΗΤΟΥ το 2013 ΔΕΛΤΙΟ ΤΥΠΟΥ Η ΕΞΕΛΙΞΗ ΤΩΝ ΑΤΥΧΗΜΑΤΩΝ ΤΟΥ ΓΡΑΦΕΙΟΥ ΔΙΕΘΝΟΥΣ ΑΣΦΑΛΙΣΗΣ ΑΥΤΟΚΙΝΗΤΟΥ το 2013 Ατυχήματα στην Ελλάδα Σε 3.828 ανήλθε το 2013 ο αριθμός των ατυχημάτων από αυτοκίνητα με ξένες πινακίδες στην Ελλάδα

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΕΞΩΤΕΡΙΚΩΝ ΓΕΝΙΚΗ ΓΡΑΜΜΑΤΕΙΑ ΔΙΕΘΝΩΝ ΟΙΚΟΝΟΜΙΚΩΝ ΣΧΕΣΕΩΝ ΔΡΑΣΕΙΣ ΟΙΚΟΝΟΜΙΚΗΣ ΔΙΠΛΩΜΑΤΙΑΣ 2013-2014

ΥΠΟΥΡΓΕΙΟ ΕΞΩΤΕΡΙΚΩΝ ΓΕΝΙΚΗ ΓΡΑΜΜΑΤΕΙΑ ΔΙΕΘΝΩΝ ΟΙΚΟΝΟΜΙΚΩΝ ΣΧΕΣΕΩΝ ΔΡΑΣΕΙΣ ΟΙΚΟΝΟΜΙΚΗΣ ΔΙΠΛΩΜΑΤΙΑΣ 2013-2014 ΥΠΟΥΡΓΕΙΟ ΕΞΩΤΕΡΙΚΩΝ ΓΕΝΙΚΗ ΓΡΑΜΜΑΤΕΙΑ ΔΙΕΘΝΩΝ ΟΙΚΟΝΟΜΙΚΩΝ ΣΧΕΣΕΩΝ ΔΡΑΣΕΙΣ ΟΙΚΟΝΟΜΙΚΗΣ ΔΙΠΛΩΜΑΤΙΑΣ 2013-2014 1 Συνολική παρουσία Υπουργείου Εξωτερικών ανά τον κόσμο ΓΡΑΦΕΙΑ ΟΕΥ ΠΡΕΣΒΕΙΕΣ/ ΓΕΝ. ΠΡΟΞΕΝΕΙΑ

Διαβάστε περισσότερα

ΑΦΙΞΕΙΣ ΚΑΙ ΔΙΑΝΥΚΤΕΡΕΥΣΕΙΣ ΣΤΑ ΠΑΣΗΣ ΦΥΣΕΩΣ ΞΕΝΟΔΟΧΕΙΑΚΑ ΚΑΤΑΛΥΜΑΤΑ ΚΑΙ ΚΑΜΠΙΝΓΚ, ΕΤΟΥΣ 2005

ΑΦΙΞΕΙΣ ΚΑΙ ΔΙΑΝΥΚΤΕΡΕΥΣΕΙΣ ΣΤΑ ΠΑΣΗΣ ΦΥΣΕΩΣ ΞΕΝΟΔΟΧΕΙΑΚΑ ΚΑΤΑΛΥΜΑΤΑ ΚΑΙ ΚΑΜΠΙΝΓΚ, ΕΤΟΥΣ 2005 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΟΙΚΟΝΟΜΙΚΩΝ ΕΘΝΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΥΠΗΡΕΣΙΑ ΤΗΣ ΕΛΛΑΔΟΣ Πειραιάς, 5 Ιουλίου 26 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Διαβάστε περισσότερα

Μετάφραση. Οδηγός Αγοράς. metaphrasis

Μετάφραση. Οδηγός Αγοράς. metaphrasis Μετάφραση Οδηγός Αγοράς metaphrasis Ποιος βρίσκεται πίσω από το metaphrasis: Κυριακή Παπακωνσταντίνου Ήδη από τη φοίτηση στο Τμήμα της Αγγλικής γλώσσας και φιλολογίας της Φιλοσοφικής Αθηνών, τις σπουδές

Διαβάστε περισσότερα

Μέσος αριθμός ξένων γλωσσών που κατέχονται ανά μαθητή

Μέσος αριθμός ξένων γλωσσών που κατέχονται ανά μαθητή γλωσσών που κατέχονται ανά μαθητή Αυστρία 1998 0 0 1999 1.1 1.7 2000 1.1 1.7 2001 0 0 2002 1.1 1.7 2003 0 0 2004 0 0 Βέλγιο 1998 0 0 1999 0 0 2000 1.2 2.2 2001 1.3 2.2 2002 1.3 2.2 2003 1.2 2.2 2004 1.3

Διαβάστε περισσότερα

Γλώσσα και Γλωσσική Τεχνολογία στην Ελλάδα

Γλώσσα και Γλωσσική Τεχνολογία στην Ελλάδα Γλώσσα και Γλωσσική Τεχνολογία στην Ελλάδα Μαρία Γαβριηλίδου ΙΕΛ/ΕΚ «Αθηνά» Κοινοπραξία «Ευρωπαϊκός Συντονισμός Γλωσσικών Πόρων» Εθνικό Σημείο Επαφής για την Ελλάδα Πολυγλωσσική Ελλάδα (1) Η Γλωσσική Τεχνολογία

Διαβάστε περισσότερα

Τετάρτη, 10 Οκτωβρίου 2012 ΙΝΣΤΙΤΟΥΤΟ ΕΜΠΟΡΙΟΥ & ΥΠΗΡΕΣΙΩΝ ΠΕΤΡΑΚΗ 16 Τ.Κ. 105 63 - ΑΘΗΝΑ ΤΗΛ.: 210.32.59.198 FAX: 210.32.59.229

Τετάρτη, 10 Οκτωβρίου 2012 ΙΝΣΤΙΤΟΥΤΟ ΕΜΠΟΡΙΟΥ & ΥΠΗΡΕΣΙΩΝ ΠΕΤΡΑΚΗ 16 Τ.Κ. 105 63 - ΑΘΗΝΑ ΤΗΛ.: 210.32.59.198 FAX: 210.32.59.229 Τετάρτη, 10 Οκτωβρίου ΙΝΣΤΙΤΟΥΤΟ ΕΜΠΟΡΙΟΥ & ΥΠΗΡΕΣΙΩΝ ΠΕΤΡΑΚΗ 16 Τ.Κ. 105 63 - ΑΘΗΝΑ ΤΗΛ.: 210.32.59.198 FAX: 210.32.59.229 ΘΕΜΑ: Έκδοση από τη Eurostat του Δείκτη Όγκου στο Λιανικό Εμπόριο, για το μήνα

Διαβάστε περισσότερα

Απαγορεύσεις καπνίσματος στο εξωτερικό

Απαγορεύσεις καπνίσματος στο εξωτερικό Απαγορεύσεις καπνίσματος στο εξωτερικό ΤΟ «ΠΡΙΝ» ΚΑΙ ΤΟ «ΜΕΤΑ» ΣΤΟ ΠΑΡΙΣΙ. Μια ακόμα χώρα ξύπνησε απ' το λήθαργο! Γράφει ο Αλέξανδρος Φωτεινός. Η κοινή λογική υπερισχύει όλο και περισσότερο σ' ολόκληρο

Διαβάστε περισσότερα

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

Διαβάστε περισσότερα

Linux Terminal Server Project

Linux Terminal Server Project Linux Terminal Server Project Ένα κεντρικό σύστημα διαχείρισης των τερματικών κοινού της Βιβλιοθήκης & Κέντρου Πληροφόρησης του Πανεπιστημίου Μακεδονίας Κολοβός Φίλιππος filippos@uom.gr Ευάγγελος Μπάνος

Διαβάστε περισσότερα

ΕΛΤΙΟ ΤΥΠΟΥ. ΑΦΙΞΕΙΣ ΜΗ ΚΑΤΟΙΚΩΝ ΑΠΟ ΤΟ ΕΞΩΤΕΡΙΚΟ: Ιανουάριος - εκέµβριος 2014 ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΑΡΧΗ. Πειραιάς, 7 Απριλίου 2015

ΕΛΤΙΟ ΤΥΠΟΥ. ΑΦΙΞΕΙΣ ΜΗ ΚΑΤΟΙΚΩΝ ΑΠΟ ΤΟ ΕΞΩΤΕΡΙΚΟ: Ιανουάριος - εκέµβριος 2014 ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΑΡΧΗ. Πειραιάς, 7 Απριλίου 2015 ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΑΡΧΗ ΕΛΤΙΟ ΤΥΠΟΥ Πειραιάς, 7 Απριλίου 2015 ΑΦΙΞΕΙΣ ΜΗ ΚΑΤΟΙΚΩΝ ΑΠΟ ΤΟ ΕΞΩΤΕΡΙΚΟ: Ιανουάριος - εκέµβριος 2014 Από τα στοιχεία της Έρευνας Συνόρων που διενεργεί η ΤτΕ

Διαβάστε περισσότερα

Τρίτη, 8 Μαΐου 2012 ΙΝΣΤΙΤΟΥΤΟ ΕΜΠΟΡΙΟΥ & ΥΠΗΡΕΣΙΩΝ ΠΕΤΡΑΚΗ 16 Τ.Κ. 105 63 - ΑΘΗΝΑ ΤΗΛ.: 210.32.59.198 FAX: 210.32.59.229

Τρίτη, 8 Μαΐου 2012 ΙΝΣΤΙΤΟΥΤΟ ΕΜΠΟΡΙΟΥ & ΥΠΗΡΕΣΙΩΝ ΠΕΤΡΑΚΗ 16 Τ.Κ. 105 63 - ΑΘΗΝΑ ΤΗΛ.: 210.32.59.198 FAX: 210.32.59.229 ΕΘΝΙΚΗ ΣΥΝΟΜΟΣΠΟΝΔΙΑ ΕΛΛΗΝΙΚΟΥ ΕΜΠΟΡΙΟΥ Τρίτη, 8 Μαΐου ΙΝΣΤΙΤΟΥΤΟ ΕΜΠΟΡΙΟΥ & ΥΠΗΡΕΣΙΩΝ ΠΕΤΡΑΚΗ 16 Τ.Κ. 105 63 - ΑΘΗΝΑ ΤΗΛ.: 210.32.59.198 FAX: 210.32.59.229 ΘΕΜΑ: Έκδοση από τη Eurostat του Δείκτη Όγκου

Διαβάστε περισσότερα

Αφίξεις µη κατοίκων κατά µέσο µεταφοράς:

Αφίξεις µη κατοίκων κατά µέσο µεταφοράς: ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΗ ΣΤΑΤΙΣΤΙΚΗ ΑΡΧΗ ΕΛΤΙΟ ΤΥΠΟΥ Πειραιάς, 23 Οκτωβρίου 2014 ΑΦΙΞΕΙΣ ΜΗ ΚΑΤΟΙΚΩΝ ΑΠΟ ΤΟ ΕΞΩΤΕΡΙΚΟ: Ιανουαρίου-Ιουνίου 2014 Από τα στοιχεία της Έρευνας Συνόρων που διενεργεί η ΤτΕ

Διαβάστε περισσότερα

Περιεχόμενα. Δημιουργία σύνδεσης... 27 5. ΤΙ ΕΙΝΑΙ ΙΣΤΟΣΕΛΙΔΕΣ ΚΑΙ ΤΙ ΤΟΠΟΘΕΣΙΕΣ ΙΣΤΟΥ... 37. Γνωριμία με μια ιστοσελίδα:... 38

Περιεχόμενα. Δημιουργία σύνδεσης... 27 5. ΤΙ ΕΙΝΑΙ ΙΣΤΟΣΕΛΙΔΕΣ ΚΑΙ ΤΙ ΤΟΠΟΘΕΣΙΕΣ ΙΣΤΟΥ... 37. Γνωριμία με μια ιστοσελίδα:... 38 Περιεχόμενα ΠΡΟΛΟΓΟΣ... 11 ΔΙΑΔΙΚΤΥΟ... 13 1. ΙΣΤΟΡΙΑ ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ... 15 2. ΤΙ ΕΙΝΑΙ ΤΟ ΔΙΑΔΙΚΤΥΟ INTERNET;... 16 3. ΤΙ ΠΡΟΣΦΕΡΕΙ ΤΟ ΔΙΑΔΙΚΤΥΟ, ΤΙ ΜΠΟΡΕΙ ΝΑ ΒΡΕΙ ΚΑΝΕΙΣ... 19 4. ΤΙ ΑΠΑΙΤΕΙΤΑΙ ΓΙΑ ΝΑ

Διαβάστε περισσότερα

Οι παράγοντες που λαμβάνονται υπ όψη στην Πολιτική Βέλτιστης Εκτέλεσης είναι οι εξής :

Οι παράγοντες που λαμβάνονται υπ όψη στην Πολιτική Βέλτιστης Εκτέλεσης είναι οι εξής : ΠΟΛΙΤΙΚΗ ΒΕΛΤΙΣΤΗΣ ΕΚΤΕΛΕΣΗΣ ΕΝΤΟΛΩΝ Σκοπός και Ιδιότητα H παρούσα Δήλωση Γνωστοποίησης παραθέτει τις υπηρεσίες που παρέχει σε Ιδιώτες Πελάτες («Πελάτες») η εταιρεία «Παντελάκης Χρηματιστηριακή Α.Ε.Π.Ε.Υ.»

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον

Διαβάστε περισσότερα

ΘΕΜΑ: Εργατικό κόστος ανά ώρα εργασίας στις χώρες της Ευρωζώνης (17) και της Ευρωπαϊκής Ένωσης (27) Eurostat - Β τρίμηνο 2012 -

ΘΕΜΑ: Εργατικό κόστος ανά ώρα εργασίας στις χώρες της Ευρωζώνης (17) και της Ευρωπαϊκής Ένωσης (27) Eurostat - Β τρίμηνο 2012 - ΕΘΝΙΚΗ ΣΥΝΟΜΟΣΠΟΝΔΙΑ ΕΛΛΗΝΙΚΟΥ ΕΜΠΟΡΙΟΥ ΙΝΣΤΙΤΟΥΤΟ ΕΜΠΟΡΙΟΥ & ΥΠΗΡΕΣΙΩΝ ΠΕΤΡΑΚΗ 16 Τ.Κ. 105 63 ΑΘΗΝΑ ΤΗΛ: 210.32.59.198 FAX: 210.32.59.229 ΘΕΜΑ: Εργατικό κόστος ανά ώρα εργασίας στις χώρες της Ευρωζώνης

Διαβάστε περισσότερα

Οδηγίες για αξιολόγηση στο πλαίσιο ομότιμης συνεργατικής μάθησης

Οδηγίες για αξιολόγηση στο πλαίσιο ομότιμης συνεργατικής μάθησης Οδηγίες για αξιολόγηση στο πλαίσιο ομότιμης συνεργατικής μάθησης Τι είναι το PeLe; Το PeLe είναι ένα διαδικτυακό περιβάλλον που ενθαρρύνει την αξιολόγηση στο πλαίσιο της ομότιμης συνεργατικής μάθησης και

Διαβάστε περισσότερα

Οδικα οχήματα. Μονάδα : Χιλιάδες. Drill Down to Area. Μηχανοκίνητο όχημα για μεταφορά προϊόντων. Μοτοσικλέτες (>50cm3)

Οδικα οχήματα. Μονάδα : Χιλιάδες. Drill Down to Area. Μηχανοκίνητο όχημα για μεταφορά προϊόντων. Μοτοσικλέτες (>50cm3) Μονάδα : Χιλιάδες Αυστρία 1978 661.30 2,040.10 8.40 162.40 84.00 3,188.00 208.40 1,139.30 315.70 1979 594.60 2,244.60 8.70 172.50 87.20 3,343.90 179.10 1,090.50 323.60 1980 37.30 2,301.90 9.00 183.70 91.00

Διαβάστε περισσότερα

1 / 13 «ΟΙ ΓΛΩΣΣΕΣ ΚΑΙ ΕΓΩ» Ερωτηµατολόγιο για τους µαθητές της 5 ης ηµοτικού. Μάρτιος 2007

1 / 13 «ΟΙ ΓΛΩΣΣΕΣ ΚΑΙ ΕΓΩ» Ερωτηµατολόγιο για τους µαθητές της 5 ης ηµοτικού. Μάρτιος 2007 1 / 13 ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Έρευνα υποστηριζόµενη από τη Γενική ιεύθυνση Εκπαίδευσης και Πολιτισµού της Ε.Ε., στο πλαίσιο του προγράµµατος Σωκράτης «ΟΙ ΓΛΩΣΣΕΣ ΚΑΙ ΕΓΩ» Ερωτηµατολόγιο

Διαβάστε περισσότερα

AquaLingua. Οδηγός Χρήσης

AquaLingua. Οδηγός Χρήσης AquaLingua Οδηγός Χρήσης Εισαγωγή Πρόσβαση ανά θέµα Πρόσβαση µε αναζήτηση Προβολή των φωτογραφιών 1/6 Εισαγωγή Η ιστοσελίδα AquaLingua επιτρέπει στον χρήστη να βλέπει σχολιασµένες εικόνες σε µία γλώσσα

Διαβάστε περισσότερα

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 Απόδοση των οδηγών αποθηκευτικών µέσων Μέσος χρόνος πρόσβασης (Average Access Time) Ταχύτητα µεταφοράς δεδοµένων (Data-Transfer

Διαβάστε περισσότερα

Τί ισχύει στις άλλες χώρες της Ε.Ε. σχετικά µε την κτήση ιθαγένειας από τέκνα αλλοδαπών που γεννιούνται και/ή ανατρέφονται στην επικράτειά τους;

Τί ισχύει στις άλλες χώρες της Ε.Ε. σχετικά µε την κτήση ιθαγένειας από τέκνα αλλοδαπών που γεννιούνται και/ή ανατρέφονται στην επικράτειά τους; Τί ισχύει στις άλλες χώρες της Ε.Ε. σχετικά µε την κτήση ιθαγένειας από τέκνα αλλοδαπών που γεννιούνται και/ή ανατρέφονται στην επικράτειά τους; Με το ν.3838/2010 εισήχθησαν στην ελληνική έννοµη τάξη ρυθµίσεις

Διαβάστε περισσότερα

ΠΟΡΕΙΑ ΤΗΣ ΕΥΡΥΖΩΝΙΚΟΤΗΤΑΣ ΣΤΗΝ ΕΛΛΑΔΑ B ΤΡΙΜΗΝΟ 2012

ΠΟΡΕΙΑ ΤΗΣ ΕΥΡΥΖΩΝΙΚΟΤΗΤΑΣ ΣΤΗΝ ΕΛΛΑΔΑ B ΤΡΙΜΗΝΟ 2012 ΠΟΡΕΙΑ ΤΗΣ ΕΥΡΥΖΩΝΙΚΟΤΗΤΑΣ ΣΤΗΝ ΕΛΛΑΔΑ B ΤΡΙΜΗΝΟ 20 ΟΚΤΩΒΡΙΟΣ 20 ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή...3 2. Εξέλιξη ευρυζωνικών γραμμών...4 3. Πορεία σύγκλισης με τη υπόλοιπη Ευρώπη...4 4. Ανάλυση με βάση τον τύπο

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΟΜΙΛΟΣ ΟΙΚΟΝΟΜΙΚΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΑΘΗΝΩΝ ΠΡΑΚΤΙΚΗΣ ΑΣΚΗΣΗΣ ΕΡΑΣΜΟΣ+ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2015-2016

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΟΜΙΛΟΣ ΟΙΚΟΝΟΜΙΚΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΑΘΗΝΩΝ ΠΡΑΚΤΙΚΗΣ ΑΣΚΗΣΗΣ ΕΡΑΣΜΟΣ+ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2015-2016 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΟΜΙΛΟΣ ΟΙΚΟΝΟΜΙΚΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΑΘΗΝΩΝ ΠΡΑΚΤΙΚΗΣ ΑΣΚΗΣΗΣ ΕΡΑΣΜΟΣ+ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2015-2016 ΚΙΝΗΤΙΚΟΤΗΤΑ ΔΙΔΑΚΤΙΚΟΥ ΚΑΙ ΔΙΟΙΚΗΤΙΚΟΥ ΠΡΟΣΩΠΙΚΟΥ ΓΙΑ ΕΠΙΜΟΡΦΩΣΗ ΚΙΝΗΤΙΚΟΤΗΤΑ

Διαβάστε περισσότερα

μάρμαρα Ιαν - Νοε 2010

μάρμαρα Ιαν - Νοε 2010 μάρμαρα εξαγωγές εισαγωγές Ιαν - Νοε 2010 marmaronet.com εξαγωγές/εισαγωγές μαρμάρων MARMAROnet 2010 Ιανουάριος - Νοέμβριος Εξαγωγές μαρμάρων + 7,8% Eισαγωγές - 16% Tα στοιχεία εξαγωγών εισαγωγών μαρμάρων

Διαβάστε περισσότερα

Αποτελεί την πρόταση του GUnet. ασύγχρονης τηλεκπαίδευσης. Είναι ένα ανοικτό αρθρωτό σύστημα διαχείρισης ηλεκτρονικών μαθημάτων

Αποτελεί την πρόταση του GUnet. ασύγχρονης τηλεκπαίδευσης. Είναι ένα ανοικτό αρθρωτό σύστημα διαχείρισης ηλεκτρονικών μαθημάτων Open eclass -GUnet Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης ης ΣΥΝΕ ΡΙΟ ΗΜΙΟΥΡΓΩΝ ΕΛΛΑΚ 19-20 Ιουνίου 2009 ΤΣΙΜΠΑΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ Υπεύθυνος Ομάδας Ασύγχρονης Τηλεκπαίδευσης GUnet η πλατφόρμα με δυο λόγια Αποτελεί

Διαβάστε περισσότερα

Ενημέρωση σε Windows 8.1 από τα Windows 8

Ενημέρωση σε Windows 8.1 από τα Windows 8 Ενημέρωση σε Windows 8.1 από τα Windows 8 Τα Windows 8.1 και τα Windows RT 8.1 είναι βασισμένα στα Windows 8 και στα Windows RT, για να σας προσφέρουν βελτιώσεις στην εξατομίκευση, την αναζήτηση, τις εφαρμογές,

Διαβάστε περισσότερα

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAVIS-V1-2012 TRAVIS Λογισμικό Διαχείρισης Παραβάσεων Φωτοεπισήμανσης Το σύστημα διαχείρισης παραβάσεων φωτοεπισήμανσης

Διαβάστε περισσότερα

Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016. Γεωργία Καπιτσάκη (Λέκτορας)

Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016. Γεωργία Καπιτσάκη (Λέκτορας) Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016 Γεωργία Καπιτσάκη (Λέκτορας) ΠΕΡΙΟΧΗ Α: ΕΦΑΡΜΟΓΕΣ ΜΕ ΑΙΣΘΗΤΗΡΕΣ ΓΙΑ ΕΠΙΓΝΩΣΗ ΣΥΓΚΕΙΜΕΝΟΥ Οι αισθητήρες μας δίνουν τη δυνατότητα συλλογής

Διαβάστε περισσότερα

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

Διαβάστε περισσότερα

Τα βασικά χαρακτηριστικά των νέων Επαγγελματικών Οικονομικών Προγραμμάτων «COSMOTE Business Mobile προς Όλους» συνοψίζονται στον παρακάτω πίνακα:

Τα βασικά χαρακτηριστικά των νέων Επαγγελματικών Οικονομικών Προγραμμάτων «COSMOTE Business Mobile προς Όλους» συνοψίζονται στον παρακάτω πίνακα: Ανακοινώνεται η από 09/11/2015 εμπορική διάθεση οκτώ (8) νέων Επαγγελματικών Οικονομικών Προγραμμάτων «Όλους» και τριών (3) νέων Επαγγελματικών Οικονομικών Προγραμμάτων «Mbile Value». Τα νέα Επαγγελματικά

Διαβάστε περισσότερα

Ολοκληρωμένο Πληροφοριακό Σύστημα για Μικρές Επιχειρήσεις

Ολοκληρωμένο Πληροφοριακό Σύστημα για Μικρές Επιχειρήσεις Ολοκληρωμένο Πληροφοριακό Σύστημα για Μικρές Επιχειρήσεις Το alpha7 professional είναι ένα πρωτοποριακό, αξιόπιστο και ολοκληρωμένο πληροφοριακό σύστημα, το οποίο απευθύνεται σε επαγγελματίες και μικρές

Διαβάστε περισσότερα

ΑΦΙΞΕΙΣ ΑΛΛΟΔΑΠΩΝ ΑΠΟ ΤΟ ΕΞΩΤΕΡΙΚΟ, ΕΤΟΥΣ 2006

ΑΦΙΞΕΙΣ ΑΛΛΟΔΑΠΩΝ ΑΠΟ ΤΟ ΕΞΩΤΕΡΙΚΟ, ΕΤΟΥΣ 2006 ΓΕΝΙΚΗ ΓΡΑΜΜΑΤΕΙΑ ΕΘΝΙΚΗΣ ΣΤΑΤΙΣΤΙΚΗΣ ΥΠΗΡΕΣΙΑΣ ΤΗΣ ΕΛΛΑΔΟΣ Δ Ε Λ Τ Ι Ο Τ Υ Π Ο Υ ΑΦΙΞΕΙΣ ΑΛΛΟΔΑΠΩΝ ΑΠΟ ΤΟ ΕΞΩΤΕΡΙΚΟ, ΕΤΟΥΣ Πειραιάς, 10 Ιουλίου 2007 Από τη Γενική Γραμματεία Εθνικής Στατιστικής Υπηρεσίας

Διαβάστε περισσότερα

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ.

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ. ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ. Οδηγός Διαχειριστή Το m-learning Toolkit είναι μια ολοκληρωμένη πλατφόρμα εξ αποστάσεως εκπαίδευσης που έχει σχεδιαστεί για να υπάρχει η δυνατότητα της πρόσβασης

Διαβάστε περισσότερα

6. Εισαγωγή στον προγραµµατισµό

6. Εισαγωγή στον προγραµµατισµό 6. Εισαγωγή στον προγραµµατισµό 6.1 Η έννοια του προγράµµατος. 6.2 Ιστορική αναδροµή. 6.2.1 Γλώσσες µηχανής. ΗΜ04-Θ1Α 1. Ένα πρόγραµµα σε γλώσσα µηχανής είναι µια ακολουθία δυαδικών ψηφίων. 5. Ένα πρόγραµµα

Διαβάστε περισσότερα

Σωφρόνης Χατζησαββίδης. Οι σύγχρονες κριτικές γλωσσοδιδακτικές προσεγγίσεις στη διδασκαλία της γλώσσας ως δεύτερης και ξένης

Σωφρόνης Χατζησαββίδης. Οι σύγχρονες κριτικές γλωσσοδιδακτικές προσεγγίσεις στη διδασκαλία της γλώσσας ως δεύτερης και ξένης Σωφρόνης Χατζησαββίδης Οι σύγχρονες κριτικές γλωσσοδιδακτικές προσεγγίσεις στη διδασκαλία της γλώσσας ως δεύτερης και ξένης 1 ΣΚΟΠΟΣ Oι σύγχρονες κριτικές προσεγγίσεις που έχουν αναπτυχθεί τα τελευταία

Διαβάστε περισσότερα

ΔΙΔΑΚΤΡΑ ΦΟΙΤΗΣΗΣ ΣΤΟΝ 2 Ο ΚΥΚΛΟ ΣΠΟΥΔΩΝ

ΔΙΔΑΚΤΡΑ ΦΟΙΤΗΣΗΣ ΣΤΟΝ 2 Ο ΚΥΚΛΟ ΣΠΟΥΔΩΝ ΜΑΛΤΑ Πηγή: Ευρυδίκη (2011a, 2012) ΔΙΔΑΚΤΡΑ ΦΟΙΤΗΣΗΣ ΣΤΟΝ 2 Ο ΚΥΚΛΟ ΣΠΟΥΔΩΝ Ποσοστό φοιτητών που πληρώνουν δίδακτρα για φοίτηση στον 2 o κύκλο σπουδών 13,8% Κανένας δεν πληρώνει ΦΙΝΛΑΝΔΙΑ 31,0% Όλοι πληρώνουν

Διαβάστε περισσότερα

ΟΙ ΜΙΣΘΟΙ ΤΩΝ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΔΕΥΤΕΡΟΒΑΘΜΙΑΣ ΕΚΠΑΙΔΕΥΣΗΣ ΣΤΗΝ ΕΛΛΑΔΑ ΚΑΙ ΣΤΙΣ ΧΩΡΕΣ ΤΗΣ ΕΥΡΩΠΗΣ ΓΙΑ ΤΟ 2011-2012

ΟΙ ΜΙΣΘΟΙ ΤΩΝ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΔΕΥΤΕΡΟΒΑΘΜΙΑΣ ΕΚΠΑΙΔΕΥΣΗΣ ΣΤΗΝ ΕΛΛΑΔΑ ΚΑΙ ΣΤΙΣ ΧΩΡΕΣ ΤΗΣ ΕΥΡΩΠΗΣ ΓΙΑ ΤΟ 2011-2012 ΟΙ ΜΙΣΘΟΙ ΤΩΝ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΔΕΥΤΕΡΟΒΑΘΜΙΑΣ ΕΚΠΑΙΔΕΥΣΗΣ ΣΤΗΝ ΕΛΛΑΔΑ ΚΑΙ ΣΤΙΣ ΧΩΡΕΣ ΤΗΣ ΕΥΡΩΠΗΣ ΓΙΑ ΤΟ 2011-2012 ΚΕΝΤΡΟ ΜΕΛΕΤΩΝ ΚΑΙ ΤΕΚΜΗΡΙΩΣΗΣ ΤΗΣ ΟΙ ΜΙΣΘΟΙ ΤΩΝ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΔΕΥΤΕΡΟΒΑΘΜΙΑΣ ΕΚΠΑΙΔΕΥΣΗΣ

Διαβάστε περισσότερα

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Τηλ/νιών Τομέας Προγ/σμού & Τεχνολογίας Λογισμικού Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Δρ. Νικόλαος Θ. Λιόλιος Καθηγητής Φεβρουάριος 2012 1. Εισαγωγή Το Visual

Διαβάστε περισσότερα

ΗΛΕΚΤΡΟΝΙΚΟ ΣΥΣΤΗΜΑ ΥΠΟΒΟΛΗΣ ΜΗΧΑΝΟΓΡΑΦΙΚΟΥ ΔΕΛΤΙΟΥ

ΗΛΕΚΤΡΟΝΙΚΟ ΣΥΣΤΗΜΑ ΥΠΟΒΟΛΗΣ ΜΗΧΑΝΟΓΡΑΦΙΚΟΥ ΔΕΛΤΙΟΥ ΗΛΕΚΤΡΟΝΙΚΟ ΣΥΣΤΗΜΑ ΥΠΟΒΟΛΗΣ ΜΗΧΑΝΟΓΡΑΦΙΚΟΥ ΔΕΛΤΙΟΥ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΥΠΟΨΗΦΙΟΥ ΕΠΑΛ Α Έκδοση 1.0, Ιούνιος 2011 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΔΙΑ ΒΙΟΥ ΜΑΘΗΣΗΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΛΙΣΤΑ ΣΧΗΜΑΤΩΝ ΠΙΝΑΚΑΣ

Διαβάστε περισσότερα

Ο ΤΟΥΡΙΣΜΟΣ ΣΤΗΝ ΠΕΡΙΦΕΡΕΙΑ ΚΡΗΤΗΣ ΚΑΙ ΟΙ ΥΠΟΛΟΙΠΕΣ ΠΕΡΙΦΕΡΕΙΕΣ. Δρ Μαρία Μαρκάκη, Ερευνήτρια ΙΤΕΠ

Ο ΤΟΥΡΙΣΜΟΣ ΣΤΗΝ ΠΕΡΙΦΕΡΕΙΑ ΚΡΗΤΗΣ ΚΑΙ ΟΙ ΥΠΟΛΟΙΠΕΣ ΠΕΡΙΦΕΡΕΙΕΣ. Δρ Μαρία Μαρκάκη, Ερευνήτρια ΙΤΕΠ Ο ΤΟΥΡΙΣΜΟΣ ΣΤΗΝ ΠΕΡΙΦΕΡΕΙΑ ΚΡΗΤΗΣ ΚΑΙ ΟΙ ΥΠΟΛΟΙΠΕΣ ΠΕΡΙΦΕΡΕΙΕΣ Δρ Μαρία Μαρκάκη, Ερευνήτρια ΙΤΕΠ ΔΟΜΗ ΤΗΣ ΠΑΡΟΥΣΙΑΣΗΣ ΜΕΡΟΣ ΠΡΩΤΟ: ΤΟ ΞΕΝΟΔΟΧΕΙΑΚΟ ΔΥΝΑΜΙΚΟ ΣΤΗΝ ΠΕΡΙΦΕΡΕΙΑ ΚΡΗΤΗΣ ΜΕΡΟΣ ΔΕΥΤΕΡΟ: Η ΤΟΥΡΙΣΤΙΚΗ

Διαβάστε περισσότερα

Καβάλα, 25 Νοεμβρίου 2015 Ανακοίνωση υπ αριθμ. 149 «Η ΕΛΛΗΝΙΚΗ ΑΝΤΙΠΡΟΣΩΠΕΙΑ ΠΡΟΣ ΤΗ CCBE. Αθήνα, 8 Οκτωβρίου, 2015

Καβάλα, 25 Νοεμβρίου 2015 Ανακοίνωση υπ αριθμ. 149 «Η ΕΛΛΗΝΙΚΗ ΑΝΤΙΠΡΟΣΩΠΕΙΑ ΠΡΟΣ ΤΗ CCBE. Αθήνα, 8 Οκτωβρίου, 2015 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΔΙΚΑΙΟΣΥΝΗΣ ΔΙΑΦΑΝΕΙΑΣ ΚΑΙ ΑΝΘΡΩΠΙΝΩΝ ΔΙΚΑΙΩΜΑΤΩΝ ΔΙΚΗΓΟΡΙΚΟΣ ΣΥΛΛΟΓΟΣ ΚΑΒΑΛΑΣ Παύλου Μελά 5 Τ.Κ. 65403 Τηλ.: 2510224436 2510222289 FAX : 2510228364 e mail: dskaval@otenet.gr

Διαβάστε περισσότερα

Η ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΤΗΤΑ ΣΤΗΝ ΕΛΛΑΔΑ 2012-13

Η ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΤΗΤΑ ΣΤΗΝ ΕΛΛΑΔΑ 2012-13 Η ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΤΗΤΑ ΣΤΗΝ ΕΛΛΑΔΑ 2012-13 Ενδείξεις ανάκαμψης της μικρής επιχειρηματικότητας; Σταύρος Ιωαννίδης Ιωάννης Γιωτόπουλος Παγκόσμιο Παρατηρητήριο Επιχειρηματικότητας GEM Παρατηρητήριο Επιχειρηματικότητας

Διαβάστε περισσότερα

BEYOND: Two Souls Εφαρμογή BEYOND Touch

BEYOND: Two Souls Εφαρμογή BEYOND Touch BEYOND: Two Souls Εφαρμογή BEYOND Touch ΕΦΑΡΜΟΓΗ BEYOND Touch Για να απολαύσετε μια πλήρη, χωρίς προβλήματα εμπειρία στο BEYOND: Two Souls, συνιστούμε να παίξετε το παιχνίδι χρησιμοποιώντας το ασύρματο

Διαβάστε περισσότερα

ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 ΚΙΝΗΤΙΚΟΤΗΤΑ ΔΙΔΑΚΤΙΚΟΥ ΚΑΙ ΔΙΟΙΚΗΤΙΚΟΥ ΠΡΟΣΩΠΙΚΟΥ ΓΙΑ ΕΠΙΜΟΡΦΩΣΗ

ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 ΚΙΝΗΤΙΚΟΤΗΤΑ ΔΙΔΑΚΤΙΚΟΥ ΚΑΙ ΔΙΟΙΚΗΤΙΚΟΥ ΠΡΟΣΩΠΙΚΟΥ ΓΙΑ ΕΠΙΜΟΡΦΩΣΗ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 ΚΙΝΗΤΙΚΟΤΗΤΑ ΔΙΔΑΚΤΙΚΟΥ ΚΑΙ ΔΙΟΙΚΗΤΙΚΟΥ ΠΡΟΣΩΠΙΚΟΥ ΓΙΑ ΕΠΙΜΟΡΦΩΣΗ ΚΙΝΗΤΙΚΟΤΗΤΑ ΔΙΔΑΚΤΙΚΟΥ ΠΡΟΣΩΠΙΚΟΥ ΓΙΑ ΣΥΝΤΟΜΗΣ ΔΙΑΡΚΕΙΑΣ ΔΙΔΑΣΚΑΛΙΑ ΣΕ ΙΔΡΥΜΑΤΑ-ΕΤΑΙΡΟΥΣ ΔΕΥΤΕΡΗ ΑΝΑΚΟΙΝΩΣΗ

Διαβάστε περισσότερα

ΠΡΟΩΘΗΣΗ ΠΡΟΣΒΑΣΙΜΩΝ ΠΛΗΡΟΦΟΡΙΩΝ ΣΤΟ ΠΛΑΙΣΙΟ ΤΗΣ ΙΑ ΒΙΟΥ ΜΑΘΗΣΗΣ

ΠΡΟΩΘΗΣΗ ΠΡΟΣΒΑΣΙΜΩΝ ΠΛΗΡΟΦΟΡΙΩΝ ΣΤΟ ΠΛΑΙΣΙΟ ΤΗΣ ΙΑ ΒΙΟΥ ΜΑΘΗΣΗΣ ΠΡΟΩΘΗΣΗ ΠΡΟΣΒΑΣΙΜΩΝ ΠΛΗΡΟΦΟΡΙΩΝ ΣΤΟ ΠΛΑΙΣΙΟ ΤΗΣ ΙΑ ΒΙΟΥ ΜΑΘΗΣΗΣ Η πρόσβαση στην πληροφορία αποτελεί θεμελιώδες δικαίωμα κάθε μαθητή, με ή χωρίς αναπηρίες και/ή ειδικές εκπαιδευτικές ανάγκες. Σε μία κοινωνία

Διαβάστε περισσότερα

Δείκτης Τουριστικής Δαπάνης στην περιοχή της Μεσογείου

Δείκτης Τουριστικής Δαπάνης στην περιοχή της Μεσογείου Δείκτης Τουριστικής Δαπάνης στην περιοχή της Μεσογείου Ιανουάριος - Απρίλιος Καταναλωτική δαπάνη εισερχόμενου τουρισμού σε έξι Μεσογειακές χώρες, με επιμέρους στοιχεία για την Ελλάδα Αύγουστος 2 Αύξηση

Διαβάστε περισσότερα

Pensions at a Glance: Public Policies across OECD Countries 2005 Edition

Pensions at a Glance: Public Policies across OECD Countries 2005 Edition Pensions at a Glance: Public Policies across OECD Countries 2005 Edition Summary in Greek Οι συντάξεις µε µια µατιά : Οι δηµόσιες πολιτικές στις χώρες του ΟΟΣΑ -Έκδοση 2005 Περίληψη στα ελληνικά Τα τελευταία

Διαβάστε περισσότερα