Italian Pubblicazione app Play Store

CiccioU23

Member
Sapete se esiste un modo per pubblicare un'app gratuita e a pagamento?
Tipo 2 applicazioni differenti, ma come se fosse un'unica applicazione?
 

Filippo

Expert
Licensed User
Sapete se esiste un modo per pubblicare un'app gratuita e a pagamento?
Tipo 2 applicazioni differenti, ma come se fosse un'unica applicazione?
Certo che si può fare, basta avere 2 Package-name differenti, il nome non ha importanza.
Esempio Package-name:
1) mia.app.lite
2) mia.app.pro

Esempio-Codice:
B4X:
  #If Lite
     #ApplicationLabel: App-Lite
   #End If

   #If Pro
     #ApplicationLabel: App-Pro
   #End If
lite-pro.JPG
 

CiccioU23

Member
Ok, grazie mille!
E per quanto riguarda le lingue, se volessi pubblicarla in Italiano e in Inglese, come dovrei fare? Scusate per tutte queste domande, forse stupide, ma sono nuovo..
 

LucaMs

Expert
Licensed User
Ciauzzzzzz
mai fatto ma se non ricordo male dal pannello della tua applicazione sul sito di google fai click sul pulsante "Gestisci traduzioni" e poi aggiungi tradizione e selezioni l'inglese
Ovviamente, questo ti può tradurre le descrizioni sul sito Google Play, non traduce i contenuti della tua app (magari :D).
 

CiccioU23

Member
Ecco, per modificare i contenuti della mia app, dovrei modificare qualche file o sarei costretto a inserire dei controlli all'interno del listato?
 

LucaMs

Expert
Licensed User
Purtroppo devi gestire tutta la faccenda "a mano".

Dovresti usare un metodo per conservare (intendo dire su "disco") tutti i testi della tua app nelle varie lingue che vuoi usare, file di testo oppure, meglio, un database.
Poi, creare un modulo per la traduzione che, oltre a leggere questi testi, metta a disposizione una funzione di traduzione, tipo:

B4X:
Public Sub Traduci(TestoLinguaDiProgettazione As String) As String
    ' qui devi mettere del codice per ricavare il testo nella lingua corrente del dispositivo,
    ' ovvero, se usi un db, eseguire una select con la where che raffronti
    ' TestoLinguaDiProgettazione e un codice per la lingua, che puoi ricavare dalla libreria AHLocale.Language.
    Return TestoLinguaDispositivo
Infine, in tuuuuuutto il codice della tua app:
B4X:
lblDescrizione.Text = modTrad.Traduci("Descrizione")
La funzione dovrà restituire il testo stesso passato come parametro (TestoLinguaDiProgettazione)
nel caso in cui nel tuo database non ci sia la traduzione per la lingua del dispositivo.
Quindi, se puoi, usa l'inglese come lingua di progettazione:
B4X:
lblDescrizione.Text = modTrad.Traduci("Description")
ma non è certo indispensabile.



Dopo tutta sta tiritera, puoi anche usare la libreria AHLocale stessa per gestire la cosa,
però io avevo trovato alcune cose che non mi piacevano (ovviamente non ricordo quali)
per cui uso il metodo spiegato sopra.
 
Last edited:

udg

Expert
Licensed User
Un'alternativa è costituita dalle AndroidResources.
Prova a dare un'occhiata qui.

udg
 

DavideV

Active Member
Licensed User
Un'alternativa è costituita dalle AndroidResources.
Prova a dare un'occhiata qui.

udg
Confermo, l'ho fatto in più app. Comunque è brigoso e ogni volta che devi modificare l'app aggiungendo anche un solo testo ti devi aggiornare a mano tutti gli xml...
Non mi pare ci sia altra strada.
Bye
 

MarcoRome

Expert
Licensed User
B4X:
Sub Process_Globals
'    These global variables will be declared once when the application starts.
'    These variables can be accessed from all modules.
    Dim locale As AHLocale
    Dim lingua As String
End Sub
 
Sub lg_riservato() As String
locale.Initialize
lingua = locale.DisplayLanguage
lingua = lingua.ToLowerCase
Log(lingua)
 
    If lingua = "italiano" Then
        Return "RISERVATO"
    Else If lingua = "english" Then
        Return   "RESERVED"
    Else If lingua = "русский" Then
        Return  "Неизвестный"
    Else If lingua = "español" Then
          Return "RESERVADO"
    Else If lingua = "français" Then
        Return "Réservé"
    Else If lingua = "português" Then
        Return "RESERVADO"
    Else If lingua = "deutsch" Then
        Return "RESERVIERT"
    Else
        Return  "RESERVED"
    End If
 
End Sub
....
 

Filippo

Expert
Licensed User
Io uso questo modo in tutte le mie App, sono delle semplici txt-file per ogni lingua.
Questo esempio lo uso per B4i.
http://www.b4x.com/android/forum/threads/localization.48100/#post-300787

Per B4a si deve cambiare questo codice:
da
B4X:
    Select Case GetPreferredLanguage
a
B4X:
    Select Case locale.Language
Naturalmente bisogna qui usare la Libreria "AHLocale"
 
Top