telefonun local dil öğrenme
telefonun local dil öğrenme
uygulama açılışta telefonun hangi dil olduğu öğrenip ona göre dil dosyası ile çalışması istiyorum, bu konuda net hazır birşey bulamadım, arıştırmalara göre Androidapi.JNI.JavaTypes içinde JLocaleClass yapılıyor gibi geldi bu konuda fazlı bir kaynak yok bu kadar önemli bir konuda kaynak olmaması gerip geldi, ios içinde lazım ama nu daha araştırmadım.
- sadettinpolat
- Moderator
- Mesajlar: 2130
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
Re: telefonun local dil öğrenme
android tarafini bilmiyorum ama ios ta soyle elde etmistim.
geriye tr , en gibi ifadeler donuyor bu metod.
Kod: Tümünü seç
function getCurrentLangID: String;
var
CurrentLocale: NSLocale;
LanguageISO: NSString;
myArray:NSArray;
begin
LanguageISO := TNSString.Wrap(TNSLocale.OCClass.preferredLanguages.objectAtIndex(0));
Result := UTF8ToString(LanguageISO.UTF8String);
if Length(Result) > 2 then
Delete(Result, 3, MaxInt);
end;
Re: telefonun local dil öğrenme
iOS için delazım olacaktı ama önce denemek için anroid yayınlamıştım, ios kodları için çok teşekkür ederim. JLocaleClass kullanılması geriyor gibi gelidi araştırmalarıdan.
- barisatalay
- Üye
- Mesajlar: 398
- Kayıt: 02 Nis 2013 05:43
- İletişim:
Re: telefonun local dil öğrenme
@nguzeller Eğer android için çalıştırdıysanız kod parçasını burada da yayınlayabilirseniz çok müteşekkir olurum
Yeni bloğum: http://brsatalay.blogspot.com.tr/
Re: telefonun local dil öğrenme
yok hocam bulamadım hata JLocaleClass alakalı gibi ama bulamadım olmazsa açılışta dil soracam ama olsa çok iyi olacak
Re: telefonun local dil öğrenme
Merhaba arkadaşlar
Tarama yaparken bu konuyu gördüm ve paylaşım yapıyım dedim. Konu eski tarihli ama hala ihtiyacı olan arkadaşlar olabilir.
Herkeye iyi çalışmalar.
Tarama yaparken bu konuyu gördüm ve paylaşım yapıyım dedim. Konu eski tarihli ama hala ihtiyacı olan arkadaşlar olabilir.
Kod: Tümünü seç
{code}
uses FMX.Platform;
function GetOSLangID: String;
{$IFDEF MACOS}
var
Languages: NSArray;
begin
Languages := TNSLocale.OCClass.preferredLanguages;
Result := TNSString.Wrap(Languages.objectAtIndex(0)).UTF8String;
{$ENDIF}
{$IFDEF ANDROID}
var
LocServ: IFMXLocaleService;
begin
if TPlatformServices.Current.SupportsPlatformService(IFMXLocaleService, IInterface(LocServ)) then
Result := LocServ.GetCurrentLangID;
{$ENDIF}
{$IFDEF MSWINDOWS}
var
buffer: MarshaledString;
UserLCID: LCID;
BufLen: Integer;
begin
// defaults
UserLCID := GetUserDefaultLCID;
BufLen := GetLocaleInfo(UserLCID, LOCALE_SISO639LANGNAME, nil, 0);
buffer := StrAlloc(BufLen);
if GetLocaleInfo(UserLCID, LOCALE_SISO639LANGNAME, buffer, BufLen) <> 0 then
Result := buffer
else
Result := 'en';
StrDispose(buffer);
{$ENDIF}
end;
{code}
Re: telefonun local dil öğrenme
teşekkür ediyorum.